Author
johannes-henseler
View
5.556
Download
5
Embed Size (px)
DESCRIPTION
a technical speech about image compression algorithms, especially the steps needed for JPEG compressions
Kompressionsverfahren
Kompressionsverfahren: �
MG 53 – Mai �006
Kompressionsverfahren
Grund und Bedeutung
Abgrenzung
Erläuterung
„
„
„
Kompressionsverfahren: Grund und Bedeutung3
MG 53 – Mai �006
Grund und Bedeutung
All over: Verringerung der Dateigröße
Kompressionsverfahren: Grund und Bedeutung�
MG 53 – Mai �006
Grund und Bedeutung
All over: Verringerung der Dateigröße
Ein Kamerabild mit 6 Megapixeln (3000 x �000 Pixel, RGB):
8bit: 17,� Megabyte
16bit: 3�,3 Megabyte
unkomprimierte Datenmenge
„
„
Kompressionsverfahren: Abgrenzung5
MG 53 – Mai �006
Abgrenzung
Methoden zur Kompression:
Verringerung des Datenaufkommens (Redundanzreduktion)
Verringerung der Dateninformation (Irrelevanzredutkion)
„
„
Kompressionsverfahren: Abgrenzung6
MG 53 – Mai �006
Abgrenzung
Methoden zur Kompression:
Verringerung des Datenaufkommens (Redundanzreduktion)
Verlustfrei
Verringerung der Dateninformation (Irrelevanzredutkion)
Verlustbehaftet
„
„
Kompressionsverfahren: Abgrenzung7
MG 53 – Mai �006
Abgrenzung
Methoden zur Kompression:
Verringerung des Datenaufkommens (Redundanzreduktion)
Verlustfrei
TIFF, GIF, PNG, JPEG2000, alle Arten von Textkompression (z. B. ZIP)
Verringerung der Dateninformation (Irrelevanzredutkion)
Verlustbehaftet
JPEG, MPEG-3, MPEG-4
„
„
Kompressionsverfahren: Erläuterung8
MG 53 – Mai �006
Algorithmen in der Bildbearbeitung
Verlustfreie Algorithmen
Huffmann-Codierung, LZ77, ZIP, CCIT T, Lauflängenkodierung
Verlustbehaftete Algorithmen
T iefpassfilterung & Subsampling, Quantisierung
„
„
Kompressionsverfahren: Erläuterung�
MG 53 – Mai �006
Verlustbehaftete Komprimierung
Kompressionsverfahren: Erläuterung10
MG 53 – Mai �006
Verlustbehaftete Komprimierung anhand von JPEG
Kompressionsverfahren: Erläuterung11
MG 53 – Mai �006
Verlustbehaftete Komprimierung anhand von JPEG
Farbraumumrechnung in YCbCr und Subsampling
Einteilung und Kosinustransformation von 8 x 8Blöcken, Quantisierung
Lauflängenkodierung
Umkodierung (HuffmannCodierung)
1.
�.
3.
�.
Kompressionsverfahren: Erläuterung1�
MG 53 – Mai �006
Verlustbehaftete Komprimierung anhand von JPEG
Farbraumumrechnung in YCbCr und Subsampling
Einteilung und Kosinustransformation von 8 x 8Blöcken, Quantisierung
Lauflängenkodierung
Umkodierung (HuffmannCodierung)
1.
�.
3.
�.
Kompressionsverfahren: Erläuterung13
MG 53 – Mai �006
Verlustbehaftete Komprimierung anhand von JPEG
Farbraumumrechnung in YCbCr und Subsampling
Eigenschaft des YCbCr-Farbmodells (basiert auf dem YUV-Farbraum):
Ein RGB-Wert wird in Grundhelligkeit Y und zwei weitere Komponenten Cb und Cr aufgeteilt.
Dabei definiert Y die Grundhelligkeit für den Grünanteil. Cb die Abweichung von Grau in Richtung Blau. Cr die Abweichung von Grau in Richtung Rot.
1.
1�
MG 53 – Mai �006
RGB Y (Grünanteil) Volle Auflösung
Farbraumumrechnung in YCbCr und Subsampling �:�:�
Cr (abweichung zu Rot)Halbe Auflösung
Cb (abweichung zu Blau)Halbe Auflösung
Kompressionsverfahren: Erläuterung15
MG 53 – Mai �006
Verlustbehaftete Komprimierung anhand von JPEG
Einteilung und Kosinustransformation von 8 x 8Blöcken, Quantisierung�.
Kompressionsverfahren: Erläuterung16
MG 53 – Mai �006
Verlustbehaftete Komprimierung anhand von JPEG
Einteilung und Kosinustransformation von 8 x 8Blöcken, Quantisierung�.
Kompressionsverfahren: Erläuterung17
MG 53 – Mai �006
Verlustbehaftete Komprimierung anhand von JPEG
Einteilung und Kosinustransformation von 8 x 8Blöcken, Quantisierung�.
„Die JPEG-Kompression“ von Sebastian Wickenburg, Aeneas Rooch und Johannes Groß 48/73
Die DCT-Koeffizienten, die mit größeren Frequenzen tendenziell kleinere Werte annehmen, werden durch Quantisierungsfaktoren geteilt. Diese Faktoren werden mit höheren u- und v-Werten größer. Ergebnis: Viele der kleinen DCT-Koeffizienten (diejenigen mit hohen Frequenzen) werden so (nach dem Teilen und Runden) zu Null
quantisiert.
Kompressionsverfahren: Erläuterung18
MG 53 – Mai �006
Verlustbehaftete Komprimierung anhand von JPEG
Lauflängenkodierung3.
Kompressionsverfahren: Erläuterung1�
MG 53 – Mai �006
Verlustbehaftete Komprimierung anhand von JPEG
Lauflängenkodierung
...reduziert Bereiche gleicher Farben und gibt nur deren Häufigkeit an
3.
Kompressionsverfahren: Erläuterung�0
MG 53 – Mai �006
Verlustbehaftete Komprimierung anhand von JPEG
Lauflängenkodierung3.
Auffeinander folgende Bildpunkte
Kompressionsverfahren: Erläuterung�1
MG 53 – Mai �006
Verlustbehaftete Komprimierung anhand von JPEG
Lauflängenkodierung3.
Auffeinander folgende Bildpunkte
Absolut eindeutige Farben (gleiche Farben)
Kompressionsverfahren: Erläuterung��
MG 53 – Mai �006
Verlustbehaftete Komprimierung anhand von JPEG
Lauflängenkodierung3.
Absolut eindeutige Farben (gleiche Farben)
Lauflängenkodierung
3x 5x 3x
Auffeinander folgende Bildpunkte
Kompressionsverfahren: Erläuterung�3
MG 53 – Mai �006
Verlustbehaftete Komprimierung anhand von JPEG
Umkodierung (HuffmannCodierung)�.
Kompressionsverfahren: Erläuterung��
MG 53 – Mai �006
Verlustbehaftete Komprimierung anhand von JPEG
Umkodierung (HuffmannCodierung)
Häufig vorkommende Farben erhalten kurze, selten vorkommende Farben lange Codes zugeordnet.
�.
�5
MG 53 – Mai �006
3x 5x 3x
Kompressionsverfahren: Umkodierung (HuffmanCodierung)
Lauflängenkodierte Farbenfolge
�6
MG 53 – Mai �006
3x 5x 3x
Kompressionsverfahren: Umkodierung (HuffmanCodierung)
Lauflängenkodierte Farbenfolge
Häufigkeit der Farben & Kodierungen3 �
3x
11 1 1
5x
�7
MG 53 – Mai �006
3x 5x 3x
Kompressionsverfahren: Umkodierung (HuffmanCodierung)
Lauflängenkodierte Farbenfolge
Häufigkeit der Farben & Kodierungen3 �
3x
11 1 1
5x
1. Schritt zum Binärbaum3 �
3x
11 �
5x
�8
MG 53 – Mai �006
Kompressionsverfahren: Umkodierung (HuffmanCodierung)
�. Schritt zum Binärbaum3 �
3x
�
5x
�
��
MG 53 – Mai �006
Kompressionsverfahren: Umkodierung (HuffmanCodierung)
�. Schritt zum Binärbaum3 �
3x
�
5x
�
3. Schritt zum Binärbaum3 �
3x
�
5x
30
MG 53 – Mai �006
Kompressionsverfahren: Umkodierung (HuffmanCodierung)
3. Schritt zum Binärbaum5 �
5x
3x
31
MG 53 – Mai �006
Kompressionsverfahren: Umkodierung (HuffmanCodierung)
3. Schritt zum Binärbaum5 �
5x
3x
Der HuffmanCodierte Binärbaum
5x
3x
�
3�
MG 53 – Mai �006
Kompressionsverfahren: Umkodierung (HuffmanCodierung)
Kodierung des Binärbaums
5x
3x
0 1
0 1 0 1
0 1 0 1
33
MG 53 – Mai �006
Kompressionsverfahren: Umkodierung (HuffmanCodierung)
Kodierung des Binärbaums
5x
3x
0 1
0 1 0 1
0 1 0 1
3x 5x 3x
3�
MG 53 – Mai �006
Kompressionsverfahren: Umkodierung (HuffmanCodierung)
Kodierung des Binärbaums
5x
3x
0 1
0 1 0 1
0 1 0 1
3x 5x 3x
00
35
MG 53 – Mai �006
Kompressionsverfahren: Umkodierung (HuffmanCodierung)
Kodierung des Binärbaums
5x
3x
0 1
0 1 0 1
0 1 0 1
3x 5x 3x
00 101
36
MG 53 – Mai �006
Kompressionsverfahren: Umkodierung (HuffmanCodierung)
Kodierung des Binärbaums
5x
3x
0 1
0 1 0 1
0 1 0 1
3x 5x 3x
00 101 00
37
MG 53 – Mai �006
Kompressionsverfahren: Umkodierung (HuffmanCodierung)
Kodierung des Binärbaums
5x
3x
0 1
0 1 0 1
0 1 0 1
3x 5x 3x
00 101 00 01
38
MG 53 – Mai �006
Kompressionsverfahren: Umkodierung (HuffmanCodierung)
Kodierung des Binärbaums
5x
3x
0 1
0 1 0 1
0 1 0 1
3x 5x 3x
00 101 00 01 100 110 111 00 01
3�
MG 53 – Mai �006
Kompressionsverfahren: Umkodierung (HuffmanCodierung)
Huffmann & LauflängenCodierte Pixelfolge 3x 5x 3x
Original Pixelfolge im Bild
Binärfolge 00 101 00 01 100 110 111 00 01
5x
3x
0 1
0 1 0 1
0 1 0 1
Das „Wörterbuch“ zum kodieren und dekodieren: Der Binärbaum
Kompressionsverfahren: Erläuterung�0
MG 53 – Mai �006
27
MG 53 – Mai 2006
3x 5x 3x
Kompressionsverfahren: Umkodierung (Huffman-Codierung)
Lauflängenkodierte Farbenfolge
40
MG 53 – Mai 2006
Kompressionsverfahren: Umkodierung (Huffman-Codierung)
Kodierung des Binärbaums
5x
3x
0 1
0 1 0 1
0 1 0 1
3x 5x 3x
00 101 00 01 100 110 111 00 01
Zusammenfassung JPEGKompression
Farbraumumrechnung in YCbCr und Subsampling
Einteilung und Kosinustransformation von 8 x 8Blöcken, Quantisierung
Lauflängenkodierung
Umkodierung (HuffmannCodierung)
1.
�.
3.
�.
Kompressionsverfahren: Erläuterung�1
MG 53 – Mai �006
Dekodierung von JPEG
Kompressionsverfahren: Erläuterung��
MG 53 – Mai �006
Dekodierung von JPEG
Alle Kompressionsvorgänge werden rückwärts ausgeführt„
Kompressionsverfahren: Erläuterung�3
MG 53 – Mai �006
Verlustfreie Komprimierung
Kompressionsverfahren: Erläuterung��
MG 53 – Mai �006
Verlustfreie Komprimierung anhand von T IFF
Kompressionsverfahren: Erläuterung�5
MG 53 – Mai �006
Verlustfreie Komprimierung anhand von T IFF
T IFF erlaubt verlustfreie Komprimierung mit
LZW, ZIP oder der > Lauflängenkodierung
T IFF erlaubt auch verlustbehaftete
Komprimierung mittels JPEG
„
„
Kompressionsverfahren: Erläuterung�6
MG 53 – Mai �006
Verlustfreie Komprimierung anhand von T IFF
T IFF erlaubt verlustfreie Komprimierung mit
LZW, ZIP oder der > Lauflängenkodierung
T IFF erlaubt auch verlustbehaftete
Komprimierung mittels JPEG
„
„
Kompressionsverfahren: Erläuterung�7
MG 53 – Mai �006
Verlustfreie Komprimierung mit LZW
Lempel-Ziv-Welch-Algorithmus
Kompressionsverfahren: Erläuterung�8
MG 53 – Mai �006
Verlustfreie Komprimierung mit LZW
Lempel-Ziv-Welch-Algorithmus
Kompression mittels Wörterbuch„
Kompressionsverfahren: Erläuterung��
MG 53 – Mai �006
Verlustfreie Komprimierung mit LZW
Lempel-Ziv-Welch-Algorithmus
Kompression mittels Wörterbuch
Zerlegung des Datenstroms in Zeichenketten
„
„
Kompressionsverfahren: Erläuterung50
MG 53 – Mai �006
Verlustfreie Komprimierung mit LZW
Lempel-Ziv-Welch-Algorithmus
Kompression mittels Wörterbuch
Zerlegung des Datenstroms in Zeichenketten
Prüfen ob jene Zeichenkette bereits im Wörterbuch enthalten ist
„
„
„
Kompressionsverfahren: Erläuterung51
MG 53 – Mai �006
Verlustfreie Komprimierung mit LZW
Lempel-Ziv-Welch-Algorithmus
Kompression mittels Wörterbuch
Zerlegung des Datenstroms in Zeichenketten
Prüfen ob jene Zeichenkette bereits im Wörterbuch enthalten ist
Einfügen ins Wörterbuch
oder
Verweis auf einen vorhanden Eintrag
„
„
„
„
Kompressionsverfahren: Erläuterung5�
MG 53 – Mai �006
Verlustfreie Komprimierung mit LZW
kodierung von „Rokokokotten“
das Ausgangswörterbuch enthält für jedes Zeichen einen Eintrag. R = #1 o = #2 k = #3 t = #4 e = #5 n = #6
Kompressionsverfahren: Erläuterung53
MG 53 – Mai �006
Verlustfreie Komprimierung mit LZW
dekodierung von „Rokokokotten“ das Ausgangswörterbuch enthält für jedes Zeichen einen Eintrag. R = #1 o = #2 k = #3 t = #4 e = #5 n = #6
Kompressionsverfahren: Erläuterung5�
MG 53 – Mai �006
Verlustfreie Komprimierung mit LZW
die Arbeitsweise mit Buchstaben lässt sich
auch auf Farben übertragen.
„
Kompressionsverfahren: Erläuterung55
MG 53 – Mai �006
Verlustfreie Komprimierung mit LZW
die Arbeitsweise mit Buchstaben lässt sich
auch auf Farben übertragen.
dabei besitzt jede Farbe ein Wörterbucheintrag. Im Datenstrom
folgende Kombinationen werden dem Wörterbuch hinzugefügt.
„
„
#1 =
#� =
#3 =
#� =
Kompressionsverfahren: Erläuterung56
MG 53 – Mai �006
Verlustfreie Komprimierung mit ZIP
Kompressionsverfahren: Erläuterung57
MG 53 – Mai �006
Verlustfreie Komprimierung mit ZIP
ZIP unterstützt mehrere Algorithmen
beste Ergebnisse mit Deflate
Deflate kombiniert die Arbeitsweise von LZ77 (Vorgänger von LZW) und der Huffmann-Kodierung.
LZ77 komprimiert dabei Farben, die mehrmals vorkommen, die Umkodierung nach Huffmann weist häufigen Wörterbuchreferenzen kurze Codes, seltenen Referenzen hohe Codes zu.
„
„
Kompressionsverfahren: Erläuterung58
MG 53 – Mai �006
Andere Verwendung von Verlustfreien
Komprimierungsalgorithmen
Kompressionsverfahren: Erläuterung5�
MG 53 – Mai �006
Andere Verwendung von Verlustfreien
Komprimierungsalgorithmen
ZIP (Deflate) zur Komprimierung von Bildern und Text
verwendung in PDF, PNG, ZIP
CCIT T: Komprimierung von Binärbildern (Schwarz/WeißBilder)
CCIT T Group 4: Ähnlich wie Lauflängenkodierung, Komprimierung erfolgt anhand von festgelegten Tabellen (ø Häufung von schwarzen und weißen Pixeln). Tabellen sind statistische Erhebungen über Faxdaten.
LZW ausserdem in GIF
„
„
„