Hi Micha,
ggf. hilft dies ja etwas weiter, ansonsten bei dieser UNI schauen, die sich besonders mit dynamischen Verfahren befasst:
Next: Lauflängenkodierung (Run-Length-Encoding) Up: Kompressionsalgorithmen Previous: Einleitung
Reversible Kompressionsalgorithmen
In diesem Kapittel geht es um möglichst allgemeine Kompressionsverfahren, die keinerlei Annahmen über die Art der zu komprimierenden Daten erfordern.
Die zu behandelnden Dateien bestehen also ganz abstrakt aus einer Folge von Symbolen. Diese Grundzeichen können dabei sehr verschiedenartig sein: ASCII-Zeichen, Bytes, Pixel oder ähnliches. Hat ein Kompressionsprogramm keinerlei Kenntnis über die Herkunft einer Datei, wie es bei den universellen Programmen im allgemeinen der Fall ist, nimmt es meist ein Byte als Grundzeichen an.
Lauflängenkodierung (Run-Length-Encoding)
Es gibt zwei Wege den Zähler zu kodieren:
7-Bit-Lauflängenkodierung
Standard-Lauflängenkodierung
Allgemeiner Lauflängenkodierungsalgorithmus
Huffman-Kodierung
Statisches Verfahren
Dynamisches Verfahren
Adaptive Verfahren
Huffman-Baum
Beispiel:
Huffman Dekodierungsalgorithmus
Squeeze und Unsqeeze
LZW - Lempel-Ziv-Welch
Erweiterter LZW mit variabler Codelänge
LZSS - Lempel-Ziv-Storer-Szymanski
LZH - Lempel-Ziv-Huffman
Arithmetische Kodierung
Beispiel:
Beispiel:
Wichtige Anmerkungen zur Implementierung
Arithmetischer Kodierungsalgorithmus
Teilung von Intervallen
Kodierungsalgorithmus
Dekodierung
Zusammenfassung
Joachim Schwarz und Guido Soermann
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]