1 / 55

JPEG / JFIF

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

teenie
Télécharger la présentation

JPEG / JFIF

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. JPEG / JFIF Ein Referat von Robert Becker

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. Diskrete Cosinus Transformation (DCT) • Beispiele DCT IDCT Resultat Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin

  12. Diskrete Cosinus Transformation (DCT) • Beispiele DCT IDCT Resultat Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin

  13. Diskrete Cosinus Transformation (DCT) • Beispiele DCT IDCT Resultat Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin

  14. Diskrete Cosinus Transformation (DCT) • Beispiele DCT IDCT Resultat Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin

  15. Diskrete Cosinus Transformation (DCT) • Beispiele DCT IDCT Resultat Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin

  16. Diskrete Cosinus Transformation (DCT) • Beispiele DCT IDCT Resultat Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin

  17. 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

  18. Quantisierung • Beispiel DCT Werte vor Quantisierung Quantisierungsmatrix DCT Werte nach Quantisierung Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin

  19. 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

  20. 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

  21. 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

  22. Zusammenfassung Codierung – Decodierung Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin

  23. 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

  24. 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

  25. 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

  26. 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

  27. 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

  28. 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

  29. 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

  30. 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

  31. JPEGs (JFIFs) erstellen Mit Vorschaubild und feineren Kompressionsstufen Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin

  32. 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

  33. 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

  34. 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

  35. 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

  36. Beispiele JPEG – GIF Vergleich JPEG (Hoch) 26 KB GIF (256) 6 KB Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin

  37. Beispiele JPEG – GIF Vergleich JPEG (Niedrig) 7 KB JPEG (Mittel) 9 KB Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin

  38. Beispiele JPEG – GIF Vergleich JPEG (Niedrig) 7 KB JPEG (Mittel) 9 KB Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin

  39. Beispiele JPEG – GIF Vergleich Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin

  40. 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

  41. Vergleich JPEG – GIF Vergleich Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin

  42. 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

  43. 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

  44. Beispiele JPEG – GIF – PNG Vergleich Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin

  45. 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

  46. Wavelets – Ein Rückblick Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin

  47. Wavelets – Ein Rückblick Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin

  48. JPEG 2000 – Beispiele JPEG2000 – 16 KB JPEG – 16 KB Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin

  49. JPEG 2000 – Beispiele JPEG2000 – 16 KB JPEG – 16 KB Robert Becker – Vortrag: JPEG – Seminar Multimediadatenformate – WS 02/03 – Informatik FU Berlin

  50. 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

More Related