Heim >Technologie-Peripheriegeräte >KI >Die gemeinsame Nutzung von Microsoft AR/VR-Patenten löst Okklusions- oder Parallaxenprobleme, die durch unterschiedliche Kamerawinkel verursacht werden
(Nweon, 3. November 2023) Da die Position nicht den Augen entsprechen kann, kann es für Benutzer bei einer Kopfdarstellung basierend auf der Kameraperspektive schwierig sein, die räumliche Beziehung von Objekten in der Umgebung relativ zum definierten Raum korrekt wahrzunehmen. Darüber hinaus können mehrere Benutzer innerhalb desselben definierten Raums unterschiedliche Perspektiven in Bezug auf Objekte außerhalb des definierten Raums haben.
In der Patentanmeldung mit dem Titel „Perspektivabhängige Darstellung der Umgebung“ schlägt Microsoft daher ein Umgebungsbild vor, das den definierten Raum korrekt darstellt, insbesondere wenn es sich um eine mobile Plattform wie ein Auto handelt. Kurz gesagt, das Computersystem erstellt eine Tiefenkarte und Intensitätsdaten von mindestens einem Teil der Umgebung, die einen definierten Raum umgibt. Die Intensitätsdaten werden dann mit dem Standort der Tiefenkarte korreliert.
Darüber hinaus kann das Computersystem Informationen über die Körperhaltung des Benutzers innerhalb des definierten Raums erhalten und basierend auf der Körperhaltung des Benutzers den Teil der Umgebung des definierten Raums bestimmen, den der Benutzer betrachtet. Das Computersystem erhält außerdem Bilddaten, die Teile der Umgebung aus der Perspektive des Benutzers darstellen,
Dann generiert das Computersystem ein Bild zur Anzeige basierend auf den Intensitätsdaten an der Tiefenkartenposition im Sichtfeld des Benutzers. Auf diese Weise kann die von einer oder mehreren Kameras erhaltene Umgebungsansicht auf die Perspektive des Benutzers projiziert werden, wodurch eine korrekte Umgebungsansicht ohne Verdeckungs- oder Parallaxenprobleme aufgrund der unterschiedlichen Perspektiven der Kameras bereitgestellt wird.
Abbildung 1 zeigt ein beispielhaftes Nutzungsszenario 100, bei dem sich die Benutzer 102 und 104 innerhalb eines definierten Raums 106 befinden. Die Benutzer 102 und 104 tragen am Kopf befestigte Geräte 112 bzw. 114.
Das Computersystem 110 generiert Bilddaten, die die Umgebung rund um den definierten Raum aus der Perspektive jedes Benutzers 102, 104 darstellen. Zu diesem Zweck erhält das Computersystem 110 Informationen über die Körperhaltung jedes Benutzers 102 und 104 im definierten Raum 106.
In einer Ausführungsform kann die Pose jedes Benutzers 102, 104 von einem oder mehreren Bildgebungsgeräten bestimmt werden, die in einem Referenzrahmen des definierten Raums befestigt und so konfiguriert sind, dass sie den Benutzer innerhalb des definierten Raums abbilden.
In Abbildung 1 sind vier solcher Bildgebungsgeräte als 116, 118, 120 und 122 dargestellt. Beispiele für solche Bildgebungsgeräte können Stereokamerageräte, Tiefensensoren und dergleichen sein.
Das Computersystem 110 kann so konfiguriert sein, dass es aus Daten der Kameras 108A–108E eine Tiefenkarte der Umgebung um den definierten Raum 106 erstellt. Jede Kamera 108A–108E ist dazu konfiguriert, Intensitätsbilddaten eines Teils der Umgebung zu erfassen. Die Kameras kennen alle ihre räumliche Beziehung zueinander.
Außerdem überlappen sich, wie in Abbildung 1 dargestellt, die Sichtfelder benachbarter Kameras. Daher können Stereobildgebungstechniken verwendet werden, um die Entfernung von Objekten in der Umgebung zu bestimmen und Tiefenkarten zu erstellen. In anderen Beispielen kann ein optionaler Tiefensensor 115, der von den Kameras 108A–108E getrennt ist, verwendet werden, um eine Tiefenkarte der Umgebung zu erhalten. Beispiele für Tiefensensoren sind Lidar-Sensoren und eine oder mehrere Tiefenkameras. In einem solchen Beispiel dürfen sich die Sichtfelder der Kameras, die optional Intensitätsbilder erfassen, nicht überlappen.
Intensitätsdaten der Kamera werden jedem Standort in der Tiefenkarte zugeordnet, beispielsweise jedem Scheitelpunkt in einem Netz oder jedem Punkt in einer Punktwolke. In anderen Beispielen werden Intensitätsdaten von Kameras rechnerisch kombiniert, um berechnete kombinierte Intensitätsdaten für jeden Standort in der Tiefenkarte zu bilden. Wenn beispielsweise ein Tiefenkartenstandort durch Sensorpixel von zwei oder mehr verschiedenen Kameras abgebildet wird, können die Pixelwerte von den zwei oder mehr verschiedenen Kameras berechnet und dann gespeichert werden.
Als nächstes kann das Computersystem 110 zumindest auf der Grundlage der Geste jedes Benutzers 102, 104 einen Teil der Umgebung bestimmen, der den definierten Raum umgibt, den jeder Benutzer 102, 104 betrachtet, und eine Darstellung dieses Teils aus der Perspektive erhalten von jedem Benutzer 102, 104 Bilddaten der Umgebung und stellt die Bilddaten jedem Kopfdisplay 112, 114 zur Verfügung.
Durch die Kenntnis der Körperhaltung des Benutzers innerhalb des definierten Raums 106 und der räumlichen Beziehung der Tiefenkarte der Umgebung zum definierten Raum 106 kann beispielsweise die Körperhaltung jedes Benutzers mit der Tiefenkarte verknüpft werden. Anschließend kann das Sichtfeld jedes Benutzers definiert und auf die Tiefenkarte projiziert werden, um den Teil der Tiefenkarte zu bestimmen, der sich im Sichtfeld des Benutzers befindet.
Als nächstes können Techniken wie Raycasting verwendet werden, um zu bestimmen, wo die Tiefenkarte im Sichtfeld sichtbar ist. Mit dem Standort verknüpfte Intensitätsdaten können verwendet werden, um ein Bild zur Anzeige zu erstellen. Das Computersystem 110 kann optional mit einem Remote-Computersystem 124 wie etwa einem Cloud-Dienst kommunizieren. In solchen Fällen können einer oder mehrere dieser Verarbeitungsschritte vom Remote-Computing-System 124 durchgeführt werden.
Auf diese Weise können verschiedene Benutzer innerhalb eines bestimmten Raums Bilder der Umgebung aus einer persönlichen Perspektive betrachten. Das vom Headset 112 aus der Perspektive des Benutzers 102 angezeigte Bild kann das Objekt 126 und eine Ansicht des Objekts 128 in der Umgebung umfassen, während die Ansicht des Objekts 128 durch das Objekt 126 in dem vom Headset 114 aus der Perspektive des Benutzers angezeigten Bild verdeckt sein kann 104 .
Abbildung 2 zeigt ein Blockdiagramm eines Beispielsystems 200, das so konfiguriert ist, dass es einem Benutzer innerhalb des definierten Raums aus der Perspektive des Benutzers ein Bild der Umgebung rund um einen definierten Raum anzeigt. Das System 200 umfasst ein Computersystem 202, das sich lokal in einem definierten Raum befindet, und ein Anzeigegerät 204, das sich innerhalb des definierten Raums befindet.
Das System 200 umfasst eine oder mehrere Kameras 210 und ist dazu konfiguriert, die Umgebung abzubilden. In einem Beispiel wird die Kamera 210 als passive Stereokamera verwendet und verwendet Stereobildgebungsverfahren, um Intensitätsdaten und Tiefendaten zu erfassen. In anderen Beispielen werden optional ein oder mehrere Tiefensensoren 208 verwendet, um Tiefendaten der Umgebung eines definierten Raums zu erhalten.
Das Computersystem 202 enthält ausführbare Anweisungen zum Erstellen einer Tiefenkarte 212 der Umgebung aus den Tiefendaten. Die Tiefenkarte 212 kann jede geeignete Form annehmen, beispielsweise eine 3D-Punktwolke oder ein Netz. Wie oben beschrieben, kann das Computersystem 202 Intensitätsdaten 214 empfangen und speichern, die jedem Standort in der Tiefenkarte 212 zugeordnet sind, basierend auf Bilddaten, die von einer oder mehreren Kameras 210 erfasst wurden.
Die relativen räumlichen Positionen des Tiefensensors 208 und der Kamera 210 sind zueinander und zur Geometrie des definierten Raums kalibriert. Dementsprechend zeigt FIG. 2 Kalibrierungsparameter 216, die als Eingabe verwendet werden können, um die Ansicht der Kamera 210 und des Tiefensensors 208 auf die Körperhaltung des Benutzers zu übertragen und so dabei zu helfen, die Bilddaten aus der Kameraperspektive in die Benutzerperspektive zur Anzeige umzuprojizieren . .
Da sich in einer Ausführungsform das Anzeigegerät 204 und/oder der definierte Raum kontinuierlich relativ zur Umgebung bewegen können, kann eine kontinuierliche externe Kalibrierung durchgeführt werden, um die Position des Anzeigegeräts 204 auf die Tiefenkarte 212 zu kalibrieren. Beispielsweise kann die Kalibrierung der Tiefenkarte 212 durch das Anzeigegerät 204 mit einer Bildrate der Anzeige durch das Anzeigegerät 204 durchgeführt werden.
Das Computersystem 202 kann außerdem Informationen über die Körperhaltung des Benutzers innerhalb des definierten Raums erhalten. Die Körperhaltung eines Benutzers kann sich insbesondere auf die Kopfposition und Kopfausrichtung beziehen, die dabei hilft, einen Teil der Umgebung zu bestimmen, die den definierten Raum umgibt, nach dem der Benutzer sucht. Das Computersystem 202 ist zum Empfangen von Kopfverfolgungsdaten 218 konfiguriert. Kopfverfolgungsdaten 218 können zusätzlich oder alternativ von einem oder mehreren Bildgebungsgeräten empfangen werden, die in einem Bezugssystem in einem definierten Raum fixiert sind.
Wie oben beschrieben, verwendet das Computersystem 202 die Tiefenkarte 212 und entsprechende Intensitätsdaten 214 in Verbindung mit der Körperhaltung des Benutzers, die aus den Kopfverfolgungsdaten 218 bestimmt wird, um Bilddaten für die Anzeige aus der Perspektive des Benutzers des Anzeigegeräts 204 zu bestimmen.
Das Computersystem 202 kann anhand der Körperhaltung des Benutzers den Teil der Umgebung bestimmen, den der Benutzer betrachtet, das Sichtfeld des Benutzers auf die Tiefenkarte projizieren und dann Intensitätsdaten für die aus der Perspektive des Benutzers sichtbaren Tiefenkartenpositionen erhalten.
Bilddaten, die dem Anzeigegerät zur Anzeige bereitgestellt werden, können einer Nachprojektion innerhalb des Bildpuffers des Anzeigegeräts 204 unterzogen werden. Beispielsweise kann die Nachprojektion verwendet werden, um die Position von Objekten in einem gerenderten Bild direkt vor der Anzeige des gerenderten Bildes zu aktualisieren.
Hier befindet sich das Anzeigegerät 204 in einem fahrenden Fahrzeug und die Bilddaten im Bildpuffer des Anzeigegeräts 204 können basierend auf der vom Fahrzeug zwischen Bilderzeugung und Bildanzeige zurückgelegten Strecke bei 226 neu projiziert werden. Das Computersystem 202 kann Bewegungsvektoren bereitstellen, um das fahrzeugbewegungsbasierte Gerät 204 für eine spätere Neuprojektion anzuzeigen. In anderen Beispielen können Bewegungsvektoren aus Daten von einer lokalen Trägheitsmesseinheit des Anzeigegeräts 204 bestimmt werden.
In einer Ausführungsform kann sich die Bildrate der von der Kamera 210 erfassten Intensitätsdaten von der Bildrate der vom Tiefensensor 208 erfassten Tiefenkarte unterscheiden. Beispielsweise kann die zum Erfassen von Tiefenkarten verwendete Bildrate niedriger sein als die zum Erfassen von Intensitätsdaten verwendete Bildrate.
Ebenso kann die Bildrate aufgrund von Änderungen der Fahrzeuggeschwindigkeit, sich bewegenden Objekten in der Umgebung und/oder anderen Umgebungsfaktoren variieren. In solchen Beispielen können die Intensitätsdaten und/oder Tiefendaten vor dem Zuordnen der Intensitätsdaten zum Ort der Tiefenkarte übersetzt werden, um Bewegungen zu korrigieren, die zwischen dem Zeitpunkt des Erhaltens der Intensitätsdaten und dem Zeitpunkt des Erhaltens der Tiefenkarte auftreten.
Im Falle der Verwendung mehrerer Kameras 210 zur Erfassung von Intensitätsdaten können Objekte in der den definierten Raum umgebenden Umgebung in den Bilddaten mehrerer Kameras 210 erscheinen. In einem solchen Beispiel können die Intensitätsdaten jeder Kamera, die das Objekt abbildet, auf die Perspektive des Benutzers projiziert werden.
In anderen Beispielen können Intensitätsdaten von einer Kamera oder einem Teilsatz von Kameras, die das Objekt abbilden, auf die Perspektive des Benutzers projiziert werden. Dies erfordert möglicherweise weniger Rechenressourcen als die Übertragung der Bilddaten aller Kameras, die das Objekt abbilden, auf die Perspektive des Benutzers.
In einem solchen Beispiel können Bilddaten einer Kamera verwendet werden, deren Perspektive der Benutzerperspektive am nächsten kommt. In einem anderen Beispiel können Pixelintensitätsdaten von mehreren Kameras für einen ausgewählten Tiefenkartenstandort gemittelt oder auf andere Weise rechnerisch kombiniert und dann für den Tiefenkartenstandort gespeichert werden.
Im Beispiel von Abbildung 1 betrachten die Benutzer 102 und 104 perspektivabhängige Bilder, die vom Computersystem 110 generiert werden, über die Headsets 112, 114. Im beispielhaften Szenario 300 von FIG. 3 betrachtet ein Benutzer die von den Kameras 306A–306E erfassten Bilddaten auf einem Anzeigefeld, das sich an einem festen Ort innerhalb eines definierten Raums 304 befindet.
Anstatt jedoch das Bild aus der Perspektive der Kameras 306A-306E anzuzeigen, werden die Bilddaten der Kameras 306A-306E mit einer aus den Bilddaten ermittelten Tiefenkarte oder einer aus den von den Kameras erfassten Daten ermittelten Tiefenkarte verknüpft Tiefensensor.
Dies ermöglicht die Umwandlung von Bilddaten in eine perspektivische Ansicht des Benutzers 302. Die Kameras 312, 314 bilden das Innere des definierten Raums 304 ab, um eine Benutzergestenverfolgung durchzuführen. Zur Haltungsbestimmung des Benutzers werden zusätzlich ein oder mehrere Tiefensensoren eingesetzt. Bilddaten aus der Perspektive des Benutzers 302 können auf dem Anzeigefeld 310 basierend auf Benutzergestendaten angezeigt werden, die aus Daten von den Kameras 312, 314 ermittelt werden.
In diesem Beispiel kann die Neuprojektion der Bilddaten in die Perspektive des Benutzers 302 zusätzlich zu den oben in Bezug auf Abbildung 2 beschriebenen Vorgängen auch Benutzergesten zur Transposition des Anzeigefelds umfassen, da die Position des Benutzers 302 relativ zum Das Anzeigefeld ändert sich mit den Änderungen, wenn sich der Benutzer innerhalb des Definitionsraums 304 bewegt.
Wenn sich Benutzer 302 also an einen neuen Standort 318 bewegt, erscheinen die Objekte 320, 322 in der Umgebung aus einem anderen Blickwinkel als am ursprünglichen Standort des Benutzers 302. Das Computersystem 316 kann optional mit einem Remote-Computersystem 324, beispielsweise einem Cloud-Dienst, kommunizieren.
Abbildung 4 veranschaulicht ein Beispielverfahren 400 zum Bereitstellen von Bilddaten einer Umgebung, die einen definierten Raum umgibt, zur Anzeige aus der Perspektive eines Benutzers innerhalb des definierten Raums.
Bei 402 umfasst Methode 400 das Erhalten von Informationen über die Körperhaltung des Benutzers innerhalb des definierten Raums. Wie oben erwähnt, kann die Körperhaltung eines Benutzers beispielsweise die Kopfposition und -ausrichtung widerspiegeln. Die Geste des Benutzers kann basierend auf Bilddaten von einer oder mehreren Kameras bestimmt werden, die in einem räumlichen Bezugsrahmen fixiert sind. Als weiteres Beispiel kann bei 406 die Geste des Benutzers von einem vom Benutzer getragenen Headset empfangen werden, beispielsweise ermittelt aus Bilddaten von einem oder mehreren Bildsensoren des Headsets.
Beziehen Sie in 408 die Erstellung einer Tiefenkarte der Umgebung ein, die den definierten Raum umgibt. Die Tiefenkarte kann aus Bilddaten erstellt werden, die bei 410 von mehreren Kameras erfasst wurden, die die Umgebung abbilden, oder kann aus Lidar-Daten erstellt werden, die bei 412 von einem Lidar-Sensor erfasst wurden.
In anderen Beispielen können andere geeignete Arten der Tiefenmessung verwendet werden, beispielsweise die Flugzeit-Tiefenbildgebung. Dann umfasst das Verfahren 400 bei 414 das Speichern von Intensitätsdaten für jeden Ort in der Tiefenkarte.
Als nächstes bestimmen Sie bei 416 basierend auf der Körperhaltung des Benutzers den Teil der Umgebung, der den definierten Raum umgibt, nach dem der Benutzer sucht. Dies kann bei 418 das Bestimmen umfassen, welchen Teil der Tiefenkarte der Benutzer betrachtet. In einem Beispiel kann das Sichtfeld des Benutzers auf die Tiefenkarte projiziert werden, um den Ort in der Tiefenkarte zu bestimmen, der aus der Perspektive des Benutzers sichtbar ist.
Methode 400 umfasst bei 420 auch das Erhalten von Bilddaten, die den Teil der Umgebung aus der Perspektive des Benutzers darstellen. Das Verfahren 400 umfasst bei 426 auch das Bereitstellen von Bilddaten zur Anzeige durch ein Anzeigegerät innerhalb des definierten Raums.
Abbildung 5 zeigt ein Flussdiagramm einer Beispielmethode 500 zum Anzeigen von Umgebungsbilddaten aus der Perspektive eines Benutzers über ein am Kopf montiertes Display.
Bei 502 umfasst Methode 500 das Erhalten von Informationen über die Pose des Headsets innerhalb des definierten Raums. Die Pose des Headsets kann anhand von Bilddaten einer oder mehrerer Head-Tracking-Kameras des Headsets verfolgt werden. Bei 504 kann die Pose des Headsets basierend auf einer oder mehreren Kameras bestimmt werden, die in einem Referenzrahmen fixiert sind, der den Raum definiert. Bei 506 kommunizieren eine oder mehrere feste Kameras mit dem Headset.
Bei 508 umfasst Methode 500 auch das Erhalten einer Tiefenkarte, die Tiefendaten und Intensitätsdaten für jeden Ort der Tiefenkarte enthält, wobei die Tiefenkarte die den definierten Raum umgebende Umgebung darstellt.
Bestimmen Sie bei 512 zumindest basierend auf der Haltung des Headsets innerhalb des definierten Raums einen Teil der Umgebung rund um den definierten Raum, auf den der Benutzer des Headsets blickt. Dies kann bei 514 das Bestimmen des Teils der Tiefenkarte umfassen, den der Benutzer betrachtet. Der Teil der Umgebungs-/Tiefenkarte, den der Benutzer betrachtet, kann außerdem zumindest auf der Augenposition des Benutzers basieren.
Das Verfahren 500 umfasst außerdem bei 518 das Erhalten von Bilddaten, die Intensitätsdaten für jeden Ort im Tiefenkartenteil enthalten, und bei 520 das Anzeigen der Bilddaten.
Verwandte Patente: Microsoft-Patent |. Perspektivenabhängige Darstellung der Umgebung
Die Microsoft-Patentanmeldung mit dem Titel „Perspektivabhängige Darstellung der Umgebung“ wurde ursprünglich im März 2022 eingereicht und kürzlich vom US-Patent- und Markenamt veröffentlicht.
Das obige ist der detaillierte Inhalt vonDie gemeinsame Nutzung von Microsoft AR/VR-Patenten löst Okklusions- oder Parallaxenprobleme, die durch unterschiedliche Kamerawinkel verursacht werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!