DE69632232T2 - Verfahren und Vorrichtung zur Komprimierung von Videoinformationen mit bewegungsabhängiger Prädiktion - Google Patents

Verfahren und Vorrichtung zur Komprimierung von Videoinformationen mit bewegungsabhängiger Prädiktion Download PDF

Info

Publication number
DE69632232T2
DE69632232T2 DE69632232T DE69632232T DE69632232T2 DE 69632232 T2 DE69632232 T2 DE 69632232T2 DE 69632232 T DE69632232 T DE 69632232T DE 69632232 T DE69632232 T DE 69632232T DE 69632232 T2 DE69632232 T2 DE 69632232T2
Authority
DE
Germany
Prior art keywords
prediction
block
blocks
field
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
DE69632232T
Other languages
English (en)
Other versions
DE69632232D1 (de
Inventor
Wai-Man Lam
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.)
Technicolor USA Inc
Original Assignee
Thomson Consumer Electronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson Consumer Electronics Inc filed Critical Thomson Consumer Electronics Inc
Application granted granted Critical
Publication of DE69632232D1 publication Critical patent/DE69632232D1/de
Publication of DE69632232T2 publication Critical patent/DE69632232T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/112Selection of coding mode or of prediction mode according to a given display mode, e.g. for interlaced or progressive display mode
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search

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 vorliegende Erfindung betrifft das Gebiet der digitalen Bildsignalverarbeitung und insbesondere ein Verfahren und eine Vorrichtung zum Komprimieren von Videoinformationen, die aus mehreren bewegungsabhängigen Prädiktionen ausgewählt werden.
  • Videoinformationsübertragungssysteme verwenden Videokomprimierung zur Verringerung der Menge an übertragenen Videodaten. Dadurch kann weniger Übertragungsbandbreite, Übertragungszeit und Speicherkapazität benutzt werden. Eine häufig verwendete Technik zum Komprimieren von Videoinformationen, die zum Beispiel in einem Fernsehsignal enthalten sind, verringert redundante zeitliche Bildinformationen, die in sukzessiven Bildern einer Bildsequenz auftreten. Redundante zeitliche Bildinformationen sind Informationen, die statischen Bildsegmenten zugeordnet sind, oder Bildsegmenten, die zwischen sukzessiven Bildern lediglich eine Verschiebung erfahren. Diese Bildsegmente werden identifiziert und so codiert, daß die redundanten zeitlichen Bildinformationen zum großen Teil aus den übertragenen Videodaten eliminiert sind. Die übertragenen Videodaten werden entsprechend codiert, um eine Rekonstruktion eines Bildes aus anderen übertragenen Bildern und die Einfügung dieser codierten Bildsegmente im Empfänger zu ermöglichen. Diese Technik der Komprimierung zeitlicher Informationen erfordert, daß der Grad an Bewegung, der für konstituierende Blöcke eines Bildes relativ zu anderen vorherigen oder nachfolgenden Bildern auftritt, abgeschätzt wird. Mit diesen Bewegungsschätzungen, die als Bewegungsvektoren bezeichnet werden, werden die Videodaten so codiert, daß aus vergangenen oder zukünftigen Bildern ein Bild prädiziert werden kann. Dieser Vorgang wird als bewegungskompensierte Prädiktion bezeichnet und ist wohl bekannt.
  • Ein häufig verwendeter Videokomprimierungsstandard, der bewegungskompensierte Prädiktion verwendet, ist der Bildcodierungsstandard MPEG (Moving Pictures Expert Group) (ISO/IEC 13818-2, 10.5.1994). In diesem Format codierte Videodaten bestehen aus einer zyklischen Sequenz sukzessiver Bilder oder Einzelbilder codierter Daten. Bestimmte Bilder (I-Bilder) werden intracodiert, d.h. nur aus Informationen innerhalb des Bildes selbst codiert. Andere Bilder (P-Bilder) werden vorwärts prädiktiv codiert, d.h. unter Verwendung bewegungskompensierter Prädiktion aus vergangenen I-Bildern oder P-Bildern codiert. Die übrigen Bilder (B-Bilder) werden sowohl vorwärts- als auch rückwärts prädiktiv codiert, d.h. sie werden unter Verwendung bewegungskompensierter Prädiktion aus vergangenen oder zukünftigen I-Bildern oder P-Bildern codiert. P- und B-Bilder werden deshalb prädiktiv so codiert, daß die Bildwiedergabe aus P- oder B-Bildern aus vorherigen decodierten I- oder P-Bildern abgeleitete Informationen erfordert. Im Gegensatz dazu werden I-Bilder nicht prädiktiv codiert und Bilder können aus einzelnen I-Bildern oder Einzelbildern reproduziert werden.
  • Es müssen viele Bewegungsvektoren berechnet werden, um die komprimierten, prädiktiv codierten MPEG-P- und- B-Bilder zu bilden. Dies stellt ein Problem dar, da die Bewegungsvektorberechnung eine zeitaufwendige und rechenintensive Aufgabe ist. Folglich ist kostspielige und komplexe Hardware erforderlich, um die zur Erzeugung der übertragenen komprimierten Videodaten notwendigen Bewegungsvektorberechnungen durchzuführen.
  • Aus US 5,412,435 ist die Bewegungsschätzung an verschiedenen Feldern, einschließlich Nahfeld- und Fernfeldbewegungsschätzung, bekannt. Aus dieser Literaturstelle ist außerdem bekannt, die Anzahl von Bewegungsvektorberechnungen zu reduzieren, indem erst ein Bewegungsschätzungstyp verwendet und dann das Ergebnis zur Durchführung einer Startpositionsableitung für die anderen Bewegungsschätzungen verwendet wird. Die Anzahl von Bewegungsvektorberechnungen ist jedoch immer noch relativ groß.
  • Ein offengelegtes Videosignalkomprimierungssystem gemäß den Prinzipien der vorliegenden Erfindung führt auf Bewegungsvektoren basierende Prädiktionen unter Verwendung einer verringerten Anzahl von Bewegungsvektorberechnungen durch. Das offengelegte Videosignalkomprimierungssystem berechnet einen oder mehrere Bewegungsvektoren und extrapoliert den Rest der erforderlichen Bewegungsvektorwerte aus diesen anfänglichen berechneten Werten. Extrapolierte Bewegungsvektoren werden durch zeitliches Skalieren anfänglich berechneter Bewegungsvektorwerte berechnet.
  • Bildrepräsentative MPEG-kompatible Videoeingangsdaten werden in Eingangspixelblöcke umgesetzt. Für einen ersten Eingangspixelblock werden Kandidaten-Prädiktionsblöcke in einem ersten Feld und zugeordnete Bewegungsvektoren durch Verwendung einer Blockvergleichssuche bestimmt. Aus den zugeordneten Bewegungsvektoren werden weitere Bewegungsvektoren extrapoliert und zur Identifizierung weiterer Kandidaten-Prädiktionsblöcke in einem zweiten Feld verwendet. Das Verfahren der Berechnung dieser Bewegungsvektoren hängt von der Bewegungsvektorparität zuvor prädizierter Pixelblöcke, die dem ersten Eingangspixelblock benachbart sind, ab. Die Kandidaten-Prädiktionsblöcke werden miteinander verglichen und einer der Blöcke wird ausgewählt. Der ausgewählte Block wird komprimiert, um einen Ausgangsblock zu erhalten, der zu einem Datenpaket formatiert wird, um die komprimierten Videoaungangsdaten zu erhalten.
  • Gemäß einem Merkmal der Erfindung wird eine Vorrichtung zur Bereitstellung komprimierter Videoausgangsblöcke an einem Ausgangsanschluß unter Verwendung von Bewegungsvektorextrapolation offengelegt.
  • Kurze Beschreibung der Zeichnungen
  • Es zeigen:
  • 1 die relevanten Feldbeziehungen bei Bewegungsvektoren derselben Feldparität (SFP) und entgegengesetzten Feldparität (FP).
  • 2 den linken und oberen Makroblock eines Bildes, das decodiert werden soll, wofür alle notwendigen Bewegungsvektoren berechnet werden.
  • 3 zeigt einen Zustand, in dem der Block oberhalb (TB) eines aktuellen Makroblocks (CM) und ein Block links (LB) eines aktuellen Makroblocks in einem zu codierenden Bild dieselbe Feldparität aufweisen.
  • 4 zeigt den Zustand, wodurch der Block oberhalb (TB) eines aktuellen Makroblocks und ein Block links (LB) eines aktuellen Makroblocks in einem zu codierenden Bild gemischte Feldparität aufweisen.
  • 5-6 ein Flußdiagramm gemäß der Erfindung, das ein Verfahren zur Bestimmung der besten prädizierten Makroblöcke für die Komprimierung unter Verwendung einer reduzierten Anzahl von Bewegungsvektorberechnungen darstellt.
  • 7 eine in dem Flußdiagramm von 5-6 verwendete Bewegungsvektorskalierung.
  • 8 einen Perturbationssuchprozeß, der verwendet wird, um die geschätzten Bewegungsvektorwerte in dem Flußdiagramm von 5-6 zu verfeinern.
  • 9 ein Flußdiagramm gemäß der Erfindung zur Bestimmung des besten Einzelbild-prädizierten Makroblocks und des zugeordneten Bewegungsvektors MV1.
  • 10 eine MPEG-kompatible Codierervorrichtung gemäß den Prinzipien der vorliegenden Erfindung.
  • Der MPEG-Standard läßt verschiedene Methoden zur prädiktiven Codierung der P- und B-Bilder zu. Jede dieser Methoden erfordert die Berechnung von Bewegungsvektoren. Das prädiktiv zu codierende Bild wird in Blöcke (aktuelle Blöcke) unterteilt und die Blöcke werden blockweise unter Verwendung der berechneten Bewegungsvektoren prädiziert. Im MPEG-Standard werden die Blöcke als Makroblöcke bezeichnet und weisen eine ausgewiesene Größe von 16 × 16 Bildelementen (Pixel) auf. Für jeden gerade prädizierten Makroblock können mehrere Kandidaten-Prädiktionsmakroblöcke gebildet werden, indem zum Beispiel eine auf Einzelbildern basierende, eine auf Feldern basierende und eine „Doppelprim"-Codierung verwendet wird. Aus diesen zu komprimierenden und übertragenden Kandidaten-Prädiktionsmakroblöcken wird die beste Prädiktion für einen bestimmten aktuellen Makroblock (CM) ausgewählt.
  • Der Abschnitt 7.6.3.3 und die Tabellen 7–9, 7–10 des MPEG-Standards definieren 5 verschiedene Bewegungsvektoren, die berechnet werden können, um die Kandidaten-P-Bildmakroblockprädiktionen zu bilden, und 10 verschiedene Bewegungsvektoren für die Kandidaten-B-Bild-Makroblockprädiktionen (MPEG-Bildcodierungsstandard, IS/IEC 13818-2, 10.5.1994). Bei der B-Bildprädiktion werden die 5 P-Bildprädiktionsbewegungsvektoren nicht nur in der Vorwärtsprädiktionsrichtung angewandt, sondern auch in der Rückwärtsprädiktionsrichtung. Die Prinzipien der Erfindung, die beschrieben werden sollen, gelten für die 10 B-Bildbewegungsvektoren und der Einfachheit halber wird nur P-Bildprädiktion beschrieben.
  • Die 5 P-Bildbewegungsvektoren werden nachfolgend identifiziert. Die Feldbeziehungen der Feldbewegungsvektoren MV2-MV5 sind in 1 dargestellt. Die Bewegungsvektoren MV2 und MV3 weisen die gleiche Feldparität (SFP) auf, da sie Vektoren zwischen demselben Feld verschiedener Einzelbilder sind, und jeder Vektor wird als ein Gleichfeldparitätsbewegungsvektor (SFPMV) bezeichnet. Die Bewegungsvektoren MV4 und MV5 weisen entgegengesetzte Feldparität (FP) auf, da sie Vektoren zwischen verschiedenen Feldern verschiedener Einzelbilder sind, wie in 1 dargestellt, und jeder Vektor wird als ein Gegenfeldparitätsbewegungsvektor (FPMV) bezeichnet.
  • MV1 Einzelbildbewegungsvektor aus dem gerade zu dem gespeicherten Bild codierten Bild.
    MV2 Bewegungsvektor aus Feld 1 (f1) des gerade codierten Bildes zu Feld 1 (f1) des gespeicherten Bildes (ein SFPMV).
    MV3 Bewegungsvektor aus Feld 2 (f2) des gerade codierten Bildes zu Feld 2 (f2) des gespeicherten Bildes (ein SFPMV).
    MV4 Bewegungsvektor aus Feld 2 (f2) des gerade codierten Bildes zu Feld 1 (f1) des gespeicherten Bildes (ein FPMV).
    MV5 Bewegungsvektor aus Feld 1 (f1) des gerade codierten Bildes zu Feld 2 (f2) des gespeicherten Bildes (ein FPMV).
  • 5-6 zeigen ein Verfahren gemäß der Erfindung zur Erzeugung eines besten prädizierten Makroblocks für jeden aktuellen Makroblock eines Einzelbildes. Dies geschieht durch Verwendung einer reduzierten Anzahl von Berechnungen, um die erforderlichen Bewegungsvektoren zu erhalten, und gestattet folglich die Verwendung einfacherer, weniger kostspieliger Hardwareimplementierungen. Der erhaltene Vorteil ist bei bezüglich Kosten und Größe eingeschränkten Videocodierungsanwendungen, wie zum Beispiel Videokameras, von besonderem Wert. Genauer gesagt erfolgt bei dem Verfahren von 5-6 eine Verringerung der Anzahl von Berechnungen bei der Identifizierung der Kandidaten-Prädiktionsmakroblöcke und bei . der Erhaltung ihrer zugeordneten Bewegungsvektoren MV1–MV5 und der MSE-Werte (Mean Squared Error). Ein MSE-Wert eines Kandidaten-Prädiktionsblocks ist der berechnete mittlere quadratische Fehler zwischen den Pixelwerten des Kandidaten-Prädiktionsblocks und den entsprechenden Pixelwerten des aktuellen Makroblocks, den er prädiziert. bwohl das Verfahren von 5-6 im Kontext eines MPEG-Codierungssystems beschrieben wird, gelten die Prinzipien der Erfindung auch für andere Videokomprimierungssysteme.
  • Als Übersicht werden im Schritt 15 von 5 nach dem Start im Schritt 10 die besten Prädiktionsblöcke und die zugeordneten Bewegungsvektoren MV1–MV5 für den oberen und linken Bildmakroblock bestimmt. In den Schritten 2370 werden dann die beiden besten Feldprädiktionsblöcke und die zugeordneten Feldbewegungsvektoren für die übrigen aktuellen Makroblöcke für Feld 1 und Feld 2 des codierten Einzelbildes bestimmt. Dies geschieht mit einer reduzierten Anzahl von Berechnungen unter Verwendung eines Verfahrens gemäß der Erfindung. Im Schritt 80 werden auch die Einzelbild-Prädiktionsmakroblöcke und der zugeordnete Einzelbildbewegungsvektor MV1 für die übrigen aktuellen Makroblöcke des Bildes bestimmt. Dies geschieht unter Verwendung eines Verfahrens gemäß der Erfindung, bei dem eine reduzierte Anzahl von Berechnungen auftritt. Als letztes werden im Schritt 85 die Einzelbild- und Feld-Prädiktionsmakroblöcke miteinander verglichen und der beste Prädiktionsblock für jeden der übrigen Bildmakroblöcke auf der Basis des MSE wird entsprechend den Übertragungssystemdatenratenbegrenzungen ausgewählt. Die gewählten besten Prädiktionsmakroblöcke, die entweder Feld- oder Einzelbild-Prädiktionsmakroblöcke sein können, sind die Makroblöcke, die letztendlich komprimiert und übertragen werden.
  • Unter ausführlicher Bezugnahme auf 5-6 werden die aktuellen Makroblöcke des prädizierten Einzelbildes in Schritt 15 von 5 nach dem Start in Schritt 10 eingegeben. Im Schritt 15 wird für jeden aktuellen Makroblock in einem vorbestimmten „Referenzbereich" des Einzelbildes der beste Prädiktionsmakroblock bestimmt. Bei der bevorzugten Ausführungsform werden die aktuellen Makroblöcke in dem Referenzbereich, der aus dem oberen und linken Rand des Einzelbildes besteht (siehe 2), bestimmt. Jeder beste Prädiktionsmakroblock wird durch Ausführen einer vollen „Blockvergleichssuche" erhalten. Eine solche volle „Blockvergleichssuche" ist ein bekanntes Verfahren zum Identifizieren eines Suchmakroblocks in einem gespeicherten Bild, der die „beste Übereinstimmung" mit einem aktuellen Makroblock ist. Der „am besten übereinstimmende" Suchmakroblock wird als der Prädiktionsmakroblock für den entsprechenden aktuellen Makroblock gewählt.
  • Bei der Durchführung der Blockvergleichssuche wird der aktuelle Makroblock in einer Region eines prädizierten Bildes mit allen Suchmakroblöcken verglichen. Die Makroblöcke werden verglichen, indem der MSE zwischen jedem Suchmakroblock und dem aktuellen Makroblock als eine Anzeige der Korrelation zwischen den beiden Makroblöcken berechnet wird. Der „am besten übereinstimmende Block" mit dem niedrigsten MSE-Wert wird als der Prädiktionsmakroblock ausgewählt. Als Alternative zu dem MSE können auch andere Vergleichskriterien, wie zum Beispiel mittlerer absoluter Fehler (MAE) bei einer Blockvergleichssuche verwendet werden, oder auch eine andere Art von Auswahlprozeß als Maß der Korrelation.
  • Im Schritt 15 werden unter Verwendung des Blockvergleichssuchprozesses die Bewegungsvektoren MV1– MV5 der aktuellen Makroblöcke des oberen und linken Rands bestimmt. Die Bewegungsvektoren MV1–MV5 für jeden aktuellen Makroblock werden durch die Vektorverschiebungen zwischen dem aktuellen und dem entsprechenden Prädiktionsmakroblock, der durch den Suchprozeß identifiziert wird, gegeben. Der beschriebene Blockvergleichssuchprozeß ist bekannt und kann unter Verwendung handelsüblicher integrierter Schaltungen zur Bewegungsschätzung, wie zum Beispiel des Bausteins STI3220 von SGS-Thomson, implementiert werden.
  • Die besten Prädiktionsmakroblöcke und die zugeordneten Bewegungsvektoren für jeden der verbleibenden aktuellen Makroblöcke des Bildes werden dann bestimmt. Schritt 15 liefert, daß die aktuellen Makroblöcke der Reihe nach genommen werden, und zwar von der oberen linken Ecke bis zur unteren rechten Ecke von Feld 1 des prädizierten Einzelbildes, gefolgt durch Feld 2 dieses Einzelbildes. Dadurch wird sichergestellt, daß die beste Prädiktion für den Block oberhalb (TB) und den Block links (LB) des aktuellen Makroblocks bereits bestimmt wurden. Die aktuellen Makroblöcke können als Alternative in jeder beliebigen Reihenfolge genommen werden, die diese Anforderung erfüllt.
  • Die Bestimmung der Feld-Prädiktionsmakroblöcke unter Verwendung einer reduzierten Anzahl von Berechnungen gemäß der Erfindung beginnt im Schritt 20. Schritt 20 liefert, daß eine Blockvergleichssuche durchgeführt wird, und die Bewegungsvektoren MV2-MV5 werden durch Ausführen des entsprechenden Flußdiagrammweges, der zwischen den Schritten 23 und 70 liegt, berechnet. Die Ausführung des Schritts 23, gefolgt durch den entsprechenden Flußdiagrammweg, wird zuerst für Feld 1 und dann für Feld 2 des aktuellen Makroblocks durchgeführt.
  • Im Schritt 23 von 5 werden die Bewegungsvektorfeldparität der besten Prädiktionsmakroblöcke LB sowie TB des aktuellen Makroblocks in dem aktuellen Feld (CF) untersucht. Wenn zum Beispiel der TB und der beste Prädiktionsmakroblock von TB beide in Feld 1 (f1) oder Feld 2 (f2) ihrer jeweiligen Bilder liegen, ist TB ein Makroblock mit Gleichfeldparität (SFP) mit einem Gleichfeldparitätsbewegungsvektor (SFPMV). Ähnlich ist, wenn LB und der beste Prädiktionsmakroblock von LB in verschiedenen Feldern ihrer jeweiligen Bilder liegen, LB von entgegengesetzter Feldparität (FP) mit einem Gegenfeldparitätsbewegungsvektor (FPMV). 3 zeigt den Zustand, in dem sowohl TB als auch LB SFP sind, d.h. beide dieselbe Feldparität wie der aktuelle Makroblock aufweisen. 4 zeigt den Zustand, in dem TB ein SFP-Makroblock und LB ein FP-Makroblock ist, d.h. TB und LB weisen gemischte Feldparität auf und besitzen Mischfeldparitätsbewegungsvektoren (MFPMV). Abhängig von der TB- und LB-Paritätsbestimmung von Schritt 23 besitzen TB und LB deshalb entweder beide einen Gleichfeldparitätsbewegungsvektor (SFPMV), beide Gegenfeldparitätsbewegungsvektoren (FPMV) oder sie besitzen Mischfeldparitätsbewegungsvektoren (MFPMV). Wenn TB und LB den SFPMV-Typ aufweisen, werden die Schritte 25, 30, 32, 35 und 37 durchgeführt. Ähnlich werden, wenn TB und LB den FPMV-Typ aufweisen, die Schritte 45, 50, 52, 55 und 57 durchgeführt. Wenn TB und LB den MFPMV-Typ aufweisen, werden die Schritte 65 und 70 durchgeführt. Im Schritt 70 werden abhängig von der Bewegungsvektorfeldparität des TB- und des LB- Makroblocks mit dem niedrigsten MSE-Wert entweder die Wegprozesse von SFPMV (Schritte 2537) oder FPMV (Schritte 4557) durchgeführt.
  • Das Flußdiagramm von 5-6 teilt sich nach Schritt 23 in 3 Wege für die Schritte 2570 auf. Der erste Weg (Schritte 2537) wird ausgeführt, wenn die besten Prädiktionsmakroblöcke TB und LB beide den SFPMV-Typ aufweisen. Dann ist die Bedingung des Schritts 25 erfüllt und die Flußdiagrammausführung wird mit Schritt 30 fortgesetzt. Im Schritt 30 wird eine Blockvergleichssuche durchgeführt, wie zuvor beschrieben und bekannt ist, um einen am besten übereinstimmenden Makroblock in einem gespeicherten Bild für den aktuellen Makroblock in dem aktuellen Feld auf der Basis des mittleren quadratischen Fehlers (MSE) zu identifizieren. Diese Suche wird in demselben relativen Feld (f1 und f2) des gespeicherten Bildes wie dem des aktuellen Makroblockfeldes in dem prädizierten Einzelbild durchgeführt. Dann wird aus der Vektorverschiebung zwischen dem aktuellen Makroblock und dem am besten übereinstimmenden Makroblock in dem gespeicherten Bild der Gleichfeldparitätsbewegungsvektor (SFPMV) berechnet.
  • Im Schritt 32 wird der Skalenfaktor K ausgewählt, um die im Schritt 35 durchgeführte Schätzung eines Bewegungsvektors zu optimieren. Im Schritt 32 wird ein Skalenfaktor K ausgewählt, der den berechneten Gleichfeldparitätsbewegungsvektor (SFPMV) von Schritt 30 linear skaliert, um eine Schätzung des Gegenfeldparitätsbewegungsvektors (FPMV) zu erhalten. Der SFPMV wird auf der Basis der Differenz der vergangenen Zeit zwischen dem aktuellen und dem Prädiktionsmakroblock, die dem SFPMV zugeordnet sind, und der vergangenen Zeit zwischen dem aktuellen und prädizierten Makroblock, der dem geschätzten FPMV zugeordnet ist, linear skaliert. Zum Beispiel zeigt
  • 7 die Bestimmung von K-Werten für die Schätzung des FPMV in zwei Fällen. Im Fall 1 wird für einen berechneten SFPMV 1 zwischen Makroblockmittelpunkten A (Einzelbild 2, Feld 1) und B (Einzelbild 1, Feld 1) ein K-Wert von 0,5 berechnet, und der FPMV 1 zwischen den Makroblockmittelpunkten A und B1 (Einzelbild 1, Feld 2) wird als 0,5 * SFPMV 1 geschätzt. Der Grund dafür besteht darin, daß in einer Approximation bis zur ersten rdnung die Zeit zwischen A und B1 (T) das 0,5-fache der Zeit zwischen A und B (2T) beträgt. Ähnlich wird im Fall 2 für den SFPMV 2 zwischen den Makroblockmittelpunkten C (Einzelbild 2, Feld 2) und D (Einzelbild 1, Feld 2) ein K-Wert von 1,5 berechnet, und der FPMV 2 zwischen den Makroblockmittelpunkten C und D1 (Einzelbild 2, Feld 2) wird als 1,5 * SFPMV 2 geschätzt. Der Grund dafür besteht darin, daß in einer Approximation bis zur ersten rdnung die Zeit zwischen C und D1 (3T) das 1,5-fache der Zeit zwischen C und D (2T) beträgt. T ist in diesen Beispielen der Zeitraum zwischen sukzessiven Feldern. Eine ähnliche Zeitskalierungs-Bewegungsvektorschätzung wird bei der Prädiktion des Typs „Doppelprim" angewandt (Abschnitt 7.6.3.6 des MPEG-Bildcodierungsstandards, ISO/IEC 13818-2, 10.5.1994).
  • Obwohl bei der bevorzugten Ausführungsform eine Linearskalierung erster rdnung verwendet wird, können auch alternative Skalierungsmethoden verwendet werden. Die zuvor besprochene Skalierungsmethode kann ohne weiteres erweitert werden, um zum Beispiel eine Bewegungsvektorschätzung zwischen nicht sukzessiven Bildern bzw. Bildern, die um variable Zeiträume auseinanderliegen, abzudecken. Die Skalierung kann auch eine vertikale Verschiebung zwischen den Zeilen von Feldern verschiedener Parität, so wie sie bei der MPEG„Doppelprim"-Prädiktion verwendet wird, kompensieren. bwohl die Erfindung im Kontext von Bildern beschrieben wird, die aus zwei verschachtelten Feldern zusammengesetzt sind, können die Prinzipien der Erfindung und des Bewegungsvektorschätzprozesses auch auf Bildsequenzen angewandt werden, die aus nichtverschachtelten (Progressiv-Scan-)Bildsequenzen zusammengesetzt sind. In solchen Sequenzen kann jedes Bild in der Sequenz als ein Einzelbild betrachtet werden.
  • Im Schritt 35 (5-6) wird der im Schritt 32 bestimmte K-Wert mit dem im Schritt 30 erhaltenen SFPMV multipliziert, um einen geschätzten FPMV zu erhalten, wie in den obigen Fällen 1 und 2 exemplifiziert wird. Ein Feld-Prädiktionsmakroblock wird in dem gespeicherten Bild unter Verwendung dieses anfänglichen geschätzten FPMV identifiziert. Der anfängliche geschätzte FPMV wird im Schritt 35 durch Perturbieren des (FPMV-)Bewegungsvektors in einer Region um die identifizierte Makroblockmitte weiter optimiert, um zusätzliche lokale Prädiktionsmakroblöcke zu finden. Der beste Feld-Prädiktionsmakroblock und der optimale geschätzte FPMV können dann durch Berechnen der zugeordneten MSE-Werte dieser lokalen Prädiktionsblöcke identifiziert werden. Der lokale Makroblock mit dem niedrigsten MSE wird als der optimale lokale Makroblock ausgewählt, und sein zugeordneter FPMV wird als der optimale FPMV-Wert ausgewählt.
  • 8 zeigt die Perturbation des anfänglichen geschätzten FPMV um das Mittenpixel (W) des zugeordneten anfänglichen identifizierten Makroblocks. Die perturbierte FPMV-Suche wird für die acht Makroblöcke mit den acht als „Z" markierten Pixeln als Mittelpunkte durchgeführt. Die Suchregion um W kann vergrößert oder verkleinert werden, um je nach Fall den Berechnungseinschränkungen des Systems zu genügen. Die Entscheidung, eine Perturbationssuche durchzuführen, kann abhängig von einem Schätzqualitätskriterium, wie zum Beispiel des Betrags des FPMV-MSE-Werts, durchgeführt werden. Die Größe der Perturbationssuchregion kann ähnlich abhängig von einem solchen Qualitätskriterium variiert werden. Der beste Prädiktionsmakroblock für den aktuellen Makroblock in dem aktuellen Feld wird als der identifizierte SFPMV- oder FPMV-Makroblock mit dem niedrigsten MSE-Wert im Schritt 37 des Flußdiagramms (6) ausgewählt.
  • Der zweite Weg des Flußdiagramms von 5-6 nach Schritt 23, einschließlich der Schritte 4557, wird ausgeführt, wenn die besten Prädiktionsmakroblöcke TB und LB beide vom FPMV-Typ sind. Wenn die Bedingung des Schritts 45 erfüllt ist, werden die Schritte 5057 ausgeführt. Die Schritte 4557 sind den Schritten 2537 äquivalent, mit der Ausnahme, daß im Schritt 50 der FPMV berechnet wird. Dies geschieht durch Durchführen einer Blockvergleichssuche, um einen am besten übereinstimmenden Makroblock in dem Feld des gespeicherten Bildes zu identifizieren, das dem Feld gegenüberliegt, in dem sich der aktuelle Makroblock befindet. Dann wird im Schritt 52 ein Skalenfaktor K bestimmt, um die im Schritt 55 durchgeführte Schätzung des SFPMV aus dem FPMV zu optimieren. Der Skalenfaktor K wird durch das im Schritt 32 beschriebene Verfahren als lineare Skalierung auf der Basis der vergangenen Zeitdifferenz zwischen dem FPMV- und SFPMV-aktuell- und -Prädiktionsmakroblock bestimmt. Im Schritt 55 werden ein optimierter Feld-Prädiktionsmakroblock in dem gespeicherten Bild und eine zugeordnete optimierte SFPMV-Schätzung und der MSE-Wert unter Verwendung des in Verbindung mit Schritt 35 beschriebenen Perturbationssuchverfahrens bestimmt. Im Schritt 57 wird der beste Prädiktionsmakroblock für den aktuellen Makroblock in dem aktuellen Feld als der identifizierte SFPMV- oder FPMV-Makroblock mit dem niedrigsten MSE-Wert ausgewählt.
  • Der dritte Wert des Flußdiagramms von 5-6 nach Schritt 23, einschließlich der Schritte 65 und 70, wird ausgeführt, wenn die besten Prädiktionsmakroblöcke TB und LB vom MFPMV-Typ sind. Wenn die Bedingung des Schritts 65 erfüllt ist, wird Schritt 70 ausgeführt. Im Schritt 70 werden die MSE-Werte der besten Prädiktionsmakroblöcke TB und LB verglichen. Der Feldparitätstyp (entweder SFPMV oder FPMV) des besten Prädiktionsmakroblocks TB oder LB mit dem niedrigsten MSE-Wert wird dann bestimmt. Wenn der TB- oder LB-Makroblock mit dem niedrigsten MSE-Wert ein SFPMV-Typ ist, wird der SFPMV-Weg (Schritte 3037) ausgeführt. Wenn der TB- oder LB-Makroblock mit dem niedrigsten MSE-Wert ein FPMV-Typ ist, wird der FPMV-Weg (Schritte 5057) ausgeführt. Wenn zum Beispiel beim Vergleichen der MSE-Werte der besten Prädiktionsblöcke TB und LB der LB-Prädiktionsmakroblock den niedrigeren MSE-Wert aufweist und ein FPMV-Typ ist, wird der OFPMV-Weg ausgeführt.
  • Der in den Schritten 2370 dargelegte Feldprädiktionsprozeß wird für das nächste Feld des gerade prädizierten Einzelbildes wiederholt. Dadurch wird ein bester Prädiktionsmakroblock und ein zugeordneter Bewegungsvektor für jeden Makroblock sowohl vom Feld 1 als auch Feld 2 des gerade prädizierten Einzelbildes erzeugt.
  • Im Schritt 80 werden der Einzelbild-Prädiktionsmakroblock und der zugeordnete Einzelbildbewegungsvektor MV1 für die verbleibenden aktuellen Makroblöcke bestimmt. Dies geschieht unter Verwendung eines Verfahrens, das in dem Flußdiagramm von 9 dargelegt ist, bei dem eine reduzierte Anzahl von Berechnungen gemäß der Erfindung auftritt.
  • Im Schritt 105 von 9 nach dem Start im Schritt 100 wird der SFPMV von Feld 1 des gerade codierten Einzelbildes (SFPMV-fl), der in den Schritten 37 oder 57 (6) bestimmt wurde, für die Einzelbildprädiktion verwendet. Im Schritt 105 wird dieser SFPMV-f1-Bewegungsvektor als Einzelbildbewegungsvektor MV1 verwendet, um Einzelbild-Prädiktionsmakroblöcke in dem gespeicherten Bild für den gerade prädizierten aktuellen Makroblock zu identifizieren. Im Schritt 110 wird eine lokale Suche im Feld 1 des gespeicherten Bildes um den durch den Vektor SFPMV-fl identifizierten Einzelbild-Prädiktionsmakroblock herum durchgeführt. Dies geschieht, um die anfängliche SFPMV-fl-Prädiktion zu optimieren. Die lokale Suche wird genauso wie zuvor für die Perturbationssuche der Schritte 35 und 55 (5) beschrieben durchgeführt. Das heißt, die MSE-Werte der acht Makroblöcke mit Mittenpixeln, die das Mittenpixel des durch SFPMV-fl identifizierten Makroblocks umgeben, werden berechnet (Schritt 110, 9). Im Schritt 115 werden die acht Makroblock-MSE-Werte verglichen, und der Makroblock mit dem niedrigsten MSE-Wert wird als ein erster Einzelbild-Prädiktionsmakroblock ausgewählt. Ähnlich werden im Schritt 120 die MSE-Werte der acht Makroblöcke mit Mittenpixeln, die das Mittenpixel des durch SFPMV-fl identifizierten Makroblocks im Feld 2 des gespeicherten Bildes umgeben, berechnet. Im Schritt 125 werden diese acht Makroblock-MSE-Werte verglichen und der Makroblock mit dem niedrigsten MSE-Wert wird als ein zweiter Einzelbild-Prädiktionsmakroblock ausgewählt. Der erste oder der zweite Einzelbild-Prädiktionsmakroblock mit dem niedrigsten MSE wird als ein Einzelbild-Prädiktionsmakroblock (MV1-f1) ausge wählt, und sein zugeordneter Bewegungsvektor wird als ein MV1-f1-Bewegungsvektor ausgewählt (Schritt 125).
  • Die Schritte 105125 werden in den Schritten 130150 im wesentlichen wiederholt, um einen Einzelbild-Prädiktionsmakroblock für Feld 2 (MV1-f2) und einen zugeordneten Bewegungsvektor (MV1-f2) zu bestimmen. Im Schritt 130 wird der zuvor bestimmte SFPMV-f2- Bewegungsvektor (Schritt 37 oder 57 von 6) als ein Einzelbild-Bewegungsvektor MV1 verwendet, um Einzelbild-Prädiktionsmakroblöcke in dem gespeicherten Bild für den gerade prädizierten aktuellen Makroblock zu identifizieren. Im Schritt 135 wird eine lokale Suche in dem Feld 1 des gespeicherten Feldes um den durch den Vektor SFPMV-f2 identifizierten Einzelbild-Prädiktionsmakroblock herum durchgeführt. Die MSE-Werte der acht Makroblöcke mit Mittenpixeln, die das Mittenpixel des durch SFPMV-f2 indentifizierten Makroblocks umgeben, werden im Schritt 135 berechnet. Diese acht Makroblock-MSE-Werte werden verglichen und der Makroblock mit dem niedrigsten MSE-Wert wird im Schritt 140 als ein dritter Einzelbild-Prädiktionsmakroblock ausgewählt. Die MSE-Werte der acht Makroblöcke mit Mittenpixeln, die das Mittenpixel des durch SFPMV-f2 identifizierten Makroblocks im Feld 2 des gespeicherten Bildes umgeben, werden ebenfalls im Schritt 145 berechnet. Diese acht Makroblock-MSE-Werte werden verglichen, und der Makroblock mit dem niedrigsten MSE-Wert wird im Schritt 150 als ein vierter Einzelbild-Prädiktionsmakroblock ausgewählt. Zusätzlich wird der dritte oder der vierte Einzelbild-Prädiktionsmakroblock mit dem niedrigsten MSE als ein Einzelbild-Prädiktionsmakroblock (MV1-f2) ausgewählt, und sein zugeordneter Bewegungsvektor wird als der MV1-f2-Bewegungsvektor ausgewählt (Schritt 150). Dann wird im Schritt 155 entweder der MV1-fl- oder der MV1-f2-Makroblock mit dem niedrigsten kombinierten Feld-1- und Feld-2-MSE-Wert als der beste Einzelbild-Prädiktionsmakroblock ausgewählt. Der zugeordnete MV1-fl- oder MV1-f2-Vektor ist der zugeordnete MV1-Einzelbild-Prädiktionsbewegungsvektor. Das Einzelbild-Prädiktionsflußdiagramm von 9 ist nun abgeschlossen und endet (Schritt 160).
  • Beim Abschluß des Flußdiagramms von 9 (Schritt 80 von 6) wird die Ausführung mit dem Schritt 85 von
  • 6 wieder aufgenommen. Im Schritt 85 werden der beste Einzelbild- und der beste Feld-Prädiktionsmakroblock für den aktuellen Makroblock auf der Basis des MSE verglichen. Wenn die Auswahlentscheidung nicht durch Datenratensteueranforderungen eingeschränkt wird, dann wird entweder der beste Einzelbild- oder der beste Feld-Prädiktionsmakroblock mit dem niedrigsten kombinierten Feld-1- und Feld-2-MSE-Wert zur Übertragung ausgewählt. Wenn Datenratensteueranforderungen jedoch angeben, daß eine weitere Datenkomprimierung notwendig ist, wird der beste Prädiktionsmakroblock, der der zulässigen Datenratengrenze entspricht, zur Übertragung ausgewählt. Zum Beispiel können stärker komprimierte Einzelbild-Prädiktionsmakroblöcke anstelle von Feld-Prädiktionsmakroblöcken übertragen werden, wenn eine höhere Komprimierung verlangt wird. Nach der Auswahl des Makroblocks zur Übertragung im Schritt 85 ist die Bestimmung der besten Prädiktionsmakroblöcke für die Komprimierung abgeschlossen und endet (Schritt 95).
  • bwohl 5-6 ein Verfahren zur Auswahl des besten Prädiktionsmakroblocks aus Kandidaten-Feld- oder -Einzelbild-Prädiktionsmakroblöcken offenlegen, können andere Arten von Prädiktion verwendet werden, um weitere Kandidatenblöcke zu liefern. Zum Beispiel kann man „Doppelprim"-Prädiktion verwenden, um zusätzliche Kandidatenmakroblöcke entweder kurz vor oder nach der Einzelbildprädiktion des Schritts 80 (6) zu liefern. Im Schritt 85 wird dann der beste Prädiktionsblock aus Einzelbild-, Feld- und Doppelprim-Prädiktionskandidaten anstelle der Feld- und Einzelbild-Kandidaten der vorherigen Beschreibung ausgewählt. Außerdem ist die Erfindung nicht auf die in 5-6 abgebildete Schrittausführungsreihenfolge beschränkt. Es kann jede beliebige Reihenfolge verwendet werden, die für jeden aktuellen Makroblock einen besten Prädiktionsmakroblock erzeugt.
  • 10 zeigt eine MPEG-kompatible Kompressorvorrichtung, die sich für die Verwendung der Prinzipien der vorliegenden Erfindung eignet. Das Verfahren von 5-6 wird durch den Bewegungsschätzer 85 in Kombination mit der Prädiktionseinheit 95 implementiert. Kurz gefaßt wird ein digitales Videosignal in Form von Pixelluminanzwerten auf bekannte Weise durch einen Umsetzer 57 in zu codierende aktuelle Makroblöcke umgesetzt. Die aktuellen Makroblöcke werden in dem Datenkompressor 60 eingegeben. Das System von 10 arbeitet in einer bekannten Umgebung, in der die Versorgung mit aktuellen Makroblöcken aus der Einheit 57 gesteuert wird, z.B. durch einen gesteuerten Puffer in der Einheit 57. Dies geschieht, um den Abschluß eines Makroblockprädiktionszyklus und die Herstellung eines komprimierten Ausgangsblocks für jeden aktuellen Makroblock zu ermöglichen. Der Kompressor 60 führt Feld- und Einzelbild-Makroblockprädiktionen an jedem aktuellen Makroblock durch und speichert die resultierenden Makroblockprädiktionen in dekromprimierter Form in dem Speicher 91 der Prädiktionseinheit 95. Diese Prädiktionen sind die „Kandidaten"-Prädiktionen, aus denen eine beste Makroblockprädiktion für den aktuellen Makroblock ausgewählt werden kann. Der Selektor 97 in der Prädiktionseinheit 95 wählt den besten Prädiktionsmakroblock zur Übertragung aus den in dem Speicher 91 gespeicherten Feld- und Einzelbild-Kandidatenprädiktionen. Der beste Prädiktionsmakroblock wird dann durch den Subtrahierer 65 von dem von ihm vorhergesagten entsprechenden aktuellen Makroblock subtrahiert. Der resultierende Rest aus dem Subtrahierer 65 wird durch die Einheit 70 komprimiert, um Ausgangsdaten zur weiteren Verarbeitung zur Übertragung zu liefern. Dieser Prozeß wird für jeden aktuellen Makroblock wiederholt.
  • Im Rahmen einer ausführlicheren Beschreibung der Funktionsweise der Codierervorrichtung von 10 wird die Funktionsweise des Kompressors 60 nur für I- und P-Bild-Makroblöcke betrachtet. Die Prinzipien der Funktionsweise der Vorrichtung von 10 werden ohne weiteres an die B-Bild-Makroblockfunktionsweise angepaßt. Unter der Annahme, daß die I-Bild-Prädiktion eine Prädiktion auf Einzelbildbasis ist, wird zu Anfang ein I-Einzelbild-Makroblock unverändert durch den Subtrahierer 65 an die Codierungseinheit 70 weitergeleitet. Die Einheit 70 führt eine diskrete Kosinustransformation (DCT) an Blöcken von 8 × 8 Pixeln durch, um auf bekannte Weise DCT-Koeffizienten zu erzeugen. Die Koeffizienten werden dann in der Einheit 70 quantisiert. Die Kombination von DCT und Quantisierung in der Einheit 70 führt dazu, daß viele der DCT-Frequenzkoeffizienten Null sind. Die Einheit 70 führt dann eine Lauflängen- und statistische Codierung der Koeffizienten durch, um lange Läufe von Nullen zu erzeugen, um die produzierten Ausgangsdaten zu minimieren. Folglich komprimiert die Einheit 70 den I-Einzelbild-Makroblock durch Eliminieren räumlicher Redundanz in den Eingangsmakroblockdaten. Der Prozeß wird für jeden aktuellen Makroblock wiederholt. Die resultierende Reihe komprimierter I-Einzelbild-Makroblöcke wird durch den Formatierer 100 verarbeitet, der die komprimierten Makroblöcke aus der Einheit 70 zu Datenpaketen formt, die Kopfteile enthalten, die Identifikation und andere Information enthalten.
  • Der komprimierte I-Einzelbild-Makroblock aus der Einheit 70 wird auch dem Dekompressor 75 zugeführt, der die Umkehrung der durch die Einheit 70 durchgeführten DCT- und Quantisierungsfunktionen durchführt. Die Ausgabe der Einheit 75 ist eine Reproduktion der I-Einzelbild-Makroblockeingabe für den Kompressor 60. Der dekomprimierte I-Einzelbild-Makroblock wird dann unverändert durch den Addierer 80 weitergeleitet und zur prädiktiven Komprimierung nachfolgender P-Einzelbild-Makroblöcke in dem Speicher 90 gespeichert. Der oben beschriebene I-Einzelbild-Makroblock-Komprimierungsprozeß wird wiederholt, bis ein volles I-Einzelbild von Makroblöcken in dem Speicher 90 gespeichert ist.
  • Für eine P-Einzelbild-Prädiktion wird der gerade prädizierte aktuelle Makroblock des Eingangs-P-Einzelbildes an einen Bewegungsschätzer 85 angelegt. Die Einheit 85 bestimmt die Feld- und Einzelbild-Bewegungsvektoren für den aktuellen Makroblock unter Verwendung des Verfahrens von 5-6. Zu diesem Zweck wird die Feldparität der TB- und LB-Makroblöcke, d. h., ob sie vom SFPMV- oder vom FPMV-Typ sind, zusammen mit den TB- und LB-Makroblock-MSE-Werten (der Klarheit halber nicht gezeigt) in der Einheit 85 von 10 gespeichert. Dieselben Informationen werden auch für die Makroblöcke des linken und oberen Rands des gerade codierten Einzelbildes gespeichert. Es ist minimal zusätzlicher Speicher erforderlich, da der MSE-Wert und die Feldparität bequem in vier (oder weniger) acht-Bit-Byte pro Makroblock gespeichert werden können. Der erforderliche Speicher kann minimiert werden, indem die Reihenfolge optimiert wird, in der die aktuellen Makroblöcke prädiziert werden.
  • Das Flußdiagramm von 5-6 bis zum Schritt 80 wird durch die Einheit 85 (10) ausgeführt, um Bewegungsvektoren für zwei Feld-Prädiktions- und einen Einzelbild-Prädiktionsmakroblock für den aktuellen Makroblock zu erhalten. Um das Flußdiagramm von 5-6 auszuführen, verwendet die Einheit 85 die gespeicherten TB- und LB-Informationen. Zusätzlich greift die Einheit 85 auf die Makroblöcke des gespeicherten Einzelbildes in dem Speicher 90 zu, um die erforderlichen Blockvergleichssuchen durchzuführen.
  • Die Einheit 85 bestimmt die K-Werte (Schritte 32 und 52 von 5) aus der bekannten zeitlichen Beziehung zwischen dem aktuellen Makroblock und den gespeicherten Makroblöcken in dem Speicher 90 von 10. Die berechneten K-Werte werden dann von der Einheit 85 zur Durchführung der erforderlichen Bewegungsschätzung der Schritte 35 und 55 von 5 wie zuvor beschrieben verwendet. Die übrigen Flußdiagrammschritte werden wie zuvor in Verbindung mit 5-6 beschrieben unter Verwendung dieser Techniken ausgeführt, um die Bewegungsvektoren für zwei Feld-Prädiktions- und einen Einzelbild-Prädiktionsmakroblock zu produzieren.
  • Die Bewegungsvektoren der beiden Feld-Prädiktionsmakroblöcke und des Einzelbild-Prädiktionsmakroblocks, die durch die Einheit 85 (10) nach Abschluß der Ausführung des Flußdiagrammschritts 80 (5-6) produziert werden, werden von dem Extrahierer 93 in der Prädiktionseinheit 95 verwendet. Der Extrahierer 93 extrahiert mit diesen Bewegungsvektoren die beiden Feld-Prädiktionsmakroblöcke und den Einzelbild-Prädiktionsmakroblock aus dem in dem Speicher 90 gespeicherten Einzelbild. Diese Feld- und Einzelbild-Prädiktionsmakroblöcke sind diejenigen, die dem aktuellen Makroblock am nächsten identisch sind, und werden durch den Extrahierer 93 als Kandidaten-Prädiktionsmakroblöcke in dem Speicher 91 gespeichert. Diese Ausführungsform kann ohne weiteres erweitert werden, um andere Prädiktionen zu umfassen, wie zum Beispiel „Doppelprim"-Prädiktionen, wie zuvor beschrieben. In einem solchen Fall würde der Speicher 91 zusätzlich „Doppelprim"-Prädiktions-Kandidatenmakroblöcke enthalten.
  • Der Selektor 97 (10) führt den Schritt 85 des Flußdiagramms von 5-6 aus und wählt eine der Kandidatenprädiktionen als die beste Makroblockprädiktion aus. Der Selektor 97 wählt den besten Feld- oder Einzelbild-Prädiktionsmakroblock zur Komprimierung auf der Basis des MSE-Werts, entsprechend der zulässigen Übertragungsdatenratengrenze. Der Subtrahierer 65 subtrahiert pixelweise die beste Prädiktionsmakroblockausgabe durch den Selektor 97 aus dem Eingangs-Aktuell-P-Einzelbild-Makroblock, der komprimiert werden soll. Die aus dem Subtrahierer 65 ausgegebenen Differenzen oder Reste werden dann durch die Einheit 70 komprimiert und ähnlich wie die I-Einzelbild-Makroblockdaten verarbeitet. Der resultierende komprimierte P-Einzelbild-Makroblock wird durch den Formatierer 100 verarbeitet, der die Reihe komprimierter Makroblöcke aus der Einheit 70 zu Datenpaketen formt, die Identifikationskopfteile enthalten.
  • Die Komprimierungs-P-Einzelbild-Makroblock-Reste aus der Einheit 70 werden durch die Einheit 75 wie bei den I-Einzelbild-Makroblöcken dekomprimiert, bevor sie an den Addierer 80 angelegt werden. Gleichzeitig wird der beste Prädiktionsmakroblock, der durch den Subtrahierer 65 von dem gerade prädizierten Makroblock subtrahiert wurde, zu den dekomprimierten Makroblockresten zurückaddiert. Dies geschieht dadurch, daß der Selektor 97 die besten Prädiktionsmakroblockwerte an einen zweiten Eingang des Addierers 80 anlegt, der die Daten pixelweise addiert, um den Makroblock wiederherzustellen. Dieser wiederhergestellte P-Einzelbild-Makroblock bildet einen Teil des rekonstruierten Bildes und wird für prädiktive Komprimierung nachfolgender P-Einzelbild-Makroblöcke in dem Speicher 90 gespeichert. Der Prozeß wird für jeden aktuellen Makroblock wiederholt.
  • Die Vorrichtung von 10 kann auf andere Weise implementiert werden. Zum Beispiel kann das Verfahren von 5-6 zur Bestimmung der besten Prädiktionsmakroblöcke zur Komprimierung in einer einzigen Entscheidungssteuereinheit implementiert werden, wie zum Beispiel in einem Mikroprozessor mit einer Schnittstelle zu dem Kompressor 60, statt zwischen den Funktionseinheiten 85 und 95, wie in der bevorzugten Ausführungsform gezeigt, verteilt zu sein. Außerdem sind andere bekannte Konfigurationen des Kompressors 60 und Weisen zur Implementierung der Funktionen des Kompressors 60 bekannt. Zum Beispiel kann durch Verwendung eines Mehrfachparallelprädiktionsverfahrens als Alternative für ein serielles Prädiktionsverfahren eine Prädiktion für einen aktuellen Makroblock erzielt werden.

Claims (9)

  1. Verfahren zur Bereitstellung komprimierter bildrepräsentativer Videodaten zur Verwendung in einem MPEG-Signalverarbeitungssystem, mit den folgenden Schritten: a) Bereitstellen von Videoeingangsdaten, die aus einer Sequenz von Bildern, die Bildfelder umfassen, bestehen; b) Umsetzen der Videoeingangsdaten in Eingangspixelblöcke; c) Bestimmen mehrerer Kandidaten-Prädiktionsblöcke für einen ersten Eingangspixelblock, wobei der Bestimmungsschritt die folgenden Schritte enthält: (1) Durchführen einer Blockvergleichssuche in einem ersten Feld, um einen ersten Kandidaten-MPEG-Feldprädiktionsblock für den ersten Eingangspixelblock zu bestimmen; (2) Ableiten eines zugeordneten ersten Bewegungsvektors für den ersten Kandidaten-MPEG-Feldprädiktionsblock; (3) Extrapolieren eines zweiten Bewegungsvektors durch zeitliches Skalieren aus dem ersten Bewegungsvektor; und (4) Identifizieren eines zweiten Kandidaten-MPEG-Feldprädiktionsblocks in einem zweiten Feld unter Verwendung des extrapolierten Bewegungsvektors; d) gegenseitiges Vergleichen der Kandidatenprädiktionsblöcke; e) Auswählen eines der Kandidatenprädiktionsblöcke auf der Basis des gegenseitigen Vergleichs; f) Komprimieren des Eingangspixelblocks auf der Basis des ausgewählten Prädiktions blocks, um einen Ausgangsblock zu erhalten; und g) Formatieren des Ausgangsblocks, um ein Datenpaket zu erzeugen; dadurch gekennzeichnet, daß es weiterhin den Schritt des Vergleichens von Bewegungsvektorparitäten zuvor prädizierter Pixelblöcke, die dem Eingangspixelblock benachbart sind, umfaßt, wobei das Ergebnis dieses Vergleichsschritts das Verfahren der Berechnung des für den Eingangspixelblock zu bestimmenden ersten und zweiten Bewegungsvektors bestimmt.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß Schritt (c) den Schritt des Identifizierens eines MPEG-Einzelbild-Prädiktionsblocks als einen dritten Kandidaten-Prädiktionsblock unter Verwendung des extrapolierten Bewegungsvektors umfaßt.
  3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß Schritt (c) den Schritt des Identifizierens eines MPEG-Doppelprim-Prädiktionsblocks als ein dritter Kandidaten-Prädiktionsblock unter Verwendung des extrapolierten Bewegungsvektors umfaßt.
  4. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß Schritt (c4) weiterhin den Schritt des Identifizierens anderer der mehreren Kandidaten-Prädiktionsblöcke in einer Region um die Mitte des identifizierten MPEG-Feld-Prädiktionsblocks herum umfaßt.
  5. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Eingangspixelblöcke und die Prädiktionsblöcke Makroblöcke sind.
  6. Vorrichtung zum Komprimieren von bildrepräsentativen digitalen Videoeingangsdaten in Form von Eingangspixelblöcken und zur Bereitstellung komprimierter Videoausgangsblöcke an einem Ausgangsanschluß, umfassend: ein Komprimierungsnetzwerk (70) zur Bereitstellung von komprimierten Ausgangspixelblöcken, die die Eingangspixelblöcke repräsentieren; ein Dekomprimierungsnetzwerk (75) zum Dekomprimieren der komprimierten Pixelblöcke, um dekomprimierte Pixelblöcke bereitzustellen; einen Bewegungsschätzer (85) zur Bereitstellung von Bewegungsvektoren, die Kandidaten-Prädiktionsblöcken der Eingangspixelblöcke zugeordnet sind, wobei (a) für einen Eingangspixelblock, der sich in einem ersten Bereich des Bildes befindet, der Bewegungsschätzer (85) Blockvergleichssuchen verwendet, um Bewegungsvektoren zu erhalten, und (b) für einen Eingangspixelblock, der sich in einem zweiten Bereich des Bildes befindet, der Bewegungsschätzer (85) eine Blockvergleichssuche verwendet, um einen ersten Bewegungsvektor zu erhalten, und einen zweiten Bewegungsvektor aus dem ersten Bewegungsvektor zeitlich extrapoliert; und ein Prädiktionsnetzwert (95) zum Identifizieren der Kandidaten-Prädiktionsblöcke aus den dekomprimierten Blöcken durch Verwendung der Bewegungsvektoren und zum Auswählen eines besten Prädiktionsblocks aus den Kandidaten-Prädiktionspixelblöcken, wobei das Komprimierungsnetzwerk (70) den Eingangspixelblock auf der Basis des ausgewählten Prädiktionsblocks komprimiert, um an dem Ausgangsanschluß einen komprimierten Ausgangsblock zu erzeugen, dadurch gekennzeichnet, daß der Bewegungsschätzer (85) Bewegungsvektorparitäten zuvor prädizierter Pixelblöcke, die dem Eingangspixelblock benachbart sind, vergleicht, wobei das Ergebnis dieses Vergleichs das Verfahren der Berechnung des für den Eingangspixelblock zu bestimmenden ersten und zweiten Bewegungsvektors bestimmt.
  7. Vorrichtung nach Anspruch 6, dadurch gekennzeichnet, daß der erste Bildbereich den zweiten Bildbereich ausschließt.
  8. Vorrichtung nach Anspruch 6, dadurch gekennzeichnet, daß der Bewegungsschätzer (85) Bewegungsvektoren liefert, die Kandidaten-MPEG-Einzelfeld-Prädiktionsblöcken zugeordnet sind.
  9. Vorrichtung nach Anspruch 6, dadurch gekennzeichnet, daß der Bewegungsschätzer (85) Bewegungsvektoren liefert, die Kandidaten-MPEG-Einzelbild-Prädiktionsblöcken zugeordnet sind.
DE69632232T 1995-08-25 1996-08-16 Verfahren und Vorrichtung zur Komprimierung von Videoinformationen mit bewegungsabhängiger Prädiktion Expired - Lifetime DE69632232T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/519,438 US5745183A (en) 1995-08-25 1995-08-25 Image motion estimation system which derives candidate block from interpolated motion vectors
US519438 1995-08-25

Publications (2)

Publication Number Publication Date
DE69632232D1 DE69632232D1 (de) 2004-05-27
DE69632232T2 true DE69632232T2 (de) 2004-08-19

Family

ID=24068306

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69632232T Expired - Lifetime DE69632232T2 (de) 1995-08-25 1996-08-16 Verfahren und Vorrichtung zur Komprimierung von Videoinformationen mit bewegungsabhängiger Prädiktion

Country Status (7)

Country Link
US (1) US5745183A (de)
EP (1) EP0762776B1 (de)
JP (1) JP4198206B2 (de)
KR (1) KR100464995B1 (de)
CN (1) CN1227911C (de)
DE (1) DE69632232T2 (de)
ES (1) ES2216028T3 (de)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5905542A (en) * 1996-12-04 1999-05-18 C-Cube Microsystems, Inc. Simplified dual prime video motion estimation
US6359929B1 (en) * 1997-07-04 2002-03-19 Matsushita Electric Industrial Co., Ltd. Image predictive decoding method, image predictive decoding apparatus, image predictive coding apparatus, and data storage medium
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
WO1999025122A2 (en) * 1997-11-07 1999-05-20 Koninklijke Philips Electronics N.V. Coding a sequence of pictures
US6339656B1 (en) * 1997-12-25 2002-01-15 Matsushita Electric Industrial Co., Ltd. Moving picture encoding decoding processing apparatus
US6317460B1 (en) * 1998-05-12 2001-11-13 Sarnoff Corporation Motion vector generation by temporal interpolation
GB2340362B (en) * 1998-07-31 2002-11-06 Sony Uk Ltd Digital video processing
KR20010072186A (ko) * 1998-08-03 2001-07-31 벤자민 에프 커틀러 비디오 스트림 내의 오리지날 픽셀로부터 필러 픽셀을발생시키는 회로 및 방법
US6483876B1 (en) 1999-12-28 2002-11-19 Sony Corporation Methods and apparatus for reduction of prediction modes in motion estimation
US6532264B1 (en) 2000-03-27 2003-03-11 Teranex, Inc. Processing sequential video images to detect image motion among interlaced video fields or progressive video images
EP1152621A1 (de) * 2000-05-05 2001-11-07 STMicroelectronics S.r.l. Verfahren und System zur Bewegungsschätzung
EP1511311B1 (de) * 2003-08-26 2007-04-04 STMicroelectronics S.r.l. Verfahren und System zum Aufheben des Zeilensprungverfahrens während der Darstellung von Videobildern
US7663695B2 (en) * 2000-05-05 2010-02-16 Stmicroelectronics S.R.L. Method and system for de-interlacing digital images, and computer program product therefor
US7266150B2 (en) * 2001-07-11 2007-09-04 Dolby Laboratories, Inc. Interpolation of video compression frames
KR100838953B1 (ko) * 2001-11-15 2008-06-16 유니베이션 테크놀로지즈, 엘엘씨 선행 지표를 이용한 중합반응 모니터링 및 조절
US7321626B2 (en) * 2002-03-08 2008-01-22 Sharp Laboratories Of America, Inc. System and method for predictive motion estimation using a global motion predictor
US7088776B2 (en) 2002-07-15 2006-08-08 Apple Computer, Inc. Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding
US6728315B2 (en) 2002-07-24 2004-04-27 Apple Computer, Inc. Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding with reduced requirements for division operations
US8254461B2 (en) * 2002-07-24 2012-08-28 Apple Inc. Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding with reduced requirements for division operations
KR100508975B1 (ko) * 2003-05-20 2005-08-17 주식회사 팬택 다층 레벨 연속 제거 알고리즘을 이용한 동영상 움직임추정 방법
JP4415978B2 (ja) * 2006-08-02 2010-02-17 ソニー株式会社 画像信号処理装置、画像信号処理方法
US7756348B2 (en) * 2006-10-30 2010-07-13 Hewlett-Packard Development Company, L.P. Method for decomposing a video sequence frame
JP4303745B2 (ja) * 2006-11-07 2009-07-29 シャープ株式会社 画像表示装置及び方法、画像処理装置及び方法
EP1924098A1 (de) * 2006-11-14 2008-05-21 Sony Deutschland GmbH Bewegungsschätzung und Szenenwechseldetektion unter Verwendung zweier Übereinstimmungswerte
CN101802867B (zh) * 2007-07-18 2012-11-21 新加坡南洋理工大学 提供图形数据以及显示图形数据的方法
TWI475890B (zh) * 2008-10-14 2015-03-01 Univ Nat Taiwan 用於需要善用電量之多媒體裝置的高效率區塊比對的大型積體電路架構及方法
KR101279573B1 (ko) * 2008-10-31 2013-06-27 에스케이텔레콤 주식회사 움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
CN101819625B (zh) * 2009-02-27 2014-11-12 富士通株式会社 识别设备和识别方法
US9082278B2 (en) * 2010-03-19 2015-07-14 University-Industry Cooperation Group Of Kyung Hee University Surveillance system
GB201007351D0 (en) * 2010-04-30 2010-06-16 Imagination Tech Ltd Varying temporal interpolation in a motion compensated frame interpolation system
KR20120016991A (ko) * 2010-08-17 2012-02-27 오수미 인터 프리딕션 방법
CN103392340B (zh) 2011-03-14 2017-02-08 寰发股份有限公司 推导运动向量预测子的方法与装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US5418617A (en) * 1991-08-08 1995-05-23 Matsushita Electric Corporation Of America Motion compensation using minimum bits per motion block as criterion for block matching
DE69217150T2 (de) * 1991-09-30 1997-07-17 Philips Electronics Nv Bewegungsvektorschätzung, Bewegungsbildkodierung- und -speicherung
US5412435A (en) * 1992-07-03 1995-05-02 Kokusai Denshin Denwa Kabushiki Kaisha Interlaced video signal motion compensation prediction system
US5398068A (en) * 1993-09-02 1995-03-14 Trustees Of Princeton University Method and apparatus for determining motion vectors for image sequences

Also Published As

Publication number Publication date
JP4198206B2 (ja) 2008-12-17
JPH09154137A (ja) 1997-06-10
ES2216028T3 (es) 2004-10-16
EP0762776A3 (de) 1999-09-08
US5745183A (en) 1998-04-28
EP0762776A2 (de) 1997-03-12
CN1149233A (zh) 1997-05-07
EP0762776B1 (de) 2004-04-21
KR970014361A (ko) 1997-03-29
CN1227911C (zh) 2005-11-16
DE69632232D1 (de) 2004-05-27
KR100464995B1 (ko) 2005-05-19

Similar Documents

Publication Publication Date Title
DE69632232T2 (de) Verfahren und Vorrichtung zur Komprimierung von Videoinformationen mit bewegungsabhängiger Prädiktion
DE69031045T2 (de) Einrichtung zur adaptiven Zwischenbild-Prädiktionsdekodierung eines Videosignals
DE69839100T2 (de) Verbesserte Videokodierung unter Verwendung von adaptiven Blockparametern für kodierte/unkodierte Blöcke
DE69233620T2 (de) Adaptive Kodierung und Dekodierung von Vollbildern und Halbbildern von Videosignalen
DE60204447T2 (de) Verfahren zur codierung und decodierung von bewegungsschätzungen
DE69908562T2 (de) Bewegungsvektorenextrapolation zur transkodierung von videosequenzen
DE60015566T2 (de) Verfahren und vorrichtung zur komprimierung eines bewegungsvektorfeldes
DE69021500T2 (de) Bedingungsgemässe bewegungskompensierte Interpolation von digitalen Bewegtbildsignalen.
DE69928010T2 (de) Erhöhte videowiedergabebildfrequenz in videoanwendungen
DE69834348T2 (de) Verfahren und vorrichtung zur bewegungsvektorkodierung eines binären kontursignals
DE69629137T2 (de) Bildkodierungsgerät und Bilddekodierungsgerät
DE69726508T2 (de) Optimale Disparitätsschätzung zur Kodierung stereoskopischer Videosignale
DE69826823T2 (de) Verfahren zur videocodierung mit variabler bitrate und entsprechender videocodierer
DE69118654T2 (de) Progressives Signalkodierungssystem für bewegte Bilder
DE69120139T2 (de) Gerät und Verfahren zur adaptiven Kompression von aufeinanderfolgenden Blöcken eines digitalen Videosignals
DE60014444T2 (de) Verfahren und vorrichtung zur bewegungsschätzung unter verwendung von nachbarmacroblöcken
DE19704439C2 (de) Verfahren und Vorrichtung zur Bewegungsschätzung in einem digitalen Videocodierer unter Verwendung von Trajektorien
DE69735756T2 (de) Dynamische steuerung der kodierrate in einem blockbasierten videokodierungssystem
DE4206280C2 (de) Verfahren zum Aufzeigen eines Bewegungsvektors
DE69820142T2 (de) Dekodierverfahren für bewegte Bilder, und dementsprechendes Dekodiergerät
DE69301297T2 (de) Verfahren zur Fehlerverdeckung für die Übertragung von MPEG-kodierten Bildern
WO2008034715A2 (de) Verfahren zur datenkompression in einer videosequenz
DE60312960T2 (de) Kodierungsverfahren und Dekodierungsverfahren für bewegliche Bilder
DE69834901T2 (de) Bewegungskompensierte prädiktive bildcodierung und -decodierung
DE4442643B4 (de) Verfahren zum Abschätzen der Bewegung in einem Bewegtbild

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
R082 Change of representative

Ref document number: 762776

Country of ref document: EP

Representative=s name: MANFRED ROSSMANITH, DE