Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

of 83 /83
Codes & Formate

Embed Size (px)

Transcript of Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Page 1: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Codes & Formate

Page 2: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Digitales Koffer packen

Mit Huffman Codierung

Page 3: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Lernziele Sie können erklären, warum es normalerweise

zwei Schritte braucht um Information möglichst effizient zu speichern, bzw. zu übermitteln

Sie können erklären, warum die Verteilung der Zeichen in einer Nachricht einen entscheidenden Einfluss darauf hat, wie effizient diese Nachricht komprimiert werden kann

Sie wissen, was eine Huffman Codierung ist und können sie auf eine kurze Textnachricht anwenden

Page 4: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Aufgabenstellung: Sie wollen ihrem Freund eine Text-Botschaft

übermitteln, können dazu aber nur Zahlen verwenden (entscheiden Sie selbst ob sie Dezimal- oder Binärzahlen benutzen).

Überlegen Sie sich eine Methode, wie die gegebene Botschaft möglichst genau und möglichst kompakt in Zahlen übersetzt werden kann. Dann erstellen Sie zwei Textdokumente:1. Ein Dokument soll nur die Zahlenfolge enthalten2. Im anderen Dokument formulieren Sie eine

Anleitung, mit deren Hilfe ihr Freund die ursprüngliche Botschaft aus der Zahlenfolge rekonstruieren kann

Page 5: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Auswertung Hat es geklappt? Was war schwierig? Welche Informationen wurden übermittelt?

(genau?) Wie viele Zahlen waren nötig? (kompakt?) Welche anderen Botschaften könnten so

verschickt werden? Welche grundsätzliche Idee steckt hinter

dieser Methode?

Page 6: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.
Page 7: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Information Genau & Kompakt

Codieren Komprimieren Koffer (~ Format) so wählen,

dass alles eingepackt werden kann, was man im Urlaub vielleicht brauchen könnte

Ziel: Der Koffer soll für alle Urlaube geeignet sein!

Effizient packen, so dass möglichst wenig Luft im Koffer bleibt kann davon abhängen, was genau eingepackt wurde!

Ziel: Der Koffer für diesen Urlaub soll möglichst klein werden!

Koffer packen(Komprimieren von Information)

Page 8: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Effizientes Packen von Buchstaben

1. Codieren von Buchstaben als binäre Codewörter

ASCII Code

2. Komprimieren der Bitsequenz z.B. Huffman Codierung kürzere Sequenz + neue

Codewörter

3. Speichern oder Übermitteln4. Dekomprimieren5. Decodieren -> Darstellen

Page 9: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Dezimal Hex Binär Zeichen96 60 0110 0000 ` 97 61 0110 0001 a 98 62 0110 0010 b 99 63 0110 0011 c

100 64 0110 0100 d 101 65 0110 0101 e 102 66 0110 0110 f 103 67 0110 0111 g 104 68 0110 1000 h 105 69 0110 1001 i 106 6A 0110 1010 j 107 6B 0110 1011 k 108 6C 0110 1100 l 109 6D 0110 1101 m 110 6E 0110 1110 n 111 6F 0110 1111 o 112 70 0111 0000 p 113 71 0111 0001 q 114 72 0111 0010 r 115 73 0111 0011 s 116 74 0111 0100 t 117 75 0111 0101 u 118 76 0111 0110 v 119 77 0111 0111 w 120 78 0111 1000 x 121 79 0111 1001 y 122 7A 0111 1010 z 123 7B 0111 1011 { 124 7C 0111 1100 | 125 7D 0111 1101 } 126 7E 0111 1110 ~ 127 7F 0111 1111 DEL

ASCII(American Standard Code for Information Interchange)

Kleinbuchstaben:

Page 10: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

ArbeitsauftragIhr Ziel ist herauszufinden, wie die Huffman Codierung funktioniert und sie selbst anwenden zu könnenBenutzen Sie dazu das Applet: WindowsHuffmanShannonFano.jar Experimentieren Sie mit dem Applet (nur Huffman Code) und versuchen Sie, die Fragen im Arbeitsblatt zu beantworten

Page 11: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Besprechung Suchen Sie sich einen Partner und tauschen

Sie ihre Ergebnisse aus Notieren Sie alles, was ihnen beiden noch

unklar ist Können Sie die grundsätzliche Idee

formulieren?

Page 12: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Lernziele Sie können erklären, warum es normalerweise

zwei Schritte braucht um Information möglichst effizient zu speichern, bzw. zu übermitteln

Sie können erklären, warum die Verteilung der Zeichen in einer Nachricht einen entscheidenden Einfluss darauf hat, wie effizient diese Nachricht komprimiert werden kann

Sie wissen, was eine Huffman Codierung ist und können sie auf eine kurze Textnachricht anwenden

Page 13: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Grundsätzliche Idee bei Huffman Häufige Zeichen (Buchstaben) werden in

kurze Codewörter übersetzt Das funktioniert nur, wenn der entstehende

Code (die Codewörter) präfixfrei ist! Die Bäumchen-Taktik zeigt, wie man diese

Ideen umsetzt.

Page 14: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Huffman Komprimierung

Page 15: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Lernziele Sie könne eine kurze Nachricht entschlüsseln,

die mit dem Huffman Verfahren komprimiert wurde

Sie können erklären, was ein präfixfreier Code ist

Sie können beschreiben, für welche Nachrichten die Huffman Komprimierung besonders geeignet ist

Sie kennen einige Vor- und Nachteile von Datenkomprimierung

Page 16: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Huffman Decodierung Die binäre Nachricht:

0100111101001110010100111110

Die Codewörter:e = 110d = 111o = 00p = 010s = 011u = 100c = 101

Page 17: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Und was daran war jetzt präfixfrei?

o = 00p = 010s = 011u = 100c = 101e = 110d = 111

Page 18: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Pseudocode

... ist eine sprachliche Mischung aus natürlicher Sprache, mathematischer Notation und einer höheren Programmier-sprache

arrayMax(A, n) // Input: Ein Array A, der n Integer Werte enthält // Output: Das maximale Element in A

currentMax = A[0]

for i = 1 to n - 1

if currentMax < A[i]

currentMax = A[i]

end

end

return currentMax

Page 19: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

decodieren(nachricht_bin, codewortliste)

// Input: die Bitsequenz nachricht_bin und // eine Liste, die binären Codeworten Zeichen zuordnet // Output: nachricht_txt; die decodierte Nachricht, eine Sequenz von Zeichen

nachricht_txt = leer;

länge = 1;

while (nachricht_bin != leer)

zeichen_bin = get_first_n_bits(nachricht_bin, länge);

if found_in(zeichen_bin, codewortliste)

zeichen_txt = get_letter(zeichen_bin, codewortliste)

nachricht_txt = attach_letter(zeichen_txt);

nachricht_bin = delete_first_n_bits(länge);

länge = 1;else

länge ++;end

end

return nachricht_txt;

Page 20: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Pseudocode für Huffman Codierung

codieren(nachricht_ascii)

// Input: die Bitsequenz nachricht_ascii, bestend aus einer Sequenz von ASCII Zeichen (jeweils ein Byte)

// Output: nachricht_bin; die codierte Nachricht, eine Bitsequenz// codewortliste; eine Liste, die binären Codeworten ASCII Zeichen zuordnet

Page 21: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Komprimierung allgemein

Komprimieren,z.B. mit Huffman Codierung

Dekomprimieren,z.B. mit Huffman Decodierung

speichern /verschicken

Welche Informationen braucht es hier?

Page 22: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Huffman Komprimierung1. ASCII Nachricht in 8-er Blöcke aufteilen,

zählen wie oft jeder Block vorkommt2. Blöcke nach Häufigkeit ordnen3. Mit Huffman Baum präfixfreie Codewortliste

erstellen4. ASCII Nachricht nach Huffman übersetzen,

siehe Liste5. Bitsequenz & Liste in File speichern, evtl.

verschicken 6. Auch transportiert werden muss die

Information, dass dieses File Huffman-codiert ist

Page 23: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Fragen zu Huffman & Komprimierung

1. Was ist die grundlegende Idee hinter Huffman Komprimierung?

2. Wann ist Huffman am effizientesten?3. Wann lohnt sich Huffman sicher nicht?4. Warum benutzt z.B. Word kein Huffman Komprimierung?5. Was wären andere grundlegende Ideen zu Komprimierung

von Daten? (Erklären Sie anhand eines Beispiels)6. Was sind allgemeine Vorteile von Datenkomprimierung?7. Was sind allgemeine Nachteile der Datenkomprimierung?

Page 24: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Enthropie

Page 25: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Lernziele Sie verstehen, was Hamlet mit dem

zersplitternden Weinglas zu tun hat, und wie beide mit der Huffman Kodierung zusammenhängen

Sie kennen die allgemeine Form der Huffman Kodierung

Page 26: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Was ist eigentlich Information? Was ist das kleinstmögliche Bisschen an

Information?

Sein oder nicht Sein,das ist hier die Frage.

Page 27: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Ein BIT ist:

eine Bezeichnung für eine Binärziffer (üblicherweise „0“ und „1“).

eine Maßeinheit für die Datenmenge bei digitaler Speicherung von Daten. Die Datenmenge entspricht in diesem Fall der verwendeten Anzahl von binären Variablen zur Abbildung der Information.

eine Maßeinheit für den Informationsgehalt (siehe Shannon). Dabei ist 1 Bit der Informationsgehalt, der in einer Auswahl aus zwei gleich wahrscheinlichen Möglichkeiten enthalten ist.

There are 10 sorts of people:

o those who unterstand binary and

o those who do not.

Page 28: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

1. 0101010101010101...

2. 1111111111111111...

3. 0110001101100101...

4. 0010111001100101...

5. 0000000011111111...

6. 0011001100110011...

Ordnen Sie diese Bitsequenzen nach Informationsgehalt (aufsteigend)

Page 29: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Ordnen Sie diese Bitsequenzen nach Informationsgehalt (aufsteigend)

1. 0101010101010101... 2.

2. 1111111111111111... 1. (= 1 Bit)

3. 0110001101100101... 4c

4. 0010111001100101... 4b (ASCII = ce)

5. 0000000011111111... 4a

6. 0011001100110011... 3.

Page 30: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Entropie ist

eine physikalische Zustandsgröße in der Thermodynamik

ein Maß für den mittleren Informationsgehalt oder auch Informationsdichte eines Zeichensystems

Warum sollte uns das interessieren? Huffman Komprimierung ist das

Paradebeispiel für eine Entropiecodierung

Page 31: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Entropie & Wahrscheinlichkeit Der Normalzustand (= maximale Entropie) ist

die Gleichverteilung Abweichungen von der Gleichverteilung

bedeuten: es gibt eine gewisse Ordnung, Struktur man kann es kompakter beschreiben

0100011110101010100101010101

0000000000000011111111111111

was ist

wahrscheinlich

e

r?was trägt m

ehr

Informatio

n?

Page 32: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Berechnen der Informationsdichte

Hgleichvert. log2 p H = Entropie Z = endliches Alphabet von

Zeichen z = ein einzelnes Zeichen p = Auftretenswahrscheinlichkeit

(=Häufigkeit z/Gesamthäufigkeit)

H pzzZ

log2 pz

HABC log21

264.7004

Bit

Zeichen

HABC pa log2 pa pb log2 pb ... 4.0629 Bits

Zeichen

Für das deutsche Alphabet:

Habakadabra pzzZ

log2 pz 2.04Bits

Zeichen

Page 33: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Wozu brauchen wir das?1. ASCII Nachricht in 8-er Blöcke aufteilen,

zählen wie oft jeder Block vorkommt2. Blöcke nach Häufigkeit ordnen3. Mit Huffman Baum präfixfreie Codewortliste

erstellen4. ASCII Nachricht nach Huffman übersetzen,

siehe Liste5. Bitsequenz & Liste in File speichern, evtl.

verschicken 6. Auch transportiert werden muss die

Information, dass dieses File Huffman-codiert ist

1. 0101010101010101...

2. 1111111111111111...

3. 0110001101100101...

4. 0010111001100101...

5. 0000000011111111...

6. 0011001100110011...

Was, wenn wir nicht wissen ob es

ASCII Zeichen sind?(z.B. beim zippen)

Page 34: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Wozu brauchen wir das?

Entropie wird pro Zeichen berechnet, aber was ist ein Zeichen?

bin: 01100011 01100101ASCII: c e

1. 0101010101010101...

2. 1111111111111111...

3. 0110001101100101...

4. 0010111001100101...

5. 0000000011111111...

6. 0011001100110011...

H 1/log 2 12 log 12 12 log 12 1

H 1/log 8 12 log 12 12 log 12 13Normierung für unterschiedliche

Block-, bzw. Zeichenlängen

noch allgemeiner:

konditionelle Entropie

Page 35: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Huffman generalisiert1. Binäre Nachricht durch Entropietests/Schätzung

darauf analysieren, welche Bits ein Zeichen bilden sollten, so dass sich die niedrigste Entropie ergibt

2. Binäre Nachricht in Zeichen aufteilen, zählen wie oft jedes Zeichen vorkommt

3. Blöcke nach Häufigkeit ordnen4. Mit Huffman Baum präfixfreie Codewortliste erstellen5. Binäre Nachricht nach Huffman übersetzen, s. Liste6. Bitsequenz & Liste in File speichern, evtl. verschicken 7. Auch transportiert werden muss die Information, dass

dieses File Huffman-codiert ist

Page 36: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Entropiecodierung bedeutet mit einer Entropieschätzung herausfinden,

welche Abschnitte der originalen Bitsequenz man als Zeichen ansehen sollte

diese Zeichen dann so in präfixfreie Codewörter übersetzen, dass den häufigsten Zeichen die kürzesten Codewörter zugeordnet werden

ACHTUNG: trade-off der Listengrösse berücksichtigen!

Page 37: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Entropiecodierung ist eine allgemeine Methode um zu bestimmen,

wie viel Luft im Koffer ist, und den Koffer dann so umzupacken, dass möglicht wenig Luft verbleibt

wie Legomodell verpacken. Zuerst muss man herausfinden, in wie kleine Teile man es zerlegen soll, und dann braucht man eine Methode, um diese Teile effizient ineinander zu stapeln

Page 38: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Huffman Codierung ist die wohl am weitesten verbreitete Art der

Entropiecodierung wird oft als letzter Schritt auf beliebige

Bitsequenzen angewandt ist nur annähernd optimal. Bsp:

völlig zufällige Sequenz mit drei mal mehr Nullen als Einsen

- (1/4*lg(1/4)+3/4*lg(3/4)) = 0.811278 Bit/Zeichen(=Bit)

weniger als ein Bit geht aber nicht, die beiden kürzest möglichen Codewörter haben jeweils ein Bit

Page 39: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Lernziele - erreicht?? Sie verstehen, was Hamlet mit dem

zersplitternden Weinglas zu tun hat, und wie beide mit der Huffman Kodierung zusammenhängen

Sie kennen die allgemeine Form der Huffman Kodierung

Zusatz: Sie können erklären

a) warum die Block-Entropie einer Bitsequenz am kleinsten ist, wenn man die gesamte Sequenz als einen einzigen Block (= ein Zeichen) ansieht

b) warum es trotzdem keinen Sinn macht, die ganze Sequenz als eine einziges Zeichen zu kodieren

Page 40: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

(Datei-) Formate

Page 41: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Lernziele Sie kennen die allgemeine Definition von

Codierung Sie wissen, was ein (Datei-) Format ist – und

warum die meisten Formate einen header haben

Sie können eine Binäre Repräsentation für das Speichern eines Spielzustands entwickeln

Sie verstehen, wie die Begriffe Information, Code und Format zusammenhängen

Page 42: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Komprimierung allgemein

Komprimieren,z.B. mit Huffman Codierung

Dekomprimieren,z.B. mit Huffman Decodierung

speichern /verschicken

Welche Informationen braucht es hier?

Page 43: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Information Genau & Kompakt

Codieren Komprimieren Koffer (~ Format) so wählen,

dass alles eingepackt werden kann, was man im Urlaub vielleicht brauchen könnte

Ziel: Der Koffer soll für alle Urlaube geeignet sein!

Effizient packen, so dass möglichst wenig Luft im Koffer bleibt kann davon abhängen, was genau eingepackt wurde!

Ziel: Der Koffer für diesen Urlaub soll möglichst klein werden!

Koffer packen(Komprimieren von Information)

Page 44: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Codieren

Welch

e

Info

rmatio

ne

n bra

ucht e

s

hier?

Nicht-digitale Information

Digitale Information

Nicht-digitale Information

Digitale Information

Komprimieren

Komprimierte digitale

Information

Komprimierte digitale

Information

Entkomprimieren

Digitalisieren Entdigitalisieren?!DarstellenW

ie geht das?

Beispiel:

„Fischers

Fritz

fischt

frische...“

Page 45: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Digitale Repräsentation von Schach

Was ist wichtig? nur die Information, die einen

Spielstande eindeutig definiert Was ist möglich?

alle Spielstände müssen repräsentiert werden können

Wie packe ich es geschickt ein? es geht nicht um maximale

Effizienz, man muss aber trotzdem keinen Speicherplatz verschwenden

Vorschläge? Wie viele Bits brauchen Sie?

oder: ein universeller digitale Koffer für Schach

Page 46: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Ein Schach Format (.sch), 257 BIT

Das erste Bit gibt an, wer am Zug ist (1=schwarz, 0=weiss)

Die folgenden 256 Bit repräsentieren die Belegung der 64 Felder, mit jeweils 4 Bit pro Feld (nummeriert zeilenweise von links nach rechts, dann spaltenweise von oben nach unten).

Das erste Bit pro Feld steht für die Farbe der Figur:

Die letzten 3 Bit pro Feld stehen für die Figur, die hier steht:

Page 47: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Ein Format für Schieber-Jass Das Spiel: 4 Spieler haben zu Beginn je 9

Karten, spielen sie reihum aus, und nach jeder Runde wandern 4 Karten auf den einen oder anderen Stapel von gespielten Karten.

Aufgabe: erfinden Sie ein Format, mit dem jeder mögliche Zustand des Spiels binär repräsentiert werden kann. Formulieren Sie von Ihnen erfundene Codierung so,

dass ein anderer Schüler eine entsprechende Bitsequenz in den Spielzustand zurückübersetzen könnte

Geben Sie an, wie viele Bits für die Speicherung eines Spielzustands benötigt werden

Page 48: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Und wie passt das jetzt alles zusammen?

Information

Codierung

Format

Page 49: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Definition Code:

Page 50: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Definition von Code, lang Im Allgemeinen ist ein Code eine Vereinbarung über

einen Satz (eine Menge) von Symbolen (Bedeutungsträgern, oder Verweisen) zum Zweck des Informationsaustauschs. Information existiert nicht in „reiner“ Form; sie ist immer in irgendeiner Weise formuliert.

Ein Code ist – allgemein ausgedrückt – eine Formulierung von Information. Das setzt folgende Elemente voraus:1. mindestens eine informationsformulierende Instanz

(Aufzeichner/Sender)2. mindestens eine informationsempfangende Instanz

(Lesender/Empfänger) – kann unter Umständen auch identisch mit (1) sein

3. ein zu übermittelnder, abstrakter Inhalt, die Information4. eine Vereinbarung zum Zweck der Informationsformulierung

und gegebenenfalls Informationsübermittlung. Diese enthält einen Satz von Bedeutungsträgern oder Symbolen, der beiden Instanzen (1) und (2) bekannt ist, und gegebenenfalls Regeln zur Verwendung der Symbole

Page 51: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Was ist eigentlich Information?

Was ist das kleinstmögliche Bisschen an Information?

1 oder 0 Sein oder nicht

Seintrue oder false

Information existiert nicht in reiner Formaber eine Formulierung von Information kann für vieles stehen (repräsentieren)

Page 52: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Definition (Daten-/Datei-) Format: Ein Format ist eine spezifische Anordnung von

Daten für Speicherung, Weiterverarbeitung, Ausgabe, etc.

Ein Format definiert so etwas wie eine Erwartungshaltung, in welcher Form (digitale) Information vorliegt. Das betrifft 1. die Anordnung (wie teilt man die Sequenz in

Zeichen auf?)

2. die Codierung (was sind das für Zeichen (Datentyp)?)

Ein Format muss allgemein formuliert sein Ein Format muss allen Beteiligten bekannt sein

Page 53: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Bildinformation in einem etwas

speziellen Format

Die Brille implementiert die

Decodierung

Das Format gibt an, welche Brille

man braucht

Page 54: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Codieren allgemein

Nicht-digitale Information

Digitale Information

Nicht-digitale Information

Digitale Information

Komprimieren

Komprimierte digitale

Information

Komprimierte digitale

Information

Entkomprimieren

Digitalisieren Entdigitalisieren?!Darstellen

Page 55: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Codieren allgemein

Nicht-digitale Information

Digitale Information

Nicht-digitale Information

Digitale Information

Verschlüsseln

Verschlüsselte digitale

Information

Verschlüsselte digitale

Information

Entschlüsseln

Digitalisieren Entdigitalisieren?!Darstellen

Page 56: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Codieren allgemein

Nicht-digitale Information

Digitale Information

Nicht-digitale Information

Digitale Information

Verschlüsseln

Verschlüsselte Information

Verschlüsselte Information

Entschlüsseln

Digitalisieren Entdigitalisieren?!Darstellen

Komprimieren Kompr.

Information

Kompr. Informatio

n

Entkomprimieren

Format

Format

Format

Page 57: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Definition von Code, kurz

Beispiele für Codes: Ein Code ist eine Anleitung, um Zeichen eines Zeichensystems in die eines anderen zu übertragen.

Ein Code definiert eine Umformulierung von Information

Morse Code ASCII Code Huffman Codierung Hamming Code Binärcode Quellcode Genetischer Code Neuronaler Code Schrift Sprache ...

Page 58: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Wozu Information umformulieren? Damit ein spezieller Empfänger sie verstehen

kann, z.B. Übersetzung in andere Sprache, Digitalisieren,

Drucken... Um bestimmte Übertragungswege oder

Speichermedien zu nutzen, z.B. Morsen, Telefonieren, Bücher, Fotos, E-Mail...

Um Platz zu sparen, z.B. DNA, Komprimierung, Datenübertragung...

Um Fehler bei der Übertragung zu vermeiden, z.B. DNARNA, Hamming Code...

Um Inhalte vor Unbefugten zu verstecken, z.B. Geheimsprachen, Verschlüsselung...

Page 59: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Und woher weiss der Computer, welches Format eine Datei hat?

Die meisten Datei-Formate haben einen header, in dem 1.sie sich vorstellen und 2.zusätzliche Angaben zur Formatierung machen, z.B.

• Version/Variation des Formats

• Parameter• allgemeine

Zusatzinformationen

1. Endung2. Header Diese

Informationen sagen dem Computer, welche Brille er anziehen muss

Page 60: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Codieren

Welch

e

Info

rmatio

ne

n bra

ucht e

s

hier?

Nicht-digitale Information

Digitale Information

Nicht-digitale Information

Digitale Information

Komprimieren

Komprimierte digitale

Information

Komprimierte digitale

Information

Entkomprimieren

Digitalisieren Entdigitalisieren?!DarstellenW

ie geht das?

Beispiel:

NachrichtB.rt

f

Format?

Wie gross sollte NachrichtB sein?Inhalt: „Fischers Fritz...“ (36 Zeichen)

Page 61: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Computer machen eigentlich nichts anderes als Information mithilfe von Codes von einem Format in das andere umzuwandeln damit diese Information gespeichert,

transportiert, verschlüsselt, dargestellt, extrahiert, verglichen, zusammengeführt oder sonst wie verarbeitet werden kann

Informatik = Automatische Informationsverarbeitung

Achtung! Bis jetzt haben wir uns Codes ohne Informationsverlust angeschaut. Es kann aber auch sein, dass „unwichtige“ Information verloren geht, z.B. weil man den Unterschied sowieso kaum bemerkt (.jpg) oder weil man nur an bestimmten Aspekten der Daten interessiert ist (der grösste Wert, die Richtigkeit einer Antwort, etc.)

Page 62: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Wie kommt Information in den Computer, und in welchem Format liegt sie dann vor?

Text Bilder Ton Videos Zahlen

Page 63: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Grafikformate

Page 64: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

RTF (Rich Text Format) Entwickelt von Microsoft, aber frei verfügbar Basierend auf Standard-Codetabellen (ASCII,

UNICODE) Lesbar von allen gängigen Texteditoren,

wobei u.U. Teile der Layout-Information ignoriert werden

Page 65: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

RTF Spezifikationen Syntax: { <header> <document>} Der header beinhalten Kontrollwörter, die mit

Backslash anfangen und mit Leerzeichen getrennt werden

Im header wird zusätzliche Layoutinformation repräsentiert, z.B. Schriftfarbe oder Schrifttyp

RTF kann mit verschiedenen Versionen von ASCII oder UNICODE Zeichen umgehen

Bei RTF wird implizit angenommen, dass die entsprechenden Codetabellen verfügbar sind, und dass die Blöcke innerhalb der Bitsequenz in der richtigen Reihenfolge vorliegen

Page 66: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

NachrichtB.rtf

{ \rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf250{\fonttbl\f0\fnil\fcharset0 GoudyOldStyleT-Regular;}{\colortbl;\red255\green255\blue255;\red6\green10\blue58;}\paperw11900\paperh16840\margl1440\margr1440\vieww9000\vi ewh8400\viewkind0\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\t x5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural

\f0\fs36 \cf2

Fischers Fritz fischt frische Fische}

Page 67: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

NachrichtB2.rtf{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf250

{\fonttbl\f0\fnil\fcharset0 GoudyOldStyleT-Regular;}{\colortbl;\red255\green255\blue255;\red6\green10\blue58;}\paperw11900\paperh16840\margl1440\margr1440\vieww9000\viewh8 400\viewkind0\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\t x5669\tx6236\tx6803\ql\qnatural\pardirnatural

\f0\fs36 \cf2 Fischers Fritz fischt \b frische \b0 Fische

}

Page 68: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Zusammenfassung RTF kann mehr als TXT und weniger als DOC,

das ist seine „digitale Nische“ RTF ermöglicht die Repräsentation von

zusätzlicher Layoutinformation durch standardisierte Kontrollwörter (hauptsächlich) im header

Page 69: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Grafikformate

Drei Grundideen und viele Variationen

Page 70: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.
Page 71: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.
Page 72: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.
Page 73: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.
Page 74: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.
Page 75: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.
Page 76: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Grundideen1. Ein Bild besteht aus Pixeln (Rastegrafik)

Wie genau wird eine Farbe angegeben, Farbtiefe, Transparenz?

Komprimierungs-Ideen:1. Farben indizieren? (.gif)2. Gleiche Pixel zusammenfassen? (.gif)3. Farbverläufe zusammenfassen? (.jpg)4. Ausrechnen, welche Taktik am besten hilft (.png)

2. Ein Bild besteht aus geometrischen Objekten, bzw. Kurven (Vektorgrafik)

Wie beschreibt man die Formen, welche Parameter gibt es?

genauer...

Page 77: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Wie viel Information ist nötig?

Anfangs- und Endpunkt definieren die Linie eindeutig

Mittelpunkt und Radius definieren den Kreis eindeutig

Die Eckpunkte definieren das Polygon eindeutig

Page 78: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Vektorgrafik

Mit allgemeinen Kurven (z.B. Bezier Kurven) und noch mehr Parametern kann man jede beliebige Form berechen

kann zu extrem geringen Dateigrössen führen

Vektorgrafiken sind beliebig skalierbar

26 Kb

Page 79: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

26 Kb

Page 80: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Reine Vektorgrafikformate Sind nicht weit verbreitet, meist proprietär

(.ai) Ausnahme: SVG (scalable vector graphics) Benutzt werden Vektorgrafiken aber oft in

Kombination, z.B. einzelne Ebenen in Photoshop Zeichnungen in Word oder Powerpoint in Druckformaten (PDF, EPS)

Page 81: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Was zeigt Rätsel.svg?

<svg version="1.1“ xmlns="http://www.w3.org/2000/svg"

xmlns:xlink="http://www.w3.org/ 1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/“

x="0px" y="0px" width="595px" height="842px" viewBox=“0 0 595 842“

enable-background="new 0 0 595 842" xml:space="preserve“>

<defs> </defs><polygon fill="#EF0000" stroke="#FFFFFF" points="400,400

400,400 0,400 0,400 0,0 0,0 400,0 400,0 "/><polygon fill="#FFFFFF" stroke="#FFFFFF" points="350,245

350,245 50,250 50,250 50,150 50,150 350,150 350,150 "/><polygon fill="#FFFFFF" stroke="#FFFFFF" points="250,350

250,350 150,350 150,350 150,50 250,50 250,50 "/></svg>

Page 82: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

(Grafik-) Formate BMP (Rastergrafik, Farbräume erwähnen) JPEG (Grafik mit Kompression) GIF (Grafik mit Kompression) PNG (Grafik mit Kompression) TIFF (Grafik mit Kompression) SVG (Vektorgrafik) EPS (Druckerformat, Rastergrafik + Vektorgrafik) PDF (Grafik + Text) ZIP* (Komprimierung) RAR (Archivierung) MIDI (Musik) MP3 (Musik) AVI (Video) MOV (Video) MPEG (Video)

Waru

m gibt es d

ieses

Format?

Wie fu

nktioniert

dieses

Format?

Page 83: Codes & Formate. Digitales Koffer packen Mit Huffman Codierung.

Formatentscheidungen Sie wollen mit ihrer Digitalkamera ein Photo

aufnehmen, um dann Sie dann im Internet einen Abzug in Postergrösse zu bestellen. Wie gehen Sie vor?

Ein Freund von ihnen hat gehört, dass Vektorgraphiken wenig Speicherplatz brauchen und trotzdem skalierbar sind. Er hat ein Logo für seine Webseite gezeichnet (von Hand) und fragt Sie, wie er es in ein Vektorformat umwandelt. Was raten Sie ihm?

Sie wollen ihren Freunden ein paar Urlaubsbilder per E-mail schicken. Wie gehen Sie vor?

Für die Maturazeitung verfassen Sie einen Artikel, in dem sie auch einige statistische Grafiken zeigen wollen. Worauf achten Sie?