Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Skiseminar Multimedia WS 07/08 Bastian Behrend

Ähnliche Präsentationen


Präsentation zum Thema: "Skiseminar Multimedia WS 07/08 Bastian Behrend"—  Präsentation transkript:

1 Skiseminar Multimedia WS 07/08 Bastian Behrend
- Z I P - Skiseminar Multimedia WS 07/08 Bastian Behrend

2 Kompressionsalgorithmen
Agenda Grundlagen Kompressionsalgorithmen Statistische Verfahren Wörterbuchbasierte Verfahren Aufbau eines ZIP-Archivs Zusammenfassung

3 Grundlagen Ständig wachsender Datenwust Begrenzte Speicher- und Übertragungskapazitäten Notwendigkeit zur effizienten Nutzung der knappen Ressourcen Daher: Kompression!

4 Grundlagen Möglichkeiten zur Kompression: verlustfrei oder verlustbehaftet Verlustfrei: Elimination von Redundanzen Komprimierte Daten vollständig auf Eingabedaten zurückführbar z.B. Dokumente Verlustbehaftet: Zusätzlich: Elimination irrelevanter Informationen Nicht vollständig auf Eingabedaten zurückführbar! z.B. MP3, DIVX

5 Grundlagen Fokus: Verlustfreie Kompression Grundvoraussetzungen: Eingabedaten müssen vollständig rekonstruierbar sein Eindeutige Dekodierbarkeit Zusätzliche Annahme: Beliebige Eingabedaten

6 Zwei grundsätzliche Ansätze zur verlustlosen Kompression:
Grundlagen Zwei grundsätzliche Ansätze zur verlustlosen Kompression: Statistische Verfahren Idee: unterschiedliche Häufigkeit von Zeichen in der Eingabe ausnutzen Wörterbuchbasierte Verfahren Idee: Redundanzen in der Eingabe finden Güte der Kompression: Komprimiergeschwindigkeit Kompressionsverhältnis

7 Grundlagen Informationsgehalt: Menge an Information, die ein Zeichen trägt Umgekehrt proportional zur logarithmierten Wahrscheinlichkeit, das Zeichen zu erraten Im Fall binärer Zeichenkodierung:

8 Grundlagen Durchschnittlicher Informationsgehalt einer Nachricht: H wird auch die Entropie einer Nachricht genannt. Die Entropie bildet die untere Schranke bei der verlustlosen Kompression mit statistischen Verfahren!

9 Kompressionsalgorithmen
Agenda Grundlagen Kompressionsalgorithmen Statistische Verfahren Wörterbuchbasierte Verfahren Aufbau eines ZIP-Archivs Zusammenfassung

10 Statistische Verfahren
Ansatz: In einer gegebenen Nachricht kommen Zeichen mit unterschiedlicher Wahrscheinlichkeit vor Statt jedes Zeichen mit derselben Codelänge repräsentiere Häufig auftretende Zeichen mit kurzen Codes! Seltene Zeichen mit langen Codes!

11 Statistische Verfahren
Erzeugung von Kodierungen mit Binärbäumen Beispiel: Zu kodieren sei abcab Zeichen Code a b 10 c 11 Ergebnis:

12 Statistische Verfahren
Grundvoraussetzung: Eindeutige Dekodierbarkeit! Problem: unterschiedliche Länge der Zeichenkodierungen Beispiel: Zu kodieren sei abcab Zeichen Code a b 1 c 01 Ergebnis: Nicht eindeutig dekodierbar!!

13 Statistische Verfahren
Präfixfreie Codes: Es gibt keinen Code Ci, der Präfix von Code Cj ist für alle i≠j Notwendige und hinreichende Bedingung: Kraft-McMillan Ungleichung Seien xi Zeichen einer Eingabe und l(xi) die Bitlängen der Zeichen für i=1…n Dann muss gelten:

14 Statistische Verfahren
In dem ersten Beispielbaum: ½ + ¼ + ¼ = 1 Der Baum ist also präfixfrei und optimal. Zeichen Code a b 10 c 11

15 Statistische Verfahren
Huffman Kodierung: Algorithmus zum Erzeugen optimaler Binärbäume! Funktionsweise: Ermittle die Häufigkeitsverteilung der Zeichen in der Eingabe Erzeuge für jedes Zeichen ein Blatt mit der Eintrittswahrscheinlichkeit als Zusatzinformation Verbinde die beiden Blätter mit der niedrigsten Wahrscheinlichkeit. Die Wahrscheinlichkeit des Elternknotens ist nun die Summe der Einzelwahrscheinlichkeiten Iteriere Schritt 3 bis der Baum vollständig ist

16 Statistische Verfahren
Beispiel: Zu kodieren sei: fischers fritz fischt frische fische. Zeichen Häufigkeit P(X) f 5 5/36 i s 4 1/9 c h e 3 1/12 r <Space> t 2 1/18 z 1 1/36 .

17 Statistische Verfahren
Zeichen f i s c h < > e r t z . Kodierung 010 000 001 100 101 110 0110 0111 1110 11110 11111

18 Statistische Verfahren
Wert der Kraft-McMillan Ungleichung: 1 Durchschnittliche Codelänge: 3*5/36+ 3*5/36+ 3*1/9+ 3*1/9+ 3*1/9+ 3*1/9+ 4*1/12+ 4*1/12+ 4*1/18+ 5*1/36+ 5*1/36 = 3,33 Bit Entropie: 3,17 Bit Warum der Unterschied? Binärbäume können nur ganzzahlige Informationsgehalte darstellen!

19 Statistische Verfahren
Arithmetische Kompression Vorüberlegung: Im Intervall ]0,1[ existieren überabzählbar unendlich viele Zahlen. Folgerung: Für jede Eingabe gibt es in diesem Intervall eine Zahl, die die Eingabe eindeutig repräsentiert.

20 Statistische Verfahren
Ablauf: Ermittle die Häufigkeitsverteilung der Zeichen in der Eingabe Teile das Intervall ]0,1[ entsprechend dieser Verteilung auf Wähle das Teilintervall, das dem ersten gelesenen Zeichen entspricht Teile das Unterintervall erneut anhand der Häufigkeitsverteilung auf und wähle das Teilintervall, das dem nächsten gelesenen Zeichen entspricht Iteriere Schritt 4 bis zum Stoppzeichen

21 Statistische Verfahren
Probleme: Endliche Genauigkeit von Computern, daher schwierig zu implementieren Niedrige Geschwindigkeit Weniger weit verbreitet!

22 Kompressionsalgorithmen
Agenda Einführung Grundlagen Kompressionsalgorithmen Statistische Verfahren Wörterbuchbasierte Verfahren Aufbau eines ZIP-Archivs Zusammenfassung

23 Wörterbuchbasierte Kompression
Idee: Redundanzen innerhalb der Eingabe ausnutzen Art des Verfahrens: Statisch Wörterbuch fest vorgegeben Semi-adaptiv Wörterbuch vorgegeben, kann jedoch während der Kompression geändert werden Adaptiv Algorithmus startet mit leerem Wörterbuch

24 Wörterbuchbasierte Kompression
LZ77 „sliding window“ Zweigeteiltes Fenster wandert von links nach rechts über die Eingabe Rechter Teil des Fensters: „look-ahead buffer“ (LB) Linker Teil des Fensters: „search buffer“ (SB) Ausgabe: 3-Tupel (Offset, Länge, Folgezeichen)

25 Wörterbuchbasierte Kompression
Beispiel zur Funktionsweise von LZ77: Zu kodieren: abbbcdbca Größe LB: 3, SB: 4 Fertig kodiert SB LB Nicht gelesen Ausgabe abbbcdbca abb bcdbca (0,0,a) a bbb cdbca (0,0,b) ab bbc dbca (1,2,c) a bbbc dbc a (0,0,d) ab bbcd bca (3,2,a) abbbc dbca

26 Wörterbuchbasierte Kompression
Vorteil: Leicht zu implementieren Schnell Nachteil: Nur gut bei lokalen Redundanzen, da weiter entfernt liegende Treffer nicht mehr im Fenster liegen Durch das 3-Tupel hoher overhead bei einzelnen Zeichen Varianten: z.B. LZSS

27 Wörterbuchbasierte Kompression
LZ78 Wörterbuch statt search buffer Füllen des Wörterbuchs während der Komprimierung Vorteil: Berücksichtigung räumlich weiter auseinander liegender Redundanzen Ausgabe: 2-Tupel (Wörterbuchindex, Folgezeichen)

28 Wörterbuchbasierte Kompression
Beispiel zur Funktionsweise von LZ78: Zu kodieren sei: abacbabacc Schritt Eingabe Token/ Ausgabe Neuer Wörtbucheintrag/ Index 1 a 0,a a,1 2 b 0,b b,2 3 ac 1,c ac,3 4 ba 2,a ba,4 5 bac 4,c bac,5 6 c 0,c c,6

29 Wörterbuchbasierte Kompression
Ausgabe: (0,a)(0,b)(1,c)(2,a)(4c)(0,c) Größe des Wörterbuchs in LZ78 nicht beschränkt! Varianten von LZ78: z.B. LZW Kommt ohne explizite Angabe des Folgezeichens aus Erfordert dafür ein Anfangswörterbuch mit sämtlichen vorkommenden Zeichen

30 Kompressionsalgorithmen
Agenda Grundlagen Kompressionsalgorithmen Statistische Verfahren Wörterbuchbasierte Verfahren Aufbau eines ZIP-Archivs Zusammenfassung

31 ZIP: ZIP Ende der 80-er Jahre aufgekommen Entwickler: Phil Katz
Public Domain Containerformat, keine Kompressionsmethode! Aufbau: Keine monolithische Struktur! Header Datei1| Daten Datei 1| Deskriptor Datei 1|…| Header Datei n| Daten Datei n| Deskriptor Datei n| Zentrale Verzeichnisstruktur| Ende Zentrale Verzeichnisstruktur

32 ZIP Dateien können sowohl komprimiert als auch unkomprimiert vorliegen Art der Kompression durch Flag vor der komprimierten Datei angezeigt Unterstützte Kompressionsmethoden: u.a. deflate, bzip2 Fehlerkorrektur mit CRC Lange nur schwache Verschlüsselung implementiert

33 Deflate: ZIP Ebenfalls von Phil Katz entwickelt Public Domain
Standard-Kompressionsverfahren bei ZIP Mehrstufiges Verfahren: 1. Schritt: Kompression mit LZSS 2. Schritt: Huffman Kodierung Je nach gewünschter Kodiergeschwindigkeit: Variation der Parameter beider Basisalgorithmen

34 Kompressionsalgorithmen
Agenda Grundlagen Kompressionsalgorithmen Statistische Verfahren Wörterbuchbasierte Verfahren Aufbau eines ZIP-Archivs Zusammenfassung

35 Zusammenfassung: Zusammenfassung
Zwei grundlegende Arten der verlustlosen Kompression Kein optimaler Ansatz Implementierungen meist mehrstufig

36 Vielen Dank für Ihre Aufmerksamkeit!


Herunterladen ppt "Skiseminar Multimedia WS 07/08 Bastian Behrend"

Ähnliche Präsentationen


Google-Anzeigen