DE202017105307U1 - Umschalten aktiver Objekte in einer erweiterten Realitäts- und/oder virtuellen Realitätsumgebung - Google Patents

Umschalten aktiver Objekte in einer erweiterten Realitäts- und/oder virtuellen Realitätsumgebung Download PDF

Info

Publication number
DE202017105307U1
DE202017105307U1 DE202017105307.5U DE202017105307U DE202017105307U1 DE 202017105307 U1 DE202017105307 U1 DE 202017105307U1 DE 202017105307 U DE202017105307 U DE 202017105307U DE 202017105307 U1 DE202017105307 U1 DE 202017105307U1
Authority
DE
Germany
Prior art keywords
virtual
virtual object
objects
gaze
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE202017105307.5U
Other languages
English (en)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of DE202017105307U1 publication Critical patent/DE202017105307U1/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality

Abstract

Computerprogrammprodukt, umfassend eine Reihe von Anweisungen, die, wenn sie durch einen oder mehrere Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren veranlassen, ein Verfahren auszuführen, das Verfahren umfassend:Anzeigen einer virtuellen Benutzeroberfläche in einer virtuellen Realitätsumgebung auf einem Display eines am Kopf getragenen Displaygeräts (HMD), wobei die virtuelle Oberfläche eine Vielzahl von virtuellen Objekten beinhaltet;Erkennen eines auf ein erstes virtuelles Objekt aus der Vielzahl von virtuellen Objekten gerichteten Blicks, wobei das erste virtuelle Objekt an einer ersten virtuellen Position platziert ist;Empfangen einer die Auswahl des ersten virtuellen Objekts verifizierenden Verifizierungseingabe;Bewegen des ersten virtuellen Objekts zu einer zweiten virtuellen Position in Reaktion auf die Verifizierung der Auswahl des ersten virtuellen Objekts; undNeuanordnen der Anzeige verbleibender virtueller Objekte aus der Vielzahl von virtuellen Objekten, basierend auf dem Bewegen des ersten virtuellen Objekts.

Description

  • TECHNISCHES GEBIET
  • Dieses Dokument bezieht sich im Allgemeinen auf Objektauswahl und -platzierung in einer erweiterten Realitäts- und/oder virtuellen Realitätsumgebung.
  • ALLGEMEINER STAND DER TECHNIK
  • Ein erweitertes Realitäts (AR)- und/oder virtuelles Realitätssystems (VR) kann eine immersive dreidimensionale (3D) virtuelle Umgebung erzeugen. Ein Benutzer kann mit Objekten in dieser virtuellen Umgebung interagieren, wobei mehrere elektronische Geräte verwendet werden, wie beispielsweise ein Helm oder ein anderes am Kopf angebrachtes Gerät, das eine Anzeige, eine Brille oder eine Maske beinhaltet, durch die ein Benutzer beim Betrachten eines Anzeigegeräts hindurchschaut, mit Sensoren ausgestattete Handschuhe, externe Geräte wie tragbare Geräte, Tastaturen und andere elektronische Geräte. Während der Immersion in der virtuellen Umgebung und bei der Interaktion mit Objekten und Merkmalen in der virtuellen Umgebung, beispielsweise unter Verwendung einer Tastatur und/oder einer Maus, kann die Erfahrung des Benutzers in der virtuellen Umgebung möglicherweise durch die Fähigkeit in der virtuellen Umgebung Objekte auszuwählen, zu bewegen und den Fokus darauf zu ändern, ohne eine oder beide Hände von der Tastatur zu nehmen, um die virtuellen Objekte manuell zu manipulieren, verbessert werden.
  • KURZDARSTELLUNG
  • In einem Aspekt beinhaltet ein Computerprogrammprodukt, z. B. auf einem nicht flüchtigen computerlesbaren Medium ausgeführt, eine Reihe von Anweisungen, die, wenn sie durch einen oder mehrere Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren veranlasst, ein Verfahren durchzuführen, das das Folgende beinhaltet: ein Anzeigen auf einem Display eines am Kopf angebrachten Displaygeräts (head mounted display, HMD) einer virtuellen Benutzeroberfläche in einer virtuellen Realitätsumgebung, wobei die virtuelle Oberfläche eine Vielzahl von virtuellen Objekten beinhaltet, ein Erkennen eines auf ein erstes virtuelles Objekt aus der Vielzahl von virtuellen Objekten gerichteten Blicks, wobei das erste virtuelle Objekt an einer ersten virtuellen Position platziert ist, ein Empfangen einer Verifizierungseingabe, die die Auswahl des ersten virtuellen Objekts verifiziert, ein Bewegen des ersten virtuellen Objekts an eine zweite virtuelle Position in Reaktion auf die Verifizierung der Auswahl des ersten Objekts und ein Neuanordnen der Anzeige der verbleibenden virtuellen Objekte aus der Vielzahl von virtuellen Objekten basierend auf der Bewegung des ersten virtuellen Objekts.
  • In einem weiteren Aspekt kann ein System ein Computergerät beinhalten, das konfiguriert ist, eine virtuelle Realitätsumgebung zu erzeugen, wobei das Computergerät einen Speicher beinhaltet, der ausführbare Anweisungen speichert, und einen zum Ausführen der Anweisungen konfigurierten Prozessor beinhaltet. Eine Ausführung der Anweisungen kann das Computergerät veranlassen auf einem Display eines am Kopf getragenen Displaygeräts (HMD) eine virtuelle Benutzeroberfläche in der virtuellen Realitätsumgebung anzuzeigen, wobei die virtuelle Oberfläche eine Vielzahl von virtuellen Objekten beinhaltet, einen auf ein erstes virtuelles Objekt aus der Vielzahl von virtuellen Objekten gerichteten Blick erkennt, wobei das erste virtuelle Objekt an einer ersten virtuellen Position platziert ist, eine Verifizierungseingabe empfängt, die die Auswahl des ersten virtuellen Objekts verifiziert, in Reaktion auf die Verifizierung der Auswahl des ersten virtuellen Objekts das erste virtuelle Objekt an eine zweite virtuelle Position bewegt und die Anzeige der verbleibenden virtuellen Objekte aus der Vielzahl von virtuellen Objekten basierend auf der Bewegung des ersten virtuellen Objekts neu anordnet.
  • Die Details von einer oder mehreren Implementierungen sind in den begleitenden Zeichnungen und der nachfolgenden Beschreibung angeführt. Andere Merkmale werden aus der Beschreibung und den Zeichnungen und aus den Ansprüchen offensichtlich.
  • Figurenliste
    • 1 ist eine exemplarische Implementierung eines erweiterten und/oder virtuellen Realitätssystems, das gemäß Implementierungen wie hierin beschrieben, ein am Kopf getragenes Display in Kommunikation mit einem externen Eingabegerät beinhaltet.
    • FIGs. 2Aund 2B sind perspektivische Ansichten eines exemplarischen am Kopf getragenen Displaygeräts, gemäß Implementierungen wie hierin beschrieben.
    • 3 ist ein Blockdiagramm eines erweiterten und/oder virtuellen Realitätssystems, gemäß Implementierungen wie hierin beschrieben.
    • FIGs 4A-4E veranschaulichen ein System zum Umschalten von virtuellen Objekten in Reaktion auf eine erkannte Blickeingabe in einer erweiterten und/oder virtuellen Realitätsumgebung, gemäß Implementierungen wie hierin beschrieben.
    • FIGs 5A-5F und 6A-6C veranschaulichen visuelle Anzeiger, die im Zusammenhang mit dem Umschalten von virtuellen Objekten in Reaktion auf eine erkannte Blickeingabe in erweiterten und/oder virtuellen Realitätsumgebungen stehen, gemäß Implementierungen wie hierin beschrieben.
    • FIGs 7A-7B veranschaulichen das Umschalten von virtuellen Objekten in Reaktion auf eine erkannte Blickeingabe in einer erweiterten und/oder virtuellen Realitätsumgebung, gemäß Implementierungen wie hierin beschrieben.
    • 8 ist ein Flussdiagramm eines Verfahrens zum Kombinieren von Blickeingaben und Berührungsoberflächen-Eingaben für Benutzeroberflächen in einer erweiterten und/oder virtuellen Realitätsumgebung, gemäß Implementierungen wie hierin beschrieben.
    • 9 zeigt ein Beispiel für ein Computergerät und ein mobiles Computergerät, das verwendet werden kann, um die hier beschriebenen Techniken zu implementieren.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Ein in eine erweiterte und/oder virtuelle Realitätsumgebung eingetauchter Benutzer, der beispielsweise ein am Kopf getragenes Displaygerät (HMD) trägt, kann die virtuelle Umgebung erkunden und durch mehrere verschiedene Arten von Eingaben mit der virtuellen Umgebung interagieren, inklusive beispielsweise einer Manipulation eines oder mehrerer vom HMD getrennter elektronischer Geräte und/oder Manipulation des HMDs selbst und/oder einer Blickrichtung und/oder einer Kopfbewegung und/oder Hand-/Armgesten und Ähnlichem. Der Benutzer kann mehrere elektronische Geräte unabhängig vom HMD oder mit diesem zusammen manipulieren, um eine gewünschte Aktion in der virtuellen Umgebung zu veranlassen. Die virtuelle Umgebung kann dem Benutzer auf einem Display des HMD angezeigt werden, ohne dass das eine oder die mehreren externen elektronischen Geräte (die operativ mit dem HMD verbunden sind) für den Benutzer gut sichtbar sind, während er das HMD trägt. Zum Beispiel kann ein Benutzer unter Verwendung einer externen Tastatur in der virtuellen Umgebung widergespiegelte Texteingaben vornehmen, ohne dass er die Tastatur tatsächlich sehen kann. Jemand, der im Zehnfingersystem schreibt, kann es beispielsweise als störend empfinden, sowohl für die manuelle Tippaktivität als auch für den Gedankenfluss, eine oder beide Hände von der Tastatur zu nehmen, um eine Handgeste zu verwenden, um zwischen virtuellen Bildschirmen umzuschalten, und dann an die Tastatur zurückzukehren. Ähnlich dazu kann es unangenehm sein und eine Fehlerquelle darstellen, Tastaturkürzel und/oder Hotkeys auf der externen Tastatur zu verwenden, wenn mit derart auf dem HMD angezeigten virtuellen Objekten in der virtuellen Umgebung interagiert wird. Ein System und Verfahren, gemäß Implementierungen wie hierin beschrieben, kann dem Benutzer eine natürliche Art und Weise bieten, mit virtuellen Objekten zu interagieren und Aktivierung und Fokus zwischen virtuellen Objekten in der virtuellen Umgebung umzuschalten, indem es sich einer oder mehreren künstlichen Beschränkungen widmet, die aufgrund eines Betriebs in einer virtuellen Umgebung auftreten und anderweitig bei Betrieb in einem natürlichen Umfeld möglicherweise nicht auftreten, wie beispielsweise eine Unfähigkeit periphere Geräte zu sehen und Ähnliches.
  • In einem System und Verfahren, gemäß Implementierungen wie hierin beschrieben, können die Blickrichtung und -bewegung der Augen des Benutzers und/oder die Kopfausrichtung und -bewegung des Benutzers erkannt, verfolgt und in eine Benutzereingabe in der durch das HMD erzeugten virtuellen Umgebung übersetzt werden. Zum Beispiel kann ein optisches Verfolgungsgerät, wie etwa ein in ein am Kopf getragenes Displaygerät (HMD) eingebautes optisches Blickverfolgungsgerät, die Blickrichtung und -bewegung der Augen des Benutzers erkennen und verfolgen, oder Sensoren im HMD können die Kopfausrichtung und -bewegung des Benutzers erkennen und verfolgen. Diese erkannte und verfolgte Blickrichtung und -bewegung kann beispielsweise in eine Auswahl eines virtuellen Objekts in der durch das HMD angezeigten virtuellen Umgebung, ein Bewegen eines virtuellen Objekts in der durch das HMD angezeigten virtuellen Umgebung, ein Umschalten oder Verschieben des Fokus auf virtuelle Objekte in der durch das HMD angezeigten virtuellen Umgebung und Ähnliches übersetzt werden. Die Fähigkeit den Fokus auf virtuelle Objekte auf diese Weise auswählen, bewegen und umschalten zu können, ohne dabei die Hände von der externen Tastatur (oder einem anderen manuell bedienten externen Gerät) zu nehmen kann Texteingaben vereinfachen, die Eingabegenauigkeit verbessern und die Benutzererfahrung verbessern.
  • 1 ist eine Außenansicht eines Benutzers, der ein HMD 100 trägt. In dieser exemplarischen Außenansicht befindet sich der Benutzer in einem physischen Raum 400, in dem das erweiterte und/oder virtuelle Realitätssystem betrieben werden kann, und sitzt an einem physischen, realen Schreibtisch und betrachtet eine virtuelle Szene, inklusive einer Vielzahl von virtuellen Objekten, auf einem Display des HMD 100. Während die virtuelle Szene für den Benutzer innerhalb des HMD 100 sichtbar ist, wird eine Darstellung 500 der dem Benutzer auf einem Display des HMD 100 angezeigten in 1 gezeigt, um die Diskussion und Veranschaulichung zu erleichtern. Im in 1 gezeigten Beispiel interagiert der Benutzer mit einem externen Gerät 200, beispielsweise einer physischen, realen Tastatur 200, die sich auf dem physischen, realen Schreibtisch befindet. Das externe Gerät 200 kann beispielsweise über eine drahtgebundene oder eine drahtlose Verbindung, wie beispielsweise eine WLAN- oder Bluetooth-Verbindung, mit dem HMD 100 betriebsfähig gekoppelt oder gepaart werden. Dies kann Kommunikation und Datenaustausch zwischen dem externen Gerät 200, oder der Tastatur, und dem HMD 100 ermöglichen. Während manuelle Benutzereingaben durch das externe Gerät 200, oder Tastatur 200, empfangen werden, kann der Benutzer mit durch das HMD 100 basierend auf den manuellen Eingaben, die auf der Tastatur 200 empfangen werden, erzeugten virtuellen Objekten in der virtuellen Szene 500 interagieren.
  • FIGs 2A und 2B sind perspektivische Ansichten eines exemplarischen HMDs, wie beispielsweise das vom Benutzer im in 1 gezeigten Beispiel getragene HMD 100. Das HMD 100 kann ein an einen Rahmen 120 gekoppeltes Gehäuse 110 mit einem Audioausgabegerät 130 beinhalten, zum Beispiel Lautsprechern, die in ebenfalls an Rahmen 120 gekoppelten Kopfhörern angebracht sind. In 2B ist ein vorderer Teil 110a des Gehäuses 110 von einem Basisteil 110b des Gehäuses 110 wegrotiert, sodass einige der in Gehäuse 110 enthaltenen Komponenten sichtbar sind. Ein Display 140 kann an einer nach innen zeigenden Seite des vorderen Teils 110a des Gehäuses 110 angebracht sein. Linsen 150 können im Gehäuse 110 zwischen den Augen des Benutzers und dem Display 140 angebracht sein, wenn der vordere Teil 110a sich in der geschlossenen Position gegenüber dem Basisteil 110b des Gehäuses 110 befindet. HMD 100 kann ein Messsystem 160 mit mehreren Sensoren und einem Steuersystem 170 beinhalten, inklusive einem Prozessor 190 und mehreren Steuersystemgeräten, um den Betrieb des HMD 100 zu ermöglichen. Zum Beispiel kann das Messsystem 160 in einigen Implementierungen eine Trägheitsmesseinheit (inertial measurement unit, IMU) 162 beinhalten, die mehrere verschiedene Arten von Sensoren beinhaltet, wie beispielsweise einen Beschleunigungsmesser, ein Gyroskop, ein Magnetometer und ähnliches. Eine Position und Ausrichtung des HMD 100 kann basierend auf durch die IMU 162 bereitgestellten Daten erkannt und verfolgt werden, was dem System wiederum erlaubt, die Kopfausrichtung und -bewegung des Benutzers zu erkennen und zu verfolgen. Eine Kamera 180 kann Standbilder und/oder bewegte Bilder aufnehmen, die verwendet werden können, um beim Verfolgen einer physischen Position des Benutzers und/oder anderer operativ mit dem HMD 100 verbundener externer Geräte behilflich zu sein. Die aufgenommenen Bilder können auch dem Benutzer in einem Durchreichmodus auf dem Display 140 angezeigt werden.
  • In einigen Implementierungen kann das HMD 100 ein Blickverfolgungsgerät 165 beinhalten, um eine Blickrichtung und -bewegung der Augen des Benutzers zu erkennen und zu verfolgen. Das Blickverfolgungsgerät 165 kann einen oder mehrere Sensoren 165A beinhalten, um eine Blickrichtung und -bewegung der Augen zu erkennen und zu verfolgen. Zum Beispiel kann das Blickverfolgungsgerät einen oder mehrere Lichtsensoren und/oder einen oder mehrere Bildsensoren 165A und ähnliches beinhalten, um Bilder von den Augen des Benutzers aufzunehmen, zum Beispiel eines bestimmten Teils der Augen des Benutzers, wie beispielsweise, der Pupille. Die durch den/die Sensor(en) 165A aufgenommen Bilder können verarbeitet werden, um Richtung und Bewegung des Blicks der Augen des Benutzers zu erkennen und zu verfolgen, und der erkannte und verfolgte Blick der Augen kann als Benutzereingabe verarbeitet werden, um in eine entsprechende Interaktion in der immersiven virtuellen Erfahrung übersetzt zu werden.
  • Ein Blockdiagramm eines Systems, gemäß Implementierungen wie hierin beschrieben, wird in 3 gezeigt. Das System kann ein erstes elektronisches Gerät 300 (wie beispielsweise ein HMD wie oben im Zusammenhang mit FIGs 1 und 2A-2B beschrieben) und ein zweites elektronisches Gerät 302 (wie beispielsweise eine Tastatur wie oben im Zusammenhang mit 1 beschrieben oder ein anderes externes Computergerät wie etwa zum Beispiel ein oder mehrere tragbare elektronische Geräte, eine Maus und Ähnliches) in Kommunikation mit dem ersten elektronischen Gerät 300 beinhalten.
  • Das erste elektronische Gerät 300 kann ein Messsystem 360 und ein Steuersystem 370 beinhalten, die jeweils dem Messsystem 160 und dem Steuersystem 170 ähneln können, die in FIGs 2A und 2B gezeigt werden. Das Messsystem 360 kann eine oder mehrere Arten von Sensoren beinhalten, zum Beispiel einen Lichtsensor, einen Audiosensor, einen Bildsensor, einen Abstands-/Näherungssensor und/oder andere Sensoren und/oder verschiedene Kombinationen von Sensoren. Zum Beispiel kann das Messsystem eine IMU beinhalten, um eine Position und Ausrichtung des ersten elektronischen Geräts zu erkennen und zu verfolgen (um die Kopfausrichtung und -bewegung des Benutzers zu erkennen und zu verfolgen, wie bei der oben im Zusammenhang mit 2A-2B beschriebenen IMU 162), und einen oder mehrere Bildsensoren, die positioniert sind, um den Blick der Augen des Benutzers zu erkennen und zu verfolgen (wie etwa das oben im Zusammenhang mit FIGs 2A-2B beschriebene Blickverfolgungsgerät 165). Das Steuersystem 370 kann beispielsweise ein Einschalt-/Pausen-Steuergerät, ein Audio- und Video-Steuergerät, ein optisches Steuergerät, ein Übergangssteuergerät und/oder andere derartige Geräte und/oder unterschiedliche Kombination(en) von Geräten beinhalten. Das Messsystem 360 und/oder Steuersystem 370 können abhängig von einer bestimmten Implementierung weitere oder weniger Geräte beinhalten. Die in dem Messsystem 360 und/oder Steuersystem 370 enthaltenen Elemente können innerhalb beispielsweise eines vom in den FIGs 2A und 2B gezeigten HMD verschiedenen HMD 100 physisch anders angebracht sein (z. B. an einer verschiedenen physischen Position) Das erste elektronische Gerät 300 kann auch einen Prozessor 390 in Kommunikation mit dem Messsystem 360 und Steuersystem 370 beinhalten. Prozessor 390 kann von dem Messsystem 360 empfangene Eingaben verarbeiten, wie beispielsweise durch IMU 162 aufgenommene Kopfausrichtungs- und Kopfbewegungseingaben und/oder durch Blickverfolgungsgerät 165 aufgenommene Blickrichtungs- und Blickbewegungseingaben, wie oben im Zusammenhang mit FIGs. 2A-2B beschrieben, um Eingaben zu verarbeiten und Anweisungen entsprechend den erkannten Blickeingaben auszuführen. Das erste elektronische Gerät 300 kann auch einen Speicher 380 und ein Kommunikationsmodul 350 beinhalten, um die Kommunikation zwischen dem ersten elektronischen Gerät 300 und einem anderen externen Gerät, wie beispielsweise dem zweiten elektronischen Gerät 302 bereitzustellen. Prozessor 390 kann auch vom zweiten elektronischen Gerät 302 empfangene Eingaben verarbeiten.
  • Das zweite elektronische Gerät 302 kann ein Kommunikationsmodul 306 beinhalten, das Kommunikation und Datenaustausch zwischen dem zweiten elektronischen Gerät 302 und einem anderen Gerät bereitstellt, das extern zum zweiten elektronischen Gerät 302 ist, wie beispielsweise dem ersten elektronischen Gerät 300. In einigen Implementierungen kann das zweite elektronische Gerät 302 abhängig von einer bestimmten Konfiguration des zweiten elektronischen Geräts 302 (d. h. eine Tastatur statt eines tragbaren Steuergeräts oder einer Maus) ein Messsystem 304 beinhalten, das beispielsweise einen Bildsensor und einen Audiosensor beinhaltet, wie beispielsweise in einer Kamera und einem Mikrofon enthalten, eine IMU, ein Berührungssensor, wie in einer berührungsempfindlichen Oberfläche eines tragbaren Geräts oder Smartphone enthalten, und andere dieser Sensoren und/oder (eine) verschiedene Kombination(en) von Sensoren. Ein Prozessor 309 kann in Kommunikation mit dem Messsystem 304 und einer Steuerung 305 des zweiten elektronischen Geräts stehen, wobei die Steuerung Zugriff auf einen Speicher 308 besitzt und den gesamten Betrieb des zweiten elektronischen Geräts 302 steuert.
  • Wie oben erwähnt kann es während der Immersion in eine durch das HMD 100 erzeugte Umgebung mit virtueller Realität störend für den Benutzer sein, eine oder beide Hände von einem manuellen physischen Eingabegerät zu nehmen, wie etwa einer physischen Tastatur, um Fokus und Ähnliches virtueller Objekte in der virtuellen Umgebung auszuwählen, zu bewegen, umzuschalten. Ähnlich dazu kann es schwierig für den Benutzer sein, wieder eine angemessene Haltung in Bezug zur physischen Tastatur einzunehmen, nachdem er eine oder beide Hände von der physischen Tastatur genommen hat, um mit einem oder mehreren in der virtuellen Umgebung angezeigten virtuellen Objekten zu interagieren, und/oder eine oder beide Hände von der physischen Tastatur genommen hat, um mit einem anderen physischen Eingabegerät zu interagieren, wie etwa einer Steuerung oder einer Maus, um mit einem oder mehreren in der virtuellen Umgebung angezeigten Objekten zu interagieren. Es kann auch schwierig sein, sogar für einen relativ effektiven Nutzer des Zehnfingersystems, zum Beispiel tastaturbasierte Kürzel und/oder tastaturbasierte Hotkeys zu verwenden, um Aufgaben zu erfüllen, besonders bei der Erfüllung von Aufgaben, die anderweitig ein Entfernen einer oder beider Hände von der physischen Tastatur erfordern können, wenn der Benutzer das HMD 100 wie oben beschrieben trägt und somit die physische Tastatur nicht sehen kann. Somit kann in einem System und Verfahren, gemäß hierin beschriebenen Implementierungen zumindest eines von Blickrichtung und -bewegung der Augen und/oder Kopfausrichtung und -bewegung in eine entsprechende Benutzereingabe übersetzt werden, die eine gewünschte Aktion im Zusammenhang mit einem oder mehreren in der virtuellen Umgebung angezeigten virtuellen Objekten veranlasst, die Auswahl, Bewegung, Umschalten des Fokus und Ähnliches im Zusammenhang mit dem einen oder den mehreren virtuellen Objekten angibt.
  • FIGs. 4A-4E veranschaulichen eine exemplarische Implementierung, in der Blickrichtung und -bewegung der Augen des Benutzers erkannt und verfolgt werden, zum Beispiel durch das Blickverfolgungsgerät 165 des HMD 100. Die erkannte Blickrichtung und -bewegung der Augen kann zum Beispiel durch den Prozessor 190 des HMD 100 oder einen anderen im System enthaltenen und mit HMD 100 in Kommunikation stehenden Prozessor verarbeitet werden, um eine entsprechende Benutzereingabe zu bestimmen, die auf einen oder mehrere bestimmte der virtuellen Objekte gerichtet ist, die dem Benutzer in der virtuellen Umgebung angezeigt werden.
  • Im in 4A gezeigten Beispiel befindet sich der Benutzer im physischen Raum am physischen Schreibtisch, wobei er mit dem physischen Gerät 200 interagiert, während er die durch das HMD 100 angezeigte virtuelle Szene 500 betrachtet. In diesem Beispiel ist das physische Gerät 200 zur Einfachheit von Diskussion und Veranschaulichung eine physische Tastatur 200, die auf dem physischen Schreibtisch platziert ist, um manuelle Eingaben vom Benutzer zu empfangen. Die zu beschreibenden Prinzipien hängen jedoch nicht zwangsläufig von der peripheren Verwendung eines weiteren externen elektronischen Geräts (zusätzlich zu HMD 100) ab. Des Weiteren ist dieses, wenn ein externes elektronisches Gerät verwendet wird, nicht notwendigerweise eine Tastatur, und die zu beschreibenden Prinzipien können in Verbindung mit der Verwendung anderer Arten von manuellen Eingabegeräten zum Interagieren in einer virtuellen Umgebung durch den Benutzer angewandt werden.
  • In diesem Beispiel beinhaltet die dem Benutzer beispielsweise auf Display 140 von HMD 100 angezeigte virtuelle Szene 500 zur Einfachheit von Diskussion und Veranschaulichung eine Reihe von Dokumenten oder Dateien oder Symbolen P1 bis P9 (siehe 4B), die in einer dreigeteilten Struktur angeordnet sind und für den Benutzer verfügbare virtuelle Objekte darstellen. Die zu beschreibenden Prinzipien können jedoch auf eine Interaktion von anderen Arten von virtuellen Objekten, Elementen, Merkmalen und Ähnlichem angewandt werden, und die virtuellen Objekte in der virtuellen Szene können mit anderen Arten von Anordnungen der virtuellen Objekte angezeigt werden, wie beispielsweise ein gekrümmter Arbeitsplatz, ein zweigeteilter Arbeitsplatz und andere Anordnungen. In diesem Beispiel kann die virtuelle Szene 500 eine Vielzahl von virtuellen Arbeitsplätzen beinhalten, die beispielsweise basierend auf der Art von anzuzeigenden virtuellen Objekten, dem Interaktionsniveau eines Benutzers mit den verschiedenen angezeigten virtuellen Objekten, der Art von auf die virtuellen Objekte anzuwendenden Aktionen, Benutzerpräferenzen und Ähnlichem angeordnet werden. Im in FIGs 4A und 4B gezeigten Beispiel beinhaltet die virtuelle Szene 500 einen virtuellen Hauptarbeitsplatz A, in dem virtuelle Objekte, die die aktuelle Aufmerksamkeit oder den Hauptfokus des Benutzers in Anspruch nehmen, angezeigt werden können, und zusätzliche virtuelle Arbeitsplätze B und C, wo andere virtuelle Objekte angezeigt werden können, und die dem Benutzer nach Bedarf zur Verfügung stehen können. Die virtuellen Arbeitsplätze können in anderen Anordnungen angezeigt werden, und mehr oder weniger virtuelle Arbeitsplätze können angezeigt werden, abhängig von den Bedürfnissen eines bestimmten Benutzers, der Art von angezeigten virtuellen Objekten und anderen Faktoren.
  • Im in 4B gezeigten Beispiel liegt die Aufmerksamkeit oder Fokus des Benutzers auf dem virtuellen Element P2, das den virtuellen Hauptarbeitsplatz A einnimmt. Der Benutzer kann dann bestimmen, dass er ein anderes der virtuellen Elemente P1-P9, zum Beispiel das virtuelle Element P6, in den virtuellen Hauptarbeitsplatz bringen möchte. In einigen Implementierungen könnte diese Bewegung des virtuellen Elements P6 von der in 4B gezeigten Position in den virtuellen Hauptarbeitsplatz A beispielsweise durch eine Handgeste und/oder Steuerungsgeste erreicht werden, indem das virtuelle Element P6 berührt und von der in 4B gezeigten Position in den virtuellen Hauptarbeitsplatz A gezogen wird. Während diese Hand-/Steuerungsgeste die erwünschte Bewegung des virtuellen Elements P6 erreichen kann, kann sie auch dazu führen, dass eine oder beide der Hände des Benutzers von der Tastatur 200 genommen werden, und somit den Arbeitsprozess des Benutzers stören. In einem System und Verfahren, gemäß hierin beschriebenen Implementierungen, kann der Benutzer die in der virtuellen Szene/Umgebung angezeigten virtuellen Objekte auswählen, bewegen, neu anordnen und auf andere Weise manipulieren, ohne die Hände von einem externen manuellen Manipulationsgerät, wie etwa einer Tastatur, Maus oder Steuerung zu nehmen.
  • Wie in 4C gezeigt kann der Benutzer, um das virtuelle Element P6 von der in 4B gezeigten Position zum virtuellen Hauptarbeitsplatz A zu bewegen, ohne eine oder beide Hände von der Tastatur 200 zu nehmen, seinen Blick auf das virtuelle Element P6 richten, wie in 4C gezeigt. In einigen Implementierungen kann die Blickrichtung des Benutzers auf einer Blickrichtung des Auges des Benutzers basieren, die beispielsweise durch ein Blickverfolgungsgerät 165 des HMD 100, wie oben beschrieben, erkannt und verfolgt wird. In einigen Implementierungen kann die Blickrichtung des Benutzers auf einer erkannten Kopfausrichtung basieren, die beispielsweise durch in dem Messsystem 160 des HMD 100 enthaltene Sensoren erkannt und verfolgt wird, wie beispielsweise die IMU 162. Nachfolgend kann sich der Begriff Blick auf eine Blickrichtung der Augen und/oder eine Kopfausrichtung beziehen, zur Einfachheit der Diskussion und Veranschaulichung.
  • In Reaktion auf ein Erkennen, dass der Blick des Benutzers auf das virtuelle Element P6 gerichtet wurde, wie in 4C gezeigt, kann das System bestimmen, dass das virtuelle Element P6 für weitere Aktionen durch den Benutzer ausgewählt worden ist. In einigen Implementierungen kann das System eine Angabe des Blickfokus des Benutzers erzeugen, sodass der Benutzer eine Verifizierungseingabe vornehmen kann, die verifiziert oder bestätigt, dass der Blick des Benutzers mit der Absicht, das virtuelle Element P6 auszuwählen, darauf gerichtet ist. Die Angabe des Fokus kann es dem Benutzer ermöglichen, die Richtung des Blicks des Benutzers zu bestätigen und/oder präziser zu erkennen, was es dem Benutzer beispielsweise ermöglicht, den Blick präziser zu positionieren. Verifizierung oder Bestätigung auf diese Weise kann die Präzision der Interaktion eines Benutzers mit der virtuellen Welt durch den Blick des Benutzers erhöhen, da ein unbeabsichtigter Blick oder eine Impräzision in der Blickrichtung des Benutzers in Abwesenheit von Verifikation oder Bestätigung nicht zu einem Auswählen des virtuellen Elements führt. Diese Angabe kann dem Benutzer beispielsweise in Form einer visuellen Angabe bereitgestellt werden. Diese visuelle Angabe kann beispielsweise eine Änderung des Erscheinungsbilds des virtuellen Elements oder eines Teils des virtuellen Elements oder einer Darstellung des virtuellen Elements und Ähnliches beinhalten. Zum Beispiel kann in einigen Implementierungen in Reaktion auf ein Erkennen eines auf das virtuelle Element P6 gerichteten Blicks ein Teil des virtuellen Elements P6 oder eine für den Benutzer sichtbare Darstellung des virtuellen Elements P6 fett gesetzt oder markiert werden, wie in 5A gezeigt, um dem Benutzer eine visuelle Verifizierung bereitzustellen, wohin der erkannte Blick gerichtet ist. In einigen Implementierungen kann ein Teil des virtuellen Elements P6 oder eine für den Benutzer sichtbare Darstellung des virtuellen Elements P6 unterstrichen werden, wie in 5B gezeigt, oder kursiv gesetzt werden, wie in 5C gezeigt, um dem Benutzer eine visuelle Verifizierung bereitzustellen, wohin der erkannte Blick gerichtet ist. In einigen Implementierungen kann ein visueller Anzeiger oder ein Fadenkreuz, wie beispielsweise ein Cursor oder ein Punkt an einer dem virtuellen Element P6 entsprechenden Position dargestellt werden, wie in 5D gezeigt, um dem Benutzer eine visuelle Verifizierung bereitzustellen, wohin der erkannte Blick gerichtet ist. In einigen Implementierungen kann ein Teil des virtuellen Elements P6 oder einer für den Benutzer sichtbaren Darstellung des virtuellen Elements P6 dreidimensional dargestellt werden, wie in 5E gezeigt, oder vergrößert werden, wie in 5F gezeigt, um dem Benutzer eine visuelle Verifizierung bereitzustellen, wohin der erkannte Blick gerichtet ist. Die in FIGs. 5A-5F gezeigten Anzeiger sind nur einige Beispiele für visuelle Anzeiger, die erzeugt werden können, um dem Benutzer visuelle Bestätigung bereitzustellen, auf welches Objekt ein erkannter Blick gerichtet ist. Andere Arten von Anzeigern können ebenfalls angewandt werden.
  • In einigen Implementierungen kann das System, sobald der Blick des Benutzers durch das System erkannt wurde, darauf warten, eine Verifizierungseingabe vom Benutzer oder einen Verifizierungs- oder Bestätigungsbefehl vom Benutzer zu empfangen, bevor es mit weiteren Aktionen im Zusammenhang mit dem ausgewählten virtuellen Element P6 fortfährt. Zum Beispiel kann in einigen Implementierungen die Verifizierungseingabe vom Benutzer oder der Verifizierungs- oder Bestätigungsbefehl vom Benutzer, mit weiteren Aktionen im Zusammenhang mit der Auswahl des virtuellen Elements P6 durch den Benutzer fortzufahren, durch eine vorbestimmte Geste, wie etwa ein Blinzeln oder ein Blinzelmuster, wenn ein Blick des Auges erkannt wird, oder eine vorbestimmte Kopfgeste, wenn eine Kopfausrichtung erkannt wird, bereitgestellt werden, während die Hände des Benutzers in Kontakt mit dem externen Gerät, wie etwa der oben beschriebenen Tastatur 200, bleiben können. In einigen Implementierungen kann die Verifizierungseingabe vom Benutzers, die die Benutzerauswahl des virtuellen Elements P6 verifiziert, durch eine Bestimmung bereitgestellt werden, dass der erkannte Blick auf das ausgewählte virtuelle Element P6 für einen Zeitraum gehalten wurde, der länger ist als ein vorbestimmter Schwellenwert. In einigen Implementierungen kann das System dem Benutzer Rückmeldung bereitstellen, die nicht nur die Auswahl des virtuellen Elements P6 angibt, sondern auch angibt, wie lange der erkannte Blick gehalten wurde. Diese Angabe kann beispielsweise in Form eines virtuellen Fortschrittsbalkens, wie in 6A gezeigt, oder einer anderen Form, wie beispielsweise des in 6B gezeigten kreisförmigen Fortschrittsanzeigers bereitgestellt werden. Zum Beispiel füllt sich in Reaktion auf ein Erkennen des auf das virtuelle Element P6 gerichteten Blicks des Benutzers in FIGs 6A(1) und 6B(1) der Fortschrittsanzeiger (ein Balkenanzeiger in 6A oder ein kreisförmiger Anzeiger in 6B) graduell, während Zeit vergeht, bis die vorbestimmte Schwellenzeitdauer erreicht wird, wie in FIGs 6A(2) und 6B(2) gezeigt. Diese Angabe kann in Form einer Änderung des Erscheinungsbilds bereitgestellt werden, wie beispielsweise eine graduelle Änderung der Farbe, ein graduelles Aus- und/oder Einblenden und Ähnliches. Zum Beispiel wird die Anzeige des virtuellen Elements P6 in Reaktion auf ein Erkennen des auf das virtuelle Element P6 gerichteten Blicks des Benutzers in FIG 6C(1) ausgeblendet, wie in FIG. 6C(2) gezeigt. Bei Erkennen, dass der Blick für die notwendige Zeitspanne auf dem virtuellen Element P6 verweilt hat, kann die Anzeige des virtuellen Elements P6 wieder eingeblendet werden, wie in FIG. 6C(3) gezeigt, um dem Benutzer visuelle Bestätigung bereitzustellen. Die in FIGs 6A-6C gezeigten visuellen Anzeiger bieten nur einige Beispiele für visuelle Fortschrittsanzeiger, die erzeugt werden können, um dem Benutzer eine visuelle Fortschrittsangabe bereitzustellen, und andere Arten von Anzeigern können ebenfalls angewandt werden.
  • In einigen Implementierungen kann die Bewegung des ausgewählten virtuellen Elements P6 gemäß einem festgelegten Protokoll oder einer Hierarchie ausgeführt werden. Dieses festgelegte Protokoll oder diese festgelegte Hierarchie kann von dem Benutzer gemäß Benutzerpräferenzen festgelegt werden oder kann eine festgesetzte Systemeinstellung sein. Zum Beispiel kann das System in einigen Implementierungen bei Erkennen des zur Auswahl auf das virtuelle Element P6 gerichteten Blicks des Benutzers automatisch das ausgewählte virtuelle Element P6 zu einer festgelegten virtuellen Position bewegen und die verbleibenden virtuellen Elemente P1-P5 und P7-P9 entsprechend neu anordnen. Die festgelegte virtuelle Position kann gemäß dem festgelegten Protokoll oder der festgelegten Hierarchie beispielsweise einer der virtuellen Arbeitsplätze sein, der als Hauptarbeitsplatz festgelegt ist. Eine Neuanordnung der verbleibenden virtuellen Elemente P1-P5 und P7-P9 kann auch gemäß dem festgelegten Protokoll oder der festgelegten Hierarchie durchgeführt werden. In einigen Implementierungen kann das ausgewählte virtuelle Element P6 automatisch zu einer festgelegten virtuellen Position bewegt werden, zum Beispiel zum virtuellen Hauptarbeitsplatz A in der virtuellen Szene 500, und die verbleibenden virtuellen Elemente P1-P5 und P7-P9 können neu angeordnet werden, gemäß einem festgelegten Protokoll oder einer festgelegten Hierarchie nach dem Empfangen einer Verifizierung, wie oben im Zusammenhang mit FIGs 5A-5F und/oder FIGs. 6A-6C besprochen. In einigen Implementierungen kann die Bewegung des ausgewählten virtuellen Elements P6 in Reaktion auf eine Bewegungsbefehlseingabe des Benutzers ausgeführt werden.
  • In einigen Implementierungen kann eine Auswahl des virtuellen Elements P6 auf eine bestimmte Weise veranlassen, dass eine entsprechende Aktion ausgeführt wird, wie etwa beispielsweise das Bewegen des ausgewählten Elements P6 zu einer neuen virtuellen Position, wie beispielsweise dem virtuellen Hauptarbeitsplatz A, wie in FIGs. 4D und 4E gezeigt, sodass das ausgewählte virtuelle Element sich in den Hauptfokusbereich des Benutzers bewegen kann, ohne dafür eine oder beide Hände von der Tastatur 200 oder einem anderen manuellen Eingabegerät nehmen zu müssen. In einigen Implementierungen kann das virtuelle Element P2 (das zuvor den virtuellen Hauptarbeitsplatz A eingenommen hat) in Reaktion auf das Bewegen des virtuellen Elements P6 in den virtuellen Hauptarbeitsplatz A zu einem der zusätzlichen Arbeitsplätze B, C bewegt werden, wie in 4D gezeigt, um beispielsweise dem Benutzer eine abrufbereite Referenz zum virtuellen Element P2 bereitzustellen. In einigen Implementierungen kann das virtuelle Element P2 an die Position bewegt werden, die zuvor durch das virtuelle Element P6 eingenommen wurde, wie in 4E gezeigt. Die Anordnung der virtuellen Elemente P1-P9 in der virtuellen Szene 500, die dem Benutzer in Reaktion auf das Bewegen des ausgewählten virtuellen Elements P6 in den virtuellen Hauptarbeitsplatz A angezeigt wird, kann beispielsweise basierend auf festgelegten Benutzerpräferenzen, einer festgelegten Hierarchie oder einem festgelegten Muster oder anderen vom Benutzer eingegebenen Befehlen neu angeordnet werden.
  • In einigen Implementierungen kann das Bewegen des ausgewählten virtuellen Elements P6 in Reaktion auf einen anderen gegebenen Benutzerbefehl ausgeführt werden, zum Beispiel nach der oben in Bezug auf FIGs 5A-5E und/oder FIGs. 6A-6C beschriebenen Verifizierung. Zum Beispiel kann dieser Bewegungsbefehl in einigen Implementierungen einen Wechsel in der Blickrichtung des Benutzers beinhalten, beispielsweise einen Wechsel der Blickrichtung der Augen oder einem Wechsel in der Kopfausrichtung. Wie in 7A gezeigt, kann der Benutzer einen Blick der Augen von einer Position, auf der der Blick der Augen auf das ausgewählte virtuelle Objekt P6 gerichtet ist, wie in FIG. 7A(2), zur Position, an die das ausgewählte virtuelle Objekt P6 bewegt werden soll, wie in FIG. 7A(3), wechseln, um das virtuelle Objekt P6 dazu zu veranlassen, zu einer bestimmten virtuellen Position innerhalb der dem Benutzer angezeigten virtuellen Szene 500 bewegt zu werden. In einigen Implementierungen kann dieser Bewegungsbefehl zum Beispiel einen Wechsel in der Kopfausrichtung des Benutzers beinhalten. Wie in 7B gezeigt, kann der Benutzer eine Kopfausrichtung von einer Position, an der die Kopfausrichtung auf das ausgewählte virtuelle Objekt P6 gerichtet ist, wie in FIG. 7B(2), zu der Position wechseln, zu der das virtuelle Objekt P6 bewegt werden soll, wie in FIG. 7B(3), um das ausgewählte virtuelle Objekt P6 dazu veranlassen, zu einer bestimmten virtuellen Position innerhalb der dem Benutzer angezeigten virtuellen Szene 500 bewegt zu werden.
  • Ein Verfahren 800 zum Umschalten virtueller Objekte in Reaktion auf Blickeingaben in einer erweiterten und/oder virtuellen Realitätsumgebung, gemäß den hierin beschriebenen Implementierungen, wird in 8 gezeigt.
  • Ein Benutzer kann eine erweiterte Realitätserfahrung und/oder eine virtuelle Realitätserfahrung beispielsweise unter Verwendung eines Computergeräts initiieren, wie beispielsweise eines Systems, das ein am Kopf getragenes Displaygerät, wie oben beschrieben, beinhaltet, um die erweiterte Realitäts- und/oder virtuelle Realitätsumgebung zu erzeugen (Block 810). Das System kann eine virtuelle Szene anzeigen, wie etwa die virtuelle Szene 500, inklusive einer Vielzahl von virtuellen Objekten P1-P9, wie in FIGs. 4A-4E gezeigt, und das System kann einen Blick eines Benutzers erkennen, der auf eines der angezeigten virtuellen Objekte gerichtet ist (Block 820). Wie oben besprochen, kann der erkannte Blick ein Blick der Augen sein, der beispielsweise durch ein Gerät erkannt wird, wie etwa das oben in Verbindung mit FIGs. 2A-2B beschriebene Blickverfolgungsgerät 165 des HMD 100, oder eine Kopfausrichtung, die beispielsweise durch Sensoren, wie etwa die oben in Verbindung mit FIGs. 2A-2B beschriebene IMU 162 des HMD 100, erkannt wird. In Reaktion auf das Erkennen des Blicks kann das System bestimmen, ob der erkannte Blick zum Auswählen eines bestimmten der in der virtuellen Szene angezeigten virtuellen Objekte vorgesehen ist (Block 830). Das Bestimmen, dass der erkannte Blick absichtlich zur Auswahl auf ein bestimmtes virtuelles Objekt gerichtet ist, kann basierend auf beispielsweise einer Dauer des erkannten Blicks oder einer anderen Art von Verifizierung, wie oben im Zusammenhang mit FIGs. 5A-5F und/oder FIGs. 6A-6C beschrieben, durch das System durchgeführt werden. Auf diese Weise kann die unabsichtliche Auswahl eines virtuellen Objekts durch einen Blick relativ kurzer Dauer vermieden werden. Wenn ein Befehl, beispielsweise ein dem erkannten Blick entsprechender Befehl, empfangen wird, das ausgewählte virtuelle Objekt zu bewegen, oder anderweitig die Vielzahl von in der virtuellen Szene angezeigten virtuellen Objekten neu anzuordnen (Block 840), kann das System das/die virtuelle(n) Objekt(e) gemäß dem empfangenen Befehl bewegen (Block 850). In einigen Implementierungen kann der Befehl, das ausgewählte virtuelle Objekt zu bewegen oder anderweitig die Vielzahl der virtuellen Objekte neu anzuordnen, automatisch bei Erkennen des Blicks (Block 820, 830) durch das System ausgeführt werden, gemäß einem festgelegten Protokoll. In einigen Implementierungen kann der Befehl, das ausgewählte virtuelle Objekt zu bewegen, in Reaktion auf eine vom Benutzer empfangene Eingabe, wie beispielsweise eine erkannte Bewegung oder einen Wechsel der Richtung des erkannten Blicks, wie oben im Zusammenhang mit FIGs. 7A und 7B beschrieben, ausgeführt werden. Der Prozess kann fortfahren, bis keine weiteren Blicke der Augen erkannt werden (Block 860) und bestimmt wird, dass die aktuelle erweiterte Realitäts- und/oder virtuelle Realitätserfahrung beendet wurde (Block 870).
  • In einem System und Verfahren können, gemäß hierin beschriebenen Implementierungen, einem Benutzer in einer virtuellen Umgebung angezeigte virtuelle Objekte neu angeordnet werden, sodass ein Benutzer in Reaktion auf eine erkannte Kopfausrichtung und -bewegung und/oder Blickrichtung und -bewegung der Augen zwischen aktiven virtuellen Objekten umschalten kann, ohne dass der Benutzer eine oder beide Hände von einem manuellen Eingabegerät, wie etwa einer Tastatur, Maus, Steuerung(en) und Ähnlichem, nimmt. Dies kann dem Benutzer eine verbundene, durchgängige virtuelle Erfahrung bieten, während Störungen bei Arbeits- und/oder Gedanken- und/oder Eingabeprozessen vermieden werden.
  • 9 zeigt ein Beispiel eines Computergeräts 1000 und eines mobilen Computergeräts 1050, die mit den hier beschriebenen Techniken verwendet werden können. Computergerät 1000 beinhaltet einen Prozessor 1002, einen Speicher 1004, ein Speichergerät 1006, eine Hochgeschwindigkeitsschnittstelle 1008, die sich mit Speicher 1004 und Hochgeschwindigkeitserweiterungsanschlüssen 1010 verbindet, und eine Niedergeschwindigkeitsschnittstelle 1012, die sich mit dem 1014 und Speichergerät 1006 verbindet. Alle Komponenten 1002, 1004, 1006, 1008, 1010 und 1012 sind unter Verwendung verschiedener Busse miteinander verbunden und können auf einer gängigen Hauptplatine oder gegebenenfalls in anderer Weise angebracht sein. Der Prozessor 1002 kann Befehle zur Ausführung innerhalb des Computergerätes 1000 verarbeiten, darunter auch Befehle, die in dem Speicher 1004 oder auf dem Speichergerät 1006 gespeichert sind, um grafische Informationen für eine GUI auf einem externen Eingabe-/Ausgabegerät, wie z. B. auf Anzeige 1016, die mit Hochgeschwindigkeitsschnittstelle 1008 verbunden ist, anzuzeigen. Bei anderen Implementierungen können mehrere Prozessoren und/oder mehrere Busse, wie jeweils anwendbar, zusammen mit mehreren Speichern und Speicherarten verwendet werden. Außerdem können mehrere Computergeräte 1000 verbunden sein, wobei jedes Gerät Teile der erforderlichen Operationen (z. B. als Serverbank, Gruppe von Blade-Servern oder Multiprozessorsystem) bereitstellt.
  • Der Speicher 1004 speichert Informationen in Computergerät 1000. In einer Implementierung handelt es sich bei dem Speicher 1004 um eine nicht flüchtige Speichereinheit oder -einheiten. In einer anderen Implementierung handelt es sich bei dem Speicher 1004 um eine nicht flüchtige Speichereinheit oder -einheiten. Der Speicher 1004 kann zudem in einer anderen Form von computerlesbarem Medium, zum Beispiel als magnetischer oder optischer Datenträger, vorliegen.
  • Das Speichergerät 1006 kann einen Massenspeicher für das Computergerät 1000 bereitstellen. In einer Implementierung kann das Speichergerät 1006 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, einschließlich Geräten in einem Speichernetzwerk oder anderen Konfigurationen, sein oder beinhalten. Ein Computerprogrammprodukt kann greifbar in einem Informationsträger verkörpert sein. Das Computerprogrammprodukt kann auch Befehle enthalten, die bei Ausführung ein oder mehrere Verfahren wie diejenigen, die vorstehend beschrieben sind, ausführen. Der Informationsträger ist ein computer- oder maschinenlesbares Medium, wie z. B. der Speicher 1004, das Speichergerät 1006 oder ein Speicher auf einem Prozessor 1002.
  • Der Hochgeschwindigkeits-Controller 1008 verwaltet bandbreitenintensive Operationen für das Computergerät 1000, während der Niedergeschwindigkeits-Controller 1012 weniger bandbreitenintensive Operationen verwaltet. Eine solche Zuordnung von Funktionen ist nur beispielhaft. In einer Implementierung ist der Hochgeschwindigkeits-Controller 1008 mit dem Speicher 1004, der Anzeige 1016 (z. B. durch einen Grafikprozessor oder -beschleuniger) und den Hochgeschwindigkeits-Erweiterungsanschlüsseln 1010 gekoppelt, die verschiedene Erweiterungskarten aufnehmen können (nicht dargestellt). In der Implementierung ist der Niedergeschwindigkeits-Controller 1012 mit dem Speichergerät 1006 und dem Niedergeschwindigkeitserweiterungsanschluss 1014 gekoppelt. Der Niedergeschwindigkeitserweiterungsanschluss, der verschiedene Kommunikationsanschlüsse (z. B. USB, B, Ethernet, Funkethernet) umfassen kann, kann an ein oder mehrere Eingabe-/Ausgabevorrichtungen wie eine Tastatur, eine Zeigevorrichtung, einen Scanner oder eine Netzwerkvorrichtung wie einen Switch oder Router z. B. durch einen Netzwerkadapter gekoppelt sein.
  • Das Computergerät 1000 kann, wie in der Figur ersichtlich, in einer Reihe verschiedener Formen implementiert sein. Es kann zum Beispiel als Standardserver 1020 oder mehrmals in einer Gruppe derartiger Server implementiert sein. Es kann zudem als Bestandteil eines Rack-Serversystems 1024 implementiert sein. Darüber hinaus kann es in einem PC, wie z. B. in einem Laptopcomputer 1022, implementiert sein. Alternativ dazu können Komponenten von Computergerät 1000 mit anderen Komponenten in einem Mobilgerät (nicht dargestellt), wie z. B. Gerät 1050, kombiniert sein. Jedes dieser Geräte kann ein oder mehrere der Computergeräte 1000, 1050 enthalten, wobei sich ein gesamtes System aus mehreren Computergeräten 1000, 1050 zusammensetzen kann, die miteinander kommunizieren.
  • Das Computergerät 1050 beinhaltet neben anderen Komponenten einen Prozessor 1052, einen Speicher 1064, ein Eingabe-/Ausgabegerät, wie z. B. eine Anzeige 1054, eine Kommunikationsschnittstelle 1066 und einen Sendeempfänger 1068. Das Gerät 1050 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 1050, 1052, 1064, 1054, 1066 und 1068 sind unter Verwendung verschiedener Busse miteinander verbunden, wobei mehrere der Komponenten auf einer gängigen Hauptplatine oder gegebenenfalls in anderer Weise angebracht sein können.
  • Der Prozessor 1052 kann Befehle in dem Computergerät 1050, darunter auch die im Speicher 1064 gespeicherten Befehle, ausführen. Der Prozessor kann als ein Chipsatz von Chips implementiert sein, die separate und mehrere analoge und digitale Prozessoren umfassen. Der Prozessor kann beispielsweise für eine Koordinierung der anderen Komponenten des Geräts 1050, wie beispielsweise für eine Steuerung von Benutzerschnittstellen, Anwendungen, die von Gerät 1050 ausgeführt werden, sowie einer drahtlosen Kommunikation durch Gerät 1050 sorgen.
  • Der Prozessor 1052 kann mit einem Benutzer über die Steuerschnittstelle 1058 und die mit einer Anzeige 1054 gekoppelte Anzeigeschnittstelle 1056 kommunizieren. Die Anzeige 1054 kann zum Beispiel eine TFT-LCD- (Dünnfilmtransistor-Flüssigkristallanzeige) oder eine OLED-Anzeige (organische Leuchtdiode) oder eine andere geeignete Anzeigetechnologie sein. Die Anzeigeschnittstelle 1056 kann eine geeignete Schaltung umfassen, die die Anzeige 1054 dazu bringt, einem Benutzer grafische und andere Informationen zu präsentieren. Die Steuerschnittstelle 1058 kann Befehle von einem Benutzer empfangen und sie für das Senden an Prozessor 1052 umwandeln. Darüber hinaus kann eine externe Schnittstelle 1062 die Kommunikation mit dem Prozessor 1052 bereitstellen, zum Beispiel, um eine Nahbereichskommunikation des Geräts 1050 mit anderen Geräten zu ermöglichen. Die externe Schnittstelle 1062 kann beispielsweise bei manchen Implementierungen eine drahtgebundene Verbindung oder bei anderen Implementierungen eine drahtlose Verbindung sein, wobei auch mehrere Schnittstellen verwendet werden können.
  • Der Speicher 1064 speichert Informationen in Computergerät 1050. Der Speicher 1064 kann als ein oder mehrere computerlesbare Medien, flüchtige Speichergeräte oder nicht flüchtige Speichergeräte implementiert sein. Erweiterungsspeicher 1074 kann ebenfalls bereitgestellt und mit dem Gerät 1050 über die Erweiterungsschnittstelle 1072 verbunden sein, die zum Beispiel eine SIMM (Speichermodul mit einer Kontaktreihe)-Kartenschnittstelle beinhalten kann. Dieser Erweiterungsspeicher 1074 kann zusätzlichen Speicherplatz für Gerät 1050 bereitstellen oder kann auch Anwendungen oder andere Informationen für Gerät 1050 speichern. Insbesondere kann der Erweiterungsspeicher 1074 Befehle zum Ausführen oder Ergänzen der oben beschriebenen Prozesse, sowie sichere Informationen beinhalten. Somit kann Erweiterungsspeicher 1074 zum Beispiel als Sicherheitsmodul für Gerät 1050 bereitgestellt werden, und mit Befehlen programmiert sein, die die sichere Verwendung von Gerät 1050 gewährleisten. Zusätzlich dazu 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, die nicht gehackt werden kann, bereitgestellt werden.
  • Der Speicher kann zum Beispiel Flashspeicher und/oder NVRAM-Speicher umfassen, wie nachstehend beschrieben. Bei einer Implementierung ist ein Computerprogrammprodukt in einem Informationsträger greifbar verkörpert. Das Computerprogrammprodukt enthält Befehle, die bei Ausführung ein oder mehrere Verfahren wie die vorstehend beschriebenen durchführen. Der Informationsträger ist ein computer- oder maschinenlesbares Medium, wie z. B. der Speicher 1064, die Speichererweiterung 1074 oder der Speicher auf Prozessor 1052, der beispielsweise über den Sendeempfänger 1068 oder die externe Schnittstelle 1062 empfangen werden kann.
  • Das Gerät 1050 kann über Kommunikationsschnittstelle 1066 drahtlos kommunizieren, die bei Bedarf eine digitale Signalverarbeitungsschaltung beinhalten kann. Die Kommunikationsschnittstelle 1066 kann Kommunikationen mit verschiedenen Kommunikationstypen oder -protokollen bereitstellen, wie z. B. unter anderem GSM-Sprachanrufe, SMS, EMS oder MMS-Messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000 oder GPRS. Diese Kommunikation kann beispielsweise durch Funkfrequenz-Sendeempfänger 1068 stattfinden. Zudem kann eine Kurzstreckenkommunikation, z. B. unter Verwendung eines Bluetooth-, WLAN- oder eines anderen dieser Sendeempfänger (nicht dargestellt) stattfinden. Außerdem kann das GPS (Globale Positionierungssystem)-Empfängermodul 1070 zusätzliche navigations- und positionsbezogene drahtlose Daten für Gerät 1050 bereitstellen, die gegebenenfalls von Anwendungen verwendet werden können, die auf Gerät 1050 ausgeführt werden.
  • Das Gerät 1050 kann darüber hinaus unter Verwendung des Audiocodec 1060, welcher gesprochene Informationen von einem Benutzer empfangen und diese in nutzbare digitale Informationen konvertieren kann, hörbar kommunizieren. Der Audiocodec 1060 kann zudem hörbaren Ton für einen Benutzer, wie beispielsweise durch einen Lautsprecher, z. B. in einem Handgerät von Gerät 1050, erzeugen. Diese Töne können Töne von Sprachtelefonanrufen beinhalten, sie können aufgezeichnete Töne (z. B. Sprachnachrichten, Musikdateien usw.), sowie Töne beinhalten, die von auf Gerät 1050 betriebenen Anwendungen erstellt wurden.
  • Das Computergerät 1050 kann, wie in der Figur ersichtlich, in einer Reihe verschiedener Formen implementiert sein. Beispielsweise kann es als Mobiltelefon 1080 implementiert sein. Es kann außerdem als Teil eines Smartphones 1082, 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 davon realisiert sein. Diese verschiedenen Implementierungen können eine Implementierung in einem oder mehreren Computerprogrammen umfassen, die auf einem programmierbaren System ausführbar und/oder interpretierbar sind, das mindestens einen programmierbaren Prozessor umfasst, der ein spezieller oder für allgemeine Zwecke sein kann und der zum Empfangen von Daten und Anweisungen von und zum Übertragen von Daten und Befehlen an ein Speichersystem, mindestens eine Eingabevorrichtung und mindestens eine Ausgabevorrichtung gekoppelt ist.
  • Diese Computerprogramme (auch bekannt als Programme, Software, Softwareanwendungen oder Code) umfassen 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. Magnetplatten, optische Platten, Speicher, programmierbare Logikbausteine (PLDs)), die verwendet werden, um einem programmierbaren Prozessor Maschinenbefehle und/oder Daten bereitzustellen, einschließlich eines maschinenlesbaren Mediums, das Maschinenbefehle als ein maschinenlesbares Signal empfängt. Der Begriff „maschinenlesbares Signal“ bezeichnet ein beliebiges Signal, das verwendet wird, um einem programmierbaren Prozessor Maschinenanweisungen und/oder Daten bereitzustellen.
  • Um eine Interaktion mit einem Benutzer bereitzustellen, können die hier beschriebenen Systeme und Techniken auf einem Computer implementiert werden, der eine Displayvorrichtung (wie z. B. einen CRT- (Kathodenstrahlröhre) oder LCD-(Flüssigkristallanzeige) -Monitor) aufweist, um dem Benutzer Informationen anzuzeigen, und eine Tastatur und eine Zeigeeinrichtung (z. B. eine Maus oder ein Trackball) mittels denen der Benutzer eine Eingabe an den Computer bereitstellen kann. Es können auch andere Arten von Einrichtungen verwendet werden, um für eine Interaktion mit einem Benutzer zu sorgen; beispielsweise kann eine an den Benutzer bereitgestellte Rückkopplung eine beliebige Form von sensorischer Rückkopplung sein, wie z. B. eine visuelle Rückkopplung, auditive Rückkopplung oder taktile Rückkopplung; und die Eingabe vom Benutzer kann in beliebiger Form empfangen werden, einschließlich akustischer, Sprach- oder taktiler Eingabe.
  • Die hier beschriebenen Systeme und Techniken können in einem Computersystem implementiert werden, das eine Backendkomponente (z. B. als einen Datenserver) umfasst, oder das eine Middlewarekomponente (z. B. einen Applikationsserver) umfasst, oder das eine Frontendkomponente (z. B. einen Clientcomputer mit einer grafischen Benutzerschnittstelle oder einem Webbrowser umfasst, durch die bzw. den ein Benutzer mit hier beschriebenen Systemimplementationen und Techniken interagieren kann) oder jeder Kombination aus solchen Backend-, Middleware- oder Frontendkomponenten. 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 umfassen ein lokales Netzwerk („LAN“), ein Fernnetzwerk („WAN“) und das Internet.
  • Das Computersystem kann Clients und Server umfassen. 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.
  • In einigen Implementierungen kann das in 9 dargestellte Computergerät Sensoren beinhalten, die eine Schnittstelle zu einer virtuellen Realität (VR-Headset/HMD-Gerät 1090) aufweisen. Beispielsweise können ein oder mehrere Sensoren, die in einem Computergerät 1050 oder einem anderen in 9 dargestellten Computergerät enthalten sind, Eingaben in das VR-Headset 1090 oder im Allgemeinen Eingaben in einen VR-Raum bereitstellen. Die Sensoren können unter anderem einen Berührungsbildschirm, Beschleunigungssensor, Gyroskope, Drucksensoren, biometrischen Sensoren, Temperatursensoren, Feuchtigkeitssensoren und Lichtsensoren beinhalten. Das Computergerät 1050 kann die Sensoren verwenden, um eine absolute Position und/oder eine festgestellte Drehung des Computergeräts im VR-Raum zu bestimmen, die dann als Eingabe in den VR-Raum verwendet werden kann. Beispielsweise kann das Computergerät 1050 als virtuelles Objekt, wie z. B. als Controller, Laserpointer, Tastatur, Waffe usw., in den VR-Raum integriert sein. Die Positionierung des Computergeräts bzw. virtuellen Objekts durch den Benutzer, wenn es in den VR-Raum integriert ist, kann es dem Benutzer ermöglichen, das Computergerät so zu positionieren, dass dieser das virtuelle Objekt auf bestimmte Weise im VR-Raum betrachten kann. Falls das virtuelle Objekt beispielsweise einen Laserpointer darstellt, kann der Benutzer das Computergerät so manipulieren, als ob es ein aktueller Laserpointer wäre. Der Benutzer kann das Computergerät nach links und rechts, nach oben und unten, in einem Kreis usw. verschieben und das Gerät in ähnlicher Weise wie einen Laserpointer verwenden.
  • In einigen Implementierungen können ein oder mehrere Eingabegeräte, die an dem Computergerät 1050 enthalten sind oder mit diesem verbunden sind, als Eingabe in den VR-Raum verwendet werden. Die Eingabegeräte können unter anderem einen Berührungsbildschirm, eine Tastatur, eine oder mehrere Tasten, ein Trackpad, ein Touchpad, ein Zeigegerät, eine Maus, einen Trackball, einen Joystick, eine Kamera, ein Mikrofon, Kopfhörer oder Ohrhörer mit Eingabefunktion, einen Spielecontroller oder ein anderes anschließbares Eingabegerät beinhalten. Ein Benutzer, der mit einem Eingabegerät interagiert, das am Computergerät 1050 enthalten ist, wenn das Computergerät in den VR-Raum eingebunden ist, kann bewirken, dass eine bestimmte Aktion im VR-Raum erfolgt.
  • In einigen Implementierungen kann ein Berührungsbildschirm des Computergeräts 1050 als Berührungsfeld im VR-Raum dargestellt werden. Ein Benutzer kann mit dem Berührungsbildschirm des Computergerätes 1050 interagieren. Die Interaktionen werden beispielsweise im VR-Headset 1090 als Bewegungen auf dem gerenderten Berührungsfeld im VR-Raum dargestellt. Die gerenderten Bewegungen können Objekte im VR-Raum steuern.
  • In einigen Implementierungen können ein oder mehrere Ausgabegeräte, die auf dem Computergerät 1050 enthalten sind, einem Benutzer des VR-Headsets 1090 Ausgaben und/oder Rückmeldungen im VR-Raum bereitstellen. Die Ausgabe und die Rückmeldung können visuell, taktil oder akustisch sein. Die Ausgabe und/oder Rückmeldung können unter anderem Vibrationen beinhalten, eine oder mehrere Leuchtdioden oder Datenbestätigungssignale ein- und ausschalten oder blinken bzw. aufleuchten lassen, einen Alarm ertönen lassen, einen Klang wiedergeben, ein Lied wiedergeben und eine Audiodatei wiedergeben. Die Ausgabegeräte können Vibrationsmotoren, Vibrationsspulen, piezoelektrische Vorrichtungen, elektrostatische Vorrichtungen, Leuchtdioden (LEDs), Tastimpulse und Lautsprecher beinhalten, sind jedoch nicht darauf eingeschränkt.
  • In einigen Implementierungen kann das Computergerät 1050 als ein anderes Objekt in einer computergenerierten 3D-Umgebung erscheinen. Interaktionen durch den Benutzer mit dem Computergerät 1050 (z. B. Drehen, Schütteln, Berühren eines Berührungsbildschirms, Wischen eines Fingers über einen Berührungsbildschirm) können als Interaktionen mit dem Objekt im VR-Raum interpretiert werden. Im Beispiel des Laserpointers in einem VR-Raum erscheint das Computergerät 1050 als virtueller Laserpointer in der computergenerierten 3D-Umgebung. Wenn der Benutzer das Computergerät 1050 manipuliert, sieht der Benutzer im VR-Raum die Bewegung des Laserpointers. Der Benutzer empfängt Rückmeldungen von Interaktionen mit dem Computergerät 1050 in der VR-Umgebung auf dem Computergerät 1050 oder auf dem HMD-Gerät 1090.
  • In einigen Implementierungen kann Computergerät 1050 einen Berührungsbildschirm beinhalten. Ein Benutzer kann zum Beispiel mit dem Berührungsbildschirm auf eine bestimmte Weise interagieren, wobei das, was auf dem Bildschirm passiert, das nachbilden kann, was in der VR-Umgebung passiert. Ein Benutzer kann zum Beispiel eine Zoom-Bewegung verwenden, um Inhalt, der auf dem Berührungsbildschirm angezeigt wird, zu vergrößern. Diese Zoom-Bewegung auf dem Berührungsbildschirm kann bewirken, dass Informationen, die in der VR-Umgebung bereitgestellt werden, vergrößert werden. In einem weiteren Beispiel kann das Computergerät als ein virtuelles Buch in einer computergenerierten 3D-Umgebung wiedergegeben werden. In der VR-Umgebung können die Seiten des Buches in der VR-Umgebung angezeigt werden und das Wischen eines Fingers des Benutzers über den Berührungsbildschirm kann als Wenden (Umblättern) einer Seite des virtuellen Buches interpretiert werden. Wenn die jeweilige Seite gewendet (umgeblättert) wird, sieht der Benutzer nicht nur, dass sich der Seiteninhalt ändert, ihm kann auch eine Audiorückmeldung, wie zum Beispiel der Klang des Umblätterns einer Seite in einem Buch, bereitgestellt werden.
  • In einigen Implementierungen können zusätzlich zu dem Computergerät eines oder mehrere Eingabegeräte (z. B. eine Maus, eine Tastatur) in einer computergenerierten 3D-Umgebung wiedergegeben werden. Die gerenderten Eingabegeräte (z. B. die gerenderte Maus, die gerenderte Tastatur) können verwendet werden, um sie im VR-Raum wiederzugeben, um Objekte im VR-Raum zu steuern.
  • Das Computergerät 1000 soll verschiedene Formen von digitalen Computern und Geräten, wie beispielsweise Laptops, Desktops, Workstations, persönliche digitale Assistenten, Server, Blade-Server, Mainframes und andere geeignete Computer, darstellen, ohne darauf beschränkt zu sein. Das Computergerät 1050 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, ihre Verbindungen und Beziehungen und ihre Funktionen sollen nur beispielhaft sein und sollen Implementierungen der in diesem Dokument beschriebenen und/oder beanspruchten Erfindungen nicht einschränken.
  • Weitere Implementierungen werden in den folgenden Beispielen zusammengefasst.
  • Gemäß einem ersten Beispiel wird ein Verfahren bereitgestellt, das Folgendes umfasst: Anzeigen einer virtuellen Benutzeroberfläche in einer virtuellen Realitätsumgebung auf einem Display eines am Kopf getragenen Displaygeräts (HMD), wobei die virtuelle Oberfläche eine Vielzahl von virtuellen Objekten beinhaltet; Erkennen eines auf ein erstes virtuelles Objekt aus der Vielzahl von virtuellen Objekten gerichteten Blicks, wobei das erste virtuelle Objekt an einer ersten virtuellen Position platziert ist; Empfangen einer Verifizierungseingabe, die die Auswahl des ersten virtuellen Objekts verifiziert; Bewegen des ersten virtuellen Objekts zu einer zweiten virtuellen Position in Reaktion auf die Verifizierung der Auswahl des ersten virtuellen Objekts; und Neuanordnen der Anzeige verbleibender virtueller Objekte aus der Vielzahl von virtuellen Objekten basierend auf der Bewegung des ersten virtuellen Objekts.
  • Gemäß einem auf dem ersten Beispiel basierenden zweiten Beispiel beinhaltet das Erkennen eines Blicks, der auf ein erstes virtuelles Objekt aus der Vielzahl von virtuellen Objekten gerichtet ist, zumindest eines der Folgenden: Erkennen eines auf das erste virtuelle Objekt gerichteten Blicks der Augen mit einem optischen Gerät des HMDs; oder Erkennen einer auf das erste virtuelle Objekt gerichteten Kopfausrichtung mit einer Trägheitsmesseinheit (IMU) des HMDs.
  • Gemäß einem auf dem ersten und/oder zweiten Beispiel basierenden dritten Beispiel beinhaltet ein Empfangen einer Verifizierungseingabe, die die Auswahl des ersten virtuellen Objekts verifiziert: Erkennen einer Dauer des auf das erste virtuelle Objekt gerichteten Blicks; und Empfangen der Verifizierungseingabe, wenn die erkannte Dauer des Blicks länger ist als ein festgelegter Schwellenwert.
  • Gemäß einem auf zumindest einem der Beispiele eins bis drei basierenden vierten Beispiel beinhaltet ein Empfangen einer Verifizierungseingabe, die die Auswahl des ersten virtuellen Objekts verifiziert ebenfalls: Anzeigen eines ersten visuellen Anzeigers, wobei der erste visuelle Anzeiger eine visuelle Angabe des ersten virtuellen Objekts aus der Vielzahl von virtuellen Objekten, auf das der erkannte Blick gerichtet ist, bereitstellt; und Erkennen der Dauer des auf das erste virtuelle Objekt gerichteten Blicks in Reaktion auf das Anzeigen des ersten visuellen Anzeigers.
  • Gemäß einem auf zumindest einem der Beispiele eins bis vier basierenden fünften Beispiel beinhaltet ein Erkennen der Dauer des auf das erste virtuelle Objekt gerichteten Blicks ebenfalls: Anzeigen eines zweiten visuellen Anzeigers, wobei der zweite visuelle Anzeiger eine visuelle Angabe der Dauer des erkannten Blicks und des Fortschritts in Richtung des festgelegten Schwellenwerts bereitstellt.
  • Gemäß einem auf zumindest einem der Beispiele eins bis fünf basierenden sechsten Beispiel beinhaltet ein Bewegen des ersten virtuellen Objekts zu einer zweiten virtuellen Position in Reaktion auf die Verifizierung der Auswahl des ersten virtuellen Objekts: Bewegen des ersten virtuellen Objekts zu einer virtuellen Hauptposition, nachdem bestimmt wird, dass die Dauer des Blicks auf das erste virtuelle Objekt länger ist als der festgelegte Schwellenwert; und Neuanordnen der verbleibenden virtuellen Objekte aus der Vielzahl von virtuellen Objekten basierend auf dem Bewegen des ersten virtuellen Objekts.
  • Gemäß einem auf zumindest einem der Beispiele eins bis sechs basierenden siebten Beispiel beinhaltet ein Bewegen des ausgewählten virtuellen Objekts zu einer virtuellen Hauptposition: Bewegen des ersten virtuellen Objekts in Reaktion auf einen Bewegungsbefehl; und Bewegen eines zweiten virtuellen Objekts von der virtuellen Hauptposition zur ersten virtuellen Position oder zu einer aus einer Vielzahl von zusätzlichen virtuellen Positionen in der virtuellen Umgebung, basierend auf dem Bewegen des ersten virtuellen Objekts.
  • Gemäß einem auf zumindest einem der Beispiele eins bis sieben basierenden achten Beispiel beinhaltet einBewegen des ersten virtuellen Objekts zu einer zweiten virtuellen Position: Erkennen einer Blickbewegung von der ersten virtuellen Position, die einer virtuellen Ausgangsposition des ersten virtuellen Objekts entspricht, zu der zweiten virtuellen Position; und Bewegen des ersten virtuellen Objekts von der ersten virtuellen Position zu der zweiten virtuellen Position in Reaktion auf die erkannte Blickbewegung.
  • Gemäß einem auf zumindest einem der Beispiele eins bis acht basierenden neunten Beispiel beinhaltet einBewegen des ersten virtuellen Objekts zu einer zweiten virtuellen Position und ein Neuanordnen der Anzeige der verbleibenden virtuellen Objekte aus der Vielzahl von virtuellen Objekten basierend auf dem Bewegen des ersten virtuellen Objekts: Bewegen des ersten virtuellen Objekts zur zweiten virtuellen Position, wobei die zweite Position vorab basierend auf Benutzerpräferenzen bestimmt wird; und Bewegen zumindest eines der verbleibenden virtuellen Objekte aus der Vielzahl von virtuellen Objekten zu einer neuen virtuellen Position, wobei die neue virtuelle Position vorab basierend auf Benutzerpräferenzen bestimmt wird.
  • Gemäß einem auf zumindest einem der Beispiele eins bis neun basierenden zehnten Beispiel, wobei ein Anzeigen einer virtuellen Benutzeroberfläche ein Anzeigen einer virtuellen Benutzeroberfläche beinhaltet, die Folgendes besitzt: eine virtuelle Hauptposition; zumindest eine zusätzliche virtuelle Position, wobei ein virtuelles Objekt aus der Vielzahl von virtuellen Objekten, das die virtuelle Hauptposition einnimmt, ein aktuell aktives virtuelles Objekt der virtuellen Benutzeroberfläche ist, wobei ein virtuelles Objekt aus der Vielzahl von virtuellen Objekten, das die zumindest eine zusätzliche virtuelle Position einnimmt, ein nicht aktives virtuelles Objekt aus der Vielzahl von virtuellen Objekten ist.
  • Gemäß einem elften Beispiel wird ein System bereitgestellt, das Folgendes umfasst: ein Computergerät, das konfiguriert ist, eine virtuelle Realitätsumgebung zu erzeugen, wobei das Computergerät Folgendes beinhaltet: einen Speicher, der ausführbare Anweisungen speichert; und einen Prozessor, der konfiguriert ist, die Anweisungen auszuführen, um das Computergerät zu veranlassen: auf einem Display eines am Kopf getragenen Displaygeräts (HMD) eine virtuelle Benutzeroberfläche in der virtuellen Realitätsumgebung anzuzeigen, wobei die virtuelle Oberfläche eine Vielzahl von virtuellen Objekten beinhaltet; einen auf ein erstes virtuelles Objekt aus der Vielzahl von virtuellen Objekten gerichteten Blick zu erkennen, wobei das erste virtuelle Objekt an einer ersten virtuellen Position platziert ist; eine Auswahl des ersten virtuellen Objekts verifizierende Verifizierungseingabe zu empfangen; das erste virtuelle Objekt in Reaktion auf die Verifizierung der Auswahl des ersten virtuellen Objekts zu einer zweiten Position zu bewegen; und die Anzeige der verbleibenden virtuellen Objekte aus der Vielzahl von virtuellen Objekten basierend auf dem Bewegen des ersten virtuellen Objekts neu anzuordnen.
  • Gemäß einem auf dem elften Beispiel basierenden zwölften Beispiel veranlassen die Anweisungen das Computergerät beim Erkennen des auf das erste virtuelle Objekt gerichteten Blicks zu zumindest einem von: Erkennen, mit einem optischen Gerät des HMD, eines auf das erste virtuelle Objekt gerichteten Blicks der Augen; oder Erkennen, mit einer Trägheitsmesseinheit (IMU) des HMDs einer auf das erste virtuelle Objekt gerichteten Kopfausrichtung.
  • Gemäß einem auf dem elften und/oder auf dem zwölften Beispiel basierenden dreizehnten Beispielveranlassen die Anweisungen das Computergerät beim Empfangen der eine Auswahl des ersten virtuellen Objekt verifizierenden Verifizierungseingabe: eine Dauer des auf das erste virtuelle Objekt gerichteten Blicks zu erkennen; und die Verifizierungseingabe zu empfangen, wenn die erkannte Dauer des Blicks länger ist als ein festgelegter Schwellenwert.
  • Gemäß einem auf zumindest einem der Beispiele elf bis dreizehn basierenden vierzehnten Beispielveranlassen die Anweisungen das Computergerät beim Empfangen der die Auswahl des virtuellen Objekts verifizierenden Verifizierungseingabe ebenfalls: einen ersten visuellen Anzeiger anzuzeigen, wobei der erste visuelle Anzeiger eine visuelle Angabe des ersten virtuellen Objekts aus der Vielzahl von virtuellen Objekten, auf das der erkannte Blick gerichtet ist, bereitstellt; und die Dauer des auf das erste virtuelle Objekt gerichteten Blicks in Reaktion auf das Anzeigen des ersten visuellen Anzeigers zu erkennen.
  • Gemäß einem auf zumindest einem der Beispiele elf bis vierzehn basierenden fünfzehnten Beispiel veranlassen die Anweisungen das Computergerät beim Erkennen der Dauer des auf das erste virtuelle Objekt gerichteten Blicks ebenfalls: einen zweiten visuellen Anzeiger anzuzeigen, wobei der zweite visuelle Anzeiger eine visuelle Angabe der Dauer des erkannten Blicks und Fortschritt in Richtung des festgelegten Schwellenwerts bereitstellt.
  • Gemäß einem auf zumindest einem der Beispiele elf bis fünfzehn basierenden sechzehnten Beispiel veranlassen die Anweisungen das Computergerät beim Bewegen des ersten virtuellen Objekts zur zweiten virtuellen Position in Reaktion auf das Verifizieren der Auswahl des ersten virtuellen Objekts: das erste virtuelle Objekt zu einer virtuellen Hauptposition zu bewegen, nachdem bestimmt wird, dass die Dauer des auf das erste virtuelle Objekt gerichteten Blicks länger ist als der festgelegte Schwellenwert; und die verbleibenden virtuellen Objekte aus der Vielzahl von virtuellen Objekten basierend auf dem Bewegen des ersten virtuellen Objekts neu anzuordnen.
  • Gemäß einem auf zumindest einem der Beispiele elf bis sechzehn basierenden siebzehnten Beispiel veranlassen die Anweisungen das Computergerät beimBewegen des ausgewählten virtuellen Objekts zur virtuellen Hauptposition: das erste virtuelle Objekt in Reaktion auf einen Bewegungsbefehl zu bewegen; und ein zweites virtuelles Objekt von der virtuellen Hauptposition zur ersten virtuellen Position oder zu einer aus einer Vielzahl von zusätzlichen virtuellen Positionen in der virtuellen Umgebung zu bewegen, basierend auf dem Bewegen des ersten virtuellen Objekts.
  • Gemäß einem auf zumindest einem der Beispiele elf bis siebzehn basierenden achtzehnten Beispiel veranlassen die Anweisungen das Computergerät beimBewegen des ersten virtuellen Objekts zu einer zweiten virtuellen Position: eine Blickbewegung von der ersten virtuellen Position, die einer virtuellen Ausgangsposition des ersten virtuellen Objekts entspricht, zur zweiten virtuellen Position zu erkennen; und das erste virtuelle Objekt von der ersten virtuellen Position in Reaktion auf die erkannte Blickbewegung zur zweiten virtuellen Position zu bewegen.
  • Gemäß einem auf zumindest einem der Beispiele elf bis achtzehn basierenden neunzehnten Beispielveranlassen die Anweisungen das Computergerät beim Bewegen des ersten virtuellen Objekts zur zweiten virtuellen Position und Neuanordnen der Anzeige der verbleibenden virtuellen Objekte aus der Vielzahl von virtuellen Objekten basierend auf dem Bewegen des ersten virtuellen Objekts: das erste virtuelle Objekt zur zweiten virtuellen Position zu bewegen, wobei die zweite virtuelle Position vorab basierend auf Benutzerpräferenzen bestimmt wird; und zumindest eines der verbleibenden virtuellen Objekte aus der Vielzahl von virtuellen Objekten zu einer neuen virtuellen Position zu bewegen, wobei die neue virtuelle Position vorab basierend auf Benutzerpräferenzen bestimmt wird.
  • Gemäß einem zwanzigsten Beispiel wird ein auf einem nicht flüchtigen computerlesbaren Medium ausgeführtes Computerprogrammprodukt bereitgestellt, wobei auf dem computerlesbaren Medium eine Reihe von Anweisungen gespeichert sind, die, wenn sie von einem Prozessor ausgeführt werden, den Prozessor veranlassen, ein Verfahren auszuführen, das Verfahren Folgendes umfassend: Anzeigen, auf einem Display eines am Kopf getragenen Displaygeräts (HMD), einer virtuellen Benutzeroberfläche in einer virtuellen Realitätsumgebung, wobei die virtuelle Oberfläche eine Vielzahl von virtuellen Objekten beinhaltet; Erkennen eines auf ein erstes virtuelles Objekt aus einer Vielzahl von virtuellen Objekten gerichteten Blicks, wobei das erste virtuelle Objekt an einer ersten virtuellen Position platziert ist; Empfangen einer die Auswahl des ersten virtuellen Objekts verifizierenden Verifizierungseingabe; Bewegen des ersten virtuellen Objekts zu einer zweiten virtuellen Position in Reaktion auf die Verifikation der Auswahl des ersten virtuellen Objekts; und Neuanordnen der Anzeige der verbleibenden virtuellen Objekte aus der Vielzahl von virtuellen Objekten basierend auf dem Bewegen des ersten virtuellen Objekts.
  • Gemäß einem auf dem zwanzigsten Beispiel basierenden einundzwanzigsten Beispiel beinhaltet ein Erkennen eines auf ein ersten virtuellen Objakt aus der Vielzahl von virtuellen Objekten gerichteten Blicks zumindest eines der Folgenden: Erkennen, mit einem optischen Gerät des HMDs, eines auf das erste virtuelle Objekt gerichteten Blicks der Augen; oder Erkennen, mit einer Trägheitsmesseinheit (IMU) des HMDs einer auf das erste virtuelle Objekt gerichteten Kopfausrichtung.
  • Gemäß einem auf dem zwanzigsten und/oder einundzwanzigsten Beispiel basierenden zweiundzwanzigsten Beispiel beinhaltet ein Empfangen einer die Auswahl des ersten virtuellen Objekts verifizierenden Verifizierungseingabe: Erkennen einer Dauer des auf das erste virtuelle Objekt gerichteten Blicks; und Empfangen der Verifizierungseingabe, wenn die erkannte Dauer des Blicks länger ist als ein festgelegter Schwellenwert.
  • Gemäß einem auf zumindest einem der Beispiele zwanzig bis zweiundzwanzig basierenden dreiundzwanzigsten Beispiel beinhaltet ein Empfangen einer die Auswahl des ersten virtuellen Objekts verifizierenden Verifizierungseingabe ebenfalls: Anzeigen eines ersten visuellen Anzeigers, wobei der erste visuelle Anzeiger eine visuelle Angabe des ersten virtuellen Objekts aus der Vielzahl von virtuellen Objekten bereitstellt, auf das der erkannte Blick gerichtet ist; und Erkennen der Dauer des auf das erste virtuelle Objekt gerichteten Blicks in Reaktion auf das Anzeigen des ersten visuellen Anzeigers.
  • Gemäß einem auf zumindest einem der Beispiele zwanzig bis dreiundzwanzig basierenden vierundzwanzigsten Beispiel beinhaltet ein Erkennen der Dauer des auf das erste virtuelle Objekt gerichteten Blicks ebenfalls: Anzeigen eines zweiten visuellen Anzeigers, wobei der zweite visuelle Anzeiger eine visuelle Angabe der Dauer des erkannten Blicks und des Fortschritts in Richtung des festgelegten Schwellenwerts bereitstellt.
  • Gemäß einem auf zumindest einem der Beispiele zwanzig bis vierundzwanzig basierenden fünfundzwanzigsten Beispiel beinhaltet ein Bewegen des ersten virtuellen Objekts zu einer zweiten virtuellen Position in Reaktion auf die Verifizierung der Auswahl des ersten virtuellen Objekts: Bewegen des ersten virtuellen Objekts zu einer virtuellen Hauptposition, nachdem bestimmt wird, dass die Dauer des Blicks auf das erste virtuelle Objekt länger ist als der festgelegte Schwellenwert; und Neuanordnen der verbleibenden virtuellen Objekte aus der Vielzahl von virtuellen Objekten basierend auf dem Bewegen des ersten virtuellen Objekts.
  • Gemäß einem auf zumindest einem der Beispiele zwanzig bis fünfundzwanzig basierenden sechsundzwanzigsten Beispiel beinhaltet ein Bewegen des ausgewählten virtuellen Objekts zu einer virtuellen Hauptposition: Bewegen des ersten virtuellen Objekts in Reaktion auf einen Bewegungsbefehl; und Bewegen eines zweiten virtuellen Objekts von der virtuellen Hauptposition zur ersten virtuellen Position oder zu einer aus einer Vielzahl von zusätzlichen virtuellen Positionen in der virtuellen Umgebung, basierend auf dem Bewegen des ersten virtuellen Objekts.
  • Gemäß einem auf zumindest einem der Beispiele zwanzig bis sechsundzwanzig basierenden siebenundzwanzigsten Beispiel beinhaltet ein Bewegen des ersten virtuellen Objekts zu einer zweiten virtuellen Position: Erkennen einer Blickbewegung von der ersten virtuellen Position, die einer virtuellen Ausgangsposition des ersten virtuellen Objekts entspricht, zu der zweiten virtuellen Position und Bewegen des ersten virtuellen Objekts von der ersten virtuellen Position in Reaktion auf die erkannte Blickbewegung zu derr zweiten virtuellen Position.
  • Gemäß einem auf zumindest einem der Beispiele zwanzig bis siebenundzwanzig basierenden achtundzwanzigsten Beispiel beinhaltet ein Bewegen des ersten virtuellen Objekts zu einer zweiten virtuellen Position und ein Neuanordnen der Anzeige der verbleibenden virtuellen Objekte aus der Vielzahl von virtuellen Objekten basierend auf dem Bewegen des ersten virtuellen Objekts: Bewegen des ersten virtuellen Objekts zur zweiten virtuellen Position, wobei die zweite Position vorab basierend auf Benutzerpräferenzen bestimmt wird; und Bewegen zumindest eines der verbleibenden virtuellen Objekte der Vielzahl von virtuellen Objekten zu einer neuen virtuellen Position, wobei die neue virtuelle Position vorab basierend auf Benutzerpräferenzen bestimmt wird.
  • Gemäß einem auf zumindest einem der Beispiele zwanzig bis achtundzwanzig basierenden neunundzwanzigsten Beispiel, wobei ein Anzeigen einer virtuellen Benutzeroberfläche ein Anzeigen einer virtuellen Benutzeroberfläche beinhaltet, die Folgendes besitzt: eine virtuelle Hauptposition; zumindest eine zusätzliche virtuelle Position, wobei ein virtuelles Objekt aus der Vielzahl von virtuellen Objekten, das die virtuelle Hauptposition einnimmt ein aktuell aktives virtuelles Objekt der virtuellen Benutzeroberfläche ist, ein virtuelles Objekt aus der Vielzahl von virtuellen Objekten, das die zumindest eine zusätzliche virtuelle Position einnimmt ein inaktives virtuelles Objekt aus der Vielzahl von virtuellen Objekten ist.
  • In einem weiteren Beispiel kann ein optisches Verfolgungsgerät in einem virtuellen Realitätssystem die Richtung und/oder Bewegung im Verhältnis zu virtuellen Objekten, die in in virtuellen Umgebungen angezeigten virtuellen Benutzeroberflächen enthalten sind, des Blicks der Augen eines Benutzers erkennen und verfolgen, und Sensoren in einem am Kopf getragenen Displaygerät können die Kopfausrichtung und oder -bewegung im Verhältnis zu den virtuellen Objekten in der virtuellen Umgebung erkennen und verfolgen, wobei ein Prozessor die erkannte Blickrichtung und/oder -bewegung als Benutzereingabe verarbeiten kann und eines oder mehrere der virtuellen Objekte in Reaktion auf die erkannte Blickrichtung und/oder -bewegung bewegen oder neu anordnen kann.
  • Eine Anzahl von Ausführungsbeispielen wurde beschrieben. Trotzdem versteht es sich, dass verschiedene Modifikationen durchgeführt werden können, ohne vom Geist und Umfang der Patentschrift abzuweichen.
  • 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 und andere Komponenten können zu den beschriebenen Systemen hinzugefügt oder davon entfernt werden. Dementsprechend befinden sich andere Ausführungsformen innerhalb des Umfangs der folgenden Ansprüche.
  • Während bestimmte charakteristische Merkmale der beschriebenen Implementierungen wie hierin beschrieben veranschaulicht wurden, werden dem Fachmann jetzt viele Modifikationen, Substitutionen, Änderungen und Äquivalente einfallen. Es ist daher selbstverständlich, dass die beigefügten Ansprüche alle solchen Modifikationen und Änderungen abdecken sollen, die unter den Geist der Erfindung fallen. Es sollte selbstverständlich sein, dass diese nur beispielhaft und nicht als Begrenzung präsentiert wurden, und es können verschiedene Änderungen der Form und der Details vorgenommen werden. Jeder Abschnitt der hierin beschriebenen Vorrichtung und/oder der Verfahren kann in jeder Kombination kombiniert werden, außer sich gegenseitig ausschließender Kombinationen. Die hierin beschriebenen Implementierungen können verschiedene Kombinationen und/oder Unterkombinationen der Funktionen, Komponenten und/oder Merkmale der unterschiedlichen beschriebenen Implementierungen umfassen.

Claims (19)

  1. Computerprogrammprodukt, umfassend eine Reihe von Anweisungen, die, wenn sie durch einen oder mehrere Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren veranlassen, ein Verfahren auszuführen, das Verfahren umfassend: Anzeigen einer virtuellen Benutzeroberfläche in einer virtuellen Realitätsumgebung auf einem Display eines am Kopf getragenen Displaygeräts (HMD), wobei die virtuelle Oberfläche eine Vielzahl von virtuellen Objekten beinhaltet; Erkennen eines auf ein erstes virtuelles Objekt aus der Vielzahl von virtuellen Objekten gerichteten Blicks, wobei das erste virtuelle Objekt an einer ersten virtuellen Position platziert ist; Empfangen einer die Auswahl des ersten virtuellen Objekts verifizierenden Verifizierungseingabe; Bewegen des ersten virtuellen Objekts zu einer zweiten virtuellen Position in Reaktion auf die Verifizierung der Auswahl des ersten virtuellen Objekts; und Neuanordnen der Anzeige verbleibender virtueller Objekte aus der Vielzahl von virtuellen Objekten, basierend auf dem Bewegen des ersten virtuellen Objekts.
  2. Computerprogrammprodukt nach Anspruch 1, wobei ein Erkennen eines auf ein erstes virtuelles Objekt aus der Vielzahl von virtuellen Objekten gerichteten Blicks zumindest eines der Folgenden beinhaltet: Erkennen, mit einem optischen Gerät des HMDs, eines auf das erste virtuelle Objekt gerichteten Blicks der Augen; oder Erkennen, mit einer Trägheitsmesseinheit (IMU) des HMDs einer auf das erste virtuelle Objekt gerichteten Kopfausrichtung.
  3. Computerprogrammprodukt nach Anspruch 1, wobei ein Empfangen einer die Auswahl des ersten virtuellen Objekts verifizierenden Verifizierungseingabe Folgendes beinhaltet: Erkennen einer Dauer des auf das erste virtuelle Objekt gerichteten Blicks; und Empfangen der Verifizierungseingabe, wenn die erkannte Dauer des Blicks länger ist als ein festgelegter Schwellenwert.
  4. Computerprogrammprodukt nach Anspruch 3, wobei ein Empfangen einer die Auswahl des ersten virtuellen Objekts verifizierenden Verifizierungseingabe ebenfalls Folgendes beinhaltet: Anzeigen eines ersten visuellen Anzeigers, wobei der erste visuelle Anzeiger eine visuelle Angabe des ersten virtuellen Objekts aus der Vielzahl von virtuellen Objekten, auf das der erkannte Blick gerichtet ist, bereitstellt; und Erkennen der Dauer des auf das erste virtuelle Objekt gerichteten Blicks in Reaktion auf das Anzeigen des ersten visuellen Anzeigers.
  5. Computerprogrammprodukt nach Anspruch 4, wobei ein Erkennen der Dauer des auf das erste virtuelle Objekt gerichteten Blicks ebenfalls Folgendes beinhaltet: Anzeigen eines zweiten visuellen Anzeigers, wobei der zweite visuelle Anzeiger eine visuelle Angabe der Dauer des erkannten Blicks und des Fortschritts in Richtung des festgelegten Schwellenwerts bereitstellt
  6. Computerprogrammprodukt nach Anspruch 5, wobei ein Bewegen des ersten virtuellen Objekts zu einer zweiten virtuellen Position in Reaktion auf die Verifikation der Auswahl des ersten virtuellen Objekts Folgendes beinhaltet: Bewegen des ersten virtuellen Objekts zu einer virtuellen Hauptposition, nachdem bestimmt wird, dass die Dauer des Blicks auf das erste virtuelle Objekt länger ist als der festgelegte Schwellenwert; und Neuanordnen der verbleibenden virtuellen Objekte aus der Vielzahl von virtuellen Objekten, basierend auf dem Bewegen des ersten virtuellen Objekts.
  7. Computerprogrammprodukt nach Anspruch 6, wobei ein Bewegen des ausgewählten virtuellen Objekts zu einer virtuellen Hauptposition Folgendes beinhaltet: Bewegen des ersten virtuellen Objekts in Reaktion auf einen Bewegungsbefehl; und Bewegen eines zweiten virtuellen Objekts von der virtuellen Hauptposition zur ersten virtuellen Position oder zu einer aus einer Vielzahl von zusätzlichen virtuellen Positionen in der virtuellen Umgebung, basierend auf dem Bewegen des ersten virtuellen Objekts.
  8. Computerprogrammprodukt nach Anspruch 1, wobei ein Bewegen des ersten virtuellen Objekts zu einer zweiten virtuellen Position Folgendes beinhaltet: Erkennen einer Blickbewegung von der ersten virtuellen Position, die einer virtuellen Ausgangsposition des ersten virtuellen Objekts entspricht, zur zweiten virtuellen Position; und Bewegen des ersten virtuellen Objekts von der ersten virtuellen Position zur zweiten virtuellen Position in Reaktion auf die erkannte Blickbewegung.
  9. Computerprogrammprodukt nach Anspruch 1, wobei ein Bewegen des ersten virtuellen Objekts zu einer zweiten virtuellen Position und ein Neuanordnen der Anzeige der verbleibenden virtuellen Objekte aus der Vielzahl von virtuellen Objekten basierend auf dem Bewegen des ersten Objekts Folgendes beinhaltet: Bewegen des ersten virtuellen Objekts zur zweiten virtuellen Position, wobei die zweite Position vorab basierend auf Benutzerpräferenzen bestimmt wird; und Bewegen zumindest eines der verbleibenden virtuellen Objekte der Vielzahl von virtuellen Objekten zu einer neuen virtuellen Position, wobei die neue virtuelle Position vorab basierend auf Benutzerpräferenzen bestimmt wird.
  10. Computerprogrammprodukt nach Anspruch 1, wobei ein Anzeigen einer virtuellen Benutzeroberfläche ein Anzeigen einer virtuellen Benutzeroberfläche beinhaltet, die Folgendes besitzt: eine virtuelle Hauptposition; zumindest eine zusätzliche virtuelle Position, wobei ein virtuelles Objekt aus der Vielzahl von virtuellen Objekten, das die virtuelle Hauptposition einnimmt, ein aktuell aktives virtuelles Objekt der virtuellen Benutzeroberfläche ist, ein virtuelles Objekt aus der Vielzahl von virtuellen Objekten, das die zumindest eine zusätzliche virtuelle Position einnimmt, ein inaktives virtuelles Objekt aus der Vielzahl von virtuellen Objekten ist.
  11. System, umfassend: ein Computergerät, dazu konfiguriert, eine virtuelle Realitätsumgebung zu erzeugen, wobei das Computergerät Folgendes beinhaltet: einen Speicher, der ausführbare Anweisungen speichert; und einen Prozessor, dazu konfiguriert, die Anweisungen auszuführen, um das Computergerät zu veranlassen: auf dem Display eines am Kopf getragenen Displaygeräts (HMD) eine virtuelle Benutzeroberfläche in der virtuellen Realitätsumgebung anzuzeigen, wobei die virtuelle Oberfläche eine Vielzahl von virtuellen Objekten beinhaltet; einen auf ein erstes virtuelles Objekt aus der Vielzahl von virtuellen Objekten gerichteten Blick zu erkennen, wobei das erste virtuelle Objekt an einer ersten virtuellen Position platziert ist; eine die Auswahl des ersten virtuellen Objekts verifizierende Verifizierungseingabe zu empfangen; das erste virtuelle Objekt in Reaktion auf die Verifikation der Auswahl des ersten virtuellen Objekts zu einer zweiten virtuellen Position zu bewegen; und die Anzeige der verbleibenden virtuellen Objekte aus der Vielzahl von virtuellen Objekten basierend auf dem Bewegen des ersten virtuellen Objekts neu anzuordnen.
  12. System nach Anspruch 11, wobei die Anweisungen das Computergerät beim Erkennen des auf das erste virtuelle Objekt gerichteten Blicks zu zumindest einem der Folgenden veranlassen: Erkennen, mit einem optischen Gerät des HMDs, eines auf das erste virtuelle Objekt gerichteten Blicks der Augen; oder Erkennen, mit einer Trägheitsmesseinheit (IMU) des HMDs, einer auf das erste virtuelle Objekt gerichteten Kopfausrichtung.
  13. System nach Anspruch 11, wobei die Anweisungen das Computergerät beim Empfangen der die Auswahl des ersten virtuellen Objekts verifizierenden Verifizierungseingabe zu zumindest einem der Folgenden veranlassen: Erkennen einer Dauer des auf das erste virtuelle Objekt gerichteten Blicks; und Empfangen der Verifizierungseingabe, wenn die erkannte Dauer des Blicks länger ist als ein festgelegter Schwellenwert.
  14. System nach Anspruch 13, wobei die Anweisungen das Computergerät beim Empfangen der die Auswahl des ersten Objekts verifizierenden Verifizierungseingabe ebenfalls veranlassen: einen ersten visuellen Anzeiger anzuzeigen, wobei der erste visuelle Anzeiger eine visuelle Angabe des ersten virtuellen Objekts aus der Vielzahl von virtuellen Objekten bereitstellt, auf das der erkannte Blick gerichtet ist; und die Dauer des auf das erste virtuelle Objekt gerichteten Blicks in Reaktion auf das Anzeigen des ersten visuellen Anzeigers zu erkennen.
  15. System nach Anspruch 14, wobei die Anweisungen das Computergerät beim Erkennen der Dauer des auf das erste virtuelle Objekt gerichteten Blicks ebenfalls veranlassen: einen zweiten visuellen Anzeiger anzuzeigen, wobei der zweite visuelle Anzeiger eine visuelle Angabe der Dauer des erkannten Blicks und des Fortschritts in Richtung des festgelegten Schwellenwerts bereitstellt
  16. System nach Anspruch 15, wobei die Anweisungen das Computergerät beim Bewegen des ersten virtuellen Objekts zur zweiten virtuellen Position in Reaktion auf die Verifizierung der Auswahl des ersten virtuellen Objekts ebenfalls veranlassen: das erste virtuelle Objekt zu einer virtuellen Hauptposition zu bewegen, nachdem bestimmt wird, dass die Dauer des Blicks auf das erste virtuelle Objekt länger ist als der festgelegte Schwellenwert; und die verbleibenden virtuellen Objekte aus der Vielzahl von virtuellen Objekten basierend auf dem Bewegen des ersten virtuellen Objekts neu anzuordnen.
  17. System nach Anspruch 16, wobei die Anweisungen das Computergerät beim Bewegen des ausgewählten virtuellen Objekts zur virtuellen Hauptposition veranlassen: das erste virtuelle Objekt in Reaktion auf einen Bewegungsbefehl zu bewegen; und ein zweites virtuelles Objekt von der virtuellen Hauptposition zur ersten virtuellen Position oder zu einer aus einer Vielzahl von zusätzlichen virtuellen Positionen in der virtuellen Umgebung zu bewegen, basierend auf dem Bewegen des ersten virtuellen Objekts.
  18. System nach Anspruch 11, wobei die Anweisungen das Computergerät beim Bewegen des ersten virtuellen Objekts zur zweiten virtuellen Position veranlassen: eine Blickbewegung von der ersten virtuellen Position, die einer virtuellen Ausgangsposition des ersten virtuellen Objekts entspricht, zur zweiten virtuellen Position zu erkennen; und das erste virtuelle Objekt in Reaktion auf die erkannte Blickbewegung von der ersten virtuellen Position zur zweiten virtuellen Position zu bewegen.
  19. System nach Anspruch 11, wobei die Anweisungen das Computergerät beim Bewegen des ersten virtuellen Objekts zur zweiten virtuellen Position und Neuanordnen der Anzeige der verbleibenden virtuellen Objekte aus der Vielzahl von virtuellen Objekten basierend auf dem Bewegen des ersten virtuellen Objekts veranlasst: das erste virtuelle Objekt zur zweiten virtuellen Position zu bewegen, wobei die zweite virtuelle Position vorab basierend auf Benutzerpräferenzen festgelegt wird; und zumindest eines der verbleibenden virtuellen Objekte aus der Vielzahl von virtuellen Objekten zu einer neuen virtuellen Position zu bewegen, wobei die neue virtuelle Position vorab basierend auf Benutzerpräferenzen festgelegt wird.
DE202017105307.5U 2016-11-30 2017-09-04 Umschalten aktiver Objekte in einer erweiterten Realitäts- und/oder virtuellen Realitätsumgebung Active DE202017105307U1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/364,729 US20180150204A1 (en) 2016-11-30 2016-11-30 Switching of active objects in an augmented and/or virtual reality environment
US15/364,729 2016-11-30

Publications (1)

Publication Number Publication Date
DE202017105307U1 true DE202017105307U1 (de) 2018-03-26

Family

ID=59846653

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202017105307.5U Active DE202017105307U1 (de) 2016-11-30 2017-09-04 Umschalten aktiver Objekte in einer erweiterten Realitäts- und/oder virtuellen Realitätsumgebung

Country Status (5)

Country Link
US (1) US20180150204A1 (de)
EP (1) EP3548988B1 (de)
CN (1) CN109891368B (de)
DE (1) DE202017105307U1 (de)
WO (1) WO2018101995A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110633008A (zh) * 2018-06-22 2019-12-31 苹果公司 用户交互解释器
EP4231649A1 (de) * 2022-02-22 2023-08-23 Sony Interactive Entertainment Inc. Vorrichtung und verfahren zur anzeige eines zusammengesetzten videos mit einer kopfmontierten anzeige

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017036953A1 (en) * 2015-09-02 2017-03-09 Thomson Licensing Method, apparatus and system for facilitating navigation in an extended scene
US11487353B2 (en) * 2016-11-14 2022-11-01 Logitech Europe S.A. Systems and methods for configuring a hub-centric virtual/augmented reality environment
CN112578911A (zh) * 2016-12-06 2021-03-30 美国景书公司 跟踪头部和眼睛的运动的装置和方法
US11507216B2 (en) 2016-12-23 2022-11-22 Realwear, Inc. Customizing user interfaces of binary applications
US10620910B2 (en) * 2016-12-23 2020-04-14 Realwear, Inc. Hands-free navigation of touch-based operating systems
US11099716B2 (en) 2016-12-23 2021-08-24 Realwear, Inc. Context based content navigation for wearable display
US10936872B2 (en) 2016-12-23 2021-03-02 Realwear, Inc. Hands-free contextually aware object interaction for wearable display
CN108694601B (zh) * 2017-04-07 2021-05-14 腾讯科技(深圳)有限公司 媒体文件的投放方法和装置
KR102555443B1 (ko) 2017-05-01 2023-07-12 매직 립, 인코포레이티드 콘텐츠를 공간 3d 환경에 매칭
US10366691B2 (en) * 2017-07-11 2019-07-30 Samsung Electronics Co., Ltd. System and method for voice command context
AU2018388581A1 (en) 2017-12-22 2020-07-23 Magic Leap, Inc. Methods and system for managing and displaying virtual content in a mixed reality system
CA3089646A1 (en) * 2018-02-22 2019-08-20 Magic Leap, Inc. Browser for mixed reality systems
EP3756079A4 (de) 2018-02-22 2021-04-28 Magic Leap, Inc. Objekterzeugung mit physikalischer manipulation
US11417296B2 (en) * 2018-03-13 2022-08-16 Sony Corporation Information processing device, information processing method, and recording medium
JP2021096490A (ja) * 2018-03-28 2021-06-24 ソニーグループ株式会社 情報処理装置、情報処理方法、およびプログラム
US10809958B2 (en) * 2018-04-16 2020-10-20 Microsoft Technology Licensing, Llc Setting up multiple displays via user input
US11100713B2 (en) * 2018-08-17 2021-08-24 Disney Enterprises, Inc. System and method for aligning virtual objects on peripheral devices in low-cost augmented reality/virtual reality slip-in systems
US11137875B2 (en) * 2019-02-22 2021-10-05 Microsoft Technology Licensing, Llc Mixed reality intelligent tether for dynamic attention direction
EP3948747A4 (de) 2019-04-03 2022-07-20 Magic Leap, Inc. Verwaltung und anzeige von webpages in einem virtuellen dreidimensionalen raum mit einem system für gemischte realität
US11475117B2 (en) * 2019-06-18 2022-10-18 Citrix Systems, Inc. Eye and head tracking authentication
US11209902B2 (en) * 2020-01-09 2021-12-28 Lenovo (Singapore) Pte. Ltd. Controlling input focus based on eye gaze
CN111657842B (zh) * 2020-06-02 2021-08-31 首都医科大学附属北京地坛医院 一种探头控制方法及探头控制装置
CN111683281A (zh) * 2020-06-04 2020-09-18 腾讯科技(深圳)有限公司 视频播放方法、装置、电子设备及存储介质
US11747896B2 (en) 2020-10-20 2023-09-05 Rovi Guides, Inc. Methods and systems of extended reality environment interaction based on eye motions
US11320903B1 (en) * 2020-10-20 2022-05-03 Rovi Guides, Inc. Methods and systems of extended reality environment interaction based on eye motions
US11609629B2 (en) 2020-10-20 2023-03-21 Rovi Guides, Inc. Methods and systems of extended reality environment interaction based on eye motions
US11281291B1 (en) 2020-10-20 2022-03-22 Rovi Guides, Inc. Methods and systems of extended reality environment interaction based on eye motions
US11392198B2 (en) 2020-10-20 2022-07-19 ROVl GUIDES, INC. Methods and systems of extended reality environment interaction based on eye motions
US11762458B2 (en) * 2021-02-15 2023-09-19 Sony Group Corporation Media display device control based on eye gaze
WO2023049876A1 (en) * 2021-09-25 2023-03-30 Apple Inc. Methods for interacting with an electronic device
US20230135974A1 (en) * 2021-11-04 2023-05-04 Microsoft Technology Licensing, Llc Multi-factor intention determination for augmented reality (ar) environment control
US20230315193A1 (en) * 2022-03-31 2023-10-05 Lenovo (Singapore) Pte. Ltd. Direction of user input to virtual objects based on command metadata
CN115957419B (zh) * 2023-02-15 2023-06-16 中国人民解放军军事科学院军事医学研究院 一种关于心理舒缓的信息处理方法、虚拟现实系统及装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5608850A (en) * 1994-04-14 1997-03-04 Xerox Corporation Transporting a display object coupled to a viewpoint within or between navigable workspaces
US7561143B1 (en) * 2004-03-19 2009-07-14 The University of the Arts Using gaze actions to interact with a display
US8793620B2 (en) * 2011-04-21 2014-07-29 Sony Computer Entertainment Inc. Gaze-assisted computer interface
EP3654147A1 (de) * 2011-03-29 2020-05-20 QUALCOMM Incorporated System zur darstellung von gemeinsam genutzten digitalen schnittstellen in bezug auf die perspektive eines jeden benutzers
US10120438B2 (en) * 2011-05-25 2018-11-06 Sony Interactive Entertainment Inc. Eye gaze to alter device behavior
US9035878B1 (en) * 2012-02-29 2015-05-19 Google Inc. Input system
US9134792B2 (en) * 2013-01-14 2015-09-15 Qualcomm Incorporated Leveraging physical handshaking in head mounted displays
JP2014157466A (ja) * 2013-02-15 2014-08-28 Sony Corp 情報処理装置及び記憶媒体
US9710130B2 (en) * 2013-06-12 2017-07-18 Microsoft Technology Licensing, Llc User focus controlled directional user input
US9552060B2 (en) * 2014-01-28 2017-01-24 Microsoft Technology Licensing, Llc Radial selection by vestibulo-ocular reflex fixation
US9723298B2 (en) * 2014-06-13 2017-08-01 International Business Machines Corporation Managing a display
US10592080B2 (en) * 2014-07-31 2020-03-17 Microsoft Technology Licensing, Llc Assisted presentation of application windows
US10248192B2 (en) * 2014-12-03 2019-04-02 Microsoft Technology Licensing, Llc Gaze target application launcher
TWI571768B (zh) * 2015-04-29 2017-02-21 由田新技股份有限公司 使用者介面同步系統、裝置、方法、電腦可讀取記錄媒體、及電腦程式產品
CN105824409A (zh) * 2016-02-16 2016-08-03 乐视致新电子科技(天津)有限公司 虚拟现实的交互控制方法及装置
US10250720B2 (en) * 2016-05-05 2019-04-02 Google Llc Sharing in an augmented and/or virtual reality environment
CN109804334B (zh) * 2016-08-11 2022-07-15 奇跃公司 用于三维空间中虚拟对象的自动放置的系统和方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110633008A (zh) * 2018-06-22 2019-12-31 苹果公司 用户交互解释器
CN110633008B (zh) * 2018-06-22 2022-08-19 苹果公司 用户交互解释器
US11733824B2 (en) 2018-06-22 2023-08-22 Apple Inc. User interaction interpreter
EP4231649A1 (de) * 2022-02-22 2023-08-23 Sony Interactive Entertainment Inc. Vorrichtung und verfahren zur anzeige eines zusammengesetzten videos mit einer kopfmontierten anzeige

Also Published As

Publication number Publication date
EP3548988A1 (de) 2019-10-09
WO2018101995A1 (en) 2018-06-07
US20180150204A1 (en) 2018-05-31
EP3548988B1 (de) 2022-03-02
CN109891368B (zh) 2022-08-19
CN109891368A (zh) 2019-06-14

Similar Documents

Publication Publication Date Title
DE202017105307U1 (de) Umschalten aktiver Objekte in einer erweiterten Realitäts- und/oder virtuellen Realitätsumgebung
DE202017105262U1 (de) Erzeugen virtueller Notationsoberflächen mit Gesten in einer erweiterten und/oder virtuellen Realitätsumgebung
US11467709B2 (en) Mixed-reality guide data collection and presentation
DE202017104928U1 (de) Manipulation virtueller Objekte anhand von Controllern mit sechs Freiheitsgraden in erweiterten bzw. virtuellen Realitätsumgebungen
DE102017119812A1 (de) Ziehen von virtuellen elementen einer erweiterten und/oder virtuellen realitätsumgebung
EP2202609B1 (de) Augenkontrolle einer Rechnervorrichtung
DE202016008297U1 (de) Zweihändige Objektmanipulationen in der virtuellen Realität
DE202017105283U1 (de) Sitzungsende-Erkennung in einer Augmented- und/oder Virtual-Reality-Umgebung
DE112020002268T5 (de) Vorrichtung, verfahren und computerlesbares medium zur darstellung von dateien computergenerierter realität
EP3262505B1 (de) Interaktive systemsteuerungsvorrichtung und verfahren
JP2014186361A (ja) 情報処理装置、操作制御方法及びプログラム
DE202017006742U1 (de) Eingabegerät-Stabilisierungstechniken für virtuelle Realitätssysteme
JP6778815B2 (ja) 仮想現実におけるロケーショングローブ
CN113728301A (zh) 用于在2d屏幕上操纵3d对象的设备、方法和图形用户界面
DE102022117756A1 (de) Anweisen eines virtuellen agenten basierend auf dem blinkverhalten eines benutzers
DE112020002244T5 (de) Vorrichtung, Verfahren und grafische Benutzerschnittstelle zur Erzeugung von CGR-Objekten
US20230333645A1 (en) Method and device for processing user input for multiple devices
JP2024018909A (ja) スマートウォッチを用いたxr操作機能
KR20240025593A (ko) 객체에 대한 동작 양식을 동적으로 선택하기 위한 방법 및 디바이스
EP3062221A1 (de) Interaktive systemsteuerungsvorrichtung und verfahren

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: MAIKOWSKI & NINNEMANN PATENTANWAELTE PARTNERSC, DE

R207 Utility model specification
R150 Utility model maintained after payment of first maintenance fee after three years
R151 Utility model maintained after payment of second maintenance fee after six years