DE112020001290T5 - Videocodierungsverfahren mit Syntaxelementsignalisierung einer Guard-Band-Konfiguration eines projektionsbasierten Rahmens und dazugehörige Videodecodierungsverfahren und Vorrichtungen - Google Patents
Videocodierungsverfahren mit Syntaxelementsignalisierung einer Guard-Band-Konfiguration eines projektionsbasierten Rahmens und dazugehörige Videodecodierungsverfahren und Vorrichtungen Download PDFInfo
- Publication number
- DE112020001290T5 DE112020001290T5 DE112020001290.5T DE112020001290T DE112020001290T5 DE 112020001290 T5 DE112020001290 T5 DE 112020001290T5 DE 112020001290 T DE112020001290 T DE 112020001290T DE 112020001290 T5 DE112020001290 T5 DE 112020001290T5
- Authority
- DE
- Germany
- Prior art keywords
- projection
- guard band
- cube
- syntax element
- guard
- 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.)
- Pending
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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence 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/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/184—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 bits, e.g. of the compressed video stream
-
- 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Ein Videodecodierungsverfahren umfasst: Decodieren eines Teils eines Bitstroms, um einen decodierten Rahmen zu generieren, und Analysieren mindestens eines Syntaxelements von dem Bitstrom. Der decodierte Rahmen ist ein projektionsbasierter Rahmen, welcher Projektionsflächen aufweist, die in einer würfelbasierten Projektionsanordnung gepackt sind. Mindestens ein Teil eines 360-Grad-Inhalts einer Kugel wird über eine würfelbasierte Projektion auf die Projektionsflächen abgebildet. Das mindestens eine Syntaxelement zeigt eine Guard-Band-Konfiguration des projektionsbasierten Rahmens an.
Description
- Querverweis auf verwandte Patentanmeldungen
- Diese Anmeldung beansprucht den Nutzen der vorläufigen US-Anmeldung Nr.
62/869,627 62/870,139 62/903,056 62/954,814 62/869,627 62/870,139 62/903,056 62/954,814 - Technisches Gebiet
- Die vorliegende Erfindung bezieht sich auf eine Videocodierung und eine Videodecodierung und insbesondere auf ein Videocodierungsverfahren mit einer Syntaxelementsignalisierung einer Guard-Band-Konfiguration eines projektionsbasierten Rahmens und dazugehörige Videodecodierungsverfahren und Vorrichtungen.
- Hintergrund
- Virtual-Reality (VR) mit am Kopf befestigten Anzeigen (HMDs) ist mit einer Vielfalt von Anwendungen verknüpft. Die Möglichkeit, einem Anwender einen weiten Gesichtsfeldinhalt zu zeigen, kann verwendet werden, um eindringliche visuelle Erfahrungen zu vermitteln. Eine Umgebung einer realen Welt muss in allen Richtungen aufgenommen werden, was in einem Rundum-Video resultiert, das zu einer Ansichtskugel korrespondiert. Mit Fortschritten in Kameraaufbauten und HMDs kann die Bereitstellung eines VR-Inhalts aufgrund der hohen Bitrate, die für ein Repräsentieren eines solchen 360-Grad-Inhalts benötigt wird, bald der Engpass werden. Wenn die Auflösung des Rundum-Videos 4K oder höher ist, ist eine Datenkompression/-codierung entscheidend für eine Bitratenreduktion.
- Allgemein wird das Rundum-Video, das zu einer Kugel korrespondiert, in einen Rahmen mit einem 360-Grad-Bildinhalt transformiert, der durch Projektionsflächen repräsentiert wird, die in einer 360-Grad-Virtual-Reality- (360-VR-) Projektionsanordnung angeordnet sind, und dann wird der resultierende Rahmen für eine Übertragung in einen Bitstrom codiert. Wenn eine Konfiguration einer eingesetzten 360-VR-Projektionsanordnung fest ist, ohne zu erlauben, dass Anpassungen daran vorgenommen werden, weist der Videocodierer weniger Flexibilität für ein Codieren des 360-Grad-Bildinhalts auf. Somit besteht eine Notwendigkeit für eine flexible Auslegung, welcher erlaubt ist, eine Guard-Band-Konfiguration eines projektionsbasierten Rahmens und (ein) Syntaxelement(e), das (die) mit der Guard-Band-Konfiguration des projektbasierten Rahmens verknüpft ist (sind), zu bestimmen/auszuwählen.
- Zusammenfassung
- Eine der Aufgaben der beanspruchten Erfindung ist, ein Videocodierungsverfahren mit einer Syntaxelementsignalisierung einer Guard-Band-Konfiguration eines projektionsbasierten Rahmens und dazugehörige Videodecodierungsverfahren und Vorrichtungen zur Verfügung zu stellen.
- Gemäß einem ersten Aspekt der vorliegenden Erfindung wird ein beispielhaftes Videodecodierungsverfahren offenbart. Das beispielhafte Videodecodierungsverfahren umfasst: Decodieren eines Teils eines Bitstroms, um einen decodierten Rahmen zu generieren, wobei der decodierte Rahmen ein projektionsbasierter Rahmen ist, welcher Projektionsflächen aufweist, die in einer würfelbasierten Projektionsanordnung gepackt sind, und mindestens ein Teil eines 360-Grad-Inhalts einer Kugel über eine würfelbasierte Projektion auf die Projektionsflächen abgebildet wird; und Analysieren mindestens eines Syntaxelements von dem Bitstrom, wobei das mindestens eine Syntaxelement eine Guard-Band-Konfiguration des projektionsbasierten Rahmens anzeigt.
- Gemäß einem zweiten Aspekt der vorliegenden Erfindung wird eine beispielhafte Elektronikvorrichtung offenbart. Die beispielhafte Elektronikvorrichtung weist eine Decodierungsschaltung auf. Die Decodierungsschaltung ist eingerichtet, einen Teil eines Bitstroms zu decodieren, um einen decodierten Rahmen zu generieren, und mindestens ein Syntaxelement von dem Bitstrom zu analysieren. Der decodierte Rahmen ist ein projektionsbasierter Rahmen, welcher Projektionsflächen aufweist, die in einer würfelbasierten Projektionsanordnung gepackt sind. Mindestens ein Teil eines 360-Grad-Inhalts einer Kugel wird über eine würfelbasierte Projektion auf die Projektionsflächen abgebildet. Das mindestens eine Syntaxelement zeigt eine Guard-Band-Konfiguration des projektionsbasierten Rahmens an.
- Gemäß einem dritten Aspekt der vorliegenden Erfindung wird ein beispielhaftes Videocodierungsverfahren offenbart. Das beispielhafte Videocodierungsverfahren umfasst: Codieren eines projektionsbasierten Rahmens, um einen Teil eines Bitstroms zu generieren, wobei mindestens ein Teil eines 360-Grad-Inhalts einer Kugel über eine würfelbasierte Projektion auf Projektionsflächen abgebildet wird, und der projektionsbasierte Rahmen die Projektionsflächen aufweist, die in einer würfelbasierten Projektionsanordnung gepackt sind; und Signalisieren mindestens eines Syntaxelements über den Bitstrom, wobei das mindestens eine Syntaxelement eine Guard-Band-Konfiguration des projektionsbasierten Rahmens anzeigt.
- Diese und andere Aufgaben der vorliegenden Erfindung werden ohne Zweifel für diejenigen mit gewöhnlichen Kenntnissen auf dem Gebiet nach dem Lesen der nachfolgenden detaillierten Beschreibung der bevorzugten Ausführungsform offenbar, welche in den verschiedenen Figuren und Zeichnungen dargestellt ist.
- Figurenliste
-
-
1 ist ein Diagramm, das ein 360-Grad-Virtual-Reality- (360-VR-) System gemäß einer Ausführungsform der vorliegenden Erfindung darstellt. -
2 ist ein Diagramm, das eine würfelbasierte Projektion gemäß einer Ausführungsform der vorliegenden Erfindung darstellt. -
3 ist ein Diagramm, das eine andere würfelbasierte Projektion gemäß einer Ausführungsform der vorliegenden Erfindung darstellt. -
4-6 sind Diagramme, die eine Spezifikation einer Kombination zweier Syntaxelemente gemäß einer Ausführungsform der vorliegenden Erfindung darstellen. -
7-9 sind Diagramme, die eine andere Spezifikation einer Kombination zweier Syntaxelemente gemäß einer Ausführungsform der vorliegenden Erfindung darstellen. - Detaillierte Beschreibung
- Bestimmte Begriffe, welche sich auf bestimmte Komponenten beziehen, werden innerhalb der nachfolgenden Beschreibung und den Ansprüchen verwendet. Wie jemand mit Kenntnissen auf dem Gebiet anerkennen wird, können Elektronikausrüstungshersteller mit unterschiedlichen Namen auf eine Komponente verweisen. Dieses Dokument beabsichtigt nicht, zwischen Komponenten zu unterscheiden, welche sich in einem Namen aber nicht in einer Funktion unterscheiden. In der nachfolgenden Beschreibung und in den Ansprüchen werden die Begriffe „einschließen“ und „aufweisen“ in einer offenen Weise verwendet, und sollten somit so interpretiert werden, dass sie „einschließen, aber nicht beschränkt sein auf...“ bedeuten. Außerdem ist beabsichtigt, dass der Begriff „verbinden“ entweder eine indirekte oder eine direkte elektrische Verbindung bedeutet. Entsprechend kann, wenn eine Vorrichtung mit einer anderen Vorrichtung verbunden ist, diese Verbindung durch eine direkte elektrische Verbindung oder durch eine indirekte elektrische Verbindung über andere Vorrichtungen und Verbindungen bestehen.
-
1 ist ein Diagramm, das ein 360-Grad-Virtual-Reality- (360-VR-) System gemäß einer Ausführungsform der vorliegenden Erfindung darstellt. Das 360-VR-System 100 weist eine Quellenelektronikvorrichtung 102 und eine Zielelektronikvorrichtung 104 auf. Die Quellenelektronikvorrichtung 102 weist eine Videoaufnahmevorrichtung 112, eine Konvertierungsschaltung 114 und einen Videocodierer 116 auf. Zum Beispiel kann die Videoaufnahmevorrichtung 112 eine Rundum-Kamera sein. Die Konvertierungsschaltung 114 generiert einen projektionsbasierten Rahmen IMG mit einer 360-Grad-Virtual-Reality- (360-VR-) Projektionsanordnung L_VR gemäß einem Rundum-Videorahmen S_IN, der zu einer Kugel korrespondiert, wobei der Rundum-Videorahmen S_IN einen 360-Grad-Inhalt der Kugel aufweist. Der Videocodierer 116 ist eine Codierungsschaltung, welche den projektionsbasierten Rahmen IMG (welcher Projektionsflächen aufweist, die in der 360-VR-Projektionsanordnung L_VR gepackt sind) codiert, um einen Teil eines Bitstroms BS zu generieren, und den Bitstrom BS über eine Übertragungseinrichtung 103, wie eine verdrahtete/drahtlose Kommunikationsvorrichtung oder ein Speichermedium, an die Zielelektronikvorrichtung 104 ausgibt. - Die Zielelektronikvorrichtung 104 kann eine am Kopf befestigte Anzeige- (HMD-) Vorrichtung sein. Wie in
1 gezeigt, weist die Zielelektronikvorrichtung 104 einen Videodecodierer 122, eine Graphikwiedergabeschaltung 124 und eine Anzeigevorrichtung 126 auf. Der Videodecodierer 122 ist eine Decodierungsschaltung, welche den Bitstrom BS von der Übertragungseinrichtung 103 (z. B. eine drahtgebundene/drahtlose Kommunikationsverbindung oder ein Speichermedium) empfängt und einen Teil des empfangenen Bitstroms BS decodiert, um einen decodierten Rahmen IMG' zu generieren. In dieser Ausführungsform weist der durch den Videocodierer 116 zu codierende Rahmen IMG eine 360-VR-Projektionsanordnung L_VR auf. Daher weist, nachdem ein Teil des Bitstroms BS durch den Videodecodierer 122 decodiert ist, der decodierte Rahmen (d.h., der rekonstruierte Rahmen) IMG' die gleiche 360-VR-Projektionsanordnung L_VR auf. Mit anderen Worten ist der decodierte Rahmen IMG' ebenfalls ein projektionsbasierter Rahmen, welcher Projektionsflächen aufweist, die in der 360-VR-Projektionsanordnung L_VR gepackt sind. Die Graphikwiedergabeschaltung 124 ist eingerichtet, die Anzeigevorrichtung 126 zu steuern/treiben, um einen Bildinhalt eines Viewport-Bereichs anzuzeigen, der durch einen Anwender ausgewählt wird. Die Graphikwiedergabeschaltung 124 kann eine Konvertierungsschaltung 125 aufweisen, welche eingerichtet ist, einen Teil des Bildinhalts, der durch den decodierten Rahmen IMG' übertragen wird, für ein Erhalten von Pixeldaten, die mit dem Bildinhalt des ausgewählten Viewport-Bereichs verknüpft sind, zu verarbeiten. - In dieser Ausführungsform ist die 360-VR-Projektionsanordnung L_VR eine würfelbasierte Projektionsanordnung. Daher wird mindestens ein Teil (d.h., ein Teil oder alles) eines 360-Grad-Inhalts einer Kugel über eine würfelbasierte Projektion auf Projektionsflächen abgebildet, und die Projektionsflächen, die von verschiedenen Flächen eines dreidimensionalen Objekts (z. B. eines Würfels oder eines Halbkugel-Würfels) hergeleitet werden, werden in der zweidimensionalen würfelbasierten Projektionsanordnung gepackt, welche von dem projektionsbasierten Rahmen IMG/dem decodierten Rahmen IMG' eingesetzt wird.
- In einer Ausführungsform kann eine würfelbasierte Projektion mit sechs quadratischen Projektionsflächen, die ein ganzes 360°x180°-Rundum-Video (d.h., alles eines 360-Grad-Inhalts einer Kugel) repräsentieren, eingesetzt werden. Hinsichtlich der Konvertierungsschaltung 114 der Quellenelektronikvorrichtung 102 wird eine würfelbasierte Projektion eingesetzt, um quadratische Projektionsflächen eines Würfels in einem dreidimensionalen (3D-) Raum zu generieren.
2 ist ein Diagramm, das eine würfelbasierte Projektion gemäß einer Ausführungsform der vorliegenden Erfindung darstellt. Der gesamte 360-Grad-Inhalt auf der Kugel 200 wird auf sechs quadratische Flächen eines Würfels 201 projiziert, die eine obere Fläche (gekennzeichnet durch „Oben“), eine untere Fläche (gekennzeichnet durch „Unten“), eine linke Fläche (gekennzeichnet durch „Links“), eine vordere Fläche (gekennzeichnet durch „Vorne“), eine rechte Fläche (gekennzeichnet durch „Rechts“) und eine hintere Fläche (gekennzeichnet durch „Hinten“) umfassen. Wie in2 gezeigt, wird ein Bildinhalt eines nördlichen Polarbereichs der Kugel 200 auf die obere Fläche „Oben“ projiziert, wird ein Bildinhalt eines südlichen Polarbereichs der Kugel 200 auf die untere Fläche „Unten“ projiziert und wird ein Bildinhalt eines Äquatorialbereichs der Kugel 200 auf die linke Fläche „Links“, die vordere Fläche „Vorne“, die rechte Fläche „Rechts“ und die hintere Fläche „Hinten“ projiziert. - In dem 3D-Raum, welcher durch eine x-Achse, eine y-Achse und eine z-Achse definiert ist, befindet sich jeder Punkt auf sechs projizierten Flächen bei (x, y, z), wobei x,y,z ∈ [-1,1]. In diesem in
2 gezeigten Beispiel liegt die vordere Fläche „Vorne“ auf einer x-Ebene mit x=1, liegt die hintere Fläche „Hinten“ auf einer x-Ebene mit x=-1, liegt die obere Fläche „Oben“ auf einer z-Ebene mit z=1, liegt die untere Fläche „Unten“ auf einer z-Ebene mit z=-1, liegt die linke Fläche „Links“ auf einer y-Ebene mit y=1 und liegt die rechte Fläche „Rechts“ auf einer y-Ebene mit y=-1. In einer alternativen Auslegung kann die vordere Fläche „Vorne“ auf einer x-Ebene mit x=1 liegen, kann die hintere Fläche „Hinten“ auf einer x-Ebene mit x=-1 liegen, kann die obere Fläche „Oben“ auf einer y-Ebene mit y=1 liegen, kann die untere Fläche „Unten“ auf einer y-Ebene mit y=-1 liegen, kann die rechte Fläche „Rechts“ auf einer z-Ebene mit z=1 liegen und kann die linke Fläche „Links“ auf einer z-Ebene mit z=-1 liegen. - Eine Vorwärts-Transformation wird verwendet, um von dem 3D-Raum (x, y, z) zu der 2D-Ebene (u, v) zu transformieren. Daher werden die obere Fläche „Oben“, die untere Fläche „Unten“, die linke Fläche „Links“, die vordere Fläche „Vorne“, die rechte Fläche „Rechts“ und die hintere Fläche „Hinten“ des Würfels 201 in dem 3D-Raum in eine obere Fläche (gekennzeichnet durch „2“), eine untere Fläche (gekennzeichnet durch „3“), eine linke Fläche (gekennzeichnet durch „5“), eine vordere Fläche (gekennzeichnet durch „0“), eine rechte Fläche (gekennzeichnet durch „4“) und eine hintere Fläche (gekennzeichnet durch „1“) auf der 2D-Ebene transformiert. Jede Fläche ist auf einer 2D-Ebene definiert durch eine u-Achse und eine v-Achse und weist jeden Punkt bei (u, v) angeordnet auf.
- Eine inverse Transformation wird verwendet, um von der 2D-Ebene (u, v) zu dem 3D-Raum (x, y, z) zu transformieren. Daher werden die obere Fläche (gekennzeichnet durch „2“), die untere Fläche (gekennzeichnet durch „3“), die linke Fläche (gekennzeichnet durch „5“), die vordere Fläche (gekennzeichnet durch „0“), die rechte Fläche (gekennzeichnet durch „4“) und die hintere Fläche (gekennzeichnet durch „1“) auf der 2D-Ebene in die obere Fläche „Oben“, die untere Fläche „Unten“, die linke Fläche „Links“, die vordere Fläche „Vorne“, die rechte Fläche „Rechts“ und die hintere Fläche „Hinten“ des Würfels 201 in dem 3D-Raum transformiert.
- Die inverse Transformation kann durch die Konvertierungsschaltung 114 der Quellenelektronikvorrichtung 102 zum Generieren der oberen Fläche „2“, der unteren Fläche „3“, der linken Fläche „5“, der vorderen Fläche „0“, der rechten Fläche „4“ und der hinteren Fläche „1“ eingesetzt werden. Die obere Fläche „2“, die untere Fläche „3“, die linke Fläche „5“, die vordere Fläche „0“, die rechte Fläche „4“ und die hintere Fläche „1“ auf der 2D-Ebene, werden gepackt, um den projektionsbasierten Rahmen IMG zu bilden, der durch den Videocodierer 116 zu codieren ist.
- Der Videodecodierer 122 empfängt den Bitstrom BS von der Übertragungseinrichtung 103 und decodiert einen Teil des empfangenen Bitstroms BS, um den decodierten Rahmen IMG' zu generieren, welcher die gleiche Projektionsanordnung L_VR aufweist, die auf der Codiererseite eingesetzt wird. Hinsichtlich der Konvertierungsschaltung 125 der Zielelektronikvorrichtung 104 wird eine Vorwärts-Transformation verwendet, um von dem 3D-Raum (x, y, z) zu der 2D-Ebene (u, v) zu transformieren, um Pixelwerte von Pixeln in jeder der oberen Fläche „Oben“, der unteren Fläche „Unten“, der linken Fläche „Links“, der vorderen Fläche „Vorne“, der rechten Fläche „Rechts“ und der hinteren Fläche „Hinten“ zu bestimmen. Oder die inverse Transformation wird verwendet, um von dem 2D-Raum (u, v) zu der 3D-Ebene (x, y, z) zu transformieren, um die Sampleorte eines projektionsbasierten Rahmens wieder zu der Kugel abzubilden.
- Wie vorstehend erwähnt, werden die obere Fläche „2“, die untere Fläche „3“, die linke Fläche „5“, die vordere Fläche „0“, die rechte Fläche „4“ und die hintere Fläche „1“ gepackt, um den projektionsbasierten Rahmen IMG zu bilden. Zum Beispiel kann die Konvertierungsschaltung 114 eine Packart auswählen, sodass der projektionsbasierte Rahmen IMG projizierte Bilddaten aufweisen kann, die in der würfelbasierten Projektionsanordnung 202 angeordnet sind. Als ein anderes Beispiel kann die Konvertierungsschaltung 114 eine andere Packart auswählen, sodass der projektionsbasierte Rahmen IMG projizierte Bilddaten aufweisen kann, die in der würfelbasierten Projektionsanordnung 204, welche zu der würfelbasierten Projektionsanordnung 202 verschieden ist, angeordnet sind.
- In einer anderen Ausführungsform kann eine würfelbasierte Projektion mit fünf Projektionsflächen (welche eine ganze Fläche und vier halbe Flächen umfassen), die ein 180°x180°-Rundum-Video (d.h., einen Teil eines 360-Grad-Inhalts einer Kugel) repräsentieren, eingesetzt werden. Hinsichtlich der Konvertierungsschaltung 114 der Quellenelektronikvorrichtung 102 wird eine würfelbasierte Projektion eingesetzt, um eine ganze Fläche und vier halbe Flächen eines Würfels in einem 3D-Raum zu generieren.
3 ist ein Diagramm, das eine andere würfelbasierte Projektion gemäß einer Ausführungsform der vorliegenden Erfindung darstellt. Nur eine Hälfte des 360-Grad-Inhalts auf der Kugel 200 wird auf Flächen eines Würfels 201 projiziert, der eine obere halbe Fläche (gekennzeichnet durch „Oben_H“), eine untere halbe Fläche (gekennzeichnet durch „Unten_H“), eine linke halbe Fläche (gekennzeichnet durch „Links_H“), eine vordere ganze Fläche (gekennzeichnet durch „Vorne“) und eine rechte halbe Fläche (gekennzeichnet durch „Rechts_H“) aufweist, In diesem Beispiel wird ein Halbkugel-Würfel (z. B. eine Hälfte des Würfels 201) für eine Halbkugel-Würfelabbildungsprojektion verwendet, wobei eine Halbkugel (z. B. eine Hälfte der Kugel 200) in den Halbkugel-Würfel (z. B. eine Hälfte des Würfels 201) einbeschrieben wird. Wie in3 gezeigt, wird ein Bildinhalt einer Hälfte eines Nordpolarbereichs der Kugel 200 auf die obere halbe Fläche „Oben_H“ projiziert, wird ein Bildinhalt einer Hälfte eines Südpolarbereichs der Kugel 200 auf die untere halbe Fläche „Unten_H“ projiziert und wird ein Bildinhalt einer Hälfte eines Äquatorialbereichs der Kugel 200 auf die linke halbe Fläche „Links_H“, die vordere ganze Fläche „Vorne“ und die rechte halbe Fläche „Rechts_H“ projiziert. - In dem 3D-Raum, der durch eine x-Achse, eine y-Achse und eine z-Achse definiert ist, befindet sich jeder Punkt auf den fünf projizierten Flächen bei (x, y, z), wobei x,y,z ∈ [-1,1]. In diesem in
3 gezeigten Beispiel liegt die vordere ganze Fläche „Vorne“ auf einer x-Ebene mit x=1, liegt die obere halbe Fläche „Oben_H“ auf einer z-Ebene mit z=1, liegt die untere halbe Fläche „Unten_H“ auf einer z-Ebene mit z=-1, liegt die linke halbe Fläche „Links_H“ auf einer y-Ebene mit y=1 und liegt die rechte halbe Fläche „Rechts_H“ auf einer y-Ebene mit y=-1. In einer alternativen Auslegung kann die vordere ganze Fläche „Vorne“ auf einer x-Ebene mit x=1 liegen, kann die obere halbe Fläche „Oben_H“ auf einer y-Ebene mit y=1 liegen, kann die untere halbe Fläche „Unten_H“ auf einer y-Ebene mit y=-1 liegen, kann die rechte halbe Fläche „Rechts_H“ auf einer z-Ebene mit z=1 liegen und kann die linke halbe Fläche „Links_H“ auf einer z-Ebene mit z=-1 liegen. - Eine Vorwärtstransformation wird verwendet, um von dem 3D-Raum (x, y, z) zu der 2D-Ebene (u, v) zu transformieren. Daher werden die obere halbe Fläche „Oben_H“, die untere halbe Fläche „Unten_H“, die linke halbe Fläche „Links_H“, die vordere ganze Fläche „Vorne“ und die rechte halbe Fläche „Rechts_H“ des Würfels 201 in dem 3D-Raum in eine obere halbe Fläche (gekennzeichnet durch „2“), eine untere halbe Fläche (gekennzeichnet durch „3“), eine linke halbe Fläche (gekennzeichnet durch „5“), eine vordere ganze Fläche (gekennzeichnet durch „0“) und eine rechte halbe Fläche (genkennzeichnet durch „4“) auf der 2D-Ebene transformiert. Jede Fläche ist auf einer 2D-Ebene durch eine u-Achse und eine v-Achse definiert und weist jeden Punkt bei (u, v) angeordnet auf. Zusätzlich ist eine Größe der vorderen ganzen Fläche (gekennzeichnet durch „0“) zweimal so groß wie eine Größe jeder der oberen halben Fläche (gekennzeichnet durch „2“), der unteren halben Fläche (gekennzeichnet durch „3“), der linken halben Fläche (gekennzeichnet durch „5“) und der rechten halben Fläche (gekennzeichnet durch „4“).
- Eine inverse Transformation wird verwendet, um von der 2D-Ebene (u, v) zu dem 3D-Raum (x, y, z) zu transformieren. Daher werden die obere halbe Fläche (gekennzeichnet durch „2“), die untere halbe Fläche (gekennzeichnet durch „3“), die linke halbe Fläche (gekennzeichnet durch „5“), die vordere ganze Fläche (gekennzeichnet durch „0“) und die rechte halbe Fläche (gekennzeichnet durch „4“) auf der 2D-Ebene in die obere halbe Fläche „Oben_H“, die untere halbe Fläche „Unten_H“, die linke halbe Fläche „Links_H“, die vordere ganze Fläche „Vorne“ und die rechte halbe Fläche „Rechts_H“ des Würfels 201 in dem 3D-Raum transformiert.
- Die inverse Transformation kann durch die Konvertierungsschaltung 114 der Quellenelektronikvorrichtung 102 zum Generieren der oberen halben Fläche „2“, der unteren halben Fläche „3“, der linken halben Fläche „5“, der vorderen ganzen Fläche „0“ und der rechten halben Fläche „4“ eingesetzt werden. Die obere halbe Fläche „2“, die untere halbe Fläche „3“, die linke halbe Fläche „5“, die vordere ganze Fläche „0“ und die rechte halbe Fläche „4“ auf der 2D-Ebene werden gepackt, um den projektionsbasierten Rahmen IMG zu bilden, der durch den Videocodierer 116 zu codieren ist.
- Der Videodecodierer 122 empfängt den Bitstrom BS von der Übertragungseinrichtung 103 und decodiert einen Teil des empfangenen Bitstroms BS, um den decodierten Rahmen IMG' zu generieren, welcher die gleiche Projektionsanordnung L_VR aufweist, die auf der Codiererseite eingesetzt wird. Hinsichtlich der Konvertierungsschaltung 125 der Zielelektronikvorrichtung 104 wird eine Vorwärts-Transformation verwendet, um von dem 3D-Raum (x, y, z) zu der 2D-Ebene (u, v) zu transformieren, um Pixelwerte von Pixeln in jeder der oberen halben Fläche „Oben_H“, der unteren halben Fläche „Unten_H“, der linken halben Fläche „Links_H“, der vorderen ganzen Fläche „Vorne“ und der rechten halben Fläche „Rechts_H“ zu bestimmen. Oder die inverse Transformation wird verwendet, um von dem 2D-Raum (u, v) zu der 3D-Ebene (x, y, z) zu transformieren, um die Sampleorte eines projektionsbasierten Rahmens wieder auf die Kugel abzubilden.
- Wie vorstehend erwähnt, werden die obere halbe Fläche „2“, die untere halbe Fläche „3“, die linke halbe Fläche „5“, die vordere ganze Fläche „0“ und die rechte halbe Fläche „4“ gepackt, um den projektionsbasierten Rahmen IMG zu bilden. Zum Beispiel kann die Konvertierungsschaltung 114 eine Packart auswählen, sodass der projektionsbasierte Rahmen IMG projizierte Bilddaten aufweisen kann, die in der würfelbasierten Projektionsanordnung 302 angeordnet sind. Als ein anderes Beispiel kann die Konvertierungsschaltung 114 eine andere Packart auswählen, sodass der projektionsbasierte Rahmen IMG projizierte Bilddaten aufweisen kann, die in der würfelbasierten Projektionsanordnung 304, welche zu der würfelbasierten Projektionsanordnung 302 verschieden ist, angeordnet sind. In dieser Ausführungsform wird die vordere Fläche als die ganze Fläche ausgewählt, welche in der würfelbasierten Projektionsanordnung 302/304 gepackt ist. In der Praxis kann die ganze Fläche, die in der würfelbasierten Projektionsanordnung 302/304 gepackt ist, eine der oberen Fläche, der unteren Fläche, der vorderen Fläche, der hinteren Fläche, der linken Fläche und der rechten Fläche sein, und die vier halben Flächen, die in der würfelbasierten Projektionsanordnung 302/304 gepackt sind, hängen von der Auswahl der ganzen Fläche ab.
- Hinsichtlich der in
2 gezeigten Ausführungsform werden Projektionsflächen in einer regulären CMP-Anordnung ohne Guard-Bands (oder Auffüllung) 202/204 gepackt. Hinsichtlich der in3 gezeigten Ausführungsform werden Projektionsflächen in einer Halbkugel-CMP-Anordnung ohne Guard-Bands (oder Auffüllung) 302/304 gepackt. Der projektionsbasierte Rahmen IMG kann jedoch nach einem Codieren aufgrund von diskontinuierlichen Anordnungsgrenzen der CMP-Anordnung (welche eine reguläre CMP-Anordnung oder eine Halbkugel-CMP-Anordnung sein kann) und/oder diskontinuierlichen Kanten der CMP-Anordnung (welche eine reguläre CMP-Anordnung oder eine Halbkugel-CMP-Anordnung sein kann) Artefakte aufweisen. Zum Beispiel weist die CMP-Anordnung ohne Guard-Bands (oder Auffüllung) eine obere diskontinuierliche Anordnungsgrenze, eine untere diskontinuierliche Anordnungsgrenze, eine linke diskontinuierliche Anordnungsgrenze und eine rechte diskontinuierliche Anordnungsgrenze auf. Zusätzlich gibt es mindestens eine diskontinuierliche Bildinhaltskante zwischen zwei benachbarten Projektionsflächen, die in der CMP-Anordnung ohne Guard-Bands (oder Auffüllung) gepackt sind. Die würfelbasierte Projektionsanordnung 202/204 als Beispiel nehmend existiert eine diskontinuierliche Kante zwischen einer Flächengrenze der unteren Fläche „3“ und einer Flächengrenze der linken Fläche „5“, existiert eine diskontinuierliche Kante zwischen einer Flächengrenze der hinteren Fläche „1“ und einer Flächengrenze der vorderen Fläche „0“ und existiert eine diskontinuierliche Kante zwischen einer Flächengrenze der oberen Fläche „2“ und einer Flächengrenze der rechten Fläche „4“. Die würfelbasierte Projektionsanordnung 302/304 als Beispiel nehmend existiert eine diskontinuierliche Kante zwischen einer Flächengrenze der unteren Fläche „3“ und einer Flächengrenze der linken Fläche „5“ und existiert eine diskontinuierliche Kante zwischen einer Flächengrenze der rechten Fläche „4“ und einer Flächengrenze der oberen Fläche „2“. - Um dieses Problem zu adressieren, kann die 360-VR-Projektionsanordnung L_VR durch eine würfelbasierte Projektionsanordnung mit Guard-Bands (oder Auffüllung) festgelegt werden. Zum Beispiel können um Anordnungsgrenzen und/oder diskontinuierliche Kanten herum zusätzliche Guard-Bands, die zum Beispiel durch eine Pixelauffüllung generiert werden, zum Reduzieren der Nahtartefakte eingefügt werden. Alternativ können um Anordnungsgrenzen und/oder kontinuierliche Kanten herum zusätzliche Guard-Bands, die zum Beispiel durch eine Pixelauffüllung generiert werden, eingefügt werden.
- In dieser Ausführungsform bestimmt die Konvertierungsschaltung 114 eine Guard-Band-Konfiguration des projektionsbasierten Rahmens IMG, welcher aus Projektionsflächen besteht, die von einer würfelbasierten Projektion (z. B. der in
2 gezeigten regulären Würfelabbildungsprojektion oder der in3 gezeigten Halbkugel-Würfelabbildungsprojektion) hergeleitet werden, und der Videocodierer 116 signalisiert (ein) Syntaxelement(e) SE, das (die) mit der Guard-Band-Konfiguration des projektionsbasierten Rahmens IMG verknüpft ist (sind), über den Bitstrom BS. Daher kann der Videodecodierer 122 das (die) Syntaxelement(e) SE, das (die) mit der Guard-Band-Konfiguration verknüpft ist (sind), von dem Bitstrom BS analysieren. - Für ein besseres Verständnis der technischen Merkmale der vorliegenden Erfindung wird ein beispielhaftes Syntaxsignalisierungsverfahren wie folgt beschrieben. Der Videocodierer 116 kann das vorgeschlagene Syntaxsignalisierungsverfahren einsetzen, um (ein) Syntaxelement(e) SE zu signalisieren, das (die) Konfigurationsinformationen von Guard-Bands anzeigt, die durch die Konvertierungsschaltung 114 hinzugefügt werden, und der Videodecodierer 122 kann (ein) Syntaxelement(e) SE' analysieren, das (die) durch ein vorgeschlagenes Syntaxsignalisierungsverfahren, das von dem Videocodierer 116 eingesetzt wird, signalisiert wird (werden), und kann der Graphikwiedergabeschaltung 124 (insbesondere der Konvertierungsschaltung 125) das (die) analysierte(n) Syntaxelement(e) SE' zur Verfügung stellen, sodass die Graphikwiedergabeschaltung 124 (insbesondere die Konvertierungsschaltung 125) über die Konfigurationsinformationen der Guard-Bands, die durch die Konvertierungsschaltung 114 hinzugefügt werden, informiert ist. Auf diese Weise kann, wenn ein Bildinhalt eines Viewport-Bereichs, der durch einen Anwender ausgewählt wird, bestimmt wird, sich die Konvertierungsschaltung 125 auf die Konfigurationsinformationen der Guard-Bands beziehen, um eine Transformation korrekt auszuführen. Idealerweise ist (sind) das (die) Syntaxelement(e) SE, das (die) durch den Videocodierer 116 in den Bitstrom BS codiert wird (werden), das gleiche (die gleichen) wie das (die) Syntaxelement(e) SE', das (die) durch den Videodecodierer 122 von dem Bitstrom BS analysiert wird (werden).
- Es sollte beachtet werden, dass die Deskriptoren in den nachfolgenden beispielhaften Syntaxtabellen den Analyseprozess jedes Syntaxelements spezifizieren. Zum Beispiel könnten die Syntaxelemente durch eine Festlängencodierung (z. B. u(n)) codiert werden. Den Deskriptor u(n) als Beispiel nehmend beschreibt er eine vorzeichenlose ganze Zahl, die n Bits verwendet. Dies dient jedoch nur darstellenden Zwecken und ist nicht gedacht, eine Einschränkung der vorliegenden Erfindung zu sein. In der Praxis können die Syntaxelemente durch eine Festlängencodierung (z. B. f(n), i(n) oder u(n)) und/oder variable-Länge-Codierung (z. B. ce(v), se(v) oder ue(v)) codiert werden. Der Deskriptor f(n) bedeutet eine Bitfolge einer festen Struktur unter Verwendung von n Bits, geschrieben (von links nach rechts) mit dem linken Bit zuerst. Der Deskriptor i(n) bedeutet eine vorzeichenbehaftete ganze Zahl unter Verwendung von n Bits. Der Deskriptor u(n) bedeutet eine vorzeichenlose ganze Zahl unter Verwendung von n Bits. Der Deskriptor ce(v) bedeutet ein kontextadaptives entropiecodiertes Syntaxelement variabler Länge mit dem linken Bit zuerst. Der Deskriptor se(v) bedeutet ein vorzeichenbehaftetes ganzzahliges Exp-Golomb-codiertes Syntaxelement mit dem linken Bit zuerst. Das Syntaxelement ue(v) bedeutet ein vorzeichenloses ganzzahliges Exp-Golomb-codiertes Syntaxelement mit dem linken Bit zuerst.
-
- Das Syntaxelement gcmp_guard_band_flag ist ausgelegt, anzuzeigen, ob ein projektionsbasierter Rahmen (z. B. IMG oder IMG') mindestens ein Guard-Band aufweist. Wenn das Syntaxelement gcmp_guard_band_flag gleich 0 ist, zeigt es an, dass das codierte Bild keine Guard-Band-Bereiche aufweist. Wenn das Syntaxelement gcmp_guard_band_flag gleich 1 ist, zeigt es an, dass das codierte Bild (einen) Guard-BandBereich(e) aufweist, für welchen (welche) die Größe(n) durch das Syntaxelement gcmp_guard_band_samples_minus1 spezifiziert wird (werden).
- Das Syntaxelement gcmp_guard_band_boundary_exterior_flag ist ausgelegt, anzuzeigen, ob mindestens ein Guard-Band, das in dem projektionsbasierten Rahmen (z. B. IMG oder IMG') gepackt ist, Guard-Bands aufweist, welche als Grenzen für die würfelbasierte Projektionsanordnung dienen.
- Das Syntaxelement gcmp_guard_band_samples_minus1 ist ausgelegt, eine Größeninformation jedes Guard-Bands bereitzustellen, das in dem projektionsbasierten Rahmen (z. B. IMG oder IMG') gepackt ist. Zum Beispiel spezifiziert gcmp_guard_band_samples_minus1 plus 1 die Anzahl von Guard-Band-Samples in Einheiten von Luminanz-Samples, die in dem würfelabbildungsprojizierten Bild verwendet werden. Wenn der Parameter ChromaFormatldc gleich 1 (4:2:0-Chrominanzformat) oder 2 (4:2:2-Chrominanzformat) ist, soll gcmp_guard_band_samples_minus1 plus 1 zu einer geraden Anzahl von Luminanz-Samples korrespondieren. Das heißt, wenn das 4:2:0-Chrominanzformat oder das 4:2:2-Chrominanzformat verwendet wird, soll gcmp_guard_band_samples_minus1 plus 1 zu einer geraden Anzahl von Luminanz-Samples korrespondieren.
-
4-6 sind Diagramme, die eine Spezifikation einer Kombination zweier Syntaxelemente gcmp_packing_type und gcmp_guard_band_boundary_exterior_flag gemäß einer Ausführungsform der vorliegenden Erfindung darstellen. In diesem Beispiel spezifiziert das Syntaxelement gcmp_packing_type eine Packart einer Packung von Projektionsflächen in einer würfelbasierten Projektionsanordnung und spezifiziert weiter eine vordefinierte Anordnung von Positionsindizes, die Flächenpositionen innerhalb der ausgewählten Packart zugewiesen sind. Wenn der Wert von gcmp_packing_type in dem Bereich von einschließlich 0 bis 3 liegt, wird eine reguläre Würfelabbildungspackung mit sechs Flächen verwendet, wobei jede Packart mit sechs Flächenpositionen verknüpft ist, denen jeweils Positionsindizes {0, 1, 2, 3, 4, 5} zugewiesen sind. Wenn gcmp_packing_type 4 oder 5 ist, wird eine Halbkugel-Würfelabbildungspackung mit einer ganzen Fläche und vier halben Flächen verwendet, wobei jede Packart mit fünf Flächenpositionen verknüpft ist, denen jeweils Positionsindizes {0, 1, 2, 3, 4} zugewiesen sind. Der Wert von gcmp_packing_type soll in dem Bereich von einschließlich 0 bis 5 liegen. Andere Werte für gcmp_packing_type sind für eine zukünftige Verwendung reserviert. Weiterhin kann ein Syntaxelement gcmp_face_index[i] (nicht gezeigt) einen Flächenindex für einen Positionsindex i innerhalb einer Packart, die durch das Syntaxelement gcmp_packing_type spezifiziert wird, spezifizieren. - Die reguläre Würfelabbildungsprojektion als Beispiel nehmend kann der vorderen Fläche ein Flächenindex gcmp_face_index[i] == 0 zugeordnet sein, kann der hinteren Fläche ein Flächenindex gcmp_face_index[i] == 1 zugeordnet sein, kann der oberen Fläche ein Flächenindex gcmp_face_index[i] == 2 zugeordnet sein, kann der unteren Fläche ein Flächenindex gcmp_face_index[i] == 3 zugeordnet sein, kann der rechten Fläche ein Flächenindex gcmp_face_index[i] == 4 zugeordnet sein und kann der linken Fläche ein Flächenindex gcmp_face_index[i] == 5 zugeordnet sein. Wenn das Syntaxelement gcmp_packing_type durch 0, 1, 2 oder 3 festgelegt ist, spezifiziert das Syntaxelement gcmp_face_index[i] einen Flächenindex einer Projektionsfläche (z. B. der vorderen Fläche „0“, der hinteren Fläche „1“, der oberen Fläche „2“, der unteren Fläche „3“, der rechten Fläche „4“ oder der linken Fläche „5“, die in
2 gezeigt sind), wobei die Projektionsfläche mit dem Flächenindex, der durch das Syntaxelement gcmp_face_index[i] spezifiziert wird, an einer Flächenposition mit dem Positionsindex i innerhalb der ausgewählten Packart gepackt ist. - Die Halbkugel-Würfelabbildungsprojektion als Beispiel nehmend kann der vorderen ganzen Fläche ein Flächenindex gcmp_face_index[i] == 0 zugeordnet sein, kann der oberen halben Fläche ein Flächenindex gcmp_face_index[i] == 2 zugeordnet sein, kann der unteren halben Fläche ein Flächenindex gcmp_face_index[i] == 3 zugeordnet sein, kann der rechten halben Fläche ein Flächenindex gcmp_face_index[i] == 4 zugeordnet sein und kann der linken halben Fläche ein Flächenindex gcmp_face_index[i] == 5 zugeordnet sein. Wenn das Syntaxelement gcmp_packing_type durch 4 oder 5 festgelegt ist, spezifiziert das Syntaxelement gcmp_face_index[i] (nicht gezeigt) einen Flächenindex einer Projektionsfläche (z. B. der vorderen Fläche „0“, der hinteren Fläche „1“, der oberen Fläche „2“, der unteren Fläche „3“, der rechten Fläche „4“ oder der linken Fläche „5“, die in
3 gezeigt sind), wobei die Projektionsfläche mit dem Flächenindex, der durch das Syntaxelement gcmp_face_index[i] spezifiziert wird, an einer Flächenposition mit dem Positionsindex i innerhalb der ausgewählten Packart gepackt ist. - Da sich die vorliegende Erfindung auf die Guard-Band-Syntaxsignalisierung konzentriert, wird eine weitere Beschreibung einer Packung von Projektionsflächen, die von einer würfelbasierten Projektion hergeleitet werden, hier der Kürze wegen weggelassen.
- Wie in
4 gezeigt, wird, wenn das Syntaxelement gcmp_packing_type durch 0 festgelegt ist und das Syntaxelement gcmp_guard_band_boundary_exterior_flag durch 0 festgelegt ist, unter einer Bedingung, dass das Syntaxelement gcmp_guard_band_flag durch 1 festgelegt ist, ein erstes Guard-Band zu einer unteren Flächengrenze einer ersten Projektionsfläche hinzugefügt, die an einer Flächenposition mit dem Positionsindex i=2 gepackt ist, und ein zweites Guard-Band wird zu einer oberen Flächengrenze einer zweiten Projektionsfläche hinzugefügt, die an einer Flächenposition mit dem Positionsindex i=3 gepackt ist, wobei das erste Guard-Band und das zweite Guard-Band die gleiche Guard-Band-Größe D aufweisen, wie durch gcmp_guard_band_samples_minus1 plus 1 spezifiziert. Wenn die untere Flächengrenze der ersten Projektionsfläche direkt die obere Flächengrenze der zweiten Projektionsfläche berührt, existiert eine Kante (z. B. eine diskontinuierliche Kante oder eine kontinuierliche Kante) zwischen der ersten Projektionsfläche und der zweiten Projektionsfläche. Guard-Bands können zu der Kante zwischen der ersten Projektionsfläche und der zweiten Projektionsfläche hinzugefügt werden. Zum Beispiel kann hinsichtlich eines Würfels in einem 3D-Raum die untere Flächengrenze der ersten Projektionsfläche (welche eine quadratische Fläche des Würfels ist) mit der oberen Flächengrenze der zweiten Projektionsfläche (welche eine andere quadratische Fläche des Würfels ist) verbunden sein oder nicht verbunden sein; und hinsichtlich einer würfelbasierten Projektionsanordnung auf einer 2D-Ebene ist die untere Flächengrenze der ersten Projektionsfläche parallel zu der oberen Flächengrenze der zweiten Projektionsfläche, und das erste Guard-Band und das zweite Guard-Band liegen beide zwischen der ersten Projektionsfläche und der zweiten Projektionsfläche zum Isolieren der unteren Flächengrenze der ersten Projektionsfläche von der oberen Flächengrenze der zweiten Projektionsfläche, wobei das erste Guard-Band die untere Flächengrenze der ersten Projektionsfläche und das zweite Guard-Band berührt, und das zweite Guard-Band das erste Guard-Band und die obere Flächengrenze der zweiten Projektionsfläche berührt. Daher ist die Breite eines Guard-Band-Bereichs (welcher aus dem ersten Guard-Band und dem zweiten Guard-Band besteht), der zwischen der ersten Projektionsfläche (welche an der Flächenposition mit dem Positionsindex i=2 gepackt ist) und der zweiten Projektionsfläche (welche an der Flächenposition mit dem Positionsindex i=3 gepackt ist) eingefügt ist, gleich 2*D. - Wie in
4 gezeigt, wird, wenn das Syntaxelement gcmp_packing_type durch 0 festgelegt ist und das Syntaxelement gcmp_guard_band_boundary_exterior_flag durch 1 festgelegt ist, unter einer Bedingung, dass das Syntaxelement gcmp_guard_band_flag durch 1 festgelegt ist, eine erstes Guard-Band zu einer unteren Flächengrenze einer Projektionsfläche hinzugefügt, die an einer Flächenposition mit dem Positionsindex i=2 gepackt ist, ein zweites Guard-Band wird zu einer oberen Flächengrenze einer Projektionsfläche hinzugefügt, die an einer Flächenposition mit dem Positionsindex i=3 gepackt ist, ein drittes Guard-Band wird zu einer oberen Flächengrenze einer Projektionsfläche hinzugefügt, die an einer Flächenposition mit dem Positionsindex i=0 gepackt ist, ein viertes Guard-Band wird zu einer unteren Flächengrenze einer Projektionsfläche hinzugefügt, die an einer Flächenposition mit dem Positionsindex i=5 gepackt ist, ein fünftes Guard-Band wird zu linken Flächengrenzen von Projektionsflächen hinzugefügt, die an Flächenpositionen mit den Positionsindizes i=0-5 gepackt sind und ein sechstes Guard-Band wird zu rechten Flächengrenzen von Projektionsflächen hinzugefügt, die an Flächenpositionen mit den Positionsindizes i=0-5 gepackt sind, wobei das erste Guard-Band, das zweite Guard-Band, das dritte Guard-Band, das vierte Guard-Band, das fünfte Guard-Band und das sechste Guard-Band die gleiche Guard-Band-Größe D, wie durch gcmp_guard_band_samples_minus1 plus 1 spezifiziert, aufweisen. Insbesondere dienen das dritte Guard-Band, das vierte Guard-Band, das fünfte Guard-Band und das sechste Guard-Band als Grenzen der würfelbasierten Projektionsanordnung. Zusätzlich ist die Breite eines Guard-Band-Bereichs (welcher aus zwei Guard-Bands besteht), der zwischen zwei Projektionsflächen (welche an Flächenpositionen mit Positionsindizes i=2 und i=3 gepackt sind) eingefügt ist, gleich 2*D. - Da eine Person mit Kenntnissen auf dem Gebiet Details anderer Guard-Band-Konfigurationen, die in
5 und6 gezeigt sind, nach dem Lesen der vorstehenden Absätze leicht verstehen kann, wird eine weitere Beschreibung hier der Kürze wegen weggelassen. - Wie vorstehend erwähnt, ist das Syntaxelement gcmp_guard_band_samples_minus1 ausgelegt, eine Größeninformation jedes Guard-Bands bereitzustellen, das in dem projektionsbasierten Rahmen (z. B. IMG oder IMG') gepackt ist. In einigen Ausführungsformen der vorliegenden Erfindung kann sich die decodiererseitige Konvertierungsschaltung 125 auf das Syntaxelement gcmp_guard_band_samples_minus1, das von dem Bitstrom BS analysiert wird, beziehen, um eine Berechnung für bestimmte Anwendungen unter einer der Guard-Band-Konfigurationen, die in
4-6 gezeigt sind, auszuführen. - Zum Beispiel kann die Größeninformation, die durch das Syntaxelement gcmp_guard_band_samples_minus1 spezifiziert wird, in eine Berechnung einer Größe jeder der Projektionsflächen, die in der würfelbasierten Projektionsanordnung mit Guard-Bands gepackt sind, einbezogen werden. Eingaben dieses Prozesses können eine Breite pictureWidth und eine Höhe pictureHeight eines projektionsbasierten Rahmens (z. B. des decodierten Rahmens IMG') umfassen. Ausgaben dieses Prozesses können eine Breite faceWidth und eine Höhe faceHeight einer Projektionsfläche, die in dem projektionsbasierten Rahmen (z. B. dem decodierten Rahmen IMG') gepackt ist, umfassen.
- Die Ausgaben können wie folgt hergeleitet werden:
gcmpPicWidth = pictureWidth gcmpPicHeight = pictureHeight gcmpGuardBandSamples = gcmp_guard_band_samples_minus1 + 1 if (gcmp_guard_band_flag && gcmp_guard_band_boundary_exterior_flag ) { gcmpPicWidth = pictureWidth - 2 * gcmpGuardBandSamples }gcmpPicHeight = pictureHeight - 2 * gcmpGuardBandSamples } if (gcmp_packing_type = = 0) { if (gcmp_guard_band_flag) gcmpPicHeight = gcmpPicHeight - 2 * gcmpGuardBandSamples faceWidth = gcmpPicWidth faceHeight = gcmpPicHeight / 6 } else if (gcmp_packing_type = = 1) { if (gcmp_guard_band_flag) gcmpPicWidth = gcmpPicWidth - 2 * gcmpGuardBandSamples faceWidth = gcmpPicWidth / 2 faceHeight = gcmpPicHeight / 3 } else if (gcmp_packing_type = = 2) { if (gcmp_guard_band_flag) gcmpPicHeight = gcmpPicHeight - 2 * gcmpGuardBandSamples faceWidth = gcmpPicWidth / 3 faceHeight = gcmpPicHeight / 2 } else if (gcmp_packing_type = = 3) { if (gcmp_guard_band_flag) gcmpPicWidth = gcmpPicWidth - 2 * gcmpGuardBandSamples faceWidth = gcmpPicWidth / 6 faceHeight = gcmpPicHeight } else if (gcmp_packing_type = = 4) { if (gcmp_guard_band_flag) gcmpPicWidth = gcmpPicWidth - 2 * gcmpGuardBandSamples faceWidth = gcmpPicWidth / 3 faceHeight = gcmpPicHeight } else if (gcmp_packing_type = = 5) { if (gcmp_guard_band_flag) gcmpPicHeight = gcmpPicHeight - 2 * gcmpGuardBandSamples faceWidth = gcmpPicWidth faceHeight = gcmpPicHeight / 3 }
Als ein anderes Beispiel kann die Größeninformation, die durch das Syntaxelement gcmp_guard_band_samples_minus1 spezifiziert wird, in eine Konvertierung von einer Sample-Position innerhalb des decodierten Rahmens IMG' zu einem lokalen Sampleort innerhalb einer der Projektionsflächen, die in der würfelbasierten Projektionsanordnung mit Guard-Bands gepackt sind, einbezogen werden. Eingaben dieses Prozesses umfassen eine Breite faceWidth und eine Höhe faceHeight einer Projektionsfläche und können weiter einen Sampleort (hPos, vPos) des projektionsbasierten Rahmens (z. B. des decodierten Rahmens IMG') umfassen. Eine Ausgabe dieses Prozesses kann einen lokalen Sampleort (hPosFace, vPosFace) einer Projektionsfläche, die in dem projektionsbasierten Rahmen (z. B. dem decodierten Rahmen IMG') gepackt ist, umfassen.
Die Ausgabe kann wie folgt hergeleitet werden:
gbSize = gcmp_guard_band_samples_minus1 + 1 tmpHorPos = hPos tmpVerPos = vPos if (gcmp_guard_band_flag) { if (gcmp_guard_band_boundary_exterior_flag) { tmpHorPos = hPos - gbSize tmpVerPos = vPos - gbSize } if (gcmp_packing_type = = 0) tmpVerPos = tmpVerPos < 3 * faceHeight ? tmpVerPos : tmpVerPos - 2 * gbSize else if (gcmp_packing_type = = 1) tmpHorPos = tmpHorPos < faceWidth ? tmpHorPos : tmpHorPos - 2 * gbSize else if (gcmp_packing_type = = 2) tmpVerPos = tmpVerPos < faceHeight ? tmpVerPos : tmpVerPos - 2 * gbSize else if (gcmp_packing_type = = 3) tmpHorPos = tmpHorPos < 3 * faceWidth ? tmpHorPos : tmpHorPos - 2 * gbSize else if (gcmp_packing_type = = 4) tmpHorPos = tmpHorPos < faceWidth / 2 ? tmpHorPos : tmpHorPos < 2.5 * faceWidth + gbSize ? tmpHorPos - gbSize : tmpHorPos - 2 * gbSize else if (gcmp_packing_type = = 5) tmpVerPos = tmpVerPos < faceHeight / 2 ? tmpVerPos : tmpVerPos < 2.5 * faceHeight + gbSize ? tmpVerPos - gbSize : tmpVerPos - 2 * gbSize } w = Floor (tmpHorPos / faceWidth) h = Floor (tmpVerPos / faceHeight) hPosFace = tmpHorPos - w * faceWidth vPosFace = tmpVerPos - h * faceHeight
Da sich die vorliegende Erfindung auf eine Guard-Band-Syntaxsignalisierung konzentriert, wird eine weitere Beschreibung einer Packung von Projektionsflächen, die von einer würfelbasierten Projektion hergeleitet werden, hier der Kürze wegen weggelassen.
Der Hauptunterschied zwischen den in 4-6 gezeigten Guard-Band-Konfigurationen und den in 7-9 gezeigten Guard-Band-Konfigurationen ist, dass ein einzelnes Guard-Band zu einer Kante (z. B. einer diskontinuierlichen Kante oder einer kontinuierlichen Kante) zwischen zwei benachbarten Projektionsflächen eingefügt wird, die in einer würfelbasierten Projektionsanordnung mit dem Wert von gcmp_packing_type in dem Bereich von 0 bis 3 gepackt sind. Wie in 7 gezeigt, wird, wenn das Syntaxelement gcmp_packing_type durch 0 festgelegt ist und das Syntaxelement gcmp_guard_band_boundary_exterior_flag durch 0 festgelegt ist, unter einer Bedingung, dass das Syntaxelement gcmp_guard_band_flag durch 1 festgelegt ist, ein Guard-Band zwischen einer unteren Flächengrenze einer ersten Projektionsfläche, die an einer Flächenposition mit dem Positionsindex i=2 gepackt ist, und einer oberen Flächengrenze einer zweiten Projektionsfläche, die an einer Flächenposition mit dem Positionsindex i=3 gepackt ist, eingefügt, wobei das Guard-Band die Guard-Band-Größe D, wie durch gcmp_guard_band_samples_minus1 plus 1 spezifiziert, aufweist. Wenn die untere Flächengrenze der ersten Projektionsfläche die obere Flächengrenze der zweiten Projektionsfläche direkt berührt, existiert eine Kante (z. B. eine diskontinuierliche Kante oder eine kontinuierliche Kante) zwischen der ersten Projektionsfläche und der zweiten Projektionsfläche. Ein Guard-Band kann zu der Kante zwischen der ersten Projektionsfläche und der zweiten Projektionsfläche hinzugefügt werden. Zum Beispiel kann hinsichtlich eines Würfels in einem 3D-Raum die untere Flächengrenze der ersten Projektionsfläche (welche eine quadratische Fläche des Würfels ist) mit der oberen Flächengrenze der zweiten Projektionsfläche (welche eine andere quadratische Fläche des Würfels ist) verbunden sein oder nicht verbunden sein; und hinsichtlich einer würfelbasierten Projektionsanordnung auf einer 2D-Ebene ist die untere Flächengrenze der ersten Projektionsfläche parallel zu der oberen Flächengrenze der zweiten Projektionsfläche, und das Guard-Band liegt zwischen der ersten Projektionsfläche und der zweiten Projektionsfläche zum Isolieren der unteren Flächengrenze der ersten Projektionsfläche von der oberen Flächengrenze der zweiten Projektionsfläche, wobei das Guard-Band die untere Flächengrenze der ersten Projektionsfläche berührt und auch die obere Flächengrenze der zweiten Projektionsfläche berührt. Daher ist die Breite eines Guard-Band-Bereichs (welcher aus einem einzelnen Guard-Band besteht), der zwischen der ersten Projektionsfläche (welche an der Flächenposition mit dem Positionsindex i=2 gepackt ist) und der zweiten Projektionsfläche (welche an der Flächenposition mit dem Positionsindex i=3 gepackt ist) eingefügt ist, gleich D.
Wie in 7 gezeigt, wird, wenn das Syntaxelement gcmp_packing_type durch 0 festgelegt ist und das Syntaxelement gcmp_guard_band_boundary_exterior_flag durch 1 festgelegt ist, unter einer Bedingung, dass das Syntaxelement gcmp_guard_band_flag durch 1 festgelegt ist, ein erstes Guard-Band zwischen einer unteren Flächengrenze einer Projektionsfläche, die an einer Flächenposition mit dem Positionsindex i=2 gepackt ist, und einer oberen Flächengrenze einer Projektionsfläche, die an einer Flächenposition mit dem Positionsindex i=3 gepackt ist, hinzugefügt, wird ein zweites Guard-Band zu einer oberen Flächengrenze einer Projektionsfläche, die an einer Flächenposition mit dem Positionsindex i=0 gepackt ist, hinzugefügt, wird ein drittes Guard-Band zu einer unteren Flächengrenze einer Projektionsfläche, die an einer Flächenposition mit dem Positionsindex i=5 gepackt ist, hinzugefügt, wird ein viertes Guard-Band zu linken Flächengrenzen von Projektionsflächen, die an Flächenpositionen mit den Positionsindizes i=0-5 gepackt sind, hinzugefügt und wird ein fünftes Guard-Band zu rechten Flächengrenzen von Projektionsflächen, die an Flächenpositionen mit den Positionsindizes i=0-5 gepackt sind, hinzugefügt, wobei das erste Guard-Band, das zweite Guard-Band, das dritte Guard-Band, das vierte Guard-Band und das fünfte Guard-Band die gleiche Guard-Band-Größe D, wie durch gcmp_guard_band_samples_minus1 plus 1 spezifiziert, aufweisen. Insbesondere dienen das zweite Guard-Band, das dritte Guard-Band, das vierte Guard-Band und das fünfte Guard-Band als Grenzen der würfelbasierten Projektionsanordnung. Zusätzlich ist die Breite eines Guard-Band-Bereichs (welcher aus einem einzelnen Guard-Band besteht), der zwischen zwei Projektionsflächen (welche an der Flächenposition mit dem Positionsindex i=2 und i=3 gepackt sind) eingefügt wird, gleich D.
Da eine Person mit Kenntnissen auf dem Gebiet Details anderer Guard-Band-Konfigurationen, die in 8 und 9 gezeigt sind, nach dem Lesen der vorstehenden Absätze leicht verstehen kann, wird eine weitere Beschreibung hier der Kürze wegen weggelassen.
Wie vorstehend erwähnt, ist das Syntaxelement gcmp_guard_band_samples_minus1 ausgelegt, eine Größeninformation jedes Guard-Bands, das in dem projektionsbasierten Rahmen (z. B. IMG oder IMG') gepackt ist, bereitzustellen. In einigen Ausführungsformen der vorliegenden Erfindung kann sich die decodiererseitige Konvertierungsschaltung 125 auf das Syntaxelement gcmp_guard_band_samples_minus1, das von dem Bitstrom BS analysiert wird, beziehen, um eine Berechnung für bestimmte Anwendungen innerhalb einer der in 7-9 gezeigten Guard-Band-Konfigurationen auszuführen.
Zum Beispiel kann die Größeninformation, die durch das Syntaxelement gcmp_guard_band_samples_minus1 spezifiziert wird, in einer Berechnung einer Größe jeder der Projektionsflächen, die in der würfelbasierten Projektionsanordnung mit Guard-Bands gepackt sind, einbezogen werden. Eingaben dieses Prozesses können eine Breite pictureWidth und eine Höhe pictureHeight eines projektionsbasierten Rahmens (z. B. des decodierten Rahmens IMG') umfassen. Ausgaben dieses Prozesses können eine Breite faceWidth und eine Höhe faceHeight einer Projektionsfläche umfassen, die in dem projektionsbasierten Rahmen (z. B. dem decodierten Rahmen IMG') gepackt ist.
Die Ausgaben können wie folgt hergeleitet werden:
gcmpPicWidth = pictureWidth gcmpPicHeight = pictureHeight gcmpGuardBandSamples = gcmp_guard_band_samples_minus1 + 1 if (gcmp_guard_band_flag && gcmp_guard_band_boundary_exterior_flag) { gcmpPicWidth = pictureWidth - 2 * gcmpGuardBandSamples gcmpPicHeight = pictureHeight - 2 * gcmpGuardBandSamples } if (gcmp_packing_type = = 0) { if (gcmp_guard_band_flag) gcmpPicHeight = gcmpPicHeight - gcmpGuardBandSamples faceWidth = gcmpPicWidth faceHeight = gcmpPicHeight / 6 } else if (gcmp_packing_type = = 1) { if (gcmp_guard_band_flag) gcmpPicWidth = gcmpPicWidth - gcmpGuardBandSamples faceWidth = gcmpPicWidth / 2 faceHeight = gcmpPicHeight / 3 } else if (gcmp_packing_type = = 2) { if (gcmp_guard_band_flag) gcmpPicHeight = gcmpPicHeight - gcmpGuardBandSamples faceWidth = gcmpPicWidth / 3 faceHeight = gcmpPicHeight / 2 } else if (gcmp_packing_type = = 3) { if (gcmp_guard_band_flag) gcmpPicWidth = gcmpPicWidth - gcmpGuardBandSamples faceWidth = gcmpPicWidth / 6 faceHeight = gcmpPicHeight } else if (gcmp_packing_type = = 4) { if (gcmp_guard_band_flag) gcmpPicWidth = gcmpPicWidth - 2 * gcmpGuardBandSamples faceWidth = gcmpPicWidth / 3 faceHeight = gcmpPicHeight } else if (gcmp_packing_type = = 5) { if (gcmp_guard_band_flag) gcmpPicHeight = gcmpPicHeight - 2 * gcmpGuardBandSamples faceWidth = gcmpPicWidth faceHeight = gcmpPicHeight / 3 }
Als ein anderes Beispiel kann die Größeninformation, die durch das Syntaxelement gcmp_guard_band_samples_minus1 spezifiziert wird, in eine Konvertierung von einer Sample-Position innerhalb des decodierten Rahmens IMG' zu einem lokalen Sampleort innerhalb einer der Projektionsflächen, die in der würfelbasierten Projektionsanordnung mit Guard-Bands gepackt sind, einbezogen werden. Eingaben dieses Prozesses können eine Breite faceWidth und eine Höhe faceHeight einer Projektionsfläche umfassen, und können weiter einen Sampleort (hPos, vPos) des projektionsbasierten Rahmens (z. B. des decodierten Rahmens IMG') umfassen. Eine Ausgabe dieses Prozesses kann eine lokale Sample-Position (hPosFace, vPosFace) einer Projektionsfläche umfassen, die in dem projektionsbasierten Rahmen (z. B. dem decodierten Rahmen IMG') gepackt ist.
Die Ausgabe kann wie folgt hergeleitet werden:
gbSize = gcmp_guard_band_samples_minus1 + 1 tmpHorPos = hPos tmpVerPos = vPos if (gcmp_guard_band_flag) { if (gcmp_guard_band_boundary_exterior_flag) { tmpHorPos = hPos - gbSize tmpVerPos = vPos - gbSize } if (gcmp_packing_type = = 0) tmpVerPos = tmpVerPos < 3 * faceHeight ? tmpVerPos : tmpVerPos - gbSize else if (gcmp_packing_type = = 1) tmpHorPos = tmpHorPos < faceWidth ? tmpHorPos : tmpHorPos - gbSize else if (gcmp_packing_type = = 2) tmpVerPos = tmpVerPos < faceHeight ? tmpVerPos : tmpVerPos - gbSize else if (gcmp_packing_type = = 3) tmpHorPos = tmpHorPos < 3 * faceWidth ? tmpHorPos : tmpHorPos - gbSize else if (gcmp_packing_type = = 4) tmpHorPos = tmpHorPos < faceWidth / 2 ? tmpHorPos : tmpHorPos < 2.5 * faceWidth + gbSize ? tmpHorPos - gbSize : tmpHorPos - 2 * gbSize else if (gcmp_packing_type = = 5) tmpVerPos = tmpVerPos < faceHeight / 2 ? tmpVerPos : tmpVerPos < 2.5 * faceHeight + gbSize ? tmpVerPos - gbSize : tmpVerPos - 2 * gbSize } w = Floor (tmpHorPos / faceWidth) h = Floor (tmpVerPos / faceHeight) hPosFace = tmpHorPos - w * faceWidth vPosFace = tmpVerPos - h * faceHeight
Diejenigen mit Kenntnissen auf dem Gebiet werden leicht erkennen, dass zahlreiche Modifikationen und Veränderungen der Vorrichtung und des Verfahren vorgenommen werden können, während die Lehren der Erfindung beibehalten werden. Entsprechend sollte die vorstehende Offenbarung als nur durch die Maße und Grenzen der angehängten Ansprüche beschränkt angesehen werden.
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 Patentliteratur
- US 62/869627 [0001]
- US 62/870139 [0001]
- US 62/903056 [0001]
- US 62/954814 [0001]
Claims (20)
- Videodecodierungsverfahren, umfassend: Decodieren eines Teils eines Bitstroms, um einen decodierten Rahmen zu generieren, wobei der decodierte Rahmen ein projektionsbasierter Rahmen ist, welcher Projektionsflächen aufweist, die in einer würfelbasierten Projektionsanordnung gepackt sind, und mindestens ein Teil eines 360-Grad-Inhalts einer Kugel über eine würfelbasierte Projektion auf die Projektionsflächen abgebildet wird; und Analysieren mindestens eines Syntaxelements von dem Bitstrom, wobei das mindestens eine Syntaxelement eine Guard-Band-Konfiguration des projektionsbasierten Rahmens anzeigt.
- Videodecodierungsverfahren gemäß
Anspruch 1 , wobei die Packung der Projektionsflächen aus einer Gruppe ausgewählt wird, die aus einer Packung von regulären Würfelabbildungsprojektionsflächen und einer Packung von Halbkugel-Würfelabbildungsprojektionsflächen besteht. - Videodecodierungsverfahren gemäß
Anspruch 1 , wobei das mindestens eine Syntaxelement aufweist: ein erstes Syntaxelement, das ausgelegt ist, anzuzeigen, ob der projektionsbasierte Rahmen mindestens ein Guard-Band aufweist. - Videodecodierungsverfahren gemäß
Anspruch 3 , wobei das erste Syntaxelement festgelegt ist, anzuzeigen, dass der projektionsbasierte Rahmen das mindestens eine Guard-Band aufweist; die Projektionsflächen jeweils zu Flächen eines Objekts in einem dreidimensionalen Raum korrespondieren und eine erste Projektionsfläche und eine zweite Projektionsfläche aufweisen, wobei das Objekt ein Würfel oder ein Halbkugel-Würfel ist; das mindestens eine Guard-Band, das in der würfelbasierten Projektionsanordnung gepackt ist, ein erstes Guard-Band aufweist, wobei bezüglich der würfelbasierten Projektionsanordnung auf einer zweidimensionalen Ebene eine Flächengrenze der ersten Projektionsfläche parallel zu einer Flächengrenze der zweiten Projektionsfläche ist, und das erste Guard-Band zwischen der ersten Projektionsfläche und der zweiten Projektionsfläche liegt. - Videodecodierungsverfahren gemäß
Anspruch 4 , wobei das mindestens eine Guard-Band weiter ein zweites Guard-Band aufweist, wobei bezüglich der würfelbasierten Projektionsanordnung auf der zweidimensionalen Ebene das erste Guard-Band und das zweite Guard-Band zum Isolieren der ersten Flächengrenze der ersten Projektionsfläche von der einen Flächengrenze der zweiten Projektionsfläche beide zwischen der ersten Projektionsfläche und der zweiten Projektionsfläche liegen, das erste Guard-Band die eine Flächengrenze der ersten Projektionsfläche und das zweite Guard-Band berührt, und das zweite Guard-Band das erste Guard-Band und die eine Flächengrenze der zweiten Projektionsfläche berührt. - Videodecodierungsverfahren gemäß
Anspruch 4 , wobei bezüglich der würfelbasierten Projektionsanordnung auf der zweidimensionalen Ebene das erste Guard-Band zum Isolieren der einen Flächengrenze der ersten Projektionsfläche von der einen Flächengrenze der zweiten Projektionsfläche die eine Flächengrenze der ersten Projektionsfläche und die eine Flächengrenze der zweiten Projektionsfläche berührt. - Videodecodierungsverfahren gemäß
Anspruch 3 , wobei das erste Syntaxelement festgelegt ist, anzuzeigen, dass der projektionsbasierte Rahmen das mindestens eine Guard-Band aufweist; und das mindestens eine Syntaxelement weiter aufweist: ein zweites Syntaxelement, das ausgelegt ist, anzuzeigen, ob das mindestens eine Guard-Band, das in der würfelbasierten Projektionsanordnung gepackt ist, Guard-Bands aufweist, welche als Grenzen der würfelbasierten Projektionsanordnung dienen. - Videodecodierungsverfahren gemäß
Anspruch 3 , wobei das erste Syntaxelement festgelegt ist, anzuzeigen, dass der projektionsbasierte Rahmen das mindestens eine Guard-Band aufweist; und das mindestens eine Syntaxelement weiter aufweist: ein zweites Syntaxelement, das ausgelegt ist, eine Größeninformation jedes des mindestens einen Guard-Bands bereitzustellen. - Videodecodierungsverfahren gemäß
Anspruch 8 , wobei die Größeninformation in eine Berechnung einer Größe jeder der Projektionsflächen einbezogen wird, oder in eine Konvertierung von einer Sample-Position innerhalb des projektionsbasierten Rahmens zu einem lokalen Sampleort innerhalb einer der Projektionsflächen einbezogen wird. - Elektronikvorrichtung, aufweisend: eine Decodierungsschaltung, die eingerichtet ist, einen Teil eines Bitstroms zu decodieren, um einen decodierten Rahmen zu generieren, und mindestens ein Syntaxelement von dem Bitstrom zu analysieren; wobei der decodierte Rahmen ein projektionsbasierter Rahmen ist, welcher Projektionsflächen aufweist, die in einer würfelbasierten Projektionsanordnung gepackt sind, mindestens ein Teil eines 360-Grad-Inhalts einer Kugel über eine würfelbasierte Projektion auf die Projektionsflächen abgebildet wird, und das mindestens eine Syntaxelement eine Guard-Band-Konfiguration des projektionsbasierten Rahmens anzeigt.
- Elektronikvorrichtung gemäß
Anspruch 10 , wobei die Packung der Projektionsflächen aus einer Gruppe ausgewählt wird, die aus einer Packung von regulären Würfelabbildungsprojektionsflächen und einer Packung von Halbkugel-Würfelabbildungsprojektionsflächen besteht. - Elektronikvorrichtung gemäß
Anspruch 10 , wobei das mindestens eine Syntaxelement aufweist: ein erstes Syntaxelement, das ausgelegt ist, anzuzeigen, ob der projektionsbasierte Rahmen mindestens ein Guard-Band aufweist. - Elektronikvorrichtung gemäß
Anspruch 12 , wobei das erste Syntaxelement festgelegt ist, anzuzeigen, dass der projektionsbasierte Rahmen das mindestens eine Guard-Band aufweist; die Projektionsflächen jeweils zu Flächen eines Objekts in einem dreidimensionalen Raum korrespondieren und eine erste Projektionsfläche und eine zweite Projektionsfläche aufweisen, wobei das Objekt ein Würfel oder ein Halbkugel-Würfel ist; das mindestens eine Guard-Band, das in der würfelbasierten Projektionsanordnung gepackt ist, ein erstes Guard-Band aufweist, wobei bezüglich der würfelbasierten Projektionsanordnung auf einer zweidimensionalen Ebene eine Flächengrenze der ersten Projektionsfläche parallel zu einer Flächengrenze der zweiten Projektionsfläche ist, und das erste Guard-Band zwischen der einen Flächengrenze der ersten Projektionsfläche und der einen Flächengrenze der zweiten Projektionsfläche liegt. - Elektronikvorrichtung gemäß
Anspruch 13 , wobei das mindestens eine Guard-Band weiter ein zweites Guard-Band aufweist, wobei bezüglich der würfelbasierten Projektionsanordnung auf der zweidimensionalen Ebene das erste Guard-Band und das zweite Guard-Band zum Isolieren der ersten Flächengrenze der ersten Projektionsfläche von der einen Flächengrenze der zweiten Projektionsfläche beide zwischen der ersten Projektionsfläche und der zweiten Projektionsfläche liegen, das erste Guard-Band die eine Flächengrenze der ersten Projektionsfläche und das zweite Guard-Band berührt, und das zweite Guard-Band das erste Guard-Band und die eine Flächengrenze der zweiten Projektionsfläche berührt. - Elektronikvorrichtung gemäß
Anspruch 13 , wobei bezüglich der würfelbasierten Projektionsanordnung auf der zweidimensionalen Ebene das erste Guard-Band zum Isolieren der einen Flächengrenze der ersten Projektionsfläche von der einen Flächengrenze der zweiten Projektionsfläche die eine Flächengrenze der ersten Projektionsfläche und die eine Flächengrenze der zweiten Projektionsfläche berührt. - Elektronikvorrichtung gemäß
Anspruch 12 , wobei das erste Syntaxelement festgelegt ist, anzuzeigen, dass der projektionsbasierte Rahmen das mindestens eine Guard-Band aufweist; und das mindestens eine Syntaxelement weiter aufweist: ein zweites Syntaxelement, das ausgelegt ist, anzuzeigen, ob das mindestens eine Guard-Band, das in der würfelbasierten Projektionsanordnung gepackt ist, Guard-Bands aufweist, welche als Grenzen der würfelbasierten Projektionsanordnung dienen. - Elektronikvorrichtung gemäß
Anspruch 12 , wobei das erste Syntaxelement festgelegt ist, anzuzeigen, dass der projektionsbasierte Rahmen das mindestens eine Guard-Band aufweist; und das mindestens eine Syntaxelement weiter aufweist: ein zweites Syntaxelement, das ausgelegt ist, eine Größeninformation jedes des mindestens einen Guard-Bands bereitzustellen. - Elektronikvorrichtung gemäß
Anspruch 17 , wobei die Größeninformation in eine Berechnung einer Größe jeder der Projektionsflächen einbezogen wird, oder in eine Konvertierung von einer Sample-Position innerhalb des projektionsbasierten Rahmens zu einem lokalen Sampleort innerhalb einer der Projektionsflächen einbezogen wird. - Videocodierungsverfahren, umfassend: Codieren eines projektionsbasierten Rahmens, um einen Teil eines Bitstroms zu generieren, wobei mindestens ein Teil eines 360-Grad-Inhalts einer Kugel über eine würfelbasierte Projektion auf Projektionsflächen abgebildet wird und der projektionsbasierte Rahmen die Projektionsflächen aufweist, die in einer würfelbasierten Projektionsanordnung gepackt sind; und Signalisieren mindestens eines Syntaxelements über den Bitstrom, wobei das mindestens eine Syntaxelement eine Guard-Band-Konfiguration des projektionsbasierten Rahmens anzeigt.
- Videocodierungsverfahren gemäß
Anspruch 19 , wobei das mindestens eine Syntaxelement aufweist: ein erstes Syntaxelement, das ausgelegt ist, anzuzeigen, ob der projektionsbasierte Rahmen mindestens ein Guard-Band aufweist.
Applications Claiming Priority (11)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962869627P | 2019-07-02 | 2019-07-02 | |
US62/869,627 | 2019-07-02 | ||
US201962870139P | 2019-07-03 | 2019-07-03 | |
US62/870,139 | 2019-07-03 | ||
US201962903056P | 2019-09-20 | 2019-09-20 | |
US62/903,056 | 2019-09-20 | ||
US201962954814P | 2019-12-30 | 2019-12-30 | |
US62/954,814 | 2019-12-30 | ||
US16/917,917 US11659206B2 (en) | 2019-07-02 | 2020-07-01 | Video encoding method with syntax element signaling of guard band configuration of projection-based frame and associated video decoding method and apparatus |
US16/917,917 | 2020-07-01 | ||
PCT/CN2020/099888 WO2021000907A1 (en) | 2019-07-02 | 2020-07-02 | Video encoding method with syntax element signaling of guard band configuration of projection-based frame and associated video decoding method and apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
DE112020001290T5 true DE112020001290T5 (de) | 2022-01-27 |
Family
ID=74066552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112020001290.5T Pending DE112020001290T5 (de) | 2019-07-02 | 2020-07-02 | Videocodierungsverfahren mit Syntaxelementsignalisierung einer Guard-Band-Konfiguration eines projektionsbasierten Rahmens und dazugehörige Videodecodierungsverfahren und Vorrichtungen |
Country Status (4)
Country | Link |
---|---|
US (1) | US11659206B2 (de) |
CN (1) | CN113906755A (de) |
DE (1) | DE112020001290T5 (de) |
WO (1) | WO2021000907A1 (de) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11259046B2 (en) | 2017-02-15 | 2022-02-22 | Apple Inc. | Processing of equirectangular object data to compensate for distortion by spherical projections |
US11093752B2 (en) | 2017-06-02 | 2021-08-17 | Apple Inc. | Object tracking in multi-view video |
US11190801B2 (en) | 2019-07-02 | 2021-11-30 | Mediatek Inc. | Video encoding method with syntax element signaling of mapping function employed by cube-based projection and associated video decoding method |
US11190768B2 (en) * | 2019-07-02 | 2021-11-30 | Mediatek Inc. | Video encoding method with syntax element signaling of packing of projection faces derived from cube-based projection and associated video decoding method and apparatus |
US11095912B2 (en) * | 2019-10-28 | 2021-08-17 | Mediatek Inc. | Video decoding method for decoding part of bitstream to generate projection-based frame with constrained guard band size, constrained projection face size, and/or constrained picture size |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10319071B2 (en) | 2016-03-23 | 2019-06-11 | Qualcomm Incorporated | Truncated square pyramid geometry and frame packing structure for representing virtual reality video content |
KR102277287B1 (ko) | 2016-05-26 | 2021-07-15 | 브이아이디 스케일, 인크. | 뷰포트 적응형 360도 비디오 전달의 방법 및 장치 |
EP3466075A1 (de) | 2016-05-26 | 2019-04-10 | VID SCALE, Inc. | Geometrische umsetzung für eine 360-grad-videocodierung |
US10368067B2 (en) | 2016-06-15 | 2019-07-30 | Mediatek Inc. | Method and apparatus for selective filtering of cubic-face frames |
EP3482563A1 (de) | 2016-07-08 | 2019-05-15 | VID SCALE, Inc. | 360-grad-videocodierung mit geometrischer projektion |
WO2018035133A1 (en) | 2016-08-17 | 2018-02-22 | Vid Scale, Inc. | Secondary content insertion in 360-degree video |
CN109076215A (zh) | 2016-08-23 | 2018-12-21 | 深圳市大疆创新科技有限公司 | 用于提高对弯曲视图视频进行编码/解码的效率的系统和方法 |
CN117201817A (zh) | 2016-09-02 | 2023-12-08 | Vid拓展公司 | 用于用信号通知360度视频信息的方法和系统 |
CN117176948A (zh) | 2016-10-04 | 2023-12-05 | 有限公司B1影像技术研究所 | 图像编码/解码方法、记录介质和传输比特流的方法 |
EP3472756B1 (de) | 2016-10-07 | 2024-07-24 | Mediatek Inc. | Videocodierungsverfahren und -vorrichtung mit syntaxelementsignalisierung des verwendeten projektionslayouts und zugehöriges videodecodierungsverfahren und -vorrichtung |
US10404960B2 (en) | 2016-10-10 | 2019-09-03 | Samsung Electronics Co., Ltd. | System and method to prevent boundary artifacts |
US10560678B2 (en) * | 2016-11-09 | 2020-02-11 | Mediatek Inc. | Method and apparatus having video encoding function with syntax element signaling of rotation information of content-oriented rotation applied to 360-degree image content or 360-degree video content represented in projection format and associated method and apparatus having video decoding function |
US10887572B2 (en) | 2016-11-17 | 2021-01-05 | Intel Corporation | Suggested viewport indication for panoramic video |
US20180192074A1 (en) | 2017-01-03 | 2018-07-05 | Mediatek Inc. | Video processing method for processing projection-based frame with 360-degree content represented by projection faces packed in 360-degree virtual reality projection layout |
US10560660B2 (en) | 2017-01-04 | 2020-02-11 | Intel Corporation | Rectilinear viewport extraction from a region of a wide field of view using messaging in video transmission |
US11004173B2 (en) | 2017-03-13 | 2021-05-11 | Mediatek Inc. | Method for processing projection-based frame that includes at least one projection face packed in 360-degree virtual reality projection layout |
US11277635B2 (en) | 2017-03-17 | 2022-03-15 | Vid Scale, Inc. | Predictive coding for 360-degree video based on geometry padding |
US10643301B2 (en) | 2017-03-20 | 2020-05-05 | Qualcomm Incorporated | Adaptive perturbed cube map projection |
US10593012B2 (en) | 2017-03-22 | 2020-03-17 | Mediatek Inc. | Method and apparatus for generating and encoding projection-based frame with 360-degree content represented in projection faces packed in segmented sphere projection layout |
GB2573951A (en) | 2017-04-05 | 2019-11-20 | Mediatek Inc | Method and apparatus for processing projection-based frame with at least one projection face generated using non-uniform mapping |
KR102707768B1 (ko) | 2017-05-25 | 2024-09-19 | 브이아이디 스케일, 인크. | 360도 비디오 코딩을 위한 하이브리드 큐브 맵 투사 |
EP3646593A4 (de) | 2017-06-26 | 2021-03-31 | Nokia Technologies Oy | Vorrichtung, verfahren und computerprogramm für omnidirektionales video |
US10848761B2 (en) | 2017-06-29 | 2020-11-24 | Qualcomm Incorporated | Reducing seam artifacts in 360-degree video |
KR102468596B1 (ko) | 2017-07-31 | 2022-11-21 | 에스케이텔레콤 주식회사 | 360 영상을 부호화 또는 복호화하기 위한 방법 및 장치 |
CN111418213B (zh) | 2017-08-23 | 2022-07-01 | 联发科技股份有限公司 | 用于沉浸式视频编解码的信令语法的方法以及装置 |
CN109906468B (zh) | 2017-09-27 | 2023-08-22 | 联发科技股份有限公司 | 用于处理包括封装在360度虚拟现实投影布局中的至少一个投影面的基于投影的帧的方法 |
US20200388003A1 (en) | 2017-10-09 | 2020-12-10 | Samsung Electronics Co., Ltd. | Producing 360 degree image content on rectangular projection in electronic device using padding information |
WO2019083943A1 (en) | 2017-10-24 | 2019-05-02 | Vid Scale, Inc. | PROJECTION OF CUBEMAP CARD ANGLE HYBRID VIDEO CODING 360 DEGREES |
CN111713111B (zh) | 2017-12-19 | 2024-04-09 | Vid拓展公司 | 用于360度视频译码的面不连续性滤波 |
US20190289316A1 (en) | 2018-03-19 | 2019-09-19 | Mediatek Inc. | Method and Apparatus of Motion Vector Derivation for VR360 Video Coding |
KR102344073B1 (ko) | 2018-04-05 | 2021-12-28 | 엘지전자 주식회사 | 360도 비디오를 전송하는 방법, 360도 비디오를 수신하는 방법, 360도 비디오를 전송하는 장치 및 360도 비디오를 수신하는 장치 |
TWI822863B (zh) | 2018-09-27 | 2023-11-21 | 美商Vid衡器股份有限公司 | 360度視訊寫碼樣本導出 |
-
2020
- 2020-07-01 US US16/917,917 patent/US11659206B2/en active Active
- 2020-07-02 DE DE112020001290.5T patent/DE112020001290T5/de active Pending
- 2020-07-02 CN CN202080040638.1A patent/CN113906755A/zh active Pending
- 2020-07-02 WO PCT/CN2020/099888 patent/WO2021000907A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US11659206B2 (en) | 2023-05-23 |
WO2021000907A1 (en) | 2021-01-07 |
CN113906755A (zh) | 2022-01-07 |
US20210006838A1 (en) | 2021-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112020001290T5 (de) | Videocodierungsverfahren mit Syntaxelementsignalisierung einer Guard-Band-Konfiguration eines projektionsbasierten Rahmens und dazugehörige Videodecodierungsverfahren und Vorrichtungen | |
DE112019004696T5 (de) | Verfahren zum Verarbeiten eines projektionsbasierten Rahmens | |
DE112018000660T5 (de) | Verfahren und Vorrichtung zum Verarbeiten eines projektionsbasierten Rahmens mit mindestens einer Projektionsfläche, die unter Verwendung einer ungleichförmigen Abbildung generiert wird | |
CN109996069B (zh) | 视频图像编解码方法及设备 | |
DE112019000219T5 (de) | Adaptive-Loop-Filterung-Verfahren für einen rekonstruierten projektionsbasierten Rahmen, welcher eine Projektionsanordnung einer 360-Grad-Virtual-Reality-Projektion einsetzt | |
DE69634962T2 (de) | Extrapolation von Pixelwerten eines in einem Block enthaltenen Videoobjektes | |
DE602004009591T2 (de) | Differenz-codierung durch verwendung eines 3d-graphikprozessors | |
DE112018000177T5 (de) | Verfahren und Vorrichtung zum Generieren und Codieren eines projektionsbasierten Rahmens, welcher mindestens einen Auffüllbereich und mindestens eine Projektionsfläche aufweist, die in einer 360-Grad-Virtual-Reality-Projektionsanordnung gepackt sind | |
DE102018118362A1 (de) | Systeme und verfahren zur effizienten und verlustfreien komprimierung von erfassten rohbilddaten | |
DE112018000176T5 (de) | Verfahren und Vorrichtung zum Generieren und Codieren eines projektionsbasierten Rahmens mit 360-Grad-Inhalt, repräsentiert in Projektionsflächen, die in einer segmentierten Kugelprojektionsanordnung gepackt sind | |
DE112013004778T5 (de) | Kodierung von Bildern unter Verwendung eines 3D-Netzes von Polygonen und entsprechenden Strukturen | |
DE112019000203T5 (de) | Verfahren zum Verarbeiten eines projektionsbasierten Rahmens, welcher Projektionsflächen aufweist, die in einer würfelbasierten Projektionsanordnung mit einer Auffüllung gepackt sind | |
DE112018002436T5 (de) | Verfahren zum Verarbeiten eines projektionsbasierten Rahmens, welcher mindestens eine Projektionsfläche aufweist, die in einer 360-Grad-Virtual-Reality-Projektionsanordnung gepackt ist | |
DE112017005235T5 (de) | Erhalten und signalisieren einer region oder eines viewports in streaming-medien | |
DE112009001679T5 (de) | Skalierbarkeitstechniken einer Farbskala | |
DE102013015821B4 (de) | System und Verfahren zur Verbesserung der Videokodierung unter Verwendung von Inhaltsinformation | |
DE102015009683A1 (de) | Cloudbasierte inhaltsspezifische Füllung für Bilder | |
DE112018002432T5 (de) | Verfahren und Vorrichtung zum Reduzieren von Artefakten in einem projektionsbasierten Rahmen | |
DE102019127726A1 (de) | Für fernarbeitsplatz-anwendungen geeignetes streaming individueller anwendungsfenster | |
DE19531004A1 (de) | Verfahren und Vorrichtung zur wahrnehmungsoptimierten Übertragung von Video- und Audio-Daten | |
EP3043313A1 (de) | Jpeg-bild-erzeugungsverfahren sowie verfahren und vorrichtung zur überlagerung von osd-informationen | |
DE19739266A1 (de) | Verfahren und Vorrichtung zum Kodieren binärer Formen | |
WO2002078352A1 (de) | Verfahren zur komprimierung und dekomprimierung von videodaten | |
DE112015003626T5 (de) | System und verfahren zum erhöhen der bittiefe von bildern | |
DE112012003572T5 (de) | Videokompressionssystem und -verfahren mittels differenzierung und clustering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R016 | Response to examination communication |