faecher:informatik:oberstufe:codierung:llc:start

Dies ist eine alte Version des Dokuments!


Lauflängencodierung

Eine einfache Methode der verlustfreien Komprimierung von Nutzdaten ist die Lauflängencodierung (RLE1)):

  • Voraussetzung: in der zu komprimierenden Zeichenfolge gibt es Zeichen, die sich wiederholen.
  • Idee: man gibt die Anzahl der Wiederholungen an und dann das Zeichen, das sich wiederholt.

Das kann man jetzt natürlich durchaus etwas ausgefeilter umsetzen. Wir betrachten dazu ein S/W BMP Bild.

P1
20 11

00000000000000000000
00000000111000000000
00000001110000000000
00000001110000111111
11111111110001111111
11111110011111111111
11100000000000000111
00000000000000011100
00000000000011100000
00000000001110000000
00000000000000000011

Nun kann man natürlich (wie oben) schreiben: 26w3s15w3s15w3s4w14s3w15s2w14s13w3s13w3s13w3s22w2s, das sind 51 ACII-Zeichen, also 51 Byte. Die Bildinformationen umfassen 220Bit - kein wirklicher Gewinn.

Nun vereinbaren wir folgenden Code:

  • Wir bilden Code-Worte aus 4 Bit
  • Das erste Bit legt die Farbe fest (0 für weiß, 1 für schwarz)
  • Die folgenden 3 Bit geben an, wie oft diese Farbe wiederholt wird (000 für 1 Mal, 001 für 2 Mal, 010 für 3 Mal usw.)

Das ergibt die folgende Code Tabelle:

CodeBedeutung
00001 weißes Pixel
00012 weißePixel
00103 weiße Pixel
00114 weiße Pixel
01005 weiße Pixel
01016 weiße Pixel
01107 weiße Pixel
01118 weiße Pixel
10001 schwarzes Pixel
10012 schwarze Pixel
10103 schwarze Pixel
10114 schwarze Pixel
11005 schwarze Pixel
11016 schwarze Pixel
11107 schwarze Pixel
11118 schwarze Pixel

(A1)

Codiere das Testbild mit dieser Code-Tabelle. Wie viele Bit benötigst Du dafür?


(A1)

Beschreibe ein Schwarz-Weiß-Bild, das gut mit Lauflängencodierung komprimiert werden kann und eines, das schlecht mit Lauflängencodierung komprimiert werden kann.


1)
Run Length Encoding
  • faecher/informatik/oberstufe/codierung/llc/start.1664820589.txt.gz
  • Zuletzt geändert: 03.10.2022 20:09
  • von Frank Schiebel