DE69232824T2 - Dekoder - Google Patents

Dekoder

Info

Publication number
DE69232824T2
DE69232824T2 DE69232824T DE69232824T DE69232824T2 DE 69232824 T2 DE69232824 T2 DE 69232824T2 DE 69232824 T DE69232824 T DE 69232824T DE 69232824 T DE69232824 T DE 69232824T DE 69232824 T2 DE69232824 T2 DE 69232824T2
Authority
DE
Germany
Prior art keywords
motion vector
data
range
vlc
variable length
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
DE69232824T
Other languages
English (en)
Other versions
DE69232824D1 (de
Inventor
Katsuji Igarashi
Mark Veltman
Yoichi Yagasaki
Jun Yonemitsu
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.)
Sony Corp
Original Assignee
Sony 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=16326838&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE69232824(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Sony Corp filed Critical Sony Corp
Publication of DE69232824D1 publication Critical patent/DE69232824D1/de
Application granted granted Critical
Publication of DE69232824T2 publication Critical patent/DE69232824T2/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
    • 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
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

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)

Description

  • Die Erfindung betrifft eine Dekodiervorrichtung für die Benutzung mit einer Kodiervorrichtung für Bewegungsvektoren, das bei der hocheffizienten Kodierung eines Bewegtbildsignals, z. B. auf der Basis der Zwischenbild-(Interframe)-Korrelation, eingesetzt wird.
  • Bei der hocheffizienten Kodierung eines Bewegtbildsignals mit Interframe-Korrelation wird die Differenz zwischen Vollbildern kodiert. Dabei wird ein Bewegungsvektor benutzt, um die Bewegung zwischen zwei Vollbildern zu berücksichtigen.
  • Und zwar wird ein Bild in Blöcke mit einer bestimmten Größe unterteilt (z. B. in Blöcke mit jeweils 16 · 16 Bildelementen, wie in Fig. 1A dargestellt). In diesem Fall zeigt ein Bewegungsvektor an, in welche Position eines anderen Bilds (Fig. 1B), von dem die Differenz herangezogen wird, sich ein bestimmter Block (konkreter Block) bewegt hat.
  • Wenn die Differenz zwischen zwei Vollbildern erzeugt wird und die Differenz gegenüber einer durch einen Bewegungsvektor verschobenen Position herangezogen wird, ist die Differenz ein Minimum, um eine hocheffiziente Kodierung zu ermöglichen. Wenn man, umgekehrt betrachtet, einen Bewegungsvektor gewinnt, bei dem die Differenz zwischen Vollbildern ein Minimum wird, kann eine solche hocheffiziente Kodierung durchgeführt werden.
  • Um die Effizienz bei der Übertragung des Bewegungsvektors zu verbessern, ist es bekannt, den Bewegungsvektor einer variablen Längenkodierung zu unterziehen. Das heißt, die Bilddaten werden, wie in Fig. 2 dargestellt, einer Bewegungsvektor-Detektorschaltung 10 zugeführt, um einen Bewegungsvektor zu delektieren. Der Bewegungsvektor wird einer variablen Längenkodierschaltung 20 zugeführt und kodiert, um einen variablen Längencode (VLC-Code) zu gewinnen.
  • Was den Bewegungsvektor betrifft, so sind seine Größe und Genauigkeit theoretisch beliebig. Der Bereich für die Größe des Bewegungsvektors kann beispielsweise ±7 Bildelemente oder ±15 Bildelemente gegenüber dem Zentrum betragen, das den Ursprung bildet. Die Einheit der Genauigkeit kann 1 Bildelement oder 0,5 Bildelemente betragen.
  • Es werde der Fall betrachtet, daß ein solcher Bewegungsvektor einer variablen Längenkodierung unterzogen wird. Wenn beispielsweise ein Bewegungsvektor im Bereich von ±7 Bildelementen und ein Bewegungsvektor im Bereich von ±15 Bildelementen kodiert werden, benötigt man zwei Arten von Tabellen für die variable Längenkodierung (im folgenden kurz als variable Längenko diertabellen bezeichnet). Dabei wird die Tabelle für den Bereich von ±7 Bildelementen mit einer Genauigkeit von 1 Bildelement zu einer Tabelle, die 15 Arten von Elementen enthält, nämlich 7, 6, ..., 0, ..., -6, -7, während die Tabelle für den Bereich von ±15 Bildelementen zu einer Tabelle wird, die 31 Arten von Elementen enthält, nämlich 15, 14, ..., 0, ..., -14, -15. Die Tabelle für den Bereich von ±7 Bildelementen mit einer Genauigkeit 0,5 Bildelementen wird zu einer Tabelle mit 29 Arten von Elementen, nämlich 7,0, 6,5, ..., 0, ..., -6,5, -7,0.
  • Wenn mehrere Arten von Vektorbereichen und mehrere Arten von Genauigkeit vorliegen, wächst so die Zahl der benötigten Tabellen an, so daß der Hardwareaufwand vergrößert wird.
  • Es ist ein Ziel der Erfindung, eine Vorrichtung zur variablen Längendekodierung von Bewegungsvektoren zu schaffen, mit der der Hardwareaufwand reduziert werden kann, wenn mehrere Arten von Bewegungsvektorbereichen und -genauigkeiten vorliegen.
  • Gemäß vorliegender Erfindung ist eine Dekodiervorrichtung zum Dekodieren von variablen Längencodes vorgesehen, die Bewegungsvektoren, die für die Bewegung innerhalb von Bildern kennzeichnend sind, repräsentieren und von einer Kodiervorrichtung erzeugt werden, welche aufweist:
  • eine auf Bilddaten ansprechende Einrichtung zur Erzeugung von Bewegungsvektoren und eine Einrichtung zur variablen Längenkodierung der Bewegungsvektoren, wobei die Einrichtung zur variablen Längenkodierung eine Speicherschaltung zur Speicherung einer Tabelle von VLC- Daten enthält, die einen vorgegebenen Satz von Bewegungsvektorwerten repräsentieren,
  • eine auf die Bewegungsvektoren ansprechende Steuereinrichtung zum Auslesen der VLC- Daten aus der Speicherschaltung und zur Erzeugung von zusätzlichen Daten zu den aus der Speicherschaltung ausgelesenen VLC-Daten, welche die von den VLC-Daten oder einem Teil der VLC-Daten repräsentierten Werte ändern, und
  • eine Einrichtung zum Kombinieren der VLC-Daten mit den zusätzlichen Daten,
  • und wobei die Dekodiervorrichtung aufweist:
  • eine Einrichtung zum Trennen der VLC-Daten und der die VLC-Daten begleitenden zusätzlichen Daten,
  • eine Speicherschaltung zur Speicherung von Umwandlungsdaten für die inverse Kodierung der VLC-Daten, wobei diese Speicherschaltung durch die VLC-Daten adressiert wird, und
  • eine auf die zusätzlichen Daten und die invers kodierten VLC-Daten ansprechende Einrichtung zur Erzeugung von Bewegungsvektorwerten, die durch die invers kodierten VLC-Daten und die zusätzlichen Daten repräsentiert werden.
  • Die oben beschriebenen sowie weitere Ziele, Merkmale und Vorteile der Erfindung werden durch die folgende detaillierte Beschreibung weiter verdeutlicht, die auf die anliegenden Zeichnungen Bezug nimmt.
  • Fig. 1A und 1B zeigen Diagramme, in denen das Konzept eines Bewegungsvektors dargestellt ist,
  • Fig. 2 zeigt ein Blockdiagramm einer Schaltang zur Bewegungsvektordetektierung und -kodierung,
  • Fig. 3 zeigt ein Beispiel für eine variable Längenkodiertabelle,
  • Fig. 4 zeigt ein Diagramm eines Beispiels einer variablen Längenkodiertabelle,
  • Fig. 5 zeigt ein Blockschaltbild eines Beispiels einer Bewegungsvektorkodierschaltung,
  • Fig. 6 zeigt ein Blockschaltbild eines Beispiels einer Bewegungsvektordekodierschaltung,
  • Fig. 7 zeigt ein Diagramm eines Beispiels einer variablen Längenkodiertabelle,
  • Fig. 8 zeigt ein Diagramm eines Beispiels einer variablen Längenkodiertabelle,
  • Fig. 9 zeigt ein Diagramm eines Beispiels einer variablen Längenkodiertabelle.
  • Im folgenden wird anhand der Zeichnungen ein Ausführungsbeispiel der Erfindung beschrieben. In diesem Ausführungsbeispiel erfolgt die variable Längenkodierung für einen Bewegungsvektor im Bereich von ±2 Bildelementen mit einer Genauigkeit von 1 Bildelement und für einen Bewegungsvektor im Bereich von ±4 Bildelementen mit einer Genauigkeit von 1 Bildelement.
  • Fig. 3 zeigt eine variable Längenkodiertabelle (d. h. die Beziehung zwischen einem Wert des Bewegungsvektors und einem VLC-Code) für den Bereich von ±2 Bildelementen mit einer Genauigkeit von 1 Bildelement. Die Tabelle enthält 5 Arten von Elementen, nämlich 2, 1, 0, -1 und -2.
  • Die variable Längenkodierung eines Bewegungsvektors im Bereich von ±4 Bildelementen wird auf der Basis einer variablen Längenkodiertabelle für einen Bereich von ±2 Bildelementen durchgeführt.
  • Wenn man zunächst annimmt, daß ein Bewegungsvektor den Wert X hat, erhält man den Quotienten Y und den Rest Z, wenn man X durch 2 teilt.
  • 1) X = 2*Y + Z
  • Als nächstes wird ein VLC-Code erzeugt, indem man den Rest Z als zusätzliches Bit zu dem (nach der Tabelle von Fig. 3 kodierten) VLC-Code addiert, der dem Quotienten Y entspricht. Dies ist der Kodierung mit einer Genauigkeit von 1 Bildelement in der variablen Längenkodiertabelle für den Bereich von ±4 Bildelementen äquivalent, wie dies in Fig. 4 dargestellt ist. Die variable Längenkodiertabelle von Fig. 3 wird entsprechend erweitert. Die variable Längenkodiertabelle von Fig. 4 besitzt 9 Arten von Elementen, nämlich 4, 3, ..., 0, ..., -3, -4.
  • Auf der anderen Seite erhält man für die Kodierung eines Bewegungsvektors im Bereich von ±2 Bildelementen mit einer Genauigkeit von 1 Bildelement direkt einen dem Bewegungsvektor X entsprechenden VLC-Code, wenn man die in Fig. 3 dargestellte variable Längenkodiertabelle benutzt.
  • Damit läßt sich auf der Basis der variablen Längenkodiertabelle, die für den Bereich von ±2 Bildelementen mit einer Genauigkeit von 1 Bildelement vorgesehen ist, die Kodierung eines Bewegungsvektors im Bereich von ±2 Bildelementen mit einer Genauigkeit von 1 Bildelement und außerdem die Kodierung eines Bewegungsvektors mit dem Bereich von ±4 Bildelementen mit einer Genauigkeit von einem 1 Bildelement durchführen.
  • Wie oben erwähnt wurde, kann ein kodierter Bewegungsvektor auf der Dekodiererseite mit der zu der oben beschriebenen Operation inversen Operation reproduziert werden, indem man ein Flag überträgt, das angibt, ob der Bewegungsvektor im Bereich von ±2 Bildelementen oder im Bereich von ±4 Bildelementen liegt.
  • Fig. 5 zeigt ein Beispiel für eine Schaltung zur Kodierung eines Bewegungsvektors im Bereich von ±2 Bildelementen mit einer Genauigkeit von 1 Bildelement sowie zur Kodierung eines Bewegungsvektors im Bereich von ±4 Bildelementen mit einer Genauigkeit von 1 Bildelement auf der Basis einer variablen Längenkodiertabelle für ±2 Bildelemente mit einer Genauigkeit von 1 Bildelement.
  • In der Anordnung von Fig. 5 wird einer Rechenschaltung 1 ein Bewegungsvektor im Bereich von ±4 Bildelementen zugeführt. Die Rechenschaltung 1 führt die oben beschriebene Berechnung nach Gleichung (1) aus und liefert den Quotienten Y und den Rest Z.
  • Mit 2 ist ein ROM bezeichnet, das die variable Längenkodiertabelle von Fig. 3 verkörpert. Wenn ein Bewegungsvektor im Bereich von ±2 Bildelementen liegt, wird er dem ROM 2 direkt als Adresse zugeführt. Wenn der Bewegungsvektor hingegen im Bereich von ±4 Bildelementen liegt, wird der in der Rechenschaltung 1 erzeugte Quotient Y dem ROM 2 als Adresse zugeführt.
  • Wenn der Bewegungsvektor im Bereich von ±2 Bildelementen liegt, bildet das Ausgangssignal des ROM 2 den VLC-Code. Wenn der Bewegungsvektor hingegen im Bereich von ±4 Bildelementen liegt, fügt die Addierschaltung 3 zu dem Ausgangssignal des ROM 2 den von der Rechenschaltung 1 gelieferten Rest Z als zusätzliches Bit hinzu, um einen VLC-Code als Ausgangssignal zu erzeugen.
  • Auf diese Weise können in dem vorliegenden Beispiel der Bewegungsvektor im Bereich von ±2 Bildelementen mit einer Genauigkeit von 1 Bildelement und der Bewegungsvektor im Bereich von ±4 Bildelementen mit einer Genauigkeit von 1 Bildelement kodiert werden, indem man die einzige variable Längenkodiertabelle (ROM 2) benutzt, um den Hardwareaufwand zu reduzieren.
  • Fig. 6 zeigt eine Dekodierschaltung, die der Kodierschaltung von Fig. 5 entspricht. Auf der Basis eines Flags, das mit dem VLC-Code gesendet wird, wird festgestellt, ob der VLC-Code sich auf einen Bewegungsvektor im Bereich von ±2 Bildelementen bezieht oder auf einen Bewegungsvektor im Bereich von ±4 Bildelementen.
  • In Fig. 6 bezeichnet das Bezugszeichen 4 eine Trennschaltung, der ein VLC-Code zugeführt wird, der sich auf einen Bewegungsvektor im Bereich von ±4 Bildelementen bezieht. Die Trennschaltung 4 führt eine Trennung in ein zusätzliches Bit (Rest Z) und die anderen Bits durch.
  • Mit 5 ist ein ROM bezeichnet, das eine zu der variablen Längenkodiertabelle von Fig. 3 inverse Umwandlungstabelle darstellt. Dem ROM 5 wird ein VLC-Code direkt als Adresse zugeführt, wenn der VLC-Code sich auf einen Bewegungsvektor im Bereich von ±2 Bildelementen bezieht. Wenn der VLC-Code sich hingegen auf einen Bewegungsvektor im Bereich von ±4 Bildelementen bezieht, werden die anderen Bits und nicht das in der Trennschaltung 4 abgetrennte zusätzliche Bit als Adresse zugeführt.
  • Wenn der VLC-Code sich auf einen Bewegungsvektor im Bereich von ±2 Bildelementen bezieht, bildet das Ausgangssignal des ROM 5 den Bewegungsvektor. Wenn der VLC-Code sich hingegen auf einen Bewegungsvektor im Bereich von ±4 Bildelementen bezieht, bildet das Ausgangssignal der Rechenschaltung 6 den Bewegungsvektor. In der Rechenschaltung 6 wird deshalb nach Gleichung (1) aus dem Ausgangssignal Y des ROM 5 und dem in der Trennschaltung 4 abgetrennten zusätzlichen Bit Z der Wert X gewonnen.
  • Als nächstes wird ein Beispiel erläutert, bei dem ein Bewegungsvektor im Bereich von ±2 Bildelementen mit einer Genauigkeit von 1 Bildelement sowie ein Bewegungsvektor im Bereich von ±2 Bildelementen mit einer Genauigkeit von 0,5 Bildelementen kodiert werden.
  • Die Kodierung eines Bewegungsvektor im Bereich von ±2 Bildelementen mit einer Genauigkeit von 0,5 Bildelementen erfolgt auf der Basis der variablen Längenkodiertabelle von Fig. 3.
  • Wenn man annimmt, daß der Wert des Bewegungsvektors gleich X ist, erhält man zunächst einen Quotienten Y und einen Rest Z, wenn man 2X durch 2 dividiert.
  • (2) 2*X = 2*Y + Z
  • Wenn man nun annimmt, daß Y, Z ganzzahlig sind, wird Y ein ganzzahliger Teil von X. Dabei wird Z ein Wert, der doppelt so groß ist wie der Dezimalteil, der "0" oder "1" sein soll.
  • Als nächstes wird ein VLC-Code erzeugt, indem man den Rest Z als zusätzliches Bit zu einem (nach der Tabelle von Fig. 3 kodierten) VLC-Code addiert, der dem Quotienten Y entspricht. Infolgedessen ist dies einer Kodierung mit einer Genauigkeit von 0,5 Bildelementen bei der variablen Längenkodierung für den Bereich von ±2 Bildelementen äquivalent, wie in Fig. 7 dargestellt, und die variable Längenkodiertabelle von Fig. 3 wird entsprechend erweitert. Die variable Längenkodiertabelle von Fig. 7 enthält 9 Arten von Elementen, nämlich 2,0, 1,5, ..., 0, ..., -1,5, -2,0.
  • Für die Kodierung eines Bewegungsvektors im Bereich von ±2 Bildelementen mit einer Genauigkeit von 1 Bildelement erhält man direkt einen dem Bewegungsvektor X entsprechenden VLC- Code, indem man die variable Längenkodiertabelle von Fig. 3 benutzt.
  • Deshalb läßt sich auf der Basis der variablen Längenkodiertabelle für den Bereich von ±2 Bildelementen mit einer Genauigkeit von 1 Bildelement nicht nur ein Bewegungsvektor im Bereich von ±2 Bildelementen mit einer Genauigkeit von 1 Bildelement sondern auch ein Bewegungsvektor im Bereich von ±2 Bildelementen mit einer Genauigkeit von 0,5 Bildelementen kodieren.
  • Wie oben festgestellt wurde, kann der kodierte Bewegungsvektor auf der Dekodiererseite mit der zu der oben beschriebenen Operation inversen Operation genau reproduziert werden, indem ein Flag übertragen wird, das angibt, ob der Bewegungsvektor eine Genauigkeit von 1 Bildelement oder eine Genauigkeit von 0,5 Bildelementen hat.
  • Auf der Basis der variablen Längenkodiertabelle für den Bereich von ±2 Bildelementen mit einer Genauigkeit von 1 Bildelement lassen sich Schaltungen zum Kodieren und Dekodieren eines Bewegungsvektors im Bereich von ±2 Bildelementen mit einer Genauigkeit von 1 Bildelement und eines Bewegungsvektors im Bereich von ±2 Bildelementen mit einer Genauigkeit von 0,5 Bildelementen aufbauen, die den Schaltungen von Fig. 5 und 6 entsprechen. Die Kodierung kann mit einer einzigen variablen Längenkodiertabelle (ROM 2) durchgeführt werden, so daß der Hardwareaufwand reduziert wird.
  • Als nächstes wird der Fall betrachtet, daß ein Bewegungsvektor einer differentiellen PCM (DPCM) unterzogen wird und nur die Differenz zu einem Bewegungsvektor eines benachbarten Blocks übertragen wird.
  • Wenn der Wert eines Bewegungsvektors eines bestimmten Blocks beispielsweise gleich 4 ist, wird 4 - 3 = 1 erzeugt, wenn der Wert des nächsten Bewegungsvektors gleich 3 ist. In diesem Fall wird nur der Wert 1 der Differenz übertragen. Da die Übertragung mit einem VLC-Code erfolgt, der kürzer ist als der dem Wert 4 entsprechende VLC-Code, ist eine vorteilhafte Übertragung möglich.
  • Für die DPCM eines Bewegungsvektors ist nun ein Verfahren bekannt, das als gespiegelte DPCM-Methode bezeichnet wird. Dies ist eine Methode, die bei der DPCM eines Wertes benutzt wird, dessen Bereich wie ein Bewegungsvektor festgelegt wird. Wie Fig. 8 und 9 zeigen, sind einem VLC-Code z. B. zwei Werte zugeordnet. Fig. 8 und 9 zeigen variable Längenkodiertabellen für die DPCM-Übertragung von Bewegungsvektoren, die im Bereich ±7 Bildelementen liegen, mit einer Genauigkeit von 1 Bildelement und im Bereich von ±3 Bildelementen mit einer Genauigkeit von 1 Bildelement.
  • Da in Fig. 9 der Bereich eines Bewegungsvektors einen Umfang von ±3 Bildelementen hat, wird das Ergebnis der DPCM gleich ±6. Wenn beispielsweise angenommen wird, daß der Wert des vorangehenden Bewegungsvektors gleich 3 und der Wert des laufenden Bewegungsvektors gleich 1 ist, erhält man 3 - 1 = 2. Infolgedessen ist der VLC-Code gleich "0010".
  • Wenn nach der Übertragung dieses Codes eine Rückumwandlung in einen Bewegungsvektor durchgeführt wird, ist der VLC-Code gleich "0010". Deshalb ist der Wert gleich 2 oder -6. Da im vorliegenden Fall die Dekodiererseite weiß, daß der Wert des vorangehenden Bewegungsvektors gleich 3 ist, ist der Wert des Bewegungsvektors gleich 3 - 2 = 1 oder 3 - (-6) = 9. Da der Bewegungsvektor im Bereich von ±3 Bildelementen liegt, kann er nicht den Wert 9 annehmen und wird deshalb gleich 1.
  • Bei dem oben beschriebenen gespiegelten DPCM-Verfahren benötigt man eine Tabelle, die dem Bereich des Bewegungsvektors proportional ist. Für den Fall, daß die variable Längenkodierung durch DPCM für einen Bewegungsvektor durchgeführt wird, dessen Bereich z. B. ±7 Bildelemente und ±3 Bildelemente abdeckt, ist deshalb ein Verfahren vorgesehen, bei dem die in Fig. 8 und 9 dargestellten variablen Längenkodiertabellen erstellt werden. Es gibt auch z. B. ein Verfahren, bei dem nur die in Fig. 8 dargestellte variable Längenkodiertabelle erstellt wird, so daß DPCM-Werte ±6 eines Bewegungsvektors im Bereich von ±3 Bildelementen nach Maßgabe der Tabelle von Fig. 8 einer variablen Längenkodierung unterzogen werden.
  • Da bei dem erstgenannten Verfahren zwei Tabellen benötigt werden, ist der Hardwareaufwand entsprechend groß. Bei dem letztgenannten Verfahren ist hingegen die Wahrscheinlichkeit groß, daß in der Tabelle von Fig. 8 ein längerer Code generiert wird als in der Tabelle von Fig. 9, so daß sich die Effizienz verschlechtert.
  • Um diese Nachteile zu beseitigen, ist wie in dem oben beschriebenen Ausführungsbeispiel ein Flag vorgesehen, das den Bereich eines Bewegungsvektors angibt. Für die variable Längenkodie rung des Bewegungsvektors wird nur die in Fig. 8 dargestellte Tabelle erstellt. Wenn in diesem Fall der Bereich des Bewegungsvektors ±7 Bildelemente beträgt, erfolgt die Kodierung unter Verwendung der gesamten Tabelle. Wenn hingegen der Bereich des Bewegungsvektors ±3 Bildelemente beträgt, wird der durch eine gestrichelte Linie gekennzeichnete Bereich für die Kodierung durch die in Fig. 9 dargestellte Tabelle ersetzt.
  • Durch die Übertragung eines Flags, das den Bereich des Bewegungsvektors angibt, zusammen mit dem so kodierten VLC-Code wird der Bewegungsvektor durch die Erstellung einer Referenztabelle, wie sie in Fig. 8 dargestellt ist, auf der Dekodiererseite korrekt reproduziert, und beim Dekodieren wird die Tabelle von Fig. 8 nur dann durch die Tabelle von Fig. 9 ersetzt, wenn das Flag zur Kennzeichnung des Bewegungsvektorbereichs den Bereich von ±3 Bildelementen angibt.
  • Auf diese Weise kann durch die Benutzung einer Referenztabelle und das Ersetzen der Referenztabelle der Hardwareaufwand im Vergleich zu dem Fall, daß mehrere Tabellen vorgesehen sind, herabgesetzt werden.
  • Bei der Erfindung genügt eine variable Längenkodier-Referenztabelle für mehrere Arten von Bewegungsvektorbereichen und -genauigkeiten, so daß der Hardwareaufwand herabgesetzt wird. Da die Erfindung durch das Erweitern der Referenztabelle an einen Bewegungsvektor mit einem breiten Bereich angepaßt werden kann und auch an einen Bewegungsvektor mit einem engen Bereich angepaßt werden kann, ist der Vorteil größerer Flexibilität gegeben. Durch Erweiterung der Referenztabelle kann außerdem die Genauigkeit gesteigert werden.
  • Vorangehend wurde anhand der Zeichnungen ein bevorzugtes Ausführungsbeispiel der Erfindung beschrieben. Die Erfindung ist selbstverständlich nicht auf dieses Ausführungsbeispiel beschränkt. Der einschlägige Fachmann kann vielmehr zahlreiche Änderungen und Modifizierungen vornehmen, ohne daß dadurch der durch die Ansprüche definierte Schutzbereich der Erfindung verlassen wird.

Claims (1)

1. Dekodiervorrichtung zum Dekodieren von variablen Längencodes (VLC), die Bewegungsvektoren, die für die Bewegung innerhalb von Bildern kennzeichnend sind, repräsentieren und von einer Kodiervorrichtung erzeugt werden, welche aufweist:
eine auf Bilddaten ansprechende Einrichtung (10) zur Erzeugung von Bewegungsvektoren und eine Einrichtung (20) zur variablen Längenkodierung der Bewegungsvektoren, wobei die Einrichtung (20) zur variablen Längenkodierung eine Speicherschaltung (2) zur Speicherung einer Tabelle von VLC-Daten enthält, die einen vorgegebenen Satz von Bewegungsvektorwerten repräsentieren,
eine auf die Bewegungsvektoren ansprechende Steuereinrichtung (1) zum Auslesen der VLC-Daten aus der Speicherschaltung und zur Erzeugung von zusätzlichen Daten zu den aus der Speicherschaltung (2) ausgelesenen VLC-Daten, welche die von den VLC-Daten oder einem Teil der VLC-Daten repräsentierten Werte ändern, und
eine Einrichtung (3) zum Kombinieren der VLC-Daten mit den zusätzlichen Daten,.
und wobei die Dekodiervorrichtung aufweist:
eine Einrichtung (4) zum Trennen der VLC-Daten und der die VLC-Daten begleitenden zusätzlichen Daten,
eine Speicherschaltung (5) zur Speicherung von Umwandlungsdaten für die inverse Kodierung der VLC-Daten, wobei diese Speicherschaltung durch die VLC-Daten adressiert wird, und
eine auf die zusätzlichen Daten und die invers kodierten VLC-Daten ansprechende Einrichtung (6) zur Erzeugung von Bewegungsvektorwerten, die durch die invers kodierten VLC-Daten und die zusätzlichen Daten repräsentiert werden.
DE69232824T 1991-08-03 1992-07-28 Dekoder Expired - Lifetime DE69232824T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3194576A JPH0541862A (ja) 1991-08-03 1991-08-03 動きベクトルの可変長符号化方式

Publications (2)

Publication Number Publication Date
DE69232824D1 DE69232824D1 (de) 2002-11-21
DE69232824T2 true DE69232824T2 (de) 2003-08-07

Family

ID=16326838

Family Applications (3)

Application Number Title Priority Date Filing Date
DE69232824T Expired - Lifetime DE69232824T2 (de) 1991-08-03 1992-07-28 Dekoder
DE69232597T Expired - Lifetime DE69232597T2 (de) 1991-08-03 1992-07-28 Kodierungsverfahren
DE69229153T Expired - Lifetime DE69229153T2 (de) 1991-08-03 1992-07-28 Gerät und Verfahren zur variablen Längenkodierung für einen Bewegungsvektor

Family Applications After (2)

Application Number Title Priority Date Filing Date
DE69232597T Expired - Lifetime DE69232597T2 (de) 1991-08-03 1992-07-28 Kodierungsverfahren
DE69229153T Expired - Lifetime DE69229153T2 (de) 1991-08-03 1992-07-28 Gerät und Verfahren zur variablen Längenkodierung für einen Bewegungsvektor

Country Status (5)

Country Link
US (1) US5298991A (de)
EP (5) EP0527011B1 (de)
JP (4) JPH0541862A (de)
DE (3) DE69232824T2 (de)
HK (3) HK1013570A1 (de)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5428396A (en) * 1991-08-03 1995-06-27 Sony Corporation Variable length coding/decoding method for motion vectors
JP3025827B2 (ja) * 1993-09-14 2000-03-27 松下電器産業株式会社 可変長コード化装置
GB2287602B (en) * 1994-03-16 1998-06-03 Hyundai Electronics Ind Motion vector decoding apparatus and method
JP3552811B2 (ja) * 1995-09-29 2004-08-11 三菱電機株式会社 ディジタル映像信号符号化装置および復号化装置
US7263127B1 (en) 1998-04-02 2007-08-28 Intel Corporation Method and apparatus for simplifying frame-based motion estimation
US7046734B2 (en) * 1998-04-02 2006-05-16 Intel Corporation Method and apparatus for performing real-time data encoding
US6904174B1 (en) * 1998-12-11 2005-06-07 Intel Corporation Simplified predictive video encoder
US6983018B1 (en) 1998-11-30 2006-01-03 Microsoft Corporation Efficient motion vector coding for video compression
JP3681342B2 (ja) 2000-05-24 2005-08-10 三星電子株式会社 映像コーディング方法
US7003035B2 (en) 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
US7620109B2 (en) * 2002-04-10 2009-11-17 Microsoft Corporation Sub-pixel interpolation in motion estimation and compensation
US7305034B2 (en) * 2002-04-10 2007-12-04 Microsoft Corporation Rounding control for multi-stage interpolation
US20040001546A1 (en) 2002-06-03 2004-01-01 Alexandros Tourapis Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
US7280700B2 (en) * 2002-07-05 2007-10-09 Microsoft Corporation Optimization techniques for data compression
US7154952B2 (en) 2002-07-19 2006-12-26 Microsoft Corporation Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures
US7212681B1 (en) 2003-01-15 2007-05-01 Cisco Technology, Inc. Extension of two-dimensional variable length coding for image compression
US7194137B2 (en) * 2003-05-16 2007-03-20 Cisco Technology, Inc. Variable length coding method and apparatus for video compression
US20050013498A1 (en) 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
US10554985B2 (en) 2003-07-18 2020-02-04 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
US7738554B2 (en) 2003-07-18 2010-06-15 Microsoft Corporation DC coefficient signaling at small quantization step sizes
US7426308B2 (en) * 2003-07-18 2008-09-16 Microsoft Corporation Intraframe and interframe interlace coding and decoding
US7499495B2 (en) * 2003-07-18 2009-03-03 Microsoft Corporation Extended range motion vectors
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7317839B2 (en) * 2003-09-07 2008-01-08 Microsoft Corporation Chroma motion vector derivation for interlaced forward-predicted fields
US7599438B2 (en) * 2003-09-07 2009-10-06 Microsoft Corporation Motion vector block pattern coding and decoding
US7577200B2 (en) 2003-09-07 2009-08-18 Microsoft Corporation Extended range variable length coding/decoding of differential motion vector information
US7620106B2 (en) 2003-09-07 2009-11-17 Microsoft Corporation Joint coding and decoding of a reference field selection and differential motion vector information
US7567617B2 (en) * 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
US7616692B2 (en) 2003-09-07 2009-11-10 Microsoft Corporation Hybrid motion vector prediction for interlaced forward-predicted fields
US7623574B2 (en) 2003-09-07 2009-11-24 Microsoft Corporation Selecting between dominant and non-dominant motion vector predictor polarities
US8064520B2 (en) * 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US7492956B2 (en) * 2004-08-18 2009-02-17 Cisco Technology, Inc. Video coding using multi-dimensional amplitude coding and 2-D non-zero/zero cluster position coding
US7471841B2 (en) * 2004-06-15 2008-12-30 Cisco Technology, Inc. Adaptive breakpoint for hybrid variable length coding
US7454073B2 (en) * 2004-06-15 2008-11-18 Cisco Technology, Inc. Video compression using multiple variable length coding processes for multiple classes of transform coefficient blocks
US7499595B2 (en) * 2004-08-18 2009-03-03 Cisco Technology, Inc. Joint amplitude and position coding for photographic image and video coding
US7471840B2 (en) * 2004-08-18 2008-12-30 Cisco Technology, Inc. Two-dimensional variable length coding of runs of zero and non-zero transform coefficients for image compression
US7454076B2 (en) * 2004-06-15 2008-11-18 Cisco Technology, Inc. Hybrid variable length coding method for low bit rate video coding
US7499596B2 (en) 2004-08-18 2009-03-03 Cisco Technology, Inc. Amplitude coding for clustered transform coefficients
JPWO2006011197A1 (ja) * 2004-07-27 2008-05-01 三菱電機株式会社 符号化データ再符号化装置及びその復号装置並びにプログラム
US7680349B2 (en) 2004-08-18 2010-03-16 Cisco Technology, Inc. Variable length coding for clustered transform coefficients in video compression
US7620258B2 (en) * 2004-08-18 2009-11-17 Cisco Technology, Inc. Extended amplitude coding for clustered transform coefficients
US8295343B2 (en) * 2005-11-18 2012-10-23 Apple Inc. Video bit rate control method
US8780997B2 (en) 2005-11-18 2014-07-15 Apple Inc. Regulation of decode-side processing based on perceptual masking
US8031777B2 (en) 2005-11-18 2011-10-04 Apple Inc. Multipass video encoding and rate control using subsampling of frames
US8233535B2 (en) 2005-11-18 2012-07-31 Apple Inc. Region-based processing of predicted pixels
US20070116117A1 (en) * 2005-11-18 2007-05-24 Apple Computer, Inc. Controlling buffer states in video compression coding to enable editing and distributed encoding
US7242328B1 (en) * 2006-02-03 2007-07-10 Cisco Technology, Inc. Variable length coding for sparse coefficients
US8254455B2 (en) * 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
US8189666B2 (en) 2009-02-02 2012-05-29 Microsoft Corporation Local picture identifier and computation of co-located information
ES2468795T3 (es) 2009-07-09 2014-06-17 Tomtom International B.V. Dispositivo de navegación y método para el cálculo de ruta con dependencia temporal
US9749642B2 (en) 2014-01-08 2017-08-29 Microsoft Technology Licensing, Llc Selection of motion vector precision
US9774881B2 (en) 2014-01-08 2017-09-26 Microsoft Technology Licensing, Llc Representing motion vectors in an encoded bitstream
US9942560B2 (en) 2014-01-08 2018-04-10 Microsoft Technology Licensing, Llc Encoding screen capture data
CN113039780B (zh) 2018-11-17 2023-07-28 北京字节跳动网络技术有限公司 视频处理中用运动矢量差的Merge
WO2020125751A1 (en) 2018-12-21 2020-06-25 Beijing Bytedance Network Technology Co., Ltd. Information signaling in current picture referencing mode
CN113196771B (zh) 2018-12-21 2023-12-22 北京字节跳动网络技术有限公司 基于运动矢量精度的运动矢量范围

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06101841B2 (ja) * 1984-01-11 1994-12-12 日本電気株式会社 動画像信号の符号化方法およびその装置
AU579550B2 (en) * 1985-06-10 1988-11-24 Nec Corporation Movement compensation predictive encoder for a moving picture signal with a reduced amount of information
ATE108587T1 (de) * 1986-09-13 1994-07-15 Philips Nv Verfahren und schaltungsanordung zur bitratenreduktion.
CA1296430C (en) * 1986-11-10 1992-02-25 Masahide Kaneko Encoding system capable of accomplishing a high efficiency by anterior and/or posterior processing to quantization
US4816914A (en) * 1987-01-07 1989-03-28 Pictel Corporation Method and apparatus for efficiently encoding and decoding image sequences
US4995059A (en) * 1988-01-14 1991-02-19 Canon Kabushiki Kaisha Predictive coding device
CA2000156C (en) * 1989-02-14 1995-05-02 Kohtaro Asai Picture signal encoding and decoding apparatus
EP0419752B1 (de) * 1989-09-25 1995-05-10 Rai Radiotelevisione Italiana Umfassendes System zur Codierung und Übertragung von Videosignalen mit Bewegungsvektoren

Also Published As

Publication number Publication date
EP0891090A2 (de) 1999-01-13
US5298991A (en) 1994-03-29
EP1028592B1 (de) 2004-02-04
HK1030322A1 (en) 2001-04-27
HK1030123A1 (en) 2001-04-20
EP0891090A3 (de) 1999-01-20
EP0891090B1 (de) 2002-10-16
JPH11112995A (ja) 1999-04-23
JPH11112996A (ja) 1999-04-23
DE69232824D1 (de) 2002-11-21
DE69232597D1 (de) 2002-06-06
EP1028592A1 (de) 2000-08-16
DE69232597T2 (de) 2002-12-05
EP0527011B1 (de) 1999-05-12
DE69229153T2 (de) 1999-11-25
EP1032210B1 (de) 2003-02-26
HK1013570A1 (en) 1999-08-27
EP1032210A1 (de) 2000-08-30
EP0891091A3 (de) 1999-01-27
EP0527011A3 (en) 1994-07-27
JPH11113004A (ja) 1999-04-23
DE69229153D1 (de) 1999-06-17
EP0891091A2 (de) 1999-01-13
EP0527011A2 (de) 1993-02-10
EP0891091B1 (de) 2002-05-02
JPH0541862A (ja) 1993-02-19

Similar Documents

Publication Publication Date Title
DE69232824T2 (de) Dekoder
DE69327375T2 (de) Verfahren und Vorrichtung zur Wiederherstellung von Bilddaten
DE69324960T2 (de) Kodierung und Dekodierung
DE3851468T2 (de) Kodierungsverfahren von Bildsignalen.
DE69015695T2 (de) Einrichtung zur Transformationskodierung.
DE69422266T2 (de) Verfahren, Vorrichtung und Schaltung zur Verbesserung von Bewegungskompensation bei digitaler Bildkodierung
DE69535007T2 (de) Verfahren und Vorrichtung zur objektbasierten prädiktiven Kodierung und Übertragung von digitalen Bildern und Dekodierungsvorrichtung
DE69221191T2 (de) Verfahren und Vorrichtung zur Prädiktiven Kodierung eines Bildsignals mit Bewegungskompensation
DE69736852T2 (de) Codierung- und Decodierungssystem für bewegte Bilder mit beliebig geformten Objekten
DE69224055T2 (de) Bildsignalkodier- und -dekodiergerät
DE69131377T2 (de) Einrichtung zur Verarbeitung von Bildern
DE69816342T2 (de) Prädiktives Bilddekodierungsverfahren
DE3908890C2 (de)
DE69323156T2 (de) Bilddatenkomprimierungs/Dekomprimierungssystem
DE69715426T2 (de) Verfahren und vorrichtung zur bilddekodierung
DE3109795A1 (de) Bandeinengungsverfahren fuer getoente bilder
DE69031638T2 (de) System zum Übertragen von Bildinformation
DE69631819T2 (de) Fehlerverdeckung in einem Block-basierten Bildkodierer
EP0141127B1 (de) Anordnung zur zweidimensionalen DPCM-Codierung
DE69321038T2 (de) Kodierung und Dekodierung von digitalen Videodaten
DE4442643B4 (de) Verfahren zum Abschätzen der Bewegung in einem Bewegtbild
DE69416662T2 (de) Bewegtbildkodierer
DE69736257T2 (de) Schaltung und Verfahren zur Produktsummenberechnung
DE69331174T2 (de) Bildverarbeitungsvorrichtung
DE69424923T2 (de) Verfahren und Anordnung zur Bearbeitung eines dekodierten Bildsignals mit Verzerrung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
R071 Expiry of right

Ref document number: 891090

Country of ref document: EP