Was ist Lauflängen-Encoding?
Lauflängen-Encoding ist ein verlustfreies Kompressionsverfahren, das aufeinanderfolgende Wiederholungen eines Werts durch den jeweiligen Wert und die Länge der Folge ersetzt. Seine Wirksamkeit hängt davon ab, wie häufig lange Folgen in den Quelldaten vorkommen.
So funktioniert Lauflängen-Encoding
Ein RLE-Encoder liest Symbole in einer festgelegten Reihenfolge und gibt Paare oder Tokens aus, die einen Wert und die Anzahl seiner Wiederholungen beschreiben. Beim Decodieren wird jedes Token deterministisch expandiert, sodass keine Quellinformationen verloren gehen. Bei Bildern ist die Abtastreihenfolge entscheidend: Horizontale Zeilen können in flächigen Grafiken lange Folgen ergeben, bei einer anderen Durchlaufreihenfolge oder in verrauschten Fotos jedoch kurze. RLE wird häufig als einzelne Stufe in Bitmap-, Fax-, Masken-, Untertitel- oder Zwischendatenformaten eingesetzt, statt als universeller eigenständiger Dateityp.
Wichtige Fakten
- Ein Encoder benötigt eine Escape- oder Token-Konvention, um Literalwerte von Folgenmarkierungen zu unterscheiden; die genaue Darstellung ist formatspezifisch und kein fester Bestandteil des RLE-Prinzips.
- Die stärkste Vergrößerung tritt auf, wenn Werte häufig wechseln, weil sehr kurzen Folgen zusätzliche Folgenmetadaten hinzugefügt werden; einige Formate wechseln zu Literalblöcken, um diesen Mehraufwand zu begrenzen.
- Folgen dürfen keine Grenzen überschreiten, die das umgebende Format vorgibt, etwa Abtastzeilen oder Kacheln, selbst wenn der letzte Wert einer Einheit mit dem ersten der nächsten übereinstimmt.
Wann Lauflängen-Encoding wichtig ist
Wählen Sie dieses Verfahren für Masken, einfache Grafiken oder andere Daten mit langen Folgen identischer Pixel. Bei verrauschten oder stark variierenden Eingaben kann die codierte Form genauso groß wie das Original oder größer werden.