[go: up one dir, main page]

DE69229153T2 - Gerät und Verfahren zur variablen Längenkodierung für einen Bewegungsvektor - Google Patents

Gerät und Verfahren zur variablen Längenkodierung für einen Bewegungsvektor

Info

Publication number
DE69229153T2
DE69229153T2 DE69229153T DE69229153T DE69229153T2 DE 69229153 T2 DE69229153 T2 DE 69229153T2 DE 69229153 T DE69229153 T DE 69229153T DE 69229153 T DE69229153 T DE 69229153T DE 69229153 T2 DE69229153 T2 DE 69229153T2
Authority
DE
Germany
Prior art keywords
motion vector
data
vlc
variable length
range
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
DE69229153T
Other languages
English (en)
Other versions
DE69229153D1 (de
Inventor
Katsuji Igarashi
Veltman Mark
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=DE69229153(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 DE69229153D1 publication Critical patent/DE69229153D1/de
Application granted granted Critical
Publication of DE69229153T2 publication Critical patent/DE69229153T2/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

    Vorrichtung und Verfahren zur variablen Längenkodierung von Bewegungsvektoren
  • Die Erfindung betrifft eine Vorrichtung zur variablen Längenkodierung von Bewegungsvektoren, die 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 16 · 16 Bildelementen, wie in Fig. 1A dargestellt). In diesem Fall zeigt ein Bewegungsvektor an, in welche Position eines anderen Bilds (Fig. 18), 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 Position herangezogen wird, die von einem Bewegungsvektor bewegt wurde, 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, die einen Bewegungsvektor detektiert. Der Bewegungsvektor wird einer variablen Längenkodierschaltung 20 zugeführt und kodiert, um einen VLC-Kode (variablen Längenkode) zu gewinnen.
  • Die Größe und Genauigkeit eines Bewegungsvektors sind theoretisch beliebig. Eine tatsächliche Beschränkung ist bezüglich des Hardwareumfangs usw. gegeben. So kann der Bereich für die Größe des Bewegungsvektors beispielsweise ±7 Bildelemente oder ±15 Bildelemente von dem das Zentrum betragen, der den Ursprung bildet. Die Einheit der Genauigkeit kann 1 Bildelement oder 0,4 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 Bild elementen und ein Bewegungsvektor im Bereich von ±15 Bildelementen kodiert werden, benötigt man zwei Arten von Tabellen zur variablen Längenkodierung (im folgenden kurz als variable Längenkodiertabellen bezeichnet). Dabei wird die Tabelle für den Bereich von ±7 Bildelementen mit einer Genauigkeit von 1 Bildelement zu einer Tabelle mit 15 Arten von Elementen, nämlich 7, 6, ..., 0, ..., -6, -7 enthält, während die Tabelle für den Bereich von ± 15 Bildelementen zu einer Tabelle mit 31 Arten von Elementen wird, 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ängenkodierung von Bewegungsvektoren zu schaffen, mit der die Belastung der Hardware reduziert werden kann, wenn mehrere Arten von Bewegungsvektorbereichen und -genauigkeiten vorliegen.
  • Nach einem Aspekt der Erfindung ist eine variable Längencodiervorrichtung zur Erzeugung von variablen Längencodes vorgesehen, die Bewegungsvektoren repräsentieren, welche für die Bewegung in Bildern kennzeichnend sind,
  • mit einer auf Bilddaten ansprechenden Einrichtung zur Erzeugung von Bewegungsvektoren und einer Einrichtung zur variablen Längencodierung der Bewegungsvektoren, wobei
  • die Einrichtung zur variablen Längencodierung eine Speicherschaltung zur Speicherung einer Tabelle von VLC-Daten enthält, die einen vorgegebenen Satz von Bewegungsvektorwerten repräsentieren,
  • mit einer auf die Bewegungsvektoren ansprechenden 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,
  • sowie mit einer Einrichtung zum Kombinieren der VLC-Daten mit den zusätzlichen Daten.
  • Die oben beschriebenen sowie weitere Ziele, Merkmale und Vorteile der Erfindung werden durch der folgende detaillierte Beschreibung weiter verdeutlicht, die auf die anliegenden Zeichnungen Bezug nimmt.
  • Fig. 1A und 1B zeigen Diagramme, in denen das Konzept eines Bewegungsvektors veranschaulicht wird,
  • Fig. 2 zeigt ein Blockdiagramm einer Schaltung 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-Kode) 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-Kode erzeugt, indem man den Rest Z als zusätzliches Bit zu dem (nach der Tabelle von Fig. 3 kodierten) VLC-Kode 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 hat 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-Kode, wenn man die in Fig. 3 dargestellte variable Längenkodiertabelle benutzt.
  • Auf der Basis der variablen Längenkodiertabelle für den Bereich von ±2 Bildelementen mit einer Genauigkeit von 1 Bildelement, läßt sich damit 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 durch die zu der oben beschriebenen Operation inverse 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 darstellt. 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-Kode. 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-Kode 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, wobei man die einzige variable Längenkodiertabelle (ROM 2) benutzt, so daß der Hardwareaufwand reduziert wird.
  • Fig. 6 zeigt eine Dekodierschaltung, die der Kodierschaltung von Fig. 5 entspricht. Auf der Basis eines Flags, das mit dem VLC-Kode gesendet wird, wird festgestellt, ob der VLC-Kode sich auf einen Bewegungsvektor im Bereich von ±2 Bildelementen bezieht oder auf einen Bewegungsvektor im Bereich von ±4 Bildelementen.
  • In der Anordnung von Fig. 6 wird einer Trennschaltung ein VLC-Kode zugeführt, 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-Kode direkt als Adresse zugeführt, wenn der VLC-Kode sich auf einen Bewegungsvektor im Bereich von ±2 Bildelementen bezieht. Wenn der VLC-Kode sich hingegen auf einen Bewegungsvektor im Bereich von ±4 Bildelementen bezieht, werden andere Bits als das in der Trennschaltung 4 abgetrennte zusätzliche Bit als Adresse zugeführt.
  • Wenn der VLC-Kode sich auf einen Bewegungsvektor im Bereich von ±2 Bildelementen bezieht, bildet das Ausgangssignal des ROM 5 den Bewegungsvektor. Wenn der VLC-Kode 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-Kode erzeugt, indem man den Rest Z als zusätzliches Bit zu einem (nach der Tabelle von Fig. 3 kodierten) VLC-Kode addiert, der dem Quotienten Y entspricht. Infolgedessen ist dies der 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 dementsprechend 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-Kode, indem man die variable Längenkodiertabelle von Fig. 3 benutzt.
  • Mit der variablen Längenkodiertabelle für den Bereich von ±2 Bildelementen mit einer Genauigkeit von 1 Bildelement läßt sich deshalb 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, läßt sich der kodierte Bewegungsvektor auf der Dekodiererseite mit der zu der oben beschriebenen Operation inversen Operation genau reproduzieren, 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, um den Hardwareaufwand zu reduzieren.
  • 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-Kode erfolgt, der kürzer ist als der dem Wert 4 entsprechende VLC-Kode, ist eine effiziente Übertragung möglich.
  • Für die DPCM eines Bewegungsvektors ist ein Verfahren bekannt, das als gespiegelte DPCM-Methode bezeichnet wird. Dies ist eine Methode, die bei der DPCM eines Wertes benutzt wird, deren Bereich wie ein Bewegungsvektor bestimmt wird. Wie Fig. 8 und 9 zeigen, sind einem VLC-Kode 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-Kode gleich "0010".
  • Wenn nach der Übertragung dieses Kodes eine Rückumwandlung in einen Bewegungsvektor durchgeführt wird, ist der VLC-Kode 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 vorbereitet sind. Es gibt auch z. B. ein Verfahren, bei dem nur die in Fig. 8 dargestellte variable Längenkodiertabelle vorbereitet ist, 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 Wahrschein lichkeit groß, daß in der Tabelle von Fig. 8 ein längerer Kode generiert wird als in der Tabelle von Fig. 9, so daß sich die Effizienz verschlechtert.
  • Um diese Nachteile zu beseitigen, ist in dem oben beschriebenen Ausführungsbeispiel ein Flag vorgesehen, das den Bereich eines Bewegungsvektors angibt. Für die variable Längenkodierung des Bewegungsvektors ist nur die in Fig. 8 dargestellte Tabelle vorbereitet. 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 durch die in Fig. 9 dargestellte Tabelle für die Kodierung ersetzt.
  • Durch die Übertragung eines Flags, das den Bereich des Bewegungsvektors angibt, zusammen mit dem so kodierten VLC-Kode wird der Bewegungsvektor durch die Vorbereitung einer Referenztabelle, die 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 durch das Ersetzen durch die Referenztabelle der Hardwareaufwand im Vergleich zu dem Fall, in dem mehrere Tabellen vorgesehen sind, herabgesetzt werden.
  • In einem Ausführungsbeispiel der Erfindung genügt eine variable Längenkodier-Referenztabelle für mehrere Arten von Bewegungsvektorbereichen und -genauigkeiten, so daß der Hardwareaufwand herabgesetzt wird. Da das Ausführungsbeispiel der Erfindung durch das Erweitern der Referenztabelle an einen Bewegungsvektor mit einem breiten Bereich und auch an einen Bewegungsvektor mit einem engen Bereich angepaßt werden kann, ist der Vorteil größerer Flexibilität gegeben. Durch das Erweitern der Referenztabelle kann die Genauigkeit erhöht 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 (9)

1. Variable Längencodiervorrichtung zur Erzeugung von variablen Längencodes (VLC), die Bewegungsvektoren repräsentieren, welche für die Bewegung in Bildern kennzeichnend sind,
mit einer auf Bilddaten ansprechenden Einrichtung (10) zur Erzeugung von Bewegungsvektoren und einer Einrichtung (20) zur variablen Längencodierung der Bewegungsvektoren, wobei
die Einrichtung (20) zur variablen Längencodierung eine Speicherschaltung (2) zur Speicherung einer Tabelle von VLC-Daten enthält, die einen vorgegebenen Satz von Bewegungsvektorwerten repräsentieren,
mit einer auf die Bewegungsvektoren ansprechenden 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,
sowie mit einer Einrichtung (3) zum Kombinieren der VLC-Daten mit den zusätzlichen Daten.
2. Vorrichtung nach Anspruch 1, bei der der Bereich und/oder die Genauigkeit der VLC-Daten durch die zusätzlichen Daten geändert wird.
3. Vorrichtung nach Anspruch 1 oder 2, bei der die Steuereinrichtung (1) die in der Speicherschaltung gespeicherten VLC-Daten ausliest, ohne die zusätzlichen Daten zu erzeugen, wenn die Bewegungsvektorwerte von den gespeicherten VLC-Daten repräsentiert werden, und bei der die Steuereinrichtung (1) die in der Speicherschaltung gespeicherten VLC-Daten ausliest und die zusätzlichen Daten erzeugt, wenn die Bewegungsvektorwerte die genannten geänderten Werte haben.
4. Vorrichtung nach Anspruch 3, bei der
die Bewegungsvektorwerte der Speicherschaltung (2) direkt als Adressen zum Auslesen der VLC-Daten ohne zusätzliche Daten zugeführt werden und
die Steuereinrichtung (1) auf die Bewegungsvektorwerte mit den geänderten Werten in der Weise reagiert, daß sie Adressen für die Speicherschaltung (2) erzeugt und die zusätzlichen Daten erzeugt.
5. Vorrichtung nach Anspruch 4, bei die Steuereinrichtung (1) eine Rechenschaltung (1) aufweist, die einen Quotienten (Y) als die genannte Adresse und einen Rest (Z) als die zusätzli chen Daten ausgibt, wobei der Quotient und der Rest dadurch gewonnen werden, daß der Wert des Bewegungsvektors durch zwei dividiert wird.
6. Vorrichtung nach einem der Ansprüche 3 bis 5, bei der die Speicherschaltung (2) eine Tabelle zur variablen Längencodierung speichert, die einen Bereich von plus oder minus zwei Bildelementen mit der Genauigkeit von einem Bildelement repräsentiert, und die zusätzlichen Daten die VLC-Daten so ändern, daß sie Bewegungsvektorwerte innerhalb des Bereichs von plus oder minus vier Bildelementen mit der Genauigkeit von einem Bildelement repräsentieren.
7. Vorrichtung nach Anspruch 1, 2 oder 3, bei der die VLC-Daten Daten sind, die Differenzen zwischen Bewegungsvektorwerten repräsentieren.
8. Vorrichtung nach Anspruch 7, bei der die zusätzlichen Daten die von einem Teil der VLC- Daten repräsentierten Werte ändern.
9. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der die Speicherschaltung (2) ein ROM enthält.
DE69229153T 1991-08-03 1992-07-28 Gerät und Verfahren zur variablen Längenkodierung für einen Bewegungsvektor Expired - Lifetime DE69229153T2 (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
DE69229153D1 DE69229153D1 (de) 1999-06-17
DE69229153T2 true DE69229153T2 (de) 1999-11-25

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 Before (2)

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

Country Status (5)

Country Link
US (1) US5298991A (de)
EP (5) EP1032210B1 (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 三菱電機株式会社 ディジタル映像信号符号化装置および復号化装置
US7046734B2 (en) * 1998-04-02 2006-05-16 Intel Corporation Method and apparatus for performing real-time data encoding
US7263127B1 (en) 1998-04-02 2007-08-28 Intel Corporation Method and apparatus for simplifying frame-based motion estimation
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
US7305034B2 (en) * 2002-04-10 2007-12-04 Microsoft Corporation Rounding control for multi-stage interpolation
US7620109B2 (en) * 2002-04-10 2009-11-17 Microsoft Corporation Sub-pixel interpolation in motion estimation and compensation
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
US7499495B2 (en) * 2003-07-18 2009-03-03 Microsoft Corporation Extended range motion vectors
US20050013498A1 (en) 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
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
US10554985B2 (en) 2003-07-18 2020-02-04 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
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
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
US7623574B2 (en) 2003-09-07 2009-11-24 Microsoft Corporation Selecting between dominant and non-dominant motion vector predictor polarities
US7616692B2 (en) 2003-09-07 2009-11-10 Microsoft Corporation Hybrid motion vector prediction for interlaced forward-predicted fields
US7567617B2 (en) * 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
US8064520B2 (en) * 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
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
US7499595B2 (en) * 2004-08-18 2009-03-03 Cisco Technology, Inc. Joint amplitude and position coding for photographic image and video 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
US7454076B2 (en) * 2004-06-15 2008-11-18 Cisco Technology, Inc. Hybrid variable length coding method for low bit rate video coding
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
US7499596B2 (en) 2004-08-18 2009-03-03 Cisco Technology, Inc. Amplitude coding for clustered transform coefficients
US7471841B2 (en) * 2004-06-15 2008-12-30 Cisco Technology, Inc. Adaptive breakpoint for hybrid variable length coding
US20070230805A1 (en) * 2004-07-27 2007-10-04 Yoshihisa Yamada Coded Data Recording Apparatus, Decoding Apparatus and Program
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
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
US8295343B2 (en) * 2005-11-18 2012-10-23 Apple Inc. Video bit rate control method
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
EP2565582B1 (de) 2009-07-09 2014-05-14 TomTom International B.V. Verfahren zur Komprimierung von Routesuchebeschleunigungsdaten
US9942560B2 (en) 2014-01-08 2018-04-10 Microsoft Technology Licensing, Llc Encoding screen capture data
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
WO2020098810A1 (en) 2018-11-17 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Merge with motion vector difference in video processing
EP4307667A3 (de) 2018-12-21 2024-03-20 Beijing Bytedance Network Technology Co., Ltd. Bewegungsvektorgenauigkeit in zusammenschaltung mit bewegungsvektordifferenzmodus
WO2020125755A1 (en) 2018-12-21 2020-06-25 Beijing Bytedance Network Technology Co., Ltd. Motion vector range based on motion vector precision

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
EP0260748B1 (de) * 1986-09-13 1994-07-13 Philips Patentverwaltung GmbH 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
US4954892A (en) * 1989-02-14 1990-09-04 Mitsubishi Denki Kabushiki Kaisha Buffer controlled picture signal encoding and decoding system
DE68922610T2 (de) * 1989-09-25 1996-02-22 Rai Radiotelevisione Italiana Umfassendes System zur Codierung und Übertragung von Videosignalen mit Bewegungsvektoren.

Also Published As

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

Similar Documents

Publication Publication Date Title
DE69229153T2 (de) Gerät und Verfahren zur variablen Längenkodierung für einen Bewegungsvektor
DE69716037T2 (de) Verfahren zur kodierung und dekodierung von digitalen bildern
DE3851468T2 (de) Kodierungsverfahren von Bildsignalen.
DE69324960T2 (de) Kodierung und Dekodierung
DE69327375T2 (de) Verfahren und Vorrichtung zur Wiederherstellung von Bilddaten
DE69221191T2 (de) Verfahren und Vorrichtung zur Prädiktiven Kodierung eines Bildsignals mit Bewegungskompensation
DE69031045T2 (de) Einrichtung zur adaptiven Zwischenbild-Prädiktionsdekodierung eines Videosignals
DE69323156T2 (de) Bilddatenkomprimierungs/Dekomprimierungssystem
DE69316440T2 (de) Einrichtung zur Umsetzung von digitalen Daten
DE69535007T2 (de) Verfahren und Vorrichtung zur objektbasierten prädiktiven Kodierung und Übertragung von digitalen Bildern und Dekodierungsvorrichtung
DE69015695T2 (de) Einrichtung zur Transformationskodierung.
DE69421135T2 (de) Verfahren zur vermeidung von rundungsfehlern bei der inversen transformation von transformationskoeffizienten eines bewegtbildsignals
DE69309529T2 (de) Verfahren und Vorrichtung für die räumliche Filterung von blocktransformationsdekodierten digitalen Bildern
DE69736852T2 (de) Codierung- und Decodierungssystem für bewegte Bilder mit beliebig geformten Objekten
DE3109795A1 (de) Bandeinengungsverfahren fuer getoente bilder
DE69329983T2 (de) Bildverarbeitungsverfahren und -vorrichtung
DE69031638T2 (de) System zum Übertragen von Bildinformation
EP0141127B1 (de) Anordnung zur zweidimensionalen DPCM-Codierung
EP0285902A2 (de) Verfahren zur Datenreduktion digitaler Bildsequenzen
DE69321038T2 (de) Kodierung und Dekodierung von digitalen Videodaten
DE4442643B4 (de) Verfahren zum Abschätzen der Bewegung in einem Bewegtbild
DE69024002T2 (de) Vorrichtung zum Codieren von zweidimensionalen Informationen und entsprechende Decodiervorrichtung.
DE69735968T2 (de) Vorrichtung und Verfahren zur Bildinformationsumwandlung
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: 527011

Country of ref document: EP