Informationsdarstellung - WS 2020/2021 - Dr.-Ing. Elke Franz - TU Dresden
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Fakultät Informatik Institut Systemarchitektur Professur Datenschutz und Datensicherheit WS 2020/2021 2. Informationsdarstellung Dr.-Ing. Elke Franz Elke.Franz@tu-dresden.de
2 Informationsdarstellung Ziele • Geeignete Repräsentation unterschiedlicher Informationen: • Texte, • Zahlen, • logische Werte, • Bilder, Audiodaten, … Ermöglichen entsprechender Operationen Operation: dargestellt durch Operator und Operanden; ein Operand: unäre Operation, zwei Operanden: binäre Operation • Kompakte Darstellung (Kompression, Quellenkodierung) • Redundanzarme (ggf. redundanzfreie) Kodierung • Hier: verlustfreie Quellenkodierung (verlustbehaftet: z.B. JPEG) • Notwendige Anzahl von Bits zur Darstellung: Informationsgehalt der Quelle • Verfahren zur Optimalkodierung (Beispiel: Huffman-Kodierung) Informatik I (für Verkehrsingenieure) WS 2020/2021 2
2 Informationsdarstellung – Texte Texte • Kodierung des Alphabets und der Satz- und Spezialzeichen (knapp 100 Zeichen notwendig) • Steuerzeichen wie Zeilenende (CR = carriage return) oder Tabulator (Tab) • Insgesamt genügen 7 Bit zur Darstellung: 27 = 128 verschiedene Zeichen darstellbar • Kodierung fortlaufender Texte: Aneinanderfügen der Kodes der einzelnen Zeichen (Zeichenkette, engl. String) • Verbreitete Kodierung: ASCII-Kode (American Standard Code for Information Interchange) • Standard-ASCII-Kode: Verwendung von sieben Bits für die Darstellung der verschiedenen Zeichen, ein Bit wurde ursprünglich als Kontrollbit genutzt (jetzt immer „0“) Informatik I (für Verkehrsingenieure) WS 2020/2021 3
2 Informationsdarstellung – Texte: ASCII-Tabelle 00 NUL 10 DLE 20 SP 30 0 40 @ 50 P 60 ` 70 p 01 SOH 11 DC1 21 ! 31 1 41 A 51 Q 61 a 71 q 02 STX 12 DC2 22 „ 32 2 42 B 52 R 62 b 72 r 03 ETX 13 DC3 23 # 33 3 43 C 53 S 63 c 73 s 04 EOT 14 DC4 24 $ 34 4 44 D 54 T 64 d 74 t 05 ENQ 15 NAK 25 % 35 5 45 E 55 U 65 e 75 u 06 ACK 16 SYN 26 & 36 6 46 F 56 V 66 f 76 v 07 BEL 17 ETB 27 ' 37 7 47 G 57 W 67 g 77 w 08 BS 18 CAN 28 ( 38 8 48 H 58 X 68 h 78 x 09 TAB 19 EM 29 ) 39 9 49 I 59 Y 69 i 79 y 0A LF 1A SUB 2A * 3A : 4A J 5A Z 6A j 7A z 0B VT 1B ESC 2B + 3B ; 4B K 5B [ 6B k 7B { 0C FF 1C FS 2C , 3C < 4C L 5C \ 6C l 7C | 0D CR 1D GS 2D - 3D = 4D M 5D ] 6D m 7D } 0E SO 1E RS 2E . 3E > 4E N 5E ^ 6E n 7E ~ 0F SI 1F US 2F / 3F ? 4F O 5F _ 6F o 7F DEL 4 Informatik I (für Verkehrsingenieure) WS 2020/2021
2 Informationsdarstellung – Texte ASCII-Erweiterungen, Unicode, UCS • Erweiterung: Nutzung des 8. Bits – weiterer verfügbarer Bereich von ASCII 128 bis ASCII 255 • Nicht ausreichend für Symbole der verschiedenen Sprachen • International Organization for Standardization (ISO): Normung verschiedener Optionen für Erweiterungen, z.B. die in Europa verbreitete Erweiterung ISO Latin-1 (ISO 8859-1) • Probleme bei weltweiter Datenübertragung Entwicklung eines neuen Standards • Unicode (www.unicode.org): Standard, der versucht, alle relevanten Zeichen der unterschiedlichsten Kulturkreise zusammenzufassen • Erste Version 1991: 16 Bit 65536 Zeichen darstellbar • Unicode-Zeichen 0-127 entsprechen ASCII-Code • Unicode-Zeichen 128-255 entsprechen ISO Latin-1 • Standardisierung (ISO): Universal Character Set (UCS) UCS-2 (16 Bit), UCS-4 (32 Bit) Informatik I (für Verkehrsingenieure) WS 2020/2021 5
2 Informationsdarstellung – Texte Unicode und UTF Unicode: Version 13.0 (März 2020) • 143.859 Zeichen (möglich: 1.114.112) • 154 moderne und historische Schriftsysteme sowie Symbole • Abbildung der Zeichen auf „Kodepunkte“ Darstellung: „U+“ gefolgt von mind. 4 hexadezimale Ziffern, z.B. U+0057 (W) • Strukturierung in 17 Ebenen (0-16) Ebene 0 (U+0000 … U+FFFF) Basic Multilingual Plane UTF (Unicode Transformation Format) • UTF-8: 8-Bit-Darstellung, variable Länge von 1-4 Symbolen Oktober 2020: 95,7% aller Webseiten verwenden UTF-8 [https://w3techs.com/technologies/overview/character_encoding] • UTF-16: 16-Bit-Darstellung, variable Länge von 1-2 Symbolen interne Darstellung von Texten in Betriebssystemen (z.B. Windows) und Softwareentwicklungsframeworks (z.B. Java) • UTF-32: 32-Bit Darstellung, feste Länge Informatik I (für Verkehrsingenieure) WS 2020/2021 6
2 Informationsdarstellung – Texte UTF-8 • 1 Byte lange Zeichen entsprechen Standard-ASCII-Code – Kompatibilität • Andere Zeichen: Darstellung mit 2-4 Bytes: • Für n Bytes im ersten Byte n 1-en, gefolgt von einer 0 • Folgebytes beginnen mit „10“ UTF-8 Unicode 1. Byte 2. Byte 3. Byte 4. Byte 00000000 0xxxxxxx 0xxxxxxx 00000yyy yyxxxxxx 110yyyyy 10xxxxxx zzzzyyyy yyxxxxxx 1110zzzz 10yyyyyy 10xxxxxx 000uuuuu zzzzyyyy yyxxxxxx 11110uuu 10uuzzzz 10yyyyyy 10xxxxxx • Kompakte Darstellung – häufig verwendete Zeichen mit wenig Bytes dargestellt Beispiel Informatik I (für Verkehrsingenieure) WS 2020/2021 7
2 Informationsdarstellung – Logische Werte Logische Werte • Wahrheitswerte True (wahr) und False (falsch) • Abkürzung mit T (bzw. 1) und F (bzw. 0) • Logische Verknüpfungen: • NOT (Negation bzw. Komplement), • AND (Konjunktion), • OR (Disjunktion) und • XOR (exklusives OR) NOT AND F T OR F T XOR F T F T F F F F F T F F T T F T F T T T T T T F Symbole: ∧ ∨ ⨁ Informatik I (für Verkehrsingenieure) WS 2020/2021 8
2 Informationsdarstellung – Logische Werte Logische Werte • Darstellung mit einem Bit ausreichend, da meist Byte die kleinste Einheit ist, 1 Byte pro Wahrheitswert: F = 0000 0000, T = 1111 1111 • Interpretationen von Bitketten als Folgen logischer Werte und bitweise Verknüpfung dieser Folgen Beispiel Informatik I (für Verkehrsingenieure) WS 2020/2021 9
2 Informationsdarstellung – Zahlen Natürliche Zahlen • Bitfolge entspricht der Binärdarstellung, vorzeichenlose Darstellung • Mit n Bits lassen sich 2n verschiedene Zahlen darstellen: 0, 1, …, 2n-1 Beispiel: Zahlenbereich für n = 8 (8 Bits = 1 Byte) 0 = 0000 0000 = 0·27 + 0·26 + 0·25 + 0·24 + 0·23 + 0·22 + 0·21 + 0·20 1 = 0000 0001 = 0·27 + 0·26 + 0·25 + 0·24 + 0·23 + 0·22 + 0·21 + 1·20 2 = 0000 0010 = 0·27 + 0·26 + 0·25 + 0·24 + 0·23 + 0·22 + 1·21 + 0·20 … 255 = 1111 1111 = 1·27 + 1·26 + 1·25 + 1·24 + 1·23 + 1·22 + 1·21 + 1·20 • Arithmetische Operationen äquivalent zum Dezimalsystem Informatik I (für Verkehrsingenieure) WS 2020/2021 10
2 Informationsdarstellung – Zahlen Ganze Zahlen • Bereich: …, -2, -1, 0, 1, 2, … • Nicht nur absoluter Wert, auch Vorzeichen darzustellen • Vorzeichendarstellung: 1. Bit für Vorzeichen (0 = „+“, 1 = „-“) Beispiel: 3 Bit 000 = +0 100 = -0 • 1. Bit für Vorzeichen • 2 Bits für absoluten Wert 001 = +1 101 = -1 • -3 .. +3 darstellbar 010 = +2 110 = -2 011 = +3 111 = -3 • Nachteile: • zwei Binärfolgen für Null +2 = 010 • Rechnen komplizierter + (-1) = + 101 Nicht geeignet! +1 111 Informatik I (für Verkehrsingenieure) WS 2020/2021 11
2 Informationsdarstellung – Zahlen Zweierkomplementdarstellung (1) • Gebräuchlichste Methode zur Darstellung ganzer Zahlen • Beispiel für n=4 Bit: • 24 = 16 Zahlen darstellbar, • Bereich frei wählbar, z.B. von -8 bis +7 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 0000 = +0 0100 = +4 1000 = -8 1100 = -4 0001 = +1 0101 = +5 1001 = -7 1101 = -3 0010 = +2 0110 = +6 1010 = -6 1110 = -2 0011 = +3 0111 = +7 1011 = -5 1111 = -1 Informatik I (für Verkehrsingenieure) WS 2020/2021 12
2 Informationsdarstellung – Zahlen Zweierkomplementdarstellung (2) • Positive Zahlen: Zweierkomplementdarstellung entspricht der Binärdarstellung, 1. Bit = 0 • Negative Zahlen: 1. Bit = 1 (erstes Bit repräsentiert -2n-1) Nur eine Darstellung der „0“ Addition wie bei vorzeichenlosen Zahlen • Darstellbarer Zahlenbereich für n Bits: -2n-1 … 2n-1 -1 • Darstellung negativer Zahlen im Zweierkomplement: Komplement des Betrags bilden und 1 addieren • Addition und Subtraktion: negative Werte im Zweierkomplement darstellen und addieren Informatik I (für Verkehrsingenieure) WS 2020/2021 13
2 Informationsdarstellung – Zahlen Überschreitung von Wertebereichen (Bsp. Addition) • Addition der Zahlen a = (an-1 an-2 … a0) und b = (bn-1 bn-2 … b0) äquivalent zum Dezimalsystem: Addition der einzelnen Stellen, Übertrag (carry) wird zur nächsten Stelle addiert; Übertrag aus der vorletzten Stelle: c • Gültigkeit des Ergebnisses: Ergebnis der letzten Stelle • Vorzeichenlose Darstellung: Ergebnis gültig, falls kein Übertrag in der letzten Stelle, d.h., (an-1 + bn-1 + c) ∈ {0,1} Beispiel • Zweierkomplement: an-1 und bn-1 repräsentieren an-1 ∙ (-2n-1) bzw. bn-1 ∙ (-2n-1), c jedoch c ∙ 2n-1 Ergebnis gültig, falls (an-1 + bn-1 - c) ∈ {0,1} Beispiel Informatik I (für Verkehrsingenieure) WS 2020/2021 14
2 Informationsdarstellung – Zahlen Reelle Zahlen • Darstellung eines großen Zahlenbereichs notwendig • Kompakte Darstellung möglich Beispiel: 0,0000000000000000000012345 = 1,2345·10-21 Nicht eindeutig: 1,2345·10-21 = 12,345·10-22 = 123,45·10-23 … • Normiert: 1. Zahl ungleich Null direkt vor dem Komma +1,2345·10-21 • Komponenten: Vorzeichen, Exponent, Mantisse • Vorzeichen des Exponenten umgehen durch Addition eines festen Wertes (bias) Informatik I (für Verkehrsingenieure) WS 2020/2021 15
2 Informationsdarstellung – Zahlen Binäre Gleitpunktzahlen … . … ·2 ·2 … ·2 ·2 … ·2 • Normierte Darstellung: 1. Zahl vor Dezimalpunkt ungleich Null muss bei Binärdarstellung eine 1 sein nur die restlichen Ziffern als Mantisse gespeichert (nicht gespeicherte 1: „hidden bit“) • Von IEEE (Institute of Electrical and Electronics Engineers) standardisierte Formate: • Short real (oder single precision): 32 Bit Vorzeichen: 1 Bit, Exponent: 8 Bit, Mantisse: 23 Bit, bias: 127 • Long real (oder double precision): 64 Bit Vorzeichen: 1 Bit, Exponent: 11 Bit, Mantisse: 52 Bit, bias: 1023 Informatik I (für Verkehrsingenieure) WS 2020/2021 16
2 Informationsdarstellung – Zahlen Beispiel für Darstellung im Format short real 01000001000111000000000000000000 • Vorzeichen: 0 = „+“ • Exponent: 100000102 = 13010; minus bias: 130 – 127 = 3 • Mantisse: 00111000000000000000000, mit hidden bit: 1.00111000000000000000000 (+)1.00111 ∙ 23 • Exponent = 3 Verschiebung des Punktes um drei Stellen: 1001.11 • Umwandlung binär dezimal: 1001.11 = 23 + 20 + 2-1 + 2-2 = 8 + 1 + + = 9,75 Informatik I (für Verkehrsingenieure) WS 2020/2021 17
2 Informationsdarstellung – Zahlen Umwandlung in binäre Gleitpunktzahlen • Zerlegung der Dezimalzahl in ganzzahligen Anteil und Nachkommastellen, getrennte Umwandlung, Zusammensetzen • Nachkommastellen: Fortgesetzte Multiplikation mit 2, Ziffern vor dem Komma liefern Binärziffern nach dem Komma • iffern vor dem Komma Abbruchbedingung: „0“liefern Binärziffern nach Komma odernach max.dem Komma Anzahl der Stellen Beispiel: (21,6875)10 (21)10 = (10101)2; (0,6875)10 = ()2? 2 · 0,6875 = 1,375 b-1 = 1 2 · 0,375 = 0,75 b-2 = 0 2 · 0,75 = 1,5 b-3 = 1 2 · 0,5 = 1,0 b-4 = 1 (21,6875)10 (10101.1011)2 • Ungenauigkeiten bereits bei Umrechnung möglich durch Rundungsfehler, weitere können bei Rechenoperationen auftreten Kein Test auf Gleichheit bei Gleitpunktzahlen! Informatik I (für Verkehrsingenieure) WS 2020/2021 18
2 Informationsdarstellung – Kodierung Kodierung Abbildung der Elemente eines Alphabets auf die Elemente eines anderen Alphabets (bzw. auf Wörter über diesem Alphabet). 110.. x e 000.. ? 010.. • Diskrete Quelle: endliche Menge von Werten • Darstellung im Computer: binäres Alphabet mit {0,1}, Wörter über diesem Alphabet: Binärfolgen Informatik I (für Verkehrsingenieure) WS 2020/2021 19
2 Informationsdarstellung – Kodierung Diskretisierung analoger Werte • Informationen liegen oftmals in kontinuierlicher Form vor Diskretisierung notwendig Wert • Zeitdiskretisierung • Abtastung in äquidistanten Zeitabschnitten • Abtastfrequenz • Quantisierung • Abbildung auf diskrete Werte • Quantisierungsfehler Zeit Informatik I (für Verkehrsingenieure) WS 2020/2021 20
2 Informationsdarstellung – Quellenkodierung Redundanzarme Darstellung: Quellenkodierung • Diskrete Quelle X mit N verschiedenen Zeichen {x1, x2, …, xN} • Notwendige Anzahl von Bits zur Darstellung der N Zeichen: Informationsgehalt der Quelle • Zeichen xi treten mit bestimmter Wahrscheinlichkeit p(xi) auf (Auftreten des Zeichens xi: Ereignis xi) 0 p(xi) 1 Wahrscheinlichkeit des Ereignisses xi N px 1 i 1 i Summe der Wahrscheinlichkeiten aller Ereignisse p(xi) = 1 sicheres Ereignis p(xi) = 0 unwahrscheinliches Ereignis Informatik I (für Verkehrsingenieure) WS 2020/2021 21
2 Informationsdarstellung – Quellenkodierung Informationsgehalt: Entropie • Information mit Gewinnung neuer Erkenntnisse verbunden • Voraussetzung: Unbestimmtheit über die Quelle Information ist beseitigte Unbestimmtheit. • Maß für Informationsgehalt soll dies widerspiegeln: • Je größer die Wahrscheinlichkeit eines Ereignisses, desto kleiner ist die Unbestimmtheit. • Ein sicheres Ereignis enthält keine Unbestimmtheit. • Entropie eines Zeichens: ld ld ld x log2 x Informatik I (für Verkehrsingenieure) WS 2020/2021 22
2 Informationsdarstellung – Quellenkodierung Informationsgehalt einer Quelle • Mittlere Entropie (mittlerer Informationsgehalt) einer Quelle 1 ld ld • Maximale Entropie / Entscheidungsgehalt ld (bei Gleichwahrscheinlichkeit der Zeichen) • Einheit der Informationsmenge: Informatik I (für Verkehrsingenieure) WS 2020/2021 23
2 Informationsdarstellung – Quellenkodierung Quellenkodierung • Eineindeutige Darstellung der Zeichen der Quelle in einer möglichst redundanzfreien bzw. redundanzarmen Form X A* ⊆ 0,1 l , ,…, : Alphabet der diskreten Quelle ∗ : (Quellen-)Kode mit den Kodewörtern ∗ 0,1 ∈ ∗ : Kodewortlänge Gleichmäßiger Kode • alle Kodewörter haben die Länge ld Darstellung von 2 verschiedenen Zeichen mit jeweils Bits Informatik I (für Verkehrsingenieure) WS 2020/2021 24
2 Informationsdarstellung – Quellenkodierung Ungleichmäßiger Kode • Kodewörter mit ungleicher Kodewortlänge • Dekodierbarkeit erfordert Präfixfreiheit: kein Kodewort darf Beginn eines anderen Kodewortes sein • mittlere Kodewortlänge ∑ · ∗ : Länge des Quellenkodeworts in Bit) • untere Schranke: Koderedundanz RK • Differenz zwischen Kodewortlänge und mittlerem Informationsgehalt der Quelle 0 (redundanzfreie Kodierung, falls RK 0) Informatik I (für Verkehrsingenieure) WS 2020/2021 25
2 Informationsdarstellung – Quellenkodierung Kodebaum • Grafische Darstellungsmöglichkeit für Kodes • Gerichteter Graph, Kodewörter entsprechen Pfad vom Wurzelknoten zu den Endknoten (Blättern) Beispiel für einen Kode mit folgenden 0 1 Kodewörtern: 0 1 0 1 00 01 10 00 01 10 0 1 110 111 110 111 Informatik I (für Verkehrsingenieure) WS 2020/2021 26
2 Informationsdarstellung – Quellenkodierung Optimalkodierung • Methoden zur Schaffung redundanzfreier bzw. redundanzarmer Kodes mit vertretbarem Aufwand • Verfahren, die Kenntnis der Quellenstatistik voraussetzen Prinzip: Je häufiger ein Zeichen, desto kürzer die Länge des zugehörigen Kodewortes • Shannon-Fano • Huffman • Verfahren ohne Kenntnis der Quellenstatistik Prinzip: Ausnutzen von Abhängigkeiten zwischen Quellenzeichen, um mehrere Zeichen auf ein Kodewort abzubilden • Lempel-Ziv • Lempel-Ziv-Welch Informatik I (für Verkehrsingenieure) WS 2020/2021 27
2 Informationsdarstellung – Quellenkodierung Huffman-Kodierung 1. Wahrscheinlichkeiten absteigend ordnen 2. Zusammenfassen der beiden letzten Wahrscheinlichkeiten (die geringsten) zu einem neuen Wert 3. Erneutes Ordnen nach absteigenden Wahrscheinlichkeiten 4. Wiederholen der Schritte 2 und 3, bis die Zusammenfassung nur noch einen Wert ergibt 5. Aufstellen eines Kodebaumes entsprechend der Reduktion und Zuordnen der Kodesymbole 0 und 1; Auslesen der Kodewörter vom Wurzelknoten zu den Blättern (notwendig zur Erfüllung der Dekodierbarkeitsbedingung) Beispiel: 0,03 0,07 0,1 0,05 0,5 0,06 0,19 ; ? ? Informatik I (für Verkehrsingenieure) WS 2020/2021 28
2 Informationsdarstellung – Quellenkodierung x5 x7 x3 x2 x6 x4 x1 0,5 0,19 0,1 0,07 0,06 0,05 0,03 0,5 0,19 0,1 0,08 0,07 0,06 0 1 0,5 0,19 0,13 0,1 0,08 0,5 0,5 x5=0 0 1 0,31 0,19 0,5 0,19 0,18 0,13 0 1 x7=11 0,18 0,13 0,5 0,31 0,19 0 1 0 1 0,1 0,08 0,07 0,06 0,5 0,5 =1011 x3=1000 0 1 x2=1010 x6 0,05 0,03 1,0 x4=10010 x1=10011 Informatik I (für Verkehrsingenieure) WS 2020/2021 29
2 Informationsdarstellung – Quellenkodierung x5 x7 x3 x2 x6 x4 x1 0,5 0,19 0,1 0,07 0,06 0,05 0,03 (Alternatives Vorgehen) 0 1 0 1 0,13 0,08 1 0 ∗ 0,18 0,50 0 0 0,19 10 1 0 0,31 0,10 1110 1 0,07 1100 0,5 0,06 1101 0 0,05 11110 1 0,03 11111 1,0 Informatik I (für Verkehrsingenieure) WS 2020/2021 30
2 Informationsdarstellung – Quellenkodierung ∗ / · / 0,50 0 1 0,50 0,19 11 2 0,38 0,10 1000 4 0,40 0,07 1010 4 0,28 0,06 1011 4 0,24 0,05 10010 5 0,25 0,03 10011 5 0,15 ∑ · = 2,20 1 ld 2,167 0,033 Informatik I (für Verkehrsingenieure) WS 2020/2021 31
Sie können auch lesen