MIN-‐Fakultät Fachbereich Informa7k
Arbeitsbereich SAV/BV (KOGS)
Grundlagen der Signalverarbeitung und Robo7k
Teil 1: Grundlagen der Signalverarbeitung
Vorlesung 5: Datenkompression Benjamin Seppke Jianwei Zhang
Vorlesung 5: Datenkompression
Datenkomprimierung Datenkomprimierung dient der Einsparung von Speicherplatz und von Übertragungskapazität für digitale Daten. Dabei werden Daten in neuen Datenstrukturen platzsparender repräsenNert. Wir behandeln Komprimierungstechniken am Beispiel von Bilddaten. Bildkomprimierung ist wichNg für • Bildarchivierung z.B. Satellitenbilder • Bildübertragung z.B. Bilder aus dem Internet • MulNmedia-‐Anwendungen z.B. BildschirmediNerarbeiten Datenkompression nutzt Redundanz zum Komprimieren aus: Digitalbild
redundanzvermindernde Kodierung
Übertragung, Speicherung
Dekodierung 08.05.14
Benjamin Seppke, Grundlagen der Signalverarbeitung, Universität Hamburg, FB InformaNk
2
Vorlesung 5: Datenkompression
Unterscheidung von Datenkompressionsarten Verlus]reie Datenkompression:
• Originaldaten können exakt aus komprimierten Daten wiederhergestellt werden. • Beispiele – Datei-‐Komprimierung, z.B. ZIP, GZ u.ä. – Bildformate TIF und PNG
Verlustbehaaete Datenkompression:
• Originaldaten können näherungsweise aus komprimierten Daten wiederhergestellt werden. • Beispiele – JPEG Bilddateien – MP3 Audiodateien
08.05.14
Benjamin Seppke, Grundlagen der Signalverarbeitung, Universität Hamburg, FB InformaNk
3
Vorlesung 5: Datenkompression
Lauflängenkodierung Bilder mit wiederholten Grauwerten können durch Speichern von "Läufen" (runs) mit gleichen Grauwerten komprimiert werden.
Grauwert1
Wiederholfaktor1
Grauwert2
Wiederholfaktor2
Bei S/W Bildern (z.B. Faxdaten) wird eine spezielle Lauflängenkodierung angewendet: Zeile # Spalte # Spalte # Spalte # Spalte # Anfang Lauf1 Ende Lauf1 Anfang Lauf2 Ende Lauf2 0 0 1 2 3 08.05.14
1
2
3
4
5
6
7
8
9 10 11 12 13 14 15
• • •
• • •
Lauflängenkodierung: (0 3 5 9 9) (1 1 7 9 9) (3 4 4 6 6 8 8 10 10 12 14)
Benjamin Seppke, Grundlagen der Signalverarbeitung, Universität Hamburg, FB InformaNk
4
Vorlesung 5: Datenkompression
Probabilis7sche Datenkomprimierung In einem diskreten Bild wird InformaNon redundant kodiert, wenn 1. die Grauwerte der Pixel nicht gleichverteilt sind, und / oder 2. die Grauwerte von Pixeln korreliert sind Die InformaNonstheorie beschreibt Grenzen für minimales (verlus]reies) Kodieren von InformaNon. Redundanz einer Kodierung von Pixeln mit G Graustufen: r = b - H b = !"log 2 G #$ = Anzahl der Bits pro Pixel G−1 1 H = ∑ P(g) log 2 H = Entropie einer "Pixelquelle" g=0 P(g)
= minlere Zahl von Bits, die zum Kodieren dieser InformaNonsquelle erforderlich sind
Die Entropie einer Pixelquelle mit gleichwahrscheinlichen Grauwerten ist gleich der Zahl der Bits zur Kodierung der Grauwerte. 08.05.14
Benjamin Seppke, Grundlagen der Signalverarbeitung, Universität Hamburg, FB InformaNk
5
Vorlesung 5: Datenkompression
Huffman Kodierung (1) Ein Huffmann-‐Code erlaubt es, Nachrichten mit minimaler minlerer Länge, d.h. mit minimaler Redundanz, zu kodieren. "Nachrichten" (hier Grauwerte von Pixeln) werden mit unterschiedlichen Kodewortlängen kodiert.
Ablauf: 1.
Ordne Nachrichten nach absteigenden Wahrscheinlichkeiten. g(1) und g(2) seien die am wenigsten wahrscheinlichen Nachrichten.
2.
Teile dem Codewort von g(1) eine 1 und dem Codewort von g(2) eine 0 zu.
3.
Fasse g(1) und g(2) durch AddiNon der Wahrscheinlichkeiten zu einer Nachricht zusammen.
4.
Wiederhole Schrine 1 bis 4, bis eine einzige Nachricht übrig bleibt.
08.05.14
Benjamin Seppke, Grundlagen der Signalverarbeitung, Universität Hamburg, FB InformaNk
6
Vorlesung 5: Datenkompression
Huffman Kodierung (2) Beispiel: Nachricht g(5) g(4) g(3)
Wahrscheinlichkeit
0
0.30 0.25 0.25
g(2)
0.10
g(1)
0.10
0
0 0.20
1
0.55
1 0.45
0 1
1
ResulNerende Codierungen: Nachricht
08.05.14
Wahrscheinlichkeit Codierung
g(5)
0.30
00
g(4)
0.25
01
g(3)
0.25
10
g(2)
0.10
110
g(1)
0.10
111
Entropie: H = 2.185
Minlere Kodewortlänge: 2.2
Benjamin Seppke, Grundlagen der Signalverarbeitung, Universität Hamburg, FB InformaNk
7
Vorlesung 5: Datenkompression
Sta7s7sche Abhängigkeiten Ein Bild kann als eine Menge von Zufallsvariablen mit einer mulNvariaten Verteilung p ( x ) = p ( x 1 , x 2 ,…, x N ) modelliert werden. Die exakte Verteilung ist meist unbekannt, aber KorrelaNonen können häufig besNmmt werden. KorrelaNon von zwei Variablen:
E !" xi x j #$ = cij ! % % E !" x x T #$ = % % % "
Kovarianz von zwei Variablen: E "#(xi − µi )(x j − µ j )$% = vij
c11
c12
c21 c22 c31 c32
c13 # & c23 & & c33 & & $
Korrela'onsmatrix
" & & E "#( x − µ )( x − µ )T $% = & & & #
mit µ k = Mittelwert von xk v11
v12
v21 v22 v31
v32
v13 $ ' v23 ' ' v33 ' ' %
Kovarianzmatrix
Anmerkung: Unkorrelierte Variable müssen nicht staNsNsch unabhängig sein:
E !" xi x j #$ = 0 ⇒
( ) ( ) ( )
p xi x j = p xi ⋅ p x j
Aber: Unkorrelierte Gauß'sche Zufallsvariable sind staNsNsch unabhängig 08.05.14
Benjamin Seppke, Grundlagen der Signalverarbeitung, Universität Hamburg, FB InformaNk
8
Vorlesung 5: Datenkompression
Karhunen-‐Loève T ransforma7on (auch bekannt als Hauptkomponentenanalyse ) BesNmme unkorrelierte Variable y von korrelierten Variablen x durch eine lineare TransformaNon. y = A( x − µ ) ! T$ E !" y y T #$ = A E #( x − µ ) ( x − µ ) & AT = AVAT = D " %
D ist eine Diagonalmatrix
• Es exisNert stets eine orthonormale Matrix A, die eine reelle symmetrische Kovarianzmatrix V diagonalisiert. • A ist die Matrix der Eigenvektoren von V, D ist die Matrix der zugehörigen Eigenwerte.
RekonstrukNon von x aus y über: x = AT y + µ
x Anmerkung: Betrachtet man als Punkt im n-‐dimensionalen Euklid'schen Vektorraum, dann definiert A ein roNertes Koordinatensystem. 08.05.14
Benjamin Seppke, Grundlagen der Signalverarbeitung, Universität Hamburg, FB InformaNk
9
Vorlesung 5: Datenkompression
Kompression and Rekonstruk7on mit der Karhunen-‐Loève Transforma7on
Wir nehmen an, dass die Eigenwerte λ i und die zugehörigen Eigenvektoren von A in absteigender Reihenfolge sorNert sind: λ1 ≥ λ2 ≥… ≥ λ N ! λ 0 0 $ Eigenvektoren a und Eigenwerte λ sind definiert durch # 1 & V a = λ a und können besNmmt werden, indem man # 0 λ 0 & 2 D = det (V − λ I ) = 0 löst. # & # 0 0 λ3 & Zum BesNmmen der Eigenwerte von reellen # & % symmetrischen Matrizen gibt es spezielle Verfahren. " x kann in einen K-‐dimensionalen Vektor y K , K < N transformiert werden, mit einer TransformaNonsmatrix AK, die nur die ersten K Eigenvektoren von A enthält, korrespondierend zu den K größten Eigenwerten: y K = AK x − µ Die angenäherte RekonstrukNon x ! minimiert den minleren quadraNschen Fehler (MSE – mean square error) einer RepräsentaNon mit K Dimensionen: T x! = AK y K + µ Deshalb kann y K zur (verlustbehaaeten) Datenkomprimierung verwendet werden.
(
08.05.14
)
Benjamin Seppke, Grundlagen der Signalverarbeitung, Universität Hamburg, FB InformaNk
10
Vorlesung 5: Datenkompression
Illustra7on der Dimensionsreduk7on Mit der Karhunen-‐Loève-‐TransformaNon wird Datenkompression erreicht durch •
Wechseln (Drehen) des Koordinatensystems
•
Weglassen der am wenigsten informaNven Dimensionen
Beispiel:
x2
y2
• • • • • • •• • • • • • • •
y1
x2
x1
x1
y2
y1 08.05.14
• • • •• •• •••• • •• •
Benjamin Seppke, Grundlagen der Signalverarbeitung, Universität Hamburg, FB InformaNk
y1 11
Vorlesung 5: Datenkompression
Eigenfaces (1)
Turk & Pentland: Face RecogniNon Using Eigenfaces (1991)
Eigenfaces = Eigenvektoren der Kovarianzmatrix von normalisierten Gesichtsbildern
Beispielbilder des Eigenface-‐Projekts an der Rice University 08.05.14
Benjamin Seppke, Grundlagen der Signalverarbeitung, Universität Hamburg, FB InformaNk
12
Vorlesung 5: Datenkompression
Eigenfaces (2) Die ersten 18 Eigenfaces (= ersten 18 Eigenvektoren) der Kovarianzmatrix von 86 Gesichtsbildern:
08.05.14
Benjamin Seppke, Grundlagen der Signalverarbeitung, Universität Hamburg, FB InformaNk
13
Vorlesung 5: Datenkompression
Eigenfaces (3) Originalbilder und RekonstrukNonen aus 50 Eigenfaces:
08.05.14
Benjamin Seppke, Grundlagen der Signalverarbeitung, Universität Hamburg, FB InformaNk
14
Vorlesung 5: Datenkompression
Diskrete Kosinus-‐Transforma7on (DCT) Die Diskrete Kosinus-‐TransformaNon ist in Bildkompressionsverfahren verbreitet, z.B. im JPEG (Joint Photographic Expert Group) Standard. 1 N −1 N −1 G00 = ∑ ∑ g mn DefiniNon der DCT: N m=0 n=0 N −1 N −1 1 Guv = ∑ ∑ gmn cos[(2m +1)uπ ] cos[(2n +1)vπ ] 2N 3 m=0 n=0 N −1 N −1 1 1 g = G + Inverse DCT: ∑ ∑ G cos[(2m +1)uπ ] cos[(2n +1)vπ ] mn N 00 2N 3 u=0 v=0 uv Die DCT berechnet im Effekt die Fourier-‐TransformaNon einer FunkNon, die bei N durch Ergänzung einer gespiegelter Kopie symmetrisch gemacht wurde. 1. Resultat enthält keine Sinusterme 2. Keine Fehler durch periodische Fortsetzung. Eine Kompression erfolgt erst durch Beschränkung auf niedere Frequenzen oder gröbere Kodierung höherer Frequenzen. 08.05.14 Benjamin Seppke, Grundlagen der Signalverarbeitung, Universität Hamburg, FB InformaNk 15
Vorlesung 5: Datenkompression
Koeffizienten der 2D-‐Kosinustransforma7on Die Koeffizienten einer 8x8-‐DCT-‐TransformaNon repräsenNeren Kosinus-‐ Bestandteile mit Längen von Vielfachen von π:
08.05.14
Benjamin Seppke, Grundlagen der Signalverarbeitung, Universität Hamburg, FB InformaNk
16
Vorlesung 5: Datenkompression
Prinzip von "Baseline JPEG" (JPG Grundformat) (Quelle: Gibson et al., Digital Compression for MulNmedia, Morgan Kaufmann 98)
8 x 8 Blöcke
Kodierer FDCT
Daten der Bildquelle
Quantisierer
Entropiekodierer
jeweils tabellierte SpezifikaNonen
komprimierte Bilddaten
Vorgehensweise im Detail: • • • • • • •
von RGB nach YCbCr transformieren, FarbinformaNon unterabtasten Bild in 8 x 8 Blöcke parNNonieren, von links nach rechts, von oben nach unten Diskrete Kosinus-‐TransformaNon (DCT) von jedem Block berechnen Koeffizienten der DCT entsprechend psychovisuellen Tabellen quanNsieren DCT Koeffizienten im Zickzack anordnen Lauflängenkodierung des Bitstroms aller Koeffizienten eines Blocks Huffman-‐Kodierung für Bitmuster eines Blocks
08.05.14
Benjamin Seppke, Grundlagen der Signalverarbeitung, Universität Hamburg, FB InformaNk
17
Vorlesung 5: Datenkompression
YCbCr Farbmodell für JPEG Menschliche Augen sind gegenüber Luminanzschwankungen (Helligkeit) empfindlicher als gegenüber Chrominanzschwankungen (Farbe). YCbCr Farbkodierung verwendet für Chrominanz weniger Bits als für Luminanz.
CCIR-‐601 Schema: Y = Cb = Cr =
0.299 R + 0.587 G + 0.144 B 0.169 R -‐ 0.331 G + 0.500 B 0.500 R -‐ 0.419 G -‐ 0.081 B
"Luminanz“ "Blaugehalt" "Rotgehalt"
In JPEG: • 1 Cb, 1 Cr und 4 Y Werte für jedes 2 x 2 Teilbild 6 anstelle von 12 Werten! 08.05.14
Benjamin Seppke, Grundlagen der Signalverarbeitung, Universität Hamburg, FB InformaNk
18
Vorlesung 5: Datenkompression
Illustra7onen zur Grundform von JPEG a0 a1
• • • • • • • • a2 • • • • • • • • a3 • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • a63 Reihenfolge der DCT-‐ Koeffizienten zur effizienten Lauflängenkodierung
Zerlegen eines Bildes in Blöcke
DCTKoeffizienten 1 0 1 • • • 62 63
• • • 2
7 6 MSB 08.05.14
•••
1 0
Übertragungsreihenfolge von Bildblöcken
LSB
Benjamin Seppke, Grundlagen der Signalverarbeitung, Universität Hamburg, FB InformaNk
19
Vorlesung 5: Datenkompression
JPEG-‐komprimiertes Bild
Original mit 5.8 MB 08.05.14
JPEG-‐komprimiert auf 450 KB
Differenzbild Standardabweichung der Luminanzwerte: 1.44
Benjamin Seppke, Grundlagen der Signalverarbeitung, Universität Hamburg, FB InformaNk
20
Vorlesung 5: Datenkompression
Probleme mit der Blockstruktur von JPEG JPEG-Kodierung mit einer Kompressionsrate von 1:70
Blockgrenzen sind deutlich erkennbar!
08.05.14
Benjamin Seppke, Grundlagen der Signalverarbeitung, Universität Hamburg, FB InformaNk
21
Vorlesung 5: Datenkompression
Progressives Kodieren Progressive Kodierung ermöglicht es, zuerst eine Grobversion eines Bildes und dann fortschreitende Verfeinerungen zu übertragen (angenehm für schnelle BildinspekNon im Internet). • Spektrale Auswahl 1. Übertragung: 2. Übertragung: etc.
DCT-‐Koeffizienten a0 ... ak1 niederfrequente DCT-‐Koeffizienten ak1 ... ak2 Koeffizienten zuerst
• Auswahl von signifikanten Bits 1. Übertragung: Bits 7 ... n1 2. Übertragung: Bits n1+1 ... n2 etc.
08.05.14
signifikante Bits zuerst
Benjamin Seppke, Grundlagen der Signalverarbeitung, Universität Hamburg, FB InformaNk
22
Vorlesung 5: Datenkompression
Bildrepräsenta7on als Quadbaum Eigenschaaen: • • • • •
Jeder Knoten repräsenNert eine rechteckige Bildfläche, z.B. durch dessen Minelwert Jeder Knoten hat 4 Kinder, mit Ausnahme der Blanknoten Kinder eines Knoten repräsenNeren gleichgroße Teilrechtecke Knoten können bei Bedarf weiter verfeinert werden Teilrechtecke werden entsprechend der Zerlegungsschrine adressiert 100 101 102 103
11
Baumstruktur:
Wurzel
0 12
2
13
3
0
10
1
11
2
12
3
13
100 101 102 103 08.05.14
Benjamin Seppke, Grundlagen der Signalverarbeitung, Universität Hamburg, FB InformaNk
23
Vorlesung 5: Datenkompression
Bildkompression mit einem Quadbaum Ein vollständiger Quadbaum repräsenNert ein Bild mit N = 2K x 2K Pixeln durch 1 + 4 + 16 + ... + 22K ≈ 1.33 N Knoten. Ein Bild kann komprimiert werden, •
indem jeder Kindknoten nur die Differenz zum Elternknoten speichert
•
indem Teilbäume mit (annähernd) gleichen Werten weggelassen werden
Quadbaum-‐Bildkompression unterstützt progressive Bildübertragung: •
Bilder werden mit steigender QuadbaumNefe übertragen, d.h. Bilder werden fortschreitend verfeinert
•
ZwischenrepräsentaNonen bieten interessante NäherungsinformaNonen, z.B. zum Abruf von ähnlichen Bildern
08.05.14
Benjamin Seppke, Grundlagen der Signalverarbeitung, Universität Hamburg, FB InformaNk
24