DE102019218373A1 - Hemisphären-cubemap-projektionsformat inabbildungsumgebungen - Google Patents

Hemisphären-cubemap-projektionsformat inabbildungsumgebungen Download PDF

Info

Publication number
DE102019218373A1
DE102019218373A1 DE102019218373.5A DE102019218373A DE102019218373A1 DE 102019218373 A1 DE102019218373 A1 DE 102019218373A1 DE 102019218373 A DE102019218373 A DE 102019218373A DE 102019218373 A1 DE102019218373 A1 DE 102019218373A1
Authority
DE
Germany
Prior art keywords
format
image
areas
computing device
sphere
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
DE102019218373.5A
Other languages
English (en)
Other versions
DE102019218373A8 (de
Inventor
Jill Boyce
Maxym Dmytrychenko
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.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE102019218373A1 publication Critical patent/DE102019218373A1/de
Publication of DE102019218373A8 publication Critical patent/DE102019218373A8/de
Pending legal-status Critical Current

Links

Images

Classifications

    • G06T3/12
    • G06T3/16
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4038Scaling the whole image or part thereof for image mosaicing, i.e. plane images composed of plane sub-images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture

Abstract

Es ist ein Mechanismus zum Ermöglichen von Abbildungsumgebungen mit einem Hemisphären-Cubemap-Projektionsformat gemäß einer Ausführungsform beschrieben. Ein Verfahren von Ausführungsformen, wie hierin beschrieben, beinhaltet Aufnehmen, durch eine Kamera, die mit einem oder mehreren Prozessoren gekoppelt ist, eines Bildes mit einem Bildinhalt, wobei der Bildinhalt, der durch das Bild repräsentiert wird, derart omnidirektional ist, dass der Bildinhalt auf eine Sphäre gemappt wird, während er weniger als die Sphäre repräsentiert; Mappen des Bildes zu einer kubischen Repräsentation basierend auf sechs Flächen eines Würfels, wobei eine oder mehrere der sechs Flächen derart als inaktive Gebiete klassifiziert werden, dass sie unbelegt oder teilweise belegt bleiben; und Anordnen, basierend auf der kubischen Repräsentation, der sechs Flächen in einer kompakten Repräsentation durch das Vermeiden des Einschlusses der inaktiven Gebiete.

Description

  • VERWANDTE ANMELDUNG
  • Die vorliegende Anmeldung beansprucht den Vorteil und die Priorität der vorläufigen US-Anmeldung mit der Nr. 62/787,156 und dem Titel „HEMISPHERE CUBE MAP PROJECTION FORMAT“ durch Jill Boyce et al, eingereicht am 31. Dezember 2018, deren gesamte Inhalte hiermit durch Bezugnahme eingeschlossen werden.
  • GEBIET
  • Hierin beschriebene Ausführungsformen betreffen allgemein Datenverarbeitung und insbesondere das Ermöglichen von Abbildungsumgebungen mit Hemisphären-Cubemap-Projektionsformat.
  • HINTERGRUND
  • Herkömmliche Techniken sind nicht dafür bekannt, Cubemap-Projektion(CMP)-Formate für omnidirektionale Hemisphären-Inhalte zu definieren. Derartige herkömmliche Techniken für Cubemap-Layouts sind häufig ineffizient und leicht fehlerhaft gemacht.
  • Figurenliste
  • Ausführungsformen sind beispielhaft und nicht einschränkend in den Figuren der beigefügten Zeichnungen dargestellt, in denen sich gleiche Bezugszeichen auf ähnliche Elemente beziehen.
    • 1 veranschaulicht eine Rechenvorrichtung, die einen Vorwärtsprojektionsmechanismus gemäß einer Ausführungsform einsetzt.
    • 2 veranschaulicht den Vorwärtsprojektionsmechanismus von 1 und einen Inversprojektionsmechanismus gemäß einer Ausführungsform.
    • 3A veranschaulicht ein herkömmliches Cubemap-Layout.
    • 3B veranschaulicht ein herkömmliches CMP-basiertes Bild.
    • 3C veranschaulicht ein herkömmliches Äquirektanguläre-Projektion(ERP)-Format-basiertes Bild.
    • 3D veranschaulicht ein herkömmliches zugeschnittenes ERP-Format-basiertes Bild.
    • 3E veranschaulicht ein herkömmliches Semi-ERP-Format-basiertes Bild.
    • 3F veranschaulicht ein herkömmliches zugeschnittenes CMP-Format-basiertes Bild mit inaktiven Gebieten.
    • 4A veranschaulicht ein Hemisphären-CMP-Layout gemäß einer Ausführungsform.
    • 4B veranschaulicht eine zweidimensionale Hemisphären-CMP-Projektion mit Auffüllung gemäß einer Ausführungsform.
    • 4C veranschaulicht eine zweidimensionale Semi-ERP-Projektion mit Auffüllung gemäß einer Ausführungsform.
    • 4D veranschaulicht eine dreidimensionale sphärische Ansicht gemäß einer Ausführungsform.
    • 4E veranschaulicht ein Hemisphären-CMP-Format mit Gewichtete-Sphärische-Spitzen-Signal-zu-Rauschen-Verhältnis-Gewichtungen gemäß einer Ausführungsform.
    • 5 veranschaulicht eine Rechenvorrichtung die in der Lage ist, eine oder mehrere Ausführungsformen zu unterstützen und zu implementieren.
    • 6A veranschaulicht eine Transaktionssequenz über ein Panoramavideosystem mit einer Hemisphären-Cubemap gemäß einer Ausführungsform.
    • 6B veranschaulicht ein Verfahren zur Vorwärtsprojektion gemäß einer Ausführungsform.
    • 6C veranschaulicht ein Verfahren zur Inversprojektion gemäß einer Ausführungsform.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In der folgenden Beschreibung sind zahlreiche spezielle Einzelheiten dargelegt. Allerdings können Ausführungsformen wie hierin beschrieben ohne diese spezifischen Einzelheiten umgesetzt werden. In anderen Fällen wurden wohl bekannte Schaltungen, Strukturen und Techniken nicht im Detail gezeigt, um das Verständnis für diese Beschreibung nicht zu verschleiern.
  • Ausführungsformen liefern eine neuartige Technik zum Ermöglichen eines Hemisphären-Cubemap-Projektionsformats, das 180° x 180° omnidirektionale Hemisphären-Bilder oder -Videos repräsentiert, wie etwa jene, die durch eine einzelne Fischaugenlinse aufgenommen werden, sodass sie dann effizient unter Verwendung bestehender Bilder- oder Video-Codecs codiert werden können. Dieses Projektionsformat kann in einer SEI-Nachricht (Supplemental Enhancement Information) für den Einschluss in einen Videocodierungsstandard, wie etwa HEVC (High Efficiency Video Coding), beschrieben sein.
  • 1 veranschaulicht eine Rechenvorrichtung 100, die einen Vorwärtsprojektionsmechanismus 110 gemäß einer Ausführungsform einsetzt. Die Rechenvorrichtung 100 repräsentiert eine Kommunikations- und Datenverarbeitungsvorrichtung, einschließlich oder repräsentierend für (unter anderem) Smart-Sprachbefehlsvorrichtungen, intelligenten Personal Assistants, ein Haus-/Büroautomatisierungssystem, Haushaltsgeräte (z. B. Waschmaschinen, Fernseher usw.), mobile Vorrichtungen (z. B. Smartphones, Tablet-Computers usw.), Gaming-Vorrichtungen, tragbare Vorrichtungen, Wearable-Vorrichtungen (z. B. Smartwatches, Smart-Armbänder usw.), Virtuelle-Realität(VR)-Vorrichtungen, am Kopf getragene Anzeigen (HMDs), Internet-der-Dinge(IdD)-Vorrichtungen, Laptop-Computer, Desktop-Computer, Server-Computer, Set-Top-Boxes (z. B. internetbasierte Kabelfernseh-Set-Top-Boxes usw.), GPS(Globales Positionierungssystem)-basierte Vorrichtungen, Kraftfahrzeug-Infotainment-Vorrichtungen usw.
  • Bei manchen Ausführungsformen beinhaltet die Rechenvorrichtung 100 bzw. arbeitet mit, ist eingebettet in, oder ermöglicht eine beliebige Anzahl und Art von anderen Smart-Vorrichtungen, wie etwa (unter anderem) autonome Maschinen oder künstlich intelligente Agenten, wie etwa mechanische Agenten oder Maschinen, elektronische Agenten oder Maschinen, virtuelle Agenten oder Maschinen, elektromechanische Agenten oder Maschinen usw. Beispiele für autonome Maschinen oder künstlich intelligente Agenten können (unter anderem) Roboter, autonome Fahrzeuge (z. B. selbstfahrende Autos, selbstfliegende Flugzeuge, selbstsegelnde Boote usw.), autonome Ausrüstung (selbsttätige Baufahrzeuge, selbsttätige medizinische Ausrüstung usw.) und/oder dergleichen einschließen. Ferner sind „autonome Fahrzeuge“ nicht auf Kraftfahrzeuge beschränkt, sondern können eine beliebige Anzahl und Art von autonomen Maschinen einschließen, wie etwa Roboter, autonome Ausrüstung, autonome Haushaltsgeräte und/oder dergleichen, und eine oder mehrere beliebige Aufgaben oder Operationen in Bezug auf solche autonomen Maschinen können austauschbar mit autonomem Fahren in Beziehung gesetzt werden.
  • Ferner kann die Rechenvorrichtung 100 zum Beispiel eine Computerplattform beinhalten, die eine integrierte Schaltung („IC“), wie etwa ein System auf einem Chip („SoC“ oder „SOC“), hostet, die verschiedene Hardware- und/oder Softwarekomponenten der Rechenvorrichtung 100 auf einem einzelnen Chip integriert. Die Rechenvorrichtung 100 umfasst beispielsweise eine Datenverarbeitungsvorrichtung mit einem oder mehreren Prozessoren einschließlich (unter anderem) einer Zentralverarbeitungseinheit 112 und einer Grafikverarbeitungseinheit 114, die auf einem gemeinsamen Halbleiter-Package kolokalisiert sind.
  • Wie veranschaulicht, kann die Rechenvorrichtung 100 bei einer Ausführungsform eine beliebige Anzahl und Art von Hardware- und/oder Softwarekomponenten beinhalten, wie etwa (unter anderem) eine Grafikverarbeitungseinheit („GPU“ oder einfach „Grafikprozessor“) 114, einen Grafiktreiber (auch als „GPU-Treiber“, „Grafiktreiberlogik“, „Treiberlogik“, Benutzermodustreiber (UMD), UMD, Benutzermodustreiber-Framework (UMDF), UMDF oder einfach „Treiber“ bezeichnet) 116, eine Zentralverarbeitungseinheit („CPU“ oder einfach „Anwendungsprozessor“) 112, Speicher 104, Netzwerkvorrichtungen, Treiber und/oder dergleichen, sowie eine oder mehrere Eingabe/Ausgabe(E/A)-Quellen 108, wie etwa Touchscreens, Touchpanels, Touchpads, virtuelle oder normale Tastaturen, virtuelle oder normale Mäuse, Ports, Verbinder usw. Die Rechenvorrichtung 100 kann ein Betriebssystem (OS) 106 beinhalten, das als eine Schnittstelle zwischen Hardware und/oder physischen Ressourcen der Rechenvorrichtung 100 und einem Benutzer dient.
  • Es versteht sich, dass ein weniger oder mehr ausgestattetes System als das oben beschriebene Beispiel für gewisse Implementierungen bevorzugt werden kann. Daher kann eine beliebige Konfiguration der Rechenvorrichtung 100 von Implementierung zu Implementierung in Abhängigkeit von zahlreichen Faktoren variieren, wie etwa Preisbeschränkungen, Leistungsfähigkeitsanforderungen, technologischen Verbesserungen oder anderen Umständen.
  • Ausführungsformen können als ein beliebiges oder als eine Kombination von Folgendem implementiert sein: ein oder mehrere Mikrochips oder eine oder mehrere integrierte Schaltungen, die unter Verwendung einer Hauptplatine miteinander verbunden sind, festverdrahtete Logik, Software, die durch eine Speichervorrichtung gespeichert ist und durch einen Mikroprozessor ausgeführt wird, Firmware, eine anwendungsspezifische integrierte Schaltung (ASIC, Application Specific Integrated Circuit) und/oder ein feldprogrammierbares Gate-Array (FPGA, Field-Programmable Gate Array). Begriffe wie „Logik“, „Modul“, „Komponente“, „Engine“, „Schaltkreis“, „Element“ und „Mechanismus“ können beispielsweise Software, Hardware, Firmware und/oder eine Kombination davon beinhalten.
  • Bei einer Ausfuhrungsform, wie veranschaulicht, kann der Vorwärtsprojektionsmechanismus 110 durch den Speicher 104 in Kommunikation mit E/A-Quelle(n) 108, wie etwa Mikrofonen, Lautsprechern usw., der Rechenvorrichtung 100 gehostet werden. Bei einer anderen Ausfuhrungsform kann der Vorwärtsprojektionsmechanismus 110 Teil des Betriebssystems 106 sein oder durch dieses gehostet werden. Bei noch einer anderen Ausführungsform kann der Vorwärtsprojektionsmechanismus 110 durch den Grafiktreiber 116 gehostet oder ermöglicht werden. Bei noch einer anderen Ausführungsform kann der Vorwärtsprojektionsmechanismus 110 durch die Grafikverarbeitungseinheit („GPU“ oder einfach „Grafikprozessor“) 114 oder Firmware des Grafikprozessors 114 gehostet werden oder Teil davon sein; der Vorwärtsprojektionsmechanismus 110 kann beispielsweise als Teil der Verarbeitungshardware des Grafikprozessors 114 in Form einer Missbrauchsbeurteilungskomponente 130 eingebettet oder implementiert sein. Gleichermaßen kann der Vorwärtsprojektionsmechanismus 110 bei noch einer anderen Ausführungsform durch die Zentralverarbeitungseinheit („CPU“ oder einfach „Anwendungsprozessor“) 112 gehostet werden oder Teil davon sein; der Vorwärtsprojektionsmechanismus 110 kann beispielsweise als Teil der Verarbeitungshardware des Anwendungsprozessors 112 in Form einer Missbrauchsbeurteilungskomponente 120 eingebettet oder implementiert sein.
  • Die Vorwärtsprojektionskomponenten 120, 130 und/oder beliebige Elemente des Vorwärtsprojektionsmechanismus 110 können beispielsweise durch eine oder mehrere analoge oder digitale Schaltungen, Logikschaltungen, programmierbare Prozessoren, programmierbare Steuerungen, GPUs, Digitalsignalprozessoren (DSPs), anwendungsspezifische integrierte Schaltungen (ASICs), programmierbare Logikvorrichtungen (PLDs) und/oder feldprogrammierbare Logikvorrichtungen (FPLDs) implementiert werden.
  • Es wird in Erwägung gezogen, dass diese neuartige Technik nicht auf eine Softwareimplementierung oder eine Hardwareimplementierung beschränkt ist, und, wie ferner in diesem Dokument beschrieben wird, kann diese neuartige Technik in Software, Hardware, Firmware oder einer beliebigen Kombination davon angewendet und implementiert werden. Es wird daher ferner in Erwägung gezogen, dass Ausführungsformen nicht auf eine gewisse Implementierung oder ein gewisses Hosting des Vorwärtsprojektionsmechanismus 110 beschränkt sind, und dass ein oder mehrere Abschnitte oder Komponenten des Vorwärtsprojektionsmechanismus 110 als Hardware, Software, Firmware oder eine beliebige Kombination davon eingesetzt oder implementiert werden können. Ferner, wie hierin verwendet, schließt die Phrase „in Kommunikation“, einschließlich Variationen davon, eine direkte Kommunikation und/oder indirekte Kommunikation über eine oder mehrere zwischenliegende Komponenten ein und erfordert keine direkte physische (z. B. verdrahtete) Kommunikation und/oder konstante Kommunikation, sondern beinhaltet stattdessen zusätzlich eine selektive Kommunikation mit periodischen Intervallen, geplanten Intervallen, aperiodischen Intervallen und/oder einmalige Ereignisse.
  • Die Rechenvorrichtung 100 kann Netzwerkschnittstellenvorrichtung(en) hosten, um Zugang zu einem Netzwerk wie einem LAN, einem großflächigen Netzwerk (WAN), einem städtischen Netzwerk (MAN), einem persönlichen Netzwerk (PAN), Bluetooth, einem Cloud-Netzwerk, einem Mobilnetzwerk (z. B. dritte Generation (3G), vierte Generation (4G) usw.), einem Intranet, dem Internet usw. bereitzustellen. Netzwerkschnittstelle(n) können beispielsweise eine drahtlose Netzwerkschnittstelle mit Antenne umfassen, die eine oder mehrere Antenne(n) darstellen können. Die Netzwerkschnittstelle(n) kann (können) zum Beispiel auch eine drahtgebundene Netzwerkschnittstelle beinhalten, um mit entfernten Vorrichtungen über ein Netzwerkkabel zu kommunizieren, das beispielsweise ein Ethernet-Kabel, ein Koaxialkabel, ein Faseroptikkabel, ein Seriellkabel oder ein Parallelkabel sein kann.
  • Ausführungsformen können zum Beispiel als ein Computerprogrammprodukt bereitgestellt werden, das ein oder mehrere maschinenlesbare Medien enthalten kann, auf denen maschinenausführbare Anweisungen gespeichert sind, die, wenn sie durch eine oder mehrere Maschinen, wie etwa einen Computer, eine Datenverarbeitungsmaschine, eine Datenverarbeitungsvorrichtung, ein Computernetzwerk oder andere elektronische Vorrichtungen, ausgeführt werden, bewirken können, dass die eine oder die mehreren Maschinen Operationen gemäß den hier beschriebenen Ausführungsformen ausführen. Wie unter Bezugnahme auf 1 beschrieben, kann eine Maschine einen oder mehrere Prozessoren, wie etwa eine CPU, eine GPU usw. beinhalten. Zu einem maschinenlesbaren Medium können unter anderem Disketten, optische Platten, CD-ROMs (Compact Disc-Read Only Memories), magnetooptische Platten, ROMs, Direktzugriffspeicher (RAMs), EPROMs (Erasable Programmable Read Only Memories: löschbare programmierbare Nurlesespeicher), EEPROMs (Electrically Erasable Programmable Read Only Memories: elektrisch löschbare programmierbare Nurlesespeicher), magnetische oder optische Karten, Flash-Speicher oder eine andere Art von Medien/maschinenlesbaren Medien, die zum Speichern von maschinenausführbaren Anweisungen geeignet sind, zählen.
  • Wenn beispielsweise gelesen wird, dass beliebige der Einrichtungs-, Verfahrens- oder Systemansprüche dieses Patents eine reine Software- und/oder Firmwareimplementierung abdecken, kann mindestens ein Element der Vorwärtsprojektionskomponenten 120, 130 und/oder des Vorwärtsprojektionsmechanismus 100 ausdrücklich so definiert sein, dass sie eine nichtflüchtige computerlesbare Speicherungsvorrichtung oder Speicherungsplatte, wie etwa einen Speicher, eine DVD (Digital Versatile Disk), eine CD (Compact Disk), eine Blue-Ray-Disk usw., einschließlich der Software und/oder Firmware beinhalten.
  • Darüber hinaus können ein oder mehrere Elemente der Vorwärtsprojektionskomponenten 120, 130 und/oder des Vorwärtsprojektionsmechanismus 110 als ein Computerprogrammprodukt heruntergeladen werden, wobei das Programm von einem entfernten Computer (z. B. einem Server) zu einem anfordernden Computer (z. B. einem Client) mittels eines oder mehrerer Datensignale transferiert werden kann, die durch eine Trägerwelle oder ein anderes Ausbreitungsmedium über einen Kommunikations-Link (z. B. eine Modem- und/oder Netzwerkverbindung) umgesetzt und/oder moduliert werden.
  • In diesem gesamten Dokument kann der Ausdruck „Benutzer“ austauschbar als „Betrachter“, „Beobachter“, „Sprecher“, „Person“, „Individuum“, „Endbenutzer“, „Entwickler“, „Programmierer“, „Administratoren“ und/oder dergleichen bezeichnet werden. In manchen Fällen kann sich ein Benutzer zum Beispiel auf einen Endbenutzer beziehen, wie etwa einen Verbraucher, der auf eine Client-Rechenvorrichtung zugreift, während in manchen anderen Fällen ein Benutzer einen Entwickler, einen Programmierer, einen Systemadministrator usw. beinhalten kann, der auf eine Arbeitsstation zugreift, die als eine Client-Rechenvorrichtung dient. Es ist zu beachten, dass in diesem Dokument Begriffe wie „Grafikdomäne“ austauschbar als „Grafikverarbeitungseinheit“, „Grafikprozessor“ oder einfach „GPU“ bezeichnet sein können; gleichermaßen können „CPU-Domäne“ oder „Host-Domäne“ austauschbar als „Computerverarbeitungseinheit“, „Anwendungsprozessor“ oder einfach „CPU“ bezeichnet sein.
  • Es ist anzumerken, dass Begriffe wie „Knoten“, „Rechenknoten“, „Server“, „Servervorrichtung“, „Cloud-Computer“, „Cloud-Server“, „Cloud-Server-Computer“, „Maschine“, „Host-Maschine“ „Vorrichtung“, „Rechenvorrichtung“, „Computer“, „Rechensystem“ und dergleichen in diesem Dokument austauschbar verwendet werden können. Es ist ferner anzumerken, dass Begriffe wie „Anwendung“, „Softwareanwendung“, „Programm“, „Softwareprogramm“, „Paket“, „Softwarepaket“ und dergleichen in diesem Dokument austauschbar verwendet werden können.
  • Ferner sind in diesem Dokument Begriffe wie „Anforderung“, „Abfrage“, „Job“, „Arbeit“, „Arbeitselement“ und „Arbeitslast“ austauschbar referenziert. Gleichermaßen kann sich eine „Anwendung“ oder ein „Agent“ auf ein Computerprogramm, eine Softwareanwendung, ein Spiel, eine Arbeitsstationsanwendung usw. beziehen oder diese beinhalten, das bzw. die über eine Anwendungsprogrammierschnittstelle (API) angeboten wird, wie etwa eine kostenlose Rendering-API, wie etwa Open Graphics Library (OpenGL®), DirectX® 11, DirectX® 12 usw., wobei „Dispatch“ austauschbar als „Arbeitseinheit“ oder „Zeichnung“ referenziert werden kann, während „Anwendung“ austauschbar als „Arbeitsfluss“ oder einfach „Agent“ bezeichnet werden kann.
  • Beispielsweise kann eine Arbeitslast, wie etwa die eines dreidimensionalen (3D) Spiels, eine beliebige Anzahl und Art von „Frames“ beinhalten und ausgeben, wobei jeder Frame ein Bild repräsentieren kann (z. B. Segelboot, menschliches Gesicht). Ferner kann jeder Frame eine beliebige Anzahl und Art von Arbeitseinheiten beinhalten und bieten, wobei jede Arbeitseinheit einen Teil (z. B. einen Mast des Segelboots, eine Stirn des menschlichen Gesichts) des durch seinen entsprechenden Frame repräsentierten Bildes (z. B. Segelboot, menschliches Gesicht) repräsentieren kann. Aus Konsistenzgründen kann jedoch jedes Element im gesamten vorliegenden Dokument durch eine einzige Bezeichnung (z. B. „Dispatch“, „Agent“ usw.) bezeichnet sein.
  • Bei manchen Ausfuhrungsformen können Bezeichnungen wie „Anzeigebildschirm“ und „Anzeigefläche“ austauschbar unter Bezug auf den sichtbaren Abschnitt einer Anzeigevorrichtung verwendet werden, während der Rest der Anzeigevorrichtung in eine Rechenvorrichtung wie etwa ein Smartphone, eine Wearable-Vorrichtung usw., eingebettet sein kann. Es wird in Betracht gezogen und es ist anzumerken, dass Ausführungsformen nicht auf irgendeine bestimmte Rechenvorrichtung, irgendeine bestimmte Softwareanwendung, irgendeine bestimmte Hardwarekomponente, irgendeine bestimmte Anzeigevorrichtung, irgendeinen bestimmten Anzeigebildschirm oder irgendeine bestimmte Anzeigeoberfläche, irgendein bestimmtes Protokoll, irgendeinen bestimmten Standard usw. beschränkt sind. Beispielsweise können Ausführungsformen mit einer beliebigen Anzahl und Art von Echtzeit-Anwendungen auf einer beliebigen Anzahl und Art von Computern angewendet und verwendet werden, wie etwa Desktops, Laptops, Tablet-Computern, Smartphones, am Kopf getragenen Anzeigen (HMDs) und anderen Wearable-Vorrichtungen und/oder dergleichen. Ferner können beispielsweise Rendering-Szenarien, die für effiziente Leistungsfähigkeit diese neuartige Technologie nutzen, von einfachen Szenarien, wie etwa Desktopgestaltung, bis hin zu komplexen Szenarien, wie etwa 3D-Spielen, Anwendungen mit erweiterter Realität usw., reichen.
  • 2 veranschaulicht den Vorwärtsprojektionsmechanismus 110 von 1 und einen Inversprojektionsmechanismus 260 gemäß einer Ausführungsform. Der Kürze halber werden viele der Einzelheiten, die bereits unter Bezugnahme auf 1 erläutert wurden, nicht wiederholt oder im Folgenden besprochen. Bei einer Ausführungsform kann der Vorwärtsprojektionsmechanismus 110 eine beliebige Anzahl und Art von Elementen oder Komponenten beinhalten, wie etwa (unter anderem): Detektion-und-Überwachung-Logik 201; Initiierungslogik 203; Mapping-Logik 205; Anordnungslogik 207; Kommunikations-/Kompatibilitätslogik 209; Auffüllungslogik 211. Die Rechenvorrichtung 100 hostet ferner einen Videocodierer 213 und eine Benutzerschnittstelle 219.
  • Bei der veranschaulichten Ausführungsform repräsentiert die Rechenvorrichtung 100 eine Server-Rechenvorrichtung (auch als „Server-Vorrichtung“ oder einfach „Server“ bezeichnet), die mit einer oder mehreren Client-Rechenvorrichtungen, wie etwa einer Client-Rechenvorrichtung (auch als „Client-Vorrichtung“ oder einfach „Client“ bezeichnet) 250, die den Inversprojektionsmechanismus 260 hostet, gekoppelt ist oder mit diesen in Kommunikation steht. Bei einer Ausführungsform kann der Inversprojektionsmechanismus 260 ein oder mehrere Elemente oder eine oder mehrere Komponenten beinhalten, wie etwa (unter anderem): Zuschneiden/Biegen-Logik 261; Projektionslogik 263; Viewport-Erzeugungslogik 265; Formaterstellungslogik 267; Positionsauswahl-und-Anzeige-Logik 268; und Kommunikationslogik 269. Die Rechenvorrichtung 250 hostet ferner einen Videodecodierer 273, eine Benutzerschnittstelle 275 und eine Anzeigevorrichtung 277.
  • Wie bei dem Vorwärtsprojektionsmechanismus 110 an der Rechenvorrichtung 100 kann der Inversprojektionsmechanismus 260 an der Rechenvorrichtung 250 als Software, Hardware, Firmware oder eine beliebige Kombination davon gehostet werden. Der Inversprojektionsmechanismus 260 kann beispielsweise als Anweisungen durch einen Speicher an der Rechenvorrichtung 250 und/oder als eine oder mehrere Hardwarekomponenten, die durch einen oder mehrere Prozessoren an der Rechenvorrichtung 250 gehostet werden oder in diesen eingebettet sind, gehostet werden. Es wird in Erwägung gezogen und es soll darauf hingewiesen werden, dass Ausführungsformen nicht auf irgendeine Implementierung beschränkt sind.
  • Die Rechenvorrichtung 100 beinhaltet ferner eine Benutzerschnittstelle 219 (z. B. eine Benutzerschnittstelle auf Basis einer grafischen Benutzeroberfläche (GUI), einen Web-Browser, eine Benutzerschnittstelle einer Cloud-basierten Plattform, eine softwareanwendungsbasierte Benutzerschnittstelle, andere Benutzer- oder Anwendungsprogrammierschnittstellen (APIs) usw.). Die Rechenvorrichtung 100 kann ferner eine oder mehrere E/A-Quellen 108 beinhalten, die eine oder mehrere Eingabekomponenten 231, wie etwa eine oder mehrere Kameras 242 (z. B. Intel® RealSense™-Kameras), ein oder mehrere Mikrofone 241, Sensoren, Detektoren, Tastaturen, Mäuse usw. sowie eine oder mehrere Ausgabekomponenten 233, wie etwa eine oder mehrere Anzeigevorrichtungen oder einfach Anzeigen 244 (z. B. integrierte Anzeigen, Tensoranzeigen, Projektionsschirme, Anzeigebildschirme usw.), eine oder mehrere Lautsprechervorrichtungen oder einfach einen oder mehrere Lautsprecher usw. aufweisen.
  • Die Rechenvorrichtung 100 ist ferner so veranschaulicht, dass sie über ein oder mehrere Kommunikationsmedien 230 (z. B. Netzwerke wie etwa ein Proximity-Netzwerk, ein Cloud-Netzwerk, ein Intranet, das Internet usw.) Zugriff auf eine oder mehrere Datenbanken 225 und/oder eine oder mehrere von anderen Rechenvorrichtungen aufweist und/oder in Kommunikation mit diesen steht.
  • Bei manchen Ausführungsformen kann/können die Datenbank(en) 225 Speichermedien oder -vorrichtungen und/oder Repositorien und/oder Datenquellen usw. beinhalten, die eine beliebige Menge und Art von Informationen aufweisen, wie etwa Daten, Metadaten usw., die sich auf eine beliebige Anzahl und Art von Anwendungen beziehen, wie etwa Daten und/oder Metadaten, die sich auf einen oder mehrere Benutzer, physische Orte oder Bereiche, anwendbare Gesetze, Richtlinien und/oder Vorschriften, Benutzerpräferenzen und/oder -profile, Sicherheits- und/oder Authentifizierungsdaten, historische und/oder bevorzugte Einzelheiten und/oder dergleichen beziehen.
  • Wie zuvor erwähnt, kann die Rechenvorrichtung 100 eine oder mehrere E/A-Quellen 108 hosten, die eine oder mehrere Eingabekomponenten 231 und eine oder mehrere Ausgabekomponenten 233 beinhalten. Bei einer Ausführungsform kann/können die Eingabekomponente(n) 231 ein Sensorarray beinhalten, das unter anderem ein oder mehrere Mikrofone 241 (z. B. Ultraschallmikrofone), eine oder mehrere Kameras 242 (z. B. zweidimensionale (2D) Kameras, dreidimensionale (3D) Kameras, Infrarot(IR)-Kameras, Tiefenmesskameras usw.), Kondensatoren, Funkkomponenten, Radarkomponenten, Scanner und/oder Beschleunigungsmesser usw. beinhalten. Gleichermaßen kann/können die Ausgabekomponente(n) 233 eine beliebige Anzahl und Art von einer oder mehreren Anzeigevorrichtungen 244, Projektoren, Leuchtdioden (LEDs), einen oder mehrere Lautsprecher 243 und/oder Vibrationsmotoren usw. beinhalten.
  • Wie zuvor erwähnt, können Begriffe wie „Logik“, „Modul“, „Komponente“, „Engine“, „Schaltkreis“, „Element“ und „Mechanismus“ beispielsweise Software, Hardware, Firmware und/oder eine beliebige Kombination davon beinhalten. Beispielsweise kann Logik selbst ein Schaltkreis an einer oder mehreren Vorrichtungen sein oder diesen beinhalten oder mit diesem assoziiert sein, wie etwa die Vorwärtsprojektionskomponente 130 und/oder die Vorwärtsprojektionskomponente 120, die jeweils durch den Anwendungsprozessor 112 und/oder den Grafikprozessor 114 von 1 gehostet werden, die die entsprechende Logik zum Durchführen gewisser Aufgaben ermöglichen oder ausführen müssen. Gleichermaßen kann der Inversprojektionsmechanismus 260 durch einen oder mehrere Anwendungs- und/oder Grafikprozessoren an der Rechenvorrichtung 250 als eine oder mehrere Inversprojektionskomponenten gehostet werden.
  • Ausführungsformen liefern eine neuartige Technik, wie durch den Vorwärtsprojektionsmechanismus 110 und/oder den Inversprojektionsmechanismus 260 ermöglicht, zum Projizieren eines Hemisphären-Cubemap-Projektionsformats, um 180° × 180° omnidirektionale Hemisphären-Bilder oder -Videos zu repräsentieren, wie etwa jene, die durch eine einzelne Fischaugenlinse aufgenommen werden. Wie beispielsweise mit Bezug auf 4A veranschaulicht, enthält dieses neuartige Hemisphären-Cubemap-Format (HCMP) 400 eine Würfel-Vollfläche 401 und vier Würfel-Halbflächen 403A, 403B, 405A, 405B, die die Hemisphäre repräsentieren, wobei diese Vollfläche 401 und Halbflächen 403A, 403B, 405A, 405B in einem anderen und kompakten Layout im Vergleich zu dem bestehenden CMP-Format angeordnet sind, um die Bildgröße durch Eliminieren inaktiver Gebiete zu reduzieren. Mit anderen Worten liefert diese neuartige Technik eine bessere und effizientere Weise zum Darbieten der Ergebnisse. Ferner kann dieses vorgeschlagene neuartige HCMP-Layout mit einem beliebigen würfelbasierten Projektionsformat sowie für eine hemisphärische Version des EAC-Formats (Equi-Angular Cube Map - Winkeltreue Cubemap) verwendet werden, wobei dieses neuartige Format als ein hemisphärisches EAC(HEAC)-Format bezeichnet wird. Bei einer Ausführungsform können diese neuartigen HCMP- und HEAC-Formate Software, wie etwa 360Lib-Software, hinzugefügt werden.
  • Beispielsweise kann 360° x 180° omnidirektionaler Inhalt unter Verwendung von zwei rückseitig aneinderliegenden Fischaugenkameras aufgenommen und dann der Inhalt zusammengefügt werden. Eine einzelne Fischaugenkameralinse kann einen 180 ° × 180° Inhalt aufnehmen, was eine einzelne Hemisphäre, anstatt der vollen Sphäre repräsentiert. Es wird in Erwägung gezogen, dass eine Fischaugenkamera als ein Beispiel verwendet wird und dass Ausführungsformen nicht notwendigerweise darauf beschränkt sind. Ferner können beispielsweise eine oder mehrere Kameras, auf die sich im ganzen Dokument bezogen wird, in einer oder mehreren Kameras 242 enthalten sein, wobei die eine oder die mehreren Kameras 242 teilweise in der Rechenvorrichtung 100 eingebettet oder eigenständig platziert sein können, wie etwa an einer Straßenecke oder in einem Raum, die über ein oder mehrere Kommunikationsmedien 230 kommunikativ mit der Rechenvorrichtung 100 gekoppelt sind.
  • Ein Teil des in dem 3DoF+-Projekt in MPEG-I Visual von MPEG verwendeten Inhalts ist ein 180° × 180° Inhalt in einem ERP-Format, wie etwa die TechnicolorHijack-Sequenz, bei der Onidirectional Media Format (OMAF) ein Fischaugenformat definiert, während Joint Collaborative Team on Video Coding (JCT-VC) eine Fischaugenprojektionsformat-SEI(Supplemental Enhancement Information)-Nachricht entwickelt, die das Codieren von Fischaugen-Inhalt in seinem nativen aufgenommenen Format ermöglicht. Siehe Joint Video Experts Team (JVET) von ITU-T SG 16 WP 3 und ISO/IEC JTC 1/SC 29/WG 11, 13. Treffen, Marrakesch, MA, 9.-18. Januar 2019. Es wird jedoch erwartet, dass ein Fischaugenformat aufgrund von Bildverzerrung kein bitrateneffizientes Format zur Videocodierung ist. Gegenwärtig stehen keine Techniken (wie etwa Algorithmen) für das durch JCT-VC in Betracht gezogene Fischaugenformat zur Verfugung, das die Fischaugen-Projektionsgleichungen implementiert.
  • Herkömmlicherweise, wie mit Bezug auf 3A veranschaulicht, werden verschiedene Positionen der verschiedenen Flächen eines Würfels in einem CMP-Formatlayout 300 in 360Lib basierend auf einem Cubemap-Format-basierten Bild 310 (wie etwa von der Wagen(„Trolley“)-Sequenz) von 3B angegeben. Wie veranschaulicht, zeigt das herkömmliche CMP-Formatlayout 30 von 3A sechs Flächen, einschließlich Vorne 301, Hinten 302, Links 303, Rechts 304, Oben 305 und Unten 306. 3C veranschaulicht ein anderes herkömmliches ERP-Version-basiertes Bild 320 der Wagen-Sequenz. 3D veranschaulicht ein Zuschneiden des 180° x 180° Inhalts in der Mitte eines herkömmlichen ERP-Format-basierten Bildes 330, das einen schwarzen Hintergrund 331A, 331B an jeder Seite zeigt. 3E zeigt ein herkömmliches Semi-ERP-Format-basiertes Bild 340, bei dem nur das aktive Gebiet behalten wird, wie in der 3DoF+-TechnicolorHijack-Sequenz verwendet wird. 3F veranschaulicht ein herkömmliches zugeschnittenes 180° × 180° CMP-Format-Wagen-Bild 350, das inaktive oder nicht verwendete Gebiete 351A, 351B, 351C angibt, die nicht direkt zugeschnitten werden können, um höhere Frame-Größe, Pixelrate, Ebene usw. zu reduzieren.
  • Ausführungsformen liefern eine neuartige Technik, bei der eine 180° x 180° Hemisphäre zu einer Hälfte eines Würfels projektionsgemappt werden kann, mit aktivem Inhalt in einer Vollfläche, wie etwa Vorne 401, und vier Halbflächen, wie etwa Links-Halbfläche 403A, Rechts-Halbfläche 405A, Unten-Halbfläche 405A und Oben-Halbfläche 405B, wie mit Bezug auf 4A veranschaulicht.
  • Bei einer Ausführungsform werden an der Rechenvorrichtung 100 Bilder und/oder Videos (mit Bildsequenzen) durch eine oder mehrere Kameras 242 aufgenommen, während die Detektion-und-Überwachung-Logik 201 jedes Bild und seine aktiven und inaktiven Gebiete kontinuierlich detektiert und überwacht. Bei der Detektion von Abschnitten oder Bereichen eines Bildes, die aktiv und inaktiv sind, wird die Initiierungslogik 203 ausgelöst, um mit einem Format unter Verwendung eines beliebigen 180° × 180° des Bildes zu initiieren, wobei dieses anfängliche Format ein Fischaugenformat, ein ERP-Format usw. beinhalten kann. Mit dieser Initiierung wird dann die Mapping-Logik 205 ausgelöst, um die verschiedenen Teile des Bildes zu mappen, um eine einzelne Vollfläche, wie etwa die Vollfläche 401 von 4A, und mehrere Halbflächen, wie etwa die vier Halbflächen 403A, 403B, 405A, 405B von 4A, zu bilden.
  • In diesem vorgeschlagenen neuartigen HCMP-Format, wie dem HCMP-Format 400 von 4A, wird dann die Anordnungslogik 207 verwendet, um diese Vollfläche 401 und Halbflächen 403A-405B in einen kompakten Bereich anzuordnen, wodurch jegliche inaktiven Gebiete vermieden werden, wie etwa, wenn das CMP-Format verwendet wird. Bei einer Ausführungsform wird ferner Nachbarkontinuität in der Hemisphäre im gesamten Layout mit einem einzelnen kontinuierlichen Gebiet über die Links-Halbfläche 403A, die Vorne-Fläche 401 und die Rechts-Halbfläche 403B beibehalten, wie durch die Anordnungslogik 207 ermöglicht und mit Bezug auf 4A veranschaulicht. Gleichermaßen werden die Oben-Halbfläche 405B und die Unten-Halbfläche 405A gedreht und an beiden Seiten des einzelnen kontinuierlichen Gebiets angeordnet, wie durch die Anordnungslogik 207 ermöglicht und durch 4A veranschaulicht.
  • Bei einer Ausführungsform wird ferner die Auffüllungslogik 211 ausgelöst, um dem Format, wie etwa dem HCMP-Format 400 von 4A, aktive Auffüllung hinzuzufügen, indem Abtastungen von sphärischen Nachbarn kopiert werden, wie etwa Auffüllungsquellen A 409A, B 409B, die horizontal über bzw. unter der Vorne-Fläche 401 gezeigt sind, und Auffüllungsziel A 407A, B 407B, das vertikal an der linken Seite der Links-Halbfläche 403A bzw. der rechten Seite der Rechts-Halbfläche 403B in 4A gezeigt ist. Wie durch die Auffüllungslogik 211 ermöglicht, kann ferner eine aktive Auffüllung an beliebigen diskontinuierlichen Grenzen hinzugefügt werden, die von beliebigen entsprechenden Nachbarstellen im Bild kopiert (und gedreht) werden.
  • Wie ferner mit Bezug auf die Bilder 410 und 420 von 4B bzw. 4C veranschaulicht, sind die Auffüllungsziele A 407A und B 407B und die Auffüllungsquellen A 409A und B 409B von 4A als den Auffüllungszielen A 407A und B 407B des Bildes 410 (z. B. zweidimensionales (2D) HCMP-Projektionsbild) von 4B bzw. den Auffüllungsquellen A 409A und B 409B des Bildes 420 (z. B. 2D-Semi-ERP- oder -HERP-Projektionsbild) von 4C entsprechend gezeigt. 4D veranschaulicht ein Bild, das durch eine Sphäre 430 repräsentiert wird, wie ferner im HCMP-Format 400 von 4A projiziert. Bei einer Ausführungsform ist das vorgeschlagene neuartige Layout auch mit anderen würfelbasierten Formaten anwendbar, wie etwa EAC, HEC usw.
  • Fortfahrend mit dem Vorwärtsprojektionsmechanismus 110 wird dann diese neuartige Formatanordnung am Videocodierer 213 empfangen, wobei der Videocodierer 213 die entsprechenden Daten codiert und die codierten Daten, wie durch die Kommunikations-/Kompatibilitätslogik 209 und/oder die Kommunikationslogik 269 ermöglicht, über ein oder mehrere Kommunikationsmedien 230, wie etwa ein Proximity-Netzwerk, ein Cloud-Netzwerk, das Internet usw., zum Videodecodierer 273 an der Rechenvorrichtung 250 kommuniziert.
  • Bei einer Ausführungsform decodiert der Videodecodierer 273 die codierten Daten und stellt sie dem Inversprojektionsmechanismus 260 bereit, um eine Inversprojektion und andere relevante Prozesse durchzuführen. Nach dem Empfangen der decodierten Daten am Inversprojektionsmechanismus 260 wird beispielsweise die Zuschneiden/Biegen-Logik 261 ausgelöst, um die aufgefüllten Gebiete des neuartigen Formatlayouts zuzuschneiden oder zu mischen. Bei einer Ausführungsform wird dann die Projektionslogik 263 ausgelöst, um ein Mapping des neuartigen Formatlayouts auf die Hemisphäre zu projizieren, wie etwa die Vorne-Vollfläche zusammen mit den vier Halbflächen auf die Hemisphäre zu projizieren.
  • Sobald die Projektion abgeschlossen ist, kann bei einer Ausführungsform die Viewport-Erzeugungslogik 265 verwendet werden, um einen Viewport zur Ansicht des Bildes durch einen Benutzer unter Verwendung der Anzeige 277 zu erzeugen, wobei die Ansicht weniger als die volle 180° x 180° Hemisphäre sein kann. Gleichermaßen wird bei einer anderen Ausführungsform die Formaterstellungslogik 267 verwendet, um ein 180° x 180° Hemisphären-Format im Inhalt in einem Fischaugen- oder ERP-Format zu erstellen. Wie später beschrieben, wird ein derartiges Bild dann für den Benutzer unter Verwendung der Anzeigevorrichtung 277, und wie durch die Benutzerschnittstelle 275 ermöglicht, angezeigt.
  • Erneut unter Bezugnahme auf die eine oder die mehreren Eingabekomponenten 231, können sie eine beliebige Anzahl und Art von einem oder mehreren Mikrofonen 241, wie etwa mehrere Mikrofone oder ein Mikrofonarray, wie etwa Ultraschallmikrofone, dynamische Mikrofone, faseroptische Mikrofone, Lasermikrofone usw. beinhalten. Es wird in Erwägung gezogen, dass eines oder mehrere der Mikrofone 241 als eine oder mehrere Eingabevorrichtungen zum Annehmen oder Empfangen von Audioeingaben (wie etwa die menschliche Stimme) in die Rechenvorrichtung 100 und zum Umwandeln dieses Audios oder Tons in elektrische Signale dienen. Ebenso wird in Erwägung gezogen, dass eine oder mehrere der Kameras 242 als eine oder mehrere Eingabevorrichtungen dienen, um Bilder und/oder Videos von Szenen, Objekten usw. zu detektieren und aufzunehmen und die aufgenommenen Daten als Videoeingaben in die Rechenvorrichtung 100 zu liefern.
  • Zum Beispiel können die eine oder die mehreren Eingabekomponenten 231, wie veranschaulicht, eine beliebige Anzahl und Art von einem oder mehreren Mikrofonen 241, wie etwa mehrere Mikrofone oder ein Mikrofonarray, wie etwa Ultraschallmikrofone, dynamische Mikrofone, faseroptische Mikrofone, Lasermikrofone usw. beinhalten. Es wird in Erwägung gezogen, dass eines oder mehrere der Mikrofone 241 als eine oder mehrere Eingabevorrichtungen zum Annehmen oder Empfangen von Audioeingaben (wie etwa die menschliche Stimme) in die Rechenvorrichtung 100 und zum Umwandeln dieses Audios oder Tons in elektrische Signale dienen. Ebenso wird in Erwägung gezogen, dass eine oder mehrere der Kameras 242 als eine oder mehrere Eingabevorrichtungen dienen, um Bilder und/oder Videos von Szenen, Objekten usw. zu detektieren und aufzunehmen und die aufgenommenen Daten als Videoeingaben in die Rechenvorrichtung 100 zu liefern.
  • Die JVET-360-CTC-Sequenzen werden in der Mitte zugeschnitten, um 180° x 180° Sequenzen zu erzeugen, wie mit Bezug auf 3D veranschaulicht, und werden als die ursprünglichen Sequenzen behandelt. Beispielweise werden Sequenzen mit einer Auflösung von 8192 x 4096 zu einer Auflösung von 4096 x 4096 zugeschnitten, wobei alle anderen Stufen im JVET 360 CTC befolgt wurden, mit der Ausnahme des Halbierens der horizontalen Auflösung und HM 16.15/360Lib-3.0 und VTM 3.0 wurden verwendet. Ferner werden die Bedingungen von JVET-K1012-v1 für ein Hemisphären-Format angepasst, wie etwa wird für ERP eine Flächengröße von 2216x2216 verwendet, und für HCMP/HEAC betragen die Flächengrößen 1280x1280. Zusätzlich dazu verwendet HCMP eine Auffüllungsbreite von 8 Pixeln für jede einzelne und somit wird die Gesamtbreite wie folgt berechnet: 3 * 1280 (Flächen) +2*8 (Auffüllung) = 3856 Pixel.
  • Darüber hinaus wird die 360Lib-Software modifiziert, um 180° x 180° Inhalt zu unterstützen, wobei diese Unterstützung für die vorgeschlagenen HCMP- und HEAC-Formate hinzugefügt wurde. Das neuartige Projektionsformat basiert beispielsweise auf einer oder liefert eine Umwandlung zu und/oder von einer 360° normalisierten Sphäre, mit 2D-YUV-Lesen und/oder -Schreiben, der Konfigurationsdatei-Unterstützung von 360Lib zur Unterstützung von Halbflächen erweitert, Quellen-Field-Plate(FP)-Strukturparametern, Codierung-FP-Strukturparametern und Auffüllungssteuerung definiert pro Codierung-PCMP, Eingabe-PCMP usw. Bezüglich des Gewichtete-Sphärische(WS)-Spitzen-Signal-zu-Rauschen-Verhältnisses (PSNR), veranschaulicht 4E ferner WS-PSNR-Gewichtungen für das HDMP-Format 440.
  • Fischaugen-Vergleich
  • Beim Vergleichen dieses neuartigen HEAC-Formats mit dem nativen Codieren eines Fischaugenformats für vier der Sequenzen, während zugeschnittene ERP-Sequenzen in das Fischaugenformat umgewandelt werden, wie etwa unter Verwendung des Hugin-Open-Source-Projekts, mit einer Zwischenumwandlung zu Rot-Grün-Blau (RGB) und einer Auflösung von 2048x2048. Herkömmliche Techniken bieten keine Unterstützung für das Fischaugenformat in der 360Lib-Software.
  • Tabelle 5 veranschaulicht, dass das HEAC-Format zwischen 68,6 % und 81,1 % Bitrate gegenüber einem herkömmlichen Fischaugenformat einspart, und dies liegt an den mehreren Zwischenumwandlungsschritten, die etwas Codierungsverlust einführen. Tabelle 5: HEAC gegenüber Fischauge
    WS-PSNR (Ende zu Ende)
    HEAC gegenüber Fischauge
    Wagen -81,1%
    Straßen lampe -70,7%
    Drachenflug -68,6%
    Hafen -78,6%
  • Ausführungsformen liefern das Hinzufügen von HCMP und HEAC zu 360Lib, und das Verwenden von Cubemap-basierten Formaten, wie etwa EAC, wie oben gezeigt, um eine erhebliche Bitratenreduzierung gegenüber ERP-Formaten für 360° × 180° sphärische Inhalte zu liefern. Diese neuartige Technik liefert ähnliche Vorteile für 180° × 180° sphärische Inhalte, wie etwa, wenn Bilder und/oder Videos unter Verwendung einer einzelnen Fischaugenlinsenkamera, wie etwa der einen oder der mehreren Kameras 242, aufgenommen werden. Dieses vorgeschlagene neuartige Layout erfordert ferner kleinere Bildgrößen im Gegensatz dazu, wenn ein bestehendes CMP- oder EAC-Format verwendet wird, was das Verwenden einer niedrigeren Ebene zum Codieren einer hemisphärischen Videosequenz ermöglicht.
  • Erneut unter Bezugnahme auf die eine oder die mehreren E/A-Quellen 108 wird in Erwägung gezogen, dass Ausführungsformen nicht auf eine beliebige Anzahl oder Art des einen oder der mehreren Mikrofone 241, der einen oder der mehreren Kameras 242, des einen oder der mehreren Lautsprecher 243, der einen oder der mehreren Anzeigen 244 usw. zur Aufnahme oder Darstellung von Daten beschränkt sind. Wie durch die Detektion-und-Überwachung-Logik 201 ermöglicht, können beispielsweise ein oder mehrere des einen oder der mehreren Mikrofone 241 verwendet werden, um gleichzeitig Sprache oder Ton von Benutzern, wie etwa Sprechern, zu detektieren. Gleichermaßen, wie durch die Detektion-und-Überwachung-Logik 201 ermöglicht, können eine oder mehrere der einen oder der mehreren Kameras 242 verwendet werden, um Bilder oder Videos eines geografischen Standorts (egal, ob im Innen- oder Außenbereich) und seine assoziierten Inhalte (z. B. Möbel, elektronische Vorrichtungen, Menschen, Tiere, Bäume, Berge usw.) aufzunehmen und einen Satz von Bildern oder Videoströmen zu bilden.
  • Gleichermaßen, wie veranschaulicht, können eine oder mehrere Ausgabekomponenten 233 eine beliebige Anzahl und Art von einem oder mehreren Lautsprechern oder einer oder mehreren Lautsprechervorrichtungen 243 beinhalten, um als Ausgabevorrichtungen zum Ausgeben oder Abgeben von Audio von der Rechenvorrichtung 100 aus einer beliebigen Anzahl oder Art von Gründen, wie etwa Hören oder Verbrauch durch Menschen, dienen. Zum Beispiel funktionieren Lautsprecher 243 umgekehrt wie Mikrofone 241, da Lautsprecher 243 elektrische Signale in Schall umwandeln.
  • Ferner können die eine oder die mehreren Eingabekomponenten 231 eine beliebige Anzahl oder Art von Kameras, wie etwa Tiefenmesskameras oder Aufnahmevorrichtungen (z. B. Intel® RealSense™ Tiefenmesskamera) beinhalten, die dafür bekannt sind, Standbilder und/oder Video-Rot-Grün-Blau(RGB)- und/oder RGB-Tiefen(RGB-D)-Bilder für Medien, wie etwa persönliche Medien, aufzunehmen. Solche Bilder, die Tiefeninformationen aufweisen, wurden für verschiedene Computervisions- und rechnerische Fotografieeffekte, wie etwa (unter anderem) Szenenerkennung, Refokussierung, Komposition, Cinemagramme usw., effektiv verwendet. Ebenso können zum Beispiel Anzeigen eine beliebige Anzahl und Art von Anzeigen beinhalten, wie etwa integrierte Anzeigen, Tensor-Anzeigen, stereoskopische Anzeigen usw., die (unter anderem) eingebettete oder verbundene Anzeigebildschirme, Anzeigevorrichtungen, Projektoren usw. beinhalten.
  • Die eine oder die mehreren Eingabekomponenten 231 können ferner eines oder mehrere von Vibrationskomponenten, taktilen Komponenten, Leitfähigkeitselementen, biometrischen Sensoren, chemischen Detektoren, Signaldetektoren, Elektroenzephalographie, funktioneller Nahinfrarotspektroskopie, Wellendetektoren, Kraftsensoren (z. B. Beschleunigungsmessern), Illuminatoren, einem Augenverfolgungs- oder Blickverfolgungssystem, einem Kopfverfolgungssystem usw. beinhalten, das/die zum Erfassen einer beliebigen Menge und Art von visuellen Daten, wie etwa Bildern (z. B. Fotos, Videos, Filmen, Audio-/Videoströmen usw.) und nicht-visuellen Daten, wie etwa Audioströmen oder -signalen (z. B. Schall, Geräuschen, Vibration, Ultraschall usw.), Funkwellen (z. B. drahtlosen Signalen, wie etwa drahtlosen Signalen mit Daten, Metadaten, Zeichen usw.), chemischen Veränderungen oder Eigenschaften (z. B. Feuchtigkeit, Körpertemperatur usw.), biometrischen Messungen (z. B. Fingerabdrücken usw.), Gehirnwellen, Gehirnzirkulation, Umwelt-/Wetterbedingungen, Karten, usw. genutzt werden kann/können. Es wird in Betracht gezogen, dass „Sensor“ und „Detektor“ in diesem Dokument austauschbar referenziert sein können. Es wird ferner in Betracht gezogen, dass die eine oder die mehreren Eingabekomponenten 231 ferner unterstützende und/oder ergänzende Vorrichtungen zum Aufnehmen und/oder Erfassen von Daten beinhalten können, wie etwa Illuminatoren (z. B. IR-Illuminator), Leuchtvorrichtungen, Generatoren, Schallblocker usw.
  • Es wird femer in Betracht gezogen, dass bei einer Ausführungsform die eine oder die mehreren Eingabekomponenten 231 eine beliebige Anzahl und Art von Kontextsensoren (z. B. Linear-Beschleunigungsmesser) zum Erfassen oder Detektieren einer beliebigen Anzahl und Art von Kontexten (z. B. Schätzen eines Horizonts, einer linearen Beschleunigung usw. in Bezug auf eine mobile Rechenvorrichtung usw.) beinhalten können. Zum Beispiel können die eine oder die mehreren Eingabekomponenten 231 eine beliebige Anzahl und Art von Sensoren beinhalten, wie etwa (unter anderem): Beschleunigungsmesser (z. B. Linear-Beschleunigungsmesser zum Messen einer Linearbeschleunigung usw.); Trägheitsvorrichtungen (z. B. Trägheitsbeschleunigungsmesser, Trägheitsgyroskope, Gyroskope mit mikroelektromechanischen Systemen (MEMS), Trägheitsnavigatoren usw.); und Gravitationsgradiometer, um Variationen der Gravitationsbeschleunigung aufgrund der Schwerkraft zu untersuchen und zu messen, usw.
  • Ferner können beispielsweise die eine oder die mehreren Eingabekomponenten 231 (unter anderem) Folgendes beinhalten: audiovisuelle Vorrichtungen (z. B. Kameras, Mikrofone, Lautsprecher usw.); kontextsensitive Sensoren (z. B. Temperatursensoren, Sensoren zum Messen von Gesichtsausdruck und -merkmalen, die mit einer oder mehreren Kameras von audiovisuellen Vorrichtungen arbeiten, Umgebungssensoren (wie etwa zum Erfassen von Hintergrundfarben, Lichtern usw.); biometrische Sensoren (wie etwa zum Detektieren von Fingerabdrücken, usw.), Kalenderpflege- und Lesevorrichtung) usw.; Sensoren eines globalen Positionierungssystems (GPS); Ressourcenanforderer; und/oder TEE-Logik. Die TEE-Logik kann separat eingesetzt werden oder ein Teil des Ressourcenanforderers und/oder eines E/A-Untersystems usw. sein. Die eine oder die mehreren Eingabekomponenten 231 können ferner Spracherkennungsvorrichtungen, Fotoerkennungsvorrichtungen, Gesichts- und andere Körpererkennungskomponenten, Komponenten zur Umwandlung von Sprache in Text usw. beinhalten.
  • In ähnlicher Weise können die eine oder die mehreren Ausgabekomponenten 233 dynamische taktile Touchscreens mit taktilen Effektoren als ein Beispiel für das Darstellen der Visualisierung von Berührung beinhalten, wobei eine Ausführungsform davon Ultraschallgeneratoren sein können, die Signale im Raum senden können, die, wenn sie zum Beispiel menschliche Finger erreichen, eine taktile Empfindung oder ein ähnliches Gefühl an den Fingern verursachen können. Ferner können zum Beispiel und bei einer Ausführungsform die eine oder die mehreren Ausgabekomponenten 233 (unter anderem) eines oder mehrere von Lichtquellen, Anzeigevorrichtungen und/oder Bildschirmen, Audio-Lautsprechern, taktilen Komponenten, Leitfähigkeitselementen, knochenleitenden Lautsprechern, visuellen und/oder nicht-visuellen olfaktorischen oder Geruchspräsentationsvorrichtungen, visuellen und/oder nicht-visuellen haptischen oder berührungsempfindlichen Präsentationsvorrichtungen, Animationsanzeigevorrichtungen, biometrischen Anzeigevorrichtungen, Röntgenanzeigevorrichtungen, hochauflösenden Anzeigen, Anzeigen mit hohem Dynamikbereich, Multiview-Anzeigen und am Kopf getragenen Anzeigen (HMDs) für zumindest eines von virtueller Realität (VR) und erweiterter Realität (AR) usw. beinhalten.
  • Es wird in Betracht gezogen, dass die Ausführungsform nicht auf eine beliebige Anzahl oder Art von Anwendungsfallszenarien, Architekturplatzierungen oder Komponentenkonfigurationen beschränkt ist; der Kürze und Klarheit halber werden jedoch Veranschaulichungen und Beschreibungen in diesem Dokument für beispielhafte Zwecke angeboten und besprochen, aber Ausführungsformen sind nicht derart beschränkt. Ferner kann sich in diesem Dokument „Benutzer“ auf jemanden beziehen, der Zugriff auf eine oder mehrere Rechenvorrichtungen besitzt, wie etwa die Rechenvorrichtung 100, und kann austauschbar mit „Person“, „Individuum“, „Mensch“, „ihm, „ihr“, „Kind“, „Erwachsener“, „Betrachter“, „Spieler“, „Gamer“, „Entwickler“, „Programmierer“ und/oder dergleichen referenziert werden.
  • Die Kommunikations-/Kompatibilitätslogik 209 kann verwendet werden, um eine dynamische Kommunikation und Kompatibilität zwischen den verschiedenen Komponenten, Netzwerken, Datenbank(en) 225 und/oder einem oder mehreren Kommunikationsmedien 230 usw. und einer beliebigen Anzahl und Art von anderen Rechenvorrichtungen 250A, 250B, 250C, 260A, 260B, 260N (wie etwa Wearable-Rechenvorrichtung, mobilen Rechenvorrichtungen, Desktop-Computern, Server-Rechenvorrichtungen usw.), Verarbeitungsvorrichtungen (z. B. Zentralverarbeitungseinheit (CPU), Grafikverarbeitungseinheit (GPU) usw.), Aufnahme-/Erfassungskomponenten (z. B. Sensoren/Detekoren für nicht-visuelle Daten, wie etwa Audiosensoren, olfaktorische Sensoren, haptische Sensoren, Signalsensoren, Vibrationssensoren, Detektoren für chemische Stoffe, Funkwellendetektoren, Kraftsensoren, Wetter-/Temperatursensoren, Körpersensoren/biometrische Sensoren, Scanner usw., und Sensoren/Detektoren für visuelle Daten, wie etwa Kameras usw.), Benutzer-/Kontextwahrnehmungskomponenten und/oder Identifikations-/Verifizierungssensoren/-vorrichtungen (wie etwa biometrische Sensoren/Detektoren, Scanner usw.), Speicher- oder Speicherungsvorrichtungen, Datenquellen und/oder Datenbank(en) (wie etwa Datenspeicherungsvorrichtungen, Festplattenlaufwerke, Festkörperlaufwerke, Festplatten, Speicherkarten oder -vorrichtungen, Speicherschaltungen usw.), Netzwerk(e) (z. B. Cloud-Netzwerk, das Internet, das Internet der Dinge, Intranet, Mobilfunknetz, Proximity-Netzwerke wie etwa Bluetooth, Bluetooth Low Energy (BLE), Bluetooth Smart, WiFi-Proximity, Erkennung von Objekten per Funk (Radio Frequency Identification), Nahfeldkommunikation, Body Area Network usw.), drahtlosen oder drahtgebundenen Kommunikationen und relevanten Protokollen (z. B. WiFi®, WiMAX, Ethernet usw.), Konnektivitäts- und Standortverwaltungstechniken, Softwareanwendungen/Web sites (z. B. soziale und/oder geschäftliche Netzwerkwebsites, Geschäftsanwendungen, Spiele und andere Unterhaltungsanwendungen usw.), Programmiersprachen usw., zu ermöglichen, während gleichzeitig die Kompatibilität mit sich ändernden Technologien, Parametern, Protokollen, Standards usw. gewährleistet wird.
  • In diesem Dokument können Begriffe wie „Logik“, „Komponente“, „Modul“, „Framework“, „Engine“, „Werkzeug“, „Schaltkreis“ und/oder dergleichen austauschbar referenziert werden und schließen beispielsweise Software, Hardware, Firmware und/oder eine beliebige Kombination davon ein. In einem Beispiel kann „Logik“ eine Softwarekomponente bezeichnen oder einschließen, die mit einem Betriebssystem und/oder einem Grafiktreiber usw. einer Rechenvorrichtung wie etwa der Rechenvorrichtung 100, arbeitet. In einem anderen Beispiel kann „Logik“ eine Hardwarekomponente bezeichnen oder einschließen, die physisch zusammen mit oder als Teil von einem oder mehreren System-Hardwareelementen installiert werden kann, wie etwa einem Anwendungsprozessor, einem Grafikprozessor usw. einer Rechenvorrichtung, wie etwa der Rechenvorrichtung 100. Bei noch einer anderen Ausführungsform kann „Logik“ eine Firmwarekomponente bezeichnen oder einschließen, die Teil einer Systemfirmware sein kann, wie etwa einer Firmware eines Anwendungsprozessors oder eines Grafikprozessors usw. einer Rechenvorrichtung wie etwa der Rechenvorrichtung 100.
  • Ferner sollte eine jegliche Verwendung einer/eines speziellen Marke, Worts, Ausdrucks, Phrase, Namens und/oder Akronyms, wie etwa „Hemisphäre“, „Cubemap-Projektion“, „Henüsphären-Cubemap-Projektionsformat“, „HCMP“, „äquirektanguläre Projektion“, „HERP“, „Vome-Fläche“, „Halbfläche“, „Auffüllung“, „Projektion-Mapping“, „Vorwärtsprojektion“, „Inversprojektion“, „Viewport-Erzeugung“, „Inversprojektion“, „Formaterstellung“, „Videocodierung“, „Videodecodierung“, „Fischaugenkamera“, „Fischaugenformat“, „Mapping“, „Anordnen“, „Auffüllen“, „Zuschneiden“, „Mischen“, „Projizieren“, „Erstellen“, „Erzeugen“, „Tiefe“, „Pixeltiefe“, „Erstellen“, „Trainieren“, „Inferenzieren“, „Klassifizieren“, „Schätzen“, „RealSense™-Kamera“, „Echtzeit“, „automatisch“, „dynamisch“, „Benutzerschnittstelle“, „Kamera“, „Sensor“, „Mikrofon“, „Anzeigebildschirm“, „Lautsprecher“, „Verifizierung“, „Authentifizierung“, „Datenschutz“, „Benutzer“, „Benutzerprofil“, „Benutzerpräferenz“, „Sender“, „Empfänger“, „persönliche Vorrichtung“, „Smart-Vorrichtung“, „mobiler Computer“, „Wearable-Vorrichtung“, „IdD-Vorrichtung“, „Proximity-Netzwerk“, „Cloud-Netzwerk“, „Server-Computer“ usw., nicht so gelesen werden, dass sie Ausführungsformen auf Software oder Vorrichtungen beschränken, die diese Bezeichnung in Produkten oder in der Literatur außerhalb dieses Dokuments führen.
  • Es wird in Erwägung gezogen, dass eine beliebige Anzahl und Art von Komponenten zu dem Vorwärtsprojektionsmechanismus 110 und/oder der einen oder den mehreren Vorwärtsprojektionskomponenten 120, 130 von 1 und/oder dem Inversprojektionsmechanismus 260 (und/oder einer oder mehreren Inversprojektionskomponenten) von 2 hinzugefügt und/oder aus diesen entfernt werden können, um verschiedene Ausführungsformen zu ermöglichen, die das Hinzufügen, Entfernen und/oder Verbessern gewisser Merkmale beinhalten. Zur Kürze, Verdeutlichung und Einfachheit des Verständnisses des Vorwärtsprojektionsmechanismus 110 und/oder der einen oder der mehreren Vorwärtsprojektionskomponenten 120, 130 von 1 und/oder des Inversprojektionsmechanismus 260 (und/oder einer oder mehreren Inversprojektionskomponenten) von 2 sind hier viele der standardmäßigen und/oder bekannten Komponenten, wie etwa jene einer Rechenvorrichtung nicht gezeigt oder besprochen. Es wird in Betracht gezogen, dass Ausführungsformen, wie hierin beschrieben, nicht auf eine Technologie, eine Topologie, ein System, eine Architektur und/oder einen Standard beschränkt sind und dynamisch genug sind, um zukünftige Änderungen anzunehmen und sich daran anzupassen.
  • 5 veranschaulicht eine Rechenvorrichtung 500, die in der Lage ist, eine oder mehrere Ausführungsformen zu unterstützen und zu implementieren. Die veranschaulichte Rechenvorrichtung 500 kann mit den Rechenvorrichtungen 100, 250 von 2 identisch oder diesen ähnlich sein. Die Rechenvorrichtung 500 beherbergt eine Systemplatine 502. Die Platine 502 kann eine Anzahl von Komponenten beinhalten, einschließlich unter anderem einen Prozessor 504 und mindestens ein Kommunikationspaket 506. Das Kommunikationspaket ist mit einer oder mehreren Antennen 516 gekoppelt. Der Prozessor 504 ist physisch und elektrisch mit der Platine 502 gekoppelt.
  • In Abhängigkeit von ihren Anwendungen kann die Rechenvorrichtung 500 andere Komponenten einschließen, die physisch und elektrisch mit der Platine 502 gekoppelt sein können oder auch nicht. Diese anderen Komponenten können unter anderem einen unbeständigen Speicher (z. B. DRAM) 508, einen beständigen Speicher (z. B. ROM) 509, einen Flash-Speicher (nicht gezeigt), einen Grafikprozessor 512, einen Digitalsignalprozessor (nicht gezeigt), einen Kryptoprozessor (nicht gezeigt), einen Chipsatz 514, eine Antenne 516, eine Anzeige 518, wie etwa eine Touchscreen-Anzeige, eine Touchscreen-Steuerung 520, eine Batterie 522, einen Audio-Codec (nicht gezeigt), einen Video-Codec (nicht gezeigt), einen Leistungsverstärker 524, eine Vorrichtung 526 mit einem globalen Positionierungssystem (GPS), einen Kompass 528, einen Beschleunigungsmesser (nicht gezeigt), ein Gyroskop (nicht gezeigt), einen Lautsprecher 530, Kameras 532, ein Mikrofonarray 534 und eine Massenspeicherungsvorrichtung (wie etwa ein Festplattenlaufwerk) 510, eine Compact Disk (CD) (nicht gezeigt), eine Digital Versatile Disk (DVD) (nicht gezeigt) und so weiter beinhalten. Diese Komponenten können mit der Systemplatine 502 verbunden, an der Systemplatine montiert oder mit einer beliebigen der anderen Komponenten kombiniert sein.
  • Das Kommunikationspaket 506 ermöglicht drahtlose und/oder drahtgebundene Kommunikation für die Übertragung von Daten zu und von der Rechenvorrichtung 500. Der Begriff „drahtlos“ und seine Ableitungen können verwendet werden, um Schaltungen, Vorrichtungen, Systeme, Verfahren, Techniken, Kommunikationskanäle usw. zu beschreiben, die durch die Verwendung von modulierter elektromagnetischer Strahlung durch ein nichtfestes Medium Daten kommunizieren können. Der Begriff impliziert nicht, dass die assoziierten Vorrichtungen keinerlei Drähte enthalten, obwohl dies bei manchen Ausführungsformen der Fall sein kann. Das Kommunikationspaket 506 kann beliebige einer Anzahl von drahtlosen oder drahtgebundenen Standards oder Protokollen implementieren, einschließlich unter anderem WiFi (IEEE 802.11-Familie), WiMAX (IEEE 802.16-Familie), IEEE 802.20, Long Term Evolution (LTE), Ev-DO, HSPA+, HSDPA+, HSUPA+, EDGE, GSM, GPRS, CDMA, TDMA, DECT, Bluetooth, Ethernet-Ableitungen davon sowie beliebige andere drahtlose und drahtgebundene Protokolle, die als 3G, 4G, 5G und darüber hinaus festgelegt sind. Die Rechenvorrichtung 500 kann mehrere Kommunikationspakete 506 beinhalten. Beispielsweise kann ein erstes Kommunikationspaket 506 drahtlosen Kommunikationen mit kürzerer Reichweite dediziert sein, wie etwa WiFi und Bluetooth, und ein zweites Kommunikationspaket 506 kann drahtlosen Kommunikationen mit längerer Reichweite dediziert sein, wie etwa GPS, EDGE, GPRS, CDMA, WiMAX, LTE, Ev-DO und anderen.
  • Die Kameras 532, die beliebige Tiefensensoren oder einen Näherungssensor enthalten, sind mit einem optionalen Bildprozessor 536 gekoppelt, um Umwandlungen, Analyse, Geräuschreduzierung, Vergleiche, Tiefen- oder Abstandsanalyse, Bildverständnis und andere Prozesse durchzuführen, wie hierin beschrieben. Der Prozessor 504 ist mit dem Bildprozessor gekoppelt, um den Prozess mit Interrupts, eingestellten Parametern und Steueroperationen des Bildprozessors und der Kameras zu steuern. Stattdessen kann Bildverarbeitung in dem Prozessor 504, der Grafik-CPU 512, den Kameras 532 oder in einer beliebigen anderen Vorrichtung durchgeführt werden.
  • Bei verschiedenen Implementierungen kann die Rechenvorrichtung 500 ein Laptop, ein Netbook, ein Notebook, ein Ultrabook, ein Smartphone, ein Tablet, ein Personal Digital Assistant (PDA), ein ultramobiler PC, ein Mobiltelefon, ein Desktop-Computer, ein Server, eine Set-Top-Box, eine Unterhaltungssteuereinheit, eine Digitalkamera, ein tragbarer Musikspieler oder ein digitaler Videorecorder sein. Die Rechenvorrichtung kann fixiert, portabel oder tragbar sein. Bei weiteren Implementierungen kann die Rechenvorrichtung 500 eine beliebige andere elektronische Vorrichtung sein, die Daten verarbeitet oder Daten zum Verarbeiten an anderer Stelle aufzeichnet.
  • Ausführungsformen können unter Verwendung eines oder mehrerer Speicherchips, Steuerungen, CPUs (Zentralverarbeitungseinheit), Mikrochips oder integrierter Schaltungen, die über ein Motherboard miteinander verbunden sind, eine anwendungsspezifische integrierte Schaltung (ASIC) und/oder ein feldprogrammierbares Gate-Array (FPGA) implementiert werden. Der Begriff „Logik“ kann beispielsweise Software oder Hardware und/oder Kombinationen von Software und Hardware einschließen.
  • Bezugnahmen auf „eine Ausführungsform“, „Ausführungsbeispiel“, „verschiedene Ausführungsformen“ usw. weisen darauf hin, dass die so beschriebene(n) Ausführungsform(en) bestimmte Merkmale, Strukturen oder Charakteristiken aufweisen können, jedoch nicht jede Ausführungsform notwendigerweise die bestimmten Merkmale, Strukturen oder Charakteristiken aufweist. Ferner können einige Ausführungsformen einige, alle oder keines der Merkmale aufweisen, die für andere Ausführungsformen beschrieben sind.
  • In der folgenden Beschreibung und den Ansprüchen kann der Ausdruck „gekoppelt“ zusammen mit seinen Derivaten verwendet sein. „Gekoppelt“ wird verwendet, um anzuzeigen, dass zwei oder mehr Elemente miteinander zusammenwirken oder interagieren, sie aber dazwischen liegende physische oder elektrische Komponenten haben können oder nicht.
  • Wie in den Ansprüchen verwendet, sofern nicht anderweitig angegeben, gibt die Verwendung der Ordinaladjektive „erste“, „zweite“, „dritte“ usw. zur Beschreibung eines gemeinsamen Elements lediglich an, dass auf verschiedene Instanzen von ähnlichen Elementen Bezug genommen wird, wobei nicht impliziert werden soll, dass die so beschriebenen Elemente in einer bestimmten Abfolge vorliegen müssen, und zwar weder zeitlich, räumlich, in einer Rangfolge oder auf irgendeine andere Weise.
  • Die Zeichnungen und die vorangehende Beschreibung geben Beispiele von Ausführungsformen. Der Fachmann wird erkennen, dass eines oder mehrere der beschriebenen Elemente auch zu einem einzigen funktionalen Element kombiniert werden können. Alternativ können bestimmte Elemente in mehrere funktionale Elemente aufgeteilt werden. Elemente aus einer Ausführungsform können zu einer anderen Ausführungsform hinzugefügt werden. Zum Beispiel können Reihenfolgen von Prozessen, die hierin beschrieben sind, geändert werden und sind nicht auf die hierin beschriebene Art und Weise beschränkt. Darüber hinaus müssen die Aktionen eines Flussdiagramms nicht in der dargestellten Reihenfolge implementiert werden; noch müssen alle Handlungen unbedingt ausgeführt werden. Ferner können solche Handlungen, die nicht von anderen Handlungen abhängig sind, parallel zu den anderen Handlungen ausgeführt werden. Der Schutzumfang der Ausführungsformen ist keineswegs durch diese spezifischen Beispiele beschränkt. Zahlreiche Variationen, ob explizit in der Spezifikation angegeben oder nicht, wie beispielsweise Unterschiede hinsichtlich der Struktur, Abmessung und Verwendung von Material, sind möglich. Der Schutzumfang der Ausführungsformen ist mindestens so breit wie in den folgenden Ansprüchen angegeben.
  • Ausführungsformen können beispielsweise als ein Computerprogrammprodukt bereitgestellt sein, das ein oder mehrere maschinenlesbare flüchtige oder nichtflüchtige Speichermedien aufweisen kann, auf denen maschinenausführbare Anweisungen gespeichert sind, die, wenn sie durch eine oder mehrere Maschinen, wie etwa einen Computer, ein Computernetzwerk oder andere elektronische Vorrichtungen, ausgeführt werden, bewirken können, dass die eine oder die mehreren Maschinen Operationen gemäß den hierin beschriebenen Ausführungsformen ausführen. Zu einem maschinenlesbaren Medium können unter anderem Disketten, optische Platten, CD-ROMs (Compact Disc-Read Only Memories) und magnetooptische Platten, ROMs, RAMs, EPROMs (Erasable Programmable Read Only Memories: löschbare programmierbare Nurlesespeicher), EEPROMs (Electrically Erasable Programmable Read Only Memories: elektrisch löschbare programmierbare Nurlesespeicher), magnetische oder optische Karten, Flash-Speicher oder eine andere Art von Medien/maschinenlesbaren Medien, die zum Speichern von maschinenausführbaren Anweisungen geeignet sind, zählen.
  • 6A veranschaulicht eine Transaktionssequenz 600 über ein Panoramavideosystem mit der Hemisphären-Cubemap gemäß einer Ausführungsform. Der Kürze halber werden viele der Einzelheiten, die bereits unter Bezugnahme auf die 1-5 erwähnt oder besprochen wurden, nicht wiederholt oder im Folgenden besprochen. Ferner wird in Erwägung gezogen, dass beliebige Prozesse oder Transaktionen mit dieser oder anderen Veranschaulichungen durch Verarbeitungslogik durchgeführt werden können, die Hardware (z. B. Schaltkreis, dedizierte Logik, programmierbare Logik usw.), Software (wie etwa Anweisungen, die auf einer Verarbeitungsvorrichtung ausgeführt werden) oder eine Kombination davon umfassen kann, wie durch den Vorwärtsprojektionsmechanismus 110 und/oder eine oder mehrere der Vorwärtsprojektionskomponenten 120, 130 von 1 und/oder den Inversprojektionsmechanismus 260 und/oder eine oder mehrere der Inversprojektionskomponenten (nicht gezeigt) von 2 ermöglicht. Jegliche mit dieser und anderen Veranschaulichungen verbundenen Prozesse oder Transaktionen können der Kürze und Klarheit der Darstellung halber in linearen Sequenzen veranschaulicht oder wiedergegeben werden; es wird jedoch in Betracht gezogen, dass eine beliebige Anzahl von ihnen parallel, asynchron oder in verschiedenen Reihenfolgen ausgeführt werden kann.
  • Wie in 6A veranschaulicht, werden an der Server-Rechenvorrichtung 100 Bilder und/oder Videos unter Verwendung der Kamera 242 aufgenommen, wobei, wie zuvor unter Bezugnahme auf 2 beschrieben, diese aufgenommenen Informationen dann zur Vorwärtsprojektion (Projektion-Mapping usw.) 601 angeboten werden, wie durch den Vorwärtsprojektionsmechanismus 110 von 1 ermöglicht. Sobald dieses Vorwärtsprojektion-Mapping durchgeführt ist, werden dann die resultierenden Daten unter Verwendung des Videocodierers 213 codiert und zu dem Videodecodierer 273 an der Client-Rechenvorrichtung 250 kommuniziert. Die codierten Daten werden dann unter Verwendung des Videodecodierers 273 decodiert und zur Inversprojektion (Viewport-Erzeugung, Formaterstellung usw.) 611 weitergeleitet, wie durch den Inversprojektionsmechanismus 260 ermöglicht und zusätzlich unter Bezugnahme auf 2 beschrieben.
  • Wie beispielsweise durch den Positionsselektor 613 bestimmt und ausgewählt und wie durch die Positionsauswahl-und-Anzeige-Logik 268 von 2 ermöglicht, kann bei einer Ausführungsform ein Hemisphären-Inhaltsformat (z. B. 180° x 180° Hemisphären-Format in Inhalt im Fischaugen- oder ERP-Format) erstellt werden, oder kann bei einer anderen Ausführungsform ein Viewport (von weniger als 180° x 180°) zur Ansicht durch einen Benutzer über die Anzeigevorrichtung 277 erzeugt werden.
  • 6B veranschaulicht ein Verfahren 620 zur Vorwärtsprojektion gemäß einer Ausführungsform. Der Kürze halber werden viele der Einzelheiten, die bereits unter Bezugnahme auf die 1-6A erwähnt oder besprochen wurden, nicht wiederholt oder im Folgenden besprochen. Ferner wird in Erwägung gezogen, dass beliebige Prozesse oder Transaktionen mit dieser oder anderen Veranschaulichungen durch Verarbeitungslogik durchgeführt werden können, die Hardware (z. B. Schaltkreis, dedizierte Logik, programmierbare Logik usw.), Software (wie etwa Anweisungen, die auf einer Verarbeitungsvorrichtung ausgeführt werden) oder eine Kombination davon umfassen kann, wie durch den Vorwärtsprojektionsmechanismus 110 und/oder eine oder mehrere der Vorwärtsprojektionskomponenten 120, 130 von 1 ermöglicht. Jegliche mit dieser und anderen Veranschaulichungen verbundenen Prozesse oder Transaktionen können der Kürze und Klarheit der Darstellung halber in linearen Sequenzen veranschaulicht oder wiedergegeben werden; es wird jedoch in Betracht gezogen, dass eine beliebige Anzahl von ihnen parallel, asynchron oder in verschiedenen Reihenfolgen ausgeführt werden kann.
  • Das Verfahren 620 beginnt bei Block 621 mit der Initiierung eines 180° x 180° Inhalts in einem Format, wie etwa einem Fischaugenformat, ERP-Format usw., an einer Server-Rechenvorrichtung. Bei Block 623 wird das Format dann in ein Layout gemappt, das eine Vollfläche und mehrere Halbflächen, wie etwa vier Halbflächen, die Rechts-, Links-, Oben- und Unten-Hälften repräsentieren, bietet oder aufweist. Bei einer Ausführungsform wird dieses Mapping bei Block 625 dann verarbeitet, um so angeordnet zu werden, dass die Vollfläche und die vier Halbflächen in einer einzigen Zeile vorhanden sind, einschließlich einer Drehung von zwei Halbflächen. Bei Block 627 wird die Anordnung mit aktiver Auffüllung, wie etwa horizontaler Auffüllung vertikaler Auffüllung usw., von sphärischen Nachbarn erweitert. Bei Block 629 wird diese Anordnung dann unter Verwendung eines Videocodierers an der Server-Rechenvorrichtung codiert und dann wird die codierte Anordnung bei Block 631 unter Verwendung eines oder mehrerer Netzwerke, wie etwa eines Proximity-Netzwerks, eines Cloud-Netzwerks, des Internets usw., zu einer Client-Rechenvorrichtung kommuniziert.
  • 6C veranschaulicht ein Verfahren 650 zur Inversprojektion gemäß einer Ausführungsform. Der Kürze halber werden viele der Einzelheiten, die bereits unter Bezugnahme auf die 1-6B erwähnt oder besprochen wurden, nicht wiederholt oder im Folgenden besprochen. Ferner wird in Erwägung gezogen, dass beliebige Prozesse oder Transaktionen mit dieser oder anderen Veranschaulichungen durch Verarbeitungslogik durchgeführt werden können, die Hardware (z. B. Schaltkreis, dedizierte Logik, programmierbare Logik usw.), Software (wie etwa Anweisungen, die auf einer Verarbeitungsvorrichtung ausgeführt werden) oder eine Kombination davon umfassen kann, wie durch den Inversprojektionsmechanismus 260 und/oder eine oder mehrere der Inversprojektionskomponenten (nicht gezeigt) von 2 ermöglicht. Jegliche mit dieser und anderen Veranschaulichungen verbundenen Prozesse oder Transaktionen können der Kürze und Klarheit der Darstellung halber in linearen Sequenzen veranschaulicht oder wiedergegeben werden; es wird jedoch in Betracht gezogen, dass eine beliebige Anzahl von ihnen parallel, asynchron oder in verschiedenen Reihenfolgen ausgeführt werden kann. Bei Block
  • Das Verfahren 650 beginnt bei Block 651 mit dem Empfangen der codierten Anordnung von 6B von der Server-Rechenvorrichtung an der Client-Computing. Bei Block 653 wird die codierte Anordnung dann durch einen Videodecodierer decodiert, und sobald die Anordnung decodiert ist, werden dann bei Block 655 die aufgefüllten Gebiete der Anordnung zugeschnitten oder gemischt. Bei Block 657 werden die Vorne-Vollfläche und die vier Halbflächen der Map auf die Hemisphäre projiziert. Bei Block 659 wird eine Bestimmung vorgenommen, ob ein Hemisphären-Format in Inhalt im Fischaugen- oder ERP-Format zu erstellen ist oder ein Viewport zur Ansicht über eine Anzeigevorrichtung zu erzeugen ist. Falls das Hemisphären-Format ausgewählt wird, dann wird das Hemisphären-Format bei Block 667 erzeugt. Falls der Viewport ausgewählt wird, dann wird der Viewport bei Block 669 erzeugt.
  • Die folgenden Abschnitte und/oder Beispiele betreffen weitere Ausführungsformen oder Beispiele. Einzelheiten in den Beispielen können überall in einer oder mehreren Ausführungsformen verwendet werden. Die verschiedenen Merkmale der unterschiedlichen Ausführungsformen oder Beispiele können verschiedenartig mit manchen enthaltenen Merkmalen kombiniert werden und andere können ausgeschlossen werden, um für eine Vielzahl unterschiedlicher Anwendungen geeignet zu sein. Beispiele können Gegenstände wie etwa Verfahren, Mittel zum Durchführen von Handlungen des Verfahrens, mindestens ein maschinenlesbares Medium einschließlich Anweisungen, die, wenn sie durch eine Maschine durchgeführt werden, die Maschine veranlassen, Handlungen des Verfahrens durchzuführen, oder eine Einrichtung oder ein System zum Ermöglichen einer hybriden Kommunikation gemäß hierin beschriebenen Ausführungsformen und Beispielen beinhalten.
  • Manche Ausführungsformen betreffen Beispiel 1, das eine Einrichtung zum Ermöglichen von Abbildungsumgebungen mit Hemisphären-Cubemap-Projektionsformat beinhaltet, wobei die Einrichtung umfasst: einen oder mehrere Prozessoren, die mit einem Speicher gekoppelt sind, wobei der eine oder die mehreren Prozessoren ausgelegt sind zum Aufnehmen, durch eine Kamera, eines Bildes mit einem Bildinhalt, wobei der Bildinhalt, der durch das Bild repräsentiert wird, derart omnidirektional ist, dass der Bildinhalt auf eine Sphäre gemappt wird, während er weniger als die Sphäre repräsentiert; Mappen des Bildes zu einer kubischen Repräsentation basierend auf sechs Flächen eines Würfels, wobei eine oder mehrere der sechs Flächen derart als inaktive Gebiete klassifiziert werden, dass sie unbelegt oder teilweise belegt bleiben; und Anordnen, basierend auf der kubischen Repräsentation, der sechs Flächen in einer kompakten Repräsentation durch das Vermeiden des Einschlusses der inaktiven Gebiete.
  • Beispiel 2 beinhaltet den Gegenstand von Beispiel 1, wobei die sechs Flächen in einer einzelnen Zeile angeordnet sind und eine Vollfläche und vier Teilflächen beinhalten.
  • Beispiel 3 beinhaltet den Gegenstand der Beispiele 1-2, wobei der eine oder die mehreren Prozessoren ferner dazu ausgelegt sind, eine Auffüllung an einem oder mehreren Gebieten mit zulässigen Nachbargebieten, die auf der Sphäre repräsentiert sind, anzuwenden und die Auffüllung anderer Gebiete, denen eines oder mehrere der zulässigen Nachbargebiete fehlen und die eine partielle sphärische Repräsentation bieten, zu vermeiden.
  • Beispiel 4 beinhaltet den Gegenstand der Beispiele 1-3, wobei die Würfelrepräsentation auf einem Hemisphären-Cubemap-Format(HCMF)-Format und/oder einem Hemisphären-Winkeltreue-Cubemap(HEAC)-Format basiert, wobei eine Hemisphäre kleiner als die Sphäre ist und durch eine Vollfläche und vier Halbflächen repräsentiert wird, wobei die Auffüllung ferner an der Hemisphäre angewendet wird.
  • Beispiel 5 beinhaltet den Gegenstand der Beispiele 1-4, wobei der eine oder die mehreren Prozessoren ferner dazu ausgelegt sind, die Anordnung unter Verwendung eines Videocodierers zu codieren und die codierte Anordnung über ein oder mehrere Netzwerke zu einer Rechenvorrichtung zu kommunizieren, wobei der eine oder die mehreren Prozessoren, die auf einem gemeinsamen Halbleiter-Package kolokalisiert sind, eine Zentralverarbeitungseinheit und/oder eine Grafikverarbeitungseinheit beinhalten.
  • Manche Ausführungsformen betreffen Beispiel 6, das eine Einrichtung zum Ermöglichen von Abbildungsumgebungen mit einem Hemisphären-Cubemap-Projektionsformat beinhaltet, wobei die Einrichtung umfasst: einen oder mehrere Prozessoren, die mit einem Speicher gekoppelt sind, wobei der eine oder die mehreren Prozessoren ausgelegt sind zum Empfangen einer codierten Anordnung der sechs Flächen eines Würfels basierend auf einer kubischen Repräsentation eines Bildes mit Bildinhalten, wobei eine oder mehrere der sechs Flächen derart als inaktive Gebiete klassifiziert werden, dass sie unbelegt oder teilweise belegt bleiben; und Decodieren, über einen Videodecodierer, der codierten Anordnung in eine decodierte Anordnung.
  • Beispiel 7 beinhaltet den Gegenstand von Beispiel 6, wobei eine Anordnung, wenn codiert oder decodiert, eine kompakte Repräsentation der kubischen Repräsentation durch Vermeiden des Einschlusses der inaktiven Gebiete bietet.
  • Beispiel 8 beinhaltet den Gegenstand der Beispiele 6-7, wobei die Würfelrepräsentation auf einem Hemisphären-Cubemap-Format(HCMF)-Format und/oder einem Hemisphären-Winkeltreue-Cubemap(HEAC)-Format basiert, wobei eine Hemisphäre kleiner als eine volle Sphäre ist und durch eine Vollfläche und vier Halbflächen repräsentiert wird.
  • Beispiel 9 beinhaltet den Gegenstand der Beispiele 6-8, wobei der eine oder die mehreren Prozessoren, die auf einem gemeinsamen Halbleiter-Package kolokalisiert sind, eine Zentralverarbeitungseinheit und/oder eine Grafikverarbeitungseinheit beinhalten.
  • Manche Ausführungsformen betreffen Beispiel 10, das ein Verfahren zum Ermöglichen von Abbildungsumgebungen mit Hemisphären-Cubemap-Projektionsformat beinhaltet, wobei das Verfahren umfasst: Aufnehmen, durch eine Kamera, die mit einem oder mehreren Prozessoren gekoppelt ist, eines Bildes mit einem Bildinhalt, wobei der Bildinhalt, der durch das Bild repräsentiert wird, derart omnidirektional ist, dass der Bildinhalt auf eine Sphäre gemappt wird, während er weniger als die Sphäre repräsentiert; Mappen des Bildes zu einer kubischen Repräsentation basierend auf sechs Flächen eines Würfels, wobei eine oder mehrere der sechs Flächen derart als inaktive Gebiete klassifiziert werden, dass sie unbelegt oder teilweise belegt bleiben; und Anordnen, basierend auf der kubischen Repräsentation, der sechs Flächen in einer kompakten Repräsentation durch das Vermeiden des Einschlusses der inaktiven Gebiete.
  • Beispiel 11 beinhaltet den Gegenstand von Beispiel 10, wobei die sechs Flächen in einer einzelnen Zeile angeordnet sind und eine Vollfläche und vier Teilflächen beinhalten.
  • Beispiel 12 beinhaltet den Gegenstand der Beispiele 10-11, ferner umfassend Anwenden einer Auffüllung an einem oder mehreren Gebieten mit zulässigen Nachbargebieten, die auf der Sphäre repräsentiert sind, und Vermeiden der Auffüllung anderer Gebiete, denen eines oder mehrere der zulässigen Nachbargebiete fehlen und die eine partielle sphärische Repräsentation bieten.
  • Beispiel 13 beinhaltet den Gegenstand der Beispiele 11-12, wobei die Würfelrepräsentation auf einem Hemisphären-Cubemap-Format(HCMF)-Format und/oder einem Hemisphären-Winkeltreue-Cubemap(HEAC)-Format basiert, wobei eine Hemisphäre kleiner als die Sphäre ist und durch eine Vollfläche und vier Halbflächen repräsentiert wird, wobei die Auffüllung ferner an der Hemisphäre angewendet wird.
  • Beispiel 14 beinhaltet den Gegenstand der Beispiele 11-13, ferner umfassend Codieren der Anordnung unter Verwendung eines Videocodierers und Kommunizieren der codierten Anordnung über ein oder mehrere Netzwerke zu einer Rechenvorrichtung wobei der eine oder die mehreren Prozessoren, die auf einem gemeinsamen Halbleiter-Package kolokalisiert sind, eine Zentralverarbeitungseinheit und/oder eine Grafikverarbeitungseinheit beinhalten.
  • Manche Ausführungsformen betreffen Beispiel 15, das ein Datenverarbeitungssystem beinhaltet, das umfasst: einen Speicher; und einen oder mehrere Prozessoren, die mit dem Speicher gekoppelt sind, wobei der eine oder die mehreren Prozessoren ausgelegt sind zum: Aufnehmen, durch eine Kamera, eines Bildes mit einem Bildinhalt, wobei der Bildinhalt, der durch das Bild repräsentiert wird, derart omnidirektional ist, dass der Bildinhalt auf eine Sphäre gemappt wird, während er weniger als die Sphäre repräsentiert; Mappen des Bildes zu einer kubischen Repräsentation basierend auf sechs Flächen eines Würfels, wobei eine oder mehrere der sechs Flächen derart als inaktive Gebiete klassifiziert werden, dass sie unbelegt oder teilweise belegt bleiben; und Anordnen, basierend auf der kubischen Repräsentation, der sechs Flächen in einer kompakten Repräsentation durch das Vermeiden des Einschlusses der inaktiven Gebiete.
  • Beispiel 16 beinhaltet den Gegenstand von Beispiel 15, wobei die sechs Flächen in einer einzelnen Zeile angeordnet sind und eine Vollfläche und vier Teilflächen beinhalten.
  • Beispiel 17 beinhaltet den Gegenstand der Beispiele 15-16, wobei der eine oder die mehreren Prozessoren dazu ausgelegt sind, eine Auffüllung an einem oder mehreren Gebieten mit zulässigen Nachbargebieten, die auf der Sphäre repräsentiert sind, anzuwenden und die Auffüllung anderer Gebiete, denen eines oder mehrere der zulässigen Nachbargebiete fehlen und die eine partielle sphärische Repräsentation bieten, zu vermeiden.
  • Beispiel 18 beinhaltet den Gegenstand der Beispiele 15-17, wobei die Würfelrepräsentation auf einem Hemisphären-Cubemap-Format(HCMF)-Format und/oder einem Hemisphären-Winkeltreue-Cubemap(HEAC)-Format basiert, wobei eine Hemisphäre kleiner als die Sphäre ist und durch eine Vollfläche und vier Halbflächen repräsentiert wird, wobei die Auffüllung ferner an der Hemisphäre angewendet wird.
  • Beispiel 19 beinhaltet den Gegenstand der Beispiele 15-18, wobei der eine oder die mehreren Prozessoren dazu ausgelegt sind, die Anordnung unter Verwendung eines Videocodierers zu codieren und die codierte Anordnung über ein oder mehrere Netzwerke zu einer Rechenvorrichtung zu kommunizieren, wobei der eine oder die mehreren Prozessoren, die auf einem gemeinsamen Halbleiter-Package kolokalisiert sind, eine Zentralverarbeitungseinheit und/oder eine Grafikverarbeitungseinheit beinhalten.
  • Manche Ausführungsformen betreffen Beispiel 20, das eine Einrichtung zum Ermöglichen von Abbildungsumgebungen mit Hemisphären-Cubemap-Projektionsformat beinhaltet, wobei die Einrichtung umfasst: Mittel zum Aufnehmen, durch eine Kamera, die mit einem oder mehreren Prozessoren gekoppelt ist, eines Bildes mit einem Bildinhalt, wobei der Bildinhalt, der durch das Bild repräsentiert wird, derart omnidirektional ist, dass der Bildinhalt auf eine Sphäre gemappt wird, während er weniger als die Sphäre repräsentiert; Mittel zum Mappen des Bildes zu einer kubischen Repräsentation basierend auf sechs Flächen eines Würfels, wobei eine oder mehrere der sechs Flächen derart als inaktive Gebiete klassifiziert werden, dass sie unbelegt oder teilweise belegt bleiben; und Mittel zum Anordnen, basierend auf der kubischen Repräsentation, der sechs Flächen in einer kompakten Repräsentation durch das Vermeiden des Einschlusses der inaktiven Gebiete.
  • Beispiel 21 beinhaltet den Gegenstand von Beispiel 20, wobei die sechs Flächen in einer einzelnen Zeile angeordnet sind und eine Vollfläche und vier Teilflächen beinhalten.
  • Beispiel 22 beinhaltet den Gegenstand der Beispiele 20-21, ferner umfassend Mittel zum Anwenden einer Auffüllung an einem oder mehreren Gebieten mit zulässigen Nachbargebieten, die auf der Sphäre repräsentiert sind, und Vermeiden der Auffüllung anderer Gebiete, denen eines oder mehrere der zulässigen Nachbargebiete fehlen und die eine partielle sphärische Repräsentation bieten.
  • Beispiel 23 beinhaltet den Gegenstand der Beispiele 20-22, wobei die Würfelrepräsentation auf einem Hemisphären-Cubemap-Format(HCMF)-Format und/oder einem Hemisphären-Winkeltreue-Cubemap(HEAC)-Format basiert, wobei eine Hemisphäre kleiner als die Sphäre ist und durch eine Vollfläche und vier Halbflächen repräsentiert wird, wobei die Auffüllung ferner an der Hemisphäre angewendet wird.
  • Beispiel 24 beinhaltet den Gegenstand der Beispiele 20-23, ferner umfassend Mittel zum Codieren der Anordnung unter Verwendung eines Videocodierers und Kommunizieren der codierten Anordnung über ein oder mehrere Netzwerke zu einer Rechenvorrichtung, wobei der eine oder die mehreren Prozessoren, die auf einem gemeinsamen Halbleiter-Package kolokalisiert sind, eine Zentralverarbeitungseinheit und/oder eine Grafikverarbeitungseinheit beinhalten.
  • Beispiel 25 beinhaltet mindestens ein nichtflüchtiges oder greifbares maschinenlesbares Medium, das eine Vielzahl von Anweisungen umfasst, die, wenn sie auf einer Rechenvorrichtung ausgeführt werden, zum Implementieren oder Ausführen eines Verfahrens nach einem der Ansprüche oder Beispiele 6-14 dienen.
  • Beispiel 26 beinhaltet mindestens ein maschinenlesbares Medium, das eine Vielzahl von Anweisungen umfasst, die, wenn sie auf einer Rechenvorrichtung ausgeführt werden, zum Implementieren oder Durchführen eines Verfahrens nach einem der Ansprüche oder Beispiele 6-14 dienen.
  • Beispiel 27 beinhaltet ein System umfassend einen Mechanismus zum Implementieren oder Durchführen eines Verfahrens nach einem der Ansprüche oder der Beispiele 6-14.
  • Beispiel 28 beinhaltet eine Einrichtung umfassend Mittel zum Ausführen eines Verfahrens nach einem der Ansprüche oder der Beispiele 6-14.
  • Beispiel 29 beinhaltet eine Rechenvorrichtung, die ausgelegt ist, ein Verfahren nach einem der Ansprüche oder der Beispiele 6-14 zu implementieren oder durchzuführen.
  • Beispiel 30 beinhaltet eine Kommunikationsvorrichtung, die ausgelegt ist, ein Verfahren nach einem der Ansprüche oder der Beispiele 6-14 zu implementieren oder durchzuführen.
  • Beispiel 31 beinhaltet mindestens ein maschinenlesbares Medium, das mehrere Anweisungen umfasst, die, wenn sie auf einer Rechenvorrichtung ausgeführt werden, zum Implementieren oder Durchführen eines Verfahrens oder Realisieren einer Einrichtung nach einem der vorstehenden Ansprüche dienen.
  • Beispiel 32 beinhaltet mindestens ein nichtflüchtiges oder greifbares maschinenlesbares Medium, das mehrere Anweisungen umfasst, die, wenn sie auf einer Rechenvorrichtung ausgeführt werden, zum Implementieren oder Durchführen eines Verfahrens oder Realisieren einer Einrichtung nach einem der vorstehenden Ansprüche dienen.
  • Beispiel 33 beinhaltet ein System, das einen Mechanismus zum Implementieren oder Durchführen eines Verfahrens oder Realisieren einer Einrichtung nach einem der vorstehenden Ansprüche umfasst.
  • Beispiel 34 beinhaltet eine Einrichtung, die Mittel zum Durchführen eines Verfahrens nach einem der vorstehenden Ansprüche umfasst.
  • Beispiel 35 beinhaltet eine Rechenvorrichtung, die zum Implementieren oder Durchführen eines Verfahrens oder Realisieren einer Einrichtung nach einem der vorstehenden Ansprüche ausgelegt ist.
  • Beispiel 36 beinhaltet eine Kommunikationsvorrichtung, die zum Implementieren oder Durchführen eines Verfahrens oder Realisieren einer Einrichtung nach einem der vorstehenden Ansprüche ausgelegt ist.
  • Die Zeichnungen und die vorangehende Beschreibung geben Beispiele von Ausführungsformen. Der Fachmann wird erkennen, dass eines oder mehrere der beschriebenen Elemente auch zu einem einzigen funktionalen Element kombiniert werden können. Alternativ können bestimmte Elemente in mehrere funktionale Elemente aufgeteilt werden. Elemente aus einer Ausführungsform können zu einer anderen Ausführungsform hinzugefügt werden. Zum Beispiel können Reihenfolgen von Prozessen, die hierin beschrieben sind, geändert werden und sind nicht auf die hierin beschriebene Art und Weise beschränkt. Darüber hinaus müssen die Aktionen eines Ablaufdiagramms nicht in der dargestellten Reihenfolge implementiert werden; noch müssen alle Handlungen unbedingt ausgeführt werden. Ferner können solche Handlungen, die nicht von anderen Handlungen abhängig sind, parallel zu den anderen Handlungen ausgeführt werden. Der Schutzumfang der Ausführungsformen ist keineswegs durch diese spezifischen Beispiele beschränkt. Zahlreiche Variationen, ob explizit in der Spezifikation angegeben oder nicht, wie beispielsweise Unterschiede hinsichtlich der Struktur, Abmessung und Verwendung von Material, sind möglich. Der Schutzumfang der Ausführungsformen ist mindestens so breit wie in den folgenden Ansprüchen angegeben.
  • 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/787156 [0001]

Claims (15)

  1. Einrichtung zum Ermöglichen eines Hemisphären-Cubemap-Projektionsformats in einer digitalen Abbildungsumgebung, wobei die Einrichtung Folgendes umfasst: einen oder mehrere Prozessoren, die mit einem Speicher gekoppelt sind, wobei der eine oder die mehreren Prozessoren ausgelegt sind zum Aufnehmen, durch eine Kamera, eines Bildes mit einem Bildinhalt, wobei der Bildinhalt, der durch das Bild repräsentiert wird, derart omnidirektional ist, dass der Bildinhalt auf eine Sphäre gemappt wird, während er weniger als die Sphäre repräsentiert; Mappen des Bildes zu einer kubischen Repräsentation basierend auf sechs Flächen eines Würfels, wobei eine oder mehrere der sechs Flächen derart als inaktive Gebiete klassifiziert werden, dass sie unbelegt oder teilweise unbelegt bleiben; und Anordnen, basierend auf der kubischen Repräsentation, der sechs Flächen in einer kompakten Repräsentation durch Vermeiden eines Einschlusses der inaktiven Gebiete.
  2. Einrichtung nach Anspruch 1, wobei die sechs Flächen in einer einzelnen Zeile angeordnet sind und eine Vollfläche und vier Teilflächen beinhalten.
  3. Einrichtung nach Anspruch 1, wobei der eine oder die mehreren Prozessoren ferner dazu ausgelegt sind, eine Auffüllung an einem oder mehreren Gebieten mit zulässigen Nachbargebieten, die auf der Sphäre repräsentiert sind, anzuwenden und die Auffüllung anderer Gebiete, denen eines oder mehrere der zulässigen Nachbargebiete fehlen und die eine partielle sphärische Repräsentation bieten, zu vermeiden.
  4. Einrichtung nach Anspruch 1, wobei die Würfelrepräsentation auf einem Henüsphären-Cubemap-Format(HCMF)-Format und/oder einem Hemisphären-Winkeltreue-Cubemap(HEAC)-Format basiert, wobei eine Hemisphäre kleiner als die Sphäre ist und durch eine Vollfläche und vier Halbflächen repräsentiert wird, wobei die Auffüllung ferner an der Hemisphäre angewendet wird.
  5. Einrichtung nach Anspruch 1, wobei der eine oder die mehreren Prozessoren ferner dazu ausgelegt sind, die Anordnung unter Verwendung eines Videocodierers zu codieren und die codierte Anordnung über ein oder mehrere Netzwerke zu einer Rechenvorrichtung zu kommunizieren, wobei der eine oder die mehreren Prozessoren, die auf einem gemeinsamen Halbleiter-Package kolokalisiert sind, eine Zentralverarbeitungseinheit und/oder eine Grafikverarbeitungseinheit beinhalten.
  6. Verfahren zum Ermöglichen eines Hemisphären-Cubemap-Projektionsformats in einer digitalen Abbildungsumgebung, wobei das Verfahren Folgendes umfasst: Aufnehmen, durch eine Kamera, die mit einem oder mehreren Prozessoren gekoppelt ist, eines Bildes mit einem Bildinhalt, wobei der Bildinhalt, der durch das Bild repräsentiert wird, derart omnidirektional ist, dass der Bildinhalt auf eine Sphäre gemappt wird, während er weniger als die Sphäre repräsentiert; Mappen des Bildes zu einer kubischen Repräsentation basierend auf sechs Flächen eines Würfels, wobei eine oder mehrere der sechs Flächen derart als inaktive Gebiete klassifiziert werden, dass sie unbelegt oder teilweise unbelegt bleiben; und Anordnen, basierend auf der kubischen Repräsentation, der sechs Flächen in einer kompakten Repräsentation durch Vermeiden eines Einschlusses der inaktiven Gebiete.
  7. Verfahren nach Anspruch 6, wobei die sechs Flächen in einer einzelnen Zeile angeordnet sind und eine Vollfläche und vier Teilflächen beinhalten.
  8. Verfahren nach Anspruch 6, ferner umfassend Anwenden einer Auffüllung an einem oder mehreren Gebieten mit zulässigen Nachbargebieten, die auf der Sphäre repräsentiert sind, und Vermeiden der Auffüllung anderer Gebiete, denen eines oder mehrere der zulässigen Nachbargebiete fehlen und die eine partielle sphärische Repräsentation bieten.
  9. Verfahren nach Anspruch 6, wobei die Würfel-Repräsentation auf einem Henüsphären-Cubemap-Format(HCMF)-Format und/oder einem Hemisphären-Winkeltreue-Cubemap(HEAC)-Format basiert, wobei eine Hemisphäre kleiner als die Sphäre ist und durch eine Vollfläche und vier Halbflächen repräsentiert wird, wobei die Auffüllung ferner an der Hemisphäre angewendet wird.
  10. Verfahren nach Anspruch 6, ferner umfassend Codieren der Anordnung unter Verwendung eines Videocodierers und Kommunizieren der codierten Anordnung über ein oder mehrere Netzwerke zu einer Rechenvorrichtung wobei der eine oder die mehreren Prozessoren, die auf einem gemeinsamen Halbleiter-Package kolokalisiert sind, eine Zentralverarbeitungseinheit und/oder eine Grafikverarbeitungseinheit beinhalten.
  11. Maschinenlesbares Medium oder mehrere maschinenlesbare Medien, die mehrere Anweisungen umfassen, die, wenn sie auf einer Rechenvorrichtung ausgeführt werden, zum Implementieren oder Durchführen eines Verfahrens nach einem der Ansprüche 6-10 dienen.
  12. System, umfassend einen Mechanismus zum Implementieren oder Durchführen eines Verfahrens nach einem der Ansprüche oder der Beispiele 6-10.
  13. Einrichtung, umfassend Mittel zum Durchführen eines Verfahrens nach einem der Ansprüche oder der Beispiele 6-10.
  14. Rechenvorrichtung, die eingerichtet ist, ein Verfahren nach einem der Ansprüche oder der Beispiele 6-10 zu implementieren oder durchzuführen.
  15. Kommunikationsvorrichtung, die eingerichtet ist, ein Verfahren nach einem der Ansprüche oder der Beispiele 6-10 zu implementieren oder durchzuführen.
DE102019218373.5A 2018-12-31 2019-11-27 Hemisphären-cubemap-projektionsformat inabbildungsumgebungen Pending DE102019218373A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862787156P 2018-12-31 2018-12-31
US62/787,156 2018-12-31
US16/415,689 US11756153B2 (en) 2018-12-31 2019-05-17 Hemisphere cube map projection format in imaging environments
US16/415,689 2019-05-17

Publications (2)

Publication Number Publication Date
DE102019218373A1 true DE102019218373A1 (de) 2020-07-30
DE102019218373A8 DE102019218373A8 (de) 2020-11-05

Family

ID=67768105

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019218373.5A Pending DE102019218373A1 (de) 2018-12-31 2019-11-27 Hemisphären-cubemap-projektionsformat inabbildungsumgebungen

Country Status (3)

Country Link
US (2) US11756153B2 (de)
CN (2) CN115222580A (de)
DE (1) DE102019218373A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11756153B2 (en) 2018-12-31 2023-09-12 Intel Corporation Hemisphere cube map projection format in imaging environments
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
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
US11619950B2 (en) * 2020-06-30 2023-04-04 Tusimple, Inc. Systems and methods for projecting a three-dimensional (3D) surface to a two-dimensional (2D) surface for use in autonomous driving
US11900687B2 (en) * 2021-07-06 2024-02-13 Canoo Technologies Inc. Fisheye collage transformation for road object detection or other object detection

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180342098A1 (en) * 2015-12-25 2018-11-29 Intel Corporation Unified environmental mapping framework
TWI775760B (zh) * 2016-07-08 2022-09-01 美商Vid衡器股份有限公司 使用幾何投影360度視訊編碼
US10148939B2 (en) * 2016-07-19 2018-12-04 Gopro, Inc. Mapping of spherical image data into rectangular faces for transport and decoding across networks
US10261747B2 (en) * 2016-09-09 2019-04-16 The Boeing Company Synchronized side-by-side display of live video and corresponding virtual environment images
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
EP3724858A4 (de) * 2017-12-14 2021-01-13 Samsung Electronics Co., Ltd. Verfahren und vorrichtung zur verwaltung von immersiven daten
US11756153B2 (en) 2018-12-31 2023-09-12 Intel Corporation Hemisphere cube map projection format in imaging environments

Also Published As

Publication number Publication date
US11756153B2 (en) 2023-09-12
DE102019218373A8 (de) 2020-11-05
US20190272618A1 (en) 2019-09-05
US20230394618A1 (en) 2023-12-07
CN115222580A (zh) 2022-10-21
CN111383167A (zh) 2020-07-07

Similar Documents

Publication Publication Date Title
DE102019218373A1 (de) Hemisphären-cubemap-projektionsformat inabbildungsumgebungen
US11025959B2 (en) Probabilistic model to compress images for three-dimensional video
US10609332B1 (en) Video conferencing supporting a composite video stream
CA3112265C (en) Method and system for performing object detection using a convolutional neural network
DE112013004778T5 (de) Kodierung von Bildern unter Verwendung eines 3D-Netzes von Polygonen und entsprechenden Strukturen
DE112016004216T5 (de) Allgemeine Sphärische Erfassungsverfahren
DE112017000017T5 (de) Kameraeinstellungsanpassung basierend auf vorhergesagten umgebungsfaktoren und nachverfolgungssysteme, die diese einsetzen
DE112016006734T5 (de) Integriertes Android- und Windows-Gerät
DE112015000959T5 (de) Adaptive Videoverarbeitung
US11164366B2 (en) Mixed reality object rendering based on environment lighting
US11949848B2 (en) Techniques to capture and edit dynamic depth images
DE102018125628A1 (de) Zuverlässige Nachhallschätzung zur verbesserten automatischen Spracherkennung in Mehreinrichtungssystemen
US9384384B1 (en) Adjusting faces displayed in images
US10134137B2 (en) Reducing storage using commonalities
DE102021109050A1 (de) Durch ein neuronales generative adversarial netzwerk unterstützte videokompression und -übertragung
US11032470B2 (en) Sensors arrangement and shifting for multisensory super-resolution cameras in imaging environments
US10298914B2 (en) Light field perception enhancement for integral display applications
US11196977B2 (en) Unified coding of 3D objects and scenes
DE112018008019T5 (de) Echtzeit-Multi View-Detektion von Objekten in Multicamera-Umgebungen
US10362241B2 (en) Video stream delimiter for combined frame
DE102021109501A1 (de) Durch erzeugendes gegnerisches neuronales netzwerk unterstützte videorekonstruktion
KR102259045B1 (ko) Vr 이미지 생성 방법 및 장치
DE102023109585A1 (de) Skalierung von videostreaming vermittels virtueller auflösungsanpassung
US20190114814A1 (en) Method and system for customization of pictures on real time dynamic basis
US20200265622A1 (en) Forming seam to join images

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: HGF EUROPE LLP, DE

Representative=s name: HGF EUROPE LP, DE

R130 Divisional application to

Ref document number: 102019009334

Country of ref document: DE