Top Banner
1 Praktikum BKSPP: Blatt 2 PD Dr. David Sabel WS 2014/15
81

Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Mar 10, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

1

Praktikum BKSPP:

Blatt 2

PD Dr. David Sabel

WS 2014/15

Page 2: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Codebaume Huffman-Kodierung

Zeichenbasierte Komprimierung mit Codebaumen

Idee:

Kodiere jedes Zeichen durch eine Bitfolge

Reprasentiere die Kodierung durch einen Codebaum

Codebaume:

A Alphabet

Binarer Baum

Pro a ∈ A gibt es ein mit a markiertes Blatt

innerer Knoten hat zwei Kinder:− linke Kante markiert mit 0− rechte Kante markiert mit 1

Codewort c(a) fur a ∈ A:Beschriftung des Pfades von der Wurzel zu a.

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 2/22

Page 3: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Codebaume Huffman-Kodierung

Beispiel

0

tt1

++0{{

1##

0

yy1

$$A B0��

1��

0��

1��

C D E F

a c(a)

A 00B 01C 100D 101E 110F 111

ABCDEFFA ergibt 000110010111011111100.

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 3/22

Page 4: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Codebaume Huffman-Kodierung

Beispiel

0

tt1

++0{{

1##

0

yy1

$$A B0��

1��

0��

1��

C D E F

a c(a)

A 00B 01C 100D 101E 110F 111

ABCDEFFA ergibt 000110010111011111100.

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 3/22

Page 5: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Codebaume Huffman-Kodierung

Aufgabe

Modul Codebaum

Datentyp Codebaum a (polymorph uber Alphabeten)

mkGetCode :: Codebaum a -> a -> [Int], erhaltCodebaum und erstellt Funktion, die c(a) berechnet.[Int] soll Liste aus 0en und 1en darstellen

mkGetCode moglichst effizient (Baum jedes mal durchsuchenist ineffizient)

kodiere:: (Codebaum a) -> [a] -> [Int] erhaltCodebaum und Wort, berechnet Code

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 4/22

Page 6: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Codebaume Huffman-Kodierung

Huffman-Kodierung

Entropiekodierung

Zeichenbasiert

Idee

Verwende kurze Bitfolgen fur haufige Zeichen, langere furseltene Zeichen

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 5/22

Page 7: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Codebaume Huffman-Kodierung

Huffman-Kodierung

Seit T ein Text uber dem Alphabet A1 Berechne relative Haufigkeiten r(a, T ) fur alle a ∈ A

r(a, T ) = Anzahl der Vorkommen von a in TAnzahl der Zeichen von T

2 Erstelle optimalen Codebaum:

1 Starte mit Wald von Codebaumen:Fur jedes a ∈ A eine WurzelBaume sind mit relativen Haufigkeiten markiert

2 Iteriere den Schritt bis ein Baum entstanden ist:Wahle Baume B1, B2 mit kleinsten rel. Haufigkeiten undverschmelze diese:

1��0 ��B1 B2

Neue Haufigkeit: Summe r(B1) + r(B2)

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 6/22

Page 8: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Codebaume Huffman-Kodierung

Huffman-Kodierung

Seit T ein Text uber dem Alphabet A1 Berechne relative Haufigkeiten r(a, T ) fur alle a ∈ A

r(a, T ) = Anzahl der Vorkommen von a in TAnzahl der Zeichen von T

2 Erstelle optimalen Codebaum:

1 Starte mit Wald von Codebaumen:Fur jedes a ∈ A eine WurzelBaume sind mit relativen Haufigkeiten markiert

2 Iteriere den Schritt bis ein Baum entstanden ist:Wahle Baume B1, B2 mit kleinsten rel. Haufigkeiten undverschmelze diese:

1��0 ��B1 B2

Neue Haufigkeit: Summe r(B1) + r(B2)

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 6/22

Page 9: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Codebaume Huffman-Kodierung

Huffman-Kodierung

Seit T ein Text uber dem Alphabet A1 Berechne relative Haufigkeiten r(a, T ) fur alle a ∈ A

r(a, T ) = Anzahl der Vorkommen von a in TAnzahl der Zeichen von T

2 Erstelle optimalen Codebaum:1 Starte mit Wald von Codebaumen:

Fur jedes a ∈ A eine WurzelBaume sind mit relativen Haufigkeiten markiert

2 Iteriere den Schritt bis ein Baum entstanden ist:Wahle Baume B1, B2 mit kleinsten rel. Haufigkeiten undverschmelze diese:

1��0 ��B1 B2

Neue Haufigkeit: Summe r(B1) + r(B2)

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 6/22

Page 10: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Codebaume Huffman-Kodierung

Huffman-Kodierung

Seit T ein Text uber dem Alphabet A1 Berechne relative Haufigkeiten r(a, T ) fur alle a ∈ A

r(a, T ) = Anzahl der Vorkommen von a in TAnzahl der Zeichen von T

2 Erstelle optimalen Codebaum:1 Starte mit Wald von Codebaumen:

Fur jedes a ∈ A eine WurzelBaume sind mit relativen Haufigkeiten markiert

2 Iteriere den Schritt bis ein Baum entstanden ist:Wahle Baume B1, B2 mit kleinsten rel. Haufigkeiten undverschmelze diese:

1��0 ��B1 B2

Neue Haufigkeit: Summe r(B1) + r(B2)

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 6/22

Page 11: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Codebaume Huffman-Kodierung

Beispiel

T =AECACEFAABDDBEAEAEECEEEDF.

a Anzahl a im Text T r(a, T )A 6 6/25 = 0, 24 = 24%B 2 2/25 = 0, 08 = 8%C 3 3/25 = 0, 12 = 12%D 3 3/25 = 0, 12 = 12%E 9 9/25 = 0, 36 = 36%F 2 2/25 = 0, 08 = 8%

Wald am Anfang:

W0 = {(A, 24%), (B, 8%), (C, 12%), (D, 12%), (E, 36%), (F, 8%)}

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 7/22

Page 12: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Codebaume Huffman-Kodierung

Beispiel (2)

W0 = {(A, 24%), (B, 8%), (C, 12%), (D, 12%), (E, 36%), (F, 8%)}

W1 = {(A, 24%), (0 �� 1��B F

, 16%), (C, 12%), (D, 12%), (E, 36%)}

W2 = {(A, 24%), (0 �� 1��B F

, 16%), (0 �� 1��C D

, 24%), (E, 36%)}

W3 = {( 0{{

1

%%A0��

1��

B F

, 40%), (0 �� 1��C D

, 24%), (E, 36%)}

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 8/22

Page 13: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Codebaume Huffman-Kodierung

Beispiel (2)

W0 = {(A, 24%), (B, 8%), (C, 12%), (D, 12%), (E, 36%), (F, 8%)}

W1 = {(A, 24%), (0 �� 1��B F

, 16%), (C, 12%), (D, 12%), (E, 36%)}

W2 = {(A, 24%), (0 �� 1��B F

, 16%), (0 �� 1��C D

, 24%), (E, 36%)}

W3 = {( 0{{

1

%%A0��

1��

B F

, 40%), (0 �� 1��C D

, 24%), (E, 36%)}

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 8/22

Page 14: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Codebaume Huffman-Kodierung

Beispiel (2)

W0 = {(A, 24%), (B, 8%), (C, 12%), (D, 12%), (E, 36%), (F, 8%)}

W1 = {(A, 24%), (0 �� 1��B F

, 16%), (C, 12%), (D, 12%), (E, 36%)}

W2 = {(A, 24%), (0 �� 1��B F

, 16%), (0 �� 1��C D

, 24%), (E, 36%)}

W3 = {( 0{{

1

%%A0��

1��

B F

, 40%), (0 �� 1��C D

, 24%), (E, 36%)}

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 8/22

Page 15: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Codebaume Huffman-Kodierung

Beispiel (2)

W0 = {(A, 24%), (B, 8%), (C, 12%), (D, 12%), (E, 36%), (F, 8%)}

W1 = {(A, 24%), (0 �� 1��B F

, 16%), (C, 12%), (D, 12%), (E, 36%)}

W2 = {(A, 24%), (0 �� 1��B F

, 16%), (0 �� 1��C D

, 24%), (E, 36%)}

W3 = {( 0{{

1

%%A0��

1��

B F

, 40%), (0 �� 1��C D

, 24%), (E, 36%)}

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 8/22

Page 16: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Codebaume Huffman-Kodierung

Beispiel (3)

W4 = {( 0{{

1

%%A0��

1��

B F

, 40%), (0

yy1##

0��

1��

E

C D

, 60)}

0

ss1

++0{{

1

%%0

yy1##

A0��

1��

0��

1��

E

B F C D

Kodierung von T =AECACEFAABDDBEAEAEECEEEDF ergibt001110000100110110000010101101010110011001111100111111101011

Je 8-Bit zu einem ASCII-Zeichen ergibt Wort der Lange 8(|T | = 25)

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 9/22

Page 17: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Codebaume Huffman-Kodierung

Beispiel (3)

W4 = {( 0{{

1

%%A0��

1��

B F

, 40%), (0

yy1##

0��

1��

E

C D

, 60)}

0

ss1

++0{{

1

%%0

yy1##

A0��

1��

0��

1��

E

B F C D

Kodierung von T =AECACEFAABDDBEAEAEECEEEDF ergibt001110000100110110000010101101010110011001111100111111101011

Je 8-Bit zu einem ASCII-Zeichen ergibt Wort der Lange 8(|T | = 25)

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 9/22

Page 18: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Codebaume Huffman-Kodierung

Beispiel (3)

W4 = {( 0{{

1

%%A0��

1��

B F

, 40%), (0

yy1##

0��

1��

E

C D

, 60)}

0

ss1

++0{{

1

%%0

yy1##

A0��

1��

0��

1��

E

B F C D

Kodierung von T =AECACEFAABDDBEAEAEECEEEDF ergibt001110000100110110000010101101010110011001111100111111101011

Je 8-Bit zu einem ASCII-Zeichen ergibt Wort der Lange 8(|T | = 25)

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 9/22

Page 19: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Codebaume Huffman-Kodierung

Aufgabe

Modul Huffman

Funktion text2Huffman :: String -> (Codebaum

Char,[Int]), die einen Text in Bitfolge mit der Huffmankodierungkodiert

Konsolen-Programm, dass einen Text Huffman-kodieren und-dekodieren kann und in Datei speichert

Am Ende muss 0-1-Folge in ASCII-Buchstaben konvertiert werden

Zum Dekodieren muss der Huffman-Baum sinnvoll in Dateigespeichert werden.

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 10/22

Page 20: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Stringersatzverfahren

Ideen:

Huffman-Kodierung ist Zeichenbasiert

Stringersatzverfahren versuchen Wiederholungen vonSubstrings zusammenzufassen

Z.B. in abcabc kommt der Substring abc (zweimal)wiederholt vor.

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 11/22

Page 21: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Run Length Encoding

Einfaches Verfahren

Ersetze Folgen von gleichen Zeichen durch Zeichen mit Zahler

aaaaabaabaaacccccddaaaa wird zu 5ab2ab3a5c2d4a

(einzelne Zeichen werden nicht durch Zahler versehen).

Wenn Ziffern in der Eingabe vorkommen braucht manTrennsymbole, z.B #5:ab#2:ab#3:a#5:c#2:d#4:a

Aufgabe:

Modul RLE, das RLE durchfuhrt

Verknupfung Huffman und RLE.

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 12/22

Page 22: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Lempel-Ziv-Komprimierung

t0 t1

· · · tk

· · ·

tk+m · · ·

ti−1

bereits verarbeitet

ti · · ·

· · · ti+mti+m ti+m+1 · · ·

tn

zu verarbeiten

langster Prafix der in der verarbeiteten Eingabe vorkommt

Ausgabe: (k,m+ 1)

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 13/22

Page 23: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Lempel-Ziv-Komprimierung

t0 t1 · · · tk · · · tk+m · · · ti−1

bereits verarbeitet

ti · · · ti+m

ti+m

ti+m+1 · · · tn

zu verarbeiten

langster Prafix der in der verarbeiteten Eingabe vorkommt

Ausgabe: (k,m+ 1)

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 13/22

Page 24: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Lempel-Ziv-Komprimierung

t0 t1

· · · tk · · · tk+m · · · ti−1

· · ·

bereits verarbeitet

ti · · · ti+m

ti+m ti+m+1 · · · tn

zu verarbeiten

langster Prafix der in der verarbeiteten Eingabe vorkommt

Ausgabe: (k,m+ 1)

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 13/22

Page 25: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Lempel-Ziv-Komprimierung (2)

t0 t1 · · · ti−1

bereits verarbeitet

ti · · · tn

zu verarbeiten

Fall: Gar kein echter Prafix kommt in der verarbeiteten Eingabe vor

Ausgabe: ti

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 14/22

Page 26: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Lempel-Ziv-Komprimierung (2)

t0 t1 · · · ti−1

bereits verarbeitet

ti · · · tn

zu verarbeiten

Fall: Gar kein echter Prafix kommt in der verarbeiteten Eingabe vor

Ausgabe: ti

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 14/22

Page 27: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Lempel-Ziv-Komprimierung (2)

t0 t1 · · · ti−1

bereits verarbeitet

ti · · · tn

zu verarbeiten

Fall: Gar kein echter Prafix kommt in der verarbeiteten Eingabe vor

Ausgabe: ti

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 14/22

Page 28: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Beispiel

Text aabaaabaababaaababbbaabbbbccaaa

Verarbeitete Eingabe Resteingabe Ausgabeaabaaabaababaaababbbaabbbbccaaa

a abaaabaababaaababbbaabbbbccaaa aaa baaabaababaaababbbaabbbbccaaa (0,1)aab aaabaababaaababbbaabbbbccaaa baabaa abaababaaababbbaabbbbccaaa (0,2)aabaaabaa babaaababbbaabbbbccaaa (1,4)aabaaabaaba baaababbbaabbbbccaaa (2,2)aabaaabaababaaaba bbbaabbbbccaaa (2,6)aabaaabaababaaabab bbaabbbbccaaa (2,1)aabaaabaababaaababb baabbbbccaaa (2,1)aabaaabaababaaababbbaab bbbccaaa (6,4)aabaaabaababaaababbbaabbbb ccaaa (17,3)aabaaabaababaaababbbaabbbbc caaa caabaaabaababaaababbbaabbbbcc aaa (26,1)aabaaabaababaaababbbaabbbbccaaa (3,3)

Ausgabe:a(0,1)b(0,2)(1,4)(2,2)(2,6)(2,1)(2,1)(6,4)(17,3)c(26,1)(3,3)

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 15/22

Page 29: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Beispiel

Text aabaaabaababaaababbbaabbbbccaaa

Verarbeitete Eingabe Resteingabe Ausgabeaabaaabaababaaababbbaabbbbccaaa

a abaaabaababaaababbbaabbbbccaaa a

aa baaabaababaaababbbaabbbbccaaa (0,1)aab aaabaababaaababbbaabbbbccaaa baabaa abaababaaababbbaabbbbccaaa (0,2)aabaaabaa babaaababbbaabbbbccaaa (1,4)aabaaabaaba baaababbbaabbbbccaaa (2,2)aabaaabaababaaaba bbbaabbbbccaaa (2,6)aabaaabaababaaabab bbaabbbbccaaa (2,1)aabaaabaababaaababb baabbbbccaaa (2,1)aabaaabaababaaababbbaab bbbccaaa (6,4)aabaaabaababaaababbbaabbbb ccaaa (17,3)aabaaabaababaaababbbaabbbbc caaa caabaaabaababaaababbbaabbbbcc aaa (26,1)aabaaabaababaaababbbaabbbbccaaa (3,3)

Ausgabe:a(0,1)b(0,2)(1,4)(2,2)(2,6)(2,1)(2,1)(6,4)(17,3)c(26,1)(3,3)

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 15/22

Page 30: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Beispiel

Text aabaaabaababaaababbbaabbbbccaaa

Verarbeitete Eingabe Resteingabe Ausgabeaabaaabaababaaababbbaabbbbccaaa

a abaaabaababaaababbbaabbbbccaaa aaa baaabaababaaababbbaabbbbccaaa (0,1)

aab aaabaababaaababbbaabbbbccaaa baabaa abaababaaababbbaabbbbccaaa (0,2)aabaaabaa babaaababbbaabbbbccaaa (1,4)aabaaabaaba baaababbbaabbbbccaaa (2,2)aabaaabaababaaaba bbbaabbbbccaaa (2,6)aabaaabaababaaabab bbaabbbbccaaa (2,1)aabaaabaababaaababb baabbbbccaaa (2,1)aabaaabaababaaababbbaab bbbccaaa (6,4)aabaaabaababaaababbbaabbbb ccaaa (17,3)aabaaabaababaaababbbaabbbbc caaa caabaaabaababaaababbbaabbbbcc aaa (26,1)aabaaabaababaaababbbaabbbbccaaa (3,3)

Ausgabe:a(0,1)b(0,2)(1,4)(2,2)(2,6)(2,1)(2,1)(6,4)(17,3)c(26,1)(3,3)

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 15/22

Page 31: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Beispiel

Text aabaaabaababaaababbbaabbbbccaaa

Verarbeitete Eingabe Resteingabe Ausgabeaabaaabaababaaababbbaabbbbccaaa

a abaaabaababaaababbbaabbbbccaaa aaa baaabaababaaababbbaabbbbccaaa (0,1)aab aaabaababaaababbbaabbbbccaaa b

aabaa abaababaaababbbaabbbbccaaa (0,2)aabaaabaa babaaababbbaabbbbccaaa (1,4)aabaaabaaba baaababbbaabbbbccaaa (2,2)aabaaabaababaaaba bbbaabbbbccaaa (2,6)aabaaabaababaaabab bbaabbbbccaaa (2,1)aabaaabaababaaababb baabbbbccaaa (2,1)aabaaabaababaaababbbaab bbbccaaa (6,4)aabaaabaababaaababbbaabbbb ccaaa (17,3)aabaaabaababaaababbbaabbbbc caaa caabaaabaababaaababbbaabbbbcc aaa (26,1)aabaaabaababaaababbbaabbbbccaaa (3,3)

Ausgabe:a(0,1)b(0,2)(1,4)(2,2)(2,6)(2,1)(2,1)(6,4)(17,3)c(26,1)(3,3)

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 15/22

Page 32: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Beispiel

Text aabaaabaababaaababbbaabbbbccaaa

Verarbeitete Eingabe Resteingabe Ausgabeaabaaabaababaaababbbaabbbbccaaa

a abaaabaababaaababbbaabbbbccaaa aaa baaabaababaaababbbaabbbbccaaa (0,1)aab aaabaababaaababbbaabbbbccaaa baabaa abaababaaababbbaabbbbccaaa (0,2)

aabaaabaa babaaababbbaabbbbccaaa (1,4)aabaaabaaba baaababbbaabbbbccaaa (2,2)aabaaabaababaaaba bbbaabbbbccaaa (2,6)aabaaabaababaaabab bbaabbbbccaaa (2,1)aabaaabaababaaababb baabbbbccaaa (2,1)aabaaabaababaaababbbaab bbbccaaa (6,4)aabaaabaababaaababbbaabbbb ccaaa (17,3)aabaaabaababaaababbbaabbbbc caaa caabaaabaababaaababbbaabbbbcc aaa (26,1)aabaaabaababaaababbbaabbbbccaaa (3,3)

Ausgabe:a(0,1)b(0,2)(1,4)(2,2)(2,6)(2,1)(2,1)(6,4)(17,3)c(26,1)(3,3)

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 15/22

Page 33: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Beispiel

Text aabaaabaababaaababbbaabbbbccaaa

Verarbeitete Eingabe Resteingabe Ausgabeaabaaabaababaaababbbaabbbbccaaa

a abaaabaababaaababbbaabbbbccaaa aaa baaabaababaaababbbaabbbbccaaa (0,1)aab aaabaababaaababbbaabbbbccaaa baabaa abaababaaababbbaabbbbccaaa (0,2)aabaaabaa babaaababbbaabbbbccaaa (1,4)

aabaaabaaba baaababbbaabbbbccaaa (2,2)aabaaabaababaaaba bbbaabbbbccaaa (2,6)aabaaabaababaaabab bbaabbbbccaaa (2,1)aabaaabaababaaababb baabbbbccaaa (2,1)aabaaabaababaaababbbaab bbbccaaa (6,4)aabaaabaababaaababbbaabbbb ccaaa (17,3)aabaaabaababaaababbbaabbbbc caaa caabaaabaababaaababbbaabbbbcc aaa (26,1)aabaaabaababaaababbbaabbbbccaaa (3,3)

Ausgabe:a(0,1)b(0,2)(1,4)(2,2)(2,6)(2,1)(2,1)(6,4)(17,3)c(26,1)(3,3)

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 15/22

Page 34: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Beispiel

Text aabaaabaababaaababbbaabbbbccaaa

Verarbeitete Eingabe Resteingabe Ausgabeaabaaabaababaaababbbaabbbbccaaa

a abaaabaababaaababbbaabbbbccaaa aaa baaabaababaaababbbaabbbbccaaa (0,1)aab aaabaababaaababbbaabbbbccaaa baabaa abaababaaababbbaabbbbccaaa (0,2)aabaaabaa babaaababbbaabbbbccaaa (1,4)aabaaabaaba baaababbbaabbbbccaaa (2,2)

aabaaabaababaaaba bbbaabbbbccaaa (2,6)aabaaabaababaaabab bbaabbbbccaaa (2,1)aabaaabaababaaababb baabbbbccaaa (2,1)aabaaabaababaaababbbaab bbbccaaa (6,4)aabaaabaababaaababbbaabbbb ccaaa (17,3)aabaaabaababaaababbbaabbbbc caaa caabaaabaababaaababbbaabbbbcc aaa (26,1)aabaaabaababaaababbbaabbbbccaaa (3,3)

Ausgabe:a(0,1)b(0,2)(1,4)(2,2)(2,6)(2,1)(2,1)(6,4)(17,3)c(26,1)(3,3)

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 15/22

Page 35: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Beispiel

Text aabaaabaababaaababbbaabbbbccaaa

Verarbeitete Eingabe Resteingabe Ausgabeaabaaabaababaaababbbaabbbbccaaa

a abaaabaababaaababbbaabbbbccaaa aaa baaabaababaaababbbaabbbbccaaa (0,1)aab aaabaababaaababbbaabbbbccaaa baabaa abaababaaababbbaabbbbccaaa (0,2)aabaaabaa babaaababbbaabbbbccaaa (1,4)aabaaabaaba baaababbbaabbbbccaaa (2,2)aabaaabaababaaaba bbbaabbbbccaaa (2,6)

aabaaabaababaaabab bbaabbbbccaaa (2,1)aabaaabaababaaababb baabbbbccaaa (2,1)aabaaabaababaaababbbaab bbbccaaa (6,4)aabaaabaababaaababbbaabbbb ccaaa (17,3)aabaaabaababaaababbbaabbbbc caaa caabaaabaababaaababbbaabbbbcc aaa (26,1)aabaaabaababaaababbbaabbbbccaaa (3,3)

Ausgabe:a(0,1)b(0,2)(1,4)(2,2)(2,6)(2,1)(2,1)(6,4)(17,3)c(26,1)(3,3)

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 15/22

Page 36: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Beispiel

Text aabaaabaababaaababbbaabbbbccaaa

Verarbeitete Eingabe Resteingabe Ausgabeaabaaabaababaaababbbaabbbbccaaa

a abaaabaababaaababbbaabbbbccaaa aaa baaabaababaaababbbaabbbbccaaa (0,1)aab aaabaababaaababbbaabbbbccaaa baabaa abaababaaababbbaabbbbccaaa (0,2)aabaaabaa babaaababbbaabbbbccaaa (1,4)aabaaabaaba baaababbbaabbbbccaaa (2,2)aabaaabaababaaaba bbbaabbbbccaaa (2,6)aabaaabaababaaabab bbaabbbbccaaa (2,1)

aabaaabaababaaababb baabbbbccaaa (2,1)aabaaabaababaaababbbaab bbbccaaa (6,4)aabaaabaababaaababbbaabbbb ccaaa (17,3)aabaaabaababaaababbbaabbbbc caaa caabaaabaababaaababbbaabbbbcc aaa (26,1)aabaaabaababaaababbbaabbbbccaaa (3,3)

Ausgabe:a(0,1)b(0,2)(1,4)(2,2)(2,6)(2,1)(2,1)(6,4)(17,3)c(26,1)(3,3)

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 15/22

Page 37: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Beispiel

Text aabaaabaababaaababbbaabbbbccaaa

Verarbeitete Eingabe Resteingabe Ausgabeaabaaabaababaaababbbaabbbbccaaa

a abaaabaababaaababbbaabbbbccaaa aaa baaabaababaaababbbaabbbbccaaa (0,1)aab aaabaababaaababbbaabbbbccaaa baabaa abaababaaababbbaabbbbccaaa (0,2)aabaaabaa babaaababbbaabbbbccaaa (1,4)aabaaabaaba baaababbbaabbbbccaaa (2,2)aabaaabaababaaaba bbbaabbbbccaaa (2,6)aabaaabaababaaabab bbaabbbbccaaa (2,1)aabaaabaababaaababb baabbbbccaaa (2,1)

aabaaabaababaaababbbaab bbbccaaa (6,4)aabaaabaababaaababbbaabbbb ccaaa (17,3)aabaaabaababaaababbbaabbbbc caaa caabaaabaababaaababbbaabbbbcc aaa (26,1)aabaaabaababaaababbbaabbbbccaaa (3,3)

Ausgabe:a(0,1)b(0,2)(1,4)(2,2)(2,6)(2,1)(2,1)(6,4)(17,3)c(26,1)(3,3)

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 15/22

Page 38: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Beispiel

Text aabaaabaababaaababbbaabbbbccaaa

Verarbeitete Eingabe Resteingabe Ausgabeaabaaabaababaaababbbaabbbbccaaa

a abaaabaababaaababbbaabbbbccaaa aaa baaabaababaaababbbaabbbbccaaa (0,1)aab aaabaababaaababbbaabbbbccaaa baabaa abaababaaababbbaabbbbccaaa (0,2)aabaaabaa babaaababbbaabbbbccaaa (1,4)aabaaabaaba baaababbbaabbbbccaaa (2,2)aabaaabaababaaaba bbbaabbbbccaaa (2,6)aabaaabaababaaabab bbaabbbbccaaa (2,1)aabaaabaababaaababb baabbbbccaaa (2,1)aabaaabaababaaababbbaab bbbccaaa (6,4)

aabaaabaababaaababbbaabbbb ccaaa (17,3)aabaaabaababaaababbbaabbbbc caaa caabaaabaababaaababbbaabbbbcc aaa (26,1)aabaaabaababaaababbbaabbbbccaaa (3,3)

Ausgabe:a(0,1)b(0,2)(1,4)(2,2)(2,6)(2,1)(2,1)(6,4)(17,3)c(26,1)(3,3)

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 15/22

Page 39: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Beispiel

Text aabaaabaababaaababbbaabbbbccaaa

Verarbeitete Eingabe Resteingabe Ausgabeaabaaabaababaaababbbaabbbbccaaa

a abaaabaababaaababbbaabbbbccaaa aaa baaabaababaaababbbaabbbbccaaa (0,1)aab aaabaababaaababbbaabbbbccaaa baabaa abaababaaababbbaabbbbccaaa (0,2)aabaaabaa babaaababbbaabbbbccaaa (1,4)aabaaabaaba baaababbbaabbbbccaaa (2,2)aabaaabaababaaaba bbbaabbbbccaaa (2,6)aabaaabaababaaabab bbaabbbbccaaa (2,1)aabaaabaababaaababb baabbbbccaaa (2,1)aabaaabaababaaababbbaab bbbccaaa (6,4)aabaaabaababaaababbbaabbbb ccaaa (17,3)

aabaaabaababaaababbbaabbbbc caaa caabaaabaababaaababbbaabbbbcc aaa (26,1)aabaaabaababaaababbbaabbbbccaaa (3,3)

Ausgabe:a(0,1)b(0,2)(1,4)(2,2)(2,6)(2,1)(2,1)(6,4)(17,3)c(26,1)(3,3)

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 15/22

Page 40: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Beispiel

Text aabaaabaababaaababbbaabbbbccaaa

Verarbeitete Eingabe Resteingabe Ausgabeaabaaabaababaaababbbaabbbbccaaa

a abaaabaababaaababbbaabbbbccaaa aaa baaabaababaaababbbaabbbbccaaa (0,1)aab aaabaababaaababbbaabbbbccaaa baabaa abaababaaababbbaabbbbccaaa (0,2)aabaaabaa babaaababbbaabbbbccaaa (1,4)aabaaabaaba baaababbbaabbbbccaaa (2,2)aabaaabaababaaaba bbbaabbbbccaaa (2,6)aabaaabaababaaabab bbaabbbbccaaa (2,1)aabaaabaababaaababb baabbbbccaaa (2,1)aabaaabaababaaababbbaab bbbccaaa (6,4)aabaaabaababaaababbbaabbbb ccaaa (17,3)aabaaabaababaaababbbaabbbbc caaa c

aabaaabaababaaababbbaabbbbcc aaa (26,1)aabaaabaababaaababbbaabbbbccaaa (3,3)

Ausgabe:a(0,1)b(0,2)(1,4)(2,2)(2,6)(2,1)(2,1)(6,4)(17,3)c(26,1)(3,3)

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 15/22

Page 41: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Beispiel

Text aabaaabaababaaababbbaabbbbccaaa

Verarbeitete Eingabe Resteingabe Ausgabeaabaaabaababaaababbbaabbbbccaaa

a abaaabaababaaababbbaabbbbccaaa aaa baaabaababaaababbbaabbbbccaaa (0,1)aab aaabaababaaababbbaabbbbccaaa baabaa abaababaaababbbaabbbbccaaa (0,2)aabaaabaa babaaababbbaabbbbccaaa (1,4)aabaaabaaba baaababbbaabbbbccaaa (2,2)aabaaabaababaaaba bbbaabbbbccaaa (2,6)aabaaabaababaaabab bbaabbbbccaaa (2,1)aabaaabaababaaababb baabbbbccaaa (2,1)aabaaabaababaaababbbaab bbbccaaa (6,4)aabaaabaababaaababbbaabbbb ccaaa (17,3)aabaaabaababaaababbbaabbbbc caaa caabaaabaababaaababbbaabbbbcc aaa (26,1)

aabaaabaababaaababbbaabbbbccaaa (3,3)

Ausgabe:a(0,1)b(0,2)(1,4)(2,2)(2,6)(2,1)(2,1)(6,4)(17,3)c(26,1)(3,3)

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 15/22

Page 42: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Beispiel

Text aabaaabaababaaababbbaabbbbccaaa

Verarbeitete Eingabe Resteingabe Ausgabeaabaaabaababaaababbbaabbbbccaaa

a abaaabaababaaababbbaabbbbccaaa aaa baaabaababaaababbbaabbbbccaaa (0,1)aab aaabaababaaababbbaabbbbccaaa baabaa abaababaaababbbaabbbbccaaa (0,2)aabaaabaa babaaababbbaabbbbccaaa (1,4)aabaaabaaba baaababbbaabbbbccaaa (2,2)aabaaabaababaaaba bbbaabbbbccaaa (2,6)aabaaabaababaaabab bbaabbbbccaaa (2,1)aabaaabaababaaababb baabbbbccaaa (2,1)aabaaabaababaaababbbaab bbbccaaa (6,4)aabaaabaababaaababbbaabbbb ccaaa (17,3)aabaaabaababaaababbbaabbbbc caaa caabaaabaababaaababbbaabbbbcc aaa (26,1)aabaaabaababaaababbbaabbbbccaaa (3,3)

Ausgabe:a(0,1)b(0,2)(1,4)(2,2)(2,6)(2,1)(2,1)(6,4)(17,3)c(26,1)(3,3)

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 15/22

Page 43: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Beispiel

Text aabaaabaababaaababbbaabbbbccaaa

Verarbeitete Eingabe Resteingabe Ausgabeaabaaabaababaaababbbaabbbbccaaa

a abaaabaababaaababbbaabbbbccaaa aaa baaabaababaaababbbaabbbbccaaa (0,1)aab aaabaababaaababbbaabbbbccaaa baabaa abaababaaababbbaabbbbccaaa (0,2)aabaaabaa babaaababbbaabbbbccaaa (1,4)aabaaabaaba baaababbbaabbbbccaaa (2,2)aabaaabaababaaaba bbbaabbbbccaaa (2,6)aabaaabaababaaabab bbaabbbbccaaa (2,1)aabaaabaababaaababb baabbbbccaaa (2,1)aabaaabaababaaababbbaab bbbccaaa (6,4)aabaaabaababaaababbbaabbbb ccaaa (17,3)aabaaabaababaaababbbaabbbbc caaa caabaaabaababaaababbbaabbbbcc aaa (26,1)aabaaabaababaaababbbaabbbbccaaa (3,3)

Ausgabe:a(0,1)b(0,2)(1,4)(2,2)(2,6)(2,1)(2,1)(6,4)(17,3)c(26,1)(3,3)

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 15/22

Page 44: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Optimierungen

Zu kurze gefundene Prafixe durch den String nicht durch dieReferenz darstellen.

Zumindest fur einzelne Zeichen

Statta(0,1)b(0,2)(1,4)(2,2)(2,6)(2,1)(2,1)(6,4)(17,3)c(26,1)(3,3)

aab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3)

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 16/22

Page 45: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Dekomprimierung

Komprimierter Reststring Ausgabeaab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) ε

ab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) ab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aa(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aab(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aabaa(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aabaaabaa(2,6)bb(6,4)(17,3)cc(3,3) aabaaabaababb(6,4)(17,3)cc(3,3) aabaaabaababaaabab(6,4)(17,3)cc(3,3) aabaaabaababaaabab(6,4)(17,3)cc(3,3) aabaaabaababaaababb(17,3)cc(3,3) aabaaabaababaaababbbaabcc(3,3) aabaaabaababaaababbbaabbbbc(3,3) aabaaabaababaaababbbaabbbbc(3,3) aabaaabaababaaababbbaabbbbccε aabaaabaababaaababbbaabbbbccaaa

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 17/22

Page 46: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Dekomprimierung

Komprimierter Reststring Ausgabeaab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) εab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) a

b(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aa(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aab(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aabaa(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aabaaabaa(2,6)bb(6,4)(17,3)cc(3,3) aabaaabaababb(6,4)(17,3)cc(3,3) aabaaabaababaaabab(6,4)(17,3)cc(3,3) aabaaabaababaaabab(6,4)(17,3)cc(3,3) aabaaabaababaaababb(17,3)cc(3,3) aabaaabaababaaababbbaabcc(3,3) aabaaabaababaaababbbaabbbbc(3,3) aabaaabaababaaababbbaabbbbc(3,3) aabaaabaababaaababbbaabbbbccε aabaaabaababaaababbbaabbbbccaaa

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 17/22

Page 47: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Dekomprimierung

Komprimierter Reststring Ausgabeaab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) εab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) ab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aa

(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aab(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aabaa(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aabaaabaa(2,6)bb(6,4)(17,3)cc(3,3) aabaaabaababb(6,4)(17,3)cc(3,3) aabaaabaababaaabab(6,4)(17,3)cc(3,3) aabaaabaababaaabab(6,4)(17,3)cc(3,3) aabaaabaababaaababb(17,3)cc(3,3) aabaaabaababaaababbbaabcc(3,3) aabaaabaababaaababbbaabbbbc(3,3) aabaaabaababaaababbbaabbbbc(3,3) aabaaabaababaaababbbaabbbbccε aabaaabaababaaababbbaabbbbccaaa

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 17/22

Page 48: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Dekomprimierung

Komprimierter Reststring Ausgabeaab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) εab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) ab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aa(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aab

(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aabaa(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aabaaabaa(2,6)bb(6,4)(17,3)cc(3,3) aabaaabaababb(6,4)(17,3)cc(3,3) aabaaabaababaaabab(6,4)(17,3)cc(3,3) aabaaabaababaaabab(6,4)(17,3)cc(3,3) aabaaabaababaaababb(17,3)cc(3,3) aabaaabaababaaababbbaabcc(3,3) aabaaabaababaaababbbaabbbbc(3,3) aabaaabaababaaababbbaabbbbc(3,3) aabaaabaababaaababbbaabbbbccε aabaaabaababaaababbbaabbbbccaaa

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 17/22

Page 49: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Dekomprimierung

Komprimierter Reststring Ausgabeaab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) εab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) ab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aa(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aab(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aabaa

(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aabaaabaa(2,6)bb(6,4)(17,3)cc(3,3) aabaaabaababb(6,4)(17,3)cc(3,3) aabaaabaababaaabab(6,4)(17,3)cc(3,3) aabaaabaababaaabab(6,4)(17,3)cc(3,3) aabaaabaababaaababb(17,3)cc(3,3) aabaaabaababaaababbbaabcc(3,3) aabaaabaababaaababbbaabbbbc(3,3) aabaaabaababaaababbbaabbbbc(3,3) aabaaabaababaaababbbaabbbbccε aabaaabaababaaababbbaabbbbccaaa

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 17/22

Page 50: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Dekomprimierung

Komprimierter Reststring Ausgabeaab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) εab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) ab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aa(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aab(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aabaa(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aabaaabaa

(2,6)bb(6,4)(17,3)cc(3,3) aabaaabaababb(6,4)(17,3)cc(3,3) aabaaabaababaaabab(6,4)(17,3)cc(3,3) aabaaabaababaaabab(6,4)(17,3)cc(3,3) aabaaabaababaaababb(17,3)cc(3,3) aabaaabaababaaababbbaabcc(3,3) aabaaabaababaaababbbaabbbbc(3,3) aabaaabaababaaababbbaabbbbc(3,3) aabaaabaababaaababbbaabbbbccε aabaaabaababaaababbbaabbbbccaaa

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 17/22

Page 51: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Dekomprimierung

Komprimierter Reststring Ausgabeaab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) εab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) ab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aa(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aab(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aabaa(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aabaaabaa(2,6)bb(6,4)(17,3)cc(3,3) aabaaabaaba

bb(6,4)(17,3)cc(3,3) aabaaabaababaaabab(6,4)(17,3)cc(3,3) aabaaabaababaaabab(6,4)(17,3)cc(3,3) aabaaabaababaaababb(17,3)cc(3,3) aabaaabaababaaababbbaabcc(3,3) aabaaabaababaaababbbaabbbbc(3,3) aabaaabaababaaababbbaabbbbc(3,3) aabaaabaababaaababbbaabbbbccε aabaaabaababaaababbbaabbbbccaaa

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 17/22

Page 52: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Dekomprimierung

Komprimierter Reststring Ausgabeaab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) εab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) ab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aa(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aab(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aabaa(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aabaaabaa(2,6)bb(6,4)(17,3)cc(3,3) aabaaabaababb(6,4)(17,3)cc(3,3) aabaaabaababaaaba

b(6,4)(17,3)cc(3,3) aabaaabaababaaabab(6,4)(17,3)cc(3,3) aabaaabaababaaababb(17,3)cc(3,3) aabaaabaababaaababbbaabcc(3,3) aabaaabaababaaababbbaabbbbc(3,3) aabaaabaababaaababbbaabbbbc(3,3) aabaaabaababaaababbbaabbbbccε aabaaabaababaaababbbaabbbbccaaa

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 17/22

Page 53: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Dekomprimierung

Komprimierter Reststring Ausgabeaab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) εab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) ab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aa(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aab(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aabaa(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aabaaabaa(2,6)bb(6,4)(17,3)cc(3,3) aabaaabaababb(6,4)(17,3)cc(3,3) aabaaabaababaaabab(6,4)(17,3)cc(3,3) aabaaabaababaaabab

(6,4)(17,3)cc(3,3) aabaaabaababaaababb(17,3)cc(3,3) aabaaabaababaaababbbaabcc(3,3) aabaaabaababaaababbbaabbbbc(3,3) aabaaabaababaaababbbaabbbbc(3,3) aabaaabaababaaababbbaabbbbccε aabaaabaababaaababbbaabbbbccaaa

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 17/22

Page 54: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Dekomprimierung

Komprimierter Reststring Ausgabeaab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) εab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) ab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aa(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aab(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aabaa(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aabaaabaa(2,6)bb(6,4)(17,3)cc(3,3) aabaaabaababb(6,4)(17,3)cc(3,3) aabaaabaababaaabab(6,4)(17,3)cc(3,3) aabaaabaababaaabab(6,4)(17,3)cc(3,3) aabaaabaababaaababb

(17,3)cc(3,3) aabaaabaababaaababbbaabcc(3,3) aabaaabaababaaababbbaabbbbc(3,3) aabaaabaababaaababbbaabbbbc(3,3) aabaaabaababaaababbbaabbbbccε aabaaabaababaaababbbaabbbbccaaa

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 17/22

Page 55: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Dekomprimierung

Komprimierter Reststring Ausgabeaab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) εab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) ab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aa(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aab(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aabaa(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aabaaabaa(2,6)bb(6,4)(17,3)cc(3,3) aabaaabaababb(6,4)(17,3)cc(3,3) aabaaabaababaaabab(6,4)(17,3)cc(3,3) aabaaabaababaaabab(6,4)(17,3)cc(3,3) aabaaabaababaaababb(17,3)cc(3,3) aabaaabaababaaababbbaab

cc(3,3) aabaaabaababaaababbbaabbbbc(3,3) aabaaabaababaaababbbaabbbbc(3,3) aabaaabaababaaababbbaabbbbccε aabaaabaababaaababbbaabbbbccaaa

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 17/22

Page 56: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Dekomprimierung

Komprimierter Reststring Ausgabeaab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) εab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) ab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aa(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aab(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aabaa(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aabaaabaa(2,6)bb(6,4)(17,3)cc(3,3) aabaaabaababb(6,4)(17,3)cc(3,3) aabaaabaababaaabab(6,4)(17,3)cc(3,3) aabaaabaababaaabab(6,4)(17,3)cc(3,3) aabaaabaababaaababb(17,3)cc(3,3) aabaaabaababaaababbbaabcc(3,3) aabaaabaababaaababbbaabbbb

c(3,3) aabaaabaababaaababbbaabbbbc(3,3) aabaaabaababaaababbbaabbbbccε aabaaabaababaaababbbaabbbbccaaa

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 17/22

Page 57: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Dekomprimierung

Komprimierter Reststring Ausgabeaab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) εab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) ab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aa(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aab(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aabaa(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aabaaabaa(2,6)bb(6,4)(17,3)cc(3,3) aabaaabaababb(6,4)(17,3)cc(3,3) aabaaabaababaaabab(6,4)(17,3)cc(3,3) aabaaabaababaaabab(6,4)(17,3)cc(3,3) aabaaabaababaaababb(17,3)cc(3,3) aabaaabaababaaababbbaabcc(3,3) aabaaabaababaaababbbaabbbbc(3,3) aabaaabaababaaababbbaabbbbc

(3,3) aabaaabaababaaababbbaabbbbccε aabaaabaababaaababbbaabbbbccaaa

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 17/22

Page 58: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Dekomprimierung

Komprimierter Reststring Ausgabeaab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) εab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) ab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aa(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aab(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aabaa(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aabaaabaa(2,6)bb(6,4)(17,3)cc(3,3) aabaaabaababb(6,4)(17,3)cc(3,3) aabaaabaababaaabab(6,4)(17,3)cc(3,3) aabaaabaababaaabab(6,4)(17,3)cc(3,3) aabaaabaababaaababb(17,3)cc(3,3) aabaaabaababaaababbbaabcc(3,3) aabaaabaababaaababbbaabbbbc(3,3) aabaaabaababaaababbbaabbbbc(3,3) aabaaabaababaaababbbaabbbbcc

ε aabaaabaababaaababbbaabbbbccaaa

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 17/22

Page 59: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Dekomprimierung

Komprimierter Reststring Ausgabeaab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) εab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) ab(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aa(0,2)(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aab(1,4)(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aabaa(2,2)(2,6)bb(6,4)(17,3)cc(3,3) aabaaabaa(2,6)bb(6,4)(17,3)cc(3,3) aabaaabaababb(6,4)(17,3)cc(3,3) aabaaabaababaaabab(6,4)(17,3)cc(3,3) aabaaabaababaaabab(6,4)(17,3)cc(3,3) aabaaabaababaaababb(17,3)cc(3,3) aabaaabaababaaababbbaabcc(3,3) aabaaabaababaaababbbaabbbbc(3,3) aabaaabaababaaababbbaabbbbc(3,3) aabaaabaababaaababbbaabbbbccε aabaaabaababaaababbbaabbbbccaaa

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 17/22

Page 60: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Aufgabe

Modul LZ

lz77Compress, lz77Decompress zur Implementierung derLZ-Kompression / Dekompression

Konsolenprogramm, dass Dateien komprimiert /dekomprimiert

Verknupfung Huffman und LZ77

Optimieren: Wenn Stringreferenz langer als String, dannString speichern

Laufzeit optimieren / Kompression verschlechtern:Suchfenster (bereits gelesene Eingabe) auf Anzahl begrenzen,Konsolenprogramm dafur anpassen

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 18/22

Page 61: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Lempel-Ziv-Welch Algorithmus

Ahnlich zu LZ77

Baut ein Worterbuch bekannter Strings auf

Benutzt Worterbuch zum Komprimieren der Resteingabe

Sei

D das Worterbuch

ti . . . tn die Resteingabe.

Am Anfang alle Zeichen schon im Worterbuch

Vorgehen

Berechne langsten Prafix von ti, . . . , tn der in D vorkommt.

Sei dies ti, . . . , tm mit Schlussel k in D

Ersetze ti, . . . , tm durch k fur die Ausgabe

Fuge ins Worterbuch ein: ti, . . . , tm+1 (falls m 6= n)Beachte: Es genugt k und tm+1 zu speichern.

mache mit tm+1, . . . , tn weiter

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 19/22

Page 62: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Beispiel

WorterbuchSchlussel Prafix Suffix Wort

1 a a2 b b3 c c Resteingabe Ausgabe

aabaaabaababaaababbbaabbbbccaaa 1

4 1 a aa abaaabaababaaababbbaabbbbccaaa 15 1 b ab baaabaababaaababbbaabbbbccaaa 26 2 a ba aaabaababaaababbbaabbbbccaaa 47 4 a aaa abaababaaababbbaabbbbccaaa 58 5 a aba aababaaababbbaabbbbccaaa 49 4 b aab babaaababbbaabbbbccaaa 6

10 6 b bab baaababbbaabbbbccaaa 611 6 a baa aababbbaabbbbccaaa 912 9 a aaba abbbaabbbbccaaa 513 5 b abb bbaabbbbccaaa 214 2 b bb baabbbbccaaa 1115 11 b baab bbbbccaaa 1416 14 b bbb bbccaaa 1417 14 c bbc ccaaa 318 3 c cc caaa 319 3 a ca aaa 7

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 20/22

Page 63: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Beispiel

WorterbuchSchlussel Prafix Suffix Wort

1 a a2 b b3 c c Resteingabe Ausgabe

aabaaabaababaaababbbaabbbbccaaa 1

4 1 a aa abaaabaababaaababbbaabbbbccaaa 15 1 b ab baaabaababaaababbbaabbbbccaaa 26 2 a ba aaabaababaaababbbaabbbbccaaa 47 4 a aaa abaababaaababbbaabbbbccaaa 58 5 a aba aababaaababbbaabbbbccaaa 49 4 b aab babaaababbbaabbbbccaaa 6

10 6 b bab baaababbbaabbbbccaaa 611 6 a baa aababbbaabbbbccaaa 912 9 a aaba abbbaabbbbccaaa 513 5 b abb bbaabbbbccaaa 214 2 b bb baabbbbccaaa 1115 11 b baab bbbbccaaa 1416 14 b bbb bbccaaa 1417 14 c bbc ccaaa 318 3 c cc caaa 319 3 a ca aaa 7

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 20/22

Page 64: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Beispiel

WorterbuchSchlussel Prafix Suffix Wort

1 a a2 b b3 c c Resteingabe Ausgabe

aabaaabaababaaababbbaabbbbccaaa 14 1 a aa abaaabaababaaababbbaabbbbccaaa 1

5 1 b ab baaabaababaaababbbaabbbbccaaa 26 2 a ba aaabaababaaababbbaabbbbccaaa 47 4 a aaa abaababaaababbbaabbbbccaaa 58 5 a aba aababaaababbbaabbbbccaaa 49 4 b aab babaaababbbaabbbbccaaa 6

10 6 b bab baaababbbaabbbbccaaa 611 6 a baa aababbbaabbbbccaaa 912 9 a aaba abbbaabbbbccaaa 513 5 b abb bbaabbbbccaaa 214 2 b bb baabbbbccaaa 1115 11 b baab bbbbccaaa 1416 14 b bbb bbccaaa 1417 14 c bbc ccaaa 318 3 c cc caaa 319 3 a ca aaa 7

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 20/22

Page 65: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Beispiel

WorterbuchSchlussel Prafix Suffix Wort

1 a a2 b b3 c c Resteingabe Ausgabe

aabaaabaababaaababbbaabbbbccaaa 14 1 a aa abaaabaababaaababbbaabbbbccaaa 15 1 b ab baaabaababaaababbbaabbbbccaaa 2

6 2 a ba aaabaababaaababbbaabbbbccaaa 47 4 a aaa abaababaaababbbaabbbbccaaa 58 5 a aba aababaaababbbaabbbbccaaa 49 4 b aab babaaababbbaabbbbccaaa 6

10 6 b bab baaababbbaabbbbccaaa 611 6 a baa aababbbaabbbbccaaa 912 9 a aaba abbbaabbbbccaaa 513 5 b abb bbaabbbbccaaa 214 2 b bb baabbbbccaaa 1115 11 b baab bbbbccaaa 1416 14 b bbb bbccaaa 1417 14 c bbc ccaaa 318 3 c cc caaa 319 3 a ca aaa 7

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 20/22

Page 66: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Beispiel

WorterbuchSchlussel Prafix Suffix Wort

1 a a2 b b3 c c Resteingabe Ausgabe

aabaaabaababaaababbbaabbbbccaaa 14 1 a aa abaaabaababaaababbbaabbbbccaaa 15 1 b ab baaabaababaaababbbaabbbbccaaa 26 2 a ba aaabaababaaababbbaabbbbccaaa 4

7 4 a aaa abaababaaababbbaabbbbccaaa 58 5 a aba aababaaababbbaabbbbccaaa 49 4 b aab babaaababbbaabbbbccaaa 6

10 6 b bab baaababbbaabbbbccaaa 611 6 a baa aababbbaabbbbccaaa 912 9 a aaba abbbaabbbbccaaa 513 5 b abb bbaabbbbccaaa 214 2 b bb baabbbbccaaa 1115 11 b baab bbbbccaaa 1416 14 b bbb bbccaaa 1417 14 c bbc ccaaa 318 3 c cc caaa 319 3 a ca aaa 7

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 20/22

Page 67: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Beispiel

WorterbuchSchlussel Prafix Suffix Wort

1 a a2 b b3 c c Resteingabe Ausgabe

aabaaabaababaaababbbaabbbbccaaa 14 1 a aa abaaabaababaaababbbaabbbbccaaa 15 1 b ab baaabaababaaababbbaabbbbccaaa 26 2 a ba aaabaababaaababbbaabbbbccaaa 47 4 a aaa abaababaaababbbaabbbbccaaa 5

8 5 a aba aababaaababbbaabbbbccaaa 49 4 b aab babaaababbbaabbbbccaaa 6

10 6 b bab baaababbbaabbbbccaaa 611 6 a baa aababbbaabbbbccaaa 912 9 a aaba abbbaabbbbccaaa 513 5 b abb bbaabbbbccaaa 214 2 b bb baabbbbccaaa 1115 11 b baab bbbbccaaa 1416 14 b bbb bbccaaa 1417 14 c bbc ccaaa 318 3 c cc caaa 319 3 a ca aaa 7

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 20/22

Page 68: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Beispiel

WorterbuchSchlussel Prafix Suffix Wort

1 a a2 b b3 c c Resteingabe Ausgabe

aabaaabaababaaababbbaabbbbccaaa 14 1 a aa abaaabaababaaababbbaabbbbccaaa 15 1 b ab baaabaababaaababbbaabbbbccaaa 26 2 a ba aaabaababaaababbbaabbbbccaaa 47 4 a aaa abaababaaababbbaabbbbccaaa 58 5 a aba aababaaababbbaabbbbccaaa 4

9 4 b aab babaaababbbaabbbbccaaa 610 6 b bab baaababbbaabbbbccaaa 611 6 a baa aababbbaabbbbccaaa 912 9 a aaba abbbaabbbbccaaa 513 5 b abb bbaabbbbccaaa 214 2 b bb baabbbbccaaa 1115 11 b baab bbbbccaaa 1416 14 b bbb bbccaaa 1417 14 c bbc ccaaa 318 3 c cc caaa 319 3 a ca aaa 7

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 20/22

Page 69: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Beispiel

WorterbuchSchlussel Prafix Suffix Wort

1 a a2 b b3 c c Resteingabe Ausgabe

aabaaabaababaaababbbaabbbbccaaa 14 1 a aa abaaabaababaaababbbaabbbbccaaa 15 1 b ab baaabaababaaababbbaabbbbccaaa 26 2 a ba aaabaababaaababbbaabbbbccaaa 47 4 a aaa abaababaaababbbaabbbbccaaa 58 5 a aba aababaaababbbaabbbbccaaa 49 4 b aab babaaababbbaabbbbccaaa 6

10 6 b bab baaababbbaabbbbccaaa 611 6 a baa aababbbaabbbbccaaa 912 9 a aaba abbbaabbbbccaaa 513 5 b abb bbaabbbbccaaa 214 2 b bb baabbbbccaaa 1115 11 b baab bbbbccaaa 1416 14 b bbb bbccaaa 1417 14 c bbc ccaaa 318 3 c cc caaa 319 3 a ca aaa 7

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 20/22

Page 70: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Beispiel

WorterbuchSchlussel Prafix Suffix Wort

1 a a2 b b3 c c Resteingabe Ausgabe

aabaaabaababaaababbbaabbbbccaaa 14 1 a aa abaaabaababaaababbbaabbbbccaaa 15 1 b ab baaabaababaaababbbaabbbbccaaa 26 2 a ba aaabaababaaababbbaabbbbccaaa 47 4 a aaa abaababaaababbbaabbbbccaaa 58 5 a aba aababaaababbbaabbbbccaaa 49 4 b aab babaaababbbaabbbbccaaa 6

10 6 b bab baaababbbaabbbbccaaa 6

11 6 a baa aababbbaabbbbccaaa 912 9 a aaba abbbaabbbbccaaa 513 5 b abb bbaabbbbccaaa 214 2 b bb baabbbbccaaa 1115 11 b baab bbbbccaaa 1416 14 b bbb bbccaaa 1417 14 c bbc ccaaa 318 3 c cc caaa 319 3 a ca aaa 7

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 20/22

Page 71: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Beispiel

WorterbuchSchlussel Prafix Suffix Wort

1 a a2 b b3 c c Resteingabe Ausgabe

aabaaabaababaaababbbaabbbbccaaa 14 1 a aa abaaabaababaaababbbaabbbbccaaa 15 1 b ab baaabaababaaababbbaabbbbccaaa 26 2 a ba aaabaababaaababbbaabbbbccaaa 47 4 a aaa abaababaaababbbaabbbbccaaa 58 5 a aba aababaaababbbaabbbbccaaa 49 4 b aab babaaababbbaabbbbccaaa 6

10 6 b bab baaababbbaabbbbccaaa 611 6 a baa aababbbaabbbbccaaa 9

12 9 a aaba abbbaabbbbccaaa 513 5 b abb bbaabbbbccaaa 214 2 b bb baabbbbccaaa 1115 11 b baab bbbbccaaa 1416 14 b bbb bbccaaa 1417 14 c bbc ccaaa 318 3 c cc caaa 319 3 a ca aaa 7

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 20/22

Page 72: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Beispiel

WorterbuchSchlussel Prafix Suffix Wort

1 a a2 b b3 c c Resteingabe Ausgabe

aabaaabaababaaababbbaabbbbccaaa 14 1 a aa abaaabaababaaababbbaabbbbccaaa 15 1 b ab baaabaababaaababbbaabbbbccaaa 26 2 a ba aaabaababaaababbbaabbbbccaaa 47 4 a aaa abaababaaababbbaabbbbccaaa 58 5 a aba aababaaababbbaabbbbccaaa 49 4 b aab babaaababbbaabbbbccaaa 6

10 6 b bab baaababbbaabbbbccaaa 611 6 a baa aababbbaabbbbccaaa 912 9 a aaba abbbaabbbbccaaa 5

13 5 b abb bbaabbbbccaaa 214 2 b bb baabbbbccaaa 1115 11 b baab bbbbccaaa 1416 14 b bbb bbccaaa 1417 14 c bbc ccaaa 318 3 c cc caaa 319 3 a ca aaa 7

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 20/22

Page 73: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Beispiel

WorterbuchSchlussel Prafix Suffix Wort

1 a a2 b b3 c c Resteingabe Ausgabe

aabaaabaababaaababbbaabbbbccaaa 14 1 a aa abaaabaababaaababbbaabbbbccaaa 15 1 b ab baaabaababaaababbbaabbbbccaaa 26 2 a ba aaabaababaaababbbaabbbbccaaa 47 4 a aaa abaababaaababbbaabbbbccaaa 58 5 a aba aababaaababbbaabbbbccaaa 49 4 b aab babaaababbbaabbbbccaaa 6

10 6 b bab baaababbbaabbbbccaaa 611 6 a baa aababbbaabbbbccaaa 912 9 a aaba abbbaabbbbccaaa 513 5 b abb bbaabbbbccaaa 2

14 2 b bb baabbbbccaaa 1115 11 b baab bbbbccaaa 1416 14 b bbb bbccaaa 1417 14 c bbc ccaaa 318 3 c cc caaa 319 3 a ca aaa 7

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 20/22

Page 74: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Beispiel

WorterbuchSchlussel Prafix Suffix Wort

1 a a2 b b3 c c Resteingabe Ausgabe

aabaaabaababaaababbbaabbbbccaaa 14 1 a aa abaaabaababaaababbbaabbbbccaaa 15 1 b ab baaabaababaaababbbaabbbbccaaa 26 2 a ba aaabaababaaababbbaabbbbccaaa 47 4 a aaa abaababaaababbbaabbbbccaaa 58 5 a aba aababaaababbbaabbbbccaaa 49 4 b aab babaaababbbaabbbbccaaa 6

10 6 b bab baaababbbaabbbbccaaa 611 6 a baa aababbbaabbbbccaaa 912 9 a aaba abbbaabbbbccaaa 513 5 b abb bbaabbbbccaaa 214 2 b bb baabbbbccaaa 11

15 11 b baab bbbbccaaa 1416 14 b bbb bbccaaa 1417 14 c bbc ccaaa 318 3 c cc caaa 319 3 a ca aaa 7

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 20/22

Page 75: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Beispiel

WorterbuchSchlussel Prafix Suffix Wort

1 a a2 b b3 c c Resteingabe Ausgabe

aabaaabaababaaababbbaabbbbccaaa 14 1 a aa abaaabaababaaababbbaabbbbccaaa 15 1 b ab baaabaababaaababbbaabbbbccaaa 26 2 a ba aaabaababaaababbbaabbbbccaaa 47 4 a aaa abaababaaababbbaabbbbccaaa 58 5 a aba aababaaababbbaabbbbccaaa 49 4 b aab babaaababbbaabbbbccaaa 6

10 6 b bab baaababbbaabbbbccaaa 611 6 a baa aababbbaabbbbccaaa 912 9 a aaba abbbaabbbbccaaa 513 5 b abb bbaabbbbccaaa 214 2 b bb baabbbbccaaa 1115 11 b baab bbbbccaaa 14

16 14 b bbb bbccaaa 1417 14 c bbc ccaaa 318 3 c cc caaa 319 3 a ca aaa 7

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 20/22

Page 76: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Beispiel

WorterbuchSchlussel Prafix Suffix Wort

1 a a2 b b3 c c Resteingabe Ausgabe

aabaaabaababaaababbbaabbbbccaaa 14 1 a aa abaaabaababaaababbbaabbbbccaaa 15 1 b ab baaabaababaaababbbaabbbbccaaa 26 2 a ba aaabaababaaababbbaabbbbccaaa 47 4 a aaa abaababaaababbbaabbbbccaaa 58 5 a aba aababaaababbbaabbbbccaaa 49 4 b aab babaaababbbaabbbbccaaa 6

10 6 b bab baaababbbaabbbbccaaa 611 6 a baa aababbbaabbbbccaaa 912 9 a aaba abbbaabbbbccaaa 513 5 b abb bbaabbbbccaaa 214 2 b bb baabbbbccaaa 1115 11 b baab bbbbccaaa 1416 14 b bbb bbccaaa 14

17 14 c bbc ccaaa 318 3 c cc caaa 319 3 a ca aaa 7

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 20/22

Page 77: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Beispiel

WorterbuchSchlussel Prafix Suffix Wort

1 a a2 b b3 c c Resteingabe Ausgabe

aabaaabaababaaababbbaabbbbccaaa 14 1 a aa abaaabaababaaababbbaabbbbccaaa 15 1 b ab baaabaababaaababbbaabbbbccaaa 26 2 a ba aaabaababaaababbbaabbbbccaaa 47 4 a aaa abaababaaababbbaabbbbccaaa 58 5 a aba aababaaababbbaabbbbccaaa 49 4 b aab babaaababbbaabbbbccaaa 6

10 6 b bab baaababbbaabbbbccaaa 611 6 a baa aababbbaabbbbccaaa 912 9 a aaba abbbaabbbbccaaa 513 5 b abb bbaabbbbccaaa 214 2 b bb baabbbbccaaa 1115 11 b baab bbbbccaaa 1416 14 b bbb bbccaaa 1417 14 c bbc ccaaa 3

18 3 c cc caaa 319 3 a ca aaa 7

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 20/22

Page 78: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Beispiel

WorterbuchSchlussel Prafix Suffix Wort

1 a a2 b b3 c c Resteingabe Ausgabe

aabaaabaababaaababbbaabbbbccaaa 14 1 a aa abaaabaababaaababbbaabbbbccaaa 15 1 b ab baaabaababaaababbbaabbbbccaaa 26 2 a ba aaabaababaaababbbaabbbbccaaa 47 4 a aaa abaababaaababbbaabbbbccaaa 58 5 a aba aababaaababbbaabbbbccaaa 49 4 b aab babaaababbbaabbbbccaaa 6

10 6 b bab baaababbbaabbbbccaaa 611 6 a baa aababbbaabbbbccaaa 912 9 a aaba abbbaabbbbccaaa 513 5 b abb bbaabbbbccaaa 214 2 b bb baabbbbccaaa 1115 11 b baab bbbbccaaa 1416 14 b bbb bbccaaa 1417 14 c bbc ccaaa 318 3 c cc caaa 3

19 3 a ca aaa 7

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 20/22

Page 79: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Beispiel

WorterbuchSchlussel Prafix Suffix Wort

1 a a2 b b3 c c Resteingabe Ausgabe

aabaaabaababaaababbbaabbbbccaaa 14 1 a aa abaaabaababaaababbbaabbbbccaaa 15 1 b ab baaabaababaaababbbaabbbbccaaa 26 2 a ba aaabaababaaababbbaabbbbccaaa 47 4 a aaa abaababaaababbbaabbbbccaaa 58 5 a aba aababaaababbbaabbbbccaaa 49 4 b aab babaaababbbaabbbbccaaa 6

10 6 b bab baaababbbaabbbbccaaa 611 6 a baa aababbbaabbbbccaaa 912 9 a aaba abbbaabbbbccaaa 513 5 b abb bbaabbbbccaaa 214 2 b bb baabbbbccaaa 1115 11 b baab bbbbccaaa 1416 14 b bbb bbccaaa 1417 14 c bbc ccaaa 318 3 c cc caaa 319 3 a ca aaa 7

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 20/22

Page 80: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Beispiel (2)

Ergebnis

Code: 1,1,2,4,5,6,6,9,5,2,11,14,14,3,3,7

Worterbuch:

{1 7→ a, 2 7→ b, 3 7→ c, 4 7→ 1a, 5 7→ 1b, 6 7→ 2a, 7 7→ 4a, 8 7→ 5a,9 7→ 4b, 10 7→ 6b, 11 7→ 6a, 12 7→ 9a, 13 7→ 5b, 14 7→ 2b,15 7→ 11b, 16 7→ 14b, 17 7→ 14c, 18 7→ 3c, 19 7→ 3c}

Worterbuch ist wie eine kontextfreie Grammatik

Dekomprimieren entspricht Herleitung

Code braucht nicht komplett gespeichert werden, wenn mandie Reihenfolge im Worterbuch beachtet

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 21/22

Page 81: Praktikum BKSPP: [2ex] Blatt 2 - Goethe University Frankfurt · 2014-10-30 · Zeichenbasierte KomprimierungStringersatzverfahrenCodeb aume Hu man-Kodierung Hu man-Kodierung Seit

Zeichenbasierte Komprimierung Stringersatzverfahren Run Length Encoding LZ-Komprimierung LZW-Komprimierung

Aufgabe

LZW-Algorithmus in Haskell implementieren

Dabei effiziente Datenstrukturen benutzen

LZW mit Huffmankodierung verknupfen

Konsolenprogramm zur LZW-Kompression von Dateien

D. Sabel · WS 2014/15 · Praktikum BKSPP: Blatt 2 22/22