DE20321894U1 - Verbesserter Videodecodierer und zugehöriges Computergerät - Google Patents
Verbesserter Videodecodierer und zugehöriges Computergerät Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/109—Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/56—Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion 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...
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 Berechnungsumgebung120 , in der die nachfolgend erläuterten Systeme, Geräte und Verfahren eingesetzt werden können. Die beispielhafte Berechnungsumgebung120 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 Berechnungsumgebung120 nicht so interpretiert werden, als dass sie von einer in der Berechnungsumgebung120 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 Berechnungsumgebung120 eine Berechnungsvorrichtung für allgemeine Zwecke in Gestalt eines Computers130 . Die Komponenten des Computers130 können wenigstens einen Prozessoroder wenigstens eine Prozessoreinheit132 , einen Systemspeicher134 und einen Bus136 umfassen, der unterschiedliche Systemkomponenten, einschließlich dem Systemspeicher134 mit dem Prozessor132 , 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 Computer130 enthält normalerweise eine Vielfalt computerlesbarer Medien. Derartige Medien können beliebige verfügbare Medien sein, auf die ein Computer130 zugreifen kann, und umfassen sowohl flüchtige als auch nicht flüchtige Medien sowie entnehmbare und nicht entnehmbare Medien. - In
1 enthält der Systemspeicher134 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 Computers130 , wie etwa beim Starten, hilfreich sind, ist im ROM138 gespeichert. Der RAM140 enthält normalerweise Daten und/oder Programmmodule, auf die der Prozessor132 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 zeigt1 ein Festplattenlaufwerk144 zum Lesen und Schreiben auf einem nicht entnehmbaren, nicht flüchtigen Magnetmedium (das nicht gezeigt ist und normalerweise ”Festplatte” genannt wird), ein Magnetdiskettenlaufwerk146 zum Lesen und Schreiben auf einer entnehmbaren, nicht flüchtigen optischen Paatte152 , wie etwa eine CD-ROM/R/RW, DVD-ROM/R/RW/+R/RAM oder andere optische Medien. Das Festplattenlaufwerk144 , das Magnetdiskettenlaufwerk146 und das optische Plattenlaufwerk150 sind jeweils mit dem Bus136 durch wenigstens eine Schnittstelle154 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 Magnetdiskette148 und eine entnehmbare optische Platte152 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 Platte152 , in dem ROM138 oder dem RAM140 gespeichert sein, die beispielsweise ein Betriebssystem158 , wenigstens ein Applikationsprogramm160 , andere Programmmodule162 und Programmdaten164 beinhalten. - Die hier beschriebenen verbesserten Verfahren können innerhalb des Betriebssystems
158 , des wenigstens einen Applikationsprogramms160 , der anderen Programmmodule162 und/oder Programmdaten164 eingesetzt werden. - Ein Benutzer kann Befehle und Informationen in den Computer
130 durch Eingabevorrichtungen, wie etwa eine Tastatur166 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 Prozessoreinheit132 durch eine Benutzereingabeschnittstelle170 verbunden, die mit dem Bus136 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 Bus136 über eine Schnittstelle, wie etwa einen Videoadapter174 angeschlossen. Zusätzlich zu dem Monitor172 enthalten PCs normalerweise andere Peripherieausgabegeräte (nicht gezeigt), wie etwa Lautsprecher und Drucker, die durch eine Ausgabeperipherieschnittstelle175 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 Computer182 , arbeiten. Der Computer182 kann zahlreiche oder sämtliche der Elemente und Merkmale enthalten, die hier im Bezug auf den Computer130 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 LAN177 über eine Netzwerkschnittstelle oder einen Netzwerkadapter186 verbunden. Bei Verwendung in einer WAN-Netzwerkumgebung enthält der Computer normalerweise ein Modem178 oder andere Einrichtungen, um Kommunikationen über das WAN179 herzustellen. Das Modem178 , das intern oder extern sein kann, kann mit dem Systembus136 über die Eingabeschnittstelle170 oder einen anderen geeigneten Mechanismus verbunden sein. - In
1 ist eine spezielle Anwendung eines WAN über das Internet dargestellt. Hier verwendet der Computer130 ein Modem178 , um Kommunikationen mit wenigstens einem entfernten Computer182 über das Internet180 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 in1 gezeigt ist, entfernte Applikationsprogramme189 auf einer Speichervorrichtung des entfernten Computers182 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 Vorrichtung200 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 Vorrichtung200 die Gestalt einer Berechungsvorrichtung wie in1 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 Vorrichtung200 eine Logik, die dazu eingerichtet ist, Videodaten zu verarbeiten, eine Videodatenquelle204 , die dazu eingerichtet ist, der Logik202 Videodaten bereitzustellen, und wenigstens ein Anzeigemodul206 , 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 Logik202 beispielsweise einen Kompressor/Dekompressor (Codec) oder dergleichen. Die Videodatenquelle204 ist repräsentativ für einen beliebigen Mechanismus, der Videodaten, die sich für die Verarbeitung durch die Logik202 eignen, bereitstellen, übermitteln, ausgeben und/oder wenigstens vorübergehend speichern kann. Die Videowiedergabequelle ist veranschaulichend innerhalb der und/oder ohne die Vorrichtung200 dargestellt. Das Anzeigemodul206 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 Vorrichtung200 zudem eine bestimmte Art der Fähigkeit zur Wiedergabe oder anderweitigen Handhabung von Audiodaten umfassen, die den Videodaten zugeordnet sind. Somit ist ein Audiowiedergabemodul208 dargestellt. - Mit den Beispielen aus
1 und2 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-Frame300 , einen B-Frame302 und einen P-Frame304 , entsprechend den Zeiten t, t + 1 bzw. t2 darstellt. Zudem sind in3 Macroblöcke in den Frames300 ,302 und304 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-Frames300 und400 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 Sequenz400 von Video-Frames mit Volllinienpfeilen, die codierte Beziehungen zwischen Frames kennzeichnen, und Strichlinien dargestellt, die vorhersagbare Macröblockbeziehungen kennzeichnen. Der Video-Frame402 ist ein I-Frame, die Video-Frames404 ,406 ,410 und412 sind B-Frames und die Video-Frames408 und414 sind P-Frames. Wenn bei diesem Beispiel der P-Frame408 ein Bewegungsfeld hat, das mit MF406 beschrieben ist, ist die Bewegung der zusammengestellten Macroblöcke in den Bildern404 ,406 und414 ebenso hoch korreliert. Insbesondere wenn man davon ausgeht, dass die Geschwindigkeit über den gesamten Frame im allgemeinen konstant ist und die Frames404 und406 zeitlich zwischen den Frames402 und408 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 Frame404 gleichMF →fw 404 = 1/3 × MF →406 MF →bw 404 = –2/3 × MF →406 408 die BewegungsfelderMF →fw 408 = 2/3 × MF →406 MF →bw 408 = –1/3 × MF →406 414 und406 gleich beabstandet sind, könnte bei gleicher Annahme der zusammengestellte Macroblock die BewegungsvektorenMF →416 = MF →406 - Ä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-Frame600 , einen B-Frame602 und einen P-Frame604 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 Frame704 zur Zeit t sowie vorangehende Frames702 (Zeit t – 1) und700 (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 in9 gezeigt ist.8 zeigt beispielsweise drei Video-Frames, nämlich einen P-Frame800 , einen B-Frame802 und einen P-Frame804 , entsprechend den Zeiten t, t + 1 bzw. t + 2.9 zeigt beispielsweise drei Video-Frames, nämlich einen P-Frame900 , einen B-Frame902 und einen P-Frame904 , 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 Codierumgebung1000 , die einen herkömmlichen blockbasierten Videocodierer1002 hat, wobei Videodaten1004 dem Codierer1002 bereitgestellt werden und ein entsprechender codierter Videodaten-Bitstrom ausgeben wird. - Die Videodaten
1004 werden einem Summiermodul1006 zugeführt, das als Eingabe zudem die Ausgabe aus einem Bewegungskompensations-(MC-)Modul1022 empfängt. Die Ausgabe aus dem Summiermodul1006 wird einem Diskret-Kosinustransformations-(DCT-)Modul1010 zugeführt. Die Ausgabe des DCT-Moduls1010 wird als Eingabe einem Quantisiermodul (QP)1012 zugeführt. Die Ausgabe des QP-Moduls1012 wird als Eingabe einem inversen Quantisiermodul (QP–1)1014 und als Eingabe einem Variabellängen-Codier-(VLC-)Modul1016 zugeführt. Das VLC-Modul1016 empfängt zudem als Eingabe eine Ausgabe aus einem Bewegungsschatz-(ME-)Modul1008 . Die Ausgabe aus dem VLC-Modul1016 ist ein codierter Videobitstrom1210 . - Die Ausgabe des QP–1-Moduls
1014 wird als Eingabe einem Inversdiskret-Kosinustransformations-(DCT-)Modul1018 zugeführt. Die Ausgabe aus1018 wird als Eingabe einem Summiermodul1020 zugeführt, das als weitere Eingabe die Ausgabe aus dem MC-Modül1022 hat. Die Ausgabe aus dem Summiermodul1020 wird als Eingabe einem Schleifenfiltermodul1024 zugeführt. Die Ausgabe aus dem Schleifenfiltermodul1024 wird als Eingabe einem Frame-Puffermodul1026 zugeführt. Eine Ausgabe aus dem Frame-Puffermodul1026 wird als Eingabe dem ME-Modul1008 zugeführt, und eine weitere Ausgabe wird als Eingabe dem MC-Modul1022 zugeführt. Das ME-Modul1008 empfängt zudem als eine Eingabe die Videodaten1004 . Eine Ausgabe aus dem ME-Modul1008 wird als Eingabe dem MC-Modul1022 zugeführt. - Bei diesem Beispiel empfängt das MC-Modul
1022 Eingaben von dem ME-Modul1008 . 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 in5 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 und6 für P-Frames dargestellt ist); (2) Pixelprojektion (wie sie beispielsweise in8 für B-Frames und9 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 Videocodierumgebung1200 einen Videocodierer1202 , der Videodaten1004 empfängt und einen entsprechenden codierten Videodaten-Bitstrom ausgibt. - Hier wurde der Videocodierer
1202 derart abgeändert, dass er die Verbesserung1204 enthält. Der Verbesserung1024 enthält ein Zusatz-Bewegungsvektor-(MV-)Puffermodul1206 und ein DIREKT-Entscheidungsmodul1208 . Insbesondere ist, wie dargestellt, das MV-Puffermodul1206 dazu eingerichtet, als Eingaben die Ausgabe aus dem Frame-Puffermodul1026 und die Ausgabe aus dem ME-Modul1008 zu empfangen. Die Ausgabe aus dem MV-Puffermodul1206 wird zusammen mit der Ausgabe aus dem ME-Modul1008 als Eingaben dem DIREKT-Entscheidungsmodul1208 zugeführt. Die Ausgabe aus dem DIREKT-Entscheidungsmodul1208 wird anschließend als Eingabe dem MC-Modul1022 zusammen mit der Ausgabe aus dem Frame-Puffermodul1026 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-Puffermodul1206 kann dazu verwendet werden, Bewegungsvektoren zu speichern. Bei bestimmten Anwendungen kann das MV-Puffermodul1206 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-Modul1008 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-Modul1008 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 Decodierumgebung1100 darstellt, die über einen Videodecodierer1102 verfügt, der einen codierten Videodaten-Bitstrom1104 empfängt und entsprechende (decodierte) Videodaten1120 ausgibt. - Der codierte Videodaten-Bitstrom
1104 wird als Eingabe einem Variabellängen-Decodier-(VLD-)Modul1106 zugeführt. Die Ausgabe aus dem VLD-Modul1106 wird anschließend als Eingabe einem QP–1-Modul1108 und als Eingabe einem MC-Modul1110 zugeführt. Die Ausgabe aus dem QP–1-Modul1108 wird als Eingabe einem IDCT-Modul1112 zugeführt. Die Ausgabe aus dem IDCT-Modul1112 , wird als Eingaben einem Summiermodul1114 zugeführt, das zudem als Eingabe eine Ausgabe aus dem MC-Modul1110 empfängt. Die Ausgabe aus dem Summiermodul1114 wird als Eingaben einem Schleifenfiltermodul1116 zugeführt. Die Ausgabe des Schleifenfiltermoduls1116 wird einem Frame-Puffermodul1118 zugeführt. Eine Ausgabe aus dem Frame-Puffermodul1118 wird als Eingabe einem MC-Modul1110 zugeführt. Das Frame-Puffermodul1118 gibt zudem (decodierte) Videodaten1120 aus. - Ein beispielhafter verbesserter Decodierer
1302 für die Verwendung in einer Direktvorhersagen-Umgebung1300 enthält weiterhin eine Verbesserung1306 . Hier empfängt, wie in13 gezeigt, der verbesserte Decodierer1302 einen codierten Videodaten-Bitstrom1210 beispielsweise als Ausgabe aus dem verbesserten Videocodierer1202 von12 und gibt entsprechende (decodierte) Videodaten1304 aus. - Die Verbesserung
1306 in diesem Beispiel ist wirkungsmäßig zwischen das MC-Modul1110 und ein VLD-Modul1106' eingefügt. Die Verbesserung1306 enthält ein MV-Puffermodul1308 , das als Eingabe eine Ausgabe aus dem VLD-Modul1106' empfängt. Die Ausgabe aus dem MV-Puffermodul1308 wird als wählbare Eingabe einem Auswahlmodul1312 der Verbesserung1306 zugeführt. Ein Blockmodusmodul1310 ist ebenfalls in der Verbesserung1306 vorgesehen. Das Blockmodusmodul1310 empfängt als Eingabe eine Ausgabe aus dem VLD-Modul1106' . Eine Ausgabe des Blockmodusmoduls1310 wird als eine Eingabe dem VLD-Modul1106' und zudem als eine Steuereingabe dem Auswahlmodul1312 zugeführt. Eine Ausgabe aus dem VLD-Modul1106' wird als wählbare Eingabe dem Auswahlmodul1312 zugeführt. Das Auswahlmodul1312 ist dazu eingerichtet, wahlweise entweder eine Ausgabe aus dem MV-Puffemodul1308 oder dem VLD-Modul1106' als eine Eingabe dem MC-Modul1110 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 Codierer1202 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 MV →SP - 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) - Dies ist beispielsweise in
14 dargestellt, die drei Frames, nämlich einen P-Frame1400 , einen B-Frame1402 und einen P-Frame1404 , 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-Frame1500 , einen B-Frame1502 und einen P-Frame1504 , 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:
- 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, {MV →a 16×8, MV →b 16×8}, {MVP →a 16×8, MVP →b 16×8}, {refframe a / 16×8, refframe b / 16×8} {MV →a 8×16, MV →b 8×16}, {MVP →a 8×16, MVP →b 8×16}, {refframe a / 8×16, refframe b / 8×16}
Vorgang 3: Wenn(MV →a 16×8 = MV →b 16×8)
Vorgang 4: Wenn(MV →a 16×8 != MV →16×16) (MVP →a 16×8 != MVP →16×16)
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)
Vorgang 8: Wenn(MV →a 8×16 != MV →16×16) (MVP →a 8×16 != MVP →16×16)
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;
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 und18 dargestellt. In17 ist die Zeilensprungcodierung unter Verwendung eines beispielhaften Best-Field-First-Schemas bei P-Frames dargestellt. In18 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]
Untermodi | Code |
Räumlicher Prädiktor | 0 |
Bewegungsprojektion | 1 |
Gewichteter Durchschnitt | 2 |
Claims (31)
- 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.
- Videodecodierer nach Anspruch 1, wobei die Modusauswahleinrichtung angepasst ist, den Decodiermodus gemäß Makroblockmodusinformationen, Untermodusinformationen und Unterteilungsinformationen auszuwählen.
- 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.
- 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.
- Videodecodierer nach Anspruch 1, wobei die Modusauswahleinrichtung weiterhin angepasst ist, einen Bezugsframe zur Verwendung bei einer Bewegungskompensation aus mehreren Bezugsframes auszuwählen.
- 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.
- Videodecodierer nach Anspruch 1, weiterhin einen Bewegungsvektorpuffer umfassend.
- 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.
- 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.
- 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.
- Videodecodierer nach Anspruch 1, weiterhin eine Anzeigevorrichtung, einen Lautsprecher, eine Verarbeitungseinheit und einen Speicher umfassend.
- 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.
- Computergerät nach Anspruch 12, wobei der Videodecodiererangepasst ist, den Decodiermodus gemäß Makroblockmodusinformationen, Untermodusinformationen und Unterteilungsinformationen auszuwählen.
- 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.
- 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.
- Computergerät nach Anspruch 12, weiterhin eine Anzeigevorrichtung, einen Lautsprecher, eine Verarbeitungseinheit und einen Speicher umfassend.
- 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.
- Videodecodierer nach Anspruch 17, wobei der Videodecodierer angepasst ist, den Decodiermodus gemäß Makroblockmodusinformationen, Untermodusinformationen und Unterteilungsinformationen auszuwählen.
- 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.
- 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.
- Videodecodierer nach Anspruch 17, weiterhin eine Anzeigevorrichtung, einen Lautsprecher, eine Verarbeitungseinheit und einen Speicher umfassend.
- 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.
- Computergerät nach Anspruch 22, wobei der Videodecodierer angepasst ist, den INTER-Modus gemäß Makroblockmodusinformationen, Untermodusinformationen und Unterteilungsinformationen auszuwählen.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Computergerät nach Anspruch 26, wobei das Entscheidungsmodul weiterhin angepasst ist, einen Bezugsframe zur Verwendung bei einer Bewegungskompensation aus mehreren Bezugsframes auszuwählen.
- 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.
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)
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)
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 | 武蔵エンジニアリング株式会社 | 位置補正機能を有する作業装置および作業方法 |
-
2002
- 2002-06-27 US US10/186,284 patent/US7003035B2/en active Active
-
2003
- 2003-01-14 EP EP10002808.3A patent/EP2207355B1/de not_active Expired - Lifetime
- 2003-01-14 ES ES10016061.3T patent/ES2638295T3/es not_active Expired - Lifetime
- 2003-01-14 EP EP03000608.4A patent/EP1335609B1/de not_active Expired - Lifetime
- 2003-01-14 EP EP10016061.3A patent/EP2323402B1/de not_active Expired - Lifetime
- 2003-01-14 DE DE20321894U patent/DE20321894U1/de not_active Expired - Lifetime
- 2003-01-14 EP EP19217099.1A patent/EP3651460A1/de active Pending
- 2003-01-24 KR KR1020030004782A patent/KR100939855B1/ko active IP Right Grant
- 2003-01-27 JP JP2003018020A patent/JP4522658B2/ja not_active Expired - Lifetime
-
2005
- 2005-12-09 US US11/275,103 patent/US7646810B2/en not_active Expired - Lifetime
-
2009
- 2009-05-29 US US12/474,821 patent/US8406300B2/en active Active
-
2010
- 2010-02-04 US US12/700,581 patent/US8638853B2/en active Active
- 2010-02-26 JP JP2010042115A patent/JP5346306B2/ja not_active Expired - Lifetime
-
2012
- 2012-12-25 JP JP2012281261A patent/JP5705822B2/ja not_active Expired - Lifetime
-
2013
- 2013-03-25 US US13/850,178 patent/US9888237B2/en not_active Expired - Lifetime
-
2014
- 2014-07-22 JP JP2014148792A patent/JP5826900B2/ja not_active Expired - Lifetime
-
2018
- 2018-01-10 US US15/867,361 patent/US10284843B2/en not_active Expired - Fee Related
-
2019
- 2019-03-14 US US16/353,914 patent/US10708582B2/en not_active Expired - Lifetime
Non-Patent Citations (4)
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
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 |