Grundlagen der Signalverarbeitung und Robo7k

MIN-­‐Fakultät   Fachbereich  Informa7k   Arbeitsbereich  SAV/BV  (KOGS)   Grundlagen  der  Signalverarbeitung   und  Robo7k   Teil  1:  Grundlagen...
Author: Hannah Abel
2 downloads 1 Views 9MB Size
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