DE69838281T2 - Bewegungsprädiktives bildkodierungsverfahren sowie speichermedium zur speicherung des entsprechenden programms - Google Patents

Bewegungsprädiktives bildkodierungsverfahren sowie speichermedium zur speicherung des entsprechenden programms Download PDF

Info

Publication number
DE69838281T2
DE69838281T2 DE69838281T DE69838281T DE69838281T2 DE 69838281 T2 DE69838281 T2 DE 69838281T2 DE 69838281 T DE69838281 T DE 69838281T DE 69838281 T DE69838281 T DE 69838281T DE 69838281 T2 DE69838281 T2 DE 69838281T2
Authority
DE
Germany
Prior art keywords
motion vector
motion
small
model
block
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
DE69838281T
Other languages
English (en)
Other versions
DE69838281D1 (de
Inventor
Atsushi Shimizu
Hirohisa Jozawa
Kazuto Kamikura
Hiroshi Watanabe
Atsushi Sagata
Seishi Takamura
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Application granted granted Critical
Publication of DE69838281D1 publication Critical patent/DE69838281D1/de
Publication of DE69838281T2 publication Critical patent/DE69838281T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • 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
    • 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/527Global motion vector estimation
    • 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/537Motion estimation other than block-based

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung bezieht sich auf Bewegungsvektorprädiktions-Codierungsverfahren und -Decodierungsverfahren und auf Speichermedien, die Bewegungsvektorprädiktions-Codierungsprogramme und -Decodierungsprogramme speichern. Diese Verfahren, Vorrichtungen und Speichermedien werden für die Interbild-Bewegungskompensationsprädiktion für die Bewegtbildcodierung verwendet.
  • STAND DER TECHNIK
  • Es ist das Interbild-Prädiktionscodierungsverfahren für Bewegtbilder (d.h. für Videodaten) bekannt, in dem ein bereits codierter Rahmen als ein Prädiktionssignal verwendet wird, um die zeitliche Redundanz zu verringern. Um die Effizienz der zeitbasierten Prädiktion zu verbessern, wird ein Interbild-Bewegungskompensations-Prädiktionsverfahren verwendet, in dem ein bewegungskompensiertes Bildsignal als ein Prädiktionssignal verwendet wird. Die Anzahl und die Arten der für die Bewegungskompensation verwendeten Komponenten des Bewegungsvektors werden je nach dem als eine Basis verwendeten angenommenen Bewegungsmodell bestimmt. Zum Beispiel besteht der Bewegungsvektor in einem Bewegungsmodell, in dem nur die translatorische Bewegung betrachtet wird, aus Komponenten, die horizontalen und vertikalen Bewegungen entsprechen. In einem weiteren Bewegungsmodell, in dem außer der translatorischen Bewegung auch die Expansion und die Kontraktion betrachtet werden, besteht der Bewegungsvektor außer der translatorischen Bewegung aus Komponenten, die horizontalen und vertikalen Bewegungen entsprechen, und aus einer Komponente, die der Expansions- oder Kontraktionsbewegung entspricht.
  • Im Allgemeinen wird die Bewegungskompensation für jeden kleinen Bereich ausgeführt, der durch Unterteilen eines Bilds in mehrere Bereiche wie etwa in kleine Blöcke erhalten wird, wobei jeder unterteilte Bereich einen einzelnen Bewegungsvektor besitzt. Es ist bekannt, dass die Bewegungsvektoren, die zu Nachbarbereichen gehören, die angrenzende kleine Bereiche enthalten, eine höhere Korrelation besitzen. Somit wird der Bewegungsvektor eines zu codierenden Bereichs in der Praxis auf der Grundlage des Bewegungsvektors eines Bereichs vorhergesagt, der zu dem zu codierenden Bereich benachbart ist, wobei ein bei der Prädiktion erzeugter Prädiktionsfehler mit variabler Länge codiert wird, um die Redundanz des Bewegungsvektors zu verringern.
  • In dem Bewegtbildcodierungsverfahren ISO/IEC 11172-2 (MPEG-1) wird das zu codierende Bild in kleine Blöcke unterteilt, um die Bewegung jedes kleinen Block zu kompensieren, wobei der Bewegungsvektor eines zu codierenden kleinen Blocks (im Folgenden der "kleine Zielblock" genannt) auf der Grundlage des Bewegungsvektors eines kleinen Blocks vorhergesagt wird, der bereits codiert worden ist.
  • In dem obigen MPEG-1 können nur translatorische Bewegungen kompensiert werden. Es kann unmöglich sein, kompliziertere Bewegungen mit einem einfacheren Modell wie etwa MPEG-1, das wenige Komponenten des Bewegungsvektors hat, zu kompensieren. Dementsprechend kann die Effizienz der Interbild-Prädiktion unter Verwendung eines Bewegungskompensationsverfahrens, das einem komplizierteren Modell mit einer größeren Anzahl von Komponenten des Bewegungsvektors entspricht, verbessert werden. Allerdings wird dann, wenn in einem solchen Verfahren für ein kompliziertes Bewegungsmodell jeder kleine Block bewegungskompensiert wird, die Menge des Codes, der erzeugt wird, wenn der relevante Bewegungsvektor codiert wird, erhöht.
  • Es ist ein Codierungsverfahren zum Vermeiden einer solchen Zunahme der Menge erzeugter Codes bekannt, in dem die Bewegungsvektorcodierung unter Verwendung eines Verfahrens ausgeführt wird, das aus mehreren Bewegungskompensationsverfahren ausgewählt wird, was den Prädiktionsfehler in Bezug auf den Zielblock minimiert. Das Folgende ist ein Beispiel eines solchen Codierungsverfahrens, in dem zwei Bewegungskompensationsverfahren bereitgestellt werden, wobei ein Verfahren einem translatorischen Bewegungsmodell entspricht und das andere einem translatorischen und Extraktions/Kontraktions-Bewegungsmodell entspricht, und eines der zwei Bewegungskompensationsverfahren gewählt wird.
  • 9 zeigt ein translatorisches Bewegungsmodell (siehe Teil (a)) und ein translatorisches und Expansions/Kontraktions-Bewegungsmodell (siehe Teil (b)). In dem translatorischen Bewegungsmodell des Teils (a) wird die Bewegung eines Zielobjekts unter Verwendung einer translatorischen Bewegungskomponente (x, y) repräsentiert. In dem translatorischen und Expansions/Kontraktions-Bewegungsmodell des Teils (b) wird die Bewegung eines Zielobjekts unter Verwendung einer Komponente (x, y, z) repräsentiert, in der zur Angabe des Betrags der Expansion oder Kontraktion des Zielobjekts zu der translatorischen Bewegungskomponente (x, y) ein Parameter Z hinzugefügt wird. In dem in 9 gezeigten Beispiel hat der Parameter Z einen Wert, der der Kontraktion entspricht (siehe Teil (b)).
  • Dementsprechend wird der Bewegungsvektor v1 → des translatorischen Bewegungsmodells durch v1 → = (x, y)repräsentiert, während der Bewegungsvektor v2 → des translatorischen Bewegungsmodells und Expansions/Kontraktions-Bewegungsmodells durch v2 → = (x, y, z)repräsentiert wird.
  • In den obigen Formeln geben x, y und z in dieser Reihenfolge die horizontale, die vertikale und die Expansions/Kontraktions-Richtungskomponente an. Die Einheit für die Bewegungskompensation ist hier ein kleiner Block, wobei das aktive Bewegungskompensationsverfahren für jeden kleinen Block in Übereinstimmung mit der vorliegenden Prädiktionseffizienz umgeschaltet werden kann und der Bewegungsvektor auf der Grundlage des Bewegungsvektors eines bereits codierten kleinen Blocks vorhergesagt wird.
  • Falls das für den kleinen Zielblock gewählte Bewegungskompensationsverfahren dasselbe ist wie das für den bereits codierten kleinen Block angenommene, wird der Prädiktionsfehler des Bewegungsvektors durch die folgenden Gleichungen berechnet.
  • Für das translatorische Bewegungsmodell ist: d1 x, y = v1 x, y (i) – v1 x, y (i-1) (1)
  • Für das translatorische und Expansions/Kontraktions-Bewegungsmodell ist: d2 x, y, z = v2 x, y, z (i) – v2 x, y, z (i-1) (2)
  • Hier bedeuten v1 x, y (i) und v2 x, y, z (i) Komponenten des Bewegungsvektors des kleinen Blocks, während v1 x, y (i-1) und v2 x, y, z (i-1) Komponenten des Bewegungsvektors eines kleinen Blocks des vorherigen Rahmens bedeuten.
  • Wie oben erläutert wurde, werden Prädiktionsfehler d x, y und d x, y, z so berechnet und codiert, dass die codierten Daten an die decodierende Seite gesendet werden. Selbst wenn die Größe jedes kleinen Blocks in dem Bewegungskompensationsverfahren nicht dieselbe ist, wird die Bewegungsvektorprädiktionscodierung ähnlich ausgeführt, falls das Bewegungsmodell dasselbe ist.
  • Falls sich das für den kleinen Zielblock gewählte Bewegungskompensationsverfahren von dem für den bereits codierten kleinen Block angenommenen unterscheidet oder falls eine Intrabild-Codierung ausgeführt wird, wird der vorhergesagte Wert für jede Komponente auf 0 gesetzt und werden die ursprünglichen Werte jeder Komponente des kleinen Zielblocks an die decodierende Seite gesendet.
  • Unter Verwendung eines solchen Codierungsverfahrens kann die Redundanz des Bewegungsvektors in Bezug auf die Interbild-Bewegungskompensationsprädiktions-Codierung verringert werden und kann die Menge der erzeugten Codes des Bewegungsvektors verringert werden.
  • Andererseits wird der Bewegungsvektor, der unter Verwendung des oben beschriebenen Codierungsverfahrens codiert worden ist, in der Weise decodiert, dass der Prädiktionsfehler aus der codierten Datenfolge entnommen wird und dass der Bewegungsvektor des zu decodierenden kleinen Blocks (d.h. des kleinen Zielblocks) durch Addieren des Prädiktionsfehlers zu dem Bewegungsvektor, der bereits decodiert worden ist, decodiert wird. Siehe die folgenden Gleichungen.
  • Für das translatorische Bewegungsmodell ist: v1 x, y (i) = v1 x, y (i-1) + d1 x, y (3)
  • Für das translatorische und Expansions/Kontraktions-Bewegungsmodell ist: v2 x, y, z (i) = v2 x, y, z (i-1) + d2 x, y, z (4)
  • Hier bedeuten v1 x, y (i) und v2 x, y, z (i) Komponenten des Bewegungsvektors des kleinen Zielblocks, während v1 x, y (i-1) und v2 x, y, z (i-1) Komponenten des bereits decodierten Bewegungsvektors bedeuten.
  • In dem Modell ISO/IEC 14496-2 (MPEG-4), im Januar 1999 im Test für die internationale Normung, wird ein ähnliches Bewegungskompensationsverfahren angenommen. Das MPEG-4 nimmt für die Prädiktion der durch Schwenk-, Neige- und Zoom-Operationen der Kamera verursachten allgemeinen Änderung oder Bewegung eines Bilds ein globales Bewegungskompensationsverfahren an (siehe "MPEG-4 Video Verification Model Version 7.0", ISO/IEC JTC1/SC29/WG11N1682, MPEG Video Group, April 1997). Im Folgenden werden anhand von 11 die Struktur und der Betriebsablauf des Codierers erläutert, der die globale Bewegungskompensation verwendet.
  • Zunächst wird ein zu codierendes Bild (d.h. ein Zielbild) 31 in einen Globalbewegungsdetektor 34 eingegeben, um globale Bewegungsparameter 35 in Bezug auf das gesamte Bild zu bestimmen. In dem MPEG-4 können in dem Bewegungsmodell die projektive Transformation und die affine Transformation verwendet werden.
  • Mit einem Zielpunkt (x, y) und mit einem entsprechenden Punkt (x', y') in Bezug auf die Transformation kann die projektive Transformation unter Verwendung der folgenden Gleichungen (5) und (6) repräsentiert werden. x' = (ax + by + tx)/(px + qy + s) (5) y' = (cx + dy + ty)/(px + qy + s) (6)
  • Im Allgemeinen gehört der Fall "s = 1" zu der projektiven Transformation. Die projektive Transformation ist eine allgemeine Darstellung der zweidimensionalen Transformation, wobei die affine Transformation durch die folgenden Gleichungen (7) und (8) dargestellt ist, die unter den Bedingungen "p = Q = 0" und "s = 1" erhalten werden können. x' = ax + by + tx (7) y' = cx + dy + ty (8)
  • In den obigen Gleichungen repräsentieren "tx" bzw. "ty" die Beträge der translatorischen Bewegungen in der horizontalen und in der vertikalen Richtung. Der Parameter "a" repräsentiert die Expansion/Kontraktion oder Inversion in der horizontalen Richtung, während der Parameter "b" die Expansion/Kontraktion oder Inversion in der vertikalen Richtung repräsentiert. Der Parameter "b" repräsentiert die Scherung in der horizontalen Richtung, während der Parameter "c" die Scherung in der vertikalen Richtung repräsentiert. Außerdem entsprechen die Bedingungen "a = cos θ, b = sin θ, c = –sin θ und d = cos θ" einer Drehung mit dem Winkel θ. Die Bedingungen "a = d = 1" und "b = c = 0" sind gleich dem herkömmlichen translatorischen Bewegungsmodell.
  • Wie oben erläutert wurde, ermöglicht die als das Bewegungsmodell verwendete affine Transformation die Darstellung verschiedener Bewegungen wie etwa translatorischer Bewegung, Expansion/Kontraktion, Inversion, Scherung und Derhung und irgendeine Kombination dieser Bewegungen. Eine projektive Transformation mit acht oder neun Parametern kann kompliziertere Bewegungen oder Verformungen repräsentieren.
  • Die durch den Globalbewegungsdetektor 34 bestimmten globalen Bewegungsparameter 35 und das in dem Bildspeicher 32 gespeicherte Referenzbild 33 werden in einen Globalbewegungskompensierer 36 eingegeben. Der Globalbewegungskompensierer 36 erzeugt dadurch, dass er veranlasst, dass der Bewegungsvektor jedes Pixels, der auf der Grundlage der globalen Bewegungsparameter 35 bestimmt wird, auf das Referenzbild 33 wirkt, ein Bild 37 mit vorhergesagter globaler Bewegungskompensation.
  • Das in dem Bildspeicher 32 gespeicherte Referenzbild 33 und das Eingangsbild 31 werden in den Lokalbewegungsdetektor 38 eingegeben. Der Lokalbewegungsdetektor 38 erfasst für jeden Makroblock (16 Pixel × 16 Zeilen) den Bewegungsvektor 39 zwischen dem Eingangsbild 31 und dem Referenzbild 33. Der Lokalbewegungskompensierer 40 erzeugt auf der Grundlage des Bewegungsvektors 39 jedes Makroblocks und des Referenzbilds 33 ein Bild 41 mit vorhergesagter lokaler Bewegungskompensation. Dieses Verfahren ist gleich dem herkömmlichen Bewegungskompensationsverfahren, das in dem herkömmlichen MPEG oder dergleichen verwendet wird.
  • Nachfolgend wird in der Codierungsmodus-Auswahleinrichtung 42 für jeden Makroblock entweder das Bild 37 mit vorhergesagter globaler Bewegungskompensation oder das Bild 41 mit vorhergesagter lokaler Bewegungskompensation, je nachdem, welches in Bezug auf das Eingangsbild 31 den kleineren Fehler aufweist, gewählt. Die Wahl wird für jeden Makroblock ausgeführt. Falls die globale Bewegungskompensation gewählt wird, wird die lokale Bewegungskompensation in dem relevanten Makroblock nicht ausgeführt; somit wird der Bewegungsvektor 39 nicht codiert. Das über die Codierungsmodus-Auswahleinrichtung 42 gewählte vorhergesagte Bild 43 wird in einen Subtrahierer 44 eingegeben und das Bild 45, das der Differenz zwischen dem Eingangsbild 31 und dem vorhergesagten Bild 43 entspricht, wird durch einen DCT-Abschnitt 46 in einen DCT-Koeffizienten (Koeffizienten der diskreten Kosinustransformation) 47 umgesetzt. Der DCT-Koeffizient 47 wird daraufhin im Quantisierer 48 in einen quantisierten Index 49 umgesetzt. Durch den Codierer 57 für quantisierten Index wird der quantisierte Index 49 codiert, durch den Codierer 58 für codierten Modus werden die Informationen 56 über die Wahl des codierten Modus codiert, durch den Bewegungsvektorcodierer 59 wird der Bewegungsvektor 39 codiert und durch den Globalbewegungsparameter-Codierer 60 werden die globalen Bewegungsparameter 35 codiert. Diese codierten Daten werden multiplexiert und als eine Codiererausgabe ausgegeben.
  • Damit der Codierer ebenfalls dasselbe decodierte Bild erfasst, wie es in dem Decodierer erfasst wird, wird der quantisierte Index 49 durch den Inversquantisierer 50 in einen Quantisierungsrepräsentationswert 51 invers umgesetzt und durch einen Abschnitt 52 für inverse DCT weiter in ein Differenzbild 53 invers umgesetzt. Das Differenzbild 53 und das vorhergesagte Bild 43 werden durch einen Addierer 54 zueinander addiert, sodass ein lokales decodiertes Bild 55 erzeugt wird. Das lokale decodierte Bild 55 wird in dem Bildspeicher 32 gespeichert und bei der Decodierung des nächsten Rahmens als ein Referenzbild verwendet.
  • Nachfolgend werden anhand von 12 die relevanten Decodierungsoperationen des MPEG-4-Decodierers erläutert. Der multiplexierte und codierte Bitstrom wird in jedes Element unterteilt und die Elemente werden jeweils decodiert. Der Decodierer 61 für quantisierten Index decodiert den quantisierten Index 49, der Decodierer 62 für codierten Modus decodiert die Informationen 56 über die Wahl des codierten Modus, der Bewegungsvektordecodierer 63 decodiert den Bewegungs vektor 39 und der Decodierer 64 für globale Bewegungsparameter decodiert die globalen Bewegungsparameter 35.
  • Das in dem Bildspeicher 68 gespeicherte Referenzbild 33 und die globalen Bewegungsparameter 35 werden in den Globalbewegungskompensierer 69 eingegeben, sodass das Bild 37 mit vorhergesagter globaler Bewegungskompensation erzeugt wird. Außerdem werden das Referenzbild 33 und der Bewegungsvektor 39 in den Lokalbewegungskompensierer 70 eingegeben, sodass das Bild 41 mit vorhergesagter lokaler Bewegungskompensation erzeugt wird. Die Informationen 56 über die Wahl des codierten Modus aktivieren den Schalter 71, sodass das Bild 37 mit vorhergesagter globaler Bewegungskompensation oder das Bild 41 mit vorhergesagter lokaler Bewegungskompensation als vorhergesagtes Bild 43 ausgegeben wird.
  • Der quantisierte Index 49 wird durch den Inversquantisierer 65 in einen Quantisierungsrepräsentationswert 51 invers umgesetzt und wird weiter durch den Abschnitt 66 für inverse DCT in ein Differenzbild 53 invers umgesetzt. Das Differenzbild 53 und das vorhergesagte Bild 43 werden durch den Addierer 67 so zueinander addiert, dass das lokale decodierte Bild 55 erzeugt wird. Dieses lokale decodierte Bild 55 wird in dem Bildspeicher 68 gespeichert und bei der Codierung des nächsten Rahmens als ein Referenzbild verwendet.
  • In dem oben erläuterten globalen Bewegungskompensations-Prädiktionsverfahren, das in MPEG-4 angenommen wird, werden die vorhergesagten Bilder der globalen Bewegungskompensation oder der lokalen Bewegungskompensation, je nachdem, welches den kleineren Fehler hat, für jeden Makroblock so gewählt, dass die Prädiktionseffizienz des gesamten Rahmens verbessert wird. Außerdem wird der Bewegungsvektor nicht in dem Makroblock codiert, für den die globale Bewegungskompensation angenommen wird; somit können die erzeugten Codes um die Menge, die für die herkömmliche Codierung des Bewegungsvektors notwendig ist, verringert werden.
  • Andererseits wird in dem herkömmlichen Verfahren, in dem das aktive Bewegungskompensationsverfahren zwischen mehreren Bewegungskompensationsverfahren, die verschiedenen Bewegungsmodellen entsprechen, umgeschaltet wird, keine Prädiktion in Bezug auf eine Verschiebung zwischen Bewegungsvektoren, die zu verschiedenen Bewegungsmodellen gehören, ausgeführt. Zum Beispiel kann in dem Codierungsverfahren, in dem das Bewegungskompensationsverfahren, das einem translatorischen Bewegungsmodell entspricht, und das Bewegungskompensationsverfahren, das einem translatorischen und Expansions/Kontraktions-Bewegungsmodell entspricht, umgeschaltet wird, eine Verschiebung von dem Bewegungsvektor des translatorischen Modells und des Expansions/Kontraktions-Bewegungsmodells zu dem Bewegungsvektor des translatorischen Bewegungsmodells nicht einfach unter Verwendung einer Differenz vorhergesagt werden, da die Anzahl der verwendeten Parameter in Bezug auf den Bewegungsvektor zwischen den zwei Verfahren verschieden ist.
  • Allerdings kann zwischen verschiedenen Bewegungsmodellen auch eine Redundanz des Bewegungsvektors auftreten. Somit wird in Bezug auf die in 10 gezeigten Bewegungsvektoren die Korrelation zwischen dem Bewegungsvektor des translatorischen Bewegungsmodells und dem Bewegungsvektor des translatorischen und Extraktions/Kontraktions-Bewegungsmodells untersucht. In 10 ist angenommen, dass der kleine Zielblock Boa in der Bewegungskompensation der kleinen Zielblöcke Boa und Bob unter Verwendung des Verfahrens, das dem translatorischen Bewegungsmodell entspricht, und unter Bezug auf den in dem Referenzrahmen enthaltenen kleinen Block Bar, bewegungskompensiert wird, während der kleine Zielblock Bob unter Verwendung des Verfahrens, das dem translatorischen und Expansions-/Kontraktions-Bewegungsmodell entspricht, und unter Bezug auf den kleinen Block Brb, der in dem Referenzrahmen enthalten ist, bewegungskompensiert wird.
  • In diesem Fall gibt der Bewegungsvektor va → = (xa, ya) in 10 das translatorische Bewegungsmodell an, während der Bewegungsvektor vb → = (xb, yb, zb) in 10 das translatorische und Expansions-/Kontraktions-Bewegungsmodell angibt. In der Bewegungskompensation des kleinen Blocks Bob wird hier der kleine Block Brb in dem Referenzrahmen, auf den Bezug genommen wird, gedehnt. Somit haben die translatorischen Bewegungskomponenten des Bewegungsvektors va und vb in 10 fast dieselben Werte, wobei es eine Redundanz gibt.
  • Allerdings kann diese Redundanz zwischen Bewegungsvektoren verschiedener Bewegungsmodelle in dem herkömmlichen Verfahren nicht verringert werden, da auf der Grundlage des Bewegungsvektors des vorliegenden Modells kein Bewegungsvektor eines Bewegungsmodells vorhergesagt wird, das sich von dem vorliegenden Bewegungsmodell unterscheidet.
  • In dem obigen MPEG-4 wird die prädiktive Codierung angenommen, um den Bewegungsvektor effizient zu codieren. Zum Beispiel sind die Operationen des Bewegungsvektorcodierers 59 in 11 wie folgt. Wie in 13 gezeigt ist, wird auf drei Bewegungsvektoren wie etwa auf den Bewegungsvektor MV1 des linken Blocks, auf den Bewegungsvektor MV2 des Blocks unmittelbar darüber und auf den Bewegungsvektor MV3 des Blocks diagonal rechts darüber Bezug genommen, um einen Median davon als einen vorhergesagten Wert des Bewegungsvektors MV des vorliegenden Blocks zu erhalten. Der vorhergesagte Wert PMV des Vektors MV des vorliegenden Blocks ist unter Verwendung der folgenden Gleichung (9) definiert. PMV = Median (MV1, MV2, MV3) (9)
  • Falls der Referenzblock dem Intrabild-Codierungsmodus entspricht, gibt es keinen Bewegungsvektor. Somit wird der Median mit dem Vektorwert 0 bei der relevanten Position berechnet. Falls der Referenzblock unter Verwendung der globalen Bewegungskompensation vorhergesagt worden ist, gibt es keinen Bewegungsvektor. Somit wird der Median auch in diesem Fall mit dem Vektorwert 0 an der relevanten Position berechnet. Falls z.B. der linke Block unter Verwendung der lokalen Bewegungskompensation vorhergesagt wurde, der Block unmittelbar darüber unter Verwendung der globalen Bewegungskompensation vorhergesagt wurde und der Block diagonal rechts darüber unter Verwendung des Intrabild-Codierungsverfahrens codiert wurde, ist MV2 = MV3 = 0. Außerdem ist MV1 = MV2 = MV3 = 0, falls die drei Referenzblöcke alle unter Verwendung der globalen Bewegungskompensation vorhergesagt wurden. In diesem Fall ist der Median ebenfalls 0 und somit der vorhergesagte Wert 0. Somit ist dieser Fall gleich dem Fall, dass der Bewegungsvektor des Zielblocks nicht der prädiktiven Codierung ausgesetzt wird und die Codierungseffizienz verschlechtert ist.
  • In dem MPEG-4 sind in Bezug auf die Größe des lokalen Bewegungsvektors die folgenden sieben Arten von Bereichen (siehe Liste 1) definiert, wobei der verwendete Bereich unter Verwendung eines in dem Bitstrom enthaltenden Codeworts "fcode" an den Decodierer übermittelt wird. Liste 1
    fcode Bereich des Bewegungsvektors
    1 –16 bis +15,5 Pixel
    2 –32 bis +31,5 Pixel
    3 –64 bis +63,5 Pixel
    4 –128 bis +127,5 Pixel
    5 –256 bis +255,5 Pixel
    6 –512 bis +511,5 Pixel
    7 –1024 bis +1023,5 Pixel
  • Die im MPEG-4 verwendeten globalen Bewegungsparameter können einen weiten Bereich von –2048 bis +2047,5 haben; somit kann der auf der Grundlage des globalen Bewegungsvektors bestimmte Bewegungsvektor einen Wert von –2048 bis 2047,5 haben. Allerdings ist der Bereich des lokalen Bewegungsvektors kleiner als der obige Bereich, wobei die Prädiktion einen großen Fehler aufweisen kann. Falls z.B. fcode = 3 ist; der Bewegungsvektor des Zielblocks (Vx, Vy) = (+48, +36,5) ist; der auf der Grundlage des globalen Bewegungsvektors bestimmte vorhergesagte Vektor (PVx, PVy) = (+102, +75) ist, ist der vorhergesagte Fehler (MVDx, MVDy) = (–54, –38,5). Somit sind die Absolutwerte dieses Fehlers größer als die obigen Werte des Bewegungsvektors (Vx, Vy). Je kleiner die Absolutwerte des Prädiktionsfehlers (MVDx, MVDy) sind, desto kürzer ist die Länge des dem Prädiktionsfehler zugewiesenen Codeworts. Somit gibt es einen Nachteil, dass die Menge des Codes wegen der Prädiktion des Bewegungsvektors erhöht ist.
  • Somit ist die Aufgabe der vorliegenden Erfindung die Schaffung eines Bewegungsvektorprädiktions-Codierungsverfahrens, eines Bewegungsvektor-Decodierungsverfahrens und eines computerlesbaren Speichermediums, das ein Bewegungsvektorprädiktions-Codierungsprogramm und ein Bewegungsvektorprädiktions-Decodierungsprogramm speichert, die die Menge des in Bezug auf den Bewegungsvektor erzeugten Codes verringern und die Effizienz der Bewegungsvektorprädiktion verbessern.
  • Ein Artikel mit dem Titel "A selective coding method based an global/local motion information" von Jong-Bae Lee und Seong-Dae Kim (Signal Processing, Europäische Zeitschrift, die den Verfahren und Anwendungen der Signalverarbeitung gewidmet ist, Elsevier Science Publishers B. V., Amsterdam, NL, Bd. 55, Nr. 3, 1. Dezember 1996 (1996-12-01), S. 339-350, XP004113779, ISSN: 0165-1684) schlägt ein selektives Codierungsschema vor, das ein Verfahren zum Codieren von Bildfolgen beschreibt, wobei Bits zwischen Hintergrund- und Zielgebiet unterschieden werden. Anfangs schätzt das vorgeschlagene Verfahren globale Bewegungsparameter und lokale Bewegungsvektoren. Daraufhin wird die Segmentierung mit einem hierarchischen Gruppierungsschema und mit einem Vier-Baum-Algorithmus ausgeführt, um ein gegebenes Bild in Hintergrund- und Zielgebiet zu unterteilen. Schließlich erfolgt die Bildcodierung durch Zuweisen von mehr Bits zu dem Zielgebiet und von weniger Bits zum Hintergrund, sodass das Zielgebiet mit hoher Qualität rekonstruiert werden kann.
  • Ein weiterer Artikel mit dem Titel "Differential estimation of the global motion parameters zoom and pan" von Michael Hoetter (Signal Processing, Europäische Zeitschrift, die den Verfahren und Anwendungen der Signalverarbeitung gewidmet ist, Elsevier Science Publishers B. V., Amsterdam, NL, Bd. 16, Nr. 3, 1. März 1989 (1989-03-01), S. 249-265, XP000099189, ISSN: 0165-1684) stellt eine Differenzbewegungs-Schätztechnik für Fernsehfolgen vor, die die Parameter der globalen Bewegung in der Bildebene wegen Zoomen und Schwenken der Kamera misst. Der Algorithmus beruht auf einem zweidimensionalen Signalmodell und auf einem dreidimensionalen Parametermodell für die Bewegungsbeschreibung. Der erste globale Parameter beschreibt eine Änderung der Brennweite, die dem Verhältnis der Brennweiten vor und nach dem Zoom entspricht. Im Fall des Schwenkens müssen zwei zusätzliche Parameter betrachtet werden. Da der Algorithmus die globalen Parameter direkt aus dem Bildsignal misst, werden Schätzfehler wegen Verlagerungsmessungen im Vergleich zu bekannten Techniken vermieden. Um störende Einflüsse zu verringern, die durch bewegte Objekte oder mehrdeutige Anpassungen verursacht sind, werden mehrere Parametersätze lokal berechnet, die global in einem Histogramm bewertet werden.
  • OFFENBARUNG DER ERFINDUNG
  • Die Erfindung ist in den beigefügten Ansprüchen dargelegt.
  • Das Bewegungsvektorprädiktions-Codierungsverfahren und das Bewegungsvektorprädiktions-Codierungsprogramm, das in einem computerlesbaren Speichermedium gespeichert ist, gemäß der vorliegenden Erfindung beziehen sich auf ein Bewegungsvektorprädiktions-Codierungsverfahren, in dem ein zu codierender Zielrahmen in kleine Zielblöcke unterteilt wird und in dem ein auf jeden zu codierenden kleinen Zielblock anzuwendendes Bewegungskompensationsverfahren aus mehreren Bewegungskompensationsverfahren wählbar ist. Falls, wenn in der vorliegenden Erfindung der Bewegungsvektor des kleinen Zielblocks auf der Grundlage des Bewegungsvektors eines bereits codierten kleinen Blocks vorhergesagt wird, das Bewegungsmodell des Bewegungsvektors des kleinen Zielblocks von dem Bewegungsmodell des Bewegungsvektors des bereits codierten kleinen Blocks verschieden ist, wird der Bewegungsvektor des kleinen Zielblocks durch Umsetzen der Bewegungsvektors des bereits codierten kleinen Blocks für die Prädiktion in einen, der für das Bewegungsmodell des in dem Bewegungskompensationsverfahren des kleinen Zielblocks verwendeten Bewegungsvektors geeignet bist, und durch Berechnen eines vorhergesagten Vektors vorhergesagt und ein Prädiktionsfehler des Bewegungsvektors codiert.
  • Falls in dem Decodierungsverfahren und in dem in einem computerlesbaren Speichermedium gespeicherten Decodierungsprogramm zum Decodieren des unter Verwendung des obigen Bewegungsvektorprädiktions-Codierungsverfahren codierten Bewegungsvektors das Bewegungsmodell des Bewegungsvektors eines zu decodierenden kleinen Zielblocks von dem Bewegungsmodell des Bewegungsvektors des bereits decodierten kleinen Blocks verschieden ist, wird der Bewegungsvektor des bereits decodierten kleinen Blocks in einen für das Bewegungsmodell des in dem Bewegungskompensationsverfahren des kleinen Zielblocks verwendeten Bewegungsvektors geeigneten umgesetzt und auf der Grundlage des umgesetzten Bewegungsvektors des bereits decodierten kleinen Blocks ein vorhergesagter Vektor berechnet und der Bewegungsvektor durch Addieren des Prädiktionsfehlers zu dem vorhergesagten Vektor decodiert.
  • Wie oben beschrieben wurde, gibt es zwei Typen des Bewegungskompensationsverfahrens, d.h. eine globale Bewegungskompensation (zum Kompensieren einer globalen Bewegung über mehrere Bereiche) und eine lokale Bewegungskompensation (zum Kompensieren einer lokalen Bewegung für jeden Bereich). In der globalen Bewegungskompensation wird der Bewegungsvektor gesendet, der eine globale Bewegung über mehrere Bereiche repräsentiert, während in der lokalen Bewegungskompensation der Bewegungsvektor für jeden Bereich gesendet wird.
  • Die vorliegende Erfindung schafft ein weiteres Bewegungsvektorprädiktions-Codierungsverfahren und Bewegungsvektorprädiktions-Codierungsprogramm, das in einem computerlesbaren Speichermedium gespeichert ist. Dieser Fall bezieht sich auf ein Bewegungsvektorprädiktions-Codierungsverfahren, in dem ein globales Bewegungskompensationsverfahren und ein lokales Bewegungskompensationsverfahren für jeden zu codierenden kleinen Zielblock umschaltbar sind, wobei dann, wenn der Bewegungsvektor des kleinen Zielblocks auf der Grundlage des Bewegungsvektors eines bereits codierten kleinen Blocks vorhergesagt wird und wenn das Bewegungskompensationsverfahren des kleinen Zielblocks von dem Bewegungskompensationsverfahren des bereits codierten kleinen Blocks verschieden ist, durch Umsetzen des Formats des Bewegungsvektors des bereits codierten kleinen Zielblocks für die Prädiktion in ein Format des in dem Bewegungskompensationsverfahren des kleinen Zielblocks verwendeten Bewegungsvektors ein vorhergesagter Vektor berechnet wird und der Bewegungsvektor des kleinen Zielblocks vorhergesagt wird und ein Prädiktionsfehler der Bewegungsvektors codiert wird.
  • Falls in der Codierung des Bewegungsvektors unter Verwendung des obigen Bewegungsvektorprädiktions-Codierungsverfahrens und des Bewegungsvektorprädiktions-Codierungsprogramms, das in einem computerlesbaren Speichermedium gespeichert ist, das für den kleinen Zierblock verwendete Bewegungskompensationsverfahren das lokale Bewegungskompensationsverfahren ist und das für den bereits codierten kleinen Zielblock verwendete Bewegungskompensationsverfahren für die Prädiktion das globale Bewegungskompensationsverfahren ist, wird auf der Grundlage des globalen Bewegungsvektors ein lokaler Bewegungsvektor des bereits codierten kleinen Blocks berechnet, der Bewegungsvektor des kleinen Zielblocks vorhergesagt und der Prädiktionsfehler des Bewegungsvektors codiert.
  • Falls der Wert des vorhergesagten Vektors, wenn der Bewegungsvektor des kleinen Zielblocks, für den die lokale Bewegungskompensation gewählt wird, auf der Grundlage der globalen Bewegungsparameter vorhergesagt wird, nicht in einem vorgegebenen Bereich liegt, wird der vorhergesagte Vektor begrenzt, damit er einen Wert innerhalb des vorgegebenen Bereichs hat. Falls, wenn andererseits der Bewegungsvektor des Blocks, für den die lokale Bewegungskompensation gewählt wird, auf der Grundlage der globalen Bewegungsparameter vorhergesagt wird, der Wert des vorhergesagten Vektors nicht innerhalb eines vorgegebenen Bereichs liegt, wird der Wert des vorhergesagten Vektors auf 0 gesetzt.
  • Falls in dem Decodierungsverfahren und in dem Decodierungsprogramm, das in einem computerlesbaren Speichermedium gespeichert ist, zum Decodieren des unter Verwendung der oben erwähnten Bewegungsvektorprädiktions-Codierungsverfahren und der Bewegungsvektorprädiktions-Codierungsprogramme, die in computerlesbaren Speichermedien gespeichert sind, das Bewegungskompensationsverfahren des zu decodierenden kleinen Zielblocks von den Bewegungskompensationsverfahren des bereits decodierten kleinen Blocks verschieden ist, wird das Format des Bewegungsvektors des bereits decodierten kleinen Blocks in ein Format des Bewegungsvektors umgesetzt, der in dem Bewegungskompensationsverfahren des kleinen Zielblocks verwendet wird, und ein vorhergesagter Vektor des Bewegungsvektors des kleinen Zielblocks berechnet und der Bewegungsvektor durch Addieren des vorhergesagten Fehlers zu dem vorhergesagten Vektor decodiert.
  • Falls außerdem das für den zu decodierenden kleinen Zielblock verwendete Bewegungskompensationsverfahren das lokale Bewegungskompensationsverfahren ist und das für den bereits decodierten kleinen Block für die Prädiktion verwendete Bewegungskompensationsverfahren das globale Bewegungskompensationsverfahren ist, wird auf der Grundlage des globalen Bewegungsvektors ein lokaler Bewegungsvektor des bereits codierten kleinen Blocks berechnet, in Bezug auf den Bewegungsvektor des kleinen Zielblocks ein vorhergesagter Vektor berechnet und der Bewegungsvektor durch Addieren des Prädiktionsfehlers zu dem vorhergesagten Vektor decodiert.
  • Wenn in dem obigen Bewegungsvektor-Codierungsverfahren und -Decodierungsverfahren, in dem obigen Bewegungsvektorprädiktions-Codierungsprogrammen und -Decodierungsprogrammen der Bewegungsvektor des kleinen Blocks in irgendeinem Bewegungsmodell in einen Bewegungsvektor in einem translatorischen Bewegungsmodell umgesetzt wird, wird auf der Grundlage des Bewegungsvektors in dem translatorischen Bewegungsmodell, der für jedes Pixel in dem kleinen Block bestimmt wird, ein repräsentativer Bewegungsvektor des kleinen Blocks berechnet.
  • In der Berechnung des repräsentativen Bewegungsvektors wird jede Komponente des repräsentativen Bewegungsvektors auf eine statistische Meßzahl (eine von Mittelwert, Zwischenwert, Median, Modus, Maximalwert und Minimalwert) gesetzt.
  • Falls bei der Decodierung der vorhergesagte Wert des lokalen Bewegungsvektors, der auf der Grundlage der globalen Bewegungsparameter berechnet wird, nicht innerhalb eines vorgegebenen Bereichs liegt, wird der vorhergesagte Vektor begrenzt, damit er einen Wert innerhalb des vorgegebenen Bereichs hat. Falls stattdessen der vorhergesagte Wert des lokalen Bewegungsvektors, der auf der Grundlage der globalen Bewegungsparameter berechnet wird, nicht innerhalb eines vorgegebenen Bereichs liegt, wird der Wert des vorhergesagten Vektors auf 0 gesetzt.
  • Gemäß dem Bewegungsvektorprädiktions-Codierungsverfahren, -Decodierungsverfahren, dem Bewegungsvektorprädiktions-Codierungsprogramm und -Decodierungsprogramm der vorliegenden Erfindung kann der Bewegungsvektor zwischen Bewegungsvektoren verschiedener Bewegungsmodelle und außerdem zwischen Bewegungsvektoren der globalen Bewegungskompensation und der lokalen Bewegungkompensation vorhergesagt werden. Somit kann die Menge des erzeugten Codes in Bezug auf den Bewegungsvektor verringert werden.
  • Falls außerdem der auf der Grundlage der globalen Bewegungsparameter bestimmte vorhergesagte Vektor nicht innerhalb des Bereichs des lokalen Bewegungsvektors liegt, kann der vorhergesagte Vektor begrenzt werden, damit er den Maximalwert oder den Minimalwert des Bereichs hat. Falls somit "fcode = 3" (der Bewegungsvektorbereich von –64 bis +63,5 Pixel) ist, der Bewegungsvektor des vorliegenden Blocks (Vx, Vy) = (+48, +36,5) ist und der vorhergesagte Vektor auf der Grundlage der globalen Bewegungsparameter (PVx, PVy) = (+102, +75) berechnet wird, wird der vorhergesagte Vektor (PVx, PVy) auf "(+63,5, +63,5)" begrenzt. Dementsprechend ist der Prädiktionsfehler (MVDx, MVDy) "(–15,5, –27)", wobei die Absolutwerte davon kleiner sind als jene, die durch das oben erwähnte herkömmliche Verfahren erhalten werden, in dem der Prädiktionsfehler "(–54, –38,5)" ist. Je kleiner die Absolutwerte des Prädiktionsfehlers sind, desto kürzer ist die Länge des einer Differenz zwischen zwei Bewegungsvektoren zugewiesenen Codeworts; somit kann die gesamte Codemenge verringert werden.
  • Falls in dem Verfahren zum Setzen des Werts des vorhergesagten Vektors auf 0 "fcode = 3" ist (der Bewegungsvektorbereich von –64 bis +63,5 Pixel ist), der Bewegungsvektor des vorliegenden Blocks (Vx, Vy) = (+48, +36,5) ist und der vorhergesagte Vektor auf der Grundlage der globalen Bewegungsparameter (PVx, PVy) = (+102, +75) berechnet wird, wird der vorhergesagte Vektor (PVx, PVy) auf "(0, 0)" gesetzt. Dementsprechend ist der Prädiktionsfehler (MVDx, MVDy) "(+48, +36,5)", wobei die Absolutwerte davon größer sind als jene, die durch das obige Begrenzungsverfahren erhalten werden, in dem der Prädiktionsfehler "(–15,5, –27)" ist, aber kleiner sind als jene, die durch das obige herkömmliche Verfahren erhalten werden, in dem der Prädiktionsfehler "(–54, –38,5)" ist.
  • Das Folgende ist ein weiteres Beispiel, in dem "fcode = 1" ist (der Bewegungsvektorbereich von -16 bis +15,5 Pixeln ist), der Bewegungsvektor des vorliegenden Blocks (Vx, Vy) = (+3, +1,5) ist und der vorhergesagte Vektor auf der Grundlage der globalen Bewegungsparameter (PVx, PVy) = (+102, +75) berechnet wird. In dem Begrenzungsverfahren ist der vorhergesagte Vektor (PVx, PVy) "(+15,5, +15,5)" und ist der Prädiktionsfehler (MVDx, MVDy) "(–12,5, –14)". In dem "0"-Setz-Verfahren ist der vorhergesagte Vektor (PVx, PVy) "(0, 0)" und ist der Prädiktionsfehler (MVDx, MVDy) "(+3, +1,5)". Somit können die Absolutwerte in diesem Beispiel in dem "0"-Setz-Verfahren kleiner als jene in dem Begrenzungsverfahren sein.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Ablaufplan, der die Operationen des Bewegungsvektorprädiktions-Codierungsverfahrens der ersten Ausführungsform gemäß der vorliegenden Erfindung zeigt.
  • 2 ist ein Ablaufplan, der die Operationen des Bewegungsvektor-Decodierungsverfahrens der ersten Ausführungsform gemäß der vorliegenden Erfindung zeigt.
  • 3 ist ein Blockschaltplan, der die Funktionsstruktur der Bewegungsvektorprädiktions-Codierungsvorrichtung der ersten Ausführungsform zeigt, die nicht unter die vorliegende Erfindung fällt.
  • 4 ist ein Blockschaltplan, der die Funktionsstruktur der Bewegungsvektor-Decodierungsvorrichtung der ersten Ausführungsform zeigt, die nicht unter die vorliegende Erfindung fällt.
  • 5 ist ein Ablaufplan, der die Operationen des Bewegungsvektorprädiktions-Codierungsverfahrens der zweiten Ausführungsform gemäß der vorliegenden Erfindung zeigt.
  • 6 ist ein Ablaufplan, der die Operationen des Bewegungsvektor-Decodierungsverfahrens der zweiten Ausführungsform gemäß der vorliegenden Erfindung zeigt.
  • 7 ist ein Blockschaltplan, der die Funktionsstruktur der Bewegungsvektorprädiktions-Codierungsvorrichtung der zweiten Ausführungsform gemäß der vorliegenden Erfindung zeigt.
  • 8 ist ein Blockschaltplan, der die Funktionsstruktur der Bewegungsvektor-Decodierungsvorrichtung der zweiten Ausführungsform zeigt, die nicht unter die vorliegende Erfindung fällt.
  • 9 ist ein Diagramm, das Beispiele des Bewegungsmodells zeigt, wobei Teil (a) ein translatorisches Bewegungsmodell zeigt und Teil (b) ein translatorisches und Expansions/Kontraktions-Bewegungsmodell zeigt.
  • 10 ist ein Diagramm, das Bewegungsvektoren des Bewegungsmodells zeigt.
  • 11 ist ein Diagramm, das die Struktur eines Beispiels des Codierers zum Codieren von Bewegtbildern (des MPEG-4-Codierers) zeigt.
  • 12 ist ein Diagramm, das die Struktur des dem Codierer in 11 entsprechenden Decodierers (des MPEG-4-Decodierers) zeigt.
  • 13 ist ein Diagramm, das die Anordnung von Referenzblöcken in der Bewegungsvektorprädiktion des MPEG-4 zeigt.
  • AUSFÜHRUNGSARTEN DER ERFINDUNG
  • Im Folgenden werden anhand der Zeichnung Ausführungsformen gemäß der vorliegenden Erfindung erläutert. In den Ausführungsformen sind das globale Bewegungskompensationsverfahren (GMC) und das lokale Bewegungskompensations verfahren (LMC) für jeden kleinen Block umschaltbar. Das in dem GMC verwendete Bewegungsmodell wird unter Betrachtung der translatorischen Bewegung und der Expansion/Kontraktion bestimmt, während das in dem LMC verwendete Bewegungsmodell ein translatorisches Bewegungsmodell ist.
  • In dem GMC wird der Bewegungsvektor nicht jedem kleinen Block zugewiesen. Somit wird die Prädiktion in Bezug auf einen Bewegungsvektor ausgeführt, der für die lokale Bewegungskompensation verwendet wird. Zur Zeit der Prädiktion des Bewegungsvektors wird das Format des Bewegungsvektors in das des translatorischen Bewegungsmodells umgesetzt. Wenn der Bewegungsvektor der globalen Bewegungskompensation in den Bewegungsvektor des translatorischen Bewegungsmodells umgesetzt wird, wird ein repräsentativer Vektor des kleinen Blocks berechnet. In der Berechnung wird der Durchschnitt der Bewegungsvektoren, die für jedes Pixel des kleinen Blocks berechnet wurden, als der repräsentative Vektor bestimmt. Die Größe jedes kleinen Blocks ist M × N Pixel.
  • Erste Ausführungsform
  • (1) Bewegungsvektorprädiktions-Codierungsverfahren und Bewegungsvektor-Decodierungsverfahren
  • Im Folgenden werden anhand der Ablaufpläne in den 1 und 2 das Bewegungsvektorprädiktions-Codierungsverfahren und das Bewegungsvektor-Decodierungsverfahren der ersten Ausführungsform gemäß der vorliegenden Erfindung erläutert.
  • (1-1) Bewegungsvektorprädiktions-Codierungsverfahren
  • In dem ersten Schritt S1 in 1 wird der Bewegungskompensationsmodus des kleinen Zielblocks bestimmt. Falls der Modus dem GMC entspricht, wird die Prädiktionscodierung des Bewegungsvektors nicht ausgeführt und wird die Operation der Bewegungsvektorcodierung abgeschlossen.
  • Falls der Modus in Schritt S1 dem LMC entspricht, geht die Operation zu Schritt S2 über, wo der Codierungsmodus eines kleinen Blocks, der bereits codiert worden ist, bestimmt wird. Falls bestimmt wird, dass der Codierungsmodus der Intrabild-Codierungsmodus ist, geht die Operation zu Schritt S3 über. In Schritt S3 wird der vorhergesagte Vektor vp auf 0 gesetzt (d.h. vp = (0, 0)), woraufhin die Operation zu Schritt S7 (später erläutert) übergeht.
  • Falls in Schritt S2 bestimmt wird, dass der Codierungsmodus der Interbild-Codierungsmodus ist, geht die Operation zu Schritt S4 über, wo der Bewegungskompensationsmodus des bereits codierten kleinen Blocks bestimmt wird. Falls bestimmt wird, dass der Bewegungskompensationsmodus dem LMC entspricht, wird der Bewegungsvektor des kleinen Blocks vi-1 = (xi-1, yi-1) als der vorhergesagte Vektor vp bestimmt, und geht die Operation zu Schritt S7 über.
  • Falls in Schritt S4 bestimmt wird, dass der Bewegungskompensationsmodus dem GMC entspricht, geht die Operation zu Schritt S5 über, wo der Bewegungsvektor des translatorischen Bewegungsmodells, d.h. vi-1(m, n) = (xi-1(m, n), yi-1(m, n)), für jedes Pixel des bereits codierten kleinen Blocks auf der Grundlage des globalen Bewegungsvektors GMV (= (X, Y, Z)) bestimmt wird. Hier gibt (m, n) die Position jedes Pixels in dem kleinen Block an.
  • Daraufhin geht die Operation zu Schritt S6 über, wo auf der Grundlage des in Schritt S5 für jedes Pixel des bereits codierten kleinen Blocks bestimmten Bewegungsvektors v1-1(m, n) der repräsentative Bewegungsvektor berechnet wird und das berechnete Ergebnis als der vorhergesagte Vektor vp = (xvp, yvp) bestimmt wird. Der repräsentative Bewegungsvektor wird hier auf der Grundlage des Durchschnitts der Bewegungsvektoren vi-1(m, n) jedes Pixels berechnet.
  • Figure 00200001
  • Daraufhin geht die Operation zu Schritt S7 über und werden für jede Komponente des Bewegungsvektors auf der Grundlage des Bewegungsvektors vi = (xi, yi) des kleinen Zielblocks und des vorhergesagten Vektors vp unter Verwendung der folgenden Gleichungen Prädiktionsfehler dxi und dyi berechnet. dxi = xi – xvp (12) dyi = yi – yvp (13)
  • Falls in Schritt S2 bestimmt wird, dass der Codierungsmodus des bereits codierten kleinen Blocks der Intrabild-Codierungsmodus ist, ist der vorhergesagte Vektor vp = (0, 0); somit werden die Prädiktionsfehler dxi und dyi wie folgt bestimmt: dxi = xi – 0 (14) dyi = yi – 0 (15)
  • Falls in Schritt S4 bestimmt wird, dass der Bewegungskompensationsmodus des bereits codierten kleinen Blocks das LMC ist, wird der Bewegungsvektor des bereits codierten kleinen Blocks vi-1 = (xi-1, yi-1) als der vorhergesagte Vektor vp bestimmt. Daraufhin werden die Prädiktionsfehler dxi und dyi wie folgt bestimmt: dxi = xi – xi-1 (16) dyi = yi – yi-1 (17)
  • Daraufhin geht die Operation zu Schritt S8 über, wo die in Schritt S7 berechneten Prädiktionsfehler dxi und dyi einer reversiblen Codierung wie etwa der Huffman-Codierung unterworfen werden und die Bewegungsvektor-Codierungsoperation abgeschlossen wird.
  • (1-2) Bewegungsvektor-Decodierungsverfahren
  • Im Folgenden wird anhand von 2 das Verfahren zum Decodieren des Bewegungsvektors, der durch das oben erläuterte Codierungsverfahren codiert wurde, erläutert.
  • In dem ersten Schritt S11 in 2 wird der Bewegungskompensationsmodus des kleinen Zielblocks bestimmt. Falls der bestimmte Modus dem GMC entspricht, wird bestimmt, dass die prädiktive Codierung des Bewegungsvektors nicht ausgeführt wurde, und wird die Decodierungsoperation abgeschlossen.
  • Falls der Modus in Schritt S11 dem LMC entspricht, geht die Operation zu Schritt S12 über, wo die Prädiktionsfehler dxi und dyi, die reversibel codiert wurden, decodiert werden. Daraufhin geht die Operation zu Schritt S13 über, wo der Codierungsmodus des bereits decodierten kleinen Blocks bestimmt wird. Falls be stimmt wird, dass der Codierungsmodus der Intrabild-Codierungsmodus ist, wird der Prädiktionsfehler vp in Schritt S14 auf (0, 0) gesetzt und geht die Operation zum (später erläuterten) Schritt S18 über.
  • Falls in Schritt S13 bestimmt wird, dass der Codierungsmodus der Interbild-Codierungsmodus ist, geht die Operation zu Schritt S15 über, wo der Bewegungskompensationsmodus des bereits decodierten kleinen Blocks bestimmt wird. Falls bestimmt wird, dass der Bewegungskompensationsmodus des bereits decodierten kleinen Blocks dem LMC entspricht, wird der Bewegungsvektor des bereits decodierten kleinen Blocks vi-1 = (xi-1, yi-1) als der vorhergesagte Vektor vp bestimmt und geht die Operation zu Schritt S18 über.
  • Falls in Schritt S15 bestimmt wird, dass der Bewegungskompensationsmodus des bereits decodierten kleinen Blocks dem GMC entspricht, geht die Operation zu Schritt S16 über, wo für jedes Pixel des bereits decodierten kleinen Blocks auf der Grundlage des globalen Bewegungsvektors GMV (= (X, Y, Z)) der Bewegungsvektor des translatorischen Bewegungsmodells, d.h. vi-1(m, n) = (xi-1(m, n), yi-1(m, n)), bestimmt wird. Hier gibt (m, n) die Position jedes Pixels in dem kleinen Block an.
  • Daraufhin geht die Operation zu Schritt S17 über, wo auf der Grundlage des für jedes Pixel des bereits decodierten kleinen Blocks bestimmten Bewegungsvektors vi-1(m, n) der repräsentative Bewegungsvektor berechnet wird und das berechnete Ergebnis als der vorhergesagte Vektor vp = (xvp, yvp) bestimmt wird. Der repräsentative Bewegungsvektor wird hier auf der Grundlage des Durchschnitts der Bewegungsvektoren vi-1(m, n) jedes Pixels berechnet.
  • Figure 00220001
  • Daraufhin geht die Operation zu Schritt S18 über, wo die Komponenten xvp und yvp des vorhergesagten Vektors vp zu den Prädiktionsfehlern dxi bzw. dyi addiert werden, sodass der Bewegungsvektor vi = (xi, yi) des kleinen Zielblocks wie folgt berechnet wird: xi = xvp + dxi (20) yi = yvp + dyi (21)
  • Falls in Schritt S13 bestimmt wird, dass der Decodierungsmodus des bereits decodierten kleinen Blocks der Intrabild-Codierungsmodus ist, wird der vorhergesagte Vektor in Schritt S14 vp = (0, 0). Somit wird der Bewegungsvektor vi = (xi, yi) des kleinen Zielblocks wie folgt berechnet: xi = 0 + dxi (22) yi = 0 + dyi (23)
  • Falls in Schritt S15 bestimmt wird, dass der Bewegungskompensationsmodus des bereits decodierten kleinen Blocks der LMC ist, wird der Bewegungsvektor des bereits decodierten kleinen Blocks vi-1 = (xi-1, yi-1) als der vorhergesagte Vektor vp bestimmt. Somit wird der Bewegungsvektor vi = (xi, yi) des kleinen Zielblocks wie folgt berechnet: xi = xi-1 + dxi (24) yi = yi-1 + dyi (25)
  • Wenn der Prozess als Schritt S18 abgeschlossen worden ist, ist die Bewegungsvektor-Decodierungsoperation ebenfalls abgeschlossen.
  • In Schritt S6 in 1 und in Schritt S17 in 2 in der obigen Ausführungsform wird der repräsentative Bewegungsvektor unter Verwendung des Durchschnitts berechnet; allerdings können die folgenden statistischen Meßzahlen verwendet werden. Hier ist eine Menge von Komponenten xi-1(m, n) des Bewegungsvektors für jedes Pixel durch Xi-1 angegeben, während eine Menge der Komponenten yi-1(m, n) des Bewegungsvektors für jedes Pixel durch Yi-1 angegeben ist.
  • Maximalwert
  • Der repräsentative Bewegungsvektor wird unter Verwendung der folgenden Gleichungen berechnet. xvp = max(Xi-1) (26) yvp = max(Yi-1) (27)
  • Minimalwert
  • Der repräsentative Bewegungsvektor wird unter Verwendung der folgenden Gleichungen berechnet. xvp = min(Xi-1) (28) yvp = min(Yi-1) (29)
  • Zwischenwert
  • Der repräsentative Bewegungsvektor wird unter Verwendung der folgenden Gleichungen berechnet. xvp = (max(Xi-1) + min(Xi-1))/2 (30) yvp = (max(Yi-1) + min(Yi-1))/2 (31)
  • Modus
  • Es wird die Häufigkeitsverteilung für jede Komponente des Bewegungsvektors untersucht und der Wert, der der maximalen Häufigkeit entspricht, als die relevante Komponente des repräsentativen Bewegungsvektors bestimmt.
  • Median
  • Zunächst wird jede Komponente des Bewegungsvektors in der Reihenfolge der Größe angeordnet: xs1 ≤ xs2 ≤ ... ≤ xsn-1 ≤ xsn (32) ys1 ≤ ys2 ≤ ... ≤ ysn-1 ≤ ysn (33)wobei n die Anzahl der Pixel des kleinen Blocks bedeutet und xs und ys jeweils durch Umordnen der Komponenten Xi-1 und Yi-1 (des Bewegungsvektors jedes Pixels) in der Reihenfolge der Größe erhalten werden. Der repräsentative Bewegungsvektor wird auf der Grundlage der obigen Umstellungsreihenfolge der Komponenten des Bewegungsvektors berechnet. Das heißt: Wenn die Anzahl n der Pixel n eine ungerade Zahl ist: xvp = xs(n+1)/2 (34) yvp = ys(n+1)/2 (35)
  • Wenn die Anzahl n der Pixel eine gerade Zahl ist: xvp = (xsn/2 + xsn/2+1)/2 (36) yvp = (ysn/2 + ysn/2+1)/2 (37)
  • In der obigen Ausführungsform kann der Bewegungsvektor irgendeines kleinen Blocks, der codiert wurde, bevor der kleine Zielblock codiert wurde, wie etwa der Bewegungsvektor des kleinen Blocks, der unmittelbar davor codiert wurde, als der Bewegungsvektor des bereits codierten kleinen Blocks verwendet werden. Außerdem kann der vorhergesagte Vektor unter Verwendung der Bewegungsvektoren mehrerer bereits codierter kleiner Blöcke berechnet werden.
  • (2) Bewegungsvektorprädiktions-Codierungsvorrichtungen und -Decodierungsvorrichtungen
  • Im Folgenden werden anhand der 3 und 4 die Bewegungsvektorprädiktions-Codierungsvorrichtungen und -Decodierungsvorrichtungen gemäß den oben erläuterten Bewegungsvektor-Codierungsverfahren und -Decodierungsverfahren erläutert.
  • (2-1) Bewegungsvektorprädiktions-Codierungsvorrichtung
  • 3 zeigt die Funktionsstruktur der Bewegungsvektor-Codierungsvorrichtung zum Ausführen der Bewegungsvektorcodierung gemäß dem oben erläuterten Bewegungsvektor-Codierungsverfahren. In dieser Figur wird der globale Bewegungsvektor einmal für ein Bild (für eine Ebene) eingegeben und wird der lokale Bewegungsvektor nur eingegeben, wenn der kleine Zielblock lokal kompensiert wird.
  • Der Bewegungsvektorspeicher 1 speichert den eingegebenen lokalen Bewegungsvektor mv des kleinen Zielblocks. Wenn der nächste lokale Bewegungsvektor mv eingegeben wird, gibt der Bewegungsvektorspeicher 1 den gespeicherten lokalen Bewegungsvektor als Bewegungsvektor mvt-1 des bereits codierten kleinen Blocks aus.
  • Der Abschnitt 2 zum Berechnen eines repräsentativen Bewegungsvektors besitzt einen internen Speicher. Wenn das auf den eingegebenen kleinen Zielblock angewendete Bewegungskompensationsverfahren das LMC ist und wenn das auf den bereits codierten kleinen Block angewendete Bewegungskompensationsverfahren das GMC ist, liest der Berechnungsabschnitt 2 aus dem internen Speicher den bereits codierten globalen Bewegungsvektor "gmv" aus und berechnet für jeden kleinen Block auf der Grundlage des globalen Bewegungsvektors gmv einen repräsentativen Bewegungsvektor. Wenn der nächste lokale Bewegungsvektor mv des bereits codierten kleinen Blocks eingegeben wird, wird das berechnete Ergebnis als der repräsentative Bewegungsvektor des bereits codierten kleinen Blocks ausgegeben.
  • Die Auswahleinrichtung 3 arbeitet auf eine der folgenden Arten. Im ersten Fall gibt die Auswahleinrichtung 3 gemäß dem Bewegungskompensationsmodus des kleinen Zielblocks, dem Codierungsmodus des bereits codierten kleinen Zielblocks und dem Bewegungskompensationsmodus des bereits codierten kleinen Blocks den von dem Bewegungsvektorspeicher 1 ausgegebenen Bewegungsvektor mvt-1 des bereits codierten kleinen Blocks oder den von den Abschnitt 2 zum Berechnen eines repräsentativen Bewegungsvektors ausgegebenen repräsentativen Bewegungsvektor aus. Im zweiten Fall gibt die Auswahleinrichtung 3 keinen Bewegungsvektor aus, d.h., es wird keiner der zwei Bewegungsvektoren gewählt (dieser Zustand wird im Folgenden ein "Neutralzustand" genannt).
  • Der Subtrahierer 4 subtrahiert die Ausgabe von der Auswahleinrichtung 3 von dem lokalen Bewegungsvektor mvt des kleinen Zielblocks und gibt den Prädiktionsfehler dmvt aus. Der Bewegungsvektor-Codierungsabschnitt 5 führt die Codierung mit variabler Länge des Prädiktionsfehlers dmvt aus, der von dem Subtrahierer 4 ausgegeben wird. Der Codierungsabschnitt 5 gibt die codierten Ergebnisse als lokale Bewegungsvektorinformationen aus. Der Codierungsabschnitt 6 führt die Codierung mit variabler Länge des globalen Bewegungsvektors gmv aus und gibt die codierten Ergebnisse als globale Bewegungsvektorinformationen aus.
  • Im Folgenden werden die Operationen der Codierungsvorrichtung mit der oben erläuterten Struktur erläutert. Wenn von einer externen Vorrichtung ein globaler Bewegungsvektor zugeführt wird, wird der zugeführte globale Bewegungsvektor gmv sowohl in den Abschnitt 2 zum Berechnen eines repräsentativen Bewegungsvektors als auch in den Bewegungsvektor-Codierungsabschnitt 6 eingegeben. In dem Bewegungsvektor-Codierungsabschnitt 6 werden die eingegebenen Daten mit variabler Länge codiert und daraufhin nach außen ausgegeben. In dem Abschnitt 2 zum Berechnen eines repräsentativen Bewegungsvektors wird der obige globale Bewegungsvektor gmv in dem internen Speicher gespeichert.
  • Zu dieser Zeit wird der globale Bewegungsvektor nicht von einer externen Vorrichtung zugeführt und erfasst die Auswahleinrichtung 3, dass der zugeführte Bewegungsvektor der globale Bewegungsvektor ist, und tritt somit in den Neutralzustand ein. Dementsprechend werden von dem Bewegungsvektor-Codierungsabschnitt 5 keine Informationen des lokalen Bewegungsvektors ausgegeben.
  • Wenn der lokale Bewegungsvektor mvt von einer externen Vorrichtung zugeführt wird, nachdem die obigen Operationen ausgeführt worden sind, wird der zugeführte lokale Bewegungsvektor mvt in den Bewegungsvektorspeicher 1 und in den Subtrahierer 4 eingegeben. In diesem Fall ist das Bewegungskompensationsverfahren des Zielblocks das LMC und ist das Bewegungskompensationsverfahren des bereits codierten kleinen Blocks das GMC. Somit wird in dem Abschnitt 2 zum Berechnen eines repräsentativen Bewegungsvektors für jedes Pixel des bereits codierten kleinen Blocks auf der Grundlage des in dem internen Speicher gespeicherten globalen Bewegungsvektors gmv der Bewegungsvektor "vt-1(m, n) = (xi-1(m, n), yi-1(m, n))" des transiatorischen Bewegungsmodells berechnet (dieser Prozess entspricht Schritt S5 in 1). Hier geben m und n die relevante Position des Pixels in dem kleinen Block an.
  • In dem Abschnitt 2 zum Berechnen eines repräsentativen Bewegungsvektors wird aus dem berechneten Bewegungsvektor vt-1(m, n) ein repräsentativer Bewe gungsvektor berechnet und als der Bewegungsvektor des bereits codierten kleinen Blocks ausgegeben (dieser Prozess entspricht Schritt S6 in 1). Der repräsentative Bewegungsvektor wird hier auf der Grundlage des Durchschnitts des Bewegungsvektors vt-1(m, n) für jedes Pixel berechnet.
  • Die Auswahleinrichtung 3 bestimmt den Codierungsmodus des bereits codierten kleinen Blocks. Falls der Modus der Intrabild-Codierungsmodus ist, ist die Auswahleinrichtung in dem Neutraizustand und wird von der Auswahleinrichtung kein Signal ausgegeben (dieser Prozess entspricht Schritt S3 in 1). Somit geht der zugeführte lokale Bewegungsvektor mvt durch den Subtrahierer 4 (dieser Prozess entspricht der Operation unter Verwendung der oben beschriebenen Gleichungen (14) und (15), die in Schritt S7 in 1 ausgeführt werden) und wird der Bewegungsvektor in dem Bewegungsvektor-Codierungsabschnitt 5 mit variabler Länge codiert (dieser Prozess entspricht Schritt S8 in 1) und nach außen ausgegeben.
  • Falls die Auswahleinrichtung 3 andererseits bestimmt, dass der Codierungsmodus des bereits codierten kleinen Blocks der Interbild-Codierungsmodus ist, wird daraufhin der Bewegungskompensationsmodus des bereits codierten kleinen Blocks bestimmt (dieser Prozess entspricht Schritt S4 in 1). Der Bewegungskompensationsmodus des bereits codierten kleinen Blocks ist hier der GMC; somit wählt die Auswahleinrichtung 3 den von dem Abschnitt 2 zum Berechnen eines repräsentativen Bewegungsvektors ausgegebenen repräsentativen Bewegungsvektor und gibt den Vektor an den Subtrahierer 4 aus.
  • Dementsprechend wird in dem Subtrahierer 4 der repräsentative Bewegungsvektor von dem kleinen Zielblock subtrahiert (dieser Prozess entspricht der Operation unter Verwendung der oben beschriebenen Gleichungen (12) und (13), die in Schritt S7 in 1 ausgeführt werden) und wird das Ergebnis der Subtraktion als der Prädiktionsfehler dmvt an den Bewegungsvektor-Codierungsabschnitt 5 ausgegeben, wo der Prädiktionsfehler mit variabler Länge codiert wird (dieser Prozess entspricht Schritt S8 in 1), und nach außen ausgegeben.
  • Falls ein weiterer lokaler Bewegungsvektor mvt von einer externen Vorrichtung zugeführt wird, nachdem die obigen Operationen ausgeführt worden sind, wird der zugeführte lokale Bewegungsvektor mvt in den Bewegungsvektorspeicher 1 und in den Subtrahierer 4 eingegeben. Der Bewegungsvektorspeicher 1 gibt den lokalen Bewegungsvektor mvt-1, der der zuvor eingegebene Vektor war, aus.
  • Die Auswahleinrichtung 3 bestimmt den Codierungsmodus des bereits codierten kleinen Blocks. Falls der Modus der Intrabild-Codierungsmodus ist, tritt die Auswahleinrichtung 3 in den Neutralzustand ein und wird von der Auswahleinrichtung kein Signal ausgegeben (dieser Prozess entspricht Schritt S3 in 1). Somit geht der zugeführte lokale Bewegungsvektor mvt durch den Subtrahierer 4 (dieser Prozess entspricht der Operation unter Verwendung der oben beschriebenen Gleichungen (14) und (15), die in Schritt S7 in 1 ausgeführt werden) und wird der Bewegungsvektor in dem Bewegungsvektor-Codierungsabschnitt 5 mit variabler Länge codiert (dieser Prozess entspricht Schritt S8 in 1) und nach außen ausgegeben.
  • Falls die Auswahleinrichtung 3 andererseits bestimmt, dass der Codierungsmodus des bereits codierten kleinen Blocks der Interbild-Codierungsmodus ist, wird daraufhin der Bewegungskompensationsmodus des bereits codierten kleinen Blocks bestimmt (dieser Prozess entspricht Schritt S4 in 1). Der Bewegungskompensationsmodus des bereits codierten kleinen Blocks ist hier das LMC; somit wählt die Auswahleinrichtung 3 den lokalen Bewegungsvektor mvt-1 des vom Bewegungsvektorspeicher 1 ausgegebenen bereits codierten kleinen Blocks und gibt den Vektor an den Subtrahierer 4 aus.
  • Dementsprechend wird der bereits codierte lokale Bewegungsvektor mvt-1 in dem Subtrahierer 4 von dem Bewegungsvektor mvt des kleinen Zielblocks subtrahiert (dieser Prozess entspricht der Operation unter Verwendung der oben beschriebenen Gleichungen (16) und (17), die in Schritt S7 in 1 ausgeführt werden) und wird das Ergebnis der Subtraktion als der Prädiktionsfehler dmvt an den Bewegungsvektor-Codierungsabschnitt 5 ausgegeben, wo der Prädiktionsfehler mit variabler Länge codiert wird (dieser Prozess entspricht Schritt S8 in 1), und nach außen ausgegeben.
  • (2-2) Bewegungsvektor-Decodierungsvorrichtung
  • 4 zeigt die Funktionsstruktur der Decodierungsvorrichtung zum Decodieren des Bewegungsvektors gemäß dem oben erläuterten Bewegungsvektor-Decodierungsverfahren. In dieser Figur decodiert der Bewegungsvektor-Decodierungsab schnitt 10 die Informationen des globalen Bewegungsvektors, die von der wie in 3 gezeigten Bewegungsvektorprädiktions-Codierungsvorrichtung ausgegeben werden. Der Decodierungsabschnitt 10 gibt das decodierte Ergebnis als globalen Bewegungsvektor gmv an den Abschnitt 12 zum Berechnen eines repräsentativen Bewegungsvektors und nach außen aus. Der Bewegungsvektor-Decodierungsabschnitt 11 decodiert die Informationen des lokalen Bewegungsvektors, die von der wie in 3 gezeigten Bewegungsvektorprädiktions-Codierungsvorrichtung ausgegeben wurden. Der Decodierungsabschnitt 11 gibt das decodierte Ergebnis als den Prädiktionsfehler dmv an den Addierer 15 aus.
  • Der Abschnitt 12 zum Berechnen eines repräsentativen Bewegungsvektors besitzt einen internen Speicher. Wenn das auf den kleinen Eingangszielblock angewendete Bewegungskompensationsverfahren das LMC ist und wenn das auf den bereits decodierten kleinen Block angewendete Bewegungskompensationsverfahren das GMC ist, liest der Berechnungsabschnitt 12 aus dem internen Speicher den bereits decodierten globalen Bewegungsvektor gmv aus und berechnet für jeden kleinen Block auf der Grundlage des globalen Bewegungsvektors gmv einen repräsentativen Bewegungsvektor. Wenn durch den Bewegu ngsvektor-Decodierungsabschnitt 11 nachfolgend die Informationen des lokalen Bewegungsvektors decodiert werden, wird das berechnete Ergebnis als der repräsentative Bewegungsvektor des bereits decodierten kleinen Blocks ausgegeben und wird der Prädiktionsfehler dmvt ausgegeben.
  • Die Auswahleinrichtung 13 arbeitet auf eine der folgenden Arten. Im ersten Fall gibt die Auswahleinrichtung 13 gemäß dem Bewegungskompensationsmodus des kleinen Zielblocks, dem Codierungsmodus des bereits decodierten kleinen Blocks und dem Bewegungskompensationsmodus des bereits decodierten kleinen Blocks den von dem Abschnitt 12 zum Berechnen eines repräsentativen Bewegungsvektors ausgegebenen repräsentativen Bewegungsvektor oder den von dem Bewegungsvektorspeicher 14 ausgegebenen Bewegungsvektor mvt-1 des bereits decodierten kleinen Blocks aus. Im zweiten Fall tritt die Auswahleinrichtung 13 in den Neutralzustand ein und gibt keinen Bewegungsvektor aus.
  • Der Bewegungsvektorspeicher 14 speichert den lokalen Bewegungsvektor mv des bereits decodierten kleinen Blocks, der von dem Addierer 15 ausgegeben wird. Wenn von dem Bewegungsvektor-Decodierungsabschnitt 11 nachfolgend der Prädiktionsfehler dmvt ausgegeben wird, wird der gespeicherte lokale Bewegungs vektor als der lokale Bewegungsvektor mvt-1 des bereits decodierten kleinen Blocks ausgegeben. Außerdem addiert der Addierer 15 die Ausgabe von der Auswahleinrichtung 13 zu dem von dem Bewegungsvektor-Decodierungsabschnitt 11 ausgegebenen Prädiktionsfehler dmvt und gibt das addierte Ergebnis als lokalen Bewegungsvektor mvt an den Bewegungsvektorspeicher 14 und nach außen aus.
  • Im Folgenden werden die Operationen der Bewegungsvektor-Decodierungsvorrichtung mit der oben erläuterten Struktur erläutert. Wenn von der wie in 3 gezeigten Bewegungsvektorprädiktions-Codierungsvorrichtung Informationen des globalen Bewegungsvektors zugeführt werden, werden die zugeführten Informationen des globalen Bewegungsvektors durch den Bewegungsvektor-Decodierungsabschnitt 10 in den globalen Bewegungsvektor gmv decodiert und an den Abschnitt 12 zum Berechnen eines repräsentativen Bewegungsvektors und nach außen ausgegeben. Dementsprechend wird der globale Bewegungsvektor gmv in dem internen Speicher in dem Abschnitt 12 zum Berechnen eines repräsentativen Bewegungsvektors gespeichert.
  • In dieser Phase werden von der wie in 3 gezeigten Bewegungsvektorprädiktions-Codierungsvorrichtung keine Informationen über den lokalen Bewegungsvektor zugeführt und erkennt die Auswahleinrichtung 13, dass die zugeführten Bewegungsvektorinformationen die globalen Bewegungsvektorinformationen sind, wobei sie in den Neutralzustand eintritt. Somit wird der lokale Bewegungsvektor mvt nie von dem Addierer 15 ausgegeben.
  • Wenn nach den obigen Operationen von der wie in 3 gezeigten Bewegungsvektorprädiktions-Codierungsvorrichtung die Informationen des lokalen Bewegungsvektors zugeführt werden, werden die zugeführten Informationen des lokalen Bewegungsvektors in dem Bewegungsvektor-Decodierungsabschnitt 11 zu dem Prädiktionsfehler dmvt decodiert (dieser Prozess entspricht Schritt S12 in 2) und an den Addierer 15 ausgegeben. In diesem Fall ist das Bewegungskompensationsverfahren des kleinen Zielblocks das LMC und ist das Bewegungskompensationsverfahren des bereits decodierten kleinen Blocks das GMC; somit wird in dem Abschnitt 12 zum Berechnen eines repräsentativen Bewegungsvektors für jedes Pixel des bereits decodierten kleinen Blocks auf der Grundlage des in dem internen Speicher gespeicherten globalen Bewegungsvektors "gmv" der Bewegungsvektor "vt-1(m, n) = (xi-1(m, n), yi-1(m, n))" des translatorischen Bewe gungsmodell berechnet (dieser Prozess entspricht Schritt S16 in 2). Hier geben m und n die relevante Position des Pixels in dem kleinen Block an.
  • Daraufhin wird aus dem berechneten Bewegungsvektor vt-1(m, n) der repräsentative Bewegungsvektor berechnet und als der Bewegungsvektor des bereits decodierten kleinen Blocks ausgegeben (dieser Prozess entspricht Schritt S17 in 2). Hier wird der repräsentative Bewegungsvektor auf der Grundlage des Durchschnitts des Bewegungsvektors vt-1(m, n) für jedes Pixel berechnet.
  • Die Auswahleinrichtung 13 bestimmt den Codierungsmodus des bereits decodierten kleinen Blocks. Falls der Modus der Intrabild-Codierungsmodus ist, ist die Auswahleinrichtung in dem Neutralzustand und wird von der Auswahleinrichtung kein Signal ausgegeben (dieser Prozess entspricht Schritt S14 in 2). Somit wird zu dem decodierten Prädiktionsfehler dmvt kein Element addiert und wird der Prädiktionsfehler als der lokale Bewegungsvektor mvt an den Bewegungsvektorspeicher 14 und nach außen ausgegeben (dieser Prozess entspricht der Operation unter Verwendung der oben beschriebenen Gleichungen (22) und (23), die in Schritt S18 in 2 ausgeführt wird).
  • Falls die Auswahleinrichtung 13 andererseits bestimmt, dass der Codierungsmodus des bereits decodierten kleinen Blocks der Interbild-Codierungsmodus ist, wird daraufhin der Bewegungskompensationsmodus des bereits decodierten kleinen Blocks bestimmt (dieser Prozess entspricht Schritt S15 in 2). Hier ist der Bewegungskompensationsmodus des bereits decodierten kleinen Blocks das GMC; somit wählt die Auswahleinrichtung 13 den von dem Abschnitt 12 zum Berechnen eines repräsentativen Bewegungsvektors ausgegebenen repräsentativen Bewegungsvektor und gibt den Vektor an den Addierer 15 aus.
  • Dementsprechend werden in dem Addierer 15 der Prädiktionsfehler dmvt, der in dem Bewegungsvektor-Decodierungsabschnitt 11 decodiert wurde, und der repräsentative Bewegungsvektor zueinander addiert (dieser Prozess entspricht der Operation unter Verwendung der oben beschriebenen Gleichungen (20) und (21), die in Schritt S12 in 2 ausgeführt wird), wobei das addierte Ergebnis als der lokale Bewegungsvektor mvt an den Bewegungsvektorspeicher 14 und nach außen ausgegeben wird.
  • Falls von der wie in 3 gezeigten Bewegungsvektorprädiktions-Codierungsvorrichtung weitere Informationen eines lokalen Bewegungsvektors zugeführt werden, nachdem die obigen Operationen ausgeführt worden sind, werden die zugeführten Informationen des lokalen Bewegungsvektors in dem Bewegungsvektor-Decodierungsabschnitt 11 zu dem Prädiktionsfehler dmvt decodiert und an den Addierer 15 ausgegeben. Die Auswahleinrichtung 13 bestimmt erneut den Codierungsmodus des bereits decodierten kleinen Blocks. Falls der Modus der Intrabild-Codierungsmodus ist, tritt die Auswahleinrichtung 13 in den Neutralzustand ein und wird von der Auswahleinrichtung kein Signal ausgegeben (dieser Prozess entspricht Schritt S14 in 2). Somit wird im Addierer 15 zu dem decodierten Prädiktionsfehler dmvt kein Element addiert und wird der Prädiktionsfehler als lokaler Bewegungsvektor mvt an den Bewegungsvektorspeicher 14 und nach außen ausgegeben (dieser Prozess entspricht der Operation unter Verwendung der oben beschriebenen Gleichungen (22) und (23), der in Schritt S18 in 2 ausgeführt wird).
  • Falls die Auswahleinrichtung 13 andererseits bestimmt, dass der Codierungsmodus des bereits decodierten kleinen Blocks der Interbild-Codierungsmodus ist, wird der Bewegungskompensationsmodus des bereits decodierten kleinen Blocks bestimmt (dieser Prozess entspricht Schritt S15 in 2). Hier ist der Bewegungskompensationsmodus des bereits decodierten kleinen Blocks das LMC; somit wählt die Auswahleinrichtung 13 den von dem Bewegungsvektorspeicher 14 ausgegebenen lokalen Bewegungsvektor mvt-1 des bereits decodierten kleinen Blocks und gibt den Vektor an den Addierer 15 aus.
  • Dementsprechend werden in dem Addierer 15 der lokale Bewegungsvektor mvt-1 des bereits decodierten kleinen Blocks, der von dem Bewegungsvektorspeicher 14 ausgegeben wurde, und der Prädiktionsfehler mvt zueinander addiert (dieser Prozess entspricht der Operation unter Verwendung der oben beschriebenen Gleichungen (24) und (25), die in Schritt 28 in 2 ausgeführt werden), wobei das addierte Ergebnis als lokaler Bewegungsvektor mvt an den Bewegungsvektorspeicher 14 und nach außen ausgegeben wird.
  • Wie in den obigen Positionen (1-1: Codierungsverfahren) und (1-2: Decodierungsverfahren) beschrieben worden ist, kann als der repräsentative Bewegungsvektor, der in jedem der Abschnitte 2 und 12 zum Berechnen eines repräsentativen Bewegungsvektors in der in den 3 und 4 gezeigten Bewegungsvektorprädik tions-Codierungsvorrichtung und Bewegungsvektor-Decodierungsvorrichtung berechnet wird, anstelle des Durchschnitts der Bewegungsvektoren jedes Pixels des bereits decodierten kleinen Blocks eine statistische Meßzahl wie etwa der Maximalwert, der Minimalwert, der Zwischenwert, der Modus oder der Median verwendet werden.
  • Zweite Ausführungsform
  • (1) Bewegungsvektorprädiktions-Codierungsverfahren und Bewegungsvektor-Decodierungsverfahren
  • Im Folgenden werden das Bewegungsvektorprädiktions-Codierungsverfahren und das Bewegungsvektor-Decodierungsverfahren der zweiten Ausführungsform gemäß der vorliegenden Erfindung erläutert. Das vorliegenden Codierungs- und Decodierungsverfahren unterscheiden sich von jenen der ersten Ausführungsform durch eine zusätzliche Operation, in der, falls der Wert des vorhergesagten Vektors, der auf der Grundlage der globalen Bewegungsparameter erhalten wird, nicht innerhalb des Bereichs des lokalen Bewegungsvektors liegt, der vorhergesagte Vektor auf den Minimalwert oder auf den Maximalwert des Bereichs begrenzt wird.
  • (1-1) Bewegungsvektorprädiktions-Codierungsverfahren
  • Im Folgenden wird anhand des Ablaufplans in 5 das Bewegungsvektorprädiktions-Codierungsverfahren der zweiten Ausführungsform erläutert. 5 zeigt einen Ablaufplan, der das Bewegungsvektorprädiktions-Codierungsverfahren der zweiten Ausführungsform erläutert. Gleiche Schritte wie jene in den Operationen des in den 1 gezeigten Bewegungsvektorprädiktions-Codierungsverfahren haben in dieser Figur die gleichen Bezugszeichen erhalten und ihre ausführlichen Erläuterungen werden hier weggelassen.
  • Das wie in 5 gezeigte Bewegungsvektorprädiktions-Codierungsverfahren unterscheidet sich von dem in 1 gezeigten in dem Punkt, dass, nachdem in Schritt S6 der repräsentative Bewegungsvektor berechnet worden ist, bestimmt wird, ob der Wert des berechneten repräsentativen Bewegungsvektors innerhalb eines vorgegebenen Bereichs liegt, und dass dann, wenn der Wert nicht innerhalb des Bereichs liegt, ein Begrenzen des Werts des repräsentativen Bewegungsvektors ausgeführt wird.
  • Das heißt, falls, wie in der ersten Ausführungsform gezeigt worden ist, (i) in Schritt S1 der Bewegungskompensationsmodus des kleinen Zielblocks als das LMC bestimmt worden ist, (ii) in Schritt S2 der Codierungsmodus des bereits codierten kleinen Blocks als der Interbild-Codierungsmodus bestimmt worden ist und (iii) in Schritt S4 der Bewegungskompensationsmodus des bereits codierten kleinen Blocks als das GMC bestimmt worden ist, wird in Schritt S5 der Bewegungsvektor des translatorischen Bewegungsmodells für jedes Pixel des bereits codierten kleinen Blocks auf der Grundlage des globalen Bewegungsvektors GMV berechnet.
  • In dem nächsten Schritt S6 wird der Durchschnitt der (in dem obigen Schritt S5 berechneten) Bewegungsvektoren jedes Pixels des bereits codierten kleinen Blocks berechnet und wird der berechnete Durchschnitt als der repräsentative Bewegungsvektor bestimmt. Wie in dem Bewegungsvektorprädiktions-Codierungsverfahren in der ersten Ausführungsform kann der repräsentative Bewegungsvektor nicht nur der Durchschnitt der Bewegungsvektoren jedes Pixels des bereits codierten kleinen Blocks, sondern auch eine statistische Meßzahl wie etwa der Maximalwert, der Minimalwert, der Zwischenwert, der Modus oder der Median sein.
  • In dem nächsten Schritt S20 wird bestimmt, ob der Wert des in Schritt S6 berechneten repräsentativen Bewegungsvektors innerhalb eines vorgegebenen Bereichs liegt. Falls der Wert nicht innerhalb des Bereichs liegt, geht die Operation zu Schritt S21 über, wo der obige repräsentative Bewegungsvektor begrenzt wird, um zu veranlassen, dass sein Wert innerhalb dieses Bereichs liegt.
  • Es wird hier angenommen, dass der mögliche Bereich für die Darstellung des Bewegungsvektors (z.B. der durch das "fcode" in dem MPEG-4 wie in Liste 1 gezeigt definierte Bereich) von MVmin bis MVmax ist. Falls der Wert des repräsentativen Bewegungsvektors kleiner als MVmin ist, wird der repräsentative Bewegungsvektor begrenzt, damit er den Wert MVmin hat. Falls der Wert des repräsentativen Bewegungsvektors MVmax übersteigt, wird der repräsentative Bewegungsvektor begrenzt, damit er den Wert MVmax hat. Falls z.B. der Bewegungsvektorbereich im Fall von "fcode = 3" (siehe Liste 1), wie in dem MPEG-4 definiert ist, von –64 bis +63,5 ist und der vorhergesagte Vektor vp auf der Grundlage der globalen Bewegungsparameter (xPV, yPV) = (+102, +75) ist, werden diese Werte zwingend in (63,5, 63,5) geändert.
  • Falls in Schritt S20 bestimmt wird, dass der Wert des repräsentativen Bewegungsvektors innerhalb des vorgegebenen Bereichs liegt, wird der in Schritt S6 berechnete repräsentative Bewegungsvektor als vorhergesagter Vektor vp bestimmt.
  • Daraufhin geht die Operation zu Schritt S7 über, wo eine Differenz zwischen dem Bewegungsvektor des kleinen Zielblocks und dem vorhergesagten Vektor (d.h. der Prädiktionsfehler) berechnet wird. Wie in 13 gezeigt ist, wird in dem MPEG-4 auf drei Blöcke wie etwa auf den linken Block, auf den Block unmittelbar darüber und auf den Block diagonal rechts darüber Bezug genommen. Somit werden die Prozesse der Schritte S2-S6, S20, S21 und S7 für jeden Block ausgeführt und wird der Median der drei Kandidatenblöcke als der Prädiktionsfehler bestimmt.
  • Daraufhin geht die Operation zu Schritt S8 über, wo der in Schritt S7 bestimmte Prädiktionsfehler codiert wird, und wird die Codierungsoperation der zweiten Ausführungsform abgeschlossen.
  • (1-2) Bewegungsvektor-Decodierungsverfahren
  • Im Folgenden wird anhand des in 6 gezeigten Ablaufplans das Bewegungsvektor-Decodierungsverfahren der zweiten Ausführungsform erläutert. 6 zeigt den Ablaufplan, der das Bewegungsvektor-Decodierungsverfahren der zweiten Ausführungsform erläutert. In dieser Figur erhalten gleiche Schritte wie jene in den Operationen des wie in 2 gezeigten Bewegungsvektor-Decodierungsverfahrens gleiche Bezugszeichen und werden ihre ausführlichen Erläuterungen weggelassen.
  • Das wie in 6 gezeigte Bewegungsvektor-Decodierungsverfahren unterscheidet sich von dem wie in 2 gezeigten in dem Punkt, dass, nachdem in Schritt S27 der repräsentative Bewegungsvektor berechnet worden ist, bestimmt wird, ob der Wert des berechneten repräsentativen Bewegungsvektors innerhalb eines vorgegebenen Bereichs liegt, und dass dann, wenn der Wert nicht innerhalb des Bereichs liegt, das Begrenzen des Werts des repräsentativen Bewegungsvektors ausgeführt wird.
  • Wie in der ersten Ausführungsform gezeigt worden ist, heißt dass, dass dann, wenn in Schritt S11 der Bewegungskompensationsmodus des kleinen Zielblocks als das LMC bestimmt wird, in Schritt S12 der Prädiktionsfehler decodiert wird. Falls (i) in Schritt S13 der Codierungsmodus des bereits decodierten kleinen Blocks als der Interbild-Codierungsmodus bestimmt wird und (ii) in Schritt S16 der Bewegungskompensationsmodus des bereits decodierten kleinen Blocks das GMC ist, wird der Bewegungsvektor des translatorischen Bewegungsmodells für jedes Pixel des bereits decodierten kleinen Blocks auf der Grundlage des globalen Bewegungsvektors GMV berechnet.
  • In dem nächsten Schritt S17 wird der Durchschnitt der (in dem obigen Schritt S16 berechneten) Bewegungsvektoren jedes Pixels des bereits decodierten kleinen Blocks berechnet und wird der berechnete Durchschnitt als der repräsentative Bewegungsvektor bestimmt. Wie in dem Bewegungsvektor-Decodierungsverfahren in der ersten Ausführungsform kann der repräsentative Bewegungsvektor nicht nur der Durchschnitt der Bewegungsvektoren jedes Pixels des bereits decodierten kleinen Blocks, sondern auch eine statistische Meßzahl wie etwa der Maximalwert, der Minimalwert, der Zwischenwert, der Modus oder der Median sein.
  • In dem nächsten Schritt S22 wird bestimmt, ob der in Schritt S17 berechnete Wert des repräsentativen Bewegungsvektors innerhalb eines vorgegebenen Bereichs liegt. Falls der Wert nicht innerhalb des Bereichs liegt, wird der obige repräsentative Bewegungsvektor begrenzt, um zu veranlassen, dass er innerhalb des Bereichs liegt.
  • Hier wird angenommen, dass der mögliche Bereich für die Darstellung des Bewegungsvektors (z.B. der durch das "fcode" in dem MPEG-4 wie in Liste 1 gezeigt definierte Bereich) von MVmin bis MVmax ist. Falls der Wert des repräsentativen Bewegungsvektors kleiner als MVmin ist, wird der repräsentative Bewegungsvektors begrenzt, damit er den Wert MVmin hat. Falls der Wert des repräsentativen Bewegungsvektors MVmax übersteigt, wird der repräsentative Bewegungsvektor begrenzt, damit er den Wert MVmax hat. Falls der Bewegungsvektorbereich z.B. im Fall von "fcode = 3" (siehe Liste 1), wie in dem MPEG-4 definiert ist, von –64 bis +63,5 ist und der auf der Grundlage der globalen Bewegungspa rameter bestimmte vorhergesagte Vektor vp (xPV, yPV) = (+102, +75) ist, werden diese Werte zwingend in (63,5, 63,5) geändert.
  • Falls in Schritt S22 bestimmt wird, dass der Wert des repräsentativen Bewegungsvektors innerhalb des vorgegebenen Bereichs liegt, wird der in Schritt S17 berechnete repräsentative Bewegungsvektor als vorhergesagter Vektor vp bestimmt.
  • Daraufhin geht die Operation zu Schritt S18 über, wo der Prädiktionsfehler des in Schritt S12 berechneten kleinen Zielblocks und der vorhergesagte Vektor addiert werden. Wie in 13 gezeigt ist, wird in dem MPEG-4 auf drei Blöcke wie etwa auf den linken Block, auf den Block unmittelbar darüber und auf den Block diagonal rechts darüber Bezug genommen. Somit werden für jeden Block die Prozesse der Schritte S12-S17, S22, S23 und S18 ausgeführt und wird der Median der drei Kandidatenblöcke als der vorhergesagte Vektor bestimmt. Daraufhin wird die Decodierungsoperation der zweiten Ausführungsform abgeschlossen.
  • In dem oben beschriebenen Bewegungsvektorprädiktions-Codierungsverfahren und Bewegungsvektor-Decodierungsverfahren verwendet die in Schritt S21 (siehe 5) und in Schritt S23 (siehe 6) ausgeführte Begrenzungsoperation den Maximalwert oder den Minimalwert eines vorgegebenen Bereichs; allerdings kann die Begrenzung bei dem Wert 0 ausgeführt werden.
  • Hier ist angenommen, dass der mögliche Bereich für die Darstellung des Bewegungsvektors von MVmin bis MVmax ist. Falls der Wert des repräsentativen Bewegungsvektors kleiner als MVmin ist, wird der repräsentative Bewegungsvektor begrenzt, damit er den Wert 0 hat. Falls der Wert des repräsentativen Bewegungsvektors MVmax übersteigt, wird der repräsentative Bewegungsvektor ebenfalls begrenzt, damit er den Wert 0 hat. Falls der Bewegungsvektorbereich z.B. im Fall von "fcode = 3" (siehe 1), wie in dem MPEG-4 definiert ist, von –64 bis +63,5 ist und der auf der Grundlage der globalen Bewegungsparameter bestimmte vorhergesagte Vektor vp (xPV, yPV) = (+102, +75) ist, werden diese Werte zwingend in (0, 0) geändert.
  • (2) Bewegungsvektorprädiktions-Codierungsvorrichtung und -Decodierungsvorrichtung
  • (2-1) Bewegungsvektorprädiktions-Codierungsvorrichtung
  • Anhand von 7 wird die Bewegungsvektorprädiktions-Codierungsvorrichtung zum Ausführen der Bewegungsvektorprädiktions-Codierung gemäß dem Bewegungsvektorprädiktions-Codierungsverfahren (siehe 5) der zweiten Ausführungsform erläutert. In 7 tragen gleiche Teile wie jene der in 3 gezeigten Bewegungsvektorprädiktions-Codierungsvorrichtung die gleichen Bezugszeichen und sind ihre Erläuterungen hier weggelassen.
  • Die in 7 gezeigte Bewegungsvektorprädiktions-Codierungsvorrichtung unterscheidet sich von der in 3 in dem Punkt, dass zwischen dem Abschnitt 2 zum Berechnen eines repräsentativen Bewegungsvektors und einem der Eingangsanschlüsse der Auswahleinrichtung 3 ein Abschnitt 20 zum Begrenzen eines repräsentativen Bewegungsvektors vorgesehen ist. Der Abschnitt 20 zum Begrenzen eines repräsentativen Bewegungsvektors bestimmt, ob der Wert des von dem Abschnitt 2 zum Berechnen eines repräsentativen Bewegungsvektors ausgegebene Wert des repräsentativen Bewegungsvektors innerhalb eines vorgegebenen Bereichs liegt. Falls der Wert nicht innerhalb des Bereichs liegt, begrenzt der Begrenzungsabschnitt 20 den Wert eines repräsentativen Bewegungsvektors auf den Maximal- oder Minimalwert des Bereichs.
  • Wenn gemäß der Bewegungsvektorprädiktions-Codierungsvorrichtung mit der oben erläuterten Struktur von dem Abschnitt 2 zum Berechnen eines repräsentativen Bewegungsvektors ein repräsentativer Bewegungsvektor berechnet und ausgegeben wird, d.h., wenn die den Schritten S5 und S6 in 1 und 5 entsprechenden Prozesse in dem Abschnitt 2 zum Berechnen eines repräsentativen Bewegungsvektors ausgeführt werden, wird in dem Abschnitt 20 zum Begrenzen eines repräsentativen Bewegungsvektors bestimmt, ob der Wert des in dem Abschnitt 2 zum Berechnen eines repräsentativen Bewegungsvektors berechneten repräsentativen Bewegungsvektors innerhalb eines vorgegebenen Bereichs liegt (dieser Prozess entspricht Schritt S20 in 5).
  • Falls der Wert des repräsentativen Bewegungsvektors nicht innerhalb des vorgegebenen Bereichs liegt, wird der repräsentative Bewegungsvektor begrenzt, damit er einen Wert innerhalb dieses Bereichs hat (dieser Prozess entspricht Schritt S21 in 5) und wird der repräsentative Bewegungsvektor nach dem Begrenzen an die Auswahleinrichtung 3 ausgegeben. Falls der Wert des repräsentativen Bewegungsvektors innerhalb des vorgegebenen Bereichs liegt, wird in dem Abschnitt 2 zum Berechnen eines repräsentativen Bewegungsvektors der ursprüngliche repräsentative Bewegungsvektor berechnet und in die Auswahleinrichtung 3 ausgegeben.
  • Hier ist angenommen, dass der mögliche Bereich für die Darstellung des Bewegungsvektors (z.B. der durch das "fcode" in dem MPEG-4 wie in Liste 1 gezeigt definierten Bereich) von MVmin bis MVmax ist. Falls der Wert des repräsentativen Bewegungsvektors kleiner als MVmin ist, wird der repräsentative Bewegungsvektor begrenzt, damit er den Wert MVmin hat. Falls der Wert des repräsentativen Bewegungsvektors MVmax übersteigt, wird der repräsentative Bewegungsvektor begrenzt, damit er den Wert MVmax hat. Falls der Bewegungsvektorbereich z.B. im Fall von "fcode = 3" (siehe Liste 1), wie in dem MPEG-4 definiert ist, von –64 bis +63,5 ist und der auf der Grundlage der globalen Bewegungsparameter bestimmte vorhergesagte Vektor vp (xPV, yPV) = (+102, +75) ist, werden diese Werte zwingend in (63,5, 63,5) geändert.
  • Die in dem Abschnitt 20 zum Begrenzen eines repräsentativen Bewegungsvektors ausgeführte Begrenzungsoperation verwendet den Maximal- oder den Minimalwert des vorgegebenen Bereichs; allerdings kann die Begrenzung bei dem Wert 0 ausgeführt werden.
  • Hier ist angenommen, dass der mögliche Bereich für die Darstellung des Bewegungsvektors von MVmin bis MVmax ist. Falls der Wert des repräsentativen Bewegungsvektors kleiner als MVmin ist, wird der repräsentative Bewegungsvektor begrenzt, damit er den Wert 0 hat. Falls der Wert des repräsentativen Bewegungsvektors MVmax übersteigt, wird der repräsentative Bewegungsvektor ebenfalls begrenzt, damit er den Wert 0 hat. Falls der Bewegungsvektorbereich z.B. im Fall von "fcode = 3" (siehe Liste 1), wie in dem MPEG-4 definiert ist, von –64 bis +63,5 ist und der auf der Grundlage der globalen Bewegungsparameter bestimmte vorhergesagte Vektor vp (xPV, yPV) = (+102, +75) ist, werden diese Werte zwingend in (0, 0) geändert.
  • Dementsprechend kann die Bewegungsvektorprädiktions-Codierungsvorrichtung zum Ausführen der Bewegungsvektorprädiktions-Codierung gemäß dem wie in dem Ablaufplan aus 5 gezeigten Bewegungsvektorprädiktions-Codierungsverfahren realisiert werden.
  • (2-2) Bewegungsvektor-Decodierungsvorrichtung
  • Anhand von 8 wird die Bewegungsvektor-Decodierungsvorrichtung zum Ausführen der Bewegungsvektordecodierung gemäß dem Bewegungsvektor-Decodierungsverfahren (siehe 6) der zweiten Ausführungsform erläutert. In 8 tragen gleiche Teile wie jene der in 4 gezeigten Bewegungsvektor-Decodierungsvorrichtung die gleichen Bezugszeichen und ihre Erläuterungen sind hier weggelassen.
  • Die in 8 gezeigte Bewegungsvektor-Decodierungsvorrichtung unterscheidet sich von der in 4 gezeigten in dem Punkt, dass zwischen dem Abschnitt 12 zum Berechnen eines repräsentativen Bewegungsvektors und einem der Eingangsanschlüsse der Auswahlvorrichtung 13 ein Abschnitt 21 zum Begrenzen eines repräsentativen Bewegungsvektors vorgesehen ist. Der Abschnitt 21 zum Begrenzen eines repräsentativen Bewegungsvektors bestimmt, ob der Wert des von dem Abschnitt 12 zum Berechnen eines repräsentativen Bewegungsvektors ausgegebenen repräsentativen Bewegungsvektors innerhalb eines vorgegebenen Bereichs liegt. Falls der Wert nicht innerhalb des Bereichs liegt, begrenzt der Begrenzungsabschnitt 21 den Wert eines repräsentativen Bewegungsvektors auf den Maximal- oder Minimalwert des Bereichs.
  • Wenn gemäß der Bewegungsvektor-Decodierungsvorrichtung mit der oben erläuterten Struktur von dem Abschnitt 12 zum Berechnen eines repräsentativen Bewegungsvektors ein repräsentativer Bewegungsvektor berechnet und ausgegeben wird, d.h., wenn in dem Abschnitt 12 zum Berechnen eines repräsentativen Bewegungsvektors die den Schritten S16 und S17 in 2 und 6 entsprechenden Prozesse ausgeführt werden, wird in dem Abschnitt 21 zum Begrenzen eines repräsentativen Bewegungsvektors bestimmt, ob der Wert des in dem Abschnitt 12 zum Berechnen eines repräsentativen Bewegungsvektors berechneten repräsentativen Bewegungsvektors innerhalb eines vorgegebenen Bereichs liegt (dieser Prozess entspricht Schritt S22 in 6).
  • Falls der Wert des repräsentativen Bewegungsvektors nicht innerhalb des vorgegebenen Bereichs liegt, wird der repräsentative Bewegungsvektor begrenzt, damit er einen Wert innerhalb dieses Bereichs hat (dieser Prozess entspricht Schritt S22 in 6), und wird der repräsentative Bewegungsvektor nach dem Begrenzen an die Auswahleinrichtung 13 ausgegeben. Falls der Wert des repräsentativen Bewegungsvektors innerhalb des vorgegebenen Bereichs liegt, wird an die Auswahleinrichtung 13 der in dem Abschnitt 12 zum Berechnen eines repräsentativen Bewegungsvektors berechnete ursprüngliche repräsentative Bewegungsvektor ausgegeben.
  • Hier ist angenommen, dass der mögliche Bereich für die Darstellung des Bewegungsvektors (z.B. der durch das "fcode" in dem MPEG-4 wie in Liste 1 gezeigt definierte Bereich) von MVmin bis MVmax ist. Falls der Wert des repräsentativen Bewegungsvektors kleiner als MVmin ist, wird der repräsentative Bewegungsvektor begrenzt, damit er den Wert MVmin hat. Falls der Wert des repräsentativen Bewegungsvektors MVmax übersteigt, wird der repräsentative Bewegungsvektor begrenzt, damit er den Wert MVmax hat. Falls der Bewegungsvektorbereich z.B. im Fall von "fcode = 3" (siehe Liste 1), wie in dem MPEG-4 definiert ist, von –64 bis +63,5 ist und der auf der Grundlage der globalen Bewegungsparameter bestimmte vorhergesagte Vektor vp (xPV, yPV) = (+102, +75) ist, werden diese Werte zwingend in (63,5, 63,5) geändert.
  • Die in dem Abschnitt 21 zum Begrenzen eines repräsentativen Bewegungsvektors ausgeführte Begrenzungsoperation verwendet den Maximal- oder den Minimalwert des vorgegebenen Bereichs; allerdings kann die Begrenzung bei dem Wert 0 ausgeführt werden.
  • Hier ist angenommen, dass der mögliche Bereich für die Darstellung des Bewegungsvektors von MVmin bis MVmax ist. Falls der Wert des repräsentativen Bewegungsvektors kleiner als MVmin ist, wird der repräsentative Bewegungsvektor begrenzt, damit er den Wert 0 hat. Falls der Wert des repräsentativen Bewegungsvektors MVmax übersteigt, wird der repräsentative Bewegungsvektor ebenfalls begrenzt, damit er den Wert 0 hat. Falls der Bewegungsvektorbereich z.B. im Fall von "fcode = 3" (siehe Liste 1), wie in dem MPEG-4 definiert ist, von –64 bis +63,5 ist und der auf der Grundlage der globalen Bewegungsparameter bestimmte vorhergesagte Vektor vp (xPV, yPV) = (+102, +75) ist, werden diese Werte zwingend in (0, 0) geändert.
  • Dementsprechend kann die Bewegungsvektor-Decodierungsvorrichtung zum Ausführen der Bewegungsvektordecodierung gemäß dem wie in dem Ablaufplan aus 6 gezeigten Bewegungsvektor-Decodierungsverfahren realisiert werden.
  • In der obigen ersten und zweiten Ausführungsform können Programme zum Ausführen der folgenden Operationen in einem computerlesbaren Speichermedium wie etwa einer CD-ROM oder einer Diskette gespeichert sein, wobei jedes in dem Speichermedium gespeicherte Programm durch einen Computer geladen und ausgeführt werden kann, um die Bewegungsvektorprädiktions-Codierung auszuführen: die Bewegungsvektorprädiktions-Codierungsoperationen, wie sie in den Ablaufplänen aus 1 und 5 gezeigt sind, und die Operationen des Bewegungsvektorspeichers 1, des Abschnitts 2 zum Berechnen eines repräsentativen Bewegungsvektors, der Auswahleinrichtung 3, des Subtrahierers 4, der Bewegungsvektor-Codierungsabschnitte 5 und 6 in dem Blockschaltplan aus 3 und des Abschnitts 20 zum Begrenzen eines repräsentativen Bewegungsvektors in dem Blockschaltplan aus 7.
  • Ähnlich können zum Ausführen der Bewegungsvektordecodierung Programme zum Ausführen der folgenden Operationen in einem computerlesbaren Speichermedium wie etwa einer CD-ROM oder eine Diskette gespeichert sein, wobei jedes in dem Speichermedium gespeicherte Programm durch einen Computer geladen und ausgeführt werden kann: die Bewegungsvektor-Decodierungsoperationen, wie sie in den Ablaufplänen aus 2 und 6 gezeigt sind, und die Operationen der Bewegungsvektor-Decodierungsabschnitte 10 und 11, des Abschnitts 12 zum Berechnen eines repräsentativen Bewegungsvektors, der Auswahleinrichtung 13, des Bewegungsvektorspeichers 14, des Addierers 15 und des Abschnitts 21 zum Begrenzen eines repräsentativen Bewegungsvektors in dem Blockschaltplan aus 8.
  • Die vorliegende Erfindung ist nicht auf die oben beschriebenen Ausführungsformen beschränkt, sondern im Umfang der beanspruchten Erfindung sind verschiedene Änderungen und Anwendungen möglich.

Claims (40)

  1. Bewegungsvektorprädiktions-Codierungsverfahren, bei dem ein zu codierender Zielrahmen in kleine Zielblöcke unterteilt wird und auf jeden zu codierenden kleinen Zielblock ein Bewegungskompensationsverfahren angewendet wird, ein Bewegungsvektor eines kleinen Zielblocks auf der Grundlage eines Bewegungsvektors von bereits codierten kleinen Blöcken vorhergesagt und berechnet wird (S7), um einen vorhergesagten Vektor zu erzeugen, und ein Prädiktionsfehler des Bewegungsvektors codiert wird, dadurch gekennzeichnet, dass dann, wenn das Bewegungskompensationsverfahren, das für den kleinen Zielblock verwendet wird, ein lokales Bewegungskompensationsverfahren (LMV) ist und das Bewegungskompensationsverfahren, das für die bereits codierten kleinen Blöcke für die Prädiktion verwendet wird, ein globales Bewegungskompensationsverfahren (GMC) ist, der Bewegungsvektor des kleinen Zielblocks dadurch vorhergesagt wird, dass ein globaler Bewegungsvektor, der in dem globalen Bewegungskompensationsverfahren verwendet und aus den bereits codierten kleinen Blöcken für die Prädiktion erhalten wird, in einen lokalen Bewegungsvektor, der in dem lokalen Bewegungskompensationsverfahren verwendet wird, um den vorhergesagten Vektor zu erzeugen, umgesetzt wird, der vorhergesagte Vektor auf einen Wert innerhalb eines vorgegebenen Bereichs begrenzt wird (S21), falls er nicht innerhalb des vorgegebenen Bereichs liegt, und der Prädiktionsfehler des Bewegungsvektors unter Verwendung des begrenzten Prädiktionsvektors bereitgestellt wird.
  2. Bewegungsvektorprädiktions-Codierungsverfahren nach Anspruch 1, bei dem der Wert des vorhergesagten Vektors dann, wenn er in Bezug auf den Bewegungsvektor des kleinen Zielblocks nicht innerhalb des vorgegebenen Bereichs liegt, auf 0 gesetzt wird.
  3. Bewegungsvektor-Decodierungsverfahren zum Decodieren eines Bewegungsvektors, der unter Verwendung eines Bewegungsvektorprädiktions-Codierungsverfahrens codiert wurde, bei dem ein zu codierender Zielrahmen in kleine Zielblöcke codiert wird und auf jeden zu codierenden kleinen Zielblock ein Bewegungskompensationsverfahren angewendet wird, ein Bewegungsvektor des kleinen Zielblocks auf der Grundlage eines Bewegungsvektors von bereits codierten kleinen Blöcken vorhergesagt und berechnet wird (S17), um einen vorhergesagten Vektor zu erzeugen, und ein Prädiktionsfehler des Bewegungsvektors codiert wird, dadurch gekennzeichnet, dass dann, wenn das für die kleinen Zielblöcke verwendete Bewegungskompensationsverfahren das lokale Bewegungskompensationsverfahren (LMV) ist und das für die bereits codierten kleinen Blöcke verwendete Bewegungskompensationsverfahren für die Prädiktion das globale Bewegungskompensationsverfahren (GMC) ist, der Bewegungsvektor des bereits decodierten kleinen Blocks dadurch vorhergesagt wird, dass ein globaler Bewegungsvektor, der in dem globalen Bewegungskompensationsverfahren verwendet und aus den bereits codierten kleinen Blöcken erhalten wird, in einen lokalen Bewegungsvektor, der in dem lokalen Bewegungskompensationsverfahren verwendet wird, um den vorhergesagten Vektor zu erzeugen, umgesetzt wird, der vorhergesagte Bewegungsvektor auf einen vorgegebenen Wert begrenzt wird (S23), falls er nicht innerhalb des vorgegebenen Bereichs liegt, der Prädiktionsfehler des Bewegungsvektors unter Verwendung des begrenzten Bewegungsvektors bereitgestellt wird und der Bewegungsvektor durch Addieren des Prädiktionsfehlers zu dem vorhergesagten Vektor decodiert wird (S18).
  4. Bewegungsvektor-Decodierungsverfahren nach Anspruch 3, bei dem der vorhergesagte Vektor dann, wenn sein Wert nicht innerhalb eines vorgegebenen Bereichs liegt, begrenzt wird, damit er einen Wert innerhalb des vorgegebenen Bereichs hat.
  5. Bewegungsvektor-Decodierungsverfahren nach Anspruch 3, bei dem der Wert des vorhergesagten Vektors dann, wenn er nicht innerhalb eines vorgegebenen Bereichs liegt, auf 0 gesetzt wird.
  6. Bewegungsvektorprädiktions-Codierungsverfahren nach Anspruch 1, bei dem dann, wenn der Bewegungsvektor des kleinen Blocks in irgendeinem Bewegungsmodell in einen Bewegungsvektor in einem weiteren Bewegungsmodell, das weniger Parameter in Bezug auf den Bewegungsvektor als das obige Bewegungsmodell besitzt, umgesetzt wird, ein repräsentativer Bewegungsvektor des kleinen Blocks auf der Grundlage des Bewegungsvektors in dem anderen Bewegungsmodell, das für jedes Pixel in dem kleinen Block bestimmt wird, berechnet wird.
  7. Bewegungsvektorprädiktions-Codierungsverfahren nach Anspruch 2, bei dem dann, wenn der Bewegungsvektor des kleinen Blocks in irgendeinem Bewegungsmodell in einen Bewegungsvektor in einem weiteren Bewegungsmodell, das weniger Parameter in Bezug auf den Bewegungsvektor als das obige Bewegungsmodell hat, umgesetzt wird, ein repräsentativer Bewegungsvektor des kleinen Blocks auf der Grundlage des Bewegungsvektors in dem anderen Bewegungsmodell, das für jedes Pixel in dem kleinen Block bestimmt wird, berechnet wird.
  8. Bewegungsvektor-Decodierungsverfahren nach Anspruch 3, bei dem dann, wenn der Bewegungsvektor des kleinen Blocks in irgendeinem Bewegungsmodell in einen Bewegungsvektor in einem weiteren Bewegungsmodell, das weniger Parameter in Bezug auf den Bewegungsvektor als das obige Bewegungsmodell besitzt, umgesetzt wird, ein repräsentativer Bewegungsvektor des kleinen Blocks auf der Grundlage des Bewegungsvektors in dem anderen Bewegungsmodell, das für jedes Pixel in dem kleinen Block bestimmt wird, berechnet wird.
  9. Bewegungsvektor-Decodierungsverfahren nach Anspruch 4, bei dem dann, wenn der Bewegungsvektor des kleinen Blocks in irgendeinem Bewegungsmodell in einen Bewegungsvektor in einem weiteren Bewegungsmodell, das weniger Parameter in Bezug auf den Bewegungsvektor als das obige Bewegungsmodell besitzt, umgesetzt wird, ein repräsentativer Bewegungsvektor des kleinen Blocks auf der Grundlage des Bewegungsvektors in dem anderen Bewegungsmodell, das für jedes Pixel in dem kleinen Block bestimmt wird, berechnet wird.
  10. Bewegungsvektor-Decodierungsverfahren nach Anspruch 5, bei dem dann, wenn der Bewegungsvektor des kleinen Blocks in irgendeinem Bewegungsmodell in einen Bewegungsvektor in einem weiteren Bewegungsmodell, das weniger Parameter in Bezug auf den Bewegungsvektor als das obige Bewegungsmodell besitzt, umgesetzt wird, ein repräsentativer Bewegungsvektor des kleinen Blocks auf der Grundlage des Bewegungsvektors des anderen Bewegungsmodells, das für jedes Pixel in dem kleinen Block bestimmt wird, berechnet wird.
  11. Bewegungsvektorprädiktions-Codierungsverfahren nach Anspruch 1, bei dem dann, wenn der Bewegungsvektor des kleinen Blocks in irgendeinem Bewegungsmodell in irgendeinem Bewegungsvektor in einem translatorischen Bewegungsmodell umgesetzt wird, ein repräsentativer Bewegungsvektor des kleinen Blocks auf der Grundlage des Bewegungsvektors in dem translatorischen Bewegungsmodell, das für jedes Pixel in dem kleinen Block bestimmt wird, berechnet wird.
  12. Bewegungsvektorprädiktions-Codierungsverfahren nach Anspruch 2, bei dem dann, wenn der Bewegungsvektor des kleinen Blocks in irgendeinem Bewegungsmodell in irgendeinem Bewegungsvektor in einem translatorischen Bewegungsmodell umgesetzt wird, ein repräsentativer Bewegungsvektor des kleinen Blocks auf der Grundlage des Bewegungsvektors in dem translatorischen Bewegungsmodell, das für jedes Pixel in dem kleinen Block bestimmt wird, berechnet wird.
  13. Bewegungsvektor-Decodierungsverfahren nach Anspruch 3, bei dem dann, wenn der Bewegungsvektor des kleinen Blocks in irgendeinem Bewegungsmodell in irgendeinem Bewegungsvektor in einem translatorischen Bewegungsmodell umgesetzt wird, ein repräsentativer Bewegungsvektor des kleinen Blocks auf der Grundlage des Bewegungsvektors in dem translatorischen Bewegungsmodell, das für jedes Pixel in dem kleinen Block bestimmt wird, berechnet wird.
  14. Bewegungsvektor-Decodierungsverfahren nach Anspruch 4, bei dem dann, wenn der Bewegungsvektor des kleinen Blocks in irgendeinem Bewegungsmodell in irgendeinem Bewegungsvektor in einem translatorischen Bewegungsmodell umgesetzt wird, ein repräsentativer Bewegungsvektor des kleinen Blocks auf der Grundlage des Bewegungsvektors in dem translatorischen Bewegungsmodell, das für jedes Pixel in dem kleinen Block bestimmt wird, berechnet wird.
  15. Bewegungsvektor-Decodierungsverfahren nach Anspruch 5, bei dem dann, wenn der Bewegungsvektor des kleinen Blocks in irgendeinem Bewegungsmodell in irgendeinem Bewegungsvektor in einem translatorischen Bewegungsmodell umgesetzt wird, ein repräsentativer Bewegungsvektor des kleinen Blocks auf der Grundlage des Bewegungsvektors in dem translatorischen Bewegungsmodell, das für jedes Pixel in dem kleinen Block bestimmt wird, berechnet wird.
  16. Bewegungsvektorprädiktions-Codierungsverfahren nach Anspruch 11, bei dem bei der Berechnung des repräsentativen Bewegungsvektors jede Komponente des repräsentativen Bewegungsvektors auf einen der folgenden Werte gesetzt wird: Mittelwert, Zwischenwert, Median, Modus, Maximalwert oder Mini malwert, der für jede Komponente des Bewegungsvektors in dem translatorischen Bewegungsmodell jedes Pixels in dem kleinen Block berechnet wird.
  17. Bewegungsvektorprädiktions-Codierungsverfahren nach Anspruch 12, bei dem bei der Berechnung des repräsentativen Bewegungsvektors jede Komponente des repräsentativen Bewegungsvektors auf einen der folgenden Werte gesetzt wird: Mittelwert, Zwischenwert, Median, Modus, Maximalwert oder Minimalwert, der für jede Komponente des Bewegungsvektors in dem translatorischen Bewegungsmodell jedes Pixels in dem kleinen Block berechnet wird.
  18. Bewegungsvektor-Decodierungsverfahren nach Anspruch 13, bei dem bei der Berechnung des repräsentativen Bewegungsvektors jede Komponente des repräsentativen Bewegungsvektors auf einen der folgenden Werte gesetzt wird: Mittelwert, Zwischenwert, Median, Modus, Maximalwert oder Minimalwert, der für jede Komponente des Bewegungsvektors in dem translatorischen Bewegungsmodell jedes Pixels in dem kleinen Block berechnet wird.
  19. Bewegungsvektor-Decodierungsverfahren nach Anspruch 14, bei dem bei der Berechnung des repräsentativen Bewegungsvektors jede Komponente des repräsentativen Bewegungsvektors auf einen der folgenden Werte gesetzt wird: Mittelwert, Zwischenwert, Median, Modus, Maximalwert oder Minimalwert, der für jede Komponente des Bewegungsvektors in dem translatorischen Bewegungsmodell jedes Pixels in dem kleinen Block berechnet wird.
  20. Bewegungsvektor-Decodierungsverfahren nach Anspruch 15, bei dem bei der Berechnung des repräsentativen Bewegungsvektors jede Komponente des repräsentativen Bewegungsvektors auf einen der folgenden Werte gesetzt wird: Mittelwert, Zwischenwert, Median, Modus, Maximalwert oder Minimalwert, der für jede Komponente des Bewegungsvektors in dem translatorischen Bewegungsmodell jedes Pixels in dem kleinen Block berechnet wird.
  21. Computerlesbares Speichermedium, das ein Bewegungsvektorprädiktions-Codierungsprogramm speichert, um ein Bewegungsvektorprädiktions-Codierungsprogramm auszuführen, bei dem ein zu codierender Zielrahmen in kleine Blöcke unterteilt wird und auf jeden zu codierenden kleinen Zielblock ein Bewegungskompensationsverfahren angewendet wird, ein Bewegungsvektor eines kleinen Zielblocks auf der Grundlage eines Bewegungsvektors von bereits codierten kleinen Blöcken vorhergesagt und berechnet wird, um einen vorhergesagten Vektor zu erzeugen, und ein Prädiktionsfehler des Bewegungsvektors codiert wird, wobei das Codierungsprogramm dadurch gekennzeichnet ist, dass es dann, wenn das Bewegungskompensationsverfahren, das für den kleinen Zielblock verwendet wird, ein lokales Bewegungskompensationsverfahren (LMV) ist und das Bewegungskompensationsverfahren, das für die bereits codierten kleinen Blöcke für die Prädiktion verwendet wird, ein globales Bewegungskompensationsverfahren (GMC) ist, die folgenden Schritte umfasst: Berechnen eines vorhergesagten Bewegungsvektors des kleinen Zielblocks durch Umsetzen eines globalen Bewegungsvektors, der in dem globalen Bewegungskompensationsverfahren verwendet und aus den bereits codierten kleinen Blöcken für die Prädiktion erhalten wird, in einen lokalen Bewegungsvektor; Begrenzen des vorhergesagten Vektors, damit er einen Wert innerhalb eines vorgegebenen Bereichs hat, falls sein Wert nicht in dem vorgegebenen Bereich liegt, und Bereitstellen des Prädiktionsfehlers des Bewegungsvektors unter Verwendung des begrenzten Bewegungsvektors.
  22. Computerlesbares Speichermedium, das ein Bewegungsvektorprädiktions-Codierungsprogramm speichert, nach Anspruch 21, das den folgenden Schritt umfasst: Setzen des Wertes des vorhergesagten Vektors in Bezug auf den Bewegungsvektor des kleinen Zielblocks auf 0, falls der Wert nicht innerhalb des vorgegebenen Bereichs liegt.
  23. Computerlesbares Speichermedium, das ein Bewegungsvektor-Decodierungsprogramm speichert, um den Bewegungsvektor zu decodieren, der durch Ausführen eines Bewegungsvektorprädiktions-Codierungsprogramms codiert wurde, bei dem ein zu codierender Zielrahmen in kleine Zielblöcke unterteilt wird und auf jeden zu codierenden kleinen Zielblock ein Bewegungskompensationsverfahren angewendet wird, ein Bewegungsvektor des kleinen Zielblocks auf der Grundlage eines Bewegungsvektors von bereits codierten kleinen Blöcken vorhergesagt und berechnet wird, um einen vorhergesagten Vektor zu erzeugen, und ein Prädiktionsfehler des Bewegungsvektors codiert wird, wobei das Decodierungsprogramm dadurch gekennzeichnet ist, dass es dann, wenn das Bewegungskompensationsverfahren, das für die kleinen Zielblöcke verwendet wird, das lokale Bewegungskompensationsverfahren (LMV) ist und das Bewegungskompensationsverfahren, das für die bereits codierten kleinen Blöcke für die Prädiktion verwendet wird, das globale Bewegungskompensationsverfahren (GMC) ist, die folgenden Schritte umfasst: Berechnen (S17) eines vorhergesagten Vektors in Bezug auf den Bewegungsvektor des kleinen Zielblocks; Begrenzen (S23) des vorhergesagten Vektors auf einen vorgegebenen Wert, falls er nicht in dem vorgegebenen Bereich liegt; Bereitstellen des Prädiktionsfehlers des Bewegungsvektors unter Verwendung des begrenzten Bewegungsvektors; und Decodieren des Bewegungsvektors durch Addieren des Prädiktionsfehlers zu dem vorhergesagten Vektor (S18).
  24. Computerlesbares Speichermedium, das ein Bewegungsvektor-Decodierungsprogramm speichert, nach Anspruch 23, das den folgenden Schritt umfasst: Begrenzen des vorhergesagten Vektors, damit er einen Wert innerhalb eines vorgegebenen Bereichs hat, falls der Wert des vorhergesagten Vektors nicht innerhalb des vorhergesagten Bereichs liegt.
  25. Computerlesbares Speichermedium, das ein Bewegungsvektor-Decodierungsprogramm speichert, nach Anspruch 23, das den folgenden Schritt umfasst: Setzen des Wertes des vorhergesagten Vektors auf 0, falls der Wert nicht innerhalb eines vorgegebenen Bereichs liegt.
  26. Computerlesbares Speichermedium, das ein Bewegungsvektorprädiktions-Codierungsprogramm speichert, nach Anspruch 21, das den folgenden Schritt umfasst: Berechnen eines repräsentativen Bewegungsvektors des kleinen Blocks, wenn der Bewegungsvektor des kleinen Blocks in irgendeinem Bewegungsmodell in einen Bewegungsvektor in einem weiteren Bewegungsmodell, das weniger Parameter des Bewegungsvektors als das obige Bewegungsmodell besitzt, umgesetzt wird, wobei der repräsentative Bewegungsvektor auf der Grundlage des Bewegungsvektors in dem anderen Bewegungsmodell, das für jedes Pixel in dem kleinen Block bestimmt wird, berechnet wird.
  27. Computerlesbares Speichermedium, das ein Bewegungsvektorprädiktions-Codierungsprogramm nach Anspruch 22 speichert, das den folgenden Schritt umfasst: Berechnen eines repräsentativen Bewegungsvektors des kleinen Blocks, wenn der Bewegungsvektor des kleinen Blocks in irgendeinem Bewegungsmodell in einen Bewegungsvektor in einem weiteren Bewegungsmodell, das weniger Parameter des Bewegungsvektors als das obige Bewegungsmodell besitzt, umgesetzt wird, wobei der repräsentative Bewegungsvektor auf der Grundlage des Bewegungsvektors in dem anderen Bewegungsmodell, das für jedes Pixel in dem kleinen Block bestimmt wird, berechnet wird.
  28. Computerlesbares Speichermedium, das ein Bewegungsvektor-Decodierungsprogramm speichert, nach Anspruch 23, das den folgenden Schritt umfasst: Berechnen eines repräsentativen Bewegungsvektors des kleinen Blocks, wenn der Bewegungsvektor des kleinen Blocks in irgendeinem Bewegungsmodell in einen Bewegungsvektor in einem weiteren Bewegungsmodell, das weniger Parameter des Bewegungsvektors als das obige Bewegungsmodell besitzt, umgesetzt wird, wobei der repräsentative Bewegungsvektor auf der Grundlage des Bewegungsvektors in dem anderen Bewegungsmodell, das für jedes Pixel in dem kleinen Block bestimmt wird, berechnet wird.
  29. Computerlesbares Speichermedium, das ein Bewegungsvektor-Decodierungsprogramm speichert, nach Anspruch 24, das den folgenden Schritt umfasst: Berechnen eines repräsentativen Bewegungsvektors des kleinen Blocks, wenn der Bewegungsvektor des kleinen Blocks in irgendeinem Bewegungsmodell in einen Bewegungsvektor in einem weiteren Bewegungsmodell, das weniger Parameter des Bewegungsvektors als das obige Bewegungsmodell besitzt, umgesetzt wird, wobei der repräsentative Bewegungsvektor auf der Grundlage des Bewegungsvektors in dem anderen Bewegungsmodell, das für jedes Pixel in dem kleinen Block bestimmt wird, berechnet wird.
  30. Computerlesbares Speichermedium, das ein Bewegungsvektor-Decodierungsprogramm speichert, nach Anspruch 25, das den folgenden Schritt umfasst: Berechnen eines repräsentativen Bewegungsvektors des kleinen Blocks, wenn der Bewegungsvektor des kleinen Blocks in irgendeinem Bewegungsmodell in einen Bewegungsvektor in einem weiteren Bewegungsmodell, das weniger Parameter des Bewegungsvektors als das obige Bewegungsmodell besitzt, umgesetzt wird, wobei der repräsentative Bewegungsvektor auf der Grundlage des Bewegungsvektors in dem anderen Bewegungsmodell, das für jedes Pixel in dem kleinen Block bestimmt wird, berechnet wird.
  31. Computerlesbares Speichermedium, das ein Bewegungsvektorprädiktions-Codierungsprogramm speichert, nach Anspruch 21, das den folgenden Schritt umfasst: Berechnen eines repräsentativen Bewegungsvektors des kleinen Blocks, wenn der Bewegungsvektor des kleinen Blocks in irgendeinem Bewegungsmodell in einen Bewegungsvektor in einem translatorischen Bewegungsmodell umgesetzt wird, wobei der repräsentative Bewegungsvektor auf der Grundlage des Bewegungsvektors in dem translatorischen Bewegungsmodell, das für jedes Pixel in dem kleinen Block bestimmt wird, berechnet wird.
  32. Computerlesbares Speichermedium, das ein Bewegungsvektorprädiktions-Codierungsprogramm speichert, nach Anspruch 22, das den folgenden Schritt umfasst: Berechnen eines repräsentativen Bewegungsvektors des kleinen Blocks, wenn der Bewegungsvektor des kleinen Blocks in irgendeinem Bewegungsmodell in einen Bewegungsvektor in einem translatorischen Bewegungsmodell umgesetzt wird, wobei der repräsentative Bewegungsvektor auf der Grundlage des Bewegungsvektors in dem translatorischen Bewegungsmodell, das für jedes Pixel in dem kleinen Block bestimmt wird, berechnet wird.
  33. Computerlesbares Speichermedium, das ein Bewegungsvektor-Decodierungsprogramm speichert, nach Anspruch 23, das den folgenden Schritt umfasst: Berechnen eines repräsentativen Bewegungsvektors des kleinen Blocks, wenn der Bewegungsvektor des kleinen Blocks in irgendeinem Bewegungsmodell in einen Bewegungsvektor in einem translatorischen Bewegungsmodell umgesetzt wird, wobei der repräsentative Bewegungsvektor auf der Grundlage des Bewegungsvektors in dem translatorischen Bewegungsmodell, das für jedes Pixel in dem kleinen Block bestimmt wird, berechnet wird.
  34. Computerlesbares Speichermedium, das ein Bewegungsvektor-Decodierungsprogramm speichert, nach Anspruch 24, das den folgenden Schritt umfasst: Berechnen eines repräsentativen Bewegungsvektors des kleinen Blocks, wenn der Bewegungsvektor des kleinen Blocks in irgendeinem Bewegungsmodell in einen Bewegungsvektor in einem translatorischen Bewegungsmodell umgesetzt wird, wobei der repräsentative Bewegungsvektor auf der Grundlage des Bewegungsvektors in dem translatorischen Bewegungsmodell, das für jedes Pixel in dem kleinen Block bestimmt wird, berechnet wird.
  35. Computerlesbares Speichermedium, das ein Bewegungsvektor-Decodierungsprogramm speichert, nach Anspruch 25, das den folgenden Schritt umfasst: Berechnen eines repräsentativen Bewegungsvektors des kleinen Blocks, wenn der Bewegungsvektor des kleinen Blocks in irgendeinem Bewegungsmodell in einen Bewegungsvektor in einem translatorischen Bewegungsmodell umgesetzt wird, wobei der repräsentative Bewegungsvektor auf der Grundlage des Bewegungsvektors in dem translatorischen Bewegungsmodell, das für jedes Pixel in dem kleinen Block bestimmt wird, berechnet wird.
  36. Computerlesbares Speichermedium, das ein Bewegungsvektorprädiktions-Codierungsprogramm speichert, nach Anspruch 31, das den folgenden Schritt umfasst: Berechnen des repräsentativen Bewegungsvektors durch Setzen jeder seiner Komponenten auf einen der folgenden Werte: Durchschnitt, Zwischenwert, Median, Modus, Maximalwert und Minimalwert, der für jede Komponente des Bewegungsvektors in dem translatorischen Bewegungsmodell jedes Pixels in dem kleinen Block berechnet wird.
  37. Computerlesbares Speichermedium, das ein Bewegungsvektorprädiktions-Codierungsprogramm speichert, nach Anspruch 32, das den folgenden Schritt umfasst: Berechnen des repräsentativen Bewegungsvektors durch Setzen jeder seiner Komponenten auf einen der folgenden Werte: Durchschnitt, Zwischenwert, Median, Modus, Maximalwert und Minimalwert, der für jede Komponente des Bewegungsvektors in dem translatorischen Bewegungsmodell jedes Pixels in dem kleinen Block berechnet wird.
  38. Computerlesbares Speichermedium, das ein Bewegungsvektor-Decodierungsprogramm speichert, nach Anspruch 33, das den folgenden Schritt umfasst: Berechnen des repräsentativen Bewegungsvektors durch Setzen jeder seiner Komponenten auf einen der folgenden Werte: Durchschnitt, Zwischenwert, Median, Modus, Maximalwert und Minimalwert, der für jede Komponente des Bewegungsvektors in dem translatorischen Bewegungsmodell jedes Pixels in dem kleinen Block berechnet wird.
  39. Computerlesbares Speichermedium, das ein Bewegungsvektor-Decodierungsprogramm speichert, nach Anspruch 34, das den folgenden Schritt umfasst: Berechnen des repräsentativen Bewegungsvektors durch Setzen jeder seiner Komponenten auf einen der folgenden Werte: Durchschnitt, Zwischenwert, Median, Modus, Maximalwert und Minimalwert, der für jede Komponente des Bewegungsvektors in dem translatorischen Bewegungsmodell jedes Pixels in dem kleinen Block berechnet wird.
  40. Computerlesbares Speichermedium, das ein Bewegungsvektor-Decodierungsprogramm speichert, nach Anspruch 35, das den folgenden Schritt umfasst: Berechnen des repräsentativen Bewegungsvektors durch Setzen jeder seiner Komponenten auf einen der folgenden Werte: Durchschnitt, Zwischenwert, Median, Modus, Maximalwert und Minimalwert, der für jede Komponente des Bewegungsvektors in dem translatorischen Bewegungsmodell jedes Pixels in dem kleinen Block berechnet wird.
DE69838281T 1997-06-25 1998-06-25 Bewegungsprädiktives bildkodierungsverfahren sowie speichermedium zur speicherung des entsprechenden programms Expired - Lifetime DE69838281T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP16894797 1997-06-25
JP16894797 1997-06-25
JP18998597 1997-07-15
JP18998597 1997-07-15
PCT/JP1998/002839 WO1998059496A1 (en) 1997-06-25 1998-06-25 Moving vector predictive coding method and moving vector decoding method, predictive coding device and decoding device, and storage medium stored with moving vector predictive coding program and moving vector decoding program

Publications (2)

Publication Number Publication Date
DE69838281D1 DE69838281D1 (de) 2007-10-04
DE69838281T2 true DE69838281T2 (de) 2008-05-15

Family

ID=26492456

Family Applications (2)

Application Number Title Priority Date Filing Date
DE69838281T Expired - Lifetime DE69838281T2 (de) 1997-06-25 1998-06-25 Bewegungsprädiktives bildkodierungsverfahren sowie speichermedium zur speicherung des entsprechenden programms
DE69841029T Expired - Lifetime DE69841029D1 (de) 1997-06-25 1998-06-25 Bewegungsprädiktive Bildkodierungs- und Bilddekodierungsvorrichtung

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE69841029T Expired - Lifetime DE69841029D1 (de) 1997-06-25 1998-06-25 Bewegungsprädiktive Bildkodierungs- und Bilddekodierungsvorrichtung

Country Status (4)

Country Link
EP (2) EP0921688B1 (de)
CA (1) CA2263855C (de)
DE (2) DE69838281T2 (de)
WO (1) WO1998059496A1 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100359115B1 (ko) 2000-05-24 2002-11-04 삼성전자 주식회사 영상 코딩 방법
JP3681342B2 (ja) 2000-05-24 2005-08-10 三星電子株式会社 映像コーディング方法
GB2374479B (en) * 2001-04-12 2005-05-04 Snell & Wilcox Ltd Video signal processing
US7050500B2 (en) * 2001-08-23 2006-05-23 Sharp Laboratories Of America, Inc. Method and apparatus for motion vector coding with global motion parameters
JP2004088722A (ja) 2002-03-04 2004-03-18 Matsushita Electric Ind Co Ltd 動画像符号化方法および動画像復号化方法
AU2003235174A1 (en) 2002-04-19 2003-11-03 Matsushita Electric Industrial Co., Ltd Method for calculating motion vector
CN101990761B (zh) * 2008-04-01 2013-01-09 佳能株式会社 运动图像编码设备和运动图像编码方法
KR20120088488A (ko) 2011-01-31 2012-08-08 한국전자통신연구원 시간적 움직임 벡터 저장 방법 및 그 장치
US9762904B2 (en) 2011-12-22 2017-09-12 Qualcomm Incorporated Performing motion vector prediction for video coding
CN103379323A (zh) * 2012-04-16 2013-10-30 乐金电子(中国)研究开发中心有限公司 一种先进运动矢量预测amvp的并行实现方法、装置及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE68922610T2 (de) * 1989-09-25 1996-02-22 Rai Radiotelevisione Italiana Umfassendes System zur Codierung und Übertragung von Videosignalen mit Bewegungsvektoren.
US5317397A (en) * 1991-05-31 1994-05-31 Kabushiki Kaisha Toshiba Predictive coding using spatial-temporal filtering and plural motion vectors
US5235419A (en) * 1991-10-24 1993-08-10 General Instrument Corporation Adaptive motion compensation using a plurality of motion compensators
KR0148154B1 (ko) * 1994-06-15 1998-09-15 김광호 움직임크기에 따른 동영상데이타의 부호화방법 및 장치
JPH08228351A (ja) * 1995-02-20 1996-09-03 Nippon Telegr & Teleph Corp <Ntt> 動画像の動き補償予測符号化方法
JPH0984017A (ja) * 1995-09-14 1997-03-28 Nippon Telegr & Teleph Corp <Ntt> 動画像の動き補償予測符号化方法

Also Published As

Publication number Publication date
EP0921688A1 (de) 1999-06-09
EP0921688B1 (de) 2007-08-22
EP0921688A4 (de) 2002-09-18
EP1819173A1 (de) 2007-08-15
WO1998059496A1 (en) 1998-12-30
CA2263855A1 (en) 1998-12-30
DE69841029D1 (de) 2009-09-10
CA2263855C (en) 2003-04-01
DE69838281D1 (de) 2007-10-04
EP1819173B1 (de) 2009-07-29

Similar Documents

Publication Publication Date Title
DE19734882C2 (de) Verfahren zum Kodieren von Bewegungsvektoren bei Filmaufnahmen
DE69313692T2 (de) Kodierung und Dekodierung zur Videokompression mit automatischer Halbbild/Bild Bewegungskompensation auf der Subpixelebene
DE69816342T2 (de) Prädiktives Bilddekodierungsverfahren
DE69629137T2 (de) Bildkodierungsgerät und Bilddekodierungsgerät
DE69709914T2 (de) Vorrichtung zur Bildvorhersage und -decodierung
DE69632232T2 (de) Verfahren und Vorrichtung zur Komprimierung von Videoinformationen mit bewegungsabhängiger Prädiktion
DE69834209T2 (de) Bildverarbeitungsverfahren
DE60027955T2 (de) Verfahren und Vorrichtung zur kontextbasierten Inter/Intra Kodierungsmodeauswahl
DE69817460T2 (de) Bildsequenzdekodierungsverfahren
DE19825042C2 (de) Verfahren zur Bewegungsvektorcodierung bei MPEG-4
DE69738494T2 (de) Videokodierungs- und Videodekodierungsvorrichtung
DE69530336T2 (de) Bewegungskompensation für digitale Videosignale mit Zeilensprung
DE69724673T2 (de) Videodekodierungsvorrichtung zur Dekodierung von Form- und Textursignalen unter Verwendung inter/intra Moden
DE69417480T2 (de) Bestimmung von Bewegungsvektoren in einem Videokodierer mit Bilddezimation
DE60315565T2 (de) Verfahren und Vorrichtung zur Codierung und Decodierung von Bewegungsvektoren
DE69129595T2 (de) Systeme und Verfahren zur Kodierung alternierender Halbbilder in Zeilensprungbildsequenzen
DE602004002455T2 (de) Bewegungsvektorschätzung durch adaptive zeitliche Vorhersage
DE69824554T2 (de) Verfahren und anordnung zum erzeugen eines standbildes mit hoher auflösung
DE19704439C2 (de) Verfahren und Vorrichtung zur Bewegungsschätzung in einem digitalen Videocodierer unter Verwendung von Trajektorien
DE69422564T2 (de) Verfahren zur halbpixel Bewegungskompensation in Bilddekodierung
DE69713923T2 (de) System und Verfahren zur digitalen Bildkompression mit Bewegungsschätzung
DE69904749T2 (de) Videocodierung mit bewegungskompensation und cholesky faktorisierung
DE69801794T2 (de) Verfahren zur auffrischung eines digitalen bildes, vorrichtung zur bildverarbeitung und datenträger
DE112012001635T5 (de) Verfahren zur Verwaltung einer Referenzbildliste und Vorrichtung zu dessen Ausführung
WO2012110491A1 (de) Kodierverfahren und bildkodiervorrichtung zur kompression einer bildsequenz

Legal Events

Date Code Title Description
8364 No opposition during term of opposition