JP2022535316A - スライドメニューを有する人工現実システム - Google Patents

スライドメニューを有する人工現実システム Download PDF

Info

Publication number
JP2022535316A
JP2022535316A JP2021555497A JP2021555497A JP2022535316A JP 2022535316 A JP2022535316 A JP 2022535316A JP 2021555497 A JP2021555497 A JP 2021555497A JP 2021555497 A JP2021555497 A JP 2021555497A JP 2022535316 A JP2022535316 A JP 2022535316A
Authority
JP
Japan
Prior art keywords
menu
hand
artificial reality
gesture
reality system
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.)
Pending
Application number
JP2021555497A
Other languages
English (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.)
Meta Platforms Technologies LLC
Original Assignee
Meta Platforms Technologies 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 Meta Platforms Technologies LLC filed Critical Meta Platforms Technologies LLC
Publication of JP2022535316A publication Critical patent/JP2022535316A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • 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/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/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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/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/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • 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/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality

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)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

人工現実環境内でユーザインタフェース要素を描画、提示、および制御し、検出されたユーザの1つまたは複数のジェスチャに応答して動作を実行する、人工現実システムについて説明されている。人工現実システムは、片手で起動および相互作用され得るメニューを含むことができる。人工現実システムは、片手で実行されたメニュー起動ジェスチャの検出に応答して、メニューを描画することができる。手のメニュースライドジェスチャ(たとえば、水平方向の動き)を使用して、UIメニューの水平方向の位置を一定に保ちながら、スライド可能に係合可能なユーザインタフェース(UI)要素を、メニューの水平方向の広がりに沿って移動させることができる。メニュースライドジェスチャに直交する手の動き(たとえば、水平方向でない動き)により、メニューの位置を変更することができる。人工現実システムの実施態様では、人工現実システムと相互作用するために、両手の使用または他の入力デバイスの使用が、実際に必要となる。【選択図】図7A

Description

関連出願の相互参照
この出願は、2019年6月7日に出願された米国特許出願第16/434,919号の優先権を主張し、その内容は、あらゆる目的のためにその全体が参照により本明細書に組み入れられる。
この開示は、一般的に、仮想現実、複合現実、および/または拡張現実システムなどの人工現実システムに関し、より具体的には、人工現実システムのユーザインタフェースに関する。
人工現実システムは、コンピュータゲーム、健康および安全、産業、ならびに教育など多くの分野での用途により、ますます遍在するようになっている。いくつかの例として、人工現実システムは、携帯デバイス、ゲーム機、パーソナルコンピューター、映画館、およびテーマパークに組み込まれている。一般に、人工現実は、ユーザに提示する前に何らかのやり方で調整された現実の形式であり、たとえば、仮想現実(VR:virtual reality)、拡張現実(AR:augmented reality)、複合現実(MR:mixed reality)、ハイブリッド現実、またはそれらの何らかの組合せおよび/もしくは派生的なものが含まれ得る。
典型的な人工現実システムは、ユーザに対してコンテンツを描画および表示する、1つまたは複数のデバイスを備える。一例として、人工現実システムは、ユーザが着用し、人工現実コンテンツをユーザに出力するよう構成された、ヘッドマウントディスプレイ(HMD:head-mounted display)を組み込むことができる。人工現実コンテンツには、全面的に生成されたコンテンツ、または取り込まれたコンテンツ(たとえば、実世界のビデオおよび/または画像)と組み合わせて生成されたコンテンツが含まれ得る。動作中、ユーザは通常、人工現実システムと相互作用して、コンテンツを選択し、アプリケーションを起動するか、またはその他の方法でシステムを設定する。
この開示は、一般的に、人工現実システムについて説明し、より具体的には、グラフィカルユーザインタフェース要素、ならびに人工現実環境内でユーザインタフェース要素を提示および制御する技法について説明する。
たとえば、ユーザの手、手指(finger)、親指、もしくは腕、または事前定義されたジェスチャの組合せの、特定の動き、配置、位置、および/または向きなど、ユーザによる1つまたは複数の事前定義されたジェスチャの検出に応答して、グラフィカルユーザインタフェース要素を生成および描画し、ユーザに対して表示する、人工現実システムについて説明されている。いくつかの例では、人工現実システムはさらに、特定のジェスチャと、リアルタイムでのユーザの凝視追跡によって、またはユーザが着用しているHMDのポーズに関連して判断され得る、物理的環境でのユーザの現在の視野に対する、特定のジェスチャの位置および向きなど、他の条件との組合せの検出に応答して、グラフィカルユーザインタフェース要素の生成および描画をトリガすることができる。
いくつかの例では、人工現実システムは、人工現実システムのディスプレイ内に現在描画されている人工現実コンテンツに対して、重畳する要素であるグラフィカルユーザインタフェース要素を生成および提示することができる。グラフィカルユーザインタフェース要素は、たとえば、ユーザが人工現実システムを動作させるために相互作用するメニューもしくはサブメニューなどのグラフィカルユーザインタフェース、またはトグル要素、ドロップダウン要素、メニュー選択要素、2次元もしくは3次元形状、グラフィカル入力キーもしくはキーボード、コンテンツ表示ウィンドウなどの、ユーザが選択可能かつ操作可能な個々のグラフィカルユーザインタフェース要素であり得る。
一部のHMDの技術的な問題は、人工現実システムの態様と相互作用するために、たとえば、メニュー内に選択用のユーザインタフェース要素を置くために使用できる、入力デバイスがないことである。一部のシステムでは、人工現実システムは、ユーザの両手を使用した、ユーザのメニューまたはアイコンとの相互作用を実現することができる。しかし、この種の相互作用の技術的な問題は、一方の手がもう一方の手を隠してしまう可能性があり、これにより人工現実システムが、ユーザの意図を正確に判断するのが困難になることである。さらに、一部のユーザは、人工現実システムと相互作用するのに両手を使用することを妨げ得る、障害を持っている場合がある。前述の技術的問題に対する技術的解決策として、いくつかの態様は、片手で起動および相互作用することができるメニューを有している。人工現実システムは、片手で実行されたメニュー起動ジェスチャの検出に応答して、メニューを描画することができる。手のメニュースライドジェスチャ(たとえば、水平方向の動き)を使用して、メニューの水平位置を一定に保ちながら、スライド可能に係合可能なユーザインタフェース(UI:user interface)要素を、メニューの水平方向の広がりに沿って移動させることができる。いくつかの態様では、メニュースライドジェスチャに実質的に直交する手の動き(たとえば、水平方向でない動き)により、メニューの位置を変更することができる。人工現実システムの実施形態は、人工現実システムと相互作用するために、両手の使用も他の入力デバイスの使用も必要とせず、したがって、従来の人工現実の実施態様に対するこの技術的改善は、使いやすさを提供すること、障害を持っている人に、システムと相互作用するための片手の使用に関係する機能、およびメニューまたは他のユーザインタフェース要素とのユーザの相互作用を正確に判断する機能を提供することなど、1つまたは複数の実用的なアプリケーションを提供することができる。
1つまたは複数の例示的な態様では、人工現実システムは、画像データを取り込むよう構成される画像取込みデバイス、人工現実コンテンツを出力するよう構成されるヘッドマウントデバイス(HMD:head mounted device)、画像データから、手が実質的に上向きである手の配置と、手の親指および手指の挟持配置とを含む、メニュー起動ジェスチャを識別するよう構成されるジェスチャ検出器、メニュー起動ジェスチャに応答して、メニューインタフェース、およびメニューインタフェースに対して第1の位置にある、スライド可能に係合可能なUI要素を生成するよう構成されるUIエンジン、ならびにHMDで表示するための人工現実コンテンツ、メニューインタフェース、およびスライド可能に係合可能なUI要素を描画するよう構成される描画エンジンを備える。
1つまたは複数のさらなる例示的な態様では、方法は、ヘッドマウントデバイス(HMD)を含む人工現実システムによって、画像取込みデバイスを介して画像データを取得すること、人工現実システムによって、画像データから、メニュー起動ジェスチャを識別することであって、メニュー起動ジェスチャが、手が実質的に上向きである手の配置と、手の親指および手指の挟持配置とを含む、メニュー起動ジェスチャを識別すること、人工現実システムによって、メニュー起動ジェスチャに応答して、メニューインタフェース、およびメニューインタフェースに対して第1の位置にある、スライド可能に係合可能なUI要素を生成すること、ならびに人工現実システムによって、HMDで表示するための人工現実コンテンツ、メニューインタフェース、およびスライド可能に係合可能なUI要素を描画することを含む。
1つまたは複数の追加の例示的な態様では、非一時的なコンピュータ可読媒体は、実行されると、人工現実システムの1つまたは複数のプロセッサに、画像取込みデバイスを介して画像データを取り込ませ、画像データから、手の配置を含むメニュー起動ジェスチャを識別させ、メニュー起動ジェスチャに応答して、メニューインタフェース、およびメニューインタフェースに対して第1の位置にある、スライド可能に係合可能なUI要素を生成させ、メニュー起動ジェスチャに続く、手の動きと組み合わせた手の配置を含む、メニュースライドジェスチャを識別させ、メニュースライドジェスチャに応答して、スライド可能に係合可能なUI要素を、メニューインタフェースに対して第2の位置に移動させ、かつヘッドマウントデバイス(HMD)で表示するための、人工現実コンテンツ、メニューインタフェース、およびスライド可能に係合可能なUI要素を描画させる命令を含む。
一例では、画像データを取り込むよう構成される画像取込みデバイス、人工現実コンテンツを出力するよう構成されるヘッドマウントディスプレイ(HMD)、画像データから、手が実質的に上向きである手の配置と、手の親指および手指の挟持配置とを含む、メニュー起動ジェスチャを識別するよう構成されるジェスチャ検出器、メニュー起動ジェスチャに応答して、メニューインタフェース、およびメニューインタフェースに対して第1の位置にある、スライド可能に係合可能なUI要素を生成するよう構成されるユーザインタフェース(UI)エンジン、ならびにHMDで表示するための人工現実コンテンツ、メニューインタフェース、およびスライド可能に係合可能なUI要素を描画するよう構成される描画エンジンを備える、人工現実システムが提供される。
いくつかの実施形態では、メニューインタフェースは、好ましくは、メニューインタフェースの広がりに沿って配列された1つまたは複数のメニューアイテムを有し、UIエンジンは、メニューインタフェースに対するスライド可能に係合可能なUI要素の位置に応じて、メニューアイテムのうちの1つを強調表示するよう構成される。
いくつかの実施形態では、1つまたは複数のメニューアイテムは、好ましくは、人工現実システム上で実行されるそれぞれのアプリケーションに対応する。
いくつかの実施形態では、ジェスチャ検出器はさらに、好ましくは、画像データから、手の動きと組み合わせた手の配置を含むメニュースライドジェスチャを識別するよう構成され、UIエンジンはさらに、メニュースライドジェスチャに応答して、スライド可能に係合可能なUI要素を、メニューインタフェースに対して第2の位置に移動させるよう構成される。
いくつかの実施形態では、メニューインタフェースは、好ましくは、メニューインタフェースの広がりに沿って配列された1つまたは複数のメニューアイテムを有し、スライド可能に係合可能なUI要素を、メニューインタフェースに対して第2の位置に移動させるために、UIエンジンは、スライド可能に係合可能なUI要素を、メニューインタフェースの広がりに沿って、メニューインタフェースに対する第2の位置へスライドさせるよう構成される。
いくつかの実施形態では、メニュースライドジェスチャは、好ましくは、実質的に第1の方向への手の動きを含み、ジェスチャ検出器は、画像データから、メニュー起動ジェスチャに続く、実質的に第2の方向への手の動きを識別するように構成され、実質的に第2の方向は、実質的に第1の方向に実質的に直交しており、UIエンジンはさらに、実質的に第2の方向への手の動きに応答して、メニューインタフェースに対するスライド可能に係合可能なUI要素の位置を維持しながら、スライド可能に係合可能なUI要素およびメニューインタフェースを移動させるよう構成される。
いくつかの実施形態では、人工現実システムは、好ましくは、1つまたは複数の人工現実アプリケーションを実行するためのアプリケーションエンジンをさらに備え、ジェスチャ検出器は、画像データから、メニュースライドジェスチャに続く選択ジェスチャを識別するよう構成され、アプリケーションエンジンは、選択ジェスチャに応答して動作を実行するよう構成される。
いくつかの実施形態では、選択ジェスチャは、好ましくは、(1)手の別の手指を動かすこと、(2)メニューインタフェースに実質的に垂直な方向へ手を移動させること、または(3)手の親指および手指がもはや挟持配置でなくなるように再配置することのうちの1つを含む。
いくつかの実施形態では、ジェスチャ検出器はさらに、好ましくは、画像データから、メニュー起動ジェスチャの前にメニュープロンプトジェスチャを識別するよう構成され、UIエンジンはさらに、メニュープロンプトジェスチャに応答して、メニュープロンプト要素を生成するよう構成される。
いくつかの実施形態では、メニュープロンプトジェスチャは、好ましくは、親指と手指との間に間隔をあけた状態で、実質的に上向きの位置に配置された手を含み、UIエンジンは、仮想の手の親指と手指との間隔にメニュープロンプト要素を生成する。
いくつかの実施形態では、メニュープロンプト要素は、好ましくは、仮想の手の親指と手指との間の線を含む。
いくつかの実施形態では、画像取込みデバイスは、好ましくは、HMDと統合される。
いくつかの例では、ヘッドマウントディスプレイ(HMD)を含む人工現実システムによって、画像取込みデバイスを介して画像データを取得すること、人工現実システムによって、画像データから、メニュー起動ジェスチャを識別することであって、メニュー起動ジェスチャが、手が実質的に上向きである手の配置と、手の親指および手指の挟持配置とを含む、メニュー起動ジェスチャを識別すること、人工現実システムによって、メニュー起動ジェスチャに応答して、メニューインタフェース、およびメニューインタフェースに対して第1の位置にある、スライド可能に係合可能なUI要素を生成すること、ならびに人工現実システムによって、HMDで表示するための人工現実コンテンツ、メニューインタフェース、およびスライド可能に係合可能なUI要素を描画することを含む方法が提供される。
いくつかの実施形態では、メニューインタフェースは、好ましくは、メニューインタフェースの広がりに沿って配列された1つまたは複数のメニューアイテムを有し、この方法は、人工現実システムによって、メニューインタフェースに対するスライド可能に係合可能なUI要素の位置に応じて、メニューアイテムのうちの1つを強調表示することをさらに含む。
いくつかの実施形態では、この方法は、好ましくは、人工現実システムによって、画像データから手の動きと組み合わせた手の配置を含むメニュースライドジェスチャを識別することと、人工現実システムによって、メニュースライドジェスチャに応答して、スライド可能に係合可能なUI要素を、メニューインタフェースに対して第2の位置に移動させることとをさらに含む。
いくつかの実施形態では、スライド可能に係合可能なUI要素を、メニューインタフェースに対して第2の位置に移動させることが、好ましくは、スライド可能に係合可能なUI要素を、メニューインタフェースの広がりに沿ってメニューインタフェースに対する第2の位置へスライドさせることを含む。
いくつかの実施形態では、メニュースライドジェスチャは、好ましくは、実質的に第1の方向への手の動きを含み、この方法は、人工現実システムによって、画像データから、メニュー起動ジェスチャに続く、実質的に第2の方向への手の動きを識別することであって、実質的に第2の方向は、実質的に第1の方向に実質的に直交している、第2の方向への手の動きを識別することと、人工現実システムによって、実質的に第2の方向への手の動きに応答して、メニューインタフェースに対するスライド可能に係合可能なUI要素の位置を維持しながら、スライド可能に係合可能なUI要素およびメニューインタフェースを移動させることとをさらに含む。
いくつかの実施形態では、この方法は、好ましくは、人工現実システムによって、画像データからメニュープロンプトジェスチャを識別することと、人工現実システムによって、メニュープロンプトジェスチャに応答して、メニュープロンプト要素を生成することとをさらに含む。
いくつかの例では、実行されると、人工現実システムの1つまたは複数のプロセッサに、画像取込みデバイスを介して画像データを取り込ませ、画像データから、手の配置を含むメニュー起動ジェスチャを識別させ、メニュー起動ジェスチャに応答して、メニューインタフェース、およびメニューインタフェースに対して第1の位置にある、スライド可能に係合可能なUI要素を生成させ、メニュー起動ジェスチャに続く、手の動きと組み合わせた手の配置を含む、メニュースライドジェスチャを識別させ、メニュースライドジェスチャに応答して、スライド可能に係合可能なUI要素を、メニューインタフェースに対して第2の位置に移動させ、かつヘッドマウントディスプレイ(HMD)で表示するための、人工現実コンテンツ、メニューインタフェース、およびスライド可能に係合可能なUI要素を描画させる命令を含む、非一時的なコンピュータ可読媒体が提供される。
命令がさらに、1つまたは複数のプロセッサに、画像データから、親指と手指との間に間隔をあけた状態で、実質的に上向きの位置に配置された手を含む、メニュープロンプトジェスチャを識別させ、かつメニュープロンプトジェスチャに応答して、仮想の手の親指と手指との間隔にメニュープロンプト要素を生成させる、請求項19に記載の非一時的なコンピュータ可読媒体。
本開示の1つまたは複数の例または実施形態に組み込むのに好適であると説明されている本開示の特徴は、本開示のありとあらゆる例および実施形態にわたって、一般化できることを意図していることが理解されよう。この開示の技法の1つまたは複数の例の詳細が、添付図面および以下の説明に示されている。技法の他の特徴、目的、および利点は、説明および図面から、ならびに特許請求の範囲から明らかとなろう。
本開示の技法による、人工現実環境内のユーザインタフェース要素を提示および制御する、例示的な人工現実システムを示す図である。 本開示の技法による、別の例示的な人工現実システムを示す図である。 本開示の技法にしたがって動作する、例示的なHMDを示す図である。 図1A、図1Bの人工現実システムのコンソールおよびHMDの、例示的な実施態様を示す構成図である。 本開示の技法による、図1A、図1Bの人工現実システムのHMDによって、ジェスチャ検出およびユーザインタフェース生成が実行される例を示す構成図である。 本開示の態様による、メニュープロンプトまたはUIメニューを起動する、例示的な方法の動作を示す流れ図である。 本開示の態様による、UIメニューを位置決めし、UIメニューと相互作用する、例示的な方法の動作を示す流れ図である。 本開示の態様による、UIメニューの位置決めおよびUIメニューとの相互作用を示す、例示的なHMDディスプレイの図である。 本開示の態様による、UIメニューの位置決めおよびUIメニューとの相互作用を示す、例示的なHMDディスプレイの図である。 本開示の態様による、UIメニューの位置決めおよびUIメニューとの相互作用を示す、例示的なHMDディスプレイの図である。 本開示の態様による、UIメニューの位置決めおよびUIメニューとの相互作用を示す、例示的なHMDディスプレイの図である。 本開示の態様による、UIメニューの位置決めおよびUIメニューとの相互作用を示す、例示的なHMDディスプレイの図である。 本開示の態様による、UIメニューの位置決めおよびUIメニューとの相互作用を示す、例示的なHMDディスプレイの図である。 本開示の態様による、UIメニューの位置決めおよびUIメニューとの相互作用を示す、例示的なHMDディスプレイの図である。 本開示の態様によるメニュープロンプトを示す、例示的なHMDディスプレイの図である。
同じ参照符号は、図および説明全体を通して、同じ要素を指す。
図1Aは、本開示の技法による、人工現実環境内のユーザインタフェース要素を提示および制御する、例示的な人工現実システム10を示す図である。いくつかの例示的な実施態様では、人工現実システム10は、ユーザ110が実行する1つまたは複数のジェスチャの検出に応答して、グラフィカルユーザインタフェース要素を生成し、ユーザ110に対して描画する。すなわち、本明細書で説明されるように、人工現実システム10は、ユーザの手、手指、親指、または腕の特定の動き、配置、場所、および/または向きなど、ユーザ110が実行する1つまたは複数の特定のジェスチャの検出に応答して、1つまたは複数のグラフィカルユーザインタフェース要素124、126を提示する。他の例では、人工現実システム10は、特殊なトグル要素、ドロップダウン要素、メニュー選択要素、グラフィカル入力キーまたはキーボード、コンテンツ表示ウィンドウなど、人工現実環境内でのユーザとの相互作用および操作用に特別に設計されたユーザインタフェース要素を提示および制御する。
図1Aの例では、人工現実システム10は、ヘッドマウントデバイス(HMD:head mounted device)112、コンソール106、およびいくつかの例では、1つまたは複数の外部センサ90を備えている。図示のように、HMD112は、通常、ユーザ110が着用し、人工現実コンテンツ122をユーザ110に提示する電子ディスプレイおよび光学組立体を備えている。加えて、HMD112は、HMD112の動きを追跡する1つまたは複数のセンサ(たとえば、加速度計)を備え、また周囲の物理的環境の画像データを取り込む、1つまたは複数の画像取込みデバイス138、たとえば、カメラ、ラインスキャナなどを備えることができる。この例では、コンソール106は、ゲーム機、ワークステーション、デスクトップコンピュータ、またはラップトップなど、ただ1つのコンピュータ処理デバイスとして示されている。他の例では、コンソール106は、分散型コンピュータ処理ネットワーク、データセンタ、またはクラウドコンピュータ処理システムなど、複数のコンピュータ処理デバイスに分散されていてもよい。コンソール106、HMD112、およびセンサ90は、この例に示されているように、ネットワーク104を介して通信可能に結合することができ、ネットワークは、WiFi、メッシュネットワーク、または短距離無線通信媒体などの有線または無線ネットワークであり得る。この例では、HMD112は、コンソール106と通信する、たとえば、コンソール106と繋がっているか、または無線通信するように示されているが、いくつかの実施態様では、HMD112は、独立型の携帯人工現実システムとして動作する。
一般に、人工現実システム10は、実世界の3D物理的環境から取り込まれた情報を使用して、ユーザ110に対して表示するための人工現実コンテンツ122を描画する。図1Aの例では、ユーザ110は、コンソール106および/またはHMD112上で人工現実アプリケーションを実行することによって構築および描画される、人工現実コンテンツ122を観察する。一例として、人工現実コンテンツ122は、ユーザ110が、1つまたは複数の仮想物体128A、128Bと共に、アバター120として描画される、民生ゲームアプリケーションであり得る。いくつかの例では、人工現実コンテンツ122には、実世界の形象と仮想物体との混在、たとえば、複合現実および/または拡張現実が含まれ得る。他の例では、人工現実コンテンツ122は、たとえば、ビデオ会議アプリケーション、ナビゲーションアプリケーション、教育アプリケーション、訓練もしくはシミュレーションアプリケーション、または人工現実を実装する他の種類のアプリケーションであり得る。
人工現実アプリケーションは、動作中、基準フレーム、通常はHMD112の観察視点に対するポーズ情報を追跡および計算することによって、ユーザ110に対して表示する人工現実コンテンツ122を構築する。基準フレームとしてHMD112を使用し、HMD112の現在の推定ポーズによって判断される現在の視野130に基づいて、人工現実アプリケーションは、いくつかの例では、ユーザ110の実世界での3D物理的環境の上に少なくとも部分的に重畳され得る、3D人工現実コンテンツを描画する。この処理中に、人工現実アプリケーションは、HMD112から受け取った動き情報およびユーザコマンドなどの感知されたデータ、ならびにいくつかの例では、外部カメラなどの任意の外部センサ90からのデータを使用して、実世界の物理的環境内での、ユーザ110の動きおよび/またはユーザ110に関する特徴追跡情報などの3D情報を取り込む。感知されたデータに基づいて、人工現実アプリケーションは、HMD112の基準フレームの現在のポーズを判断し、現在のポーズにしたがって、人工現実コンテンツ122を描画する。
さらに、この開示の技法によれば、人工現実アプリケーションは、感知されたデータに基づいて、ユーザ110が実行するジェスチャを検出し、1つまたは複数の特定のジェスチャの検出に応答して、ユーザに提示されている、下にある人工現実コンテンツ122上に重畳され得る、1つまたは複数のユーザインタフェース要素、たとえば、UIメニュー124およびUI要素126を生成する。この点に関して、ユーザインタフェース要素124、126は、人工現実環境でユーザに提示されている人工現実コンテンツ122の一部と見ることができる。このようにして、人工現実システム10は、ユーザの手、手指、親指、または腕の特定の動き、配置、位置、および/または向きなど、ユーザ110による1つまたは複数の特定のジェスチャの検出に応答して、1つまたは複数のグラフィカルユーザインタフェース要素124、126を動的に提示する。ユーザの手の例示的な配置には、拳、伸ばした1本または複数本の指、手の個々の指のうちの1本または複数本の相対的および/または絶対的位置および向き、手のひらの形状などが含まれ得る。ユーザインタフェース要素は、たとえば、ユーザ110が人工現実システムを動作させるために相互作用するメニューもしくはサブメニューなどのグラフィカルユーザインタフェース、またはアイコン要素、トグル要素、ドロップダウン要素、メニュー選択要素、2次元または3次元形状、グラフィカル入力キーもしくはキーボード、コンテンツ表示ウィンドウなどの、ユーザ110が選択可能かつ操作可能な個々のユーザインタフェース要素であり得る。UI要素126は、2次元要素として描かれているが、たとえば、ユーザが、人工現実環境において形状を平行移動、拡大縮小、および/または回転させる、ジェスチャを実行することによって操作可能な2次元または3次元形状であってもよい。
さらに、本明細書で説明されているように、いくつかの例では、人工現実システム10は、システムが実行している1つもしくは複数のアプリケーションの現在の状態、または物理的環境において、リアルタイムでのユーザの視線追跡によって判断され得る、ユーザ110の現在の視野130に対して検出された特定のジェスチャの位置および向き、もしくは他の条件など、他の条件に応答してグラフィカルユーザインタフェース要素124、126の生成および描画をトリガすることができる。
より具体的には、本明細書でさらに説明されているように、HMD112の画像取込みデバイス138は、画像取込みデバイス138の視野130内にある実世界の物理的環境内の物体を表す画像データを取り込む。視野130は、通常、HMD112の観察視点に対応する。図1Aに示されている例などのいくつかの例では、人工現実アプリケーションは、視野130内にあるユーザ110の手132の部分を、人工現実コンテンツ122内の仮想の手136として描画する。他の例では、人工現実アプリケーションは、複合現実および/または拡張現実を含む人工現実コンテンツ122内で、ユーザ110の手132および/または腕134の実世界画像を提示することができる。いずれの例においても、ユーザ110は、視野130内にあるユーザの手132および/または腕134の部分を、人工現実コンテンツ122内の物体として観察することができる。他の例では、人工現実アプリケーションは、ユーザの手132または腕134の表現を描画しない場合がある。
いずれにせよ、人工現実システム10は、動作中、HMD112の画像取込みデバイス138によって取り込まれた画像データ内で物体認識を実行して、手132を識別する。この識別は、オプションで、個々の手指もしくは親指、および/またはユーザ110の腕134の全部または一部を識別することを含む。さらに、人工現実システム10は、時間のスライディングウィンドウにわたって、手132(オプションで、手の特定の指を含む)および/または腕134の部分の位置、向き、および配置を追跡する。人工現実アプリケーションは、追跡される手132および/または腕134の部分の任意の動き、配置、位置、および/または向きを分析し、特定の物体、たとえばユーザ110の手132(手の特定の指を含む)および/または腕134の部分を使って実行される、1つまたは複数のジェスチャを識別する。人工現実アプリケーションは、ジェスチャを検出するために、手132および/または腕134の部分の動き、配置、位置、および/または向きを、人工現実システム10のジェスチャライブラリに記憶されたジェスチャの定義と比較することができ、ジェスチャライブラリ内の各ジェスチャは、1つまたは複数の動作にマッピングされ得る。いくつかの例では、動きの検出には、物理的環境で、指(人差し指および親指など)の定義された組合せのいずれかが、くっついて触れるまたはほぼ触れるかどうかを含む、手132の1本または複数本の指(個々の手指および親指)の位置を追跡することが含まれ得る。他の例では、動きの検出には、HMD112の現在のポーズに対する手132の向き(たとえば、HMD112の方を、もしくはHMD112とは反対の方を指す手指)、および/または腕134の向き(すなわち、HMD112の方に向く腕の法線)を追跡することが含まれ得る。ユーザの手132(または手の一部)の位置および向きは、あるいは、手132(または手の一部)のポーズと呼ばれ得る。
さらに、人工現実アプリケーションは、手132および/または腕134の配置、位置、および/または向きを分析し、少なくとも閾値期間にわたって1つまたは複数の特定の配置、位置、および/または向きに保持されている手132および/または腕134を含む、ジェスチャを識別することができる。人工現実システム10は、例として、手132および/または腕134が視野130内で少なくとも設定可能な期間、実質的に静止状態で保持されている1つまたは複数の特定の位置を、ユーザ110が、メニューなどの特定の種類のユーザインタフェース要素124、126の表示をトリガすることなど、人工現実アプリケーションによる所望の応答をトリガすることを意図したジェスチャを、実行しようとしていることを示すものとして使用することができる。人工現実システム10は、別の例として、少なくとも設定可能な期間、視野130内に維持されている手132の手指および/もしくは手のひら、ならびに/または腕134の1つまたは複数の特定の配置を、ユーザ110がジェスチャを実行しようとしていることを示すものとして使用することができる。図1Aには、ユーザ110の右手132および右腕134しか示されていないが、他の例では、人工現実システム10は、ユーザ110の左手および/もしくは左腕、またはユーザ110の左右両手および/もしくは両腕を識別することができる。このようにして、人工現実システム10は、物理的環境内で、どちらかの手で実行される片手ジェスチャ、両手ジェスチャ、または腕ベースのジェスチャを検出し、検出されたジェスチャに応答して、関連するユーザインタフェース要素を生成することができる。
この開示の技法によれば、人工現実アプリケーションは、識別されたジェスチャが、コンソール106および/またはHMD112のジェスチャライブラリ内の複数のエントリのうちの1つによって定義されたジェスチャに相当するかどうかを判断する。以下でより詳細に説明されるように、ジェスチャライブラリのエントリはそれぞれ、相異なるジェスチャを、ユーザの手、指(手指もしくは親指)、および/もしくは腕の、時間の経過に伴う特定の動き、配置、位置、および/もしくは向き、またはかかるプロパティの組合せとして定義することができる。加えて、定義されたジェスチャはそれぞれ、人工現実アプリケーションによって実行されるべき1つまたは複数の動作の形で、所望の応答に関連づけられ得る。一例として、ジェスチャライブラリ内の1つまたは複数の定義されたジェスチャは、1つまたは複数のユーザインタフェース要素、たとえば、UIメニュー124の生成、変形、および/または配置をトリガして、人工現実コンテンツ122上に描画および重畳することができる。ここで、ジェスチャは、人工現実コンテンツ122内のUIメニュー124の位置および/または向きを定義することができる。別の例として、定義されたジェスチャのうちの1つまたは複数は、提示されたユーザインタフェースの変更、提示されたユーザインタフェースのサブメニューの提示などをトリガするための、ユーザ110の特定のユーザインタフェース要素との相互作用、たとえば、UIメニュー124のUI要素126の選択を示すことができる。
いくつかの態様では、人工現実アプリケーションは、手132および/または腕134の配置、位置、および/または向きを分析し、少なくとも閾値期間にわたって特定の配置および向きに保たれている手132を含む、メニュー起動ジェスチャを識別することができる。いくつかの態様では、メニュー起動ジェスチャは、たとえば、手の手指および親指を挟持配置にしながら、実質的に上向きの位置に保たれている手であり得る。いくつかの態様では、メニュー起動ジェスチャは、手の向きに関わらず、挟持配置に置かれた手の手指および親指を含むことができる。メニュースライドジェスチャは、メニューがスライド方向に静止状態で保持されている間に、ユーザの手に応じて動く仮想の手を、UIメニュー124の広がりに沿ってスライドさせることができる。メニュースライドジェスチャ以外の方向への動きにより、UIメニュー124が、動きに基づいて位置変更され得る。一例として、メニュースライドジェスチャは、メニュー起動ジェスチャを持続しながらの、水平方向へのユーザの手132の動きであり得る。仮想の手136は、メニューが水平方向に静止状態で保持されている間に、水平方向の広がりに沿って移動させることができる。いくつかの例では、人工現実アプリケーションは、仮想の手136に加えて、または仮想の手136の代わりに、スライド可能に係合可能なUI要素(図1には示されていない)を生成する。垂直方向に移動させることにより、UIメニュー124が位置変更され得る。
メニュー起動ジェスチャを持続しながらのメニュースライドジェスチャにより、人工現実アプリケーションは、ユーザが、仮想の手132を、たとえばUIメニュー124の別のメニューアイテムの近くの別の場所にスライドさせるための、メニュースライドジェスチャをさらに実行することなしに、選択ジェスチャを実行するつもりである場合、UIメニュー124の特定のメニューアイテムが選択されることになるという指示を描画することができる。そうした特定のメニューは、ユーザが選択できるように準備される。この指示は、メニューアイテムの近くにある仮想の手132もしくはスライド可能に係合可能なUI要素の場所、たとえば相異なる色を使ったメニューアイテムの強調表示、メニューアイテムの拡大、または他の何らかの指示であり得る。
したがって、本開示の技法は、人工現実システムによってコンテンツを描画および表示するコンピュータ関連分野への、特定の技術的改善をもたらす。たとえば、本明細書に記載の人工現実システムは、ユーザが実行する直感的でありながらも独特のジェスチャの検出に基づいて、人工現実コンテンツに重畳されたユーザインタフェース要素を生成および描画することによって、ユーザ110などのユーザに、人工現実アプリケーションの高品質の人工現実体験を提供することができる。より具体的には、この技法は、ユーザがメニューインタフェースを有効にし、その後、メニューの広がりに沿って、スライド可能に係合可能なUI要素、またはユーザが選択できるように準備されたメニューアイテムの他の指示を移動させることができるジェスチャの形の、直感的なユーザ入力をユーザに提供することができる。
さらに、本明細書に記載のシステムは、隠れてしまうもの(occlusion)の追跡を回避するよう定義された手および腕の動きに基づいて、所定のジェスチャを検出するよう構成され得る。隠れてしまうものの追跡は、ユーザの一方の手が他方の手と少なくとも部分的に重なっている場合に起きることがあり、それぞれの手の個々の指(手指および親指)ばかりでなく、それぞれの手の位置および向きを正確に追跡することを困難にする。したがって、本明細書で説明されているシステムは、主に片手または片腕ベースのジェスチャを検出するよう構成され得る。片手または片腕ベースのジェスチャを使用すると、大きい運動技能および細かい運動技能に制限があるユーザにとって、利用し易さがさらに向上する可能性がある。さらに、本明細書に記載のシステムは、ユーザの手が、相互作用するかまたは互いに重なることのない、両手または両腕ベースのジェスチャを検出するよう構成され得る。
加えて、本明細書に記載のシステムは、ユーザに自己触覚型フィードバックを与えるジェスチャを検出するよう構成され得る。たとえば、ユーザのそれぞれの手の親指および1本または複数本の手指は、人工現実コンテンツの特定のユーザインタフェース要素との相互作用を示す事前定義されたジェスチャの一部として、物理的世界で触れるか、またはほぼ触れることができる。ユーザの手の親指と1本または複数本の手指との間の接触は、ユーザが、物理的キーボードまたは他の物理的入力デバイス上の釦などの、物理的ユーザ入力物体と直接相互作用するときに感じる、感覚のシミュレーションをユーザに与えることができる。
図1Bは、本開示の技法による別の例示的な人工現実システム20を示す図である。図1Aの人工現実システム10と同様に、いくつかの例では、図1Bの人工現実システム20は、人工現実環境内でのユーザの相互作用および操作のために特別に設計された、ユーザインタフェース要素を提示および制御することができる。人工現実システム20はまた、様々な例において、ユーザの1つまたは複数の特定のジェスチャの検出に応答して、所定のグラフィカルユーザインタフェース要素を生成し、ユーザに対して描画することができる。
図1Bの例では、人工現実システム20は、外部カメラ102Aおよび102B(総称して「外部カメラ102」)、HMD112A~112C(総称して「HMD112」)、コントローラ114Aおよび114B(総称して「コントローラ114」)、コンソール106、およびセンサ90を備える。図1Bに示されているように、人工現実システム20は、コンソール106および/またはHMD112上で実行される人工現実アプリケーションが、ユーザ110A~110C(総称して「ユーザ110」)のそれぞれに、それぞれのユーザに対応する基準フレームの現在の観察視点に基づいて人工現実コンテンツを提示する、マルチユーザ環境を示している。すなわち、この例では、人工現実アプリケーションは、HMD112ごとの基準フレームのポーズ情報を追跡および計算することによって、人工コンテンツを構築する。人工現実システム20は、HMD112の対応する基準フレームの更新されたポーズ情報を計算するのに使用するために、カメラ102、HMD112、およびコントローラ114から受け取ったデータを使用して、ユーザ110の動きなど、実世界環境内の3D情報を、かつ/またはユーザ110および物体108に関する追跡情報を取り込む。一例として、人工現実アプリケーションは、HMD112Cについて判断された現在の観察視点に基づいて、実世界の物体108A~108C(総称して「実世界の物体108」)上に空間的に重畳される、仮想物体128A~128C(総称して「仮想物体128」)を有する人工現実コンテンツ122を描画することができる。さらに、人工現実システム20は、HMD112Cの視点から、ユーザ110A、110Bのそれぞれの推定位置に基づいて、アバター120A、120Bを描画する。
HMD112のそれぞれは、人工現実システム20内で同時に動作する。図1Bの例では、ユーザ110のそれぞれは、人工現実アプリケーションの「プレーヤ」または「参加者」であってもよく、ユーザ110のいずれも、人工現実アプリケーションの「観客」または「観察者」であってもよい。HMD112Cはユーザ110Cの手132および/または腕134を追跡し、視野130内にある手132の部分を人工現実コンテンツ122内の仮想の手136として描画することによって、図1AのHMD112と実質的に同様に動作することができる。HMD112Bは、ユーザ110Bが保持しているコントローラ114Aから、ユーザ入力を受け取ることができる。HMD112Aはまた、図1AのHMD112と実質的に同様に動作し、ユーザ110Aの手132A、132Bによって、ジェスチャの形のユーザ入力を受け取ることができる。HMD112Bは、ユーザ110Bが保持しているコントローラ114から、ユーザ入力を受け取ることができる。コントローラ114は、ブルートゥースなどの短距離無線通信である近距離通信を使用して、有線通信リンクを使用して、または別の種類の通信リンクを使用して、HMD112Bと通信することができる。
図1Aに関して上記で論じられた例と同様のやり方で、人工現実システム20のコンソール106および/またはHMD112Cは、ユーザ110Cに対して表示される人工現実コンテンツ122上に重畳され得る、ユーザインタフェース要素124、126を生成および描画する。さらに、コンソール106および/またはHMD112Cは、ポーズの追跡による、ユーザ110Cが実行する直感的でありながらも独特のジェスチャの検出に基づいて、ユーザインタフェース要素124、126の生成および動的な表示をトリガすることができる。人工現実システム20は、たとえば、ユーザの手、手指、親指、または腕の特定の動き、配置、位置、および/または向きなど、ユーザ110Cによる1つまたは複数の特定のジェスチャの検出に応答して、1つまたは複数のグラフィカルユーザインタフェース要素124、126を動的に提示することができる。図1Bに示されているように、HMD112Cのカメラ138を介して取り込まれた画像データに加えてまたはあるいは、外部カメラ102からの入力データを使用して、手の個々の指(手指、親指)および/または指の組合せの動きを含む、ユーザ110Cの手132などのユーザ110の手および腕の特定の動き、配置、位置、および/または向きを追跡および検出することができる。
いくつかの態様では、人工現実アプリケーションは、コンソール106上で実行することができ、画像取込みデバイス102Aおよび102Bを利用して、手132Bの配置、位置、および/または向きを分析し、HMD112Aのユーザによって実行され得るメニュープロンプトジェスチャ、メニュー起動ジェスチャ、メニュースライドジェスチャ、選択ジェスチャ、またはメニュー位置決めの動きなどを識別することができる。同様に、HMD112Cは、画像取込みデバイス138を利用して、手132Cの配置、位置、および/または向きを分析し、HMD112Cのユーザによって実行され得るメニュープロンプトジェスチャ、メニュー起動ジェスチャ、メニュースライドジェスチャ、選択ジェスチャ、またはメニュー位置決めの動きなどを識別することができる。人工現実アプリケーションは、図1Aに関して上記で説明されたのと同様のやり方で、かかるジェスチャに応答して、UIメニュー124および仮想の手136を描画することができる。
図2は、本開示の技法にしたがって動作するよう構成された、例示的なHMD112を示す図である。図2のHMD112は、図1Aおよび図1BのHMD112のいずれの例でもあり得る。HMD112は、図1A、図1Bの人工現実システム10、20などの人工現実システムの一部であり得るか、または本明細書に記載の技法を実施するよう構成された、独立型の携帯人工現実システムとして動作することができる。
この例では、HMD112は、HMD112をユーザに固定するための前部剛体およびバンドを備える。加えて、HMD112は、人工現実コンテンツをユーザに提示するよう構成された、内側に向く電子ディスプレイ203を備える。電子ディスプレイ203は、液晶ディスプレイ(LCD:liquid crystal display)、量子ドットディスプレイ、ドットマトリックスディスプレイ、発光ダイオード(LED:light emitting diode)ディスプレイ、有機発光ダイオード(OLED:organic light-emitting diode)ディスプレイ、陰極線管(CRT:cathode ray tube)ディスプレイ、電子ペーパ、または視覚出力を生成できる白黒、カラー、もしくは他の任意の種類のディスプレイなどの、任意の好適なディスプレイ技術であり得る。いくつかの例では、電子ディスプレイは、ユーザのそれぞれの目に別々の画像を提示する、立体視ディスプレイである。いくつかの例では、HMD112およびユーザの現在の観察視点にしたがって人工現実コンテンツを描画するために、HMD112の位置および向きを追跡するときに、HMD112の前部剛体に対するディスプレイ203の既知の向きおよび位置が、ローカル原点とも呼ばれる、基準フレームとして使用される。他の例では、HMD112は、眼鏡またはゴーグルなどの他の着用可能なヘッドマウントディスプレイの形式をとることができる。
図2にさらに示されているように、この例では、HMD112は、HMD112の現在の加速度を示すデータを出力する、1つもしくは複数の加速度計(慣性測定ユニットまたは「IMU:inertial measurement unit」とも呼ばれる)などの、1つもしくは複数の動きセンサ206、HMD112の場所を示すデータを出力するGPSセンサ、様々な物体からHMD112の距離を示すデータを出力するレーダもしくはソナー、またはHMD112または物理環境内の他の物体の場所もしくは向きを示す他のセンサをさらに備える。さらに、HMD112は、ビデオカメラ、レーザスキャナ、ドップラレーダスキャナ、深度スキャナなどの、統合された画像取込みデバイス138Aおよび138B(総称して「画像取込みデバイス138」)を備えることができ、画像取込みデバイスは、物理的環境を表す画像データを出力するよう構成されている。より具体的には、画像取込みデバイス138は、通常、HMD112の観察視点に相当する、画像取込みデバイス138の視野130A、130B内にある、物理的環境内の物体を表す画像データを取り込む。HMD112は、内部電源と、1つまたは複数のプロセッサ、メモリ、およびハードウェアを備え、感知されたデータを処理し、人工現実コンテンツをディスプレイ203上に提示する、プログラム可能な動作を実行する動作環境を提供する、1つまたは複数のプリント回路基板とを備えることができる、内部制御ユニット210を備える。
一例では、本明細書に記載の技法によれば、制御ユニット210は、感知されたデータに基づいて、ユーザが実行する特定のジェスチャまたはジェスチャの組合せを識別し、それに応答して動作を実行するよう構成される。制御ユニット210は、たとえば、識別した1つのジェスチャに応答して、電子ディスプレイ203上に表示するための、人工現実コンテンツ上に重畳される特定のユーザインタフェース要素を生成および描画することができる。本明細書で説明されているように、本開示の技法によれば、制御ユニット210は、画像取込みデバイス138によって取り込まれた画像データ内の物体認識を実行して、手132、手指、親指、腕、またはユーザの別の一部を識別し、ユーザが実行する事前定義されたジェスチャを識別するために、識別された部分の動き、位置、配置などを追跡することができる。事前定義されたジェスチャの識別に応答して、制御ユニット210は、ユーザインタフェース要素に関連づけられたオプションのセットからオプションを選択する、ジェスチャを入力(たとえば、文字)に変換する、アプリケーションを起動する、さもなければコンテンツを表示するなど、何らかの動作を行う。いくつかの例では、制御ユニット210は、ユーザインタフェースを示すための「トリガ」として指定された、事前定義されたジェスチャを検出するのに応答して、メニューなどのユーザインタフェース要素を動的に生成および提示する。他の例では、制御ユニット210は、コンソール106などの外部デバイスからの指図に応答して、物体認識、動き追跡、およびジェスチャ検出、またはそれらの任意の部分を実行することができる、かかる機能を実行する。
一例として、制御ユニット210は、画像取込みデバイス138Aおよび138Bを利用して、手132および/または腕134の配置、位置、動き、および/または向きを分析し、HMD112のユーザによって実行され得るメニュープロンプトジェスチャ、メニュー起動ジェスチャ、メニュースライドジェスチャ、選択ジェスチャ、またはメニュー位置決めの動きなどを識別することができる。制御ユニット210は、メニュープロンプトジェスチャ、メニュー起動ジェスチャ、メニュースライドジェスチャ、選択ジェスチャ、およびメニュー位置決めの動きの検出に基づいて、UIメニュー、スライド可能に係合可能なUI要素、および/または仮想の手を描画することができる。
図3は、図1A、図1Bの人工現実システム10、20のコンソール106およびHMD112の例示的な実施態様を示す構成図である。図3の例では、コンソール106は、HMD112および/または外部センサから受け取った動きデータおよび画像データなどの感知されたデータに基づいて、本明細書に記載の技法による、ポーズ追跡、ジェスチャ検出、およびHMD112用ユーザインタフェースの生成および描画を実行する。
この例では、HMD112は、いくつかの例において、たとえば、組込み型のリアルタイムマルチタスクオペレーティングシステム、または他の種類のオペレーティングシステムであり得る、オペレーティングシステム305を実行するためのコンピュータプラットフォームを提供する、1つまたは複数のプロセッサ302およびメモリ304を備えている。次に、オペレーティングシステム305は、アプリケーションエンジン340を含む1つまたは複数のソフトウェア構成要素307を実行する、マルチタスク動作環境を提供する。図2の例に関して論じられたように、プロセッサ302は、電子ディスプレイ203、動きセンサ206、および画像取込みデバイス138に結合されている。いくつかの例では、プロセッサ302およびメモリ304は、別個の離散した構成要素であり得る。他の例では、メモリ304は、ただ1つの集積回路内にプロセッサ302と併置されたオンチップメモリであってもよい。
コンソール106は、概ね、カメラ102(図1B)および/またはHMD112から受け取った画像および追跡情報を処理して、ジェスチャ検出およびHMD112用ユーザインタフェース生成を実行する、コンピュータ処理デバイスである。いくつかの例では、コンソール106は、ワークステーション、デスクトップコンピュータ、ラップトップ、またはゲームシステムなどの、ただ1つのコンピュータ処理デバイスである。いくつかの例では、プロセッサ312および/またはメモリ314などのコンソール106の少なくとも一部は、クラウドコンピュータ処理システム、データセンタにわたって、またはインターネット、別の公衆もしくは専用通信ネットワーク、たとえば、コンピュータ処理システム、サーバ、およびコンピュータ処理デバイス間でデータを伝送するための広帯域、移動体通信、Wi-Fi、および/または他の種類の通信ネットワークなどの、ネットワークにわたって分散されていてもよい。
図3の例では、コンソール106は、いくつかの例において、たとえば、組込み型のリアルタイムマルチタスクオペレーティングシステム、または他の種類のオペレーティングシステムであり得る、オペレーティングシステム316を実行するためのコンピュータプラットフォームを提供する、1つまたは複数のプロセッサ312およびメモリ314を備えている。次に、オペレーティングシステム316は、1つまたは複数のソフトウェア構成要素317を実行するための、マルチタスク動作環境を提供する。プロセッサ312は、1つまたは複数のI/Oインタフェース315に結合され、キーボード、ゲームコントローラ、ディスプレイデバイス、画像取込みデバイス、HMDなどの外部デバイスと通信するための、1つまたは複数のI/Oインタフェースを提供する。さらに、1つまたは複数のI/Oインタフェース315には、ネットワーク104などのネットワークと通信する、1つまたは複数の有線または無線ネットワークインタフェースコントローラ(NIC:network interface controller)が含まれ得る。プロセッサ302、312のそれぞれには、マルチコアプロセッサ、コントローラ、デジタル信号プロセッサ(DSP:digital signal processor)、特定用途向け集積回路(ASIC:application specific integrated circuit)、フィールドプログラマブルゲートアレイ(FPGA:field-programmable gate array)、または同等の離散した、もしくは集積論理回路のうちの任意の1つまたは複数が含まれ得る。メモリ304、314には、ランダムアクセスメモリ(RAM:random-access memory)、読取り専用メモリ(ROM:read only memory)、プログラム可能な読取り専用メモリ(PROM:programmable read only memory)、消去可能でプログラム可能な読取り専用メモリ(EPROM:erasable programmable read only memory)、電子的に消去可能でプログラム可能な読取り専用メモリ(EEPROM:electronically erasable programmable read only memory)、およびフラッシュメモリなどの、データおよび実行可能なソフトウェア命令を記憶する任意の形式のメモリが含まれ得る。
コンソール106のソフトウェアアプリケーション317は、全体的な人工現実アプリケーションを提供するよう動作する。この例では、ソフトウェアアプリケーション317は、アプリケーションエンジン320、描画エンジン322、ジェスチャ検出器324、ポーズ追跡器326、およびユーザインタフェースエンジン328を有している。
アプリケーションエンジン320は、概して、人工現実アプリケーション、たとえば、電話会議アプリケーション、ゲームアプリケーション、ナビゲーションアプリケーション、教育アプリケーション、訓練またはシミュレーションアプリケーションなどを提供し、提示する機能を有している。アプリケーションエンジン320は、たとえば、コンソール106上で人工現実アプリケーションを実施するための1つまたは複数のソフトウェアパッケージ、ソフトウェアライブラリ、ハードウェアドライバ、および/またはアプリケーションプログラムインタフェース(API:Application Program Interface)を含むことができる。アプリケーションエンジン320による制御に応答して、描画エンジン322は、HMD112のアプリケーションエンジン340によってユーザに対して表示する、3D人工現実コンテンツを生成する。
アプリケーションエンジン320および描画エンジン322は、ポーズ追跡器326によって判断される基準フレーム、典型的にはHMD112の観察視点での現在のポーズ情報にしたがって、ユーザ110に対して表示する人工コンテンツを構築する。現在の観察視点に基づいて、描画エンジン322は、場合によっては少なくとも部分的に、ユーザ110の実世界の3D環境に重畳され得る、3Dの人工現実コンテンツを構築する。この処理中に、ポーズ追跡器326は、HMD112から受け取った動き情報およびユーザコマンドなどの感知されたデータ、ならびにいくつかの例では、外部カメラなどの任意の外部センサ90(図1A、図1B)からのデータに基づいて動作し、実世界の環境内での、ユーザ110の動きおよび/またはユーザ110に関する特徴追跡情報などの3D情報を取り込む。ポーズ追跡器326は、感知されたデータに基づいて、HMD112の基準フレームでの現在のポーズを判断し、現在のポーズにしたがって人工現実コンテンツを構築し、ユーザ110に対して表示するために、1つまたは複数のI/Oインタフェース315を介してHMD112と通信する。
さらに、ジェスチャ検出器324は、感知されたデータに基づいて、ユーザの物体(たとえば、手、腕、手首、手指、手のひら、親指)の追跡された動き、配置、位置、および/または向きを分析し、ユーザ110が実行する1つまたは複数のジェスチャを識別する。より具体的には、ジェスチャ検出器324は、HMD112の画像取込みデバイス138ならびに/またはセンサ90および外部カメラ102によって取り込まれた、画像データ内で認識された物体を分析し、ユーザ110の手および/または腕を識別し、HMD112に対する手および/または腕の動きを追跡して、ユーザ110が実行するジェスチャを識別する。ジェスチャ検出器324は、取り込まれた画像データに基づいて、手、指、および/または腕の位置および向きの変化を含む動きを追跡し、物体の動きベクトルをジェスチャライブラリ330内の1つまたは複数のエントリと比較して、ユーザ110が実行するジェスチャまたはジェスチャの組合せを検出することができる。ジェスチャライブラリ330内の一部のエントリはそれぞれ、ジェスチャを、ユーザの手、特定の手指、親指、手首、および/または腕の相対的経路または空間的平行移動および回転などの、一連の動きまたは動きのパターンとして定義することができる。ジェスチャライブラリ330内の一部のエントリはそれぞれ、ジェスチャを、特定の時間の、または一定期間にわたる、ユーザの手および/もしくは腕(またはその一部)の配置、位置、および/または向きとして定義することができる。ジェスチャの種類の他の例もあり得る。加えて、ジェスチャライブラリ330内のエントリのそれぞれは、定義されたジェスチャまたは一連のジェスチャについての、HMD112の現在の視野との空間的関係、ユーザが現在観察している特定の領域との空間的関係など、個人のリアルタイムでの凝視追跡、表示されている人工コンテンツの種類、実行されているアプリケーションの種類などによって判断され得る、ジェスチャまたは一連のジェスチャが動作をトリガするのに必要な条件を指定することができる。
ジェスチャライブラリ330内のエントリのそれぞれはさらに、定義されたジェスチャのそれぞれまたはジェスチャの組合せ/一連のジェスチャについて、ソフトウェアアプリケーション317によって実行されるべき所望の応答または動作を指定することができる。たとえば、この開示の技法によれば、所定の特殊なジェスチャは、ユーザインタフェースエンジン328が、事前定義されたジェスチャの1つを検出することに応答して、ユーザに対して表示されている人工現実コンテンツに重畳するユーザインタフェースを動的に生成するように、事前定義することができ、それによりユーザ110は、人工現実コンテンツと相互作用している間でさえ、HMD112および/またはコンソール106を設定するために、ユーザインタフェースを容易に呼び出すことができる。他の例では、所定のジェスチャは、入力の提供、物体の選択、アプリケーションの起動などの、他の動作に関連づけられていてもよい。
一例として、ジェスチャライブラリ330は、メニュープロンプトジェスチャ、メニュー起動ジェスチャ、メニュースライドジェスチャ、選択ジェスチャ、およびメニュー位置決めの動きについて記載するエントリを含むことができる。ジェスチャ検出器324は、画像取込みデバイス138からの画像データを処理して、ユーザの手の配置、位置、動き、および/または向きを分析し、ユーザによって実行され得るメニュープロンプトジェスチャ、メニュー起動ジェスチャ、メニュースライドジェスチャ、選択ジェスチャ、およびメニュー位置決めの動きなどを識別することができる。描画エンジン322は、メニュープロンプトジェスチャ、メニュー起動ジェスチャ、メニュースライドジェスチャ、およびメニュー位置決めの動きの検出に基づいて、メニューおよび仮想の手を描画することができる。ユーザインタフェースエンジン328は、表示されるメニューを定義することができ、選択ジェスチャによってもたらされた選択結果に応答して実行される動作を制御することができる。
図4は、本開示の技法による、図1A、図1Bの人工現実システムのHMD112によって、ジェスチャ検出およびユーザインタフェース生成が実行される例を示す構成図である。
この例では、HMD112は、図3と同様に、いくつかの例において、たとえば、組込み型のリアルタイムマルチタスクオペレーティングシステム、または他の種類のオペレーティングシステムであり得る、オペレーティングシステム305を実行するためのコンピュータプラットフォームを提供する、1つまたは複数のプロセッサ302およびメモリ304を備えている。次に、オペレーティングシステム305は、1つまたは複数のソフトウェア構成要素417を実行する、マルチタスク動作環境を提供する。さらに、プロセッサ302は、電子ディスプレイ203、動きセンサ206、および画像取込みデバイス138に結合されている。
図4の例において、ソフトウェア構成要素417は、全体的な人工現実アプリケーションを提供するよう動作する。この例では、ソフトウェアアプリケーション417は、アプリケーションエンジン440、描画エンジン422、ジェスチャ検出器424、ポーズ追跡器426、およびユーザインタフェースエンジン428を有している。様々な例において、ソフトウェア構成要素417は、図3のコンソール106の相当する構成要素(たとえば、アプリケーションエンジン320、描画エンジン322、ジェスチャ検出器324、ポーズ追跡器326、およびユーザインタフェースエンジン328)と同様に動作し、検出されたユーザ110のジェスチャにしたがって、ユーザ110に対して表示する人工コンテンツに重畳されるかまたは人工コンテンツの一部である、ユーザインタフェース要素を構築する。いくつかの例では、描画エンジン422は、少なくとも部分的に、ユーザ110の実世界の物理的環境に重畳され得る、3Dの人工現実コンテンツを構築する。
図3に関して説明された例と同様に、ジェスチャ検出器424は、感知されたデータに基づいて、ユーザの物体(たとえば、手、腕、手首、手指、手のひら、親指)の追跡された動き、配置、位置、および/または向きを分析し、ユーザ110が実行する1つまたは複数のジェスチャを識別する。本開示の技法にしたがって、ユーザインタフェースエンジン428は、ユーザ110に対して表示されるべき人工現実コンテンツの一部である、たとえば人工現実コンテンツに重畳される、ユーザインタフェース要素を生成し、かつ/あるいはジェスチャ検出器424によって検出された、ユーザ110の1つもしくは複数のジェスチャまたはジェスチャの組合せに基づいて、動作を実行する。より具体的には、ジェスチャ検出器424は、HMD112の画像取込みデバイス138および/またはセンサ90もしくは外部カメラ102によって取り込まれた画像データ内で認識された物体を分析し、ユーザ110の手および/または腕を識別し、HMD112に対する手および/または腕の動きを追跡して、ユーザ110が実行するジェスチャを識別する。ジェスチャ検出器424は、取り込まれた画像データに基づいて、手、指、および/または腕の位置および向きの変化を含む動きを追跡し、物体の動きベクトルをジェスチャライブラリ430内の1つまたは複数のエントリと比較して、ユーザ110が実行するジェスチャまたはジェスチャの組合せを検出することができる。
ジェスチャライブラリ430は、図3のジェスチャライブラリ330と同様である。ジェスチャライブラリ430内のエントリのそれぞれは、定義されたジェスチャまたは一連のジェスチャについて、HMD112の現在の視野との空間的関係、ユーザが現在観察している特定の領域との空間的関係など、個人のリアルタイムでの凝視追跡、表示されている人工コンテンツの種類、実行されているアプリケーションの種類などによって判断され得る、ジェスチャが動作をトリガするのに必要な条件を指定することができる。
一致するジェスチャまたはジェスチャの組合せを検出することに応答して、HMD112は、ジェスチャライブラリ430内の一致するエントリに割り当てられた応答または動作を実行する。たとえば、この開示の技法によれば、所定の特殊なジェスチャは、ジェスチャ検出器424が、事前定義されたジェスチャの1つを検出することに応答して、ユーザインタフェースエンジン428が、ユーザに対して表示されている人工現実コンテンツに重畳するユーザインタフェースを動的に生成するように、事前定義することができ、それによりユーザ110は、人工現実コンテンツを観察している間に、HMD112を設定するため、ユーザインタフェースを容易に呼び出すことができる。他の例では、ジェスチャ検出器424が事前定義されたジェスチャの1つを検出するのに応答して、ユーザインタフェースエンジン428および/またはアプリケーションエンジン440は、入力を受け取り、ユーザインタフェース要素に関連する値もしくはパラメータを選択し、アプリケーションを起動し、設定変更可能な設定を修正し、メッセージを送り、処理を開始もしくは停止するか、または他の動作を実行することができる。
ジェスチャライブラリ430は、一例として、メニュープロンプトジェスチャ、メニュー起動ジェスチャ、メニュースライドジェスチャ、メニュー位置決めの動き、および選択ジェスチャについて記載したエントリを含むことができる。ジェスチャ検出器424は、画像取込みデバイス138からの画像データを利用して、ユーザの手の配置、位置、および/または向きを分析し、ユーザによって実行され得るメニュープロンプトジェスチャ、メニュー起動ジェスチャ、メニュースライドジェスチャ、選択ジェスチャ、またはメニュー位置決めの動きなどを識別することができる。描画エンジン422は、メニュー起動ジェスチャ、メニュースライドジェスチャ、選択ジェスチャ、およびメニュー位置決めの動きの検出に基づいて、UIメニュー、スライド可能に係合可能な要素、および/または仮想の手を描画することができる。ユーザインタフェースエンジン328は、表示されるメニューを定義することができ、選択ジェスチャによってもたらされた選択結果に応答して、アプリケーションエンジン440によって実行される動作を制御することができる。
図5および図6は、メニュープロンプトおよびメニューを起動するための、またメニューの位置を決めて、ユーザがメニューと相互作用するための、例示的な方法を示す流れ図である。図5および図6で示されている動作は、図1A、図1Bの人工現実システム10、20などの、人工現実システムの1つまたは複数の構成要素によって実行され得る。たとえば、動作の一部またはすべては、ジェスチャ検出器(図3および図4の324、424)、ユーザインタフェースエンジン(図3および図4の328、428)、ならびに描画エンジン(図3および図4の322、422)のうちの1つまたは複数によって実行され得る。
図5は、本開示の態様による、メニュープロンプトまたはメニューインタフェースを起動する、例示的な方法の動作を示す流れ図である。上記のように、手の所定の配置が検出され、メニューインタフェースまたはメニュープロンプトの起動をトリガするために使用され得る。人工現実システムは、手の現在の配置を判断することができる(502)。配置には、手の向き、および手の指の互いに対する位置が含まれ得る。1つまたは複数の態様では、画像データを取り込んで分析し、手の配置を判断することができる。手の配置を判断するために、画像データに加えて、または画像データの代わりに、他のセンサデータを使用することができる。
人工現実システムは、手の現在の配置が、ユーザがメニュープロンプトジェスチャを実行していることを示しているかどうかを判断することができる(504)。1つまたは複数の態様では、人工現実システムは、左手または右手の配置を判断するよう(たとえば、ユーザによって)設定可能であり得る。1つまたは複数の態様では、人工現実システムは、手の現在の配置について記載したデータ、および特定のジェスチャを指定する、ジェスチャライブラリの1つまたは複数のエントリのデータを利用して、手の現在の配置がメニュープロンプトジェスチャであるかどうかを判断することができる。1つまたは複数の態様では、メニュープロンプトジェスチャは、手が実質的に上向きであり、ユーザの手の手指および親指が手指および親指の間に間隔をあけるように置かれている手の配置であり得る。メニュープロンプトジェスチャでは、ユーザの手の手指および親指が、「C」字型または鋏形を形成することができ、手指と親指とは指先が接触しない。本開示の恩恵を受ける当業者は、手の他の配置がメニュープロンプトジェスチャとして使用され得ることを理解されよう。
ユーザがメニュープロンプトジェスチャを実行したとの判断に応答して、人工現実システムは、メニュープロンプトを描画することができる(506)。1つまたは複数の態様では、メニュープロンプトは、ユーザの手の向きを表す仮想の手の近くに描画される。メニュープロンプトは、メニュープロンプトジェスチャを実行するユーザの手指および親指に対応する、仮想の手の仮想の手指と仮想の親指との間に位置するUI要素であり得る。
図8は、本開示の態様によるメニュープロンプト810を示す、例示的なHMDディスプレイ800である。図8に示されている例では、人工現実システムのユーザは、実質的に上向きのユーザの手を、人差し指と親指との間に間隔をあけて置いている。(人差し指以外の他の手指は、メニュープロンプトおよびメニュー起動ジェスチャに使用され得る。)人工現実システムは、手の位置および向きを判断することができ、また仮想の手136を、ユーザの手の向きおよび指の位置に一致するように、描画することができる。加えて、人工現実システムは、ユーザがユーザの手を使ってメニュープロンプトジェスチャを実行したことを、手の配置に基づいて検出することができる。メニュープロンプトジェスチャの検出に応答して、人工現実システムは、仮想の手の人差し指と親指との間に、メニュープロンプト810を描画することができる。メニュープロンプト810は、ユーザが、親指および人差し指を使って動作(たとえば、挟持動作)を実行し、ユーザの手をメニュー起動ジェスチャにすることにより、人工現実システムがユーザへメニューを提示できることを、ユーザに示すかまたは思い出させるもの(すなわち、プロンプト)として機能するユーザインタフェース要素であり得る。いくつかの態様では、メニュープロンプト810は、人差し指と親指との間に延在する線を含むことができる。いくつかの態様では、メニュープロンプト810は、親指と人差し指との間に置かれた仮想物体を含むことができる。いくつかの態様では、メニュープロンプト810は、人差し指および/または親指の強調表示を含むことができる。他の種類のユーザインタフェース要素が、メニュープロンプト810として描画されてもよい。たとえば、矢印を使用して、メニューを起動するためにユーザの人差し指および親指を動かすべき方向を示すことができる。
図5に戻ると、人工現実システムは、メニュープロンプトを描画した後、手の新しい現在の配置を判断することができる(502)。メニュープロンプトを描画してから手の新しい配置を判断するまでの間に、他の多くの動作が、人工現実システムによって実行され得る。
手の現在の配置がメニュープロンプトジェスチャと一致しない場合、人工現実システムは、手の現在の配置が、ユーザがメニュー起動ジェスチャを実行していることを示しているかどうかを判断することができる。1つまたは複数の態様では、人工現実システムは、手の現在の配置について記載したデータ、およびジェスチャライブラリの1つまたは複数のエントリのデータを利用して、手の現在の配置がメニュー起動ジェスチャであるかどうかを判断することができる。1つまたは複数の態様では、メニュー起動ジェスチャは、手が実質的に上向きである手の配置であり得、ユーザの手の手指および親指は、挟持配置に置かれている。本開示の恩恵を受ける当業者は、手の他の配置がメニュー起動ジェスチャとして使用され得ることを理解されよう。たとえば、メニュー起動ジェスチャは、手の向きに関わらず、挟持配置に置かれた手指および親指を含むことができる。
ユーザがメニュー起動ジェスチャを実行したとの判断に応答して、人工現実システムは、UIメニューを描画することができる(510)。1つまたは複数の態様では、メニューは、ユーザの手の向きを表す仮想の手の近くに描画される。いくつかの態様では、人工現実システムは、人工現実システムが最初にメニュープロンプトジェスチャを検出した場合にだけ、メニュー起動ジェスチャの検出に応答してUIメニューを描画することができる。いくつかの態様では、メニュープロンプトジェスチャは必要条件ではない。
図7Aは、本開示の態様によるUIメニュー124を示す、例示的なHMDディスプレイ700である。図7Aに示されている例では、人工現実システムのユーザは、実質的に上向きのユーザの手を、手の人差し指と親指とが挟持配置にある状態で置いている。(この場合も、人差し指は、手の手指の一例として使用されている。)人工現実システムは、手の位置および向きを判断することができ、仮想の手136を、ユーザの手の向きおよび手指の位置を表すように、描画することができる。加えて、人工現実システムは、ユーザがユーザの手を使ってメニュー起動ジェスチャを実行したことを、手の配置に基づいて検出することができる。メニュー起動ジェスチャの検出に応答して、人工現実システムは、仮想の手の近くにUIメニュー124を描画することができる。UIメニュー124は、UIメニュー124の広がりに沿って配列される1つまたは複数のUI要素126を含むことができる。1つまたは複数の態様では、1つまたは複数のUI要素126は、観察空間または表示空間などの座標空間の水平方向の広がりに沿って配列されたメニューアイテムであり得る。図7Aに示されている例では、座標軸704は、座標空間を説明するためだけに示されている。座標軸704は、実際のディスプレイ上に提示される必要はない。図7A~図7Gに示されている例では、水平方向の広がりはX軸に沿っており、垂直方向の広がりはY軸に沿っており、深さはZ軸に沿っている。
上記のように、メニュー起動ジェスチャは、ユーザがユーザの手を実質的に上向きに置くことを含むことができる。たとえば、人工現実システムは、手の他の面の手のひらに垂直なベクトル702もまた、X軸およびZ軸で形成される平面に実質的に垂直であることを検出することができる。1つまたは複数の態様では、ベクトル702が、X軸およびZ軸で形成される平面に対する垂直線の30度以内にある場合(破線で示されている)、ベクトル702は実質的に垂直線であると見なされ得る。1つまたは複数の態様では、30度以外の他の閾値が使用され得る。
1つまたは複数の態様では、スライド可能に係合可能なUI要素706が、仮想の手136の近くに描画され得る。図7Aに示されている例では、スライド可能に係合可能なUI要素706は円である。球、三角形、正方形などの他のグラフィカル要素、または仮想の手136のみが、スライド可能に係合可能なUI要素706として機能してもよい。さらに、仮想の手136の1本または複数本の手指を強調表示して、1本または複数本の手指の強調表示された部分が、スライド可能に係合可能なUI要素であることを示してもよい。
図7Bは、本開示の態様による、UIメニューおよびスライド可能に係合可能なUI要素を示す、例示的なHMDディスプレイ740である。図7Bに示されている例では、ユーザは、人工現実システムに、メニューアイテム708に近い位置でスライド可能に係合可能なUI要素706を描画させるように、メニュースライドジェスチャを実行している。1つまたは複数の態様では、スライド可能に係合可能なUI要素706の近くにあるメニューアイテム708が強調表示されるか、さもなければ、ユーザが選択ジェスチャ708を実行すると、メニューアイテム708が、選択されることを示すために増大または修正され得る。ラベル710は、メニューアイテム708の強調表示に加えて、または強調表示の代わりに、メニューアイテム708の近くに提示され得る。境界線の強調表示、背景の強調表示、点滅、拡大などを含む、様々な強調表示の仕組みが使用され得、メニューアイテム708を強調表示するために使用され得る。メニュー要素708の強調表示は、ユーザが選択ジェスチャを実行した場合にメニュー要素708が選択されることを、示すことができる。1つまたは複数の態様では、選択ジェスチャは、挟持配置の手指とは相異なる、たとえば挟持配置を解除する、手の手指の動きであり得る。1つまたは複数の態様では、選択ジェスチャは、UIメニューの平面に実質的に垂直な方向への手の動きであり得る。本明細書で使用される場合、平面に対する「実質的に垂直な」は、平面に対する垂直線の0~2度以内、平面に対する垂直線の0~5度以内、平面に対する垂直線の0~10度以内、平面に対する垂直線の0~20度以内、または平面に対する垂直線の0~30度以内を示すことができる。1つまたは複数の態様では、選択ジェスチャは、手の親指および手指が、もはや挟持配置でなくなるよう再配置され得る。1つまたは複数の態様では、選択ジェスチャは、別の手指(たとえば、小指)を丸めるかまたは伸ばすなどの動きまたは再配置であり得る。選択ジェスチャを検出することにより、人工現実システムは、何らかの動作を実行することができる。たとえば、選択ジェスチャにより、アプリケーションが、インスタンスを生成することができるか、現在実行中のアプリケーションが、HMDのディスプレイの前面に表示され得るか、または場合によっては、人工現実システムが、特定の実行している人工現実アプリケーション内で、何らかの動作を実行することができる。
したがって、一連のジェスチャを使用して、メニュー124の表示をトリガし、スライド可能に係合可能なUI要素706を、メニュー124のメニュー要素708の上または近くに置き、メニュー要素708を選択することができる。例示的な実施態様では、ユーザは、メニュー起動ジェスチャを実行し(たとえば、手の手指を挟持配置に置く)、これによりメニュー124が、HMDによって表示され得る。ユーザは、メニュースライドジェスチャ(たとえば、挟持配置を持続しながら手を動かす)を実行し、これによりスライド可能に係合可能なUI要素706を、手の動きに応じてメニュー124に沿ってスライドさせることができる。次いで、ユーザは、選択ジェスチャを実行して(たとえば、手指および親指を挟持配置から解除する)、スライド可能に係合可能なUI要素706によって指示されるメニュー要素708を選択することができる。
図5に戻ると、人工現実システムは、UIメニュー124を描画した後、手の新しい現在の配置を判断することができる(502)。UIメニュー124を描画してから手の新しい配置を判断するまでの間に、他の多くの動作が、人工現実システムによって実行され得る。
人工現実システムが、ユーザの手がもはやメニュープロンプトジェスチャまたはメニュー起動ジェスチャを実行していないことを検出した場合、人工現実システムは、UIメニュー124またはメニュープロンプト810が表示されているかどうかを判断することができる。表示されている場合、人工現実システムは、ユーザの手がもはやUIメニュー124またはメニュープロンプト810を表示するための適切な配置にないので、UIメニュー124またはメニュープロンプト810をディスプレイから削除することができる(514)。
UIメニュー124またはメニュープロンプト810を削除した後、フローは、手の新しい現在の配置を判断するために戻る(502)。UIメニュー124またはメニュープロンプト810を削除してから手の新しい配置を判断するまでの間に、他の多くの動作が、人工現実システムによって実行され得る。
図6は、本開示の態様による、UIメニューを位置決めし、UIメニューと相互作用する、例示的な方法の動作を示す流れ図である。人工現実システムは、手の位置を判断することができる(602)。たとえば、位置は、画像センサから、または人工現実システムと結合された他の種類のセンサから取り込まれた画像データから、判断され得る。
人工現実システムは、UIメニューが現在有効であるかどうか(すなわち、HMDによって描画および表示されているかどうか)を判断することができる(604)。UIメニューが現在有効でない場合、フローは、手の更新された位置の判断に戻ることができる(602)。UIメニューが有効であるかどうかを判断してから手の更新された位置を判断するまでの間に、他の多くの動作が、人工現実システムによって実行され得る。
UIメニューが有効である場合、人工現実システムは、ユーザがメニュースライドジェスチャを実行しているかどうかを判断することができる(606)。いくつかの態様では、メニュースライドジェスチャは、メニューが有効である間(たとえば、ユーザの手がメニュー起動ジェスチャを実行している間)の、手の実質的に水平方向の動きであり得る。たとえば、人工現実システムは、手の以前の位置を手の現在の位置と比較して、メニュースライドジェスチャが行われているかどうかを判断することができる。メニュースライドジェスチャが検出された場合、人工現実システムは、メニュースライドジェスチャに応じて、仮想の手および/またはスライド可能に係合可能なインタフェース要素を、UIメニュー124に沿って移動させることができる(608)。メニューアイテムが垂直方向に向けられている場合、メニュースライドジェスチャは、手の実質的に垂直方向の動きであり得る。メニュースライドジェスチャが検出されない場合、人工現実システムは、メニュースライドジェスチャではない他の手の動きが検出されるかどうかを判断することができる(610)。「実質的に」垂直方向および水平方向とは、垂直方向または水平方向の5度、10度、20度、または30度以内であり得る。
図7Cは、本開示の態様による、UIメニューおよびメニュースライドジェスチャを示す、例示的なHMDディスプレイ750である。1つまたは複数の態様では、メニュースライドジェスチャは、UIメニュー124の水平方向の広がりに沿ったユーザの手の動き(たとえば、X軸に平行な動き)であり得る。図7Cに示されている例では、ユーザは、UIメニュー124の水平方向の広がりに沿って(メニュー起動ジェスチャを持続しながら)ユーザの手を動かしている。人工現実システムは、ユーザの手の動きに応じて、仮想の手136およびスライド可能に係合可能なUI要素706が、メニューアイテム712の近くにくるように、仮想の手136およびスライド可能に係合可能なUI要素706の位置を変更することができる。人工現実システムは、メニュー要素708から強調表示を削除することができ、またメニュー要素712を強調表示して、ユーザが選択ジェスチャを実行する場合には、メニュー要素712が選択されることを示すことができる。メニューアイテム712の強調表示に加えて、またはメニューアイテム712の強調表示の代わりに、ラベル714が表示され得る。いくつかの例では、人工現実システムは、メニューアイテムを強調表示しない。いくつかの例では、人工現実システムは、UI要素706を描画しない。1つまたは複数の態様では、UIメニュー124は、メニュースライドジェスチャより前にUIメニューがあったのと同じ水平方向の位置に保持される。言い換えれば、UIメニュー124は水平方向に静止しており、一方仮想の手136およびスライド可能に係合可能なUI要素706は、ユーザがメニュースライドジェスチャを実行するのに応答して、UIメニュー124の水平方向の広がりに沿って動く。
図6に戻ると、水平方向の動きが検出されたかどうかを判断した後、人工現実システムは、ユーザの手による水平方向ではない動きが行われているかどうかを判断することができる(610)。たとえば、人工現実システムは、垂直方向の動き(すなわち、Y軸に平行な動き)および/または前から後ろもしくは後ろから前への動き(すなわち、Z軸に平行な動き)があったかどうかを判断することができる。ユーザの手の水平方向ではない動きが検出された場合、人工現実システムは、水平方向ではない動きに基づいて、仮想の手、スライド可能に係合可能なUI要素、およびUIメニューの位置を移動させることができる。UIメニューアイテムが垂直方向に配列されている例では、ユーザの手の垂直方向でない動きが、手の「他の動き」を構成する。
図7Dは、垂直方向の動きが検出された後のUIメニューを示す、例示的なHMDディスプレイ760である。図7Dに示されている例では、ユーザは、ユーザの手を下向きに動かしている。人工現実システムは、垂直方向の動きを検出することができ、検出された垂直方向の動きに基づいて、UIメニュー124、仮想の手136、およびスライド可能に係合可能なUI要素706の位置を移動させることができる。いくつかの態様では、垂直方向の動きに加えて水平方向の動きが検出されない場合、仮想の手136およびスライド可能に係合可能なUI要素706は、UIメニュー124に対する仮想の手およびスライド可能に係合可能なUI要素の以前の位置で保持される。したがって、同じメニュー要素712が、垂直方向の動きが行われるときに強調表示されていた状態で保持される。
図7Eは、後から前への動きが検出された(すなわち、ユーザがZ軸に沿ってユーザの手をユーザ自身により近づけた)後のUIメニューを示す、例示的なHMDディスプレイ770である。人工現実システムは、後から前への動きを検出することができ、検出された後から前への動きに基づいて、UIメニュー124、仮想の手136、およびスライド可能に係合可能なUI要素706の位置を移動させることができる。したがって、仮想の手、UIメニュー124、およびスライド可能に係合可能なUI要素706の位置は、より大きく、したがってユーザに対してより近くに表示される。いくつかの態様では、Z軸に沿った動きに加えて、水平方向の動きが検出されない場合、仮想の手136およびスライド可能に係合可能なUI要素706は、UIメニュー124に対する仮想の手およびスライド可能に係合可能なUI要素の以前の位置で保持される。したがって、同じメニュー要素712が、Z軸に沿った動きが行われるときに強調表示されていた状態で保持される。
図6に戻ると、UIメニュー、仮想の手、およびスライド可能に係合可能なUI要素が、ユーザの手の動き(もしあれば)に応じて移動された後に、人工現実システムは、仮想の手およびスライド可能に係合可能なUI要素を、ユーザの手の現在の位置に基づいて、UIメニュー124の近くにくるように描画することができる。次いで、フローは、手の更新された位置を判断するために戻ることができる(602)。UIメニューを描画してから手の更新された位置を判断するまでの間に、他の多くの動作が、人工現実システムによって実行され得る。
図7Fは、本開示の態様による、UIメニュー124およびUIアイコン配列720を示す、例示的なHMDディスプレイ780である。いくつかの態様では、UIメニュー124のメニューアイテムは、アプリケーションに対応することができる。1つまたは複数の態様では、UIメニュー124は、2つの部分716および718に分割され得る。部分716のメニュー要素は、お気に入りのアプリケーションを表すことができ、部分718のメニュー要素は、人工現実システム内で現在実行されているアプリケーションを表すことができる。さらに、いくつかの態様では、人工現実システムは、人工現実システムで利用可能であるかまたは実行されているアプリケーションを表すアイコンの、アイコン配列710を提示することができる。アイコン配列720内の個々のアイコン上の画像は、対応するアプリケーションの現在の表示、またはアプリケーションに関連づけられた画像を表すことができる。
図7Gは、本開示の態様による、UIメニュー124およびUIアイコン配列720を示す、例示的なHMDディスプレイ790である。図7Gに示されている例では、仮想の手136およびスライド可能に係合可能なUI要素706は、メニューアイテム724の近くにある。この例では、3次元強調表示が使用され、スライド可能に係合可能なUI要素706の近くにあるメニューアイテムを、前方にもってきて、それにより画像を、ユーザに、より大きく見せることができる。加えて、メニューアイテム724に対応するアイコン722も強調表示され得る。この例では、アイコン722の境界線が強調表示されている。
上記の考察では、UIメニューが水平方向に配置される人工現実システムの態様を提示してきた。他の態様では、UIメニューは、垂直方向に配置され得る。かかる態様では、UIメニューが垂直方向に静止状態で保持されている間に、手の垂直方向の動きによって、スライド可能に係合可能なUI要素および仮想の手を、UIメニューの垂直方向の広がりに沿って移動させることができる。垂直方向でない動き(すなわち、水平方向の動きまたは前から後ろへの動き)によって、垂直方向でない動きに応じて、UIメニューの位置を移動させることができる。
この開示で説明される技法は、少なくとも部分的に、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実施され得る。たとえば、説明された技法の様々な態様は、1つもしくは複数のマイクロプロセッサ、DSP、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または他の任意の同等の集積型または離散型論理回路ばかりでなく、かかる構成要素の任意の組合せを含む、1つまたは複数のプロセッサ内で実施され得る。用語「プロセッサ」または「処理回路」は、概して、単独で、もしくは他の論理回路と組み合わせた、前述の論理回路のいずれか、または他の任意の同等の回路を指すことができる。ハードウェアを備える制御ユニットはまた、この開示の1つまたは複数の技法を実行することができる。
かかるハードウェア、ソフトウェア、およびファームウェアは、この開示で説明されている様々な動作および機能をサポートするために、同じデバイス内または別個のデバイス内に実装され得る。加えて、説明されているユニット、モジュール、または構成要素のいずれも、一体的に、または離散的であるが相互運用可能な論理デバイスとして別々に実装され得る。モジュールまたはユニットとしての様々な特徴の記述は、様々な機能的側面を強調することが意図されており、かかるモジュールまたはユニットが、別々のハードウェアまたはソフトウェア構成要素で実現される必要があることを必ずしも含意しない。それどころか、1つまたは複数のモジュールまたはユニットに関連する機能は、別々のハードウェアもしくはソフトウェア構成要素によって実行されるか、または共通もしくは別々のハードウェアもしくはソフトウェア構成要素内に統合され得る。
この開示で説明されている技法はまた、命令を格納するコンピュータ可読記憶媒体などのコンピュータ可読媒体内で、具現化されるかまたは符号化され得る。コンピュータ可読記憶媒体内に組み込まれたまたは符号化された命令は、たとえば、命令が実行されるときに、プログラム可能なプロセッサまたは他のプロセッサに方法を実行させることができる。コンピュータ可読記憶媒体には、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、プログラム可能な読取り専用メモリ(PROM)、消去可能でプログラム可能な読取り専用メモリ(EPROM)、電子的に消去可能でプログラム可能な読取り専用メモリ(EEPROM)、フラッシュメモリ、ハードディスク、CD-ROM、フロッピディスク、カセット、磁気媒体、光学媒体、または他のコンピュータ可読媒体が含まれ得る。
本明細書で様々な例として説明されるように、本開示の技法は、人工現実システムを含むか、または人工現実システムと組み合わせて実施され得る。説明されたように、人工現実は、ユーザに提示する前に何らかのやり方で調整された現実の形式であり、たとえば、仮想現実(VR)、拡張現実(AR)、複合現実(MR)、ハイブリッド現実、またはそれらの何らかの組合せおよび/もしくは派生的なものが含まれ得る。人工現実コンテンツには、全面的に生成されたコンテンツ、または取り込まれたコンテンツ(たとえば、実世界の写真)と組み合わせて生成されたコンテンツが含まれ得る。人工現実コンテンツは、ビデオ、オーディオ、触覚フィードバック、またはそれらの何らかの組合せを含むことができ、これらのいずれかが、単一チャネルまたは複数チャネル(観察者に対して3次元効果を生成する立体式ビデオなど)で提示され得る。さらに、いくつかの実施形態では、人工現実は、アプリケーション、製品、アクセサリ、サービス、またはそれらの何らかの組合せに付随する場合があり、たとえば、人工現実内でコンテンツを作成するために使用され、かつ/または人工現実内で使用される(たとえば、人工現実内で活動を行う)。人工現実コンテンツを提供する人工現実システムは、ホストコンピュータシステムに接続されたヘッドマウントデバイス(HMD)、独立型HMD、携帯デバイスもしくはコンピュータ処理システム、または1人もしくは複数人の観察者に人工現実コンテンツを提供することができる他の任意のハードウェアプラットフォームを含む、様々なプラットフォーム上に実装され得る。

Claims (14)

  1. 画像データを取り込むよう構成される、画像取込みデバイス、
    人工現実コンテンツを出力するよう構成される、ヘッドマウントディスプレイ(HMD)、
    前記画像データから、手が実質的に上向きである前記手の配置と、前記手の親指および手指の挟持配置とを含む、メニュー起動ジェスチャを識別するよう構成される、ジェスチャ検出器、
    前記メニュー起動ジェスチャに応答して、メニューインタフェース、および前記メニューインタフェースに対して第1の位置にある、スライド可能に係合可能なUI要素を生成するよう構成される、ユーザインタフェース(UI)エンジン、ならびに
    前記HMDで表示するための前記人工現実コンテンツ、前記メニューインタフェース、および前記スライド可能に係合可能なUI要素を描画するよう構成される、描画エンジン
    を備える、人工現実システム。
  2. 前記メニューインタフェースが、前記メニューインタフェースの広がりに沿って配列された1つまたは複数のメニューアイテムを有し、かつ
    前記UIエンジンが、前記メニューインタフェースに対する前記スライド可能に係合可能なUI要素の位置に応じて、前記メニューアイテムのうちの1つを強調表示するよう構成され、好ましくは、前記1つまたは複数のメニューアイテムが、前記人工現実システム上で実行されるそれぞれのアプリケーションに対応する、
    請求項1に記載の人工現実システム。
  3. 前記ジェスチャ検出器がさらに、前記画像データから、前記手の動きと組み合わせた前記手の前記配置を含む、メニュースライドジェスチャを識別するよう構成され、また
    前記UIエンジンがさらに、前記メニュースライドジェスチャに応答して、前記スライド可能に係合可能なUI要素を、前記メニューインタフェースに対して第2の位置に移動させるよう構成され、かつ好ましくは、
    前記メニューインタフェースが、前記メニューインタフェースの広がりに沿って配列された1つまたは複数のメニューアイテムを有し、
    前記スライド可能に係合可能なUI要素を、前記メニューインタフェースに対して前記第2の位置に移動させるために、前記UIエンジンが、前記スライド可能に係合可能なUI要素を、前記メニューインタフェースの前記広がりに沿って前記メニューインタフェースに対する前記第2の位置へスライドさせるよう構成され、かつ/または好ましくは、
    前記メニュースライドジェスチャが、実質的に第1の方向への前記手の動きを含み、
    前記ジェスチャ検出器が、前記画像データから、前記メニュー起動ジェスチャに続く実質的に第2の方向への前記手の動きを識別するよう構成され、前記実質的に第2の方向が、前記実質的に第1の方向に実質的に直交しており、
    前記UIエンジンがさらに、前記実質的に第2の方向への前記手の前記動きに応答して、前記メニューインタフェースに対する前記スライド可能に係合可能なUI要素の位置を維持しながら、前記スライド可能に係合可能なUI要素および前記メニューインタフェースを移動させるよう構成される、
    請求項1または2に記載の人工現実システム。
  4. 1つまたは複数の人工現実アプリケーションを実行するためのアプリケーションエンジンをさらに備え、
    前記ジェスチャ検出器が、前記画像データから、前記メニュースライドジェスチャに続く選択ジェスチャを識別するよう構成され、かつ
    前記アプリケーションエンジンが、前記選択ジェスチャに応答して動作を実行するよう構成され、好ましくは、前記選択ジェスチャが、(1)前記手の別の手指を動かすこと、(2)前記メニューインタフェースに実質的に垂直な方向へ前記手を移動させること、または(3)前記手の前記親指および前記手指がもはや前記挟持配置でなくなるように再配置することのうちの1つを含む、
    請求項1から3のいずれか一項に記載の人工現実システム。
  5. 前記ジェスチャ検出器がさらに、前記画像データから、前記メニュー起動ジェスチャの前にメニュープロンプトジェスチャを識別するよう構成され、
    前記UIエンジンがさらに、前記メニュープロンプトジェスチャに応答して、メニュープロンプト要素を生成するように構成され、好ましくは、前記メニュープロンプトジェスチャが、親指と手指との間に間隔をあけた状態で、実質的に上向きの位置に配置された前記手を含み、かつ
    前記UIエンジンが、仮想の手の親指と手指との間の前記間隔に前記メニュープロンプト要素を生成し、好ましくは、前記メニュープロンプト要素が、前記仮想の手の前記親指と前記手指との間の線を含む、
    請求項1から4のいずれか一項に記載の人工現実システム。
  6. 前記画像取込みデバイスが、前記HMDに統合されている、請求項1から5のいずれか一項に記載の人工現実システム。
  7. ヘッドマウントディスプレイ(HMD)を含む人工現実システムによって、画像取込みデバイスを介して画像データを取得すること、
    前記人工現実システムによって、前記画像データから、メニュー起動ジェスチャを識別することであって、前記メニュー起動ジェスチャが、手が実質的に上向きである前記手の配置と、前記手の親指および手指の挟持配置とを含む、メニュー起動ジェスチャを識別すること、
    前記人工現実システムによって、前記メニュー起動ジェスチャに応答して、メニューインタフェース、および前記メニューインタフェースに対して第1の位置にある、スライド可能に係合可能なUI要素を生成すること、ならびに
    前記人工現実システムによって、前記HMDで表示するための人工現実コンテンツ、前記メニューインタフェース、および前記スライド可能に係合可能なUI要素を描画すること
    を含む、方法。
  8. 前記メニューインタフェースが、前記メニューインタフェースの広がりに沿って配列された1つまたは複数のメニューアイテムを有し、前記方法が、
    前記人工現実システムによって、前記メニューインタフェースに対する前記スライド可能に係合可能なUI要素の位置に応じて、前記メニューアイテムのうちの1つを強調表示すること
    をさらに含む、請求項7に記載の方法。
  9. 前記人工現実システムによって、前記画像データから、前記手の動きと組み合わせた前記手の前記配置を含む、メニュースライドジェスチャを識別することと、
    前記人工現実システムによって、前記メニュースライドジェスチャに応答して、前記スライド可能に係合可能なUI要素を、前記メニューインタフェースに対する第2の位置に移動させることと
    をさらに含む、請求項7または8に記載の方法。
  10. 前記スライド可能に係合可能なUI要素を、前記メニューインタフェースに対する前記第2の位置に移動させることが、前記スライド可能に係合可能なUI要素を、前記メニューインタフェースの広がりに沿って前記メニューインタフェースに対する前記第2の位置へスライドさせることを含む、請求項9に記載の方法。
  11. 前記メニュースライドジェスチャが、実質的に第1の方向への前記手の動きを含み、前記方法が、
    前記人工現実システムによって、前記画像データから、前記メニュー起動ジェスチャに続く実質的に第2の方向への前記手の動きを識別することであって、前記実質的に第2の方向が、前記実質的に第1の方向に実質的に直交している、前記手の動きを識別することと、
    前記人工現実システムによって、前記実質的に第2の方向への前記手の前記動きに応答して、前記メニューインタフェースに対する前記スライド可能に係合可能なUI要素の位置を維持しながら、前記スライド可能に係合可能なUI要素および前記メニューインタフェースを移動させることと
    をさらに含む、請求項9または10に記載の方法。
  12. 前記人工現実システムによって、前記画像データから、メニュープロンプトジェスチャを識別することと、
    前記人工現実システムによって、前記メニュープロンプトジェスチャに応答して、メニュープロンプト要素を生成することと
    をさらに含む、請求項7から11のいずれか一項に記載の方法。
  13. 実行されると、人工現実システムの1つまたは複数のプロセッサに、
    画像取込みデバイスを介して画像データを取り込ませ、
    前記画像データから、手の配置を含むメニュー起動ジェスチャを識別させ、
    前記メニュー起動ジェスチャに応答して、メニューインタフェース、および前記メニューインタフェースに対して第1の位置にある、スライド可能に係合可能なUI要素を生成させ、
    前記メニュー起動ジェスチャに続く、前記手の動きと組み合わせた前記手の前記配置を含む、メニュースライドジェスチャを識別させ、
    前記メニュースライドジェスチャに応答して、前記スライド可能に係合可能なUI要素を、前記メニューインタフェースに対する第2の位置に移動させ、かつ
    ヘッドマウントディスプレイ(HMD)で表示するための、人工現実コンテンツ、前記メニューインタフェース、および前記スライド可能に係合可能なUI要素を描画させる
    命令を含む、非一時的なコンピュータ可読媒体。
  14. 前記命令がさらに、前記1つまたは複数のプロセッサに、
    前記画像データから、親指と手指との間に間隔をあけた状態で、実質的に上向きの位置に配置された前記手を含む、メニュープロンプトジェスチャを識別させ、かつ
    前記メニュープロンプトジェスチャに応答して、仮想の手の親指と手指との間の前記間隔にメニュープロンプト要素を生成させる、
    請求項13に記載の非一時的なコンピュータ可読媒体。
JP2021555497A 2019-06-07 2020-06-03 スライドメニューを有する人工現実システム Pending JP2022535316A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/434,919 2019-06-07
US16/434,919 US10890983B2 (en) 2019-06-07 2019-06-07 Artificial reality system having a sliding menu
PCT/US2020/035998 WO2020247550A1 (en) 2019-06-07 2020-06-03 Artificial reality system having a sliding menu

Publications (1)

Publication Number Publication Date
JP2022535316A true JP2022535316A (ja) 2022-08-08

Family

ID=71842836

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021555497A Pending JP2022535316A (ja) 2019-06-07 2020-06-03 スライドメニューを有する人工現実システム

Country Status (7)

Country Link
US (1) US10890983B2 (ja)
EP (1) EP3980870A1 (ja)
JP (1) JP2022535316A (ja)
KR (1) KR20220016274A (ja)
CN (1) CN113853575A (ja)
TW (1) TW202113555A (ja)
WO (1) WO2020247550A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11275453B1 (en) 2019-09-30 2022-03-15 Snap Inc. Smart ring for manipulating virtual objects displayed by a wearable device
US11455078B1 (en) * 2020-03-31 2022-09-27 Snap Inc. Spatial navigation and creation interface
US11798429B1 (en) 2020-05-04 2023-10-24 Snap Inc. Virtual tutorials for musical instruments with finger tracking in augmented reality
US11520399B2 (en) 2020-05-26 2022-12-06 Snap Inc. Interactive augmented reality experiences using positional tracking
US11925863B2 (en) * 2020-09-18 2024-03-12 Snap Inc. Tracking hand gestures for interactive game control in augmented reality
US11562528B2 (en) 2020-09-25 2023-01-24 Apple Inc. Devices, methods, and graphical user interfaces for interacting with three-dimensional environments
US11921931B2 (en) * 2020-12-17 2024-03-05 Huawei Technologies Co., Ltd. Methods and systems for multi-precision discrete control of a user interface control element of a gesture-controlled device
US11797162B2 (en) * 2020-12-22 2023-10-24 Snap Inc. 3D painting on an eyewear device
US11782577B2 (en) 2020-12-22 2023-10-10 Snap Inc. Media content player on an eyewear device
CN116724285A (zh) * 2020-12-29 2023-09-08 美国斯耐普公司 用于控制虚拟和图形元素的微手势
US11740313B2 (en) 2020-12-30 2023-08-29 Snap Inc. Augmented reality precision tracking and display
US11954242B2 (en) 2021-01-04 2024-04-09 Apple Inc. Devices, methods, and graphical user interfaces for interacting with three-dimensional environments
EP4281843A1 (en) * 2021-01-20 2023-11-29 Apple Inc. Methods for interacting with objects in an environment
US11995230B2 (en) * 2021-02-11 2024-05-28 Apple Inc. Methods for presenting and sharing content in an environment
US12013985B1 (en) 2021-02-25 2024-06-18 Snap Inc. Single-handed gestures for reviewing virtual content
KR20230170086A (ko) 2021-04-19 2023-12-18 스냅 인코포레이티드 가상 및 그래픽 엘리먼트들을 애니메이팅하고 제어하기 위한 손 제스처
CN113282169B (zh) * 2021-05-08 2023-04-07 青岛小鸟看看科技有限公司 头戴式显示设备的交互方法、装置及头戴式显示设备
TWI764838B (zh) * 2021-09-27 2022-05-11 國立臺中科技大學 整合即時錄影與截圖功能之同步直播教學裝置
WO2023080943A1 (en) * 2021-11-04 2023-05-11 Microsoft Technology Licensing, Llc. Multi-factor intention determination for augmented reality (ar) environment control
US20230135974A1 (en) * 2021-11-04 2023-05-04 Microsoft Technology Licensing, Llc Multi-factor intention determination for augmented reality (ar) environment control
WO2023080957A1 (en) * 2021-11-04 2023-05-11 Microsoft Technology Licensing, Llc. Multi-factor intention determination for augmented reality (ar) environment control
US11928264B2 (en) * 2021-12-16 2024-03-12 Lenovo (Singapore) Pte. Ltd. Fixed user interface navigation
CN116795203A (zh) * 2022-03-17 2023-09-22 北京字跳网络技术有限公司 基于虚拟现实的操控方法、装置及电子设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8935003B2 (en) * 2010-09-21 2015-01-13 Intuitive Surgical Operations Method and system for hand presence detection in a minimally invasive surgical system
KR20160084502A (ko) * 2011-03-29 2016-07-13 퀄컴 인코포레이티드 로컬 멀티-사용자 협업을 위한 모듈식 모바일 접속된 피코 프로젝터들
US20120249740A1 (en) * 2011-03-30 2012-10-04 Tae-Yon Lee Three-dimensional image sensors, cameras, and imaging systems
US9477303B2 (en) * 2012-04-09 2016-10-25 Intel Corporation System and method for combining three-dimensional tracking with a three-dimensional display for a user interface
US10533850B2 (en) * 2013-07-12 2020-01-14 Magic Leap, Inc. Method and system for inserting recognized object data into a virtual world
AU2015274283B2 (en) 2014-06-14 2020-09-10 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
US20160088060A1 (en) * 2014-09-24 2016-03-24 Microsoft Technology Licensing, Llc Gesture navigation for secondary user interface
US10067636B2 (en) * 2016-02-09 2018-09-04 Unity IPR ApS Systems and methods for a virtual reality editor
DE102016006767A1 (de) * 2016-06-02 2017-12-07 Audi Ag Verfahren zum Betreiben eines Anzeigesystems und Anzeigesystem
CN108536273A (zh) * 2017-03-01 2018-09-14 天津锋时互动科技有限公司深圳分公司 基于手势的人机菜单交互方法与***

Also Published As

Publication number Publication date
TW202113555A (zh) 2021-04-01
KR20220016274A (ko) 2022-02-08
WO2020247550A1 (en) 2020-12-10
US20200387228A1 (en) 2020-12-10
CN113853575A (zh) 2021-12-28
US10890983B2 (en) 2021-01-12
EP3980870A1 (en) 2022-04-13

Similar Documents

Publication Publication Date Title
JP2022535316A (ja) スライドメニューを有する人工現実システム
EP3997552B1 (en) Virtual user interface using a peripheral device in artificial reality environments
US11003307B1 (en) Artificial reality systems with drawer simulation gesture for gating user interface elements
US11334212B2 (en) Detecting input in artificial reality systems based on a pinch and pull gesture
JP2022535315A (ja) 自己触覚型仮想キーボードを有する人工現実システム
US20200387286A1 (en) Arm gaze-driven user interface element gating for artificial reality systems
JP2022534639A (ja) 指マッピング自己触覚型入力方法を有する人工現実システム
US10921879B2 (en) Artificial reality systems with personal assistant element for gating user interface elements
US11086475B1 (en) Artificial reality systems with hand gesture-contained content window
US11422669B1 (en) Detecting input using a stylus in artificial reality systems based on a stylus movement after a stylus selection action
US11043192B2 (en) Corner-identifiying gesture-driven user interface element gating for artificial reality systems
US10852839B1 (en) Artificial reality systems with detachable personal assistant for gating user interface elements
WO2024064231A1 (en) Devices, methods, and graphical user interfaces for interacting with three-dimensional environments

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240409