www.wikidata.de-de.nina.az
Unter dem Oberbegriff Motion Compensation dt etwa Bewegungsausgleich oder Motion Prediction deutsch Bewegungsvorhersage wird eine Reihe von Algorithmen zusammengefasst die hauptsachlich bei der Videokompression eingesetzt werden Die temporaren Relationen zwischen benachbarten Einzelbildern frames werden ausgenutzt um die Gesamtmenge der zu komprimierenden Daten zu minimieren Vereinfacht ausgedruckt heisst dies dass Bildbereiche die uber mehrere Einzelbilder hinweg sehr ahnlich aussehen nicht in einer weiteren Kopie gespeichert werden sondern nur die Veranderung ihrer Position gegenuber anderen Bildern Visualisierte Bewegungsvektoren der MPEG Kodierung uber einem Standbild aus Elephants Dream Erkennbar sind die Bewegungen der verschiedenen Plattformen und Korperteile der Figur Einfache Kompressionsverfahren reduzieren nur unbewegte Bildanteile beispielsweise den Hintergrund vor dem ein Nachrichtensprecher sitzt oder einfache Kamerabewegungen wie Zoom Horizontal oder Vertikalverschiebung Aktuelle Videocodecs verwenden jedoch komplexere Algorithmen welche auch bewegte Bildanteile entsprechend komprimieren konnen Hierbei wird die Bewegungsrichtung eines Objektes vorhergesagt und durch einen Bewegungs oder Verschiebungsvektor beschrieben Ab dann muss nur noch der entsprechende Verschiebungsvektor gespeichert werden welcher deutlich weniger Speicher als die eigentlichen Bilddaten benotigt was zu einer teils enormen Platzersparnis fuhrt Im Endeffekt wird nur das erste Bild der Szene vollstandig gespeichert Fur die folgenden Einzelbilder mussen dann lediglich diejenigen Bildteile neu hinterlegt werden die ursprunglich durch das sich bewegende Objekt verdeckt waren Allerdings wird dennoch ublicherweise das komplette Bild in regelmassigen Abstanden neu gespeichert um sowohl die Fehlertoleranz zu erhohen als auch das Hin und Herspringen innerhalb einer Videodatei zu ermoglichen Inhaltsverzeichnis 1 Funktionsweise 2 Block Motion Compensation 3 Quarter Pixel Motion Compensation 4 Global Motion Compensation GMC 5 Siehe auch 6 EinzelnachweiseFunktionsweise BearbeitenDie Motion Compensation basiert auf der Beobachtung dass ein Grossteil der Bewegung in Bildern aus einer Verschiebung eines Bildelements besteht Die Motion Compensation nimmt jeden Makroblock und vergleicht ihn mit allen moglichen Makroblocken die durch horizontale oder vertikale Verschiebungen in kleinen Schritten gebildet werden Wenn die beste Anpassung gefunden wurde werden dem Empfanger Anweisungen ubermittelt mit dem Inhalt des Makroblocks zu arbeiten und ihn anschliessend mit einem Bewegungsvektor an seine neue Position zu verschieben Anweisungen an den Empfanger weisen ihn an den Inhalt einer Anzahl von Blocken im Speicher zu nehmen und ihn an andere Stellen zu verschieben an denen eine bestimmte Anzahl von Pixeln horizontal und vertikal verschoben ist Der Algorithmus stellt normalerweise fest dass die Ubereinstimmung von Makroblocken nicht perfekt ist und codiert daher alle Anderungen und ubertragt sie mit dem Bewegungsvektor Es wurde nicht ausreichen ein Bildelement nur leicht horizontal und vertikal zu bewegen wenn es sich leicht dreht Der Unterschied zwischen seinen vorherigen Pixeln und seinen neuen Pixeln wird codiert In den meisten Fallen ist dies nur ein kleiner Bruchteil der gesamten Pixel Die meisten bleiben unverandert Die resultierenden Anweisungen an den Empfanger umfassen das Entfernen von Blocken aus dem Speicher das geringfugige Andern und das anschliessende Verschieben von Blocken Wenn sie verschoben werden uberlagern Teile andere Blocke und Teile werden von anderen Blocken abgedeckt Diese Informationen mussen ebenfalls ubermittelt werden Locher im Bild werden erstellt Sie mussen gefullt werden Die verschiedenen Teile des Bildes konnen sich um unterschiedliche Betrage in verschiedene Richtungen bewegen Die Motion Compensation macht den Codierer viel komplexer als den Decodierer was akzeptabel ist da es viel mehr Decodierungsstellen als Codierungsstellen gibt 1 Block Motion Compensation BearbeitenDie Block Motion Compensation BMC wird unter anderem im MPEG 2 Standard verwendet Bei diesem Verfahren wird jedes Einzelbild in n mal n grosse Pixelblocke unterteilt welche mit dem vorherigen Bild verglichen werden Findet sich dort ein ahnlicher Bildausschnitt so wird nur der Verschiebungsvektor gespeichert um den sich dieser Ausschnitt bewegt Ein Pixelblock kann auch als Matrix interpretiert werden Sei nun Bx y Nn n ein Pixelblock des aktuellen Einzelbilds mit der horizontalen Position n x und der vertikalen Position n y Die Matrixelemente bi j seien die Pixel an der Position n x i n y j pi j entsprechend die Pixel im vorherigen Bild Um nun den Verschiebungsvektor zu finden vergleicht man Bx y mit einem um den Vektor u v verschobenen Bildausschnitt im vorherigen Bild Ein Indikator fur den Unterschied du v zwischen Pixelblock und Bildausschnitt ist die Summe der quadrierten Differenzen engl Sum of Squared Differences bzw SSD 2 d u v i 0 n 1 j 0 n 1 b i j p i j 2 displaystyle d u v sum i 0 n 1 sum j 0 n 1 b i j p i j 2 nbsp Andere Indikatoren waren beispielsweise die Summe der absoluten Differenzen engl Sum of Absolute Differences bzw SAD oder die Kreuzkorrelation Man berechnet du v fur alle Verschiebungen innerhalb einer festgelegten Umgebung von Bx y und wahlt den Vektor u v als Verschiebungsvektor bei dem du v dmax und das Minimum aller Unterschiede ist Setzt man dmax 0 so ist der ursprungliche Datenstrom vollstandig rekonstruierbar bei einem dmax gt 0 komprimiert das Verfahren nicht mehr verlustfrei Eine Verbesserung des BMC Algorithmus kann erreicht werden indem neben dem vorherigen auch das nachfolgende Einzelbild zur Bestimmung des Verschiebungsvektors herangezogen wird Mittlerweile wurden auf Basis der Block Motion Compensation weitere Algorithmen entwickelt die zum Teil deutlich bessere Ergebnisse liefern beispielsweise Variable Block Size Motion Compensation und Overlapped Block Motion Compensation Quarter Pixel Motion Compensation BearbeitenDie Quarter Pixel Motion Compensation oft nur kurz Qpel Quarter pixel oder Q Pel genannt arbeitet mit Bewegungsvektoren von der Genauigkeit eines Viertel Bildpunktes Qpel dient einer besseren Vorhersage von Bewegungen und produziert somit bessere Bildqualitat bzw geringe Dateigrossen Quarter Pixel Motion Compensation ist Teil des MPEG 4 ASP optional und AVC Standards Pflicht und wird haufig in Verbindung mit Global Motion Compensation nur ASP verwendet Global Motion Compensation GMC BearbeitenDie Global Motion Compensation GMC wird bei der digitalen Videokompression verwendet vor allem MPEG 4 z B Xvid Im Gegensatz zur blockbasierten Motion Compensation wird die Bewegung zwischen zwei Einzelbildern global mit einer affinen Abbildung beschrieben Dadurch konnen auch Bewegungen die uber das blosse Verschieben hinausgehen wie z B Drehungen oder Verzerrungen beschrieben werden Das Ziel von GMC ist eine bessere Kodierungsqualitat bei schnellen Bewegungsszenen wie z B Explosionen Die Verwendung von GMC fuhrt zu einer besseren Bildqualitat bzw geringeren Dateigrosse was allerdings mit einem hoheren Kodierungsaufwand erkauft wird GMC ist ein relativ neues Verfahren das noch nicht von allen Abspielgeraten unterstutzt wird Siehe auch BearbeitenOptischer FlussEinzelnachweise Bearbeiten ScienceDirect Motion Compensation Bernd Girod Stanford University Motion Compensated Coding Abgerufen von https de wikipedia org w index php title Motion Compensation amp oldid 212817085 Global Motion Compensation GMC