DE20321894U1 - Verbesserter Videodecodierer und zugehöriges Computergerät - Google Patents

Verbesserter Videodecodierer und zugehöriges Computergerät Download PDF

Info

Publication number
DE20321894U1
DE20321894U1 DE20321894U DE20321894U DE20321894U1 DE 20321894 U1 DE20321894 U1 DE 20321894U1 DE 20321894 U DE20321894 U DE 20321894U DE 20321894 U DE20321894 U DE 20321894U DE 20321894 U1 DE20321894 U1 DE 20321894U1
Authority
DE
Germany
Prior art keywords
current
macroblock
mode
motion vector
decoded
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
DE20321894U
Other languages
English (en)
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of DE20321894U1 publication Critical patent/DE20321894U1/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • 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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures

Abstract

Videodecodierer, umfassend:
einen inversen Quantisierer;
einen Inversdiskret-Kosinustransformierer;
einen Schleifenfilter;
einen Bewegungskompensierer;
einen Frame-Puffer; und
eine Modusauswahleinrichtung, die angepasst ist, einen Decodiermodus für einen aktuellen 16 × 16-Makroblock aus für einen aktuellen P-Frame möglichen Decodiermodi auszuwählen, wobei die für den aktuellen P-Frame möglichen Decodiermodi enthalten:
einen ersten INTER-Modus, in dem der aktuelle 16 × 16-Makroblock mit Bewegungskompensation unter Verwendung vorhergesagter Bewegungsvektorinformationen decodiert wird, die nicht aus einem Bitstrom für den aktuellen 16 × 16-Makroblock decodiert werden, wobei die vorhergesagten Bewegungsvektorinformationen gemäß dem ersten INTER-Modus wenigstens teilweise auf Bewegungsvektorinformationen eines oder mehrerer umgebender Makroblöcke in dem aktuellen P-Frame basieren;
einen zweiten INTER-Modus, in dem der aktuelle 16 × 16-Makroblock mit Bewegungskompensation unter Verwendung vorhergesagter Bewegungsvektorinformationen decodiert wird, die nicht aus dem Bitstrom für den aktuellen 16 × 16-Makroblock decodiert werden, wobei die vorhergesagten Bewegungsvektorinformationen gemäß dem zweiten INTER-Modus wenigstens teilweise auf den Bewegungsvektorinformationen eines...

Description

  • VERWANDTE PATENTANMELDUNGEN
  • Diese vorliegende, nicht-vorläufige US-Patentanmeldung nimmt die Vorzüge der Priorität aus der noch anhängigen vorläufigen US-Patentanmeldung Nr. 60/376,005 vom 26. April 2002 mit dem Titel „Videocodierverfahren und -anordnungen” in Anspruch und schließt durch Bezugnahme darauf deren gesamte Offenbarung in die vorliegende Anmeldung ein.
  • Zudem nimmt diese vorliegende, nicht-vorläufige US-Patentanmeldung die Vorzüge der Priorität aus der noch anhängigen vorläufigen US-Patentanmeldung Nr. 60/352,127 vom 25. Januar 2002 in Anspruch und schließt durch Bezugnahme darauf deren gesamte Offenbarung in die vorliegende Anmeldung ein.
  • TECHNISCHES GEBIET
  • Diese Erfindung bezieht sich auf Videodecodierung und Videocodierung und insbesondere auf Geräte, die verbesserte Decodier-, Codier- und/oder Prädiktionstechniken bereitstellen, die unterschiedlichen Typen von Videodaten zugeordnet sind.
  • HINTERGRUND
  • Der Beweggrund für eine verbesserte Codiereffizienz bei der Videocodierung hat bei dem Joint Video Team (einem Standardgeber) dazu geführt, verfeinertere sowie kompliziertere Modelle und Vorgehensweisen einzuführen, die Bewegungsinformationen für einen gegebenen Macroblock beschreiben. Diese Modelle und Vorgehensweisen neigen dazu, die tempörären Redundanzen besser zu nutzen, die innerhalb einer Videosequenz vorhanden sein können. Siehe dazu beispielsweise, ITU-T, Video Coding Expert Group (VCEG), ”JVT Coding – (ITU-T H.26L & ISO/IEC JTC1 Standard) – Working Draft Number 2 (WD-2)”, ITU-T, JVT-8118, März 2002; und/oder Heiko Schwarz und Thomas Wiegand, "Tree-structured macroblock partition", Doc. VCEG-N17, Dezember 2001.
  • Die jüngsten Modelle beinhalten beispielsweise das Mehrfach-Frame-Indizieren der Bewegungsvektoren („motion vectors”), erhöhte Subpixel-Präzision, Mehrfachbezugnahme („multireferencing”) sowie die baumstrukturierte Macroblock- und Bewegungszuweisung, gemäß derer unterschiedliche Teilbereiche eines Macroblocks unterschiedlichen Bewegungsinformationen zugeordnet werden. Leider neigen diese Modelle dazu, auch den erforderlichen Prozentsatz von Bits für die Codierung von Bewegungsinformationen innerhalb der Sequenz deutlich zu erhöhen. Somit neigen die Modelle in einigen Fällen dazu, die Wirksamkeit derartiger Codierverfahren zu vermindern.
  • Wengleich in einigen Fällen Bewegungsvektoren im Vergleich zu einem räumlichen Prädiktor anders codiert oder für den Fall einer Nullbewegung sogar übergangen werden, sofern sie kein Restbild zu übertragen haben, erscheint dies für die Effizienzverbesserung nicht als ausreichend.
  • Es wäre daher von Vorteil, jene Bits, die für das Codieren der Bewegungsinformationen und somit der gesamten Sequenz benötigt werden, weiter zu vermindern, während gleichzeitig die Qualität nur unwesentlich beeinträchtigt wird.
  • Ein weiteres Problem, das mit der Einführung derartiger Modelle und Vorgehensweisen zudem hervorgerufen wird, besteht darin, den besten Modus aus sämtlichen zur Verfügung stehenden Möglichkeiten zu wählen, wenn beispielsweise eine Zielbitrate, Codier-/Quantisier-Parameter und dergleichen gegeben sind. Derzeit kann dieses Problem teilweise durch die Anwendung von Maßnahmen/Einschränkungen hinsichtlich des Aufwandes in Abhängigkeit des Modus' und/oder der Quantisierung, die verwendet werden sollen, oder sogar durch den Einsatz von RDO-Techniken (RDO – Rate Distortion Optimization – Ratenverzerrungsoptimierung) mit dem Ziel der Minimierung einer Lagrange-Funktion gelöst werden.
  • Derartige und andere Probleme sind jedoch für den Fall bidirektionaler, prädiktiver (B-)Frames, bei denen ein Macroblock sowohl aus nachfolgenden wie auch aus vorhergehenden Frames vorausgesagt werden kann, von größerer Bedeutung. Das bedeutet im wesentlichen, dass ein noch größerer Prozentsatz von Bits für die Codierung von Bewegungsvektoren erforderlich sein könnte.
  • Somit besteht Bedarf an verbesserten Geräten für die Verwendung bei der Codierung (wie etwa der Codierung und/oder Decodierung) von Videodaten.
  • ÜBERSICHT ÜBER DIE ERFINDUNG
  • Es werden Videodecodier- und Videocodier-Geräte angegeben, die unterschiedliche Modelle und/oder Modi anwenden, um die Decodier- bzw. Codiereffizienz insbesondere bei hochkomplexen Bewegungssequenzen deutlich zu verbessern. Diese Geräte nutzen vorteilhaft die zeitlichen und/oder räumlichen Korrelationen, die in Abschnitten der Frames, wie etwa auf der Macroblockebene und dergleichen, vorhanden sein können. Die Geräte neigen dazu, den Umfang der Daten zu verringern, die für die Decodierung bzw. Codierung von Bewegungsinformationen erforderlich sind, während dabei die Videobildqualität unverändert bleibt oder sogar verbessert wird.
  • Die Erfindung wird durch die Gegenstände der unabhängigen Schutzansprüche angegeben.
  • So wird erfindungsgemäß ein Videodecodierer bereitgestellt, der einen inversen Quantisierer, einen Inversdiskret-Kosinustransformierer, einen Schleifenfilter, einen Bewegungskompensierer, einen Frame-Puffer und eine Modusauswahleinrichtung umfasst, die angepasst ist, einen Decodiermodus für einen aktuellen 16 × 16-Makroblock aus für einen aktuellen P-Frame möglichen Decodiermodi auszuwählen. Die für den aktuellen P-Frame möglichen Decodiermodi enthalten einen ersten INTER-Modus, in dem der aktuelle 16 × 16-Makroblock mit Bewegungskompensation unter Verwendung vorhergesagter Bewegungsvektorinformationen decodiert wird, die nicht aus einem Bitstrom für den aktuellen 16 × 16-Makroblock decodiert werden, wobei die vorhergesagten Bewegungsvektorinformationen gemäß dem ersten INTER-Modus wenigstens teilweise auf Bewegungsvektorinformationen eines oder mehrerer umgebender Makroblöcke in dem aktuellen P-Frame basieren, einen zweiten INTER-Modus, in dem der aktuelle 16 × 16-Makroblock mit Bewegungskompensation unter Verwendung vorhergesagter Bewegungsvektorinformationen decodiert wird, die nicht aus dem Bitstrom für den aktuellen 16 × 16-Makroblock decodiert werden, wobei die vorhergesagten Bewegungsvektorinformationen gemäß dem zweiten INTER-Modus wenigstens teilweise auf den Bewegungsvektorinformationen eines oder mehrerer umgebender Makroblöcke in dem aktuellen P-Frame basieren und wobei die vorhergesagten Bewegungsvektorinformationen gemäß dem zweiten INTER-Modus verschieden von den vorhergesagten Bewegungsvektorinformationen gemäß dem ersten INTER-Modus sind, einen dritten INTER-Modus, in dem der aktuelle 16 × 16-Makroblock mit Bewegungskompensation unter Verwendung von Bewegungsvektorinformationen decodiert wird, die aus dem Bitstrom für den aktuellen 16 × 16-Makroblock decodiert werden, einen vierten INTER-Modus, in dem der aktuelle 16 × 16-Makroblock in zwei 16 × 8-Blöcke untergeteilt wird, die mit Bewegungskompensation decodiert werden, einen fünften INTER-Modus, in dem der aktuelle 16 × 16-Makroblock in zwei 8 × 16-Blöcke untergeteilt wird, die mit Bewegungskompensation decodiert werden, und einen sechsten INTER-Modus, in dem der aktuelle 16 × 16-Makroblock in vier 8 × 8-Blöcke untergeteilt wird, die mit Bewegungskompensation decodiert werden.
  • Ferner wird erfindungsgemäß ein Computergerät mit einem Videodecodierer bereitgestellt, wobei der Videodecodierer angepasst ist, eine inverse Quantisierung durchzuführen, eine Inversdiskret-Kosinustransformation durchzuführen, eine Schleifenfilterung durchzuführen, eine Bewegungskompensation durchzuführen, einen oder mehrere Bezugsframes zu speichern und einen Decodiermodus für einen aktuellen 16 × 16-Makroblock eines aktuellen P-Frames aus Decodiermodi auszuwählen. Die Decodiermodi enthalten einen ersten INTER-Modus, in dem der aktuelle 16 × 16-Makroblock mit Bewegungskompensation unter Verwendung erster vorhergesagter Bewegungsvektorinformationen decodiert wird, die aus Bewegungsvektorinformationen eines oder mehrerer umgebender Makroblöcke in dem aktuellen P-Frame vorhergesagt sind, einen zweiten vom ersten INTER-Modus verschiedenen INTER-Modus, in dem der aktuelle 16 × 16-Makroblock mit Bewegungskompensation unter Verwendung zweiter vorhergesagter Bewegungsvektorinformationen decodiert wird, die aus den Bewegungsvektorinformationen des einen oder der mehreren umgebenden Makroblöcke in dem aktuellen P-Frame vorhergesagt sind, einen dritten INTER-Modus, in dem der aktuelle 16 × 16-Makroblock mit Bewegungskompensation unter Verwendung von Bewegungsvektorinformationen decodiert wird, die aus einem Bitstrom decodiert werden, einen vierten INTER-Modus, in dem der aktuelle 16 × 16-Makroblock in zwei 16 × 8-Blöcke unterteilt wird, die mit Bewegungskompensation decodiert werden, einen fünften INTER-Modus, in dem der aktuelle 16 × 16-Makroblock in zwei 8 × 16-Blöcke unterteilt wird, die mit Bewegungskompensation decodiert werden, und einen sechsten INTER-Modus, in dem der aktuelle 16 × 16-Makroblock in vier 8 × 8-Blöcke unterteilt wird, die mit Bewegungskompensation decodiert werden.
  • Des Weiteren wird erfindungsgemäß ein Videodecodierer bereitgestellt, der einen inversen Quantisierer, einen Inversdiskret-Kosinustransformierer, einen Schleifenfilter, einen Bewegungskompensierer, einen Bewegungsvektorpuffer und einen Frame-Puffer umfasst, wobei der Videodecodierer angepasst ist, einen Decodiermodus für einen aktuellen 16 × 16-Makroblock eines aktuellen P-Frames aus Decodiermodi auszuwählen, die enthalten: einen ersten INTER-Modus, in dem der aktuelle 16 × 16-Makroblock mit Bewegungskompensation unter Verwendung erster vorhergesagter Bewegungsvektorinformationen decodiert wird, die aus Bewegungsvektorinformationen eines oder mehrerer umgebender Makroblöcke in dem aktuellen P-Frame vorhergesagt sind, einen zweiten vom ersten INTER-Modus verschiedenen INTER-Modus, in dem der aktuelle 16 × 16-Makroblock mit Bewegungskompensation unter Verwendung zweiter vorhergesagter Bewegungsvektorinformationen decodiert wird, die aus den Bewegungsvektorinformationen des einen oder der mehreren umgebenden Makroblöcke in dem aktuellen P-Frame vorhergesagt sind, einen dritten INTER-Modus, in dem der aktuelle 16 × 16-Makroblock mit Bewegungskompensation unter Verwendung von Bewegungsvektorinformationen decodiert wird, die aus einem Bitstrom decodiert werden, einen vierten INTER-Modus, in dem der aktuelle 16 × 16-Makroblock in zwei 16 × 8-Blöcke unterteilt wird, die mit Bewegungskompensation decodiert werden, einen fünften INTER-Modus, in dem der aktuelle 16 × 16-Makroblock in zwei 8 × 16-Blöcke unterteilt wird, die mit Bewegungskompensation decodiert werden, und einen sechsten INTER-Modus, in dem der aktuelle 16 × 16-Makroblock in vier 8 × 8-Blöcke unterteilt wird, die mit Bewegungskompensation decodiert werden.
  • Darüber hinaus wird erfindungsgemäß ein Computergerät mit einem Videodecodierer bereitgestellt, wobei der Videodecodierer angepasst ist, eine inverse Quantisierung durchzuführen, eine Inversdiskret-Kosinustransformation durchzuführen, eine Schleifenfilterung durchzuführen, eine Bewegungskompensation durchzuführen, Bewegungsvektorinformationen zu Puffern, einen oder mehrere Bezugsframes zu speichern und einen INTER-Modus für einen aktuellen 16 × 16-Makroblock eines aktuellen P-Frames aus INTER-Modi auszuwählen, die enthalten: einen ersten Direktmodus, in dem der aktuelle 16 × 16-Makroblock mit Bewegungskompensation unter Verwendung erster vorhergesagter Bewegungsvektorinformationen decodiert wird, die aus Bewegungsvektorinformationen eines oder mehrerer umgebender Makroblöcke in dem aktuellen P-Frame vorhergesagt sind, einen zweiten vom ersten Direktmodus verschiedenen Direktmodus, in dem der aktuelle 16 × 16-Makroblock mit Bewegungskompensation unter Verwendung zweiter vorhergesagter Bewegungsvektorinformationen decodiert wird, die aus den Bewegungsvektorinformationen des einen oder der mehreren umgebenden Makroblöcke in dem aktuellen P-Frame vorhergesagt sind, einen 16 × 16-Modus, in dem der aktuelle 16 × 16-Makroblock mit Bewegungskompensation unter Verwendung von Bewegungsvektorinformationen decodiert wird, die aus einem Bitstrom decodiert werden, einen 16 × 8-Modus, in dem der aktuelle 16 × 16-Makroblock in zwei 16 × 8-Blöcke unterteilt wird, die mit Bewegungskompensation decodiert werden, einen 8 × 16-Modus, in dem der aktuelle 16 × 16-Makroblock in zwei 8 × 16-Blöcke unterteilt wird, die mit Bewegungskompensation decodiert werden, und einen 8 × 8-Modus, in dem der aktuelle 16 × 16-Makroblock in vier 8 × 8-Blöcke unterteilt wird, die mit Bewegungskompensation decodiert werden.
  • Schließlich wird erfindungsgemäß auch ein Computergerät mit einem Videocodierer bereitgestellt, wobei der Videocodierer einen Bewegungsschätzer, einen Bewegungskompensierer, einen Bewegungsvektorpuffer, einen Diskret-Kosinustransformierer, einen Quantisierer, einen inversen Quantisierer, einen Inversdiskret-Kosinustransformierer, einen Schleifenfilter, einen Frame-Puffer und ein Entscheidungsmodul umfasst, das angepasst ist, einen Codiermodus für einen aktuellen 16 × 16-Makroblock eines aktuellen P-Frames aus Codiermodi auszuwählen, die enthalten: einen ersten INTER-Modus, in dem der aktuelle 16 × 16-Makroblock mit Bewegungskompensation unter Verwendung erster vorhergesagter Bewegungsvektorinformationen codiert wird, die aus Bewegungsvektorinformationen eines oder mehrerer umgebender Makroblöcke in dem aktuellen P-Frame vorhergesagt werden, einen zweiten vom ersten INTER-Modus verschiedenen INTER-Modus, in dem der aktuelle 16 × 16-Makroblock mit Bewegungskompensation unter Verwendung zweiter vorhergesagter Bewegungsvektorinformationen codiert wird, die aus den Bewegungsvektorinformationen des einen oder der mehreren umgebenden Makroblöcke in dem aktuellen P-Frame vorhergesagt werden, einen dritten INTER-Modus, in dem der aktuelle 16 × 16-Makroblock mit Bewegungskompensation unter Verwendung von Bewegungsvektorinformationen codiert wird, die in einem Bitstrom ausgegeben werden, einen vierten INTER-Modus, in dem der aktuelle 16 × 16-Makroblock in zwei 16 × 8-Blöcke unterteilt wird, die mit Bewegungskompensation codiert werden, einen fünften INTER-Modus, in dem der aktuelle 16 × 16-Makroblock in zwei 8 × 16-Blöcke unterteilt wird, die mit Bewegungskompensation codiert werden, und einen sechsten INTER-Modus, in dem der aktuelle 16 × 16-Makroblock in vier 8 × 8-Blöcke unterteilt wird, die mit Bewegungskompensation codiert werden.
  • Bevorzugte Ausgestaltungen sind in den Unteransprüchen definiert.
  • Es wird ferner beispielhaft in Übereinstimmung mit bestimmten Anwendungen der vorliegenden Erfindung eine Codierung von Videodaten innerhalb einer Sequenz von Video-Frames angegeben. Dies umfasst die Codierung wenigstens eines Abschnittes eines Bezugs-Frames, um Bewegungsinformationen einzuschließen, die dem Abschnitt des Bezugs-Frames zugeordnet sind. Weiterhin umfasst dies das Definieren wenigstens eines Abschnittes wenigstens eines vorhersagbaren Frames, der Videodaten enthält, die mit dem Abschnitt des Bezugs-Frames basierend auf den Bewegungsinformationen prädiktiv korrelieren, und das Codieren wenigstens des Abschnittes des vorhersagbaren Frames, ohne die entsprechenden Bewegungsinformationen, jedoch Modus-Kennzeichnungsdaten einzuschließen, die kennzeichnen, dass der Abschnitt des vorhersagbaren Frames mit Hilfe der Bewegungsinformationen, die dem Abschnitt des Bezugs-Frames zugeordnet sind, direkt abgeleitet werden kann.
  • Es wird zudem ein Gerät für die Verwendung bei der Codierung von Videodaten für eine Sequenz von Video-Frames in eine Vielzahl von Video-Frames angegeben, die wenigstens einen vorhersagbaren Frame enthalten. Hier enthält das Gerät beispielsweise einen Speicher und eine Logik, wobei die Logik dazu eingerichtet ist, wenigstens einen Abschnitt wenigstens eines Bezugs-Frames zu codieren, um Bewegungsinformationen einzuschließen, die dem Abschnitt des Bezugs-Frames zugeordnet sind. Die Logik bestimmt zudem wenigstens einen Abschnitt wenigstens eines vorhersagbaren Frames, der Videodaten enthält, die mit dem Abschnitt des Bezugs-Frames auf der Basis der Bewegungsinformationen prädiktiv korrelieren, und codiert wenigstens den Abschnitt des vorhersagbaren Frames, so dass Modus-Kennzeichnungsdaten bereitgestellt werden, um festzulegen, dass der Abschnitt des vorhersagbaren Frames unter Verwendung der Bewegungsinformationen abgeleitet werden kann, die dem Abschnitt des Bezugs-Frames zugeordnet sind.
  • Gemäß weiterer beispielhafter Anwendungen wird eine Decodierung codierter Videodaten angegeben, die wenigstens einen vorhersagbaren Video-Frame enthalten. Dies umfasst das Bestimmen von Bewegungsinformationen, die wenigstens einem Abschnitt wenigstens eines Bezugs-Frames zugeordnet sind, und das Puffern der Bewegungsinformationen. Dies umfasst zudem das Bestimmen von Modus-Kennzeichnungsdaten, die kennzeichnen, dass wenigstens ein Abschnitt eines vorhersagbaren Frames unter Verwendung wenigstens der gepufferten Videoinformationen direkt abgeleitet werden kann, und das Erzeugen des Abschnittes des vorhersagbaren Frames unter Verwendung der gepufferten Bewegungsinformationen.
  • Auch wird ein Gerät zum Decodieren von Videodaten angegeben. Das Gerät enthält einen Speicher und eine Logik, wobei die Logik dazu eingerichtet ist, in dem Speicher Bewegungsinformationen zu puffern, die wenigstens einem Abschnitt wenigstens eines Bezugs-Frames zugeordnet sind, Modus-Kennzeichnungsdaten zu bestätigen, die kennzeichnen, dass wenigstens ein Abschnitt eines vorhersagbaren Frames unter Verwendung wenigstens der gepufferten Bewegungsinformationen direkt abgeleitet werden kann, und den Abschnitt des vorhersagbaren Frames mit Hilfe der gepufferten Bewegungsinformationen zu erzeugen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die vorliegende Erfindung ist beispielhaft und nicht einschränkend in den Figuren der beiliegenden Zeichnungen veranschaulicht. Es werden dieselben Bezugszeichen in den Figuren verwendet, um ähnliche Bestandteile und/oder Merkmale zu kennzeichnen.
  • 1 ist ein Blockschaltbild, das eine beispielhafte Berechnungsumgebung darstellt, die sich für die Verwendung mit bestimmten Anwendungen der vorliegenden Erfindung eignet.
  • 2 ist ein Blockschaltbild, das eine beispielhafte, repräsentative Vorrichtung zeigt, die sich für die Verwendung mit bestimmten Anwendungen der vorliegenden Erfindung eignet.
  • 3 ist ein veranschaulichendes Diagramm, das eine Direktbewegungs-Projektions-Technik darstellt, die sich für Verwendung bei der B-Frame-Codierung eignet, gemäß bestimmter beispielhafter Anwendungen der vorliegenden Erfindung.
  • 4 ist ein veranschaulichendes Diagramm, das Direkt-P- und Direkt-B-Codiertechniken innerhalb einer Sequenz von Video-Frames gemäß bestimmter beispielhafter Anwendungen der vorliegenden Erfindung zeigt.
  • 5 ist ein veranschaulichendes Diagramm, das die Direktbewegungsvorhersage für zusammengestellte Macroblöcke, die identische Bewegungsinformationen haben, gemäß bestimmter beispielhafter Anwendungen der vorliegenden Erfindung zeigt.
  • 8 ist ein veranschaulichendes Diagramm, das die Verwendung von Beschleunigungsinformationen bei der Direktbewegungsprojektion in Übereinstimmung mit bestimmten beispielhaften Anwendungen der vorliegenden Erfindung zeigt.
  • 7 ist ein veranschaulichendes Diagramm, das eine Direktpixelprojektionstechnik, die sich für die Verwendung bei der B-Frame-Codierung eignet, gemäß bestimmter beispielhafter Anwendungen der vorliegenden Erfindung darstellt.
  • 8 ist ein veranschaulichendes Diagramm, das eine Direktpixelprojektion, die sich für die Verwendung bei der P-Frame-Codierung eignet, in Übereinstimmung mit bestimmten beispielhaften Anwendungen der vorliegenden Erfindung zeigt.
  • 9 ist ein Blockschaltbild, das einen beispielhaften, herkömmlichen Videocodierer zeigt.
  • 10 ist ein Blockschaltbild, das einen beispielhaften, herkömmlichen Videodecodierer zeigt.
  • 11 ist ein Blockschaltbild, das einen beispielhaften, verbesserten Videocodierer, der Direktvorhersage anwendet, gemäß bestimmter beispielhafter Anwendungen der vorliegenden Erfindung zeigt.
  • 12 ist ein Blockschaltbild, das einen beispielhaften, verbesserten Videodecodierer, der Direktvorhersage anwendet, gemäß bestimmter beispielhafter Anwendungen der vorliegenden Erfindung zeigt.
  • 13 ist ein veranschaulichendes Diagramm, das eine Direktpixel-/Block-Projektionstechnik in Übereinstimmung mit bestimmten beispielhaften Anwendungen der vorliegenden Erfindung zeigt.
  • 14 ist ein veranschaulichendes Diagramm, das eine Direktbewegungsprojektionstechnik, die sich für die B-Frame-Codierung eignet, gemäß bestimmter beispielhafter Anwendungen der vorliegenden Erfindung darstellt.
  • 15 ist ein veranschaulichendes Diagramm, das Bewegungsvektor-Vorhersagen gemäß bestimmter beispielhafter Anwendungen der vorliegenden Erfindung darstellt.
  • 16 ist ein veranschaulichendes Diagramm, das Zeilensprung-Codiertechniken für P-Frames gemäß bestimmter beispielhafter Anwendungen der vorliegenden Erfindung zeigt.
  • 17 ist ein veranschaulichendes Diagramm, das Zeilensprung-Codiertechniken für B-Frames gemäß bestimmter beispielhafter Anwendungen der vorliegenden Erfindung darstellt.
  • 18 ist ein veranschaulichendes Diagramm, das Zeilensprung-Codiertechniken unter Verwendung der fame- und field-basierten Codierung gemäß bestimmter beispielhafter Anwendungen der vorliegenden Erfindung zeigt.
  • 19 ist ein veranschaulichendes Diagramm, das ein Schema für die Codierung vereinigter Frame-/Field-Bilder gemäß bestimmter beispielhafter Anwendungen der vorliegenden Erfindung zeigt.
  • DETAILLIERTE BESCHREIBUNG
  • In Übereinstimmung mit bestimmten Aspekten der vorliegenden Erfindung werden Vorrichtungen zum Codieren (wie etwa Codieren und/oder Decodieren) von Videodaten angegeben. Die Geräte können derart eingerichtet sein, dass die Codiereffizienz von ”Zeilensprung-” („interlace”) oder Vollbild-(„progressive”)Videocodier-Streamtechniken verbessert wird. Bei bestimmten Anwendungen wurden beispielsweise im Hinblick auf den derzeitigen H.26L-Standard sogenannte ”P-Frames” dadurch deutlich verbessert, dass zahlreiche zusätzliche Macroblockmodi eingeführt wurden. In einigen Fällen kann es nun erforderlich sein, bis zu 16 Bewegungsvektoren pro Macroblock zu übertragen. Bestimmte Aspekte der vorliegenden Erfindung geben eine Art und Weise an, wie diese Bewegungsvektoren codiert werden. Wie es im folgenden erläutert wird, können beispielsweise Direkt-P-Vorhersagetechniken angewendet werden, um die Bewegungsvektoren zusammengestellter Pixel in dem vorherigen Frame auszuwählen.
  • Wenngleich diese und andere beispielhafte Vorrichtungen beschrieben werden, sollte man im Gedächtnis behalten, dass die Techniken der vorliegenden Erfindung nicht auf die beschriebenen Beispiele, die in den Zeichnungen dargestellt sind, beschränkt sind, sondern klar auch auf andere bestehende zukünftige Videocodierschemata und dergleichen anpassbar sind.
  • Bevor derartige beispielhafte Geräte vorgestellt werden, erfolgt in dem folgenden Abschnitt eine Vorstellung geeigneter beispielhafter Arbeitsumgebungen, wie etwa in Gestalt einer Berechungsvorrichtung und anderer Arten von Vorrichtungen/Geräten.
  • Beispielhafte Arbeitsumgebungen:
  • Wendet man sich den Zeichnungen zu, in denen sich ähnliche Bezugszeichen auf ähnliche Elemente beziehen, so ist die Erfindung als in einer geeigneten Berechnungsumgebung ausgeführt dargestellt. Obwohl dies nicht erforderlich ist, wird die Erfindung im allgemeinen Zusammenhang mit von einem Computer ausführbaren Anweisungen, wie etwa Programmmodulen, beschrieben, die von einem PC ausgeführt werden.
  • Im allgemeinen beinhalten Programmmodule Routinen, Programme, Objekte, Komponenten, Datenstrukturen und dergleichen, die bestimmte Aufgaben ausführen oder spezielle abstrakte Datentypen einsetzen. Der Fachmann wird verstehen, dass die Erfindung mit anderen Computersystemkonfigurationen in die Praxis umgesetzt werden kann, die Handgeräte, Mehrprozessorsysteme, mikroprozessorbasierte oder programmierbare Unterhaltungselektronik, Netzwerk-PCs, Minicomputer, Großrechner, tragbare Kommunikationsgeräte und dergleichen beinhalten.
  • Die Erfindung kann zudem in verteilten Berechnungsumgebungen umgesetzt werden, in denen Aufgaben von entfernten Verarbeitungsvorrichtungen ausgeführt werden, die über ein Kommunikationsnetz verbunden sind. In einer verteilten Berechnungsumgebung können sich die Programmmodule sowohl in lokalen als auch in entfernten Speichervorrichtungen befinden.
  • 1 zeigt ein Beispiel einer geeigneten Berechnungsumgebung 120, in der die nachfolgend erläuterten Systeme, Geräte und Verfahren eingesetzt werden können. Die beispielhafte Berechnungsumgebung 120 ist lediglich ein Beispiel einer geeigneten Berechnungsumgebung und soll keine Einschränkung des Geltungsbereiches der Verwendung oder Funktionalität der verbesserten Verfahren und Systeme darstellen, die hier beschrieben sind. Auch sollte die Berechnungsumgebung 120 nicht so interpretiert werden, als dass sie von einer in der Berechnungsumgebung 120 dargestellten Komponente oder einer Kombination derselben abhängig ist oder dieser bedarf.
  • Die hier verbesserten Verfahren und Systeme sind mit zahlreichen anderen Berechungsumgebungen oder -konfigurationen für allgemeine oder spezielle Zwecke funktionsfähig. Beispiele hinreichend bekannter Berechnungssysteme, -umgebungen und/oder -konfigurationen, die geeignet sein können, umfassen, ohne darauf beschränkt zu sein, PCs, Servercomputer, Thin Clients, Thick Clients, Hand- oder Laptopgeräte, Multiprozessorsysteme, mikroprozessorbasierte Systeme, Vorschaltgeräte, programmierbare Unterhaltungselektronik, Netzwerk-PCs, Minicomputer, Großrechner, verteilte Berechungsumgebungen, die eines der obigen Systeme enthalten, und dergleichen.
  • Wie in 1 gezeigt, enthält die Berechnungsumgebung 120 eine Berechnungsvorrichtung für allgemeine Zwecke in Gestalt eines Computers 130. Die Komponenten des Computers 130 können wenigstens einen Prozessoroder wenigstens eine Prozessoreinheit 132, einen Systemspeicher 134 und einen Bus 136 umfassen, der unterschiedliche Systemkomponenten, einschließlich dem Systemspeicher 134 mit dem Prozessor 132, koppelt.
  • Der Bus 136 repräsentiert wenigstens einen eines beliebigen Typs aus einer Vielzahl von Typen von Busstrukturen, die einen Speicherbus oder Speichercontroller, einen Peripheriebus, einen beschleunigten Grafikanschluss und einen Prozessor oder lokalen Bus beinhalten, bei denen eine Vielfalt von Busarchitekturen zur Verwendung gelangt. Beispielhaft und ohne Einschränkung umfassen derartige Architekturen einen ISA-Bus (ISA – Industry Standard Architecture), einen MCA-Bus (MCA – Micro Channel Architecture), einen EISA-Bus (EISA – Enhanced ISA), einen lokalen VESA-Bus (VESA – Video Electronics Standards Association) und einen PCI-Bus (PCI – Periphal Component, Interconnetcs), der auch als Mezzanine-Bus bekannt ist Der Computer 130 enthält normalerweise eine Vielfalt computerlesbarer Medien. Derartige Medien können beliebige verfügbare Medien sein, auf die ein Computer 130 zugreifen kann, und umfassen sowohl flüchtige als auch nicht flüchtige Medien sowie entnehmbare und nicht entnehmbare Medien.
  • In 1 enthält der Systemspeicher 134 ein computerlesbares Medium in Gestalt eines flüchtigen Speichers, wie etwa eines Direktzugriffsspeichers (RAM) 140 und/oder eines nichtflüchtigen Speichers, wie etwa eines Festspeichers (ROM) 138. Ein Basis-Eingangs-/Ausgangs-System (BIOS) 142, das Basisroutinen enthält, die bei dem Transfer von Informationen zwischen Elementen innerhalb des Computers 130, wie etwa beim Starten, hilfreich sind, ist im ROM 138 gespeichert. Der RAM 140 enthält normalerweise Daten und/oder Programmmodule, auf die der Prozessor 132 unmittelbar zugreifen kann und/oder die von diesem im Moment verarbeitet werden.
  • Der Computer 130 kann weiterhin andere entnehmbare/nicht entnehmbare, flüchtige/nicht flüchtige Computerspeichermedien enthalten. Beispielsweise zeigt 1 ein Festplattenlaufwerk 144 zum Lesen und Schreiben auf einem nicht entnehmbaren, nicht flüchtigen Magnetmedium (das nicht gezeigt ist und normalerweise ”Festplatte” genannt wird), ein Magnetdiskettenlaufwerk 146 zum Lesen und Schreiben auf einer entnehmbaren, nicht flüchtigen optischen Paatte 152, wie etwa eine CD-ROM/R/RW, DVD-ROM/R/RW/+R/RAM oder andere optische Medien. Das Festplattenlaufwerk 144, das Magnetdiskettenlaufwerk 146 und das optische Plattenlaufwerk 150 sind jeweils mit dem Bus 136 durch wenigstens eine Schnittstelle 154 verbunden.
  • Die Laufwerke sowie die zugehörigen computerlesbaren Medien stellen einen nicht flüchtigen Speicher für von einem Computer lesbare Anweisungen, Datenstrukturen, Programmmodule und andere Daten für den Computer 130 bereit. Wenngleich bei der hier beschriebenen beispielhaften Umgebung eine Festplatte, eine entnehmbare Magnetdiskette 148 und eine entnehmbare optische Platte 152 verwendet werden, wird der Fachmann verstehen, dass andere Typen computerlesbarer Medien, die Daten speichern können, auf die von einem Computer zugegriffen werden kann, wie etwa Magnetkassetten, Flashspeicherkarten, digitale Videodisketten, Direktzugriffsspeicher (RAMs), Festspeicher (ROMs) und dergleichen, ebenfalls in der beispielhaften Arbeitsumgebung verwendet werden können.
  • Es kann eine Reihe von Programmmodulen auf der Festplatte, der Magnetdiskette 148, der optischen Platte 152, in dem ROM 138 oder dem RAM 140 gespeichert sein, die beispielsweise ein Betriebssystem 158, wenigstens ein Applikationsprogramm 160, andere Programmmodule 162 und Programmdaten 164 beinhalten.
  • Die hier beschriebenen verbesserten Verfahren können innerhalb des Betriebssystems 158, des wenigstens einen Applikationsprogramms 160, der anderen Programmmodule 162 und/oder Programmdaten 164 eingesetzt werden.
  • Ein Benutzer kann Befehle und Informationen in den Computer 130 durch Eingabevorrichtungen, wie etwa eine Tastatur 166 und eine Zeigevorrichtung (wie etwa eine ”Maus”), eingeben. Andere Eingabevorrichtungen (nicht gezeigt) können ein Mikrofon, einen Joystick, ein Gamepad, eine Satellitenschüssel, einen seriellen Anschluss, einen Scanner, eine Kamera und dergleichen beinhalten. Diese und andere Vorrichtungen sind mit der Prozessoreinheit 132 durch eine Benutzereingabeschnittstelle 170 verbunden, die mit dem Bus 136 gekoppelt ist, können jedoch durch andere Schnittstellen und Busstrukturen, wie etwa einen Parallelanschluss, einen Spieleanschluss oder USB (USB – Universal Serial Bus) angeschlossen sein.
  • Ein Monitor 172 oder anderer Typ einer Anzeigevorrichtung ist ebenfalls mit dem Bus 136 über eine Schnittstelle, wie etwa einen Videoadapter 174 angeschlossen. Zusätzlich zu dem Monitor 172 enthalten PCs normalerweise andere Peripherieausgabegeräte (nicht gezeigt), wie etwa Lautsprecher und Drucker, die durch eine Ausgabeperipherieschnittstelle 175 angeschlossen sein können.
  • Der Computer 130 kann in einer Netzwerkumgebung mit Hilfe logischer Verbindungen zu einem oder mehreren entfernten Computern, wie etwa dem entfernten Computer 182, arbeiten. Der Computer 182 kann zahlreiche oder sämtliche der Elemente und Merkmale enthalten, die hier im Bezug auf den Computer 130 beschrieben sind.
  • Die logischen Verbindungen, die in 1 gezeigt sind, sind ein Nahbereichsnetzwerk (LAN) 177 und ein allgemeines Fernbereichsnetzwerk (WAN) 179. Derartige Netzwerkumgebungen sind in Büros, firmenweiten Computernetzwerken, Intranets und dem Internet allgemein üblich.
  • Bei Verwendung in einer LAN-Netzwerkumgebung ist der Computer 130 mit dem LAN 177 über eine Netzwerkschnittstelle oder einen Netzwerkadapter 186 verbunden. Bei Verwendung in einer WAN-Netzwerkumgebung enthält der Computer normalerweise ein Modem 178 oder andere Einrichtungen, um Kommunikationen über das WAN 179 herzustellen. Das Modem 178, das intern oder extern sein kann, kann mit dem Systembus 136 über die Eingabeschnittstelle 170 oder einen anderen geeigneten Mechanismus verbunden sein.
  • In 1 ist eine spezielle Anwendung eines WAN über das Internet dargestellt. Hier verwendet der Computer 130 ein Modem 178, um Kommunikationen mit wenigstens einem entfernten Computer 182 über das Internet 180 einzurichten.
  • In einer Netzwerkumgebung können Programmmodule, die im Bezug auf den Computer 130 dargestellt sind, oder Teile derselben, in einer entfernten Speichervorrichtung gespeichert sein. Somit können sich beispielsweise, wie es in 1 gezeigt ist, entfernte Applikationsprogramme 189 auf einer Speichervorrichtung des entfernten Computers 182 befinden. Es versteht sich, dass die dargestellten und beschriebenen Netzwerkverbindungen beispielhaft sind und andere Einrichtungen zum Herstellen einer Kommunikationsverbindung zwischen den Computern verwendet werden können.
  • Die Aufmerksamkeit ist nunmehr auf 2 gerichtet, die ein Blockschaltbild ist, das eine weitere beispielhafte Vorrichtung darstellt, die ebenfalls in der Lage ist, von den hier beschriebenen Verfahren und Geräten zu profitieren. Die Vorrichtung 200 ist repräsentativ für wenigstens eine Vorrichtung oder wenigstens ein Gerät, die funktionsmäßig derart eingerichtet sind, dass sie Videodaten und/oder verwandte Typen von Daten in Übereinstimmung mit sämtlichen der hier beschriebenen Verfahren und Geräten oder einem Teil derselben sowie deren Äquivalente verarbeiten. Somit kann die Vorrichtung 200 die Gestalt einer Berechungsvorrichtung wie in 1 oder eine andere Gestalt, wie etwa eine Drahtlosvorrichtung, eine tragbare Kommunikationsvorrichtung, einen PDA (Personal Digital Assistant), ein Videoabspielgerät, einen Fernseher, ein DVD-Abspielgerät, ein CD-Abspielgerät, eine Karaoke-Maschine, einen Kiosk, einen digitalen Videoprojektor, einen Flachbildschirm-Videoanzeigemechanismus, ein Vorschaltgerät, eine Videospiel-Maschine und dergleichen annehmen. Bei diesem Beispiel enthält die Vorrichtung 200 eine Logik, die dazu eingerichtet ist, Videodaten zu verarbeiten, eine Videodatenquelle 204, die dazu eingerichtet ist, der Logik 202 Videodaten bereitzustellen, und wenigstens ein Anzeigemodul 206, das in der Lage ist, wenigstens einen Abschnitt der Videodaten für die Betrachtung durch einen Benutzer anzuzeigen. Die Logik ist repräsentativ für Hardware, Firmware, Software und/oder eine beliebige Kombination aus diesen. Bei bestimmten Anwendungen enthält die Logik 202 beispielsweise einen Kompressor/Dekompressor (Codec) oder dergleichen. Die Videodatenquelle 204 ist repräsentativ für einen beliebigen Mechanismus, der Videodaten, die sich für die Verarbeitung durch die Logik 202 eignen, bereitstellen, übermitteln, ausgeben und/oder wenigstens vorübergehend speichern kann. Die Videowiedergabequelle ist veranschaulichend innerhalb der und/oder ohne die Vorrichtung 200 dargestellt. Das Anzeigemodul 206 steht für einen beliebigen Mechanismus, den ein Benutzer direkt oder indirekt betrachten und darauf die visuellen Ergebnisse der Videodaten sehen kann, die auf diesem dargestellt sind. Darüber hinaus kann bei bestimmten Anwendungen die Vorrichtung 200 zudem eine bestimmte Art der Fähigkeit zur Wiedergabe oder anderweitigen Handhabung von Audiodaten umfassen, die den Videodaten zugeordnet sind. Somit ist ein Audiowiedergabemodul 208 dargestellt.
  • Mit den Beispielen aus 1 und 2 und ähnlichen, die diesen gleichkommen, im Gedächtnis, konzentrieren sich die nächsten Abschnitte auf bestimmte beispielhafte Verfahren und Geräte, die wenigstens teilweise mit Hilfe derartiger Umgebungen und derartiger Vorrichtungen in die Praxis umgesetzt werden können.
  • Direktvorhersage für prädiktive (P) und bidirektional prädiktive (B) Frames bei der Videocodierung:
  • Dieser Abschnitt stellt einen neuen, hoch effizienten Inter-Macroblocktyp vor, der die Codiereffizienz insbesondere für hochkomplexe Bewegungssequenzen signifikant verbessern kann. Dieser Inter-Macroblocktyp nutzt die zeitlichen und räumlichen Korrelationen, die in Frames auf der Macroblockebene vorhanden sein können, vorteilhaft aus und kann infolgedessen die Bits, die für das Codieren von Bewegungsinformationen benötigt werden, deutlich vermindern, wobei die Qualität unverändert bleibt oder sogar verbessert wird.
  • Direktvorhersage
  • Die oben erwähnten und/oder andere Probleme werden hier wenigstens teilweise durch die Einführung eines ”Direktvorhersagemodus” gelöst, bei dem anstelle der Codierung der tatsächlichen Bewegungsinformationen Vorwärts- und/oder Rückwärtsbewegungsvektoren direkt aus den Bewegungsvektoren abgeleitet werden, die in dem korrelierten Macroblock des nachfolgenden Bezugs-Frames verwendet werden.
  • Dies ist beispielsweise in 3 dargestellt, die drei Video-Frames, nämlichen einen P-Frame 300, einen B-Frame 302 und einen P-Frame 304, entsprechend den Zeiten t, t + 1 bzw. t2 darstellt. Zudem sind in 3 Macroblöcke in den Frames 300, 302 und 304 sowie beispielhafte Bewegungsvektor-(MV-)Informationen dargestellt. Hier haben die Frames x- und y-Koordinaten, die ihnen zugeordnet sind. Die Bewegungsvektorinformationen für den B-Frame werden hier aus den Bewegungsvektorinformationen vorausgesagt (hier beispielsweise interpoliert), die für die P-Frames 300 und 400 codiert sind. Die beispielhafte Technik stützt sich auf die Annahme, dass sich ein Objekt mit einer konstanten Geschwindigkeit bewegt, und es somit möglich ist, dessen aktuelle Position in dem B-Frame vorherzusagen, ohne dass irgendwelche Bewegungsvektoren übertragen werden müssen. Wenngleich diese Technik die Bitrate bei einer gegebenen Qualität deutlich verringern kann, könnte sie möglicherweise nicht immer angewendet werden.
  • In Übereinstimmung mit bestimmten Anwendungen der vorliegenden Erfindung wird hier ein neuer Inter-Macroblocktyp angegeben, der räumliche und zeitliche Korrelationen, die auf der Macroblockebene vorhanden sein können, insbesondere im Hinblick auf die Bewegungsvektorinformationen des Macroblocks wirkungsvoll ausnutzen kann. Gemäß diesem neuen Modus besteht die Möglichkeit, dass ein aktueller Macroblock eine Bewegung haben kann, die direkt aus den zuvor decodierten Informationen abgeleitet werden kann (z. B. Bewegungsprojektion). Wie es veranschaulichend in 4 gezeigt ist, könnte es somit keine Notwendigkeit geben, irgendwelche Bewegungsvektoren für einen Macroblock zu übertragen, aber dennoch für einen gesamten Frame. Hier ist eine Sequenz 400 von Video-Frames mit Volllinienpfeilen, die codierte Beziehungen zwischen Frames kennzeichnen, und Strichlinien dargestellt, die vorhersagbare Macröblockbeziehungen kennzeichnen. Der Video-Frame 402 ist ein I-Frame, die Video-Frames 404, 406, 410 und 412 sind B-Frames und die Video-Frames 408 und 414 sind P-Frames. Wenn bei diesem Beispiel der P-Frame 408 ein Bewegungsfeld hat, das mit MF406 beschrieben ist, ist die Bewegung der zusammengestellten Macroblöcke in den Bildern 404, 406 und 414 ebenso hoch korreliert. Insbesondere wenn man davon ausgeht, dass die Geschwindigkeit über den gesamten Frame im allgemeinen konstant ist und die Frames 404 und 406 zeitlich zwischen den Frames 402 und 408 gleich beabstandet sind, und zudem berücksichtigt wird, dass für B-Frames sowohl Vorwärts- als auch Rückwärtsbewegungsvektoren verwendet werden könnten, könnten die Bewegungsfelder in dem Frame 404 gleich MF →fw 404 = 1/3 × MF →406 und MF →bw 404 = –2/3 × MF →406 für die Vorwärts- bzw. die Rückwärtsbewegungsfelder sein. In ähnlicher Weise könnten für den Frame 408 die Bewegungsfelder MF →fw 408 = 2/3 × MF →406 und MF →bw 408 = –1/3 × MF →406 für Vorwärts- bzw. Rückwärtsbewegungsfelder sein. Da 414 und 406 gleich beabstandet sind, könnte bei gleicher Annahme der zusammengestellte Macroblock die Bewegungsvektoren MF →416 = MF →406 haben.
  • Ähnlich dem Direktmodus bei den B-Frames kann, wiederum davon ausgehend, dass die Geschwindigkeit konstant ist, die Bewegung für einen Macroblock direkt aus dem korrelierten Macroblock des Bezugs-Frames abgeleitet werden. Dies ist weiter beispielsweise in 6 dargestellt, die drei Video-Frames, nämlich einen P-Frame 600, einen B-Frame 602 und einen P-Frame 604 zeigt, die den Zeiten t, t + 1 bzw. t + 2 entsprechen. Hier haben die dargestellten, zusammengestellten Macroblöcke ähnliche, wenn nicht identische Bewegungsinformationen.
  • Es ist sogar möglich, die Beschleunigung zu berücksichtigen, um derartige Bewegungsparameter zu verfeinern, wie es etwa in 7 gezeigt ist. Hier sind beispielsweise drei Frames, nämlich ein aktueller Frame 704 zur Zeit t sowie vorangehende Frames 702 (Zeit t – 1) und 700 (Zeit t – 2) gezeigt, wobei unterschiedliche Beschleunigungsinformationen mit Bewegungsvektoren unterschiedlicher Länge dargestellt sind.
  • Dieser Vorgang kann ebenfalls dadurch deutlich verbessert werden, dass, anstelle die Bewegungsprojektion auf Macroblockebene zu betrachten, berücksichtig wird, dass sich die Pixel innerhalb des vorangehenden Bildes möglicherweise mit einer konstanten Geschwindigkeit oder einer konstanten Beschleunigung bewegen (z. B. Pixelprojektion). Somit könnte man eine deutlich präzisere Vorhersage des aktuellen Frames für die B-Frame-Codierung, wie es Beispielsweise in 8 gezeigt ist, und für die P-Frame-Codierung erzeugen, wie es beispielsweise in 9 gezeigt ist. 8 zeigt beispielsweise drei Video-Frames, nämlich einen P-Frame 800, einen B-Frame 802 und einen P-Frame 804, entsprechend den Zeiten t, t + 1 bzw. t + 2. 9 zeigt beispielsweise drei Video-Frames, nämlich einen P-Frame 900, einen B-Frame 902 und einen P-Frame 904, entsprechende den Zeiten t, t + 1 bzw. t + 2.
  • Bei bestimmten Anwendungen besteht zudem die Möglichkeit, zum Zweck eines weiter verbesserten Leistungsverhaltens beide Verfahren miteinander zu kombinieren.
  • Gemäß bestimmten weiteren Anwendungen kann die Bewegung auch aus Rauminformationen beispielsweise unter Verwendung von Vorhersagetechniken abgeleitet werden, die für die Codierung von Bewegungsvektoren aus den Bewegungsinformationen der umgebenden Macroblöcke verwendet werden. Darüber hinaus kann das Leistungsverhalten ebenfalls dadurch weiter verbessert werden, dass diese beiden unterschiedlichen Verfahren in einer Mehrfachhypothesen-Architektur kombiniert werden, die eine Übertragung der Bewegungsinformationen nicht erfordert. Demzufolge können derartige neue Macroblöcke signifikante Verminderungen der Bitrate erzielen, währen eine ähnliche oder verbesserte Qualität erreicht wird.
  • Beispielhafte Codiervorgänge:
  • 10 zeigt eine beispielhafte Codierumgebung 1000, die einen herkömmlichen blockbasierten Videocodierer 1002 hat, wobei Videodaten 1004 dem Codierer 1002 bereitgestellt werden und ein entsprechender codierter Videodaten-Bitstrom ausgeben wird.
  • Die Videodaten 1004 werden einem Summiermodul 1006 zugeführt, das als Eingabe zudem die Ausgabe aus einem Bewegungskompensations-(MC-)Modul 1022 empfängt. Die Ausgabe aus dem Summiermodul 1006 wird einem Diskret-Kosinustransformations-(DCT-)Modul 1010 zugeführt. Die Ausgabe des DCT-Moduls 1010 wird als Eingabe einem Quantisiermodul (QP) 1012 zugeführt. Die Ausgabe des QP-Moduls 1012 wird als Eingabe einem inversen Quantisiermodul (QP–1) 1014 und als Eingabe einem Variabellängen-Codier-(VLC-)Modul 1016 zugeführt. Das VLC-Modul 1016 empfängt zudem als Eingabe eine Ausgabe aus einem Bewegungsschatz-(ME-)Modul 1008. Die Ausgabe aus dem VLC-Modul 1016 ist ein codierter Videobitstrom 1210.
  • Die Ausgabe des QP–1-Moduls 1014 wird als Eingabe einem Inversdiskret-Kosinustransformations-(DCT-)Modul 1018 zugeführt. Die Ausgabe aus 1018 wird als Eingabe einem Summiermodul 1020 zugeführt, das als weitere Eingabe die Ausgabe aus dem MC-Modül 1022 hat. Die Ausgabe aus dem Summiermodul 1020 wird als Eingabe einem Schleifenfiltermodul 1024 zugeführt. Die Ausgabe aus dem Schleifenfiltermodul 1024 wird als Eingabe einem Frame-Puffermodul 1026 zugeführt. Eine Ausgabe aus dem Frame-Puffermodul 1026 wird als Eingabe dem ME-Modul 1008 zugeführt, und eine weitere Ausgabe wird als Eingabe dem MC-Modul 1022 zugeführt. Das ME-Modul 1008 empfängt zudem als eine Eingabe die Videodaten 1004. Eine Ausgabe aus dem ME-Modul 1008 wird als Eingabe dem MC-Modul 1022 zugeführt.
  • Bei diesem Beispiel empfängt das MC-Modul 1022 Eingaben von dem ME-Modul 1008. Hier wird ME an einem aktuellen Frame im Bezug auf einen Bezugs-Frame ausgeführt. ME kann mit Hilfe unterschiedlicher Blockgrößen und Suchbereichen ausgeführt werden, worauf ein ”bester” Parameter, der beispielsweise ein vorbestimmtes Kriterium verwendet, codiert und übertragen wird (INTER-Codierung). Die Restinformationen werden nach der Durchführung von DCT und QP ebenfalls codiert. Zudem ist es in einigen Fällen möglich, dass das Leistungsverhalten von ME nicht das gewünschte Ergebnis erzielt und somit ein Macroblock oder ein Unterblock INTRA-codiert werden könnten.
  • Unter Berücksichtigung, dass Bewegungsinformationen sehr aufwendig sein können, kann der Codiervorgang, wie in 12, in Übereinstimmung mit bestimmten beispielhaften Anwendungen der vorliegenden Erfindung abgeändert werden, um bei einem weiteren Vorgang die Möglichkeit in Erwägung zu ziehen, dass die Bewegungsvektoren für einen Macroblock zeitlich und/oder räumlich aus vorangehenden codierten Bewegungsinformationen vorhergesagt werden könnten. Derartige Entscheidungen können beispielsweise mit Hilfe der Ratenverzerrungsoptimierungstechniken oder anderer Maßnahmen hinsichtlich des Aufwandes getroffen werden. Mit Hilfe derartiger Techniken/Modi könnte das Erfordernis fortfallen, detaillierte Bewegungsinformationen zu übertragen, da diese durch einen Direktvorhersage-(Direkt-P-)Modus ersetzt werden könnten, wie es in 5 gezeigt ist.
  • Die Bewegung kann beispielsweise in einem der folgenden Modelle oder deren Kombinationen modelliert werden: (1) Bewegungsprojektion (wie sie etwa in 3 für B-Frames und 6 für P-Frames dargestellt ist); (2) Pixelprojektion (wie sie beispielsweise in 8 für B-Frames und 9 für P-Frames gezeigt ist); (3) Räumliche MV-Vorhersage (z. B. der Medianwert von Bewegungsvektoren zusammengestellter Macroblöcke); (4) Gewichteter Durchschnitt von Bewegungsprojektion und räumlicher Vorhersage oder (5) andere, ähnliche Techniken.
  • Es können andere Vorhersagemodelle (z. B. Beschleunigung, Filterung, etc.) ebenfalls verwendet werden. Wenn nur eines dieser Modelle verwendet werden soll, dann sollte dieses sowohl im Codierer als auch im Decodierer vorhanden sein. Andernfalls könnte man Submodi verwenden, die den Codierer unverzüglich anweisen, welches Modell er verwenden sollte. Der Fachmann wird zudem erkennen, dass eine Mehrfachbezugnahme auf einen Block oder einen Macroblock unter Verwendung einer beliebigen Kombination der obigen Modelle ebenfalls möglich ist.
  • In 12 enthält eine verbesserte Videocodierumgebung 1200 einen Videocodierer 1202, der Videodaten 1004 empfängt und einen entsprechenden codierten Videodaten-Bitstrom ausgibt.
  • Hier wurde der Videocodierer 1202 derart abgeändert, dass er die Verbesserung 1204 enthält. Der Verbesserung 1024 enthält ein Zusatz-Bewegungsvektor-(MV-)Puffermodul 1206 und ein DIREKT-Entscheidungsmodul 1208. Insbesondere ist, wie dargestellt, das MV-Puffermodul 1206 dazu eingerichtet, als Eingaben die Ausgabe aus dem Frame-Puffermodul 1026 und die Ausgabe aus dem ME-Modul 1008 zu empfangen. Die Ausgabe aus dem MV-Puffermodul 1206 wird zusammen mit der Ausgabe aus dem ME-Modul 1008 als Eingaben dem DIREKT-Entscheidungsmodul 1208 zugeführt. Die Ausgabe aus dem DIREKT-Entscheidungsmodul 1208 wird anschließend als Eingabe dem MC-Modul 1022 zusammen mit der Ausgabe aus dem Frame-Puffermodul 1026 zugeführt.
  • Damit die beispielhafte Architektur erfolgreich arbeitet, werden die Bewegungsinformationen aus dem zuvor codierten Frame intakt gespeichert, worin der Zweck des Hinzufügens des MV-Puffermoduls 1206 besteht. Das MV-Puffermodul 1206 kann dazu verwendet werden, Bewegungsvektoren zu speichern. Bei bestimmten Anwendungen kann das MV-Puffermodul 1206 zudem Informationen über den verwendeten Bezugs-Frame und über den verwendeten Bewegungsmodus speichern. Für den Fall beispielsweise einer Beschleunigung kann eine zusätzliche Pufferung nützlich sein, um Bewegungsinformationen der zweiten oder sogar N vorangehender Frames zu speichern, wenn beispielsweise ein komplizierteres Modell für die Beschleunigung verwendet wird.
  • Wenn ein Macroblock, ein Unterblock oder Pixel nicht einem Bewegungsvektor zugeordnet sind (d. h. ein Macroblock ist intra-codiert), dann wird für einen derartigen Block angenommen, dass der verwendete Bewegungsvektor (0, 0) ist und lediglich der vorherige Frame als Bezug verwendet wurde.
  • Wird die Mehrfach-Frame-Bezugnahme angewendet, kann gewählt werden, die Bewegungsinformationen unverändert zu verwenden und/oder die Bewegungsinformationen im Bezug auf den vorher codierten Frame zu interpolieren. Dies hängt im wesentlichen von dem Entwurf ab, wobei es sich auch in der Praxis zeigt, dass es insbesondere für den Fall von (0, 0) Bewegungsvektoren weniger wahrscheinlich ist, dass auf den aktuellen Block von einem weitaus älteren Frame Bezug genommen wird.
  • Man kann die Direktvorhersage mit einem zusätzlichen Satz von Bewegungsinformationen kombinieren, der im Gegensatz zum vorherigen Fall als Teil der Direktvorhersage codiert ist. In einem derartigen Fall kann die Vorhersage eine Mehrfachhypothesen-Vorhersage sowohl der Direktvorhersage als auch der Bewegungsinformationen sein.
  • Da es zahlreiche mögliche Direktvorhersage-Untermodi gibt, die man kombinieren kann, können derartige auch innerhalb eines Mehfachhypothesen-Rahmenwerk kombiniert werden. Beispielsweise kann die Vorhersage aus der Bewegungsprojektion mit jener der Pixelprojektion und/oder der räumlichen MV-Vorhersage kombiniert werden.
  • Die Direktvorhersage kann auch auf der Unterblockebene innerhalb eines Macroblocks verwendet werden. Die wird bereits für B-Frames innerhalb des aktuellen H.26L-Codec getan, wo bei jedoch momentan lediglich die Bewegungsprojektion und nicht die Pixelprojektion oder ihre Kombinationen verwendet werden.
  • Für die B-Frame-Codierung kann man die Direktvorhersage aus lediglich einer Richtung (vorwärts oder rückwärts) und nicht notwendigerweise von beiden Seiten verwenden. Man kann zudem die Direktvorhersage innerhalb des bidirektionalen Modus von B-Frames verwenden, wobei eine der Vorhersagen die Direktvorhersage verwendet.
  • Für den Fall von Mehrfachhypothesen-Bildern ist es beispielsweise möglich, dass ein P-Frame auf einen zukünftigen Frame Bezug nimmt. Hier können eine geeignete Skalierung und/oder Inversion der Bewegungsinformationen ähnlich der B-Frame-Bewegungsinterpolation durchgeführt werden.
  • Es kann zudem beispielsweise die Lauflängencodierung verwendet werden, gemäß derer, sofern anschließende, ”äquivalente” Direkt-P-Modi bei der Codierung eines Frames oder Slices benutzt werden, diese dann mit Hilfe einer Lauflängendarstellung codiert werden können.
  • Das DIREKT-Entscheidungsmodul 1208 triff im wesentlichen die Entscheidung, ob der Direktvorhersagemodus anstelle der bereits existierenden Inter- oder Intramodi verwendet werden soll. Die Entscheidung kann beispielsweise auf vereinigten Raten-/Verzerrungsoptimierungskriterien und/oder darüber hinaus auf separaten Anforderungen oder Beschränkungen hinsichtlich Bitrate oder Verzerrung basieren.
  • Bei alternativen Anwendungen besteht zudem die Möglichkeit, dass das Direktvorhersagemodul 1208 dem ME-Modul 1008 vorausgeht. Wenn in einem derartigen Fall die Direktvoraussage auf der Basis bestimmter vordefinierter Bedingungen unverzüglich eine ausreichend gute Schätzung für die Bewegungsparameter bereitstellen kann, kann das ME-Modul 1008 vollständig umgangen werden, wodurch die Berechnung der Codierung ebenfalls beträchtlich verringert werden kann.
  • Beispielhafte Decodiervorgänge:
  • Es wird nun auf 11 Bezug genommen, die eine beispielhafte Decodierumgebung 1100 darstellt, die über einen Videodecodierer 1102 verfügt, der einen codierten Videodaten-Bitstrom 1104 empfängt und entsprechende (decodierte) Videodaten 1120 ausgibt.
  • Der codierte Videodaten-Bitstrom 1104 wird als Eingabe einem Variabellängen-Decodier-(VLD-)Modul 1106 zugeführt. Die Ausgabe aus dem VLD-Modul 1106 wird anschließend als Eingabe einem QP–1-Modul 1108 und als Eingabe einem MC-Modul 1110 zugeführt. Die Ausgabe aus dem QP–1-Modul 1108 wird als Eingabe einem IDCT-Modul 1112 zugeführt. Die Ausgabe aus dem IDCT-Modul 1112, wird als Eingaben einem Summiermodul 1114 zugeführt, das zudem als Eingabe eine Ausgabe aus dem MC-Modul 1110 empfängt. Die Ausgabe aus dem Summiermodul 1114 wird als Eingaben einem Schleifenfiltermodul 1116 zugeführt. Die Ausgabe des Schleifenfiltermoduls 1116 wird einem Frame-Puffermodul 1118 zugeführt. Eine Ausgabe aus dem Frame-Puffermodul 1118 wird als Eingabe einem MC-Modul 1110 zugeführt. Das Frame-Puffermodul 1118 gibt zudem (decodierte) Videodaten 1120 aus.
  • Ein beispielhafter verbesserter Decodierer 1302 für die Verwendung in einer Direktvorhersagen-Umgebung 1300 enthält weiterhin eine Verbesserung 1306. Hier empfängt, wie in 13 gezeigt, der verbesserte Decodierer 1302 einen codierten Videodaten-Bitstrom 1210 beispielsweise als Ausgabe aus dem verbesserten Videocodierer 1202 von 12 und gibt entsprechende (decodierte) Videodaten 1304 aus.
  • Die Verbesserung 1306 in diesem Beispiel ist wirkungsmäßig zwischen das MC-Modul 1110 und ein VLD-Modul 1106' eingefügt. Die Verbesserung 1306 enthält ein MV-Puffermodul 1308, das als Eingabe eine Ausgabe aus dem VLD-Modul 1106' empfängt. Die Ausgabe aus dem MV-Puffermodul 1308 wird als wählbare Eingabe einem Auswahlmodul 1312 der Verbesserung 1306 zugeführt. Ein Blockmodusmodul 1310 ist ebenfalls in der Verbesserung 1306 vorgesehen. Das Blockmodusmodul 1310 empfängt als Eingabe eine Ausgabe aus dem VLD-Modul 1106'. Eine Ausgabe des Blockmodusmoduls 1310 wird als eine Eingabe dem VLD-Modul 1106' und zudem als eine Steuereingabe dem Auswahlmodul 1312 zugeführt. Eine Ausgabe aus dem VLD-Modul 1106' wird als wählbare Eingabe dem Auswahlmodul 1312 zugeführt. Das Auswahlmodul 1312 ist dazu eingerichtet, wahlweise entweder eine Ausgabe aus dem MV-Puffemodul 1308 oder dem VLD-Modul 1106' als eine Eingabe dem MC-Modul 1110 zuzuführen.
  • Mit der Verbesserung 1306 können beispielsweise Bewegungsinformationen für jedes Pixel gespeichert werden, und wenn der Modus eines Macroblocks als Direktvorhersagemodus identifiziert ist, dann werden die gespeicherten Informationen und das geeignete Projektions- oder Vorhersageverfahren ausgewählt und verwendet. Es wird darauf hingewiesen, dass, wenn lediglich die Bewegungsprojektion verwendet wird, die Änderungen in einem bestehenden Decodierer sehr gering sind und die zusätzliche Komplexität, die dem Decodierer hinzugefügt wird, als vernachlässigbar erachtet werden kann.
  • Werden Untermodi verwendet, kann der verbesserte Decodierer 1302 beispielsweise dazu eingerichtet sein, Schritte auszuführen, die den Vorhersageschritten entgegengesetzt sind, die der verbesserte Codierer 1202 ausführt, um den aktuellen Macroblock ordnungsgemäß zu decodieren.
  • Pixel, auf die nicht Bezug genommen wurde (wie etwa Intra-Blöcke), können für die Speicherung der Bewegung wiederum so betrachtet werden, als hätten sie eine Nullbewegung.
  • Einige beispielhafte Schemata
  • Berücksichtigt man, dass es zahlreiche mögliche Prädiktoren gibt, die unverzüglich mit der Direktvorhersage verwendet werden könnten, wird aus Gründen der Kürze in dieser Beschreibung ein kleinerer Teilsatz von Fällen im Detail erläutert, die nicht nur sehr effizient, sondern auch einfach anzuwenden sind. Insbesondere werden die folgenden Modelle in größerem veranschaulichendem Detail beschrieben:
    • (A) Bei diesem Beispiel ist die Bewegungsprojektion der einzige verwendet Modus. Es wird keine Lauflängencodierung von Direktmodi verwendet, wohingegen Restinformationen ebenfalls übertragen werden. Eine spezielle Abänderung der Bewegungsparameter wird für den Fall ausgeführt, dass ein Nullbewegungsvektor verwendet wird. In einer derartigen Situation wird der Bezugs-Frame für die Direktvorhersage immer auf Null (z. B. den vorangehenden codierte Frame) gesetzt. Weiterhin werden intra-codierte Blöcke angesehen, als hätten sie Nullbewegungs- und Bezugs-Frame-Parameter.
    • (B) Dieses Beispiel gleicht Beispiel (A), mit der Ausnahme, dass kein Rest übertragen wird.
    • (C) Dieses Beispiel ist im Grunde genommen eine Kombination der Beispiele (A) und (B), dahingehend, dass, wenn QP < n (z. B. n = 24), der Rest ebenfalls codiert wird und andernfalls kein Rest übertragen wird.
    • (D) Dieses Beispiel ist ein erweitertes Direktvorhersageschema, das drei Untermodi kombiniert, nämlich: (1) Bewegungsprojektion ( MV →MP ) (2) Räumliche MV-Vorhersage ( MV →SP ) (3) Ein gewichteter Durchschnitt dieser beiden Fälle
      Figure 00240001
      wobei der Rest für QP < n (z. B. n = 24) nicht übertragen wird. Hier wird die Lauflängencodierung nicht verwendet. Die Unterteilung der Untermodi kann wie folgt festgelegt sein.
    Untermodi Code
    Räumlicher Prädiktor 0
    Bewegungsprojektion 1
    Gewichteter Durchschnitt 2
  • Der beste Untermödus kann gewählt werden, indem ein Ratenverzerrungs-Optimierungsvorgang (der beste Kompromiss zwischen Bitrate und Qualität) verwendet wird.
    • (E) Eine Kombination aus Beispiel (C) mit Pixelprojektion. Hier wird beispielsweise ein Durchschnitt von zwei Vorhersagen für den Direktvorhersagemodus verwendet.
    • (F) Dies ist eine Kombination aus Beispiel (C) mit Motion_Copy R2 (siehe z. B. Jani Lainema und Marta Karczewicz, "Skip mode motion compensation", Doc. JVT-C027, Mai 2002, das hier durch Bezugnahme enthalten ist) oder dergleichen. Dieser Fall kann als Alternative für die Verwendung des räumlichen MV-Prädiktors, der in Beispiel (D) verwendet wird, angesehen werden, wobei ein Unterschied darin besteht, dass der räumliche Prädiktor unter bestimmten Umständen den Nullauslassungsmodus vollständig ersetzt und dieses Beispiel (F) lauflängencodiert werden kann, wodurch es in der Lage ist, ein effizienteres Leistungsverhalten zu erzielen.
  • Bewequngsvektor-Vorhersage in bidirektional prädiktiven (B)-Frames im Hinblick auf den Direktmodus:
  • Der aktuelle JVT-Standard erscheint relativ unklar darüber, wie ein durch Direktmodus codierter Macroblock oder Block bei der Bewegungsvektorvorhersage innerhalb bidirektional vorhergesagter (B)-Frames zu betrachten ist. Anstelle dessen scheint es, dass die aktuelle Software einen Direktmodus-Macroblock oder Unterblock so betrachtet, als habe er einen ”anderen Bezugs-Frame” und er somit nicht bei der Vorhersage verwendet wird. Zieht man in Erwägung, dass es weiterhin eine hohe Korrelation zwischen den Bewegungsvektoren eines direktvorhergesagten Blockes und seinen Nachbarn gibt, könnte unglücklicherweise ein derartiger Zustand das Leistungsverhalten von B-Frames beträchtlich behindern und dessen Effizienz vermindern. Dadurch könnte auch die Effizienz von Fehlerverschleierungsalgorithmen beeinträchtigt werden, wenn diese auf B-Frames angewendet werden.
  • In diesem Abschnittwerden beispielhafte, alternative Ansätze aufgezeigt, die beispielsweise die Codiereffizienz verbessern und die Korrelation von Bewegungsvektoren innerhalb von B-Frames erhöhen können. Dies geschieht, indem ein durch Direktmodus codierter Block im wesentlichen als äquivalent zu einem bidirektional vorhergesagten Block innerhalb der Bewegungsvorhersagephase angesehen wird.
  • Direktmodus-Macroblöcke oder Blöcke (beispielsweise für den Fall von 8 × 8-Teilunterteilungen) können die Wirksamkeit bidirektional vorhergesagter (B)-Frames beträchtlich verbessern, da sie zeitliche Korrelationen von Bewegungsvektorinformationen benachbarter Frames wirkungsvoll ausnutzen können. Die Idee ist im wesentlichen von zeitlichen Interpolationstechniken abgeleitet, bei denen von der Annahme ausgegangen wird, dass, wenn sich ein Block von einer Position (x + dx, y + dy) zu einer Zeit t zu einer Position (x, y) zu einer Zeit t + 2 bewegt hat, durch Anwenden der zeitlichen Interpolation, sich derselbe Block zur Zeit t + 1 im wesentlichen an der Stelle: (x + dx / 2, y + dy / 2) befunden haben muss.
  • Dies ist beispielsweise in 14 dargestellt, die drei Frames, nämlich einen P-Frame 1400, einen B-Frame 1402 und einen P-Frame 1404, entsprechend den ”Zeiten t, t + 1 bzw. t + 2 zeigt. Der Ansatz der jedoch meistens bei aktuellen Codierstandards verwendet wird, geht anstelle dessen davon aus, dass der Block an Position (x, y) des Frames zur Zeit t + 1 höchstwahrscheinlich an folgenden Positionen aufgefunden werden kann. (x + dx / 2, y + dy / 2), zur Zeit t und (x + dx / 2, y – dy / 2) zur Zeit t + 2.
  • Letztgenanntes ist in 15 dargestellt, die drei Frames, nämlich einen P-Frame 1500, einen B-Frame 1502 und einen P-Frame 1504, entsprechend den Zeiten t, t + 1 bzw. t + 2 zeigt. Da die Anzahl von Direktmodusblöcken innerhalb einer Sequenz beträchtlich sein kann, wobei keine Rest- und Bewegungsinformetionen für einen derartigen Fall übertragen werden, kann die Effizienz der B-Frames deutlich verbessert werden. Es kann zudem die Lauflängencodierung (wie etwa, wenn die UVCL-Entropiecodierung (UVCL – universelle Codierung variabler Länge) verwendet werden, um das Leistungsverhalten zusätzlich zu verbessern.
  • Leider macht der aktuelle JVT-Standard nicht klar, wie die Bewegungsvektorvorhersage von Blöcken benachbart zu Direktmodusblöcken ausgeführt werden soll. Wie es aus der aktuellen Software hervorgeht, werden Direktmodusblöcke derzeit so betrachtet, als hätten sie ”einen anderen Bezugs-Frame”, weshalb somit keine räumliche Korrelation in einem derartigen Fall ausgenutzt wird. Dadurch könnte die Effizienz der Vorhersage beträchtlich vermindert werden, und zudem könnte möglicherweise das Leistungsverhalten von Fehlerverschleierungsalgorithmen beeinträchtigt werden, die auf B-Frames angewendet werden, sofern dies erforderlich ist.
  • Wenn man beispielsweise den Bewegungsvektor von E in dem aktuellen Codec vorhersagen wollte, dann würde, sofern A, B, C und D allesamt durch Direktmodus codiert wären, der Prädiktor als (0, 0) eingestellt, was keine gute Entscheidung wäre.
  • In 16 wird beispielsweise E aus A, B, C und D vorhergesagt. Wenn A, B, C oder D durch den Direktmodus codiert sind, werden somit ihre tatsächlichen Werte bei der Vorhersage derzeit nicht verwendet. Dies kann jedoch abgeändert werden. Wenn beispielsweise A, B, C oder D durch den Direktmodus codiert sind, können somit die tatsächlichen Werte von Bewegungsvektoren und Bezugs-Frames bei der Vorhersage verwendet werden. Dadurch sind zwei wählbare Optionen bereitgestellt: (1) wenn ein zusammengestellter Macroblock/Block in dem nachfolgenden P-Frame intra-codiert wird, dann wird ein Bezugs-Frame auf –1 eingestellt; (2) wenn ein zusammengestellter Macroblock/Block in dem nachfolgenden P-Frame intra-codiert wird, dann wird davon ausgegangen, dass der Bezugs-Frame 0 ist.
  • In Übereinstimmung mit bestimmten Aspekten der vorliegenden Erfindung kann man anstelle dessen die tatsächlichen Bewegungsinformationen, die aus den im Direktmodus codierten Blöcken verfügbar sind, zur Durchführung der Bewegungsvektorvorhersage verwenden. Dies ermöglicht eine höhere Korrelation der Bewegungsvektoren innerhalb einer B-Frame-Sequenz und kann somit zu einer verbesserten Effizienz führen.
  • Eine mögliche Aufgabe besteht darin, wie in geeigneter Weise Direktmodus-Macroblöcke gehandhabt werden, für die der zusammengestellte Block/Macroblock in dem nachfolgenden Frame intra-codiert wurde. Hier beinhalten zwei mögliche Optionen beispielsweise:
    • (1) Betrachte diesen Macroblock/Block so, als habe er einen anderen Bezugs-Frame und wende somit nicht die Bewegungsvektorvorhersage an; und
    • (2) Betrachte diesen Macroblock, als habe er den Bewegungsvektor (0, 0) und den Bezugs-Frame 0.
  • Gemäß bestimmter anderer beispielhafter Anwendungen der vorliegenden Erfindung kann eine weitere Abänderung bei dem Entblockungsfiltervorgang vorgenommen werden. Für den Fall des Direktmodus' kann ein Entblockungsfiltervorgang derart eingerichtet werden, dass er gespeicherte Bewegungsinformationen vergleicht, die aus in dem Direktmodus codierten Blöcken entnommen werden – andernfalls würden diese normalerweise als Null betrachtet werden. Bei einer anderen Modifikation jedoch, könnte man anstelle dessen den Entblockungsfiltervorgang derart einrichten, dass er die Bewegungsvektoren ohne Rücksicht auf den verwendeten Blocktyp vergleicht (extrahiert). Wenn bei bestimmten Anwendungen für durch Direktmodus codierte Blöcke kein Rest übertragen wird, kann somit ein ”stärkeres” Entblockungsfilter ein zusätzlich verbessertes Leistungsverhalten bereitstellen.
  • Weiterhin kann bei bestimmten anderen Anwendungen die Ratenverzerrungsentscheidung für B-Frames neu entworfen werden, da es sehr wahrscheinlich ist, dass bei bestimmten Anwendungen des Bewegungsvektor-Vorhersageschemas ein anderer Lagrange-Parameter λ, der bei den Ratenverzerrungs-Optimierungsentscheidungen benutzt wird, zu zusätzlicher Codiereffizienz führt. Ein derartiges λ kann beispielsweise angenommen werden mit:
    Figure 00270001
  • Verfeinerung der Inter-Modus-Entscheidung:
  • Der JVT-Standard hat derzeit einen überwältigenden Leistungsvorteil im Vergleich zu den meisten blockbasierten Codierstandards. Ein Teil dieses Leistungsvermögens kann der Möglichkeit zugeschrieben werden, variable Blockgrößen zu verwenden, die im Bereich von 16×16 bis 4×4 (Pixeln) liegen, anstelle über unveränderliche Blockgrößen zu verfügen. Eine Vorgehensweise in dieser Art gestattet beispielsweise eine wirkungsvollere Ausnutzung der zeitlichen Korrelation. Leider hat es sich herausgestellt, dass infolge der Modusentscheidungstechniken, die derzeit in der herkömmlichen Codierlogik existieren (z. B. Hardware, Firmware und/oder Software), Entscheidungen hinsichtlich des Modus' nicht optimal ausgeführt werden könnten, wodurch Bits verschwendet werden, die besser zugewiesen werden könnten.
  • In diesem Abschnitt werden weitere Verfahren und Geräte angegeben, die dieses Problem und/oder andere wenigstens teilweise lösen. Hier wurden die beispielhaften Verfahren und Geräte für die Verwendung wenigstens mit 16×8- und 8×16-(Pixel-)Blockmodi eingerichtet. Weiterhin wird durch Verwendung einer relativ einfachen Lösung, bei der wenigstens ein zusätzliches Kriterium eingeführt wird, eine Einsparung zwischen etwa 5% und 10% bei der Komplexität des Codierers bereitgestellt.
  • Zwei Schlüsselmerkmale des JVT-Standards sind die variable Macroblock-Moduswahl und die Ratenverzerrungsoptimierung. Ein 16×16-(Pixel)-Macroblock kann unter Verwendung unterschiedlicher Unterteilungsmodi codiert werden, für die Bewegungsinformationen ebenfalls übertragen werden. Die Auswahl des zu verwendenden Modus' kann in der Ratenverzerrungsoptimierungsphase der Codierung erfolgen, in der eine vereinigte Entscheidung bestmöglicher Qualität und bestmöglicher Bitrate angestrebt wird. Da die Zuweisungen der bestmöglichen Bewegungsinformationen für jede Teilunterteilung in einem vollständig anderen Vorgang der Codierung vorgenommen wird, ist es in einigen Fällen leider möglich, dass ein Nicht-16 × 16-Modus (z. B. 16×8 oder 8×16 Pixel)) Bewegungsinformationen mitführt, die äquivalent zu einem 16 × 16-Macroblock sind. Da die Bewegungsprädiktoren, die für jeden Modus verwendet werden, ebenfalls unterschiedlich sein können, ist es in vielen Fällen möglich, dass sich derartige 16 × 16-Typ-Informationen von dem einen zugewiesenen Modus zu dem 16 × 16-Modus unterscheiden. Weiterhin könnte unter bestimmten Bedingungen die Ratenverzerrungsoptimierung schließlich entscheiden, den Nicht-16 × 16-Macroblocktyp zu verwenden, obwohl er 16 × 16-Bewegungsinformationen fortführt, ohne zu prüfen, ob jener unter Verwendung eines 16 × 16-Modus hätte besser codiert werden können.
  • In dieser Erkenntnis könnte ein beispielhaftes System derart eingerichtet sein, dass es, wenn ein derartiger Fall auftritt, so entscheidet, dass ein verbessertes Leistungsverhalten erzielt werden kann. Gemäß bestimmter beispielhafter Anwendungen der vorliegenden Erfindung werden zwei zusätzliche Modi, die etwa P2to1 und P3to1 genannt werden, innerhalb des Modusentscheidungsvorgangs/der Modusentscheidungsphase verfügbar gemacht. Die Modi P2to1 und P3to1 werden in Kraft gesetzt, wenn die Bewegungsinformationen einer 16 × 8- bzw. 8 × 16-Teilunterteilung äquivalent zu jenen eines 16 × 16-Modus' sind.
  • Bei bestimmten Anwendungen können sämtliche Bewegungsvektoren und Bezugs-Frames, die jeder Unterteilung zugewiesen sind, gleich sein. Somit kann der äquivalente Modus während eines Ratenverzerrungsvorgangs/einer Ratenverzerrungsphase in Kraft gesetzt und geprüft werden. Da sich die Rest- und Verzerrungsinformationen im Vergleich zum Fall der Teilunterteilung kaum ändern werden, können sie ohne wesentliche Erhöhung des Berechnungsaufwandes wieder verwendet werden.
  • Wird jedoch berücksichtigt, dass die Entscheidung hinsichtlich des Ratenverzerrungsmodus' nicht perfekt ist, besteht die Möglichkeit, dass die Addition und die Berücksichtigung dieser beiden zusätzlichen Modi ohne Rücksicht auf den aktuell besten Modus in einigen begrenzten Fällen die Effizienz verringern könnte, anstelle sie zu verbessern. Als Alternative könnte man diese Modi nur dann in Kraft setzen, wenn der entsprechende Teilunterteilungsmodus gemäß der getroffenen Modusentscheidung ebenfalls der bestmögliche war. Ein Vorgehen in dieser Art und Weise kann zu Verbesserungen (wie etwa der Verminderung der Bitrate) im Vergleich zu der anderen Logik (z. B. Codecs, etc.) führen, wobei das PSNR nicht beeinträchtigt wird.
  • Sofern die Bewegungsinformationen der 16 × 8- oder 8 × 16-Teilunterteilung äquivalent zu jenen des 16 × 16-Modus' sind, kann die Ausführung einer Modusentscheidung für einen derartigen Modus unnötig sein. Wenn beispielsweise der Bewegungsvektorprädiktor der ersten Teilunterteilung exakt derselbe wie der Bewegungsvektorprädiktor des 16 × 16-Modus' ist, ist die Ausführung einer Modusentscheidung unnötig. Ist eine derartige Bedingung erfüllt, kann man diesen Modus während des Modusentscheidungsvorgangs vollständig überspringen. Ein Vorgehen in dieser Art kann die Komplexität beträchtlich verringern, da es für diesen Modus nicht erforderlich wäre, eine DCT, Quantisierung und/oder ähnliche Ratenverzerrungsvorgänge/-maßnahmen auszuführen, die dazu neigen, während des Codiervorgangs einen beträchtlichen Aufwand darzustellen.
  • Bei bestimmten anderen beispielhaften Anwendungen, kann der gesamte Vorgang auch auf eine baumstrukturierte Macroblockunterteilung ausgedehnt werden. Siehe beispielsweise Heiko Schwarz und Thomas Wiegand, "Tree-structured macroblock partition". Doc. VCEG-N17, Dezember 2001.
  • Beispielhafter Algorithmus
  • Im folgenden sind bestimmte Vorgänge aufgeführt, die ausgeführt werden können, um eine Modusverfeinerung bei einem beispielhaften Codec oder anderer ähnlicher Logik zu bewirken (es wird darauf hingewiesen, dass bei bestimmten oder anderen Anwendungen, die Vorgangsreihenfolge geändert werden kann und/oder bestimmte Vorgänge zusammen ausgeführt werden können):
    Vorgang 1: Setze Valid[P2to1] = Valid[P3to1] = 0
    Vorgang 2: Führe Bewegungsvektor- und Bezugs-Frame-Entscheidung für jeden möglichen Inter-Modus aus. MV →16×16, MVP →16×16, und refframe16×16 seien der Bewegungsvektor, der Bewegungsvektor-Prädiktor und der Bezugs-Frame für den 16 × 16-Modus, {MV →a 16×8, MV →b 16×8}, {MVP →a 16×8, MVP →b 16×8}, und {refframe a / 16×8, refframe b / 16×8} , die entsprechenden Informationen für den 16 × 8-Modus und {MV →a 8×16, MV →b 8×16}, {MVP →a 8×16, MVP →b 8×16}, und {refframe a / 8×16, refframe b / 8×16} für den 8 × 16-Modus.
    Vorgang 3: Wenn (MV →a 16×8 = MV →b 16×8) OR (refframea 16×8 != refframeb 16×8) und gehe zu Vorgang 7.
    Vorgang 4: Wenn (MV →a 16×8 != MV →16×16) OR (MVP →a 16×8 != MVP →16×16) OR {refframea 16×8, != refframe16×16}, dann gehe zu Vorgang 6.
    Vorgang 5: Valid[16 × 8] = 0; gehe zu Vorgang 7 (setze z. B. 16 × 8-Modus außer Kraft, wenn identisch mit 16 × 16. Verminderung der Komplexität).
    Vorgang 6: Valid[P2to1] = 1; (z. B. Setze Verfeinerungsmodus für 16 × 8 in Kraft) MV →P2to1 = MV →a 16×8; refframeP2to1 = refframea 16×8;
    Vorgang 7: Wenn (MV →a 8×16 != MV →b 8×16) OR (refframea 8×16 != refframea 8×16), dann gehe zu Vorgang 11.
    Vorgang 8: Wenn (MV →a 8×16 != MV →16×16) OR (MVP →a 8×16 != MVP →16×16) OR (refframea 8×16 != refframe16×16), dann gehe zu Vorgang 10.
    Vorgang 9: Valid[8 × 16] = 0; gehe zu Vorgang 11 (setze z. B. 8 × 16-Modus außer Kraft, wenn identisch mit 16 × 16, um Komplexität zu vermindern)
    Vorgang 10: Valid[P3to1] = 1 (setze z. B. Verfeinerungsmodus für 8 × 16 in Kraft) MV →P3to1 = MV →a 8×16; refframePto1 = refframesa 8×16;
    Vorgang 11: Führe Ratenverzerrungsoptimierung für sämtliche Inter- & Intra-Modi aus, sofern (Valid[MODE] = 1),
    wobei MODE ∊ {INTAA4 × 4, INTRA16 × 16, SKIP, 16 × 16, 8 × 16, P8 × 8}, unter Verwendung der Lagrange-Funktion:
    J(s, c, MODEl, λMODE) = SSD(s, c, MODElQP) + λMODER(s, c, MODElQP)
    Vorgang setze besten Modus auf Besthode
    Vorgang 12: Wenn (Besthode != 16 × 8) then Valid[P3to1] = 0 (Es wird darauf hingewiesen, dass dieser Vorgang optional ist).
    Vorgang 13: Wenn (Besthode != 8 × 16) then Valid[P2to1] = 0 (es wird darauf hingewiesen, dass dieser Vorgang optional ist).
    Vorgang 14: Führe Ratenverzerrungsoptimierung für die beiden zusätzlichen Modi aus, soferrt (Valid[MODE] =1), wobei MODE ∊ {P2to1, P3to1} (Modi werden z. B. als äquivalent zu 16 × 16-Modi angesehen)
    Vorgang 15: Setze Besthode auf den insgesamt besten gefundenen Modus ein.
  • Anwenden beispielhafter Direktvorhersagetechniken für die Zeilensprung-Codierung
  • Infolge des gestiegenen Interesses von Zeilensprung-Videocodierung innerhalb des H.26L-Standards, wurden zahlreiche Vorschläge zur Verbesserung der Codierleistung von Zeilensprung-Sequenzen gemacht. In diesem Abschnitt werden Techniken aufgezeigt, die in der aktuellen Syntax von H.26L und/oder anderen ähnlichen Systemen angewendet werden können. Diese beispielhaften Techniken können eine Verbesserung des Leistungsverhaltens bewirken. Weiterhin wird die Dirtekt-P-Vorhersagetechnik vorgestellt, die der Direkt-B-Technik gleicht und sowohl bei der Zeilensprung- als auch bei der Vollbild-Videocodierung angewendet werden kann.
  • Weitere Informationen bezüglich beispielhafter Direkt-P-Vorhersagetechniken:
  • Der Direktmodus von Bewegungsvektoren in B-Frames kann von der Codierleistung deutlich profitieren, da sie die Bits, die für die Codierung von Bewegungsvektoren benötigt werden, beträchtlich verringern kann, insbesondere wenn man berücksichtigt, dass bis zu zwei Bewegungsvektoren übertragen werden müssen. Wenn jedoch ein Block mit Hilfe des direkten Modus' codiert wird, sind keine Bewegungsvektoren notwendig, wohingegen diese anstelle dessen als zeitliche Interpolationen der Bewegungsvektoren der zusammengestellten Blöcke in dem ersten anschließenden Bezugsbild berechnet werden. Ein ähnlicher Ansatz für die P-Frames wurde offenbar niemals in Erwägung gezogen, da die Struktur von P-Frames und ihrer zugehörigen Macroblöcke weitaus einfacher war, wobei jeder Macroblock lediglich eines Bewegungsvektors bedurfte. Ein Hinzufügen eines derartigen Modus' hätte anstelle dessen sehr wahrscheinlich einen deutlichen unnötigen Aufwand hervorgerufen und somit möglicherweise jeglichen möglichen Gewinn zunichte gemacht.
  • Bei H.26L wurden P-Frames andererseits dadurch deutlich verbessert, dass zahlreiche zusätzliche Macroblockmodi eingeführt wurden. Wie es zuvor beschrieben wurde, kann es in zahlreichen Fällen sogar erforderlich sein, bis zu 16 Bewegungsvektoren pro Macroblock zu übertragen. Berücksichtigt man diesen zusätzlichen Modusaufwand, den P-Frames bei H.26L enthalten können, wäre eine Anwendung der Direktvorhersage der Bewegungsvektoren praktikabel. Auf diese Weise können sämtliche Bits für die verwendeten Bewegungsvektoren und für den Bezugs-Frame lediglich zu Lasten des zusätzlichen Modus' eingespart werden, wie es beispielsweise in 4 gezeigt ist.
  • Wenngleich ein stärker zielgerichtetes Verfahren der Direkt-P-Vorhersage darin besteht, die Bewegungsvektoren der zusammengestellten Pixel in dem vorangehenden Frame zu wählen, könnte man bei anderen Anwendungen auch die Bewegungsbeschleunigung als alternative Lösung in Betracht ziehen. Dies beruht, auf der Tatsache, das sich die Bewegung von Frame zu Frame möglicherweise ändert, nicht konstant ist und mit Hilfe der Beschleunigung bessere Ergebnisse erzielt werden könnten, wie es beispielsweise in 7 gezeigt ist.
  • Derartige Techniken können weiterhin bei der Vollbild-Videocodierung angewendet werden.
  • Berücksichtigt man die Korrelation, dass Fields (Halbbilder) in manchen Fällen innere Zeilensprungssequenzen haben können, wie etwa in Bereichen mit konstanter, lediglich horizontaler Bewegung, kann dieser Ansatz dennoch dabei hilfreich sein, die Codiereffizienz für die Zeilensprungsequenz-Codierung zu verbessern. Dies ist beispielsweise insbesondere von Vorteil bei bekannten Frames des Field-Typs, wenn davon ausgegangen wird, dass die Bewegung benachbarter Fields dieselbe ist. Bei dieser Art von Einrichtung können Fields der selben Parität als neue Frames betrachtet werden und werden anschließend sequentiell codiert, ohne das Zeilensprungmerkmal zu berücksichtigen. Dies bleibt vollständig dem Decodierer überlassen. Durch Verwendung dieses beispielhaften Direkt-P-Modus kann man jedoch einen Satz von Bewegungsvektoren für den ersten zu codierenden Field-Macroblock (z. B. der Größe 16×16 Pixel) verwenden, wohingegen das zweite Field an demselben Ort dieselben Bewegungsinformationen erneut verwendet. Die einzigen zusätzlichen Informationen, die gesendet werden müssen, sind das codierte Restbild. Bei anderen Anwendungen besteht die Möglichkeit zur Verbesserung dieser Techniken darin, die Korrelationen zwischen den Restbildern der beiden zusammengestellten Field-Blöcke zu berücksichtigen.
  • Um den Direktmodus bei P-Frames zuzulassen, ist es im wesentlichen notwendig, einen zusätzlichen Inter-Modus in das System einzubinden. Somit kann man, anstelle über lediglich 8 Inter-Modi zu verfügen, bei einem Beispiel auf 9 Inter-Modi zurückgreifen, die im folgenden aufgeführt sind.
    INTER-MODI Beschreibung
    COPY_MB 0 Überspringe Macroblock-Modus
    M16 × 16_MB 1 Ein 16 × 16-Block
    M16 × 8_MB 2 Zwei 16 × 8-Blöcke
    M8 × 16_MB 3 Zwei 8 × 16-Blöcke
    M8 × 8_MB 4 Vier 8 × 8-Blöcke
    M8 × 4_MB 5 Acht 8 × 4-Blöcke
    M4 × 8_MB 6 Acht 4 × 8-Blöcke
    M4 × 4_MB 7 Sechzehn 16 × 8-Blöcke
    PDIRECT_MB 8 Kopiere Modus und Bewegungsvektoren des zusammengestellten Macroblocks im vorangehenden Frame
  • Im allgemeinen können derartige beispielhafte Direktmodi für P-Frames auftreten, wenn der zusammengestellte Macroblock mit Ausnahme von ”Überspringe Macroblock” ebenfalls vom INTER-Typ war, jedoch den Direktmodus beinhaltet, da es in anderen Fällen keine Bewegungsinformationen gibt, die verwendet werden könnten. Für den Fall, dass der vorangehende Macroblock ebenfalls im Direkt-P-Modus codiert ist, werden anstelle dessen die letzten Bewegungsvektoren und der letzte Modus für diesen Macroblock berücksichtigt. Um jedoch die Fälle, dass dieser Modus nicht logisch auftritt, besser zu hamdhaben, und insbesondere wenn der INTRA-Modus verwendet wurde, kann man wählen, dass es zulässig ist, dass dieser Modus ebenfalls in derartigen Fällen auftritt, wobei der Modus nun einen zweiten Macroblock-Auslassungsmodus kennzeichnet, bei dem eine Kopie der Informationen nicht von dem vorangehenden Frame erfolgt, sondern von einem Frame davor. In diesem Fall werden keine Restinformationen codiert. Dies ist insbesondere bei Zeilensprungssequenzen geeignet, da es wahrscheinlicher ist, dass ein Macroblock mit größerer Genauigkeit in dem Frame des Fields mit derselben Parität und nicht in dem zuvor Codierten Field-Frame aufgefunden wird, wie es bei vorherigen Techniken dargestellt wurde.
  • Wenn ein Satz zweier Frames des Field-Typs bei der Codierung von Zeilensprungbildern verwendet wird, kann zu Zwecken einer verbesserten Effizienz der Macroblock-Auslassungsmodus derart eingerichtet werden, dass er die Bilder von Fields derselben Parität verwendet. Wird der Direkt-P-Modus beispielsweise als Auslassungskennzeichen verwendet, dann wird anstelle dessen die andere Parität verwendet. Ein zusätzlicher Vorteil des Direkt-P-Modus' besteht darin, dass er eine deutliche Verminderung der Komplexität in dem Codierer gestatten kann, da die Möglichkeit besteht, es dem System zu gestatten, eine Vorprüfung dahingehend auszuführen, ob der Direkt-P-Modus eine ausreichend zufriedenstellende Lösung bietet, wobei, wenn dies der Fall ist, keine zusätzliche Berechnung für die Entscheidung hinsichtlich des Modus' und für die Bewegungsschatzung dieses speziellen Blocks erforderlich sein kann. Um sich ebenfalls der Aufgabe der Bewegungsvektorcodierung zuzuwenden, können die Bewegungsvektoren, die für die Direkt-P-Codierung verwendet werden, ”unverändert” für die Berechnung eines MEDIAN-Prädiktors verwendet werden.
  • Best-Field-First-Technik & Field-Neudurchmischung:
  • Die Codierung einer Zeilensprungsequenz, die die Unterstützung sowohl von Zeilensprung-Frame-Material als auch separater Zeilensprung-Field-Bilder in demselben Strom zulässt, wird wahrscheinlich zu einer weitaus besseren Lösung führen als die Codierung, bei der lediglich eines der beiden Verfahren zur Anwendung kommt. Die separate Zeilensprung-Field-Technik verfügt über einige zusätzliche Vorteile, wie etwa das Entblocken, und kann insbesondere eine verbesserte Fehlerbelastbarkeit bereitstellen. Tritt ein Fehler innerhalb eines Field-Bildes auf, kann der Fehler beispielsweise auf einfache Art und Weise unter Verwendung der Informationen aus dem zweiten Bild aufgelöst werden.
  • Dies trifft bei der frame-basierten Technik nicht zu, bei der, insbesondere wenn man die oftmals große Größe und die hohe Anzahl von Bits berücksichtigt, die bei derartigen Frames verwendet wird, Fehler innerhalb eines derartigen Frames mit sehr viel höherer Wahrscheinlichkeit auftreten können. Eine verringerte Korrelation zwischen Pixeln/Blöcken kann die Fehlerwiederherstellung nicht unterstützen.
  • Hier kann das Field-/Frame-Codierkonzept dadurch verbessert werden, dass man es dem Codierer gestattet zu wählen, welches Field zuerst codiert werden soll, während außer Acht gelassen wird, welches Field zuerst angezeigt werden soll. Dies kann automatisch in einem Decoder geschehen, wobei ein größerer Puffer zum Speichern eines zukünftigen Field-Frames erforderlich ist, bevor dieser angezeigt wird. Wenngleich beispielsweise das obere Field dem unteren Field zeitlich vorausgeht, kann die Codiereffizienz höher sein, wenn das untere Field vor dem oberen Field-Frame zuerst codiert und übertragen wird. Die Entscheidung kann beispielsweise bei dem/der Ratenverzerrungsoptimierungsvorgang/-phase getroffen werden, bei der zuerst geprüft wird, wie sich das Leistungsverhalten darstellt, wenn das ungerade Field zuerst, gefolgt von dem geraden Field, codiert wird, und wie das Leistungsverhalten sein wird, wenn das gerade Field anstelle dessen codiert und als Referenz für das ungerade Field verwendet wird. Ein derartiges Verfahren impliziert, dass sowohl dem Codierer als auch dem Decodierer bekannt ist, welches Field zuerst angezeigt werden soll, und jegliche Neudurchmischung nahtlos erfolgt. Es ist zudem von Bedeutung, dass, obwohl des ungerade Field zuerst codiert wurde, sowohl dem Codierer als auch dem Decodierer diese Änderung bekannt ist, wenn der Frame zum Zweck der INTER-/INTRA-Vorhersage indiziert wird. Veranschaulichende Beispiele eines derartigen Vorhersageschemas, bei dem vier Bezugs-Frames verwendet werden, sind in 17 und 18 dargestellt. In 17 ist die Zeilensprungcodierung unter Verwendung eines beispielhaften Best-Field-First-Schemas bei P-Frames dargestellt. In 18 ist die Zeilensprungcodierung unter Verwendung eines Best-Field-First-Schemas bei B-Frames gezeigt.
  • Für den Fall vereinigter Field-/Frame-Bilder kann das Schema, das beispielhaft in 19 gezeigt ist, angewendet werden. Hier ist ein Best-Field-First-Schema mit frame- und field-basierter Codierung dargestellt. Werden zwei Frames für die frame-basierte Bewegungsschätzung verwendet, können wenigstens fünf Field-Frames für die Bewegungsschätzung der Fields verwendet werden, insbesondere dann, wenn ein Field-Tausch erfolgt. Dies gestattet eine Bezugnahme wenigstens zweier Field-Frames derselben Parität. Im allgemeinen sollten 2 × N + 1 Field-Frames gespeichert werden, wenn N vollständige Frames verwendet werden sollen. Frames können zudem auf einfache Art und Weise in dem Codierer und dem Decodierer für derartige Zwecke zeilensprungartig angeordnet und aus diesem Verbund wieder gelöst werden.
  • Wenngleich in der obigen Beschreibung eine Sprache verwendet wird, die für strukturelle Merkmale und/oder verfahrensspezifische Vorgänge kennzeichnend ist, versteht es sich, dass die Erfindung, die in den beigefügten Ansprüchen definiert ist, nicht auf spezielle beschriebene Merkmale oder Vorgänge beschrankt ist. Anstelle dessen sind diese speziellen Merkmale und Vorgänge als beispielhafte Ausführungen zur Anwendung der Erfindung offenbart.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • ISO/IEC JTC1 Standard [0004]
    • Heiko Schwarz und Thomas Wiegand, ”Tree-structured macroblock partition”, Doc. VCEG-N17, Dezember 2001 [0004]
    • Jani Lainema und Marta Karczewicz, ”Skip mode motion compensation”, Doc. JVT-C027, Mai 2002 [0104]
    • Heiko Schwarz und Thomas Wiegand, ”Tree-structured macroblock partition”. Doc. VCEG-N17, Dezember 2001 [0124]

Claims (31)

  1. Videodecodierer, umfassend: einen inversen Quantisierer; einen Inversdiskret-Kosinustransformierer; einen Schleifenfilter; einen Bewegungskompensierer; einen Frame-Puffer; und eine Modusauswahleinrichtung, die angepasst ist, einen Decodiermodus für einen aktuellen 16 × 16-Makroblock aus für einen aktuellen P-Frame möglichen Decodiermodi auszuwählen, wobei die für den aktuellen P-Frame möglichen Decodiermodi enthalten: einen ersten INTER-Modus, in dem der aktuelle 16 × 16-Makroblock mit Bewegungskompensation unter Verwendung vorhergesagter Bewegungsvektorinformationen decodiert wird, die nicht aus einem Bitstrom für den aktuellen 16 × 16-Makroblock decodiert werden, wobei die vorhergesagten Bewegungsvektorinformationen gemäß dem ersten INTER-Modus wenigstens teilweise auf Bewegungsvektorinformationen eines oder mehrerer umgebender Makroblöcke in dem aktuellen P-Frame basieren; einen zweiten INTER-Modus, in dem der aktuelle 16 × 16-Makroblock mit Bewegungskompensation unter Verwendung vorhergesagter Bewegungsvektorinformationen decodiert wird, die nicht aus dem Bitstrom für den aktuellen 16 × 16-Makroblock decodiert werden, wobei die vorhergesagten Bewegungsvektorinformationen gemäß dem zweiten INTER-Modus wenigstens teilweise auf den Bewegungsvektorinformationen eines oder mehrerer umgebender Makroblöcke in dem aktuellen P-Frame basieren und wobei die vorhergesagten Bewegungsvektorinformationen gemäß dem zweiten INTER-Modus verschieden von den vorhergesagten Bewegungsvektorinformationen gemäß dem ersten INTER-Modus sind; einen dritten INTER-Modus, in dem der aktuelle 16 × 16-Makroblock mit Bewegungskompensation unter Verwendung von Bewegungsvektorinformationen decodiert wird, die aus dem Bitstrom für den aktuellen 16 × 16-Makroblock decodiert werden; einen vierten INTER-Modus, in dem der aktuelle 16 × 16-Makroblock in zwei 16 × 8-Blöcke untergeteilt wird, die mit Bewegungskompensation decodiert werden; einen fünften INTER-Modus, in dem der aktuelle 16 × 16-Makroblock in zwei 8 × 16-Blöcke untergeteilt wird, die mit Bewegungskompensation decodiert werden; und einen sechsten INTER-Modus, in dem der aktuelle 16 × 16-Makroblock in vier 8 × 8-Blöcke untergeteilt wird, die mit Bewegungskompensation decodiert werden.
  2. Videodecodierer nach Anspruch 1, wobei die Modusauswahleinrichtung angepasst ist, den Decodiermodus gemäß Makroblockmodusinformationen, Untermodusinformationen und Unterteilungsinformationen auszuwählen.
  3. Videodecodierer nach Anspruch 1, wobei die für den aktuellen P-Frame möglichen Decodiermodi weiterhin einen INTRA-Modus enthalten, in dem der aktuelle 16 × 16-Makroblock intra-decodiert wird.
  4. Videodecodierer nach Anspruch 1, wobei die für den aktuellen P-Frame möglichen Decodiermodi weiterhin einen siebten INTER-Modus enthalten, in dem der aktuelle 16 × 16-Makroblock in sechzehn 4 × 4-Blöcke unterteilt wird, die mit Bewegungskompensation decodiert werden.
  5. Videodecodierer nach Anspruch 1, wobei die Modusauswahleinrichtung weiterhin angepasst ist, einen Bezugsframe zur Verwendung bei einer Bewegungskompensation aus mehreren Bezugsframes auszuwählen.
  6. Videodecodierer nach Anspruch 1, wobei der Videodecodierer weiterhin angepasst ist, Restinformationen für den aktuellen 16 × 16-Makroblock unter Verwendung des inversen Quantisierers und des Inversdiskret-Kosinustransformierers zu decodieren.
  7. Videodecodierer nach Anspruch 1, weiterhin einen Bewegungsvektorpuffer umfassend.
  8. Videodecodierer nach Anspruch 1, wobei die Modusauswahleinrichtung enthält: ein Blockmodusmodul, das angepasst ist zum Empfangen decodierter Makroblockmodusinformationen für den aktuellen 16 × 16-Makroblock und zum Bereitstellen einer Steuereingabe zur Auswahl einer Bewegungsvektorinformation; und ein Auswahlmodul, das angepasst ist zum Bereitstellen von Bewegungsvektorinformationen gemäß der Steuerung durch die Steuereingabe aus dem Blockmodusmodul.
  9. Videodecodierer nach Anspruch 8, wobei das Auswahlmodul angepasst ist, die Bewegungsvektorinformationen, wie sie durch die Steuereingabe aus dem Blockmodusmodul gesteuert werden, bereitzustellen, indem decodierte Bewegungsvektorinformationen aus dem Bitstrom wählbar verwendet werden.
  10. Videodecodierer nach Anspruch 8, wobei das Auswahlmodul angepasst ist, die Bewegungsvektorinformationen, wie sie durch die Steuereingabe aus dem Blockmodusmodul gesteuert werden, bereitzustellen, indem gepufferte Bewegungsvektorinformationen aus einem Bewegungsvektorpuffer wählbar verwendet werden.
  11. Videodecodierer nach Anspruch 1, weiterhin eine Anzeigevorrichtung, einen Lautsprecher, eine Verarbeitungseinheit und einen Speicher umfassend.
  12. Computergerät mit einem Videodecodierer, wobei: der Videodecodierer angepasst ist, eine inverse Quantisierung durchzuführen; der Videodecodierer weiterhin angepasst ist, eine Inversdiskret-Kosinustransformation durchzuführen; der Videodecodierer weiterhin angepasst ist, eine Schleifenfilterung durchzuführen; der Videodecodierer weiterhin angepasst ist, eine Bewegungskompensation durchzuführen; der Videodecodierer weiterhin angepasst ist, einen oder mehrere Bezugsframes zu speichern; und der Videodecodierer weiterhin angepasst ist, einen Decodiermodus für einen aktuellen 16 × 16-Makroblock eines aktuellen P-Frames aus Decodiermodi auszuwählen, die enthalten: einen ersten INTER-Modus, in dem der aktuelle 16 × 16-Makroblock mit Bewegungskompensation unter Verwendung erster vorhergesagter Bewegungsvektorinformationen decodiert wird, die aus Bewegungsvektorinformationen eines oder mehrerer umgebender Makroblöcke in dem aktuellen P-Frame vorhergesagt sind; einen zweiten vom ersten INTER-Modus verschiedenen INTER-Modus, in dem der aktuelle 16 × 16-Makroblock mit Bewegungskompensation unter Verwendung zweiter vorhergesagter Bewegungsvektorinformationen decodiert wird, die aus den Bewegungsvektorinformationen des einen oder der mehreren umgebenden Makroblöcke in dem aktuellen P-Frame vorhergesagt sind; einen dritten INTER-Modus, in dem der aktuelle 16 × 16-Makroblock mit Bewegungskompensation unter Verwendung von Bewegungsvektorinformationen decodiert wird, die aus einem Bitstrom decodiert werden; einen vierten INTER-Modus, in dem der aktuelle 16 × 16-Makroblock in zwei 16 × 8-Blöcke unterteilt wird, die mit Bewegungskompensation decodiert werden; einen fünften INTER-Modus, in dem der aktuelle 16 × 16-Makroblock in zwei 8 × 16-Blöcke unterteilt wird, die mit Bewegungskompensation decodiert werden; und einen sechsten INTER-Modus, in dem der aktuelle 16 × 16-Makroblock in vier 8 × 8-Blöcke unterteilt wird, die mit Bewegungskompensation decodiert werden.
  13. Computergerät nach Anspruch 12, wobei der Videodecodiererangepasst ist, den Decodiermodus gemäß Makroblockmodusinformationen, Untermodusinformationen und Unterteilungsinformationen auszuwählen.
  14. Computergerät nach Anspruch 12, wobei: die Decodiermodi weiterhin enthalten: einen INTRA-Modus, in dem der aktuelle 16 × 16-Makroblock intra-decodiert wird; und der Videodecodierer weiterhin angepasst ist, einen Bezugsframe zur Verwendung bei einer Bewegungskompensation aus mehreren Bezugsfromes auszuwählen.
  15. Computergerät nach Anspruch 12, wobei der Videodecodierer angepasst ist, eine Auswahl von Bewegungsvektorinformationen unter Verwendung decodierter Makroblockmodusinformationen für den aktuellen 16 × 16-Makroblock zu steuern, wobei decodierte Bewegungsvektorinformationen aus dem Bitstrom wählbar verwendet werden und gepufferte Bewegungsvektorinformationen aus einem Bewegungsvektorpuffer wählbar verwendet werden.
  16. Computergerät nach Anspruch 12, weiterhin eine Anzeigevorrichtung, einen Lautsprecher, eine Verarbeitungseinheit und einen Speicher umfassend.
  17. Videodecodierer, umfassend: einen inversen Quantisierer; einen Inversdiskret-Kosinustransformierer; einen Schleifenfilter; einen Bewegungskompensierer; einen Bewegungsvektorpuffer; und einen Frame-Puffer, wobei der Videodecodierer angepasst ist, einen Decodiermodus für einen aktuellen 16 × 16-Makroblock eines aktuellen P-Frames aus Decodiermodi auszuwählen, die enthalten: einen ersten INTER-Modus, in dem der aktuelle 16 × 16-Makroblock mit Bewegungskompensation unter Verwendung erster vorhergesagter Bewegungsvektorinformationen decodiert wird, die aus Bewegungsvektorinformationen eines oder mehrerer umgebender Makroblöcke in dem aktuellen P-Frame vorhergesagt sind; einen zweiten vom ersten INTER-Modus verschiedenen INTER-Modus, in dem der aktuelle 16 × 16-Makroblock mit Bewegungskompensation unter Verwendung zweiter vorhergesagter Bewegungsvektorinformationen decodiert wird, die aus den Bewegungsvektorinformationen des einen oder der mehreren umgebenden Makroblöcke in dem aktuellen P-Frame vorhergesagt sind; einen dritten INTER-Modus, in dem der aktuelle 16 × 16-Makroblock mit Bewegungskompensation unter Verwendung von Bewegungsvektorinformationen decodiert wird, die aus einem Bitstrom decodiert werden; einen vierten INTER-Modus, in dem der aktuelle 16 × 16-Makroblock in zwei 16 × 8-Blöcke unterteilt wird, die mit Bewegungskompensation decodiert werden; einen fünften INTER-Modus, in dem der aktuelle 16 × 16-Makroblock in zwei 8 × 16-Blöcke unterteilt wird, die mit Bewegungskompensation decodiert werden; und einen sechsten INTER-Modus, in dem der aktuelle 16 × 16-Makroblock in vier 8 × 8-Blöcke unterteilt wird, die mit Bewegungskompensation decodiert werden.
  18. Videodecodierer nach Anspruch 17, wobei der Videodecodierer angepasst ist, den Decodiermodus gemäß Makroblockmodusinformationen, Untermodusinformationen und Unterteilungsinformationen auszuwählen.
  19. Videodecodierer nach Anspruch 17, wobei der Videodecodierer weiterhin angepasst ist, einen Bezugsframe zur Verwendung bei einer Bewegungskompensation aus mehreren Bezugsframes auszuwählen und wobei der Bewegungsvektorpuffer angepasst ist, Bewegungsvektorinformationen, Kennzeichnungen eines verwendeten Bezugsframes und Modi für die Makroblöcke in dem aktuellen P-Frame zur Verwendung bei der Vorhersage für den ersten und den zweiten INTER-Modus zu speichern.
  20. Videodecodierer nach Anspruch 17, weiterhin enthaltend: ein Blockmodusmodul, das angepasst ist zum Empfangen decodierter Makroblockmodusinformationen für den aktuellen 16 × 16-Makroblock und zum Bereitstellen einer Steuereingabe zur Auswahl einer Bewegungsvektorinformation; und ein Auswahlmodul, das angepasst ist zum Bereitstellen von Bewegungsvektorinformationen gemäß der Steuerung durch die Steuereingabe aus dem Blockmodusmodul, wobei das Auswahlmodul angepasst ist, die Bewegungsvektorinformationen, wie sie durch die Steuereingabe aus dem Blockmodusmodul gesteuert werden, bereitzustellen, indem decodierte Bewegungsvektorinformationen aus dem Bitstrom wählbar verwendet werden, und wobei das Auswahlmodul weiterhin angepasst ist, die Bewegungsvektorinformationen, wie sie durch die Steuereingabe aus dem Blockmodusmodul gesteuert werden, bereitzustellen, indem gepufferte Bewegungsvektorinformationen aus dem Bewegungsvektorpuffer wählbar verwendet werden.
  21. Videodecodierer nach Anspruch 17, weiterhin eine Anzeigevorrichtung, einen Lautsprecher, eine Verarbeitungseinheit und einen Speicher umfassend.
  22. Computergerät mit einem Videodecodierer, wobei: der Videodecodierer angepasst ist, eine inverse Quantisierung durchzuführen; der Videodecodierer weiterhin angepasst ist, eine Inversdiskret-Kosinustransformation durchzuführen; der Videodecodierer weiterhin angepasst ist, eine Schleifenfilterung durchzuführen; der Videodecodierer weiterhin angepasst ist, eine Bewegungskompensation durchzuführen; der Videodecodierer weiterhin angepasst ist, Bewegungsvektorinformationen zu Puffern; der Videodecodierer weiterhin angepasst ist, einen oder mehrere Bezugsframes zu speichern; und der Videodecodierer weiterhin angepasst ist, einen INTER-Modus für einen aktuellen 16 × 16-Makroblock eines aktuellen P-Frames aus INTER-Modi auszuwählen, die enthalten: einen ersten Direktmodus, in dem der aktuelle 16 × 16-Makroblock mit Bewegungskompensation unter Verwendung erster vorhergesagter Bewegungsvektorinformationen decodiert wird, die aus Bewegungsvektorinformationen eines oder mehrerer umgebender Makroblöcke in dem aktuellen P-Frame vorhergesagt sind; einen zweiten vom ersten Direktmodus verschiedenen Direktmodus, in dem der aktuelle 16 × 16-Makroblock mit Bewegungskompensation unter Verwendung zweiter vorhergesagter Bewegungsvektorinformationen decodiert wird, die aus den Bewegungsvektorinformationen des einen oder der mehreren umgebenden Makroblöcke in dem aktuellen P-Frame vorhergesagt sind; einen 16 × 16-Modus, in dem der aktuelle 16 × 16-Makroblock mit Bewegungskompensation unter Verwendung von Bewegungsvektorinformationen decodiert wird, die aus einem Bitstrom decodiert werden; einen 16 × 8-Modus, in dem der aktuelle 16 × 16-Makroblock in zwei 16 × 8-Blöcke unterteilt wird, die mit Bewegungskompensation decodiert werden; einen 8 × 16-Modus, in dem der aktuelle 16 × 16-Makroblock in zwei 8 × 16-Blöcke unterteilt wird, die mit Bewegungskompensation decodiert werden; und einen 8 × 8-Modus, in dem der aktuelle 16 × 16-Makroblock in vier 8 × 8-Blöcke unterteilt wird, die mit Bewegungskompensation decodiert werden.
  23. Computergerät nach Anspruch 22, wobei der Videodecodierer angepasst ist, den INTER-Modus gemäß Makroblockmodusinformationen, Untermodusinformationen und Unterteilungsinformationen auszuwählen.
  24. Computergerät nach Anspruch 22, wobei der Videodecodierer weiterhin angepasst ist, einen Bezugsframe zur Verwendung bei einer Bewegungskompensation aus mehreren Bezugsframes auszuwählen und wobei der Videodecodierer weiterhin angepasst ist, Kennzeichnungen eines verwendeten Bezugsframes und Modi für die Makroblöcke in dem aktuellen P-Frame zur Verwendung bei der Vorhersage für den ersten und den zweiten Direktmodus zu puffern.
  25. Computergerät nach Anspruch 22, wobei der erste Direktmodus ein Modus mit räumlicher Vorhersage und der zweite Direktmodus ein Modus mit gewichtetem Durchschnitt ist.
  26. Computergerät mit einem Videocodierer, wobei der Videocodierer umfasst: einen Bewegungsschätzer; einen Bewegungskompensierer; einen Bewegungsvektorpuffer; einen Diskret-Kosinustransformierer; einen Quantisierer; einen inversen Quantisierer; einen Inversdiskret-Kosinustransformierer; einen Schleifenfilter; einen Frame-Puffer; und ein Entscheidungsmodul, das angepasst ist, einen Codiermodus für einen aktuellen 16 × 16-Makroblock eines aktuellen P-Frames aus Codiermodi auszuwählen, die enthalten: einen ersten INTER-Modus, in dem der aktuelle 16 × 16-Makroblock mit Bewegungskompensation unter Verwendung erster vorhergesagter Bewegungsvektorinformationen codiert wird, die aus Bewegungsvektorinformationen eines oder mehrerer umgebender Makroblöcke in dem aktuellen P-Frame vorhergesagt werden; einen zweiten vom ersten INTER-Modus verschiedenen INTER-Modus, in dem der aktuelle 16 × 16-Makroblock mit Bewegungskompensation unter Verwendung zweiter vorhergesagter Bewegungsvektorinformationen codiert wird, die aus den Bewegungsvektorinformationen des einen oder der mehreren umgebenden Makroblöcke in dem aktuellen P-Frame vorhergesagt werden; einen dritten INTER-Modus, in dem der aktuelle 16 × 16-Makroblock mit Bewegungskompensation unter Verwendung von Bewegungsvektorinformationen codiert wird, die in einem Bitstrom ausgegeben werden; einen vierten INTER-Modus, in dem der aktuelle 16 × 16-Makroblock in zwei 16 × 8-Blöcke unterteilt wird, die mit Bewegungskompensation codiert werden; einen fünften INTER-Modus, in dem der aktuelle 16 × 16-Makroblock in zwei 8 × 16-Blöcke unterteilt wird, die mit Bewegungskompensation codiert werden; und einen sechsten INTER-Modus, in dem der aktuelle 16 × 16-Makroblock in vier 8 × 8-Blöcke unterteilt wird, die mit Bewegungskompensation codiert werden.
  27. Computergerät nach Anspruch 26, wobei das Entscheidungsmodul angepasst ist, den Codiermodus für den aktuellen 16 × 16-Makroblock unter Verwendung einer Ratenverzerrungsoptimierung auszuwählen, bei der die Codiermodi gemäß einer Lagrange-Funktion bewertet werden.
  28. Computergerät nach Anspruch 26, wobei das Entscheidungsmodul angepasst ist, den Codiermodus für den aktuellen 16 × 16-Makroblock unter Verwendung vordefinierter Kriterien auszuwählen, bei denen die Codiermodi aufwandsabhängig bewertet werden.
  29. Computergerät nach Anspruch 26, wobei der Bewegungsvektorpuffer angepasst ist, Bewegungsvektorinformationen, Kennzeichnungen eines verwendeten Bezugsframes und Modi für die Makroblöcke in dem aktuellen P-Frame zur Verwendung bei der Vorhersage für den ersten und den zweiten INTER-Modus zu speichern.
  30. Computergerät nach Anspruch 26, wobei das Entscheidungsmodul weiterhin angepasst ist, einen Bezugsframe zur Verwendung bei einer Bewegungskompensation aus mehreren Bezugsframes auszuwählen.
  31. Computergerät nach Anspruch 26, wobei der Videocodierer weiterhin angepasst ist, Restinformationen für den aktuellen 16 × 16-Makroblock unter Verwendung des Diskret-Kosinustransformierers, und des Quantisierers zu codieren, und wobei der Videocodierer weiterhin angepasst ist, Restinformationen für den aktuellen 16 × 16-Makroblock unter Verwendung des inversen Quantisierers und des Inversdiskret-Kosinustransformierers zu decodieren.
DE20321894U 2002-01-25 2003-01-14 Verbesserter Videodecodierer und zugehöriges Computergerät Expired - Lifetime DE20321894U1 (de)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US35212702P 2002-01-25 2002-01-25
US352127P 2002-01-25
US37600502P 2002-04-26 2002-04-26
US376005P 2002-04-26
US10/186,284 US7003035B2 (en) 2002-01-25 2002-06-27 Video coding methods and apparatuses
US186284 2002-06-27

Publications (1)

Publication Number Publication Date
DE20321894U1 true DE20321894U1 (de) 2012-05-04

Family

ID=27617500

Family Applications (1)

Application Number Title Priority Date Filing Date
DE20321894U Expired - Lifetime DE20321894U1 (de) 2002-01-25 2003-01-14 Verbesserter Videodecodierer und zugehöriges Computergerät

Country Status (6)

Country Link
US (7) US7003035B2 (de)
EP (4) EP2207355B1 (de)
JP (4) JP4522658B2 (de)
KR (1) KR100939855B1 (de)
DE (1) DE20321894U1 (de)
ES (1) ES2638295T3 (de)

Families Citing this family (144)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6983018B1 (en) * 1998-11-30 2006-01-03 Microsoft Corporation Efficient motion vector coding for video compression
US7200275B2 (en) 2001-12-17 2007-04-03 Microsoft Corporation Skip macroblock coding
JP4114859B2 (ja) 2002-01-09 2008-07-09 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
US7003035B2 (en) * 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
JP2004088722A (ja) * 2002-03-04 2004-03-18 Matsushita Electric Ind Co Ltd 動画像符号化方法および動画像復号化方法
US8401084B2 (en) 2002-04-01 2013-03-19 Broadcom Corporation System and method for multi-row decoding of video with dependent rows
US7620109B2 (en) * 2002-04-10 2009-11-17 Microsoft Corporation Sub-pixel interpolation in motion estimation and compensation
US7305034B2 (en) * 2002-04-10 2007-12-04 Microsoft Corporation Rounding control for multi-stage interpolation
KR20040099100A (ko) 2002-04-19 2004-11-26 마쯔시다덴기산교 가부시키가이샤 움직임 벡터 계산 방법
US20030202590A1 (en) * 2002-04-30 2003-10-30 Qunshan Gu Video encoding using direct mode predicted frames
KR100491530B1 (ko) 2002-05-03 2005-05-27 엘지전자 주식회사 모션 벡터 결정 방법
US20040001546A1 (en) 2002-06-03 2004-01-01 Alexandros Tourapis Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
US7289674B2 (en) * 2002-06-11 2007-10-30 Nokia Corporation Spatial prediction based intra coding
US7280700B2 (en) * 2002-07-05 2007-10-09 Microsoft Corporation Optimization techniques for data compression
JP4724351B2 (ja) * 2002-07-15 2011-07-13 三菱電機株式会社 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置
WO2004008775A1 (ja) 2002-07-15 2004-01-22 Hitachi, Ltd. 動画像符号化方法及び復号化方法
KR100865034B1 (ko) * 2002-07-18 2008-10-23 엘지전자 주식회사 모션 벡터 예측 방법
US7154952B2 (en) 2002-07-19 2006-12-26 Microsoft Corporation Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures
KR100506864B1 (ko) 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
KR100693669B1 (ko) * 2003-03-03 2007-03-09 엘지전자 주식회사 피일드 매크로 블록의 레퍼런스 픽쳐 결정 방법
KR100517504B1 (ko) * 2003-07-01 2005-09-28 삼성전자주식회사 B-픽처의 움직임 보상 모드 결정방법 및 장치
US10554985B2 (en) 2003-07-18 2020-02-04 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
US7426308B2 (en) * 2003-07-18 2008-09-16 Microsoft Corporation Intraframe and interframe interlace coding and decoding
US7738554B2 (en) 2003-07-18 2010-06-15 Microsoft Corporation DC coefficient signaling at small quantization step sizes
US7609763B2 (en) * 2003-07-18 2009-10-27 Microsoft Corporation Advanced bi-directional predictive coding of video frames
US20050013498A1 (en) 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
KR100553745B1 (ko) 2003-08-06 2006-02-20 삼성에스디아이 주식회사 평판표시장치
US7623574B2 (en) * 2003-09-07 2009-11-24 Microsoft Corporation Selecting between dominant and non-dominant motion vector predictor polarities
US7620106B2 (en) * 2003-09-07 2009-11-17 Microsoft Corporation Joint coding and decoding of a reference field selection and differential motion vector information
US8064520B2 (en) * 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US7616692B2 (en) * 2003-09-07 2009-11-10 Microsoft Corporation Hybrid motion vector prediction for interlaced forward-predicted fields
US7577200B2 (en) * 2003-09-07 2009-08-18 Microsoft Corporation Extended range variable length coding/decoding of differential motion vector information
US7317839B2 (en) * 2003-09-07 2008-01-08 Microsoft Corporation Chroma motion vector derivation for interlaced forward-predicted fields
US7092576B2 (en) * 2003-09-07 2006-08-15 Microsoft Corporation Bitplane coding for macroblock field/frame coding type information
US7567617B2 (en) * 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7606308B2 (en) * 2003-09-07 2009-10-20 Microsoft Corporation Signaling macroblock mode information for macroblocks of interlaced forward-predicted fields
BRPI0414397A (pt) * 2003-09-17 2006-11-21 Thomson Licensing geração de imagem de referência adaptativa
US20070014359A1 (en) * 2003-10-09 2007-01-18 Cristina Gomila Direct mode derivation process for error concealment
US7889792B2 (en) * 2003-12-24 2011-02-15 Apple Inc. Method and system for video encoding using a variable number of B frames
US7986731B2 (en) 2004-02-06 2011-07-26 Apple Inc. H.264/AVC coder incorporating rate and quality controller
US7869503B2 (en) * 2004-02-06 2011-01-11 Apple Inc. Rate and quality controller for H.264/AVC video coder and scene analyzer therefor
US7492820B2 (en) 2004-02-06 2009-02-17 Apple Inc. Rate control for video coder employing adaptive linear regression bits modeling
EP1774794A1 (de) * 2004-07-20 2007-04-18 Qualcomm Incorporated Verfahren und vorrichtung zur vollbildraten-aufwärtsumsetzung mit mehreren referenzvollbildern und variablen blockgrössen
BRPI0515723A (pt) * 2004-11-04 2008-08-05 Thomson Licensing método e aparelho para a decisão de modo rápido de b-quadros em um codificador de vìdeo
KR100669635B1 (ko) * 2004-12-06 2007-01-15 엘지전자 주식회사 상관성 기반 움직임 보상방법
US8548055B2 (en) * 2005-03-10 2013-10-01 Qualcomm Incorporated Encoding of multimedia data
US8457203B2 (en) * 2005-05-26 2013-06-04 Ntt Docomo, Inc. Method and apparatus for coding motion and prediction weighting parameters
JP2008543207A (ja) * 2005-06-01 2008-11-27 エヌエックスピー ビー ヴィ マルチパスビデオ復号方法および装置
KR100794623B1 (ko) * 2005-06-20 2008-01-14 주식회사 픽스트리 가속화 프로세싱을 실시간으로 수행하는 디코더시스템의 작동방법
US9077960B2 (en) 2005-08-12 2015-07-07 Microsoft Corporation Non-zero coefficient block pattern coding
WO2007024648A2 (en) * 2005-08-25 2007-03-01 Nms Communications Corporation Methods and apparatus for differential encoding
US20080273116A1 (en) * 2005-09-12 2008-11-06 Nxp B.V. Method of Receiving a Multimedia Signal Comprising Audio and Video Frames
KR100727989B1 (ko) * 2005-10-01 2007-06-14 삼성전자주식회사 동영상 부호화시의 인터 모드 결정 방법 및 장치
KR20080076926A (ko) * 2005-12-07 2008-08-20 톰슨 라이센싱 기준 프레임 선택 규칙을 사용하는 비디오 에러 은폐를위한 방법 및 장치
US7830800B1 (en) 2006-01-12 2010-11-09 Zenverge, Inc. Architecture for combining media processing with networking
US8102916B1 (en) 2006-01-12 2012-01-24 Zenverge, Inc. Dynamically changing media compression format in compressed domain
JP5165593B2 (ja) * 2006-02-02 2013-03-21 トムソン ライセンシング 組合せ参照双方向予測を用いて動き推定を行う方法および装置
EP2023639A4 (de) 2006-04-28 2010-09-01 Ntt Docomo Inc Bildprädiktive codierungseinrichtung, bildprädiktives codierungsverfahren, bildprädiktives codierungsprogramm, bildprädiktive decodierungseinrichtung, bildprädiktives decodierungsverfahren und bildprädiktives decodierungprogramm
US8358693B2 (en) * 2006-07-14 2013-01-22 Microsoft Corporation Encoding visual data with computation scheduling and allocation
US8311102B2 (en) * 2006-07-26 2012-11-13 Microsoft Corporation Bitstream switching in multiple bit-rate video streaming environments
US8888592B1 (en) 2009-06-01 2014-11-18 Sony Computer Entertainment America Llc Voice overlay
US8340193B2 (en) * 2006-08-04 2012-12-25 Microsoft Corporation Wyner-Ziv and wavelet video coding
US8250618B2 (en) * 2006-09-18 2012-08-21 Elemental Technologies, Inc. Real-time network adaptive digital video encoding/decoding
US7388521B2 (en) * 2006-10-02 2008-06-17 Microsoft Corporation Request bits estimation for a Wyner-Ziv codec
US20080084932A1 (en) * 2006-10-06 2008-04-10 Microsoft Corporation Controlling loop filtering for interlaced video frames
US8311114B1 (en) * 2006-12-06 2012-11-13 Zenverge, Inc. Streamlined transcoder architecture
CN101196889A (zh) * 2006-12-08 2008-06-11 国际商业机器公司 优化存储系统中的文件放置的方法及装置
KR101383540B1 (ko) * 2007-01-03 2014-04-09 삼성전자주식회사 복수의 움직임 벡터 프리딕터들을 사용하여 움직임 벡터를추정하는 방법, 장치, 인코더, 디코더 및 복호화 방법
EP2154901A4 (de) 2007-04-09 2011-06-22 Ntt Docomo Inc Einrichtung, verfahren und programm zur bildprädiktion/-codierung, einrichtung, verfahren und programm zur bildprädiktion/-decodierung
US8340192B2 (en) * 2007-05-25 2012-12-25 Microsoft Corporation Wyner-Ziv coding with multiple side information
WO2008153262A1 (en) 2007-06-15 2008-12-18 Sungkyunkwan University Foundation For Corporate Collaboration Bi-prediction coding method and apparatus, bi-prediction decoding method and apparatus, and recording midium
KR100955396B1 (ko) 2007-06-15 2010-04-29 성균관대학교산학협력단 양-예측 부호화 방법 및 장치, 양-예측 복호화 방법 및장치 및 기록매체
FR2917872A1 (fr) * 2007-06-25 2008-12-26 France Telecom Procedes et dispositifs de codage et de decodage d'une sequence d'images representee a l'aide de tubes de mouvement, produits programme d'ordinateur et signal correspondant.
US8254455B2 (en) * 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
US8184715B1 (en) * 2007-08-09 2012-05-22 Elemental Technologies, Inc. Method for efficiently executing video encoding operations on stream processor architectures
US8121197B2 (en) 2007-11-13 2012-02-21 Elemental Technologies, Inc. Video encoding and decoding using parallel processors
US8613673B2 (en) 2008-12-15 2013-12-24 Sony Computer Entertainment America Llc Intelligent game loading
US8968087B1 (en) 2009-06-01 2015-03-03 Sony Computer Entertainment America Llc Video game overlay
US8147339B1 (en) 2007-12-15 2012-04-03 Gaikai Inc. Systems and methods of serving game video
WO2009097284A1 (en) * 2008-02-01 2009-08-06 Zenverge, Inc. Intermediate compression of reference frames for transcoding
US8265168B1 (en) 2008-02-01 2012-09-11 Zenverge, Inc. Providing trick mode for video stream transmitted over network
KR100939917B1 (ko) 2008-03-07 2010-02-03 에스케이 텔레콤주식회사 움직임 예측을 통한 부호화 시스템 및 움직임 예측을 통한부호화 방법
JP5406465B2 (ja) 2008-04-24 2014-02-05 株式会社Nttドコモ 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法及び画像予測復号プログラム
US8311111B2 (en) 2008-09-11 2012-11-13 Google Inc. System and method for decoding using parallel processing
JP5401071B2 (ja) * 2008-10-09 2014-01-29 株式会社Nttドコモ 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、動画像復号プログラム、動画像処理システムおよび動画像処理方法
WO2010050152A1 (ja) * 2008-10-27 2010-05-06 日本電信電話株式会社 画素予測値生成手順自動生成方法、画像符号化方法、画像復号方法、それらの装置、それらのプログラム、およびこれらのプログラムを記録した記録媒体
US8855191B2 (en) * 2008-11-24 2014-10-07 Broadcast International, Inc. Parallelization of high-performance video encoding on a single-chip multiprocessor
US8926435B2 (en) 2008-12-15 2015-01-06 Sony Computer Entertainment America Llc Dual-mode program execution
US8189666B2 (en) 2009-02-02 2012-05-29 Microsoft Corporation Local picture identifier and computation of co-located information
WO2010091937A1 (en) * 2009-02-12 2010-08-19 Zoran (France) Temporal video interpolation method with 2-frame occlusion handling
JP5001964B2 (ja) 2009-02-18 2012-08-15 株式会社エヌ・ティ・ティ・ドコモ 画像符号化装置、方法およびプログラム、並びに、画像復号装置、方法およびプログラム
TWI405469B (zh) * 2009-02-20 2013-08-11 Sony Corp Image processing apparatus and method
JP5580541B2 (ja) * 2009-03-06 2014-08-27 パナソニック株式会社 画像復号化装置および画像復号化方法
CA2756419C (en) 2009-03-23 2016-05-17 Ntt Docomo, Inc. Image predictive encoding device, image predictive encoding method, image predictive encoding program, image predictive decoding device, image predictive decoding method, and image predictive decoding program
JP5258664B2 (ja) 2009-04-14 2013-08-07 株式会社エヌ・ティ・ティ・ドコモ 画像符号化装置、方法およびプログラム、並びに、画像復号装置、方法およびプログラム
US8506402B2 (en) 2009-06-01 2013-08-13 Sony Computer Entertainment America Llc Game execution environments
KR101379186B1 (ko) * 2009-08-21 2014-04-10 에스케이 텔레콤주식회사 인트라 예측 부호화/복호화 방법 및 장치
US9060176B2 (en) * 2009-10-01 2015-06-16 Ntt Docomo, Inc. Motion vector prediction in video coding
US8665367B2 (en) * 2010-01-29 2014-03-04 Sharp Laboratories Of America, Inc. Video resolution enhancement technique
US8995527B2 (en) * 2010-02-19 2015-03-31 Qualcomm Incorporated Block type signalling in video coding
WO2011142815A1 (en) * 2010-05-12 2011-11-17 Thomson Licensing Methods and apparatus for uni-prediction of self-derivation of motion estimation
CN106067973B (zh) * 2010-05-19 2019-06-18 Sk电信有限公司 视频解码设备
EP3661211B1 (de) * 2010-07-20 2021-08-25 NTT DoCoMo, Inc. Bildvorschaudecodierungsverfahren
KR20120009861A (ko) * 2010-07-22 2012-02-02 에스케이 텔레콤주식회사 확장된 스킵모드를 이용한 영상 부호화/복호화 방법 및 장치
US8560331B1 (en) 2010-08-02 2013-10-15 Sony Computer Entertainment America Llc Audio acceleration
KR102003007B1 (ko) 2010-09-13 2019-07-23 소니 인터랙티브 엔터테인먼트 아메리카 엘엘씨 비디오 서버 및 게임 서버를 포함하는 컴퓨터 게임 시스템에서 컴퓨터 게임을 제공하는 방법 및 시스템
EP2609520B1 (de) 2010-09-13 2018-05-30 Sony Computer Entertainment America LLC Add-on-management
US8787443B2 (en) 2010-10-05 2014-07-22 Microsoft Corporation Content adaptive deblocking during video encoding and decoding
EP2627090B1 (de) * 2010-10-06 2020-01-22 NTT DoCoMo, Inc. Vorrichtung, verfahren und programm zur biprädiktiven bildkodierung, und vorrichtung, verfahren und programm zur biprädiktiven bilddekodierung
US9172956B2 (en) 2010-11-23 2015-10-27 Lg Electronics Inc. Encoding and decoding images using inter-prediction
JP5298140B2 (ja) 2011-01-12 2013-09-25 株式会社エヌ・ティ・ティ・ドコモ 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法、及び画像予測復号プログラム
US9307262B2 (en) * 2011-01-13 2016-04-05 Texas Instruments Incorporated Methods and systems for facilitating multimedia data encoding utilizing configured buffer information
US8548057B2 (en) 2011-01-25 2013-10-01 Microsoft Corporation Video coding redundancy reduction
US9042458B2 (en) 2011-04-01 2015-05-26 Microsoft Technology Licensing, Llc Multi-threaded implementations of deblock filtering
TWI519139B (zh) * 2011-04-14 2016-01-21 聯詠科技股份有限公司 資料處理方法及數位影像處理裝置
BR112013032333B1 (pt) * 2011-06-16 2022-07-26 Ge Video Compression, Llc Comutação de modo auxiliar para codificação por entropia
GB2493212B (en) * 2011-07-29 2015-03-11 Canon Kk Method and device for error concealment in motion estimation of video data
JP5485969B2 (ja) 2011-11-07 2014-05-07 株式会社Nttドコモ 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法及び動画像予測復号プログラム
US9100657B1 (en) 2011-12-07 2015-08-04 Google Inc. Encoding time management in parallel real-time video encoding
US9749645B2 (en) 2012-06-22 2017-08-29 Microsoft Technology Licensing, Llc Coded-block-flag coding and derivation
SG10201700062YA (en) 2012-07-02 2017-02-27 Samsung Electronics Co Ltd Method And Apparatus For Predicting Motion Vector For Coding Video Or Decoding Video
US9635356B2 (en) * 2012-08-07 2017-04-25 Qualcomm Incorporated Multi-hypothesis motion compensation for scalable video coding and 3D video coding
JP5798539B2 (ja) 2012-09-24 2015-10-21 株式会社Nttドコモ 動画像予測符号化装置、動画像予測符号化方法、動画像予測復号装置及び動画像予測復号方法
CN103905825B (zh) * 2012-12-27 2018-02-13 中国电信股份有限公司 视频图像的运动补偿方法和装置
US20140198845A1 (en) * 2013-01-10 2014-07-17 Florida Atlantic University Video Compression Technique
KR101560186B1 (ko) * 2013-03-18 2015-10-14 삼성전자주식회사 움직임 예측에 있어 적응적 탐색 범위 결정을 이용한 부호화, 복호화 방법 및 장치
CN104488271B (zh) * 2013-07-26 2019-05-07 北京大学深圳研究生院 一种基于p帧的多假设运动补偿方法
US9942560B2 (en) 2014-01-08 2018-04-10 Microsoft Technology Licensing, Llc Encoding screen capture data
US9774881B2 (en) 2014-01-08 2017-09-26 Microsoft Technology Licensing, Llc Representing motion vectors in an encoded bitstream
US9749642B2 (en) 2014-01-08 2017-08-29 Microsoft Technology Licensing, Llc Selection of motion vector precision
CN106303544B (zh) * 2015-05-26 2019-06-11 华为技术有限公司 一种视频编解码方法、编码器和解码器
CN107852500B (zh) * 2015-08-24 2020-02-21 华为技术有限公司 运动矢量场编码方法和解码方法、编码和解码装置
US9794574B2 (en) 2016-01-11 2017-10-17 Google Inc. Adaptive tile data size coding for video and image compression
US10542258B2 (en) 2016-01-25 2020-01-21 Google Llc Tile copying for video compression
US10547873B2 (en) 2016-05-23 2020-01-28 Massachusetts Institute Of Technology System and method for providing real-time super-resolution for compressed videos
WO2018141416A1 (en) 2017-02-06 2018-08-09 Huawei Technologies Co., Ltd. Video encoder and decoder for predictive partitioning
WO2019000443A1 (zh) * 2017-06-30 2019-01-03 华为技术有限公司 一种帧间预测的方法及装置
CN111919448A (zh) 2018-01-26 2020-11-10 韩国电子通信研究院 用于使用时间运动信息的图像编码和图像解码的方法和设备
WO2019147067A1 (ko) * 2018-01-26 2019-08-01 한국전자통신연구원 시간적 움직임 정보를 이용하는 영상 부호화 및 영상 복호화를 위한 방법 및 장치
US20190246114A1 (en) 2018-02-02 2019-08-08 Apple Inc. Techniques of multi-hypothesis motion compensation
US11924440B2 (en) 2018-02-05 2024-03-05 Apple Inc. Techniques of multi-hypothesis motion compensation
CN109379594B (zh) * 2018-10-31 2022-07-19 北京佳讯飞鸿电气股份有限公司 视频编码压缩方法、装置、设备和介质
FR3120173A1 (fr) * 2021-02-19 2022-08-26 Orange Détermination d’au moins un mode de codage d’image ou d’au moins un mode de décodage d’image, codage et décodage d’image utilisant une telle détermination

Family Cites Families (283)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA943973A (en) * 1970-06-24 1974-03-19 Farbwerke Hoechst Aktiengesellschaft Vormals Meister Lucius And Bruning Process for the preparation of perfluorated compounds
JPS56100754A (en) 1980-01-17 1981-08-12 Mitsui Toatsu Chem Inc Preparation of 2-halogenoacrylonitrile
JPS56128070A (en) 1980-03-13 1981-10-07 Fuji Photo Film Co Ltd Band compressing equipment of variable density picture
JPS60158786A (ja) 1984-01-30 1985-08-20 Kokusai Denshin Denwa Co Ltd <Kdd> 画像動き量検出方式
JPS61205086A (ja) 1985-03-08 1986-09-11 Mitsubishi Electric Corp 画像符号化復号化装置
US4661849A (en) 1985-06-03 1987-04-28 Pictel Corporation Method and apparatus for providing motion estimation signals for communicating image sequences
US4661853A (en) 1985-11-01 1987-04-28 Rca Corporation Interfield image motion detector for video signals
JPS62213494A (ja) 1986-03-14 1987-09-19 Kokusai Denshin Denwa Co Ltd <Kdd> 動画像信号の動き補償方式
JPS62231494A (ja) 1986-03-31 1987-10-12 Nec Corp デコ−ダドライバ回路
FR2599577B1 (fr) 1986-05-29 1988-08-05 Guichard Jacques Procede de codage par transformation pour la transmission de signaux d'image.
DE3704777C1 (de) 1987-02-16 1988-04-07 Ant Nachrichtentech Verfahren zum UEbertragen und zum Wiedergeben von Fernsehbildsequenzen
NL8700565A (nl) 1987-03-10 1988-10-03 Philips Nv Televisiesysteem waarin aan een transformatiekodering onderworpen gedigitaliseerde beeldsignalen worden overgebracht van een kodeerstation naar een dekodeerstation.
DE3855114D1 (de) 1987-05-06 1996-04-25 Philips Patentverwaltung System zur Übertragung von Videobildern
EP0294962B1 (de) 1987-06-09 1995-07-19 Sony Corporation Bewertung von Bewegungsvektoren in Fernsehbildern
EP0294958B1 (de) 1987-06-09 1995-08-23 Sony Corporation Bewegungskompensierte Interpolation von digitalen Fernsehbildern
FR2648254B2 (fr) 1988-09-23 1991-08-30 Thomson Csf Procede et dispositif d'estimation de mouvement dans une sequence d'images animees
US4985768A (en) 1989-01-20 1991-01-15 Victor Company Of Japan, Ltd. Inter-frame predictive encoding system with encoded and transmitted prediction error
JPH07109990B2 (ja) 1989-04-27 1995-11-22 日本ビクター株式会社 適応型フレーム間予測符号化方法及び復号方法
JPH0832047B2 (ja) 1989-04-28 1996-03-27 日本ビクター株式会社 予測符号化装置
AU612543B2 (en) 1989-05-11 1991-07-11 Panasonic Corporation Moving image signal encoding apparatus and decoding apparatus
USRE35910E (en) 1989-05-11 1998-09-29 Matsushita Electric Industrial Co., Ltd. Moving image signal encoding apparatus and decoding apparatus
JP2562499B2 (ja) 1989-05-29 1996-12-11 日本電信電話株式会社 高能率画像符号化装置およびその復号化装置
JP2712645B2 (ja) 1989-10-14 1998-02-16 ソニー株式会社 動きベクトル伝送方法及びその装置並びに動きベクトル復号化方法及びその装置
EP0715469B1 (de) 1989-10-14 2001-09-12 Sony Corporation Verfahren und Anordnung zum Kodieren/Dekodieren eines Videosignales
JP2787599B2 (ja) 1989-11-06 1998-08-20 富士通株式会社 画像信号符号化制御方式
NL9000424A (nl) 1990-02-22 1991-09-16 Philips Nv Overdrachtsysteem voor gedigitaliseerde televisiebeelden.
JPH082107B2 (ja) 1990-03-02 1996-01-10 国際電信電話株式会社 動画像のハイブリッド符号化方法及びその装置
JPH03265290A (ja) 1990-03-14 1991-11-26 Toshiba Corp テレビジョン信号走査線変換器
US5103306A (en) 1990-03-28 1992-04-07 Transitions Research Corporation Digital image compression employing a resolution gradient
US5091782A (en) 1990-04-09 1992-02-25 General Instrument Corporation Apparatus and method for adaptively compressing successive blocks of digital video
US5068724A (en) 1990-06-15 1991-11-26 General Instrument Corporation Adaptive motion compensation for digital television
US5175618A (en) 1990-10-31 1992-12-29 Victor Company Of Japan, Ltd. Compression method for interlace moving image signals
USRE35093E (en) 1990-12-03 1995-11-21 The Trustees Of Columbia University In The City Of New York Systems and methods for coding even fields of interlaced video sequences
US5193004A (en) 1990-12-03 1993-03-09 The Trustees Of Columbia University In The City Of New York Systems and methods for coding even fields of interlaced video sequences
US5111292A (en) 1991-02-27 1992-05-05 General Electric Company Priority selection apparatus as for a video signal processor
JP3119888B2 (ja) 1991-04-18 2000-12-25 松下電器産業株式会社 信号処理方法及び記録再生装置
US5185819A (en) 1991-04-29 1993-02-09 General Electric Company Video signal compression apparatus for independently compressing odd and even fields
GB2256341B (en) 1991-05-24 1995-02-15 British Broadcasting Corp Video image processing
US5467136A (en) 1991-05-31 1995-11-14 Kabushiki Kaisha Toshiba Video decoder for determining a motion vector from a scaled vector and a difference vector
US5317397A (en) 1991-05-31 1994-05-31 Kabushiki Kaisha Toshiba Predictive coding using spatial-temporal filtering and plural motion vectors
JP2977104B2 (ja) 1991-07-26 1999-11-10 ソニー株式会社 動画像データエンコード方法および装置、並びに動画像データデコード方法および装置
US5539466A (en) 1991-07-30 1996-07-23 Sony Corporation Efficient coding apparatus for picture signal and decoding apparatus therefor
JP2699703B2 (ja) 1991-07-31 1998-01-19 松下電器産業株式会社 動き補償予測方法とそれを用いた画像信号符号化方法
US5428396A (en) 1991-08-03 1995-06-27 Sony Corporation Variable length coding/decoding method for motion vectors
JPH0541862A (ja) 1991-08-03 1993-02-19 Sony Corp 動きベクトルの可変長符号化方式
JP3001688B2 (ja) 1991-08-05 2000-01-24 株式会社大一商会 パチンコ球の循環制御装置
JP2507204B2 (ja) 1991-08-30 1996-06-12 松下電器産業株式会社 映像信号符号化装置
EP0535746B1 (de) 1991-09-30 1997-01-29 Philips Electronics Uk Limited Bewegungsvektorschätzung, Bewegungsbildkodierung- und -speicherung
JP2991833B2 (ja) 1991-10-11 1999-12-20 松下電器産業株式会社 インターレス走査ディジタルビデオ信号の符号化装置及びその方法
JP2586260B2 (ja) 1991-10-22 1997-02-26 三菱電機株式会社 適応的ブロッキング画像符号化装置
JP3134424B2 (ja) 1991-10-31 2001-02-13 ソニー株式会社 可変長符号化方法及び装置
JP2962012B2 (ja) 1991-11-08 1999-10-12 日本ビクター株式会社 動画像符号化装置及びその復号装置
JPH05137131A (ja) 1991-11-13 1993-06-01 Sony Corp フレーム間動き予測方法
US5227878A (en) 1991-11-15 1993-07-13 At&T Bell Laboratories Adaptive coding and decoding of frames and fields of video
US5510840A (en) 1991-12-27 1996-04-23 Sony Corporation Methods and devices for encoding and decoding frame signals and recording medium therefor
JP2524044B2 (ja) 1992-01-22 1996-08-14 松下電器産業株式会社 画像符号化方法及び画像符号化装置
US5594813A (en) 1992-02-19 1997-01-14 Integrated Information Technology, Inc. Programmable architecture and methods for motion estimation
US5418570A (en) 1992-03-03 1995-05-23 Kabushiki Kaisha Toshiba Motion picture coding apparatus
US5293229A (en) 1992-03-27 1994-03-08 Matsushita Electric Corporation Of America Apparatus and method for processing groups of fields in a video data compression system
US5287420A (en) 1992-04-08 1994-02-15 Supermac Technology Method for image compression on a personal computer
KR0166716B1 (ko) 1992-06-18 1999-03-20 강진구 블럭 dpcm을 이용한 부호화/복호화방법 및 장치
US6160849A (en) 1992-06-29 2000-12-12 Sony Corporation Selectable field and frame based predictive video coding
US6226327B1 (en) 1992-06-29 2001-05-01 Sony Corporation Video coding method and apparatus which select between frame-based and field-based predictive modes
JP3201079B2 (ja) 1992-07-03 2001-08-20 ケイディーディーアイ株式会社 インターレース動画像信号の動き補償予測方法、符号化方法及び装置
US5412435A (en) 1992-07-03 1995-05-02 Kokusai Denshin Denwa Kabushiki Kaisha Interlaced video signal motion compensation prediction system
JP2510456B2 (ja) 1992-08-27 1996-06-26 三菱電機株式会社 画像符号化装置
JPH06153180A (ja) 1992-09-16 1994-05-31 Fujitsu Ltd 画像データ符号化方法及び装置
KR0166722B1 (ko) 1992-11-30 1999-03-20 윤종용 부호화 및 복호화방법 및 그 장치
US5467134A (en) 1992-12-22 1995-11-14 Microsoft Corporation Method and system for compressing video data
US5400075A (en) 1993-01-13 1995-03-21 Thomson Consumer Electronics, Inc. Adaptive variable length encoder/decoder
US5592228A (en) 1993-03-04 1997-01-07 Kabushiki Kaisha Toshiba Video encoder using global motion estimation and polygonal patch motion estimation
JPH06276481A (ja) 1993-03-18 1994-09-30 Sony Corp 画像信号符号化及び復号化方法、並びに記録媒体
JP3312417B2 (ja) 1993-03-18 2002-08-05 ソニー株式会社 画像信号符号化装置及び画像信号復号化装置
ES2159553T3 (es) 1993-03-24 2001-10-16 Sony Corp Metodo y aparato para codificar/descodificar un vector de movimiento, y metodo y aparato para codificar/descodificar una señal de imagen.
US5612732A (en) * 1993-03-31 1997-03-18 Casio Computer Co., Ltd. Portable compact imaging and displaying apparatus with rotatable camera
WO1994024821A1 (en) 1993-04-08 1994-10-27 Sony Corporation Apparatus for determining motion vector
US5442400A (en) 1993-04-29 1995-08-15 Rca Thomson Licensing Corporation Error concealment apparatus for MPEG-like video data
EP0625853B1 (de) 1993-05-21 1999-03-03 Nippon Telegraph And Telephone Corporation Bewegtbildkoder und -dekoder
US5448297A (en) 1993-06-16 1995-09-05 Intel Corporation Method and system for encoding images using skip blocks
US5477272A (en) 1993-07-22 1995-12-19 Gte Laboratories Incorporated Variable-block size multi-resolution motion estimation scheme for pyramid coding
US5453799A (en) 1993-11-05 1995-09-26 Comsat Corporation Unified motion estimation architecture
US5734755A (en) 1994-03-11 1998-03-31 The Trustees Of Columbia University In The City Of New York JPEG/MPEG decoder-compatible optimized thresholding for image and video signal compression
DE69535952D1 (de) 1994-03-30 2009-06-25 Nxp Bv Verfahren und Schaltung zur Bewegungsschätzung zwischen Bildern mit zwei Zeilensprunghalbbildern, und Vorrichtung zur digitalen Signalkodierung mit einer solchen Schaltung
US6091460A (en) 1994-03-31 2000-07-18 Mitsubishi Denki Kabushiki Kaisha Video signal encoding method and system
JP3589480B2 (ja) * 1994-03-31 2004-11-17 三菱電機株式会社 映像信号符号化方式
TW283289B (de) 1994-04-11 1996-08-11 Gen Instrument Corp
US5767898A (en) 1994-06-23 1998-06-16 Sanyo Electric Co., Ltd. Three-dimensional image coding by merger of left and right images
US5796438A (en) 1994-07-05 1998-08-18 Sony Corporation Methods and apparatus for interpolating picture information
US5594504A (en) 1994-07-06 1997-01-14 Lucent Technologies Inc. Predictive video coding using a motion vector updating routine
KR0126871B1 (ko) 1994-07-30 1997-12-29 심상철 양방향 이동벡터 추정을 위한 고속 블럭정합 방식
FR2725577B1 (fr) * 1994-10-10 1996-11-29 Thomson Consumer Electronics Procede de codage ou de decodage de vecteurs mouvement et dispositif de codage ou de decodage mettant en oeuvre ledit procede
JP3474005B2 (ja) 1994-10-13 2003-12-08 沖電気工業株式会社 動画像符号化方法及び動画像復号方法
US5623311A (en) 1994-10-28 1997-04-22 Matsushita Electric Corporation Of America MPEG video decoder having a high bandwidth memory
EP0710033A3 (de) 1994-10-28 1999-06-09 Matsushita Electric Industrial Co., Ltd. MPEG Videodekoder mit breitbandigem Speicher
JPH08140099A (ja) 1994-11-11 1996-05-31 Canon Inc 符号化装置及び方法
JP2951861B2 (ja) 1994-12-28 1999-09-20 シャープ株式会社 画像符号化装置及び画像復号装置
MY113223A (en) 1994-12-29 2001-12-31 Sony Corp Processing of redundant fields in a moving picture to achive synchronized system operation
US5619281A (en) 1994-12-30 1997-04-08 Daewoo Electronics Co., Ltd Method and apparatus for detecting motion vectors in a frame decimating video encoder
KR0171118B1 (ko) 1995-03-20 1999-03-20 배순훈 비디오신호 부호화 장치
KR0181027B1 (ko) 1995-03-20 1999-05-01 배순훈 화소 단위 움직임 추정을 이용하는 영상처리 시스템
JP3803122B2 (ja) 1995-05-02 2006-08-02 松下電器産業株式会社 画像メモリ装置および動きベクトル検出回路
GB2303267B (en) * 1995-06-06 2000-03-22 Sony Uk Ltd Video compression
GB2301970B (en) * 1995-06-06 2000-03-01 Sony Uk Ltd Motion compensated video processing
US5731850A (en) 1995-06-07 1998-03-24 Maturi; Gregory V. Hybrid hierarchial/full-search MPEG encoder motion estimation
US5687097A (en) 1995-07-13 1997-11-11 Zapex Technologies, Inc. Method and apparatus for efficiently determining a frame motion vector in a video encoder
EP1274254B1 (de) 1995-08-29 2011-07-06 Sharp Kabushiki Kaisha Videokodierungsvorrichtung und Videodekodierungsvorrichtung mit bewegungskompensierter Interframe-Prädiktion
US5883678A (en) 1995-09-29 1999-03-16 Kabushiki Kaisha Toshiba Video coding and video decoding apparatus for reducing an alpha-map signal at a controlled reduction ratio
US5825929A (en) 1995-10-05 1998-10-20 Microsoft Corporation Transformation block optimization method
JPH09107547A (ja) 1995-10-09 1997-04-22 Hitachi Ltd 既圧縮動画データ量削減装置および既圧縮動画データ量削減システムならびに既圧縮動画データ量削減方法
JP3377893B2 (ja) * 1995-10-25 2003-02-17 沖電気工業株式会社 動画像符号化復号化装置
US5929940A (en) 1995-10-25 1999-07-27 U.S. Philips Corporation Method and device for estimating motion between images, system for encoding segmented images
KR100211917B1 (ko) 1995-10-26 1999-08-02 김영환 물체 모양정보 부호화 방법
US6192081B1 (en) 1995-10-26 2001-02-20 Sarnoff Corporation Apparatus and method for selecting a coding mode in a block-based coding system
US5963673A (en) 1995-12-20 1999-10-05 Sanyo Electric Co., Ltd. Method and apparatus for adaptively selecting a coding mode for video encoding
JPH09182083A (ja) 1995-12-27 1997-07-11 Matsushita Electric Ind Co Ltd ビデオ画像符号化方法及び復号化方法とその装置
US6055012A (en) 1995-12-29 2000-04-25 Lucent Technologies Inc. Digital multi-view video compression with complexity and compatibility constraints
US5787203A (en) 1996-01-19 1998-07-28 Microsoft Corporation Method and system for filtering compressed video images
US5737019A (en) 1996-01-29 1998-04-07 Matsushita Electric Corporation Of America Method and apparatus for changing resolution by direct DCT mapping
US6957350B1 (en) 1996-01-30 2005-10-18 Dolby Laboratories Licensing Corporation Encrypted and watermarked temporal and resolution layering in advanced television
US5798788A (en) 1996-02-01 1998-08-25 David Sarnoff Research Center, Inc. Method and apparatus for evaluating field display functionality of a video decoder
DE69614500T2 (de) 1996-02-27 2001-11-22 St Microelectronics Srl Speicherverminderung für das Grundprofil und die Hauptebene eines MPEG-2-Dekoders
US5982438A (en) 1996-03-22 1999-11-09 Microsoft Corporation Overlapped motion compensation for object coding
JP3371191B2 (ja) 1996-03-22 2003-01-27 ソニー株式会社 画像信号の符号化方法及び復号方法、並びに、符号化装置及び復号装置
US5847776A (en) 1996-06-24 1998-12-08 Vdonet Corporation Ltd. Method for entropy constrained motion estimation and coding of motion vectors with increased search range
JPH1032828A (ja) * 1996-07-18 1998-02-03 Matsushita Electric Ind Co Ltd 画像符号化方法および装置
JP3263807B2 (ja) * 1996-09-09 2002-03-11 ソニー株式会社 画像符号化装置および画像符号化方法
DE19637522A1 (de) 1996-09-13 1998-03-19 Bosch Gmbh Robert Verfahren zur Reduzierung von Daten in Videosignalen
US6130963A (en) 1996-11-22 2000-10-10 C-Cube Semiconductor Ii, Inc. Memory efficient decoding of video frame chroma
CN1160967C (zh) 1996-12-12 2004-08-04 松下电器产业株式会社 图像编码设备和图像解码设备
US6377628B1 (en) 1996-12-18 2002-04-23 Thomson Licensing S.A. System for maintaining datastream continuity in the presence of disrupted source data
US6167090A (en) 1996-12-26 2000-12-26 Nippon Steel Corporation Motion vector detecting apparatus
US6850567B1 (en) 1997-01-13 2005-02-01 Koninklijke Philips Electronics N.V. Embedding supplemental data in a digital video signal
EP0786907A3 (de) 1997-01-24 2001-06-13 Texas Instruments Incorporated Videokodierer
JPH10224800A (ja) * 1997-02-07 1998-08-21 Matsushita Electric Ind Co Ltd 動きベクトル符号化方法および復号化方法
CA2279923C (en) 1997-02-14 2004-04-06 Nippon Telegraph And Telephone Corporation Predictive coding method and decoding method for dynamic image
US6201927B1 (en) 1997-02-18 2001-03-13 Mary Lafuze Comer Trick play reproduction of MPEG encoded signals
USRE38564E1 (en) 1997-03-07 2004-08-10 General Instrument Corporation Motion estimation and compensation of video object planes for interlaced digital video
US5991447A (en) * 1997-03-07 1999-11-23 General Instrument Corporation Prediction and coding of bi-directionally predicted video object planes for interlaced digital video
US5974184A (en) 1997-03-07 1999-10-26 General Instrument Corporation Intra-macroblock DC and AC coefficient prediction for interlaced digital video
US6005980A (en) 1997-03-07 1999-12-21 General Instrument Corporation Motion estimation and compensation of video object planes for interlaced digital video
US6175592B1 (en) 1997-03-12 2001-01-16 Matsushita Electric Industrial Co., Ltd. Frequency domain filtering for down conversion of a DCT encoded picture
US5844613A (en) 1997-03-17 1998-12-01 Microsoft Corporation Global motion estimator for motion video signal encoding
US6263065B1 (en) 1997-03-18 2001-07-17 At&T Corp. Method and apparatus for simulating central queue for distributing call in distributed arrangement of automatic call distributors
US6404813B1 (en) 1997-03-27 2002-06-11 At&T Corp. Bidirectionally predicted pictures or video object planes for efficient and flexible video coding
US5973755A (en) 1997-04-04 1999-10-26 Microsoft Corporation Video encoder and decoder using bilinear motion compensation and lapped orthogonal transforms
JP3129986B2 (ja) 1997-04-09 2001-01-31 日本車輌製造株式会社 杭施工機のトルク管理装置
US6633611B2 (en) * 1997-04-24 2003-10-14 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for region-based moving image encoding and decoding
JP3351705B2 (ja) * 1997-04-25 2002-12-03 日本ビクター株式会社 動き補償符号化装置、動き補償符号化方法、及び記録媒体への記録方法
JP3164031B2 (ja) 1997-05-30 2001-05-08 日本ビクター株式会社 動画像符号化復号化装置、動画像符号化復号化方法、及び動画像符号化記録媒体
US6067322A (en) 1997-06-04 2000-05-23 Microsoft Corporation Half pixel motion estimation in motion video signal encoding
ES2561212T3 (es) 1997-06-09 2016-02-25 Hitachi, Ltd. Procedimiento de decodificación de imágenes
JPH1169345A (ja) 1997-06-11 1999-03-09 Fujitsu Ltd フレーム間予測動画像符号化装置及び復号装置並びにフレーム間予測動画像符号化方法及び復号方法
US6064771A (en) 1997-06-23 2000-05-16 Real-Time Geometry Corp. System and method for asynchronous, adaptive moving picture compression, and decompression
JP2828095B2 (ja) 1997-06-23 1998-11-25 松下電器産業株式会社 画像信号復号化装置及び画像信号復号化方法
JP2914448B2 (ja) * 1997-06-25 1999-06-28 日本電信電話株式会社 動きベクトル予測符号化方法および動きベクトル復号方法、予測符号化装置および復号装置、並びに、動きベクトルの予測符号化プログラムおよび復号プログラムを記録した記録媒体
JP2897763B2 (ja) 1997-07-28 1999-05-31 日本ビクター株式会社 動き補償符号化装置、復号化装置、符号化方法及び復号化方法
JP3570863B2 (ja) * 1997-08-05 2004-09-29 三菱電機株式会社 動画像復号化装置および動画像復号化方法
KR100252342B1 (ko) 1997-08-12 2000-04-15 전주범 움직임 벡터 부호화 방법 및 그 장치
KR100235356B1 (ko) * 1997-08-13 1999-12-15 전주범 개선된 움직임 추정 장치 및 그 추정 방법
JPH11136683A (ja) 1997-10-27 1999-05-21 Matsushita Electric Ind Co Ltd 映像信号符号化装置
US6477202B1 (en) 1997-09-03 2002-11-05 Matsushita Electric Industrial Co., Ltd. Apparatus of layered picture coding, apparatus of picture decoding, methods of picture decoding, apparatus of recording for digital broadcasting signal, and apparatus of picture and audio decoding
US6807231B1 (en) 1997-09-12 2004-10-19 8×8, Inc. Multi-hypothesis motion-compensated video image predictor
US6249318B1 (en) 1997-09-12 2001-06-19 8×8, Inc. Video coding/decoding arrangement and method therefor
JP2001508632A (ja) * 1997-11-17 2001-06-26 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 動き補償予測画像符号化および復号化
CN1668111A (zh) 1997-12-01 2005-09-14 三星电子株式会社 运动向量预测方法
EP0921683B1 (de) 1997-12-02 2010-09-08 Daewoo Electronics Corporation Verfahren und Vorrichtung zur Kodierung von Modussignalen in einem Binärformkodierer
US5973743A (en) 1997-12-02 1999-10-26 Daewoo Electronics Co., Ltd. Mode coding method and apparatus for use in an interlaced shape coder
US6122017A (en) 1998-01-22 2000-09-19 Hewlett-Packard Company Method for providing motion-compensated multi-field enhancement of still images from video
KR100328417B1 (ko) 1998-03-05 2002-03-16 마츠시타 덴끼 산교 가부시키가이샤 화상부호화장치및화상복호화장치, 화상부보화방법 및 화상복호화방법, 및 데이터기억매체
CA2265089C (en) 1998-03-10 2007-07-10 Sony Corporation Transcoding system using encoding history information
DE69801209T2 (de) 1998-03-20 2001-11-08 St Microelectronics Srl Hierarchischer rekursiver Bewegungsschätzer für Bewegtbildkodierer
KR100281462B1 (ko) 1998-03-30 2001-02-01 전주범 격행 부호화에서 이진 형상 신호의 움직임 벡터 부호화 방법
JP3888597B2 (ja) 1998-06-24 2007-03-07 日本ビクター株式会社 動き補償符号化装置、及び動き補償符号化復号化方法
US6519287B1 (en) 1998-07-13 2003-02-11 Motorola, Inc. Method and apparatus for encoding and decoding video signals by using storage and retrieval of motion vectors
JP4026238B2 (ja) 1998-07-23 2007-12-26 ソニー株式会社 画像復号装置及び画像復号方法
GB2343579A (en) 1998-11-07 2000-05-10 Ibm Hybrid-linear-bicubic interpolation method and apparatus
US6081209A (en) 1998-11-12 2000-06-27 Hewlett-Packard Company Search system for use in compression
US6983018B1 (en) 1998-11-30 2006-01-03 Microsoft Corporation Efficient motion vector coding for video compression
US6563953B2 (en) 1998-11-30 2003-05-13 Microsoft Corporation Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock
US6192080B1 (en) 1998-12-04 2001-02-20 Mitsubishi Electric Research Laboratories, Inc. Motion compensated digital video signal processing
KR100587280B1 (ko) 1999-01-12 2006-06-08 엘지전자 주식회사 오류 은폐방법
US6414992B1 (en) * 1999-01-27 2002-07-02 Sun Microsystems, Inc. Optimal encoding of motion compensated video
US6483874B1 (en) * 1999-01-27 2002-11-19 General Instrument Corporation Efficient motion estimation for an arbitrarily-shaped object
JP2000244921A (ja) 1999-02-24 2000-09-08 Matsushita Electric Ind Co Ltd 映像符号化方法および装置
JP2000278692A (ja) 1999-03-25 2000-10-06 Victor Co Of Japan Ltd 圧縮データ処理方法及び処理装置並びに記録再生システム
US6320593B1 (en) 1999-04-20 2001-11-20 Agilent Technologies, Inc. Method of fast bi-cubic interpolation of image information
JP2000308064A (ja) 1999-04-22 2000-11-02 Mitsubishi Electric Corp 動きベクトル検出装置
JP3411234B2 (ja) 1999-04-26 2003-05-26 沖電気工業株式会社 符号化情報受信復号装置
KR20010071706A (ko) * 1999-04-30 2001-07-31 요트.게.아. 롤페즈 비-프레임 부호화 모드의 선택을 갖는 비디오 부호화 방법
US6697430B1 (en) 1999-05-19 2004-02-24 Matsushita Electric Industrial Co., Ltd. MPEG encoder
EP1056297A3 (de) 1999-05-24 2002-10-02 Agilent Technologies, Inc. (a Delaware corporation) Multimediadekodierer mit Fehlererkennung
JP2000350212A (ja) * 1999-06-04 2000-12-15 Matsushita Electric Ind Co Ltd 映像信号復号装置並びに映像信号表示システム
WO2001033864A1 (en) 1999-10-29 2001-05-10 Koninklijke Philips Electronics N.V. Video encoding-method
US6671319B1 (en) 1999-12-28 2003-12-30 Sony Corporation Methods and apparatus for motion estimation using neighboring macroblocks
KR100619377B1 (ko) * 2000-02-22 2006-09-08 주식회사 팬택앤큐리텔 움직임 추정 방법 및 장치
WO2001080567A1 (en) 2000-04-14 2001-10-25 Sony Corporation Decoder and decoding method, recorded medium, and program
US6654419B1 (en) 2000-04-28 2003-11-25 Sun Microsystems, Inc. Block-based, adaptive, lossless video coder
US6876703B2 (en) 2000-05-11 2005-04-05 Ub Video Inc. Method and apparatus for video coding
GB2362533A (en) 2000-05-15 2001-11-21 Nokia Mobile Phones Ltd Encoding a video signal with an indicator of the type of error concealment used
US6647061B1 (en) 2000-06-09 2003-11-11 General Instrument Corporation Video size conversion and transcoding from MPEG-2 to MPEG-4
KR100708091B1 (ko) * 2000-06-13 2007-04-16 삼성전자주식회사 양방향 움직임 벡터를 이용한 프레임 레이트 변환 장치 및그 방법
US7023922B1 (en) * 2000-06-21 2006-04-04 Microsoft Corporation Video coding system and method using 3-D discrete wavelet transform and entropy coding with motion information
US6614442B1 (en) 2000-06-26 2003-09-02 S3 Graphics Co., Ltd. Macroblock tiling format for motion compensation
KR100353851B1 (ko) 2000-07-07 2002-09-28 한국전자통신연구원 파문 스캔 장치 및 그 방법과 그를 이용한 영상코딩/디코딩 장치 및 그 방법
RU2182727C2 (ru) 2000-07-20 2002-05-20 Дворкович Александр Викторович Способ поиска векторов движения деталей в динамических изображениях
JP2002121053A (ja) 2000-10-11 2002-04-23 Koyu Sangyo Kk セメント、コンクリート混和材及びその製造方法
KR100727910B1 (ko) 2000-10-11 2007-06-13 삼성전자주식회사 하이브리드형 고속 움직임 추정 방법 및 그 장치
JP4682410B2 (ja) 2000-10-12 2011-05-11 ソニー株式会社 画像処理装置及び画像処理方法
AU2002228884A1 (en) 2000-11-03 2002-05-15 Compression Science Video data compression system
JP4557411B2 (ja) 2000-11-17 2010-10-06 大阪瓦斯株式会社 流体流量計測システム
JP2004515132A (ja) 2000-11-23 2004-05-20 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビデオ符号化方法及び対応するエンコーダ
JP2002177889A (ja) 2000-12-12 2002-06-25 Iseki & Co Ltd 回転式穀粒選別装置
US6633612B2 (en) 2000-12-13 2003-10-14 Genesis Microchip Inc. Method and apparatus for detecting motion between odd and even video fields
JP4526700B2 (ja) 2000-12-27 2010-08-18 株式会社エクォス・リサーチ 配光制御装置
US6920175B2 (en) 2001-01-03 2005-07-19 Nokia Corporation Video coding architecture and methods for using same
JP2002204713A (ja) 2001-01-11 2002-07-23 Taishou:Kk ヘアーグリップ
US20020168066A1 (en) 2001-01-22 2002-11-14 Weiping Li Video encoding and decoding techniques and apparatus
US8374237B2 (en) 2001-03-02 2013-02-12 Dolby Laboratories Licensing Corporation High precision encoding and decoding of video images
US7133451B2 (en) 2001-03-05 2006-11-07 Intervideo, Inc. Systems and methods for refreshing macroblocks
US7206453B2 (en) 2001-05-03 2007-04-17 Microsoft Corporation Dynamic filtering for lossy compression
US6816552B2 (en) * 2001-07-11 2004-11-09 Dolby Laboratories Licensing Corporation Interpolation of video compression frames
US6975680B2 (en) * 2001-07-12 2005-12-13 Dolby Laboratories, Inc. Macroblock mode decision biasing for video compression systems
JP2002118598A (ja) 2001-08-06 2002-04-19 Nippon Telegr & Teleph Corp <Ntt> 輻輳検出方法、輻輳防止方法、およびパケット通信システム
US6804301B2 (en) 2001-08-15 2004-10-12 General Instrument Corporation First pass encoding of I and P-frame complexity for compressed digital video
US6950469B2 (en) 2001-09-17 2005-09-27 Nokia Corporation Method for sub-pixel value interpolation
US20030099294A1 (en) 2001-11-27 2003-05-29 Limin Wang Picture level adaptive frame/field coding for digital video content
US6980596B2 (en) 2001-11-27 2005-12-27 General Instrument Corporation Macroblock level adaptive frame/field coding for digital video content
ES2548385T3 (es) 2001-11-21 2015-10-16 Google Technology Holdings LLC Codificación de cuadro/campo adaptativa de nivel de macrobloques para contenido de vídeo digital
CN101448162B (zh) 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
US7200275B2 (en) 2001-12-17 2007-04-03 Microsoft Corporation Skip macroblock coding
US6873657B2 (en) 2001-12-27 2005-03-29 Koninklijke Philips Electronics, N.V. Method of and system for improving temporal consistency in sharpness enhancement for a video signal
JP4114859B2 (ja) 2002-01-09 2008-07-09 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
KR100959573B1 (ko) 2002-01-23 2010-05-27 노키아 코포레이션 비디오 코딩시 이미지 프레임들의 그루핑
FI114433B (fi) 2002-01-23 2004-10-15 Nokia Corp Otossiirtymän koodaaminen videokoodauksessa
US7003035B2 (en) 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
US6798364B2 (en) 2002-02-05 2004-09-28 Intel Corporation Method and apparatus for variable length coding
KR20040099100A (ko) 2002-04-19 2004-11-26 마쯔시다덴기산교 가부시키가이샤 움직임 벡터 계산 방법
EP3324626B1 (de) 2002-04-19 2019-06-12 Panasonic Intellectual Property Corporation of America Verfahren zur berechnung eines bewegungsvektors
JP2004208259A (ja) 2002-04-19 2004-07-22 Matsushita Electric Ind Co Ltd 動きベクトル計算方法
KR100481732B1 (ko) 2002-04-20 2005-04-11 전자부품연구원 다 시점 동영상 부호화 장치
US20030202590A1 (en) 2002-04-30 2003-10-30 Qunshan Gu Video encoding using direct mode predicted frames
KR100491530B1 (ko) 2002-05-03 2005-05-27 엘지전자 주식회사 모션 벡터 결정 방법
EP1418762A1 (de) 2002-05-22 2004-05-12 Matsushita Electric Industrial Co., Ltd. Kodierungsverfahren für bewegliche bilder, dekodierungsverfahren für bewegliche bilder und datenaufzeichnungsmedium
US20040001546A1 (en) 2002-06-03 2004-01-01 Alexandros Tourapis Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
WO2004006586A1 (ja) 2002-07-02 2004-01-15 Matsushita Electric Industrial Co., Ltd. 画像符号化方法および画像復号化方法
US7280700B2 (en) 2002-07-05 2007-10-09 Microsoft Corporation Optimization techniques for data compression
WO2004008733A2 (en) 2002-07-15 2004-01-22 Nokia Corporation Method for error concealment in video sequences
WO2004008775A1 (ja) * 2002-07-15 2004-01-22 Hitachi, Ltd. 動画像符号化方法及び復号化方法
US7154952B2 (en) 2002-07-19 2006-12-26 Microsoft Corporation Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures
EP3285486B1 (de) * 2002-08-08 2019-11-06 Godo Kaisha IP Bridge 1 Dekodierungsverfahren für bewegte bilder
KR100506864B1 (ko) 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
US20040136457A1 (en) 2002-10-23 2004-07-15 John Funnell Method and system for supercompression of compressed digital video
JP4093405B2 (ja) 2002-10-25 2008-06-04 株式会社リコー 画像処理装置、プログラム及び記憶媒体
US7227901B2 (en) 2002-11-21 2007-06-05 Ub Video Inc. Low-complexity deblocking filter
JP2004228259A (ja) 2003-01-22 2004-08-12 Hitachi Ltd 半導体装置及びそれを用いた電子装置
WO2004075554A1 (en) 2003-02-18 2004-09-02 Nokia Corporation Picture decoding method
MXPA05014211A (es) 2003-06-25 2006-05-31 Thomson Licensing Codificacion de decision en modo rapido para inter-estructuras.
US20050013498A1 (en) 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
US7609763B2 (en) 2003-07-18 2009-10-27 Microsoft Corporation Advanced bi-directional predictive coding of video frames
US7426308B2 (en) 2003-07-18 2008-09-16 Microsoft Corporation Intraframe and interframe interlace coding and decoding
US8064520B2 (en) 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US7092576B2 (en) 2003-09-07 2006-08-15 Microsoft Corporation Bitplane coding for macroblock field/frame coding type information
US7567617B2 (en) 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
US7317839B2 (en) 2003-09-07 2008-01-08 Microsoft Corporation Chroma motion vector derivation for interlaced forward-predicted fields
US7961786B2 (en) 2003-09-07 2011-06-14 Microsoft Corporation Signaling field type information
US7346111B2 (en) * 2003-12-10 2008-03-18 Lsi Logic Corporation Co-located motion vector storage
KR20050061762A (ko) 2003-12-18 2005-06-23 학교법인 대양학원 부호화 모드 결정방법, 움직임 추정방법 및 부호화 장치
US7889792B2 (en) 2003-12-24 2011-02-15 Apple Inc. Method and system for video encoding using a variable number of B frames
US8036271B2 (en) 2004-02-24 2011-10-11 Lsi Corporation Method and apparatus for determining a second picture for temporal direct-mode block prediction
US20050207490A1 (en) 2004-03-18 2005-09-22 Wang Jason N Stored picture index for AVC coding
US8116374B2 (en) 2004-05-07 2012-02-14 Broadcom Corporation Method and system for generating a transform size syntax element for video decoding
FR2872973A1 (fr) 2004-07-06 2006-01-13 Thomson Licensing Sa Procede ou dispositif de codage d'une sequence d'images sources
JP5199124B2 (ja) 2006-01-12 2013-05-15 エルジー エレクトロニクス インコーポレイティド 多視点ビデオの処理
WO2008005575A2 (en) 2006-07-06 2008-01-10 Thomson Licensing Method and apparatus for decoupling frame number and/or picture order count (poc) for multi-view video encoding and decoding
JP4592656B2 (ja) * 2006-08-17 2010-12-01 富士通セミコンダクター株式会社 動き予測処理装置、画像符号化装置および画像復号化装置
US8532178B2 (en) 2006-08-25 2013-09-10 Lg Electronics Inc. Method and apparatus for decoding/encoding a video signal with inter-view reference picture list construction
AU2007311476C1 (en) * 2006-10-16 2013-01-17 Nokia Technologies Oy System and method for implementing efficient decoded buffer management in multi-view video coding
JP3129986U (ja) 2006-12-26 2007-03-08 ライオン株式会社 板状緩衝材
US9648325B2 (en) 2007-06-30 2017-05-09 Microsoft Technology Licensing, Llc Video decoding implementations for a graphics processing unit
US8254455B2 (en) 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
US8265144B2 (en) 2007-06-30 2012-09-11 Microsoft Corporation Innovations in video decoder implementations
US8189666B2 (en) 2009-02-02 2012-05-29 Microsoft Corporation Local picture identifier and computation of co-located information
JP6078298B2 (ja) 2012-11-01 2017-02-08 武蔵エンジニアリング株式会社 位置補正機能を有する作業装置および作業方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Heiko Schwarz und Thomas Wiegand, "Tree-structured macroblock partition", Doc. VCEG-N17, Dezember 2001
Heiko Schwarz und Thomas Wiegand, "Tree-structured macroblock partition". Doc. VCEG-N17, Dezember 2001
ISO/IEC JTC1 Standard
Jani Lainema und Marta Karczewicz, "Skip mode motion compensation", Doc. JVT-C027, Mai 2002

Also Published As

Publication number Publication date
EP2207355B1 (de) 2020-07-15
US20130223533A1 (en) 2013-08-29
US8406300B2 (en) 2013-03-26
EP2207355A2 (de) 2010-07-14
JP2014200111A (ja) 2014-10-23
JP5826900B2 (ja) 2015-12-02
JP5705822B2 (ja) 2015-04-22
US7646810B2 (en) 2010-01-12
EP2207355A3 (de) 2010-10-06
JP2013081242A (ja) 2013-05-02
KR100939855B1 (ko) 2010-01-29
US20190215513A1 (en) 2019-07-11
US10708582B2 (en) 2020-07-07
KR20030064332A (ko) 2003-07-31
US20090245373A1 (en) 2009-10-01
US10284843B2 (en) 2019-05-07
EP2323402B1 (de) 2017-05-31
US7003035B2 (en) 2006-02-21
US9888237B2 (en) 2018-02-06
ES2638295T3 (es) 2017-10-19
US20030142748A1 (en) 2003-07-31
EP1335609B1 (de) 2019-12-18
US8638853B2 (en) 2014-01-28
EP2323402A1 (de) 2011-05-18
JP5346306B2 (ja) 2013-11-20
US20180131933A1 (en) 2018-05-10
JP4522658B2 (ja) 2010-08-11
EP1335609A3 (de) 2011-08-10
US20060072662A1 (en) 2006-04-06
EP3651460A1 (de) 2020-05-13
JP2003244704A (ja) 2003-08-29
EP1335609A2 (de) 2003-08-13
US20100135390A1 (en) 2010-06-03
JP2010119146A (ja) 2010-05-27

Similar Documents

Publication Publication Date Title
DE20321894U1 (de) Verbesserter Videodecodierer und zugehöriges Computergerät
DE102016125117B4 (de) Bewegungsvektorkodierung mit dynamischen Referenzbewegungsvektoren
DE60215241T2 (de) Verfahren und Vorrichtung zur Reduzierung von Störungen in dekodierten Bildern mit Nachfilterung
DE10300528B4 (de) Berechnungsverfahren für einen Vorhersage-Bewegungsvektor
DE60310800T2 (de) Approximierter Kubikfilter
DE602004008763T2 (de) Videotranskodierung
DE10190285B4 (de) Verfahren und System zur Verarbeitung von komprimierten Videosignalen
DE60027955T2 (de) Verfahren und Vorrichtung zur kontextbasierten Inter/Intra Kodierungsmodeauswahl
DE69937462T2 (de) Effiziente macroblockheaderkodierung zur videokompression
DE60305325T2 (de) System und verfahren zur ratenverzerrungsoptimierten datenpartitionierung zur videocodierung unter verwendung von rückwärtsadaption
EP2614647B1 (de) Kompression und dekompression von referenzbildern in einem videokoder
DE60315565T2 (de) Verfahren und Vorrichtung zur Codierung und Decodierung von Bewegungsvektoren
DE69735402T2 (de) System und Methode zur Bewegungskompensation mit Hilfe eines Schrägziegelspeicherformats für verbesserte Effizienz
DE102013013636B4 (de) Pixel Bufferung
DE69635369T2 (de) Videokodierungsvorrichtung
DE60309375T2 (de) Parametrisierung für verlauf-kompensation
DE102016225270A1 (de) Verfahren, anwendungsprozessor, und mobiles endgerät zum verarbeiten eines referenzbildes
DE69838729T2 (de) Verfahren und vorrichtung zur verringerung des benötigten speicherplatzes zur speicherung von referenzbildern in einem videodekoder
DE102010025816A1 (de) Verfahren und Systeme zum Abschätzen von Bewegung basierend auf rekonstruierten Referenzframes bei einem Videodecoder
DE19825042A1 (de) Verfahren zur Bewegungsvektorcodierung bei MPEG-4
DE202012013410U1 (de) Bildkompression mit SUB-Auflösungsbildern
DE112011100420T5 (de) Verfahren und Vorrichtung zum adaptiven Loopfiltern
DE102005029127A1 (de) Verfahren und Vorrichtung zur optimierten prädiktiven Videocodierung
EP2067359A2 (de) Verfahren zur datenkompression in einer videosequenz
DE112012000397T5 (de) Videocodiersystem unter Verwendung von implizierten Referenzframes

Legal Events

Date Code Title Description
R152 Utility model maintained after payment of third maintenance fee after eight years
R207 Utility model specification

Effective date: 20120628

R152 Utility model maintained after payment of third maintenance fee after eight years

Effective date: 20120529

R071 Expiry of right
R071 Expiry of right