Bit wisem 2015-wieners-sitzung-12_Zusammenfassung I
SoSe 2013 | Basisinformationstechnologie II - 04_Algorithmen der Bildverarbeitung: Kompression
1. Universität zu Köln. Historisch-Kulturwissenschaftliche Informationsverarbeitung
Jan G. Wieners // jan.wieners@uni-koeln.de
Basisinformationstechnologie I
Sommersemester 2013
08. Mai 2013 – Algorithmen der Bildverarbeitung I: Kompression
7. Additive Farbmischung
Mischung (Addition) von Licht Beispiel Taschenlampe: Leuchten mehrere
Taschenlampen auf dieselbe Stelle, wird jene Stelle heller beleuchtet, als
würde sie nur von einer Taschenlampe angestrahlt.
Werden rote und grüne Filter vor die Taschenlampe gesetzt, addiert sich das
Licht.
11. RGB: Wenn jede der drei Primärfarben mit
einer Auflösung von 256 Werten dargestellt
werden kann, dann erhalten wir 256³ = 16,7
Mio. verschiedene Farbtöne.
HSV:
Farbwinkel, Sätti
gung, Hellwert
bzw. absolute
Helligkeit
(B), Brightness
Farbmodelle
L*a*b*: Menschl.
Wahrnehmung
18. Die Auflösung bestimmt die Anzahl der Pixel in
einem Bild, die Quantisierung (Farbtiefe) bestimmt
den Speicherplatzbedarf pro Pixel.
Beispiele:
In einem RGB-Bild mit 24 Bit Farbtiefe (8 Bit pro
Farbkanal) braucht man für ein Bild mit den Maßen
1024x768 (786.432 Pixel) also 18.874.368 Bit, d.h. 2.25
Mbyte.
Für ein Graustufenbild mit den gleichen Abmessungen
benötigt man „nur“ 0.75 MByte, da nur ein Farbkanal mit
8 Bit (statt 3 Kanälen: RGB!) gespeichert werden muss.
Rastergrafiken und ihr Speicherplatzbedarf
23. Neulich beim Obsthändler…
„Ich hätte gerne
◦ Eine Kiwi
◦ Eine Birne
◦ Eine Birne
◦ Eine Birne
◦ Einen Apfel
◦ Einen Apfel
◦ Einen Apfel
◦ Einen Apfel
◦ Einen Apfel
◦ Eine Pampelmuse
◦ Eine Pampelmuse
◦ Eine Zitrone
◦ Eine Limette
◦ Eine Limette“
24. Neulich beim Obsthändler…
„Ich hätte gerne
◦ Eine Kiwi
◦ Drei Birnen
◦ Fünf Äpfel
◦ Zwei Pampelmusen
◦ Eine Zitrone
◦ Zwei Limetten“
25. Neulich beim Obsthändler…
„Ich hätte gerne
◦ Eine Kiwi
◦ Drei Birnen
◦ Fünf Äpfel
◦ Zwei Pampelmusen
◦ Eine Zitrone
◦ Zwei Limetten“
Lauflängencodierung / Run-Length-Encoding (RLE):
(1 Kiwi) (3 Birnen) (5 Äpfel) (2 Pampelmusen)
(1 Zitrone) (2 Limetten)
31. 1978 von A. Lempel und J. Ziv
entwickelt, 1984 von T. A. Welch
verfeinert
Verlustfrei
Versucht, den zu komprimierenden
Zeichenstrom in Teilstrings zu
zerlegen und diese in einem
Wörterbuch zu speichern
LZW (Lempel-Ziv-Welch)
Zeichenkette:
„Hello World Hello“
Tabelle:
0: „Hello“
1: „World“
Codefolge: 0 1 0
33. Der Kodierer beginnt mit der Initialisierung des Wörterbuches
durch z.B. alle Symbole des Alphabets. Bei herkömmlichen 8 Bit
pro Zeichen ist das Wörterbuch z.B. zunächst 256 (28) Einträge
lang.
Anschließend liest der Kodierer den Zeichenstrom der zu
komprimierenden Datei Zeichen für Zeichen ein und akkumuliert
die eingelesenen Zeichen im String I.
Der so entstandene String I wird im Wörterbuch gesucht. Das
nächste (erste) eingelesene Zeichen x wird im Wörterbuch
gefunden.
Solange I im Wörterbuch gefunden wird, wird das nächste
Zeichen eingelesen und an den String angehängt. I = Ix
Wird der String Ix im Wörterbuch nicht gefunden,
gibt der Kodierer den Zeiger von I auf das Wörterbuch aus,
schreibt den String Ix an die nächste freie Stelle im Wörterbuch und
initialisiert den String I auf das zuletzt eingelesene Zeichen x.
LZW – Kodierer
34. Der Dekodierer beginnt mit der Initialisierung des
Wörterbuches durch z.B. alle Symbole des Alphabets.
Anschließend liest der Dekodierer den Zeichenstrom
der zu dekomprimierenden Datei Zeichen für Zeichen
ein. Die Zeichen sind die Wörterbuch-Zeiger.
Die eingelesenen Zeiger werden benutzt, um aus dem
Wörterbuch die unkomprimierten Zeichen bzw. Strings
auszulesen.
Der Dekodierer bildet gleichzeitig das Wörterbuch in
derselben Weise wie der Kodierer. Man bezeichnet
Kodierer und Dekodierer als synchronisiert.
LZW - Dekodierer
35. LZW – Ein Beispiel
vgl. http://projects.hudecof.net/diplomovka/online/ucebnica/applets/AppletLZW.html
58. 1952 von David A. Huffman (1925-1999) vorgestellt
Verlustfrei
Kompression über Binärbaum
Huffman-Algorithmus verfolgt das Ziel, weniger
häufigen Symbolen längere Codewörter zuzuweisen
Huffman Kodierung
Nachruf: http://www1.ucsc.edu/currents/99-00/10-11/huffman.html
59. Ein Binärbaum ist definiert als ein Baum, dessen
Knoten über maximal zwei Kindknoten verfügen
dürfen:
Erinnerung: Binärbäume
88. Aufgabe 1
Nennen und erläutern Sie jeweils ein additives und ein subtraktives Farbmodell.
Aufgabe 2
Erläutern Sie das Prinzip der RLE-Kompression und komprimieren Sie die
Zeichenkette
1100000011110011110000000011
unter Verwendung der Lauflängenkodierung. Treffen Sie eine Aussage über die
Effektivität der Kompression.
Aufgabe 3
Stellen Sie die einzelnen Arbeitsschritte der Huffman Codierung (Bestimmung der
Symbolhäufigkeit, etc.) vor und komprimieren Sie die folgende Zeichenkette unter
Verwendung der Huffman-Codierung:
„im potsdamer boxclub boxt der potsdamer postbusboss.“
(ohne Anführungszeichen, Leer- und Sonderzeichen nicht vergessen!)
Geben Sie bei Ihrere Lösung der Hausaufgabe auch die Codierung der
Eingabezeichenkette an.
Um den Arbeitsaufwand zu reduzieren, können Sie gerne eine Fotographie / Scan
ihrer Lösung senden.
Hausaufgaben