JPEG Ingo Kregel Gliederung 1. 2. 3. 4. 5. JPEG 2 Einleitung und Überblick Visuelle Wahrnehmung und Farbräume Angewandte Komprimierungsverfahren Die JPEG-Modi Ausblick Einleitung JPEG: Joint Photographic Experts Group Zusammenschluss von Gruppen der ISO – International Organization for Standardization ITU-T – International Telegraph and Telephone Consultative Committee Erstes Ziel: Kompressionsverfahren für ISDN-Kanäle JPEG 3 Einleitung Ausschreibung eines Wettbewerbs Anforderungen: Parametrisierbarkeit der Qualität Unterstützung verschiedenster Farbräume, Bildgrößen und Inhalte Annehmbare Komplexität in Bezug auf Implementierung und Ausführung Sequenzielle, progressive, verlustlose und hierarchische Modi Gewinner der Ausschreibung: Die Diskrete Kosinustransformation (DCT) JPEG 4 Einleitung 1992: Veröffentlichung des JPEG-Standards “Information technology – Digital compression and coding of continuous-tone still images: Requirements and guidelines” ISO/IEC 10918-1 CCITT (ITU-T) Recommendation T.81 Heute: Verbreitetstes Grafikformatik der Welt Verwendung im prof. Layoutbereich, Speicherung medizinischer Daten, digitaler Videotechnik (MPEG), WWW… JPEG 5 Ordnungsrahmen JPEG 6 Ordnungsrahmen JPEG 7 Gliederung 1. 2. 3. 4. 5. JPEG 8 Einleitung und Überblick Visuelle Wahrnehmung und Farbräume Komprimierungsverfahren Die JPEG-Modi Fazit & Ausblick Visuelle Wahrnehmung des Menschen Bildkompression auch im menschlichen Gehirn Bsp.: Verhältnis von Rezeptoren zu Nervenfasern im Auge 80:1 Optische Täuschungen: Illusion über Farben, geometrische Formen, Bewegungen… Ruhende Bilder erhalten höhere Auflösung als bewegte Helligkeitsunterschiede werden stärker wahrgenommen als Farbunterschiede Forschungsfeld der Wahrnehmungspsychologie, Psychophysik JPEG 9 Ordnungsrahmen JPEG 10 RGB Rot, Grün, Blau Entspricht der Technik in Farbmonitoren 8 Bit: 0-255 Hexadezimal: 00-ff JPEG 11 YCbCr Ursprung: Umstieg von S/W auf Farbfernsehen JPEG 12 YCbCr Y Cb Cr JPEG 13 + Tiefpassfilterung „Chroma Subsampling“ Unterabtastung der Chrominanzen Ausnutzung der visuellen Wahrnehmung des Menschen Datenreduktion: 4:4:4 4:2:2 4:2:0 JPEG 14 24 Bit 16 Bit 12 Bit volle Informationsdichte Halbierung der Chrominanzen (horizontal) Horizontale und Vertikale Halbierung der Chrom. Gliederung 1. 2. 3. 4. 5. JPEG 15 Einleitung und Überblick Visuelle Wahrnehmung und Farbräume Angewandte Komprimierungsverfahren Die JPEG-Modi Fazit und Ausblick Gliederung – Kapitel 3 1. 2. 3. 4. 5. Die Diskrete Kosinus-Transformation (DCT) Quantisierung Prädiktion Lauflängenkodierung (RLC) Entropiekodierung Huffman-Kodierung Arithmetische Kodierung JPEG 16 Diskrete Kosinus-Transformation 1972 Ahmed, Natarajan und Rao Weiterentwicklung der Fourier-Transformation Aufgrund ihrer guten Kompressionseigenschaften in meisten verlustbehafteten Verfahren zur Bild- und Videokompression eingesetzt Vorbereitung: Aufteilen der Grafik in 8x8-Blöcke Farbige Grafiken entsprechen mehrstufiger Verarbeitung von Graustufenbildern JPEG 17 Diskrete Kosinus-Transformation Berechnungsvorschriften: 7 7 2 x 1 u 2 y 1 v 1 FDCT : F (u, v) C u C v f x, y cos cos 4 16 16 x 0 y 0 IDCT : 2 x 1 u 2 y 1 v 1 7 7 f x, y C u C v F (u, v) cos cos 4 u 0 v 0 16 16 C u , C v JPEG 18 1 für u , v 0 F (u , v ) : DCT Koeffizienten (8 x8) u : Spalten v : Zeilen sonst f (u , v ) : Matrix vor FDCT bzw. nach IDCT x : Spalten y : Zeilen 2 1 Diskrete Kosinus-Transformation Vollständiges Beispiel: JPEG 19 Diskrete Kosinus-Transformation Ausschnitt 1: Koeffizient bei (0; 0) 7 7 2 x 1 u cos 2 y 1 v 1 FDCT : F (u, v) C u C v f x, y cos 4 16 16 x 0 y 0 1 1 1 7 7 F (u, v) f x, y cos 0 cos 0 4 2 2 x 0 y 0 1 7 7 F (u, v) f x, y 8 x 0 y 0 C u , C v JPEG 20 1 für u , v 0 F (u , v ) : DCT Koeffizienten (8 x8) u : Spalten v : Zeilen sonst f (u , v ) : Matrix vor FDCT bzw. nach IDCT x : Spalten y : Zeilen 2 1 Diskrete Kosinus-Transformation Ausschnitt 2: Koeffizient bei (1; 1) 7 7 2 x 1 u cos 2 y 1 v 1 FDCT : F (u, v) C u C v f x, y cos 4 16 16 x 0 y 0 7 7 2 x 11 cos 2 y 11 1 F (u, v) 11 f x, y cos 4 16 16 x 0 y 0 1 7 7 2 x F (u, v) f x, y cos 4 x 0 y 0 16 C u , C v JPEG 21 1 für u , v 0 F (u , v ) : DCT Koeffizienten (8 x8) u : Spalten v : Zeilen sonst f (u , v ) : Matrix vor FDCT bzw. nach IDCT x : Spalten y : Zeilen 2 1 2 y cos 16 + Diskrete Kosinus-Transformation Vollständiges Beispiel: JPEG 22 Quantisierung Division der Bildwerte durch Quantisierungsmatrix Aufstellen solcher Matrizen nach Versuchsreihen Quantisierungswerte unterschiedlich optimal, je nach Anwendungsgebiet und Grafikeigenschaften Genutzte Q-Matrix wird in JPEG-Datei mit gespeichert JPEG 23 Quantisierung Komprimierung: F x, y FQ x, y round Q x, y Rekonstruktion: FR x, y FQ x, y Q x, y Quantisierung ist die Hauptursache für Qualitätsverluste der DCT-basierten Verfahren JPEG 24 Quantisierung Zusammenhang: JPEG 25 Quantisierung Vergleich von Original- und rekonstruierten Werten: JPEG 26 Prädiktion Unterschiedliche Behandlung der Komponenten jedes 8x8-Blocks DC – Direct Current AC – Alternating Current JPEG 27 Prädiktion DC: Speicherung Mittelwerts des gesamten 8x8-Blocks Ableitung dieses Koeffizienten aus dem Vorgängerblock Speicherung der Differenz, statt absoluten Werts JPEG 28 Lauflängenkodierung Effektiv für Symbolfolgen mit häufigen Wiederholungen Ziel: Ersetzen von Wiederholungen durch Tokens Ein Token besteht aus 3 Elementen: ESC r s Escape-Zeichen Lauflänge Zu ersetzendes Symbol Effizient daher erst ab Folge von 4 Symbolen JPEG 29 Lauflängenkodierung Beispiel: Symbolfolge: 15400000013 Ersetzen der Nullen durch ein Token Escape-Zeichen hier: $ Länge: 6 Ersetztes Symbol: 0 Token: 154$6013 JPEG 30 Lauflängenkodierung Anwendung in JPEG: Überführen der DCT-Matrix in eine eindimensionale Symbolfolge durch Zickzack-Abtastung JPEG 31 Lauflängenkodierung Günstige Eigenschaften quantisierter Matrizen: JPEG 32 Entropiekodierung Entropie (Informationstheorie): „Mittlere Informationsdichte“ Entropiekodierung ist verlustfrei! Optimierung des Speicherplatzes einer gegebenen Symbolfolge Reduktion der zu speichernden Symbole ist Aufgabe vorhergehender Komprimierungsmethoden JPEG 33 Gliederung 1. 2. 3. 4. Einleitung und Überblick Visuelle Wahrnehmung und Farbräume Komprimierungsverfahren Die JPEG-Modi Sequenziell vs. Progressiv Hierarchisch Baseline-Kodierung und Erweiterungen Verlustfreie Kompression Rekonstruktion 5. Fazit & Ausblick JPEG 34 Sequenzielle Verarbeitung Nur ein Durchlauf Jeder 8x8-Block nacheinander Es wird nur exakt der Speicher benötigt, den das Bild auch einnimmt Simple Vorgehensweise Schlanke Implementierung und geringe Ausführungszeit JPEG 35 Progressive Verarbeitung Unter Umständen sind andere Eigenschaften von größerem Vorteil Übertragung der Information in mehreren Schritten Erster Durchlauf: sehr grobe Auflösung Verfeinerung des Ergebnisses bei weiteren Durchläufen durch zusätzliche Koeffizienten JPEG 36 Progressive Verarbeitung 2 Unterarten der progressiven Kodierung: Spektrale Selektion: Tieffrequente Koeffizienten werden vor höherfrequenten Koeffizienten übertragen Schrittweise Verfeinerung: Senden der oberen Bits, bevor die niedrigeren Bits das Bild vervollständigen Vorteile dieser Verarbeitungsweise: Bei geringer Bandbreite für den Empfang Vorschaumöglichkeit Betrachter kann das Laden abbrechen Geringere Auflösung kann ggf. genügen JPEG 37 Hierarchische Verarbeitung Sonderform des progressiven Verfahrens Aufbau der Grafik in mehreren Ebenen Erste Ebene erzeugt mehrfach unterabgetastetes, unscharfes Bild Aufwärtstasten auf weitere Ebenen Hochrechnen auf größere Auflösung Werte der Hochrechnung dienen als Prognosewerte nach dem Prädiktionsverfahren Verfahren bei niedrigen Bitraten gut geeignet, Mehraufwand bei höheren Bitraten bis zu 33% JPEG 38 Hierarchische Verarbeitung Schema: JPEG 39 Baseline-Standard & Erweiterungen Baseline-Standard: Mindestbedingungen Diskrete Kosinustransformation, ausschließlich sequenziell 8 Bit pro Bildpunkt Nur Huffman-Kodierung nutzbar Maximal 2 Tabellen für Kodierung der AC- und DC-Koeffizienten Erweiterter Standard: Progressive und sequenzielle Speicherung möglich Auch 12 Bit Entscheidung zwischen Arithmetischer Kodierung und Huffman Maximal 4 Tabellen für Kodierung der AC- und DC-Koeffizienten JPEG 40 Verlustfreie Kompression Unterschiede: Wahl der Bildauflösung von 2-16 Bit Verzicht auf DCT und Quantisierung Ausschließliche Nutzung der Prädiktion JPEG 41 Verlustfreie Kompression JPEG 42 Verlustfreie Kompression Nicht Schwerpunkt der Entwicklungsarbeit Durchschnittlich komplexe farbige Grafiken: 50% Kompression 1994 JPEG-LS-Standard: Speziell verlustfreie Kodierung Bessere Ergebnisse als integrierte Modi in JPEG oder JPEG2000 JPEG 43 Rekonstruktion JPEG 44 Gliederung 1. 2. 3. 4. 5. JPEG 45 Einleitung und Überblick Visuelle Wahrnehmung und Farbräume Angewandte Komprimierungsverfahren Die JPEG-Modi Ausblick Ausblick: JPEG2000 2000: ISO 15444, Nachfolger des JPEG-Standards Waveletbasierte Transformation Flexibler Zugriff: Änderungen ohne Rekompression Entnahme von Ausschnitten oder geringerer Auflösung aus einer Datei möglich Verbreitung bisher aufgrund der Zufriedenheit mit JPEG gering JPEG-LS-Standard oder PNG-Format für bestimmte Grafiken effizienter JPEG 46