Quantisierung

Werbung
Quantisierung
Seminar Multimediadatenformate
Oliver Richter
Übersicht
Quantisierung allgemein
Quantisierungsarten
Kodierung
Design eines Quantisierers
Quantisierung
Grundlage für verlustbehaftete Komprimierung
Abbildung auf endliche Menge von diskreten Werten
 Q : M  C
 C = {m ,m ,..,mn } Codebuch
1
2
 m i Codewort
Zwei Arten der Quantisierung
 Skalarquantisierung
 Vektorquantisierung
Quantisierer
besteht aus einem Encoder und Decoder
Signal
Encoder
Index
Decoder
Codebuch
Encoder
 weist Signal einer Zelle zu  Index
Decoder
 gibt Codewort des Index zurück
Bild
Performance
Kompressionsrate
log 2 N 

r
k
Quantisierungsrauschen

Snr
snr  10 log 10

N Anzahl der Kodewörter
k Länge der Kodewörter
durschn.Eingabe
STANDARTABWEICHUNG
psnr
psnr  10 log 10
A
STANDARTABWEICHUNG
Skalarquantisierung
Abbildung eines Skalars x auf Menge diskreter Werte y
Q:xy
Anwendung


AD Wandler
Zeitabhängige signale
Entscheidungsgrenze
granular cell
x1
x2
...
x n x n+1
X
overload cell
y1
yn
centroid
Einteilung
linear
nicht linear
Anwendungen
AD Wandler
Audiosignale
Vektorquantisierung
Verallgemeinerung der Skalarquantisierung
Q: R k C
Anwendung auf bereits digitalisierte Werte


Komprimierung
Mustererkennung
k
vollständige Einteilung von R in paarweise disjunkte
Bereiche
Die Entscheidungsgrenzen können beliebig geformt
sein
VQ mit R
2
Zellenwand
Zentroid
Nearest Neightbour Encoding
1. Setze d = d initial ;
j = 1;
i = 1;
2. Berechne D j = d(x,yj );
3. IF D < d THEN D = d j ;
i = j;
4. IF j < N THEN j++;
GOTO 2;
5. END;
SQ vs VQ
SQ vs VQ
Design eines VQ
Qualität eines Vektorquantisierer
 Größe des Codebuches
 Wahl der Codewörter
Möglichkeiten zur Verbesserung
 optimieren eines vorhandenen Codebuches
 Geeignete Wahl eines Codebuches
Der Lloyd-Algorithmus
(0)
1.:Wähle Startcodebuch C der Größe M;k=0;D =0;
Wähle Genauigkeit a;
2.:Bestimme Grenzen durch gewichteten Mittelwert
von zwei benachbarten Codebucheinträgen
3.:Bestimme Gesamtabweichung D (k)
4.:Ist D ( k )  D k 1
beende
a
(k )
D
5.:k++;Bestimme neue Codebucheinträge
(Schwerpunkte der Interwalle);
Gehe zu 2
Der LBG-Algorithmus
(0)
1.:Wähle Startcodebuch C der Größe M;k=0;D =0;
Wähle Genauigkeit a;
2.:Bestimme Zellen (mit N. N. Regel)
(k)
3.:Bestimme Gesamtabweichung D
4.:Ist D ( k )  D k 1
beende
a
(k )
D
5.:K++; Bestimme neue Codebucheinträge
(Schwerpunkte der Interwalle);
Gehe zu 2
LBG mit Trainingsvektoren
1.:Wähle Startcodebuch C der Größe M;k=0;D =0;
Wähle Genauigkeit a;
2.:Bestimme Zellen (mit N. N. Regel)
3.:Berechne Durchschnitt und D (k) zwischen
Codevektor und Trainingsvektoren
4.:Ist
beende
D ( k )  D k 1
a
(k )
D
5.:K++; Bestimme neue Codebucheinträge
(Schwerpunkte der Interwalle); Gehe zu 2
Bsp.:Größe/Gewicht
Start-Codebuch
Start
Ziel
Alternatives Start-Codebuch
Start
Ziel
Splitting - Methode
1. Schwerpunkt der Trainingsvektoren
 erster Codebuchvektor
2. Codebuchvektor ersetzen durch


Codebuchvektor + Abweichung
Codebuchvektor - Abweichung
3. LBG Ausführen
4. Gehe zu 2 bis Codebuch vollständig
Startaufteilung
Erste Iteration
Fertiger Durchlauf
Pairwise next neighbor
1. Anfangscodebuch = Menge der Testvektoren
2. Finde die am nächsten zusammenliegenden
Vektoren
3. Bilde Mittelwert der Vektoren und ersetze beide
durch ihn
4. Wenn gewünschte Größe erreicht beende sonst
gehe zu 2.
Bildkomprimierung
Einteilen in kleine Blöcke
Blöcke umformen in Vektoren
Vektoren als Testvektoren für LBG verwenden und
Codebuch erstellen
Kodieren
Bilder
Abschluss
VQ kann optimale Partizionierung darstellen
Einfache Kodierung mit N. N.
Verbesserung der Partizionierung mit LBG
Algorithmus
Partizionierung hängt stark von der Wahl des
Start-Codebuches ab
Literatur
Datenkompression M. Liskiefwicz, H. Fernau
Universität Tübingen
Scalar Quantization B. Schoofs, S. Reinartz
TH Aachen
Vektorquantisierung Y. Qui TH Aachen
Artificial Intelligence Charniak, F. McDermott
Addison Wesley
Image Compression using Vector Quantisation
ReCCIT
Herunterladen