DE202017104403U1 - Erkennen des Benutzerbewegungsbereichs für Virtual-Reality-Benutzeroberflächen - Google Patents

Erkennen des Benutzerbewegungsbereichs für Virtual-Reality-Benutzeroberflächen Download PDF

Info

Publication number
DE202017104403U1
DE202017104403U1 DE202017104403.3U DE202017104403U DE202017104403U1 DE 202017104403 U1 DE202017104403 U1 DE 202017104403U1 DE 202017104403 U DE202017104403 U DE 202017104403U DE 202017104403 U1 DE202017104403 U1 DE 202017104403U1
Authority
DE
Germany
Prior art keywords
user
virtual
range
electronic device
environment
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
DE202017104403.3U
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 DE202017104403U1 publication Critical patent/DE202017104403U1/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/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
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Optics & Photonics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Computerprogrammprodukt, das Code beinhaltet, der, wenn er durch einen oder mehrere Prozessoren eines Computergeräts ausgeführt wird, den einen oder die mehreren Prozessoren veranlasst, ein Verfahren durchzuführen, das Verfahren umfassend: Erzeugen einer virtuellen Umgebung mit einem ersten elektronischen Gerät, das mit einem zweiten elektronischen Gerät kommunikativ gekoppelt ist; Nachverfolgen der Bewegung des zweiten elektronischen Geräts in einer umliegenden Umgebung; Bestimmen, mithilfe eines oder mehrerer Sensoren, eines Bewegungsbereichs, der der Bewegung des zweiten elektronischen Geräts in der umliegenden Umgebung zugeordnet ist; Korrelieren des Bewegungsbereichs, der der umliegenden Umgebung zugeordnet ist, mit einem Bewegungsbereich, der der virtuellen Umgebung zugeordnet ist; Bestimmen, für eine Vielzahl virtueller Objekte, einer virtuellen Konfiguration, die an den Bewegungsbereich angepasst ist, der der virtuellen Umgebung zugeordnet ist; und Auslösen der Wiedergabe, in der virtuellen Umgebung des ersten elektronischen Geräts, der Vielzahl virtueller Objekte gemäß der virtuellen Konfiguration.

Description

  • TECHNISCHES GEBIET
  • Diese Beschreibung bezieht sich im Allgemeinen auf das Erkennen von Bewegungsbereichmöglichkeiten für Benutzer, die auf Virtual-Reality(VR)-Inhalte zugreifen.
  • ALLGEMEINER STAND DER TECHNIK
  • Viele Virtual-Reality-Umgebungen akzeptieren Benutzereingaben aus einer Vielzahl von Eingabegeräten. Beispielsweise kann jede Kombination von Mobilgeräten, Tastaturen, Controllern und nachverfolgten Handbewegungen verwendet werden, um eine Eingabe in einen Virtual-Reality(VR)-Raum bereitzustellen. Die Bereitstellung von Eingaben im VR-Raum kann zudem eine Kombination von Bewegungen und Gerätemanipulationen beinhalten. Jede Bewegungs- und Gerätemanipulation kann von einem Benutzer durchgeführt werden, der auf den VR-Raum zugreift.
  • KURZDARSTELLUNG DER OFFENBARUNG
  • Ein System von einem oder mehreren Computergeräten kann konfiguriert werden, um bestimmte Operationen oder Aktionen mithilfe von auf dem System installierter Software, Firmware, Hardware oder einer Kombination derselben auszuführen, die im Betrieb das System veranlassen, die Aktionen durchzuführen. Ein oder mehrere Computerprogramme können dazu konfiguriert sein, bestimmte Vorgänge oder Aktionen dadurch durchzuführen, dass sie Anweisungen beinhalten, die, wenn sie durch eine Datenverarbeitungsvorrichtung ausgeführt werden, das Gerät zur Durchführung der Aktion veranlassen.
  • In einem allgemeinen Aspekt beinhaltet ein Computerprogrammprodukt für ein computerimplementiertes Verfahren das Erzeugen einer virtuellen Umgebung mit einem ersten elektronischen Gerät, das mit einem zweiten elektronischen Gerät kommunikativ gekoppelt ist, das Nachverfolgen der Bewegung des zweiten elektronischen Gerätes in einer umliegenden Umgebung, und das Bestimmen, mit einem oder mehreren Sensoren, eines Bewegungsbereichs, der der Bewegung des zweiten elektronischen Gerätes in der umliegenden Umgebung zugeordnet ist. Das Verfahren kann des Weiteren das Korrelieren des Bewegungsbereichs, der der umliegenden Umgebung zugeordnet ist, einem Bewegungsbereich zuordnen, der der virtuellen Umgebung zugeordnet ist, und für eine Vielzahl von virtuellen Objekten eine virtuelle Konfiguration, die an den Bewegungsbereich angepasst ist, der der virtuellen Umgebung zugeordnet ist, sowie das Auslösen der Wiedergabe in der virtuellen Umgebung in dem ersten elektronischen Gerät der Vielzahl von virtuellen Objekten gemäß der virtuellen Konfiguration beinhalten.
  • Implementierungen können zudem ein oder mehrere der folgenden Merkmale beinhalten. Das Verfahren, bei dem mindestens eines der Vielzahl von virtuellen Objekten Teil einer Benutzeroberfläche ist, die die virtuelle Umgebung und die der virtuellen Umgebung zugeordneten Optionen zeigt, und bei der die Bestimmung der virtuellen Konfiguration die Anpassung der Benutzeroberfläche an den der virtuellen Umgebung zugeordneten Bewegungsbereich umfasst. Das Verfahren, bei dem das Korrelieren des Bewegungsbereichs, der der umliegenden Umgebung zugeordnet ist, einem Bewegungsbereich zugeordnet ist, der der virtuellen Umgebung zugeordnet ist, beinhaltet das Bestimmen eines physischen Aspekts eines Benutzers, der auf mindestens eines, das erste elektronische Gerät oder das zweite elektronische Gerät zugreift und zumindest eine Fähigkeit übersetzt, die dem physischen Aspekt aus der umliegenden Umgebung zu der virtuellen Umgebung zugeordnet ist, sowie das Bereitstellen von virtuellen Inhalten in der virtuellen Umgebung gemäß der mindestens einen übersetzten Fähigkeit. In einigen Implementierungen beinhaltet der physische Aspekt eines Benutzers, der auf das erste elektronische Gerät zugreift, mindestens eine erkannte Position innerhalb der virtuellen Umgebung, eine Körperhaltung, eine erkannte Position innerhalb eines physischen Raums oder eine erkannte Größe und eine Reichweite, die eine Armlänge betrifft, die dem Benutzer zugeordnet ist. In einigen Implementierungen beinhaltet das Korrelieren des Bewegungsbereichs, der der umliegenden Umgebung zugeordnet ist, zu einem Bewegungsbereich, der der virtuellen Umgebung zugeordnet ist, des Weiteren, dass die mindestens eine Fähigkeit in der virtuellen Umgebung eine Sitzposition des Benutzers in Reaktion auf die Bestimmung berücksichtigt, dass ein Benutzer, der auf das erste elektronische Gerät zugreift, sich in einer Sitzposition befindet, während er auf das erste elektronische Gerät zugreift.
  • In einigen Implementierungen kann das Verfahren das Bestimmen einer virtuellen Konfiguration, die an den Bewegungsbereich angepasst ist, der der virtuellen Umgebung zugeordnet ist, für die Vielzahl von virtuellen Objekten das Bestimmen des physischen Aspekts des Benutzers, der dem ersten elektronischen Gerät zugeordnet ist, und das Abschätzen einer Reichweitenzone unter Verwendung des physischen Aspekts des Benutzers und des Bewegungsbereichs, der der umliegenden Umgebung zugeordnet ist, beinhalten. Die Reichweitenzone kann als ein Bereich in Reichweite des auf das erste elektronische Gerät zugreifenden Benutzers verwendet werden, und in dem eine Vielzahl von virtuellen Objekten in der virtuellen Umgebung platziert werden soll. In einigen Implementierungen wird der Bewegungsbereich, der der virtuellen Umgebung zugeordnet ist, unter Verwendung eines Beschleunigungssensors bestimmt, der auf dem zweiten elektronischen Gerät ausgeführt wird. In einigen Implementierungen beinhaltet das Nachverfolgen der Bewegung des zweiten elektronischen Geräts in der umliegenden Umgebung das Nachverfolgen der seitlichen Bewegung des zweiten elektronischen Geräts durch das Erfassen von Bildern eines Benutzers, der auf das erste elektronische Gerät und das zweite elektronische Gerät in der umliegenden Umgebung zugreift. In einigen Implementierungen ist das erste elektronische Gerät ein HMD-Gerät, während das zweite elektronische Gerät ein tragbares elektronisches Gerät ist.
  • In einigen Implementierungen beinhaltet das Bestimmen einer virtuellen Konfiguration, die an den Bewegungsbereich angepasst ist, der der virtuellen Umgebung zugeordnet ist, für die Vielzahl von virtuellen Objekten das Bestimmen einer Größe eines Benutzers, der auf das erste elektronische Gerät zugreift, und das Abschätzen einer Reichweitenzone unter Verwendung der Größe des Benutzers und des Bewegungsbereichs, der der umliegenden Umgebung zugeordnet ist. Die Reichweitenzone kann als ein Bereich in Reichweite des auf das erste elektronische Gerät zugreifenden Benutzers verwendet werden, und in dem eine Vielzahl von virtuellen Objekten in der virtuellen Umgebung platziert werden soll.
  • In einigen Implementierungen kann das Verfahren das Bestimmen einer virtuellen Konfiguration, die an einen Bewegungsbereich angepasst ist, der der virtuellen Umgebung zugeordnet ist, für eine Vielzahl von virtuellen Objekten das Erkennen eines vertikalen Versatzes des ersten elektronischen Geräts und die Verwendung des vertikalen Versatzes, um eine Vielzahl von Objekten in Reichweite eines Benutzers zu platzieren, der auf das erste elektronische Gerät zugreift, beinhalten.
  • Implementierungen der beschriebenen Systeme können Hardware, ein Verfahren oder einen Prozess oder eine Computersoftware auf einem computerzugänglichen Medium beinhalten.
  • Die Details einer oder mehrerer Implementierungen sind in den nachfolgenden zugehörigen Zeichnungen und der Beschreibung dargelegt. Weitere Merkmale ergeben sich aus der Beschreibung und den Zeichnungen, sowie aus den Ansprüchen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1A1B sind Diagramme, die Beispiele eines Benutzers darstellen, der mit einem Virtual-Reality(VR)-Raum interagiert.
  • 2A2B sind Blockdiagramme, die Beispiele eines Benutzers darstellen, der mit einem VR-Raum interagiert.
  • 3 ist ein Blockdiagramm, das eine VR-Ausrüstung darstellt, die mit einem HMD-Gerät in einem VR-Raum kommunikativ gekoppelt ist.
  • 4 ist eine exemplarische Implementierung eines Virtual-Reality-Systems, das gemäß Implementierungen und Techniken, wie hierin beschrieben, eine am Kopf anbringbare Anzeige und einen Controller beinhaltet.
  • 5 ist ein Ablaufdiagramm, das eine Implementierung eines Prozesses zum Erkennen eines Bewegungsbereichs und Präsentieren virtuellen Inhalts gemäß dem Bewegungsbereich darstellt.
  • 6 zeigt ein exemplarisches Computergerät und ein mobiles Computergerät, das verwendet werden kann, um die hier beschriebenen Techniken zu implementieren.
  • Gleiche Bezugszeichen in den verschiedenen Zeichnungen verweisen auf gleiche Elemente.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In Virtual-Reality(VR)-Anwendungen kann ein Benutzer in eine Umgebung versetzt werden, die physisch oder ergonomisch nicht angepasst ist, um der physischen Größe und/oder dem verfügbaren Bewegungsbereich des Benutzers zu entsprechen. Dies kann den Benutzer außerstande setzen, bequem mit virtuellen Objekten und Anwendungen im VR-Raum zu interagieren. Die Beurteilung der Umgebung, sowie die Bereitstellung von automatischen Anpassungen für die besagte Umgebung können es Benutzern ermöglichen, bequem mit den virtuellen Objekten und Anwendungen im VR-Raum zu interagieren. Ohne die zuvor erwähnten automatischen Anpassungen muss der Benutzer gegebenenfalls Positionen ändern (z. B. von sitzend zu stehend oder umgekehrt und/oder den Körper drehen oder wenden), um mit der Anwendung interagieren zu können. Die hierin beschriebenen Systeme und Verfahren können eine Bestimmung vorsehen, ob eine bestimmte Anwendung für einen bestimmten Benutzer verwendbar ist, basierend auf der gegenwärtigen physischen Position des Benutzers. Die Systeme und Verfahren können die Möglichkeit bereitstellen, kleinere Positionsanpassungen durchzuführen, um den Benutzerkomfort zu verbessern, und können zusätzlich größere Positionsanpassungen bereitstellen, um dabei zu helfen, die Anwendung für den Benutzer von der gegenwärtigen physischen Position des Benutzers aus (z. B. stehend, sitzend usw.) nutzbar zu machen.
  • Durch Beurteilen eines Bewegungsbereichs, der einem Benutzer in einer sitzenden, horizontalen oder stehenden Position zur Verfügung steht, können die in dieser Offenbarung beschriebenen Systeme und Verfahren die Benutzeroberfläche, die den VR-Raum und die dem VR-Raum zugeordneten Optionen anzeigt, anpassen, um diese mit dem verfügbaren, einem Benutzer zugeordneten Bewegungsbereich, abzustimmen. Falls beispielsweise die hierin beschriebenen Systeme und Verfahren erkennen, dass sich ein Benutzer in einem Stuhl mit einem Drehbewegungsbereich von 360 Grad und/oder in einem bestimmten Reichweitenradius vom Körper des Benutzers befindet, kann dem Benutzer im VR-Raum basierend auf dem sitzenden Benutzer und dem erkannten Bereich und der Reichweite des Benutzers eine spezifische Benutzeroberfläche auf einem HMD-Gerät wiedergegeben und bereitgestellt werden. Sofern bestimmt wird, dass der Benutzer steht, kann alternativ hierzu eine andere Benutzeroberfläche zur Wiedergabe ausgelöst und zum Anzeigen in dem HMD-Gerät bereitgestellt werden. Gleichermaßen kann, sofern bestimmt wird, dass sich der Benutzer hinlegt, eine andere Benutzeroberfläche zur Wiedergabe ausgelöst und zum Anzeigen in dem HMD-Gerät bereitgestellt werden.
  • In einigen Implementierungen kann ein Bewegungsbereich eines Benutzers durch einen Beschleunigungssensor erkannt werden, der mit einem oder mehreren Geräten verbunden ist, die kommunikativ mit Elementen gekoppelt sind, die den VR-Raum erzeugen. Dieser Beschleunigungssensor kann Teil eines Mobilgeräts sein, das kommunikativ mit einem HMD-Gerät, das den VR-Raum anzeigt, gekoppelt ist. In einigen Implementierungen können Annäherungen für einen Bewegungsbereich, der dem Benutzer zugeordnet ist, unter Verwendung von Kameras, Nachverfolgungssystemen, Nachverfolgungssensoren und dergleichen hergestellt werden.
  • Die in dieser Offenbarung beschriebenen Systeme und Verfahren können automatisch Benutzer und VR-Geräte beurteilen und einen VR-Raum, VR-Geräte, VR-Objekte und/oder zugehörige VR-Anwendungsinhalte an bestimmte physische Eigenschaften oder Merkmale anpassen, die dem Benutzer zugeordnet sind, der auf den VR-Raum zugreift. Die automatische Beurteilung und/oder Anpassung der VR-Anwendung und die damit verbundene Konfiguration der Hardware, die für die Interaktion in einer VR-Applikation verwendet wird, kann dem Anwender ermöglichen, tägliche computerbezogene Aktivitäten mit weniger Ergonomie-, Konfigurations- und Logistikunterbrechungen während des Tages durchzuführen, als wenn das System nicht für den Benutzer konfiguriert wäre. Das Hinzufügen dieser Automatisierung zu Virtual-Reality-Umgebungen (z. B. VR-Räumen) und zugehöriger Ausrüstung kann für eine relativ schnelle Konfiguration und Anzeige von virtuellen Inhalten und Oberflächen, Steuerelementen und Geräten sorgen, die in dem VR-Raum verwendet werden. Zum Beispiel können eine automatisierte Analyse und Platzierung von Steuerelementen, Benutzeroberflächen, Monitoren, Stühlen, virtuellen Inhalten und dergleichen eine Computerumgebung (physisch und virtuell) bereitstellen, die individuell auf den Benutzer, der auf die Computerumgebung zugreift, zugeschnitten ist.
  • In einigen Implementierungen kann die Anpassung des VR-Raums und der zugehörigen Ausrüstung in Reaktion auf das Erkennen von Benutzerbewegungen und/oder Bewegungsbereichen durchgeführt werden, die vom Benutzer während eines Zeitraums vorgenommen werden. Beispielsweise können in Reaktion auf das Erkennen von Benutzerbewegungen (z. B. über Bewegungs- und Standortnachverfolgung, Blickrichtungsnachverfolgung, Geräteverfolgung und/oder Sensormessungen usw.) die in dieser Offenbarung beschriebenen Systeme und Verfahren den Inhalt in der VR-Anwendung gemäß physischen Aspekten des Benutzers, der auf die VR-Anwendung zugreift, wiedergeben (bzw. die Wiedergabe der Inhalte auslösen). Die physischen Aspekte des Benutzers können unter anderem eine erkannte Position innerhalb des VR-Raumes, eine erkannte Position innerhalb des physischen Raums (z. B. stehend, sitzend, in Bewegung usw.), eine erkannte oder durch den Benutzer angegebene Größe, eine erkannte oder berechnete Reichweite, die sich auf eine beliebige oder sämtliche der Armlänge der Benutzergröße, den Kopfrotationswinkel, die Blickrichtung, die Mobilitätsfähigkeiten usw. bezieht, beinhalten.
  • Die hierin beschriebenen Systeme und Verfahren können zusätzlich bestimmte Körperhaltungen von Benutzern, die mit dem VR-Raum, der zugehörigen Ausrüstung und der VR-Anwendung interagieren, erkennen und können bestimmte Interaktionen, VR-Inhalte und Optionen, basierend auf den erkannten Körperhaltungen, bereitstellen. Zum Beispiel können die Systeme und Verfahren erkennen, ob der Benutzer sitzt oder steht. Das Erkennen kann verwendet werden, um spezifische Mobilitätsoptionen bereitzustellen oder zu verhindern. Wenn zum Beispiel der Benutzer während der Interaktion in einem virtuellen Spiel sitzt, kann die VR-Anwendung (mithilfe eines zugehörigen Controllers oder anderer Hardware- oder Software-basierten Sensoren) feststellen, dass der Benutzer sitzt und zusätzliche Bewegungsoptionen bereitstellen oder Bewegungsoptionen für die Sitzposition ändern. Wenn die VR-Anwendung (mithilfe eines zugehörigen Controllers oder anderer Hardware- oder Software-basierten Sensoren) bestimmt, dass der Benutzer während desselben virtuellen Spiels steht, kann die VR-Anwendung andere Bewegungsoptionen bereitstellen. Wenn also das virtuelle Spiel dem Benutzer ermöglicht, physisch zu gehen und sich umzudrehen, um mit dem im VR-Raum bereitgestellten Anwendungsinhalt zu interagieren, kann die VR-Anwendung diese Funktionen nutzen und zusätzliche interaktive Optionen ermöglichen, die nur zum Stehen dienen. Wenn stattdessen erkannt wird, dass der Benutzer sitzt (z. B. in einem Flugzeug, an einem Schreibtisch usw.), kann die VR-Anwendung Funktionen, die das Gehen oder Umdrehen betreffen, ausschalten und andere, geeignetere Optionen bereitstellen, die für einen sitzenden Benutzer von Vorteil sein können.
  • In einigen Implementierungen können die in dieser Offenbarung beschriebenen Systeme und Verfahren ein Muster von Benutzerbewegungen während eines Zeitraums erkennen und das erkannte Muster verwenden, um einen verfügbaren Bewegungsbereich für einen Benutzer und/oder einen eingeschränkten Bewegungsbereich für den Benutzer zu bestimmen. Zum Beispiel kann das Erkennen eines Musters das Erkennen, dass der Benutzer sitzt, steht, sich bewegt, nach etwas greift, sich umdreht und/oder umschaut, beinhalten. In einigen Implementierungen kann das Muster verwendet werden, um zu erkennen, dass sich ein Benutzer in einer sitzenden Position in einem Stuhl mit Seitenbewegungsfähigkeiten befindet. Beispielsweise kann das Muster darauf hinweisen, dass sich der Benutzer in einem Drehstuhl befindet, der die Fähigkeit hat, sich in einem Kreis (oder in einem Teil eines Kreises) von Seite zu Seite zu drehen.
  • In einigen Implementierungen kann ein erkanntes Muster verwendet werden, um festzustellen, ob der Benutzer steht oder geht. In anderen Implementierungen kann das Muster verwendet werden, um festzustellen, ob sich der Benutzer in einer sitzenden oder stehenden Position befindet. Die Mustererkennung und das Feststellen verschiedener Muster können unter Verwendung eines oder mehrerer maschineller Lernalgorithmen implementiert werden. In einigen Implementierungen können die Mustererkennung und die Musterdifferenzierung unter Verwendung von Lookup-Tabellen durchgeführt werden, beispielsweise durch Messen von Benutzerbewegungsbereichen und Vergleichen dieser Bewegungen mit bekannten Bewegungen und zugehörigen Bereichen (z. B. Einschränkungen) der bekannten Bewegungen.
  • In einigen Implementierungen können die hierin beschriebenen Systeme und Verfahren auf Sensoren zugreifen, die einer bestimmten VR-Hardware zugeordnet sind, um physische Aspekte über einen Benutzer, der auf den VR-Raum zugreift, zu erkennen. Beispielsweise kann ein Beschleunigungssensor auf dem Mobilgerät eines Benutzers, der mit dem VR-Raum kommunikativ gekoppelt ist, analysiert werden, um zu erkennen, ob der Benutzer in einem stationären Stuhl oder in einem Drehstuhl sitzt. Sofern die hierin beschriebenen Systeme erkennen, dass der Beschleunigungssensor des Mobilgeräts Messungen erfasst, die beständige Bewegungen von Seite zu Seite aufweisen, können die Systeme insbesondere bestimmen, dass sich der Benutzer in einem Drehstuhl befindet. Diese Erkennung kann verwendet werden, um virtuelle Inhalte und Objekte physisch in dem VR-Raum zu platzieren, sodass sie innerhalb der greifbaren Nähe eines Benutzers (z. B. in dessen Reichweite) oder in dessen Sichtfeld liegen. In einigen Implementierungen können die hierin beschriebenen Systeme und Verfahren feststellen, ob der Benutzer sitzt oder steht. Falls festgestellt wird, dass der Benutzer sitzt, kann die VR-Software konfiguriert werden, um Objekte in den VR-Raum unterhalb einer bestimmten Größe (z. B. 0,9 Meter) zu platzieren, um ein bequemes Ausgreifen und/oder Interaktionen mit dem VR-Raum für einen sitzenden Benutzer zu ermöglichen. In einigen Implementierungen können bestimmte Inhalte (z. B. virtuelle Objekte) in einen vom Benutzer zugänglichen Bereich abgebildet werden, indem sie die virtuellen Objekte schrumpfen, stapeln und/oder anderweitig anordnen, damit sie sich in Reichweite des sitzenden Benutzers befinden.
  • 1A1B veranschaulichen Beispiele eines Benutzers, der mit einem VR-Raum 100A–B interagiert. Die in den 1A1B dargestellten exemplarischen Implementierungen werden in Bezug auf einen oder mehrere Benutzer beschrieben, die ein HMD-Gerät tragen, das die umliegende Umgebung ausblendet (z. B. im Wesentlichen ausblendet), sodass das HMD-Gerät einen virtuellen Umgebungs-/VR-Raum erzeugt, wobei das Sichtfeld des Benutzers auf den vom HMD-Gerät erzeugten VR-Raum beschränkt ist. Die hierin beschriebenen Konzepte und Merkmale können jedoch auch auf andere Arten von HMD-Geräten und andere Arten von Virtual-Reality-Umgebungen und erweiterten Realitätsumgebungen angewendet werden. Zusätzlich können die in den hierin beschriebenen Figuren gezeigten Beispiele einen Benutzer beinhalten, der als eine Drittpersonenansicht des Benutzers dargestellt ist, der ein HMD-Gerät trägt und Controller, Computergeräte usw. hält.
  • In den dargestellten Beispielen wird eine Anzahl von Anwendungsfenstern mit interaktiven Inhalten angezeigt. Jeder VR-Raum 100A–B beinhaltet Anwendungen mit statischen und/oder interaktiven Inhalten. Die in den 1A–B gezeigten VR-Räume 100A–B stellen eine Umgebung dar, die es einem Benutzer (z. B. dem Benutzer 102A oder 102B) ermöglicht, sich um eine virtuelle Visualisierung einer beliebigen Anzahl von virtuellen Anwendungsfenstern und/oder anderen VR-Inhalten zu bewegen. Die korrekte physische Platzierung der virtuellen Anwendungsfenster und der VR-Inhalte können die Benutzerinteraktion mit diesen Inhalten erleichtern und die Benutzererfahrung im VR-Raum verbessern.
  • Im Allgemeinen können die VR-Räume 100A–B durch ein System erzeugt werden, das beispielsweise ein von einem Benutzer getragenes HMD-Gerät 104 beinhaltet, wie in den 1A1B dargestellt. Das HMD-Gerät 104 kann durch eine Vielzahl verschiedener Arten von Benutzereingaben gesteuert werden, und der Benutzer kann mit dem von dem HMD-Gerät 104 erzeugten VR-Raum durch eine Vielzahl verschiedener Arten von Benutzereingaben, einschließlich beispielsweise Hand-/Arm-Gesten, Kopfgesten, der Manipulation des HMD-Geräts 104, der Manipulation eines tragbaren Controllers, der betriebsfähig mit dem HMD-Gerät 104 gekoppelt ist, und dergleichen, interagieren. Der Benutzer kann ein tragbares elektronisches Gerät 105 bei sich führen (oder sich in der Nähe eines solchen befinden), das mit dem HMD-Gerät 104 kommunikativ gekoppelt sein kann.
  • Die in den 1A1B dargestellten Implementierungen werden in Bezug auf einen Benutzer beschrieben, der ein HMD-Gerät trägt, das die umliegende Umgebung im Wesentlichen ausblendet, sodass das HMD-Gerät eine virtuelle Umgebung (z. B. einen VR-Raum) erzeugt, wobei das Sichtfeld des Benutzers auf die virtuelle Umgebung beschränkt ist, die durch das HMD-Gerät erzeugt wurde. Die nachfolgend in Bezug auf die 1A1B beschriebenen Konzepte und Merkmale können zudem auf andere Arten von HMD-Geräten und andere Arten von Virtual-Reality-Umgebungen und erweiterten Realitätsumgebungen, wie nachfolgend beschrieben, angewendet werden.
  • Wie in 1A dargestellt, trägt ein Benutzer 102A ein HMD-Gerät 104 und ist einem Raum zugewandt, der einen VR-Raum 106A definiert. Das HMD-Gerät 104 kann Bilder erfassen und/oder Informationen sammeln, die Merkmale in der umliegenden Umgebung des Benutzers definieren, um virtuelle Inhalte in dem VR-Raum 106A darzustellen. Die von dem HMD-Gerät 104 gesammelten Bilder und Informationen können dann durch das HMD-Gerät 105 im VR-Raum 106A verarbeitet werden. Zusätzlich können Informationen von Sensoren (nicht dargestellt) erhalten werden, um die virtuellen Inhalte basierend auf einer Benutzerinteraktion in dem VR-Raum 106A zu aktualisieren. Die Sensoren können die Hände, Füße oder andere dem Benutzer zugehörige Körperteile, sowie Rotationen dieser Elemente mit sechs Grad Rotationsfreiheit nachverfolgen.
  • Die Sensoren können die Benutzerposition, die Bewegung und die Interaktion im VR-Raum 106A erkennen und nachverfolgen. In einigen Implementierungen können die Sensoren Teil des Geräts 105 oder eines anderen Geräts sein. Das Nachverfolgen kann dazu verwendet werden, die VR-Anwendungsergonomie dynamisch an bestimmte physische Eigenschaften des Benutzers 102A anzupassen. Wie dargestellt, kann der Benutzer 102A in dem VR-Raum 106A mit einer Reihe von offenen und verfügbaren Benutzerauswahlen und Interaktionen interagieren. Die hierin beschriebenen Systeme können feststellen, dass der Benutzer 102A steht und somit eine bestimmte Platzierung von Inhalten, Menüs, Steuerelementen usw. bereitstellen, die der Benutzer basierend auf seiner Standposition erreichen kann. Beispielsweise können die Anwendungen 108, 110, 112 und 114 innerhalb eines erreichbaren Abstands vom Benutzer bereitgestellt werden. Die erreichbaren Abstände können sich auf die physischen Eigenschaften des stehenden Benutzers 102A beziehen, einschließlich, aber nicht beschränkt auf, die Größe, Armlänge, Kopfdrehung, Blickrichtung, Mobilitätsfähigkeiten und dergleichen.
  • Der Benutzer 102A kann eine virtuelle Erfahrung erleben, indem er auf die Anwendung 108, 110 und 112 innerhalb des VR-Raums 106A zugreift und sich gegebenenfalls einen in der Anwendung 114 gezeigten Film ansieht. Die hierin beschriebenen Systeme können Abstände zwischen dem Benutzer 102A im VR-Raum zu virtuellen Objekten (z. B. Anwendungen 108114 in dem dargestellten Beispiel) bestimmen. Der Abstand kann verwendet werden, um Objekte, Steuerelemente, Menüs und andere VR-Objekte innerhalb des VR-Raums 106A zu platzieren. Die Platzierung kann auf jeden einzelnen Benutzer zugeschnitten werden.
  • In einigen Implementierungen können die hierin beschriebenen Systeme eine Reichweitenzone für einen Benutzer bestimmen. Die Reichweitenzone kann sich auf die maximale Armlänge eines Benutzers oder einen erreichbaren Bereich innerhalb eines physischen Raums beziehen. Ein solcher Reichweitenbereich kann zwischen dem physischen Raum und dem virtuellen Raum korrelieren und von dem physischen Raum in den virtuellen Raum übersetzt werden. Zum Beispiel können die Systeme eine Größe des Benutzers berechnen und die Größe in etwa der Hälfte teilen, um eine geschätzte Reichweitenzone zu erhalten. Dies kann für jeden Benutzer konfiguriert werden und kann für Benutzern im VR-Raum zur Verfügung gestellte Anwendungen und Objekte Auslöser für Abstandsplatzierungsregeln bereitstellen. Ebenso können die Systeme eine Größe von bestimmten dreidimensionalen (3D) Flächen verwenden, mit denen der Benutzer im physischen oder VR-Raum interagieren kann, um eine komfortable und ergonomische Platzierung anderer physischer oder VR-Objekte zu bestimmen. Beispielsweise kann, falls der Benutzer ein Musikinstrument, wie z. B. Schlagzeug oder Klavier, spielt, die Handplatzierung und Interaktion mit dem Instrument verwendet werden, um andere Interaktions- oder Benutzeroberflächenkomponenten bereitzustellen. Beispielsweise können die Systeme die Instrumenteninteraktion und -platzierung als Möglichkeit verwenden, die Platzierung der Tastatur und die Interaktion, die Menüplatzierung, die Kopfplatzierung, die Blickrichtung, die Schaltflächen- oder Bedienelement-Platzierung, die Listenplatzierung und dergleichen zu bestimmen.
  • In einigen Implementierungen kann ein physischer Aspekt eines Benutzers durch die hier beschriebenen Systeme ermittelt werden. Beispielsweise kann das System 300 verwendet werden, um einen oder mehrere physische Aspekte eines Benutzers, der auf ein elektronisches Gerät (z. B. HMD 104) zugreift, zu erkennen oder festzustellen, einschließlich, jedoch nicht beschränkt auf eine erkannte Position innerhalb der virtuellen Umgebung für den Benutzer, einer Körperhaltung des Benutzers, einer erkannten Position innerhalb eines physischen Raums für den Benutzer, einer erkannten Größe des Benutzers und/oder einer Reichweite, die sich auf eine dem Benutzer zugeordnete Armlänge bezieht. Weitere physische Aspekte eines Benutzers, der auf die virtuelle Umgebung zugreift, können durch die hierin beschriebenen Systeme, Sensoren und Geräte erkannt werden.
  • Nach Erkennen eines oder mehrerer physischer Aspekte des Benutzers, kann das System 300 den Bewegungsbereich, der der umliegenden Umgebung zugeordnet ist, mit einem Bewegungsbereich korrelieren, der der virtuellen Umgebung zugeordnet ist. Die Korrelation kann das Bestimmen, dass der Benutzer in der umliegenden (z. B. physischen) Umgebung steht oder sitzt, und die Verwendung dieser Informationen zur Bestimmung von nützlichen Bewegungsbereichen für den Benutzer in der virtuellen Umgebung, beinhalten. Beispielsweise kann das System 300 in Reaktion auf das Bestimmen, dass ein Benutzer, der auf das erste elektronische Gerät (z. B. ein HMD-Gerät) zugreift, während des Zugriffs auf das HMD-Gerät sitzt, zumindest eine Fähigkeit in der virtuellen Umgebung aktivieren, um die Sitzposition des Benutzers zu berücksichtigen. Eine exemplarische Fähigkeit kann einen Reichweitenbereich (oder eine Grenze) für den Arm des Benutzers beinhalten. Das System 300 kann die Grenzen oder Fähigkeiten der physischen Reichweite berücksichtigen, die dem Benutzer zur Verfügung steht, und kann Inhalte und/oder Steuerelemente innerhalb der dem Benutzer zur Verfügung stehenden Grenzen der Reichweite platzieren.
  • In dem in 1A dargestellten Beispiel kann das System (z. B. durch Erkennen mithilfe von Sensoren) feststellen, dass der Benutzer 102A steht und z. B. einen Abstand von (z. B. Anwendungen 108, 110, 112, 114) zur Hand des Benutzers berechnen kann. Die Berechnung kann verwendet werden, um einen VR-Raum bereitzustellen, der für den Benutzer ergonomisch und nützlich ist, sodass der Benutzer in bequemer Weise auf die Anwendungen 108114 zugehen kann und mit diesen interagieren kann, ohne sich beim Greifen nach einer der Anwendungen 108114 zu überfordern. In einigen Implementierungen kann während der Interaktion, die in dem VR-Raum 106A dargestellt ist, die Anwendung 112 vor der Anwendung 110 bereitgestellt werden, um den Benutzer über eine E-Mail zu benachrichtigen. Eine auf dem Benutzer 102A basierende Abstandsbestimmung kann vorgenommen werden, um eine bequeme Platzierung der Benachrichtigung der durch Anwendung 112 erzeugten E-Mail von „A. Faaborg“ zu bestimmen. Die Bestimmung kann die Anwendung 112 in einem Bereich bereitstellen, der für den Benutzer 102A in bequemer Weise erreichbar ist, während sich der Benutzer in einer stehenden Position befindet.
  • Wie unter Bezugnahme auf 1B dargestellt, sitzt ein Benutzer 102B in einem Stuhl 116 und greift, ähnlich wie in 1A, auf Anwendungen 108114 in einem VR-Raum 106B zu. In diesem Beispiel sind die Anwendungen 108114 für die Komfort- und Reichweitenzone eines sitzenden Benutzers (z. B. Benutzer 102B) angeordnet. Zum Beispiel wurden die Anwendungen 108114 so von links nach rechts angeordnet, als ob der Benutzer an einem Schreibtisch sitzen würde. Die zusätzlichen Anwendungen 118, 120 und 122 werden hinter der Anwendung 110 und der Anwendung 112 gestapelt, um die Reichweite des sitzenden Benutzers 102B zu verbessern, falls der Benutzer auf die Anwendungen 118122 zugreifen möchte. Der VR-Raum 106B beinhaltet zusätzlich eine Tastatur 124 und ein virtuelles Menü 126. Die Tastatur 124 kann virtuell sein und in einer Position dargestellt werden, die für den Benutzer zum Eingeben erreichbar ist, ohne die Tastatur anpassen zu müssen. Das virtuelle Menü 126 ist auf einem virtuellen Schreibtisch vorgesehen, sodass der Benutzer seinen Arm so bewegen kann, um eine Anzahl von Menüpunkten zum Interagieren in dem VR-Raum 106B auszuwählen. Die Platzierung der Anwendungen 108122, der Tastatur 124 und des virtuellen Menüs 126 kann auf Grundlage von Benutzerfähigkeiten bestimmt werden, die sich auf eine Bewegung und/oder eine Einschränkung beziehen. Beispielsweise können die hierin beschriebenen Systeme feststellen, dass der Benutzer sitzt und in der Lage ist, sich in der Sitzposition von Seite zu Seite zu bewegen. In Reaktion auf die Feststellung kann der VR-Raum 106B in einer für einen sitzenden Benutzer komfortablen Weise bereitgestellt werden. In einigen Implementierungen können die Systeme spezifische Benutzerabstände, Längen und Fähigkeiten erkennen und diese Informationen verwenden, um einen VR-Raum bereitzustellen, der für den spezifischen Benutzer angepasst und konfiguriert ist. In einigen Implementierungen können die Informationen Messungen beinhalten, die dem Benutzer zugeordnet sind. Die Informationen können verwendet werden, um eine Länge und/oder Breite von bestimmten Elementen in dem VR-Raum 106B abzuschätzen. Beispielsweise kann der sitzende Benutzer eine maximale Reichweitenzone aufweisen, die eine Länge 128 und eine Breite 130 der virtuellen Schreibtisch- und Anwendungsanordnung vor dem Benutzer vorschreiben kann.
  • In einem nicht einschränkenden Beispiel kann eine Filmanwendung 114 einem stehenden Benutzer angezeigt werden, wie in 1A dargestellt. Die Filmanwendung 114 ist von dem Benutzer auf einer fernen Wand des VR-Raums 106A beabstandet. Da festgestellt wurde, dass der Benutzer steht und in der Lage ist, in dem VR-Raum 106A umherzugehen, kann der Benutzer leicht auf den Inhalt in der Filmanwendung 114 zugreifen, indem er sich zu der Anwendung 114 dreht oder auf diese zugeht. Im Gegensatz dazu kann es dem sitzenden Benutzer 102B möglicherweise schwer fallen, sich den Inhalt in der Anwendung 114 in 1A anzusehen. Der sitzende Benutzer 102B sitzt gegebenenfalls zu niedrig und ist zu weit entfernt, um auf die Anwendung 114 zuzugreifen und mit dieser zu interagieren. Dementsprechend können die hierin beschriebenen Systeme erkennen, dass der Benutzer 102B sitzt und die Anordnung des VR-Raums von dem Inhalt, der in VR-Raum 106A bis VR-Raum 106B dargestellt ist, modifizieren. Dies kann für den sitzenden Benutzer 102B von Vorteil sein und kann es dem Benutzer ermöglichen, eine Augen- und/oder Nackenbelastung zu vermeiden, da die in 1B dargestellte Anwendung 114 näher liegt und sich auf den Arbeitsbereich (z. B. die persönliche Umgebung) des sitzenden Benutzers 102B anpassen lässt. Ähnliche Anpassungen können vorgenommen werden, um VR-Räume für mobile und nicht-mobile Benutzerszenarien zu modifizieren.
  • In einigen Implementierungen kann der VR-Raum 106B konfiguriert werden, um bewegliche virtuelle Inhalte bereitzustellen, die den Zugriff auf die virtuellen Inhalte für einen sich bewegenden Benutzer oder einen stationären Benutzer ermöglichen. Beispielsweise können die beweglichen virtuellen Inhalte virtuelle Objekte, Anwendungen, Steuerelemente und/oder grafische Elemente, die in einem VR-Raum angezeigt werden können, beinhalten. In einigen Implementierungen können die beweglichen virtuellen Inhalte für die Interaktion mit einem Benutzer konfiguriert werden, der in einem Drehstuhl sitzt, der seitliche Schwenkbewegungen ermöglicht. In einigen Implementierungen können die beweglichen virtuellen Inhalte konfiguriert werden, um sich in Richtungen zu bewegen, die einer einem sitzenden Benutzer zugeordnete Reichweite förderlich sind. In einigen Implementierungen können die beweglichen virtuellen Inhalte für die Interaktion mit einem stehenden und/oder mobilen Benutzer konfiguriert werden.
  • In einigen Implementierungen können die beweglichen virtuellen Inhalte konfiguriert werden, um in geeigneten Abständen und Zeitschwellen bereitgestellt zu werden, die einen sich bewegenden Benutzer begünstigen. In einigen Implementierungen können die in dieser Offenbarung beschriebenen Systeme Änderungen in der Position des Benutzers (z. B. sitzend, stehend, sich bewegend) erkennen, und können die erkannte Änderung verwenden, um aktualisierte Regeln und Konfigurationen bereitzustellen, die sich darauf beziehen, wie virtuelle Inhalte innerhalb des VR-Raums 106B verschoben und konfiguriert werden.
  • Wie in 2A dargestellt, trägt ein Benutzer 202A ein HMD-Gerät 204 und ist einem Raum zugewandt, der einen VR-Raum 206A definiert. Der Benutzer 202A sitzt in einem Stuhl 208, wobei das Nachverfolgungssystem 210 erkennen kann, dass der Benutzer 202A sitzt. In einem nicht einschränkenden Beispiel kann das Verfolgungssystem die VR-Geräten (z. B. Controllern, HMD-Geräten, mobilen Geräten usw.) zugeordneten Ortsdaten als Basis für die Korrelation von Daten verwenden, wie z. B. Anzeigeinformationen, Sicherheitsinformationen, Benutzerdaten oder andere erhaltbare Daten. Diese Daten können verwendet werden, um ergonomisch positionierte virtuelle Inhalte für den Benutzer 202A bereitzustellen, der auf den VR-Raum 206A zugreift.
  • In einigen Implementierungen kann das Nachverfolgungssystem 210 verwendet werden, um ein oder mehrere Geräte nachzuverfolgen, die verwendet werden, um auf den VR-Raum 206A zuzugreifen. Die Geräte können auf Grundlage von Positions-, Geschwindigkeits- und/oder Beschleunigungsdaten nachverfolgt werden, die von bestimmten Computergeräten, Controllern und/oder Basisstationsgeräten, die in dem VR-Raum dargestellt sind, erhalten werden können. Beispielsweise können Daten von einer inertialen Messeinheit (IMU), die einem oder mehreren Geräten zugeordnet ist, erhalten werden, während Standortdaten von einem oder mehreren nachverfolgten Objekten (z. B. Controllern, HMD-Geräten) und/oder Basisstationen, die dem VR-Raum 206A zugeordnet sind, erhalten werden können.
  • Zusätzliche Daten können außerdem von einer Anzahl interner Sensoren erhalten werden, die Geräten zugeordnet sind, die auf den VR-Raum 206A zugreifen. Diese Daten können sich auf Beschleunigungs- und Gyroskopdaten, Orientierungsdaten, Korrekturdaten und/oder andere Sensordaten beziehen, die allgemeine oder spezifische Standortinformationen angeben. Die hierin beschriebenen Systeme können diese Daten verwenden, um sechs Freiheitsgrade von Positionsinformationen für ein nachverfolgtes Objekt innerhalb eines vordefinierten Bereichs mit einem oder mehreren anderen Geräten innerhalb des vordefinierten Bereichs zu korrelieren. Der vordefinierte Bereich kann der gesamte VR-Raum, ein Teilbereich des VR-Raums oder ein anderer messbarer Bereich in Bezug auf einen Benutzer sein, der auf den VR-Raum zugreift.
  • In einigen Implementierungen können die hierin beschriebenen Systeme und Verfahren auf Sensoren zugreifen, die einer bestimmten VR-Hardware zugeordnet sind, um bestimmte physische Aspekte eines Benutzers zu erkennen, der auf den VR-Raum 206A zugreift. Beispielsweise kann ein Beschleunigungssensor auf dem Mobilgerät eines Benutzers, der mit dem VR-Raum kommunikativ gekoppelt ist, analysiert werden, um zu erkennen, ob der Benutzer in einem stationären Stuhl oder in einem Drehstuhl sitzt. Wenn die Systeme feststellen, dass sich der Benutzer 202A sitzend in einem Stuhl 208 befindet, können die Systeme die virtuellen Inhalte 212A in einer angewinkelten Position darstellen, um den Blickwinkel des sitzenden Benutzers 202A zu berücksichtigen. Sofern die hierin beschriebenen Systeme erkennen, dass der Beschleunigungssensor eines dem Benutzer 202A gehörenden Mobilgeräts Messungen erfasst, die Bewegungen von Seite zu Seite aufweisen, die sich nicht in einer vertikalen Richtung ändern, können die Systeme insbesondere bestimmen, dass sich der Benutzer 202A in einem Drehstuhl befindet. Diese Erkennung kann verwendet werden, um die virtuellen Inhalte 212A physisch so in dem VR-Raum 206A zu platzieren, dass diese innerhalb der Reichweite und/oder des sichtbaren Bereichs liegen, der dem Benutzer 202A zugeordnet ist.
  • Die Systeme können stattdessen feststellen, dass ein Benutzer (z. B. Benutzer 202B in 2B) steht, wie in 2B dargestellt. In diesem Beispiel kann ein VR-Raum 206B dem Benutzer in dem HMD-Gerät 204 mit den Steuerelementen und den virtuellen Inhalten 212B in einem Bereich des VR-Raums 206B bereitgestellt werden, der außerhalb der Reichweite liegt, da der Benutzer 202B zu den Inhalten 212B gehen kann, um mit den Inhalten 212B zu interagieren oder diese zu modifizieren. Zudem können die virtuellen Inhalte 212B nicht so konfiguriert sein, dass sie gegenüber einem sitzenden Benutzer angewinkelt sind, da festgestellt wurde, dass der Benutzer 202B steht.
  • In einigen Implementierungen können Anwendungsentwickler Variablen und Regeln für Eigenschaften virtueller Inhalte (z. B. virtueller 3D-Objekte oder -Anwendungen) in einer VR-Anwendung implementieren. Beispielsweise können Anwendungsentwickler für eine beliebige Anzahl virtueller Objekte einen oder mehrere konfigurierbare Aspekte auf Grundlage der erkannten Benutzereigenschaften konfigurieren. Diese Benutzereigenschaften können Größe, Gewicht, Körperhaltung, Armlänge, körperliche Fähigkeiten oder Behinderungen, Geh- oder Bewegungsgeschwindigkeiten, Benutzerpositionen (z. B. sitzend, stehend, liegend) usw. beinhalten. Beliebige oder sämtliche Benutzereigenschaften können verwendet werden, um bestimmte Modi oder Optionen für virtuelle Objekte im VR-Raum auszulösen.
  • In einem nicht einschränkenden Beispiel kann der Benutzer 202B ein Mobiltelefon in seiner Tasche (nicht dargestellt) haben. Das Mobiltelefon kann einen Beschleunigungssensor oder einen anderen Sensor beinhalten, um zu erkennen, dass der Benutzer steht und in der umliegenden Umgebung umhergeht. Wie in 2B dargestellt, können die Systeme ebenso einen oder mehrere Sensoren (z. B. Ortungssystem 210) verwenden, um – auf Grundlage einer erkannten Gehbewegung in der umliegenden Umgebung – zu erkennen, dass der Benutzer 202B steht. Die Bewegungsfähigkeiten können für die Verwendung bei der Konfiguration virtueller Interaktionen und der virtuellen Objektplatzierung in der Umgebung des Benutzers 102B abgeschätzt oder direkt gemessen werden.
  • In einigen Implementierungen können die hierin beschriebenen Systeme und Verfahren verwendet werden, um herauszufinden, wie ein bestimmtes Video (z. B. sphärisches Video) einem Benutzer im VR-Raum angezeigt wird. Zum Beispiel kann ein Regisseur ein sphärisches Video erstellen und die vertikale und horizontale Platzierung der Szene, die auf einem HMD-Gerät angezeigt wird, basierend auf dem Bewegungsbereich (oder nichtvorhandenem Bewegungsbereich) des Benutzers bestimmen. Sofern die hierin beschriebenen Systeme feststellen, dass ein Benutzer in einem stationären Stuhl sitzt, können die Systeme insbesondere konfiguriert werden, um bestimmte Szenenansichten für das sphärische Video zurückzusetzen. Dementsprechend kann das Video für jede neue Szene einen Blickwinkel direkt vor dem Benutzer bereitstellen. Das heißt, das Video kann für jeden Benutzer basierend auf den erkannten Benutzerqualitäten und Bewegungsbereichen unterschiedlich wiedergegeben werden.
  • In einigen Implementierungen können die VR-Inhalte entsprechend der Benutzergröße platziert werden. Das HMD-Gerät, die Nachverfolgungssysteme und/oder die Kameras können verwendet werden, um die vertikale Position des HMD-Geräts zu erkennen und können VR-Inhalte gemäß der erkannten vertikalen Position bereitstellen. Beispielsweise kann ein Benutzer, der auf einem Knautschsack sitzt, ein HMD-Gerät in einem Abstand von etwa 0,6 Metern vom Boden verwenden, während ein stehender Benutzer das HMD-Gerät in einem Abstand von etwa 0,9 bis etwa 1,8 Meter verwenden kann, wobei die hierin beschriebenen Systeme diese Abstände automatisch erkennen können, um die VR-Inhalte auf dem HMD-Gerät in einer spezifischen, benutzerbasierten Größe anzuzeigen.
  • 3 ist ein Blockdiagramm, das Steuerelemente darstellt, die mit einem HMD-Gerät (z. B. HMD-Gerät 303) in einem VR-Raum kommunikativ gekoppelt sind. Im Betrieb kann das System 300 konfiguriert sein, um einem VR-Raum eine beliebige Anzahl von virtuellen Objekten bereitzustellen, die mit VR-Anwendungssoftware, Computern und Controllern manipuliert werden können und die konfiguriert sind, um mit dem VR-Raum zu interagieren. Beispielsweise können die Controller 301 und 302 mit dem HMD-Gerät 303 veknüpft werden, um eine immersive virtuelle Umgebung zu erzeugen. Controller 301 und Controller 302 können mit dem HMD-Gerät 303 gepaart werden, um beispielsweise eine Kommunikation zwischen den Geräten herzustellen und um die Benutzerinteraktion mit dem VR-Raum zu erleichtern. In einigen Implementierungen ist weder Controller 301 noch 302 mit dem HMD-Gerät 303 gepaart, sondern sie werden stattdessen einzeln durch ein Nachverfolgungssystem (z. B. das Verfolgungssystem 110) in einer VR-Anwendung oder ein anderes externes Nachverfolgungsgerät nachverfolgt.
  • Wie in 3 dargestellt, beinhaltet der Controller 301 ein Sensiersystem 360 und ein Steuersystem 370. Das Sensiersystem 360 kann einen oder mehrere verschiedene Arten von Sensoren beinhalten, darunter beispielsweise einen Lichtsensor, einen Audiosensor, einen Bildsensor, eines Abstands-/Näherungssensor, einen Positionssensor (z. B. eine inertiale Messeinheit (IMU) einschließlich eines Gyroskops und Beschleunigungssensors) und/oder anderer Sensoren und/oder unterschiedlicher Kombination(en) von Sensoren, darunter auch beispielsweise einen Bildsensor, der positioniert ist, um die Blickrichtung eines Benutzers zu erkennen und nachzuverfolgen. 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. Sensiersystem 360 und/oder Steuersystem 370 können abhängig von einer bestimmten Implementierung weitere oder weniger Geräte beinhalten.
  • Der Controller 301 kann zudem mindestens einen Prozessor 390 in Kommunikation mit dem Sensiersystem 360 und dem Steuersystem 370, einen Speicher 380 und ein Kommunikationsmodul 350, das eine Kommunikation zwischen dem Controller 301 und einem anderen externen Gerät, wie beispielsweise Controller 302 und/oder HMD-Gerät 303, bereitstellt, beinhalten.
  • Controller 302 kann ein Kommunikationsmodul 306 beinhalten, das eine Kommunikation zwischen dem Controller 301 und einem anderen externen Gerät, wie beispielsweise dem HMD-Gerät 303, bereitstellt. Zusätzlich zum Bereitstellen des Datenaustauschs zwischen Controller 301 und Controller 302 und HMD-Gerät 303 kann das Kommunikationsmodul 306 auch konfiguriert sein, um sich mit einer Anzahl von anderen elektronischen Geräten, Computern und/oder Controllern, die dem VR-Raum und System 300 zugänglich sind, zu verbinden und/oder mit denselben zu kommunizieren.
  • Der Controller 302 kann ein Sensiersystem 304 mit einem Bildsensor und einem Audiosensor, wie beispielsweise in einer Kamera und einem Mikrofon, einer IMU oder einem Berührungssensor, der in einer berührungsempfindlichen Oberfläche eines Controllers oder eines Smartphones enthalten ist, und andere dieser Sensoren und/oder verschiedener Kombinationen von Sensoren beinhalten. Mindestens ein Prozessor 309 kann mit dem Sensiersystem 304 und einem Steuersystem 305 in Kommunikation stehen. Das Steuersystem 305 kann Zugriff auf einen Speicher 308 haben und den Gesamtbetrieb des Controllers 302 steuern.
  • Ähnlich wie Controller 301 kann das Steuersystem 305 des Controllers 302 beispielsweise ein Einschalt-/Pause-Steuergerät, Audio- und Video-Steuergeräte, ein optisches Steuergerät, ein Übergangssteuergerät und/oder andere derartige Geräte und/oder verschiedene Kombinationen von Geräten beinhalten. Im Allgemeinen können die in dieser Offenbarung beschriebenen Systeme und Verfahren die Benutzerhände oder Controller 301 und 302 nachverfolgen und Benutzerinteraktionsmuster und Gesten analysieren, die diesen Händen und/oder Controllern 301 und 302 in dem VR-Raum zugeordnet sind, um die Absicht dieser Interaktionsmuster und Gesten zu bestimmen.
  • In einigen Implementierungen können die hierin beschriebenen Systeme und Verfahren verwendet werden, um Benutzereinschränkungen in der Bewegung zu erkennen. Diese Einschränkungen können als Regeln oder Auslöser konfiguriert werden, um dem Benutzer in einer bestimmten Weise virtuelle Inhalte zur Verfügung zu stellen. In einigen Implementierungen, wenn die Systeme erkennen, dass sich der Benutzer von einem vorderen Zentrum des Benutzers in dessen umliegender Umgebung etwa zehn Grad nach links und rechts bewegt. Die Systeme können folgern, dass die Reichweite eine Begrenzung ist und können sicherstellen, dass Steuerelemente, Objekte und andere virtuelle Inhalte in die für den zwanzig Grad Raum verfügbare Ansicht und periphere Ansicht der verfügbaren Bewegung platziert werden können.
  • 4 zeigt eine exemplarische Implementierung eines Virtual-Reality-Systems, das ein am Kopf anbringbares Anzeigegerät und einen Controller beinhaltet, gemäß Implementierungen und Techniken, die hierin beschrieben werden. In der in 4 dargestellten exemplarischen Implementierung hält ein Benutzer, der ein HMD-Gerät 402 trägt, ein tragbares elektronisches Gerät 404. Das tragbare elektronische Gerät 404 kann beispielsweise ein Controller, ein Smartphone, ein Joystick oder ein anderer tragbarer Controller sein, der zur Interaktion in dem von dem HMD-Gerät 402 (und/oder anderer virtueller Realitätshardware und Software) erzeugten VR-Raum mit dem HMD-Gerät 402 gepaart werden und mit diesem kommunizieren kann. Das tragbare elektronische Gerät 404 kann beispielsweise über eine drahtgebundene oder eine drahtlose Verbindung, wie beispielsweise eine WLAN- oder Bluetooth-Verbindung, mit dem HMD-Gerät 402 betriebsfähig gekoppelt oder gepaart werden. Diese Kopplung oder betriebsfähige Kopplung des tragbaren elektronischen Geräts 404 und HMD-Geräts 402 kann eine Kommunikation zwischen dem Controller 404 und HMD-Gerät 402 und den Austausch von Daten zwischen dem tragbaren elektronischen Gerät 404 und dem HMD-Gerät 402 bereitstellen. Dies kann ermöglichen, dass das tragbare elektronische Gerät 404 als ein Controller in Kommunikation mit dem HMD-Gerät 402 fungiert, um in dem von dem HMD-Gerät 402 erzeugten VR-Raum zu interagieren. Das heißt, das tragbare elektronische Gerät 404 kann in einer Vielzahl von verschiedenen Arten manipuliert werden. Die Manipulation des tragbaren elektronischen Geräts 404 kann in eine entsprechende Auswahl oder Bewegung oder eine andere Art von Interaktion in der durch das HMD-Gerät 402 erzeugten immersiven virtuellen Umgebung übersetzt werden. Dies kann beispielsweise eine Interaktion mit, Manipulation von, oder Anpassung eines virtuellen Objekts, eine Änderung des Maßstabs oder der Perspektive in Bezug auf die virtuelle Umgebung, eine Bewegung (z. B. Navigation, Teleportation, Transport) des Benutzers von einem aktuellen Standort in der virtuellen Umgebung zu einem ausgewählten Ziel oder Merkmal in der virtuellen Umgebung, sowie andere derartige Interaktionen beinhalten.
  • 5 ist ein Ablaufdiagramm, das eine Ausführungsform eines Prozesses 500 zum Erkennen eines Bewegungsbereichs und Präsentieren virtuellen Inhalts gemäß dem Bewegungsbereich darstellt. Bei Block 502 kann der Prozess 500 das Erzeugen einer virtuellen Umgebung mit einem ersten elektronischen Gerät beinhalten, das mit einem zweiten elektronischen Gerät kommunikativ gekoppelt ist. Beispielsweise kann ein HMD-Gerät 402 diese virtuelle Umgebung erzeugen und kommunikativ und/oder betriebsfähig mit einem tragbaren elektronischen Gerät 402 gekoppelt sein. Das tragbare elektronische Gerät 402 kann dem Benutzer gehören und Bewegungen auf Grundlage von Benutzerbewegung nachverfolgen. Beispielsweise kann der Prozess 500 bei Block 504 ein Nachverfolgen der Bewegung des zweiten elektronischen Geräts (z. B. des tragbaren elektronischen Geräts 404) in einer umliegenden Umgebung beinhalten. In einigen Implementierungen kann die Bewegung eine seitliche Bewegung (z. B. von Seite zu Seite) sein, die anzeigt, dass der Benutzer in einem Drehstuhl sitzt.
  • In einigen Implementierungen kann das Nachverfolgen der Bewegung des zweiten elektronischen Geräts in der umliegenden Umgebung das Nachverfolgen einer seitlichen Bewegung durch das Erfassen von Bildern eines Benutzers, der auf das erste elektronische Gerät (z. B. HMD-Gerät 402) zugreift, und das zweite elektronische Gerät (z. B. das tragbare elektronische Gerät 404), während sich der Benutzer in der umliegenden Umgebung befindet, beinhalten.
  • In einigen Implementierungen beinhaltet das Nachverfolgen der Bewegung des zweiten elektronischen Geräts in der umliegenden Umgebung das Analysieren von auf dem zweiten elektronischen Gerät gespeicherten Beschleunigungssensordaten. Zum Beispiel können Beschleunigungssensordaten erkannt und verwendet werden, um zu bestimmen, ob ein Benutzer, der auf Geräte 402 und 404 zugreift, in einem Drehstuhl sitzt.
  • Bei Block 506 umfasst der Prozess 500 das Bestimmen, unter Verwendung eines oder mehrerer Sensoren, eines der Bewegung in der umliegenden Umgebung zugeordneten Bewegungsbereichs. Zum Beispiel kann eine beliebige Anzahl von Sensoren, die mit Gerät 402 oder Gerät 404 kommunikativ gekoppelt sind, Bewegung nachverfolgen, wobei diese Bewegung einen spezifischen Bewegungsbereich während eines Zeitraums beinhalten kann. In einigen Implementierungen können die Sensoren dem zweiten elektronischen Gerät zugeordnet sein. In einigen Implementierungen können die Sensoren dem zweiten elektronischen Gerät zugeordnet sein. Die hier beschriebenen Systeme können die Bewegung während eines Zeitraums nachverfolgen, um den Bewegungsbereich zu ermitteln. Der Bewegungsbereich kann zur Bestimmung der Benutzreichbereiche und zur Platzierung von virtuellen Objekten verwendet werden. In einigen Implementierungen kann der Bewegungsbereich unter Verwendung eines Beschleunigungssensors bestimmt werden, der auf dem zweiten elektronischen Gerät (z. B. dem tragbaren elektronischen Gerät 404) ausgeführt wird.
  • Bei Block 508 beinhaltet der Prozess 500 das Korrelieren und/oder Übersetzen des Bewegungsbereichs, der der umliegenden Umgebung zugeordnet ist, zu einem Bewegungsbereich, der der virtuellen Umgebung zugeordnet ist. Beispielsweise können die hierin beschriebenen Systeme bestimmen, ob ein Benutzer, der dem ersten elektronischen Gerät und dem zweiten elektronischen Gerät zugeordnet ist, während des Zugriffs auf das erste elektronische Gerät sitzt oder steht. Wenn der Benutzer sitzt, kann der Prozess 500 einen verfügbaren Bewegungsbereich, den der Benutzer in einer physischen Welt (d. h. der umliegenden Umgebung) hat, zu einem Bewegungsbereich in der virtuellen Umgebung korrelieren, sodass der Benutzer virtuelle Inhalte aus der sitzenden Position erreichen kann. Die Korrelation kann das Übersetzen des Bewegungsbereichs von der umliegenden Umgebung in die virtuelle Umgebung beinhalten. Die Übersetzung kann das Berechnen von Abständen, in denen sich der Benutzer in der umliegenden Umgebung bewegen (oder reichen) kann, und das Übersetzen dieser Abstände in die virtuelle Umgebung, beinhalten. Die hierin beschriebenen Systeme können virtuelle Inhalte und/oder Steuerelemente innerhalb erkannter (oder festgestellter) Stellen innerhalb der virtuellen Umgebung bereitstellen, indem sie die Bewegungsbereiche zwischen Umgebungen korrelieren und diese Inhalte und/oder Steuerelemente innerhalb dieser Bereiche erzeugen und bereitstellen. In einigen Implementierungen können die Systeme bestimmen, ob ein Benutzer, der auf die Geräte 402 und 404 zugreift, in einem Drehstuhl (oder z. B. einem/einer anderen nicht stationären Stuhl oder Vorrichtung) sitzt, und kann Inhalte und/oder Steuerelemente bereitstellen, die in einer sitzenden Position im Drehstuhl (oder einem/einer anderen nicht stationären Stuhl oder Vorrichtung) verwendet werden können.
  • Bei Block 510 beinhaltet der Prozess 500 das Bestimmen einer virtuellen Konfiguration für eine Vielzahl von virtuellen Objekten, welche an den der virtuellen Umgebung zugeordneten Bewegungsbereich angepasst ist. Wenn beispielsweise die Systeme feststellen, dass der Benutzer in einem Drehstuhl sitzt, kann eine bestimmte virtuelle Inhaltsplatzierung bereitgestellt werden. Sofern festgestellt wird, dass sich der Benutzer in einem Drehstuhl befindet, können insbesondere virtuelle Objekte in die virtuelle Konfiguration platziert werden, sodass der Benutzer alle virtuellen Inhalte (und/oder Benutzeroberflächenselektionen) innerhalb des festgestellten verfügbaren Bewegungsbereichs.
  • In einigen Implementierungen beinhaltet die Bestimmung einer virtuellen Konfiguration, die an den Bewegungsbereich angepasst ist, das Bestimmen einer Größe eines Benutzers, der dem ersten elektronischen Gerät und dem zweiten elektronischen Gerät zugeordnet ist, sowie das Abschätzen einer Reichweitenzone basierend auf der Größe des Benutzers und dem Bewegungsbereich. Die Reichweitenzone kann als ein Bereich verwendet werden, in dem virtuelle Objekte in der virtuellen Umgebung zu platzieren sind.
  • Diese Reichweitenzone kann durch eine Stelle innerhalb der virtuellen Umgebung definiert werden, in der der Benutzer mit der Vielzahl von virtuellen Objekten kollidieren, dieselben erreichen, auswählen oder anderweitig auf diese zugreifen kann. In einigen Implementierungen beinhaltet das Bestimmen einer virtuellen Konfiguration, die an einen Bewegungsbereich angepasst ist, der der virtuellen Umgebung zugeordnet ist, für eine Vielzahl von virtuellen Objekten das Erkennen eines vertikalen Versatzes des ersten elektronischen Geräts und die Verwendung des vertikalen Versatzes, um eine Vielzahl von Objekten unmittelbar neben einem Benutzers zu platzieren, der auf das erste elektronische Gerät zugreift. Beispielsweise können die Größe eines Benutzers, die Höhe eines HDM-Gerätes, die Höhe eines Controllers, eine Handposition oder ein anderer vertikaler Abstand, der dem Benutzer und/oder der virtuellen Umgebung zugeordnet ist, verwendet werden, um virtuelle Objekte in die virtuelle Umgebung zu platzieren (z. B. VR-Raum).
  • In einigen Implementierungen kann ein Mobilgerät (z. B. Gerät 404), das einem auf den VR-Raum zugreifenden Benutzer zugeordnet ist, einen Bewegungsbereich für den Benutzer basierend auf der Erkennung von Beschleunigungssensorbewegungen, die dem Benutzer und dem Mobilgerät zugeordnet sind, bestimmen. Die Erkennung und Analyse kann durch das Mobilgerät 404 durchgeführt werden, um eine Benutzeroberfläche für einen Benutzer anzupassen. In einigen Implementierungen kann ein weiteres dem VR-Raum zugeordnetes Nachverfolgungsgerät Bewegungsbereichseinschränkungen für den Benutzer, oder das Nichtvorhandensein von Einschränkungen, erkennen und kommunizieren, um bestimmte Benutzeroberflächeninhalte für den Benutzer zu modifizieren.
  • Eine exemplarische Anpassung einer Benutzeroberfläche, die für die Anzeige an den Benutzer in einem HMD-Gerät modifiziert ist, kann das Anpassen der virtuellen Inhalte und/oder der Objekte, die in einem spezifischen Betrachtungswinkel bereitgestellt werden sollen, basierend auf dem festgestellten Bewegungsbereich des Benutzers, umfassen. In einigen Implementierungen kann eine Benutzeroberfläche auf eine Weise bereitgestellt werden, die sicherstellen soll, dass der Benutzer nicht mobil sein muss, um sich alle verfügbaren Inhalte in einer Szene anzusehen. Falls beispielsweise das Mobilgerät, das Nachverfolgungsgerät oder ein anderes Gerät im VR-Raum automatisch erkennt, dass der Benutzer in einem Drehstuhl sitzt, oder dass ein Drehstuhl im Bereich des Benutzers liegt, können die hier beschriebenen Systeme automatisch konfiguriert werden, um Benutzeroberflächeninhalte bereitzustellen, die vom Benutzer zum Ansehen angepasst werden, wenn dieser in einem Drehstuhl sitzt.
  • Bei Block 512 beinhaltet der Prozess 500 das Auslösen der Wiedergabe (z. B. das Auslösen des Anzeigens) in der virtuellen Umgebung auf dem ersten elektronischen Gerät einer beliebigen Anzahl von virtuellen Objekten gemäß der virtuellen Konfiguration. Beispielsweise kann das HMD-Gerät 402 die Wiedergabe und Anzeige beliebiger virtueller Objekte gemäß der virtuellen Konfiguration an den Benutzer auslösen.
  • In einigen Implementierungen können die hierin beschriebenen Systeme eine Schrittgröße und/oder Geschwindigkeit eines laufenden Benutzers bestimmen, um virtuelle Objekte oder Inhalte in einem genauen Abstand von dem Benutzer entfernt bereitzustellen, sodass der Benutzer beim Gehen oder bei der Annäherung an ein bestimmtes virtuelles Objekt die Objekte oder Inhalte in einem bequemen Abstand erreichen oder anzeigen kann. In einigen Implementierungen können die hierin beschriebenen Systeme eine vertikale Position eines HMD-Geräts bestimmen, auf das von einem Benutzer zugegriffen wird, und die vertikale Position des HMD-Geräts verwenden, um eine ungefähre Größe festzustellen und virtuelle Objekte oder Inhalte basierend auf der festgestellten ungefähren Größe bereitzustellen und/oder auszulösen. Sofern die vertikale Position des HMD-Geräts etwa 1,2 Meter beträgt, können die Systeme insbesondere feststellen, dass es sich bei dem Benutzer wahrscheinlich um ein Kind oder eine sehr kleine Person handelt, und die Inhalte, Objekte und Steuerelemente entsprechend der vertikalen Position anpassen.
  • In einigen Implementierungen können die hierin beschriebenen Systeme feststellen, dass bestimmte virtuelle Inhalte oder Objekte an den Benutzer angepasst werden sollten. Wenn die Systeme zum Beispiel feststellen, dass ein Benutzer dieselben Bewegungen wiederholt, bei der Interaktion mit einem Steuerelement, einem Menü oder einem Objekt jedoch nicht erfolgreich ist, können die Systeme feststellen, dass die wiederholten Versuche, etwas zu erreichen oder mit etwas zu interagieren, zu scheitern scheinen. In Reaktion darauf kann das Steuerelement, das Menü oder das Objekt angepasst werden, um beispielsweise besser der Reichweite des Benutzers zu entsprechen.
  • In einigen Implementierungen können Daten auf der Grundlage beliebiger und aller zuvor beschriebenen Modifikationen basierend auf Benutzerinteraktionen aufgezeichnet werden. Diese Daten können in anderen Anwendungen bereitgestellt werden, um dem den Daten zugeordneten Benutzer Ergonomie, Bedienkomfort und Benutzerfreundlichkeit des VR-Raums zu bieten. Die Daten können verwendet werden, um eine Erfahrung in mehreren Anwendungen für den Benutzer zu erzeugen, ohne dass der Benutzer Konfigurationen in jeder Anwendung ändern muss.
  • In einem weiteren Beispiel können die hierin beschriebenen Systeme Nachverfolgungsdaten und gespeicherte Daten verwenden, um die Steuerelemente, Menüs und Objekte gezielt in eine neue Position zu verschieben, sofern erkannt wird, dass der Benutzer wiederholte Bewegungen in einer Weise durchführt, die den Benutzer verletzen könnten. Ebenso können die Systeme angepasst werden, um die Körperhaltung des Benutzers zu beurteilen und automatisch platzierte Steuerelemente, Menüs und Objekte zu überwachen, um die korrekte Körperhaltung zu begünstigen.
  • In einigen Implementierungen ist mindestens eines der Vielzahl von virtuellen Objekten Teil einer Benutzeroberfläche, welche die virtuelle Umgebung und die Optionen anzeigt, die der virtuellen Umgebung zugeordnet sind. Zusätzlich kann das Bestimmen der virtuellen Konfiguration das Anpassen der Benutzeroberfläche an den Bewegungsbereich beinhalten, der der virtuellen Umgebung zugeordnet ist.
  • In einigen Implementierungen kann das Korrelieren des Bewegungsbereichs, der der umliegenden Umgebung zugeordnet ist, mit einem Bewegungsbereich, der der virtuellen Umgebung zugeordnet ist, das Bestimmen eines physischen Aspekts eines Benutzers beinhalten, der auf mindestens entweder das erste elektronische Gerät (oder auf das zweite elektronische Gerät) zugreift.
  • In einigen Implementierungen kann der physische Aspekt eines Benutzers, der auf das erste elektronische Gerät zugreift, mindestens entweder eine erkannte Position innerhalb der virtuellen Umgebung, eine Körperhaltung, eine erkannte Position innerhalb eines physischen Raums, eine erkannte Größe und/oder eine Reichweite beinhalten, die sich auf eine dem Benutzer zugeordneten Armlänge bezieht.
  • In einigen Implementierungen kann das Korrelieren des Bewegungsbereichs, der der umliegenden Umgebung zugeordnet ist, mit einem Bewegungsbereich, der der virtuellen Umgebung zugeordnet ist, das Bestimmen, ob ein Benutzer, der auf das erste elektronische Gerät zugreift, während des Zugriffs auf das erste elektronische Gerät sitzt, oder das Bestimmen, ob der Benutzer, der auf das erste elektronische Gerät zugreift, während des Zugriffs auf das erste elektronische Gerät steht, beinhalten. Beispielsweise kann die Korrelation das Übersetzen des Bewegungsbereichs des in der umliegenden Umgebung sitzenden Benutzers in einen Bewegungsbereich in der virtuellen Umgebung beinhalten, der mit dem für den Benutzer während des Sitzens physisch zugänglichen (dreidimensionalen) Raum korreliert. Das Übersetzen kann das Berechnen von Abständen beinhalten, in denen sich der Benutzer in der umliegenden Umgebung bewegen (oder reichen) kann, und das Übersetzen dieser Abstände in die virtuelle Umgebung, um der physisch zugängliche Raum zu werden. Die hierin beschriebenen Systeme können virtuelle Inhalte und/oder Steuerelemente innerhalb erkannter (oder festgestellter) Stellen innerhalb des Raums der virtuellen Umgebung bereitstellen, indem sie die Bewegungsbereiche zwischen Umgebungen korrelieren und diese Inhalte und/oder Steuerelemente innerhalb der Stellen erzeugen und bereitstellen.
  • In einigen Implementierungen kann das Bestimmen einer virtuellen Konfiguration, die an den Bewegungsbereich angepasst ist, der der virtuellen Umgebung zugeordnet ist, für die Vielzahl von virtuellen Objekten das Bestimmen des physischen Aspekts des dem ersten elektronischen Gerät zugeordneten Benutzers, sowie das Abschätzen einer Reichweitenzone unter Verwendung des physischen Aspekts des Benutzers und des der umliegenden Umgebung zugeordneten Bewegungsbereichs, beinhalten. Die Reichweitenzone kann als ein Bereich in Reichweite des auf das erste elektronische Gerät zugreifenden Benutzers verwendet werden, und in dem eine Vielzahl von virtuellen Objekten in der virtuellen Umgebung platziert werden soll.
  • In einigen Implementierungen kann das Bestimmen einer virtuellen Konfiguration, die an den Bewegungsbereich angepasst ist, der der virtuellen Umgebung zugeordnet ist, für die Vielzahl virtueller Objekte das Bestimmen einer Größe eines Benutzers, der auf das erste elektronische Gerät zugreift, und das Abschätzen einer Reichweitenzone unter Verwendung der Größe des Benutzers und des Bewegungsbereichs, der der umliegenden Umgebung zugeordnet ist, beinhalten. Die Reichweitenzone kann als ein Bereich in Reichweite des auf das erste elektronische Gerät zugreifenden Benutzers verwendet werden, und in dem eine Vielzahl von virtuellen Objekten in der virtuellen Umgebung platziert werden soll.
  • In einigen Implementierungen kann für eine Vielzahl von virtuellen Objekten eine virtuelle Konfiguration, die an einen Bewegungsbereich angepasst ist, der der virtuellen Umgebung zugeordnet ist, das Erkennen eines vertikalen Versatzes des ersten elektronischen Geräts und die Verwendung des vertikalen Versatzes beinhalten, um eine Vielzahl von Objekten innerhalb der Reichweite eines Benutzers zu platzieren, der auf das erste elektronische Gerät zugreift,.
  • 6 zeigt das Beispiel eines generischen Computergeräts 600 und eines generischen mobilen Computergeräts 650, die mit den hier beschriebenen Techniken verwendet werden können. Das Computergerät 600 beinhaltet einen Prozessor 602, einen Speicher 604, ein Speichergerät 606, eine High-Speed-Schnittstelle 608, die sich mit Speicher 604 und High-Speed-Erweiterungsports 610 verbindet, und eine Low-Speed-Schnittstelle 612, die sich mit Low-Speed-Bus 614 und Speichergerät 606 verbindet. Die Komponenten 602, 604, 606, 608, 610 und 612 sind jeweils mithilfe mehrerer Busse miteinander verbunden und können auf einem gemeinsamen Motherboard oder auf andere Weise entsprechend montiert werden. Prozessor 602 kann Befehle zur Ausführung innerhalb des Computergeräts 600, darunter auch Befehle, die im Speicher 604 oder auf dem Speichergerät 606 gespeichert sind, verarbeiten, um grafische Informationen für eine GUI auf einem externen Ein-/Ausgabegerät, wie z. B. Anzeige 616, die an die High-Speed-Schnittstelle 608 gekoppelt ist, anzuzeigen. In 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 600 verbunden sein, wobei jedes Gerät Teile der erforderlichen Vorgänge (z. B. als Serverbank, Gruppe von Blade-Servern oder Mehrprozessorsystem) bereitstellt.
  • Speicher 604 speichert Informationen im Computergerät 600. In einer Implementierung handelt es sich bei dem Speicher 604 um eine oder mehrere flüchtige Speichereinheiten. In einer anderen Implementierung handelt es sich bei dem Speicher 604 um eine oder mehrere nichtflüchtige Speichereinheiten. Der Speicher 604 kann zudem eine andere Form von computerlesbarem Medium sein, zum Beispiel ein magnetischer oder optischer Datenträger.
  • Das Speichergerät 606 kann Massenspeicher für das Computergerät 600 bereitstellen. In einer Implementierung kann das Speichergerät 606 ein computerlesbares Medium sein oder enthalten, zum Beispiel ein Diskettengerät, ein Festplattengerät, ein optisches Datenträgergerät oder ein Bandgerät, ein Flash-Speicher oder ein anderes ähnliches Solid-State-Speichergerät oder eine Reihe von Geräten, zum Beispiel Geräte in einem Speichernetzwerk oder anderen Konfigurationen. Ein Computerprogrammprodukt kann physisch in einem Informationsträger enthalten sein. Das Computerprogrammprodukt kann zudem Befehle enthalten, bei deren Ausführung ein oder mehrere Verfahren, wie die zuvor beschriebenen, durchgeführt werden. Der Informationsträger ist ein computer- oder maschinenlesbares Medium, wie beispielsweise der Speicher 604, das Speichergerät 606 oder der Prozessorspeicher 602.
  • Der High-Speed-Controller 608 verwaltet bandbreitenintensive Operationen für das Computergerät 600, während der Low-Speed-Controller 612 weniger bandbreitenintensive Operationen verwaltet. Diese Zuweisung von Funktionen ist lediglich exemplarisch. In einer Implementierung, ist der High-Speed-Controller 608 an den Speicher 604, die Anzeige 616 (z. B. durch einen Grafikprozessor oder -beschleuniger) und an High-Speed-Erweiterungsanschlüsse 610 gekoppelt, die verschiedene Erweiterungskarten aufnehmen können (nicht dargestellt). In der Implementierung ist der Low-Speed-Controller 612 an das Speichergerät 606 und an den Low-Speed-Erweiterungsanschluss 614 gekoppelt. Der Low-Speed-Expansionsport, der verschiedene Kommunikationsanschlüsse (z. B. USB, Bluetooth, Ethernet, drahtloses Ethernet) beinhalten kann, kann an ein oder mehrere Ein-/Ausgabegeräte, wie z. B. eine Tastatur, ein Zeigegerät, einen Scanner oder, z. B. durch einen Netzwerkadapter, an ein Netzwerkgerät, wie z. B. einen Switch oder Router, gekoppelt sein.
  • Das Computergerät 600 kann, wie in der Figur dargestellt, in einer Reihe von verschiedenen Formen implementiert sein. Beispielsweise kann es als Standardserver 620 oder mehrmals in einer Gruppe jener Server implementiert sein. Es kann auch als Teil eines Rackserversystems 624 implementiert sein. Darüber hinaus kann es in einem Personalcomputer, wie z. B. einem Laptop-Computer 622, implementiert sein. Alternativ können Komponenten von Computergerät 600 mit anderen Komponenten in einem Mobilgerät (nicht dargestellt), wie beispielsweise Gerät 650, kombiniert sein. Jedes dieser Geräte kann ein oder mehrere Computergeräte 600, 650 enthalten, und ein gesamtes System kann aus mehreren miteinander kommunizierenden Computergeräten 600, 650 bestehen.
  • Computergerät 650 beinhaltet neben anderen Komponenten einen Prozessor 652, einen Speicher 664, ein Ein-/Ausgabegerät, wie beispielsweise eine Anzeige 654, eine Kommunikationsschnittstelle 666, und einen Sendeempfänger 668. Das Gerät 650 kann zudem mit einem Speichergerät, beispielsweise einem Microdrive oder einem anderen Gerät, ausgestattet sein, um zusätzlichen Speicherplatz bereitzustellen. Die Komponenten 650, 652, 664, 654, 666 und 668 sind jeweils mithilfe verschiedener Busse miteinander verbunden und können nach Bedarf an einer gemeinsamen Hauptplatine oder auf andere Weise angebracht sein.
  • Der Prozessor 652 kann Befehle im Computergerät 650, darunter auch im Speicher 664 gespeicherte Befehle, ausführen. Der Prozessor kann als Chipsatz von Chips implementiert werden, die separate und mehrere analoge und digitale Prozessoren beinhalten. Der Prozessor kann zum Beispiel für die Koordination der anderen Komponenten des Geräts 650 sorgen, zum Beispiel für die Steuerung von Benutzeroberflächen, vom Gerät 650 ausgeführter Anwendungen und die drahtlose Kommunikation durch Gerät 650.
  • Der Prozessor 652 kann mit einem Benutzer über die Steueroberfläche 658 und die mit einer Anzeige 654 gekoppelte Anzeigeschnittstelle 656 kommunizieren. Die Anzeige 654 kann zum Beispiel eine TFT-LCD(Dünnfilmtransistor-Flüssigkristall)- oder eine OLED(organisches Leuchtdioden)-Anzeige oder eine andere geeignete Anzeigetechnologie sein. Die Anzeigeschnittstelle 656 kann geeignete Schaltungen zum Betrieb der Anzeige 654 enthalten, damit dem Benutzer grafische und sonstige Informationen angezeigt werden können. Die Steuerschnittstelle 658 kann Befehle von einem Benutzer empfangen und sie für die Sendung an Prozessor 652 umwandeln. Darüber hinaus kann eine externe Schnittstelle 662 die Kommunikation mit dem Prozessor 652 bereitstellen, zum Beispiel, um eine Nahbereichskommunikation des Geräts 650 mit anderen Geräten zu ermöglichen. Die externe Schnittstelle 662 kann zum Beispiel in einigen Implementierungen eine kabelgebundene Kommunikation bereitstellen, oder in anderen Implementierungen eine drahtlose Kommunikation, außerdem können mehrere Schnittstellen verwendet werden.
  • Der Speicher 664 speichert Informationen in Computergerät 650. Der Speicher 664 kann als eines oder mehrere computerlesbare Medien, flüchtige Speichergeräte oder nicht flüchtige Speichergeräte implementiert sein. Erweiterungsspeicher 674 kann ebenfalls bereitgestellt und mit dem Gerät 650 über Erweiterungsschnittstelle 672 verbunden werden, die zum Beispiel eine SIMM(Single In Line Memory Module)-Kartenschnittstelle umfassen kann. Dieser Erweiterungsspeicher 674 kann zusätzlichen Speicherplatz für Gerät 650 bereitstellen oder auch Anwendungen oder andere Informationen für Gerät 650 speichern. Insbesondere kann Erweiterungsspeicher 674 Befehle zum Ausführen oder Ergänzen der zuvor beschriebenen Prozesse beinhalten, und kann zudem sichere Informationen beinhalten. Somit kann Erweiterungsspeicher 674 zum Beispiel als Sicherheitsmodul für Gerät 650 bereitgestellt werden, und mit Befehlen programmiert sein, die die sichere Verwendung von Gerät 650 gewährleisten. Des Weiteren können über die SIMM-Karten sichere Anwendungen zusammen mit zusätzlichen Informationen, wie z. B. durch Ablegen von Identifizierungsinformationen auf der SIMM-Karte auf eine Weise bereitgestellt werden, die sich nicht hacken lässt.
  • Der Speicher kann, wie im Folgenden erläutert, zum Beispiel Flashspeicher und/oder NVRAM-Speicher beinhalten. In einer Implementierung ist ein Computerprogrammprodukt physisch in einem Informationsträger enthalten. Das Computerprogrammprodukt enthält Befehle, bei deren Ausführung ein oder mehrere Verfahren, wie die zuvor beschriebenen, durchgeführt werden. Der Informationsträger ist ein computer- oder maschinenlesbares Medium, beispielsweise der Speicher 664, der Erweiterungsspeicher 674 oder der Speicher auf Prozessor 652, welche zum Beispiel über Transceiver 668 oder externe Schnittstelle 662 empfangen werden können.
  • Gerät 650 kann drahtlos über Kommunikationsschnittstelle 666 kommunizieren, die gegebenenfalls eine digitale Signalverarbeitungsschaltung beinhalten kann. Die Verbindungsschnittstelle 666 kann Verbindungen mit verschiedenen Kommunikationstypen oder -protokollen aufbauen, darunter u. a. GSM-Sprachanrufe, SMS, EMS, oder MMS-Messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000 oder GPRS. Diese Kommunikation kann zum Beispiel über Funkfrequenzempfänger 668 erfolgen. Zudem kann eine Kurzstreckenkommunikation, z. B. unter Verwendung eines Bluetooth-, WLAN- oder eines anderen dieser Sendeempfänger (nicht dargestellt) stattfinden. Außerdem kann ein GPS(Globales Positionierungssystem)-Empfängermodul 670 zusätzliche navigations- und standortbezogene drahtlose Daten für Gerät 650 bereitstellen, die gegebenenfalls von Anwendungen verwendet werden können, die auf Gerät 650 ausgeführt werden.
  • Gerät 650 kann zudem mithilfe von Audio-Codec 660, der gesprochene Informationen von einem Benutzer empfangen und in nutzbare digitale Informationen umwandeln kann, akustisch kommunizieren. Audio-Codec 660 kann für einen Benutzer zudem akustische Töne erzeugen, z. B. durch einen Lautsprecher, wie beispielsweise in einem Handgerät von Gerät 650. Diese Töne können Töne von Sprachtelefonanrufen, aufgezeichnete Töne (z. B. Sprachnachrichten, Musikdateien usw.) und Töne beinhalten, die von auf Gerät 650 ausgeführten Anwendungen erzeugt werden.
  • Das Computergerät 650 kann wie in der Figur dargestellt in einer Reihe von verschiedenen Formen implementiert sein. Zum Beispiel kann es als Mobiltelefon 680 implementiert sein. Es kann außerdem als Teil eines Smartphones 682, Personal Digital Assistant (PDA) oder eines anderen ähnlichen Mobilgeräts implementiert sein.
  • Verschiedene Implementierungen der hier beschriebenen Systeme und Techniken können in digitalen elektronischen Schaltungen, integrierten Schaltungen, speziell konzipierten ASICs (anwendungsorientierten integrierten Schaltungen), Computerhardware, Firmware, Software und/oder Kombinationen derselben realisiert sein. Diese verschiedenen Implementierungen können eine Implementierung in einem oder mehreren Computerprogrammen beinhalten, die auf einem programmierbaren System ausführbar und/oder interpretierbar sind, das mindestens einen programmierbaren Prozessor beinhaltet, bei dem es sich um einen Spezial- oder Universalprozessor handeln kann und der zum Empfangen von Daten und Befehlen von und zum Übertragen von Daten und Befehlen an ein Speichersystem, mindestens ein Eingabegerät und mindestens ein Ausgabegerät gekoppelt ist.
  • Diese Computerprogramme (auch bekannt als Programme, Software, Softwareanwendungen oder Code) beinhalten Maschinenbefehle für einen programmierbaren Prozessor und können in einer höheren prozeduralen und/oder objektorientierten Programmiersprache und/oder in Assembler-/Maschinensprache implementiert sein. Wie hierin verwendet, bezeichnen die Begriffe „maschinenlesbares Medium“, „computerlesbares Medium“ ein beliebiges Computerprogrammprodukt, eine beliebige Vorrichtung und/oder ein beliebiges Gerät (z. B. Magnetplatten, optische Platten, Speicher, programmierbare Logikbausteine (PLDs), die verwendet werden, um einem programmierbaren Prozessor, darunter auch einem maschinenlesbaren Medium, das Maschinenbefehle als ein maschinenlesbares Signal empfängt, Maschinenbefehle und/oder Daten bereitzustellen. Der Begriff „maschinenlesbares Signal“ bezeichnet ein beliebiges Signal, das verwendet wird, um einem programmierbaren Prozessor Maschinenbefehle und/oder Daten bereitzustellen.
  • Um eine Interaktion mit einem Benutzer bereitzustellen, können die hier beschriebenen Systeme und Techniken auf einem Computer implementiert werden, der ein Anzeigegerät (wie z. B. einen CRT(Kathodenstrahlröhren)- oder LCD–(Flüssigkristallanzeige)-Monitor) aufweist, um dem Benutzer Informationen anzuzeigen, sowie eine Tastatur und ein Zeigegerät (z. B. eine Maus oder einen Trackball), mittels denen der Benutzer eine Eingabe an dem Computer vornehmen kann. Es können zudem andere Arten von Geräten verwendet werden, um für eine Interaktion mit einem Benutzer zu sorgen; beispielsweise kann eine an den Benutzer bereitgestellte Rückmeldung eine beliebige Form von sensorischer Rückmeldung, wie z. B. eine visuelle Rückmeldung, akustische Rückmeldung oder taktile Rückmeldung, sein; wobei die Eingabe vom Benutzer in beliebiger Form, einschließlich akustischer, Sprach- oder taktiler Eingabe, empfangen werden kann.
  • Die hier beschriebenen Systeme und Techniken können in einem Computersystem implementiert werden, das eine Backendkomponente (z. B. einen Datenserver) beinhaltet, oder das eine Middlewarekomponente (z. B. einen Applikationsserver) beinhaltet, oder das eine Frontendkomponente (z. B. einen Clientcomputer mit einer grafischen Benutzeroberfläche oder einem Webbrowser beinhaltet, durch die bzw. den ein Benutzer mit hier beschriebenen Systemimplementationen und Techniken interagieren kann) oder eine Kombination aus diesen Backend-, Middleware- oder Frontendkomponenten beinhaltet. Die Komponenten des Systems können durch eine beliebige Form oder ein beliebiges Medium digitaler Datenkommunikation, wie z. B. ein Kommunikationsnetzwerk, miteinander verbunden sein). Beispiele von Kommunikationsnetzwerken beinhalten ein lokales Netzwerk („LAN“), ein Großraumnetzwerk („WAN“) und das Internet.
  • Das Computersystem kann Clients und Server beinhalten. Ein Client und Server befinden sich im Allgemeinen entfernt voneinander und interagieren typischerweise über ein Kommunikationsnetzwerk. Die Beziehung von Client und Server ergibt sich durch Computerprogramme, die auf den jeweiligen Computern ausgeführt werden und in einer Client-Server-Beziehung zueinander stehen.
  • In einigen Implementierungen können die in 6 dargestellten Geräte Sensoren beinhalten, die mit einer virtuellen Realität (VR-Headset 690) verbunden sind. Beispielsweise können ein oder mehrere Sensoren, die in einem Computergerät 650 oder einem anderen in 6 dargestellten Computergerät enthalten sind, Eingaben in das VR-Headset 690 bereitstellen 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 650 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 650 als virtuelles Objekt, wie z. B. als Steuereinheit, 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 650 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 650 enthalten ist, wenn das Computergerät in den VR-Raum eingebaut ist, kann bewirken, dass eine bestimmte Aktion im VR-Raum erfolgt.
  • In einigen Implementierungen kann ein Berührungsbildschirm des Computergeräts 650 als Berührungsfeld im VR-Raum dargestellt werden. Ein Benutzer kann mit dem Berührungsbildschirm des Computergeräts 650 interagieren. Die Interaktionen werden beispielsweise im VR-Headset 690 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 650 enthalten sind, einem Benutzer des VR-Headsets 690 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 650 als ein anderes Objekt in einer computergenerierten 3D-Umgebung erscheinen. Interaktionen durch den Benutzer mit dem Computergerät 650 (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 650 als virtueller Laserpointer in der computergenerierten 3D-Umgebung. Wenn der Benutzer das Computergerät 650 manipuliert, sieht der Benutzer im VR-Raum die Bewegung des Laserpointers. Der Benutzer empfängt Rückmeldungen von Interaktionen mit dem Computergerät 650 im VR-Raum auf dem Computergerät 650 oder auf dem VR-Headset 690.
  • In einigen Implementierungen können zusätzlich zu dem Computergerät ein oder mehrere Eingabegeräte (z. B. eine Maus, eine Tastatur) in einer computergenerierten 3D-Umgebung gerendert 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 600 soll verschiedene Formen von digitalen Computern, wie beispielsweise Laptops, Desktops, Workstations, Personal Digital Assistants, Server, Blade-Server, Mainframes und andere geeignete Computer, darstellen. Computergerät 650 soll verschiedene Formen mobiler Geräte, wie Personal Digital Assistants, Mobiltelefone, Smartphones und andere ähnliche Computergeräte darstellen. Die hier gezeigten Komponenten, ihre Verbindungen und Beziehungen, sowie ihre Funktionen sollen nur exemplarisch sein und die Implementierungen der in diesem Dokument beschriebenen bzw. beanspruchten Erfindungen in keiner Weise einschränken.
  • Eine Reihe von Ausführungsformen 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, während andere Komponenten zu den beschriebenen Systemen hinzugefügt oder aus denselben entfernt werden können. Dementsprechend befinden sich andere Ausführungsformen innerhalb des Umfangs der folgenden Ansprüche.

Claims (20)

  1. Computerprogrammprodukt, das Code beinhaltet, der, wenn er durch einen oder mehrere Prozessoren eines Computergeräts ausgeführt wird, den einen oder die mehreren Prozessoren veranlasst, ein Verfahren durchzuführen, das Verfahren umfassend: Erzeugen einer virtuellen Umgebung mit einem ersten elektronischen Gerät, das mit einem zweiten elektronischen Gerät kommunikativ gekoppelt ist; Nachverfolgen der Bewegung des zweiten elektronischen Geräts in einer umliegenden Umgebung; Bestimmen, mithilfe eines oder mehrerer Sensoren, eines Bewegungsbereichs, der der Bewegung des zweiten elektronischen Geräts in der umliegenden Umgebung zugeordnet ist; Korrelieren des Bewegungsbereichs, der der umliegenden Umgebung zugeordnet ist, mit einem Bewegungsbereich, der der virtuellen Umgebung zugeordnet ist; Bestimmen, für eine Vielzahl virtueller Objekte, einer virtuellen Konfiguration, die an den Bewegungsbereich angepasst ist, der der virtuellen Umgebung zugeordnet ist; und Auslösen der Wiedergabe, in der virtuellen Umgebung des ersten elektronischen Geräts, der Vielzahl virtueller Objekte gemäß der virtuellen Konfiguration.
  2. Computerprogrammprodukt nach Anspruch 1, wobei mindestens eines der Vielzahl virtueller Objekte Teil einer Benutzeroberfläche ist, die die virtuelle Umgebung und Optionen, die der virtuellen Umgebung zugeordnet sind, anzeigt, und wobei das Bestimmen der virtuellen Konfiguration das Anpassen der Benutzeroberfläche beinhaltet, sodass diese mit dem Bewegungsbereich übereinstimmt, der der virtuellen Umgebung zugeordnet ist.
  3. Computerprogrammprodukt nach Anspruch 1, wobei das Korrelieren des Bewegungsbereichs, der der umliegenden Umgebung zugeordnet ist, mit einem Bewegungsbereich, der der virtuellen Umgebung zugeordnet ist, Folgendes beinhaltet: Bestimmen eines physischen Aspekts eines Benutzers, der auf das erste elektronische Gerät und/oder das zweite elektronische Gerät zugreift; Übersetzen mindestens einer Fähigkeit, die dem physischen Aspekt zugeordnet ist, von der umliegenden Umgebung in die virtuelle Umgebung; und Bereitstellen virtueller Inhalte in der virtuellen Umgebung gemäß der mindestens einen übersetzten Fähigkeit.
  4. Computerprogrammprodukt nach Anspruch 3, wobei der physische Aspekt eines Benutzers, der auf das erste elektronische Gerät zugreift, mindestens einen der folgenden Aspekte beinhaltet, eine erkannte Position innerhalb der virtuellen Umgebung, eine Körperhaltung, eine erkannte Position in einem physischen Raum oder eine erkannte Größe oder eine Reichweite beinhaltet, der zu einer Armlänge gehört, die dem Benutzer zugeordnet ist.
  5. Computerprogrammprodukt nach Anspruch 3, wobei das Korrelieren des Bewegungsbereichs, der der umliegenden Umgebung zugeordnet ist, mit einem Bewegungsbereich, der der virtuellen Umgebung zugeordnet ist, ferner beinhaltet: in Reaktion auf das Bestimmen, dass ein Benutzer, der auf das erste elektronische Gerät zugreift, sich in einer sitzenden Position befindet, während er auf das erste elektronische Gerät zugreift, Ermöglichen, dass die mindestens eine Fähigkeit der virtuellen Umgebung die sitzende Position des Benutzers berücksichtigt.
  6. Computerprogrammprodukt nach Anspruch 3, wobei das Bestimmen einer virtuellen Konfiguration, die an den Bewegungsbereich angepasst ist, der der virtuellen Umgebung zugeordnet ist, für die Vielzahl virtueller Objekte das Bestimmen des physischen Aspekts des Benutzers beinhaltet, der dem ersten elektronischen Gerät zugeordnet ist, und das Abschätzen einer Reichweitenzone mithilfe des physischen Aspekts des Benutzers und des Bewegungsbereichs, der der umliegenden Umgebung zugeordnet ist, wobei die Reichweitenzone als Bereich innerhalb der Reichweite des auf das erste elektronische Gerät zugreifenden Benutzers verwendet wird, und in welchem eine Vielzahl von virtuellen Objekten in der virtuellen Umgebung platziert werden soll.
  7. Computerprogrammprodukt nach Anspruch 1, wobei der Bewegungsbereich, der der virtuellen Umgebung zugeordnet ist, mithilfe eines Beschleunigungssensors festgestellt wird, der auf dem zweiten elektronischen Gerät ausgeführt wird.
  8. Computerprogrammprodukt nach Anspruch 1, wobei das Nachverfolgen der Bewegung des zweiten elektronischen Geräts in der umliegenden Umgebung das Nachverfolgen der seitlichen Bewegung des zweiten elektronischen Geräts durch Erfassen von Bildern eines Benutzers beinhaltet, der auf das erste elektronische Gerät und das zweite elektronische Gerät in der umliegenden Umgebung zugreift.
  9. Computerprogrammprodukt nach Anspruch 1, wobei das erste elektronische Gerät ein HMD-Gerät und das zweite elektronische Gerät ein tragbares elektronisches Gerät ist.
  10. Computerprogrammprodukt nach Anspruch 9, wobei das Bestimmen einer virtuellen Konfiguration, die an den Bewegungsbereich angepasst ist, der der virtuellen Umgebung zugeordnet ist, für die Vielzahl virtueller Objekte das Bestimmen einer Größe eines Benutzers beinhaltet, der auf das erste elektronische Gerät zugreift, und das Abschätzen einer Reichweitenzone mithilfe der Größe des Benutzers und des Bewegungsbereichs, der der umliegenden Umgebung zugeordnet ist, wobei die Reichweitenzone als Bereich innerhalb der Reichweite des auf das erste elektronische Gerät zugreifenden Benutzers verwendet wird, und in welchem eine Vielzahl von virtuellen Objekten in der virtuellen Umgebung platziert werden soll.
  11. Computerprogrammprodukt nach Anspruch 1, wobei das Bestimmen einer virtuellen Konfiguration, die an einen Bewegungsbereich angepasst ist, der der virtuellen Umgebung zugeordnet ist, für eine Vielzahl virtueller Objekte das Erkennen eines vertikalen Versatzes des ersten elektronischen Geräts und die Verwendung des vertikalen Versatzes beinhaltet, um die Vielzahl von Objekten innerhalb der Reichweite eines Benutzers zu platzieren, der auf das erste elektronische Gerät zugreift.
  12. Nicht transitorisches, maschinenlesbares Medium, auf dem Befehle gespeichert sind, wobei die Befehle, wenn sie durch einen Prozessor ausgeführt werden, ein Computergerät zu Folgendem veranlassen: Erzeugen einer virtuellen Umgebung mit einem ersten Computergerät, das mit einem zweiten Computergerät kommunikativ gekoppelt ist; Nachverfolgen der Bewegung des zweiten Computergeräts in einer umliegenden Umgebung; Bestimmen, mithilfe eines oder mehrerer Sensoren, eines Bewegungsbereichs, der der Bewegung zugeordnet ist, die dem zweiten elektronischen Gerät in der umliegenden Umgebung zugeordnet ist; Korrelieren des Bewegungsbereichs, der der umliegenden Umgebung zugeordnet ist, mit einem Bewegungsbereich, der der virtuellen Umgebung zugeordnet ist; Bestimmen, für eine Vielzahl virtueller Objekte, einer virtuellen Konfiguration, die an den Bewegungsbereich angepasst ist, der der virtuellen Umgebung zugeordnet ist; und Auslösen der Wiedergabe, in der virtuellen Umgebung des ersten elektronischen Geräts, der Vielzahl virtueller Objekte gemäß der virtuellen Konfiguration.
  13. Nicht transitorisches, maschinenlesbares Medium nach Anspruch 12, wobei mindestens eines der Vielzahl virtueller Objekte Teil einer Benutzeroberfläche ist, die die virtuelle Umgebung und die Optionen anzeigt, die der virtuellen Umgebung zugeordnet sind, und wobei das Bestimmen der virtuellen Konfiguration das Anpassen der Benutzeroberfläche beinhaltet, sodass sie mit dem Bewegungsbereich übereinstimmt, der der virtuellen Umgebung zugeordnet ist.
  14. Nicht transitorisches, maschinenlesbares Medium nach Anspruch 12, wobei das Korrelieren des Bewegungsbereichs, der der umliegenden Umgebung zugeordnet ist, mit einem Bewegungsbereich, der der virtuellen Umgebung zugeordnet ist, das Bestimmen eines physischen Aspekts eines Benutzers beinhaltet, der auf das erste elektronische Gerät zugreift.
  15. Nicht transitorisches, maschinenlesbares Medium nach Anspruch 12, wobei das erste elektronische Gerät ein HMD-Gerät und das zweite elektronische Gerät ein tragbares elektronisches Gerät ist.
  16. Nicht transitorisches, maschinenlesbares Medium nach Anspruch 12, wobei das Bestimmen einer virtuellen Konfiguration, die an den Bewegungsbereich angepasst ist, der der virtuellen Umgebung zugeordnet ist, für die Vielzahl virtueller Objekte das Bestimmen eines physischen Aspekts eines Benutzers beinhaltet, der dem ersten elektronischen Gerät zugeordnet ist, und das Abschätzen einer Reichweitenzone mithilfe des physischen Aspekts des Benutzers und des Bewegungsbereichs, der der umliegenden Umgebung zugeordnet ist, wobei die Reichweitenzone als Bereich innerhalb der Reichweite des Benutzers verwendet wird, der dem ersten elektronischen Gerät zugeordnet ist und/oder darauf zugreift, und in welchem eine Vielzahl von virtuellen Objekte in der virtuellen Umgebung platziert werden soll.
  17. System, umfassend: Speicher und mindestens einen Prozessor, der mit dem Speicher gekoppelt ist, wobei der mindestens eine Prozessor konfiguriert ist um: eine virtuelle Umgebung mit einem ersten elektronischen Gerät zu erzeugen, das mit einem zweiten elektronischen Gerät kommunikativ gekoppelt ist; die Bewegung des zweiten elektronischen Geräts in einer umliegenden Umgebung nachzuverfolgen; mithilfe eines oder mehrerer Sensoren einen Bewegungsbereich zu bestimmen, der der Bewegung in der umliegenden Umgebung zugeordnet ist; den Bewegungsbereich, der der umliegenden Umgebung zugeordnet ist, mit einem Bewegungsbereich zu korrelieren, der der virtuellen Umgebung zugeordnet ist; für eine Vielzahl virtueller Objekte eine virtuelle Konfiguration zu bestimmen, die an den Bewegungsbereich angepasst ist, der der virtuellen Umgebung zugeordnet ist; und die Wiedergabe der Vielzahl von virtuellen Objekten gemäß der virtuellen Konfiguration in der virtuellen Umgebung des ersten elektronischen Geräts auszulösen.
  18. System nach Anspruch 17, wobei das Korrelieren des Bewegungsbereichs, der der umliegenden Umgebung zugeordnet ist, mit einem Bewegungsbereich, der der virtuellen Umgebung zugeordnet ist, ferner das Ermöglichen beinhaltet, dass die mindestens eine Fähigkeit in der virtuellen Umgebung eine sitzende Position eines Benutzers berücksichtigt, der auf das erste elektronische Gerät zugreift, in Reaktion auf das Bestimmen, dass der Benutzer sich in einer sitzenden Position befindet, während er auf das erste elektronischen Gerät zugreift.
  19. System nach Anspruch 17, wobei das Nachverfolgen der Bewegung des zweiten elektronischen Geräts in der umliegenden Umgebung das Analysieren der Beschleunigungssensordaten beinhaltet, die im zweiten elektronischen Gerät gespeichert sind.
  20. System nach Anspruch 17, wobei das erste elektronische Gerät ein HMD-Gerät und das zweite elektronische Gerät ein tragbares elektronisches Gerät ist.
DE202017104403.3U 2016-07-22 2017-07-24 Erkennen des Benutzerbewegungsbereichs für Virtual-Reality-Benutzeroberflächen Active DE202017104403U1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201662365526P 2016-07-22 2016-07-22
US62/365,526 2016-07-22

Publications (1)

Publication Number Publication Date
DE202017104403U1 true DE202017104403U1 (de) 2017-10-26

Family

ID=59501623

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202017104403.3U Active DE202017104403U1 (de) 2016-07-22 2017-07-24 Erkennen des Benutzerbewegungsbereichs für Virtual-Reality-Benutzeroberflächen

Country Status (7)

Country Link
US (1) US20180024623A1 (de)
EP (1) EP3488321B1 (de)
JP (1) JP6676213B2 (de)
KR (1) KR102239855B1 (de)
CN (1) CN109478101B (de)
DE (1) DE202017104403U1 (de)
WO (1) WO2018017993A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190058839A (ko) * 2017-11-22 2019-05-30 삼성전자주식회사 사용자 인터페이스를 적응적으로 구성하기 위한 장치 및 방법

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10198874B2 (en) 2016-05-13 2019-02-05 Google Llc Methods and apparatus to align components in virtual reality environments
US10345925B2 (en) * 2016-08-03 2019-07-09 Google Llc Methods and systems for determining positional data for three-dimensional interactions inside virtual reality environments
US10429949B2 (en) * 2017-06-30 2019-10-01 Htc Corporation User interaction apparatus and method
US11199946B2 (en) * 2017-09-20 2021-12-14 Nec Corporation Information processing apparatus, control method, and program
US11303814B2 (en) * 2017-11-09 2022-04-12 Qualcomm Incorporated Systems and methods for controlling a field of view
US11019389B2 (en) * 2017-12-04 2021-05-25 Comcast Cable Communications, Llc Determination of enhanced viewing experiences based on viewer engagement
JP7252398B2 (ja) * 2018-07-04 2023-04-04 マクセル株式会社 仮想オブジェクト操作方法およびヘッドマウントディスプレイ
WO2020026380A1 (ja) * 2018-08-01 2020-02-06 楽天株式会社 表示装置、表示方法、プログラム、ならびに、非一時的なコンピュータ読取可能な情報記録媒体
US11644940B1 (en) * 2019-01-31 2023-05-09 Splunk Inc. Data visualization in an extended reality environment
US11853533B1 (en) 2019-01-31 2023-12-26 Splunk Inc. Data visualization workspace in an extended reality environment
US10937218B2 (en) * 2019-07-01 2021-03-02 Microsoft Technology Licensing, Llc Live cube preview animation
US11244516B2 (en) 2019-09-16 2022-02-08 Magic Leap, Inc. Object interactivity in virtual space
US11544282B1 (en) * 2019-10-17 2023-01-03 Splunk Inc. Three-dimensional drill-down data visualization in extended reality environment
US11157132B2 (en) * 2019-11-08 2021-10-26 Sap Se Immersive experience password authentication in extended reality environments
US11175730B2 (en) * 2019-12-06 2021-11-16 Facebook Technologies, Llc Posture-based virtual space configurations
CN115053203A (zh) * 2020-02-24 2022-09-13 Oppo广东移动通信有限公司 头戴式设备的显示控制方法、设备及计算机存储介质
US11257280B1 (en) 2020-05-28 2022-02-22 Facebook Technologies, Llc Element-based switching of ray casting rules
US11256336B2 (en) 2020-06-29 2022-02-22 Facebook Technologies, Llc Integration of artificial reality interaction modes
US11567563B2 (en) 2020-07-30 2023-01-31 International Business Machines Corporation Adapting extended reality applications to user capability and preference
US11178376B1 (en) 2020-09-04 2021-11-16 Facebook Technologies, Llc Metering for display modes in artificial reality
US11294475B1 (en) 2021-02-08 2022-04-05 Facebook Technologies, Llc Artificial reality multi-modal input switching model
US11556169B2 (en) * 2021-02-11 2023-01-17 Meta Platforms Technologies, Llc Adaptable personal user interfaces in cross-application virtual reality settings

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH075978A (ja) * 1993-06-18 1995-01-10 Sony Corp 入力装置
JP2004258766A (ja) * 2003-02-24 2004-09-16 Nippon Telegr & Teleph Corp <Ntt> 自己画像表示を用いたインタフェースにおけるメニュー表示方法、装置、プログラム
JP4533087B2 (ja) * 2004-10-28 2010-08-25 キヤノン株式会社 画像処理方法、画像処理装置
US7840031B2 (en) * 2007-01-12 2010-11-23 International Business Machines Corporation Tracking a range of body movement based on 3D captured image streams of a user
JP4701424B2 (ja) * 2009-08-12 2011-06-15 島根県 画像認識装置および操作判定方法並びにプログラム
JP5114795B2 (ja) * 2010-01-29 2013-01-09 島根県 画像認識装置および操作判定方法並びにプログラム
BR112012031104A2 (pt) * 2010-06-10 2016-08-16 Koninkl Philips Electronics Nv aparelho para apresentar uma opção, método de apresentação de uma opção e meio legível por máquina que armazena instruções legíveis por máquina
JP5875169B2 (ja) * 2010-11-09 2016-03-02 任天堂株式会社 ゲームシステム、ゲーム装置、ゲームプログラム、および、ゲーム処理方法
US9067136B2 (en) * 2011-03-10 2015-06-30 Microsoft Technology Licensing, Llc Push personalization of interface controls
AU2011205223C1 (en) * 2011-08-09 2013-03-28 Microsoft Technology Licensing, Llc Physical interaction with virtual objects for DRM
US9292085B2 (en) * 2012-06-29 2016-03-22 Microsoft Technology Licensing, Llc Configuring an interaction zone within an augmented reality environment
JP2014056462A (ja) * 2012-09-13 2014-03-27 Toshiba Alpine Automotive Technology Corp 操作装置
US9323057B2 (en) * 2012-12-07 2016-04-26 Blackberry Limited Mobile device, system and method for controlling a heads-up display
US9700240B2 (en) * 2012-12-14 2017-07-11 Microsoft Technology Licensing, Llc Physical activity inference from environmental metrics
EP3001407A4 (de) * 2013-05-21 2017-01-25 Sony Corporation Anzeigesteuerungsvorrichtung, anzeigesteuerungsverfahren und aufzeichnungsmedium
US9063578B2 (en) * 2013-07-31 2015-06-23 Microsoft Technology Licensing, Llc Ergonomic physical interaction zone cursor mapping
US9448689B2 (en) * 2013-08-30 2016-09-20 Paypal, Inc. Wearable user device enhanced display system
JP2016048541A (ja) * 2014-06-19 2016-04-07 株式会社リコー 情報処理システム、情報処理装置及びプログラム
US9904055B2 (en) * 2014-07-25 2018-02-27 Microsoft Technology Licensing, Llc Smart placement of virtual objects to stay in the field of view of a head mounted display
US10043319B2 (en) * 2014-11-16 2018-08-07 Eonite Perception Inc. Optimizing head mounted displays for augmented reality
US10627908B2 (en) * 2015-03-27 2020-04-21 Lucasfilm Entertainment Company Ltd. Facilitate user manipulation of a virtual reality environment view using a computing device with touch sensitive surface
CN105159954B (zh) * 2015-08-17 2018-09-11 武汉理工大学 基于gis与虚拟现实技术的三维电子海图生成方法
CN105141867B (zh) * 2015-09-28 2018-06-26 于卫华 智能穿戴WiFi播放便携投映器
US9870064B2 (en) * 2016-06-13 2018-01-16 Rouslan Lyubomirov DIMITROV System and method for blended reality user interface and gesture control system
US10037626B2 (en) * 2016-06-30 2018-07-31 Microsoft Technology Licensing, Llc Interaction with virtual objects based on determined restrictions
US10198855B2 (en) * 2016-07-20 2019-02-05 Colopl, Inc. Method of providing virtual space, method of providing virtual experience, system and medium for implementing the methods

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190058839A (ko) * 2017-11-22 2019-05-30 삼성전자주식회사 사용자 인터페이스를 적응적으로 구성하기 위한 장치 및 방법
EP3705982A4 (de) * 2017-11-22 2020-12-30 Samsung Electronics Co., Ltd. Vorrichtung und verfahren zur adaptiven konfiguration einer benutzerschnittstelle
US11226675B2 (en) 2017-11-22 2022-01-18 Samsung Electronics Co., Ltd. Apparatus and method for adaptively configuring user interface
KR102572675B1 (ko) * 2017-11-22 2023-08-30 삼성전자주식회사 사용자 인터페이스를 적응적으로 구성하기 위한 장치 및 방법

Also Published As

Publication number Publication date
WO2018017993A1 (en) 2018-01-25
KR102239855B1 (ko) 2021-04-13
US20180024623A1 (en) 2018-01-25
KR20190025934A (ko) 2019-03-12
JP6676213B2 (ja) 2020-04-08
EP3488321A1 (de) 2019-05-29
EP3488321B1 (de) 2021-05-05
JP2019521452A (ja) 2019-07-25
CN109478101A (zh) 2019-03-15
CN109478101B (zh) 2022-05-03

Similar Documents

Publication Publication Date Title
DE202017104403U1 (de) Erkennen des Benutzerbewegungsbereichs für Virtual-Reality-Benutzeroberflächen
US11475650B2 (en) Environmentally adaptive extended reality display system
DE102016125811A1 (de) Zweihändige Objektmanipulationen in der virtuellen Realität
US20210072889A1 (en) Systems and methods for representing data, media, and time using spatial levels of detail in 2d and 3d digital applications
US20220229534A1 (en) Coordinating cursor movement between a physical surface and a virtual surface
DE202017105262U1 (de) Erzeugen virtueller Notationsoberflächen mit Gesten in einer erweiterten und/oder virtuellen Realitätsumgebung
US10359863B2 (en) Dragging virtual elements of an augmented and/or virtual reality environment
US20170256096A1 (en) Intelligent object sizing and placement in a augmented / virtual reality environment
DE112020002268T5 (de) Vorrichtung, verfahren und computerlesbares medium zur darstellung von dateien computergenerierter realität
KR102233807B1 (ko) 가상 현실 시스템을 위한 입력 제어기 안정화 기법
CN110476142A (zh) 虚拟对象用户界面显示
DE102017121697A1 (de) Steuern von Eingabe und Ausgabe auf mehreren Seiten einer Computervorrichtung
KR102282297B1 (ko) 가상 현실의 오브젝트에 대한 협업적 조작
CN109643167A (zh) 基于用户和机器界面之间的检测距离的交互模式选择
DE112015002463T5 (de) Systeme und Verfahren zum gestischen Interagieren in einer im Umfeld vorhandenen Computerumgebung
DE202017105283U1 (de) Sitzungsende-Erkennung in einer Augmented- und/oder Virtual-Reality-Umgebung
Bernardos et al. A comparison of head pose and deictic pointing interaction methods for smart environments
WO2019067482A1 (en) DISPLAYING APPLICATIONS IN A SIMULATED REALITY ENVIRONMENT ENVIRONMENT
JP2020501223A (ja) バーチャル環境におけるジェスチャに基づくアクセス制御
DE112017001781T5 (de) Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und nicht transientes, computerlesbares Medium
WO2018004776A1 (en) Virtual manipulator rendering
DE112020000573T5 (de) Anzeigen von darstellungen von umgebungen
DE102022117756A1 (de) Anweisen eines virtuellen agenten basierend auf dem blinkverhalten eines benutzers
DE102022201468A1 (de) Messung basierend auf punktauswahl
US20240069642A1 (en) Scissor hand gesture for a collaborative object

Legal Events

Date Code Title Description
R207 Utility model specification
R081 Change of applicant/patentee

Owner name: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUN, US

Free format text: FORMER OWNER: GOOGLE INC., MOUNTAIN VIEW, CALIF., US

R082 Change of representative

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

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