[go: up one dir, main page]

DE60320243T2 - Bewegungsvektorcodierungsverfahren und bewegungsvektordecodierungsverfahren - Google Patents

Bewegungsvektorcodierungsverfahren und bewegungsvektordecodierungsverfahren Download PDF

Info

Publication number
DE60320243T2
DE60320243T2 DE2003620243 DE60320243T DE60320243T2 DE 60320243 T2 DE60320243 T2 DE 60320243T2 DE 2003620243 DE2003620243 DE 2003620243 DE 60320243 T DE60320243 T DE 60320243T DE 60320243 T2 DE60320243 T2 DE 60320243T2
Authority
DE
Germany
Prior art keywords
motion vector
motion
block
vector
motion vectors
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
DE2003620243
Other languages
English (en)
Other versions
DE60320243D1 (de
Inventor
Satoshi Yawata-shi Kondo
Shinya Nishinomiya-shi Kadono
Makoto Moriguchi-shi HAGAI
Kiyofumi Kadoma-shi ABE
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.)
Panasonic Corp
Original Assignee
Panasonic 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=29272326&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE60320243(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Panasonic Corp filed Critical Panasonic Corp
Publication of DE60320243D1 publication Critical patent/DE60320243D1/de
Application granted granted Critical
Publication of DE60320243T2 publication Critical patent/DE60320243T2/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Error Detection And Correction (AREA)

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft Verfahren zum Kodieren und Dekodieren von Bewegungsvektorinformationen beim Kodieren und Dekodieren von Bewegtbildern unter Verwendung von Inter-Bild-Prädiktionskodierung.
  • Stand der Technik
  • Im Allgemeinen wird beim Kodieren von Bewegtbildern der Informationsbetrag komprimiert durch Unterdrückung der räumlichen und zeitlichen Redundanzen, die innerhalb von Bewegtbildern vorhanden sind. Als ein Verfahren zur Unterdrückung der zeitlichen Redundanzen wird Inter-Bild-Prädiktionskodierung verwendet. Bei der Inter-Bild-Prädiktionskodierung werden zum Kodieren eines aktuellen Bildes die Bilder, die dem aktuellen Bild zeitlich vorhergehen oder nachfolgen, als Referenzbilder genutzt. Die Bewegung des aktuellen Bildes aus den Referenzbildern wird detektiert und die Differenz zwischen dem durch Bewegungskompensation erhaltenen Bild und dem aktuellen Bild berechnet. Dann werden aus dieser Differenz die räumlichen Redundanzen eliminiert, um den Informationsbetrag der Bewegtbilder zu komprimieren.
  • Beim herkömmlichen Bewegtbildkodierverfahren nach MPEG-4 Standard (ISO/IEC 14496-2: 1999 Information technology, Coding of audio-visual objects – Teil 2: Visual, S. 146–148; im Folgenden als MPEG-4 bezeichnet) und dergleichen gibt es drei Typen von Bildern. I-Bilder (intrakodierte Bilder) werden kodiert, indem keine Inter-Bild-Prädizierung genutzt wird, sind jedoch intrakodiert. P-Bilder (prädizierte Bilder) werden mittels Inter-Bild-Prädizierung mit Bezug auf ein vorhergehendes Bild kodiert. B-Bilder (bidirektional prädizierte Bilder) werden mittels Inter-Bild-Prädizierung mit Bezug auf ein vorhergehendes Bild (I-Bild oder B-Bild) und ein nachfolgendes Bild (I-Bild oder P-Bild) kodiert. 15 zeigt vorhersagbare Beziehungen zwischen entsprechenden Bildern im oben genannten Bewegtbildkodierverfahren. In 15 stellen vertikale Linien Bilder dar, und an der unteren rechten Seite der jeweiligen Bilder sind Bildtypen (I, P und B) angegeben. Die Bilder an den Pfeilspitzen werden durch Inter-Bild-Prädiktionskodierung mit Bezug auf die Bilder an den anderen Enden der Pfeile kodiert. Zum Beispiel wird das zweite B-Bild kodiert, indem das erste I-Bild und das vierte P-Bild als Referenzbilder verwendet werden.
  • Nach dem MPEG 4-Standard wird zum Kodieren von Bewegungsvektoren eine Differenz zwischen einem Bewegungsvektor eines aktuellen Blocks und einem aus den Bewegungsvektoren für die benachbarten Blocks erhaltenen prädizierten Vektor kodiert. Weil die Bewegungsvektoren der benachbarten Blocks normalerweise eine ähnliche Größe und Richtung der Bewegung auf der räumlichen Koordinate zu den Bewegungsvektoren für den aktuellen Block aufweisen, kann der Kodierungsbetrag der Bewegungsvektoren durch Berechnen der Differenz aus dem prädizierten Vektor, der aus den Bewegungsvektoren der benachbarten Blocks erhalten wird, reduziert werden. Wie Bewegungsvektoren nach MPEG-4 zu kodieren sind, wird mit Bezug auf die 16A16D erläutert. In diesen Abbildungen sind halbfett angegebene Blocks Makroblocks von 16·16 Pixel, wobei in jedem Makroblock 4 Blocks von 8·8 Pixel vorhanden sind. In 16A16D ist der Bewegungsvektor (MV) jedes Blocks auf der Basis der Differenz aus dem prädizierten Vektor, der aus den Bewegungsvektoren (MV1, MV2 und MV3) der drei benachbarten Blocks erhalten wird, kodiert. So wie dieser prädizierte Vektor werden Mittelwerte genutzt, die jeweils aus den horizontalen und vertikalen Komponenten dieser drei Bewegungsvektoren MV1, MV2 und MV3 berechnet sind. Jedoch hat ein benachbarter Block manchmal keinen Bewegungsvektor, wenn er zum Beispiel intrakodiert ist oder als ein B-Bild im direkten Modus kodiert ist. Wenn einer der benachbarten Blocks ein Block dieses Typs ist, wird der Bewegungsvektor für den Block als gleich Null betrachtet. Wenn zwei der benachbarten Blocks Blocks dieses Typs sind, wird der Bewegungsvektor des übrig bleibenden einen Blocks als ein prädizierter Vektor genutzt. Und wenn alle der benachbarten Blocks keinen Bewegungsvektor besitzen, dann wird der Bewegungsvektor des aktuellen Blocks in der Annahme kodiert, dass der prädizierte Vektor Null ist.
  • Inzwischen wird im Verfahren H.26L, das zur Standardisierung entwickelt wurde, ein neues Kodierverfahren von B-Bildern vorgeschlagen. B-Bilder werden üblicherweise kodiert, indem ein vorher kodiertes vorhergehendes Bild und ein vorher kodiertes nachfolgendes Bild als Referenzbilder genutzt werden, wobei aber bei dem neuen Kodierverfahren B-Bilder kodiert werden, indem zwei vorher kodierte vorhergehende Bilder, zwei vorher kodierte nachfolgende Bilder oder ein vorher kodiertes vorhergehendes Bild und ein vorher kodiertes nachfolgendes Bild verwendet werden.
  • Auch wenn die benachbarten Blocks in einem B-Bild jeweils zwei Bewegungsvektoren in Richtung der vorhergehenden Referenzbilder oder zwei Bewegungsvektoren in Richtung der folgenden Referenzbilder aufweisen, gibt es bei dem herkömmlichen Bewegungsvektorkodierverfahren keine bestimmte und vereinheitlichte Methode zur Bestimmung, welcher dieser zwei Vektoren als ein prädizierter Vektor verwendet werden soll, womit es kein effizientes Kodierverfahren des bestimmten Bewegungsvektors gibt.
  • Takahiro Fukuhara et al. offenbaren in „Very Low Bit-Rate Video Coding with Block Partitioning and Adaptive Selection of Two Time-Differential Frame Memories" („Videokodierung niedrigster Bitrate mit Blockunterteilung und adaptiver Auswahl von zwei zeitlich differentiellen Bildspeichern"), IEEE Transactions an Circuits and Systems für Video Technology (IEEE Veröffentlichungen über Schaltkreise und Systeme zur Videotechnologie), IEEE Service Center, Piscataway, NJ, USA, Bd. 7, Nr. 1, Februar 1997 (1997-02) ein Bewegungskompensationsverfahren mit blockunterteilender Prädiktion und Nutzung zweier zeitlich differentieller Referenzbilder. Der Prädiktionsbewegungsvektor basiert entweder auf einem Bewegungsvektor eines kurzzeitigen Vollbildes oder eines langzeitigen Vollbildes oder auf einer Kombination von zwei Bewegungsvektoren der Vollbilder.
  • In „Arbeitsentwurf Nummer 2, verbesserte Ausgabe 2 (WD-2)", Unterlage JVT-B118R2, 29. Januar 2002 (29.1.2002), Seiten 1–10, wird die selektive Verwendung von Bewegungsvektoren des benachbarten Blocks in den Berechnungen des prädizierten Vektors gelehrt.
  • Die vorliegende Erfindung wurde erdacht, um das oben erwähnte Problem zu lösen, und Aufgabe der vorliegenden Erfindung ist die Bereitstellung eines Bewegungsvektorkodierverfahrens und eines Bewegungsvektordekodierverfahrens, die das Verfahren zum Bestimmen eines prädizierten Vektors zum Kodieren eines Bewegungsvektors vereinheitlichen und die Vorausberechenbarkeit verbessern können.
  • Darstellung der Erfindung
  • Um die oben genannte Aufgabe zu erfüllen, stellt die vorliegende Erfindung ein Bewegungsvektordekodierverfahren und eine Vorrichtung nach den Ansprüchen 1 bis 3 bereit.
  • Kurze Beschreibung der Zeichnungen
  • 1A ist ein Blockdiagramm, das den Aufbau einer Bildkodiervorrichtung nach einer ersten Ausführungsform der vorliegenden Erfindung darstellt;
  • 2A ist eine grafische Darstellung, die die Reihenfolge von in einen Bildspeicher eingegebenen Bildern zeigt;
  • 2B ist eine grafische Darstellung, die die Reihenfolge des Kodierens der Bilder zeigt;
  • 3A ist eine grafische Darstellung, die einen zu kodierenden aktuellen Block (an der oberen linken Seite in einem Makroblock) und die vorher kodierten benachbarten Blocks zeigt;
  • 3B ist eine grafische Darstellung, die einen zu kodierenden aktuellen Block (an der oberen rechten Seite in einem Makroblock) und die vorher kodierten benachbarten Blocks zeigt;
  • 3C ist eine grafische Darstellung, die einen zu kodierenden aktuellen Block (an der unteren linken Seite in einem Makroblock) und die vorher kodierten benachbarten Blocks zeigt;
  • 3D ist eine grafische Darstellung, die einen zu kodierenden aktuellen Block (an der unteren rechten Seite in einem Makroblock) und die vorher kodierten benachbarten Blocks zeigt;
  • 4A ist eine grafische Darstellung, die Referenzbilder zeigt, wobei Bewegungsvektoren eines zu kodierenden aktuellen Blocks und vorher kodierter benachbarter Blocks jeweils darauf verweisen;
  • 4B ist eine grafische Darstellung, die Referenzbilder zeigt, wobei Bewegungsvektoren eines zu kodierenden aktuellen Blocks und vorher kodierter benachbarter Blocks jeweils darauf verweisen;
  • 4C ist eine grafische Darstellung, die Referenzbilder zeigt, wobei Bewegungsvektoren eines zu kodierenden aktuellen Blocks und vorher kodierter benachbarter Blocks jeweils darauf verweisen;
  • 5 ist eine grafische Darstellung, die eine Bewegungskompensation für den Fall erläutert, bei dem zwei Referenzbilder beide in Vorwärtsrichtung angeordnet sind;
  • 6 ist eine grafische Darstellung, die den Fall erläutert, wo Bewegungsvektoren skaliert sind;
  • 7 ist ein Ablaufdiagramm, das ein Verfahren zum Erzeugen eines prädizierten Vektors für den Fall darstellt, bei dem das erste und das zweite Verfahren zum Erzeugen eines prädizierten Vektors in Kombination verwendet werden;
  • 8 ist eine grafische Darstellung, die die Reihenfolge von in einem Bitstrom angeordneten Bewegungsvektoren zeigt;
  • 9 ist ein Blockdiagramm, das den Aufbau einer Bilddekodiervorrichtung nach einer zweiten Ausführungsform der vorliegenden Erfindung darstellt;
  • 10A ist eine grafische Darstellung, die ein physikalisches Format einer flexiblen Magnetplatte (Diskette) zeigt;
  • 10B ist eine grafische Darstellung, die eine Diskette, die Querschnittsansicht der äußeren Erscheinung der Diskette und die Vorderansicht der äußeren Erscheinung der Diskette zeigt;
  • 10C ist eine grafische Darstellung, die die äußere Erscheinung einer Vorrichtung zum Schreiben eines Programms auf die Diskette und zum Auslesen davon zeigt;
  • 11 ist ein Blockdiagramm, das den gesamten Aufbau eines Content-Providing-Systems darstellt;
  • 12 ist eine grafische Darstellung, die ein das Bewegtbildkodierverfahren und das Bewegtbilddekodierverfahren nutzendes Mobiltelefon zeigt;
  • 13 ist ein Blockdiagramm, das den Aufbau des Mobiltelefons zeigt;
  • 14 ist eine grafische Darstellung, die ein digitales Sendesystem zeigt;
  • 15 ist eine grafische Darstellung, die Referenzbildbeziehungen im Stand der Technik zeigt;
  • 16 ist eine grafische Darstellung, die zum Erzeugen eines prädizierten Vektors verwendete benachbarte Blocks zeigt.
  • Beste Ausführungsart der Erfindung
  • (Erste Ausführungsform)
  • Die erste Ausführungsform der vorliegenden Erfindung wird nachstehend mit Bezug auf die Abbildungen erläutert. 1 ist ein Blockdiagramm der Bildkodiervorrichtung zum Kodieren von Bewegungsvektoren als Teil einer Bildkodierung, die einen Bildspeicher 101, eine Differenzberechnungseinheit 102, eine Restfehler-Kodiereinheit 103, eine Bitstrom-Erzeugungseinheit 104, eine Restfehler-Dekodiereinheit 105, eine Additionseinheit 106, einen Bildspeicher 107, eine Bewegungsvektor-Erfassungseinheit 108, eine Moduswähleinheit 109, eine Kodiersteuereinheit 110, Schalter 111115, eine Bewegungsvektor-Speichereinheit 116 und eine Bewegungsvektor-Kodiereinheit 117 umfasst.
  • In den Bildspeicher 101 werden Bilder auf der Basis Bild für Bild in Anzeigereihenfolge eingegeben. 2A zeigt die Reihenfolge der in den Bildspeicher 101 eingegebenen Bilder. In 2A stellen vertikale Linien Bilder dar, und ein Alphabet und eine Zahl an der unteren rechten Seite von jedem Bild geben jeweils einen Bildtyp (P gibt ein P-Bild und B gibt ein B-Bild an) sowie eine Bildnummer in Anzeigereihenfolge an. Die in den Bildspeicher 101 eingegebenen Bilder werden in Kodierungsreihenfolge umgeordnet. Die Bilder werden basierend auf den Referenzbildern bei Inter-Bild-Prädiktionskodierung umgeordnet, d. h. die Bilder werden so umgeordnet, dass die als Referenzbilder genutzten Bilder früher kodiert werden als die Bilder, die sich auf diese Referenzbilder beziehen. Die Referenzbeziehungen der Bilder B8 und B9 sind durch Pfeile in 2A dargestellt. In dieser Abbildung geben die Pfeilspitzen die Bilder an, die auf Referenzbilder verweisen, und die anderen Enden der Pfeile geben die Referenzbilder an. In diesem Fall sind die in 2A gezeigten Bilder in diejenigen gemäß 2B umgeordnet.
  • Die in dem Bildspeicher 101 umgeordneten Bilder werden durch jeden Makroblock ausgelesen. In diesem Fall soll ein Makroblock eine Größe von horizontal 16·vertikal 16 Pixel besitzen, und eine Bewegungskompensation soll durch jeden Block (8·8 Pixel groß) ausgeführt werden. Das Kodieren des Bildes B8 wird schrittweise erläutert.
  • Das Bild B8 ist ein B-Bild und wird durch jeden Makroblock oder Block kodiert, indem ein Maximum von zwei Referenzbildern aus fünf kodierten Bildern, vorhergehenden kodierten Bildern P1, P4 und P7 und nachfolgenden kodierten Bilder P10 und P13 genutzt wird. Diese Referenzbilder wurden bereits kodiert, und die lokalen dekodierten Bilder werden in dem Bildspeicher 107 gespeichert.
  • Zum Kodieren eines B-Bildes schaltet die Kodiersteuereinheit 110 den Schalter 113 ein. Wenn ein B-Bild als ein Referenzbild für andere Bilder genutzt wird, steuert die Kodiersteuereinheit 110 die Schalter 114 und 115 auf Einschalten.
  • Wenn das B-Bild nicht als ein Referenzbild für andere Bilder genutzt wird, steuert sie die Schalter 114 und 115 auf Ausschalten. Deshalb werden die aus dem Bildspeicher 101 ausgelesenen Makroblocks des Bildes B8 zuerst in die Bewegungsvektor-Erfassungseinheit 108, die Moduswähleinheit 109 und die Differenzberechnungseinheit 102 eingegeben.
  • Die Bewegungsvektor-Erfassungseinheit 108 detektiert vorwärts gerichtete Bewegungsvektoren und rückwärts gerichtete Bewegungsvektoren von jedem in einem Makroblock enthaltenen Block, indem die dekodierten Bilddaten der Bilder P1, P4 und P7 als vorwärts gerichtete Referenzbilder und die dekodierten Bilddaten der Bilder P10 und P13 als rückwärts gerichtete Referenzbilder verwendet werden, die jeweils in dem Bildspeicher 107 gespeichert werden.
  • Die Moduswähleinheit 109 bestimmt den Kodiermodus von Makroblocks, indem die von der Bewegungsvektor-Erfassungseinheit 108 detektierten Bewegungsvektoren genutzt werden. Hier kann der Kodiermodus von Makroblocks in einem B-Bild zum Beispiel aus Intra-Bild-Kodierung, Inter-Bild-Prädiktionskodierung unter Anwendung eines vorwärts gerichteten Referenzbildes, Inter-Bild-Prädiktionskodierung unter Anwendung zweier vorwärts gerichteter Referenzbilder, Inter-Bild-Prädiktionskodierung unter Verwendung eines rückwärts gerichteten Referenzbildes, Inter-Bild-Prädiktionskodierung unter Anwendung zweier rückwärts gerichteter Referenzbilder und Inter-Bild-Prädiktionskodierung unter Verwendung bidirektionaler Bewegungsvektoren heraus ausgewählt werden. Wenn Inter-Bild-Prädiktionskodierung unter Verwendung zweier vorwärts gerichteter Referenzbilder, Inter-Bild-Prädiktionskodierung unter Verwendung zweier rückwärts gerichteter Referenzbilder oder Inter-Bild-Prädiktionskodierung unter Verwendung bidirektionaler Bewegungsvektoren (eine vorwärts gerichtete Referenz und eine rückwärts gerichtete Referenz) ausgewählt ist, wird der durch Mittelwertbildung zweier Referenzblocks erhaltene Block als ein Bewegungskompensationsblock verwendet. Ein Beispiel dieses Falles wird mit Bezug auf 5 erläutert. In dieser Abbildung wird zur Bewegungskompensation eines Blocks X im Bild B8 mittels eines Blocks Y im Bild P7 und eines Blocks Z im Bild P4 als vorwärts gerichtete Referenzbilder der Mittelwertblock der Blocks Y und Z als ein Bewegungskompensationsblock für den Block X verwendet.
  • Der durch die Moduswähleinheit 109 bestimmte Kodiermodus wird an die Bitstrom-Erzeugungseinheit 104 ausgegeben. Die Referenzblocks, die dem durch die Moduswähleinheit 109 bestimmten Kodiermodus zugrunde gelegt sind, werden an die Differenzberechnungseinheit 102 und die Additionseinheit 106 ausgegeben. Wenn die Intra-Bild-Kodierung ausgewählt ist, werden die Referenzblocks nicht ausgegeben. Wenn die Moduswähleinheit 109 Intra-Bild-Kodierung auswählt, werden die Schalter 111 und 112 so gesteuert, dass sie jeweils mit „a" und „c" verbunden sind, und wenn sie Inter-Bild-Prädiktionskodierung auswählt, werden die Schalter 111 und 112 so gesteuert, dass die jeweils mit „b" und „d" verbunden sind. Der Fall, bei dem die Moduswähleinheit 109 Inter-Bild-Prädiktionskodierung auswählt, wird nachstehend erläutert.
  • Die Differenzberechnungseinheit 102 empfängt die Referenzblocks von der Moduswähleinheit 109. Die Differenzberechnungseinheit 102 berechnet die Differenz zwischen dem Block des Bildes B8 und dem Referenzblock (der Bewegungskompensationsblock) und entwickelt den Restfehler zur Ausgabe.
  • Der Restfehler wird in die Restfehler-Kodiereinheit 103 eingegeben. Die Restfehler-Kodiereinheit 103 führt eine Kodierverarbeitung wie beispielsweise Frequenzumwandlung und Quantisierung des eingegebenen Restfehlers durch und entwickelt so die kodierten Daten des Restfehlers zur Ausgabe. Die von der Restfehler-Kodiereinheit 103 ausgegebenen kodierten Daten werden in die Bitstrom-Erzeugungseinheit 104 eingegeben.
  • Die Bewegungsvektoren, die in dem durch die Moduswähleinheit 109 ausgewählten Kodiermodus verwendet werden, werden an die Bewegungsvektor-Speichereinheit 116 und die Bewegungsvektor-Kodiereinheit 117 ausgegeben.
  • Die Bewegungsvektor-Speichereinheit 116 speichert die von der Moduswähleinheit 109 eingegebenen Bewegungsvektoren. Mit anderen Worten, die Bewegungsvektor-Speichereinheit 116 speichert die Bewegungsvektoren, die für die vorher kodierten Blocks verwendet wurden.
  • Die Bewegungsvektor-Kodiereinheit 117 kodiert die von der Moduswähleinheit 109 eingegebenen Bewegungsvektoren. Diese Operation wird mit Bezug auf 3A3D erläutert. In diesen Abbildungen sind halbfett dargestellte Blocks 16·16 Pixel-Makroblocks, wobei in jedem Makroblock vier 8·8 Pixel-Blocks vorhanden sind. In 3A3D ist Block A ein aktueller Block, der zu kodieren ist, wobei der Bewegungsvektor für den Block A kodiert wird auf der Basis der Differenz von dem aus den Bewegungsvektoren der drei benachbarten kodierten Blocks B, C und D erhaltenen prädizierten Vektor. Die Bewegungsvektoren für die benachbarten Blocks werden von der Bewegungsvektor-Speichereinheit 116 erhalten.
  • Mit Bezug auf 4A4C werden Verfahren zum Berechnen eines prädizierten Vektors erläutert. Diese Figuren zeigen die Bewegungsvektoren für die Blocks A–D. MV1 und MV2 geben jeweils den ersten Bewegungsvektor und den zweiten Bewegungsvektor an. „Vorwärts" bedeutet einen vorwärts gerichteten Bezugsbewegungsvektor. Zeichen und Zahlen in runden Klammern stellen die Referenzbilder dar.
  • Durch das erste Verfahren wird der prädizierte Vektor erzeugt, indem nur die Bewegungsvektoren ausgewählt werden, die sich auf das gleiche Referenzbild wie der Bewegungsvektor des aktuellen Blocks aus den Bewegungsvektoren für die benachbarten Blocks beziehen. In 4A ist der prädizierte Vektor für MV1 für den Block A der für die Blocks B, C und D verschiedene Mittelwert von MV1; und der prädizierte Vektor für MV2 für den Block A ist der für die Blocks B, C und D verschiedene Mittelwert von MV2. In 4B ist der prädizierte Vektor für MV1 für den Block A der für die Blocks B, C und D verschiedene Mittelwert von MV1 und der prädizierte Vektor für MV2 für den Block A ist MV2 für den Block C selbst. In 4C ist der prädizierte Vektor für MV1 für den Block A der Mittelwert von MV1 und MV2 für den Block B; MV1 für den Block C und MV1 und MV2 für den Block D, und der prädizierte Vektor für MV2 für den Block A ist MV2 für den Block C selbst. In diesem Fall kann der prädizierte Vektor für MV1 für den Block A der Mittelwert der drei Vektoren sein; der Mittelwert von MV1 und MV2 für den Block B; MV1 für den Block C; oder der Mittelwert von MV1 und MV2 für den Block D. Der Mittelwert von MV1 und MV2 für den Block B ist auf die Genauigkeit der Bewegungsvektoren (wie beispielsweise eine 2/1 Pixel-Genauigkeit, 1/4 Pixel-Genauigkeit und 1/8 Pixel-Genauigkeit) gerundet. Diese Pixelgenauigkeit wird durch jeden Block, jedes Bild oder jede Sequenz festgelegt. In einem solchen Fall, wenn kein Bewegungsvektor für die benachbarten Blocks, die sich auf das gleiche Referenzbild beziehen, vorhanden ist, kann der prädizierte Vektor Null sein. Die Mittelwerte werden jeweils für horizontale und vertikale Komponenten des Bewegungsvektors berechnet.
  • Durch das zweite Verfahren werden die prädizierten Vektoren für MV1 und MV2, ungeachtet der Referenzbilder, getrennt erzeugt. In diesem Fall kann die Reihenfolge von MV1 und MV2 in jedem Block durch eine vorgeschriebene Methode bestimmt werden. Zum Beispiel kann MV1 und MV2 in absteigender oder aufsteigender Reihenfolge von zeitlichen Abständen aus dem aktuellen Bild zu den Referenzbildern, vorwärts gerichtete Vektoren zuerst oder rückwärts gerichtete Vektoren zuerst, in Kodierungsreihenfolge (in der Reihenfolge in einem Bitstrom) oder dergleichen eingerichtet werden. Zum Beispiel erhöht die absteigende oder aufsteigende Reihenfolge von zeitlichen Abständen aus dem aktuellen Bild zu den Referenzbildern die Wahrscheinlichkeit, dass das Referenzbild für den Bewegungsvektor des aktuellen Blocks zeitlich nahe zu dem Referenzbild für den Bewegungsvektor ist, der für einen prädizierten Vektor ausgewählt wurde, womit die Leistung der Bewegungsvektorkodierung verbessert werden kann. Außerdem erhöht die Reihenfolge von vorwärts gerichteten Vektoren zuerst und rückwärts gerichteten Vektoren danach die Wahrscheinlichkeit, dass der vorwärts gerichtete Bewegungsvektor des aktuellen Blocks unter Verwendung des prädizierten Vektors kodiert wird, der aus den vorwärts gerichteten Bewegungsvektoren der benachbarten Blocks erzeugt wurde, und der rückwärts gerichtete Bewegungsvektor des aktuellen Blocks unter Nutzung des aus den rückwärts gerichteten Bewegungsvektoren der benachbarten Blocks erzeugten prädizierten Vektors kodiert wird, womit die Leistung der Bewegungsvektorkodierung verbessert werden kann. Außerdem kann die Kodierungsreihenfolge das Verfahren zur Handhabung der benachbarten Blocks vereinfachen, um einen prädizierten Vektor zu erzeugen. In 4A ist der prädizierte Vektor für MV1 für den Block A der für die Blocks B, C und D verschiedene Mittelwert von MV1, und der prädizierte Vektor für MV2 für den Block A ist der für die Blocks B, C und D verschiedene Mittelwert von MV2. Außerdem ist in 4B und 4C der prädizierte Vektor für MV1 für den Block A der für die Blocks B, C und D verschiedene Mittelwert von MV1, und der prädizierte Vektor für MV2 für den Block A ist der für die Blocks B, C und D verschiedene Mittelwert von MV2. Wenn die Referenzbilder der Bewegungsvektoren für den Block A abweichend sind von den Referenzbildern der Bewegungsvektoren für die Blocks B, C und D, die für den prädizierten Vektor für den Block A genutzt werden, können die Bewegungsvektoren für die Blocks B, C und D skaliert werden. Sie können auf der Basis eines Wertes, der durch einen zeitlichen Abstand zwischen Bildern bestimmt ist, oder eines vorgegebenen Wertes skaliert werden.
  • Durch das dritte Verfahren wird der prädizierte Vektor für MV1 auf der Basis der benachbarten Blocks zur Verwendung erzeugt. Wenn MV1 als ein prädizierter Vektor für MV2 verwendet wird, kann MV1 selbst als der prädizierte Vektor verwendet werden, oder der skalierte MV1 kann genutzt werden. Wenn der skalierte verwendet wird, ist es vorstellbar, den zeitlichen Abstand zwischen dem Bild B8 und dem Referenzbild von MV1 dem zeitlichen Abstand zwischen dem Bild B8 und dem Referenzbild von MV2 gleich zu machen. Ein Beispiel wie sie gleich zu machen sind, wird mit Bezug auf 6 erläutert. In 6 ist vorausgesetzt, dass der Block A im Bild B8 die Bewegungsvektoren MV1 und MV2 besitzt und die Referenzbilder von MV1 und MV2 die Bilder P7 bzw. P4 sind. In diesem Fall wird MV1', der durch Skalieren von MV1 zu dem Bild P4 erhalten wird (d. h. ein durch Vervierfachen von in diesem Beispiel jeweils horizontalen und vertikalen Komponenten von MV1 erhaltener Vektor), als ein prädizierter Vektor für den Bewegungsvektor MV2 genutzt. Oder er kann unter Verwendung eines vorgegebenen Wertes für ein anderes Verfahren skaliert werden. Außerdem kann die Reihenfolge von MV1 und MV2 für jeden Block durch eine vorgeschriebene Methode vorher bestimmt werden. Zum Beispiel können MV1 und MV2 in einer absteigenden oder aufsteigenden Reihenfolge zeitlicher Abstände aus dem aktuellen Bild zu den Referenzbildern, vorwärts gerichtete Vektoren zuerst oder rückwärts gerichtete Vektoren zuerst, in Kodierungsreihenfolge oder dergleichen eingerichtet werden.
  • In den oben erwähnten Beispielen weisen alle Blocks B–D Bewegungsvektoren auf, jedoch kann, wenn diese Blocks als Intrablocks oder im direkten Modus kodiert sind, für sie eine Ausnahmeverarbeitung durchgeführt werden. Wenn zum Beispiel einer der Blocks B–D der Block eines solchen Typs ist, werden die Bewegungsvektoren für diesen Block als Null zum Kodieren betrachtet. Wenn zwei von ihnen Blocks eines solchen Typs sind, werden die Bewegungsvektoren des restlichen Blocks als prädizierte Vektoren genutzt. Und wenn alle Blocks keinen Bewegungsvektor besitzen, werden Bewegungsvektoren in der Annahme kodiert, dass der prädizierte Vektor Null ist. Dieser Verarbeitungstyp kann auch angewandt werden.
  • Nach Empfang der kodierten Daten führt die Bitstrom-Erzeugungseinheit 104 variable Längenkodierung der kodierten Daten durch und addiert außerdem die Informationen wie beispielsweise die von der Bewegungsvektorkodiereinheit 117 eingegebenen kodierten Bewegungsvektoren, den von der Modusauswähleinheit 109 eingegebenen Kodiermodus sowie die Kopfinformation zu den kodierten Daten, um einen Bitstrom zur Ausgabe zu entwickeln.
  • Nach der gleichen Verarbeitung werden die restlichen Makroblocks im Bild B8 kodiert.
  • Wie es oben beschrieben ist, wird nach dem Bewegungsvektorkodierverfahren der vorliegenden Erfindung ein Bewegungsvektor für jeden aktuellen Block kodiert, indem eine Differenz zwischen dem prädizierten Vektor, der aus Bewegungsvektoren für vorher kodierte benachbarte Blocks erhalten wird, und dem Bewegungsvektor für den aktuellen Block genutzt wird. Dieser prädizierte Vektor wird durch eine der folgenden Verarbeitungen erzeugt: Wenn der aktuelle Block bzw. die benachbarten Blocks eine Vielzahl von Bewegungsvektoren besitzen, die auf die Referenzbilder in der gleichen Richtung (vorwärts oder rückwärts) hinweisen, werden (A) die Bewegungsvektoren, die auf das gleiche Bild verweisen, aus den Bewegungsvektoren für die benachbarten Blocks heraus ausgewählt, um den prädizierten Vektor (basierend auf den ausgewählten Bewegungsvektoren) zu erzeugen; werden (B) die Bewegungsvektoren für die entsprechenden benachbarten Blocks in der vorher bestimmten Reihenfolge eingerichtet und die Bewegungsvektoren der gleichen Rangfolge aus den eingerichteten Bewegungsvektoren ausgewählt, um den prädizierten Vektor (basierend auf den ausgewählten Bewegungsvektoren) zu erzeugen; soll (C) der prädizierte Vektor für „den zweiten Bewegungsvektor" des aktuellen Blocks „der erste Bewegungsvektor" werden, und wenn „der zweite Bewegungsvektor" und „der erste Bewegungsvektor" auf unterschiedliche Bilder verweisen, wird „der erste Bewegungsvektor" entsprechend dem zeitlichen Abstand zwischen den Bildern skaliert, um den prädizierten Vektor zu erzeugen.
  • Spezieller ist das Bewegungsvektorkodierverfahren nach der vorliegenden Erfindung ein Bewegungsvektorkodierverfahren zum Erzeugen eines Bewegungsvektors für einen aktuellen Block, der zu kodieren ist, und eines prädizierten Vektors für den Bewegungsvektor und zum Kodieren einer Differenz zwischen dem Bewegungsvektor und dem prädizierten Vektor, wobei das Bewegungsvektorkodierverfahren einen Zuweisungsschritt zum Zuweisen von Kennungscodes an zwei Bewegungsvektoren für jeweils einen der Vielzahl kodierter Blocks, wenn wenigstens ein Block aus einer Vielzahl kodierter Blocks in der Nachbarschaft des aktuellen Blocks zwei Bewegungsvektoren besitzt, die auf Referenzbilder in der gleichen Richtung in Anzeigereihenfolge verweisen; und einen Entwicklungsschritt zum Erzeugen des prädizierten Vektors für jeden der Bewegungsvektoren für den aktuellen Block basierend auf den Bewegungsvektoren mit dem gleichen Kennungscode aus den Bewegungsvektoren für die Vielzahl kodierter Blocks umfasst. Hierbei kann in dem oben erwähnten Zuweisungsschritt und dem Entwicklungsschritt folgendes (a) und (b) ausgeführt werden:
    • (a) im Zuweisungsschritt werden die Kennungscodes außerdem den Bewegungsvektoren für den aktuellen Block zugewiesen, und im Entwicklungsschritt wird der prädizierte Vektor für jeden der Bewegungsvektoren für den aktuellen Block basierend auf den Bewegungsvektoren mit dem gleichen Kennungscode als der dem Bewegungsvektor für den aktuellen Block aus den Bewegungsvektoren für die Vielzahl kodierter Blocks zugewiesenen erzeugt.
    • (b) im Zuweisungsschritt werden die Kennungscodes außerdem den Bewegungsvektoren für den aktuellen Block zugewiesen, und der Entwicklungsschritt umfasst: einen Entwicklungsunterschritt zum Erzeugen eines prädizierten Kandidatenvektors durch jeden Kennungscode basierend auf den Bewegungsvektoren mit dem gleichen Kennungscode aus den Bewegungsvektoren für die Vielzahl kodierter Blocks; und einen Verknüpfungsunterschritt zum Verknüpfen des prädizierten Kandidatenvektors mit jedem Kennungscode für den Bewegungsvektor für den aktuellen Block.
  • Folglich kann das Verfahren zum Kodieren der Bewegungsvektoren vereinheitlicht werden, auch wenn ein benachbarter Block eine Vielzahl von Bewegungsvektoren aufweist, die in die gleiche Richtung (vorwärts oder rückwärts) weisen, womit die Leistungsfähigkeit der Kodierung der Bewegungsvektoren verbessert werden kann.
  • In der vorliegenden Ausführungsform, in der ein Makroblock horizontal 16·vertikal 16 Pixel aufweist, wird eine Bewegungskompensation durch jeden Block von 8·8 Pixel durchgeführt und der Restfehler durch jede horizontal 8·vertikal 8 Pixel kodiert, wobei jedoch auch jede andere Pixelanzahl verwendet werden kann.
  • Des Weiteren wird in der vorliegenden Ausführungsform ein Bewegungsvektor eines aktuellen Blocks unter Verwendung des Mittelwerts der Bewegungsvektoren der drei vorher kodierten benachbarten Blocks als ein prädizierter Vektor kodiert, wobei jedoch die Anzahl der benachbarten Blocks beliebige andere Zahlen sein können und der prädizierte Vektor durch beliebige andere Verfahren bestimmt werden kann. Zum Beispiel können die Bewegungsvektoren für den Block unmittelbar links von dem aktuellen Block für einen prädizierten Vektor genutzt werden.
  • In der vorliegenden Ausführungsform wurde der Ort des vorher kodierten benachbarten Blocks zur Bewegungsvektorkodierung mit Bezug auf 3 erläutert, wobei jedoch beliebige andere Orte verwendet werden können.
  • Wenn zum Beispiel die Blocks von 8·8 Pixel der vorliegenden Ausführungsform und Blocks von beliebigen anderen Größen gemischt werden, können die folgenden kodierten benachbarten Blocks B, C und D für den aktuellen Block A verwendet werden. Spezieller, es kann festgelegt werden, dass der Block B ein Block ist, der ein Pixel links von dem oberen linken Pixel im Block A enthält, der Block C ein Block ist, der ein Pixel direkt über dem oberen linken Pixel im Block A enthält und der Block D ein Block ist, der ein Pixel über und rechts von dem oberen rechten Pixel im Block A enthält.
  • In der vorliegenden Ausführungsform wird ein Bewegungsvektor durch Berechnen der Differenz zwischen dem Bewegungsvektor eines aktuellen Blocks und dem aus den Bewegungsvektoren für die benachbarten Blocks erhaltenen prädizierten Vektor kodiert, wobei er jedoch durch andere Methoden als die Differenzberechnung kodiert werden kann.
  • In der vorliegenden Ausführungsform wurde jeweils das erste, zweite und dritte Verfahren zum Erzeugen des prädizierten Vektors zur Bewegungsvektorkodierung erläutert, wobei diese Verfahren jedoch außerdem in Kombination verwendet werden können.
  • Ein Beispiel des kombinierten Verfahrens wird mit Bezug auf 7 erläutert. 7 ist ein Ablaufdiagramm, das den Fall zeigt, bei dem das erste und das zweite Verfahren zum Erzeugen von prädizierten Vektoren kombiniert sind, und spezieller die Verarbeitung der Entwicklung eines prädizierten Vektors in dem Fall, bei dem ein Block in 3A3D ein aktueller Block ist und zwei Bewegungsvektoren von jedem benachbarten Block B–D auf die Referenzblocks in der gleichen Richtung (vorwärts oder rückwärts) hinweisen. In dieser Abbildung entsprechen die Schritte S115–S118 dem oben erwähnten ersten Verfahren zum Erzeugen von prädizierten Vektoren, und die Schritte S111–S114 entsprechen einem Teil zur Bestimmung der Reihenfolge der benachbarten Blocks für das zweite Verfahren.
  • Eine vorgegebene Reihenfolge im S112 kann die absteigende oder aufsteigende Reihenfolge von zeitlichen Abständen aus dem aktuellen Bild zu den Referenzbildern, eine Kodierungsreihenfolge oder dergleichen sein. Hierbei ist die Kodierungsreihenfolge die Reihenfolge in einem Bitstrom, wie es in 8 dargestellt ist. 8 zeigt die einem Bild in dem Bitstrom entsprechenden Bilddaten. Die Bilddaten enthalten einen Dateiheader und kodierte Daten von entsprechenden Blocks. Die Bewegungsvektoren sind in den kodierten Daten der Blocks angeordnet. In dieser Abbildung sind die Bewegungsvektoren für die Blocks B und C in Kodierungsreihenfolge angeordnet.
  • Im S113 werden die Bewegungsvektoren in der vorgegebenen Reihenfolge entsprechend ihren Rangfolgen in MV1 und MV2 klassifiziert. Diese Klassifizierung der Bewegungsvektoren für die benachbarten Blocks ermöglicht eine vereinfachtere Verarbeitung. Wenn die Bewegungsvektoren nicht klassifiziert sind, muss der Mittelwert eines Maximums von 6 Bewegungsvektoren (2 Bewegungsvektoren·3 benachbarte Blocks) berechnet werden.
  • Spezieller werden bei der Verarbeitung von Schleife 1 zwei Bewegungsvektoren für den benachbarten Block B zuerst in der oben erwähnten vorgegebenen Reihenfolge (S112) angeordnet und ihnen Kennungscodes (zum Beispiel 0 und 1, 1 und 2, MV1 und MV2 oder dergleichen) in dieser Reihenfolge (S113) zugewiesen. Die Kennungscodes (zum Beispiel 0 und 1, 1 und 2, MV1 und MV2 oder dergleichen) werden außerdem in der gleichen Weise den Bewegungsvektoren jeweils für die benachbarten Blocks C und D zugewiesen. Gleichzeitig werden die Kennungscodes in der gleichen Weise auch den zwei Bewegungsvektoren für den aktuellen Block A zugewiesen.
  • Als Nächstes werden bei der Verarbeitung von Schleife 2 die Bewegungsvektoren mit dem gleichen Kennungscode (zum Beispiel 0 oder 1) zuerst aus den Bewegungsvektoren für die benachbarten Blocks B–D (S116) heraus ausgewählt, und der Mittelwert der ausgewählten Bewegungsvektoren wird als ein prädizierter Vektor für den aktuellen Block A (S117) betrachtet. Der prädizierte Vektor für einen weiteren Bewegungsvektor wird ebenfalls in der gleichen Weise erhalten.
  • Zu beachten ist, dass in Schleife 2 die oben erwähnten zwei Mittelwerte, ungeachtet der Kennungscodes der Bewegungsvektoren für den Block A, als prädizierte Kandidatenvektoren berechnet werden können, um einen beliebigen der Kandidatenvektoren für jeden Kennungscode des Bewegungsvektors für den Block A auszuwählen (oder ihm diese zuzuordnen). Außerdem müssen in Schleife 1 die Kennungscodes nicht zugewiesen werden, wenn die prädizierten Vektoren für den Block A erzeugt werden, können jedoch zugewiesen werden, wenn die Bewegungsvektoren für die benachbarten Blocks B, C und D erfasst werden. Sowohl die zugewiesenen Kennungscodes als auch die Bewegungsvektoren werden in der Bewegungsvektor-Speichereinheit 116 gespeichert.
  • Um das zweite und dritte Verfahren zum Erzeugen prädizierter Vektoren gemeinsam zu nutzen, kann das dritte Verfahren zum Erzeugen prädizierter Vektoren anstelle von S115–S118 in 7 ausgeführt werden.
  • In der vorliegenden Ausführungsform wird ein prädizierter Vektor zum Kodieren eines Bewegungsvektors in der Annahme erzeugt, dass ein aktueller Block nur vorwärts gerichtete Bewegungsvektoren besitzt, jedoch kann der prädizierte Vektor in der gleichen Weise erzeugt werden, auch wenn der aktuelle Block einen rückwärts gerichteten Bezugsbewegungsvektor aufweist.
  • Außerdem wird in der vorliegenden Ausführungsform ein prädizierter Vektor zum Kodieren eines Bewegungsvektors in der Annahme erzeugt, dass alle benachbarten Blocks jeweils zwei Bewegungsvektoren besitzen. Jedoch kann der Bewegungsvektor, selbst wenn ein benachbarter Block nur einen Bewegungsvektor besitzt, als ein erster oder ein zweiter Bewegungsvektor behandelt werden.
  • Außerdem wurde in der vorliegenden Ausführungsform der Fall erläutert, bei dem die maximale Anzahl von Referenzbildern zwei ist, jedoch drei oder mehr sein kann.
  • Es gibt außerdem die folgenden Verfahren zum Speichern und Verwalten von Bewegungsvektoren in der Bewegungsvektor-Speichereinheit 116 der vorliegenden Ausführungsform:
    • (1) Bewegungsvektoren für benachbarte Blocks und deren Reihenfolge (Kennungscodes, die anzeigen, ob sie die ersten Bewegungsvektoren oder die zweiten Bewegungsvektoren sind) werden gespeichert, um den ersten oder den zweiten Bewegungsvektor für jeden benachbarten Block aus der Bewegungsvektor-Speichereinheit 116 zu erfassen, indem die Kennungscodes verwendet werden; und
    • (2) die Orte zum Speichern des ersten Bewegungsvektors und des zweiten Bewegungsvektors für jeden benachbarten Block werden vorher bestimmt, um den ersten oder den zweiten Bewegungsvektor für den benachbarten Block aus der Bewegungsvektor-Speichereinheit 116 zu erfassen, indem auf deren Speicherstellen zugegriffen wird.
  • (Zweite Ausführungsform)
  • Die zweite Ausführungsform der vorliegenden Erfindung wird nachstehend mit Bezug auf 9 erläutert. 9 ist ein Blockdiagramm der Bilddekodiervorrichtung zum Dekodieren von Bewegungsvektoren als einen Teil von Bilddekodierung, die eine Bildstrom-Analysiereinheit 701, eine Restfehler-Dekodiereinheit 702, eine Modusdekodiereinheit 703, eine Bewegungskompensations-Dekodiereinheit 705, eine Bewegungsvektor-Speichereinheit 706, einen Bildspeicher 707, eine Additionseinheit 708, Schalter 709 und 710 sowie eine Bewegungsvektor-Dekodiereinheit 711 umfasst.
  • Die Eingabereihenfolge von Bildern in den Bitstrom ist die gleiche wie die in 2B dargestellte. Nachstehend wird schrittweise die Dekodierverarbeitung des Bildes B8 erläutert.
  • Der Bitstrom des Bildes B8 wird in die Bitstrom-Analysiereinheit 701 eingegeben. Die Bitstrom-Analysiereinheit 701 zieht aus dem eingegebenen Bitstrom verschiedene Datentypen ab. Hierbei enthalten verschiedene Datentypen die Modusauswahl- und Bewegungsvektorinformationen. Die abgezogenen Modusauswahlinformationen werden an die Modusdekodiereinheit 703 ausgegeben. Die abgezogenen Bewegungsvektorinformationen werden an die Bewegungsvektor-Dekodiereinheit 711 ausgegeben. Die kodierten Daten des Restfehlers werden an die Restfehler-Dekodiereinheit 701 ausgegeben.
  • Die Modusdekodiereinheit 703 steuert den Schalter 709 und den Schalter 710 auf der Basis der aus dem Bitstrom abgezogenen Modusauswahlinformationen. Wenn die Modusauswahl eine Intra-Bild-Kodierung ist, steuert sie den Schalter 709 und den Schalter 710 so, dass sie jeweils mit „a" und "c" verbunden sind. Wenn die Modusauswahl eine Inter-Bild-Prädiktionskodierung ist, steuert sie den Schalter 709 und den Schalter 710 so, dass sie jeweils mit „b" und „d" verbunden sind.
  • Die Modusdekodiereinheit 703 gibt außerdem die Modusauswahlinformationen an die Bewegungskompensations-Dekodiereinheit 705 und die Bewegungsvektor-Dekodiereinheit 711 aus. Es wird nachstehend der Fall erläutert, bei dem die Modusauswahl eine Inter-Bild-Prädiktionskodierung ist.
  • Die Restfehler-Dekodiereinheit 702 dekodiert die eingegebenen kodierten Daten des Restfehlers zum Entwickeln von Restfehlern. Die entwickelten Restfehler werden an den Schalter 709 ausgegeben. Da der Schalter 709 hier mit "b" verbunden ist, werden die Restfehler zur Additionseinheit 708 ausgegeben.
  • Die Bewegungsvektor-Dekodiereinheit 711 führt eine Dekodierverarbeitung der kodierten Bewegungsvektoren durch, die von der Bitstrom-Analysiereinheit 701 eingegeben werden. Die kodierten Bewegungsvektoren werden unter Verwendung der Bewegungsvektoren der vorher dekodierten benachbarten Blocks dekodiert. Diese Operation wird mit Bezug auf 3A3D erläutert. Der kodierte Bewegungsvektor (MV) für den aktuellen Block A, der zu dekodieren ist, wird durch Addieren des prädizierten Vektors, der aus den Bewegungsvektoren der drei vorher dekodierten benachbarten Blocks B, C und D erhalten wird, und des kodierten Bewegungsvektors berechnet. Die Bewegungsvektoren der benachbarten Blocks werden aus der Bewegungsvektor-Speichereinheit 706 erhalten.
  • Mit Bezug auf 4A4C werden Verfahren zum Berechnen eines prädizierten Vektors erläutert. Diese Figuren zeigen die Bewegungsvektoren für die Blocks A–D. MV1 und MV2 geben jeweils die ersten Bewegungsvektoren und die zweiten Bewegungsvektoren an. „Vorwärts" bedeutet einen vorwärts gerichteten Bezugsbewegungsvektor. Die Zeichen und Zahlen in runden Klammern stellen die Referenzbilder dar.
  • Durch das erste Verfahren wird der prädizierte Vektor erzeugt, indem nur die Bewegungsvektoren aus den Bewegungsvektoren für die benachbarten Blocks ausgewählt werden, die auf das gleiche Referenzbild wie der Bewegungsvektor für den aktuellen Block verweisen. In 4A ist der prädizierte Vektor für MV1 für den Block A der für die Blocks B, C und D verschiedene Mittelwert von MV1; und der prädizierte Vektor für MV2 für den Block A ist der für die Blocks B, C und D verschiedene Mittelwert von MV2. In 4B ist der prädizierte Vektor für MV1 für den Block A der für die Blocks B, C und D verschiedene Mittelwert von MV1; und der prädizierte Vektor für MV2 für den Block A ist der MV2 für Block C selbst. In 4C ist der prädizierte Vektor für MV1 für den Block A der Mittelwert von MV1 und MV2 für den Block B, MV1 für den Block C und MV1 und MV2 für den Block D, und der prädizierte Vektor für MV2 für den Block A ist der MV2 für Block C selbst. In diesem Fall kann der prädizierte Vektor für MV1 für den Block A der Mittelwert von drei Vektoren sein; der Mittelwert von MV1 und MV2 für den Block B; MV1 für den Block C; oder der Mittelwert von MV1 und MV2 für den Block D. Der Mittelwert von MV1 und MV2 für den Block B wird auf die Genauigkeit der Bewegungsvektoren (wie beispielsweise 2/1 Pixelgenauigkeit, 1/4 Pixelgenauigkeit und 1/8 Pixelgenauigkeit) gerundet. Diese Pixelgenauigkeit wird durch jeden Block, jedes Bild oder jede Sequenz bestimmt. In einem solchen Fall, wenn es keinen Bewegungsvektor für die benachbarten Blocks gibt, die auf das gleiche Referenzbild verweisen, kann der prädizierte Vektor Null sein. Die Mittelwerte sind jeweils für horizontale und vertikale Komponenten des Bewegungsvektors berechnet.
  • Durch das zweite Verfahren werden die prädizierten Vektoren für MV1 und MV2, ungeachtet der Referenzbilder, getrennt erzeugt. In diesem Fall kann die Reihenfolge von MV1 und MV2 in jedem Block durch eine vorgeschriebene Methode bestimmt werden. Zum Beispiel können MV1 und MV2 in absteigender oder aufsteigender Reihenfolge von zeitlichen Abständen aus dem aktuellen Bild zu den Referenzbilder, vorwärts gerichtete Vektoren zuerst oder rückwärts gerichtete Vektoren zuerst, in Dekodierreihenfolge (in der Reihenfolge in einem Bitstrom) oder dergleichen angeordnet werden. In 4A ist der prädizierte Vektor für MV1 für den Block A der für die Blocks B, C und D verschiedene Mittelwert von MV1, und der prädizierte Vektor für MV2 für den Block A ist der für die Blocks B, C und D verschiedene Mittelwert von MV2. Außerdem ist in den 4B und 4C der prädizierte Vektor für MV1 für den Block A der für die Blocks B, C und D verschiedene Mittelwert von MV1, und der prädizierte Vektor für MV2 für den Block A ist der für die Blocks B, C und D verschiedene Mittelwert von MV2. Wenn die Referenzbilder der Bewegungsvektoren für den Block A von den Referenzbildern der Bewegungsvektoren für die Blocks B, C und D, die für den prädizierten Vektor für den Block A verwendet werden, abweichen, können die Bewegungsvektoren für die Blocks B, C und D skaliert werden. Sie können auf der Basis eines Wertes skaliert werden, der durch einen zeitlichen Abstand zwischen Bildern oder einen vorgegebenen Wert bestimmt ist.
  • Durch das dritte Verfahren wird der prädizierte Vektor für MV1 basierend auf den benachbarten Blocks zur Verwendung erzeugt. Wenn MV1 als ein prädizierter Vektor für MV2 genutzt wird, kann der MV1 selbst als der prädizierte Vektor verwendet werden, oder der skalierte MV1 kann genutzt werden. Wenn der skalierte verwendet wird ist es vorstellbar, den zeitlichen Abstand zwischen dem Bild B8 und dem Referenzbild von MV1 dem zeitlichen Abstand zwischen dem Bild B8 und dem Referenzbild von MV2 gleich zu machen. Ein Beispiel wie sie gleich zu machen sind, wird mit Bezug auf 6 erläutert. In 6 ist vorausgesetzt, dass der Block A im Bild B8 die Bewegungsvektoren MV1 und MV2 besitzt und die Referenzbilder von MV1 und MV2 jeweils die Bilder P7 und P4 sind. In diesem Fall wird der durch Skalieren von MV1 zu dem Bild P4 erhaltene MV1' (das heißt ein Vektor, der in diesem Beispiel jeweils durch Vervierfachen von horizontalen und vertikalen Komponenten von MV1 erhalten wird) als ein prädizierter Vektor für den Bewegungsvektor MV2 genutzt. Oder er kann unter Verwendung eines vorgegebenen Wertes für ein anderes Verfahren skaliert werden. Außerdem kann die Reihenfolge von MV1 und MV2 für jeden Block durch eine vorgegebene Methode vorher bestimmt werden. Zum Beispiel können MV1 und MV2 in absteigender oder aufsteigender Reihenfolge von zeitlichen Abständen aus dem aktuellen Bild zu den Referenzbildern, vorwärts gerichtete Vektoren zuerst oder rückwärts gerichtete Vektoren zuerst, in Dekodierreihenfolge oder dergleichen angeordnet werden.
  • Im oben erwähnten Beispiel besitzen alle Blocks B–D Bewegungsvektoren, jedoch kann, wenn diese Blocks als Intrablocks oder im direkten Modus kodiert sind, eine Ausnahmeverarbeitung für sie durchgeführt werden. Wenn zum Beispiel einer der Blocks B–D ein Block eines solchen Typs ist, werden die Bewegungsvektoren für diesen Block zum Dekodieren als Null betrachtet. Wenn zwei von ihnen Blocks eines solchen Typs sind, werden die Bewegungsvektoren des restlichen Blocks als prädizierte Vektoren verwendet. Und wenn alle der Blocks keinen Bewegungsvektor besitzen, werden Bewegungsvektoren in der Annahme dekodiert, dass der prädizierte Vektor Null ist. Dieser Verarbeitungstyp kann ebenfalls angewandt werden.
  • Die dekodierten Bewegungsvektoren werden an die Bewegungskompensations-Dekodiereinheit 705 und die Bewegungsvektor-Speichereinheit 706 ausgegeben.
  • Die Bewegungskompensations-Dekodiereinheit 705 erfasst die Bewegungskompensationsblocks aus dem Bildspeicher 707 auf der Basis der eingegebenen Bewegungsvektoren. Die wie oben erwähnt entwickelten Bewegungs kompensationsblocks werden an die Additionseinheit 708 ausgegeben.
  • Die Bewegungsvektor-Speichereinheit 706 speichert die eingegebenen Bewegungsvektoren. Speziell speichert die Bewegungsvektor-Speichereinheit 706 die Bewegungsvektoren für die dekodierten Blocks.
  • Die Additionseinheit 708 addiert die eingegebenen Restfehler und die Bewegungskompensationsblocks, um dekodierte Blocks zu entwickeln. Die entwickelten dekodierten Blocks werden über den Schalter 710 in den Bildspeicher 707 ausgegeben.
  • Die Makroblocks im Bild B8 werden aufeinander folgend in der Weise dekodiert, wie es oben erwähnt ist.
  • Wie oben beschrieben, wird entsprechend dem Bewegungsvektordekodierverfahren nach der vorliegenden Erfindung ein Bewegungsvektor für jeden aktuellen Block dekodiert, indem ein prädizierter Vektor, der von Bewegungsvektoren für vorher dekodierte benachbarte Blocks erhalten wird, und der kodierte Bewegungsvektor für den aktuellen Block addiert werden. Dieser prädizierte Vektor wird durch eine der folgenden Verarbeitungen erzeugt: Wenn der aktuelle Block und die benachbarten Blocks jeweils eine Vielzahl von Bewegungsvektoren besitzen, die auf die Referenzbilder in der gleichen Richtung (vorwärts oder rückwärts) hinweisen, werden
    • (A) die Bewegungsvektoren, die auf das gleiche Bild verweisen, aus den Bewegungsvektoren für die benachbarten Blocks heraus ausgewählt, um den prädizierten Vektor (auf der Basis der ausgewählten Bewegungsvektoren) zu erzeugen;
    • (B) die Bewegungsvektoren für die entsprechenden benachbarten Blocks in der vorgegebenen Reihenfolge angeordnet und die Bewegungsvektoren der gleichen Rangfolge aus den angeordneten Bewegungsvektoren ausgewählt, um den prädizierten Vektor (basierend auf den ausgewählten Bewegungsvektoren) zu erzeugen;
    • (C) soll der prädizierte Vektor für „den zweiten Bewegungsvektor" des aktuellen Blocks „der erste Bewegungsvektor" sein, und wenn der „zweite Bewegungsvektor" und „der erste Bewegungsvektor" auf unterschiedliche Bilder verweisen, wird der „erste Bewegungsvektor" entsprechend dem zeitlichen Abstand zwischen den Bildern skaliert, um den prädizierten Vektor zu erzeugen.
  • Spezieller ist das Bewegungsvektordekodierverfahren nach der vorliegenden Erfindung ein Bewegungsvektordekodierverfahren zum Erzeugen eines prädizierten Vektors für einen aktuellen Block, der zu dekodieren ist, und zum Dekodieren eines kodierten Bewegungsvektors unter Verwendung des prädizierten Vektors, wobei das Bewegungsvektordekodierverfahren einen Zuweisungsschritt zum Zuweisen von Kennungscodes an Bewegungsvektoren für einen entsprechenden der Vielzahl kodierter Blocks umfasst, wenn wenigstens ein Block aus der Vielzahl von dekodierten Blocks in der Nachbarschaft des aktuellen Blocks Bewegungsvektoren besitzt, die auf Referenzbilder in der gleichen Richtung in Anzeigereihenfolge verweisen; und einen Entwicklungsschritt zum Erzeugen des prädizierten Vektors für jeden der Bewegungsvektoren für den aktuellen Block basierend auf den Bewegungsvektoren mit dem gleichen Kennungscode aus den Bewegungsvektoren für die Vielzahl dekodierter Blocks umfasst. Hierbei kann in dem oben erwähnten Entwicklungsschritt folgendes (a) und (b) ausgeführt werden:
    • (a) Im Entwicklungsschritt wird der prädizierte Vektor basierend auf den Bewegungsvektoren für die Vielzahl von dekodierten Blocks mit dem gleichen Kennungscode wie dem Kennungscode, der dem Bewegungsvektor für den aktuellen Block zugewiesen ist, erzeugt.
    • (b) Im Entwicklungsschritt wird der prädizierte Vektor durch Verknüpfen eines durch jeden Kennungscode für die Bewegungsvektoren erzeugten prädizierten Kandidatenvektors mit dem gleichen Kennungscode aus den Bewegungsvektoren für die Vielzahl dekodierter Blocks mit dem Kennungscode für den Bewegungsvektor für den aktuellen Block erzeugt. Die Bewegungsvektoren für den dekodierten Block werden unterschieden basierend auf einer der absteigenden Reihenfolge und aufsteigenden Reihenfolge zeitlicher Abstände in der Anzeigereihenfolge aus einem den aktuellen Block enthaltenden Bild zu den Referenzbildern, auf die durch die Bewegungsvektoren verwiesen wird.
  • Folglich können die Bewegungsvektoren, die in dem Verfahren kodiert werden wie es in der ersten Ausführungsform gezeigt ist, fehlerfrei dekodiert werden.
  • In der vorliegenden Ausführungsform wird ein Bewegungsvektor eines aktuellen Blocks unter Verwendung des Mittelwertes der Bewegungsvektoren der drei vorher dekodierten benachbarten Blocks als ein prädizierter Vektor dekodiert, jedoch kann die Anzahl der benachbarten Blocks eine beliebige andere Anzahl sein, und der prädizierte Vektor kann durch beliebige andere Verfahren bestimmt werden. Zum Beispiel können die Bewegungsvektoren für den Block unmittelbar links vom aktuellen Block für einen prädizierten Vektor verwendet werden.
  • Wenn zum Beispiel die Blocks von 8·8 Pixel der vorliegenden Ausführungsform und Blocks beliebiger anderer Größen gemischt werden, können die folgenden dekodierten benachbarten Blocks B, C und D für den aktuellen Block A genutzt werden. Spezieller, es kann festgelegt werden, dass der Block B ein Block ist, der ein Pixel links von dem oberen linken Pixel im Block A enthält, der Block C ein Block ist, der ein Pixel direkt über dem oberen linken Pixel im Block A enthält und der Block D ein Block ist, der ein Pixel über und rechts von dem oberen rechten Pixel im Block A enthält.
  • In der vorliegenden Ausführungsform wurden die Orte der vorher dekodierten benachbarten Blocks zur Bewegungsvektordekodierung mit Bezug auf 3A3D erläutert, wobei sich jedoch beliebige andere Orte anwenden lassen.
  • In der vorliegenden Ausführung wird der Bewegungsvektor durch Addieren des Bewegungsvektors eines aktuellen Blocks und des aus den Bewegungsvektoren für die benachbarten Blocks erhaltenen prädizierten Vektors dekodiert, jedoch kann er durch andere Methoden als die Addition dekodiert werden.
  • Außerdem wurde in der vorliegenden Ausführung jeweils das erste, zweite und dritte Verfahren zum Erzeugen des prädizierten Vektors zur Bewegungsvektordekodierung erläutert, wobei diese Verfahren in Kombination verwendet werden können.
  • Wenn zum Beispiel das erste und zweite Verfahren zum Erzeugen von prädizierten Vektoren kombiniert werden, kann der prädizierte Vektor entsprechend dem Ablauf erzeugt werden, wie es in 7 gezeigt ist. Wenn das zweite und dritte Verfahren zum Erzeugen prädizierter Vektoren kombiniert werden, kann das dritte Verfahren anstelle von S115 bis S118 in 7 ausgeführt werden.
  • In der vorliegenden Ausführungsform wird ein prädizierter Vektor zum Dekodieren von Bewegungsvektoren in der Annahme erzeugt, dass ein aktueller Block nur vorwärts gerichtete Bezugsbewegungsvektoren besitzt, jedoch kann der prädizierte Vektor in der gleichen Weise erzeugt werden, auch wenn der aktuelle Block einen rückwärts gerichteten Bezugsbewegungsvektor aufweist.
  • In der vorliegenden Ausführungsform wurde der Fall erläutert, bei dem die maximale Anzahl von Referenzbildern zwei ist, wobei es jedoch drei oder mehr sein können.
  • Außerdem gibt es die folgenden Verfahren zum Speichern und Verwalten von Bewegungsvektoren in der Bewegungsvektor-Speichereinheit 706 der vorliegenden Ausführungsform:
    • (1) Bewegungsvektoren für benachbarte Blocks und deren Reihenfolge (Kennungscodes, die anzeigen, ob sie die ersten Bewegungsvektoren oder die zweiten Bewegungsvektoren sind) werden so gespeichert, um den ersten oder den zweiten Bewegungsvektor für jeden benachbarten Block aus der Bewegungsvektor-Speichereinheit 706 unter Verwendung der Kennungscodes zu erfassen; und
    • (2) die Orte zum Speichern des ersten Bewegungsvektors und des zweiten Bewegungsvektors für jeden benachbarten Block werden vorher bestimmt, um den ersten oder den zweiten Bewegungsvektor für den benachbarten Block aus der Bewegungsvektor-Speichereinheit 706 zu erfassen, indem auf deren Speicherstellen zugegriffen wird.
  • Wenn ein Programm zur Ausführung der Struktur des Bewegungsvektorkodierverfahrens, des Bildkodierverfahrens einschließlich Bewegungsvektorkodierverfahren, des Bewegungsvektordekodierverfahrens oder des Bilddekodierverfahrens einschließlich Bewegungsvektordekodierverfahren, wie in der ersten und der zweiten Ausführungsform gezeigt, auf einem Speichermedium wie einer Diskette aufgezeichnet ist, wird es außerdem möglich die Verarbeitung, wie in diesen Ausführungsformen dargestellt, bequem in einem unabhängigen Computersystem durchzuführen.
  • 10A, 10B und 10C sind Darstellungen, die den Fall zeigen, bei dem die Verarbeitung in einem Computersystem unter Verwendung einer Diskette durchgeführt wird, die das oben erwähnte Programm speichert.
  • 10B zeigt eine Diskette und die Vorderansicht sowie die Querschnittsansicht der äußeren Erscheinung der Diskette, und 10A zeigt ein Beispiel eines physikalischen Formats einer Diskette als Speichermedium selbst. Eine Diskette FD ist in einer Hülle F enthalten, wobei eine Vielzahl von Spuren Tr auf der Oberfläche der Scheibe in Radiusrichtung konzentrisch vom Umfang ausgebildet ist und jede Spur in 16 Sektoren Se in Winkelrichtung unterteilt ist. Deshalb wird, was die das oben erwähnte Programm speichernde Diskette betrifft, das Bildkodierverfahren als das Programm in einem Bereich aufgezeichnet, der diesem auf der Diskette FD zugeordnet ist.
  • 10C zeigt die Struktur zum Schreiben und Lesen des Programms auf die und von der Diskette FD. Wenn das Programm auf der Diskette aufgezeichnet wird, schreibt das Computersystem Cs das Bildkodierverfahren oder das Bilddekodierverfahren als Programm über ein Diskettenlaufwerk auf die Diskette FD. Zum Aufbau des Bildkodierverfahrens im Computersystem durch das auf der Diskette aufgezeichnete Programm wird das Programm über das Diskettenlaufwerk von der Diskette ausgelesen und auf das Computersystem übertragen.
  • Die obige Erläuterung wird in der Annahme gemacht, dass ein Speichermedium eine Diskette ist, jedoch kann die gleiche Verarbeitung auch unter Verwendung einer optischen Speicherplatte durchgeführt werden. Außerdem ist das Speichermedium nicht auf eine Diskette und eine optische Speicherplatte beschränkt, sondern es können beliebige andere Medien wie beispielsweise eine Chipkarte und eine ROM Kassette verwendet werden, wenn auf ihnen ein Programm aufgezeichnet werden kann.
  • 1114 sind Darstellungen der Vorrichtungen zum Durchführen der Kodier- oder Dekodierverarbeitung nach der ersten und zweiten Ausführungsform sowie des sie verwendenden Systems.
  • 11 ist ein Blockdiagramm, das den gesamten Aufbau eines Content-Providing-Systems ex100 zur Durchführung eines Content-Verteilungsservices darstellt. Der Bereich zur Bereitstellung eines Kommunikationsservices ist in Zellen von gewünschter Größe eingeteilt, und Mobilstationen ex107–ex110, die feste Funkstationen sind, sind in entsprechenden Zellen angeordnet.
  • Dieses Content-Providing-System ex100 ist mit Vorrichtungen wie Computer ex111, PDA-Computer (elektronischer Assistent) ex112, Kamera ex113, Mobiltelefon ex114 und ein mit Kamera ausgestattetes Mobiltelefon ex115 über Internet ex101, Internetprovider ex102, Telefonnetz ex104 und Mobilstationen ex107–ex110 verbunden.
  • Jedoch ist das Content-Providing-System ex100 nicht auf den wie in 11 gezeigten Aufbau beschränkt und kann mit einer beliebigen Kombination von ihnen verbunden werden. Außerdem kann jede Vorrichtung direkt mit dem Telefonnetz ex104, nicht durch die Mobilstationen ex107–ex110, verbunden werden.
  • Die Kamera ex113 ist ein Gerät wie eine digitale Videokamera, die Bewegtbilder aufnehmen kann. Das Mobiltelefon kann das Mobiltelefon eines PDC-Systems (persönliche digitale Kommunikation), eines CDMA-Systems (codegeteilter Mehrfachzugriff), eines W-CDMA-Systems (breitbandiger codegeteilter Mehrfachzugriff) oder eines GSM-Systems (globales Mobilfunksystem nach GSM-Standard), eines PHS (schnurloses Mobilfunksystem) oder dergleichen sein.
  • Ein Streaming-Server ex103 wird über das Telefonnetz ex104 und die Mobilstation ex109 mit der Kamera ex113 verbunden, der eine unmittelbar übertragene Verteilung oder dergleichen unter Verwendung der Kamera ex113 auf der Basis der vom Benutzer übertragenen kodierten Daten ermöglicht. Entweder die Kamera ex113 oder der Server zum Übertragen der Daten kann die von der Kamera aufgenommenen Daten kodieren. Außerdem können die von einer Kamera ex116 aufgenommenen Bewegtbildaten über den Computer ex111 zu dem Streaming-Server ex103 übertragen werden. Die Kamera ex116 ist ein Gerät wie beispielsweise eine Digitalkamera, die stehende Bilder und Bewegtbilder aufnehmen kann. Entweder die Kamera ex116 oder der Computer ex111 kann die Bewegtbilddaten kodieren. Eigentlich führt ein in dem Computer ex111 oder der Kamera ex116 enthaltener LSI ex117 (hochintegrierter Schaltkreis) Kodierverarbeitung durch. Software zum Kodieren und Dekodieren von Bildern kann in einen beliebigen Typ von Speichermedium (wie eine CD-ROM, eine Diskette und eine Festplatte), das vom Computer ex111 oder dergleichen lesbar ist, integriert werden. Außerdem kann das mit einer Kamera ausgestattete Mobiltelefon ex115 die Bewegtbilddaten übertragen. Diese Bewegtbilddaten sind die Daten, die durch den im Mobiltelefon ex115 enthaltenen LSI kodiert werden.
  • Beim Content-Providing-System ex100 werden Inhalte (wie ein unmittelbar übertragenes Musikvideo), die von Benutzern mittels Kamera ex113, Kamera ex116 oder dergleichen aufgenommen wurden, in der gleichen Weise wie die erste Ausführungsform kodiert und zum Streaming-Server ex103 übertragen, während der Streaming-Server ex103 eine Verteilung von digitalen Bild- und Toninhalten der Inhaltsdaten an die Inhaltsprogramme auf ihre Anforderung hin vornimmt. Die Verbindungsprogramme umfassen den Computer ex111, den PDA ex112, die Kamera ex113, das Mobiltelefon ex114 und so weiter, die die oben erwähnten kodierten Daten dekodieren können. Beim Content-Providing-System ex100 können die Verbindungsprogramme somit die kodierten Daten empfangen und reproduzieren und können außerdem die Daten in Echtzeit empfangen, dekodieren und reproduzieren, um personenbezogenes Broadcasting zu verwirklichen.
  • Wenn jedes Gerät in diesem System das Kodieren oder Dekodieren durchführt, können die Bewegtbild-Kodiervorrichtung oder die Bewegtbild-Dekodiervorrichtung, wie sie in der oben erwähnten ersten oder zweiten Ausführungsform gezeigt sind, verwendet werden.
  • Als Beispiel wird ein Mobiltelefon erläutert.
  • 12 ist eine grafische Darstellung, die das Mobiltelefon ex115 zeigt, das unter Verwendung des in der ersten und der zweiten Ausführungsform erläuterten Bewegtbildkodierverfahrens und des Bewegtbilddekodierverfahrens realisiert wird. Das Mobiltelefon ex115 besitzt eine Antenne ex201 zum Senden und Empfangen von Funkwellen zwischen der Mobilstation ex110, eine Kameraeinheit ex203 wie eine CCD-Kamera, die Bewegtbilder und stehende Bilder aufnehmen kann, eine Displayeinheit ex202 wie eine Flüssigkristallanzeige zum Anzeigen der Daten, die erhalten werden durch Dekodieren von Bildern und dergleichen, die von der Kameraeinheit ex203 aufgenommen oder von der Antenne ex201 empfangen wurden, ein Hauptgehäuse einschließlich einer Gruppe von Bedientasten ex204, eine Sprachausgabeeinheit ex208 wie ein Lautsprecher zur Ausgabe von Stimmen, eine Spracheingabeeinheit 205 wie ein Mikrofon zur Eingabe von Stimmen, ein Speichermedium ex207 zum Speichern von kodierten oder dekodierten Daten wie Daten von Bewegtbildern oder stehenden Bildern, die von der Kamera aufgenommen wurden, sowie Daten von Bewegtbildern oder stehenden Bildern von empfangenen E-Mails, und eine Slot-Einheit ex206 zum Anbringen des Speichermediums ex207 in dem Mobiltelefon ex115. Das Speichermedium ex207 enthält ein blockweise löschbares Speicherelement, eine Art von EEPROM (elektrisch löschbarer und programmierbarer Nur-Lese-Speicher), d. h. ein elektrisch löschbarer und wieder beschreibbarer, nicht flüchtiger Speicher in einem Kunststoffgehäuse wie beispielsweise eine SD-Karte.
  • Als Nächstes wird mit Bezug auf 13 das Mobiltelefon ex115 erläutert. Im Mobiltelefon ex115 sind eine Hauptsteuereinheit ex311 zur gesamten Steuerung jeder Einheit des Hauptgehäuses einschließlich der Displayeinheit ex202 und der Bedientasten ex204 mit einer Versorgungsstromkreiseinheit ex310, einer Funktionseingabe-Steuereinheit ex304, einer Bildkodiereinheit ex312, einer Kameraschnittstelleneinheit ex303, einer LCD-Steuereinheit ex302 (Flüssigkristallanzeige), einer Bilddekodiereinheit ex309, einem Multiplexer/Demultiplexer ex308, einer Lese-/Schreibeinheit ex307, einer Modemschaltkreiseinheit ex306 und einer Sprachverarbeitungseinheit ex305 über einen synchronen Bus ex313 miteinander verbunden.
  • Wenn durch die Bedienung eines Benutzers eine Rufbeendigungstaste oder eine Stromtaste eingeschaltet wird, versorgt die Versorgungsstromkreiseinheit ex310 entsprechende Einheiten mit Strom aus einem Akkupack, um das mit einer Kamera ausgestattete digitale Mobiltelefon ex115 in einen Bereitzustand zu aktivieren.
  • Im Mobiltelefon ex115 wandelt die Sprachverarbeitungseinheit ex305 die von der Spracheingabeeinheit ex205 im Dialogbetrieb empfangenen Sprachsignale mit Steuerung der Hauptsteuereinheit ex311 einschließlich CPU, ROM und RAM in digitale Sprachdaten um, wobei die Modemschaltkreiseinheit ex306 eine Streuspektrumsverarbeitung der digitalen Sprachdaten und die Sende-/Empfangsschaltkreiseinheit ex301 eine Digital-Analog-Umwandlung und Frequenzumwandlung der Daten durchführt, um sie über die Antenne ex201 zu übertragen. Außerdem verstärkt im Mobiltelefon ex115 die Sende-/Empfangsschaltkreiseinheit ex301 die von der Antenne ex201 im Dialogbetrieb empfangenen Daten und führt eine Frequenzumwandlung sowie Analog-Digital-Umwandlung der Daten durch, wobei die Modemschaltkreiseinheit ex306 eine inverse Streuspektrumsverarbeitung der Daten durchführt und die Sprachverarbeitungseinheit ex305 sie in analoge Sprachdaten umwandelt, um sie über die Sprachausgabeeinheit ex208 auszugeben.
  • Außerdem werden beim Senden einer E-Mail im Datenübertragungsmodus die durch Bedienung der Bedientasten ex204 am Hauptgehäuse eingegebenen Textdaten der E-Mail über die Bedieneingabe-Steuereinheit ex304 zur Hauptsteuereinheit ex311 überfragen. In der Hauptsteuereinheit ex311 werden die Daten, nachdem die Modemschaltkreiseinheit ex306 eine Streuspektrumsverarbeitung der Textdaten und die Sende-/Empfangsschaltkreiseinheit ex301 von ihnen eine Digital-Analog-Umwandlung und Frequenzumwandlung durchgeführt hat, über die Antenne ex201 an die Mobilstation ex110 gesendet.
  • Wenn Bilddaten im Datenübertragungsmodus gesendet werden, werden die von der Kameraeinheit ex203 aufgenommenen Bilddaten über die Kameraschnittstelleneinheit ex303 der Bildkodiereinheit ex312 geliefert. Werden sie nicht gesendet, können die von der Kameraeinheit ex203 aufgenommenen Bilddaten auch direkt über die Kameraschnittstelleneinheit ex303 und die LCD-Steuereinheit ex302 auf der Displayeinheit 202 angezeigt werden.
  • Die Bildkodiereinheit ex312, die die in der vorliegenden Erfindung erläuterte Bildkodiervorrichtung enthält, kodiert die von der Kameraeinheit ex203 gelieferten Bilddaten durch das für die Bildkodiervorrichtung verwendete Kodierverfahren, wie es in der oben erwähnten ersten Ausführung dargestellt ist, um sie in kodierte Bilddaten umzuwandeln und überträgt sie an den Multiplexer/Demultiplexer ex308. Gleichzeitig überträgt das Mobiltelefon ex115 die von der Spracheingabeeinheit ex205 während der Aufnahme von Bildern durch die Kameraeinheit ex203 empfangenen Stimmen an den Multiplexer/Demultiplexer ex308 über die Sprachverarbeitungseinheit ex305 als digitale Sprachdaten.
  • Der Multiplexer/Demultiplexer ex308 sendet gleichzeitig die von der Bildkodiereinheit ex312 gelieferten kodierten Bilddaten und die von der Sprachverarbeitungseinheit ex305 gelieferten Sprachdaten durch ein vorher bestimmtes Verfahren, wobei die Modemschaltkreiseinheit ex306 eine Streuspektrumsverarbeitung der sich ergebenden gleichzeitig gesendeten Daten durchführt und die Sende-/Empfangsschaltkreiseinheit ex301 eine Digital-Analog-Umwandlung und Frequenzumwandlung der Daten zum Senden über die Antenne ex201 durchführt.
  • Was das Empfangen von Daten einer Bewegtbilddatei betrifft, die mit einer Internetseite oder dergleichen im Datenübertragungsmodus verlinkt ist, führt die Modemschaltkreiseinheit ex306 eine inverse Streuspektrumsverarbeitung der Daten durch, die von der Mobilstation ex110 über die Antenne ex201 empfangen wurden und überträgt die sich ergebenden gleichzeitig gesendeten Daten an den Multiplexer/Demultiplexer ex308.
  • Um die über die Antenne ex201 empfangenen, gleichzeitig gesendeten Daten zu dekodieren, entschachtelt der Multiplexer/Demultiplexer ex308 die gleichzeitig gesendeten Daten zu einem Bitstrom von Bilddaten und einen Bitstrom von Sprachdaten und liefert die kodierten Bilddaten über den synchronen Bus ex313 jeweils an die Bilddekodiereinheit ex309 und die Sprachdaten an die Sprachverarbeitungseinheit ex305.
  • Als Nächstes dekodiert die Bilddekodiereinheit ex309, die die in der vorliegenden Erfindung erläuterte Bilddekodiervorrichtung enthält, den Bitstrom von Bilddaten durch das Dekodierverfahren paarweise mit dem Kodierverfahren, wie es in den oben erwähnten Ausführungsformen dargestellt ist, um reproduzierte Bewegtbilddaten zu entwickeln und liefert diese Daten über die LCD-Steuereinheit ex302 an die Displayeinheit ex202, womit Bilddaten, die zum Beispiel in einer mit einer Internetseite verlinkten Bewegtbilddatei enthalten sind, angezeigt werden. Gleichzeitig wandelt die Sprachverarbeitungseinheit ex305 die Sprachdaten in analoge Sprachdaten um und liefert diese Daten an die Sprachausgabeeinheit ex208, womit Sprachdaten, die zum Beispiel in einer mit einer Internetseite verlinkten Bewegtbilddatei enthalten sind, reproduziert werden.
  • Die vorliegende Erfindung ist nicht auf das oben erwähnte System beschränkt, und zumindest kann entweder die Bildkodiervorrichtung oder die Bilddekodiervorrichtung in den oben erwähnten Ausführungsformen in ein digitales Funkübertragungssystem einbezogen werden, wie es in 14 gezeigt ist. Eine solche vom Boden oder per Satellit durchgeführte digitale Übertragung durch Funk hat kürzlich von sich reden gemacht. Spezieller wird ein Bitstrom von Bildinformationen von einem Funksender ex409 durch Funkwellen zu einem Fernmeldesatelliten ex410 gesendet oder an ihn übertragen. Nach dessen Empfang sendet der Fernmeldesatellit ex410 Funkwellen zur Übermittlung, empfängt eine Hausantenne ex406 mit einer Satellitenfunk-Empfangsfunktion die Funkwellen, und ein Gerät wie beispielsweise ein Fernsehempfänger ex401 oder eine Settop-Box (STB) ex407 dekodiert den Bitstrom zur Wiedergabe. Die Bilddekodiervorrichtung, wie sie in der oben erwähnten Ausführungsform gezeigt ist, kann in die Wiedergabevorrichtung ex403 implementiert werden, um den in einem Speichermedium ex402, wie eine CD und DVD, aufgezeichneten Bitstrom zu lesen und ihn zu dekodieren. In diesem Fall werden die reproduzierten Bildsignale auf einem Monitor ex404 angezeigt. Es wird auch in Erwägung gezogen, die Bilddekodiervorrichtung in der Settop-Box ex407, die an ein Kabel ex405 für Kabelfernsehen oder die Antenne ex406 für Satellitenfunk und/oder bodenstationierten Rundfunk angeschlossen ist, zu implementieren, um die Bildsignale auf einem Monitor ex408 des Fernsehempfängers ex401 wiederzugeben. Die Bilddekodiervorrichtung kann in den Fernsehempfänger, jedoch nicht in die Setup-Box, einbezogen werden. Oder, ein Auto ex412 mit einer Antenne ex411 kann Signale vom Satelliten ex410 oder von der Mobilstation ex107 empfangen, um Bewegtbilder auf einem Anzeigegerät wie eine Autonavigationsvorrichtung ex413 im Auto ex412 wiederzugeben.
  • Außerdem kann die wie in der oben erwähnten Ausführungsform gezeigte Bildkodiervorrichtung Bildsignale zum Aufzeichnen auf einem Speichermedium kodieren. Als konkretes Beispiel gibt es ein Aufzeichnungsgerät ex420, wie beispielsweise einen DVD Rekorder, zum Aufzeichnen von Bildsignalen auf eine Digitalvideoplatte ex421 und ein Plattenaufzeichnungsgerät, um sie auf einer Festplatte aufzuzeichnen. Sie können auch auf einer SD Karte (Speicherkante) ex422 aufgezeichnet werden. Wenn das Aufzeichnungsgerät ex420 die in der oben erwähnten Ausführungsform gezeigte Bilddekodiervorrichtung enthält, können die auf der Digitalvideoplatte ex421 oder der SD-Karte ex422 aufgezeichneten Bildsignale zur Anzeige auf dem Monitor ex408 wiedergegeben werden.
  • Als Aufbau des Autonavigationsgerätes ex413 ist der Aufbau ohne die Kameraeinheit ex203, die Kameraschnittstelleneinheit ex303 und die Bildkodiereinheit ex312, ohne die Einheiten gemäß 13, vorstellbar. Das gleiche gilt für den Computer ex111, den Fernseh(empfänger) ex401 und anderes.
  • Außerdem können drei Typen von Implementierungen für ein Endgerät wie das oben erwähnte Mobiltelefon ex114 in Erwägung gezogen werden. Ein sowohl mit einem Enkoder als auch einem Dekoder ausgestattetes Sende-Empfangs-Endgerät, ein nur mit einem Enkoder ausgestattetes Sendeendgerät und ein nur mit einem Dekoder ausgestattetes Empfangsendgerät.
  • Wie oben beschrieben, ist es möglich, das Bewegtbildkodierverfahren oder das Bewegtbilddekodierverfahren in den oben erwähnten Ausführungsformen auf eine beliebige der oben genannten Vorrichtungen und Systeme anzuwenden, wobei durch Anwendung dieses Verfahrens die in den oben genannten Ausführungsformen beschriebenen Effekte erreicht werden können.
  • Aus der so weit beschriebenen Erfindung wird ersichtlich, dass die Ausführungsformen der Erfindung in vieler Hinsicht unterschiedlich gestaltet werden können. Solche Änderungen sind nicht als eine Abweichung von Geist und Umfang der Erfindung zu betrachten, womit alle diejenigen Modifizierungen zur Einbeziehung innerhalb des Umfangs der folgenden Ansprüche beabsichtigt sind, die sich dem Fachmann erschließen würden.
  • Industrielle Anwendbarkeit
  • Die vorliegende Erfindung lässt sich anwenden auf eine Bewegungsvektorkodiervorrichtung und eine Bewegtbildkodiervorrichtung zum Erzeugen eines Bewegungsvektors für einen aktuellen Block, der zu kodieren ist, und eines prädizierten Vektors für den Bewegungsvektor; zum Kodieren der Differenz zwischen dem Bewegungsvektor und dem prädizierten Vektor und Unterbringen der kodierten Differenz in einem ein Bewegtbild darstellenden Bitstrom sowie auf eine Bewegungsvektordekodiervorrichtung und eine Bewegtbilddekodiervorrichtung zum Dekodieren des Bitstroms.

Claims (2)

  1. Bewegungsvektordekodierverfahren zum Erzeugen eines vorausberechneten Bewegungsvektors für einen aktuellen Block, der zu dekodieren ist, und zum Dekodieren eines kodierten Bewegungsvektors des aktuellen Blocks unter Verwendung des vorausberechneten Bewegungsvektors, wobei das Bewegungsvektordekodierverfahren umfasst: Zuweisen einer Kennung zu einem jeweiligen Bewegungsvektor der Mehrzahl von dekodierten Blocks auf einer Blockbasis gemäß einer Reihenfolge, in der die Bewegungsvektoren eines jeden Blocks in einem Bitstrom erscheinen, wenn wenigstens ein Block aus einer Mehrzahl von dekodierten Blocks in der Nachbarschaft des aktuellen Blocks zwei Bewegungsvektoren aufweist, die auf Referenzbilder in der gleichen Richtung in Anzeigereihenfolge verweisen, und Ableiten des vorausberechneten Bewegungsvektors für jeden Bewegungsvektor des aktuellen Blocks unter Verwendung der Bewegungsvektoren mit der gleichen Kennung, wie sie zu jedem Bewegungsvektor des aktuellen Blocks aus den Bewegungsvektoren für die Mehrzahl von dekodierten Blocks zugewiesen ist.
  2. Bewegungsvektordekodiervorrichtung (711) zum Erzeugen eines vorausberechneten Bewegungsvektors für einen aktuellen Block, der zu dekodieren ist, und zum Dekodieren eines kodierten Bewegungsvektors des aktuellen Blocks unter Verwendung des vorausberechneten Bewegungsvektors, wobei die Bewegungsvektordekodiervorrichtung umfasst: eine Zuweisungseinheit zum Zuweisen einer Kennung zu einem jeweiligen Bewegungsvektor der Mehrzahl von dekodierten Blocks auf einer Blockbasis gemäß einer Reihenfolge, in der die Bewegungsvektoren eines jeden Blocks in einem Bitstrom erscheinen, wenn wenigstens ein Block aus einer Mehrzahl von dekodierten Blocks in der Nachbarschaft des aktuellen Blocks zwei Bewegungsvektoren aufweist, die auf Referenzbilder in der gleichen Richtung in Anzeigereihenfolge verweisen, und eine Ableitungseinheit zum Ableiten des vorausberechneten Bewegungsvektors für jeden Bewegungsvektor des aktuellen Blocks unter Verwendung der Bewegungsvektoren mit der gleichen Kennung, wie sie zu jedem Bewegungsvektor des aktuellen Blocks aus den Bewegungsvektoren für die Mehrzahl von dekodierten Blocks zugewiesen ist.
DE2003620243 2002-04-23 2003-04-10 Bewegungsvektorcodierungsverfahren und bewegungsvektordecodierungsverfahren Expired - Lifetime DE60320243T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2002121051 2002-04-23
JP2002121051 2002-04-23
JP2002173865 2002-06-14
JP2002173865 2002-06-14
PCT/JP2003/004540 WO2003092299A1 (en) 2002-04-23 2003-04-10 Motion vector encoding method and motion vector decoding method

Publications (2)

Publication Number Publication Date
DE60320243D1 DE60320243D1 (de) 2008-05-21
DE60320243T2 true DE60320243T2 (de) 2009-07-09

Family

ID=29272326

Family Applications (3)

Application Number Title Priority Date Filing Date
DE2003620243 Expired - Lifetime DE60320243T2 (de) 2002-04-23 2003-04-10 Bewegungsvektorcodierungsverfahren und bewegungsvektordecodierungsverfahren
DE60324482T Expired - Lifetime DE60324482D1 (de) 2002-04-23 2003-04-10 Bewegungsvektordecodierungsverfahren
DE60332974T Expired - Lifetime DE60332974D1 (de) 2002-04-23 2003-04-10 Kodierung und Dekodierung von Bewegungsvektoren

Family Applications After (2)

Application Number Title Priority Date Filing Date
DE60324482T Expired - Lifetime DE60324482D1 (de) 2002-04-23 2003-04-10 Bewegungsvektordecodierungsverfahren
DE60332974T Expired - Lifetime DE60332974D1 (de) 2002-04-23 2003-04-10 Kodierung und Dekodierung von Bewegungsvektoren

Country Status (16)

Country Link
US (14) US7394853B2 (de)
EP (6) EP1773067B1 (de)
JP (4) JP4130783B2 (de)
KR (4) KR100947691B1 (de)
CN (5) CN100542291C (de)
AT (3) ATE471038T1 (de)
AU (1) AU2003236034C1 (de)
BR (2) BR0304549A (de)
CA (1) CA2443861C (de)
DE (3) DE60320243T2 (de)
DK (1) DK2216996T3 (de)
ES (6) ES2318822T3 (de)
MX (1) MXPA03009608A (de)
MY (1) MY136457A (de)
TW (2) TWI323614B (de)
WO (1) WO2003092299A1 (de)

Families Citing this family (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4114859B2 (ja) * 2002-01-09 2008-07-09 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
USRE50574E1 (en) 2002-01-09 2025-09-02 Dolby International Ab Motion vector coding method and motion vector decoding method
JP2004023458A (ja) * 2002-06-17 2004-01-22 Toshiba Corp 動画像符号化/復号化方法及び装置
KR100906473B1 (ko) * 2002-07-18 2009-07-08 삼성전자주식회사 개선된 움직임 벡터 부호화 및 복호화 방법과 그 장치
JP4373702B2 (ja) 2003-05-07 2009-11-25 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラム
CN100594730C (zh) * 2003-06-25 2010-03-17 汤姆森许可贸易公司 帧间的快速模式确定编码方法及其装置
JP2006020095A (ja) * 2004-07-01 2006-01-19 Sharp Corp 動きベクトル検出回路、画像符号化回路、動きベクトル検出方法および画像符号化方法
CN101023674B (zh) * 2004-09-16 2010-08-18 汤姆森特许公司 用于中间帧的快速模式判定的方法和装置
WO2006052577A2 (en) * 2004-11-04 2006-05-18 Thomson Licensing Method and apparatus for fast mode decision of b-frames in a video encoder
JP2008544598A (ja) * 2005-06-10 2008-12-04 エヌエックスピー ビー ヴィ 交互の上向き及び下向き動きベクトル
US8761259B2 (en) * 2005-09-22 2014-06-24 Qualcomm Incorporated Multi-dimensional neighboring block prediction for video encoding
JP2007166381A (ja) * 2005-12-15 2007-06-28 Univ Of Tokyo 多視点画像の圧縮符号化方法及び復号化方法
US20070274385A1 (en) * 2006-05-26 2007-11-29 Zhongli He Method of increasing coding efficiency and reducing power consumption by on-line scene change detection while encoding inter-frame
CN101573982B (zh) * 2006-11-03 2011-08-03 三星电子株式会社 利用运动矢量跟踪编码/解码图像的方法和装置
KR101356734B1 (ko) * 2007-01-03 2014-02-05 삼성전자주식회사 움직임 벡터 트랙킹을 이용한 영상의 부호화, 복호화 방법및 장치
JP4898415B2 (ja) * 2006-12-19 2012-03-14 キヤノン株式会社 動画像符号化装置及び動画像符号化方法
KR101356735B1 (ko) 2007-01-03 2014-02-03 삼성전자주식회사 전역 움직임 벡터를 사용해서 움직임 벡터를 추정하기 위한방법, 장치, 인코더, 디코더 및 복호화 방법
TWI373696B (en) * 2007-04-04 2012-10-01 Mstar Semiconductor Inc Methods of calculating a motion estimation value and estimating a motion vector of an image
US8526499B2 (en) * 2007-06-15 2013-09-03 Sungkyunkwan University Foundation For Corporate Collaboration Bi-prediction coding method and apparatus, bi-prediction decoding method and apparatus, and recording medium
WO2008153262A1 (en) 2007-06-15 2008-12-18 Sungkyunkwan University Foundation For Corporate Collaboration Bi-prediction coding method and apparatus, bi-prediction decoding method and apparatus, and recording midium
CN100583649C (zh) * 2007-07-23 2010-01-20 华为技术有限公司 矢量编/解码方法、装置及流媒体播放器
KR101835342B1 (ko) 2007-10-16 2018-03-07 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
US8817878B2 (en) * 2007-11-07 2014-08-26 Broadcom Corporation Method and system for motion estimation around a fixed reference vector using a pivot-pixel approach
US20100303155A1 (en) * 2008-01-29 2010-12-02 Yuki Maruyama Image coding device, image coding method, image coding integrated circuit and image coding program
ES2812473T3 (es) 2008-03-19 2021-03-17 Nokia Technologies Oy Vector de movimiento combinado y predicción de índice de referencia para la codificación de vídeo
JP5401071B2 (ja) * 2008-10-09 2014-01-29 株式会社Nttドコモ 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、動画像復号プログラム、動画像処理システムおよび動画像処理方法
KR101377527B1 (ko) * 2008-10-14 2014-03-25 에스케이 텔레콤주식회사 복수 개의 참조 픽처의 움직임 벡터 부호화/복호화 방법 및장치와 그를 이용한 영상 부호화/복호화 장치 및 방법
US8804516B2 (en) 2008-12-04 2014-08-12 Cisco Technology, Inc. Opportunistic transmissions within MoCA
KR101590511B1 (ko) * 2009-01-23 2016-02-02 에스케이텔레콤 주식회사 움직임 벡터 부호화/복호화 장치 및 방법과 그를 이용한 영상 부호화/복호화 장치 및 방법
US8320455B2 (en) 2009-03-05 2012-11-27 Qualcomm Incorporated System and method to process motion vectors of video data
EP2445215B1 (de) * 2009-06-18 2015-03-18 Kabushiki Kaisha Toshiba Vorrichtung für dynamische bildkodierung und vorrichtung für dynamische bilddekodierung
US9628794B2 (en) 2009-06-18 2017-04-18 Kabushiki Kaisha Toshiba Video encoding apparatus and a video decoding apparatus
JP2009290889A (ja) * 2009-08-07 2009-12-10 Ntt Docomo Inc 動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラム
KR20110068793A (ko) * 2009-12-16 2011-06-22 한국전자통신연구원 영상 부호화 및 복호화를 위한 장치 및 방법
KR101348613B1 (ko) 2009-12-23 2014-01-10 한국전자통신연구원 영상의 부호화/복호화 장치 및 그 방법
KR101522850B1 (ko) * 2010-01-14 2015-05-26 삼성전자주식회사 움직임 벡터를 부호화, 복호화하는 방법 및 장치
WO2011093688A2 (ko) * 2010-02-01 2011-08-04 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
US9832465B2 (en) * 2010-02-24 2017-11-28 Sharp Kabushiki Kaisha Image encoding device and image decoding device
KR101456499B1 (ko) * 2010-07-09 2014-11-03 삼성전자주식회사 움직임 벡터의 부호화 방법 및 장치, 그 복호화 방법 및 장치
US9300970B2 (en) 2010-07-09 2016-03-29 Samsung Electronics Co., Ltd. Methods and apparatuses for encoding and decoding motion vector
EP3570542B1 (de) * 2010-11-24 2022-09-14 Velos Media International Limited Bewegungsvektorberechnungsverfahren, bildcodierungsverfahren, bilddecodierungsverfahren, bewegungsvektorberechnungsvorrichtung und bildcodierungs- und decodierungsvorrichtung
US20120163457A1 (en) * 2010-12-28 2012-06-28 Viktor Wahadaniah Moving picture decoding method, moving picture coding method, moving picture decoding apparatus, moving picture coding apparatus, and moving picture coding and decoding apparatus
KR101913086B1 (ko) * 2011-01-12 2018-10-29 선 페이턴트 트러스트 동화상 부호화 방법 및 동화상 복호화 방법
RU2594489C2 (ru) 2011-02-22 2016-08-20 Сан Пэтент Траст Способ кодирования изображения, способ декодирования изображения, устройство кодирования изображения, устройство декодирования изображения и устройство кодирования и декодирования изображения
JP6108309B2 (ja) 2011-02-22 2017-04-05 サン パテント トラスト 動画像符号化方法、動画像符号化装置、動画像復号方法、および、動画像復号装置
KR102215469B1 (ko) 2011-02-22 2021-02-16 타지반 투 엘엘씨 필터 방법, 동화상 부호화 장치, 동화상 복호 장치 및 동화상 부호화 복호 장치
JP5358746B2 (ja) 2011-03-03 2013-12-04 パナソニック株式会社 動画像符号化方法、動画像符号化装置及びプログラム
US9288501B2 (en) * 2011-03-08 2016-03-15 Qualcomm Incorporated Motion vector predictors (MVPs) for bi-predictive inter mode in video coding
TWI526056B (zh) 2011-04-27 2016-03-11 Jvc Kenwood Corp A moving picture coding apparatus, a motion picture coding method, a motion picture coding program, a transmission apparatus, a transmission method, a transmission program, a video decoding apparatus, a video decoding method, a video decoding program, a reception device, a reception method, Receiving program
JP5853842B2 (ja) * 2011-04-27 2016-02-09 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム、並びに、送信装置、送信方法、及び送信プログラム
JP5853841B2 (ja) * 2011-04-27 2016-02-09 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法、及び動画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム
WO2012147344A1 (ja) 2011-04-27 2012-11-01 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法、及び動画像復号プログラム
JP5786478B2 (ja) * 2011-06-15 2015-09-30 富士通株式会社 動画像復号装置、動画像復号方法、及び動画像復号プログラム
CA2830290C (en) 2011-06-24 2018-10-09 Mediatek Inc. Method and apparatus for removing redundancy in motion vector predictors
CN108174222B (zh) 2011-06-28 2022-04-05 Lg电子株式会社 设置运动矢量列表的方法及使用其的装置
JP2014523708A (ja) * 2011-07-01 2014-09-11 モトローラ モビリティ エルエルシー 動きベクトル予測設計の簡易化
EP2736253B1 (de) * 2011-07-19 2020-03-11 Tagivan Ii Llc Filterverfahren, verfahren zur dekodierung bewegter bilder, verfahren zur kodierung bewegter bilder, vorrichtung zur dekodierung bewegter bilder, vorrichtung zur kodierung bewegter bilder und vorrichtung zur kodierung/dekodierung bewegter bilder
CN103765886B (zh) * 2011-08-29 2017-06-13 苗太平洋控股有限公司 以amvp模式产生预测区块的方法
RU2604679C2 (ru) * 2011-10-27 2016-12-10 Сан Пэтент Траст Способ кодирования изображений, способ декодирования изображений, устройство кодирования изображений и устройство декодирования изображений
KR101935977B1 (ko) 2011-10-28 2019-01-07 선 페이턴트 트러스트 화상 부호화 방법, 화상 복호 방법, 화상 부호화 장치 및 화상 복호 장치
WO2013061546A1 (ja) 2011-10-28 2013-05-02 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置
JP5768662B2 (ja) 2011-10-31 2015-08-26 富士通株式会社 動画像復号装置、動画像符号化装置、動画像復号方法、動画像符号化方法、動画像復号プログラム及び動画像符号化プログラム
US9185428B2 (en) 2011-11-04 2015-11-10 Google Technology Holdings LLC Motion vector scaling for non-uniform motion vector grid
TWI528792B (zh) 2011-11-08 2016-04-01 三星電子股份有限公司 解碼影像的裝置
TWI580264B (zh) * 2011-11-10 2017-04-21 Sony Corp Image processing apparatus and method
JP5795525B2 (ja) * 2011-12-13 2015-10-14 日本電信電話株式会社 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置,画像符号化プログラムおよび画像復号プログラム
TWI647950B (zh) * 2011-12-28 2019-01-11 日商Jvc建伍股份有限公司 Dynamic image decoding device, dynamic image decoding method, and recording medium
TWI466538B (zh) * 2012-01-20 2014-12-21 Altek Corp 影像處理方法及其裝置
US20130208795A1 (en) * 2012-02-09 2013-08-15 Google Inc. Encoding motion vectors for video compression
US8908767B1 (en) 2012-02-09 2014-12-09 Google Inc. Temporal motion vector prediction
JP2012138947A (ja) * 2012-03-12 2012-07-19 Ntt Docomo Inc 動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラム
KR20150020175A (ko) * 2012-04-24 2015-02-25 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
US9172970B1 (en) 2012-05-29 2015-10-27 Google Inc. Inter frame candidate selection for a video encoder
US11317101B2 (en) 2012-06-12 2022-04-26 Google Inc. Inter frame candidate selection for a video encoder
KR101255230B1 (ko) * 2012-06-25 2013-04-16 세종대학교산학협력단 다시점 영상에서 적응적 움직임 벡터 예측 장치 및 방법
US9503746B2 (en) 2012-10-08 2016-11-22 Google Inc. Determine reference motion vectors
US9485515B2 (en) 2013-08-23 2016-11-01 Google Inc. Video coding using reference motion vectors
JP2014187580A (ja) * 2013-03-25 2014-10-02 Kddi Corp 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法、およびプログラム
KR101445835B1 (ko) * 2013-05-28 2014-10-01 에스케이텔레콤 주식회사 움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
US9313493B1 (en) 2013-06-27 2016-04-12 Google Inc. Advanced motion estimation
KR102039708B1 (ko) * 2013-11-13 2019-11-01 삼성전자주식회사 비휘발성 메모리 장치 및 그 제조 방법
JP5705948B2 (ja) * 2013-11-15 2015-04-22 株式会社Nttドコモ 動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラム
WO2015113510A1 (en) * 2014-01-29 2015-08-06 Mediatek Inc. Method and apparatus for adaptive motion vector precision
TWI595450B (zh) 2014-04-01 2017-08-11 能晶科技股份有限公司 物件偵測系統
CN104202606B (zh) * 2014-08-18 2017-11-03 山东大学 一种基于hevc运动估计起始点确定方法
CN106303544B (zh) 2015-05-26 2019-06-11 华为技术有限公司 一种视频编解码方法、编码器和解码器
KR101782154B1 (ko) * 2015-06-05 2017-09-26 인텔렉추얼디스커버리 주식회사 움직임 벡터 차분치를 이용하는 영상 부호화 및 복호화 방법과 영상 복호화 장치
US11272207B2 (en) * 2017-06-12 2022-03-08 Futurewei Technologies, Inc. Selection and signaling of motion vector (MV) precisions
US10880573B2 (en) 2017-08-15 2020-12-29 Google Llc Dynamic motion vector referencing for video coding
US10284869B2 (en) 2017-09-28 2019-05-07 Google Llc Constrained motion field estimation for hardware efficiency
JP7088606B2 (ja) * 2018-04-02 2022-06-21 エスゼット ディージェイアイ テクノロジー カンパニー リミテッド 動画処理方法、画像処理装置、プログラム、符号化デバイス、及び復号化デバイス
WO2025255299A1 (en) * 2024-06-07 2025-12-11 Google Llc Directional storage of reference motion field motion vectors

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2699703B2 (ja) 1991-07-31 1998-01-19 松下電器産業株式会社 動き補償予測方法とそれを用いた画像信号符号化方法
AU673250B2 (en) * 1993-03-24 1996-10-31 Sony Corporation Method and apparatus for coding/decoding motion vector, and method and apparatus for coding/decoding image signal
JPH0799645A (ja) * 1993-09-28 1995-04-11 Toshiba Corp 動きベクトル検出回路
FR2725577B1 (fr) * 1994-10-10 1996-11-29 Thomson Consumer Electronics Procede de codage ou de decodage de vecteurs mouvement et dispositif de codage ou de decodage mettant en oeuvre ledit procede
JP3347954B2 (ja) * 1995-11-02 2002-11-20 三菱電機株式会社 動画像符号化装置及び動画像復号化装置
JPH10224795A (ja) * 1997-01-31 1998-08-21 Nippon Telegr & Teleph Corp <Ntt> 動画像符号化方法、復号方法、符号化器および復号器
US5978048A (en) * 1997-09-25 1999-11-02 Daewoo Electronics Co., Inc. Method and apparatus for encoding a motion vector based on the number of valid reference motion vectors
KR100487986B1 (ko) * 1997-10-23 2005-05-09 미쓰비시덴키 가부시키가이샤 화상 복호화 장치
DE69801209T2 (de) * 1998-03-20 2001-11-08 Stmicroelectronics S.R.L., Agrate Brianza Hierarchischer rekursiver Bewegungsschätzer für Bewegtbildkodierer
JP4142180B2 (ja) * 1998-10-29 2008-08-27 富士通株式会社 動きベクトル符号化装置および復号装置
EP1172765A1 (de) * 2000-07-12 2002-01-16 Deutsche Thomson-Brandt Gmbh Verfahren und Vorrichtung zur Verarbeitung von Videobildern
ATE297099T1 (de) * 2001-02-13 2005-06-15 Koninkl Philips Electronics Nv Verfahren zur codierung und decodierung von bewegungsschätzungen
US6816552B2 (en) * 2001-07-11 2004-11-09 Dolby Laboratories Licensing Corporation Interpolation of video compression frames
US7266150B2 (en) * 2001-07-11 2007-09-04 Dolby Laboratories, Inc. Interpolation of video compression frames
US7308029B2 (en) * 2003-12-23 2007-12-11 International Business Machines Corporation Method and apparatus for implementing B-picture scene changes

Also Published As

Publication number Publication date
US9020036B2 (en) 2015-04-28
US20140044172A1 (en) 2014-02-13
CA2443861C (en) 2012-09-04
EP1499133A4 (de) 2006-08-23
ATE471038T1 (de) 2010-06-15
CA2443861A1 (en) 2003-10-23
CN100542290C (zh) 2009-09-16
EP2216996A3 (de) 2011-05-04
WO2003092299A1 (en) 2003-11-06
JP4130783B2 (ja) 2008-08-06
EP1821546B1 (de) 2008-10-29
US8179968B2 (en) 2012-05-15
US8160147B2 (en) 2012-04-17
ES2400063T3 (es) 2013-04-05
JP2004072712A (ja) 2004-03-04
JP2010081648A (ja) 2010-04-08
DE60320243D1 (de) 2008-05-21
US20040218674A1 (en) 2004-11-04
KR100947692B1 (ko) 2010-03-16
CN1882089A (zh) 2006-12-20
EP2216995A2 (de) 2010-08-11
ES2400945T3 (es) 2013-04-15
EP2216995A3 (de) 2011-05-04
ES2318822T3 (es) 2009-05-01
KR20080041741A (ko) 2008-05-13
EP2216995B1 (de) 2012-12-05
CN1522545A (zh) 2004-08-18
CN1271865C (zh) 2006-08-23
EP1773067B1 (de) 2010-06-09
US8155201B2 (en) 2012-04-10
US9020037B2 (en) 2015-04-28
US20140044184A1 (en) 2014-02-13
CN100542291C (zh) 2009-09-16
KR20080041743A (ko) 2008-05-13
AU2003236034B2 (en) 2008-02-28
US20080260035A1 (en) 2008-10-23
US9020034B2 (en) 2015-04-28
AU2003236034A1 (en) 2003-11-10
US20080117979A1 (en) 2008-05-22
US20140044185A1 (en) 2014-02-13
KR100947690B1 (ko) 2010-03-16
JP2010057206A (ja) 2010-03-11
US20140044182A1 (en) 2014-02-13
DE60324482D1 (de) 2008-12-11
EP1499133A1 (de) 2005-01-19
CN1874514A (zh) 2006-12-06
JP2006222985A (ja) 2006-08-24
JP4456087B2 (ja) 2010-04-28
TWI323614B (en) 2010-04-11
CN100515083C (zh) 2009-07-15
CN100515084C (zh) 2009-07-15
ATE413068T1 (de) 2008-11-15
US9020035B2 (en) 2015-04-28
US7394853B2 (en) 2008-07-01
EP2216997A2 (de) 2010-08-11
US20080084931A1 (en) 2008-04-10
ES2343656T3 (es) 2010-08-05
MY136457A (en) 2008-10-31
US9118930B2 (en) 2015-08-25
EP2216997A3 (de) 2011-05-04
TW200633542A (en) 2006-09-16
KR20040105544A (ko) 2004-12-16
KR20080041742A (ko) 2008-05-13
AU2003236034C1 (en) 2009-01-08
EP2216996B1 (de) 2012-12-05
US20080069237A1 (en) 2008-03-20
EP1821546A1 (de) 2007-08-22
EP2216996A2 (de) 2010-08-11
DE60332974D1 (de) 2010-07-22
US8665961B2 (en) 2014-03-04
JP5167233B2 (ja) 2013-03-21
KR100947691B1 (ko) 2010-03-16
CN1882088A (zh) 2006-12-20
JP5167232B2 (ja) 2013-03-21
US8194745B2 (en) 2012-06-05
TW200306749A (en) 2003-11-16
ATE392092T1 (de) 2008-04-15
US8155200B2 (en) 2012-04-10
ES2399675T3 (es) 2013-04-02
US20140044173A1 (en) 2014-02-13
BR0304549A (pt) 2004-08-03
EP1773067A1 (de) 2007-04-11
EP2216997B1 (de) 2012-11-28
CN1874515A (zh) 2006-12-06
US20080069236A1 (en) 2008-03-20
US20140044183A1 (en) 2014-02-13
ES2301790T3 (es) 2008-07-01
US8213510B2 (en) 2012-07-03
US20120275520A1 (en) 2012-11-01
BRPI0304549B1 (pt) 2017-12-19
TWI281353B (en) 2007-05-11
US9031132B2 (en) 2015-05-12
EP1499133B1 (de) 2008-04-09
MXPA03009608A (es) 2004-03-09
KR100947689B1 (ko) 2010-03-16
DK2216996T3 (da) 2013-01-07
US20080063077A1 (en) 2008-03-13

Similar Documents

Publication Publication Date Title
DE60320243T2 (de) Bewegungsvektorcodierungsverfahren und bewegungsvektordecodierungsverfahren
DE60318307T2 (de) Bilddecodierungsverfahren für S-pictures mit Pufferrücksetzung und PN Umstellung für kontinuität.
DE60311530T2 (de) Bildcodierungsverfahren
DE60214248T2 (de) Bildkodierungsverfahren und Bilddekodierungsverfahren
EP1978748B1 (de) Entfernungsverfahren für die Codierungsverzerrung
KR100967237B1 (ko) 동화상 부호화 방법 및 동화상 복호화 방법
AU2004301091B2 (en) Method for encoding moving image and method for decoding moving image
DE60318918T2 (de) Decodierungsverfahren mit variabler Länge
KR100944851B1 (ko) 동화상 부호화 방법 및 동화상 복호화 방법
EP2164261A2 (de) Filterstärkebestimmungsverfahren, Verfahren zur Codierung und zur Decodierung von beweglichen Bildern
EP1418762A1 (de) Kodierungsverfahren für bewegliche bilder, dekodierungsverfahren für bewegliche bilder und datenaufzeichnungsmedium
EP1662802A1 (de) Codierungsverfahren und decodierungsverfahren für bewegliche bilder

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: PANASONIC CORP., KADOMA, OSAKA, JP

8364 No opposition during term of opposition