2.1 Kodierung von Zeichen 2.2 Kodierung von Zahlen

Slides:



Advertisements
Ähnliche Präsentationen
Wesen und „Unwesen“ der binären, dezimalen und hexadezimalen Zahlen
Advertisements

Randomisierte Algorithmen Präfix Suche und Konsistentes Hashing
Hash-Tabellen und -Funktionen Hash-Tabellen in Java
Kapitel 3 Codes Damit Information in einem Rechner verarbeitet werden kann, muss sie in eine für den Rechner verarbeitbare Form transformiert werden. Dabei.
Motivation Bisher: Codes mit möglichst kurzer Codelänge.
Eine dynamische Menge, die diese Operationen unterstützt,
Kapitel 3 Arithmetische Schaltkreise
2.3 Kodierung von Zeichen 2.4 Kodierung von Zahlen
Codierung Haydn: Streichquartett op 54.3 aus Largo, Violine I
Das LCA – Problem in Suffixbäumen
Elektronisch messen, steuern, regeln
7. Natürliche Binärbäume
6. Digitale Datendarstellung
Information - syntaktisch
Greedy-Algorithmus Greedy-Algorithmen sind mit dem dynamischen Programmieren verwandt, jedoch einfacher. Die Grundsituation ist dieselbe: Es geht um ein.
Übung 2.1 Information Wieviele Fragen benötigen Sie beim „Zahlenraten“
Lösung 3.1 Zahlensysteme Betrachten Sie den mit der Hamming-Methode codierten Code für „1000“ P-Bits falsch => Fehler bei bit
Suche in Texten: Suffix-Bäume
WS Prof. Dr. Th. Ottmann Algorithmentheorie 09 - Suche in Texten Suffix - Bäume.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (17 –Turingmaschinen) Prof. Dr. Th. Ottmann.
Kapitel 5 Stetigkeit.
Kapitel 2 Die rationalen und die irrationalen Zahlen.
Prof. Dr. rer.nat. Ralph Großmann Fakultät Informatik / Mathematik Sommersemester 2012 Internet-Technologien XML-basierte Techniken Teil Metasprache der.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Huffmans Kompressionsverfahren
Technische Informatik I
PowerPoint-Folien zur 5. Vorlesung „Evolutionsstrategie II“
Logischen Grundverknüpfungen
Prof. Dr. Wolfram Conen Version 1.2
Medien- Technik Datei-Formate: TIFF Tagged Image File Format.tif.tiff.
Huffman Entropie-Codierung Codierung mit variabler Länge
§10 Vektorraum. Definition und Beispiele
Datenformate: Text und Bild
Die Darstellung von alphanumerischen Zeichen mit dem Computer
Sprachprobleme ?.
Effiziente Algorithmen
Basisinformationstechnologie HK-Medien
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
§10 Vektorraum. Definition und Beispiele
Christian Scheideler Institut für Informatik Universität Paderborn
Java, Java, Java R. Morelli
Rechnen im Binärsystem
1 Kap. 2 - Aufbau von Prozessoren ComputerarchitekturBéat HirsbrunnerS Oktober Primäre Speicher Fehlerkorrekturcodes.
Simulation mit Standardsoftware (Excel , QBasic)
Codierungstechniken Net2 SS2004 Thomas Trenker.
Vom Bit zum Byte.
Formale Sprachen Reguläre Sprachen Rudolf FREUND, Marian KOGLER.
Grundlegende Funktionsweise eines Computers
Grundlagen der Informatik
Grundlagen der Kommunikation in Verbindung mit der Codierung von Daten
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Systeme II Christian Schindelhauer Sommersemester 2006.
I Grundlagen.
Analyse der Laufzeit von Algorithmen
Mensch – Maschine - Kommunikation
Information - syntaktisch
Daten und Information in der ITG
Florian Hutter & Nicole Waibel
ASCII Was ist ein ASCII Code?.
Sükün_Karatas Grundlagen der Codes Sükün_Karatas 3aFD.
Huffman – Kodierbaum zur Textkompression
Arbeiten mit dem Terminal
Laufzeitverhalten beim Sortieren
 Präsentation transkript:

2.1 Kodierung von Zeichen 2.2 Kodierung von Zahlen Kapitel 2 Kodierung 2.1 Kodierung von Zeichen 2.2 Kodierung von Zahlen

Motivation Ein Rechner speichert, verarbeitet und produziert Informationen. Alle Ergebnisse müssen als Funktion der Anfangswerte exakt reproduzierbar sein. Informationsspeicherung und Verarbeitung müssen exakt sein. Probleme: Noise, Crosstalk, Abschwächung Es gibt keine exakte Datenübertragung oder Datenspeicherung Ziel: Quantisierung der Informationsspeicherung mit Signal groß gegenüber maximaler Störung Binär-Codierung (nur zwei Zustände) ist die einfachste (und sicherste) Signal-Quantisierung. BIT (0, 1) als grundlegende Informationseinheit RW-Systemarchitektur Kap. 2

Motivation Zeichen verarbeiten (Textverarbeitung), mit Zahlen rechnen, Ein Rechner kann traditionell Zeichen verarbeiten (Textverarbeitung), mit Zahlen rechnen, Bilder, Audio- und Videoinformationen verarbeiten und darstellen … Ein Algorithmus kann zwar prinzipiell mit abstrakten Objekten verschiedener Art operieren, aber diese müssen im Rechner letztendlich als Folgen von Bits repräsentiert werden. Kodierung! RW-Systemarchitektur Kap. 2

2.1 Kodierung von Zeichen Wie werden im Rechner Zeichen dargestellt ? „Längenoptimale Kodierungen“ von Zeichen: Häufigkeitscodes (Bsp.: Huffman-Code) fehlererkennende und fehlerkorrigierende Codes (Bsp.: Parity-Check, Hamming-Code) RW-Systemarchitektur Kap. 2

Alphabete und Wörter Definition: Eine nichtleere Menge A = {a1, ..., am} heißt (endliches) Alphabet der Größe m. a1, ..., am heißen Zeichen des Alphabets. A* = {w| w=b1 ... bn mit nÎ, i mit 1in : biÎA} ist die Menge aller Wörter über dem Alphabet A. |b1 ... bn| := n heißt Länge des Wortes b1 ... bn. Das Wort der Länge 0 wird mit e bezeichnet. Beispiel: Sei A = {a, b, c, d}. Dann ist bcada ein Wort der Länge 5 über A. RW-Systemarchitektur Kap. 2

Code Sei A={a1,...,am} ein endliches Alphabet der Größe m. Eine Abbildung c : A ® {0,1}* oder c : A ® {0,1}n heißt Code, falls c injektiv ist. Die Menge c (A) := { wÎ{0,1}* | $ a ÎA : c (a)=w } heißt Menge der Codewörter. Ein Code c : A ® {0,1}n heißt Code fester Länge. Für einen Code c : A ® {0,1}n fester Länge gilt: n ³ élog2 mù. Ist n = élog2 mù +r mit r > 0, so können die r zusätzlichen Bits zum Test auf Übertragungsfehler verwendet werden (siehe später). RW-Systemarchitektur Kap. 2

7-Bit-ASCII American Standard Code for Information Interchange ASCII ist ein Code fester Länge zur Kodierung von Zeichen in einem Rechner. Die Codelänge beträgt 7. Es gibt auch andere vergleichbare Codes, wie z.B. EBDIC (8 Bit) oder UniCode (16 Bit). RW-Systemarchitektur Kap. 2

7-bit-ASCII: Code-Tabelle erste 3 Bits 1 1 1 1 1 1 1 0000 nul dle @ P ` p 0001 soh dc1 ! 1 A Q a q 0010 sfx dc2 " 2 B R b r 0011 etx dc3 # 3 C S c s Problem: Umlaute, Sonderzeichen verschiedener Nationalitäten  Erweiterung auf 8 Bit (oder 16 Bit im Fall von Unicode) 0100 eot dc4 $ 4 D T d t 0101 enq nak % 5 E U e u 0110 ack syn & 6 F V f v letzte 4 Bits 0111 bel etb ' 7 G W g w 1000 bs can ( 8 H X h x 1001 ht em ) 9 I Y i y 1010 lf sub * : J Z j z 1011 vt esc + ; K [ k { 1100 ff fs , < L \ l | 1101 cr qs - = M ] m } 1110 so rs . > N ^ n * 1111 si us / ? O _ o del Steuerzeichen Schriftzeichen RW-Systemarchitektur Kap. 2

Bedeutung von ASCII-Steuerzeichen Abk. Funktion Funktion (Bedeutung des Zeichens) NUL Null Nichtiges (ungültiges) Zeichen SOH Start of heading Beginn des Kopfes (Titels) STX Start of text Textanfang ETX End of text Textende EOT End of transmission Ende der Übertragung ENQ Enquiry Anfrage ACK Acknowledgement Empfangsbestätigung BEL Audible signal Akustisches Signal BS Backspace Rücksetzen HT Horizontal tabulation Horizontale Einstellung (Tabulator) LF Line feed Zeilenvorschub VT Vertical tabulation Vertikale Einstellung (Tabulator) FF Form feed Formularvorschub CR Carriage return Schreibkopfrücklauf SO Shift out Umschaltung aus (Kleinschreibung) SI Shift in Umschaltung ein (Großschreibung) DLE Data link escape Umschaltung von Text auf Steuerzeichen DC1-3 Device control Einheitensteuerung DC4 Device stop Einheitenhalt NAK Negative acknowledgement Negative Empfangsbestätigung SYN Synchronous idle Synchronisierzeichen (Leerlauf) ETB End of transmission block Ende eines Übertragungsblockes CAN Cancel Aufhebung EM End of medium Ende für ein Medium (Gerät) SS Start of special sequence Beginn einer speziellen Folge ESC Escape Auswahl, Trennung, Umschaltung FS File separator Dateitrennzeichen GS Group separator Gruppentrennzeichen RS Record separator Satztrennzeichen US Unit separator Trennzeichen für eine Informationseinheit SP Space Zwischenraum DEL Delete/Idle Löschen/ Leerlauf Bis zur Einführung des Laserdruckers waren Drucker zeilenorientiert. Die ASCII-Steuerzeichen wurden benutzt, um Drucker zu steuern. Bsp.: CR: Wagenrücklauf LF: Zeilenvorschub CR und LF sind bis heute die Zeilentrennzeichen in Textdateien (aber nicht einheitlich). RW-Systemarchitektur Kap. 2

Häufigkeitsabhängige Codes Ziel Reduktion der Länge einer Nachricht durch Wahl verschieden langer Codewörter für die verschiedenen Zeichen eines Alphabets (also kein Code fester Länge!) Idee Häufiges Zeichen ® kurzer Code Seltenes Zeichen ® langer Code Voraussetzungen Häufigkeitsverteilung ist bekannt ® statische Kompression Häufigkeitsverteilung nicht bekannt ® dynamische Kompression RW-Systemarchitektur Kap. 2

Häufigkeitsabhängige Codes: Huffman bekanntester häufigkeitsabhängiger Code Beispiel 43 57 32 17 13 10 9 Baue binären Baum, indem die Knoten mit den beiden kleinsten Häufigkeiten unter einen neuen Knoten mit der Summe der Häufigkeiten gehängt werden 23 100 Markiere die linken Kanten mit 0 und die rechten Kanten mit 1, fertig ist der Huffman-Code! RW-Systemarchitektur Kap. 2

Huffman-Code Erzeugte Codierung 1 1 1 1 1 1 1 1 1 Zeichen a b c d e f j Häufigkeit [%] 20 25 15 8 7 6 5 5 5 4 43 57 32 17 13 10 9 1 1 1 23 1 1 1 1 100 1 1 Erzeugte Codierung RW-Systemarchitektur Kap. 2

Huffman-Code Dekodierung: Zeichen a b c d e f g h i j Häufigkeit [%] 20 25 15 8 7 6 5 5 5 4 43 57 32 17 13 10 9 1 1 1 23 1 1 1 1 100 1 1 Dekodierung: Lesen des Bitstromes (und gleichzeitiges Durchlaufen des binären Baumes) bis Code für das Symbol erkannt Erkanntes Symbol ausgeben und weiter mit (1) RW-Systemarchitektur Kap. 2

Präfixcodes Definition: Sei A = {a1, …, am}. a1 … ap Î A* heißt Präfix von b1 … bl Î A*, falls p  l und ai = bi  1  i  p. Ein Code c : A ® {0, 1}* heißt präfixfreier Code, falls es kein Paar i, j Î {1, …, m} gibt, so dass c(ai) Präfix von c(aj). Bemerkung: Der Huffman-Code ist ein Präfixcode. Bei Präfixcodes können Wörter über {0, 1} eindeutig dekodiert werden. (Sie entsprechen Binärbäumen mit Codewörtern an den Blättern.) Huffman-Code ist ein bzgl. mittlerer Codelänge optimaler Präfixcode (unter Voraussetzung einer bekannten Häufigkeitsverteilung). RW-Systemarchitektur Kap. 2

Überblick: Fehlererkennende und fehlerkorrigierende Codes Motivation Fehlererkennende Codes Allgemeine Resultate Bsp. für 1-fehlererkennenden Code: Parity-Code Fehlerkorrigierende Codes Bsp. für 1-fehlerkorrigierenden Code: Hamming-Code RW-Systemarchitektur Kap. 2

Motivation: Übertragungsfehler Ein Übertragungsfehler (Abspeicherungsfehler) eines Wortes aus {0, 1}* liegt vor, wenn die empfangene Bitfolge verschieden von der gesendeten Bitfolge ist. Übertragungsfehler = Kippen von Bitstellen (0 ® 1, 1 ® 0) Übertragungsfehler erhöhen die (Hamming-)Distanz dist(v,w) zwischen der gesendeten Bitfolge v und der empfangenen Bitfolge w, wobei man unter der Distanz zweier gleich langer Bitfolgen die Anzahl der Stellen versteht, an denen sich die beiden Bitfolgen unterscheiden. Beispiel: dist(00001101,10001100) = 2 dist(00001101,00001101) = 0 Ein Übertragungsfehler heißt einfach, wenn dist(v,w)=1 gilt. RW-Systemarchitektur Kap. 2