2. Digitale Codierung und Übertragung

Ähnliche Dokumente
2. Digitale Codierung und Übertragung

2. Digitale Codierung und Übertragung

2. Digitale Codierung und Übertragung

2. Digitale Codierung und Übertragung

2. Digitale Codierung und Übertragung

16 - Kompressionsverfahren für Texte

Kompressionsverfahren für Texte

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

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

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

Farb-Fernsehsignal (Composite FBAS)

Basisinformationstechnologie II

Klausur Digitale Medien

(Prüfungs-)Aufgaben zur Codierungstheorie

Kompressionsverfahren

Dynamisches Huffman-Verfahren

Digitalisierung. analoges Signal PAM. Quantisierung

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

Basisinformationstechnologie II

Kapitel 2 Quellencodierung

Probeklausur Digitale Medien

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

Kodierungsalgorithmen

ADS: Algorithmen und Datenstrukturen 2

Eigenschaften von Kompressionsverfahren

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

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

2. Digitale Codierung und Übertragung

Einleitung. Kapitel 1

Datenkompression. 1 Allgemeines. 2 Verlustlose Kompression. Holger Rauhut

Einführung in Kompressionstechniken

Ziv-Lempel-Kompression von André Lichei

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

Kompression und Datenformate. Grundlagen der Bildspeicherung, Kompressionsverfahren, Datenformate

Grundlagen der Informationstheorie. Hanna Rademaker und Fynn Feldpausch

Effiziente Algorithmen und Komplexitätstheorie

Mathematik für Information und Kommunikation

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT)

Organisation. Was kommt zum Test? Buch Informatik Grundlagen bis inkl. Kapitel 7.4 Wissensfragen und Rechenbeispiele

Seminar. Codierungstheorie

Technische Informatik - Eine Einführung

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

Referat zum Thema Huffman-Codes

2. Digitale Codierung und Übertragung

2.7 Der Shannon-Fano-Elias Code

Optimalcodierung. Thema: Optimalcodierung. Ziele

Arithmetisches Codieren

2. Digitale Codierung und Übertragung

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

Informationstheorie und Codierung

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

Die Digitalisierung von Musik

Panorama der Mathematik und Informatik

Kodierung. Bytes. Zahlensysteme. Darstellung: Zahlen

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

2. Digitale Codierung und Übertragung

Übungsaufgaben zur Vorlesung Quellencodierung

Computer Science Unplugged Algorithmen zur Textkompression

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

Lösungsvorschlag 3. Übung Technische Grundlagen der Informatik II Sommersemester 2009

Datenkompression. Motivation Datenmengen

Klausur Informationstheorie und Codierung

Einführung in die Medieninformatik 1

Kompression und Datenformate. Grundlagen der Bildspeicherung, Kompressionsverfahren, Datenformate

Gierige Algorithmen Interval Scheduling

Übung zur Vorlesung. Informationstheorie und Codierung

Hauptdiplomklausur Informatik Februar 2006: Multimedia Systems

Algorithmen und Datenstrukturen 2-3. Seminar -

Kodierung. Kodierung von Zeichen mit dem ASCII-Code

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

Freie Universität Berlin. Seminar Talk. Datenkompression. Zacharias V. Fisches 2. Mai 2017

Digitale Bildverarbeitung (DBV)

Vorkurs Informatik WiSe 16/17

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

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

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

Bilddatenformate BMP GIF JPG. Digitale Bildverarbeitung Liedtke 7.1. Bezeichnung: Microsoft Windows Bitmap, BMP, DIB

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

Übung 1: Quellencodierung

Seminar Kompressionsalgorithmen Huffman-Codierung, arithmetische Codierung

2 Informationstheorie

Digitales Video I. Wie wird Video am Computer codiert? Bilder. Bewegte Bilder. Ton. Videoformate. Auflösung Speicherung am Computer

Verlustfreie Kompression

Molekulare Bioinformatik

A2.3: Zur LZ78 Komprimierung

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

Aktuelle Themen der Angewandten Informatik: Datenkompression Seminar-Unterlagen Sommer Semester 2016

Information und Codierung

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

Graphische Datenverarbeitung

LZSS und Deflate. Lars Kunert. April 18, Seminar Kompressionsalgorithmen RWTH Aachen

Informatik II, SS 2014

Effiziente Algorithmen 2

Kapitel 2: Informationstheorie. 3. Quellencodierung

Proseminar. Thema: Shannon-Fano und Huffman Verfahren

Information Modellierung Shannon Fano Praxis. Entropie. Ingo Blechschmidt, Michael Hartmann. 15. November 2006

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

Transkript:

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 2-1 Zeichenvorräte und Codierung Ein Zeichenvorrat ist eine endliche Menge von Zeichen. Eine Nachricht (im Zeichenvorrat A) ist eine Sequenz von Zeichen aus A Seien A und B Zeichenvorräte. Eine Codierung ist eine Abbildung von Nachrichten in A auf Nachrichten in B. Wir beschränken uns meist auf binäre Codierungen, d.h. B = { 0, L } Die Informationstheorie (nach Shannon) befaßt sich mit Nachrichtenquellen aus rein stochastischer Sicht Die Interpretation der Nachrichten ist hier kein Thema! A a a b b c c d d B a O L b Beispiel: abca 000LL000 ddc LLLLLO Ludwig-Maximilians-Universität München Prof. Hußmann Digitale Medien 2-2 Seite 1

Entropie (1) Annahme Stochastische Nachrichtenquelle: Wir kennen die Häufigkeitsverteilung der Zeichen in den Nachrichten. Entscheidungsgehalt (Entropie) der Nachrichtenquelle: Wie viele Ja/Nein-Entscheidungen entsprechen dem Auftreten eines Einzelzeichens? Eine Ja/Nein-Entscheidung = 1 bit p = Häufigkeit Beispiele: Quelle 1 Zeichen a b c d Häufigkeit 1 0 0 0 Entschdg. 0 - - - x = Zahl der Entscheidungen 2 x = 1/p Quelle 2 Zeichen a b c d Häufigkeit 0.25 0.25 0.25 0.25 Entschdg. 2 2 2 2 x = ld (1/p) (Logarithmus zur Basis 2) Ludwig-Maximilians-Universität München Prof. Hußmann Digitale Medien 2-3 Entropie (2) Durchschnittlicher Entscheidungsgehalt je Zeichen: Entropie H H = p a ld 1 p a a A Quelle 1 Zeichen a b c d Häufigkeit 1 0 0 0 Entschdg. 0 - - - Quelle 2 Zeichen a b c d Häufigkeit 0.25 0.25 0.25 0.25 Entschdg. 2 2 2 2 Quelle 3 Zeichen a b c d Häufigkeit 0.5 0.25 0.125 0.125 Entschdg. 1 2 3 3 H = 0 H = 2 H = 1.75 Ludwig-Maximilians-Universität München Prof. Hußmann Digitale Medien 2-4 Seite 2

Wortlängen und Redundanz Eine (Binär-)Codierung der Nachrichten einer stochastischen Nachrichtenquelle ergibt eine durchschnittliche Wortlänge L. L = p a c(a) a A Quelle 2 Zeichen a b c d Häufigkeit 0.25 0.25 0.25 0.25 Code 00 0L L0 LL Quelle 3 Zeichen a b c d Häufigkeit 0.5 0.25 0.125 0.125 Code 00 0L L0 LL H = 2 L = 2 H = 1.75 L = 2 Redundanz = L H Redundanz ist ein Maß für die Güte der Codierung: möglichst klein! Ludwig-Maximilians-Universität München Prof. Hußmann Digitale Medien 2-5 Optimale Codierung Eine Codierung ist optimal, wenn die Redundanz 0 ist. Durch geeignete Codierung (z.b. Wortcodierung statt Einzelzeichencodierung) kann man die Redundanz beliebig niedrig wählen. Redundanz ermöglicht andererseits die Rekonstruktion fehlender Nachrichtenteile! B ispi l: Natürlich Sprach Beispiel: Fehlererkennende und -korrigierende Codes (z.b. Paritätsbits) Quelle 3 Zeichen a b c d Häufigkeit 0.5 0.25 0.125 0.125 Code 3A 00 0L L0 LL Quelle 3 Zeichen a b c d Häufigkeit 0.5 0.25 0.125 0.125 Code 3B 0 L0 LL0 LLL H = 1.75 L = 2 H = 1.75 L = 1.75 Ludwig-Maximilians-Universität München Prof. Hußmann Digitale Medien 2-6 Seite 3

2. Digitale Codierung und Übertragung 2.1 Informationstheoretische Grundlagen 2.2 Speicherbedarf und Kompression 2.3 Digitalisierung Weiterführende Literatur zum Thema Datenkompression: Khalid Sayood: Introduction to Data Compression, 2nd. ed., Morgan Kaufmann 2000 Ludwig-Maximilians-Universität München Prof. Hußmann Digitale Medien 2-7 Speicherbedarf multimedialer Information Bsp. Schrift Laufschrift (8 bit/zeichen, 40 Zeichen/s): 320 Bit/s Bsp. Audio-Signale Sprachsignal niedriger Qualität (Mono, 8 bit, 11 khz): 88 kbit/s CD-Qualität (Stereo, 16 bit, 44,1 khz): 1,4 MBit/s Bsp. Bilder (9x13cm = 1062x1536 Pixel) Schwarz/weiß (1 bit Farbtiefe): 200 kbyte TrueColor (24 bit Farbtiefe): 4,9 MByte Bsp. Video (ohne Ton) 720 x 525 Pixel, 25 Bilder/s, 16 bit Farbtiefe: 151,2 MBit/s 1280 x 720 Pixel, 60 Bilder/s, 24 bit Farbtiefe: 1,32 GBit/s Kompression der Information ist extrem wichtig! Pixel= Bildpunkt Ludwig-Maximilians-Universität München Prof. Hußmann Digitale Medien 2-8 Seite 4

Kompressionsverfahren: Übersicht Klassifikationen: Universell vs. speziell (für bestimmte Informationstypen) Nicht verlustbehaftet vs. verlustbehaftet In diesem Kapitel: "entropy coding" Entfernen von Redundanz z.b. durch Anpassung an Zeichenhäufigkeit Universell verwendbar, nicht verlustbehaftet Im folgenden vorgestellt:» Statistische Verfahren: Huffman-Codierung Arithmetische Codierung» Zeichenorientierte Verfahren: Lauflängencodierung (RLE Run Length Encoding) LZW-Codierung Ludwig-Maximilians-Universität München Prof. Hußmann Digitale Medien 2-9 Grundidee zur Huffman-Codierung Zeichen größerer Häufigkeit werden durch kürzere Codes repräsentiert vgl. Morse-Code Das führt zu einem Code variabler Wortlänge: Kein Codewort darf Anfang eines anderen sein (Fano-Bedingung) In optimalem Code müssen die beiden Symbole der niedrigsten Häufigkeit mit gleicher Länge codiert sein. "Beweis"-Skizze: Wären die Längen verschieden, könnte man das längere Wort bei der Länge des kürzeren abschneiden» Dann sind die beiden Codes verschieden (sonst wäre Fano-Bedingung vorher verletzt gewesen)» Kein anderes Codewort kann länger sein (da Zeichen niedrigster Wahrscheinlichkeit), also kann die Kürzung nicht die Fano-Bedingung verletzen) Dann hätten wir einen neuen Code mit kleinerer durchschnittlicher Wortlänge! Ludwig-Maximilians-Universität München Prof. Hußmann Digitale Medien 2-10 Seite 5

Huffman-Codierung (1) Gegeben: Zeichenvorrat und Häufigkeitsverteilung Ergebnis: Codierung (optimal, wenn alle Häufigkeiten Kehrwerte von Zweierpotenzen sind) Wiederholte Anwendung dieses Schritts auf die Häufigkeitstabelle: Ersetze die beiden Einträge niedrigster Häufigkeit durch einen Codebaum mit zwei Ästen 0 und L und trage die Summe der Häufigkeiten als Häufigkeit dafür ein. Zeichen a b c d Häufigkeit 0.5 0.25 0.125 0.125 0 L Zeichen a b c d Häufigkeit 0.5 0.25 0.25 David Huffman 1951 Ludwig-Maximilians-Universität München Prof. Hußmann Digitale Medien 2-11 Huffman-Codierung (2) 0 L Zeichen a b c d Häufigkeit 0.5 0.25 0.25 0 L b 0 L Zeichen a c d Häufigkeit 0.5 0.5 0 L a 0 L b 0 L c d Resultierender Codebaum Ludwig-Maximilians-Universität München Prof. Hußmann Digitale Medien 2-12 Seite 6

Huffman-Codierung (3) Eine Nachricht, die sich an die gegebene Häufigkeitsverteilung hält: ababacadaabacdba (Länge = 16 Zeichen) Codierung mit festen Wortlängen (z.b. a = 00, b = 0L, c = L0, d = LL) Länge 32 bit Huffman-Codierung ( a = 0, b = L0, c = LL0, d = LLL) 0L00L00LL00LLL00b0LL0LLLL00 Länge 27 bit (d.h. ca. 16% Reduktion) Ludwig-Maximilians-Universität München Prof. Hußmann Digitale Medien 2-13 Experiment: Huffman-Kompression von Bildern Grautonbild, 256 x 256 Pixel, 8 bit (d.h. 265 Graustufen) Unkomprimiert: 65.536 Bytes Mit Huffman kodiert: 40.543 Bytes ca. 38% Reduktion Einfacher "Zusatztrick": Differenz zwischen benachbarten Pixeln speichern und Huffman dann anwenden 33.880 Bytes ca. 51% Reduktion» Solche "semantischen Kodierungen" siehe später! Ludwig-Maximilians-Universität München Prof. Hußmann Digitale Medien 2-14 Seite 7

Arithmetische Codierung (1) Gegeben: Zeichenvorrat und Häufigkeitsverteiltung Ziel: Bessere Eignung für Häufigkeiten, die keine Kehrwerte von Zweierpotenzen sind Patentiertes Verfahren; nur mit Lizenz verwendbar Grundidee: Code = Gleitkommazahl berechnet aus den Zeichenhäufigkeiten Jedes Eingabezeichen bestimmt ein Teilintervall Ludwig-Maximilians-Universität München Prof. Hußmann Digitale Medien 2-15 Arithmetische Codierung (2) Beispiel: Zeichen i Leerzeichen I M S W Häufigkeit p i 0.1 0.2 0.1 0.5 0.1 linker Rand L i 0.0 0.1 0.3 0.4 0.9 rechter Rand R i 0.1 0.3 0.4 0.9 1.0 Allgemein: L_i = Summe(j=0,i,p_j), R_i = Summe(j=0,i+1,p_j) Algorithmus: real L = 0.0; real R = 1.0; while Zeichen vorhanden do Lies Zeichen und bestimme Zeichenindex i; real B = (R-L); L := L + B*L i ; R := L + B*R i ; enddo; Code des Textes ist Zahl im Intervall [L, R) Ludwig-Maximilians-Universität München Prof. Hußmann Digitale Medien 2-16 Seite 8

Arithmetische Codierung (3) Beispieltext-Codierung ("SWISS_MISS"): Zeichen L R S 0.4 0.9 W 0,85 0,9 I 0,855 0,865 S 0,859 0.864 S 0,861 0,8635 Leerz. 0,861 0,86125 M 0,861075 0,86110 I 0,8610775 0,8610782 S 0,86107778 0,86107813 S 0,86107792 0,861078095 Ludwig-Maximilians-Universität München Prof. Hußmann Digitale Medien 2-17 Arithmetische Kodierung (4) Problem Gleitkomma-Arithmetik: Konversion in Ganzzahl-Bereich durch "Skalieren" Welcher Binärcode: Ober- und Untergrenze binär codieren Code = Unterer Wert, abgebrochen an der ersten Stelle, die verschieden vom oberen Wert ist Veranschaulichung: 0.861... 0.0 0.4 0.9 1.0 LZ I M S LZ I M S I W W Ludwig-Maximilians-Universität München Prof. Hußmann Digitale Medien 2-18 Seite 9

Lauflängencodierung Unkomprimierte Repräsentationen von Information enthalten häufig Wiederholungen desselben Zeichens (z.b. lange Folgen von x00- oder xff-bytes) Idee: Ersetzen einer Folge gleicher Zeichen durch 1 Zeichen + Zähler Eingesetzt z.b. in Fax-Standards Beispiel: aaaabcdeeefgggghiabtttiikkkddde ersetzt durch #a4bcd#e3f#g4hiab#t3#i2#k3#d3e Probleme: Bei geringer Häufigkeit von Wiederholungen ineffektiv (verschlechternd) Syntaktische Trennung von Wiederholungsindikatoren und unverändertem Code Ludwig-Maximilians-Universität München Prof. Hußmann Digitale Medien 2-19 Wörterbuch-Kompressionen Grundidee: Suche nach dem "Vokabular" des Dokuments, d.h. nach sich wiederholenden Teilsequenzen Erstelle Tabelle: Index --> Teilsequenz ("Wort") Tabelle wird dynamisch während der Kodierung aufgebaut Codiere Original als Folge von Indizes Praktische Algorithmen: Abraham Lempel, Jacob Ziv (Israel), Ende 70er-Jahre» LZ77- und LZ78-Algorithmen Verbessert 1984 von A. Welch = "LZW"-Algorithmus (Lempel/Ziv/Welch) Basis vieler semantikunabhängigen Kompressionsverfahren (z.b. UNIX "compress", Zip, gzip, V42.bis) Verwendet in vielen Multimedia-Datenformaten (z.b. GIF) Ludwig-Maximilians-Universität München Prof. Hußmann Digitale Medien 2-20 Seite 10

Prinzip der LZW-Codierung Nicht alle Teilworte ins Wörterbuch, sondern nur eine "Kette" von Teilworten, die sich um je ein Zeichen überschneiden. Sequentieller Aufbau: Neu einzutragendes Teilwort = Kürzestes ("erstes") noch nicht eingetragenes Teilwort Beispiel: b a n a n e n a n b a u ba an na ane en nan nb bau Codierung: b a n a n e n a n b a u Ludwig-Maximilians-Universität München Prof. Hußmann Digitale Medien 2-21 LZW-Codierung (1) Tabelle (tab) mit Abbildung Zeichenreihe -> Indizes Vorbesetzung z.b. ASCII-Zeichen -> ASCII-Code (muß nicht explizit gespeichert und übertragen werden) Prinzipieller Ablauf: SeqChar p := < input.getchar() >; repeat Char k := input.getchar(); if tab.contains(p & < k >) then p := p & < k > endif until k = EOF else int c = tab.newcode(p & <k>); tab.put(p & < k >, c); output.write(tab.get(p)) p := < k >; Ludwig-Maximilians-Universität München Prof. Hußmann Digitale Medien 2-22 Seite 11

LZW-Codierung (2) Vorbesetzte Tabelle (z.b.): [(<a>, 97), (<b>, 98), (<c>, 99), (<d>, 100), (<e>, 101), (<f>, 102), (<g>, 103), (<h>, 104), (<i>, 105), (<j>, 106), (<k>, 107), (<l>>, 108), (<m>>, 109), (<n>, 110), (<o>, 111), (<p>, 112), (<q>, 113), (<r>, 114), (<s>, 115), (<t>, 116), (<u>, 117), (<v>, 118), (<w>, 119), (<x>, 120), (<y>, 121), (<z>, 122)] Für neue Einträge z.b. Nummern von 255 aufwärts verwendet. Ludwig-Maximilians-Universität München Prof. Hußmann Digitale Medien 2-23 LZW-Codierung (3) Beispieltext: bananenanbau" Ablauf: p k c neues Paar für tab output <> b <b> a <a> n 256 (<ba>, 256) 98 <n> a 257 (<an>, 257) 97 <a> n 258 (<na>, 258) 110 <an> e <e> n 259 (<ane>, 259) 257 <n> a 260 (<en>, 260) 101 <na> n <n> b 261 (<nan>, 261) 258 <b> a 262 (<nb>, 262) 110 <ba> u <u> EOF 263 (<bau>, 263) 256 <EOF> 264 (<ueof>, 264) 117 Ludwig-Maximilians-Universität München Prof. Hußmann Digitale Medien 2-24 Seite 12

Kompression durch LZW Am Beispiel: 9 Bytes statt 12 Bytes, d.h. 25% In realen Situationen werden oft ca. 50% erreicht. Verfeinerungen des Algorithmus (z.b. Unix "compress"): Obergrenze für Tabellengröße, dann statisch Laufendes Beobachten der Kompressionsrate und ggf. Neustart Ludwig-Maximilians-Universität München Prof. Hußmann Digitale Medien 2-25 LZW-Decodierung (1) Grundidee ( symmetrische Codierung ): Das aufgebaute Wörterbuch muß nicht zum Empfänger übertragen werden. Das Wörterbuch wird nach dem gleichen Prinzip wie bei der Codierung bei der Decodierung dynamisch aufgebaut. Das funktioniert, weil bei der Codierung immer zuerst der neue Eintrag für das Wörterbuch nach bekannten Regeln aus dem schon gelesenen Text aufgebaut wird, bevor der neue Eintrag in der Ausgabe verwendet wird. Algorithmusidee: Neu einzutragendes Teilwort = letztes Teilwort plus erstes Zeichen des aktuellen Teilworts b a n a n e n a n b a u ba an na ane en nan nb bau Ludwig-Maximilians-Universität München Prof. Hußmann Digitale Medien 2-26 Seite 13

LZW-Decodierung (2) Prinzipieller Algorithmus: k := input.getcode(); SeqChar old := tab.get(k); output.write(old); Hinweis: Hier ist ein Spezialfall nicht berücksichtigt, in dem der SeqChar p := <>; Eintrag nicht in der Tabelle k := input.getcode(); sein kann. Vollständiger while k EOF do Algotithmus sh. z.b. Henning-Buch. p := tab.get(k); output.write(p); SeqChar q := old & < firstchar(p) >; int c = tab.newcode(q); tab.put(q, c); old := p; k := input.getcode(); enddo; Ludwig-Maximilians-Universität München Prof. Hußmann Digitale Medien 2-27 LZW-Decodierung (3) Beispielcode: 98-97-110-257-101-258-110-256-117" Ablauf: k old p q neues Paar für tab output 98 <b> <> b 97 <b> <a> <ba> (256, <ba>) a 110 <a> <n> <an> (257, <an>) n 257 <n> <an> <na> (258, <na>) an 101 <an> <e> <ane> (259, <ane>) e 258 <e> <na> <en> (260, <en>) na 110 <na> <n> <nan> (261, <nan>) n 256 <n> <ba> <nb> (262, <nb>) ba 117 <ba> <u> <bau> (263, <bau>) u EOF <u> Ludwig-Maximilians-Universität München Prof. Hußmann Digitale Medien 2-28 Seite 14