DE112017002339T5 - Verfahren und Vorrichtung zum Abbilden von Omnidirektionalbildern in ein Anordnungsausgabeformat - Google Patents

Verfahren und Vorrichtung zum Abbilden von Omnidirektionalbildern in ein Anordnungsausgabeformat Download PDF

Info

Publication number
DE112017002339T5
DE112017002339T5 DE112017002339.4T DE112017002339T DE112017002339T5 DE 112017002339 T5 DE112017002339 T5 DE 112017002339T5 DE 112017002339 T DE112017002339 T DE 112017002339T DE 112017002339 T5 DE112017002339 T5 DE 112017002339T5
Authority
DE
Germany
Prior art keywords
array
format
omnidirectional images
area
plane
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
Application number
DE112017002339.4T
Other languages
English (en)
Inventor
Jian-Liang Lin
Hung-Chih Lin
Chia-Ying Li
Shen-Kai Chang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MediaTek Inc
Original Assignee
MediaTek Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MediaTek Inc filed Critical MediaTek Inc
Publication of DE112017002339T5 publication Critical patent/DE112017002339T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/16Spatio-temporal transformations, e.g. video cubism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/12Panospheric to cylindrical image transformations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/139Format conversion, e.g. of frame-rate or size
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/88Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different blocks

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

Verfahren und Vorrichtungen eines Verarbeitens von Omnidirektionalbildern werden offenbart. Gemäß einem Verfahren wird ein aktueller Satz von Omnidirektionalbildern, die von jedem sphärischen Bild in einer 360-Grad-Panoramavideosequenz unter Verwendung eines ausgewählten Projektionsformats konvertiert sind, empfangen, wobei das ausgewählte Projektionsformat zu einer Projektionsformatgruppe gehört, die ein sechsflächiges Format umfasst, und der aktuelle Satz von Omnidirektionalbildern mit dem sechsflächigen Format aus sechs kubischen Flächen besteht. Wenn das ausgewählte Projektionsformat zu dem sechsflächigen Format korrespondiert, werden ein oder mehrere Abbildungssyntaxelemente zum Abbilden des aktuellen Satzes von Omnidirektionalbildern in ein aktuelles Cubemap-Bild signalisiert. Die codierten Daten werden dann in einem Bitstrom, der das eine oder die mehreren Abbildungssyntaxelemente für den aktuellen Satz von Omnidirektionalbildern aufweist, bereitgestellt.

Description

  • Querverweis auf verwandte Anmeldungen
  • Die vorliegende Erfindung beansprucht die Priorität der vorläufigen US-Patentanmeldung Nr. 62/332,505 , eingereicht am 6. Mai 2016, und der vorläufigen US-Patentanmeldung Nr. 62/356,571 , eingereicht am 30. Juni 2016. Die vorläufigen US-Patentanmeldungen sind hiermit durch Bezugnahme in ihrer Gesamtheit eingeschlossen.
  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf 360-Grad-Video. Insbesondere bezieht sich die vorliegende Erfindung auf ein Abbilden eines Satzes von Omnidirektionalbildern, die von jedem sphärischen Bild in einer 360-Grad Panoramavideosequenz unter Verwendung eines ausgewählten Projektionsformats konvertiert sind, in ein Ausgabeformat.
  • Hintergrund und Stand der Technik
  • Die Fortschritte von digitalen Videocodierungsstandards haben zu Erfolgen von Multimediasystemen wie Smartphones, digitalen Fernsehern und digitalen Kameras während des vergangenen Jahrzehnts geführt. Nach Standardisierungsaktivitäten von H.261, MPEG-1, MPEG-2, H.263, MPEG-4 und H.264/AVC war die Nachfrage nach einer Verbesserung einer Videokompressionsleistung aufgrund von Anforderungen von höheren Bildauflösungen, höheren Rahmenraten und besserer Videoqualität weiterhin stark. Deshalb hat eine Entwicklung von neuen Videocodierungstechniken für eine bessere Codierungseffizienz als H.264/AVC nicht aufgehört. HEVC basiert auf einer hybriden blockbasierten bewegungskompensierten Transformationscodierungsarchitektur.
  • Dreidimensionales (3D-) Fernsehen ist in den letzten Jahren ein Technologietrend gewesen, welcher beabsichtigt, Betrachtern eine sensationelle Betrachtungserfahrung zu ermöglichen. Verschiedene Technologien sind entwickelt worden, um eine 3D-Betrachtung zu ermöglichen, und das Multi-View-Video ist unter anderen eine Schlüsseltechnologie für eine 3D-TV-Anwendung. Zum Beispiel kann das Videomaterial ein zweidimensionales (2D) Medium sein, welches Betrachtern nur eine einzelne Ansicht einer Szene aus der Perspektive der Kamera bereitstellt. Das Multi-View-Video ist jedoch geeignet, beliebige Blickpunkte von dynamischen Szenen anzubieten und stellt Betrachtern das Erlebnis von Realismus zur Verfügung. 3D-Videoformate können auch Tiefenabbildungen mit korrespondierenden Texturbildern aufweisen. Die Tiefenabbildungen müssen ebenfalls codiert werden, um eine dreidimensionale Ansicht oder eine Mehrfachansicht wiederzugeben. Aufgrund der starken Nachfrage nach einer Verbesserung der Codierungseffizienz von 3D- und Multi-View-Video, die durch die Anforderungen eines Codierens von Daten von Mehrfachansichten, einer höheren Bildauflösung und einer besseren Qualität verursacht werden, sind verschiedene Techniken vorgeschlagen worden.
  • Als eine Erweiterung zu HEVC und ein 3D-Videocodierungsstandard einer nächsten Generation wurde die Standardisierung des 3D-HEVC-Videocodierungsstandards durch das Joint Collaborative Team on 3D Video Coding Extension Development (JCT-3V) im Juli 2012 formell begonnen und ist nach der 11-ten im Februar 2015 gehaltenen JCT-3V-Versammlung abgeschlossen. Um die auto-stereoskopische Multi-View-Anzeige praktischer zu unterstützen, ist ein Multi-View-Video-plus-Tiefen- (MVD-) Format als ein neues 3D-Videoformat für 3D-HEVC eingeführt worden. Das MVD-Format besteht aus einem Texturbild und seiner zugehörigen Tiefenabbildung. Anders als ein Texturbild, das die Luminanz- und Chrominanzinformationen eines Objekts repräsentiert, ist eine Tiefenabbildung ein Bild, das Informationen aufweist, die sich auf die Distanz der Objekte von der durch die Kamera aufgenommenen Ebene bezieht, und wird allgemein für eine Wiedergabe einer virtuellen Ansicht als unsichtbare Information eingesetzt.
  • Virtuelle Realität (VR) mit am Kopf befestigten Anzeigen (HMDs) wird mit verschiedenen Anwendungen in Verbindung gebracht. Die Möglichkeit, einem Anwender ein weites Feld von Ansichtsinhalten zu zeigen, kann verwendet werden, um eindringliche visuelle Erfahrungen zur Verfügung zu stellen. Eine Umgebung einer realen Welt muss in allen Richtungen aufgenommen werden, was in einem Omnidirektionalvideo resultiert, das zu einer Ansichtssphäre korrespondiert. Mit Fortschritten in Kameraausrüstungen und HMDs kann die Bereitstellung von VR-Inhalten aufgrund der hohen Bitrate, die zum Repräsentieren solchen Inhalts benötigt wird, bald der Engpass werden. Da die Omnidirektionalvideos oft mit 4K oder einer höheren Auflösung vorliegen, ist eine Komprimierung entscheidend, um die Bitrate zu reduzieren. Die bereitgestellten Omnidirektionalvideos sind eine äquirektanguläre Projektion. 1 stellt ein Beispiel eines Bildes eines Omnidirektionalvideos (bekannt als „Hangpai_2“) in dem äquirektangulären Projektionsformat dar. Während das Originalbild vollständig in Farbe ist, ist in 1 eine Schwarz-Weiß-Version gezeigt, da das Schwarz-Weiß-Bild ausreichend ist, um die vorliegende Erfindung darzustellen.
  • Das äquirektanguläre Projektionsformat kann in verschiedene Formate konvertiert werden, wie in 2 gezeigt: (a) Cubemap, (b) Cubemap_32, (c) Cubemap_180, (d) Plane_poles, (e) Plane_poles_6, (f) Plane_poles_cubemap, (g) Plane_cubemap, (h) Plane_cubemap_32, (i) Flat_fixed, (j) 180-Grad-3D-Video (d.h. 180-3D) und (k) Cylindermap/Cylindrical. Bilder in 2a bis 2i basieren auf dem Bild in 1.
  • 3 stellt ein Beispiel eines Konvertierens des äquirektangulären Projektionsformats in ein kubisches Format unter Verwendung einer Projektionskonvertierung 310 dar, wobei Bilder, die mit 1 bis 6 bezeichnet sind, zu Bildern auf sechs Flächen eines kubischen Systems zum Repräsentieren eines 360-Grad-Videos korrespondieren. Vier gemeinhin verwendete Anordnungen (d.h. eine 1x6-Anordnung 410, eine 2x3-Anordnung 420, eine 3x2-Anordnung 430 und eine 6x1-Anordnung 440) sind in 4 dargestellt. In jeder Anordnung sind die Bilder von 6 Flächen in ein einzelnes rechteckiges Bild zusammengefügt. 5 stellt den Geometrievergleich zwischen dem äquirektangulären Format und dem kubischen Format dar. Die äquirektanguläre Geometrie 510 und die kubische Geometrie 520 sind in 5 gezeigt. Das Bild 512 ist ein Beispiel eines äquirektangulären Formats und das Bild 522 ist ein Beispiel eines kubischen Formats.
  • In dem existierenden Ansatz für ein Konvertieren von kubischen Flächen in ein Ausgabeformat wird immer ein gleiches ausgewähltes Ausgabeanordnungsformat verwendet, und die sechs Flächen werden auf eine feste Weise dem Ausgabeanordnungsformat zugewiesen. Während die feste Abbildung einfach ist, hindert sie einen Benutzer daran, ein anderes Anordnungsformat zu verwenden, um die Anforderungen des Benutzers zu erfüllen. Weiter werden, nachdem die kubischen Flächen zu einem Ausgabeanordnungsformat konvertiert sind, die konvertierten Ausgabebilder oft komprimiert, um den benötigten Platz zu reduzieren. Das ausgewählte Ausgabeanordnungsformat und die feste Abbildung können für eine Kompression nicht effizient sein.
  • Kurze Zusammenfassung der Erfindung
  • Verfahren und Vorrichtungen eines Verarbeitens von Omnidirektionalbildern werden offenbart. Gemäß einem Verfahren wird ein aktueller Satz von Omnidirektionalbildern, die von jedem sphärischen Bild in einer 360-Grad Panoramavideosequenz unter Verwendung eines ausgewählten Projektionsformats konvertiert sind, empfangen, wobei das ausgewählte Projektionsformat zu einer Projektionsformatgruppe gehört, die ein sechsflächiges Format umfasst, und der aktuelle Satz von Omnidirektionalbildern mit dem sechsflächigen Format aus sechs kubischen Flächen besteht. Wenn das ausgewählte Projektionsformat zu dem sechsflächigen Format korrespondiert, werden ein oder mehrere Abbildungssyntaxelemente signalisiert, um den aktuellen Satz von Omnidirektionalbildern in ein aktuelles Cubemap-Bild abzubilden. Die codierten Daten werden dann in einem Bitstrom bereitgestellt, der das eine oder die mehreren Abbildungssyntaxelemente für den aktuellen Satz von Omnidirektionalbildern aufweist.
  • Die Projektionsformatgruppe kann weiter ein äquirektanguläres Format, ein 180-3D-Format und ein Cylindermap-Format aufweisen. Wenn der aktuelle Satz von Omnidirektionalbildern in dem äquirektangulären Format vorliegt, wird der aktuelle Satz von Omnidirektionalbildern in das sechsflächige Format konvertiert, und die Abbildungssyntaxelemente werden für den konvertierten aktuellen Satz von Omnidirektionalbildern durch Behandeln des konvertierten aktuellen Satzes von Omnidirektionalbildern, als ob er das sechsflächige Format hätte, signalisiert.
  • Die Abbildungssyntaxelemente können einen aktuellen kubischen Typ aufweisen, der zu dem aktuellen Cubemap-Bild gehört, und der aktuelle kubische Typ gehört zu einem aktuellen Ausgabeanordnungsformatsatz, der aus einer 1×6-Cubemap-Anordnung, einer 2x3-Cubemap-Anordnung, einer 3x2-Cubemap-Anordnung und einer 6×1-Cubemap-Anordnung besteht. Die Abbildungssyntaxelemente können weiter Anordnungsabbildungsindizes aufweisen, wobei jeder Anordnungsabbildungsindex eine kubische Fläche des aktuellen Satzes von Omnidirektionalbildern mit einer Stelle des aktuellen Cubemap-Bildes assoziiert. Ein Anordnungsabbildungsindex kann für jede kubische Fläche des aktuellen Satzes von Omnidirektionalbildern bis auf die letzte kubische Fläche des aktuellen Satzes von Omnidirektionalbildern signalisiert werden. Jeder Anordnungsabbildungsindex kann unter Verwendung einer Code-Tabelle mit einer Anzahl von Einträgen, die gleich einer Anzahl von übrigen abzubildenden kubischen Flächen ist, codiert werden. In einer anderen Ausführungsform wird jeder Anordnungsabbildungsindex unter Verwendung einer Code-Tabelle mit einer Anzahl von Einträgen codiert, die gleich einer Anzahl von abzubildenden kubischen Flächen ist.
  • In einer anderen Ausführungsform können die Abbildungssyntaxelemente weiter Rotationsindizes aufweisen, wobei jeder Rotationsindex einen Rotationswinkel für eine kubischen Fläche des aktuelles Satzes von Omnidirektionalbildern an einer Position des aktuellen Cubemap-Bilds anzeigt. Ein Rotationsindex kann für jede kubische Fläche des aktuellen Satzes von Omnidirektionalbildern signalisiert werden. Jeder Rotationsindex wird unter Verwendung einer Code-Tabelle codiert, um einen Rotationswinkel anzuzeigen, der von einem Rotationswinkelsatz ausgewählt wird, der zu {0° und 90°}, {0°, +90°, -90° und 180°} oder{0°, 90°, 180° und 270°} korrespondiert.
  • Die Abbildungssyntaxelemente weisen weiter ein Vorgabeanordnungskennzeichen auf, um anzuzeigen, ob ein Vorgabe-Cubemap-Bild für den aktuellen Satz von Omnidirektionalbildern mit dem aktuellen kubischen Typ verwendet wird, und wobei die Anordnungsabbildungsindizes und die Rotationsindizes für den aktuellen Satz von Omnidirektionalbildern nur signalisiert werden, wenn das Vorgabeanordnungskennzeichen anzeigt, dass das Vorgabe-Cubemap-Bild nicht für den aktuellen Satz von Omnidirektionalbildern verwendet wird. Wenn das Vorgabeanordnungskennzeichen anzeigt, dass das Vorgabe-Cubemap-Bild für den aktuellen Satz von Omnidirektionalbildern verwendet wird, werden Vorgabeanordnungsabbildungsindizes und Vorgaberotationsindizes für den aktuellen Satz von Omnidirektionalbildern verwendet.
  • Der Ausgabeanordnungsformatsatz, der für den aktuellen Satz von Omnidirektionalbildern verwendet wird, kann in einer Sequenzebene, einer Ansichtsebene, einer Bildebene, einer Slice-Ebene, einem Sequenzparametersatz (SPS), einem Videoparametersatz (VPS) oder einem Applikationsparametersatz (APS) in einem Bitstrom für die 360-Grad-Panoramavideosequenz signalisiert werden. Die Abbildungssyntaxelemente können in einer Sequenzebene, einer Ansichtsebene, einer Bildebene, einer Slice-Ebene, einem SPS, einem VPS oder einem APS in dem Bitstrom für die 360-Grad-Panoramavideosequenz signalisiert werden.
  • Die Abbildungssyntaxelemente können vorhergesagt basierend auf einem oder mehreren Referenzabbildungssyntaxelementen signalisiert werden. In einer Ausführungsform werden mehrere Sätze von einem oder mehreren Referenzabbildungssyntaxelementen in einer Sequenzebene, einer Ansichtsebene oder einer Bildebene in dem Bitstrom für die 360-Grad-Panoramavideosequenz signalisiert, und ein Kennzeichen wird in einer Slice-Ebene oder der Bildebene signalisiert, um die Abbildungssyntaxelemente von den mehreren Sätzen von einem oder mehreren Referenzabbildungssyntaxelementen für den aktuellen Satz von Omnidirektionalbildern auszuwählen. In einer anderen Ausführungsform können die Referenzabbildungssyntaxelemente durch ein oder mehrere erste Abbildungssyntaxelemente von einem vorherigen Bild, Slice oder Rahmen vorhergesagt werden.
  • Figurenliste
    • 1 stellt ein Beispiel eines Bildes eines Omnidirektionalvideos (bekannt als „Hangpai_2“) in dem äquirektangulären Projektionsformat dar.
    • 2 stellt verschiedene Beispiele von Ausgabeanordnungsformaten dar, die (a) Cubemap, (b) Cubremap_32, (c) Cubemap_180, (d) Plane_poles, (e) Plane_Poles_6, (f) Plane_poles_cubemap, (g) Plane-Cubemap, (h) Plane_Cubemap_32, (i) Flat_fixed, (j) 180-Grad-3D-Video (d.h. 180-3D) und (k) Cylindermap/Cylindrical umfassen.
    • 3 stellt ein Beispiel eines Konvertierens des äquirektangulären Projektionsformats in ein kubisches Format unter Verwendung einer Projektionskonvertierung dar, wobei Bilder, die mit 1 bis 6 gekennzeichnet sind, zu Bildern auf sechs Flächen eines kubischen Systems zum Repräsentieren eines 360-Grad Video korrespondieren.
    • 4 stellt vier allgemein verwendete Anordnungen dar: eine 1x6-Anordnung, eine 2x3-Anordnung, eine 3x2-Anordnung und eine 6x1-Anordnung.
    • 5 stellt den Geometrievergleich zwischen dem äquirektangulären Format und dem kubischen Format dar.
    • 6 stellt ein Beispiel eines Abbildens der sechs kubischen Flächen auf eine 1x6-Anordnung dar.
    • 7 stellt ein Beispiel eines Abbildens der sechs kubischen Flächen auf eine 2x3-Anordnung dar.
    • 8 stellt ein Beispiel eines Abbildens von sechs kubischen Flächen auf eine 1x6-Anordnung dar, wobei (a) in Schritt 1 Fläche #5 zu der ersten Position der Anordnung zugewiesen wird, (b) in Schritt 2 Fläche #4 zu der zweiten Position der Anordnung zugewiesen wird und (c) in Schritt 3 Fläche #6 zu der dritten Position der Anordnung zugewiesen wird.
    • 9 stellt ein Beispiel eines Abbildens von sechs kubischen Flächen auf eine 1x6-Anordnung dar, wobei die kubische Fläche #1 mit einer (-90-Grad-Rotation) zu der vierten Position in der Ausgabeanordnung zugewiesen wird.
    • 10 stellt ein Beispiel einer Rotationsvorausberechnung dar, wobei die Referenzausgabeanordnung verwendet wird, um die Zielausgabeanordnung vorauszuberechnen.
    • 11 stellt ein Beispiel der Benennung von sechs kubischen Flächen von Indizes kubischer Flächen und des korrespondierenden äquirektangulären Bilds dar.
    • 12 stellt ein Beispiel einer Reihenfolge der Position in jeder kubischen Anordnung für eine 1x6-Anordnung, eine 2x3-Anordnung, eine 3x2-Anordnung und eine 6x1-Anordnung dar.
    • 13 stellt ein Beispiel einer Vorgabeanordnung der sechs kubischen Flächen und eine kubische Ziel-3x2-Anordnung dar.
    • 14 stellt ein Beispiel der vorgegebenen relativen Lage von kubischen Flächen und ihrer Indizes für den Index kubischer Flächen und korrespondierend äquirektangulär dar.
    • 15 stellt eine beispielhafte Reihenfolge der Position in jeder kubischen Anordnung für eine 1x6-Anordnung, eine 2x3-Anordnung, eine 3x2-Anordnung und eine 6x1-Anordnung dar.
    • 16 stellt Beispiele einer anderen vorbestimmten Anordnung für (a) eine unterschiedliche kubische 6x1-Anordnung, (b) eine unterschiedliche kubische 3x2-Anordnung, (c) eine unterschiedliche kubische 2x3-Anordnung und (d) eine unterschiedliche kubische 1x6-Anordnung dar.
    • 17 stellt ein beispielhaftes Ablaufdiagramm eines Systems dar, das Omnidirektionalbilder gemäß einer Ausführungsform der vorliegenden Erfindung verarbeitet.
  • Detaillierte Beschreibung der Erfindung
  • Die nachfolgende Beschreibung ist von der am eingehendsten betrachteten Betriebsart eines Ausführens der Erfindung. Diese Beschreibung dient dem Zeck einer Darstellung der allgemeinen Prinzipien der Erfindung und sollte nicht in einem einschränkenden Sinn verstanden werden. Der Umfang der Erfindung wird am besten durch Bezug auf die angehängten Ansprüche bestimmt.
  • In einem Aspekt der vorliegenden Erfindung ist ein Satz von verschiedenen Ausgabeanordnungen vordefiniert und ein explizites Kennzeichen wird in dem Bitstrom in der Sequenzebene, der Ansichtsebene, der Bildebene, der Slice-Ebene, dem Sequenzparametersatz (SPS), dem Videoparametersatz (VPS) oder dem Applikationsparametersatz (APS) übertragen, um die Ausgabeanordnung von dem Satz von verschiedenen Ausgabeanordnungen auszuwählen. Zum Beispiel kann der Satz von verschiedenen Ausgabeanordnungen mindestens zwei Ausgabeanordnungsformate aufweisen, die von einer Gruppe ausgewählt sind, die eine Cubemap-Anordnung, eine Cubemap_32-Anordnung, eine Cubemap_180-Anordnung, eine Plane_poles-Anordnung, eine Plane_poles_6-Anordnung, eine Plane_poles_cubemap-Anordnung, eine Plane_cubemap-Anordnung, eine Plane_cubemap_32-Anordnung, eine Flat_fixed-Anordnung, eine Cubemap_1×6-Anordnung, eine Cubemap_2×3-Anordnung, eine Cubemap_3x2-Anordnung und eine Cubemap_6x1-Anordnung umfasst.
  • In einem anderen Beispiel umfasst der Satz von Ausgabeanordnungsformaten nur eine Cubemap_1x6-Anordnung, eine Cubemap_2x3-Anordnung, eine Cubemap_3x2-Anordnung und eine Cubemap_6×1 -Anordnung. Ein Kennzeichen wird übertragen, um die Ausgabeanordnung unter der Cubemap_1×6-Anordnung, der Cubemap_2x3-Anordnung, der Cubemap_3x2-Anordnung und der Cubemap_6x1-Anordnung auszuwählen.
  • 6 und 7 stellen ein Beispiel eines Abbildens der sechs kubischen Flächen auf zwei mögliche Anordnungen dar, wobei die sechs kubischen Flächen in 6 auf eine 1x6-Anordnung abgebildet werden und die sechs kubischen Flächen in 7 auf eine 2x3-Anordnung abgebildet werden.
  • Gemäß einem Verfahren der vorliegenden Erfindung können die sechs kubischen Flächen gemäß den nachfolgenden Schritten auf eine mögliche Anordnung abgebildet werden:
  • Schritt 1: Sende (an einer Codierer-Seite)/Empfange (an einer Decodierer-Seite) ein Kennzeichen, um eine der sechs kubischen Flächen zu einer ersten Position in der Anordnung zuzuweisen. 8a zeigt ein Beispiel eines Zuweisens einer Fläche #5 zu der ersten Position der 1x6-Anordnung.
  • Schritt 2: Sende/Empfange ein Kennzeichen, um eine der übrigen fünf kubischen Flächen zu einer zweiten Position in der Anordnung zuzuweisen. 8b zeigt ein Beispiel eines Zuweisens einer Fläche #4 zu der zweiten Position der 1x6-Anordnung.
  • Schritt 3: Sende/Empfange ein Kennzeichen, um eine der übrigen vier kubischen Flächen zu einer dritten Position in der Anordnung zuzuweisen. 8c zeigt ein Beispiel eines Zuweisens einer Fläche #6 zu der dritten Position der 1x6-Anordnung.
  • Schritt 4: Sende/Empfange ein Kennzeichen, um eine der übrigen drei kubischen Flächen zu einer vierten Position in der Anordnung zuzuweisen.
  • Schritt 5: Sende/Empfange ein Kennzeichen, um eine der übrigen zwei kubischen Flächen zu einer fünfen Position in der Anordnung zuzuweisen.
  • Schritt 6: Weise die letzte übrige Fläche der letzten Position in der Anordnung zu. Es ist unnötig, das Kennzeichen für die Letzte zu signalisieren, da es nur eine übrige kubische Fläche gibt.
  • In dem vorstehend vorgeschlagenen Verfahren kann das Kennzeichen unter Verwendung eines verkürzten Unär-Codes übertragen werden, wie in Tabelle 1 gezeigt. In Schritt 1 wird ein erstes Kennzeichen unter Verwendung des verkürzten Unär-Codes mit der Größe 6 codiert, um eine der sechs kubischen Flächen auszuwählen. In Schritt 2 wird ein zweites Kennzeichen unter Verwendung des verkürzten Unär-Codes mit der Größe 5 codiert, um eine der fünf übrigen kubischen Flächen auszuwählen, und so weiter. Tabelle 1.
    n (nichtnegativ) n (streng positiv) Verkürzter Unär-Code Alternative
    0 1 0 1
    1 2 10 01
    2 3 110 001
    3 4 1110 0001
    4 5 11110 00001
    5 6 11111 00000
  • In einer anderen Ausführungsform wird auch die Rotation der Fläche zum Abbilden einer kubischen Fläche auf eine Ausgabeanordnung definiert. Zum Beispiel werden die sechs kubischen Flächen gemäß den nachfolgenden Schritten den möglichen Anordnungen zugewiesen:
  • Schritt 1: Sende (auf einer Codierer-Seite)/Empfange (auf einer Decodierer-Seite) ein Kennzeichen, um eine der sechs kubischen Flächen einer ersten Position in der Anordnung zuzuweisen. Sende/Empfange ein anderes Kennzeichen, um die Rotation dieser ausgewählten Fläche zu definieren.
  • Schritt n (n von 2 bis 5): Sende/Empfange ein Kennzeichen, um eine der übrigen (6-n+1) kubischen Flächen der n-ten Position in der Anordnung zuzuweisen. Sende/Empfange ein anderes Kennzeichen, um die Rotation der ausgewählten Fläche zu definieren.
  • Schritt 6: Weise die letzte übrige Fläche der letzten Position in der Anordnung zu. Sende/Empfange ein anderes Kennzeichen, um die Rotation dieser ausgewählten Fläche zu definieren.
  • Die Rotation dieser sechs Flächen kann auch übertragen werden, nachdem die sechs Flächen zugewiesen sind, wie in dem nachfolgenden Schritt dargestellt:
  • Schritt 1-a: Sende (auf einer Codierer-Seite)/Empfange (auf einer Decodierer-Seite) ein Kennzeichen, um eine der sechs kubischen Flächen einer ersten Position in der Anordnung zuzuweisen.
  • Schritt n-a (n von 2 bis 5): Sende/Empfange ein Kennzeichen, um eine der übrigen (6-n+1) kubischen Flächen der n-ten Position in der Anordnung zuzuweisen.
  • Schritt 6-a: Weise die letzte übrige Fläche der letzten Position in der Anordnung zu.
  • Schritt n-b (n von 1 bis 6): Sende/Empfange ein Kennzeichen, um die Rotation der n-ten Fläche zu definieren.
  • Andererseits kann die Zuweisung der Fläche und die Rotation dieser Fläche auch als ein Kennzeichen kombiniert werden, wie in den nachfolgenden Schritten dargestellt:
  • Schritt 1: Sende (auf einer Codierer-Seite)/Empfange (auf einer Decodierer-Seite) ein Kennzeichen, um eine der sechs kubischen Flächen und ihre Rotation einer ersten Position in der Anordnung zuzuweisen.
  • Schritt n (n von 2 bis 5): Sende/Empfange ein Kennzeichen, um eine der übrigen (6-n+1) kubischen Flächen und ihre Rotation der n-ten Position in der Anordnung zuzuweisen.
  • Schritt 6: Weise die letzte übrige Fläche der letzten Position in der Anordnung zu. Sende/Empfange ein Kennzeichen, um die Rotation der sechsten Fläche zu definieren.
  • Die Rotation der Fläche kann von dem Satz {0 Grad, 90 Grad} ausgewählt werden. In einer anderen Ausführungsform kann die Rotation der Fläche auch von dem Satz {0 Grad, 90 Grad, 180 Grad und 270 Grad} oder {0 Grad, 90 Grad, -90 Grad, 180 Grad} ausgewählte werden. Zum Beispiel wird in Schritt 4 ein Kennzeichen gesendet oder empfangen, um eine kubische Fläche #1 mit einer Rotation der vierten Position in der Anordnung zuzuweisen. In diesem Beispiel sind nach den Schritten 1 bis 3 die übrigen Flächen {Fläche #1, Fläche #2 und Fläche #3}. Basierend auf der nachfolgenden verkürzten Unär-Tabelle wird ein Index 0 (nicht-negativ)/Index 1 (streng positiv) mit einem Code „0“, um die Fläche #1 der vierten in Tabelle 2 gezeigten Position zuzuweisen, und ein in Tabelle 3 gezeigter Rotations-Code „10“ (oder ein in Tabelle 4 gezeigter Rotations-Code „1“), um eine -90-Grad-Rotation zu definieren, übertragen. Tabelle 2.
    n (nichtnegativ) n (streng positiv) Verkürzter Unär-Code Alternative
    0 1 0 1
    1 2 10 01
    2 3 11 00
    Tabelle 3.
    n (nichtnegativ) Rotationsgrad Typ 1 Verkürzter Unär-Code Alternative
    0 0 Grad 0 1
    1 -90 Grad 10 01
    2 +90 Grad 110 001
    3 +180 Grad 111 000
    Tabelle 4.
    n (nichtnegativ) Rotationsgrad Typ 1 Verkürzter Unär-Code Alternative
    0 0 Grad 0 1
    1 -90 Grad 1 0
  • 9 stellt ein Beispiel eines Zuweisens einer kubischen Fläche #1 mit (-90-Grad-Rotation) zu der vierten Position in der Anordnung dar.
  • Das vorstehend vorgeschlagene Verfahren zum Signalisieren des äquirektangulären Formats zu der Anordnung kann in dem Bitstrom in der Sequenzebene, der Ansichtsebene, der Bildebene, der Slice-Ebene, der SPS- (Sequenzparametersatz-), der VPS-(Videoparametersatz-) oder der APS- (Adaptionsparametersatz-) Ebene übertragen werden. In einer anderen Ausführungsform werden N Sätze der Abbildungsformate für die äquirektanguläre Projektion zu der Ausgabeanordnung in der Sequenzebene, der Ansichtsebene, der Bildebene, dem SPS, dem VPS oder dem APS signalisiert, wie nachfolgend gezeigt:
  • Abbildungsformat:
    • Index 1: {Fläche#1 (Rotationsgrad), Fläche#2 (Rotationsgrad), Fläche#3 (Rotationsgrad), Fläche#4 (Rotationsgrad), Fläche#5 (Rotationsgrad), Fläche#6 (Rotationsgrad)}
    • Index 2: {Fläche#1 (Rotationsgrad), Fläche#2 (Rotationsgrad), Fläche#3 (Rotationsgrad), Fläche#5 (Rotationsgrad), Fläche#4 (Rotationsgrad), Fläche#6 (Rotationsgrad)}
    • ....
    • Index N: {Fläche#2 (Rotationsgrad), Fläche#3 (Rotationsgrad), Fläche#1 (Rotationsgrad), Fläche#5 (Rotationsgrad), Fläche#4 (Rotationsgrad), Fläche#6 (Rotationsgrad)}
  • Ein Kennzeichen wird dann weiter in der Slice- oder Bildebene übertragen, um ein Abbildungsformat von {Index 1, Index 2, ..., Index N} auszuwählen.
  • In einer anderen Ausführungsform kann das Abbildungsformat von einem anderen Abbildungsformat vorausberechnet werden. Zum Beispiel kann das nachfolgende Referenzabbildungsformat von den N Sätzen von Abbildungsformaten ausgewählt werden, die in der Sequenzebene, der Ansichtsebene oder der Bildebene übertragen werden. In noch einer anderen Ausführungsform kann das Abbildungsformat von dem vorherigen Bild/Slice/Rahmen als das Referenzabbildungsformat verwendet werden, um das aktuelle Abbildungsformat vorauszuberechnen. Das Referenzabbildungsformat {Fläche#1, Fläche#2, Fläche#3, Fläche#4, Fläche#5, Fläche#6} ist bekannt und wird verwendet, um das aktuelle Abbildungsformat vorauszuberechnen.
  • Angenommen das Zielabbildungsformat ist {Fläche#1, Fläche#2, Fläche#4, Fläche#3, Fläche#5, Fläche#6}, um das Zielabbildungsformat von {Fläche#1, Fläche#2, Fläche#3, Fläche#4, Fläche#5, Fläche#6} vorauszuberechnen, kann der Vorausberechnungsalgorithmus wie folgt dargestellt werden:
    • Schritt 1: Die übrigen Flächen der Reihenfolge folgend sind: {Fläche#1, Fläche#2, Fläche#3, Fläche#4, Fläche#5, Fläche#6}. Index 0 wird zu der ausgewählten Fläche#1 in die erste Position in der Anordnung {Fläche#1, ---, ---, ---, ---, ---} übertragen.
    • Schritt 2: Die übrigen Flächen der Reihenfolge folgend sind: {Fläche#2, Fläche#3, Fläche#4, Fläche#5, Fläche#6}. Index 0 wird zu der ausgewählten Fläche#2 in die zweite Position in der Anordnung {Fläche#1, Fläche#2, ---, ---, ---, ---} übertragen.
    • Schritt 3: Die übrigen Flächen der Reihenfolge folgend sind: {Fläche#3, Fläche#4, Fläche#5, Fläche#6}. Index 1 wird zu der ausgewählten Fläche#4 in die dritte Position in der Anordnung {Fläche#1, Fläche#2, Fläche#4, ---, ---, ---} übertragen.
    • Schritt 4: Die übrigen Flächen der Reihenfolge folgend sind: {Fläche#3, Fläche#5, Fläche#6}. Index 0 wird zu der ausgewählten Fläche#3 in die vierte Position in der Anordnung {Fläche#1, Fläche#2, Fläche#4, Fläche#3, ---, ---} übertragen.
    • Schritt 5: Die übrigen Flächen der Reihenfolge folgend sind: {Fläche#5, Fläche#6}. Index 0 wird zu der ausgewählten Fläche#5 in die fünfte Position in der Anordnung {Fläche#1, Fläche#2, Fläche#4, Fläche#3, Fläche#5, ---} übertragen.
    • Schritt 6: Die übrige Fläche ist {Fläche#6} und wird als die letzte Position in der Anordnung {Fläche#1, Fläche#2, Fläche#4, Fläche#3, Fläche#5, Fläche#6} gewählt.
  • Die Rotation kann auch von der Referenzanordnung vorausberechnet werden. 10 stellt ein Beispiel einer Rotationsvorausberechnung dar, wobei ein Bild 1010 zu sechs kubischen Flächen korrespondiert, ein Bild 1020 zu einer Referenzanordnung korrespondiert und ein Bild 1030 zu der Zielanordnung korrespondiert. In 10 sind die ersten drei Positionen in der Zielanordnung rotiert.
  • In dem vorstehenden Beispiel können die nachfolgenden Schritte angewendet werden, um die Zielanordnung von der Referenzanordnung vorauszuberechnen. In diesem Beispiel ist die Referenzanordnung {Fläche#1 (0), Fläche#2 (0), Fläche#3 (0), Fläche#4 (0), Fläche#5 (0), Fläche#6 (0)} und die Zielanordnung ist {Fläche#1 (-90), Fläche#2 (-90), Fläche#3 (-90), Fläche#5 (0), Fläche#4 (0), Fläche#6 (0)}, wobei (0) 0 Grad kennzeichnet und (-90) -90 Grad kennzeichnet.
  • Schritt 1: Die übrigen Flächen der Reihenfolge folgend sind: {Fläche#1 (0), Fläche#2 (0), Fläche#3 (0), Fläche#4 (0), Fläche#5 (0), Fläche#6 (0)}. Index 0 wird zu der ausgewählten Fläche#1 in die erste Position in der Anordnung {Fläche#1, ---, ---, ---, ---, ---} übertragen. Der verkürzte Unär-Code mit der Größe 6, wie in Tabelle 5 gezeigt, kann verwendet werden, um den Index 0 zu codieren, wobei die Zeile des ausgewählten Codes in fettem, kursivem Font angezeigt ist. Die Differenz des Grads (-90) wird weiter übertragen und der endgültige Grad wird rekonstruiert als: Referenzgrad + Differenz des Grads = (0) + (-90) = (-90). Die Differenz des Grads (-90) kann unter Verwendung entweder des Rotations-Codes vom Typ 1 in Tabelle 6 oder dem Rotations-Code vom Typ 2 (Tabelle 4) in Tabelle 7 codiert werden, wobei die Zeile des ausgewählten Codes in fettem, kursivem Font angezeigt ist. Tabelle 5.
    n (nichtnegativ) n (streng positiv) Verkürzter Unär-Code Alternative
    0 1 0 1
    1 2 10 01
    2 3 110 001
    3 4 1110 0001
    4 5 11110 00001
    5 6 11111 00000
    Tabelle 6.
    n (nichtnegativ) Rotationsgrad Typ 1 Verkürzter Unär-Code Alternative
    0 0 Grad 0 1
    1 -90 Grad 10 01
    2 +90 Grad 110 001
    3 +180 Grad 111 000
    Tabelle 7.
    n (nichtnegativ) Rotationsgrad Typ 1 Verkürzter Unär-Code Alternative
    0 0 Grad 0 1
    1 -90 Grad 1 0
  • Schritt 2: Die übrigen Flächen der Reihenfolge folgend sind: {Fläche#2 (0), Fläche#3 (0), Fläche#4 (0), Fläche#5 (0), Fläche#6 (0)}. Index 0 wird zu der ausgewählten Fläche#2 in die zweite Position in der Anordnung {Fläche#1, Fläche#2, ---, ---, ---, ---} übertragen. Die Differenz des Grads (-90) wird weiter übertragen. In diesem Fall kann ein verkürzter Unär-Code mit der Größe 5, wie in Tabelle 8 gezeigt, verwendet werden, um den Index 0 zu codieren, wobei die Zeile des ausgewählten Codes in fettem, kursivem Font angezeigt ist. Tabelle 8.
    n (nichtnegativ) n (streng positiv) Verkürzter Unär-Code Alternative
    0 1 0 1
    1 2 10 01
    2 3 110 001
    3 4 1110 0001
    4 5 1111 0000
  • Schritt 3: Die übrigen Flächen der Reihenfolge folgend sind: {Fläche#3 (0), Fläche#4 (0), Fläche#5 (0), Fläche#6 (0)}. Index 0 wird zu der ausgewählten Fläche#3 in die dritte Position in der Anordnung {Fläche#1, Fläche#2, Fläche#3, ---, ---, ---} übertragen. Die Differenz des Grads (-90) wird weiter übertragen. In diesem Fall kann ein verkürzter Unär-Code mit der Größe 4, wie in Tabelle 9 gezeigt, verwendet werden, um den Index 0 zu codieren, wobei die Zeile des ausgewählten Codes in fettem, kursivem Font angezeigt ist. Tabelle 9.
    n (nichtnegativ) n (streng positiv) Verkürzter Unär-Code Alternative
    0 1 0 1
    1 2 10 01
    2 3 110 001
    3 4 111 000
  • Schritt 4: Die übrigen Flächen der Reihenfolge folgend sind: {Fläche#4 (0), Fläche#5 (0), Fläche#6 (0)}. Index 1 wird zu der ausgewählten Fläche#5 in die vierte Position in der Anordnung {Fläche#1, Fläche#2, Fläche#3, Fläche#5, ---, ---} übertragen. Die Differenz des Grads (0) wird weiter übertragen. In diesem Fall kann ein verkürzter Unär-Code mit der Größe 3, wie in Tabelle 10 gezeigt, verwendet werden, um den Index 1 zu codieren, wobei die Zeile des ausgewählten Codes in fettem, kursivem Font angezeigt ist. Tabelle 10.
    n (nichtnegativ) n (streng positiv) Verkürzter Unär-Code Alternative
    0 1 0 1
    1 2 10 01
    2 3 11 00
  • Schritt 5: Die übrigen Flächen der Reihenfolge folgend sind: {Fläche#4 (0), Fläche#6 (0)}. Index 0 wird zu der ausgewählten Fläche#4 in die fünfte Position in der Anordnung {Fläche#1, Fläche#2, Fläche#3, Fläche#5, Fläche#4, ---} übertragen. Die Differenz des Grads (0) wird weiter übertragen. In diesem Fall kann ein verkürzter Unär-Code mit der Größe 2, wie in Tabelle 11 gezeigt, verwendet werden, um den Index 0 zu codieren, wobei die Zeile des ausgewählten Codes in fettem, kursivem Font angezeigt ist. Tabelle 11.
    n (nichtnegativ) n (streng positiv) Verkürzter Unär-Code Alternative
    0 1 0 1
    1 2 1 0
  • Schritt 6: Die übrige Fläche ist {Fläche#6 (0)} und wird als die letzte Position in der Anordnung {Fläche#1, Fläche#2, Fläche#4, Fläche#3, Fläche#5, Fläche#6} gewählt. Die Differenz des Grads (0) wird weiter übertragen.
  • Zum Beispiel kann ein Index zuerst in der Bild-/Slice-/Rahmen-Ebene übertragen werden, um eine Abbildungsanordnung als die Referenzanordnung auszuwählen. Das Vorausberechnungsverfahren wird dann weiter angewendet, um die Zielanordnung für das/den aktuelle/aktuellen Bild/Slice/Rahmen von der Referenzanordnung vorauszuberechnen. In einem anderen Beispiel kann die Referenzanordnung von dem vorhergehend codierten Bild/Slice/Rahmen hergeleitet werden, und das Vorausberechnungsverfahren wird dann angewendet, um die Zielanordnung für das/den aktuelle/aktuellen Bild/Slice/Rahmen vorauszuberechnen.
  • In den vorstehend vorgeschlagenen Verfahren kann der verkürzte Unär-Code auch durch ein anderes Entropie-Codierungsverfahren ersetzt werden. Zum Beispiel kann eins der nachfolgenden Entropie-Codierungsverfahren in dieser Erfindung angewendet werden.
    • - ae(v): ein kontextadaptives, arithmetisches, entropie-codiertes Syntaxelement.
    • - b(8): ein Byte, das ein Muster einer Bit-Reihe (8 Bits) aufweist. Der Analyseprozess für diesen Deskriptor wird durch den Rückgabewert der Funktion read_bits(8) spezifiziert.
    • - f(n): eine Festmuster-Bit-Reihe, die n Bits verwendet, die (von links nach rechts) mit dem linken Bit zuerst geschrieben werden. Der Analyseprozess für diesen Deskriptor wird durch den Rückgabewert der Funktion read_bits(n) spezifiziert.
    • - se(v): ein Exp-Golomb-codiertes Syntaxelement einer vorzeichenbehafteten ganzen Zahl 0-ter Ordnung mit dem linken Bit zuerst.
    • - u(n): eine vorzeichenlose ganze Zahl, die n Bits verwendet. Wenn n gleich „v“ in der Syntaxtabelle ist, variiert die Anzahl von Bits auf eine Weise, die von dem Wert anderer Syntaxelemente abhängt. Der Analyseprozess für diesen Deskriptor wird durch den Rückgabewert der Funktion read_bits(n) spezifiziert, der als eine binäre Repräsentation einer vorzeichenlosen ganzen Zahl mit dem höchstwertigen Bit zuerst geschrieben interpretiert wird.
    • - ue(v): ein Exp-Golomb-codiertes Syntaxelement einer vorzeichenlosen ganzen Zahl 0-ter Ordnung mit dem linken Bit zuerst.
  • Ein beispielhafter Syntaxaufbau für das Anordnungssignalisieren gemäß einer Ausführungsform der vorliegenden Erfindung wird wie folgt gezeigt: Tabelle 12.
    layout_mapping_extension() { Deskriptor
    ...
    for (i=0 i<num_of_layout_faces-1; i++ ) {
    layout_face[i] ue(v)
    }
    ...
    }
  • In der vorstehenden Syntaxtabelle spezifiziert eine Syntax num_of_layout_faces die Gesamtzahl von Flächen in der Anordnung. Eine Syntax layout-face[i] spezifiziert den Index in den übrigen (num_of_layout_faces- i) Flächen als die korrespondierende Fläche für die i-te Position in der Anordnung, und der Wert von layout_face[i] soll in dem Bereich von einschließlich 0 bis einschließlich (num_of_layout_faces- i - 1) liegen. Eine Syntax layout_face[num_of_layout_faces- 1] wird abgeleitet, gleich der letzten übrigen Fläche zu sein.
  • Ein beispielhafter Syntaxaufbau für eine Anordnungssignalisierung mit einer Rotation gemäß einer Ausführungsform der vorliegenden Erfindung wird wie folgt gezeigt: Tabelle 13.
    layout_mapping_extension() { Deskriptor
    ...
    for (i=0 i<num_of_layout_faces-1; i++ ) {
    layout_face[i] ue(v)
    layout_rotation[i] ue(v)
    }
    layout_rotation[num_of_layout_faces-1] ue(v)
    }
  • In der vorstehenden Syntaxtabelle spezifiziert die Syntax num_of_layout_faces den Index in den übrigen num_of_layout_faces - i Flächen als die korrespondierende Fläche für die i-te Position in der Anordnung, und der Wert von layout_face[i] soll in dem Bereich von einschließlich 0 bis einschließlich (num_of_layout_faces- i - 1) liegen. Die Syntax layout_face[num_of_layout_faces- 1] wird abgeleitet, gleich der letzten übrigen Fläche zu sein. Die Syntax layout_face[i] spezifiziert die korrespondierende Flächenrotation für die i-te Position in der Anordnung, wie in Tabelle 14 oder Tabelle 15 spezifiziert, und der Wert von layout_face[i] soll in dem Bereich von einschließlich 0 bis einschließlich 3 (oder 1) liegen. Tabelle 14.
    layout_rotation[i] Rotationsgrad
    0 0
    1 -90
    2 +90
    3 +180
    Tabelle 15.
    layout_rotation[i] Rotationsgrad
    0 0
    1 -90
  • Gemäß einer anderen Ausführungsform wird ein beispielhafter Syntaxaufbau für die Anordnungssignalisierung in Tabelle 16a und Tabelle 16b gezeigt, wobei eine zusätzliche Syntax für die Informationen der Permutation und der Rotation dieser sechs kubischen Flächen signalisiert wird. Eine vorgegebene relative Lage der kubischen Flächen. Das anfängliche Feld kubischer Flächen ist gleich {Left, Front, Right, Rear, Top, Bottom}. Die Bezeichnung von Indizes kubischer Flächen und einer korrespondierenden äquirektangulären Projektion sind in 11 gezeigt. Tabelle 16a.
    Extension_data(i) { Deskriptor
    While (next_bits(32) == extension_startcode) {
    extension_startcode f(32)
    if (i == 0) {
    if (next_bits(4)== ‘0010’)
    sequence_display_extension()
    else if (next_bits(4) == ‘0011’)
    temporal_scalability_extension()
    else if (next_bits(4) == ‘0100’)
    copyright_extension()
    else if (next_bits(4) == ‘1010’)
    mastering_display_and_content_metadata_extension()
    else if (next_bits(4) == ‘1011’)
    camera_parameters_extension()
    else if (next_bits(4) == ' 1100')
    layout_mapping_extension()
    else
    ...
    Tabelle 16b.
    layout_mapping_extension() { Deskriptor
    num_of_layout_face_minus1 ue(v)
    for (i=0 i<num_of_layout_face_minus1; i++ ) {
    layout_face[i] ue(v)
    layout_rotation[i] ue(v)
    }
    layout_rotation[num_of_layout_face_minus1] ue(v)
    }
  • In der vorstehenden Syntaxtabelle spezifiziert num_of_layout_face_minus1 die Gesamtzahl von Flächen in der Anordnung. Die Syntax num_of_layout_faces wird abgeleitet, num_of_layout_face_minus1 + 1 zu sein. Die Syntax layout_face[i] spezifiziert den Index in den übrigen (num_of_layout_faces- i) Flächen als die korrespondierende Fläche für die i-te Position in der Anordnung, und der Wert von layout_face[i] soll in dem Bereich von einschließlich 0 bis einschließlich (num_of_layout_face_minus1 - i) liegen. Die Syntax layout_face[num_of_layout_face_minus1] wird abgeleitet, gleich der letzten übrigen Fläche zu sein. Die Syntax layout_rotation[i] spezifiziert die korrespondierende Flächenrotation für die i-te Position in der Anordnung, wie in Tabelle 17 spezifiziert, und der Wert von layout_rotation[i] soll in dem Bereich von einschließlich 0 bis einschließlich 3 liegen. Tabelle 17.
    layout_rotation[i] Rotationsgrad (entgegen dem Uhrzeigersinn)
    0 0
    1 -90
    2 +90
    3 +180
  • Die Reihenfolge der Position in jeder kubischen Anordnung (d.h. layout_face[i]) ist in 12 für eine 1x6-Anordnung 1210, eine 2x3-Anordnung 1220, eine 3x2-Anordnung 1230 und eine 6x1-Anordnung 1240 gezeigt. 13 stellt ein Beispiel einer Vorgabeanordnung 1310 der sechs kubischen Flächen und eine kubische Ziel-3x2-Anordnung 1320 dar.
  • Ein Beispiel eines Signalisierens der sechsflächigen Anordnung gemäß der vorstehenden Ausführungsform ist in der nachfolgenden Tabelle gezeigt. Für i=0, 1 und 2 korrespondieren die ersten drei Anordnungsflächenwahlen zu den ersten Positionen in der Liste (d.h. 0 {Left}, 0 {Front}, und 0 {Right}). Entsprechend wird Index 0 für i=0, 1 und 2 ausgewählt. Für i-3 wird die zweite Position in der Liste (d.h. 1 {Top}) ausgewählt. Entsprechend wird Index 1 signalisiert. Für i=4 wird die erste zweite Position in der Liste (d.h. 0 {Rear}) ausgewählt. Entsprechend wird Index 0 signalisiert. Es besteht keine Notwendigkeit, den Index für die letzte sechsflächige Anordnung zu signalisieren, da es nur eine übrige kubische Fläche gibt. Layout_rotation[i] wird jedoch für die letzte kubische Fläche (d.h. i=5) benötigt. Tabelle 18.
    Schritt #0: num_of_layout_face_minus1 = 5
    Schritt #1 Übrige Flächen im sechsflächigen Feld layout_face[i] layout_rotation[i]
    i = 0 {Left(0), Front(1), Right(2), Rear(3), Top(4), Bottom(5)} 0 {Left} 0
    i = 1 {Front(0), Right(1), Rear(2), Top(3), Bottom(4)} 0 {Front} 0
    i = 2 {Right(0), Rear(1), Top(2), Bottom(3)} 0 {Right} 0
    i = 3 {Rear(0), Top(1), Bottom(2)} 1 {Top} 1
    i = 4 {Rear(0), Bottom(1)} 0 {Rear} 2
    Schritt #2:
    Die letzte Position der Anordnung ist kubische Fläche {Bottom} und layout_rotation[num_of_layout_face_minus1] = 1
  • In einer anderen Ausführungsform weist der Syntaxaufbau für ein Anordnungssignalisieren eine zusätzliche Syntax auf, um Informationen der Permutation und der Rotation dieser sechs kubischen Flächen zu signalisieren. Die vorgegebene relative Lage von kubischen Flächen und ihre Indizes sind in 14 gezeigt, wobei der Index kubischer Flächen 1410 und eine korrespondierende äquirektanguläre Projektion 1420 gezeigt sind.
  • Ein beispielhafter Syntaxaufbau gemäß der vorstehenden Ausführungsform ist in Tabelle 19a und Tabelle 19b gezeigt. In Tabelle 19a ist die mapping_extension() definiert, wie durch den Text in Kursivschrift angezeigt. Die Details der mapping_extension() sind in Tabelle 19b gezeigt. Tabelle 19a.
    Extension data(i) { Deskriptor
    While (next_bits(32) = extension_start_code ) {
    extension­_start_code f(32)
    if(i == 0) {
    if (next_bits(4) == ‘0010’)
    sequence_display_extension()
    else if (next_bits(4) == ‚0011‘)
    temporal_scalability _extension()
    else if (next_bits(4) == ‘0100’)
    copyright_extension()
    else if (next_bits(4) == ‘1010’)
    mastering_display_and_content_metadata_extension()
    else if (next_bits(4) == ‚1011‘)
    camera_parameters_extension()
    else if (next_bits(4) == ‘xxxx’)
    mapping extension ()
    else
    Tabelle 19b.
    mapping_extension() { Deskriptor
    num_of_layout_face_minus1 ue(v)
    for (i=0; i<num_of_layout_face_minus1; i++) {
    layout_face[i] ue(v)
    layout_rotation[i] ue(v)
    }
    layout_rotation[num_of_layout_face_minus1] ue(v)
    }
  • In den vorstehenden Tabellen spezifiziert die Syntax num_of_layout_face_minus1 die Gesamtzahl von Flächen in der Anordnung. Die Syntax num_of_layout_faces wird abgeleitet, num_of_layout_face_minus1 + 1 zu sein. Die Syntax layout_face[i] spezifiziert den Index kubischer Flächen als die korrespondierende Fläche für die i-te Position in der Anordnung, und der Wert von layout_face[i] soll in dem Bereich von einschließlich 0 bis einschließlich (num_of_layout_face_minus1) liegen. Die Syntax layout_face[num_of_layout_face_minus1] wird abgeleitet, gleich der letzten übrigen Fläche zu sein. Die Syntax layout_rotation[i] spezifiziert die korrespondierende Flächenrotation für die i-te Position in der Anordnung, wie in Tabelle 20 spezifiziert, und der Wert von layout_rotation[i] soll in dem Bereich von einschließlich 0 bis einschließlich 3 liegen. Tabelle 20.
    layout_rotation[i] Rotationsgrad (entgegen dem Uhrzeigersinn)
    0 0
    1 -90
    2 +90
    3 +180
  • Eine andere beispielhafte Reihenfolge der Position in jeder kubischen Anordnung (d.h. layout_face[i]) ist in 15 für eine 1x6-Anordnung 1510, eine 2x3-Anordnung 1520, eine 3x2-Anordnung 1530 und eine 6x1-Anordnung 1540 gezeigt.
  • Ein anderer beispielhafter Syntaxaufbau gemäß der vorstehenden Ausführungsform ist in Tabelle 21 gezeigt. Tabelle 21.
    mapping_extension() { Deskriptor
    mapping_format ue(v)
    if (mapping format == ‚CUBICFACE‘) {
    cubic_type ue(v)
    default _layout_flag u(1)
    if(default_layout_flag) {
    for (i=0; i<5; i++ ) {
    layout_face[i] ue(v)
    layout_rotation[i] ue(v)
    }
    layout_rotation[5] ue(v)
    }
    }
    else if (mapping _format == ‚EQUIRECTANGULAR‘)
    ...
    else if (mapping_format == ‚180-3D‘)
    ...
    else if (mapping_format == ‚CYLINDERMAP‘)
    ...
    }
  • In der vorstehenden Tabelle spezifiziert mapping_format das Eingabeabbildungsformat eines 360-Grad-Videos, wie in der nachfolgenden Tabelle spezifiziert, wobei der Wert von mapping_format in dem Bereich von einschließlich 0 bis einschließlich 3 liegen soll. Tabelle 22.
    Value Beschreibung
    0 CUBICFACE
    1 EQUIRECTANGULAR
    2 180-3D
    3 CYLINDERMAP
  • In der Tabelle 21 spezifiziert cubic_type den kubischen Typ in dem kubischen Format (cubic format), wie in der Tabelle 23 spezifiziert, und der Wert von cubic_type soll on dem Bereich von einschließlich 0 bis einschließlich 3 liegen. Tabelle 23.
    Value Beschreibung
    0 1×6 cubic format
    1 2×3 cubic format
    2 3×2 cubic format
    3 6×1 cubic format
  • Die Syntax default_layout_flag gleich 1 zeigt an, dass die kubische Anordnung der Vorgabeanordnung folgt, wie in Tabelle 24 spezifiziert. Die Syntax default_layout_flag gleich 0 zeigt an, dass die kubische Vorgabeanordnung nicht vorhanden ist und die korrespondierende Fläche und Rotation für jede Position explizit signalisiert wird. Tabelle 24 spezifiziert die Vorgabeanordnung. Die korrespondierende Fläche und Rotation für jede Position in der kubischen Anordnung gemäß der in 12 beschriebenen Reihenfolge wird wie folgt spezifiziert. Die Abbildung von der äquirektangulären Projektion zu den kubischen Flächen ist in 11 definiert. Tabelle 24.
    Cubic_type Vorgabeanordnung
    1x6 cubic format {Left(-900), Front(-900), Right(-900), Top(+1800), Rear(00), Bottom(+1800)}
    2x3 cubic format {Left(-900), Top(+1800), Front(-900), Rear(00), Right(-900), Bottom(+1800)}
    3×2 cubic format {Left(00), Front(00), Right(00), Top(-900), Rear(+900), Bottom(-900)}
    6×1 cubic format {Left(00), Front(00), Right(00), Top(-900), Rear(+900), Bottom(-900)}
  • In Tabelle 21 spezifiziert layout_face[i] den Index in den übrigen Flächen als die korrespondierende Fläche für die i-te Position in der Anordnung. Die Fläche und Rotation für jede Position (d.h. layout_face[i] und layout_rotation[i]) gemäß der in 12 beschriebenen Reihenfolge werden iterativ wie folgt signalisiert. Das anfängliche (Flächenauswahl-) Feld weist alle sechs Flächen in der Reihenfolge von {Left, Front, Right, Rear, Top, Bottom} auf. Für die erste Position wird layout_face[0] signalisiert, um den Index einer ausgewählten Fläche in dem Feld (d.h. {Left, Front, Right, Rear, Top, Bottom}) als die korrespondierende Fläche für die Position 0 anzuzeigen. Der Wert von layout_face[0] soll in dem Bereich von einschließlich 0 bis einschließlich 5 liegen. Die ausgewählte Fläche für die Position 0 wird danach von dem Feld für übrige Kandidaten entfernt. Für die i-te Position wird layout_face[i] signalisiert, um einen Index in dem aktualisierten Feld anzuzeigen, das aus den übrigen nicht ausgewählten Flächen aufgebaut ist, als die korrespondierende Fläche für die Position i anzuzeigen. Der Wert von layout_face[i] soll in dem Bereich einschließlich 0 bis einschließlich 5 - i liegen. Die korrespondierende ausgewählte Fläche für die Position i wird danach von dem Feld von übrigen Kandidaten entfernt. Für die letzte Position wird abgeleitet, dass sie die letzte übrige nicht ausgewählte Fläche ist.
  • In Tabelle 21 spezifiziert layout_rotation[i] die korrespondierende Flächenrotation für die i-te Position in der Anordnung, wie in Tabelle 20 spezifiziert, und der Wert von layout_rotation[i] soll in dem Bereich von einschließlich 0 bis einschließlich 3 liegen.
  • Gemäß einer anderen Ausführungsform ist ein beispielhafter Syntaxaufbau für die Anordnungssignalisierung in Tabelle 25 gezeigt, wobei eine zusätzliche Syntax für die Informationen der Permutation und der Rotation dieser sechs kubischen Flächen signalisiert wird. Tabelle 25.
    mapping_extension() { Deskriptor
    mapping_format u(8)
    if (mapping format == ‚CUBICFACE‘) {
    cubic_type u(4)
    default_layout_flag u(1)
    if(default_layout_flag) {
    for (i=0; i<6; i++ ) {
    layout_face[i] u(3)
    layout_rotation[i] u(2)
    }
    }
    }
    else if (mapping _format == ‚EQUIRECTANGULAR‘)
    ...
    else if (mapping_format== ‚180-3D‘)
    ...
    else if (mapping _format == ‚CYLINDERMAP‘)
    ...
    }
  • In einer anderen Ausführungsform der vorliegenden Erfindung wird, wenn sechsflächig (cubicface) als das Anordnungsformat ausgewählt wird, ein zweites Kennzeichen in der Sequenzebene, der Ansichtsebene, der Bildebene, der Slice-Ebene, der Tile-Ebene, dem SPS, dem VPS oder dem APS des Bitstroms übertagen, um einen kubischen Typ von einem Satz von kubischen Typen auszuwählen, welcher mindestens zwei von einem kubischen 1x6-Format, einem kubischen 2x3-Format, einem kubischen 3x2-Format und einem kunbischen 6x1-Format umfasst.
  • In einer anderen Ausführungsform wird ein Kennzeichen in der Sequenzebene, der Ansichtsebene, der Bildebene, der Slice-Ebene, der Tile-Ebene, dem SPS, dem VPS oder dem APS des Bitstroms übertragen, um anzuzeigen, ob eine vordefinierte Vorgabeanordnung für kubisch oder ein anderes Format verwendet wird. Wenn die vordefinierte Vorgabeanordnung für kubisch oder ein anderes Format nicht verwendet wird, dann wird die Anordnung explizit in den Bitstrom übertragen. Die vordefinierte Anordnung für die kubische Fäche könnte wie Tabelle 24 definiert sein.
  • Andere vordefinierte Anordnungen können ebenfalls verwendet werden. Zum Beispiel kann eine unterschiedliche kubische 6x1-Anordnung auch, wie in 16a gezeigt, definiert werden. Eine unterschiedliche kubische 3x2-Anordnung ist in 16b gezeigt. Zwei unterschiedliche kubische 2x3-Anordnungen (1610 und 1611) sind in 16c gezeigt. Sechs unterschiedliche kubische 1x6-Anordnungen (1620 bis 1625) sind in 16d gezeigt.
  • Um die Anordnung explizit zu signalisieren, wird (werden) die korrespondierende(n) Fläche(n) und/oder die zu jeder korrespondierenden Fläche gehörende(n) Rotation(en) in dem Bitstrom übertragen. In einem Beispiel weist ein anfängliches (Flächenauswahl-) Feld mindestens zwei von {Left, Front, Right, Rear, Top, Bottom} auf, wobei eine vordefinierten Reihenfolge gegeben ist.
  • Für die erste Position wird eine Syntax signalisiert, um den Index einer ausgewählten Fläche in dem gegebenen Feld als die korrespondierende Fläche für die erste Position anzuzeigen, und der Wert der Syntax soll in dem Bereich von 0 bis (N - 1) liegen, wobei N die Anzahl aller Flächen repräsentiert.
  • Für die i-te Position wird eine andere Syntax signalisiert, um den Index in dem aktualisierten Feld, das aus den übrigen nicht ausgewählten Flächen aufgebaut ist, als die korrespondierende Fläche für die Position i anzuzeigen, und der Wert dieser Syntax soll in dem Bereich von einschließlich 0 bis einschließlich (N - 1) liegen. Für die letzte Position wird hergeleitet, dass sie die letzte übrige, nicht ausgewählte Fläche ist.
  • In einem anderen Beispiel weist ein anfängliches (Flächenauswahl-) Feld mindestens zwei von {Left, Front, Right, Rear, Top, Bottom} auf, wobei eine vordefinierten Reihenfolge gegeben ist.
  • Für die erste Position wird eine Syntax signalisiert, um den Index einer ausgewählten Fläche in dem gegebenen Feld als die korrespondierende Fläche für die erste Position anzuzeigen, und der Wert der Syntax soll in dem Bereich von 0 bis (N - 1) liegen, wobei N die Anzahl aller Flächen repräsentiert. Die ausgewählte Fläche für die erste Position wird danach von dem Feld entfernt.
  • Für die i-te Position wird eine andere Syntax signalisiert, um einen Index in dem aktualisierten Feld, das aus den übrigen nicht ausgewählten Flächen besteht, als die korrespondierende Fläche für die Position i anzuzeigen, und der Wert dieser Syntax soll in dem Bereich von einschließlich 0 bis einschließlich (N - 1 - i) liegen. Die korrespondierende ausgewählte Fläche für die Position i wird danach von dem Feld entfernt. Für die letzte Position wird hergeleitet, dass sie die letzte übrige nicht ausgewählte Fläche ist.
  • Um die korrespondierende Flächenrotation für jede Position in der Anordnung zu spezifizieren, wird eine Syntax für jede Position übertragen, um die korrespondierende Flächenrotation von einem Satz von Rotationskandidaten anzuzeigen, welcher mindestens zwei von (-90°, +90°, +180°, 0°) aufweist. Die Spezifikation des Index der Rotation kann wie Tabelle 20 definiert werden.
  • 17 stellt ein beispielhaftes Ablaufdiagramm eines Systems dar, dass Omnidirektionalbilder gemäß einer Ausführungsform der vorliegenden Erfindung verarbeitet. Die in dem Ablaufdiagramm gezeigten Schritte sowie andere Ablaufdiagramme in dieser Offenbarung können als Programm-Codes implementiert sein, die auf einem oder mehreren Prozessoren (z.B. eine oder mehrere CPUs) auf der Codierer-Seite und/oder der Decodierer-Seite ausführbar sind. Die in dem Ablaufdiagramm gezeigten Schritt können auch basierend auf Hardware wie einer oder mehreren elektronischen Vorrichtungen oder Prozessoren implementiert sein, die angeordnet sind, um die Schritte in dem Ablaufdiagramm auszuführen. Gemäß diesem Verfahren wird ein aktueller Satz von Omnidirektionalbildern, die von jedem sphärischen Bild in einer 360-Grad-Panoramavideosequenz unter Verwendung eines ausgewählten Projektionsformats konvertiert sind, in Schritt 1710 empfangen, wobei das ausgewählte Projektionsformat zu einer Projektionsformatgruppe gehört, die ein sechsflächiges Format umfasst, und der aktuelle Satz von Omnidirektionalbildern mit dem sechsflächigen Format aus sechs kubischen Flächen besteht. Ob das ausgewählte Projektionsformat zu dem sechsflächigen Format korrespondiert, wird in Schritt 1720 geprüft. Wenn das ausgewählte Projektionsformat zu dem sechsflächigen Format korrespondiert, werden die Schritte 1730 und 1740 ausgeführt. Andernfalls (d.h. der „Nein“-Pfad für kein kubisches Format), werden die Schritte 1730 und 1740 übersprungen. In Schritt 1730 werden ein oder mehrere Abbildungssyntaxelemente zum Abbilden des aktuellen Satzes von Omnidirektionalbildern in ein aktuelles Cubemap-Bild, das zu einem Ausgabeanordnungsformatsatz gehört, signalisiert, wobei der Ausgabeanordnungsformatsatz mindestens zwei Ausgabeanordnungsformate aufweist, die von einer Anordnungsgruppe ausgewählt werden, die eine Cubemap-Anordnung und ein äquirektanguläres Format aufweist. In Schritt 1740 werden codierte Daten in einem Bitstrom, der das eine oder die mehreren Abbildungssyntaxelemente aufweist, für den aktuellen Satz von Omnidirektionalbildern bereitgestellt.
  • Das vorstehend gezeigte Ablaufdiagramm ist dazu gedacht, als Beispiele zu dienen, um Ausführungsformen der vorliegenden Erfindung darzustellen. Eine Person mit Kenntnissen auf dem Gebiet kann die vorliegende Erfindung durch Modifizieren von individuellen Schritten, Aufteilen oder Kombinieren von Schritten mit einem Verlassen von dem Geist der vorliegenden Erfindung praktizieren.
  • Die vorstehende Beschreibung wird präsentiert, um einer Person mit gewöhnlichen Kenntnissen auf dem Gebiet zu ermöglichen, die vorliegende Erfindung, wie sie in dem Kontext einer bestimmten Anwendung und ihrer Anforderungen bereitgestellt wird, auszuführen. Verschiedene Modifikationen an den beschriebenen Ausführungsformen sind für diejenigen mit Kenntnissen auf dem Gebiet offensichtlich, und die allgemeinen, hier definierten Prinzipien können auf andere Ausführungsformen angewendet werden. Deshalb ist es nicht beabsichtigt, die vorliegende Erfindung auf die bestimmten gezeigten und beschriebenen Ausführungsformen zu beschränken, sondern sie soll mit dem weitesten Umfang übereinstimmen, der mit den hier offenbarten Prinzipien und Neuheitsmerkmalen konsistent ist. In der vorstehenden detaillierten Beschreibung sind verschiedene spezifische Details dargestellt, um ein vollständiges Verständnis der vorliegenden Erfindung bereitzustellen. Dennoch wird von denjenigen mit Kenntnissen auf dem Gebiet verstanden, dass die vorliegende Erfindung ausgeführt werden kann.
  • Eine Ausführungsform der vorliegenden Erfindung, wie vorstehend beschrieben, kann in verschiedener Hardware, Software-Codes oder einer Kombination von beidem implementiert werden. Zum Beispiel kann eine Ausführungsform der vorliegenden Erfindung eine oder mehrere elektronische Schaltungen, die in einen Videokompressions-Chip integriert sind, oder ein Programm-Code, der in eine Videokompressions-Software integriert ist, sein, um die hier beschriebene Verarbeitung auszuführen. Eine Ausführungsform der vorliegenden Erfindung kann auch ein Programm-Code sein, der auf einem digitalen Signalprozessor (DSP) ausgeführt wird, um die hier beschriebene Verarbeitung auszuführen. Die Erfindung kann auch eine Anzahl von Funktionen involvieren, die durch einen Computer-Prozessor, einen digitalen Signalprozessor, einen Mikro-Prozessor oder ein Field Programmable Gate Array (FPGA) auszuführen sind. Diese Prozessoren können konfiguriert sein, durch Ausführen von maschinenlesbarem Software-Code oder Firmware-Code, welcher die bestimmten Verfahren definiert, die durch die Erfindung verkörpert werden, bestimmte Aufgaben gemäß der Erfindung auszuführen. Der Software-Code oder der Firmware-Code können in unterschiedlichen Programmiersprachen und unterschiedlichen Formaten oder Stilen entwickelt werden. Der Software-Code kann auch für unterschiedliche Ziel-Plattformen übersetzt werden. Unterschiedliche Code-Formate, -Stile und -Sprachen von Software-Codes und andere Mittel eines Konfigurierens von Code, um die Aufgaben gemäß der Erfindung auszuführen, werden jedoch nicht von dem Geist und Umfang der Erfindung abweichen.
  • Die Erfindung kann in anderen spezifischen Formen ausgeführt werden, ohne von ihrem Geist oder essenziellen Eigenschaften abzuweichen. Die beschriebenen Beispiele sollen in allen Bezügen nur als darstellend und nicht einschränkend betrachtet werden. Der Umfang der Erfindung wird deshalb eher durch die angehängten Ansprüche angezeigt als durch die vorstehende Beschreibung. Alle Änderungen, welche innerhalb der Bedeutung und dem Umfang einer Äquivalenz der Ansprüche bleiben, werden durch ihren Umfang eingeschlossen.
  • 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 62332505 [0001]
    • US 62356571 [0001]

Claims (19)

  1. Verfahren zum Bearbeiten von Omnidirektionalbildern, wobei das Verfahren aufweist: Empfangen eines aktuellen Satzes von Omnidirektionalbildern, die von jedem sphärischen Bild in einer 360-Grad-Panoramavideosequenz unter Verwendung eines ausgewählten Projektionsformats konvertiert sind, wobei das ausgewählte Projektionsformat zu einer Projektionsformatgruppe gehört, die ein sechsflächiges Format umfasst, und der aktuelle Satz von Omnidirektionalbildern mit dem sechsflächigen Format aus sechs kubischen Flächen besteht; und wenn das ausgewählte Projektionsformat zu dem sechsflächigen Format korrespondiert: Signalisieren eines oder mehrerer Abbildungssyntaxelemente, um den aktuellen Satz von Omnidirektionalbildern in ein aktuelles Cubemap-Bild abzubilden, das zu einem Ausgabeanordnungsformatsatz gehört, der mindestens zwei Ausgabeanordnungsformate aufweist, die von einer Anordnungsgruppe ausgewählt sind, die eine Cubemap-Anordnung und ein äquirektanguläres Format aufweist; und Bereitstellen von codierten Daten in einem Bitstrom, der das eine oder die mehreren Abbildungssyntaxelemente für den aktuellen Satz von Omnidirektionalbildern aufweist.
  2. Verfahren gemäß Anspruch 1, wobei die Projektionsformatgruppe ein 180-3D-Format, ein Cylindermap-Format, eine Cubemap_32-Anordnung, eine Cubemap_180-Anordnung, eine Plane_poles-Anordnung, eine Plane_poles_6-Anordnung, eine Plane_poles_cubemap-Anordnung, eine Plane_cubemap-Anordnung, eine Plane_cubemap_32-Anordnung, eine Flat_fixed-Anordnung, eine Cubemap_1×6-Anordnung, eine Cubemap_2x3-Anordnung, eine Cubemap_3x2-Anordnung und eine Cubemap_6x1-Anordnung aufweist.
  3. Verfahren gemäß Anspruch 2, wobei, wenn der aktuelle Satz von Omnidirektionalbildern in dem äquirektangulären Format vorliegt, der aktuelle Satz von Omnidirektionalbildern in das sechsflächige Format konvertiert wird, und das eine oder die mehreren Abbildungssyntaxelemente für den konvertierten aktuellen Satz von Omnidirektionalbildern durch Behandeln des konvertierten Satzes von Omnidirektionalbildern, als hätte er das sechsflächige Format, signalisiert werden.
  4. Verfahren gemäß Anspruch 1, wobei das eine oder die mehreren Abbildungssyntaxelemente einen aktuellen kubischen Typ aufweisen, der zu dem aktuellen Cubemap-Bild gehört, und der aktuelle kubische Typ zu einem aktuellen Ausgabeanordnungsformatsatz gehört, der aus einer 1x6-Cubemap-Anordnung, einer 2x3-Cubemap-Anordnung, einer 3x2-Cubemap-Anordnung und einer 6x1-Cubemap-Anordnung besteht.
  5. Verfahren gemäß Anspruch 4, wobei das eine oder die mehreren Abbildungssyntaxelemente weiter Anordnungsabbildungsindizes aufweisen, wobei jeder Anordnungsabbildungsindex eine kubische Fläche des aktuellen Satzes von Omnidirektionalbildern mit einer Position des aktuellen Cubemap-Bilds assoziiert.
  6. Verfahren gemäß Anspruch 5, wobei jeder Anordnungsabbildungsindex unter Verwendung einer Code-Tabelle mit einer Anzahl von Einträgen gleich einer Anzahl von abzubildenden kubischen Flächen codiert wird.
  7. Verfahren gemäß Anspruch 5, wobei ein Anordnungsabbildungsindex für jede kubische Fläche des aktuellen Satzes von Omnidirektionalbildern außer einer letzten kubischen Fläche des aktuellen Satzes von Omnidirektionalbildern signalisiert wird.
  8. Verfahren gemäß Anspruch 7, wobei jeder Anordnungsabbildungsindex unter Verwendung einer Code-Tabelle mit einer Anzahl von Einträgen gleich einer Anzahl von übrigen abzubildenden kubischen Flächen codiert wird.
  9. Verfahren gemäß Anspruch 5, wobei das eine oder die mehreren Abbildungssyntaxelemente weiter Rotationsindizes aufweisen, wobei jeder Rotationsindex einen Rotationswinkel für eine kubische Fläche des aktuellen Satzes von Omnidirektionalbildern an der einen Position des aktuellen Cubemap-Bilds anzeigt.
  10. Verfahren gemäß Anspruch 9, wobei ein Rotationsindex für jede kubische Fläche des aktuellen Satzes von Omnidirektionalbildern signalisiert wird.
  11. Verfahren gemäß Anspruch 10, wobei jeder Rotationsindex unter Verwendung einer Code-Tabelle codiert wird, um einen Rotationswinkel anzuzeigen, der von einem Rotationswinkelsatz ausgewählt ist, der zu {0° und 90°}, {0°, +90°, -90° und 180°} oder{0°, 90°, 180° und 270°} korrespondiert.
  12. Verfahren gemäß Anspruch 9, wobei das eine oder die mehreren Abbildungssyntaxelemente weiter ein Vorgabeanordnungskennzeichen aufweisen, um anzuzeigen, ob ein Vorgabe-Cubemap-Bild für den aktuellen Satz von Omnidirektionalbildern mit dem aktuellen kubischen Typ verwendet wird, und wobei die Anordnungsabbildungsindizes und die Rotationsindizes für den aktuellen Satz von Omnidirektionalbildern nur signalisiert werden, wenn das Vorgabeanordnungskennzeichen anzeigt, dass das Vorgabe-Cubemap-Bild nicht für den aktuellen Satz von Omnidirektionalbildern verwendet wird.
  13. Verfahren gemäß Anspruch 9, wobei das eine oder die mehreren Abbildungssyntaxelemente weiter ein Vorgabeanordnungskennzeichen aufweisen, um anzuzeigen, ob ein Vorgabe-Cubemap-Bild für den aktuellen Satz von Omnidirektionalbildern mit dem aktuellen kubischen Typ verwendet wird, und wobei Vorgabeanordnungsabbildungsindizes und Vorgaberotationsindizes für den aktuellen Satz von Omnidirektionalbildern verwendet werden, wenn das Vorgabeanordnungskennzeichen anzeigt, dass das Vorgabe-Cubemap-Bild für den aktuellen Satz von Omnidirektionalbildern verwendet wird.
  14. Verfahren gemäß Anspruch 1, wobei der Ausgabeanordnungsformatsatz, der für den aktuellen Satz von Omnidirektionalbildern verwendet wird, in einer Sequenzebene, einer Ansichtsebene, einer Bildebene, einer Slice-Ebene, einem Sequenzparametersatz (SPS), einem Videoparametersatz (VPS) oder einem Applikationsparametersatz (APS) in einem Bitstrom für die 360-Grad-Panoramavideosequenz signalisiert wird.
  15. Verfahren gemäß Anspruch 1, wobei das eine oder die mehreren Abbildungssyntaxelemente in einer Sequenzebene, einer Ansichtsebene, einer Bildebene, einer Slice-Ebene, einem Sequenzparametersatz (SPS), einem Videoparametersatz (VPS) oder einem Applikationsparametersatz (APS) in dem Bitstrom für die 360-Grad-Panoramavideosequenz signalisiert werden.
  16. Verfahren gemäß Anspruch 1, wobei das eine oder die mehreren Abbildungssyntaxelemente vorausberechnet basierend auf einem oder mehreren Referenzabbildungssyntaxelementen signalisiert werden.
  17. Verfahren gemäß Anspruch 16, wobei mehrere Sätze von einem oder mehreren Referenzabbildungssyntaxelementen in einer Sequenzebene, einer Ansichtsebene oder einer Bildebene in dem Bitstrom für die 360-Grad-Panoramavideosequenz signalisiert werden und ein Kennzeichen in einer Slice-Ebene oder der Bildebene signalisiert wird, um das eine oder die mehreren Abbildungssyntaxelemente von den mehreren Sätzen von einem oder mehreren Referenzabbildungssyntaxelementen für den aktuellen Satz von Omnidirektionalbildern auszuwählen.
  18. Verfahren gemäß Anspruch 16, wobei ein oder mehrere Referenzabbildungssyntaxelemente durch ein oder mehrere erste Abbildungssyntaxelemente von einem vorhergehenden Bild, Slice oder Rahmen vorausberechnet werden.
  19. Vorrichtung zum Verarbeiten von Omnidirektionalbildern, wobei die Vorrichtung eine oder mehrere Elektronikschaltungen oder Prozessoren aufweist, die eingerichtet sind zum: Empfangen eines aktuellen Satzes von Omnidirektionalbildern, die von jedem sphärischen Bild in einer 360-Grad-Panoramavideosequenz unter Verwendung eines ausgewählten Projektionsformats konvertiert sind, wobei das ausgewählte Projektionsformat zu einer Projektionsformatgruppe gehört, die ein sechsflächiges Format umfasst, und der aktuelle Satz von Omnidirektionalbildern mit dem sechsflächigen Format aus sechs kubischen Flächen besteht; und wenn das ausgewählte Projektionsformat zu dem sechsflächigen Format korrespondiert: Signalisieren eines oder mehrerer Abbildungssyntaxelemente, um den aktuellen Satz von Omnidirektionalbildern in ein aktuelles Cubemap-Bild abzubilden, das zu einem Ausgabeanordnungsformatsatz gehört, der mindestens zwei Ausgabeanordnungsformate aufweist, die von einer Anordnungsgruppe ausgewählt sind, die eine Cubemap-Anordnung, eine Cubemap_32-Anordnung, eine Cubemap_180-Anordnung, eine Plane_poles-Anordnung, eine Plane_poles_6-Anordnung, eine Plane_poles_cubemap-Anordnung, eine Plane_cubemap-Anordnung, eine Plane-cubemap_32-Anordnung, eine Flat_fixed-Anordnung, eine Cubemap_1×6-Anordnung, eine Cubemap_2x3-Anordnung, eine Cubemap_3x2-Anordnung und eine Cubemap_6×1-Anordnung aufweist; und Bereitstellen von codierten Daten in einem Bitstrom, der das eine oder die mehreren Abbildungssyntaxelemente für den aktuellen Satz von Omnidirektionalbildern aufweist.
DE112017002339.4T 2016-05-06 2017-05-08 Verfahren und Vorrichtung zum Abbilden von Omnidirektionalbildern in ein Anordnungsausgabeformat Pending DE112017002339T5 (de)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201662332505P 2016-05-06 2016-05-06
US62/332,505 2016-05-06
US201662356571P 2016-06-30 2016-06-30
US62/356,571 2016-06-30
US15/585,224 US10249019B2 (en) 2016-05-06 2017-05-03 Method and apparatus for mapping omnidirectional image to a layout output format
US15/585,224 2017-05-03
PCT/CN2017/083476 WO2017190710A1 (en) 2016-05-06 2017-05-08 Method and apparatus for mapping omnidirectional image to a layout output format

Publications (1)

Publication Number Publication Date
DE112017002339T5 true DE112017002339T5 (de) 2019-02-21

Family

ID=60202789

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112017002339.4T Pending DE112017002339T5 (de) 2016-05-06 2017-05-08 Verfahren und Vorrichtung zum Abbilden von Omnidirektionalbildern in ein Anordnungsausgabeformat

Country Status (6)

Country Link
US (1) US10249019B2 (de)
CN (1) CN109076240B (de)
DE (1) DE112017002339T5 (de)
GB (1) GB2565474B (de)
RU (1) RU2716156C1 (de)
WO (1) WO2017190710A1 (de)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9984436B1 (en) * 2016-03-04 2018-05-29 Scott Zhihao Chen Method and system for real-time equirectangular projection
US10602191B2 (en) * 2016-05-13 2020-03-24 Gopro, Inc. Apparatus and methods for video compression
US10848668B2 (en) 2016-05-19 2020-11-24 Avago Technologies International Sales Pte. Limited 360 degree video recording and playback with object tracking
US11019257B2 (en) 2016-05-19 2021-05-25 Avago Technologies International Sales Pte. Limited 360 degree video capture and playback
US10681326B2 (en) * 2016-05-19 2020-06-09 AVAGO TECHNOLOGlES INTERNATIONAL SALES PTE. LIMITED 360 degree video system with coordinate compression
KR102312471B1 (ko) * 2016-07-01 2021-10-14 페이스북, 인크. 입체 이미지 캡처
US10771791B2 (en) * 2016-08-08 2020-09-08 Mediatek Inc. View-independent decoding for omnidirectional video
KR20190054060A (ko) * 2016-09-02 2019-05-21 브이아이디 스케일, 인크. 360도 비디오 정보의 시그널링을 위한 방법 및 시스템
US10999602B2 (en) 2016-12-23 2021-05-04 Apple Inc. Sphere projected motion estimation/compensation and mode decision
CN110326297B (zh) * 2016-12-27 2022-12-02 三星电子株式会社 用于对360度图像进行编码和解码的方法及装置
US10616551B2 (en) * 2017-01-27 2020-04-07 OrbViu Inc. Method and system for constructing view from multiple video streams
US11259046B2 (en) 2017-02-15 2022-02-22 Apple Inc. Processing of equirectangular object data to compensate for distortion by spherical projections
US10924747B2 (en) 2017-02-27 2021-02-16 Apple Inc. Video coding techniques for multi-view video
US10467775B1 (en) * 2017-05-03 2019-11-05 Amazon Technologies, Inc. Identifying pixel locations using a transformation function
US11093752B2 (en) 2017-06-02 2021-08-17 Apple Inc. Object tracking in multi-view video
US10754242B2 (en) 2017-06-30 2020-08-25 Apple Inc. Adaptive resolution and projection format in multi-direction video
US20190005709A1 (en) * 2017-06-30 2019-01-03 Apple Inc. Techniques for Correction of Visual Artifacts in Multi-View Images
CN108510434B (zh) * 2018-02-12 2019-08-20 中德(珠海)人工智能研究院有限公司 通过球幕相机进行三维建模的方法
CN108447086B (zh) * 2018-02-13 2019-02-26 视辰信息科技(上海)有限公司 一种环境贴图映射方法及装置
US10779006B2 (en) * 2018-02-14 2020-09-15 Qualcomm Incorporated Signaling 360-degree video information
TWI690728B (zh) 2018-03-02 2020-04-11 聯發科技股份有限公司 用於處理包括堆疊在具有填充的基於立方體的投影佈局中的投影面的基於投影的圖框的方法
US10922783B2 (en) * 2018-03-02 2021-02-16 Mediatek Inc. Cube-based projection method that applies different mapping functions to different square projection faces, different axes, and/or different locations of axis
WO2019166107A1 (en) 2018-03-02 2019-09-06 Huawei Technologies Co., Ltd. Apparatus and method for picture coding with selective loop-filtering
CN108734791B (zh) * 2018-03-30 2022-04-01 北京奇艺世纪科技有限公司 全景视频的处理方法和装置
WO2020001790A1 (en) 2018-06-29 2020-01-02 Huawei Technologies Co., Ltd. Apparatuses and methods for encoding and decoding a video signal
US20200213570A1 (en) * 2019-01-02 2020-07-02 Mediatek Inc. Method for processing projection-based frame that includes at least one projection face and at least one padding region packed in 360-degree virtual reality projection layout
US11303931B2 (en) 2020-06-10 2022-04-12 Mediatek Inc. Method and apparatus for processing projection-based frame having projection faces packed in hemisphere cubemap projection layout with face packing constraints
US11949909B2 (en) * 2020-12-29 2024-04-02 Qualcomm Incorporated Global motion estimation using road and ground object labels for geometry-based point cloud compression
DE102022133684A1 (de) 2021-12-17 2023-06-22 Rivian Ip Holdings, Llc Adaptives fahrzeug-hlk system in abhängigkeit von der bedienerposition relativ zum fahrzeug

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002262158A (ja) 2001-02-28 2002-09-13 Sony Corp 画像入力装置
JP2003141562A (ja) 2001-10-29 2003-05-16 Sony Corp 非平面画像の画像処理装置及び画像処理方法、記憶媒体、並びにコンピュータ・プログラム
JP4945578B2 (ja) * 2007-01-04 2012-06-06 肇 鳴川 情報処理方法
KR100882011B1 (ko) 2007-07-29 2009-02-04 주식회사 나노포토닉스 회전 대칭형의 광각 렌즈를 이용하여 전방위 영상을 얻는 방법 및 장치
JP5652142B2 (ja) * 2010-11-11 2015-01-14 ソニー株式会社 撮像装置、表示制御方法およびプログラム
US9426462B2 (en) 2012-09-21 2016-08-23 Qualcomm Incorporated Indication and activation of parameter sets for video coding
US9357199B2 (en) 2013-01-04 2016-05-31 Qualcomm Incorporated Separate track storage of texture and depth views for multiview coding plus depth
US9930363B2 (en) * 2013-04-12 2018-03-27 Nokia Technologies Oy Harmonized inter-view and view synthesis prediction for 3D video coding
EP2824885B1 (de) * 2013-07-12 2019-01-23 Provenance Asset Group LLC Manifest-Dateiformat zur Unterstützung von Panoramavideo
EP3110303A2 (de) 2014-02-26 2017-01-04 Ecole Polytechnique Fédérale de Lausanne (EPFL) Endoskopische multikameravorrichtung mit grossem sichtfeld und omnidirektionaler beleuchtung
CN103873773B (zh) 2014-03-04 2015-04-15 中国人民解放军国防科学技术大学 基于主辅协同双光路设计的全向成像方法

Also Published As

Publication number Publication date
GB201818485D0 (en) 2018-12-26
CN109076240B (zh) 2021-11-16
RU2716156C1 (ru) 2020-03-06
GB2565474A (en) 2019-02-13
US20170323423A1 (en) 2017-11-09
WO2017190710A1 (en) 2017-11-09
US10249019B2 (en) 2019-04-02
GB2565474B (en) 2021-12-01
CN109076240A (zh) 2018-12-21

Similar Documents

Publication Publication Date Title
DE112017002339T5 (de) Verfahren und Vorrichtung zum Abbilden von Omnidirektionalbildern in ein Anordnungsausgabeformat
Wien et al. Standardization status of immersive video coding
US10904570B2 (en) Method for encoding/decoding synchronized multi-view video by using spatial layout information and apparatus of the same
DE112018005250T5 (de) Punktwolkenkomprimierung
DE69813230T2 (de) Verfahren zur markierung eines komprimierten digitalvideosignals
CN101888566B (zh) 立体视频编码率失真性能估计方法
Boev et al. Classification and simulation of stereoscopic artifacts in mobile 3DTV content
DE112018000280T5 (de) Entblockungsfilterung für 360-video
DE112019004696T5 (de) Verfahren zum Verarbeiten eines projektionsbasierten Rahmens
DE112017001540T5 (de) Verfahren und vorrichtung zum codieren von video unter verwendung signalabhängiger adaptiver quantisierung und decodierung
CN111819855B (zh) 视频码流中的取消标志指示
DE102013015821B4 (de) System und Verfahren zur Verbesserung der Videokodierung unter Verwendung von Inhaltsinformation
US20200228837A1 (en) Media information processing method and apparatus
DE102017009145A1 (de) Erfassung und Wiedergabe von 360-Grad-Videos
CA3018600C (en) Method, apparatus and stream of formatting an immersive video for legacy and immersive rendering devices
DE112016004284T5 (de) Signalisierung von High Dynamic Range- und Wide Color Gamut-Inhalt in Transportströmen
DE102019201370A1 (de) Verarbeitung von multidirektionalen bildern in räumlich geordneten videokodieranwendungen
DE112017003100T5 (de) Verfahren und Vorrichtung einer flächenunabhängigen Codierungs-Struktur für VR-Video
DE102019218316A1 (de) 3d-renderer-zu-videocodierer-pipeline für verbesserte visuelle qualität und geringe latenz
US20200267385A1 (en) Method for processing synchronised image, and apparatus therefor
US20200351507A1 (en) Method and apparatus for decoding video bitstream, method and apparatus for generating video bitstream, storage medium, and electronic device
DE102022106872A1 (de) Verfahren und system zur mehrschichtigen videocodierung
DE102011006036B4 (de) Verfahren und Vorrichtungen zur Bildung eines Prädiktionswertes
EP3800888A1 (de) Codierung und decodierung eines videos
US20200374558A1 (en) Image decoding method and device using rotation parameters in image coding system for 360-degree video

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication