Upload
phamminh
View
221
Download
2
Embed Size (px)
Citation preview
© H.-D. Wuttke 2012
Kompressionsverfahren
Quelle: Steinmetz, Ralf: Multimedia-Technologie: Einführung und Grundlagen, Springer, Verlag
© H.-D. Wuttke 2012
Adaptive Huffman - Kodierung
Nach 17 Zeichen: A(1),B(2),C(2),D(2),E(10) Kodierung A: 000
0
0
1
00
1
1 1
© H.-D. Wuttke 2012
Adaptive Huffman - Kodierung
Nach 2 weiteren A: A(3),B(2),C(2),D(2),E(10) Kodierung A: 011
0
0
1
00
1
1 1
© H.-D. Wuttke 2012
Adaptive Huffman - Kodierung
Nach zwei weiteren A: A(5),B(2),C(2),D(2),E(10) Kodierung A:10
0
0
1
1
© H.-D. Wuttke 2012
Arithmetische Kodierung
0,1
0,5
0,7
k
© H.-D. Wuttke 2012
Kompressionsverfahren
Quelle: Steinmetz, Ralf: Multimedia-Technologie: Einführung und Grundlagen, Springer, Verlag
© H.-D. Wuttke 2012
Verlustbehaftete Kompressionsalgorithmen
• Wo treten Verluste auf?
• Warum kann man sie in Kauf nehmen?
• Welche Nebeneffekte entstehen?
• Welche Vorteile bringen Transformationen?
• Was sind unsymmetrische Algorithmen?
© H.-D. Wuttke 2012
DPCM
• Differential Pulse Code Modulation
• Prädiktionskodierung
• Hohe Kompressionsraten bei optimaler Berücksichtigung der Quelleneigenschaften
• Speziell für Klasse von Informationen (Audio, Video, Bild)
© H.-D. Wuttke 2012
DPCM
• Quelleneigenschaft: • geringe Differenzen zwischen Nachbarn
• Prediction (Vorhersage)
• Annahme: nächstes Feld gleich
• Differenzbildung, Übertragung der Differenz
• 195 – 204 Diff 9: statt 8 Bit nur 4 Bit
© H.-D. Wuttke 2012
DPCM
• Beispiel
© H.-D. Wuttke 2012
Kompressionsverfahren
Quelle: Steinmetz, Ralf: Multimedia-Technologie: Einführung und Grundlagen, Springer, Verlag
© H.-D. Wuttke 2012
FFT <> DCT
streichen streichen
Quelle: Ze-Nian Li : Script Multimedia Systems, Simon Fraser University, Canada
© H.-D. Wuttke 2012
JPEG: Senkrechte Linie
© H.-D. Wuttke 2012
JPEG: Waagerechte Linie
© H.-D. Wuttke 2012
JPEG: Ecke
© H.-D. Wuttke 2012
Kompressionsverfahren
Quelle: Steinmetz, Ralf: Multimedia-Technologie: Einführung und Grundlagen, Springer, Verlag
© H.-D. Wuttke 2012
JPEG
Farbraum Konvertierung RGB => Y Cb Cr
DCT (Discrete Cosine Transformation)
Quantisierung
Zick-zack Scan
DPCM für DC Komponente, RLE für AC Komponenten
Entropy Kodierung
© H.-D. Wuttke 2012
Transformation RGB => YCbCr
Y = 0.299R + 0.587G + 0.114B
U = (B – Y) Cb = (B - Y) / 1.772 + 0.5
V = (R – Y) Cr = (R - Y) / 1.402 + 0.5
YUV used in PAL (depends on implementation)
CbCr used in JPEG and MPEG
© H.-D. Wuttke 2012
Digitalisierung
Y
U V
Quelle: Ze-Nian Li : Script Multimedia Systems, Simon Fraser University, Canada
© H.-D. Wuttke 2012
Diskrete Cosinustransformation
DCT
DC Wert 0,0
AC Werte
Zeilen 0-7
Spalten 0-7
Quelle: Ze-Nian Li : Script Multimedia Systems, Simon Fraser University, Canada
© H.-D. Wuttke 2012
DCT
Quelle: Ze-Nian Li : Script Multimedia Systems, Simon Fraser University, Canada
© H.-D. Wuttke 2012
DCT
Factorized Discrete Cosine Transform (DCT):
Inverse Discrete Cosine Transform (IDCT):
source: Ze-Nian Li : Script Multimedia Systems, Simon Fraser University, Canada
© H.-D. Wuttke 2012
Diskrete Cosinus Transformation (DCT)
Basisfunktionen für jeden 8x8 Block
Durch-schnitts-
wert (DC)
1/2 vertikale Cosinusperiode
7/2 vertikale Cosinusperioden
1/2 horizontale Cosinusperiode
source: Ze-Nian Li : Script Multimedia Systems, Simon Fraser University, Canada
© H.-D. Wuttke 2012
Vorteil der Transformation
DCT (Discrete Cosine Transformation)
8x8 Matrix enthält nach DCT sortierte Werte:
tiefe Frequenzen links oben hohe rechts unten
Frequenz = senkrechte/ waagerechte Linien
Quantisierung im Frequenzbereich möglich
© H.-D. Wuttke 2012
JPEG: Senkrechte Linie
Quelle: http://www.spemaus.de/studium/visjpeg/
© H.-D. Wuttke 2012
JPEG: Waagerechte Linie
Quelle: http://www.spemaus.de/studium/visjpeg/
© H.-D. Wuttke 2012
JPEG: Ecke
Quelle: http://www.spemaus.de/studium/visjpeg/
© H.-D. Wuttke 2012
DCT
Faktorisierung wagerecht und senkrecht separat berechnen
Detailinformationen links unten
Division der Werte => Informationsverlust
Quantisierung
© H.-D. Wuttke 2012
Quantisierung
Division der Werte durch Konstante durch Quantisierungsmatrix
Quantisierung bestimmt die Qualität und den Grad der Komprimierung
Hauptverlustquelle
© H.-D. Wuttke 2012
Quantization
Luminanz Quantisierungstabelle q(u, v) Chrominanz Quantisierungstabelle q(u, v)
-------------------------------------- ----------------------------------16 11 10 16 24 40 51 61 17 18 24 47 99 99 99 9912 12 14 19 26 58 60 55 18 21 26 66 99 99 99 9914 13 16 24 40 57 69 56 24 26 56 99 99 99 99 9914 17 22 29 51 87 80 62 47 66 99 99 99 99 99 9918 22 37 56 68 109 103 77 99 99 99 99 99 99 99 9924 35 55 64 81 104 113 92 99 99 99 99 99 99 99 9949 64 78 87 103 121 120 101 99 99 99 99 99 99 99 9972 92 95 98 112 100 103 99 99 99 99 99 99 99 99 99---------------------------------------- -----------------------------------
Skalierbar für unterschiedliche Qualitätsstufen und Kompressionsraten
source: Ze-Nian Li : Script Multimedia Systems, Simon Fraser University, Canada
© H.-D. Wuttke 2012
Zick Zack Scan
Erzeugen eines Vektors
Wichtigste Elemente zuerst im Vektor
Quelle: Ze-Nian Li : Script Multimedia Systems, Simon Fraser University, Canada
© H.-D. Wuttke 2012
DCPM und RLC
DPCM für DC - Komponenten
RLCfür AC - Komponenten
Danach Huffman Kodierung des Ergebnisvektors
© H.-D. Wuttke 2012
Übersicht JPEG
Quelle: Ze-Nian Li : Script Multimedia Systems, Simon Fraser University, Canada
© H.-D. Wuttke 2012
Dateiformat JPEG
Quelle: Ze-Nian Li : Script Multimedia Systems, Simon Fraser University, Canada
© H.-D. Wuttke 2012
JPEG Varianten
Sequential Mode bisher behandelter Modus
Lossless Mode verlustfrei mit Differenzkodierung
Progressive Modevon grob nach fein (DC+10AC…)
Hierarchical ModeMehrfach Kodierung und Dekodierung mit unterschiedlichen Bildgrößen
© H.-D. Wuttke 2012
Video compression algorithm
Pre knowledge (digital video, JPEG)
Properties
Frame sequence encoding
Video cut
© H.-D. Wuttke 2012
Formats / number of Pixel
© H.-D. Wuttke 2012
Digital Video HDTV
PAL 720p 1080i
Vertical resolution
576 lines 720 lines 1080 lines
Horizontal resolution
720 lines 1280 lines 1920 lines
Pixel (max.) 414.720 921.600 2.073.600
frames interlaced progressive interlaced
format 4:3 (1,33:1) 16:9 (1,78:1) 16:9 (1,78:1)
© H.-D. Wuttke 2012
MPEG
H.261 as Standard for p*64kBit/s (p=1... 30)
Sub sampling 4:1:1 (Y Cb Cr)CIF Common Intermediate Format (352 x 288 pixel)QCIF (176 x 144 pixel) 30fpsMacro blocks 4Y (8*8) + 1Cb(8*8) + 1Cr(8*8)Picture => Group of Macro blocks (12 GOBs = CIF)Macro blocks => Blocks => Pixel => YCC
© H.-D. Wuttke 2012
MPEG 1
MPEG: Motion Picture Expert Group
Audio/Video with 1.5 Mbit/s (~ Data rate Audio-CD)Based on H.261 and JPEG
© H.-D. Wuttke 2012
MPEG
MPEG: Frame-Types
I-Frames: Intra-coded-frames, JPEGP-Frames: Predictive coded frames,
Difference frame + motion vectorReference to previous I or P- Frame
B-Frames: Bi-directional predictive coded framesReference to previous and next frameInterpolation
D-Frame: DC-coefficients for search (>>, <<)
© H.-D. Wuttke 2012
MPEG
Decoding:1. I - Frame2. P- Frame3. B- Frame
=> other Frame-sequence in file
Sequence of frames: I B B P B B P B B I B B P B…Sequence in file: I P B B ...
.
.
.
© H.-D. Wuttke 2012
Bewegungsvorhersage (1)
16x16 oder 8x8 Macroblöcke
Auffinden der Macroblöcke im Vorgängerbild -> Übertragung des Bewegungsvektors
Abschließende Entropiecodierung der Bewegungsvektoren
© H.-D. Wuttke 2012
Motion prediction (2)
Suchbereich
Bewegungsvektor
Macroblock desNachfolgbildes
Block mit besterÜbereinstimmung
© H.-D. Wuttke 2012
DCT + Q
IDCT
MCP
ME
IDCT
MCP
-
+
+
Encoder Decoder
Video In
Bewegungsvektoren
Video OutPrädiktionsfehler-
Signal
Motion prediction
MCP Motion Compensated Prediction
ME Motion Estimationcompare actual picture
with reproduced previous picture (Reference)
Differential picture
Motion vector
© H.-D. Wuttke 2012
DCT + Q
IDCT
MCP
ME
IDCT
MCP
-
+
+
Encoder Decoder
Video In
Bewegungsvektoren
Video OutPrädiktionsfehler-
Signal
DCT + Q Ddiskrete Cosinus Transformation mit QuantisierungIDCT Inverse DCTMCT Bewegungskompensierte Prädiktion ( )ME Bewegungsschätzung ( Motion Estimation )
Prinzip der Bewegungserkennung
MCP
© H.-D. Wuttke 2012
MPEG Schnitt (I-Frame)
Originalübernehmen
Framefolge: I B B P B B P B B I B B P B…neu: I B B P B B P ...
.
.
.
© H.-D. Wuttke 2012
MPEG Schnitt (P - Frame)
Algorithmus:Neuberechnung:P => I
Rest = Original
Framefolge alt: P B B P B B I B B P B…Neu: I B B P B B I B B P
.
.
.
© H.-D. Wuttke 2012
MPEG Schnitt (B - Frame)
Algorithmus:Neuberechnung:B => IP => IRest übernehmen
Framefolge alt: B B P B B I B B P B…neu: I I I I I I B B P B ...
.
.
.
© H.-D. Wuttke 2012
Technique of DivX;-)
Video compression algorithm based on MPEG 1 and 2
Hybrid encodinglossy reduction of irrelevant partslossless reduction of Redundancies
Improved Motion prediction as in MPEG 1and 2
© H.-D. Wuttke 2012
Video compressions
Data ratein MBit/s
resolution Bit rateconst/var
year
MPEG 1 1,4 ( bis 4 )
352x288(CIF)
constant 1992
MPEG 2 2 – 15( typ. 5 )
720 x 576Variabel
Variabel 1994
MPEG 4 0,08 - 4 720x576 Variabel
Variabel 1998
DivX;-) 0.2 - 6 640x358Variabel
Variabel 1999