Kodierung und Komprimierung von Bilddaten Seminarvortrag von Dennis
Heimann
Seminar: Neue Technologien in Internet und WWW Seminarleiter: Dr. rer. nat. H. Sack Wintersemester 2003/2004 Institut für Informatik Universität Jena
Kodierung und Komprimierung von Bilddaten Gliederung 1. Einleitung 2. Methoden der Grafikkodierung 3. Das menschliche visuelle System 4. Kodier-/ Komprimierverfahren 5. Grafikformate 6. Neue Grafikformate Dennis Heimann : Kodierung und Komprimierung von Bilddaten Seminar: Neue Technologien in Internet und WWW, Dr. rer. nat. H. Sack, Institut für Informatik, FSU Jena
2
1.Einleitung
langweilig, trocken, veraltet
ansprechender, prägnanter, moderner
Wie Bilder digital speichern? Kodierung und Komprimierung Dennis Heimann : Kodierung und Komprimierung von Bilddaten Seminar: Neue Technologien in Internet und WWW, Dr. rer. nat. H. Sack, Institut für Informatik, FSU Jena
3
2. Methoden der Grafikkodierung
Grafik = Ansammlung von Daten, die diese beschreiben wichtig ist Struktur und Organisation dieser Daten Unterscheidung von zwei Arten: Rastergrafiken und Vektorgrafiken Dennis Heimann : Kodierung und Komprimierung von Bilddaten Seminar: Neue Technologien in Internet und WWW, Dr. rer. nat. H. Sack, Institut für Informatik, FSU Jena
4
2. Methoden der Grafikkodierung - Rastergrafik kontinuierliches Bild räumlich Diskretisieren Rasterung jeder Pixel erhält Farbwert Quantisierung M x N - Pixelmatrix
M Zeilen
N Spalten
Speicherung der Bildinformationen ist formatabhängig Dennis Heimann : Kodierung und Komprimierung von Bilddaten Seminar: Neue Technologien in Internet und WWW, Dr. rer. nat. H. Sack, Institut für Informatik, FSU Jena
5
2. Methoden der Grafikkodierung - Rastergrafik je mehr Bildpunkte, desto höher die Auflösung
je höher die Auflösung, desto größer der Speicherbedarf Komprimierung Dennis Heimann : Kodierung und Komprimierung von Bilddaten Seminar: Neue Technologien in Internet und WWW, Dr. rer. nat. H. Sack, Institut für Informatik, FSU Jena
6
2. Methoden der Grafikkodierung - Rastergrafik Je größer die Farbzahl, desto höher die Farbtiefe
16 Bit
2 Bit
1 Bit
je höher die Farbtiefe, desto größer der Speicherplatzbedarf Dennis Heimann : Kodierung und Komprimierung von Bilddaten Seminar: Neue Technologien in Internet und WWW, Dr. rer. nat. H. Sack, Institut für Informatik, FSU Jena
7
2. Methoden der Grafikkodierung - Rastergrafik Rasterung und Quantisierung bestimmen Speicherplatzbedarf doch zu niedrige Rasterung oder Quantisierung führen zu Informationsverlust und Störungen Periodische Störungen Aliasing Störungen im Punktraster Moiree Effekt Abtasttheorem von SHANNON Abtastfrequenz muss mehr als doppelt so groß sein, wie die maximal auftretende Frequenz Dennis Heimann : Kodierung und Komprimierung von Bilddaten Seminar: Neue Technologien in Internet und WWW, Dr. rer. nat. H. Sack, Institut für Informatik, FSU Jena
8
2. Methoden der Grafikkodierung - Aliasing • zu große Abtastintervalle Verbindung der Abtastwerte ergibt Struktur mit größerer Wellenlänge • Falsche Information
9
2. Methoden der Grafikkodierung – Moiree-Effekt Zu digitalisierende Objekte werden durch Gitter betrachtet Durch Abtastung kommt es zu Veränderung der Gitterkonstanten und der Richtung
10
2. Methoden der Grafikkodierung - Vektorgrafik Objektbezugspunkte für geometrische Figuren darzustellende Figur wird daraus rekonstruiert
speichert zusätzlich Attribute, wie Farbe, Linienstärke und Füllung
Dennis Heimann : Kodierung und Komprimierung von Bilddaten Seminar: Neue Technologien in Internet und WWW, Dr. rer. nat. H. Sack, Institut für Informatik, FSU Jena
11
2. Methoden der Grafikkodierung - Vektorgrafik in Vektorgrafiken beliebig hineinzoombar • keine Rastereffekte oder Qualitätsverlust beliebig skalierbar •
Dennis Heimann : Kodierung und Komprimierung von Bilddaten Seminar: Neue Technologien in Internet und WWW, Dr. rer. nat. H. Sack, Institut für Informatik, FSU Jena
12
2. Methoden der Grafikkodierung - Vektorgrafik Animationsfähig (z.B. FLASH) es reicht räumlichen Bewegungspfad des Objektbezugspunktes geometrisch zu beschreiben gut geeignet für Comics, Illustrationen oder mathematisch konstruierbare Objekte nicht geeignet für komplexere Grafiken, wie Fotos oder vielfarbige Darstellungen Dennis Heimann : Kodierung und Komprimierung von Bilddaten Seminar: Neue Technologien in Internet und WWW, Dr. rer. nat. H. Sack, Institut für Informatik, FSU Jena
13
3. Das menschliche visuelle System – Das Auge
Dennis Heimann : Kodierung und Komprimierung von Bilddaten Seminar: Neue Technologien in Internet und WWW, Dr. rer. nat. H. Sack, Institut für Informatik, FSU Jena
14
3. Das menschliche visuelle System – Das Auge Netzhaut besteht aus Stäbchen und Zapfen Stäbchen unterscheiden Lichtintensität und sind fürs Sehen in der Dämmerung verantwortlich Zapfen dienen Farbsehen, jedoch nur bei ausreichend Helligkeit 3 Arten von Zapfen für je eine Empfindlichkeit bzgl. des Farbspektrums Grün, Gelb-Rot und Blau-Violett Dennis Heimann : Kodierung und Komprimierung von Bilddaten Seminar: Neue Technologien in Internet und WWW, Dr. rer. nat. H. Sack, Institut für Informatik, FSU Jena
15
3. Das menschliche visuelle System – Auge und Gehirn Grenzen der Wahrnehmung Auflösung: 6 Mio. Zapfenzellen, davon ca. 160.000 Zapfenzellen pro mm² am gelben Fleck (Zentrum des visuellen Sehens) 130 Mio. Stabzellen Farben: Unterscheidung von ca. 100 Grautönen und ca. 7 Mio. Farben
Dennis Heimann : Kodierung und Komprimierung von Bilddaten Seminar: Neue Technologien in Internet und WWW, Dr. rer. nat. H. Sack, Institut für Informatik, FSU Jena
16
3. Das menschliche visuelle System – Auge und Gehirn
Wirkt warm und lebendig –
Wirkt kühl und beruhigend –
Die Wahrsagerin (Michelangelo Caravaggio)
Impression (Claude Monets)
Dennis Heimann : Kodierung und Komprimierung von Bilddaten Seminar: Neue Technologien in Internet und WWW, Dr. rer. nat. H. Sack, Institut für Informatik, FSU Jena
17
3. Das menschliche visuelle System – Farben und Farbsysteme Farben: Bestandteile des weißen Lichts
für Menschen sichtbar nur kleiner Teil des Wellenspektrums, etwa 380 bis 700 mm Wellenlänge dieses Spektrums bestimmt die Farbe Lichtstrahl mit Wellenlänge von ca. 700 mm rot Lichtstrahl mit Wellenlänge von ca. 500 mm blau Dennis Heimann : Kodierung und Komprimierung von Bilddaten Seminar: Neue Technologien in Internet und WWW, Dr. rer. nat. H. Sack, Institut für Informatik, FSU Jena
18
3. Das menschliche visuelle System – Farben und Farbsysteme Farbsystem: versucht Farben anzuordnen, dass sie geometrisch beschreibar sind RGB-Modell
Additive Farbsysteme Für neue Farbe: Farben zu Grundfarbe Schwarz hinzumischen z.B. RGB-Modell
Subtraktive Farbsysteme Für neue Farben: Farben von Weiß abziehen z.B. CMYK-Modell Dennis Heimann : Kodierung und Komprimierung von Bilddaten Seminar: Neue Technologien in Internet und WWW, Dr. rer. nat. H. Sack, Institut für Informatik, FSU Jena
19
3. Das menschliche visuelle System – Farben und Farbsysteme HSB-Modell 3 Komponenten Farbton: Farbinformation Sättigung: Verhältnis zwischen reiner Farbstärke und unbuntem Anteil Helligkeit: Helligkeit von 1% bis 100%
Dennis Heimann : Kodierung und Komprimierung von Bilddaten Seminar: Neue Technologien in Internet und WWW, Dr. rer. nat. H. Sack, Institut für Informatik, FSU Jena
20
3. Das menschliche visuelle System – Farben und Farbsysteme
Dennis Heimann : Kodierung und Komprimierung von Bilddaten Seminar: Neue Technologien in Internet und WWW, Dr. rer. nat. H. Sack, Institut für Informatik, FSU Jena
21
4. Kodier- und Komprimierverfahren – Arten der Komprimierung symmetrisch: Kodierungs-/ Dekodierungsalgorithmus gleiche Komplexität nicht-adaptiv: Statisches Wörterbuch mit Vorgegebenen Mustern
asymmetrisch: Komplexität beider Algorithmen deutlich unterschieden
adaptiv: Dynamisches Wörterbuch, bei jeder Anwendung neues Wörterbuch
verlustfrei: Daten liegen nach Kodierung und Dekodierung unverändert vor
semi-adaptiv: Mischform aus adaptiv und nicht-adaptiv
verlustbehaftet: höhere Kompressionsrate, auf Kosten von Information
Dennis Heimann : Kodierung und Komprimierung von Bilddaten Seminar: Neue Technologien in Internet und WWW, Dr. rer. nat. H. Sack, Institut für Informatik, FSU Jena
22
4. Kodier- und Komprimierverfahren – Lauflängenkodierung (Run Length) verlustfrei Zusammenfassen gleicher Pixelwerte, die hintereinander auftreten man gibt nur Wert und dazugehörigen Faktor an Möglichkeiten Zeile in 0- und 1-Blöcke zerlegen, und zu jedem Block Wert (0 oder 1) und Faktor angeben 000111100000111111000000011111111 (3,0), (4,1), (5,0), (6,1), (7,0), (8,1) 0 und 1 immer im Wechsel noch kleinere Darstellung: 3 4 5 6 7 8 oder für 000111100000111111000000011111111 nur Länge und Position der 1-Blöcke angeben: (3,4), (12,6), (25,8)
Dennis Heimann : Kodierung und Komprimierung von Bilddaten Seminar: Neue Technologien in Internet und WWW, Dr. rer. nat. H. Sack, Institut für Informatik, FSU Jena
23
4. Kodier- und Komprimierverfahren – Huffmann-Kodierung für jedes Zeichen relative Häufigkeit des Auftretens berechnen anhand dieser Wahrscheinlichkeiten in Binärbaum eintragen Code dann leicht ablesbar Zeichen mit großer Häufigkeit näher an Wurzel optimal, präfixfrei, eindeutig
Beipiel: ABDACAEABDA D = 0101 0 1
0 0 A 5
0 B 2
Dennis Heimann : Kodierung und Komprimierung von Bilddaten Seminar: Neue Technologien in Internet und WWW, Dr. rer. nat. H. Sack, Institut für Informatik, FSU Jena
1 1 D 2
0 C 1
1 E 1 24
4. Kodier- und Komprimierverfahren – LZW-Komprimierung LZW (Lempel, Zif, Welch ) verlustfrei, adaptiv baut für Kodierung Wörterbuch aus Zeichenketten auftretende Datenmuster werden mit Codes im Wörterbuch verglichen
Beispiel: ABBABABAC mit Wörterbuch: 1 = A, 2 = B, 3 = C Kodiert: 1 2 2 4 7 3
im WB Muster durch Code ersetzen Wörterbuch danach: nicht im WB neuer Wörterbucheintrag 1 = A, 2 = B, 3 = C,
Codes kürzer als Muster Komprimierung
4 = AB, 5 = BB, 6 = BA, 7 = ABA, 8 = ABAC
Dekodierung in umgekehrter Reihenfolge Dennis Heimann : Kodierung und Komprimierung von Bilddaten Seminar: Neue Technologien in Internet und WWW, Dr. rer. nat. H. Sack, Institut für Informatik, FSU Jena
25
5. Grafikformate – GIF Graphic Interchange Format Bilddaten mit LZW- Verfahren komprimiert Interlacing Bildinhalt nach wenigen übertragenen Zeilen erkennbar Farbe transparent darstellbar mehrere Grafiken in einer Datei kleine Animationen möglich unterstützt jedoch nur 256 Farben Ideal für Computergenerierte Grafiken Dennis Heimann : Kodierung und Komprimierung von Bilddaten Seminar: Neue Technologien in Internet und WWW, Dr. rer. nat. H. Sack, Institut für Informatik, FSU Jena
26
5. Grafikformate – PNG Portable Network Graphics, gesprochen „ping“ Ersatz für GIF im Internet entwickelt Alpha-Kanal für stufenlose Tranzparenz portable und erweiterbar progressive display Farbtiefe bis zu 48 Bit verlustfreie Komprimierung Dennis Heimann : Kodierung und Komprimierung von Bilddaten Seminar: Neue Technologien in Internet und WWW, Dr. rer. nat. H. Sack, Institut für Informatik, FSU Jena
27
5. Grafikformate – PNG Kompression mittels zlib verwendet Deflate-Algorithmus, Variation des LZ77-Algorithmus Patente oder Lizenzen werden nicht berührt werden 3 Varianten für komprimierte Blöcke unkomprimiert LZ77-komprimiert mit fester Huffmann-Kodierung LZ77-komprimiert mit spezifischen Huffmann-Kodes
Filter verbessern Kompression Ersetzung der Pixelwerte durch ihre Differenz zu ähnlichem Wert Werte mit geringer Differenz werden mitteinander verrechnet es entsteht Datenstrom mit vielen ähnlichen Werten besser komprimierbar Dennis Heimann : Kodierung und Komprimierung von Bilddaten Seminar: Neue Technologien in Internet und WWW, Dr. rer. nat. H. Sack, Institut für Informatik, FSU Jena
28
5. Grafikformate – JPEG Joint Photographic Expert Group ideal für Komprimierung natürlicher, z.B. fotografischer Abbildungen Komprimierungstechnik: diskrete CosinusTransformation (DCT) + Huffmann-Codierung bis 24 Bit Farbtiefe Prinzip: Farbveränderungen innerhalb des Bildes werden gespeichert Hohe Komprimierungsrate durch Reduktion des Informationsgehalts Dennis Heimann : Kodierung und Komprimierung von Bilddaten Seminar: Neue Technologien in Internet und WWW, Dr. rer. nat. H. Sack, Institut für Informatik, FSU Jena
29
5. Grafikformate – JPEG JPEG-Verfahren verlustbehaftet, asymmertrisch
Komprimierung in 4 Stufen Farbkonversion und Sampling DCT Quantisierung Serialisierung
Dennis Heimann : Kodierung und Komprimierung von Bilddaten Seminar: Neue Technologien in Internet und WWW, Dr. rer. nat. H. Sack, Institut für Informatik, FSU Jena
30
5. Grafikformate – JPEG 1. Farbkonversion und Sampling
Farbkomponenten anteilig in Luminanz und Chrominanz zerlegt Transformation der RGB-Informationen in Y (Helligkeit), Cb (Blaukomponente) und Cr (Rotkomponente) YCbCr-Farbmodell bei Bildzerlegungsprozess = Sampling Anteile Cb und Cr mit geringerer Auflösung als YKomponente bestimmt Sub-Sampling je niedriger Samplingauflösung, desto höher dadurch bereits erzielte Komprimierung, desto kürzer Gesamtkomprimierungszeit
Dennis Heimann : Kodierung und Komprimierung von Bilddaten Seminar: Neue Technologien in Internet und WWW, Dr. rer. nat. H. Sack, Institut für Informatik, FSU Jena
31
5. Grafikformate – JPEG 2. Diskrete Cosinus Transformation, DCT Transformation von Intensitätsdaten in Frequenzdaten Unterteilung des Bildes in 8x8 Pixel–Bildblöcke Bildpunkt (x, y) des 8x8 Blocks hat Bildinformation f(x, y) DCT erzeugt neuen 8x8 Block (u, v) über Transformation: 1 F (u , v) = C (u )C (v) 4
7
x =0 y =0
7
(2 y + 1)vπ (2 x + 1)uπ f ( x, y ) cos cos 16 16
C ( z) =
mit
1 ,z =0 2 1 , sonst
Dennis Heimann : Kodierung und Komprimierung von Bilddaten Seminar: Neue Technologien in Internet und WWW, Dr. rer. nat. H. Sack, Institut für Informatik, FSU Jena
32
Dennis Heimann : Kodierung und Komprimierung von Bilddaten Seminar: Neue Technologien in Internet und WWW, Dr. rer. nat. H. Sack, Institut für Informatik, FSU Jena
große, regelmäßig gefärbte Flächen ergeben niedrige Frequenzanteile feine Details, hohe Kontrastunterschiede hohe Frequenzanteile DC (Direct Current) = F(0,0) enthält Durchschnittswert der 8x8-Matrix AC (Alternating Current) = F(0,1) … F(7,7) speichern Veränderungen zum DC
5. Grafikformate – JPEG
33
5. Grafikformate – JPEG DCT-Werte vor Quantisierung
3. Quantisierung der Koeffizienten der 8x8 Matrix
Werte F(u,v) durch Werte Q(u,v) aus Quantisierungstabelle dividiert und ganzzahlig aufgerundet verlustbehafteter Charakter der JPEG-Komprimierung
Quantisierungstabelle DCT-Werte nach Quantisierung
Dennis Heimann : Kodierung und Komprimierung von Bilddaten Seminar: Neue Technologien in Internet und WWW, Dr. rer. nat. H. Sack, Institut für Informatik, FSU Jena
34
5. Grafikformate – JPEG 4. Serialisierung - eigentliche Komprimierung DC-Werte der 8x8-Matrizen als Differenzwert zum nächsten Block gespeichert restliche Blöcke F(1,0) bis F(7,7) in Zick-Zack-Anordnung serialisiert Linearer Datenstrom noch Lauflängenkodiert werden zum Schluss: Huffmann-Kodierung
Dennis Heimann : Kodierung und Komprimierung von Bilddaten Seminar: Neue Technologien in Internet und WWW, Dr. rer. nat. H. Sack, Institut für Informatik, FSU Jena
35
6. Neue Grafikformate – JPEG2000 verbesserte JPEG-Version Ersatz DCT durch Wavelets Transformation
in der Regel um 30% bessere Kompressionsraten als JPEG aber mathematische Komplexität der Wavelets-Kompression rund zehn Mal höher als DCT ermöglicht progressiven Bildaufbau geringere Datenmenge, bei gleicher Qualität zu JPEG
Verbesserte Integration von Metadaten 256 Informationskanäle für Bildbeschreibung komplexe Farbräume verarbeitbar und speicherbar Bilder nach Größe, nach Auflösung oder nach Qualität skaliert darstellbar "level-of-interest"-Zugriff Datei-Endung .jp2 Dennis Heimann : Kodierung und Komprimierung von Bilddaten Seminar: Neue Technologien in Internet und WWW, Dr. rer. nat. H. Sack, Institut für Informatik, FSU Jena
36
6. Neue Grafikformate – JPEG2000 Wavelets-Transformation
DCT
Basisfunktionen: nicht periodische Cosinusfunktion (DCT), sondern örtlich begrenzte "Wavelets“ Grundprinzip
Wavelet pixelweise über Bild schieben und jeweils Mittelwert Umgebungspixeln berechnen Tiefpassfilter Abziehen des tiefpassgefilterten Bildes vom Ausgangsbild hohe Frequenzen Hochpassfilter Iterative Anwendung dieses Verfahrens auf Zeilen und Spalten des zu komprimierenden Bildes
Wavelets
keine Blockbildung in 8x8 Matrizen Verteilung der Fehler auf ganzes Bild für menschliches Auge natürlicher Kompression 1:100 Dennis Heimann : Kodierung und Komprimierung von Bilddaten Seminar: Neue Technologien in Internet und WWW, Dr. rer. nat. H. Sack, Institut für Informatik, FSU Jena
37
6. Neue Grafikformate – JPEG2000 DCT
Wavelets
Kompressionsrate bei beiden Bildern 1:100 38
6. Neue Grafikformate – DjVu „deja vu“ (schon mal gesehen) Abspeichern von Poster, Bücher, Landkarten usw. Überlegenheit bei Vorlagen aus Schrift und Zeichnungen auf farbigem Hintergrund, z.B. historische Dokumente Löst JPEG-Problem mit filigranen Mustern auf weichen Farbverläufen benutzt Separierung der Vorlage in Hintergrund- und Vordergrundinformationen, sowie spezielle darauf angewandte Kompressionsverfahren Vordergrundanteil Dennis Heimann : Kodierung und Komprimierung von Bilddaten Seminar: Neue Technologien in Internet und WWW, Dr. rer. nat. H. Sack, Institut für Informatik, FSU Jena
39
6. Neue Grafikformate – DjVu
Ausschnitt aus JPEG-Bild
Ausschnitt aus DJVU-Bild
45 KB, Kompression 532:1
41 KB, Kompression 584:1
Dennis Heimann : Kodierung und Komprimierung von Bilddaten Seminar: Neue Technologien in Internet und WWW, Dr. rer. nat. H. Sack, Institut für Informatik, FSU Jena
40
6. Neue Grafikformate – Fraktale Kompression viele natürliche Strukturen besitzen starke Selbstähnlichkeit Ausnutzen sich wiederholender Patern, die beim Hereinzoomen immer wieder auftreten Mittels iterierter Funktionssysteme mit wenigen Regeln komplexe und natürlich aussehende Bilder generierbar Bildinhalt als Fixpunkt einer iterierten Anwendung von Transformationsmatrizen definieren Vorteil Auflösungsunabhängigkeit Bilder jeder gewünscheten Auflösung jedes Bildstück durch mathematische Beziehungen beschrieben beliebig hereinzoombar Nachteil: sehr hoher Komprimierungsaufwand Dennis Heimann : Kodierung und Komprimierung von Bilddaten Seminar: Neue Technologien in Internet und WWW, Dr. rer. nat. H. Sack, Institut für Informatik, FSU Jena
41
42