DE112011105927T5 - Grafik-Renderingverfahren für autostereoskopisches dreidimensionales Display - Google Patents

Grafik-Renderingverfahren für autostereoskopisches dreidimensionales Display Download PDF

Info

Publication number
DE112011105927T5
DE112011105927T5 DE112011105927.2T DE112011105927T DE112011105927T5 DE 112011105927 T5 DE112011105927 T5 DE 112011105927T5 DE 112011105927 T DE112011105927 T DE 112011105927T DE 112011105927 T5 DE112011105927 T5 DE 112011105927T5
Authority
DE
Germany
Prior art keywords
scene
virtual camera
camera field
rendering
pixel
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.)
Withdrawn
Application number
DE112011105927.2T
Other languages
English (en)
Inventor
Yangzhou Du
Qiang Li
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 DE112011105927T5 publication Critical patent/DE112011105927T5/de
Withdrawn 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Processing Or Creating Images (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

Es werden verschiede Ausführungsformen hierin präsentiert, die ein Einzelbild auf einem autostereoskopischen 3D-Display wiedergeben können. Eine Computerplattform, die eine Prozessorschaltung umfasst, welche eine Rendering-Anwendung ausführt, kann eine aktuelle Orientierung eines virtuellen Kamerafeldes in einer dreidimensionalen (3D)-Szene und zumindest einen weiteren 3D-Bildgebungsparameter für die 3D-Szene bestimmen. Die Rendering-Anwendung kann mit Hilfe einer Raytracing-Engine auch einen Tiefenbereich für die 3D-Szene bestimmen. Die Raytracing-Engine kann dann das Rendern des Einzelbildes, das repräsentativ für die 3D-Szene ist, unter Verwendung eines Raytracing-Prozesses erleichtern.

Description

  • STAND DER TECHNIK
  • Aktuelle Implementierungen zum Rendern von dreidimensionalen (3D)-Bildern auf einem autostereoskopischen 3D-Display halten die Renderingprozedur unabhängig von einer Teilpixel-Interleavingprozedur. Multiview-Rendering wird zuerst ausgeführt, gefolgt von den Multiview-Bildern, gemäß eines bestimmten Teilpixelmusters. Die Zeit, die für das Multiview-Rendering erforderlich ist, ist proportional zur Zahl der Ansichten. Daher ist Echtzeit-3D-Bildrendering oder interaktives Rendering schwierig auf Grafik-Hardware für Verbraucher auszuführen. Dementsprechend kann ein Bedarf an verbesserten Verfahren zum Lösen dieser und anderer Probleme bestehen.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 illustriert ein beispielhaftes linsenförmiges Feld und ein entsprechendes Teilpixel-Interleaving-Format für ein autostereoskopisches Multiview-3D-Display.
  • 2 illustriert eine Probenpixelgruppierung gemäß Ausführungsformen der Erfindung.
  • 3 illustriert einen Probenraum für eine 3D-Szene.
  • 4 illustriert eine Ausführungsform einer Architektur, die zum Ausführen von Ausführungsformen der Offenbarung geeignet sind.
  • 5 illustriert eine Ausführungsform eines Funktionsdiagramms einer Rendering-Anwendung.
  • 6 illustriert eine Ausführungsform eines Logikflusses.
  • 7 illustriert eine Ausführungsform eines Systems, das zum Implementieren von Ausführungsformen der Offenbarung geeignet sein kann.
  • 8 illustriert Ausführungsformen einer Vorrichtung mit kleinem Formfaktor, in dem das System von 7 verkörpert sein kann.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Es werden verschiede Ausführungsformen hierin präsentiert, die ein Einzelbild auf einem autostereoskopischen 3D-Display wiedergeben können. Eine Computerplattform, die eine Prozessorschaltung umfasst, welche eine Rendering-Anwendung ausführt, kann eine aktuelle Position und Orientierung eines virtuellen Kamerafeldes in einer dreidimensionalen (3D)-Szene und zumindest einen weiteren 3D-Bildgebungsparameter für die 3D-Szene bestimmen. Die zusätzlichen 3D-Bildgebungsparameter können eine Grundlinienlänge für das virtuelle Kamerafeld sowie einen Brennpunkt für das virtuelle Kamerafeld umfassen. Die Rendering-Anwendung kann mit Hilfe einer Raytracing-Engine auch einen Tiefenbereich für die 3D-Szene bestimmen. Die Raytracing-Engine kann dann das Rendern des Einzelbildes, das repräsentativ für die 3D-Szene ist, unter Verwendung eines Raytracing-Prozesses erleichtern.
  • Es wird nun auf die Zeichnungen verwiesen, wobei gleiche Bezugszahlen dazu verwendet werden, sich durchweg auf gleiche Elemente zu beziehen. In der folgenden Beschreibung werden zahlreiche spezielle Details zum Zweck der Erklärung dargelegt, um für ein gründliches Verständnis derselben zu sorgen. Es kann jedoch offensichtlich sein, dass die neuartigen Ausführungsformen ohne diese speziellen Details ausgeführt werden können. In anderen Fällen werden bekannte Strukturen und Vorrichtungen in Blockdiagrammform gezeigt, um eine Beschreibung derselben zu erleichtern. Es besteht die Absicht, alle diese Modifikationen, Äquivalente und Alternativen abzudecken, die dem Geist und Geltungsbereich des beanspruchten Gegenstandes entsprechen.
  • Autostereoskopie ist ein Verfahren zum Anzeigen von stereoskopischen Bildern (was eine beidäugige Wahrnehmung der 3D-Tiefe hinzufügt) ohne die Verwendung von speziellem Headgear oder Brillen auf Seiten des Betrachters. Viele autostereoskopische Displays sind Multiview-Displays. 1 illustriert die Struktur einer geneigten Platte von linsenförmigem Feld auf einem LCD-Panel und das entsprechende Teilpixel-Interleaving-Format für ein autostereoskopisches Multiview-3D-Display. Eine Gruppe von benachbarten roten (R), grünen (G) und blauen (B) Farbkomponenten bildet ein Pixel, während jede Farbkomponente aus einer anderen Ansicht des Bildes kommt, wie durch die Zahl innerhalb jedes Rechtecks angibt. Die gestrichelten Linien mit der Beschriftung ”4” und ”5” zeigen die RGB-Farbkomponenten für die gegebene Ansicht an. Wenn ein herkömmliches Rasterungs-Rendering implementiert wäre, müssten neun (9) getrennte Bilder (eines für jede Ansicht) gerendert und dann gemäß einem speziellen Format verschachtelt werden. Die Verarbeitungszeit in der Grafik-Pipeline ist proportional zur Zahl der Ansichten. Die Rendering-Zeit ist also weitgehend proportional zur Zahl der Ansichten, was es schwierig macht, ein Echtzeit-Rendering mit herkömmlicher Grafik-Hardware zu erreichen.
  • Jedoch bleibt die Gesamtzahl von Pixeln für das Multiview-3D-Display unverändert. Die Rendering-Zeit unter Verwendung des Raytracing ist proportional zur Zahl von ausgesandten Strahlen (z. B. Pixeln). Daher ist die Rendering-Leistung unabhängig von der Zahl der Ansichten. Das bedeutet, dass die Rendering-Leistungskosten dieselben für das Rendering in autostereoskopischem 3D wie für das Rendern in zweidimensionaler (2D)-Auflösung sind.
  • Beim Rendern einer gegebenen Ansicht bilden rote (R), grüne (G) und blaue (B) Farbkomponenten Pixelgruppen 210, wie in 2 gezeigt. Die Mitte 220 einer Gruppierung von Pixeln befindet sich nicht notwendigerweise an ganzzahligen Koordinaten. Eine Raytracing-Engine stützt das Aussenden von Strahlen aus einem nicht ganzzahlig positionierten Mittelpixel und das Füllen der bestimmten Pixelfarbe am speziellen Ort aus einem Bildpuffer. Wenn alle Teilpixel im Bildpuffer gefüllt sind, ist die Zahl der ausgesandten Strahlen exakt gleich der Gesamtzahl der Pixel. Wenn jedoch das herkömmliche Rendering, wie zum Beispiel das Rastern, verwendet wird, sind zusätzliche Interpolationsoperationen erforderlich, um die genaue Farbe der Pixel an nicht ganzzahligen Koordinaten zu erhalten. Das würde beträchtlichen Verwaltungsaufwand mit sich bringen, im Vergleich zum Einzelansichts-Bildrendering.
  • 3 illustriert einen Probenraum 300 für eine 3D-Szene. Der Probenraum 300 kann anschaulich für einen Charakter oder Avatar in einem Videospiel sein. Der Avatar kann repräsentativ für einen Spieler des Videospiels sein. Die Perspektive des Avatars kann durch ein virtuelles Kamerafeld repräsentiert werden. Dieses Beispiel soll eine Änderung der Perspektive auf der Grundlage von Bewegung des Avatars zwischen Einzelbildern zeigen. Ein erstes virtuelles Kamerafeld 310 ist gemäß der Perspektive des Avatars in einem ersten Einzelbild positioniert und orientiert. Das virtuelle Kamerafeld 310 kann ein Sichtfeld 320 auf der Grundlage einer Reihe von Bildgebungsparametern illustrieren oder ”sehen”. Die Bildgebungsparameter können einen (x, y, z)-Koordinatenort, eine winklige links/rechts-Betrachtungsperspektive (alpha), die einen virtuellen Kamerafeldschwenk anzeigt, eine Betrachtungsperspektive (6) nach oben/nach unten (beta), die eine virtuelle Kamerafeldneigung anzeigt, und eine Zoom-in/-out-Perspektive (Zr) umfassen, die einen Vergrößerungsfaktor anzeigt. Die verschiedenen Koordinatensysteme und Positionsdarstellungen haben nur erläuternden Charakter. Ein Fachmann auf diesem Gebiet kann ohne weiteres zusätzliche oder alternative Positions- und Orientierungsinformationen implementieren, ohne vom Geltungsbereich der Ausführungsformen hierin abzuweichen. Die Ausführungsformen sind in diesem Kontext nicht beschränkt.
  • In dem Beispiel von 3 kann das erste virtuelle Kamerafeld 310 mit dem Bildgebungsparametersatz (x1, y1, z1, α1, β1, zm1) verknüpft werden. Die Koordinaten x1, y1, z1 können den Punkt im Raum definieren, an dem das erste virtuelle Kamerafeld 310 aktuell positioniert ist. Die Parameter α1, β1 können die Orientierung des ersten virtuellen Kamerafeldes 310 definieren. Die Orientierungsparameter α1, β1 können die Richtung und den Erhebungswinkel beschreiben, in die das erste virtuelle Kamerafeld 310 orientiert ist. Der zm1-Parameter kann den Vergrößerungsfaktor beschreiben, auf den das erste virtuelle Kamerafeld 310 eingestellt ist. Zum Beispiel kann der Avatar in diesem Augenblick ein Fernglas benutzen, um den Zoomfaktor zu erhöhen. Alle diese Bildgebungsparameter wirken zusammen, um ein Sichtfeld 320 für das erste virtuelle Kamerafeld 310 zu erzeugen. Das Sichtfeld 320 kann repräsentativ für eine 3D-Szene innerhalb des Spiels sein, die als Einzelbild auf dem Display für den Spieler des Videospiels gerendert werden muss.
  • Das zweite virtuelle Kamerafeld 330 kann repräsentativ für ein neues Sichtfeld 340 sein, nachdem der Spieler des Videospiels eine Eingabe getätigt hat, die die Perspektive oder den Blickwinkel des Avatars ändert. Um die geänderte 3D-Szene als Einzelbild für den Spieler des Videospiels zu rendern, müssen die neuen Bildgebungsparameter bestimmt und verwendet werden. Das zweite virtuelle Kamerafeld 330 kann mit dem Bildgebungsparametersatz (x2, y2, z2, α2, β2, zm2) verknüpft sein. Die x2-, y2-, z2-Koordinaten können den Raumpunkt definieren, an dem das zweite virtuelle Kamerafeld 330 positioniert ist. Die Parameter α2, β2 können die Orientierung des zweiten virtuellen Kamerafeldes 330 definieren. Die Orientierungsparameter α2, β2 können die Richtung und den Erhebungswinkel beschreiben, in die das zweite virtuelle Kamerafeld 330 orientiert ist. Der Parameter zm2 kann den Vergrößerungsfaktor beschreiben, auf den das zweite virtuelle Kamerafeld 330 eingestellt ist. Zum Beispiel kann der Avatar in diesem Augenblick ein Fernglas benutzen, um den Zoomfaktor zu erhöhen. Alle diese Bildgebungsparameter wirken zusammen, um das neue Sichtfeld 340 für das zweite virtuelle Kamerafeld 330 zu erzeugen. Das neue Sichtfeld 340 kann repräsentativ für eine 3D-Szene innerhalb des Spiels sein, die als das nächste Einzelbild auf dem Display für den Spieler des Videospiels gerendert werden muss.
  • 4 illustriert eine Ausführungsform einer Architektur 400, die zum Ausführen von Ausführungsformen der Offenbarung geeignet sind. Eine Computerplattform 410 kann eine zentrale Verarbeitungseinheit (CPU), eine Grafikverarbeitungseinheit (GPU) oder eine Kombination beider umfassen. Die CPU und/oder GPU besteht aus einer oder mehreren Prozessoreinheiten, die Anweisungen ausführen können. Eine Rendering-Anwendung 420 kann auf der Computerplattform 410 betrieben werden. Die Rendering-Anwendung kann Software umfassen, die speziell auf das Rendern von Einzelbildern ausgerichtet ist, welche repräsentativ für eine 3D-Szene sind. Zum Beispiel kann die Rendering-Anwendung 420 von einer oder mehreren getrennten Software-Anweisungen verwendet werden, wie zum Beispiel ein Videospiel, um die Bild-Rendering-Funktionen für das Videospiel auszuführen. Die Ausführungsformen sind in diesem Kontext nicht beschränkt.
  • Eine Raytracing-Engine 430 kann ebenfalls auf der Computerplattform 410 betrieben werden. Die Raytracing-Engine 430 kann mit der Rendering-Anwendung 420 kommunizieren und zusätzliche Unterstützung und Hilfe beim Rendern von 3D-Einzelbildern liefern. In der Computergrafik ist Raytracing ein Verfahren zum Erzeugen eines Bildes durch Verfolgen des Lichtweges durch Pixel in einer Bildebene und Simulieren der Effekte seines Zusammentreffens mit virtuellen Objekten. Das Verfahren kann einen sehr hohen Grad von optischem Realismus erzeugen, normalerweise höher als der von typischen Scanline-Renderingverfahren, wie zum Beispiel des Rasterns. Außerdem liefert das Rendern durch Rastern keine genaue Tiefenabschätzung der Szene. Wenn reflektierende/lichtbrechende Objekte beteiligt sind, kann die Tiefeninfo aus dem Tiefenpuffer nicht den genauen Tiefenbereich der gerenderten Szene anzeigen. Raytracing kann eine breite Palette von optischen Effekten simulieren, wie zum Beispiel Reflexion und Brechung, Streuung und Dispersionsphänomene.
  • Die Berechnungsplattform 410 kann Eingaben von einer Benutzerschnittstelleneingabevorrichtung 440 empfangen, wie zum Beispiel einem Videospiel-Controller. Die Benutzerschnittstelleneingabevorrichtung 440 kann Eingabedaten in Form von Signalen bereitstellen, die Bewegung innerhalb einer 3D-Szene anzeigen. Die Signale können Bewegung umfassen, die eine Bewegung vorwärts in einer 3D-Szene, Bewegung rückwärts in der 3D-Szene. Bewegung nach links in der 3D-Szene, Bewegung nach rechts in der 3D-Szene, Blicken nach links in der 3D-Szene, Blicken nach rechts in der 3D-Szene, Blicken nach oben in der 3D-Szene, Blicken nach unten in der 3D-Szene, Hinein/Herauszoomen in der 3D-Szene und jede Kombination des oben Genannten. Die Ausführungsformen sind in diesem Kontext nicht beschränkt.
  • Die Berechnungsplattform 410 kann die gerenderten Einzelbilder für eine 3D-Szene ausgeben, um sie als solche zum Beispiel in einer autostereoskopischen 3D-Displayvorrichtung 450 anzuzeigen. Eine autostereoskopische 3D-Displayvorrichtung 450 kann stereoskopische Bilder (die die Fernglaswahrnehmung der 3D-Tiefe hinzufügt) ohne die Verwendung von speziellem Headgear oder Brillen auf Seiten des Betrachters anzeigen. Die Ausführungsformen sind in diesem Kontext nicht beschränkt.
  • 5 illustriert ein Funktionsdiagramm 500 der Rendering-Anwendung 420. Die Rendering-Anwendung 420 kann allgemein aus vier Funktionen bestehen. Diese Funktionen sind willkürlich benannt worden und umfassen eine Positionsfunktion 510, eine Tiefenfunktion 520, eine Bildaktualisierungsfunktion 530 und eine Rendering-Funktion 540. Es ist zu beachten, dass die Aufgaben, die von diesen Funktionen erfüllt werden, logisch organisiert sind. Ein Fachmann auf diesem Gebiet kann eine oder mehrere Aufgaben, die am Rendering-Prozess beteiligt sind, auf eine andere Funktion umstellen, ohne vom Geltungsbereich der Ausführungsformen abzuweichen, die hierin beschrieben werden. Die Ausführungsformen sind in diesem Kontext nicht beschränkt.
  • Die Positionsfunktion 510 kann für das Bestimmen und Aktualisieren von Daten verantwortlich sein, die zu einem virtuellen Kamerafeld innerhalb einer 3D-Szene gehören, welche gerendert werden soll. Das virtuelle Kamerafeld kann die Perspektive und den Blickwinkel in der 3D-Szene anzeigen. Beim Spielen eines Videospiels kann zum Beispiel der Spieler von einem Charakter oder Avatar innerhalb des Spiels selbst repräsentiert werden. Der Avatar kann repräsentativ für das virtuelle Kamerafeld derart sein, dass das, was der Avatar ”sieht”, vom virtuellen Kamerafeld interpretiert wird. Der Avatar kann in der Lage sein, das Ergebnis des Spiels durch Aktionen zu beeinflussen, die am Benutzereingabegerät 440 vorgenommen werden, welche zur Rendering-Anwendung 430 weitergeleitet werden. Die Aktionen können die Bewegung in der Szene anzeigen, welche die Perspektive des virtuellen Kamerafeldes ändert. In der Kameraterminologie können Bewegung links oder rechts als Schwenken, die Bewegung nach oben oder unten als Neigen bezeichnet werden. Die Positionsfunktion 510 erhält also Input von der Benutzerschnittstelleneingabevorrichtung 440 und verwendet dieses Input zum Neuberechnen von 3D-Szenenparametern.
  • Die Tiefenfunktion 520 kann für das Bestimmen einer Gesamttiefendimension der 3D-Szene verantwortlich sein. Ein weiterer Aspekt des Renderns eines 3D-Bildes kann das Bestimmen bestimmter Parameter der 3D-Szene sein. Ein solcher Parameter kann die Grundlinienlänge des virtuellen Kamerafeldes sein. Zum Bestimmen der Grundlinienlänge des virtuellen Kamerafeldes muss eventuell eine Abschätzung des Tiefenbereichs der 3D-Szene bestimmt werden. Beim Rendern durch Rastern kann auf die Tiefeninfo unter Verwendung eines Tiefenbildpuffers zugegriffen werden. Wenn jedoch reflektierende/lichtbrechende Flächen an der 3D-Szene beteiligt sind, muss mehr Tiefe jenseits des ersten auftretenden Objektes in der Sichtlinie berücksichtigt werden. Beim Rendern durch Raytracing kann ein oder können mehrere Strahlen ausgesandt werden, die rekursiv auf reflektierenden Flächen oder durch lichtbrechende Flächen laufen und den maximalen Weg (z. B. die Tiefe) in der 3D-Szene zurückgeben. Wenn ein Sondierstrahl auf eine Fläche trifft, könnte er bis zu drei neuen Arten von Strahlen erzeugen: Reflexion, Brechung und Schatten. Ein reflektierter Strahl fährt in der Spiegelreflexionsrichtung von einer glänzenden Fläche fort. Er schneidet dann Objekte in der Szene, wobei das nächstgelegene Objekt, das er schneidet, dasjenige ist, welches in der Reflexion zu sehen ist. Brechungsstrahlen, die durch transparentes Material laufen, funktionieren ähnlich, mit dem Zusatz, dass ein Brechungsstrahl in ein Material eintreten oder es verlassen kann.
  • Die Bildaktualisierungsfunktion 530 kann für das Bestimmen weiterer Bildgebungsparameter für die 3D-Szene verantwortlich sein. Sobald die Tiefendimension von der Tiefenfunktion 520 bestimmt wurde, kann die Grundlinienlänge des virtuellen Kamerafeldes bestimmt werden. Außerdem kann die Bildaktualisierungsfunktion 530 auch die Eingabe verwenden, die von der Positionsfunktion 510 empfangen wird, um einen Blickpunkt für das virtuelle Kamerafeld zu bestimmen.
  • An diesem Punkt kann die Rendering-Anwendung 420 wesentliche Daten empfangen und verarbeitet haben, die zum Aufbau der 3D-Szene benötigt werden. Die Position und Orientierung des virtuellen Kamerafeldes sind bestimmt worden, und eine Gesamttiefendimension für die 3D-Szene ist bestimmt worden. Der nächste Schritt besteht darin, dass die Rendering-Funktion 540 die 3D-Szene unter Verwendung von Raytracing-Verfahren vom Beobachtungspunkt des virtuellen Kamerafeldes aus und entsprechend den Parametern rendert, die von der Positionsfunktion 510, Tiefenfunktion 520 und der Bildaktualisierungsfunktion 530 bestimmt wurden.
  • Raytracing kann optische Bilder erzeugen, die in 3D-Computergrafikumgebungen aufgebaut wurden. Szenen, die unter Verwendung von Raytracing gerendert wurden, können mathematisch beschrieben werden. Jeder Strahl, der von der Raytracing-Engine 430 ausgesendet wird, entspricht einem Pixel innerhalb der 3D-Szene. Die Auflösung der 3D-Szene wird durch die Zahl von Pixeln in der 3D-Szene bestimmt. Daher entspricht die Zahl von Strahlen, die zum Rendern einer 3D-Szene benötigt werden, der Zahl von Pixeln in der 3D-Szene. Normalerweise kann jeder Strahl auf Schneiden mit einer Teilmenge von Objekten in der Szene getestet werden. Sobald das nächstgelegene Objekt identifiziert worden ist, kann der Algorithmus das einfallende Licht am Schnittpunkt abschätzen, die Materialeigenschaften des Objektes untersuchen und diese Informationen zum Berechnen der endgültigen Farbe eines Pixels kombinieren.
  • Das Rendering-Verfahren führt Teilpixel-Verschachtelung unter Verwendung von Raytracing aus.
  • Gemäß der Teilpixelverschachtelung befindet sich die Mitte einer Pixelgruppierung nicht notwendigerweise an ganzzahligen Koordinaten der Bildebene. Anders als beim Rendern durch Rastern können die Raytracing-Verfahren einen Strahl von nicht ganzzahligen Koordinaten aussenden, und die zurückgegebenen Farbkomponenten können direkt in einen entsprechenden RGB-Pixelort gefüllt werden, ohne dass zusätzliche Interpolationsprozeduren ausgeführt werden müssen.
  • Für eine bessere Datenlokalität kann die Raytracing-Engine 430 Strahlen in einer 8×8-Kachelgruppe aussenden. Wenn ein Bildpuffer für die 3D-Szene, die gerendert wird, vollständig gefüllt ist, kann das aktuelle Einzelbild mit autostereoskopischem 3D-Effekt auf dem Display 450 angezeigt werden.
  • Die Renderingzeit des Raytracing ist theoretisch proportional zur Zahl der Strahlen (Pixel), während die Zeit zum Rastern im Wesentlichen proportional zur Zahl der Ansichten ist. Daher führt das Rendern durch Raytracing sehr wenig Aufwand in das Rendern für autostereoskopische Multiview-3D-Displays ein.
  • Einbezogen werden hier eine oder mehrere Flussdiagramme, die repräsentativ für beispielhafte Methodiken zum Ausführen neuartiger Erscheinungsformen der offenbarten Architektur sind. Obwohl zur einfacheren Erläuterung die eine oder mehreren Methodiken, die hier gezeigt werden, zum Beispiel in Form eines Ablaufdiagramms oder Flussdiagramms, als Serie von Handlungen gezeigt und beschrieben werden, versteht es sich, dass die Methodiken nicht durch die Reihenfolge von Handlungen begrenzt werden, da einige Handlungen dementsprechend in unterschiedlicher Reihenfolge und/oder gleichzeitig mit anderen Handlungen auftreten können, als denen, die hierin gezeigt und beschrieben werden. Zum Beispiel werden Fachleute auf diesem Gebiet verstehen und erkennen, dass eine Methodik alternativ als Serie von aufeinander bezogenen Zuständen oder Ereignissen dargestellt werden könnten, wie zum Beispiel in einem Zustandsdiagramm. Außerdem werden möglicherweise nicht alle Handlungen, die in einer Methodik illustriert werden, für eine neuartige Implementierung benötigt.
  • 6 illustriert eine Ausführungsform eines Logikflusses 600, bei dem eine 3D-Szene für ein autostereoskopisches 3D-Display gemäß Ausführungsformen der Erfindung gerendert werden kann. Zum Rendern eines Einzelbildes kann die Computerplattform 410 Nutzereingaben von einer Benutzerschnittstelleneingabevorrichtung, wie zum Beispiel einem Game-Controller, erhalten. Die Eingabe kann einen Charakter oder einen Avatar innerhalb eines Videospiels anzeigen, der sich vorwärts/rückwärts bewegt, sich nach links/rechts wendet, nach oben/unten blickt und herein/heraus zoomt. Diese Informationen können zum Aktualisieren der Position und Orientierung eines virtuellen Kamerafeldes verwendet werden. Ein Cluster von Sondierungsstrahlen kann von der Raytracing-Engine 430 ausgesandt werden, um den Tiefenbereich der aktuellen 3D-Szene zu erhalten. 3D-Bildgebungsparameter, wie zum Beispiel die Grundlinienlänge und der Blickpunkt des virtuellen Kamerafeldes können unter Verwendung der empfangenen Eingabeinformationen bestimmt werden. Das Rendering-Verfahren kann dann Strahlen in 8×8-Clustern oder -Kacheln aussenden. Die resultierenden RGB-Farbdaten, die aus den Strahlen resultieren, können Teilpixel sein, die an einem Pixelort in einem Bildpuffer verschachtelt werden, der repräsentativ für die 3D-Szene ist, welche gerendert wird. Wenn der Bildpuffer vollständig gefüllt ist, kann das aktuelle Einzelbild mit autostereoskopischem 3D-Effekt angezeigt werden. Der Logikfluss 600 kann repräsentativ für einige oder alle Operationen sein, die von einer oder mehreren Ausführungsformen ausgeführt werden, die hierin beschrieben werden.
  • In der illustrierten Ausführungsform, die in 6 gezeigt wird, kann der Logikfluss 400 eine aktuelle Position eines virtuellen Kamerafeldes bei Block 610 bestimmen. Zum Beispiel kann die CPU 110 die Rendering-Anwendung 420 derart ausführen, dass Eingabedaten von der Benutzerschnittstelleneingabevorrichtung 440 empfangen werden können. Das virtuelle Kamerafeld kann die Perspektive und den Blickwinkel (z. B. Orientierung) in der 3D-Szene anzeigen. Der Blickwinkel kann sich seit dem letzten Einzelbild auf Grund von bestimmten ergriffenen Aktionen geändert haben. Die Aktionen können die Bewegung in der 3D-Szene anzeigen, welche die Perspektive des virtuellen Kamerafeldes ändert. Die Benutzerschnittstelleneingabevorrichtung 440 kann Signale an die Rendering-Anwendung 420 in Übereinstimmung mit den Aktionen des Benutzers weiterleiten. Zum Beispiel kann ein Benutzer innerhalb der 3D-Szene sich vorwärts oder rückwärts bewegen, sich in der 3D-Szene nach links oder rechts bewegen, in der 3D-Szene nach links oder rechts blicken, in der 3D-Szene nach oben oder unten blicken oder in der 3D-Szene hinein- oder herauszoomen. Jede Aktion kann die Perspektive der 3D-Szene ändern. Die Rendering-Anwendung verwendet die Daten, die von der Benutzerschnittstelle 440 empfangen wurden, um bei der Bestimmung einer neuen Position und Orientierung des virtuellen Kamerafeldes innerhalb der 3D-Szene zu helfen. Die Ausführungsformen sind in diesem Kontext nicht beschränkt.
  • In der illustrierten Ausführungsform, die in 6 gezeigt wird, kann der Logikfluss 400 einen Tiefenbereich der 3D-Szene bei Block 620 bestimmen. Zum Bestimmen der Grundlinienlänge des virtuellen Kamerafeldes muss zum Beispiel eine genaue Abschätzung des Tiefenbereichs der 3D-Szene möglicherweise bestimmt werden. Die Raytracing-Engine 430 kann einen oder mehrere Sondierungsstrahlen aussenden, die rekursiv auf reflektierenden Flächen oder durch reflektierende Flächen innerhalb der 3D-Szene verlaufen und den maximalen Weg (z. B. Tiefe) in der 3D-Szene zurückgeben. Die Ausführungsformen sind in diesem Kontext nicht beschränkt.
  • In der illustrierten Ausführungsform, die in 6 gezeigt wird, kann der Logikfluss 400 Bildgebungsparameter für die 3D-Szene bei Block 630 bestimmen. Zum Beispiel können die Grundlinienlänge des virtuellen Kamerafeldes und der Blickpunkt des virtuellen Kamerafeldes bestimmt werden. Sobald die Tiefenfunktion bestimmt wurde, kann die Grundlinienlänge des virtuellen Kamerafeldes bestimmt werden. Außerdem kann die Eingabe, die in Block 610 empfangen wurde, zum Bestimmen eines Blickpunktes und die Orientierung für das virtuelle Kamerafeld verwendet werden. Die Rendering-Anwendung 420 kann in Verbindung mit der Raytracing-Engine 430 die Eingabe verarbeiten, die bei Block 610 empfangen wurde, und den Tiefenbereich, der bei Block 620 bestimmt wird, um die Grundlinienlänge des virtuellen Kamerafeldes und den Blickpunkt für das virtuelle Kamerafeld zu bestimmen. Die Ausführungsformen sind in diesem Kontext nicht beschränkt.
  • In der illustrierten Ausführungsform, die in 6 gezeigt wird, kann der Logikfluss 400 die neue 3D-Szene bei Block 640 rendern. Zum Beispiel kann die Rendering-Anwendung 420 in Verbindung mit der Raytracing-Engine 430 mehrere Strahlen von der aktualisierten Position und Orientierung des virtuellen Kamerafeldes aussenden, das an den Blöcken 610, 620 und 630 bestimmt wurde. Jeder Strahl, der von der Raytracing-Engine 430 ausgesendet wird, entspricht einem Pixel innerhalb der 3D-Szene. Die Auflösung der 3D-Szene wird durch die Zahl von Pixeln in der 3D-Szene bestimmt. Daher entspricht die Zahl von Strahlen, die zum Rendern einer 3D-Szene benötigt werden, der Zahl von Pixeln in der 3D-Szene. Normalerweise kann jeder Strahl auf Schneiden mit einer Teilmenge von Objekten in der Szene getestet werden. Sobald das nächstgelegene Objekt identifiziert worden ist, kann der Algorithmus das einfallende Licht am Schnittpunkt abschätzen, die Materialeigenschaften des Objektes untersuchen und diese Informationen zum Berechnen der endgültigen Farbe eines Pixels kombinieren. Das Rendering-Verfahren führt Teilpixel-Verschachtelung unter Verwendung von Raytracing aus. Gemäß der Teilpixelverschachtelung befindet sich die Mitte einer Pixelgruppierung nicht notwendigerweise an ganzzahligen Koordinaten der Bildebene. Die Raytracing-Verfahren können einen Strahl von nicht ganzzahligen Koordinaten aussenden, und die zurückgegebenen Farbkomponenten können direkt in einen entsprechenden RGB-Pixelort gefüllt werden, ohne dass zusätzliche Interpolationsprozeduren ausgeführt werden müssen. Für eine bessere Datenlokalität kann die Raytracing-Engine 430 Strahlen in einer 8×8-Kachelgruppe aussenden. Die Ausführungsformen sind in diesem Kontext nicht beschränkt.
  • Beim Abschluss des Raytracing-Renderingprozesses für das aktuelle Einzelbild gibt die Rendering-Anwendung 420 die Kontrolle an Block 610 zurück, um den Prozess für das nächste Einzelbild zu wiederholen. Es kann eine Warteperiode 645 bestehen, je nach der Bildfrequenz, die die Rendering-Anwendung 420 gerade verwendet.
  • In der illustrierten Ausführungsform, die in 6 gezeigt wird, kann der Logikfluss 400 das gerenderte Einzelbild, das die neue 3D-Szene anzeigt, zu einem Display bei Block 650 liefern. Zum Beispiel kann die Rendering-Anwendung 420 das Einzelbild, das die aktuelle Ansicht der 3D-Szene darstellt, an ein Display 450 weiterleiten. Wenn ein Bildpuffer für die ganze 3D-Szene, die gerendert wird, gefüllt ist, kann das aktuelle Einzelbild mit autostereoskopischem 3D-Effekt auf dem Display 450 gezeigt werden. Die Ausführungsformen sind in diesem Kontext nicht beschränkt.
  • In einem Experiment wurde eine Raytracing-Engine zum Testen der Renderingleistung für eine Kombination von verschiedenen Auflösungen und einer unterschiedlichen Zahl von Ansichten für ein autostereoskopisches 3D-Display verwendet. Ein Videospiel, speziell seine Anfangsszene, wurde für Testbilder verwendet. Die Hardware-Plattform verwendete vierundzwanzig (24) Threads, um die Raytracing-Engine zu betreiben. In Tabelle 1 unten bezieht sich die Zeile ”Original” auf die Leistung der Raytracing-Engine beim Rendern des 2D-Bildes. Die Zeilen ”Verschachtelung durch Rendern” implementieren die Verfahren, die oben beschrieben werden (z. B. Aussenden von Strahlen und sofortiges Füllen der sich ergebenden Farbe). Um für eine bessere Datenlokalität zu sorgen, wurde eine Kachel von 8×8 Strahlen ausgesandt, und in eine Kachel von 8×8 wurden sofort Pixel gefüllt. Es ist zu sehen, dass für den Ein-Ansichtsfall der Verschachtelung durch Rendern die Leistung sehr dicht beim ”Original” liegt, während im Fall der 8-Ansichts-Verschachtelung nur einen 47%igen Leistungsverlust für HD-Auflösung einführt. Die letzte Zeile ”Verschachtelung nach Rendern” bezieht sich auf das Rendern aller 8-Ansichtsbilder und dann Ausführen der Teilpixel-Verschachtelung. Das bewirkt einen 65%igen Leistungsverlust, weil es einen extra Puffer zum Speichern von Bildern der Zwischenansichten erfordert. TABELLE 1
    1024×868 1920×1080 (HD) Leistungsfähigkeit Verlust bei HD
    Original (2D-Rendering) 58 ms 97 ms
    Verschachtelung durch Rendering 1-Ansicht 61 ms 101 ms –4%
    8-Ansicht 116 ms 133 ms –37%
    Verschachtelung nach dem Rendern, 8-Ansicht 108 ms 160 ms –65%
  • Verschiedene Ausführungsformen können unter Verwendung von Hardware-Elementen, Software-Elementen oder einer Kombination beider implementiert werden. Beispiele für Hardware-Elemente können Prozessoren, Mikroprozessoren, Schaltungen, Schaltungselemente (z. B. Transistoren, Widerstände, Kondensatoren, Spulen usw.), integrierte Schaltungen, anwendungsspezifische integrierte Schaltungen (ASIC), programmierbare Logikvorrichtungen (PLD), digitale Signalprozessoren (DSP), feldprogrammierbares Gate-Array (FPGA), Logik-Gates, Register, Halbleitervorrichtungen, Chips, Mikrochips, Chipsets usw. umfassen. Beispiele für Software können Software-Komponenten, Programmanwendungen, Computerprogramme, Anwendungsprogramme, Systemprogramme, Maschinenprogramme, Betriebssystemsoftware, Middleware, Firmware, Software-Module, Routinen, Subroutinen, Funktionen, Verfahren, Prozeduren, Software-Schnittstellen, Anwendungsprogrammschnittstellen (API), Befehlssätze, Berechnungscode, Computercode, Codesegmente, Computercodesegmente, Wörter, Symbole oder eine Kombination derselben umfassen. Das Bestimmen, ob eine Ausführungsform unter Verwendung von Hardwareelementen und/oder Softwareelementen implementiert wird, kann variieren, je nach der Zahl von Faktoren, wie zum Beispiel die gewünschte Rechengeschwindigkeit, Leistungspegel, Wärmebeständigkeiten, Verarbeitungszyklusbudget, Eingabedatenraten, Ausgabedatenraten, Speicherressourcen, Datenbusgeschwindigkeiten und andere Konstruktions- oder Leistungsnebenbedingungen.
  • 7 illustriert eine Ausführungsform eines Systems 700, das zum Implementieren von Raytracing-Rendering-Ausführungsformen der Offenbarung geeignet sein kann. In Ausführungsformen kann System 700 ein System sein, das die Raytracing-Ausführungsformen implementieren kann, obwohl System 700 nicht auf diesen Kontext beschränkt ist. System 700 kann zum Beispiel in einen Personal Computer (PC), Laptop-Computer, ultramobilen Laptop-Computer, Tablet, Touchpad, tragbaren Computer, Taschencomputer, Palmtop-Computer, Personal Digital Assistant (PDA), Mobiltelefon, Kombination aus Mobiltelefon und PDA, Fernsehgerät, Smart-Vorrichtung (z. B. Smartphone, Smart-Tablet oder Smart-Fernseher), mobiles Internetgerät (MID), Mitteilungsgerät, Datenkommunikationsgerät usw. integriert sein.
  • In Ausführungsformen umfasst das System 700 eine Plattform 702, die an ein externes Display 720 angeschlossen ist. Plattform 702 kann Inhalte von einer Inhaltsvorrichtung empfangen, wie zum Beispiel Inhaltsservicevorrichtung(en) 730 oder Inhaltverteilungsvorrichtung(en) 740 oder andere ähnliche Inhaltsquellen. Ein Navigationscontroller 750, der ein oder mehrere Navigationsmerkmale umfasst, kann zum Zusammenwirken verwendet werden, zum Beispiel mit der Plattform 702 und/oder Display 720. Jede dieser Komponenten wird detaillierter unten beschrieben.
  • In einigen Beispielen kann die Plattform 702 eine beliebige Kombination von einem Chipset 705, Prozessor 710, Speicher 712, 714, grafischem Teilsystem 715, Anwendungen 716 und/oder Radio 718 umfassen. Das Chipset 705 kann für Kommunikation zwischen Prozessor 710, Speicher 712, 714, grafischem Teilsystem 715, Anwendungen 716 und/oder Radio 718 sorgen. Zum Beispiel kann das Chipset 705 einen Speicheradapter (nicht dargestellt) umfassen, der für die Kommunikation mit dem Speicher 714 sorgen kann.
  • Der/die Prozessor(en) 710 können als CISC-(Complex Instruction Set Computer)- oder RISC-(Reduced Instruction Set Computer)-Prozessoren, ×86-Befehlssatzkompatible Prozessoren, Multikern- oder anderer Mikroprozessor oder zentrale Verarbeitungseinheit (CPU) implementiert werden. In einigen Ausführungsformen kann der Prozessor 710 Doppelkernprozessor(en), mobile Doppelkernprozessor(en) usw. umfassen.
  • Der Speicher 712 kann als Vorrichtung mit flüchtigem Speicher implementiert werden, wie zum Beispiel, ohne darauf beschränkt zu sein, ein Direktzugriffsspeicher (RAM), Dynamischer Direktzugriffsspeicher (DRAM) oder Statischer RAM (SRAM).
  • Der Speicher 714 als nichtflüchtige Speichervorrichtung implementiert werden, wie zum Beispiel als Festplattenlaufwerk, Laufwerk für optische Speicherplatten, Bandlaufwerk, eine interne Speichervorrichtung, eine angeschlossene Speichervorrichtung, Flash-Speicher, batteriegestütztes SDRAM (synchrones DRAM) und/oder netzwerkzugängliche Speichervorrichtung, ohne darauf beschränkt zu sein. In einigen Ausführungsformen kann der Speicher 714 Technologie zum Erhöhen der Speicherleistung oder erhöhten Schutz für wertvolle digitale Medien umfassen, wenn zum Beispiel mehrere Festplattenlaufwerke enthalten sind.
  • Das grafische Teilsystem 715 kann das Verarbeiten von Bildern ausführen, wie zum Beispiel Standbild oder Video zur Anzeige. Das Grafik-Teilsystem 715 kann zum Beispiel eine Grafikverarbeitungseinheit (GPU) oder eine optische Verarbeitungseinheit (VPU) sein. Eine analoge oder digitale Schnittstelle kann zum kommunikativen Verbinden des grafischen Teilsystems 715 und der Anzeige 720 verwendet werden. Zum Beispiel kann die Schnittstelle eine aus einer Hochauflösenden Multimedia-Schnittstelle, DisplayPort, drahtloses HDMI und/oder drahtlose HD-kompatible Verfahren sein. Das Grafik-Teilsystem 715 könnte in den Prozessor 710 den Chipsatz 705 integriert sein. Das Grafik-Teilsystem 715 könnte eine eigenständige Karte sein, die kommunikativ mit dem Chipset 705 verbunden ist.
  • Die Grafik- und/oder Videoverarbeitungsverfahren, die hierin beschrieben werden, könnte in verschiedenen Hardware-Architekturen implementiert werden. Zum Beispiel kann die Grafik- und/oder Videofunktionalität in ein Chipset integriert sein. Alternativ kann ein separater Grafik- und/oder Videoprozessor verwendet werden. Als weitere Ausführungsform können die Grafik- und/oder Videofunktionen durch einen Mehrzweckprozessor implementiert werden, der einen Multikernprozessor umfasst. In einer weiteren Ausführungsform können die Funktionen in Unterhaltungselektronik implementiert werden.
  • Radio 718 kann ein oder mehrere Radios umfassen, die Signale unter Verwendung verschiedener geeigneter drahtloser Kommunikationsverfahren übertragen und empfangen können. Solche Verfahren können Kommunikation über ein oder mehrere drahtlose Netze beinhalten. Beispielhafte drahtlose Netze umfassen (ohne darauf beschränkt zu sein) drahtlose lokale Netze (WLANs), drahtlose Personal Area Networks (WPANs), drahtlose regionale Netze (WMANs), mobile Netze und Satellitennetze. Bei der Kommunikation über solche Netze kann das Radio 718 gemäß einer oder mehrerer Standards in jeder Version arbeiten.
  • In Ausführungsformen kann das Display 720 jeden fernsehgeräteartigen Monitor Anzeige umfassen. Das Display 720 kann zum Beispiel einen Computer-Anzeigebildschirm, Touchscreen-Display, Videomonitor, eine fernsehgeräteartige Vorrichtung und/oder ein Fernsehgerät umfassen. Das Display 720 kann digital und/oder analog sein. In Ausführungsformen kann das Display 720 holografisches Display sein. Das Display 720 kann auch eine transparente Fläche sein, die eine optische Projektion aufnehmen kann. Solche Projektionen können verschiedene Formen von Informationen, Bildern und/oder Objekten übermitteln. Zum Beispiel können solche Projektionen ein visuelles Overlay für eine mobile Erweiterte Realitäts-(MAR)-Anwendung sein. Unter der Kontrolle von einer oder mehreren Software-Anwendungen 716 kann die Plattform 702 die Benutzerschnittstelle 722 im Display 720 anzeigen.
  • In Ausführungsformen können Inhaltsservicevorrichtung(en) 730 von jedem nationalen, internationalen und/unabhängigen Service gehostet werden und daher für Plattform 702 zum Beispiel über das Internet zugänglich sein. Inhaltsservicevorrichtung(en) 730 können mit der Plattform 702 und/oder dem Display 720 verbunden sein. Plattform 702 und/oder Inhaltsservicevorrichtung(en) 730 können mit einem Netzwerk 760 verbunden sein, um Medieninformationen dem Netzwerk 760 mitzuteilen bzw. von demselben zu erhalten (z. B. Medien senden und/oder empfangen). Inhaltsbereitstellungsvorrichtung(en) 740 können auch mit der Plattform 702 und/oder dem Display 720 verbunden sein.
  • In Ausführungsformen können Inhaltsservicevorrichtung(en) 730 eine Kabelfernsehbox, Personal Computer, Netz, Telefon, internetaktivierte Vorrichtungen oder Geräte, die digitale Informationen und/oder Inhalte liefern können, und andere ähnliche Vorrichtungen, die Inhalte in einer oder zwei Richtungen zwischen Content Providern und Plattform 702 und/oder Display 720 über Netz 760 oder direkt kommunizieren können. Es ist zu erkennen, dass der Inhalt in einer und/oder zwei Richtungen zu oder von einer der Komponenten in System 700 und einem Content Provider über das Netz 760 kommuniziert werden kann. Beispiele für Inhalte können alle Medieninformationen umfassen, einschließlich zum Beispiel Video, Musik, medizinischer und Spielinformationen usw.
  • Inhaltsservicevorrichtung(en) 730 empfangen Inhalte, wie zum Beispiel Kabelfernsehprogrammierung, einschließlich Medieninformationen, digitalen Informationen und/oder anderen Inhalten. Beispiele für Content Provider können alle Kabel- oder Satelliten- oder Radio- oder Internet-Content Provider umfassen. Die bereitgestellten Beispiele sollen nicht die Ausführungsformen der Erfindung beschränken.
  • In Ausführungsformen kann die Plattform 702 Steuersignale vom Navigationscontroller 750 empfangen, der oder mehrere Navigationsmerkmale aufweist. Die Navigationsmerkmale von Controller 750 können zum Zusammenwirken zum Beispiel mit der Benutzerschnittstelle 722 verwendet werden. In Ausführungsformen kann der Navigationscontroller 750 eine Zeigevorrichtung sein, die eine Computer-Hardwarekomponente (speziell eine Schnittstellenvorrichtung) sein kann, die es einem Benutzer ermöglicht, räumliche (zum Beispiel kontinuierliche mehrdimensionale) Daten in einen Computer einzugeben. Viele Systeme, wie zum Beispiel grafische Benutzerschnittstellen (GUI) und Fernsehgeräte und Monitore ermöglichen dem Benutzer die Steuerung und das Bereitstellen von Daten für den Computer oder das Fernsehgerät unter Verwendung körperlicher Gesten.
  • Bewegungen der Navigationsmerkmale des Controllers 750 können auf einem Display (z. B. Display 720) durch Bewegungen eines Mauszeigers, Cursors, Fokusring oder andere optische Indikatoren wiederholt werden, die auf dem Display angezeigt werden. Zum Beispiel können unter der Kontrolle von Software-Anwendungen 716 die Navigationsmerkmale, die sich auf dem Navigationscontroller 750 befinden, in virtuelle Navigationsmerkmale abgebildet werden, die zum Beispiel auf der Benutzerschnittstelle 722 angezeigt werden. In Ausführungsformen kann der Controller 750 keine separate Komponente sein, sondern in die Plattform 702 und/oder das Display 720 integriert sein. Ausführungsformen sind jedoch nicht auf die Elemente oder in dem Kontext beschränkt, der hierin gezeigt oder beschrieben wird.
  • In Ausführungsformen können Treiber (nicht dargestellt) Technologie umfassen, die es Benutzern ermöglichen, die Plattform 702 wie ein Fernsehgerät sofort mit dem Druck auf einen Knopf nach dem anfänglichen Hochfahren ein- auszuschalten, wenn dies aktiviert ist. Die Programmlogik kann es der Plattform 702 ermöglichen, Inhalte an Medienadapter oder andere Inhaltsservicevorrichtung(en) 730 oder Inhaltsbereitstellungsvorrichtung(en) 740 zu leiten, wenn die Plattform ”abgeschaltet” ist. Außerdem kann das Chipset 705 Hardware- und/oder Software-Unterstützung zum Beispiel für 6.1-Surround-Sound-Audio und/oder High Definition 7.1-Surround-Sound-Audio umfassen. Treiber können einen Grafiktreiber für integrierte Grafik-Plattformen umfassen. In Ausführungsformen kann der Grafiktreiber eine PCI-Express-Grafikkarte umfassen.
  • In verschiedenen Ausführungsformen kann jede der einen oder mehreren Komponenten, die in System 700 gezeigt werden, integriert werden. Zum Beispiel können Plattform 702 und Inhaltsservicevorrichtung(en) 730 integriert sein, oder Plattform 702 und Inhaltsbereitstellungsvorrichtung(en) 740 können integriert sein, oder Plattform 702, Inhaltsservicevorrichtung(en) 730 und Inhaltsbereitstellungsvorrichtung(en) 740 können zum Beispiel integriert sein. In verschiedenen Beispielen können die Plattform 702 und das Display 720 eine integrierte Einheit sein. Display 720 und Inhaltsservicevorrichtung(en) 730 können integriert sein, oder Display 720 und Inhaltsbereitstellungsvorrichtung(en) 740 können zum Beispiel integriert sein. Diese Beispiele sollen diese Erfindung nicht beschränken.
  • In verschiedenen Ausführungsformen kann das System 700 als drahtloses System, als verdrahtetes System oder als Kombination von beidem implementiert sein. Bei Implementierung als drahtloses System kann das System 700 Komponenten und Schnittstellen umfassen, die zur Kommunikation über ein drahtloses gemeinsam benutztes Medium geeignet sind, wie zum Beispiel eine oder mehrere Antennen, Sender, Empfänger, Transceiver, Verstärker, Filter, Steuerlogik usw. Ein Beispiel für drahtlose, gemeinsam benutzte Medien kann Teile eines drahtlosen Spektrums umfassen, wie zum Beispiel das HF-Spektrum usw. Wenn es als verkabeltes System implementiert wird, kann System 700 Komponenten und Schnittstellen umfassen, die für die Kommunikation über verkabelte Kommunikationsmedien geeignet sind, wie zum Beispiel Eingabe/Ausgabe-(I/O)-Adapter, physische Steckverbinder zum Verbinden des I/O-Adapters mit einem entsprechenden verkabelten Kommunikationsmedium, einer Netzschnittstellenkarte (NIC), Festplattencontroller, Videocontroller, Audiocontroller usw. Beispiele für verkabelte Kommunikationsmedien können ein Draht, ein Kabel, Metallkontakte, Leiterplatten (PCB), Backplane, Schaltmatrix, Halbleitermaterial, Doppeldrahtleitung, Koaxialkabel, Glasfaseroptik usw. umfassen.
  • Plattform 702 kann einen oder mehrere logische oder physische Kanäle zum Kommunizieren von Informationen aufbauen. Die Informationen können Medieninformationen und Steuerinformationen umfassen. Medieninformationen können alle Daten betreffen, die Inhalte darstellen, welche für einen Nutzer bestimmt sind. Beispiele für Inhalte können Daten aus einem Gespräch, Videokonferenz, Videostreaming, elektronischer Post(”Email”)-Mitteilung, Sprachnachricht, alphanumerischen Symbolen, Grafik, Bild, Video, Text usw. umfassen. Daten aus einem Gespräch können zum Beispiel Sprachinformationen, Stilleperioden, Hintergrundgeräusche, Comfort Noise, Töne usw. sein. Steuerinformationen können sich auf alle Daten beziehen, die Befehle, Anweisungen oder Steuerworte darstellen, welche für ein automatisches System bestimmt sind. Zum Beispiel können Steuerinformationen dazu verwendet werden, Medieninformationen durch ein System zu leiten oder einen Knoten anweisen, die Medieninformationen in einer vorgegebenen Weise zu verarbeiten. Die Ausführungsformen, die oben erwähnt werden, sind jedoch nicht auf die Elemente oder im Kontakt beschränkt, der in 7 gezeigt oder beschrieben wird.
  • Wie oben beschrieben wird, kann das System 700 in verschiedenen physischen Arten oder Formfaktoren verkörpert sein. 8 illustriert Ausführungsformen für eine Vorrichtung 800 mit kleinem Formfaktor, in welchem das System 700 verkörpert sein kann. In Ausführungsformen kann die Vorrichtung 800 als mobile Berechnungsvorrichtung implementiert werden, die Drahtlosfähigkeiten besitzt. Eine mobile Berechnungsvorrichtung kann sich auf jede Vorrichtung beziehen, die ein Verarbeitungssystem und eine mobile Stromversorgung oder -zufuhr hat, wie zum Beispiel eine oder mehrere Batterien.
  • Wie oben beschrieben, können Beispiele für eine mobile Berechnungsvorrichtung können einen Personal Computer (PC), Laptop-Computer, Ultra-Laptop-Computer, Tablet, Touchpad, tragbaren Computer, Taschencomputer, Palmtop-Computer, Personal Digital Assistant (PDA), Mobiltelefon, Kombination aus Mobiltelefon und PDA, Fernsehgerät, Smart-Vorrichtung (z. B. Smartphone, Smart-Tablet oder Smart-Fernseher), mobiles Internetgerät (MID), Mitteilungsgerät, Datenkommunikationsgerät usw. umfassen.
  • Beispiele für eine mobile Berechnungsvorrichtung können auch Computer umfassen, die dafür ausgelegt sind, von einer Person getragen zu werden, wie zum Beispiel einen Handgelenkcomputer, Ringcomputer, Fingercomputer, Brillencomputer, Gürtelschnallencomputer, Armbandcomputer, Schuhcomputer, Bekleidungscomputer und andere am Körper tragbare Computer. In Ausführungsformen kann eine mobile Berechnungsvorrichtung als Smartphone implementiert werden, das Computeranwendungen ausführen kann, sowie Sprachkommunikation und/oder Datenkommunikation. Obwohl einige Ausführungsformen mit einer mobilen Berechnungsvorrichtung beschrieben werden können, die als Smartphone implementiert wird, ist zu erkennen, dass andere Ausführungsformen auch unter Verwendung anderer drahtloser mobiler Berechnungsvorrichtungen implementiert werden können. Die Ausführungsformen sind in diesem Kontext nicht beschränkt.
  • Wie in 8 gezeigt, kann die Vorrichtung 800 ein Gehäuse 802, ein Display 804, eine Eingabe/Ausgabe-(I/O)-Vorrichtung 806 und eine Antenne 808 umfassen. Vorrichtung 800 kann auch Navigationsmerkmale 812 umfassen. Das Display 804 kann jede geeignete Displayeinheit zum Anzeigen von Informationen umfassen, die sich für eine mobile Berechnungsvorrichtung eignet. Die I/O-Vorrichtung 806 kann jede geeignete I/O-Vorrichtung zum Eingeben von Informationen in eine mobile Berechnungsvorrichtung umfassen. Beispiele für eine I/O-Vorrichtung 806 können eine alphanumerische Tastatur, ein numerisches Tastenfeld, ein Touchpad, Eingabetasten, Knöpfe, Schalter, Kippschalter, Mikrofone, Lautsprecher, Spracherkennungsvorrichtung und -software usw. umfassen. Informationen können auch in die Vorrichtung 800 mittels Mikrofon eingegeben werden. Solche Informationen können durch eine Spracherkennungsvorrichtung digitalisiert werden. Die Ausführungsformen sind in diesem Kontext nicht beschränkt.
  • Verschiedene Ausführungsformen können unter Verwendung von Hardware-Elementen, Software-Elementen oder einer Kombination beider implementiert werden. Beispiele für Hardware-Elemente können Prozessoren, Mikroprozessoren, Schaltungen, Schaltungselemente (z. B. Transistoren, Widerstände, Kondensatoren, Spulen usw.), integrierte Schaltungen, anwendungsspezifische integrierte Schaltungen (ASIC), programmierbare Logikvorrichtungen (PLD), digitale Signalprozessoren (DSP), feldprogrammierbares Gate-Array (FPGA), Logik-Gates, Register, Halbleitervorrichtungen, Chips, Mikrochips, Chipsets usw. umfassen. Beispiele für Software können Software-Komponenten, Programmanwendungen, Computerprogramme, Anwendungsprogramme, Systemprogramme, Maschinenprogramme, Betriebssystemsoftware, Middleware, Firmware, Software-Module, Routinen, Subroutinen, Funktionen, Verfahren, Prozeduren, Software-Schnittstellen, Anwendungsprogrammschnittstellen (API), Befehlssätze, Berechnungscode, Computercode, Codesegmente, Computercodesegmente, Wörter, Symbole oder eine Kombination derselben umfassen. Das Bestimmen, ob eine Ausführungsform unter Verwendung von Hardwareelementen und/oder Softwareelementen implementiert wird, kann variieren, je nach der Zahl von Faktoren, wie zum Beispiel die gewünschte Rechengeschwindigkeit, Leistungspegel, Wärmebeständigkeiten, Verarbeitungszyklusbudget, Eingabedatenraten, Ausgabedatenraten, Speicherressourcen, Datenbusgeschwindigkeiten und andere Konstruktions- oder Leistungsnebenbedingungen.
  • Ausführungsformen können auch zumindest teilweise als Anweisungen implementiert werden, die in oder auf einem nichtflüchtigen computerlesbaren Medium enthalten sind, die von einem oder mehreren Prozessoren gelesen und ausgeführt werden können, um eine Leistungsfähigkeit der Operationen zu ermöglichen, die hierin beschrieben werden.
  • Eine oder mehrere Erscheinungsformen von mindestens einer Ausführungsform können durch repräsentative Anweisungen implementiert werden, die in einem maschinenlesbaren Medium gespeichert sind, welches verschiedenartige Logik innerhalb des Prozessors darstellt, die bei Lesen durch eine Maschine bewirkt, dass die Maschine Logik herstellt, um die Verfahren, die hierin beschrieben werden, auszuführen. Solche Darstellungen, die als ”IP Cores” bekannt sind, können auf einem greifbaren maschinenlesbaren Medium gespeichert werden und an verschiedene Kunden oder Produktionseinrichtungen geliefert werden und in die Produktionsmaschinen geladen werden, die tatsächlich die Logik oder den Prozessor herstellen.
  • Eine oder mehrere Erscheinungsformen von mindestens einer Ausführungsform können durch repräsentative Anweisungen implementiert werden, die in einem maschinenlesbaren Medium gespeichert sind, welches verschiedenartige Logik innerhalb des Prozessors darstellt, die bei Lesen durch eine Maschine bewirkt, dass die Maschine Logik herstellt, um die Verfahren, die hierin beschrieben werden, auszuführen. Solche Darstellungen, die als ”IP Cores” bekannt sind, können auf einem greifbaren maschinenlesbaren Medium gespeichert werden und an verschiedene Kunden oder Produktionseinrichtungen geliefert werden und in die Produktionsmaschinen geladen werden, die tatsächlich die Logik oder den Prozessor herstellen.
  • Einige Beispiele können unter Verwendung des Ausdrucks ”eine Ausführungsform” zusammen mit den Ableitungen beschrieben werden. Dieser Begriff bedeutet, dass ein spezielles Merkmal, Struktur oder Charakteristikum, das in Verbindung mit der Ausführungsform beschrieben wird, in mindestens einer Ausführungsform enthalten ist. Das Auftreten des Ausdrucks ”in einer Ausführungsform” an verschiedenen Stellen in der Patentschrift bezieht sich nicht notwendigerweise auf dieselbe Ausführungsform. Ferner können einige Ausführungsformen unter Verwendung des Ausdrucks ”verbunden” oder ”angeschlossen” zusammen mit ihren Ableitungen beschrieben werden. Diese Begriffe sollen nicht notwendigerweise Synonyme für einander sein. Zum Beispiel können einige Ausführungsformen, die die Begriffe ”angeschlossen” und/oder ”verbunden” verwenden, anzeigen, dass zwei oder mehr Elemente in direktem physischem oder elektrischem Kontakt miteinander sind. Der Begriff ”verbunden” kann jedoch auch bedeuten, dass zwei oder mehr Elemente sich nicht in direktem Kontakt miteinander befinden, aber trotzdem noch miteinander kooperieren oder Wechselwirken.
  • Es wird betont, dass die Zusammenfassung der Offenbarung bereitgestellt wird, um dem Leser zu ermöglichen, schnell die Art der technischen Offenbarung zu erfassen. Sie wird mit dem Verständnis vorgelegt, dass sie nicht zum Auslegen oder Begrenzen des Geltungsbereichs oder der Bedeutung der Ansprüche verwendet wird. Außerdem kann in der vorhergehenden Ausführlichen Beschreibung ersehen werden, dass verschiedene Merkmale in einer einzigen Ausführungsform mit dem Zweck zusammengefasst werden, die Offenbarung rational darzustellen. Dieses Verfahren der Offenbarung darf nicht als Widerspiegelung einer Absicht ausgelegt werden, dass die beanspruchten Ausführungsformen mehr Merkmale erfordern, als ausdrücklich in jedem Anspruch angegeben werden. Wie die folgenden Ansprüche widerspiegeln, liegt vielmehr der erfindungsgemäße Gegenstand in weniger als allen Merkmalen einer einzelnen offenbarten Ausführungsform. Daher werden die nachfolgenden Ansprüche hiermit in die Ausführliche Beschreibung aufgenommen, wobei jeder Anspruch für sich als separate Ausführungsform steht. In den angehängten Ansprüchen werden die Begriffe ”einschließlich” und ”in denen” als Äquivalente für die jeweiligen Begriffe ”umfassend” bzw. ”wobei” verwendet. Außerdem werden die Begriffe ”erster”, ”zweiter”, ”dritter” usw. lediglich als Kennzeichnung verwendet und sollen ihren Objekten keine numerischen Anforderungen auferlegen.
  • Das oben Beschriebene umfasst Beispiele für die offenbarte Architektur. Es ist natürlich nicht möglich, jede vorstellbare Kombination von Komponenten und/oder Methodiken zu beschreiben, jedoch kann ein Fachmann auf diesem Gebiet erkennen, dass viele mögliche Kombinationen und Permutationen möglich sind. Dementsprechend soll die neuartige Architektur alle solche Änderungen, Modifizierungen und Variationen umfassen, die in den Geist und den Geltungsbereich der angehängten Ansprüche fallen.

Claims (24)

  1. Vorrichtung, umfassend: eine Prozessorschaltung; eine Rendering-Anwendung, die mit der Prozessorschaltung arbeitet, um: eine Position und Orientierung eines virtuellen Kamerafeldes innerhalb einer dreidimensionalen (3D)-Szene, welche gerendert werden soll, auf einem autostereoskopischen 3D-Display zu bestimmen; und mindestens einen weiteren 3D-Bildgebungsparameter für die 3D-Szene zu bestimmen, und eine Raytracing-Engine, die mit der Prozessorschaltung arbeitet, um: einen Tiefenbereich für die 3D-Szene zu bestimmen; und ein Bild, das repräsentativ für die 3D-Szene ist, zu rendern.
  2. Vorrichtung nach Anspruch 1, wobei die Raytracing-Engine mit der Prozessorschaltung arbeitet, um ein Einzelbild, das repräsentativ für die 3D-Szene ist, für ein autostereoskopisches Multiview-3D-Display zu rendern.
  3. Vorrichtung nach Anspruch 1, wobei die Raytracing-Engine mit der Prozessorschaltung arbeitet, um: einen Strahl in die 3D-Szene an einem bekannten Ort auszusenden; eine Pixelfarbe, die dem ausgesandten Strahl für den bekannten Ort entspricht, zu berechnen, die Pixelfarbe mit einem Pixel für den bekannten Ort in einem Bildpuffer zu verknüpfen, wobei der Bildpuffer Pixelbilddaten enthält, die repräsentativ für die 3D-Szene sind.
  4. Vorrichtung nach Anspruch 3, wobei die Pixelfarbe rot (R), grün (G) und blau (B) (RGB)-Teilpixel-Komponenten umfasst.
  5. Vorrichtung nach Anspruch 1, wobei die Rendering-Anwendung mit der Prozessorschaltung arbeitet, um: Eingaben von einer Benutzerschnittstelleneingabevorrichtung zu empfangen, wobei die Eingaben zu der Position und Orientierung des virtuellen Kamerafeldes gehören.
  6. Vorrichtung nach Anspruch 5, wobei die Eingabe ein Datensignal umfasst, das repräsentativ für die Bewegung ist, seit ein letztes Einzelbild gerendert wurde, wobei die Bewegung Folgendes umfasst: Vorwärtsbewegung in der 3D-Szene; Rückwärtsbewegung in der 3D-Szene; Bewegung nach links in der 3D-Szene; Bewegung nach rechts in der 3D-Szene; Bewegung nach oben in der 3D-Szene; Bewegung nach unten in der 3D-Szene; Schwenkbewegung für das virtuelle Kamerafeld in der 3D-Szene; Neigungsbewegung für das virtuelle Kamerafeld in der 3D-Szene; und Zoomeinstellungen für das virtuelle Kamerafeld in der 3D-Szene.
  7. Vorrichtung nach Anspruch 6, wobei die Benutzerschnittstelleneingabevorrichtung einen Gamecontroller umfasst.
  8. Vorrichtung nach Anspruch 1, wobei die Raytracing-Engine mit der Prozessorschaltung arbeitet, um: mehrere Sondierungsstrahlen in die 3D-Szene auszusenden; und die Tiefe der 3D-Szene auf der Grundlage von mehreren Sondierungsstrahlen zu bestimmen.
  9. Vorrichtung nach Anspruch 1, wobei die Rendering-Anwendung mit der Prozessorschaltung arbeitet, um: eine Grundlinienlänge des virtuellen Kamerafeldes zu bestimmen; und einen Blickpunkt des virtuellen Kamerafeldes zu bestimmen.
  10. Verfahren, umfassend: Bestimmen einer Position und Orientierung eines virtuellen Kamerafeldes innerhalb einer dreidimensionalen (3D)-Szene, welche gerendert werden soll, auf einem autostereoskopischen 3D-Display; Bestimmen eines Tiefenbereiches für die 3D-Szene; Bestimmen von mindestens einem zusätzlichen 3D-Bildgebungsparameter für die 3D-Szene; und Rendern eines Einzelbildes, das repräsentativ für die 3D-Szene ist, unter Verwendung eines Raytracing-Prozesses.
  11. Verfahren nach Anspruch 10, das das Rendern des Einzelbildes, welches repräsentativ für die 3D-Szene ist, für ein autostereoskopisches Multiview-3D-Display umfasst.
  12. Verfahren nach Anspruch 10, wobei das Rendern der 3D-Szene Folgendes umfasst: Aussenden eines Strahls in die 3D-Szene an einem bekannten Ort; Berechnen einer Pixelfarbe, die dem ausgesandten Strahl für den bekannten Ort entspricht, Verknüpfen der Pixelfarbe mit einem Pixel für den bekannten Ort in einem Bildpuffer, wobei der Bildpuffer Pixelbilddaten enthält, die repräsentativ für die 3D-Szene sind.
  13. Verfahren nach Anspruch 12, wobei die Pixelfarbe rote (R), grüne (G) und blaue (B) (RGB)-Teilpixel-Komponenten umfasst.
  14. Verfahren nach Anspruch 10, wobei das Bestimmen der aktuellen Orientierung des virtuellen Kamerafeldes Folgendes umfasst: Empfangen einer Eingabe, die zu einer Position und Orientierung des virtuellen Kamerafeldes gehört, seit ein letztes Einzelbild gerendert wurde, wobei die Eingabe Daten umfasst, die repräsentativ für Folgendes sind: Vorwärtsbewegung in der 3D-Szene; Rückwärtsbewegung in der 3D-Szene; Bewegung nach links in der 3D-Szene; Bewegung nach rechts in der 3D-Szene; Bewegung nach oben in der 3D-Szene; Bewegung nach unten in der 3D-Szene; Schwenkbewegung für das virtuelle Kamerafeld in der 3D-Szene; Neigungsbewegung für das virtuelle Kamerafeld in der 3D-Szene; Zoomeinstellungen für das virtuelle Kamerafeld in der 3D-Szene.
  15. Verfahren nach Anspruch 10, wobei das Bestimmen des Tiefenbereichs für die 3D-Szene Folgendes umfasst: Aussenden mehrerer Sondierungsstrahlen in die 3D-Szene; und Bestimmen der Tiefe der 3D-Szene auf der Grundlage von mehreren Sondierungsstrahlen.
  16. Verfahren nach Anspruch 10, wobei das Bestimmen des mindestens einen weiteren 3D-Bildgebungsparameters für die 3D-Szene Folgendes umfasst: Bestimmen einer Grundlinienlänge des virtuellen Kamerafeldes; und Bestimmen eines Blickpunktes des virtuellen Kamerafeldes.
  17. Mindestens ein computerlesbares Speichermedium, das Anweisungen enthält, welche bei der Ausführung das System veranlassen eine Position und Orientierung eines virtuellen Kamerafeldes innerhalb einer dreidimensionalen (3D)-Szene, welche gerendert werden soll, auf einem autostereoskopischen 3D-Display zu bestimmen; einen Tiefenbereich für die 3D-Szene zu bestimmen; mindestens einen weiteren 3D-Bildgebungsparameter für die 3D-Szene zu bestimmen; und Rendern eines Einzelbildes, das repräsentativ für die 3D-Szene ist, unter Verwendung eines Raytracing-Prozesses.
  18. Computerlesbares Speichermedium nach Anspruch 17, das Anweisungen enthält, die bei Ausführung das System veranlassen, das Einzelbild, das repräsentativ für die 3D-Szene ist, für ein autostereoskopisches Multiview-3D-Display zu rendern.
  19. Computerlesbares Speichermedium nach Anspruch 17, das Anweisungen enthält, welche bei Ausführung ein System veranlassen: einen Strahl in die 3D-Szene an einem bekannten Ort auszusenden; eine Pixelfarbe, die dem ausgesandten Strahl für den bekannten Ort entspricht, zu berechnen, die Pixelfarbe mit einem Pixel für den bekannten Ort in einem Bildpuffer zu verknüpfen, wobei der Bildpuffer Pixelbilddaten enthält, die repräsentativ für die 3D-Szene sind.
  20. Computerlesbares Speichermedium nach Anspruch 19, wobei die Pixelfarbe rote (R), grüne (G) und blaue (B) (RGB)-Teilpixel-Komponenten umfasst.
  21. Computerlesbares Speichermedium nach Anspruch 17, das Anweisungen enthält, welche bei Ausführung ein System veranlassen, Eingaben zu empfangen, die zu einer Position und Orientierung des virtuellen Kamerafeldes gehören, seit ein letztes Einzelbild gerendert wurde.
  22. Computerlesbares Speichermedium nach Anspruch 21, wobei die Eingabe Daten enthält, die repräsentativ für Folgendes sind: Vorwärtsbewegung in der 3D-Szene; Rückwärtsbewegung in der 3D-Szene; Bewegung nach links in der 3D-Szene; Bewegung nach rechts in der 3D-Szene; Bewegung nach oben in der 3D-Szene; Bewegung nach unten in der 3D-Szene; Schwenkbewegung für das virtuelle Kamerafeld in der 3D-Szene; Neigungsbewegung für das virtuelle Kamerafeld in der 3D-Szene; Zoomeinstellungen für das virtuelle Kamerafeld in der 3D-Szene.
  23. Computerlesbares Speichermedium nach Anspruch 17, das Anweisungen enthält, welche bei Ausführung ein System veranlassen: mehrere Sondierungsstrahlen in die 3D-Szene auszusenden; und die Tiefe der 3D-Szene auf der Grundlage von mehreren Sondierungsstrahlen zu bestimmen.
  24. Computerlesbares Speichermedium nach Anspruch 17, das Anweisungen enthält, welche bei Ausführung ein System veranlassen: eine Grundlinienlänge des virtuellen Kamerafeldes zu bestimmen; und einen Blickpunkt des virtuellen Kamerafeldes zu bestimmen.
DE112011105927.2T 2011-12-07 2011-12-07 Grafik-Renderingverfahren für autostereoskopisches dreidimensionales Display Withdrawn DE112011105927T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/063835 WO2013085513A1 (en) 2011-12-07 2011-12-07 Graphics rendering technique for autostereoscopic three dimensional display

Publications (1)

Publication Number Publication Date
DE112011105927T5 true DE112011105927T5 (de) 2014-09-11

Family

ID=48574725

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112011105927.2T Withdrawn DE112011105927T5 (de) 2011-12-07 2011-12-07 Grafik-Renderingverfahren für autostereoskopisches dreidimensionales Display

Country Status (4)

Country Link
US (1) US20130293547A1 (de)
CN (1) CN103959340A (de)
DE (1) DE112011105927T5 (de)
WO (1) WO2013085513A1 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9269219B2 (en) * 2010-11-15 2016-02-23 Bally Gaming, Inc. System and method for augmented reality with complex augmented reality video image tags
US9052518B2 (en) * 2012-11-30 2015-06-09 Lumenco, Llc Slant lens interlacing with linearly arranged sets of lenses
US9709673B2 (en) * 2014-04-14 2017-07-18 Vricon Systems Ab Method and system for rendering a synthetic aperture radar image
US10290149B2 (en) * 2016-04-08 2019-05-14 Maxx Media Group, LLC System, method and software for interacting with virtual three dimensional images that appear to project forward of or above an electronic display
KR102655810B1 (ko) 2016-11-22 2024-04-09 삼성전자주식회사 3d 영상 렌더링 방법 및 장치
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
US20190073820A1 (en) * 2017-09-01 2019-03-07 Mira Labs, Inc. Ray Tracing System for Optical Headsets
US10817055B2 (en) 2018-05-24 2020-10-27 Innolux Corporation Auto-stereoscopic display device
US11308682B2 (en) * 2019-10-28 2022-04-19 Apical Limited Dynamic stereoscopic rendering method and processor
US11936844B1 (en) 2020-08-11 2024-03-19 Apple Inc. Pre-processing in a display pipeline
CN114119797B (zh) * 2021-11-23 2023-08-15 北京世冠金洋科技发展有限公司 数据处理方法、装置、计算机可读介质、处理器及电子设备

Family Cites Families (113)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5024521A (en) * 1990-11-19 1991-06-18 Larry Zuchowski Autostereoscopic presentation system
AU652051B2 (en) * 1991-06-27 1994-08-11 Eastman Kodak Company Electronically interpolated integral photography system
US5495576A (en) * 1993-01-11 1996-02-27 Ritchey; Kurtis J. Panoramic image based virtual reality/telepresence audio-visual system and method
DE69520329T2 (de) * 1994-11-17 2001-09-27 Canon Kk Kamerasteuervorrichtung und -Verfahren
US6732170B2 (en) * 1996-02-13 2004-05-04 Hitachi, Ltd. Network managing method, medium and system
US6111582A (en) * 1996-12-20 2000-08-29 Jenkins; Barry L. System and method of image generation and encoding using primitive reprojection
US6057847A (en) * 1996-12-20 2000-05-02 Jenkins; Barry System and method of image generation and encoding using primitive reprojection
US7082236B1 (en) * 1997-02-27 2006-07-25 Chad Byron Moore Fiber-based displays containing lenses and methods of making same
US6262738B1 (en) * 1998-12-04 2001-07-17 Sarah F. F. Gibson Method for estimating volumetric distance maps from 2D depth images
JP3619063B2 (ja) * 1999-07-08 2005-02-09 キヤノン株式会社 立体画像処理装置、その方法、立体視パラメータ設定装置、その方法そしてコンピュータプログラム記憶媒体
US6556200B1 (en) * 1999-09-01 2003-04-29 Mitsubishi Electric Research Laboratories, Inc. Temporal and spatial coherent ray tracing for rendering scenes with sampled and geometry data
GB2354389A (en) * 1999-09-15 2001-03-21 Sharp Kk Stereo images with comfortable perceived depth
US6549643B1 (en) * 1999-11-30 2003-04-15 Siemens Corporate Research, Inc. System and method for selecting key-frames of video data
GB2358980B (en) * 2000-02-07 2004-09-01 British Broadcasting Corp Processing of images for 3D display
AU2001239926A1 (en) * 2000-02-25 2001-09-03 The Research Foundation Of State University Of New York Apparatus and method for volume processing and rendering
JP2002095018A (ja) * 2000-09-12 2002-03-29 Canon Inc 画像表示制御装置及び画像表示システム、並びに画像データの表示方法
US6803912B1 (en) * 2001-08-02 2004-10-12 Mark Resources, Llc Real time three-dimensional multiple display imaging system
US20030122925A1 (en) * 2001-08-17 2003-07-03 Byoungyi Yoon Method and system for providing the motion information of stereoscopic cameras
US20030160788A1 (en) * 2002-02-28 2003-08-28 Buehler David B. Pixel pruning and rendering apparatus and method
US7466336B2 (en) * 2002-09-05 2008-12-16 Eastman Kodak Company Camera and method for composing multi-perspective images
WO2004042662A1 (en) * 2002-10-15 2004-05-21 University Of Southern California Augmented virtual environments
ATE433590T1 (de) * 2002-11-27 2009-06-15 Vision Iii Imaging Inc Abtastung der parallaxe durch manipulation der position der gegenstände in einer szene
US7095409B2 (en) * 2003-04-30 2006-08-22 Pixar Shot shading method and apparatus
US20060109202A1 (en) * 2004-11-22 2006-05-25 Alden Ray M Multiple program and 3D display and 3D camera apparatus and process
US20060023197A1 (en) * 2004-07-27 2006-02-02 Joel Andrew H Method and system for automated production of autostereoscopic and animated prints and transparencies from digital and non-digital media
CN101564596A (zh) * 2004-08-23 2009-10-28 盖姆卡斯特公司 用以观看和操纵虚拟环境的设备、方法和***
US7576737B2 (en) * 2004-09-24 2009-08-18 Konica Minolta Medical & Graphic, Inc. Image processing device and program
US20120182403A1 (en) * 2004-09-30 2012-07-19 Eric Belk Lange Stereoscopic imaging
JP4764624B2 (ja) * 2004-12-07 2011-09-07 株式会社 日立ディスプレイズ 立体視表示装置及び立体視用画像生成方法
DE102005040597A1 (de) * 2005-02-25 2007-02-22 Seereal Technologies Gmbh Verfahren und Einrichtung zum Nachführen von Sweet-Spots
US20060203338A1 (en) * 2005-03-12 2006-09-14 Polaris Sensor Technologies, Inc. System and method for dual stacked panel display
KR100707206B1 (ko) * 2005-04-11 2007-04-13 삼성전자주식회사 3차원 객체의 깊이영상 기반 표현 방법 및 이를 이용한모델링 및 렌더링 방법 및 장치
US7746340B2 (en) * 2005-04-13 2010-06-29 Siemens Medical Solutions Usa, Inc. Method and apparatus for generating a 2D image having pixels corresponding to voxels of a 3D image
CA2553473A1 (en) * 2005-07-26 2007-01-26 Wa James Tam Generating a depth map from a tw0-dimensional source image for stereoscopic and multiview imaging
US7439973B2 (en) * 2005-08-11 2008-10-21 International Business Machines Corporation Ray tracing with depth buffered display
US7333107B2 (en) * 2005-08-18 2008-02-19 Voxar Limited Volume rendering apparatus and process
US7697751B2 (en) * 2005-12-29 2010-04-13 Graphics Properties Holdings, Inc. Use of ray tracing for generating images for auto-stereo displays
US8531396B2 (en) * 2006-02-08 2013-09-10 Oblong Industries, Inc. Control system for navigating a principal dimension of a data space
US20100060640A1 (en) * 2008-06-25 2010-03-11 Memco, Inc. Interactive atmosphere - active environmental rendering
WO2008018014A2 (en) * 2006-08-11 2008-02-14 Koninklijke Philips Electronics N.V. Anatomy-related image-context-dependent applications for efficient diagnosis
US8150100B2 (en) * 2006-11-13 2012-04-03 University Of Connecticut, Center For Science And Technology Commercialization System and method for recognition of a three-dimensional target
US8022950B2 (en) * 2007-01-26 2011-09-20 International Business Machines Corporation Stochastic culling of rays with increased depth of recursion
US8085267B2 (en) * 2007-01-30 2011-12-27 International Business Machines Corporation Stochastic addition of rays in a ray tracing image processing system
JP4836814B2 (ja) * 2007-01-30 2011-12-14 株式会社東芝 3dディスプレイ用cg画像生成装置、3dディスプレイ用cg画像生成方法、及びプログラム
US7808708B2 (en) * 2007-02-01 2010-10-05 Reald Inc. Aperture correction for lenticular screens
US8139780B2 (en) * 2007-03-20 2012-03-20 International Business Machines Corporation Using ray tracing for real time audio synthesis
US7773087B2 (en) * 2007-04-19 2010-08-10 International Business Machines Corporation Dynamically configuring and selecting multiple ray tracing intersection methods
US8174524B1 (en) * 2007-05-23 2012-05-08 Pixar Ray hit coalescing in a computer rendering program
US8134556B2 (en) * 2007-05-30 2012-03-13 Elsberg Nathan Method and apparatus for real-time 3D viewer with ray trace on demand
US20090021513A1 (en) * 2007-07-18 2009-01-22 Pixblitz Studios Inc. Method of Customizing 3D Computer-Generated Scenes
JP4739291B2 (ja) * 2007-08-09 2011-08-03 富士フイルム株式会社 撮影画角算出装置
EP3836539B1 (de) * 2007-10-10 2024-03-13 Gerard Dirk Smits Bildprojektor mit verfolgung von reflektiertem licht
US8368692B2 (en) * 2007-10-19 2013-02-05 Siemens Aktiengesellschaft Clipping geometries in ray-casting
US8355019B2 (en) * 2007-11-02 2013-01-15 Dimension Technologies, Inc. 3D optical illusions from off-axis displays
US8126279B2 (en) * 2007-11-19 2012-02-28 The University Of Arizona Lifting-based view compensated compression and remote visualization of volume rendered images
US8400448B1 (en) * 2007-12-05 2013-03-19 The United States Of America, As Represented By The Secretary Of The Navy Real-time lines-of-sight and viewsheds determination system
KR100924122B1 (ko) * 2007-12-17 2009-10-29 한국전자통신연구원 픽셀 단위 처리 요소 기반의 광선 추적 장치 및 방법
WO2009098622A2 (en) * 2008-02-08 2009-08-13 Koninklijke Philips Electronics N.V. Autostereoscopic display device
KR101572791B1 (ko) * 2008-02-11 2015-12-01 코닌클리케 필립스 엔.브이. 자동 입체영상 이미지 출력 디바이스
US8411087B2 (en) * 2008-02-28 2013-04-02 Microsoft Corporation Non-linear beam tracing for computer graphics
US8228327B2 (en) * 2008-02-29 2012-07-24 Disney Enterprises, Inc. Non-linear depth rendering of stereoscopic animated images
US9094675B2 (en) * 2008-02-29 2015-07-28 Disney Enterprises Inc. Processing image data from multiple cameras for motion pictures
US7937245B2 (en) * 2008-04-02 2011-05-03 Dreamworks Animation Llc Rendering of subsurface scattering effects in translucent objects
US8089479B2 (en) * 2008-04-11 2012-01-03 Apple Inc. Directing camera behavior in 3-D imaging system
DE102008001644B4 (de) * 2008-05-08 2010-03-04 Seereal Technologies S.A. Vorrichtung zur Darstellung von dreidimensionalen Bildern
WO2009145155A1 (ja) * 2008-05-29 2009-12-03 三菱電機株式会社 切削加工シミュレーション表示装置、切削加工シミュレーション表示方法、および切削加工シミュレーション表示プログラム
KR101475779B1 (ko) * 2008-06-02 2014-12-23 삼성전자주식회사 3d 영상 처리 방법
JP5271615B2 (ja) * 2008-06-30 2013-08-21 パナソニック株式会社 超音波診断装置
US8106924B2 (en) * 2008-07-31 2012-01-31 Stmicroelectronics S.R.L. Method and system for video rendering, computer program product therefor
EP2319016A4 (de) * 2008-08-14 2012-02-01 Reald Inc Stereoskopische tiefenkartierung
US9251621B2 (en) * 2008-08-14 2016-02-02 Reald Inc. Point reposition depth mapping
US20100053151A1 (en) * 2008-09-02 2010-03-04 Samsung Electronics Co., Ltd In-line mediation for manipulating three-dimensional content on a display device
KR101497503B1 (ko) * 2008-09-25 2015-03-04 삼성전자주식회사 2차원 영상의 3차원 영상 변환을 위한 깊이 맵 생성 방법 및 장치
US9336624B2 (en) * 2008-10-07 2016-05-10 Mitsubishi Electric Research Laboratories, Inc. Method and system for rendering 3D distance fields
KR101511281B1 (ko) * 2008-12-29 2015-04-13 삼성전자주식회사 레이 트레이싱 고속화 방법 및 장치
US8350846B2 (en) * 2009-01-28 2013-01-08 International Business Machines Corporation Updating ray traced acceleration data structures between frames based on changing perspective
KR101324440B1 (ko) * 2009-02-11 2013-10-31 엘지디스플레이 주식회사 입체 영상의 뷰 제어방법과 이를 이용한 입체 영상표시장치
US9292965B2 (en) * 2009-03-19 2016-03-22 International Business Machines Corporation Accelerated data structure positioning based upon view orientation
US8248412B2 (en) * 2009-03-19 2012-08-21 International Business Machines Corporation Physical rendering with textured bounding volume primitive mapping
US8248401B2 (en) * 2009-03-19 2012-08-21 International Business Machines Corporation Accelerated data structure optimization based upon view orientation
US8314832B2 (en) * 2009-04-01 2012-11-20 Microsoft Corporation Systems and methods for generating stereoscopic images
US8665260B2 (en) * 2009-04-16 2014-03-04 Autodesk, Inc. Multiscale three-dimensional navigation
US8368694B2 (en) * 2009-06-04 2013-02-05 Autodesk, Inc Efficient rendering of multiple frame buffers with independent ray-tracing parameters
US9648346B2 (en) * 2009-06-25 2017-05-09 Microsoft Technology Licensing, Llc Multi-view video compression and streaming based on viewpoints of remote viewer
CN102714739A (zh) * 2009-12-04 2012-10-03 诺基亚公司 处理器、设备以及相关联的方法
US8493383B1 (en) * 2009-12-10 2013-07-23 Pixar Adaptive depth of field sampling
US8564617B2 (en) * 2010-01-12 2013-10-22 International Business Machines Corporation Accelerated volume rendering
DE102010009291A1 (de) * 2010-02-25 2011-08-25 Expert Treuhand GmbH, 20459 Verfahren und Vorrichtung für ein anatomie-adaptiertes pseudoholographisches Display
WO2011109898A1 (en) * 2010-03-09 2011-09-15 Berfort Management Inc. Generating 3d multi-view interweaved image(s) from stereoscopic pairs
US9177416B2 (en) * 2010-03-22 2015-11-03 Microsoft Technology Licensing, Llc Space skipping for multi-dimensional image rendering
JPWO2011118208A1 (ja) * 2010-03-24 2013-07-04 パナソニック株式会社 切削シミュレーション装置
WO2011127273A1 (en) * 2010-04-07 2011-10-13 Vision Iii Imaging, Inc. Parallax scanning methods for stereoscopic three-dimensional imaging
KR101682205B1 (ko) * 2010-05-03 2016-12-05 삼성전자주식회사 입체영상의 시청피로를 저감하는 장치 및 방법
US8619078B2 (en) * 2010-05-21 2013-12-31 International Business Machines Corporation Parallelized ray tracing
KR101291071B1 (ko) * 2010-06-08 2013-08-01 주식회사 에스칩스 입체 영상 오류 개선 방법 및 장치
US8692825B2 (en) * 2010-06-24 2014-04-08 International Business Machines Corporation Parallelized streaming accelerated data structure generation
US8627329B2 (en) * 2010-06-24 2014-01-07 International Business Machines Corporation Multithreaded physics engine with predictive load balancing
CN101909219B (zh) * 2010-07-09 2011-10-05 深圳超多维光电子有限公司 一种立体显示方法及跟踪式立体显示器
US8442306B2 (en) * 2010-08-13 2013-05-14 Mitsubishi Electric Research Laboratories, Inc. Volume-based coverage analysis for sensor placement in 3D environments
WO2012021967A1 (en) * 2010-08-16 2012-02-23 Tandemlaunch Technologies Inc. System and method for analyzing three-dimensional (3d) media content
JP5814532B2 (ja) * 2010-09-24 2015-11-17 任天堂株式会社 表示制御プログラム、表示制御装置、表示制御システム及び表示制御方法
US8659597B2 (en) * 2010-09-27 2014-02-25 Intel Corporation Multi-view ray tracing using edge detection and shader reuse
WO2012056686A1 (ja) * 2010-10-27 2012-05-03 パナソニック株式会社 3次元画像補間装置、3次元撮像装置および3次元画像補間方法
TWI462568B (zh) * 2010-10-29 2014-11-21 Au Optronics Corp 立體顯示器之影像顯示方法
WO2012073336A1 (ja) * 2010-11-30 2012-06-07 株式会社 東芝 立体映像表示装置及び方法
US9041774B2 (en) * 2011-01-07 2015-05-26 Sony Computer Entertainment America, LLC Dynamic adjustment of predetermined three-dimensional video settings based on scene content
US8514225B2 (en) * 2011-01-07 2013-08-20 Sony Computer Entertainment America Llc Scaling pixel depth values of user-controlled virtual object in three-dimensional scene
US8830230B2 (en) * 2011-01-31 2014-09-09 Honeywell International Inc. Sensor placement and analysis using a virtual environment
US8854424B2 (en) * 2011-06-08 2014-10-07 City University Of Hong Kong Generating an aerial display of three-dimensional images from a single two-dimensional image or a sequence of two-dimensional images
JP5784379B2 (ja) * 2011-06-15 2015-09-24 株式会社東芝 画像処理システム、装置及び方法
US8866813B2 (en) * 2011-06-30 2014-10-21 Dreamworks Animation Llc Point-based guided importance sampling
US20130127861A1 (en) * 2011-11-18 2013-05-23 Jacques Gollier Display apparatuses and methods for simulating an autostereoscopic display device
KR101334188B1 (ko) * 2011-11-25 2013-11-28 삼성전자주식회사 볼륨 데이터의 렌더링 장치 및 방법

Also Published As

Publication number Publication date
CN103959340A (zh) 2014-07-30
US20130293547A1 (en) 2013-11-07
WO2013085513A1 (en) 2013-06-13

Similar Documents

Publication Publication Date Title
DE112011105927T5 (de) Grafik-Renderingverfahren für autostereoskopisches dreidimensionales Display
DE202017105484U1 (de) Dreidimensionales Telepräsenzsystem
US9143770B2 (en) Application programming interface supporting mixed two and three dimensional displays
DE60120474T2 (de) Rasterung von dreidimensionalen bildern
DE102013020808A1 (de) Effiziente Autostereo-Unterstützung unter Verwendung von Anzeigesteuerungsfenster
DE112013004778T5 (de) Kodierung von Bildern unter Verwendung eines 3D-Netzes von Polygonen und entsprechenden Strukturen
DE102018123048A1 (de) Dreidimensionale brillenfreie Lichtfeldanzeigevorrichtung mit Augenposition
DE112016004114T5 (de) Stereorenderingsystem
DE102016109905A1 (de) Stückweise lineare unregelmäßige Rasterisierung
KR102174258B1 (ko) 무안경 3d 디스플레이 장치 및 그 제어 방법
DE112016005809T5 (de) Lichtfeld-Rendering eines Bildes unter Verwendung variabler Rechenkomplexität
DE112013004618T5 (de) Tiefenpufferung
DE102015002364A1 (de) Mipmap-komprimierung
EP1964413A1 (de) Verfahren und anordnung zum monoskopischen darstellen wenigstens eines bereiches eines bildes auf einer autostereoskopischen anzeigevorrichtung sowie informationswiedergabegerät mit einer solchen anordnung
US8698830B2 (en) Image processing apparatus and method for texture-mapping an image onto a computer graphics image
US10805601B2 (en) Multiview image display device and control method therefor
DE202017104897U1 (de) Quadrangulierte geschichtete Tiefenbilder
DE112013003714T5 (de) Stochastische Tiefenpufferkompression mittels verallgemeinerter Ebenencodierung
US20230008318A1 (en) Multi-viewpoint 3d display screen and multi-viewpoint 3d display device
DE102018130770A1 (de) Stereoskopische Wiedergabe von virtuellen 3D-Objekten
CN105446596A (zh) 基于深度的交互式3d界面显示***与方法
DE102010028668A1 (de) Verfahren zur räumlichen Darstellung
DE112012006970T5 (de) Verteilte Grafikverarbeitung
WO2013164208A1 (de) Verfahren zur ausführung beim betreiben eines mikroskops und mikroskop
DE102014206914A1 (de) Ein stereoskopisches Aufbereitungssystem

Legal Events

Date Code Title Description
R012 Request for examination validly filed

Effective date: 20140610

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee