DE102013015821B4 - System und Verfahren zur Verbesserung der Videokodierung unter Verwendung von Inhaltsinformation - Google Patents

System und Verfahren zur Verbesserung der Videokodierung unter Verwendung von Inhaltsinformation Download PDF

Info

Publication number
DE102013015821B4
DE102013015821B4 DE102013015821.4A DE102013015821A DE102013015821B4 DE 102013015821 B4 DE102013015821 B4 DE 102013015821B4 DE 102013015821 A DE102013015821 A DE 102013015821A DE 102013015821 B4 DE102013015821 B4 DE 102013015821B4
Authority
DE
Germany
Prior art keywords
information
content
block
processing unit
video
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.)
Active
Application number
DE102013015821.4A
Other languages
English (en)
Other versions
DE102013015821A1 (de
Inventor
Hassane S. Azar
Dawid STANISLAW PAJAK
Swagat Mohapatra
Stefan Eckart
Bryan Dudash
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nvidia Corp
Original Assignee
Nvidia Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nvidia Corp filed Critical Nvidia Corp
Publication of DE102013015821A1 publication Critical patent/DE102013015821A1/de
Application granted granted Critical
Publication of DE102013015821B4 publication Critical patent/DE102013015821B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock

Abstract

Ein Video-Kodiersystem (300) mit:einer Transformationsfunktion (304), die mit einer Kodier-Verarbeitungseinheit (302) verbunden und ausgebildet ist, um:ein Signal zu empfangen, das eine Inhaltsinformation repräsentiert, die mit einem Inhalt eines Blocks an Videodaten in Beziehung steht, wobei die Inhaltsinformation (314) eine Projektionsmatrix und eine Z-Puffer-Information umfasst;die Inhaltsinformation in Kodierer-Steuerinformation zu transformieren;den Anfangswert eines Bewegungsvektors aus der Kodierer-Steuerinformation (310) unter Verwendung der Projektionsmatrix und der Z-Puffer-Information zu ermitteln; undden Betrieb der Kodier-Verarbeitungseinheit (302) unter Verwendung der Kodierer-Steuerinformation zu steuern,wobei die Kodier-Verarbeitungseinheit (302) ausgebildet ist, umeinen Bewegungsvektor auf der Grundlage des Anfangswertes des Bewegungsvektors zu ermitteln, undkodierte Information zu erzeugen, die den Block an Videodaten betrifft, wobeidie Transformationsfunktion ausgebildet ist, Kanten in dem Block an Videodaten auf der Grundlage der Inhaltsinformation zu erkennen; unddie Kodier-Verarbeitungseinheit (302) ausgebildet ist, Bits in der kodierten Information und/oder Prozessorzyklen in dem Kodiervorgang Gebieten des Blocks an Videodaten zuzuweisen, wobei die Zuweisung auf den erkannten Kanten beruht.

Description

  • TECHNISCHES GEBIET
  • Diese Anmeldung betrifft generell Computer erzeugtes Video und insbesondere die Verbesserung einer Computer erzeugten Videokodierung unter Verwendung einer Inhaltsinformation.
  • HINTERGRUND
  • Die Video-Technik, die in vielen Konsumgeräten und professionellen Geräten verbreitet ist, beruht auf einem oder mehreren Video-Prozessoren, um Videosignale für die Anzeige zu erzeugen. Dies gilt insbesondere für Video-Spieleanwendungen.
  • Eine der populäreren Eigenschaften zur Integration in moderne Video-Prozessoren ist die Realisierung einer mächtigen Echtzeit-Videokomprimierung. Videokomprimierung oder Videokodierung vergleicht typischerweise ein Video mit dem nächsten und sendet lediglich die Unterschiede zwischen Blöcken bzw. Rahmen. Eine derartige Kodierung funktioniert gut, wenn das Video nur einen kleinen Anteil an Bewegung enthält. Ein stillstehender Block aus Text kann beispielsweise mit sehr wenigen übermittelten Daten wiederholt werden. In Bereichen des Videobilds mit mehr Bewegung ändern sich mehr Pixel von einem Block zum nächsten, und daher muss das Video-Komprimierschema mehr Daten übertragen, um der größeren Anzahl an sich ändernden Pixel Rechnung zu tragen.
  • Häufig weist der aufwändigste Videoinhalt große Unterschiede zwischen Blöcken auf (beispielsweise große Anteile an Bewegung, Explosionen, usw.). Es wird typischerweise eine sehr mächtige Video-Verarbeitungsarchitektur benötigt, um ein derartiges intensives Video zu handhaben. Ein derartiges Video weist häufig einen großen Anteil an hochfrequenten Details auf, und um die Blockrate beizubehalten, verringert der Video-Prozessor entweder die Qualität des Videos oder er erhöht die Bitrate des Videos, um diese zusätzliche Information mit dem gleichen Grad an Detail wie in vorhergehenden Blöcken als Bild darzustellen.
  • Weitere Kodierungsverfahren sind in Martinez, J.L. et al: „Efficient WZ-to-H264 transcoding using motion vector information sharing“ in IEEE International Conference on Multimedia and Expo, Seiten 1394-1397, vom 28.Juni 2009 bis 3. Juli 2009, und in Daribo, I. „Arbitrarily shaped sub-block motion prediction in texture map compression using depth information“ in Picture Coding Symposium (PCS) 2012, Seiten 121-124, 7.-9.5 2012, sowie in US 2004/0095999 A1 .
  • ÜBERBLICK
  • Ein Aspekt stellt ein Video-Kodiersystem bereit gemäß Anspruch 1. Das System umfasst unter anderem eine Kodier-Verarbeitungseinheit und eine Transformationsfunktion. Die Kodier-Verarbeitungseinheit ist ausgebildet, ein Signal zu empfangen, das einen Block an Videodaten repräsentiert, und kodierte Information zu erzeugen, die mit dem Block an Videodaten in Beziehung steht. Die Transformationsfunktion ist ausgebildet, ein Signal zu empfangen, das Inhaltsinformation in Bezug auf einen Inhalt des Blocks an Videodaten repräsentiert, und die Inhaltsinformation in Kodierer-Steuerinformation zu transformieren. Die Transformationsfunktion ist ferner ausgebildet, den Betrieb der Kodier-Verarbeitungseinheit unter Verwendung der Kodierer-Steuerinformation zu steuern.
  • Ein noch weiterer Aspekt stellt ein dreidimensionales (3D) Modellsystem gemäß Anspruch 5 bereit, das einen kodierten Videostrom erzeugt. Das System umfasst unter anderem eine Inhalts-Verarbeitungseinheit, eine Bilderzeugungseinheit und einen Videokodierer. Die Bilderzeugungseinheit ist ausgebildet, von der Inhalts-Verarbeitungseinheit Information zu empfangen, die ein 3D-Modell betrifft, und entsprechende zweidimensionale (2D) Bilder zu erzeugen. Der Videokodierer ist ausgebildet, die 2D-Bilder aus der Bilderzeugungseinheit zu empfangen und einen entsprechenden kodierten Videostrom zu erzeugen. Der Videokodierer ist ferner ausgebildet, aus der Inhalts-Verarbeitungseinheit Inhaltsinformation zu empfangen, die die 2D-Bilder betrifft, die Inhaltsinformation in Kodierer-Steuerinformation zu transformieren und die Kodierung der 2D-Bilder entsprechend der Kodierer-Steuerinformation zu steuern.
  • KURZE BESCHREIBUNG
  • Es wird nun auf die folgenden Beschreibungen in Verbindung mit den begleitenden Zeichnungen verwiesen, in denen:
    • 1 eine Blockansicht eines Spielesystems ist;
    • 2 eine Blockansicht eines Spielesystems gemäß der Offenbarung ist; und
    • 3 eine Blockansicht eines Kodierers gemäß der Offenbarung ist.
  • DETAILLIERTE BESCHREIBUNG
  • 1 ist eine Blockansicht eines Spielesystems 100. obwohl die vorliegende Offenbarung ein Spielesystem beschreibt, ist zu beachten, dass Aspekte der Offenbarung in anderen 3D-Modellsystemen angetroffen werden können, die einen kodierten Videostrom erzeugen.
  • Eine Inhalts-Verarbeitungseinheit 102 oder eine andere Anwendung erzeugt ein dreidimensionales (3D) Modell 104 (oder eine Szenendatei) für eine Bilderzeugungseinheit 106. Die Inhalts-Verarbeitungseinheit 102 kann eine Echtzeit-Verarbeitungsfunktionalität zum Ausführen eines Videospiels bereitstellen, etwa eine Anwendereingabe/Ausgabefunktion, eine Physik-Verarbeitungseinheit, Animation, künstliche Intelligenz, einen Szenengraphen und andere Funktionen. Das 3D-Modell 104 kann Information, etwa Geometrie-, Betrachtungspunkt-, Oberflächenbeschaffenheits-, Beleuchtungs- und Schattierungsinformation, in einer Beschreibung einer virtuellen Szene enthalten.
  • Die Bilderzeugungseinheit 106 empfängt das 3D-Modell 104 und erzeugt ein entsprechendes zweidimensionales (2D) Bild 108. Typischerweise erzeugt die Bilderzeugungseinheit 106 neue 2D-Bilder 108 mit einer Rate, die für ein Videospiel geeignet ist. Ein Kodierer 110 empfängt die 2D-Bilder 108 und erzeugt einen kodierten Videostrom 112. Der Videostrom 112 ist für unmittelbare Betrachtung auf einem Video-Anzeigegerät oder für die Aufzeichnung auf einem analogen oder digitalen Aufzeichnungsmedium für eine spätere Betrachtung geeignet.
  • Der Videostrom 112 enthält typischerweise I-(blockinterne) Blöcke, P-(vorhergesagte) Blöcke und B-(bidirektionale) Blöcke. I-Blöcke enthalten all diejenigen Daten, die zum Beschreiben eines einzelnen 2D-Bild 108 erforderlich sind und dienen als das erste Element einer Struktur, die als eine „Gruppe von Bildern“ (GOP) bezeichnet ist. T-Blöcke und P-Blöcke beschreiben einen Unterschied zwischen einem 2D-Bild 108 und einem vorhergehenden oder nachfolgenden I-Block oder P-Block.
  • Der Kodierer 110 kann beginnen, indem er einen Differenzblock aus einem 2D-Bild 108, das aus der Bilderzeugungseinheit 106 empfangen ist, erzeugt. Der Differenzblock wird typischerweise erzeugt, indem das 2D-Bild 108 mit einem vorhergehenden Videoblock verglichen wird. Der Differenzblock wird typischerweise erzeugt, indem das 2D-Bild 108 in Makro-Blöcke aufgebrochen wird, die eine quadratische oder rechteckige Ansammlung mit festgelegter Größe aus benachbarten Pixel sind.
  • Der Differenzbetrag wird dann in eine geeignete Form transformiert, die für die Komprimierung geeignet ist; beispielsweise durch Anwenden einer diskreten Kosinustransformation (TCP) oder einer Ganzzahl-Transformation (IT) auf den Differenzbetrag, um Transformationskoeffizienten oder einfach Koeffizienten zu erzeugen. Die Koeffizienten werden dann auf der Grundlage eines Parameters quantisiert, der typischerweise als der „Quantisierungsparameter“ oder „QP“ bezeichnet wird. Eine Quantifizierung beschränkt den ursprünglichen Wertebereich der Transformationskoeffizienten auf eine kleinere Menge diskreter Pegel. Typischerweise wird der QP über ein gesamtes Bild hinweg angewendet, indem jeder der Koeffizienten durch den Wert des QP dividiert wird.
  • Die quantisierten Transformationskoeffizienten werden dann in Symbole oder Codewörter transformiert. Diese Transformation beruht typischerweise auf einer Häufigkeit des Auftretens von Symbolen in der Sequenz aus Blöcken aus quantisierten Koeffizienten. Diese Blöcke aus Symbolen (zusammen mit anderer Information, etwa QP, Blockzeitstempel, eine Sequenz, in der Makro-Blöcke in dem Block ausgewählt werden, und jegliche andere Informationen, die zum Dekodieren erforderlich ist) bilden den kodierten Videostrom 112.
  • Eine Ratensteuerfunktion innerhalb des Kodierers 110 bestimmt den Wert von QP, um typischerweise eine mittlere Bitrate des kodierten Videostroms 112 auf einen Sollwert zu beschränken, während versucht wird, eine adäquate Qualität (oder eine spezifizierte Qualität) eines Videoblocks, der aus den kodierten Daten wieder hergestellt wird, sicherzustellen.
  • Wenn frühere Blöcke weniger Bits als den Sollmittelwert verwendet haben, kann ein kleinerer Wert von QP für nachfolgende Blöcke angewendet werden, um zu gestatten, dass mehr Bits für die nachfolgenden Blöcke erzeugt werden. In ähnlicher Weise kann ein höherer QP-Wert in Fällen vorgesehen werden, in denen die früheren Blöcke den Sollmittelwert überschritten haben. In einigen extremen Fällen kann ein Kodierer die Kodierung von Blöcken überspringen, um sicherzustellen, dass der Sollmittelwert nicht überschritten wird, wobei dies jedoch typischerweise die Qualität des dekodierten Videostroms reduziert.
  • Die Kodierung von Videoblöcken kann zusätzlich das Vergleichen von Makro-Blöcken, die erzeugt wurden, während ein Differenzbetrag erzeugt wurde, mit einem oder mehreren vorhergehenden Blöcken beinhalten, um zu erkennen, ob ein Makro-Block im Wesentlichen unverändert geblieben ist, jedoch nur eine gewisse Anzahl von Pixel in dem Block verschoben worden ist. Eine derartige Ermittlung wird häufig durch Verschieben eines Makro-Blocks um eine kleine Anzahl von Pixel in allen Richtungen (beispielsweise N, NO, O, SO, S, SW, W, NW) und durch Vergleichen jedes verschobene Makro-Blocks mit dem vorhergehenden Block durchgeführt. Wenn keine Übereinstimmung gefunden wird, kann der Makro-Block um eine größere Strecke in jeder Richtung verschoben und wiederum mit dem vorhergehenden Block verglichen werden.
  • Wenn eine Übereinstimmung schließlich gefunden wird, kann eine Teil-Kodierung des Blockes erzeugt werden, indem die ID des Makro-Blocks in dem vorhergehenden Block und Betrag und Richtung der Verschiebung verwendet werden. Die Werte von Betrag und Richtung können als ein „Bewegungsvektor“ bezeichnet werden. Mehrere Bewegungsvektoren für entsprechende mehrere Makro-Blöcke können als ein „Bewegungsfeld“ bezeichnet werden. Bewegungsvektoren und Bewegungsfelder können auch verwendet werden, um eine Bewegung in nachfolgenden Blöcken vorherzusagen.
  • Die Ratensteuerfunktion, die zuvor beschrieben ist, kann ferner eine Zeitgrenze oder Iterationsgrenze für derartige Suchvorgänge für Bewegungsvektoren festlegen, und, wenn keine Übereinstimmung innerhalb der Grenze ermittelt wird, wird die Suche abgebrochen. Die Ratensteuerfunktion wägt die für die Bewegungsabschätzung und die Differenzberechnungen aufgewendete Verarbeitungsleistung gegeneinander ab, um einen Videostrom mit hoher Qualität mit einer gewünschten Bitrate, oder einen Videostrom kleiner Bitrate bei gewünschter Videoqualität zu erzeugen.
  • Einige Video-Kodierstandards erlauben das Ausführen von Vergleichen zwischen Blöcken nur mit Bezug auf einen unmittelbar vorhergehenden oder nachfolgenden Block. Andere Standards erlauben eine Kodierung eines Bildes in Bezug auf mehrere vorhergehende oder nachfolgende Blöcke. Derartige Kodierungsstandards mit „mehreren Referenzblöcken“ erfordern typischerweise eine größere Verarbeitungsleistung oder Verarbeitungszeit für die Kodierung.
  • 2 ist eine Blockansicht eines Spielesystems 200 (oder eines anderen 3D-Modellsystems) gemäß der Offenbarung. Eine Inhalts-Verarbeitungseinheit 202 erzeugt ein dreidimensionales (3D) Modell 204 (oder eine Szenendatei) für eine Bilderzeugungseinheit 206. Die Bilderzeugungseinheit 206 empfängt das 3D-Modell 204 und erzeugt einen oder mehrere entsprechende zweidimensionale (2D) Blöcke an Videodaten 208. Ein Kodierer 210 empfängt die 2D-Blöcke (oder Bilder) und erzeugt einen kodierten Videostrom 212.
  • Der Kodierer 210 empfängt ferner aus der Inhalts-Verarbeitungseinheit 202 Inhaltsinformation 214, die die 2D-Bilder 208 betrifft. Auf der Grundlage der Inhaltsinformation 214 kann der Kodierer 210 seinen Kodiervorgang von dem mit Bezug zu dem Kodierer 110 aus 1 beschriebenen Prozess ausgehend ändern, mit dem Ergebnis, dass die Qualität erhöht und/oder die Datenmenge in dem kodierten Videostrom 212 reduziert wird. Der Kodierer 210 gemäß der Offenbarung ist somit in der Lage, ein Videobild mit besserer Qualität für eine spezifizierte Videostrom-Bitrate zu erzeugen, oder eine kleinere Videostrom-Bitrate für eine spezifizierte Videobildqualität zu erzeugen. Derartige Verbesserungen können erreicht werden, indem eine verbesserte Zuweisung von Bits in dem kodierten Videostrom oder von Prozessorzyklen in dem Kodierungsprozess vorgenommen wird. Beispiele derartiger Verbesserungen sind nachfolgend detaillierter mit Bezug zu 2 und 3 beschrieben.
  • Ein 3D-Modellsystem gemäß der Offenbarung, etwa das Spielesystems 200, kann in vielen unterschiedlichen Formen von Hardware realisiert werden. Für einfache 3D-Modelle kann das System 200 in einem Einzelprozessor-System realisiert werden. Typischer ist es, ein System gemäß der Offenbarung in einem Multi-Prozessorsystem zu realisieren, das eine spezielle Grafikverarbeitungsunterstützung bereitstellt. Ein derartiges Multi-Prozessorsystem kann einen übergeordneten Prozessor bzw. Hauptprozessor enthalten, der eine oder mehrere grafische Verarbeitungseinheiten steuert, die mehrere Prozessoren (oder Mehrfach-Verarbeitungseinheiten) bereitstellen.
  • In einigen Ausführungsformen ist ein System gemäß der Offenbarung in einer Klienten-Dienstleister bzw. Server-Konfiguration realisiert. Ein Klientengerät stellt eine Videoanzeige, die Funktion einer Anwenderschnittstelle und möglicherweise einige Elemente auf höherer Ebene der Inhalts-Verarbeitungseinheit 202 bereit, während ein Dienstleister andere Elemente der Inhalts-Verarbeitungseinheit 202, die Bilderzeugungseinheit 204 und den Kodierer 206 bereitstellt. Der kodierte Videostrom 212 kann dann dem Klienten-Gerät über eine Kommunikationsverbindung zur Anzeige auf dem Klientengerät zugeleitet werden.
  • In einigen derartigen Ausführungsformen kann eine Klienten-Dienstleister-Konfiguration realisiert werden, wobei der Dienstleister in mehreren Orten (beispielsweise in einer „Wolke“-Konfiguration oder einer anderen verteilten Rechnerumgebung) vorgesehen ist, wobei der Klient mit dem bzw. den Dienstleister bzw. Dienstleistern über das Internet, ein Funktelefonsystem oder ein anderes Netzwerk in Verbindung steht.
  • In anderen derartigen Ausführungsformen kann der Dienstleister durch einen Personalcomputer (möglicherweise mit einer speziellen Grafikverarbeitungskarte oder Schaltung) in verdrahteter oder drahtloser Kommunikation mit einem Tablett-Gerät, Funktelefon oder einem anderen tragbaren Rechnergerät bereitgestellt sein. In noch weiteren anderen derartigen Ausführungsformen kann ein Tablett-Rechner, ein Funktelefon oder ein anderes tragbares Rechnergerät als ein Dienstleister dienen und drahtlos mit einem Fernsehgerät oder einer anderen Anzeigeeinrichtungen mit großem Bildschirm in Verbindung stehen.
  • 3 ist eine Blockansicht eines Kodierers 300 gemäß der Offenbarung. Der Kodierer 300 umfasst eine Kodier-Verarbeitungseinheit 302 und eine Inhaltsinformations-Transformationsfunktion 304. In der dargestellten Ausführungsform ist die Kodier-Verarbeitungseinheit 302 ausgebildet, Videoblöcke 308 zu empfangen, und ist ferner ausgebildet, aus den Blöcken 308 einen kodierten Videostrom 312 zu erzeugen. In der dargestellten Ausführungsform ist die Inhaltsinformations-Transformationsfunktion 304 ausgebildet, Inhaltsinformation 314, die die 2D-Bilder 308 betrifft, zu empfangen, und ist ferner ausgebildet, die empfangene Information in Kodierer-Steuerinformation 310 umzuwandeln. In der dargestellten Ausführungsform ist die Kodier-Verarbeitungseinheit 302 ausgebildet, eine Kodierung entsprechend der Kodierer-Steuerinformation 310 auszuführen.
  • Es werden nun Beispiele der Kodierung von Videos unter Verwendung einer Inhaltsinformation gemäß der Offenbarung mit Bezug zu dem Spielesystem 200 aus 2 und dem Kodierer 300 aus 3 angegeben. Diese Ausführungsformen stellen Darstellungen des Kodierens gemäß der Offenbarung dar, wobei jedoch zu beachten ist, dass andere Videokodierer unter Verwendung von Inhaltsinformation, die hierin nicht beschrieben sind, ebenfalls innerhalb des Schutzbereichs der Offenbarung liegen. Diese Beispiele können separat oder zusammen in beliebiger Kombination verwendet werden.
  • Beispiel #1
  • Die Inhalts-Verarbeitungseinheit 202 erzeugt typischerweise Parameter für die Bilderzeugungseinheit 206, die eine Kameraposition beinhalten, aus der die Bilderzeugungseinheit ihre 2D-Bilder erzeugen soll, und eine Projektionsmatrix, die die geometrische Abbildung des 3D-Modells in einem 2D-Bild repräsentiert. In einigen Ausführungsformen sind eine Projektionsmatrix in der Inhaltsinformation 314, die der Transformationsfunktion 304 zugeleitet werden, enthalten. Änderungen aus vorhergehenden Werten in aktuelle Werte der Projektionsmatrix können eine globale Bewegung über das Bild hinweg angeben. In Verbindung mit einer Z-Puffer-Information (Koordinateninformation über die Bildtiefe) für Elemente des 3D-Modells, die auch in der Inhaltsinformation 314 enthalten sein können, kann die Transformationsfunktion 304 einen Bewegungsvektor gemäß „bester Abschätzung“ für das gerade zu kodierende Bild berechnen. Die Kodier-Verarbeitungseinheit 302 kann dann diese „beste Abschätzung“ als einen Anfangswert in ihrem Suchvorgang zum Auffinden von Bewegungsvektoren für einen oder mehrere Makro-Blöcke in dem Block 208 verwenden.
  • Der Suchvorgang unter Verwendung dieses Anfangswerts hat eine höhere Wahrscheinlichkeit, ein akzeptables Bewegungsfeld für das Bild zu finden und hat eine höhere Wahrscheinlichkeit, weniger Verarbeitungszyklen zum Abschließen der Suche zu erfordern. In einigen Fällen kann die Verwendung weniger Verarbeitungszyklen bei der Bewegungsabschätzung die Verarbeitungszeit bei der Erzeugung des kodierten Videostroms 312 verringern. Ferner kann ein besseres Bewegungsfeld die Ratensteuerfunktion veranlassen, weniger Bits pro Block zuzuweisen, wodurch die gesamte Verarbeitungszeit beim Senden des kodierten Videos über einen Bus oder ein Netzwerk verbessert wird. In anderen Fällen kann die Reduzierung der Anzahl an Verarbeitungszyklen bei der Bewegungsabschätzung es möglich machen, dass Verarbeitungszyklen in anderen Kodierfunktionen verwendet werden, was zu einer höheren Qualität der kodierten Bilder beiträgt.
  • Beispiel #2
  • Die Z-Puffer-Information für das aktuelle 3D-Modell kann bei der Verteilung der Bitzuweisung über den Block hinweg hilfreich sein. Da das menschliche visuelle System empfindlicher für Kanten ist, kann eine Verbesserung bei der Kodierung erreicht werden, indem der Kodierer angeleitet wird, mehr Zyklen und Bits um Kanten herum anzuwenden. In einigen Ausführungsformen enthält die Inhaltsinformation 314 eine Z-Puffer-Information und die Transformationsfunktion 304 kann Kanten erkennen, indem ein Filter (beispielsweise ein 3x3-Laplace-Filter oder ein anderer Kantenerkennungsfilter) auf die empfangene Z-Puffer-Information angewendet wird. Daten, die die erkannten Kanten repräsentieren, können dann in die Kodierer-Steuerinformation 310 eingebaut werden, um die Kodier-Verarbeitungseinheit 302 zu veranlassen, mehr Zyklen und/oder Bits Gebieten des Bilds 308 um die erkannten Kanten herum zuzuweisen.
  • Auf diese Weise verwendet die Kodier-Verarbeitungseinheit 302 weniger Verarbeitungszyklen und Bits in dem kodierten Videostrom auf Bereiche, die keine Kanten sind, für die das menschliche visuelle System weniger empfindlich ist. Die Kodier-Verarbeitungseinheit 302 kann Bits und Zyklen Gebieten des Blocks zuweisen, in denen eine verbesserte Bildqualität eine Wirkung auf einen menschlichen Betrachter haben kann. Bits und Verarbeitungszyklen, die in Gebieten des Blocks eingespart wurden, in denen der Betrachter die reduzierte Qualität nicht bemerkt, können dann von der Kodier-Verarbeitungseinheit 302 verwendet werden, um die Gesamtqualität des kodierten Bilds zu erhöhen oder um die Anzahl an Bits in einem kodierten Block zu reduzieren.
  • Beispiel #3
  • Blitze und Explosionen sind übliche Erscheinungen in Videospielen. Eine Leuchtstärkenrampe ist eine gute Annäherung an derartige Effekte. In einigen Ausführungsformen ist eine Leuchtstärkenrampe in der Inhaltsinformation 314 enthalten, und die Transformationsfunktion 304 ermittelt ein Gebiet des Bildes 308, das den Blitz oder die Explosion enthält, und liefert dieses Gebiet an die Kodier-Verarbeitungseinheit 302 in der Kodierer-Steuerinformation 310.
  • Die Kodier-Verarbeitungseinheit 302 kann die Gebietsinformation auf eine oder zwei Arten verwenden. Die Gebietsinformation kann von der Kodier-Verarbeitungseinheit 302 verwendet werden, um in besserer Weise Bits zuzuweisen, die zum Kodieren des Bildes des Blitzes oder der Explosion verwendet werden. Die Gebietsinformation kann zusätzlich oder alternativ von der Kodier-Verarbeitungseinheit 302 als ein Auslöser für eine Mehrfach-Referenzblock-Bewertung verwendet werden. Eine Mehrfach-Referenzblock-Bewertung erfordert mehr Verarbeitungszyklen als eine Bewertung eines einzelnen Referenzblocks und kann für spezielle Fälle, etwa Szenen mit Explosionen/Blitzen, reserviert sein.
  • Beispiel #4
  • In einigen Ausführungsformen gibt die Inhalts-Verarbeitungseinheit 202 in der Inhaltsinformation 314 an, dass ein Teilbereich des Videoblocks überlagert (oder zusammengesetzt) ist mit einem alternativen Inhaltsgebiet, etwa einem Textfeld, einem Dialogfeld oder einem anderen Element der Anwenderschnittstelle. Die Transformationsfunktion 304 kann ein Gebiet des Blocks 308 ermitteln, das von dem alternativen Inhalt besetzt ist und kann ein Ausmaß des Gebiets in der Kodierer-Steuerinformation 310 angeben.
  • Die Kodier-Verarbeitungseinheit 302 kann dann die Gebietsinformationen benutzen, um Bits und/oder Verarbeitungszyklen zu begrenzen oder zu vermeiden, die zum Kodieren eines Teils des Blockes vorgesehen sind, der den Inhalt enthält, der von dem alternativen Inhalt ausgeschlossen ist. Dies kann erreicht werden, indem der Wert des Quantisierungsparameters (QP) in dem alternativen Inhaltsgebiet verkleinert wird, oder indem ein Suchbereich für einen Bewegungsvektor auf der Grundlage des alternativen Inhaltsgebiets reduziert wird.
  • Die vorliegende Erfindung enthält die folgenden Konzepte:
    • Konzept 1. Ein Verfahren zum Kodieren eines Blocks an Videodaten, wobei das Verfahren umfasst: (i) Empfangen, von einer Anwendung, sowohl eines Blocks an Videodaten, der zu kodieren ist, als auch einer Inhaltsinformation, die einen Inhalt des Blocks an Videodaten betrifft, (ii) Transformieren der Inhaltsinformation in Kodierer-Steuerinformation, und (iii) Ändern einer Kodierung des Blocks an Videodaten auf der Grundlage der Kodierer-Steuerinformation.
    • Konzept 2. Das Verfahren wie beschrieben in Konzept 1, wobei der Änderungsvorgang beinhaltet: Ermitteln eines Bewegungsvektor auf der Grundlage eines Anfangswertes eines Bewegungsvektor, der aus der Kodierer-Steuerinformation ermittelt ist.
    • Konzept 3. Das Verfahren wie beschrieben in Konzept 2, wobei die Inhaltsinformation eine Kameraposition und/oder eine Projektionsmatrix und/oder eine Z-Puffer-Information enthält, und wobei die Transformation beinhaltet: Ermitteln des Anfangswerts des Bewegungsvektors unter Anwendung einer Kameraposition und/oder einer Projektionsmatrix und/oder einer Z-Puffer-Information.
    • Konzept 4. Das Verfahren wie beschrieben in einem der Konzepte 1-3, wobei das Verfahren kodierte Information erzeugt, die den Block an Videodaten betrifft und wobei die Änderung beinhaltet (a) Verwenden der Inhaltsinformation zur Erkennung von Kanten in dem Block an Videodaten auf der Grundlage der Inhaltsinformation, und (b) Zuweisen von Bits in der kodierten Informationen und/oder von Prozessorzyklen in dem Kodierungsprozess zu Gebieten des Blocks an Videodaten, wobei die Zuweisung auf den erkannten Kanten beruht.
    • Konzept 5. Das Verfahren wie beschrieben in Konzept 4, wobei die Inhaltsinformation eine Z-Puffer-Information enthält, und wobei der Vorgang des Verwendens eine Filterung der Z-Puffer-Information zum Erkennen von Kanten umfasst.
    • Konzept 6. Das Verfahren wie beschrieben in einem der Konzepte 1-5, wobei das Verfahren kodierte Information, die den Block an Videodaten betrifft, erzeugt, wobei die Inhaltsinformation eine Leuchtstärkenrampeninformation enthält, und wobei der Vorgang des Änderns umfasst: Zuweisen von Bits in der kodierten Information und/oder Ausführen einer Mehrfach-Referenzblock-Bewertung des Blocks an Videodaten auf der Grundlage der Leuchtstärkenrampeninformation.
    • Konzept 7. Das Verfahren wie beschrieben in einem der Konzepte 1-6, wobei die Inhaltsinformation eine Information über ein alternatives Inhaltsgebiet enthält; und wobei der Vorgang des Änderns umfasst: Einstellen eines Wertes eines Quantisierungsparameters und/oder Reduzieren eines Suchbereichs für einen Bewegungsvektor auf der Grundlage der Information über ein alternatives Inhaltsgebiet.
    • Konzept 8. Ein Video-Kodiersystem mit (i) einer Kodier-Verarbeitungseinheit, die ausgebildet ist, ein Signal zu empfangen, das einen Block an Videodaten repräsentiert, und kodierte Information, die den Block an Videodaten betrifft, zu erzeugen, und (ii) einer Transformationsfunktion, die mit der Kodier-Verarbeitungseinheit gekoppelt und ausgebildet ist, um (a) eine Signal zu empfangen, das eine Inhaltsinformation repräsentiert, die in Beziehung steht mit einem Inhalt des Blocks an Videodaten, (b) die Inhaltsinformation in eine Kodierer-Steuerinformation umzuwandeln, und (c) den Betrieb der Kodier-Verarbeitungseinheit unter Verwendung der Kodierer-Steuerinformation zu steuern.
    • Konzept 9. Das Video-Kodiersystem wie beschrieben in Konzept 8, wobei die Transformationsfunktion ausgebildet ist, einen Anfangswert eines Bewegungsvektors aus der Kodierer-Steuerinformation zu ermitteln, und wobei die Kodier-Verarbeitungseinheit ausgebildet ist, einen Bewegungsvektor auf der Grundlage des Anfangswertes eines Bewegungsvektors zu ermitteln.
    • Konzept 10. Das Video-Kodiersystem wie beschrieben in Konzept 9, wobei die Inhaltsinformation eine Kamerabewegung und/oder eine Projektionsmatrix und/oder eine Z-Puffer-Information enthält, und wobei die Transformationsfunktion ausgebildet ist, den Anfangswert des Bewegungsvektors unter Anwendung der Kamerabewegung und/oder der Projektionsmatrix und/oder der Z-Puffer-Information zu ermitteln.
    • Konzept 11. Das Video-Kodiersystem wie beschrieben in einem der Konzepte 8-10, wobei die Transformationsfunktion ausgebildet ist, Kanten in dem Block an Videodaten auf der Grundlage der Inhaltsinformation zu erkennen, und wobei die Kodier-Verarbeitungseinheit ausgebildet ist, Bits in der kodierten Information und/oder Prozessorzyklen in dem Kodiervorgang Gebieten des Blocks an Videodaten zuzuweisen, wobei die Zuweisung auf den erkannten Kanten beruht.
    • Konzept 12. Das Video-Kodiersystem wie beschrieben in Konzept 11, wobei die Inhaltsinformation eine Z-Puffer-Information enthält, und wobei die Transformationsfunktion ausgebildet ist, die Z-Puffer-Information zum Erkennen von Kanten zu filtern.
    • Konzept 13. Das Video-Kodiersystem wie beschrieben in einem der Konzepte 8-12, wobei die Inhaltsinformation Leuchtstärkenrampeninformation enthält, und wobei die Transformationsfunktion ausgebildet ist, die Kodier-Verarbeitungseinheit zu veranlassen, um Bits in der kodierten Information zuzuweisen und/oder eine Mehrfach-Referenzblock-Bewertung des Blocks an Videodaten auf der Grundlage der Leuchtstärkenrampeninformation auszuführen.
    • Konzept 14. Das Video-Kodiersystem wie beschrieben in einem der Konzepte 8-13, wobei die Inhaltsinformation Information über ein alternatives Inhaltsgebiet enthält, und wobei die Transformationsfunktion ausgebildet ist, die Kodier-Verarbeitungseinheit zu veranlassen, einen Wert eines Quantisierungsparameters einzustellen und/oder einen Suchbereich eines Bewegungsvektors zu reduzieren, auf der Grundlage der Information über das alternative Inhaltsgebiet.
    • Konzept 15. Ein dreidimensionales (3D) Modellsystem, das einen kodierten Videostrom erzeugt, wobei das System umfasst (i) eine Inhalts-Verarbeitungseinheit, (ii) eine Bilderzeugungseinheit, die mit der Inhalts-Verarbeitungseinheit gekoppelt und ausgebildet ist, aus der Inhalts-Verarbeitungseinheit Information zu empfangen, die ein 3D-Modell betrifft, und entsprechende zweidimensionale (2D) Bilder zu erzeugen, und (iii) einen Videokodierer, der mit der Bilderzeugungseinheit gekoppelt und ausgebildet ist, die 2D-Bilder aus der Bilderzeugungseinheit zu empfangen und einen entsprechenden kodierten Videostrom zu erzeugen, wobei der Kodierer ferner ausgebildet ist, aus der Inhalts-Verarbeitungseinheit Inhaltsinformation zu empfangen, die die 2D-Bilder betrifft, die Inhaltsinformation in eine Kodierer-Steuerinformation zu transformieren und eine Kodierung der 2D-Bilder entsprechend der Kodierer-Steuerinformation zu steuern.
    • Konzept 16. Das 3D-Modellsystem wie beschrieben in Konzept 15, wobei die Inhaltsinformation eine Kamerabewegung und/oder eine Projektionsmatrix und/oder eine Z-Puffer-Information enthält, und wobei der Videokodierer ausgebildet ist, einen Anfangswert eines Bewegungsvektors unter Verwendung der Kamerabewegung und/oder der Projektionsmatrix und/oder der Z-Puffer-Information zu ermitteln, und einen Bewegungsvektor auf der Grundlage des Anfangswerts des Bewegungsvektors zu ermitteln.
    • Konzept 17. Das 3D-Modellsystem wie beschrieben in Konzept 15, wobei der Videokodierer ausgebildet ist, Kanten in dem Block an Videodaten auf der Grundlage der Inhaltsinformation zu erkennen, und Bits in der kodierten Information und/oder Prozessorzyklen in dem Kodiervorgang Gebieten des Blocks an Videodaten zuzuweisen, wobei die Zuweisung auf den erkannten Kanten beruht.
    • Konzept 18. Das 3D-Modellsystem wie beschrieben in Konzept 17, wobei die Inhaltsinformation eine Z-Puffer-Information enthält, und wobei der Videokodierer ausgebildet ist, die Z-Puffer-Information zum Erkennen von Kanten zu filtern.
    • Konzept 19. Das 3D-Modellsystem wie beschrieben in Konzept 15, wobei die Inhaltsinformation eine Leuchtstärkenrampeninformation enthält, und wobei der Videokodierer ausgebildet ist, Bits in der kodierten Information zuzuweisen und/oder eine Mehrfach-Referenzblock-Bewertung des Blocks an Videodaten auszuführen, auf der Grundlage der Leuchtstärkenrampeninformation.
    • Konzept 20. Das 3D-Modellsystem wie beschrieben in Konzept 15, wobei die Inhaltsinformation eine Information über ein alternatives Inhaltsgebiet enthält, und wobei der Videokodierer ausgebildet ist, einen Wert eines Quantisierungsparameters einzustellen und/oder einen Suchbereich eines Bewegungsvektors zu reduzieren, auf der Grundlage der Information über das alternative Inhaltsgebiet.

Claims (5)

  1. Ein Video-Kodiersystem (300) mit: einer Transformationsfunktion (304), die mit einer Kodier-Verarbeitungseinheit (302) verbunden und ausgebildet ist, um: ein Signal zu empfangen, das eine Inhaltsinformation repräsentiert, die mit einem Inhalt eines Blocks an Videodaten in Beziehung steht, wobei die Inhaltsinformation (314) eine Projektionsmatrix und eine Z-Puffer-Information umfasst; die Inhaltsinformation in Kodierer-Steuerinformation zu transformieren; den Anfangswert eines Bewegungsvektors aus der Kodierer-Steuerinformation (310) unter Verwendung der Projektionsmatrix und der Z-Puffer-Information zu ermitteln; und den Betrieb der Kodier-Verarbeitungseinheit (302) unter Verwendung der Kodierer-Steuerinformation zu steuern, wobei die Kodier-Verarbeitungseinheit (302) ausgebildet ist, um einen Bewegungsvektor auf der Grundlage des Anfangswertes des Bewegungsvektors zu ermitteln, und kodierte Information zu erzeugen, die den Block an Videodaten betrifft, wobei die Transformationsfunktion ausgebildet ist, Kanten in dem Block an Videodaten auf der Grundlage der Inhaltsinformation zu erkennen; und die Kodier-Verarbeitungseinheit (302) ausgebildet ist, Bits in der kodierten Information und/oder Prozessorzyklen in dem Kodiervorgang Gebieten des Blocks an Videodaten zuzuweisen, wobei die Zuweisung auf den erkannten Kanten beruht.
  2. Das Video-Kodiersystem (300) nach Anspruch 1, wobei: die Inhaltsinformation eine Z-Puffer-Information umfasst; und die Transformationsfunktion (304) ausgebildet ist, die Z-Puffer-Information zur Erkennung von Kanten zu filtern.
  3. Das Video-Kodiersystem (300) nach einem der Ansprüche 1-2, wobei: die Inhaltsinformation eine Leuchtstärkenrampeninformation umfasst; und die Transformationsfunktion ausgebildet ist, die Kodier-Verarbeitungseinheit zu veranlassen, Bits in der kodierten Information zuzuweisen und/oder eine Mehrfach-Referenzblock-Bewertung des Blocks an Videodaten auszuführen, auf der Grundlage der Leuchtstärkenrampeninformation.
  4. Das Video-Kodiersystem (300) nach einem der Ansprüche 1-3, wobei: die Inhaltsinformation eine Information über ein alternatives Inhaltsgebiet umfasst; und die Transformationsfunktion ausgebildet ist, die Kodier-Verarbeitungseinheit auf der Grundlage der Information über das alternative Inhaltsgebiet zu veranlassen, einen Wert eines Quantisierungsparameters einzustellen und/oder einen Suchbereich eines Bewegungsvektors zu verringern.
  5. Ein dreidimensionales (3D) Modellsystem (200), das einen kodierten Videostrom erzeugt, wobei das System umfasst: eine Inhalts-Verarbeitungseinheit (102, 202); eine Bilderzeugungseinheit (106, 206) die mit der Inhalts-Verarbeitungseinheit gekoppelt und ausgebildet ist, aus der Inhalts-Verarbeitungseinheit Information zu empfangen, die ein 3D-Modell betrifft, und entsprechende zweidimensionale (2D) Bilder zu erzeugen; und einen Videokodierer, der mit der Bilderzeugungseinheit gekoppelt und ausgebildet ist, die 2D-Bilder aus der Bilderzeugungseinheit zu empfangen und einen entsprechenden kodierten Videostrom zu erzeugen, wobei der Kodierer ferner ausgebildet ist, um: aus der Inhalts-Verarbeitungseinheit eine Inhaltsinformation zu empfangen, die die 2D-Bilder betrifft, und/oder eine wobei die Inhaltsinformation eine Projektionsmatrix und eine Z-Puffer-Information umfasst, die Inhaltsinformation in Kodierer-Steuerinformation zu transformieren, den Anfangswert eines Bewegungsvektors aus der Kodierer-Steuerinformation unter Verwendung der Projektionsmatrix und der Z-Puffer-Information zu ermitteln, einen Bewegungsvektor auf der Grundlage des Anfangswertes des Bewegungsvektors zu ermitteln, und eine Kodierung der 2D-Bilder entsprechend der Kodierer-Steuerinformation unter Verwendung des ermittelten Bewegungsvektors zu steuern, wobei der Videokodierer ausgebildet ist, um: Kanten in dem Block an Videodaten auf der Grundlage der Inhaltsinformation zu erkennen; und Bits in der kodierten Information und/oder Prozessorzyklen im Kodiervorgang Gebieten des Blocks an Videodaten zuzuweisen, wobei die Zuweisung auf den erkannten Kanten beruht.
DE102013015821.4A 2012-10-01 2013-09-24 System und Verfahren zur Verbesserung der Videokodierung unter Verwendung von Inhaltsinformation Active DE102013015821B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/632,210 US9984504B2 (en) 2012-10-01 2012-10-01 System and method for improving video encoding using content information
US13/632,210 2012-10-01

Publications (2)

Publication Number Publication Date
DE102013015821A1 DE102013015821A1 (de) 2014-04-03
DE102013015821B4 true DE102013015821B4 (de) 2023-11-02

Family

ID=50276392

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013015821.4A Active DE102013015821B4 (de) 2012-10-01 2013-09-24 System und Verfahren zur Verbesserung der Videokodierung unter Verwendung von Inhaltsinformation

Country Status (4)

Country Link
US (1) US9984504B2 (de)
CN (1) CN103716643A (de)
DE (1) DE102013015821B4 (de)
TW (1) TW201436542A (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10237563B2 (en) 2012-12-11 2019-03-19 Nvidia Corporation System and method for controlling video encoding using content information
US10242462B2 (en) 2013-04-02 2019-03-26 Nvidia Corporation Rate control bit allocation for video streaming based on an attention area of a gamer
US10104361B2 (en) * 2014-11-14 2018-10-16 Samsung Electronics Co., Ltd. Coding of 360 degree videos using region adaptive smoothing
RU2735241C1 (ru) * 2017-04-21 2020-10-29 Зенимакс Медиа Инк. Системы и способы для векторов движения, генерируемых во время игры
KR20200021047A (ko) * 2017-04-21 2020-02-27 제니맥스 미디어 인크. 렌더링 및 프리-인코딩된 로드 추정 기반 인코더 힌팅을 위한 시스템들 및 방법들
US11405644B2 (en) * 2018-08-02 2022-08-02 Sony Corporation Image processing apparatus and method
CN112153387A (zh) * 2020-08-28 2020-12-29 山东云海国创云计算装备产业创新中心有限公司 一种ai视频解码系统
CN113259686A (zh) * 2021-07-07 2021-08-13 摩尔线程智能科技(北京)有限责任公司 运动矢量搜索方法、装置和视频编码系统
CN113794887A (zh) * 2021-08-17 2021-12-14 镕铭微电子(济南)有限公司 一种游戏引擎中视频编码的方法及相关设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040095999A1 (en) 2001-01-24 2004-05-20 Erick Piehl Method for compressing video information

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7136935B2 (en) 2001-06-22 2006-11-14 Inktomi Corporation Efficient data transmissions based on a policy
JP2003204436A (ja) 2001-10-29 2003-07-18 Victor Co Of Japan Ltd 画像符号化装置及び画像符号化プログラム
US7106366B2 (en) 2001-12-19 2006-09-12 Eastman Kodak Company Image capture system incorporating metadata to facilitate transcoding
KR20050042399A (ko) 2003-11-03 2005-05-09 삼성전자주식회사 게이즈 디텍션을 이용한 비디오 데이터 처리 장치 및 방법
US7426304B2 (en) * 2004-09-15 2008-09-16 Hewlett-Packard Development Company, L.P. Method and device for three-dimensional graphics to two-dimensional video encoding
US20070036227A1 (en) * 2005-08-15 2007-02-15 Faisal Ishtiaq Video encoding system and method for providing content adaptive rate control
JP4506738B2 (ja) 2005-10-06 2010-07-21 ソニー株式会社 ホログラムシート
US20070268964A1 (en) * 2006-05-22 2007-11-22 Microsoft Corporation Unit co-location-based motion estimation
JP4563982B2 (ja) * 2006-10-31 2010-10-20 日本電信電話株式会社 動き推定方法,装置,そのプログラムおよびその記録媒体
US9313504B2 (en) 2007-07-02 2016-04-12 Vixs Systems, Inc. Pattern detection module with region detection, video encoding system and method for use therewith
CN101345870B (zh) 2008-09-04 2010-06-30 上海交通大学 低码率视频超分辨率重构的编码装置和解码装置
US20100295847A1 (en) * 2009-05-21 2010-11-25 Microsoft Corporation Differential model analysis within a virtual world
CN102238374B (zh) 2010-04-21 2016-08-24 腾讯科技(深圳)有限公司 对图像数据进行压缩编码的方法和装置
US9501582B2 (en) 2010-05-10 2016-11-22 Amazon Technologies, Inc. Providing text content embedded with protected multimedia content
CN102129698A (zh) 2011-03-08 2011-07-20 华中科技大学 一种基于感兴趣区域的图像编码方法
US9344528B2 (en) 2011-08-31 2016-05-17 Microsoft Technology Licensing, Llc Data compressor using hints
CN102637302B (zh) 2011-10-24 2013-06-19 北京航空航天大学 一种图像编码方法
US10237563B2 (en) 2012-12-11 2019-03-19 Nvidia Corporation System and method for controlling video encoding using content information
US10242462B2 (en) 2013-04-02 2019-03-26 Nvidia Corporation Rate control bit allocation for video streaming based on an attention area of a gamer

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040095999A1 (en) 2001-01-24 2004-05-20 Erick Piehl Method for compressing video information

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
CHEUNG, G.; et al.: Fast H.264 mode selection using depth information for distributed game viewing. In: Society of Photo-Optical Instrumentation Engineers (SPIE) Conference Series, vol. 6822, 2008
DARIBO, I.; et al.: Arbitrarily shaped sub-block motion prediction in texture map compression using depth information. In: Picture Coding Symposium (PCS), 2012, pp.121-124, 7-9 May 2012
DARIBO, I.; et al.: Motion Vector Sharing and Bitrate Allocation for 3D Video-Plus-Depth Coding. In: EURASIP Journal on Advances in Signal Processing, Volume 2009, Article ID 258920
GREWATSCH, S.; MÜLLER, E.: Sharing of motion vectors in 3D video coding. In: International Conference on Image Processing, vol.5, pp.3271-3274, 24-27 Oct. 2004
MARTINEZ, J.L.; et al.: Effiecient WZ-to-H264 transcoding using motion vector information sharing. In: IEEE International Conference on Multimedia and Expo, pp.1394-1397, June 28 2009-July 3 2009
OH, H.; HO, Y.-S.: H.264-Based Depth Map Sequence Coding Using Motion Information of Corresponding Texture Video. In: Proceedings of the First Pacific Rim conference on Advances in Image and Video Technology (PSIVT'06), pp. 898-907, 2006

Also Published As

Publication number Publication date
US20140092209A1 (en) 2014-04-03
TW201436542A (zh) 2014-09-16
CN103716643A (zh) 2014-04-09
US9984504B2 (en) 2018-05-29
DE102013015821A1 (de) 2014-04-03

Similar Documents

Publication Publication Date Title
DE102013015821B4 (de) System und Verfahren zur Verbesserung der Videokodierung unter Verwendung von Inhaltsinformation
DE60015566T2 (de) Verfahren und vorrichtung zur komprimierung eines bewegungsvektorfeldes
DE69725186T2 (de) Sprite-gestütztes videocodiersystem
DE69839100T2 (de) Verbesserte Videokodierung unter Verwendung von adaptiven Blockparametern für kodierte/unkodierte Blöcke
DE69831961T2 (de) Bildobjekterzeugungsverfahren für objektbasierte kodierungssysteme unter verwendung von masken und gerundeten mittelwerten
DE112018005250T5 (de) Punktwolkenkomprimierung
DE602004008763T2 (de) Videotranskodierung
DE102016225270A1 (de) Verfahren, anwendungsprozessor, und mobiles endgerät zum verarbeiten eines referenzbildes
CN101888566B (zh) 立体视频编码率失真性能估计方法
DE19704439C2 (de) Verfahren und Vorrichtung zur Bewegungsschätzung in einem digitalen Videocodierer unter Verwendung von Trajektorien
DE112013004778T5 (de) Kodierung von Bildern unter Verwendung eines 3D-Netzes von Polygonen und entsprechenden Strukturen
DE10300048A1 (de) Verfahren und Vorrichtung zur Bildcodierung und -decodierung
DE102019209067A1 (de) Adaptive in-loop filtering for video coding
DE202016008175U1 (de) Adaptive gerichtete Intra-Prädiktion mit Blockgröße
DE202016008178U1 (de) Bewegungsvektorvorhersage mittels eines vorhergehenden Einzelbildresiduums
DE102019103346A1 (de) Ssim-basierte rate-distortion-optimierung für eine verbesserte wahrnehmbare qualität bei videos
DE69915843T2 (de) Teilbandkodierung/-dekodierung
DE102016125604A1 (de) Intelligente Sortierung der rekursiven Blockaufteilung für die erweiterte Intra-Prädiktion bei der Videocodierung
DE112018002110T5 (de) Systeme und verfahren für spiel-generierte bewegungsvektoren
DE102016125086A1 (de) Adaptiver direktionaler Schleifenfilter
DE602005000425T2 (de) Verfahren und Anordnung zur Erzeugung von Kandidatenvektoren für Bildinterpolierungssysteme, die Bewegungsabschätzung und -kompensation verwenden
DE102016015996B3 (de) Anpassungsfähige Kachel-Daten-Grössenkodierung für Video- und Bildkompression
DE112020002032T5 (de) Bildkodierung/-Dekodierung-Verfahren und -Vorrichtung zur Signalisierung von Filterinformationen auf Grundlage eines Chroma-Format, und Verfahren zur Übertragung eines Bitstroms
DE102011006036B4 (de) Verfahren und Vorrichtungen zur Bildung eines Prädiktionswertes
DE102013013190A1 (de) Erweitern von Vorhersagemodi und Leistungsvermögen von Video-Codecs

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R082 Change of representative

Representative=s name: KRAUS & WEISERT PATENTANWAELTE PARTGMBB, DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division