DE60311720T2 - Direkt-Modus Bewegungsvektorberechnung für B-Bilder - Google Patents

Direkt-Modus Bewegungsvektorberechnung für B-Bilder Download PDF

Info

Publication number
DE60311720T2
DE60311720T2 DE2003611720 DE60311720T DE60311720T2 DE 60311720 T2 DE60311720 T2 DE 60311720T2 DE 2003611720 DE2003611720 DE 2003611720 DE 60311720 T DE60311720 T DE 60311720T DE 60311720 T2 DE60311720 T2 DE 60311720T2
Authority
DE
Germany
Prior art keywords
list
mode
field
frame
picture
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE2003611720
Other languages
English (en)
Other versions
DE60311720D1 (de
DE60311720T9 (de
Inventor
Byeong Moon Gwangjin-ku Jeon
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LG Electronics Inc
Original Assignee
LG Electronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by LG Electronics Inc filed Critical LG Electronics Inc
Publication of DE60311720D1 publication Critical patent/DE60311720D1/de
Publication of DE60311720T2 publication Critical patent/DE60311720T2/de
Application granted granted Critical
Publication of DE60311720T9 publication Critical patent/DE60311720T9/de
Active legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search

Description

  • HINTERGRUND DER ERFINDUNG Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft ein Codierverfahren für bewegte Bilder, und insbesondere eine Technik zum Herleiten von Direkt-Modus-Bewegungsvektoren für ein in einer Kompressionstechnik für bewegte Bilder der nächsten Generation definiertes B-Bild ("Bi-predictive picture", Bidirektional-Vorhersage-Bild).
  • Beschreibung des Standes der Technik
  • Ein herkömmliches B-Bild hat fünf Arten von Vorhersagemodi, wie etwa einen Vorwärts-Modus ("forward mode"), einen Rückwärts-Modus ("backward mode"), einen Bidirektional-Modus ("bi-directional mode"), einen Direkt-Modus ("direct mode") und einen Intra-Modus ("intra mode"). In dem Vorwärts-Modus, dem Rückwärts-Modus und dem Bi-Direktional-Modus können die Richtungen von Bewegungsvektoren ("motion vectors") aus den Modusnamen erkannt werden, da in den Modusnamen Richtungsinformation enthalten ist. In dem Direkt-Modus werden zwei Bewegungsvektoren aus beiden Richtungen von einer Bewegung eines co-lokalisierten Blocks ("co-located block") in einem benachbarten Bild auf der Grundlage einer zeitlichen Redundanzcharakteristik, wonach zwischen zwei benachbarten Bildern eine Bewegungskontinuität konstant aufrechterhalten wird, hergeleitet. Dieser Direkt-Modus weist einen Vorteil hinsichtlich einer Codiereffizienz auf, da Bewegungsinformation nicht zu einem Decoder gesendet wird.
  • Andererseits ist ein B-Bild, wie es in einer Kompressionstechnik für bewegte Bilder der nächsten Generation, wie etwa H.264 oder MPEG-4 Teil 10, vorgeschlagen wird, dadurch gekennzeichnet, dass das B-Bild als ein Referenzbild verwendet werden kann, da es in einem Referenzbildpuffer gespeichert werden kann. Dieses B-Bild ist ferner dadurch gekennzeichnet, dass es fünf Arten von Vorhersagemodi hat, wie etwa list-0-Modus, list-1-Modus, Doppel-Vorhersage-Modus, Direkt-Modus und Intra-Modus.
  • Der list-0-Modus ist ähnlich dem herkömmlichen Vorwärts-Modus, und Bewegungsinformation, wie etwa ein Referenzbild-Index und eine Bewegungsvektordifferenz werden jeweils durch ref_idx_l0 und mvd_l0 angegeben. Der list-1-Modus ist ähnlich dem herkömmlichen Rückwärts-Modus, und Bewegungsinformation, wie etwa ein Referenzbild-Index und eine Bewegungsvektordifferenz werden jeweils durch ref_idx_l1 und mvd_l1 angegeben. Der Doppel-Vorhersage-Modus hat zwei Referenzbilder, welche beide zeitlich vor oder nach dem B-Bild angeordnet sein können oder welche zeitlich vor bzw. nach dem B-Bild angeordnet sein können. In diesem Fall werden zwei Referenzbild-Indizes und zwei Bewegungsvektordifferenzen jeweils durch ref_idx_l0, ref_idx_l1, mvd_l0 und mvd_l1 angegeben, und jedes Referenzbild hat Bildordnungszähldaten, POC ("Picture order count"), welche zeitliche Anordnungsinformation darstellen.
  • In dem Direkt-Modus werden Bewegungsvektoren durch Auswahl einer räumlichen oder zeitlichen Technik erhalten. Gemäß der räumlichen Direkt-Modus-Technik werden list-0- und list-1-Referenzbildindizes und Bewegungsvektoren aus zu einem zu codierenden Makroblock benachbarten Blöcken hergeleitet. Gemäß der zeitlichen Direkt-Modus-Technik wird ein list-0-Bewegungsvektor MVF und ein list-1-Bewegungsvektor MVB durch Skalieren eines list-0-Bewegungsvektors eines co-lokalisierten Blocks ("co-located block") in einem list-1-Referenzbild für den Direkt-Modus hergeleitet, was ähnlich ist wie bei dem herkömmlichen B-Bild. Hier ist das list-1-Referenzbild für den Direkt-Modus ein Bild, wo ein Index zur list-1-Vorhersage 0 ist, und ein list-0-Referenzbild für den Direkt-Modus ist ein list-0-Referenzbild, auf welches ein Bewegungsvektor eines co-lokalisierten Blocks in dem list-1-Referenzbild für den Direkt-Modus zeigt.
  • Die 1a bis 1c zeigen Vorgabeindizes ("default indizes") für list-0-Vorhersage, Vorgabeindizes für list-1-Vorhersage und list-1-Referenzbilder für den Direkt-Modus von jeweiligen B-Bildern in einem IBBBP-Muster, wenn die Zahl von verfügbaren list-0- bzw. list-1-Referenzbildern (oder die Größe eines Kurzzeitpuffers) 6 ist. Hier sind die Vorgabeindizes für die list-0-Vorhersage und die Vorgabeindizes für die list-1-Vorhersage abhängig von einer Ausgabeordnung, oder einem POC-Wert, eines vorangehend decodierten Referenzbildes, und zwar unabhängig von einer Decodierordnung. In 1 verwenden alle B-Bilder ein zeitlich nachfolgendes P-Bild als das list-1-Referenzbild für den Direkt-Modus.
  • Die 2a bis 2c zeigen Vorgabeindizes für eine list-0-Vorhersage, Vorgabeindizes für eine list-1-Vorhersage und list-1-Referenzbilder für den Direkt-Modus von jeweiligen B-Bildern in einem IBBB-Muster unter Verwendung von nur B-Bildern. Wenn in 2a ein zu codierendes B-Bild B8 ist, ist ein zeitlich vorhergehendes B5 mit einem list-1-Index 0 ein list-1-Referenzbild für den Direkt-Modus. Wie in 2b gezeigt, ist ein list-1-Referenzbild für den Direkt-Modus des nachfolgend zu decodierenden B7 das zeitlich nachfolgende B8. Schließlich ist, wie in 2c gezeigt, ein list-1-Referenzbild für den Direkt-Modus von dem nachfolgend zu decodierenden B9 das zeitlich vorgehende B7.
  • Folglich kann, wie aus den 1a bis 2c hervorgeht, ein list-1-Referenzbild für den Direkt-Modus ein P-Bild oder ein B-Bild, welches einem zu codierenden B-Bild zeitlich folgt, oder ein B-Bild sein, welches diesem zeitlich vorangeht.
  • 3a bis 3h zeigen Modi, welche ein co-lokalisierter Block ("Co-located block") in einem list-1-Referenzbild für den Direkt-Modus haben kann, wenn das list-1-Referenzbild einem B-Bild zeitlich folgt. In diesem Fall hat der co-lokalisierte Block, da das list-1-Referenzbild ein P-Bild oder ein B-Bild sein kann, einen oder zwei Bewegungsvektoren oder den Intra-Modus. Die Kompressionstechnik für bewegte Bilder der nächsten Generation, wie etwa H.264 oder MPEG-4 Teil 10, erlaubt die Umordnung von Referenzbildindizes auf einer "slice"-Ebene, so dass ein Index 0 für list-1-Vorhersage einem Bild unmittelbar nach einem B-Bild zugewiesen werden kann. Das heißt, da das list-1-Referenzbild unmittelbar nach einem B-Bild existieren kann, dass ein Bewegungsvektor des co-lokalisierten Blocks vorwärts oder rückwärts gerichtet sein kann.
  • Die 4a bis 4h zeigen Modi, welche ein co-lokalisierter Block in einem list-1-Referenzbild für den Direkt-Modus haben kann, wenn das list-1-Referenzbild einem B-Bild zeitlich vorangeht. In diesem Fall hat der co-lokalisierte Block einen oder zwei Bewegungsvektoren, oder, wie vorangehend beschrieben, den Intra-Modus. Zwischen dem list-1-Referenzbild und dem B-Bild können andere Referenzbilder vorhanden sein, so dass ein Bewegungsvektor des co-lokalisierten Blocks zeitlich in die Vorwärts- oder die Rückwärtsrichtung zeigen kann.
  • Wie aus den 3a bis 4h ersichtlich ist, kann das list-1-Referenzbild für den Direkt-Modus verschiedene Vorhersagemodi haben, woraus sich eine Erfordernis ergibt, ein Verfahren zum Berechnen von Direkt-Modus-Bewegungsvektoren unter Berücksichtigung solcher verschiedenartiger Fälle zu untersuchen.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung wurde angesichts der oben genannten Problemen entwickelt, und es ist eine Aufgabe der vorliegenden Erfindung, ein Verfahren zum Berechnen von Direkt-Modus-Bewegungsvektoren eines B-Bildes ("Bipredictive picture") bereitzustellen, welches in einer Kompressionstechnik für bewegte Bilder der nächsten Generation definiert ist, wobei eine Technik zum Herleiten der Direkt-Modus-Bewegungsvektoren des B-Bildes vorgeschlagen wird, um die Wahrscheinlichkeit zu erhöhen, dass ein Direkt-Modus als ein Vorhersagemodus eines Makroblocks ausgewählt wird, um eine B-Bild-Codiereffizienz zu verbessern.
  • Gemäß einem Aspekt der vorliegenden Erfindung können die obigen und anderen Ziele durch die Bereitstellung eines Verfahrens zum Berechnen von Direkt-Modus-Bewegungsvektoren eines B-Bildes (Doppel-Vorhersage-Bildes, "Bi-predictive picture") in einem Codiersystem für bewegte Bilder zum Extrahieren der Direkt-Modus-Bewegungsvektoren des B-Bildes erreicht werden, umfassend die Schritte des Aus wählens eines (eines list-0-Bewegungsvektors oder eines list-1-Bewegungsvektors) der beiden Bewegungsvektoren, wenn ein co-lokalisierter Block in einem list-1-Referenzbild für den Direkt-Modus zwei Bewegungsvektoren hat, und Herleiten der Direkt-Modus-Bewegungsvektoren des B-Bildes aus dem ausgewählten Bewegungsvektor.
  • Vorzugsweise kann der obige Schritt den Schritt des Auswählens von einem der list-0- und list-1-Bewegungsvektoren umfassen, welcher zu einem Bild zeigt, welches dem list-1-Referenzbild für den Direkt-Modus zeitlich näher ist als ein Bewegungsvektor zum Herleiten der Direkt-Modus-Bewegungsvektoren, wobei der list-0-Bewegungsvektor als der Bewegungsvektor zum Herleiten der Direkt-Modus-Bewegungsvektoren ausgewählt wird, wenn die zwei Bewegungsvektoren zu dem gleichen Referenzbild zeigen, wobei ein Referenzbild als ein list-0-Referenzbild für den Direkt-Modus bestimmt wird, auf welches durch den ausgewählten Bewegungsvektor gezeigt wird, und die Direkt-Modus-Bewegungsvektoren des B-Bildes hergeleitet werden. Alternativ kann der obige Schritt den Schritt des unbedingten Auswählens des list-0-Bewegungsvektors als einen Bewegungsvektor zur Herleitung der Direkt-Modus-Bewegungsvektoren umfassen, und zwar unabhängig von einem zeitlichen Abstand, wobei ein Referenzbild, auf welches der list-0-Bewegungsvektor zeigt, als ein list-0-Referenzbild für den Direkt-Modus ausgewählt wird, und die Direkt-Modus-Bewegungsvektoren des B-Bildes hergeleitet werden.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein Verfahren zum Berechnen von Direkt-Modus-Bewegungsvektoren eines B-Bildes (Doppel-Vorhersage-Bildes, "Bi-predictive picture") in einem Codiersystem für bewegte Bilder bereitgestellt, um die Direkt-Modus-Bewe gungsvektoren des B-Bildes zu extrahieren, umfassend die Schritte des Auswählens eines der Bewegungsvektoren eines co-lokalisierten Blocks in einem list-1-Referenzbild für den Direkt-Modus als einen Bewegungsvektor zum Herleiten der Direkt-Modus-Bewegungsvektoren, und zwar unabhängig von Modi (einem list-0-Modus und/oder einem list-1-Modus) der Bewegungsvektoren des co-lokalisierten Blocks, Bestimmen eines Referenzbildes, auf welches durch den ausgewählten Bewegungsvektor gezeigt wird, als ein list-0-Referenzbild für den Direkt-Modus, und Berechnen der Direkt-Modus-Bewegungsvektoren des B-Bildes. Es wurde ein herkömmliches Verfahren vorgeschlagen, um Direkt-Modus-Bewegungsvektoren aus einem list-0-Bewegungsvektor eines co-lokalisierten Blocks herzuleiten. Wenn dieses herkömmliche Verfahren auf einen Fall angewendet wird, wo ein co-lokalisierter Block in einem list-1-Referenzbild nur einen list-1-Bewegungsvektor hat, werden alle Direkt-Modus-Bewegungsvektoren 0, da der list-0-Bewegungsvektor 0 ist. Die vorliegende Erfindung kann dieses Problem jedoch überwinden.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein Verfahren zum Berechnen von Direkt-Modus-Bewegungsvektoren eines B-Bildes (Doppel-Vorhersage-Bildes, "Bi-predictive picture") in einem Codiersystem für bewegte Bilder vorgeschlagen, um die Direkt-Modus-Bewegungsvektoren des B-Bildes zu extrahieren, umfassend die Schritte: wenn ein co-lokalisierter Block in einem list-1-Referenzbild für den Direkt-Modus nur einen list-1-Bewegungsvektor hat, wird der der co-lokalisierte Block als ein Block betrachtet, der eine Bewegung von 0 hat, Bestimmen eines decodierten Bildes, welches zeitlich unmittelbar vor dem B-Bild liegt, als ein list-0-Referenzbild für den Direkt-Modus, und Herleiten der Direkt-Modus-Bewegungsvektoren des B-Bildes.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein Verfahren zum Berechnen von Direkt-Modus-Bewegungsvektoren eines B-Bildes (Doppel-Vorhersage-Bildes, "Bi-predictive picture") in einem Codiersystem für bewegte Bilder bereitgestellt, um die Direkt-Modus-Bewegungsvektoren des B-Bildes zu extrahieren, umfassend die Schritte: wenn ein co-lokalisierter Block in einem list-1-Referenzbild für den Direkt-Modus nur einen list-1-Bewegungsvektor hat, Verwenden des list-1-Bewegungsvektors des co-lokalisierten Blocks ("Co-located block") als einen Bewegungsvektor zum Herleiten der Direkt-Modus-Bewegungsvektoren, Bestimmen eines zeitlich unmittelbar vor dem B-Bild angeordneten decodierten Bildes als ein list-0-Referenzbild für den Direkt-Modus, und Herleiten der Direkt-Modus-Bewegungsvektoren des B-Bildes.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein Verfahren zum Berechnen von Direkt-Modus-Bewegungsvektoren eines B-Bildes (Doppel-Vorhersage-Bildes, "Bi-predictive picture") in einem Codiersystem für bewegte Bilder bereitgestellt, um die Direkt-Modus-Bewegungsvektoren des B-Bildes zu extrahieren, umfassend die Schritte: wenn ein co-lokalisierter Block in einem list-1-Referenz-Bild für den Direkt-Modus nur einen list-1-Bewegungsvektor hat, Verwenden des list-1-Bewegungsvektors des co-lokalisierten Blocks als einen Bewegungsvektor zum Herleiten der Direkt-Modus-Bewegungsvektoren, Bestimmen eines Referenzbildes, auf welches durch den list-1-Bewegungsvektor des co-lokalisierten Blocks gezeigt wird, als ein list-0-Referenzbild für den Direkt-Modus, und Herleiten der Direkt-Modus-Bewegungsvektoren des B-Bildes.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein Verfahren zum Berechnen von Direkt-Modus-Bewe gungsvektoren eines B-Bildes (Doppel-Vorhersage-Bildes, "Bi-predictive picture") in einem Codiersystem für bewegte Bilder zum Extrahieren der Direkt-Modus-Bewegungsvektoren des B-Bildes bereitgestellt, umfassend die Schritte: Setzen eines zuletzt decodierten Bildes als ein list-1-Referenzbild für den Direkt-Modus, Skalieren eines Bewegungsvektors eines co-lokalisierten Blocks in dem list-1-Referenzbild für den Direkt-Modus, um einen list-0-Bewegungsvektor MVF und einen list-1-Bewegungsvektor MVB herzuleiten, und Berechnen der Direkt-Modus-Bewegungsvektoren des B-Bildes. Bei einem herkömmlichen Verfahren wird ein Bild, welches einen Index 0 für list-1-Vorhersage hat, als ein list-1-Referenzbild für den Direkt-Modus definiert. Wenn zwischen dem B-Bild und dem Bild mit dem Index 0 ein hiervon verschiedenes Bild decodiert wird, muss Bewegungsinformation und Referenzbildinformation des Bildes mit dem Index 0 aufrecht erhalten werden, was zu einer zusätzlichen Speicherbenutzung führt. Das vorliegende Verfahren kann jedoch die zusätzliche Speicherbenutzung einsparen.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein Verfahren zum Berechnen von Direkt-Modus-Bewegungsvektoren eines B-Bildes (Doppel-Vorhersage-Bildes, "Bi-predictive picture") in einem Codiersystem für bewegte Bilder zum Extrahieren der Direkt-Modus-Bewegungsvektoren des B-Bildes bereitgestellt, umfassend die Schritte: wenn ein list-1-Referenzbild für den Direkt-Modus dem B-Bild zeitlich vorangeht, Skalieren eines Bewegungsvektors eines co-lokalisierten Blocks in dem list-1-Referenzbild für den Direkt-Modus, um einen list-0-Bewegungsvektor MVF und einen list-1-Bewegungsvektor MVB herzuleiten, und Berechnen der Direkt-Modus-Bewegungsvektoren des B-Bildes.
  • Vorzugsweise kann der obige Schritt, wenn sowohl ein Makroblock des B-Bildes als auch ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Frame-Modus ("frame mode") sind und ein list-0-Referenzbild für den Direkt-Modus dem list-1-Referenzbild zeitlich vorangeht, den Schritt des Berechnens der Direkt-Modus-Bewegungsvektoren MVF und MVB des B-Bildes wie folgt umfassen: MVF = TDB × MV/TDD MVB = (TDB – TDD) × MV/TDD oder Z = TDB × 256/TDD; MVF = (Z × MV + 128) >> 8 W = Z – 256; MVB = (W × MV + 128) >> 8,wobei TDB einen zeitlichen Abstand zwischen einem gegenwärtigen B-Frame und einem list-0-Referenz-Frame repräsentiert, TDD einen zeitlichen Abstand zwischen einem list-1-Referenz-Frame und dem list-0-Referenz-Frame repräsentiert, und MV einen Bewegungsvektor des co-lokalisierten Blocks in dem list-1-Referenzbild für den Direkt-Modus repräsentiert.
  • Ferner kann der obige Schritt, wenn sowohl ein Makroblock des B-Bildes als auch ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Frame-Modus ("frame mode") sind und ein list-0-Referenzbild für den Direkt-Modus dem list-1-Referenzbild zeitlich folgt, den Schritt des Berechnens der Direkt-Modus-Bewegungsvektoren MVF und MVB des B-Bildes wie folgt umfassen: MVF = –TDB × MV/TDD MVB = –(TDB + TDD) × MV/TDD oder Z = –TDB × 256/TDD; MVF = (Z × MV + 128) >> 8 W = Z – 256; MVB = (W × MV + 128) >> 8, wobei TDB einen zeitlichen Abstand zwischen einem gegenwärtigen B-Frame und einem list-0-Referenz-Frame repräsentiert, TDD einen zeitlichen Abstand zwischen einem list-1-Referenzbild und dem list-0-Referenzbild repräsentiert, und MV einen Bewegungsvektor des co-lokalisierten Blocks in dem list-1-Referenzbild für den Direkt-Modus repräsentiert.
  • Ferner kann der obige Schritt, wenn sowohl ein Makroblock des B-Bildes als auch ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Feld-Modus ("field mode") sind und ein list-0-Referenzbild für den Direkt-Modus dem list-1-Referenzbild zeitlich vorangeht, den Schritt des Berechnens der Direkt-Modus-Bewegungsvektoren MVF,i und MVB,i für jedes Feld i eines B-Frame wie folgt umfassen: MVF,i = TDB,i × MVi/TDD,i MVB,i = (TDB,i – TDD,i) × MVi/TDD,i oder Z = TDB,i × 256/ TDD,i; MVF,i = (Z × MVi + 128) >> 8 W = Z – 256; MVB,i = (W × MVi + 128) >> 8,wobei TDB,i einen zeitlichen Abstand zwischen einem gegenwärtigen B-Feld und einem list-0-Referenzfeld repräsentiert, TDD,i einen zeitlichen Abstand zwischen einem list-1-Referenzfeld und dem list-0-Referenzfeld repräsentiert, und MVi einen Bewegungsvektor des co-lokalisierten Blocks in einem list-1-Referenzfeld für den Direkt-Modus repräsentiert.
  • Ferner kann der obige Schritt, wenn sowohl ein Makroblock des B-Bildes als auch ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Feld-Modus ("field mode") sind und ein list-0-Referenzbild für den Direkt-Modus dem list-0-Referenzbild zeitlich folgt, den Schritt des Berechnens der Direkt-Modus-Bewegungsvektoren MVF,i und MVB,i für jedes Feld eines B-Frame wie folgt umfassen: MVF,i = –TDB,i × MVi/TDD,i MVB,i = –(TDB,i + TDD,i) × MVi/TDD,i oder Z = –TDB,i × 256/TDD,i; MVF,i = (Z × MVi + 128) >> 8 W = Z – 256; MVB,i = (W × MVi + 128) >> 8,wobei TDB,i einen zeitlichen Abstand zwischen einem gegenwärtigen B-Feld und einem list-0-Referenzfeld repräsentiert, TDD,i einen zeitlichen Abstand zwischen einem list-1-Referenzfeld und dem list-0-Referenzfeld repräsentiert, und MVi einen Bewegungsvektor des co-lokalisierten Blocks in einem list-1-Referenzfeld für den Direkt-Modus repräsentiert.
  • Ferner kann der obige Schritt, wenn ein Makroblock des B-Bildes in einem Feld-Modus ("field mode") ist, ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Frame-Modus ("frame mode") ist und ein list-0-Referenzbild für den Direkt-Modus dem list-1-Referenzbild zeitlich vorangeht, den Schritt des Berechnens der Direkt-Modus-Bewegungsvektoren MVF,i und MVB,i für jedes Feld i eines B-Frame wie folgt umfassen: MVF,i = TDB,i × MV/TDD MVB,i = (TDB,i – TDD) × MV/TDD oder Z = TDB,i × 256/TDD; MVF,i = (Z × MV + 128) >> 8 W = Z – 256; MVB,i = (W × MV + 128) >> 8,wobei TDB,i einen zeitlichen Abstand zwischen einem gegenwärtigen B-Feld und einem list-0-Referenzfeld repräsentiert, TDD einen zeitlichen Abstand zwischen einem list-1-Referenz-Frame und einem list-0-Referenz-Frame repräsentiert, und MV einen Bewegungsvektor eines co-lokalisierten Blocks in einem list-1-Referenz-Frame für den Direkt-Modus repräsentiert.
  • Ferner kann der obige Schritt, wenn ein Makroblock des B-Bildes in einem Feld-Modus ("field mode") ist, ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Frame-Modus ("frame mode") ist und ein list-0-Referenzbild für den Direkt-Modus dem list-1-Referenzbild zeitlich folgt, den Schritt des Berechnens der Direkt-Modus-Bewegungsvektoren MVF,i und MVB,i für jedes Feld i eines B-Frame wie folgt umfassen: MVF,i = –TDB,i × MV/TDD MVB,i = –(TDB,i + TDD) × MV/TDD oder Z = –TDB,i × 256/TDD; MVF,i = (Z × MV + 128) >> 8 W = Z – 256; MVB;i = (W × MV + 128) >> 8,wobei TDB,i einen zeitlichen Abstand zwischen einem gegenwärtigen B-Feld und einem list-0-Referenzfeld repräsentiert, TDD einen zeitlichen Abstand zwischen einem list-1-Referenz-Frame und einem list-0-Referenz-Frame repräsentiert, und MV einen Bewegungsvektor eines co-lokalisierten Blocks in einem list-1-Referenz-Frame für den Direkt-Modus repräsentiert.
  • Ferner kann der obige Schritt, wenn ein Makroblock des B-Bildes in einem Frame-Modus ("frame mode") ist, ein co-lokalisierter Makroblock in dem list-1-Referenzbild in einem Feld-Modus ("field mode") ist und ein list-0-Referenzbild für den Direkt-Modus dem list-1-Referenzbild zeitlich vorangeht, den Schritt des Berechnens der Direkt-Modus-Bewegungsvektoren MVF und MVB eines B-Frame aus den unten angegebenen Gleichungen umfassen, wobei Bewegungsinformation eines co-lokalisierten Blocks in einem Feld 1 eines list-1-Referenz-Frame zur Berechnung der Direkt-Modus-Bewegungsvektoren verwendet wird: MVF = TDB × MV1/TDD,1 MVB = (TDB – TDD,1) × MV1/TDD,1 oder Z = TDB × 256/TDD,1; MVF = (Z × MV1 + 128) >> 8 W = Z – 256; MVB = (W × MV1 + 128) >> 8,wobei TDB einen zeitlichen Abstand zwischen einem gegenwärtigen B-Frame und einem list-0-Referenz-Frame repräsentiert, TDD,1 einen zeitlichen Abstand zwischen einem Feld 1 des list-1-Referenz-Frame und einem list-0-Referenzfeld repräsentiert, und MV1 einen Bewegungsvektor eines co-lokalisierten Blocks in dem Feld 1 des list-1-Referenz-Frame für den Direkt-Modus repräsentiert.
  • Ferner kann der obige Schritt, wenn ein Makroblock des B-Bildes in einem Frame-Modus ("frame mode") ist, ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Feld-Modus ("field mode") ist und ein list-0-Referenzbild für den Direkt-Modus dem list-1-Referenzbild zeitlich vorangeht, den Schritt des Berechnens der Direkt-Modus-Bewegungsvektoren MVF und MVB eines B-Frame aus den unten angegebenen Gleichungen umfassen, wobei Bewegungsinformation eines co-lokalisierten Blocks in einem Feld 1 eines list-1-Referenz-Frame zur Berechnung der Direkt-Modus-Bewegungsvektoren verwendet wird: MVF = –TDB × MV1/TDD,1 MVB = –(TDB + TDD,1) × MV1/TDD,1 oder Z = –TDB × 256/TDD,1; MVF = (Z × MV1 + 128) >> 8 W = Z – 256; MVB = (W × MV1 + 128) >> 8,wobei TDB einen zeitlichen Abstand zwischen einem gegenwärtigen B-Frame und einem list-0-Referenz-Frame repräsentiert, TDD,1 einen zeitlichen Abstand zwischen einem Feld 1 des list-1-Referenz-Frame und einem list-0-Referenzfeld repräsentiert, und MV1 einen Bewegungsvektor eines co-lokalisierten Blocks in dem Feld 1 des list-1-Referenz-Frame für den Direkt-Modus repräsentiert.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein Verfahren zum Berechnen von Direkt-Modus-Bewegungsvektoren eines B-Bildes (Doppel-Vorhersage-Bildes, "Bi-predictive picture") in einem Codiersystem für bewegte Bilder zum Extrahieren der Direkt-Modus-Bewegungsvektoren des B-Bildes bereitgestellt, umfassend die Schritte: wenn sowohl ein list-0-Referenzbild als auch ein list-1-Referenzbild für den Direkt-Modus dem B-Bild zeitlich folgen, Skalieren eines Bewegungsvektors eines co-lokalisierten Blocks in dem list-1-Referenzbild für den Direkt-Modus, um einen list-0-Bewegungsvektor MVF und einen list-1-Bewegungsvektor MVB herzuleiten, und Berechnen der Direkt-Modus-Bewegungsvektoren des B-Bildes.
  • Vorzugsweise kann der obige Schritt, falls sowohl ein Makroblock des B-Bildes als auch ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Frame-Modus ("frame mode") sind und das list-0-Referenzbild für den Direkt-Modus dem list-1-Referenzbild zeitlich folgt, den Schritt des Berechnens der Direkt-Modus-Bewegungsvektoren MVF und MVB des B-Bildes wie folgt umfassen: MVF = TDB × MV/TDD MVB = (TDB – TDD) × MV/TDD oder Z = TDB × 256/TDD; MVF = (Z × MV + 128) >> 8 W = Z – 256; MVB = (W × MV + 128) >> 8,wobei TDB einen zeitlichen Abstand zwischen einem gegenwärtigen B-Frame und einem list-0-Referenz-Frame repräsentiert, TDD einen zeitlichen Abstand zwischen einem list-1-Referenz-Frame und dem list-0-Referenz-Frame repräsentiert, und MV einen Bewegungsvektor des co-lokalisierten Blocks in dem list-1-Referenzbild für den Direkt-Modus repräsentiert.
  • Ferner kann der obige Schritt, wenn sowohl ein Makroblock des B-Bildes und ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Frame-Modus ("frame mode") sind und das list-0-Referenzbild für den Direkt-Modus dem list-1-Referenzbild zeitlich vorangeht, den Schritt des Berechnens der Direkt-Modus-Bewegungsvektoren MVF und MVB des B-Bildes wie folgt umfassen: MVF = –TDB × MV/TDD MVB = –(TDB + TDD) × MV/TDD oder Z = –TDB × 256/TDD; MVF = (Z × MV + 128) >> 8 W = Z – 256; MVB = (W × MV + 128) >> 8,wobei TDB einen zeitlichen Abstand zwischen einem gegenwärtigen B-Frame und einem list-0-Referenz-Frame repräsentiert, TDD einen zeitlichen Abstand zwischen einem list-1-Referenz-Frame und dem list-0-Referenz-Frame repräsentiert, und MV einen Bewegungsvektor des co-lokalisierten Blocks in dem list-1-Referenzbild für den Direkt-Modus repräsentiert.
  • Ferner kann der obige Schritt, wenn sowohl ein Makroblock des B-Bildes als auch ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Feld-Modus ("field mode") sind und das list-0-Referenzbild für den Direkt-Modus dem list-1-Referenzbild zeitlich folgt, den Schritt des Berechnens der Direkt-Modus-Bewegungsvektoren MVF,i und MVB,i für jedes Feld i eines B-Frame wie folgt umfassen: MVF,i = TDB,i × MVi/TDD,i MVB,i = (TDB,i – TDD,i) × MVi/TDD,i oder Z = TDB,i × 256/TDD,i; MVF,i = (Z × MVi + 128) >> 8 W = Z – 256; MVB,i = (W × MVi + 128) >> 8,wobei TDB,i einen zeitlichen Abstand zwischen einem gegenwärtigen B-Feld und einem list-0-Referenzfeld repräsentiert, TDD,i einen zeitlichen Abstand zwischen einem list-1-Referenzfeld und dem list-0-Referenzfeld repräsentiert, und MVi einen Bewegungsvektor eines co-lokalisierten Blocks in einem list-1-Referenzfeld für den Direkt-Modus repräsentiert.
  • Ferner kann der obige Schritt, wenn sowohl ein Makroblock des B-Bildes als auch ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Feld-Modus ("field mode") sind und das list-0-Referenzbild für den Direkt-Modus dem list-1-Referenzbild zeitlich vorangeht, den Schritt des Berechnens der Direkt-Modus-Bewegungsvektoren MVF,i und MVB,i für jedes Feld i eines B-Frame wie folgt umfassen: MVF,i = –TDB,i × MVi/TDD,i MVB,i = –(TDB,i + TDD,i) × MVi/TDD,i oder Z = –TDB,i × 256/TDD,i; MVF,i = (Z × MVi + 128) >> 8 W = Z – 256; MVB,i = (W × MVi + 128) >> 8 wobei TDB,i einen zeitlichen Abstand zwischen einem gegenwärtigen B-Feld und einem list-0-Referenzfeld repräsentiert, TDD,i einen zeitlichen Abstand zwischen einem list-1-Referenzfeld und dem list-0-Referenzfeld repräsentiert, und MVi einen Bewegungsvektor eines co-lokalisierten Blocks in einem list-1-Referenzfeld für den Direkt-Modus repräsentiert.
  • Ferner kann der obige Schritt, wenn ein Makroblock des B-Bildes in einem Feld-Modus ("field mode") ist, ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Frame-Modus ("frame mode") ist und das list-0-Referenzbild für den Direkt-Modus dem list-1-Referenzfild zeitlich folgt, den Schritt des Berechnens der Direkt-Modus-Bewegungsvektoren MVF,i und MVB,i für jedes Feld i eines B-Frame wie folgt umfassen: MVF,i = TDB,i × MV/TDD MVB,i = (TDB,i – TDD) × MV/TDD oder Z = TDB,i × 256/TDD; MVF,i = (Z × MV + 128) >> 8 W = Z – 256; MVB,i = (W × MV + 128) >> 8,wobei TDB,i einen zeitlichen Abstand zwischen einem gegenwärtigen B-Feld und einem list-0-Referenzfeld repräsentiert, TDD einen zeitlichen Abstand zwischen einem list-1-Referenz-Frame und einem list-0-Referenz-Frame repräsentiert, und MV einen Bewegungsvektor eines co-lokalisierten Blocks in einem list-1-Referenz-Frame für den Direkt-Modus repräsentiert.
  • Ferner kann der obige Schritt, wenn ein Makroblock des B-Bildes in einem Feld-Modus ("field mode") ist, ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Frame-Modus ("frame mode") ist und das list-0- Referenzbild für den Direkt-Modus dem list-1-Referenzbild zeitlich vorangeht, den Schritt des Berechnens der Direkt-Modus-Bewegungsvektoren MVF,i und MVB,i für jedes Feld i eines B-Frame wie folgt umfassen: MVF,i = –TDB,i × MV/TDD MVB,i = –(TDB,i + TDD) × MV/TDD oder Z = –TDB,i × 256/TDD; MVF,i = (Z × MV + 128) >> 8 W = Z – 256; MVB,i = (W × MV + 128) >> 8,wobei TDB,i einen zeitlichen Abstand zwischen einem gegenwärtigen B-Feld und einem list-0-Referenzfeld repräsentiert, TDD einen zeitlichen Abstand zwischen einem list-1-Referenz-Frame und einem list-0-Referenz-Frame repräsentiert, und MV einen Bewegungsvektor eines co-lokalisierten Blocks in einem list-1-Referenz-Frame für den Direkt-Modus repräsentiert.
  • Ferner kann der obige Schritt, wenn ein Makroblock des B-Bildes in einem Frame-Modus ("frame mode") ist, ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Feld-Modus ("field mode") ist und das list-0-Referenzbild für den Direkt-Modus dem list-1-Referenzbild zeitlich folgt, den Schritt des Berechnens der Direkt-Modus-Bewegungsvektoren MVF und MVB eines B-Frame aus den unten angegebenen Gleichungen umfassen, wobei Bewegungsinformation eines co-lokalisierten Blocks in einem Feld 0 eines list-1-Referenz-Frame zur Berechnung der Direkt-Modus-Bewegungsvektoren verwendet wird: MVF = TDB × MV0/TDD,0 MVB= (TDB – TDD,0) × MV0/TDD,0 oder Z = TDB × 256/TDD,0; MVF = (Z × MV0 + 128) >> 8 W = Z – 256; MVB = (W × MV0 + 128) >> 8,wobei TDB einen zeitlichen Abstand zwischen einem gegenwärtigen B-Frame und einem list-0-Referenz-Frame repräsentiert, TDD0 einen zeitlichen Abstand zwischen einem Feld 0 des list-1-Referenz-Frame und einem list-0-Referenzfeld repräsentiert, und MV0 einen Bewegungsvektor eines co-lokalisierten Blocks in dem Feld 0 des list-1-Referenz-Frame für den Direkt-Modus repräsentiert. Ferner kann der obige Schritt, wenn ein Makroblock des B-Bildes in einem Frame-Modus ("frame mode") ist, ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Feld-Modus ("field mode") ist und das list-0-Referenzbild für den Direkt-Modus dem list-1-Referenzbild zeitlich vorangeht, den Schritt des Berechnens der Direkt-Modus-Bewegungsvektoren MVF und MVB eines B-Frame aus den unten angegebenen Gleichungen umfassen, wobei Bewegungsinformation eines co-lokalisierten Blocks in einem Feld 0 eines list-1-Referenz-Frame zur Berechnung der Direkt-Modus-Bewegungsvektoren verwendet wird: MVF = –TDB × MV0/TDD,0 MVB = –(TDB + TDD,0) × MV0/TDD,0 oder Z = –TDB × 256/TDD,0; MVF = (Z × MV0 + 128) >> 8 W = Z – 256; MVB = (W × MV0 + 128) >> 8,wobei TDB einen zeitlichen Abstand zwischen einem gegenwärtigen B-Frame und einem list-0-Referenz-Frame repräsentiert, TDD,0 einen zeitlichen Abstand zwischen einem Feld 0 des list-1-Referenz-Frame und einem list-0-Referenzfeld repräsentiert, und MV0 einen Bewegungsvektor eines co-lokalisierten Blocks in dem Feld 0 des list-1-Referenz-Frame für den Direkt-Modus repräsentiert.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein Verfahren zum Berechnen von Direkt-Modus-Bewegungsvektoren eines B-Bildes (Doppel-Vorhersage-Bildes, "Bi-predictive picture") in einem Codiersystem für bewegte Bilder zum Extrahieren der Direkt-Modus-Bewegungsvektoren des B-Bildes bereitgestellt, umfassend die Schritte: Zuweisen eines Vorzeichens zu einem zeitlichen Zwischen-Bild-Distanzwert, Skalieren eines Bewegungsvektors eines co-lokalisierten Blocks in einem list-1-Referenzbild für den Direkt-Modus unabhängig von Orten der list-0- und list-1-Referenzbilder für den Direkt-Modus, um einen list-0-Bewegungsvektor MVF und einen list-1-Bewegungsvektor MVB herzuleiten, und Berechnen der Direkt-Modus-Bewegungsvektoren des B-Bildes.
  • Vorzugsweise kann der obige Schritt, wenn sowohl ein Makroblock des B-Bildes als auch ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Frame-Modus ("frame mode") sind, den Schritt des Berechnens der Direkt-Modus-Bewegungsvektoren MVF und MVB des B-Bildes wie folgt umfassen: MVF = TDB × MV/TDD MVB = (TDB – TDD) × MV/TDD oder Z = TDB × 256/TDD; MVF = (Z × MV + 128) >> 8 W = Z – 256; MVB = (W × MV + 128) >> 8,wobei TDB einen zeitlichen Abstand zwischen einem gegenwärtigen B-Frame und einem list-0-Referenz-Frame repräsentiert, welchem ein positives (+) Vorzeichen zugewiesen wird, wenn er von dem B-Frame aus gemessen wird, und dem ein negatives (–) Vorzeichen zugewiesen wird, wenn er von dem list-0-Referenz-Frame aus gemessen wird, TDD einen. zeitlichen Abstand zwischen einem list-1-Referenz-Frame und dem list-0-Referenz-Frame repräsentiert, welchem ein positives (+) Vorzeichen zugewiesen wird, wenn er von dem list-1-Referenz-Frame aus gemessen wird und dem ein negatives (–) Vorzeichen zugewiesen wird, wenn er von dem list-0-Referenz-Frame aus gemessen wird, und MV einen Bewegungsvektor des co-lokalisierten Blocks in dem list-1-Referenzbild für den Direkt-Modus repräsentiert.
  • Ferner kann der obige Schritt, falls sowohl ein Makroblock des B-Bildes als auch ein co-lokalisierter Block des list-1-Referenzbildes in einem Feld-Modus ("field mode") sind, den Schritt des Berechnens der Direkt-Modus-Bewegungsvektoren MVF,i und MVB,i für jedes Feld i eines B-Frame wie folgt umfassen: TDD,i = TDB,i × MVi/TDD,i MVB,i = (TDB,i – TDD,i) × MVi/TDD,i oder Z = TDB,i × 256/TDD,i; MVF,i = (Z × MVi + 128) >> 8 W = Z – 256; MVB,i = (W × MVi + 128) >> 8,wobei TDB,i einen zeitlichen Abstand zwischen einem gegenwärtigen B-Feld und einem list-0-Referenzfeld repräsentiert, welchem ein positives (+) Vorzeichen zugewiesen wird, wenn er von dem B-Feld aus gemessen wird, und dem ein negatives (–) Vorzeichen zugewiesen wird, wenn er von dem list-0-Referenzfeld aus gemessen wird, TDD,i einen zeitlichen Abstand zwischen einem list-1-Referenzfeld und dem list-0-Referenzfeld repräsentiert, welchem ein positives (+) Vorzeichen zugewiesen wird, wenn er von dem list-1-Referenzfeld aus gemessen wird, und welchem ein negatives (–) Vorzeichen zugewiesen wird, wenn er von dem list-0-Referenzfeld aus gemessen wird, und MVi einen Bewegungsvektor des co-lokalisierten Blocks in einem list-1-Referenzfeld für den Direkt-Modus repräsentiert.
  • Ferner kann der obige Schritt, wenn ein Makroblock des B-Bildes in einem Feld-Modus ("field mode") ist, und ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Frame-Modus ("frame mode") ist, den Schritt des Berechnens der Direkt-Modus-Bewegungsvektoren MVF,i und MVB,i für jedes Feld i eines B-Frame wie folgt umfassen: MVF,i = TDB,i × MV/TDD MVB,i = (TDB,i – TDD) × MV/TDD oder Z = TDB,i × 256/TDD; MVF,i = (Z × MV + 128) >> 8 W = Z – 256; MVB,i = (W × MV + 128) >> 8,wobei TDB,i einen zeitlichen Abstand zwischen einem gegenwärtigen B-Feld und einem list-0-Referenzfeld repräsentiert, welchem ein positives (+) Vorzeichen zugewiesen wird, wenn er von dem B-Feld aus gemessen wird, und welchem ein negatives (–) Vorzeichen zugewiesen wird, wenn er von dem list-0-Referenzfeld aus gemessen wird, TDD einen zeitlichen Abstand zwischen dem list-1-Referenz-Frame und dem list-0-Referenz-Frame repräsentiert, welchem ein positives (+) Vorzeichen zugewiesen wird, wenn er von dem list-1-Referenz-Frame aus gemessen wird, und welchem ein negatives (–) Vorzeichen zugewiesen wird, wenn er von dem list-0-Referenz-Frame aus gemessen wird, und MV einen Bewegungsvektor eines co-lokalisierten Blocks in einem list-1-Referenz-Frame für den Direkt-Modus repräsentiert.
  • Ferner kann der obige Schritt, wenn ein Makroblock des B-Bildes in einem Frame-Modus ("frame mode") ist, ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Feld-Modus ("field mode") ist, und das list-1-Referenzbild dem B-Bild zeitlich folgt, den Schritt des Berechnens der Direkt-Modus-Bewegungsvektoren MVF und MVB eines B-Frame aus den unten angegebenen Gleichungen umfassen, wobei Bewegungsinformation eines co-lokalisierten Blocks in einem Feld 0 eines list-1-Referenz-Frame zum Berechnen der Direkt-Modus-Bewegungsvektoren verwendet wird: MVF = TDB × MV0/TDD,0 MVB = (TDB– TDD,0) × MV0/TDD,0 oder Z = TDB × 256/TDD,0; MVF= (Z × MV0 + 128) >> 8 W = Z – 256; MVB = (W × MV0 + 128) >> 8,wobei TDB einen zeitlichen Abstand zwischen einem gegenwärtigen B-Frame und einem list-0-Referenz-Frame repräsentiert, welchem ein positives (+) Vorzeichen zugewiesen wird, wenn er von dem B-Frame aus gemessen wird, und welchem ein negatives (–) Vorzeichen zugewiesen wird, wenn er von dem list-0-Referenz-Frame aus gemessen wird, TDD,0 einen zeitlichen Abstand zwischen einem Feld 0 des list-1-Referenz-Frame und einem list-0-Referenzfeld repräsentiert, welchem ein positives (+) Vorzeichen zugewiesen wird, wenn er von dem Feld 0 des list-1-Referenz-Frame aus gemessen wird, und welchem ein negatives (–) Vorzeichen zugewiesen wird, wenn er von dem list-0-Referenzfeld aus gemessen wird, und MV0 einen Bewegungsvektor eines co-lokalisierten Blocks in dem Feld 0 des list-1-Referenz-Frame für den Direkt-Modus repräsentiert.
  • Ferner kann der obige Schritt, wenn ein Makroblock des B-Bildes in einem Frame-Modus ("frame mode") ist, ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Feld-Modus ("field mode") ist, und das list-1-Referenzbild dem B-Bild zeitlich vorangeht, den Schritt des Berechnens der Direkt-Modus-Bewegungsvektoren MVF und MVB eines B-Frame aus den unten angegebenen Gleichungen umfassen, wobei Bewegungsinformation eines co-lokalisierten Blocks in einem Feld 0 eines list-1-Referenz-Frame zum Berechnen der Direkt-Modus-Bewegungsvektoren verwendet wird: MVF = TDB × MV1/TDD,1 MVB = (TDB – TDD,1) × MV1/TDD,1 oder Z = TDB × 256/TDD,1; MVF= (Z × MV1 + 128) >> 8 W = Z – 256; MVB = (W × MV1 + 128) × 8,wobei TDB einen zeitlichen Abstand zwischen einem gegenwärtigen B-Frame und einem list-0-Referenz-Frame repräsentiert, welchem ein positives (+) Vorzeichen zugewiesen wird, wenn er von dem B-Frame aus gemessen wird, und welchem ein negatives (–) Vorzeichen zugewiesen wird, wenn er von dem list-0-Referenz-Frame aus gemessen wird, TDD,1 einen zeitlichen Abstand zwischen einem Feld 1 des list-1-Referenz-Frame und einem list-0-Referenzfeld repräsentiert, welchem ein positives (+) Vorzeichen zugewiesen wird, wenn er von dem Feld 1 des list-1-Referenz-Frame aus gemessen wird, und welchem ein negatives (–) Vorzeichen zugewiesen wird, wenn er von dem list-0-Referenzfeld aus gemessen wird, und MV1 einen Bewegungsvektor eines co-lokalisierten Blocks in dem Feld 1 des list-1-Referenz-Frame für den Direkt-Modus repräsentiert.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein Verfahren zum Berechnen von Direkt-Modus-Bewegungsvektoren eines B-Bildes (Doppel-Vorhersage-Bildes, "Bi-predictive picture") in einem Codiersystem für bewegte Bilder zum Extrahieren der Direkt-Modus-Bewegungsvektoren des B-Bildes bereitgestellt, umfassend die Schritte: wenn ein co-lokalisierter Makroblock in einem list-0-Referenzbild für den Direkt-Modus in einem Intra- Modus ("intra mode") ist, Vorhersagen und Berechnen von list-0- und list-1-Referenzbildern und Bewegungsvektoren aus benachbarten Blöcken eines Makroblocks des zu codierenden B-Bildes auf der Grundlage einer räumlichen Redundanz, und Berechnen der Direkt-Modus-Bewegungsvektoren des B-Bildes.
  • Vorzugsweise kann der obige Schritt, wenn benachbarte Blöcke A, B und C des zu codierenden Makroblocks sich auf verschiedene Referenzbilder beziehen, den Schritt des Auswählens eines Referenzbildes mit einem kleinsten Index als Referenzbild für jede Liste umfassen.
  • Ferner kann der obige Schritt, wenn zwei oder mehr benachbarte Blöcke des zu codierenden Makroblocks sich auf ein Referenzbild mit einem gleichen Index beziehen, den Schritt des Auswählens dieses Referenzbildes als das Referenzbild für jede Liste umfassen.
  • Ferner kann der obige Schritt die Schritte umfassen: Setzen seiner list-0- und list-1-Bewegungsvektoren zu 0, wenn einer der benachbarten Blöcke A, B und C des zu codierenden Makroblocks in dem Intra-Modus ("intra mode") ist, Auswählen eines Bewegungsvektors, welcher die gleiche Richtung hat wie ein zeitlicher Ort des Referenzbildes für jede Liste von einem benachbarten Block, und Gewinnen des Bewegungsvektors für jede Liste durch eine Medianoperation, oder Auswählen von nur einem der beiden Bewegungsvektoren dieses Blocks, wenn ein benachbarter Block zwei Bewegungsvektoren mit den gleichen Richtungen aufweist, und Gewinnen des Bewegungsvektors für jede Liste durch die Medianoperation unter Einbeziehung des ausgewählten Bewegungsvektors.
  • Ferner kann der obige Schritt, wenn ein effektiver Referenzbildindex für jeden list-Modus nicht hergeleitet werden kann, den Schritt des Setzens der list-0- und list-1-Referenzbildindizes zu 0 und des Setzens des Bewegungsvektors für jeden list-Modus zu 0 umfassen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die obigen und weitere Aufgaben, Merkmale und weiteren Vorteile der vorliegenden Erfindung werden aus der nachfolgenden detaillierten Beschreibung unter Bezugnahme auf die beiliegenden Zeichnungen verständlicher, in welchen:
  • 1a bis 1c Ansichten sind, welche list-1-Referenzbilder für den Direkt-Modus in einem allgemeinen IBBBP-Muster erläutern;
  • 2a bis 2c Ansichten sind, welche list-1-Referenzbilder für den Direkt-Modus in einem allgemeinen IBBB-Muster erläutern;
  • 3a bis 3h Ansichten sind, welche Fälle erläutern, wo ein list-1-Referenzbild für den Direkt-Modus einem B-Bild zeitlich folgt (L0 MV: list-0-Bewegungsvektor und L1 MV: list-1-Bewegungsvektor);
  • 4a bis 4h Ansichten sind, welche Fälle erläutern, wo ein list-1-Referenzbild für den Direkt-Modus einem B-Bild zeitlich vorangeht (L0 MV: list-0-Bewegungsvektor und L1 MV: list-1-Bewegungsvektor);
  • 5 eine Ansicht ist, welche die Bewegungsvektor-Vorhersage eines Blocks E erläutert, und zwar unter Verwendung von Bewegungsvektoren von benachbarten Blöcken A, B und C unter Berücksichtigung einer allgemeinen räumlichen Redundanz;
  • 6a bis 6c Ansichten sind, welche Fälle erläutern, wo sowohl ein Makroblock eines B-Bildes als auch ein co-lokalisierter Makroblock in einem list-1-Referenzbild für den Direkt-Modus in einem Frame-Modus sind und das list-1-Referenzbild dem B-Bild zeitlich folgt;
  • 7a bis 7d Ansichten sind, welche Fälle erläutern, wo sowohl ein Makroblock eines B-Bildes als auch ein co-lokalisierter Makroblock in einem list-1-Referenzbild für den Direkt-Modus in einem Feld-Modus sind und das list-1-Referenzbild dem B-Bild zeitlich folgt;
  • 8a bis 8c Ansichten sind, welche Fälle erläutern, wo ein Makroblock eines B-Bildes in einem Feld-Modus ist, ein co-lokalisierter Makroblock in einem list-1-Referenzbild für den Direkt-Modus in einem Frame-Modus ist und das list-1-Referenzbild dem B-Bild zeitlich folgt;
  • 9a bis 9c Ansichten sind, welche Fälle erläutern, wo ein Makroblock ei nes B-Bildes in einem Frame-Modus ist, ein co-lokalisierter Makroblock in einem list-1-Referenzbild für den Direkt-Modus in einem Feld-Modus ist und das list-1-Referenzbild dem B-Bild zeitlich folgt;
  • 10a und 10b Ansichten sind, welche Fälle erläutern, wo sowohl ein Makroblock eines B-Bildes als auch ein co-lokalisierter Makroblock in einem list-1-Referenzbild für den Direkt-Modus in einem Frame-Modus sind und das list-1-Referenzbild dem B-Bild zeitlich vorangeht;
  • 11a bis 11d Ansichten sind, welche Fälle erläutern, wo sowohl ein Makroblock eines B-Bildes als auch ein co-lokalisierter Makroblock in einem list-1-Referenzbild für den Direkt-Modus in einem Feld-Modus sind und das list-1-Referenzbild dem B-Bild zeitlich vorangeht;
  • 12a und 12b Ansichten sind, welche Fälle erläutern, wo ein Makroblock eines B-Bildes in einem Feld-Modus ist, ein co-lokalisierter Makroblock in einem list-1-Referenzbild für einen allgemeinen Direkt-Modus in einem Frame-Modus ist und das list-1-Referenzbild dem B-Bild zeitlich vorangeht; und
  • 13a und 13b Ansichten sind, welche Fälle erläutern, wo ein Makroblock ei nes B-Bildes in einem Frame-Modus ist, ein co-lokalisierter Makroblock in einem list-1-Referenzbild für einen allgemeinen Direkt-Modus in einem Feld-Modus ist und das list-1-Referenzbild dem B-Bild zeitlich vorangeht.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Die vorliegende Erfindung schlägt ein Verfahren zum Herleiten von Direkt-Modus-Bewegungsvektoren, wenn ein co-lokalisierter Makroblock in einem list-1-Referenzbild für den Direkt-Modus in einem Intra-Modus ist, und ein Verfahren zum Gewinnen der Direkt-Modus-Bewegungsvektoren in einem Fall, wo das list-1-Referenzbild einem B-Bild zeitlich folgt, und in einem Fall, wo das list-1-Referenzbild dem B-Bild zeitlich vorangeht, vor.
  • Die vorliegende Erfindung schlägt ferner ein Verfahren zum Berechnen der Direkt-Modus-Bewegungsvektoren unabhängig von den Orten von list-0- und list-1-Referenzbildern für den Direkt-Modus durch Zuweisen eines Vorzeichens zu einem zeitlichen Zwischen-Bild-Distanzwert vor, um Algorithmen zu vereinfachen, welche zur Berechnung der Direkt-Modus-Bewegungsvektoren verwendet werden.
  • Andererseits werden ein Frame-Modus ("frame mode") und ein Feld-Modus ("field mode") auf einer Bild-Ebene umgeschaltet, so dass das B-Bild und das list-1-Referenzbild in den Frame-Modus oder den Feld-Modus codiert werden können. Als Folge davon haben ein Makroblock des B-Bildes und ein co-lokalisierter Makroblock des list-1-Referenzbildes vier Arten von Frame/Feld-codierten Kombinationen.
  • [1] DER FALL, WO DER CO-LOKALISIERTE MAKROBLOCK DES LIST-1-REFERENZBILDES IN DEM INTRA-MODUS IST
  • Wie in den 3f und 4f gezeigt, kann ein co-lokalisierter Makroblock in einem list-1-Referenzbild für den Direkt-Modus in dem Intra-Modus sein, und zwar unabhängig von einem zeitlichen Ort des Referenzbildes. Da der Makroblock in diesem Modus keine Bewegungsinformation hat, setzt ein herkömmliches Verfahren die Direkt-Modus-Bewegungsvektoren einfach zu 0 und definiert ein list-0-Referenzbild als das zuletzt decodierte Bild. Das herkömmliche Verfahren kann jedoch eine hohe Codiereffizienz nicht garantieren. Deshalb führt die vorliegende Erfindung eine Vorhersage und Berechnung von list-0- und list-1-Referenzbildern und Bewegungsvektoren aus benachbarten Blöcken eines Makroblocks eines zu codierenden B-Bildes auf der Grundlage einer räumlichen Redundanz durch.
  • Ein Referenzbild-Index für jeden list-Modus wird auf die folgende Weise gewonnen. 5 ist eine Ansicht, welche die Bewegungsvektor-Vorhersage eines Blocks E unter Verwendung von Bewegungsvektoren benachbarter Blöcke A, B und C unter Berücksichtigung einer allgemeinen räumlichen Redundanz erläutert.
    • – Wenn die benachbarten Blöcke A, B und C verschiedene Referenzbild-Indizes haben, wird ein kleinster der Referenzbild-Indizes als ein Referenzbild-Index für den Direkt-Modus bestimmt.
    • – Wenn zwei der benachbarten Blöcke den gleichen Referenzbild-Index haben, wird dieser Index als ein Referenzbild-Index für den Direkt-Modus bestimmt.
    • – Wenn alle der benachbarten Blöcke den gleichen Referenzbild-Index haben, wird dieser Index als ein Referenzbild-Index für den Direkt-Modus bestimmt. Außerdem wird ein Bewegungsvektor für jeden list-Modus durch die folgende Bewegungsvektor-Vorhersage gewonnen. Wenn zu dieser Zeit einer der benachbarten Blöcke A, B und C in dem Intra-Modus ist, werden seine list-0- und list-1-Bewegungsvektoren zu 0 gesetzt.
    • – Ein Bewegungsvektor, welcher die gleiche Richtung wie ein zeitlicher Ort des wie oben genannt gewonnenen Referenzbildes für jeden list-Modus hat, wird aus einem benachbarten Block ausgewählt, und ein Bewegungsvektor für jeden list-Modus wird durch eine Medianoperation gewonnen.
    • – Wenn ein benachbarter Block zwei Bewegungsvektoren mit den gleichen Richtungen hat, wird nur einer der beiden Bewegungsvektoren in diesem Block ausgewählt und in die Medianoperation einbezogen.
  • Wenn andererseits keiner der effektiven list-0- und list-1-Referenzbild-Indizes von einem benachbarten Block hergeleitet werden kann, werden diese zu 0 gesetzt und ein Bewegungsvektor für jeden list-Modus wird zu 0 gesetzt.
  • [2] DER FALL, WO DAS LIST-1-REFERENZBILD FÜR DEN DIREKT-MODUS DEM B-BILD ZEITLICH FOLGT
  • FALL 1: SOWOHL DER MAKROBLOCK DES B-BILDES ALS AUCH DER CO-LOKALISIERTE MAKROBLOCK DES LIST-1-REFERENZBILDES SIND IN DEM Frame-MODUS
  • Wie aus den 3a bis 3h ersichtlich ist, kann der co-lokalisierte Block in dem list-1-Referenzbild einen Bewegungsvektor oder zwei Bewegungsvektoren haben. In der vorliegenden Erfindung wird, wenn der co-lokalisierte Block zwei Bewegungsvektoren hat, einer (L0 MV oder L1 MV) der beiden Bewegungsvektoren ausgewählt, und die Direkt-Modus-Bewegungsvektoren werden von dem ausgewählten Bewegungsvektor hergeleitet (dies wird nachfolgend auf der Grundlage des Falls beschrieben, wo L0 MV (list-0-Bewegungsvektor) ausgewählt ist).
  • Folglich können die 3a und 3c einfach als 6a dargestellt werden, die 3b, 3d und 3e als 6c und die 3g und 3h als 6b.
  • Wenn das list-0-Referenzbild und das list-1-Referenzbild für den Direkt-Modus zeitlich vor bzw. nach dem B-Bild angeordnet sind (6a), oder wenn sowohl das list-0- als auch das list-1-Referenzbild für den Direkt-Modus zeitlich nach dem B-Bild angeordnet sind, und das list-0-Referenzbild dem list-1-Referenzbild zeitlich folgt (6b), werden die Direkt-Modus-Bewegungsvektoren MVF und MVT wie folgt berechnet: MVF = TDB × MV/TDD MVB = (TDB – TDD) × MV/TDD wobei TDB einen zeitlichen Abstand zwischen einem gegenwärtigen B-Frame und einem list-0-Referenz-Frame repräsentiert, und TDD einen zeitlichen Abstand zwischen einem list-1-Referenz-Frame und dem list-0-Referenz-Frame repräsentiert.
  • Unter Anwendung einer Bit-Operation auf die Berechnung der Direktmodus-Bewegungsvektoren MVF und MVB kann die obige Gleichung zur Erleichterung derselben wie folgt ausgedrückt werden: Z = TDB × 256/TDD; MVF= (Z × MV + 128) >> 8 W = Z – 256; MVB= (W × MV + 128) >> 8
  • Wenn sowohl das list-0- als auch das list-1-Referenzbild für den Direktmodus zeitlich nach dem B-Bild angeordnet ist, und das list-0-Referenzbild dem list-1-Referenzbild zeitlich vorangeht (6c), werden die Direktmodus-Bewegungsvektoren MVF und MVB wie folgt berechnet: MVF = –TDB × MV/TDD MVB = –(TDB + TDD) × MV/TDD Diese Gleichung kann wie folgt ausgedrückt werden: Z = –TDB × 256/TDD; MVF = (Z × MV + 128) >> 8 W = Z – 256; MVB = (W × MV + 128) >> 8
  • FALL 2: SOWOHL DER MAKROBLOCK DES B-BILDES ALS AUCH DER CO-LOKALISIERTE MAKROBLOCK DES LIST-1-REFERENZBILDES SIND IN DEM FELD-MODUS
  • 7a bis 7d zeigen Fälle, wo sowohl der Makroblock des B-Bildes als auch der co-lokalisierte Makroblock des list-1-Referenzbildes in dem Feld-Modus sind. Jeder Bewegungsvektor des Makroblocks des B-Bildes wird von einem Bewegungsvektor eines co-lokalisierten Blocks in einem list-1-Referenzfeld gleicher Parität hergeleitet.
  • Wenn die list-0- und list-1-Referenzbilder für den Direktmodus zeitlich vor bzw. nach dem B-Bild angeordnet sind (7a), oder wenn sowohl das list-0- als auch das list-1-Referenzbild für den Direktmodus zeitlich nach dem B-Bild angeordnet sind und das list-0-Referenzbild dem list-1-Referenzbild zeitlich folgt (7b), werden die list-0 und list-1-Bewegungsvektoren MVF,i und MVB,i für jedes Feld i eines B-Frame (i = 0 bezeichnet ein erstes Feld und i = 1 bezeichnet ein zweites Feld) wie folgt berechnet: MVF,i= TDB,i × MVi/TDD,i MVB,i= (TDB,i – TDD,i) × MVi/TDD,i wobei MVi einen Bewegungsvektor eines co-lokalisierten Blocks eines Feldes i in einem list-1-Referenz-Frame bezeichnet, TDB,i einen zeitlichen Abstand zwischen einem gegenwärtigen B-Feld und einem list-0-Referenzfeld repräsentiert, und TDD,i einen zeitlichen Abstand zwischen einem list-1-Referenzfeld und dem list-0-Referenzfeld repräsentiert.
  • Die obigen Gleichungen können wie folgt ausgedrückt werden: Z = TDB,i × 256/TDD,i; MVF,i = (Z × MVi + 128) >> 8 W = Z – 256; MVB,i= (W × MVi + 128) >> 8
  • Wenn, da der co-lokalisierte Block des Feldes i in dem list-1-Referenz-Frame einen Bewegungsvektor hat, der zu einem Feld in einem dem B-Bild zeitlich nachfolgenden Frame zeigt, sowohl das list-0- als auch das list-1-Referenzbild für den Direktmodus zeitlich nach dem B-Bild angeordnet sind und das list-0-Referenzbild dem list-1-Referenzbild zeitlich vorangeht (7c und 7d), werden die Direktmodus-list-0- und -list-1-Bewegungsvektoren MVF,i und MVB,i wie folgt berechnet: MVF,i = –TDB,i × MVi/TDD,i MVB,i = –(TDB,i + TDD,i) × MVi/TDD,i
  • Die obigen Gleichungen können wie folgt ausgedrückt werden: Z = –TDB,i × 256/TDD,i; MVF,i = (Z × MVi + 128) >> 8 W = Z – 256; MVB,i = (W × MVi + 128) >> 8
  • FALL 3: DER MAKROBLOCK DES B-BILDES IST IN DEM FELDMODUS UND DER CO-LOKALISIERTE MAKROBLOCK DES LIST-1-REFERENZBILDES IST IN DEM FRAME-MODUS
  • Die 8a bis 8c zeigen Fälle, wo der Makroblock des B-Bildes in dem Feldmodus ist und der co-lokalisierte Makroblock des list-1-Referenzbildes in dem Frame-Modus ist. Hierbei soll die vertikale Koordinate des gegenwärtigen Makroblocks ycurrent und die vertikale Koordinate des co-lokalisierten Makroblocks des list-1-Referenzbildes yco-located sein, und es wird die Beziehung yco-located = 2 × ycurrent zwischen den beiden Koordinaten erstellt. Auch sind list-0- und list-1-Referenzfelder mit den gleichen Paritäten wie die der list-0- beziehungsweise list-1-Referenz-Frames vorhanden.
  • Wenn die list-0- und list-1-Referenzbilder für den Direktmodus zeitlich vor bzw. nach dem B-Bild angeordnet sind (8a), oder wenn sowohl das list-0- als auch das list-1-Referenzbild für den Direktmodus zeitlich nach dem B-Bild angeordnet sind und das list-0-Referenzbild dem list-1-Referenzbild zeitlich folgt (8b), werden die list-0- und list-1-Bewegungsvektoren MVF,i und MVB,i für jedes Feld i des B-Frame wie folgt berechnet: MVF,i = TDB,i × MV/TDD MVB,i = (TDB,i – TDD) × MV/TDD Die obige Gleichung kann wie folgt ausgedrückt werden: Z = TDB,i × 256/TDD; MVF,i = (Z × MV + 128) >> 8 W = Z – 256; MVB,i = (W × MV + 128) >> 8
  • Wenn, da der co-lokalisierte Block in dem list-1-Referenz-Frame einen Bewegungsvektor hat, der zu einem dem B-Bild zeitlich nachfolgenden Frame zeigt, sowohl das list-0- als auch das list-1-Referenzbild für den Direktmodus zeitlich nach dem B-Bild angeordnet sind und das list-0-Referenzbild dem list-1-Referenzbild zeitlich vorangeht (8c), werden die list-0- und list-1-Bewegungsvektoren MVF,i und MVB,i für jedes Feld des B-Frame wie folgt berechnet: MVF,i = –TDB,i × MV/TDD MVB,i = –(TDB,i + TDD) × MV/TDD Die obige Gleichung kann wie folgt ausgedrückt werden: Z = –TDB,i × 256/TDD; MVF,i = (Z × MV + 128) >> 8 W = Z – 256; MVB,i = (W × MV + 128) >> 8,wobei TDB,i einen zeitlichen Abstand zwischen dem gegenwärtigen B-Feld und dem list-0-Referenzfeld repräsentiert, TDD einen zeitlichen Abstand zwischen dem list-1-Referenz-Frame und dem list-0-Referenz-Frame repräsentiert, und MV einen Bewegungsvektor des co-lokalisierten Blocks in dem list-1-Referenz-Frame für den Direktmodus repräsentiert.
  • FALL 4: DER MAKROBLOCK DES B-BILDES IST IN DEM FRAME-MODUS UND DER CO-LOKALISIERTE MAKROBLOCK DES LIST-1-REFERENZBILDES IST IN DEM FELDMODUS
  • Die 9a bis 9c zeigen Fälle, wo der Makroblock des B-Bildes in dem Frame-Modus ist und der co-lokalisierte Makroblock des list-1-Referenzbildes in dem Feld-Modus ist. Es sei hier die vertikale Koordinate des gegenwärtigen Makroblocks ycurrent und die vertikale Koordinate des co-lokalisierten Makroblocks des list-1-Referenzbildes yco-located, und es kann die Beziehung yco-located = ycurrent/2 zwischen den beiden Koordinaten aufgestellt werden. Ebenso wird, da das Feld 0 des list-1-Referenz-Frame zeitlich dem B-Bild näher ist als dessen Feld 1, Bewegungsinformation eines co-lokalisierten Blocks des Feldes 0 zur Berechnung der Direktmodus-Bewegungsvektoren verwendet.
  • Wenn die list-0- und list-1-Referenzbilder für den Direktmodus zeitlich vor bzw. nach dem B-Bild angeordnet sind (9a), oder wenn sowohl das list-0- als auch das list-1-Referenzbild für den Direktmodus zeitlich nach dem B-Bild angeordnet sind und das list-0-Referenzbild dem list-1-Referenzbild zeitlich folgt (9b), werden die Direkt-Modus-list-0- und -list-1-Bewegungsvektoren MVF und MVB des B-Frame wie folgt berechnet: MVF = TDB × MV0/TDD,0 MVB = (TDB – TDD,0) × MV0/TDD,0
  • Die obige Gleichung kann wie folgt ausgedrückt werden: Z = TDB × 256/TDD,0; MVF = (Z × MV0 + 128) >> 8 W = Z – 256; MVB = (W × MV0 + 128) >> 8
  • Wenn, da der co-lokalisierte Block des Feldes 0 des list-1-Referenz-Frame einen Bewegungsvektor hat, der zu einem Feld eines dem B-Bild zeitlich nachfolgenden Frame zeigt, sowohl das list-0- als auch das list-1-Referenzbild für den Direktmodus zeitlich nach dem B-Bild angeordnet sind und das list-0-Referenzbild dem list-1-Referenzbild zeitlich vorangeht (9c), werden die list-0- und list-1-Bewegungsvektoren MVF und MVB wie folgt berechnet: MVF = –TDB × MV0/TDD,0 MVB = –(TDB +TDD,0) × MV0/TDD,0
  • Die obige Gleichung kann wie folgt ausgedrückt werden: Z = –TDB × 256/TDD,0; MVF = (Z × MV0 + 128) >> 8 W = Z – 256; MVB = (W × MV0 + 128) >> 8,wobei TDB einen zeitlichen Abstand zwischen dem gegenwärtigen B-Frame und dem list-0-Referenz-Frame repräsentiert, TDD,0 einen zeitlichen Abstand zwischen einem Feld 0 des list-1-Referenz-Frame und dem list-0-Referenzfeld repräsentiert, und MV0 einen Bewegungsvektor des co-lokalisierten Blocks in dem Feld 0 des list-1-Referenz-Frame für den Direktmodus repräsentiert.
  • [3] DER FALL, WO DAS LIST-1-REFERENZBILD FÜR DEN DIREKTMODUS DEM B-BILD ZEITLICH VORANGEHT
  • In diesem Fall sind sowohl das list-0- als auch das list-1-Referenzbild immer zeitlich vor dem B-Bild angeordnet.
  • FALL 1: SOWOHL DER MAKROBLOCK DES B-BILDES ALS AUCH DER CO-LOKALISIERTE MAKROBLOCK DES LIST-1-REFERENZBILDES SIND IN DEM FRAME-MODUS
  • Wie aus den 4a bis 4h ersichtlich ist, kann der co-lokalisierte Block in dem list-1-Referenzbild einen Bewegungsvektor oder zwei Bewegungsvektoren haben. In der vorliegenden Erfindung wird, wenn der co-lokalisierte Block zwei Bewegungsvektoren hat, einer (L0 MV oder L1 MV) der beiden Bewegungsvektoren ausgewählt, und Direkt-Modus-Bewegungsvektoren werden aus dem ausgewählten Bewegungsvektor hergeleitet (dies wird nachfolgend beschrieben auf der Grundlage des Falls, wo L0 MV (list-0-Bewegungsvektor) ausgewählt wird).
  • Entsprechend können die 4a, 4c, 4e, 4g und 4h einfach als 10a dargestellt werden, und die 4b und 4d als 10b.
  • Wenn das list-0-Referenzbild für den Direkt-Modus dem list-1-Referenzbild für den Direkt-Modus zeitlich vorangeht, werden die Direkt-Modus-Bewegungsvektoren MVF und MVB wie folgt berechnet (10a): MVF = TDB × MV/TDD MVB = (TDB – TDD) × MV/TDD,wobei TDB einen zeitlichen Abstand zwischen einem gegenwärtigen B-Frame und einem list-0-Referenz-Frame repräsentiert, TDD einen zeitlichen Abstand zwischen einem list-1-Referenz-Frame und dem list-0-Referenz-Frame repräsentiert, und MV einen Bewegungsvektor des co-lokalisierten Blocks in dem list-1-Referenzbild für den Direkt-Modus repräsentiert.
  • Die obige Gleichung kann wie folgt ausgedrückt werden: Z = TDB × 256/TDD; MVF = (Z × MV + 128) >> 8 W = Z – 256; MVB = (W × MV + 128) >> 8
  • Wenn das list-0-Referenzbild dem list-1-Referenzbild zeitlich folgt, werden die Direkt-Modus-Bewegungsvektoren MVF und MVB wie folgt berechnet (10b): MVF = –TDB × MV/TDD MVB = –(TDB + TDD) × MV/TDD
  • Diese Gleichung kann wie folgt ausgedrückt werden: Z = –TDB × 256/TDD; MVF = (Z × MV + 128) >> 8 W = Z – 256; MVB = (W × MV + 128) >> 8,wobei TDB einen zeitlichen Abstand zwischen dem gegenwärtigen B-Frame und dem list-0-Referenz-Frame repräsentiert, TDD einen zeitlichen Abstand zwischen dem list-1-Referenz-Frame und dem list-0-Referenz-Frame repräsentiert, und MV einen Bewegungsvektor des co-lokalisierten Blocks in dem list-1-Referenzbild für den Direkt-Modus repräsentiert.
  • FALL 2: SOWOHL DER MAKROBLOCK DES B-BILDES ALS AUCH DER CO-LOKALISIERTE MAKROBLOCK DES LIST-1-REFERENZBILDES SIND IN DEM FELD-MODUS
  • Wenn das list-0-Referenzbild für den Direkt-Modus dem list-1-Referenzbild für den Direkt-Modus zeitlich vorangeht, werden die Direkt-Modus-list-0-und list-1-Bewegungsvektoren MVF,i und MVB,i für jedes Feld i eines B-Frame wie folgt berechnet (11a und 11b): MVF,i = TDB,i × MVi/TDD,i MVB,i = (TDB,i – TDD,i) × MVi/TDD,i
  • Die obige Gleichung kann wie folgt ausgedrückt werden: Z = TDB,i × 256/TDD,i; MVF,i = (Z × MVi + 128) >> 8 W = Z – 256; MVB,i = (W × MVi + 128) >> 8, wobei TDB,i einen zeitlichen Abstand zwischen einem gegenwärtigen B-Feld und einem list-0-Referenzfeld repräsentiert, TDD,i einen zeitlichen Abstand zwischen einem list-1-Referenzfeld und dem list-0-Referenzfeld repräsentiert, und MVi einen Bewegungsvektor eines co-lokalisierten Blocks in einem list-1-Referenzfeld für den Direkt-Modus repräsentiert.
  • Wenn, da der co-lokalisierte Block in dem Feld i in dem list-1-Referenz-Frame einen Bewegungsvektor hat, der zu einem Feld in einem zeitlich nachfolgenden Frame zeigt, das list-0-Referenzbild dem list-1-Referenzbild zeitlich vorangeht, werden die Direkt-Modus-list-0- und -list-1-Bewegungsvektoren MVF,i und MVB,i wie folgt berechnet (llc und lld): MVF,i = –TDB,i × MVi/TDD,i MVB,i = –(TDB,i + TDD,i) × MVi/TDD,i
  • Die obige Gleichung kann wie folgt ausgedrückt werden: Z = –TDB,i × 256/TDD,i; MVF,i = (Z × MVi + 128) >> 8 W = Z – 256; MVB,i = (W × MVi + 128) >> 8,wobei TDB,i einen zeitlichen Abstand zwischen dem gegenwärtigen B-Feld und dem list-0-Referenzfeld repräsentiert, TDD,i einen zeitlichen Abstand zwischen dem list-1-Referenzfeld und dem list-0-Referenzfeld repräsentiert, und MVi einen Bewegungsvektor des co-lokalisierten Blocks in dem list-1-Referenzfeld für den Direkt-Modus repräsentiert.
  • FALL 3: DER MAKROBLOCK DES B-BILDES IST IN DEM FELD-MODUS UND DER CO-LOKALISIERTE MAKROBLOCK DES LIST-1-REFERENZBILDES IST IN DEM FRAME-MODUS
  • Wenn das list-0-Referenzbild für den Direkt-Modus dem list-1-Referenzbild für den Direkt-Modus zeitlich vorangeht, werden die Direkt-Modus-list-0- und list-1-Bewegungsvektoren MVF,i und MVB,i für jedes Feld i des B-Frame wie folgt berechnet (12a): MVF,i = TDB,i × MV/TDD MVB,i = (TDB,i – TDD) × MV/TDD Die obige Gleichung kann wie folgt ausgedrückt werden: Z = TDB,i 256/TDD; MVF,i = (Z × MV + 128) >> 8 W = Z – 256 MVB,i = (W × MV + 128) >> 8,wobei TDB,i einen zeitlichen Abstand zwischen dem gegenwärtigen B-Feld und dem list-0-Referenzfeld repräsentiert, TDD einen zeitlichen Abstand zwischen dem list-1-Referenz-Frame und dem list-0-Referenz-Frame repräsentiert, und MV einen Bewegungsvektor des co-lokalisierten Blocks in dem list-1-Referenz-Frame für den Direkt-Modus repräsentiert.
  • Wenn, da der co-lokalisierte Block in dem list-1-Referenz-Frame einen Bewegungsvektor hat, der zu einem zeitlich nachfolgenden -Frame zeigt, das list-0-Referenzbild dem list-1-Referenzbild zeitlich nachfolgt, werden die Direkt-Modus-list-0- und -list-1-Bewegungsvektoren MVF,i und MVB,i wie folgt berechnet (12b) MVF,i = –TDB,i × MV/TDD MVB,i = –(TDB,i + TDD) × MVi/TDD
  • Die obige Gleichung kann wie folgt ausgedrückt werden: Z = –TDB,i × 256/TDD; MVF,i = (Z × MV + 128) >> 8 W = Z – 256; MVB,i = (W × MV + 128) >> 8,wobei TDB,i einen zeitlichen Abstand zwischen dem gegenwärtigen B-Feld und dem list-0-Referenzfeld repräsentiert, TDD einen zeitlichen Abstand zwischen dem list-1-Referenz-Frame und dem list-0-Referenz-Frame repräsentiert, und MV einen Bewegungsvektor des co-lokalisierten Blocks in dem list-1-Referenzfeld für den Direkt-Modus repräsentiert.
  • FALL 4: DER MAKROBLOCK DES B-BILDES IST IN DEM FRAME-MODUS UND DER CO-LOKALISIERTE MAKROBLOCK DES LIST-1-REFERENZBILDES IST IN DEM FELD-MODUS
  • Da das Feld 1 f1 des list-1-Referenz-Frame dem B-Bild zeitlich näher ist als das Feld 0 f0 desselben, wird Bewegungsinformation eines co-lokalisierten Blocks des Feldes 1 f1 zur Berechnung der Direkt-Modus-Bewegungsvektoren verwendet.
  • Wenn das list-0-Referenzbild für den Direkt-Modus dem list-1-Referenzbild für den Direkt-Modus zeitlich vorangeht, werden die Direkt-Modus-list-0- und -list-1-Bewegungsvektoren MVF und MVB für jedes Feld i des B-Frame wie folgt berechnet (13a): MVF = TDB × MV1/TDD,1 MVB = (TDB – TDD,1) × MV1/TDD,1 Die obige Gleichung kann wie folgt ausgedrückt werden: Z = TDB × 256/TDD, 1; MVF = (Z × MV1 + 128) >> 8 W = Z – 256; MVB = (W × MV1 + 128) >> 8, wobei TDB einen zeitlichen Abstand zwischen dem gegenwärtigen B-Frame und dem list-0-Referenz-Frame repräsentiert, TDD,1 einen zeitlichen Abstand zwischen einem Feld 1 des list-1-Referenz-Frame und dem list-0-Referenzfeld repräsentiert, und MV1 einen Bewegungsvektor des co-lokalisierten Blocks im Feld 1 des list-1-Referenz-Frame für den Direkt-Modus repräsentiert.
  • Wenn, da der co-lokalisierte Block des Feldes 1 f1 des list-1-Referenz-Frame einen Bewegungsvektor hat, der zu einem Feld eines zeitlich nachfolgenden Frame zeigt, das list-0-Referenzbild dem list-1-Referenzbild zeitlich nachfolgt, werden die Direkt-Modus-list-0- und -list-1-Bewegungsvektoren MVF und MVB wie folgt berechnet (13b): MVF = –TDB × MV1/TDD,1 MVB = –(TDB + TDD,1) × MV1/TDD,1
  • Die obige Gleichung kann wie folgt ausgedrückt werden: Z = –TDB × 256/TDD,1; MVF = (Z × MV1 + 128) >> 8 W = Z – 256; MVB = (W × MV1 + 128) >> 8,wobei TDB einen zeitlichen Abstand zwischen dem gegenwärtigen B-Frame und dem list-0-Referenz-Frame repräsentiert, TDD,1 einen zeitlichen Abstand zwischen einem Feld 1 des list-1-Referenz-Frame und dem list-0-Referenzfeld repräsentiert, und MV1 einen Bewegungsvektor des co-lokalisierten Blocks in dem Feld 1 des list-1-Referenz-Frame für den Direkt-Modus repräsentiert.
  • [4] DER FALL, WO DIE DIREKT-MODUS-BEWEGUNGSVEKTOREN DURCH ZUWEISEN EINES VORZEICHENS ZU EINEM ZEITLICHEN ZWISCHEN-BILD-DISTANZWERT BERECHNET WERDEN
  • In dem Fall, dass das list-1-Referenzbild für den Direkt-Modus zeitlich vor oder nach dem B-Bild angeordnet ist, werden in jedem Fall zwei Arten von Algorithmen angegeben. Solche Algorithmen können einfach durch Zuweisen eines Vorzeichens an einen zeitlichen Zwischen-Bild-Distanzwert wie folgt ausgedrückt werden.
  • FALL 1: SOWOHL DER MAKROBLOCK DES B-BILDES ALS AUCH DER CO-LOKALISIERTE MAKROBLOCK DES LIST-1-REFERENZBILDES SIND IN DEM FRAME-MODUS
  • Wenn sowohl der Makroblock des B-Bildes als auch der co-lokalisierte Makroblock des list-1-Referenzbildes in dem Frame-Modus sind, können die Direkt-Modus-Bewegungsvektoren MVF und MVB des B-Bildes wie folgt berechnet werden: MVF = TDB × MV/TDD MVB = (TDB – TDD) × MV/TDD Oder Z = TDB × 256/TDD; MVF = (Z × MV + 128) >> 8 W = Z – 256; MVB = (W × MV + 128) >> 8,wobei TDB einen zeitlichen Abstand zwischen einem gegenwärtigen B-Frame und einem list-0-Referenz-Frame repräsentiert, welchem ein positives (+) Vorzeichen zugewiesen wird, wenn er von dem B-Frame aus gemessen wird, und welchem ein negatives (–) Vorzeichen zugewiesen wird, wenn er von dem list-0-Referenz-Frame gemessen wird, TDD einen zeitlichen Abstand zwischen einem list-1-Referenz-Frame und dem list-0-Referenz-Frame repräsentiert, welchem ein positives (+) Vorzeichen zugewiesen wird, wenn er von dem list-1-Referenz-Frame aus gemessen wird, und welchem ein negatives (–) Vorzeichen zugewiesen wird, wenn er von dem list-0-Referenz-Frame aus gemessen wird, und MV einen Bewegungsvektor des co-lokalisierten Blocks in dem list-1-Referenzbild für den Direkt-Modus repräsentiert.
  • FALL 2: SOWOHL DER MAKROBLOCK DES B-BILDES ALS AUCH DER CO-LOKALISIERTE BLOCK DES LIST-1-REFERENZBILDES SIND IN DEM FELDMODUS
  • Wenn sowohl der Makroblock des B-Bildes als auch der co-lokalisierte Makroblock des list-1-Referenzbildes in dem Feldmodus sind, können die Direkt-Modus-Bewegungsvektoren MVF,i und MFB,i für jedes Feld i des B-Frame wie folgt berechnet werden: MVF,i = TDB,i × MVi/TDD,i MFB,i = (TDB,i – TDD,i) × MVi/TDD,i oder Z = TDB,i × 256/TDD,i; MVF,i = (Z × MVi + 12 8) >> 8 W = Z – 256; MFB,i = (W × MVi + 128) >> 8,wobei TDB,i einen zeitlichen Abstand zwischen einem gegenwärtigen B-Feld und einem list-0-Referenzfeld repräsentiert, welchem ein positives (+) Vorzeichen zugewiesen wird, wenn er von dem B-Feld aus gemessen wird, und welchem ein negatives (–) Vorzeichen zugewiesen wird, wenn er von dem list-0-Referenzfeld aus gemessen wird, TDD,i einen zeitlichen Abstand zwischen einem list-1-Referenzfeld und dem list-0-Referenzfeld repräsentiert, welchem ein positives (+) Vorzeichen zugewiesen wird, wenn er von dem list-1-Referenzfeld gemessen wird, und welchem ein negatives (–) Vorzeichen zugewiesen wird, wenn er von dem list-0-Referenzfeld aus gemessen wird, und MVi einen Bewegungsvektor eines co-lokalisierten Blocks in einem list-1-Referenzfeld für den Direkt-Modus repräsentiert.
  • FALL 3: DER MAKROBLOCK DES B-BILDES IST IN DEM FELD-MODUS UND DER CO-LOKALISIERTE MAKROBLOCK DES LIST-1-REFERENZBILDES IST IN DEM FRAME-MODUS
  • Wenn der Makroblock des B-Bildes in dem Feld-Modus ist und der co-lokalisierte Makroblock des list-1-Referenzbildes in dem -Framemodus ist, können die Direkt-Modus-Bewegungsvektoren MVF,i und MVB,i für jedes Feld i des B-Frame wie folgt berechnet werden: MVF,i = TDB,i × MV/TDD MVB,i = (TDB,i – TDD) × MV/TDD oder Z = TDB,i × 256/TDD; MVF,i = (Z × MV + 128) >> 8 W = Z – 256; MVB,i = (W × MV + 128) >> 8;wobei TDB,i einen zeitlichen Abstand zwischen dem gegenwärtigen B-Feld und dem list-0-Referenzfeld repräsentiert, welchem ein positives (+) Vorzeichen zugewiesen wird, wenn er von dem B-Feld aus gemessen wird, und welchem ein negatives (–) Vorzeichen zugewiesen wird, wenn er von dem list-0-Referenzfeld aus gemessen wird, TDD einen zeitlichen Abstand zwischen dem list-1-Referenz-Frame und dem list-0-Referenz-Frame repräsentiert, welchem ein positives (+) Vorzeichen zugewiesen wird, wenn er von dem list-1-Referenz-Frame aus gemessen wird, und welchem ein negatives (–) Vorzeichen zugewiesen wird, wenn er von dem list-0-Referenz-Frame aus gemessen wird, und MV einen Bewegungsvektor des co-lokalisierten Blocks in dem list-1-Referenz-Frame für den Direkt-Modus repräsentiert.
  • FALL 4: DER MAKROBLOCK DES B-BILDES IST IN DEM FRAME-MODUS UND DER CO-LOKALISIERTE MAKROBLOCK DES LIST-1-REFERENZBILDES IST IN DEM FELD-MODUS
  • Wenn der Makroblock des B-Bildes in dem Frame-Modus ist, der co-lokalisierte Makroblock des list-1-Referenzbildes in dem Feldmodus ist und das list-1-Referenzbild dem B-Bild zeitlich nachfolgt, ist das Feld 0 des list-1-Referenz-Frame dem B-Bild zeitlich näher als das Feld 1 desselben, so dass Bewegungsinformation eines co-lokalisierten Blocks des Feldes 0 für die Berechnung der Direkt-Modus-Bewegungsvektoren verwendet wird. Als ein Ergebnis können die Direkt-Modus-Bewegungsvektoren MVF und MVB des B-Frame aus der nachfolgenden Gleichung erhalten werden, wobei die Bewegungsinformation des co-lokalisierten Blocks in dem Feld 0 des list-1-Referenz-Frame zur Berechnung der Direkt-Modus-Bewegungsvektoren verwendet wird: MVF = TDB × MV0/TDD,0 MVB = (TDB – TDD,0) × MV0/TDD,0 oder Z = TDB × 256/TDD,0; MVF = (Z × MV0 + 128) >> 8 W = Z – 256; MVB = (W × MV0 + 128) >> 8,wobei TDB einen zeitlichen Abstand zwischen dem gegenwärtigen B-Frame und dem list-0-Referenz-Frame repräsentiert, welchem ein positives (+) Vorzeichen zugewiesen wird, wenn er von dem B-Frame aus gemessen wird und welchem ein negatives (–) Vorzeichen zugewiesen wird, wenn er von dem list-0-Referenz-Frame aus gemessen wird, TDD,0 einen zeitlichen Abstand zwischen einem Feld 0 des list-1-Referenz-Frame und dem list-0-Referenzfeld repräsentiert, welchem ein positives (+) Vorzeichen zugewiesen wird, wenn er von dem Feld 0 des list-1-Referenz-Frame aus gemessen wird, und welchem ein negatives (–) Vorzei chen zugewiesen wird, wenn er von dem list-0-Referenzfeld aus gemessen wird, und MV0 einen Bewegungsvektor des co-lokalisierten Blocks in dem Feld 0 des list-1-Referenz-Frame für den Direkt-Modus repräsentiert.
  • Wenn das list-1-Referenzbild dem B-Bild zeitlich vorangeht, ist das Feld 1 des list-1-Referenz-Frame dem B-Bild zeitlich näher als dessen Feld 0, so dass Bewegungsinformation eines co-lokalisierten Blocks des Feldes 1 zur Berechnung der Direkt-Modus-Bewegungsvektoren verwendet wird. Als Folge davon können die Direkt-Modus-Bewegungsvektoren MVF und MVB des B-Frame aus der nachfolgenden Gleichung erhalten werden, wobei die Bewegungsinformation des co-lokalisierten Blocks in dem Feld 1 des list-1-Referenz-Frame zur Berechnung der Direkt-Modus-Bewegungsvektoren verwendet wird: MVF = TDB × MV1/TDD,1 MVB = (TDB – TDD,1) × MV1/TDD,1 oder Z = TDB × 256/TDD,1; MVF = (Z × MV1 + 128) >> 8 W = Z – 256; MVB = (W × MV1 + 128) >> 8,wobei TDB einen zeitlichen Abstand zwischen dem gegenwärtigen B-Frame und dem list-0-Referenz-Frame repräsentiert, welchem ein positives (+) Vorzeichen zugewiesen wird, wenn er von dem B-Frame aus gemessen wird, und welchem ein negatives (–) Vorzeichen zugewiesen wird, wenn er von dem list-0-Referenz-Frame aus gemessen wird, TDD,1 einen zeitlichen Abstand zwischen einem Feld 1 des list-1-Referenz-Frame und dem list-0-Referenzfeld repräsentiert, welchem ein positives (+) Vorzeichen zugewiesen wird, wenn es von dem Feld 1 des list-1-Referenz-Frame aus gemessen wird, und welchem ein negatives (–) Vorzeichen zugewiesen wird, wenn er von dem list-0-Referenzfeld aus gemessen wird, und MV1 einen Bewegungsvektor des co- lokalisierten Blocks in dem Feld 1 des list-1-Referenz-Frame für den Direkt-Modus repräsentiert.
  • Wie aus der vorangehenden Beschreibung hervorgeht, stellt die vorliegende Erfindung ein Verfahren zum Berechnen von Direkt-Modus-Bewegungsvektoren eines B-Bildes (Doppel-Vorhersage-Bildes, "Bi-predictive picture") bereit, welches in einer Kompressionstechnik für bewegte Bilder der nächsten Generation definiert ist. Es wird eine Technik zum Extrahieren der Direkt-Modus-Bewegungsvektoren des B-Bildes vorgeschlagen, um die Wahrscheinlichkeit zu erhöhen, dass ein Direkt-Modus als ein Vorhersagemodus eines Makroblocks ausgewählt wird, wodurch die B-Bild-Codiereffizienz verbessert wird.
  • Zusammenfassend stellt die vorliegende Erfindung ein Verfahren zum Berechnen von Direkt-Modus-Bewegungsvektoren eines B-Bildes (Doppel-Vorhersage-Bildes, "Bi-predictive picture") in einem Codiersystem für bewegte Bilder zum Extrahieren der Direkt-Modus-Bewegungsvektoren des B-Bildes bereit. Wenn ein list-1-Referenzbild für den Direkt-Modus dem B-Bild zeitlich vorangeht oder nachfolgt, wird einer der Bewegungsvektoren eines co-lokalisierten Blocks in dem list-1-Referenzbild als ein Bewegungsvektor zum Herleiten der Direkt-Modus-Bewegungsvektoren bestimmt, und zwar unabhängig von Modi (einem list-0-Modus und/oder einem list-1-Modus) der Bewegungs vektoren des co-lokalisierten Blocks. Der bestimmte Bewegungsvektor wird skaliert, um einen list-0-Bewegungsvektor MVF und einen list-1-Bewegungsvektor MVB herzuleiten. Ferner wird ein Referenzbild, auf welches durch den bestimmten Bewegungsvektor gezeigt wird, als ein list-0-Referenzbild für den Direkt-Modus bestimmt.

Claims (35)

  1. Verfahren zum Extrahieren von Direkt-Modus-Bewegungsvektoren eines B-Bildes in der Bewegtbildverarbeitung, umfassend: Bestimmen eines Referenzbildes, auf welches durch einen Bewegungsvektor eines co-lokalisierten Blocks in einem list-1-Referenzbild für den Direkt-Modus gezeigt wird, als ein list-0-Referenzbild für den Direkt-Modus, wobei die Liste 0 beziehungsweise die Liste 1 dem H.264/MPEG-4 Teil 10 Standard entsprechen; und Berechnen der Direkt-Modus-Bewegungsvektoren des B-Bildes: gekennzeichnet durch den Schritt des Auswählens des Bewegungsvektors aus einem list-0-Bewegungsvektor und einem list-1-Bewegungsvektor des co-lokalisierten Blocks in dem list-1-Referenzbild; wobei der list-1-Bewegungsvektor des co-lokalisierten Blocks in dem list-1-Referenzbild für den Direkt-Modus als der Bewegungsvektor zur Herlei tung der Direkt-Modus-Bewegungsvektoren ausgewählt wird.
  2. Verfahren gemäß Anspruch 1, wobei der Auswählschritt den list-1-Bewegungsvektor des co-lokalisierten Blocks auswählt, wenn der co-lokalisierte Block nur den list-1-Bewegungsvektor aufweist.
  3. Verfahren gemäß Anspruch 1, wobei der Auswählschritt den list-1-Bewegungsvektor des co-lokalisierten Blocks auswählt, wenn nur der list-1-Bewegungsvektor des co-lokalisierten Blocks verfügbar ist.
  4. Verfahren gemäß einem der Ansprüche 1 bis 3, ferner umfassend: wenn der co-lokalisierte Block nur den list-1-Bewegungsvektor aufweist, Betrachten des co-lokalisierten Blocks als eine Bewegung von null aufweisend, und Bestimmen eines decodierten Bildes, welches zeitlich unmittelbar vor dem B-Bild liegt, als das list-0-Referenzbild für den Direkt-Modus.
  5. Verfahren gemäß einem der Ansprüche 1 bis 4, ferner umfassend: wenn der co-lokalisierte Block nur den list-1-Bewegungsvektor aufweist, Verwenden des list-1-Bewegungsvektors des co-lokalisierten Blocks als den Bewegungsvektor zur Herleitung der Direkt-Modus-Bewegungsvektoren, und Bestimmen eines decodierten Bildes, welches zeitlich unmittelbar vor dem B-Bild liegt, als das list-0-Referenzbild für den Direkt-Modus.
  6. Verfahren gemäß einem der Ansprüche 1 bis 5, wobei der Berechnungsschritt Skalieren des ausgewählten list-1-Bewegungsvektors eines co-lokalisierten Blocks, um einen list-0-Bewegungsvektor MVF und einen list-1-Bewegungsvektor MVB herzuleiten, umfasst.
  7. Verfahren gemäß einem der Ansprüche 1 bis 6, ferner umfassend, wenn das list-1-Referenzbild für den Direkt-Modus dem B-Bild zeitlich vorangeht, Skalieren des Bewegungsvektors des co-lokalisierten Blocks in dem list-1-Referenzbild für den Direkt-Modus, um einen list-0-Bewegungsvektor MVF und einen list-1-Bewegungsvektor MVB herzuleiten.
  8. Verfahren gemäß Anspruch 7, wobei der Schritt den Schritt umfasst: wenn sowohl ein Makroblock des B-Bildes als auch ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Frame-Modus sind und ein list-0-Referenzbild für den Direkt-Modus dem list-1-Referenzbild zeitlich vorangeht, Berechnen der Direkt-Modus-Bewegungsvektoren MVF und MVB des B-Bildes wie folgt: MVF = TDB × MV/TDD MVB = (TDB – TDD) × MV/TDD oder Z = TDB × 256/TDD MVF = (Z × MV + 128) >> 8 W = Z – 256 MVB = (W × MV + 128) >> 8,wobei TDB einen zeitlichen Abstand zwischen einem gegenwärtigen B-Frame und einem list-0-Referenz-Frame repräsentiert, TDD einen zeitlichen Abstand zwischen einem list-1-Referenz-Frame und dem list-0-Referenz-Frame repräsentiert, und MV einen Bewegungsvektor des co-lokalisierten Blocks in dem list-1-Referenzbild für den Direkt-Modus repräsentiert.
  9. Verfahren gemäß Anspruch 7 oder 8, wobei der Schritt den Schritt umfasst: wenn sowohl ein Makroblock des B-Bildes als auch ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Frame-Modus sind und ein list-0-Referenzbild für den Direkt-Modus dem list-1-Referenzbild zeitlich folgt, Berechnen der Direkt-Modus-Bewegungsvektoren MVF und MVB des B-Bildes wie folgt: MVF = –TDB × MV/TDD MVB = –(TDB + TDD) × MV/TDD oder Z = –TDB × 256/TDD MVF = (Z × MV + 128) >> 8 W = Z – 256 MVB = (W × MV + 128) >> 8,wobei TDB einen zeitlichen Abstand zwischen einem gegenwärtigen B-Frame und einem list-0-Referenz-Frame repräsentiert, TDD einen zeitlichen Abstand zwischen einem list-1-Referenz-Frame und dem list-0-Referenz-Frame repräsentiert, und MV einen Bewegungsvektor des co-lokalisierten Blocks in dem list-1-Referenzbild für den Direkt-Modus repräsentiert.
  10. Verfahren gemäß einem der Ansprüche 7 bis 9, wobei der Schritt den Schritt umfasst: wenn sowohl ein Makroblock des B-Bildes als auch ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Feld-Modus sind und ein list-0-Referenzbild für den Direkt-Modus dem list-1-Referenzbild zeitlich vorangeht, Berechnen der Direkt-Modus-Bewegungsvektoren MVF,i und MVB,i für jedes Feld i eines B-Frame wie folgt: MVF,i = TDB,i × MVi/TDD,i MVB,i = (TDB,i – TDD,i) × MVi/TDD,i oder Z = TDB,i × 256/TDD,i MVF,i = (Z × MVi + 128) >> 8 W = Z – 256 MVB,i = (W × MVi + 128) >> 8,wobei TDB,i einen zeitlichen Abstand zwischen einem gegenwärtigen B-Feld und einem list-0-Referenzfeld repräsentiert, TDD,i einen zeitlichen Abstand zwischen einem list-1-Referenzfeld und dem list-0-Referenzfeld repräsentiert, und MVi einen Bewegungsvektor des co-lokalisierten Blocks in einem list-1-Referenzfeld für den Direkt-Modus repräsentiert.
  11. Verfahren gemäß einem der Ansprüche 7 bis 10, wobei der Schritt den Schritt umfasst: wenn sowohl ein Makroblock des B-Bildes als auch ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Feld-Modus sind und ein list-0-Referenzbild für den Direkt-Modus dem list-1-Referenzbild zeitlich folgt, Berechnen der Direkt-Modus-Bewegungsvektoren MVF,i und MVB,i für jedes Feld eines B-Frame wie folgt: MVF,i = –TDB,i × MVi/TDD,i MVB,i = –(TDB,i + TDD,i) × MVi/TDD,i oder Z = –TDB,i × 256/TDD,i MVF,i = (Z × MVi + 128) >> 8 W = Z – 256 MVB,i = (W × MVi + 128) >> 8,wobei TDB,i einen zeitlichen Abstand zwischen einem gegenwärtigen B-Feld und einem list-0-Referenzfeld repräsentiert, TDD,i einen zeitlichen Abstand zwischen einem list-1-Referenzfeld und dem list-0-Referenzfeld repräsentiert, und MVi einen Bewegungsvektor des co-lokalisierten Blocks in einem list-1-Referenzfeld für den Direkt-Modus repräsentiert.
  12. Verfahren gemäß einem der Ansprüche 7 bis 11, wobei der Schritt den Schritt umfasst: wenn ein Makroblock des B-Bildes in einem Feld-Modus ist, ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Frame-Modus ist und ein list-0-Referenzbild für den Direkt-Modus dem list-1-Referenzbild zeitlich vorangeht, Berechnen der Direkt-Modus-Bewegungsvektoren MVF,i und MVB,i für jedes Feld i des B-Frame wie folgt: MVF,i = TDB,i × MV/TDD MVB,i = (TDB,i – TDD) × MV/TDD oder Z = TDB,i × 256/TDD MVF,i = (Z × MV + 128) >> 8 W = Z – 256 MVB,i = (W × MV + 128) >> 8,wobei TDB,i einen zeitlichen Abstand zwischen einem gegenwärtigen B-Feld und einem list-0-Referenzfeld repräsentiert, TDD einen zeitlichen Abstand zwischen einem list-1-Referenz-Frame und einem list-0-Referenz-Frame repräsentiert, und MV einen Bewegungsvektor eines co-lokalisierten Blocks in einem list-1-Referenz-Frame für den Direkt-Modus repräsentiert.
  13. Verfahren gemäß einem der Ansprüche 7 bis 12, wobei der Schritt den Schritt umfasst: wenn ein Makroblock des B-Bildes in einem Feld-Modus ist, ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Frame-Modus ist und ein list-0-Referenzbild für den Direkt-Modus dem list-1-Referenzbild zeitlich folgt, Berechnen der Direkt-Modus-Bewegungsvektoren MVF,i und MVB,i für jedes Feld i des B-Frame wie folgt: MVF,i = –TDB,i × MV/TDD MVB,i = –(TDB,i + TDD) × MV/TDD oder Z = –TDB,i × 256/TDD MVF,i = (Z × MV + 128) >> 8 W = Z – 256 MVB,i = (W × MV + 128) >> 8,wobei TDB,i einen zeitlichen Abstand zwischen einem gegenwärtigen B-Feld und einem list-0-Referenzfeld repräsentiert, TDD einen zeitlichen Abstand zwischen einem list-1-Referenz-Frame und einem list-0-Referenz-Frame repräsentiert, und MV einen Bewegungsvek tor eines co-lokalisierten Blocks in einem list-1-Referenz-Frame für den Direkt-Modus repräsentiert.
  14. Verfahren gemäß einem der Ansprüche 7 bis 13, wobei der Schritt den Schritt umfasst: wenn ein Makroblock des B-Bildes in einem Frame-Modus ist, ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Feld-Modus ist und ein list-0-Referenzbild für den Direkt-Modus dem list-1-Referenzbild zeitlich vorangeht, Berechnen der Direkt-Modus-Bewegungsvektoren MVF und MVB eines B-Frame aus der unten angegebenen Gleichung, wobei Bewegungsinformation eines co-lokalisierten Blocks in einem Feld 1 eines list-1-Referenz-Frame zur Berechnung der Direkt-Modus-Bewegungsvektoren verwendet wird: MVF = TDB × MV1/TDD,1 MVB = (TDB – TDD,1)× MV1/TDD,1 oder Z = TDB × 256/TDD,1 MVF = (Z × MV1 + 128) >> 8 W = Z – 256 MVB = (W × MV1 + 128) >> 8,wobei TDB einen zeitlichen Abstand zwischen einem gegenwärtigen B-Frame und einem list-0-Referenz-Frame repräsentiert, TDD,1 einen zeitlichen Abstand zwischen einem Feld 1 des list-1-Referenz-Frame und einem list-0-Referenzfeld repräsentiert, und MV1 einen Bewegungsvektor eines co-lokalisierten Blocks in dem Feld 1 des list-1-Referenz-Frame für den Direkt-Modus repräsentiert.
  15. Verfahren gemäß einem der Ansprüche 7 bis 14, wobei der Schritt den Schritt umfasst: wenn ein Makroblock des B-Bildes in einem Frame-Modus ist, ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Feld-Modus ist und ein list-0-Referenzbild für den Direkt-Modus des B-Bildes dem list-1-Referenzbild zeitlich folgt, Berechnen der Direkt-Modus-Bewegungsvektoren MVF und MVB eines B-Frame aus der unten angegebenen Gleichung, wobei Bewegungsinformation eines co-lokalisierten Blocks in einem Feld 1 eines list-1-Referenz-Frame zur Berechnung der Direkt-Modus-Bewegungsvektoren verwendet wird: MVF = –TDB × MV1/TDD,1 MVB = –(TDB + TDD,1)× MV1/TDD,1 oder Z = –TDB × 256/TDD,1 MVF = (Z × MV1 + 128) >> 8 W = Z – 256 MVB = (W × MV1 + 128) >> 8,wobei TDB einen zeitlichen Abstand zwischen einem gegenwärtigen B-Frame und einem list-0-Referenz-Frame repräsentiert, TDD,1 einen zeitlichen Abstand zwischen einem Feld 1 des list-1-Referenz-Frame und einem list-0-Referenzfeld repräsentiert, und MV1 ei nen Bewegungsvektor eines co-lokalisierten Blocks in dem Feld 1 des list-1-Referenz-Frame für den Direkt-Modus repräsentiert.
  16. Verfahren gemäß einem der Ansprüche 1 bis 15, ferner umfassend, wenn sowohl ein list-0-Referenzbild als auch das list-1-Referenzbild für den Direkt-Modus dem B-Bild zeitlich folgen, Skalieren des Bewegungsvektors des co-lokalisierten Blocks in dem list-1-Referenzbild für den Direkt-Modus, um einen list-0-Bewegungsvektor MVF und einen list-1-Bewegungsvektor MVB herzuleiten.
  17. Verfahren gemäß Anspruch 16, wobei der Schritt den Schritt umfasst: wenn sowohl ein Makroblock des B-Bildes als auch ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Frame-Modus sind und das list-0-Referenzbild für den Direkt-Modus dem list-1-Referenzbild zeitlich folgt, Berechnen der Direkt-Modus-Bewegungsvektoren MVF und MVB des B-Bildes wie folgt: MVF = TDB × MV/TDD MVB = (TDB – TDD)× MV/TDD oder Z = TDB × 256/TDD MVF = (Z × MV + 128) >> 8 W = Z – 256 MVB = (W × MV1 + 128) >> 8, wobei TDB einen zeitlichen Abstand zwischen einem gegenwärtigen B-Frame und einem list-0-Referenz-Frame repräsentiert, TDD einen zeitlichen Abstand zwischen einem list-1-Referenz-Frame und dem list-0-Referenz-Frame repräsentiert, und MV einen Bewegungsvektor des co-lokalisierten Blocks in dem list-1-Referenzbild für den Direkt-Modus repräsentiert.
  18. Verfahren gemäß Anspruch 16 oder 17, wobei der Schritt den Schritt umfasst: wenn sowohl ein Makroblock des B-Bildes und ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Frame-Modus sind und das list-0-Referenzbild für den Direkt-Modus dem list-1-Referenzbild zeitlich vorangeht, Berechnen der Direkt-Modus-Bewegungsvektoren MVF und MVB des B-Bildes wie folgt: MVF = –TDB × MV/TDD MVB = –(TDB + TDD)× MV/TDD oder Z = –TDB × 256/TDD MVF = (Z × MV + 128) >> 8 W = Z – 256 MVB = (W × MV + 128) >> 8,wobei TDB einen zeitlichen Abstand zwischen einem gegenwärtigen B-Frame und einem list-0-Referenz-Frame repräsentiert, TDD einen zeitlichen Abstand zwischen einem list-1-Referenz-Frame und dem list-0- Referenz-Frame repräsentiert, und MV einen Bewegungsvektor des co-lokalisierten Blocks in dem list-1-Referenzbild für den Direkt-Modus repräsentiert.
  19. Verfahren gemäß einem der Ansprüche 16 bis 18, wobei der Schritt den Schritt umfasst: wenn sowohl ein Makroblock des B-Bildes als auch ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Feld-Modus sind und das list-0-Referenzbild für den Direkt-Modus dem list-1-Referenzbild zeitlich folgt, Berechnen der Direkt-Modus-Bewegungsvektoren MVF,i und MVB,i für jedes Feld i eines B-Frame wie folgt: MVF,i = TDB,i × MVi/TDD,i MVB,i = (TDB,i – TDD,i) × MV/TDD,i oder Z = TDB,i × 256/TDD,i MVF,i = (Z × MVi + 128) >> 8 W = Z – 256 MVB,i = (W × MVi + 128) >> 8,wobei TDB,i einen zeitlichen Abstand zwischen einem gegenwärtigen B-Feld und einem list-0-Referenzfeld repräsentiert, TDD,i einen zeitlichen Abstand zwischen einem list-1-Referenzfeld und dem list-0-Referenzfeld repräsentiert, und MVi einen Bewegungsvektor eines co-lokalisierten Blocks in einem list-1-Referenzfeld für den Direkt-Modus repräsentiert.
  20. Verfahren einem der Ansprüche 16 bis 19, wobei der Schritt den Schritt umfasst: wenn sowohl ein Makroblock des B-Bildes als auch ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Feld-Modus sind und das list-0-Referenzbild für den Direkt-Modus dem list-1-Referenzbild zeitlich vorangeht, Berechnen der Direkt-Modus-Bewegungsvektoren MVF,i und MVB,i für jedes Feld i eines B-Frame wie folgt: MVF,i = –TDB,i × MVi/TDD,i MVB,i = –(TDB,i + TDD,i) × MVi/TDD,i oder Z = –TDB,i × 256/TDD,i MVF,i = (Z × MVi + 128) >> 8 W = Z – 256 MVB,i = (W × MVi + 128) >> 8wobei TDB,i einen zeitlichen Abstand zwischen einem gegenwärtigen B-Feld und einem list-0-Referenzfeld repräsentiert, TDD,i einen zeitlichen Abstand zwischen einem list-1-Referenzfeld und dem list-0-Referenzfeld repräsentiert, und MVi einen Bewegungsvektor eines co-lokalisierten Blocks in einem list-1-Referenzfeld für den Direkt-Modus repräsentiert.
  21. Verfahren gemäß einem der Ansprüche 16 bis 20, wobei der Schritt den Schritt umfasst: wenn ein Makroblock des B-Bildes in einem Feld-Modus ist, ein co-lokalisierter Makroblock das list-1-Referenzbildes in einem Frame-Modus ist und das list-0-Referenzbild für den Direkt-Modus dem list-1-Referenzbild zeitlich folgt, Berechnen der Direkt-Modus-Bewegungsvektoren MVF,i und MVB,i für jedes Feld i des B-Frame wie folgt: MVF,i = TDB,i × MV/TDD MVB,i = (TDB,i – TDD) × MV/TDD oder Z = TDB,i × 256/TDD MVF,i = (Z × MV + 128) >> 8 W = Z – 256 MVB,i = (W × MV + 128) >> 8,wobei TDB,i einen zeitlichen Abstand zwischen einem gegenwärtigen B-Feld und einem list-0-Referenzfeld repräsentiert, TDD einen zeitlichen Abstand zwischen einem list-1-Referenz-Frame und einem list-0-Referenz-Frame repräsentiert, und MV einen Bewegungsvektor eines co-lokalisierten Blocks in einem list-1-Referenz-Frame für den Direkt-Modus repräsentiert.
  22. Verfahren gemäß einem der Ansprüche 16 bis 21, wobei der Schritt den Schritt umfasst: wenn ein Makroblock des B-Bildes in einem Feld-Modus ist, ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Frame-Modus ist und das list-0-Referenzbild für den Direkt-Modus dem list-1-Referenzbild zeitlich vorangeht, Berechnen der Direkt-Modus- Bewegungsvektoren MVF,i und MVB,i für jedes Feld i eines B-Frame wie folgt: MVF,i = –TDB,i × MV/TDD MVB,i = –(TDB,i + TDD) × MV/TDD oder Z = –TDB,i × 256/TDD MVF,i = (Z × MV + 128) >> 8 W = Z – 256 MVB,i = (W × MV + 128) >> 8,wobei TDB,i einen zeitlichen Abstand zwischen einem gegenwärtigen B-Feld und einem list-0-Referenzfeld repräsentiert, TDD einen zeitlichen Abstand zwischen einem list-1-Referenz-Frame und einem list-0-Referenz-Frame repräsentiert, und MV einen Bewegungsvektor eines co-lokalisierten Blocks in einem list-1-Referenz-Frame für den Direkt-Modus repräsentiert.
  23. Verfahren gemäß einem der Ansprüche 16 bis 22, wobei der Schritt den Schritt umfasst: wenn ein Makroblock des B-Bildes in einem Frame-Modus ist, ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Feld-Modus ist und das list-0-Referenzbild für den Direkt-Modus dem list-1-Referenzbild zeitlich folgt, Berechnen der Direkt-Modus-Bewegungsvektoren MVF und MVB eines B-Frame aus der unten angegebenen Gleichung, wobei Bewegungsinformation eines co-lokalisierten Blocks in einem Feld 0 eines list-1-Referenz-Frame zur Berechnung der Direkt-Modus-Bewegungsvektoren verwendet wird: MVF = TDB × MV0/TDD,0 MVB = (TDB – TDD,0) × MV0/TDD,0 oder Z = TDB × 256/TDD,0 MVF = (Z × MV0 + 128) >> 8 W = Z – 256 MVB = (W × MV0 + 128) >> 8,wobei TDB einen zeitlichen Abstand zwischen einem gegenwärtigen B-Frame und einem list-0-Referenz-Frame repräsentiert, TDD,0 einen zeitlichen Abstand zwischen einem Feld 0 des list-1-Referenz-Frame und einem list-0-Referenzfeld repräsentiert, und MV0 einen Bewegungsvektor eines co-lokalisierten Blocks in dem Feld 0 des list-1-Referenz-Frame für den Direkt-Modus repräsentiert.
  24. Verfahren gemäß einem der Ansprüche 16 bis 23, wobei der Schritt den Schritt umfasst: wenn ein Makroblock des B-Bildes in einem Frame-Modus ist, ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Feld-Modus ist und das list-0-Referenzbild für den Direkt-Modus dem list-1-Referenzbild zeitlich vorangeht, Berechnen der Direkt-Modus-Bewegungsvektoren MVF und MVB eines B-Frame aus der unten angegebenen Gleichung, wobei Bewegungsinformation eines co-lokalisierten Blocks in einem Feld 0 eines list-1-Referenz-Frame zur Berechnung der Direkt-Modus-Bewegungsvektoren verwendet wird: MVF = –TDB × MV0/TDD,0 MVB = –(TDB + TDD,0) × MV0/TDD,0 oder Z = –TDB × 256/TDD,0 MVF = (Z × MV0 + 128) >> 8 W = Z – 256 MVB = (W × MV0 + 128) >> 8,wobei TDB einen zeitlichen Abstand zwischen einem gegenwärtigen B-Frame und einem list-0-Referenz-Frame repräsentiert, TDD,0 einen zeitlichen Abstand zwischen einem Feld 0 des list-1-Referenz-Frame und einem list-0-Referenzfeld repräsentiert, und MV0 einen Bewegungsvektor eines co-lokalisierten Blocks in dem Feld 0 des list-1-Referenz-Frame für den Direkt-Modus repräsentiert.
  25. Verfahren gemäß einem der Ansprüche 1 bis 24, ferner umfassend die folgenden Schritte: Zuweisen eines Vorzeichens zu einem zeitlichen Zwischen-Bild-Distanzwert, Skalieren eines Bewegungsvektors eines co-lokalisierten Blocks in einem list-1-Referenzbild für den Direkt-Modus unabhängig von Orten der list-0- und list-1-Referenzbilder für den Direkt-Modus, um einen list-0-Bewegungsvektor MVF und einen list-1-Bewegungsvektor MVB herzuleiten.
  26. Verfahren gemäß Anspruch 25, wobei der Schritt den Schritt umfasst: wenn sowohl ein Makroblock des B-Bildes als auch ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Frame-Modus sind, Berechnen der Direkt-Modus-Bewegungsvektoren MVF und MVB des B-Bildes wie folgt: MVF = TDB × MV/TDD MVB = (TDB – TDD) × MV/TDD oder Z = TDB × 256/TDD MVF = (Z × MV + 128) >> 8 W = Z – 256 MVB = (W × MV + 128) >> 8,wobei TDB einen zeitlichen Abstand zwischen einem gegenwärtigen B-Frame und einem list-0-Referenz-Frame repräsentiert, welchem ein positives (+) Vorzeichen zugewiesen wird, wenn er von dem B-Frame aus gemessen wird, und welchem ein negatives (–) Vorzeichen zugewiesen wird, wenn er von dem list-0-Referenz-Frame aus gemessen wird, TDD einen zeitlichen Abstand zwischen einem list-1-Referenz-Frame und dem list-0-Referenz-Frame repräsentiert, welchem ein positives (+) Vorzeichen zugewiesen wird, wenn er von dem list-1-Referenz-Frame aus gemessen wird, und welchem ein negatives (–) Vorzeichen zugewiesen wird, wenn er von dem list-0-Referenz-Frame aus gemessen wird, und MV einen Bewegungsvektor des co-lokalisierten Blocks in dem list-1-Referenzbild für den Direkt-Modus repräsentiert.
  27. Verfahren gemäß Anspruch 25 oder 26, wobei der Schritt den Schritt umfasst: falls sowohl ein Makroblock des B-Bildes als auch ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Feld-Modus sind, Berechnen der Direkt-Modus-Bewegungsvektoren MVF,i und MVB,i für jedes Feld i eines B-Frame wie folgt: MVF,i = TDB,i × MVi/TDD,i MVB,i = (TDB,i – TDD,i) × MVi/TDD,i oder Z = TDB,i × 256/TDD,i MVF,i = (Z × MVi + 128) >> 8 W = Z – 256 MVB,i = (W × MVi + 128) >> 8,wobei TDB,i einen zeitlichen Abstand zwischen einem gegenwärtigen B-Feld und einem list-0-Referenzfeld repräsentiert, welchem ein positives (+) Vorzeichen zugewiesen wird, wenn er von dem B-Feld aus gemessen wird, und welchem ein negatives (–) Vorzeichen zugewiesen wird, wenn er von dem list-0-Referenzfeld aus gemessen wird, TDD,i einen zeitlichen Abstand zwischen einem list-1-Referenzfeld und dem list-0-Referenzfeld repräsentiert, welchem ein positives (+) Vorzeichen zugewiesen wird, wenn er von dem list-1-Referenzfeld aus gemessen wird, und welchem ein negatives (–) Vorzeichen zugewiesen wird, wenn er von dem list-0-Referenzfeld aus gemessen wird, und MVi einen Bewegungsvektor eines co-lokalisierten Blocks in einem list-1-Referenzfeld für den Direkt-Modus repräsentiert.
  28. Verfahren gemäß einem der Ansprüche 25 bis 27, wobei der Schritt den Schritt umfasst: wenn ein Makroblock des B-Bildes in einem Feld-Modus ist, und ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Frame-Modus ist, Berechnen der Direkt-Modus-Bewegungsvektoren MVF,i und MVB,i für jedes Feld i des B-Frame wie folgt: MVF,i = TDB,i × MV/TDD MVB,i = (TDB,i – TDD) × MV/TDD oder Z = TDB,i × 256/TDD MVF,i = (Z × MV + 128) >> 8 W = Z – 256 MVB,i = (W × MV + 128) >> 8,wobei TDB,i einen zeitlichen Abstand zwischen einem gegenwärtigen B-Feld und einem list-0-Referenzfeld repräsentiert, welchem ein positives (+) Vorzeichen zugewiesen wird, wenn er von dem B-Feld aus gemessen wird, und welchem ein negatives (–) Vorzeichen zugewiesen wird, wenn er von dem list-0-Referenzfeld aus gemessen wird, TDD einen zeitlichen Abstand zwischen einem list-1-Referenz-Frame und einem list-0-Referenz-Frame repräsentiert, welchem ein positives (+) Vorzeichen zugewiesen wird, wenn er von dem list-1-Referenz-Frame aus gemessen wird, und welchem ein negatives (–) Vorzeichen zugewiesen wird, wenn er von dem list-0-Referenz-Frame aus gemessen wird, und MV einen Bewegungsvektor eines co-lokalisierten Blocks in einem list-1-Referenz-Frame für den Direkt-Modus repräsentiert.
  29. Verfahren gemäß einem der Ansprüche 25 bis 28, wobei der Schritt den Schritt umfasst: wenn ein Makroblock des B-Bildes in einem Frame-Modus ist, ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Feld-Modus ist und das list-1-Referenzbild dem B-Bild zeitlich folgt, Berechnen der Direkt-Modus-Bewegungsvektoren MVF und MVB eines B-Frame aus der unten angegebenen Gleichung, wobei Bewegungsinformation eines co-lokalisierten Blocks in einem Feld 0 eines list-1-Referenz-Frame zum Berechnen der Direkt-Modus-Bewegungsvektoren verwendet wird: MVF = TDB × MV0/TDD,0 MVB = (TDB – TDD,0) × MV0/TDD,0 oder Z = TDB × 256/TDD,0 MVF = (Z × MV0 + 128) >> 8 W = Z – 256 MVB = (W × MV0 + 128) >> 8,wobei TDB einen zeitlichen Abstand zwischen einem gegenwärtigen B-Frame und einem list-0-Referenz- Frame repräsentiert, welchem ein positives (+) Vorzeichen zugewiesen wird, wenn er von dem B-Frame aus gemessen wird, und welchem ein negatives (–) Vorzeichen zugewiesen wird, wenn er von dem list-0-Referenz-Frame aus gemessen wird, TDD,0 einen zeitlichen Abstand zwischen einem Feld 0 des list-1-Referenz-Frame und einem list-0-Referenzfeld repräsentiert, welchem ein positives (+) Vorzeichen zugewiesen wird, wenn er von dem Feld 0 des list-1-Referenz-Frame aus gemessen wird, und welchem ein negatives (–) Vorzeichen zugewiesen wird, wenn er von dem list-0-Referenzfeld aus gemessen wird, und MV0 einen Bewegungsvektor eines co-lokalisierten Blocks in dem Feld 0 des list-1-Referenz-Frame für den Direkt-Modus repräsentiert.
  30. Verfahren gemäß einem der Ansprüche 25 bis 29, wobei der Schritt den Schritt umfasst: wenn ein Makroblock des B-Bildes in einem Frame-Modus ist, ein co-lokalisierter Makroblock des list-1-Referenzbildes in einem Feld-Modus ist, und das list-1-Referenzfild dem B-Bild zeitlich vorangeht, Berechnen der Direkt-Modus-Bewegungsvektoren MVF und MVB eines B-Frame aus der unten angegebenen Gleichung, wobei Bewegungsinformation eines co-lokalisierten Blocks in einem Feld 0 eines list-1-Referenz-Frame zum Berechnen der Direkt-Modus-Bewegungsvektoren verwendet wird: MVF = TDB × MV1/TDD,1 MVB = (TDB – TDD,1) × MV1/TDD,1 oder Z = TDB × 256/TDD,1 MVF = (Z × MV1 + 128) >> 8 W = Z – 256 MVB = (W × MV1 + 128) >> 8,wobei TDB einen zeitlichen Abstand zwischen einem gegenwärtigen B-Frame und einem list-0-Referenz-Frame repräsentiert, welchem ein positives (+) Vorzeichen zugewiesen wird, wenn er von dem B-Frame aus gemessen wird, und welchem ein negatives (–) Vorzeichen zugewiesen wird, wenn er von dem list-0-Referenz-Frame aus gemessen wird, TDD,1 einen zeitlichen Abstand zwischen einem Feld 1 eines list-1-Referenz-Frame und einem list-0-Referenzfeld repräsentiert, welchem ein positives (+) Vorzeichen zugewiesen wird, wenn er von dem Feld 1 des list-1-Referenz-Frame aus gemessen wird, und welchem ein negatives (–) Vorzeichen zugewiesen wird, wenn er von dem list-0-Referenzfeld aus gemessen wird, und MV1 einen Bewegungsvektor eines co-lokalisierten Blocks in dem Feld 1 des list-1-Referenz-Frame für den Direkt-Modus repräsentiert.
  31. Verfahren gemäß einem der Ansprüche 1 bis 30, umfassend die Schritte: wenn ein co-lokalisierter Makroblock in einem list-1-Referenzbild für den Direkt-Modus in einem Intra-Modus ist, Vorhersagen und Berechnen von list-0- und list-1-Referenzbildern und Bewegungsvektoren aus benachbarten Blöcken eines Makroblocks des zu codierenden B-Bildes auf der Grundlage einer räumlichen Redundanz.
  32. Verfahren gemäß Anspruch 31, wobei der Schritt den Schritt umfasst: wenn benachbarte Blöcke A, B und C des zu codierenden Makroblocks sich auf verschiedene Referenzbilder beziehen, Auswählen eines Referenzbildes mit einem kleinsten Index als das Referenzbild für jede Liste.
  33. Verfahren gemäß Anspruch 31 oder 32, wobei der Schritt den Schritt umfasst: wenn zwei oder mehr benachbarte Blöcke des zu codierenden Makroblocks sich auf ein Referenzbild mit dem gleichen Index beziehen, Auswählen dieses Referenzbildes als das Referenzbild für jede Liste.
  34. Verfahren gemäß einem der Ansprüche 31 bis 33, wobei der Schritt die folgenden Schritte umfasst: Setzen seiner list-0- und list-1-Bewegungsvektoren zu 0, wenn einer der benachbarten Blöcke A, B und C des zu codierenden Makroblocks in dem Intra-Modus ist, Auswählen eines Bewegungsvektors, welcher die gleiche Richtung hat wie ein zeitlicher Ort des Referenzbildes für jede Liste aus einem benachbarten Block, und Gewinnen des Bewegungsvektors für jede Liste durch eine Medianoperation, oder Auswählen von nur einem der beiden Bewegungsvektoren aus diesem Block, wenn ein benachbarter Block zwei Bewegungsvektoren mit den gleichen Richtungen aufweist, und Gewinnen des Bewegungsvektors für jede Liste durch eine Medianoperation unter Einbeziehung des ausgewählten Bewegungsvektors.
  35. Verfahren gemäß einem der Ansprüche 31 bis 34, wobei der Schritt die folgenden Schritte umfasst: wenn kein effektiver Referenzbildindex für jeden list-Modus hergeleitet werden kann, Setzen der list-0- und list-1-Referenzbildindizes zu 0 und Setzen des Bewegungsvektors für jeden list-Modus zu 0.
DE2003611720 2002-10-04 2003-01-07 Direkt-Modus Bewegungsvektorberechnung für B-Bilder Active DE60311720T9 (de)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR2002060742 2002-10-04
KR20020060742 2002-10-04
KR20020061243 2002-10-08
KR2002061243 2002-10-08
KR2002071226 2002-11-15
KR10-2002-0071226A KR100506864B1 (ko) 2002-10-04 2002-11-15 모션벡터 결정방법

Publications (3)

Publication Number Publication Date
DE60311720D1 DE60311720D1 (de) 2007-03-29
DE60311720T2 true DE60311720T2 (de) 2007-09-13
DE60311720T9 DE60311720T9 (de) 2008-02-14

Family

ID=35871226

Family Applications (13)

Application Number Title Priority Date Filing Date
DE2003611720 Active DE60311720T9 (de) 2002-10-04 2003-01-07 Direkt-Modus Bewegungsvektorberechnung für B-Bilder
DE2003221473 Expired - Lifetime DE20321473U1 (de) 2002-10-04 2003-01-07 Direktmoduls-Bewegungsvektor-Berechnungssystem für B-Bilder
DE60334337T Expired - Lifetime DE60334337D1 (de) 2002-10-04 2003-01-07 Verfahren zur Extraktion von Direktmodus-Bewegungsvektoren
DE60334339T Expired - Lifetime DE60334339D1 (de) 2002-10-04 2003-01-07 Verfahren zur Extraktion von Direktmodus-Bewegungsvektoren
DE60335034T Expired - Lifetime DE60335034D1 (de) 2002-10-04 2003-01-07 Direkt-Modus Bewegungsvektorberechnung für B-Bilder
DE60334338T Expired - Lifetime DE60334338D1 (de) 2002-10-04 2003-01-07 Verfahren zur Extraktion von Direktmodus-Bewegungsvektoren
DE60334941T Expired - Lifetime DE60334941D1 (de) 2002-10-04 2003-01-07 Bewegungsvektorberechnung im Direktmodus für B-Bilder
DE60334330T Expired - Lifetime DE60334330D1 (de) 2002-10-04 2003-01-07 System zur Bewegungsvektorberechnung im Direktmodus für B-Bilder
DE60335046T Expired - Lifetime DE60335046D1 (de) 2002-10-04 2003-01-07 Bewegungsvektorberechnung im Direktmodus für B-Bilder
DE60334505T Expired - Lifetime DE60334505D1 (de) 2002-10-04 2003-01-07 Verfahren zur Extraktion von Direktmodus-Bewegungsvektoren
DE60334336T Expired - Lifetime DE60334336D1 (de) 2002-10-04 2003-01-07 Verfahren zur Extraktion von Direktmodus-Bewegungsvektoren
DE2003100533 Expired - Lifetime DE10300533B4 (de) 2002-10-04 2003-01-09 Direktmodus-Bewegungsvektor-Berechnungsverfahren für B-Bilder
DE2003162106 Expired - Lifetime DE10362106B3 (de) 2002-10-04 2003-01-09 Direktmodus-Bewegungsvektor-Berechnungsverfahren für B-Bilder

Family Applications After (12)

Application Number Title Priority Date Filing Date
DE2003221473 Expired - Lifetime DE20321473U1 (de) 2002-10-04 2003-01-07 Direktmoduls-Bewegungsvektor-Berechnungssystem für B-Bilder
DE60334337T Expired - Lifetime DE60334337D1 (de) 2002-10-04 2003-01-07 Verfahren zur Extraktion von Direktmodus-Bewegungsvektoren
DE60334339T Expired - Lifetime DE60334339D1 (de) 2002-10-04 2003-01-07 Verfahren zur Extraktion von Direktmodus-Bewegungsvektoren
DE60335034T Expired - Lifetime DE60335034D1 (de) 2002-10-04 2003-01-07 Direkt-Modus Bewegungsvektorberechnung für B-Bilder
DE60334338T Expired - Lifetime DE60334338D1 (de) 2002-10-04 2003-01-07 Verfahren zur Extraktion von Direktmodus-Bewegungsvektoren
DE60334941T Expired - Lifetime DE60334941D1 (de) 2002-10-04 2003-01-07 Bewegungsvektorberechnung im Direktmodus für B-Bilder
DE60334330T Expired - Lifetime DE60334330D1 (de) 2002-10-04 2003-01-07 System zur Bewegungsvektorberechnung im Direktmodus für B-Bilder
DE60335046T Expired - Lifetime DE60335046D1 (de) 2002-10-04 2003-01-07 Bewegungsvektorberechnung im Direktmodus für B-Bilder
DE60334505T Expired - Lifetime DE60334505D1 (de) 2002-10-04 2003-01-07 Verfahren zur Extraktion von Direktmodus-Bewegungsvektoren
DE60334336T Expired - Lifetime DE60334336D1 (de) 2002-10-04 2003-01-07 Verfahren zur Extraktion von Direktmodus-Bewegungsvektoren
DE2003100533 Expired - Lifetime DE10300533B4 (de) 2002-10-04 2003-01-09 Direktmodus-Bewegungsvektor-Berechnungsverfahren für B-Bilder
DE2003162106 Expired - Lifetime DE10362106B3 (de) 2002-10-04 2003-01-09 Direktmodus-Bewegungsvektor-Berechnungsverfahren für B-Bilder

Country Status (15)

Country Link
US (31) US7233621B2 (de)
EP (21) EP1796396B8 (de)
JP (19) JP4020789B2 (de)
KR (1) KR100506864B1 (de)
CN (3) CN1812585B (de)
AT (10) ATE354259T1 (de)
CY (10) CY1106351T1 (de)
DE (13) DE60311720T9 (de)
DK (10) DK1796396T3 (de)
ES (1) ES2281573T3 (de)
GB (4) GB2406459B (de)
HK (5) HK1073555A1 (de)
NL (3) NL1022333C2 (de)
PT (10) PT1603344E (de)
SI (10) SI2015585T1 (de)

Families Citing this family (145)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6499060B1 (en) 1999-03-12 2002-12-24 Microsoft Corporation Media coding for loss recovery with remotely predicted data units
EP2009924A3 (de) 2001-11-06 2010-07-28 Panasonic Corporation Verfahren zur kodierung und dekodierung von bewegten Bildern
US20030099294A1 (en) * 2001-11-27 2003-05-29 Limin Wang Picture level adaptive frame/field coding for digital video content
US7003035B2 (en) 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
JP2004088722A (ja) 2002-03-04 2004-03-18 Matsushita Electric Ind Co Ltd 動画像符号化方法および動画像復号化方法
MXPA03011334A (es) 2002-04-19 2004-04-20 Matsushita Electric Ind Co Ltd Metodo de calculo de un vector de movimiento.
US20040001546A1 (en) 2002-06-03 2004-01-01 Alexandros Tourapis Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
US7088776B2 (en) 2002-07-15 2006-08-08 Apple Computer, Inc. Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding
US7154952B2 (en) 2002-07-19 2006-12-26 Microsoft Corporation Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures
US8254461B2 (en) 2002-07-24 2012-08-28 Apple Inc. Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding with reduced requirements for division operations
US6728315B2 (en) 2002-07-24 2004-04-27 Apple Computer, Inc. Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding with reduced requirements for division operations
KR100506864B1 (ko) 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
US7499493B2 (en) * 2003-06-20 2009-03-03 Lsi Corporation Dual block motion vector storage in compressed form
US20050013498A1 (en) 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
US7609763B2 (en) * 2003-07-18 2009-10-27 Microsoft Corporation Advanced bi-directional predictive coding of video frames
US8085844B2 (en) * 2003-09-07 2011-12-27 Microsoft Corporation Signaling reference frame distances
US7616692B2 (en) * 2003-09-07 2009-11-10 Microsoft Corporation Hybrid motion vector prediction for interlaced forward-predicted fields
US7724827B2 (en) 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US8064520B2 (en) 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US7567617B2 (en) 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
US7577198B2 (en) 2003-09-07 2009-08-18 Microsoft Corporation Number of reference fields for an interlaced forward-predicted field
US7620106B2 (en) * 2003-09-07 2009-11-17 Microsoft Corporation Joint coding and decoding of a reference field selection and differential motion vector information
US7623574B2 (en) * 2003-09-07 2009-11-24 Microsoft Corporation Selecting between dominant and non-dominant motion vector predictor polarities
FR2860678A1 (fr) * 2003-10-01 2005-04-08 Thomson Licensing Sa Procede de codage differentiel
US7400681B2 (en) * 2003-11-28 2008-07-15 Scientific-Atlanta, Inc. Low-complexity motion vector prediction for video codec with two lists of reference pictures
CN1225128C (zh) * 2003-12-31 2005-10-26 中国科学院计算技术研究所 直接编码模式下确定参考图像块的方法
CN1321534C (zh) * 2003-12-31 2007-06-13 中国科学院计算技术研究所 固定参考帧数编码方式下获取图像参考块的方法
US8036271B2 (en) * 2004-02-24 2011-10-11 Lsi Corporation Method and apparatus for determining a second picture for temporal direct-mode block prediction
KR100584603B1 (ko) * 2004-08-03 2006-05-30 학교법인 대양학원 다시점 영상의 다이렉트 모드 움직임 예측 방법 및 장치
US8155191B2 (en) * 2004-11-04 2012-04-10 Thomson Licensing Method and apparatus for fast mode decision of B-frames in a video encoder
US8634413B2 (en) 2004-12-30 2014-01-21 Microsoft Corporation Use of frame caching to improve packet loss recovery
JP2006352238A (ja) * 2005-06-13 2006-12-28 Sony Corp 画像処理装置、画像処理方法及びプログラム
KR100746006B1 (ko) 2005-07-19 2007-08-06 삼성전자주식회사 계층적 구조에 적합하게 시간적 다이렉트 모드로인코딩하며, 디코딩하는 방법 및 장치
JP2007028393A (ja) * 2005-07-20 2007-02-01 Matsushita Electric Ind Co Ltd 双方向予測符号化ピクチャの直接モードブロックの動きベクトルを求める方法
US8498520B2 (en) * 2005-07-27 2013-07-30 Vbrick Systems, Inc. Video encoding and transmission technique for efficient, multi-speed fast forward and reverse playback
FR2891685B1 (fr) * 2005-10-03 2008-04-18 Envivio France Entpr Uniperson Procede et dispositif d'estimation de mouvement a references multiples, procede et dispositif de codage, produits programme d'ordinateur et moyens de stockage correspondants.
JP4702943B2 (ja) * 2005-10-19 2011-06-15 キヤノン株式会社 画像処理装置及びその方法
JP4879558B2 (ja) * 2005-11-02 2012-02-22 パナソニック株式会社 動きベクトル検出装置
WO2007074543A1 (ja) * 2005-12-27 2007-07-05 Sharp Kabushiki Kaisha 動画像復号装置および動画像符号化装置
EP1806930A1 (de) * 2006-01-10 2007-07-11 Thomson Licensing Verfahren und Einrichtung für scalierbares Video-referenzbild Aufbau.
US20070171977A1 (en) * 2006-01-25 2007-07-26 Shintaro Kudo Moving picture coding method and moving picture coding device
FR2897213A1 (fr) * 2006-02-08 2007-08-10 Thomson Licensing Sas Procede de codage par blocs d'images d'une sequence d'images video
JP4527677B2 (ja) 2006-03-15 2010-08-18 富士通株式会社 動画像符号化方法、動画像符号化装置、動画像符号化プログラム
US8270492B2 (en) * 2006-05-12 2012-09-18 Panasonic Corporation Moving picture decoding device
EP2642756B1 (de) * 2006-10-16 2018-09-26 Nokia Technologies Oy System und Verfahren zur Implementierung einer effizienten Verwaltung des dekodierten Puffers bei der Mehransicht-videokodierung
CN101227601B (zh) * 2007-01-15 2011-09-14 飞思卡尔半导体公司 在视频再现中进行几何变换的方法和设备
WO2008153262A1 (en) 2007-06-15 2008-12-18 Sungkyunkwan University Foundation For Corporate Collaboration Bi-prediction coding method and apparatus, bi-prediction decoding method and apparatus, and recording midium
US8526499B2 (en) * 2007-06-15 2013-09-03 Sungkyunkwan University Foundation For Corporate Collaboration Bi-prediction coding method and apparatus, bi-prediction decoding method and apparatus, and recording medium
US8254455B2 (en) 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
CN101119493B (zh) * 2007-08-30 2010-12-01 威盛电子股份有限公司 区块式数字编码图像的译码方法及装置
EP2208350A2 (de) * 2007-10-12 2010-07-21 Thomson Licensing Verfahren und vorrichtungen zur videocodierung und decodierung geometrisch partitionierter biprädiktivmodus-partitionen
US8743952B2 (en) * 2007-12-18 2014-06-03 Vixs Systems, Inc Direct mode module with motion flag precoding and methods for use therewith
KR101505195B1 (ko) 2008-02-20 2015-03-24 삼성전자주식회사 직접 모드 부호화 및 복호화 방법
US20110261887A1 (en) * 2008-06-06 2011-10-27 Wei Siong Lee Methods and devices for estimating motion in a plurality of frames
JP5578775B2 (ja) 2008-09-02 2014-08-27 富士通株式会社 符号化装置および復号装置
CN102160382A (zh) * 2008-09-24 2011-08-17 索尼公司 图像处理设备和图像处理方法
US8189666B2 (en) 2009-02-02 2012-05-29 Microsoft Corporation Local picture identifier and computation of co-located information
TWI405469B (zh) * 2009-02-20 2013-08-11 Sony Corp Image processing apparatus and method
CN103826127B (zh) * 2009-06-18 2017-03-01 株式会社东芝 运动图像编码装置和运动图像编码方法
US9628794B2 (en) 2009-06-18 2017-04-18 Kabushiki Kaisha Toshiba Video encoding apparatus and a video decoding apparatus
CN103888778B (zh) * 2009-06-18 2017-12-08 株式会社东芝 运动图像解码装置
EP2530937B1 (de) 2009-06-18 2015-03-18 Kabushiki Kaisha Toshiba Videokodiergerät und Videodekodiergerät
CN103826126B (zh) * 2009-06-18 2017-09-29 株式会社东芝 运动图像编码装置和运动图像编码方法
KR20110008653A (ko) * 2009-07-20 2011-01-27 삼성전자주식회사 움직임 벡터 예측 방법과 이를 이용한 영상 부호화/복호화 장치 및 방법
US9060176B2 (en) * 2009-10-01 2015-06-16 Ntt Docomo, Inc. Motion vector prediction in video coding
US8594200B2 (en) * 2009-11-11 2013-11-26 Mediatek Inc. Method of storing motion vector information and video decoding apparatus
WO2011070730A1 (ja) * 2009-12-07 2011-06-16 日本電気株式会社 映像符号化装置および映像復号装置
KR101348613B1 (ko) * 2009-12-23 2014-01-10 한국전자통신연구원 영상의 부호화/복호화 장치 및 그 방법
KR101522850B1 (ko) * 2010-01-14 2015-05-26 삼성전자주식회사 움직임 벡터를 부호화, 복호화하는 방법 및 장치
CN102823248B (zh) * 2010-04-08 2015-06-24 株式会社东芝 图像编码方法以及图像编码装置
KR101752418B1 (ko) 2010-04-09 2017-06-29 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
CN105791860B (zh) * 2010-05-26 2018-10-16 Lg电子株式会社 用于处理视频信号的方法和设备
JP2011259230A (ja) * 2010-06-09 2011-12-22 Jvc Kenwood Corp 動画像復号装置、動画像復号方法及び動画像復号プログラム
JP2011259229A (ja) * 2010-06-09 2011-12-22 Jvc Kenwood Corp 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
WO2011155171A1 (ja) * 2010-06-09 2011-12-15 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム、ならびに動画像復号装置、動画像復号方法及び動画像復号プログラム
US9124898B2 (en) 2010-07-12 2015-09-01 Mediatek Inc. Method and apparatus of temporal motion vector prediction
KR20120016991A (ko) * 2010-08-17 2012-02-27 오수미 인터 프리딕션 방법
KR101914018B1 (ko) * 2010-09-30 2018-10-31 미쓰비시덴키 가부시키가이샤 동화상 복호 장치, 동화상 복호 방법, 동화상 부호화 장치, 동화상 부호화 방법 및 기록 매체
CN105338364B (zh) 2010-10-06 2018-07-24 株式会社Ntt都科摩 图像预测解码装置、图像预测解码方法
EP4102835A1 (de) 2010-11-24 2022-12-14 Velos Media International Limited Bewegungsvektorberechnungsverfahren, bildcodierungsverfahren, bilddecodierungsverfahren, bewegungsvektorberechnungsvorrichtung und bildcodierungs- und decodierungsvorrichtung
US8711940B2 (en) 2010-11-29 2014-04-29 Mediatek Inc. Method and apparatus of motion vector prediction with extended motion vector predictor
WO2012073481A1 (ja) * 2010-11-29 2012-06-07 パナソニック株式会社 動画像符号化方法および動画像復号化方法
US9137544B2 (en) * 2010-11-29 2015-09-15 Mediatek Inc. Method and apparatus for derivation of mv/mvp candidate for inter/skip/merge modes
EP2661080A4 (de) * 2010-12-31 2016-06-29 Korea Electronics Telecomm Verfahren zur kodierung von videoinformationen und verfahren zur decodierung von videoinformationen sowie vorrichtung damit
KR101820997B1 (ko) * 2011-01-12 2018-01-22 선 페이턴트 트러스트 동화상 부호화 방법 및 동화상 복호화 방법
SG189843A1 (en) * 2011-01-19 2013-06-28 Mediatek Inc Method and apparatus for parsing error robustness of temporal motion vector prediction
US9008181B2 (en) 2011-01-24 2015-04-14 Qualcomm Incorporated Single reference picture list utilization for interprediction video coding
US9532050B2 (en) 2011-01-25 2016-12-27 Sun Patent Trust Moving picture coding method and moving picture decoding method
ES2398095B1 (es) * 2011-01-31 2014-01-27 Universidad Politécnica De Valencia Instalación para simular las condiciones de presión y temperatura del aire aspirado por un motor de combustión interna alternativo.
KR20120095814A (ko) * 2011-02-21 2012-08-29 한밭대학교 산학협력단 복수 참조 영상을 이용한 영상 부복호화 방법 및 이러한 방법을 사용하는 장치
WO2012114694A1 (ja) * 2011-02-22 2012-08-30 パナソニック株式会社 動画像符号化方法、動画像符号化装置、動画像復号方法、および、動画像復号装置
US10171813B2 (en) 2011-02-24 2019-01-01 Qualcomm Incorporated Hierarchy of motion prediction video blocks
JP5358746B2 (ja) * 2011-03-03 2013-12-04 パナソニック株式会社 動画像符号化方法、動画像符号化装置及びプログラム
US9288501B2 (en) 2011-03-08 2016-03-15 Qualcomm Incorporated Motion vector predictors (MVPs) for bi-predictive inter mode in video coding
SG192985A1 (en) 2011-03-09 2013-09-30 Toshiba Kk Video image encoding method and video image decoding method
KR101532665B1 (ko) * 2011-03-14 2015-07-09 미디어텍 인크. 시간적 움직임 백터 예측을 도출하기 위한 방법 및 장치
PL2698999T3 (pl) 2011-04-12 2017-10-31 Sun Patent Trust Sposób kodowania ruchomych obrazów, urządzenie do kodowania ruchomych obrazów, sposób dekodowania ruchomych obrazów, urządzenie do dekodowania ruchomych obrazów, oraz urządzenie do kodowania/dekodowania ruchomych obrazów
WO2012160803A1 (ja) 2011-05-24 2012-11-29 パナソニック株式会社 画像符号化方法、画像符号化装置、画像復号方法、画像復号装置、および、画像符号化復号装置
US9485518B2 (en) 2011-05-27 2016-11-01 Sun Patent Trust Decoding method and apparatus with candidate motion vectors
PL2717575T3 (pl) 2011-05-27 2019-03-29 Sun Patent Trust Sposób dekodowania obrazów i urządzenie do dekodowania obrazów
EP2717579B1 (de) 2011-05-31 2020-01-22 Sun Patent Trust Videokodierungsvorrichtung und videodekodierungsverfahren
SG194746A1 (en) 2011-05-31 2013-12-30 Kaba Gmbh Image encoding method, image encoding device, image decoding method, image decoding device, and image encoding/decoding device
TWI530161B (zh) * 2011-06-07 2016-04-11 Sony Corp Image processing apparatus and method
US9282338B2 (en) * 2011-06-20 2016-03-08 Qualcomm Incorporated Unified merge mode and adaptive motion vector prediction mode candidates selection
KR20120140592A (ko) 2011-06-21 2012-12-31 한국전자통신연구원 움직임 보상의 계산 복잡도 감소 및 부호화 효율을 증가시키는 방법 및 장치
WO2012177052A2 (ko) 2011-06-21 2012-12-27 한국전자통신연구원 인터 예측 방법 및 그 장치
EP2728875B1 (de) * 2011-06-28 2019-01-09 LG Electronics Inc. Verfahren zur einstellung einer bewegungsvektorliste
KR101900986B1 (ko) 2011-06-30 2018-09-20 선 페이턴트 트러스트 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치, 및, 화상 부호화 복호 장치
WO2013006386A1 (en) * 2011-07-01 2013-01-10 General Instrument Corporation Motion vector prediction design simplification
MX2014000159A (es) 2011-07-02 2014-02-19 Samsung Electronics Co Ltd Metodo y aparato para la codificacion de video, y metodo y aparato para la decodificacion de video acompañada por inter prediccion utilizando imagen co-localizada.
JPWO2013018369A1 (ja) 2011-08-03 2015-03-05 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 動画像符号化方法、動画像符号化装置、動画像復号化方法、動画像復号化装置、および、動画像符号化復号化装置
BR112014008403B1 (pt) 2011-10-19 2022-05-10 Sun Patent Trust Método de codificação de imagem, aparelho de codificação de imagem, método de decodificação de imagem, e aparelho de decodificação de imagem
US9992511B2 (en) * 2011-10-21 2018-06-05 Nokia Technologies Oy Method for video coding and an apparatus
TWI552577B (zh) 2011-10-31 2016-10-01 Jvc Kenwood Corp Motion picture decoding device, dynamic image decoding method, and dynamic image decoding program product
CN104041041B (zh) 2011-11-04 2017-09-01 谷歌技术控股有限责任公司 用于非均匀运动向量栅格的运动向量缩放
CN107465922B (zh) 2011-11-08 2020-10-09 株式会社Kt 利用解码装置对视频信号进行解码的方法
CA2883047C (en) * 2011-11-08 2017-03-28 Samsung Electronics Co., Ltd. Method and apparatus for motion vector determination in video encoding or decoding
SI2802146T1 (sl) 2011-12-16 2019-07-31 JVC Kenwood Corporation Naprava za dekodiranje dinamične slike, metoda za dekodiranje dinamične slike in program za dekodiranje dinamične slike
MX2013014733A (es) 2011-12-16 2014-02-19 Panasonic Corp Metodo de codificacion de imagenes de video, dispositivo de codificacion de imagenes de video, metodo de decodificacion de imagenes de video, dispositivo de decodificacion de imagenes de video y dispositivo de codificacion/decodificacion de imagenes de video.
CN107682704B (zh) 2011-12-23 2020-04-17 韩国电子通信研究院 图像解码方法、图像编码方法和记录介质
JP6094760B2 (ja) * 2012-02-07 2017-03-15 パナソニックIpマネジメント株式会社 画像処理装置および画像処理方法
US9426463B2 (en) 2012-02-08 2016-08-23 Qualcomm Incorporated Restriction of prediction units in B slices to uni-directional inter prediction
US9451277B2 (en) 2012-02-08 2016-09-20 Qualcomm Incorporated Restriction of prediction units in B slices to uni-directional inter prediction
EP3833024B1 (de) * 2012-04-12 2023-07-05 JVCKENWOOD Corporation Konstruktion einer liste von bewegungsvektoren
MX354306B (es) * 2012-04-15 2018-02-23 Samsung Electronics Co Ltd Metodo y aparato para determinar imagenes de referencia para inter-prediccion.
US9172970B1 (en) 2012-05-29 2015-10-27 Google Inc. Inter frame candidate selection for a video encoder
US11317101B2 (en) 2012-06-12 2022-04-26 Google Inc. Inter frame candidate selection for a video encoder
US9672584B2 (en) 2012-09-06 2017-06-06 Imagination Technologies Limited Systems and methods of partial frame buffer updating
US9485515B2 (en) 2013-08-23 2016-11-01 Google Inc. Video coding using reference motion vectors
US9503746B2 (en) 2012-10-08 2016-11-22 Google Inc. Determine reference motion vectors
US9628790B1 (en) 2013-01-03 2017-04-18 Google Inc. Adaptive composite intra prediction for image and video compression
WO2015008339A1 (ja) * 2013-07-16 2015-01-22 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像復号装置ならびに動画像復号方法
US9609343B1 (en) 2013-12-20 2017-03-28 Google Inc. Video coding using compound prediction
WO2015172348A1 (en) * 2014-05-15 2015-11-19 The Procter & Gamble Company Dentifrice compositions having dental plaque mitigation or improved fluoride uptake
RU2615677C1 (ru) * 2015-10-30 2017-04-06 Кабусики Кайся Тосиба Способ кодирования изображений и способ декодирования изображений
CN106658019B (zh) * 2015-10-31 2019-11-12 华为技术有限公司 参考帧编解码的方法与装置
CN110169059B (zh) 2017-01-13 2023-08-22 谷歌有限责任公司 视频代码化的复合预测
US10412410B2 (en) 2017-08-14 2019-09-10 Google Llc Compound motion-compensated prediction
US10880573B2 (en) 2017-08-15 2020-12-29 Google Llc Dynamic motion vector referencing for video coding
US10284869B2 (en) 2017-09-28 2019-05-07 Google Llc Constrained motion field estimation for hardware efficiency
RU2666275C1 (ru) * 2017-11-13 2018-09-06 ДжейВиСи КЕНВУД КОРПОРЕЙШН Устройство и способ кодирования движущегося изображения, долговременный считываемый компьютером носитель записи, на который записана программа кодирования изображения
US10779002B2 (en) * 2018-04-17 2020-09-15 Qualcomm Incorporated Limitation of the MVP derivation based on decoder-side motion vector derivation
CN108985279B (zh) * 2018-08-28 2020-11-03 上海仁童电子科技有限公司 多功能车辆总线mvb波形的故障诊断方法及装置
WO2020140242A1 (zh) * 2019-01-03 2020-07-09 北京大学 视频处理方法和装置
KR102230265B1 (ko) * 2019-07-01 2021-03-19 삼성전자주식회사 주변 움직임 정보를 이용하여 움직임 정보를 부호화 및 복호화하는 장치, 및 방법

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US136461A (en) * 1873-03-04 Improvement in sash-balances
JPS58138655A (ja) * 1982-02-12 1983-08-17 Toshiba Corp 文書印刷制御装置
TW224553B (en) 1993-03-01 1994-06-01 Sony Co Ltd Method and apparatus for inverse discrete consine transform and coding/decoding of moving picture
SE519541C2 (sv) 1996-10-02 2003-03-11 Ericsson Telefon Ab L M Förfarande och anordning för transformering av en reell digital bredbandig bandpassignal till en uppsättning digitala basbandssignaler med I- och Q-komponenter
US6542642B2 (en) * 1996-02-29 2003-04-01 Canon Kabushiki Kaisha Image coding process and motion detecting process using bidirectional prediction
CN1297147C (zh) * 1997-03-07 2007-01-24 通用仪器公司 对交错数字视频的双向预测的视频目标平面的预测和编码
US5991447A (en) 1997-03-07 1999-11-23 General Instrument Corporation Prediction and coding of bi-directionally predicted video object planes for interlaced digital video
US6404813B1 (en) * 1997-03-27 2002-06-11 At&T Corp. Bidirectionally predicted pictures or video object planes for efficient and flexible video coding
KR100252342B1 (ko) 1997-08-12 2000-04-15 전주범 움직임 벡터 부호화 방법 및 그 장치
KR100257191B1 (ko) * 1997-12-31 2000-05-15 구자홍 움직임 벡터 디코더
JPH11215502A (ja) 1998-01-27 1999-08-06 Sanyo Electric Co Ltd 動きベクトル検出装置及び方法
KR100280871B1 (ko) 1998-07-13 2001-03-02 김남영 커플라인과 슬릿으로 구성된 마이크로 스트립 링 공진기
DE19840735C2 (de) 1998-09-07 2001-06-07 Bosch Gmbh Robert Blockbasierte Bewegungsschätzung bei der Bewegtbildkodierung
KR20010101329A (ko) * 1999-10-29 2001-11-14 요트.게.아. 롤페즈 비디오 인코딩 방법
JP2003522486A (ja) * 2000-02-01 2003-07-22 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Pフレームに対する2ステップ動き推定を伴なうビデオ符号化
US6446118B1 (en) 2000-02-29 2002-09-03 Designtech International, Inc. E-mail notification device
KR100708091B1 (ko) * 2000-06-13 2007-04-16 삼성전자주식회사 양방향 움직임 벡터를 이용한 프레임 레이트 변환 장치 및그 방법
RU2182727C2 (ru) 2000-07-20 2002-05-20 Дворкович Александр Викторович Способ поиска векторов движения деталей в динамических изображениях
US6834293B2 (en) 2001-06-15 2004-12-21 Hitachi, Ltd. Vector scaling system for G.728 annex G
US20030099294A1 (en) * 2001-11-27 2003-05-29 Limin Wang Picture level adaptive frame/field coding for digital video content
US7003035B2 (en) * 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
JP2004088722A (ja) * 2002-03-04 2004-03-18 Matsushita Electric Ind Co Ltd 動画像符号化方法および動画像復号化方法
US7321626B2 (en) * 2002-03-08 2008-01-22 Sharp Laboratories Of America, Inc. System and method for predictive motion estimation using a global motion predictor
JP2004208258A (ja) 2002-04-19 2004-07-22 Matsushita Electric Ind Co Ltd 動きベクトル計算方法
MXPA03011334A (es) 2002-04-19 2004-04-20 Matsushita Electric Ind Co Ltd Metodo de calculo de un vector de movimiento.
US20040001546A1 (en) * 2002-06-03 2004-01-01 Alexandros Tourapis Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
US7515634B2 (en) 2002-06-28 2009-04-07 Qualcomm Incorporated Computationally constrained video encoding
EP1422946A4 (de) * 2002-07-26 2008-04-02 Matsushita Electric Ind Co Ltd Codierungsverfahren für bewegliche bilder, decodierungsverfahren für bewegliche bilder und aufzeichnungsmedium
KR100506864B1 (ko) * 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
US7463686B2 (en) * 2002-10-16 2008-12-09 Lg Electronics Inc. Method for determining motion vector and macroblock type
DE10311497B3 (de) 2003-03-15 2004-10-07 Atlas Elektronik Gmbh Verfahren zur synthetischen Generierung von Sonardaten
US7523330B2 (en) * 2004-06-30 2009-04-21 Sun Microsystems, Inc. Thread-based clock enabling in a multi-threaded processor

Also Published As

Publication number Publication date
CY1106351T1 (el) 2011-10-12
EP1406453B1 (de) 2007-02-14
US20080031342A1 (en) 2008-02-07
HK1073556A1 (en) 2005-10-07
DE60311720D1 (de) 2007-03-29
HK1095458A1 (en) 2007-05-04
US20080037639A1 (en) 2008-02-14
JP2008182740A (ja) 2008-08-07
JP2008182741A (ja) 2008-08-07
HK1095457A1 (en) 2007-05-04
JP2008182743A (ja) 2008-08-07
US20080031341A1 (en) 2008-02-07
DE60334337D1 (de) 2010-11-04
EP2046059B1 (de) 2013-07-03
PT2003900E (pt) 2010-12-29
EP2009928A3 (de) 2009-01-21
EP1603344B1 (de) 2010-11-17
JP4625100B2 (ja) 2011-02-02
EP2009928A2 (de) 2008-12-31
ATE482574T1 (de) 2010-10-15
JP4216852B2 (ja) 2009-01-28
NL1029486A1 (nl) 2005-10-07
CN1812585B (zh) 2010-08-18
US8345757B2 (en) 2013-01-01
EP2003899A2 (de) 2008-12-17
EP2046055A2 (de) 2009-04-08
ATE482575T1 (de) 2010-10-15
JP2008182744A (ja) 2008-08-07
SI2009928T1 (sl) 2011-02-28
JP2004129191A (ja) 2004-04-22
NL1022333A1 (nl) 2004-04-06
JP2008182745A (ja) 2008-08-07
DE60335034D1 (de) 2010-12-30
US7558321B2 (en) 2009-07-07
EP1809048B1 (de) 2010-09-22
GB0513436D0 (en) 2005-08-10
GB2406459B (en) 2005-09-28
US20140098873A1 (en) 2014-04-10
US8432969B2 (en) 2013-04-30
CY1111024T1 (el) 2015-06-11
JP4625101B2 (ja) 2011-02-02
US20090067500A1 (en) 2009-03-12
US8638856B2 (en) 2014-01-28
EP2015586A2 (de) 2009-01-14
GB2393873B (en) 2005-05-18
US20050129119A1 (en) 2005-06-16
JP4709242B2 (ja) 2011-06-22
JP4709241B2 (ja) 2011-06-22
EP2009925B1 (de) 2013-07-03
ATE482572T1 (de) 2010-10-15
US20080031332A1 (en) 2008-02-07
US20140098871A1 (en) 2014-04-10
EP2046058B1 (de) 2013-07-03
ES2281573T3 (es) 2007-10-01
JP2009135993A (ja) 2009-06-18
EP2046060A3 (de) 2009-05-06
PT2003899E (pt) 2010-12-28
US8385417B2 (en) 2013-02-26
EP2003900B1 (de) 2010-09-22
NL1029485C2 (nl) 2006-05-23
EP2009925A3 (de) 2009-01-21
EP1406453A1 (de) 2004-04-07
DK1603344T3 (da) 2011-03-07
EP2003899B1 (de) 2010-09-22
US20140098874A1 (en) 2014-04-10
US8422556B2 (en) 2013-04-16
US20130215967A1 (en) 2013-08-22
US8351505B2 (en) 2013-01-08
US8891623B2 (en) 2014-11-18
SI2003900T1 (sl) 2011-03-31
US8345758B2 (en) 2013-01-01
JP4625103B2 (ja) 2011-02-02
JP2009135992A (ja) 2009-06-18
US8351503B2 (en) 2013-01-08
NL1029485A1 (nl) 2005-10-07
US7643557B2 (en) 2010-01-05
CN1812586A (zh) 2006-08-02
US7643556B2 (en) 2010-01-05
EP2046060A2 (de) 2009-04-08
EP2003900A2 (de) 2008-12-17
GB0300288D0 (en) 2003-02-05
EP1603344A1 (de) 2005-12-07
SI1809048T1 (sl) 2011-02-28
DE10300533B4 (de) 2005-11-17
CY1111023T1 (el) 2015-06-11
US20090074066A1 (en) 2009-03-19
JP2009135994A (ja) 2009-06-18
JP2006191652A (ja) 2006-07-20
US8351506B2 (en) 2013-01-08
DK2009928T3 (da) 2011-01-24
ATE488963T1 (de) 2010-12-15
EP2046054A2 (de) 2009-04-08
EP2015585A2 (de) 2009-01-14
EP2046055A3 (de) 2009-05-06
US7627035B2 (en) 2009-12-01
EP2015585A3 (de) 2009-01-21
EP1796396B8 (de) 2011-02-02
JP2008182747A (ja) 2008-08-07
US20040066848A1 (en) 2004-04-08
DE10300533A1 (de) 2004-04-15
DE10300533A9 (de) 2004-10-28
US7570691B2 (en) 2009-08-04
US20050129120A1 (en) 2005-06-16
DK1796396T3 (da) 2011-03-07
JP2009135989A (ja) 2009-06-18
US9042453B2 (en) 2015-05-26
CN1487748A (zh) 2004-04-07
GB0426713D0 (en) 2005-01-12
CY1111026T1 (el) 2015-06-11
JP4709291B2 (ja) 2011-06-22
EP2046058A3 (de) 2009-05-06
JP4625131B2 (ja) 2011-02-02
EP2046057A3 (de) 2009-05-06
US8351507B2 (en) 2013-01-08
EP1796396B1 (de) 2010-11-17
SI2015585T1 (sl) 2011-04-29
EP1796396A1 (de) 2007-06-13
DE60334339D1 (de) 2010-11-04
US20080037640A1 (en) 2008-02-14
EP2015585B1 (de) 2010-10-06
US20090074062A1 (en) 2009-03-19
EP2046056A2 (de) 2009-04-08
US20080031343A1 (en) 2008-02-07
US8891624B2 (en) 2014-11-18
ATE482573T1 (de) 2010-10-15
EP1821547A2 (de) 2007-08-22
US20140098872A1 (en) 2014-04-10
DE10362106B3 (de) 2011-09-22
EP2046057B1 (de) 2013-07-03
PT1809048E (pt) 2010-12-28
EP2009926A2 (de) 2008-12-31
PT1796396E (pt) 2011-02-14
DK2015585T3 (da) 2011-01-31
JP2008182748A (ja) 2008-08-07
GB2406460A (en) 2005-03-30
JP2008182746A (ja) 2008-08-07
HK1082625A1 (en) 2006-06-09
CN1812585A (zh) 2006-08-02
GB2393873A (en) 2004-04-07
SI1406453T1 (sl) 2007-08-31
US9042452B2 (en) 2015-05-26
ATE354259T1 (de) 2007-03-15
GB2413721B (en) 2006-11-22
EP2009925A2 (de) 2008-12-31
JP4625104B2 (ja) 2011-02-02
ATE488097T1 (de) 2010-11-15
CN1269361C (zh) 2006-08-09
US8428134B2 (en) 2013-04-23
PT1821547E (pt) 2011-02-14
US8396128B2 (en) 2013-03-12
US8351504B2 (en) 2013-01-08
US20050129118A1 (en) 2005-06-16
US8411748B2 (en) 2013-04-02
US7634007B2 (en) 2009-12-15
EP2009926B1 (de) 2013-07-03
US20080037644A1 (en) 2008-02-14
DE60334505D1 (de) 2010-11-18
CY1111025T1 (el) 2015-06-11
PT2009928E (pt) 2010-12-29
CY1111204T1 (el) 2015-06-11
GB2406459A (en) 2005-03-30
US7233621B2 (en) 2007-06-19
DK2003899T3 (da) 2011-01-24
DK1821547T3 (da) 2011-02-28
EP2046059A2 (de) 2009-04-08
PT1406453E (pt) 2007-05-31
US20090074065A1 (en) 2009-03-19
DE60334330D1 (de) 2010-11-04
EP2046059A3 (de) 2009-05-06
US20090074067A1 (en) 2009-03-19
EP2009927B1 (de) 2010-09-22
EP2046054B1 (de) 2013-07-03
DE60334338D1 (de) 2010-11-04
DK1406453T3 (da) 2007-06-11
US20090067498A1 (en) 2009-03-12
SI1603344T1 (sl) 2011-04-29
US9743108B2 (en) 2017-08-22
DK2009927T3 (da) 2011-01-24
EP2046054A3 (de) 2009-05-06
EP2059054A1 (de) 2009-05-13
GB2406460B (en) 2005-10-19
EP2009927A3 (de) 2009-01-21
DK2003900T3 (da) 2011-01-24
HK1073555A1 (en) 2005-10-07
US9066106B2 (en) 2015-06-23
SI2003899T1 (sl) 2011-02-28
ATE484156T1 (de) 2010-10-15
JP4020789B2 (ja) 2007-12-12
JP4625132B2 (ja) 2011-02-02
EP2046060B1 (de) 2013-07-03
US20090074069A1 (en) 2009-03-19
PT1603344E (pt) 2011-02-14
US20090067499A1 (en) 2009-03-12
JP2008182738A (ja) 2008-08-07
US20090074063A1 (en) 2009-03-19
DE20321473U1 (de) 2007-07-05
CY1111539T1 (el) 2015-08-05
DE60334336D1 (de) 2010-11-04
JP2008182739A (ja) 2008-08-07
JP2009135991A (ja) 2009-06-18
PT2015585E (pt) 2010-12-28
JP4709292B2 (ja) 2011-06-22
EP2046058A2 (de) 2009-04-08
US20090074064A1 (en) 2009-03-19
NL1022333C2 (nl) 2005-07-25
CY1111077T1 (el) 2015-06-11
GB0426712D0 (en) 2005-01-12
EP2046056A3 (de) 2009-05-06
EP1821547A3 (de) 2007-09-05
EP2046057A2 (de) 2009-04-08
EP2009927A2 (de) 2008-12-31
PT2009927E (pt) 2010-12-29
DE60335046D1 (de) 2010-12-30
EP2015586A3 (de) 2009-01-21
SI1821547T1 (sl) 2011-04-29
US8416854B2 (en) 2013-04-09
SI1796396T1 (sl) 2011-04-29
EP2009928B1 (de) 2010-09-22
US20150264394A1 (en) 2015-09-17
US7606307B2 (en) 2009-10-20
GB2413721A (en) 2005-11-02
KR100506864B1 (ko) 2005-08-05
EP2059054B1 (de) 2013-07-03
US20090074068A1 (en) 2009-03-19
CN100473170C (zh) 2009-03-25
EP2009926A3 (de) 2009-01-21
DK1809048T3 (da) 2011-01-24
JP2008182742A (ja) 2008-08-07
US9042451B2 (en) 2015-05-26
EP1821547B1 (de) 2010-11-10
EP2003900A3 (de) 2009-01-21
EP2003899A3 (de) 2009-01-21
CY1111198T1 (el) 2015-06-11
ATE482571T1 (de) 2010-10-15
EP1809048A1 (de) 2007-07-18
NL1029486C2 (nl) 2006-05-23
EP2046056B1 (de) 2013-07-03
US20090067497A1 (en) 2009-03-12
CY1111027T1 (el) 2015-06-11
US20140098870A1 (en) 2014-04-10
US20140098875A1 (en) 2014-04-10
JP4625102B2 (ja) 2011-02-02
SI2009927T1 (sl) 2011-03-31
KR20040031556A (ko) 2004-04-13
ATE488964T1 (de) 2010-12-15
EP2015586B1 (de) 2013-07-03
DE60334941D1 (de) 2010-12-23
JP2009135988A (ja) 2009-06-18
US8416853B2 (en) 2013-04-09
DE60311720T9 (de) 2008-02-14

Similar Documents

Publication Publication Date Title
DE60311720T2 (de) Direkt-Modus Bewegungsvektorberechnung für B-Bilder
DE102010046508B4 (de) Verfahren und Vorrichtung, um einen Suchbereich für die Bewegungsabschätzung adaptiv auszuwählen
DE69735437T2 (de) Bildkodierer und bilddekodierer
DE10362293B4 (de) Berechnungsverfahren für einen Vorhersage-Bewegungsvektor
DE10362309B4 (de) Blockvorhersageverfahren unter Verwendung eines verbesserten Direkt-Modus
DE3222648C2 (de) Anpassungsfähige Inter-Frame-Prädiktionseinrichtung für Fernsehsignale
DE19825042C2 (de) Verfahren zur Bewegungsvektorcodierung bei MPEG-4
DE602004002455T2 (de) Bewegungsvektorschätzung durch adaptive zeitliche Vorhersage
DE69233167T2 (de) Prädiktives Videokodierungssystem
DE69637223T2 (de) Verfahren zur adaptiver Komprimierung von digitalen Restbilddaten in einem DPCM-Kompressionssystem
DE69735756T2 (de) Dynamische steuerung der kodierrate in einem blockbasierten videokodierungssystem
EP0259562A1 (de) Verfahren zur bewegungskompensierten Bild-zu-Bild-Prädiktionscodierung
DE10300529A1 (de) Verfahren zum Kodieren bewegter Bilder
DE102006043707A1 (de) Verfahren zur Datenkompression in einer Videosequenz
DE19704439A1 (de) Verfahren und Vorrichtung zur Bewegungsschätzung in einem digitalen Videocodierer unter Verwendung von Trajektorien
DE4442643B4 (de) Verfahren zum Abschätzen der Bewegung in einem Bewegtbild
DE69630199T2 (de) Verfahren und gerät zur selektiven kompression von video-codec
DE602005000425T2 (de) Verfahren und Anordnung zur Erzeugung von Kandidatenvektoren für Bildinterpolierungssysteme, die Bewegungsabschätzung und -kompensation verwenden
EP0414016B1 (de) Verfahren zur Bildung eines Prädiktionsbildes
DE10392466T5 (de) Verfahren zur Abschätzung von Rückwertsbewegungs-Vektoren innerhalb einer Videosequenz
DE4030703A1 (de) Verfahren zur schaetzung von bewegung in einem aufgenommenen bild
DE19749655A1 (de) Verfahren und Vorrichtung zum Kodieren eines Bewegungsvektors
EP0513297B1 (de) Verfahren zur codierung und decodierung der videodaten einer bildfolge
DE69728274T2 (de) Gerät zur Kodierung binärer Figuren im Zeilensprungformat
DE20321296U1 (de) System zum Vorhersagen eines Bewegungsvektors

Legal Events

Date Code Title Description
8364 No opposition during term of opposition