faecher:informatik:oberstufe:codierung:llc:start

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 PBM 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 ASCII-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?


(A2)

Dekodiere folgende Daten für ein Bild mit 8 Pixel Breite und 11 Pixel Höhe.

0111-0111-0001-1011-0110-1000-0110-1000-0101-1001-0100-1000-0101-1000-0110-1011-0111-0111-0001

Erstelle eine bmp-Datei. Ermittle die Kompressionsrate in Prozent.


(A3)

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


(A4)

Ein anderes System für eine Lauflängencodierung könnte folgendermaßen funktionieren.

  • Die Code-Blöcke bestehen aus 3 Bit
  • Der erste Code-Block einer Datei bezeichnet stets weiße Zeichen.
  • Es kommt die folgende Codetabelle zur Anwendung:
Code Bedeutung
000Farbwechsel
0011 Zeichen der aktuellen Farbe
0102 Zeichen der aktuellen Farbe
0113 Zeichen der aktuellen Farbe
1004 Zeichen der aktuellen Farbe
1015 Zeichen der aktuellen Farbe
1106 Zeichen der aktuellen Farbe
1117 Zeichen der aktuellen Farbe

Codiere das Testbild mit diesem Verfahren. Beurteile das Verfahren.

FilenameFilesizeLast modified
01_kompression_rle.odp273.8 KiB30.11.2023 08:09
01_kompression_rle.pdf317.7 KiB30.11.2023 08:09
rle.png61.4 KiB03.10.2022 19:28
testbild.png7.7 KiB03.10.2022 20:08

1)
Run Length Encoding
  • faecher/informatik/oberstufe/codierung/llc/start.txt
  • Zuletzt geändert: 03.03.2024 21:12
  • von Michael Sedding