[go: up one dir, main page]

DE69428019T2 - Verfahren und vorrichtung zur kodierung/dekodierung von bewegungsvektoren, und verfahren und vorrichtung zur kodierung/dekodierung von bildsignalen - Google Patents

Verfahren und vorrichtung zur kodierung/dekodierung von bewegungsvektoren, und verfahren und vorrichtung zur kodierung/dekodierung von bildsignalen

Info

Publication number
DE69428019T2
DE69428019T2 DE69428019T DE69428019T DE69428019T2 DE 69428019 T2 DE69428019 T2 DE 69428019T2 DE 69428019 T DE69428019 T DE 69428019T DE 69428019 T DE69428019 T DE 69428019T DE 69428019 T2 DE69428019 T2 DE 69428019T2
Authority
DE
Germany
Prior art keywords
motion vector
signal
motion vectors
motion
macroblock
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
DE69428019T
Other languages
English (en)
Other versions
DE69428019D1 (de
Inventor
Motoki Kato
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=26406823&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE69428019(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 DE69428019D1 publication Critical patent/DE69428019D1/de
Application granted granted Critical
Publication of DE69428019T2 publication Critical patent/DE69428019T2/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • H04N7/52Systems for transmission of a pulse code modulated video signal with one or more other pulse code modulated signals, e.g. an audio signal or a synchronizing signal
    • H04N7/54Systems for transmission of a pulse code modulated video signal with one or more other pulse code modulated signals, e.g. an audio signal or a synchronizing signal the signals being synchronous
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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
    • 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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh

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 ein Verfahren zur Bestimmung (Berechnung) einer Bewegungsvektordifferenz und ein Element zur Bestimmung (Berechnung) der Differenz zwischen Bewegungsvektoren durch bewegungskompensierende Prädiktion eines Bewegtbilds, ferner ein Verfahren zur Bestimmung von rekonstruierten Bewegungsvektoren aus der Differenz und ein Element zur Bestimmung von rekonstruierten Bewegungsvektoren aus der Differenz sowie eine Bewegtbild-Kodiervorrichtung und eine Bewegtbild-Dekodiervorrichtung zum Kodieren und Dekodieren eines Bewegtbildsignals, auf welches die Bestimmung der Differenz bzw. die Bestimmung eines aus der Differenz rekonstruierten Bewegungsvektors angewendet werden.
  • Beim Digitalisieren eines Bewegtbildsignals werden die so gewonnenen Daten für die Aufzeichnung und Übertragung einer (Kompressions)-Kodierung unterzogen, da ihre Datenmenge sehr groß wird. Als repräsentatives Kodiersystem steht eine prädiktive Kodierung mit Bewegungskompensation zur Verfügung.
  • Das Prinzip der Prädiktion mit Bewegungskompensation ist in Fig. 9 dargestellt. Die prädiktive Kodierung mit Bewegungskompensation nach Fig. 9 stellt ein Verfahren dar, bei dem die Korrelation eines Bildsignals in Richtung der Zeitachse genutzt wird. Bei diesem Verfahren wird ein aktuell eingegebenes Bild (Bildsignal des laufenden Vollbilds) aus einem bekannten Bildsignal prädiziert, das bereits dekodiert und reproduziert ist (Bildsignal eines vorhergehenden Vollbilds), um das dekodierte und reproduzierte bekannte Bildsignal (Bildsignal des vergangenen Vollbilds) nach Maßgabe der Bewegung des Signals zu bewegen und nur die aktuelle Bewegungsinformation (Bewegungsvektor MV) und die aktuelle Prädiktionsfehlerinformation zu übertragen und dadurch die für das Kodieren erforderliche Informationsmenge zu komprimieren.
  • Als repräsentative Verfahren zur prädiktiven Kodierung und Dekodierung mit Bewegungskompensation ist das MPEG1-System (MPEG = Moving Picture Expert Group) bekannt. Dieses MPEG1 ist die populäre Bezeichnung für das System zur Bewegtbildkodierung, das in der WG (Working Group) 11 des SC (Sub Committee) 29 des JTC (Joint Technical Committee) 1 der sog. ISO (International Standardization Organization) und IEC (International Electrotechnical Commission) entwickelt wurde.
  • MPEG1 arbeitet mit Intraframe- und Interframe-Kodierung, wobei die prädiktive Kodierung mit Bewegungskompensation bei der Interframe-Kodierung benutzt wird. Ein Beispiel für die Prädiktion mit Bewegungskompensation ist in Fig. 10 dargestellt. In Fig. 10 wird bei der Prädiktion mit Bewegungskompensation ein Vollbild (Bild) in kleine Blöcke (sog. Makroblöcke (MB) unterteilt, die jeweils aus 16 Zeilen · 16 Pixeln bestehen), um die prädiktive Kodierung mit Bewegungskompensation mit diesen kleinen Blöcken als Einheit auszuführen. In dem Beispiel von Fig. 10 sind als Prädiktion mit Bewegungskompensation bei der Interframe-Kodierung, die Vorwärtsprädiktion, z. B. zwischen einem zeitlich vorhergehenden Vollbild und dem laufenden Vollbild, und die Rückwärtsprädiktion, z. B. zwischen einem zukünftigen Vollbild und dem laufenden Vollbild, dargestellt.
  • Ein praxisnäheres Beispiel für die Bewegungskompensation ist in Fig. 11 dargestellt. Als erste Stufe der Verarbeitung wird zunächst ein (zu kodierendes) P-Bild, das in der Figur mit P bezeichnet ist, im Sprung über einige Bilder unter Verwendung des in der Figur mit I bezeichneten I-Bildes oder eines anderen P-Bildes prädiktiv kodiert. Eine solche prädiktive Kodierung wird zyklisch ausgeführt. Als zweite Stufe der Verarbeitung werden B-Bilder, die in der Figur zwischen P-Bildern, I-Bildern oder zwischen einem P-Bild und einem I-Bild dargestellt sind, sequentiell aus dem P-Bild oder dem I-Bild vor und nach diesem B-Bildern prädiktiv kodiert. Es ist zu beachten, daß ein I-Bild ein Intraframe-kodiertes Bild ist, das ohne Bewegungskompensation erzeugt wird. Die Pfeile in Fig. 11 (mit Ausnahme des die Richtung der Zeit t anzeigenden Pfeils) bezeichnen die Richtungen der Bewegungsprädiktionen.
  • Für die Bewegungskompensation in MPEG1 existieren die unten beschriebenen vier Arten in Makroblockeinheiten, nämlich
  • als erster Bewegungskompensationsmodus der Prädiktionsmodus aus einem zeitlich vorangehenden Vollbild (Modus mit Vorwärtsprädiktion);
  • als zweiter Bewegungskompensationsmodus der Prädiktionsmodus aus einem zukünftigen Vollbild (Modus mit Rückwärtsprädiktion);
  • als dritter Bewegungskompensationsmodus der Modus mit linearer Prädiktion sowohl aus dem vergangenen als auch aus dem zukünftigen Vollbild (Modus mit bidirektionaler Prädiktion), (d. h. es wird für alle Pixel der Prädiktionsblöcke aus dem vergangenen Vollbild und den Prädiktionsblöcken aus den zukünftigen Vollbild der Mittelwert berechnet); und
  • als vierter Bewegungskompensationsmodus der Modus ohne Bewegungskompensation (d. h. der Modus mit Intra-Kodierung).
  • Bei dem P-Bild wird von diesen vier Arten von Bewegungskompensationsmodi der jeweils optimale Modus aus dem ersten und vierten Bewegungskompensationsmodus in Makroblockeinheiten ausgewählt. Als vergangenes Vollbild, das bei der Prädiktion mit Bewegungskompensation für das Bild des laufenden Vollbilds als Referenz dient, existiert ein Vollbild. Bei dem B-Bild wird der jeweils optimale Modus aus dem ersten bis vierten Bewegungskompensationsmodus in Makroblockeinheiten ausgewählt. Als vergangenes Vollbild und zukünftiges Vollbild, die bei der Prädiktion mit Bewegungskompensation für das Bild des laufenden Vollbilds als Referenz dienen, existiert jeweils ein Vollbild.
  • Bei dem P-Bild und dem B-Bild existiert bei der Prädiktion in dem ersten Bewegungskompensationsmodus ein Bewegungsvektor, der auf das vergangene Vollbild Bezug nimmt. Bei der Prädiktion in dem zweiten Bewegungskompensationsmodus existiert ein Bewegungsvektor, der auf das zukünftige Vollbild Bezug nimmt. Bei der Prädiktion in dem dritten Bewegungskompensationsmodus existiert jeweils ein Bewegungsvektor, der auf das vergangenes bzw. auf das zukünftige Vollbild Bezug nimmt.
  • Im MPEG1-System werden für die in Einheiten dieser Makroblöcke gelieferten Bewegungsvektoren mit Hilfe des in Fig. 12 dargestellten Bewegungsbestimmungs-(Berechnungs)-Elements einer Differenzbestimmung (Berechnung) unterzogen, wobei von der Tatsache Gebrauch gemacht wird, daß die Information des in Makroblockeinheiten gegebenen Bewegungsvektors hohe räumliche Korrelation aufweist. Die so gewonnene Differenzinformation wird übertragen.
  • In der Praxis werden dem Eingang 404 dieses Differenzbestimmungselements Bewegungskompensations-Modussignale zugeführt, die in vier Arten vorliegen, welche dem ersten bis vierten Bewegungskompensationsmodus entsprechen. Dem Eingang 401 wird das laufend eingegebene Bewegungsvektorsignal zugeführt. Das laufend eingegebene Bewegungsvektorsignal wird dem gemeinsamen Anschluß eines Schalters 406 und dem Addiereingang einer Referenzschaltung 405 zugeführt. Das Bewegungskompensations-Modussignal wird dem Schalter 403 zugeführt.
  • Der wählbare (geschaltete) Anschluß a des Schalters 406 ist mit dem Eingang eines Registers 402a einer Registergruppe 402 für den Referenzvektor des vergangenen Vollbilds verbunden. Der wählbare Anschluß b ist mit dem Eingang des Registers 402b der Registergruppe 402 für den Referenzvektor des zukünftigen Vollbilds verbunden. Der Ausgang des Registers 402a der Registergruppe 402 für den Referenzvektor des vergangenen Vollbilds ist mit dem wählbaren Anschluß eines Schalters 407 verbunden. Der Ausgang des Registers 402b für den Referenzvektor des zukünftigen Vollbilds ist mit dem wählbaren Anschluß b des Schalters 407 verbunden. Diese Schalter 406 und 407 sind so angeordnet, daß einer der wählbaren Anschlüsse a und b nach Maßgabe eines Registerschaltsignals S401 ausgewählt wird, das von dem Schalter 403 ausgegeben wird, dem das Bewegungskompensations-Modussignal zugeführt wird. Das Ausgangssignal des Schalters 407 wird dem subtrahierenden Eingang der Subtrahierschaltung 405 zugeführt.
  • Deshalb liefert die Subtrahierschaltung 405 die Differenz zwischen dem Bewegungsvektorsignal S402, das über den Schalter 407 aus der Registergruppe 402 nach Maßgabe des von dem Schalter 403 ausgegebenen Registerschaltsignal S401 ausgelesen wurde, und dem Bewegungsvektorsignal an dem Eingang 401. Die von der Subtrahierschaltung 405 gebildete Differenz wird an dem Ausgang 408 der Differenz-Bestimmungsschaltung als Differenz- Bewegungsvektor ausgegeben.
  • Das laufend zugeführte Bewegungsvektorsignal wird in das von dem Registerschaltsignal S401 festgelegte Register 402a oder 402b über den Schalter 406 eingelesen und dort neu gespeichert.
  • Wie oben dargestellt wurde, werden in dem Differenzbestimmungselement die Bewegungsvektoren, die auf das vergangene Vollbild Bezug nehmen, und die Bewegungsvektoren, die auf das zukünftige Vollbild Bezug nehmen, unabhängig verarbeitet, um die Differenz zu bestimmen.
  • Ein praktisches Beispiel für die Arbeitsweise des oben beschriebenen Differenzbestimmungselements ist in Fig. 13 dargestellt. In dieser Figur bezeichnet die X-Komponente von (X, Y) des Bewegungsvektors die Bewegung in horizontaler Richtung, und seine Y-Komponente bezeichnet die Bewegung in vertikaler Richtung. Positive Werte werden für räumliche Bewegungen nach, rechts und unten vergeben, negative Werte werden für Bewegungen nach links und oben vergeben. In diesem Beispiel ist (0, 0) als Anfangswert bei der Bestimmung der Differenz gegeben. Mit FMV ist in dieser Figur der Referenz-Bewegungsvektor des vergangenen Vollbilds bezeichnet, während mit BMV der Referenz-Bewegungsvektor des vergangenen Vollbilds bezeichnet ist. Weiterhin ist in dieser Figur der Bewegungskompensationsmodus mit Vorwärtsprädiktion Modus (1), der Bewegungskompensationsmodus mit Rückwärtsprädiktion mit Modus (2) und der Bewegungskompensationsmodus mit bidirektionaler Prädiktion mit Modus (3) bezeichnet.
  • Das heißt, wenn in Fig. 13 z. B. der Bewegungskompensationsmodus des kleinen Blocks am linken Ende der Figur der Modus (3) ist, ist der Referenz-Bewegungsvektor FMV des vergangenen Vollbilds (10, 10), und der Referenz-Bewegungsvektor BMV des zukünftigen Vollbilds ist (8, 8), falls der Bewegungsvektor in dem kleinen Block von Modus (1), der auf der rechten Seite angrenzt, gleich (8, 5) ist, wird der Differenz-Bewegungsvektor gleich (-2, -5), entsprechend (8, 5) - (10, 10), und falls der Bewegungsvektor in dem kleinen Block von Modus (1), der auf der rechten Seite angrenzt, gleich (7, 6) ist, wird der Differenz-Bewegungsvektor gleich (-1, 1), entsprechend (7, 6) - (8, 5). Wenn weiterhin der Bewegungsvektor in dem kleinen Block von Modus (2), der auf der rechten Seite angrenzt, gleich (9, 10) ist, wird der Differenz-Bewegungsvektor gleich (1, 2), entsprechend (9, 10) - (8, 8), und wenn die Eingangs-Bewegungsvektoren in dem kleinen Block von Modus (3), der auf der rechten Seite angrenzt, gleich (5, 4) und (8, 9) sind, werden ihre Differenz-Bewegungsvektoren gleich (-2, -2), entsprechend (5, 4) - (7, 6) bzw. gleich (-1, -1) entsprechend (8, 9) - (9, 10).
  • Fig. 14 zeigt ein inverses Differenzbestimmungselement für die Rekonstruktion des Bewegungsvektors aus dem Bewegungsvektor, der in der beschriebenen Weise durch den Differenzvektor dargestellt wird. Die Konfiguration dieses Elements ist zu derjenigen des Differenzbestimmungselements von Fig. 13 komplementär.
  • Das heißt, in dem inversen Differenzbestimmungselement werden dem Eingang 414 Bewegungskompensations-Modussignale zugeführt, von denen es vier Arten gibt, die dem ersten bis vierten Bewegungskompensationsmodus entsprechen. Dem Eingang 408 wird das eingegebene laufende Differenz-Bewegungsvektorsignal zugeführt. Dieses Differenz-Bewegungsvektorsignal wird dann einem der addierenden Eingänge der Addierschaltung 409 zugeführt, während das Bewegungskompensations-Modussignal einem Schalter 413 zugeführt wird.
  • Der wählbare Anschluß a des Umschalters 411 ist mit dem Ausgang des Registers 410a für den Referenzvektor des früheren Vollbilds in der Registergruppe 410 verbunden, während der wählbare Anschluß b mit dem Ausgang des Registers 410b für den Referenzvektor des zukünftigen Vollbilds verbunden ist. Der Umschalter 411 ist so ausgebildet, daß nach Maßgabe des Registerschaltsignals S403, das von dem mit dem Bewegungskompensations-Modussignal gespeisten Schalter 413 ausgegeben wird, einer der wählbaren Anschlüsse a und b ausgewählt wird. Der gemeinsame Anschluß des Umschalters 411 ist mit dem anderen addierenden Eingang der Addierschaltung 409 verbunden.
  • Deshalb addiert die Addierschaltung 409 das Bewegungsvektorsignal S404, das nach Maßgabe des von dem Schalter 413 ausgegebenen Registerschaltsignals S403 über den Umschalter 411 aus der Registergruppe 410 ausgelesen wurde, und das Differenz-Bewegungsvektorsignal von dem Eingang 408. Das Element zur Bestimmung der inversen Differenz gibt an dem Ausgang 415 das Summenausgangssignal der Addierschaltung 409 als rekonstruiertes Bewegungsvektorsignal aus.
  • Das rekonstruierte Bewegungsvektorsignal aus der Addierschaltung 409 wird außerdem dem gemeinsamen Anschluß des Schalters 412 zugeführt. Dieser Schalter 412 ist so ausgebildet, daß auf der Basis des Registerschaltsignals S403 einer der wählbaren Anschlüsse a und b ausgewählt wird. Der wählbare Anschluß a ist mit dem Register 410a für den Referenzvektor des früheren Vollbilds in der Registergruppe 410 verbunden, und der wählbare Anschluß b ist mit dem Register 410b für den Referenzvektor des zukünftigen Vollbilds verbunden.
  • Deshalb wird die Information des rekonstruierten Bewegungsvektors über den Umschalter 412 in das von dem Registerschaltsignal S403 festgelegte Register 410a oder 410b überschrieben und dort erneut gespeichert.
  • Das MPEG1-System eignet sich als Verfahren zur Bewegtbildkodierung von Bildern, die nicht nach dem Zeilensprungverfahren verschachtelt sind. Deshalb läßt sich nicht sagen, daß das MPEG1-System notwendigerweise auch zum Kodieren eines Zeilensprungsignals geeignet ist, z. B. eines Signals nach dem NTSC- oder PAL-System, das ein Fernsehsignal ist. Dies stellt ein Problem dar.
  • Deshalb wurde in den vergangenen Jahren ein System zum prädiktiven Kodieren mit effizienter Bewegungskompensation für Zeilensprungsignale vorgeschlagen. Es handelt sich um das MPEG2-System als Nachfolger des MPEG1-Systems. In diesem System wird, wie in Fig. 15 dargestellt, ein Verfahren angewendet, bei dem zwischen Einheiten zur Bearbeitung von Vollbildern und Halbbildern adaptiv umgeschaltet wird. In Fig. 15 bezeichnet fr Vollbilder, während fi Halbbilder bezeichnet. Der Pfeil FRP bezeichnet Prädiktion auf Vollbildbasis, während der Pfeil FIP Prädiktion auf Halbbildbasis bezeichnet.
  • Dabei wird im MPEG2-System dann, wenn die Bildstruktur ein Vollbild ist, ein Verfahren zum adaptiven Umschalten angewendet in Abhängigkeit davon, ob die Prädiktion für die Bewegungskompensation durch Makroblöcke auf Vollbildbasis oder Makroblöcke auf Halbbildbasis ausgeführt wird.
  • Weiterhin wird im MPEG2-System ein Verfahren angewendet, bei dem ein Makroblock in Bereiche von 16 Pixeln · 8 Zeilen in dem oberen Abschnitt und dem unteren Abschnitt unterteilt wird, wie es der jeweilige Fall erfordert, um die Prädiktion der Bewegungskompensation in den betreffenden Abschnitten unabhängig durchzuführen.
  • Dabei ist die in Einheiten von Makroblöcken gegebene Zahl von Bewegungsvektoren die folgende: Bei der oben beschriebenen Prädiktion des ersten Bewegungskompensationsmodus existieren ein oder mehrere Bewegungsvektoren, die die Referenz für das vergangene Vollbild (oder Halbbild) bilden; bei der Prädiktion des zweiten Bewegungskompensationsmodus existieren ein oder mehrere Bewegungsvektoren, die die Referenz für das zukünftige Vollbild (oder Halbbild) bilden; und in der Prädiktion des dritten Bewegungskompensationsmodus existieren ein oder mehrere Bewegungsvektoren, die die Differenz sowohl für vergangene als auch für zukünftige Vollbilder (oder Halbbilder) bilden. Die Zahl der Bewegungsvektoren in den betreffenden Bewegungskompensationsmoden werden in Einheiten vom Makroblöcken variiert.
  • Wie oben festgestellt wurde, werden bei MPEG2 als Prädiktionsverfahren für die Bewegungskompensation Systeme vorgeschlagen, die komplexer sind als bei MPEG1. Daraus folgt, daß die Zahl der Bewegungsvektorarten größer ist als bei MPEG1. Unter diesen Umständen gibt es bei der Behandlung dieser Bewegungsvektoren zwei Probleme.
  • Das erste Problem besteht darin, daß das bei MPEG1 benutzte Verfahren für die Bewegungsvektorkodierung nicht angewendet werden kann. Deshalb wurden verschiedene Vorschläge gemacht. Sie sind z. B. in P.32, P.44, P.145, P.148 von ISO-IEC/JTC1/SC 29WG11 MPEG93/225b Test Model 4 (offengelegt im Februar 1993) für die öffentliche Einsichtnahme offengelegt.
  • Es läßt sich jedoch nicht sagen, daß diese Vorschläge alle Bewegungskompensationsarten unterstützen, so daß sie bis jetzt unzureichend sind. Außerdem haben diese Vorschläge den Nachteil, daß sie das im folgenden beschriebene zweite Problem nicht lösen können. Das zweite Problem besteht darin, daß die Behandlung von übersprungenen Makroblöcken nicht klar dargestellt ist.
  • Unter übersprungenen Makroblöcken bei MPEG1 werden hier Makroblöcke mit den folgenden Eigenschaften verstanden: Sie sind durch folgende Eigenschaften charakterisiert: erstens, übersprungener Makroblock in einem P-Bild
  • es gibt kein Bewegungskompensations-Fehlersignal, das zu übertragen ist (Bedingung a_1e),
  • der Bewegungskompensationsmodus ist die Vorwärtsprädiktion (Bedingung a_2e) und der Wert des Bewegungsvektors ist gleich Null (Bedingung a 3e);
  • zweitens, übersprungener Makroblock in einem B-Bild
  • es gibt kein Bewegungskompensations-Fehlersignal, das zu übertragen ist (Bedingung b_1e),
  • der Bewegungskompensationsmodus ist der gleiche wie für den unmittelbar vorher übertragenen Makroblock (Bedingung b_2e) und
  • der Wert des Bewegungsvektors, der der Differenzvektor sein soll, der mit Hilfe des in Fig. 12 dargestellten Differenzbestimmungselements gewonnen wird, ist gleich Null (Bedingung b_3e).
  • Außerdem werden übersprungene Makroblöcke in dem Kodierer im MPEG1-System folgendermaßen behandelt: In dem MPEG1-System werden übersprungene Makroblöcke so verarbeitet, daß
  • erstens, die Verarbeitung von übersprungenen Makroblöcken in einem P-Bild besteht darin, daß
  • das Bewegungskompensations-Fehlersignal, das übertragen wurde, als Null betrachtet wird (Bedingung a_1d),
  • es wird veranlaßt, daß der Bewegungskompensationsmodus derjenige mit Vorwärtsprädiktion ist (Bedingung a_2d), und
  • der Wert des Bewegungsvektors wird auf Null gesetzt (Bedingung a_3d),
  • zweitens, die Verarbeitung von übersprungenen Makroblöcken in einem B-Bild besteht darin, daß
  • das Bewegungskompensations-Fehlersignal, das übertragen wurde, als Null betrachtet wird (Bedingung b_1d),
  • der Bewegungskompensationsmodus eines Makroblocks, der unmittelbar vorher empfangen wurde, kopiert werden muß (Bedingung b_2d) und
  • der Bewegungsvektor eines Makroblocks, der unmittelbar vorher empfangen wurde, kopiert werden muß (Bedingung b_3d).
  • Mit anderen Worten, die Dekodierverarbeitung eines übersprungenen Makroblocks in dem P-Bild ist im MPEG1-System eine Kopie aus dem vergangenen Bild, und die Dekodierverarbeitung eines übersprungenen Makroblocks in dem B-Bild ist eine Kopie aus dem auf der linken Seite angrenzenden Makroblock in demselben Vollbild, der unmittelbar vorher dekodiert wurde.
  • Wie oben beschrieben wurde, überträgt im MPEG1-System der Kodierer für einen Makroblock, der ein übersprungener Makroblock ist, keine Daten. Wie oben festgestellt wurde, stellt der übersprungene Makroblock im Hinblick auf eine Verbesserung der Kodiereffizienz eine wichtige Kodiertechnologie dar. So können z. B. für den Fall, daß ein zu verarbeitendes Bild eine Sequenz von Bewegtbildern ist und sein Inhalt eine Szene ist, in der Standbilder (Bilder mit sehr wenig Bewegung) aufeinanderfolgend, die meisten Makroblöcke als übersprungene Makroblöcke behandelt werden. Im Extremfall kann eine Prozedur angewendet werden, bei der das erste Vollbild innerhalb des Bildes ohne Bewegungskompensation kodiert wird und die kodierte Vollbildinformation übertragen wird, so daß Makroblöcke von den zweiten Vollbildern und den darauf folgenden Vollbildern fast als übersprungene Makroblöcke behandelt werden können. In diesem Fall ist eine erhebliche Verbesserung der Kodiereffizienz zu erwarten.
  • Aus den oben beschriebenen Tatsachen folgt, daß die Methode zur Bewegungsvektorcodierung bei der Bewegungskompensationsprädiktion des oben beschriebenen MPEG2-Systems ein Verfahren sein muß, bei dem auch die Behandlung von übersprungenen Makroblöcken zu berücksichtigen ist.
  • Nun ist jedoch bei den Methoden zur Bewegungsvektorkodierung, die üblicherweise für das MPEG2-System vorgeschlagen wurden, die Behandlung von übersprungenen Makroblöcken nicht berücksichtigt. Aus diesem Grund haben diese Methoden den Nachteil, daß übersprungene Makroblöcke nicht behandelt werden.
  • Auf der Basis der Konfiguration des in Fig. 16 dargestellten Differenzbestimmungselements wird nun ein Beispiel des Problems beschrieben. Es handelt sich um die Methode, die in ISO-IEC/JTC1/SC29/WG11 MPEG93/225b Test Model 4 des oben erwähnten Papiers beschrieben wird.
  • In Fig. 16 wird dem Eingang 504 folgenden Informationen zugeführt: die Modusinformation für Vorwärts-, Rückwärts- oder bidirektionaler Prädiktion als Modussignal der Bewegungskompensation, ferner eine Information zur Kennzeichnung der Vollbild- oder Halbbild-Prädiktion usw. als Signal des Prädiktionstyps, das weiter unten beschrieben wird, und eine Information, die die Vollbildstruktur, die Halbbildstruktur oder progressive Struktur als Bildstruktursignal angibt, und zusätzlich eine Information, die das erste Halbbild (Halbbild 1, d. h. z. B. ungeradzahliges Halbbild) oder das zweite Halbbild (Halbbild 2, d. h. z. B. geradzahliges Halbbild) als Halbbild-Bewegungsvektor-Paritätssignal, eine Information, die in ähnlicher Weise das erste Halbbild oder das zweite Halbbild als Prädiktionshalbbild-Paritätssignal angibt und eine Information, die ein P-Bild oder ein B-Bild als Bildkodiertypsignal angibt. Außerdem wird dem Eingang 501 das laufend eingegebene Bewegungsvektorsignal zugeführt.
  • Das Signal, das an den Eingang 504 geliefert wird, wird dem Schalter 503 zugeführt. Das eingegebene laufende Bewegungsvektorsignal wird über einen Maßstabwandler 509 zur Realisierung einer vorbestimmten Maßstabumwandlung B für den laufend eingegebenen Bewegungsvektor auf der Basis eines Maßstabkennzeichnungssignals SCB aus dem Schalter 503 dem gemeinsamen Anschluß des Umschalters 506 zugeführt, und außerdem direkt dem addierenden Eingang einer Subtrahierschaltung 505 zugeführt.
  • Der Umschalter 506 besitzt wählbare Anschlüsse a bis d. Der wählbare Anschluß a ist mit dem Eingang des Registerspeichers PMV1 der Registerspeichergruppe 502 für die Bewegungsvektorspeicherung verbunden, der weiter unten beschrieben wird. Der wählbare Anschluß b ist mit dem Eingang des Registerspeichers PMV2 der Registergruppe 502 verbunden. Der wählbare Anschluß c ist mit dem Eingang des Registerspeichers PMV3 verbunden, und der wählbare Anschluß d ist mit dem Eingang des Registerspeichers PMV4 verbunden. Der Ausgang des Registerspeichers PMV1 der Registerspeichergruppe 502 für die Bewegungsvektorspeicherung ist mit dem wählbaren Anschluß a eines Umschalters 507 verbunden. Der Ausgang des Registerspeichers PMV2 ist mit dem wählbaren Anschluß b des Umschalters 507 verbunden. Der Ausgang des Registerspeichers PMV3 ist mit dem wählbaren Anschluß c des Umschalters 507 verbunden, und der Ausgang des Registerspeichers PMV4 ist mit dem wählbaren Anschluß e des Umschalters 507 verbunden. Die Umschalter 506 und 507 sind so ausgebildet, daß nach Maßgabe eines von dem Schalter 503 ausgegebenen Registerschaltsignals einer der wählbaren Anschlüsse a bis d ausgewählt wird.
  • Das Ausgangssignal des Umschalters 507 wird über einen Maßstabwandler 510 zur Realisierung einer vorbestimmten Maßstabumwandlung A auf der Basis des Maßstabkennzeichnungssignals SCA aus dem Schalter 503 dem subtrahierenden Eingang der Subtrahierschaltung 505 zugeführt. Die Subtrahierschaltung 505 ermittelt die Differenz zwischen der Information aus dem Maßstabwandler 510 und dem Bewegungsvektorsignal am Eingang 501. Die von der Subtrahierschaltung 505 ermittelte Differenz wird von dem Element zur Differenzbestimmung an dem Ausgang 508 als Differenz-Bewegungsvektorsignal ausgegeben.
  • Die Information des laufend eingegebenen Bewegungsvektors wird über den Maßstabwandler 509 und über den Umschalter 506 in demjenigen der Registerspeicher PMV1 bis PMV4, der durch das Registerschaltsignal festgelegt wird, überschrieben und dort erneut gespeichert.
  • Wie oben beschrieben wurde, besitzt das in Fig. 16 dargestellte Differenzbestimmungselement zur Ermittlung der Differenz zwischen den Bewegungsvektoren eine Registerspeichergruppe 502, die aus den vier Registerspeichern PMV1 bis PMV4 zur Speicherung des Bewegungsvektorsignals besteht.
  • Im folgenden wird die Funktion der Registerspeichergruppe 502 für die Bewegungsvektorspeicherung beschrieben.
  • In ISO-IEC/JTC1/5C29/WG11 MPEG93/225b Test Model 4 wird für den Fall des P-Bildes vorgeschlagen, die betreffenden Registerspeicher PMV1 bis PMV4 der Registerspeichergruppe 502 von Fig. 16 in der folgenden Weise zu benutzen.
  • Die Information z. B. des Vorwärts-Bewegungsvektors, in welchem das Referenzbild (das Bild, das als Referenz für das prädiktive Bild dient) das erste Halbbild ist, und das prädizierte Halbbild hierfür (das Halbbild, das von nun an zu kodieren ist) das erste Halbbild ist, wird in dem Registerspeicher PMV1 gespeichert. Die Information des Vorwärts-Bewegungsvektors, in welchem das Referenzbild das zweite Halbbild und das prädizierte Halbbild das erste Halbbild ist, wird in dem Registerspeicher PMV2 gespeichert. Die Information des Vorwärts- Bewegungsvektors, in welchem das Referenzbild das erste Halbbild ist und das prädizierte Bild das zweite Halbbild ist, wird in dem Registerspeicher PMV3 gespeichert. Die Information des Vorwärts-Bewegungsvektors, in welchem das Referenzbild das zweite Halbbild ist und das prädizierte Halbbild das zweite Halbbild ist, wird in dem Registerspeicher PMV4 gespeichert. Das heißt, in dem P-Bild wurde die Beziehung zwischen den Bewegungsvektorsignalen und den betreffenden Registerspeichern, in denen sie gespeichert werden, durch Kombinationen von Referenzbildern und zu prädizierenden Halbbildern festgelegt.
  • Auf der anderen Seite wurde in ISO-IEC/JTC1/SC29/WG11 MPEG93/225b Test Model 4, für den Fall des B-Bildes vorgeschlagen, die betreffenden Registerspeicher PMV1 bis PMV4 von Fig. 16 in der folgenden Weise zu benutzen.
  • Es sind z. B. zwei Registerspeicher PMV für den Vorwärts-Bewegungsvektor vorgesehen. Die Information des Vorwärts-Bewegungsvektors, in welchem das Referenzbild das erste Halbbild ist, wird z. B. in dem Registerspeicher PMV1 gespeichert, und die Information des Vorwärts-Bewegungsvektors, in welchem das Referenzbild das zweite Halbbild ist, wird in dem Registerspeicher PMV2 gespeichert. Es sind ferner zwei Registerspeicher PMV für den Rückwärts-Bewegungsvektor vorgesehen. Die Information des Rückwärts-Bewegungsvektors, in welchem das Referenzbild das erste Halbbild ist, wird in dem Registerspeicher PM- V3 gespeichert und die Information des Rückwärts-Bewegungsvektors, in welchem das Referenzbild das zweite Halbbild ist, wird in dem Registerspeicher PMV4 gespeichert. Das heißt, bei dem B-Bild werden unabhängig davon, ob da zu prädizierende Halbbild das erste Halbbild oder das zweite Halbbild ist, die Bewegungsvektorsignale, bei denen das Referenzbild und die Prädiktionsrichtung gleich sind, in dem gleichen Registerspeicher gespeichert.
  • In dem in Fig. 16 dargestellten Differenzbestimmungselement wird dadurch, daß der eingegebene laufende Bewegungsvektor ein Differenzvektor sein kann, ein Lösungsweg beschritten, bei dem der Wert des Registerspeichers PMV, der diesem Bewegungsvektor entspricht, (d. h. des Registerspeichers PMV, in welchem ein Bewegungsvektor, bei dem das Referenzbild und das prädizierte Halbbild die gleiche Parität haben wie der Bewegungsvektor, für den Fall gespeichert wird, daß der Bewegungsvektor für die Kodierung eines P-Bildes benutzt wird; und der Registerspeicher PMV, in welchem ein Bewegungsvektor, bei dem das Referenzbild und die Prädiktionsrichtung die gleiche Parität haben wie der Bewegungsvektor für den Fall gespeichert wird, daß der Bewegungsvektor für die Kodierung eines B-Bildes benutzt wird) extrahiert, um bedarfsweise eine vorbestimmte Maßstabumwandlung A durch den Maßstabwandler 510 (nach Maßgabe des Maßstabindikationssignals SCA) zu realisieren und anschließend in der Subtrahierschaltung 505 die Differenz zwischen dem maßstabgewandelten Wert A und dem laufend eingegebenen Bewegungsvektor zu berechnen. Außerdem wird der Wert des laufend eingegebenen Bewegungsvektors von dem Maßstabwandler 509 bedarfsweise der Maßstabumwandlung B unterzogen, um anschließend in das ausgewählte Exemplar der Registerspeicher PMV überschrieben zu werden und bei der Bestimmung des Differenz-Bewegungsvektors als Referenz zu dienen und dort erneut gespeichert zu werden, wie dies oben beschrieben wurde, jedoch nicht dargestellt ist. Das Differenzbestimmungselement ist in dieser Weise aufgebaut.
  • Fig. 17 zeigt ein inverses Differenzbestimmungselement, das dem in Fig. 16 dargestellten Differenzbestimmungselement für den Bewegungsvektor entspricht.
  • In dem in Fig. 17 dargestellten inverse Differenzbestimmungselement wird dem Eingang 524 das Bewegungskompensations-Modussignal, das Prädiktionstypsignal, das Bildstruktursignal, das Halbbild-Bewegungsvektor-Paritätssignal, das Prädiktionshalbbild-Paritätssignal und das Bildkodiertypsignal zugeführt. Dem Eingang 518 wird das laufend eingegebene Differenz-Bewegungsvektorsignal zugeführt.
  • Die Information am Eingang 524 wird dem Schalter 523 zugeführt, und der Differenz-Bewegungsvektor wird einem der addierenden Eingänge der Addierschaltung 519 zugeführt.
  • Der wählbare Anschluß a des Umschalter 521 ist mit dem Ausgang des Registerspeichers PMV1 der Bewegungsvektor-Registerspeichergruppe 520 verbunden, um eine ähnliche Speicherung vorzunehmen wie in der Bewegungsvektor-Registerspeichergruppe 502 von Fig. 16. Der wählbare Anschluß b ist mit dem Ausgang des Registerspeichers PMV2 verbunden. Der wählbare Anschluß c ist mit dem Ausgang des Registerspeichers PMV3 verbunden und der wählbare Anschluß d ist mit dem Ausgang des Registerspeichers PMV4 verbunden. Der Umschalter 521 ist so ausgebildet, daß nach Maßgabe eines Registerschaltsignals aus dem Schalter 523 einer der wählbaren Anschlüsse a bis d ausgewählt wird. Der gemeinsame Anschluß des Umschalters 521 ist mit dem anderen addierenden Eingang der Addierschaltung 519 verbunden. Diese Verbindung verläuft über den Maßstabwandler 529, der das zugeführte Signal auf der Basis des Maßstabindikationssignals SCC aus dem Schalter 123 einer vorbestimmten Maßstabumwandlung C unterzieht.
  • Deshalb addiert die Addierschaltung 519 das Bewegungsvektorsignal, das von der Registerspeichergruppe 520 nach Maßgabe des von dem Schalter 523 ausgegebenen Registerschaltsignals über den Umschalter 521 und den Maßstabwandler 529 zugeführt wird, und das Differenz-Bewegungsvektorsignal an dem Eingang 518. Das Summenausgangssignal der Addierschaltung 519 wird von dem inversen Differenzbestimmungselement an dem Ausgang 525 als rekonstruierter Bewegungsvektor ausgegeben.
  • Das rekonstruierte Bewegungsvektorsignal aus der Addierschaltung 519 wird außerdem über den Maßstabwandler 530, der das zugeführte Signal auf der Basis des Maßstabkennzeichnungssignals SCD aus dem Schalter 523 einer vorbestimmten Maßstabumwandlung D unterzieht, dem gemeinsamen Anschluß des Umschalters 522 zugeführt. Dieser Umschalter 522 ist so aufgebaut, daß einer der wählbaren Anschlüsse a bis d auf der Basis des Registerschaltsignals ausgewählt wird. In diesem Umschalter 522 ist der wählbare Anschluß a mit dem Eingang des Registerspeichers PMV1 der Registerspeichergruppe 520 verbunden, der wählbare Anschluß b ist mit dem Eingang des Registerspeichers PMV2 verbunden, der wählbare Anschluß c ist mit dem Eingang des Registerspeichers PMV3 verbunden und der wählbare Anschluß d ist mit dem Eingang des Registerspeichers PMV4 verbunden.
  • Auf diese Weise wird die Information des rekonstruierten Bewegungsvektors überschrieben und über den Umschalter 522 in demjenigen der Registerspeicher PMV1 bis PMV 4 neu gespeichert, der durch das Registerschaltsignal festgelegt wird.
  • Das heißt, in dem inversen Differenzbestimmungselement von Fig. 17 wird der Wert, der in dem dem eingegebenen Differenz-Bewegungsvektor entsprechenden Registerspeicher PMV gespeichert ist, (d. h. dem Registerspeicher PMV, in welchem, für den Fall daß der Differenz-Bewegungsvektor für die Dekodierung eines P-Bildes benutzt wird, der rekonstruierte Bewegungsvektor gespeichert ist, bei dem die Paritätswerte des Referenzbilds und des prädizierten Halbbilds dieselben sind wie bei dem Differenz-Bewegungsvektor, oder in dem Registerspeicher PMV, in welchem, für den Fall daß der Differenz-Bewegungsvektor für die Dekodierung eines B-Bildes benutzt wird, der rekonstruierte Bewegungsvektor gespeichert ist, bei dem die Paritätswerte des Referenzbilds und des prädizierten Halbbilds dieselben sind wie bei dem Differenz-Bewegungsvektor), der dem eingegebenen Differenz-Bewegungsvektor entspricht, extrahiert, um diesen Wert bedarfsweise mit Hilfe des Maßstabwandlers 529 der Maßstabumwandlung C zu unterziehen und anschließend den maßstabgewandelten Wert und den laufend eingegebenen Bewegungsvektor mit Hilfe der Addierschaltung 519 zu addieren und so die Bewegungsvektoren entsprechend dem originalen Bewegungsvektor zu rekonstruieren. Der rekonstruierte Bewegungsvektor wird bedarfsweise in dem Maßstabwandler 530 der Maßstabumwandlung D unterzogen, und der maßstabgewandeite Wert in dem ausgewählten Exemplar der Registerspeicher PMV1 bis PMV4 überschrieben und erneut gespeichert, um bei der Rekonstruktion des Bewegungsvektors als Referenz zu dienen. Das inverse Differenzbestimmungselement ist in dieser Weise aufgebaut.
  • Im folgenden wird anhand von Fig. 18 ein Beispiel für die Wirkungsweise des Differenzbestimmungselements von Fig. 16 bei einem B-Bild beschrieben.
  • In Fig. 18 wird für den Makroblock (kleiner Block) MB1 angenommen, daß kein Prädiktions- Fehlersignal zu übertragen ist (die obige Bedingung b_1e erfüllt ist). Ferner wird angenommen, daß die Makroblöcke MB0 und MB1 den gleichen Vorwärts-Prädiktionsmodus haben (die obige Bedingung b_2e erfüllt ist).
  • Es wird nun als erstes Beispiel angenommen, daß die Bildstruktur die Halbbildstruktur ist und daß die prädizierte Halbbildparität das erste Halbbild ist (Prädiktionshalbbild ist das erste Halbbild). Der Prädiktionstyp ist die halbbildbasierte 16 · 8-Prädiktion für den Fall, daß die Prädiktion für den Bereich von 16 Pixeln · 8 Zeilen im oberen Abschnitt und der Bereich von 16 Pixeln · 8 Zeilen im unteren Abschnitt jeweils unabhängig durchgeführt wird. In dem Beispiel von Fig. 18-ist z. B. der Bewegungsvektor des oberen Abschnitts des Makroblocks MB0 gleich (5, 1)(1), der Bewegungsvektor des unteren Abschnitts des Makroblocks MB0 gleich (5, 5)(1), der Bewegungsvektor des oberen Abschnitts des Makroblocks M81 gleich (5, 5)(3), der Bewegungsvektor des unteren Abschnitts des Makroblocks MB1 gleich (5, 5)(4), der Bewegungsvektor des oberen Abschnitts des Makroblocks MB2 gleich (5, 5)(5) und der Bewegungsvektor des unteren Abschnitts des Makroblocks MB2 gleich (5, 5)(6).
  • Es wird ferner angenommen, daß alle Bewegungsvektoren der Makroblöcke MB0 und MB1 auf das gleiche erste Halbbild bezogen sind. Da in diesem Fall die Parität des Referenzbilds und die Richtung der Prädiktion für alle Bewegungsvektoren gleich sind, werden die Differenzen zwischen den in dem Registerspeicher PMV1 von Fig. 16 gespeicherten Bewegungsvektoren für die Übertragung des Differenz-Bewegungsvektors herangezogen. Es sei angenommen, daß als Anfangswert in dem Registerspeicher PMV1 von Fig. 16 der Wert (0, 0) gespeichert ist.
  • Das heißt, bei dem Beispiel von Fig. 18 wird in dem Makroblock MB0 der Wert (5, 1)(1) - PMV1 = (5, 1) gewonnen, der gleich der Differenz zwischen dem Bewegungsvektor (5,1)(1) des oberen Abschnitts und dem Anfangswert (0, 0) des Registerspeichers PMV1 ist. Der sö gewonnene Wert wird als Differenz-Bewegungsvektor des oberen Abschnitts von MB0 ausgegeben. Der Bewegungsvektor (5,1)(1) wird in dem Registerspeicher PMV1 gespeichert. Weiterhin wird der Wert (5, 5)(2) - PMV1 = (0, 4) gewonnen, der gleich der Differenz zwischen dem Bewegungsvektor (5, 5)(2) des unteren Abschnitts und dem Wert (5, 1) des Registerspeichers PMV1 ist. Der so gewonnene Wert wird als Differenz-Bewegungsvektor des unteren Abschnitts ausgegeben. Der Bewegungsvektor (5, 5)(2) wird in dem Registerspeicher PMV1 gespeichert. Wenn man in gleicher Weise die Differenz auch für den Makroblock MB1 bildet, werden alle Differenz-Bewegungsvektoren in dem Makroblock MB1 gleich Null (0, 0). (Die obige Bedingung b_3e ist erfüllt).
  • Als zweites Beispiel wird angenommen, daß die Bildstruktur eine Vollbildstruktur ist, wenn die Bedingung b_1e und die Bedingung b_2e erfüllt sind, wie dies oben beschrieben wurde. Als Prädiktionstyp wird halbbildbasierte Prädiktion unterstellt, um das erste Halbbild und das zweite Halbbild des Makroblocks jeweils unabhängig zu prädizieren (es wird angenommen, daß das prädizierte Halbbild das erste Halbbild und das zweite Halbbild ist). Es wird ferner angenommen, daß der Bewegungsvektor des ersten Halbbilds des Makroblocks MB0 gleich (5, 1)(1) ist, der Bewegungsvektor des zweiten Halbbilds gleich (5, 5)(1), der Bewegungsvektor des zweiten Halbbilds des Makroblocks MB1 gleich (5, 5)(3), der Bewegungsvektor des zweiten Halbbilds gleich (5, 5)(4), der Bewegungsvektor des ersten Halbbilds des Makroblocks MB2 gleich (5, 5)(5) und der Bewegungsvektor des zweiten Halbbilds gleich (5, 5)(6).
  • Es wird außerdem angenommen, daß alle Bewegungsvektoren des Makroblocks MB0 und des Makroblocks MB1 auf das gleiche erste Halbbild bezogen sind. Da die Parität des Referenzbilds und die Prädiktionsrichtung auch in diesem Fall für alle Bewegungsvektoren gleich sind, werden die Differenzen zwischen den in dem Registerspeicher PMV1 von Fig. 16 gespeicherten Bewegungsvektoren für die Übertragung des Differenz-Bewegungsvektors herangezogen. Somit ist auch in diesem Beispiel das Verfahren zur Ermittlung der Differenz das gleiche wie in Fig. 18. In dem Makroblock MB1 werden alle Differenz-Bewegungsvektoren gleich Null (0, 0) (Die Bedingung b_3e ist erfüllt).
  • Aus den oben beschriebenen Tatsachen folgt, daß in den zwei beschriebenen Beispielen entsprechend der Vorschrift in MPEG1 die obigen Bedingungen b_1e, b_2e, b_3e in dem Makroblock MB1 erfüllt sind. Dementsprechend wird nun angenommen, daß der Kodierer diesen Makroblock MB1 als übersprungen Makroblock verarbeitet hat.
  • In dem vorliegenden Fall ist dies jedoch eine fehlerhafte Auswahl. Dies liegt daran, daß auf der Dekodiererseite die Verarbeitung der obigen Bedingungen b_1d und b_2d zwar korrekt ausgeführt werden, jedoch eine Kopie ausgeführt wird, obwohl die Bewegungsvektoren der Makroblöcke MB0 und MB1 in Wirklichkeit unterschiedlich sind. Wenn nämlich der Makroblock MB1 als übersprungener Makroblock bewertet wird, wird in dem Fall des obigen Beispiels eine Kopie des Bewegungsvektors von dem Makroblock MB0 auf den Makroblock MB1 ausgeführt, obwohl der Bewegungsvektor (5, 1)(1) des oberen Abschnitts des Makroblocks MB0 und der Bewegungsvektor (5, 5)(3) des oberen Abschnitts des Makroblocks MB1 verschieden sind, (5,1)(1) (5, 5)(3). Dies hat zur Folge, daß die Dekodierung nicht korrekt ausgeführt wird. Auch im Fall des letzten Beispiels wird eine fehlerhafte Kopie ausgeführt, obwohl der Bewegungsvektor (5, 1)(1) des ersten Halbbilds des Makroblocks MB0 und der Bewegungsvektor (5, 5)(3) des ersten Halbbilds des Makroblocks MB1 in Wirklichkeit verschieden sind.
  • Dieses Problem rührt daher, daß in dem Stand der Technik bei einem B-Bild, der gleiche Registerspeicher (PMV) zweimal oder öfter benutzt wird, um seinen Inhalt zu aktualisieren, indem man zuläßt, daß Bewegungsvektoren innerhalb des gleichen Makroblocks einen Differenz-Bewegungsvektor bilden und diesen überträgt.
  • Die Tatsache, daß der gleiche Registerspeicher (PMV) zweimal oder öfter für einen Bewegungsvektor innerhalb des gleichen Makroblocks verwendet wird, führt ferner zu Problemen auf der Dekodiererseite, die im folgenden beschrieben werden.
  • Fig. 19 zeigt die Wirkungsweise bei der Rekonstruktion eines Bewegungsvektors aus dem übertragenen Differenz-Bewegungsvektor für das B-Bild. Es ist zu beachten, daß die Bildstruktur in diesem Beispiel die Halbbildstruktur ist und die Makroblöcke MB0, MB1, MB2 in dem Bereich von 16 Pixeln · 8 Zeilen des oberen Abschnitts und dem Bereich von 16 Pixeln · 8 Zeilen des unteren Abschnitts jeweils unabhängig voneinander im Vorwärts-Prädiktionsmodus kodiert sind. Außerdem ist angenommen, daß der Bereich von 16 Pixeln · 8 Zeilen des oberen Abschnitts und der Bereich von 16 Pixeln · 8 Zeilen des unteren Abschnitts beide ein einziges erstes Halbbild bilden sollen.
  • Da in dem Beispiel von Fig. 19 der Bereich des oberen Abschnitts und der Bereich des unteren Abschnitts gleiche Parität des Referenzbilds und gleiche Prädiktionsrichtung haben, wird z. B. nur der Registerspeicher PMV1 benutzt, so daß der Inhalt dieses Registerspeichers PMV1 innerhalb des gleichen Makroblocks variiert. Es ist deshalb notwendig, außer den Registerspeichern PMV vier zusätzliche Registerspeicher (jeweils zwei Registerspeicher für Vorwärts- und Rückwärts-Vektoren) bereitzustellen, um den Bewegungsvektor des unmittelbar vorher verarbeiteten Makroblocks zu halten. Es ist zu beachten, daß das Verfahren, wonach der Bewegungsvektor des unmittelbar vorhergehenden. Makroblocks gehalten wird, häufig auch im Hinblick auf die Fehlerkorrektur usw. auf der Dekodiererseite angewendet wird.
  • In Fig. 19 wird nämlich angenommen, daß als Differenz-Bewegungsvektor aus der Konfiguration von Fig. 18 folgende Werte gewonnen werden: Der Wert (5, 1)(1) als Differenz-Bewegungsvektor des unteren Abschnitts von Makroblock MB0, der Wert (0, 4)(2) als Differenz- Bewegungsvektor des unteren Abschnitts von Makroblock MB0, der Wert (0, 0)(3) als Differenz-Bewegungsvektor des oberen Abschnitts von Makroblock MB1, der Wert (0, 0)(4) als Differenz-Bewegungsvektor des unteren Abschnitts von Makroblock MB1, der Wert (0, 0)(5) als Differenz-Bewegungsvektor des oberen Abschnitts von Makroblock MB2 und der Wert (0, 0)(5), als Differenz-Bewegungsvektor des unteren Abschnitts von Makroblock MB2. Es wird ferner angenommen, daß der Wert (0, 0) als Anfangswert in dem Registerspeicher PMV1 gespeichert ist.
  • In dem Beispiel von Fig. 19 wird in dem Makroblock MB0 durch Addieren des Differenz- Bewegungsvektors (5, 1)(1), des oberen Abschnitts und des Anfangswerts (0, 0) des Registerspeichers PMV1 als rekonstruierter Bewegungsvektor der Wert (5, 1)(1) + PMV1 = (5, 1)A gewonnen. Dieser rekonstruierte Bewegungsvektor wird dem Registerspeicher PMV1 zugeführt. Ferner wird in dem unteren Abschnitt von Makroblock MB0 durch Addieren des Differenz-Bewegungsvektors (0, 4)(2) des unteren Abschnitts und des rekonstruierten Bewegungsvektors in dem Registerspeicher PMV1 der Wert (0, 4)(2) + PMV1 = (5, 5)B als rekonstruierter Bewegungsvektor gewonnen. Dieser rekonstruierte Bewegungsvektor wird dem Registerspeicher PMV1 zugeführt. Ähnlich wird in dem Makroblock MB1 durch Addieren des Differenz-Bewegungsvektors (0, 0)(3) des oberen Abschnitts und des rekonstruierten Bewegungsvektors (5, 5)B in dem Registerspeicher PMV1 der Wert (0, 0)(3) + PMV1 = (5, 5)C als rekonstruierter Bewegungsvektor gewonnen. Dieser rekonstruierter Bewegungsvektor wird dem Registerspeicher PMV1 zugeführt. Ferner wird in dem unteren Abschnitt dieses Makroblocks MB1 durch Addieren des Differenz-Bewegungsvektors (0, 0)(4) des unteren Abschnitts und des rekonstruierten Bewegungsvektors (5, 5)C in dem Registerspeicher PMV1 der Wert (0, 0)(4) + PMV1 = (5, 5)D als rekonstruierter Bewegungsvektor gewonnen. Dieser rekonstruierte Bewegungsvektor wird dem Registerspeicher PMV1 zugeführt. Da die so gewonnenen rekonstruierten Bewegungsvektoren, wie oben erwähnt, sequentiell in dem Registerspeicher MPV1 überschrieben werden, verschwindet der rekonstruierte Bewegungsvektor des unmittelbar davor liegenden Makroblocks.
  • Wie oben beschrieben wurde, ist es notwendig, auf der Dekodiererseite für eine Prädiktionsrichtung zusätzliche zwei Registerspeicher PMV bereitzustellen, um den Wert des rekonstruierten Bewegungsvektors in dem unmittelbar davor liegenden Makroblock MB zu halten und z. B. die Werte der Bewegungsvektoren (5, 1)A und (5, 5)B in dem Makroblock MB0 und die Werte der Bewegungsvektoren (5, 5)C und (5, 5)D in dem Makroblock MB1 zu speichern.
  • Wie oben beschrieben wurde, ist in dem für MPEG2 vorgeschlagenen üblichen Verfahren zur Bewegungsvektorkodierung die Behandlung von übersprungenen Makroblöcken nicht berücksichtigt. Aus diesem Grund tritt bei diesem Kodierverfahren der Nachteil auf, daß es keine übersprungenen Makroblöcke behandeln kann.
  • Weiterhin ist es auf der Dekodiererseite erforderlich, zusätzlich zu den Registerspeichern PMV weitere Registerspeicher bereitzustellen, um den Bewegungsvektor des unmittelbar vorher verarbeiteten Makroblocks zu halten. Dadurch wird die Konfiguration des inversen Differenzbestimmungselements für Vektoren (Differenz-Bewegungsvektoren) kompliziert.
  • Weiterhin ist bei dem Stand der Technik die Steuerung für die Umschaltung zwischen den Registerspeichern MPV in dem Vektor-Differenzbestimmungselement und/oder dem inversen Differenzbestimmungselement kompliziert, was zu dem Nachteil führt, daß der Hardwareumfang des Schalters der Registerspeicher PMV groß ist.
  • Deshalb wird bei der vorliegenden Erfindung die Aufmerksamkeit auf die oben beschriebenen Nachteile gerichtet, und es ist ein Ziel der Erfindung, auf der Kodiererseite ein Differenzbestimmungselement zur Bestimmung der Differenz zwischen Bewegungsvektoren vorzusehen, das eine einfachere Konfiguration hat als beim Stand der Technik. Ein weiteres Ziel der Erfindung ist ein Verfahren zum Beurteilen von übersprungenen Makroblöcken für den Fall, daß für in Einheiten von Makroblöcken gegebene Bewegungsvektoren in Vorrichtungen mit prädiktiver Kodierung und Dekodierung und Bewegungskompensation für Bewegtbilder ein oder mehrere Bewegungsvektoren existieren, die bei der Vorwärtsprädiktion ein vergangenes Vollbild (oder Halbbild) als Referenz benutzen, daß ferner ein oder mehrere Bewegungsvektoren existieren, die bei der Rückwärtsprädiktion ein zukünftiges Vollbild (oder Halbbild) als Referenz benutzen, und ein oder mehrere Bewegungsvektoren existieren, die bei der bidirektionalen Prädiktion sowohl vergangene als auch zukünftige Vollbilder (oder Halbbilder) als Referenz benutzen, sowie für den Fall, daß die Zahl der Bewegungsvektoren in dem jeweiligen Bewegungskompensationsmodus in Makroblockeinheiten variieren.
  • Es ist ferner ein Ziel der Erfindung, auf der Dekodiererseite ein inverses Differenzbestimmungselement vorzusehen zum Rekonstruieren eines Bewegungsvektors aus einem empfangenen Differenz-Bewegungsvektor mit Hilfe einer Konfiguration, die einfacher ist als beim Stand der Technik, wobei das inverse Differenzbestimmungselement dadurch gekennzeichnet ist, daß es mit Ausnahme der Registerspeicher PMV keine Registerspeicher benötigt, um den Bewegungsvektor des unmittelbar vorher verarbeiteten Makroblocks zu halten. Ein weiteres Ziel ist ein Verfahren zur Behandlung eines übersprungenen Makroblocks auf der Dekodiererseite.
  • Die Erfindung ist auf ein Verfahren und eine Vorrichtung zum Kodieren eines Makroblock- Bewegungsvektors gerichtet, der im Vorwärts-Prädiktionsmodus, im Rückwärts-Prädiktionsmodus oder im bidirektionalen Prädiktionsmodus kodiert ist. Bei dem Verfahren und der Vorrichtung zur Bewegungsvektorkodierung gemäß der Erfindung wird ein Schema benutzt, um die Übertragungsreihenfolge von laufenden Bewegungsvektoren in einer vorbestimmten Richtung innerhalb eines Makroblocks zu detektieren und auf der Basis der detektierten Übertragungsreihenfolge einen von insgesamt L Speichern für Bewegungsvektoren in einer vorbestimmten Richtung auszuwählen, um einen früheren Bewegungsvektor in der vorbestimmten Richtung auszulesen und den früheren Bewegungsvektor der vorbestimmten Richtung von dem laufenden Bewegungsvektor der vorbestimmten Richtung zu subtrahieren und so einen laufenden Differenz-Bewegungsvektor der vorbestimmten Richtung zu gewinnen.
  • Die Erfindung ist ferner auf ein Verfahren und eine Vorrichtung zum Rekonstruieren eines Bewegungsvektors eines Makroblocks gerichtet, der im Vorwärts-Prädiktionsmodus, im Rückwärts-Prädiktionsmodus oder im bidirektionalen Prädiktionsmodus kodiert ist. Bei dem Verfahren und der Vorrichtung zum Rekonstruieren von Bewegungsvektoren wird die Empfangsreihenfolge innerhalb eines Makroblocks von empfangenen Differenz-Bewegungsvektoren einer vorbestimmten Richtung detektiert, um einen von insgesamt L Speichern für Bewegungsvektoren einer vorbestimmten Richtung auf der Basis der detektierten Empfangsreihenfolge auszuwählen, den rekonstruierten Bewegungsvektor der vorbestimmten Richtung auszulesen, der bereits rekonstruiert ist, und den Differenz-Bewegungsvektor der vorbestimmten Richtung und den rekonstruierten Bewegungsvektor der vorbestimmten Richtung, der bereits rekonstruiert ist, zu addieren, um einen neuen rekonstruierten Bewegungsvektor der vorbestimmten Richtung zu gewinnen.
  • Darüber hinaus werden ein alternatives Verfahren und eine alternative Vorrichtung für die. Bildsignalkodierung erläutert. Bei dem Verfahren und der Vorrichtung zur Bildsignalkodierung wird ein Eingangsbildsignal in jedem Makroblock auf der Basis mehrerer Modi kodiert, und wenn der Bildkodiertyp in den mehreren Modi ein P-Bild ist und die Bildstruktur in den mehreren Modi die Halbbildstruktur ist, wird in jedem kodierten Makroblock untersucht, ob die Bedingungen erfüllt sind, daß das Prädiktions-Fehlersignal gleich Null ist, der Bewegungsvektor gleich Null ist, der Bewegungskompensationsmodus in den mehreren Modi die Vorwärtsprädiktion ist, der Prädiktionstyp in den mehreren Modi eine 16 · 16-Halbbildprädiktion ist und die Referenzparität des Halbbild-Bewegungsvektors des Makroblocks die gleiche ist wie die Parität des prädizierten Halbbilds, um den kodierten Makroblock als übersprungenen Makroblock zu verarbeiten, wenn diese Bedingungen erfüllt sind.
  • Für den Fall, daß der Bildkodiertyp in den mehreren Modi das P-Bild ist und die Bildstruktur in den mehreren Modi die Vollbildstruktur ist, wird bei jedem kodierten Makroblock ermittelt, ob die Bedingungen erfüllt, sind, daß das Prädiktions-Fehlersignal gleich Null ist, der Bewegungsvektor gleich Null ist, der Bewegungskompensationsmodus in den mehreren Modi die Vorwärtsprädiktion ist und der Prädiktionstyp in den mehreren Modi die Vollbildprädiktion ist, um den kodierten Makroblock wird als übersprungenen Makroblock zu verarbeiten, wenn diese Bedingungen erfüllt sind.
  • Wenn der Bildkodiertyp in den mehreren Modi das B-Bild und die Bildstruktur in den mehreren Modi die Halbbildstruktur ist, wird bei jedem kodierten Makroblock untersucht, ob wenigstens die Bedingungen erfüllt sind, daß das Prädiktions-Fehlersignal gleich Null ist, der Differenz-Bewegungsvektor gleich Null ist, der Bewegungskompensationsmodus in den mehreren Modi der gleiche ist wie bei dem früheren Makroblock und der Prädiktionstyp in den mehreren Modi die 16 · 16-Halbbildprädiktion ist, um den kodierten Makroblock wird als übersprungenen Makroblock zu verarbeiten, wenn diese Bedingungen erfüllt sind.
  • Wenn der Bildkodiertyp in den mehreren Modi das B-Bild ist und die Bildstruktur in den mehreren Modi die Vollbildstruktur ist, wird bei jedem kodierten Makroblock untersucht, ob die Bedingungen erfüllt sind, daß das Prädiktions-Fehlersignal gleich Null ist, der Differenz- Bewegungsvektor gleich Null ist, der Bewegungskompensationsmodus in den mehreren Modi der gleiche ist wie für den früheren Makroblock und der Prädiktionstyp in den mehreren Modi die Vollbildprädiktion ist, um den kodierten Makroblock als übersprungenen Makroblock zu verarbeiten, wenn diese Bedingungen erfüllt sind.
  • Als Hintergrund werden auch ein Verfahren und eine Vorrichtung für die Bildsignaldekodierung erläutert. Bei dem Verfahren und der Vorrichtung für Bilddekodierung wird ein übersprungener Makroblock aus dem kodierten Bildsignal detektiert, und wenn der Bildkodiertyp des übersprungenen Makroblocks das P-Bild ist und die Bildstruktur die Halbbildstruktur ist, werden alle Speicher in einem Element zur Bestimmung des rekonstruierten Bewegungsvektors aus der Differenz auf Null gesetzt. Die Dekodierung wird unter den Bedingungen durchgeführt, daß das kodierte Blocksignal gleich Null ist, der Bewegungsvektor gleich Null ist, der Bewegungskompensationsmodus die Vorwärtsprädiktion ist, der Prädiktionstyp die 16 · 16-Halbbild-Prädiktion ist und die Parität der Halbbild-Bewegungsvektorreferenz die gleiche Parität ist wie bei dem prädizierten Halbbild.
  • Wenn der Bildkodiertyp des übersprungenen Makroblocks das P-Bild und die Bildstruktur die Vollbildstruktur ist, werden alle Speicher in dem Element zur Bestimmung des rekonstruierten Bewegungsvektors aus der Differenz auf Null gesetzt, so daß die Dekodierung unter den Bedingungen durchgeführt wird, daß das kodierte Blocksignal gleich Null ist, der Bewegungsvektor gleich Null ist, der Bewegungskompensationsmodus die Vorwärtsprädiktion und der Prädiktionstyp die Vollbildprädiktion ist.
  • Wenn der Bildkodiertyp des übersprungenen Makroblocks das B-Bild und die Bildstruktur die Halbbildstruktur ist, kann ein Schema angewendet werden, bei dem die Kodierung unter den Bedingungen durchgeführt wird, daß zumindest das kodierte Blocksignal gleich Null ist, der Bewegungsvektor einen Wert annimmt, der in einem Speicher des Elements zur Bestimmung des rekonstruierten Bewegungsvektors aus der Differenz gespeichert ist, der Bewegungskompensationsmodus der Bewegungskompensationsmodus des unmittelbar vorher dekodierten Makroblocks ist und der Prädiktionstyp die 16 · 16-Halbbild-Prädiktion ist.
  • Wenn der Bildkodiertyp des übersprungenen Makroblocks das B-Bild und die Bildstruktur die Vollbildstruktur ist, kann ein Schema benutzt werden, bei dem die Dekodierung unter den Bedingungen durchgeführt wird, daß das dekodierte Blocksignal gleich Null ist, der Bewegungsvektor einen Wert annimmt, der in einem Speicher des Elements zur Bestimmung des rekonstruierten Bewegungsvektors aus der Differenz gespeichert ist, der Bewegungskompensationsmodus der Bewegungskompensationsmodus des unmittelbar vorher dekodierten Makroblocks ist und der Prädiktionstyp die Vollbildprädiktion ist.
  • Erfindungsgemäß sind in der Konfiguration des Differenzbestimmungselements für Bewegungsvektoren die Registerspeicher zum Speichern der Bewegungsvektoren in einer Anzahl vorgesehen, die gleich der Summe (N + M) aus der maximalen Übertragungszahl N der Vorwärts-Bewegungsvektoren und der maximalen Übertragungszahl M der Rückwärts-Bewegungsvektoren innerhalb eines Makroblocks, so daß sich Indizes 1 bis N in der Reihenfolge der Übertragung der Vorwärts-Bewegungsvektoren innerhalb des Makroblocks und Indizes von (N + 1) bis (N + M) in der Übertragungsreihenfolge der Rückwärts-Bewegungsvektoren innerhalb des Makroblocks ergeben und die Vektoren entsprechende Indizes aufweisen können und die Registerspeicher eine Eins-zu-Eins-Relation haben können, so daß die Bewegungsvektoren innerhalb des gleichen Makroblocks als Differenz-Bewegungsvektor übertragen werden können und die Möglichkeit ausgeschaltet ist, daß der gleiche Registerspeicher (PMV) zweimal oder öfter benutzt wird.
  • In der Konfiguration des inversen Differenzbestimmungselements für die Rekonstruktion des Bewegungsvektors aus dem Differenz-Bewegungsvektor sind Registerspeicher zum Speichern des rekonstruierten Bewegungsvektors in einer Anzahl vorgesehen, die gleich der Summe (M + N) aus der maximalen Empfangszahl N an Vorwärts-Differenz-Bewegungsvektoren und der maximalen Empfangszahl M an Rückwärts-Differenz-Bewegungsvektoren innerhalb des Makroblocks ist, so daß sich Indizes von 1 bis N in der Empfangsreihenfolge der Vorwärts-Differenz-Bewegungsvektoren und Indizes (N + 1) bis (N + M) in der Empfangsreihenfolge der Rückwärts-Differenz-Bewegungsvekforen innerhalb des Makroblocks ergeben, so daß die Differenz-Bewegungsvektoren mit den entsprechenden Indizes und die Registerspeicher eine Eins-zu-Eins-Relation haben können und Register mit Ausnahme der Registerspeicher (PMV) überflüssig werden.
  • Fig. 1 zeigt ein als Blockschaltbild dargestelltes Schaltungsdiagramm, aus dem der Aufbau eines Kodierers hervorgeht, der in einer Vorrichtung zur Bildsignalkodierung gemäß der Erfindung benutzt wird,
  • Fig. 2 zeigt ein als Blockschaltbild dargestelltes Schaltungsdiagramm, aus dem der Aufbau eines Differenzbestimmungselements für Bewegungsvektoren hervorgeht, das in der Vorrichtung zur Bildsignalkodierung gemäß der Erfindung benutzt wird,
  • Fig. 3 zeigt Registerspeicher zur Erläuterung des Differenzbestimmungselements und des inversen Differenzbestimmungselements für Bewegungsvektoren in der Vorrichtung zur Bildsignalkodierung gemäß der Erfindung,
  • Fig. 4 zeigt ein als Blockschaltbild dargestelltes Diagramm eines Elements zur Beurteilung von übersprungenen Makroblöcken in dem Kodierer der Vorrichtung zur Bildsignalkodierung gemäß der Erfindung,
  • Fig. 5 zeigt ein als Blockschaltbild dargestelltes Schaltungsdiagramm eines Dekodierers, der in der Vorrichtung zur Bildsignalkodierung benutzt wird,
  • Fig. 6 zeigt ein als Blockschaltbild dargestelltes Schaltungsdiagramm des inversen Differenzbestimmungselements für Bewegungsvektoren in der Vorrichtung zur Bildsignaldekodierung,
  • Fig. 7 zeigt eine Ansicht zur Erläuterung der praktischen Ausbildung der Differenzvektoren in der Vorrichtung zur Bildsignaldekodierung,
  • Fig. 8 zeigt eine Ansicht eines praktischen Beispiels zur Rekonstruktion von Bewegungsvektoren aus Differenz-Bewegungsvektoren in der Vorrichtung zur Bildsignaldekodierung,
  • Fig. 9 zeigt eine Ansicht zur Erläuterung des Prinzips der Bewegungskompensationsprädiktion,
  • Fig. 10 zeigt eine Ansicht zur Erläuterung der Bewegungskompensationsprädiktion in Makroblockeinheiten,
  • Fig. 11 zeigt eine Ansicht zur Erläuterung der Bewegungskompensationsprädiktion zwischen Bildern,
  • Fig. 12 zeigt ein als Blockschaltbild dargestelltes Schaltungsdiagramm des Differenzbestimmungselements für Bewegungsvektoren im MPEG1-System,
  • Fig. 13 zeigt eine Ansicht zur Erläuterung eines Beispiels für die Wirkungsweise des Differenzbestimmungselements für Bewegungsvektoren im MPEG1-System,
  • Fig. 14 zeigt ein als Blockschaltbild dargestelltes Schaltungsdiagramm der Konfiguration des inversen. Differenzbestimmungselements für Bewegungsvektoren im MPEG1- System,
  • Fig. 15 zeigt eine Ansicht zur Erläuterung der adaptiven Vollbild-/Halbbild-Prädiktion,
  • Fig. 16 zeigt ein als Blockschaltbild dargestelltes Schaltungsdiagramm eines herkömmlichen Beispiels für ein Differenzbestimmungselement für Bewegungsvektoren,
  • Fig. 17 zeigt ein als Blockschaltbild dargestelltes Schaltungsdiagramm eines herkömmlichen Beispiels für ein inverses Differenzbestimmungselement für Bewegungsvektoren,
  • Fig. 18 zeigt eine Ansicht zur Erläuterung des Problems, das bei dem herkömmlichen Differenzbestimmungselement für Bewegungsvektoren auftritt,
  • Fig. 19 zeigt eine Ansicht zur Erläuterung eines praktischen Beispiels für die Rekonstruktion eines Bewegungsvektors aus einem Differenz-Bewegungsvektor.
  • Zunächst wird anhand von Fig. 1 eine Vorrichtung zur Bewegtbildkodierung (Kodierer) gemäß der Erfindung beschrieben.
  • Die Information zur Steuerung der Grundfunktionen des Kodierers gemäß der Erfindung wird von einem Eingabeteil 30 für die Bildkodier-Steuerinformation geliefert und in einem Speicher 29 für die Bildkodierungs-Steuerinformation gespeichert. Diese Informationen sind die Bildrahmengröße, die Ausgangsbitrate der Kodierinformation usw.. Die Information wird von dem Speicher 29 als Bildkodier-Steuersignal S25 ausgegeben. Der Eingabeteil 30 für die Bildkodier-Steuerinformation gibt über den Speicher 29 außerdem ein Bildstruktursignal S26 aus (ein Signal für die Unterscheidung, ob die Bildstruktur die Vollbildstruktur, die Halbbildstruktur oder eine progressive Bildstruktur ist, sowie ein Bildkodiertypsignal S27 (Signal für die Unterscheidung, ob der Bildtyp ein I-Bild, ein P-Bild oder ein B-Bild isf).
  • Ein Bildeingang 10 führt ein eingegebenes Bildsignal einer Halbbild-Speichergruppe 11 zu. Außerdem führt ein Eingang 26 einem Referenzbild-Steuerelement 23 ein vertikales Synchronisiersignal (Sync-Signal) S11 zu, das ein Eingangsbild-Synchronisiersignal bildet. Dem Referenzbild-Steuerelement 23 werden außerdem das Bildkodier-Steuersignal S25, das Bildstruktursignal S26 und das Bildkodiertypsignal S27 über einen Eingang 1 zugeführt. Wenn das Referenzbild-Steuerelement 23 das vertikale Synchronisiersignal S11 empfängt, gibt es ein weiter unten beschriebenes Referenzbild-Indikationssignal S10 aus und liefert dieses an die Halbbild-Speichergruppe 11.
  • Ein Bild des der Halbbild-Speichergruppe 11 zugeführten Bildsignals ist das aktuell zu kodierende Bild. Synchron mit dem vorderen Teil des Bildes, das aus der Halbbild-Speichergruppe 11 ausgelesen wird, setzt oder verstärkt die Halbbild-Speichergruppe 11 ein Bild-Startflag S22, das weiter unten beschrieben wird, und liefert es über Anschlüsse 2 und 9 an das Referenzbild-Steuerelement 24. Das Referenzbild-Steuerelement 24 gibt weiter unten beschriebene Referenzbild-Indikationssignale S12, S13 aus, wenn das Bild-Startflag S22 gesetzt ist und liefert diese an die Halbbild-Speichergruppe 17. Das Bild-Startflag S22 wird außerdem über den Anschluß 9 einem Ausgangsbild-Steuerelement 25 zugeführt. Wenn das Bild-Startflag S22 gesetzt ist, gibt das Ausgangsbild-Steuerelement 25 ein weiter unten beschriebenes Ausgangsbild-Indikationssignal S14 aus, das der Halbbild-Speichergruppe 17 zugeführt wird. Ln dem vorliegenden Ausführungsbeispiel werden das Bildkodier-Steuersignal S25, das Bildstruktursignal S26 und das Bildkodiertypsignal S27 über den Eingang 30 dem Referenzbild-Steuerelement 24 und dem Ausgangsbild-Steuerelement 25 zugeführt.
  • Das Bildsignal, das der Halbbild-Speichergruppe 11 zugeführt wurde, wird außerdem einer Bewegungsprädiktionsschaltung 12 zugeführt. Das Bildkodier-Steuersignal S25, das Bildstruktursignal S26 und das Bildkodiertypsignal S27 von dem Eingang 1 werden ebenfalls der Bewegungsprädiktionsschaltung 12 zugeführt. Die Bewegungsprädiktionsschaltung 12 bewirkt die Bewegungsprädiktion von Pixeln in einem aktuell zu kodierenden Bild zu einem Bildsignal, das an die Halbbild-Speichergruppe 11 geliefert wurde, wobei das vergangene Bild und das zukünftige Bild als Referenz herangezogen wird. Die erwähnte Bewegungsprädiktion ist ein Blockvergleich eines Block-Pixelsignals in einem aktuell zu kodierenden Bild und dem als Referenz dienenden vergangenen oder zukünftigen Bild. Die Blockgröße beträgt z. B. 16 · 16 Pixel, 16 · 8 Pixel oder 8 · 8 Pixel.
  • Die vergangenen und zukünftigen Referenzbilder werden dabei von der Halbbild-Speichergruppe 11 nach Maßgabe des Referenzbild-Indikationssignals S10 für die Bewegungsprädiktion festgelegt, das von dem Referenzbild-Steuerelement ausgegeben wird. Die Bewegungsprädiktionsschaltung 12 detektiert für die betreffenden auswählbaren Bewegungskompensationsmodi jede Blockposition in dem Referenzbild, bei der der Prädiktionsfehler in dem Blockvergleich ein Minimum wird, und liefert den dieser Position entsprechenden Bewegungsvektor als Bewegungsvektorsignal S7 an die Bewegungskompensationsschaltung 18. Es ist zu beachten, daß durch das Bildstruktursignal S26 und das Bildkodiertypensignal S27 festgelegt wird, welcher Bewegungskompensationsmodus ausgewählt werden kann.
  • Die Bewegungsprädiktionsschaltung 12 liefert außerdem an die Bewegungskompensationsschaltung 18 das Prädiktionstypsignal S30, das Halbbild-Bewegungsvektor-Referenzparitätssignal S31, ein Teilbewegungsvektorsignal S32 und das Prädiktionshalbbild-Paritätssignal S33 als zusätzliche Information des Bewegungsvektorsignals S7.
  • Das Prädiktionstypsignal S30 ist in diesem Fall eine Information, die z. B. anzeigt, ob die Bewegungsprädiktion auf Vollbildbasis oder Halbbildbasis erfolgt, der Blockvergleich mit 16 · 16 Pixeln, 16 · 8 Pixeln oder 8 · 8 Pixeln durchgeführt wird, die Bewegungsprädiktion eine DUAL- PRIME-Prädiktion ist oder nicht. Da die Einzelheiten der 8 · 8-Pixel-Blockprädiktion und DU- AL-PRIME in dem oben erwähnten Papier ISO-IEC/JTC1/SC29/WG11 MPEG93/225b Test Model 4 beschrieben sind, wird auf ihre Erläuterung hier verzichtet.
  • Das Halbbild-Bewegungsvektor-Referenzparitätssignal S31 ist ein Signal, das anzeigt, ob das Halbbild, das die Referenz für den Vektor bildet, das erste Herstellung (Halbbild 1) oder das zweite Halbbild (Halbbild 2) ist, wenn die Bewegungsprädiktion auf Halbbildbasis durchgeführt wird.
  • Das Teilbewegungsvektorsignal S32 ist z. B. ein an den Vektor angehängtes DUAL-PRIME- Signal mit 8 · 8-Pixel-Blockprädiktion.
  • Das Prädiktionshalbbild-Paritätssignal S33 ist ein Signal, das angibt, ob das das Ziel der Prädiktion bildende Halbbild (prädiziertes Halbbild) des Bewegungsvektors das erste Halbbild oder das zweite Halbbild ist, wenn die Bewegungsprädiktion auf Halbbild-Basis durchgeführt wird.
  • Die Bewegungskompensationsschaltung 18 weist die Ausgabe des Blockbildsignals S3 aus der Halbbild-Speichergruppe 17 an, in der die kodierten und reproduzierten Bilder bereits gespeichert sind (die weiter unten beschrieben werden), das sich an einer Adresse festgelegt, die festgelegt wird durch das Bewegungsvektorsignal S7, das Prädiktionstypsignal S30, das Halbbild-Bewegungsyektor-Referenzparitätssignal S31, das Teilbewegungsvektorsignal S32 und das Prädiktionshalbbild-Paritätssignal S33. Das Referenzbild wird dabei von der Halbbild-Speichergruppe 17 nach Maßgabe des von dem Referenzbild-Steuerelement 24 ausgegebenen Bewegungskompensations-Referenzbild-Indikationssignals 512 festgelegt.
  • Die Ausgabe des Blockbildsignals S3 aus der Bewegungskompensationsschaltung S18 wird als adaptive Operation ausgeführt, wodurch es möglich wird, auf das optimale Exemplar der auswählbaren Bewegungskompensationsmodi von vier Operationsarten in Makroblockeinheiten umzuschalten, die im folgenden beschrieben werden.
  • Das heißt, vier Operationsarten sind vier Modusarten:
  • erstens, Bewegungskompensationsmodus aus einem vergangenen reproduzierten Bild (Vorwärts-Prädiktionsmodus),
  • zweitens, Bewegungskompensationsmodus aus einem zukünftigen reproduzierten Bild (Rückwärts-Prädiktionsmodus),
  • drittens, Bewegungskompensationsmodus sowohl aus dem vergangenen als auch aus dem zukünftigen reproduzierten Bild (der Referenzblock aus dem vergangenen reproduzierten Bild und der Referenzblock aus dem zukünftigen reproduzierten Bild werden einer linearen Operation (z. B. einer Mittelwertbildung) für jedes. Pixel unterzogen) (bidirektionaler Prädiktionsmodus),
  • viertens, Modus für keine Bewegungskompensation (d. h. intrakodierter Modus. In diesem Fall ist die Ausgabe des Blockbildsignals S3 gleich Null).
  • Unter diesen Modi wird von einem wählbaren Modus aus die Umschaltung auf das optimale Exemplar durchgeführt.
  • Beim Umschalten des Bewegungskompensationsmodus, wird z. B. ein Modus ausgewählt, bei dem die Gesamtsumme der Absolutwerte der Differenzen für jedes Pixel zwischen den betreffenden in den vier Modusarten ausgegebenen Bildsignalen S3 und dem aktuell zu kodierenden Block-Pixelsignal S1 ein Minimum ist.
  • Der so ausgewählte Modus wird den betreffenden Komponenten über den Anschluß 3 als Bewegungskompensationsmodussignal S9, Bewegungsvektorsignal S8 für diese Zeit, Prädiktionstypsignal S40, Halbbild-Bewegungsvektor-Referenzparitätssignal S41, Teilbewegungsvektorsignal S32 und Prädiktionshalbbild-Paritätssignal S43 zugeführt.
  • Das aktuell zu kodierende Makroblock-Pixelsignal S1 wird von der Halbbild-Speichergruppe 11 ausgegeben, und synchron mit der Ausgabe dieses Makroblock-Pixelsignals S1 wird das MB-Startflag S300 ausgegeben. Ein MB-Zähler 49 zählt die Anzahl synchron mit dem MB- Startflag S300. Der MB-Zähler 49 wird zurückgesetzt, wenn das über den Anschluß 48 gelieferte Bild-Startflag S22 gesetzt wird. Es ist zu beachten, daß über den Anschluß 46 dem MB-Zähler 49 auch das Bildkodier-Steuersignal S25 zugeführt wird.
  • Ein Scheiben-(Slice)-Startflag S301, das von dem MB-Zähler 49 über den Anschluß 45 ausgegeben wird, wird gesetzt, wenn der MB-Zählwert gleich einem Vielfachen einer vorbestimmten Slicelänge (der Zahl der Makroblöcke, die ein Slice bilden) wird. Unter der Bezeichnung Slice wird hier eine Einheit verstanden, die aus einem einzelnen Makroblock oder mehreren aufeinanderfolgenden Makroblöcken in Reihenfolge der Bildabtastung besteht. Es ist hier berücksichtigt, daß der erste Makroblock Daten überträgt, die die Position des vorderen Abschnitts des Slice innerhalb des Bildes angeben, so daß die Empfangsdaten selbst dann in den normalen Zustand zurückversetzt werden können, wenn auf der Empfangsseite ein Fehler auftritt. Die Slicelänge ist in Abhängigkeit von dem Fehlerzustand des Übertragungswegs des Bitstroms veränderbar. Im allgemeinen wird die Slicelänge kurz, wenn die Fehlerwahrscheinlichkeit des Übertragungsweges größer wird. Die dann festgelegte Slicelänge wird in dem Speicher 29 gespeichert.
  • Das Makroblock-Pixelsignal S1 und das Block-Pixelsignal S3 aus der Bewegungskompensationsschaltung 18 werden bei jedem Pixel in dem Subtrahierer 13 einer Differenzwertberechnung unterzogen. Als Ergebnis erhält man ein Blockdifferenzsignal S2. Das Blockdifferenzsignal S2 wird an einen Blocksignalkodierteil 14 geliefert, aus dem ein kodiertes Signal S4 gewonnen wird. Das kodierte Signal S4 wird an einen Blocksignaldekodierteil 15 geliefert, in dem es dekodiert wird. Auf diese Weise gewinnt man ein Blockwiedergabedifferenzsignal S5.
  • Im vorliegenden Ausführungsbeispiel werden das über den Anschluß 7 zugeführte Bildkodier-Steuersignal S25 und ein über die Anschlüsse 31 und 8 zugeführtes Quantisierungstabellensignal S15 ebenfalls an den Blocksignalkodierteil 14 geliefert. Für den Blocksignalkodierteil 14 kann eine Konfiguration genutzt werden, die aus einem DCT-Element (Element zur diskreten Cosinustransformation) und einem Quantisierer zum Quantisieren der Ausgangskoeffizienten durch das Quantisierungstabellensignal S15, das von dem Pufferspeicher 21 festgelegt wird. Im vorliegenden Fall werden das Bildkodier-Steuersignal S25 und das Quantisierungstabellensignal S15 auch dem Blocksignaldekodierteil 15 zugeführt. Für den Blocksignaldekodierteil 15 kann eine Konfiguration benutzt werden, die aus einem inversen Quantisierer zum inversen Quantisieren der Koeffizienten des Quantisierungstabellensignals S15 und einem inversen DCT-Element für die inverse DCT der Ausgangskoeffizienten besteht.
  • Das Blockwiedergabedifferenzsignal S5 wird für jedes Pixel in dem Addierer 16 zu dem Blockbildsignal S3 addiert, das von der Bewegungskompensationsschaltung 18 ausgegeben wird. Man erhält so ein Blockwiedergabesignal S6. Dieses Blockwiedergabesignal S6 wird in dem Halbbildspeicher gespeichert, der durch das aktuelle Bildindikationssignal S13 aus der Halbbild-Speichergruppe 17 festgelegt wird. Das in der Halbbild-Speichergruppe 17 gespeicherte Wiedergabebild wird nach Maßgabe des oben beschriebenen Ausgangsbild-Indikationssignals S14 an dem Anschluß 129 als designiertes Wiedergabebildsignal ausgegeben.
  • Auf der anderen Seite wird das blockkodierte Signal S4 auch einem eindimensionalen Signalgeneratorteil 19 zugeführt, dem über den Anschluß 6 das Bildkodier-Steuersignal S25 zugeführt wird und in dem es in einem eindimensionalen Array gespeichert wird. Auf diese Weise erhält man ein eindimensional kodiertes Signal S16. Der eindimensionale Signalgeneratorteils 19 besteht aus einem Abtastwandler für die zickzackförmige Abtastung der Blockquantisierungs-DCT-Koeffizienten in der Reihenfolge von niedrigen zu hohen Frequenzen. Das eindimensionale kodierte Signal S16 wird in dem VLC (variablen Längenkodierer) 20 in einen variablen Längencode, z. B. einen Huffman-Code, umgewandelt.
  • Das Bewegungsvektorsignal S8 wird einem (in der Figur als Differenzelement bezeichneten) Vektordifferenzbestimmungselement zugeführt, in dem die Differenz zwischen dem Bewegungsvektor S8 und dem anschließend gelieferten Bewegungsvektor S8 ermittelt wird, um das Differenz-Bewegungsvektorsignal S50 zu gewinnen. Dieses Differenz-Bewegungsvektorsignal wird in dem VLC-Element 20 in einen variablen Längencode, z. B. einem Huffman- Code, umgewandelt. Im vorliegenden Ausführungsbeispiel werden dem Anschluß 4 das MB-Startflag S300, das Slice-Startflag S301, das Bewegungskompensationsmodussignal S9, das Bildstruktursignal S26 und das Prädiktionstypsignal S40 zugeführt.
  • Anhand von Fig. 2 werden Einzelheiten des Vektordifferenzbestimmungselements 27 beschrieben. In Fig. 2 wird das Slice-Startflag S301 dem Anschluß 77 des Vektordifferenzbestimmungselements 27 zugeführt, das MB-Startflag S300 wird über die Anschlüsse 47 und 4 von Fig. 1 dem Anschluß 71 zugeführt, das Bewegungsvektorsignal S8 wird über die Anschlüsse 3 und 4 von Fig. 1 dem Anschluß 70 zugeführt, das Bewegungskompensationsmodussignal S9 wird über die Anschlüsse 3 und 4 von Fig. 1 dem Anschluß 72 zugeführt, das Prädiktionstypsignal S40 wird über die Anschlüsse 3 und 4 von Fig. 1 dem Anschluß 73 zugeführt und das Bildstruktursignal S26 wird über den Anschluß 4 von Fig. 1 dem Anschluß 74 zugeführt.
  • Im vorliegenden Fall wird die Übertragungszahl der zu übertragenden Vorwärts-Bewegungsvektoren oder Rückwärts-Bewegungsvektoren innerhalb des Makroblocks durch das Bildstruktursignal S26 und das Prädiktionstypsignal S40 erkannt. Sie sind so festgelegt, wie dies in den unten dargestellten Tabellen 1, 2 und 3 angegeben ist. Im vorliegenden Ausführungsbeispiel sind die maximalen Übertragungszahlen der zu übertragenden Vorwärts-Vektoren und Rückwärts-Vektoren gleich 2. Dementsprechend werden maximal vier Bewegungsvektoren innerhalb des Makroblocks übertragen. Es ist zu beachten, daß dann, wenn die Übertragungszahl der zu übertragenden Vorwärts- oder Rückwärts-Bewegungsvektoren innerhalb des Makroblocks gleich 2 ist, die Übertragungsreihenfolge dieser zwei Bewegüngsvektoren im voraus festgelegt ist. In dem Fall der halbbildbasierten Prädiktion von Tabelle 1 z. B. wird der Bewegungsvektor, bei dem das prädizierte Halbbild das erste Halbbild ist, früher übertragen, und der Bewegungsvektor, bei welchem das prädizierte Halbbild das zweite Halbbild ist, wird später übertragen. In dem Fall der halbbildbasierten 16 · 8-Prädiktion von Tabelle 2 wird der Bewegungsvektor des oberen Abschnitts früher übertragen, und der Bewegungsvektor des unteren Abschnitts wird später übertragen. Die Bewegungskompensationsschaltung 15 gibt in diesem Ausführungsbeispiel den Bewegungsvektor 8 in einer Reihenfolge aus, die dieser Übertragungsreihenfolge entspricht.
  • Tabelle 11
  • Für den Fall, daß die Bildstruktur ein Vollbild (zeilensprungverschachteltes Bild) ist.
  • Tabelle 2
  • Für den Fall, daß die Bildstruktur die Halbbildstruktur ist.
  • Tabelle 3
  • Für den Fall, daß die Bildstruktur ein progressives Bild ist.
  • Im vorliegenden Ausführungsbeispiel hat die Registergruppe 81 in dem Vektor-Differenzbestimmungselement 27 von Fig. 2 z. B. den in Fig. 3 dargestellten Aufbau. In Fig. 3 sind vier Registerspeicher PMV1 bis PMV4 zur Speicherung von Bewegungsvektoren als Registergruppe 81 vorgesehen.
  • Die Vorwärts-Bewegungsvektoren und die Rückwärts-Bewegungsvektoren haben jeweils eine Eins-zu-Eins-Relation zu den Registerspeichern PMV1 bis PMV4 entsprechend der Übertragungsreihenfolge innerhalb des Makroblocks. Das heißt, der zuerst übertragene Vorwärts-Bewegungsvektor innerhalb des Makroblocks wird in dem Registerspeicher PMV1 gespeichert. Der an zweiter Stelle übertragene Vorwärts-Bewegungsvektor innerhalb des Makroblocks wird in dem Registerspeicher PMV2 gespeichert. Der zuerst übertragene Rückwärts-Bewegungsvektor innerhalb des Makroblocks wird in dem Registerspeicher PMV3 gespeichert. Der an zweiter Stelle übertragene Rückwärts-Bewegungsvektor innerhalb des Makroblocks wird in dem Registerspeicher PMV4 gespeichert. Wie oben festgestellt wurde, ergibt im vorliegenden Ausführungsbeispiel die Übertragungsreihenfolge von Bewegungsvektoren innerhalb des Makroblocks Indizes, die die Beziehung zwischen den betreffenden Bewegungsvektoren und den Registern innerhalb der Registerspeicher PMV1 bis PMV4 angeben, in denen diese Bewegungsvektoren gespeichert werden.
  • Mit anderen Worten, im vorliegenden Ausführungsbeispiel sind in der Übertragungsreihenfolge von Vorwärts-Bewegungsvektoren innerhalb des Makroblocks Indizes "1" bis "2" vorgesehen, und in der Übertragungsreihenfolge von Rückwärts-Bewegungsvektoren sind Indizes "3" bis "4" vorgesehen, so daß die Bewegungsvektoren jeweils Indizes besitzen, die in einer Eins-zu-Eins-Belation zu den Registerspeichern PMV1 bis PMV4 stehen. Es ist zu be achten, daß die jeweiligen Eingänge a bis d der Registerspeicher PMV1 bis PMV4 von Fig. 3 mit den entsprechenden wählbaren Anschlüssen des Schalters 80 von Fig. 2 verbunden sind und daß die Ausgänge e bis h mit den entsprechenden wählbaren Anschlüssen des Schalters 82 von Fig. 2 verbunden sind.
  • Die Syntax des Bitstroms bei der Bewegungsvektorübertragung ist in Tabelle 4 dargestellt. Tabelle 4
  • In dieser Tabelle 4 ist die Funktion "forward_motion_vector ()" eine Funktion im Zusammenhang mit einem Vorwärts-Bewegungsvektor, und die Funktion "backward_motion_vector ()" ist eine Funktion im Zusammenhang mit einem Rückwärts-Bewegungsvektor. Die von "/*" und "*/" eingeschlossene Angabe ist ein Kommentar. Wie die Tabelle zeigt, entsprechen die zu übertragenden Bewegungsvektoren und die Registerspeicher PMV jeweils einander. Im vorliegenden Fall werden Parameter "mv_format", "motion vector count" benutzt, die auf der Basis der Tabellen 1 bis 3 gegeben sind. Als "mv_format" sind in Tabelle 1, 2 "Vollbild"- Typ und "Halbbild"-Typ angegeben. Die Halbbild-Bewegungsvektor-Referenzparität wird zu dem Vektor "Halbbild"-Typ addiert. Die Angabe "motion vector count" gibt die Übertragungszahl der innerhalb eines Makroblocks zu übertragenden Vorwärts- oder Rückwärts-Vektoren an, wie dies in den Tabellen 1 bis 3 angegeben ist.
  • Im folgenden wird "forward_motion_vector ()" beschrieben. Zunächst, wenn ein "motion-_vector_count" (Zeile 017) vorhanden ist, wird die Bewegungsvektorinformation in dem Registerspeicher PMV1 gespeichert. Wenn zwei "motion_vector_count" vorhanden sind, wird die Information des zuerst übertragenen Bewegungsvektors (Zeile 028) in dem Registerspeicher PMV1 gespeichert, und die Information des an zweiter Stelle übertragenen Bewegungsvektors (Zeile 029) wird in dem Registerspeicher PMV2 gespeichert. Im einzelnen heißt dies, daß dann, wenn eine Bewegungsvektorinformation übertragen wird (Zeile 017), der Entscheidungspfad in zwei Fälle verzweigt, nämlich dem Fall, daß "mv_format" gleich "frame" (Vollbild) ist (Zeile 018) und den Fall, daß "mv_format" gleich "field" (Halbbild) ist (Zeile 020). Wenn "mv_format" gleich "field" ist und außerdem "dmv = = 1" ist (Zeile 022), ist "prediction_type" gleich "Dual_prime". Dementsprechend werden "dmv_horizontal" und "dmv_vertical" übertragen. Es sind Teilbewegungsvektoren, wenn der Prädiktionstyp "Dual-_prime" ist. Dies gilt in gleicher Weise für "backward_motion_vector ()".
  • In einem Makroblock, in dem ein Vorwärts-Bewegungsvektor zu übertragen ist, wird bei der Aktualisierung des Registerspeichers PMV1 der Registerspeicher PMV2 mit dem gleichen Wert aktualisiert. In einem Makroblock, in dem ein Rückwärts-Bewegungsvektor zu übertragen ist, wird bei der Aktualisierung des Registerspeichers PMV3 der Registerspeicher PMV4 mit dem gleichen Wert aktualisiert.
  • Die Funktion der in der Tabelle 4 erläuterten Bitstrom-Syntax wird nun anhahd der Konfiguration von Fig. 2 beschrieben.
  • In Fig. 2 gibt der Bewegungsvektor-Signalflag-Generator 87 als Reaktion auf das über den Eingang 70 zugeführte Bewegungsvektorsignal S8 das Bewegungsvektor-Signalflag S86 aus. Die Bewegungsvektor-Signalflags S86 werden von dem Bewegungsvektorzähler 88 gezählt. Der Bewegungsvektorzähler 88 wird zurückgesetzt, wenn das über den Anschluß 71 zugeführte MB-Startflag S300 gesetzt wird. Ein Bewegungsvektor-Zählstandsignal S87 aus dem Bewegungsvektorzähler 88 wird einem Registerindex-Bestimmungssignalgenerator 89 zugeführt. Das Bewegungskompensationsmodussignal S9, das Prädiktionstypsignal S40 und das Bildstruktursignal S26 werden über die Anschlüsse 72, 73, 74 dem Registerindex-Bestimmungssignalgenerator 89 zugeführt.
  • Bei dem vorliegenden Ausführungsbeispiel wird die Übertragungszahl der Vorwärts-Bewegungsvektoren oder Rückwärts-Bewegungsvektoren, die innerhalb des Makroblocks zu übertragen sind (motion_vector_count) aus dem Bildstruktursignal S26 und dem Prädiktionstypsignal S40 erkannt, und die Zahl aller innerhalb eines Makroblocks zu übertragenden Bewegungsvektoren wird durch das Bewegungskompensationsmodussignal S9 erkannt. Wenn z. B. "motion_vector_count" gleich 2 ist und das Bewegungskompensationsmodussignal S9 den bidirektionalen Prädiktionsmodus kennzeichnet, da die innerhalb des Makroblocks zu übertragenden Bewegungsvektoren in der Reihenfolge von zwei Vorwärts-Bewegungsvektoren und zwei Rückwärts-Bewegungsvektoren übertragen werden, ist die Zahl aller innerhalb des Makroblocks übertragenen Bewegungsvektoren gleich 4.
  • Auf der Basis dieser Information erzeugt der Registerindex-Bestimmungssignalgenerator S89 das Registerindex-Bestimmungssignal S88 aus dem Bewegungsvektor-Zählstandsignal S87 und gibt es aus. In dem Beispiel von Fig. 3 wird z. B. der Registerspeicher PMV1 in der Registergruppe 81 festgelegt, wenn das Bewegungsvektor-Zählstandsignal S87 den Wert 1 annimmt. Wenn dieses Signal den Wert 2 annimmt, wird der Registerspeicher PMV2 in der Registergruppe 81 festgelegt. Wenn das Signal den Wert 3 annimmt, wird der Registerspeicher PMV3 in der Registergruppe 81 festgelegt, und wenn das Signal den Wert 4 annimmt, wird der Registerspeicher PMV4 in der Registergruppe 81 festgelegt.
  • Wenn als anderes Beispiel ein "motion_vector_count" vorliegt und das Bewegungskompensationsmodussignal 59 den Rückwärts-Prädiktionsmodus kennzeichnet, weil als Zahl für alle Bewegungsvektoren, die innerhalb des Makroblocks zu übertragen sind, ein einziger Rückwärts-Vektor vorliegt, wird der Registerspeicher PMV3 in der Registergruppe 81 festgelegt, wenn das Bewegungsvektor-Zählstandsignal S87 den Wert 1 annimmt.
  • Als Reaktion auf das Registerindex-Bestimmungssignal S88 gibt die Registergruppe 81 das in dem festgelegten Register gespeicherte Bewegungsvektorsignal S82 über den Schalter 82 aus.
  • Das von dem Register ausgegebene Bewegungsvektorsignal S82 wird durch das Maßstabindikationssignal S85 (Maßstabindikationssignal A), das auf der Basis des Prädiktionstypsignals S40 von dem Anschluß 75 von dem Schalterkreis 85 ausgegeben wird, in dem Maßstabwandler 84 der Maßstabumwandlung A unterzogen, wenn dies erforderlich, ist, und dann der Subtrahierschaltung 86 zugeführt. In dieser Schaltung wird der Differenzwert zwischen dem maßstabgewandelten Bewegungsvektor und dem aktuell eingegebenen Bewegungsvektorsignal S8 berechnet. Auf diese Weise wird das Differenz-Bewegungsvektorsignal S50 gewonnen. Dieses Signal wird an dem Anschluß 76 ausgegeben.
  • Auf der anderen Seite wird das aktuell eingegebene Bewegungsvektorsignal S8 durch das Maßstabindikationssignal S83 (Maßstabindikationssignal B), das von dem Schalterkreis 85 ausgegeben wird, wenn dies erforderlich ist, in dem Maßstabwandler 83 für die Maßstabumwandlung B maßstabgewandelt (maßstabgewandeltes Bewegungsvektorsignal S80) und dann in dem über den Schalter 80 durch das Registerindex-Bestimmungssignal S88 festgelegten Register überschrieben und neu gespeichert. Es ist zu beachten, daß der Maßstabwandler 84 und der Maßstabwandler 83, wie oben erwähnt, für die räumliche Maßstabeinstellung bei der Berechnung des Differenz-Bewegungsvektors zwischen dem die Referenz zu dem Vollbild bildenden Bewegungsvektor und dem die Differenz zu dem Halbbild bildenden Bewegungsvektor benutzt werden können und/oder für die Maßstabeinstellung auf der Basis der Zeitbasis bei der Berechnung des Differenzvektors zwischen Bewegungsvektoren, bei denen die Zeitdifferenzen zu dem Referenzhalbbild unterschiedlich sind.
  • Das Rücksetzen des Registerspeichers PMV in dem Vektor-Differenzbestimmungselement 27 wird in dem Makroblock durchgeführt, in dem das über den Anschluß 77 zugeführte Bewegungskompensationsmodussignal S9 den intrakodierten Modus kennzeichnet, und in dem Makroblock, in dem das Slice-Startflag S301 an dem Anschluß 77 gesetzt ist. Zu dieser Zeit werden alle Register der Registergruppe 81 auf Null zurückgesetzt. Der Befehl zum Rücksetzen dieses Registers wird von dem Registerrücksetzbefehlselement 78 ausgeführt.
  • In dem vorliegenden Ausführungsbeispiel ist das Differenzbestimmungselement 27 für den Bewegungsvektor in der beschriebenen Weise aufgebaut. Es ist zu beachten, daß in dem oben beschriebenen Ausführungsbeispiel die Ausgabereihenfolge der Bewegungsvektoren S8 der Bewegungskompensationsschaltung 18 die gleiche ist wie die im voraus festgelegte Übertragungsreihenfolge der Bewegungsvektoren, wobei die erstere sich von der letzteren unterscheiden kann. Da jedoch auch in diesem Fall die Reihenfolge, in der die Differenz- Bewegungsvektoren S50 dem VLC-Element 20 zugeführt werden, letztlich die gleiche sein muß wie die Übertragungsreihenfolge, muß eine spezielle oder zusätzliche Anordnung vorgesehen sein, um das Prädiktionshalbbild-Paritätssignal zu dem Registerindex-Bestimmungssignalgenerator 89 zu übertragen, um die Ausgabereihenfolge der Differenz-Bewegungsvektoren S50 zu transponieren oder auszuwechseln oder dgl..
  • Anhand von Fig. 4 wird nun der Aufbau des Elements 28 von Fig. 1 zur Beurteilung von übersprungenen Makroblöcken beschrieben.
  • In Fig. 4 wird das Bewegungskompensations-Prädiktionsfehlersignal S16 dem Anschluß 96 des Elements 28 zur Beurteilung von übersprungenen Makroblöcken zugeführt. Darüber hinaus werden dem Element 28 zur Beurteilung von übersprungenen Makroblöcken zusätzlich zu dem Bewegungskompensations-Prädiktionsfehlersignal S16 auch das Differenz-Bewegungsvektorsignal S50, das Bewegungsvektorsignal S8 von dem Anschluß 4 von Fig. 1, das Bewegungskompensationsmodussignal S9, das Bildstruktursignal S26, das Prädiktionstypsignal S40, das Halbbild-Bewegungsvektor-Referenzparitätssignal 541 von dem Anschluß 5 von Fig. 1, das Teilbewegungsvektorsignal S42, das Prädiktionshalbbild-Paritätssignal S43 und das Bildkodiertypsignal S26 zugeführt. Das Bewegungsvektorsignal S8, das Differenz- Bewegungsvektorsignal S50, das Bewegungskompensationsmodussignal S9, das Prädiktionstypsignal S40, das Halbbild-Bewegungsvektor-Referenzparitätssignal S41, das Teilbewegungsvektorsignal S42, das Prädiktionshalbbild-Paritätssignal S43, das Bildkodiertypsignal S27 und das Bildstruktursignal S26 werden dem Anschluß 95 von Fig. 4 zugeführt. Diese Signale werden in dem Speicher 91 zur Speicherung der laufenden Makroblockparameter gespeichert.
  • Das Bewegungskompensations-Prädiktionsfehlersignal S16 des Makroblocks wird in dem Entscheidungselement 94 zur Beurteilung der von Null abweichenden Koeffizienten daraufhin überprüft, ob das zu übertragende Signal existiert. Wenn das zu übertragende Signal nicht existiert, informiert das Entscheidungselement 94 das Entscheidungselement 93 über diese Tatsache. Als Reaktion hierauf setzt das Entscheidungselement 93 das Makroblockflag S90 auf "FALSCH" und gibt dieses aus.
  • Auf der anderen Seite liefert das Entscheidungselement 94 das Signal "WAHR" an das Entscheidungselement 93, wenn kein Prädiktions-Fehlersignal zu übertragen ist (d. h. alle Koeffizienten von S16 gleich Null sind). In diesem Fall führt das Entscheidungselement 93 außerdem eine vergleichende Beurteilung des Inhalts des Speichers 91 und des Inhalts des Speichers 92 aus, um die Parameter des zurückliegenden Makroblocks zu speichern.
  • Wenn das Bildkodiertypsignal S27 das P-Bild kennzeichnet, wird in dem Entscheidungselement 93
  • eine vergleichende Beurteilung der Bedingungen durchgeführt,
  • erstens, ob das Bewegungsvektorsignal 58 gleich Null ist,
  • zweitens, ob das Bewegungskompensationsmodussignal S9 Vorwärtsprädiktion kennzeichnet,
  • drittens, ob das Halbbild-Bewegungsvektor-Paritätssignal S41 das gleiche ist wie die Parität des prädizierten Halbbilds in dem Fall, daß das Prädiktionstypsignal S40 Halbbildprädiktion kennzeichnet, und
  • viertens, ob das Teilbewegungsvektorsignal S42 gleich Null ist.
  • Wenn diese Bedingungen erfüllt sind, setzt das Entscheidungselement 93 das Flag S90 für übersprungenen Makroblock auf "WAHR" und gibt es aus. Andernfalls wird das Flag S90 für übersprungenen Makroblock auf "FALSCH" gesetzt. Das Makroblockflag S90 wird über den Anschluß 97 ausgegeben und dem VLC-Element 20 von Fig. 1 zugeführt.
  • Für den Fall, daß das Bildkodiertypsignal S27 das B-Bild kennzeichnet, wird in dem Entscheidungselement 93
  • eine vergleichende Beurteilung der Bedingungen durchgeführt,
  • erstens, ob das Differenz-Bewegungsvektorsignal S50 gleich Null ist, und
  • zweitens, ob das Bewegungskompensationsmodussignal S9, das Prädiktionstypsignal S40, das Halbbild-Bewegungsvektor-Referenzparitätssignal S41, das Teilbewegungsvektorsignal S42 und das Prädiktionshalbbild-Paritätssignal S43 für die Inhalte der Speicher 91 und 92 jeweils gleich sind.
  • Wenn diese Bedingungen erfüllt sind, setzt das Entscheidungselement 93 das Flag S90 für übersprungenen Makroblock auf "WAHR" und gibt es aus. Andernfalls lautet das Flag S90 für übersprungenen Makroblock "FALSCH".
  • Es ist zu beachten, daß in Makroblöcken am Sliceanfang und -ende übersprungene Makroblöcke selbst dann nicht zugelassen werden, wenn die obigen Bedingungen erfüllt sind.
  • Wenn das Flag S90 für übersprungenen Makroblock "FALSCH" lautet, wird der Inhalt des Speichers 91 in den Speicher 92 kopiert. Darüber hinaus bearbeitet das VLC-Element 20 keine Daten für einen Makroblock, in welchem das Flag S90 für übersprungenen Makroblock "WAHR" lautet.
  • Das Element 28 zur Beurteilung übersprungener Makroblöcke hat den oben beschriebenen Aufbau.
  • Im folgenden wird ein weiteres Verfahren für die Beurteilung eines übersprungenen Makroblocks beschrieben. Bei diesem anderen Verfahren wird die Bedingung, die in dem obigen Beispiel das Halten eines übersprungenen Makroblocks des P-Bilds und des B-Bilds erlaubt, folgendermaßen weiter eingeschränkt. Wenn die Bildstruktur die Vollbildstruktur ist, wird der Prädiktionstyp auf den Fall der vollbildbasierten Prädiktion eingeschränkt. Wenn die Bildstruktur die Halbbildstruktur ist, wird der Prädiktionstyp auf den Fall der halbbildbasierten 16 · 16-Prädiktion eingeschränkt. Der Prädiktionstyp des B-Bilds wird nämlich für den Prädiktionstyp des früheren Makroblocks irrelevant.
  • Zusammenfassend sind die Bedingungen für das Halten des übersprungenen Makroblocks ist in diesem Fall die folgenden: Wenn das Element 94 zur Beurteilung der von Null abweichenden Koeffizienten feststellt, daß die eingegebenen Makroblöcke einen Makroblock darstellen, in dem kein zu übertragendes Signal existiert, überprüft das Entscheidungselement 93 weiter, ob die betreffenden Makroblöcke die für das Halten von übersprungenen Makroblöcken erforderliche Bedingung erfüllen oder nicht. Für den Fall, daß das Bildkodiertypsignal S27 das B-Bild und das Bildstruktursignal S26 die Halbbildstruktur repräsentieren, ist
  • lauten die Bedingungen für das Halten des übersprungenen Makroblocks:
  • erstens, das Bewegungsvektorsignal S8 ist gleich Null,
  • zweitens, das Bewegungskompensationsmodussignal S9 entspricht der Vorwärtsprädiktion,
  • drittens, das Prädiktionstypsignal S40 bedeutet 16 · 16-Halbbifdprädiktion und
  • viertens, das Halbbild-Bewegungsvektor-Referenzparitätssignal S41 hat dieselbe Parität wie das Prädiktionshalbbild-Paritätssignal S43.
  • Wenn das Bildkodiertypsignal S27 das P-Bild und das P-Bildstruktursignal S26 die Vollbildstruktur repräsentieren,
  • lauten die Bedingungen für das Halten des übersprungenen Makroblocks:
  • erstens, das Bewegungsvektorsignal S8 ist gleich Null,
  • zweitens, das Bewegungskompensationsmodussignal S9 entspricht der Vorwärtsprädiktion, und
  • drittens, das Prädiktionstypsignal S40 entspricht der Vollbildprädiktion.
  • Wenn das Bildkodiertypsignal S27 das B-Bild und das Bildstruktursignal S26 die Halbbildstruktur repräsentieren,
  • lauten die Bedingungen für das Halten des übersprungenen Makroblocks:
  • erstens, das Differenz-Bewegungsvektorsignal S50 ist gleich Null,
  • zweitens, das Bewegungskompensationsmodussignal S9 ist das gleiche wie für den früheren Makroblock,
  • drittens, das Prädiktionstypsignal S40 entspricht der 16 · 16-Halbbildprädiktion,
  • viertens, das Halbbild-Bewegungsvektor-Referenzparitätssignal S41 ist das gleiche wie für den früheren Makroblock und
  • fünftens, das Prädiktionshalbbild-Paritätssignal S43 ist das gleiche wie für früheren Makroblock.
  • Für den Fall, daß das Bildkodiertypsignal S27 das B-Bild und das Bildstruktursignal S26 das Vollbild repräsentieren,
  • lauten die Bedingungen für das Halten des übersprungenen Makroblocks:
  • erstens, das Differenz-Bewegungsvektorsignal S50 ist gleich Null,
  • zweitens, das Bewegungskompensationsmodussignal S9 ist das gleiche wie für den vorherigen Makroblock und
  • drittens, das Prädiktionstypsignal S40 kennzeichnet Vollbildprädiktion.
  • Es sei noch einmal auf Fig. 1 Bezug genommen. Nachdem ein Ausgangssignal des VLC- Elements 20 in dem Pufferspeicher 21 gespeichert ist, wird an dem Ausgang 22 ein Bitstrom mit fester Übertragungsrate ausgegeben.
  • Die Vorrichtung zur Bewegtbildkodierung ist in der oben beschriebenen Weise aufgebaut, um die Bewegtbildkodierung auszuführen, einen Bitstrom auszugeben und ein kodiertes Bild auszugeben.
  • Eine Vorrichtung zur Bewegtbilddekodierung (Dekodierer) mit einem inversen Differenzbestimmungselement für Bewegungsvektoren wird nun anhand von Fig. 5 beschrieben.
  • In Fig. 5 wird das über den Eingang 50 zugeführte Bistromsignal in dem Pufferspeicher 51 gespeichert und dann dem inversen VLC-Element 52 zugeführt.
  • Wenn das inverse VLC-Element 52 den vorderen Abschnitt des zu dekodierenden Bildes detektiert, setzt es das Bild-Startflag S102 und liefert dieses an das Referenzbild-Steuerelement 58. In dieser Vorrichtung wird das Bild-Startflag S102 dem Referenzbild-Steuereinheit 58 über die Anschlüsse 67 und 61 zugeführt. Wenn das Bild-Startflag S102 gesetzt ist, gibt das Referenzbild-Steuereinheit 58 Referenzbild-Indikationssignale aus, die weiter unten beschrieben werden, und liefert sie an die Halbbild-Speichergruppe 57.
  • Wenn das inverse VLC-Element 51 darüber hinaus den vorderen Abschnitt einer zu dekodierenden Scheibe detektiert, setzt es das Slice-Startflag S211.
  • Das Bild-Startflag S102 wird auch einem Ausgangsbild-Steuereinheit 59 zugeführt. Wenn das Bild-Startflag S102 gesetzt ist, gibt das Ausgangsbild-Steuereinheit 59 ein Ausgangsbild- Indikationssignal S60 aus, das weiter unten beschrieben wird, und liefert es an die Halbbild- Speichergruppe 57.
  • Die aus dem inversen VLC-Element 52 gewonnene Steuerinformation zum Steuern der Vorrichtung zur Bewegtbildkodierung gemäß der Erfindung wird in dem Speicher 201 gespeichert. Diese Steuerinformation wird als Steuersignal S104 ausgegeben. Außerdem gibt der Speicher 201 das Bildstruktursignal 5201 und das Bildkodiertypsignal S202 aus. Sie werden dem inversen VLC-Element 52 zugeführt.
  • Das kodierte Makroblocksignal S50 aus dem inversen VLC-Element 52 wird dem zweidimensionalen Signalgeneratorteil 53 zugeführt. Zusätzlich gibt das inverse VLC-Element 52 synchron mit der Ausgabe des kodierten Makroblocksignals S50 das MB-Startflag S210 aus.
  • Das kodierte Makroblocksignals S50 wird in dem zweidimensionalen Signalgeneratorteil 53 zu dem zweidimensionalen Blocksignal S51. Dieses zweidimensionale Blocksignal S51 wird dem Blocksignaldekodierteil 54 zugeführt, in welchem es dekodiert wird. Auf diese Weise wird das Blockwiedergabedifferenzsignal S52 gewonnen.
  • Als Konfiguration für den Blocksignaldekodierteil 54 kann eine Konfiguration verwendet werden, die aus einem inversen Quantisierer zum inversen Quantisieren der Koeffizienten durch das aus dem inversen VLC-Element 52 entnommene Quantisierungstabellensignal S57 und einem inversen DCT-Element zur Durchführung einer inversen DCT (diskrete Cosinustransformation) bestehen, das Koeffizienten ausgibt.
  • Als Konfiguration für den zweidimensionalen Signalgeneratorteil 53 kann eine Konfiguration benutzt werden, die aus einem inversen Abtastwandler besteht, der das kodierte Blocksignal S50 einer inversen Zickzackabtastung mit einer Koeffizientenreihenfolge von niedrigen zu hohen Frequenzen unterzieht.
  • Auf der anderen Seite wird das Differenz-Bewegungsvektorsignal S90, das dem aktuell zu dekodierenden Makroblock beigefügt ist, der aus dem inversen VLC-Element 52 entnommen wurde, in dem (in der Figur als inverses BV-Differenzelement bezeichneten) inversen Differenzbestimmungselement 202 rekonstruiert. Das rekonstruierte Bewegungsvektorsignal S25 aus dem inversen Differenzbestimmungselement 202 und das Bewegungskompensationsmodussignal S56, das Prädiktionstypsignal S91, das Halbbild-Bewegungsvektor- Referenzparitätssignal S92, das Teilbewegungsvektorsignal S93 und das Prädiktionshalbbild- Paritätssignal S94, die von dem inversen VLC-Element 52 ausgegeben werden, werden über den Speicher 204 dem Bewegungskompensator 56 zugeführt. Als Reaktion auf diese Signale weist der Bewegungskompensator 56 die Ausgabe des Blockbildsignals aus der Halbbild-Speichergruppe 57 an, in der bereits dekodierte und reproduzierte Bilder gespeichert sind.
  • Durch das oben beschriebene Referenzbild-Indikationssignal S58 erkennt der Bewegungskompensator 56 das von der Halbbild-Speichergruppe 57 festgelegte Wiedergabebild als Referenzbild und weist die Ausgabe des Blockbildsignals an, das an einer Adresse in dem Referenzbild liegt, die durch das Bewegungskompensationsmodussignal S56, das Bewegungsvektorsignal S55, das Prädiktionstypsignal S91, das Halbbild-Bewegungsvektor-Referenzparitätssignal S92, das Teilvektorsignal S93 und das Prädiktionshalbbild-Paritätssignal S94 festgelegt wird.
  • Der Bewegungskompensator 56 kann eine dem Bewegungskompensationsmodussignal S56 entsprechende adaptive Operation ausführen, d. h. er kann vier Arten von Operationen ausführen, die unten in Makroblockeinheiten beschrieben sind. Es ist zu beachten, daß die Blockgröße z. B. 16 · 16 Pixel, 16 · 8 Pixel oder 8 · 8 Pixel beträgt.
  • Als Modi der vier Arten von Operationen gibt es in diesem Fall
  • erstens, Bewegungskompensationsmodus aus dem vergangenen Wiedergabebild,
  • zweitens, Bewegungskompensationsmodus aus dem zukünftigen Wiedergabebild,
  • drittens, Bewegungskompensationsmodus sowohl aus dem vergangenen als auch aus dem zukünftigen Wiedergabebild (Durchführung einer linearen Operation (z. B. Mittelwertberechnung) für jedes Pixel für den Referenzblock aus dem vergangenen Wiedergabebild und den Referenzblock aus dem zukünftigen Wiedergabebild), und
  • viertens, Modus ohne Bewegungskompensation (d. h. intrakodierter Modus. In diesem Fall ist das ausgegebene Blockbildsignals S54 gleich Null).
  • Der Bewegungskompensator 56 wählt eine der vier Arten von Operationsmodi nach Maßgabe des Bewegungskompensationsmodussignals S56 aus.
  • Das Blockwiedergabedifferenzsignal S52 aus dem Blocksignaldekodierteil 54 wird in dem Addierer 55 für jedes Pixel zu dem Blockbildsignal S54 addiert, das von dem Bewegungskompensator 56 ausgegeben wird. Als Ergebnis erhält man ein Blockwiedergabesignal S53. Dieses Blockwiedergabesignal S53 wird in einem Halbbildspeicher der Halbbild-Speichergruppe 57 gespeichert, der durch das laufende Bildindikationssignal S59 festgelegt wird.
  • Das Bewegtbild wird in der oben beschriebenen Weise aus dem Bitstrom rekonstruiert.
  • Das Wiedergabebild, das durch das Ausgangsbild-Indikationssignal S60 aus den in der Halbbild-Speichergruppe 57 gespeicherten Wiedergabebildern festgelegt wird, wird an dem Anschluß 60 ausgegeben.
  • Es ist zu beachten, daß das Steuersignal S104, das Bildstruktursignal S201 und das Bildkodiertypsignal S202 über den Anschluß 62 dem Bewegungskompensator 56, dem Differenzbild-Steuerelement 58 und dem Ausgangsbild-Steuerelement 59 zugeführt werden.
  • Anhand von Fig. 6 wird nun das oben erwähnte inverse Differenzbestimmungselement 202 für Bewegungsvektoren beschrieben.
  • In Fig. 6 wird das über den Anschluß 311 zugeführte Differenz-Bewegungsvektorsignal S90 in dem inversen Differenzbestimmungselement 202 rekonstruiert. Dem inversen Differenzbestimmungselement 202 werden das Slice-Startflag S212, das MB-Startflag S210, das Differenz-Bewegungsvektorsignal S90, das Bewegungskompensationsmodussignal S56, das Prädiktionstypsignal S91 und das Bildstruktursignal S201 zugeführt. Und zwar wird das MB- Startflag S210 dem Anschluß 312 zugeführt, das Bewegungskompensationsmodussignal S56 dem Anschluß 313, das Prädiktionstypsignal S91 den Anschlüssen 314 und 316 und das Bildstruktursignal S201 dem Anschluß 315.
  • Die Empfangszahl der zu empfangenden Vorwärts-Differenz-Bewegungsvektoren oder Rückwärts-Differenz-Bewegungsvektoren in dem Makroblock wird in diesem Fall aus dem Bildstruktursignal S201 und dem Prädiktionstypsignal S91 erkannt. Die Empfangszahl wird so festgelegt, wie dies in den obigen Tabellen 1 bis 3 angegeben ist. In der vorliegenden Vorrichtung sind die jeweiligen maximalen. Empfangszahlen für Vorwärts-Differenz-Bewegungsvektoren und Rückwärts-Differenz-Bewegungsvektoren gleich 2. Dementsprechend werden maximal vier Differenz-Bewegungsvektoren in dem Makroblock empfangen.
  • Zu diesem Zweck hat in dieser Vorrichtung die Registergruppe 305 in dem inversen Differenzbestimmungselement 202 von Fig. 6 den in Fig. 3 dargestellten Aufbau. Im vorliegenden Fall sind vier Registerspeicher PMV1 bis PMV4 für die Speicherung von Bewegungsvektoren vorgesehen, die ähnlich angeordnet sind wie dies oben beschrieben wurde.
  • Die Vorwärts-Differenz-Bewegungsvektoren und die Rückwärts-Differenz-Bewegungsvektoren sollten jeweils entsprechend der Empfangsreihenfolge innerhalb des Makroblocks eine Eins-zu-Eins-Relation zu den Registerspeichern PMV1 bis PMV4 haben. Praktisch wird der Vorwärts-Differenz-Bewegungsvektor, der in dem Makroblock zuerst empfangen wird, zu dem in dem Registerspeicher PMV1 gespeicherten rekonstruierten Bewegungsvektor addiert. Der Vorwärts-Differenz-Bewegungsvektor, der in dem Makroblock an zweiter Stelle empfangen wird, wird zu dem in dem Registerspeicher PMV2 gespeicherten rekonstruierten Bewegungsvektor addiert. Der Rückwärts-Bewegungsvektor, der in dem Makroblock zuerst empfangen wird, wird zu dem in dem Registerspeicher PMV3 gespeicherten rekonstruierten Bewegungsvektor addiert. Der Rückwärts-Differenz-Bewegungsvektor, der in dem Makroblock an zweiter Stelle empfangen wird, wird zu dem in dem Registerspeicher PMV4 gespeicherten rekonstruierten Bewegungsvektor addiert. In dieser Vorrichtung liefert die Empfangsreihenfolge innerhalb des Makroblocks der betreffenden Bewegungsvektoren Indizes, die angeben, in welchem Register der Registerspeicher PMV1 bis PMV4 der rekonstruierte Bewegungsvektor gespeichert ist, der zu den betreffenden Differenz-Bewegungsvektoren zu addieren ist.
  • Mit anderen Worten, in dieser Vorrichtung werden Indizes "1" bis "2" in der Empfangsreihenfolge der Vorwärts-Differenz-Bewegungsvektoren in dem Makroblock vergeben und Indizes "3" bis "4" in der Empfangsreihenfolge der Rückwärts-Differenz-Bewegungsvektoren in dem Makroblock. Auf diese Weise wird rekonstruierten Bewegungsvektor addiert, daß die Bewegungsvektoren mit den jeweiligen Indizes und die Registerspeicher PMV eine Eins-zu- Eins-Relation zueinander haben.
  • Die Syntax des Bitstroms des Bewegungsvektors ist die gleiche wie in der obigen Tabelle 4. Auch in diesem Fall wird dafür gesorgt, daß die zu übertragenden Bewegungsvektoren und die Register PMV, wie in der Tabelle angegeben, einander jeweils entsprechen. Bezüglich der Erläuterung von Tabelle 4 gilt das, was oben für die Kodiererseite ausgeführt wurde.
  • Es ist zu beachten, daß bei der Aktualisierung des Registerspeichers PMV1 derjenige Makroblock, bei dem die Empfangszahl der Vorwärts-Differenz-Bewegungsvektoren gleich 1 ist, den Registerspeicher PMV mit dem gleichen Wert aktualisiert. Beim Aktualisieren des Registerspeichers PMV3 aktualisiert der Makroblock, bei dem die Empfangszahl der Rückwärts-Differenz-Bewegungsvektoren gleich 1 ist, den Registerspeicher PMV4 mit dem gleichen Wert.
  • Anhand von Fig. 6 wird nun die Umschaltoperation der Registerspeicher PMV beschrieben.
  • In Fig. 6 gibt der Differenz-Bewegungsvektorsignal-Flaggenerator 308 als Reaktion auf das über den Anschluß 311 zugeführte Differenz-Bewegungsvektorsignal S90 das Differenz- Bewegungsvektorsignalflag S306 aus. Diese Differenz-Bewegungsvektorsignalflags S306 werden von dem Differenz-Bewegungsvektorzähler 309 gezählt. Es ist zu beachten, daß der Differenz-Bewegungsvektorzähler 309 zurückgesetzt wird, wenn das MB-Startflag S210 gesetzt wird. Das Bewegungsvektor-Zählstandsignal S307 aus dem Bewegungsvektorzähler 309 wird dem Registerindex-Bestimmungssignalgenerator 310 zugeführt. Diesem Generator werden außerdem das Bewegungskompensationsmodussignal S56, das Prädiktionstypsignal S91 und das Bildstruktursignal S201 zugeführt.
  • In diesem Fall wird die Übertragungszahl der Vorwärts-Differenz-Bewegungsvektoren oder der Rückwärts-Differenz-Bewegungsvektoren (motion vector count), die innerhalb des Makroblocks zu übertragen sind, aus dem Bildstruktursignal S201 und dem Prädiktionstypsignal S91 erkannt, und die Übertragungszahl aller zu übertragenden Bewegungsvektoren innerhalb des Makroblocks wird aus dem Bewegungskompensationsmodussignal S56 erkannt. Wenn z. B. "motion vector count" gleich 2 ist und das Bewegungskompensationsmodussignal S56 den bidirektionalen Prädiktionsmodus anzeigt, ist die Übertragungszahl aller Differenz-Bewegungsvektoren gleich 4, weil die innerhalb des Makroblocks zu empfangenden Bewegungsvektoren in der Reihenfolge von zwei Vorwärts-Differenz-Bewegungsvektoren und zwei Rückwärts-Differenz-Bewegungsvektoren empfangen werden.
  • Auf der Basis dieser Information erzeugt der Registerindex-Bestimmungssignalgenerator 310 das Registerindex-Bestimmungssignal S308 aus dem Bewegungsvektor-Zählstandsignal S307 und gibt es aus. Entsprechend diesem Registerindex-Bestimmungssignal S308 wird in dem obigen Beispiel der Registerspeicher PMV1 in der Registergruppe 305 festgelegt, wenn das Bewegungsvektor-Zählstandsignal S307 den Wert 1 annimmt. Wenn dieses Signal den Wert 2 annimmt, wird der Registerspeicher PMV2 in der Registergruppe 305 festgelegt. Wenn das Signal den Wert 3 annimmt, wird der Registerspeicher PMV3 in der Registergruppe 305 festgelegt, und wenn das Signal den Wert 4 annimmt, wird der Registerspeicher PMV4 in der Registergruppe 305 festgelegt.
  • Wenn als weiteres Beispiel ein "motion vector count" vorhanden ist und das Bewegungskompensationsmodussignal S56 den Rückwärts-Prädiktionsmodus anzeigt, wird der Registerspeicher PMV3 in der Registergruppe 305 festgelegt, wenn das Bewegungsvektor-Zählstandsignal S307 den Wert 1 annimmt, weil als Übertragungszahl alle innerhalb des Makroblocks übertragenen Differenz-Bewegungsvektoren nur ein Rückwärts-Differeriz-Bewegungsvektor übertragen wird.
  • Die Registergruppe 305 reagiert auf das Registerindex-Bestimmungssignal S308 damit, daß sie über den Schalter 303 das in dem festgelegten Register gespeicherte Bewegungsvektorsignal S302 ausgibt.
  • Das Ausgangsbewegungsvektorsignal S302 wird durch das Maßstabindikationssignal CON- VERSION (Maßstabindikationssignal C), das von dem mit dem Prädiktionstypsignal S91 gespeisten Schalterkreis 307 ausgegeben wird, in dem Maßstabwandler 302 für die Maßstabumwandlung C nach Bedarf maßstabgewandelt (maßstabgewandeltes Ausgangsbewegungsvektorsignal S302) und dann der Addierschaltung 301 zugeführt, in der es zu dem eingegebenen laufenden Differenz-Bewegungsvektorsignal S90 addiert wird. Auf diese Weise wird das Bewegungsvektorsignal S55 rekonstruiert. Das Bewegungsvektorsignal S55 wird von dem Anschluß 317 als rekonstruierter Bewegungsvektor ausgegeben.
  • Auf der anderen Seite wird das rekonstruierte laufende Bewegungsvektorsignal S55 in dem Maßstabwandler 306 für die Maßstabumwandlung D im Bedarfsfall durch das Maßstabindikationssignal S305 (Maßstabindikationssignal D) maßstabgewandelt und dann in dem durch das Registerindex-Bestimmungssignal S308 festgelegten Registerspeicher PMV der Registergruppe 305 überschrieben und dort erneut gespeichert.
  • Es ist zu beachten, daß der Maßstabwandler 302 und der Maßstabwandler 306 für die räumliche Maßstabeinstellung beim Berechnen des Differenz-Bewegungsvektors zwischen dem Bewegungsvektor, der die Referenz für das Vollbild darstellt, und dem Bewegungsvektor, der die Referenz für das Halbbild darstellt, und/oder für die Maßstabeinstellung auf der Grundlage der Zeitbasis bei der Berechnung des Differenzvektors zwischen den Bewegungsvektoren benutzt werden können, die unterschiedliche zeitliche Abstände zu dem Referenzhalbbild haben.
  • Das Rücksetzen des Registerspeichers PMV des inversen Differenzbestimmungselements 202 in Fig. 6 erfolgt in dem Makroblock, in welchem das Bewegungskompensationsmodussignal S56 den intrakodierten Modus anzeigt, und in dem Makroblock, in dem das Slice- Startflag S211 gesetzt ist. Zu dieser Zeit sind alle Register in der Registergruppe 305 auf Null zurückgesetzt. Der Befehl für das Rücksetzen dieser Registergruppe 305 wird von dem Registerrücksetzbefehlselement 318 ausgeführt. In dieser Vorrichtung wird dem Registerrücksetzbefehlselement 318 über den Anschluß 68 von Fig. 5 und den Anschluß 319 von Fig. 6 das Slice-Startflag S211 und über den Anschluß 64 von Fig. 5 und den Anschluß 319 von Fig. 6 das Bewegungskompensationsmodussignal S56 und das Bildkodiertypsignal S202 und über den Anschluß 63 von Fig. 5 und den Anschluß 319 von Fig. 6 das Flag S95 für übersprungenen Makroblock zugeführt.
  • Das inverse Differenzbestimmungselement 202 für Bewegungsvektoren ist in der oben beschriebenen Weise aufgebaut.
  • Zur Beschreibung der Behandlung eines übersprungenen Makroblocks auf der Dekodiererseite sei noch einmal auf Fig. 5 Bezug genommen.
  • In Fig. 5 wird nach dem Empfang eines Makroblocks die Adresse zu dem Bild dieses Makroblocks aus der Header-Information des Makroblocks gewonnen. Das Makroblock-Adressensignal S94, das in dem inversen VLC-Element 52 gewonnen wird, wird nämlich dem Makroblock-Adressenkomparator 203 zugeführt.
  • In dem Makroblock-Adressenkomparator 203 ist die Adresse des um eine Einheit früher empfangenen Makroblocks gespeichert. Dieser Wert wird mit dem Makroblock-Adressensignal S94 verglichen. Wenn die Makroblockadressen diskontinuierlich sind, d. h. die Differenz gleich 2 oder größer ist, wird daraus erkannt, daß ein übersprungener Makroblock vorliegt. Die Zahl, die um eins kleiner ist als der Differenzwert, ist die Zahl der übersprungenen Makroblöcke. Der Makroblock-Adressenkomparator 203 ist dann das Flag S95 für einen übersprungenen Makroblock (Plural?).
  • Wenn das Flag S95 für übersprungenen Makroblock (immer!) gesetzt ist, beginnt der Dekodierer mit der Verarbeitung des übersprungenen Makroblocks. Zunächst gibt das inverse VLC-Element 52 Null als kodiertes Blocksignal S50 aus, wenn das Flag S95 für übersprungenen Makroblock gesetzt wird. Deshalb wird zu dieser Zeit auch das Blockwiedergabedifferenzsignal S52 ebenfalls gleich Null.
  • Für den Fall, daß z. B. das Bildkodiertypsignal S202 dem P-Bild entspricht, gilt folgendes:
  • erstens, das Registerrücksetzbefehlselement 318 setzt alle Register PMV in dem inversen Differenzbestimmungselement 202 für Bewegungsvektoren auf Null,
  • zweitens, das inverse Differenzbestimmungselement 202 gibt als Bewegungsvektorsignal S55 Null aus,
  • drittens, das inverse VLC-Element 52 gibt das Bewegungskompensationsmodussignal S56 als Vorwärtsprädiktion aus,
  • viertens, das inverse VLC-Element 52 macht es möglich, daß das Prädiktionstypsignal S91 der "vollbildbasierten Prädiktion" entspricht, wenn das Bildstruktursignal S201 Vollbildstruktur bedeutet, daß es hingegen "halbbildbasierter 16·16-Prädiktion" entspricht, wenn das Bildstruktursignal S201 Halbbildstruktur bedeutet und daß es "vollbildbasierter 16 · 16- Prädiktion" entspricht, wenn das Bildstruktursignal S201 progressive Struktur bedeutet,
  • fünftens, das inverse VLC-Element 52 macht es möglich, daß das Halbbild-Bewegungsvektor-Referenzparitätssignal S92 gleich dem Prädiktionshalbbild-Paritätssignal S94 wird, und
  • sechstens, es gibt als Teilvektorbewegungssignal S93 Null aus.
  • Für den Fall, daß das Bildkodiertypsignal S202 z. B. dem B-Bild entspricht, gilt folgendes:
  • erstens, das inverse Differenzbestimmungselement 202 gibt den in dem Register PMV gespeicherten Wert als Bewegungsvektorsignal S55 aus und,
  • zweitens, der Speicher 204 gibt das Bewegungskompensationsmodussignal S56, das Prädiktionstypsignal S91, das Halbbild-Bewegungsvektor-Referenzparitätssignal S92, das Teilbewegungsvektorsignal S93 und das Prädiktionshalbbild-Paritätssignal S94 des unmittelbar zuvor dekodierten Makroblocks aus, die gespeichert sind.
  • Im folgenden wird die Verarbeitung des Dekodierers für den Fall kollektiv beschrieben, daß der übersprungene Makroblock auf der Kodiererseite von einer anderen Anordnung bewertet wird, zunächst für den Fall, daß das Flag S95 für übersprungenen Makroblock in dem Bild gesetzt ist, in welchem das Bildkodiertypsignal S202 das P-Bild kennzeichnet, und das Bildstruktursignal S201 Halbbildstruktur kennzeichnet,
  • erstens, das Registerrücksetzbefehlselement 78 setzt alle Register PMV in dem inversen Differenzbestimmungselement 202 für Bewegungsvektoren auf Null zurück,
  • zweitens, das inverse Differenzbestimmungselement 202 gibt an den Bewegungskompensator 56 Null als Bewegungsvektorsignal S55 aus,
  • drittens, das inverse VLC-Element 52 weist den Bewegungskompensator 56 an, als Bewegungskompensationsmodussignal S56 Vorwärtsprädiktion auszuführen,
  • viertens, das inverse VLC-Element 52 weist den Bewegungskompensator 56 an, als Prädiktionstypsignal S91 Halbbildprädiktion auszuführen, und
  • fünftens, das inverse VLC-Element 52 weist den Bewegungskompensator 56 an, als Halbbild-Bewegungsvektor-Referenzparitätssignal S92 die gleiche Parität wie die des Prädiktionshalbbild-Paritätssignals S94 auszugeben.
  • Wenn das Flag S95 für übersprungenen Makroblock in dem Bild gesetzt ist, in welchem das Bildkodiertypsignal S202 das P-Bild kennzeichnet, und das Bildstruktursignal S201 die Vollbildstruktur kennzeichnet, gilt folgendes:
  • erstens, das Registerrücksetzbefehlselement 78 setzt alle Register PMV in dem inversen Differenzbestimmungselement 202 für Bewegungsyektoren auf Null zurück,
  • zweitens, das inverse Differenzbestimmungselement 202 gibt Null als Bewegungsvektorsignal S55 an den Bewegungskompensator 56 aus,
  • drittens, das inverse VLC-Element 52 weist den Bewegungskompensator 56 an, Vorwärtsprädiktion als Bewegungskompensationsmodussignal S56 auszuführen, und
  • viertens, das inverse VLC-Element 52 weist den Bewegungskompensator 56 an, Vollbildprädiktion als Prädiktionstypsignal 591 auszuführen.
  • Wenn das Flag S95 für übersprungenen Makroblock in dem Bild gesetzt ist, in welchem das Bildkodiertypsignal S202 das B-Bild kennzeichnet, und das Bildstruktursignal S201 Halbbildstruktur kennzeichnet, gilt folgendes:
  • erstens, das inverse Differenzbestimmungselement 202 gibt den in dem Registerspeicher PMV gespeicherten Wert als Bewegungsvektorsignal S55 an den Bewegungskompensator 56 aus,
  • zweitens, der Speicher 204 gibt an den Bewegungskompensator 56 das Bewegungskompensationsmodussignal S56 aus, ferner das Halbbild-Bewegungsvektor-Referenzparitätssignal S92 und das Prädiktionshalbbild-Paritätssignal S94 des unmittelbar zuvor dekodierten Makroblocks, die gespeichert sind, und
  • drittens, das inverse VLC-Element 52 weist den Bewegungskompensator 56 an, 16 · 16- Halbbildprädiktion als Prädiktionstypsignal S91 auszuführen.
  • Wenn das Flag S95 für übersprungenen Makroblock in dem Bild gesetzt ist, in welchem das Bildkodiertypsignal S202 das B-Bild kennzeichnet, und das Bildstruktursignal S201 Vollbildstruktur kennzeichnet, gilt folgendes:
  • erstens, das inverse Differenzbestimmungselement 202 gibt an den Bewegungskompensator 56 den in dem Registerspeicher PMV gespeicherten Wert als Bewegungsvektorsignal S55 aus,
  • zweitens, der Speicher 204 gibt an den Bewegungskompensator 56 das Bewegungskompensationsmodussignal S56 des unmittelbar vorher dekodierten Makroblocks aus, das gespeichert ist, und
  • drittens, das inverse VLC-Element 52 weist den Bewegungskompensator 56 an, Vollbildprädiktion als Prädiktionstypsignal S91 auszuführen.
  • Die Verarbeitung eines übersprungenen Makroblocks wird in dieser Weise durchgeführt. Diese Verarbeitung wird mit der Zahl der übersprungenen Makroblöcke wiederholt. Der Dekodierer führt die Dekodierung auf der Basis des so gewonnenen Signals in der gleichen Weise aus wie bei einem gewöhnlichen Makroblock.
  • Wenn ein Makroblock gewonnen wird, der kein übersprungener Makroblock ist, d. h. wenn das über den Anschluß 66 gelieferte Flag S95 für übersprungenen Makroblock "FALSCH" lautet, wird der Inhalt des Speichers 204 mit dem Sewegungskompensationsmodussignal S56, dem Prädiktionstypsignal S91, dem Halbbild-Bewegungsvektor-Referenzparitätssignal S92, dem Teilbewegungsvektorsignal S93 und dem Prädiktionshalbbild-Paritätssignal S94 dieses Makroblocks aktualisiert. Im vorliegenden Ausführungsbeispiel werden auch das Bildstruktursignal S201 und das Bildkodiertypsignal S202 über den Anschluß 65 dem Speicher 204 zugeführt.
  • Die Vorrichtung zur Bewegtbilddekodierung ist in der oben beschriebenen Weise aufgebaut und reproduziert das Bild aus dem Bitstrom.
  • Als letztes werde die Funktion des Ausführungsbeispiels in der Praxis näher beschrieben.
  • Fig. 7 zeigt die Funktion für den Fall, daß das erste Beispiel (Fig. 18) zur Bestimmung der Differenz zwischen Bewegungsvektoren in dem oben vorgestellten herkömmlichen Kodierer nun in dem Ausführungsbeispiel durchgeführt wird.
  • In Fig. 7 ist z. B. der Bewegungsvektor in dem oberen Abschnitt des Makroblocks MB0 gleich (5, 1)(1), der Bewegungsvektor in dem unteren Abschnitt des Makroblocks MB0 gleich (5, 5)(2), der Bewegungsvektor in dem oberen Abschnitt des Makroblocks MB1 gleich (5, 5)(3), der Bewegungsvektor in dem unteren Abschnitt des Makroblocks MB1 gleich (5, 5)(4), der Bewegungsvektor in dem oberen Abschnitt des Makroblocks MB2 gleich (5, 5)(5) und der Bewegungsvektor in dem unteren Abschnitt des Makroblocks MB2 gleich (5, 5)(6).
  • Weiterhin ist in den Begisterspeichern PMV1 und PMV2 von Fig. 2 (d. h. Fig. 3) der Wert (0, 0) als Anfangswert gespeichert.
  • In dem Fall des Beispiels von Fig. 7 wird in dem Makroblock MB0 (5, 1)(1) - PMV1 = (5, 1)(1) gewonnen, das die Differenz zwischen dem Bewegungsvektor (5, 1) des oberen Abschnitts und dem Anfangswert (0, 0) des Registerspeichers PMV1 ist. Dieser Wert wird als Differenz-Bewegungsvektor des oberen Abschnitts von MB0 ausgegeben. Der Bewegungsvektor (5, 1)(1) wird in dem Registerspeicher PMV1 gespeichert. Ferner wird (5, 5)(2) - PMV1 = (5, 5) gewonnen, das die Differenz zwischen dem Bewegungsvektor (5, 5)(2) des unteren Abschnitts und dem Anfangswert (0, 0) des Registerspeichers PMV2 ist. Dieser Wert wird als Differenz-Bewegungsvektor des unteren Abschnitts von MB0 ausgegeben. Der Bewegungsvektor (5, 5)(2) des unteren Abschnitts wird in dem Registerspeicher PMV2 gespeichert. Weiter wird in dem Makroblock MB1 (5, 5)(3) - PMV1 = (0, 4) gewonnen, das die Differenz zwischen dem Bewegungsvektor (5, 5)(3) des oberen Abschnitts und dem Wert (5, 1) des Registerspeichers PMV1 ist. Dieser Wert wird als Differenz-Bewegungsvektor des oberen Abschnitts von MB1 ausgegeben. Der Bewegungsvektor (5, 5)(3) des oberen Abschnitts wird in dem Registerspeicher PMV1 gespeichert. Weiter wird (5, 5)(4) - PMV2 = (0, 0) gewonnen, das die Differenz zwischen dem Bewegungsvektor (5, 5)(4) des unteren Abschnitts des Makroblocks MB1 und dem Wert (5, 5)(2) des Registerspeichers PMV2 ist. Dieser Wert wird als Differenz-Bewegungsvektor des unteren Abschnitts von MB1 ausgegeben. Ähnlich wird in dem Makroblock MB2 (5, 5)(5) - PMV1 = (0, 0) gewonnen, das die Differenz zwischen dem Bewegungsvektor (5, 5)(5) des oberen Abschnitts und dem Wert (5, 5)(3) des Registerspeichers PMV1 ist. Dieser Wert wird als Differenz-Bewegungsvektor des oberen Abschnitts von MB2 ausgegeben. Der Bewegungsvektor (5, 5)(5) des oberen Abschnitts wird in dem Registerspeicher PMV1 gespeichert. Weiter wird (5, 5)(6) - PMV2 = (0, 0) gewonnen, das der Differenz zwischen dem Bewegungsvektor (5, 5)(6) des unteren Abschnitts des Makroblocks MB2 und dem Wert (5, 5)(4) des Registerspeichers PMV2 entspricht. Dieser Wert wird als Differenz-Bewegungsvektor des unteren Abschnitts von MB2 ausgegeben. Der Bewegungsvektor (5, 5)(6) des unteren Abschnitts wird in dem Registerspeicher PMV2 gespeichert.
  • Wie oben festgestellt wurde, hat der Makroblock MB2 kein zu übertragendes Prädiktions- Fehlersignal, und der Bewegungskompensationsmodus usw. ist der gleiche wie bei dem Makroblock unmittelbar vorher. In diesem Fall ist der Makroblock MB2 ein übersprungener Makroblock. Wenn der Makroblock MB2 ein übersprungener Makroblock ist, wird auf der Dekodiererseite der Bewegungsvektor aus dem unmittelbar davor liegenden Makroblock MB1 kopiert.
  • Fig. 8 zeigt die Arbeitsweise auf der Dekodiererseite. In Fig. 8 wird nun angenommen, daß der Differenz-Bewegungsvektor (5, 1)(1) des oberen Abschnitts von Makroblock MB0, der Differenz-Bewegungsvektor (5, 5)(2) des unteren Abschnitts von Makroblock MB0, der Differenz-Bewegungsvektor (0, 4)(3) des oberen Abschnitts von Makroblock MB1 und der Differenz-Bewegungsvektor (0, 0)(4) des unteren Abschnitts von Makroblock MB1 als Differenz- Bewegungsvektoren nach dem Beispiel von Fig. 7 gewonnen werden, und daß der Makroblock MB2 ein übersprungener Makroblock ist. Ferner ist in den Registerspeichern PMV1 und PMV2 von Fig. 6 (d. h. Fig. 3) der Wert (0, 0) gespeichert.
  • In dem Beispiel von Fig. 8 wird in dem Makroblock MB0 der Wert (5, 1)(1) + PMV1 = (5, 1) durch Addieren des Differenz-Bewegungsvektors (5, 1)(1) des oberen Abschnitts und des Anfangswerts (0, O) des Registerspeichers PMV als rekonstruierter Bewegungsvektor gewonnen. Dieser rekonstruierte Bewegungsvektor wird dem Registerspeicher PMV1 zugeführt. fn dem Makroblock MB0 wird der Wert (5, 5)(2) + PMV2 = (5, 5) durch Addieren des Differenz-Bewegungsvektors (5, 5)(2) des unteren Abschnitts und des Anfangswerts (0, 0) des Registerspeichers PMV2 als rekonstruierter Bewegungsvektor gewonnen. Dieser rekonstruierte Bewegungsvektor wird dem Registerspeicher PMV2 zugeführt. Ähnlich wird in dem Makroblock MB1 der wert (0, 4)(3) + PMV1 = (5, 5) durch Addieren des Differenz-Bewegungsvektors (0, 4)(3) des oberen Abschnitts und des rekonstruierten Bewegungsvektors (5, 1) aus dem Registerspeicher PMV1 als rekonstruierter Bewegungsvektor gewonnen. Dieser rekonstruierte Bewegungsvektor wird dem Registerspeicher PMV1 zugeführt. Ferner wird in dem Makroblock MB1 der Wert (0, 0)(4) + PMV2 = (5, 5) durch Addieren des Differenz-Bewegungsvektors (0, 0)(4) des Unteren Abschnitts uhd des rekonstruierten Bewegungsvektors (5, 5) aus dem Registerspeicher PMV2 als rekonstruierter Bewegungsvektor gewonnen. Dieser rekonstruierte Bewegungsvektor wird dem Registerspeicher PMV2 zugeführt. In dem Makroblock MB2 wird, da dieser Makroblock ein übersprungener Makroblock ist, als rekonstruierter Bewegungsvektor in dem oberen Abschnitt der Wert (5, 5)(5) Und in dem unteren Abschnitt der Wert (5, 5)(6) kopiert.
  • Da in dem Beispiel von Fig. 8 der Makroblock MB2 ein übersprungener Makroblock ist, wird der Vektor aus dem Registerspeicher PMV kopiert, und der Bewegungskompensationsmodus wird ebenfalls aus dem unmittelbar davor liegenden Makroblock MB1 kopiert. Wie oben erläutert wurde, ist es bei diesem Ausführungsbeispiel möglich, auch für einen übersprungenen Makroblock einen korrekt rekonstruierten Bewegungsvektor zu gewinnen.
  • Die Vorrichtungen zur Bewegtbildkodierung und zur Bewegtbilddekodierung sind in dieser Weise aufgebaut.
  • Industrielle Anwendbarkeit
  • Gemäß vorliegender Erfindung läßt sich in Vorrichtungen zur prädiktiven Kodierung und Dekodierung von Bewegtbildern mit Bewegungskompensation für den Fall, daß für in Makroblockeinheiten gegebene Bewegungsvektoren ein oder mehrere Bewegungsvektoren existieren, die bei der Vorwärtsprädiktion ein vergangenes Vollbild (Halbbild) als Referenz verwenden, ein oder mehrere Bewegungsvektoren existieren, die bei der Rückwärtsprädiktion ein zukünftiges Vollbild (Halbbild) als Referenz verwenden und ein oder mehrere Vektoren existieren, die sowohl vergangene als auch zukünftige Vollbilder (Halbbilder) als Referenz verwenden, und für den Fall, daß die Zahl der Bewegungsvektoren in den betreffenden Bewegungskompensationsmodi in Makroblockeinheiten variieren, auf der Kodiererseite ein Differenzbestimmungselement aufbauen, das es ermöglicht, Bewegungsvektoren zu Differenz-Bewegungsvektoren zu machen, wobei ein übersprungener Makroblock festgestellt werden kann.
  • Auf der Dekodiererseite läßt sich ein inverses Differenzbestimmungselement zum Rekonstruieren eines Bewegungsvektors aus einem empfangenen Differenz-Bewegungsvektor aufbauen. Es ist für sieses inverse Differenzbestimmungselement kennzeichnend, daß außer den Registerspeichern PMV keine weiteren Registerspeicher vorgesehen sein müssen, um den Bewegungsvektor des unmittelbar vorher verarbeiteten Makroblocks zu halten. Darüber hinaus ist es möglich, auf der Dekodiererseite übersprungene Makroblöcke zu behandeln.
  • In dem oben beschriebenen Fall wird es vorteilhafterweise möglich, durch dieses Verfahren übersprungene Makroblöcke zu behandeln, die beim Stand der Technik nicht behandelt werden konnten. Für einen Makroblock, der ein übersprungener Makroblock ist, überträgt der Kodierer keinerlei Daten. Übersprungene Makroblöcke stellen im Hinblick auf die Verbesserung der Kodiereffizienz eine wichtige Kodiertechnologie dar.
  • So können z. B. selbst dann, wenn ein zu verarbeitendes Bild eine Bewegtbildsequenz ist und sein Inhalt eine Szene bildet, in der Standbilder (oder Bilder mit sehr wenig Bewegung) aufeinanderfolgen, die meisten Makroblöcke als übersprungener Makroblock behandelt werden. Im Extremfall kann das erste Vollbild innerhalb des Bildes ohne Bewegungskompensation für die Übertragung kodiert werden, und der Makroblock aus dem zweiten Vollbild und den darauf folgenden Vollbildern kann fast als übersprungener Makroblock behandelt werden. In diesem Fall ist eine erhebliche Verbesserung der Kodiereffizienz zu erwarten.

Claims (12)

1. Verfahren zum Kodieren eines Makroblock-Bewegungsvektors, der im Vorwärtsprädiktionsmodus, im Rückwärtsprädiktionsmodus oder im bidirektionalen Prädiktionsmodus kodiert ist,
mit den Verfahrensschritten:
Detektieren der Übertragungsreihenfolge der laufenden Bewegungsvektoren einer vorbestimmten Richtung innerhalb eines Makroblocks,
Auswählen eines von L Speichern für Bewegungsvektoren der vorbestimmten Richtung auf der Basis der detektierten Übertragungsreihenfolge, um einen früheren Bewegungsvektor der vorbestimmten Richtung auszulesen, und
Subtrahieren des früheren Bewegungsvektors der vorbestimmten Richtung von dem laufenden Bewegungsvektor der vorbestimmten Richtung, um so sequentiell laufende Diiferenzbewegungsvektoren der vorbestimmten Richtung zu erzeugen.
2. Verfahren zum Kodieren eines Bewegungsvektors nach Anspruch 1,
bei dem die auf der Basis der Übertragungsreihenfolge ausgewählten Speicher sequentiell durch die laufenden Bewegungsvektoren der vorbestimmten Richtung aktualisiert werden.
3. Verfahren zum Kodieren eines Bewegungsvektors nach Anspruch 2,
bei dem für den Fall, daß die Zahl der Übertragung der laufenden Bewegungsvektoren der vorbestimmten Richtung für einen Makroblock kleiner ist als L, die verbleibenden Speicher für Bewegungsvektoren der vorbestimmten Richtung sequentiell durch die laufenden Bewegungsvektoren der vorbestimmten Richtung aktualisiert werden.
4. Verfahren zum Rekonstruieren von Bewegungsvektoren von Makroblöcken, die im Vorwärtsprädiktionsmodus, im Rückwärtsprädiktionsmodus oder im bidirektionalen Prädiktionsmodus kodiert sind,
mit den Verfahrensschritten:
Detektieren der Empfangsreihenfolge von empfangenen Differenzbewegungsvektoren einer vorbestimmten Richtung innerhalb des Makroblocks,
Auswählen eines von L Speichern für Bewegungsvektoren der vorbestimmten Richtung auf der Basis der detektierten Empfangsreihenfolge, um einen rekonstruierten Bewegungsvektor der vorbestimmten Richtung auszulesen, der bereits rekonstruiert ist, und
Addieren der Differenzbewegungsvektoren der vorbestimmten Richtung und des rekonstruierten Bewegungsvektors der vorbestimmten Richtung, der bereits rekonstruiert ist, um so sequentiell neue rekonstruierte Bewegungsvektoren der vorbestimmten Richtung zu erzeugen.
5. Verfahren zum Rekonstruieren von Bewegungsvektoren nach Anspruch 4,
bei dem die auf der Basis der Empfangsreihenfolge ausgewählten Speicher sequentiell durch die neuen Bewegungsvektoren der vorbestimmten Richtung aktualisiert werden.
6. Verfahren zum Rekonstruieren von Bewegungsvektoren nach Anspruch 5,
bei dem für den Fall, daß die Empfangszahl der Differenzbewegungsvektoren der vorbestimmten Richtung für einen Block kleiner ist als L, die verbleibenden Speicher für Bewegungsvektoren der vorbestimmten Richtung sequentiell durch die neuen rekonstruierten Bewegungsvektoren der vorbestimmten Richtung aktualisiert werden.
7. Vorrichtung zum Kodieren eines Makroblock-Bewegungsvektors, der im Vorwärtsprädiktionsmodus, im Rückwärtsprädiktionsmodus oder im bidirektionalen Prädiktionsmodus kodiert ist, mit
einer Anzahl von L Speichern für Bewegungsvektoren einer vorbestimmten Richtung zum Speichern von Bewegungsvektoren der vorbestimmten Richtung,
einer Einrichtung zum Detektieren der Übertragungsreihenfolge der laufenden Bewegungsvektoren einer vorbestimmten Richtung innerhalb eines Makroblocks,
einer Einrichtung zum Auswählen eines der L Speicher für Bewegungsvektoren der vorbestimmten Richtung auf der Basis der detektierten Übertragungsreihenfolge, um einen früheren Bewegungsvektor der vorbestimmten Richtung auszulesen, und
einer Einrichtung zum Subtrahieren des früheren Bewegungsvektors der vorbestimmten Richtung von dem laufenden Bewegungsvektor der vorbestimmten Richtung, um so sequentiell laufende Differenzbewegungsvektoren der vorbestimmten Richtung zu erzeugen.
8. Bewegungsvektorkodiervorrichtung nach Anspruch 7, bei der die auf der Basis der detektierten Übertragungsreihenfolge ausgewählten Speicher sequentiell durch die laufenden Bewegungsvektoren der vorbestimmten Richtung aktualisiert werden.
9. Bewegungsvektorkodiervorrichtung nach Anspruch 8, bei der für den Fall, daß die Zahl der Übertragung der laufenden Bewegungsvektoren der vorbestimmten Richtung für einen Makroblock kleiner ist als L, die verbleibenden Speicher für Bewegungsvektoren der vorbestimmten Richtung sequentiell durch die laufenden Bewegungsvektoren der vorbestimmten Richtung aktualisiert werden.
10. Vorrichtung zum Rekonstruieren von Bewegungsvektoren von Makroblöcken, die im Vorwärtsprädiktionsmodus, im Rückwärtsprädiktionsmodus oder im bidirektionalen Prädiktionsmodus kodiert sind, mit
einer Anzahl von L Speichern für Bewegungsvektoren einer vorbestimmten Richtung zum Speichern von Bewegungsvektoren der vorbestimmten Richtung,
einer Einrichtung zum Detektieren der Empfangsreihenfolge von empfangenen Differenzbewegungsvektoren innerhalb des Makroblocks in einer vorbestimmten Richtung,
einer Einrichtung zum Auswählen eines von L. Speichern für Bewegungsvektoren der vorbestimmten Richtung auf der Basis der detektierten Empfangsreihenfolge, um einen rekonstruierten Bewegungsvektor der vorbestimmten Richtung auszulesen, der bereits rekonstruiert ist,
einer Einrichtung zum Addieren der Differenzbewegungsvektoren der vorbestimmten Richtung und des rekonstruierten Bewegungsvektors der vorbestimmten Richtung, der bereits rekonstruiert ist, um so sequentiell neue rekonstruierte Bewegungsvektoren der vorbestimmten Richtung zu erzeugen.
11. Vorrichtung zum Rekonstruieren von Bewegungsvektoren nach Anspruch 10,
bei der die auf der Basis der Empfangsreihenfolge ausgewählten Speicher sequentiell durch die neuen Bewegungsvektoren der vorbestimmten Richtung aktualiisiert werden.
12. Vorrichtung zum Rekonstruieren von Bewegungsvektoren nach Anspruch 11,
bei der für den Fall, daß die Empfangszahl der Differenzbewegungsvektoren der vorbestimmten Richtung für einen Makroblock kleiner ist als L, die verbleibenden Speicher für Bewegungsvektoren der vorbestimmten Richtung sequentiell aktualisiert werden.
DE69428019T 1993-03-24 1994-03-24 Verfahren und vorrichtung zur kodierung/dekodierung von bewegungsvektoren, und verfahren und vorrichtung zur kodierung/dekodierung von bildsignalen Expired - Lifetime DE69428019T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP6568993 1993-03-24
JP12468693 1993-04-30
PCT/JP1994/000473 WO1994022269A1 (en) 1993-03-24 1994-03-24 Method and apparatus for coding/decoding motion vector, and method and apparatus for coding/decoding image signal

Publications (2)

Publication Number Publication Date
DE69428019D1 DE69428019D1 (de) 2001-09-27
DE69428019T2 true DE69428019T2 (de) 2002-05-29

Family

ID=26406823

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69428019T Expired - Lifetime DE69428019T2 (de) 1993-03-24 1994-03-24 Verfahren und vorrichtung zur kodierung/dekodierung von bewegungsvektoren, und verfahren und vorrichtung zur kodierung/dekodierung von bildsignalen

Country Status (13)

Country Link
US (3) US5701164A (de)
EP (4) EP2375753B1 (de)
JP (4) JP3393234B2 (de)
KR (1) KR100308099B1 (de)
CN (2) CN1075323C (de)
AT (1) ATE204691T1 (de)
AU (2) AU673250B2 (de)
CA (1) CA2118118C (de)
DE (1) DE69428019T2 (de)
DK (1) DK0651574T3 (de)
ES (4) ES2431289T3 (de)
PT (4) PT2334083E (de)
WO (1) WO1994022269A1 (de)

Families Citing this family (123)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19509418A1 (de) * 1995-03-16 1996-09-19 Thomson Brandt Gmbh Verfahren und Schaltungsanordnung zur Unterabtastung bei Bewegungsschätzung
JPH09182083A (ja) * 1995-12-27 1997-07-11 Matsushita Electric Ind Co Ltd ビデオ画像符号化方法及び復号化方法とその装置
DE19603808C1 (de) * 1996-02-02 1997-04-17 Siemens Ag Anordnung und Verfahren zur Codierung und Decodierung von mit einem blockbasierten Codierungsverfahren codierten Bildern
TW312770B (en) * 1996-10-15 1997-08-11 Japen Ibm Kk The hiding and taking out method of data
KR100413153B1 (ko) * 1996-12-12 2003-12-31 마쯔시다덴기산교 가부시키가이샤 화상 부호화 장치, 화상 복호화 장치 및 기록 매체
US5870146A (en) * 1997-01-21 1999-02-09 Multilink, Incorporated Device and method for digital video transcoding
GB9703470D0 (en) 1997-02-19 1997-04-09 Thomson Consumer Electronics Trick play reproduction of MPEG encoded signals
US6185340B1 (en) * 1997-02-18 2001-02-06 Thomson Licensing S.A Adaptive motion vector control
US6018368A (en) * 1997-07-11 2000-01-25 Samsung Electro-Mechanics Co., Ltd. Scalable encoding apparatus and method with improved function of scaling motion vector
JPH11275587A (ja) * 1998-03-20 1999-10-08 Pioneer Electron Corp 動きベクトル生成装置、画像符号化装置、動きベクトル生成方法及び画像符号化方法
US6501799B1 (en) * 1998-08-04 2002-12-31 Lsi Logic Corporation Dual-prime motion estimation engine
US6563953B2 (en) 1998-11-30 2003-05-13 Microsoft Corporation Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock
US6983018B1 (en) 1998-11-30 2006-01-03 Microsoft Corporation Efficient motion vector coding for video compression
US6499060B1 (en) * 1999-03-12 2002-12-24 Microsoft Corporation Media coding for loss recovery with remotely predicted data units
FR2813001B1 (fr) * 2000-08-11 2002-12-20 Thomson Multimedia Sa Procede de conversion de format couleur d'une sequence d'images
US6700934B2 (en) 2001-03-14 2004-03-02 Redrock Semiconductor, Ltd. Error detection using a maximum distance among four block-motion-vectors in a macroblock in a corrupted MPEG-4 bitstream
US7602847B1 (en) * 2001-03-27 2009-10-13 Vixs Systems, Inc. Device and method for compression of a video stream
US8107524B2 (en) * 2001-03-30 2012-01-31 Vixs Systems, Inc. Adaptive bandwidth footprint matching for multiple compressed video streams in a fixed bandwidth network
US20070053428A1 (en) * 2001-03-30 2007-03-08 Vixs Systems, Inc. Managed degradation of a video stream
KR100378795B1 (ko) * 2001-04-02 2003-04-03 엘지전자 주식회사 동영상에서 b픽쳐의 신축적인 다이렉트 모드 코딩 방법
GB2374479B (en) * 2001-04-12 2005-05-04 Snell & Wilcox Ltd Video signal processing
FR2824988B1 (fr) * 2001-05-21 2003-08-01 Thomson Licensing Sa Procede et dispositif de codage video utilisant la norme mpeg4
AU2002314902A1 (en) * 2001-06-02 2002-12-16 Polycom, Inc. System and method for point to point integration of personal computers with videoconferencing systems
US6959348B1 (en) * 2001-07-30 2005-10-25 Vixs Systems, Inc. Method and system for accessing data
US7675972B1 (en) 2001-07-30 2010-03-09 Vixs Systems, Inc. System and method for multiple channel video transcoding
US20030039226A1 (en) * 2001-08-24 2003-02-27 Kwak Joseph A. Physical layer automatic repeat request (ARQ)
US7139330B1 (en) 2001-10-31 2006-11-21 Vixs Systems, Inc. System for signal mixing and method thereof
US7596127B1 (en) 2001-10-31 2009-09-29 Vixs Systems, Inc. System for allocating data in a communications system and method thereof
KR100973374B1 (ko) * 2001-11-06 2010-07-30 파나소닉 주식회사 복호화 시스템
US7106715B1 (en) 2001-11-16 2006-09-12 Vixs Systems, Inc. System for providing data to multiple devices and method thereof
US7403564B2 (en) * 2001-11-21 2008-07-22 Vixs Systems, Inc. System and method for multiple channel video transcoding
US7356079B2 (en) * 2001-11-21 2008-04-08 Vixs Systems Inc. Method and system for rate control during video transcoding
WO2003047272A2 (en) * 2001-11-21 2003-06-05 General Instrument Corporation Macroblock level adaptive frame/field coding for digital video content
US7165180B1 (en) 2001-11-27 2007-01-16 Vixs Systems, Inc. Monolithic semiconductor device for preventing external access to an encryption key
JP4610195B2 (ja) 2001-12-17 2011-01-12 マイクロソフト コーポレーション スキップマクロブロックコード化
JP4150742B2 (ja) * 2002-01-09 2008-09-17 松下電器産業株式会社 動きベクトル復号化方法
JP4114859B2 (ja) 2002-01-09 2008-07-09 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
CN100581259C (zh) * 2002-01-09 2010-01-13 松下电器产业株式会社 移动向量编码方法和移动向量编码装置
US6690307B2 (en) * 2002-01-22 2004-02-10 Nokia Corporation Adaptive variable length coding of digital video
US7003035B2 (en) 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
KR101108661B1 (ko) * 2002-03-15 2012-01-25 노키아 코포레이션 비디오 시퀀스에서의 움직임 부호화 방법
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
JP4130783B2 (ja) * 2002-04-23 2008-08-06 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
US7310679B1 (en) 2002-04-29 2007-12-18 Vixs Systems Inc. Method and system for transmitting video content while preventing other transmissions in a contention-based network
US7120253B2 (en) * 2002-05-02 2006-10-10 Vixs Systems, Inc. Method and system for protecting video data
US7072402B2 (en) * 2002-05-13 2006-07-04 General Instrument Corporation Methods and apparatus for dynamically adjusting f-codes for a digital picture header
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
CA2450309C (en) 2002-07-02 2012-08-21 Shinya Kadono Motion vector derivation method, moving picture coding method and moving picture decoding method
US7280700B2 (en) 2002-07-05 2007-10-09 Microsoft Corporation Optimization techniques for data compression
KR100865034B1 (ko) 2002-07-18 2008-10-23 엘지전자 주식회사 모션 벡터 예측 방법
US7154952B2 (en) 2002-07-19 2006-12-26 Microsoft Corporation Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures
JP4007594B2 (ja) * 2002-09-26 2007-11-14 株式会社東芝 動画像符号化装置及び方法、動画像符号化方式変換装置及び方法
KR100522595B1 (ko) * 2002-11-29 2005-10-19 삼성전자주식회사 엠펙 비디오 복호화방법 및 엠펙 비디오 복호화기
JP4003128B2 (ja) * 2002-12-24 2007-11-07 ソニー株式会社 画像データ処理装置および方法、記録媒体、並びにプログラム
US7408989B2 (en) * 2003-01-16 2008-08-05 Vix5 Systems Inc Method of video encoding using windows and system thereof
US20040141555A1 (en) * 2003-01-16 2004-07-22 Rault Patrick M. Method of motion vector prediction and system thereof
US7327784B2 (en) * 2003-02-24 2008-02-05 Vixs Systems, Inc. Method and system for transcoding video data
US7606305B1 (en) 2003-02-24 2009-10-20 Vixs Systems, Inc. Method and system for transcoding video data
US7133452B1 (en) 2003-02-24 2006-11-07 Vixs Systems, Inc. Method and system for transcoding video data
US7130350B1 (en) 2003-02-28 2006-10-31 Vixs Systems, Inc. Method and system for encoding and decoding data in a video stream
US7739105B2 (en) * 2003-06-13 2010-06-15 Vixs Systems, Inc. System and method for processing audio frames
US7499493B2 (en) * 2003-06-20 2009-03-03 Lsi Corporation Dual block motion vector storage in compressed form
US20050013496A1 (en) * 2003-07-16 2005-01-20 Bruls Wilhelmus Hendrikus Alfonsus Video decoder locally uses motion-compensated interpolation to reconstruct macro-block skipped by encoder
US7499495B2 (en) 2003-07-18 2009-03-03 Microsoft Corporation Extended range motion vectors
US7609763B2 (en) 2003-07-18 2009-10-27 Microsoft Corporation Advanced bi-directional predictive coding of video frames
US7426308B2 (en) 2003-07-18 2008-09-16 Microsoft Corporation Intraframe and interframe interlace coding and decoding
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
US7567617B2 (en) 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
US7724827B2 (en) 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7577200B2 (en) 2003-09-07 2009-08-18 Microsoft Corporation Extended range variable length coding/decoding of differential motion vector information
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
US7317839B2 (en) 2003-09-07 2008-01-08 Microsoft Corporation Chroma motion vector derivation for interlaced forward-predicted fields
US7606308B2 (en) 2003-09-07 2009-10-20 Microsoft Corporation Signaling macroblock mode information for macroblocks of interlaced forward-predicted fields
US8064520B2 (en) 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US7092576B2 (en) * 2003-09-07 2006-08-15 Microsoft Corporation Bitplane coding for macroblock field/frame coding type 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
US7599438B2 (en) 2003-09-07 2009-10-06 Microsoft Corporation Motion vector block pattern coding and decoding
US7277101B2 (en) 2003-09-29 2007-10-02 Vixs Systems Inc Method and system for scaling images
US7668396B2 (en) * 2003-09-29 2010-02-23 Vixs Systems, Inc. Method and system for noise reduction in an image
US20050117639A1 (en) * 2003-10-24 2005-06-02 Turaga Deepak S. Optimal spatio-temporal transformations for reduction of quantization noise propagation effects
US7346111B2 (en) * 2003-12-10 2008-03-18 Lsi Logic Corporation Co-located motion vector storage
US20050169376A1 (en) * 2004-01-30 2005-08-04 Pai Ramadas L. Motion vector address computer error detection
US7406598B2 (en) * 2004-02-17 2008-07-29 Vixs Systems Inc. Method and system for secure content distribution
TWI268715B (en) * 2004-08-16 2006-12-11 Nippon Telegraph & Telephone Picture encoding method, picture decoding method, picture encoding apparatus, and picture decoding apparatus
US8861601B2 (en) 2004-08-18 2014-10-14 Qualcomm Incorporated Encoder-assisted adaptive video frame interpolation
US8634413B2 (en) 2004-12-30 2014-01-21 Microsoft Corporation Use of frame caching to improve packet loss recovery
US7421048B2 (en) * 2005-01-20 2008-09-02 Vixs Systems, Inc. System and method for multimedia delivery in a wireless environment
US7609766B2 (en) * 2005-02-08 2009-10-27 Vixs Systems, Inc. System of intra-picture complexity preprocessing
US8949920B2 (en) * 2005-03-17 2015-02-03 Vixs Systems Inc. System and method for storage device emulation in a multimedia processing system
US7400869B2 (en) * 2005-03-22 2008-07-15 Vixs Systems Inc. System and method for adaptive DC offset compensation in wireless transmissions
US9077960B2 (en) 2005-08-12 2015-07-07 Microsoft Corporation Non-zero coefficient block pattern coding
US20070064809A1 (en) * 2005-09-14 2007-03-22 Tsuyoshi Watanabe Coding method for coding moving images
US7707485B2 (en) 2005-09-28 2010-04-27 Vixs Systems, Inc. System and method for dynamic transrating based on content
US20070112826A1 (en) * 2005-11-10 2007-05-17 Vixs Systems, Inc. Multimedia transcoding based on remaining storage capacity
US8131995B2 (en) * 2006-01-24 2012-03-06 Vixs Systems, Inc. Processing feature revocation and reinvocation
CN101543053B (zh) * 2007-02-07 2011-07-06 索尼株式会社 图像处理设备,成像设备,图像处理方法
US8254455B2 (en) 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
JP4325708B2 (ja) * 2007-07-05 2009-09-02 ソニー株式会社 データ処理装置、データ処理方法およびデータ処理プログラム、符号化装置、符号化方法および符号化プログラム、ならびに、復号装置、復号方法および復号プログラム
US8184715B1 (en) * 2007-08-09 2012-05-22 Elemental Technologies, Inc. Method for efficiently executing video encoding operations on stream processor architectures
US8121197B2 (en) 2007-11-13 2012-02-21 Elemental Technologies, Inc. Video encoding and decoding using parallel processors
US7925774B2 (en) 2008-05-30 2011-04-12 Microsoft Corporation Media streaming using an index file
KR101377660B1 (ko) * 2008-09-30 2014-03-26 에스케이텔레콤 주식회사 복수 개의 움직임 벡터 추정을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
US8189666B2 (en) 2009-02-02 2012-05-29 Microsoft Corporation Local picture identifier and computation of co-located information
US20100232511A1 (en) * 2009-03-12 2010-09-16 Himax Media Soltuions, Inc. Motion compensator, motion compensating method, and motion-compensated video decoder implementing the same
US9100656B2 (en) * 2009-05-21 2015-08-04 Ecole De Technologie Superieure Method and system for efficient video transcoding using coding modes, motion vectors and residual information
KR101452859B1 (ko) 2009-08-13 2014-10-23 삼성전자주식회사 움직임 벡터를 부호화 및 복호화하는 방법 및 장치
US8861879B2 (en) * 2009-09-17 2014-10-14 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding image based on skip mode
PL3923579T3 (pl) 2010-11-25 2023-05-02 Lg Electronics Inc. Sposób sygnalizacji informacji o obrazie i sposób dekodowania informacji o obrazie z jego wykorzystaniem
US11284081B2 (en) 2010-11-25 2022-03-22 Lg Electronics Inc. Method for signaling image information, and method for decoding image information using same
US9490839B2 (en) 2011-01-03 2016-11-08 Qualcomm Incorporated Variable length coding of video block coefficients
US9516316B2 (en) 2011-06-29 2016-12-06 Qualcomm Incorporated VLC coefficient coding for large chroma block
US9338456B2 (en) 2011-07-11 2016-05-10 Qualcomm Incorporated Coding syntax elements using VLC codewords
US9571833B2 (en) 2011-11-04 2017-02-14 Nokia Technologies Oy Method for coding and an apparatus
JP5748225B2 (ja) * 2012-01-26 2015-07-15 日本電信電話株式会社 動画像符号化方法,動画像符号化装置および動画像符号化プログラム
US9774881B2 (en) 2014-01-08 2017-09-26 Microsoft Technology Licensing, Llc Representing motion vectors in an encoded bitstream
US9749642B2 (en) 2014-01-08 2017-08-29 Microsoft Technology Licensing, Llc Selection of motion vector precision
US9942560B2 (en) 2014-01-08 2018-04-10 Microsoft Technology Licensing, Llc Encoding screen capture data
KR102338364B1 (ko) * 2017-09-12 2021-12-10 삼성전자주식회사 움직임 정보의 부호화 및 복호화 방법, 및 움직임 정보의 부호화 및 복호화 장치
CN113170131A (zh) * 2018-10-11 2021-07-23 Lg电子株式会社 变换系数编码方法及其装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR910009092B1 (ko) * 1988-02-29 1991-10-28 미쯔비시덴끼 가부시끼가이샤 프레임간의 벡터 양자화 부호화 및 복호화 장치
JPH0666948B2 (ja) * 1988-02-29 1994-08-24 三菱電機株式会社 フレーム間ベクトル量子化符号化復号化装置
US5194950A (en) * 1988-02-29 1993-03-16 Mitsubishi Denki Kabushiki Kaisha Vector quantizer
DE69033797T2 (de) * 1989-10-14 2002-04-18 Sony Corp., Tokio/Tokyo Verfahren und Anordnung zum Kodieren/Dekodieren eines Videosignales
EP0484140B1 (de) * 1990-10-31 1996-12-18 Victor Company Of Japan, Ltd. Verfahren zur Kompression von bewegten Bildsignalen nach dem Zeilensprungverfahren
US5455629A (en) * 1991-02-27 1995-10-03 Rca Thomson Licensing Corporation Apparatus for concealing errors in a digital video processing system
US5317397A (en) * 1991-05-31 1994-05-31 Kabushiki Kaisha Toshiba Predictive coding using spatial-temporal filtering and plural motion vectors
US5210605A (en) * 1991-06-11 1993-05-11 Trustees Of Princeton University Method and apparatus for determining motion vectors for image sequences
TW245871B (en) * 1994-08-15 1995-04-21 Gen Instrument Corp Method and apparatus for efficient addressing of dram in a video decompression processor

Also Published As

Publication number Publication date
JP2003179935A (ja) 2003-06-27
EP1098529B1 (de) 2013-10-16
EP2375753B1 (de) 2013-09-11
US5701164A (en) 1997-12-23
ES2430060T3 (es) 2013-11-18
EP0651574B1 (de) 2001-08-22
JP3614160B2 (ja) 2005-01-26
PT651574E (pt) 2002-02-28
CA2118118C (en) 2004-02-24
JP3393234B2 (ja) 2003-04-07
JP3381169B2 (ja) 2003-02-24
EP1098529A3 (de) 2008-10-29
EP2375753A1 (de) 2011-10-12
PT2375753E (pt) 2013-10-21
AU700535B2 (en) 1999-01-07
EP1098529A2 (de) 2001-05-09
EP0651574A1 (de) 1995-05-03
US5946042A (en) 1999-08-31
KR950701487A (ko) 1995-03-23
ES2159553T3 (es) 2001-10-16
WO1994022269A1 (en) 1994-09-29
JP2001204033A (ja) 2001-07-27
AU6558496A (en) 1996-11-07
ES2431289T3 (es) 2013-11-25
PT1098529E (pt) 2013-11-25
CN1349354A (zh) 2002-05-15
DE69428019D1 (de) 2001-09-27
CN1251513C (zh) 2006-04-12
ATE204691T1 (de) 2001-09-15
EP2334083B1 (de) 2013-08-28
EP2334083A1 (de) 2011-06-15
JP3614159B2 (ja) 2005-01-26
KR100308099B1 (ko) 2001-12-01
CN1106199A (zh) 1995-08-02
PT2334083E (pt) 2013-09-30
EP0651574A4 (de) 1998-06-17
CN1075323C (zh) 2001-11-21
US6040863A (en) 2000-03-21
CA2118118A1 (en) 1994-09-25
AU673250B2 (en) 1996-10-31
AU6291294A (en) 1994-10-11
DK0651574T3 (da) 2001-10-08
JP2003179934A (ja) 2003-06-27
ES2438184T3 (es) 2014-01-16

Similar Documents

Publication Publication Date Title
DE69428019T2 (de) Verfahren und vorrichtung zur kodierung/dekodierung von bewegungsvektoren, und verfahren und vorrichtung zur kodierung/dekodierung von bildsignalen
DE69530336T2 (de) Bewegungskompensation für digitale Videosignale mit Zeilensprung
DE69123705T2 (de) Verfahren zur Kompression von bewegten Bildsignalen nach dem Zeilensprungverfahren
DE69327375T2 (de) Verfahren und Vorrichtung zur Wiederherstellung von Bilddaten
DE69630173T2 (de) Übertragungssystem und -einrichtung für sich bewegende Bilder
DE69232993T2 (de) Prädiktives Videokodierungssystem
DE69313692T2 (de) Kodierung und Dekodierung zur Videokompression mit automatischer Halbbild/Bild Bewegungskompensation auf der Subpixelebene
DE69418525T2 (de) Bildsignalkodierung mit hoher Wirksamkeit
DE69433272T2 (de) Vorrichtung zum Vermeiden von Rundungsfehlern bei der inversen Transformation von Transformationskoeffizienten eines Bewegtbildsignales
DE69817460T2 (de) Bildsequenzdekodierungsverfahren
DE69620160T2 (de) Bildkodierungsgerät und Bilddekodierungsgerät
DE69414899T2 (de) Bildsignalverarbeitung
DE69223560T2 (de) Einrichtung zur Verminderung von Quantisierungsstörungen in einem Zwischenbild-Hybrid-Kodierungssystem mit Bewegungskompensation
DE69738264T2 (de) Videokodierungs- und Videodekodierungsvorrichtung
DE69131438T2 (de) Adaptive Bewegungskompensation für das digitale Fernsehen
DE69031045T2 (de) Einrichtung zur adaptiven Zwischenbild-Prädiktionsdekodierung eines Videosignals
DE69620094T2 (de) Videokodierungsvorrichtung
DE69803195T2 (de) Codeumsetzung
DE69324993T2 (de) Verfahren und Vorrichtung zum Quantisieren und Dequantisieren von Bildsignalen
DE69323156T2 (de) Bilddatenkomprimierungs/Dekomprimierungssystem
DE69417480T2 (de) Bestimmung von Bewegungsvektoren in einem Videokodierer mit Bilddezimation
DE69632232T2 (de) Verfahren und Vorrichtung zur Komprimierung von Videoinformationen mit bewegungsabhängiger Prädiktion
DE69226127T2 (de) Effiziente Kodierungs- und Dekodierungsanordnungen zur Verarbeitung eines digitalen Bildsignals
DE69329983T2 (de) Bildverarbeitungsverfahren und -vorrichtung
DE69424740T2 (de) Methode zur kodierung zeitveränderlicher bilder und apparat zur kodierung/dekodierung

Legal Events

Date Code Title Description
8363 Opposition against the patent
8365 Fully valid after opposition proceedings