Freigeben über


Macroblock-Oriented Bilddecodierung

Der Makroblock ist eine grundlegende Einheit des Videodecodierungsprozesses. Ein Makroblock besteht aus einem rechteckigen Array von Luminanzbeispielen (Y) und zwei entsprechenden Arrays von Chromaproben (Cb und Cr). In den etablierten Videocodierungsstandards sind die Makroblocks 16x16-Blöcke in Luminance-Beispieldimensionen. Wenn das Video im 4:2:0-Format codiert ist, weisen die beiden Chromaarrays jeweils die halbe Höhe und die halbe Breite des Luma-Arrays für den Makroblock auf. Wenn das Video im 4:2:2-Format codiert ist, weisen die beiden Chrominanzarrays jeweils die gleiche Höhe und die halbe Breite des Leuchtdichtearrays für den Makroblock auf. Wenn das Video im Format 4:4:4 codiert ist, weisen die beiden Chrominanzarrays jeweils die gleiche Größe wie das Leuchtdichtearray für den Makroblock auf.

Ein Makroblock kann mithilfe der Bewegungskompensation mit einem oder mehreren Bewegungsvektoren vorhergesagt oder ohne diese Vorhersage als intra codiert werden. Nachdem festgestellt wurde, ob der Makroblock vorhergesagt ist oder nicht, wird die verbleibende Signaleinschränkung (falls vorhanden) in Form von Restdifferenzdatenblöcken hinzugefügt. In den etablierten Videocodierungsstandards sind diese Restdifferenzdatenblöcke 8x8, sodass vier Restdifferenzdatenblöcke benötigt werden, um einen 16x16 Luminance-Makroblock abzudecken.