Bildkompression
aus Wikipedia, der freien Enzyklopädie
Bildkompression beruht wie jede Anwendung der Datenkompression darauf, den ursprünglichen Datensatz entweder in eine vollständig rekonstruierbare Form zu ändern oder Daten zu entfernen, deren Verlust kaum wahrnehmbar ist. Es gibt sehr viele Formate für Bilddateien (Grafikformate), von denen aber viele veraltet sind und viele keine Kompression unterstützen, da sie Austauschformate für Grafikprogramme sind.
Inhaltsverzeichnis |
[Bearbeiten] Verlustfreie Kompression
Bei der verlustfreien Kompression geht keine Information verloren. Die Daten werden nur anders als vorher organisiert, indem bestimmte Redundanzen erkannt und zusammengefasst werden. Zum Beispiel können sich wiederholende Bitfolgen einmal in einem Wörterbuch abgelegt und dann nur noch durch ihre Nummer repräsentiert werden. Bekannte Verfahren sind die Lauflängenkodierung, LZW oder die Huffman-Codierung. Es können beliebige allgemeine Komprimierungsverfahren verwendet werden, die sich auch auf andere Arten von Daten wie Text anwenden lassen.
Das Grafikformat PNG verwendet als Komprimierungsmethode Deflate, eine Kombination aus LZ77 und Huffman-Codierung. Die gute Komprimierung von PNG erklärt sich durch die zusätzliche Anwendung von prädiktiver Kodierung (bei PNG auch „Vorfilter“ genannt). Dabei werden aus Erfahrungswerten die nächsten Farbwerte vorhergesagt und nur die Abweichungen der Vorhersage von den wirklichen Bildinformationen gespeichert.
Das Grafikformat GIF verwendet dagegen zur Kompression nur den LZW-Algorithmus und erreicht deshalb meistens keine so gute Komprimierung wie PNG. Außerdem kann es nur maximal 256 Farben pro Einzelbild anzeigen, dafür jedoch auch Animationen.
Ein guter Kompressionsfaktor lässt sich mit diesen Verfahren aber nur erzielen, wenn die Bilder günstig für diese Kompressionsalgorithmen sind. Das bedeutet, sie sollten möglichst große Flächen mit jeweils gleicher Farbe oder exakt gleichem Muster, bei PNG eventuell auch mit Farbverläufen, besitzen.
Auch Lossless JPEG und JPEG 2000 erlauben verlustfreie Komprimierung, letztere sogar von komplexeren Bildern mit noch recht guter Kompressionsrate.
[Bearbeiten] Verlustbehaftete Kompression
Bei der verlustbehafteten Kompression wird versucht, den Informationsverlust unmerklich oder wenigstens ästhetisch erträglich zu halten. Diese Methoden nutzen aus, dass kleine Farbänderungen für das Auge nicht sichtbar sind. Ähnlich wie bei der verlustbehafteten Audiokomprimierung basiert die Bildkomprimierung auf einem Modell der menschlichen Wahrnehmung. Der Komprimierungsalgorithmus soll bevorzugt die Bildinformationen entfernen, die über die Aufnahmefähigkeit der menschlichen Bildwahrnehmung hinausgehen. Das Wahrnehmungsmodell ist jedoch, im Gegensatz zur Audiokompression, nicht explizit formuliert und in die Algorithmen eingearbeitet, sondern mehr intuitiv.
[Bearbeiten] JPEG und JPEG 2000
Bei den JPEG-Verfahren wird das Bild mit Hilfe eines Systems von Basisfunktionen transformiert. Bei JPEG ist das die Diskrete Kosinustransformation, bei JPEG 2000 die Wavelet-Transformation. Auf diese Weise erhält man eine andere, äquivalente Repräsentation des Bilds, die aus den Koeffizienten zu diesen Basisfunktionen besteht. Bei JPEG sind das die Amplituden der so genannten Ortsfrequenzen, bei JPEG 2000 eine Art von Mittelwerten über 4, 16, 64, … Pixel. Diese Koeffizienten werden durch die so genannte Quantisierung, im Wesentlichen eine Form der Rundung, geändert. Kleine Koeffizienten verschwinden ganz und die größeren werden auf den nächstbesten Wert gesetzt. So lassen sie sich mit wesentlich weniger Bits darstellen. Schließlich wird noch eine verlustlose Datenkompression durchgeführt, die die nun leidlich zurechtsortierten Koeffizienten effizienter komprimieren kann als die ursprünglichen Bilddaten.
Das neuere JPEG 2000 konnte sich allerdings bisher nicht durchsetzen, da die nötigen Algorithmen für Digitalkameras und andere tragbare Geräte zu rechenaufwändig sind und rechtliche Unklarheiten bezüglich der Lizenzierung (Softwarepatente) bestehen.
Die größten visuellen Probleme (Kompressionsartefakte) bei übermäßiger JPEG-Kompression ist die Bildung sogenannter Blockartefakte, welche bei der Aufteilung des Bildes in kleine Blöcke entstehen, sowie Ringing, eine Konsequenz des ungünstigen Verhaltens der diskreten Kosinustransformation bei harten Farbübergängen.
[Bearbeiten] Fraktale Bildkompression
Eine weitere verlustbehaftete Methode, die sich aber bei Grafikformaten nicht in breitem Maße durchsetzen konnte, ist die Fraktale Bildkompression. Sie basiert auf der Erkenntnis der Chaostheorie, dass fast jedes Bild Selbstähnlichkeit aufweist. Hierbei werden zu Gruppen von Bildpunkten einer gewissen Größenordnung (z. B. 8×8 Punkte) ähnliche Gruppen der nächstkleineren Größenordnung (4×4 Punkte) im selben Bild gesucht. Gespeichert werden dann statt der tatsächlichen Gruppen nur die Position der ähnlichen Referenzgruppen, welche weniger Bilddaten aufweisen. Dieses Verfahren entspricht im wesentlichen einem Codebook-Verfahren, mit dem Unterschied, dass das Codebook nicht separat gespeichert werden muss, sondern im selben Bild vorhanden ist. Da die Suche nach ähnlichen Gruppen gebenebenfalls recht aufwändig sein kann, werden hierbei neuronale Netze eingesetzt. Die Dekodierung ist jedoch nicht aufwändiger als bei herkömmlichen Verfahren.
[Bearbeiten] Kompressionsverfahren im Vergleich
Die verbreiteten Formate weisen Vor- und Nachteile auf und eignen sich daher für den jeweiligen Zweck mehr oder weniger gut. Computergrafiken, die harte Kanten enthalten – etwa einfache Grafiken oder Screenshots – speichert man am besten als PNG, wie folgender Vergleich zeigt:
PNG: 1007 Byte |
Es ist deutlich zu sehen, dass JPEG trotz der hohen Dateigröße starke Artefakte bildet. PNG komprimiert hier wesentlich besser als GIF und gibt das Bild dennoch originalgetreu wieder.
Bei Fotografien und ähnlichen nichtgrafischen Bildern ist JPEG unter den verbreiteten Formaten die erste Wahl, wenn Speicherplatz eine Rolle spielt. Verlustfreie Formate wie PNG eignen sich in der Regel nicht für Fotografien, da sie erheblich größere Dateien produzieren. Bei GIF kommt noch die Beschränkung auf 256 Farben je Einzelbild hinzu.
Im professionellen Bereich (z. B. in der Druckvorstufe) finden meist verlustfreie Formate oder Vektorgrafiken Verwendung, da dort die Möglichkeit der mehrmaligen Bearbeitung wichtiger als der Speicherverbrauch ist; außerdem ist die Bildqualität besser als bei JPEG. Hier wird in der Regel TIFF verwendet, weil es auch das in Druckereien benutzte CMYK-Farbmodell unterstützt. Verlustfreie Rohdatenformate bieten außerdem die größten Möglichkeiten und beste Qualität für Fotografien. Es gibt aber auch „Mischformate“ wie JPEG 2000, bei denen verlustfreie und verlustbehaftete Komprimierung kombiniert werden können.
Die wichtigsten und am besten unterstützten Grafikformate für Animationen sind GIF, Flash und Shockwave.
[Bearbeiten] Siehe auch
[Bearbeiten] Weblinks
- Compression FAQ – Häufig gestellte Fragen zur Datenkompression
- Übersichtsartikel zur verlustlosen Bildkompression