Run Length Coding und Variable Length Coding

Ähnliche Dokumente
15 Optimales Kodieren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Eigene Dokumente, Fotos, Bilder etc. sichern

Professionelle Seminare im Bereich MS-Office

Theoretische Informatik SS 04 Übung 1

1 Mathematische Grundlagen

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

A1.7: Entropie natürlicher Texte

Programmiersprachen und Übersetzer

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Zulassung nach MID (Measurement Instruments Directive)

Kurzanleitung MAN E-Learning (WBT)

2. Negative Dualzahlen darstellen

Paper Computer Science Experiment

Anwendungsbeispiele Buchhaltung

Leichte-Sprache-Bilder

Primzahlen und RSA-Verschlüsselung

Grundbegriffe der Informatik

trivum Multiroom System Konfigurations- Anleitung Erstellen eines RS232 Protokolls am Bespiel eines Marantz SR7005

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

DEUTSCHE GESELLSCHAFT FÜR ZERSTÖRUNGSFREIE PRÜFUNG E.V.

Lehrer: Einschreibemethoden

1. Woche Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes

Zeichen bei Zahlen entschlüsseln

Wurzeln als Potenzen mit gebrochenen Exponenten. Vorkurs, Mathematik

Grundlagen der Theoretischen Informatik, SoSe 2008

Datenaufbereitung in SPSS. Daten zusammenfügen

Grundlagen der Informatik

Artikel Schnittstelle über CSV

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

7 Rechnen mit Polynomen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Erstellen eines Screenshot

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Anleitung über den Umgang mit Schildern

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Registrierung Ihres Fachbesucher Tickets

Widerrufsbelehrung der Free-Linked GmbH. Stand: Juni 2014

Inhaltsverzeichnis. 1. Empfängerübersicht / Empfänger hinzufügen 2. Erstellen eines neuen Newsletters / Mailings 3. Versand eines Newsletters

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

Quick Guide Mitglieder

Theoretische Grundlagen der Informatik WS 09/10

Tipps zur Nutzung der ViT 1 Lernen ViT Üben HAU ViT ViT ViT ViT ViT Testen ViT VORSC Bewerten RAGTIME ViT zur Vollversion ViT

Deutsches Rotes Kreuz. Kopfschmerztagebuch von:

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager

CODIERUNGSTHEORIE KURS ZELL AN DER PRAM, FEBRUAR 2005

Die Bundes-Zentrale für politische Bildung stellt sich vor

RFID Lösungen Fragebogen über Ihr RFID Projekt

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

Die Post hat eine Umfrage gemacht

Software- und Druckerzuweisung Selbstlernmaterialien

HIER GEHT ES UM IHR GUTES GELD ZINSRECHNUNG IM UNTERNEHMEN

teischl.com Software Design & Services e.u. office@teischl.com

Binärdarstellung von Fliesskommazahlen

Spiel und Spaß im Freien. Arbeitsblat. Arbeitsblatt 1. Zeichnung: Gisela Specht. Diese Vorlage darf für den Unterricht fotokopiert werden.

Jetzt neu: Online Reporting Schritt für Schritt durch das Online Reporting (OLR) Online Liedmeldung

Kurzanleitung Verwendung von USB-Sticks

my.ohm Content Services Autorenansicht Rechte

Aufgabe 6 Excel 2013 (Fortgeschrittene) Musterlösung

Elexis-BlueEvidence-Connector

Webalizer HOWTO. Stand:

DNotI. Fax - Abfrage. GrEStG 1 Abs. 3 Anteilsvereinigung bei Treuhandverhältnissen. I. Sachverhalt:

BERECHNUNG DER FRIST ZUR STELLUNGNAHME DES BETRIEBSRATES BEI KÜNDIGUNG

Datensicherung. Beschreibung der Datensicherung

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 1. Semester ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E

Rundung und Casting von Zahlen

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

1. Weniger Steuern zahlen

Updatehinweise für die Version forma 5.5.5

Informationsblatt Induktionsbeweis

Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009)

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

Hinweise für die Online- Dienste der Studierenden

Die Lernumgebung des Projekts Informationskompetenz

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

Zwischenablage (Bilder, Texte,...)

Backup Premium Kurzleitfaden

Online Newsletter III

Schnittstelle DIGI-Zeiterfassung

! " # $ " % & Nicki Wruck worldwidewruck

Gussnummern-Lesesystem

ACHTUNG: Es können gpx-dateien und mit dem GP7 aufgezeichnete trc-dateien umgewandelt werden.

Hardware - Software - Net zwerke

e LEARNING Kurz-Anleitung zum Erstellen eines Wikis 1. Wiki erstellen

How-to: Webserver NAT. Securepoint Security System Version 2007nx

.procmailrc HOWTO. zur Mailfilterung und Verteilung. Stand:

Mind Mapping am PC. für Präsentationen, Vorträge, Selbstmanagement. von Isolde Kommer, Helmut Reinke. 1. Auflage. Hanser München 1999

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

Tevalo Handbuch v 1.1 vom

Orientierungstest für angehende Industriemeister. Vorbereitungskurs Mathematik

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Die Rückgabe kann über folgende, von uns getestete Programme / Apps vorgenommen werden: Adobe Digital Editions Sony Reader for PC Bluefire Reader

Internet Explorer Version 6

Grammatiken. Einführung

V 2 B, C, D Drinks. Möglicher Lösungsweg a) Gleichungssystem: 300x y = x + 500y = 597,5 2x3 Matrix: Energydrink 0,7 Mineralwasser 0,775,

DAUERHAFTE ÄNDERUNG VON SCHRIFTART, SCHRIFTGRÖßE

Was meinen die Leute eigentlich mit: Grexit?

Transkript:

Fachbereich Medieninformatik Hochschule Harz Run Length Coding und Variable Length Coding Referat Matthias Zittlau 11034 Abgabe: 15.01.2007

Inhaltsverzeichnis 1. RLC...1 2.1 Einführung...1 2.2 Prinzip...1 2.3 Effektivität...2 2.3 Anwendung...2 2. VLC...3 2.1 Einführung...3 2.2 Prinzip...3 2.3 Effektivität...4 2.3 Anwendung...4 3. Quellen 3.1 Literaturverzeichnis...5 3.2 Internetquellen...5 3.3 Bildquellen...5

1. RLC (Run Length Coding) - Lauflängenkodierung 1.1 Einführung: RLC zählt zu einem der einfachsten Verfahren Daten zu komprimieren und stellt nur geringe Anforderungen an die Hard- und Software. Dieses Verfahren komprimiert den einfachsten Typ einer Redundanz in einer Datei, die langen, sich wiederholenden Folgen von gleichen Zeichen, Läufe bzw. runs genannt. RLC existiert in verschiedenen Ausprägungen. Um das Prinzip des RLC zu verdeutlichen und einige Probleme aufzuzeigen, wird nachfolgend eine Beispiel-Zeichenfolge kodiert. 1.2 Prinzip: Das Grundprinzip des RLC: Durch das Ersetzen von mehreren gleichen, aufeinander folgenden Zeichen mit dem einzelnen Zeichen und der Angabe der Anzahl wird die anfallende Datenmenge reduziert, ohne das Informationsgehalt verloren geht. Beispiel-Zeichenfolge (Beispiel von [4]): AAABBBAACCCCAAADEEEF5AAA#BBBB 3ABBBAACCCCAAADEEEF5AAA#BBBB 3A3BAACCCCAAADEEEF5AAA#BBBB 3A3B2ACCCCAAADEEEF5AAA#BBBB 3A3B2A4CAAADEEEF5AAA#BBBB 3A3B2A4C3ADEEEF5AAA#BBBB 3A3B2A4C3A1DEEEF5AAA#BBBB Hier wird das erste Problem deutlich. Ein einzelnes Zeichen verlängert durch dieses Verfahren die Zeichenkette. Lösung: Einzelne Zeichen müssen ohne Angabe der Anzahl kodiert werden. 3A3B2A4C3ADEEEF5AAA#BBBB 3A3B2A4C3AD3EF5AAA#BBBB 3A3B2A4C3AD3EF5AAA#BBBB 3A3B2A4C3AD3EF5AAA#BBBB Ein weiteres Problem tritt auf falls, das Symbol, das in unserem Code die Zeichenanzahl beschreibt, selbst in der Zeichenkette vor kommt. Lösung: Vor jeder Angabe der Anzahl wird ein Escape Zeichen eingesetzt (als Escape Zeichen wird das am unwahrscheinlichsten bzw. seltenste auftretende Zeichen gewählt). #3A#3B#2A#4C#3AD#3EF#5AAA#BBBB #3A#3B#2A#4C#3AD#3EF#53A#BBBB #3A#3B#2A#4C#3AD#3EF53A#BBBB Das nächste Problem könnte auftreten, falls das Escape Zeichen selbst in der zu kodierenden Zeichenkette auftritt. Lösung: Ein Escape Zeichen wird zu 2 Escape Zeichen kodiert. #3A#3B#2A#4C#3AD#3EF53A##BBBB #3A#3B#2A#4C#3AD#3EF53A###4B Seite: 1

RLC Code: #3A#3B#2A#4C#3AD#3EF53A###4B Zusammengefasst ergibt sich folgendes Prinzip: Mehrere aufeinander folgende, gleiche Zeichen werden durch das einzelne Zeichen ersetzt und mit einer Angabe der Anzahl versehen, vor die ein Escape Zeichen eingefügt wird. Falls das Escape Zeichen in der Zeichenkette selbst vorkommt, wird es ebenfalls mit einen Escape Zeichen versehen und einzelne Zeichen werden unverändert übernommen. 1.3 Effektivität: Dieses Verfahren hat nur eine positive Auswirkung, wenn mindestens vier aufeinander folgende Zeichen auftreten. Bei einem bzw. drei aufeinander folgenden Zeichen entsteht keine Kompression. Eine Folge von 2 gleichen Zeichen bzw. ein Escape Zeichen bewirkt eine Verlängerung der Zeichenkette. 1.4 Anwendung: Zur Anwendung kommt RLC meist bei einfachen Grafi ken, die einen hohen Anteil von gleichfarbigen Flächen aufweisen. RLC ist unter anderem Bestandteil von BMP, TIFF und PCX-Unterformaten. In der MPEG-Kodierung wird RLC nach der DCT (Diskrete Cosinus Transformation) angewandt, um die ermittelten Koeffi zienten zu komprimieren. Seite: 2

2. VLC (Variable Length Coding) Kodierung mit variabler Länge 2.1 Einführung: Bei konventionellen Codes werden für alle Zeichen bzw. Symbole eine einheitliche Länge verwendet, unerheblich in welcher Häufi gkeit sie auftreten. Somit benötigen häufi g auftretende Zeichen dieselbe Codelänge, wie selten auftretende. Bei einer Kodierung mit variabler Länge wird die Häufi gkeit der zu kodierenden Zeichen berücksichtigt und ermöglicht so eine beträchtliche Platzeinsparung. Um dies zu verdeutlichen wird auch hier wieder eine Beispiel-Zeichenfolge mit dem Prinzip des VLC kodiert. 2.2 Prinzip: Das VLC Verfahren kodiert die Zeichen mit möglichst geringer Anzahl Bits, welche am häufi gsten vorkommen. Selten auftretende Zeichen werden mit mehr Bits kodiert. Beispiel-Zeichenfolge (Beispiel von [3]): ABRACADABRA Binärdarstellung mit Hilfe von fünf Bits würde folgende Kodierung ergeben: 0000100010100100000100011000010010000001000101001000001 00001 = A 00010 = B 10010 = R 00011 = C 00100 = D Es wird deutlich das alle Buchstaben die gleiche Anzahl Bits benötigen, unerheblich in welcher Häufi gkeit sie auftreten. Bei einem Code mit variabler Länge wird dem am häufi gsten verwendeten Buchstaben die kürzesten Bitfolgen zugewiesen. In unserm Beispiel würde idealer Weise A mit 0 kodiert, B mit 1, R mit 01, C mit 10 und D mit 11. ABRACADABRA kodiert mit unserem VLC Beispiel wäre dann: 010101001101010 VLC hat die Zeichenfolge in den möglichst kürzesten Code kodiert. Das Problem bei diesem Code ist aber das er nicht mehr eindeutig dekodiert werden kann, so kann 01 als AB aber auch als R interpretiert werden. Um dieses Problem zu beheben müssten Begrenzungszeichen nach jedem kodierten Zeichen eingefügt werden. 0#1#01#0#10#0#11#0#1#01#0 Dies verlängert den Code natürlich wieder erheblich, dennoch ist der Code kürzer als der oben dargestellte fünf Bit Binärcode. Die Problematik mit den Begrenzungszeichen kann nur umgangen werden wenn sichergestellt ist das kein Anfang eines Zeichencodes als selbstständiger Zeichencode verfügbar ist. Wenn wir dieses Kriterium beachten könnte A mit 11, B mit 00, C mit 010, D mit 10 und R mit 011 kodiert werden um die folgende Zeichenfolge nur noch eindeutig dekodieren zu können. 1100011110101110110001111 Mit Hilfe des folgenden Codebaumes können wir sehen das kein Anfang unserer Zeichencodes übereinstimmt und wir können garantieren, dass unser Code auch nur eindeutig dekodiert werden kann. Seite: 3

Abb.1 binärer Codebaum (nach [3]) Der Codebaum wird, wie folgt, gelesen. Man beginnt an der Wurzel (es wird nur abwärts gelesen), jeder Schritt nach links steht für die 0 jeder Schritt nach rechts für die 1. Hat man einen Endpunkt erreicht beginnt man erneut bei der Wurzel. 2.3 Effektivität: Ein Code mit variabler Länge ist am effi zientesten wenn keine Trennungszeichen benötigt werden und wenn es ein präfi xfreier Code ist (Präfi x = Vorsilbe). 2.4 Anwendung: Codes mit variabler Länge sind zum Beispiel die arithmetische Kodierung, die Huffman-Kodierung oder die Shannon- Fano-Kodierung. Mit Hilfe einer VLC-Kodierung wird bei der MPEG-Kodierung nach dem RLC nochmal eine Datenkomprimierung erreicht.

3. Quellen 3.1 Literaturverzeichnis: [1] Bruns, Prof. Dr. Kai 2005: Taschenbuch der Medieninformatik: Carl Hanser Verlag Münschen Wien [2] Strutz, Tilo 2002: Bilddatenkompression: Friedr. Vieweg & Sohn Verlagsgesellschaft mbh, Braunschweig/Wiesbaden 3.2 Internetquellen: [3] www.informatik.uni-leipzig.de/lehre/heyer0001/ad2-vorl11.ppt (10.01.07) [4] www.gloegl.de/fi les/datenkomp.ppt (27.11.06) 3.3 Bildquellen: Seite 4 Abb.1 binärer Codebaum (nach [3]) Seite: 5