1 / 13

Huffmans Kompressionsverfahren Proseminar bei PD. Dr. Bernd Klauer SS 2004

Huffmans Kompressionsverfahren Proseminar bei PD. Dr. Bernd Klauer SS 2004. Huffmans Kompressionsverfahren Proseminar bei PD. Dr.Bernd Klauer SS 2004 Haibo Zhou. 2. Gestalten der Ausarbeitung 3. Gestalten der Vortrags. 1. Materialienbeschaffung.

cedric
Download Presentation

Huffmans Kompressionsverfahren Proseminar bei PD. Dr. Bernd Klauer SS 2004

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Huffmans KompressionsverfahrenProseminar bei PD. Dr. Bernd KlauerSS 2004 Huffmans Kompressionsverfahren Proseminar bei PD. Dr.Bernd Klauer SS 2004 Haibo Zhou

  2. 2. Gestalten der Ausarbeitung 3. Gestalten der Vortrags 1. Materialienbeschaffung Huffmans KompressionsverfahrenProseminar bei PD. Dr. Bernd KlauerSS 2004

  3. Einige wichtige Begriffe: Der Kompressor oder Encoder Der Dekompressor oder Decoder Die adaptive Methode semi-adaptive Symmetrische Kompression Wahrscheinlichkeitsmodell Huffmans Kompressionsverfahren Proseminar bei PD. Dr. Bernd KlauerSS 2004 Vorstellung der Datenkompression

  4. Grafische Repräsentation des Huffman-Codes: der Huffman-Baum Beispiel: Symbole A, B, C, D, E, F, G mit die Wahrscheinlichkeiten des Erscheinens jedes Symbols in dem Text: 0.25, 0.21, 0.18, 0.14, 0.09, 0.07 respektive 0.06. Wie bauen wir einen Huffman-Baum mit obiger Symbole? Huffmans KompressionsverfahrenProseminar bei PD. Dr. Bernd KlauerSS 2004 Huffman`s Kompressionsverfahren

  5. Huffmans KompressionsverfahrenProseminar bei PD. Dr. Bernd KlauerSS 2004 Der Huffman-Baum grafisch dargestellt:

  6. Huffmans KompressionsverfahrenProseminar bei PD. Dr. Bernd KlauerSS 2004 Codewörter - einfach ablesen aus dem Huffman-Baum • Man startet mit einem leeren String • Bei jedem Knoten kann man entscheiden, ob man nach links oder rechts weitergeht. Steigt man in den linken Teilbaum ab, so fügt man dem String hinten eine "0" an. Steigt man in den rechten Teilbaum ab, so fügt man dem String hinten eine "1" an • ist man in dem Blatt angelangt, so nimmt man den String als Codewort für das entsprechende Symbol

  7. Er startet mit einer Liste von n Blättern. Jedes Blatt repräsentiert ein Symbol. Dann entfernt er die zwei Blätter mit den kleinsten Wahrscheinlichkeiten aus der Liste. Diese beiden Blätter fasst er zu einem Knoten zusammen. Der Knoten wird in die Liste eingefügt. Rekursiv bei 2 weiter bis die Liste nur noch einen Knoten. Huffmans KompressionsverfahrenProseminar bei PD. Dr. Bernd KlauerSS 2004 Codierung

  8. Man startet bei der Wurzel Ist das erste Zeichen im Binärstring eine "0", steigt man in den linken Teilbaum ab, sonst in den rechten. Dieses Vorgehen wiederholt man, bis man in einem Blatt ankommt. Definition: Präfixfrei: kein Codewort ist der Anfang eines anderen Codewortes. Huffmans KompressionsverfahrenProseminar bei PD. Dr. Bernd KlauerSS 2004 Effizientere Decodierung

  9. Huffmans KompressionsverfahrenProseminar bei PD. Dr. Bernd KlauerSS 2004 Was wäre ein optimaler Code? Ein optimaler Code bedeutet, dass der Code die mittlere (durchschnittliche) Codewortlänge minimiert. mittlere Codewortlänge L

  10. Sein die Symbole s1, s2, s3,...,sn absteigend sortiert mit p1 >= p2 >= p3 >= ... >= pn.Das heißt, es soll gelten: l1 <= l2 <= l3 <= ... <= ln. Nun, es ist anhand der Formel zur Berechnung von L relativ leicht einzusehen, dass die mittlere Codewortlänge L nur dann minimal sein kann, wenn eben die Codewortlängen aufsteigend sortiert sind. Daher ist der Huffman-Code optimal! Huffmans KompressionsverfahrenProseminar bei PD. Dr. Bernd KlauerSS 2004 Der Huffman-Code ist ein optimaler Code!

  11. Schritt: Lege eine Tabelle mit allen im Originaltext vorhandenen Symbolen und deren relativen Häufigkeiten an. Schritt: Konstruiere den Huffman-Baum und erzeuge daraus eine Code-Tabelle. Schritt: Durchlaufe den Text und ersetzte jedes Symbol mit dem entsprechenden Code. Das Resultat ist ein großer binärer String. Schritt: Damit dieser String platzsparend gespeichert werden kann, zerlegen wir ihn. Die meisten Computer arbeiten heute mit Ganzzahlen (Integers), die 32 Bit lang sind. Daher zerlegen wir den String in Blöcke der Länge 32. Schritt: Jeder dieser Blöcke kann nun einfach in einen Integer umgewandelt werden. Diese speichern wir. Zusätzlich speichern wir für die Decodierung den Huffman-Baum ab. Huffmans KompressionsverfahrenProseminar bei PD. Dr. Bernd KlauerSS 2004 Zusammenfassung--Komprimierung

  12. Schritt: Lade den Huffman-Baum. Schritt: Lies die Integers und interpretiere sie wiederum als einen großen binären String. Starte bei der Wurzel im Huffman-Baum. Ist das erste Zeichen im Binärstring eine "0", steige in den linken Teilbaum ab, sonst in den rechten. Wiederhole, bis in einem Blatt angekommen. Das gefundene Symbol wird ausgegeben. Wiederhole dieses Prozedere, bis der ganze Binärstring abgearbeitet ist. Huffmans KompressionsverfahrenProseminar bei PD. Dr. Bernd KlauerSS 2004 Zusammenfassung--Dekomprimieren

  13. Huffmans KompressionsverfahrenProseminar bei PD. Dr. Bernd KlauerSS 2004 Vielen Dank! Haibo Zhou Juli 2004

More Related