Optimalcodierung. Thema: Optimalcodierung. Ziele

Ähnliche Dokumente
Informationstheorie und Codierung

(Prüfungs-)Aufgaben zur Codierungstheorie

Datenkompression. 1 Allgemeines. 2 Verlustlose Kompression. Holger Rauhut

Adaptive Differenz-Puls-Code-Modulation (ADPCM) und Lineare, Prädiktive Codierung (LPC)

Entropie. Um der Begriff der Entropie zu erläutern brauchen wir erst mal einige Definitionen, z.b.

Eine verlustbehaftete Komprimierung ist es, wenn wir einige Kleidungsstücke zu

Referat zum Thema Huffman-Codes

Algorithmus zur komprimierten Übertragung von Textdaten an mobile Endgeräte

2. Digitale Codierung und Übertragung

Versuch 5: Filterentwurf

Versuch 3: Anwendungen der schnellen Fourier-Transformation (FFT)

2.7 Der Shannon-Fano-Elias Code

Arithmetisches Codieren

Seminar Kompressionsalgorithmen Huffman-Codierung, arithmetische Codierung

Der Rumpf. Titel Seite 3

(Bitte geben Sie bei der Beantwortung von Fragen eine Begründung bzw. bei der Lösung von Kurzaufgaben eine kurze Berechnung an!)

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

Digitale Signalverarbeitung sehen, hören und verstehen

Redundanz. Technische Informationsquelle Entropie und Redundanz Huffman Codierung. Martin Werner WS 09/10. Martin Werner, Dezember 09 1

Übung 1: Quellencodierung

Lösungsvorschlag 3. Übung Technische Grundlagen der Informatik II Sommersemester 2009

Übung zur Vorlesung. Informationstheorie und Codierung

Bilddatenformate BMP GIF JPG. Digitale Bildverarbeitung Liedtke 7.1. Bezeichnung: Microsoft Windows Bitmap, BMP, DIB

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung

Übung 13: Quellencodierung

Dynamisches Huffman-Verfahren

, 2016W Übungstermin: Fr.,

Einführung in die medizinische Bildverarbeitung WS 12/13

Mathematik für Information und Kommunikation

Microsoft Excel 2016 Relative und absolute Bezüge

Grundlegende Eigenschaften von Punktschätzern

Übungsaufgaben zum Kapitel Baumdiagramme - Bernoulli

Excel Grundlagen. Sabine Spieß, Peter Wies. 1. Ausgabe, September Trainermedienpaket EX2013_TMP

Konzepte der Informatik

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

Aufnahmeplanung. 1. Geben Sie im Bereich Objektgröße / Bildgröße die vor Ort gemessene Breite [m] und Höhe [m] Ihres Objektes ein.

Digitalisierung. analoges Signal PAM. Quantisierung

Digitales Video. Digitales Video

3.4.1 Anlegen zusätzlicher Worte

ondaf Der Online-Einstufungstest Deutsch als Fremdsprache

Messprotokoll: Aufnahme der Quantenzufallszahl

Fehlererkennung und Fehlerkorrektur in Codes

2. Digitale Codierung und Übertragung

Mathematik IV für Maschinenbau und Informatik (Stochastik) Universität Rostock, Institut für Mathematik Sommersemester 2007

Kapitel 3. Codierung von Text (ASCII-Code, Unicode)

Information und Codierung

Ü 419 a Absolute Bezüge

Excel Allgemeine Infos

10%, 7,57 kb 20%, 5,3 kb 30%, 4,33 kb 40%, 3,71 kb 50%, 3,34 kb. 60%, 2,97 kb 70%, 2,59 kb 80%, 2,15 kb 90%, 1,62 kb 99%, 1,09 kb

Excel Grundlagen. Sabine Spieß, Peter Wies. 1. Ausgabe, 7. Aktualisierung, Juli Trainermedienpaket EX2010_TMP

Codierungstheorie Teil 1: Fehlererkennung und -behebung

AudaPad Web 2.0 Kurzanleitung

Computerservice Ingrid Weigoldt

Multimediatechnik / Video

ondaf Der Online-Einstufungstest Deutsch als Fremdsprache

Statistische Kenngrößen. Histogramm. Grundlagen zur statistischen Signalverarbeitung. Statistische Beschreibung von Audio

Sie lieben das Zahlenrätsel Sudoku? Diese kostenlosen Programme helfen Ihnen dabei

Handbuch zum VivaWeb-Serienbrief-Programm

Verlustbehaftete Kompression. JPEG: Joint Photographic Experts Group

DS Teach-Programm Bedienungsanleitung. DST Version 2000/06 DS Keyboard Technic GmbH

Hinweise zum Programm Überprüfung des Betriebszustandes von Kläranlagen. Bitte prüfen Sie regelmäßig den aktuellen Stand der Software im Internet!

Lehrlings- und Fachausbildungsstelle. EDV-Prüfungsprogramm

1.4 Der Binomialtest. Die Hypothesen: H 0 : p p 0 gegen. gegen H 1 : p p 0. gegen H 1 : p > p 0

Handbuch DatInf Measure

AplusixEditor : Editor für Aplusix 3 Benutzerhandbuch

QSMpro In 3 Schritten zum Messbetrieb

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

Kodierungsalgorithmen

Erstellen und Verwalten von Karteikarten für imcards am iphone / ipod touch

FH München, FB 03 FA WS 06/07. Ingenieurinformatik. Name Vorname Matrikelnummer Sem.Gr.: Hörsaal Platz

Beschreibung: Erforderliches Programm: Excel (97)2000 bis 2007

Statistik für Ingenieure Vorlesung 2

Hilfe für die Internetbuchung

Schulungsunterlagen BayZeit Integriertes Zeitmanagement

Übungsaufgaben, Statistik 1

Digitaltechnik I WS 2006/2007. Klaus Kasper

Farbtiefe. Gängige Farbtiefen

Anleitung zum Applet

Word starten. Word Word 2010 starten. Schritt 1

Anleitung zum Java - Applet

Der Sudoku-Knacker. Vorwort 3. Allgemeine Sudoku-Regeln. 4. Das Duplex-Verfahren Das Zwillings-Duplexpaar... 15

Projekte verwalten Projekte bieten in Synago eine Möglichkeit, Freizeiten Einladungsaktionen oder Rundbriefe zu organisieren. So funktioniert es

Netzlaufwerk-Verbindung auf den Server se-1ug w2k.makro.privat. im Computerraum für die Daten der Chemikaliendatenbank

Dokumentation. estat Version 2.0

Zahlensysteme: Oktal- und Hexadezimalsystem

Thema: Excel-Grundlagen

Messwertmonitor Funktionsbeschreibung UMG 96RM-E Artikel-Nr.:

3 Quellencodierung. 3.1 Einleitung

3. Datentypen, Ausdrücke und Operatoren

Modul 5 Access Syll. 5.0

Codierungstheorie Rudolf Scharlau, SoSe

ClassPad- Workshop Wahrscheinlichkeit. Merkblatt zu Wahrscheinlichkeiten mit dem ClassPad

Gruppe. Lineare Block-Codes

Zunächst müssen wir einige Überlegungen anstellen bevor wir mit der eigentlichen Arbeit beginnen.

JPEG, MPEG & Co. Alex Titze Angewandte Informatik FHTW-Berlin

Anleitung zum Umgang:

Transkript:

Optimalcodierung Ziele Diese rechnerischen und experimentellen Übungen dienen der Vertiefung der Kenntnisse im Bereich der Optimalcodierung, mit der die Zeichen diskreter Quellen codiert werden können. Dabei wird zunächst die Codierung der Buchstaben eines Textes betrachtet. Anschließend wird eine Möglichkeit zur Codierung der in einem Bild enthaltenen Information vorgestellt. Dabei wird ein Schwarz-/Weißbild mit Hilfe einer modifizierten Lauflängencodierung codiert. Den Abschluss bildet eine Übungsaufgabe, die die Möglichkeit der effizienten Codierung eines S-/W-Bildes aufzeigt, wenn statistische Abhängigkeiten bei der Aufeinanderfolge von Bildpunkten vorhanden sind. Übungsaufgabe 1 Der nachstehende Satz soll mit Hilfe einer Optimalcodierung der einzelnen Zeichen codiert werden. FISCHERS FRITZE FISCHT FRISCHE FISCHE Dabei werden Leerstellen ignoriert und nicht codiert. SCH wird als ein Zeichen codiert. a) Wie viele Bits werden zur Codierung des Satzes benötigt, wenn jedes Zeichen (ähnlich wie beim ASCII Code) mit 7 Bit codiert wird? b) Ermitteln Sie die Häufigkeiten, mit denen die Zeichen in diesem Satz auftreten. Geben Sie, ausgehend von den ermittelten Häufigkeiten, die Wahrscheinlichkeiten an, mit denen die Zeichen in diesem Text auftreten. c) Bestimmen Sie unter Berücksichtigung der Auftrittswahrscheinlichkeiten der Zeichen in diesem Satz einen Optimalcode nach Fano zur Codierung der Zeichen. d) Wie viele Bits werden zur Codierung des Satzes mit Hilfe des Fano Codes benötigt? e) Bestimmen Sie alternativ einen Huffman Code zur Codierung der Zeichen. f) Wie viele Bits werden zur Codierung des Satzes mit Hilfe des Huffman Codes benötigt? Experimentelle Aufgabe 1 Zur Überprüfung der in der vorherigen Aufgabe von Ihnen bestimmten Codes steht eine graphische Oberfläche zur Codierung von Texten zur Verfügung, die Sie unter dem Auswahlmenü zur Optimalcodierung finden. H. Günter Hirsch Version: pa1 Seite 1 (6)

Geben Sie den zu codierenden Satz in dem Feld zur Texteingabe ein. Anschließend können Sie sich die Auftrittswahrscheinlichkeiten der einzelnen Zeichen durch Anklicken des zugehörigen Felds bestimmen lassen. Um die Codierung von SCH als ein Zeichen zu erreichen, gibt es ein Kombinations -Feld, in das Sie die als ein Zeichen zu codierende Zeichenfolge eingeben können. Aktualisieren Sie die Auftrittswahrscheinlichkeiten! In der rechten Spalte der Tabelle können Sie nacheinander die in der vorherigen Aufgabe bestimmten Codes eingeben. Nach der Eingabe aller Codewörter erfolgt eine Überprüfung, ob es sich um einen eindeutig decodierbaren Code handelt. Sollte der Code nicht eindeutig decodierbar sein, werden die fehlerhaften Codewörter mit roten Schriftzeichen dargestellt. Des Weiteren wird Ihnen die Bitanzahl angezeigt, die bei Einsatz Ihres Codes benötigt wird. Sie können diese mit den Angaben einer rechnerbasierten Bestimmung eines Fano und eines Huffmann Codes vergleichen. Experimentelle Aufgabe 2 Es wird die Codierung eines Schwarz-/Weißbildes mit einer Lauflängencodierung betrachtet. Dazu steht die graphische Oberfläche Codierung von Bildern zur Verfügung, die Sie unter dem Auswahlmenü zur Optimalcodierung finden. Über die Menüleiste ( Bild und laden ) kann ein Bildsignal geladen werden, das in Fenster 1 dargestellt wird. Dabei können Bilder geladen werden, die im JPEG (joint photographic experts group) oder im BMP (bitmap) Format zur Verfügung stehen. Laden Sie das Bild mit der Bezeichnung text.bmp, das einen kleinen Ausschnitt einer eingescannten Textvorlage beinhaltet. Aus wie vielen Zeilen besteht das Bild: Aus wie vielen Spalten besteht das Bild: Wie viele Bits werden zur Codierung des Bildes benötigt, wenn für jeden Bildpunkt nur eine Schwarz-/Weißcodierung vorgenommen wird und am Ende jeder Zeile ein 10 Bit Synchronisationscode angefügt wird: Bits Nach dem Laden des Bilds wählen Sie als Modus der Codierung über das zugehörige Auswahlmenü die Lauflängencodierung aus. Die Lauflängencodierung kann nur auf Schwarz-/Weiß codierte Bildvorlagen angewendet werden, wie es beispielsweise bei Faksimile Diensten der Fall ist. Wenden Sie die Lauflängencodierung auf ein Farbbild oder ein grauwert-skaliertes Bild an, so wird dieses zuvor in ein Schwarz-/Weißbild konvertiert. H. Günter Hirsch Version: pa1 Seite 2 (6)

Nach Auswahl des Codiermodus erscheint in Fenster 2 bei Auswahl der Lauflängencodierung das Schwarz-/Weißbild, so dass die Bilder in den Fenstern 1 und 2 identisch sind, wenn sie zuvor ein Schwarz-/Weißbild geladen haben. Sollten Sie kein Schwarz-/Weißbild geladen haben, so sehen Sie in Fenster 1 weiterhin das Originalbild und in Fenster 2 das daraus ermittelte Schwarz-/Weißbild. Nach Auswahl des Codiermodus erscheint weiterhin eine Tabelle mit 8 Lauflängen. Die aus der jeweiligen Bildvorlage ermittelten Auftrittshäufigkeiten der Lauflängen werden Ihnen in der mittleren Spalte der Tabelle angezeigt. Bestimmen Sie aus den absoluten Auftrittshäufigkeiten die relativen Auftrittswahrscheinlichkeiten der einzelnen Lauflängen in dieser Bildvorlage. Lauflänge 1 2 3 4 5 6 7 8 Häufigkeit Wahrscheinlichkeit Berechnen Sie die aus den Auftrittswahrscheinlichkeiten der Lauflängen resultierende Entropie: H(X) = Bit/Lauflänge Bestimmen Sie einen Optimalcode nach Fano für die 8 Lauflängen. Dazu können Sie die nachstehende Tabelle verwenden. Tragen Sie die Lauflängen, sortiert nach ihren Auftrittswahrscheinlichkeiten (gemäß der Vorschrift zur Bestimmung des Fano Codes), in die Tabelle ein. Lauflänge p(x i ) p(x i ) Codewort Wortlänge w i p(x i )w i H. Günter Hirsch Version: pa1 Seite 3 (6)

Zeichnen Sie nachstehend den vollständigen Entscheidungsbaum, mit dem Sie feststellen können, ob der Code eindeutig decodierbar ist: Die von Ihnen bestimmten Codes können Sie nun in der graphischen Oberfläche in der rechten Spalte der Tabelle eingegeben. Nach Eingabe aller Codewörter wird das rechts neben der Tabelle vorhandene Feld zur Codierung aktiv. Zudem erscheint darunter ein freundlicher oder ein böser Smiley, der Sie darauf hinweist, ob der von Ihnen eingegebene Code eindeutig decodierbar ist oder nicht. Damit erhalten Sie allerdings keine Information, ob der Code wirklich optimal ist. Durch Anklicken des Codierungs -Feldes kann die eigentliche Codierung vorgenommen werden. Bei Auswahl der Lauflängencodierung erscheint in Fenster 1 das Schwarz-/Weißbild und in Fenster 2 das codierte Bild, was im Falle eines eindeutig decodierbaren Codes mit dem Bild in Fenster 1 identisch sein sollte. Berechnen Sie für den von Ihnen bestimmten Code die daraus resultierende mittlere Wortlänge: L = Bit/Lauflänge Welche Code-Redundanz folgt daraus: c r = % Zur praktischen Realisierung der Codierung wird die übliche Lauflängencodierung etwas modifiziert. Eigentlich müssten Lauflängen von einem Bildpunkt bis zur entsprechenden H. Günter Hirsch Version: pa1 Seite 4 (6)

maximalen Anzahl von Bildpunkten je Zeile codiert werden. Dabei würde allerdings eine große Anzahl von Lauflängen und Codewörtern auftreten. Daher wird in dieser Oberfläche die Betrachtung auf Lauflängen zwischen 1 und 8 Bildpunkten beschränkt. Ein Problem tritt auf, wenn 8 oder mehr gleichfarbige Bildpunkte auftreten. Üblicherweise wechselt von einer Lauflänge zur nächsten die Farbe von weiß auf schwarz oder umgekehrt. Im Fall von genau 8 gleichfarbigen Bildpunkten wäre dies auch der Fall. Sind es jedoch mehr als 8 gleichfarbige Bildpunkte, so sollte sich die Farbe der nächsten Lauflänge nicht ändern. Daher wird im Fall einer Lauflänge der Länge 8 nach dem Codewort der Lauflänge 8 ein weiteres Bit übertragen oder gespeichert, mit dem die Farbe der darauffolgenden Lauflänge festgelegt wird. Dies wird im nachstehenden Bild veranschaulicht, in dem die Codierung der Lauflängen einer Zeile veranschaulicht wird. Zu Beginn jeder Zeile wird ein Bit benötigt, mit dem festgelegt wird, ob die erste Lauflänge einen Block von weißen oder einen Block von schwarzen Bildpunkten definiert. Am Ende jeder Zeile werden 10 Bit zur Zeilensynchronisation übertragen. w/s 1. Bit 1.Lauflängencode Code der Lauflänge 8 w/s 10 Bit Zeilensynch. zusätzliches Bit Berechnen Sie die Anzahl der Bits, die zur modifizierten Lauflängencodierung dieser Bildvorlage gemäß dem von Ihnen festgelegtem Code unter Berücksichtigung der zur Festlegung der Farbe der ersten Lauflänge einer jeden Zeile und der zur Zeilensynchronisation am Ende jeder Zeile und der zur Festlegung der Farbe der nachfolgenden Lauflänge im Fall des Auftretens eines Blocks mit mindestens 8 gleichfarbigen Bildpunkten erforderlichen Bits insgesamt benötigt werden: Bits Wie viele Bits lassen sich bei Einsatz dieser Form der Codierung im Vergleich zur Codierung der einzelnen Bildpunkte, für die die Bitanzahl zu Beginn berechnet wurde, einsparen: Bits Untersuchen Sie abschließend die Auswirkungen eines nicht eindeutig decodierbaren Codes, in dem Sie kontrolliert Fehler bei der Codierung einbringen. Dabei kann die Codierung und Decodierung in diesem Fall einiges an Rechenzeit in Anspruch nehmen. Seien Sie daher in diesem Fall etwas geduldig und klicken Sie das Codierungsfeld nicht mehrfach an! Am Aussehen des Codierungsfelds können Sie erkennen, ob der Rechner noch mit der Codierung beschäftigt ist oder nicht. H. Günter Hirsch Version: pa1 Seite 5 (6)

Übungsaufgabe 2 Ein Schwarz/Weißbild besteht aus 640 mal 480 Bildpunkten. a) Wie groß ist der Entscheidungsgehalt H 0 zur Codierung eines einzelnen Bildpunkts? b) Wie viele Bits werden zur Codierung des Bildes benötigt? Welchen Speicherbedarf (in Byte) benötigt man zur Speicherung des Bildes auf einem PC? Bei einer statistischen Analyse des Bildes ermittelt man die Auftrittswahrscheinlichkeit p(s) der schwarzen Bildpunkte zu p(s) = 0,2. c) Mit welcher Wahrscheinlichkeit p(w) treten die weißen Bildpunkte auf? d) Wie groß ist die Entropie H ( X )? Wie groß ist die daraus resultierende relative Redundanz? Wie viele Bytes könnte man theoretisch bei der Speicherung des Bildes einsparen? Im Folgenden wird die Codierung von Bildpunktpaaren betrachtet. Dabei wird zunächst eine statistische Unabhängigkeit aufeinanderfolgender Bildpunkte angenommen. e) Berechnen Sie die Matrix der Auftrittswahrscheinlichkeiten der Bildpunktpaare. f) Bestimmen Sie einen Optimalcode nach Huffmann zur Codierung der Bildpunktpaare. Welche mittlere Wortlänge je Bildpunkt stellt sich dabei ein? Berechnen Sie die Code-Redundanz. Bei einer statistischen Analyse aufeinanderfolgender Bildpunkte wird die nachstehende, unvollständige Matrix der Übergangswahrscheinlichkeiten ermittelt: [ p( y x )] j i = x i y j w s w 0,9 0,4 s...... g) Bestimmen Sie die fehlenden Übergangswahrscheinlichkeiten. h) Berechnen Sie die Auftrittswahrscheinlichkeiten der Bildpunktpaare. i) Berechnen Sie die bedingte Entropie H ( Y X )? j) Berechnen Sie zur Codierung von Blöcken, die drei aufeinanderfolgende Bildpunkte beinhalten, die Wahrscheinlichkeiten des Auftretens aller möglichen Blöcke. k) Bestimmen Sie einen Huffman Code zur Codierung der Blöcke. Welche mittlere Wortlänge je Bildpunkt ergibt sich dabei? Wie viele Bytes werden bei Verwendung des Huffman Codes zur Speicherung des Bildes benötigt? H. Günter Hirsch Version: pa1 Seite 6 (6)