Verlustbehaftete Kompression JPEG: Joint Photographic Experts Group ITU T8.1 definiert Zusammenarbeit von ITU, IEC, ISO Verfahren zur verlustbehafteten Bildkodierung (auch Verlustloser Modus vorhanden)
Schritte: -Farbraumumrechnung von RGB nach YUV -Tiefpass-Filterung und Unterabtastung von U,V -Diskrete Cosinus Transformation des Bildes, angewendet auf 8x8 Pixel große Blöcke -Quantisierung (angepasst an Empf. des Auges, CSV) -Umsortierung: Zick-Zack Scan -Entropie Codierung (Lauflängen Codierung, Huffman..) Performance: 1.2.. 2 Bit Pro Pixel: etwa visuell verlustfrei 0.7-1 Bit pro Pixel: "gute" Ergebnisse unter 0,3 Bit pro Pixel: Praktisch unbrauchbar.
Verlustbehaftete Bildcodierung, JPEG Farbtransformation von JPEG: Faktoren, neu im Vergleich zu U,V zur Normierung der Werte- Bereiche von Cb, Cr auf -0.5, 0.5
-Nächster Schritt der Farbcodierung: Tietpassfilterung (Glättung, notwendig für Unterabtastung nach Nyquist), gefolgt von der Unterabtastung, meist um Faktor 2 in horizontaler und vertikaler Auf Lösung. Anschaulich: 3 unterschiedlich große Teilbilder: weniger Pixel zu speichern! (1/4) -> Datenreduktion ohne viel Aufwandt!
-Nächster Schritt: Diskrete Cosinus Transformation (DCT) Zweck: weitere Eigenschaften (Schwächen?) des Auges zu nutzen. Nämlich die unterschiedliche Empfindlichkeit des Auges für unter schiedliche Ortsfrequenzen. Vertikal: Ortsfrequenz Null Horizontal: Ortsfreq. Helligk. 1 Per./grad Beispiel Bildmuster schwarz-weisses Streifenmuster (sin funktion der Helligkeit, also allmähliche Übergänge) Blickwinkel, 1 sw Steifenmuster Ort (Winkel) Hier: 1 Periode/Grad horizontale Ortsfrequenz.
Höhere Ortsfrequenz -> feineres Linienmuster. - Auge hat unterschiedliche Empfindlichkeiten für unterschiedlich feine Linienmuster/ Ortsfrequenzen. Contrast Sensitivity Function: Empfindlichkeit Ortsfrequenz Grund für Anwendung der DCT für die Codierung: DCT zerlegt das Bild in unterschiedliche Ortsfrequenzen, horizontal und vertikal.
Veranschaulichung: Örtliche begrenztes Signal (Bild, Teil vom Bild) Diskrete Fourier Transformation ist unendlich lange Discrete Time Fourier Transform des periodisch fortgesetzten Signales: Helligk. Helligk. Sprünge Anfang Ort ende Ort. -> bekommen so nur endlich viele diskrete Frequenzen. -> wichtig für Codierung Aber: Sprünge durch Periodisierung bedeuten Verschlechterung der Frequenzauflösung.
-> Vermeidung der Sprünge: Periodisierung durch Spiegelung des Signals Pixelraster Haben Sprünge vermieden. Funktion, die symmetrisch um 0 ist: Fourier Transformation hat nur reelle Anteile, der Imaginärteil wird 0. -> Realteil wird mit Cosinus erzeugt. Für die periodische Fortsetzung mit Spiegelung wird das Pixelraster so gelegt, daß Position 0 genau zwischen zwei Pixeln liegt.
D.h. wir haben einen Offset von 0.5 Pixeln, Noch zu beachten: Durch die Spiegelung wird Periodenlänge für Fourier Transformation doppelt so groß -> doppelt so feines Frequenzraster, doppelt so viele Frequenzwerte, können aber die obere Hälfte des Fourier Spektrums weg lassen, da es symmetrisch zur unteren Hälfte ist (weil reelles signal). -> Haben nun komplettes "Kochrezept" für unsere DCT! N: Größe des DCT Bereiches
Es gibt mehrere DCT Typen, diese nennt sich DCT Typ 2 Was ist mit den zu 2 Dimensionen eines Bildes? Antwort: DCT wird hintereinander auf Zeilen und Spalten angewendet. -> Reihenfolge von DCT (erst Spalte oder Zeile) ist egal, da es eine Lineare Transformation ist. -> Separabel Beispiel: Zebra-Bild: y(0,0): Gleichanteil, y(1,0): Wert ungleich 0, y (1,1)=0, denn cos addiert sich bei konstantem x zu 0!
DCT wird auf Bild angewendet, aber da die Ortsfrequenzen in verschiedenen Bereichen des Bildes sehr unterschiedlich sein können, wird das Bild in kleinere Komponenten aufgeteilt, auf die dann die DCT angewendet wird. Bei JPEG: 8x8 Blöcke. 8x8 Blöcke, auf die die DCT angewendet wird N=M=8 -> wir haben damit "Zugriff" auf die unterschiedlichen Ortsfrequenzen an unterschiedlichen Orten im Bild. -> Codieren, Quantisieren entsprechend Augenempfindlichkeit.
-Beachte: Bei 8x8 kleinen Blöcken ist die Ortsfrequenz bei 0,0 recht breit, reicht noch ins Maximun der Contrast Sensitivity Function herein. Daher muss auch y(0,0) schon fein quantisert werden. Z.B. y(7,7) kann aber grob quantisert oder sogar weggelassen werden, weil es nur die feinsten Muster im Block enthält, für die das Auge weniger empfindlich ist (nach C.S.F.)! D.h. Maximum ist gleich bei den tiefsten Ortsfrequenzen des 8x8 Blocks.