Codes und Codierung. Dr. Michael Hielscher

Ähnliche Dokumente
Codes und Codierung. Dr. Michael Hielscher

13. Algorithmus der Woche Fehlererkennende Codes Was ist eigentlich ISBN?

Übungsblatt 5 - Musterlösung

Fehlererkennende und fehlerkorrigierende Codes

(Prüfungs-)Aufgaben zur Codierungstheorie

Technische Informatik - Eine Einführung

Informatik II, SS 2016

Die Digitalisierung von Musik

Digitale Medien. Vorlesung: Heinrich Hußmann Übung: Renate Häuslschmid. Übung zur Vorlesung

Mathematik für Information und Kommunikation

Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)

Grundlagen der Technischen Informatik. 3. Übung

Einführung in die Informatik II Aus der Informationstheorie: Datenkompression

SJ 2018/19 7a Informatik Ko DATEN UND CODIERUNG. Eisenmann (Januar 2017) ZPG INFORMATIK

Aufgabe: Platz-effiziente Kompression von Textdaten

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Dynamisches Huffman-Verfahren

Praktikum BKSPP: Blatt 2

Gierige Algorithmen Interval Scheduling

Strings. Stringsuche, Boyer-Moore, Textkompression, Huffman Codes.

Hallo Welt für Fortgeschrittene

Codes (6) Fehlererkennende (EDC) bzw. fehlerkorrigierende Codes (ECC)

Grundbegrie der Codierungstheorie

Digitale Medien. Übung

Beispiel: Zeigen Sie, dass H(x) = H 0 = I gilt, wenn alle Zeichen gleichwahrscheinlich sind.

Digitale Medien. Übung

Grundbegriffe der Informatik Tutorium 3

2. Digitale Codierung und Übertragung

E-Business-Einführung

6 Ü B E R S E T Z U N G E N U N D C O D I E R U N G E N. 6.1 von wörtern zu zahlen und zurück Dezimaldarstellung von Zahlen Num 10

C O D I E R U N G ( )

Klausur Informatik. Es sind keinerlei Hilfsmittel (Literatur, Taschenrechner, usw.) zugelassen.

Kryptographie und Codierung für den Mathematikunterricht

Programmierpraktikum WS 13/14

Angewandte Informatik

Kapitel 7: Optimalcodierung und Huffman Coding

Informationsdarstellung 2.2

Vom Bit zum CBC. Vom Bit zum CBC. Crashkurs - Digitale Verschlüsselungstechnik. ein Vortrag von Marius Schwarz. im Rahmen des KP 2018

Inhalt. 2.1 Darstellung von Zahlen. 2.2 Darstellung von Zeichen. 2.3 Boolesche Algebra. 2.4 Aussagenlogik. Informatik 1 / Kapitel 2: Grundlagen

Grundlagen der Technischen Informatik. 2. Übung

Technische Grundlagen der Informatik Test Minuten Gruppe A

Inhalt. 2.1 Darstellung von Zahlen. 2.2 Darstellung von Zeichen. 2.3 Boolesche Algebra. 2.4 Aussagenlogik. 2.5 Logische Funktionen

Molekulare Bioinformatik

Übung zur Vorlesung. Vorlesung: Heinrich Hußmann Übung: Renate Häuslschmid, Hanna Schneider

Themen. Sicherungsschicht. Rahmenbildung. Häufig bereitgestellte Dienste. Fehlererkennung. Stefan Szalowski Rechnernetze Sicherungsschicht

Fehlerhafte Codes und Zauberei

Technische Grundlagen der Informatik Test Minuten Gruppe A

RLE Arithm. Shannon Fano Huffman Grenzen. Komprimierung. Ingo Blechschmidt, Michael Hartmann. 6. Dezember 2006

Klausur Medieninformatik I

Ein (7,4)-Code-Beispiel

Zahlen im Computer (Klasse 7 Aufbaukurs Informatik)

Einleitung. Kapitel 1

21. Greedy Algorithmen. Aktivitätenauswahl, Fractional Knapsack Problem, Huffman Coding Cormen et al, Kap. 16.1, 16.3

There are only 10 types of people in the world: those who understand binary, and those who don't

3 Codierung diskreter Quellen. Quelle Quellcodierer Kanalcodierer reduziert die benötigte Datenmenge. fügt Daten zur Fehlerkorrektur ein.

Informatik II, SS 2018

Algorithmen und Datenstrukturen 2

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 14. Bäume. Bäume 1

Interessante Projekte mit dem BBC Micro:bit

Grundlagen der Technischen Informatik. 2. Übung

Übrigens: um den Algorithmus im Unterricht einzuführen, sind keine Formeln notwendig! Warum reicht die normale ASCII-Codierung nicht aus?

Vorkurs Informatik WiSe 17/18

Modul InfB-RS: Rechnerstrukturen

Ergänzungsfach Informatik 4242 Laufen 4. MAR

Technische Grundlagen der Informatik Test Minuten Gruppe A

Klausur Digitale Medien

Informatik II, SS 2018

Kodierung. Bytes. Zahlensysteme. Darstellung: Zahlen

, 2016W Übungstermin: Fr.,

Grundbegriffe. Informatik 1 für Nebenfachstudierende Grundmodul. Kai-Steffen Hielscher Folienversion: 17. Oktober 2017

Klausur über den Stoff der Vorlesung Grundlagen der Informatik II (90 Minuten)

Dualzahlen

Startseite. MSN Music Shop Guide Version 1.1 Seite 1 von 5. music.msn.de - powered by OD All rights reserved.

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 13. Bäume. Bäume 1

Organisation. Was kommt zum Test? Buch Informatik Grundlagen bis inkl. Kapitel 7.4 Wissensfragen und Rechenbeispiele

INSTALLIEREN VON GALIASTRO PROFI 5.0

Kapitel 5. Kapitel 5 Fehlererkennende Codes

Fundamentale Ideen der Informatik PH Weingarten Sommersemester 2014 Paul Libbrecht CC-BY

Codierungstheorie Teil 1: Fehlererkennung und -behebung

Optimalcodierung. Thema: Optimalcodierung. Ziele

Rechnerarchitektur. angeben, welche Bestandteile ein Von-Neumann-Rechner haben muss.

Digitaltechnik Grundlagen 1. Einleitung und Motivation

Digitalisierung. analoges Signal PAM. Quantisierung

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 17/18. Kapitel 14. Bäume. Bäume 1

Theoretische Grundlagen der Informatik

Intergramm. Kurzbeschreibung

Anzahl Pseudotedraden: Redundanz: Weitere Eigenschaften?

Übung zur Vorlesung Digitale Medien. Doris Hausen Ludwig-Maximilians-Universität München Wintersemester 2010/2011

Digitale Medien. Übung zur Vorlesung. Vorlesung: Heinrich Hußmann Übung: Renate Häuslschmid

FRITZ!WLAN USB Stick 1.1. Installation und Bedienung

Codierung. H.-G. Hopf

Kodierung. Kodierung von Zeichen mit dem ASCII-Code

FRITZ!WLAN USB Stick N 2.4. Installation und Bedienung

PriMus: Hinweise zur Installation und Update

Probeklausur Digitale Medien

Transkript:

Codes und Codierung Dr. Michael Hielscher

Aus der Eingangsbefragung von Studierenden Ich weiss, wie Codes in unserem Alltag (z.b. Barcodes auf der Milchpackung) funktionieren. Ja 10.60% Teilweise 31.80% Nein 57.60% n = 85

Codes im Alltag

Codes im Alltag Welche Informationen stecken im Code? Preis? Gewicht? Grösse? Sind die Codes in allen Geschäften gleich?

fragt an Kasse liefert zurück Datenbank EAN Hersteller Name Bestand Preis 4005556043217 Ravensburger ministeps Magnetbuch Was gehört wohin 4005556043224 Ravensburger Kleine Ente kommst du mit? 45 14,95 32 12,95...............

http://www.ean-search.org/

http://www.ean-search.org/

Was hat das mit dem Zaubertrick zu tun?

Prinzip der Prüfsumme

Prinzip der Prüfsumme

Prinzip der Prüfsumme

Verallgemeinert spricht der Informatiker von Redundanz (Zusatzinformation) Hintergrund: - Bei analogen Medien wie einer Schallplatte hört man bei einem Staubkorn, einem Haar oder einem Kratzer ein Knacken beim Abspielen. Solche Störungen und Fehler sind ganz normal und führten früher auch dazu, dass eine Kopie immer ein klein wenig schlechter wurde als die vorherige Version - Computer arbeiten mit Informationen, indem sie alles mit 0 und 1 notieren wie die Kärtchen im Zaubertrick (An/Aus) - Beim Lesen von Informationen von einer CD, einem USB-Stick oder einer Festplatte passieren ebenfalls Lesefehler durch Umwelteinflüsse (Schmutz, elektrische Störungen). Da die Information aber nicht mehr direkt ausgegeben wird wie bei der Schallplatte, sondern erst von einem Computer verarbeitet wird, können zusätzliche Informationen hinzugefügt werden, damit Lesefehler erkannt und teilweise sogar automatisch korrigiert werden können.

Verallgemeinert spricht der Informatiker von Redundanz (Zusatzinformation) Hintergrund: - Auf einer CD sind zum Beispiel 25% der gespeicherten Daten solche zusätzlichen Redundanten-Informationen. Ein Kratzer auf der CD ist nicht hörbar, weil er einfach rausgerechnet werden kann, solange es nicht zu viele Kratzer gibt. - Lese- und Übertragungsfehler sind normal und passieren immer. Fehlererkennende und Fehlerkorrigierende Codes erlauben eine perfekte fehlerfreie Kopie der gespeicherten Information. Nur so kann ein Computer über das Internet mit einem anderen kommunizieren oder wir heute mit dem Handy telefonieren oder surfen. - Dieses Prinzip findet sich in praktischen allen digitalen Geräten wieder und unser Handynetz, Internet, E-Banking würde alles ohne diese Prinzip nicht funktionieren. Es bildet ein fundamentales Prinzip der Informatik, was seit über 50 Jahren Bestand hat.

Codierung - Hintergrundinformationen Wie entstehen eigentlich solche Codes? Was sind die Überlegungen dahinter? Codierung hat unterschiedliche Ziel: - möglichst wenig 0en und 1en benötigen - Fehler erkennbar oder sogar korrigierbar

EAN 13 Codierung

Morsecode als einfacheres Beispiel

Kompression durch kürzere Codes für häufige Buchstaben (Entropiekodierung)

Besonders clevere Codierung kann auch eine Verschlüsslung sein. Enigma

Einfache Geheimschriften knacken

Huffman-Algorithmus Mit dem Huffman-Algorithmus kann man eine (sub-)optimale binäre Codierung berechnen. Beispiel: Angenommen der Text "MISSISSIPPI wäre ein typisches Wort, welches wir mit möglichst wenig 0en und 1en übertragen möchten. Zeichen M P I S ASCII Code 01001001 01010000 01001001 01010011 MISSISSIPPI benötigt damit 8 Bit * 11 = 88 Bit

Huffman-Algorithmus Mit dem Huffman-Algorithmus kann man eine (sub-)optimale binäre Codierung berechnen. Beispiel: Angenommen der Text "MISSISSIPPI wäre ein typisches Wort, welches wir mit möglichst wenig 0en und 1en übertragen möchten. Wir können die Häufigkeit der Buchstaben zählen. Zeichen M P I S Häufigkeit 1 2 4 4 Zunächst alle Knoten mit Häufigkeit in eine Liste legen

Huffman-Algorithmus Mit dem Huffman-Algorithmus kann man eine (sub-)optimale binäre Codierung berechnen. Beispiel: Angenommen der Text "MISSISSIPPI wäre ein typisches Wort, welches wir mit möglichst wenig 0en und 1en übertragen möchten. Wir können die Häufigkeit der Buchstaben zählen. Zeichen M P I S Häufigkeit 1 2 4 4 Die beiden Knoten, mit der geringsten Häufigkeit zusammenfassen unter einem neuen Elternknoten.

Huffman-Algorithmus Mit dem Huffman-Algorithmus kann man eine (sub-)optimale binäre Codierung berechnen. Beispiel: Angenommen der Text "MISSISSIPPI wäre ein typisches Wort, welches wir mit möglichst wenig 0en und 1en übertragen möchten. Wir können die Häufigkeit der Buchstaben zählen. Zeichen M P I S Häufigkeit 1 2 4 4 Die Summe der Häufigkeiten als neuen Elternknoten verwenden. Verfahren fortsetzen, bis alle Zeichen Teil vom Baum sind.

Huffman-Algorithmus Mit dem Huffman-Algorithmus kann man eine (sub-)optimale binäre Codierung berechnen. Beispiel: Angenommen der Text "MISSISSIPPI wäre ein typisches Wort, welches wir mit möglichst wenig 0en und 1en übertragen möchten. Wir können die Häufigkeit der Buchstaben zählen. Zeichen M P I S Häufigkeit 1 2 4 4 In diesem Schritt hätten wir sowohl mit I als auch mit S einen Elternknoten bilden können.

Huffman-Algorithmus Mit dem Huffman-Algorithmus kann man eine (sub-)optimale binäre Codierung berechnen. Beispiel: Angenommen der Text "MISSISSIPPI wäre ein typisches Wort, welches wir mit möglichst wenig 0en und 1en übertragen möchten. Wir können die Häufigkeit der Buchstaben zählen. Zeichen M P I S Häufigkeit 1 2 4 4 Fertig Huffman-Baum erstellt. Jetzt einfach Binärzahlen hinzufügen

Huffman-Algorithmus Mit dem Huffman-Algorithmus kann man eine (sub-)optimale binäre Codierung berechnen. Beispiel: Angenommen der Text "MISSISSIPPI wäre ein typisches Wort, welches wir mit möglichst wenig 0en und 1en übertragen möchten. Wir können die Häufigkeit der Buchstaben zählen. Zeichen M P I S Häufigkeit 1 2 4 4 0 1 0 1 Fertig Huffman-Baum erstellt. Jetzt einfach Binärzahlen hinzufügen 0 1

Huffman-Algorithmus Mit dem Huffman-Algorithmus kann man eine (sub-)optimale binäre Codierung berechnen. Beispiel: Angenommen der Text "MISSISSIPPI wäre ein typisches Wort, welches wir mit möglichst wenig 0en und 1en übertragen möchten. Wir können die Häufigkeit der Buchstaben zählen. Zeichen M P I S Häufigkeit 1 2 4 4 0 1 0 1 0 1 Codetabelle: Zeichen Code S 0 I 11 P 101 M 100

Huffman-Algorithmus Mit dem Huffman-Algorithmus kann man eine (sub-)optimale binäre Codierung berechnen. Beispiel: Angenommen der Text "MISSISSIPPI wäre ein typisches Wort, welches wir mit möglichst wenig 0en und 1en übertragen möchten. Wir können die Häufigkeit der Buchstaben zählen. M I Zeichen S S M I SP S I I SP P I 100 11Häufigkeit 0 0 111 02 0 4 11 101 4 101 11 0 1 0 1 0 1 Codetabelle: Zeichen Code S 0 I 11 P 101 M 100

Huffman-Algorithmus Mit dem Huffman-Algorithmus kann man eine (sub-)optimale binäre Codierung berechnen. Beispiel: Angenommen der Text "MISSISSIPPI wäre ein typisches Wort, welches wir mit möglichst wenig 0en und 1en übertragen möchten. Wir können die Häufigkeit der Buchstaben zählen. M I Zeichen S S M I SP S I I SP P I 100 11Häufigkeit 0 0 111 02 0 4 11 101 4 101 11 0 1 0 1 0 1 Codetabelle: Zeichen Code S 0 I 11 P 101 M 100

Huffman-Algorithmus Mit dem Huffman-Algorithmus kann man eine (sub-)optimale binäre Codierung berechnen. Beispiel: Angenommen der Text "MISSISSIPPI wäre ein typisches Wort, welches wir mit möglichst wenig 0en und 1en übertragen möchten. Wir können die Häufigkeit der Buchstaben zählen. M I Zeichen S S M I SP S I I SP P I 100 11Häufigkeit 0 0 111 02 0 4 11 101 4 101 11 UTF-8 Zeichensatz: Zeichen Anzahl Bits a 8 ä,ö,ü 16 24! 32 0 1 0 1 0 1 Codetabelle: Zeichen Code S 0 I 11 P 101 M 100

Mit 0 und 1 geht nicht nur Text...

Wenn alles nur aus 0en und 1en besteht, woher weiss man dann eigentlich um was für Daten es sich handelt?

Es ist nicht immer ersichtlich... http://ilearnit.ch/de/1b/explore.html

Barcodas barcode music generator IOS-App www.nr37.nl/?c=software