Mathematische Grundlagen der Video – Kompression von Christian Müller GIS und Multimedia

  • Published on
    05-Apr-2015

  • View
    102

  • Download
    0

Embed Size (px)

Transcript

<ul><li> Folie 1 </li> <li> Mathematische Grundlagen der Video Kompression von Christian Mller GIS und Multimedia </li> <li> Folie 2 </li> <li> Allgemeines Einsatz von Videos im geodtischen Arbeitsbereich: Stdtebauliche Planung Zeigen von Ist Zustnden Photorealistische Visualisierung geplanter Bauobjekte Virtuelle Realitt Routenplanung Wege als Videos zeigen Lehre Aufnahme von Vorlesungen und Vortrgen Animationen Was hat das Thema mit dem Studium zu tun? </li> <li> Folie 3 </li> <li> Allgemeines Ein Film besteht aus einer Reihe von aufeinanderfolgenden Bildern Jedes Bild fr sich kann man als Bitmap Vollbild betrachten Problem: groe Datenmenge Woraus besteht ein Film? </li> <li> Folie 4 </li> <li> Allgemeines PAL Standard: 720 x 576 Pixel = 414.720 Pixel 414.720 Pixel x 3 (RGB Werte pro Pixel) = 1.244.160 Byte 1.244.160 Byte x 25 Bilder/s = 31.104.000 Byte 1 Sekunde Film = 30 MByte Rechenbeispiel 90 Minuten Film = 156 GByte </li> <li> Folie 5 </li> <li> Allgemeines Man unterscheidet: Verlustfreie Kompression: Nach der Dekompression kann das ursprngliche Signal wieder vollstndig hergestellt werden Verlustbehaftete Kompression: Das Signal wird nur annhernd wiederhergestellt Datenkompression Verfahren, um die Anzahl der Bits eines Signals herabzu zusetzen </li> <li> Folie 6 </li> <li> MPEG Format MPEG 1 Findet Anwendung bei sog. VideoCD VHS hnliche Qualitt MPEG 2 Kompatibel zu MPEG 1 Anwendung in der DVD Technologie und im digitalen Fernsehen (Premiere World) MPEG 4 DivX, Echtzeitkommunikation, Mobile Multimedia UMTS MPEG Familie </li> <li> Folie 7 </li> <li> MPEG Format Viele Informationen bleiben gleich, z.B.: der Hintergrund Idee: berflssige Informationen nicht mehrmals speichern redundante Informationen auslassen Unterschied zwischen zwei Bilder wird gespeichert Bild um die Unterschiede zum vorhergehenden Bild ergnzen Vergleichen von Bildern </li> <li> Folie 8 </li> <li> MPEG Format Es werden drei verschiedene Bildtypen benutzt: I Frame (intra frame): Ein komplettes Vollbild, welches alle Informationen enthlt P Frame (predictet frame): Einzelbild, welches lediglich die Differenz zum vorhergegangenem Bild enthlt B Frame (bidirctional frame): werden ausgehend von einem vorhergehenden und nachfolgenden Bild berechnet Verschiedene Bildtypen </li> <li> Folie 9 </li> <li> MPEG Format jede GOP enthlt eine I Frame als erstes Bild dazu mehrere P Frames die B Frames werden aus frheren und spteren P und I Frames abgeleitet Verschiedene Bildtypen Ein MPEG Datenstrom besteht in erster Linie aus einer Sequenz von groups-of-pictures (GOP). </li> <li> Folie 10 </li> <li> P B MPEG Format Veranschaulichung: Group of Pictures B P B B I Startbild ist das I Frame als Vollbild zum Einstieg </li> <li> Folie 11 </li> <li> P B MPEG Format Veranschaulichung: Group of Pictures B P B B I Startbild ist das I Frame als Vollbild zum Einstieg Zwischenbilder aus vorherigen I und P Frames </li> <li> Folie 12 </li> <li> P B MPEG Format Veranschaulichung: Group of Pictures B P B B I Startbild ist das I Frame als Vollbild zum Einstieg Zwischenbilder aus vorherigen I und P Frames Zwischenbilder aus vorigen und folgenden I und P - Frames </li> <li> Folie 13 </li> <li> P B MPEG Format Veranschaulichung: Group of Pictures B P B B I </li> <li> Folie 14 </li> <li> P B MPEG Format Veranschaulichung: Group of Pictures B P B B I </li> <li> Folie 15 </li> <li> P B MPEG Format Veranschaulichung: Group of Pictures B P B B I </li> <li> Folie 16 </li> <li> P B MPEG Format Veranschaulichung: Group of Pictures B P B B I </li> <li> Folie 17 </li> <li> P B MPEG Format Veranschaulichung: Group of Pictures B P B B I </li> <li> Folie 18 </li> <li> MPEG Format B Frames werden vom Decoder nur dann entschlsselt, wenn er den nachfolgenden P Frame kennt: Bildein / ausgabe </li> <li> Folie 19 </li> <li> MPEG Format B Frames werden vom Decoder nur dann entschlsselt, wenn er den nachfolgenden P Frame kennt: Bilder werden in einer anderen Reihenfolge abgespeichert, als man sie hinterher zu sehen bekommt Bildein / ausgabe </li> <li> Folie 20 </li> <li> MPEG Format Beispiel: Bildein / ausgabe B1B1 IB2B2 P1P1 B3B3 B4B4 P2P2 Betrachtungsreihenfolge </li> <li> Folie 21 </li> <li> MPEG Format Beispiel: Bildein / ausgabe B1B1 IB2B2 P1P1 B3B3 B4B4 P2P2 P1P1 IB1B1 B2B2 P2P2 B3B3 B4B4 Betrachtungsreihenfolge bertragungsreihenfolge </li> <li> Folie 22 </li> <li> Codierung von I Frames Bild wird in 8x8 groe Pixelblcke aufgetrennt Blcke werden einzeln bearbeitet Jeder Block durchluft die DCT Umwandlung bis auf Rundungsfehler verlustfrei Verwandt mit der Fouriertransformation Discrete Cosinustransformation II Umwandlung rumlicher Information und Helligkeitswerte in eine Frequenzdarstellung </li> <li> Folie 23 </li> <li> Codierung von I Frames Das menschliche Auge ist fr hohe Frequenzen weniger empfindlich. Discrete Cosinustransformation II </li> <li> Folie 24 </li> <li> Codierung von I Frames Das menschliche Auge ist fr hohe Frequenzen weniger empfindlich. je nach gewnschtem Kompressionsfaktor Vernachlssigung dieser Anteile Discrete Cosinustransformation II Wie geschieht dieses Weglassen von Hochfrequenzanteilen? </li> <li> Folie 25 </li> <li> Codierung von I Frames sogenannter Quantisierer sorgt fr die Verringerung der DCT Koeffizienten Koeffizienten nahe Null werden gleich Null gesetzt Dieser ganze Vorgang wird Quantisierung genannt. Quantisierung II </li> <li> Folie 26 </li> <li> Codierung von I Frames Beispiel: Discrete Cosinustransformation Bild II </li> <li> Folie 27 </li> <li> Codierung von I Frames Beispiel: Discrete Cosinustransformation 8x8 Pixelblock II </li> <li> Folie 28 </li> <li> Codierung von I Frames Beispiel: Discrete Cosinustransformation ursprngliche Werte 103101102105 3456109107 3028105106 101104106103 II </li> <li> Folie 29 </li> <li> Codierung von I Frames Beispiel: Discrete Cosinustransformation 103101102105 3456109107 3028105106 101104106103 ursprngliche Werte Transformierung DCT Koeffizienten II </li> <li> Folie 30 </li> <li> Codierung von I Frames Beispiel: Discrete Cosinustransformation 103101102105 3456109107 3028105106 101104106103 ursprngliche Werte II Farbwerte des Pixel der x-ten Matrixzeile und y-ten Matrixspalte </li> <li> Folie 31 </li> <li> Codierung von I Frames Beispiel: Discrete Cosinustransformation DCT Koeffizienten II Transformierte Werte in der u ten Zeile und v ten Spalte </li> <li> Folie 32 </li> <li> Codierung von I Frames Beispiel: Discrete Cosinustransformation 103101102105 3456109107 3028105106 101104106103 ursprngliche Werte 4050,2-0,21,3 30-0,40,7-3,2 -0,8-0,5-0,3-0,6 -2,02,2-0,5-1,6 Transformierung DCT Koeffizienten II </li> <li> Folie 33 </li> <li> Codierung von I Frames Beispiel: Discrete Cosinustransformation 103101102105 3456109107 3028105106 101104106103 ursprngliche Werte 4050,2-0,21,3 30-0,40,7-3,2 -0,8-0,5-0,3-0,6 -2,02,2-0,5-1,6 Transformierung DCT Koeffizienten DC Komponente bzw. Gleichanteil f = 0 II </li> <li> Folie 34 </li> <li> Codierung von I Frames Beispiel: Quantisierung und Kompression 4050,2-0,21,3 30-0,40,7-3,2 -0,8-0,5-0,3-0,6 -2,02,2-0,5-1,6 DCT Koeffizienten II </li> <li> Folie 35 </li> <li> Codierung von I Frames Beispiel: Quantisierung und Kompression 4050,2-0,21,3 30-0,40,7-3,2 -0,8-0,5-0,3-0,6 -2,02,2-0,5-1,6 DCT Koeffizienten 405001 30003 0000 -2200 Quantisierung Ergebnismatrix II </li> <li> Folie 36 </li> <li> Codierung von I Frames Beispiel: Quantisierung und Kompression 405001 30003 0000 -2200 Ergebnismatrix II </li> <li> Folie 37 </li> <li> Codierung von I Frames Beispiel: Quantisierung und Kompression 405001 30003 0000 -2200 Ergebnismatrix II </li> <li> Folie 38 </li> <li> Codierung von I Frames Beispiel: Quantisierung und Kompression 405001 30003 0000 -2200 Ergebnismatrix Zickzack 405 0 30 0 0 0 1 0 0 -2 2 0 -3 0 0 0 II </li> <li> Folie 39 </li> <li> Codierung von I Frames Beispiel: Quantisierung und Kompression 405030000100-220-3000 Wertefolge nach Zickzack Auslesung 405130312-221-33 Lauflngen Codierung II </li> <li> Folie 40 </li> <li> Codierung von I Frames Beispiel: Quantisierung und Kompression 405030000100-220-3000 Wertefolge nach Zickzack Auslesung 13231 405130312-221-33 Lauflngen Codierung II </li> <li> Folie 41 </li> <li> Codierung von I Frames Beispiel: Quantisierung und Kompression 405030000100-220-3000 Wertefolge nach Zickzack Auslesung 13231 405130312-221-33 Lauflngen Codierung II </li> <li> Folie 42 </li> <li> Codierung von P &amp; B Frames Motion Compensation Idee: Bildteile werden gesucht, die sich von Frame zu Frame nur verschieben, wie z.B.: sich bewegende Objekte An diese Bilder wird dann ein Bewegungsvektor weitergegeben PB Die Voraussage von P und B Frames geschieht mit der sog. Motion Compensation, d.h. bewegungskompensiert. </li> <li> Folie 43 </li> <li> Codierung von P &amp; B Frames Einteilung jedes Bildes in Makroblcke aus 16x16 Pixeln makroblockweise Abtastung, in welche Richtung sich der Inhalt eines Blocks verschiebt Blcke werden gem des Vektors verschoben und auf das Restbild addiert Aufteilung in Makroblcke PB </li> <li> Folie 44 </li> <li> Codierung von P &amp; B Frames Beispiel PB </li> <li> Folie 45 </li> <li> Codierung von P &amp; B Frames Beispiel PB </li> <li> Folie 46 </li> <li> Codierung von P &amp; B Frames Beispiel PB </li> <li> Folie 47 </li> <li> Codierung von P &amp; B Frames Werden allerdings keine bereinstimmenden Vektoren gefunden, wird dieses Bild als I Frame mittels DCT codiert. I Frame oder P / B Frame PB Strebt die Differenz zwischen zwei Makroblcken gegen Null, so wird hier der Bewegungsvektor berechnet und die Motion Compensation benutzt, um ein P bzw. B Frame zu codieren. </li> <li> Folie 48 </li> <li> Codierung von P &amp; B Frames Abtastverfahren PB </li> <li> Folie 49 </li> <li> Codierung von P &amp; B Frames Abtastverfahren PB </li> <li> Folie 50 </li> <li> Schluss Vergleich von Kompressionsraten DCT + Motion Compensation: Datenrate 4 MBit/s Zum Vergleich: unkomprimierter Film mit 30 MByte/s Kompression von 60:1 ohne starken Verlust mglich: 100:1 </li> <li> Folie 51 </li> <li> Noch Fragen, Kienzle? </li> </ul>