Codes & Formate

83
Codes & Formate

description

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 - PowerPoint PPT Presentation

Transcript of Codes & Formate

Page 1: Codes & Formate

Codes & Formate

Page 2: Codes & Formate

Digitales Koffer packen

Mit Huffman Codierung

Page 3: Codes & Formate

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

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

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
Page 7: Codes & Formate

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

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

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

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

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

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

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

Huffman Komprimierung

Page 15: Codes & Formate

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

Huffman Decodierung Die binäre Nachricht:

0100111101001110010100111110

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

Page 17: Codes & Formate

Und was daran war jetzt präfixfrei?

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

Page 18: Codes & Formate

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

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

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

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

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

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

Enthropie

Page 25: Codes & Formate

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

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

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

1. 0101010101010101...

2. 1111111111111111...

3. 0110001101100101...

4. 0010111001100101...

5. 0000000011111111...

6. 0011001100110011...

Ordnen Sie diese Bitsequenzen nach Informationsgehalt (aufsteigend)

Page 29: Codes & Formate

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

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

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

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

Eine perfekte Komprimierung würde

diesen Entropiewert

erreichen

Page 33: Codes & Formate

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

Wozu brauchen wir das?

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

8er: 01100011 011001014er: 0110 0011 0110 0101

1. 0101010101010101...

2. 1111111111111111...

3. 0110001101100101...

4. 0010111001100101...

5. 0000000011111111...

6. 0011001100110011...

Normierung für unterschiedliche Block-, bzw. Zeichenlängen

noch allg

emeiner:

konditio

nelle

Entropie

Page 35: Codes & Formate

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

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

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

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

Lösung: Arithmetische Codierung

Page 39: Codes & Formate

Arithmetische Codierung (Zusatz) Die gesamte Nachricht in einer einzigen

Zahl ... ... ausserdem braucht es die Zeichen und ihre

Frequenz ... ... und einen schnellen Computer A = 0.6

B = 0.3C = 0.1D = 0.1Zahl = 0.536

Nachricht = ACD

Page 40: Codes & Formate

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 41: Codes & Formate

(Datei-) Formate

Page 42: Codes & Formate

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 43: Codes & Formate

Komprimierung allgemein

Komprimieren,z.B. mit Huffman Codierung

Dekomprimieren,z.B. mit Huffman Decodierung

speichern /verschicken

Welche Informationen braucht es hier?

Page 44: Codes & Formate

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 45: Codes & Formate

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 46: Codes & Formate

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 47: Codes & Formate

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 48: Codes & Formate

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 49: Codes & Formate

Und wie passt das jetzt alles zusammen?

Information

Codierung

Format

Page 50: Codes & Formate

Definition Code:

Page 51: Codes & Formate

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 52: Codes & Formate

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 53: Codes & Formate

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 54: Codes & Formate

Bildinformation in einem etwas

speziellen Format

Die Brille implementiert die

Decodierung

Das Format gibt an, welche Brille

man braucht

Page 55: Codes & Formate

Codieren allgemein

Nicht-digitale Information

Digitale Information

Nicht-digitale Information

Digitale Information

Komprimieren

Komprimierte digitale

Information

Komprimierte digitale

Information

Entkomprimieren

Digitalisieren Entdigitalisieren?!Darstellen

Page 56: Codes & Formate

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 57: Codes & Formate

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 58: Codes & Formate

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 59: Codes & Formate

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 60: Codes & Formate

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 61: Codes & Formate

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 62: Codes & Formate

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 63: Codes & Formate

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

Text Bilder Ton Videos Zahlen

Page 64: Codes & Formate

Grafikformate

Page 65: Codes & Formate

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 66: Codes & Formate

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 67: Codes & Formate

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 68: Codes & Formate

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 69: Codes & Formate

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 70: Codes & Formate

Grafikformate

Drei Grundideen und viele Variationen

Page 71: Codes & Formate
Page 72: Codes & Formate
Page 73: Codes & Formate
Page 74: Codes & Formate
Page 75: Codes & Formate
Page 76: Codes & Formate

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

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

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

26 Kb

Page 80: Codes & Formate

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

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=“600px" height="840px" viewBox=“0 0 600 840“

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,250 350,250 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

(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

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?