Größe: px
Ab Seite anzeigen:

Download ""

Transkript

1 Textkomprimierung Multimedia-Seminar Leiter: Prof. Dr. Vornberger Referent: Stefan Fabrewitz Fr. 7..

2

3 Inhaltsverzeichnis Inhaltsverzeichnis Einleitung 5. Historie Grundlagen 7. Modellvorstellung: statistische Modelle Maßzahlen Run Length Encoding (Lauflängenkomprimierung) 4 Huffman-Methode 3 4. Statisches Verfahren: Adaptive Huffman-Methode 7 5. Verfahren:. Variante Verfahren mit ESCAPE -Funktion LZW - Algorithmus 6. Varianten: Kennzeichen: Algorithmus BWT- Algorithmus 5 7. BWT: Dekodierung: Quellen und Literatur 3 3

4 4 INHALTSVERZEICHNIS

5 Kapitel Einleitung. Historie Beginn: In den 4er Jahren, den frühen Jahren der Informationstechnologie, begann die Entwicklung neuer effektiver codierungstechniken. Bemerkenswert: Zu dieser Zeit gab es noch keine Digitalcomputer, jedoch wurde damals schon das Binärsystem zur Codierung eingesetzt. Thema Mittlerweile existier eine Unzahl an Komprimierungsmethoden. Viele davon sind für ganz bestimmte Zwecke entwickelt worden und benötigen spezielle Hardwarekomponenten ( z.b. Stimmen-Komprimierungsschemata, die auf die festen Bandbreiten von Telefonnetzen abgestimmt sind ). Solche hardwareabhängigen Verfahren werden hier nicht betrachtet. Die softwaretechnisch bewerkstelligen Verfahren lassen sich in zwei Gruppen einteilen: Verlustfreie Verfahren: Diese Verfahren werden zur Komprimierung von Texten, Programmcodes, Binärdateien, Bildern usw. eingesetzt. Man wählt sie immer dann, wenn das Original ohne Verfälschungen wieder rekonstruiert werden muß oder soll. Einige bedeutende Vertreter werden hier behandelt. Verlustbehaftete Verfahren: Sie werden auf Informationen angewandt, die aus digitalisiertem Material gewonnen wurden ( wie Bild- und Audiomaterial ). Die Digitalisierung selbst stellt schon einen Informationsverlust dar. Die Verfahren werden dann benutzt, wenn ein kaum 5

6 6 KAPITEL. EINLEITUNG wahrnehmbarer Verlust an Information zu erheblich gesteigerten Komprimierungsraten führt. Diese Verfahren werden hier nicht beschrieben. Das sehr verbreitete JPEG-Verfahren hat Herr Vornberger in [5] beschrieben. Einteilung der verlustfreien Verfahren Die statistischen Komprimierungsverfahren benutzen zur Codierung einzelner Zeichen ein statistisches Modell. Die Komprimierung wird durch Codierung der Zeichen als Bitstrings erreicht, die weniger Bits als die Original-Zeichen beanspruchen. Die tabellengesteuerten oder Dictionary-Verfahren kodieren nicht Zeichen als Bitstrings variabler Länge, sondern Zeichenketten variabler Länge werden als Token kodiert. Diese Token stellen einen Verweis in ein Phrasenverzeichnis ( Tabelle, Dictionary ) dar. Sind die Token kleiner als die Phrasen, die sie ersetzen, kommt es zur Komprimierung. Diese Strategie entspricht der bei Datenbanken üblichen Technik, mit Indizes auf große Datensätze zu verweisen, die in einer Tabelle organisiert sind.

7 Kapitel Grundlagen. Modellvorstellung: statistische Modelle Datenkomprimierung = Modellierung + Codierung Datenkomprimierung: Ein Strom von Symbolen wird in entsprechende Codes umgewandelt. Der resultierende Ausgabestrom sollte kleiner als der Eingabestrom der Symbole sein. Modell: Bestimmt die Wahrscheinlichkeit der auftretenden Symbole. Codierer: Anhand der vom Modell bestimmten Wahrscheinlichkeit legt er den Code für ein Symbol fest. Implementierung: Auch im Programm sollten Modell und Codierung getrennt werden. Insbesondere gibt es oft verschiedene Methoden der Modellierung, die alle mit dergleichen Codierung arbeiten können Wahr ! Eingabe-!!! schein-!!! Ausgabe-!!! >! Modell! ! Codierung! !!! Strom! Symbole!! lichkeit!! Codes! Stream! ! >

8 8 KAPITEL. GRUNDLAGEN. Maßzahlen Komprimierungsgrad KG: Es sind verschiedenen Definitionen gebräuchlich, hier soll folgende benutzt werden: KG =( kompr. Größe urspr. Größe ) KG = % bedeutet: Der erzeugte Code hat dieselbe Größe wie die ursprünglichen Symbole. KG = 3% bedeutet: Der komprimierte Code nimmt 3% des Umfanges der ursprünglichen Symbole ein. Entropie: Def. ( Informationstheorie): Ein Maß, wieviel Informationen in einer Meldung untergebracht sind. Je höher der Entropiegehalt einer Meldung ist, desto mehr Information beinhaltet sie. Entropiegehalt E eines Symbols: E ist definiert als negativer Logatithmus der Wahrscheinlichkeit W des Symbols. Damit der Informationsgehalt einer Meldung in Bits festgestellt werden kann, drückt man die Entropie mit Hilfe des Logarithmus zur Basis aus: E = log W Die Entropie eines Symbols ist keine absolute Größe. Von der Wahrscheinlichkeit W des Symbols hängt auch dieentropie vom verwendeten Modell ab. Entropie einer Meldung: Summe der Entropien der Einzelsymbole. Beispiel: Die Wahrscheinlichkeit WdesBuchstaben e sei. Dann gilt: 6 E(e)= log 6 E(e)=4bit

9 .. MASSZAHLEN 9 Dann ist die Entropie der Zeichenkette eeeee: E(eeeee)=5E(e)=bit Wird zur Codierung der Zeichenkette eeeee der Standard-8-Bit- ASCII-Zeichensatz benutzt, benötigt man 5 Byte entsprechend 4 Bit für diese Kodierung. Der Unterschied zwischen den Bit der Entropie und den 4 Bit des ASCII-Codes ist das Potential, das die Datenkomprimierung zu nutzen versucht. Ordnung eines Modells: Sie legt fest, wieviele der vorhergehenden Symbole für die Berechnung der Wahrscheinlichkeit in Betracht gezogen werden. Modell. Ordnung: vorhergehende Symbole bleiben unberücksichtigt Modell. Ordnung: das letzte Symbol wird berücksichtigt Bsp.: u hat bei einem Modell. Ordnung z.b. eine Wahrscheinlichkeit von %, bei einem Modell. Ordnung hat es nach demzeichen q z.b. eine Wahrscheinlichkeit von 95%.

10 KAPITEL. GRUNDLAGEN

11 Kapitel 3 Run Length Encoding (Lauflängenkomprimierung) Diese Codierung überträgt eine Folge von identischen Zeichen als Paar Anzahl,Zeichen»: ffl Anzahl x < 8: übernimmt die folgenden x + Zeichen ffl Anzahl x >= 8: das nächste Zeichen kommt 57 - x mal vor Das bedeutet: Es können maximal 8 Zeichen übernommen bzw. kopiert werden.

12 KAPITEL 3. RUN LENGTH ENCODING (LAUFLÄNGENKOMPRIMIERUNG)

13 Kapitel 4 Huffman-Methode 4. Statisches Verfahren: Veröffentlicht: D. Huffman, 95. Aufbau eines Baumes: Vorbereitung: ffl Liste aller Symbole mit Häufigkeiten ( = Gewichtung ) erstellen ffl Liste nach Gewichtung sortieren ffl die Symbole werden als freie Knoten eines noch zu konstruierenden Baumes gekennzeichnet ffl die Häufigkeit eines Symbols wird als Gewichtung des Knoten gespeichert wiederholen: ffl die beiden freien Knoten mit den geringsten Gewichten werden gesucht ffl ein Elternknoten wird für diese Knoten erzeugt ffl die Gewichtung des Elternknotens entspricht der Summe der Kindknoten ffl der Elternknoten wird in die Liste der freien Knoten hinzugefügt ffl die beiden Kindknoten werden aus der Liste der freien Knoten entfernt 3

14 4 KAPITEL 4. HUFFMAN-METHODE ffl dem Kindknoten mit dem höheren Gewicht wird als Code eine, dem mit dem geringeren Gewicht eine zugewiesen ffl diese Schrittfolge wird wiederholt, bis nur noch ein freier Knoten übrig ist, dieser ist die Wurzel des Baumes

15 4.. STATISCHES VERFAHREN: 5 Beispiel: String: H a l l o B a l l o Schritt : l 4 o a B H Schritt : H B a o 4 l Schritt 3: 4 B H l 4 o a Schritt 4: H B 4 l 6 a o 4 Schritt 5: H B 4 l 6 a o 4

16 6 KAPITEL 4. HUFFMAN-METHODE Generierung des Codes: ffl Ausgangspunkt: der äußere Knoten des entsprechenden Symbols ffl vom Knoten wandert man zur Wurzel ffl die Bit-Codes der passierten Knoten werden aneinandergereiht und bilden den Code des Symbols ffl diese Codes sollten unterschiedlich lang sein und in ihrer Summe kleiner als die Codelänge der ursprünglichen Symbole Code des Beispiels: H a l l o B a l l o 8 Bit Bit Vergleich: mit Shannon-Famo-Methode: ffl die Unterschiede sind im allgemeinen nicht sehr groß ffl Huffman hat bewiesen: keine Methode, die mit ganzzahliger Bitlänge arbeitet, komprimiert stärker als seine ( unter Verwendung des gleichen Modells und derselben Ordnung des Modells ) Einsatzgebiete: ffl FAX-Geräte ffl JPEG-Komprimierung

17 Kapitel 5 Adaptive Huffman-Methode Probleme der nicht-adaptiven Huffman-Methode: ffl macht keine Aussage zu dem zu verwendeten Modell aus ffl die Häufigkeiten der Symbole müssen irgendwie ermittelt werden ffl die Häufigkeitstabelle muß übertragen werden und mindert die Komprimierung ffl bei einem Wechsel zu Modellen höherer Ordnung wird die erzielte höhere Komprimierung durch die zu übertragende wesentlich größere Tabelle teilweise zunichte gemacht alternativer Ansatz: adaptive Verfahren ffl zu Beginn wird keine Tabelle mit den Häufigkeiten der Symbole ermittelt ffl das Modell wird anhand der zuvor gelesenen Daten und ohne Wissen über zukünftige statistische Daten während der Komprimierung ständig aktualisiert ffl es werden keine Häufigkeits-Tabellen übertragen 5. Verfahren:. Variante Eine Möglichkeit besteht darin, nach jedem Lesen eines Symbols den Huffman-Baum neu aufzubauen. Dies ist aber viel zu ineffizient. 7

18 8 KAPITEL 5. ADAPTIVE HUFFMAN-METHODE Anpassen des Huffman-Baumes: ffl Voraussetzung: ein gültiger Huffman-Baum ( Geschwister-Eigenschaft muß; erfüllt sein ) Binärbaum jeder Knoten ( außer Wurzel ) hat einen Geschwisterknoten ( genau einen zweiten Knoten mit demselben Elternknoten ) alle Knoten sind nach steigender Gewichtung geordnet der Baum wird in der Regel mit dem verwendeten Zeichensatz initialisiert, wobei alle Zeichen per Voreinstellung das Gewicht bekommen ffl Symbol hinzufügen: zunächst wird der Zähler des zu dem Symbol gehörenden Blattknotens inkrementiert dann wird die Inkrementierung bei den Elternknoten fortgesetzt, bis die Wurzel erreicht ist ffl Baum auf Gültigkeit ( Geschwister-Eigenschaft ) prüfen und anpassen: Eine Anpassung ist notwendig, sobald der inkrementierte Knoten über dieselbe Gewichtung verfügt, wie der nächst höhere Knoten in der Liste Tauschregel, wenn eine Anpassung notwendig wird: Beispiel: Λ der zu inkrementierende Knoten wird mit dem höchsten in der Liste getauscht, der dieselbe Gewichtung besitzt Λ dann wird der getauschte Knoten dekrementiert ffl gegeben sei der Baum aus dem vorigen Kapitel, der durch den String HalloBallo gebildet wurde ffl es soll das Zeichen a hinzugefügt werden ffl der Blattknoten hat das Gewicht ffl es existieren weiter Knoten mit dem Gewicht ffl getauscht wird mit dem Knoten, der am weitestens rechts und dann zeilenweise oben liegt

19 5.. VERFAHREN MIT ESCAPE - FUNKTION 9 ffl die zu tauschenden Knoten sind in der Zeichnung unterlegt: a o l H B ffl nach dem Tausch sieht der Baum folgendermaßen aus: o a l H B 5. Verfahren mit ESCAPE - Funktion Das einfache adaptive Verfahren (. Variante ) muß mit allen Symbolen, die vorkommen können, initialisiert werden ( gleichverteilt: alle Symbole erhalten per Voreinstellung das Gewicht ). Falls nicht alle Symbole in dem Eingabestrom vorkommen, wäre es sinnvoller, nur die vorhandenen Symbole in den Baum einzutragen: Verfahren: ffl Falls ein neues Symbol auftritt, wird es in den Baum eingetragen ffl dann wird nicht sein Code, sondern das Symbol selbst ( in der Standard- Codierung ) übertragen ffl zur Kennzeichnung der Übertragung eines Symbols wird ein ESCAPE- Code vorangestellt

20 KAPITEL 5. ADAPTIVE HUFFMAN-METHODE ffl zu Beginn wird der Huffman-Baum nur mit dem ESCAPE-Code und dem END-OF-FILE-Code initialisiert Initial-Codebaum: EOF ESC

21 Kapitel 6 LZW - Algorithmus Tabellengesteuerter bzw. Dictionary-Algorithmus 6. Varianten: LZ77: Lempel, Ziv 977 LZ78: Lempel, Ziv 978 LZW: Lempel, Ziv, Welch Kennzeichen: ffl nur Tabellen-Indizes werden übertragen ffl die Tabellenlänge korrespondiert mit der Länge des übertragenen Codes Bsp.: -Bit-Codierung ergibt 496 Tabelleneinträge ( = 496 ) 6.3 Algorithmus Initialisierung: ffl bei ASCII-Zeichen ( oder sonstigen 8-Bit-Symbolen ) werden die Tabellen-Indizes bis 55 für die Ordnungszahlen des ASCII-Codes vergeben ffl ab Index 56 finden neue Einträge Platz

22 KAPITEL 6. LZW - ALGORITHMUS Pack-Algorithmus: ffl lese aus dem Eingabe-Stream solange Zeichen und akkumuliere sie in String S, wie sich S in einem Tabellen-Eintrag befindet ffl sobald ein Zeichen x gelesen wird, so daß sich der String Sx nicht in der Tabelle befindet, mache folgendes: leite den Tabellen-Index des Strings S in den Ausgabe-Stream füge den String S zur Tabelle hinzu ersetze String S durch das Zeichen x ffl wiederhole diese Sequenz, bis das Ende des Eingabe-Streams erreicht ist Beispiel: Tabelle Index vor Codierung nach Codierung A A 66 B B 7 H H 97 a a 8 l l o o frei» Ha 57 frei» al 58 frei» ll 59 frei» lo 6 frei» ob 6 frei» Ba 6 frei» all 63 frei» frei»

23 6.3. ALGORITHMUS 3 Codierung des Strings H a l l o B a l l o Eingabe S S Sx Sx Tabellen Ausgabe Zeichen String Index String Index Eintrag Code H H 7 a H 7 Ha 56:Ha 7:H l a 97 al 57:al 97:a l l 8 ll 58:ll 8:l o l 8 lo 59:lo 8:l B o ob 6:oB :o a B 66 Ba 6:Ba 66:B l a 97 al 57 l al 57 all 6:all 6:al o l 8 lo 59 EOF lo 559 lo 59 59:lo Hinweis zur Codierung: Um Platz zu sparen, beginnt man bei einer -Bit-Codierung nicht sofort mit -Bit-Codes, sondern: ffl 9-Bit-Codes bis zum Tabelleneintrag 5 ffl -Bit-Codes bis zum Tabelleneintrag 4 ffl -Bit-Codes bis zum Tabelleneintrag 48 ffl -Bit-Codes bis zum Tabelleneintrag 496 Nun ist die Tabelle voll. Zur Reinitialisierung wird die Tabelle in der Regel gelöscht und neu aufgebaut. Dies führt auch zu guten adaptiven Eigenschaften, besonders, wenn sich die Struktur des Eingabezeichenstromes ändert Einsatzgebiete: ffl UNIX-COMPRESS-Programm ffl GIF-Bild-Komprimierung

24 4 KAPITEL 6. LZW - ALGORITHMUS

25 Kapitel 7 BWT- Algorithmus Nachteile der adaptiven tabellengesteuerten und statistischen Verfahren: ffl schlechte Komprimierung in der Anfangsphase ffl starke Verschlechterung der Komprimierung, wenn sich die statistischen Eigenschaften im Datenstrom ändern ( wenn z.b. in einer Programm- Library nach dem Binärcode die Namen der Proceduren folgen ) 7. BWT: ffl hier ist ein Weg gefunden, um fast beliebig lange Kontexte für die Vorhersage des folgenden Zeichens zu verwenden ffl allerdings: Dekodierung ist erst möglich, wenn ein ganzer Block übertragen wurde und nicht kontinuierlich während der Übertragung ( z.b. ist der Aufbau eines Bildes während der Übertragung nicht möglich ) ffl 994 von Michael Burrows und David Wheeler veröffentlicht Methode: ffl BWT ist an sich gar kein Komprimierungsalgorithmus, sondern dient nur zur Transformation der Strings ffl Vorteil: die transformierten Daten lassen sich sehr effiktiv packen 5

26 6 KAPITEL 7. BWT- ALGORITHMUS Algorithmus: ffl Beispiel-String: HalloBallo ffl Erstellung einer quadratischen Matrix:. Zeile: Original-String jede weitere Zeile: enthält den String der Zeile darüber, nur um ein Zeichen nach links rotiert S H a l l o B a l l o a l l o B a l l o H l l o B a l l o H a 3 l o B a l l o H a l 4 o B a l l o H a l l 5 B a l l o H a l l o 6 a l l o H a l l o B 7 l l o H a l l o B a 8 l o H a l l o B a l 9 o H a l l o B a l l ffl Alphabetisches Sortieren der Zeilen: die. Spalte ist mit F ( first ) die letzte Spalte ist mit L ( last ) gekennzeichnet S F L 5 B a l l o H a l l o H a l l o B a l l o a l l o B a l l o H 6 a l l o H a l l o B l l o B a l l o H a 7 l l o H a l l o B a 3 l o B a l l o H a l 8 l o H a l l o B a l 4 o B a l l o H a l l 9 o H a l l o B a l l

27 7.. DEKODIERUNG: 7 Eigenschaft der L-Spalte: ffl Betrachtet man die Zeilen der Matrix als Kontext für die Zeichen in der Spalte L, so ergibt sich: ffl da die Kontexte alphabetisch sortiert sind, stehen ähnliche Kontexte nahe beieinander ffl ähnlichen Kontexten gehen meist gleiche Zeichen voran ffl d.h, es ist zu erwarten, daß in Spalte L Ketten gleicher Zeichen aufeinander folgen Übertragung: ffl übertragen werden die L-Spalte und die Anfangsposition des Original- Strings in der F-Spalte ffl vor der Übertragung wird der L-String natürlich noch mit anderen Verfahren komprimiert 7. Dekodierung: ffl F-Spalte rekonstruieren durch Sortieren der L-Spalte: ffl in der Praxis läßt sich das Sortieren vereinfachen: man zählt und speichert in der L-Spalte alle 56 zeichen deren Häufigkeit und konstruiert daraus für jedes Zeichen seinen Anfangsindex in der F-Spalte... ffl um den Original-String zu erhalten, wird ein < Transformationsvektor T() konstruiert ffl für ein Zeichen der F-Spalte mit dem Index i zeigt der Wert des Vektors T(i) auf den Nachfolger des Zeichens

28 8 KAPITEL 7. BWT- ALGORITHMUS i T S 5 3 S 5 S S S 4 S 3 S 6 5 S 6 4 S 6 S 5 S 7 7 S 7 6 S 3 8 S 3 7 S 8 9 S 8 8 S 4 S 4 9 S 9 S 9 ffl da man weiß, bei welchem Index man beginnen muß ( Anfangsposition in der F-Spalte wurde übertragen ), kann man durch wiederholte Anwendung des Vektors den Original-String rekonstruieren Konstruktion des Transformationsvektors T: S i L F L 5 o B a l l o H a l l o o H a l l o B a l l o H a l l o B a l l o H 6 3 B a l l o H a l l o B 4 a l l o B a l l o H a 7 5 a l l o H a l l o B a 3 6 l l o B a l l o H a l 8 7 l l o H a l l o B a l 4 8 l o B a l l o H a l l 9 9 l o H a l l o B a l l ffl um das Prinzip klar zu machen, ist in der Abbildung die L-Spalte links neben die F-Spalte eingetragen, da die L-Spalte die Vorgängerzeichen der F Spalte enthält ffl wir wissen, daß der Original-String in Zeile der Spalte F mit H beginnt ffl nach der nächsten Links-Rotation muß sich das H in der L-Spalte befinden: in Zeile

29 7.. DEKODIERUNG: 9 ffl dies ist der Wert von T, also: T() = ffl offensichtlich ist das Zeichen in der F-Spalte der. Zeile, das a, das. Zeichen des Original-Strings ( denn in der F-Spalte stehen immer die Folgezeichen der L-Spalte ) ffl durch Wiederholen dieses Schematas läßt sich der Original-String konstruieren Problem: Ein Problem stellt sich noch, wenn wir das Zeichen in der L-Spalte suchen, das zu a der F-Spalte in Zeile gehört: In der L-Spalte tritt a doppelt auf: Gehört das a aus F() zu L(4) oder L(5)? Regel: Gleiche Zeichen in der F- und L-Spalte gehören entsprechend ihrer Reihenfolge in den Spalten zusammen Begründung: ffl die Zeilen und 3, die mit a beginnen, sind alphabetisch sortiert ffl durch Rotation nach links entstehen daraus die zeilen 4 und 5 ffl da bei dieser Rotation dasselbe Zeichen a vorne entfernt und hinten angehängt wurde, entspricht die Reihenfolge von 4 und 5 derer von und 3, denn die zeilen 4 und 5sindauch sortiert Methode: ffl Hieraus ergibt sich für unseren String, daß das a an Position F() zu dem a an Position L(4) gehört, also: T() = 4 ffl durch wiederholte Anwendung läßt sich der String konstruieren Einsatzgebiete: ffl BZip - Kompressionsprogramm

30 3 KAPITEL 7. BWT- ALGORITHMUS

31 Kapitel 8 Quellen und Literatur Diesem Referat ist liegt hauptsächlich das Buch von Mark Nelson [] zugrunde. In dem Buch sind diese und weitere Komprimierungsverfahren ausführlich erläutert. Es enthält desweiteren komplette C-Implementierungen der Komprimierungs-Algorithmen und viele Hinweise zu den technischen Details der Implementierungen. Das Kapitel zum BWT-Algorithmus fußt auf den Artikeln von Mark Nelson [] und Michael Tamm [4]. Insbesondere ist das Textbeispiel, an dem sich sehr schön die Funktion des BWT-Algorithmus zeigen läßt, dem Artikel von Michael Tamm entnommen. Mark Nelson stellt in seinem Artikel [] wieder eine komplette C-Implementierung vor und gibt viele Hinweise für den Einsatz in der Praxis. Weitere Quellen sind in den unten zitierten Werken und im Internet zu finden. 3

32 3 KAPITEL 8. QUELLEN UND LITERATUR

33 Literaturverzeichnis [] Mark Nelson. Datenkomprimierung. Heise 993. [] Mark Nelson. Data Compression with the Burrows-Wheeler Transform. In: Dr. Dobb's Journal, September 996. [3] dito Online unter: [4] Michael Tamm. Packen wie noch nie. Datenkompression mit dem BWT- Algorithmus. In: c't 6/, Heise. [5] O. Vornberger. Computergrafik. SS. 33

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

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

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

Kodierungsalgorithmen

Kodierungsalgorithmen Kodierungsalgorithmen Komprimierung Verschlüsselung Komprimierung Zielsetzung: Reduktion der Speicherkapazität Schnellere Übertragung Prinzipien: Wiederholungen in den Eingabedaten kompakter speichern

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

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

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

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

Einleitung. Kapitel 1

Einleitung. Kapitel 1 Kapitel 1 Einleitung In diesem Abschnitt geben wir einen kurzen Überblick über den Inhalt der Vorlesung. Wir werden kurz die wesentlichen Probleme erläutern, die wir ansprechen wollen. Wir werden auch

Mehr

Kompressionsverfahren

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

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

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

Digitalisierung. analoges Signal PAM. Quantisierung

Digitalisierung. analoges Signal PAM. Quantisierung Digitalisierung U analoges Signal t U PAM t U Quantisierung t Datenreduktion Redundanzreduktion (verlustfrei): mehrfach vorhandene Informationen werden nur einmal übertragen, das Signal ist ohne Verluste

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

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

Mehrwegbäume Motivation

Mehrwegbäume Motivation Mehrwegbäume Motivation Wir haben gute Strukturen (AVL-Bäume) kennen gelernt, die die Anzahl der Operationen begrenzen Was ist, wenn der Baum zu groß für den Hauptspeicher ist? Externe Datenspeicherung

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

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

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

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche: Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 24/ 44 Zwei Beispiele a 0

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

Seminar über Algorithmen, SS2004. Textkompression. von Christian Grümme und Robert Hartmann

Seminar über Algorithmen, SS2004. Textkompression. von Christian Grümme und Robert Hartmann Seminar über Algorithmen, SS2004 Textkompression von Christian Grümme und Robert Hartmann 1. Einleitung Textkompression wird zur Verringerung des Speicherbedarfs und der Übertragungskapazität von allgemeinen

Mehr

Hauptdiplomklausur Informatik Februar 2006: Multimedia Systems

Hauptdiplomklausur Informatik Februar 2006: Multimedia Systems Universität Mannheim Fakultät für Mathematik und Informatik Lehrstuhl für Praktische Informatik IV Prof. Dr.-Ing. W. Effelsberg Hauptdiplomklausur Informatik Februar 2006: Multimedia Systems Name: Matrikel-Nr.:

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

Referat zum Thema Huffman-Codes

Referat zum Thema Huffman-Codes Referat zum Thema Huffman-Codes Darko Ostricki Yüksel Kahraman 05.02.2004 1 Huffman-Codes Huffman-Codes ( David A. Huffman, 1951) sind Präfix-Codes und das beste - optimale - Verfahren für die Codierung

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

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

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

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

Algorithmen und Datenstrukturen (für ET/IT) Programm heute. Wintersemester 2012/13. Dr. Tobias Lasser. 7 Fortgeschrittene Datenstrukturen

Algorithmen und Datenstrukturen (für ET/IT) Programm heute. Wintersemester 2012/13. Dr. Tobias Lasser. 7 Fortgeschrittene Datenstrukturen Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 202/3 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute 7 Fortgeschrittene Datenstrukturen 8 Such-Algorithmen

Mehr

Basisinformationstechnologie II

Basisinformationstechnologie II Basisinformationstechnologie II Sommersemester 2014 28. Mai 2014 Algorithmen der Bildverarbeitung I: Kompression Universität zu Köln. Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G.

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

Image Compression. Kompression. Beseitigung der unnötigen Daten... Redundanz. Vorlesung FH-Hagenberg SEM. Backfrieder-Hagenberg. Backfrieder-Hagenberg

Image Compression. Kompression. Beseitigung der unnötigen Daten... Redundanz. Vorlesung FH-Hagenberg SEM. Backfrieder-Hagenberg. Backfrieder-Hagenberg Image Compression Vorlesung FH-Hagenberg SEM Kompression Encoder Decoder Beseitigung der unnötigen Daten... Redundanz 1 Inhalte Redundanz Channel Encoding Error-Free Compression Hufmann Coding Runlength

Mehr

2. Repräsentation und Codierung von Daten. Klassen von Codierverfahren

2. Repräsentation und Codierung von Daten. Klassen von Codierverfahren 2. Repräsentation und Codierung von Daten Klassen von Codierverfahren SS 2009 Multimediale Informationsverarbeitung: Repräsentation und Codierung 1 Klassen von Codierverfahren SS 2009 Multimediale Informationsverarbeitung:

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

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

Run Length Coding und Variable Length Coding

Run Length Coding und Variable Length Coding Fachbereich Medieninformatik Hochschule Harz Run Length Coding und Variable Length Coding Referat Matthias Zittlau 11034 Abgabe: 15.01.2007 Inhaltsverzeichnis 1. RLC...1 2.1 Einführung...1 2.2 Prinzip...1

Mehr

Image Compression. Kompression. Beseitigung der unnötigen Daten... Redundanz. Vorlesung FH-Hagenberg SEM. Backfrieder-Hagenberg. Backfrieder-Hagenberg

Image Compression. Kompression. Beseitigung der unnötigen Daten... Redundanz. Vorlesung FH-Hagenberg SEM. Backfrieder-Hagenberg. Backfrieder-Hagenberg Image Compression Vorlesung FH-Hagenberg SEM Kompression Encoder Decoder Beseitigung der unnötigen Daten... Redundanz 1 Inhalte Redundanz Error-Free Compression Hufmann Coding Runlength Coding Lossy Compression

Mehr

Universität Trier. Fachbereich IV. Wintersemester 2004/2005. Wavelets made easy. Kapitel 2 Mehrdimensionale Wavelets und Anwendungen

Universität Trier. Fachbereich IV. Wintersemester 2004/2005. Wavelets made easy. Kapitel 2 Mehrdimensionale Wavelets und Anwendungen Universität Trier Fachbereich IV Wintersemester 2004/2005 Wavelets made easy Kapitel 2 Mehrdimensionale Wavelets und Anwendungen Thomas Queckbörner 16.11.2004 Übersicht des Kapitels: 1. Einführung 2. Zweidimensionale

Mehr

15 Optimales Kodieren

15 Optimales Kodieren 15 Optimales Kodieren Es soll ein optimaler Kodierer C(T ) entworfen werden, welcher eine Information (z.b. Text T ) mit möglichst geringer Bitanzahl eindeutig überträgt. Die Anforderungen an den optimalen

Mehr

Übersicht. Aktivitäten-Auswahl-Problem. Greedy Algorithmen. Aktivitäten-Auswahl-Problem. Aktivitäten-Auswahl-Problem. Datenstrukturen & Algorithmen

Übersicht. Aktivitäten-Auswahl-Problem. Greedy Algorithmen. Aktivitäten-Auswahl-Problem. Aktivitäten-Auswahl-Problem. Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Übersicht Greedy Algorithmen Einführung Aktivitäten-Auswahl-Problem Huffman Codierung Matthias Zwicker Universität Bern Frühling 2009 2 Greedy Algorithmen Entwurfsstrategie

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

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

Seminar Kompressionsalgorithmen Huffman-Codierung, arithmetische Codierung

Seminar Kompressionsalgorithmen Huffman-Codierung, arithmetische Codierung Huffman-Codierung, arithmetische Codierung Theoretische Informatik RWTH-Aachen 4. April 2012 Übersicht 1 Einführung 2 3 4 5 6 Einführung Datenkompression Disziplin,die Kompressionsalgorithmen entwirft

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

2.2 Der Algorithmus von Knuth, Morris und Pratt

2.2 Der Algorithmus von Knuth, Morris und Pratt Suchen in Texten 2.1 Grundlagen Ein Alphabet ist eine endliche Menge von Symbolen. Bsp.: Σ a, b, c,..., z, Σ 0, 1, Σ A, C, G, T. Wörter über Σ sind endliche Folgen von Symbolen aus Σ. Wörter werden manchmal

Mehr

PPM - Prediction by Partial Matching

PPM - Prediction by Partial Matching PPM - Prediction by Partial Matching 20. September 2012 Zusammenfassung Der PPM-Algorithmus ist eine prinzipiell relativ einfache Möglichkeit, Daten sehr stark zu komprimieren. In dieser Arbeit soll der

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

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

Datenstrukturen & Algorithmen Lösungen zu Blatt 4 FS 15

Datenstrukturen & Algorithmen Lösungen zu Blatt 4 FS 15 Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik 18. März

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

JPEG Kompression technische Realisierung

JPEG Kompression technische Realisierung Experimentalphysik V 20. Januar 2005 Schema der JPEG Kompression Farbraumkonvertierung RGB YCbCr Subsampling der Farbkomponenten Cb, Cr Zerlegung in Blöcke 8 8 2D Kosinustransformation (DCT) Quantisierung

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

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

Arithmetisches Codieren

Arithmetisches Codieren Arithmetisches Codieren 1. Motivation: Als Alternative zum arithmetischen Codieren bot sich damals als effizientester Algorithmus das Huffmann-Coding an. Dieses jedoch hatte einen entscheidenden Nachteil:

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

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

Proseminar WS 2002/2003

Proseminar WS 2002/2003 Technische Universität Chemnitz Fakultät für Informatik Professur Theoretische Informatik Proseminar WS 2002/2003 Thema: Datenkompression Dynamisches / Adaptives Huffman-Verfahren Danny Grobe Rainer Kuhn

Mehr

Datenkompression. Kommunikationstechnik, SS 08, Prof. Dr. Stefan Brunthaler 167

Datenkompression. Kommunikationstechnik, SS 08, Prof. Dr. Stefan Brunthaler 167 Datenkompression Kommunikationstechnik, SS 08, Prof. Dr. Stefan Brunthaler 167 Datenkompression I Wie der Hofmathematikus herausgefunden hatte, läßt sich eine Kodierung durch Wahl einer variablen Wortlänge

Mehr

Problem: Finde für Alphabet mit n Zeichen einen Binärcode, der die Gesamtlänge eines Textes (über diesem Alphabet) minimiert.

Problem: Finde für Alphabet mit n Zeichen einen Binärcode, der die Gesamtlänge eines Textes (über diesem Alphabet) minimiert. Anwendungen von Bäumen 4.3.2 Huffman Code Problem: Finde für Alphabet mit n Zeichen einen Binärcode, der die Gesamtlänge eines Textes (über diesem Alphabet) minimiert. => nutzbar für Kompression Code fester

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

Arbeiten im Datennetz der Universität Regensburg

Arbeiten im Datennetz der Universität Regensburg Wiwi-Workshop Uni Regensburg August 2002 Arbeiten im Datennetz der Universität Regensburg - Das Komprimierungsprogramm Winzip - Dr. Wirtschaftswissenschaftliche Fakultät Gliederung Das Komprimierungsprogramm

Mehr

6 Ü B E R S E T Z U N G E N U N D C O D I E R U N G E N. 6.1 von wörtern zu zahlen und zurück Dezimaldarstellung von Zahlen Num 10

6 Ü B E R S E T Z U N G E N U N D C O D I E R U N G E N. 6.1 von wörtern zu zahlen und zurück Dezimaldarstellung von Zahlen Num 10 6 Ü B E R S E T Z U N G E N U N D C O D I E R U N G E N 6.1 von wörtern zu zahlen und zurück 6.1.1 Dezimaldarstellung von Zahlen Num 10 Num10(ε) = 0 (6.1) für jedes w Z 10 für jedes x Z 10 Num 10 (wx)

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 studla@bioinf.uni-leipzig.de Datenkomprimierung Bei den meisten bisher betrachteten

Mehr

Isomorphie von Bäumen

Isomorphie von Bäumen Isomorphie von Bäumen Alexandra Weinberger 23. Dezember 2011 Inhaltsverzeichnis 1 Einige Grundlagen und Definitionen 2 1.1 Bäume................................. 3 1.2 Isomorphie..............................

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

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

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 14. Bäume. Bäume 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 14. Bäume. Bäume 1 Kapitel 14 Bäume Bäume 1 Ziele Den Begriff des Baums in der Informatik kennenlernen Bäume als verkettete Datenstruktur repräsentieren können Rekursive Funktionen auf Bäumen verstehen und schreiben können

Mehr

Algorithmen und Datenstrukturen 2-3. Seminar -

Algorithmen und Datenstrukturen 2-3. Seminar - Algorithmen und Datenstrukturen 2-3. Seminar - Dominic Rose Bioinformatics Group, University of Leipzig Sommersemster 2010 Outline 3. Übungsserie: 3 Aufgaben, insgesamt 30 Punkte A7 Huffmann-Codierung

Mehr

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1 Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1 Aufgabe 1. / 16 P Instruktionen: 1) In dieser Aufgabe sollen Sie nur die Ergebnisse angeben. Diese können Sie direkt bei den Aufgaben notieren. 2) Sofern

Mehr

Codierung. Auszug aus dem Skript von Maciej Liśkiewicz und Henning Fernau

Codierung. Auszug aus dem Skript von Maciej Liśkiewicz und Henning Fernau Codierung Auszug aus dem Skript von Maciej Liśkiewicz und Henning Fernau Ein bisschen Informationstheorie Betrachten wir das folgende Problem: Wie lautet eine sinnvolle Definition für das quantitative

Mehr

Beispielhafte Testfragen (auch aus Schülerreferaten, Fragen können redundant sein, keine Audio Kompression berücksichtigt):

Beispielhafte Testfragen (auch aus Schülerreferaten, Fragen können redundant sein, keine Audio Kompression berücksichtigt): Beispielhafte Testfragen (auch aus Schülerreferaten, Fragen können redundant sein, keine Audio Kompression berücksichtigt): Was versteht man unter PCM, DPCM, DM, ADPCM? Skizze! Was versteht man unter PCM

Mehr

B*-BÄUME. Ein Index ist seinerseits wieder nichts anderes als eine Datei mit unpinned Records.

B*-BÄUME. Ein Index ist seinerseits wieder nichts anderes als eine Datei mit unpinned Records. B*-Bäume 1 B*-BÄUME Beobachtung: Ein Index ist seinerseits wieder nichts anderes als eine Datei mit unpinned Records. Es gibt keinen Grund, warum man nicht einen Index über einem Index haben sollte, und

Mehr

2.7 Der Shannon-Fano-Elias Code

2.7 Der Shannon-Fano-Elias Code 2.7 Der Shannon-Fano-Elias Code Die Huffman-Codierung ist ein asymptotisch optimales Verfahren. Wir haben auch gesehen, dass sich die Huffman-Codierung gut berechnen und dann auch gut decodieren lassen.

Mehr

Häufige Mengen ohne Kandidatengenerierung. FP-Tree: Transaktionen. Konstruktion eines FP-Trees. FP-Tree: Items

Häufige Mengen ohne Kandidatengenerierung. FP-Tree: Transaktionen. Konstruktion eines FP-Trees. FP-Tree: Items Häufige Mengen ohne Kandidatengenerierung Jiawei Han, Micheline Kamber 2006 (2nd ed.)! Ziel 1: Kompression der Datenbank in eine Frequent-Pattern Tree Struktur (FP-Tree)! Stark komprimiert, vollständig

Mehr

Proseminar Kodierverfahren bei Dr. Ulrich Tamm Sommersemester 2003 Thema: Codierung von Bäumen (Prüfer Codes...)

Proseminar Kodierverfahren bei Dr. Ulrich Tamm Sommersemester 2003 Thema: Codierung von Bäumen (Prüfer Codes...) Proseminar Kodierverfahren bei Dr. Ulrich Tamm Sommersemester 2003 Thema: Codierung von Bäumen (Prüfer Codes...) Inhalt: Einleitung, Begriffe Baumtypen und deren Kodierung Binäre Bäume Mehrwegbäume Prüfer

Mehr

A2.3: Zur LZ78 Komprimierung

A2.3: Zur LZ78 Komprimierung A2.3: Zur LZ78 Komprimierung Im Gegensatz zur Entropiecodierung nach Huffman oder Shannon, bei der man die Quellenstatistik (möglichst genau) kennen muss, sind solche Einschränkungen bei den von Abraham

Mehr

Einführung in die medizinische Bildverarbeitung WS 12/13

Einführung in die medizinische Bildverarbeitung WS 12/13 Einführung in die medizinische Bildverarbeitung WS 12/13 Stephan Gimbel Kurze Wiederholung Landmarkenbasierte anhand anatomischer Punkte interaktiv algorithmisch z.b. zur Navigation im OP Markierung von

Mehr

a) Fügen Sie die Zahlen 39, 38, 37 und 36 in folgenden (2, 3)-Baum ein:

a) Fügen Sie die Zahlen 39, 38, 37 und 36 in folgenden (2, 3)-Baum ein: 1 Aufgabe 8.1 (P) (2, 3)-Baum a) Fügen Sie die Zahlen 39, 38, 37 und 36 in folgenden (2, 3)-Baum ein: Zeichnen Sie, was in jedem Schritt passiert. b) Löschen Sie die Zahlen 65, 70 und 100 aus folgendem

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

Effiziente Algorithmen und Komplexitätstheorie

Effiziente Algorithmen und Komplexitätstheorie 1 Effiziente lgorithmen und Komplexitätstheorie Vorlesung Thomas Jansen 29.06.2006 2 Burrows-Wheeler-Kompression: Verbesserungen dreischrittiges Kompressionsverfahren Burrows- Wheeler- Transformation Globale

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

1 Grundlagen. 1.1 Erste Grundbegriffe 1.2 Kryptographische Systeme 1.3 Informationstheoretische Grundlagen

1 Grundlagen. 1.1 Erste Grundbegriffe 1.2 Kryptographische Systeme 1.3 Informationstheoretische Grundlagen 1 Grundlagen 1.1 Erste Grundbegriffe 1.2 Kryptographische Systeme 1.3 Informationstheoretische Grundlagen Die Überlegungen dieses Kapitels basieren auf der Informationstheorie von Shannon. Er beschäftigte

Mehr

Suchen und Sortieren Sortieren. Heaps

Suchen und Sortieren Sortieren. Heaps Suchen und Heaps (Folie 156, Seite 56 im Skript) Definition Ein Heap ist ein Binärbaum, der die Heapeigenschaft hat (Kinder sind größer als der Vater), bis auf die letzte Ebene vollständig besetzt ist,

Mehr

Strings. Stringsuche, Boyer-Moore, Textkompression, Huffman Codes.

Strings. Stringsuche, Boyer-Moore, Textkompression, Huffman Codes. Strings Stringsuche, Boyer-Moore, Textkompression, Huffman Codes. Suche Substring Häufiges Problem Relevante Beispiele: Suche ein Schlagwort in einem Buch Alphabet: A-Za-z0-9 Suche Virussignatur auf der

Mehr

7. Sortieren Lernziele. 7. Sortieren

7. Sortieren Lernziele. 7. Sortieren 7. Sortieren Lernziele 7. Sortieren Lernziele: Die wichtigsten Sortierverfahren kennen und einsetzen können, Aufwand und weitere Eigenschaften der Sortierverfahren kennen, das Problemlösungsparadigma Teile-und-herrsche

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 7 (21.5.2014) Binäre Suche, Hashtabellen I Algorithmen und Komplexität Abstrakte Datentypen : Dictionary Dictionary: (auch: Maps, assoziative

Mehr

Algorithmen und Datenstrukturen Heapsort

Algorithmen und Datenstrukturen Heapsort Algorithmen und Datenstrukturen 2 5 Heapsort In diesem Kapitel wird Heapsort, ein weiterer Sortieralgorithmus, vorgestellt. Dieser besitzt wie MERGE-SORT eine Laufzeit von O(n log n), sortiert jedoch das

Mehr

9. Vektoren. (auch Felder/array)

9. Vektoren. (auch Felder/array) 9. Vektoren (auch Felder/array) Motivation Hat man mehrere Objekte gleichen Datentyps, so kann man sie explizit deklarieren, wenn die Anzahl bekannt ist double x1,x2,x3,x4; Nachteile: versagt, -wenn die

Mehr

Technische Informatik - Eine Einführung

Technische Informatik - Eine Einführung Martin-Luther-Universität Halle-Wittenberg Fachbereich Mathematik und Informatik Lehrstuhl für Technische Informatik Prof. P. Molitor Technische Informatik - Eine Einführung Darstellung von Zeichen und

Mehr

Redundanz. Technische Informationsquelle Entropie und Redundanz Huffman Codierung. Martin Werner WS 09/10. Martin Werner, Dezember 09 1

Redundanz. Technische Informationsquelle Entropie und Redundanz Huffman Codierung. Martin Werner WS 09/10. Martin Werner, Dezember 09 1 Information, Entropie und Redundanz Technische Informationsquelle Entropie und Redundanz Huffman Codierung Martin Werner WS 9/ Martin Werner, Dezember 9 Information und Daten Informare/ Informatio (lat.)

Mehr

Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8

Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8 ETH Zürich Institut für Theoretische Informatik Prof. Dr. Angelika Steger Florian Meier, Ralph Keusch HS 2017 Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8 Lösungsvorschlag zu Aufgabe 1

Mehr

Informatik-Seminar Thema 6: Bäume

Informatik-Seminar Thema 6: Bäume Informatik-Seminar 2003 - Thema 6: Bäume Robin Brandt 14. November 2003 1 Robin Brandt Informatik-Seminar 2003 - Thema 6: Bäume Übersicht Definition Eigenschaften Operationen Idee Beispiel Datendefinition

Mehr

Vorkurs Informatik WiSe 16/17

Vorkurs Informatik WiSe 16/17 Konzepte der Informatik Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 14.10.2016 Technische Universität Braunschweig, IPS Inhaltsverzeichnis Bildcodierung Huffman scher Algorithmus Verlustbehaftete

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Minimale Spannbäume Maike Buchin 18.7., 20.7.2017 Einführung Motivation: Verbinde Inseln mit Fähren oder Städte mit Schienen und verbrauche dabei möglichst wenig Länge. Problem:

Mehr

Textkompression: Burrows-Wheeler-Transformation

Textkompression: Burrows-Wheeler-Transformation Proseminar Algorithmen der Bioinformatik Ausarbeitung Textkompression: Burrows-Wheeler-Transformation Uli Köhler 12.11.2012 Inhaltsverzeichnis 1 Einleitung 2 2 Verlustfreie Kompression 2 3 Die Burrows-Wheeler-Transformation

Mehr

Effiziente Algorithmen und Komplexitätstheorie

Effiziente Algorithmen und Komplexitätstheorie Fakultät für Informatik Lehrstuhl 2 Vorlesung Effiziente Algorithmen und Komplexitätstheorie Sommersemester 2008 Ingo Wegener; Vertretung: Carsten Witt 7. Juli 2008 Vorlesung am 14.07. (nächste Woche):

Mehr

Greedy Algorithms - Gierige Algorithmen

Greedy Algorithms - Gierige Algorithmen Greedy Algorithms - Gierige Algorithmen Marius Burfey 23. Juni 2009 Inhaltsverzeichnis 1 Greedy Algorithms 1 2 Interval Scheduling - Ablaufplanung 2 2.1 Problembeschreibung....................... 2 2.2

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 Weiterführende Literatur zum Thema Informationstheorie:

Mehr