MPEG-Bewegungskompensation


next up gif
Next: Reduktionsmethode bei Real-Video Up: Das MPEG-Verfahren Previous: Die MPEG-Bildtypen

MPEG-Bewegungskompensation

  Bewegungskompensation bedeutet, daß redundante Bildinformationen, welche sich durch Koordinatenverschiebungen innerhalb einer Bildsequenz ergeben, nur durch einen Vektor mit Referenzierung auf einen Urblock codiert werden. Bei der Berechnung der Motion Compensation wird sich dabei jedoch ein Bilddetail nicht immer identisch über eine Folge mehrerer Bilder fortsetzen. Ein Pixelblock wird sich im Fall von Realvideo aufgrund des Grundrauschens immer mehr oder weniger vom vorhergehenden unterscheiden. Bei einer Person, die sich durch das Bild bewegt, ändert sich zum Beispiel der Sitz oder die Schattierung der Kleidung. Falls die Bildunterschiede signifikant sind, muß neben dem Motion-Vektor auch noch ein Fehlerbild codiert werden. Die Entscheidung, wohin sich ein Bildinhalt bewegt, kann nur aufgrund objektiver Kriterien erfolgen. Ein Video-Encoder wird daher in der Umgebung des früheren Ausgangsblocks nach einem Pixelblock suchen, der eine größtmögliche Ähnlichkeit besitzt (Abbildung gif). Ein denkbares Entscheidungskriterium ist zum Beispiel der mittlere quadratische Abstand der Werte der beiden 16xl6-Pixelblöcke. Gemeint ist damit, daß die Quadrate der Differenzen aller Luminanzwerte und Chrominanzwerte des Originalblocks und des Kandidatenblocks innerhalb des Suchbereiches errechnet und aufsummiert werden. Auf diese Art und Weise erhält man ein Maß für die Ähnlichkeit zweier Blöcke. Hat sich ein Block zum nächsten fortgepflanzt ohne sich zu verändern, ist die Differenz gleich Null. Eine sehr rechenaufwendige Methode wäre, für alle denkbaren Verschiebungen innerhalb des Suchbereichs die Summe der quadrierten Differenzen zu bilden. Im Encoder wird dann der Bewegungsvektor des Bildes mit dem kleinsten quadratischen Abstand zum Original als der beste ausgewählt. Die Suche nach dem besten Motion-Vektor kann mit einer Auflösung von einem Pixel oder einem halben Pixel erfolgen. Die für die Codierung verwendeten Vektoren besitzen dabei eine Auflösung von bis zu einem halben Pixel. Für die Suche nach dem Motion-Vektor kann linear zwischen benachbarten Pixeln interpoliert werden. Da der Rechenaufwand sehr erheblich ist, werden unterschiedliche Suchstrategien angewandt. So kann beispielsweise zunächst das Gitter der 48x48 ganzzahligen Verschiebungen abgesucht werden, um danach die 8 benachbarten Positionen mit einem Abstand von einem halben Pixel zu untersuchen. Eine weitere Methode benutzt für die Suche zunächst ein grobes Raster mit einem Abstand von mehreren Pixeln um es dann um die beste Position nach und nach zu verfeinern. Diese Methode kommt mit noch weniger Schritten aus. Allerdings wird die Wahrscheinlichkeit geringer, den optimalen Motion-Vektor zu finden. JPEG kann in der Regel mit einer 20- bis 25fachen Datenverdichtung Bilder guter Qualität komprimieren und dekomprimieren. MPEG erreicht durch das Motion-Compensation-Verfahren den dreifachen Wert. Berücksichtigt man, daß bei MPEG-1 Videobilder vor der eigentlichen Kompression auf CIF heruntergerechnet werden, so ergeben sich Datenverdichtungen um den Faktor 240. (CIF (Common Intermediate Format) entspricht einer Auflösung von 352*288 Pixel (352*240 Pixel bei NTSC) - ermöglicht ganzzahlige Aufteilung in 16x16 Blöcke.) Dies bedeutet - bildlich gesehen, daß zehn Pixel mit je acht Bit für die Rot-, Grün- und Blau-Werte durch nur ein Bit dargestellt werden.

  
Figure: Bereich für die Suche nach Bewegungsvektoren [Buc94]


next up gif
Next: Reduktionsmethode bei Real-Video Up: Das MPEG-Verfahren Previous: Die MPEG-Bildtypen



Klaus Schroiff
Tue May 2 16:02:11 MET DST 1995