Home > Schule > Graphik > Bildtechnik > Kompression von Graphikdateien

Kompression von Graphikdateien

Kompression bedeutet die Verringerung des Speicherbedars von Dateien. Eine Datei belegt Speicher auf einer Festplatte, Diskette oder CD-ROM. Bei der Anzeige auf dem Bildschirm belegt sie Arbeitsspeicher. Bei der Übertragung im Netzwerk oder im Internet beansprucht sie Übertragungskapazität. Je größer eine Datei, um so mehr Speicher und Übertragungskapazität benötigt sie, und die Ladezeiten werden länger. Als Faustregel lässt sich also formulieren: Je kleiner Dateien sind, umso besser ist es für Lade- und Übertragungszeiten.

Kompressionverfahren

Ziel aller Kompressionsverfahren ist es, die in der Datei enthaltenen Informationen mit geringerem Platzbedarf zu speichern. Man unterscheidet zwei grundlegende Ansätze:

Verlustfreie Kompression

Die Kompression soll auf eine Art und Weise erfolgen, dass keinerlei in der Datei enthaltene Information verloren geht.

Lauflängenkodierung (RLE = Run Length Encoding)

Beispiel

Die Zeichenfolge AAAAA in einer Datei kann verkürzt als 5A dargestellt werden. In einer Graphik bedeutat das, dass die Information über Pixel gleicher Farbwerte zusammen gespeichert wird. Bei großen Bildern ist die Wahrscheinlichkeit gleicher benachbarter Pixel auch relativ groß.

LZW-Kompression

Natürlich gibt es kompliziertere Zeichenfolgen wie ABABACAB - dann suchen Kompressionvefahren nach wiederkehrenden Mustern in einem bestimmten Bereich der Datei. Im Beispiel wäre das 2AB1AC1AB, was im ersten Moment nicht kürzer aussieht, es werden aber dennoch nur die zwei Muster AB und AC und ihre Anzahl und Position gespeichert. Dieses Verfahren heißt nach seinen Entwicklern, den Amerikanern Lempel, Ziv und Welch, LZW-Kompression.

Die Huffman-Kodierung

Ein weiterer Ansatz zur Kompression beruht auf der Idee des französischen Mathematikers Huffman. Die Idee ist, den am häufigsten auftretenden Wert in der Datei durch den kürzesten Binärwert zu ersetzen, den zweithäufigsten durch den zweitkürzesten usw. Die erreichten Kompressionsergebnisse sind bemerkenswert, der Vorgang aber mathematisch aufwendig, sofern man nicht weiß, was für häufige Werte bzw. Muster gesucht werden.

 

Die einfachen Beispiel sollen zeigen, dass Kompression ein komplexer und mathematisch komplizierter Prozess ist. Und der Kompression sind Grenzen gesetzt: Wenn eine Datei wenig wiederkehrende Muster enthält, kann man beim besten Willen nicht viel komprimieren.

Bei einfach aufgebauten Graphiken wie Logos, Bannern, Comiczeichnungen usw. werden also höhere Kompressionsstufen erreicht werden als bei Fotos.

Verlustbehaftete Kompression

Bei dieser Art der Kompression wird der Verlust von Informationen in Kauf genommen, um geringere Dateigrößen zu erreichen. Der Vorgang ist irreversibel, d.h. die Informationen können nicht wiederhergestellt werden. Eine Kopie des Originals an sicherem Ort ist also immer zu empfehlen.

Beispiel, stark vereinfacht:

Von den Informationen zu einem bestimmten Pixelblock einer Graphik - z. B. 2x2 Pixel - wird ein Mittelwert gebildet. Als Folge liegen 4 identische Pixel vor, was die zu speichernde Informationsmenge verändert.

Detaillierte Informationen zur JPEG-Kompression und zu den anderen Verfahren findenSie unter Universität Karlsruhe.

Die folgenden Beispielbilder verdeutlichen den Verlust von Information und Qualität (100%, 20%, 10% und 5%). Das Ausgangsbild im BMP-Format ist etwa 140 KB groß:

Spinne - JPG-Format, 100 % Qualität, 46,5 KB
Spinne: JPG, 100 % Qualität, 46,5 KB
Spinne - JPG-Format, 20 % Qualität, 36,4 KB
Spinne: JPG, 20 % Qualität, 36,4 KB
Spinne - JPG-Format, 10 % Qualität, 33,7 KB
Spinne: JPG, 10 % Qualität, 33,7 KB
Spinne - JPG-Format, 5 % Qualität, 29,8 KB
Spinne: JPG, 5 % Qualität, 29,8 KB

Die Folgen sind deutlich zu sehen: Immer größere Pixelblöcke werden zusammengerechnet und als Vierecke mit gleichen Farbeigenschaften sichtbar. Sanfte Farbübergänge verschwinden, da Farben über die Mittelwertbildung herausgerechnet werden. So besteht das mit 5 % Qulität gespeicherte Bild aus 8.270 Farben, während das Original aus 11.209 Farben besteht - beim Komprimieren sind also fast 3.000 Farben "weggerechnet" worden.

Bei hohen Kompressionsstufen sind zwar deutliche Artefakte erkennbar, aber diese Kompressionsart eignet sich dennoch besonders gut Fotos, da Fotos häufig keine wiederkehrenden Muster aufweisen, die sich anders komprimieren ließen.

Anzahl der Farben einer Graphik und Speicherbedarf

Eine weitere Möglichkeit, den Speicherbedarf von Graphikdateien zu verringern, ist die Speicherung indizieter Farbtabellen - die Farbtabelle enthält nur die in der Graphik tatsächlich enthaltenen Farben. Hierbei können ähnliche Farbtöne "zusammengerechnet" werden. Die schon bekannte Spinne ist im GIF-Format mit 256 Farben nur 22.5 KB groß und sieht so aus:

Spinne, GIF-Format, 22,2 KB, 256 indizierte Farben
Spinne, GIF-Format, 22,2 KB, 256 indizierte Farben

Die Auswirkungen der Verwendung indizierter Farben ist beeindruckend. Verwendet man hingegen die 256-Farben-Standardpalette, so sieht das Ergebnis so aus:

Spinne, GIF-Format, 18,5 KB, 256 Standardfarben
Spinne, GIF-Format, 18,5 KB, 256 Standardfarben

Die Anpassung an die Standardfarben führt zu deutlichen Qualitätsverlusten.