DE112018000311T5 - Stereoskopisches Rendering unter Verwendung von Raymarching und ein Broadcaster für eine virtuelle Ansicht für solches Rendering - Google Patents

Stereoskopisches Rendering unter Verwendung von Raymarching und ein Broadcaster für eine virtuelle Ansicht für solches Rendering Download PDF

Info

Publication number
DE112018000311T5
DE112018000311T5 DE112018000311.6T DE112018000311T DE112018000311T5 DE 112018000311 T5 DE112018000311 T5 DE 112018000311T5 DE 112018000311 T DE112018000311 T DE 112018000311T DE 112018000311 T5 DE112018000311 T5 DE 112018000311T5
Authority
DE
Germany
Prior art keywords
image
stereoscopic
images
cube
projection
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
DE112018000311.6T
Other languages
English (en)
Inventor
Alexey Panteleev
Dmitry Duka
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nvidia Corp
Original Assignee
Nvidia Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nvidia Corp filed Critical Nvidia Corp
Publication of DE112018000311T5 publication Critical patent/DE112018000311T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/212Input arrangements for video game devices characterised by their sensors, purposes or types using sensors worn by the player, e.g. for measuring heart beat or leg activity
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • H04N13/117Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation the virtual viewpoint locations being selected by the viewers or determined by viewer tracking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/243Image signal generators using stereoscopic image cameras using three or more 2D image sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/257Colour aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/261Image signal generators with monoscopic-to-stereoscopic image conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/275Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/275Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
    • H04N13/279Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals the virtual viewpoint locations being selected by the viewers or determined by tracking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • H04N13/344Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/538Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for performing operations on behalf of the game client, e.g. rendering
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/271Image signal generators wherein the generated image signals comprise depth maps or disparity maps

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Graphics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Heart & Thoracic Surgery (AREA)
  • General Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Geometry (AREA)
  • Remote Sensing (AREA)
  • Processing Or Creating Images (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Image Generation (AREA)

Abstract

Die Erfindung stellt einen Broadcaster für eine virtuelle Ansicht, einen Cloud-basierten Renderer und ein Verfahren zum Bereitstellen stereoskopischer Bilder bereit. In einem Ausführungsbeispiel beinhaltet das Verfahren (1) ein Erzeugen eines monoskopischen Satzes gerenderter Bilder und (2) ein Umwandeln des Satzes gerenderter Bilder in ein stereoskopisches Bildpaar unter Verwendung von Tiefeninformationen aus dem monoskopischen Satz gerenderter Bilder und Raymarching.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNG
  • Diese Anmeldung beansprucht den Nutzen der am 4. Januar 2017 eingereichten, vorläufigen US-Anmeldung mit der Seriennummer 62/442,366 und dem Titel „CLOUD GENERATION OF CONTENT TO BE STREAMED TO VR/AR PLATFORMS USING CLOUD SERVERS AND RENDERING OF STEREOSCOPIC 360-DEGREE PANORAMAS USING RAYMARCHING AND DEPTH INFORMATION“, die in üblicher Weise dieser Anmeldung zugeordnet ist und hierin durch Bezugnahme zur Gänze einbezogen wird.
  • TECHNISCHES GEBIET
  • Diese Anmeldung ist allgemein auf Rendering und insbesondere auf ein Rendering stereoskopischer Bilder gerichtet.
  • HINTERGRUND
  • Viele computergrafische Bilder entstehen durch mathematisches Modellieren der Wechselwirkung von Licht mit einer dreidimensionalen (3D-) Szene aus einem bestimmten Blickwinkel. Dieser Prozess, der als „Rendering“ bezeichnet wird, erzeugt ein zweidimensionales (2D-) Bild der Szene aus dem gegebenen Blickwinkel und ist analog zu einem Aufnehmen einer realen Szene.
  • Mit zunehmender Nachfrage nach Computergrafik und insbesondere nach Echtzeit-Computergrafik wurden Computersysteme mit Grafikverarbeitungs-Subsystemen zur Beschleunigung des Rendering-Prozesses verbreitet. In diesen Computersystemen wird der Rendering-Prozess zwischen einer universellen Zentralverarbeitungseinheit (CPU) eines Computers und dem Grafikverarbeitungs-Subsystem, das architektonisch um eine Grafikverarbeitungseinheit (GPU) zentriert ist, aufgeteilt. Typischerweise führt die CPU übergeordnete Operationen durch, wie z.B. ein Bestimmen einer Position, einer Bewegung und einer Kollision von Objekten in einer bestimmten Szene. Aus diesen übergeordneten Operationen generiert die CPU einen Satz von Rendering-Befehlen und Daten, die das/die gewünschte(n) Rendering-Bild(er) definieren. Beispielsweise können Rendering-Befehle und Daten eine Szenengeometrie, eine Beleuchtung, eine Schattierung, eine Texturierung, eine Bewegung und/oder Kameraparameter für eine Szene definieren. Das Grafikverarbeitungs-Subsystem erstellt ein oder mehrere gerenderte Bilder aus dem Satz von Rendering-Befehlen und Daten.
  • Mit dem beschleunigten Rendering, das von diesen Computersystemen bereitgestellt wird, nutzen verschiedene Anwendungen, wie beispielsweise Videospiele, ein Cloud-basiertes Rendering. Durch diese Technologie können Benutzer auf ihren Computergeräten, einschließlich von Virtual Reality-Kopfvorrichtungen wie beispielsweise einer am Kopf getragenen Anzeige bzw. einem Head Mounted Display (HMD), ein virtuelles Grafikerlebnis genießen. Die Cloud-basierte Plattform ermöglicht es den Nutzern auch, bei Turnieren oder Sportveranstaltungen über ein Kommunikationsnetzwerk aus der Ferne gegen andere anzutreten. Neben denen, die aktiv an einem Videospiel oder einer Anwendung teilnehmen, können passive Zuschauer, die zusehen, aber nicht spielen oder aktiv teilnehmen, bei Videospielturnieren oder anderen eSport-Events ein laufendes Spiel auf ihrem Computergerät aus der Sicht eines der Spieler betrachten.
  • KU RZBESCH REI BU NG
  • In einem Aspekt stellt die Erfindung ein Verfahren zur Bereitstellung stereoskopischer Bilder bereit. In einem Ausführungsbeispiel beinhaltet das Verfahren: (1) Erzeugen eines monoskopischen Satzes gerenderter Bilder und (2) Umwandeln des Satzes gerenderter Bilder in ein stereoskopisches Bildpaar unter Verwendung von Tiefeninformationen aus dem monoskopischen Satz von gerenderten Bildern und Raymarching.
  • In einem weiteren Aspekt stellt die Erfindung einen Broadcaster für eine virtuelle Ansicht bereit. In einem Ausführungsbeispiel beinhaltet der Broadcaster für eine virtuelle Ansicht: (1) einen Cloud-basierten Renderer, der dazu konfiguriert ist, einen monoskopischen Satz gerenderter Bilder von 360 Grad zu erzeugen und Raymarching und Tiefeninformationen zu verwenden, um den Satz gerenderter Bilder in ein stereoskopisches Bildpaar von 360 Grad zu konvertieren, und (2) einen Bildprozessor, der dazu konfiguriert ist, das stereoskopische Bildpaar für die Videoübertragung zu kodieren.
  • In einem nochmals weiteren Aspekt stellt die Erfindung einen Cloud-basierten Renderer bereit. In einem Ausführungsbeispiel beinhaltet der Cloud-basierte Renderer (1) einen Speicher und (2) zumindest einen Prozessor, der mit dem Speicher gekoppelt und dazu konfiguriert ist, ein Kubusabbild unter Verwendung von Raymarching und einem Tiefenpuffer des Kubusabbilds in ein stereoskopisches Paar von Kubusabbildern zu konvertieren.
  • Figurenliste
  • Nachstehend wird auf die folgende Beschreibung in Verbindung mit den beigefügten Zeichnungen Bezug genommen, in welchen:
    • 1 ein Blockdiagramm eines Ausführungsbeispiels eines Broadcastingsystems für eine virtuelle Ansicht, das in Übereinstimmung mit den Prinzipien der Erfindung aufgebaut ist, veranschaulicht;
    • 2 ein Blockdiagramm eines Ausführungsbeispiels eines Broadcastingsystems für eine virtuelle Ansicht, das in Übereinstimmung mit den Prinzipien der Erfindung aufgebaut ist, das den Betriebsablauf zum Bereitstellen eines Virtuellansichtsstroms eines stereoskopischen Bildpaars für eine Client-Rechenvorrichtung veranschaulicht;
    • 3A, 3B, 3C und 3D Diagramme veranschaulichen, die die Anwendung von Raymarching auf ein Kubusabbild gemäß den Prinzipien der Erfindung zeigen;
    • 4 ein Ausführungsbeispiel eines Verfahrens zum Bereitstellen eines stereoskopischen Panoramas aus einem monoskopischen Satz gerenderter Bilder, das in Übereinstimmung mit den Prinzipien der Erfindung ausgeführt wird, veranschau licht;
    • 5 ein Diagramm eines Beispiels einer omnidirektionalen Stereo (ODS)-Projektion, die in Übereinstimmung mit den Prinzipien der Erfindung bei dem Umwandeln eines monoskopischen Satzes gerenderter Bilder in ein stereoskopisches Bildpaar verwendet wird, veranschaulicht;
    • 6 ein Diagramm eines Beispiels eines Verwendens von Geometrie zum Bestimmen einer Ansichtsrichtung in Bezug auf ein Kubusabbild in Übereinstimmung mit den Prinzipien der Erfindung veranschaulicht;
    • 7 ein Diagramm eines Beispiels eines Entfernens von Verzerrungen aus einem stereoskopischen Kubusabbild in Übereinstimmung mit den Prinzipien der Erfindung veranschaulicht; und
    • 8 ein Diagramm eines Beispiels für ein Anwenden von Transluzenz in Stereo in Übereinstimmung mit den Prinzipien der Erfindung veranschaulicht.
  • DETAILLIERTE BESCHREIBUNG
  • Mit dem jüngsten Wachstum im Bereich der Virtual-Reality-Headsets sind 360-Grad-Panoramafotos und -Videos immer beliebter geworden. Es gibt zwei Arten solcher Panoramen: monoskopische und stereoskopische. Monoskopische Panoramen sind in der Regel einfach zu erfassen, zu verarbeiten und anzuzeigen, aber sie weisen offensichtlich keinerlei Tiefeninformationen auf. Stereoskopische Panoramen sind viel komplizierter zu erfassen oder zu generieren.
  • Eine Möglichkeit, umgebende Tiefe in nur zwei Bildern zu erfassen, besteht darin, die Objekte so auf die Bilder zu projizieren, dass jede Spalte von Bildpixeln einem Satz von Strahlen entspricht, die von einem Punkt auf einem Projektionskreis, dessen Durchmesser gleich dem Augenabstand (interpupillary distance; IPD) ist, ausgehen. Dies kann mit einer normalen perspektivischen Projektion verglichen werden, bei der alle Strahlen von dem gleichen Punkt ausgehen: der Kameramitte. Ein Projektionskreis ist ein Kreis mit einem Durchmesser gleich dem IPD, der ein Projektionszentrum zur Berechnung der regelmäßigen perspektivischen Projektion umgibt. Der Projektionskreis entspricht Augenpositionen, wenn man seinen Kopf dreht, wobei das Projektionszentrum der Drehpunkt ist.
  • Wenn Stereopanoramen aus Fotos oder gerenderten Bildern zusammengesetzt werden, sollte die Anzahl der Bilder, die entlang der horizontalen Richtung aufgenommen wird, maximiert werden, und sollte jedes Bild von einem anderen Punkt auf dem vorgenannten Kreis aus aufgenommen werden. Dann können die zentralen vertikalen Bänder dieser Bilder zusammengefügt und gemischt werden, um eine Annäherung an die beabsichtigte spezielle Projektion zu erhalten. Für ein ideales Ergebnis sollte die Anzahl von Eingangsbildern für jedes Auge gleich der Breite des Ausgangspanoramas in Pixeln sein - was natürlich unpraktisch ist. Die Verwendung von weniger Bildern erzeugt jedoch ein Panorama, das bei Betrachtung in einer Richtung, die nicht senkrecht zu einem beliebigen Quellenbildpaar (rechts und links) ist, eine inkorrekte Tiefendarstellung aufweist. Eine beliebige Anzahl von Quellenbildern, die für das Echtzeit-Rendering geeignet sind, erzeugt offensichtlich eine inkorrekte Tiefe in den meisten Blickrichtungen, einhergehend mit signifikanten Stitching-Artefakten auf nahegelegenen Objekten, die als Ghosting sichtbar sind.
  • Es wird hierin erkannt, dass Rendering-Verfahren, die nicht an eine reguläre perspektivische Projektion - wie z.B. Raytracing oder Raymarching mit analytischer Szenendarstellung - gebunden sind, verwendet werden können, um eine Projektion ohne Stitching-Artefakte zu erzeugen, einschließlich der für Stereopanoramen erforderlichen Kreisprojektion. Unter Verwendung der offenbarten Rendering-Prozesse kann ein Blickwinkel verschoben werden, wobei Strahlen ausgehend von Punkten auf einem Projektionskreis nachverfolgt werden. Das ursprüngliche gerenderte Bild (nichtkreisförmig) aus der ursprünglichen Perspektive wird als Quellendaten zum Nachverfolgen von Strahlen ausgehend von den Punkten auf dem Projektionskreis verwendet.
  • Die Erfindung stellt einen (Rund-) Sender bzw. Broadcaster für eine virtuelle Ansicht oder Virtuellansichtsbroadcaster bereit, der einen Satz gerenderter Bilder, einschließlich deren Tiefenpuffer, verwendet, um eine regelmäßige perspektivische Projektion, die von einem Punkt nahe an dem Projektionszentrum des ursprünglichen Umgebungsabbilds oder Bilder ausgeht, allerdings nicht notwendigerweise mit dem exakten Zentrum übereinstimmt, zu berechnen. Der Satz gerenderter Bilder kann ein monoskopischer Satz gerenderter Bildern von 360 Grad sein, wie z.B. ein monoskopisches Kubusabbild. In ähnlicher Weise können dann zwei Projektionen, eine pro Auge, für jede Position und Orientierung eines Benutzers berechnet werden, wie beispielsweise ausgehend vom Kopf eines Benutzers, der ein HMD trägt.
  • Der offenbarte Broadcaster für eine virtuelle Ansicht berechnet ein stereoskopisches Panorama mit einer perfekten oder nahezu perfekten Kreisprojektion unter Verwendung eines Algorithmus, der den monoskopischen Satz gerenderter Bilder und deren Tiefenpuffer verwendet. Ein Renderer kann eine Szenengeometrie, eine Szenenbeschreibung usw. verwenden, um den monoskopischen Satz von Bildern darzustellen. Der monoskopische Satz von gerenderten Bildern kann ein Kubusabbild mit sechs quadratischen Bildern sein, die jeweils eine perspektivische Projektion einer Ansicht hin zu einer der Hauptachsen repräsentieren. Jede der Seiten bzw. Flächen des Kubusabbilds enthält Informationen über die Tiefe. Bei einem beliebigen Strahl können Oberflächeninformationen durch Auffinden des Schnittpunkts des Strahls mit den durch die Tiefenpuffer des Kubusabbilds beschriebenen Oberflächen bestimmt werden.
  • In einem Ausführungsbeispiel wird Raymarching verwendet, um jeden Strahl, der einem Ausgangspixel in dem Panorama entspricht, ausgehend von seinem eigenen Pixelpunkt, d.h. dem eigenen Blickpunkt jedes Pixels, auszusenden. In einigen Ausführungsbeispielen kann das Raymarching durch Verwenden eines Tiefenansichtsabbilds durchgeführt werden. In einigen Ausführungsbeispielen reichen zehn Abgriffe einer Tiefen-Mipmap aus, um die zu verwendende Oberfläche zu bestimmen. Eine Tiefen-Mipmap, die auch als ein MIP-Abbild bezeichnet wird, sind vorberechnete, optimierte Sequenzen von Bildern, wobei jede der Sequenzen von Bildern eine progressiv niedrigere Auflösung des gleichen Bilds ist. In Ausführungsbeispielen, die einen Tiefenpuffer verwenden, werden Mipmaps durch Auffinden der nächstgelegenen Oberfläche unter den Eingangspixeln höherer Auflösung, die zum Berechnen eines einzelnen Ausgangspixels mit niedrigerer Auflösung verwendet werden, erzeugt. Dies ist anders als bei Farb-Mipmaps, bei denen Farbpixel in der Regel einfach gemittelt werden. 3A bis 3D sind ein Beispiel für den Einsatz von Mipmaps während des Raymarchings.
  • Ein Unterschied zwischen der Berechnung einer regulären perspektivischen Projektion und einem stereoskopischen Panorama besteht darin, dass für jeden Ausgangspixel der gewünschte Strahlenursprung und die gewünschte Strahlenrichtung berechnet wird. Für die Berechnung der regulären perspektivischen Projektion ist der Ursprung das Projektionszentrum (Augenposition) und kann die Richtung unter Verwendung von Sicht- und Projektionsmatrizen und Pixelkoordinaten berechnet werden. Für die Berechnung des stereoskopischen Panoramas kann die Richtung basierend auf den Ausgangspixelkoordinaten in dem Panorama berechnet werden, und wird der Strahlursprung basierend auf dem Panoramazentrum und der Richtung berechnet und befindet sich auf dem Projektionskreis. Folglich kann dann, wenn Panoramaansichten berechnet werden, unabhängig davon, ob die Projektion oder das Layout von monoskopisch gerenderten Ansichten ein Kubus oder ein Äquirekt bzw. Gleichwinkel ist, das offenbarte Verfahren, das offenbarte System oder die offenbarte Vorrichtung für jeden Ausgangspixel eine Blickrichtung bestimmen, in welcher der Pixel entspricht. Beispielsweise kann mit einer äquirektangularen bzw. gleichwinkligen Projektion für ein x, y eine Pixelpositionsgeometrie dazu verwendet werden, die Blickrichtung zu bestimmen.
  • Für stereoskopische Panoramen liegt ein Projektionspunkt auf dem Projektionskreis. Da der Projektionskreis in der horizontalen Ebene liegt, ist ein Projektionspunkt dort, wo die Projektion eines Richtungsvektors auf die horizontale Ebene tangential zu dem Projektionskreis ist. Bei einer gegebenen Richtung kann der Projektionspunkt so eingestellt werden, dass er auf dem Projektionskreis liegt. Es gibt zwei Projektionspunkte auf dem Projektionskreis, die durch den Durchmesser getrennt sind. Einer der Projektionspunkte ist für das linke Auge und einer für das rechte Auge. In Bezug auf ein Kubusabbild kann Geometrie dazu verwendet werden, eine Blickrichtung zu bestimmen. Die nachstehend diskutierte 6 stellt ein Beispiel bereit.
  • Nachdem der Strahlenursprung und die Richtung bestimmt sind, wird das Raymarching eingesetzt. Das heißt, der Strahl wird auf das Umgebungsabbild oder die Bilder projiziert, und die Tiefenpuffer werden entlang des Strahls abgetastet, bis ein Schnittpunkt zwischen dem Strahl und der impliziten Oberfläche, die durch den Tiefenpuffer kodiert wird, gefunden wird.
  • In einigen Ausführungsbeispielen kann der Strahlursprung möglicherweise nicht mit einem der Projektionszentren der Bilder übereinstimmen, und kann es aufgrund von Parallaxe und Okklusion zu wenige Informationen über die Szene geben. Einfach ausgedrückt, wenn Sie ein Bild von einem Baum machen, wissen Sie nicht, was sich direkt hinter diesem Baum befindet - aber das kann für andere Standpunkte wichtig sein. Um zu kompensieren ist der offenbarte Broadcaster für eine virtuelle Ansicht oder ein Teil davon so konfiguriert, dass dann, wenn die Basis ein Satz von Bildern ist, diese Bilder aus leicht unterschiedlichen Blickwinkeln aufgenommen werden können, was die Wahrscheinlichkeit, dass jede benötigte Oberfläche in zumindest einem Bild zu finden ist, erheblich erhöht. Falls ein Kubusabbild verwendet wird, kann eine zweite Ebene dieses Kubusabbilds gerendert werden. Dieses mehrschichtige Rendering ist als Tiefenpeeling bekannt und kann zusätzliche Daten zur Verarbeitung von Okklusionen bereitstellen. Dann kann der Raymarching-Algorithmus die richtige Ebene auswählen, z.B. basierend auf der Ähnlichkeit zwischen dem aktuellen Punkt auf dem Strahl und beiden Tiefenwerten in den Kubusabbild oder anderen Informationen wie Oberflächenorientierung oder Tiefengrad ienten.
  • Nun auf die Figuren zurückkommend, veranschaulicht 1 ein Blockdiagramm eines Ausführungsbeispiels eines Broadcastingsystems für eine virtuelle Ansicht 100, das in Übereinstimmung mit den Prinzipien der Erfindung aufgebaut ist. Das Broadcastingssystem für eine virtuelle Ansicht 100 beinhaltet einen Broadcaster für eine virtuelle Ansicht 110, Computer- bzw. Rechenvorrichtungen 120, 130, 140, 150, 160 und ein Kommunikationsnetzwerk 170. Die Rechenvorrichtungen 120, 130, 140, 150, 160 werden zusammenfassend als Rechenvorrichtungen 120-160 bezeichnet und sind über das Kommunikationsnetzwerk 170 kommunikativ mit dem Broadcaster für eine virtuelle Ansicht 110 verbunden. Das Kommunikationsnetzwerk 170 kann ein herkömmliches Netzwerk, wie beispielsweise das Internet, sein, das es verbundenen Rechenvorrichtungen ermöglicht, miteinander zu kommunizieren.
  • Der Broadcaster für eine virtuelle Ansicht 110 ist dazu konfiguriert, Ströme bzw. Streams virtueller Ansichten eines stereoskopischen Bildpaars aus einem monoskopischen Satz gerenderter Bilder zu erzeugen. Der monoskopische Satz gerenderter Bilder kann von einer virtuellen Kamera erzeugt werden, die in einer Anwendung positioniert ist. In einem Ausführungsbeispiel kann Spieleverlagen oder anderen Anwendungsentwicklern ein bestimmter Code bereitgestellt werden, den sie in ihr Spiel oder in ihre Anwendung integrieren können, um darin virtuelle Kameras zu installieren. Der angegebene Code kann mit einem Renderer des Broadcasters für eine virtuelle Ansicht 110 übereinstimmen, um die gerenderten Bilder bereitzustellen, wenn eine bestimmte virtuelle Kamera ausgewählt wird. Der Broadcaster für eine virtuelle Ansicht 110 kann eine Auswahleingabe von einem Kameraselektor empfangen, um die zu verwendende virtuelle Kamera zu bestimmen. In einigen Ausführungsbeispielen können mehrere Auswahleingaben für verschiedene virtuelle Kameras empfangen werden, und kann der Broadcaster für eine virtuelle Ansicht 100 gleichzeitig die virtuellen Ansichten für die ausgewählten mehreren virtuellen Kameras erzeugen. Der Kameraselektor kann eine bestimmte Person oder eine Rechenvorrichtung derselben sein, die dazu verwendet wird, dem Broadcaster für eine virtuelle Ansicht 100 die Auswahleingabe zur Verfügung zu stellen. Die Rechenvorrichtung kann eine der Rechenvorrichtungen 120-160 sein.
  • Der Broadcaster für eine virtuelle Ansicht 110 kann auf einem Server oder auf mehreren Servern einer Cloud-Rechenplattform implementiert werden. Der Broadcaster für eine virtuelle Ansicht 100 stellt einen Satz monoskopisch gerenderter Bilder bereit, die dann verwendet werden, um ein stereoskopisches Bildpaar für 360 Grad virtueller Ansichten zu erzeugen. Demgemäß kann der Broadcaster für eine virtuelle Ansicht 100 eine Erfahrung virtueller Ansichten aus einer Anwendung heraus erzeugen, die keine Virtual Reality-Anwendung ist.
  • Der Broadcaster für eine virtuelle Ansicht 110 kann zumindest eine CPU und mehrere GPUs beinhalten. In dem veranschaulichten Ausführungsbeispiel beinhaltet der Broadcaster für eine virtuelle Ansicht 110 einen Renderer 111, einen Bildprozessor 112, einen Videosender 113, einen Speicher 114 und eine Anwendungs-Engine 115. Der Speicher 114 kann ein konventioneller Speicher oder Speicher sein, der typischerweise für Server verwendet wird. Die Anwendungs-Engine 115 enthält die Betriebsanweisungen, die den Algorithmen zur Erzeugung von Szenen entsprechen, wie z.B. eine Game Engine, die Szenen aus einem Videospiel liefert.
  • Der Renderer 111 erzeugt einen Satz monoskopisch gerenderter Bilder und konvertiert die monoskopischen Bilder mit Raymarching in ein stereographisches Bildpaar. Der Renderer 111 kann ein Cloud-basierter Renderer sein, der den Satz monoskopisch gerenderter Bilder von verschiedenen virtuellen Kameras, die in einer Anwendung positioniert sind, erzeugt. In einem Ausführungsbeispiel entsprechen die gerenderten Bilder sechs Flächen eines Kubusabbilds für einen virtuellen Kamerastandort. Der Renderer 111 kann andere gerenderte Bilder erzeugen, die kombiniert werden können, um eine virtuelle Ansicht von 360 Grad zu ermöglichen. In einigen Ausführungsbeispielen können die gerenderten Bilder für gleichwinklige Ansichten anstelle von Kubusabbildern verwendet werden. Die gerenderten Bilder entsprechen Anwendungsdaten, die von beispielsweise den Rechenvorrichtungen 120-160 der virtuellen Betrachter empfangen werden. Die Anwendungsdaten können Szenendaten beinhalten. In einigen Ausführungsbeispielen können die Anwendungsdaten Richtungsinformationen beinhalten, die eine Blickrichtung angeben, in welche bzw. die ein virtueller Betrachter blickt, auswählt, zeigt, usw..
  • Wie vorstehend erwähnt wurde, kann der Renderer 111 den Satz monoskopisch gerenderter Bilder durch Rendern von sechs Bildern, die am Kamerastandort einen Kubus bilden, bereitstellen. Das Kubusabbild wird dann zum Texturieren einer Szene der Anwendung verwendet. Die Texturierung von Kubusabbildern ist eine Form der Texturabbildung, die einen 3D-Richtungsvektor verwendet, um in eine Textur zu indizieren, die aus sechs quadratischen 2D-Texturen besteht, die wie die Flächen eines Kubus angeordnet sind. Da das Rendern von Kubusabbildern komplexer ist als das Rendern normaler Ansichten in 2D-Texturen, werden häufig GPUs mit einer CPU eingesetzt. Beispielsweise kann die Nvidia GridTM-Technologie verwendet werden, um die hierin offenbarten Renderer und Rendering-Verfahren bereitzustellen, um das Rendern der Bilder, wie z.B. das Rendern von Kubusabbildern, zu unterstützen. Nvidia GridTM stammt von der Nvidia Corporation aus Santa Clara, Kalifornien, und stellt eine Grafikvirtualisierungsplattform bereit, die es ermöglicht, die Leistungsfähigkeit der Nvidia-GPU-Technologie für virtuelle Desktops und Anwendungen zu nutzen. Der Renderer 111 kann zusätzliche Komponenten wie beispielsweise einen Speicher und eine Kommunikationsschnittstelle beinhalten.
  • Der Bildprozessor 112 kodiert das stereoskopische Bildpaar in Ströme virtueller Ansichten zur Übertragung. Der Bildprozessor 112 kann darüber hinaus zusätzliche Funktionen wie beispielsweise eine Umformatierung und eine Bildverarbeitung bereitstellen. Das kodierte stereoskopische Bildpaar wird dann dem Videosender 113 bereitgestellt und an die Rechenvorrichtungen 120-160 gesendet. Der Videosender 113 kann eine konventionelle Vorrichtung sein, die kodierte Einzelbilder empfängt und als Videostream überträgt. Anstatt in dem Broadcaster für eine virtuelle Ansicht 110 enthalten zu sein, kann der Videosender 113 in einigen Ausführungsbeispielen konventionell mit dem Broadcaster für eine virtuelle Ansicht 100 gekoppelt und zur Übertragung der Ströme virtueller Ansichten des stereoskopischen Bildpaares verwendet werden. Der Videosender 113 ist ein Video-Proxy-Server.
  • Die Ströme virtueller Ansichten von stereoskopischen Bildern, die den verschiedenen Rechenvorrichtungen 120-160 zur Verfügung gestellt werden, können von derselben virtuellen Kamera stammen und können derselbe Videostream sein. In einigen Ausführungsbeispielen kann ein virtueller Betrachter deren tatsächliche Ansicht basierend auf den Richtungsinformationen bestimmen, die durch ihre jeweiligen Rechenvorrichtungen 120-160, wie beispielsweise eine HMD, bereitgestellt werden.
  • Die Rechenvorrichtungen 120-160 können VR-Kopfbedeckungen, Smartphones, Desktop-Computer, Laptops, Computer-Pads, Tablets usw. sein. Die Rechenvorrichtungen 120-160 können Thin Clients sein, die mit dem Broadcaster für eine virtuelle Ansicht 110 kommunizieren und ihm ausreichend Anwendungsdaten für Rendering und Stitching zur Verfügung stellen. Jede oder zumindest einige der Rechenvorrichtungen 120-160 können verschiedene Arten von Vorrichtungen sein. Beispielsweise können die Rechenvorrichtungen 120-140 VR-Kopfbedeckungen sein, kann die Rechenvorrichtung 150 ein Laptop sein, und kann die Rechenvorrichtung 160 ein Nvidia SHIELD Tablet sein.
  • 2 veranschaulicht ein Blockdiagramm eines Ausführungsbeispiels eines Broadcastingsystems für virtuelle Ansichten 200, das in Übereinstimmung mit den Prinzipien der Erfindung aufgebaut ist und den Betriebsablauf zum Bereitstellen von Strömen virtueller Ansichten eines stereoskopischen Bildpaares an eine Client-Rechenvorrichtung veranschaulicht. Das Broadcastingsystem für virtuelle Ansichten 200 beinhaltet einen Broadcaster für eine virtuelle Ansicht 210, einen Videosender 220 und eine Client-Rechenvorrichtung 230. In einigen Ausführungsbeispielen ist der Broadcaster für eine virtuelle Ansicht 110 von 1 als der Broadcaster für eine virtuelle Ansicht 210 konfiguriert und arbeitet als solcher.
  • Der Broadcaster für eine virtuelle Ansicht 210 ist dazu konfiguriert, einen Strom einer virtuellen Ansicht eines stereoskopischen Bildpaars für die Client-Rechenvorrichtung 230 zu erzeugen. Das stereoskopische Bildpaar kann von einer oder mehreren virtuellen Kameras stammen, die in einer Anwendung basierend auf Anwendungsdaten positioniert sind. In einem Ausführungsbeispiel ist der Broadcaster für eine virtuelle Ansicht 210 eine Cloud-basierte Vorrichtung, wie beispielsweise ein Cloud-Server (oder Server), der (bzw. die) Inhalte in der Cloud erzeugt (bzw. erzeugen), die an die Client-Rechenvorrichtung 230 gestreamt werden. Der Broadcaster für eine virtuelle Ansicht 210 kann auf einem oder mehreren Netzwerkservern (z.B. Cloud-Servern) implementiert sein, um Inhalte in einer Echtzeit- (oder Semi-Echtzeit-) Content-Engine zu rendern und einen Satz monoskopisch gerenderter Bilder zu erstellen, die zum Erzeugen eines 360-Grad-Videos zum Streamen eines stereoskopischen Bildpaares an virtuelle Betrachter in Echtzeit oder Semi-Echtzeit verwendet werden. Echtzeit ist eine Ebene der Reaktionsfähigkeit, die von einem Benutzer als ausreichend unmittelbar wahrgenommen wird oder die es einem Prozessor ermöglicht, mit der Verarbeitung einer Eingabe Schritt zu halten. In einigen Ausführungsbeispielen können die Eingangsdaten innerhalb von Millisekunden verarbeitet werden, so dass sie praktisch sofort als Rückmeldung zur Verfügung stehen. Der Broadcaster für eine virtuelle Ansicht 210 beinhaltet einen Renderer 211 und einen Bildprozessor 218. In einigen Ausführungsbeispielen beinhaltet der Broadcaster für eine virtuelle Ansicht 210 auch den Videosender 220. Der Renderer 211 kann ein Cloud-basierter Renderer sein.
  • Der Renderer 211 erzeugt gerenderte Datensätze von monoskopischen Bildern und wandelt die monoskopisch gerenderten Bilder in ein stereoskopisches Bildpaar um. Der Renderer 211 verwendet bildbasiertes Raymarching, um den monoskopischen Satz gerenderter Bilder mit Farbe und Tiefe in das stereoskopische Bildpaar zu konvertieren. Das Raymarching kann eine perfekte oder nahezu perfekte kreisförmige Projektion mit kleineren Artefakten aufgrund von Disokklusion, die mit verfügbaren Umgehungsbearbeitungen für die Artefakte behoben werden können, bereitstellen. Nach dem Raymarching kann der Renderer 211 zusätzliche Rendering-Schritte durchführen, wie z.B. die Anwendung einer transluzenten Geometrieverarbeitung und von Posttransluzenzeffekten (Tone Mapping) auf jedes der stereoskopischen Bildpaare.
  • Der Renderer 211 kann die Bilder für Anwendungen oder Technologien erzeugen, die mehrere in Echtzeit generierte Darstellungen erfordern, wie beispielsweise für ein VR- oder AR-Display. Die Datensätze können mehreren Ansichten (z.B. Kubusansichten) entsprechen. Somit kann der Renderer 211 sechs gerenderte Bilder zeichnen, die zur Bereitstellung von 360-Grad-Ansichten verwendet werden können. Am Beispiel einer Spielanwendung kann der Renderer 211 die sechs gerenderten Bilder erzeugen, indem er die Rendering-Funktion einer Game Engine sechsmal aufruft.
  • Der Renderer 211 beinhaltet eine Zentralverarbeitungseinheit (CPU) 212, die mit mehreren Grafikverarbeitungseinheiten (GPUs) 213, 215, 217 gekoppelt ist. Die Anzahl der CPUs oder GPUs kann in verschiedenen Renderer-Ausführungsbeispielen variieren. Die GPUs können so konfiguriert sein, dass sie ganze, separate Panorama-Ansichten darstellen, oder jede GPU kann einen Frame bzw. ein Einzelbild derselben Ansicht darstellen. In einigen Ausführungsbeispielen kann der Broadcaster für eine virtuelle Ansicht 210 mehrere Renderer oder einen einzelnen Renderer mit mehreren CPUs beinhalten, die jeweils mit mehreren GPUs gekoppelt sind.
  • Der Renderer 211 beinhaltet einen Speicher 214, der eine Reihe von Betriebsanweisungen enthält, die den Betrieb des Renderers 211 steuern. Die Reihe der Betriebsanweisungen entspricht Algorithmen, die den Rendering-Prozess in Übereinstimmung mit dem hierin offenbarten stereoskopischen Rendering ausrichten. Der Speicher 214 kann mit der CPU 212 und den GPUs gekoppelt sein und mit der CPU 212 und den GPUs 213, 215, 217 zusammenarbeiten, um das stereoskopische Bildpaar darzustellen. Der Renderer 211 kann darüber hinaus andere Komponenten, wie beispielsweise eine Anwendungsmaschine, gekoppelt mit der CPU 212, dem Speicher 214 oder den GPUs 213, 215, 217, die zur Erzeugung der gerenderten Bilder verwendet werden, beinhalten oder mit diesen interagieren.
  • Die CPU 212 ist dazu konfiguriert, mit den GPUs 213, 215, 217 zusammenzuarbeiten, um den monoskopischen Satz gerenderter Bilder zu erzeugen. Die CPU 212 kann Szeneninformationen zur weiteren Verarbeitung an die GPUs 213, 215, 217 senden, um Bilder oder Einzelbilder für einen bestimmten Blickwinkel zu erzeugen. Beispielsweise kann die CPU 212 Anwendungsdaten von der Client-Rechenvorrichtung 230 verwenden, um Szeneninformationen wie Eckpunkt- bzw. Vertexpositionen, Dreiecksverbindungen, Texturen, Materialeigenschaften, Lichtquellen usw. zu bestimmen und diese Informationen an die GPUs 213, 215, 217 weiterzugeben, um die Pixel der gerenderten Bilder zu malen. In einigen Ausführungsbeispielen kann die Client-Rechenvorrichtung 230 Aktions- oder Bewegungsinformationen, die sich indirekt auf die Vertexpositionen auswirken, über das Kommunikationsnetzwerk 170 senden. Somit können die Anwendungsdaten des Client-Rechenvorrichtung 230 nur einen Teil der Szenendaten beinhalten.
  • Der Renderer 211 sendet das erzeugte stereoskopische Bildpaar an den Bildprozessor 218. Das stereoskopische Bildpaar kann ein stereoskopisches Bildpaar von 360 Grad sein. Der Bildprozessor 218 führt eine Kompression durch und kodiert in einen Videostrom zur Übertragung, Umformatierung und Bildverarbeitung auf dem stereoskopischen Bildpaar. Der Bildprozessor 218 kann einen Encoder beinhalten, der in Standardprotokoll-Videoströme wie beispielsweise H.264, HVEC, etc. kodiert. Der Bildprozessor 218 sendet dann die kodierten Ströme virtueller Ansichten des stereoskopischen Bildpaares zum Streaming an den Videosender 220.
  • Der Videosender 220 empfängt den kodierten Videostrom und überträgt den virtuellen Ansichtsstrom des stereoskopischen Bildpaars an die Client-Rechenvorrichtung 230. Der Videosender 220 kann ein Video-Proxy-Server sein. Die Client-Rechenvorrichtung 230 kann eine der Rechenvorrichtungen 120-160 von 1 sein.
  • Die Client-Rechenvorrichtung 230 zeigt eine virtuelle Ansicht unter Verwendung des virtuellen Videostroms des stereoskopischen Bildpaars, das von dem Videosender 220 empfangen wurde, an. Die Client-Rechenvorrichtung kann auch Anwendungsdaten an den Broadcaster für eine virtuelle Ansicht 210 senden, die für die Echtzeit-Generierung und -Verarbeitung von Inhalten verwendet werden.
  • 3A, 3B, 3C und 3D veranschaulichen Diagramme, die die Anwendung von Raymarching auf ein Kubusabbild in Übereinstimmung mit den Prinzipien der Erfindung zeigen. Ein Renderer wie hierin offenbart kann das Raymarching durchführen, um ein monoskopisches Kubusabbild in ein stereoskopisches Kubusabbild zu konvertieren.
  • 3A veranschaulicht eine zweidimensionale Ansicht eines Kubusabbilds 310. Innerhalb des Kubusabbilds 310 befindet sich ein Projektionskreis 320 mit einem Projektionszentrum 325. Das Kubusabbild 310 weist mehrere Flächen auf, wobei die Fläche 315 bezeichnet ist. Mehrere Strahlen, allgemein als Strahlen 340 bezeichnet, sind als von mehreren Projektionspunkten auf dem Projektionskreis 320 ausgehend und Frustum- bzw. Stumpfgrenzen der Flächen des Kubusabbilds 310 überschreitend gezeigt. Alle der Strahlen 340 stammen aus dem Projektionskreis 320, aber einige von ihnen gehen nur bis zu einer Fläche des Kubusabbilds 310, während andere sich zwischen mehreren Flächen des Kubusabbilds 310 kreuzen. In einem dreidimensionalen Kubusabbild kann ein einzelner Strahl durch drei verschiedene Flächen eines Kubusabbilds verlaufen.
  • 3B veranschaulicht ein Beispiel für einen Querschnitt eines Frustums bzw. Stumpfes 360 einer Kubusabbildfläche, wie beispielsweise der Fläche 315. Der Stumpf 360 hat einige Bildpunkte bzw. Pixel in der horizontalen Dimension (drei sind in 3B bezeichnet), jedes eine mit seinem eigenen Stumpf. Für jeden Pixel gibt es einen Tiefenwert, der die Entfernung zu einer Oberfläche repräsentiert. Während des Raymarchings sucht der Renderer nach der Oberfläche, die sich zuerst mit dem projizierten Strahl schneidet. Der Strahl in 3B bis 3D kann einer der Strahlen 340 von 3A sein.
  • 3C veranschaulicht den Stumpf 360, der in einen Postprojektionsraum transformiert wurde, um die Arbeit mit ihm zu erleichtern: Pixel entsprechen Boxen anstelle von generischen Stümpfen. In 3C ist der Tiefenpuffer ein einfaches Höhenabbild. Der Renderer kann das Höhenabbild verwenden, indem er jede Oberfläche entlang des Strahls mit dem Strahl selbst vergleicht.
  • 3D stellt eine effizientere Nutzung von Tiefeninformationen bereit. In 3D sind zwei Mipmap-Ebenen mit geringerer Auflösung, 1 (rot) und 2 (grün), hinzugefügt. Mit den zusätzlichen Mipmap-Ebenen kann der Renderer die Oberflächen von Ebene 2 durchlaufen, bis er von dem Strahl getroffen wird. Dann wechselt der Renderer auf die Oberflächen der Ebene 1, bis er von dem Strahl getroffen wird. Schließlich wechselt der Renderer zu Oberflächen der Ebene 0, bis der letzte Treffer gefunden wird.
  • Normalerweise erfolgt das Raymarching mit einer Ansicht, bei der ein Strahl projiziert und durchlaufen wird, bis eine Oberfläche gefunden wird. Der offenbarte Rendering-Prozess kann einen Strahl auf einmal durch ein ganzes Kubusabbild führen. Der Raymarching-Algorithmus erkennt, mit welcher Fläche zu beginnen ist, führt dann Raymarching in dieser Fläche durch, und dann für eine andere Fläche, wenn der Strahl diese Fläche hin zu der anderen Fläche verlässt. Die erste Fläche, mit der zu beginnen ist, kann die Fläche sein, die den Strahlursprung innerhalb der Stümpfe der Flächen aufweist; und dann beginnt das Raymarching mit dieser Fläche. Wenn der Strahlursprung in der Nähe des Zentrums des Kubusabbilds liegt, außerhalb der Stümpfe, dann ist die erste Fläche die Fläche, die sich zuerst mit dem Strahl schneidet. In einigen Ausführungsbeispielen kann ein einfacher Raybox-Schnittalgorithmus verwendet werden, um diese Fläche und den Schnittpunkt zu finden, weil die nahen Ebenen der sechs Stümpfe einen Kubus bilden. Jeder Strahl beginnt an einer bestimmten Stelle in einer Fläche, und sobald der Strahl auf eine Wand trifft, wie beispielsweise eine Wand, die Flächen trennt, wird der Raymarching-Prozess für diesen spezifischen Strahl auf diese andere Fläche umgestellt. Der Raymarching-Algorithmus hat Zugriff auf alle sechs Flächen eines Kubusabbilds und kennt die Geometrie, die sie verbindet. Somit können die Strahlen sequentiell über ein Kubusabbild hinweg von einem Strahl zum anderen verarbeitet werden. In einigen Ausführungsbeispielen können die Strahlen parallel verarbeitet werden. Das Umschalten zwischen den verschiedenen Flächen kann in einem Shader-Programm für jeden einzelnen Strahl erfolgen.
  • 4 veranschaulicht ein Ausführungsbeispiel eines Verfahrens 400 zum Bereitstellen eines stereoskopischen Panoramas aus einem monoskopischen Kubusabbild. Das Verfahren 400 kann von einem hierin offenbarten Broadcaster für eine virtuelle Ansicht durchgeführt werden. In einigen Ausführungsbeispielen kann ein Renderer, wie beispielsweise ein Cloud-basierter Renderer, zumindest einige der Schritte des Verfahrens 400 ausführen. Für einige der Schritte kann eine Anwendungs-Engine, wie z.B. eine Game-Engine, verwendet werden. Die Schritte des Verfahrens 400 entsprechen einem Algorithmus, der stereoskopische Bilder aus monoskopischen Bildern erzeugt, wie hierin offenbart. Das Verfahren 400 beginnt in Schritt 405 mit der Absicht, eine opake Geometrie in ein Kubusabbild zu rendern.
  • In einem Schritt 410 wird die opake Geometrie in ein Kubusabbild gerendert. Ein konventionelles Verfahren des Renderns eines Kubusabbilds kann verwendet werden. In einem Schritt 420 werden Prätransluzenzeffekte auf das gerenderte Kubusabbild angewendet. Die Prätransluzenzeffekte können eine Umgebungsokklusion der Bildschirmoberfläche (screen space ambient occlusion; SSAO) und Bildschirmoberflächenreflexionen (screen space reflections; SSR) beinhalten.
  • In einem Schritt 430 wird aus dem gerenderten monoskopischen Kubusabbild unter Verwendung von Raymarching und unter Verwendung der Tiefeninformationen aus dem Kubusabbild ein stereoskopisches Paar von Kubusabbildern erzeugt. In einem Ausführungsbeispiel wird das stereoskopische Paar von Kubusabbildern aus der gerenderten monoskopischen Kubusabbild extrapoliert. Ein Renderer kann das gerenderte monoskopische Kubusabbild mit Raymarching in das stereoskopische Kubusabbilderpaar konvertieren. Wie in 3A bis 3D dargestellt ist, findet Raymarching eine Oberfläche, die durch einen Tiefenpuffer repräsentiert wird, der sich mit einem projizierten Strahl schneidet. Der Raymarching-Algorithmus kann sich in einer Anwendungs-Engine befinden. In einigen Ausführungsbeispielen kann die Raymarching-Funktion als eine Bibliothek extrahiert und separat von einer Anwendungsmaschine bereitgestellt werden.
  • In einem Schritt 440 wird die Transluzenz in beide Kubusabbilder des stereoskopischen Bildpaars gerendert. In einem Ausführungsbeispiel wird die Transluzenz nach dem Raymarching mit einem Vertex-Shader gerendert, um mit der Kreisprojektion übereinzustimmen. In diesen Ausführungsbeispielen stehen Geometrieinformationen für transluzente Objekte zur Verfügung. In dem Vertex-Shader wird die Geometrie, wie z.B. die Position der Eckpunkte der Geometrie, um die vertikale Achse gedreht, die durch die Mitte des Projektionskreises verläuft und der Betrachterposition entspricht. Die gedrehte Geometrie kann dann gerastert, wie gewohnt (d.h. konventionell) schattiert und in die Flächen des Kubusabbilds geschrieben werden. Das Ausmaß der Drehung kann durch den Abstand zum Objekt bestimmt sein. Die Drehung soll dem Projektionskreis entsprechen, der durch das Raymarching erhalten wird. 8 zeigt ein Beispiel für den Umgang mit Transluzenz in Stereo und die Anpassung an den Projektionskreis.
  • Das Verfahren 400 fährt mit Schritt 450 fort, in dem Posttransluzenzeffekte auf beide Kubusabbilder des stereoskopischen Paars angewendet werden. Tone Mapping ist ein Beispiel für die anwendbaren Posttransluzenzeffekte.
  • In einem Schritt 460 werden Projektionen für Streaming generiert. Die Projektionen werden für beide stereoskopischen Bildpaare erzeugt. Für das Streaming können verschiedene Arten von Projektionen erzeugt werden, darunter gleichwinklige, Boggs Eumorphic, Kubusabbilder und Pyramiden. In einem Schritt 470 werden die Projektionen dann kodiert und an Client-Rechenvorrichtungen, wie beispielsweise HMDs, übertragen. Das Verfahren endet dann in einem Schritt 480.
  • 5 veranschaulicht ein Diagramm eines Beispiels einer omnidirektionalen Stereoprojektion in Übereinstimmung mit den Prinzipien der Erfindung. 5 veranschaulicht einen Projektionskreis 510 mit einem Projektionszentrum 520 und mehreren Strahlen, die von Projektionspunkten auf dem Projektionskreis 510 ausgehen, die einer Kreisprojektion approximieren. Zur Berechnung einer regulären perspektivischen Projektion ist der Ursprung das Projektionszentrum 520 (Augenposition) und kann die Richtung aus den Ansichts- und Projektionsmatrizen und Pixelkoordinaten berechnet werden. Unter Verwendung der offenbarten Rendering-Prozesse kann ein Blickwinkel verschoben werden, wobei Strahlen von mehreren Punkten auf dem Projektionskreis 510 nachverfolgt werden. Das originale gerenderte Bild (nichtkreisförmig) aus der ursprünglichen Perspektive wird als Quellendaten zur Nachverfolgung von Strahlen aus Punkten auf dem Projektionskreis 510 verwendet. Ein paar der Projektionspunkte, 530 und 550, sind in 5 dargestellt. Der Projektionspunkt 530 ist ein Projektionspunkt für eine Sicht des linken Auges und der Projektionspunkt 550 ist ein Projektionspunkt für eine Sicht des rechten Auges. Die linken und rechten Projektionspunkte 530, 550 entsprechen der gleichen Blickrichtung und sind gegenüberliegende Punkte auf dem Projektionskreis 510.
  • Ein Unterschied zwischen der Berechnung einer regulären perspektivischen Projektion aus dem Projektionszentrum 520 und einem stereoskopischen Panorama besteht in der Berechnung des gewünschten Strahlursprungs und der Strahlrichtung für jeden Ausgangspixel. Zum Berechnen des stereoskopischen Panoramas kann die Richtung basierend auf den Ausgangspixelkoordinaten in dem Panorama berechnet werden, und wird der Strahlursprung basierend auf dem Panoramazentrum und der Richtung berechnet, in der sich der Strahlursprung auf dem Projektionskreis 510 befindet. Beispielsweise kann der Projektionspunkt 530 oder 550 der Strahlursprung auf dem Projektionskreis 510 sein. Folglich kann dann, wenn Panoramaansichten berechnet werden, das offenbarte Verfahren unabhängig davon, ob die Projektion oder das Layout der gerenderten Ansichten ein Kubus oder gleichwinklig ist, für jeden Ausgangspixel eine Blickrichtung bestimmen, in welcher der Pixel entspricht. Beispielsweise kann mit einer äquirektangularen Projektion für ein x, y eine Pixelpositionsgeometrie dazu verwendet werden, die Blickrichtung zu bestimmen. Bei Stereopanoramen liegt der Projektionspunkt auf dem Projektionskreis. Bei einer gegebenen Richtung wird der Projektionspunkt so eingestellt, dass er auf dem Projektionskreis 510 liegt.
  • 6 veranschaulicht ein Diagramm 600, das ein Beispiel für das Bestimmen von Pixelfarben für ein linkes und ein rechtes Auge in Bezug auf ein Kubusabbild in Übereinstimmung mit den Prinzipien der Erfindung darstellt. Das Diagramm 600 veranschaulicht die Verwendung von ODS zum Projizieren von Strahlen in einem Kubusabbild, um die Farbe für einen Linksaugenpixel 633 und einen Rechtsaugenpixel 635 an einem einzigen Punkt auf der Fläche eines monoskopischen Kubusabbilds 630 zu bestimmen. Die Farben des Linksaugenpixels und des Rechtsaugenpixels für jeden Punkt auf jeder Fläche des Kubusabbilds 630 können ebenfalls bestimmt werden. Vorteilhafterweise kann die ODS-Projektion mit Raymarching von einem Renderer dazu verwendet werden, ein gerendertes monoskopisches Kubusabbild in ein stereoskopisches Kubusabbild zu konvertieren. Ein Renderer, wie beispielsweise der Renderer 211 in 2, kann dazu konfiguriert sein, die Schritte auszuführen, die dem durch das Diagramm 600 dargestellten Algorithmus entsprechen.
  • Das Diagramm 600 beinhaltet einen Projektionskreis 610 mit einem Projektionszentrum 620, das innerhalb eines Kubusabbilds 630 positioniert ist. Eine einzelne Seite der Fläche 631 des Kubusabbilds 630 ist in 6 bezeichnet. An einem einzigen Punkt auf der Fläche 631 befinden sich ein Linksaugenpixel 633 und ein Rechtsaugenpixel 635. Um zu bestimmen, welche Farbe für den Linksaugenpixel 633 und den Rechtsaugenpixel 635 an der Stelle auf der Fläche 631 sichtbar sein soll, wird eine Projektionslinie 640 von dem Punkt der Fläche 631 zu dem Projektionszentrum 620 gezogen. Projektionspunkte auf dem Projektionskreis 610 für das linke Auge und das rechte Auge werden dann durch den Schnittpunkt einer senkrechten Linie 642 auf dem Projektionskreis 610 bestimmt. Die senkrechte Linie 642 steht senkrecht zu der Projektionslinie 640 durch das Projektionszentrum 620. Projektionspunkte für das linke Auge 612 und das rechte Auge 614 befinden sich auf dem Projektionskreis 610, wo die senkrechte Linie 642 den Projektionskreis 610 schneidet. Ausgehend von dem Linksaugenprojektionspunkt 612 und dem Rechtsaugenprojektionspunkt 614 werden Strahlen in der gleichen Richtung wie der der Projektionslinie 640 von dem Projektionszentrum 620 zu dem Punkt auf der Vorderseite 631 des Linksaugenpixels 633 und des Rechtsaugenpixels 635 nachverfolgt. Mit anderen Worten sind die Strahlen der Projektionspunkte 612 und 614 parallel zu der Blickrichtung der Projektionslinie 641. Wenn die Strahlen auf ein erstes Objekt treffen, dann wird die Farbe dieses Objekts für den Linksaugenpixel 633 bzw. den Rechtsaugenpixel 635 verwendet. Wenn beispielsweise der Linksaugenstrahl 652 auf das Objekt 662 trifft, wird die Farbe dieses Objekts 662 für den Linksaugenpixel 633 verwendet. Ähnlich hierzu wird dann, wenn der Rechtsaugenstrahl 654 auf das Objekt 664 trifft, die Farbe dieses Objekts 664 für den Rechtsaugenpixel 635 verwendet. Dieser Vorgang wird für jede Augenposition jeder Blickrichtung für jeden Pixel auf dem Kubusabbild wiederholt.
  • 7 veranschaulicht ein Diagramm 700 eines Beispiels zur Entfernung von Verzerrungen aus einem stereoskopischen Kubusabbild in Übereinstimmung mit den Prinzipien der Erfindung. Verzerrungen können an einigen Stellen auftreten, wenn Strahlen von einem Projektionskreis mit dem IPD-Durchmesser nachverfolgt werden. Für Pixel, die in einem Kubusabbild nahe beieinander liegen, können unterschiedliche Farben erzielt werden, was zu Verzerrungen aus Richtungen von oben und von unten führt, die oft als Spiralverzerrung bezeichnet werden. Ein Renderer, wie beispielsweise der Renderer 211 in 2, kann dazu konfiguriert sein, die Schritte auszuführen, die dem durch das Diagramm 700 dargestellten Algorithmus entsprechen.
  • Um Verzerrungen aus Richtungen von oben und unten zu entfernen, wird der Durchmesser des Projektionskreises schrittweise von dem ursprünglichen Durchmesser einer IPD für horizontale Strahlen auf null für vertikale Strahlen reduziert. Um diese allmähliche Reduzierung darzustellen, beinhaltet das Diagramm 700 einen ersten Projektionskreis 710, einen zweiten Projektionskreis 712 und einen dritten Projektionskreis 714. Die horizontalen Strahlen 730 und 732 werden von dem ersten Projektionskreis 710, der der ursprüngliche Projektionskreis mit dem ursprünglichen Durchmesser von IPD ist, ausgehend nachverfolgt. Für Strahlen, die auf- und abwärts verfolgt werden, zusammen dargestellt durch Strahlen 740, die in dem Diagramm 700 abwärts gehen, wird der Durchmesser des Projektionskreises für diese Strahlen schrittweise reduziert. In dem Diagramm 700 ist dies durch die Strahlen 740 dargestellt, die von dem zweiten Projektionskreis 712 und dem dritten Projektionskreis 714 ausgehend projiziert werden, so dass die Strahlen als von dem gleichen Projektionspunkt aus projiziert werdend erscheinen.
  • 8 veranschaulicht ein Diagramm 800 eines Beispiels für die Anwendung von Transluzenz in Stereo in Übereinstimmung mit den Prinzipien der Erfindung. Da zum Rendern von Transluzenz eindeutige Tiefeninformationen benötigt werden, kann Transluzenz nicht vor dem Raymarching in ein Kubusabbild gerendert werden. Nach dem Raymarching stehen jedoch Tiefeninformationen für jede Oberfläche zur Verfügung und kann die Transluzenz für ein stereoskopisches Kubusabbild wie hierin offenbart gerendert werden.
  • Das Diagramm 800 beinhaltet einen Projektionskreis 810 mit einem Projektionszentrum 820. Das Diagramm 800 beinhaltet auch ein Objekt 830, das ein ursprüngliches monoskopisches Objekt ist, und Darstellungen des rechten und des linken Auges des Objekts, die jeweils als ein Rechtsaugenobjekt 840 und ein Linksaugenobjekt 850 bezeichnet sind. Bei der Umwandlung des Originalobjekts 830 zu dem Rechtsaugenobjekt 840 und dem Linksaugenobjekt 850 unter Verwendung von Strahlen aus dem Projektionskreis 810 werden die Vertices des Originalobjekts 830 entsprechend einem von dem Abstand abhängigen Ausmaß um die vertikale Achse gedreht.
  • Das Diagramm 800 veranschaulicht ein Beispiel für das Anpassen der Position von Vertices, um ein gerendertes monoskopisches Bild in Stereo umzuwandeln. Vor der Umwandlung in Stereo unter Verwendung des Originalobjekts 830 werden die Positionen der Vertices des Originalobjekts 830 durch Rotation so angepasst, dass jedes Auge eine andere Version des Objekts 830 erhält. Beispielsweise werden für das rechte Auge die Vertices nach links und für das linke Auge die Vertices nach rechts verschoben.
  • Beispielsweise ist ein Punkt auf dem ursprünglichen Objekt 830, der als p gezeigt ist, von einem Projektionspunkt 812 aus sichtbar, wie durch eine erste Projektionslinie 813, die von p bis zu dem Projektionspunkt 812 gezogen wurde, gezeigt ist. Der Radius von dem Projektionszentrum 820 bis zu dem Projektionspunkt 812 ist ½ IPD. Eine zweite Projektionslinie 814, die ausgehend von dem Projektionszentrum 820 gezogen ist und parallel zu der ersten Projektionslinie 813 verläuft, zeigt an, wo der Punkt p tatsächlich auf dem Kubusabbild erscheinen wird. Daher muss der Punkt p zwischen dem Punkt p und dem Projektionszentrum 820 (p0) um einen Winkel alpha um die Mittelachse gedreht werden. Der Sinus von alpha entspricht dem Radius geteilt durch den Abstand zwischen dem Punkt p und dem Projektionszentrum 820, wie durch die nachstehende Gleichung 1 dargestellt wird. sin  α = ± I P D 2 p p 0
    Figure DE112018000311T5_0001
  • Im Vergleich zu herkömmlichen Methoden unterscheiden sich die offenbarten Vorrichtungen, Schemata und Rendering-Methoden dadurch, dass zusätzlich zu Farbinformationen auch Tiefeninformationen verwendet werden, was es ermöglicht, die Bilder auf verschiedene Standpunkte und nicht nur in unterschiedliche Blickrichtungen zu reprojizieren.
  • Dies ist eine Verbesserung der traditionellen Wege zur Aufnahme von Stereopanoramen, bei denen normalerweise eine kleine Anzahl von Bildern zusammengefügt wird und die defekte Tiefe sowie Stitching-Artefakte als etwas verworfen werden, mit dem man eben zu leben hat. Die Erfindung bietet den Vorteil, weniger, eine monoskopische Ansicht, zu rendern und dann die monoskopische Ansicht in eine stereoskopische umgewandelt wird. Regelmäßige Rasterisierung kann dann verwendet werden, um Projektionen verzerrungsfrei zu rendern.
  • Traditionell werden einige Bildverarbeitungsalgorithmen verwendet, die versuchen, die Stitching-Artefakte zu reduzieren, indem sie Bilder mit Hilfe von Algorithmen des computerisierten Sehens, wie beispielsweise optischem Fluss, analysieren. Auch wenn sie effektiv sind, benötigen diese Bildverarbeitungsalgorithmen viele Eingangsbilder, um ein gutes Ergebnis zu erzielen, und dauert die Analyse sehr lange. Einige VR HMD-Treiber können eine Reprojektionstechnik verwenden, um die von der Anwendung gerenderten Bilder an eine geringfügig neuere Ausrichtung der HMD anzupassen. Dies kann als „Zeitverzug“ bezeichnet werden. Es werden jedoch nur Farbinformationen verwendet und es wird versucht, den Reprojektions-Shader so schnell wie möglich zu machen, so dass dieses nur die Projektionsorientierung und nicht den Blickwinkel korrigieren kann.
  • Der hierin offenbarte, verbesserte Rendering-Prozess ermöglicht die Erzeugung eines Paares stereoskopischer Bilder in Echtzeit, während nur ein monoskopischer Satz von Bildern, wie beispielsweise ein Kubusabbild, gerendert wird, wodurch die Rendering-Kosten relativ niedrig gehalten werden und ein Panorama mit hochwertigem Stereoeffekt erzeugt wird. Zur weiteren Qualitätsverbesserung kann ein zweilagiges Kubusabbild verwendet werden. In einigen Ausführungsbeispielen kann der offenbarte Rendering-Prozess für Nvidia Ansel Stereo-Panoramen verwendet werden, indem das Spiel eine Ansel-Runtime mit seinen Parametern für Tiefenpuffer und Tiefenprojektion zur Verfügung stellt. Ansel ist ein fortschrittliches virtuelles Fotografiewerkzeug für Spiele, mit dem Benutzer verschiedene Arten von Bildern aus Spielen aufnehmen können, darunter regelmäßige Bildschirmaufnahmen, hochauflösende Bildschirmaufnahmen, Mono- und Stereo-360-Grad-Panoramen. Mit Ansel kann ein Benutzer Bildschirmaufnahmen von jeder beliebigen Position aus erstellen, diese mit Nachverarbeitungsfiltern anpassen, HDR-Bilder in High-Fidelity-Formaten aufnehmen und sie mit seinem Mobiltelefon, PC oder VR-Headset in 360 Grad teilen.
  • Demgemäß können das vorstehend beschriebene System, die Vorrichtungen und die Verfahren oder zumindest ein Teil derselben in verschiedenen Prozessoren, wie beispielsweise digitalen Datenprozessoren oder Computern, verkörpert sein oder von diesen ausgeführt werden, wobei die Computer programmiert sind oder ausführbare Programme von Sequenzen von Softwareanweisungen speichern, um einen oder mehrere der Schritte der Verfahren durchzuführen. Die Softwareanweisungen solcher hierin offenbarten Programme können Algorithmen repräsentieren und in maschinenausführbarer Form auf nichtflüchtigen digitalen Datenspeichermedien, z.B. magnetischen oder optischen Platten, Direktzugriffsspeicher (RAM), magnetischen Festplatten, Flashspeichern und/oder Nur-Lese-Speicher (ROM) kodiert sein, um es verschiedenen Arten von digitalen Datenverarbeitungssystemen oder Computern zu ermöglichen, einen, mehrere oder alle Schritte eines oder mehrerer der hierin beschriebenen Verfahren oder Komponenten der hierin beschriebenen Vorrichtungen durchzuführen.
  • Bestimmte hierin offenbarte Ausführungsbeispiele können sich ferner auf Computerspeicherprodukte mit einem nichtflüchtigen, computerlesbaren Medium beziehen, auf dem sich ein Programmcode zur Durchführung verschiedener computerimplementierter Operationen befindet, die die Vorrichtungen, die Systeme oder die Schritte der hierin beschriebenen Verfahren verkörpern. Das hierin verwendete nichtflüchtige Medium bezieht sich auf alle computerlesbaren Medien mit Ausnahme von flüchtigen, propagierenden Signalen. Beispiele für nichtflüchtige computerlesbare Medien sind unter anderem: magnetische Medien wie Festplatten, Disketten und Magnetbänder; optische Medien wie CD-ROMs; magneto-optische Medien wie Floptical Disks; und Hardwarevorrichtungen, die speziell zum Speichern und Ausführen von Programmcode konfiguriert sind, wie ROM- und RAM-Vorrichtungen. Beispiele für Programmcode sind sowohl Maschinencode, wie er von einem Compiler erzeugt wird, als auch Dateien mit höherem Code, die von dem Computer unter Verwendung eines Interpreters ausgeführt werden können.
  • Der Fachmann auf dem Gebiet der Technik, auf das sich diese Anmeldung bezieht, wird wertschätzen, dass andere und weitere Hinzufügungen, Weglassungen, Ersetzungen und Änderungen an den beschriebenen Ausführungsbeispielen vorgenommen werden können.

Claims (21)

  1. Verfahren zum Bereitstellen stereoskopischer Bilder, umfassend: Erzeugen eines monoskopischen Satzes gerenderter Bilder; und Umwandeln des Satzes gerenderter Bilder in ein stereoskopisches Bildpaar unter Verwendung von Tiefeninformationen aus dem monoskopischen Satz gerenderter Bilder und Raymarching.
  2. Verfahren nach Anspruch 1, wobei der monoskopische Satz gerenderter Bilder ein Kubusabbild mit sowohl einem Farbpuffer als auch einem Tiefenpuffer ist und das stereoskopische Bildpaar ein stereoskopisches Paar von Kubusabbildern ist.
  3. Verfahren nach Anspruch 2, wobei die Umwandlung ein Verwenden einer omnidirektionalen Stereo-(ODS)-Projektion zum Projizieren von Strahlen auf eine Fläche des Kubusabbilds zum Bestimmen einer Farbe für Linksaugenpixel und einer Farbe für Rechtsaugenpixel für einzelne Punkte auf der Fläche des Kubusabbilds beinhaltet.
  4. Verfahren nach Anspruch 3, wobei das Raymarching ein Bestimmen von Oberflächen auf der Fläche, die sich mit den Strahlen schneidet, unter Verwendung des Tiefenpuffers beinhaltet.
  5. Verfahren nach Anspruch 4, wobei der Tiefenpuffer Mipmap-Ebenen beinhaltet und das Raymarching ein Verwenden der Mipmap-Ebenen zum Bestimmen der Oberflächen auf der Fläche, die sich mit den Strahlen schneidet, beinhaltet.
  6. Verfahren nach Anspruch 3, wobei die Fläche eine von sechs Flächen des Kubusabbilds ist und das Umwandeln die ODS-Projektion beinhaltet, die Strahlen auf jede der sechs Flächen projiziert, um Pixelfarben des linken und des rechten Auges für Punkte auf jeder der sechs Flächen unter Verwendung des Raymarching zu bestimmen.
  7. Verfahren nach Anspruch 6, wobei das Raymarching die Fläche, mit der zu beginnen ist, basierend auf einem Ursprung einer der Strahlen auswählt.
  8. Verfahren nach Anspruch 3, ferner umfassend ein Reduzieren eines Durchmessers eines Projektionskreises der ODS-Projektion, um Spiralverzerrungen des stereoskopischen Paars von Bildern zu entfernen.
  9. Verfahren nach Anspruch 1, ferner umfassend ein Rendern transluzenter Geometrie für jedes des stereoskopischen Paars von Bildern nach dem Raymarching.
  10. Verfahren nach Anspruch 9, ferner umfassend ein Reprojizieren des Paars von stereoskopischen Bildern zur Videoübertragung.
  11. Verfahren nach Anspruch 1, wobei der monoskopische Satz gerenderter Bilder ein monoskopischer Satz von gerenderten Bildern von 360 Grad ist und das stereoskopische Bildpaar ein stereoskopisches Bildpaar von 360 Grad ist.
  12. Broadcaster für eine virtuelle Ansicht, umfassend: einen Cloud-basierten Renderer, der dazu konfiguriert ist, einen monoskopischen Satz gerenderter Bilder von 360 Grad zu erzeugen und Raymarching und Tiefeninformationen zu verwenden, um den Satz gerenderter Bilder in ein stereoskopisches Bildpaar von 360 Grad zu konvertieren; und einen Bildprozessor, der dazu konfiguriert ist, das stereoskopische Bildpaar für die Videoübertragung zu kodieren.
  13. Broadcaster für eine virtuelle Ansicht nach Anspruch 12, ferner umfassend einen Videosender, der dazu konfiguriert ist, das stereoskopische Bildpaar von 360 Grad als Videostrom über ein Kommunikationsnetzwerk zu übertragen.
  14. Broadcaster für eine virtuelle Ansicht nach Anspruch 12, wobei der monoskopische 360-Grad-Satz gerenderter Bilder ein Kubusabbild mit sowohl einem Farbpuffer als auch einem Tiefenpuffer ist und das stereoskopische Bildpaar von 360 Grad ein stereoskopisches Kubusabbilderpaar ist.
  15. Broadcaster für eine virtuelle Ansicht nach Anspruch 14, wobei der Cloud-basierte Renderer dazu konfiguriert ist, durch Projizieren von Strahlen unter Verwendung einer omnidirektionalen Stereo-(ODS)-Projektion auf jeder Fläche des Kubusabbilds eine Farbe für Linksaugenpixel und eine Farbe für Rechtsaugenpixel für einzelne Punkte auf jeder der Flächen des Kubusabbilds zu bestimmen.
  16. Broadcaster für eine virtuelle Ansicht nach Anspruch 14, wobei das Raymarching die Verwendung des Tiefenpuffers zum Bestimmen von Oberflächen auf jeder Fläche des Kubusabbilds, die sich mit projizierten Strahlen schneidet, beinhaltet.
  17. Broadcaster für eine virtuelle Ansicht nach Anspruch 12, wobei der Cloud-basierte Renderer ferner dazu konfiguriert ist, für jedes der stereoskopischen Bildpaare nach dem Raymarching eine transluzente Geometrie darzustellen.
  18. Cloud-basierter Renderer, umfassend: einen Speicher; und zumindest einen Prozessor, der mit dem Speicher gekoppelt und dazu konfiguriert ist, ein Kubusabbild unter Verwendung von Raymarching und einem Tiefenpuffer des Kubusabbilds in ein stereoskopisches Paar von Kubusabbildern zu konvertieren.
  19. Cloud-basierter Renderer nach Anspruch 18, wobei der Prozessor dazu konfiguriert ist, durch Projizieren von Strahlen unter Verwendung einer omnidirektionalen Stereo-(ODS)-Projektion auf jeder Fläche des Kubusabbilds eine Farbe für Linksaugenpixel und eine Farbe für Rechtsaugenpixel für einzelne Punkte auf jeder der Flächen des Kubusabbilds zu bestimmen.
  20. Cloud-basierter Renderer nach Anspruch 18, wobei der Prozessor ferner dazu konfiguriert ist, nach dem Raymarching eine transluzente Geometrie für jedes der stereoskopischen Kubusabbilderpaare zu rendern.
  21. Cloud-basierter Renderer nach Anspruch 18, wobei der zumindest eine Prozessor ferner dazu konfiguriert ist, das Kubusabbild zu erzeugen.
DE112018000311.6T 2017-01-04 2018-01-04 Stereoskopisches Rendering unter Verwendung von Raymarching und ein Broadcaster für eine virtuelle Ansicht für solches Rendering Pending DE112018000311T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762442366P 2017-01-04 2017-01-04
US62/442,366 2017-01-04
PCT/US2018/012382 WO2018129186A1 (en) 2017-01-04 2018-01-04 Stereoscopic rendering using raymarching and a virtual view broadcaster for such rendering

Publications (1)

Publication Number Publication Date
DE112018000311T5 true DE112018000311T5 (de) 2019-09-19

Family

ID=62711976

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112018000311.6T Pending DE112018000311T5 (de) 2017-01-04 2018-01-04 Stereoskopisches Rendering unter Verwendung von Raymarching und ein Broadcaster für eine virtuelle Ansicht für solches Rendering

Country Status (4)

Country Link
US (3) US10839591B2 (de)
CN (2) CN110383346B (de)
DE (1) DE112018000311T5 (de)
WO (2) WO2018129197A1 (de)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2513884B (en) 2013-05-08 2015-06-17 Univ Bristol Method and apparatus for producing an acoustic field
GB2530036A (en) 2014-09-09 2016-03-16 Ultrahaptics Ltd Method and apparatus for modulating haptic feedback
CN107407969B (zh) 2015-02-20 2020-09-11 超级触觉资讯处理有限公司 操纵触觉场以产生所期用户感知的方法
EP3259654B1 (de) 2015-02-20 2021-12-29 Ultrahaptics Ip Ltd Algorithmusverbesserungen in einem haptischen system
US10818162B2 (en) 2015-07-16 2020-10-27 Ultrahaptics Ip Ltd Calibration techniques in haptic systems
US10268275B2 (en) 2016-08-03 2019-04-23 Ultrahaptics Ip Ltd Three-dimensional perceptions in haptic systems
US10943578B2 (en) 2016-12-13 2021-03-09 Ultrahaptics Ip Ltd Driving techniques for phased-array systems
US10827160B2 (en) * 2016-12-16 2020-11-03 Samsung Electronics Co., Ltd Method for transmitting data relating to three-dimensional image
WO2018129197A1 (en) 2017-01-04 2018-07-12 Nvidia Corporation Cloud generation of content to be streamed to vr/ar platforms using a virtual view broadcaster
US11386607B1 (en) * 2017-04-16 2022-07-12 Meta Platforms, Inc. Systems and methods for capturing content
US11531395B2 (en) 2017-11-26 2022-12-20 Ultrahaptics Ip Ltd Haptic effects from focused acoustic fields
US11360546B2 (en) 2017-12-22 2022-06-14 Ultrahaptics Ip Ltd Tracking in haptic systems
EP3729418A1 (de) 2017-12-22 2020-10-28 Ultrahaptics Ip Ltd Minimierung von unerwünschten antworten in haptischen systemen
GB2570298A (en) * 2018-01-17 2019-07-24 Nokia Technologies Oy Providing virtual content based on user context
US10777010B1 (en) * 2018-03-16 2020-09-15 Amazon Technologies, Inc. Dynamic environment mapping for augmented reality
US10607567B1 (en) 2018-03-16 2020-03-31 Amazon Technologies, Inc. Color variant environment mapping for augmented reality
US10559121B1 (en) 2018-03-16 2020-02-11 Amazon Technologies, Inc. Infrared reflectivity determinations for augmented reality rendering
CN108171783A (zh) * 2018-03-20 2018-06-15 联想(北京)有限公司 图像渲染方法、***以及电子设备
KR20210002703A (ko) 2018-05-02 2021-01-08 울트라햅틱스 아이피 엘티디 개선된 음향 전송 효율을 위한 차단 플레이트 구조체
US10733786B2 (en) * 2018-07-20 2020-08-04 Facebook, Inc. Rendering 360 depth content
US10628990B2 (en) * 2018-08-29 2020-04-21 Intel Corporation Real-time system and method for rendering stereoscopic panoramic images
US20200082804A1 (en) * 2018-09-09 2020-03-12 Ultrahaptics Ip Ltd Event Triggering in Phased-Array Systems
US11098951B2 (en) 2018-09-09 2021-08-24 Ultrahaptics Ip Ltd Ultrasonic-assisted liquid manipulation
KR102138977B1 (ko) * 2018-10-10 2020-07-28 민코넷주식회사 클라우드 컴퓨터를 이용한 게임 플레이 동영상 제공 시스템
US11378997B2 (en) 2018-10-12 2022-07-05 Ultrahaptics Ip Ltd Variable phase and frequency pulse-width modulation technique
EP3906462A2 (de) 2019-01-04 2021-11-10 Ultrahaptics IP Ltd Haptische texturen in der luft
JP7343285B2 (ja) * 2019-03-20 2023-09-12 株式会社コーエーテクモゲームス コンピュータシステム、配信用端末及び配信サーバー
US11358057B2 (en) * 2019-03-22 2022-06-14 Disney Enterprises, Inc. Systems and methods for allowing interactive broadcast streamed video from dynamic content
US11842517B2 (en) 2019-04-12 2023-12-12 Ultrahaptics Ip Ltd Using iterative 3D-model fitting for domain adaptation of a hand-pose-estimation neural network
US11164385B2 (en) * 2019-08-17 2021-11-02 Samsung Electronics Co., Ltd. Apparatuses and methods for establishing virtual reality (VR) call between caller VR device and callee VR device
CN114631139A (zh) 2019-10-13 2022-06-14 超飞跃有限公司 利用虚拟麦克风进行动态封顶
US11374586B2 (en) 2019-10-13 2022-06-28 Ultraleap Limited Reducing harmonic distortion by dithering
EP3829166A1 (de) 2019-11-29 2021-06-02 InterDigital CE Patent Holdings Verfahren und vorrichtung zur dekodierung eines 3d-videos
US11715453B2 (en) 2019-12-25 2023-08-01 Ultraleap Limited Acoustic transducer structures
US11816267B2 (en) 2020-06-23 2023-11-14 Ultraleap Limited Features of airborne ultrasonic fields
WO2022010026A1 (ko) * 2020-07-07 2022-01-13 인하대학교 산학협력단 적층 가능한 라이트필드 기반 가상공간 구축 방법 및 장치
US11886639B2 (en) 2020-09-17 2024-01-30 Ultraleap Limited Ultrahapticons
KR20230136195A (ko) * 2021-02-28 2023-09-26 레이아 인코포레이티드 압축된 멀티뷰 동영상을 스트리밍하는 시스템 및 방법
CN112973121B (zh) * 2021-04-30 2021-07-20 成都完美时空网络技术有限公司 反射效果生成方法及装置、存储介质、计算机设备
CN113470161B (zh) * 2021-06-30 2022-06-07 完美世界(北京)软件科技发展有限公司 虚拟环境中容积云的光照确定方法、相关设备及存储介质
GB2604193B (en) * 2021-08-06 2023-03-08 Imagination Tech Ltd Texture address generation
CN115639976B (zh) * 2022-10-28 2024-01-30 深圳市数聚能源科技有限公司 一种虚拟现实内容多模式多角度同步展示方法及***

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5995742A (en) * 1997-07-25 1999-11-30 Physical Optics Corporation Method of rapid prototyping for multifaceted and/or folded path lighting systems
US7009615B1 (en) 2001-11-30 2006-03-07 Nvidia Corporation Floating point buffer system and method for use during programmable fragment processing in a graphics pipeline
US6876362B1 (en) * 2002-07-10 2005-04-05 Nvidia Corporation Omnidirectional shadow texture mapping
US7256779B2 (en) 2003-05-08 2007-08-14 Nintendo Co., Ltd. Video game play using panoramically-composited depth-mapped cube mapping
GB0400371D0 (en) * 2004-01-09 2004-02-11 Koninkl Philips Electronics Nv Volumetric display
US20080143720A1 (en) * 2006-12-13 2008-06-19 Autodesk, Inc. Method for rendering global illumination on a graphics processing unit
US8319825B1 (en) * 2008-06-16 2012-11-27 Julian Urbach Re-utilization of render assets for video compression
JP5168580B2 (ja) * 2008-12-01 2013-03-21 富士通株式会社 運転模擬装置、広角カメラ映像模擬装置および画像変形合成装置
US9282321B2 (en) * 2011-02-17 2016-03-08 Legend3D, Inc. 3D model multi-reviewer system
CN102834849B (zh) * 2011-03-31 2016-08-31 松下知识产权经营株式会社 进行立体视图像的描绘的图像描绘装置、图像描绘方法、图像描绘程序
US8928729B2 (en) * 2011-09-09 2015-01-06 Disney Enterprises, Inc. Systems and methods for converting video
DE112011105927T5 (de) * 2011-12-07 2014-09-11 Intel Corporation Grafik-Renderingverfahren für autostereoskopisches dreidimensionales Display
CN102590923B (zh) * 2012-03-01 2015-04-22 清华大学深圳研究生院 透镜、全息图投影制作***及方法
US9403090B2 (en) 2012-04-26 2016-08-02 Riot Games, Inc. Video game system with spectator mode hud
US10803655B2 (en) * 2012-06-08 2020-10-13 Advanced Micro Devices, Inc. Forward rendering pipeline with light culling
US20140038708A1 (en) 2012-07-31 2014-02-06 Cbs Interactive Inc. Virtual viewpoint management system
US20140274369A1 (en) * 2013-03-12 2014-09-18 Sony Computer Entertainment America Llc Scheme for assisting in catching an object in a computer simulation
DE102014105146B4 (de) * 2013-04-22 2021-11-04 Nvidia Corporation System, Verfahren und Computerprogrammprodukt zum Durchführen einer Pfad-Raum-Filterung
US9451162B2 (en) * 2013-08-21 2016-09-20 Jaunt Inc. Camera array including camera modules
GB2527503A (en) * 2014-06-17 2015-12-30 Next Logic Pty Ltd Generating a sequence of stereoscopic images for a head-mounted display
US9661312B2 (en) * 2015-01-22 2017-05-23 Microsoft Technology Licensing, Llc Synthesizing second eye viewport using interleaving
US9852537B2 (en) * 2015-05-01 2017-12-26 Otoy Inc. Rendering via ray-depth field intersection
US9877016B2 (en) * 2015-05-27 2018-01-23 Google Llc Omnistereo capture and render of panoramic virtual reality content
EP3307407B1 (de) * 2015-06-14 2020-09-09 Sony Interactive Entertainment Inc. Erneutes rendering von expandiertem sichtfeld zum vr-zuschauen
US20170104927A1 (en) 2015-10-07 2017-04-13 Little Star Media, Inc. Systems, methods and software programs for 360 degree video distribution platforms
US11228754B2 (en) 2016-05-06 2022-01-18 Qualcomm Incorporated Hybrid graphics and pixel domain architecture for 360 degree video
CN105939481A (zh) * 2016-05-12 2016-09-14 深圳市望尘科技有限公司 一种交互式三维虚拟现实视频节目录播和直播方法
US20180007422A1 (en) * 2016-06-30 2018-01-04 Sony Interactive Entertainment Inc. Apparatus and method for providing and displaying content
US10460501B2 (en) * 2016-07-04 2019-10-29 Liquid Cinema Inc., Canada System and method for processing digital video
US10346950B2 (en) * 2016-10-05 2019-07-09 Hidden Path Entertainment, Inc. System and method of capturing and rendering a stereoscopic panorama using a depth buffer
US10204395B2 (en) * 2016-10-19 2019-02-12 Microsoft Technology Licensing, Llc Stereoscopic virtual reality through caching and image based rendering
WO2018129197A1 (en) * 2017-01-04 2018-07-12 Nvidia Corporation Cloud generation of content to be streamed to vr/ar platforms using a virtual view broadcaster

Also Published As

Publication number Publication date
CN110383346A (zh) 2019-10-25
WO2018129197A1 (en) 2018-07-12
US10497168B2 (en) 2019-12-03
CN110383346B (zh) 2023-02-03
US20180190007A1 (en) 2018-07-05
CN110178370A (zh) 2019-08-27
WO2018129186A1 (en) 2018-07-12
US20180192081A1 (en) 2018-07-05
US20200105047A1 (en) 2020-04-02
US10839591B2 (en) 2020-11-17

Similar Documents

Publication Publication Date Title
DE112018000311T5 (de) Stereoskopisches Rendering unter Verwendung von Raymarching und ein Broadcaster für eine virtuelle Ansicht für solches Rendering
DE602005006347T2 (de) System und Verfahren zur Erzeugung einer zweilagigen 3D-Darstellung einer Szene
DE102020000810A1 (de) 3D-Objektrekonstruktion unter Nutzung einer fotometrischen Netzdarstellung
US8922628B2 (en) System and process for transforming two-dimensional images into three-dimensional images
DE69932619T2 (de) Verfahren und system zum aufnehmen und repräsentieren von dreidimensionaler geometrie, farbe und schatten von animierten objekten
EP3304496B1 (de) Verfahren und vorrichtung zum erzeugen von daten für eine zwei- oder dreidimensionale darstellung zumindest eines teils eines objekts und zum erzeugen der zwei- oder dreidimensionalen darstellung zumindest des teils des objekts
EP3347876B1 (de) Vorrichtung und verfahren zur erzeugung eines modells von einem objekt mit überlagerungsbilddaten in einer virtuellen umgebung
US20160232710A1 (en) Generation of three-dimensional imagery from a two-dimensional image using a depth map
EP3427474B1 (de) Bildverarbeitungsverfahren, bildverarbeitungsmittel und bildverarbeitungsvorrichtung zur erzeugung von abbildungen eines teils eines dreidimensionalen raums
DE102018006050A1 (de) Parallaxenkorrektur in der Virtuellen Realität
WO2011103865A2 (de) Verfahren und autostereoskopische anzeige zur erzeugung von dreidimensionalen bildern
DE102017203721A1 (de) Vorrichtung und Verfahren zur Darstellung eines Raumbilds von einem Objekt in einer virtuellen Umgebung
DE102017118714A1 (de) Mehrstufiges Kameraträgersystem für die stereoskope Bildaufnahme
DE112015004871T5 (de) Verfahren zur automatisierten Echtzeit-Konversion von 2D-RGB-Bildern und -Video in stereoskopische Rot-Cyan-3D-Anaglyphen
DE102018130770A1 (de) Stereoskopische Wiedergabe von virtuellen 3D-Objekten
DE102013215301A1 (de) System, Verfahren und Computerprogrammprodukt zum Extrudieren eines Modells durch eine zweidimensionale Szene
DE102015223003A1 (de) Vorrichtung und Verfahren zur Überlagerung zumindest eines Teils eines Objekts mit einer virtuellen Oberfläche
WO2015120032A1 (en) Reducing view transition artifacts in automultiscopic displays
DE112021003549T5 (de) Informationsverarbeitungsvorrichtung, informationsverarbeitungsverfahren und programm
DE102015017128A1 (de) Verfahren und Vorrichtung zum Erzeugen von Daten für eine zwei- oder dreidimensionale Darstellung zumindest eines Teils eines Objekts und zum Erzeugen der zwei- oder dreidimensionalen Darstellung zumindest des Teils des Objekts
DE112020001322T5 (de) Eine szene darstellendes bildsignal
DE10134430A1 (de) Verfahren und Anordnung zur stereoskopischen Projektion von Bildern
WO2007085482A1 (de) Verfahren zur erzeugung und darstellung räumlich wahrnehmbarer bilder
DE102018125589A1 (de) Lichtfelder als bessere Hintergründe beim Rendern
DE102013111488A1 (de) Verfahren zur Verwendung von 3D-Geometriedaten zur virtuellen Realitätsbilddarstellung und Steuerung im 3D-Raum

Legal Events

Date Code Title Description
R012 Request for examination validly filed