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:xy
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