Eines der wichtigsten und am häufigsten verwendeten Formate für Bilddateien ist JPEG. Aus dem digitalen Alltag kaum mehr wegzudenken, ist es doch viel mehr als nur eine reine Dateierweiterung. Was also verbirgt sich genau hinter dem Grafikformat?
Wie funktioniert die JPEG Komprimierung und welche Vor- und Nachteile bietet sie?
Diesen Fragen wollen wir in diesem Artikel beantworten.
Ein kleiner Ausflug in die Informationstheorie
Redet man über Daten und deren Komprimierung, ist es wichtig, sich den Unterschied zwischen Daten und Information zu verdeutlichen. Ganz allgemein kann man Daten als „Bausteine“ der Information sehen. Daten können Informationen enthalten, aber ohne eine Vereinbarung, wie die Daten zu interpretieren sind, kann die Information nicht gewonnen werden. Ein Satz ist zum Beispiel eine Ansammlung von Daten (Buchstaben). Erst die Vereinbarung der Interpretation (eine bestimmte Sprache) erlaubt es, Informationen aus den Daten zu erlangen. Wichtig hierbei ist: Die Menge der Daten sagt nichts über die Menge der Informationen aus, einzig alleine entscheidend ist ihre Interpretation.
In der Informatik kennt man unterschiedlichste Komprimierungsverfahren. Ihr Zweck ist es, Datenmengen möglichst ohne Verlust an Informationen zu reduzieren. (Grundsätzlich unterscheidet man zwischen verlustfreien und verlustbehafteten Komprimierungsverfahren).
Bei der verlustfreien Komprimierung macht man sich die in Daten häufig vorkommenden Redundanzen (d.h. wiederkehrende Datenfolgen mit gleichem Informationsgehalt) zunutze. Gleiche Informationen werden zusammengefasst und reduzieren so die Datenmenge.
Besonders anschaulich ist dies bei Texten:
Ausgangstext: | Blaukraut | bleibt | Blaukraut | und | Brautkleid | bleibt | Brautkleid | -> (53 Zeichen) |
Komprimierter Text: | Blaukraut | bleibt | 1 | und | Brautkleid | 2 | 5 | -> (31 Zeichen) |
In diesem einfachen Beispiel wurden wiederkehrende Worte durch Ihre Position im Ausgangstext kodiert. Jedes Wort kommt ausgeschrieben nur einmal vor. Die Dekomprimierung erfolgt verlustfrei durch schrittweises Ersetzen der Positionskodierung mit den ausgeschriebenen Wörtern an der entsprechenden Position im komprimierten Text. In diesem Beispiel wurde eine Reduzierung der Datenmenge von 53 Zeichen auf 31 erreicht.
Im Gegensatz dazu nutzen verlustbehaftete Komprimierungsverfahren die Tatsache aus, dass nicht alle Informationen die gleiche Relevanz (d.h.: Wichtigkeit in Bezug auf den gesamten Informationsgehalt) haben. Diese „unwichtigen“ Informationen werden gezielt entfernt, um die Datenmenge zu reduzieren. Da aber hierbei Information verloren geht, ist die Komprimierung verlustbehaftet und eine vollständige Rekonstruktion der ursprünglichen Information nicht möglich. Verlustbehaftete Komprimierungsverfahren lassen sich besonders gut für Ton, Bild und Filmdaten einsetzen. So ist zum Beispiel das menschliche Gehör im Frequenzbereich und der Dynamik begrenzt. Sehr hohe Töne (>20 KHz) können wir gar nicht hören, sehr leise Nebentöne oder geringe Lautstärkeunterschiede nehmen wir kaum wahr.
Ähnliches gilt für die optische Wahrnehmung. Farbunterschiede können wir deutlich schlechter wahrnehmen als Helligkeitsunterschiede. Das menschliche Auge ist darauf optimiert, Kanten und Konturen zu erkennen, und wir nehmen einen scharfen Umriss viel deutlicher wahr als feine Strukturen. Was die Evolution als Überlebensstrategie entwickelt hat (Stichwort: Schatten eines Raubtiers im Dschungel) nutzt die Informatik zur Komprimierung von Bild und Filmdaten.
Wie funktioniert die JPEG Komprimierung?
Das JPEG Komprimierungsverfahren ist eine Mischung aus verlustbehafteter und verlustfreier Komprimierung und wurde speziell für natürliche Bilddaten entwickelt. Die Problematik bei natürlichen Bildern wie Landschafts- oder Porträtaufnahmen ist der hohe Informationsgehalt. Unregelmäßige Muster, feine Konturen, komplexe Farb- und Helligkeitsverläufe enthalten nur sehr wenige Redundanzen und sind daher ungeeignet für verlustfreie Komprimierungsverfahren.
Die Idee des JPEG Verfahrens ist es, zuerst den Informationsgehalt durch Weglassen „unwichtiger“ Informationen zu reduzieren, um im Anschluss die verbleibenden Daten mit einer verlustfreien Komprimierung optimal zu reduzieren.
Der gesamte JPEG Komprimierungsvorgang besteht aus 4 Schritten:
- Umwandlung der RGB Farbwerte in das YUV-Farbmodel
Im ersten Schritt werden die als RGB Farbwerte vorliegenden Bilddaten in das YUV-Farbmodel konvertiert. In diesem Schritt wird die oben beschriebene Tatsache ausgenutzt, dass das menschliche Auge Helligkeitsunterschiede besser wahrnehmen kann als Farbunterschiede. Im YUV-Farbmodel werden Farbinformationen als Luminanz (Helligkeit) Y und Chrominanz (Farbanteil) U, V beschrieben. Durch die Aufteilung der Informationen in Helligkeit und Farbe wird eine getrennte Komprimierung mit unterschiedlicher Gewichtung der Helligkeitsinformation und des Farbanteils möglich. Abgesehen von Rundungsfehlern ist dieser Schritt nicht verlustbehaftet. Optional kann schon in diesem Schritt zur Datenreduktion der Farbkanal in einer geringeren Auflösung gespeichert werden, dann natürlich verlustbehaftet.Original (RGB) Y-Helligkeit U–Blaudifferenz V-Rotdifferenz - Umwandlung der Bilddaten von Punktinformationen (Koordinaten und Farbwert) in Frequenzinformationen (Frequenzen und Amplituden).
Im nächsten Schritt wird eine weitere Trennung von wichtigen und unwichtigen Informationen vorgenommen. Hier wird der Tatsache Rechnung getragen, dass unsere Wahrnehmung auf das Erkennen von Kanten und Konturen optimiert ist. Scharfe Konturen und Kanten nehmen wir besser wahr als feine Muster und Strukturen. Betrachtet man nur die Farb- und Helligkeitsunterschiede der benachbarten Bildpunkte, kann man diese Veränderungen auch als Kurven unterschiedlicher Frequenz und Amplitude beschreiben. Wegen der Abhängigkeit benachbarter Punkte spricht man hier auch von Ortsfrequenz.
Was sich im ersten Moment etwas seltsam anhört, ist eigentlich nur eine andere Interpretation der Bildinformationen.Folgende Abbildung versucht dies vereinfacht darzustellen:Stellt man sich eine horizontale Linie vor, an der das Bild geschnitten und die Ortsfrequenzen der Farbwerte ermittelt wurden, würden sich in etwa die drei dargestellten Kurvenverläufe ergeben:
• Kurve 1: stellt die sich nicht ändernde Hintergrundfarbe als Kurve mit der Frequenz 0 und einem festen Wert dar. • Kurve 2: hat eine niedrige Frequenz und entspricht dem schwarzen Kreis. • Kurve 3: hat eine hohe Frequenz und entspricht der feinen Schraffierung. Die hohen Frequenzen entsprechen also den feinen Strukturen und Mustern, die schlechter wahrgenommen werden und somit „unwichtigere“ Informationen darstellen.
Bei der JPEG Komprimierung werden jeweils 8×8 Pixel Blöcke mit Hilfe der Diskreten Cosinus Transformation in 64 Koeffizienten der Ortsfrequenzen umgewandelt. Jeder der 64 Werte entspricht somit einer anderen Frequenz mit unterschiedlicher „Wichtigkeit“ in Bezug auf den Informationsgehalt.
- Quantifizierung der Koeffizienten der OrtsfrequenzenDieser Schritt ist der eigentlich verlustbehaftete Komprimierungsschritt. Die ermittelten Koeffizienten der Ortsfrequenzen werden nun quantifiziert (gerundet). Dabei werden Werte hoher Frequenzen stärker gerundet als Werte niedriger Frequenzen. Die Qualitätseinstellung, die beim Speichern eine JPEG Datei angegeben werden kann, wirkt direkt auf diesen Schritt. Eine Qualität von 100% bedeutet, dass keine Rundung der Werte durchgeführt wird. Je niedriger die Qualitätseinstellung umso stärker wird gerundet, wobei hohe Frequenzen stärker quantifiziert werden als niedrige. Bei einer Qualität von 0 % werden alle Werte auf den Wert der Hintergrundfarbe eines 8×8 Pixel Blocks gesetzt. Es ist die Quantifizierung, die für die ungeliebte “Blockbildung” bei niedrigen JPEG Qualitätseinstellungen verantwortlich ist.
Theoretisch ist dieser Schritt bei einer Qualitätsstufe von 100% verlustfrei. Da aber bei der Berechnung der Koeffizienten immer Ungenauigkeiten auftreten, ist auch die höchste Qualitätsstufe verlustbehaftet.
- Verlustfreie Komprimierung der DatenIm letzten Schritt werden die in Schritt 1-3 informationsreduzierten Bilddaten verlustfrei komprimiert. Aufgrund der Informationsreduzierung ist die Redundanz in den Daten nun deutlich höher und es können sehr hohe Komprimierungsraten erzielt werden.
Bei der Dekomprimierung werden die Schritte in umgekehrter Reihenfolge durchlaufen, wobei natürlich die in der Informationsreduzierung entfernten Informationen nicht mehr rekonstruiert werden können.
Zusammenfassung
Aufgrund der Kombination der beiden Verfahren lassen sich mit JPEG erstaunliche Komprimierungsraten erzielen. Schon bei der höchsten Qualitätsstufe reduziert sich die Dateigröße erheblich ohne sichtbaren Qualitätsverlust. Erst bei Qualitätsstufen unter 80 % wird die Qualität sichtbar schlechter.
Tipps zum Arbeiten mit JPEG
- Eine einmal beim Speichern durchgeführte Qualitätsreduzierung lässt sich nicht mehr rückgängig machen. Die Bildinformationen gehen unwiderruflich verloren. Ein erneutes Abspeichern mit 100% Qualität wirkt nur auf die schon reduzierten Bildinformationen und kann verlorene nicht wieder herstellen.
- Der Bildinhalt ist entscheidend für den erzielbaren Komprimierungsfaktor. Natürliche Farbbilder eignen sich deutlich besser für die JPEG Komprimierung als Schwarzweiß- Bilder mit harten Übergängen (Diagramme, Texte, Folien, Screenshots usw.). Je nach Bildart sollte das optimale Grafikformat ausgewählt werden (Unsere Tabelle am Ende es Blogbeitrags “Welches Grafikformat ist am besten?” hilft Ihnen dabei)
- Bei 100 % Qualitätseinstellung ist der wirkliche Verlust an Bildinformation sehr gering. Nicht vermeidbare Rundungsfehler bei der Durchführung der Komprimierung führen immer zu Informationsverlust und Rauschen. Visuell ist dies jedoch auch nach bis zu 50-maligem Speichern nicht wahrnehmbar (Praxistest folgt).
- Bei der Einstellung der Qualitätsstufe sollte man zwischen benötigter Qualität und Größe je nach Einsatzzweck abwägen. Jedoch sollte man die Qualitätsstufe erst ganz am Ende des Bearbeitungsprozesses reduzieren, um unnötige Qualitätsverluste zu vermeiden.
- Ansonsten lässt sich das JPEG Format aber durchaus im Bearbeitungsprozess einsetzen. Besonders wenn Bilddaten in unterschiedlichen Bearbeitungsstufen über das Internet übertragen werden müssen, ist die geringe Dateigröße ein enormer Vorteil und spart Bandbreite, Zeit und Nerven.