(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-18
(45)【発行日】2024-10-28
(54)【発明の名称】摘まんで引くジェスチャーに基づいた人工現実システムにおける入力の検出
(51)【国際特許分類】
G06F 3/01 20060101AFI20241021BHJP
G09G 5/00 20060101ALI20241021BHJP
【FI】
G06F3/01 570
G06F3/01 510
G09G5/00 510A
G09G5/00 550C
(21)【出願番号】P 2021557668
(86)(22)【出願日】2020-05-29
(86)【国際出願番号】 US2020035384
(87)【国際公開番号】W WO2020247279
(87)【国際公開日】2020-12-10
【審査請求日】2023-03-06
(32)【優先日】2019-06-07
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】515046968
【氏名又は名称】メタ プラットフォームズ テクノロジーズ, リミテッド ライアビリティ カンパニー
【氏名又は名称原語表記】META PLATFORMS TECHNOLOGIES, LLC
(74)【代理人】
【識別番号】110002974
【氏名又は名称】弁理士法人World IP
(72)【発明者】
【氏名】ラヴァス, ジョナサン
(72)【発明者】
【氏名】ピンチョン, エティエンヌ
(72)【発明者】
【氏名】ティックナー, サイモン チャールズ
(72)【発明者】
【氏名】エリス, ロバート
(72)【発明者】
【氏名】スティーブンス, ジャスパー
(72)【発明者】
【氏名】ヴァルガ, アダム ティボル
(72)【発明者】
【氏名】スパーロック, ジェニファー リン
(72)【発明者】
【氏名】ソルジ-トゥーメイ, カイル エリック
(72)【発明者】
【氏名】フォックス, バレット
【審査官】相川 俊
(56)【参考文献】
【文献】米国特許第10261595(US,B1)
【文献】国際公開第2018/198910(WO,A1)
【文献】特表2014-518596(JP,A)
【文献】米国特許出願公開第2018/0046245(US,A1)
【文献】特表2015-511043(JP,A)
【文献】特表2018-516399(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
G06F 3/04815
G09G 5/00
G09G 5/377
G09G 5/36
(57)【特許請求の範囲】
【請求項1】
人工現実システムであって、該人工現実システムは、
物理的環境を表す画像データをキャプチャするように構成された、画像キャプチャデバイスと、
人工現実コンテンツを出力するように構成された、ヘッドマウントディスプレイ(HMD)と、
ユーザインターフェース(UI)ピンチ要素を生成するために構成されたUIエンジンと、
摘まむ構成を形成する手の二本の指の動作と、それに続く
、前記二本の指が前記摘まむ構成のままの状態での引く動作とを含むジェスチャーを、
キャプチャされた画像データから識別するように
、
前記キャプチャされた画像データから、前記摘まむ構成がUIピンチ要素の近傍にあると決定するように、かつ
前記ジェスチャーを識別した後、前記二本の指が前記摘まむ構成のままの状態での前記手の更なる移動を識別するように構成された、ジェスチャー検出器と、
前記ジェスチャーの識別に応答して、UI入力要素を前記人工現実コンテンツの少なくとも一部に対するオーバーレイとして描画するように、かつ
前記手の前記更なる移動に応答して、前記手の前記更なる移動に対応する手法で、前記UI入力要素を修正するように構成された、レンダリングエンジンと、
を備え
、前記UIエンジンが、前記ジェスチャーの識別に応答して前記UI入力要素を生成するようにさらに構成されている、人工現実システム。
【請求項2】
前記手の前記更なる移動に対応する手法で前記UI入力要素を修正するために、前記レンダリングエンジンが更に、
入力値を示すように、UI入力を修正するように構成された、
請求項1に記載の人工現実システム。
【請求項3】
前記レンダリングエンジンが更に、
修正された前記UI入力要素を描画するように構成された、
請求項2に記載の人工現実システム。
【請求項4】
前記ジェスチャー検出器が更に、
前記画像データから、前記摘まむ構成が中止されていると決定するように構成された、
請求項1から3のいずれか一項に記載の人工現実システム。
【請求項5】
前記UIエンジンが更に、
前記摘まむ構成が中止されているとの決定に応答して、入力値を識別し、
前記入力値に基づいて、更新された人工現実コンテンツを生成するように構成された、
請求項1から4のいずれか一項に記載の人工現実システム。
【請求項6】
前記レンダリングエンジンが更に、
更新された前記人工現実コンテンツを描画するように構成された、請求項5に記載の人工現実システム。
【請求項7】
前記HMDが更に、前記物理的環境を表す前記画像データの少なくとも一部を出力するように構成された、請求項1から
6のいずれか一項に記載の人工現実システム。
【請求項8】
前記ジェスチャーを識別するため、前記ジェスチャー検出器が更に、
ジェスチャーライブラリのエントリに対応するものとして、前記ジェスチャーを識別するように構成された、請求項1から
7のいずれか一項に記載の人工現実システム。
【請求項9】
前記手の前記二本の指が親指および人差し指である、請求項1から
8のいずれか一項に記載の人工現実システム。
【請求項10】
後続の引く動作が前記手の引く動作を含む、請求項1から
9のいずれか一項に記載の人工現実システム。
【請求項11】
後続の引く動作が前記二本の指の引く動作を含む、請求項1から
10のいずれか一項に記載の人工現実システム。
【請求項12】
前記画像キャプチャデバイスが前記HMD内に統合される、請求項1から
11のいずれか一項に記載の人工現実システム。
【請求項13】
前記UI入力要素が、
一次元の連続可変スライダ、
一次元の離散的可変スライダ、
スイッチ、
メニュー、
径方向アイテムピッカー、
径方向スライダ、
カラーピッカー、
容量性カラーピッカー、または、
進行状況スライダ、のうち少なくとも1つである、請求項1から
12のいずれか一項に記載の人工現実システム。
【請求項14】
画像キャプチャデバイスによって、物理的環境を表す画像データをキャプチャすることと、
ヘッドマウントディスプレイ(HMD)によって、人工現実コンテンツを出力することと、
ユーザインターフェース(UI)エンジンによって、UIピンチ要素を生成することと、
摘まむ構成を形成する手の二本の指の動作と、それに続く
、前記二本の指が前記摘まむ構成のままの状態での引く動作とを含むジェスチャーを、
キャプチャされた画像データから識別することと、
前記キャプチャされた画像データから、前記摘まむ構成がUIピンチ要素の近傍にあると決定することと、
前記ジェスチャーを識別した後、前記二本の指が前記摘まむ構成のままの状態での前記手の更なる移動を識別することと、
前記UIエンジンにより、前記ジェスチャーの識別に応答してUI入力要素を生成することと、
前記ジェスチャーの識別に応答して、前記UI入力要素を前記人工現実コンテンツの少なくとも一部に対するオーバーレイとして描画することと、
前記手の前記更なる移動に応答して、前記手の前記更なる移動に対応する手法で、前記UI入力要素を修正することと、
を含む、方法。
【請求項15】
非一時的コンピュータ可読記憶媒体であって、
画像キャプチャデバイスによって、物理的環境を表す画像データをキャプチャすることと、
ヘッドマウントディスプレイ(HMD)によって、人工現実コンテンツを出力することと、
ユーザインターフェース(UI)エンジンによって、UIピンチ要素を生成することと、
摘まむ構成を形成する手の二本の指の動作と、それに続く
、前記二本の指が前記摘まむ構成のままの状態での引く動作とを含むジェスチャーを、
キャプチャされた画像データから識別することと、
前記キャプチャされた画像データから、前記摘まむ構成がUIピンチ要素の近傍にあると決定することと、
前記ジェスチャーを識別した後、前記二本の指が前記摘まむ構成のままの状態での前記手の更なる移動を識別することと、
前記UIエンジンにより、前記ジェスチャーの識別に応答してUI入力要素を生成することと、
前記ジェスチャーの識別に応答して、前記UI入力要素を前記人工現実コンテンツの少なくとも一部に対するオーバーレイとして描画することと、
前記手の前記更なる移動に応答して、前記手の前記更なる移動に対応する手法で、前記UI入力要素を修正することと、
を含む動作を、人工現実システムの1つまたは複数のプロセッサに実施させる命令を含む、非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2019年6月7日付けの米国出願第16/435,116号の優先権を主張し、その内容全体をあらゆる目的で参照により本明細書に組み込む。
【0002】
本開示は、全体として、仮想現実、複合現実、および/または拡張現実システムなどの人工現実システムに関し、より詳細には、人工現実システムのユーザインターフェースに関する。
【背景技術】
【0003】
人工現実システムは、コンピュータゲーミング、安全衛生、産業、および教育などの多くの分野で、アプリケーションによってユビキタス化が進んでいる。いくつかの例として、人工現実システムは、移動デバイス、ゲーミングコンソール、パーソナルコンピュータ、映画館、およびテーマパークに組み込まれてきている。概して、人工現実は、ユーザに提示する前に何らかの形で調節されている1つの形態の現実であり、例えば、仮想現実(VR)、拡張現実(AR)、複合現実(MR)、ハイブリッド現実、あるいは上記の何らかの組み合わせおよび/または派生物を含んでもよい。
【0004】
一般的な人工現実システムは、コンテンツをレンダリングし、ユーザに対して表示する、1つまたは複数のデバイスを含む。一例として、人工現実システムは、ユーザによって装着され、人工現実コンテンツをユーザに対して出力するように構成された、ヘッドマウントディスプレイ(HMD)を組み込んでもよい。人工現実コンテンツは、全て生成されたコンテンツ、あるいはキャプチャされたコンテンツ(例えば、実世界の映像および/または写真)と組み合わされた生成コンテンツを含んでもよい。動作中、ユーザは、一般的に、人工現実システムと対話して、コンテンツを選択するか、アプリケーションを起動するか、または別の形でシステムを構成する。
【発明の概要】
【0005】
概して、本開示は、人工現実システムについて記載し、より具体的には、ユーザインターフェース要素を人工現実環境内で提示し制御する、グラフィカルユーザインターフェース要素および技術について記載する。
【0006】
例えば、ユーザの手、親指以外の指、親指、または腕の特定の動作、構成、位置、および/または向き、あるいは既定のジェスチャーの組み合わせなど、ユーザによる1つまたは複数の既定のジェスチャーの検出に応答して、グラフィカルユーザインターフェース要素を生成し描画してユーザに表示する、人工現実システムについて記載する。いくつかの例では、人工現実システムは更に、特定のジェスチャーの検出と、ユーザのリアルタイム視線追跡によって決定されてもよい、ユーザの現在の視野に対する、またはユーザが装着しているHMDの姿勢に対する、物理的環境における特定のジェスチャーの位置および向きなど、他の条件との組み合わせに応答して、グラフィカルユーザインターフェース要素の生成および描画を始動してもよい。
【0007】
いくつかの例では、人工現実システムは、グラフィカルユーザインターフェース要素を、人工現実システムのディスプレイ内で現在描画されている人工現実コンテンツに対するオーバーレイ要素として生成し提示してもよい。グラフィカルユーザインターフェース要素は、例えば、ユーザが人工現実システムと対話して操作するのに用いるメニューまたはサブメニュー、あるいはトグル要素、ドロップダウン要素、メニュー選択要素、二次元もしくは三次元形状、グラフィカル入力キーもしくはキーボード、コンテンツ表示ウィンドウなどの、ユーザが選択可能および操作可能な個々のグラフィカルユーザインターフェース要素など、グラフィカルユーザインターフェースであってもよい。
【0008】
本開示は、ユーザインターフェース(UI)ピンチ要素などのユーザインターフェース要素との、ユーザの手による対話を認識する技術、およびかかる対話に応答して、グラフィカルユーザインターフェース要素の提示を始動またはゲーティングする技術について記載する。いくつかの例では、ユーザは、UIピンチ要素の近傍で手の二本の指を合わせること、および/または摘まむ構成を形成すること、続いて手が摘まむ構成のままの状態で手および/または指を引く動作をすることを含んでもよい、ジェスチャーまたは移動を通して、かかるUIピンチ要素と対話してもよい。いくつかの例では、グラフィカルユーザインターフェース要素の提示の始動またはゲーティングは、物理的スタイラスを制御するときにユーザの手によって実施される、特定の動作もしくは動きの認識または検出に応答して行われてもよい。
【0009】
いくつかの例では、摘まんで引くジェスチャーに応答して(またはスタイラスの動作に応答して)提示されるグラフィカルユーザインターフェース要素は、入力を指定する選択肢を提示してもよく、その入力は、人工現実環境の1つまたは複数の態様に対する調節を行う目的で、ユーザによって指定されてもよい。グラフィカルユーザインターフェース要素が提示された後、ユーザによる更なる移動によって、人工現実システムは、調節が選択された場合に人工現実環境に対して有し得る効果を示すように、グラフィカルユーザインターフェース要素の見た目を修正してもよい。いくつかの例では、追加のジェスチャーまたは移動によって、人工現実システムは、グラフィカルユーザインターフェース要素によって提示される調節または選択肢に対するユーザの選択入力を識別し、かかる選択が行われると、その入力を人工現実環境に適用する。
【0010】
本開示の技術のいくつかは、特定の技術的改善および利点を提供することができる。例えば、本明細書に記載するジェスチャーおよび/または移動の少なくともいくつかは、UI要素と対話するときに一部のユーザが期待する何らかの物理的フィードバックの感覚を満たす、触覚フィードバックまたは力覚(即ち、「自己力覚」)フィードバックの感覚を提供してもよい。更に、本明細書に記載するジェスチャーおよび/または移動の少なくともいくつかは、片手のみで実施することができ、多くのユーザにとって大きな身体的困難を伴わない、自然な移動であってもよい。加えて、かかるジェスチャーおよび/または移動は画像データから簡単に識別することができ、ジェスチャーおよび/または移動の画像は、物理的環境内における他の物理的要素(例えば、ユーザの他方の手)によって見えにくくなるまたは妨げられることが起こりにくいので、かかるジェスチャーおよび/または移動は、HMDによって、または他のセンサもしくは画像キャプチャデバイスによって、信頼性高く追跡および/または認識することが可能であってもよい。
【0011】
本開示は、主に、本開示の1つまたは複数の態様にしたがって、人工現実システムによって実施される動作について記載する。1つの特定の例では、本開示は、画像キャプチャデバイスによって、物理的環境を表す画像データをキャプチャすることと、HMDによって、人工現実コンテンツを出力することと、摘まむ構成を形成する手の二本の指の動作と、それに続く摘まむ構成のままで引く動作とを含むジェスチャーを、画像データから識別することと、ジェスチャーの識別に応答して、UI入力要素を生成することと、UI入力要素を人工現実コンテンツの少なくとも一部に対するオーバーレイとして描画することと、を含む、方法について記載する。
【0012】
別の特定の例では、本開示は、人工現実コンテンツを出力することと、スタイラスの移動を検出することと、スタイラスの選択動作を検出することと、スタイラスの選択動作を検出した後、スライラスの更なる移動を検出することと、スタイラスの移動の検出に応答して、スタイラス移動コンテンツを生成することと、スタイラスの選択動作の検出に応答して、UI入力要素を生成することと、スタイラス移動コンテンツおよびUI入力要素を、人工現実コンテンツの少なくとも一部に対するオーバーレイとして描画することと、スタイラスの更なる移動に基づいて、スタイラス移動コンテンツを更新することと、を含む、方法について記載する。
【0013】
別の特定の例では、本開示は、画像キャプチャデバイスによって、物理的環境を表す画像データをキャプチャすることと、ヘッドマウントディスプレイ(HMD)によって、人工現実コンテンツを出力することと、摘まむ構成を形成する手の二本の指の動作と、それに続く摘まむ構成のままで引く動作とを含むジェスチャーを、画像データから識別することと、ジェスチャーの識別に応答して、UI入力要素を生成することと、UI入力要素を人工現実コンテンツの少なくとも一部に対するオーバーレイとして描画することと、の方法について記載する。
【0014】
別の特定の例では、本開示は、画像キャプチャデバイスによって、物理的環境を表す画像データをキャプチャすることと、ヘッドマウントディスプレイ(HMD)によって、人工現実コンテンツを出力することと、摘まむ構成を形成する手の二本の指の動作と、それに続く摘まむ構成のままで引く動作とを含むジェスチャーを、画像データから識別することと、ジェスチャーの識別に応答して、UI入力要素を生成することと、UI入力要素を人工現実コンテンツの少なくとも一部に対するオーバーレイとして描画することと、を含む動作を、人工現実システムの1つまたは複数のプロセッサに実施させる命令を含む、非一時的コンピュータ可読記憶媒体について記載する。
【0015】
別の特定の例では、本開示は、人工現実コンテンツを出力することと、スタイラスの移動を検出することと、スタイラスの選択動作を検出することと、スタイラスの選択動作を検出した後、スライラスの更なる移動を検出することと、スタイラスの移動の検出に応答して、スタイラス移動コンテンツを生成することと、スタイラスの選択動作の検出に応答して、UI入力要素を生成することと、スタイラス移動コンテンツおよびUI入力要素を、人工現実コンテンツの少なくとも一部に対するオーバーレイとして描画することと、スタイラスの更なる移動に基づいて、スタイラス移動コンテンツを更新することと、について記載する。
【0016】
別の特定の例では、本開示は、人工現実コンテンツを出力することと、スタイラスの移動を検出することと、スタイラスの選択動作を検出することと、スタイラスの選択動作を検出した後、スライラスの更なる移動を検出することと、スタイラスの移動の検出に応答して、スタイラス移動コンテンツを生成することと、スタイラスの選択動作の検出に応答して、UI入力要素を生成することと、スタイラス移動コンテンツおよびUI入力要素を、人工現実コンテンツの少なくとも一部に対するオーバーレイとして描画することと、スタイラスの更なる移動に基づいて、スタイラス移動コンテンツを更新することと、を含む動作を、人工現実システムの1つまたは複数のプロセッサに実施させる命令を含む、非一時的コンピュータ可読記憶媒体について記載する。
【0017】
いくつかの例では、物理的環境を表す画像データをキャプチャするように構成された、画像キャプチャデバイスと、人工現実コンテンツを出力するように構成された、ヘッドマウントディスプレイ(HMD)と、摘まむ構成を形成する手の二本の指の動作と、それに続く摘まむ構成のままで引く動作とを含むジェスチャーを、画像データから識別するように構成された、ジェスチャー検出器と、ジェスチャーの識別に応答してUI入力要素を生成するように構成された、ユーザインターフェース(UI)エンジンと、UI入力要素を人工現実コンテンツの少なくとも一部に対するオーバーレイとして描画するように構成された、レンダリングエンジンとを備える、人工現実システムが提供される。
【0018】
いくつかの実施形態では、ジェスチャーを識別するため、ジェスチャー検出器は、好ましくは更に、画像データから、摘まむ構成がUIピンチ要素の近傍にあると決定するように構成される。
【0019】
いくつかの実施形態では、ジェスチャー検出器は更に、ジェスチャーを識別した後、二本の指が摘まむ構成のままの状態で手の更なる移動を識別するように構成されてもよい。
【0020】
いくつかの実施形態では、レンダリングエンジンは、好ましくは更に、手の更なる移動に応答して、また手の更なる移動に対応する形で、UI入力要素を修正するように構成される。
【0021】
いくつかの実施形態では、手の更なる移動に対応する形でUI入力要素を修正するため、レンダリングエンジンは、好ましくは更に、入力値を示すようにUI入力を修正するように構成される。
【0022】
いくつかの実施形態では、レンダリングエンジンは、好ましくは更に、修正されたUI入力要素を描画するように構成される。
【0023】
いくつかの実施形態では、ジェスチャー検出器は、好ましくは更に、摘まむ構成が中止されていることを画像データから決定するように構成される。
【0024】
いくつかの実施形態では、ユーザインターフェースエンジンは、好ましくは更に、摘まむ構成が中止されているという決定に応答して、入力値を識別し、入力値に基づいて、更新された人工現実コンテンツを生成するように構成される。
【0025】
いくつかの実施形態では、レンダリングエンジンは、好ましくは更に、更新された人工現実コンテンツを描画するように構成される。
【0026】
いくつかの実施形態では、HMDは、好ましくは更に、物理的環境を表す画像データの少なくとも一部を出力するように構成される。
【0027】
いくつかの実施形態では、ジェスチャーを識別するため、ジェスチャー検出器は、好ましくは更に、ジェスチャーライブラリのエントリに対応するものとして、ジェスチャーを識別するように構成される。
【0028】
いくつかの実施形態では、手の二本の指は、好ましくは、親指および人差し指である。
【0029】
いくつかの実施形態では、後に続く引く動作は、好ましくは、手の引く動作を含む。
【0030】
いくつかの実施形態では、後に続く引く動作は、二本の指の引く動作を含んでもよい。
【0031】
いくつかの実施形態では、画像キャプチャデバイスは、好ましくは、HMD内に統合される。
【0032】
いくつかの実施形態では、UI入力要素は、好ましくは、一次元の連続可変スライダ、一次元の離散的可変スライダ、スイッチ、メニュー、径方向アイテムピッカー、径方向スライダ、カラーピッカー、容量性カラーピッカー、または進行状況スライダのうち少なくとも1つである。
【0033】
いくつかの例では、画像キャプチャデバイスによって、物理的環境を表す画像データをキャプチャすることと、ヘッドマウントディスプレイ(HMD)によって、人工現実コンテンツを出力することと、摘まむ構成を形成する手の二本の指の動作と、それに続く摘まむ構成のままで引く動作とを含むジェスチャーを、画像データから識別することと、ジェスチャーの識別に応答して、UI入力要素を生成することと、UI入力要素を人工現実コンテンツの少なくとも一部に対するオーバーレイとして描画することと、を含む、方法が提供される。
【0034】
いくつかの実施形態では、方法は更に、画像データから、摘まむ構成がUIピンチ要素の近傍にあると決定することを含んでもよい。
【0035】
いくつかの実施形態では、方法は更に、ジェスチャーを識別した後、二本の指が摘まむ構成のままの状態で手の更なる移動を識別することを含んでもよい。
【0036】
いくつかの例では、画像キャプチャデバイスによって、物理的環境を表す画像データをキャプチャすることと、ヘッドマウントディスプレイ(HMD)によって、人工現実コンテンツを出力することと、摘まむ構成を形成する手の二本の指の動作と、それに続く摘まむ構成のままで引く動作とを含むジェスチャーを、画像データから識別することと、ジェスチャーの識別に応答して、UI入力要素を生成することと、UI入力要素を人工現実コンテンツの少なくとも一部に対するオーバーレイとして描画することと、を含む動作を、人工現実システムの1つまたは複数のプロセッサに実施させる命令を含む、非一時的コンピュータ可読記憶媒体が提供される。
【0037】
本開示の実施例または実施形態に組み込むのに好適なものとして、本明細書に記載される任意の特徴は、本開示のあらゆる実施例および実施形態全体にわたって一般化することができるものであることが理解されるであろう。本開示の技術における1つまたは複数の例の詳細を、添付図面および以下の記載において説明する。技術の他の特徴、目的、および利点は、説明および図面から、また特許請求の範囲から明白となるであろう。
【図面の簡単な説明】
【0038】
【
図1A】本開示の技術による、人工現実環境内でユーザインターフェース要素を提示し制御する一例の人工現実システムを示す図である。
【
図1B】本開示の技術による、別の例の人工現実システムを示す図である。
【
図2】本開示の技術にしたがって動作する一例のHMDを示す図である。
【
図3】
図1A、
図1Bの人工現実システムのコンソールおよびHMDの実現例を示すブロック図である。
【
図4】本開示の技術による、ジェスチャー検出およびユーザインターフェース生成が
図1A、
図1Bの人工現実システムのHMDによって実施される例を示すブロック図である。
【
図5A】本開示の1つまたは複数の態様による、ユーザによって実施される摘まんで引くジェスチャーに応答して提示される一例の人工現実コンテンツを示す図である。
【
図5B】本開示の1つまたは複数の態様による、ユーザによって実施される摘まんで引くジェスチャーに応答して提示される一例の人工現実コンテンツを示す図である。
【
図5C】本開示の1つまたは複数の態様による、ユーザによって実施される摘まんで引くジェスチャーに応答して提示される一例の人工現実コンテンツを示す図である。
【
図6A】本開示の1つまたは複数の態様による、ユーザによって実施される摘まんで引くジェスチャーに応答してディスプレイに提示される、一例の一次元スライダUI要素を含む人工現実コンテンツを示す図である。
【
図6B】本開示の1つまたは複数の態様による、ユーザによって実施される摘まんで引くジェスチャーに応答してディスプレイに提示される、一例の一次元スライダUI要素を含む人工現実コンテンツを示す図である。
【
図6C】本開示の1つまたは複数の態様による、ユーザによって実施される摘まんで引くジェスチャーに応答してディスプレイに提示される、一例の一次元スライダUI要素を含む人工現実コンテンツを示す図である。
【
図7A】本開示の1つまたは複数の態様による、ユーザによって実施される摘まんで引くジェスチャーに応答してディスプレイに提示される、一例のスイッチUI要素を含む人工現実コンテンツを示す図である。
【
図7B】本開示の1つまたは複数の態様による、ユーザによって実施される摘まんで引くジェスチャーに応答してディスプレイに提示される、一例のスイッチUI要素を含む人工現実コンテンツを示す図である。
【
図7C】スイッチUI要素に対する摘まんで引くジェスチャーの二次元表現を示す概念図である。
【
図8A】本開示の1つまたは複数の態様による、一例の径方向アイテムピッカーUI要素を含む人工現実コンテンツを示す図である。
【
図8B】本開示の1つまたは複数の態様による、一例の径方向スライダUI要素を含む人工現実コンテンツを示す図である。
【
図8C】本開示の1つまたは複数の態様による、一例のカラーピッカーUI要素を含む人工現実コンテンツを示す図である。
【
図9A】本開示の1つまたは複数の態様による、ユーザによって実施される摘まんで引くジェスチャーに応答してディスプレイに提示される、一例の径方向アイテムピッカーUI要素を含む人工現実コンテンツを示す図である。
【
図9B】本開示の1つまたは複数の態様による、ユーザによって実施される摘まんで引くジェスチャーに応答してディスプレイに提示される、一例の径方向アイテムピッカーUI要素を含む人工現実コンテンツを示す図である。
【
図9C】本開示の1つまたは複数の態様による、ユーザによって実施される摘まんで引くジェスチャーに応答してディスプレイに提示される、一例の径方向アイテムピッカーUI要素を含む人工現実コンテンツを示す図である。
【
図10】本開示の1つまたは複数の態様による、一例の容量性カラーピッカーUI要素を含む人工現実コンテンツを示す概念図である。
【
図11】本開示の1つまたは複数の態様による、一例の進行状況スライダUI要素を含む人工現実コンテンツを示す概念図である。
【
図12A】本開示の1つまたは複数の態様による、一例の物理的スタイラスが関与する人工現実コンテンツを示す図である。
【
図12B】本開示の1つまたは複数の態様による、一例の物理的スタイラスが関与する人工現実コンテンツを示す図である。
【
図12C】本開示の1つまたは複数の態様による、一例の物理的スタイラスが関与する人工現実コンテンツを示す図である。
【
図13A】本開示の1つまたは複数の態様による、一例の人工現実システムによって実施される動作を示すフロー図である。
【
図13B】本開示の1つまたは複数の態様による、物理的スタイラスを使用して一例の人工現実システムによって実施される動作を示すフロー図である。
【発明を実施するための形態】
【0039】
図1Aは、本開示の技術による、人工現実環境内でユーザインターフェース要素を提示し制御する一例の人工現実システム10を示す図である。いくつかの実現例では、人工現実システム10は、ユーザ110によって実施され、1つもしくは複数の検出されたジェスチャーに応答して、ユーザ110に対して、グラフィカルユーザインターフェース要素を生成し描画する。つまり、本明細書に記載するように、人工現実システム10は、ユーザの手、親指以外の指、親指、腕の特定の動作、構成、場所、および/または向きなど、ユーザ110によって実施される1つまたは複数の特定のジェスチャーの検出に応答して、1つまたは複数のグラフィカルユーザインターフェース要素124、126を提示する。他の例では、人工現実システム10は、専用のトグル要素、ドロップダウン要素、メニュー選択要素、グラフィカル入力キーもしくはキーボード、コンテンツ表示ウィンドウなど、人工現実環境内におけるユーザの対話および操作のために特別に設計された、ユーザインターフェース要素を提示し制御する。
【0040】
図1Aの例では、人工現実システム10は、ヘッドマウントデバイス(HMD)112と、コンソール106と、いくつかの例では、1つまたは複数の外部センサ90とを含む。図示されるように、HMD 112は、一般的に、ユーザ110によって装着され、人工現実コンテンツ122をユーザ110に対して提示するための、電子ディスプレイおよび光学アセンブリを含む。それに加えて、HMD 112は、HMDの動作を追跡する1つまたは複数のセンサ(例えば、加速度計)を含み、周囲の物理的環境の画像データをキャプチャするために1つまたは複数の画像キャプチャデバイス138、例えばカメラ、ラインスキャナなどを含んでもよい。この例では、コンソール106は、ゲーミングコンソール、ワークステーション、デスクトップコンピュータ、またはラップトップなど、単一のコンピューティングデバイスとして示される。他の例では、コンソール106は、分散型コンピューティングネットワーク、データセンタ、またはクラウドコンピューティングシステムなど、複数のコンピューティングデバイス全体に分散されてもよい。コンソール106、HMD 112、およびセンサ90は、この例で示されるように、WiFi、メッシュネットワーク、または短距離無線通信媒体など、有線もしくは無線ネットワークであってもよいネットワーク104を介して通信可能に結合されてもよい。HMD 112は、この例では、例えば、コンソール106と通信する、例えばそれに繋がれるか、またはそれと無線通信するものとして示されるが、いくつかの実現例では、HMD 112は独立型の移動人工現実システムとして動作する。
【0041】
一般に、人工現実システム10は、実世界の3D物理的環境からキャプチャされた情報を使用して、人工現実コンテンツ122を描画してユーザ110に対して表示する。
図1Aの例では、ユーザ110は、コンソール106および/またはHMD 112で実行する人工現実アプリケーションによって構築され描画される人工現実コンテンツ122を見る。一例として、人工現実コンテンツ122は、ユーザ110が1つまたは複数の仮想オブジェクト128A、128Bとともにアバター120として描画される、コンシューマーゲーミングアプリケーションであってもよい。いくつかの例では、人工現実コンテンツ122は、実世界像と仮想オブジェクト、例えば複合現実および/または拡張現実との混合物を含んでもよい。他の例では、人工現実コンテンツ122は、例えば、ビデオ会議アプリケーション、ナビゲーションアプリケーション、教育アプリケーション、訓練もしくはシミュレーションアプリケーション、または人工現実を実現する他のタイプのアプリケーションであってもよい。
【0042】
動作中、人工現実アプリケーションは、一般的にはHMD 112の視点である、基準フレームに対する姿勢情報を追跡し計算することによって、人工現実コンテンツ122を構築してユーザ110に対して表示する。HMD 112を基準フレームとして使用し、HMD 112の現在推定されている姿勢によって決定されるような現在の視野130に基づいて、人工現実アプリケーションは、いくつかの例では、ユーザ110の実世界3D物理的環境の上に、少なくとも部分的に重ねられてもよい、3D人工現実コンテンツを描画する。このプロセスの間、人工現実アプリケーションは、移動情報およびユーザコマンドなど、HMD 112から受信した感知データを、またいくつかの例では、外部カメラなど、任意の外部センサ90からのデータを使用して、ユーザ110による動作および/またはユーザ110に対する特徴追跡情報など、実世界物理的環境内における3D情報をキャプチャする。感知データに基づいて、人工現実アプリケーションは、HMD 112の基準フレームに対する現在の姿勢を決定し、現在の姿勢にしたがって人工現実コンテンツ122を描画する。
【0043】
更に、本開示の技術にしたがって、感知データに基づいて、人工現実アプリケーションは、ユーザ110によって実施されるジェスチャーを検出し、1つまたは複数の特定のジェスチャーの検出に応答して、ユーザに提示されている下層の人工現実コンテンツ122の上に重ねられてもよい、1つまたは複数のユーザインターフェース要素を、例えばUIメニュー124およびUI要素126を生成する。これに関して、ユーザインターフェース要素124、126は、人工現実環境においてユーザ110に提示されている人工現実コンテンツ122の一部と見られてもよい。このように、人工現実システム10は、ユーザの手、親指以外の指、親指、もしくは腕の特定の動作、構成、位置、および/または向きなど、ユーザ110による1つまたは複数の特定のジェスチャーの検出に応答して、1つまたは複数のグラフィカルユーザインターフェース要素124、126を動的に提示する。ユーザの手の構成例としては、こぶし、一本もしくは二本の指が伸びている、手の個々の指のうち一本もしくは複数の相対的および/または絶対的位置および向き、手の掌の形状などを挙げることができる。ユーザインターフェース要素は、例えば、ユーザ110が人工現実システムと対話して操作するのに用いるメニューまたはサブメニュー、あるいはトグル要素、ドロップダウン要素、メニュー選択要素、二次元もしくは三次元形状、グラフィカル入力キーもしくはキーボード、コンテンツ表示ウィンドウなどの、ユーザ110が選択可能および操作可能な個々のユーザインターフェース要素など、グラフィカルユーザインターフェースを含むか、グラフィカルユーザインターフェースであってもよい。二次元要素として図示されているが、例えば、UI要素126は、人工現実環境内の形状を並進させる、拡大縮小する、および/または回転させるジェスチャーを実施することによって、ユーザが操作可能な二次元または三次元形状であってもよい。
【0044】
更に、本明細書に記載するように、いくつかの例では、人工現実システム10は、システムによって実行されている1つもしくは複数のアプリケーションの現在の状態、またはユーザのリアルタイム視線追跡によって決定されてもよいような、ユーザ110の現在の視野130に関する物理的環境における特定の検出されたジェスチャーの位置および向きなどの他の条件、あるいはその他の条件に応答して、グラフィカルユーザインターフェース要素124、126の生成および描画を始動してもよい。より具体的には、本明細書に更に記載するように、HMD 112の画像キャプチャデバイス138は、画像キャプチャデバイス138の視野130内である実世界の物理的環境におけるオブジェクトを表す画像データをキャプチャする。視野130は、一般的に、HMD 112の視点と対応する。
【0045】
図1Aに図示される例など、いくつかの例では、人工現実アプリケーションは、視野130内であるユーザ110の手132の部分を、人工現実コンテンツ122内の仮想の手136として描画する。他の例では、人工現実アプリケーションは、複合現実、および/または拡張現実を含む、人工現実コンテンツ122内におけるユーザ110の手132および/または腕134の実世界画像を提示してもよい。いずれの例でも、ユーザ110は、視野130内にある自分の手132および/または腕134の部分を、人工現実コンテンツ122内のオブジェクトとして見ることができる。他の例では、人工現実アプリケーションは、ユーザの手132または腕134を一切描画しなくてもよい。
【0046】
動作中、人工現実システム10は、HMD 112の画像キャプチャデバイス138によってキャプチャされた画像データ内のオブジェクト認識を実施して、ユーザ110の親指以外の個々の指もしくは親指、および/または腕134の全てもしくは部分を任意に識別することを含む、手132の識別を行ってもよい。更に、人工現実システム10は、スライドする時間窓にわたる手132(任意に、手の特定の指を含む)および/または腕134の部分の位置、向き、および構成を追跡してもよい。人工現実アプリケーションは、手132および/または腕134の部分の追跡された動作、構成、位置、および/または向きを分析して、特定のオブジェクト、例えばユーザ110の手132(手の特定の指を含む)および/または腕134の部分によって実施された、1つまたは複数のジェスチャーを識別する。ジェスチャーを検出するため、人工現実アプリケーションは、手132および/または腕134の部分の動作、構成、位置、および/または向きを、人工現実システム10のジェスチャーライブラリに格納されたジェスチャー定義と比較してもよく、ジェスチャーライブラリの各ジェスチャーはそれぞれ、1つまたは複数の動きにマッピングされてもよい。いくつかの例では、移動の検出は、指の定義された組み合わせのいずれか(人差し指および親指など)が、物理的環境において互いに触れるかまたはほぼ触れるようにされるかどうかを含む、手132の指(親指以外の個々の指および親指)のうち一本もしくは複数の位置を追跡することを含んでもよい。他の例では、移動の検出は、HMD 112の現在の姿勢に対する、手132の向き(例えば、HMD 112の方もしくはHMD 112から離れる方を指している親指以外の指)、および/または腕134の向き(例えば、HMD 112に向いている腕の法線)を追跡することを含んでもよい。その手132(またはその部分)の位置および向きは、あるいは、手132(またはその部分)の構成と呼ばれることがある。
【0047】
更に、人工現実アプリケーションは、手132および/または腕134の構成、位置、および/または向きを分析して、少なくとも閾値期間の間、手132および/または腕134が1つもしくは複数の特定の構成、位置、および/または向きで保持されていることを含む、ジェスチャーを識別してもよい。例として、少なくとも構成可能な期間の間、手132および/または腕134が視野130内で実質的に静止して保持されている1つもしくは複数の特定の位置は、メニューなど、特定のタイプのユーザインターフェース要素124、126の表示を始動するなど、人工現実アプリケーションによる所望の応答を始動させることが意図されたジェスチャーを、ユーザ110が実施しようとしていることを示すものとして、人工現実システム10によって使用されてもよい。別の例として、少なくとも構成可能な期間の間、視野130内で維持される指および/または手132の掌および/または腕134の1つもしくは複数の特定の構成は、ユーザ110がジェスチャーを実施しようとしていることを示すものとして、人工現実システム10によって使用されてもよい。ユーザ110の右手132および右腕134のみが、
図1Aに示されているが、他の例では、人工現実システム10は、ユーザ110の左の手および/または腕、あるいはユーザ110の左右両方の手および/または腕を識別してもよい。このように、人工現実システム10は、物理的環境内において、どちらかの手で実施される片手のジェスチャー、両手のジェスチャー、または腕に基づくジェスチャーを検出し、検出されたジェスチャーに応答して、関連するユーザインターフェース要素を生成してもよい。
【0048】
本開示の技術によれば、人工現実アプリケーションは、識別されたジェスチャーが、コンソール106および/またはHMD 112のジェスチャーライブラリにおける複数のエントリの1つによって定義される、ジェスチャーに対応するか否かを決定する。更に詳細に後述するように、ジェスチャーライブラリのエントリはそれぞれ、時間に伴うユーザの手、指(親指以外の指もしくは親指)、および/または腕の特定の動作、構成、位置、および/または向きとして、あるいはかかる性質の組み合わせとして、異なるジェスチャーを定義してもよい。それに加えて、定義されたジェスチャーはそれぞれ、人工現実アプリケーションによって実施される1つまたは複数の動きの形態の、所望の応答と関連付けられてもよい。一例として、ジェスチャーライブラリにおける定義されたジェスチャーの1つまたは複数は、描画されて人工現実コンテンツ122の上に重ねられる、1つもしくは複数のユーザインターフェース要素、例えばUIメニュー124の、生成、変換、および/または構成を始動してもよく、その場合、ジェスチャーが人工現実コンテンツ122におけるUIメニュー124の場所および/または向きを定義してもよい。別の例として、定義されたジェスチャーの1つまたは複数は、ユーザ110による特定のユーザインターフェース要素との対話、例えば、UIメニュー124のUI要素126の選択、提示されたユーザインターフェースに対する変更の始動、提示されたユーザインターフェースのサブメニューの提示などを示してもよい。
【0049】
本明細書に記載するように、HMD 112またはコンソール106は、人工現実コンテンツ122内に提示されるUI要素との対話を検出し、それに応答して、グラフィカルUI要素を提示して、ユーザが人工現実システム10によって処理されるべき入力を指定できるようにしてもよい。例えば、
図1Aを参照すると、HMD 112は、手132の動作を検出してもよく、更に、動作が、手132の二本の指がUIピンチ要素(例えば、UI要素126または別のUI要素であってもよい)の近傍において摘まむ構成を形成することを含むと決定してもよい。HMD 112はまた、手132が摘まむ構成のままで後に続く引く動作を実施していることを検出してもよい。HMD 112は、検出された動作に基づいて、更新された人工現実コンテンツを、グラフィカルUI要素を含むユーザ110に提示してもよい。
【0050】
HMD 112は、摘まむ構成のままの状態で手132の更なる移動を検出してもよく、更なる移動に応答して、グラフィカルUI要素を、また更なる移動に応答して人工現実コンテンツの他の態様を更新してもよい。例えば、UI要素が単純な一次元の音量制御を表してもよい例では、手の更なる(即ち、摘まんで引くジェスチャーを認識した後の)移動は、HMD 112によって、音量を調節(例えば、増加もしくは減少)するユーザ入力として解釈されてもよい。いくつかの例では、音量は、ユーザの手が動いている間に調節されて、UI要素とのユーザの対話に対するほぼ即時の応答を提供してもよい。したがって、ユーザは、移動を通してUI要素と対話してもよく、それらの移動が行われると、ユーザは、かかる対話が人工現実環境をどのように変化させるかを見て、聞いて、または感じてもよい。したがって、かかる対話は、適切および/または有用なフィードバックもユーザに提供して、ユーザが直感的および/または対話的な形で人工現実環境の態様を変更、修正、または調節できるようにしてもよいような形で、人工現実システムに入力を提供する手法としての役割を果たしてもよい。
【0051】
他の例では、UIピンチ要素の近傍で実施される摘まんで引くジェスチャーは、ユーザが、多数の離散的な入力の選択肢のうち1つを選択し、連続値のスケールに沿った値を選択し、色を選択し、または他の任意の適切な入力値もしくは入力値のセットを選択することができるようにするものなど、他のタイプのUI要素の表現を始動してもよい。
【0052】
いくつかの例では、HMD 112は、あるいは(または加えて)、物理的スタイラスを用いたユーザによるジェスチャーもしくは対話の検出に応答して、またはそれによって始動されて、UI要素を提示してもよい。ジェスチャーまたは対話が検出されると、HMD 112は、スタイラスの更なる移動を検出してもよく、また上述の例と同様の手法で、スタイラスの更なる移動に応答して、人工現実コンテンツのUI要素および他の態様を更新してもよい。例えば、スタイラスを用いたジェスチャーまたは対話に応答して提示されるグラフィカルUI要素は、音量制御であることもでき、スタイラスの更なる移動は、HMD 112によって、上述の例のように、音量を調節(例えば、増加もしくは減少)するユーザ入力と解釈されてもよい。したがって、かかる例では、ユーザはあるいは、スタイラスの移動を通してUI要素と対話してもよく、それに応答して、ユーザは、かかる対話が人工現実環境をどのように変化させるかを見て、聞いて、または感じてもよい。
【0053】
したがって、本開示の技術は、人工現実システムによるコンテンツの描画および表示のコンピュータ関連分野に対する、特定の技術的改善を提供する。例えば、本明細書に記載するような人工現実システムは、ユーザによって実施される直感的であるが特徴的なジェスチャーの検出に基づいて、人工現実コンテンツに重ねられるユーザインターフェース要素を生成し描画することによって、高品質の人工現実体験を、人工現実アプリケーションのユーザ110などのユーザに提供してもよい。
【0054】
更に、本明細書に記載するようなシステムは、追跡オクルージョンを回避するように定義される手および腕の移動に基づいて、特定のジェスチャーを検出するように構成されてもよい。追跡オクルージョンは、ユーザの一方の手が少なくとも部分的に他方の手に重なって、各手の個々の指(親指以外の指および親指)、ならびに各手の位置および向きを正確に追跡するのが困難になるかもしれない場合に起こることがある。したがって、本明細書に記載するようなシステムは、片手または片腕ベースのジェスチャーを主に検出するように構成されてもよい。片手または片腕ベースのジェスチャーの使用は、更に、大きいおよび細かい運動技能の制限を有するユーザに対して、拡張されたアクセス性を提供してもよい。更に、本明細書に記載するようなシステムは、ユーザの手が互いに相互作用しないかまたは重ならない、両手または両腕ベースのジェスチャーを検出するように構成されてもよい。
【0055】
それに加えて、本明細書に記載するようなシステムは、自己触覚型のフィードバックをユーザに提供するジェスチャーを検出するように構成されてもよい。例えば、ユーザの各手の親指および一本または複数の親指以外の指は、人工現実コンテンツの特定のユーザインターフェース要素との対話を示す既定のジェスチャーの一部として、物理的世界において触れるかまたはほぼ触れてもよい。ユーザの手の親指および一本または複数の親指以外の指の間の接触は、物理的キーボードのボタンまたは他の物理的入力デバイスなど、物理的なユーザ入力オブジェクトと直接対話したときにユーザが感じる感覚のシミュレーションを、ユーザに提供してもよい。
【0056】
本開示の技術のいくつかは、特定の技術的改善および利点を提供することができる。例えば、人工現実環境で提示されるユーザインターフェースメニューおよび同様のUI要素は、一般的に非有形であり、一部のユーザは、手またはスタイラスを用いた仮想メニューとの対話は一般的に、触覚フィードバックを何も提供しないことがあるので、仮想UI要素との対話は非直感的であると気づくことがある。他方で、指を動かして摘まむ構成にすることは、ユーザの指が合わさり、それ自体が何らかの触覚フィードバックを提供するので、力覚(即ち、「自己力覚」)フィードバックを提供する特別な動作である。これは、ユーザが、人工現実環境に対する応答をもたらすかまたは影響を有することが期待される動き(例えば、UI要素との対話)を実施しているとき、触覚フィードバックに対するユーザの期待を満たすことがある。
【0057】
図1Bは、本開示の技術による、別の例の人工現実システム20を示す図である。
図1Aの人工現実システム10と同様に、いくつかの例では、
図1Bの人工現実システム20は、人工現実環境内におけるユーザの対話および操作のために特別に設計された、ユーザインターフェース要素を提示し制御してもよい。人工現実システム20はまた、様々な例では、ユーザの1つまたは複数の特定のジェスチャーの検出に応答して、ユーザに対して特定のグラフィカルユーザインターフェース要素を生成し描画してもよい。
【0058】
図1Bの例では、人工現実システム20は、外部カメラ102Aおよび102B(集合的に、「外部カメラ102」)と、HMD 112A~112C(集合的に、「HMD 112」)と、コントローラ114Aおよび114B(集合的に、「コントローラ114」)と、コンソール106と、センサ90とを含む。
図1Bに示されるように、人工現実システム20は、それぞれのユーザに対応する基準フレームの現在の視点に基づいて、コンソール106および/またはHMD 112で実行する人工現実アプリケーションが、ユーザ110A~110C(集合的に、「ユーザ110」)それぞれに対して人工現実コンテンツを提示する、マルチユーザ環境を表す。つまり、この例では、人工現実アプリケーションは、HMD 112それぞれに関して基準フレームに対する姿勢情報を追跡し計算することによって、人工コンテンツを構築する。人工現実システム20は、カメラ102、HMD 112、およびコントローラ114から受信したデータを使用して、ユーザ110による動作ならびに/あるいはユーザ110およびオブジェクト108に関する追跡情報など、実世界環境内の3D情報をキャプチャして、HMD 112の対応する基準フレームに対する更新された姿勢情報を計算するのに使用する。一例として、人工現実アプリケーションは、HMD 112Cに関して決定された現在の視点に基づいて、仮想オブジェクト128A~128C(集合的に、「仮想オブジェクト128」)を有する人工現実コンテンツ122を、実世界オブジェクト108A~108C(集合的に、「実世界オブジェクト108」)の上に空間的に重ねられるものとして描画してもよい。更に、HMD 112Cの視点から、人工現実システム20は、ユーザ110A、110Bそれぞれの推定位置に基づいて、アバター120A、120Bを描画する。
【0059】
いくつかの例では、HMD112はそれぞれ人工現実システム20内で同時に動作する。
図1Bの例では、ユーザ110はそれぞれ、人工現実アプリケーションの「プレーヤー」または「参加者」であってもよく、任意のユーザ110は、人工現実アプリケーションの「観客」または「観察者」であってもよい。HMD 112Cはそれぞれ、ユーザ110Cの手132および/または腕124を追跡し、視野130内にある手132の位置を人工現実コンテンツ122内の仮想の手136として描画することによって、
図1AのHMD 112と実質的に同様に動作してもよい。HMD 112Bは、ユーザ110Bが保持するコントローラ114Aからユーザ入力を受信してもよい。HMD 112Aはまた、
図1AのHMD 112と実質的に同様に動作し、ユーザ110Aの手132A、132Bの移動を追跡することによってユーザ入力を受信してもよい。HMD 112Bは、ユーザ110Bが保持するコントローラ114からユーザ入力を受信してもよい。コントローラ114は、Bluetooth(登録商標)などの短距離無線通信の近距離通信を使用して、有線通信リンクを使用して、または別のタイプの通信リンクを使用して、HMD 112Bと通信していてもよい。
【0060】
図1Aに関して上述した例と同様の形で、人工現実システム20のコンソール106および/またはHMD 112Cは、ユーザ110Cに対して表示される人工現実コンテンツ122の上に重ねられてもよい、ユーザインターフェース要素124、126を生成し描画する。更に、コンソール106および/またはHMD 112Cは、姿勢追跡を介した、ユーザ110Cによって実施される直感的であるが特徴的なジェスチャーの検出に基づいて、ユーザインターフェース要素124、126の生成および動的表示を始動してもよい。例えば、人工現実システム20は、ユーザの手、親指以外の指、親指、または腕の特定の動作、構成、位置、および/または向きなど、ユーザ110Cによる1つまたは複数の特定のジェスチャーの検出に応答して、1つまたは複数のグラフィカルユーザインターフェース要素124、126を動的に提示してもよい。
図1Bに示されるように、HMD 112Cのカメラ138を介してキャプチャされた画像データに加えて、外部カメラ102からの入力データが、手の指(親指以外の指、親指)のそれぞれおよび/または組み合わせの移動を含む、ユーザ110Cの手132など、ユーザ110の手および腕の特定の動作、構成、位置、および/または向きを追跡し検出するのに使用されてもよい。
【0061】
本明細書に記載するように、また
図1Bを参照すると、HMD 112A、112B、および112Cはいずれも、それらHMD内のディスプレイに提示されるUI要素との対話を検出し、それに応答して、グラフィカルUI要素を提示して、ユーザが人工現実システム20によって処理されるべき入力を指定できるようにしてもよい。例えば、HMD 112C(またはコンソール106)は、手132の動作を検出してもよく、更に、動作が、手132の二本の指がUIピンチ要素の近傍において摘まむ構成を形成することを含むと決定してもよい。HMD 112Cはまた、手132が摘まむ構成のままで後に続く引く動作を実施していることを検出してもよい。HMD 112Cは、それに応答して、UI要素を含む更新された人工現実コンテンツをユーザ110に提示して、ユーザ110Cが、
図1Aにおいて記載し後述するのと同様の手法で、人工現実システム20に入力を提供できるようにしてもよい。
【0062】
図2は、本開示の技術にしたがって動作するように構成された、一例のHMD 112を示す図である。
図2のHMD 112は、
図1Aおよび
図1BのHMD 112のいずれかの一例であってもよい。HMD 112は、
図1A、
図1Bの人工現実システム10、20などの人工現実システムの一部であってもよく、または本明細書に開示する技術を実現するように構成された、独立型の移動人工現実システムとして動作してもよい。
【0063】
この例では、HMD 112は、前部の剛体とHMD 112をユーザに固定するバンドとを含む。それに加えて、HMD 112は、人工現実コンテンツをユーザに提示するように構成された、内側に面する電子ディスプレイ203を含む。電子ディスプレイ203は、液晶ディスプレイ(LCD)、量子ドットディスプレイ、ドットマトリックスディスプレイ、発光ダイオード(LED)ディスプレイ、有機発光ダイオード(OLED)ディスプレイ、陰極線管(CRT)ディスプレイ、電子インク、または視覚的出力を生成することができる単色、カラー、もしくは他の任意のタイプのディスプレイなど、任意の好適な表示技術であってもよい。いくつかの例では、電子ディスプレイは、ユーザの各目に対して別個の画像を提供する立体ディスプレイである。いくつかの例では、HMD 112の前部の剛体に対するディスプレイ203の知られている向きおよび位置は、HMD 112およびユーザの現在の視点にしたがって人工現実コンテンツを描画するため、HMD 112の位置および向きを追跡するときの、ローカル原点とも呼ばれる基準フレームとして使用される。他の例では、HMDは、眼鏡など、他のウェアラブルヘッドマウントディスプレイの形態を取ってもよい。
【0064】
図2に更に示されるように、この例では、HMD 112は、HMD 112の現在の加速度を示すデータを出力する1つもしくは複数の加速度計(慣性測定装置もしくは「IMU」とも呼ばれる)、HMD 112の場所を示すデータを出力するGPSセンサ、様々なオブジェクトからのHMD 112の距離を示すデータを出力するレーダーまたはソナー、あるいは物理的環境内におけるHMD 112または他のオブジェクトの場所もしくは向きの指示を提供する他のセンサなど、1つまたは複数のモーションセンサ206を更に含む。更に、HMD 112は、物理的環境を表す画像データを出力するように構成された、ビデオカメラ、レーザースキャナ、Dopplerレーダースキャナ、深度スキャナなど、統合された画像キャプチャデバイス138Aおよび138B(集合的に、「画像キャプチャデバイス138」)を含んでもよい。より具体的には、画像キャプチャデバイス138は、HMD 112の視点と一般的に対応する、画像キャプチャデバイス138の視野130A、130B内にある、物理的環境内のオブジェクトを表す画像データをキャプチャする。HMD 112は、内部電源と、感知データを処理し、ディスプレイ203上に人工現実コンテンツを提示する、プログラム可能動作を実行するためのオペレーティング環境を提供する、1つもしくは複数のプロセッサ、メモリ、およびハードウェアを有する、1つまたは複数のプリント回路基板とを含んでもよい、内部制御ユニット210を含む。
【0065】
一例では、本明細書に記載する技術によれば、制御ユニット210は、感知データに基づいて、ユーザによって実施される特定のジェスチャーまたはジェスチャーの組み合わせを識別し、それに応答して動きを実施するように構成される。例えば、1つの識別されたジェスチャーに応答して、制御ユニット210は、電子ディスプレイ203に表示するため、人工現実コンテンツ上に重ねられる特定のユーザインターフェース要素を生成し描画してもよい。本明細書で説明するように、本開示の技術によれば、制御ユニット210は、画像キャプチャデバイス138によってキャプチャされた画像データ内でオブジェクト認識を実施して、ユーザの手132、親指以外の指、親指、腕、または別の部分を識別し、識別された部分の移動を追跡して、ユーザによって実施された既定のジェスチャーを識別してもよい。既定のジェスチャーの識別に応答して、制御ユニット210は、ユーザインターフェース要素と関連付けられた任意のセットから選択肢を選択する、ジェスチャーを入力(例えば、文字)に翻訳する、アプリケーションを起動する、または別の方法でコンテンツを表示するなど、何らかの動作を行う。いくつかの例では、制御ユニット210は、ユーザインターフェースを明らかにするための「トリガ」として指定された、既定のジェスチャーの検出に応答して、メニューなどのユーザインターフェース要素を動的に生成および提示する。他の例では、制御ユニット210は、オブジェクト認識、動作追跡、およびジェスチャー検出、またはその任意の部分を実施してもよい、コンソール106などの外部デバイスからの方向に応答して、かかる機能を実施する。
【0066】
本明細書に記載するように、HMD 112は、手132の二本の指が別のUI要素(例えば、
図2には図示されない、UIピンチ要素)の近傍において摘まむ構成を形成するのに対応する、手132の動作を検出してもよい。HMD 112はまた、手132が、摘まむ構成のままで後に続く引く動作(例えば、
図2のHMD 112に向かって)を実施するのを検出してもよい。HMD 112は、いくつかの例では、かかる動作を、グラフィカルUI要素を提示するようにという、HMD 112のユーザによる要求と解釈してもよく、それによってユーザが、手132の更なる移動に応答して入力を提供できるようにしてもよい。
【0067】
図3は、
図1A、
図1Bの人工現実システム10、20のコンソール106およびヘッドマウントディスプレイ112の実現例を示すブロック図である。
図3の例では、コンソール106は、姿勢追跡、ジェスチャー検出、およびユーザインターフェース生成を実施し、本明細書に記載する技術にしたがって、HMD 112および/または外部センサから受信した動作データおよび画像データなどの感知データに基づいて、HMD 112に対する描画を行う。
【0068】
この例では、HMD 112は、いくつかの例では、例えば、埋込み型のリアルタイムマルチタスキングオペレーティングシステムであってもよい、オペレーティングシステム305、または他のタイプのオペレーティングシステムを実行するコンピュータプラットフォームを提供する、1つまたは複数のプロセッサ302およびメモリ304を含む。次いで、オペレーティングシステム305は、アプリケーションエンジン340を含む、1つまたは複数のソフトウェアコンポーネント307を実行する、マルチタスキングオペレーティング環境を提供する。
図2の例に関して考察したように、プロセッサ302は、電子ディスプレイ203、モーションセンサ206、および画像キャプチャデバイス138に結合される。いくつかの例では、プロセッサ302およびメモリ304は、別個の離散的な構成要素であってもよい。他の例では、メモリ304は、単一の集積回路内でプロセッサ302と並置されるオンチップメモリであってもよい。
【0069】
一般に、コンソール106は、カメラ102(
図1B)および/またはHMD 112から受信した画像および追跡情報を処理して、HMD 112のためのジェスチャー検出およびユーザインターフェース生成を実施する、コンピューティングデバイスである。いくつかの例では、コンソール106は、ワークステーション、デスクトップコンピュータ、ラップトップ、またはゲーミングシステムなど、単一のコンピューティングデバイスである。いくつかの例では、プロセッサ312および/またはメモリ314など、コンソール106の少なくとも一部分は、クラウドコンピューティングシステム全体、データセンタ、あるいはインターネット、別の公衆または私設通信ネットワーク(例えば、ブロードバンド、セルラー、Wi-Fi、および/もしくはコンピューティングシステム、サーバ、コンピューティングデバイスの間でデータを送信するための他のタイプの通信ネットワーク)など、ネットワーク全体に分散されてもよい。
【0070】
図3の例では、コンソール106は、いくつかの例では、例えば、埋込み型のリアルタイムマルチタスキングオペレーティングシステムであってもよい、オペレーティングシステム316、または他のタイプのオペレーティングシステムを実行するコンピュータプラットフォームを提供する、1つまたは複数のプロセッサ312およびメモリ314を含む。次いで、オペレーティングシステム316は、1つまたは複数のソフトウェアコンポーネント317を実行する、マルチタスキングオペレーティング環境を提供する。プロセッサ312は、キーボード、ゲームコントローラ、ディスプレイデバイス、画像キャプチャデバイス、HMDなどの外部デバイスと通信する、1つもしくは複数のI/Oインターフェースを提供する、1つまたは複数のI/Oインターフェース315に結合される。更に、1つまたは複数のI/Oインターフェース315は、ネットワーク104などのネットワークと通信する、1つもしくは複数の有線または無線ネットワークインターフェースコントローラ(NIC)を含んでもよい。プロセッサ302、312はそれぞれ、マルチコアプロセッサ、コントローラ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、あるいは等価の離散的なまたは統合された論理回路類のうち任意の1つもしくは複数を備えてもよい。メモリ304、314は、データおよび実行可能なソフトウェア命令を格納する、ランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、プログラマブル読出し専用メモリ(PROM)、消去可能プログラマブル読出し専用メモリ(EPROM)、電気消去可能プログラマブル読出し専用メモリ(EEPROM)、およびフラッシュメモリなど、任意の形態のメモリを含んでもよい。
【0071】
コンソール106のソフトウェアアプリケーション317は、人工現実アプリケーション全体を提供するように動作する。この例では、ソフトウェアアプリケーション317は、アプリケーションエンジン320、レンダリングエンジン322、ジェスチャー検出器324、姿勢トラッカー326、およびユーザインターフェースエンジン328を含む。
【0072】
一般に、アプリケーションエンジン320は、例えば、遠隔会議アプリケーション、ゲーミングアプリケーション、ナビゲーションアプリケーション、教育アプリケーション、訓練またはシミュレーションアプリケーションなどの、人工現実アプリケーションを提供し提示する機能性を含む。アプリケーションエンジン320は、例えば、人工現実アプリケーションをコンソール106に実装するための、1つもしくは複数のソフトウェアパッケージ、ソフトウェアライブラリ、ハードウェアドライバ、および/またはアプリケーションプログラムインターフェース(API)を含んでもよい。アプリケーションエンジン320による制御に応答して、レンダリングエンジン322は、3D人工現実コンテンツを生成して、HMD 112のアプリケーションエンジン340によってユーザに対して出力および/または提示する(例えば、HMD 112を通した表示、音、力覚フィードバック、またはその他)。
【0073】
アプリケーションエンジン320およびレンダリングエンジン322は、姿勢トラッカー326によって決定されるような、基準フレーム、一般的にはHMD 112の視点に対する現在の姿勢情報にしたがって、ユーザ110に対して表示および/または提示する人工コンテンツを構築する。現在の視点に基づいて、レンダリングエンジン322は、場合によっては、ユーザ110の実世界3D環境上に少なくとも部分的に重ねられてもよい、3D人工現実コンテンツを構築する。このプロセスの間、姿勢トラッカー326は、移動情報およびユーザコマンドなど、HMD 112から受信した感知データ、ならびにいくつかの例では、外部カメラなどの任意の外部センサ90(
図1A、
図1B)からのデータに対して動作して、ユーザ110による動作、および/またはユーザ110に対する特徴追跡情報など、実世界環境内の3D情報をキャプチャする。感知データに基づいて、姿勢トラッカー326は、HMD 112の基準フレームに対する現在の姿勢を決定し、現在の姿勢にしたがって、1つまたは複数のI/Oインターフェース315を介してHMD 112に通信して、ユーザ110に対して表示する、人工現実コンテンツを構築する。
【0074】
更に、感知データに基づいて、ジェスチャー検出器324は、ユーザのオブジェクト(例えば、手、腕、手首、親指以外の指、掌、親指)の追跡された動作、構成、位置、および/または向きを分析して、ユーザ110によって実施された1つまたは複数のジェスチャーを識別する。より具体的には、ジェスチャー検出器324は、HMD 112の画像キャプチャデバイス138および/またはセンサ90および外部カメラ102によってキャプチャされた画像データ内で認識されたオブジェクトを分析して、ユーザ110の手および/または腕を識別するとともに、HMD 112に対する手および/または腕の移動を追跡して、ユーザ110によって実施されたジェスチャーを識別する。ジェスチャー検出器324は、キャプチャされた画像データに基づいて、手、指、および/または腕の位置および向きに対する変化を含む移動を追跡し、オブジェクトの動作ベクトルをジェスチャーライブラリ330の1つまたは複数のエントリと比較して、ユーザ110によって実施されたジェスチャーまたはジェスチャーの組み合わせを検出してもよい。ジェスチャーライブラリ330における一部のエントリはそれぞれ、ユーザの手、特定の親指以外の指、親指、手首、および/または腕の相対的経路または空間的並進および回転など、一連の動作または動作のパターンとしてジェスチャーを定義してもよい。ジェスチャーライブラリ330における一部のエントリはそれぞれ、特定の時間における、あるいはある期間にわたる、ユーザの手および/または腕(もしくはその部分)の構成、位置、および/または向きとしてジェスチャーを定義してもよい。ジェスチャーのタイプの他の例が可能である。それに加えて、ジェスチャーライブラリ330におけるエントリはそれぞれ、定義されたジェスチャーまたは一連のジェスチャーに対して、HMD 112の現在の視野に対する空間的関係、個人のリアルタイム視線追跡によって決定されてもよいような、ユーザが現在観察している特定の領域に対する空間的関係、表示されている人工コンテンツのタイプ、実行されているアプリケーションのタイプなど、ジェスチャーまたは一連のジェスチャーが動作を始動させるのに必要な条件を指定してもよい。
【0075】
ジェスチャーライブラリ330におけるエントリはそれぞれ更に、定義されたジェスチャーまたはジェスチャーの組み合わせ/一連のジェスチャーに対して、ソフトウェアアプリケーション317によって実施されるように所望の応答または動作を指定してもよい。例えば、本開示の技術によれば、既定のジェスチャーのうち1つの検出に応答して、ユーザインターフェースエンジン328が、ユーザに対して表示される人工現実コンテンツに対するオーバーレイとして、ユーザインターフェースを動的に生成し、それによってユーザ110が、人工現実コンテンツと対話しているときであっても、HMD 112および/またはコンソール106を構成するためにユーザインターフェースを簡単に呼び出すことができるように、特定の専用のジェスチャーが既定されてもよい。他の例では、特定のジェスチャーは、入力を提供する、オブジェクトを選択する、アプリケーションを起動するなど、他の動作と関連付けられてもよい。
【0076】
図4は、本開示の技術による、ジェスチャー検出およびユーザインターフェース生成が
図1A、
図1Bの人工現実システムのHMD 112によって実施される例を示すブロック図である。
【0077】
この例では、
図3と同様に、HMD 112は、いくつかの例では、例えば、埋込み型のリアルタイムマルチタスキングオペレーティングシステムであってもよい、オペレーティングシステム305、または他のタイプのオペレーティングシステムを実行するコンピュータプラットフォームを提供する、1つまたは複数のプロセッサ302およびメモリ304を含む。次いで、オペレーティングシステム305は、1つまたは複数のソフトウェアコンポーネント417を実行する、マルチタスキングオペレーティング環境を提供する。更に、プロセッサ302は、電子ディスプレイ203、モーションセンサ206、および画像キャプチャデバイス138に結合される。
【0078】
図4の例では、ソフトウェアコンポーネント417は、人工現実アプリケーション全体を提供するように動作する。この例では、ソフトウェアアプリケーション417は、アプリケーションエンジン440、レンダリングエンジン422、ジェスチャー検出器424、姿勢トラッカー426、およびユーザインターフェースエンジン428を含む。様々な例では、ソフトウェアコンポーネント417は、
図3のコンソール106の相手方コンポーネント(例えば、アプリケーションエンジン320、レンダリングエンジン322、ジェスチャー検出器324、姿勢トラッカー326、およびユーザインターフェースエンジン328)と同様に動作して、ユーザ110の検出されたジェスチャーにしたがってユーザ110に対して表示される人工コンテンツの上に重ねられる、またはその一部としての、ユーザインターフェース要素を構築する。いくつかの例では、レンダリングエンジン422は、ユーザ110の実世界物理的環境上に少なくとも部分的に重ねられてもよい、3D人工現実コンテンツを構築する。
【0079】
図3に関して記載した例と同様に、感知データに基づいて、ジェスチャー検出器424は、ユーザのオブジェクト(例えば、手、腕、手首、親指以外の指、掌、親指)の追跡された動作、構成、位置、および/または向きを分析して、ユーザ110によって実施された1つまたは複数のジェスチャーを識別する。本開示の技術にしたがって、ユーザインターフェースエンジン428は、ユーザ110に対して表示される人工現実コンテンツの一部としての、例えばその上に重ねられる、ユーザインターフェース要素を生成し、ならびに/あるいはジェスチャー検出器424によって検出される、ユーザ110の1つもしくは複数のジェスチャーまたはジェスチャーの組み合わせに基づいて、動作を実施する。より具体的には、ジェスチャー検出器424は、HMD 112の画像キャプチャデバイス138および/またはセンサ90もしくは外部カメラ102によってキャプチャされた画像データ内で認識されたオブジェクトを分析して、ユーザ110の手および/または腕を識別するとともに、HMD 112に対する手および/または腕の移動を追跡して、ユーザ110によって実施されたジェスチャーを識別する。ジェスチャー検出器424は、キャプチャされた画像データに基づいて、手、指、および/または腕の位置および向きに対する変化を含む移動を追跡し、オブジェクトの動作ベクトルをジェスチャーライブラリ430の1つまたは複数のエントリと比較して、ユーザ110によって実施されたジェスチャーまたはジェスチャーの組み合わせを検出してもよい。
【0080】
ジェスチャーライブラリ430は
図3のジェスチャーライブラリ330に類似している。ジェスチャーライブラリ430におけるエントリはそれぞれ、定義されたジェスチャーまたは一連のジェスチャーに対して、HMD 112の現在の視野に対する空間的関係、個人のリアルタイム視線追跡によって決定されてもよいような、ユーザが現在観察している特定の領域に対する空間的関係、表示されている人工コンテンツのタイプ、実行されているアプリケーションのタイプなど、ジェスチャーが動作を始動させるのに必要な条件を指定してもよい。
【0081】
一致するジェスチャーまたはジェスチャーの組み合わせの検出に応答して、HMD 112は、ジェスチャーライブラリ430の一致するエントリに割り当てられた応答または動作を実施する。例えば、本開示の技術によれば、ジェスチャー検出器424が既定のジェスチャーのうち1つを検出するのに応答して、ユーザインターフェースエンジン428が、ユーザに対して表示される人工現実コンテンツに対するオーバーレイとして、ユーザインターフェースを動的に生成し、それによってユーザ110が、人工現実コンテンツを見ながら、HMD 112を構成するためにユーザインターフェースを簡単に呼び出すことができるように、特定の専用のジェスチャーが既定されてもよい。他の例では、ジェスチャー検出器424が既定のジェスチャーのうち1つを検出するのに応答して、ユーザインターフェースエンジン428および/またはアプリケーションエンジン440は、入力を受信し、ユーザインターフェース要素と関連付けられた値またはパラメータを選択し、アプリケーションを起動し、構成可能な設定を修正し、メッセージを送信し、プロセスを開始もしくは停止し、または他の動作を実施してもよい。
【0082】
図5A、
図5B、および
図5Cは、本開示の1つまたは複数の態様による、HMD 112のユーザによって実施される摘まんで引くジェスチャーに応答して、人工現実ディスプレイに提示される一例の一連の人工現実コンテンツを示している。
図5A、
図5B、および
図5Cはそれぞれ、人工現実コンテンツ522A、人工現実コンテンツ522B、および人工現実コンテンツ522C(全体として「人工現実コンテンツ522」として言及される)を示している。それぞれの事例において、人工現実コンテンツ522は、UIパネル560の付近またはそこから様々な距離に位置付けられる、UIピンチ要素562と相互作用する仮想の手136を含む。本明細書における手132に対する言及は、仮想の手136に対応する物理的な手に対応し、その意味で、手132および仮想の手136は互いに対応してもよく、適切な場合、手132および仮想の手136は、本明細書では交換可能に言及されてもよい。また、
図5A、
図5B、および
図5Cを参照して記載する動作は、以下、主に
図4のブロック図を参照して記載する。しかしながら、かかる動作は、
図3の対応する構成要素、モジュール、および/または要素によって、対応する手法で実施されてもよい。したがって、HMD 112によって実施されるものとして本明細書に記載する動作は、他の例では、例えばコンソール106(例えば、
図3に対応する例では)を含む、他のデバイスまたはシステムによって実施され得ることが理解されるべきである。
【0083】
図5Aの例では、また本開示の1つまたは複数の態様によれば、HMD 112は人工現実コンテンツ522Aを提示してもよい。例えば、
図4の文脈において記載することができる例を参照すると、姿勢トラッカー426は、センサ90(例えば、
図1Aを参照)などからの、移動情報およびデータを検出する。姿勢トラッカー426は、姿勢情報をレンダリングエンジン422に出力する。レンダリングエンジン422は、検出された入力に基づいて、また姿勢トラッカー426によって決定されるような、人工現実コンテンツ122の視点に基づいて、人工現実コンテンツ522Aを構築する。レンダリングエンジン422は、アプリケーションエンジン440に、人工現実コンテンツ522Aを出力させて、
図5Aに示される手法で表示および/または提示させる。人工現実コンテンツ522Aは、例えば、
図2、
図3、および/または
図4に示されるディスプレイ203など、HMD 112内のディスプレイに提示されてもよい。
【0084】
図5Aでは、UIピンチ要素562は最初に、UIピンチ要素初期位置561に位置付けられてもよい。手132(または、手132の表現としての仮想の手136)は、UIピンチ要素初期位置561の近傍に位置付けられて示される。
【0085】
図5Bは、手132の移動に応答してHMD 112によって提示されてもよい、更新された人工現実コンテンツ522Bの一例を示している。例えば、
図4および
図5Aを参照すると、ジェスチャー検出器424は、画像キャプチャデバイス138、カメラ102、および/またはセンサ90のうち1つまたは複数などからの、入力を検出する。ジェスチャー検出器424は、入力に基づいて、手132の動作に関する情報を決定する。ジェスチャー検出器424は更に、手132の動作が、
図5AのUIピンチ要素初期位置561に位置するUIピンチ要素562の近傍において、手132の二本の指が摘まむ構成を形成することを含むことを決定する。ジェスチャー検出器424は、手132が摘まむ構成で保持されている時間の量を決定する。ジェスチャー検出器424は、UIピンチ要素562と関連付けられた摘まむ構成に関する情報を、レンダリングエンジン422に出力する。ジェスチャー検出器424は更に、手132が摘まむ構成のままで後に続く引く動作を実施していることを決定する。ジェスチャー検出器424は、引く動作に関する情報をレンダリングエンジン422に出力する。レンダリングエンジン422は、ジェスチャー検出器424から受信した引く動作に関する情報と一貫した形でUIピンチ要素562が動かされるように、人工現実コンテンツ522Aを更新する。加えて、レンダリングエンジン422は、人工現実コンテンツ522Aを更新して、人工現実コンテンツ522Bを生成する。レンダリングエンジン422は、アプリケーションエンジン440に、
図5Bに示される手法で、人工現実コンテンツをディスプレイ203に提示させる。
【0086】
図5Bでは、人工現実コンテンツ522Bは、記載する手法で手132の移動に応答して更新された後の、人工現実コンテンツ522Aに対応する。例えば、UIピンチ要素562は、UIピンチ要素初期位置561からある距離動かされて示される。人工現実コンテンツ522Bは、UIピンチ要素初期位置561とUIピンチ要素562の新しい位置との間のUIストリング要素564を示し、それによって、UIピンチ要素初期位置561に対するUIピンチ要素562の距離および空間位置の視覚的指示を提供する。距離565Bは、手132によって実施される引く動作の距離を表し、UIストリング要素564にほぼ等しい長さを有する。いくつかの例では、ジェスチャー検出器424は、摘まんで引くジェスチャーを定性化するために、手132が摘まんだ構成のままで手132の引く動作が閾値距離を十分に上回る(例えば、長さまたは距離が十分である)ことを要求してもよい。換言すれば、
図5Bに示されるような移動(例えば、距離565Bに対応)は、摘まんで引くジェスチャーとして定性化するのには不十分なことがある。
【0087】
図5Cは、手132の更なる移動に応答してHMD 112によって提示されてもよい、更新された人工現実コンテンツの一例を示している。例えば、
図5Bおよび
図4を参照すると、ジェスチャー検出器424は更なる入力を検出する。ジェスチャー検出器424は、入力を分析し、入力に基づいて、手132が摘まむ構成のままで、摘まんで引くジェスチャーに対応するように十分動かされていると決定する。ジェスチャー検出器424は、検出された摘まんで引くジェスチャーに関する情報を、ユーザインターフェースエンジン428に出力する。ユーザインターフェースエンジン428は、レンダリングエンジン422に、より長いUIストリング要素564を示す人工現実コンテンツ522Cを生成させる。レンダリングエンジン422は、アプリケーションエンジン440に、
図5Cに示される手法で、人工現実コンテンツ522Cをディスプレイ203に提示させる。
【0088】
図5Cでは、距離565Cは距離565B(
図5Bに図示)よりも長い。距離565Cは、
図5Cの例では、摘まんで引くジェスチャーとして定性化するのに十分な長さであってもよいが、
図5Bに示される手132(または仮想の手136)の移動は不十分なことがある。いくつかの例では、本明細書に更に記載するように、摘まんで引くジェスチャーとして定性化する移動は、ユーザインターフェース要素または更なる人工現実コンテンツの表示を含むがそれに限定されない、HMD 112による更なる動作を始動またはゲーティングしてもよい。
【0089】
図6A、
図6B、および
図6Cは、本開示の1つまたは複数の態様による、HMD 112のユーザによって実施される摘まんで引くジェスチャーに応答してディスプレイに提示される、一例の一次元スライダUI要素を含む一連の人工現実コンテンツを示している。
図6A、
図6B、および
図6Cはそれぞれ、人工現実コンテンツ610A、人工現実コンテンツ610B、および人工現実コンテンツ610Cを示している。人工現実コンテンツの各例は、UIパネル560から様々な距離にある仮想の手136およびUIピンチ要素562を含む。
図6Aでは、UIピンチ要素562はUIピンチ要素初期位置561に位置付けられる。
【0090】
図6Aの例では、また本開示の1つまたは複数の態様によれば、HMD 112は人工現実コンテンツ610Aを提示してもよい。例えば、
図4の文脈において記載することができる例を参照すると、姿勢トラッカー426は、センサ90などからの、移動情報およびデータを検出する。姿勢トラッカー426は、姿勢情報をレンダリングエンジン422に出力し、レンダリングエンジン422は、検出された入力に基づいて、また姿勢トラッカー426によって決定されるような、人工現実コンテンツ122の視点に基づいて、人工現実コンテンツ610Aを構築する。レンダリングエンジン422は、アプリケーションエンジン440に、人工現実コンテンツ610Aを出力させて、
図6Aに示される手法で表示および/または提示させる。人工現実コンテンツ610Aは、例えば、
図2に示されるディスプレイ203など、HMD 112内のディスプレイに提示されてもよい。
【0091】
図6Bは、手132の摘まんで引く移動に応答してHMD 112によって提示されてもよい、一例の一次元スライダUI要素を示している。例えば、
図4および
図6Aを参照すると、ジェスチャー検出器424は、画像キャプチャデバイス138、カメラ102、および/またはセンサ90のうち1つまたは複数などからの、入力を検出する。ジェスチャー検出器424は、入力に基づいて、手132の二本の指がUIピンチ要素562の近傍で摘まむ構成を形成するように、手132が移動していることを決定する。ジェスチャー検出器424は、手132が摘まむ構成のまま後に続く引く動作を実施していることを決定する。ジェスチャー検出器424は、検出動作が、
図5A、
図5B、および
図5Cに関連して記載するような、摘まんで引くジェスチャーとして定性化することを決定する。レンダリングエンジン422は、人工現実コンテンツ610Aを更新して、手132の移動を反映した人工現実コンテンツ610Bを生成する。レンダリングエンジン422は、アプリケーションエンジン440に、
図6Bに示される手法で、人工現実コンテンツ610Bをディスプレイに提示させる。
【0092】
図6Bでは、人工現実コンテンツ610Bは、
図6Bの例では一次元スライダUI要素612である、UI入力要素を含む。記載する例では、スライダUI要素612は、ジェスチャー検出器424によって検出された摘まんで引くジェスチャーに応答して提示される。人工現実コンテンツ610Bは、手132がピンチ構成であった後の手132の移動に対応する距離を反映する、UIストリング要素564を含む。UIピンチ要素562を取り囲む円613は、一次元スライダUI要素612の一部であり、UIピンチ要素562の周りの円613の直径は、連続(即ち、非離散的な)入力値に変換されてもよい。いくつかの例では、入力値は、あるいは、UIピンチ要素初期位置561とUIピンチ要素562との間の距離を表す、UIストリング要素564の長さに対応してもよい。いずれの場合も、一次元スライダUI要素612によって表される入力値は、音量制御に対する入力、視覚ズーム値に対する入力、または一次元連続変数によって表されてもよい他の任意の入力に対応してもよい。
【0093】
図6Cは、手132の更なる移動に応答してHMD 112によって提示されてもよい、更新された人工現実コンテンツの一例を示している。例えば、
図6Bおよび
図4を参照すると、ジェスチャー検出器424は更なる入力を検出する。ジェスチャー検出器424は、入力を分析し、入力に基づいて、手132が摘まむ構成のままでUIピンチ要素初期位置561から更に引かれていることを決定する。ジェスチャー検出器424は、追加の移動に関する情報を、ユーザインターフェースエンジン428に出力する。レンダリングエンジン422は、人工現実コンテンツ610Bを更新して、より長いUIストリング要素564、およびUIピンチ要素562の周りのより大径の円613を示す、人工現実コンテンツ610Cを生成する。レンダリングエンジン422は、アプリケーションエンジン440に、
図6Cに示される手法で、人工現実コンテンツ610Cをディスプレイに提示させる。
【0094】
図6Cでは、一次元スライダUI要素612は、
図6Bよりも、円613がより大きい直径を有し、ならびに/またはより長いUIストリング要素564を有するように更新される。更新された円613によって表されるより大きい値は、更新されたより大きい入力値を表し、ならびに/またはそれに対応してもよい。
【0095】
HMD 112は、ユーザの選択された入力を識別する移動を検出してもよい。例えば、いくつかの例では、
図4および
図6Cを参照すると、ジェスチャー検出器424は更なる入力を検出する。ジェスチャー検出器424は、入力が、手132の摘まんだ指が離れていることに対応して、UIピンチ要素562を解除する動作に対応していることを決定する。ジェスチャー検出器424は、解除動作に関する情報を、ユーザインターフェースエンジン428に出力する。ユーザインターフェースエンジン428は、解除動作が検出されたときのUIストリング要素564の位置に基づいて、HMD 112のユーザによって選択される入力値に対応する、選択された入力値を決定する。いくつかの例では、選択された入力値は、手132がUIピンチ要素562を解除する前の一次元スライダUI要素612の最後の状態に対応する値に対応する。ユーザインターフェースエンジン428は、選択された入力値に関する情報を、アプリケーションエンジン440に出力する。アプリケーションエンジン440は、選択された入力値と一貫した手法で、環境を更新する。環境がどのように更新されるかは、どの一次元スライダUI要素612が関連付けられるかに応じて決まってもよい。いくつかの例では、一次元スライダUI要素612は、音量、明るさ、または人工現実環境の他の任意の適切な属性を調節するのに使用されてもよい。
【0096】
HMD 112は、一次元スライダUI要素612を除去するように、人工現実コンテンツ610Cを更新してもよい。例えば、
図4および
図6Cを参照すると、ユーザインターフェースエンジン428は、手132がUIピンチ要素562を解除していることをレンダリングエンジン422に通知する。レンダリングエンジン422は、人工現実コンテンツ610Cの更新されたものを生成して、一次元スライダUI要素612を人工現実コンテンツ610Cから除去し、UIピンチ要素562をUIピンチ要素初期位置561(例えば、
図6Aを参照)に回復させる。レンダリングエンジン422は、アプリケーションエンジン440に、更新された人工現実コンテンツ610CをHMD 112と関連付けられたディスプレイに提示させる。
【0097】
記載する例では、HMD 112は、手132の摘まんだ指が離されていることを検出すると、ユーザの選択された入力を識別する。かかる動作は、一般に、一次元スライダUI要素612との対話が終了されるはずであることを示す、UIピンチ要素562を解除する動作に対応してもよい。しかしながら、他の例では、HMD 112は、手132の異なる動作、手132が関与する異なるジェスチャー、または手132もしくは腕134の他の任意の動作を認識することを含むが、それに限定されない別の手法で、ユーザの選択された入力を識別してもよい。
【0098】
図7Aおよび
図7Bは、本開示の1つまたは複数の態様による、HMD 112のユーザによって実施される摘まんで引くジェスチャーに応答してディスプレイに提示される、一例のスイッチUI要素(即ち、UI入力要素)を含む一連の人工現実コンテンツを示している。
図7Aおよび
図7Bはそれぞれ、人工現実コンテンツ620Aおよび人工現実コンテンツ620Bを示している。人工現実コンテンツ620の各例は、摘まんで引くジェスチャーが認識された後の、UIピンチ要素562、UIストリング要素564、および仮想の手136を含む。
【0099】
図7Aの例では、また本開示の1つまたは複数の態様によれば、HMD 112は人工現実コンテンツ620A内のスイッチUI要素622を提示してもよい。例えば、
図4および
図7Aを参照すると、ジェスチャー検出器424は、UIピンチ要素初期位置561の近傍における手132の摘まむ構成と、それに続く手132の引く動作とを検出する。ジェスチャー検出器424は、手132の移動が摘まんで引くジェスチャーに対応することを決定する。レンダリングエンジン422は、スイッチUI要素622を含む人工現実コンテンツ620Aを構築する。レンダリングエンジン422は、アプリケーションエンジン440に、人工現実コンテンツ620Aを出力させて、
図7Aに示される手法で表示および/または提示させる。
【0100】
図7Aでは、人工現実コンテンツ620Aは、第1のスイッチ位置623および第2のスイッチ位置624を含む、スイッチUI要素622を含む。UIストリング要素564は、スイッチUI要素622と交差し、
図7Aに示される例では、UIストリング要素564はスイッチ位置623内のスイッチUI要素622と交差する。ジェスチャー検出器424は、UIピンチ要素562の位置およびスイッチUI要素622におけるUIストリング要素564の交差に基づいて、スイッチ位置623またはスイッチ位置624のどちらが手132を位置付けるユーザによって選択されているかを決定する。
図7Aの例では、レンダリングエンジン422は、UIストリング要素564がスイッチ位置623と交差するので、手132の位置および移動が第1のスイッチ位置に対応すると解釈する。
【0101】
図7Bは、手132の更なる移動に応答してHMD 112によって提示されてもよい、更新された人工現実コンテンツの一例を示している。例えば、
図7Aおよび
図4を参照すると、ジェスチャー検出器424は、ジェスチャー検出器424が決定する更なる入力が、下方に移動させられる手132の平行移動に対応することを検出する。ジェスチャー検出器424は、情報をユーザインターフェースエンジン428に出力し、ユーザインターフェースエンジン428は、移動によってUIストリング要素564がスイッチ位置624と交差することを決定する。ユーザインターフェースエンジン428は、手132の位置および移動がスイッチ位置624の選択に対応することを決定する。レンダリングエンジン422は、人工現実コンテンツ620Aを更新して、UIストリング要素564がスイッチ位置624と交差することを反映した人工現実コンテンツ620Bを生成する。レンダリングエンジン422は、アプリケーションエンジン440に、
図7Bに示される手法で、人工現実コンテンツ620Bを出力させて表示する。
【0102】
図7Bでは、UIピンチ要素562は、UIストリング要素564がスイッチ位置623ではなくスイッチ位置624と交差し、それによってUI要素622のトグルに対応するように、手132によって位置付けられている。いくつかの例では、レンダリングエンジン422は、スイッチUI要素622のトグル、またはスイッチUI要素622に対応する新しい値を反映するように、UIピンチ要素562を、異なる色、陰影、またはパターンに更新してもよい。例えば、UIピンチ要素562の色は、スイッチ位置624に対応する領域と同様または同じになるように変更されてもよい。
【0103】
図7Cは、スイッチUI要素に対する摘まんで引くジェスチャーの二次元表現を示す概念図である。
図7Cは、一般に、「持ち上げられた」または「引っ張られた」状態のUIピンチ要素562を示す、
図7Aに示されるようなスイッチUI要素622に対応する。
図7Cは、
図7AのUIパネル560に垂直な面内の相対距離および空間位置を示している。
図7Aの例では、スイッチUI要素622はUIパネル560と平行であってもよいので、スイッチUI要素622は、UIパネル560のように、やはり
図7Cに示される面に垂直に示されている。
図7Cでは、UIピンチ要素初期位置561およびUIピンチ要素562は、UIストリング要素564がUIピンチ要素初期位置561とUIピンチ要素562との間に延在して示されている。いくつかの例では、UIピンチ要素初期位置561はUIパネル560の位置には位置付けられず、それよりもむしろ、
図7Cに示される形で、UIパネル560からわずかな距離を置いて位置付けられる。UIパネル560とUIピンチ要素初期位置561との間にかかる距離を提供することで、ユーザは、UIピンチ要素562のわずかに後方に手を伸ばすことによって、UIピンチ要素562(UIピンチ要素初期位置561に位置付けられたとき)を掴むかまたは摘まむのを視覚化することができる。
【0104】
図7Cの例では、UIストリング要素564は、
図7Aに示されるトグル位置に対応する、スイッチ位置623内でスイッチUI要素622と交差する。図示されるように、スイッチUI要素622は、UIピンチ要素初期位置561とUIピンチ要素562との間に位置付けられ、スイッチUI要素622の位置は、摘まんで引くジェスチャーを始動するのに十分な引く動作として定性化するために、UIピンチ要素562が引かれる必要があってもよい閾値距離に対応してもよい。他の例では、スイッチUI要素622は、UIパネル560に平行な位置であるがUIピンチ要素初期位置561、またはUIピンチ要素初期位置561から、摘まんで引くジェスチャーに対する閾値引っ張り距離に対応しない距離など、どこかの位置に位置付けられてもよい。
【0105】
図8Aは、本開示の1つまたは複数の態様による、一例の径方向アイテムピッカーUI入力要素を含む人工現実コンテンツを示している。
図8Aの例では、ユーザインターフェースエンジン428は、UIストリング要素564が径方向アイテムピッカーUI要素632とどこで交差するかを決定することによって、離散的な数の入力のうち1つを識別してもよい。いくつかの例では、ユーザインターフェースエンジン428は、手132の移動を解釈するジェスチャー検出器424からの情報に基づいて、かかる決定を行ってもよい。
図8Aに示される例では、ユーザインターフェースエンジン428は、手132の位置付けに基づいて、8つの離散的な入力値(それぞれ、径方向アイテムピッカーUI要素632の8つの小さい楕円のうち1つによって表される)のうちどれがユーザによって選択されているかを決定する。径方向アイテムピッカーUI要素632に示される入力値は、アイコン、絵文字、特定の色、特定のメニューアイテムなど、入力として選択される任意の適切なコンテンツに対応してもよい。径方向アイテムピッカーUI要素632における選択可能なアイテムは、径方向の様式で配置された楕円形の表示要素として示されているが、他の表示要素および配置が使用されてもよい。例えば、径方向アイテムピッカーUI要素632は、他の例では、正方形もしくは長方形の表示要素のグリッド、メニューアイテムのスタック、または可変形状の表示アイコンのモザイクを提示してもよい。ユーザは、手132の摘まむ構成を解除することによって、または別の動作を実施することによってなど、摘まんで引くジェスチャーを終了することによって、表示要素のうち1つを選択してもよい。
【0106】
図8Bは、本開示の1つまたは複数の態様による、一例の径方向スライダUI入力要素を含む人工現実コンテンツを示している。
図8Bの例では、ユーザインターフェースエンジン428は、径方向スライダUI要素642内に含まれる濃い色の径方向楕円を含む、径方向スライダUI要素642の比率に対応する連続変数に値を割り当ててもよい。いくつかの例では、ユーザインターフェースエンジン428は、手132が摘まむ構成で構成されているときの手132の径方向移動を解釈するジェスチャー検出器424からの情報に基づいて、かかる決定を行ってもよい。
図8Bの例では、手132の反時計方向の径方向移動は、入力変数の値の増加に対応する。径方向アイテムピッカーUI要素632は、連続入力値を表すように構成されるが、他の例では、径方向アイテムピッカーUI要素632は、手132が反時計方向の動作(もしくは別の動作)で動かされると増加する離散的な入力値など、離散的な値を表すように構成されてもよい。
【0107】
図8Cは、本開示の1つまたは複数の態様による、一例のカラーピッカーUI入力要素を含む人工現実コンテンツを示している。
図8Cの例では、ユーザインターフェースエンジン428は、色もしくは値の二次元スペクトル内の、またはカラーピッカーUI要素652内に含まれる色スペクトルもしくはグレースケールスペクトルによって表される、地点に対応する連続変数に値を割り当ててもよい。
図8Cでは、カラーピッカーUI要素652内の各地点は、カラーピッカーUI要素652内のスペクトル内における可能な値の連続体内の入力値を表してもよい。ユーザインターフェースエンジン428は、手132の移動をカラーピッカーUI要素652内の値の連続体内における異なる位置へと変換してもよく、位置は、UIストリング要素564とカラーピッカーUI要素652との交点によって決定される。手132の移動はUIピンチ要素562の、したがってUIストリング要素564の移動に変換できるので、手132の移動は、カラーピッカーUI要素652内の異なる地点にも変換できる。ユーザは、摘まんで引くジェスチャーを終了することによって、カラーピッカーUI要素652内のスペクトル内における地点のうち1つを選択してもよい。
【0108】
図9A、
図9B、および
図9Cは、本開示の1つまたは複数の態様による、HMD 112のユーザによって実施される摘まんで引くジェスチャーに応答してディスプレイに提示される、一例の径方向アイテムピッカーUI入力要素を含む一連の人工現実コンテンツを示している。
図9A、
図9B、および
図9Cはそれぞれ、人工現実コンテンツ660A、人工現実コンテンツ660B、および人工現実コンテンツ660Cを示している。人工現実コンテンツ660の各例は、摘まんで引くジェスチャーが認識された後のUIストリング要素564、および仮想の手136を含む。また、各例には、手132の位置に基づいてメニューアイテムが変化する、一例の径方向アイテムピッカーUI要素622が含まれる。
【0109】
図9Aの例では、また本開示の1つまたは複数の態様によれば、HMD 112は、
図9Aに示される4つの楕円によって表される、4つの入力選択肢の1つを選択するのに使用されてもよい、人工現実コンテンツ660A内に径方向アイテムピッカーUI要素662Aを提示してもよい。例えば、
図4を参照すると、ジェスチャー検出器424は、UIピンチ要素初期位置561の近傍における手132の摘まむ構成と、それに続く手132の引く動作とを検出する。ジェスチャー検出器424は、手132の移動が摘まんで引くジェスチャーに対応することを決定する。レンダリングエンジン422は、径方向アイテムピッカーUI要素662Aを含む人工現実コンテンツ660Aを構築する。レンダリングエンジン422は、アプリケーションエンジン440に、人工現実コンテンツ660Aを出力させて、
図9Aに示される手法で表示および/または提示させる。人工現実コンテンツ660Aは、例えば、
図2に示されるディスプレイ203など、HMD 112内のディスプレイに提示されてもよい。
【0110】
図9Bは、手132の更なる移動に応答してHMD 112によって提示されてもよい、更新された径方向アイテムピッカーUI要素の一例を示している。例えば、
図9Aおよび
図4を参照すると、ジェスチャー検出器424は、ジェスチャー検出器424が決定する更なる入力が、手132をUIピンチ要素初期位置561から更に離れるように移動させる、更なる引く動作に対応することを検出する。ジェスチャー検出器424は、手132の動作に関する情報を、ユーザインターフェースエンジン428に出力する。ユーザインターフェースエンジン428は、手132の位置に基づいて、径方向アイテムピッカーUI要素662Aの粒度を増加させる。ユーザインターフェースエンジン428は、情報をレンダリングエンジン422に出力する。レンダリングエンジン422は、人工現実コンテンツ660Aを更新して、人工現実コンテンツ660Bを生成する。レンダリングエンジン422は、アプリケーションエンジン440に、
図9Bに示される手法で、人工現実コンテンツ660Bを出力させる。
図9Bで、人工現実コンテンツ660Bは、
図9Aに示される、径方向アイテムピッカーUI要素662Aよりも多くの選択可能な表示要素を有する、更新された径方向アイテムピッカーUI要素662Bを含む。
【0111】
図9Cは、手132の更に他の移動に応答してHMD 112によって提示されてもよい、更に更新された径方向アイテムピッカーUI要素の一例を示している。例えば、
図9Bおよび
図4を参照すると、ジェスチャー検出器424は、ジェスチャー検出器424が決定する更なる入力が、
図9Aおよび
図9Bに示される引く動作の連続に対応することを検出する。ユーザインターフェースエンジン428は、手132の位置に基づいて、径方向アイテムピッカーUI要素662Bの粒度を更に増加させるべきであると決定する。レンダリングエンジン422は、人工現実コンテンツ660Bを更新して、人工現実コンテンツ660Cを生成する。レンダリングエンジン422は、アプリケーションエンジン440に、
図9Cに示される手法で、人工現実コンテンツ660Cを出力させて表示する。
図9Cでは、人工現実コンテンツ660Cは、径方向アイテムピッカーUI要素662Aまたは径方向アイテムピッカーUI要素662Bよりも多くの選択可能な表示要素を有する、径方向アイテムピッカーUI要素662Cを含む。
【0112】
図9A、
図9B、および
図9Cの例では、ユーザが手132をUIピンチ要素初期位置561から更に離れるように引くと、径方向アイテムピッカーUI要素662の粒度が増加する。ユーザが手132をUIピンチ要素初期位置561から更に離れるように引く間、UIストリング要素564が長くなり、いずれの場合も、手132が更に離れるように引かれるとき、径方向アイテムピッカーUI要素662は静止したままなので、手132の移動は、交点566の漸進的に小さくなる移動に変換される傾向がある。例えば、
図9Bおよび
図9Cを参照すると、手132を移動させると、UIストリング要素564の長さは、UIピンチ要素初期位置561において、手132の異なる位置に対して異なるUIストリング要素564によって形成される2つの線の間のより小さい角度をもたらすので、
図9Cの交点566Cが
図9Bの交点566Bよりも小さく移動する。換言すれば、
図9Bの手132を8インチ(20.32cm)移動させた場合、その移動は交点566Bを1インチ(2.54cm)動かしてもよい。しかしながら、
図9Cの手132は、
図9BよりもUIピンチ要素初期位置561から遠くに離れるので、
図9Cの手132を8インチ(20.32cm)移動させた場合、その移動は、交点566Cを1インチ(2.54cm)未満移動させる傾向にある。したがって、手132の移動は交点566Cのより微細な移動をもたらすため、手132をUIピンチ要素初期位置561から更に遠くに移動させるので(例えば、
図9Cのように)、高粒度径方向アイテムピッカーUIの使用は適切なことがある。手の移動を実施しているユーザは、径方向アイテムピッカーUI要素662Bと比較して、径方向アイテムピッカーUI要素662Cによって必要とされる微細な移動を実施する際、何らかの更なる困難を知覚しないことがある。
【0113】
図10は、本開示の1つまたは複数の態様による、一例の容量性カラーピッカーUI入力要素672を含む一例の人工現実コンテンツの図である。
図10の例では、HMD 112は、容量性カラーピッカーUI要素672を提示してもよい。例えば、
図4を参照すると、ユーザインターフェースエンジン428は、摘まんで引くジェスチャーなど、ジェスチャー検出器424によって識別されたゲーティングまたは始動するジェスチャーに応答して、容量性カラーピッカーUI要素672を生成する。レンダリングエンジン422は、容量性カラーピッカーUI要素672を含む人工現実コンテンツ670を構築する。レンダリングエンジン422は、アプリケーションエンジン440に、人工現実コンテンツ670を出力させて、
図10に示される手法で表示および/または提示させる。
【0114】
HMD 112は、手132の移動を、容量性カラーピッカーUI要素672を使用する入力変数へと変換してもよい。例えば、
図4および
図10を参照すると、ユーザインターフェースエンジン428は、ジェスチャー検出器424によって検出される情報に基づいて、容量性カラーピッカーUI要素672内におけるUIピンチ要素562の位置を決定してもよい。ユーザインターフェースエンジン428は、UIピンチ要素562の容量性カラーピッカーUI要素672内の位置と関連付けられた、入力値(例えば、色)を決定してもよい。ユーザインターフェースエンジン428は、入力値に関する情報をレンダリングエンジン422に出力してもよい。レンダリングエンジン422は更新された人工現実コンテンツ670を構築する。加えて、レンダリングエンジン422は、手132の位置と関連付けられた入力値によって表される色に対応するように、UIピンチ要素562に陰または色を付けてもよい。容量性カラーピッカーUI入力要素672は、
図10に示されるように、二次元値ではなく三次元値の選択に使用することができるという意味で、カラーピッカーUI要素652とは異なってもよい。いくつかの例では、三次元値は、色相、彩度、および明度値を表してもよく、色相および彩度はストリングの交差によって定義され、明度値は距離によって設定される。RGB色値が関与する例を含む、三次元値を使用する他の実現例が可能である。
【0115】
図11は、本開示の1つまたは複数の態様による、一例の進行状況スライダUI入力要素682を含む人工現実コンテンツを示す概念図である。
図11の例では、HMD 112は、進行状況インジケータ683を含む進行状況スライダUI要素682を提示してもよい。進行状況スライダUI要素682は、UIパネル570内に提示されているビデオクリップの進行状況を時間で表すのに使用されてもよい。
図11の例では、進行状況インジケータ683は、
図11の例では、UIストリング要素564に取り付けられているものとして示される、UIピンチ要素562の移動に基づいて調節することができる。ジェスチャー検出器424および/またはユーザインターフェースエンジン428は、手132の横移動を進行状況インジケータ683の異なる位置に変換する。例えば、手132の右方向移動は、進行状況インジケータ683を、進行状況スライダUI要素682の右側(例えば、ビデオクリップ内の遅い時間に対応する)に向かって移動させてもよい。手132の左方向移動は、進行状況インジケータ683を、進行状況スライダUI要素682の左側(例えば、ビデオクリップ内の早い時間に対応する)に向かって移動させてもよい。HMD 112は、手132の摘まむ構成を解除すると、進行状況インジケータ683の新しい位置に対応する入力値を決定してもよい。
【0116】
本明細書に記載する(例えば、
図5Aで始まって
図11までの)例の多くでは、UIピンチ要素562は、球形のオブジェクトとして示され、一般に、一貫したサイズで示される。しかしながら、他の例では、UIピンチ要素562は異なる形状であることができ、異なるサイズであることができる。UIピンチ要素562の特性は、いくつかの例では、摘まんで引くジェスチャーが使用可能にしてもよい、入力のタイプの視覚的指示を提供してもよい(例えば、選択可能なメニューアイテム、オブジェクト選択、一次元の離散的もしくは連続的変数、二次元変数、三次元容量変数、またはその他)。他の例では、UIピンチ要素562に隣接する(例えば、UIパネル560上の)テキストは、あるいは、または加えて、摘まんで引くジェスチャーが使用可能にしてもよい入力のタイプを示してもよい。
【0117】
図12A、
図12B、および
図12Cは、本開示の1つまたは複数の態様による、一例の物理的スタイラスが関与する一連の人工現実コンテンツを示している。
図12A、
図12B、および
図12Cはそれぞれ、人工現実コンテンツ705A、人工現実コンテンツ705B、および人工現実コンテンツ705Cを示している。図示される例では、人工現実コンテンツの各例は物理的スタイラス710を含む。物理的スタイラス710は物理的ボタン712を含む。物理的スタイラス710は、通常、
図12A、
図12B、および
図12Cに示される人工現実コンテンツ内に提示されてもよい、ユーザの手によって制御および/または保持されてもよい。しかしながら、例示しやすく明瞭にするため、
図12A、
図12B、および
図12Cには手は示されない。
【0118】
人工現実コンテンツ705A、人工現実コンテンツ705B、および人工現実コンテンツ705Cはそれぞれ、
図1Bおよび/または
図1Bに示されるものなど、一例のHMD 112によって提示されてもよい。
図12A、
図12B、および
図12Cは、物理的ボタン712を有する物理的スタイラス710を使用する文脈で記載されるが、他の例では、手のジェスチャーまたは認識された構成に基づいて、仮想スタイラスを使用する類似の技術が用いられてもよい。
【0119】
図12Aの例では、本開示の1つまたは複数の態様によれば、HMD 112は人工現実コンテンツ705Aを提示してもよい。例えば、
図4の文脈において記載することができる例を参照すると、姿勢トラッカー426は、センサ90などからの、移動情報およびデータを検出する。姿勢トラッカー426は、姿勢情報をレンダリングエンジン422に出力し、レンダリングエンジン422は、検出された入力に基づいて、また姿勢トラッカー426によって決定されるような、人工現実コンテンツ122の視点に基づいて、人工現実コンテンツ705Aの初期バージョンを構築する。姿勢トラッカー426は、更なる移動情報を検出し、移動がUIパネル560に沿って移動させられている物理的スタイラス710に対応すると決定する。姿勢トラッカー426は、情報をレンダリングエンジン422に出力し、レンダリングエンジン422は人工現実コンテンツ705Aを構築する。レンダリングエンジン422は人工現実コンテンツ705A内に線720を含む。線720は、UIパネル560に沿った物理的スタイラス710の移動に対応してもよい。レンダリングエンジン422は、アプリケーションエンジン440に、人工現実コンテンツ705Aを出力させて、
図12Aに示される手法で表示および/または提示させる。
【0120】
図12Bは、物理的スタイラス710に対して実施される動きに応答してHMD 112によって提示されてもよい、一例の線厚さUI要素を示している。例えば、
図4および
図12Aを参照すると、ユーザインターフェースエンジン428は、ユーザが物理的ボタン712を選択し、物理的ボタン712を押し下げ、UIパネル560から離れる上向きの動作で物理的スタイラス710を引くことに対応する入力を検出する。(いくつかの例では、これは、上述の図面において記載した摘まんで引くジェスチャーに対応してもよい。)ユーザインターフェースエンジン428は、画像キャプチャデバイス138、カメラ102、および/またはセンサ90のうち1つまたは複数からの画像に基づいて、物理的スタイラス710によって開始される無線信号に基づいて、物理的ボタン712の選択に応答して、および/または別の手法で、かかる入力を検出してもよい。ユーザインターフェースエンジン428は、入力に基づいて、物理的スタイラス710との対話と物理的スタイラス710の移動が、線厚さUI要素732の表示をゲーティングまたは始動する動きに対応すると決定する。ユーザインターフェースエンジン428は、動きに関する情報をレンダリングエンジン422に出力する。レンダリングエンジン422は、人工現実コンテンツ705Aを更新して、物理的スタイラス710の移動および線厚さUI要素732の表示を反映した人工現実コンテンツ705Bを生成する。レンダリングエンジン422は、アプリケーションエンジン440に、
図12Bに示される手法で、人工現実コンテンツ705Bを提示させる。
【0121】
ユーザインターフェースエンジン428は、物理的スタイラス710の更なる移動を検出してもよく、それによって、人工現実コンテンツ705Bにおける線720の幅を修正させてもよい。例えば、再び
図12Bを参照すると、ユーザインターフェースエンジン428は、物理的ボタン712が押し下げられ続けている間、物理的スタイラス710がUIパネル560から更に移動させられたことを検出してもよい。それに応答して、レンダリングエンジン422は、線720をより太い線で再描写させてもよい。同様に、ユーザインターフェースエンジン428は、物理的スタイラス710が(物理的ボタン712の押下げによって)UIパネル560のより近くに移動させられたことを検出してもよく、それに応答して、レンダリングエンジン422は、線720をより細い線で描写させてもよい。ユーザインターフェースエンジン428は、物理的ボタン712が解除されていることを検出してもよく、それによって線厚さUI要素732との対話を終了してもよい。それに応答して、ユーザインターフェースエンジン428は、物理的ボタン712が解除されたときの線厚さUI要素732の状態に対応する厚さであってもよい、線720の選択された厚さを識別してもよい。レンダリングエンジン422は、選択された厚さを線720に適用し、線厚さUI要素732を人工現実コンテンツ705Bから除去してもよい。その後(例えば、ボタン712が解除された後)、ユーザインターフェースがジェスチャーをゲーティングするのが検出されるまで、物理的スタイラス710の更なる移動は、一般に、線720の厚さに影響しないであろう。
【0122】
図12Cは、物理的スタイラス710に対して実施される動きに応答してHMD 112によって提示されてもよい、一例のカラーピッカーUI要素を示している。例えば、再び
図12Aを参照すると、ユーザインターフェースエンジン428は、ユーザが物理的ボタン712を選択し、UIパネル560から離れる上向きの動作で物理的スタイラス710を引くのに対応する入力を検出する。ユーザインターフェースエンジン428は、動作および物理的スタイラス710との対話が、カラーピッカーUI要素742の表示を始動するのに十分であると決定する。ユーザインターフェースエンジン428は、入力に関する情報をレンダリングエンジン422に出力する。レンダリングエンジン422は、人工現実コンテンツ705Aを更新して、物理的スタイラス710の移動およびカラーピッカーUI要素742の表示を反映した人工現実コンテンツ705Cを生成する。レンダリングエンジン422は、アプリケーションエンジン440に、
図12Cに示される手法で、人工現実コンテンツ705Cを提示させる。
【0123】
ユーザインターフェースエンジン428は、物理的スタイラス710の更なる移動を検出してもよく、それによって、線720の色または陰影を修正させてもよい。例えば、
図12Cを参照すると、ユーザインターフェースエンジン428は、物理的ボタン712が押し下げられ続けている間、物理的スタイラス710がUIパネル560の上方の空間内で移動させられたことを検出してもよく、それに応答して、ユーザインターフェースエンジン428は、UIストリング要素564が異なる場所でカラーピッカーUI要素742と交差すると決定してもよい。ユーザインターフェースエンジン428は、UIストリング要素564の交差に対応する色を識別する。ユーザインターフェースエンジン428は、識別された色に関する情報をレンダリングエンジン422に出力する。レンダリングエンジン422は、人工現実コンテンツ705Cを更新して、識別された色を使用して線720を描写することによって識別された色を反映させる。レンダリングエンジン422は、アプリケーションエンジン440に、ディスプレイ203内の人工現実コンテンツ705Cを更新させる。
【0124】
ユーザインターフェースエンジン428は、最終的に、物理的ボタン712が解除されていることを検出してもよい。ユーザインターフェースエンジン428は、かかる動きを、カラーピッカーUI要素742との対話を終了し、現在の色を線720に適用するというユーザの要求として認識してもよい。それに応答して、ユーザインターフェースエンジン428は、選択された色を線720に適用し、カラーピッカーUI要素742を人工現実コンテンツ705Cから除去してもよい。
【0125】
図12Bおよび
図12Cの両方において、物理的スタイラス710は、線厚さUI要素732およびカラーピッカーUI要素742それぞれの上方に位置付けられて示されている。各例において、UI入力要素732および742は、摘まんで引くジェスチャーに関して本明細書に記載したのと同様の手法で、物理的スタイラス710の移動に応答して動作してもよい。換言すれば、物理的スタイラス710は、摘まんで引くジェスチャーによって始動されるものとして本明細書に記載したのと同じUI入力要素のいずれかを始動するのに使用されてもよい。しかしながら、
図12Bおよび
図12Cの例では、かかるUI入力要素は、物理的スタイラス710との対話(例えば、物理的ボタン712の押圧および後に続く物理的スタイラス710の移動)によって始動される。したがって、
図12Bおよび
図12Cは例として示されているが、手132が関与する摘まんで引くジェスチャーに関連して本明細書に記載する他のUI入力要素のいずれかが、代わりに、物理的スタイラス710の動きによってゲーティングされてもよい。かかる例では、それらのUI入力要素は、物理的スタイラス710の対応する移動に応答して動作してもよい。
【0126】
更に、ボタン712の選択または押圧は、UI入力要素の表示を始動する動きの一部として記載されるが、他の例では、かかるUI入力要素は、スタイラス710によってスタイラス710の下方の表面に十分な圧力を加えることなどによって、スタイラス710によって別の手法で始動されてもよい。かかる例では、スタイラス710は、ユーザによって加えられる圧力を認識し、ボタン712が押圧されたときの上述したのと同様の手法で応答してもよい。
【0127】
図13Aは、本開示の1つまたは複数の態様による、一例の人工現実システムによって実施される動作を示すフロー図である。
図13Aについては、
図1Aの人工現実システム10の文脈内で以下に記載する。他の例では、
図13Aに記載する動作は、1つもしくは複数の他の構成要素、モジュール、システム、またはデバイスによって実施されてもよい。更に、他の例では、
図13と関連して記載した動作は、併合されるか、異なるシーケンスで実施されるか、省略されてもよく、または具体的に例示もしくは記載しない追加の動作を包含してもよい。
【0128】
図13Aに示されるプロセスでは、また本開示の1つまたは複数の態様によれば、人工現実システム10は画像データをキャプチャしてもよい(801)。例えば、
図1Aを参照すると、HMD 112(または他のデバイス)内に含まれる1つもしくは複数画像キャプチャデバイス138は、HMD 112を装着しているユーザの近くの物理的環境を表す視野130内の画像をキャプチャしてもよい。
【0129】
人工現実システム10は人工現実コンテンツを出力してもよい(802)。例えば、
図1Aを参照すると、HMD 112は、HMD 112内に含まれるディスプレイにおいて、人工現実コンテンツを提示してもよい。かかるコンテンツは、物理的環境、物理的環境の画像上にオーバーレイされる人工コンテンツ、ユーザインターフェース要素(例えば、メニュー)、または他のコンテンツの画像を含んでもよい。
【0130】
人工現実システム10は、画像データから、摘まむ構成および引く動作を含むジェスチャーを識別してもよい(803)。例えば、再び
図1Aを参照すると、HMD 112は、1つまたは複数の画像キャプチャデバイス138によってキャプチャされた画像データを分析し、画像データに基づいて、手132の二本の指を含んで、摘まむ構成および手132が摘まむ構成のままで後に続く引く動作を形成する、ジェスチャーを識別してもよい。HMD 112は、手132の摘まむ構成が、引く動作の前またはその間、十分な時間量にわたってその構成で保持されることを決定してもよい。HMD 112は更に、引く動作が、摘まむ構成と組み合わされたとき、例えば
図5A、
図5B、および
図5Cと関連して記載したような摘まんで引くジェスチャーとして、定性化するのに十分な長さであると決定してもよい(803からの「はい」の経路)。
【0131】
人工現実システム10は、摘まんで引く構成の識別に応答して、ユーザインターフェースを描画してもよい(804)。例えば、再び
図1Aを参照すると、HMD 112は人工現実コンテンツを生成し、人工現実コンテンツの生成はユーザインターフェース要素を生成することを含む。HMD 112は、人工現実コンテンツを、HMD 112内に含まれるディスプレイに提示および/または描画する。人工現実コンテンツは、物理的環境の画像上にオーバーレイされるユーザインターフェース要素を含んでもよい。いくつかの例では、人工現実コンテンツ内に含まれるユーザインターフェース要素は、
図6A、
図6B、および
図6Cに示されるものなどの一次元スライダUI要素であってもよい。しかしながら、描画されたユーザインターフェース要素は、本開示に記載するユーザインターフェース要素のいずれか(例えば、摘まんで引くジェスチャーによってゲーティングもしくは始動されるものとして記載するもの、またはその他を含む)を含むがそれらに限定されない、他の任意の適切なユーザインターフェース要素であることができる。
【0132】
人工現実システム10は、摘まむ構成がまだ解除されていないことを決定してもよい(805からの「いいえ」の経路)。例えば、
図1Aでは、HMD 112は引き続き、画像キャプチャデバイス138の1つまたは複数によってキャプチャされた画像データを分析し、画像データに基づいて、手132が摘まむ構成であり続けていると決定してもよい。
【0133】
人工現実システム10は、手132の更なる動作を識別してもよい(806からの「はい」の経路)。例えば、
図1Aでは、HMD 112は、キャプチャされた画像データに基づいて、手132が摘まむ構成である間の手132の更なる動作を識別してもよい。更なる動作に応答して、HMD 112は、HMD 112内に含まれるディスプレイに提示されるコンテンツを更新してもよい。特に、HMD 112は、人工現実コンテンツ内に含まれるユーザインターフェース要素を更新してもよい。ユーザインターフェース要素が、
図6A、
図6B、および
図6Cに関連して例示したのと同様の一次元スライダである一例では、HMD 112は、手132の移動と対応するユーザインターフェースを更新してもよい。かかる例では、HMD 112は、更なる引く動作に応答して、一次元スライダUI要素612(
図6Cを参照)と関連付けられる円613のサイズを、ユーザインターフェース要素によって提示される増加した一次元入力値に対応して増加させてもよい。
【0134】
人工現実システム10は、摘まむ構成が解除されていると決定し(805からの「はい」の経路)、入力値を処理してもよい(807)。例えば、
図1Aでは、HMD 112は引き続き、画像キャプチャデバイス138の1つまたは複数によってキャプチャされた画像データを分析し、画像データに基づいて、手132がもう摘まむ構成ではないと決定してもよい。HMD 112は、手132が摘まむ構成であったときの、ユーザインターフェース要素によって表された最後の入力値を決定してもよい。HMD 112は、最後の入力値をユーザ選択の入力値として識別してもよい。HMD 112は、ユーザ選択の入力値を、例えば、入力値を使用して環境に影響を及ぼすことによって処理してもよい。いくつかの例では、選択された入力値に対する調節は、人工現実システム10によって提示される音の音量を増加させる効果を有することがあるので、入力値は音量レベルに対応してもよい。
【0135】
図13Bは、本開示の1つまたは複数の態様による、物理的スタイラスを使用して一例の人工現実システムによって実施される動作を示すフロー図である。
図13Bについては、
図1A、
図11A、および
図11Bの人工現実システム10の文脈内で以下に記載する。他の例では、
図13Bに記載する動作は、1つもしくは複数の他の構成要素、モジュール、システム、またはデバイスによって実施されてもよい。更に、他の例では、
図13と関連して記載した動作は、併合されるか、異なるシーケンスで実施されるか、省略されてもよく、または具体的に例示もしくは記載しない追加の動作を包含してもよい。
【0136】
図13Bに示されるプロセスでは、また本開示の1つまたは複数の態様によれば、人工現実システム10は画像データをキャプチャしてもよい(811)。例えば、
図1Aを参照すると、HMD 112内に含まれる1つもしくは複数の画像キャプチャデバイス138は、HMD 112を装着しているユーザの近くの物理的環境を表す視野130内の画像をキャプチャしてもよい。
【0137】
人工現実システム10は人工現実コンテンツを出力してもよい(812)。例えば、
図1Aおよび
図11Aを参照すると、HMD 112は、HMD 112内に含まれるディスプレイにおいて、人工現実コンテンツを提示してもよい。かかるコンテンツは物理的環境の画像を含んでもよい。かかるコンテンツはまた、
図11Aの物理的スタイラス710の移動に応答して生成される線または他のコンテンツなど、物理的環境の画像上にオーバーレイされる人工コンテンツを含んでもよい。加えて、ユーザインターフェース要素(例えば、メニュー)および/または他のコンテンツも、物理的環境の画像上にオーバーレイされてもよい。
【0138】
人工現実システム10は、スタイラスの選択し引く動作を識別してもよい(813)。例えば、
図11Aを参照すると、HMD 112は、1つまたは複数の画像キャプチャデバイス138によってキャプチャされた画像データを分析し、画像データに基づいて、物理的スタイラス710の移動を識別してもよい。HMD 112はまた、HMD 112が、物理的スタイラス710上の物理的ボタン712が押し下げられていることの指示に対応すると決定する、物理的スタイラス710からの信号を検出してもよい。HMD 112は更に、画像データに基づいて、物理的ボタン712が押し下げられた状態での物理的スタイラス710の後に続く引く動作を検出してもよい。HMD 112は、物理的ボタン712の選択およびその後に続く引く動作が、スタイラスの選択し引く動作として定性化すると決定してもよい(813からの「はい」の経路)。
【0139】
人工現実システム10は、スタイラスの選択し引く動作の識別に応答して、ユーザインターフェースを描画してもよい(814)。例えば、再び
図11Aを参照すると、HMD 112は、UIパネル560上に描画される線720を含んでもよい、人工現実コンテンツを生成する。HMD 112はまた、人工現実コンテンツ内に、
図11Bに示されるような線厚さUI要素732などのユーザインターフェース要素を含んでもよい。HMD 112は、人工現実コンテンツを、HMD 112内に含まれるディスプレイに提示および/または描画する。HMD 112は、線厚さUI要素732を人工現実コンテンツ内に含むが、他の例では、スタイラスの選択する動きまたは手132の摘まんで引くジェスチャーによってゲーティングもしくは始動されるものとして、本開示に記載されるユーザインターフェース要素のいずれかを含むがそれらに限定されない、他の任意の適切なユーザインターフェース要素が、スタイラスの選択し引く動作に応答して代替現実コンテンツ内に含まれてもよい。
【0140】
人工現実システム10は、スタイラスを解除する動きがまだ行われていないと決定してもよい(815からの「いいえ」の経路)。例えば、
図1Aでは、HMD 112は、画像データまたは物理的スタイラス710からの通信に基づいて、物理的ボタン712は押し下げられ続けていると決定してもよい。
【0141】
人工現実システム10は、物理的スタイラス710の更なる動作を識別してもよい(816からの「はい」の経路)。例えば、
図1Aでは、HMD 112は、キャプチャされた画像データに基づいて、物理的ボタン712が押し下げられている間の物理的スタイラス710の更なる動作を識別してもよい。更なる動作に応答して、HMD 112は、HMD 112内に含まれるディスプレイに提示されるコンテンツを更新してもよい。特に、HMD 112は、移動に基づいて線厚さUI要素732を更新してもよい。いくつかの例では、
図11Bに示されるように、HMD 112は、物理的スタイラス710がUIパネル560から更に離れるように引かれると、線720の厚さを増加させてもよい。HMD 112は、物理的スタイラス710がUIパネル560に近付けられると、線720の厚さを減少させてもよい。
【0142】
人工現実システム10は、スタイラスを解除する動きが行われていると決定し(815の「はい」の経路)、入力値を処理してもよい(817)。例えば、
図1Aでは、HMD 112は、物理的ボタン712が解除されていることを検出してもよい。HMD 112は、物理的ボタン712が解除される前の線厚さUI要素732によって表される最後の入力値を決定する。HMD 112は、最後の入力値をユーザ選択の入力値として識別する。HMD 112は、例えば、線720の厚さを格納し、線720が選択された厚さで提示され続けるように、提示された人工現実コンテンツを更新することによって、ユーザ選択の入力値を処理する。
【0143】
本開示に記載する技術は、少なくとも部分的に、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせの形で実現されてもよい。例えば、記載する技術の様々な態様は、1つまたは複数のマイクロプロセッサ、DSP、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または他の任意の等価の集積もしくは離散論理回路類、ならびにかかる構成要素の任意の組み合わせを含む、1つまたは複数のプロセッサ内で実現されてもよい。「プロセッサ」または「処理回路類」という用語は、一般に、単独でまたは他の論理回路類との組み合わせで、上述の論理回路類のいずれか、あるいは他の任意の等価の回路類を指してもよい。ハードウェアを備える制御ユニットも、本開示の技術の1つまたは複数を実施してもよい。
【0144】
かかるハードウェア、ソフトウェア、およびファームウェアは、本開示に記載する様々な動作および機能をサポートするように、同じデバイス内に、または別個のデバイス内に実装されてもよい。それに加えて、記載するユニット、モジュール、または構成要素のいずれも、共にまたは離散的なものとして別個に実装されるが、相互運用可能な論理デバイスであってもよい。モジュールまたはユニットとしての異なる特徴の記載は、異なる機能的態様を強調するためのものであり、かかるモジュールまたはユニットが別個のハードウェアまたはソフトウェアコンポーネントとして実現されなければならないことを、必ずしも示唆するものではない。それよりもむしろ、1つもしくは複数のモジュールまたはユニットと関連付けられた機能性は、別個のハードウェアまたはソフトウェアコンポーネントによって実施されるか、あるいは共通もしくは別個のハードウェアまたはソフトウェアコンポーネントに統合されてもよい。
【0145】
本開示に記載する技術はまた、命令を収容した、コンピュータ可読記憶媒体などのコンピュータ可読媒体で具体化または符号化されてもよい。コンピュータ可読記憶媒体に埋め込まれるかまたは符号化された命令によって、例えば命令が実行されると、プログラマブルプロセッサまたは他のプロセッサが方法を実施してもよい。コンピュータ可読記憶媒体は、ランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、プログラマブル読出し専用メモリ(PROM)、消去可能プログラマブル読出し専用メモリ(EPROM)、電気消去可能プログラマブル読出し専用メモリ(EEPROM)、フラッシュメモリ、ハードディスク、CD-ROM、フロッピーディスク、カセット、磁気媒体、光学媒体、他のコンピュータ可読媒体を含んでもよい。
【0146】
本明細書の様々な例を用いて記載したように、本開示の技術は、人工現実システムを含むか、またはそれと併せて実現されてもよい。上述したように、人工現実は、ユーザに提示する前に何らかの形で調節されている1つの形態の現実であり、例えば、仮想現実(VR)、拡張現実(AR)、複合現実(MR)、ハイブリッド現実、あるいは上記の何らかの組み合わせおよび/または派生物を含んでもよい。人工現実コンテンツは、全て生成されたコンテンツ、またはキャプチャされたコンテンツ(例えば、実世界写真)と組み合わされた生成コンテンツを含んでもよい。人工現実コンテンツは、映像、音声、触覚フィードバック、または上記の何らかの組み合わせを含んでもよく、それらのいずれかが、単一チャネルまたは複数チャネルで提示されてもよい(閲覧者に対する三次元効果を作成するステレオ映像など)。それに加えて、いくつかの実施形態では、人工現実は、アプリケーション、製品、アクセサリ、サービス、あるいは例えば、人工現実でコンテンツを作り出すのに使用される、および/または人工現実で使用される(例えば、アクティビティを実施する)、上記の何らかの組み合わせと関連付けられてもよい。人工現実コンテンツを提供する人工現実システムは、ホストコンピュータシステムに接続されたヘッドマウントディスプレイ(HMD)、スタンドアロンHMD、モバイルデバイスもしくはコンピューティングシステム、または人工現実コンテンツを1人または複数の閲覧者に提供することができる他の任意のハードウェアプラットフォームを含む、様々なプラットフォームで実現されてもよい。