Universität zu Köln. Historisch-Kulturwissenschaftliche Informationsverarbeitung
Jan G. Wieners // jan.wieners@uni-koeln.d...
Grundbegriffe:
 Farbmischung: Additiv, Subtraktiv
 Raster- vs. Vektorgrafik
 Pixel
 Auflösung
 Farbtiefe
Kompressions...
http://www.graffitiresearchlab.de
http://www.graffitiresearchlab.de
Faktoren der Farbentstehung
Additive Farbmischung
Mischung (Addition) von Licht  Beispiel Taschenlampe: Leuchten mehrere
Taschenlampen auf dieselbe S...
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³ = ...
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 ...
 RLE – Run Length Encoding (Lauflängenkodierung)
 Wörterbuchbasierte Kompressionsmethoden
 Lempel-Ziv-Welch (LZW)
 Sta...
Lauflängenkodierung
Neulich beim Obsthändler…
„Ich hätte gerne
◦ Eine Kiwi
◦ Eine Birne
◦ Eine Birne
◦ Eine Birne
◦ Einen Apfel
◦ Einen Apfel
...
Neulich beim Obsthändler…
„Ich hätte gerne
◦ Eine Kiwi
◦ Drei Birnen
◦ Fünf Äpfel
◦ Zwei Pampelmusen
◦ Eine Zitrone
◦ Zwei...
Neulich beim Obsthändler…
„Ich hätte gerne
◦ Eine Kiwi
◦ Drei Birnen
◦ Fünf Äpfel
◦ Zwei Pampelmusen
◦ Eine Zitrone
◦ Zwei...
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, ...
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) ...
RLE - Lauflängenkodierung
 Verlustfrei
 nutzt lange Folgen sich wiederholender Zeichen
oder Zeichenketten („Läufe“ / „ru...
Wörterbuchbasierte
Verfahren
 1978 von A. Lempel und J. Ziv
entwickelt, 1984 von T. A. Welch
verfeinert
 Verlustfrei
 Versucht, den zu komprimierend...
Unterschiedliche Algorithmen:
 LZSS (Lempel-Ziv-Storer-Szymanski (gzip, ZIP
und andere))
 LZW (Lempel-Ziv-Welch)
 LZC (...
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 verfo...
Ein Binärbaum ist definiert als ein Baum, dessen
Knoten über maximal zwei Kindknoten verfügen
dürfen:
Erinnerung: Binärbäu...
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, ...
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: ...
Noch ein Beispiel
e := ?
m := ?
l := ?
a := ?
Komprimieren Sie die Zeichenkette
„bananarama“ (ohne Anführungszeichen) unter
Verwendung des Huffman-Algorithmus.
Übung
/
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression
Nächste SlideShare
Wird geladen in …5
×

Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression

586 Aufrufe

Veröffentlicht am

Veröffentlicht in: Bildung
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Bit SoSem 2014 | Basisinformationstechnologie II - 05: Algorithmen der Bildverarbeitung I: Kompression

  1. 1. Universität zu Köln. Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners // jan.wieners@uni-koeln.de Basisinformationstechnologie II Sommersemester 2014 28. Mai 2014 – Algorithmen der Bildverarbeitung I: Kompression
  2. 2. 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
  3. 3. http://www.graffitiresearchlab.de
  4. 4. http://www.graffitiresearchlab.de
  5. 5. Faktoren der Farbentstehung
  6. 6. 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.
  7. 7. Subtraktive Farbmischung Z.B.: Mischung von Farbpigmenten  Malen mit Deckfarbkasten
  8. 8. Farbmodelle
  9. 9. 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ättigung, Hellwert bzw. absolute Helligkeit (B), Brightness Farbmodelle L*a*b*: Menschl. Wahrnehmung
  10. 10. Grafiktypen: Raster- vs. VektorgrafikRaster- vs. Vektorgrafik
  11. 11. Grafiktypen: Raster- vs. VektorgrafikRaster- vs. Vektorgrafik
  12. 12. Grafiktypen: Raster- vs. VektorgrafikRaster- vs. Vektorgrafik Quantisierung: 8 Bit RGB rgb(120, 70, 63)
  13. 13. Auflösung 1936 Pixel 2592 Pixel Gesamtzahl der Bildpunkte eines Bildes, z.B. 2592px * 1936px = ~ 5 Mio. Pixel
  14. 14. http://www.clker.com/clipart-cartoon-squirrel.html
  15. 15. Kompression
  16. 16. 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
  17. 17.  RLE – Run Length Encoding (Lauflängenkodierung)  Wörterbuchbasierte Kompressionsmethoden  Lempel-Ziv-Welch (LZW)  Statistische Kompressionsmethoden  Huffman-Algorithmus Ansätze zur Datenkompression
  18. 18. Lauflängenkodierung
  19. 19. 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“
  20. 20. Neulich beim Obsthändler… „Ich hätte gerne ◦ Eine Kiwi ◦ Drei Birnen ◦ Fünf Äpfel ◦ Zwei Pampelmusen ◦ Eine Zitrone ◦ Zwei Limetten“
  21. 21. 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)
  22. 22. rot := rgb(255, 0, 0) grün := rgb(0, 255, 0) blau := rgb(0, 0, 255)
  23. 23. 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 […]
  24. 24. 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) […]
  25. 25. 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
  26. 26. Wörterbuchbasierte Verfahren
  27. 27.  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
  28. 28. 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)
  29. 29. LZW – Ein Beispiel vgl. http://projects.hudecof.net/diplomovka/online/ucebnica/applets/AppletLZW.html
  30. 30. LZW - Decodierung
  31. 31. Statistische Kompressionsverfahren
  32. 32.  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
  33. 33. Ein Binärbaum ist definiert als ein Baum, dessen Knoten über maximal zwei Kindknoten verfügen dürfen: Erinnerung: Binärbäume
  34. 34. 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
  35. 35. rgrrrrrgrrrrbrbrrrrrrrrrrrr
  36. 36. http://www.iti.fh-flensburg.de/lang/algorithmen/code/huffman/huffman.htm
  37. 37. 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
  38. 38. Noch ein Beispiel
  39. 39. e := ? m := ? l := ? a := ?
  40. 40. Komprimieren Sie die Zeichenkette „bananarama“ (ohne Anführungszeichen) unter Verwendung des Huffman-Algorithmus. Übung
  41. 41. /

×