Algorithmen und Datenstrukturen 2-3. Seminar -

Größe: px
Ab Seite anzeigen:

Download "Algorithmen und Datenstrukturen 2-3. Seminar -"

Transkript

1 Algorithmen und Datenstrukturen 2-3. Seminar - Dominic Rose Bioinformatics Group, University of Leipzig Sommersemster 2010

2 Outline 3. Übungsserie: 3 Aufgaben, insgesamt 30 Punkte A7 Huffmann-Codierung (14 Punkte) A8 LZ77 (8 Punkte) A9 Burrows-Wheeler Transform (8 Punkte)

3 Wiederholung: Datenkompression Erreicht durch günstige Repräsentation der Daten wobei Redundanz vermieden und Entropie erhöht wird Aber: Auch durch Weglassen von Information! Verlustfrei: Daten können originalgetreu wiederhergestellt werden. Reduktion von Redundanz. Verlustbehaftet: Daten können nicht wieder vollständig rekonstruiert werden. Verlustbehaftete Kompression reduziert Information. Entbehrliche Information wird weggelassen. Durch Informationsverlust kann die ursprüngliche Information aber nicht exakt wiederhergestellt werden. Verschiedene Verfahren erzeugen unterschiedlich hohe Kompressionsraten.

4 Einsatzgebiete: Wiederholung: Datenkompression Speicherung von Bildern, Ton, Film Meist verlustbehaftete Kompression. zb JPEG: Unschärfe, Artefakte usw

5 Wiederholung: Datenkompression Game Boy Advance Game Boy Advance GBA vs. Photoshop

6 Wiederholung: Datenkompression Einsatzgebiete: Speicherung von Text oft Einsparung von 80-90% der Originalgröße möglich simpel: Lauflängencodierung: AAAAA 5A z.b. Bioinformatik. Erbgut des Menschen, chr21: 46M GAATATTTTAGATATTGGGGTTGTTTTTTAGTTGAAATAATAAGCGGTTT TACCGAGTTGCCAGTAGTGGTTTAACATTGAAGATAATTTAACATTCATG ATTTTGTGAGTTTAATTTATTAGCTCTATAAGGGTTGTTTAAGTACTCTG AAGGCTTTATTTGTTAGTCCGATAATTAAAATGTTCATAAAGATAATTCA ACATATTAAATTTGTAAATGTAGTTTAAAATCTTTAAGGGAGTTTAATTA gzip: 46M 11M

7 Wiederholung: Datenkompression Kompression durch Codierung Aber: Wird z. B. das Zeichen A mit der Bitfolge 10, das Zeichen B mit der Folge 01 und C mit 0 codiert, dann wird die Zeichenkette ABC zu Diese Folge wird aber auch von der Zeichenkette ACA erzeugt. Es ist also nicht mehr eindeutig erkennbar, für welche Zeichenfolge die Bitfolge steht. Mehrdeutigkeit verhindern: präfixfreie Codes! d. h. keine Bitfolge, die für ein einzelnes Zeichen steht, darf am Anfang eines anderen Zeichens stehen. War im Beispiel nicht erfüllt, da die Bitfolge 0 (C), am Anfang der B zugewiesenen Folge steht. Wie kann nun ein präfixfreier Code erzeugt werden?

8 Wiederholung: Datenkompression Grundidee: Repräsentiere Code mittels Binär-Baum (Trie bzw. Präfixbaum). Blätter stehen für die zu kodierenden Zeichen Pfad von der Wurzel zum Blatt bestimmt die Bitfolge. Problem: Wie erstellt man solch einen Baum effizient? Welche Eigenschaften muss ein guter Code (der Baum) haben?

9 Wiederholung: Datenkompression Verschiedene Verfahren zur Berechnung eines solchen Baumes, z.b. Shannon-Fano Huffman

10 Shannon-Fano: Wiederholung: Datenkompression Zeichen mit ähnlichen Wahrscheinlichkeiten enden oft im selben Teilbaum; L(C) = mittlere Codewortlänge

11 Wiederholung: Datenkompression Shannon-Fano nicht immer optimal. Huffman liefert beweisbar immer einen optimalen Baum für gegebene Wahrscheinlichkeiten:

12 Aufgabe 7 Gegeben seien die Zeichenketten S 1 = HASEN ABER HABEN ALLE ALLELE S 2 = ANANASSAHNE AN NASE

13 Aufgabe 7 Gegeben seien die Zeichenketten S 1 = HASEN ABER HABEN ALLE ALLELE S 2 = ANANASSAHNE AN NASE a) Zählen Sie separat in S 1 und S 2 die Häufigkeiten der Zeichen und geben Sie diese in je einer Tabelle für S 1 und S 2 an. Versichern Sie Sich, dass Ihre Zählung stimmt, damit Sie die beiden folgenden Teilaufgaben auch richtig lösen können. (2 Punkte)

14 Aufgabe 7 Gegeben seien die Zeichenketten S 1 = HASEN ABER HABEN ALLE ALLELE S 2 = ANANASSAHNE AN NASE a) Zählen Sie separat in S 1 und S 2 die Häufigkeiten der Zeichen und geben Sie diese in je einer Tabelle für S 1 und S 2 an. Versichern Sie Sich, dass Ihre Zählung stimmt, damit Sie die beiden folgenden Teilaufgaben auch richtig lösen können. (2 Punkte) S 1 : S 2 : A B E H L N R S A E H N S

15 Aufgabe 7 b) Konstruieren Sie anhand der in S 1 und S 2 ermittelten Häufigkeiten die entsprechenden Huffman-Codierungs-Bäume T 1 und T 2. Gibt es mehr als einen Baum mit minimaler Häufigkeit, so wird jeweils derjenige ausgewählt, der das am frühesten im Alphabet erscheinende Zeichen enthält. Das Leerzeichen kommt alphabetisch vor A. (6 Punkte)

16 Aufgabe 7 S 1 : A B E H L N R S S 2 : A E H N S

17 Aufgabe 7 S 1 : A B E H L N R S S 2 : A E H N S

18 Aufgabe 7 c) Kodieren Sie die Zeichenkette S 1 mit T 1 ; und kodieren Sie die Zeichenkette S 2 sowohl mit T 1 als auch mit T 2. (6 Punkte) Codes von T 1 : =100, A=110, B=1010, E=00, H=1011, L=01, N=1111, R=11100, S=11101 S 1 = HASEN ABER HABEN ALLE ALLELE kodiert mit T 1 :

19 Aufgabe 7 S 2 = ANANASSAHNE AN NASE Codes von T 1 : =100, A=110, B=1010, E=00, H=1011, L=01, N=1111, R=11100, S=11101 S 2 kodiert mit T 1 : bits Codes von T 2 : =0001, A=11, E=001, H=0000, N=10, S=01 S 2 kodiert mit T 2 : bits

20 Langweilig? Motivation: Telefax: Huffman + Lauflängenkodierung Um nicht für jedes Fax einen neuen Codebaum erzeugen und übertragen zu müssen wurden typische Faxseiten analysiert und Häufigkeitstabelle von typischen schwarz/weißen Punktfolgen erstellt. Daraus Codetabelle mittels Huffman-Algorithmus erzeugt und fest in die Faxgeräte integriert. z.b. 20 aufeinander folgende weiße Bildpunkte werden mit codiert. Statt 20 Bit bei einzelner Übertragung müssen hier nur 7 Bit übertragen werden. Eingesparte Datenmenge und Übertragungszeit: ca. 5-20%.

21 Wiederholung: LZW Lempel-Ziv-Welch, z. B. in gif Wörterbuchverfahren (wie alle LZ-Varianten) Prinzip: Häufige Motive durch Code ersetzen, indem nach und nach ein Wörterbuch aufgebaut wird. Das Wörterbuch wird mit ASCII-Tabelle initialisiert (256 Zeichen). Die zu komprimierende Datei wird in Byte-Ketten aufgeteilt, jede dieser Ketten wird mit dem Wörterbuch verglichen und hinzugefügt, falls sie nicht vorhanden ist. Vorteil: Wörterbuch (bis auf ASCII-Tabelle) wird zur Laufzeit erstellt.

22 Beispiel: Wiederholung: LZW

23 Wiederholung: LZW Beispiel: Kompression (im Wörterbuch steht bereits 1: A, 2: B, 3: C): Bei der Kompression wird zum nächsten Eingabetext eine möglichst lange Zeichenkette im Wörterbuch gesucht und als Index ausgegeben. Die Zeichenkette zusammen mit dem ersten nicht passenden Zeichen wird in das Wörterbuch übernommen.

24 Wiederholung: LZW Beispiel: Dekompression (im Wörterbuch steht bereits 1: A, 2: B, 3: C):

25 Wiederholung: LZ77 sliding window Verfahren. Fenster beliebiger konstanter Größe wird in einen Vorschau-Puffer und ein Text-Feld (Wörterbuch) eingeteilt. Das Fenster wandert über den zu komprimierenden Text, wobei der Inhalt des Vorschau-Puffers zu komprimieren ist und im Wörterbuch bereits komprimierte Zeichenketten liegen, die wieder nachgeschlagen werden.

26 Wiederholung: LZ77

27 Wiederholung: LZ77 Beispiel: Komprimieren des Wortes ANANAS (8 Zeichen großes Wörterbuch, 4 Zeichen Vorschau-Puffer) Wikipedia-Version (!= Vorlesung *g*)

28 Wiederholung: LZ77 Beispiel: Dekomprimieren des Wortes ANANAS (8 Zeichen großes Wörterbuch, 4 Zeichen Vorschau-Puffer) Wikipedia-Version (!= Vorlesung *g*)

29 Wiederholung: LZ77 Beispiel: Dekomprimieren des Wortes ANANAS (8 Zeichen großes Wörterbuch, 4 Zeichen Vorschau-Puffer) Wikipedia-Version (!= Vorlesung *g*)

30 Wiederholung: LZ77 Vorlesungskonform(er):

31 Aufgabe 8 Wenden Sie den Algorithmus LZ77 (Sliding Window Lempel-Ziv ohne Optimierungen, laut Vorlesung) auf S 1 und auf S 2 an. Der Buffer fasse 4 Zeichen. Geben Sie die erzeugte Ausgabe bei Längen 5 und 15 des Dictionary jeweils für die Zeichenketten S 1 und S 2 an. Sie müssen also insgesamt vier Läufe des LZ77 durchführen. (8 Punkte)

32 Aufgabe 8 S 1 = HASEN ABER HABEN ALLE ALLELE, buffer=4, dict=5, LZ77?

33 Aufgabe 8 S 1 = HASEN ABER HABEN ALLE ALLELE, buffer=4, dict=5 01 HASE N_ABER_HABEN_ALLE_ALLELE (0,0,H) 02 H ASEN _ (0,0,A) 03 HA SEN_ A (0,0,S) 04 HAS EN_A B (0,0,E) 05 HASE N_AB E (0,0,N) 06 HASEN _ABE R (0,0,_) 07 ASEN_ ABER _ (5,1,B) 08 EN_AB ER_H H (5,1,R) 09 _ABER _HAB E (5,1,H) 10 BER_H ABEN _ (0,0,A) 11 ER_HA BEN_ A (0,0,B) 12 R_HAB EN_A L (0,0,E) 13 _HABE N_AL L (0,0,N) 14 HABEN _ALL E (0,0,_) 15 ABEN_ ALLE _ (5,1,L) 16 EN_AL LE_A L (1,1,E) 17 _ALLE _ALL E (5,4,E) 18 _ALLE LE (2,2,eof)

34 Aufgabe 8 S 1 = HASEN ABER HABEN ALLE ALLELE, buffer=4, dict=15 01 HASE N_ABER_HABEN_ALLE_ALLELE (0,0,H) 02 H ASEN _ (0,0,A) 03 HA SEN_ A (0,0,S) 04 HAS EN_A B (0,0,E) 05 HASE N_AB E (0,0,N) 06 HASEN _ABE R (0,0,_) 07 HASEN_ ABER _ (5,1,B) 08 HASEN_AB ER_HA B (5,1,R) 09 HASEN_ABER _HAB E (5,1,H) 10 HASEN_ABER_H ABEN _ (6,3,N) 11 ASEN_ABER_HABEN _ALL E (11,2,L) 12 N_ABER_HABEN_AL LE_A L (1,1,E) 13 ABER_HABEN_ALLE _ALL E (5,4,E) 14 R_HABEN_ALLE_ALLE LE (2,2,eof) Vorher 18 Codier-Vorgänge!

35 Aufgabe 8 S 2 = ANANASSAHNE AN NASE, buffer=4, dict=5, LZ77?

36 Aufgabe 8 S 2 = ANANASSAHNE AN NASE, buffer=4, dict=5 01 ANAN ASSAHNE_AN_NASE (0,0,A) 02 A NANA S (0,0,N) 03 AN ANAS S (2,3,S) 04 NANAS SAHN E (1,1,A) 05 NASSA HNE_ A (0,0,H) 06 ASSAH NE_A N (0,0,N) 07 SSAHN E_AN _ (0,0,E) 08 SAHNE _AN_ N (0,0,_) 09 AHNE_ AN_N A (5,1,N) 10 NE_AN _NAS E (3,1,N) 11 _AN_N ASE (4,1,S) 12 N_NAS E (0,0,E)

37 Aufgabe 8 S 2 = ANANASSAHNE AN NASE, buffer=4, dict=15 01 ANAN ASSAHNE_AN_NASE (0,0,A) 02 A NANA S (0,0,N) 03 AN ANAS S (2,3,S) 04 ANANAS SAHN E (1,1,A) 05 ANANASSA HNE_ A (0,0,H) 06 ANANASSAH NE_A N (6,1,E) 07 ANANASSAHNE _AN_ N (0,0,_) 08 ANANASSAHNE_ AN_N A (10,2,_) 09 ANANASSAHNE_AN_ NASE (12,3,E) 12 vs. 9 Codier-Vorgänge!

38 Aufgabe 8 LZ77: Die Kompressionsgüte ist direkt vom Lexikon abhängig. Um gute Kompressionsraten zu erhalten, muss das Fenster eine gewisse Mindestgröße erreichen. Da aber der zu komprimierende Text mit jedem Eintrag im Lexikon verglichen werden muss, steigt die zum Komprimieren benötigte Zeit mit der Größe des Fensters stark an. LZ77 (LZSS) + Huffman deflate, zlib (gzip), PNG,...

39 Burrows-Wheeler Transform (BWT) Komprimiert nicht selbst! BWT nutzt Tatsache aus, dass viele Worte/Silben in natürlicher Sprache mit nur wenigen Buchstaben begonnen werden Gleichartige Silben werden zusammensortiert. Diese können dann wieder mit bekannten Algorithmen komprimiert werden

40 Burrows-Wheeler Transform (BWT) (Achtung: VL-konform nach links rotieren *g*)

41 Burrows-Wheeler Transform (BWT)

42 Burrows-Wheeler Transform (BWT)

43 Aufgabe 9 Wenden Sie die Burrows-Wheeler-Transformation auf S 1 und S 2 an. Geben Sie als Zwischenergebnis die Sortierung der Teilstrings an, entweder in Form der Matrix mit allen rotierten Versionen der Zeichenketten nach alphabetischer Sortierung (vgl. Vorlesung) oder (platzsparender), durch Angabe des Sortierranges bei jedem Zeichen in den Original-Zeichenketten S 1 und S 2. Geben Sie als Endergebnis die permutierten Zeichenketten und die Zeilennummer des Originalblocks an. Die Zeilennummerierung beginne bei 0. (8 Punkte)

44 Aufgabe 9 - S 1 (Index=18) unsortiert sortiert Index Anfang Ende Index Anfang Ende 0 HASEN E 5 N 1 ASEN H 16 N 2 SEN A A 21 E 3 EN A S 10 R 4 N ABE E 12 A H 5 ABER N 6 A 6 ABER 17 A 7 BER A 22 A 8 ER HA B 1 A H 9 R HAB E 13 B A 10 HABE R 7 B A 11 HABEN 20 E L 12 ABEN H 27 E L 13 BEN A 25 E L 14 EN AL B 3 E S 15 N ALL E 14 E B 16 ALLE N 8 E B 17 ALLE 11 H 18 LLE A 0 H E 19 LE A L 19 L L 20 E ALL L 26 L E 21 ALLEL E 24 L L 22 ALLEL 18 L A 23 LLELE A 23 L A 24 LELEH L 4 N E 25 ELEHA L 15 N E 26 LEHASS E 9 R E 27 EHASE L 2 S A

45 Aufgabe 9 - S 2 (Index=4) unsortiert sortiert Index Anfang Ende Index Anfang Ende 0 ANAN E 11 A E 1 NAN A 14 N N 2 ANAS N 7 AHN S 3 NASS A 12 AN 4 ASS N 0 ANAN E 5 SSA A 2 ANAS N 6 SAH S 16 ASE N 7 AHN S 4 ASS N 8 HNE A 10 E N 9 NE H 18 EA S 10 E A N 8 H A 11 AN E 13 N A 12 AN 1 NAN A 13 N N A 15 NASE 14 NA N 3 NASS A 15 NASE 9 NE H 16 ASE N 6 SA S 17 SEA A 17 SE A 18 EAN S 5 SS A

46 BWT - Dekodieren Gegeben: Text: a!iepdwkii, Index: 2

47 BWT - Dekodieren

48 BWT - Dekodieren Wikipedia!

49 VL-8, Seite 8, Boyer-Moore inkonsistenter Pseudo-code: So wie der Algorithmus auf der Folie steht, muss man die last-tabelle ab null indizieren, Text und Muster aber ab eins. Der last-wert fuer ein Zeichen, das ganz am Anfang des Musters einmalig auftaucht, muss ja um eins groesser sein als für ein im Muster gar nicht vorhandenes (-1).

50 VL-8, Seite 8, Boyer-Moore i=1; while(i<=n-m) { j=m; while( (j>=1)&&(q[j]==t[i+j-1]) ) j--; if(j<1) return i; /* match */ else i = (i+j-1)-last[t[i+j-1]]; } return -1; /* mismatch */

51 Outlook Suffix-Trees (-Arrays) Knuth-Morris-Pratt Boyer-Moore Bioinformatik (DP, Alignment)

16 - Kompressionsverfahren für Texte

16 - Kompressionsverfahren für Texte 16 - Kompressionsverfahren für Texte Prof. Dr. S. Albers Kompressionsverfahren für Texte Verlustfreie Kompression Original kann perfekt rekonstruiert werden Beispiele: Huffman Code, Lauflängencodierung,

Mehr

Kompressionsverfahren für Texte

Kompressionsverfahren für Texte Kompressionsverfahren für Texte Prof. Dr. S. Albers Prof. Dr. Th. Ottmann 1 Zeichenkettenverarbeitung Suche in Texten, Textindizes Mustererkennung (Pattern-Matching) Verschlüsseln Komprimiern Analysieren

Mehr

Seminar. Codierungstheorie

Seminar. Codierungstheorie Seminar Codierungstheorie Lempel-Ziv-Verfahren Informatik Sommersemester 25 Tim Schweisgut, Juni 25 Inhalt INHALT... 2 WÖRTERBUCHMETHODEN... 3 Statische Wörterbuchmethoden... 3 Beispiel:... 3 Bemerkung:...

Mehr

Eigenschaften von Kompressionsverfahren

Eigenschaften von Kompressionsverfahren 6 Textkompression Eigenschaften von Kompressionsverfahren Das Ziel der Datenkompression ist es, eine gegebene Information (Datenquelle) auf eine kompaktere Weise zu repräsentieren. Dies geschieht, indem

Mehr

Textkompression. Komprimierung von Daten. Runlength Komprimierung (2) Runlength Komprimierung (1) Herkömmliche Kodierung. Runlength Komprimierung (3)

Textkompression. Komprimierung von Daten. Runlength Komprimierung (2) Runlength Komprimierung (1) Herkömmliche Kodierung. Runlength Komprimierung (3) Komprimierung von Daten Textkompression Effiziente Algorithmen VU 2.0 WS 2008/09 Bin Hu Ziel: Platz und Zeit sparen Kompression durch - Effiziente Kodierung - Verminderung der Redundanzen (verlustfrei)

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Informationen zur Klausur Termin: 21. Februar 2013,

Mehr

Einführung in die Informatik II Aus der Informationstheorie: Datenkompression

Einführung in die Informatik II Aus der Informationstheorie: Datenkompression Einführung in die Informatik II Aus der Informationstheorie: Datenkompression Prof. Bernd Brügge, Ph.D Institut für Informatik Technische Universität München Sommersemester 2 2. Juli 2 Copyright 2 Bernd

Mehr

2. Digitale Codierung und Übertragung

2. Digitale Codierung und Übertragung 2. Digitale Codierung und Übertragung 2.1 Informationstheoretische Grundlagen 2.2 Verlustfreie universelle Kompression 2.3 Digitalisierung, Digitale Medien Ludwig-Maximilians-Universität München, Medieninformatik,

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 5. Vorlesung Uwe Quasthoff Abteilung Automatische Sprachverarbeitung Institut für Informatik Universität Leipzig 9. Mai 2012 1 / 35 Datenkompression Bisheriges Hauptziel

Mehr

Dynamisches Huffman-Verfahren

Dynamisches Huffman-Verfahren Dynamisches Huffman-Verfahren - Adaptive Huffman Coding - von Michael Brückner 1. Einleitung 2. Der Huffman-Algorithmus 3. Übergang zu einem dynamischen Verfahren 4. Der FGK-Algorithmus 5. Überblick über

Mehr

Datenkompression. 1 Allgemeines. 2 Verlustlose Kompression. Holger Rauhut

Datenkompression. 1 Allgemeines. 2 Verlustlose Kompression. Holger Rauhut Datenkompression Holger Rauhut 1. September 2010 Skript für die Schülerwoche 2010, 8.-11.9.2010 Hausdorff Center for Mathematics, Bonn 1 Allgemeines Datenkompression hat zum Ziel, Daten in digitaler Form,

Mehr

Datenkompression. Theorie

Datenkompression. Theorie Datenkompression Theorie Einleitung Übersicht Wie lassen sich beliebige Daten verdichtet (komprimiert) darstellen? verlustfreie Kompression: Programme Texte verlustbehaftete Kompression: Audio Video Kompressionsfaktor:

Mehr

Kapitel 7: Optimalcodierung und Huffman Coding

Kapitel 7: Optimalcodierung und Huffman Coding Kapitel 7: codierung und Huffman Coding Ziele des Kapitels Auftreten von Fehlern bei zu starker Kompression Konstruktion optimaler Codes Huffman Coding 2 Bisher Theorem (Shannon I): Die mittlere Codewortlänge

Mehr

Kapitel 2 Quellencodierung

Kapitel 2 Quellencodierung Kapitel 2 Quellencodierung Prof. Dr. Dirk W. Hoffmann Hochschule Karlsruhe w University of Applied Sciences w Fakultät für Informatik Übersicht Quelle Senke Kompression Huffman-, Arithmetische-, Lempel-Ziv

Mehr

Ziv-Lempel-Kompression von André Lichei

Ziv-Lempel-Kompression von André Lichei Ziv-Lempel-Kompression von André Lichei Einführung: Die wichtigsten Ansprüche,die an einen Komprimierungs-Algorithmus gestellt werden, sind: - eine hohe Komprimierungsrate - für alle Typen von Daten (

Mehr

2. Digitale Codierung und Übertragung

2. Digitale Codierung und Übertragung 2. Digitale Codierung und Übertragung 2.1 Informationstheoretische Grundlagen 2.2 Speicherbedarf und Kompression 2.3 Digitalisierung Ludwig-Maximilians-Universität München Prof. Hußmann Digitale Medien

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm 11 Datenkompression Einführung Grundlagen

Mehr

1 / 33. P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V5 07. Mai / 33

1 / 33. P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V5 07. Mai / 33 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V5 07. Mai 204 7 / 33 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V5 07. Mai 204 8 / 33 ADS: Algorithmen und Datenstrukturen 2 Teil 5 Prof. Peter F. Stadler

Mehr

Farb-Fernsehsignal (Composite FBAS)

Farb-Fernsehsignal (Composite FBAS) Farb-Fernsehsignal (Composite FBAS) Quelle: Ze-Nian Li : Script Multimedia Systems, Simon Fraser University, Canada VIDEO- Digitalisierung Gemeinsame Kodierung FBAS Farbbild- Austast- und Synchronsignal

Mehr

Basisinformationstechnologie II

Basisinformationstechnologie II Basisinformationstechnologie II Sommersemester 2015 13. Mai 2015 Algorithmen der Bildverarbeitung I: Kompression Universität zu Köln. Historisch-Kulturwissenschaftliche Informationsverarbeitung Dr. Jan

Mehr

Beispiel: Zeigen Sie, dass H(x) = H 0 = I gilt, wenn alle Zeichen gleichwahrscheinlich sind.

Beispiel: Zeigen Sie, dass H(x) = H 0 = I gilt, wenn alle Zeichen gleichwahrscheinlich sind. 1 2 Im ersten Schritt werden wir uns mit dem Begriff und der Definition der Information beschäftigen. Ferner werden die notwendigen math. Grundlagen zur Quellencodierung gelegt. Behandelt werden Huffman,

Mehr

Übung zur Vorlesung. Vorlesung: Heinrich Hußmann Übung: Renate Häuslschmid, Hanna Schneider

Übung zur Vorlesung. Vorlesung: Heinrich Hußmann Übung: Renate Häuslschmid, Hanna Schneider Übung zur Vorlesung Digitale Medien Vorlesung: Heinrich Hußmann Übung: Renate Häuslschmid, Hanna Schneider Wintersemester 2016/17 Bilder 20 x 14 Pixel (= Bildpunkte) 16 Bit Farben (= 65.536 Farben) 560

Mehr

Kompression. Tim Kilian

Kompression. Tim Kilian Kompression Tim Kilian Seminar Effiziente Programmierung Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität Hamburg

Mehr

Kompression: Lempel/Ziv-Algorithmen

Kompression: Lempel/Ziv-Algorithmen Unversität Koblenz-Landau Abteilung Koblenz Fachbereich Informatik Dipl.-Inf. Jörg Müller Proseminar WS 2000/2001 Algorithmen Kompression: Lempel/Ziv-Algorithmen 9. Januar 2001 Tobias Koch

Mehr

Kompression.pdf h. völz /17

Kompression.pdf h. völz /17 Kompression.pdf h. völz 23.5.02 1/17 Lauflängen-Codierung CCCCCCAABBBBAAAAEE _ 6C2A4B4A2E Pixel- und Zähl-Byte unterscheiden Pointer-Verfahren ABRABRIKADABRA Ab 4. Buchstaben ABR _ Verweis . total

Mehr

Digitale Medien. Übung zur Vorlesung. Vorlesung: Heinrich Hußmann Übung: Renate Häuslschmid

Digitale Medien. Übung zur Vorlesung. Vorlesung: Heinrich Hußmann Übung: Renate Häuslschmid Übung zur Vorlesung Digitale Medien Vorlesung: Heinrich Hußmann Übung: Renate Häuslschmid Wintersemester 2016/17 Häufige Fehler beim Blatt 2 1 c) -> nicht erfüllte Fano-Bedingung bei dem Code 2 a) -> falscher

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 206 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Organisatorisches Weiterer Ablauf: heute und Donnerstag,

Mehr

6. Komprimierung. (Text)komprimierung ist ein Wechsel der Repräsentation von Daten, so daß sie weniger

6. Komprimierung. (Text)komprimierung ist ein Wechsel der Repräsentation von Daten, so daß sie weniger Komprimierung 6. Komprimierung (Text)komprimierung ist ein Wechsel der Repräsentation von Daten, so daß sie weniger Platz brauchen Motivation: beschleunigt Plattenzugriffe oder Datenübertragungen Voraussetzung:

Mehr

Zeichenketten Benedikt Straßner. Programming Systems Group Martensstr Erlangen Germany

Zeichenketten Benedikt Straßner. Programming Systems Group Martensstr Erlangen Germany Zeichenketten 16.04.2018 Benedikt Straßner Programming Systems Group Martensstr. 3 91058 Erlangen Germany Übersicht String Matching Algorithmen Naive Stringsuche Knuth Morris Pratt (KMP) Algorithmus Boyer-Moore

Mehr

Mathematik für Information und Kommunikation

Mathematik für Information und Kommunikation Mathematik für Information und Kommunikation Am Beispiel des Huffman- Algorithmus Thomas Borys und (Christian Urff) Huffman im Alltag MPEG Telefax JPEG MP3 ZIP avid Huffman avid Huffman [95-999] www.soe.ucsc.edu/people/faculty/huffman.html

Mehr

Textkomprimierung. Stringologie. Codes. Textkomprimierung. Alle Komprimierung beruht auf Wiederholungen im Text. Textkomprimierung

Textkomprimierung. Stringologie. Codes. Textkomprimierung. Alle Komprimierung beruht auf Wiederholungen im Text. Textkomprimierung Stringologie Peter Leupold Universität Leipzig Vorlesung SS 2014 Alle Komprimierung beruht auf Wiederholungen im Text Die Komprimierung muss rückgängig gemacht werden können Je kleiner das Alphabet, desto

Mehr

Gierige Algorithmen Interval Scheduling

Gierige Algorithmen Interval Scheduling Gierige Algorithmen Interval Scheduling IntervalScheduling(s,f). n length[s] 2. A {} 3. j 4. for i 2 to n do 5. if s[i] f[j] then 6. A A {i} 7. j i 8. return A Gierige Algorithmen Interval Scheduling Beweisidee:

Mehr

8.4 Suffixbäume. Anwendungen: Information Retrieval, Bioinformatik (Suche in Sequenzen) Veranschaulichung: DNA-Sequenzen

8.4 Suffixbäume. Anwendungen: Information Retrieval, Bioinformatik (Suche in Sequenzen) Veranschaulichung: DNA-Sequenzen 8.4 Suffixbäume Ziel: Datenstruktur, die effiziente Operationen auf (langen) Zeichenketten unterstützt: - Suche Teilzeichenkette (Substring) - Präfix - längste sich wiederholende Zeichenkette -... Anwendungen:

Mehr

Klausur Digitale Medien

Klausur Digitale Medien Klausur Digitale Medien Wintersemester 2005/2006 LMU München LFE Medieninformatik Prof. H. Hußmann Dauer: 90 Minuten Auf jedem Blatt sind Name und Matrikelnummer einzutragen. Blätter ohne Namen und Matrikelnummer

Mehr

Molekulare Bioinformatik

Molekulare Bioinformatik Molekulare Bioinformatik Wintersemester 203/204 Prof. Thomas Martinetz Institut für Neuro- und Bioinformatik Universität zu Luebeck 07.0.204 Molekulare Bioinformatik - Vorlesung 0 Wiederhohlung Die Entropie

Mehr

Proseminar. Thema: Shannon-Fano und Huffman Verfahren

Proseminar. Thema: Shannon-Fano und Huffman Verfahren Proseminar Datenkompression Thema: Shannon-Fano und Huffman Verfahren Gehalten am 27.11.2002 von Lars Donat 1. Huffman Code Bei diesem bereits 1951 von David A. Huffman veröffentlichtem Algorithmus handelt

Mehr

Übung zur Vorlesung. Digitale Medien. Vorlesung: Heinrich Hußmann Übung: Renate Häuslschmid, Hanna Schneider

Übung zur Vorlesung. Digitale Medien. Vorlesung: Heinrich Hußmann Übung: Renate Häuslschmid, Hanna Schneider Übung zur Vorlesung Digitale Medien Vorlesung: Heinrich Hußmann Übung: Renate Häuslschmid, Hanna Schneider Wintersemester 2015/16 Wiederholung: LZW-Komprimierung Idee: Nicht einzelne Zeichen werden günstig

Mehr

Digitale Medien. Übung

Digitale Medien. Übung Digitale Medien Übung Übungsbetrieb Informationen zu den Übungen: http://www.medien.ifi.lmu.de/dm http://www.die-informatiker.net Zwei Stunden pro Woche Praktische Anwendungen des theoretischen Vorlesungsstoffs

Mehr

Effiziente Algorithmen und Komplexitätstheorie

Effiziente Algorithmen und Komplexitätstheorie 1 Effiziente Algorithmen und Komplexitätstheorie Vorlesung Thomas Jansen 22.06.2006 2 Ein anderer Ansatz Beobachtung in Dokumenten eines Typs wiederkehrende Muster Idee Muster in Wörterbuch speichern,

Mehr

Huffman-Kodierung. Fachbereich Medieninformatik. Hochschule Harz. Huffman-Kodierung. Referat. Henner Wöhler. Abgabe:

Huffman-Kodierung. Fachbereich Medieninformatik. Hochschule Harz. Huffman-Kodierung. Referat. Henner Wöhler. Abgabe: Fachbereich Medieninformatik Hochschule Harz Huffman-Kodierung Referat Henner Wöhler 11459 Abgabe: 15.01.2007 Inhaltsverzeichnis Einleitung...I 1. Entropiekodierung...1 1.1 Morse Code...2 1.2 Shannon-Fano-Kodierung...3

Mehr

Übungsblatt 5 - Musterlösung

Übungsblatt 5 - Musterlösung Universität Mannheim Lehrstuhl für Praktische Informatik IV Prof. Dr. W. Effelsberg Christoph Kuhmünch, Gerald Kühne Praktische Informatik II SS 2000 Übungsblatt 5 - Musterlösung Aufgabe 1: Huffman-Codierung

Mehr

Datenkompression. Vortrag von Markus Durzinsky Student der Otto-von-Guericke-Universität Magdeburg

Datenkompression. Vortrag von Markus Durzinsky Student der Otto-von-Guericke-Universität Magdeburg Vortrag am 25. Januar 200 Werner von Siemens Gymnasium Magdeburg Zeitansatz: 5h (inklusive Programmieraufgaben) Datenkompression Vortrag von Markus Durzinsky Student der Otto-von-Guericke-Universität Magdeburg

Mehr

Übrigens: um den Algorithmus im Unterricht einzuführen, sind keine Formeln notwendig! Warum reicht die normale ASCII-Codierung nicht aus?

Übrigens: um den Algorithmus im Unterricht einzuführen, sind keine Formeln notwendig! Warum reicht die normale ASCII-Codierung nicht aus? Huffman-Code Dieser Text ist als Hintergrundinformation ausschliesslich für die Lehrperson gedacht. Der Text ist deshalb eher technisch gehalten. Er lehnt sich an das entsprechende Kapitel in "Turing Omnibus"

Mehr

Textkompression: Burrows-Wheeler-Transformation

Textkompression: Burrows-Wheeler-Transformation Proseminar Algorithmen der Bioinformatik WS 2010/11 Textkompression: Burrows-Wheeler-Transformation Johann Hawe Johann Hawe, WS 2010/11 1 Gliederung 1. Einleitung 2. BWT Kompressionstransformation 2.1

Mehr

4.4 Anwendungen von Suffixbäumen und Suffix-Arrays

4.4 Anwendungen von Suffixbäumen und Suffix-Arrays 4.4 Anwendungen von Suffixbäumen und Suffix-Arrays exakte Suche in unveränderlichen Texten (schon besprochen) inexakte Suche in unveränderlichen Texten Finden von Regelmäßigkeiten (z.b. längste Wiederholungen)

Mehr

Wie muss der Eingabetext beschaffen sein, damit er sich gut komprimieren lässt?

Wie muss der Eingabetext beschaffen sein, damit er sich gut komprimieren lässt? Lernaufgabe 1a Beim Kofferpacken können wir durch Druck die Luft herauslassen und bringen somit mehr Kleidungsstücke in den Koffer. Im Unterricht haben wir vom Huffman-Code gehört und wissen, dass er nach

Mehr

Die Burrows-Wheeler-Transformation

Die Burrows-Wheeler-Transformation Die Burrows-Wheeler-Transformation Martin Knapp Proseminar Datenkompression 11. Dezember 2002 Inhaltsverzeichnis 1. Einleitung 3 2. Funktionsweise 4 2.1 Grundlagen.........................................................

Mehr

Digitale Medien. Vorlesung: Heinrich Hußmann Übung: Renate Häuslschmid. Übung zur Vorlesung

Digitale Medien. Vorlesung: Heinrich Hußmann Übung: Renate Häuslschmid. Übung zur Vorlesung Übung zur Vorlesung Digitale Medien Vorlesung: Heinrich Hußmann Übung: Renate Häuslschmid Wintersemester 2016/17 LZW-Komprimierung Idee: Nicht einzelne Zeichen werden günstig kodiert, sondern ganze Zeichenketten

Mehr

Verlustfreie Kompression

Verlustfreie Kompression Verlustfreie Kompression Tim Rolff Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität Hamburg 8. Juni 2016 Tim Rolff

Mehr

Algorithmus zur komprimierten Übertragung von Textdaten an mobile Endgeräte

Algorithmus zur komprimierten Übertragung von Textdaten an mobile Endgeräte Fachhochschule Wedel Seminararbeit Algorithmus zur komprimierten Übertragung von Textdaten an mobile Endgeräte Sven Reinck 7. Januar 2007 Inhaltsverzeichnis Inhaltsverzeichnis Motivation 2 Wörterbuch 2.

Mehr

Optimalcodierung. Thema: Optimalcodierung. Ziele

Optimalcodierung. Thema: Optimalcodierung. Ziele Optimalcodierung Ziele Diese rechnerischen und experimentellen Übungen dienen der Vertiefung der Kenntnisse im Bereich der Optimalcodierung, mit der die Zeichen diskreter Quellen codiert werden können.

Mehr

Probeklausur Digitale Medien

Probeklausur Digitale Medien Probeklausur Digitale Medien Wintersemester 2007 / 2008 LMU München LFE Medieninformatik Prof. H. Hußmann Dauer: 90 Minuten Zugelassene Hilfsmittel: Unterlagen zur Vorlesung und Übung Digitale Medien,

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens 1 Suchen Bisher: Sequentielle Suche Binäre Suche Interpolationssuche Jetzt: Suchen in Zeichenfolgen 2 1 Suchen in Zeichenfolgen Das Problem:

Mehr

Kompressionsverfahren

Kompressionsverfahren Kompressionsverfahren Quelle: Steinmetz, Ralf: Multimedia-Technologie: Einführung und Grundlagen, Springer, Verlag Verlustlose Kompressionsalgorithmen RLC Huffman Adaptive Huffman Kodierung Arithmetische

Mehr

Computer Science Unplugged Algorithmen zur Textkompression

Computer Science Unplugged Algorithmen zur Textkompression Proseminar Computer Science Unplugged Algorithmen zur Textkompression Harald Zauner 12. November 2004 Zusammenfassung Trotz der rasch zunehmenden Speicherkapazität heutiger Speichermedien besteht nach

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2006 6. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik [email protected] Datenkomprimierung Bei den meisten bisher betrachteten

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Lerneinheit 3: Greedy Algorithmen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 2016 10.5.2016 Einleitung Einleitung Diese Lerneinheit

Mehr

Übung 13: Quellencodierung

Übung 13: Quellencodierung ZHAW, NTM, FS2008, Rumc, /5 Übung 3: Quellencodierung Aufgabe : Huffmann-Algorithmus. Betrachten Sie die folgende ternäre, gedächtnislose Quelle mit dem Symbolalphabet A = {A,B,C} und den Symbol-Wahrscheinlichkeiten

Mehr

21. Greedy Algorithmen. Aktivitätenauswahl, Fractional Knapsack Problem, Huffman Coding Cormen et al, Kap. 16.1, 16.3

21. Greedy Algorithmen. Aktivitätenauswahl, Fractional Knapsack Problem, Huffman Coding Cormen et al, Kap. 16.1, 16.3 581 21. Greedy Algorithmen Aktivitätenauswahl, Fractional Knapsack Problem, Huffman Coding Cormen et al, Kap. 16.1, 16.3 Aktivitäten Auswahl 582 Koordination von Aktivitäten, die gemeinsame Resource exklusiv

Mehr

Kapitel 2: Informationstheorie. 3. Quellencodierung

Kapitel 2: Informationstheorie. 3. Quellencodierung ZHAW, NTM2, Rumc, 2.3-1 Kapitel 2: Informationstheorie 3. Quellencodierung Inhaltsverzeichnis 1. EINLEITUNG... 1 2. QUELLENCODIERUNGSTHEOREM... 2 3. HUFFMAN-QUELLENCODIERUNG... 3 4. DATENKOMPRESSION MIT

Mehr

Wann sind Codes eindeutig entschlüsselbar?

Wann sind Codes eindeutig entschlüsselbar? Wann sind Codes eindeutig entschlüsselbar? Definition Suffix Sei C ein Code. Ein Folge s {0, 1} heißt Suffix in C falls 1 c i, c j C : c i = c j s oder 2 c C und einen Suffix s in C: s = cs oder 3 c C

Mehr

3 Codierung diskreter Quellen. Quelle Quellcodierer Kanalcodierer reduziert die benötigte Datenmenge. fügt Daten zur Fehlerkorrektur ein.

3 Codierung diskreter Quellen. Quelle Quellcodierer Kanalcodierer reduziert die benötigte Datenmenge. fügt Daten zur Fehlerkorrektur ein. 3 Codierung diskreter Quellen 3 Einführung 32 Ungleichmäßige Codierung 33 Präfix-Codes 34 Grenzen der Code-Effizienz 35 Optimal-Codierung 3 Zusammenfassung < 24 / 228 > 3 Codierung diskreter Quellen Quelle

Mehr

1 Kompressionsarten Verlustfreie Kompression Verlustbehaftete Kompression... 3

1 Kompressionsarten Verlustfreie Kompression Verlustbehaftete Kompression... 3 Inhaltsverzeichnis 1 Kompressionsarten 3 1.1 Verlustfreie Kompression......................... 3 1.2 Verlustbehaftete Kompression...................... 3 2 Mathematische Modelle 4 2.1 Grundlagen................................

Mehr

Klausur Digitale Medien

Klausur Digitale Medien Klausur Digitale Medien Sommersemester 2003 LMU München LFE Medieninformatik Prof. H. Hußmann Dauer: 90 Minuten Auf jedes Blatt sind Name und Matrikelnummer einzutragen! Blätter ohne Namen oder ohne Matrikelnummer

Mehr

(Prüfungs-)Aufgaben zur Codierungstheorie

(Prüfungs-)Aufgaben zur Codierungstheorie (Prüfungs-)Aufgaben zur Codierungstheorie 1) Gegeben sei die folgende CCITT2-Codierung der Dezimalziffern: Dezimal CCITT2 0 0 1 1 0 1 1 1 1 1 0 1 2 1 1 0 0 1 3 1 0 0 0 0 4 0 1 0 1 0 5 0 0 0 0 1 6 1 0 1

Mehr