Überblick

Es gibt viele verschiedene Arten der Kompression, die sich in mehreren Punkten voneinander unterscheiden, sodass man sie grob in mehrere Kategorien einteilen kann. Im Folgenden werden die wichtigsten Unterscheidungskriterien vorgestellt.

Unterscheidung nach Laufzeitkomplexität

Grundsätzlich unterscheidet man bei Laufzeitkomplexität in symmetrische und asymmetrische Kompressionsverfahren. Dabei wird die Laufzeit von Kodierung und Dekodierung miteinander verglichen.

Symmetrische Kompressionsalgorithmen

Stimmen die Laufzeiten des Kodierungs- und Dekodierungsvorganges miteinander überein, spricht man von symmetrischer Kompression. Im Prinzip heißt das, dass die Kodierung genauso schnell durchgeführt werden kann wie die Dekodierung (und natürlich auch umgekehrt).

Beispiele für symmetrische Kompressionsalgorithmen:

RLE - Runlength-Encoding
LZW - Lempel-Ziv-Welch

Asymmetrische Kompressionsalgorithmen

Bei asymmetrischen Verfahren sind die Laufzeiten für die Komprimierung und Dekomprimierung unterschiedlich. Das ist der Fall, wenn die Kompression länger oder kürzer benötigt als die Wiederherstellung der ursprünglichen Daten.

Beispiel für asymmetrische Kompressionsalgorithmen:

Wavelet


Unterscheidung nach Rekonstruierbarkeit

Hierbei unterscheidet man in verlustfreie und verlustbehaftete Verfahren.

Verlustfreie Kompressionsverfahren

Von verlustfreier Kompression spricht man, wenn man die ursprünglichen Daten, genau so wie sie vorher waren, wieder herstellen kann.

Beispiele für verlustfreie Kompressionsalgorithmen:

RLE - Runlength-Encoding
Huffman-Kodierung
LZW - Lempel-Ziv-Welch

Verlustbehaftete Kompressionsverfahren

Können die Originaldaten nach der Kompression nicht mehr 1:1 hergestellt werden, so spricht man von verlustbehafteter Kompression (da Informationen über die Ausgangsdaten verloren gehen).

Beispiele für verlustbehaftete Kompressionsalgorithmen:

Wavelet


Unterscheidung nach der Berücksichtigung der Quelle oder Art der Daten

Hierbei unterscheidet man Entropiekodierung und Quellen-Komprimierung.

Entropiekodierung

Bei der Entropiekodierung werden Daten als Folge digitaler Werte verlustfrei komprimiert. Man berücksichtigt dabei nicht, was durch die Folge der digitalen Werte beschrieben wird

Beispiele für Entropiekodierung:

RLE - Runlength-Encoding
Huffman-Kodierung
LZW - Lempel-Ziv-Welch

Quellen-Komprimierung

Je nach Quelle oder Art der Daten werden Kompressionsverfahren eingesetzt, die besondere Eigenschaften der Quelldaten ausnutzen, meist auch mit (hinnehmbaren) Verlusten.
Beispiele: Transformationskodierung wie DCT.

Ergänzende und vertiefende Module