<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Motion_Compensation</id>
	<title>Motion Compensation - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Motion_Compensation"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Motion_Compensation&amp;action=history"/>
	<updated>2026-05-24T19:06:40Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Motion_Compensation&amp;diff=106670&amp;oldid=prev</id>
		<title>imported&gt;Aka: Tippfehler entfernt, deutsch, Links optimiert, Links normiert</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Motion_Compensation&amp;diff=106670&amp;oldid=prev"/>
		<updated>2021-06-09T16:36:08Z</updated>

		<summary type="html">&lt;p&gt;&lt;a href=&quot;/index.php?title=Benutzer:Aka/Tippfehler_entfernt&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Benutzer:Aka/Tippfehler entfernt (Seite nicht vorhanden)&quot;&gt;Tippfehler entfernt&lt;/a&gt;, deutsch, Links optimiert, Links normiert&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Bild:Elephantsdream vectorstill04 crop.png|mini|Visualisierte Bewegungsvektoren der MPEG-Kodierung über einem Standbild aus [[Elephants Dream]]. Erkennbar sind die Bewegungen der verschiedenen Plattformen und Körperteile der Figur.]]&lt;br /&gt;
Unter dem Oberbegriff &amp;#039;&amp;#039;&amp;#039;Motion Compensation&amp;#039;&amp;#039;&amp;#039; (dt. etwa: „Bewegungsausgleich“) oder &amp;#039;&amp;#039;&amp;#039;Motion Prediction&amp;#039;&amp;#039;&amp;#039; (deutsch: „Bewegungsvorhersage“) wird eine Reihe von [[Algorithmus|Algorithmen]] zusammengefasst, die hauptsächlich bei der [[Videokompression]] eingesetzt werden. Die temporären [[Relationen]] zwischen benachbarten [[Einzelbild (Film)|Einzelbildern]] (&amp;quot;frames&amp;quot;) werden ausgenutzt, um die Gesamtmenge der zu komprimierenden Daten zu minimieren. Vereinfacht ausgedrückt heißt dies, dass Bildbereiche, die über mehrere Einzelbilder hinweg sehr ähnlich aussehen, nicht in einer weiteren Kopie gespeichert werden, sondern nur die Veränderung ihrer Position gegenüber anderen Bildern.&lt;br /&gt;
&lt;br /&gt;
Einfache [[Videokompression|Kompressionsverfahren]] reduzieren nur unbewegte Bildanteile, beispielsweise den Hintergrund, vor dem ein Nachrichtensprecher sitzt, oder einfache Kamerabewegungen wie [[Digitalzoom|Zoom]], Horizontal- oder Vertikalverschiebung. Aktuelle [[Videocodec]]s verwenden jedoch komplexere [[Algorithmus|Algorithmen]], welche auch bewegte Bildanteile entsprechend komprimieren können. 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 benötigt, was zu einer teils enormen Platzersparnis führt.&lt;br /&gt;
&lt;br /&gt;
Im Endeffekt wird nur das erste Bild der Szene vollständig gespeichert. Für die folgenden Einzelbilder müssen dann lediglich diejenigen Bildteile neu hinterlegt werden, die ursprünglich durch das sich bewegende Objekt verdeckt waren. Allerdings wird dennoch üblicherweise das komplette Bild in regelmäßigen Abständen neu gespeichert, um sowohl die Fehlertoleranz zu erhöhen als auch das Hin- und Herspringen innerhalb einer [[Videodatei]] zu ermöglichen.&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
Die Motion Compensation basiert auf der Beobachtung, dass ein Großteil der Bewegung in Bildern aus einer Verschiebung eines Bildelements besteht. Die Motion Compensation nimmt jeden Makroblock und vergleicht ihn mit allen möglichen Makroblöcken, die durch horizontale oder vertikale Verschiebungen in kleinen Schritten gebildet werden. Wenn die beste Anpassung gefunden wurde, werden dem Empfänger Anweisungen übermittelt, mit dem Inhalt des Makroblocks zu arbeiten und ihn anschließend mit einem Bewegungsvektor an seine neue Position zu verschieben. Anweisungen an den Empfänger weisen ihn an, den Inhalt einer Anzahl von Blöcken im Speicher zu nehmen und ihn an andere Stellen zu verschieben, an denen eine bestimmte Anzahl von Pixeln horizontal und vertikal verschoben ist.&lt;br /&gt;
&lt;br /&gt;
Der [[Algorithmus]] stellt normalerweise fest, dass die Übereinstimmung von Makroblöcken nicht perfekt ist, und codiert daher alle Änderungen und überträgt sie mit dem Bewegungsvektor. Es würde 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 Fällen ist dies nur ein kleiner Bruchteil der gesamten Pixel. Die meisten bleiben unverändert. Die resultierenden Anweisungen an den Empfänger umfassen das Entfernen von Blöcken aus dem Speicher, das geringfügige Ändern und das anschließende Verschieben von Blöcken. Wenn sie verschoben werden, überlagern Teile andere Blöcke, und Teile werden von anderen Blöcken abgedeckt. Diese Informationen müssen ebenfalls übermittelt werden. Löcher im Bild werden erstellt. Sie müssen gefüllt werden. Die verschiedenen Teile des Bildes können sich um unterschiedliche Beträge in verschiedene Richtungen bewegen.&lt;br /&gt;
&lt;br /&gt;
Die Motion Compensation macht den Codierer viel komplexer als den Decodierer, was akzeptabel ist, da es viel mehr Decodierungsstellen als Codierungsstellen gibt.&amp;lt;ref&amp;gt;ScienceDirect: [https://www.sciencedirect.com/topics/engineering/motion-compensation Motion Compensation]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Block Motion Compensation ==&lt;br /&gt;
Die Block Motion Compensation (BMC) wird unter anderem im [[MPEG-2]]-Standard verwendet. Bei diesem Verfahren wird jedes Einzelbild in n mal n große Pixelblöcke unterteilt, welche mit dem vorherigen Bild verglichen werden. Findet sich dort ein ähnlicher Bildausschnitt, so wird nur der Verschiebungs[[vektor]] gespeichert, um den sich dieser Ausschnitt bewegt.&lt;br /&gt;
&lt;br /&gt;
Ein Pixelblock kann auch als [[Matrix (Mathematik)|Matrix]] interpretiert werden. Sei nun B&amp;lt;sub&amp;gt;x,y&amp;lt;/sub&amp;gt;&amp;amp;nbsp;∈&amp;amp;nbsp;N&amp;lt;sup&amp;gt;n×n&amp;lt;/sup&amp;gt; ein [[Pixel]]block des aktuellen Einzelbilds mit der horizontalen Position n&amp;amp;nbsp;⋅&amp;amp;nbsp;x und der vertikalen Position n&amp;amp;nbsp;⋅&amp;amp;nbsp;y. Die Matrixelemente b&amp;lt;sub&amp;gt;i,j&amp;lt;/sub&amp;gt; seien die Pixel an der Position (n&amp;amp;nbsp;⋅&amp;amp;nbsp;x&amp;amp;nbsp;+&amp;amp;nbsp;i,&amp;amp;nbsp;n&amp;amp;nbsp;⋅&amp;amp;nbsp;y&amp;amp;nbsp;+&amp;amp;nbsp;j), p&amp;lt;sub&amp;gt;i,j&amp;lt;/sub&amp;gt; entsprechend die Pixel im vorherigen Bild. Um nun den Verschiebungsvektor zu finden, vergleicht man B&amp;lt;sub&amp;gt;x,y&amp;lt;/sub&amp;gt; mit einem um den Vektor (u,&amp;amp;nbsp;v) verschobenen Bildausschnitt im vorherigen Bild. Ein Indikator für den Unterschied d&amp;lt;sub&amp;gt;u,v&amp;lt;/sub&amp;gt; zwischen Pixelblock und Bildausschnitt ist die Summe der quadrierten Differenzen (engl. &amp;quot;Sum of Squared Differences&amp;quot; bzw. SSD):&amp;lt;ref&amp;gt;Bernd Girod, Stanford University: [https://web.stanford.edu/class/ee398b/handouts/lectures/02-Motion_Compensation.pdf Motion Compensated Coding]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;d_{u,v} = \sum_{i=0}^{n-1} \sum_{j=0}^{n-1} (b_{i,j} - p_{i,j})^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Andere Indikatoren wären beispielsweise die [[Summe der absoluten Differenzen]] (engl. &amp;quot;Sum of Absolute Differences&amp;quot; bzw. SAD) oder die [[Kreuzkorrelation]]. Man berechnet d&amp;lt;sub&amp;gt;u,v&amp;lt;/sub&amp;gt; für alle Verschiebungen innerhalb einer festgelegten Umgebung von B&amp;lt;sub&amp;gt;x,y&amp;lt;/sub&amp;gt; und wählt den [[Vektor]] (u,&amp;amp;nbsp;v) als [[Verschiebungsvektor]], bei dem d&amp;lt;sub&amp;gt;u,v&amp;lt;/sub&amp;gt; ≤ d&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt; und das Minimum aller Unterschiede ist. Setzt man d&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;&amp;amp;nbsp;=&amp;amp;nbsp;0, so ist der ursprüngliche [[Datenstrom]] vollständig rekonstruierbar, bei einem d&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;&amp;amp;nbsp;&amp;gt;&amp;amp;nbsp;0 komprimiert das Verfahren nicht mehr verlustfrei.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;Block Motion Compensation&amp;quot; weitere [[Algorithmus|Algorithmen]] entwickelt, die zum Teil deutlich bessere Ergebnisse liefern, beispielsweise &amp;#039;&amp;#039;Variable Block-Size Motion Compensation&amp;#039;&amp;#039; und &amp;#039;&amp;#039;Overlapped Block Motion Compensation&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Quarter Pixel Motion Compensation ==&lt;br /&gt;
Die &amp;#039;&amp;#039;Quarter Pixel Motion Compensation&amp;#039;&amp;#039; (oft nur kurz &amp;#039;&amp;#039;Qpel&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Quarter pixel&amp;#039;&amp;#039; oder &amp;#039;&amp;#039;Q-Pel&amp;#039;&amp;#039; genannt) arbeitet mit Bewegungsvektoren von der Genauigkeit eines Viertel-[[Pixel|Bildpunktes]]. Qpel dient einer besseren Vorhersage von Bewegungen und produziert somit bessere Bildqualität bzw. geringe Dateigrößen.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Quarter Pixel Motion Compensation&amp;#039;&amp;#039; ist Teil des [[MPEG-4]]-ASP- (optional) und [[H.264|AVC]]-Standards (Pflicht) und wird häufig in Verbindung mit &amp;#039;&amp;#039;Global Motion Compensation&amp;#039;&amp;#039; (nur [[MPEG-4#Videodekodierung|ASP]]) verwendet.&lt;br /&gt;
&lt;br /&gt;
== Global Motion Compensation (GMC) ==&lt;br /&gt;
Die Global Motion Compensation (GMC) wird bei der digitalen [[Videokompression]] verwendet, vor allem [[MPEG-4]] (z.&amp;amp;nbsp;B. [[Xvid]]). Im Gegensatz zur blockbasierten &amp;#039;&amp;#039;Motion Compensation&amp;#039;&amp;#039; wird die Bewegung zwischen zwei Einzelbildern global mit einer [[Affine Abbildung|affinen Abbildung]] beschrieben. Dadurch können auch Bewegungen, die über das bloße Verschieben hinausgehen, wie z.&amp;amp;nbsp;B. Drehungen oder Verzerrungen, beschrieben werden. Das Ziel von GMC ist eine bessere Kodierungsqualität bei schnellen Bewegungsszenen, wie z.&amp;amp;nbsp;B. Explosionen. Die Verwendung von GMC führt zu einer besseren Bildqualität bzw. geringeren Dateigröße, was allerdings mit einem höheren Kodierungsaufwand erkauft wird. GMC ist ein relativ neues Verfahren, das noch nicht von allen Abspielgeräten unterstützt wird.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Optischer Fluss]]&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Videokompression]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Aka</name></author>
	</entry>
</feed>