Kompressionsverfahren Quelle: Steinmetz, Ralf: Multimedia-Technologie: Einführung und Grundlagen, Springer, Verlag
Verlustlose Kompressionsalgorithmen RLC Huffman Adaptive Huffman Kodierung Arithmetische Kodierung LZW
RLC: Run Length Code Spezielles Zeichen außerhalb des Alphabets zeigt, dass als nächstes ein Zahlenwert und dann das zu wiederholende Zeichen folgt z.b. eaaaabaaabb 11 Zeichen e#4abaaabb 10 Zeichen Sinnvoll bei vielen gleichen Zeichen
Huffman- Algorithmus 2. Entnimm jeweils zwei der Elemente mit niedrigster Häufigkeit und berechne deren Summe s, [A(15),B(7),C(6),D(6),E(5)], s =11 Erzeuge dafür einen Wichtungsknoten Wi(s) (W1(11)) in der Liste: [A(15),B(7),C(6),W1(11)] und sortiere: [A(15),W1(11),B(7),C(6)] weiter: [A(15),W1(11),B(7),C(6)] [A(15),W1(11),W2(13)] [A(15),W2(13),W1(11)] [A(15),W3(24)] [W3(24),A(15)] [W4(39)] bis nur 1 Element in Liste => binärer Baum E(5) D(6) C(6) 1 0 1 W1(11) W2(13) 0 1 0 W3(24) 1 0 W4(39) B(7) A(15)
Kodierungseigenschaften Huffman + Optimale Kodierung (Entropie) + Präfix eindeutig + => kein Trennzeichen erforderlich trotz unterschiedlicher Kodelänge - Häufigkeit (Kodetabelle) muss bekannt sein - => mit Nachricht übertragen, - Overhead - Bei live Video oder Audio nicht möglich => Adaptive Huffman Kodierung
k Arithmetische Kodierung 0,7 0,5 0,1
Kodierungseigenschaften + Ein Zahlenwert für gesamte Zeichenkette - Häufigkeit muss bekannt sein - => mit Nachricht übertragen, - Overhead - Bei live Video oder Audio nicht möglich - Begrenzte Genauigkeit der Gleitkommazahlen in Rechnern => begrenzte Länge
Lempel-Ziv-Welch Algorithmus (LZW) Ursprung: LZ77, LZ78 Terry A. Welch: "A Technique for High Performance Data Compression", IEEE Computer, Vol. 17, No. 6, 1984, pp. 8-19. Genutzt im Compress-Befehl von Unix und Bildkomprimierungsformat TIFF Idee: sukzessiver Aufbau eines Wörterbuches
Verlustlose Kompressionsalgorithmen Unabhängig von der Art der zu kodierenden Information (der Quelle ) Vollständig reproduzierbar Hohe Kompressionsraten nur bei vielen gleichen Informationen => Auch für Programme geeignet
Kompressionsverfahren Quelle: Steinmetz, Ralf: Multimedia-Technologie: Einführung und Grundlagen, Springer, Verlag
Verlustbehaftete Kompressionsalgorithmen Wo treten Verluste auf? Warum kann man sie in Kauf nehmen? Welche Nebeneffekte entstehen? Welche Vorteile bringen Transformationen? Was sind unsymmetrische Algorithmen?
DPCM Differential Pulse Code Modulation Prädiktionskodierung Hohe Kompressionsraten bei optimaler Berücksichtigung der Quelleneigenschaften Speziell für Klasse von Informationen (Audio, Video, Bild, Text)
DPCM Quelleneigenschaft: geringe Differenzen zwischen Nachbarn Prediction (Vorhersage) Annahme: nächstes Feld gleich Differenzbildung, Übertragung der Differenz 195 204 Diff 9: statt 8 Bit nur 4 Bit
FFT Quelleneigenschaft: Periodisches Signal Annahme: Die betrachtete Zahlenfolge wiederholt sich periodisch, betrachteter Ausschnitt = 1 Periode => Realisierbar aus Überlagerung von gewichteten periodischen Schwingungen Fourier- Transformation: Zeit => Frequenzbereich FFT Fast Fourier Transformation Jean Baptiste Joseph Fourier (1768-1830)
FFT Reproduzierbarkeit: FFT versus DCT Gleiche Grundlage: Überlagerung von cos Fktn. DCT kann lineare Signale besser reproduzieren Beispiel Lineares Sample: 8 16 24 32 40 48 56 64 Anstieg um 8 (z.b. Helligkeitsverlauf)
FFT <> DCT streichen streichen Quelle: Ze-Nian Li : Script Multimedia Systems, Simon Fraser University, Canada
DCT Quelle: Ze-Nian Li : Script Multimedia Systems, Simon Fraser University, Canada
Vorteil der Transformation DCT (Discrete Cosine Transformation) 8x8 Matrix enthält nach DCT sortierte Werte: Tiefe Frequenzen links oben hohe rechts unten Frequenz = senkrechte/ waagerechte Linien Quantisierung im Frequenzbereich möglich
Kompressionsverfahren Quelle: Steinmetz, Ralf: Multimedia-Technologie: Einführung und Grundlagen, Springer, Verlag
JPEG Farbraum Konvertierung RGB => Cb Cr DCT (Discrete Cosine Transformation) Quantisierung Zick-zack Scan DPCM für DC Komponente, RLE für AC Komponenten Entropy Kodierung
Digitalisierung U V Quelle: Ze-Nian Li : Script Multimedia Systems, Simon Fraser University, Canada
Komponentenkodierung: 4:?.? Luminanzwerte () Chromawerte u,v 4:4:4 4:2:2 U V U V U V U V U V U V U V U V U V U V U V U V 4:1:1 4:2:0 U V U V U V U V
DCT Diskrete Cosinustransformation DC Wert 0,0 AC Werte Zeilen 0-7 Spalten 0-7 Quelle: Ze-Nian Li : Script Multimedia Systems, Simon Fraser University, Canada
DCT Faktorisierung wagerecht und senkrecht separat berechnen Detailinformationen links unten Division der Werte => Informationsverlust Quantisierung
JPEG: Senkrechte Linie Quelle: http://www.spemaus.de/ studium/visjpeg/
JPEG: Waagerechte Linie Quelle: http://www.spemaus.de/ studium/visjpeg/
JPEG: Ecke Quelle: http://www.spemaus.de/ studium/visjpeg/
Quantisierung Division der Werte durch Konstante durch Quantisierungsmatrix Quantisierung bestimmt die Qualität und den Grad der Komprimierung Hauptverlustquelle
Erzeugen eines Vektors Zick Zack Scan Wichtigste Elemente zuerst im Vektor Quelle: Ze-Nian Li : Script Multimedia Systems, Simon Fraser University, Canada
DCPM und RLC DPCM für DC - Komponenten RLC für AC - Komponenten Danach Huffman Kodierung des Ergebnisvektors
Übersicht JPEG Quelle: Ze-Nian Li : Script Multimedia Systems, Simon Fraser University, Canada
Dateiformat JPEG Quelle: Ze-Nian Li : Script Multimedia Systems, Simon Fraser University, Canada
JPEG Varianten Sequential Mode bisher behandelter Modus Lossless Mode verlustfrei mit Differenzkodierung Progressive Mode von grob nach fein (DC+10AC ) Hierarchical Mode Mehrfach Kodierung und Dekodierung mit unterschiedlichen Bildgrößen