Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Bit sosem 2016-wieners-sitzung-09_bild-i-kompression

Bit sosem 2016-wieners-sitzung-09_bild-i-kompression

  • Login to see the comments

  • Be the first to like this

Bit sosem 2016-wieners-sitzung-09_bild-i-kompression

  1. 1. Basisinformationstechnologie II – Sommersemester 2016 – 30. Mai 2016 Dr. Jan G. Wieners Algorithmen der Bildverarbeitung Grundlagen und Kompressionsverfahren
  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. 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 / einen Scan ihrer Lösung senden. Sitzungsaufgaben
  4. 4. http://www.graffitiresearchlab.de
  5. 5. http://www.graffitiresearchlab.de
  6. 6. Faktoren der Farbentstehung
  7. 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. 8. Subtraktive Farbmischung Z.B.: Mischung von Farbpigmenten  Malen mit Deckfarbkasten
  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 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. http://www.clker.com/clipart-cartoon-squirrel.html
  14. 14. Auflösung 1936 Pixel 2592 Pixel Gesamtzahl der Bildpunkte eines Bildes, z.B. 2592px * 1936px = ~ 5 Mio. Pixel
  15. 15. Kompression
  16. 16.  RLE – Run Length Encoding (Lauflängenkodierung)  Wörterbuchbasierte Kompressionsmethoden  Lempel-Ziv-Welch (LZW)  Statistische Kompressionsmethoden  Huffman-Algorithmus Ansätze zur Datenkompression
  17. 17. Lauflängenkodierung
  18. 18. 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“
  19. 19. Neulich beim Obsthändler… „Ich hätte gerne ◦ Eine Kiwi ◦ Drei Birnen ◦ Fünf Äpfel ◦ Zwei Pampelmusen ◦ Eine Zitrone ◦ Zwei Limetten“
  20. 20. 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)
  21. 21. rot := rgb(255, 0, 0) grün := rgb(0, 255, 0) blau := rgb(0, 0, 255)
  22. 22. 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 […]
  23. 23. 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) […]
  24. 24. 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
  25. 25. Wörterbuchbasierte Verfahren
  26. 26.  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
  27. 27. 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)
  28. 28. LZW – Ein Beispiel vgl. http://projects.hudecof.net/diplomovka/online/ucebnica/applets/AppletLZW.html
  29. 29. LZW - Decodierung
  30. 30. Statistische Kompressionsverfahren
  31. 31.  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
  32. 32. Ein Binärbaum ist definiert als ein Baum, dessen Knoten über maximal zwei Kindknoten verfügen dürfen: Erinnerung: Binärbäume
  33. 33. 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
  34. 34. rgrrrrrgrrrrbrbrrrrrrrrrrrr
  35. 35. http://www.iti.fh-flensburg.de/lang/algorithmen/code/huffman/huffman.htm
  36. 36. 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
  37. 37. Noch ein Beispiel
  38. 38. e := ? m := ? l := ? a := ?
  39. 39. Komprimieren Sie die Zeichenkette „bananarama“ (ohne Anführungszeichen) unter Verwendung des Huffman-Algorithmus. Übung
  40. 40. /
  41. 41.  https://commons.wikimedia.org/wiki/File:Universitat_ zu_Koln_Hauptgebaude_ost.jpg  http://causeitsallaboutthepayno.tumblr.com/post/131 746453874/im-currently-listening-to-adeles-new  www.giphy.com Bildnachweise

×