JP6535819B2 - Control system for navigation in virtual reality environment - Google Patents

Control system for navigation in virtual reality environment Download PDF

Info

Publication number
JP6535819B2
JP6535819B2 JP2018524722A JP2018524722A JP6535819B2 JP 6535819 B2 JP6535819 B2 JP 6535819B2 JP 2018524722 A JP2018524722 A JP 2018524722A JP 2018524722 A JP2018524722 A JP 2018524722A JP 6535819 B2 JP6535819 B2 JP 6535819B2
Authority
JP
Japan
Prior art keywords
virtual
reference point
user
point
feature
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
JP2018524722A
Other languages
Japanese (ja)
Other versions
JP2019502193A (en
Inventor
ビュールマン、マティアス
フィレモン ケーザー、ドミニク
フィレモン ケーザー、ドミニク
ワン、チュン−ポ
シーグミラー、マシュー
ハーデスティ パーカー、エバン
ハーデスティ パーカー、エバン
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 JP2019502193A publication Critical patent/JP2019502193A/en
Application granted granted Critical
Publication of JP6535819B2 publication Critical patent/JP6535819B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/163Wearable computers, e.g. on a belt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/014Hand-worn input/output arrangements, e.g. data gloves
    • 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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/20Linear translation of whole images or parts thereof, e.g. panning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/038Indexing scheme relating to G06F3/038
    • G06F2203/0384Wireless input, i.e. hardware and software details of wireless interface arrangements for pointing devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04806Zoom, i.e. interaction techniques or interactors for controlling the zooming operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision detection, intersection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本願は、一般に拡張現実および/または仮想現実環境における移動およびスケーリングに関する。   The present application relates generally to movement and scaling in augmented reality and / or virtual reality environments.

拡張現実(AR)および/または仮想現実(VR)システムは、3次元(3D)の没入型仮想環境を生成し得る。ユーザがディスプレイ装置を見る時に覗くディスプレイ、眼鏡、またはゴーグルを含む、例えば、ヘルメットまたは他のヘッドマウント装置等の様々な電子装置、センサの取り付けられたグローブ、センサを含む外部のハンドヘルド装置、および他のそのような電子装置との対話を通じて、ユーザはこの3Dの没入型仮想環境を体験し得る。3D仮想環境に没入すると、仮想環境と対話するためのおよび仮想環境との対話をパーソナライズするための物理的な動きおよび/または電子装置の操作を通じて、ユーザは、仮想環境中を移動し、仮想環境の他のエリアに移動してよい。   Augmented reality (AR) and / or virtual reality (VR) systems may create a three dimensional (3D) immersive virtual environment. Various electronic devices, such as, for example, helmets or other head-mounted devices, including displays, glasses, or goggles, which the user looks into when viewing the display device, gloves with attached sensors, external hand-held devices including sensors, and others Through interaction with such electronic devices, the user can experience this 3D immersive virtual environment. When immersing in a 3D virtual environment, the user travels through the virtual environment through the operation of physical devices and / or electronic devices to interact with and personalize the interaction with the virtual environment, the virtual environment You may move to another area of

本明細書に記載される実装による、ヘッドマウントディスプレイ装置およびコントローラを含む仮想現実システムの例示的な実装の図。FIG. 16 is a diagram of an example implementation of a virtual reality system that includes a head mounted display device and a controller according to the implementations described herein. 例示的なヘッドマウントディスプレイの斜視図。FIG. 2 is a perspective view of an exemplary head mounted display. 例示的なヘッドマウントディスプレイの斜視図。FIG. 2 is a perspective view of an exemplary head mounted display. 本明細書に記載される実装による、コントローラを説明する図。FIG. 7 illustrates a controller according to the implementations described herein. 本明細書に記載される実装による、ヘッドマウント電子装置およびコントローラのブロック図。FIG. 6 is a block diagram of head mounted electronics and a controller according to the implementations described herein. 本明細書に記載される実装による、拡張および/または仮想現実環境におけるナビゲーションおよびスケーリング(スケール変更)を説明するサードパーソンビュー。A third person view that illustrates navigation and scaling (scale change) in an augmented and / or virtual reality environment according to the implementations described herein. 本明細書に記載される実装による、拡張および/または仮想現実環境におけるナビゲーションおよびスケーリングを説明するサードパーソンビュー。A third person view that illustrates navigation and scaling in an augmented and / or virtual reality environment according to the implementations described herein. 本明細書に記載される実装による、拡張および/または仮想現実環境におけるナビゲーションおよびスケーリングを説明するサードパーソンビュー。A third person view that illustrates navigation and scaling in an augmented and / or virtual reality environment according to the implementations described herein. 本明細書に記載される実装による、拡張および/または仮想現実環境におけるナビゲーションおよびスケーリングを説明するサードパーソンビュー。A third person view that illustrates navigation and scaling in an augmented and / or virtual reality environment according to the implementations described herein. 本明細書に記載される実装による、拡張および/または仮想現実環境におけるナビゲーションおよびスケーリングを説明するサードパーソンビュー。A third person view that illustrates navigation and scaling in an augmented and / or virtual reality environment according to the implementations described herein. 本明細書に記載される実装による、拡張および/または仮想現実環境におけるナビゲーションおよびスケーリングを説明するサードパーソンビュー。A third person view that illustrates navigation and scaling in an augmented and / or virtual reality environment according to the implementations described herein. 本明細書に記載される実装による、拡張および/または仮想現実環境におけるナビゲーションおよびスケーリングを説明するサードパーソンビュー。A third person view that illustrates navigation and scaling in an augmented and / or virtual reality environment according to the implementations described herein. 本明細書に記載される実装による、拡張および/または仮想現実環境におけるナビゲーションおよびスケーリングを説明するサードパーソンビュー。A third person view that illustrates navigation and scaling in an augmented and / or virtual reality environment according to the implementations described herein. 本明細書に記載される実装による、拡張および/または仮想現実環境におけるナビゲーションおよびスケーリングを説明するサードパーソンビュー。A third person view that illustrates navigation and scaling in an augmented and / or virtual reality environment according to the implementations described herein. 本明細書に記載される実装による、拡張および/または仮想現実環境におけるナビゲーションおよびスケーリングを説明するサードパーソンビュー。A third person view that illustrates navigation and scaling in an augmented and / or virtual reality environment according to the implementations described herein. 本明細書に記載される実装による、拡張および/または仮想現実環境におけるナビゲーションおよびスケーリングを説明するサードパーソンビュー。A third person view that illustrates navigation and scaling in an augmented and / or virtual reality environment according to the implementations described herein. 本明細書に記載される実装による、拡張および/または仮想現実環境におけるナビゲーションおよびスケーリングを説明するサードパーソンビュー。A third person view that illustrates navigation and scaling in an augmented and / or virtual reality environment according to the implementations described herein. 本明細書に記載される実装による、拡張および/または仮想現実環境におけるナビゲーションおよびスケーリングを説明するサードパーソンビュー。A third person view that illustrates navigation and scaling in an augmented and / or virtual reality environment according to the implementations described herein. 本明細書に記載される実装による、拡張および/または仮想現実環境における仮想フォトスフィアでの移動を説明する図。FIG. 7 illustrates movement with a virtual photosphere in an augmented and / or virtual reality environment according to implementations described herein. 本明細書に記載される実装による、拡張および/または仮想現実環境における仮想フォトスフィアでの移動を説明する図。FIG. 7 illustrates movement with a virtual photosphere in an augmented and / or virtual reality environment according to implementations described herein. 本明細書に記載される実装による、拡張および/または仮想現実環境におけるナビゲーティングおよびスケーリングの方法のフローチャート。10 is a flowchart of a method of navigating and scaling in an augmented and / or virtual reality environment according to implementations described herein. 本明細書に記載される技術を実装するために使用可能なコンピュータ装置およびモバイルコンピュータ装置の例を示す図。FIG. 10 is an illustration of an example computing device and mobile computing device that can be used to implement the techniques described herein.

1つの態様では、方法は、仮想環境を生成する工程と、ヘッドマウントディスプレイ装置と通信をするコントローラのユーザインターフェイスにおいて、第1入力を検出する工程と、第1入力に応答して、仮想環境において選択された仮想フィーチャにアンカーポイントを設定する、工程と、第2入力を検出する工程と、第2入力に応答して、アンカーポイントを囲むフィーチャのエリアを定義する工程と、仮想環境のユーザ視界内で、定義されたエリア内に仮想フィーチャの一部を維持しつつ、仮想環境における仮想フィーチャの位置およびスケールのうちの少なくとも一方を調整する工程と、を備える方法でよい。   In one aspect, a method includes: generating a virtual environment; detecting a first input at a user interface of a controller in communication with a head mounted display device; and responding to the first input in the virtual environment Setting an anchor point to the selected virtual feature, detecting a second input, defining an area of the feature surrounding the anchor point in response to the second input, and viewing the user of the virtual environment Adjusting at least one of the position and the scale of the virtual feature in the virtual environment while maintaining a part of the virtual feature within the defined area.

別の態様では、システムは没入型仮想環境を生成するよう構成されたコンピュータ装置を備え、コンピュータ装置は、実行可能な命令を記憶するメモリと、命令を実行するよう構成されたプロセッサと、を有してよい。プロセッサは、コンピュータ装置に、仮想環境を生成する工程と、ヘッドマウントディスプレイ装置と通信をするコントローラのユーザインターフェイスにおいて、第1入力を検出する工程と、第1入力に応答して、仮想環境において選択された仮想フィーチャにアンカーポイントを設定する工程と、第2入力を検出する工程と、第2入力に応答して、アンカーポイントを囲むフィーチャのエリアを、定義する工程と、仮想環境のユーザ視界内で、定義されたエリア内に仮想フィーチャの一部を維持しつつ、仮想環境における仮想フィーチャの位置およびスケールのうちの少なくとも一方を調整する工程と、を実行させてよい。   In another aspect, a system comprises a computing device configured to create an immersive virtual environment, the computing device having a memory for storing executable instructions and a processor configured to execute the instructions. You may The processor is operable to: generate a virtual environment on the computing device; detecting a first input at a user interface of a controller in communication with the head mounted display device; and selecting in the virtual environment in response to the first input. Setting an anchor point to the virtual feature, detecting a second input, defining an area of the feature surrounding the anchor point in response to the second input, and within the user view of the virtual environment Adjusting at least one of the position and the scale of the virtual feature in the virtual environment while maintaining a part of the virtual feature in the defined area.

1つまたは複数の実装の詳細は、添付の図面および下記の記載に説明される。他の特徴は記載および図面、ならびに請求項から明らかとなる。
3D仮想環境に没入した、例えば、ヘッドマウントディスプレイ(HMD)装置を装着したユーザは、様々な異なる種類の入力を通じて3D仮想環境を探検し、また3D仮想環境と対話してよい。これらの入力は、例えば、HMDと別個の電子装置の操作、HMD自体の操作、および/または手/腕のジェスチャーを通じた、頭の動きおよび/または頭および/または眼の方向的な注視、その他を含む、例えば物理的な対話を含んでよい。ユーザは、これらの異なる種類の対話のうちの1つまたは複数を実装して、仮想環境における特定の動作、例えば仮想環境中の移動もしくはユーザに関しての仮想環境の移動、仮想環境の第1エリアから仮想環境の第2エリアへの移動、遷移、またはテレポーティング、仮想環境が体験されるパースペクティブの調整、その他を実行してよい。
The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features will be apparent from the description and drawings, and from the claims.
A user immersed in a 3D virtual environment, for example, wearing a head mounted display (HMD) device may explore the 3D virtual environment through various different types of inputs and may interact with the 3D virtual environment. These inputs may be, for example, head movement and / or directional gaze of the head and / or eyes, etc. through manipulation of the electronic device separate from the HMD, manipulation of the HMD itself and / or hand / arm gestures, etc. May include, for example, physical interaction. The user implements one or more of these different types of interactions to perform specific actions in the virtual environment, such as moving in the virtual environment or moving the virtual environment with respect to the user, from the first area of the virtual environment Moving, transitioning or teleporting to a second area of the virtual environment, adjusting the perspective in which the virtual environment is experienced, etc. may be performed.

本明細書に記載される実装によるシステムおよび方法は、仮想環境におけるフィーチャの操作を行ってよく、仮想環境を通じ移動またはナビゲーションを行ってよく、およびユーザが異なるパースペクティブおよびスケールから仮想環境を見て体験することを可能にしてよい。本明細書に記載される実装によるシステムおよび方法はまた、仮想現実において体験される動的な視覚の移動とその動的な視覚の移動に対応する実際の物理的な運動の欠如との断絶にしばしば関連する、運動酔いおよび方向感覚の喪失を避ける一方、仮想現実における実質的にシームレスな仮想移動体験をユーザに提供してよい。   Systems and methods according to implementations described herein may operate on features in a virtual environment, may move or navigate through the virtual environment, and users view virtual environments from different perspectives and scales. You may be able to The systems and methods according to the implementations described herein also provide for the disconnection of the dynamic visual movement experienced in virtual reality and the lack of actual physical movement corresponding to the dynamic visual movement. A substantially seamless virtual movement experience in virtual reality may be provided to the user while avoiding the often associated motion sickness and loss of orientation.

図1に示す例示的な実装において、HMD100を装着したユーザは、ハンドヘルド電子装置102を持っている。ハンドヘルド電子装置102は、例えば、HMD100により生成された没入型仮想環境における対話のため、HMD100とペアリングされ通信してよいコントローラ、ジャイロマウス、スマートフォン、ジョイスティック、または別のポータブルなコントローラでよい。以下では、単に検討および説明を簡単にするため、ハンドヘルド電子装置102はコントローラ102と称する。コントローラ102は、例えば、有線接続または例えばWiFiまたはBluetooth(登録商標)接続等の無線接続を介して、HMD100と操作可能にカップリングすなわちペアリングされてよい。コントローラ102とHMD100とのこのペアリングすなわち操作可能のカップリングは、コントローラ102とHMD100との通信およびコントローラ102とHMD100との間のデータの交換を提供してよい。これにより、コントローラ102は、HMD100により生成された没入型仮想環境における対話を行うため、HMD100と通信をするコントローラとして機能することが可能になってよい。つまり、コントローラ102は複数の異なる方法で操作されてよい。コントローラ102の操作は、HMD100により生成された没入型仮想環境において、対応する選択もしくは動き、または他の種類の対話に解釈されてよい。これは、例えば、仮想オブジェクトとの対話、操作、または調整と、仮想環境に関するスケールまたはパースペクティブにおける変化と、仮想環境における現在地から仮想環境における選択された目的地またはフィーチャへのユーザの移動(例えばナビゲーション、テレポーテーション、トランスポート)と、他のそのような対話とを含んでよい。いくつかの実装では、上に検討されたように、ユーザは、仮想環境における仮想フィーチャと、ユーザの手を検出および追跡するよう装備されたシステムにより検出される手のジェスチャー等の物理的なジェスチャーを通じて、別個のコントローラの使用に頼ることなく、対話してよい。   In the exemplary implementation shown in FIG. 1, a user wearing the HMD 100 has a handheld electronic device 102. Handheld electronic device 102 may be, for example, a controller that may be paired with and communicate with HMD 100, a gyro mouse, a smartphone, a joystick, or another portable controller for interaction in an immersive virtual environment generated by HMD 100. In the following, the handheld electronic device 102 will be referred to as the controller 102 merely for ease of discussion and explanation. The controller 102 may be operably coupled or paired with the HMD 100 via, for example, a wired connection or a wireless connection such as, for example, a WiFi or Bluetooth® connection. This pairing or operable coupling of the controller 102 and the HMD 100 may provide for communication between the controller 102 and the HMD 100 and exchange of data between the controller 102 and the HMD 100. Thus, the controller 102 may be able to function as a controller communicating with the HMD 100 in order to interact in the immersive virtual environment generated by the HMD 100. That is, controller 102 may be operated in a number of different ways. The operations of controller 102 may be interpreted in the immersive virtual environment generated by HMD 100 as corresponding selections or movements or other types of interactions. This includes, for example, interaction with, manipulation or coordination with virtual objects, changes in scale or perspective with respect to the virtual environment, and movement of the user from the current location in the virtual environment to the selected destination or feature in the virtual environment (eg navigation , Teleportation, transport) and other such interactions. In some implementations, as discussed above, the user has physical gestures such as virtual features in a virtual environment and hand gestures detected by a system equipped to detect and track the user's hands. You may interact without relying on the use of a separate controller.

図2Aおよび図2Bは、例えば、図1においてユーザに装着されるHMD100等の例示的なHMDの斜視図である。図2Cは、例えば、図1に示されるコントローラ102等の例示的なコントローラを説明する図である。   2A and 2B are perspective views of an exemplary HMD, such as, for example, the HMD 100 worn by the user in FIG. FIG. 2C is a diagram illustrating an exemplary controller, such as, for example, the controller 102 shown in FIG.

コントローラ102は、装置102の内部の構成要素が収容されたハウジング103と、ハウジング103の外側にあり、ユーザがアクセス可能なユーザインターフェイス104とを含んでよい。ユーザインターフェイス104は、例えば、ユーザタッチ入力を受信するよう構成されたタッチセンシティブ面106と、ボタン、ノブ、ジョイスティック、トグル、スライド、および他のそのような操作装置を含む操作装置105と、を含む複数の異なる種類の操作装置を含んでよい。いくつかの実装では、コントローラ102はまた、ユーザインターフェイス104において受信されるユーザ入力に応答して、例えばハウジング103におけるポートを通じて例えばビームまたは光線等の光を選択的に放つよう構成された光源108を含んでよい。   The controller 102 may include a housing 103 in which the internal components of the device 102 are housed, and a user interface 104 external to the housing 103 and accessible by a user. The user interface 104 includes, for example, a touch-sensitive surface 106 configured to receive user touch input, and an operating device 105 including buttons, knobs, joysticks, toggles, slides, and other such operating devices. Several different types of operating devices may be included. In some implementations, controller 102 is also configured to selectively emit light source 108, eg, a beam or beam, through a port in housing 103, for example, in response to user input received at user interface 104. May be included.

HMD100は、フレーム120に接続されたハウジング110と、例えばヘッドホンに搭載されたスピーカを含む、同じくフレーム120に接続されたオーディオ出力装置130とを含んでよい。図2Bにおいて、ハウジング110に収容されている構成要素のいくつかが見えるように、ハウジング110のフロント部分110aは、ハウジング110のベース部分110bから回転して遠ざけられている。ディスプレイ140は、ハウジング110のフロント部分110aの内部に面する側に搭載されてよい。レンズ150は、フロント部分110aがハウジング110のベース部分110bに対して閉位置にある場合、ハウジング110において、ユーザの眼とディスプレイ140との間に搭載されてよい。いくつかの実装においては、HMD100は、例えば、オーディオセンサ、画像/光センサ、位置センサ(例えばジャイロスコープおよび加速度計を含む慣性計測装置)等の様々なセンサを含むセンシングシステム160を含んでよい。HMD100はまた、HMD100の動作を行うため、プロセッサ190および様々な制御システム装置を含む制御システム170を含む。   The HMD 100 may include a housing 110 connected to the frame 120 and an audio output device 130 also connected to the frame 120, including, for example, speakers mounted on headphones. In FIG. 2B, the front portion 110a of the housing 110 is rotated away from the base portion 110b of the housing 110 so that some of the components contained in the housing 110 can be seen. The display 140 may be mounted on the interior facing side of the front portion 110 a of the housing 110. The lens 150 may be mounted in the housing 110 between the user's eye and the display 140 when the front portion 110 a is in a closed position relative to the base portion 110 b of the housing 110. In some implementations, the HMD 100 may include a sensing system 160 that includes various sensors such as, for example, audio sensors, image / light sensors, position sensors (eg, inertial measurement devices including gyroscopes and accelerometers). HMD 100 also includes a control system 170 that includes processor 190 and various control system devices to perform the operations of HMD 100.

いくつかの実装では、HMD100は、静止画および動画を取得するカメラ180を含んでよい。カメラ180が取得する画像は、現実世界におけるユーザおよび/またはコントローラ102物理的な位置の追跡を補助するために使用されてよく、および/またはパススルーモードにおいてディスプレイ140においてユーザに表示されてよく、HMD100を外したりなど、ハウジング110をユーザの視線の外に動かすようにHMD100の構成を変更することなく、ユーザが一時的に仮想環境を離れて物理的環境に戻ることを可能にする。   In some implementations, the HMD 100 may include a camera 180 that captures still and moving images. The images acquired by the camera 180 may be used to assist in tracking the physical location of the user and / or controller 102 in the real world, and / or may be displayed to the user on the display 140 in pass-through mode, the HMD 100 Allow the user to temporarily leave the virtual environment and return to the physical environment without changing the configuration of the HMD 100 to move the housing 110 out of the user's line of sight, such as.

いくつかの実装では、HMD100は、ユーザの眼の注視を検出および追跡する注視追跡装置165を含んでよい。注視追跡装置165は、ユーザの眼の画像、例えば瞳孔等のユーザの眼の特定の部分の画像を取得し、ユーザの注視の方向および動きを検出および追跡する、例えば単一の画像センサ165Aまたは複数の画像センサ165Aを含んでよい。いくつかの実装では、HMD100は、検出される注視がユーザ入力として処理され、没入型仮想体験において対応する対話に解釈されるよう構成されてよい。   In some implementations, the HMD 100 may include a gaze tracking device 165 that detects and tracks gaze of the user's eyes. The gaze tracking device 165 acquires an image of the user's eye, for example an image of a particular part of the user's eye, such as the pupil, and detects and tracks the user's gaze direction and movement, for example a single image sensor 165A or A plurality of image sensors 165A may be included. In some implementations, the HMD 100 may be configured such that the detected gaze is treated as user input and interpreted into corresponding interactions in an immersive virtual experience.

拡張および/または仮想現実環境におけるナビゲーションの操作および制御を提供するシステムのブロック図が図3に示されている。システムは、第2電子装置302と通信をする第1電子装置300を含んでよい。第1電子装置300は、図1、図2A、および図2Bに関して上記されるように、例えばHMDであってよく、没入型仮想環境を生成する。第2電子装置302は、図1および図2Cに関して上記されるように、例えばコントローラであってよく、第1電子装置300により生成される没入型仮想環境とのユーザ対話を行うために第1電子装置300と通信をする。   A block diagram of a system for providing navigation manipulation and control in an augmented and / or virtual reality environment is shown in FIG. The system may include a first electronic device 300 in communication with the second electronic device 302. The first electronic device 300 may be, for example, an HMD, as described above with respect to FIGS. 1, 2A and 2B, to create an immersive virtual environment. The second electronic device 302 may be, for example, a controller, as described above with respect to FIGS. 1 and 2C, to perform user interaction with the immersive virtual environment generated by the first electronic device 300. It communicates with the device 300.

第1電子装置300は、図2Aおよび図2Bに示されるセンシングシステム160および制御システム170にそれぞれ類似してよいセンシングシステム360および制御システム370を含んでよい。センシングシステム360は、例えば、光センサ、オーディオセンサ、画像センサ、距離/近接センサ、位置センサ(例えばジャイロスコープおよび加速度計を含む慣性計測装置)、および/または他のセンサ、および/または図2Bに示される注視追跡装置165等の、例えばユーザの眼の注視を検出および追跡するために設置された画像センサ、を含むセンサの異なる組み合わせ、を含む1つまたは複数の異なる種類のセンサを含んでよい。制御システム370は、例えば、電源/ポーズ制御装置、オーディオおよびビデオ制御装置、光学制御装置、遷移制御装置、および/または他のそのような装置、および/または装置の異なる組み合わせを含んでよい。センシングシステム360および/または制御システム370は、特定の実装によって、より多くの、またはより少ない、装置を含んでよい。センシングシステム360および/または制御システム370に含まれる要素は、例えば図2Aおよび図2Bで示されるHMD100以外のHMD内部で、異なる物理的配列(例えば異なる物理的場所)を有してよい。第1電子装置300はまた、センシングシステム360および制御システム370と通信をするプロセッサ390、メモリ380、および第1電子装置300と別の例えば第2電子装置302等の外部装置との間に通信を提供する通信モジュール350を含んでよい。   The first electronic device 300 may include a sensing system 360 and a control system 370 that may be similar to the sensing system 160 and the control system 170 shown in FIGS. 2A and 2B, respectively. The sensing system 360 may be, for example, an optical sensor, an audio sensor, an image sensor, a distance / proximity sensor, a position sensor (eg, an inertial measurement device including a gyroscope and an accelerometer), and / or other sensors, and / or FIG. One or more different types of sensors may be included, including different combinations of sensors including, for example, an image sensor installed to detect and track the user's eye gaze, such as the gaze tracking device 165 shown. . Control system 370 may include, for example, a power / pose control device, an audio and video control device, an optical control device, a transition control device, and / or other such devices, and / or different combinations of devices. Sensing system 360 and / or control system 370 may include more or less devices, depending on the particular implementation. Elements included in sensing system 360 and / or control system 370 may have different physical arrangements (eg, different physical locations) within an HMD other than HMD 100 shown, for example, in FIGS. 2A and 2B. The first electronic device 300 also communicates with the processor 390 in communication with the sensing system 360 and the control system 370, the memory 380, and the first electronic device 300 and another external device, such as the second electronic device 302. A communication module 350 may be included to provide.

第2電子装置302は、第2電子装置302と別の例えば第1電子装置300等の外部装置との間に通信を提供する通信モジュール306を含んでよい。第1電子装置300と第2電子装置302との間のデータの交換を提供することに加えて、通信モジュール306はまた、上記のように光線またはビームを放つように構成されてよい。第2電子装置302は、例えばカメラおよびマイクロフォンに含まれるような画像センサおよびオーディオセンサを含むセンシングシステム304、慣性計測装置、コントローラまたはスマートフォンのタッチセンシティブ面に含まれるようなタッチセンサ、および他のそのようなセンサ、ならびに/またはセンサの異なる組み合わせを含んでよい。プロセッサ309は、第2電子装置302のセンシングシステム304および制御ユニット305と通信をしてよい。制御ユニット305はメモリ308へのアクセスを有し、また第2電子装置302の全体の動作を制御する。   The second electronic device 302 may include a communication module 306 that provides communication between the second electronic device 302 and another external device, such as the first electronic device 300. In addition to providing exchange of data between the first electronic device 300 and the second electronic device 302, the communication module 306 may also be configured to emit a light beam or beam as described above. The second electronic device 302 may for example be a sensing system 304 including an image sensor and an audio sensor such as included in a camera and a microphone, an inertial measurement device, a touch sensor as included in a controller or a touch sensitive surface of a smartphone, and the like Such sensors, and / or different combinations of sensors may be included. Processor 309 may be in communication with sensing system 304 and control unit 305 of second electronic device 302. Control unit 305 has access to memory 308 and controls the overall operation of second electronic device 302.

上で述べられた通り、例えば上記のコントローラ102等のコントローラは、仮想環境における対話およびナビゲーションのため、しばしば上記のHMD100の機能と組み合わせて、ユーザにより操作されてよい。これの例示的な実装が図4A乃至4Eに示される。   As mentioned above, a controller, such as the controller 102 described above, may be manipulated by the user, often in combination with the functionality of the HMD 100 described above, for interaction and navigation in a virtual environment. Exemplary implementations of this are shown in FIGS. 4A-4E.

ユーザにより体験される仮想環境を生成するHMD100を装着したユーザは、コントローラ102を操作し、仮想環境400において仮想オブジェクトおよび仮想フィーチャをナビゲートおよび操作してよい。図4Aに示されるように、固定の、設定されたコントローラリファレンスポイント410は、コントローラ102が動くときにコントローラ102に対して固定状態で留まってもよいが、コントローラ102に関連付けられ得る。以下では、単に検討および説明を簡単にするため、設定されたコントローラリファレンスポイント410は、図面において仮想クロスヘアのセットとして図示される。設定されたコントローラリファレンスポイント410は仮想クロスヘアの交差箇所に存在している。設定されたコントローラリファレンスポイント410/仮想クロスヘア410は、ユーザが仮想環境400において仮想オブジェクトおよびフィーチャに対してコントローラ102を動かすときに、コントローラ102と共に動き、コントローラ102に関し固定位置に留まってよい。図4Aに示される例では、仮想クロスヘア410は、コントローラ102に対する固定位置に留まり、基本的にコントローラ102と共に動く、仮想の表現、つまりアイコンを含む。仮想クロスヘア410は、単に検討および説明を簡単にするため、以下においてこのように表現される。しかしながら、いくつかの実施形態では、仮想クロスヘア410は、コントローラ102に対する空間における既知の位置(コントローラ102および/またはHMD100に検出される)を表現してよいが、ユーザに対して可視表現、つまりアイコンの形態でレンダリングされなくてよく、そのため、仮想環境400における仮想オブジェクトおよびフィーチャに対するユーザのビューおよびアクセスが、仮想クロスヘア410の可視表現により不明瞭にされない。   A user wearing the HMD 100 creating a virtual environment experienced by the user may operate the controller 102 to navigate and manipulate virtual objects and virtual features in the virtual environment 400. As shown in FIG. 4A, a fixed, configured controller reference point 410 may remain fixed with respect to the controller 102 when the controller 102 moves, but may be associated with the controller 102. In the following, the set controller reference point 410 is illustrated as a set of virtual crosshairs in the drawings, merely for the sake of simplicity and discussion. The set controller reference point 410 exists at the intersection of the virtual crosshairs. The configured controller reference point 410 / virtual cross hair 410 may move with the controller 102 and remain in a fixed position with respect to the controller 102 as the user moves the controller 102 relative to virtual objects and features in the virtual environment 400. In the example shown in FIG. 4A, virtual crosshair 410 includes a virtual representation, or icon, that remains in a fixed position relative to controller 102 and essentially moves with controller 102. The virtual crosshairs 410 are represented as such in the following merely for ease of discussion and explanation. However, in some embodiments, the virtual crosshair 410 may represent a known position in space relative to the controller 102 (detected by the controller 102 and / or the HMD 100), but the visual representation or icon to the user The view and access of the user to virtual objects and features in the virtual environment 400 are not obscured by the visual representation of the virtual crosshair 410.

図4Aは、ユーザの仮想フィーチャ450との仮想対話の開始を説明する。仮想フィーチャ450は、仮想対話の開始のユーザにより見られるように示される。図4Aに示されるように、仮想環境400におけるユーザの仮想フィーチャ450との対話の開始時、例えば時間t=0において、ユーザは、仮想フィーチャ450に関連付けられたアンカーポイント420を定義してよい。図4Aにおいて、アンカーポイント420は、例えば、ユーザが仮想環境400において移動、および/または仮想オブジェクトおよびフィーチャに対して位置および/またはパースペクティブを変更するときに、ユーザが自分の視界に留めたいと望む仮想フィーチャ450の部分を識別してよい。ユーザの仮想フィーチャ450との対話の開始時、つまり時間t=0において、アンカーポイント420は、仮想ターゲット線415により定義されてよい。その仮想ターゲット線415は、設定されたユーザリファレンスポイント100Aから延長し、ユーザリファレンスポイント100Aおよび/または仮想クロスヘア410を動かすユーザにより制御されてよい仮想ターゲット線415の方向により定義される仮想フィーチャ450の選択された部分と仮想クロスヘア410を通じて交差する。   FIG. 4A illustrates the initiation of a virtual interaction with a user virtual feature 450. Virtual feature 450 is shown as seen by the user at the start of the virtual interaction. As shown in FIG. 4A, at the start of the user's interaction with virtual feature 450 in virtual environment 400, eg, at time t = 0, the user may define anchor point 420 associated with virtual feature 450. In FIG. 4A, anchor point 420 may want the user to stay in his view, for example, as the user moves in virtual environment 400 and / or changes position and / or perspective relative to virtual objects and features. Portions of virtual feature 450 may be identified. The anchor point 420 may be defined by the virtual target line 415 at the beginning of the user's interaction with the virtual feature 450, ie at time t = 0. The virtual target line 415 extends from the set user reference point 100A and is defined by the direction of the virtual target line 415 which may be controlled by the user reference point 100A and / or the user moving the virtual cross hair 410. The selected part intersects with the virtual cross hair 410.

ユーザリファレンスポイント100Aは、例えば、ユーザの眼の位置またはその近くの位置、ユーザの眼の間の場所に対応する位置、または他の設定された位置等、HMD100における設定された場所で定義されてよい。この設定されたユーザリファレンスポイント100Aは、ユーザおよび特にユーザの頭が仮想環境400において動いて位置/方向を変更するときに、HMD100上でまたはHMD100に対して設定されたまま、つまり一定のままでよい。同様に、コントローラ102に対する仮想クロスヘア410の場所/位置/方向は、ユーザおよび特にユーザの腕/コントローラ102を持つ手が仮想環境において場所/位置/方向を変更するときに、コントローラ102上でまたはコントローラ102に対して設定されたまま、つまり一定の位置のままでよい。HMD100の場所および位置/方向ならびにHMD100に対するコントローラ102の場所および位置/方向は、実質的にリアルタイムで、システムにより検出および追跡されてよく、設定されたユーザリファレンスポイント100Aの一定の場所およびコントローラ102に対する仮想クロスヘア410の一定の場所もまた、実質的にリアルタイムで、検出および追跡されてよい。   The user reference point 100A is defined at a set place in the HMD 100, such as a position at or near the user's eye, a position corresponding to a place between the user's eyes, or another set place. Good. The set user reference point 100A remains set on the HMD 100 or with respect to the HMD 100 when the user and in particular the user's head move in the virtual environment 400 to change the position / orientation, ie, it remains constant. Good. Similarly, the location / position / orientation of the virtual crosshair 410 relative to the controller 102 may be on or on the controller 102 as the user and in particular the hand holding the user's arm / controller 102 changes location / position / orientation in the virtual environment. It may be set to 102, that is, it may remain at a fixed position. The location and position / direction of the HMD 100 and the location and position / direction of the controller 102 relative to the HMD 100 may be detected and tracked by the system in substantially real time, relative to the fixed location of the set user reference point 100A and the controller 102. Certain locations of virtual crosshairs 410 may also be detected and tracked in substantially real time.

図4Aに示される例において、設定されたユーザリファレンスポイント100Aから仮想クロスヘア410を通じて、選択されたアンカーポイント420まで延長している仮想ターゲット線415は、点線で表現される。しかしながら、いくつかの実装では、仮想ターゲット線415は、必ずしもユーザにより見られる可視表現またはオブジェクトとしてレンダリングされなくてよく、そのため、仮想環境における仮想オブジェクトおよびフィーチャに対するユーザのビューおよびアクセスが、仮想ターゲット線420の可視表現により不明瞭にされない。いくつかの実装においては、可視表現、例えばドットは、仮想ターゲット線415により識別される仮想フィーチャ450上の点にアンカーポイント420としてレンダリングされてよい。ユーザのビューの例、つまり、ユーザがアンカーポイント420を設定したときの、図4Aに示す仮想フィーチャ450に対するユーザの仮想位置からのパースペクティブは、図4Bに示される。図4Aに示される構成は、例えば、ボタンまたはトリガを押下する等、コントローラ102のユーザインターフェイス104において装置を操作することによる、ユーザの仮想フィーチャ450との対話の開始、つまり時間t=0を表現してよい。   In the example shown in FIG. 4A, the virtual target line 415 extending from the set user reference point 100A to the selected anchor point 420 through the virtual cross hair 410 is represented by a dotted line. However, in some implementations, the virtual target line 415 may not necessarily be rendered as a visual representation or object seen by the user, so that the user's view and access to virtual objects and features in the virtual environment is a virtual target line Not obscured by the 420 visual representation. In some implementations, a visible representation, eg, a dot, may be rendered as anchor point 420 at a point on virtual feature 450 identified by virtual target line 415. An example of the user's view, ie, the perspective from the user's virtual position relative to the virtual feature 450 shown in FIG. 4A when the user sets the anchor point 420, is shown in FIG. 4B. The configuration shown in FIG. 4A represents the beginning of the user's interaction with the virtual feature 450 by operating the device at the user interface 104 of the controller 102, eg pressing a button or trigger, ie, time t = 0 You may

ボタンまたはトリガの押下(またはコントローラ102のユーザインターフェイス104における他の操作装置の始動)は、図4Aに示されるように、アンカーポイント420を識別及び設定するために使用されてよい。アンカーポイント420を設定した後、ユーザの動き、例えば、頭と手/腕の動き、および、仮想クロスヘア410を通じてアンカーポイント420まで延長している、仮想ターゲット線415の対応する動き(ユーザの頭上の設定されたユーザリファレンスポイント100Aの動きおよびユーザの手に持たれたコントローラ102の動きによる)は、仮想環境400において仮想フィーチャ450を移動およびスケール変更してよい。例えば、アンカーポイント420が上記のように設定されると、図4Cに示されるような仮想ターゲット線415の(ボタンまたはトリガは押下されたまま図4Aに示される位置からの)下方運動は、アンカーポイント420の下方移動を生じてよく、仮想環境400のスケールにおける変化(ユーザの足は仮想地面に着いたまま、かつ仮想フィーチャ450は仮想地面に着いたままであるが)、および特に、仮想環境400においてアンカーポイント420によりアンカーされた仮想フィーチャ450のスケール、および、図4Dに示されるように、仮想フィーチャ450に対するユーザのビューまたはパースペクティブにおける変化をもたらす結果となる。   The depression of a button or trigger (or activation of another operating device in the user interface 104 of the controller 102) may be used to identify and set the anchor point 420, as shown in FIG. 4A. After setting the anchor point 420, the user's movements, eg head and hand / arm movements, and the corresponding movement of the virtual target line 415 extending over the virtual cross hair 410 to the anchor point 420 (above the user's head The movement of the set user reference point 100A and the movement of the controller 102 held by the user's hand) may move and scale the virtual feature 450 in the virtual environment 400. For example, when anchor point 420 is set as described above, downward movement (from the position shown in FIG. 4A with the button or trigger held down) of virtual target line 415 as shown in FIG. A downward movement of point 420 may occur, a change in the scale of virtual environment 400 (while the user's foot remains on virtual ground, and virtual feature 450 remains on virtual ground), and, in particular, the virtual environment This results in a change in the scale of the virtual feature 450 anchored by the anchor point 420 at 400 and the user's view or perspective on the virtual feature 450 as shown in FIG. 4D.

同様に、アンカーポイント420が上記のように設定されると、図4Eに示されるような仮想ターゲット線415の(例えばボタンまたはトリガは押下されたまま図4Aに示される位置からの)上方運動は、アンカーポイント420の上方移動を生じてよく、仮想環境400のスケールにおける変化、および特に、仮想環境400においてアンカーポイント420によりアンカーされた仮想フィーチャ450に対するユーザのスケールまたはパースペクティブ、および、図4Fに示されるように、フィーチャに対するユーザのビューまたはパースペクティブにおける変化をもたらす結果となる。   Similarly, once anchor point 420 is set as described above, upward movement of virtual target line 415 as shown in FIG. 4E (eg, from the position shown in FIG. 4A with the button or trigger held down) , May cause the upward movement of anchor point 420, the change in scale of virtual environment 400, and in particular, the user's scale or perspective relative to virtual feature 450 anchored by anchor point 420 in virtual environment 400, and shown in FIG. 4F. Result in a change in the user's view or perspective on the feature.

仮想環境においてスケールの調整をすることは、仮想環境における仮想フィーチャに対するユーザのサイズにおける変化(増加または減少)もしくは仮想環境における仮想フィーチャに対するユーザのパースペクティブにおける対応する変化であってよい(または変化、すなわち、仮想環境におけるユーザに対する仮想フィーチャのサイズにおける増加または減少であると考えられてよい)。例えば、ユーザは、ユーザが仮想環境を、ユーザのパースペクティブからあたかも仮想環境における仮想フィーチャに対する自身のサイズが増加したかのように(および/または仮想フィーチャのサイズ/スケールが減少して見えるように)経験するように、スケールアップをすることを選択してよい。同様に、ユーザは、ユーザが仮想環境を、ユーザのパースペクティブからあたかも仮想環境における仮想フィーチャに対する自身のサイズが減少したかのように(および/または仮想フィーチャのサイズ/スケールが増加して見えるように)経験するように、スケールダウンをすることを選択してよい。仮想環境におけるこの種のスケーリングは、ユーザのサイズ/スケーリング、特に仮想環境における仮想フィーチャに対するユーザのパースペクティブにおける仮想調整、または仮想環境におけるユーザに対する仮想フィーチャのサイズ/スケーリングにおける仮想調整と考えられてよい。以下では、単に検討を簡単にするため、スケーリングは、仮想フィーチャに対するユーザのサイズ/スケールの仮想調整および/または仮想環境における仮想フィーチャのサイズ/スケールの仮想調整を含むものと考えられる。図4Aに示される位置から図4Cに示される位置(図4Cにおいてゴースト像として点線で図示される)へのおよび/または図4Aに示される位置から図4Eに示される位置(図4Eにおいてゴースト像として点線で図示される)への運動は、例示的な上および下方運動、ならびに仮想環境400における仮想フィーチャ450の対応する移動および/または仮想環境400に対するユーザのスケーリング(またはユーザに対する仮想環境400のスケーリング)を説明する。しかしながら、他の方向への動き(ボタンまたはトリガは押下されたまま)もまた、アンカーポイント420を、対応する動きを通じて、選択された仮想フィーチャ450の識別された部分にアンカーされたままにさせてよい。例えば、右への運動は、仮想フィーチャ450がユーザの回りを動くまたは周回するエフェクトを生じてよい。同様に、ユーザの腕がユーザに接近する運動は、仮想フィーチャ450へ接近するズームのエフェクトを生じてよい。   Adjusting the scale in the virtual environment may be a change (increase or decrease) in the size of the user for the virtual feature in the virtual environment or a corresponding change in the user's perspective for the virtual feature in the virtual environment , May be considered as an increase or decrease in the size of virtual features for users in the virtual environment). For example, as the user sees the virtual environment from the user's perspective as if his / her size for the virtual features in the virtual environment has increased (and / or the size / scale of the virtual features may appear to decrease) You may choose to scale up as you experience. Similarly, the user can view the virtual environment as if from the user's perspective, as if his own size decreased for virtual features in the virtual environment (and / or the virtual feature size / scale would increase) ) You may choose to scale down as you experience. This kind of scaling in the virtual environment may be considered as the size / scaling of the user, in particular the virtual adjustment in the user's perspective for virtual features in the virtual environment, or the virtual adjustment in the size / scaling of virtual features for the user in the virtual environment. In the following, scaling is considered to include virtual adjustment of the user's size / scale to virtual features and / or virtual adjustment of the virtual feature's size / scale in the virtual environment, merely to simplify the discussion. The position shown in FIG. 4E from the position shown in FIG. 4A to the position shown in FIG. 4C (shown in phantom as a ghost image in FIG. 4C) and / or from the position shown in FIG. Motions as illustrated by the dotted line) and the corresponding movement of the virtual features 450 in the virtual environment 400 and / or scaling of the user relative to the virtual environment 400 (or of the virtual environment 400 to the user). Describe the scaling). However, movement in the other direction (while the button or trigger is held down) also causes anchor point 420 to remain anchored to the identified portion of selected virtual feature 450 through the corresponding movement. Good. For example, movement to the right may cause the virtual feature 450 to move or orbit around the user. Similarly, movement of the user's arm closer to the user may produce the effect of zooming closer to the virtual feature 450.

ある動作に応答して、システムは、設定されたユーザリファレンスポイント、コントローラ102に対する仮想クロスヘア410の位置、および設定された仮想リファレンスポイント400Aに関連付けられたある固定のパラメータを用いてよい。仮想リファレンスポイント400Aは、実質的に静止したままであり、様々な運動および/またはフィーチャの移動および/または上記のようなスケーリングを通じて変わらない。以下では、設定された仮想リファレンスポイント400Aは、仮想環境400において仮想地面に対応するリファレンス平面または仮想床面とする。つまり、図5に示される例に図示されるように、例示的な下方運動(点線で示される腕/手/コントローラ位置から、実線で示される腕/手/コントローラ位置まで)に応答して、システムはある固定のパラメータを用いて、ユーザは仮想フィーチャ450をスケール変更して、全て仮想ターゲット線415の範囲であるような、スケール変更済みフィーチャ450A、スケール変更済みフィーチャ450B、またはスケール変更済みフィーチャ450Cにすることを意図しているかどうかの判定をしてよい。これは、図6A乃至図6Fを参照してより詳細が説明される。   In response to an operation, the system may use a set user reference point, the position of virtual crosshair 410 relative to controller 102, and certain fixed parameters associated with set virtual reference point 400A. The virtual reference point 400A remains substantially stationary and does not change through movement of various motions and / or features and / or scaling as described above. Hereinafter, the set virtual reference point 400A is a reference plane or a virtual floor surface corresponding to a virtual ground in the virtual environment 400. That is, as illustrated in the example shown in FIG. 5, in response to an exemplary downward movement (from the arm / hand / controller position shown by the dotted line to the arm / hand / controller position shown by the solid line) The system uses certain fixed parameters to allow the user to rescale virtual feature 450 such that it is all within the scope of virtual target line 415, rescaled feature 450A, rescaled feature 450B, or rescaled feature It may be determined whether it is intended to be 450C. This will be described in more detail with reference to FIGS. 6A-6F.

図6Aにおいて、仮想環境400における仮想フィーチャ450との対話の開始時(例えば時間t=0時)、ユーザは、以下で仮想地面400Aとして考えられる、仮想リファレンス平面400A上の仮想フィーチャ450に面して位置してよい。図6Aに示される例では、時間t=0時、ユーザは腕を伸ばしてコントローラ102を持つため、仮想ターゲット線415はユーザが設定したリファレンスポイント100Aから、仮想クロスヘア410を通じて仮想フィーチャ450まで延長して、アンカーポイント420を設定する。いくつかの実装においては、仮想クロスヘア410のサイズまたは寸法(高さおよび幅)は一定でよく、または、例えば特定の用途のためにもしくはユーザ、システム等によって設定されてよい。仮想クロスヘア410の設定された寸法は、時間t=0時に第1ディスクd1を定義してよい。第1ディスクd1は、仮想クロスヘア410の設定された寸法により定義される一定の半径r1を有する。例えば、ボタンまたはトリガを押下する等、コントローラ102のユーザインターフェイス104上の装置を操作することによる、ユーザの仮想フィーチャ450との対話の開始時に、つまりt=0時に、図4Aに示されるユーザに何が見え得るかの例は、図6Bに図示される。 In FIG. 6A, at the start of an interaction with virtual feature 450 in virtual environment 400 (e.g., at time t = 0), the user faces virtual feature 450 on virtual reference plane 400A, which is considered below as virtual ground 400A. May be located. In the example shown in FIG. 6A, the virtual target line 415 extends from the reference point 100A set by the user to the virtual feature 450 through the virtual cross hair 410 because the user stretches his arm and has the controller 102 at time t = 0. And set an anchor point 420. In some implementations, the size or dimensions (height and width) of virtual crosshair 410 may be constant or may be set, for example, for a particular application or by a user, system, or the like. Set the dimensions of the virtual crosshairs 410 may define a first disc d1 0 at time t = 0. The first disk d1 0 has a constant radius r1 defined by the set size of the virtual crosshairs 410. For example, at the beginning of the user's interaction with the virtual feature 450 by operating the device on the user interface 104 of the controller 102, such as pressing a button or trigger, ie at t = 0, to the user shown in FIG. 4A An example of what can be seen is illustrated in FIG. 6B.

第1ディスクd1は、円錐440を定義してよい。その円錐440は、設定されたユーザリファレンスポイント100Aを始点とし、アンカーポイント420を囲む平面に向かって第1ディスクd1に接するように延びている。t=0時に、角度αは、設定されたユーザリファレンスポイント100Aおよび第1ディスクd1により定義される円錐440の半頂角として定義されてよい。半径r2を有する第2ディスクd2は、アンカーポイント420に対応する距離において、すなわち、アンカーポイント420に対応/を包含する、仮想ターゲット線415と実質的に垂直な仮想平面において、円錐440を通る断面として定義されてよい。 The first disk d1 0 may define a cone 440. The cone 440 starts from the set user reference point 100 A and extends to contact the first disc d 10 toward a plane surrounding the anchor point 420. at t = 0, the angle alpha 0 may be defined as a semi-apex angle of the cone 440 defined by the user reference point 100A and the first disk d1 0 that has been set. The second disc d2 0 having a radius r2 passes through the distance corresponding to the anchor point 420, i.e., including the correspondence / to the anchor point 420, the virtual target line 415 substantially perpendicular virtual plane, a cone 440 It may be defined as a cross section.

図6Aに示されるようにセットされると、仮想半径r2は、仮想環境400に対して固定のまま、つまり仮想環境400に関して一定のままでよい。つまり、セットされると、仮想環境400に対して一定の仮想半径r2を有する、第2ディスクd2の領域内に取り込まれた仮想フィーチャ450の部分は、図6Bに示されるように、同一のままでよく、他方、第2ディスクd2内に取り込まれた仮想フィーチャ450の部分を含む仮想フィーチャ450は、ユーザがアンカーポイント420を動かすことに応答して、移動および/またはスケール変更される。これは、図6C乃至図6Fを参照してより詳細が記載される。 When set as shown in FIG. 6A, virtual radius r 2 may remain fixed with respect to virtual environment 400, ie, constant with respect to virtual environment 400. That is, when set, has a certain virtual radius r2 to the virtual environment 400, the portion of the virtual feature 450 incorporated in the second disc d2 0 in the region, as shown in Figure 6B, the same can remain while the virtual feature 450 comprising a portion of the virtual feature 450 incorporated in the second disc d2 in 0, in response to the user moves the anchor point 420, is moved and / or scaled. This will be described in more detail with reference to FIGS. 6C-6F.

図6Cは、その後の時点、t>0を図示し、アンカーポイント420の下方運動および仮想フィーチャ450のスケーリングダウンに対応する、仮想ターゲット線415の下方運動を説明する。図6Aに示される位置から図6Cに示される位置(以下により詳細が記載される)への運動後に、図4Cに示されるユーザに何が見え得るかの例が、図6Dに図示される。図6Eは、その後の時点、t>0を図示し、アンカーポイント420への接近運動に対応する、設定されたユーザリファレンスポイント100Aに近づく、第1ディスクd1の内側運動および、ユーザと仮想フィーチャ450との間の知覚される仮想距離の減少を説明する。図6Aに示される位置から図6Eに示される位置(以下により詳細が記載される)への運動後に、図4Eに示されるユーザに何が見え得るかの例が、図6Fに図示される。 FIG. 6C illustrates the subsequent motion of virtual target line 415, which illustrates t> 0 and corresponds to the downward motion of anchor point 420 and the scaling down of virtual feature 450. An example of what can be seen by the user shown in FIG. 4C is illustrated in FIG. 6D after movement from the position shown in FIG. 6A to the position shown in FIG. 6C (described in more detail below). Figure 6E illustrates a later point in time, t> 0, corresponding to the approach movement of the anchor point 420, closer to the user reference point 100A that is set inside movement of the first disk d1 0 and the user and the virtual feature Explain the reduction of perceived virtual distance between 450 and 450. After movement from the position shown in FIG. 6A to the position shown in FIG. 6E (described in more detail below), an example of what can be seen by the user shown in FIG. 4E is illustrated in FIG. 6F.

図6Aに関して上記されるように、アンカーポイント420を設定後、その後の各々の時点t>0(例えばt1,t2,…tN)において、角度αtは、設定されたユーザリファレンスポイント100Aおよび第1ディスクd1tにより定義される円錐440の半頂角として算出されてよい。その後の各々の時点t>0において、第1ディスクd1tの半径r1はユーザに対して一定/固定(仮想クロスヘア410の寸法が一定のとき)のままである。その後の各々の時点t>0において、第2ディスクd2tの仮想半径r2は、アンカーポイント420が動き仮想ターゲット線415上に留まるとき、仮想環境400に対して一定/固定のままである。仮想リファレンス平面400A、つまり仮想地面400Aもまた固定、つまり一定のままであり、現実世界の地面と一致したままである。しかしながら、設定されたユーザリファレンスポイント100Aと第1ディスクd1tとの間の距離は、コントローラ102を持つユーザの腕/手が動くとき、変化してよい。これにより、その後の時点t>0(例えば、t1,t2,…tN)において、上記のようにユーザがアンカーポイント420を動かすことに応答して、半頂角αtもまた変化させてよい。第1ディスクd1tの半径r1はユーザに対して一定のままかつ第2ディスクd2tの仮想半径r2は仮想環境400に対して一定のままであり、アンカーポイント420は仮想ターゲット線415上に留まり、および仮想リファレンス平面400Aは現実世界の地面と一致したままである一方、アンカーポイント420がこのように移動するときに、半頂角αtを再計算することで、図示のように仮想環境を移動および/またはスケール変更することを可能にする。   As described above with respect to FIG. 6A, after setting the anchor point 420, at each subsequent time t> 0 (eg, t1, t2,... TN), the angle α t is set to the set user reference point 100A and the first disc It may be calculated as the half apex angle of the cone 440 defined by d1t. At each subsequent time t> 0, the radius r1 of the first disc d1t remains constant / fixed to the user (when the size of the virtual cross hair 410 is constant). At each subsequent time t> 0, the virtual radius r2 of the second disk d2t remains constant / fixed relative to the virtual environment 400 when the anchor point 420 moves and remains on the virtual target line 415. The virtual reference plane 400A, i.e. the virtual ground 400A, also remains fixed or constant and remains consistent with the real world ground. However, the distance between the set user reference point 100A and the first disc d1t may change as the user's arm / hand with the controller 102 moves. This may also cause the semi-apical angle αt to also change in response to the user moving the anchor point 420 as described above at subsequent times t> 0 (eg, t1, t2, ... tN). The radius r1 of the first disk d1t remains constant to the user and the virtual radius r2 of the second disk d2t remains constant with respect to the virtual environment 400, the anchor point 420 remains on the virtual target line 415, and While the virtual reference plane 400A remains in line with the ground of the real world, as the anchor point 420 moves in this way, recalculating the half apex angle αt moves the virtual environment and / or as shown. Or allow to scale.

図6A乃至図6Eに示す例において、設定されたコントローラリファレンスポイント410を囲むエリアを表示する第1ディスクd1/dtは、設定されたコントローラリファレンスポイント410に交差箇所がある仮想クロスヘアに基づきディスクとして定義される。設定されたコントローラリファレンスポイント410を囲むエリアが円形ディスク形状を有し、アンカーポイント420を囲むエリア、アンカーポイント420を囲むエリアが円形ディスク形状を有する、円錐で定義されたこの例示的なジオメトリにより、コントローラの動きに応答してユーザおよび/または仮想フィーチャがスケール変更されるときに、半頂角αの計算および追跡/調整を行い、および減少した処理量を生成してよい。しかしながら、円形ディスクは、単に検討および説明を簡単にするために示されるものであり、設定されたコントローラリファレンスポイント410を囲むエリアは、他の閉曲線形状を有してよい。同様に、図6A乃至図6Eに示す例において、円錐440は、設定されたユーザリファレンスポイント100Aを始点とし、第1ディスクd1と接するように伸び、第1ディスクd1を超えるジオメトリにより定義されている。しかしながら、このジオメトリはまた、設定されたユーザリファレンスポイント410を囲む、定義されたエリアのジオメトリに基づき異なってよい。同様に、図6A乃至図6Eに示す例において、アンカーポイント420を囲むエリアは、円形ディスクとして定義される。しかしながら、アンカーポイント420を囲むこのエリアの形はまた、設定されたコントローラリファレンスポイントを囲むエリアの閉曲線形状と、このジオメトリの仮想フィーチャ450の平面との交差箇所までの延長とにより定義される。 In the example shown in FIGS. 6A to 6E, the first disk d1 0 / dt 0 displaying the area surrounding the set controller reference point 410 is a disk based on a virtual cross hair having a crossing point at the set controller reference point 410 Defined as By this exemplary geometry defined by a cone, the area surrounding the set controller reference point 410 has a circular disk shape and the area surrounding the anchor point 420, the area surrounding the anchor point 420 has a circular disk shape, As the user and / or virtual features are scaled in response to controller movement, the half apex angle α may be calculated and tracked / adjusted, and a reduced throughput may be generated. However, circular disks are shown merely for ease of discussion and explanation, and the area surrounding the set controller reference point 410 may have other closed curve shapes. Similarly, in the example shown in FIGS. 6A to 6E, a cone 440, a start point of the user reference point 100A which is set, elongation in contact with the first disk d1 0, defined by the geometry of greater than first disk d1 0 ing. However, this geometry may also be different based on the geometry of the defined area surrounding the set user reference point 410. Similarly, in the example shown in FIGS. 6A-6E, the area surrounding anchor point 420 is defined as a circular disc. However, the shape of this area surrounding the anchor point 420 is also defined by the closed curve shape of the area surrounding the set controller reference point and the extension to the intersection of the geometry with the plane of the virtual feature 450.

図7Aに示されるように、いくつかの実装では、1つまたは複数の仮想フォトスフィア570(例えば、第1、第2、および第3の仮想フォトスフィア570A、570B、570C)は、仮想環境における選択のため、ユーザに利用可能であってよい。各フォトスフィアは、仮想環境における例えば特定のフィーチャ、場所等の360度のパノラミックな体験を提供してよい。仮想フォトスフィア570の1つに移動するには、ユーザは、例えば、上記のようにハンドヘルド電子装置102により生成される仮想ビーム500を、例えば第3の仮想フォトスフィア570C等の仮想フォトスフィア570のうちの選択された1つに向けて、図7Aに示されるように、仮想フィーチャ550の内部の360度のパノラミックな体験に移動してよい。ハンドヘルド電子装置102をさらに操作すると、例えば、仮想ビーム550を選択された仮想フォトスフィア570Cに向けているボタンを離すと、ユーザは、図7Bに示されるように、選択された仮想フォトスフィア570Cに移動されて、つまりテレポートやトランスポートされてよい。   As shown in FIG. 7A, in some implementations, one or more virtual photospheres 570 (eg, first, second, and third virtual photospheres 570A, 570B, 570C) are in a virtual environment. It may be available to the user for selection. Each photosphere may provide a 360 degree panoramic experience of, for example, a particular feature, location, etc. in a virtual environment. To move to one of the virtual photosphere 570, the user may, for example, move the virtual beam 500 generated by the handheld electronic device 102 as described above, for example, the virtual photosphere 570, such as the third virtual photosphere 570C. Towards a selected one of them, as shown in FIG. 7A, one may move to a 360 degree panoramic experience inside virtual feature 550. Further manipulation of the handheld electronic device 102, for example, releasing the button pointing the virtual beam 550 to the selected virtual photosphere 570C, causes the user to select the selected virtual photosphere 570C as shown in FIG. 7B. It may be moved, ie teleported or transported.

選択された仮想フォトスフィア570に移動、つまりトランスポーティングやテレポーティングをする場合、ユーザは、上記で詳細に検討されたように、仮想環境におけるフィーチャに対するスケールを調整する選択をしてよい。特に、選択された仮想フォトスフィア570に移動する場合、ユーザは、上記で詳細に記載されたように、選択された仮想フォトスフィア570により提供される360度のパノラミックな体験に含まれた仮想要素に対して、サイズ/スケールが増加またはサイズ/スケールが減少する選択をしてよい。   When moving, transporting or teleporting to the selected virtual photosphere 570, the user may choose to adjust the scale for the features in the virtual environment, as discussed in detail above. In particular, when navigating to the selected virtual photosphere 570, the user may, as described in detail above, the virtual elements included in the 360 degree panoramic experience provided by the selected virtual photosphere 570. , The size / scale may increase or the size / scale may decrease.

仮想フォトスフィア570の内側に入ると、ユーザは仮想フォトスフィア570内を移動してよい。例えば、ユーザは、仮想フォトスフィア570により提供される360度のパノラミックな体験の異なる部分を見るために向きを変えてよく、および/またはユーザは、仮想フォトスフィア570により提供される360度のパノラミックな体験における仮想要素に接近または近づくために、図8Bに示されるように、仮想フォトスフィア570内で仮想位置Cから仮想位置D(virtual positon D)まで歩いてよい。いくつかの実装では、ユーザは、例えば、仮想フォトスフィア570内を、仮想フォトスフィア570内の360度のパノラミックな仮想ディスプレイの端と考えられてよい所まで歩いてよい。仮想フォトスフィア570の360度のパノラミックな体験に表示される、ユーザの前に表示される仮想要素は、ユーザが仮想要素の方向に歩く、または接近するにつれて、より大きく見える。同様に、ユーザが振り返る、例えば、仮想位置Dに到着後に向きを180度変える場合、ユーザが仮想フォトスフィア570のその部分に表示された仮想要素から歩いて離れたため、かつてユーザの背後にあったその仮想要素は小さく見えてよい。   Once inside the virtual photosphere 570, the user may move within the virtual photosphere 570. For example, the user may turn to view different portions of the 360 degree panoramic experience provided by virtual photosphere 570 and / or the user may view 360 degree panoramic provided by virtual photosphere 570 The virtual location C may be walked from virtual location C to virtual location D, as shown in FIG. In some implementations, a user may walk, for example, within virtual photosphere 570 to a point that may be considered as the end of a 360 degree panoramic virtual display within virtual photosphere 570. The virtual elements displayed in front of the user, displayed in the 360 degree panoramic experience of the virtual photosphere 570, appear larger as the user walks or approaches in the direction of the virtual elements. Similarly, if the user looks back, for example, turns 180 degrees after arriving at virtual location D, he was once behind the user because he walked away from the virtual element displayed in that portion of virtual photosphere 570 The virtual element may appear small.

本明細書に記載の実施形態による、拡張および/または仮想現実環境における、ナビゲーティングおよび/またはスケーリングの方法700は、図8に示される。仮想フィーチャの選択を検出すると(ブロック710)、仮想アンカーポイントを設定するリクエストが受信されたか否かが判定されてよい(ブロック720)。仮想アンカーポイントを設定するリクエストは、例えば、図4Aおよび図6Aに関して上記で詳細に記載されたように、ユーザによる入力でよい。仮想アンカーポイントを設定するリクエストが受信された場合は、仮想アンカーポイントが設定されてよい(ブロック730)。仮想アンカーポイントが設定され、かつ仮想環境に対するユーザの位置、ビュー、パースペクティブ、またはスケールを調整するリクエスト(またはユーザに対するスケール仮想環境をスケール変更するリクエスト)が受信された場合は(ブロック750)、システムは、受信されたリクエストに従って、図4B乃至図4Fおよび図6B乃至6Fに関して上記で詳細に記載されたように、位置および/またはビューおよび/またはパースペクティブおよび/またはスケールを調整してよい(ブロック760)。仮想アンカーポイントが設定されないが、選択された仮想フィーチャに対してユーザの位置を移動するかそうでなければ調整するリクエストが受信された場合は(ブロック740)、システムは、リクエストされた調整を、受信されたリクエストに従って、実行してよい(ブロック760)。リクエストされた仮想調整が完了すると(ブロック770)、プロセスは、仮想体験が終了するまで繰り返されてよい(ブロック780)。   A method 700 of navigating and / or scaling in an augmented and / or virtual reality environment according to the embodiments described herein is illustrated in FIG. Upon detecting the selection of a virtual feature (block 710), it may be determined whether a request to set a virtual anchor point has been received (block 720). The request to set the virtual anchor point may be input by the user, for example, as described in detail above with respect to FIGS. 4A and 6A. If a request to set a virtual anchor point is received, then a virtual anchor point may be set (block 730). If a virtual anchor point is set and a request to adjust the user's position, view, perspective, or scale with respect to the virtual environment (or a request to scale the virtual environment for the user) is received (block 750), the system May adjust the position and / or the view and / or the perspective and / or the scale as described in detail above with respect to FIGS. 4B-4F and 6B-6F according to the received request (block 760) ). If a virtual anchor point is not set, but a request is received to move or otherwise adjust the user's position relative to the selected virtual feature (block 740), the system requests the requested adjustment, It may execute according to the received request (block 760). Once the requested virtual reconciliation is complete (block 770), the process may be repeated until the virtual experience is over (block 780).

図9は、一般的なコンピュータ装置800および一般的なモバイルコンピュータ装置850の一例を示し、これらの装置は、本明細書に記載される技法とともに使用することができる。コンピューティング装置800は、ラップトップ、デスクトップ、タブレット、ワークステーション、携帯情報端末、テレビ、サーバ、ブレードサーバ、メインフレーム、および他の適当なコンピューティング装置等、様々な形態のデジタルコンピュータを表すことが意図される。コンピューティング装置850は、携帯情報端末、セルラ電話、スマートフォン、および他の同様のコンピューティング装置等、様々な形態のモバイル装置を表すことが意図される。本明細書に示される構成要素、それらの接続および関係、ならびにそれらの機能は、単に例示的なものにすぎず、本明細書に記載され、および/または特許請求される発明の実装を制限するものではない。   FIG. 9 shows an example of a generic computing device 800 and a generic mobile computing device 850, which can be used with the techniques described herein. Computing device 800 may represent various forms of digital computers, such as laptops, desktops, tablets, workstations, personal digital assistants, televisions, servers, blade servers, mainframes, and other suitable computing devices. Intended. Computing device 850 is intended to represent various forms of mobile devices, such as personal digital assistants, cellular phones, smart phones, and other similar computing devices. The components set forth herein, their connections and relationships, and their functions are merely exemplary and limit the implementation of the invention described and / or claimed herein. It is not a thing.

コンピューティング装置800は、プロセッサ802と、メモリ804と、記憶装置806と、メモリ804および高速拡張ポート810に接続している高速インターフェイス808と、低速バス814および記憶装置806に接続している低速インターフェイス812とを含む。プロセッサ802は、半導体ベースのプロセッサでよい。メモリ804は、半導体ベースのメモリでよい。構成要素802、804、806、808、810、および812の各々は、様々なバスを使用して相互接続され、適宜に、共通のマザーボード上に、または他の方法で取り付けることができる。プロセッサ802は、高速インターフェイス808に結合されたディスプレイ816等の、外部の入出力装置上に、GUIに関するグラフィカル情報を表示するための、メモリ804または記憶装置806に記憶された命令を含む、コンピューティング装置800内の実行の命令を処理することができる。他の実装では、複数のプロセッサおよび/または複数のバスは、適宜に、複数のメモリおよびメモリの種類とともに使用することができる。また、複数のコンピューティング装置800を(例えば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)、必要な動作の一部分を提供する各装置と接続してもよい。   The computing device 800 includes a processor 802, a memory 804, a storage device 806, a high speed interface 808 connected to the memory 804 and a high speed expansion port 810, and a low speed interface connected to a low speed bus 814 and the storage device 806. And 812. Processor 802 may be a semiconductor based processor. Memory 804 may be a semiconductor based memory. Each of the components 802, 804, 806, 808, 810, and 812 are interconnected using various busses and may be suitably mounted on a common motherboard or otherwise. Processor 802 includes instructions stored in memory 804 or storage 806 for displaying graphical information regarding the GUI on an external input / output device, such as a display 816 coupled to high speed interface 808. Instructions of execution within the device 800 can be processed. In other implementations, multiple processors and / or multiple buses may be used with multiple memories and memory types, as appropriate. Also, multiple computing devices 800 (e.g., as server banks, groups of blade servers, or multiprocessor systems) may be connected with each device providing a portion of the required operations.

メモリ804は、コンピューティング装置800内の情報を記憶する。1つの実装では、メモリ804は、揮発性メモリユニットまたはユニットである。別の実装では、メモリ804は、不揮発性メモリユニットまたはユニットである。また、メモリ804は、磁気または光学ディスク等の別の形態のコンピュータ可読媒体でもよい。   Memory 804 stores information in computing device 800. In one implementation, memory 804 is a volatile memory unit or units. In another implementation, memory 804 is a non-volatile memory unit or unit. Memory 804 may also be another form of computer readable medium, such as a magnetic or optical disk.

記憶装置806は、コンピューティング装置800に大容量ストレージを提供することができる。1つの実装では、記憶装置806は、コンピュータ可読媒体(例えば、フロッピー(登録商標)ディスク装置、ハードディスク装置、光学ディスク装置、またはテープ装置)、フラッシュメモリもしくは他の同様の固体メモリ装置、またはストレージエリアネットワークもしくは他の構成の装置を含む装置のアレイであり得、またはそれらを含むことができる。コンピュータプログラム製品は、情報担体中に有形で実施され得る。また、コンピュータプログラム製品は、上述したもののように、実行時に、1つまたは複数のメソッドを実行する命令を含むことができる。情報担体は、メモリ804、記憶装置806、またはプロセッサ802上のメモリ等の、コンピュータ可読媒体または機械可読媒体である。   Storage device 806 may provide computing device 800 with high capacity storage. In one implementation, the storage device 806 is a computer readable medium (eg, floppy disk device, hard disk device, optical disk device, or tape device), flash memory or other similar solid state memory device, or storage area It may be or be an array of devices including devices of a network or other configuration. The computer program product may be tangibly embodied in an information carrier. The computer program product may also include instructions that, when executed, perform one or more methods, as described above. The information carrier is a computer readable or machine readable medium, such as memory on memory 804, storage 806 or processor 802.

高速コントローラ808は、コンピューティング装置800に対する帯域幅を大量に使用する(bandwidth−intensive)操作を管理し、低速コントローラ812はより低い帯域幅を大量に使用する(lower bandwidth−intensive)操作を管理する。機能のそのような割振りは、例示的なものにすぎない。1つの実装では、高速コントローラ808は、(例えば、グラフィックスプロセッサまたはアクセラレータを介して)メモリ804、ディスプレイ816に、および、様々な拡張カード(図示せず)を受け付けることができる高速拡張ポート810に結合される。この実装では、低速コントローラ812は、記憶装置806と低速拡張ポート814とに結合されている。低速拡張ポートには、様々な通信ポート(例えば、USB、Bluetooth(登録商標)、イーサネット(登録商標)、ワイヤレスイーサネット)が含まれるが、これは、例えば、キーボード、ポインティング装置、スキャナ、またはスイッチもしくはルータなどのネットワーク装置等、1つまたは複数の入出力装置に、例えばネットワークアダプタを介して、結合することができる。   High speed controller 808 manages bandwidth-intensive operations for computing device 800, and low speed controller 812 manages lower bandwidth-intensive operations. . Such allocation of functionality is merely exemplary. In one implementation, the high speed controller 808 has a memory 804 (eg, via a graphics processor or accelerator), a display 816, and a high speed expansion port 810 that can accept various expansion cards (not shown). Combined. In this implementation, slow controller 812 is coupled to storage 806 and slow expansion port 814. Low-speed expansion ports include various communication ports (eg, USB, Bluetooth, Ethernet, Wireless Ethernet), which may be, for example, a keyboard, pointing device, scanner, or switch or It may be coupled to one or more input / output devices, such as a network device such as a router, for example via a network adapter.

コンピューティング装置800は、図示のように、複数の異なる形態で実装することができる。例えば、コンピューティング装置800は、標準的なサーバ820として、またはそのようなサーバのグループにおいて複数台、実装することができる。加えて、コンピューティング装置800は、ラックサーバシステム824の一部として実装することもできる。さらに、コンピューティング装置800は、ラップトップコンピュータ822等のパーソナルコンピュータに実装することができる。あるいは、コンピューティング装置800の構成要素は、装置850等のモバイル装置(図示せず)の他の構成要素と組み合わせてもよい。このような装置の各々は、コンピューティング装置800、850のうちの1つまたは複数を含んでよく、互いに通信する複数のコンピューティング装置800、850によりシステム全体が構成されてよい。   The computing device 800 may be implemented in several different forms, as shown. For example, computing device 800 may be implemented as a standard server 820, or in a group of such servers. Additionally, computing device 800 may also be implemented as part of rack server system 824. Further, computing device 800 may be implemented on a personal computer such as laptop computer 822. Alternatively, the components of computing device 800 may be combined with other components of a mobile device (not shown), such as device 850. Each such device may include one or more of the computing devices 800, 850, and the overall system may be comprised of multiple computing devices 800, 850 in communication with one another.

コンピューティング装置850は、他の構成要素のうち、プロセッサ852と、メモリ864と、ディスプレイ854等の入出力装置と、通信インターフェイス866と、トランシーバ868とを含む。また、装置850は、追加のストレージを提供するために、マイクロドライブまたは他の装置等の記憶装置を備えてもよい。構成要素850、852、864、854、866、および868の各々は、様々なバスを使用して相互接続され、構成要素のうちのいくつかは、適宜に、共通のマザーボード上に、または他の方法で取り付けることができる。   Computing device 850 includes, among other components, processor 852, memory 864, input / output devices such as display 854, communication interface 866, and transceiver 868. Device 850 may also include storage devices such as microdrives or other devices to provide additional storage. Each of components 850, 852, 864, 854, 866, and 868 are interconnected using various buses, and some of the components are, as appropriate, on a common motherboard or other It can be attached by the method.

プロセッサ852は、メモリ864に記憶された命令を含む、コンピューティング装置850内の命令を実行することができる。プロセッサは、別個の複数のアナログプロセッサとデジタルプロセッサを含むチップのチップセットとして実装することができる。プロセッサは、例えば、ユーザインターフェイス、装置850によって実行されるアプリケーション、および装置850による無線通信の制御等、装置850の他の構成要素の調整を行うことができる。   Processor 852 can execute instructions in computing device 850, including instructions stored in memory 864. The processor can be implemented as a chipset of chips that include separate analog and digital processors. The processor may, for example, coordinate other components of the device 850, such as a user interface, applications executed by the device 850, and control of wireless communications by the device 850.

プロセッサ852は、ディスプレイ854に結合された制御インターフェイス858およびディスプレイインターフェイス856を介して、ユーザと通信をすることができる。ディスプレイ854は、例えば、TFT LCDディスプレイ(薄膜トランジスタ液晶ディスプレイ)もしくはOLED(有機発光ダイオード)ディスプレイ、または他の適切なディスプレイ技術であり得る。ディスプレイインターフェイス856は、グラフィカル情報および他の情報をユーザに提示するようにディスプレイ854を駆動するための適切な回路を備えることができる。制御インターフェイス858は、ユーザからコマンドを受信し、プロセッサ852へのサブミッションのためにそれらを変換することができる。加えて、プロセッサ852と通信をする外部インターフェイス862が提供されてもよく、それにより、装置850の他の装置との近距離通信が可能になる。外部インターフェイス862は、例えば、いくつかの実装では有線通信を、または他の実装では無線通信を行うことができ、また、複数のインターフェイスを使用してもよい。   Processor 852 can communicate with the user via control interface 858 and display interface 856 coupled to display 854. Display 854 may be, for example, a TFT LCD display (thin film transistor liquid crystal display) or an OLED (organic light emitting diode) display, or other suitable display technology. Display interface 856 may comprise suitable circuitry for driving display 854 to present graphical and other information to the user. Control interface 858 can receive commands from the user and translate them for submission to processor 852. In addition, an external interface 862 may be provided in communication with the processor 852 to allow near field communication with other devices of the device 850. External interface 862 may, for example, provide wired communication in some implementations, or wireless communication in other implementations, and may use multiple interfaces.

メモリ864は、コンピューティング装置850内の情報を記憶する。メモリ864は、1つまたは複数のコンピュータ可読媒体、1つまたは複数の揮発性メモリユニット、または1つまたは複数の不揮発性メモリユニットとして実装することができる。また、拡張メモリ874が提供され、例えば、SIMM(シングルインラインメモリモジュール)カードインターフェイスを含むことができる拡張インターフェイス472を介して装置850に接続され得る。このような拡張メモリ874は、装置850に追加のストレージスペースを提供することができ、または装置850にアプリケーションもしくは他の情報を記憶することができる。具体的には、拡張メモリ874は、上述の処理を実行または補足するための命令を含むことができ、安全な情報も含むことができる。したがって、例えば、装置850のセキュリティモジュールとして、拡張メモリ874を提供することができ、装置850の安全な使用を可能にする命令を用いて、拡張メモリ874をプログラムすることができる。加えて、ハッカー行為が不可能な様式でSIMMカード上に識別情報を配置する等、SIMMカードを介して、安全なアプリケーションを追加の情報と共に提供することができる。   Memory 864 stores information in computing device 850. Memory 864 may be implemented as one or more computer readable media, one or more volatile memory units, or one or more non-volatile memory units. Also, an expansion memory 874 may be provided and connected to the device 850 via an expansion interface 472 which may include, for example, a SIMM (Single In Line Memory Module) card interface. Such expanded memory 874 may provide the device 850 with additional storage space, or may store application or other information in the device 850. Specifically, the expansion memory 874 can include instructions for performing or supplementing the above-described processing, and can also include secure information. Thus, for example, the expanded memory 874 can be provided as a security module of the device 850, and the expanded memory 874 can be programmed with instructions that allow the secure use of the device 850. In addition, secure applications can be provided along with additional information via the SIMM card, such as placing identification information on the SIMM card in a manner that is not capable of hackers.

メモリは、後述のように、例えば、フラッシュメモリおよび/またはNVRAMメモリを含むことができる。1つの実装では、コンピュータプログラム製品は情報担体中に有形で実施される。コンピュータプログラム製品は、上述したもののように、実行時に、1つまたは複数の方法を実行する命令を含む。情報担体は、メモリ864、拡張メモリ874、または例えばトランシーバ868もしくは外部インターフェイス862を通じて受信され得るプロセッサ852上のメモリ等の、コンピュータ可読媒体または機械可読媒体である。   The memory may include, for example, flash memory and / or NVRAM memory, as described below. In one implementation, a computer program product is tangibly embodied in an information carrier. The computer program product comprises instructions that, when executed, perform one or more methods, as described above. The information carrier is a computer readable or machine readable medium such as memory 864, expanded memory 874 or memory on processor 852 which may be received, for example, through transceiver 868 or external interface 862.

装置850は、必要に応じて、デジタル信号処理回路を含むことができる通信インターフェイス866を介して、無線で通信することができる。通信インターフェイス866は、とりわけ、GSM(登録商標)音声通話、SMSメッセージング、EMSメッセージングもしくはMMSメッセージング、CDMA、TDMA、PDC、WCDMA(登録商標)、CDMA2000、またはGPRS等の、様々なモードまたはプロトコルに基づく通信を行うことができる。このような通信は、例えば、無線周波数トランシーバ868を介して行うことができる。加えて、短距離通信は、Bluetooth、WiFi、または他のそのようなトランシーバ(図示せず)等を使用して行うことができる。加えて、GPS(全地球測位システム)受信器モジュール870は、追加のナビゲーション関連ワイヤレスデータおよびロケーション関連ワイヤレスデータを、装置850に提供することができ、これらの情報は、装置850上で実行されるアプリケーションによって必要に応じて使用可能である。   Device 850 may communicate wirelessly via communication interface 866, which may include digital signal processing circuitry, as desired. Communication interface 866 is based on various modes or protocols, such as GSM voice call, SMS messaging, EMS messaging or MMS messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000, or GPRS, among others. It can communicate. Such communication may occur, for example, via a radio frequency transceiver 868. In addition, short-range communication can be performed using Bluetooth, WiFi, or other such transceivers (not shown) or the like. In addition, a GPS (Global Positioning System) receiver module 870 can provide additional navigation related wireless data and location related wireless data to the device 850, which information is executed on the device 850. It can be used as needed by the application.

また、装置850は、音声コーデック860を使用して可聴通信することができる。音声コーデック860は、話された情報をユーザから受信して、それを使用可能なデジタル情報に変換することができる。音声コーデック860は同様に、例えば装置850のハンドセット中のスピーカ等を介して、ユーザが聞き取れる可聴音を発生することができる。このような音声は、音声電話通話からの音声を含み、記録された音声(例えば、ボイスメッセージ、音楽ファイル等)を含むことができ、さらに、装置850上で動作するアプリケーションによって発生された音声を含むことができる。   Also, device 850 may communicate audible using voice codec 860. Audio codec 860 can receive spoken information from the user and convert it into usable digital information. The audio codec 860 can also generate audible sounds that the user can hear, for example, via speakers in the handset of the device 850, etc. Such audio may include audio from voice telephone calls, may include recorded audio (eg, voice messages, music files, etc.), and may further include audio generated by an application operating on device 850. Can be included.

コンピューティング装置850は、図示のように、複数の異なる形態で実装することができる。例えば、コンピューティング装置850は、セルラ電話880として実装することができる。コンピューティング装置850は、スマートフォン882、携帯情報端末、または他の同様のモバイル装置の一部として実装してもよい。   Computing device 850 may be implemented in several different forms, as shown. For example, computing device 850 may be implemented as a cellular telephone 880. The computing device 850 may be implemented as part of a smartphone 882, a personal digital assistant, or other similar mobile device.

本明細書に記載したシステムおよび技法の種々の実装は、デジタル電子回路、集積回路、専用に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはその組合せにおいて実現することが可能である。これらの様々な実装は、ストレージシステム、1つ以上の入力装置、および1つ以上の出力装置とデータおよび命令を送受信するように結合された、専用または汎用とすることができる1つ以上のプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能な1つまたは複数のコンピュータプログラムにおける実装を含むことが可能である。   Various implementations of the systems and techniques described herein may be in digital electronic circuits, integrated circuits, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and / or combinations thereof. It is possible to realize. These various implementations may be dedicated or general purpose coupled to the storage system, one or more input devices, and one or more output devices to transmit and receive data and instructions. It is possible to include an implementation in one or more computer programs executable and / or interpretable on a programmable system including a processor.

これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)は、プログラマブルプロセッサに対する機械語命令を含み、高レベル手続き言語および/もしくはオブジェクト指向プログラミング言語で、ならびに/またはアセンブリ/機械言語で実装することが可能である。本明細書で使用されるように、用語「機械可読媒体」「コンピュータ可読媒体」は、機械語命令を機械可読信号として受け取る機械可読媒体を含む、機械語命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意のコンピュータプログラム製品、装置、および/または装置(例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指す。用語「機械可読信号」は、機械語命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を指す。   These computer programs (also known as programs, software, software applications or codes) comprise machine language instructions for a programmable processor, in a high level procedural language and / or object oriented programming language, and / or assembly / machine language It is possible to implement in As used herein, the terms "machine-readable medium" and "computer-readable medium" provide machine-readable instructions and / or data to a programmable processor, including machine-readable media that receive machine-language instructions as a machine-readable signal. Computer program product, apparatus, and / or apparatus (eg, magnetic disk, optical disk, memory, programmable logic device (PLD)) used to The term "machine readable signal" refers to any signal used to provide machine language instructions and / or data to a programmable processor.

ユーザとの対話を行うために、本明細書に記載したシステムおよび技法は、情報をユーザに表示するための表示装置(例えば、CRT(陰極線管)モニタまたはLCD(液晶ディスプレイ)モニタ)と、ユーザがそれによりコンピュータに入力することが可能なキーボードおよびポインティング装置(例えば、マウスまたはトラックボール)とを有するコンピュータ上で実装することが可能である。ユーザとの対話を行うために、他の種類の装置も同様に使用することが可能であり、例えば、ユーザに提供されるフィードバックは、感覚的なフィードバック(例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)の任意の形態とすることができ、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む任意の形態で受信することが可能である。   In order to interact with the user, the systems and techniques described herein include a display (e.g., a CRT (cathode ray tube) monitor or LCD (liquid crystal display) monitor) for displaying information to the user; May be implemented on a computer having a keyboard and a pointing device (eg, a mouse or a trackball) by which it can input to the computer. Other types of devices may be used as well to interact with the user, for example, the feedback provided to the user may be sensory feedback (eg, visual feedback, auditory feedback, or haptics) Feedback), and the input from the user can be received in any form including acoustic input, voice input, or tactile input.

本明細書に記載したシステムおよび技法は、(例えば、データサーバとして)バックエンドコンポーネントを含むか、ミドルウェアコンポーネント(例えば、アプリケーションサーバ)を含むか、フロントエンドコンポーネント(例えば、ユーザが、本明細書に記載したシステムおよび技法の実装とそれを介して対話できるグラフィカルユーザインターフェイスまたはウェブブラウザを有するクライアントコンピュータ)を含む、コンピューティングシステム、あるいはこのようなバックエンドコンポーネント、ミドルウェアコンポーネント、またはフロントエンドコンポーネントの任意の組合せで実装することが可能である。このシステムの構成要素は、デジタルデータ通信(例えば、通信ネットワーク)の任意の形態または媒体により相互接続することが可能である。通信ネットワークの例としては、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、およびインターネットが挙げられる。   The systems and techniques described herein may include back-end components (eg, as data servers), middleware components (eg, application servers), or front-end components (eg, users). A computing system, or any such back-end component, middleware component, or front-end component, including a client computer having a graphical user interface or web browser through which implementations of the described systems and techniques can interact. It is possible to implement in combination. The components of the system can be interconnected by any form or medium of digital data communication (eg, a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), and the Internet.

コンピューティングシステムは、クライアントおよびサーバを含むことが可能である。クライアントおよびサーバは、一般に互いに別個であり、典型的には通信ネットワークを通じて対話する。クライアントとサーバの関係は、各コンピュータで動作しており、かつ互いにクライアント‐サーバ関係を有するコンピュータプログラムによって生じる。   The computing system can include clients and servers. The client and server are generally separate from one another and typically interact through a communication network. The relationship of client and server results from computer programs running on each computer and having a client-server relationship to each other.

複数の実施形態が記載された。それでもなお、発明の範囲及び精神を逸脱することなく、様々な変形例がなされてよいことが理解されるであろう。
加えて、図に記載された論理の流れは、望ましい結果を得るために、示された特定の順序や順番を必要としない。加えて、他の工程が提供されてよく、または工程は記載された流れから省略されてよい。また、他の構成要素は、記載されたシステムに追加されるか省略されてよい。したがって、他の実施形態は、以下の請求項の範囲内である。
Several embodiments have been described. Nevertheless, it will be understood that various modifications may be made without departing from the scope and spirit of the invention.
In addition, the logic flow depicted in the figures does not require the particular order or order shown to achieve desirable results. In addition, other steps may be provided, or steps may be omitted from the described flow. Also, other components may be added or omitted to the described system. Accordingly, other embodiments are within the scope of the following claims.

本明細書に記載された様々な技術の実装は、デジタル電子回路、コンピュータハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせにおいて行われてよい。実装は、またはプログラマブルプロセッサ、コンピュータ、または複数のコンピュータ等のデータ処理装置による処理のため、またはそれの動作を制御する処理のため、情報担体中、例えば機械可読ストレージ装置(コンピュータ可読媒体)に有形に実施されたコンピュータプログラム製品、つまりコンピュータプログラムとして行われてよい。したがって、コンピュータ可読記憶媒体は、実行された場合にプロセッサ(例えばホスト装置におけるプロセッサ、クライアント装置におけるプロセッサ)に方法を実行させる命令を記憶するように構成されてよい。   Implementations of the various techniques described herein may be performed in digital electronic circuitry, computer hardware, firmware, software, or any combination thereof. The implementation may be tangible in an information carrier, for example a machine readable storage device (computer readable medium), or for processing by a data processor such as a programmable processor, a computer, or a plurality of computers, or for controlling the operation thereof. A computer program product embodied in a computer program may be implemented as a computer program product. Thus, a computer readable storage medium may be configured to store instructions which, when executed, cause a processor (e.g. a processor in a host device, a processor in a client device) to perform a method.

上記のコンピュータプログラム等のコンピュータプログラムは、コンパイル型またはインタープリタ型言語を含むプログラミング言語の任意の形態で記述されてよく、スタンドアローンプログラムまたはモジュールとして、コンポーネント、サブルーチン、またはコンピューティング環境において使用に適した他の単位を含む任意の形態で展開されてよい。コンピュータプログラムは、1つの場所で1つのコンピュータまたは複数のコンピュータに展開されて処理されるか、または通信ネットワークにより相互接続された複数の場所で配布されてよい。   A computer program, such as the computer program described above, may be written in any form of a programming language, including a compiled or interpreted language, suitable as a stand-alone program or module, for use in a component, subroutine, or computing environment It may be deployed in any form, including other units. The computer program may be deployed and processed on one computer or a plurality of computers in one place, or may be distributed in a plurality of places interconnected by a communication network.

方法の工程は、入力データを処理して出力を生成することにより機能を実行するコンピュータプログラムを実行する、1つまたは複数のプログラマブルプロセッサにより実行されてよい。方法の工程はまた、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)等の専用論理回路により実行されてよく、装置はそれらの回路として実装されてよい。   The steps of the method may be performed by one or more programmable processors executing a computer program that performs functions by processing input data and generating output. The method steps may also be performed by dedicated logic circuits such as FPGAs (field programmable gate arrays) or ASICs (application specific integrated circuits), and the devices may be implemented as those circuits.

コンピュータプログラムの処理に適したプロセッサは、例として、一般および特定用途マイクロプロセッサの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般に、プロセッサは、リードオンリーメモリもしくはランダムアクセスメモリまたはその両方から命令およびデータを受け取る。コンピュータの要素は、命令を実行する1つ以上のプロセッサと、命令およびデータを記憶する1つまたは複数のメモリ装置とを含んでよい。一般に、コンピュータはまた、データの受信もしくは送信またはその両方を行うため、1つまたは複数の、磁気、光磁気ディスクまたは光学ディスク等の、データ記憶用の大容量記憶装置を含んでよいか、動作可能に接続されてよい。コンピュータプログラム命令およびデータを実施するのに適した情報担体は、例として、EPROM、EEPROM、およびフラッシュメモリ等の半導体メモリ装置と、内部のハードディスクまたはリムーバブルディスク等の磁気ディスクと、光磁気ディスクと、CD−ROMおよびDVD−ROMディスクとを含む、全ての形態の不揮発性メモリを含む。プロセッサおよびメモリは、専用論理回路に追加または組み込まれてよい。   Processors suitable for the processing of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random access memory or both. Elements of a computer may include one or more processors for executing instructions and one or more memory devices for storing instructions and data. In general, the computer may also include or operate one or more mass storage devices for data storage, such as magnetic, magneto-optical or optical disks, to receive and / or transmit data. It may be connected as possible. Information carriers suitable for implementing computer program instructions and data include, by way of example, semiconductor memory devices such as EPROM, EEPROM, and flash memory, magnetic disks such as internal hard disks or removable disks, and magneto-optical disks. Includes all forms of non-volatile memory, including CD-ROM and DVD-ROM discs. The processor and the memory may be added to or incorporated in dedicated logic circuits.

ユーザとの対話を提供するため、実装は、情報をユーザに表示するための陰極線管(CRT)、発光ダイオード(LED)、または液晶ディスプレイ(LCD)モニタ等のディスプレイ装置と、ユーザがそれによりコンピュータに入力を提供することが可能なキーボードおよびポインティング装置、例えばマウスまたはトラックボールとを有するコンピュータ上で行ってよい。ユーザとの対話を行うために、他の種類の装置も同様に使用してよく、例えば、ユーザに提供されるフィードバックは、感覚的なフィードバック、例えば視覚フィードバック、聴覚フィードバック、または触覚フィードバックの任意の形態でよく、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む任意の形態で受信されてよい。   In order to provide interaction with the user, the implementation may be a display device such as a cathode ray tube (CRT), a light emitting diode (LED), or a liquid crystal display (LCD) monitor for displaying information to the user, and the user thereby computing On a computer having a keyboard and pointing device, such as a mouse or a trackball, capable of providing input. Other types of devices may be used as well to interact with the user, for example, the feedback provided to the user may be sensory feedback, such as any of visual feedback, auditory feedback, or tactile feedback. It may be in form and the input from the user may be received in any form including acoustic input, voice input or tactile input.

実装は、例えばデータサーバとしてバックエンドコンポーネントを含むか、ミドルウェアコンポーネント、例えばアプリケーションサーバを含むか、フロントエンドコンポーネント、例えば、ユーザが、実装とそれを介して対話できるグラフィカルユーザインターフェイスまたはウェブブラウザを有するクライアントコンピュータを含む、コンピューティングシステム、あるいはこのようなバックエンドコンポーネント、ミドルウェアコンポーネント、またはフロントエンドコンポーネントの任意の組合せで行われよい。構成要素は、デジタルデータ通信、例えば通信ネットワークの任意の形態または媒体により相互接続することが可能である。通信ネットワークの例としては、ローカルエリアネットワーク(LAN)およびワイドエリアネットワーク(WAN)例えばインターネット)が挙げられる。   An implementation may include, for example, a back end component as a data server, a middleware component, such as an application server, or a front end component, for example a client having a graphical user interface or web browser through which a user can interact with the implementation It may be performed by a computing system, including a computer, or any combination of such back end components, middleware components, or front end components. The components can be interconnected by digital data communication, eg, any form or medium of communication network. Examples of communication networks include local area networks (LANs) and wide area networks (WANs) such as the Internet.

さらなる実装は以下の例に要約される。
例1: 方法であって、ヘッドマウントディスプレイ装置のディスプレイ内で仮想環境を生成する工程と、ヘッドマウントディスプレイ装置と通信をするコントローラのユーザインターフェイスにおいて、第1入力を検出する工程と、第1入力に応答して、仮想環境において、選択された仮想フィーチャにアンカーポイントを設定する、アンカーポイント設定工程と、第2入力を検出する工程と、第2入力に応答して、アンカーポイントに関連付けられた仮想フィーチャを含む仮想環境内に、エリアを定義する工程と、仮想環境のユーザ視界内で、定義されたエリア内に仮想フィーチャの一部を維持しつつ、仮想環境における仮想フィーチャの位置およびスケールのうちの少なくとも一方を調整する、調整工程と、を備える方法。
Further implementations are summarized in the following example.
Example 1: A method comprising: creating a virtual environment within a display of a head mounted display device; detecting a first input at a user interface of a controller in communication with the head mounted display device; Setting an anchor point to the selected virtual feature in the virtual environment in response to the setting of the anchor point, the step of detecting the second input, and the anchor point associated with the second input. The process of defining an area in a virtual environment including virtual features, and maintaining a portion of the virtual features within the defined area within the user view of the virtual environment while maintaining the position and scale of the virtual features in the virtual environment Adjusting at least one of the adjusting steps.

例2: アンカーポイント設定工程は、仮想ターゲット線と仮想フィーチャとの交差箇所を検出する、交差箇所検出工程と、仮想ターゲット線と仮想フィーチャとの検出した交差箇所に、アンカーポイントを設定する工程と、設定されたユーザリファレンスポイントに対する設定されたコントローラリファレンスポイントの位置に基づき、アンカーポイントに関連付けられた仮想フィーチャを含む仮想環境内に、エリアを定義する、位置基準エリア定義工程と、を含む例1に記載の方法。   Example 2: The anchor point setting step detects an intersection point between a virtual target line and a virtual feature, detects an intersection point, sets an anchor point at the detected intersection point between the virtual target line and the virtual feature, and Defining an area in a virtual environment including a virtual feature associated with an anchor point based on the set position of the controller reference point with respect to the set user reference point; The method described in.

例3: 設定されたユーザリファレンスポイントは、ユーザヘッドマウントディスプレイ装置上の固定点に対応し、設定されたコントローラリファレンスポイントは、コントローラに対する固定点に対応する例2に記載の方法。   Example 3: The method according to example 2, wherein the configured user reference point corresponds to a fixed point on the user head mounted display device and the configured controller reference point corresponds to a fixed point to the controller.

例4: 交差箇所検出工程は、仮想ターゲット線を定義する工程であって、仮想ターゲット線は、設定されたユーザリファレンスポイントを始点とし、仮想ターゲット線は、設定されたユーザリファレンスポイントにおける始点から設定されたコントローラリファレンスポイントを通じて延びる、工程を含む例2または3に記載の方法。   Example 4: The intersection point detection step is a step of defining a virtual target line, where the virtual target line starts from the set user reference point, and the virtual target line is set from the start point at the set user reference point The method of example 2 or 3 including the steps of extending through the controller reference point.

例5: 設定されたコントローラリファレンスポイントは、仮想閉曲線の中心を定義する例1乃至4のいずれか1例に記載の方法。
例6: 位置基準エリア定義工程は、設定されたコントローラリファレンスポイントにより定義される中心を有する第1仮想ディスクを定義する、第1仮想ディスク定義工程と、設定されたユーザリファレンスポイントおよび第1仮想ディスクに基づき仮想円錐を定義する工程であって、仮想円錐は、設定されたユーザリファレンスポイントを始点として仮想フィーチャに向かって延び、第1仮想ディスクに接触する、仮想円錐定義工程と、仮想円錐と仮想フィーチャとの交差箇所に第2仮想ディスクを定義する、第2仮想ディスク定義工程と、を含む例2乃至5のいずれか1例に記載の方法。
Example 5: The method according to any one of Examples 1 to 4, wherein the set controller reference point defines the center of the virtual closed curve.
Example 6: A location reference area definition step defines a first virtual disk defining a first virtual disk having a center defined by a configured controller reference point, a configured user reference point and a first virtual disk Defining a virtual cone based on the virtual cone, wherein the virtual cone extends toward the virtual feature starting from the set user reference point and contacts the first virtual disk, a virtual cone and a virtual cone and a virtual Defining a second virtual disk at the intersection with the feature, and a second virtual disk defining step.

例7: 第1仮想ディスク定義工程は、第1仮想ディスクの第1半径を定義する工程であって、第1半径は、設定されたコントローラリファレンスポイントから第1仮想ディスクの円周まで延びる、工程を含み、第2仮想ディスク定義工程は、第2仮想ディスクの中心を定義する工程であって、第2仮想ディスクの中心は、アンカーポイントに対応する、工程と、第2仮想ディスクの円周を定義する工程であって、該円周は、円錐と仮想フィーチャの平面との交差箇所に対応する、工程と、第2仮想ディスクの第2半径を定義する工程であって、第2半径は、第2仮想ディスクの中心から第2仮想ディスクの円周まで延びる、工程と、を含む例6に記載の方法。   Example 7: The first virtual disk defining step is a step of defining a first radius of the first virtual disk, wherein the first radius extends from the set controller reference point to the circumference of the first virtual disk And the second virtual disk defining step is a step of defining the center of the second virtual disk, wherein the center of the second virtual disk corresponds to the anchor point, and the step of, and the circumference of the second virtual disk Defining, wherein the circumference corresponds to the intersection of the cone and the plane of the virtual feature, and defining the second radius of the second virtual disk, the second radius being And e. Extending from the center of the second virtual disk to the circumference of the second virtual disk.

例8: 仮想円錐定義工程は、仮想ターゲット線と仮想円錐の外周との間の半頂角を定義する工程を含む例6または7に記載の方法。
例9: 設定されたコントローラリファレンスポイントが設定されたユーザリファレンスポイントに対して移動するとき、第1仮想ディスクの第1半径および第2仮想ディスクの第2仮想半径は、各々一定のままであり、設定されたコントローラリファレンスポイントが設定されたユーザリファレンスポイントに対して移動するとき、半頂角の角度が変わる例7または8に記載の方法。
Example 8: The method according to Example 6 or 7, wherein the virtual cone definition step includes the step of defining a half apex angle between the virtual target line and the outer circumference of the virtual cone.
Example 9: When the configured controller reference point moves relative to the configured user reference point, the first radius of the first virtual disk and the second virtual radius of the second virtual disk each remain constant, The method according to Example 7 or 8, wherein the angle of the half apex angle changes when the set controller reference point moves with respect to the set user reference point.

例10: 第2入力を受信する工程は、設定されたユーザリファレンスポイントに対する設定されたコントローラリファレンスポイントの移動を検出する工程を含み、調整工程は、設定されたコントローラリファレンスポイントが設定されたユーザリファレンスポイントに対して移動するとき、アンカーポイントを仮想ターゲット線上に維持する工程と、設定されたコントローラリファレンスポイントが設定されたユーザリファレンスポイントに対して移動するとき、第1仮想ディスクの第1半径を一定に維持する工程と、設定されたコントローラリファレンスポイントが設定されたユーザリファレンスポイントに対して移動し、かつ仮想フィーチャの位置およびスケールのうちの少なくとも一方が調整されるとき、第2仮想ディスクの第2半径を仮想環境に関して一定に維持する工程と、設定されたコントローラリファレンスポイントが設定されたユーザリファレンスポイントに対して移動し、かつ仮想フィーチャの位置およびスケールのうちの少なくとも一方が調整されるとき、半頂角を調整する工程と、を含む例1乃至9のいずれか1例に記載の方法。   Example 10: The step of receiving the second input includes the step of detecting the movement of the set controller reference point relative to the set user reference point, and the adjusting step is a user reference in which the set controller reference point is set. The step of maintaining the anchor point on the virtual target line when moving relative to the point, and when the set controller reference point moves relative to the set user reference point, the first radius of the first virtual disk is fixed. And the second controller is configured to move the set controller reference point relative to the set user reference point, and adjust at least one of the position and the scale of the virtual feature, the second virtual disk second The steps of maintaining the diameter constant with respect to the virtual environment, moving the set controller reference point relative to the set user reference point, and at least one of the position and the scale of the virtual feature is adjusted Adjusting the apex angle, and the method according to any one of Examples 1 to 9, comprising:

例11: 第2入力を受信する工程は、設定されたユーザリファレンスポイントに対する設定されたコントローラリファレンスポイントの移動を検出する工程を含み、調整工程は、設定されたコントローラリファレンスポイントが設定されたユーザリファレンスポイントに対して移動するとき、アンカーポイントを仮想ターゲット線上に維持して、アンカーポイントを移動させる工程と、アンカーポイントが移動するとき、アンカーポイントを囲む定義されたエリアにおける仮想フィーチャの一部を、定義されたエリア内に維持する、工程と、アンカーポイントが移動するとき、アンカーポイントを囲む定義されたエリアにおける仮想フィーチャの一部の位置およびスケールのうちの少なくとも一方を調整する工程と、を含む例1乃至10のいずれか1例に記載の方法。   Example 11: The step of receiving the second input includes the step of detecting the movement of the set controller reference point relative to the set user reference point, and the adjusting step is a user reference in which the set controller reference point is set. Maintaining the anchor point on the virtual target line when moving relative to the point, and moving the anchor point, and moving part of the virtual feature in the defined area surrounding the anchor point when the anchor point moves; Maintaining within a defined area, and adjusting at least one of position and scale of a portion of the virtual feature in the defined area surrounding the anchor point as the anchor point moves Examples 1 to 10 The method according to one example Zureka.

例12: アンカーポイントを囲む、仮想フィーチャの定義されたエリアは、第2仮想ディスクに対応し、アンカーポイントの移動に応答して仮想フィーチャの位置およびスケールのうちの少なくとも一方が調整されるとき、第2仮想ディスクの仮想半径は、仮想環境に関して一定のままである例6乃至11のいずれか1例に記載の方法。   Example 12: A defined area of a virtual feature surrounding an anchor point corresponds to a second virtual disk and when at least one of the position and the scale of the virtual feature is adjusted in response to movement of the anchor point, The method of any one of examples 6-11, wherein the virtual radius of the second virtual disk remains constant with respect to the virtual environment.

例13: システムであって、没入型仮想環境を生成するよう構成されたコンピュータ装置を備え、コンピュータ装置は、実行可能な命令を記憶するメモリと、命令を実行するよう構成されたプロセッサと、を有し、プロセッサは、コンピュータ装置に、仮想環境を生成する工程と、ヘッドマウントディスプレイ装置と通信をするコントローラのユーザインターフェイスにおいて、第1入力を検出する工程と、第1入力に応答して、仮想環境において、選択された仮想フィーチャにアンカーポイントを設定する、アンカーポイント設定工程と、第2入力を検出する工程と、第2入力に応答して、フィーチャのエリアを、アンカーポイントがエリア内に配置されるように定義する工程と、仮想環境のユーザ視界内で、定義されたエリア内に仮想フィーチャの一部を維持しつつ、仮想環境における仮想フィーチャの位置およびスケールのうちの少なくとも一方を調整する、調整工程と、を実行させるシステム。   Example 13: A system comprising a computing device configured to create an immersive virtual environment, the computing device including: a memory for storing executable instructions; and a processor configured to execute the instructions. And the processor, in the computer device, generating a virtual environment, detecting a first input in a user interface of a controller in communication with the head mounted display device, and responding to the first input as virtual Setting an anchor point to the selected virtual feature in the environment, setting an anchor point, detecting a second input, and responding to the second input, arranging the area of the feature within the area of the anchor Defining in the defined area within the user view of the virtual environment. While maintaining a portion of Icha system to execute, and at least one adjusting, adjustment process of the position and scale of a virtual feature in a virtual environment.

例14: アンカーポイント設定工程において、プロセッサは、仮想ターゲット線と仮想フィーチャとの交差箇所を検出する工程であって、仮想ターゲット線は、ユーザヘッドマウントディスプレイ上の固定点に対応する、設定されたユーザリファレンスポイントにおける始点に基づき定義され、コントローラに対する固定点に対応する設定されたコントローラリファレンスポイントを通じて延びる、工程と、アンカーポイントを、仮想ターゲット線と仮想フィーチャとの検出した交差箇所に設定する工程と、アンカーポイントを囲む、フィーチャのエリアを、設定されたユーザリファレンスポイントに対する設定されたコントローラリファレンスポイントの位置に基づき定義する、位置基準エリア定義工程と、を実行するよう構成される例13に記載のシステム。   Example 14: In the anchor point setting step, the processor detects the intersection of the virtual target line and the virtual feature, and the virtual target line is set to correspond to a fixed point on the user head mounted display Setting the anchor point at the detected intersection of the virtual target line and the virtual feature, defined based on the starting point at the user reference point and extending through the set controller reference point corresponding to the fixed point to the controller Defining the area of the feature, surrounding the anchor point, based on the position of the set controller reference point relative to the set user reference point; The system according to 3.

例15: 位置基準エリア定義工程において、プロセッサは、第1仮想ディスクを、設定されたユーザコントローラポイントに定義する工程と、設定されたユーザリファレンスポイントおよび第1仮想ディスクに基づき仮想円錐を定義する工程であって、仮想円錐は、設定されたユーザリファレンスポイントを始点として仮想フィーチャに向かって延び、第1仮想ディスクに接触する、仮想円錐定義工程と、仮想円錐と仮想フィーチャとの交差箇所に第2仮想ディスクを定義する、第2仮想ディスク定義工程と、を実行するよう構成される例13または14に記載のシステム。   Example 15: In the position reference area defining step, the processor defines a first virtual disk at a set user controller point, and defines a virtual cone based on the set user reference point and the first virtual disk. A virtual cone extending toward the virtual feature starting from the set user reference point and contacting the first virtual disk, at a virtual cone defining step, and at a crossing point of the virtual cone and the virtual feature Defining a virtual disk, the system according to example 13 or 14 configured to perform a second virtual disk definition step.

例16: 第1仮想ディスクを、仮想クロスヘアに定義する工程において、プロセッサは、第1仮想ディスクの中心を定義する工程であって、第1仮想ディスクの中心は、設定されたコントローラリファレンスポイントに対応する、工程と、第1仮想ディスクの第1半径を定義する工程であって、第1半径は、設定されたコントローラリファレンスポイントにおける第1仮想ディスクの中心から第1仮想ディスクの円周まで延びる、工程と、を実行するよう構成される例15に記載のシステム。   Example 16: In the process of defining a first virtual disk as a virtual crosshair, the processor is a process of defining the center of the first virtual disk, and the center of the first virtual disk corresponds to a set controller reference point And defining a first radius of the first virtual disk, the first radius extending from the center of the first virtual disk at the set controller reference point to the circumference of the first virtual disk The system according to example 15, configured to perform a process.

例17: 第2仮想ディスク定義工程において、プロセッサは、第2仮想ディスクの中心を定義する工程であって、第2仮想ディスクの中心は、アンカーポイントに対応する、工程と、第2仮想ディスクの円周を定義する工程であって、該円周は、円錐と仮想フィーチャとの交差箇所に対応する、工程と、第2仮想ディスクの第2半径を定義する工程であって、第2半径は、第2仮想ディスクの中心から第2仮想ディスクの円周まで延びる、工程と、仮想ターゲット線と仮想円錐の外周との間の半頂角を定義する工程と、を実行するよう構成される例15または16に記載のシステム。   Example 17: In the second virtual disk defining step, the processor defines the center of the second virtual disk, and the center of the second virtual disk corresponds to the anchor point, and the step of the second virtual disk Defining a circumference, the circumference corresponding to the intersection of the cone and the virtual feature, and defining a second radius of the second virtual disk, the second radius being Example configured to perform the steps of: extending from the center of the second virtual disk to the circumference of the second virtual disk; and defining the semi-apex angle between the virtual target line and the outer circumference of the virtual cone The system according to 15 or 16.

例18: 調整工程において、プロセッサは、設定されたユーザリファレンスポイントに対する設定されたコントローラリファレンスポイントの移動を、第2入力として検出する工程と、設定されたコントローラリファレンスポイントが設定されたユーザリファレンスポイントに対して移動するとき、アンカーポイントを仮想ターゲット線上に維持する工程と、設定されたコントローラリファレンスポイントが設定されたユーザリファレンスポイントに対して移動するとき、第1仮想ディスクの第1半径を一定に維持する工程と、設定されたコントローラリファレンスポイントが設定されたユーザリファレンスポイントに対して移動し、かつ仮想フィーチャの位置およびスケールのうちの少なくとも一方が調整されるとき、第2仮想ディスクの第2半径を仮想環境に関して一定に維持する、第2半径維持工程と、設定されたコントローラリファレンスポイントが設定されたユーザリファレンスポイントに対して移動し、かつ仮想フィーチャの位置およびスケールのうちの少なくとも一方が調整されるとき、半頂角を調整する工程と、を実行するよう構成される例13乃至17のいずれか1例に記載のシステム。   Example 18: In the adjusting step, the processor detects movement of the set controller reference point with respect to the set user reference point as a second input, and the set controller reference point is set to the user reference point The process of maintaining the anchor point on the virtual target line when moving relative to the user, and maintaining the first radius of the first virtual disk constant when moving the set controller reference point relative to the set user reference point And when the set controller reference point is moved relative to the set user reference point and at least one of the position and the scale of the virtual feature is adjusted, the second virtual disk Maintaining the second radius constant with respect to the virtual environment, moving the second controller reference point relative to the set user reference point, and / or at least one of the position and the scale of the virtual feature The system according to any one of the examples 13-17, configured to perform the step of adjusting the half apex angle when A is adjusted.

例19: 第2半径維持工程において、プロセッサは、アンカーポイントが移動するとき、アンカーポイントを囲む定義されたエリアにおける仮想フィーチャの一部を、定義されたエリア内に維持する、工程と、仮想フィーチャの位置およびスケールのうちの少なくとも一方の調整と共にアンカーポイントが移動するとき、アンカーポイントを囲む定義されたエリアにおける仮想フィーチャの一部の位置およびスケールのうちの少なくとも一方を調整する工程と、を実行するよう構成される例18に記載のシステム。   Example 19: In the second radius maintenance step, the processor maintains, within the defined area, a portion of virtual features in the defined area surrounding the anchor point as the anchor point moves. Adjusting at least one of the position and the scale of a portion of the virtual feature in the defined area surrounding the anchor point when the anchor point moves with adjustment of at least one of the position and the scale of The system according to example 18, configured to:

例20: アンカーポイントを囲む、仮想フィーチャの定義されたエリアは、第2仮想ディスクに対応し、アンカーポイントの移動に応答して仮想フィーチャの位置およびスケールのうちの少なくとも一方が調整されるとき、第2仮想ディスクの仮想半径は、仮想環境に関して一定のままである例15乃至19のいずれか1例に記載のシステム。   Example 20: A defined area of a virtual feature surrounding an anchor point corresponds to a second virtual disk and when at least one of the position and the scale of the virtual feature is adjusted in response to movement of the anchor point, The system according to any one of examples 15 to 19, wherein the virtual radius of the second virtual disk remains constant with respect to the virtual environment.

記載された実装の一定の特徴が、本明細書に記載の通り説明されてきたが、複数の変形例、代用、変更、および等価物が当業者に想到されるであろう。これは、したがって、添付の請求項は、そのようなすべての変形例を網羅するよう意図され、変更は実装の範囲に含まれると理解されるべきである。それらは限定ではなく一例として提示されたに過ぎず、形態および詳細において様々な変更がされてよいと理解されるべきである。本明細書に記載された装置および/または方法の任意の部分は、相互に排除的な組み合わせを除き、任意の組み合わせにおいて組み合わされてよい。本明細書に記載された実装は、様々な組み合わせおよび/または機能、構成要素の下位の組み合わせ、ならびに/または記載された異なる実装の特徴を含んでよい。   While certain features of the described implementations have been described as described herein, several variations, substitutions, modifications, and equivalents will be apparent to those of ordinary skill in the art. It is therefore to be understood that the appended claims are intended to cover all such variations, and that variations are included within the scope of the implementation. It should be understood that they have been presented by way of example only and not as various modifications in form and detail. Any portion of the devices and / or methods described herein may be combined in any combination except mutually exclusive combinations. The implementations described herein may include various combinations and / or functions, subcombinations of components, and / or features of the different implementations described.

Claims (20)

方法であって、
ヘッドマウントディスプレイ装置のディスプレイ内で仮想環境を生成する工程と、
前記ヘッドマウントディスプレイ装置と通信をするハンドヘルドのコントローラのユーザインターフェイスにおいて受信される第1入力を検出する工程と、
前記第1入力に応答して、前記仮想環境において、選択された仮想フィーチャにアンカーポイントを設定する、アンカーポイント設定工程と、
第2入力を検出する工程と、
前記第2入力に応答して、
設定されたユーザリファレンスポイントに対する設定されたコントローラリファレンスポイントの位置に基づき、前記アンカーポイントに関連付けられた前記仮想フィーチャを含む前記仮想環境内に、エリアを定義する工程であって、前記設定されたユーザリファレンスポイントは前記ヘッドマウントディスプレイ装置に対する固定点に対応し、前記設定されたコントローラリファレンスポイントはハンドヘルドの前記コントローラに対する固定点に対応し、前記設定されたユーザリファレンスポイントと前記設定されたコントローラリファレンスポイントと前記アンカーポイントとは仮想線上にある、前記工程と、
前記仮想環境のユーザ視界内で、定義された前記エリアを維持しつつ、前記仮想環境における前記仮想フィーチャの位置およびスケールのうちの少なくとも一方を調整する、調整工程と、を備える方法。
Method,
Creating a virtual environment within the display of the head mounted display device;
Detecting a first input received at a user interface of a handheld controller in communication with the head mounted display device;
Setting an anchor point to the selected virtual feature in the virtual environment in response to the first input;
Detecting a second input;
In response to the second input,
Defining an area in the virtual environment including the virtual feature associated with the anchor point based on the set position of the controller reference point with respect to the set user reference point, the set user The reference point corresponds to a fixed point for the head mounted display device, the set controller reference point corresponds to a fixed point for the handheld controller, the set user reference point and the set controller reference point Said step being on an imaginary line with said anchor point ,
Wherein in the user field of view of the virtual environment, while maintaining the area A defined, for adjusting at least one of the position and scale of the virtual feature in the virtual environment, the method comprising the adjusting step.
前記アンカーポイント設定工程は、
仮想ターゲット線と前記仮想フィーチャとの交差箇所を検出する、交差箇所検出工程と、
前記仮想ターゲット線と前記仮想フィーチャとの検出した前記交差箇所に、前記アンカーポイントを設定する工程と、を含む請求項1に記載の方法。
In the anchor point setting process,
An intersection point detection step of detecting an intersection point of a virtual target line and the virtual feature;
Wherein on the detected intersection of the virtual target line and the virtual feature, The method of claim 1 including the steps of setting the anchor point.
前記設定されたユーザリファレンスポイントは、前記ヘッドマウントディスプレイ装置上の固定点に対応し、前記設定されたコントローラリファレンスポイントは、ハンドヘルドの前記コントローラに対する固定点に対応する請求項2に記載の方法。 The set user reference point corresponds to a fixed point on the head-mounted display device, the set controller reference point A method according to claim 2 which corresponds to a fixed point with respect to the handheld the controller. 前記交差箇所検出工程は、前記仮想ターゲット線を定義する工程であって、前記仮想ターゲット線は、前記設定されたユーザリファレンスポイントを始点とし、前記仮想ターゲット線は、前記設定されたユーザリファレンスポイントにおける前記始点から前記設定されたコントローラリファレンスポイントを通じて延びる、工程を含む請求項3に記載の方法。   The intersection location detection step is a step of defining the virtual target line, and the virtual target line starts from the set user reference point, and the virtual target line corresponds to the set user reference point. 4. The method of claim 3, including the step of extending from the start point through the set controller reference point. 前記設定されたコントローラリファレンスポイントは、仮想閉曲線の中心を定義する請求項4に記載の方法。   5. The method of claim 4, wherein the set controller reference point defines a center of a virtual closed curve. 前記仮想環境内に前記エリアを定義する工程は、
前記設定されたコントローラリファレンスポイントにより定義される中心を有する第1仮想ディスクを定義する、第1仮想ディスク定義工程と、
前記設定されたユーザリファレンスポイントおよび前記第1仮想ディスクに基づき仮想円錐を定義する工程であって、前記仮想円錐は、前記設定されたユーザリファレンスポイントを始点として前記仮想フィーチャに向かって延び、前記第1仮想ディスクに接触する、仮想円錐定義工程と、
前記仮想円錐と前記仮想フィーチャとの交差箇所に第2仮想ディスクを定義する、第2仮想ディスク定義工程と、を含む請求項に記載の方法。
The step of defining the area in the virtual environment includes
A first virtual disk definition step of defining a first virtual disk having a center defined by the set controller reference point;
Defining a virtual cone based on the set user reference point and the first virtual disk, wherein the virtual cone extends toward the virtual feature starting from the set user reference point; 1 virtual cone definition process in contact with a virtual disk;
The method of claim 1 , further comprising the step of: defining a second virtual disk at an intersection of the virtual cone and the virtual feature.
前記第1仮想ディスク定義工程は、前記第1仮想ディスクの第1半径を定義する工程であって、前記第1半径は、前記設定されたコントローラリファレンスポイントから前記第1仮想ディスクの円周まで延びる、工程を含み、前記第2仮想ディスク定義工程は、
前記第2仮想ディスクの中心を定義する工程であって、前記第2仮想ディスクの中心は、前記アンカーポイントに対応する、工程と、
前記第2仮想ディスクの円周を定義する工程であって、該円周は、前記円錐と前記アンカーポイントに位置する仮想平面との交差箇所に対応し、前記仮想平面は仮想ターゲット線と垂直である、工程と、
前記第2仮想ディスクの第2半径を定義する工程であって、前記第2半径は、前記第2仮想ディスクの前記中心から前記第2仮想ディスクの前記円周まで延びる、工程と、を含む請求項6に記載の方法。
The first virtual disk defining step is a step of defining a first radius of the first virtual disk, and the first radius extends from the set controller reference point to the circumference of the first virtual disk. , And the second virtual disk defining step includes
Defining a center of the second virtual disk, wherein the center of the second virtual disk corresponds to the anchor point;
Defining a circumference of the second virtual disk, the circumference corresponding to an intersection of the cone and a virtual plane located at the anchor point, the virtual plane being perpendicular to the virtual target line There is a process
Defining a second radius of the second virtual disk, wherein the second radius extends from the center of the second virtual disk to the circumference of the second virtual disk. The method according to Item 6.
前記仮想円錐定義工程は、前記仮想ターゲット線と前記仮想円錐の外周との間の半頂角を定義する工程を含む請求項7に記載の方法。   The method according to claim 7, wherein the step of defining the virtual cone includes the step of defining a half apex angle between the virtual target line and the outer periphery of the virtual cone. 前記設定されたコントローラリファレンスポイントが前記設定されたユーザリファレンスポイントに対して移動するとき、前記第1仮想ディスクの前記第1半径は前記ユーザに対して一定のままであり、前記第2仮想ディスクの仮想の前記第2半径は前記仮想環境に対して一定のままであり、前記設定されたコントローラリファレンスポイントが前記設定されたユーザリファレンスポイントに対して移動するとき、前記半頂角の角度が変わる請求項8に記載の方法。 When the configured controller reference point moves relative to the configured user reference point, the first radius of the first virtual disk remains constant for the user, and the second radius of the second virtual disk is The second radius of the virtual remains constant with respect to the virtual environment, and the angle of the semi-apical angle changes when the set controller reference point moves relative to the set user reference point The method according to item 8. 前記第2入力を受信する工程は、前記設定されたユーザリファレンスポイントに対する前記設定されたコントローラリファレンスポイントの移動を検出する工程を含み、前記調整工程は、
前記設定されたコントローラリファレンスポイントが前記設定されたユーザリファレンスポイントに対して移動するとき、前記アンカーポイントを前記仮想ターゲット線上に維持する工程と、
前記設定されたコントローラリファレンスポイントが前記設定されたユーザリファレンスポイントに対して移動するとき、前記第1仮想ディスクの前記第1半径を前記ユーザに対して一定に維持する工程と、
前記設定されたコントローラリファレンスポイントが前記設定されたユーザリファレンスポイントに対して移動し、かつ前記仮想フィーチャの前記位置および前記スケールのうちの少なくとも一方が調整されるとき、前記第2仮想ディスクの前記第2半径を前記仮想環境に対して一定に維持する工程と、
前記設定されたコントローラリファレンスポイントが前記設定されたユーザリファレンスポイントに対して移動し、かつ前記仮想フィーチャの前記位置および前記スケールのうちの少なくとも一方が調整されるとき、前記半頂角を調整する工程と、を含む請求項8に記載の方法。
The second step of receiving the input includes the step of detecting the movement of the set controller reference point for the configured user reference point, the adjustment step,
Maintaining the anchor point on the virtual target line as the set controller reference point moves relative to the set user reference point;
Maintaining the first radius of the first virtual disk constant for the user when the set controller reference point moves relative to the set user reference point;
When the set controller reference point moves relative to the set user reference point and at least one of the position of the virtual feature and the scale is adjusted, the second of the second virtual disk a step of maintaining a constant for a second radius on said virtual environment,
Adjusting the half apex angle when the set controller reference point moves relative to the set user reference point and at least one of the position of the virtual feature and the scale is adjusted The method according to claim 8, comprising
前記第2入力を受信する工程は、前記設定されたユーザリファレンスポイントに対する前記設定されたコントローラリファレンスポイントの移動を検出する工程を含み、前記調整工程は、
前記設定されたコントローラリファレンスポイントが前記設定されたユーザリファレンスポイントに対して移動するとき、前記アンカーポイントを前記仮想ターゲット線上に維持して、前記アンカーポイントを移動させる工程と、
前記アンカーポイントが移動するとき、前記アンカーポイントを囲む定義された前記エリアにおける前記仮想フィーチャの前記一部を、定義された前記エリア内に維持する、工程と、
前記アンカーポイントが移動するとき、前記アンカーポイントを囲む定義された前記エリアにおける前記仮想フィーチャの前記一部の前記位置および前記スケールのうちの少なくとも一方を調整する工程と、を含む請求項8に記載の方法。
The second step of receiving the input includes the step of detecting the movement of the set controller reference point for the configured user reference point, the adjustment step,
Maintaining the anchor point on the virtual target line to move the anchor point when the set controller reference point moves relative to the set user reference point;
Maintaining the portion of the virtual feature in the defined area surrounding the anchor point within the defined area as the anchor point moves;
Adjusting at least one of the position of the portion of the virtual feature and the scale in the defined area surrounding the anchor point as the anchor point moves. the method of.
前記アンカーポイントを囲む、前記仮想フィーチャの定義された前記エリアは、前記第2仮想ディスクに対応し、前記アンカーポイントの移動に応答して前記仮想フィーチャの前記位置および前記スケールのうちの少なくとも一方が調整されるとき、前記第2仮想ディスクの仮想の前記半径は、前記仮想環境に関して一定のままである請求項11に記載の方法。   The defined area of the virtual feature surrounding the anchor point corresponds to the second virtual disk, and at least one of the position of the virtual feature and the scale is responsive to movement of the anchor point The method according to claim 11, wherein when adjusted, the virtual radius of the second virtual disk remains constant with respect to the virtual environment. システムであって、
没入型仮想環境を生成するよう構成されたコンピュータ装置を備え、前記コンピュータ装置は、
実行可能な命令を記憶するメモリと、
前記命令を実行するよう構成されたプロセッサと、を有し、前記コンピュータ装置に、
ヘッドマウントディスプレイ装置のディスプレイ中に仮想環境を生成する工程と、
前記ヘッドマウントディスプレイ装置と通信をするハンドヘルドのコントローラのユーザインターフェイスにおいて受信される第1入力を検出する工程と、
前記第1入力に応答して、前記仮想環境において、選択された仮想フィーチャにアンカーポイントを設定する、アンカーポイント設定工程と、
第2入力を検出する工程と、
前記第2入力に応答して、
設定されたユーザリファレンスポイントに対する設定されたコントローラリファレンスポイントの位置に基づき、前記フィーチャのエリアを、前記アンカーポイントが前記エリア内に配置されるように定義する工程であって、前記設定されたユーザリファレンスポイントは前記ヘッドマウントディスプレイ装置に対する固定点に対応し、前記設定されたコントローラリファレンスポイントはハンドヘルドの前記コントローラに対する固定点に対応し、前記設定されたユーザリファレンスポイントと前記設定されたコントローラリファレンスポイントと前記アンカーポイントとは仮想線上にある、前記工程と、
前記仮想環境のユーザ視界内で、定義された前記エリアを維持しつつ、前記仮想環境における前記仮想フィーチャの位置およびスケールのうちの少なくとも一方を調整する、調整工程と、を実行させるシステム。
A system,
A computer device configured to create an immersive virtual environment, the computer device comprising
A memory for storing executable instructions;
A processor configured to execute the instructions;
Creating a virtual environment in the display of the head mounted display device ;
And detecting a first input received at the handheld controller of the user interface to communicate with the head-mounted display device,
Setting an anchor point to the selected virtual feature in the virtual environment in response to the first input;
Detecting a second input;
In response to the second input,
Defining the area of the feature such that the anchor point is placed in the area based on the set position of the controller reference point relative to the set user reference point, the set user reference The point corresponds to a fixed point to the head mounted display device, the set controller reference point corresponds to a fixed point to the controller of the handheld, and the set user reference point and the set controller reference point An anchor point is on an imaginary line ,
Wherein in the user field of view of the virtual environment, the system to be executed while maintaining a defined the area A, adjusts at least one of the position and scale of the virtual feature in the virtual environment, and adjusting step.
前記アンカーポイント設定工程において、前記プロセッサは、
仮想ターゲット線と前記仮想フィーチャとの交差箇所を検出する工程であって、前記仮想ターゲット線は、ユーザヘッドマウントディスプレイ上の固定点に対応する、設定されたユーザリファレンスポイントにおける始点に基づき定義され、前記コントローラに対する固定点に対応する設定されたコントローラリファレンスポイントを通じて延びる、工程と、
前記アンカーポイントを、前記仮想ターゲット線と前記仮想フィーチャとの検出した前記交差箇所に設定する工程と、を実行するよう構成される請求項13に記載のシステム。
In the anchor point setting step, the processor
Detecting an intersection between a virtual target line and the virtual feature, wherein the virtual target line is defined based on a start point at a set user reference point corresponding to a fixed point on a user head mounted display; Extending through a set controller reference point corresponding to a fixed point to the controller;
A system according to configured claim 13 to perform the steps of the anchor points, set on the detected intersections between the virtual target line and the virtual feature.
前記アンカーポイントを囲む、前記フィーチャの前記エリアを定義する工程において、前記プロセッサは、
第1仮想ディスクを、前記設定されたコントローラリファレンスポイントに定義する工程と、
前記設定されたユーザリファレンスポイントおよび前記第1仮想ディスクに基づき仮想円錐を定義する工程であって、前記仮想円錐は、前記設定されたユーザリファレンスポイントを始点として前記仮想フィーチャに向かって延び、前記第1仮想ディスクに接触する、仮想円錐定義工程と、
前記仮想円錐と前記仮想フィーチャとの交差箇所に第2仮想ディスクを定義する、第2仮想ディスク定義工程と、を実行するよう構成される請求項14に記載のシステム。
In the step of defining the area of the feature surrounding the anchor point, the processor
A step of defining the first virtual disk, to the set controller reference point,
Defining a virtual cone based on the set user reference point and the first virtual disk, wherein the virtual cone extends toward the virtual feature starting from the set user reference point; 1 virtual cone definition process in contact with a virtual disk;
15. A system according to claim 14, configured to perform a second virtual disk definition step, defining a second virtual disk at the intersection of the virtual cone and the virtual feature.
前記第1仮想ディスクを、仮想クロスヘアに定義する工程において、前記プロセッサは、
前記第1仮想ディスクの中心を定義する工程であって、前記第1仮想ディスクの前記中心は、前記設定されたコントローラリファレンスポイントに対応する、工程と、
前記第1仮想ディスクの第1半径を定義する工程であって、前記第1半径は、前記設定されたコントローラリファレンスポイントにおける前記第1仮想ディスクの前記中心から前記第1仮想ディスクの円周まで延びる、工程と、を実行するよう構成される請求項15に記載のシステム。
In the step of defining the first virtual disk as a virtual cross hair, the processor is configured to:
Defining a center of the first virtual disk, wherein the center of the first virtual disk corresponds to the set controller reference point;
Defining a first radius of the first virtual disk, wherein the first radius extends from the center of the first virtual disk at the set controller reference point to the circumference of the first virtual disk 20. The system of claim 15, configured to perform: a.
前記第2仮想ディスク定義工程において、前記プロセッサは、
前記第2仮想ディスクの中心を定義する工程であって、前記第2仮想ディスクの前記中心は、前記アンカーポイントに対応する、工程と、
前記第2仮想ディスクの円周を定義する工程であって、該円周は、前記円錐と前記仮想フィーチャとの交差箇所に対応する、工程と、
前記第2仮想ディスクの第2半径を定義する工程であって、前記第2半径は、前記第2仮想ディスクの前記中心から前記第2仮想ディスクの前記円周まで延びる、工程と、
前記仮想ターゲット線と前記仮想円錐の外周との間の半頂角を定義する工程と、を実行するよう構成される請求項16に記載のシステム。
In the second virtual disk definition step, the processor
Defining a center of the second virtual disk, wherein the center of the second virtual disk corresponds to the anchor point;
Defining a circumference of the second virtual disk, the circumference corresponding to an intersection of the cone and the virtual feature;
Defining a second radius of the second virtual disk, the second radius extending from the center of the second virtual disk to the circumference of the second virtual disk;
17. A system according to claim 16, wherein: defining a half apex angle between the virtual target line and the outer circumference of the virtual cone.
前記調整工程において、前記プロセッサは、
前記設定されたユーザリファレンスポイントに対する前記設定されたコントローラリファレンスポイントの移動を、第2入力として検出する工程と、
前記設定されたコントローラリファレンスポイントが前記設定されたユーザリファレンスポイントに対して移動するとき、前記アンカーポイントを前記仮想ターゲット線上に維持する工程と、
前記設定されたコントローラリファレンスポイントが前記設定されたユーザリファレンスポイントに対して移動するとき、前記第1仮想ディスクの前記第1半径を前記ユーザに対して一定に維持する工程と、
前記設定されたコントローラリファレンスポイントが前記設定されたユーザリファレンスポイントに対して移動し、かつ前記仮想フィーチャの前記位置および前記スケールのうちの少なくとも一方が調整されるとき、前記第2仮想ディスクの前記第2半径を前記仮想環境に対して一定に維持する、第2半径維持工程と、
前記設定されたコントローラリファレンスポイントが前記設定されたユーザリファレンスポイントに対して移動し、かつ前記仮想フィーチャの前記位置および前記スケールのうちの少なくとも一方が調整されるとき、前記半頂角を調整する工程と、を実行するよう構成される請求項17に記載のシステム。
In the adjusting step, the processor
Detecting movement of the set controller reference point with respect to the set user reference point as a second input;
Maintaining the anchor point on the virtual target line as the set controller reference point moves relative to the set user reference point;
Maintaining the first radius of the first virtual disk constant for the user when the set controller reference point moves relative to the set user reference point;
When the set controller reference point moves relative to the set user reference point and at least one of the position of the virtual feature and the scale is adjusted, the second of the second virtual disk the second radius is maintained constant for the virtual environment, and a second radius sustain step,
Adjusting the half apex angle when the set controller reference point moves relative to the set user reference point and at least one of the position of the virtual feature and the scale is adjusted The system according to claim 17, configured to perform and.
前記設定されたコントローラリファレンスポイントが前記設定されたユーザリファレンスポイントに対して移動するとき、前記第2仮想ディスクの前記第2半径を前記仮想環境に対して関して一定に維持する工程において、前記プロセッサは、
前記アンカーポイントが移動するとき、前記アンカーポイントを囲む定義された前記エリアにおける前記仮想フィーチャの前記一部を、定義された前記エリア内に維持する、工程と、
前記仮想フィーチャの前記位置および前記スケールのうちの少なくとも一方の調整と共に前記アンカーポイントが移動するとき、前記アンカーポイントを囲む定義された前記エリアにおける前記仮想フィーチャの前記一部の前記位置および前記スケールのうちの少なくとも一方を調整する工程と、を実行するよう構成される請求項17に記載のシステム。
Maintaining the second radius of the second virtual disk constant with respect to the virtual environment when the set controller reference point moves relative to the set user reference point; Is
Maintaining the portion of the virtual feature in the defined area surrounding the anchor point within the defined area as the anchor point moves;
The position and the scale of the portion of the virtual feature in the defined area surrounding the anchor point when the anchor point moves with adjustment of at least one of the position of the virtual feature and the scale; 20. A system according to claim 17 , configured to perform at least one of adjusting.
前記アンカーポイントを囲む、前記仮想フィーチャの定義された前記エリアは、前記第2仮想ディスクに対応し、前記アンカーポイントの移動に応答して前記仮想フィーチャの前記位置および前記スケールのうちの少なくとも一方が調整されるとき、前記第2仮想ディスクの仮想の前記半径は、前記仮想環境に関して一定のままである請求項19に記載のシステム。   The defined area of the virtual feature surrounding the anchor point corresponds to the second virtual disk, and at least one of the position of the virtual feature and the scale is responsive to movement of the anchor point 20. The system of claim 19, wherein when adjusted, the virtual radius of the second virtual disk remains constant with respect to the virtual environment.
JP2018524722A 2016-02-08 2016-12-06 Control system for navigation in virtual reality environment Active JP6535819B2 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662292602P 2016-02-08 2016-02-08
US62/292,602 2016-02-08
US15/352,162 US10083539B2 (en) 2016-02-08 2016-11-15 Control system for navigation in virtual reality environment
US15/352,162 2016-11-15
PCT/US2016/065058 WO2017139009A1 (en) 2016-02-08 2016-12-06 Control system for navigation in virtual reality environment

Publications (2)

Publication Number Publication Date
JP2019502193A JP2019502193A (en) 2019-01-24
JP6535819B2 true JP6535819B2 (en) 2019-06-26

Family

ID=59497863

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018524722A Active JP6535819B2 (en) 2016-02-08 2016-12-06 Control system for navigation in virtual reality environment

Country Status (6)

Country Link
US (1) US10083539B2 (en)
EP (1) EP3414644B1 (en)
JP (1) JP6535819B2 (en)
KR (1) KR102021135B1 (en)
CN (1) CN108139805B (en)
WO (1) WO2017139009A1 (en)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170061700A1 (en) * 2015-02-13 2017-03-02 Julian Michael Urbach Intercommunication between a head mounted display and a real world object
JP7196834B2 (en) * 2017-03-22 2022-12-27 ソニーグループ株式会社 Image processing device and method, and program
US10326933B2 (en) * 2017-06-14 2019-06-18 Google Llc Pose estimation of 360-degree photos using annotations
KR102479052B1 (en) * 2017-08-29 2022-12-20 삼성전자주식회사 Method for controlling display of electronic device using a plurality of controllers and device thereof
KR102374408B1 (en) * 2017-09-08 2022-03-15 삼성전자주식회사 Method for controlling a pointer in a screen of virtual reality and electronic device
US10712899B2 (en) * 2017-10-17 2020-07-14 Microsoft Technology Licensing, Llc Human-machine interface tethered to a user position in a three-dimensional VR or AR environment
KR102572675B1 (en) * 2017-11-22 2023-08-30 삼성전자주식회사 Method and electronic device for adaptively configuring user interface
CN108519676B (en) * 2018-04-09 2020-04-28 杭州瑞杰珑科技有限公司 Head-wearing type vision-aiding device
US11353967B2 (en) * 2018-05-31 2022-06-07 Arkh Litho Holdings, LLC Interacting with a virtual environment using a pointing controller
CN110825279A (en) * 2018-08-09 2020-02-21 北京微播视界科技有限公司 Method, apparatus and computer readable storage medium for inter-plane seamless handover
US11397463B2 (en) 2019-01-12 2022-07-26 Microsoft Technology Licensing, Llc Discrete and continuous gestures for enabling hand rays
US11386872B2 (en) * 2019-02-15 2022-07-12 Microsoft Technology Licensing, Llc Experiencing a virtual object at a plurality of sizes
CN110456907A (en) * 2019-07-24 2019-11-15 广东虚拟现实科技有限公司 Control method, device, terminal device and the storage medium of virtual screen
US20230297166A1 (en) * 2020-03-10 2023-09-21 Arkh Litho Holdings, LLC Barometric Sensing of Arm Position in a Pointing Controller System
US11120639B1 (en) 2020-04-24 2021-09-14 Microsoft Technology Licensing, Llc Projecting telemetry data to visualization models

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001128134A (en) * 1999-11-01 2001-05-11 Atr Media Integration & Communications Res Lab Presentation device
US7667700B1 (en) 2004-03-05 2010-02-23 Hrl Laboratories, Llc System and method for navigating operating in a virtual environment
JP5681850B2 (en) * 2010-03-09 2015-03-11 レノボ・イノベーションズ・リミテッド(香港) A portable terminal using a head-mounted display as an external display device
EP2506118A1 (en) * 2011-03-29 2012-10-03 Sony Ericsson Mobile Communications AB Virtual pointer
WO2013085639A1 (en) * 2011-10-28 2013-06-13 Magic Leap, Inc. System and method for augmented and virtual reality
US20140168261A1 (en) * 2012-12-13 2014-06-19 Jeffrey N. Margolis Direct interaction system mixed reality environments
JP5868886B2 (en) * 2013-03-11 2016-02-24 東芝三菱電機産業システム株式会社 Wearable computer input device
US9041741B2 (en) * 2013-03-14 2015-05-26 Qualcomm Incorporated User interface for a head mounted display
JP6264370B2 (en) * 2013-04-02 2018-01-24 ソニー株式会社 Information processing apparatus, information processing method, and program
US9245387B2 (en) * 2013-04-12 2016-01-26 Microsoft Technology Licensing, Llc Holographic snap grid
CN105210144B (en) * 2013-05-21 2017-12-08 索尼公司 Display control unit, display control method and recording medium
US20160004300A1 (en) 2014-07-07 2016-01-07 PinchVR Inc. System, Method, Device and Computer Readable Medium for Use with Virtual Environments
US10416760B2 (en) * 2014-07-25 2019-09-17 Microsoft Technology Licensing, Llc Gaze-based object placement within a virtual reality environment
CN206650796U (en) * 2017-08-04 2017-11-17 深圳超多维科技有限公司 Virtual reality device

Also Published As

Publication number Publication date
KR102021135B1 (en) 2019-09-11
JP2019502193A (en) 2019-01-24
EP3414644B1 (en) 2022-05-25
CN108139805B (en) 2021-05-25
EP3414644A1 (en) 2018-12-19
KR20180069041A (en) 2018-06-22
US20170228921A1 (en) 2017-08-10
CN108139805A (en) 2018-06-08
WO2017139009A1 (en) 2017-08-17
US10083539B2 (en) 2018-09-25

Similar Documents

Publication Publication Date Title
JP6535819B2 (en) Control system for navigation in virtual reality environment
US10559117B2 (en) Interactions and scaling in virtual reality
KR102098316B1 (en) Teleportation in an augmented and/or virtual reality environment
KR102245245B1 (en) Manipulation of virtual objects using 6 DOF controllers in an augmented and/or virtual reality environment
JP6676213B2 (en) Detection of User Motion Range for Virtual Reality User Interface
US10509487B2 (en) Combining gyromouse input and touch input for navigation in an augmented and/or virtual reality environment
CN108073276B (en) Dragging virtual elements for augmented and/or virtual reality environments
US10620720B2 (en) Input controller stabilization techniques for virtual reality systems

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190524

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190528

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190603

R150 Certificate of patent or registration of utility model

Ref document number: 6535819

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250