Zum Hauptinhalt Zur Navigation

Golem Plus Artikel
Lempel-Ziv-Algorithmus:
Daten verkleinern mit dem Wörterbuch

Algorithmus des Monats
Algorithmen zur Datenkompression können ziemlich einfach sein: Wir erklären die Wörterbuchkompression anhand von LZ77.
/ Johannes Hiltscher
4 Kommentare News folgen (öffnet im neuen Fenster)
Für Wörterbuchkodierung braucht man nicht einmal ein echtes Wörterbuch. (Bild: Karolina Grabowska, Pexels)
Für Wörterbuchkodierung braucht man nicht einmal ein echtes Wörterbuch. Bild: Karolina Grabowska, Pexels / CC0 1.0

Kompressionsalgorithmen sind ein unverzichtbarer Bestandteil des Internets und der Computerlandschaft. Ihr Ziel ist es, häufig vorkommende Daten mit möglichst wenig Speicher abzubilden. Das lässt sich grundsätzlich auf zwei Wegen erreichen: durch eine Optimierung der Codewörter, so dass etwa häufig vorkommende Buchstaben mit nur wenigen Bits repräsentiert werden (Entropie-Codierung, darauf basiert die Huffman-Codierung, g+ ), oder indem häufig vorkommende Datenblöcke durch Codes ersetzt werden.

Der zweite Ansatz wird als Wörterbuchkompression bezeichnet, da die zu codierenden Daten wie ein Text aufgefasst werden. Die Idee ist, dass sie aus Blöcken – sinnbildlich den Wörtern – bestehen, die idealerweise mehrfach vorkommen. Anstatt die Wörter auszuschreiben, werden ihre Einträge im Wörterbuch angegeben. Je nach Länge und Anzahl der Wörter kann diese Darstellung mit deutlich weniger Speicher auskommen. Der wohl bekannteste Algorithmus wurde 1977 von den beiden israelischen Wissenschaftlern Abraham Lempel und Jacob Ziv veröffentlicht (PDF)(öffnet im neuen Fenster) . Bekannt ist er als LZ77 – wir erklären, wie er funktioniert.

Golem Plus Artikel