Lauflängencodierung (englisch run-length encoding, kurz RLE) ist eines der einfachsten verlustfreien Kompressionsverfahren: Aufeinanderfolgende gleiche Symbole werden zu einem Paar aus Anzahl und Symbol zusammengefasst. Aus AAAAABBBBB wird so 5A5B. RLE ist sehr schnell und eignet sich überall dort, wo Daten lange Läufe identischer Werte enthalten.
Wo RLE glänzt
- Faxe: Dokumentseiten sind überwiegend weiß — die Übertragung kodiert lange Läufe aus weißen und schwarzen Bildpunkten (Standard der Fax-Gruppe 3).
- Einfache Grafiken: Das BMP-Format und das ältere PCX-Format speichern Bildzeilen RLE-komprimiert; Logos, Diagramme und Icons mit großen einfarbigen Flächen schrumpfen stark.
- Als Baustein: Manche Formate kombinieren RLE mit anderen Verfahren oder setzen es als Vorstufe ein, um Wiederholungen vor der eigentlichen Kompression zu entfernen.
Grenzen
Enthalten die Daten kaum Wiederholungen — etwa bereits komprimierte Dateien oder Zufallsdaten —, kann RLE die Daten sogar vergrößern, weil zu jedem Symbol noch eine Anzahl kommt. PackBits ist eine verbreitete RLE-Variante (unter anderem im TIFF-Format), die genau diesen Overhead mit Kontrollbytes reduziert. Für strukturierte Textdaten sind Entropiecodierung und Wörterbuchverfahren wie LZ77 meist die bessere Wahl.
Verwandte Grundlagen: Verlustfreie Kompression, Huffman-Code, LZ77.