SlideShare une entreprise Scribd logo
1  sur  88
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
Grillen & Co. am Aachener Weiher: Fr., 31.05.2013, ~16:00 Uhr
 http://www.hki.uni-koeln.de/aktuelles/chillen-und-grillen
Grundbegriffe:
 Farbmischung: Additiv, Subtraktiv
 Raster- vs. Vektorgrafik
 Pixel
 Auflösung
 Farbtiefe
Kompressionsverfahren
 Nicht verlustbehaftet
 Run Length Encoding (RLE)
 Wörterbuch-Algorithmen, z.B. Lempel-Ziv-Welsh (LZW)
 Verlustbehaftet
Themenüberblick
http://www.graffitiresearchlab.de
http://www.graffitiresearchlab.de
Faktoren der Farbentstehung
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.
Subtraktive Farbmischung
Z.B.: Mischung von Farbpigmenten  Malen mit Deckfarbkasten
Farbmodelle
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
Grafiktypen: Raster- vs. VektorgrafikRaster- vs. Vektorgrafik
Grafiktypen: Raster- vs. VektorgrafikRaster- vs. Vektorgrafik
Grafiktypen: Raster- vs. VektorgrafikRaster- vs. Vektorgrafik
Quantisierung:
8 Bit RGB
rgb(120, 70, 63)
Auflösung
1936 Pixel
2592 Pixel
Gesamtzahl der Bildpunkte eines Bildes, z.B. 2592px * 1936px = ~ 5 Mio. Pixel
http://www.clker.com/clipart-cartoon-squirrel.html
Kompression
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
 RLE – Run Length Encoding (Lauflängenkodierung)
 Wörterbuchbasierte Kompressionsmethoden
 Lempel-Ziv-Welch (LZW)
 Statistische Kompressionsmethoden
 Huffman-Algorithmus
Ansätze zur Datenkompression
Lauflängenkodierung
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“
Neulich beim Obsthändler…
„Ich hätte gerne
◦ Eine Kiwi
◦ Drei Birnen
◦ Fünf Äpfel
◦ Zwei Pampelmusen
◦ Eine Zitrone
◦ Zwei Limetten“
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)
rot := rgb(255, 0, 0)
grün := rgb(0, 255, 0)
blau := rgb(0, 0, 255)
rot, rot, grün, grün, grün, grün, grün, rot, rot
rot, grün, rot, rot, rot, rot, rot, grün, rot,
rot, grün, rot, rot, rot, rot, rot, grün, rot,
rot, rot, rot, blau, rot, blau, rot, rot, rot,
rot, rot, rot, rot, rot, rot, rot, rot
[…]
Komprimiert mit RLE:
(2 rot) (5 grün) (2 rot)
(1 rot) (1 grün) (5 rot) (1 grün) (1 rot)
(1 rot) (1 grün) (5 rot) (1 grün) (1 rot)
(3 rot) (1 blau) (1 rot) (1 blau) (3 rot)
(9 rot)
[…]
RLE - Lauflängenkodierung
 Verlustfrei
 nutzt lange Folgen sich wiederholender Zeichen
oder Zeichenketten („Läufe“ / „runs“) aus:
 AAAA BBB CCCC D EEEEE  4A 3B 4C 1D 5E
 1m 1i 2s 1i 2s 1i 2p 1i  ?
 Funktioniert also am besten bei homogenen
Eingabedaten
Lauflängenkodierung: RLE
Wörterbuchbasierte
Verfahren
 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
Unterschiedliche Algorithmen:
 LZSS (Lempel-Ziv-Storer-Szymanski (gzip, ZIP
und andere))
 LZW (Lempel-Ziv-Welch)
 LZC (Lempel-Ziv Compress)
 LZMW (Unix Compress, GIF)
 Vgl.: http://www-ti.informatik.uni-tuebingen.de/~reinhard/datkom/LZW_Applet.html
 Patente auf LZW (1980er+), darum GIF
problematisch
LZW (Lempel-Ziv-Welch)
 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
 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
LZW – Ein Beispiel
vgl. http://projects.hudecof.net/diplomovka/online/ucebnica/applets/AppletLZW.html
LZW - Decodierung
Statistische
Kompressionsverfahren
 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
Ein Binärbaum ist definiert als ein Baum, dessen
Knoten über maximal zwei Kindknoten verfügen
dürfen:
Erinnerung: Binärbäume
rot, rot, grün, grün, grün, grün, grün, rot, rot
rot, grün, rot, rot, rot, rot, rot, grün, rot,
rot, grün, rot, rot, rot, rot, rot, grün, rot,
rot, rot, rot, blau, rot, blau, rot, rot, rot,
rot, rot, rot, rot, rot, rot, rot, rot,
rot, rot, rot, rot, rot, rot, rot, rot
rot, blau, rot, rot, rot, rot, rot, blau, rot,
rot, rot, blau, rot, rot, rot, blau, rot, rot
rot, rot, rot, blau, blau, blau, rot, rot, rot
|
v
rrgggggrrrgrrrrrgrrgrrrrrgrrrrbrbrrrrrrrrrrrrrrrrrrrrrrbr
rrrrbrrrbrrrbrrrrrbbbrrr
rgrrrrrgrrrrbrbrrrrrrrrrrrr
http://www.iti.fh-flensburg.de/lang/algorithmen/code/huffman/huffman.htm
Codegenerierung nach folgender Logik:
• Start beim Wurzelknoten
• An jedem Knoten (einschl. Wurzelkn.):
• Links abbiegen: 0 notieren
• Rechts abbiegen: 1 notieren
• Beispiel „g“: Vom Wurzelknoten aus
rechten Kindknoten besucht (1 notiert);
anschließend linken Kindknoten besucht
(0 notiert)  g := 10
Noch ein Beispiel
e := ?
m := ?
l := ?
a := ?
Komprimieren Sie die Zeichenkette
„bananarama“ (ohne Anführungszeichen) unter
Verwendung des Huffman-Algorithmus.
Übung
/
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

Contenu connexe

En vedette

Complemento MóDulo 1
Complemento MóDulo  1Complemento MóDulo  1
Complemento MóDulo 1Ane Machi
 
POWER POINT
POWER POINTPOWER POINT
POWER POINTALQUIVER
 
Blogs in der internen Kommunikation Vortrag auf dem FokusTag Intranetmacher S...
Blogs in der internen Kommunikation Vortrag auf dem FokusTag Intranetmacher S...Blogs in der internen Kommunikation Vortrag auf dem FokusTag Intranetmacher S...
Blogs in der internen Kommunikation Vortrag auf dem FokusTag Intranetmacher S...Sympra GmbH (GPRA)
 
Deporte Aventura
Deporte AventuraDeporte Aventura
Deporte Aventuraribanezw9
 
Enrique bernal sefap2010_20101023_def
Enrique bernal sefap2010_20101023_defEnrique bernal sefap2010_20101023_def
Enrique bernal sefap2010_20101023_defAtlas VPM
 
Newsletter 8 - Lego statt Ego
Newsletter 8 - Lego statt EgoNewsletter 8 - Lego statt Ego
Newsletter 8 - Lego statt Egoemotion banking
 
Das Portal Für-Gründer.de im Überblick
Das Portal Für-Gründer.de im ÜberblickDas Portal Für-Gründer.de im Überblick
Das Portal Für-Gründer.de im ÜberblickFür-Gründer.de
 
Apotheke Atlas VPM Núm.4 Rue Csv Eb
Apotheke Atlas VPM Núm.4 Rue Csv EbApotheke Atlas VPM Núm.4 Rue Csv Eb
Apotheke Atlas VPM Núm.4 Rue Csv EbAtlas VPM
 
Diseño 5 (Civilización)
Diseño 5 (Civilización)Diseño 5 (Civilización)
Diseño 5 (Civilización)Marksk8
 
LAS FUERZAS: LAS LEYES DE NEWTON
LAS FUERZAS: LAS LEYES DE NEWTONLAS FUERZAS: LAS LEYES DE NEWTON
LAS FUERZAS: LAS LEYES DE NEWTONguest63b610
 
Tutorenfortbildung EPG
Tutorenfortbildung EPGTutorenfortbildung EPG
Tutorenfortbildung EPGEva Birger
 
Elciego
ElciegoElciego
Elciegomalats
 

En vedette (18)

Complemento MóDulo 1
Complemento MóDulo  1Complemento MóDulo  1
Complemento MóDulo 1
 
POWER POINT
POWER POINTPOWER POINT
POWER POINT
 
exercicios
exerciciosexercicios
exercicios
 
Blogs in der internen Kommunikation Vortrag auf dem FokusTag Intranetmacher S...
Blogs in der internen Kommunikation Vortrag auf dem FokusTag Intranetmacher S...Blogs in der internen Kommunikation Vortrag auf dem FokusTag Intranetmacher S...
Blogs in der internen Kommunikation Vortrag auf dem FokusTag Intranetmacher S...
 
Deporte Aventura
Deporte AventuraDeporte Aventura
Deporte Aventura
 
Gewinner Award-CC 2014 SBB im M&K
Gewinner Award-CC 2014 SBB im M&KGewinner Award-CC 2014 SBB im M&K
Gewinner Award-CC 2014 SBB im M&K
 
Enrique bernal sefap2010_20101023_def
Enrique bernal sefap2010_20101023_defEnrique bernal sefap2010_20101023_def
Enrique bernal sefap2010_20101023_def
 
Newsletter 8 - Lego statt Ego
Newsletter 8 - Lego statt EgoNewsletter 8 - Lego statt Ego
Newsletter 8 - Lego statt Ego
 
BIT I WiSe 2014 | Basisinformationstechnologie I - 04: Rechnertechnologie I
BIT I WiSe 2014 | Basisinformationstechnologie I - 04: Rechnertechnologie IBIT I WiSe 2014 | Basisinformationstechnologie I - 04: Rechnertechnologie I
BIT I WiSe 2014 | Basisinformationstechnologie I - 04: Rechnertechnologie I
 
Das Portal Für-Gründer.de im Überblick
Das Portal Für-Gründer.de im ÜberblickDas Portal Für-Gründer.de im Überblick
Das Portal Für-Gründer.de im Überblick
 
Apotheke Atlas VPM Núm.4 Rue Csv Eb
Apotheke Atlas VPM Núm.4 Rue Csv EbApotheke Atlas VPM Núm.4 Rue Csv Eb
Apotheke Atlas VPM Núm.4 Rue Csv Eb
 
Diseño 5 (Civilización)
Diseño 5 (Civilización)Diseño 5 (Civilización)
Diseño 5 (Civilización)
 
Motivación
MotivaciónMotivación
Motivación
 
LAS FUERZAS: LAS LEYES DE NEWTON
LAS FUERZAS: LAS LEYES DE NEWTONLAS FUERZAS: LAS LEYES DE NEWTON
LAS FUERZAS: LAS LEYES DE NEWTON
 
Tutorenfortbildung EPG
Tutorenfortbildung EPGTutorenfortbildung EPG
Tutorenfortbildung EPG
 
De Madrid
De MadridDe Madrid
De Madrid
 
integradora
integradoraintegradora
integradora
 
Elciego
ElciegoElciego
Elciego
 

Plus de Institute for Digital Humanities, University of Cologne

Plus de Institute for Digital Humanities, University of Cologne (20)

Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 17.04.2019 | ...
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 17.04.2019 | ...Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 17.04.2019 | ...
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 17.04.2019 | ...
 
Augmented City –Street Art, Embodiment, Cultural Heritage & AR | 03.04.2019 |...
Augmented City –Street Art, Embodiment, Cultural Heritage & AR | 03.04.2019 |...Augmented City –Street Art, Embodiment, Cultural Heritage & AR | 03.04.2019 |...
Augmented City –Street Art, Embodiment, Cultural Heritage & AR | 03.04.2019 |...
 
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 03.04.2019 | ...
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 03.04.2019 | ...Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 03.04.2019 | ...
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 03.04.2019 | ...
 
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
 
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
 
Bit sosem 2016-wieners-sitzung-13_ki-in-games
Bit sosem 2016-wieners-sitzung-13_ki-in-gamesBit sosem 2016-wieners-sitzung-13_ki-in-games
Bit sosem 2016-wieners-sitzung-13_ki-in-games
 
Bit sosem 2016-wieners-sitzung-12_bild-iv-computer-vision
Bit sosem 2016-wieners-sitzung-12_bild-iv-computer-visionBit sosem 2016-wieners-sitzung-12_bild-iv-computer-vision
Bit sosem 2016-wieners-sitzung-12_bild-iv-computer-vision
 
Bit sosem 2016-wieners-sitzung-11_bild-iii-filter
Bit sosem 2016-wieners-sitzung-11_bild-iii-filterBit sosem 2016-wieners-sitzung-11_bild-iii-filter
Bit sosem 2016-wieners-sitzung-11_bild-iii-filter
 
Bit sosem 2016-wieners-sitzung-10_bild-ii-punktoperationen
Bit sosem 2016-wieners-sitzung-10_bild-ii-punktoperationenBit sosem 2016-wieners-sitzung-10_bild-ii-punktoperationen
Bit sosem 2016-wieners-sitzung-10_bild-ii-punktoperationen
 
Bit sosem 2016-wieners-sitzung-08_semantic-web
Bit sosem 2016-wieners-sitzung-08_semantic-webBit sosem 2016-wieners-sitzung-08_semantic-web
Bit sosem 2016-wieners-sitzung-08_semantic-web
 
Bit sosem 2016-wieners-sitzung-07_rechnerkommunikation-ii
Bit sosem 2016-wieners-sitzung-07_rechnerkommunikation-iiBit sosem 2016-wieners-sitzung-07_rechnerkommunikation-ii
Bit sosem 2016-wieners-sitzung-07_rechnerkommunikation-ii
 
Bit sosem 2016-wieners-sitzung-06_rechnerkommunikation
Bit sosem 2016-wieners-sitzung-06_rechnerkommunikationBit sosem 2016-wieners-sitzung-06_rechnerkommunikation
Bit sosem 2016-wieners-sitzung-06_rechnerkommunikation
 
Bit sosem 2016-wieners-sitzung-05_zellulaere-automaten-conway
Bit sosem 2016-wieners-sitzung-05_zellulaere-automaten-conwayBit sosem 2016-wieners-sitzung-05_zellulaere-automaten-conway
Bit sosem 2016-wieners-sitzung-05_zellulaere-automaten-conway
 
Bit sosem 2016-wieners-sitzung-04_theoretische-informatik
Bit sosem 2016-wieners-sitzung-04_theoretische-informatikBit sosem 2016-wieners-sitzung-04_theoretische-informatik
Bit sosem 2016-wieners-sitzung-04_theoretische-informatik
 
Bit sosem 2016-wieners-sitzung-03_algorithmen
Bit sosem 2016-wieners-sitzung-03_algorithmenBit sosem 2016-wieners-sitzung-03_algorithmen
Bit sosem 2016-wieners-sitzung-03_algorithmen
 
Bit sosem 2016-wieners-sitzung-02_datenstrukturen
Bit sosem 2016-wieners-sitzung-02_datenstrukturenBit sosem 2016-wieners-sitzung-02_datenstrukturen
Bit sosem 2016-wieners-sitzung-02_datenstrukturen
 
Bit sosem 2016-wieners-sitzung-01_auffrischung
Bit sosem 2016-wieners-sitzung-01_auffrischungBit sosem 2016-wieners-sitzung-01_auffrischung
Bit sosem 2016-wieners-sitzung-01_auffrischung
 
Bit sosem 2016-wieners-sitzung-00_themenueberblick
Bit sosem 2016-wieners-sitzung-00_themenueberblickBit sosem 2016-wieners-sitzung-00_themenueberblick
Bit sosem 2016-wieners-sitzung-00_themenueberblick
 
Bit wisem 2015-wieners-sitzung-13_Zusammenfassung II
Bit wisem 2015-wieners-sitzung-13_Zusammenfassung IIBit wisem 2015-wieners-sitzung-13_Zusammenfassung II
Bit wisem 2015-wieners-sitzung-13_Zusammenfassung II
 
Bit wisem 2015-wieners-sitzung-12_Zusammenfassung I
Bit wisem 2015-wieners-sitzung-12_Zusammenfassung IBit wisem 2015-wieners-sitzung-12_Zusammenfassung I
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
  • 2. Grillen & Co. am Aachener Weiher: Fr., 31.05.2013, ~16:00 Uhr  http://www.hki.uni-koeln.de/aktuelles/chillen-und-grillen
  • 3. Grundbegriffe:  Farbmischung: Additiv, Subtraktiv  Raster- vs. Vektorgrafik  Pixel  Auflösung  Farbtiefe Kompressionsverfahren  Nicht verlustbehaftet  Run Length Encoding (RLE)  Wörterbuch-Algorithmen, z.B. Lempel-Ziv-Welsh (LZW)  Verlustbehaftet Themenüberblick
  • 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.
  • 8.
  • 9. Subtraktive Farbmischung Z.B.: Mischung von Farbpigmenten  Malen mit Deckfarbkasten
  • 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
  • 12. Grafiktypen: Raster- vs. VektorgrafikRaster- vs. Vektorgrafik
  • 13. Grafiktypen: Raster- vs. VektorgrafikRaster- vs. Vektorgrafik
  • 14. Grafiktypen: Raster- vs. VektorgrafikRaster- vs. Vektorgrafik Quantisierung: 8 Bit RGB rgb(120, 70, 63)
  • 15. Auflösung 1936 Pixel 2592 Pixel Gesamtzahl der Bildpunkte eines Bildes, z.B. 2592px * 1936px = ~ 5 Mio. Pixel
  • 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
  • 19.
  • 20.
  • 21.  RLE – Run Length Encoding (Lauflängenkodierung)  Wörterbuchbasierte Kompressionsmethoden  Lempel-Ziv-Welch (LZW)  Statistische Kompressionsmethoden  Huffman-Algorithmus Ansätze zur Datenkompression
  • 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)
  • 26. rot := rgb(255, 0, 0) grün := rgb(0, 255, 0) blau := rgb(0, 0, 255)
  • 27. rot, rot, grün, grün, grün, grün, grün, rot, rot rot, grün, rot, rot, rot, rot, rot, grün, rot, rot, grün, rot, rot, rot, rot, rot, grün, rot, rot, rot, rot, blau, rot, blau, rot, rot, rot, rot, rot, rot, rot, rot, rot, rot, rot […]
  • 28. Komprimiert mit RLE: (2 rot) (5 grün) (2 rot) (1 rot) (1 grün) (5 rot) (1 grün) (1 rot) (1 rot) (1 grün) (5 rot) (1 grün) (1 rot) (3 rot) (1 blau) (1 rot) (1 blau) (3 rot) (9 rot) […]
  • 29. RLE - Lauflängenkodierung  Verlustfrei  nutzt lange Folgen sich wiederholender Zeichen oder Zeichenketten („Läufe“ / „runs“) aus:  AAAA BBB CCCC D EEEEE  4A 3B 4C 1D 5E  1m 1i 2s 1i 2s 1i 2p 1i  ?  Funktioniert also am besten bei homogenen Eingabedaten Lauflängenkodierung: RLE
  • 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
  • 32. Unterschiedliche Algorithmen:  LZSS (Lempel-Ziv-Storer-Szymanski (gzip, ZIP und andere))  LZW (Lempel-Ziv-Welch)  LZC (Lempel-Ziv Compress)  LZMW (Unix Compress, GIF)  Vgl.: http://www-ti.informatik.uni-tuebingen.de/~reinhard/datkom/LZW_Applet.html  Patente auf LZW (1980er+), darum GIF problematisch LZW (Lempel-Ziv-Welch)
  • 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
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 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
  • 60. rot, rot, grün, grün, grün, grün, grün, rot, rot rot, grün, rot, rot, rot, rot, rot, grün, rot, rot, grün, rot, rot, rot, rot, rot, grün, rot, rot, rot, rot, blau, rot, blau, rot, rot, rot, rot, rot, rot, rot, rot, rot, rot, rot, rot, rot, rot, rot, rot, rot, rot, rot rot, blau, rot, rot, rot, rot, rot, blau, rot, rot, rot, blau, rot, rot, rot, blau, rot, rot rot, rot, rot, blau, blau, blau, rot, rot, rot | v rrgggggrrrgrrrrrgrrgrrrrrgrrrrbrbrrrrrrrrrrrrrrrrrrrrrrbr rrrrbrrrbrrrbrrrrrbbbrrr
  • 63.
  • 64.
  • 65.
  • 66. Codegenerierung nach folgender Logik: • Start beim Wurzelknoten • An jedem Knoten (einschl. Wurzelkn.): • Links abbiegen: 0 notieren • Rechts abbiegen: 1 notieren • Beispiel „g“: Vom Wurzelknoten aus rechten Kindknoten besucht (1 notiert); anschließend linken Kindknoten besucht (0 notiert)  g := 10
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.
  • 79. e := ? m := ? l := ? a := ?
  • 80.
  • 81. Komprimieren Sie die Zeichenkette „bananarama“ (ohne Anführungszeichen) unter Verwendung des Huffman-Algorithmus. Übung
  • 82.
  • 83.
  • 84.
  • 85.
  • 86.
  • 87. /
  • 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