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, Lempel Ziv sowie einige kryptologische Verfahren. Ziel: Sie haben die grundlegenden Verfahren und Ansätze zur Informationstheorie und Quellenkodierung verstanden und können diese anhand von Beispielrechnungen erklären und anwenden. 3
Basis für die Definition des Entscheidungsgehalt ist die Idee der Elementarentscheidung. Eine Elementarentscheidung ist eine zweiwertige ja/nein (0/1)Entscheidung. Zwei Zeichen können mit einem Bit codiert bzw. unterschieden werden. Sind N Zeichen zu Unterscheiden, sind lbn Bit erforderlich lb: Logarithmus binär oder ld: Logarithmus dualis (Logarithmus zur Basis 2) Der Entscheidungsgehalt ist eine definierte Grösse und kann auch ungerade Werte annehmen. Der Entscheidungsgehalt von 5 Zeichen ist geringer als von 7 Zeichen obwohl zur Realisierung natürlich 3 Bit erforderlich wären. Damit wären dann aber 8 Zeichen unterscheidbar. Aus dem Grund unterscheid wir zwischen den abstrakten Informationsgrössen und den konkreten Codewortlängen L, die nur ganzzahlige Grössen annehmen können, Berechnen des lb N? x x N = 2 log N = log2 = x log2 Beispiele: log N x = = lbn log2 4
Wie bereits vorher intuitiv definiert, war der Informationsgehalt eines Zeichen umgekehrt proportional zu seiner Auftrittswahrscheinlichkeit. Da dieser Wert in notwendigen Elementarentscheidungen, also Bit, gemessen wird. ist der Lb zu berechnen Sind alle Zeichen gleich wahrscheinlich gilt ferner P(x) = 1/N und somit I = lbn was wieder dem Entscheidungsgehalt H 0 entspricht Der mittleren Informationsgehalt ist die gewichtete Summe der Informationseinheiten I i wobei x i /N der Wahrscheinlichkeit p(xi) entspricht Beispiel: Zeigen Sie, dass H(x) = H 0 = I gilt, wenn alle Zeichen gleichwahrscheinlich sind. 5
0 H(x) H 0 : Interpretation H(x) ist maximal, wenn alle Zeichen gleich wahrscheinlich sind. Dann ist H 0 = H(x) und die Redundanz der Quelle ist Null, d.h. eine Kompression kann nicht erfolgen. Je kleiner H 0 ist, um so grösser ist die Redundanz der Quelle, d.h. um so grösser ist eine mögliche Kompression Frage, wann kann die Redundanz einer Quelle gleich null werden und was bedeutet das für die Entropie? 6
7
Der Morsecode besitz das Problem, das er zwischen den einzelnen Zeichen eine Pause bzw. ein Trennzeichen benötigt. Fehlt diese Trennzeichen, so kann der Empfänger nicht entscheiden ob ein gültiges Zeichen oder nur ein Zwischenschritt zu einem anderen gültigen Zeichen erreicht ist. Das heisst, ein Code besitzt dann die Präfixeigenschaft, wenn alle Zeichen ausschliesslich in den Blättern des Baumes codiert sind. Eine einfache Codierung bzw. Decodierung ist mit einem endlichen Automaten (FSM: Finte State Maschine) möglich (siehe Compilerbau und Theoretische Grundlagen der Informatik) Beispiel: Zeichne einen Baum, der die Präfixeigenschaft nicht besitzt. 8
9
Beispiel: Gegeben seien die Zeichen a, b, c, d mit den Auftrittswahrscheinlichkeiten P{a} = 0.5, P{b} = 0.25, P{c} = 0.125 und P{d} = 0.125. 1.Bestimmen Sie den Entscheidungsgehalt H 0, den Informationsgehalt I(x i ) der Zeichen sowie den mittleren Informationsgehalt (Entropie) H(x) der Quelle. 2.Wie gross ist die Redundanz der Quelle? 3.Welche Bedingung muss erfüllt sein, damit ein Code redundanzfrei ist? 4.Entwickeln Sie für das gegeben Beispiel einen Code der Redundanzfrei ist! Besitzt dieser die Präfixeigenschaft? 5.Ist das immer möglich? 10
11
12
13
14
15
16
17
18
Classic Huffman: Benötigt, den zum Teil sehr grosse, Codierungsbaum in der Datei. Adaptive Huffman: Zur Laufzeit wird der Baum generiert. Encoder und Decoder müssen entsprechend synchronisiert sein. Universal Coding Stream möglich Zur Laufzeit, ohne Wissen Idee: Derartige Kompressionsalgorithmen müssen in geeigneter weise irgendwelche Regularitäten, also immer wiederkehrende Muster im Dateitext aufspüren und durch eine kürzere Darstellung, eine Abkürzung, ersetzen. Bei LZ77 wird die zu komprimierende Datei Zeichen für Zeichen gelesen und nahezu online wird die komprimierte Version der Datei erzeugt. Der Ziv-Lempel Algorithmus erzeugt in adaptiver Weise während des Durchlaufs 19
durch die Datei einen ständig wachsenden Binärbaum, der die bisher aufgefundenen Regularitäten widerspiegelt, und den der Algorithmus in gewisser Weise als Wörterbuch verwendet, um für die regelmässig auftretenden Zeichenfolgen Abkürzungen bereit zu stellen. 19
Classic Huffman: Benötigt, den zum Teil sehr grosse, Codierungsbaum in der Datei. Adaptive Huffman: Zur Laufzeit wird der Baum generiert. Encoder und Decoder müssen entsprechend synchronisiert sein. Universal Coding Stream möglich Zur Laufzeit, ohne Wissen Idee: Derartige Kompressionsalgorithmen müssen in geeigneter weise irgendwelche Regularitäten, also immer wiederkehrende Muster im Dateitext aufspüren und durch eine kürzere Darstellung, eine Abkürzung, ersetzen. Bei LZ77 wird die zu komprimierende Datei Zeichen für Zeichen gelesen und nahezu online wird die komprimierte Version der Datei erzeugt. Der Ziv-Lempel Algorithmus erzeugt in adaptiver Weise während des Durchlaufs 20
durch die Datei einen ständig wachsenden Binärbaum, der die bisher aufgefundenen Regularitäten widerspiegelt, und den der Algorithmus in gewisser Weise als Wörterbuch verwendet, um für die regelmässig auftretenden Zeichenfolgen Abkürzungen bereit zu stellen. 20
21
Lösung: - 0000 0011 0001 0100 0110 1011 0111 1000 0101-0 http://projects.hudecof.net/diplomovka/online/ucebnica/applets/appletlz78.html 22
Übung abra abra kadabra Original: 15 Zeichen * 3 Bits = 45 Bits Komprimiert: 3 + 4 + 7*(2+3) = 42 Bit 23
24