Title:
Mehrstufiges Kameraträgersystem für die stereoskope Bildaufnahme
Kind Code:
U1


Abstract:

Kameraträgersystem, umfassend:
eine erste Stufe von Bildsensoren, die eine erste Vielzahl von Bildsensoren beinhaltet, wobei die erste Vielzahl von Bildsensoren in einer Kreisform angeordnet und so ausgerichtet ist, dass ein Sichtfeld jedes der ersten Vielzahl von Bildsensoren eine Achse rechtwinklig zu einer Tangente der Kreisform aufweist; und
eine zweite Stufe von Bildsensoren, die eine zweite Vielzahl von Bildsensoren beinhaltet, wobei die zweite Vielzahl von Bildsensoren so ausgerichtet ist, dass ein Sichtfeld jedes der zweiten Vielzahl von Bildsensoren eine Achse aufweist, die nicht parallel zum Sichtfeld jedes der ersten Vielzahl von Bildsensoren verläuft,
wobei die Kreisform einen solchen Radius aufweist, dass sich das Sichtfeld jedes der mindestens drei benachbarten Sensoren aus der ersten Vielzahl von Bildsensoren überlappt.




Application Number:
DE202017104934U
Publication Date:
11/20/2017
Filing Date:
08/16/2017
Assignee:
GOOGLE INC. (Calif., Mountain View, US)
International Classes:



Other References:
Mehr Details sind offenbart in Anderson et al., „Jump: Virtual Reality Video“, ACM Transactions on Graphics (TOG), Proceedings of ACM SIGGRAPH Asia 2016, Band. 35, Ausgabe 6, Art. Nr. 198, November 2016
Attorney, Agent or Firm:
Maikowski & Ninnemann Patentanwälte Partnerschaft mbB, 10707, Berlin, DE
Claims:
1. Kameraträgersystem, umfassend:
eine erste Stufe von Bildsensoren, die eine erste Vielzahl von Bildsensoren beinhaltet, wobei die erste Vielzahl von Bildsensoren in einer Kreisform angeordnet und so ausgerichtet ist, dass ein Sichtfeld jedes der ersten Vielzahl von Bildsensoren eine Achse rechtwinklig zu einer Tangente der Kreisform aufweist; und
eine zweite Stufe von Bildsensoren, die eine zweite Vielzahl von Bildsensoren beinhaltet, wobei die zweite Vielzahl von Bildsensoren so ausgerichtet ist, dass ein Sichtfeld jedes der zweiten Vielzahl von Bildsensoren eine Achse aufweist, die nicht parallel zum Sichtfeld jedes der ersten Vielzahl von Bildsensoren verläuft,
wobei die Kreisform einen solchen Radius aufweist, dass sich das Sichtfeld jedes der mindestens drei benachbarten Sensoren aus der ersten Vielzahl von Bildsensoren überlappt.

2. Kameraträgersystem nach Anspruch 1, wobei das Feld des Sichtfelds jedes der ersten Vielzahl von Bildsensoren innerhalb einer ersten Ebene angeordnet ist, wobei das Sichtfeld jedes der zweiten Vielzahl von Bildsensoren innerhalb einer zweiten Ebene angeordnet ist.

3. Kameraträgersystem nach Anspruch 1, wobei die erste Vielzahl von Bildsensoren, innerhalb einer ersten Ebene angeordnet ist, und die zweite Vielzahl von Bildsensoren innerhalb einer zweiten Ebene, parallel zur ersten Ebene angeordnet ist.

4. Kameraträgersystem nach Anspruch 1, wobei die erste Vielzahl von Bildsensoren in der ersten Ebene enthalten ist, sodass das erste Sichtfeld eines ersten der ersten Vielzahl von Bildsensoren ein zweites Sichtfeld eines zweiten der ersten Vielzahl von Bildsensoren und ein drittes Sichtfeld eines dritten der ersten Vielzahl von Bildsensoren überschneidet.

5. Kameraträgersystem nach Anspruch 1, wobei die drei benachbarten Bildsensoren eine Ebene überschneiden.

6. Kameraträgersystem nach Anspruch 1, ferner umfassend:
ein Schaftgehäuse,
eine erste Stufe von Bildsensoren, die zwischen der zweiten Stufe von Bildsensoren und dem Schaftgehäuse angeordnet ist.

7. Kameraträgersystem nach Anspruch 1, wobei die zweite Stufe von Bildsensoren sechs Bildsensoren beinhaltet und die erste Stufe von Bildsensoren sechzehn Bildsensoren beinhaltet.

8. Kameraträgersystem nach Anspruch 1, wobei das Sichtfeld jedes der ersten Vielzahl von Bildsensoren orthogonal zum Sichtfeld jedes der zweiten Vielzahl von Bildsensoren angeordnet ist.

9. Kameraträgersystem nach Anspruch 1, wobei ein Seitenverhältnis des Sichtfelds jedes der ersten Vielzahl von Bildsensoren in einem Hochformat angeordnet ist, wobei ein Seitenverhältnis des Sichtfelds jedes der zweiten Vielzahl von Bildsensoren in einem Querformat angeordnet ist.

10. Kameraträgersystem, umfassend:
eine erste Stufe von Bildsensoren, die eine erste Vielzahl von Bildsensoren beinhaltet, die innerhalb einer erste Ebene angeordnet sind, wobei die erste Vielzahl von Bildsensoren so konfiguriert ist, dass sich ein Sichtfeld von mindestens jedem der drei benachbarten Bildsensoren aus der Vielzahl von Bildsensoren überlappt; und
eine zweite Stufe von Bildsensoren, die eine zweite Vielzahl von Bildsensoren beinhaltet, die in einer zweiten Ebene angeordnet sind, wobei die zweite Vielzahl von Bildsensoren jeweils eine Seitenverhältnisausrichtung aufweisen, die sich von der Seitenverhältnisausrichtung jedes der ersten Vielzahl von Bildsensoren unterscheidet,
wobei die erste Vielzahl von Bildsensoren eine Kreisform mit einem derartigen Radius definiert, dass sich das Sichtfeld jedes der mindestens drei benachbarten Sensoren aus der ersten Vielzahl von Bildsensoren überlappt.

11. Kameraträgersystem nach Anspruch 10, wobei die erste Ebene parallel zur zweiten Ebene verläuft.

12. Kameraträgersystem nach Anspruch 10, ferner umfassend:
ein Schaftgehäuse,
eine erste Stufe von Bildsensoren, die zwischen der zweiten Stufe von Bildsensoren und dem Schaftgehäuse angeordnet ist.

13. Kameraträgersystem nach Anspruch 10, wobei ein Verhältnis der Bildsensoren der ersten Stufe von Bildsensoren zu den Bildsensoren der zweiten Stufe von Bildsensoren zwischen 2:1 und 3:1 beträgt.

14. Kameraträgersystem nach Anspruch 10, wobei Bilder, die mithilfe der ersten Ebene von Bildsensoren und der zweiten Ebene von Bildsensoren aufgenommen werden, mithilfe optischer Flussinterpolation zusammengesetzt werden.

15. Kameraträgersystem, umfassend:
ein Kameragehäuse, beinhaltend:
einen unteren kreisförmigen Umfang, und
eine obere mehrflächige Kappe, wobei der untere kreisförmige Umfang unter der mehrflächigen Kappe angeordnet ist;
eine erste Vielzahl von Bildsensoren, die kreisförmig angeordnet und entlang des unteren Umfangs des Kameragehäuses angeordnet ist, sodass die jeweilige erste Vielzahl von Bildsensoren eine nach außen gerichtete Projektionsnormale zum unteren kreisförmigen Umfang aufweist; und
eine zweite Vielzahl von Bildsensoren, die jeweils an einer Stirnfläche der oberen mehrflächigen Kappe angeordnet ist, sodass die jeweilige zweite Vielzahl von Bildsensoren eine nach außen gerichtete Projektion aufweist, die zu einer Normalen des unteren kreisförmigen Umfangs nicht parallel verläuft,
wobei die Kreisform der ersten Vielzahl von Bildsensoren einen derartigen Radius aufweist, dass sich das Sichtfeld jedes der mindestens drei benachbarten Sensoren aus der Vielzahl von Bildsensoren überlappt.

16. Kameraträgersystem nach Anspruch 15, wobei die zweite Vielzahl von Bildsensoren einen derartigen Radius definiert, dass sich ein Sichtfeld von mindestens drei benachbarten Sensoren aus der zweiten Vielzahl von Bildsensoren überschneidet.

17. Kameraträgersystem nach Anspruch 15, wobei ein Verhältnis der Bildsensoren der ersten Vielzahl von Bildsensoren zu Bildsensoren der zweiten Vielzahl von Bildsensoren zwischen 2:1 und 3:1 beträgt.

Description:
TECHNISCHES GEBIET

Diese Beschreibung bezieht sich im Allgemeinen auf ein Kameraträgersystem. Insbesondere bezieht sich die Beschreibung auf das Erzeugen stereoskopischer Panoramen aus aufgenommenen Bildern für die Anzeige in einer Virtuellen Realitäts-(Virtual Reality, VR)- und/oder erweiterten Realitäts-(Augmented Reality, AR)-Umgebung.

ALLGEMEINER STAND DER TECHNIK

Panoramafotografietechniken können bei Bildern und Videos verwendet werden, um eine breite Ansicht einer Szene bereitzustellen. Herkömmlicherweise können Panoramafotografietechniken und Bildgebungstechniken verwendet werden, um Panoramabilder aus einer Reihe nebeneinander liegender Fotos zu erhalten, die mit einer herkömmlichen Kamera aufgenommen wurden. Die Fotos können in Ausrichtung zusammen montiert werden, um ein Panoramabild zu erhalten.

KURZDARSTELLUNG DER OFFENBARUNG

Ein System von einem oder mehreren Computern, Kameraträgersystemen und Bildaufnahmevorrichtungen, die an den Kameraträgersystemen angebracht sind, kann so konfiguriert werden, dass es bestimmte Operationen oder Aktionen ausführt, indem es Software, Firmware, Hardware oder eine Kombination derselben auf dem System installiert hat, die im Betriebszustand das System dazu veranlasst, die Aktionen durchzuführen.

In einem allgemeinen Aspekt beinhaltet ein Kameraträgersystem eine erste Stufe mit einer ersten Vielzahl von Bildsensoren. Die erste Vielzahl von Bildsensoren kann kreisförmig angeordnet und so ausgerichtet sein, dass ihre Sichtfeldachsen rechtwinklig zu einer Tangente der Kreisform verlaufen, in der sie angeordnet sind. Das Kameraträgersystem beinhaltet außerdem eine zweite Stufe, die eine zweite Vielzahl von Bildsensoren umfasst. Die zweite Vielzahl von Bildsensoren kann so ausgerichtet sein, dass ihre Sichtfeldachsen nicht parallel zu den Sichtfeldachsen der ersten Vielzahl von Bildsensoren verlaufen. Die zweite Stufe kann über der ersten Stufe im Kameraträgersystem positioniert sein.

Implementierungen können eine oder mehrere der folgenden Merkmale allein oder in Kombination mit einer oder mehreren anderen Merkmalen beinhalten. In einer beliebigen oder allen der obigen Implementierungen ist zum Beispiel ein Radius eines kreisförmigen Kameraträgersystemgehäuses, in dem die erste Vielzahl von Bildsensoren definiert ist, so definiert, dass das erste Sichtfeld eines ersten der ersten Vielzahl von Bildsensoren ein zweites Sichtfeld eines zweiten der ersten Vielzahl von Bildsensoren und ein drittes Sichtfeld eines dritten der ersten Vielzahl von Bildsensoren überschneidet. In einer beliebigen oder allen der obigen Implementierungen sind der erste der ersten Vielzahl von Bildsensoren, der zweite der ersten Vielzahl von Bildsensoren und der dritte der ersten Vielzahl von Bildsensoren innerhalb einer Ebene angeordnet.

In einem anderen Aspekt beinhaltet ein Kameraträgersystem ein Kameragehäuse. Das Kameragehäuse beinhaltet einen unteren kreisförmigen Umfang und eine obere mehrflächige Kappe. Der untere kreisförmige Umfang befindet sich unter der mehrflächigen Kappe. Das Kameraträgersystem kann eine erste Vielzahl von Kameras beinhalten, die kreisförmig und entlang des unteren Umfangs des Kameragehäuses angeordnet sind, sodass jede der Vielzahl von Kameras eine nach außen gerichtete Projektionsnormale zum unteren kreisförmigen Umfang aufweist. Das Kameraträgersystem kann außerdem eine zweite Vielzahl von Kameras beinhalten. Die zweite Vielzahl von Kameras kann jeweils an jeweiligen Stirnflächen der oberen mehrflächigen Kappe angeordnet sein, sodass jede der zweiten Vielzahl von Kameras eine nach außen gerichtete Projektion aufweist, die nicht parallel zur Normalen des unteren kreisförmigen Umfangs verläuft.

In einem anderen Aspekt beinhaltet ein Verfahren das Definieren eines ersten Satzes von Bildern für eine erste Stufe eines mehrstufigen Kameraträgersystems, wobei der erste Satz von Bildern von einer ersten Vielzahl von Kameras erhalten wird, die kreisförmig angeordnet sind, sodass jede der ersten Vielzahl von Kameras eine von der Kreisform nach außen gerichtete Projektionsnormale aufweist. Das Verfahren kann außerdem das Berechnen eines ersten optischen Flusses im ersten Satz von Bildern und das Zusammensetzen des ersten Satzes von Bildern beinhalten, um auf Basis des ersten optischen Flusses ein erstes zusammengesetztes Bild zu erstellen. Das Verfahren beinhaltet außerdem das Definieren eines zweiten Satzes von Bildern für eine zweite Stufe eines mehrstufigen Kameraträgersystems. Der zweite Satz von Bildern kann von einer zweiten Vielzahl von Kameras erhalten werden, die so angeordnet sind, dass jede der Vielzahl von Kameras eine nach außen gerichtete Projektion aufweist, die nicht parallel zur Normalen der Kreisform der ersten Vielzahl von Kameras verläuft. Das Verfahren kann außerdem das Berechnen eines zweiten optischen Flusses im zweiten Satz von Bildern und das Zusammensetzen des zweiten Satzes von Bildern beinhalten, um auf Basis des zweiten optischen Flusses ein zweites zusammengesetztes Bild zu erstellen. Das Verfahren erzeugt ein Omnistereo-Panoramabild durch Zusammensetzen des ersten zusammengesetzten Bilds und des zweiten zusammengesetzten Bilds.

Andere Ausführungsformen dieses Aspekts beinhalten entsprechende Computersysteme, Vorrichtungen und Computerprogramme, die auf einem oder mehreren Computerspeichergeräten aufgezeichnet sind, die jeweils so konfiguriert sind, dass sie Aktionen der Verfahren durchführen.

Die Details einer oder mehrerer Implementierungen sind in den nachstehenden zugehörigen Zeichnungen und der Beschreibung dargelegt. Weitere Merkmale ergeben sich aus der Beschreibung und den Zeichnungen, sowie aus den Ansprüchen.

KURZE BESCHREIBUNG DER ZEICHNUNGEN

1 zeigt ein Blockdiagramm eines exemplarischen Systems für das Aufnehmen und Wiedergeben stereoskopischer Panoramen in einer 3D-Virtual-Reality(VR)-Umgebung.

2 zeigt ein Diagramm, das ein exemplarisches Kameraträgersystem zeigt, das so konfiguriert ist, dass es Bilder einer Szene für die Verwendung beim Erzeugen stereoskopischer Panoramen aufnimmt.

3 zeigt ein Diagramm, das ein anderes exemplarisches Kameraträgersystem zeigt, das so konfiguriert ist, dass es Bilder einer Szene für die Verwendung beim Erzeugen stereoskopischer Panoramen aufnimmt.

4A bis 4D zeigen Diagramme, die ein Beispiel eines mehrstufigen Kameraträgersystems und zugehöriger Komponenten darstellen.

5 zeigt ein Diagramm, das Sichtfeldachsen für Kameras in einem unteren kreisförmigen Umfang des Kameragehäuses eines mehrstufigen Kameraträgersystems darstellt.

6 zeigt ein Diagramm, das Sichtfeldachsen für Kameras in einer oberen mehrflächigen Kappe eines Kameragehäuses eines mehrstufigen Kameraträgersystems darstellt.

7 zeigt ein Diagramm, das ein exemplarisches VR-Gerät veranschaulicht.

8 zeigt eine exemplarische Grafik, die eine Reihe von Kameras und Nachbarn in Abhängigkeit von einem Kamerasichtfeld veranschaulicht.

9 zeigt eine exemplarische Grafik, die ein interpoliertes Sichtfeld in Abhängigkeit von einem Kamerasichtfeld veranschaulicht.

10 zeigt eine exemplarische Grafik, die die Auswahl einer Konfiguration für ein Kameraträgersystem veranschaulicht.

11 zeigt eine Grafik, die eine exemplarische Beziehung veranschaulicht, die verwendet werden kann, um eine Mindestanzahl von Kameras gemäß einem vorher festgelegten Trägersystemdurchmesser zu bestimmen.

12A–B zeigen Strichzeichnungsbeispiele der Verzerrung, die während der Bildaufnahme auftreten kann.

13A–B zeigen Beispiele von Strahlen, die während der Sammlung eines Panoramabildes aufgenommen wurden.

14A–B veranschaulichen die in 13A–B beschriebene Verwendung der Approximierung planarer perspektivischer Projektion.

15A–C veranschaulichen Beispiele approximierter planarer perspektivischer Projektion, die auf Ebenen eines Bildes angewandt wurde.

16A–B veranschaulichen Beispiele der Einführung einer vertikalen Parallaxe.

17A–B zeigen exemplarische Punkte eines Koordinatensystems, das zum Veranschaulichen von Punkten in einem 3D-Panorama verwendet werden kann.

18 stellt eine projizierte Ansicht des Punkts dar, der in 17A17B gezeigt wird.

19 veranschaulicht Strahlen, die in einem omnidirektionalen Stereobild mithilfe der in dieser Offenbarung beschriebenen Panoramabildgebungstechniken aufgenommen werden.

20 zeigt eine Grafik, die eine maximale vertikale Parallaxe veranschaulicht, die durch Punkte im 3D-Raum verursacht wird.

21 zeigt ein Ablaufdiagramm, das eine Ausführungsform eines Prozesses zum Erstellen eines Stereo-Panoramabilds abbildet.

22 zeigt ein Ablaufdiagramm, das eine Ausführungsform eines Prozesses zum Aufnehmen eines Stereo-Panoramabilds abbildet.

23 zeigt ein Ablaufdiagramm, das eine Ausführungsform eines Prozesses zum Wiedergeben von Panoramabildern in einem am Kopf befestigten Anzeigegerät abbildet.

24 zeigt ein Ablaufdiagramm, das eine Ausführungsform eines Prozesses zum Bestimmen von Bildgrenzen abbildet.

25 zeigt ein Ablaufdiagramm, das eine Ausführungsform eines Prozesses zum Erzeugen von Videoinhalten abbildet.

26 zeigt ein Beispiel eines Computergeräts und eines mobilen Computergeräts, die zur Implementierung der hier beschriebenen Techniken verwendet werden können.

Gleiche Bezugszeichen in den verschiedenen Zeichnungen verweisen auf gleiche Elemente.

AUSFÜHRLICHE BESCHREIBUNG

Das Erstellen von Panoramabildern beinhaltet im Allgemeinen das Aufnehmen von Bildern oder Videos einer umgebenden dreidimensionalen (3D) Szene mithilfe einer einzelnen Kamera oder einer Reihe von Kameras zum Beispiel in einem Kameraträgersystem. Bei Verwendung eines Kameraträgersystems, an dem mehrere Kameras angebracht sind, kann jede Kamera synchronisiert und so konfiguriert werden, dass sie Bilder zu einem bestimmten Zeitpunkt aufnimmt. Das erste von der jeweiligen Kamera aufgenommene Einzelbild kann zum Beispiel in ungefähr derselben Zeit aufgenommen werden, zu der die zweiten, dritten und vierten Kameras entsprechende erste Einzelbilder aufnehmen. Die Bildaufnahme kann auf simultane Weise fortgesetzt werden, bis die Szene ganz oder teilweise aufgenommen ist. Obgleich viele der Implementierungen in Bezug auf eine Kamera beschrieben sind, können die Implementierungen stattdessen in Bezug auf Bildsensoren oder in Bezug auf Kameragehäuse (die Bildsensoren beinhalten können) beschrieben werden.

Kameraträgersystems, an denen mehrere Kameras angebracht sind, können so konfiguriert werden, dass sie bestimmte Winkel einer Szene aufnehmen. Kameras, die am Kameraträgersystem angebracht sind, können zum Beispiel in einem bestimmten Winkel ausgerichtet sein und alle (oder zumindest ein Teil der) Inhalte, die von diesem Winkel aus aufgenommen werden, können verarbeitet werden, um ein vollständiges Panorama einer bestimmten Szene zu erzeugen.

In einigen Implementierungen kann jede der Kameras in verschiedenen Winkeln ausgerichtet sein, um verschiedene Winkel der Szene aufzunehmen. In dem Fall, dass nur ein Teil der Szene aufgenommen wird oder die Szene ganz oder teilweise Verzerrungen beinhaltet, kann eine Reihe von Prozessen durchgeführt werden, um jegliche fehlenden, beschädigten oder verzerrten Inhalte aus dem Panorama zu interpolieren oder zu konfigurieren.

Die folgende Offenbarung beschreibt eine Reihe von Vorrichtungen und Verfahren zum Aufnehmen, Verarbeiten, Korrigieren und Wiedergeben von 3D-Panoramainhalten für die Zwecke der Anzeige dieser Inhalte in einem am Kopf befestigten Anzeigegerät (HMD) in einer 3D-Virtual-Reality(VR)-Umgebung. Der Verweis auf virtuelle Realität (Virtual-Reality) kann außerdem erweiterte Realität (Augmented-Reality) beinhalten oder sein. In einigen Implementierungen kann das Kameraträgersystem mehrere Stufen von Kameras beinhalten, um fehlende Teile einer Szene zu verringern oder zu beseitigen und Interpolation zu verringern. In einigen Implementierungen kann das Kameraträgersystem zum Beispiel eine untere Stufe von sechzehn Kameras und eine obere Stufe von sechs Kameras beinhalten. In einigen Implementierungen ist das Verhältnis der Kameras auf der unteren Ebene (oder Stufe) zu den Kameras auf der oberen Ebene (oder Stufe) größer als 2:1, jedoch kleiner als 3:1 (z. B. 2,67:1). Die Kameras können in verschiedenen Winkeln ausgerichtet sein, sodass jede verschiedene Inhalte aufnimmt, die verarbeitet werden können, um ein vollständiges Panorama einer bestimmten Szene zu erzeugen. Das Verhältnis bei den Kameras kann wichtig sein, um 360°-Videos mit richtiger Tiefe, Bildschärfe usw. aufzunehmen und gleichzeitig die Anzahl der Kameras und den Umfang der Bildverarbeitung zu verringern oder zu minimieren.

1 zeigt ein Blockdiagramm eines exemplarischen Systems 100 für das Aufnehmen und Wiedergeben stereoskopischer Panoramen in einer 3D-Virtual-Reality(VR)-Umgebung. In dem exemplarischen System 100 kann ein Kameraträgersystem 102 Bilder aufnehmen, lokal speichern (z. B. in einem permanenten oder Wechselspeicher) und/oder über ein Netzwerk 104 bereitstellen oder alternativ dazu die Bilder zur Analyse und Verarbeitung direkt einem Bildverarbeitungssystem 106 bereitstellen. In einigen Implementierungen des Systems 100 kann ein Mobilgerät 108 als Kameraträgersystem 102 fungieren, um Bilder im gesamten Netzwerk 104 bereitzustellen. Sobald die Bilder aufgenommen sind, kann das Bildverarbeitungssystem 106 eine Reihe von Berechnungen und Prozessen bei den Bildern durchführen und die verarbeiteten Bilder zum Beispiel einem am Kopf befestigten Anzeigegerät (HMD) 110 für die Wiedergabe über Netzwerk 104 bereitstellen. In einigen Implementierungen kann das Bildverarbeitungssystem 106 im Kameraträgersystem 102 und/oder im HMD-Gerät 110 enthalten sein. In einigen Implementierungen kann das Bildverarbeitungssystem 106 außerdem die verarbeiteten Bilder dem Mobilgerät 108 und/oder dem Computergerät 112 für die Wiedergabe, Speicherung oder weitere Verarbeitung bereitstellen.

Das HMD-Gerät 110 kann ein Virtual-Reality-Headset, eine Brille, ein Augenstück oder ein anderes tragbares Gerät sein, das in der Lage ist, Virtual-Reality-Inhalte anzuzeigen. Im Betriebszustand kann das HMD-Gerät 110 eine VR-Anwendung (nicht dargestellt) ausführen, die empfangene und/oder verarbeitete Bilder für einen Benutzer wiedergeben kann. In einigen Implementierungen kann die VR-Anwendung von einem oder mehreren in 1 dargestellten Geräten 106, 108 oder 112 gehostet werden. In einem Beispiel kann das HMD-Gerät 110 außerdem eine Videowiedergabe einer Szene bereitstellen, die vom Kameraträgersystem 102 aufgenommen wurde. In einem anderen Beispiel kann das HMD-Gerät 110 die Wiedergabe von Standbildern bereitstellen, die in einer einzelnen Panoramaszene zusammengesetzt sind.

Das Kameraträgersystem 102 kann für die Verwendung als Kamera (die auch als Aufnahmegerät bezeichnet werden kann) und/oder Verarbeitungsgerät konfiguriert sein, um Bilddaten für das Wiedergeben von Inhalten in einer VR-Umgebung zu sammeln. Obgleich das Kameraträgersystem 102 hierin als Blockdiagramm dargestellt ist, das mit bestimmten Funktionen beschrieben wird, kann das Kameraträgersystem 102 die Form einer beliebigen der Implementierungen annehmen, die in 26 beschrieben sind, und kann zusätzliche Funktionen aufweisen, die für die Kameraträgersystems in dieser gesamten Offenbarung beschrieben sind. Zur Einfachheit der Beschreibung der Funktionen des Systems 100 zeigt 1 zum Beispiel das Kameraträgersystem 102, ohne dass Kameras zum Aufnehmen von Bildern rund um das Trägersystem angeordnet sind. Andere Implementierungen des Kameraträgersystems 102 können jede Anzahl von in mehreren Stufen angeordneten Kameras beinhalten, die rund um den Umfang eines kreisförmigen Kameraträgersystems, wie z. B. Trägersystem 102 angeordnet sind.

Wie in 1 dargestellt, beinhaltet das Kameraträgersystem 102 eine Reihe von Kameras 139 und ein Kommunikationssystem 132. Die Kameras 139 können eine einzelne Standbildkamera oder eine einzelne Videokamera beinhalten. In einigen Implementierungen können die Kameras 139 mehrere Standbildkameras oder mehrere Videokameras beinhalten, die gemäß einigen Ausführungsformen nebeneinander entlang der äußeren Peripherie (z. B. Ring) des Trägersystems 102 in einer oder mehreren Stufen angeordnet (z. B. platziert) sind. Die Kameras 139 können eine Videokamera, ein Bildsensor, eine stereoskope Kamera, eine Infrarotkamera und/oder ein Mobilgerät sein. Das Kommunikationssystem 132 kann verwendet werden, um Bilder, Anweisungen und/oder andere mit der Kamera verbundene Inhalte hochzuladen und herunterzuladen. Die Kommunikation kann drahtgebunden oder drahtlos und über ein privates oder öffentliches Netzwerk erfolgen.

Das Kameraträgersystem 102 kann so konfiguriert sein, dass es als stationäres Trägersystem oder drehbares Trägersystem fungiert. Jede Kamera am Trägersystem kann von einer Mitte der Drehung des Trägersystems versetzt angeordnet (z. B. platziert) sein. Das Kameraträgersystem 102 kann so konfiguriert sein, dass es sich um 360 Grad dreht, um zu schwenken und zum Beispiel eine ganze oder einen Teil einer 360-Grad-Ansicht einer Szene aufzunehmen. In einigen Implementierungen kann das Trägersystem 102 so konfiguriert sein, dass es in einer stationären Position und in einer solchen Konfiguration betrieben wird, dass zusätzliche Kameras zum Trägersystem hinzugefügt werden können, um zusätzliche Blickwinkel nach außen einer Szene aufzunehmen.

In einigen Implementierungen beinhaltet das Kameraträgersystem 102 mehrere digitale Videokameras, die Seite an Seite oder Rücken an Rücken (z. B. in 3 dargestellt) angeordnet sind, sodass deren Objektive jeweils in eine Richtung radial nach außen zeigen, um einen anderen Teil der umgebenden Szene oder Umgebung zu sehen. In einigen Implementierungen sind die mehreren digitalen Videokameras in einer tangentialen Konfiguration mit einer Blickrichtung tangential zum kreisförmigen Kameraträgersystem 102 angeordnet. Das Kameraträgersystem 102 kann zum Beispiel mehrere digitale Videokameras beinhalten, die so angeordnet sind, dass deren Objektive jeweils in eine Richtung radial nach außen zeigen, während sie tangential zu einer Basis des Trägersystems angeordnet sind. Die digitalen Videokameras können so ausgerichtet sein, dass sie Inhalte in verschiedenen Richtungen aufnehmen, um verschiedene abgewinkelte Teile der umgebenden Szene zu sehen.

In einigen Implementierungen kann das Kameraträgersystem 102 mehrere Stufen digitaler Videokameras beinhalten. Das Kameraträgersystem kann zum Beispiel eine untere Stufe beinhalten, in der die digitalen Videokameras Seite an Seite oder Rücken an Rücken angeordnet sind, und außerdem eine obere Stufe mit zusätzlichen Kameras beinhalten, die über den Kameras in Bezug auf die Kameras der unteren Stufe angeordnet sind. In einigen Implementierungen zeigen die Kameras der oberen Stufe vom Kameraträgersystem 102 auf einer anderen Ebene nach außen als die Kameras der unteren Stufe. Die Kameras der oberen Stufe können zum Beispiel in einer Ebene rechtwinklig zu oder nahezu rechtwinklig zu den Kameras der unteren Stufe angeordnet sein, wobei jede von der Mitte der unteren Stufe nach außen zeigen kann. In einigen Implementierungen kann sich die Anzahl der Kameras auf der unteren Stufe von der Anzahl der Kameras auf der oberen Stufe unterscheiden.

In einigen Implementierungen können Bilder von den Kameras auf der unteren Stufe in benachbarten Paaren auf dem Kameraträgersystem 102 verarbeitet werden. In dieser Konfiguration ist jede erste Kamera in jedem Satz von benachbarten Kameras tangential zu einem kreisförmigen Pfad der Kameraträgersystembasis angeordnet (z. B. platziert) und in eine Richtung (z. B. mit dem Kameraobjektiv) nach links zeigend ausgerichtet. Jede zweite Kamera im jedem Satz von benachbarten Kameras ist tangential zum kreisförmigen Pfad der Kameraträgersystembasis angeordnet (z. B. platziert) und in eine Richtung (z. B. mit dem Kameraobjektiv) nach rechts zeigend ausgerichtet. Kameras auf der oberen Stufe können außerdem in Bezug aufeinander ähnlich angeordnet sein. In einigen Implementierungen sind Kameras, die benachbart sind, Nachbarn (d. h. nebeneinander) auf derselben Ebene oder Stufe angeordnet.

Exemplarische Einstellungen für die Kameras, die am Kameraträgersystem 102 verwendet werden, können einen progressiven Abtastungsmodus mit etwa 60 Einzelbildern pro Sekunde beinhalten (d. h. einen Modus, bei dem jede Rasterlinie, statt jede zweite Rasterlinie, wie beim Standard-Aufzeichnungsmodus der meisten Videokameras, abgetastet wird, um jedes Einzelbild des Videos zu produzieren). Außerdem kann jede der Kameras mit identischen (oder ähnlichen) Einstellungen konfiguriert sein. Das Konfigurieren jeder Kamera mit identischen (oder ähnlichen) Einstellungen kann den Vorteil bieten, Bilder aufzunehmen, die nach der Aufnahme auf eine gewünschte Weise zusammengesetzt werden können. Exemplarische Einstellungen können die Einstellung einer oder mehrerer der Kameras auf dieselben Vergrößerungsstufe, dieselbe Bildschärfe, dieselbe Belichtung und dieselbe Belichtungszeit sowie die Einstellung der Kameras beinhalten, sodass die Stabilisierungsfunktionen des Weißabgleichs entweder korreliert oder ausgeschaltet sind.

In einigen Implementierungen kann das Kameraträgersystem 102 kalibriert werden, bevor es zum Aufnehmen eines oder mehrerer Bilder oder Videos verwendet wird. Jede Kamera am Kameraträgersystem 102 kann zum Beispiel so kalibriert und/oder konfiguriert sein, das sie ein Panoramavideo aufnimmt. Die Einstellungen können das Konfigurieren des Trägersystems beinhalten, sodass es zum Beispiel mit einer bestimmten Drehgeschwindigkeit um einen 360-Grad-Schwenk mit einem breiten Sichtfeld und in Richtung mit oder entgegen dem Uhrzeigersinn betrieben wird. In einigen Implementierungen können die Kameras am Trägersystem 102 so konfiguriert sein, dass sie zum Beispiel ein Einzelbild pro Grad eines 360-Grad-Schwenks eines Aufnahmepfads rund um eine Szene aufnehmen. In einigen Implementierungen können die Kameras am Trägersystem 102 so konfiguriert sein, dass sie zum Beispiel mehrere Einzelbilder pro Grad eines 360-Grad-Schwenks (oder weniger) eines Aufnahmepfads rund um eine Szene aufnehmen. In einigen Implementierungen können die Kameras am Trägersystem 102 so konfiguriert sein, dass sie zum Beispiel mehrere Einzelbilder rund um einen Schwenk eines Aufnahmepfads rund um eine Szene aufnehmen, ohne speziell gemessene Einzelbilder pro Grad aufnehmen zu müssen.

In einigen Implementierungen können die Kameras so konfiguriert (d. h. eingerichtet) sein, dass sie synchron funktionieren, um Videos von den Kameras am Trägersystem zu einem bestimmten Zeitpunkt aufzunehmen. In einigen Implementierungen können die Kameras so konfiguriert sein, dass sie synchron funktionieren, um bestimmte Teile des Videos von einer oder mehreren der Kameras über einen Zeitraum aufzunehmen. Ein anderes Beispiel des Kalibrierens des Kameraträgersystems kann das Konfigurieren beinhalten, wie eingehende Bilder gespeichert werden. Eingehende Bilder können zum Beispiel als individuelle Einzelbilder oder Videos (z. B. .avi-Dateien, .mpg-Dateien) gespeichert werden, zudem können gespeicherte Bilder im Internet, auf einen anderen Server oder ein anderes Gerät hochgeladen oder lokal mit jeder Kamera am Kameraträgersystem 102 gespeichert werden. In einigen Implementierungen können eingehende Bilder als codiertes Video gespeichert werden.

Das Bildverarbeitungssystem 106 beinhaltet ein Interpolationsmodul 114, ein Aufnahmekorrekturmodul 116 und ein Zusammensetzungsmodul 118. Das Interpolationsmodul 116 stellt Algorithmen dar, die verwendet werden können, um Teile der digitalen Bilder und Videos abzutasten und um eine Anzahl interpolierter Bilder zu bestimmen, die wahrscheinlich zwischen nebeneinander liegenden Bildern auftreten, die zum Beispiel vom Kameraträgersystem 102 aufgenommen werden. In einigen Implementierungen kann das Interpolationsmodul 114 so konfiguriert sein, dass es interpolierte Bildfragmente, Bildteile und/oder vertikale oder horizontale Bildstreifen zwischen nebeneinander liegenden Bildern bestimmt. In einigen Implementierungen kann das Interpolationsmodul 114 so konfiguriert sein, dass es Flussfelder (und/oder Flussvektoren) zwischen verbundenen Pixeln in nebeneinander liegenden Bildern bestimmt. Flussfelder können verwendet werden, um sowohl Transformationen, denen die Bilder unterzogen wurden, als auch die Verarbeitung von Bildern, die Transformationen unterzogen wurden, zu kompensieren. Flussfelder können zum Beispiel verwendet werden, um eine Transformation eines bestimmten Pixelrasters eines erhaltenen Bildes zu kompensieren. In einigen Implementierungen kann das Interpolationsmodul 114 durch Interpolation der umgebenden Bilder eines oder mehrere Bilder erzeugen, die nicht Teil der aufgenommenen Bilder sind, und kann die erzeugten Bilder in die aufgenommenen Bilder verschachteln, um zusätzliche Virtual-Reality-Inhalte für eine Szene zu erzeugen.

Das Aufnahmekorrekturmodul 116 kann so konfiguriert sein, dass es aufgenommene Bilder durch Kompensieren einer nicht idealen Aufnahmeeinrichtung korrigiert. Exemplarische Aufnahmeeinrichtungen können, beispielsweise ohne Einschränkung, eine kreisförmige Kamerabewegungsbahn, eine parallele (Kamera-)Hauptachse, eine Blickrichtung, die rechtwinklig zur Kamerabewegungsbahn verläuft, eine Blickrichtung, die tangential zur Kamerabewegungsbahn verläuft und/oder andere Aufnahmebedingungen beinhalten. In einigen Implementierungen kann das Aufnahmekorrekturmodul 116 so konfiguriert sein, dass es eine oder beide der nicht kreisförmigen Kamerabewegungsbahnen während der Bildaufnahme und/oder eine nicht parallele Hauptachse während der Bildaufnahme kompensiert.

Das Aufnahmekorrekturmodul 116 kann so konfiguriert sein, dass es einen bestimmten Satz von Bildern anpasst, um Inhalte zu kompensieren, die mithilfe mehrerer Kameras aufgenommen werden, wobei die Kameratrennung größer als etwa 30 Grad ist. Wenn der Abstand zwischen Kameras zum Beispiel 40 Grad ist, kann das Aufnahmekorrekturmodul 116 jegliche fehlenden Inhalte in einer bestimmten Szene auf Basis von zu wenig Kameraerfassungsbereich berücksichtigen, indem es Inhalte von zusätzlichen Kameras sammelt oder indem es die fehlenden Inhalte interpoliert.

In einigen Implementierungen kann das Aufnahmekorrekturmodul 116 auch so konfiguriert sein, dass es den Satz von Bildern anpasst, um eine Kamerafalschausrichtung aufgrund von Kamerahaltungsfehlern oder dergleichen zu kompensieren. Wenn Kamerahaltungsfehler (z. B. Fehler aufgrund der Ausrichtung und Position der Kamera) während der Bildaufnahme auftreten, kann das Modul 116 zum Beispiel zwei oder mehr Spalten von Pixeln aus mehreren Einzelbildern mischen, um Artefakte, zum Beispiel Artefakte aufgrund schlechter Belichtung (oder Belichtungsänderungen von Einzelbild zu Einzelbild) und/oder aufgrund einer Falschausrichtung einer oder mehrerer Kameras zu entfernen. Das Zusammensetzungsmodul 118 kann so konfiguriert sein, dass es stereoskope 3D-Bilder auf Basis definierter, erhaltener und/oder interpolierter Bilder erzeugt. Das Zusammensetzungsmodul 118 kann so konfiguriert sein, dass es Pixel und/oder Bildstreifen aus mehreren Bildteilen mischt/zusammensetzt. Das Zusammensetzen kann auf zum Beispiel durch das Interpolationsmodul 114 bestimmten Flussfeldern basieren. Das Zusammensetzungsmodul 118 kann (vom Interpolationsmodul 114) interpolierte Bildeinzelbilder empfangen, die nicht Teil des Satzes von Bildern sind, und Einzelbilder in den Satz von Bildern verschachteln. Die Verschachtelung kann das Modul 118 beinhalten, das die Einzelbilder und den Satz von Bildern zumindest teilweise auf Basis des optischen Flusses zusammensetzt, der durch das Interpolationsmodul 114 erzeugt wird.

Die zusammengesetzt Kombination kann verwendet werden, um ein Ominstereo-(z. B. omnidirektionales Stereo-)Panorama für die Anzeige in einem am Kopf befestigten VR-Anzeigegerät zu erzeugen. Die Einzelbilder können auf aufgenommenen Videostreams basieren, die aus einer Reihe benachbarter Paare von Kameras gesammelt werden, die an einem bestimmten Trägersystem angeordnet sind. Dieses Trägersystem kann etwa 12 bis etwa 16 Kameras in einer ersten Stufe oder Ebene des Trägersystems, und 4 bis 8 Kameras in einer zweiten Stufe oder Ebene des Trägersystems beinhalten, wobei die zweite Stufe über der ersten Stufe positioniert ist. In einigen Implementierungen kann eine ungerade Anzahl von Kameras in jeder Stufe eines Trägersystems enthalten sein. In einigen Implementierungen beinhaltet das Trägersystem mehr als einen oder zwei Sätze von benachbarten Kameras. In einigen Implementierungen kann das Trägersystem so viele Sätze von benachbarten Kameras beinhalten, wie Seite an Seite am Trägersystem platziert werden können. In einigen Implementierungen kann das Zusammensetzungsmodul 118 Haltungsinformationen, die mindestens einem benachbarten Paar zugeordnet sind, verwenden, um einen Teil des Satzes von Bildern im Voraus zusammenzusetzen, bevor das Verschachteln durchgeführt wird. Benachbarte Paare an einem Kameraträgersystem sind nachfolgend zum Beispiel in Verbindung mit 3 ausdrücklicher dargestellt und beschrieben.

In einigen Implementierungen kann die Verwendung optischer Flusstechniken zum Zusammensetzen von Bildern das Zusammensetzen aufgenommener Videoinhalte beinhalten. Diese optischen Flusstechniken können verwendet werden, um Zwischen-Videoinhalte zwischen bestimmten Videoinhalten zu erzeugen, die vorher mithilfe der Kamerapaare und/oder Einzelkameras aufgenommen wurden. Diese Technik kann als Möglichkeit verwendet werden, um ein Kontinuum der Kameras an einem kreisförmigen stationären Kameraträgersystem zu simulieren, die Bilder aufnehmen. Die simulierten Kameras können Inhalte ähnlich wie beim Schwenken einer einzelnen Kamera um eine Kreisform (z. B. einen Kreis, im Wesentlichen einen Kreis, ein kreisförmiges Muster) zum Aufnehmen von 360-Grad-Bildern aufnehmen, in der obigen Technik werden jedoch weniger Kameras tatsächlich am Trägersystem aufgestellt und das Trägersystem kann stationär sein. Die Fähigkeit, das Kontinuum der Kameras zu simulieren, bietet außerdem den Vorteil, Inhalte pro Einzelbild in einem Video (z. B. 360-Grad-Bilder beim Aufnehmen im Abstand von einem Bild pro Grad) aufzunehmen.

Der erzeugte Zwischen-Videoinhalt kann mithilfe eines optischen Flusses zum tatsächlichen aufgenommenen Videoinhalt zusammengesetzt werden, indem ein dichter Satz von Bildern (z. B. 360 Bildern mit einem Bild pro Grad) verwendet wird, wenn das Kameraträgersystem tatsächlich weniger als 360 Bilder aufgenommen hat. Wenn das kreisförmige Kameraträgersystem zum Beispiel 8 Kamerapaare (d. h. 16 Kameras) oder 16 nicht gepaarte Kameras beinhaltet, beträgt die Zahl der aufgenommenen Bilder ggf. nur 16 Bilder. Die optischen Flusstechniken können verwendet werden, um Inhalte zwischen den 16 Bildern zu simulieren, um 360-Grad-Videoinhalte bereitzustellen.

In einigen Implementierungen kann die Verwendung der optischen Flusstechniken die Interpolationseffizienz verbessern. Statt zum Beispiel 360 Bilder zu interpolieren, kann der optische Fluss zwischen jedem aufeinanderfolgenden Kamerapaar (z. B. [1-2], [2-3], [3-4]) berechnet werden. Bei den aufgenommenen 16 Bildern und den optischen Flüssen können das Interpolationsmodul 114 und/oder das Aufnahmekorrekturmodul 116 jedes Pixel in einer Zwischenansicht berechnen, ohne ein gesamtes Bild in einem der 16 Bilder interpolieren zu müssen.

In einigen Implementierungen kann das Zusammensetzungsmodul 118 so konfiguriert sein, dass es Bilder zusammensetzt, die von einem Trägersystem mit mehreren Stufen von Kameras aufgenommen wurden, wobei mehrere Stufen über- oder untereinander positioniert sind. Das Zusammensetzungsmodul 118 kann Videoinhalte bearbeiten, die von jeder Stufe der Kameras aufgenommen wurden, um ein zusammengesetztes Bild für jede Stufe zu erstellen, und kann dann die zusammengesetzten Bilder, die jeder Stufe zugeordnet sind, zusammensetzen, um ein 360-Grad-Bild zu erzeugen. Ein Kameraträgersystem kann zum Beispiel 16 Kameras in einer unteren Stufe und 6 Kameras in einer oberen Stufe beinhalten, wobei die obere Stufe über der unteren Stufe am Trägersystem positioniert ist. In diesem Beispiel kann das Zusammensetzungsmodul 118 die Bilder von den 16 Kameras auf der unteren Stufe zusammensetzen, um ein zusammengesetztes Bild zu erzeugen, das der unteren Stufe (z. B. einem zusammengesetzten Bild der unteren Stufe) zugeordnet ist. Das Zusammensetzungsmodul 118 kann außerdem die Bilder von den 6 Kameras auf der oberen Stufe zusammensetzen, um ein zusammengesetztes Bild zu erzeugen, das der oberen Stufe (z. B. einem zusammengesetzten Bild der oberen Stufe) zugeordnet ist. Um ein 360-Grad-Bild zu erzeugen, kann das Zusammensetzungsmodul das zusammengesetzte Bild der unteren Stufe mit dem zusammengesetzten Bild der oberen Stufe zusammensetzen. In einigen Implementierungen sind Kameras, die benachbart sind, Nachbarn (d. h. nebeneinander) auf derselben Ebene oder Stufe angeordnet.

Das Bildverarbeitungssystem 106 kann außerdem ein Projektionsmodul 120 und ein Bildkorrekturmodul 122 beinhalten. Das Projektionsmodul 120 kann so konfiguriert sein, dass es stereoskope 3D-Bilder durch Projizieren der Bilder in eine planare, perspektivische Ebene erzeugt. Das Projektionsmodul 120 kann zum Beispiel eine Projektion eines bestimmten Satzes von Bildern erhalten und eine Neuprojektion eines Teils des Satzes von Bildern konfigurieren, indem es einige der Bilder aus einer planaren perspektivischen Projektion in eine sphärische (d. h. äquirektanguläre) perspektivische Projektion umwandelt. Die Umwandlungen beinhalten Projektionsmodellierungstechniken.

Projektionsmodellierung kann das Definieren einer Mitte der Projektion und einer Projektionsebene beinhalten. In den in dieser Offenbarung beschriebenen Beispielen kann die Mitte der Projektion ein optisches Zentrum bei einem Ursprung (0,0,0) eines vorher definierten XYZ-Korrdinatensystems darstellen. Die Projektionsebene kann vor der Mitte der Projektion platziert werden, wobei die Kamera zum Aufnehmen der Bilder entlang der Z-Achse im XYZ-Koordinatensystem ausgerichtet ist. Im Allgemeinen kann eine Projektion mithilfe des Schnittpunkts der planaren perspektivischen Ebene eines bestimmten Bildestrahls von einer Koordinate (X, Y, Z) zur Mitte der Projektion berechnet werden. Umwandlungen der Projektion können durch Manipulieren der Koordinatensysteme zum Beispiel mithilfe von Matrixberechnungen erfolgen.

Projektionsmodellierung für stereoskope Panoramen kann die Verwendung von Bildern mit mehreren Perspektiven beinhalten, die keine einzelne Projektionsmitte aufweisen. Die mehreren Perspektiven sind normalerweise als Kreisform (z. B. sphärisch) dargestellt (siehe 13B). Bei der Wiedergabe von Inhalten kann das hierin beschriebene System eine Kugel als Approximation beim Umwandeln von einem Koordinatensystem zu einem anderen verwenden.

Im Allgemeinen stellt eine sphärische (d. h. äquirektanguläre) Projektion eine kugelförmige Ebene bereit, wobei die Mitte der Kugel die Mitte der Projektion gleichmäßig umgibt. Eine perspektivische Projektion stellt eine Ansicht bereit, die Bilder von 3D-Objekten auf einer planaren (z. B. 2D-Fläche) perspektivischen Ebene bereitstellt, um die tatsächliche visuelle Wahrnehmung eines Benutzers zu approximieren. Im Allgemeinen können Bilder auf flachen Bildebenen (z. B. Computermonitor, LCD-Bildschirm eines Mobilgeräts) wiedergegeben werden, sodass die Projektion in planarer Perspektive dargestellt wird, um eine unverzerrte Ansicht bereitzustellen. Eine planare Projektion ermöglicht jedoch ggf. keine 360-Grad-Sichtfelder, daher können aufgenommene Bilder (z. B. Video) in äquirektangulärer (d. h. sphärischer) Perspektive gespeichert und zum Zeitpunkt der Wiedergabe in planarer Perspektive neu projiziert werden.

Nachdem bestimmte Neuprojektionen abgeschlossen sind, kann das Projektionsmodul 120 die neu projizierten Teile der Bilder für die Wiedergabe in einem HMD senden. Das Projektionsmodul 120 kann zum Beispiel Teile einer Neuprojektion für eine Anzeige für das linke Auge im HMD 110 und Teile der Neuprojektion für eine Anzeige für das rechte Auge im HMD 110 bereitstellen. In einigen Implementierungen kann das Projektionsmodul 120 so konfiguriert sein, dass es die vertikale Parallaxe durch Durchführung der obigen Neuprojektionen berechnet und verringert.

Das Bildkorrekturmodul 122 kann so konfiguriert sein, dass es stereoskope 3D-Bilder durch Kompensation der Verzerrung, einschließlich u. a. der perspektivischen Verzerrung, erzeugt. In einigen Implementierungen kann das Bildkorrekturmodul 122 einen bestimmten Abstand bestimmen, in dem der optische Fluss für 3D-Stereo aufrechterhalten werden kann, und kann die Bilder segmentieren, um nur Teile einer Szene darzustellen, in der dieser Fluss aufrechterhalten wird. Das Bildkorrekturmodul 122 kann zum Beispiel bestimmen, dass der optische Fluss der 3D-Stereobilder zwischen etwa einem radialen Meter von einer Außenkante des kreisförmigen Kameraträgersystems 102 bis zum Beispiel etwa fünf radialen Metern von der Außenkante des Kameraträgersystems 102 beibehalten wird. Demgemäß kann das Bildkorrekturmodul 122 sicherstellen, dass der Musterabschnitt zwischen einem Meter und fünf Metern für die Wiedergabe im HMD 110 in einer Projektion ausgewählt wird, die frei von Verzerrung ist und gleichzeitig ordnungsgemäße 3D-Stereoeffekte bereitstellt, die eine ordnungsgemäße Parallaxe für einen Benutzer des HMD 110 aufweist.

In einigen Implementierungen kann das Bildkorrekturmodul 122 den optischen Fluss durch Anpassen bestimmter Bilder schätzen. Die Anpassungen können zum Beispiel das Korrigieren eines Teils des Bildes, das Bestimmen einer geschätzten Kamerahaltung, die dem Teil der Bilder zugeordnet ist, und das Bestimmen eines Flusses zwischen den Bildern im Teil beinhalten. In einem nicht einschränkenden Beispiel kann das Bildkorrekturmodul 122 einen Unterschied bei der Drehung zwischen zwei bestimmten Bildern kompensieren, in denen der Fluss berechnet wird. Diese Korrektur kann bewirken, dass die Flusskomponente, die durch einen Drehungsunterschied (d. h. Drehungsfluss) verursacht wird, entfernt wird. Diese Korrektur führt zu einem Fluss, der durch Übersetzung (d. h. Parallaxe-Fluss) verursacht wird, was die Komplexität der Flussschätzungsberechnungen verringern und gleichzeitig die resultierenden Bilder präzise und robust machen kann. In einigen Implementierungen können Prozesse neben der Bildkorrektur bei den Bildern vor der Wiedergabe durchgeführt werden. Zusammensetzen, Mischen oder zusätzliche Korrekturprozesse können zum Beispiel bei den Bildern durchgeführt werden, bevor die Wiedergabe erfolgt.

In einigen Implementierungen kann das Bildbearbeitungsmodul 122 Projektionsverzerrungen korrigieren, die durch Bildinhalte verursacht werden, die mit Kamerageometrien aufgenommen wurden, die nicht auf planaren, perspektivischen Projektionen basieren. Korrekturen können zum Beispiel durch Interpolieren von Bildern aus einer Reihe verschiedener Betrachtungswinkel und durch Konditionieren der Betrachtungsstrahlen, die den Bildern zugeordnet sind, die von einem gemeinsamen Ursprung stammen, auf die Bilder angewandt werden. Die interpolierten Bilder können in aufgenommene Bilder verschachtelt werden, um virtuelle Inhalte zu produzieren, die für das menschliche Auge genau erscheinen, mit einem angenehmen Grad an drehbarer Parallaxe für das menschliche Auge.

In dem exemplarischen System 100 können die Geräte 106, 108 und 112 ein Laptop-Computer, ein Desktop-Computer, ein mobiles Computergerät oder eine Spielekonsole sein. In einigen Implementierungen können die Geräte 106, 108 und 112 ein mobiles Computergerät sein, das innerhalb des HMD-Geräts 110 angeordnet (z. B. platziert/befindlich) ist. Das mobile Computergerät kann ein Anzeigegerät beinhalten, das zum Beispiel als Bildschirm für das HMD-Gerät 110 verwendet werden kann. Geräte 106, 108 und 112 können Hardware und/oder Software für das Ausführen einer VR-Anwendung beinhalten. Außerdem können Geräte 106, 108 und 112 Hardware und/oder Software beinhalten, die eine 3D-Bewegung des HMD-Geräts 110 erkennen, überwachen und verfolgen kann, wenn diese Geräte vor das HMD-Gerät 110 platziert oder innerhalb eines Bereichs von Positionen relativ zu demselben gehalten werden. In einigen Implementierungen können Geräte 106, 108 und 112 zusätzliche Inhalte für das HMD-Gerät 110 über das Netzwerk 104 bereitstellen. In einigen Implementierungen können die Geräte 102, 106, 108, 110 und 112 entweder paarweise oder über das Netzwerk 104 mit einem oder mehreren voneinander verbunden/schnittstellenmäßig verbunden sein. Die Verbindung kann drahtgebunden oder drahtlos sein. Das Netzwerk 104 kann ein öffentliches Kommunikationsnetzwerk oder ein privates Kommunikationsnetzwerk sein.

Das System 100 kann elektronischen Speicher beinhalten. Der elektronische Speicher kann in jedem der Geräte (z. B. Kameraträgersystem 102, Bildverarbeitungssystem 106, HMD-Gerät 110 usw.) enthalten sein. Der elektronische Speicher kann nicht flüchtige Speichermedien beinhalten, die Informationen elektronisch speichern. Der elektronische Speicher kann so konfiguriert sein, dass er aufgenommene Bilder, erhaltene Bilder, vorverarbeitete Bilder, nachbearbeitete Bilder usw. speichert. Bilder, die mit einem beliebigen der offenbarten Kameraträgersysteme aufgenommen werden, können als einer oder mehrere Videostreams verarbeitet und gespeichert oder als individuelle Einzelbilder gespeichert werden. In einigen Implementierungen kann das Speichern während der Aufnahme und die Wiedergabe direkt nach Teilen der Aufnahme erfolgen, um einen schnelleren Zugriff auf Stereo-Panoramainhalte früher zu ermöglichen, als wenn Aufnahme und Verarbeitung nicht gleichzeitig erfolgen.

2 zeigt ein Diagramm, das ein exemplarisches Kameraträgersystem 200 darstellt, das so konfiguriert ist, dass es Bilder einer Szene für die Verwendung beim Erzeugen stereoskopischer Panoramen aufnimmt. Das Kameraträgersystem 200 beinhaltet eine erste Kamera 202A und eine zweite Kamera 202B, die an einer ringförmigen Auflagebasis (nicht dargestellt) angebracht sind. Wie dargestellt, sind Kameras 202A und 202B an einer ringförmigen Position direkt nach außen weisend (in Richtung der zu erfassenden Bilder/Szenen) und parallel zu einer Mitte oder Drehachse (A1) des Trägersystems 200 angeordnet. In einigen Implementierungen kann das Diagramm von 2 einer Stufe eines mehrstufigen Kameraträgersystems entsprechen.

Im gezeigten Beispiel sind die Kameras 202A und 202B an einer Montageplatte 208 in einem Abstand voneinander entfernt (B1) angeordnet (z. B. platziert). In einigen Implementierungen kann der Abstand (B1) zwischen jeder Kamera am Kameraträgersystem 200 einen durchschnittlichen menschlichen Pupillenabstand (IPD) darstellen. Die Platzierung der Kameras in einem IPD kann approximieren, wie menschliche Augen Bilder während der Drehung (links oder rechts wie durch Pfeil 204 dargestellt) sehen würden, um eine Szene rund um einen Aufnahmepfad zu scannen, der durch Pfeil 204 angegeben ist. Exemplarische durchschnittliche menschliche IPD-Maße können etwa 5 Zentimeter bis etwa 6,5 Zentimeter sein. In einigen Implementierungen kann jede Kamera, die in einem üblichen IPD-Abstand voneinander entfernt angeordnet ist, Teil eines Stereopaars von Kameras sein.

In einigen Implementierungen kann das Kameraträgersystem 200 so konfiguriert sein, dass es einen Durchmesser eines menschlichen Standardkopfes approximiert. Das Kameraträgersystem 200 kann zum Beispiel mit einem Durchmesser 206 von etwa 8 Zentimetern bis etwa 10 Zentimetern konstruiert sein. Der Durchmesser 206 kann für das Trägersystem 200 so ausgewählt sein, dass er approximiert, wie ein menschlicher Kopf sich drehen und Szenenbilder mit menschlichen Augen in Bezug auf die Mitte der Drehung A1 sehen würde. Andere Maße sind möglich und das Trägersystem 200 oder System 100 kann die Aufnahmetechniken und resultierenden Bilder anpassen, falls zum Beispiel ein größerer Durchmesser verwendet werden soll.

In einem nicht einschränkenden Beispiel kann das Kameraträgersystem 200 einen Durchmesser 206 von etwa 8 Zentimetern bis etwa 10 Zentimetern aufweisen, zudem können Kameras daran angebracht sein, die in einem IPD von etwa 6 Zentimetern voneinander entfernt sind. Eine Reihe von Trägersystemanordnungen wird nachfolgend beschrieben. Jede in dieser Offenbarung beschriebene Anordnung kann mit den vorher erwähnten oder anderen Durchmessern und Abständen zwischen Kameras konfiguriert sein.

Wie in 2 dargestellt, können zwei Kameras 202A, 202B mit einem breiten Sichtfeld konfiguriert sein. Die Kameras können zum Beispiel ein Sichtfeld von etwa 150 Grad bis etwa 180 Grad aufnehmen. Die Kameras 202A, 202B können zum Beispiel über Fischaugenobjektive verfügen, um breitere Ansichten aufzunehmen. In einigen Implementierungen dienen die Kameras 202A, 202B als ein Stereopaar.

Im Betrieb kann das Trägersystem 200 um 360 Grad um die Mitte der Drehung A1 gedreht werden, um eine Panoramaszene aufzunehmen. Alternativ dazu kann das Trägersystem stationär bleiben und zusätzliche Kameras können zum Kameraträgersystem 200 hinzugefügt werden, um zusätzliche Teile der 360-Grad-Szene aufzunehmen (wie zum Beispiel in 3 und 4A dargestellt).

3 zeigt ein Diagramm, das ein anderes exemplarisches Kameraträgersystem 300 darstellt, das so konfiguriert ist, dass es Bilder einer Szene für die Verwendung beim Erzeugen stereoskopischer Panoramen aufnimmt. Das Kameraträgersystem 300 beinhaltet eine Reihe von Kameras 302A302H, die an einer ringförmigen Auflagebasis (nicht dargestellt) angebracht sind. Die erste Kamera 302A ist als durchgezogene Linie dargestellt, während die zusätzlichen Kameras 302B302H mit unterbrochenen Linien dargestellt sind, um anzuzeigen, dass sie optional sind. Im Gegensatz zu den parallel montierten Kameras, die an Kameraträgersystem 200 dargestellt sind (siehe Kameras 202A und 202B), sind die Kameras 302A302H tangential zum äußeren Umfang des ringförmigen Kameraträgersystems 300 angeordnet. Wie in 3 dargestellt, hat Kamera 302A eine benachbarte Kamera 302B und eine benachbarte Kamera 302H.

Im dargestellten Beispiel sind die Kameras 202A und 202B ähnlich den Kameras in Trägersystem 200 in einem bestimmten Abstand voneinander angeordnet (B1). In diesem Beispiel können die Kameras 302A und 302B als benachbartes Paar fungieren, um, wie nachfolgend näher beschrieben, Winkel von einem zentralen Kameraobjektiv nach links bzw. rechts aufzunehmen.

In einem Beispiel ist das Kameraträgersystem 300 ein kreisförmiges Trägersystem, das eine drehbare oder feste Basis (nicht dargestellt) und eine Montageplatte 306 (die auch als Auflage bezeichnet werden kann) beinhaltet, wobei das benachbarte Paar Kameras eine erste Kamera 302A beinhaltet, die an der Montageplatte 306 montiert und so konfiguriert ist, dass sie in eine Blickrichtung zeigt, die tangential zu einem Rand der Montageplatte 306 verläuft, und so angeordnet ist, dass sie in eine linke Richtung weist, und eine zweite Kamera 302B, die Seite an Seite zur ersten Kamera an der Montageplatte 306 platziert ist und in einem Pupillenabstand (oder einem anderen Abstand (z. B. kleiner als IPD)) von der ersten Kamera 302A platziert ist, wobei die zweite Kamera 302B so angeordnet ist, dass sie in eine Blickrichtung zeigt, die tangential zu einer Kante der Montageplatte 306 verläuft, und so angeordnet, dass sie in eine rechte Richtung weist. Ähnlich können benachbarte Paare aus Kameras 302C und 302D, ein anderes Paar aus Kameras 302E und 302F und noch ein anderes Paar aus Kameras 302G und 302H bestehen. In einigen Implementierungen kann jede Kamera (z. B. 302A) mit einer Kamera ein Paar bilden, die selbst nicht benachbart ist, sondern mit ihrem Nachbarn benachbart ist, sodass jede Kamera am Trägersystem mit einer anderen Kamera am Trägersystem ein Paar bilden kann. In einigen Implementierungen kann jede Kamera mit ihrem direkten Nachbarn (an beiden Seiten) ein Paar bilden.

In einigen Implementierungen können ein oder mehrere Stereobilder durch das Interpolationsmodul 114 erzeugt werden. Neben den Stereokameras, die am Kameraträgersystem 300 dargestellt sind, können zusätzliche Stereokameras als synthetische Stereobildkameras erzeugt werden. Insbesondere kann das Analysieren von Strahlen aufgenommener Bilder (z. B. Raytracing) simulierte Einzelbilder einer 3D-Szene produzieren. Die Analyse kann das Verfolgen von Strahlen nach hinten von einem Standpunkt über ein bestimmtes Bild oder Einzelbild und in die Szene beinhalten. Wenn ein bestimmter Strahl auf ein Objekt in der Szene auftrifft, kann jedes Bildpixel, durch das er geht, mit einer Farbe versehen werden, die dem Objekt entspricht. Wenn der Strahl nicht auf das Objekt auftrifft, kann das Bildpixel mit einer Farbe versehen werden, die einem Hintergrund oder einem anderen Merkmal in der Szene entspricht. Mithilfe von Standpunkten und Raytracing kann das Interpolationsmodul 114 zusätzliche Szeneninhalte erzeugen, die von einer simulierten Stereokamera zu sein scheinen. Der zusätzliche Inhalt kann Bildeffekte, fehlende Bildinhalte, Hintergrundinhalte, Inhalte für die Außenseite des Sichtfelds beinhalten.

Wie in 3 dargestellt, sind die Kameras 302A302H tangential zum äußeren Umfang des Kameraträgersystems 300 angeordnet (z. B. platziert) und können daher eine Ansicht von bis zu 180 Grad einer Szene aufnehmen. Das heißt, da die Kameras auf tangentiale Weise platziert sind, kann ein vollständig, nicht verdecktes 180-Grad-Sichtfeld in jeder Kamera am Trägersystem aufgenommen werden.

In einigen Implementierungen beinhaltet das Kameraträgersystem 300 benachbarte Kameras. Das Trägersystem 300 kann zum Beispiel benachbarte Kameras 302A und 302B beinhalten. Kamera 302A kann mit einem zugehörigen Objektiv konfiguriert sein, das in eine Blickrichtung ausgerichtet ist, die tangential zu einer Kante einer Montageplatte 304 verläuft, und so angeordnet sein, dass sie in eine linke Richtung zeigt. Ähnlich kann Kamera 302B an der Montageplatte 304 Seite an Seite mit Kamera 302A angeordnet und so platziert sein, dass sie den menschlichen Pupillenabstand von Kamera 302A approximiert, und so angeordnet sein, dass sie in eine Blickrichtung zeigt, die tangential zu einem Rand der Montageplatte 304 ist, und so angeordnet sein, dass sie in eine rechte Richtung zeigt.

In einigen Implementierungen können bestimmte Sensoren an Kameras 302A–H (oder am Kameraträgersystem 300) tangential zum äußeren Umfang der Kameras 302A–H (oder dem Trägersystem 300) angeordnet sein, anstatt dass die tatsächlichen Kameras 302A–H tangential angeordnet sind. Auf diese Weise können die Kameras 302A–H gemäß der Benutzerpräferenz platziert werden und die Sensoren erkennen, welche Kamera oder Kameras 302A–H Bilder auf Basis der Position des Trägersystems 300, der Schwenkgeschwindigkeit oder auf Basis der Kamerakonfigurationen und -einstellungen aufnehmen können.

In einigen Implementierungen können die Nachbarn Kamera 302A und Kamera 302E, Rücken an Rücken oder Seite an Seite angeordnet, beinhalten. Diese Anordnung kann zudem verwendet werden, um Betrachtungswinkel nach links und rechts eines Azimuts 308 zu sammeln, der durch das jeweilige Kameraobjektiv und die Montageplatte 304 gebildet wird. In einigen Implementierungen sind die Kameras in einem Neigungswinkel nach links oder rechts des Azimuts 308 angeordnet, der durch das Kameraobjektiv bzw. die Montageplatte 304 gebildet wird.

In einigen Implementierungen können Kameras, die am Kameraträgersystem 300 platziert sind, mit jeder anderen benachbarten Kamera während der Bildinterpolation ein Paar bilden und einfach rund um das kreisförmige Trägersystem in einer nach außen weisenden Richtung ausgerichtet sein. In einigen Implementierungen beinhaltet das Trägersystem 300 eine einzelne Kamera (z. B. Kamera 302A). Falls nur eine Kamera 302A am Trägersystem 300 montiert ist, können Stereo-Panoramabilder durch Drehen des Kameraträgersystems 300 um vollständige 360 Grad im Uhrzeigersinn aufgenommen werden.

In einigen Implementierungen kann das Diagramm von 3 einer Stufe eines mehrstufigen Kameraträgersystems entsprechen. In diesen Implementierungen kann zum Beispiel eine Stufe eines mehrstufigen Kameraträgersystems Kameras 302A302H beinhalten, die an einer ringförmigen Tragstruktur des mehrstufigen Kameraträgersystems angebracht sind.

4A bis 4D zeigen Diagramme, die verschiedene Ansichten (eine perspektivische Ansicht, eine Seitenansicht, eine Draufsicht bzw. eine Ansicht von unten) eines Kameraträgersystems 400 (das auch als ein mehrstufiges Kameraträgersystem bezeichnet werden kann) gemäß einer Implementierung veranschaulichen. Wie dargestellt, beinhaltet das Kameraträgersystem 400 ein Kameragehäuse 420 mit einem unteren kreisförmigen Umfang 430 und einer oberen mehrflächigen Kappe 440. Der untere kreisförmige Umfang 430 kann Kameras 405A bis 405C und 405M beinhalten. Obgleich diese Implementierung des unteren kreisförmigen Umfangs 430 mehr als vier Kameras beinhaltet, sind zur Einfachheit nur vier der Kameras beschriftet. In dieser Implementierung können die Kameras (die auch als Aufnahmegeräte oder Bildsensoren bezeichnet werden können) zudem gemeinsam als Kameras 405 bezeichnet werden. Die obere mehrflächige Kappe 440 kann Kameras 415A bis 415C und 415M beinhalten. Obgleich diese Implementierung der oberen mehrflächigen Kappe mehr als drei Kameras beinhaltet, sind der Einfachheit halber nur drei der Kameras beschriftet. In dieser Implementierung können die Kameras (die auch als Aufnahmegeräte oder Bildsensoren bezeichnet werden können) zudem gemeinsam als Kameras 415 bezeichnet werden.

Die Kameras 415 (z. B. 415A usw.) sind in einer ersten Stufe der Kameras (oder Bildsensoren) enthalten, während die Kameras 405 (z. B. 405A usw.) in einer zweiten Stufe der Kameras (oder Bildsensoren) enthalten sind. Die erste Stufe der Kameras kann als primäre Stufe der Kameras bezeichnet werden. Wie in 4B dargestellt, ist ein Sichtfeld (oder eine Mitte) jedes der Bildsensoren in der ersten Stufe der Kameras innerhalb einer Ebene PQ1 angeordnet oder überschneidet diese, während ein Sichtfeld (oder eine Mitte) jedes der Bildsensoren in der zweiten Stufe der Kameras innerhalb einer Ebene PQ2 angeordnet ist oder diese überschneidet. Die Ebene PQ1 verläuft parallel zur Ebene PQ2.

In dieser Implementierung beinhaltet das Kameraträgersystem 400 eine erste Stufe von sechzehn Kameras 415 und eine zweite Stufe von sechs Kameras 405. In einigen Implementierungen ist das Verhältnis der Kameras auf der unteren Ebene (oder Stufe) zu den Kameras auf der oberen Ebene (oder Stufe) größer als 2:1, jedoch kleiner als 3:1 (z. B. 2,67:1).

Wie dargestellt, beinhaltet das Kameraträgersystem 400 in dieser Implementierung nur zwei Stufen von Kameras. Das Kameraträgersystem 400 schließt eine dritte Stufe der Kameras aus und hat somit nur Kameras auf zwei Ebenen. In dieser Implementierung gibt es keine entsprechende Ebene der Kameras ähnlich der zweiten Stufe der Kameras unter der ersten Stufe der Kameras im Kameraträgersystem 400. Eine untere Ebene (oder Stufe) der Kameras kann ausgeschlossen werden, um Bildverarbeitung, Gewicht, Aufwand usw. zu reduzieren, ohne die Brauchbarkeit der Bilder zu beeinträchtigen.

Obgleich nicht dargestellt, kann ein Kameraträgersystem in einigen Implementierungen drei Stufen von Kameras beinhalten. In diesen Implementierungen kann die dritte Stufe von Kameras dieselbe Anzahl (z. B. sechs Kameras) oder eine andere Anzahl (z. B. weniger, mehr) Kameras als die zweite Stufe von Kameras aufweisen. Die erste Stufe von Kameras (z. B. sechzehn) kann zwischen der zweiten und dritten Stufe von Kameras angeordnet sein.

Ähnlich den anderen hierin beschriebenen Implementierungen weisen die Kameras 405 des unteren Umfangs 430 des Kameraträgersystems 400 nach außen (weisen z. B. von einer Mitte des Kameraträgersystems 400 weg). In dieser Implementierung ist jede der Kameras 405 so ausgerichtet, dass eine Achse, entlang der ein Sichtfeld eines Objektivsystems der Kameras 405 zentriert ist, rechtwinklig zu einer Tangente einer Kreisform (z. B. ein Kreis, im Wesentlichen ein Kreis) verläuft, die durch den unteren kreisförmigen Umfang 430 des Kameragehäuses 420 und durch Erweiterung der Kreisform definiert wird, die wiederum von den Kameras 405 definiert wird. Dieses Beispiel wird zumindest in 5 durch Achsen 510 und eine Tangentenlinie 520, die den Kameras 405 zugeordnet ist, veranschaulicht.

In dieser Implementierung ist jede der Kameras so konfiguriert, dass sich eine Achse 510 (in 5 dargestellt) durch ein Objektivsystem (z. B. eine Mitte eines Objektivs oder Aufnahmesensors) an einer Seite des Kameraträgersystems 400 durch die Mitte 530 des Kameraträgersystems 400 und durch ein anderes Objektivsystem an einer anderen Seite des Kameraträgersystems 400 erstrecken kann. Die Kameras 405 (oder Bildsensoren) sind in Kreisform rund um den unteren kreisförmigen Umfang 430 des Kameragehäuses 420 angeordnet, sodass jede der Kameras 405 eine Projektion (oder Mitte der Projektion) nach außen hat, die die Normale zum unteren kreisförmigen Umfang 430 sein kann, und durch Erweiterung der Kreisform, die vom Kameraträgersystem 400 definiert wird. Mit anderen Worten können die Kameras 405 Projektionen aufweisen, die von einem inneren Teil des Kameraträgersystems 400 weg weisen.

In einigen Implementierungen sind die Objektivsysteme der jeweiligen Kameras 405 von der Mitte des Körpers der jeweiligen Kameras 405 versetzt. Dies führt dazu, dass jede der Kameras, die innerhalb des Kameragehäuses 420 angeordnet sind, in einem Winkel in Bezug auf die anderen Kameras 405 angeordnet ist, sodass das Sichtfeld der jeweiligen Kameras in Bezug auf das Kameraträgersystem 400 rechtwinklig ausgerichtet sein kann (z. B. rechtwinklig zu einer Tangente der Kreisform weisend, die durch den unteren Umfang 420 definiert wird).

Obgleich nicht dargestellt, kann in einigen Implementierungen eine ungerade Anzahl von Kameras als Teil des unteren kreisförmigen Umfangs 420 im Kameragehäuse enthalten sein. In diesen Implementierungen können die Objektivsysteme der Kameras ein Sichtfeld aufweisen, das um eine Achse rechtwinklig zu einer Tangente des Kameraträgersystems (oder einer Kreisform, die durch das Kameraträgersystem definiert wird) zentriert ist, ohne eine Achse, die durch mehrere der Kameraobjektivsysteme und die Mitte des Kameraträgersystems angeordnet ist.

In einigen Implementierungen kann eine minimale oder maximale Geometrie des unteren kreisförmigen Umfangs 430 auf Basis der Optik (z. B. Sichtfeld, Pixelauflösung) von einer oder mehreren Kameras 405 definiert werden. Ein minimaler Durchmesser und/oder ein maximaler Durchmesser des unteren kreisförmigen Umfangs 430 kann zum Beispiel auf Basis eines Sichtfelds von mindestens einer der Kameras 405 definiert werden. In einigen Implementierungen kann ein relativ großes (oder breites) Sichtfeld zu einem relativ kleinen unteren kreisförmigen Umfang 430 führen. Wie in 4A bis 4D dargestellt, ist zum Beispiel jede der Kameras 405 im Hochformat (z. B. im Seitenverhältnis 4:3) angeordnet, sodass eine horizontale Dimension der Bilder, die von den Kameras 405 aufgenommen werden, kleiner ist als eine vertikale Dimension der Bilder, die von den Kameras 405 aufgenommen werden. In einigen Implementierungen kann jede der Kameras 405 in einem beliebigen Seitenverhältnis oder in einer beliebigen Ausrichtung (z. B. einem Seitenverhältnis von 16:9 oder 9:16, einem Seitenverhältnis von 3:4) angeordnet sein.

In einigen Implementierung ist der Durchmesser (oder Radius (RA) (in 4C dargestellt) des unteren Umfangs 430 so definiert, dass sich das Sichtfeld von mindestens drei benachbarten Kameras 405 überlappt (z. B. sich überschneidet, sich mindestens in einem Punkt, einem Bereich und/oder einem Volumen im Raum überschneidet). Die Sensoren innerhalb der Kameras 405 sind innerhalb einer Ebene (die im Wesentlichen parallel zu einer Ebene durch den unteren Umfang 430 verläuft) angeordnet. In einigen Implementierungen kann sich ein gesamtes Sichtfeld (z. B. oder im Wesentlichen ein gesamtes Sichtfeld) von mindestens zwei benachbarten Kameras 405 mit einem Sichtfeld einer dritten der Kameras 405 (benachbart zu mindestens einer der zwei benachbarten Kameras 405) überlappen. In einigen Implementierungen kann sich das Sichtfeld eines beliebigen Satzes von drei benachbarten Kameras 405 überlappen, sodass ein beliebiger Punkt (z. B. jeder Punkt innerhalb einer Ebene durch die Sensoren der Kameras 405) rund um den unteren Umfang 430 durch mindestens drei Kameras 405 aufgenommen werden kann. Die Überlappung der drei benachbarten Kameras 405 kann wichtig sein, um 360°-Videos mit richtiger Tiefe, Bildschärfe usw. aufzunehmen.

In einigen Implementierungen weisen die Kameras 415 der oberen mehrflächigen Kappe 430 des Kameraträgersystems 400 nach außen (z. B. weisen von einer Mitte des Kameraträgersystems 400 weg). Gemäß einigen Implementierungen ist jede der Kameras 415 so ausgerichtet, dass eine Achse entlang eines Sichtfelds eines Objektivsystems der Kameras 415 nicht parallel zu den Achsen eines Sichtfelds eines Objektivsystems der Kameras 405 verläuft. Wie in 6 dargestellt, bilden zum Beispiel die Achsen für das Sichtfeld 610 der Kameras 415 einen spitzen Winkel mit den Achsen für das Sichtfeld 510 der Kameras 405 für jene Kameras 415, die direkt über den Kameras 405 am Kameragehäuse 420 (z. B. Kamera 415A und Kamera 405A) angeordnet sind. Außerdem bilden die Achsen für das Sichtfeld 610 der Kameras 415 einen stumpfen Winkel mit den Achsen für das Sichtfeld 510 der Kameras 405 für jene Kameras 415, die über den Kameras 405 an der gegenüberliegenden Seite des Kameragehäuses 420 (z. B. Kamera 415A und Kamera 405B) angeordnet sind.

In einigen Implementierungen ist jede der Kameras so konfiguriert, dass sich eine Achse 610 (in 6 dargestellt) durch ein Objektivsystem (z. B. eine Mitte eines Objektivs oder Aufnahmesensors) an einer Seite des Kameraträgersystems 400 durch die Mitte 630 des unteren kreisförmigen Umfangs erstrecken kann. Die Kameras 415 (oder Bildsensoren) sind in Kreisform rund um die obere mehrflächige Kappe 440 des Kameragehäuses 420 angeordnet, sodass jede der Kameras 415 eine Projektion (oder Mitte der Projektion) nach außen aufweist, die nicht parallel zur Normalen des unteren Umfangs 430 verläuft.

In einigen Implementierungen sind die Kameras 415 an jeweiligen Flächen 445 der oberen mehrflächigen Kappe 440 angeordnet. Wie in 4A4D dargestellt, ist zum Beispiel Kamera 415A an Fläche 445A angeordnet, Kamera 415B ist an Fläche 445B angeordnet und Kamera 415M ist an Fläche 445M angeordnet. Die Flächen 445 der oberen mehrflächigen Kappe 440 können auf einer Ebene in einem Winkel ausgerichtet sein, der sich vom Winkel der Ebene des unteren kreisförmigen Umfangs 430 unterscheidet. In einigen Implementierungen können die Stirnflächen 445, während die Kameras 405 des unteren kreisförmigen Umfangs 430 von der Mitte des Kameragehäuses 420 direkt nach außen weisen können, die Kameras 415, wie in 4A4D dargestellt, nach oben und nach außen von der Mitte des Kameragehäuses 420 ausrichten. Mit anderen Worten können die Kameras 415 Projektionen aufweisen, die von einem inneren Teil des Kameraträgersystems 400 weg und nach oben weisen. Obgleich nicht dargestellt, kann in einigen Implementierungen eine ungerade Anzahl von Kameras 415 als Teil der oberen mehrflächigen Kappe 440 im Kameragehäuse 420 enthalten sein.

In einigen Implementierungen kann eine minimale oder maximale Geometrie der oberen mehrflächigen Kappe 440 auf Basis der Optik (z. B. Sichtfeld, Pixelauflösung) von einer oder mehreren Kameras 415 definiert werden. Ein minimaler Durchmesser und/oder ein maximaler Durchmesser der oberen mehrflächigen Kappe 440 kann zum Beispiel auf Basis eines Sichtfelds von mindestens einer der Kameras 415 definiert werden. In einigen Implementierungen kann ein relativ großes (oder breites) Sichtfeld mindestens einer der Kameras 415 (z. B. Sensoren der mindestens einen Kamera 415) in einer relativ kleinen oberen mehrflächigen Kappe 440 resultieren. Wie in 4A bis 4D dargestellt, ist zum Beispiel jede der Kameras 415 im Querformat (z. B. im Seitenverhältnis 3:4) angeordnet, sodass eine horizontale Dimension der Bilder, die von den Kameras 415 aufgenommen werden, größer ist als eine vertikale Dimension der Bilder, die von den Kameras 415 aufgenommen werden. In einigen Implementierungen kann jede der Kameras 415 in einem beliebigen Seitenverhältnis oder in einer beliebigen Ausrichtung (z. B. einem Seitenverhältnis von 16:9 oder 9:16, einem Seitenverhältnis von 4:3) angeordnet sein.

In einigen Implementierungen ist der Durchmesser (oder Radius) der oberen mehrflächigen Kappe 440 so definiert, dass sich das Sichtfeld von mindestens drei benachbarten Kameras 415 überlappt. In einigen Implementierungen kann sich ein gesamtes Sichtfeld (z. B. oder im Wesentlichen ein gesamtes Sichtfeld) von mindestens zwei benachbarten Kameras 415 mit einem Sichtfeld einer dritten der Kameras 415 (die mit mindestens einer der zwei benachbarten Kameras 415 benachbart ist) überlappen. In einigen Implementierungen kann sich das Sichtfeld eines beliebigen Satzes von drei benachbarten Kameras 415 überlappen, sodass ein beliebiger Punkt (z. B. jeder Punkt innerhalb einer Ebene durch die Sensoren der Kameras 415) rund um die obere mehrflächige Kappe 440 durch mindestens drei Kameras 415 aufgenommen werden kann.

Gemäß einigen Implementierungen können die Stirnflächen 445 so abgewinkelt sein, dass die Kameras 415 Bilder aufnehmen, die außerhalb des Sichtfelds der Kameras 405 liegen. Da Kameras 405 zum Beispiel entlang dem unteren kreisförmigen Umfang 430 des Kameragehäuses 420 angeordnet sein können, sodass jede der Vielzahl von Kameras eine Projektionsnormale nach außen zum unteren kreisförmigen Umfang 430 aufweist, kann es sein, dass die Kameras 405 nicht in der Lage sind, Bilder direkt über dem Kameragehäuse 420 aufzunehmen. Demgemäß können die Stirnflächen 445 so abgewinkelt sein, dass die Kameras 415 Bilder direkt über dem Kameragehäuse 420 aufnehmen.

Das Kameragehäuse 400 kann gemäß einigen Ausführungsformen ein Schaftgehäuse 450 beinhalten. Das Schaftgehäuse 450 kann eine oder mehrere Luftströmungskammern beinhalten, die so konfiguriert sind, dass sie Wärme von den Kameras 405 und 415 weg und in Richtung Boden des Kameraträgersystems 400 leiten. Gemäß einigen Implementierungen kann sich ein Lüfter 460 am Boden des Schaftgehäuses 450 befinden, um die Luftströmung durch das Kameraträgersystem 400 zu ermöglichen und Wärme vom Kameragehäuse 420 zu entfernen.

In einigen Implementierungen kann das Kameraträgersystem 400 ein Mikrofon (nicht dargestellt) für das Aufzeichnen von Ton beinhalten, der Bildern (und Videos) zugeordnet ist, die von den Kameras 405 und Kameras 410 aufgenommen werden. In einigen Implementierungen kann das Kameraträgersystem 400 eine Mikrofonhalterung beinhalten, an der ein externes Mikrofon angebracht und mit dem Kameraträgersystem 400 verbunden werden kann.

In einigen Implementierungen kann das Kameraträgersystem 400 einen Mechanismus für das Montieren an einem anderen Gerät, z. B. einem Stativ, beinhalten und der Montagemechanismus kann am Schaftgehäuse 450 angebracht sein. In einigen Implementierungen können eine oder mehrere Öffnungen so angeordnet (z. B. an einer unteren Seite des Kameraträgersystems 400 angeordnet) sein, dass das Kameraträgersystem 400 an einem Stativ montiert werden kann. In einigen Implementierungen kann der Kopplungsmechanismus für das Montieren des Kameraträgersystems 400 an einem anderen Gerät, wie z. B. einem Stativ, an einer der Stelle für eine Mikrofonhalterung gegenüberliegenden Seite angeordnet sein. In einigen Implementierungen kann der Kopplungsmechanismus für das Montieren des Kameraträgersystems 400 an einem anderen Gerät an derselben Seite wie der Stelle für die Mikrofonhalterung angeordnet sein.

In einigen Implementierungen kann das Kameraträgersystem 400 abnehmbar mit einem anderen Gerät, wie z. B. einem Fahrzeug (z. B. einem Luftfahrzeug wie einem Quadrocopter), gekoppelt sein. In einigen Implementierungen kann das Kameraträgersystem 400 aus einem Material hergestellt sein, das ausreichend leicht ist, sodass das Kameraträgersystem 400 und die zugehörigen Kameras 405, 415 mithilfe eines Luftfahrzeugs, wie z. B. eines Quadrocopters, bewegt werden können.

In einigen Implementierungen können die in dieser Offenbarung beschriebenen Kameraträgersysteme eine beliebige Anzahl von Kameras beinhalten, die an einem kreisförmigen Gehäuse montiert sind. In einigen Implementierungen können die Kameras abstandsgleich mit benachbarten Kameras an den jeweiligen vier Richtungen nach außen von der Mitte des kreisförmigen Trägersystems montiert sein. In diesem Beispiel können die Kameras, die als stereoskope Nachbarn konfiguriert sind, zum Beispiel nach außen entlang eines Umfangs ausgerichtet und in null Grad, neunzig Grad, einhundertachtzig Grad und zweihundertsiebzig Grad angeordnet sein, sodass jeder stereoskope Nachbar einen getrennten Quadranten eines 360-Grad-Sichtfelds aufnimmt. Im Allgemeinen bestimmt das auswählbare Sichtfeld der Kameras den Umfang der Überlappung der Kameraansicht eines stereoskopen Nachbarn sowie die Größe jeglicher toten Winkel zwischen den Kameras und zwischen benachbarten Quadranten. Ein exemplarisches Kameraträgersystem kann einen oder mehrere stereoskope Kameranachbarn einsetzen, die so konfiguriert sind, dass sie ein Feld von etwa 120 Grad bis etwa 180 Grad aufnehmen.

In einigen Implementierungen können die Kameragehäuse der mehrstufigen Kameraträgersysteme, die in dieser Offenbarung beschrieben sind, mit einem Durchmesser (z. B. Durchmesser 206 in 2) von etwa 5 Zentimetern bis etwa 8 Zentimetern konfiguriert sein, um menschliche Pupillenabstände nachzubilden, um aufzunehmen, was ein Benutzer sehen würde, wenn der Benutzer zum Beispiel seinen Kopf oder Körper viertelkreisförmig, halbkreisförmig, ganzkreisförmig oder einem anderen Teil einer Kreisform drehen würde. In einigen Implementierungen kann sich der Durchmesser auf einen Abstand über das Trägersystem oder Kameragehäuse von Kameraobjektiv zu Kameraobjektiv hinweg beziehen. In einigen Implementierungen kann sich der Durchmesser auf einen Abstand von einem Kamerasensor über das Trägersystem zu einem anderen Kamerasensor hinweg beziehen.

In einigen Implementierungen ist das Kameraträgersystem von etwa 8 Zentimeter bis etwa 25 Zentimeter vergrößert, um zum Beispiel zusätzliche Kamerabefestigungen darin unterzubringen. In einigen Implementierungen können weniger Kameras an einem Trägersystem mit einem kleineren Durchmesser verwendet werden. In diesem Beispiel können die in dieser Offenbarung beschriebenen Systeme Ansichten zwischen den Kameras am Trägersystem feststellen oder ableiten und jene Ansichten mit den tatsächlich aufgenommenen Ansichten verschachteln.

In einigen Implementierungen können die in dieser Offenbarung beschriebenen Kameraträgersysteme verwendet werden, um ein Panoramabild aufzunehmen, indem sie zum Beispiel unter Verwendung einer Kamera mit einem drehbaren Objektiv oder einer drehbaren Kamera ein gesamtes Panorama in einer Einzelaufnahme aufnehmen. Die oben beschriebenen Kameras und Kameraträgersystems können mit den in dieser Offenbarung beschriebenen Verfahren verwendet werden. Insbesondere kann ein Verfahren, das in Bezug auf ein Kameraträgersystem beschrieben ist, mithilfe eines der anderen Kameraträgersysteme durchgeführt werden, die hierin beschrieben sind. In einigen Implementierungen können die Kameraträgersysteme und nachfolgend aufgenommenen Inhalte mit anderen Inhalten, wie z. B. virtuellen Inhalten, wiedergegebenen Computergrafik-(CG)-Inhalten und/oder anderen erhaltenen oder erzeugten Bildern, kombiniert werden.

Im Allgemeinen können Bilder, die mithilfe von mindestens drei Kameras (z. B. 405A, 405B, 405C) am Kameraträgersystem 400 aufgenommen wurden, verwendet werden, um Tiefenmaße für eine bestimmte Szene zu berechnen. Die Tiefenmaße können verwendet werden, um Teile der Szene (oder Bilder aus der Szene) in stereoskope 3D-Inhalte zu übersetzen. Das Interpolationsmodul 114 kann zum Beispiel die Tiefenmaße verwenden, um stereoskope 3D-Bilder zu produzieren, die in 360-Grad-Stereo-Videobildmaterial zusammengesetzt werden können.

In einigen Implementierungen kann das Kameraträgersystem 400 alle Strahlen aufnehmen, die durch die omindirektionale Stereo(ODS)-Projektion benötigt werden, die zum Beispiel in 19 dargestellt ist, und gleichzeitig die Bildqualität maximieren und Bildverzerrungen zu minimieren.

Die Kameras (für jede Stufe) entlang einer Kreisform des Radius R, der größer als der Radius des ODS-Betrachtungskreises r (nicht dargestellt) ist. Ein ODS-Strahl, der durch eine Kamera geht, tut dies in einem Winkel sin–1(r/R) zur Normalen des Kreises, auf dem sich die Kameras befinden. Zwei unterschiedliche Kameralayouts sind möglich: ein tangentiales Layout (nicht dargestellt) und ein radiales, wie zum Beispiel in den jeweiligen in 4A bis 4D dargestellten Stufen des Kameraträgersystems 400.

Im tangentialen Layout sind die Hälfte der Kameras für die Aufnahme von Strahlen für das linke Bild und die andere Hälfte für die Aufnahme von Strahlen für das rechte Bild bestimmt, wobei jede Kamera so ausgerichtet ist, dass ein ODS-Strahl, der durch sie hindurch geht, dies entlang ihrer optischen Achse tut.

Andererseits verwendet das radiale Layout des Kameraträgersystems 400 alle Kameras, um Strahlen sowohl für die linken als auch die rechten Bilder aufzunehmen, weshalb jede Kamera direkt nach außen weist.

In einigen Implementierungen ist der Vorteil des radialen Designs des Kameraträgersystems 400, dass die Bildinterpolation zwischen benachbarten Kameras erfolgt, während sie beim tangentialen Design zwischen jeder zweiten Kamera erfolgen muss, was die Basislinie für das Ansichtsinterpolationsproblem verdoppelt und sie schwieriger macht. In einigen Implementierungen muss jede Kamera des Kameraträgersystems 400 des radialen Designs Strahlen für das linke und rechte Bild aufnehmen, während das horizontale Sichtfeld, das von jeder Kamera benötigt wird, um 2 sin–1(r/R) erhöht wird. In der Praxis bedeutet dies, dass das radiale Design des Kameraträgersystems 400 für größere Trägersystemradien besser sein kann und das tangentiale Design für kleinere Radien besser sein kann.

Die im Kameraträgersystem 400 enthaltenen Kameras können zum Beispiel etwa 3 cm breit sein und daher begrenzen, wie klein das Kameraträgersystem 400 hergestellt werden kann. Demgemäß kann das radiale Design in einigen Implementierungen geeigneter sein, wobei die weitere Erläuterung auf diesem Layout basiert. In einigen Implementierungen kann die Geometrie des Kameraträgersystems 400 durch 3 Parameter beschrieben werden (siehe 4C). Der Radius R des Kameraträgersystems, das horizontale Sichtfeld der Kameras γ und die Anzahl der Kameras n. Das hierin beschriebene Kameraträgersystem 400 erreicht mindestens die unten angegebenen Überlegungen:

  • – Minimierung des Trägersystemdurchmessers R und dadurch Verringerung der vertikalen Verzerrung.
  • – Minimierung des Abstands zwischen benachbarten Kameras und dadurch Verringerung der Basislinie für die Ansichtsinterpolation.
  • – Ausreichendes horizontales Sichtfeld für jede Kamera, sodass Inhalte mindestens in einem gewissen Abstand d von der Kameraträgersystemmitte zusammengesetzt werden können.
  • – Maximierung des vertikalen Sichtfelds jeder Kamera, was zu einem großen vertikalen Sichtfeld im ausgegebenen Video führt.
  • – Maximierung der gesamten Bildqualität, was im Allgemeinen die Verwendung großer Kameras erfordert.

Zwischen benachbarten Kameras in einem Ring (oder einer Stufe) des Kameraträgersystems 400 können Ansichten auf einer geraden Linie synthetisiert werden, die zwischen den zwei Kameras liegt, und diese synthetisierten Ansichten können nur Punkte beinhalten, die durch beide Kameras beobachtet werden. 4C zeigt das durch eine Kamera zu beobachtende Volumen, um das Zusammensetzen für alle Punkte mit Abständen von der Mitte des Kameraträgersystems 400 von mindestens d zu ermöglichen.

Bei einem Ring mit Radius R, der n Kameras enthält, kann das minimale erforderliche horizontale Sichtfeld für jede Kamera wie folgt abgeleitet werden:

In einigen Implementierungen können die Panoramabilder, die durch jede der Stufen produziert werden, die in einem Kameraträgersystem (z. B. dem Kameraträgersystem 400) enthalten sind, eine Überlappung von mindestens 10 Grad im gewünschten minimalen Zusammensetzungsabstand (z. B. etwa 0,5 m) aufweisen. Mehr Details sind offenbart in Anderson et al., „Jump: Virtual Reality Video“, ACM Transactions on Graphics (TOG), Proceedings of ACM SIGGRAPH Asia 2016, Band. 35, Ausgabe 6, Art. Nr. 198, November 2016, das in seiner Gesamtheit durch Bezugnahme hierin einbezogen wird.

7 zeigt ein Diagramm, das ein exemplarisches VR-Gerät (VR-Headset) 702 veranschaulicht. Ein Benutzer kann das VR-Headset 702 aufsetzen, indem er das Headset 702, ähnlich wie eine Brille, Sonnenbrille usw., über den Augen platziert. In einigen Implementierungen kann, bezugnehmend auf 1, das VR-Headset 702 mit einer Reihe von Monitoren der Computergeräte 106, 108 oder 112 mithilfe eines oder mehrerer drahtgebundener und/oder drahtloser Hochgeschwindigkeits-Kommunikationsprotokolle (z. B. WLAN, Bluetooth, Bluetooth LE, USB usw.) oder mithilfe einer HDMI-Schnittstelle verbunden/schnittstellenmäßig verbunden sein. Die Verbindung kann die virtuellen Inhalte dem VR-Headset 702 zur Anzeige für den Benutzer auf einem Bildschirm (nicht dargestellt) bereitstellen, der im VR-Headset 702 enthalten ist. In einigen Implementierungen kann das VR-Headset 702 ein cast-fähiges Gerät sein. In diesen Implementierungen kann sich der Benutzer entscheiden, die Inhalte für das VR-Headset 702 bereitzustellen oder zu „casten“ (projizieren).

Außerdem kann das VR-Headset 702 mit dem Computergerät 104 mithilfe einer/eines oder mehrerer drahtgebundener und/oder drahtloser Hochgeschwindigkeits-Kommunikationsschnittstellen und -protokolle (z. B. WLAN, Bluetooth, Bluetooth LE, Universal Serial Bus (USB) usw.) verbunden/schnittstellenmäßig verbunden sein. Ein Computergerät (1) kann die Schnittstelle zum VR-Headset 702 erkennen und in Reaktion darauf eine VR-Anwendung ausführen, die den Benutzer und das Computergerät in einer computererzeugten 3D-Umgebung (einem VR-Raum) wiedergibt, der virtuelle Inhalte beinhaltet.

In einigen Implementierungen kann das VR-Headset 702 ein abnehmbares Computergerät beinhalten, das eine VR-Anwendung ausführen kann. Das abnehmbare Computergerät kann den Computergeräten 108 oder 112 ähnlich sein. Das abnehmbare Computergerät kann innerhalb eines Gehäuses oder Rahmens eines VR-Headsets (z. B. des VR-Headsets 702) enthalten sein, das dann von einem Benutzer des VR-Headsets 702 aufgesetzt werden kann. In diesen Implementierungen kann das abnehmbare Computergerät eine Anzeige oder einen Bildschirm bereitstellen, die/den der Benutzer sieht, wenn er mit der computererzeugten 3D-Umgebung (einem VR-Raum) interagiert. Wie oben beschreiben kann sich das Computergerät 104 mithilfe eines drahtgebundenen oder drahtlosen Schnittstellenprotokolls mit dem VR-Headset 702 verbinden. Das mobile Computergerät 104 kann ein Controller im VR-Raum sein, kann als Objekt im VR-Raum erscheinen, kann Eingaben für den VR-Raum bereitstellen und Rückmeldungen/Ausgaben vom VR-Raum empfangen.

In einigen Implementierungen kann das mobile Computergerät 108 eine VR-Anwendung ausführen und Daten für das VR-Headset 702 für die Erstellung des VR-Raums bereitstellen. In einigen Implementierungen können die Inhalte für den VR-Raum, die dem Benutzer auf einem Bildschirm angezeigt werden, der im VR-Headset 702 enthalten ist, auch auf einem Anzeigegerät angezeigt werden, das im mobilen Computergerät 108 enthalten ist. Dies ermöglicht es einer anderen Person, die Interaktion des Benutzers mit dem VR-Raum zu sehen.

Das VR-Headset 702 kann Informationen und Daten bereitstellen, die eine Position und Ausrichtung des mobilen Computergeräts 108 angeben. Die VR-Anwendung kann die Positions- und Ausrichtungsdaten als Angabe der Benutzerinteraktionen im VR-Raum empfangen und verwenden.

8 zeigt eine exemplarische Grafik 800, die eine Reihe von Kameras (und Nachbarn) in Abhängigkeit von einem Kamerasichtfeld für eine Stufe eines mehrstufigen Kameraträgersystems veranschaulicht. Die Grafik 800 stellt eine exemplarische Grafik dar, die verwendet werden kann, um die Anzahl der Kameras zu bestimmen, die an einer Stufe des mehrstufigen Kameraträgersystems für ein vorher definiertes Sichtfeld für das Erzeugen eines stereoskopen Panoramas angeordnet werden können. Die Grafik 800 kann verwendet werden, um Kameraeinstellungen und Kameraplatzierung zu berechnen, um ein bestimmtes Stereo-Panoramaergebnis sicherzustellen. Eine exemplarische Einstellung kann die Auswahl einer Reihe von Kameras beinhalten, die an einem bestimmten Kameraträgersystem befestigt werden. Eine andere Einstellung kann das Bestimmen von Algorithmen beinhalten, die während der Aufnahme-, Vor- oder Nachbearbeitungsschritte verwendet werden. Für optische Flussinterpolationstechniken kann zum Beispiel das Zusammensetzen eines vollständigen 360-Grad-Panoramas vorschreiben, dass jede optische Strahlrichtung von mindestens zwei Kameras gesehen werden sollte. Dies kann die Mindestanzahl der zu verwendenden Kameras beschränken, um die vollständigen 360 Grad in Abhängigkeit vom Kamerasichtfeld theta [θ] abzudecken. Optische Flussinterpolationstechniken können entweder durch Kameranachbarn (oder -paare) oder durch individuelle Kameras durchgeführt und konfiguriert werden.

Wie in 8 dargestellt, wird eine Grafik gezeigt, die eine Funktion 802 veranschaulicht. Die Funktion 802 stellt eine Anzahl der Kamera [n] 804 in Abhängigkeit vom Kamerasichtfeld [θ] 806 dar. In diesem Beispiel wird ein Kamerasichtfeld von etwa 95 Grad durch Linie 808 dargestellt. Der Schnittpunkt 810 der Linie 808 und Funktion 802 zeigen, dass die Verwendung von sechzehn (16) Kameras jeweils mit einem Sichtfeld von 95 Grad ein wünschenswertes Panoramaergebnis liefern würde. In diesem Beispiel kann das Kameraträgersystem durch Verschachteln benachbarter Kameras für jeden benachbarten Satz von Kameras konfiguriert werden, um jedweden Raum zu nutzen, der beim Platzieren von benachbarten Kameras an einem Gestell auftreten kann.

Neben dem Verschachteln der benachbarten Kameras kann die optische Flussanforderung vorschreiben, dass das System 100 den optischen Fluss zwischen Kameras desselben Typs berechnet. Das heißt, der optische Fluss kann für eine erste Kamera und dann für eine zweite Kamera berechnet werden, statt beide gleichzeitig zu berechnen. Im Allgemeinen kann der Fluss bei einem Pixel als eine Ausrichtung (z. B. Richtung und Winkel) und eine Größenordnung (z. B. Geschwindigkeit) berechnet werden.

9 zeigt eine exemplarische Grafik 900, die ein interpoliertes Sichtfeld [θ1] 902 in Abhängigkeit vom Kamerasichtfeld [θ] 904 veranschaulicht. Die Grafik 900 kann verwendet werden, um zu bestimmen, welcher Teil des Sichtfelds der Kamera mit ihrem linken oder rechten Nachbarn gemeinsam genutzt wird. Hier wird bei einem Kamerasichtfeld von etwa 95 Grad (dargestellt durch Linie 906), das interpolierte Sichtfeld, wie durch den Schnittpunkt 908 dargestellt, als etwa 48 Grad dargestellt.

Da diese zwei aufeinanderfolgenden Kameras normalerweise nicht Bilder des genau gleichen Sichtfelds aufnehmen, wird das Sichtfeld einer interpolierten Kamera durch den Schnittpunkt der Sichtfelder der Kameranachbarn dargestellt. Das interpolierte Sichtfeld [θ1] kann dann eine Funktion des Kamerasichtfelds [θ] und des Winkels zwischen den Kameranachbarn sein. Wenn die Mindestanzahl an Kameras für ein bestimmtes Kamerasichtfeld (mithilfe des in 8 dargestellten Verfahrens) ausgewählt ist, kann [θ1], wie in 9 dargestellt, in Abhängigkeit von [θ] berechnet werden.

10 zeigt eine exemplarische Grafik 1000, die die Auswahl einer Konfiguration für ein Kameraträgersystem veranschaulicht. Grafik 1000 kann insbesondere verwendet werden, um zu bestimmen, wie groß ein bestimmtes Kameraträgersystem entworfen werden kann. Grafik 1000 zeigt eine grafische Darstellung eines Zusammensetzungsverhältnisses [d/D] 1002 in Abhängigkeit vom Trägersystemdurchmesser [D in Zentimeter] 1004. Um ein angenehmes Virtual-Reality-Panoramabetrachtungserlebnis zu produzieren, wird in den Beispielen dieser Offenbarung ein Ominstereo-Zusammensetzungsdurchmesser [d] von etwa 5 Zentimeter bis etwa 6,5 Zentimeter ausgewählt, der für den menschlichen IPD typisch ist. In einigen Implementierungen kann Omnistereo-Zusammensetzung mithilfe eines Aufnahmedurchmessers [D] durchgeführt werden, der in etwa gleich dem Zusammensetzungsdurchmesser [d] ist. Das heißt, die Beibehaltung eines Zusammensetzungsverhältnisses von etwa „1“ kann für ein einfacheres Zusammensetzen zum Beispiel bei der Nachbearbeitung von Omnistereo-Bildern sorgen. Diese bestimmte Konfiguration kann Verzerrungen minimieren, da die optischen Strahlen, die für das Zusammensetzen verwendet werden, dieselben wie die tatsächlichen, von der Kamera aufgenommenen Strahlen sind. Das Erhalten eines Zusammensetzungsverhältnisses von „1“ kann schwierig sein, wenn die ausgewählte Anzahl an Kameras hoch ist (z. B. 12 bis 18 Kameras pro Trägersystem beträgt).

Um das Problem von zu vielen Kameras am Trägersystem abzumildern, kann die Trägersystemgröße mit einer größeren Größe entworfen werden, um die zusätzlichen Kameras unterzubringen und ein Gleichbleiben (oder ein im Wesentlichen Gleichbleiben) des Zusammensetzungsverhältnisses zu ermöglichen. Um sicherzustellen, dass der Zusammensetzungsalgorithmus Inhalte in Bildern abtastet, die in der Nähe der Mitte des Objektivs während der Aufnahme aufgenommen werden, kann das Zusammensetzungsverhältnis fest sein, um einen Winkel [α] der Kameras in Bezug auf das Trägersystem zu bestimmen. 10 zeigt zum Beispiel, dass eine Abtastung in der Nähe der Mitte des Objektivs die Bildqualität verbessert und geometrische Verzerrungen minimiert. Insbesondere können kleinere Winkel [α] dazu beitragen, Trägersystemverdeckungen (z. B. Kameras, die Teile des Trägersystems selbst abbilden) zu vermeiden.

Wie in 10 bei 1006 dargestellt, entspricht ein Zusammensetzungsverhältnis [d/D] von 0,75 einem Trägersystemdurchmesser von etwa 6,5 Zentimeter (d. h. dem typischen menschlichen IPD). Eine Verringerung des Zusammensetzungsverhältnisses [d/D] auf etwa 0,45 ermöglicht eine Vergrößerung des Trägersystemdurchmessers auf etwa 15 Zentimeter (bei 1008 dargestellt), was das Hinzufügen zusätzlicher Kameras zum Trägersystem ermöglichen kann. Der Winkel der Kameras in Bezug auf das Kameraträgersystem kann auf Basis des ausgewählten Zusammensetzungsverhältnisses angepasst werden. Das Anpassen der Kamerawinkel auf etwa 30 Grad gibt an, dass der Trägersystemdurchmesser bis zu etwa 12,5 Zentimeter groß sein kann. Ähnlich gibt das Anpassen der Kamerawinkel auf etwa 25 Grad an, dass der Trägersystemdurchmesser bis zu etwa 15 Zentimeter groß sein und zum Beispiel bei erneuter Wiedergabe für einen Benutzer dennoch die richtigen Parallaxe und Sichteffekte beibehalten kann.

Im Allgemeinen kann bei einem gegebenen Trägersystemdurchmesser [D] ein optimaler Kamerawinkel [α] berechnet werden. Aus [α] kann ein maximales Sichtfeld [Θu] berechnet werden. Das maximale Sichtfeld [Θu] entspricht im Allgemeinen dem Sichtfeld, bei dem das Trägersystem die Kameras nicht teilweise verdeckt. Das maximale Sichtfeld kann begrenzen, wie wenige Kameras das Kameraträgersystem halten und kann trotzdem Ansichten liefern, die nicht verdeckt sind.

11 zeigt eine Grafik 1100, die eine exemplarische Beziehung veranschaulicht, die verwendet werden kann, um eine Mindestanzahl von Kameras für eine Stufe eines mehrstufigen Kameraträgersystems gemäß einem vorher festgelegten Trägersystemdurchmesser zu bestimmen. Hier ist die Mindestanzahl der Kameras in einer Stufe [nmin] 1102 für einen bestimmten Trägersystemdurchmesser [D] 1104 dargestellt. Der Trägersystemdurchmesser [D] 1104 begrenzt das maximale nicht verdeckte Sichtfeld, das dazu dient, die Mindestanzahl der Kameras zu begrenzen. Wie in der Grafik bei 1106 dargestellt, können für einen Trägersystemdurchmesser von etwa 10 Zentimetern mindestens sechzehn (16) Kameras in einer Stufe des Kameraträgersystems verwendet werden, um eine nicht verdeckte Ansicht bereitzustellen. Das Ändern des Trägersystemdurchmessers kann eine Erhöhung oder Verringerung bei der Anzahl der Kameras, die am Trägersystem platziert werden, ermöglichen. In einem Beispiel kann das Trägersystem etwa 12 bis etwa 16 Kameras bei einer Trägersystemgröße von etwa 8 bis etwa 25 Zentimetern unterbringen.

Da andere Verfahren verfügbar sind, um das Sichtfeld und die Bildaufnahme-Einstellungen anzupassen, können die Berechnungen mit diesen anderen Verfahren kombiniert werden, um die Kameraträgersystemabmessungen weiter zu verfeinern. Optische Flussalgorithmen können zum Beispiel verwendet werden, um die Anzahl der Kameras zu ändern (z. B. zu verringern), die normalerweise zum Zusammensetzen eines Omnistereo-Panoramas verwendet werden. In einigen Implementierungen können die Grafiken, die in dieser Offenbarung dargestellt oder von Systemen oder Verfahren erzeugt werden, die in dieser Offenbarung beschrieben sind, in Kombination verwendet werden, um virtuelle Inhalte für die Wiedergabe zum Beispiel in einem HMD-Gerät zu erzeugen.

12A–B stellen Strichzeichnungsbeispiele der Verzerrungen dar, die während der Bildaufnahme auftreten können. Insbesondere entspricht die hier dargestellte Verzerrung Effekten, die beim Aufnehmen von Stereopanoramen auftreten. Im Allgemeinen kann die Verzerrung stärker sein, wenn die Szene in der Nähe einer Kamera aufgenommen wird, die die Szene aufnimmt. 12A stellt eine Ebene in einer Szene dar, die zwei Meter mal zwei Meter ist und einen Meter von einer Kameramitte nach außen angeordnet ist. 12B ist dieselbe Ebene wie 12A, jedoch ist die Ebene in dieser 25 Zentimeter nach außen von der Kamera angeordnet. Beide Figuren verwenden einen Aufnahmedurchmesser von 6,5 Zentimetern. 12A stellt eine leichte Dehnung in der Nähe der Mitte bei 1202 dar, während 12B eine gedehntere Mitte 1204 darstellt. Eine Reihe von Techniken kann eingesetzt werden, um diese Verzerrung zu korrigieren. Die folgenden Absätze beschreiben die Verwendung von Approximationsverfahren und -systemen (z. B. Kameraträgersystemen/Aufnahmegeräten), die Bildinhalte aufgenommen haben, um Projektionen (z. B. sphärische und planare Projektionen) zu analysieren, um Verzerrungen zu korrigieren.

13A–B zeigen Beispiele von Strahlen, die während der Sammlung eines Panoramabildes durch Kameras aufgenommen wurden, die sich auf einer Stufe eines mehrstufigen Kameraträgersystems befinden. 13A zeigt, dass bei einem aufgenommenen Satz von Bildern perspektivische Bilder sowohl für linke als auch für rechte Augen an einer beliebigen Stelle auf einem Aufnahmepfad 1302 erzeugt werden können. Hier werden die Strahlen für das linke Auge durch Strahlen 1304a und die Strahlen für das rechte Auge bei 1306a dargestellt. In einigen Implementierungen kann es sein, dass aufgrund der Kameraeinrichtung, Fehlfunktion oder einfach unzureichender Trägersystemeinrichtung für die Szene die jeweiligen gezeigten Strahlen nicht aufgenommen werden. Daher können einige der Strahlen 1304a und 1306a approximiert (z. B. auf Basis anderer Strahlen interpoliert) werden. Wenn die Szene zum Beispiel unendlich weit weg ist, beinhaltet ein messbares Merkmal der Szene die Strahlenrichtung von einem Ursprung zu einem Ziel.

In einigen Implementierungen ist der Strahlursprung ggf. nicht erfassbar. Daher können die Systeme in dieser Offenbarung das linke und/oder rechte Auge approximieren, um einen Ursprungsort für den Strahl zu bestimmen. 13B zeigt approximierte Strahlrichtungen 1306b bis 1306f für das rechte Auge. In diesem Beispiel stammt jeder Strahl von einem anderen Punkt an der Kreisform 1302, statt dass die Strahlen vom selben Punkt stammen. Die Strahlen 1306b bis 1306f sind tangential abgewinkelt zur Aufnahme-Kreisform 1302 dargestellt und sind in bestimmten Bereichen rund um den Umfang der Aufnahme-Kreisform 1302 angeordnet. Außerdem ist die Position der zwei verschiedenen Bildsensoren-Bildsensor 13-1 und Bildsensor 13-2 (die den Kameras zugeordnet oder in ihnen enthalten sind), die einem Kameraträgersystem zugeordnet sind, an der Kameraträgersystem-Kreisform 1303 dargestellt. Wie in 13B dargestellt, ist die Kameraträgersystem-Kreisform 1303 größer als die Aufnahme-Kreisform 1302.

Eine Anzahl von Strahlen (und die Farbe und Intensität der Bilder, die jedem Strahl zugeordnet sind) kann auf diese Weise mithilfe einer anderen Richtung nach außen von der Kreisform approximiert werden. Auf diese Weise kann eine komplette 360-Grad-Panorama-Ansicht, die viele Bilder beinhaltet, sowohl für die Ansichten des linken als auch des rechten Auges bereitgestellt werden. Diese Technik kann dazu führen, die Verzerrung bei Objekten des mittleren Bereichs zu beheben, es kann jedoch in manchen Fällen immer noch eine Verformung bei der Abbildung von Objekten in der Nähe geben. Zur Einfachheit werden approximierte Strahlrichtungen des linken Auges nicht gezeigt. In dieser exemplarischen Implementierung sind nur einige Strahlen 1306b bis 1306f veranschaulicht. Es können jedoch tausende dieser Strahlen (und Bilder, die diesen Strahlen zugeordnet sind) definiert werden. Demgemäß können viele neue Bilder, die jedem der Strahlen zugeordnet sind, definiert (z. B. interpoliert) werden.

Wie in 13B wird Strahl 1306b zwischen Bildsensor 13-1 und Bildsensor 13-2, der auf einer Stufe eines mehrstufigen Kameraträgersystems angeordnet sein kann, projiziert. Der Bildsensor 13-1 ist mit dem Bildsensor 13-2 benachbart. Der Strahl kann einem Abstand G1 vom Bildsensor 13-1 (z. B. einer Mitte der Projektion des Bildsensors 13-1) und einem Abstand G2 vom Bildsensor 13-2 (z. B. einer Mitte der Projektion vom Bildsensor 13-2) entsprechen. Die Abstände G1 und G2 können auf der Stelle basieren, an der der Strahl 1306b die Kameraträgersystem-Kreisform 1303 überschneidet. Der Abstand G1 kann sich von Abstand G2 unterscheiden (z. B. größer als, kleiner als Abstand G2 sein).

Um ein Bild (z. B. ein interpoliertes Bild, ein neues Bild), das Strahl 1306b zugeordnet ist, zu definieren, wird ein erstes Bild (nicht dargestellt), das durch den Bildsensor 13-1 aufgenommen wird, mit einem zweiten Bild (nicht dargestellt), das durch den Bildsensor 13-2 aufgenommen wird, kombiniert (z. B. zusammengesetzt). In einigen Implementierungen können optische Flusstechniken verwendet werden, um das erste Bild und das zweite Bild zu kombinieren. Pixel aus dem ersten Bild, die Pixeln aus dem zweiten Bild entsprechen, können zum Beispiel identifiziert werden.

Um ein Bild zu definieren, das zum Beispiel Strahl 1306b zugeordnet ist, werden die entsprechenden Pixel auf Basis der Abstände G1 und G2 verschoben. Es kann davon ausgegangen werden, dass die Auflösung, die Seitenverhältnisse, die Höhe usw. der Bildsensoren 13-1, 13-2 zum Definieren eines Bildes (z. B. eines neuen Bildes) für den Strahl 1306b gleich sind. In einigen Implementierungen können die Auflösung, die Seitenverhältnisse, die Höhe usw. unterschiedlich sein. In diesen Implementierungen müsste die Interpolation jedoch geändert werden, um diese Unterschiede zu berücksichtigen.

Als ein spezifisches Beispiel kann ein erstes Pixel, das einem Objekt im ersten Bild zugeordnet ist, als einem zweiten Pixel entsprechend identifiziert werden, das dem Objekt im zweiten Bild zugeordnet ist. Da das erste Bild aus der Perspektive des Bildsensors 13-1 (der sich an einer ersten Stelle rund um die Kameraträgersystem-Kreisform 1303 befindet) aufgenommen wird und das zweite Bild aus der Perspektive des Bildsensors 13-2 (der sich an einer zweiten Stelle rund um die Kameraträgersystem-Kreisform 1303 befindet) aufgenommen wird, wird das Objekt in eine Position (z. B. X-Y-Koordinatenposition) innerhalb des ersten Bildes im Vergleich zu einer Position (X-Y-Koordinatenposition) im zweiten Bild verschoben. Ähnlich wird das erste Pixel, das dem Objekt zugeordnet ist, in eine Position (z. B. X-Y-Koordinatenposition) in Bezug auf das zweite Pixel, das dem Objekt zugeordnet ist, verschoben. Um ein neues Bild zu produzieren, das Strahl 1306b zugeordnet ist, kann ein neues Pixel, das dem ersten Pixel und dem zweiten Pixel (und dem Objekt) entspricht, auf Basis eines Verhältnisses der Abstände G1 und G2 definiert werden. Speziell kann das neue Pixel an einer Stelle definiert werden, deren Position vom ersten Pixel auf Basis des Abstands G1 (und um einen Faktor auf Basis des Abstands zwischen der Position des ersten Pixels und der Position des zweiten Pixels skaliert) und vom zweiten Pixel auf Basis des Abstands G2 (und um einen Faktor auf Basis des Abstands zwischen der Position des ersten Pixels und der Position des zweiten Pixels skaliert) verschoben ist.

Gemäß der zuvor beschriebenen Implementierung kann eine Parallaxe für das neue Bild beschrieben werden, das Strahl 1306b zugeordnet ist, die mit dem ersten Bild und dem zweiten Bild konsistent ist. Speziell können Objekte, die relativ nah zum Kameraträgersystem angeordnet sind, in einem größeren Umfang verschoben werden, als Objekte, die vom Kameraträgersystem relativ weit weg angeordnet sind. Diese Parallaxe, die zwischen dem Verschieben der Pixel (vom ersten Pixel zum zweiten Pixel zum Beispiel) beibehalten werden kann, kann auf den Abständen G1 und G2 des Strahls 1306b basieren.

Dieser Prozess kann für sämtliche Strahlen (z. B. Strahlen 1306b bis 1306f) rund um die Aufnahme-Kreisform 1302 wiederholt werden. Neue Bilder, die jedem der Strahlen rund um die Aufnahme-Kreisform 1302 zugeordnet sind, können auf Basis eines Abstands zwischen jedem der Strahlen und den Bildsensoren (z. B. benachbarten Bildsensoren, Bildsensoren 13-1, 13-2) rund um die Kameraträgersystem-Kreisform 1303 definiert werden.

Wie in 13B dargestellt, ist ein Durchmesser der Kameraträgersystem-Kreisform 1303 größer als ein Durchmesser der Aufnahme-Kreisform 1302. In einigen Implementierungen kann der Durchmesser der Kameraträgersystem-Kreisform 1303 zwischen dem 1,5- und 8-fachen größer sein als der Durchmesser der Aufnahme-Kreisform 1302. Als ein spezifisches Beispiel kann der Durchmesser der Aufnahme-Kreisform 6 Zentimeter betragen, während der Durchmesser der Kameraträgersystem-Kreisform 1303 (z. B. Kameramontagering 412, der in 4A dargestellt ist) 30 Zentimeter betragen kann.

14A–B veranschaulichen, wie in 13A–B beschrieben, die Verwendung der Approximierung planarer perspektivischer Projektion. 14A stellt eine Panoramaszene mit verzerrten Linien vor einer Approximierung der planaren perspektivischen Strahlen und Projektion dar. Wie dargestellt, werden eine Vorhangstange 1402a, ein Fensterrahmen 1404a und eine Tür 1406a als Objekte mit gekrümmten Merkmalen gezeigt, obgleich es sich in Wirklichkeit jedoch um Objekte mit geraden Merkmalen handelt. Objekte mit geraden Merkmalen beinhalten Objekte, die keine gekrümmten Flächen aufweisen (wie z. B. eine flache Karteikarte, ein quadratischer Kasten, ein rechteckiger Fensterrahmen usw.). In diesem Beispiel sind die Objekte 1402a, 1404a und 1406a gekrümmt dargestellt, da sie im Bild verzerrt wurden. 14B stellt ein korrigiertes Bild dar, in dem die planare perspektivische Projektion mit einem horizontalen 90-Grad-Sichtfeld approximiert wurde. Hier sind die Vorhangstange 1402a, der Fensterrahmen 1404a und die Tür 1406a als korrigierte, gerade Objekte 1402a, 1404b bzw. 1404c dargestellt.

15A–C veranschaulichen Beispiele approximierter planarer perspektivischer Projektion, die auf Ebenen eines Bildes angewandt wurde. 15A zeigt eine planare perspektivische Projektion eines Panoramas mithilfe von Techniken, die in dieser Offenbarung beschrieben sind. Die gezeigte Draufsicht 1500 kann zum Beispiel eine Überlagerung der Ebene im Bild in 14B darstellen. Insbesondere stellt 15A eine korrigierte 14A dar, bei der die gebogenen Linien in gerade Linien projiziert werden. Hier wird die Ebene 1500 des Panoramas in einem Abstand von einem Meter (mit einem horizontalen 90-Grad-Sichtfeld) dargestellt. Die Linien 1502, 1504, 1506 und 1508 sind gerade, während dieselben Mittellinien zuvor (entsprechend 14A) gebogen und verzerrt waren.

Andere Verzerrungen können auf Basis des ausgewählten Projektionsschemas auftreten. 15B und 15C stellen zum Beispiel Ebenen (1510 und 1520) dar, die mithilfe einer planaren perspektivischen Projektion von einem Panorama mithilfe von Techniken in dieser Offenbarung erzeugt werden. Das Panorama wurde mit einem Abstand von 25 Zentimetern (horizontales 90-Grad-Sichtfeld) aufgenommen. 15B zeigt die Aufnahme für das linke Auge 1510, während 15C die Aufnahme für das rechte Auge 1520 zeigt. Hier werden die Unterseiten der Ebenen (1512, 1522) nicht auf eine gerade Linie projiziert, zudem wird eine vertikale Parallaxe eingeführt. Diese bestimmte Verformung kann auftreten, wenn planare perspektivische Projektion verwendet wird.

16A–B veranschaulichen Beispiele der Einführung einer vertikalen Parallaxe. 16A zeigt eine gerade Linie 1602a, die gemäß typischen Omnistereo-Panoramatechniken aufgenommen wird. Im gezeigten Beispiel stammt jeder Strahl 1604a1618a von einem anderen Punkt auf der Kreisform 1622.

16B zeigt, gesehen mithilfe einer perspektivischen Approximationstechnik, dieselbe gerade Linie. Wie dargestellt, wird die gerade Linie 1602a verformt als Linie 1602b dargestellt. Strahlen 1604b1618b stammen von einem einzelnen Punkt auf der Kreisform 1622. Die Verformung kann den Effekt haben, die linke Hälfte der Linie 1602b in Richtung Betrachter zu bringen und die rechte Hälfte der Linie vom Betrachter weg zu schieben. Für das linke Auge kann das Gegenteil erfolgen, d. h. die linke Hälfte der Linie erscheint weiter weg, während die rechte Hälfte der Linie näher erscheint. Die verformte Linie ist zwischen zwei Asymptoten gekrümmt, die durch einen Abstand gleich dem Durchmesser 1624 des Panoramas getrennt sind, das die Kreisform 1622 wiedergibt. Da die Verformung als die gleiche Größe wie der Panorama-Aufnahmeradius aufweisend dargestellt ist, kann es sein, dass sie nur bei Objekten in der Nähe bemerkbar ist. Diese Form der Verformung kann zu vertikaler Parallaxe für einen Benutzer führen, der ein Bild betrachtet, was Schwierigkeiten beim Verschmelzen verursachen kann, wenn Zusammensetzungsvorgänge bei den verzerrten Bildern durchgeführt werden.

17A–B zeigen exemplarische Punkte eines Koordinatensystems, das zum Veranschaulichen von Punkten in einem 3D-Panorama verwendet werden kann. 17A–B zeigen einen Punkt (0, Y, Z)(0, Y, Z) 1702, der durch die in dieser Offenbarung beschriebenen Panoramatechniken abgebildet wird. Die Projektion des Punkts in die linken und rechten Panoramen kann, wie unten in Gleichungen (1) und (2) dargestellt, durch (–θ, ϕ)(–θ, ϕ) bzw. (θ, ϕ)(θ, ϕ), dargestellt werden, wobei: und wobei rr 1704 der Radius der Panorama-Aufnahme ist.

17A zeigt eine Ansicht von oben nach unten der Panorama-Abbildung des Punkts (0, Y, Z)(0, Y, Z) 1702. 17B zeigt eine Seitenansicht der Panorama-Abbildung des Punkts (0, Y, Z)(0, Y, Z) 1702. Der dargestellte Punkt wird auf (–θ, ϕ)(–θ, ϕ) im linken Panorama projiziert und auf (θ, ϕ)(θ, ϕ) im rechten Panorama projiziert. Diese bestimmten Ansichten entsprechen der ursprünglichen Aufnahme und wurden in keine andere Ebene projiziert.

18 stellt eine projizierte Ansicht des Punkts dar, der in 17A17B gezeigt wird. Hier ist der perspektivische Standpunkt 1702, wie in 18 durch 1802 dargestellt, so ausgerichtet, dass er mit einer Drehung des Winkels [α] um die Y-Achse horizontal blickt. Da die perspektivische Projektion nur die Strahlrichtung berücksichtigt, ist es möglich, die Strahlen, die der Punkt 1702 unterwegs projiziert, durch Umwandeln der Strahlen, die den Punkt 1702 in der Panoramaprojektion 1802 sehen, in einen Bezugsrahmen einer perspektivischen Kamera zu finden. Punkt 1702 wird zum Beispiel entlang der folgenden Strahlen projiziert, die in Tabelle 1 unten dargestellt sind: Tabelle 1

Durch eine perspektivische Division kann die Punktprojektion bestimmt werden, wie durch die Gleichungen in Tabelle 2 nachfolgend dargestellt: Tabelle 2

Es ist zu sehen, dass, wenn θ = π2 (entsprechend dem ursprünglichen 3D-Punkt 1702, der unendlich weit weg ist), der Punkt 1702 in beiden perspektivischen Bildern im Allgemeinen auf dieselbe Y-Koordinate projiziert wird und es keine vertikale Parallaxe gibt. Wenn jedoch θ weiter weg von θ = π2 ist (wenn der Punkt sich näher zur Kamera bewegt), unterscheiden sich die projizierten Y-Koordinaten für die linken und rechten Augen (außer für den Fall, in dem α = 0, was der perspektivischen Ansicht entspricht, die in Richtung Punkt 1702 zeigt).

In einigen Implementierungen können Verzerrungen durch Aufnehmen von Bildern und Szenen auf eine bestimmte Weise vermieden werden. Das Aufnehmen von Szenen innerhalb eines Nahfelds zur Kamera (d. h. weniger als ein Meter entfernt) kann zum Beispiel dazu führen, dass Verzerrungselemente erscheinen. Daher ist das Aufnehmen von Szenen oder Bildern ab einem Meter Entfernung eine Möglichkeit, Verzerrungen zu minimieren.

In einigen Implementierungen kann Verzerrung mithilfe von Tiefeninformationen korrigiert werden. Bei genauen Tiefeninformationen für eine Szene kann es zum Beispiel möglich sein, die Verzerrung zu korrigieren. Das heißt, da die Verzerrung von der aktuellen Blickrichtung abhängen kann, ist es ggf. nicht möglich, eine einzelne Verzerrung auf Panoramabilder vor der Wiedergabe anzuwenden. Stattdessen können Tiefeninformationen zusammen mit den Panoramen weitergegeben und zum Zeitpunkt der Wiedergabe verwendet werden.

19 veranschaulicht Strahlen, die in einem omnidirektionalen Stereobild mithilfe der in dieser Offenbarung beschriebenen Panoramabildgebungstechniken aufgenommen werden. In diesem Beispiel entsprechen Strahlen 1902, 1904, 1906, die im Uhrzeigersinn rund um Kreisform 1900 zeigen, Strahlen für das linke Auge. Ähnlich entsprechen Strahlen 1908, 1910, 1912, die entgegen dem Uhrzeigersinn rund um Kreisform 1900 zeigen, Strahlen für das rechte Auge. Jeder Strahl entgegen dem Uhrzeigersinn kann einen entsprechenden Strahl im Uhrzeigersinn an der gegenüberliegenden Seite der Kreisform haben, der in dieselbe Richtung blickt. Dies kann einen linken/rechten Betrachtungsstrahl für jede der Richtungen der Strahlen bereitstellen, der in einem einzelnen Bild dargestellt ist.

Das Aufnehmen eines Satzes von Strahlen für die Panoramen kann, wie in dieser Offenbarung beschrieben, das Bewegen einer Kamera (nicht dargestellt) rund um die Kreisform 1900 beinhalten, wobei die Kamera tangential zur Kreisform 1900 ausgerichtet wird (z. B. Zeigen des Kameraobjektivs, das nach außen weist, auf die Szene und tangential zur Kreisform 1900). Für das linke Auge kann die Kamera nach rechts ausgerichtet werden (z. B. Strahl 1904 wird rechts von der Mittellinie 1914a aufgenommen). Ähnlich kann für das rechte Auge die Kamera nach links ausgerichtet werden (z. B. Strahl 1910 wird links von der Mittellinie 1914a aufgenommen). Ähnliche linke und rechte Bereiche können mithilfe der Mittellinie 1914b für Kameras auf der anderen Seite der Kreisform 1900 und unter der Mittellinie 1914b definiert werden. Das Produzieren omnidirektionaler Stereobilder funktioniert für die echte Kameraaufnahme oder für vorher wiedergegebene Computergrafik(CG)-Inhalte. Ansichtsinterpolation kann sowohl mit aufgenommenen Kamerainhalten als auch wiedergegebenen CG-Inhalten verwendet werden, um zum Beispiel das Aufnehmen der Punkte zwischen den echten Kameras auf der Kreisform 1900 zu simulieren.

Das Zusammensetzen eines Satzes von Kameras kann die Verwendung einer sphärischen/äquirektangulären Projektion für das Speichern des Panoramabildes beinhalten. Im Allgemeinen sind bei diesem Verfahren zwei Bilder, eines für jedes Auge, vorhanden. Jedes Pixel im äquirektangulären Bild entspricht einer Richtung auf der Kugel. Die X-Koordinate kann zum Beispiel einem Längsgrad und die Y-Koordinate kann einem Breitengrad entsprechen. Für ein mono-omnidirektionales Bild können die Ursprünge der Betrachtungsstrahlen für die Pixel derselbe Punkt sein. Für das Stereobild kann jedoch jeder Betrachtungsstrahl auch von einem anderen Punkt auf der Kreisform 1900 stammen. Das Panoramabild kann dann aus den aufgenommenen Bildern zusammengesetzt werden, indem jedes Pixel im aufgenommen Bild erfasst wird, ein idealer Betrachtungsstrahl aus einem Projektionsmodell erzeugt wird und die Pixel aus den aufgenommenen oder interpolierten Bildern abgetastet werden, deren Betrachtungsstrahlen am genausten dem idealen Strahl entsprechen. Als Nächstes können die Strahlenwerte miteinander gemischt werden, um einen Panoramapixelwert zu erzeugen.

In einigen Implementierungen kann eine auf dem optischen Fluss basierende Ansichtsinterpolation verwendet werden, um mindestens ein Bild pro Grad auf der Kreisform 1900 zu produzieren. In einigen Implementierungen können komplette Spalten des Panoramabilds gleichzeitig gefüllt werden, da bestimmt werden kann, dass, wenn ein Pixel in der Spalte aus einem bestimmten Bild abgetastet wird, die Pixel in dieser Spalte aus demselben Bild abgetastet werden.

Das bei Aufnahme- und Wiedergabeaspekten dieser Offenbarung verwendete Panoramaformat kann sicherstellen, dass die Bildkoordinaten eines Objekts, das von den linken und rechten Augen gesehen wird, sich nur durch eine horizontale Verschiebung unterscheiden. Diese horizontale Verschiebung wird Parallaxe genannt. Dies betrifft äquirektanguläre Projektion, zudem können in dieser Projektion Objekte ziemlich verzerrt erscheinen.

Die Größenordnung dieser Verzerrung kann von einem Abstand der Kamera und einer Blickrichtung abhängen. Die Verzerrung kann Linienbiegungsverzerrung, unterschiedliche Verzerrung im linken und rechten Auge beinhalten, zudem kann in einigen Implementierungen die Parallaxe nicht mehr horizontal erscheinen. Im Allgemeinen können 1 bis 2 Grad (auf einer sphärischen Bildebene) vertikale Parallaxe durch menschliche Benutzer ohne Weiteres toleriert werden. Außerdem können die Verzerrungen für Objekte in der peripheren Augenlinie ignoriert werden. Dies korreliert bis etwa 30 Grad von einer zentralen Blickrichtung entfernt. Auf Basis dieser Erkenntnisse können Grenzen konstruiert werden, die Zonen in der Nähe der Kamera definieren, die Objekte nicht durchdringen sollten, um unangenehme Verzerrungen zu vermeiden.

20 zeigt eine Grafik 2000, die eine maximale vertikale Parallaxe veranschaulicht, die durch Punkte im 3D-Raum verursacht wird. Insbesondere zeigt die Grafik 2000 die maximale vertikale Parallaxe in Grad, die durch Punkte im 3D-Raum verursacht wird, vorausgesetzt, diese werden mit 30 Grad von der Mitte eines Bildes projiziert. Die Grafik 2000 stellt eine vertikale Position von einer Kameramitte (in Metern) gegenüber einer horizontalen Position von der Kamera (in Metern) grafisch dar. In dieser befindet sich die Kamera am Ursprung [0, 0]. Wenn sich die Grafik weiter weg vom Ursprung bewegt, wird der Schweregrad der Verzerrung geringer. Von etwa null bis eins 2002 und von null zu minus eins 2004 (vertikal) auf der Grafik ist die Verzerrung zum Beispiel am schlimmsten. Dies entspricht Bildern direkt über und unter der Kamera (am Ursprung platziert). Wenn sich die Szene nach außen bewegt, wird die Verzerrung verringert, darüber hinaus ist zu dem Zeitpunkt, zu dem die Kamera die Szene an den Punkten 2006 und 2008 abbildet, nur ein halber Grad vertikaler Parallaxe anzutreffen.

Wenn die Verzerrung in der Peripherie über 30 Grad hinaus ignoriert werden kann, können alle Pixel, deren Blickrichtung innerhalb von 30 Grad der Pole ist, entfernt werden. Wenn der periphere Schwellenwert 15 Grad sein darf, können 15 Grad der Pixel entfernt werden. Die entfernten Pixel können zum Beispiel auf einen Farbblock (z. B. schwarz, weiß, magenta usw.) oder ein statisches Bild (z. B. ein Logo, eine bekannte Grenze, eine texturierte Schicht usw.) eingestellt und die neue Darstellung der entfernten Pixel in das Panorama an der Stelle der entfernten Pixel eingefügt werden kann. In einigen Implementierungen können die entfernten Pixel verschwommen sein und die verschwommene Darstellung der entfernten Pixel kann in das Panorama an der Stelle der entfernten Pixel eingefügt werden.

21 zeigt ein Ablaufdiagramm, das eine Ausführungsform eines Prozesses 2100 zum Erstellen eines Stereo-Panoramabildes abbildet. Wie in 21 bei Block 2102 dargestellt, kann ein System 100 einen Satz von Bildern auf Basis aufgenommener Bilder definieren. Die Bilder können vorverarbeitete Bilder, nachbearbeitete Bilder, virtuelle Inhalte, Videos, Bildeinzelbilder, Teile von Einzelbildern, Pixel usw. beinhalten.

Auf die definierten Bilder kann durch einen Benutzer, der auf Inhalte (z. B. VR-Inhalte) zugreift, zum Beispiel durch Verwendung eines am Kopf befestigten Anzeigegeräts (HMD) zugegriffen werden. Das System 100 kann bestimmte Aktionen bestimmen, die durch den Benutzer durchgeführt werden. Irgendwann kann das System 100 zum Beispiel, wie bei Block 2104, eine Blickrichtung empfangen, die einem Benutzer des VR-HMD zugeordnet ist. Ähnlich kann das System, wenn der Benutzer seine Blickrichtung ändert, wie bei Block 2106, eine Angabe einer Änderung einer Blickrichtung des Benutzers empfangen.

In Reaktion auf das Empfangen der Angabe einer solchen Änderung der Blickrichtung kann das System 100 eine Neuprojektion eines Teils des Satzes von Bildern konfigurieren, die bei Block 2108 dargestellt ist. Die Neuprojektion kann zumindest teilweise auf der geänderten Blickrichtung und einem Sichtfeld basieren, das den aufgenommenen Bildern zugeordnet ist. Das Sichtfeld kann 1 bis 180 Grad betragen und kleine Teile von Bildern einer Szene bis zu vollständigen Panoramabildern der Szene berücksichtigen. Die konfigurierte Neuprojektion kann verwendet werden, um einen Teil des Satzes von Bildern aus einer sphärischen perspektivischen Projektion in eine planare Projektion umzuwandeln. In einigen Implementierungen kann die Neuprojektion ein Neucasten eines Teils der Betrachtungsstrahlen, die dem Satz von Bildern zugeordnet sind, aus einer Vielzahl von Standpunkten, die rund um einen gekrümmten Pfad angeordnet sind, von einer sphärischen perspektivischen Projektion zu einer planaren perspektivischen Projektion beinhalten.

Die Neuprojektion kann jeden oder alle Schritte beinhalten, um einen Teil einer Fläche einer sphärischen Szene auf einer planaren Szene abzubilden. Die Schritte können das Retuschieren verzerrter Szeneninhalte, das Mischen (z. B. Zusammensetzen) von Szeneninhalten an oder in der Nähe von Nahtstellen, Farbtonzuordnung und/oder Skalierung beinhalten.

Nach Abschluss der Neuprojektion kann das System 100, wie bei Block 2110 dargestellt, eine aktualisierte Ansicht auf Basis der Neuprojektion wiedergeben. Die aktualisierte Ansicht kann so konfiguriert werden, dass sie Verzerrungen korrigiert und einem Benutzer Stereo-Parallaxe bereitstellt. Bei Block 2112 kann das System 100 die aktualisierte Ansicht, einschließlich einer Stereo-Panoramaszene bereitstellen, die der geänderten Blickrichtung entspricht. Das System 100 kann zum Beispiel die aktualisierte Ansicht bereitstellen, um Verzerrungen in der ursprünglichen Ansicht (vor der Neuprojektion) zu korrigieren, und einen Stereo-Parallaxe-Effekt in einer Anzeige eines am Kopf befestigten VR-Anzeigegeräts bereitstellen.

22 zeigt ein Ablaufdiagramm, das eine Ausführungsform eines Prozesses 2200 zum Aufnehmen eines Omnistereo-Panoramabilds mithilfe eines mehrstufigen Kameraträgersystems abbildet. Bei Block 2202 kann das System 100 einen Satz von Bildern für eine erste Stufe des Multi-Kameraträgersystems auf Basis aufgenommener Videostreams definieren, die von mindestens einem Satz benachbarter Kameras in der ersten Stufe gesammelt wurden. Die erste Stufe kann in einigen Ausführungsformen eine untere Stufe des mehrstufigen Kameraträgersystems sein, während die Kameras in der ersten Stufe in einer Kreisform angeordnet sein können, sodass jede der ersten Vielzahl von Kameras eine Projektionsnormale nach außen zur Kreisform aufweist. Das System 100 kann zum Beispiel benachbarte Kameras (wie zum Beispiel in 2 dargestellt) oder mehrere Sätze von benachbarten Kameras (wie zum Beispiel in 3 und 5 dargestellt) verwenden. In einigen Implementierungen kann das System 100 den Satz von Bildern mithilfe aufgenommener Videostreams definieren, die von etwa 12 bis etwa 16 Kameras aufgenommen wurden, die in einer Kreisform angeordnet sind, sodass sie eine Projektionsnormale nach außen zur Kreisform aufweisen. In einigen Implementierungen kann das System 100 den Satz von Bildern mithilfe eines Teils oder sämtlicher Computergrafik(CG)-Inhalte definieren.

Bei Block 2204 kann das System 100 einen ersten optischen Fluss für den ersten Satz von Bildern berechnen. Das Berechnen des optischen Flusses im ersten Satz von Bildern kann, wie zuvor näher beschrieben, zum Beispiel das Analysieren von Bildintensitätsfeldern für einen Teil der Spalten von Pixeln, die dem Satz von Bildern zugeordnet sind, sowie das Durchführen optischer Flusstechniken beim Teil der Spalten von Bildern beinhalten.

In einigen Implementierungen kann der optische Fluss, wie zuvor näher beschrieben, verwendet werden, um Einzelbilder zu interpolieren, die nicht Teil des Satzes von Bildern sind. Das System 100 kann dann die Einzelbilder und den ersten Satz von Bildern zumindest teilweise auf Basis des ersten optischen Flusses zusammensetzen (bei Schritt 2206).

Bei Block 2208 kann das System 100 einen Satz von Bildern für eine zweite Stufe des Multi-Kameraträgersystems auf Basis aufgenommener Videostreams definieren, die von mindestens einem Satz benachbarter Kameras in der zweiten Stufe gesammelt wurden. Die zweite Stufe kann in einigen Ausführungsformen eine obere Stufe eines mehrstufigen Kameraträgersystems sein und die Kameras in der zweiten Stufe können so angeordnet sein, dass jede der Vielzahl von Kameras eine nach außen gerichtete Projektion aufweist, die nicht parallel zur Normalen der Kreisform der ersten Vielzahl von Kameras ist. Das System 100 kann zum Beispiel benachbarte Kameras einer oberen mehrflächigen Kappe (wie zum Beispiel in 4A und 6 dargestellt) oder mehrere Sätze benachbarter Kameras für eine zweite Stufe eines mehrstufigen Kameraträgersystems verwenden. In einigen Implementierungen kann das System 100 den Satz von Bildern mithilfe von aufgenommenen Videostreams definieren, die von etwa 4 bis etwa 8 Kameras gesammelt wurden. In einigen Implementierungen kann das System 100 den Satz von Bildern mithilfe eines Teils oder sämtlicher Computergrafik(CG)-Inhalte definieren.

Bei Block 2210 kann das System 100 einen zweiten optischen Fluss für den zweiten Satz von Bildern berechnen. Das Berechnen des optischen Flusses im zweiten Satz von Bildern kann, wie zuvor näher beschrieben, zum Beispiel das Analysieren von Bildintensitätsfeldern für einen Teil der Spalten von Pixeln, die dem Satz von Bildern zugeordnet sind, sowie das Durchführen optischer Flusstechniken beim Teil der Spalten von Bildern beinhalten.

In einigen Implementierungen kann der optische Fluss, wie zuvor näher beschrieben, verwendet werden, um Einzelbilder zu interpolieren, die nicht Teil des Satzes von Bildern sind. Das System 100 kann dann die Einzelbilder und den zweiten Satz von Bildern zumindest teilweise auf Basis des zweiten optischen Flusses zusammensetzen (bei Schritt 2212).

Bei Block 2214 kann das System 100 ein Omnistereo erzeugen, indem es das erste zusammengesetzte Bild, das der ersten Stufe der mehrstufigen Kamera zugeordnet ist, mit dem zweiten Bild, das der zweiten Stufe der mehrstufigen Kamera zugeordnet ist, zusammensetzt. In einigen Implementierungen dient das Omnistereo-Panorama der Anzeige in einem am Kopf befestigten VR-Anzeigegerät. In einigen Implementierungen kann das System 100 die Bildzusammensetzung mithilfe von Haltungsinformationen durchführen, die dem mindestens einen Satz von Stereo-Nachbarn zugeordnet sind, um zum Beispiel einen Teil des Satzes von Bildern vorab zusammenzusetzen, bevor das Verschachteln durchgeführt wird.

23 zeigt ein Ablaufdiagramm, das eine Ausführungsform eines Prozesses 2300 zum Wiedergeben von Panoramabildern in einem am Kopf befestigten Anzeigegerät abbildet. Wie in 23 bei Block 2302 dargestellt, kann das System 100 einen Satz von Bildern empfangen. Die Bilder können von einem mehrstufigen Kameraträgersystem aufgenommene Inhalte zeigen. Bei Block 2304 kann das System 100 Teile der Einzelbilder in den Bildern auswählen. Die Einzelbilder können Inhalte beinhalten, die mit dem mehrstufigen Kameraträgersystem aufgenommen wurden. Das System 100 kann jeden beliebigen Teil der aufgenommenen Inhalte verwenden. Das System 100 kann zum Beispiel einen Teil der Einzelbilder auswählen, die Inhalte beinhalten, die durch das Trägersystem aus einem Abstand von etwa einem radialen Meter von einer Außenkante einer Basis des Kameraträgersystems bis etwa fünf radialen Metern von der Außenkante der Basis des Kameraträgersystems aufgenommen wurden. In einigen Implementierungen kann diese Auswahl darauf basieren, wie weit weg ein Benutzer 3D-Inhalte wahrnehmen kann. Hier kann der Abstand von einem Meter von der Kamera bis etwa fünf Meter von der Kamera eine „Zone“ darstellen, in der ein Benutzer 3D-Inhalte sehen kann. Bei einem kürzeren Abstand kann die 3D-Ansicht verzerrt sein, während es bei einem größeren Abstand sein kann, dass der Benutzer bestimmte 3D-Formen nicht feststellen kann. Das heißt, die Szene kann aus der Ferne einfach wie 2D aussehen.

Bei Block 2306 können die ausgewählten Teile der Einzelbilder zusammengesetzt werden, um eine stereoskope Panorama-Ansicht zu erzeugen. In diesem Beispiel kann das Zusammensetzen zumindest teilweise auf der Übereinstimmung der ausgewählten Teile mit mindestens einem anderen Einzelbild in den ausgewählten Teilen basieren. Bei Block 2308 kann die Panorama-Ansicht in einem Anzeigegerät, wie z. B. einem HMD-Gerät bereitgestellt werden. In einigen Implementierungen kann das Zusammensetzen mithilfe eines Zusammensetzungsverhältnisses durchgeführt werden, das zumindest teilweise auf dem Durchmesser des Kameraträgersystems basiert. In einigen Implementierungen beinhaltet das Zusammensetzen eine Reihe von Schritten des Abgleichens einer ersten Spalte von Pixeln in einem ersten Einzelbild mit einer zweiten Spalte von Pixeln in einem zweiten Einzelbild, sowie dem Abstimmen der zweiten Spalte von Pixeln mit einer dritten Spalte von Pixeln in einem dritten Einzelbild, um einen zusammenhängenden Szenenteil zu bilden. In einigen Implementierungen können viele Spalten von Pixeln auf diese Weise abgeglichen und kombiniert werden, um ein Einzelbild zu bilden, und diese Einzelbilder können kombiniert werden, um ein Bild zu bilden. Des Weiteren können diese Bilder kombiniert werden, um eine Szene zu bilden. Gemäß einigen Implementierungen kann das System 100 Blöcke 2306 und 2308 für jede Stufe des mehrstufigen Kameraträgersystems durchführen, um ein zusammengesetztes Bild zu erstellen, das jeder Stufe des Kameraträgersystems zugeordnet ist, und das System 100 kann die zusammengesetzten Bilder zusammensetzen, um eine Panorama-Ansicht zu erzeugen.

In einigen Implementierungen kann das Verfahren 2300 einen Interpolationsschritt beinhalten, der das System 100 verwendet, um zusätzliche Einzelbilder zu interpolieren, die nicht Bestandteil der Teile der Bildeinzelbilder sind. Diese Interpolation kann durchgeführt werden, um sicherzustellen, dass ein Fluss zwischen Bildern erfolgt, die zum Beispiel von Kameras aufgenommen wurden und weit entfernt sind. Sobald die Interpolation zusätzlicher Bildinhalte durchgeführt wird, kann das System 100 die zusätzlichen Einzelbilder in die Teile der Einzelbilder verschachteln, um virtuelle Inhalte für die Ansicht zu erzeugen. Diese virtuellen Inhalte können als Teile der Einzelbilder, verschachtelt mit den zusätzlichen Einzelbildern, zusammengesetzt werden. Das Ergebnis kann als aktualisierte Ansicht zum Beispiel für das HMD bereitgestellt werden. Diese aktualisierte Ansicht kann zumindest teilweise auf den Teilen der Einzelbilder und der zusätzlichen Einzelbilder basieren.

24 zeigt ein Ablaufdiagramm, das eine Ausführungsform eines Prozesses 2400 zum Bestimmen von Bildgrenzen für eine Stufe eines mehrstufigen Kameraträgersystems abbildet. Bei Block 2402 kann das System 100 einen Satz von Bildern auf Basis aufgenommener Videostreams definieren, die von mindestens einem Satz benachbarter Kameras in einer Stufe eines mehrstufigen Kameraträgersystems gesammelt wurden. Das System 100 kann zum Beispiel einen Satz benachbarter Kameras (wie in 2 dargestellt) oder mehrere Sätze von benachbarten Kameras (wie in 3 und 4A dargestellt) verwenden. In einigen Implementierungen kann das System 100 den Satz von Bildern mithilfe von aufgenommenen Videostreams definieren, die von etwa 12 bis etwa 16 Kameras gesammelt wurden. In einigen Implementierungen kann das System 100 den Satz von Bildern mithilfe eines Teils oder sämtlicher Computergrafik(CG)-Inhalte definieren. In einigen Implementierungen beinhalten die Videostreams, die dem Satz von Bildern entsprechen, codierte Videoinhalte. In einigen Implementierungen, können die Videostreams, die dem Satz von Bildern entsprechen, Inhalte beinhalten, die mit mindestens einem Satz benachbarter Kameras erfasst wurden, die mit einem Sichtfeld von einhundertachzig Grad konfiguriert sind.

Bei Block 2404 kann das System 100 einen Teil eines Satzes von Bildern, die einer Stufe des mehrstufigen Kameraträgersystems zugeordnet sind, von einer perspektivischen Bildebene auf eine sphärische Bildebene durch Neucasten von Betrachtungsstrahlen, die dem Teil des Satzes von Bildern aus mehreren Standpunkten, die in einem Teil eines kreisförmigen Pfads zu einem Standpunkt angeordnet sind, projizieren. Der Satz von Bildern kann zum Beispiel durch eine Stufe eines mehrstufigen Kameraträgersystems aufgenommen werden, in der Bildsensoren in einer Kreisform an einem kreisförmigen Kameragehäuse-Kameraträgersystem angeordnet sind, das eine Reihe von Kameras unterbringen kann (wie z. B. in 4A dargestellt). Jede Kamera kann einem Standpunkt zugeordnet sein, und diese Standpunkte können vom Kameraträgersystem nach außen auf eine Szene ausgerichtet sein. Insbesondere stammen Betrachtungsstrahlen von jeder Kamera am Trägersystem anstatt von einem einzelnen Punkt. Das System 100 kann Strahlen von den verschiedenen Standpunkten am Pfad in einem einzigen Standpunkt neu casten. Das System 100 kann zum Beispiel jeden Standpunkt einer Szene, die von den Kameras aufgenommen wurde, analysieren und kann Ähnlichkeiten und Unterschiede berechnen, um eine Szene (oder einen Satz von Szenen) zu berechnen, die die Szene von einem einzelnen interpolierten Standpunkt darstellt.

Bei Block 2406 kann das System 100 eine periphere Grenze bestimmen, die dem einzelnen Standpunkt entspricht, und aktualisierte Bilder durch Entfernen von Pixeln außerhalb der peripheren Grenze erzeugen. Die periphere Grenze kann klare, präzise Bildinhalte von verzerrten Bildinhalten abgrenzen. Die periphere Grenze kann zum Beispiel Pixel ohne Verzerrungen von Pixeln mit Verzerrungen abgrenzen. In einigen Implementierungen kann sich die periphere Grenze auf Ansichten außerhalb des typischen peripheren Sichtbereichs eines Benutzers beziehen. Das Entfernen dieser Pixel kann sicherstellen, dass dem Benutzer nicht unnötigerweise verzerrte Bildinhalte präsentiert werden. Das Entfernen der Pixel kann, wie zuvor näher erläutert, das Ersetzen der Pixel durch einen Farbblock, ein statisches Bild oder eine verschwommene Darstellung der Pixel beinhalten. In einigen Implementierungen ist die periphere Grenze auf ein Sichtfeld von etwa 150 Grad für eine oder mehrere Kameras definiert, die den aufgenommenen Bildern zugeordnet sind. In einigen Implementierungen ist die periphere Grenze auf ein Sichtfeld von etwa 120 Grad für eine oder mehrere Kameras definiert, die den aufgenommenen Bildern zugeordnet sind. In einigen Implementierungen ist die periphere Grenze ein Teil einer sphärischen Form, die etwa 30 Grad über einer Betrachtungsebene für eine Kamera entspricht, die den aufgenommenen Bilder zugeordnet ist, und das Entfernen der Pixel beinhaltet das Schwärzen oder Entfernen eines oberen Teils der sphärischen Szene. In einigen Implementierungen ist die periphere Grenze ein Teil einer sphärischen Form, die etwa 30 Grad unter einer Betrachtungsebene für eine Kamera entspricht, die den aufgenommenen Bilder zugeordnet ist, und das Entfernen der Pixel beinhaltet das Schwärzen oder Entfernen eines oberen Teils der sphärischen Szene. Bei Block 2408 kann das System 100 die aktualisierten Bilder für die Anzeige innerhalb der Grenzen der peripheren Grenze bereitstellen.

In einigen Implementierungen kann das Verfahren 2400 außerdem das Zusammensetzen von mindestens zwei Einzelbildern im Satz von Bildern aus der einen Stufe des mehrstufigen Kameraträgersystems beinhalten. Das Zusammensetzen kann einen Schritt des Abtastens von Spalten von Pixeln aus den Einzelbildern und des Interpolierens, zwischen mindestens zwei abgetasteten Spalten von Pixeln, zusätzlicher Spalten von Pixeln beinhalten, die in den Einzelbildern nicht aufgenommen sind. Außerdem kann das Zusammensetzen einen Schritt des Zusammenmischens der abgetasteten Spalten und zusätzlicher Spalten zur Erzeugung eines Pixelwerts beinhalten. In einigen Implementierungen kann das Mischen mithilfe eines Zusammensetzungsverhältnisses durchgeführt werden, das zumindest teilweise auf einem Durchmesser eines kreisförmigen Kameraträgersystems basiert, das zum Erfassen der aufgenommenen Bilder verwendet wird. Das Zusammensetzen kann außerdem einen Schritt des Erzeugens eines dreidimensionalen stereoskopen Panoramas durch Konfigurieren des Pixelwerts in eine linke Szene und eine rechte Szene beinhalten, die für die Anzeige zum Beispiel in einem HMD bereitgestellt werden kann.

25 zeigt ein Ablaufdiagramm, das eine Ausführungsform eines Prozesses 2500 zum Erzeugen von Videoinhalten abbildet. Bei Block 2502 kann das System 100 einen Satz von Bildern auf Basis aufgenommener Videostreams definieren, die von mindestens einem Satz benachbarter Kameras gesammelt wurden. Das System 100 kann zum Beispiel ein Stereopaar (wie in 2 dargestellt) oder mehrere Sätze von benachbarten Kameras (wie zum Beispiel in 3 und 4A dargestellt) verwenden. In einigen Implementierungen kann das System 100 den Satz von Bildern mithilfe von aufgenommenen Videostreams definieren, die von etwa 12 bis etwa 16 Kameras in einem mehrstufigen Kameraträgersystem und 4 bis 8 Kameras in einer zweiten Stufe für das mehrstufige Kameraträgersystem gesammelt wurden. In einigen Implementierungen kann das System 100 den Satz von Bildern mithilfe eines Teils oder sämtlicher Computergrafik(CG)-Inhalte definieren.

Bei Block 2504 kann das System 100 den Satz von Bildern in einen äquirektangulären Videostream zusammensetzen. Das Zusammensetzen kann zum Beispiel das Kombinieren von Bildern, die einem Kameraaufnahmewinkel nach links zugeordnet sind, mit Bildern, die einem nach rechts weisenden Kameraaufnahmewinkel zugeordnet sind, beinhalten.

Bei Block 2506 kann das System den Videostream für die Wiedergabe durch Projizieren des Videostreams von äquirektangulär zu perspektivisch für eine erste Ansicht und eine zweite Ansicht wiedergeben. Die erste Ansicht kann einer Ansicht des linken Auges eines am Kopf befestigten Anzeigegeräts entsprechen, während die zweite Ansicht einer Ansicht des rechten Auges eines am Kopf befestigten Anzeigegeräts entsprechen kann.

Bei Block 2508 kann das System eine Grenze bestimmen, bei der die Verzerrung über einem vorher definierten Schwellenwert liegt. Der vorher definierte Schwellenwert kann einen Grad der Parallaxe, einen Grad der Nichtübereinstimmung und/oder einen Grad des zulässigen Fehlers innerhalb eines bestimmten Satzes von Bildern bereitstellen. Die Verzerrung kann zumindest teilweise auf der Projektionskonfiguration basieren, wenn der Videostream zum Beispiel von einer Ebene oder Ansicht zu einer anderen Ebene oder Ansicht projiziert wird.

Bei Block 2510 kann das System, wie zuvor näher erläutert, einen aktualisierten Videostream erzeugen, indem es Bildinhalte im Satz der Bilder bei der oder über die Grenze hinaus entfernt. Nach Aktualisieren des Videostreams kann der aktualisierte Stream zum Beispiel einem Benutzer eines HMD zur Anzeige bereitgestellt werden. Im Allgemeinen können Systeme und Verfahren, die in dieser gesamten Offenbarung beschrieben sind, bewirken, dass Bilder aufgenommen, Verzerrungen aus den aufgenommenen Bildern entfernt und Bilder wiedergegeben werden, um eine stereoskope 3D-Ansicht für einen Benutzer eine HMD-Geräts bereitzustellen.

26 zeigt ein Beispiel eines allgemeinen Computergeräts 2600 und eines allgemeinen mobilen Computergeräts 2650, die mit den hier beschriebenen Techniken verwendet werden können. Computergerät 2600 soll verschiedene Formen von Digitalcomputern darstellen, zum Beispiel Laptops, Desktops, Workstations, persönliche digitale Assistenten, Server, Blade Server, Mainframes und andere geeignete Computer. Das Computergerät 2650 soll verschiedene Formen von Mobilgeräten, wie z. B. persönliche digitale Assistenten, Mobiltelefone, Smartphones und andere ähnliche Computergeräte, darstellen. Die hier gezeigten Komponenten, deren Verbindungen und Beziehungen, sowie deren Funktionen sollen lediglich exemplarisch sein und die Implementierungen der in diesem Dokument beschriebenen bzw. beanspruchten Erfindungen in keiner Weise einschränken.

Das Computergerät 2600 beinhaltet einen Prozessor 2602, einen Speicher 2604, ein Speichergerät 2606, eine Hochgeschwindigkeitsschnittstelle 2608, die sich mit Speicher 2604 und Hochgeschwindigkeits-Erweiterungsanschlüssen 2610 verbindet, und eine Niedergeschwindigkeitsschnittstelle 2612, die sich mit dem 2614 und Speichergerät 2606 verbindet. Alle Komponenten 2602, 2604, 2606, 2608, 2610 und 2612 sind unter Verwendung verschiedener Busse miteinander verbunden und können auf einer gängigen Hauptplatine oder gegebenenfalls in anderer Weise montiert sein. Der Prozessor 2602 kann Anweisungen zur Ausführung innerhalb des Computergeräts 2600 verarbeiten, darunter auch Anweisungen, die in dem Speicher 2604 oder auf dem Speichergerät 2606 gespeichert sind, um grafische Informationen für eine GUI auf einem externen Eingabe-/Ausgabegerät, wie z. B. auf Anzeige 2616, die mit Hochgeschwindigkeitsschnittstelle 2608 verbunden ist, anzuzeigen. In anderen Implementierungen können gegebenenfalls mehrere Prozessoren und/oder mehrere Busse zusammen mit mehreren Speichern und Speicherarten verwendet werden. Außerdem können mehrere Computergeräte 2600 verbunden sein, wobei jedes Gerät Teile der nötigen Operationen (z. B. als Serverbank, Gruppe von Blade Servern oder Multiprozessorsystem) bereitstellt.

Speicher 2604 speichert Informationen in Computergerät 2600. In einer Implementierung handelt es sich bei dem Speicher 2604 um eine nicht flüchtige Speichereinheit oder -einheiten. In einer anderen Implementierung handelt es sich bei dem Speicher 2604 um eine nicht flüchtige Speichereinheit oder -einheiten. Speicher 2604 kann zudem in einer anderen Form von computerlesbarem Medium, zum Beispiel als magnetischer oder optischer Datenträger, vorliegen.

Speichergerät 2606 kann einen Massenspeicher für Computergerät 2600 bereitstellen. In einer Implementierung kann Speichergerät 2606 ein computerlesbares Medium, wie z. B. ein Diskettenlaufwerk, ein Festplattenlaufwerk, ein optisches Laufwerk, ein Magnetbandlaufwerk, ein Flash-Speicher oder ein anderes ähnliches Festkörper-Speichergerät oder eine Reihe von Geräten, darunter auch Geräte in einem Speichernetzwerk oder andere Konfigurationen, sein oder beinhalten. Ein Computerprogrammprodukt kann physisch in einem Informationsträger ausgeführt sein. Das Computerprogrammprodukt kann zudem Befehle enthalten, die bei ihrer Ausführung ein oder mehrere Verfahren, wie z. B. die oben beschriebenen, ausführen. Der Informationsträger ist ein computer- oder maschinenlesbares Medium, wie z. B. der Speicher 2604, das Speichergerät 2606 oder ein Speicher auf einem Prozessor 2602.

Hochgeschwindigkeitscontroller 2608 verwaltet bandbreitenintensive Operationen für das Computergerät 2600, während Niedergeschwindigkeitscontroller 2612 weniger bandbreitenintensive Operationen verwaltet. Diese Zuweisung von Funktionen ist lediglich exemplarisch. In einer Implementierung ist Hochgeschwindigkeitscontroller 2608 mit Speicher 2604, Anzeige 2616 (z. B. durch einen Grafikprozessor oder -beschleuniger) und den Hochgeschwindigkeits-Erweiterungsanschlüssen 2610 gekoppelt, die verschiedene Erweiterungskarten aufnehmen können (nicht dargestellt). In der Implementierung ist Niedergeschwindigkeitscontroller 2612 mit Speichergerät 2606 und Niedergeschwindigkeits-Erweiterungsanschluss 2614 gekoppelt. Der Niedergeschwindigkeits-Erweiterungsanschluss, der ggf. verschiedene Kommunikationsanschlüsse (z. B. USB, Bluetooth, Ethernet, drahtloses Ethernet) beinhaltet, kann, z. B. durch einen Netzwerkadapter, an ein oder mehrere Ein-/Ausgabegeräte, wie z. B. eine Tastatur, ein Zeigegerät, einen Scanner oder ein Netzwerkgerät, wie z. B. einen Switch oder Router, gekoppelt sein.

Computergerät 2600 kann, wie in der Figur ersichtlich, in einer Reihe verschiedener Formen implementiert sein. Es kann zum Beispiel als Standardserver 2620 oder mehrmals in einer Gruppe derartiger Server implementiert sein. Es kann zudem als Bestandteil eines Rackserversystems 2624 implementiert sein. Darüber hinaus kann es in einem PC, wie z. B. in einem Laptopcomputer 2622, implementiert sein. Alternativ dazu können Komponenten von Computergerät 2600 mit anderen Komponenten in einem Mobilgerät (nicht dargestellt), wie z. B. Gerät 2650, kombiniert sein. Jedes dieser Geräte kann eine oder mehrere der Computergeräte 2600, 2650 enthalten und ein gesamtes System kann sich aus mehreren Computergeräten 2600, 2650 zusammensetzen, die miteinander kommunizieren.

Computergerät 2650 beinhaltet unter anderen Komponenten einen Prozessor 2652, einen Speicher 2664, ein Eingabe-/Ausgabegerät, wie z. B. eine Anzeige 2654, eine Kommunikationsschnittstelle 2666 und einen Sendeempfänger 2668. Gerät 2650 kann ebenfalls mit einem Speichergerät, wie z. B. einem Microdrive oder einem anderen Gerät ausgestattet sein, um zusätzlichen Speicher bereitzustellen. Alle Komponenten 2650, 2652, 2664, 2654, 2666 und 2668 sind unter Verwendung verschiedener Busse miteinander verbunden, wobei mehrere der Komponenten auf einer gängigen Hauptplatine oder gegebenenfalls in anderer Weise montiert sein können.

Prozessor 2652 kann Anweisungen in dem Computergerät 2650, darunter auch die im Speicher 2664 gespeicherten Anweisungen, ausführen. Der Prozessor kann als Chipsatz von Chips implementiert werden, die separate und mehrere analoge und digitale Prozessoren beinhalten. Der Prozessor kann beispielsweise zur Koordinierung der anderen Komponenten des Geräts 2650, wie beispielsweise zur Steuerung von Benutzeroberflächen, Anwendungen, die von Gerät 2650 ausgeführt werden, sowie eine drahtlose Kommunikation durch Gerät 2650 bereitstellen.

Prozessor 2652 kann mit einem Benutzer über Steuerschnittstelle 2658 und die mit einer Anzeige 2654 gekoppelten Anzeigeschnittstelle 2656 kommunizieren. Anzeige 2654 kann zum Beispiel eine TFT-LCD-(Dünnfilmtransistor-Flüssigkristallanzeige) oder eine OLED-Anzeige (organische Leuchtdiode) oder eine andere geeignete Anzeigetechnologie sein. Anzeigeschnittstelle 2656 kann eine geeignete Schaltung umfassen, die Anzeige 2654 dazu bringt, einem Benutzer grafische und andere Informationen zu präsentieren. Steuerschnittstelle 2658 kann Befehle von einem Benutzer empfangen und sie für das Senden an Prozessor 2652 umwandeln. Zusätzlich kann eine externe Schnittstelle 2662 in Verbindung mit Prozessor 2652 bereitgestellt sein, um eine Nahbereichskommunikation von Gerät 2650 mit anderen Geräten zu ermöglichen. Die externe Schnittstelle 2662 kann beispielsweise in einigen Implementierungen eine drahtgebundene Verbindung oder in anderen Implementierungen eine drahtlose Verbindung sein, wobei auch mehrere Schnittstellen verwendet werden können.

Speicher 2664 speichert Informationen in Computergerät 2650. Speicher 2664 kann als ein oder mehrere computerlesbare Medien, flüchtige Speichereinheiten und/oder nicht flüchtige Speichereinheiten implementiert werden. Erweiterungsspeicher 2674 kann ebenfalls bereitgestellt und mit dem Gerät 2650 über die Erweiterungsschnittstelle 2672 verbunden sein, die zum Beispiel eine SIMM-(Single In Line Memory Module)-Kartenschnittstelle beinhalten kann. Dieser Erweiterungsspeicher 2674 kann zusätzlichen Speicherplatz für Gerät 2650 bereitstellen oder kann auch Anwendungen oder andere Informationen für Gerät 2650 speichern. Insbesondere kann der Erweiterungsspeicher 2674 Anweisungen zum Ausführen oder Ergänzen der oben beschriebenen Prozesse beinhalten und kann außerdem sichere Informationen einschließen. Somit kann Erweiterungsspeicher 2674 zum Beispiel als Sicherheitsmodul für Gerät 2650 bereitgestellt werden und mit Anweisungen programmiert sein, die die sichere Verwendung von Gerät 2650 ermöglichen. Zudem können über die SIMM-Karten sichere Anwendungen zusammen mit zusätzlichen Informationen, wie dem Ablegen von Identifizierungsinformationen auf der SIMM-Karte auf eine Weise bereitgestellt werden, die sich nicht hacken lässt.

Der Speicher kann, wie im Folgenden besprochen, zum Beispiel Flashspeicher und/oder NVRAM-Speicher beinhalten. In einer Implementierung ist ein Computerprogrammprodukt physisch in einem Informationsträger enthalten. Das Computerprogrammprodukt enthält Befehle, bei deren Ausführung ein oder mehrere Verfahren, wie die oben beschriebenen, ausgeführt werden. Der Informationsträger ist ein computer- oder maschinenlesbares Medium, wie z. B. Speicher 2664, Speichererweiterung 2674 oder der Speicher auf Prozessor 2652, der zum Beispiel, über den Sendeempfänger 2668 oder die externe Schnittstelle 2662 empfangen werden kann.

Das Gerät 2650 kann über Kommunikationsschnittstelle 2666 drahtlos kommunizieren, die bei Bedarf eine digitale Signalverarbeitungsschaltung beinhalten kann. Die Kommunikationsschnittstelle 2666 kann die Kommunikation mit verschiedenen Kommunikationstypen oder -protokollen ermöglichen, darunter GSM-Sprachanrufe, SMS, EMS oder MMS-Messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000 oder GPRS unter anderen. Diese Kommunikation kann beispielsweise durch Funkfrequenz-Sendeempfänger 2668 stattfinden. Zusätzlich kann eine Kurzstreckenkommunikation stattfinden, wie z. B. unter Verwendung eines Bluetooth-, WLAN- oder eines anderen dieser Sendeempfänger (nicht dargestellt). Außerdem kann das GPS(Globale Positionsbestimmungssystem)-Empfängermodul 2670 zusätzliche navigations- und positionsbezogene drahtlose Daten für Gerät 2650 bereitstellen, die gegebenenfalls von Anwendungen verwendet werden können, die auf Gerät 2650 ausgeführt werden.

Gerät 2650 kann darüber hinaus unter Verwendung des Audiocodec 2660, welcher gesprochene Informationen von einem Benutzer empfangen und diese in nutzbare digitale Informationen konvertieren kann, hörbar kommunizieren. Audiocodec 2660 kann zudem hörbaren Ton für einen Benutzer, wie beispielsweise durch einen Lautsprecher, z. B. in einem Mobilteil von Gerät 2650, erzeugen. Diese Töne können Töne von Sprachtelefonanrufen, aufgezeichnete Töne (z. B. Sprachnachrichten, Musikdateien usw.) sowie Töne beinhalten, die von auf Gerät 2650 betriebenen Anwendungen erstellt wurden.

Das Computergerät 2650 kann, wie in der Figur ersichtlich, in einer Reihe verschiedener Formen implementiert sein. Beispielsweise kann es als Mobiltelefon 2680 implementiert sein. Es kann außerdem als Teil eines Smartphones 2682, eines persönlichen digitalen Assistenten oder eines anderen ähnlichen Mobilgeräts implementiert sein.

Verschiedene Implementierungen der hier beschriebenen Systeme und Techniken können in digitalen elektronischen Schaltungen, integrierten Schaltungen, speziell konzipierten ASICs (anwendungsorientierten integrierten Schaltungen), Computerhardware, Firmware, Software und/oder Kombinationen derselben realisiert sein. Diese verschiedenen Implementierungen können eine Implementierung in einem oder mehreren Computerprogrammen beinhalten, die auf einem programmierbaren System ausführbar und/oder interpretierbar sind, das mindestens einen programmierbaren Prozessor beinhaltet, bei dem es sich um einen Spezial- oder einen Universalprozessor handeln kann und der zum Empfangen von Daten und Befehlen von und zum Übertragen von Daten und Befehlen an ein Speichersystem, mindestens ein Eingabegerät und mindestens ein Ausgabegerät gekoppelt ist.

Diese Computerprogramme (auch bekannt als Programme, Software, Softwareanwendungen oder Code) beinhalten Maschinenbefehle für einen programmierbaren Prozessor und können in einer höheren prozeduralen und/oder objektorientierten Programmiersprache und/oder in Assembler-/Maschinensprache implementiert sein. Wie hierin verwendet, bezeichnen die Begriffe „maschinenlesbares Medium“, „computerlesbares Medium“ ein beliebiges Computerprogrammprodukt, eine beliebige Vorrichtung und/oder ein beliebiges Gerät (z. B. magnetische Platten, optische Platten, Speicher, programmierbare Logikbausteine (PLDs)), die verwendet werden, um einem programmierbaren Prozessor, einschließlich einem maschinenlesbaren Medium, das Maschinenbefehle als maschinenlesbares Signal empfängt, Maschinenbefehle und/oder Daten bereitzustellen. Der Begriff „maschinenlesbares Signal“ bezeichnet ein beliebiges Signal, das verwendet wird, um einem programmierbaren Prozessor Maschinenbefehle und/oder Daten bereitzustellen.

Um eine Interaktion mit einem Benutzer zu ermöglichen, können die hier beschriebenen Systeme und Techniken auf einem Computer implementiert werden, der ein Anzeigegerät (wie z. B. einen CRT-(Kathodenstrahlröhren) oder LCD-(Flüssigkristallanzeige)-Monitor) aufweist, um dem Benutzer Informationen anzuzeigen, sowie eine Tastatur und ein Zeigegerät (z. B. eine Maus oder einen Trackball) aufweist, mittels denen der Benutzer eine Eingabe in den Computer vornehmen kann. Es können auch andere Arten von Geräten verwendet werden, um eine Interaktion mit einem Benutzer zu ermöglichen; beispielsweise kann eine an den Benutzer bereitgestellte Rückmeldung eine beliebige Form von sensorischer Rückmeldung (wie z. B. eine visuelle Rückmeldung, akustische Rückmeldung oder taktile Rückmeldung) sein; während die Eingabe vom Benutzer ebenfalls in beliebiger Form, darunter auch als akustische, taktile oder Spracheingabe, empfangen werden kann.

Die hier beschriebenen Systeme und Techniken können in einem Computersystem implementiert werden, das eine Backendkomponente (z. B. einen Datenserver), oder das eine Middlewarekomponente (z. B. einen Applikationsserver), oder das eine Frontendkomponente (z. B. einen Clientcomputer mit einer grafischen Benutzeroberfläche oder einem Webbrowser, durch die bzw. den ein Benutzer mit hier beschriebenen Systemimplementationen und Techniken interagieren kann) oder eine Kombination aus denselben Backend-, Middleware- oder Frontendkomponenten beinhaltet. Die Komponenten des Systems können durch eine beliebige Form oder ein beliebiges Medium digitaler Datenkommunikation (wie z. B. ein Kommunikationsnetzwerk) miteinander verbunden sein. Beispiele von Kommunikationsnetzwerken beinhalten ein lokales Netzwerk („LAN“), ein Großraumnetzwerk („WAN“) und das Internet.

Das Computersystem kann Clients und Server beinhalten. Ein Client und Server befinden sich im Allgemeinen entfernt voneinander und interagieren typischerweise über ein Kommunikationsnetzwerk. Die Beziehung von Client und Server ergibt sich durch Computerprogramme, die auf den jeweiligen Computern ausgeführt werden und in einer Client-Server-Beziehung zueinander stehen.

Eine Reihe von Ausführungsformen wurde beschrieben. Trotzdem versteht es sich, dass verschiedene Modifikationen durchgeführt werden können, ohne vom Sinn und Umfang der Patentschrift abzuweichen. Jeder der folgenden Ansprüche und Beispiele jener oben beschriebenen Ansprüche können zum Beispiel in jedweder Kombination kombiniert werden, um zusätzliche exemplarische Ausführungsformen zu produzieren.

Weitere Implementierungen sind in den folgenden Beispielen beschrieben:

Beispiel 1: Ein Kameraträgersystem, umfassend: eine erste Stufe von Bildsensoren, die eine erste Vielzahl von Bildsensoren beinhaltet, wobei die erste Vielzahl von Bildsensoren in einer Kreisform angeordnet und so ausgerichtet ist, dass ein Sichtfeld jedes der ersten Vielzahl von Bildsensoren eine Achse rechtwinklig zu einer Tangente der Kreisform aufweist; und eine zweite Stufe der Bildsensoren, die eine zweite Vielzahl von Bildsensoren beinhaltet, wobei die zweite Vielzahl von Bildsensoren so ausgerichtet ist, dass ein Sichtfeld jedes der zweiten Vielzahl von Bildsensoren eine Achse aufweist, die nicht parallel zum Sichtfeld jedes der ersten Vielzahl von Bildsensoren verläuft.

Beispiel 2: Kameraträgersystem nach Beispiel 1, wobei das Feld des Sichtfelds jedes der ersten Vielzahl von Bildsensoren innerhalb einer ersten Ebene angeordnet ist, wobei das Sichtfeld jedes der zweiten Vielzahl von Bildsensoren innerhalb einer zweiten Ebene angeordnet ist.

Beispiel 3: Kameraträgersystem nach Beispiel 1 oder 2, wobei die erste Vielzahl von Bildsensoren, innerhalb einer ersten Ebene angeordnet ist, und die zweite Vielzahl von Bildsensoren innerhalb einer zweiten Ebene, parallel zur ersten Ebene angeordnet ist.

Beispiel 4: Kameraträgersystem nach Beispiel 1 bis 3, wobei die erste Vielzahl von Bildsensoren in der ersten Ebene enthalten ist, sodass das erste Sichtfeld eines ersten der ersten Vielzahl von Bildsensoren ein zweites Sichtfeld eines zweiten der ersten Vielzahl von Bildsensoren und ein drittes Sichtfeld eines dritten der ersten Vielzahl von Bildsensoren überschneidet.

Beispiel 5: Kameraträgersystem nach einem der Beispiele 1 bis 4, wobei das Kameraträgersystem ein Gehäuse aufweist, das einen Radius eines kreisförmigen Kameraträgersystemgehäuses definiert, sodass sich das Sichtfeld jedes der mindestens drei benachbarten Bildsensoren aus der ersten Vielzahl von Bildsensoren überlappt.

Beispiel 6: Kameraträgersystem nach Beispiel 5, wobei die drei benachbarten Bildsensoren eine Ebene überschneiden.

Beispiel 7: Kameraträgersystem nach einem der Beispiele 1 bis 6, ferner umfassend: ein Schaftgehäuse, wobei die erste Stufe der Bildsensoren zwischen der zweiten Stufe der Bildsensoren und dem Schaftgehäuse angeordnet ist.

Beispiel 8: Kameraträgersystem nach einem der Beispiele 1 bis 7, wobei die zweite Stufe der Bildsensoren sechs Bildsensoren beinhaltet und die erste Stufe der Bildsensoren sechzehn Bildsensoren beinhaltet.

Beispiel 9: Kameraträgersystem nach Beispiel 1 bis 8, wobei das Sichtfeld jedes der ersten Vielzahl von Bildsensoren orthogonal zum Sichtfeld jedes der zweiten Vielzahl von Bildsensoren angeordnet ist.

Beispiel 10: Kameraträgersystem nach einem der Beispiele 1 bis 9, wobei ein Seitenverhältnis des Sichtfelds jedes der ersten Vielzahl von Bildsensoren in einem Hochformat angeordnet ist, wobei ein Seitenverhältnis des Sichtfelds jedes der zweiten Vielzahl von Bildsensoren in einem Querformat angeordnet ist.

Beispiel 11: Ein Kameraträgersystem, umfassend: eine erste Stufe der Bildsensoren, die eine erste Vielzahl von Bildsensoren beinhaltet, die innerhalb einer ersten Ebene angeordnet sind, wobei die erste Vielzahl von Bildsensoren so konfiguriert ist, dass sich ein Sichtfeld von mindestens jedem der drei benachbarten Bildsensoren aus der ersten Vielzahl von Bildsensoren überlappt; und eine zweite Stufe von Bildsensoren, die eine zweite Vielzahl von Bildsensoren beinhaltet, die innerhalb einer zweiten Ebene angeordnet sind, wobei die zweite Vielzahl von Bildsensoren jeweils eine Seitenverhältnisausrichtung aufweist, die sich von einer Seitenverhältnisausrichtung jedes der ersten Vielzahl von Bildsensoren unterscheidet.

Beispiel 12: Kameraträgersystem nach Beispiel 11, wobei die erste Ebene parallel zur zweiten Ebene angeordnet ist.

Beispiel 13: Kameraträgersystem nach einem der Beispiele 11 oder 12, ferner umfassend: ein Schaftgehäuse, wobei die erste Stufe der Bildsensoren zwischen der zweiten Stufe der Bildsensoren und dem Schaftgehäuse angeordnet ist.

Beispiel 14: Kameraträgersystem nach einem der Beispiele 1 bis 10 oder 11 bis 13, wobei ein Verhältnis der Bildsensoren der ersten Ebene der Bildsensoren zu den Bildsensoren der zweiten Ebene der Bildsensoren zwischen 2:1 und 3:1 beträgt.

Beispiel 15: Kameraträgersystem nach einem der Beispiele 1 bis 10 oder 11 bis 14, wobei Bilder, die mithilfe der ersten Ebene der Bildsensoren und der zweiten Ebene der Bildsensoren aufgenommen werden, mithilfe optischer Flussinterpolation zusammengesetzt werden.

Beispiel 16: Ein Kameraträgersystem, umfassend: ein Kameragehäuse, beinhaltend: einen unteren kreisförmigen Umfang und eine obere mehrflächige Kappe, wobei der untere kreisförmige Umfang unter der mehrflächigen Kappe angeordnet ist; eine erste Vielzahl von Bildsensoren, die in einer Kreisform und entlang des unteren kreisförmigen Umfangs des Kameragehäuses angeordnet sind, sodass die jeweilige erste Vielzahl von Bildsensoren eine Projektionsnormale nach außen zum unteren kreisförmigen Umfang aufweist; und eine zweite Vielzahl von Bildsensoren, die jeweils an einer Stirnfläche der oberen mehrflächigen Kappa angeordnet ist, sodass die jeweilige zweite Vielzahl von Bildsensoren eine Projektion nach außen nicht parallel zur Normalen des unteren kreisförmigen Umfangs aufweist.

Beispiel 17: Kameraträgersystem nach Beispiel 16, wobei der untere kreisförmige Umfang einen solchen Radius aufweist, dass sich ein Sichtfeld von mindestens drei benachbarten Sensoren aus der ersten Vielzahl von Bildsensoren überschneidet.

Beispiel 18: Kameraträgersystem nach Beispiel 16 oder 17, wobei ein Verhältnis der Bildsensoren der ersten Vielzahl von Bildsensoren zu den Bildsensoren der zweiten Vielzahl von Bildsensoren zwischen 2:1 und 3:1 beträgt.

Außerdem erfordern die in den Figuren dargestellten logischen Abläufe nicht die bestimmte dargestellte Reihenfolge oder sequenzielle Reihenfolge, um wünschenswerte Ergebnisse zu erzielen. Darüber hinaus können andere Schritte vorgesehen oder Schritte aus den beschriebenen Abläufen eliminiert werden, während andere Komponenten zu den beschriebenen Systemen hinzugefügt oder aus denselben entfernt werden können. Dementsprechend befinden sich andere Ausführungsformen innerhalb des Umfangs der folgenden Ansprüche.

ZITATE ENTHALTEN IN DER BESCHREIBUNG

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.

Zitierte Nicht-Patentliteratur

  • Mehr Details sind offenbart in Anderson et al., „Jump: Virtual Reality Video“, ACM Transactions on Graphics (TOG), Proceedings of ACM SIGGRAPH Asia 2016, Band. 35, Ausgabe 6, Art. Nr. 198, November 2016 [0121]