560 likes | 1.07k Views
JPEG / JFIF. Ein Referat von Robert Becker. JPEG JFIF. JPEG (Joint Photographic Experts Group) Komitee, setzt sich aus den Organisationen ISO und CCITT zusammen. Traten erstmals 1986 zusammen. 1992 dann der JPEG Standard JPEG 2000 ist der neueste Standard
E N D
JPEG / JFIF Ein Referat von Robert Becker
JPEG JFIF • JPEG (Joint Photographic Experts Group) Komitee, setzt sich aus den Organisationen ISO und CCITT zusammen. • Traten erstmals 1986 zusammen. • 1992 dann der JPEG Standard • JPEG 2000 ist der neueste Standard • JFIF (JPEG File Interchange Format) ist das eigentliche Grafikformat, die Implementierung des Standards Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
JPEG JFIF • Ziele: • Kompressionsverfahren ohne Datenverlust (lossless mode) • Kompressionsverfahren mit Datenverlust, aber einstellbarer Kompressionsrate • Vertretbare Komplexität • Auf alle unbewegten Bilder anwendbar, ohne Beschränkung der Farbtiefe Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
Kompression mit Verlusten • Konvertierung des Bildes in den YUV-Farbraum • Farb-Subsampling, Aufteilung in Blöcke • Diskrete Cosinustransformation (DCT) • Quantisierung der DCT-Koeffizienten • Serialisierung der Koeffizienten in ZickZack-Anordnung • Codierung der Koeffizienten • Huffmancodierung • Arithmetische Codierung Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
Der YUV-Farbraum • Normalerweise in RGB, CYM, ... 3 Basen im Farbenraum Farbmodell • Auge kann Helligkeitsunterschiede besser erkennen als Farbunterschiede Helligkeit-Farbigkeit-Modell • JPEG lässt die Wahl • des Modells frei • In JFIF ist das Helligkeit-Farbigkeit-ModellYUV festgelegt Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
Das YUV-Modell • Y ist die Luminanz • U die Farbabweichung in Richtung Rot (Chrominanz) • V die Farbabweichung in Richtung Blau (Chrominanz) Um Farbwerte in RGB-Darstellung in YUV umzurechnen, braucht man folgende Formel: Die Formel für die Rücktransformation Ist wie folgt: Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
Farbsubsampling / Aufteilen in Blöcke • Kleine Unterschiede in U und V sind für das Auge nur schwer wahrzunehmen • Farbsubsampling = Werte für U und V werden in 2x2 Blöcken gespeichert • Weiterhin werden die Pixelwerte in 8x8 Blöcke aufgeteilt und getrennt bearbeitet Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
Diskrete Cosinus Transformation (DCT) • DCT verwandt mit der Fourier Transformation • DCT: • IDCT (Inverse DCT): Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
Diskrete Cosinus Transformation (DCT) • 8x8 Block = diskretes Signal von 64 Werten • Werte sind abhängig von den 2 räumlichen Dimensionen x und y DCT Pixel (IDCT) Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
Diskrete Cosinus Transformation (DCT) • Werte werden in ihr Spektrum transformiert, auf eine Basis von 64 orthogonalen, diskreten Signalen • Koeffizienten bilden die Ausgabewerte Der DC (Direct Current) Wert ist der Durchschnitt der 64 Werte mal 8 (Gleichstromkoeffizient) DC - Wert AC - Werte Die AC (Alternating Current) Werte speichern die Veränderungen zum DC (Wechselstromkoeffizient) Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
Diskrete Cosinus Transformation (DCT) • Beispiele DCT IDCT Resultat Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
Diskrete Cosinus Transformation (DCT) • Beispiele DCT IDCT Resultat Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
Diskrete Cosinus Transformation (DCT) • Beispiele DCT IDCT Resultat Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
Diskrete Cosinus Transformation (DCT) • Beispiele DCT IDCT Resultat Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
Diskrete Cosinus Transformation (DCT) • Beispiele DCT IDCT Resultat Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
Diskrete Cosinus Transformation (DCT) • Beispiele DCT IDCT Resultat Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
Quantisierung • DCT-Werte werden durch einen Wert aus der Quantisierungsmatrix geteilt und danach gerundet • Rückwärts muss der DCT-Wert nur mit dem Wert aus der Quantisierungsmatrix multipliziert werden • Hier entsteht Verlust! • Individuelle Einstellung der Q-Werte Möglich Quantisierungsmatrix Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
Quantisierung • Beispiel DCT Werte vor Quantisierung Quantisierungsmatrix DCT Werte nach Quantisierung Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
Serialisierung • Daten werden im Zick-Zack Muster serialisiert • Der DC Wert wird als Differenz zum DC-Wert des vorherigen 8x8 Blocks gespeichert • Der lineare Datenstrom kann danach noch Lauflängen codiert werden Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
Codierung Huffman-Codierung vs. Arithmetische Codierung • HC erstellt eine HuffmanCodeTabelle, Die mit übertragen werden muss • AC erzielt 5 – 10 % bessere Ergebnisse bei der Komprimierung • AC ist jedoch komplexer als HC und benötigt so mehr Rechenleistung • Für AC fallen in vielen Fällen Lizenzgebühren an JFIF benutzt Huffman-Codierung Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
Operationsmodi • Sequential Mode • Die Bilddaten werden sequentiell von links oben bis rechts unten codiert • beste Komprimierung & am einfachsten zu implementieren • Progressive Mode • Bilddaten werden in mehreren Durchgängen codiert • Koeffizienten mit den niedrigsten Frequenzen zuerst • Koeffizienten immer genauer • Hierarchical Mode • Bilder stehen in gröberen Auflösungen zur Verfügung • Bilder werden hierarchisch mit immer besser Auflösung geladen Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
Zusammenfassung Codierung – Decodierung Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
JFIF (JPEG File Interchange Format) • plattformunabhängig • YUV - Farbmodell • Besteht aus JPEG-Daten + Informationen zum Entpacken • Einzelne Teile werden durch Makierungen eingeleitet • Jede Makierung hat 2 Byte – das erste Byte ist immer FF – das Zweite immer größer 0 (0xFFD8) (0xFFE0) (0xFF**) (0xFFDA) (0xFFD9) Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
JFIF (JPEG File Interchange Format) SOI - Start Of Image (0xFFD8) Markiert den Anfang der Datei, vorhergehende Bits werden ignoriert APP0 - APPlication (0xFFE0) z.B. JFIF0 Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
JFIF (JPEG File Interchange Format) Optionale Beschreibungsblöcke DQT - Define Quantisation Table (0xFFDB) • Für jede Quantisierungstabelle muss ein eigener Eintrag gemacht werden • Die 4 Bit nach der Präzision bestimmen dann die Nummer des Eintrags Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
JFIF (JPEG File Interchange Format) Optionale Beschreibungsblöcke DHT - Define Huffman Table (0xFFC4) • Für jede Huffmantabelle muss ein eigener Eintrag gemacht werden • Zählwerte geben an, wieviele Codes mit i Bit vorkommen Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
JFIF (JPEG File Interchange Format) Optionale Beschreibungsblöcke SOF - Start Of Frame (0xFFC) • Rahmendaten über das Bild • Index in der Markierung ist eine Identifikation des Bildrahmens • Teilt unter anderem den Modus mit in dem codiert wird (Möglichkeiten: 1-3, 5-7, 9-11, 13-15) Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
JFIF (JPEG File Interchange Format) SOS - Start Of Scan (0xFFDA) • Hier beginnt der Bit-Strom Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
JFIF (JPEG File Interchange Format) EOI - End Of Image (0xFFD9) Markiert das Ende der Datei, nachfolgende Bits werden ignoriert Aufbau: • SOI • APP0 Länge, Kennung, ... • DQT Länge, Präzision, ... • SOF0 Länge, Genauigkeit, ... • DHT Länge, Index, ... • SOS Länge, Bitstrom, ... • EOI Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
JPEGs (JFIFs) erstellen • Variable Kompressionsstufen • Wird vom Programm bereit gestellt • Andere mögliche Optionen: • Feinere Kompressionsstufen • Vorschaubild • Progressive Mode (Mehrere Durchgänge) Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
JPEGs (JFIFs) erstellen Mit Vorschaubild und feineren Kompressionsstufen Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
Beispiele JPEG Vergleich Mittlere Kompression 13 KB Niedrige Kompression 11 KB Hohe Kompression 26 KB Doppelte Kompression 12 KB Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
Beispiele JPEG – GIF Vergleich JPEG (Hoch) 14 KB GIF (53 Farben) 11 KB Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
Beispiele JPEG – GIF Vergleich JPEG (Niedrig) 14 KB GIF (64) 13 KB JPEG (Hoch) 17 KB GIF (16) 9 KB Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
Beispiele JPEG – GIF Vergleich JPEG (Mittel) 6 KB GIF (256) 14 KB GIF (64) 8 KB Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
Beispiele JPEG – GIF Vergleich JPEG (Hoch) 26 KB GIF (256) 6 KB Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
Beispiele JPEG – GIF Vergleich JPEG (Niedrig) 7 KB JPEG (Mittel) 9 KB Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
Beispiele JPEG – GIF Vergleich JPEG (Niedrig) 7 KB JPEG (Mittel) 9 KB Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
Beispiele JPEG – GIF Vergleich Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
Beispiele JPEG – GIF Vergleich JPEG 15 KB GIF 23 KB JPEG 18 KB GIF 4 KB Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
Vergleich JPEG – GIF Vergleich Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
Beispiele JPEG – GIF – PNG Vergleich JPEG (Mittel) 26 KB GIF (256) 10 KB PNG 8 KB Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
Beispiele JPEG – GIF – PNG Vergleich JPEG (Mittel) 26 KB GIF (256) 10 KB PNG 8 KB Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
Beispiele JPEG – GIF – PNG Vergleich Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
JPEG 2000 – Ein Ausblick • Wavelets (Diskrete Wavelet Transformation) • 4 verschiedene Progressive Modes (Qualität, Auflösung, Position, Farbe) • Skalierte Quantisierung • Arithmetische Codierung • Unterteilt Bild nicht mehr in Blöcke keine Artefakte mehr • Automatische Fehlerkorrektur für Datenübertragung • Notwendigkeit für JPEG2000 besteht nicht unbedingt fraglich ob es sich durchsetzt Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
Wavelets – Ein Rückblick Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
Wavelets – Ein Rückblick Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
JPEG 2000 – Beispiele JPEG2000 – 16 KB JPEG – 16 KB Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
JPEG 2000 – Beispiele JPEG2000 – 16 KB JPEG – 16 KB Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin
JPEG 2000 – Beispiele JPEG – 1:10 JPEG – 1:20 Original JPEG2000 – 1:10 JPEG2000 – 1:20 Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin