-
QUERVERWEIS ZU VERWANDTER ANMELDUNG
-
Diese Anmeldung beansprucht die Priorität der US-Anmeldung mit der Serien-Nummer 13/871,180, die von Azar et al, am 26. April 2013 eingereicht wurde mit dem Titel „Erweiterung von Vorhersagemodi und Leistungsvermögen von Video-Codecs”, die den gleichen Anmelder wie diese Anmeldung hat und hierin durch Bezugnahme mit aufgenommen ist.
-
TECHNISCHES GEBIET
-
Diese Anmeldung richtet sich generell an das Kodieren und Dekodieren von Netzwerkübertragungen und betrifft insbesondere Videorahmen- bzw. Videoblockkomprimier- und Dekomprimiersysteme und Verfahren für die Videoblockkomprimierung und Dekomprimierung.
-
HINTERGRUND
-
Ein Video-Codec ist ein Gerät oder eine Software, die die Komprimierung und Dekomprimierung digitaler Videodaten (d. h., eines digitalen Datenstroms) ermöglicht. Viele aktuelle Video-Codecs arbeiten unter der Annahme, dass die kodierten Daten natürliche Szenen oder Szenen der tatsächlichen Welt repräsentieren, die räumlich und zeitlich abgetastet sind. Derartige Szenen bieten eine Vielzahl an Belichtungsbedingungen und können mehrere Objekte enthalten, die jeweils ihre eigene Form und Oberflächenbeschaffenheit besitzen. Jedoch sind diese Signale in jedem Videoblock für gewöhnlich kontinuierlich und folgen gewissen Mustern, etwa einer speziellen Form des Leistungsspektrums oder Farbverteilung. Da ferner Blöcke mit relativ hohen Geschwindigkeiten aufgenommen werden, ist die Menge an Information, die in einem neuen Videoblock eingeführt wird, für gewöhnlich klein und ergibt sich aus einer Kamerabewegung oder Objektbewegung. Diese räumliche und zeitliche Redundanz wird bei allen bekannten Videokodieren ausgenutzt, die versuchen, einen aktuellen Videoblock vorherzusagen und lediglich die Daten zu kodieren, die nicht aus einer räumlichen oder zeitlichen Nachbarschaft abgeleitet werden können. Das Kodieren lediglich einer Differenz zwischen dem aktuellen Videoblock und seiner Vorhersage zusammen mit dem ausgewählten Vorhersagemodus liefert eine deutliche Verringerung der Bandbreiten- und Speicheranforderungen für den Ausgangsvideostrom. Weitere Verbesserungen bei der Videoblockvorhersage wären auf diesem Gebiet vorteilhaft.
-
ÜBERBLICK
-
Ausführungsformen der vorliegenden Offenbarung stellen Videoblock-Komprimier- und Dekomprimiersysteme und Verfahren zur Videoblockkomprimierung und Dekomprimierung bereit.
-
In einer Ausführungsform umfasst das Videoblockkomprimiersystem eine Bilderzeugungseinheit, die einen aktuellen Videoblock und aktuelle zusätzliche Bilderzeugungsinformation bereitstellt. Des Weiteren umfasst das Videoblockkomprimiersystem eine Verzerrungseinheit, die einen verzerrten Videoblock erzeugt, wobei der verzerrte Videoblock eine Transformation eines vorhergehenden Videoblocks ist, die auf der aktuellen zusätzlichen Bilderzeugungsinformation beruht. Ferner umfasst das Videoblockkomprimiersystem einen Video-Kodierer, der den aktuellen Videoblock komprimiert durch Verwenden des verzerrten Videoblocks als einen Referenzblock und separat die aktuelle zusätzliche Bilderzeugungsinformation komprimiert. Weiterhin umfasst das Videoblockkomprimiersystem eine Paketformungseinheit, die einen Haupt- und Hilfsdatenstrom, die dem komprimierten aktuellen Videoblock einerseits und der komprimierten aktuellen zusätzlichen Bilderzeugungsinformation andererseits entsprechen, bereitstellt.
-
In einem Aspekt umfasst das Verfahren zur Videoblockkomprimierung das Bereitstellen eines aktuellen Videoblocks und einer aktuellen zusätzlichen Bilderzeugungsinformation. Das Verfahren zur Videoblockkomprimierung umfasst ferner das Erzeugen eines verzerrten Videoblocks, wobei der verzerrte Videoblock eine Transformation eines vorhergehenden Videoblocks ist, die auf der aktuellen zusätzlichen Bilderzeugungsinformation beruht. Das Verfahren zur Videoblockkomprimierung umfasst ferner das Komprimieren des aktuellen Videoblocks unter Anwendung des verzerrten Videoblocks als einen Referenzblock und das separate Komprimieren der aktuellen zusätzlichen Bilderzeugungsinformation. Das Verfahren zur Videoblockkomprimierung umfasst weiterhin eine Paketbildung des komprimierten aktuellen Videoblocks und der komprimierten zusätzlichen Bilderzeugungsinformation in einen Hauptdatenstrom einerseits und einen Hilfsdatenstrom andererseits.
-
In einer weiteren Ausführungsform umfasst das Videoblockdekomprimiersystem eine Entpackungseinheit, die einen komprimierten aktuellen Videoblock und eine komprimierte zusätzlichen Bilderzeugungsinformation bereitstellt. Des Weiteren umfasst das Videoblockdekomprimiersystem einen Hilfsvideodekodierer, der die komprimierte zusätzliche Bilderzeugungsinformation dekodiert, um die aktuelle zusätzliche Bilderzeugungsinformation bereitzustellen. Ferner enthält das Videoblockdekomprimiersystem eine Verzerrungseinheit, die einen verzerrten Videoblock wiederherstellt, wobei der verzerrte Videoblock eine Transformation eines vorhergehenden Videoblocks ist, die auf der aktuellen zusätzlichen Bilderzeugungsinformation beruht. Ferner umfasst das Videoblockdekomprimiersystem einen Hauptvideodekodierer, der den komprimierten aktuellen Videoblock unter Anwendung des verzerrten Videoblocks als einen Referenzblock dekodiert, um einen aktuellen Videoblock bereitzustellen.
-
In einem weiteren Aspekt umfasst das Verfahren zur Videoblockdekomprimierung das Entpacken eines komprimierten aktuellen Videoblocks und einer komprimierten zusätzlichen Bilderzeugungsinformation. Das Verfahren zur Videoblockdekomprimierung umfasst ferner das Dekodieren der komprimierten zusätzlichen Bilderzeugungsinformation, um die aktuelle zusätzliche Bilderzeugungsinformation bereitzustellen. Das Verfahren zur Videoblockdekomprimierung enthält ferner das Wiederherstellen eines verzerrten Videoblocks, wobei der verzerrte Videoblock eine Transformation eines vorhergehenden Videoblocks ist, die auf der aktuellen zusätzlichen Bilderzeugungsinformation beruht. Das Verfahren zur Videoblockdekomprimierung umfasst ferner das Dekodieren des komprimierten aktuellen Videoblocks durch Verwenden des verzerrten Videoblocks als eine Referenz, um einen aktuellen Videoblock bereitzustellen.
-
Das zuvor Gesagte umreißt bevorzugte und alternative Merkmale der vorliegenden Offenbarung bzw. Erfindung, so dass der Fachmann die detaillierte Beschreibung der folgenden Offenbarung besser verstehen kann. Weitere Merkmale der Offenbarung werden nachfolgend beschrieben, die den Gegenstand der Ansprüche der Offenbarung bilden. Der Fachmann erkennt, dass er das offenbarte Konzept und die spezielle Ausführungsform als eine Basis zur Gestaltung und Modifizierung anderer Strukturen zum Ausführen des gleichen Zwecks der vorliegenden Offenbarung verwenden kann.
-
KURZE BESCHREIBUNG
-
Es wird nun auf die folgenden Beschreibungen in Verbindung mit den begleitenden Zeichnungen verwiesen, in denen:
-
1 ein anschauliches Blockbild einer Ausführungsform eines Videoblockkomprimiersystems ist, das gemäß den Prinzipien der vorliegenden Offenbarung aufgebaut ist;
-
2 eine Blockansicht einer Ausführungsform eines Videoblockdekompromiersystems ist, das gemäß den Prinzipien der vorliegenden Offenbarung aufgebaut ist;
-
3 ein Flussdiagramm einer Ausführungsform eines Verfahrens zur Videoblockkomprimierung ist, das gemäß den Prinzipien der vorliegenden Offenbarung ausgeführt ist; und
-
4 ein Flussdiagramm einer Ausführungsform eines Verfahrens zur Videoblockdekomprimierung ist, das gemäß den Prinzipien der vorliegenden Offenbarung ausgeführt ist.
-
DETAILLIERTE BESCHREIBUNG
-
Videospiele und dreidimensionale (3D) Anwendungen bilden für gewöhnlich gesamte Videoszenen durch Erzeugen von Dreiecken zur Darstellung auf einem Videobildschirm. Was auf dem Videobildschirm zu sehen ist, ist tatsächlich eine Projektion einer 3D-Geometrie. Für jedes Pixel auf dem Schirm wird eine Tiefenkoordinate (d. h., eine Z-Tiefenkoordinate) verwendet, die eine entsprechende relative Szenentiefe für das Pixel angibt, die auch eine horizontale und vertikale (x und y) Pixelpositionskoordinate auf dem Videobildschirm besitzt. Sowohl die Pixelposition als auch ihre Z-Tiefeninformation werden verwendet, um eine 3D-Darstellung der Videoszene auf einem zweidimensionalen Schirm zu erzeugen. Diese Z-Tiefenkoordinateninformation ist als Ergebnis des Erzeugens einer Videoszene gut verfügbar. Zusätzlich ist auch eine Kameraprojektionsinformation, die sich aus einer Kamerabewegung (wobei eine neue Kameraposition oder Aufstellung erforderlich ist) ergibt, ebenfalls leicht aus einer Bilderzeugungsoperation verfügbar.
-
Vorhersagemodi werden von einem Videokodierer benutzt und stellen typischer Weise einen Kompromiss zwischen Rechenaufwand und Komprimiereffizienz bereit. Sie arbeiten gut für Eingangsblockströme mit diversen Signalcharakteristiken, aber für Eingangssequenzen, die aus Computergraphikverfahren synthetisiert sind (beispielsweise durch Rasterbildung oder Strahlenverfolgung) können bessere Vorhersagen eines aktuellen Blocks geboten werden. Jedoch enthalten standardmäßige Kodiererplattformen keine Einrichtungen für das Bereitstellen externer Vorhersagebilder für den Kodierer. Ausführungsformen der vorliegenden Offenbarung behandeln diese Problematik und bieten einen einfachen und leistungsfähigen Ansatz für das Erweitern einer Vorhersagemodusliste für Codec. Die vorgeschlagene Vorgehensweise geht einher mit einem Vorhersagemodus, der speziell für einen von einer GPU erzeugten Inhalt eingestellt ist. Dieser neuartige Vorhersagemodus kann in einer GPU schnell berechnet werden und verbessert die Komprimierraten eines endgültigen Bit-Stroms.
-
Dabei ist eine Schlüsselidee darin zu sehen, dass ein zusätzliches GPU-erzeugtes Vorhersagebild als einer der Referenzblöcke in einer Referenzblockliste bereitgestellt wird. Dieses ergänzende Bild kann außerhalb der Videokodierplattform (beispielsweise auf Anwendungsebene) unter Anwendung von Daten aufgebaut werden, die sowohl für den Kodierer als auch den Dekodierer verfügbar sind. Wie bei regulären Vorhersagenmodi müssen Kodierer und Dekodierer synchronisiert sein und das gleiche Vorhersagebild empfangen, um einen fehlerfreien Block zu kodieren und zu dekodieren.
-
Insgesamt wird erwartet, dass die über ein Netzwerk mit dieser Technik übertragenen Daten einschließlich eines neuen Videostroms und eines Hilfsstroms von geringerem Umfang sind als ein originaler Videostrom aus einer regulären (naiven) Komprimiertechnik. Das Übertragen von weniger Daten über das Netzwerk führt zu einer kleineren Gesamtlatenz (wodurch eine bessere Erfahrung beispielsweise im Hinblick auf das Spielen mittels Wolke bzw. Cloud vermittelt wird), geringeren Kosten (entsprechend den weniger erforderlichen Übertragungsbits), und mehr Klienten, die sofort bedient werden können.
-
Ein „Hinweis” ist in der vorliegenden Offenbarung allgemein als zusätzliche Information definiert, die für eine Vorhersage oder einen Kodiervorgang verfügbar ist. Diese zusätzliche Information kann für gewöhnlich durch eine Bilderzeugungseinheit und häufig in der Software auf tieferer Ebene (beispielsweise Software, die eine Komprimiereinheit eines Videokodierers steuert) bereitgestellt werden. Diese zusätzliche Information erlaubt es dem Videokodierer, beim Kodieren besser zu arbeiten, wodurch eine Verbesserung der Bildqualität, eine Verringerung der Latenzzeit oder eine Reduzierung der Anzahl an Bits ermöglicht werden, die zum Zuweisen der Szene erforderlich ist, wie bereits angemerkt wurde.
-
„Das Verzerren” eines Videoblocks ist generell in der vorliegenden Offenbarung so definiert, dass ein bestehendes Videobild oder ein Block transformiert werden. Der Verzerrungsvorgang ordnet üblicherweise Positionen in einer Bildebene Positionen in einer weiteren Bildebene zu. Typischer Weise ist in der vorliegenden Offenbarung ein verzerrter Videoblock ein transformierter vorhergehender Videoblock, der die zusätzliche Information (d. h., zumindest einen einzelnen Hinweis) bei der Bereitstellung der Transformation verwendet. Wie erwähnt, sind diese Hinweise aus dem Bilderzeugungsvorgang oder von einer Bilderzeugungseinheit verfügbar. Wenn beispielsweise sich eine Kameraposition ändert, versucht diese Verzerrungstransformation auf Pixelbasis die Wirkung auf jedes neue Pixel und dessen Zustand vorherzusagen.
-
Daher umschließen Ausführungsformen der vorliegenden Offenbarung die Kernidee der Verwendung von Hinweisen bei der Erzeugung eines verzerrten Rahmens bzw. Blocks, der dann für einen Videokodierer als ein Referenzvideoblock verwendbar ist. Dazu kann eine bestehende Videokodierarchitektur verwendet werden, da lediglich ein weiterer Referenzblock zur Verwendung durch den Videokodierer hinzugefügt wird. Obwohl die Dekodierung der zusätzlichen Information in einem Klienten-Dekodierer erforderlich ist, können auch bestehende Videodekodierer eingesetzt werden. In einem Beispiel umfassen Ausführungsformen der vorliegenden Offenbarung die Verwendung nicht modifizierter Kodierer und Dekodierer, die mit dem H.264/AVC-Videokodierstandard verträglich sind.
-
1 zeigt eine Blockansicht einer Ausführungsform eines Videoblockkomprimiersystems, das generell als 100 bezeichnet und gemäß den Prinzipien der vorliegenden Offenbarung aufgebaut ist. Das Videokomprimiersystem 100 umfasst eine Bilderzeugungseinheit 105, eine Verzerrungseinheit 110, einen Videokodierer 120 und eine Paketformungseinheit 130.
-
Die Bilderzeugungseinheit 105 leitet einen aktuellen Videoblock 107 einem Blockkomprimierbereich 121 des Videokodierers 120 zu. Die Bilderzeugungseinheit 105 stellt ferner aktuelle zusätzliche Bilderzeugungsinformationen (d. h., Hinweise) für die Verzerrungseinheit 110 und für einen Hinweis-Komprimierbereich 122 des Videokodierers 120 bereit, wie gezeigt ist. Der Videokodierer 120 stellt einen Hauptvideostrom, der eine Blockkomprimierung des aktuellen Videoblocks 107 enthält, und einen Hilfsstrom, der eine Komprimierung der aktuellen zusätzlichen Bilderzeugungsinformation enthält, für die Paketformungseinheit 130 für die Netzwerkübertragung bereit.
-
In der dargestellten Ausführungsform der 1 ist der Videokodierer 120 mit dem H.264/AVC-Videokodierstandard verträglich, der den Hauptvideostrom und den Hilfsstrom sowie die unterstützende mehrfache Referenzblockbewertung umfasst, wobei Kodiererparameter für jeden verwendeten Referenzblock eingestellt werden, um Genauigkeit und Leistungsvermögen zu verbessern. In einer weiteren Ausführungsform kann der Videokodierer 120 Z-Tiefeninformation kodieren, die den Hauptteil des Hilfsstroms darstellt, zusammen mit einem Farbblock in einem kombinierten Farb+Tiefen-Kodiermodus. Generell können Ausführungsformen der vorliegenden Offenbarung die Blockkomprimierung und Hinweise-Komprimierung in anderen bestehenden oder in künftig entwickelten Videokodierstrukturen umfassen, wobei diese Komprimierfunktionen separat oder kombiniert sein können.
-
Die Verzerrungseinheit 110 erzeugt einen verzerrten Videoblock 125 durch eine Verzerrungstransformation eines vorhergehenden Videoblocks 109, wobei die Verzerrungstransformation auf der aktuellen zusätzlichen Bilderzeugungsinformation beruht, die von der Bilderzeugungseinheit 105 geliefert wird. Der verzerrte Videoblock 110 wird von dem Blockkomprimierbereich 121 des Videokodierers 120 als ein Referenzblock für das Komprimieren des aktuellen Videoblocks 107 verwendet.
-
Generell stellt das Videokomprimiersystem 100 einen Vorgang auf einer Dienstleister-Seite dar, die den neuen Referenzblock erzeugt und verwendet (d. h., den verzerrten aktuellen Block 125). Für die Dienstleister-Seite erlaubt der verzerrte aktuelle Block 125 es dem Videokodierer 120, die Blockvorhersage besser auszuführen, da er den aktuellen Block 107 in genauer Weise in dem besten Falle wiedergibt. Beispielsweise für den Fall einer lediglich globalen Bewegung hat der verzerrte Block 125 exakt die gleiche Erscheinung wie der aktuelle Block 107.
-
In dem dargestellten Beispiel enthält die aktuelle zusätzliche Bilderzeugungsinformation, die von der Bilderzeugungseinheit 105 geliefert wird, eine Kamerapojektionsmatrix und eine Z-Tiefenpufferinformation, die externen Bewegungsvektorhinweisen entsprechen. Der Begriff „Bewegungsvektorhinweis” entspricht einem Translationsvektor in Bezug auf eine aktuelle Makroblockposition. In Blocksituationen ohne oder nur geringen Objektbewegungen erlaubt die Verwendung dieser externen Bewegungsvektorhinweise bei der Bereitstellung des neuen Referenzblockes eine Null- bzw. Nahe-Null-Bewegungssuche.
-
Der Videokodierer 120 hat die Fähigkeit, Hinweise von außen zu akzeptieren, die ihn anweisen, einen Bewegungsvektor zu versuchen, der durch die Bewegungsvektorhinweise bereitgestellt ist, der einer Stelle in einem Referenzblock entspricht. Dieser Vorgang ersetzt das Suchen nach dem Bewegungsvektor, der die kleinste Anzahl an Bits ergibt, um einen Makroblock zu kodieren oder der eine Übereinstimmung für den Makroblock ergibt. Beispielsweise ist ausgehend von einer aktuellen Makroblockposition eine Verschiebung um einige Pixel in einer speziellen Richtung erforderlich, um einen Makroblock zu finden, der ähnlich ausschaut wie ein aktueller Makroblock.
-
Die Verwendung des neuen Referenzblocks ist Teil eines zeitlichen Rahmens und ist auch Teil eines epischen Rahmens einer räumlichen und zeitlichen Vorhersage, die eine Vorhersageverbesserung mit sich bringt, wobei eine Reduzierung der Vorhersagezeit möglich ist. Die Vorhersageverbesserung liefert typischer Weise eine Komprimierung mit einem kleineren Rest des aktuellen Blocks 107, wodurch weniger Kodierbits erforderlich sind.
-
Das Dekodieren der Netzwerkübertragung auf Klienten-Seite wurde ebenfalls in Betracht gezogen, da der verzerrte aktuelle Block 125 dort wiederhergestellt werden muss. Dies erfordert die gleiche Information, die verwendet wurde, um den verzerrten Block 125 zu erzeugen, was der Kameraprojektion und der z-Tiefeninformation in diesem Beispiel zusammen mit dem vorhergehenden Videoblock 109 entspricht.
-
2 zeigt ein Blockdiagramm einer Ausführungsform eines Videoblockdekomprimiersystems, das allgemein als 200 bezeichnet und gemäß den Prinzipien der vorliegenden Offenbarung aufgebaut ist. Das Videoblockdekomprimiersystem 200 umfasst eine Entpackungseinheit 205, einen Hauptdekodierer 210, einen Hilfsdekodierer 215 und eine Verzerrungseinheit 220.
-
Die Entpackungseinheit 205 empfängt eine Netzwerkübertragung aus einem Videoblockkomprimiersystem, etwa dem Videoblockkomprimiersystem 100 aus 1, und stellt einen Hauptvideostrom bereit, der einem komprimierten Restblock eines aktuellen Videoblocks 214 entspricht, bereit. Die Entpackungseinheit 205 stellt ferner einen Hilfsdatenstrom bereit, der der komprimierten aktuellen zusätzlichen Bilderzeugungsinformation (d. h., den Hinweisen, die von der Dienstleisterseite gesendet sind) entspricht, wie dies auch mit Bezug zu 1 erläutert ist.
-
Ein Z-Tiefenbereich der komprimierten aktuellen zusätzlichen Bilderzeugungsinformation ist dem Hilfsdekodierer 215 zur Dekomprimierung unter Anwendung einer vorhergehenden Block-Z-Tiefen-Pufferinformation 216 zugeleitet, die aus dem Speicher bereitgestellt ist. Diese Dekomprimierung erzeugt eine Z-Tiefenpufferinformation für den aktuellen Block 217.
-
Ein Kameraprojektionsmatrixbereich der komprimierten aktuellen zusätzlichen Bilderzeugungsinformation zusammen mit der dekomprimierten Z-Tiefenpufferinformation für den aktuellen Block 217 sind der Verzerrungseinheit 220 zugeleitet, die eine Verzerrungstransformation an einem vorhergehenden Block 211 bereitstellt, um einen wiederhergestellten bzw. rekonstruierten verzerrten Block 225 zu erzeugen. Der vorhergehende Block 211 wird ebenfalls aus dem Speicher bereitgestellt. Der Hauptdekodierer 210 verwendet den wiederhergestellten, verzerrten Block 220 als einen bevorzugten Referenzblock zum Dekodieren des Hauptvideostroms, um den aktuellen Block 214 bereitzustellen.
-
In der dargestellten Ausführungsform sind der Haupt- und Hilfsdekodierer 210, 215 mit dem H.264/AVC-Videokodierstandard kompatibel und können Bereiche eines gleichen Videodekodierers sein. Generell können Ausführungsformen der vorliegenden Offenbarung die Block-Dekomprimierung und Hinweis-Dekomprimierung in anderen bestehenden oder künftig entwickelten Videodekodierstrukturen umfassen, wobei diese Dekomprimierfunktionen separat oder kombiniert sein können.
-
3 zeigt ein Flussdiagramm einer Ausführungsform eines Verfahrens zur Videoblockkomprimierung, das allgemein als 300 bezeichnet ist und das gemäß den Prinzipien der vorliegenden Offenbarung ausgeführt wird. Das Verfahren 300 beginnt in einem Schritt 305, und in einem Schritt 310 werden ein aktueller Videoblock und eine aktuelle zusätzliche Bilderzeugungsinformation bereitgestellt. Sodann wird ein verzerrter Videoblock in einem Block 315 erzeugt, wobei der verzerrte Videoblock eine Transformation eines vorhergehenden Videoblocks ist, die auf der aktuellen zusätzlichen Bilderzeugungsinformation beruht. In einem Schritt 320 wird der aktuelle Videoblock komprimiert unter Anwendung des verzerrten Videoblocks als ein Referenzblock, und die aktuelle zusätzliche Bilderzeugungsinformation wird separat komprimiert. Der komprimierte aktuelle Videoblock und die komprimierte zusätzliche Bilderzeugungsinformation werden in einem Schritt 325 zu Paketen entsprechend in einem Hauptdatenstrom und einem Hilfsdatenstrom geformt.
-
In einer Ausführungsform ist die aktuelle zusätzliche Bilderzeugungsinformation ausgewählt aus der Gruppe bestehend aus einer Kameraprojektionsmatrix und einem Z-Tiefenpuffer. In einer weiteren Ausführungsform sind der aktuelle Videoblock und die aktuelle zusätzliche Bilderzeugungsinformation konform mit dem H.264/AVC-Videokodierstandard. Das Verfahren 300 endet in einem Schritt 330.
-
4 zeigt ein Flussdiagramm einer Ausführungsform eines Verfahrens zur Videoblockdekomprimierung, das generell als 400 bezeichnet ist und gemäß den Prinzipien der vorliegenden Offenbarung ausgeführt wird. Das Verfahren 400 beginnt in einem Schritt 405, und in einem Schritt 410 werden ein komprimierter aktueller Videoblock und eine komprimierte zusätzliche Bilderzeugungsinformation entpackt. In einem Schritt 415 wird dann die komprimierte zusätzliche Bilderzeugungsinformation dekodiert, um die aktuelle zusätzliche Bilderzeugungsinformation bereitzustellen. In einem Schritt 420 wird ein verzerrter Videoblock wiederhergestellt, wobei der verzerrte Videoblock einen Transformation eines früheren Videoblocks ist, die auf der aktuellen zusätzlichen Bilderzeugungsinformation beruht. Der komprimierte aktuelle Videoblock wird unter Anwendung des verzerrten Videoblocks als ein Referenzblock dekodiert, um in einem Schritt 425 einen aktuellen Videoblock bereitzustellen.
-
In einer Ausführungsform wird die aktuelle zusätzliche Bilderzeugungsinformation unter Verwendung einer vorhergehenden zusätzlichen Bilderzeugungsinformation als Referenz bereitgestellt. In einer weiteren Ausführungsform ist die aktuelle zusätzliche Bilderzeugungsinformation ausgewählt aus der Gruppe bestehend aus einer Kameraprojektionsmatrix und einem Z-Tiefenpuffer. In einer noch weiteren Ausführungsform sind der Hauptvideokodierer und der Hilfsvideokodierer konform mit dem H.264/AVC-Videokodierstandard. Das Verfahren 400 endet in einem Schritt 430.
-
Die vorliegende Erfindung umfasst die folgenden Konzepte:
- Konzept 1. Ein Videoblockkomprimiersystem, wobei das System aufweist (i) eine Bilderzeugungseinheit, die einen aktuellen Videoblock und aktuelle zusätzliche Bilderzeugungsinformation bereitstellt; (ii) eine Verzerrungseinheit, die einen verzerrten Videoblock erzeugt, wobei der verzerrte Videoblock eine Transformation eines vorhergehenden Videoblocks ist, die auf der aktuellen zusätzlichen Bilderzeugungsinformation beruht; und (iii) einen Videokodierer, der den aktuellen Videoblock unter Anwendung des verzerrten Videoblocks als einen Referenzblock komprimiert und separat die aktuelle zusätzliche Bilderzeugungsinformation komprimiert.
- Konzept 2. Das System wie beschrieben in Konzept 1, das ferner eine Paketformungseinheit umfasst, die einen Haupt- und Hilfsdatenstrom bereitstellt, die entsprechend dem komprimierten aktuellen Videoblock einerseits und der komprimierten aktuellen zusätzlichen Bilderzeugungsinformation andererseits entsprechen.
- Konzept 3. Das System wie beschrieben in Konzept 1 oder 2, wobei die aktuelle zusätzliche Bilderzeugungsinformation ausgewählt ist aus der Gruppe: eine Kameraprojektionsmatrix; und ein Z-Tiefenpuffer.
- Konzept 4. Das System wie beschrieben in einem der Konzepte 1–3, wobei der Videokodierer konform ist zu dem H.264/AVC-Videokodierstandard.
- Konzept 5. Ein Verfahren zur Videoblockkomprimierung, wobei das Verfahren enthält (i) Bereitstellen eines aktuellen Videoblocks und einer aktuellen zusätzlichen Bilderzeugungsinformation; (ii) Erzeugen eines verzerrten Videoblocks, wobei der verzerrte Videoblock eine Transformation eines vorhergehenden Videoblocks ist, die auf der aktuellen zusätzlichen Bilderzeugungsinformation beruht; und (iii) Komprimieren des aktuellen Videoblocks unter Anwendung des verzerrten Videoblocks als einen Referenzblock und separates Komprimieren der aktuellen zusätzlichen Bilderzeugungsinformation.
- Konzept 6. Das Verfahren wie beschrieben in Konzept 5, das ferner enthält: in Pakete formen des komprimierten aktuellen Videoblocks einerseits und der komprimierten zusätzlichen Bilderzeugungsinformation andererseits in einen Hauptdatenstrom einerseits und einen Hilfsdatenstrom andererseits.
- Konzept 7. Das Verfahren wie beschrieben in Konzept 5 oder 6, wobei die aktuelle zusätzliche Bilderzeugungsinformation ausgewählt ist, aus der Gruppe bestehend aus: einer Kameraprojektionsmatrix; und einem Z-Tiefenpuffer.
- Konzept 8. Das Verfahren wie beschrieben in einem der Konzepte 5–7, wobei das Komprimieren des aktuellen Videoblocks und der aktuellen zusätzlichen Bilderzeugungsinformation konform ist mit dem H.264/AVC.Videokodierstandard.
- Konzept 9. Ein Videoblockdekomprimiersystem, wobei das System enthält (i) eine Entpackungseinheit, die einem komprimierten aktuellen Videoblock und komprimierte zusätzliche Bilderzeugungsinformation bereitstellt; (ii) einen Hilfsvideodekodierer, der die komprimierte zusätzliche Bilderzeugungsinformation dekodiert, um aktuelle zusätzliche Bilderzeugungsinformation bereitzustellen; (iii) eine Verzerrungseinheit, die einen verzerrten Videoblock wiederherstellt, wobei der verzerrte Videoblock eine Transformation eines vorhergehenden Videoblocks ist, die auf der aktuellen zusätzlichen Bilderzeugungsinformation beruht; und (iv) einen Hauptvideodekodierer, der den komprimierten aktuellen Videoblock unter Anwendung des verzerrten Videoblocks als einen Referenzblock dekodiert, um einen aktuellen Videoblock bereitzustellen.
- Konzept 10. Das System wie beschrieben in Konzept 9, wobei der Haupt- und Hilfsdekodierer zumindest Bereiche des gleichen Dekodierers sind.
- Konzept 11. Das System wie beschrieben in Konzept 9 oder 10, wobei die aktuelle zusätzliche Bilderzeugungsinformation unter Anwendung einer vorhergehenden zusätzlichen Bilderzeugungsinformation als Referenz bereitgestellt ist.
- Konzept 12. Das System wie beschrieben in einem der Konzept 9–11, wobei die aktuelle zusätzliche Bilderzeugungsinformation ausgewählt ist aus der Gruppe bestehend aus: einer Kameraprojektionsmatrix; und einem Z-Tiefenpuffer.
- Konzept 13. Das System wie beschrieben in einem der Konzepte 9–12, wobei der Haupt- und Hilfsvideodekodierer konform sind zu dem H.264/AVC-Videokodierstandard.
- Konzept 14. Ein Verfahren zur Videoblockdekomprimierung, wobei das Verfahren enthält (i) Entpacken eines komprimierten aktuellen Videoblocks und komprimierter zusätzlicher Bilderzeugungsinformation; (ii) Dekodieren der komprimierten zusätzlichen Bilderzeugungsinformation, um aktuelle zusätzliche Bilderzeugungsinformation bereitzustellen; (iii) Wiederherstellen eines verzerrten Videoblocks, wobei der verzerrte Videoblock eine Transformation eines vorhergehenden Videoblocks ist, die auf der aktuellen zusätzlichen Bilderzeugungsinformation beruht; und (iv) Dekodieren des komprimierten aktuellen Videoblocks unter Verwendung des verzerrten Videoblocks als ein Referenzblock, um einen aktuellen Videoblock bereitzustellen.
- Konzept 15. Das Verfahren wie beschrieben in Konzept 14, wobei die aktuelle zusätzliche Bilderzeugungsinformation unter Verwendung einer vorhergehenden zusätzlichen Bilderzeugungsinformation als Referenz bereitgestellt wird.
- Konzept 16. Das Verfahren wie beschrieben in Konzept 14 oder 15, wobei die aktuelle zusätzliche Bilderzeugungsinformation ausgewählt ist aus der Gruppe bestehend aus: einer Kameraprojektionsmatrix; und einem Z-Tiefenpuffer.
- Konzept 17. Das Verfahren wie beschrieben in einem der Konzepte 14–16, wobei der Haupt- und Hilfsvideokodierer mit dem H.264/AVC-Videokodierstandard konform sind.
-
Obwohl die hierin offenbarten Verfahren mit Bezug zu speziellen Schritten beschrieben und gezeigt sind, die in einer speziellen Reihenfolge ausgeführt sind, ist zu beachten, dass diese Schritte kombiniert, unterteilt oder anders angeordnet werden können, um ein gleichwertiges Verfahren zu erzeugen, ohne von der Lehre der vorliegenden Offenbarung abzuweichen. Sofern dies nicht speziell hierin anders angegeben ist, ist die Reihenfolge oder die Gruppierung der Schritte keine Beschränkung der vorliegenden Offenbarung.
-
Der Fachmann auf diesem Gebiet, an den sich diese Anmeldung richtet, erkennt, dass andere und weitere Hinzufügungen, Löschungen, Ersetzungen und Modifizierungen an den beschriebenen Ausführungsformen vorgenommen werden können.