Zum Inhalt springen

Informatik · Klasse 10–12 · aktualisiert

Lauflängenkodierung (RLE) einfach erklärt

Du lernst, Symbolfolgen und Bitfolgen mit RLE zu codieren, den Speicherbedarf zu vergleichen und zu begründen, wann sich RLE lohnt.

0 von 13 Aufgaben gelöst

Lauflängenkodierung (RLE) einfach erklärt

Kurz gesagt

Die Lauflängenkodierung (RLE) ist ein einfacher verlustfreier Kompressionsalgorithmus. Sie ersetzt jede Folge gleicher Symbole durch ihre Anzahl und gegebenenfalls das Symbol. Sie ist geeignet für längere Wiederholungen. Bei kurzen Wiederholungen ist die Einsparung gering.

Ein Fax schickt ganze Seiten mit großen weißen Flächen. Müsste es dafür jeden weißen Punkt einzeln senden? Genau hier hilft RLE. Du lernst, wie man Daten damit kürzer aufschreibt und wann das klappt.

Deine Lernziele

Hake ab, was du schon kannst. Löst du alle Aufgaben eines Abschnitts, hakt Mela das Ziel für dich ab.

4 Abschnitte

Stell dir vor, du sollst jemandem AAAAA diktieren. Statt fünfmal „A“ zu sagen, sagst du „fünf A“. Genau das macht die Lauflängenkodierung (englisch run-length encoding, kurz RLE). Sie ist ein einfacher verlustfreier Kompressionsalgorithmus. Kompression heißt: Daten werden kürzer aufgeschrieben. Verlustfrei heißt: Beim Decodieren kommt die Ausgangsfolge wieder heraus.

Die Grundidee: Jede Folge gleicher Symbole wird durch ihre Anzahl und gegebenenfalls das Symbol ersetzt. Das Alphabet ist die Menge der möglichen Symbole. Hat es mehr als zwei Symbole, muss neben der Anzahl auch das Symbol mitgesendet werden. Dafür schreibt man Paare der Form {Symbol, Anzahl}.

Beim Codieren zählst du, wie oft ein Symbol direkt hintereinander steht, und schreibst das Paar auf. Beim Decodieren gibst du zu jedem Paar das Symbol so oft aus, wie die Anzahl sagt.

Definition

Lauflänge

Die Lauflänge ist die Anzahl gleicher Symbole, die direkt hintereinander stehen. RLE speichert diese Anzahl statt jedes einzelnen Symbols.

Beispiel: Eine Folge mit fünf verschiedenen Symbolen

  1. 1Folge: AAAA ABBB BBBB CDDD EE (die Leerzeichen gruppieren nur)
  2. 2A steht 5-mal, B 7-mal, C 1-mal, D 3-mal und E 2-mal hintereinander
  3. 3Codiert: {A, 5}, {B, 7}, {C, 1}, {D, 3}, {E, 2}
  4. 4Decodiert: AAAAABBBBBBBCDDDEE

Teste dich

LeichtWie lautet AAABB als Folge von Paaren {Symbol, Anzahl}?
MittelWas ergibt das Decodieren von {X, 2}, {Y, 4}?

Alles auf einen Blick

Lauflängenkodierung

  • Grundidee

    Jede Folge gleicher Symbole wird durch ihre Anzahl und gegebenenfalls das Symbol ersetzt.

  • Bitfolgen

    Man einigt sich auf das Startbit, danach stehen abwechselnd die Längen der Null- und Eins-Folgen.

  • Mehr als zwei Symbole

    Neben der Anzahl wird auch das Symbol mitgesendet.

  • Speicher

    Die Einsparung ist umso geringer, je kürzer die Wiederholungen sind. Im ungünstigsten Fall wird die Nachricht größer.

  • Eignung

    RLE ist geeignet für längere Wiederholungen, zum Beispiel bei Schwarz-Weiß-Seiten im Fax.

Musteraufgabe · Schritt für Schritt

Eine Pixelzeile codieren und decodieren (ausgedachtes Beispiel)

  1. 1Annahmen (ausgedacht): 16 Pixel, 0 steht für Schwarz, 1 für Weiß. Vereinbart: Es beginnt mit 0. Jede Länge wird mit 3 Bit gespeichert, ein Start-Bit wird nicht gespeichert.
  2. 2Zeile: 0001 1111 1100 0000
  3. 3Läufe: 3 Nullen, 7 Einsen, 6 Nullen. Alle Längen sind höchstens 7.
  4. 4Längen: 3, 7, 6
  5. 53 → 011, 7 → 111, 6 → 110
  6. 6Codiert: 011 111 110, das sind 3 · 3 = 9 Bit statt 16 Bit
  7. 7Decodieren: 3 Nullen, 7 Einsen, 6 Nullen → 0001 1111 1100 0000

Fehler finden

Prüfe die Aussagen zu einer ausgedachten Folge In einer Zeile steckt ein Fehler. Tippe sie an.

Lückentext

Wähl in jeder Lücke das passende Wort und prüf dann deine Antworten.

Die Lauflängenkodierung ist ein einfacher Kompressionsalgorithmus. Bei mehr als zwei Symbolen muss neben der Anzahl auch das mitgesendet werden. Mit drei Binärstellen deckt man die Zahlen von 0 bis ab.

Karteikasten

Erst selbst überlegen, dann umdrehen.

Übung mit Feedback

Abschluss-Check: Lauflängenkodierung

LeichtWas ersetzt RLE nach der Grundidee?
MittelEs ist vereinbart, dass die Bitfolge mit 0 beginnt (0 steht für Schwarz). Welche Längen ergeben sich für 0011 1000?
SchwerAusgedachtes Beispiel: Eine Bitfolge hat 20 Bit mit vier Läufen der Längen 5, 4, 6 und 5. Jede Länge wird mit 3 Bit gespeichert (ohne Start-Bit). Wie viele Bit braucht die codierte Folge?

Weiterlesen in Informatik