JP6633256B1 - 拡張現実および/または仮想現実環境におけるジェスチャーによる仮想注記面の生成 - Google Patents

拡張現実および/または仮想現実環境におけるジェスチャーによる仮想注記面の生成 Download PDF

Info

Publication number
JP6633256B1
JP6633256B1 JP2019529992A JP2019529992A JP6633256B1 JP 6633256 B1 JP6633256 B1 JP 6633256B1 JP 2019529992 A JP2019529992 A JP 2019529992A JP 2019529992 A JP2019529992 A JP 2019529992A JP 6633256 B1 JP6633256 B1 JP 6633256B1
Authority
JP
Japan
Prior art keywords
virtual
electronic device
handheld electronic
detected
detecting
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
JP2019529992A
Other languages
English (en)
Other versions
JP2020513625A (ja
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
Application granted granted Critical
Publication of JP6633256B1 publication Critical patent/JP6633256B1/ja
Publication of JP2020513625A publication Critical patent/JP2020513625A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/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/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
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/004Annotating, labelling

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Architecture (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Processing Or Creating Images (AREA)

Abstract

拡張現実および/または仮想現実システムにおいて、検出したジェスチャーに応じて、仮想注釈面または仮想シートまたは仮想ホワイトボードを、実体化することができる。ユーザは、仮想注釈面に注釈を与え、仮想注釈面を調整し、格納し、検討し、修正することができ、現在の仮想環境、および/または別の仮想環境、および/または仮想環境の外部における、その他のユーザとの共同作業を可能にする。

Description

関連出願の相互参照
本願は、2016年12月5日に出願された米国出願第15/369,620号の継続出願であり、この出願に基づく優先権を主張し、その開示全体を本明細書に引用により援用する。
分野
本明細書は、概して、拡張現実および/または仮想現実環境において、メモを取るための面をジェスチャーによって生成することに関する。
背景
拡張現実(AR)および/または仮想現実(VR)システムは、没入型の3次元(3D)仮想環境を生成し得る。ユーザは、この仮想環境におけるオブジェクトと、さまざまな電子デバイスを用いてやり取りすることができる。電子デバイスは、たとえば、ディスプレイとユーザがディスプレイ装置を見るときに使用する眼鏡もしくはゴーグルとを含むヘルメットまたはその他のヘッドマウントデバイス、コントローラやジョイスティックなどの1つ以上のハンドヘルド電子デバイス、センサを備えた手袋、キーボード、マウス、およびその他の電子デバイスなどである。
概要
ある局面において、方法は、ヘッドマウントディスプレイ(HMD)デバイスのディスプレイに仮想環境を表示するステップと、HMDの外部におけるジェスチャー入力を検出するステップと、ジェスチャー入力の検出に応じて仮想注記面を生成するステップと、仮想環境における仮想オブジェクトとして仮想注記面を表示するステップと、HMDの外部における別のジェスチャー入力を検出するステップと、検出したジェスチャー入力に基づいて仮想注記面に注釈を与えるステップと、注釈を与えた仮想注記面を仮想環境における仮想オブジェクトとして表示するステップとを含む。
別の局面において、仮想現実環境を生成するように構成されたコンピューティングデバイスは、実行可能な命令を格納するメモリと、この命令を実行するように構成されたプロセッサとを含み得る。この命令は、コンピューティングデバイスに、ヘッドマウントディスプレイ(HMD)デバイスのディスプレイに仮想環境を表示することと、HMDの外部における第1のジェスチャー入力を検出することと、第1のジェスチャー入力の検出に応じて、仮想注記面を生成することと、HMDの外部における第2のジェスチャー入力を検出することと、第2のジェスチャー入力の検出に応じて、仮想環境における仮想オブジェクトとして仮想注記面を表示することと、HMDの外部における第3のジェスチャー入力を検出することと、第3のジェスチャー入力の検出に応じて、仮想注記面に注釈を与えることと、注釈が与えられた仮想注記面を、仮想環境における仮想オブジェクトとして表示することとを実行させる。
別の局面において、非一時的なコンピュータ読取可能媒体上で実施されるコンピュータプログラムプロダクトは、命令のシーケンスを格納し得る。この命令は、プロセッサによって実行されると、このプロセッサに方法を実行させ、この方法は、ヘッドマウントディスプレイ(HMD)デバイスのディスプレイに仮想環境を表示するステップと、HMDの外部における第1のジェスチャー入力を検出するステップと、第1のジェスチャー入力の検出に応じて、仮想注記面を生成するステップと、HMDの外部における第2のジェスチャー入力を検出するステップと、第2のジェスチャー入力の検出に応じて、仮想環境における仮想オブジェクトとして仮想注記面を表示するステップと、HMDの外部における第3のジェスチャー入力を検出するステップと、第3のジェスチャー入力の検出に応じて、仮想注記面に注釈を与えるステップと、注釈が与えられた仮想注記面を仮想環境における仮想オブジェクトとして表示するステップとを含む。
1つ以上の実装例の詳細が添付の図面および以下の説明に記載される。その他の特徴はこの説明および図面ならびに請求項から明らかになるであろう。
本明細書に記載の実装例に係る、外部入力デバイスと通信するヘッドマウントディスプレイを含む拡張および/または仮想現実システムの実装の一例を示す図である。 本明細書に記載の実装例に係る、ヘッドマウントディスプレイ装置の一例の斜視図である。 本明細書に記載の実装例に係る、ヘッドマウントディスプレイ装置の一例の斜視図である。 本明細書に記載の実装例に係る、拡張および/または仮想現実システムのブロック図である。 本明細書に記載の実装例に係る、拡張および/または仮想現実環境において検出されたユーザのジェスチャーに応じて仮想注記面を実体化するためのシステムを示す図である。 本明細書に記載の実装例に係る、拡張および/または仮想現実環境において検出されたユーザのジェスチャーに応じて仮想注記面を実体化するためのシステムを示す図である。 本明細書に記載の実装例に係る、拡張および/または仮想現実環境において検出されたユーザのジェスチャーに応じて仮想注記面を実体化するためのシステムを示す図である。 本明細書に記載の実装例に係る、拡張および/または仮想現実環境において検出されたユーザのジェスチャーに応じて仮想注記面を実体化するためのシステムを示す図である。 本明細書に記載の実装例に係る、拡張および/または仮想現実環境において検出されたユーザのジェスチャーに応じて仮想注記面を実体化するためのシステムを示す図である。 本明細書に記載の実装例に係る、拡張および/または仮想現実環境において検出されたユーザのジェスチャーに応じて仮想注記面を実体化するためのシステムを示す図である。 本明細書に記載の実装例に係る、拡張および/または仮想現実環境において検出されたユーザのジェスチャーに応じて仮想注記面を実体化するためのシステムを示す図である。 本明細書に記載の実装例に係る、拡張および/または仮想現実環境において検出されたユーザのジェスチャーに応じて仮想注記面を実体化するためのシステムを示す図である。 本明細書に記載の実装例に係る、拡張および/または仮想現実環境における仮想注記面の注釈および操作を示す図である。 本明細書に記載の実装例に係る、拡張および/または仮想現実環境における仮想注記面の注釈および操作を示す図である。 本明細書に記載の実装例に係る、拡張および/または仮想現実環境における仮想注記面の注釈および操作を示す図である。 本明細書に記載の実装例に係る、拡張および/または仮想現実環境における仮想注記面の注釈および操作を示す図である。 本明細書に記載の実装例に係る、拡張および/または仮想現実環境における仮想注記面の注釈および操作を示す図である。 本明細書に記載の実装例に係る、拡張および/または仮想現実環境における仮想注記面の注釈および操作を示す図である。 本明細書に記載の実装例に係る、拡張および/または仮想現実環境における仮想注記面の注釈および操作を示す図である。 本明細書に記載の実装例に係る、拡張および/または仮想現実環境における仮想注記面の注釈および操作を示す図である。 本明細書に記載の実装例に係る、拡張および/または仮想現実環境における仮想注記面の注釈および操作を示す図である。 本明細書に記載の実装例に係る、拡張および/または仮想現実環境における仮想注記面の注釈および操作を示す図である。 本明細書に記載の実装例に係る、拡張および/または仮想現実環境における仮想注記面の注釈および操作を示す図である。 本明細書に記載の実装例に係る、拡張および/または仮想現実環境における仮想注記面の注釈および操作を示す図である。 本明細書に記載の実装例に係る、拡張および/または仮想現実環境における仮想注記面の注釈および操作を示す図である。 本明細書に記載の実装例に係る、拡張および/または仮想現実環境における仮想注記面の注釈および操作を示す図である。 本明細書に記載の実装例に係る、拡張および/または仮想現実環境における仮想注記面の注釈および操作を示す図である。 本明細書に記載の実装例に係る、拡張および/または仮想現実環境における仮想注記面の注釈および操作を示す図である。 本明細書に記載の実装例に係る、拡張および/または仮想現実環境における仮想注記面の注釈および操作を示す図である。 本明細書に記載の実装例に係る、拡張および/または仮想現実環境における仮想注記面の注釈および操作を示す図である。 本明細書に記載の実装例に係る、拡張および/または仮想現実環境における仮想注記面の注釈および操作を示す図である。 本明細書に記載の実装例に係る、拡張および/または仮想現実環境における仮想注記面の注釈および操作を示す図である。 本明細書に記載の実装例に係る、拡張および/または仮想現実環境における仮想注記面の注釈および操作を示す図である。 本明細書に記載の実装例に係る、拡張および/または仮想現実環境における仮想注記面の注釈および操作を示す図である。 本明細書に記載の実装例に係る、拡張および/または仮想現実環境における仮想注記面の注釈および操作を示す図である。 本明細書に記載の実装例に係る、拡張および/または仮想現実環境において仮想注記面を実体化する方法のフローチャートを示す図である。 本明細書に記載の技術を実現するために使用することができるコンピュータデバイスおよびモバイルコンピュータデバイスの一例を示す図である。
詳細な説明
たとえばヘッドマウントディスプレイ(HMD)デバイスを装着して拡張および/または仮想現実環境に没入しているユーザは、仮想環境を探検し、さまざまな異なるタイプの入力を通じて仮想環境とのやり取りを行うことができる。これらの入力は、たとえば、HMDとは別の1つ以上の電子デバイスの操作、および/またはHMD自体の操作、および/または手/腕のジェスチャー、目/頭部による注視などを含み得る。上記HMDとは別の1つ以上の電子デバイスの操作は、たとえば、1つ以上の電子デバイスに対する入力、1つ以上の電子デバイスを動かすこと、および/または1つ以上の電子デバイスの位置を変更することを含み得る。いくつかの実装例において、電子デバイスに対する入力は、上記電子デバイスの入力装置またはユーザインターフェイスを介して行うことができる。上記HMDの操作は、たとえば、HMDの対応する入力装置またはインターフェイスを介して行うことができる、HMDに入力を与えることを含み得る。ユーザは、各種電子デバイスを、HMDとは別にまたはHMDとともに操作することにより、仮想環境において所望のアクションを生じさせることができる。ユーザは、仮想環境に没入している間に、たとえば、スケッチ、図形、またはその他の種類の表記の形態で、情報を記録しなければならない場合がある。この情報の記録は、現実世界においてはペン、紙、ホワイトボードなどを用いて実現されるであろう。仮想環境から出ることなく多種多様な情報の視覚的表現を同様のやり方で記録できることにより、ユーザの仮想体験を高度なものにすることが可能である。情報、たとえば2次元のスケッチおよびその他の種類の情報などを仮想面上で捕捉できることにより、仮想環境内の複数のユーザの間での共同作業を容易にすることが可能であり、そうすると仮想環境におけるユーザの体験はさらに高度なものになる。
本明細書に記載の実装例に係るシステムおよび方法において、拡張および/または仮想現実環境に没入しているユーザは、この仮想環境の中に仮想注記面(virtual notation surface)を生じさせる(たとえば実体化する、生成する)ことができる。仮想環境において、この仮想注記面は、ユーザが実現する設定されたジェスチャーまたはその他の種類の入力コマンドの検出に応じて生成することができる。注記面は、たとえば、メモ、スケッチなどといったユーザの注釈を受けることができ、これらの注釈は、ユーザが、たとえばコントローラ、仮想ペンもしくはペイントブラシ、手/指などの仮想マーキング手段を用いて仮想注記面を操作したことに応じて、入力される。これらの注釈は、たとえば、現実世界において同様の種類の情報を記録する必要が生じたときにユーザが従うであろうプロセスと幾分似ている、2次元の仮想面上における2次元のスケッチまたはその他のメモまたはその他の種類のマーキングであってもよい。仮想面上で受けた注釈は、このユーザおよび/または次のユーザによる将来の参照のために格納し保存することができ、このユーザおよび/または次のユーザが、更新する、さらに注釈を与える、および/またはそうでなければ修正することができる。仮想注記面の大きさおよび/または形状は、ユーザの操作に応じて調整することができる。これらの仮想注記面の大きさおよび/または形状を変更できることで、特定の仮想マーキング手段の比較的大きな入力規模に対応することができ、また、それによって生じた仮想面上の注釈を、注釈の入力後に仮想注記面の大きさおよび/または規模をさらに調整することで、粒度が改善されている縮小された規模で表示することもできる。このようにして、ユーザと仮想環境の間により柔軟性が高いインターフェイスが提供される。
図1は、HMD100を装着しているユーザを第三者の視点で見た図である。この例の第三者の視点で見た図において、ユーザは、拡張/仮想現実システムが動作可能である物理空間400の中で、HMD100のディスプレイに表示された仮想シーンを見ながら仮想環境に没入している。この仮想シーンはHMD100の内部においてユーザから見ることができるが、図1ではHMD100のディスプレイ上でユーザに対して表示される仮想シーンを表したもの500を示している。これは単に説明および図示を容易にするために過ぎない。ユーザは、HMD100に作動的に結合されてHMD100と通信することが可能な1つ以上の外部コンピューティングデバイス200とやり取りすることができる。これにより、外部デバイス200とHMD100との間の通信およびデータのやり取りが可能になる。1つ以上の外部コンピューティングデバイス200とHMD100とを作動的に結合することは、たとえば、1つ以上の外部コンピューティングデバイス200とHMD100との間に通信接続を設けることを含み得る。外部デバイス200がユーザ入力を受けると、ユーザは、外部デバイス200が受けた入力に基づいてHMD100が生成した仮想シーン500の中の仮想オブジェクトとやり取りすることができる。図1に示す例において、HMD100と作動的に結合された外部デバイス200は、ハンドヘルド電子デバイス200またはハンドヘルドコントローラ200である。いくつかの実装例において、複数のハンドヘルド電子デバイス200、たとえば、ユーザの第1の手で保持される第1のコントローラおよびユーザの第2の手で保持される第2のコントローラを、ユーザは、HMD100が生成した仮想環境の仮想要素とのやり取りのために、操作することができる。いくつかの実装例において、たとえばマウス、キーボード、ジョイスティックなどのようなその他の外部デバイス200は、HMD100に作動的に結合されることにより、仮想環境におけるやり取りのためのユーザ入力を受けることができる。いくつかの実装例において、このシステムは、たとえばユーザの腕および/または手、および/またはその他の体の部分といったその他の入力デバイスの検出および追跡位置および/または検出された向きに基づいて、仮想環境におけるやり取りのためのユーザ入力を検出することができる。
図2A〜図2Bは、本明細書に記載の実装例に係る、ユーザが装着する一例としてのHMD100の斜視図であり、図3は、本明細書に記載の実装例に係る、拡張/仮想現実システムの一例のブロック図である。図2A〜図2Bおよび図3を、本明細書において示すシステムおよび方法の各種実装例の記述に従い、より詳しく説明する。
以下、設定されたジェスチャー、たとえばHMD100の外部で実現される設定されたジェスチャーの検出に応じて仮想注記面を生成することができる実装例について説明する。これらの仮想注記面、または以下で簡単に仮想面と呼ぶ面は、ユーザが実現する各種操作に応じて、たとえば、ユーザがハンドヘルド電子デバイスといった外部デバイス200を用いて仮想面とやり取りすることで、大きさおよび/または形状および/または表面の外形が調整されるように構成することができる。仮想面は、たとえばユーザが外部デバイス200を介して仮想面とやり取りすることによって与える仮想注釈を受けるように構成することができる。仮想注釈は、たとえば、テキスト、スケッチ、その他の仮想注記面から取り出された情報の形態で仮想面に与えられる任意の種類のマーキング、および、ユーザが所望するその他の種類の注釈を含み得る。
図4A〜図4Eは、検出されたユーザのジェスチャーに応じて仮想環境内で仮想注記面が生成される実装例を示す。この例において、ユーザはHMD100が生成した仮想環境に没入しており、HMD100は、一対のハンドヘルド電子デバイスまたはコントローラ200Aおよび200Bを含む外部デバイス200に作動的に結合されて、仮想環境内の仮想オブジェクト、要素、特徴などとのユーザのやり取りに関連する情報を交換する。先に述べたように、例示されるコントローラ200Aおよび200Bの代わりにまたはこれらに加えて、その他の種類の外部コンピューティングデバイスがHMD100に作動的に結合されてもよい。
図4Aは、たとえばHMD100のディスプレイ140上の、ユーザが見ている仮想シーン500または仮想環境500を示しており、ユーザを表したものも示しているが、単に説明および図示を容易にするために過ぎない。この例において、ユーザは、HMD100を装着しており、HMD100に作動的に結合されたまたはHMD100とペアリングされた第1および第2のコントローラ200Aおよび200Bを保持している。ユーザは、図4Aに示す例に示される仮想環境500を体験している間に、たとえば仮想環境500の体験中に行った観察に基づいて、たとえばテキスト形式、スケッチ、またはその他のやり方で、後に参照するための覚書としてメモを取ることにより、その他のユーザなどと共有する情報を記録することが、有用であることを見出す場合がある。
いくつかの実装例において、仮想環境500は、実質的にHMD100の範囲の中で、たとえば先に述べたようにHMD100のディスプレイ140上で、ユーザに対して表示することができる。この状況では、たとえば書込面上にマーキング手段(紙の上にペン/鉛筆、ホワイトボード上にマーカーなど)を用いて、覚書、メッセージ、スケッチなどを記録する従来の方法は、実用的でない場合がある。なぜなら、こうした従来の方法の場合、ユーザは仮想体験を中断し一時的に仮想環境500から出なければならないからである。本明細書に記載の実装例に係るシステムおよび方法において、ユーザは、仮想環境500において仮想注記面(または、以下説明を容易にするために簡単に仮想面と呼ぶ)を実体化させることができる。次に、ユーザは、仮想環境500から出ることなく、この仮想面に、たとえば、テキスト、スケッチなどで注釈を与えることができる。注釈が与えられた仮想面を、上記ユーザ、および/または、同一の仮想環境500内、および/または異なる仮想環境内、および/または仮想環境外のその他のユーザが、後に参照できるよう、格納しアクセスできるようにしてもよい。注釈が与えられた仮想面、および/または注釈が与えられた仮想面上に記録された注記を、1つの仮想面上に集約してもよく、および/または複数の仮想面を仮想的に接続または連結することによって複合仮想面を形成してもよい。注釈が与えられた仮想面を格納すること、格納された仮想面に後でアクセスすること、異なる仮想面の注記を集約させることおよび/または複数の仮想面を連結することが可能であるということは、現実世界において共同作業を行うユーザが従うプロセスと幾分似ており、ユーザの生産性を改善しユーザの体験を高度にする。このようにして、HMD100をより便利に使用することが可能である。さらに、HMD100を介して表示される仮想環境500とのやり取りおよびHMD100自体とのやり取りが改善される。
図4Bに示すように、ユーザは、仮想環境500に没入している間に、設定されたジェスチャーを実現できる。システムは、この設定されたジェスチャーを検出することができ、仮想面600を実体化するためのコマンドに対応するジェスチャーとして認識することができる。図4Bに示す例において、ユーザは、第1および第2のコントローラ200Aおよび200Bを、設定されたやり方で第1の位置まで運ぶことができる。この第1の位置は、システムが検出し得る設定されたやり方で第1および第2のコントローラ200Aおよび200Bが配置される位置である。図4Bに示す例において、第1および第2のコントローラ200Aおよび200Bは、設定されたジェスチャーの開始としてシステムが検出し得る設定されたやり方で並べられている。図4Bに示す第1の位置は、第1および第2のコントローラ200Aおよび200Bの第1の位置の配置の一例に過ぎない。第1の位置を含む設定されたジェスチャーは、たとえばユーザの好み、工場設定などに基づく第1および第2のコントローラ200Aおよび200Bのその他の相対位置に基づいて、設定および検出されてもよい。第1および第2のコントローラ200Aおよび200Bが第1の位置にある状態で、ユーザは、たとえばコントローラ200A、200Bのうちの一方または双方の上のトリガまたはボタンなどの操作デバイス205A、205Bの作動といった入力を、与えることができる。第1および第2のコントローラ200Aおよび200Bをこの第1のジェスチャー位置にした状態で操作デバイス205A、205Bのうちの一方または双方を作動させると、システムはこの作動をユーザ入力コマンドとして検出して仮想面600を生成することができる。いくつかの実装例において、コントローラ200A、200Bの相対的な位置は、コントローラ200A、200B内の位置/方位センサにより、および/またはHMD100内の画像センサおよびシステムのその他のコンポーネントにより、検出することができ、および/またはコントローラ200A、200B内のセンサならびにHMD100内のセンサおよびシステム内のその他のコンポーネントが提供するデータを組み合わせたものにより、第1および第2のコントローラ200Aおよび200Bの位置および向きが追跡される。
ユーザがコントローラ200A、200Bを動かして引き離す(すなわち互いから遠ざける)と、コントローラ200A、200Bの移動によって定められる対応するジェスチャー入力を、HMD100が、図4Bに示す実装例に係るコントローラ200A、200Bの移動に応じて検出することができる。この検出は、たとえば上記例のようにセンサを使用して行うことができる。ジェスチャー入力の検出に応じて、仮想面600を実体化することができ、たとえば、HMD100によって仮想環境500に表示することができる。加えて、仮想面600の大きさを、図4Cおよび図4Dに示すように、ユーザがコントローラ200A、200Bを動かし続けることによって調整することができる。たとえば、コントローラ200A、200Bの移動は、仮想環境に対して実行されて仮想面600の大きさの調整をHMD100に行わせる、ユーザのさらなるジェスチャーまたはやり取りとして、検出される。いくつかの実装例において、コントローラ200A、200Bを動かし続けながら、ユーザは、操作デバイス205Aおよび/または205Bのうちの一方または双方を、(たとえばボタンまたはトリガを押された状態に保つことによって)作動状態に保つことで、仮想面600の大きさおよび/または形状の調整の継続を望んでいることを示すことができる。たとえば操作デバイス205A、205Bの作動の解除が検出されたことで、ユーザが仮想面600を所望の大きさおよび/または形状で実体化することを終えたことが検出されると、仮想面600は、図4Eに示すように、テキスト、スケッチなどの形態のユーザ入力をいつでも受けることができる。この例において、仮想面600の大きさおよび/または形状は、システムが、操作デバイス205A、205Bの作動の解除が検出された時点における第1のコントローラ200Aの第2の位置と第2のコントローラ200Bの第2の位置とに基づいて、決定することができる。このようにして、ユーザは、容易に、HMD100が表示した仮想環境500とやり取りすることができ、仮想環境500とさらにやり取りするために仮想面600をHMD100に表示させることができる。したがって、HMD100を簡単かつ効果的に使用することが可能である。
図4A〜図4Eに示す例において、仮想面600は実質的に矩形である。これは、単に説明および図示を容易にするための、仮想面600の外縁形状の一例に過ぎない。仮想面600の外縁は、他の形状によって定められてもよく、たとえば図4Fおよび図4Gに示されるような、円形、楕円形、三角形、台形といった規則的な形状であってもよく、および/または、たとえば図4Hに示されるような不規則な外縁によって定められてもよく、および/または、異なる外縁を組み合わせたものによって定められてもよい。いくつかの実装例において、仮想面600の外縁形状は、たとえばユーザの好みまたは工場設定に基づいて予め設定されてもよい。いくつかの実装例において、仮想面600の外縁形状は、ユーザがたとえば第1の位置のコントローラ200Aおよび200Bを用いるなどして仮想面600を生成するときに選択してもよい。いくつかの実装例において、仮想面600の外縁形状は、仮想面600の生成後において、たとえば仮想面600に注釈を与える前または仮想面600に注釈を与えた後または仮想面600に注釈を与える前と与えた後に、操作または変更してもよい。
図4A〜図4Hに示す例において、仮想面600の表面の外形は、実質的に平坦な面によって定められているが、これは単に説明および図示を容易にするために過ぎない。仮想面600の表面の外形は、たとえば湾曲した外形、角度が付けられたまたは折り曲げられた外形などのような、その他の外形によって定められてもよく、および/または不規則な外形によって定められてもよく、および/または異なる外形を組み合わせたものによって定められてもよい。いくつかの実装例において、仮想面600の外形は、たとえばユーザの好みまたは工場設定に基づいて予め設定されてもよい。いくつかの実装例において、仮想面600の外形は、ユーザがたとえば第1の位置のコントローラ200Aおよび200Bを用いるなどして仮想面600を生成するときに選択してもよい。いくつかの実装例において、仮想面600の外形は、仮想面600の生成後において、たとえば仮想面600に注釈を与える前または仮想面600に注釈を与えた後または仮想面600に注釈を与える前と与えた後に、操作または変更してもよい。
いくつかの実装例において、ユーザは、たとえばコントローラ200A、200B、その位置および向きがシステムによって追跡される手/指のうちの一方もしくは双方といったマーキング手段、または、その位置および向きがシステムによって追跡されるその他の指定されたマーキング手段を用いて、仮想面600に注釈を与えることができる。たとえば、図5Aに示すように、仮想面600が実体化されていつでも注釈を与えることができる状態になると、システムは、仮想面600に与えられる注釈に対応するコントローラ200A、200Bのうちの一方の移動を検出することができる。いくつかの実装例において、コントローラ200A、200Bそれぞれの操作デバイス205A、205Bのうちの一方のユーザによる作動などの特定の初期化アクション、たとえばボタンまたはトリガを押すことにより、仮想面600に仮想のマーキングおよび/または注釈を与えるために各コントローラ200A、200Bを初期化することができる。
図5Aに示す例において、第2のコントローラ200Bの操作デバイス205Bを作動させることにより、第2のコントローラ200Bを初期化して、仮想面600に対する注釈を開始することができる。図5Bに示されるように、ユーザは、操作デバイス205Bを作動状態に保ちつつ、第2のコントローラ200Bの移動に基づいて仮想面600に与えられる注釈を定めるように、第2のコントローラ200Bを動かすまたは表現することができる。いくつかの実装例において、注釈は、ユーザが操作デバイス205Bを作動状態に保ちつつコントローラ200Bを所望のパターンで動かしたときに仮想面600に仮想的に表示されてもよい。いくつかの実装例において、注釈は、操作デバイス205Bの作動の解除後に仮想面600に仮想的に表示されてもよい。ユーザは、再び操作デバイス205Bを作動させるまたは押し下げることにより、仮想面600に注釈を与えるためにコントローラ200Bを初期化し、次に、図5Cに示すようにコントローラ200Bを所望のパターンまたは輪郭を描くように動かして希望通りに仮想面600にさらに注釈を与えることにより、現在表示されている仮想面600にさらに注釈を与えることができる。図5Bおよび図5Cに示す例では、第2のコントローラ200Bを作動させ動かすことによって仮想面600に注釈を与えている。しかしながら、上述のように、仮想面600の注釈は、第1のコントローラ200Aの作動および移動に応じて、および/または第1のコントローラ200Aおよび第2のコントローラ200B双方を作動および移動させることにより、および/または第1のコントローラ200Aおよび/または第2のコントローラ200Bに加えてまたはその代わりに別の仮想マーキング手段を作動および移動させることにより、与えてもよい。
いくつかの実装例において、ユーザが、上記のやり方で仮想面600に注釈を与える前または与えた後のいずれかにおいて、仮想面600の大きさおよび/または形状および/または向きを調整したい場合がある。仮想面600の大きさおよび/または形状は、たとえば仮想面600をさらに仮想的に操作することによって調整できる。たとえば、図5Dに示すように、第1のコントローラ200Aを仮想面600の左端に置き第2のコントローラ200Bを仮想面600の右端に置いた状態で、ユーザは、第1のコントローラ200Aの操作デバイス205Aおよび第2のコントローラ200Bの操作デバイス205Bを作動させ、左端および右端を、図5Cに示す配置から図5Dに示す配置まで移動させればよい。同様に、図5Eに示すように、第1のコントローラ200Aを仮想面600の上端に置き第2のコントローラ200Bを仮想面600の下端に置いた状態で、ユーザは、第1のコントローラ200Aの操作デバイス205Aおよび第2のコントローラ200Bの操作デバイス205Bを作動させ、上端および下端を、図5Cおよび図5Dに示す配置から図5Eに示す配置まで、互いに向かって移動させればよい。ユーザは、仮想面600の端部のうちの1つのみの位置を、同様に、コントローラ200A、200Bのうちの一方を作動させ、仮想面600のある端部における第1の位置から第2の位置まで移動させることにより、対応する仮想面600の大きさ/形状の調整を行うことができる。ユーザはこの大きさおよび/または形状の調整を、たとえば操作デバイス205A、205Bを解除することによって終了させることができる。
先に述べたように、図5A〜図5Eに示す一例としての仮想面600の外縁形状が矩形であるのは、単に説明および図示を容易にするために過ぎない。しかしながら、異なる外縁形状によって定められる仮想面600の大きさおよび/または形状も、図5A〜図5Eに記載のやり方と同様のやり方で調整することができる。たとえば、図5Fに示すように、実質的に円形の外縁によって定められる仮想面600を、第1および第2のコントローラ200Aおよび200Bの相対的な移動に応じて調整することができ、たとえばその大きさおよび/または形状を、拡大することができる。図5Gに示す例において、不規則な形状の外縁によって定められる仮想面600を、第1および第2のコントローラ200Aおよび200Bの移動に応じて調整することができ、たとえばその大きさおよび/または形状を、調整して縮小することができる。
いくつかの実装例において、仮想面600の大きさおよび/または形状を調整することにより、仮想面600上の注釈の大きさおよび/または形状もそれに応じて調整することができる。たとえば、図6Aに示すように、第1のコントローラ200Aを仮想面600の下側の角部に置き、第2のコントローラ200Bを、その反対側の、仮想面600の上側の角部に置いた状態で、ユーザは、第1のコントローラ200Aの操作デバイス205Aおよび第2のコントローラ200Bの操作デバイス205Bを作動させ、仮想面600の対向する下側の角と上側の角とを動かして互いに近づけることにより、それに比例して、仮想面600および仮想面600で受けた注釈の大きさおよびスケールを、図6Aに示す配置から図6Bに示す配置まで小さくすることができる。仮想面600および注釈の大きさおよび/またはスケールの拡大は、たとえば、対向する角部を、たとえば図6Bに示す配置から図6Aに示す配置まで、互いから遠ざかる方向に移動させることにより、実現することができる。
いくつかの実装例において、仮想面600の向きを、第1および第2のコントローラ200Aおよび200Bの相対的な移動に応じて調整することができる。図6Cに示す例では、第1および第2のコントローラ200Aおよび200Bを相対的に移動させた結果、仮想面600は実質的に鉛直面において回転する。図6Dに示す例では、コントローラ200Aおよび200Bを相対的に移動させた結果、仮想面600の向きが、実質的に鉛直面から実質的に水平面に変化する。仮想面600の向きのその他多数の変更を、第1および第2のコントローラ200Aおよび200Bを相対的に移動させることによって行うことができる。仮想面600の向きのこれらの変更は、さまざまな外縁形状によって定められるおよび/または表面外形が異なる仮想面に対し、このやり方で行うことができる。
状況によっては、複数のユーザからアクセスでき複数のユーザ間の共同作業のために利用できる複数の仮想面があることが有用な場合がある。たとえば、図7Aに示すように、第1の物理空間内の第1のユーザAと、第2の物理空間(または第1のユーザがいる第1の物理空間)内の第2のユーザBとが、共有仮想環境550に没入している場合がある。図7Aに示す例において、第1のユーザAを表したものおよび第2のユーザBを表したものが共有仮想空間550内に示されているが、これは単に説明および図示を容易にするために過ぎない。この例において、第1のユーザAは第1および第2のコントローラA1およびA2を操作しており、第2のユーザは第1および第2のコントローラB1およびB2を操作している。共有仮想環境550内の第1のユーザAおよび第2のユーザBは、アクセス、検討、修正、共同作業などのために、複数の仮想注記面600(特に仮想面600A、600B、600C、600Dおよび600E)を利用することができる。
図7Bに示すように、第1のユーザA(または第2のユーザB)は、検討用として、仮想面600のうちの1つ、たとえば仮想面600Cを、たとえばコントローラA1、A2のうちの一方または双方を用いて仮想面600Cを選択することにより、選択することができる。第1のユーザAは、選択した仮想面600Cを検討するときに、選択した仮想面600Cを、たとえば図5D〜図5Eおよび図6A〜図6Bについて先に述べたやり方で、たとえば拡大することができる。第1のユーザAは、たとえば図5A〜図5Cについて先に述べたやり方で、覚書、スケッチ、またはその他の注釈を仮想面600Cに追加することもできる。
第2のユーザBは、第1のユーザAによって注釈が与えられた仮想面600Cを、共有仮想環境550の中で、実質的に同時に、または後で、見ることができ、仮想面600Cをさらに修正するかそうでなければ仮想面600Cに注釈を与えることができる。たとえば、第1のユーザAが残した、公園の追加(add park)を提案する覚書に応じて、第2のユーザBは、図7Dに示すように公園情報を含む仮想面600Eを選択することもできる。第2のユーザBは、仮想面600Eに格納された情報を用いて、図7Eに示すように仮想面600Cにさらに注釈を加えることができる。そうすると、第1のユーザAは、図7Fに示すようにさらに注釈が加えられた仮想面600Cを、共有仮想環境550の中で、実質的にリアルタイムで、または後で、格納された仮想面600Cにアクセスすることにより、検討のために利用することができる。
図4A〜図4H、図5A〜図5G、図6A〜図6D、および図7A〜図7Fについて先に述べたやり方で、仮想注記面600を実体化し、現在体験している仮想環境に必ずしも関係がある訳ではない、仮想の覚書および/または注釈および/またはスケッチを、仮想面600に与える、調整する、または格納することができる。仮想面600に格納された仮想の注釈は、現在の仮想環境500の外部で、および/またはその他の仮想環境の中で、および/または仮想環境に没入していないときに、上記ユーザおよび/またはその他のユーザから共同作業のためにアクセスできるよう、格納することができる。
状況によっては、たとえば仮想面600および/または仮想面600に追加しようとするオブジェクトのような、仮想のオブジェクトまたは特徴が、仮想空間550の中でユーザが仮想的に到達できる範囲の外側にある場合がある。同様に、状況によっては、ユーザが、たとえば仮想面600および/またはその他の仮想オブジェクトといった仮想のオブジェクトまたは特徴を、比較的近傍の領域から、ユーザから遠く離れた仮想位置まで移動させることにより、他のタスク用に近傍の仮想空間を空にしたい場合がある。いくつかの実装例において、仮想オブジェクトを、仮想空間500内で比較的遠方の位置から比較的近傍の位置まで移動させること、および/または仮想空間500内で比較的近傍の位置から比較的遠方の位置まで移動させることは、実行する移動に対応するジェスチャーを検出したことに応じて実現できる。
図7Gは、物理空間内で、上述のようにHMD100によって生成されHMD100の内部でユーザに対して表示された仮想環境および仮想オブジェクトとの間でやり取りをするユーザを、第三者の視点で見た図である。図7Gに示す例において、ユーザは、たとえば上述のやり方で仮想環境の中に仮想面600を生じさせており、仮想遠方領域において複数の仮想オブジェクト700がユーザに対して表示されている。仮想面に対して直接マーキングもしくは描画もしくは書込を行うことに加えてまたはその代わりに、ユーザは、たとえば仮想面600に追加するまたは含めるために仮想オブジェクト700のうちの1つ以上を選択することによって、仮想面600に注釈を与えるもしくは描画するもしくはマーキングする、そうでなければ追加することを、選択できる。
先に述べたように、仮想オブジェクト700は、遠方の仮想領域にあり、かつユーザから仮想的に届く範囲の外側にある。仮想面600に注釈または図形を与えるために仮想オブジェクト700のうちの1つを選択する場合、ユーザは、仮想オブジェクト700を、たとえば、選択する特定の仮想オブジェクト700Aにハンドヘルド電子デバイス200を向けることによって選択することができる。図7Gに示す例において、ハンドヘルド電子デバイス200から仮想オブジェクト700Aに向けられた仮想ビーム201が示されている。これは、ハンドヘルド電子デバイス200の向きのターゲットが仮想オブジェクト700Aとの仮想交点にあることを表す仮想視覚表示をユーザに対して示す。いくつかの実装例において、これを他のやり方でユーザに示してもよい。他のやり方は、たとえば、ハンドヘルド電子デバイス200の向きのターゲットを示すカーソルまたはドット、ターゲットである仮想オブジェクトを強調表示するまたは見た目において他の変化を生じさせることなどである。仮想オブジェクト700Aが選択されたことは、たとえば、ハンドヘルド電子デバイス200の操作デバイスの作動、仮想オブジェクト700A上での一時停止時間(dwell time)が予め設定された一時停止時間のしきい値以上であることなどに基づいて、検出することができる。
仮想オブジェクト700Aが選択されたことが検出されると、ユーザは、選択した仮想オブジェクト700Aの所望の移動を示すジェスチャーを実施することができる。たとえば、ユーザは、図7Hに示すように回転またはひねりのジェスチャーを実施することにより、選択した仮想オブジェクト700Aを、たとえば、遠方仮想領域から近傍仮想領域まで、ユーザに近づくように引き寄せることにより、選択した仮想オブジェクト700Aとの間でやり取りを行うことができるようにする。図7Hに示す例において、ユーザは、反時計回りのジェスチャーを実施することにより、選択した仮想オブジェクト700Aを引き寄せているが、これは単に説明および図示を容易にするために過ぎない。しかしながら、選択された仮想オブジェクト700Aをユーザに近づけるために実施されるジェスチャーは、たとえば、時計回りの動きもしくはジェスチャー、または、ハンドヘルド電子デバイス200を保持しているユーザの腕および/または手をユーザに近づける動きもしくはジェスチャーであってもよく、または、その他のこのようなジェスチャーおよび/または動きであってもよい。
ユーザは、選択した仮想オブジェクト700Aがユーザが希望する仮想位置または場所に来るまで、たとえばハンドヘルド電子デバイス200の操作デバイスを作動位置にした状態で、ジェスチャーを、たとえばユーザの腕/手およびハンドヘルド電子デバイス200の回転位置を、維持してもよい。ユーザは、その他の追加のジェスチャーを実施することにより、たとえば、選択した仮想オブジェクト700Aを縦方向および/または横方向などに移動させてもよい。図7Iに示す例において、ユーザは、選択した仮想オブジェクトを、遠方仮想領域から近傍仮想領域まで移動させるとともに、選択した仮想オブジェクト700Aを横方向に移動させることにより、選択した仮想オブジェクト700Aを用いて仮想面600に注釈を与えている。図7Iに示すユーザおよび/または上述のように共同作業をしている別のユーザが、上述のように追加の数字/形状(figure)、オブジェクト、テキストなどを用いて仮想面600に注釈をさらに与えてもよく、および/または、上述のように仮想面600の大きさおよび/または形状および/または外形を調整してもよい。
同様のやり方で、仮想オブジェクトを、たとえば比較的近傍の領域から比較的遠方の領域まで移動させることができる。たとえば、ユーザは、仮想面600に注釈を与えた後で、注釈付きの仮想面600を移動させて、近傍の仮想領域の空間を新たなタスクのために空けたい場合がある。ユーザは、たとえば上述のやり方で、図7Jに示すように仮想環境において選択した仮想オブジェクトを示す、注釈付きの仮想面600を選択することができる。仮想面600を選択したことが検出されると、ユーザは、選択した仮想面600の所望の動きを示すジェスチャーを実施することができる。たとえば、ユーザは、図7Kに示すように回転またはひねるジェスチャーを実施することにより、選択した仮想面600を、ユーザから遠ざけるように、近傍の仮想領域から遠方の仮想領域まで移動させる。図7Kに示す例において、ユーザは、時計回りのジェスチャーを実施することにより、選択した仮想面600をユーザから遠ざけているが、これは単に説明および図示を容易にするために過ぎない。しかしながら、選択された仮想面600をユーザから遠ざけるために実施されるジェスチャーは、たとえば、反時計回りの動きもしくはジェスチャー、または、ハンドヘルド電子デバイス200を保持しているユーザの腕および/または手の、ユーザから離れる方向の動きもしくはジェスチャー、または、その他のこのようなジェスチャーおよび/または動きであってもよい。ユーザは、図7Lに示すように、選択した仮想面600がユーザが希望する仮想位置または場所に来るまで、たとえばハンドヘルド電子デバイス200の操作デバイスを作動位置にした状態で、ジェスチャーを、たとえばユーザの腕/手およびハンドヘルド電子デバイス200の回転位置を、維持してもよい。ユーザは、その他の追加のジェスチャーを実施することにより、たとえば、選択した仮想面600を縦方向および/または横方向などに移動させてもよい。
本明細書に記載の実装例に係る、拡張および/または仮想現実環境において仮想注釈面を実体化する方法800を、図8に示す。
ユーザは、たとえばコンピューティングデバイスを用いて拡張現実および/または仮想現実環境を生成することにより、拡張現実体験および/または仮想現実体験を開始することができ、上記コンピューティングデバイスは、たとえば、1つ以上の外部デバイスに作動的に結合されたまたはペアリングされた上記ヘッドマウントディスプレイデバイスを含むシステムなどである(ブロック810)。システムは、仮想注記面を実体化する、たとえば表示することを求めるユーザ入力コマンドに対応する設定されたユーザジェスチャーを検出することができ(ブロック820)、検出した設定ユーザジェスチャーに応じて仮想注記面を実体化することができる(ブロック830)。図4A〜図4Cについて説明したように、検出されるジェスチャーは、たとえば、ヘッドマウントディスプレイデバイスに作動的に結合された1つ以上の外部デバイスまたはコントローラの移動および/または配置を通して実現されるジェスチャーであってもよく、上記1つ以上の外部デバイスの操作デバイスの作動も含み得る。システムは、仮想注記面の実体化、すなわち対応するプロセスが完了したことを、たとえば図4C〜図4Hについて先に説明したように外部デバイスまたはコントローラの操作デバイスの解除の検出に応じて、検出することができる(ブロック840)。システムは、ユーザの注記入力を検出することができ(ブロック850)、選択された仮想注記面に注記を与えることが完了したことをシステムが検出するまで(ブロック870)、検出したユーザの注記入力に応じて、選択された仮想注記面に注釈を与えることができる(ブロック860)。図5A〜図5C、図6A〜図6D、および図7A〜図7Lについて先に説明したように、検出されたユーザの注記は、たとえば、外部デバイスまたはコントローラの操作デバイスの検出された作動、および、外部デバイスまたはコントローラの移動に対応していてもよい。注記の完了をシステムが検出することは、操作デバイスの作動の解除を検出することを含み得る。このプロセスは、現在の拡張現実および/または仮想現実体験が終了したと判断されるまで、続けることができる(ブロック880)。
本明細書に記載の実装例に係るシステムおよび方法では、検出したジェスチャーに応じて、仮想注釈面または仮想シートまたは仮想ホワイトボードを、拡張および/または仮想現実環境において実体化することができる。ユーザは、仮想注釈面に注釈を与え、仮想注釈面を調整し、格納し、検討し、修正することができ、現在の仮想環境、および/または別の仮想環境、および/または仮想環境の外部における、その他のユーザとの共同作業を可能にする。
図2Aおよび図2Bは、たとえば図1に示す例においてユーザが装着しているHMD100などの、一例としてのHMDの斜視図である。HMD100は、フレーム120に結合されたハウジング110を含んでいてもよく、音声出力デバイス130は、たとえばヘッドホンに搭載されたスピーカを含み、音声出力デバイス130もフレーム120に結合されている。図2Bでは、ハウジング110に収容されている構成要素のうちのいくつかを見ることができるように、ハウジング110の前面部分110aがハウジング110のベース部分110bから離れるように回転されている。ハウジング110の前面部分110aの内側に面する側には、ディスプレイ140が装着されてもよい。前面部分110aがハウジング110のベース部分110bに対して閉鎖位置にあるとき、ハウジング110内であってユーザの眼とディスプレイ140との間にレンズ150が装着されてもよい。HMD100は、さまざまなセンサを含む検知システム160と、HMD100の動作を容易にするためにプロセッサ190およびさまざまな制御システムデバイスを含む制御システム170とを含んでもよい。たとえば、いくつかの実装例では、検知システム160は、さまざまな異なるタイプのセンサ(たとえば、加速度計、ジャイロスコープ、磁気計など)を含む慣性測定ユニット(IMU)162を含んでもよい。HMD100の位置および向きは、IMU162によって与えられるデータに基づいて検出され、追跡されてもよい。そうすると、システムは、ユーザの頭部の注視方向および動きを検出し追跡することができる。カメラ180が、ユーザの物理的位置、および/または、HMD100と通信する/HMD100に作動的に結合された他の外部デバイスの物理的位置の追跡を助けるために使用し得る静止画および/または動画を、取り込んでもよい。取り込まれた画像も、ユーザに対し、パススルーモードでディスプレイ140上に表示されてもよい。
いくつかの実装例では、HMD100は、視線の方向および移動を検出して追跡するためにたとえば1つ以上のセンサを含む視線追跡装置165Aを含んでもよい。センサ165Aによって取り込まれた画像は、ユーザの視線の方向および移動を検出して追跡するように処理されてもよく、検出され追跡された視線は、ユーザ入力として処理されて、没入型仮想体験における対応するやり取りに変換されてもよい。
本明細書に記載の実装例に係るシステムのブロック図が図3に示されている。このシステムは、第1の電子デバイス300(たとえば、図1および図2A〜図2Bに関連して上記したHMDなど)と、第1の電子デバイス300と通信する少なくとも1つの第2の電子デバイス302(たとえば、図1に関連して上記したハンドヘルド電子デバイスまたは他の外部デバイスなど)とを含んでもよい。上述のように、図3には第2の電子デバイス302が1つ示されているが、それは単に説明および図示を容易にするために過ぎず、2つ以上の第2の電子デバイス302が第1の電子デバイス300に作動的に結合されてもよい。
第1の電子デバイス300は、検知システム30と制御システム30とを含んでもよく、検知システム30および制御システム30はそれぞれ図2Aおよび図2Bに示される検知システム160および制御システム170と同様であってもよい。検知システム30は、たとえば光センサ、オーディオセンサ、画像センサ、距離/近接センサ、およびIMU、および/または他のセンサおよび/またはセンサのさまざまな組み合わせを含む、さまざまなタイプのセンサを含んでもよい。制御システム30は、たとえば電源/一時停止制御装置、オーディオおよびビデオ制御装置、光学制御装置、移行制御装置、および/または、他のこのような装置および/または装置のさまざまな組み合わせを含んでもよい。検知システム30および/または制御システム30は、特定の実装例に応じて、より多くのデバイスを含んでもよく、またはより少ないデバイスを含んでもよい。検知システム30および/または制御システム30に含まれる要素は、たとえば図2Aおよび図2Bに示されるHMD100以外のHMD内に異なる物理的配置(たとえば、異なる物理的位置)を有してもよい。また、第1の電子デバイス300は、検知システム30および制御システム30と通信するプロセッサ390を含んでもよい。プロセッサ390は、検知システム30から受信した入力を処理し、検出した入力に対応する命令を実行してもよい。また、第1の電子デバイス300は、メモリ38と、第1の電子デバイス300と別の外部デバイス(たとえば、第2の電子デバイス302など)との間の通信を提供する通信モジュール395とを含んでもよい。
第2の電子デバイス302は、第2の電子デバイス302と、第2の電子デバイス302の外部の別のデバイス(たとえば、第1の電子デバイス300など)との間の通信およびデータ交換を提供する通信モジュール306を含んでもよい。いくつかの実装例では、第2の電子デバイス302の特定の構成(すなわち、ハンドヘルド電子デバイスまたはコントローラ対キーボードまたはマウス)に応じて、第2の電子デバイス302は、検知システム304を含んでもよく、たとえば、検知システム304は、たとえばカメラおよびマイクロフォンに含まれるような画像センサおよびオーディオセンサ、IMU、ハンドヘルド電子デバイスまたはスマートフォンのタッチセンサ面に含まれるようなタッチセンサ、ならびに他のこのようなセンサおよび/またはセンサのさまざまな組み合わせを含む。プロセッサ309は、第2の電子デバイス302の検知システム304およびコントローラ305と通信してもよく、コントローラ305は、メモリ308へのアクセスを有し、第2の電子デバイス302の動作全体を制御する。
上述の通り、HMD100によって生成された仮想現実環境に没入しているときに、仮想環境から出なくてもメモを取るまたはスケッチすることが可能であり、かつ、このメモまたはスケッチを後で参照するために保存することおよび/またはこのメモまたはスケッチを別のユーザと共有することが可能であることから、仮想環境におけるユーザの体験を高度なものにすることができる。仮想注記面に記録するこのメモもしくはスケッチまたはその他の情報が体験中の仮想環境に関係があるか否かに関係なく、このメモまたはスケッチを仮想環境から出ずに実現できるので、ユーザは、仮想体験が妨害および/または中断されることなく、引き続き仮想環境に接続されているまたは仮想環境内に留まることができる。これにより、ユーザは、現実世界の環境において、メモ用紙、ホワイトボード、付箋などにメモ書きおよびスケッチすることができるのと同様の機能を、仮想環境において得ることができる。このように、本明細書に記載の実装例に係るシステムおよび方法において、仮想注記面は、たとえば設定されたユーザジェスチャーなどのユーザ入力に応じて、仮想環境内で実体化することができる。仮想注記面の大きさおよび/または形状は、たとえばユーザが仮想注記面に情報を入力する前および/またはその後で、ユーザ入力に応じて調整することができる。
図9は、本明細書に記載されている技術とともに使用され得るコンピュータデバイス1000およびモバイルコンピュータデバイス1050の一例を示す。コンピューティングデバイス1000は、プロセッサ1002と、メモリ1004と、ストレージデバイス1006と、メモリ1004および高速拡張ポート1010に接続する高速インターフェイス1008と、低速バス1014およびストレージデバイス1006に接続する低速インターフェイス1012とを含む。コンポーネント1002,1004,1006,1008,1010および1012の各々は、さまざまなバスを用いて相互接続され、共通のマザーボード上に搭載される場合もあれば、適宜他の態様で搭載される場合もある。プロセッサ1002は、コンピューティングデバイス1000内で実行するために命令を処理し得て、当該命令は、高速インターフェイス1008に結合されたディスプレイ1016などの外部入出力デバイス上にGUIのためのグラフィック情報を表示するための、メモリ1004内またはストレージデバイス1006上に格納された命令を含む。他の実装例では、複数のメモリおよび複数タイプのメモリとともに、複数のプロセッサおよび/または複数のバスが適宜使用されてもよい。また、複数のコンピューティングデバイス1000が接続されてもよく、各デバイスは、(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)必要な動作の一部を提供する。
メモリ1004は、コンピューティングデバイス1000内の情報を格納する。一実装例では、メモリ1004は、単一の揮発性メモリユニットまたは複数の揮発性メモリユニットである。別の実装例では、メモリ1004は、単一の不揮発性メモリユニットまたは複数の不揮発性メモリユニットである。また、メモリ1004は、磁気ディスクまたは光ディスクなどの別の形態のコンピュータ読取可能な媒体であってもよい。
ストレージデバイス1006は、コンピューティングデバイス1000に大容量ストレージを提供することができる。一実装例では、ストレージデバイス1006は、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、テープデバイス、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、または、ストレージエリアネットワークもしくは他の構成内のデバイスを含むデバイスのアレイなどのコンピュータ読取可能な媒体であってもよく、またはコンピュータ読取可能な媒体を含んでもよい。コンピュータプログラム製品は、情報担体内で有形に実施され得る。コンピュータプログラム製品は、実行されたときに上記の方法などの1つ以上の方法を実行する命令も含んでもよい。情報担体は、メモリ1004、ストレージデバイス1006またはメモリオンプロセッサ1002などのコンピュータまたは機械読取可能な媒体である。
高速コントローラ1008は、コンピューティングデバイス1000のための帯域幅を多く使用する動作を管理するのに対して、低速コントローラ1012は、帯域幅をそれほど使用しない動作を管理する。このような機能の割り当ては、例示に過ぎない。一実装例では、高速コントローラ1008は、メモリ1004、ディスプレイ1016(たとえば、グラフィックスプロセッサまたは加速装置を介して)、および高速拡張ポート1010に結合され、高速拡張ポート1010は、さまざまな拡張カード(図示せず)を受け付け得る。当該実装例では、低速コントローラ1012は、ストレージデバイス1006および低速拡張ポート1014に結合される。さまざまな通信ポート(たとえば、USB、ブルートゥース(登録商標)、イーサネット(登録商標)、ワイヤレスイーサネット)を含み得る低速拡張ポートは、たとえばネットワークアダプタを介して、キーボード、ポインティングデバイス、スキャナ、またはスイッチもしくはルータなどのネットワーキングデバイスなどの1つ以上の入出力デバイスに結合されてもよい。
コンピューティングデバイス1000は、図に示されるように複数の異なる形態で実現されてもよい。たとえば、コンピューティングデバイス1000は、標準的なサーバ1020として実現されてもよく、またはこのようなサーバのグループの状態で複数回実現されてもよい。また、コンピューティングデバイス1000は、ラックサーバシステム1024の一部として実現されてもよい。また、コンピューティングデバイス1000は、ラップトップコンピュータ1022などのパーソナルコンピュータとして実現されてもよい。代替的に、コンピューティングデバイス1000からのコンポーネントは、デバイス1050などのモバイルデバイス(図示せず)内の他のコンポーネントと組み合わせられてもよい。このようなデバイスの各々は、コンピューティングデバイス1000,1050のうちの1つ以上を含んでもよく、システム全体が、互いに通信する複数のコンピューティングデバイス1000,1050で構成されてもよい。
コンピューティングデバイス1050は、いくつかあるコンポーネントの中で特に、プロセッサ1052と、メモリ1064と、ディスプレイ1054などの入出力デバイスと、通信インターフェイス1066と、送受信機1068とを含む。デバイス1050は、さらなるストレージを提供するためにマイクロドライブまたは他のデバイスなどのストレージデバイスも備えていてもよい。コンポーネント1050,1052,1064,1054,1066および1068の各々は、さまざまなバスを使用して相互接続され、コンポーネントのうちのいくつかは、共通のマザーボード上に搭載される場合もあれば、適宜他の態様で搭載される場合もある。
プロセッサ1052は、メモリ1064に格納された命令を含む命令をコンピューティングデバイス1050内で実行することができる。プロセッサは、別々の複数のアナログプロセッサおよびデジタルプロセッサを含むチップのチップセットとして実現されてもよい。プロセッサは、たとえば、ユーザインターフェイスの制御、デバイス1050によって実行されるアプリケーション、およびデバイス1050による無線通信などの、デバイス1050の他のコンポーネントの連携を提供してもよい。
プロセッサ1052は、ディスプレイ1054に結合された制御インターフェイス1058およびディスプレイインターフェイス1056を介してユーザと通信し得る。ディスプレイ1054は、たとえばTFT LCD(Thin-Film-Transistor Liquid Crystal Display:薄膜トランジスタ液晶ディスプレイ)もしくはOLED(Organic Light Emitting Diode:有機発光ダイオード)ディスプレイ、または他の適切なディスプレイ技術であってもよい。ディスプレイインターフェイス1056は、ディスプレイ1054を駆動してグラフィック情報および他の情報をユーザに提示するための適切な回路を備え得る。制御インターフェイス1058は、ユーザからコマンドを受信し、当該コマンドを変換してプロセッサ1052に送信し得る。また、デバイス1050と他のデバイスとの近接エリア通信を可能にするために、外部インターフェイス1062がプロセッサ1052と通信するように設けられてもよい。外部インターフェイス1062は、たとえば、いくつかの実現例では有線通信を提供してもよく、または他の実現例では無線通信を提供してもよく、複数のインターフェイスも使用してもよい。
メモリ1064は、コンピューティングデバイス1050内の情報を格納する。メモリ1064は、コンピュータ読取可能な媒体、揮発性メモリユニットまたは不揮発性メモリユニットのうちの1つ以上として実現されてもよい。また、拡張メモリ1074が設けられて、拡張インターフェイス1072を介してデバイス1050に接続されてもよく、拡張インターフェイス572は、たとえばSIMM(Single In Line Memory Module:シングル・インライン・メモリ・モジュール)カードインターフェイスを含み得る。このような拡張メモリ1074は、デバイス1050に対して追加の記憶領域を提供してもよく、またはデバイス1050のためにアプリケーションもしくは他の情報を格納してもよい。具体的には、拡張メモリ1074は、上記のプロセスを実行または補完するための命令を含んでもよく、セキュリティ保護された情報も含んでもよい。したがって、たとえば、拡張メモリ1074は、デバイス1050のためのセキュリティモジュールとして提供されてもよく、デバイス1050の安全な使用を可能にする命令でプログラムされてもよい。また、ハッキングできない態様でSIMMカードに識別情報を載せるなど、追加情報とともに、セキュリティ保護されたアプリケーションがSIMMカードを介して提供されてもよい。
以下に記載するように、メモリは、たとえばフラッシュメモリおよび/またはNVRAMメモリを含んでもよい。一実装例では、コンピュータプログラム製品は、情報担体内で有形に実施される。コンピュータプログラム製品は、実行されたときに上記の方法などの1つ以上の方法を実行する命令を含む。情報担体は、たとえば送受信機1068または外部インターフェイス1062の上方に受けられ得るメモリ1064、拡張メモリ1074またはメモリオンプロセッサ1052などのコンピュータまたは機械読取可能な媒体である。
デバイス1050は、必要に応じてデジタル信号処理回路を含み得る通信インターフェイス1066を介して無線通信してもよい。通信インターフェイス1066は、とりわけGSM(登録商標)音声電話、SMS、EMSもしくはMMSメッセージング、CDMA、TDMA、PDC、WCDMA(登録商標)、CDMA2000またはGPRSなどのさまざまなモードまたはプロトコルの下での通信を提供し得る。このような通信は、たとえば無線周波数送受信機1068を介して行われてもよい。また、ブルートゥース、Wi−Fiまたは他のこのような送受信機(図示せず)などを用いて狭域通信が行われてもよい。また、GPS(グローバルポジショニングシステム)受信機モジュール1070は、さらなるナビゲーションおよび位置関連の無線データをデバイス1050に提供し得て、当該データは、デバイス1050上で実行されるアプリケーションによって適宜使用され得る。
また、デバイス1050は、音声コーデック1060を用いて可聴に通信してもよく、音声コーデック1060は、音声情報をユーザから受信し、当該音声情報を使用可能なデジタル情報に変換し得る。さらに、音声コーデック1060は、話者を介するなどして、たとえばデバイス1050の受話器においてユーザのために可聴音を生成し得る。このような音は、音声電話からの音声を含んでもよく、記録された音(たとえば、音声メッセージ、音楽ファイルなど)を含んでもよく、デバイス1050上で動作するアプリケーションによって生成された音も含んでもよい。
コンピューティングデバイス1050は、図に示されるように複数の異なる形態で実現されてもよい。たとえば、コンピューティングデバイス1050は、携帯電話1080として実現されてもよい。また、コンピューティングデバイス1050は、スマートフォン1082、パーソナルデジタルアシスタントまたは他の同様のモバイルデバイスの一部として実現されてもよい。
本明細書に記載されているシステムおよび技術のさまざまな実装例は、デジタル電子回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/または、それらの組み合わせで実現されてもよい。これらのさまざまな実装例は、プログラム可能なシステム上で実行可能および/または解釈可能である1つ以上のコンピュータプログラムでの実装例を含み得て、当該プログラム可能なシステムは、少なくとも1つのプログラム可能なプロセッサと、少なくとも1つの入力デバイスと、少なくとも1つの出力デバイスとを含み、当該少なくとも1つのプログラム可能なプロセッサは、ストレージシステムとデータおよび命令を送受信するように結合された特殊目的または汎用プロセッサであってもよい。
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られている)は、プログラム可能なプロセッサのための機械命令を含み、高水準手続き型および/もしくはオブジェクト指向プログラミング言語で実現されてもよく、ならびに/またはアセンブリ/機械言語で実現されてもよい。本明細書で使用される「機械読取可能な媒体」「コンピュータ読取可能な媒体」という用語は、機械読取可能な信号として機械命令を受信する機械読取可能な媒体を含む、機械命令および/またはデータをプログラム可能なプロセッサに提供するために使用される任意のコンピュータプログラム製品、装置および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(Programmable Logic Device:PLD))を指す。「機械読取可能な信号」という用語は、機械命令および/またはデータをプログラム可能なプロセッサに提供するために使用される任意の信号を指す。
ユーザとの対話を提供するために、本明細書に記載されているシステムおよび技術は、コンピュータ上で実現されてもよく、当該コンピュータは、ユーザに対して情報を表示するためのディスプレイデバイス(たとえば、CRT(cathode ray tube:陰極線管)またはLCD(liquid crystal display:液晶ディスプレイ)モニタ)と、キーボードと、ユーザが入力をコンピュータに提供することができるポインティングデバイス(たとえば、マウスまたはトラックボール)とを有する。ユーザとの対話を提供するために他の種類のデバイスも使用されてもよい。たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック(たとえば、視覚フィードバック、聴覚フィードバックまたは触覚フィードバック)であってもよく、ユーザからの入力は、音響入力、音声入力または触知可能入力を含む任意の形態で受信されてもよい。
本明細書に記載されているシステムおよび技術は、バックエンドコンポーネント(たとえば、データサーバ)を含むコンピューティングシステムで実現されてもよく、またはミドルウェアコンポーネント(たとえば、アプリケーションサーバ)を含むコンピューティングシステムで実現されてもよく、またはフロントエンドコンポーネント(たとえば、ユーザが本明細書に記載されているシステムおよび技術の実装例と対話することができるグラフィカルユーザインターフェイスまたはウェブブラウザを有するクライアントコンピュータ)を含むコンピューティングシステムで実現されてもよく、またはこのようなバックエンドコンポーネント、ミドルウェアコンポーネントまたはフロントエンドコンポーネントの任意の組み合わせを含むコンピューティングシステムで実現されてもよい。システムのコンポーネントは、デジタルデータ通信の任意の形態または媒体(たとえば、通信ネットワーク)によって相互接続されてもよい。通信ネットワークの例としては、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、およびインターネットが挙げられる。
コンピューティングシステムは、クライアントとサーバとを含み得る。クライアントおよびサーバは、一般に互いに離れており、通常は通信ネットワークを介して対話する。クライアントとサーバとの関係は、コンピュータプログラムがそれぞれのコンピュータ上で実行されて互いにクライアント−サーバ関係を有することによって生じる。
いくつかの実装例では、図9に示されるコンピューティングデバイスは、バーチャルリアリティに接続されるセンサ(VRヘッドセット/HMD装置1090)を含んでもよい。たとえば、図9に示されるコンピューティングデバイス1050または他のコンピューティングデバイス上に含まれる1つ以上のセンサは、VRヘッドセット1090に入力を提供してもよく、または一般に、VR空間に入力を提供してもよい。これらのセンサは、タッチスクリーン、加速度計、ジャイロスコープ、圧力センサ、バイオメトリックセンサ、温度センサ、湿度センサおよび周囲光センサを含み得るが、これらに限定されるものではない。コンピューティングデバイス1050は、これらのセンサを使用して、VR空間におけるコンピューティングデバイスの絶対位置および/または検出された回転を判断してもよく、絶対位置および/または回転は、その後、VR空間への入力として使用されてもよい。たとえば、コンピューティングデバイス1050は、コントローラ、レーザポインタ、キーボード、武器などの仮想オブジェクトとしてVR空間に組み込まれてもよい。VR空間に組み込まれる場合のユーザによるコンピューティングデバイス/仮想オブジェクトの位置決めにより、ユーザは、VR空間内で仮想オブジェクトが特定の態様で見られるようにコンピューティングデバイスを位置決めすることができる。たとえば、仮想オブジェクトがレーザポインタに相当する場合、ユーザは、まるでそれが実際のレーザポインタであるかのようにコンピューティングデバイスを操作することができる。ユーザは、コンピューティングデバイスを左右、上下、円の形などに移動させて、レーザポインタを使用するのと同様の態様でデバイスを使用することができる。
いくつかの実装例では、コンピューティングデバイス1050上に含まれるかまたはコンピューティングデバイス1050に接続される1つ以上の入力デバイスがVR空間への入力として使用されてもよい。入力デバイスは、タッチスクリーン、キーボード、1つ以上のボタン、トラックパッド、タッチパッド、ポインティングデバイス、マウス、トラックボール、ジョイスティック、カメラ、マイクロフォン、入力機能を有するイヤホンもしくはバッド、ゲームコントローラ、または他の接続可能な入力デバイスを含み得るが、これらに限定されるものではない。コンピューティングデバイスがVR空間に組み込まれる場合にコンピューティングデバイス1050上に含まれる入力デバイスと対話するユーザは、VR空間において特定のアクションを生じさせることができる。
いくつかの実装例では、コンピューティングデバイス1050のタッチスクリーンは、VR空間においてタッチパッドとして描写されてもよい。ユーザは、コンピューティングデバイス1050のタッチスクリーンと対話することができる。対話は、たとえばVRヘッドセット1090においては、VR空間における描写されたタッチパッド上での移動として描写される。描写された移動は、VR空間における仮想オブジェクトを制御することができる。
いくつかの実装例では、コンピューティングデバイス1050上に含まれる1つ以上の出力デバイスは、VR空間におけるVRヘッドセット1090のユーザに出力および/またはフィードバックを提供してもよい。この出力およびフィードバックは、視覚的なもの、戦術的なもの、または音声によるものであってもよい。この出力および/またはフィードバックは、振動、1つ以上のライトもしくはストロボをオンおよびオフにすることもしくは点滅および/もしくは明滅させること、警報を鳴らすこと、チャイムを鳴らすこと、曲を流すこと、および音声ファイルの再生を含み得るが、これらに限定されるものではない。出力デバイスは、振動モータ、振動コイル、圧電装置、静電装置、発光ダイオード(LED)、ストロボおよびスピーカを含み得るが、これらに限定されるものではない。
いくつかの実装例では、コンピューティングデバイス1050は、コンピュータによって生成された3D環境における別のオブジェクトとして現れてもよい。ユーザとコンピューティングデバイス1050との対話(たとえば、タッチスクリーンを回転させること、タッチスクリーンを揺さぶること、タッチスクリーンに触れること、タッチスクリーン上で指をスワイプすること)は、VR空間におけるオブジェクトとの対話であると解釈することができる。VR空間におけるレーザポインタの例では、コンピューティングデバイス1050は、コンピュータによって生成された3D環境における仮想レーザポインタとして現れる。ユーザがコンピューティングデバイス1050を操作すると、VR空間内のユーザは、レーザポインタが動くのを見る。ユーザは、VR環境でのコンピューティングデバイス1050との対話からのフィードバックをコンピューティングデバイス1050またはVRヘッドセット1090で受信する。
いくつかの実装例では、コンピューティングデバイス1050は、タッチスクリーンを含んでもよい。たとえば、ユーザは、タッチスクリーン上で起こることとVR空間で起こることとを似せることができる特定の態様でタッチスクリーンと対話することができる。たとえば、ユーザは、ピンチタイプ動作を使用して、タッチスクリーン上に表示されたコンテンツを拡大/縮小してもよい。タッチスクリーン上でのこのピンチタイプ動作は、VR空間において提供される情報を拡大/縮小させることができる。別の例では、コンピューティングデバイスは、コンピュータによって生成された3D環境における仮想書籍として描写されてもよい。VR空間において、書籍のページがVR空間に表示されてもよく、タッチスクリーン上でユーザの指をスワイプすることは、仮想書籍のページをめくる/さっとめくることであると解釈することができる。各ページがめくられる/さっとめくられると、ページコンテンツの変化を見ることに加えて、ユーザは、書籍のページをめくる音などの音声フィードバックを提供されてもよい。
いくつかの実装例では、コンピューティングデバイス(たとえば、マウス、キーボード)に加えて、1つ以上の入力デバイスが、コンピュータによって生成された3D環境内に描写されてもよい。描写された入力デバイス(たとえば、描写されたマウス、描写されたキーボード)は、VR空間内に描写されたとおりに使用されて、VR空間におけるオブジェクトを制御することができる。
コンピューティングデバイス1000は、さまざまな形態のデジタルコンピュータおよびデバイスを表すよう意図されており、これらのデジタルコンピュータおよびデバイスは、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータを含むが、これらに限定されるものではない。コンピューティングデバイス1050は、パーソナルデジタルアシスタント、携帯電話、スマートフォン、および他の同様のコンピューティングデバイスなどのさまざまな形態のモバイルデバイスを表すよう意図されている。ここに示されている構成要素、それらの接続および関係、ならびにそれらの機能は、単に例示的であるよう意図されており、本明細書に記載および/またはクレームされている発明の実装例を限定することを意図したものではない。
さらに他の実装例を以下の例に要約する。
例1:ヘッドマウントディスプレイ(HMD)デバイスのディスプレイに仮想環境を表示するステップと、上記HMDの外部における第1のジェスチャー入力を検出するステップと、上記第1のジェスチャー入力の検出に応じて、仮想注記面を生成するステップと、上記HMDの外部における第2のジェスチャー入力を検出するステップと、上記第2のジェスチャー入力の検出に応じて、上記仮想環境における仮想オブジェクトとして上記仮想注記面を表示するステップと、上記HMDの外部における第3のジェスチャー入力を検出するステップと、上記第3のジェスチャー入力の検出に応じて、上記仮想注記面に注釈を与えるステップと、上記注釈が与えられた仮想注記面を、上記仮想環境における仮想オブジェクトとして表示するステップとを含む、方法。
例2:上記第1のジェスチャー入力を検出するステップは、上記HMDに作動的に結合された第1のハンドヘルド電子デバイスの第1の位置を検出するステップと、上記HMDに作動的に結合された第2のハンドヘルド電子デバイスの第1の位置を検出するステップと、上記検出した第1のハンドヘルド電子デバイスの第1の位置と、上記検出した第2のハンドヘルド電子デバイスの第1の位置とに基づいて、上記第1のジェスチャー入力を検出するステップとを含む、例1に記載の方法。
例3:上記第1のジェスチャー入力を検出するステップは、上記第1のハンドヘルド電子デバイスまたは上記第2のハンドヘルド電子デバイスのうちの少なくとも一方の操作デバイスの作動を検出するステップをさらに含む、例2に記載の方法。
例4:上記第2のジェスチャー入力を検出するステップは、上記第1のハンドヘルド電子デバイスの第2の位置を検出するステップと、上記第2のハンドヘルド電子デバイスの第2の位置を検出するステップと、上記検出した第1のハンドヘルド電子デバイスの第1の位置に対する上記検出した第1のハンドヘルド電子デバイスの第2の位置と、上記検出した第2のハンドヘルド電子デバイスの第1の位置に対する上記検出した第2のハンドヘルド電子デバイスの第2の位置とに基づいて、上記仮想注記面の大きさまたは形状のうちの少なくとも一方を設定するステップとを含む、例3に記載の方法。
例5:上記第2のジェスチャー入力を検出するステップは、上記第1のハンドヘルド電子デバイスまたは上記第2のハンドヘルド電子デバイスのうちの少なくとも一方の操作デバイスの作動の解除を検出するステップと、上記操作デバイスの作動の解除の検出と、上記操作デバイスの作動の解除の検出に対応する時点で検出された、上記第1のハンドヘルド電子デバイスの第2の位置および上記第2のハンドヘルド電子デバイスの第2の位置の検出に応じて、上記仮想注記面の大きさまたは形状のうちの少なくとも一方を設定するステップとをさらに含む、例4に記載の方法。
例6:上記第3のジェスチャー入力を検出するステップおよび上記仮想注記面に注釈を与えるステップは、マーキング手段の移動を検出し追跡するステップと、上記検出したマーキング手段の移動に基づいて上記仮想注記面に注釈を与えるステップとを含む、例1〜例5のうちのいずれか1つに記載の方法。
例7:上記検出したマーキング手段の移動に基づいて上記仮想注記面に注釈を与えるステップは、上記マーキング手段の操作デバイスの作動を検出するステップと、上記検出した操作デバイスの作動に応じて、上記マーキング手段の移動の追跡を開始するステップと、上記操作デバイスの作動の解除を検出するステップと、上記検出した操作デバイスの解除に応じて、上記マーキング手段の移動の追跡を終了するステップとを含む、例6に記載の方法。
例8:上記検出したマーキング手段の移動に基づいて上記仮想注記面に注釈を与えるステップは、上記追跡したマーキング手段の移動に対応する輪郭を検出するステップと、上記検出したマーキング手段の移動の輪郭に対応する輪郭を用いて上記仮想注記面に注釈を与えるステップとをさらに含む、例7に記載の方法。
例9:システムであって、仮想現実環境を生成するように構成されたコンピューティングデバイスを備え、上記コンピューティングデバイスは、実行可能な命令を格納するメモリと、プロセッサとを含み、上記プロセッサは、上記命令を実行することにより、上記コンピューティングデバイスに、ヘッドマウントディスプレイ(HMD)デバイスのディスプレイに仮想環境を表示することと、上記HMDの外部における第1のジェスチャー入力を検出することと、上記第1のジェスチャー入力の検出に応じて、仮想注記面を生成することと、上記HMDの外部における第2のジェスチャー入力を検出することと、上記第2のジェスチャー入力の検出に応じて、上記仮想環境における仮想オブジェクトとして上記仮想注記面を表示することと、上記HMDの外部における第3のジェスチャー入力を検出することと、上記第3のジェスチャー入力の検出に応じて、上記仮想注記面に注釈を与えることと、上記注釈が与えられた仮想注記面を、上記仮想環境における仮想オブジェクトとして表示することとを実行させるように構成されている。
例10:上記第1のジェスチャー入力の検出において、上記命令は、上記コンピューティングデバイスに、上記HMDに作動的に結合された第1のハンドヘルド電子デバイスの第1の位置を検出することと、上記HMDに作動的に結合された第2のハンドヘルド電子デバイスの第1の位置を検出することと、上記検出した第1のハンドヘルド電子デバイスの第1の位置と、上記検出した第2のハンドヘルド電子デバイスの第1の位置とに基づいて、上記第1のジェスチャー入力を検出することとを実行させる、例9に記載のシステム。
例11:上記第1のジェスチャー入力の検出において、上記命令は、上記コンピューティングデバイスに、上記第1のハンドヘルド電子デバイスまたは上記第2のハンドヘルド電子デバイスのうちの少なくとも一方の操作デバイスの作動を検出することをさらに実行させる、例10に記載のシステム。
例12:上記第2のジェスチャー入力の検出において、上記命令は、上記コンピューティングデバイスに、上記第1のハンドヘルド電子デバイスの第2の位置を検出することと、上記第2のハンドヘルド電子デバイスの第2の位置を検出することと、上記検出した第1のハンドヘルド電子デバイスの第1の位置に対する上記検出した第1のハンドヘルド電子デバイスの第2の位置と、上記検出した第2のハンドヘルド電子デバイスの第1の位置に対する上記検出した第2のハンドヘルド電子デバイスの第2の位置とに基づいて、上記仮想注記面の大きさまたは形状のうちの少なくとも一方を設定することとを実行させる、例11に記載のシステム。
例13:上記第2のジェスチャー入力の検出において、上記命令は、上記コンピューティングデバイスに、上記第1のハンドヘルド電子デバイスまたは上記第2のハンドヘルド電子デバイスのうちの少なくとも一方の操作デバイスの作動の解除を検出することと、上記操作デバイスの作動の解除の検出と、上記操作デバイスの作動の解除の検出に対応する時点で検出された、上記第1のハンドヘルド電子デバイスの第2の位置および上記第2のハンドヘルド電子デバイスの第2の位置の検出に応じて、上記仮想注記面の大きさまたは形状のうちの少なくとも一方を設定することとを実行させる、例12に記載のシステム。
例14:上記第3のジェスチャー入力の検出および上記仮想注記面に注釈を与えることにおいて、上記命令は、上記コンピューティングデバイスに、マーキング手段の移動を検出し追跡することと、上記検出したマーキング手段の移動に基づいて上記仮想注記面に注釈を与えることとを実行させる、例9〜例13のうちの1つに記載のシステム。
例15:上記検出したマーキング手段の移動に基づいて上記仮想注記面に注釈を与えることにおいて、上記命令は、上記コンピューティングデバイスに、上記マーキング手段の操作デバイスの作動を検出することと、上記検出した操作デバイスの作動に応じて、上記マーキング手段の移動の追跡を開始することと、上記操作デバイスの作動の解除を検出することと、上記検出した操作デバイスの解除に応じて、上記マーキング手段の移動の追跡を終了することとを実行させる、例14に記載のシステム。
例16:上記検出したマーキング手段の移動に基づいて上記仮想注記面に注釈を与えることにおいて、上記命令は、上記コンピューティングデバイスに、上記追跡したマーキング手段の移動に対応する輪郭を検出することと、上記検出したマーキング手段の移動の輪郭に対応する輪郭を用いて上記仮想注記面に注釈を与えることとを実行させる、例15に記載のシステム。
例17:非一時的なコンピュータ読取可能媒体上で実施されるコンピュータプログラムプロダクトであって、上記コンピュータ読取可能媒体は命令のシーケンスを格納し、上記命令のシーケンスは、プロセッサによって実行されると上記プロセッサに方法を実行させ、上記方法は、ヘッドマウントディスプレイ(HMD)デバイスのディスプレイに仮想環境を表示するステップと、上記HMDの外部における第1のジェスチャー入力を検出するステップと、上記第1のジェスチャー入力の検出に応じて、仮想注記面を生成するステップと、上記HMDの外部における第2のジェスチャー入力を検出するステップと、上記第2のジェスチャー入力の検出に応じて、上記仮想環境における仮想オブジェクトとして上記仮想注記面を表示するステップと、上記HMDの外部における第3のジェスチャー入力を検出するステップと、上記第3のジェスチャー入力の検出に応じて、上記仮想注記面に注釈を与えるステップと、上記注釈が与えられた仮想注記面を上記仮想環境における仮想オブジェクトとして表示するステップとを含む。
例18:上記第1のジェスチャー入力を検出するステップは、上記HMDに作動的に結合された第1のハンドヘルド電子デバイスの第1の位置を検出するステップと、上記HMDに作動的に結合された第2のハンドヘルド電子デバイスの第1の位置を検出するステップと、上記第1のハンドヘルド電子デバイスまたは上記第2のハンドヘルド電子デバイスのうちの少なくとも一方の操作デバイスの第1の作動を検出するステップと、上記検出した第1のハンドヘルド電子デバイスの第1の位置と、上記検出した第2のハンドヘルド電子デバイスの第1の位置と、上記検出した操作デバイスの第1の作動とに基づいて、上記第1のジェスチャー入力を検出するステップとを含む、例17に記載のコンピュータプログラムプロダクト。
例19:上記第2のジェスチャー入力を検出するステップは、上記第1のジェスチャー入力の検出後に、上記操作デバイスの第1の作動の解除を検出するステップと、上記操作デバイスの第1の作動の解除が検出された時点における上記第1のハンドヘルド電子デバイスの第2の位置を検出するステップと、上記操作デバイスの第1の作動の解除が検出された時点における上記第2のハンドヘルド電子デバイスの第2の位置を検出するステップと、上記検出した第1のハンドヘルド電子デバイスの第1の位置に対する上記検出した第1のハンドヘルド電子デバイスの第2の位置と、上記検出した第2のハンドヘルド電子デバイスの第1の位置に対する上記検出した第2のハンドヘルド電子デバイスの第2の位置とに基づいて、上記仮想注記面の大きさまたは形状のうちの少なくとも一方を設定するステップとを含む、例18に記載のコンピュータプログラムプロダクト。
例20:上記第3のジェスチャー入力を検出するステップおよび上記仮想注記面に注釈を与えるステップは、上記操作デバイスの第2の作動を検出するステップと、上記検出した操作デバイスの第2の作動に応じて、上記第1のハンドヘルド電子デバイスまたは上記第2のハンドヘルド電子デバイスのうちの少なくとも一方の移動を追跡するステップと、上記操作デバイスの第2の作動の解除を検出するステップと、上記検出した操作デバイスの第2の作動の解除に応じて、上記第1のハンドヘルド電子デバイスまたは上記第2のハンドヘルド電子デバイスのうちの少なくとも一方の移動の追跡を終了するステップと、上記操作デバイスの第2の作動の検出と上記操作デバイスの第2の作動の解除の検出との間において追跡した、上記第1のハンドヘルド電子デバイスまたは上記第2のハンドヘルド電子デバイスのうちの少なくとも一方の移動に対応する輪郭を用いて、上記仮想注記面に注釈を与えるステップとを含む、例19に記載のコンピュータプログラムプロダクト。
複数の実施形態について説明してきた。しかし、本明細書の精神および範囲から逸脱することなくさまざまな変更をなし得ることが理解されるであろう。
また、図面に示される論理フローは、望ましい結果を達成するために、示されている特定の順序またはシーケンシャルな順序を必要としない。また、記載されているフローに他のステップが設けられてもよく、または記載されているフローからステップが削除されてもよく、記載されているシステムに他の構成要素が追加されてもよく、または記載されているシステムから構成要素が除去されてもよい。したがって、他の実施形態も以下の特許請求の範囲の範囲内である。
記載されている実装例の特定の特徴について、本明細書に記載されているように説明してきたが、多くの変形、置換、変更および等価物が当業者に想起されるであろう。したがって、添付の特許請求の範囲は、実装例の範囲内に入る全てのこのような変形および変更を包含するよう意図されているということが理解されるべきである。それらは限定としてではなく単に一例として提示されており、形態および詳細のさまざまな変更がなされてもよいということが理解されるべきである。本明細書に記載されている装置および/または方法のいずれの部分も、相互排他的な組み合わせを除いて、いかなる組み合わせで組み合わせられてもよい。本明細書に記載されている実装例は、記載されているさまざまな実装例の機能、構成要素および/または特徴のさまざまな組み合わせおよび/または下位組み合わせを含み得る。

Claims (19)

  1. ヘッドマウントディスプレイ(HMD)デバイスのディスプレイに仮想環境を表示するステップと、
    前記HMDの外部における第1のジェスチャー入力を、第1のハンドヘルド電子デバイスの検出された第1の位置と、第2のハンドヘルド電子デバイスの検出された第1の位置とに基づいて、検出するステップと、
    前記第1のジェスチャー入力の検出に応じて、仮想注記面を生成するステップと、
    前記HMDの外部における第2のジェスチャー入力を、前記第1のハンドヘルド電子デバイスの検出された第2の位置と、前記第2のハンドヘルド電子デバイスの検出された第2の位置とに基づいて、検出するステップと、
    前記第2のジェスチャー入力の検出に応じて、前記仮想環境における第1の仮想オブジェクトとして前記仮想注記面を表示するステップと、
    前記第1のハンドヘルド電子デバイスまたは前記第2のハンドヘルド電子デバイスのうちの少なくとも一方の操作デバイスの作動の解除を検出するステップと、
    前記検出した操作デバイスの作動の解除に応じて、前記仮想注記面の大きさまたは形状のうちの少なくとも一方を設定するステップと、
    前記仮想環境における第2の仮想オブジェクトとして前記仮想注記面を表示するステップとを含む、方法。
  2. 前記第1のハンドヘルド電子デバイスは前記HMDに作動的に結合されており、前記第2のハンドヘルド電子デバイスは前記HMDに作動的に結合されている、請求項1に記載の方法。
  3. 前記仮想注記面の大きさまたは形状のうちの少なくとも一方を設定するステップは、前記第1のハンドヘルド電子デバイスの検出された第1の位置に対する前記第1のハンドヘルド電子デバイスの検出された第2の位置と、前記第2のハンドヘルド電子デバイスの検出された第1の位置に対する前記第2のハンドヘルド電子デバイスの検出された第2の位置とに基づいて、前記仮想注記面の大きさまたは形状のうちの少なくとも一方を設定するステップを含む、請求項1または2に記載の方法。
  4. 前記仮想注記面の大きさまたは形状のうちの少なくとも一方を設定するステップは、前記操作デバイスの作動の解除の検出と、前記操作デバイスの作動の解除の検出に対応する時点で検出された、前記第1のハンドヘルド電子デバイスの第2の位置および前記第2のハンドヘルド電子デバイスの第2の位置の検出に応じて、前記仮想注記面の大きさまたは形状のうちの少なくとも一方を設定するステップをさらに含む、請求項3に記載の方法。
  5. 前記HMDの外部における第3のジェスチャー入力を検出するステップと、
    前記第3のジェスチャー入力の検出に応じて、前記仮想注記面に注釈を与えるステップとをさらに含み、前記注釈を与えるステップは、
    マーキング手段の移動を検出し追跡するステップと、
    前記検出したマーキング手段の移動に基づいて前記仮想注記面に注釈を与えるステップとを含み、前記方法はさらに、
    前記仮想環境における前記第2の仮想オブジェクトとして、前記注釈が与えられた仮想注記面を表示するステップを含む、請求項1から4のいずれか1項に記載の方法。
  6. 前記検出したマーキング手段の移動に基づいて前記仮想注記面に注釈を与えるステップは、
    前記マーキング手段の操作デバイスの作動を検出するステップと、
    前記検出した操作デバイスの作動に応じて、前記マーキング手段の移動の追跡を開始するステップと、
    前記操作デバイスの作動の解除を検出するステップと、
    前記検出した操作デバイスの解除に応じて、前記マーキング手段の移動の追跡を終了するステップとを含む、請求項5に記載の方法。
  7. 前記検出したマーキング手段の移動に基づいて前記仮想注記面に注釈を与えるステップは、
    前記追跡したマーキング手段の移動に対応する輪郭を検出するステップと、
    前記検出したマーキング手段の移動の輪郭に対応する輪郭を用いて前記仮想注記面に注釈を与えるステップとをさらに含む、請求項5または6に記載の方法。
  8. システムであって、
    仮想現実環境を生成するように構成されたコンピューティングデバイスを備え、前記コンピューティングデバイスは、
    実行可能な命令を格納するメモリと、
    プロセッサとを含み、前記プロセッサは、前記命令を実行することにより、前記コンピューティングデバイスに、
    ヘッドマウントディスプレイ(HMD)デバイスのディスプレイに仮想環境を表示することと、
    前記HMDの外部における第1のジェスチャー入力を、第1のハンドヘルド電子デバイスの検出された第1の位置と、第2のハンドヘルド電子デバイスの検出された第1の位置とに基づいて、検出することと、
    前記第1のジェスチャー入力の検出に応じて、仮想注記面を生成することと、
    前記HMDの外部における第2のジェスチャー入力を、前記第1のハンドヘルド電子デバイスの検出された第2の位置と、前記第2のハンドヘルド電子デバイスの検出された第2の位置とに基づいて、検出することと、
    前記第2のジェスチャー入力の検出に応じて、前記仮想環境における第1の仮想オブジェクトとして前記仮想注記面を表示することと、
    前記第1のハンドヘルド電子デバイスまたは前記第2のハンドヘルド電子デバイスのうちの少なくとも一方の操作デバイスの作動の解除を検出することと、
    前記検出した操作デバイスの作動の解除に応じて、前記仮想注記面の大きさまたは形状のうちの少なくとも一方を設定することと、
    前記仮想環境における第2の仮想オブジェクトとして前記仮想注記面を表示することとを実行させるように構成されている、システム。
  9. 前記第1のハンドヘルド電子デバイスは前記HMDに作動的に結合されており、前記第2のハンドヘルド電子デバイスは前記HMDに作動的に結合されている、請求項8に記載のシステム。
  10. 前記仮想注記面の大きさまたは形状のうちの少なくとも一方の設定において、前記命令は、前記コンピューティングデバイスに、
    前記第1のハンドヘルド電子デバイスの検出された第1の位置に対する前記第1のハンドヘルド電子デバイスの検出された第2の位置と、前記第2のハンドヘルド電子デバイスの検出された第1の位置に対する前記第2のハンドヘルド電子デバイスの検出された第2の位置とに基づいて、前記仮想注記面の大きさまたは形状のうちの少なくとも一方を設定することを実行させる、請求項8または9に記載のシステム。
  11. 前記仮想注記面の大きさまたは形状のうちの少なくとも一方の設定において、前記命令は、前記コンピューティングデバイスに、
    前記操作デバイスの作動の解除の検出と、前記操作デバイスの作動の解除の検出に対応する時点で検出された、前記第1のハンドヘルド電子デバイスの第2の位置および前記第2のハンドヘルド電子デバイスの第2の位置の検出に応じて、前記仮想注記面の大きさまたは形状のうちの少なくとも一方を設定することを実行させる、請求項10に記載のシステム。
  12. 前記命令は、前記コンピューティングデバイスに、
    前記HMDの外部における第3のジェスチャー入力を検出することと、
    前記第3のジェスチャー入力の検出に応じて、前記仮想注記面に注釈を与えることとを実行させ、前記注釈を与えることは、
    マーキング手段の移動を検出し追跡することと、
    前記検出したマーキング手段の移動に基づいて前記仮想注記面に注釈を与えることとを含み、
    前記命令は、前記コンピューティングデバイスに、
    前記仮想環境における前記第2の仮想オブジェクトとして、前記注釈が与えられた仮想注記面を表示することを実行させる、請求項8から11のいずれか1項に記載のシステム。
  13. 前記検出したマーキング手段の移動に基づいて前記仮想注記面に注釈を与えることにおいて、前記命令は、前記コンピューティングデバイスに、
    前記マーキング手段の操作デバイスの作動を検出することと、
    前記検出した操作デバイスの作動に応じて、前記マーキング手段の移動の追跡を開始することと、
    前記操作デバイスの作動の解除を検出することと、
    前記検出した操作デバイスの解除に応じて、前記マーキング手段の移動の追跡を終了することとを実行させる、請求項12に記載のシステム。
  14. 前記検出したマーキング手段の移動に基づいて前記仮想注記面に注釈を与えることにおいて、前記命令は、前記コンピューティングデバイスに、
    前記追跡したマーキング手段の移動に対応する輪郭を検出することと、
    前記検出したマーキング手段の移動の輪郭に対応する輪郭を用いて前記仮想注記面に注釈を与えることとを実行させる、請求項12または13に記載のシステム。
  15. コンピュータ読取可能プログラムであって、前記コンピュータ読取可能プログラムは命令のシーケンスを有し、前記命令のシーケンスは、プロセッサによって実行されると前記プロセッサに方法を実行させ、前記方法は、
    ヘッドマウントディスプレイ(HMD)デバイスのディスプレイに仮想環境を表示するステップと、
    前記HMDの外部における第1のジェスチャー入力を、第1のハンドヘルド電子デバイスの検出された第1の位置と、第2のハンドヘルド電子デバイスの検出された第1の位置とに基づいて、検出するステップと、
    前記第1のジェスチャー入力の検出に応じて、仮想注記面を生成するステップと、
    前記HMDの外部における第2のジェスチャー入力を、前記第1のハンドヘルド電子デバイスの検出された第2の位置と、前記第2のハンドヘルド電子デバイスの検出された第2の位置とに基づいて、検出するステップと、
    前記第2のジェスチャー入力の検出に応じて、前記仮想環境における第1の仮想オブジェクトとして前記仮想注記面を表示するステップと、
    前記第1のハンドヘルド電子デバイスまたは前記第2のハンドヘルド電子デバイスのうちの少なくとも一方の操作デバイスの作動の解除を検出するステップと、
    前記検出した操作デバイスの作動の解除に応じて、前記仮想注記面の大きさまたは形状のうちの少なくとも一方を設定するステップと、
    前記仮想環境における第2の仮想オブジェクトとして前記仮想注記面を表示するステップとを含む、コンピュータ読取可能プログラム。
  16. 前記第1のジェスチャー入力を検出するステップは、
    前記第1のハンドヘルド電子デバイスまたは前記第2のハンドヘルド電子デバイスのうちの少なくとも一方の操作デバイスの第1の作動を検出するステップと、
    前記第1のハンドヘルド電子デバイスの検出された第1の位置と、前記第2のハンドヘルド電子デバイスの検出された第1の位置と、前記検出した操作デバイスの第1の作動とに基づいて、前記第1のジェスチャー入力を検出するステップとをさらに含む、請求項15に記載のコンピュータ読取可能プログラム。
  17. 前記第2のジェスチャー入力を検出するステップは、
    前記第1のジェスチャー入力の検出後に、
    前記操作デバイスの第1の作動の解除を検出するステップと、
    前記操作デバイスの第1の作動の解除が検出された時点における前記第1のハンドヘルド電子デバイスの第2の位置を検出するステップと、
    前記操作デバイスの第1の作動の解除が検出された時点における前記第2のハンドヘルド電子デバイスの第2の位置を検出するステップと、
    前記検出した第1のハンドヘルド電子デバイスの第1の位置に対する前記検出した第1のハンドヘルド電子デバイスの第2の位置と、前記検出した第2のハンドヘルド電子デバイスの第1の位置に対する前記検出した第2のハンドヘルド電子デバイスの第2の位置とに基づいて、前記仮想注記面の大きさまたは形状のうちの少なくとも一方を設定するステップとを含む、請求項16に記載のコンピュータ読取可能プログラム。
  18. 前記HMDの外部における第3のジェスチャー入力を検出するステップと、
    前記第3のジェスチャー入力の検出に応じて、前記仮想注記面に注釈を与えるステップとをさらに含み、前記注釈を与えるステップは、
    前記操作デバイスの第2の作動を検出するステップと、
    前記検出した操作デバイスの第2の作動に応じて、前記第1のハンドヘルド電子デバイスまたは前記第2のハンドヘルド電子デバイスのうちの少なくとも一方の移動を追跡するステップと、
    前記操作デバイスの第2の作動の解除を検出するステップと、
    前記検出した操作デバイスの第2の作動の解除に応じて、前記第1のハンドヘルド電子デバイスまたは前記第2のハンドヘルド電子デバイスのうちの少なくとも一方の移動の追跡を終了するステップとを含み、さらに、
    前記操作デバイスの第2の作動の検出と前記操作デバイスの第2の作動の解除の検出との間において追跡した、前記第1のハンドヘルド電子デバイスまたは前記第2のハンドヘルド電子デバイスのうちの少なくとも一方の移動に対応する輪郭を用いて、前記仮想注記面に注釈を与えるステップを含む、請求項17に記載のコンピュータ読取可能プログラム。
  19. 請求項1から7のいずれか1項に記載の方法をコンピュータに実行させるためのプログラム。
JP2019529992A 2016-12-05 2017-08-28 拡張現実および/または仮想現実環境におけるジェスチャーによる仮想注記面の生成 Active JP6633256B1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/369,620 2016-12-05
US15/369,620 US10147243B2 (en) 2016-12-05 2016-12-05 Generating virtual notation surfaces with gestures in an augmented and/or virtual reality environment
PCT/US2017/048962 WO2018106299A1 (en) 2016-12-05 2017-08-28 Generating virtual notation surfaces with gestures in an augmented and/or virtual reality environment

Publications (2)

Publication Number Publication Date
JP6633256B1 true JP6633256B1 (ja) 2020-01-22
JP2020513625A JP2020513625A (ja) 2020-05-14

Family

ID=59846654

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019529992A Active JP6633256B1 (ja) 2016-12-05 2017-08-28 拡張現実および/または仮想現実環境におけるジェスチャーによる仮想注記面の生成

Country Status (7)

Country Link
US (2) US10147243B2 (ja)
EP (2) EP3548989B1 (ja)
JP (1) JP6633256B1 (ja)
KR (1) KR102390425B1 (ja)
CN (1) CN109891367B (ja)
DE (1) DE202017105262U1 (ja)
WO (1) WO2018106299A1 (ja)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2554914B (en) * 2016-10-14 2022-07-20 Vr Chitect Ltd Virtual reality system and method
US10514769B2 (en) * 2016-10-16 2019-12-24 Dell Products, L.P. Volumetric tracking for orthogonal displays in an electronic collaboration setting
US10242503B2 (en) 2017-01-09 2019-03-26 Snap Inc. Surface aware lens
CN108459782A (zh) * 2017-02-17 2018-08-28 阿里巴巴集团控股有限公司 一种输入方法、装置、设备、系统和计算机存储介质
US10564800B2 (en) * 2017-02-23 2020-02-18 Spatialand Inc. Method and apparatus for tool selection and operation in a computer-generated environment
US10639510B2 (en) * 2017-03-20 2020-05-05 The Trustees Of Columbia University In The City Of New York Human musculoskeletal support and training system methods and devices
EP3605300A4 (en) * 2017-03-22 2020-02-26 Sony Corporation IMAGE PROCESSING DEVICE AND METHOD AND PROGRAM
US11308670B2 (en) * 2017-03-22 2022-04-19 Sony Corporation Image processing apparatus and method
US11054894B2 (en) 2017-05-05 2021-07-06 Microsoft Technology Licensing, Llc Integrated mixed-input system
TWI646449B (zh) * 2017-05-12 2019-01-01 華碩電腦股份有限公司 三維定位系統與方法
US10755480B2 (en) * 2017-05-19 2020-08-25 Ptc Inc. Displaying content in an augmented reality system
WO2018232742A1 (en) * 2017-06-23 2018-12-27 Tencent Technology (Shenzhen) Company Limited METHOD AND DEVICE FOR POINTING AN OBJECT IN A VIRTUAL REALITY (VR) SCENE, AND VR APPARATUS
US10895966B2 (en) 2017-06-30 2021-01-19 Microsoft Technology Licensing, Llc Selection using a multi-device mixed interactivity system
US11023109B2 (en) * 2017-06-30 2021-06-01 Microsoft Techniogy Licensing, LLC Annotation using a multi-device mixed interactivity system
US10937215B1 (en) * 2017-09-29 2021-03-02 Apple Inc. Techniques for enabling drawing in a computer-generated reality environment
US10747302B2 (en) * 2018-06-08 2020-08-18 Facebook Technologies, Llc Artificial reality interaction plane
US11087538B2 (en) 2018-06-26 2021-08-10 Lenovo (Singapore) Pte. Ltd. Presentation of augmented reality images at display locations that do not obstruct user's view
JP7499749B2 (ja) 2018-07-24 2024-06-14 マジック リープ, インコーポレイテッド アプリケーション共有
US11393170B2 (en) * 2018-08-21 2022-07-19 Lenovo (Singapore) Pte. Ltd. Presentation of content based on attention center of user
US10991139B2 (en) 2018-08-30 2021-04-27 Lenovo (Singapore) Pte. Ltd. Presentation of graphical object(s) on display to avoid overlay on another item
US11036284B2 (en) * 2018-09-14 2021-06-15 Apple Inc. Tracking and drift correction
US11176737B2 (en) 2018-11-27 2021-11-16 Snap Inc. Textured mesh building
US10942633B2 (en) * 2018-12-20 2021-03-09 Microsoft Technology Licensing, Llc Interactive viewing and editing system
US10963140B2 (en) * 2019-04-12 2021-03-30 John William Marr Augmented reality experience creation via tapping virtual surfaces in augmented reality
US11144760B2 (en) 2019-06-21 2021-10-12 International Business Machines Corporation Augmented reality tagging of non-smart items
US11189098B2 (en) * 2019-06-28 2021-11-30 Snap Inc. 3D object camera customization system
US11023035B1 (en) 2019-07-09 2021-06-01 Facebook Technologies, Llc Virtual pinboard interaction using a peripheral device in artificial reality environments
CN114072750A (zh) * 2019-07-09 2022-02-18 麦克赛尔株式会社 头戴式显示器系统以及该头戴式显示器系统所使用的头戴式显示器及其操作方法
US11023036B1 (en) * 2019-07-09 2021-06-01 Facebook Technologies, Llc Virtual drawing surface interaction using a peripheral device in artificial reality environments
US10976804B1 (en) * 2019-07-09 2021-04-13 Facebook Technologies, Llc Pointer-based interaction with a virtual surface using a peripheral device in artificial reality environments
US11244516B2 (en) 2019-09-16 2022-02-08 Magic Leap, Inc. Object interactivity in virtual space
US11030820B1 (en) * 2019-12-05 2021-06-08 Facebook Technologies, Llc Systems and methods for surface detection
US11335070B2 (en) 2020-02-10 2022-05-17 Magic Leap, Inc. Dynamic colocation of virtual content
EP4104002A4 (en) * 2020-02-14 2023-08-09 Magic Leap, Inc. 3D OBJECT ANNOTATION
JP7539478B2 (ja) 2020-02-14 2024-08-23 マジック リープ, インコーポレイテッド セッションマネージャ
CN118276683A (zh) 2020-02-14 2024-07-02 奇跃公司 工具桥
CN115315677A (zh) * 2020-03-26 2022-11-08 索尼集团公司 信息处理装置、信息处理方法和信息处理程序
WO2021236170A1 (en) * 2020-05-18 2021-11-25 Google Llc Low-power semi-passive relative six-degree-of-freedom tracking
KR20220010356A (ko) 2020-07-17 2022-01-25 주식회사 버넥트 증강현실 콘텐츠 기반 작업관리 시스템 및 방법
US11694413B2 (en) * 2020-08-25 2023-07-04 Spatial Systems Inc. Image editing and sharing in an augmented reality system
US20220083307A1 (en) * 2020-09-16 2022-03-17 Meta View, Inc. Augmented reality collaboration system with annotation capability
US11875088B2 (en) * 2020-11-24 2024-01-16 Unity Technologies ApS Systems and methods for smart volumetric layouts
US11631228B2 (en) 2020-12-04 2023-04-18 Vr-Edu, Inc Virtual information board for collaborative information sharing
US11327630B1 (en) * 2021-02-04 2022-05-10 Huawei Technologies Co., Ltd. Devices, methods, systems, and media for selecting virtual objects for extended reality interaction
JP2022122479A (ja) * 2021-02-10 2022-08-23 キヤノン株式会社 撮像システム、表示装置、撮像装置、および撮像システムの制御方法
WO2022216082A1 (ko) * 2021-04-07 2022-10-13 한국과학기술원 가상 공간 내 메모 객체를 제어하는 전자 시스템 및 그 동작 방법
US11687221B2 (en) * 2021-08-27 2023-06-27 International Business Machines Corporation Augmented reality based user interface configuration of mobile and wearable computing devices
CN113706679A (zh) * 2021-08-31 2021-11-26 南京大学 一种在ar场景中进行3d草图绘制的方法和装置
KR102664782B1 (ko) * 2021-10-06 2024-05-10 한국과학기술원 가상 현실 공간에 대한 제어를 수행하는 전자 시스템, 전자 장치 및 그 동작 방법
WO2023058819A1 (ko) * 2021-10-06 2023-04-13 한국과학기술원 가상 현실 공간에 대한 제어를 수행하는 전자 시스템, 전자 장치 및 그 동작 방법
US12093462B2 (en) 2022-04-11 2024-09-17 Meta Platforms Technologies, Llc Virtual keyboard selections using multiple input modalities
US12026325B2 (en) 2022-08-17 2024-07-02 Apple Inc. Handheld input devices with sleeves
US20240070243A1 (en) * 2022-08-31 2024-02-29 Youjean Cho Authenticating a selective collaborative object
US12019773B2 (en) 2022-08-31 2024-06-25 Snap Inc. Timelapse of generating a collaborative object
US12079395B2 (en) 2022-08-31 2024-09-03 Snap Inc. Scissor hand gesture for a collaborative object
US20240070300A1 (en) * 2022-08-31 2024-02-29 Youjean Cho Selective collaborative object access based on timestamp
WO2024075565A1 (ja) * 2022-10-04 2024-04-11 ソニーグループ株式会社 表示制御装置および表示制御方法
CN116382613A (zh) * 2023-06-05 2023-07-04 江西格如灵科技股份有限公司 虚拟现实环境下的白板同步方法、装置、设备及介质
US12079903B1 (en) * 2023-06-26 2024-09-03 Google Llc Real screens in extended reality

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8745541B2 (en) * 2003-03-25 2014-06-03 Microsoft Corporation Architecture for controlling a computer using hand gestures
US20110199342A1 (en) 2010-02-16 2011-08-18 Harry Vartanian Apparatus and method for providing elevated, indented or texturized sensations to an object near a display device or input detection using ultrasound
US10217264B2 (en) * 2010-06-01 2019-02-26 Vladimir Vaganov 3D digital painting
KR101591579B1 (ko) * 2011-03-29 2016-02-18 퀄컴 인코포레이티드 증강 현실 시스템들에서 실세계 표면들에의 가상 이미지들의 앵커링
US8881051B2 (en) 2011-07-05 2014-11-04 Primesense Ltd Zoom-based gesture user interface
JP6124517B2 (ja) * 2012-06-01 2017-05-10 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム、およびパノラマ動画表示方法
US20140006994A1 (en) * 2012-06-29 2014-01-02 Apple Inc. Device, Method, and Graphical User Interface for Displaying a Virtual Keyboard
US9552673B2 (en) * 2012-10-17 2017-01-24 Microsoft Technology Licensing, Llc Grasping virtual objects in augmented reality
US10185416B2 (en) * 2012-11-20 2019-01-22 Samsung Electronics Co., Ltd. User gesture input to wearable electronic device involving movement of device
WO2015102527A1 (en) * 2014-01-05 2015-07-09 Yousefi Shahrouz Real-time 3d gesture recognition and tracking system for mobile devices
US9649558B2 (en) * 2014-03-14 2017-05-16 Sony Interactive Entertainment Inc. Gaming device with rotatably placed cameras
KR20150110257A (ko) * 2014-03-21 2015-10-02 삼성전자주식회사 웨어러블 디바이스에서 가상의 입력 인터페이스를 제공하는 방법 및 이를 위한 웨어러블 디바이스
EP2946266B1 (en) 2014-03-21 2023-06-21 Samsung Electronics Co., Ltd. Method and wearable device for providing a virtual input interface
US20160112479A1 (en) * 2014-10-16 2016-04-21 Wipro Limited System and method for distributed augmented reality
CN105892890A (zh) * 2014-11-30 2016-08-24 黄石木信息科技有限公司 一种全景互动移动终端展示系统及方法
US9851091B2 (en) * 2015-02-18 2017-12-26 Lg Electronics Inc. Head mounted display
EP3281403A4 (en) * 2015-04-06 2018-03-07 Scope Technologies US Inc. Methods and apparatus for augmented reality applications
US10055888B2 (en) 2015-04-28 2018-08-21 Microsoft Technology Licensing, Llc Producing and consuming metadata within multi-dimensional data
US9898865B2 (en) * 2015-06-22 2018-02-20 Microsoft Technology Licensing, Llc System and method for spawning drawing surfaces
CN105138135B (zh) * 2015-09-15 2018-08-28 北京国承万通信息科技有限公司 头戴式虚拟现实设备及虚拟现实系统
US10067636B2 (en) * 2016-02-09 2018-09-04 Unity IPR ApS Systems and methods for a virtual reality editor

Also Published As

Publication number Publication date
WO2018106299A1 (en) 2018-06-14
US10147243B2 (en) 2018-12-04
US20180158250A1 (en) 2018-06-07
EP3792733A1 (en) 2021-03-17
US10339723B2 (en) 2019-07-02
CN109891367B (zh) 2022-03-29
DE202017105262U1 (de) 2018-03-27
US20190019348A1 (en) 2019-01-17
CN109891367A (zh) 2019-06-14
EP3792733B1 (en) 2024-08-21
EP3548989B1 (en) 2020-12-23
EP3548989A1 (en) 2019-10-09
KR102390425B1 (ko) 2022-04-25
JP2020513625A (ja) 2020-05-14
KR20190076034A (ko) 2019-07-01

Similar Documents

Publication Publication Date Title
JP6633256B1 (ja) 拡張現実および/または仮想現実環境におけるジェスチャーによる仮想注記面の生成
US11181986B2 (en) Context-sensitive hand interaction
US10545584B2 (en) Virtual/augmented reality input device
US10509487B2 (en) Combining gyromouse input and touch input for navigation in an augmented and/or virtual reality environment
EP3548988B1 (en) Switching of active objects in an augmented and/or virtual reality environment
KR102245245B1 (ko) 증강된 그리고/또는 가상의 현실 환경에서 6 자유도 제어기들을 이용한 가상 객체들의 조작
US10748342B2 (en) Interaction system for augmented reality objects
US10359863B2 (en) Dragging virtual elements of an augmented and/or virtual reality environment
KR102338835B1 (ko) 증강 및/또는 가상 현실 환경에서의 세션 종료 검출
JP2018526693A (ja) 仮想現実における注視対話のためのホバー挙動
US10649616B2 (en) Volumetric multi-selection interface for selecting multiple objects in 3D space
JP2019530064A (ja) 仮想現実におけるロケーショングローブ
US10976890B2 (en) Intelligent command batching in an augmented and/or virtual reality environment
JP2024529848A (ja) オブジェクトの動作モダリティを動的に選択するための方法及びデバイス
JP2024533952A (ja) 物理オブジェクトとのユーザインタフェースに向けられた対話を管理するための方法及びデバイス

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190716

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190716

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190716

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20191004

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: 20191119

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191211

R150 Certificate of patent or registration of utility model

Ref document number: 6633256

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250