Wichtige Algorithmen für Kompression

RLE - Runlength-Endcoding
RLE (zu Deutsch Lauflängen-Kodierung) ist ein sehr einfaches Verfahren zur Datenkompression - Passagen mit sich wiederholenden identische Zeichen werden zusammengefasst und durch die Anzahl der gleichen Zeichen ersetzt (z.B. 4A statt AAAA).
Die Dekodierung erfolgt eben so einfach und vollkommen verlustfrei indem die Folge wieder ausgeschrieben wird.
Besonders geeignet ist dieses Kompressionsverfahren für einfache Grafiken, die viele gleichfarbige Flächen enthalten (wie beispielsweise Diagramme oder technische Zeichnungen), da hier häufig längere Reihen gleicher Zeichen vorkommen. Ungeeignet ist RLE hingegen für komplexe Farbbilder.

RLE - Runlength-Endcoding


Huffman-Kodierung
Die Grundidee bei der Huffman-Kodierung ist, dass häufig vorkommenden Zeichen ein kurzer Code zugeordnet wird, selten auftretenden ein langer.
Der Huffman-Algorithmus basiert darauf, dass allen Zeichen, die im jeweiligen Datenstrom vorkommen können, ein Endknoten in einem Binärbaum zugeordnet wird. Den Endknoten wird wiederum die Auftrittshäufigkeit des jeweiligen Zeichens zugewiesen. Dadurch dass immer die beiden Knoten mit der geringsten Auftrittshäufigkeit einem neuen Knoten untergeordnet werden, dem die Summe der beiden Auftrittswahrscheinlichkeiten zugeordnet wird, entsteht die Baumstruktur. Der Vorgang wiederholt sich so oft, bis alle Knoten in einer Wurzel zusammengeführt sind. Den Kanten des Baums werden die binären Werte 0 und 1 zugeordnet, der Weg von der Baumwurzel bis hin zum Zeichen am unteren Ende des Baums, ergibt dann den Huffman-Code.

Huffman-Kodierung


LZW - Lempel-Ziv-Welch
LZW ist ein verlustfreier, symmetrischer und adaptiver Kompressionsalgorithmus der sowohl auf Bild- als auch auf Textdaten angewendet werden kann.
LZW komprimiert mittels Lexikon/Wörterbuch in dem die am häufigsten vorkommenden Zeichenketten gespeichert werden und im kodierten Datenstrom nur noch mit Abkürzungen angesprochen werden müssen. Das Lexikon muss nicht zusätzlich abgespeichert werden, sondern der Decoder ist in der Lage, dass Lexikon aus dem Datenstrom zu rekonstruieren und somit auch die Daten zu dekomprimieren.

LZW - Lempel-Ziv-Welch


Wavelet
Generell werden Wavelets mit einer Kompressionsmethode assoziiert. Aber das Wort Wavelet bedeutet zugleich eine mathematische Theorie, eine Kompressionsmethode und ein Datenanalyse-Werkzeug. Es ist ein mächtiges Paradigma, das viele Anwendungen hat.

Wavelet

Ergänzende und vertiefende Module