-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft ein Verfahren zum Ermitteln eines Referenzblocks bei der Bildcodierung/-decodierung auf dem Gebiet der digitalen Videokompression, und insbesondere ein Verfahren zum Ermitteln eines Bildreferenzblocks in einem Codier-Modus mit fester Referenzvollbildanzahl, das zum Gebiet der Bildkompressionstechnologie gehört.
-
Hintergrund der Erfindung
-
Eine sehr effiziente Videocodierung/-decodierungstechnologie ist entscheidend beim Durchführen der Speicherung und Übertragung von Multimediadaten in hoher Qualität und mit niedrigen Kosten. Die vorliegenden beliebten internationalen Standards zur Bildcodierung basieren auf dieser Codierungstheorie, die ein Codierverfahren anwendet, das Bewegungskorrektur basierend auf Block-Matching, diskreter Kosinustransformation und Quantisierung kombiniert. Typischerweise schlägt das erste gemeinsame Technologiekomitee der Internationalen Standardisierungsorganisation/Internationalen Elektrotechnischen Kommission (ISO/IEC JTC1) MPEG(motion picture experts group)-1, MPEG-2 und MPEG-4 und derartige internationale Standards vor; und die ITU-T (International Telecom Union) schlägt die H.26x-Reihe vor. Diese Videocodierungsstandards sind in den Industrien weit verbreitet.
-
All diese Standards zur Videocodierung wenden eine hybride Videocodierungsstrategie an, die normalerweise vier Hauptmodule wie Prädiktion (Vorhersage), Transformation, Quantisierung, Informationsentropiecodierung etc. umfasst, wobei die Hauptfunktion des Prädiktionsmoduls ist, das aktuell zu codierende Bild durch Verwendung des codierten und rekonstruierten Bildes vorherzusagen, genannt Inter-Prädiktion, oder den aktuellen Bildblock (Makroblock), der zu codieren ist, durch Verwendung des codierten und rekonstruierten Bildblocks (oder Makroblocks) in den Bildern vorherzusagen, genannt Intra-Prädiktion; die Funktion des Transformationsmoduls ist es, den eingegebenen Bildblock in einen anderen Raum zu konvertieren, um so die Energie der eingegebenen Signale bei dem Transformationskoeffizienten niedriger Frequenz zum Absenken der Relativität innerhalb der Elemente des Bildblocks zu konvergieren, und der für die Komprimierung nützlich ist; die Hauptfunktion des Quantisierungsmoduls ist es, die transformierten Koeffizienten zu einer begrenzten Elementanhäufung zuzuordnen, die für die Codierung vorteilhaft ist; und die Hauptfunktion des Informationsentropie-Codierungsmoduls ist es, den quantisierten Transformationskoeffizienten mit variabler Längencodierung gemäß der statistischen Regel darzustellen. Das Videodecodierungssystem weist ähnliche Module auf, hauptsächlich um das decodierte Bild des eingegebenen Codestroms mittels der Prozeduren der Entropiedecodierung, der inversen Quantisierung, der inversen Transformation usw. zu rekonstruieren.
-
Die Hauptfunktion der Prädiktion (Vorhersage) basierend auf der Bewegungskorrektur ist es, Redundanz der zeitlichen Videobildserie zu reduzieren. Die meiste Codiereffizienz kommt von dem Prädiktionsmodul her. Das Verfahren der Videocodierung ist, jedes Vollbild der Videobildserie zu codieren. Das herkömmliche Videocodierungssystem, das jedes Vollbild codiert, basiert auf einem Makroblock als Grundeinheit. Wenn der aktuelle Makroblock codiert wird, ist der Bewegungsvektor damit befasst, den aktuellen Makroblock mit dem Referenzblock zu verbinden. Wenn jedes Vollbild codiert wird, gibt es Situationen, die aufgeteilt werden können in Intra-Codierung (I-Bild), Prädiktionscodierung (P-Bild), bidirektionale Prädiktionscodierung (B-Bild) usw. Im Allgemeinen sind bei der Codierung codierte I-Bilder, P-Bilder und B-Bilder miteinander verschachtelt, z. B. basierend auf einer IBBPBBP-Abfolge.
-
Die Codierungskompressionseffizienz kann mittels B-Bild-Codierung größer als eine 200:1-Bitrate werden. Wenn der Makroblock des B-Bildes codiert wird, sind die vier Modi der direkten, Vorwärts-, Rückwärts- und bidirektionalen Prädiktion beteiligt. Die B-Bild-Technologie erfordert die Verarbeitung der Vorwärts- und Rückwärtsbewegungsschätzung gemeinsam, sodass eine hohe Berechnungskomplexität benötigt wird und die zusätzliche Identifikationsinformation eingeführt werden sollte, um den Vorwärts- und Rückwärtsbewegungsvektor zu unterscheiden.
-
Bei herkömmlichen Videocodierungsstandards (wie z. B. den MPEG-x und H-26x Serien) weist das Referenzvollbild des B-Bildes nur ein Vorwärts-Referenzvollbild und ein Rückwärts-Referenzvollbild auf, wohingegen das P-Bild lediglich ein Vorwärts-Referenzvollbild aufweist. Um in ausreichender Weise die Relativität der Zeitbereiche zwischen den Bildern auszunutzen, wurde erlaubt, dass das P-Bild und das B-Bild mehrere Vorwärts-Referenzvollbilder aufweisen. Der Verbrauch von Raum und Zeit jedoch wird ebenfalls in großem Maße verbessert, damit gibt es ein Ausgleichsmittel, das eine feste Referenzvollbildanzahl verwendet, um einen größeren Raum- und Zeitverbrauch zu begrenzen. In der Tat gilt, dass je größer der Abstand, desto schwächer ist die Relativität zwischen den Bildern im Zeitbereich, sodass eine derartige Begrenzung vernünftig ist.
-
Der direkte Modus ist ein Codier-Modus, der sowohl Vorwärtsprädiktion als auch Rückwärtsprädiktion verarbeitet. Die Vorwärts- und Rückwärtsbewegungsvektoren des B-Bildes werden von dem Bewegungsvektor des Rückwärtsreferenzbildes abgeleitet, und es ist möglicherweise nicht notwendig, die Bewegungsvektorinformationen zu codieren, so dass die Bits, die durch das Codieren der Bewegungsvektorinformation belegt sind, reduziert werden können und auf effiziente Weise die Codiereffizienz verbessern. Deshalb ist der direkte Modus weit verbreitet.
-
Wenn man das P-Bild und das B-Bild unter Verwendung der festen Referenzvollbildanzahl codiert, unter Berücksichtigung, dass die Vorwärts-Referenzvollbildanzahl des P-Bildes größer als die Vorwärts-Referenzvollbildanzahl des B-Bildes ist (das B-Bild muss ein Rückwärts-Referenzvollbild beinhalten, während das P-Bild es nicht umfasst), wird das in dem Problem resultieren, dass der Bewegungsvektor nicht übereinstimmt, d. h. wenn man den Bewegungsvektor für das B-Bild herleitet, werden die Bewegungsvektoren jedes Blocks in dem Rückwärts-Referenzvollbild verwendet. Das Rückwärts-Referenzvollbild ist ein P-Bild, sodass es auftreten kann, dass das Referenzvollbild, auf das der Bewegungsvektor zeigt, jenseits des maximalen Vorwärts-Referenzvollbildes liegt, auf das das B-Bild möglicherweise zeigt. Z. B. ist, wie in 1 dargestellt, wenn die Anzahl der festen Referenzvollbilder 2 ist, das Referenzvollbild, auf das das B-Bild möglicherweise zeigt, seine zwei angrenzenden P-Bilder, wohingegen das Referenzbild des P-Bildes, das da das Rückwärts-Referenzvollbild des B-Bildes zwei P-Bilder vor diesem P-Bild liegt, nämlich P_REF_1 und P_REF_0 ist. Wenn der Bewegungsvektor des P-Bildes auf das vordere P-Bild P_REF_1 zeigt, so liegt ein derartiges P-Bild jenseits des maximalen Vorwärts-Referenzvollbildes, auf das das B-Bild möglicherweise zeigt, und der berechnete Bewegungsvektor, der auf das B-Bild zeigt, kann P_REF_1 nicht erreichen. Dadurch kann das B-Bild den tatsächlichen Referenzblock zum Codieren nicht ermitteln, sodass eine Codierabweichung auftreten kann und in einer beträchtlichen Bildverzerrung resultieren wird.
-
Gemäß dem in JVT-D033 (Kiyofumi Abe et al.; ”Clarification and Improvement of direct mode” in: Joint Video Team of ISO/IEC MPEG & ITU-T VCEG, 4th Meeting, Klagenfurt, Österreich, 22–26 Juli 2002) vorgeschlagenen Verfahren wird das im Direct Mode verwendete Vorwärts-Referenzbild auf den Index 0 des Vorwärts-Referenzsatzes gesetzt, um aufzulösen, dass der gemeinsam angeordnete Block in dem Rückwärtsreferenzbild keine Vorwärtsreferenzen aufweist. Der Index 0 wird üblicherweise dem neuesten temporären vorherigen Bild zugeordnet, das das beste Verhältnis für den aktuellen Block darstellt.
-
Die europäische Patentanmeldung
EP 1 408 696 A1 (Verfahren zur Ableitung eines Bewegungsvektors, Verfahren zum Codieren eines dynamischen Bildes und Verfahren zum Decodieren eines dynamischen Bildes) offenbart ein weiteres Verfahren, das die Datenmenge in einer Multiplizierer-Parametertabelle reduzieren kann, die in einem Speicher abgelegt ist.
-
Zusammenfassung der Erfindung
-
Das durch die vorliegende Erfindung gelöste technische Problem konzentriert sich auf: Bereitstellen eines Verfahrens zum Ermitteln eines tatsächlichen Bildreferenzblocks in einem direkten Modus einer festen Referenzvollbildanzahl.
-
Die Lösung der vorliegenden Erfindung umfasst die folgenden Schritte:
- (a) Durchführen einer Bewegungsschätzung für jeden Makroblock eines aktuellen B-Bildes und Ermitteln eines Bewegungsvektors MV eines entsprechenden Makroblocks eines Rückwärts-Referenzvollbildes;
- (b) Entscheiden, ob ein Vorwärts-Referenzvollbild, auf das der Bewegungsvektor zeigt, jenseits eines maximalen Vorwärts-Referenzvollbildes liegt, auf das das B-Bild zeigen kann, falls nicht, Fortfahren mit Schritt (c); ansonsten mit Schritt (d);
- (c) Berechnen eines Vorwärtsbewegungsvektors und ein Rückwärtsbewegungsvektors eines Makroblocks durch die folgenden Formeln:
unter der Annahme, dass MVF und MVB als ein Vorwärtsbewegungsvektor und ein Rückwärtsbewegungsvektor eines aktuellen Makroblocks gelten, MVF = tb / td × MV MVB = tb – td / td × MV wobei hier tb ein Abstand im Zeitbereich zwischen einem aktuellen Bild und einem Vorwärtsreferenzbild und td ein Abstand im Zeitbereich zwischen einem Vorwärtsreferenzbild und einem Rückwärtsreferenzbild ist;
- (d) Berechnen eines Vorwärtsbewegungsvektors und ein Rückwärtsbewegungsvektors des Makroblocks durch die folgenden Formeln:
unter der Annahme, dass MVF und MVB als ein Vorwärtsbewegungsvektor und ein Rückwärtsbewegungsvektor eines aktuellen Makroblocks gelten, MVF = tb' / td × MV MVB = tb – td / td × MV wobei hier tb ein Abstand im Zeitbereich zwischen einem aktuellen Bild und einem Vorwärtsreferenzbild, td ein Abstand im Zeitbereich zwischen einem Vorwärtsreferenzbild und einem Rückwärtsreferenzbild und tb' ein Abstand im Zeitbereich zwischen dem aktuellen B-Bild und dem Vorwärts-Referenzvollbild ist, auf das das B-Bild zeigen kann und das dem Vorwärts-Referenzvollbild, auf das der Bewegungsvektor zeigt, am nächsten liegende P-Bild ist;
- (e) wobei zwei Bildmakroblocks, auf die MVB und MVF zeigen, Bildreferenzmakroblöcke sind, die dem Makroblock entsprechen.
-
Die vorliegende Erfindung verwendet den Bewegungsvektor des Vorwärts-Referenzvollbildes, das durch Zeigen auf das B-Bild in derselben Richtung erhalten wurde, um den Bewegungsvektor des zugehörigen Makroblocks in einem Rückwärts-Referenzvollbild zu ersetzen, und berechnet die Vorwärts- und Rückwärtsbewegungsvektoren des B-Bildes, um das mögliche Problem der nicht übereinstimmenden Bewegungsvektoren in einem Codiermodus mit fester Referenzvollbildanzahl zu lösen und die Codiereffizienz größtmöglich zu gewährleisten.
-
Die durch die vorliegende Erfindung bereitgestellte Lösung wird anhand der nachfolgenden detaillierten Beschreibung von bevorzugten Ausführungsformen der Erfindung unter Bezugnahme auf die Figuren besser verstanden werden.
-
Kurze Beschreibung der Figuren
-
1 ist eine schematische Darstellung, die das P-Bild darstellt, das auf das Referenzvollbild P_REF_1 zeigt, aus dem Stand der Technik;
-
2 ist eine schematische Darstellung, die das P-Bild zeigt, das auf das Referenzvollbild P_REF_0 in der Ausführungsform der vorliegenden Erfindung zeigt;
-
3 ist eine schematische Darstellung, die das P-Bild zeigt, das auf das Referenzvollbild P_REF_1 in der Ausführungsform der vorliegenden Erfindung zeigt.
-
Detaillierte Beschreibung der bevorzugten Ausführungsformen
-
Die Ausführungslehre der vorliegenden Erfindung ist: zunächst Entscheiden, ob das Vorwärts-Referenzvollbild, auf das der Bewegungsvektor zeigt, jenseits eines maximalen Vorwärts-Referenzvollbildes liegt, auf das das B-Bild möglicherweise zeigen kann, wenn es nicht jenseits liegt, dann Berechnen des Vorwärtsbewegungsvektors des B-Bildes unter Verwendung des herkömmlichen Verfahrens und Ermitteln des Vorwärtsbildreferenzmakroblocks; wenn es jenseits liegt, dann das Verwenden des Verfahrens des Minimierens des Bewegungsvektors, so dass der berechnete Vorwärtsbewegungsvektor nicht jenseits der maximalen Reichweite des Vorwärts-Referenzvollbildes liegt, auf das das B-Bild möglicherweise zeigen kann, womit man den tatsächlichen Vorwärtsbildreferenzmakroblock ermitteln kann.
-
Wenn man das Bild am Codier-Ende codiert, weist das Verfahren zum Ermitteln eines Bildreferenzmakroblocks in einem direkten Modus bei einer festen Referenzvollbildanzahl, das durch die vorliegende Erfindung offenbart wird, die folgenden Schritte auf:
- (a) Durchführen einer Bewegungsschätzung für jeden Makroblock eines aktuellen B-Bildes und Ermitteln eines Bewegungsvektors MV eines entsprechenden Makroblocks eines Rückwärts-Referenzvollbildes;
- (b) Entscheiden, ob der Bewegungsvektor jenseits eines maximalen Vorwärts-Referenzvollbildes liegt, auf das das B-Bild möglicherweise zeigen kann, falls nicht, dann Fortfahren mit Schritt (c); ansonsten Fortfahren mit Schritt (d);
- (c) Berechnen eines Vorwärtsbewegungsvektors und eines Rückwärtsbewegungsvektors eines Makroblocks durch die folgenden Formeln:
unter der Annahme, dass MVF und MVB als ein Vorwärtsbewegungsvektor und ein Rückwärtsbewegungsvektor eines aktuellen Makroblocks gelten, MVF = tb / td × MV MVB = tb – td / td × MV wobei hier tb ein Abstand im Zeitbereich zwischen einem aktuellen Bild und einem Vorwärtsreferenzbild und tb ein Abstand im Zeitbereich zwischen einem Vorwärtsreferenzbild und einem Rückwärtsreferenzbild ist;
- (d) Berechnen eines Vorwärtsbewegungsvektors und eines Rückwärtsbewegungsvektors des Makroblocks durch die folgenden Formeln:
unter der Annahme, dass MVF und MVB als ein Vorwärtsbewegungsvektor und ein Rückwärtsbewegungsvektor eines aktuellen Makroblocks gelten, MVF = tb' / td × MV MVB = tb – td / td × MV wobei hier tb ein Abstand im Zeitbereich zwischen einem aktuellen Bild und einem Vorwärtsreferenzbild, td ein Abstand im Zeitbereich zwischen einem Vorwärtsreferenzbild und einem Rückwärtsreferenzbild und tb' ein Abstand im Zeitbereich zwischen dem aktuellen B-Bild und dem Vorwärts-Referenzvollbild ist, auf das das B-Bild zeigen kann;
- (e) wobei zwei Bildmakroblöcke, auf die MVB und MVF zeigen, Bildreferenzmakroblöcke sind, die dem Makroblock entsprechen.
-
Nach dem Ermitteln der Bildreferenzmakroblöcke nimmt man den Durchschnitt der Pixelwerte der beiden Referenzmakroblöcke, ermittelt einen finalen bidirektionalen Prädiktions-Referenzmakroblock, subtrahiert den Makroblock des B-Bildes, das zu codieren ist, von dem bidirektionalen Prädiktions-Referenzmakroblock, um einen Blockrestfehler zu ermitteln, und codiert den Blockrestfehler, um das Codieren des B-Bildes abzuschließen.
-
Die vorliegende Erfindung verwendet das Vorwärts-Referenzvollbild, auf das das B-Bild zeigen kann, um das Vorwärts-Referenzvollbild zu ersetzen, das jenseits der Reichweite liegt, innerhalb derer das B-Bild zeigen kann, um das Problem zu lösen, dass das B-Bild den Bildreferenzmakroblock nicht ermitteln kann, wenn er außerhalb der Reichweite liegt. Obwohl der hier ermittelte Bildreferenzmakroblock nicht der Bildreferenzmakroblock ist, auf den das Rückwärts-P-Bild tatsächlich zeigt, ist, weil jedoch der tatsächliche Bildreferenzmakroblock nicht ermittelt werden kann, der durch das Verfahren der vorliegenden Erfindung ermittelte Bildreferenzmakroblock der Referenzmakroblock, der in der gleichen Richtung wie der Bildreferenzmakroblock liegt, auf den das P-Bild tatsächlich zeigt. Beide liegen aufgrund der Relativität des Zeitbereichs sehr nahe beieinander, sodass durch die Verwendung des Verfahrens die Codiereffizienz nicht schlechter werden wird. Wenn ein fester Bildmakroblock verwendet wird (wie z. B. die Verwendung eines einfarbigen Bildmakroblocks), wird der Codiereffekt nicht gewährleistet; wenn andere Verfahren verwendet werden, um den Bildmakroblock zu ermitteln, dann kann die Relativität des Zeitbereichs des Bildes nicht verwendet werden und der Codiereffekt ebenfalls nicht vorhergesagt werden.
-
Um zu gewährleisten, dass die Relativität des Zeitbereichs zwischen den Bildern in größtem Maße verwendet wird, wird tb' in Schritt (d) das Vorwärts-Referenzvollbild des Referenzvollbildes, auf das das nächste P-Bild zeigt, auf das das B-Bild zeigen kann, d. h., wenn das B-Bild das Referenzvollbild, auf das das P-Bild zeigt, nicht erreichen kann, das nächste Vorwärts-Referenzvollbild, auf das das B-Bild zeigen kann, für das B-Bild eingesetzt.
-
Aus der obigen Formel ist ersichtlich, dass die vorliegende Erfindung die Bewegungsvektoren in derselben Richtung auswählt, deren Länge auf die Reichweite minimiert wird, auf die das B-Bild zeigen kann. Dieses Verfahren verwendet die Relativität des Zeitbereichs am Besten. Wenn das nächste Vorwärts-Referenzvollbild, auf das das B-Bild zeigen kann, anstelle des Referenzvollbildes eingesetzt wird, auf das das P-Bild zeigen kann, wird die Relativität des Zeitbereichs größtmöglich ausgenutzt. Es gibt viele Verfahren, um einen Bewegungsvektor MV eines zugehörigen Blocks eines Rückwärts-Referenzvollbildes in dem Schritt (a) in der vorliegenden Erfindung zu ermitteln. Da das Rückwärts-Referenzvollbild ein P-Bild ist, weist jeder Makroblock im P-Bild einen Bewegungsvektor MV auf, das Entscheidende an Schritt (a) ist die Übereinstimmung zwischen den Makroblöcken, d. h. welcher Makroblock in dem P-Bild mit einem Makroblock in dem B-Bild übereinstimmt. Nachdem der entsprechende Makroblock gefunden wurde, dient der Bewegungsvektor MV des Makroblocks im P-Bild als Basis für die Berechnung der Vorwärts- und Rückwärtsbewegungsvektoren des B-Bildes.
-
Im Allgemeinen wird das Übereinstimmungsverfahren der gleichen Positionen verwendet, um zu bestimmen, dass das B-Bild und das Rückwärts-Referenzvollbild der entsprechende Makroblock des P-Bildes ist, d. h. der Makroblock in dem Rückwärtsreferenz-P-Bild mit derselben Position wie der Makroblock in dem B-Bild ist der entsprechende Makroblock. Unterschiedliche Algorithmen können jedoch unterschiedliche Übereinstimmungsverfahren aufweisen, durch ein beliebiges Übereinstimmungsverfahren kann jedoch der Bewegungsvektor jenseits der Reichweite liegen, auf die das B-Bild zeigen kann.
-
Das durch die vorliegende Erfindung offenbarte Verfahren ist bei einer beliebigen Codierung eines Prädiktionsmodus anwendbar. Jeder Makroblock in dem aktuellen B-Bild weist viele Prädiktionsmodi wie z. B. Vorwärts- und Rückwärtsmodi usw. auf. Die technische Lösung der vorliegenden Erfindung wird insbesondere beschrieben, indem man den universellen Direktcodiermodus als ein Beispiel im Nachfolgenden nimmt, bei dem die Anzahl der festen Referenzvollbilder 2 ist.
-
Zuerst wird der Bewegungsvektor jedes Makroblocks des Rückwärts-Referenzvollbildes relativ zu dem Vorwärts-Referenzvollbild für das zu codierende B-Bild ermittelt. Da der Bewegungsvektor vom P-Bild ist, kann der Bewegungsvektor zu dem Referenzvollbild P_REF_0 (siehe 2) oder das Referenzvollbild P_REF_1 (siehe 3) zeigen.
-
Der Vektor MV(x, y) zum Herleiten des Bewegungsvektors des aktuellen Makroblocks des B-Bildes im direkten Modus wird mittels des erhaltenen Bewegungsvektors jedes Makroblocks des Rückwärts-Referenzvollbildes ermittelt, und der Bewegungsvektor kann von einem Makroblock des Rückwärtsreferenzbildes kommen, das dieselbe räumliche Anordnung wie der aktuelle Makroblock aufweist, wie in 1 dargestellt, sie zeigt die Partition im direkten Modus des aktuellen Makroblocks und die daneben angeordnete Partition, die dem räumlichen Ort entspricht.
-
Zweifellos können andere Verfahren den Bewegungsvektor herleiten. In 1 bezeichnet 1 den aktuellen Codiermakroblock, 2 bezeichnet den entsprechenden Makroblock mit derselben Position wie das P-Bild und die Bezugszeichen in den anderen Figuren haben dieselbe Bedeutung.
-
Wenn es auf das Referenzvollbild P_REF_0, wie in 2 dargestellt, zeigt, liegt das Referenzvollbild nicht jenseits der Reichweite des Vorwärts-Referenzvollbildes, auf das das B-Bild zeigen kann, der Vorwärts- und Rückwärtsbewegungsvektor des aktuellen Makroblocks kann gemäß des Bewegungsvektors des entsprechenden Rückwärtsmakroblocks ermittelt werden: MVF = tb / td × MV MVB = tb – td / td × MV
-
MVF und MVB sind der Vorwärtsbewegungsvektor und der Rückwärtsbewegungsvektor, die dem aktuellen Makroblock entsprechen. Hier ist tb ein Abstand im Zeitbereich zwischen einem aktuellen Bild und einem Vorwärtsreferenzbild, td ist ein Abstand im Zeitbereich zwischen einem Vorwärtsreferenzbild und einem Rückwärtsreferenzbild, und MV bezeichnet den Bewegungsvektor des entsprechenden Anteils des Rückwärtsreferenzbild relativ zu dem Vorwärts-Referenzvollbild.
-
Wenn es auf das Referenzvollbild P_REF_1 zeigt, wie in 3 dargestellt, liegt das Referenzvollbild jenseits der Reichweite des Vorwärts-Referenzvollbildes, auf das das B-Bild zeigen kann. Für den Bildmakroblock des Referenzvollbildes kann das B-Bild nichts ermitteln. Deshalb ist es notwendig, den Bildmakroblock von P_REF_0 für den Bildmakroblock von P_REF_1 zu ersetzen, sodass der Vorwärts- und Rückwärtsbewegungsvektor des aktuellen Makroblocks gemäß dem Bewegungsvektor des entsprechenden Rückwärtsmakroblocks ermittelt werden können: MVF = tb' / td × MV MVB = tb – td / td × MV
-
Hier ist tb' ein Abstand im Zeitbereich zwischen dem aktuellen B-Bild und dem Vorwärts-Referenzvollbild P_REF_0, und MVF und MVB sind der Vorwärtsbewegungsvektor und der Rückwärtsbewegungsvektor, die dem aktuellen Makroblock entsprechen. Hier ist tb ein Abstand im Zeitbereich zwischen einem aktuellen Bild und einem Vorwärtsreferenzbild, td ist ein Abstand im Zeitbereich zwischen einem Vorwärtsreferenzbild und einem Rückwärtsreferenzbild, und MV bezeichnet den Bewegungsvektor des entsprechenden Anteils des Rückwärtsreferenzbildes relativ zu dem Vorwärts-Referenzvollbild.
-
Die beiden Bildmakroblöcke, auf die MVB und MVF zeigen, sind die Bildreferenzmakroblöcke, die dem Makroblock entsprechen. Nach dem Ermitteln des Bildreferenzmakroblocks, bilde man den Durchschnitt der Pixelwerte der beiden Referenzmakroblöcke, um einen finalen bidirektionalen Prädiktions-Referenzmakroblock zu erhalten, man subtrahiere den Makroblock des zu codierenden B-Bildes von dem bidirektionalen Prädiktions-Referenzmakroblock, um einen Blockrestfehler zu erhalten, und codiere den Blockrestfehler, um das Codieren des B-Bildes abzuschließen.
-
Die Decodierprozedur ist das inverse Verfahren des Codierens, das Verfahren ist wie folgt:
Zunächst Bestimmen des Prädiktionsmodus des aktuellen Makroblocks, wenn es sich um einen direkten Modus handelt, dann fährt man mit den folgenden Schritten fort; wenn es ein anderer Prädiktionsmodus ist, dann fährt man mit dem entsprechenden Verfahren fort;
Ermitteln des Bewegungsvektors MV zum Herleiten des Rückwärts-Referenzvollbildes aus dem Codierstrom; wenn das Referenzvollbild, das dem Bewegungsvektor MV entspricht, nicht jenseits des maximalen Vorwärtsreferenzmakroblocks liegt, auf den das B-Bild zeigen kann, dann lassen sich die Vorwärts- und Rückwärtsbewegungsvektoren aus den folgenden Formeln ermitteln: MVF = tb / td × MV MVB = tb – td / td × MV
-
MVF und MVB sind der Vorwärtsbewegungsvektor und der Rückwärtsbewegungsvektor, die dem aktuellen Makroblock entsprechen. Hier ist tb ein Abstand im Zeitbereich zwischen einem aktuellen Bild und einem Vorwärtsreferenzbild, td ist ein Abstand im Zeitbereich zwischen einem Vorwärtsreferenzbild und einem Rückwärtsreferenzbild, und MV bezeichnet den Bewegungsvektor des entsprechenden Anteils des Rückwärtsreferenzbildes relativ zu dem Vorwärts-Referenzvollbild.
-
Falls das Referenzvollbild, das dem Bewegungsvektor MV entspricht, jenseits des maximalen Vorwärtsreferenzmakroblocks liegt, auf das das B-Bild zeigen kann, dann können die Vorwärts- und Rückwärtsbewegungsvektoren aus den folgenden Formeln ermittelt werden: MVF = tb' / td × MV MVB = tb – td / td × MV
-
Hier ist tb' ein Abstand im Zeitbereich zwischen dem aktuellen B-Bild und dem Vorwärts-Referenzvollbild P_REF_0, ein endgültiger bidirektionaler Prädiktions-Referenzmakroblock kann durch Bilden des Durchschnitts der Pixelwerte ermittelt werden, die der Prädiktion entsprechen, auf die MVB und MVF zeigen, und ein aktueller Bildmakroblock wird durch Addieren des bidirektionalen Prädiktions-Referenzmakroblocks und des entsprechenden Blockrestfehlers gebildet, um das gesamte Decodierverfahren abzuschließen.
-
Es versteht sich, dass die obigen Ausführungsformen lediglich verwendet werden, um zu erläutern, jedoch nicht, um die vorliegende Erfindung einzuschränken. Trotz der detaillierten Beschreibung der vorliegenden Erfindung unter Bezugnahem auf die obigen bevorzugten Ausführungsformen versteht es sich, dass verschiedene Modifikationen, Veränderungen oder äquivalente Ersetzungen durch den einschlägigen Fachmann durchgeführt werden können, ohne vom Wesen und Umfang der vorliegenden Erfindung abzuweichen, und dass sie von den Ansprüchen der vorliegenden Erfindung abgedeckt sind.