DE102004021854A1 - Vorrichtung für sowohl eine Block-Matching Motion Compensation als auch eine Global Motion Compensation sowie Verfahren hierfür - Google Patents

Vorrichtung für sowohl eine Block-Matching Motion Compensation als auch eine Global Motion Compensation sowie Verfahren hierfür Download PDF

Info

Publication number
DE102004021854A1
DE102004021854A1 DE102004021854A DE102004021854A DE102004021854A1 DE 102004021854 A1 DE102004021854 A1 DE 102004021854A1 DE 102004021854 A DE102004021854 A DE 102004021854A DE 102004021854 A DE102004021854 A DE 102004021854A DE 102004021854 A1 DE102004021854 A1 DE 102004021854A1
Authority
DE
Germany
Prior art keywords
interpolation
macroblock
motion vector
motion compensation
macroblocks
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.)
Withdrawn
Application number
DE102004021854A
Other languages
English (en)
Inventor
Chi-Cheng Ju
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.)
MediaTek Inc
Original Assignee
MediaTek 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 MediaTek Inc filed Critical MediaTek Inc
Publication of DE102004021854A1 publication Critical patent/DE102004021854A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/527Global motion vector estimation
    • 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/523Motion estimation or motion compensation with sub-pixel accuracy

Abstract

Eine Interpolationseinheit (312) empfängt einen eingehenden Video-Bit-Strom mit einer Vielzahl von Vollbildern mit ersten Makroblöcken, kodiert unter Verwendung einer Block-Matching-Motion-Compensation, und zweiten Makroblöcken, kodiert unter Verwendung einer Global-Motion-Compensation. Eine Übersetzungseinheit (304) vollführt eine Umwandlung von Globalwanderungsparametern (108), enthalten in einem aktuellen Vollbild des eingehenden Video-Bit-Stroms, in einen Gesamtbewegungsvektor. Die Interpolationseinheit (312) vollführt Luminanz- und Chrominanz-Interpolationsvorgänge an jedem Makroblock, enthalten in jedem Vollbild in dem eingehenden Video-Bit-Strom. Bei einem Verarbeiten eines aktuellen Makroblocks führt, wenn der aktuelle Makroblock unter Verwendung einer Global-Motion-Compensation kodiert ist, die Interpolationseinheit (312) die Luminanz-Interpolationsvorgänge gemäß dem Gesamtbewegungsvektor bei einer Halbpixelauflösung aus und führt die Chrominanz-Interpolationsvorgänge bei einer Viertelpixelauflösung aus. Wenn der aktuelle Makroblock unter Verwendung einer Block-Matching-Motion-Compensation kodiert ist, führt die Interpolationseinheit (312) die Luminanz- und Chrominanz-Interpolationsvorgänge gemäß dem in dem aktuellen Makroblock enthaltenen Makroblock-Bewegungsvektor bei einer Halbpixelauflösung aus.

Description

  • Die vorliegende Erfindung betrifft eine Vorrichtung, welche fähig ist zum Durchführen sowohl einer Blockübereinstimmungs-Bewegungskompensation, d. h. Block-Matching Motion Compensation, als auch einer Gesamtbewegungskompensation, d. h. Global Motion Compensation, gemäß den Oberbegriffen von Ansprüchen 1, 13 und 24.
  • Bewegtbild-Videoanzeigen, welche analoge Videosignale verwenden, waren lange Zeit in der Form von Fernsehen erhältlich. Mit den jüngsten Fortschritten im Hinblick auf Computerverarbeitungsfähigkeiten und die Erschwinglichkeit werden Bewegtbild-Videoanzeigen, welche digitale Videosignale verwenden, immer häufiger angewandt. Digitale Videosysteme liefern bedeutende Verbesserungen gegenüber herkömmlichen analogen Videosystemen im Hinblick auf ein Erzeugen, Modifizieren, Übertragen, Speichern und Abspielen von Bewegtbild-Videosequenzen.
  • Jedoch sind die Mengen digitaler Zeileninformationen, welche in Videosequenzen enthalten sind, beträchtlich. Eine Speicherung und Übertragung dieser Mengen von Videoinformationen sind mittels einer herkömmlichen Personalcomputereinrichtung nicht durchführbar. Betrachtet sei beispielsweise eine digitalisierte Form eines VHS-Bildformats von verhältnismäßig niedriger Auflösung mit einer Auflösung von 320×480 Pixeln. Ein Spielfilm mit einer Dauer von zwei Stunden entspricht bei dieser Auflösung 100 Gigabyte digitaler Videoinformationen. Vergleichsweise haben herkömmliche CD-ROM-Discs Kapazitäten von etwa 0,7 Gigabyte, und DVD-Discs haben Kapazitäten von bis zu 8 Gigabyte.
  • Um den Begrenzungen im Hinblick auf ein Speichern und Übertragen derartiger großer Mengen von digitalen Videoinformationen zu begegnen, wurden verschiedene Videokomprimierungsstandards oder Prozesse eingerichtet, einschließlich MPEG-1, MPEG-2, MPEG-4 und H.26X. Diese Videokomprimierungstechniken verwenden noch immer Bildkomprimierungstechniken, bezeichnet als Intraframe-Korrelation der individuellen Vollbilder, sowie Ähnlichkeiten zwischen aufeinanderfolgenden Vollbilder, bezeichnet als Interframe-Korrelation, um die digitalen Videoinformationen zu kodieren und einen hohen Komprimierungsfaktor zu liefern.
  • Eine Block-Matching Motion Compensation (BM-Motion Compensation) ist eine im Stand der Technik bekannte Technik zum Kodieren digitaler Videoinformationen. Wenn eine Bildsequenz wandernde Gegenstände zeigt, kann deren Bewegung innerhalb der Sequenz zum Erzeugen eines Bewegungsvektors für einen das wandernde Objekt enthaltenden bestimmten Block verwendet werden, auch bezeichnet als ein Makroblock. Dieser Bewegungsvektor kann verwendet werden, um vorherzusagen, wo der Makroblock später in der Sequenz sein wird. Statt eines Übertragens eines neuen Bilds können die Bewegungsvektoren für Makroblöcke, welche die wandernden Gegenstände enthalten, gesendet werden. Eine Block-Matching Motion Compensation verringert erheblich die Daten, welche übertragen werden müssen für Bildsequenzen, welche wandernde Gegenstände enthalten. Jedoch müssen, wenn das gesamte Bild eine Verschiebung, eine Expansion, eine Kontraktion oder eine Drehung erfährt, die Bewegungsvektoren von sämtlichen Makroblöcken übertragen werden, was die Kodierleistung erheblich vermindert. Um dieses Problem zu lösen, sind Global-Motion-Compensation-Verfahren (GMC-Verfahren) im Stand der Technik gut bekannt, wie etwa die "Sprite"-Kodiertechniken, verwendet in MPEG-4 (das heißt, ISO/IEC 14496-2). Diese Global-Motion-Compensation-Verfahren berücksichtigen Gesamtbildänderungen zwischen einem vorhergehenden Vollbild und dem aktuellen Vollbild. Gesamtbewegungsparameter, welche verknüpft sind mit jedem Vollbild, werden verwendet zum Spezifizieren individueller Bewegungsvektoren für alle Pixel in jedem Makroblock, kodiert unter Verwendung einer Global Motion Compensation. Auf diese Weise ist für jedes Vollbild lediglich ein Satz von Gesamtbewegungsparametern erforderlich, was die Kodierleistung für Videosequenzen mit Gesamtbildänderungen erhöht.
  • Ein typischer Videodekodierer verwendet einen Prädiktionsbildsynthesizer zum Durchführen der Motion Compensation und Gewinnen von Prädiktionsblöcken von mindestens einem dekodierten Bild, welches ein zuvor dekodiertes Vollbild, gespeichert in einem Vollbildspeicher, ist. Der Prädiktionsbildsynthesizer 126 führt entweder eine Block-Matching-Motion-Compensation oder eine Global-Motion-Compensation gemäß dem Kodierungstyp, welcher verwendet wird für den bestimmten Makroblock, durch. Jedoch erfordern Videodekodierer, welche sowohl eine Block-Matching-Motion-Compensation als auch eine Global-Motion-Compensation unterstützen, die Verwendung zweier verschiedener Bildsynthesizer. Ein BM-Bildsynthesizer synthetisiert das Prädiktionsbild für Blöcke, welche kodiert werden unter Verwendung einer Block-Matching-Motion-Compensation, und ein GMC-Bildsynthesizer 210 synthetisiert das Prädiktionsbild für Blöcke, welche kodiert werden unter Verwendung einer Global-Motion-Compensation. Dies ist eine nicht optimale Realisierung und erhöht die Komplexität sowie die Kosten des Videodekodierers.
  • Vor diesem Hintergrund ist es eine Aufgabe der vorliegenden Erfindung, eine Vorrichtung zu schaffen, welche fähig ist zu einem Durchführen eines Bewegungsausgleichs bei Makroblöcken, kodiert unter Verwendung einer Block-Matching-Motion- Compensation, und/oder bei Makroblöcken, kodiert unter Verwendung einer Global-Motion-Compensation.
  • Diese Aufgabe wird gelöst durch eine Vorrichtung, ein Verfahren und einen Prädiktionsbildsynthesizer gemäß Ansprüchen 1, 13 bzw. 24. Die abhängigen Ansprüche gehören zu entsprechenden Weiterentwicklungen und Verbesserungen.
  • Wie deutlicher aus der nachfolgenden genauen Beschreibung hervorgeht, vollführen die Vorrichtung, das Verfahren und der Prädiktionsbildsynthesizer, welche dargelegt sind in den Ansprüchen, Interpolationsvorgänge an Makroblöcken, kodiert unter Verwendung einer Global-Motion-Compensation, gemäß einem Globalbewegungsvektor, welcher abgeleitet wird aus dem Video-Bit-Strom und in einer Form vorliegt, welche im wesentlichen identisch ist mit derjenigen des Makroblock-Bewegungsvektors.
  • Im folgenden wird die Erfindung weiter beispielhaft erläutert unter Bezugnahme auf die beiliegende Zeichnung; es zeigt
  • 1 einen typischen Videodekodierer gemäß dem Stand der Technik;
  • 2 ein Blockdiagramm des Prädiktionsbildsynthesizers von 1 gemäß dem Stand der Technik;
  • 3 ein Blockdiagramm eines erfindungsgemäßen Prädiktionsbildsynthesizers;
  • 4 ein Diagramm einer Halbpixel-Interpolation für einen Luminanz- und Chrominanz-Blockabgleich-Ausgleich, durchgeführt durch den Prädiktionsbildsynthesizer von 3;
  • 5 eine Matrix, welche eine Halbpixel-Interpolation für das Diagramm von 4 darstellt;
  • 6 ein Diagramm einer Global-Motion-Compensation gemäß dem Stand der Technik;
  • 7 eine Matrix einer Halbpixel-Interpolation für eine Luminanz-Global-Motion-Compensation, durchgeführt durch den Prädiktionsbildsynthesizer von 3;
  • 8 eine Matrix einer Viertelpixel-Interpolation für eine Chrominanz-Global-Motion-Compensation, durchgeführt durch den Prädiktionsbildsynthesizer von 3; und
  • 9 ein Flussdiagramm eines erfindungsgemäßen Verfahrens zur Verarbeitung eines eingehenden kodierten Video-Bit-Stroms mit einer Vielzahl von Vollbildern.
  • 1 zeigt einen typischen Videodekodierer 100 gemäß dem Stand der Technik, wie offenbart im US-Patent Nr. 6 483 877. Der Videodekodierer 100 empfängt einen eingehenden kodierten Video-Bit-Strom 102, welcher durch einen Demultiplexer 104 getrennt wird in quantisierte diskret Kosinus-transformierte Koeffizienten 106 (DCT-Koeffizienten 106), einen Makroblock-Bewegungsvektor und Globalwanderungsparameter 108 sowie ein Intraframe/Interframe-Unterscheidungsflag 110. Der quantisierte DCT-Koeffizient 106 wird dekodiert zu einem Fehlerbild 116 durch einen inversen Quantisierer 112 und einen inversen DCT-Prozessor 114. Ein Ausgabebild 118 einer Interframe/Intraframe-Schalteinheit 120 wird hinzugefügt zu dem Feh lerbild 116 durch einen Addierer 122 zur Bildung eines rekonstruierten Bilds 124.
  • Die Interframe/Intraframe-Schalteinheit 120 schaltet ihre Ausgabe 118 gemäß dem Interframe/Intraframe-Kodier-Unterscheidungsflag 110. Ein Prädiktionsbildsynthesizer 126 synthetisiert ein Prädiktionsbild 128, welches verwendet wird zur Ausführung der Interframe-Kodierung. Der Prädiktionsbildsynthesizer 126 führt einen Wanderungsausgleichsvorgang aus und ruft Prädiktionsblöcke von mindestens einem dekodierten Bild 130 ab, welches ein zuvor dekodiertes Vollbild, gespeichert in einem Vollbildspeicher 128, ist. Der Prädiktionsbildsynthesizer 126 vollführt entweder eine Block-Matching-Motion-Compensation oder eine Global-Motion-Compensation gemäß dem Kodierungstyp, welcher verwendet wird für einen bestimmten Makroblock. Im Falle einer Intrafame-Kodierung gibt die Interframe/Intraframe-Schalteinheit 120 das "0"-Signal 132 aus, und die Ausgabe des Prädiktionsbildsynthesizers 126 wird nicht verwendet.
  • 2 zeigt ein genaueres Blockdiagramm des Prädiktionsbildsynthesizers 126 von 1 gemäß dem Stand der Technik. Der Prädiktionsbildsynthesizer 126 verarbeitet eine Global-Motion-Compensation und eine Block-Matching-Motion-Compensation parallel. Der Makroblock-Bewegungsvektor und die Gesamtbewegungsparameter 128 werden eingegeben in einen Demultiplexer 202, welcher Gesamtbewegungsparameter 204, einen Makroblock-Bewegungsvektor 216 und ein Auswahlsignal 208, welches eine Block-Matching/Global-Motion-Compensation spezifiziert, an einen GMC-Bildsynthesizer 210, einen BM-Bildsynthesizer 212 bzw. einen Schalter 214 liefert. Der BM-Bildsynthesizer 212 synthetisiert das Prädiktionsbild für Blöcke, welche kodiert werden unter Verwendung einer Block-Matching-Motion-Compensation, und der GMC-Bildsynthesizer 210 synthetisiert das Prädiktionsbild für Blöcke, welche kodiert werden unter Verwendung einer Global-Motion-Compensation. Die jeweiligen Prädiktionsbilddaten 216 und 218 werden ausgegeben zu dem Schalter 214, welcher eines dieser Signale auswählt gemäß dem Auswahlsignal 208, empfangen von dem Demultiplexer 202. Das Prädiktionsbild 128 wird anschließend ausgegeben zu der Schalteinheit 120, wie dargestellt in 1.
  • Wie aus der obigen Beschreibung hervorgeht, erfordern Videodekodierer, welche sowohl eine Block-Matching-Motion-Compensation als auch eine Global-Motion-Compensation unterstützen, die Verwendung zweier verschiedener Bildsynthesizer. Ein erster Bildsynthesizer 212 wird verwendet für eine Block-Matching-Motion-Compensation, und ein zweiter Bildsynthesizer 210 wird verwendet für eine Global-Motion-Compensation. Bei einem Verarbeiten von Blöcken, welche kodiert werden unter Verwendung eines Blockabgleich-Bildausgleichs, ist der GMC-Bildsynthesizer 210 im Ruhezustand. Ebenso ist bei einem Verarbeiten von Blöcken, welche kodiert werden unter Verwendung einer Global-Motion-Compensation, der BM-Bildsynthesizer 212 im Ruhezustand. Diese nicht optimale Lösung, bei welcher zwei Bildsynthesizer erforderlich sind, erhöht die Hardware-Komplexität des Videodekodierers und führt zu höheren Kosten. Es wäre vorteilhaft, die Funktionalität des GMC-Synthesizers 210 und des BM-Synthesizers 212 zu einer integrierten Einheit zu kombinieren.
  • 3 ist ein Blockdiagramm eines erfindungsgemäßen Prädiktionsbildsynthesizers 300. Der Prädiktionsbildsynthesizer 300 kann verwendet werden in einem Videodekodierer, wie etwa dem Videodekodierer 100, dargestellt in 1. In 3 sind sämtliche Signale, welche dieselben Informationen wie Signale in 1 enthalten, bezeichnet unter Verwendung derselben Bezugszeichen wie in 1. Der Prädiktionsbildsynthesizer 300 umfasst einen Demultiplexer 302, eine Übersetzungseinheit 304, eine Makroblock-MV-Speichereinheit (Makroblock-Bewegungsvektor-Speichereinheit) 306, eine Gesamt-MV-Speichereinheit (Gesamtbewegungsvektor-Speichereinheit) 308, eine Schalteinheit 310 und eine Interpolationseinheit 312. Der Demultiplexer 302 empfängt den Makroblock-Bewegungsvektor und die Gesamtbewegungsparameter 108, abgeleitet aus dem eingehenden kodierten Video-Bit-Strom. Zu Beginn jedes Vollbilds werden die Globalwanderungsparameter 307 zu der Übersetzungseinheit 304 geführt. Die Übersetzungseinheit 304 wandelt die Gesamtbewegungsparameter 307 um in einen Gesamtbewegungsvektor für Luminanz (Luminanz-Gesamtbewegungsvektor) und einen Gesamtbewegungsvektor für Chrominanz (Chrominanz-Gesamtbewegungsvektor). Der Luminanz-Gesamtbewegungsvektor und der Chrominanz-Gesamtbewegungsvektor können verwendet werden während Interpolationsvorgängen an dem Makroblockniveau für sämtliche Makroblöcke, welche kodiert werden unter Verwendung einer Global-Motion-Compensation, durch das Vollbild hindurch. Der Luminanz-Gesamtbewegungsvektor und der Chrominanz-Gesamtbewegungsvektor werden gespeichert in der Gesamt-MV-Speichereinheit 308. Für sämtliche Makroblöcke, welche kodiert werden unter Verwendung einer Block-Matching-Motion-Compensation, ist mindestens ein Makroblock-Bewegungsvektor innerhalb des Makroblocks enthalten. Der Makroblock-Bewegungsvektor 305 ist enthalten innerhalb der Makroblock-Bewegungsvektoren und der Gesamtbewegungsparameter 108 und wird geführt zu dem Prädiktionsbildsynthesizer 300. Der Makroblock-Bewegungsvektor 305 wird dann in der Makroblock-MV-Speichereinheit 306 gespeichert. Gemäß der MPEG-4-Spezifikation ist der Makroblock-Bewegungsvektor 305 tatsächlich ein Makroblock-Bewegungsvektor für Luminanz (Luminanz- Makroblock-Bewegungsvektor). Ein Makroblock-Bewegungsvektor für Chrominanz (Chrominanz-Makroblock-Bewegungsvektor) kann erhalten werden durch Ausführen einer Berechnung bezüglich des Luminanz-Makroblock-Bewegungsvektors. Um den Platz des Makroblock-MV-Speichers 306 zu sparen, wird lediglich der Makroblock-Bewegungsvektor 305 (das heißt, der Luminanz-Makroblock-Bewegungsvektor) in dem Makroblock-MV-Speicher 306 gespeichert. Der Chrominanz-Makroblock-Bewegungsvektor wird berechnet und erhalten in der Interpolationseinheit 312 bei diesem Ausführungsbeispiel. Es sei darauf hingewiesen, dass die Makroblock-MV-Speichereinheit 306 auch ersetzt werden kann durch eine Geradeausverbindung mit der Schalteinheit 310 bei einem anderen Ausführungsbeispiel der vorliegenden Erfindung. Die Schalteinheit 310 wird verwendet entweder zum Führen des Makroblock-Bewegungsvektors von dem Makroblock-MV-Speicher 306 oder des Luminanz/Chrominanz-Gesamtbewegungsvektors von der Global-MV-Speichereinheit 308 zu der Interpolationseinheit 312 gemäß dem Bewegungsausgleich-Typ 316.
  • Die Interpolationseinheit 312 liest mindestens einen Prädiktionsblock in einem dekodierten Bild 130, und die Stelle des Prädiktionsblocks in dem dekodierten Bild wird bestimmt durch den Bewegungsvektor 314, empfangen von der Schalteinheit 310. Die Interpolationseinheit 312 vollführt dann sowohl Luminanz- als auch Chrominanz-Interpolationsvorgänge des entsprechenden Prädiktionsblocks. Der empfangene Bewegungsvektor 314 kann der Makroblock-Bewegungsvektor, abgerufen von der Makroblock-MV-Speichereinheit 306, oder der Luminanz/Chrominanz-Gesamtbewegungsvektor, abgerufen von der Gesamt-MV-Speichereinheit 308, sein. Die Interpolationseinheit 312 empfängt das dekodierte Bild 130 und den Bewegungsvektor 314, führt Interpolationsvorgänge aus und gibt ein Prädiktionsbild 128 aus, welches verwendet wird zur Ausführung der Interframe- Kodierung in einem Videodekodierer, wie etwa dem Videodekodierer 100, dargestellt in 1. Die Interpolationseinheit 312 kann ferner einen Puffer 313 zum temporären Speichern des Interpolationsvorgangsergebnisses entsprechend den verschiedenen Makroblock-Bewegungsvektoren in einem Makroblock umfassen, um die Interpolationsvorgänge eines Makroblocks richtig auszuführen. Beispielsweise kann bei einem Durchführen einer bidirektionalen Interpolation für einen Block-Matching-Makroblock die Interpolationseinheit 312 das Vorwärtsprädiktions-Interpolationsergebnis in dem Puffer 313 temporär speichern, mit dem späteren Rückwärtsprädiktions-Interpolationsergebnis kombinieren und anschließend das bidirektionale Interpolationsendergebnis erhalten.
  • Zur weiteren Erläuterung der durch die Interpolationseinheit 312 durchgeführten Luminanz- und Chrominanz-Interpolationsvorgänge sei verwiesen auf 4 und 5. 4 ist ein Diagramm zur Darstellung einer Halbpixel-Interpolation für einen Luminanz- und Chrominanz-Block-Matching-Compensation, durchgeführt durch den Prädiktionsbildsynthesizer 300 von 3. 5 ist eine Matrix zur Darstellung der resultierenden Halbpixel-Bilinear-Interpolation für das Diagramm von 4. In 4 sind vier Ganzpixel-Positionen (A, B, C, D), bezeichnet in 5 als (IA, IB, IC und ID), sowie fünf Halbpixel-Positionen, bezeichnet in 5 als (H1, H2, H3, H4, H5), vorhanden. Bei einem Durchführen eines Bewegungsausgleichs für Makroblöcke, kodiert unter Verwendung einer Block-Matching-Motion-Compensation, verwendet die vorliegende Erfindung denselben Halbpixel-Bilinear-Interpolationsprozess des Standes der Technik. Zur kurzen Beschreibung der Bilinear-Interpolationsberechnungen zeigen die nachfolgenden Formeln die Interpolationsberechnungen für die Pixelpositionen: IA, H1, H2 und H3. (Die übrigen Pixelpositionen werden berechnet in derselben Weise wie bekannt im Stand der Technik.) IA = IA H1 = (IA + IB + 1 – rounding control)/2 H2 = (IA + IC + 1 – rounding control)/2 H3 = (IA + IB + IC + ID + 2 – rounding control)/4..., wobei der Rounding_Control-Parameter ein Wert von 0 oder 1 ist und abgeleitet wird aus dem eingehenden kodierten Video-Bit-Strom.
  • 6 zeigt ein Diagramm zur Darstellung einer Global-Motion-Compensation gemäß dem Stand der Technik. Eine Global-Motion-Compensation gemäß dem Stand der Technik beinhaltet ein Umwandeln der Gesamtbewegungsparameter in einen individuellen Bewegungsparameter für jeden Pixel in jedem Makroblock, kodiert unter Verwendung einer Global-Motion-Compensation. In 6 sind wieder vier Ganzpixel-Positionen (Y00, Y01, Y10 und Y11) sowie eine Nicht-Ganzpixel-Position Y vorhanden. Die Nicht-Ganzpixel-Position Y hat eine Vertikaldistanz von (rj/s) und eine Horizontalposition von (ri/s), wobei s spezifiziert ist durch Sprite Warping Accuracy, wie definiert in der MPEG-4 (ISO/IEC 14496-2)-Spezifikation. Die vorliegende Erfindung nutzt die Tatsache, dass bei einem Setzen des Parameters No_Of_Sprite_Warping_Point in MPEG-4 auf einen Wert von 0 oder einen Wert von 1 die Gesamtbewegungsparameter umgewandelt werden können in einen Gesamtbewegungsvektor mit demselben Wert für alle Pixel in diesem Vollbild. Dies bedeutet, dass statt einer Durchführung einer Global-Motion-Compensation auf einer Pro-Pixel-Basis, wie dies beim Stand der Technik der Fall ist, die vorliegende Erfindung auch eine Global-Motion-Compensation auf einer Pro-Makroblock-Basis unter Verwendung eines einzigen Bewegungsvektors für jeden Makroblock durchführen kann. Auf diese Weise wird beinahe dieselbe Hardware, die bei dem BM-Bildsynthesizer 212 des Standes der Technik verwendet wird, verwendet zur Durchführung sowohl einer Block-Matching-Motion-Compensation als auch einer Global-Motion-Compensation bei der vorliegenden Erfindung.
  • 7 zeigt ein Diagramm, welches eine Halbpixel-Bilinear-Interpolation für eine Luminanz-Global-Motion-Compensation, durchgeführt durch die Interpolationseinheit 312 von 3, darstellt. Wenn der Parameter No_Of_Sprite_Warping_Point in MPEG-4 auf einen Wert von 0 oder einen Wert von 1 gesetzt wird, können die Luminanz-Interpolationsvorgänge von 6 reduziert werden auf die in 7 dargestellte Matrix. Die in 7 dargestellte Matrix ist äquivalent zu der in 5 dargestellten Matrix, und dies impliziert die Luminanz- und Chrominanz-Interpolationsvorgänge für einen Blockabgleich-Ausgleich, und die Luminanz-Interpolationsvorgänge für eine Global-Motion-Compensation können durchgeführt werden unter Verwendung derselben Interpolationseinheit 312 bei einer Halbpixelauflösung.
  • 8 ist ein Diagramm, welches eine Viertelpixel-Bilinear-Interpolation für eine Chrominanz-Global-Motion-Compensation, durchgeführt durch die Interpolationseinheit 312 von 3, darstellt. Wenn der Parameter No_Of_Sprite_Warping_Point in MPEG-4 auf einen Wert von 0 oder einen Wert von 1 gesetzt wird, können die Chrominanz-Interpolationsvorgänge von 5 reduziert werden auf die in 7 dargestellte Matrix. 7 ist einfach eine Viertelpixel-Matrix, welche gelöst wird unter Verwendung desselben Bilinear-Interpolationsprozesses wie bei der Halbpixel-Matrix, jedoch bei zweifacher Auflösung. Zur kurzen Beschreibung der Interpolationsberechnungen bei einem Viertelpixel zeigen die nachfolgenden Formeln die Interpolationsberechnungen für die Pixelpositionen: IA, Q1, H2, Q4, Q5, Q6, H9, Q10 und H11. (Die übrigen Pixelpositionen werden in derselben Weise berechnet.) IA = IA Q1 = (3 IA + IB + 2 – rounding control)/4 H2 = (IA + IB + 1 – rounding control)/2 Q4 = (3 IA + IC + 2 – rounding control)/4 Q5 = (9 IA + 3 IB + 3 IC + ID + 8 – rounding control)/16 Q6 = (3 IA + 3 IB + IC + ID + 4 – rounding control)/8 H9 = (IA + IC + 1 – rounding control)/2 Q10 = (3 IA + IB + 3 IC + ID + 4 – rounding control)/8 H11 = ( IA + IB + IC + ID + 2 – rounding control)/4..., wobei der Parameter Rounding Control ein Wert von 0 oder 1 ist und abgeleitet wird aus dem eingehenden kodierten Video-Bit-Strom.
  • Es sei darauf hingewiesen, dass die Übersetzungseinheit 304 die Gesamtbewegungsparameter 307, empfangen von jedem Vollbild, umwandelt in einen Luminanz-Gesamtbewegungsvektor und einen Chrominanz-Gesamtbewegungsvektor für das Vollbild. Die folgenden Formeln beschreiben den Umwandlungsprozess, realisiert durch die Übersetzungseinheit 304, zum Umwandeln der Gesamtbewegungsparameter in die Luminanz/Chrominanz-Gesamtbewegungsvektoren, welche verwendet werden während Interpolationsvorgängen für Makroblöcke, kodiert unter Verwendung einer Global-Motion-Compensation, wobei No_Of_Sprite_Warping_Point gleich 0 bzw. No-Of_Sprite_Warping_Point gleich 1 ist. Der Luminanz-Gesamtbewegungsvektor ist ein Halbpixel-Genauigkeit-Bewegungsvektor, und der Chrominanz-Gesamtbewegungsvektor ist ein Viertelpixel-Genauigkeit-Bewegungsvektor. Daher können diese unter Verwendung einer Global-Motion-Compensation kodierten Makroblöcke so behandelt werden, als wären sie Blockabgleich-Makroblöcke mit einem Prädiktionsmodus von "Frame_Prediction" und mit den nachfolgenden Luminanz/Chrominanz-Gesamtbewegungsvektoren jeweils für die Luminanz/Chrominanz-Komponenten.
  • Für GMC-Makroblöcke mit (No_Of_Sprite_Warping-Point == 0), (Sprite_Enable == 'GMC') und (Video_Object_Layer_Shape == Rectangle') gilt: MVGMC_Y = (MVx GMC_Y, MVy GMC_Y) = (0,0) MVGMC_CbCr = (MVx GMC_CbCr, MVy GMC_CbCr) = (0,0)
  • Für GMC-Makroblöcke mit (No_Of_Sprite_Warping_Point == 1), (Sprite_Enable == 'GMC') und (Video_Object_Layer-Shape == 'Rectangle') gilt.
    Figure 00140001
    wobei du[0] und dv[0] die Globalwanderungsparameter, abgeleitet aus dem eingehenden kodierten Video-Bit-Strom, sind und s spezifiziert ist durch Sprite-Warping_Accuracy, wie definiert in der MPEG-4 (ISO/IEC 14496-2)-Spezifikation.
  • Es sei darauf hingewiesen, dass die obigen Gleichungen gelten, wenn (No_Of_Sprite_Warping_Point == 0 oder 1), (Sprite_Enable == 'GMC') und (Video_Object_Layer_Shape == 'Rectangle') gilt. Jedoch kann die vorliegende Erfindung auch verwendet werden, wenn die Werte von Sprite_Enable und Video_Object_Layer_Shape verschieden sind. Fachleute auf diesem Gebiet werden erkennen, dass, solange (No_Of_Sprite_Warping_Point == 0 oder 1) gilt, die vorliegende Erfindung selbst dann anwendbar ist, wenn die Werte von Sprite_Enable und Video_Object_Layer_Shape verschieden von dem obigen sind und die Gleichungen verschieden werden.
  • 9 zeigt ein Flussdiagramm eines erfindungsgemäßen Verfahrens zur Verarbeitung eines eingehenden kodierten Video-Bit-Stroms mit einer Vielzahl von Vollbildern. Jedes Vollbild kann eine Vielzahl von unter Verwendung einer Block-Matching-Motion-Compensation kodierten Makroblöcken und/oder eine Vielzahl von unter Verwendung einer Global-Motion-Compensation kodierten Makroblöcken enthalten. Das Flussdiagramm enthält die folgenden Schritte:
    Schritt 900: Für jedes Vollbild, empfangen in dem eingehenden Videostrom, Umwandeln der Gesamtbewegungsparameter, welche verknüpft sind mit dem Vollbild, in einen Luminanz-Gesamtbewegungsvektor und einen Chrominanz-Gesamtbewegungsvektor. Speichern des Luminanz-Gesamtbewegungsvektors und des Chrominanz-Gesamtbewegungsvektors für spätere Global-Motion-Compensation-Luminanz/Chrominanz-Interpolationsvorgänge. Weiter mit Schritt 902.
    Schritt 902: Bei einem Dekodieren eines aktuellen Makroblocks, Bestimmen, ob der aktuelle Makroblock kodiert ist unter Verwendung einer Block-Matching-Motion-Compensation oder einer Global-Motion-Compensation. Wenn Block-Matching- Motion-Compensation, Fortfahren mit Schritt 904, andernfalls, wenn Global-Motion-Compensation, Fortfahren mit Schritt 908.
    Schritt 904: Extrahieren der Makroblock-Bewegungsvektoren, gespeichert in dem aktuellen Makroblock.
    Schritt 906: Ausführen der Luminanz- und Chrominanz-Bilinear-Interpolationsvorgänge gemäß den in Schritt 904 extrahierten Makroblock-Bewegungsvektoren. Verwenden einer Halbpixelauflösung sowohl für Luminanz als auch für Chrominanz. Verarbeitung Ende.
    Schritt 908: Ausführen des Luminanz-Bilinear-Interpolationsvorgangs gemäß dem in Schritt 900 gespeicherten Luminanz-Gesamtbewegungsvektor. Verwenden einer Halbpixelauflösung und Fortfahren mit Schritt 910, wenn beendet.
    Schritt 910: Ausführen des Chrominanz-Bilinear-Interpolationsvorgangs gemäß dem in Schritt 900 gespeicherten Chrominanz-Gesamtbewegungsvektor. Verwenden einer Viertelpixelauflösung und, wenn beendet, Verarbeitung Ende.
  • Im Gegensatz zum Stand der Technik vollführt die vorliegende Erfindung Bilinear-Interpolationsvorgänge an Makroblöcken, kodiert unter Verwendung einer Global-Motion-Compensation, gemäß einem Luminanz-Gesamtbewegungsvektor und einem Chrominanz-Gesamtbewegungsvektor, so dass die Block-Matching-Motion-Compensation und die Global-Motion-Compensation zu einer einzigen Einheit integriert werden können. Die Lumi nanz/Chrominanz-Gesamtbewegungsvektoren werden umgewandelt ausgehend von einem Satz von Gesamtbewegungsvektoren, übertragen mit jedem Vollbild in dem eingehenden kodierten Video-Bit-Strom. Für einen gemäß MPEG-4 kodierten Video-Bit-Strom mit GMC-Makroblöcken, bei welchem der Parameter No_Of-Sprite_Warping_Point entweder auf 1 oder 0 gesetzt ist, können die Global-Motion-Compensation-Berechnungen vereinfacht werden, so dass sie den Interpolationsvorgängen ähnlich sind, welche normalerweise für einen Blockabgleich durchgeführt werden. Der Unterschied ist, dass für die Chrominanz-Interpolationsvorgänge für unter Verwendung einer Global-Motion-Compensation kodierte Makroblöcke eine Viertelpixelauflösung verwendet wird. Für Luminanz- und Chrominanz-Interpolationsvorgänge für unter Verwendung einer Block-Matching-Motion-Compensation kodierte Makroblöcke und für die Luminanz-Interpolationsvorgänge für unter Verwendung einer Global-Motion-Compensation kodierte Makroblöcke wird eine Halbpixelauflösung verwendet.
  • Es sei darauf hingewiesen, dass, wenn ein Vollbild lediglich unter Verwendung einer Block-Matching-Motion-Compensation kodierte Makroblöcke enthält, möglicherweise keine mit dem Vollbild verknüpften Gesamtbewegungsparameter vorhanden sind. In einem solchen Fall führt die vorliegende Erfindung nicht den Umwandlungsprozess zum Umwandeln der Globalwanderungsparameter in einen Luminanz-Gesamtbewegungsvektor und einen Chrominanz-Gesamtbewegungsvektor durch, da keine mit dem Vollbild verknüpften Gesamtbewegungsparameter vorhanden sind.

Claims (31)

  1. Vorrichtung (300) zum Durchführen einer Motion Compensation bei einem Dekodieren eines eingehenden Video-Bit-Stroms mit einer Vielzahl von Vollbildern mit ersten Makroblöcken, kodiert unter Verwendung einer Block-Matching-Motion-Compensation, und zweiten Makroblöcken, kodiert unter Verwendung einer Global-Motion-Compensation, wobei die Vorrichtung umfasst: eine Interpolationseinheit (312) zum Durchführen von Interpolationsvorgängen an jedem Makroblock, enthalten in jedem Vollbild des eingehenden Videostroms (130); dadurch gekennzeichnet, dass bei einem Verarbeiten eines aktuellen Makroblocks wenn der aktuelle Makroblock unter Verwendung einer Global-Motion-Compensation kodiert ist, die Interpolationseinheit (312) die Interpolationsvorgänge gemäß einem Gesamtbewegungsvektor auf einer Pro-Makroblock-Basis durchführt.
  2. Vorrichtung (300) nach Anspruch 1, ferner gekennzeichnet durch eine Übersetzungseinheit (304) zum Umwandeln von Gesamtbewegungsparametern (307), verknüpft mit einem aktuellen Vollbild des eingehenden Videostroms, in den Gesamtbewegungsvektor zur Verwendung durch die Interpolationseinheit (312).
  3. Vorrichtung (300) nach Anspruch 2, dadurch gekennzeichnet, dass bei einem Verarbeiten des aktuellen Makroblocks, wenn der aktuelle Makroblock kodiert ist unter Verwendung einer Block-Matching-Motion-Compensation, die Interpolationseinheit (312) die Interpolationsvorgänge gemäß mindestens einem in dem aktuellen Makroblock enthaltenen Makroblock-Bewegungsvektor durchführt.
  4. Vorrichtung (300) nach Anspruch 3, ferner gekennzeichnet durch: eine Block-Matching-Bewegungsvektor-Speichereinheit (306) zum Speichern des Makroblock-Bewegungsvektors, extrahiert aus jedem unter Verwendung einer Block-Matching-Motion-Compensation kodierten Makroblock. eine Gesamtbewegungsvektor-Speichereinheit (308) zum Speichern des Gesamtbewegungsvektors, ausgegeben durch die Übersetzungseinheit (304); und einen Multiplexer (310) zum Auswählen, ob die Interpolationseinheit (312) den Makroblock-Bewegungsvektor oder den Gesamtbewegungsvektor verwendet; wobei bei einem Durchführen der Interpolationsvorgänge an unter Verwendung einer Block-Matching-Motion-Compensation kodierten Makroblöcken der Multiplexer (310) den in der Makroblock-Bewegungsvektor-Speichereinheit (306) gespeicherten Makroblock-Bewegungsvektor ausgibt an die Interpolationseinheit (312) und bei einem Durchführen der Interpolationsvorgänge an unter Verwendung einer Global-Motion-Compensation kodierten Makroblöcken der Multiplexer (310) den in der Gesamtbewegungsvektor-Speichereinheit (308) gespeicherten Gesamtbewegungsvektor ausgibt an die Interpolationseinheit (312).
  5. Vorrichtung (300) nach Anspruch 1, dadurch gekennzeichnet, dass die Interpolationsvorgänge Luminanz- und Chrominanz-Interpolationsvorgänge umfassen.
  6. Vorrichtung (300) nach Anspruch 5, dadurch gekennzeichnet, dass bei einem Durchführen der Luminanz-Interpolationsvorgänge an unter Verwendung einer Block-Matching-Motion-Compensation kodierten Makroblöcken die Interpolationseinheit (312) eine Halbpixelgenauigkeit verwendet.
  7. Vorrichtung (300) nach Anspruch 5, dadurch gekennzeichnet, dass bei einem Durchführen der Chrominanz-Interpolationsvorgänge an unter Verwendung einer Block-Matching-Motion-Compensation kodierten Makroblöcken die Interpolationseinheit (312) eine Halbpixelgenauigkeit verwendet.
  8. Vorrichtung (300) nach Anspruch 5, dadurch gekennzeichnet, dass bei einem Durchführen der Luminanz-Interpolationsvorgänge an unter Verwendung einer Global-Motion-Compensation kodierten Makroblöcken die Interpolationseinheit (312) eine Halbpixelgenauigkeit verwendet.
  9. Vorrichtung (300) nach Anspruch 5, dadurch gekennzeichnet, dass bei einem Durchführen der Chrominanz-Interpolationsvorgänge an unter Verwendung einer Global-Motion-Compensation kodierten Makroblöcken die Interpolationseinheit (312) eine Viertelpixelgenauigkeit verwendet.
  10. Vorrichtung (300) nach Anspruch 1, dadurch gekennzeichnet, dass die Vorrichtung (300) fähig ist zu einem Verarbeiten eines eingehenden MPEG-4-Videostroms.
  11. Vorrichtung (300) nach Anspruch 10, dadurch gekennzeichnet, dass die Vorrichtung (300) fähig ist zu einem Verarbeiten eines eingehenden MPEG-4-Videostroms, wobei ein Parameter No_Of_Sprite_Warping_Point entweder auf 0 oder 1 gesetzt ist.
  12. Vorrichtung (300) nach Anspruch 1, dadurch gekennzeichnet, dass bei einem Durchführen der Interpolationsvorgänge die Interpolationseinheit (312) einen Bilinear-Interpolationsprozess verwendet.
  13. Verfahren zur Verarbeitung eines eingehenden Video-Bit-Stroms mit einer Vielzahl von Vollbildern, wobei die Vielzahl von Vollbildern erste Makroblöcke, kodiert unter Verwendung einer Block-Matching-Motion-Compensation, und zweite Makroblöcke, kodiert unter Verwendung einer Global-Motion-Compensation, umfasst, wobei der Video-Bit-Strom Makroblock-Bewegungsvektoren, welche Bewegungsvektoren der ersten Makroblöcke anzeigen, und Gesamtbewegungsparameter, verknüpft mit der Vielzahl von Vollbildern, welche einen Bewegungsvektor jedes Pixels in den zweiten Makroblöcken anzeigen, umfasst, wobei das Verfahren gekennzeichnet ist durch: wenn ein aktueller Makroblock kodiert ist unter Verwendung einer Global-Motion-Compensation, Durchführen der Interpolationsvorgänge gemäß des Gesamtbewegungsvektors, welcher abgeleitet wird aus dem Video-Bit-Strom und in einer Form vorliegt, welche im wesentli chen identisch ist mit derjenigen des Makroblock-Bewegungsvektors.
  14. Verfahren nach Anspruch 13, ferner gekennzeichnet durch ein Umwandeln von Gesamtbewegungsparametern, verknüpft mit einem aktuellen Vollbild des eingehenden Videostroms, in den Gesamtbewegungsvektor.
  15. Verfahren nach Anspruch 13, ferner gekennzeichnet durch ein Ausführen der Interpolationsvorgänge gemäß einem in dem aktuellen Makroblock enthaltenen Makroblock-Bewegungsvektor, wenn der aktuelle Makroblock kodiert ist unter Verwendung einer Block-Matching-Motion-Compensation.
  16. Verfahren nach Anspruch 13, dadurch gekennzeichnet, dass die Interpolationsvorgänge Luminanz- und Chrominanz-Interpolationsvorgänge umfassen.
  17. Verfahren nach Anspruch 16, dadurch gekennzeichnet, dass bei einem Ausführen der Luminanz-Interpolationsvorgänge an unter Verwendung einer Block-Matching-Motion-Compensation kodierten Makroblöcken eine Halbpixelgenauigkeit verwendet wird.
  18. Verfahren nach Anspruch 16, dadurch gekennzeichnet, dass bei einem Ausführen der Chrominanz-Interpolationsvorgänge an unter Verwendung einer Block-Matching-Motion-Compensation kodierten Makroblöcken eine Halbpixelgenauigkeit verwendet wird.
  19. Verfahren nach Anspruch 16, dadurch gekennzeichnet, dass bei einem Ausführen der Luminanz-Interpolationsvorgänge an unter Verwendung einer Global-Motion-Compensation kodierten Makroblöcken eine Halbpixelgenauigkeit verwendet wird.
  20. Verfahren nach Anspruch 16, dadurch gekennzeichnet, dass bei einem Ausführen der Chrominanz-Interpolationsvorgänge an unter Verwendung einer Global-Motion-Compensation kodierten Makroblöcken eine Viertelpixelgenauigkeit verwendet wird.
  21. Verfahren nach Anspruch 13, dadurch gekennzeichnet, dass das Verfahren fähig ist zu einem Verarbeiten eines eingehenden MPEG-4-Videostroms.
  22. Verfahren nach Anspruch 13, dadurch gekennzeichnet, dass das Verfahren fähig ist zu einem Verarbeiten eines eingehenden MPEG-4-Videostroms mit einem entweder auf 0 oder auf 1 gesetzten Parameter No_Of_Sprite_Warping_Point.
  23. Verfahren nach Anspruch 13, dadurch gekennzeichnet, dass bei einem Ausführen der Interpolationsvorgänge ein Bilinear-Interpolationsprozess verwendet wird.
  24. Prädiktionsbildsynthesizer (300) in einem Videodekodierer (100) zum Dekodieren eines Video-Bit-Stroms und Erzeugen eines Prädiktionsbilds (128), wobei der Video-Bit-Strom eine Vielzahl von Vollbild mit ersten Makroblöcken, kodiert unter Verwendung einer Block-Matching-Motion-Compensation, und zweiten Makroblöcken, kodiert unter Verwendung einer Global-Motion-Compensation, umfasst, wobei der Video-Bit-Strom Makroblock-Bewegungsvektoren, welche Bewegungsvektoren der ersten Makroblöcke anzeigen, und Gesamtbewegungsparameter, verknüpft mit der Vielzahl von Vollbildern, welche einen Bewegungsvektor jedes Pixels in den zweiten Makroblöcken anzeigen, umfasst, wobei der Prädiktionsbildsynthesizer (300) gekennzeichnet ist durch: eine Übersetzungseinheit (304), welche die Gesamtbewegungsparameter (307) empfängt und die Gesamtbewegungsparameter (307) übersetzt in einen Gesamtbewegungsvektor, welcher in einer Form vorliegt, welche im wesentlichen identisch ist mit derjenigen des Makroblock-Bewegungsvektors, und eine Interpolationseinheit (312) zum Empfangen eines dekodierten Bilds (130), welches ein zuvor dekodiertes Vollbild ist, Empfangen des Gesamtbewegungsvektors, Ausführen von Interpolationsvorgängen und Erzeugen des Prädiktionsbilds (128).
  25. Prädiktionsbildsynthesizer (300) nach Anspruch 24, ferner gekennzeichnet durch einen Demultiplexer (302), welcher die Makroblock-Bewegungsvektoren und die Gesamtbewegungsparameter (108) empfängt und jeweils die Makroblock-Bewegungsvektoren (305) und die Gesamtbewegungsparameter (307) ausgibt, wobei die Gesamtbewegungsparameter (307) gesendet werden zu der Übersetzungseinheit (304) und übersetzt werden in einem Gesamtbewegungsvektor, welcher in einer Form vorliegt, welche im wesentlichen identisch mit derjenigen des Makroblock-Bewegungsvektors ist, und wobei die Interpolationseinheit (312) wahlweise den Makroblock-Bewegungsvektor oder den Gesamtbewegungsvektor empfängt, um die Interpolationsvorgänge auszuführen.
  26. Prädiktionsbildsynthesizer (300) nach Anspruch 25, dadurch gekennzeichnet, dass die Interpolationseinheit (312) den Gesamtbewegungsvektor empfängt, wenn ein aktueller Makroblock unter Verwendung einer Global-Motion-Compensation kodiert ist.
  27. Prädiktionsbildsynthesizer (300) nach Anspruch 25, dadurch gekennzeichnet, dass die Interpolationsvorgänge einen Luminanz-Interpolationsvorgang und einen Chrominanz-Interpolationsvorgang umfassen, wobei die Interpolationseinheit (312) eine erste Auflösung zur Durchführung des Luminanz-Interpolationsvorgangs verwendet und eine zweite Auflösung zur Durchführung des Chrominanz-Interpolationsvorgangs verwendet.
  28. Prädiktionsbildsynthesizer (300) nach Anspruch 27, dadurch gekennzeichnet, dass die erste Auflösung eine Halbpixelauflösung ist und die zweite Auflösung eine Viertelpixelauflösung ist.
  29. Prädiktionsbildsynthesizer (300) nach Anspruch 25, dadurch gekennzeichnet, dass die Interpolationseinheit (312) den Makroblock-Bewegungsvektor empfängt, wenn ein aktueller Makroblock unter Verwendung einer Block-Matching-Motion-Compensation kodiert ist.
  30. Prädiktionsbildsynthesizer (300) nach Anspruch 29, dadurch gekennzeichnet, dass die Interpolationsvorgänge einen Luminanz-Interpolationsvorgang und einen Chrominanz-Interpolationsvorgang umfassen, und die Interpolationseinheit (312) eine Halbpixelauflösung verwendet zur Durchführung sowohl des Luminanz-Interpolationsvorgangs als auch des Chrominanz-Interpolationsvorgangs.
  31. Prädiktionsbildsynthesizer (300) nach Anspruch 30, dadurch gekennzeichnet, dass bei einem Durchführen der Interpolationsvorgänge die Interpolationseinheit (312) einen Bilinear-Interpolationsprozess verwendet.
DE102004021854A 2003-11-04 2004-05-04 Vorrichtung für sowohl eine Block-Matching Motion Compensation als auch eine Global Motion Compensation sowie Verfahren hierfür Withdrawn DE102004021854A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/605,882 2003-11-04
US10/605,882 US20050105621A1 (en) 2003-11-04 2003-11-04 Apparatus capable of performing both block-matching motion compensation and global motion compensation and method thereof

Publications (1)

Publication Number Publication Date
DE102004021854A1 true DE102004021854A1 (de) 2005-06-09

Family

ID=34573095

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102004021854A Withdrawn DE102004021854A1 (de) 2003-11-04 2004-05-04 Vorrichtung für sowohl eine Block-Matching Motion Compensation als auch eine Global Motion Compensation sowie Verfahren hierfür

Country Status (4)

Country Link
US (2) US20050105621A1 (de)
CN (1) CN1290342C (de)
DE (1) DE102004021854A1 (de)
TW (1) TWI248313B (de)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1794821A (zh) * 2006-01-11 2006-06-28 浙江大学 可分级视频压缩中插值的方法与装置
WO2007091182A1 (en) * 2006-02-10 2007-08-16 Koninklijke Philips Electronics N.V. Method and apparatus for generating metadata
TWI444047B (zh) * 2006-06-16 2014-07-01 Via Tech Inc 用於視訊解碼的去方塊效應濾波器、視訊解碼器與圖形處理單元
EP2208181A2 (de) * 2007-10-05 2010-07-21 Nokia Corporation Videocodierung mit pixelausgerichteten gerichteten adaptiven interpolationsfiltern
US8416861B2 (en) * 2007-10-14 2013-04-09 Nokia Corporation Fixed-point implementation of an adaptive image filter with high coding efficiency
CN101415122B (zh) * 2007-10-15 2011-11-16 华为技术有限公司 一种帧间预测编解码方法及装置
KR101590633B1 (ko) * 2008-11-11 2016-02-02 삼성전자주식회사 슬라이스 단위로 분할된 동영상을 처리하는 동영상 부호화/복호화장치 및 동영상 부호화/복호화방법
TWI399094B (zh) * 2009-06-30 2013-06-11 Silicon Integrated Sys Corp 自適應移動補償內插法與其裝置
US20110142135A1 (en) * 2009-12-14 2011-06-16 Madhukar Budagavi Adaptive Use of Quarter-Pel Motion Compensation
US20110200108A1 (en) * 2010-02-18 2011-08-18 Qualcomm Incorporated Chrominance high precision motion filtering for motion interpolation
US9237355B2 (en) * 2010-02-19 2016-01-12 Qualcomm Incorporated Adaptive motion resolution for video coding
CN105472387B (zh) * 2010-04-09 2018-11-02 Lg电子株式会社 处理视频数据的方法和装置
EP2388999B1 (de) * 2010-05-17 2021-02-24 Lg Electronics Inc. Neue Intra-Prädiktionsmodi
US9055305B2 (en) * 2011-01-09 2015-06-09 Mediatek Inc. Apparatus and method of sample adaptive offset for video coding
US10327008B2 (en) 2010-10-13 2019-06-18 Qualcomm Incorporated Adaptive motion vector resolution signaling for video coding
EP3061253A1 (de) 2013-10-25 2016-08-31 Microsoft Technology Licensing, LLC Blockübereinstimmung auf hash-basis in der bild- und videocodierung
CN105684409B (zh) 2013-10-25 2019-08-13 微软技术许可有限责任公司 在视频和图像编码和解码中使用散列值来表示各块
US10567754B2 (en) 2014-03-04 2020-02-18 Microsoft Technology Licensing, Llc Hash table construction and availability checking for hash-based block matching
US10368092B2 (en) 2014-03-04 2019-07-30 Microsoft Technology Licensing, Llc Encoder-side decisions for block flipping and skip mode in intra block copy prediction
WO2015196322A1 (en) 2014-06-23 2015-12-30 Microsoft Technology Licensing, Llc Encoder decisions based on results of hash-based block matching
KR102490706B1 (ko) 2014-09-30 2023-01-19 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 비디오 코딩을 위한 해시 기반 인코더 결정
US10404996B1 (en) * 2015-10-13 2019-09-03 Marvell International Ltd. Systems and methods for using multiple frames to adjust local and global motion in an image
US11082713B2 (en) 2015-11-20 2021-08-03 Mediatek Inc. Method and apparatus for global motion compensation in video coding system
US10136155B2 (en) 2016-07-27 2018-11-20 Cisco Technology, Inc. Motion compensation using a patchwork motion field
US10390039B2 (en) 2016-08-31 2019-08-20 Microsoft Technology Licensing, Llc Motion estimation for screen remoting scenarios
KR20180057564A (ko) * 2016-11-22 2018-05-30 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
US11095877B2 (en) 2016-11-30 2021-08-17 Microsoft Technology Licensing, Llc Local hash-based motion estimation for screen remoting scenarios
US11202085B1 (en) 2020-06-12 2021-12-14 Microsoft Technology Licensing, Llc Low-cost hash table construction and hash-based block matching for variable-size blocks
CN114915791B (zh) * 2021-02-08 2023-10-20 荣耀终端有限公司 基于二维规则化平面投影的点云序列编解码方法及装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2231225B (en) * 1989-04-27 1993-10-20 Sony Corp Motion dependent video signal processing
KR950014862B1 (ko) 1992-02-08 1995-12-16 삼성전자주식회사 움직임추정방법 및 그 장치
US5473379A (en) * 1993-11-04 1995-12-05 At&T Corp. Method and apparatus for improving motion compensation in digital video coding
JP3183155B2 (ja) * 1996-03-18 2001-07-03 株式会社日立製作所 画像復号化装置、及び、画像復号化方法
JP3774954B2 (ja) * 1996-10-30 2006-05-17 株式会社日立製作所 動画像の符号化方法
EP2352300A1 (de) * 1997-02-13 2011-08-03 Mitsubishi Denki Kabushiki Kaisha System zur Vorhersage von Bewegtbildern
EP0987898B1 (de) * 1997-06-03 2006-08-02 Hitachi, Ltd. Vorrichtung und verfahren zur bildkodierung und dekodierung
US6574371B2 (en) * 1997-06-09 2003-06-03 Hitachi, Ltd. Image decoding method
EP0884912B1 (de) 1997-06-09 2003-08-27 Hitachi, Ltd. Bildsequenzdekodierungsverfahren
US7206346B2 (en) * 1997-06-25 2007-04-17 Nippon Telegraph And Telephone Corporation Motion vector predictive encoding method, motion vector decoding method, predictive encoding apparatus and decoding apparatus, and storage media storing motion vector predictive encoding and decoding programs
WO1999016251A1 (en) * 1997-09-23 1999-04-01 Koninklijke Philips Electronics N.V. Motion estimation and motion-compensated interpolation
US20040223550A1 (en) * 2001-06-06 2004-11-11 Norihisa Hagiwara Decoding apparatus, decoding method, lookup table, and decoding program
US7050500B2 (en) 2001-08-23 2006-05-23 Sharp Laboratories Of America, Inc. Method and apparatus for motion vector coding with global motion parameters
US20030123738A1 (en) 2001-11-30 2003-07-03 Per Frojdh Global motion compensation for video pictures
ES2562932T3 (es) * 2002-03-15 2016-03-09 Nokia Technologies Oy Método para codificar movimiento en una secuencia de vídeo
US7602848B2 (en) * 2002-03-26 2009-10-13 General Instrument Corporation Methods and apparatus for efficient global motion compensation encoding and associated decoding
US7620109B2 (en) * 2002-04-10 2009-11-17 Microsoft Corporation Sub-pixel interpolation in motion estimation and compensation
US7426308B2 (en) * 2003-07-18 2008-09-16 Microsoft Corporation Intraframe and interframe interlace coding and decoding

Also Published As

Publication number Publication date
US9332270B2 (en) 2016-05-03
US20100104020A1 (en) 2010-04-29
US20050105621A1 (en) 2005-05-19
CN1615025A (zh) 2005-05-11
CN1290342C (zh) 2006-12-13
TW200516993A (en) 2005-05-16
TWI248313B (en) 2006-01-21

Similar Documents

Publication Publication Date Title
DE102004021854A1 (de) Vorrichtung für sowohl eine Block-Matching Motion Compensation als auch eine Global Motion Compensation sowie Verfahren hierfür
DE10190285B4 (de) Verfahren und System zur Verarbeitung von komprimierten Videosignalen
DE60027955T2 (de) Verfahren und Vorrichtung zur kontextbasierten Inter/Intra Kodierungsmodeauswahl
DE69839100T2 (de) Verbesserte Videokodierung unter Verwendung von adaptiven Blockparametern für kodierte/unkodierte Blöcke
DE69635369T2 (de) Videokodierungsvorrichtung
DE60215241T2 (de) Verfahren und Vorrichtung zur Reduzierung von Störungen in dekodierten Bildern mit Nachfilterung
DE602004008763T2 (de) Videotranskodierung
DE60309375T2 (de) Parametrisierung für verlauf-kompensation
DE69735402T2 (de) System und Methode zur Bewegungskompensation mit Hilfe eines Schrägziegelspeicherformats für verbesserte Effizienz
DE69817460T2 (de) Bildsequenzdekodierungsverfahren
DE112016002026B4 (de) Verfahren und System zum adaptiven Referenz-Frame-Caching für die Videocodierung
DE19825042C2 (de) Verfahren zur Bewegungsvektorcodierung bei MPEG-4
DE69735838T2 (de) Videokodierer mit Transformationskoeffizientenprädiktion
DE69937462T2 (de) Effiziente macroblockheaderkodierung zur videokompression
DE69834959T2 (de) Prädiktives Bilddekodierungsverfahren
Siqueira et al. Rate-distortion and complexity comparison of HEVC and VVC video encoders
DE69722637T2 (de) Bewegungsschätzungssystem und -verfahren für einen videokodierer
DE112007000359B4 (de) Verarbeitung von Videodaten
CN1253008C (zh) 空间可分级压缩的方法和设备
DE69629137T2 (de) Bildkodierungsgerät und Bilddekodierungsgerät
DE69920429T2 (de) Bewegungsschätzungssystem und -verfahren
DE60027495T2 (de) Video-codierverfahren und video-codiervorrichtung
DE69735743T2 (de) Videokodierungs- und Videodekodierungsvorrichtung
TW202007166A (zh) 解碼器的視訊解碼方法及裝置
KR20020077884A (ko) 블록 매칭 프로세스를 사용하는 비디오 코딩 방법

Legal Events

Date Code Title Description
OR8 Request for search as to paragraph 43 lit. 1 sentence 1 patent law
8105 Search report available
8110 Request for examination paragraph 44
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04N0007340000

Ipc: H04N0019593000

Effective date: 20131204

R081 Change of applicant/patentee

Owner name: MEDIATEK INC., TW

Free format text: FORMER OWNER: MEDIATEC INC., HSIN-CHU HSIEN, TW

R082 Change of representative

Representative=s name: HOEFER & PARTNER PATENTANWAELTE MBB, DE

R016 Response to examination communication
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee