350 likes | 503 Views
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
E N D
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 ,..,m } Codebuch • m Codewort • Zwei Arten der Quantisierung • Skalarquantisierung • Vektorquantisierung n 1 2 i
Quantisierer • besteht aus einem Encoder und Decoder • Encoder • weist Signal einer Zelle zu Index • Decoder • gibt Codewort des Index zurück Index Encoder Decoder Signal Bild Codebuch
Performance • Kompressionsrate N Anzahl der Kodewörter k Länge der Kodewörter • Quantisierungsrauschen • Snr • psnr
Skalarquantisierung • Abbildung eines Skalars x auf Menge diskreter Werte y Q : x y • Anwendung • AD Wandler • Zeitabhängige signale granular cell Entscheidungsgrenze x x x x 1 2 ... n n+1 X y y overload cell 1 n centroid
Einteilung nicht linear linear
Anwendungen AD Wandler
Vektorquantisierung • Verallgemeinerung der Skalarquantisierung Q: R C • Anwendung auf bereits digitalisierte Werte • Komprimierung • Mustererkennung • vollständige Einteilung von R in paarweise disjunkte Bereiche • Die Entscheidungsgrenzen können beliebig geformt sein k k
VQ mit R 2 Zellenwand Zentroid
Nearest Neightbour Encoding • 1. Setze d = d ; j = 1; i = 1; • 2. Berechne D = d(x,y ); • 3. IF D < d THEN D = d ; i = j; • 4. IF j < N THEN j++; GOTO 2; • 5. END; initial j j j
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 • 4.:Ist beende • 5.:k++;Bestimme neue Codebucheinträge (Schwerpunkte der Interwalle); Gehe zu 2 (k)
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) • 3.:Bestimme Gesamtabweichung D • 4.:Ist beende • 5.:K++; Bestimme neue Codebucheinträge (Schwerpunkte der Interwalle); Gehe zu 2 (k)
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 zwischen Codevektor und Trainingsvektoren • 4.:Ist beende • 5.:K++; Bestimme neue Codebucheinträge (Schwerpunkte der Interwalle); Gehe zu 2 (k)
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
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
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