Bildkompression
Bildkompression ist die Reduzierung desSpeicherbedarfs einesdigitalen Bilds. Wie bei jeder Anwendung derDatenkompression geht es darum, die ursprünglichen Daten entweder in eine vollständig rekonstruierbare Form zu überführen oder Daten zu entfernen, deren Verlust kaum wahrnehmbar ist. Es gibt sehr viele Formate fürBilddateien (Grafikformate), von denen aber viele veraltet sind und viele keine Kompression unterstützen, da sie Formate zum Austausch unter Grafikprogrammen sind.
Verlustfreie Kompression
[Bearbeiten |Quelltext bearbeiten]Bei derverlustfreien Kompression geht keine Information verloren. Die Daten werden anders als vorher dargestellt, indem bestimmteRedundanzen erkannt und entfernt 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 dieLauflängenkodierung,LZW oder dieHuffman-Kodierung. Es können beliebige allgemeineKompressionsverfahren verwendet werden, die sich auch auf andere Arten von Daten wie Text anwenden lassen.
EineTextdatei oder einComputerprogramm kann ohne Fehler komprimiert werden, jedoch nur bis zu einem gewissen Grad. Dies wird alsverlustfreie Kompression bezeichnet. Bei stärkererDatenkompression gehenInformationen verloren. In Textdateien undProgrammdateien ist es entscheidend, dass die Kompression verlustfrei ist, da ein einzelner Fehler die Bedeutung einer Textdatei ernsthaft beschädigen oder dazu führen kann, dass ein Programm nicht ausgeführt wird. Bei der Bildkompression ist ein kleiner Qualitätsverlust normalerweise nicht erkennbar. Es gibt keinen kritischen Punkt, bis zu dem die Kompression einwandfrei funktioniert, aber darüber hinaus wird sie unmöglich. Wenn eine gewisse Verlusttoleranz besteht, kann der Kompressionsfaktor größer sein als wenn keine Verlusttoleranz vorliegt. Aus diesem Grund könnenGrafiken stärker komprimiert werden als Textdateien oderProgramme.[1]
Zu den verlustfreien Bildtypen gehören:
- Portable Network Graphics (PNG) komprimiert Bilder, um ihre geringe Größe zu erhalten, indem nach Mustern auf einem Foto gesucht und diese zusammen komprimiert werden. DieKompression ist umkehrbar. Sobald eine PNG-Datei geöffnet wird, wird das Bild genau wiederhergestellt. Das Grafikformat PNG verwendet als KomprimierungsmethodeDeflate, eine Kombination ausLZ77 undHuffman-Kodierung. Die gute Komprimierung von PNG erklärt sich durch die zusätzliche Anwendung vonprä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.[2]
- DasGrafikformatGIF verwendet dagegen zurKompression nur denLempel-Ziv-Welch-Algorithmus und erreicht deshalb meistens keine so gute Kompression wie PNG. Außerdem kann es nur maximal 256 Farben pro Einzelbild anzeigen, dafür jedoch auchAnimationen. Bei GIF sind die Farbinformationen in einerFarbtabelle abgelegt. Diese kann bis zu 256 verschiedene Einträge enthalten, die frei aus 2563 ≈ 16,7 Millionen möglichen Farbwerten auswählbar sind. Für einfacheZeichnungen, Schwarz-Weiß-Fotografien sind 256 Farben oder Graustufen in der Regel auch heute noch ausreichend. Komplexere Bilder wie Farbfotos oder Zeichnungen mit umfangreichen Farbverläufen müssen demzufolge vor der Speicherung auf 256 Farben oder weniger reduziert werden (Farbquantisierung). Die so entstandenen Farbstufen oderDithering-Effekte sind besonders bei großen Bildern störend sichtbar.[3]
- Windows Bitmap (BMP) ist ein Format, das ausschließlichMicrosoft zur Verfügung steht. Es ist verlustfrei, wird aber nicht häufig verwendet. Windows-Bitmaps erlaubenFarbtiefen von 1, 4, 8, 16, 24 oder 32 bpp (Bits proPixel), wobei bei 16 und 32bpp nicht alleBits tatsächlich genutzt werden müssen.
- RAW – In vielen digitalenSpiegelreflexkameras enthalten und speichert alle vomKamerasensor empfangenen Lichtdaten. Diese Dateitypen sind in der Regel recht groß. Darüber hinaus gibt es verschiedene Versionen von RAW, und man benötigt möglicherweise bestimmteSoftware, um die Bilddateien zu bearbeiten.
- JPEG XL – Dieses neue Bildformat bietet sowohl die verlustfreie als auch die verlustbehaftete Kompression an. Bei einer Studie 2021 erzielte JPEG XL für die Bitrate bei verlustloser Kompression deutlich bessere Werte als die meisten anderen Verfahren.[4]
Ein guter Kompressionsfaktor lässt sich mit diesen Verfahren aber nur erzielen, wenn die Bilder günstig für dieseKompressionsalgorithmen sind. Das bedeutet, sie sollten möglichst große Flächen mit jeweils gleicher Farbe oder exakt gleichem Muster, beiPNG eventuell auch mit Farbverläufen, besitzen.
AuchLossless JPEG, JPEG 2000,JPEG XR,HEIF,AVIF undWebP erlauben verlustfreie Komprimierung, letzteres erzielte in oben genannter Studie ebenfalls eine guteKompressionsrate.
Durch das Zurückkonvertieren eines Bilds von einem verlustbehaftetenGrafikformat in ein verlustfreies Grafikformat können die ursprünglichen Bilddaten nicht wiederhergestellt werden.[5]
Verlustbehaftete Kompression
[Bearbeiten |Quelltext bearbeiten]Bei derverlustbehafteten 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.
JPEG und Nachfolger
[Bearbeiten |Quelltext bearbeiten]
Bei denJPEG-Verfahren wird das Bild mit Hilfe eines Systems vonBasisfunktionen transformiert. Bei JPEG ist das dieDiskrete Kosinustransformation, beiJPEG 2000 dieWavelet-Transformation. Auf diese Weise erhält man eine andere, äquivalente Repräsentation des Bildes, die aus den Koeffizienten zu diesen Basisfunktionen besteht. Bei JPEG sind das die Amplituden der so genanntenOrtsfrequenzen, bei JPEG 2000 eine Art von Mittelwerten über 4, 16, 64, … Pixel. Diese Koeffizienten werden durch dieQuantisierung geändert. Kleine Koeffizienten verschwinden ganz und die größeren werden auf den nächstbesten Wert gesetzt. So lassen sie sich mit weniger Bits darstellen. Schließlich wird noch eine verlustlose Datenkompression durchgeführt.
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. Ein ähnliches Schicksal ereilte auch das nächste Verfahren JPEG XR. Bei JPEG XL setzte man dann konsequent auf eine quelloffene Entwicklung und Anpassungsmöglichkeiten für den Berechnungsaufwand beim Encoding.[6][7]
Die größten visuellen Probleme (Kompressionsartefakte) bei übermäßigerJPEG-Kompression bereitet die Bildung sogenannterBlockartefakte, welche bei der Aufteilung des Bildes in kleine Blöcke entstehen, sowieRinging, eine Konsequenz des ungünstigen Verhaltens derdiskreten Kosinustransformation bei harten Farbübergängen. Bei JPEG XL sollen zwei Filter für die Reduzierung von Blockartefakten sorgen.[8][9][10]
Weitere Formate
[Bearbeiten |Quelltext bearbeiten]Weitere wichtige Formate mit verlustbehafteter Kompression sindHEIF, AVIF und WebP. Diese verwenden jeweils fürVideocodecs entwickelte Methoden erneut für die Kodierung von Standbildern, wodurch ihre Entwicklung besonders effizient wurde.
Fraktale Bildkompression
[Bearbeiten |Quelltext bearbeiten]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 derChaostheorie, dass fast jedes BildSelbstähnlichkeit aufweist. Hierbei werden zu Gruppen vonBildpunkten 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 einemCodebook-Verfahren, mit dem Unterschied, dass das Codebook nicht separat gespeichert werden muss, sondern im selben Bild vorhanden ist. Da die Suche nach ähnlichen Gruppen gegebenenfalls recht aufwändig sein kann, werden hierbeineuronale Netze eingesetzt. DieDekodierung ist jedoch nicht aufwändiger als bei herkömmlichen Verfahren.
Kompressionsverfahren im Vergleich
[Bearbeiten |Quelltext bearbeiten]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 oderScreenshots – können durch verlustfreie Verfahren meist besser komprimiert werden, wie folgender Vergleich zeigt:
- PNG: 1007Byte
- GIF: 1847 Byte
- JPEG: 4273 Byte
- WebP lossless: 908 Byte
Es ist deutlich zu sehen, dass JPEG trotz der großen Dateigröße sichtbareArtefakte bildet. PNG komprimiert hier wesentlich besser alsGIF und gibt das Bild dennoch originalgetreu wieder. Die Kompression lässt sich unter Verwendung von JPEG XL mit verlustloser Kompression noch steigern:

Eine fast artefaktfreie Darstellung mitverlustbehafteter Kompression lässt sich aber auch mit dem neuen Format AVIF und mittleren Qualitätseinstellungen erzielen:

Bei Fotografien und ähnlichen nichtgrafischen Bildern ist bisher JPEG unter den verbreiteten Formaten die erste Wahl, wenn derSpeicherbedarf eine Rolle spielt. Neuere Geräte wie Smartphones setzen inzwischen teilweise auf HEIF. 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 derDruckvorstufe) finden meist verlustfreie Formate oderVektorgrafiken 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 RegelTIFF verwendet, weil es auch das in Druckereien benutzteCMYK-Farbmodell unterstützt. VerlustfreieRohdatenformate 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.
Für Animationen wurde bisher gerne die FormateGIF undSVG verwendet, aber die meisten neueren Verfahren (wie WebP, JPEG XL und AVIF) unterstützen ebenfalls Animationen.
Beim Vergleich von Kompressionsverfahren muss ferner der Berechnungsaufwand für die Kompression betrachtet werden. Durch immer hochaufösendere Bildsensoren steigt auch die Anzahl der für die Kompression benötigten Rechenoperationen. Dieses ist von Bedeutung, weil auch ein Energieaufwand hierdurch entsteht, eventuell auf einem mobilen Gerät zu Lasten eines Akkus. Aber auch auf stationären Geräten wie Internetservern kann der Kompressionsvorgang zu einer unbequemen Wartezeit für den Benutzer führen oder durch intensive Auslastung mehrerer CPU-Kerne andere Aktivitäten auf demselben Gerät verzögern. Die meisten neueren Verfahren (wie WebP, JPEG XL und AVIF) bieten daher Möglichkeiten an, unter Inkaufnahme einer niedrigeren Kompressionsrate den Berechnungsaufwand erheblich zu reduzieren.
Siehe auch
[Bearbeiten |Quelltext bearbeiten]Literatur
[Bearbeiten |Quelltext bearbeiten]- Tilo Strutz:Bilddatenkompression. 5. Auflage. Springer Vieweg, Wiesbaden 2017,ISBN 978-3-8348-1427-2.
Weblinks
[Bearbeiten |Quelltext bearbeiten]- Compression FAQ – Häufig gestellte Fragen zur Datenkompression
- Übersichtsartikel zur verlustlosen Bildkompression (PDF; 1,24 MB)
Einzelnachweise
[Bearbeiten |Quelltext bearbeiten]- ↑TechTarget:image compression
- ↑TechTerms:PNG Definition
- ↑TechTerms:GIF Definition
- ↑Comparison of Lossless Image Formats: Comparison of Lossless Image Formats. Centre of Excellence IT4InnovationsFaculty of Information TechnologyBrno University of Technology, 25. Juni 2021, abgerufen am 6. August 2024.
- ↑KeyCDN:What Is Image Compression?
- ↑libjxl/LICENSE at main · libjxl/libjxl. Abgerufen am 21. September 2024 (englisch).
- ↑libjxl/doc/encode_effort.md at main · libjxl/libjxl. Abgerufen am 21. September 2024 (englisch).
- ↑libjxl/doc/xl_overview.md at main · libjxl/libjxl. Abgerufen am 25. September 2024 (englisch).
- ↑jonsneyers: Updated white paper on JPEG XL. In: r/jpegxl. 28. Januar 2021, abgerufen am 3. Oktober 2024.
- ↑Jyrki Alakuijala – Google, SwitzerlandJon Sneyers – Cloudinary, BelgiumLuca Versari – Google, SwitzerlandJan Wassenberg – Google, Switzerland:JPEG White Paper:JPEG XL Image Coding System. Hrsg.: ISO/IEC JTC 1/SC 29/WG1.