(57)【要約】  手変位データを感知ハードウェアから受信し、３次元（３Ｄ）ジェスチャ認識アルゴリズムを用いて分析する。受信した手変位データは、３Ｄジェスチャを表していると認識される。３Ｄジェスチャの操作位置を３Ｄ入力グラフィカルユーザインターフェース（ＧＵＩ）に対して計算する。３Ｄ入力ＧＵＩに関連付けられ、計算された操作位置に対応する仮想入力要素を選択する。選択された仮想入力要素に対応する入力情報を、選択された仮想要素から読み取る。
2020502614.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータで実施可能な方法であって：
感知ハードウェアから手変位データを受信するステップと；
前記受信した手変位データを、３次元（３Ｄ）ジェスチャ認識アルゴリズムを用いて分析するステップと；
前記受信した手変位データが３Ｄジェスチャを表すことを認識するステップと；
３Ｄ入力グラフィカルユーザインターフェース（ＧＵＩ）に対する前記３Ｄジェスチャの操作位置を計算するステップと；
前記３Ｄ入力ＧＵＩに関連付けられ、前記計算された操作位置に対する仮想入力要素を選択するステップと；
前記選択された仮想入力要素に対応する入力情報を読み取るステップと；を備える、
コンピュータにより実施される方法。
【請求項２】
前記感知ハードウェアは、１つ以上の画像センサ、レーザセンサ、又はレーダセンサを含む、
請求項１に記載のコンピュータにより実施される方法。
【請求項３】
前記３Ｄジェスチャは、ＶＲ環境内に表示されたＶＲシナリオにおいてユーザにより実行される、
請求項１に記載のコンピュータにより実施される方法。
【請求項４】
前記受信した手変位データが３Ｄジェスチャを表すことを認識する前記ステップは：
前記ＶＲシナリオのＸ／Ｙ／Ｚ軸に対する前記ユーザの前記手の回転量とオフセットとを計算するステップと；
計算された前記ユーザの前記手の回転量とオフセットとを用いて前記３Ｄジェスチャモデルを生成するステップと；を備える、
請求項３に記載のコンピュータにより実施される方法。
【請求項５】
前記３Ｄジェスチャの前記３Ｄジェスチャモデルを少なくとも１つの事前設定された３Ｄジェスチャモデルと比較するステップと；
前記３Ｄジェスチャの前記３Ｄジェスチャモデルが前記少なくとも１つの事前設定された３Ｄジェスチャモデルとマッチすると特定するステップと；を更に備える、
請求項４に記載のコンピュータにより実施される方法。
【請求項６】
前記３Ｄジェスチャの前記３Ｄジェスチャモデルが前記少なくとも１つの事前設定された３Ｄジェスチャモデルとマッチするとの前記特定は、前記生成された３Ｄジェスチャモデルと、前記少なくとも１つの事前設定されたジェスチャモデルとから選択した対応するいくつかの特徴点の比較に依存する、
請求項５に記載のコンピュータにより実施される方法。
【請求項７】
前記回転量は、前記ユーザの前記手が前記３Ｄジェスチャを実行するときに、前記ユーザの前記手における事前選択された特徴点を前記ＶＲシナリオの前記Ｘ／Ｙ／Ｚ軸に対して回転させる偏差角を意味し；
前記オフセットは、前記ユーザの前記手が前記３Ｄジェスチャを実行するときに、前記ユーザの手における前記事前選択された特徴点から前記ＶＲシナリオの前記Ｘ／Ｙ／Ｚ軸までの水平距離を意味する；
請求項４に記載のコンピュータにより実施される方法。
【請求項８】
所定の動作を実行するためにコンピュータシステムにより実行可能な１つ以上の命令を格納する非一時的なコンピュータ読み取り可能媒体であって：
感知ハードウェアから手変位データを受信する動作と；
受信した前記手変位データを、３次元（３Ｄ）ジェスチャ認識アルゴリズムを用いて分析する動作と；
受信した前記手変位データが３Ｄジェスチャを表すと認識する動作と；
３Ｄ入力グラフィカルユーザインターフェース（ＧＵＩ）に対する前記３Ｄジェスチャの操作位置を計算する動作と；
前記３Ｄ入力ＧＵＩに関連付けられ、前記計算された操作位置に対応した仮想入力要素を選択する動作と；
選択された前記仮想入力要素に対応した入力情報を読み取る動作と；を備える、
非一時的なコンピュータ読み取り可能媒体。
【請求項９】
前記感知ハードウェアは、１つ以上の画像センサ、レーザセンサ、又はレーダセンサを含む、
請求項８に記載の非一時的なコンピュータ読み取り可能媒体。
【請求項１０】
前記３Ｄジェスチャは、ＶＲ環境内に表示されたＶＲシナリオにおいてユーザによって実行される、
請求項８に記載の非一時的なコンピュータ読み取り可能媒体。
【請求項１１】
前記受信した手変位データが前記３Ｄジェスチャを表すことを認識する前記動作は；
前記ＶＲシナリオのＸ／Ｙ／Ｚ軸に対する前記ユーザの前記手の回転量とオフセットとを計算する動作と；
前記計算された前記ユーザの前記手の回転量とオフセットとを用いて前記３Ｄジェスチャモデルを生成する動作と；の１つ以上の動作を更に備える、
請求項１０に記載の非一時的なコンピュータ読み取り可能媒体。
【請求項１２】
前記３Ｄジェスチャの前記３Ｄジェスチャモデルを少なくとも１つの事前設定された３Ｄジェスチャモデルと比較する；
前記３Ｄジェスチャの前記３Ｄジェスチャモデルが前記少なくとも１つの事前設定された３Ｄジェスチャモデルとマッチすると特定する；ための１つ以上の命令を更に備える、
請求項１１に記載の非一時的なコンピュータ読み取り可能媒体。
【請求項１３】
前記３Ｄジェスチャの前記３Ｄジェスチャモデルが少なくとも１つの事前設定された３Ｄジェスチャモデルとマッチすると特定するための前記命令は、前記生成された３Ｄジェスチャモデルと、前記少なくとも１つの事前設定された３Ｄジェスチャモデルとから選択された対応するいくつかの特徴点の比較に依存する、
請求項１２に記載の非一時的なコンピュータ読み取り可能媒体。
【請求項１４】
前記回転量は、前記ユーザの前記手が前記３Ｄジェスチャを実行するときに、前記ユーザの前記手における事前選択された特徴点を前記ＶＲシナリオの前記Ｘ／Ｙ／Ｚ軸に対して回転させる偏差角を意味し、
前記オフセットは、前記ユーザの前記手が前記３Ｄジェスチャを実行するときに、前記ユーザの前記手における前記事前選択された特徴点から前記ＶＲシナリオの前記Ｘ／Ｙ／Ｚ軸までの水平距離を意味する、
請求項１１に記載の非一時的なコンピュータ読み取り可能媒体。
【請求項１５】
コンピュータにより実施されるシステムであって：
１つ以上のコンピュータと；
前記１つ以上のコンピュータと相互動作可能に接続しており、１つ以上の命令を格納する有形で非一時的なマシン読み取り可能媒体を有する、１つ以上のコンピュータメモリデバイスと；を備え、
前記命令が、前記１つ以上のコンピュータで実行されると、
感知ハードウェアから手変位データを受信する動作と；
前記受信した手変位データを、３次元（３Ｄ）認識アルゴリズムを用いて分析する動作と；
前記受信した手変位データが３Ｄジェスチャを表すと認識する動作と；
３Ｄ入力グラフィカルユーザインターフェース（ＧＵＩ）に対する前記３Ｄジェスチャの操作位置を計算する動作と；
前記３Ｄ入力ＧＵＩに関連付けられ、前記計算された操作位置に対応する仮想入力要素を選択する動作と；
前記選択された仮想入力要素に対応した入力情報を読み取る動作と；を実行する、
コンピュータにより実施されるシステム。
【請求項１６】
前記感知ハードウェアは１つ以上の画像センサ、レーザセンサ、又はレーダセンサを含み、前記３Ｄジェスチャは、ＶＲ環境内に表示されたＶＲシナリオにおいてユーザにより実行される、
請求項１５に記載のコンピュータにより実施されるシステム。
【請求項１７】
前記受信した手変位データが前記３Ｄジェスチャを表すと認識する前記動作は：
前記ＶＲシナリオのＸ／Ｙ／Ｚ軸に対する前記ユーザの前記手の回転量とオフセットを計算する動作と；
計算された前記ユーザの前記手の前記回転量と前記オフセットを用いて前記３Ｄジェスチャモデルを生成する動作と；を更に備える、
請求項１６に記載のコンピュータにより実施されるシステム。
【請求項１８】
前記３Ｄジェスチャの前記３Ｄジェスチャモデルを少なくとも１つの事前設定された３Ｄジェスチャモデルと比較する動作と；
前記３Ｄジェスチャの前記３Ｄジェスチャモデルが前記少なくとも１つの事前設定された３Ｄジェスチャモデルとマッチすると特定する動作と；の１つ以上の動作を更に備える、
請求項１７に記載のコンピュータにより実施されるシステム。
【請求項１９】
前記３Ｄジェスチャの前記３Ｄジェスチャモデルが前記少なくとも１つの事前設定された３Ｄジェスチャモデルとマッチすると特定する前記動作は、前記生成された３Ｄジェスチャモデルと、前記少なくとも１つの事前設定された３Ｄジェスチャモデルとから選択したいくつかの対応する特徴点の比較に依存する、
請求項１８に記載のコンピュータにより実施されるシステム。
【請求項２０】
前記回転量は、前記ユーザの前記手が前記３Ｄジェスチャを実行するときに、前記ユーザの前記手における事前選択された特徴点を前記ＶＲシナリオの前記Ｘ／Ｙ／Ｚ軸に対して回転させる偏差角を意味し；
前記オフセットは、前記ユーザの前記手が前記３Ｄジェスチャを実行するときに、前記ユーザの前記手における前記事前選択された特徴点から前記ＶＲシナリオの前記Ｘ／Ｙ／Ｚ軸までの水平距離を意味する；
請求項１７に記載のコンピュータにより実施されるシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
［優先権の主張］
本願は、２０１６年１０月９日に出願された中国特許出願第２０１６１０８８１６９５．８号、及び２０１７年９月２９日に出願された米国特許出願第１５／７２０，６３５号の優先権を主張し、その全体を参照により本明細書に組み込む。
【背景技術】
【０００２】
仮想現実（ＶＲ、バーチャルリアリティ）技術は、コンピュータ処理、グラフィックス、そして様々なタイプのユーザインターフェース（例えば、視覚表示ゴーグル、及び、片手又は両手で持つインタラクティブコントローラ）を使って、インタラクティブ（対話）機能を持ち、没入感のあるユーザ知覚型の３次元（３Ｄ）環境（「仮想世界」）を作り出す。ＶＲ技術の（例えば、教育、ビデオゲーム、ビジネス、科学、医学の分野における）用途は、ＶＲ技術で用いられるコンピューティングハードウェア及びコンピューティングソフトウェアの継続的な進歩にともなって拡大してきた。ＶＲ技術が仮想世界の説得力のあるリアルな視覚体験をユーザに提供できる一方で、従来の３Ｄ環境におけるシナリオとのユーザインタラクションは、特に情報入力（例えば、英数文字データ）の面で難しい、又は扱い難いことが判っている。ＶＲ技術を伴うユーザ体験（エクスペリエンス）を向上させるには、情報入力の容易性と速度を高める必要がある。
【発明の概要】
【０００３】
本開示では、仮想現実（ＶＲ）環境における情報入力のための３次元（３Ｄ）グラフィカルユーザインターフェース（ＧＵＩ）について述べる。
【０００４】
一実施では、感知ハードウェアから手変位データが受信され、３次元（３Ｄ）ジェスチャ認識アルゴリズムを用いて分析される。受信した手変位データは３Ｄジェスチャを表すものとして認識される。３Ｄ入力グラフィカルユーザインターフェース（ＧＵＩ）に対する３Ｄジェスチャの操作位置（動作位置）が計算される。３Ｄ入力ＧＵＩに関連付けられ、且つ計算された操作位置に対する仮想入力要素が選択される。選択された仮想入力要素に対応する入力情報が選択された仮想要素から読み取られる。
【０００５】
先に記載した実施を含め、記載する主題の実施は：コンピュータ実施方法と；このコンピュータ実施方法を実行するコンピュータ読み取り可能命令を格納する、非一時的なコンピュータ読み取り可能媒体と；１つ以上のコンピュータメモリデバイスを含むコンピュータ実施システムと；を用いて実施でき、この１つ以上のコンピュータメモリデバイスは、１つ以上のコンピュータに相互作動可能に接続し、有形で非一時的な、命令を格納するマシン読み取り可能媒体を有する。上記の命令は、１つ以上のコンピュータにより実行されると、コンピュータ実施方法／非一時的且つコンピュータ読み取り可能媒体に格納されているコンピュータで読み取り可能な命令を実行する。
【０００６】
本明細書で述べる主題は、以下の利点の１つ以上を実現するべく、特定の実施において実施される。第１の利点は、記載の３Ｄユーザインターフェースが、ＶＲ環境における情報入力の容易性と速度を高める。例えば、記載の３Ｄユーザインターフェースと提供される手に基づくジェスチャとによって、仮想環境での情報入力がユーザにとってより自然で直感的なものとなる。第２の利点は、情報入力の拡張が、ＶＲ技術を用いたユーザ体験全体の向上に役立つ。第３の利点は、ＶＲ技術情報入力を用いたユーザ体験全体の向上が、ＶＲ技術の用途を更なる利用シナリオにまで拡張するのに役立つことである。その他の利点は当業者には明らかであろう。
【０００７】
本明細書の主題の１つ以上の実施の詳細は、詳細な説明、特許請求の範囲、及び添付図面で述べる。主題の他の特徴、態様、及び利点は、詳細な説明、特許請求の範囲、及び添付図面から明らかになろう。
【図面の簡単な説明】
【０００８】
【図１】図１は、本開示の実施に係る、仮想現実（ＶＲ）環境において情報を入力のための３次元（３Ｄ）入力グラフィカルユーザインターフェース（ＧＵＩ）を使用する方法の例を示すフローチャートである。
【０００９】
【図２】図２は、本開示の実施に係る、ＶＲ環境において情報を入力するための３Ｄ入力ＧＵＩを示す図である。
【００１０】
【図３】図３は、本開示の実施に係る、ＶＲ環境において情報を入力するための別の３Ｄ入力ＧＵＩを示す図である。
【００１１】
【図４】図４は、本開示の実施に係る、ＶＲ環境における仮想要素を選択及びトリガするために使用できる例示の３Ｄジェスチャを示す図である。
【００１２】
【図５】図５は、本開示の実施に係る、ＶＲクライアント端末に関連付けられた動作を入力するために使用されるコンピューティングモジュールの例を示すブロック図である。
【００１３】
【図６】図６は、本開示の実施に係る、図５に例示のＶＲクライアント端末に関連付けられたコンピューティングハードウェアコンポーネントの例を示すブロック図である。
【００１４】
【図７】図７は、本願の実施に係る、本願に述べるアルゴリズム、方法、機能、工程、フロー及び手順に関連付けられた計算機能を提供するために用いられる例示的なコンピュータシステムを示すブロック図である。
【００１５】
様々な図面中の同様の符号及び名称は、同様の要素を示す。
【発明を実施するための形態】
【００１６】
以下の詳細な説明は、仮想現実（ＶＲ）環境における情報入力のための３次元（３Ｄ）グラフィカルユーザインターフェース（ＧＵＩ）について説明しており、いずれの当業者も、１つ以上の特定の実施において開示された主題を、作成及び使用することができるよう提示される。開示された実施の様々な改変、変更、及び置換を行うことができ、それらは当業者には容易に明らかになり、定義された一般原則は、開示の範囲から逸脱することなく他の実施及び用途に適用できる。事例によっては、説明する主題の理解を得るため、不要な詳細は、その不要な詳細により１つ以上の説明された実施が曖昧にならないように省略できるが、そのような詳細は当業者の能力の範囲内である。本願は、記載又は図示された実施に限定するものではなく、記載された原則及び特徴と整合する最も広い範囲と一致することを意図している。
【００１７】
ＶＲ技術は、コンピュータ処理、グラフィックス、そして様々なタイプのユーザインターフェース（例えば、視覚表示ゴーグル、及び、片手又は両手に持つインタラクティブコントローラ）を使って、インタラクティブ機能を持ち、没入感のあるユーザ知覚型の３Ｄ環境（「仮想世界」）を作り出す。ＶＲ技術の（例えば、教育、ビデオゲーム、ビジネス、科学、医学の分野における）用途は、ＶＲ技術で用いられるコンピューティングハードウェア及びコンピューティングソフトウェアの継続的な進歩にともなって拡大してきた。ＶＲ技術が仮想世界の説得力のあるリアルな視覚経験をユーザに提供できる一方で、従来の３Ｄ環境におけるシナリオとのユーザインタラクションは、特に情報入力（例えば、英数字テキストデータ）に関して難しい、又は扱い難いことが判っている。ＶＲ技術を伴うユーザ体験を向上させるには、情報入力の容易性と速度を高める必要がある。
【００１８】
ＶＲシナリオでの情報入力の容易性と速度を高めることができる３Ｄユーザインターフェースについて説明する。例えば、記載された３Ｄユーザインターフェースと、これに関連付けられた手によるジェスチャとによって、特定のＶＲシナリオ（例えば、ショッピング、文書によるナビゲーション、又は仮想物体の回転）の実行中に、ＶＲ環境での情報入力をユーザにとってより自然で直感的なものにすることができる。情報入力の拡張がＶＲ技術を用いたユーザ体験全体を向上させることができ、これがＶＲ技術の用途を追加の利用シナリオにまで拡張するのに役立つ。
【００１９】
実施において、ＶＲ端末は、ユーザの頭部に装着され視覚表示を提供するＶＲヘッドセットを含み、ユーザに（例えば、ＶＲベースのアプリケーションを用いて）３Ｄ没入感のある体験を提供するグラフィックス及び他のデータを表示できる。
【００２０】
グラフィックス及び他のデータは、通信可能にＶＲ端末に接続されたＶＲクライアント端末（例えば、ソフトウェアアプリケーション）により提供される。ＶＲクライアント端末は、ＶＲ環境内の１つのＶＲシナリオとして開発者によって開発された仮想現実モデルを出力する。例として、ＶＲ端末は、モバイルコンピューティングデバイス（スマートフォンやタブレット等）を挿入することにより、視覚タイプの表示及びその他のコンピューティング機能（例えば、ユーザ入力、ビジュアル入力、空間配向、動き検知、オーディオ生成、ネットワーク接続性、及び他のユーザインターフェースデバイスへの取り付け）を提供できるスライドタイプのＶＲヘッドセットであってよい。この例では、モバイルコンピューティングデバイスはその全体又は一部がＶＲクライアント端末として、又は、別のＶＲクライアント端末（例えば、モバイルコンピューティングデバイスに接続しているＰＣタイプのコンピュータ）のためのインターフェースとして機能できる。
【００２１】
情報入力を補助するために、使用／アクセスをいくらか容易化するよう、様々なタイプのデータ及び動作を事前に構成しておくことができる。例えば、ユーザは、ＶＲショッピングシナリオで使用するための、或る種類及び金額の事前設定された仮想通貨を構成できる。決済を開始するには、ユーザは、ＶＲ環境内に表示された単一の「仮想通貨で支払う」ボタンを選択して、仮想通貨での決済を開始できる。しかし、ＶＲ環境内の特定のシナリオにおいて大容量の情報を入力したり複数の動作を実行したりする必要が生じた場合、従来の情報入力技術は扱い難く時間がかかるということが判明する。
【００２２】
第１の情報入力技術は、モバイルコンピューティングデバイスにより提供されたＧＵＩを用いて情報（決済用又はビデオゲームアカウントログイン用のパスワード等）を入力するために、ユーザがＶＲ端末を外し、ＶＲ端末からモバイルコンピューティングデバイス（例えば、スマートフォンや、タブレットタイプのコンピュータ）を取り外すことを含む。或いは、ユーザはモバイルコンピューティングデバイスに接続された別のコンピューティングデバイス（例えば、ＰＣタイプのコンピュータや、その他のモバイルコンピューティングデバイス）を使用して、情報を入力することができる。
【００２３】
第２の情報入力技術は、ＶＲ環境内のオペレーショナルフォーカス（アイコン、ポインタ、又はその他のグラフィカルエレメント等）を制御するために、外部入力デバイス（ジョイスティック、ハンドル、又は、片手か両手で持つその他のデバイス）を含む。情報入力を行うために、ユーザはオペレーショナルフォーカスを仮想要素の位置まで移動し、次に、外部入力デバイス上に提供されたボタン又はその他の要素を操作（例えば、クリック、押下、スライドする）し、入力関連情報のための仮想エレメントを選択し、これをトリガする。
【００２４】
第３の情報入力技術では、タイムアウト持続時間を事前に設定でき、ユーザは、ＶＲ端末に関連付けられた頭部姿勢又は頭部ジェスチャによってＶＲ環境内でオペレーショナルフォーカスの位置を制御できる。情報入力に望まれる特定の仮想要素の位置までオペレーショナルフォーカスを移動したら、ユーザは、オペレーショナルフォーカスをこの特定の仮想要素の位置に維持する（例えば、仮想要素の上でホバリングする）。少なくともタイムアウト持続時間にわたりオペレーショナルフォーカスをこの仮想要素の位置に維持すると、仮想要素が選択され、これがトリガされる。
【００２５】
特定の例において、ユーザがＶＲショッピングシナリオにおいて決済パスワードを入力する必要があると仮定する。第１の技術では、情報入力を完了するためにユーザはＶＲ端末を外す必要があるため、ユーザの没入感のあるＶＲ体験を阻害し、決済工程完了のために更なる時間がかかる。第２の技術では、ＶＲクライアント端末を、外部デバイス（例えば、ジョイスティック）と整合するように構成しなければならないため、ハードウェアのコストが増加し、ＶＲ環境とのインタラクションが複雑化してしまう。第３の技術では、ユーザは各仮想要素をトリガするために少なくともタイムアウト持続時間が切れるまで待つ必要があり、これがＶＲ環境でのユーザによる情報入力の効率性と迅速性に悪影響を与える。
【００２６】
ＶＲ環境内でユーザが情報を効率的且つ迅速に入力するための入力方法について説明する。ＶＲ環境での３Ｄ入力ＧＵＩは、ユーザが実行した、事前設定（プリセット）された３Ｄジェスチャを認識する。３Ｄジェスチャの操作位置を計算し、計算された操作位置に対応する仮想入力要素を特定する。特定された仮想要素を選択し、この仮想要素に関連付けられた情報が入力のために読み取られる。ＶＲ環境でのユーザによる効率的な情報の入力は、一連の迅速な３Ｄジェスチャを用いることによって可能になる。
【００２７】
図１は、本開示の実施に係る、ＶＲ環境内で情報入力を行うために３Ｄ入力ＧＵＩを使用する方法１００の例を示すフローチャートである。提示を明白にするために、以下の記述では、この記載における他の図に関連付けて方法１００を説明する。しかし、方法１００は、例えば、あらゆるシステム、環境、ソフトウェア及びハードウェア、又は、システム、環境、ソフトウェア及びハードウェアの組み合わせによって、適宜に実行できることが理解されるであろう。実施によっては、方法１００の様々なステップを並行に、組み合わせて、繰り返して、又は任意の順序で実行できる。
【００２８】
１０２では、感知ハードウェアから手変位データを受信する。方法１００は、１０２から１０４へ進む。
【００２９】
１０４では、受信した手変位データを、３Ｄジェスチャ認識アルゴリズムを用いて分析する。方法１００は１０４から１０６へ進む。
【００３０】
１０６では、３Ｄジェスチャが認識されたかどうかを特定する。ＶＲ端末に表示されたＶＲシナリオの実行中に、ユーザの３Ｄジェスチャ（３Ｄジェスチャの例については図４を参照）をＶＲ環境内で認識する。３Ｄジェスチャは奥行き（深度）情報を持ち、（例えば、ＶＲ端末に接続した視覚センサにより取り込まれた手変位データにより）認識されるユーザジェスチャである。奥行き情報は、仮想現実シナリオのＺ軸に対するユーザジェスチャの座標情報と呼ばれる。例えば、３次元空間における一点は３次元座標により（Ｘ，Ｙ，Ｚ）で表すことができる。このケースでは、この一点に対応するＺ軸座標値は、Ｘ軸とＹ軸に対応する奥行き情報と呼ばれる。３Ｄジェスチャが認識された場合、方法１００は１０８へ進む。３Ｄジェスチャが認識されない場合、方法１００は１０２へ戻る。
【００３１】
１０８では、認識された３Ｄジェスチャの３Ｄジェスチャモデルを生成する。方法１００は１０８から１１０へ進む。
【００３２】
１１０では、３Ｄジェスチャモデルを、１つ以上の事前設定された（プリセット）３Ｄジェスチャモデルと比較する。特定の３Ｄ入力ＧＵＩについて特定の３Ｄジェスチャを適宜に事前設定できる。方法１００は１１０から１１２へ進む。
【００３３】
１１２では、認識された３Ｄジェスチャが事前設定された３Ｄジェスチャであるかどうかを、１１０での比較に基づいて特定する。認識されたジェスチャが事前設定された３Ｄジェスチャであると特定された場合、方法１００は１１４へ進む。認識されたジェスチャが事前設定された３Ｄジェスチャでないと特定された場合、方法１００は１０２へ戻る。方法１００は１１２から１１４へ進む。
【００３４】
１１４では、事前設定された３Ｄジェスチャの操作位置を３Ｄ入力ＧＵＩに関連して計算する。３Ｄ入力ＧＵＩはＶＲシナリオでの３Ｄインターフェース出力を意味し、情報入力のために用いられる。３Ｄ入力ＧＵＩはいくつかの仮想入力要素を含むことができ、各仮想入力要素は１つの対応する入力情報を示すことができる。例えば、実施では、３Ｄ入力ＧＵＩは３Ｄ仮想キーボード（「３Ｄエアキーボード」）であってよい。このケースでは、いくつかの仮想入力要素は、３Ｄ仮想キーボードの一部として含まれているいくつかの仮想「キー」であってよく、又、各々の仮想キーは対応する入力文字を示す。この記載の実施では、ユーザがＶＲ端末を装着した状態でＶＲシナリオにて情報入力を迅速に完了できるようにするために、ＶＲシナリオに関連付けられた３Ｄ仮想キーボードを没入感のある３ＤのＶＲ環境内に出力することができる。ユーザはＶＲ端末を装着した状態で、ＶＲ環境内でＶＲシナリオに関連付けられた特定の３Ｄジェスチャを実行できる。３Ｄジェスチャは、３Ｄ仮想キーボードに関連付けられた仮想入力要素（キー）をトリガする。方法１００は１１４から１１６へ進む。
【００３５】
１１６では、計算された操作位置に対応して３Ｄ入力ＧＵＩの仮想入力要素を選択する。方法１００は１１６から１１８へ進む。
【００３６】
１１８では、選択された仮想入力要素に対応した入力情報を読み取る。方法１００は１１８の後で止まる。
【００３７】
実施によっては、技術的解決策は以下の３つの特定のステージ、すなわち、１）ＶＲシナリオモデルの作成、２）３Ｄジェスチャの認識、及び３）情報入力、を含む。
【００３８】
１）ＶＲシナリオモデルの作成
【００３９】
実施によっては、ＶＲ開発者は、モデリングツール（例えば、ＵＮＩＴＹ、３ＤＳＭＡＸ、フォトショップ（登録商標））を使用してＶＲシナリオモデルの作成を完成させることができる。モデリングツールは、例えば、占有の、商用の、オープンソースの、又はこれらに類するモデリングツールの組み合わせであってよい。
【００４０】
いくつかの例では、ＶＲシナリオに関連付けられたＶＲシナリオモデル及びテクスチャマップを現実世界のシナリオから入手できる。例えば、アドバンスフォトグラフィ（ａｄｖａｎｃｅ  ｐｈｏｔｏｇｒａｐｈｙ）により、マテリアルのテクスチャマップと現実シナリオの平面モデルを入手してよい。モデリングツールを使用してテクスチャを処理でき、現実シナリオの３Ｄモデルが確立される。実施によっては、処理済みのテクスチャと３ＤモデルをＵＮＩＴＹ３Ｄプラットフォームにインポートでき、複数の局面（例えば、音響効果、ＧＵＩ、プラグイン、及びＵＮＩＴＹ３Ｄプラットフォームでの照明）にて画像レンダリングが実施される。次に、ＶＲシナリオモデルについてのインタラクションソフトウェアコードを書く。ＶＲシナリオにおける迅速な情報入力を可能にするべく、ＶＲシナリオモデルと共に使用する、情報入力のための３Ｄ入力ＧＵＩを作成することもできる。本開示と合致するＶＲシナリオと共に使用される、異なる次元の入力ＧＵＩ（例えば、２次元（２Ｄ）ＧＵＩ又は４次元（４Ｄ）ＧＵＩ）を含むあらゆる入力ＧＵＩは、本開示の範囲内にあるとみなされる。
【００４１】
図２は、本開示の実施に係る、ＶＲ環境での情報入力のための３Ｄ入力ＧＵＩを示す図２００である。同図に示すように、３Ｄ入力ＧＵＩ２０２（例えば、「３Ｄエアキーボード」）は１０個の３Ｄ仮想入力要素（「キー」）（例えば、仮想入力要素２０４は数字「３」に対応している）を含む。３Ｄ入力ＧＵＩ２０２は、ＶＲ環境２１０内に表示されたＶＲシナリオの一部として、ユーザ２０８のユーザフィールド２０６に表示され、１０個の３Ｄ仮想入力要素が２列に固定されている。
【００４２】
特定のＶＲシナリオでは、ユーザ２０８は、パスワードのようなデジタル情報の入力を完了するために、特定の３Ｄジェスチャを用いて特定の仮想入力要素（例えば、仮想入力要素２０４）を選択することができる。例えば、図２は、ユーザがＶＲ環境２１０内の位置２１４にて３Ｄジェスチャ２１２（１本指でのクリック／タップ）を実行する様子を示す。位置２１４は、ＶＲ環境２１０内で仮想入力要素２０４（「３」キー）が位置する場所に対応している。仮想入力要素２０４を選択することで、数字「３」の入力が完了する。
【００４３】
図３は、本開示の実施に係る、ＶＲ環境における情報入力のための異なる３Ｄ入力ＧＵＩを示す図である。同図に示すように、３Ｄ入力ＧＵＩ３０２（例えば、「３Ｄデジタルマジックキューブキーボード」）は、２７個の３Ｄ仮想入力要素（「キー」）（例えば、仮想入力要素３０４は数字「３」に対応している）を含む。３Ｄ入力ＧＵＩ３０２は、ＶＲ環境３１０内に表示されたＶＲシナリオの一部として、ユーザ３０８のユーザフィールド３０６内に表示されるが、ここでは、２７個の３Ｄ仮想入力要素がキューブ状に配設されている。実施によっては、仮想入力要素上に表示された数字又はその他のデータ（例えば、画像若しくは記号）は、特定のパターンで、又は、ランダムに表示され得る。
【００４４】
特定のＶＲシナリオでは、ユーザ３０８は、特定の３Ｄジェスチャ（１本指でのクリック／タップ）を用いて特定の仮想入力要素（例えば、仮想入力要素３０４）を選択し、パスワードのようなデジタル情報の入力を完了することができる。ユーザは別の３Ｄジェスチャを実行し、別の仮想入力要素にアクセスすることができる。例えば、図３は、ＶＲ環境３１０内の位置３１４にてユーザが３Ｄジェスチャ３１２（２本指での回転）を実行する様子を示す。位置３１４は、ＶＲ環境３１０内で仮想入力要素３０４（「３」キー）が位置する場所にほぼ対応している。３Ｄジェスチャ３１２を実行する場合、仮想入力要素のキューブが反時計回り方向へ回転して、別の仮想入力要素を選択できるようにする。
【００４５】
当業者に理解されるように、図２及び図３に示す３Ｄ入力ＧＵＩは、特定の実現可能な３Ｄ入力ＧＵＩの一実施にすぎない。図２及び図３は本開示をいかなる形でも限定するものではない。本開示に合致するその他の３Ｄ入力ＧＵＩも本開示の範囲内にあるとみなされる。
【００４６】
（先に述べたような）ＶＲシナリオモデルの完了及び関連する３Ｄ入力ＧＵＩのモデリングに続き、ＶＲクライアント端末を用いて、ＶＲシナリオモデルと３Ｄ入力ＧＵＩとを、ＶＲクライアント端末に接続したＶＲ端末（例えば、ＶＲヘッドセット）を介して、ユーザへ出力できる。
【００４７】
実施によっては、デフォルトで、ＶＲクライアント端末はＶＲ環境内でＶＲシナリオモデルのみをユーザに出力してよい。ユーザがＶＲシナリオに関連付けられた没入感のある経験の最中に入力情報を必要とする場合、ＶＲクライアント端末は、現在の仮想トリガ要素（例えば、仮想ボタン）に対してユーザが行った事前設定された３Ｄジェスチャのトリガに応答して、ＶＲ環境内で関連の３Ｄ入力ＧＵＩを出力できる。
【００４８】
例として、ＶＲ端末を装着してＶＲシナリオをプレイ中のユーザは、３Ｄ入力ＧＵＩを表示するために仮想トリガ要素をトリガできる。特定の例として、ユーザはＶＲショッピングシナリオに参加でき、このシナリオではいくつかの商品が提示され、ユーザはこれらを選んで、購入するように選択できる。選択した商品の決済を完了するには、ユーザはＶＲ環境内の「買う／支払う」仮想ボタンを、特定の事前設定された３Ｄジェスチャによって選択できる。このケースでは、ＶＲクライアント端末が、ＶＲシナリオに使用するための３Ｄ入力ＧＵＩ「３Ｄチェックアウトカウンタ」（仮想キーボード付き）をＶＲ環境内に出力する。ユーザは、「３Ｄチェックアウトカウンタ」を用いて３Ｄジェスチャを繰り返すことによって、情報の入力を選択及びトリガすることができる。
【００４９】
２）３Ｄジェスチャの認識
【００５０】
実施によっては、ユーザは、ＶＲ環境内に表示されたＶＲシナリオとインタラクションするべくＶＲ端末を装着しているときに、補助のハードウェアデバイス（例えば、ジョイスティック、触覚グローブ、又はその他のデバイス）を使用しなくても、身体の前の空中で手を使って３Ｄジェスチャを形成できる。形成された３Ｄジェスチャは、ＶＲシナリオに関連付けられた３Ｄ入力ＧＵＩに関連して、取り込まれ、分析され、ＶＲ環境（拡張現実と類似）内に表示される。別の実施では、ユーザは補助のハードウェアデバイスを使用して、オペレーショナルフォーカスの制御、選択の実行、又は本開示と合致するその他の動作を実行できる。
【００５１】
ユーザは、特定の３Ｄジェスチャを実行し、ＶＲシナリオにより提供された仮想要素（例えば、仮想ボタン、動作コントローラ、又はページ）を選択できる。当業者により理解されるように、本開示は例示の３Ｄジェスチャのみに限定されるものではなく、本開示と合致するあらゆる（３Ｄ又はその他の）ジェスチャに限定される。例えば、３Ｄジェスチャは単純（例えば、単純なクリック／タップジェスチャ）又は複雑（例えば、仮想要素を選択するための特定のジェスチャ）であってよい。３Ｄジェスチャは静的（例えば、特定の手の姿勢）又は動的（例えば、把持、ドラッグ、回転）であってもよい。実施によっては、３Ｄジェスチャは、ＶＲシナリオの特定の要件に基づいて、又は、その他のＶＲコンテンツプロバイダとの違いを区別するためにカスタマイズされてよい。
【００５２】
図４は、本開示の実施に係る、ＶＲ環境内で仮想要素を選択及びトリガするために使用できる例示の３Ｄジェスチャを示す図４００である。図４は次の例示の３Ｄジェスチャを示す：
・４０２ａ−ターン／回転（２本指）
・４０２ｂ−スプレッド（２本指）
・４０２ｃ−ピンチ（２本指）
・４０２ｄ−ターン／回転（５本指）
・４０２ｅ−クリック／タップ（２本指）
・４０２ｆ−スワイプ（１本指）
・４０２ｇ−ピンチ（５本指）
【００５３】
実施によっては、４０４は特定のＶＲシナリオのためのＶＲ環境内に表示されたＧＵＩ要素であってよい。特定のＶＲシナリオに適用できる３Ｄジェスチャに関連した情報をユーザに提供するために、ＧＵＩ要素４０４を表示できる。
【００５４】
実施によっては、ＶＲクライアント端末は、ＶＲ端末に接続した感知ハードウェアを事前設定された３Ｄジェスチャ認識アルゴリズムと組み合わせて用いることにより、ＶＲシナリオにおいてユーザが実行した３Ｄジェスチャを認識できる。実施によっては、ＶＲクライアント端末は、感知ハードウェアを用いて、ユーザの手変位をリアルタイムで追跡できる。感知ハードウェアは手変位データ（例えば、位置座標、動き追跡）を収集し、分析／処理のためにＶＲクライアント端末へ送信できる。
【００５５】
実施によっては、感知ハードウェアは、例えば、画像関連のビジュアル、非ビジュアル（例えば、赤外線、紫外線）、レーザ、レーダ、及び超音波データを収集するための１つ以上のセンサを含むことができる。実施によっては、３Ｄジェスチャは、例えば、デュアルカメラバイノキュライメージングソリューション、飛行時間（ＴＯＦ）型ソリューション、立体照明ソリューション、マイクロレーダソリューションを用いて認識できる。
【００５６】
デュアルカメラバイノキュライメージングソリューションに基づいた３Ｄジェスチャ認識に関連して、感知ハードウェアは１つ以上の画像センサを含むことができる。ＶＲクライアント端末は、デュアルカメラ画像センサによりユーザの手変位をリアルタイム追跡し、ユーザの手変位データを分析／処理のために収集できる。ＶＲクライアント端末は、３Ｄジェスチャ認識アルゴリズムを用いてユーザの手変位データに対して計算を実行し、これにより、ＶＲシナリオのＸ／Ｙ／Ｚ軸に対するユーザの手の回転量とオフセットを計算する。ＶＲクライアント端末は算出した回転量とオフセットとを用いて３Ｄジェスチャモデリングを実行し、これにより、最終的な３Ｄジェスチャモデルを生成する。
【００５７】
ＴＯＦソリューションに基づいた３Ｄジェスチャ認識に関連し、感知ハードウェアは赤外線センサを含むことができる。立体照明ソリューションに基づく３Ｄジェスチャ認識に関連し、感知ハードウェアはレーザセンサを含むことができる。マイクロレーダソリューションに基づく３Ｄジェスチャ認識に関連し、感知ハードウェアはレーダセンサを含むことができる。典型的な実施において、ＴＯＦソリューション、立体照明ソリューション、マイクロレーダソリューションに基づいたユーザの３Ｄジェスチャの認識は、デュアルカメラバイノキュライメージングソリューションと原則的に同一である。記載のソリューションの各々では、奥行き情報を（例えば、手変位データに基づく回転量とオフセットを用いて）計算し、３Ｄジェスチャモデリングを可能にする。
【００５８】
手変位データの受信後に、ＶＲクライアント端末は、事前設定された３Ｄジェスチャ認識アルゴリズムを用いて手変位データを分析し、３Ｄジェスチャが認識されたかどうかを特定できる。３Ｄジェスチャが認識された場合には、認識された３Ｄジェスチャが事前設定された３Ｄジェスチャであるかどうかを特定できる。
【００５９】
実施によっては、３Ｄジェスチャ認識アルゴリズムを用いて３Ｄジェスチャを認識すると、ＶＲクライアント端末は、収集した手変位データに基づき、ＶＲシナリオのＸ／Ｙ／Ｚ軸に対するユーザの手の回転量とオフセットを計算できる。実施によっては、Ｘ／Ｙ／Ｚ軸に関連した回転量の意味は、ユーザの手が特定の３Ｄジェスチャを実行するときに、回転軸として機能するＶＲシナリオのＸ／Ｙ／Ｚ軸に対してユーザの手における事前選択された特徴点が回転する偏差角とすることができる。実施によっては、オフセットの意味は、ユーザの手が特定の３Ｄジェスチャを実行するときに、ＶＲシナリオのＸ／Ｙ／Ｚ軸に対するユーザの手における事前選択された特徴点からの水平距離とすることができる。
【００６０】
３Ｄジェスチャの３Ｄモデリングは、入手した回転量とオフセットに基づいて、ＶＲクライアント端末によって実行できる。３Ｄジェスチャの３Ｄモデル（３Ｄジェスチャモデル）が完成すると、３ジェスチャの認識が完了したとみなされる。
【００６１】
回転量とオフセットとを組み合わせることで、ユーザの手による３Ｄジェスチャの実行に関連付けられた奥行き情報を正確に特定できるようになる。特定された奥行き情報に基づく３Ｄジェスチャの３Ｄモデリングは、ユーザの３Ｄジェスチャを正確に表すことができる。
【００６２】
ＶＲクライアント端末は、ＶＲシナリオ内で特定の仮想要素を選択するための事前設定された３Ｄジェスチャを事前に定義できる。３Ｄジェスチャを認識するときに、ＶＲクライアント端末は認識された３Ｄジェスチャが特定の事前設定された３Ｄジェスチャであるかどうかを識別できる。例えば、生成された３Ｄジェスチャモデルを事前設定された３Ｄジェスチャ（例えば、図４に示す３Ｄジェスチャ）に関連付けられた３Ｄジェスチャモデルに対して比較することができる。認識された３Ｄジェスチャが事前設定された３Ｄジェスチャであると特定された場合、ＶＲクライアント端末は、事前設定された３Ｄジェスチャに関連付けられた動作（例えば、特定の仮想要素を選択する）を実行できる。
【００６３】
ＶＲ端末を装着している状態では、ＶＲ端末外のユーザ視界は、普通は制限されるため、ユーザは自分の手が行った実際の３Ｄジェスチャを見ることができない。このため、ユーザの手に関連付けられた３Ｄジェスチャの正確性と位置が影響を受ける可能性がある。これらの問題を軽減するために、ＶＲクライアント端末は、ＶＲシナリオに関連したＶＲ環境内にオペレーショナルフォーカスを出力できる。オペレーショナルフォーカスは、ユーザの３Ｄジェスチャに対応し、空間変位をリアルタイムで反映するよう構成されている。例えば、ＶＲクライアント端末はＶＲ環境内に表示するために、ユーザの手の操作位置をリアルタイムで計算できる。操作位置は、感知ハードウェアによりユーザの手をリアルタイム追跡して収集した手変位データを用いて計算される。この方法では、ユーザの現実世界３Ｄジェスチャを、表示された移動するオペレーショナルフォーカスによってリアルタイムでＶＲ環境内に表すことができる。
【００６４】
実施によっては、オペレーショナルフォーカスはアイコン、ポインタ、又はその他のグラフィカル要素（例えば、人間の手の表現）を含むことができる。ユーザが実行した３Ｄジェスチャをシミュレーションするために、オペレーショナルフォーカスをアニメーション化することも可能である。例えば、ＶＲクライアント端末は、ユーザの手の奥行き情報に基づく３Ｄジェスチャモデリングの手段により、ユーザの３Ｄジェスチャに対応した３Ｄジェスチャモデルを生成する。３Ｄジェスチャモデルは、概して、ユーザの手に関連付けられた正確なパラメータ（例えば、ユーザの手の位置座標や変位変化）を表すので、これに対応する３Ｄジェスチャアニメーションを、３Ｄジェスチャモデルを用いてレンダリングすることができる。
【００６５】
ユーザは、ＶＲシナリオに没入すると、自分の手で現在行っている特定の３Ｄジェスチャを、表示されるオペレーショナルフォーカスを用いてリアルタイムで正確に観察することが可能である。実施によっては、ＶＲクライアント端末は、特定の３Ｄジェスチャを１つ以上の事前設定された３Ｄジェスチャとマッチ（一致）するように変更／修正するよう、ユーザに視覚的に促すことができる。こうすることで、ユーザは、不正確な、意図しない、又は未知のジェスチャによって不正確な／間違った入力が生じるおそれを低減するように、自分の３Ｄジェスチャの形成を訂正することが可能になる。
【００６６】
実施によっては、ＶＲクライアント端末は事前設定された３Ｄジェスチャモデルを格納しておき、生成されたユーザの３Ｄジェスチャの３Ｄジェスチャモデルに対してマッチング（照合）させることができる。ＶＲクライアント端末は、ユーザの３Ｄジェスチャを認識すると、生成された３Ｄジェスチャモデルと事前設定された３Ｄジェスチャモデルからいくつかの対応する特徴点を選択できる。ユーザの３Ｄジェスチャが事前設定された３Ｄジェスチャとマッチするかどうかを特定するべく、ＶＲシナリオのＸ／Ｙ／Ｚ軸に対する回転量とオフセットがマッチするかを特定するために、ＶＲクライアント端末は選択した特徴点を用いてマッチング動作を実行する。生成された３Ｄジェスチャモデルと事前設定された３Ｄジェスチャモデルとの間の特徴点の完全な一致は期待できないため、ＶＲクライアント端末は、事前設定された閾値を用いることで、生成された３Ｄジェスチャモデルと事前設定された３Ｄジェスチャモデルとの間で類似マッチを特定することができる。例えば、事前設定された閾値を満たした又はこれを超えた場合に、生成された３Ｄジェスチャモデル及び事前設定された３Ｄジェスチャモデルがマッチしたとみなしてよい。実施によっては、マッチングは、ＶＲクライアント端末で実行される事前設定された類似性アルゴリズムによって特定できる。事前設定された閾値は、ＶＲシナリオの特定のニーズに応じて色々な値に設定できる（例えば、繊細な選択を要する動作は事前設定された高い閾値を持つ一方、一般的な回転動作は事前設定された低い閾値を持つ）。
【００６７】
３）情報入力
【００６８】
ＶＲクライアント端末が、ユーザの３Ｄジェスチャは事前設定された３Ｄジェスチャであると特定した場合、ＶＲクライアント端末はＶＲ環境内の３Ｄジェスチャの操作位置を計算し、次に、この操作位置に対応するＶＲシナリオに関連付けられた仮想要素を選択できる。例えば、ＶＲクライアントと端末は、感知ハードウェアがユーザの手をリアルタイム追跡して収集した手変位データに従って、ＶＲ環境内におけるユーザの手の操作位置をリアルタイムで計算できる。操作位置を計算したら、ＶＲクライアント端末は、操作位置に対応した仮想要素についてＶＲシナリオを検索し、次に、仮想要素を選択できる。
【００６９】
ユーザの３Ｄジェスチャに対応したオペレーショナルフォーカスが既にＶＲ環境内に表示されている場合、ＶＲクライアント端末は、ＶＲ環境内でのユーザの手の操作位置を特定するために、更にオペレーショナルフォーカスの位置を探すことができる。ここで、ＶＲクライアント端末は、オペレーショナルフォーカスによってＶＲシナリオ内に示される仮想要素を検索し、次に、その仮想要素を選択できる。
【００７０】
実施によっては、ユーザが行う３Ｄジェスチャに関連付けられた冗長な持続時間によって生じる可能性のある操作上の失敗を低減するために、ＶＲクライアント端末は、３Ｄジェスチャが有効かどうかを示すための事前設定された持続時間閾値を設定できる。ユーザの３Ｄジェスチャを認識した後に、ＶＲクライアント端末は３Ｄジェスチャの全持続時間（つまり、ユーザがジェスチャを開始した瞬間からジェスチャが終了した瞬間までの時間差）を計算し、次に、３Ｄジェスチャの持続時間が事前設定された持続時間閾値よりも短いかどうかを特定できる。３Ｄジェスチャの持続時間が事前設定した持続時間閾値よりも短い場合には、３Ｄジェスチャは有効であるとみなされる。３Ｄジェスチャの持続時間が事前設定した持続時間閾値と等しい又はこれよりも長い場合には、３Ｄジェスチャは無効であるとみなされる。有効であると特定されると、ＶＲクライアント端末は、次に、その３Ｄジェスチャが事前設定された３Ｄジェスチャであるかどうかを特定できる。
【００７１】
事前設定された時間期間閾値は特定のＶＲシナリオとＶＲに関連した動作とに応じて変化してよい。例えば、ユーザが事前設定された３Ｄジェスチャを短時間で迅速に形成して、ＶＲシナリオにおいて仮想要素を選択できるように、事前設定された持続時間閾値を短い時間（例えば、２秒間）に設定できる。
【００７２】
ユーザが、ＶＲクライアント端末をトリガし、事前設定された３Ｄ入力ＧＵＩを出力するようにさせるＶＲシナリオに、事前設定された仮想トリガ要素が前もって提供されていると仮定する。例えば、ＶＲ環境内のＶＲシナリオとインターフェース接続した状態で情報を入力する必要がある場合、ユーザは、仮想トリガ要素をトリガするべく仮想トリガ要素が配置される位置にオペレーショナルフォーカスを移動させることができる（例えば、オペレーショナルフォーカスを仮想トリガ要素の上でホバリングさせ続ける）。特定の例として、ユーザは、外部デバイス（例えば、ジョイスティック又はハンドル）を用いてオペレーショナルフォーカスの動きを制御できる。或いは、重力センサをＶＲ端末に事前にインストールしたり、対応する重力感知手段をユーザが手に装着したりすることで、ユーザが頭部の動き／頭部姿勢により、又は手の動きにより、オペレーショナルフォーカスの動きを制御できる。
【００７３】
オペレーショナルフォーカスを仮想トリガ要素の上でホバリングさせ続けた後に、ユーザはオペレーショナルフォーカスが示す位置にて事前設定された３Ｄジェスチャを手で行うことができる。ＶＲクライアント端末が、ユーザによって行われた３Ｄジェスチャが事前設定された３Ｄジェスチャであると識別した後、オペレーショナルフォーカスが仮想トリガ要素の上でホバリング状態に維持されているため、オペレーショナルフォーカスによって示された仮想要素は作動のための仮想トリガ要素とみなされる。ＶＲクライアント端末は仮想トリガ要素を選択でき、３Ｄ入力ＧＵＩを出力するようにＶＲシナリオをトリガすることができる。
【００７４】
３Ｄ入力ＧＵＩがＶＲ端末内に表示されたら、ユーザは３Ｄ入力ＧＵＩに関連付けられた仮想入力要素によって示された情報を入力できる。ユーザの入力のニーズに基づいて、ユーザはオペレーショナルフォーカスを特定の仮想入力要素の上でホバリングさせ、次に、事前設定された３Ｄジェスチャを手で形成することにより、特定の仮想入力要素を選択ができる。実施によっては、仮想トリガ要素を選択するための事前設定された３Ｄジェスチャは、３Ｄ入力ＧＵＩ内の仮想入力要素を選択するための事前設定された３Ｄジェスチャと同一又は異なっていてよい。
【００７５】
ユーザが行った３Ｄジェスチャは事前設定された３Ｄジェスチャであると特定した後に、ＶＲクライアント端末は、ＶＲシナリオに関連した３Ｄジェスチャの操作位置を計算できる。次に、ＶＲクライアント端末はこの操作位置に対応した特定の仮想入力要素について３Ｄ入力ＧＵＩを検索し、特定の仮想入力要素を選択できる。実施によっては、ＶＲクライアント端末は３Ｄ入力ＧＵＩ内の仮想入力要素を強調することができる。例えば、選択された仮想入力要素を３Ｄ入力ＧＵＩ内で（例えば、別の色やフラッシュを使うといった）ハイライト強調できる。
【００７６】
３Ｄ入力ＧＵＩ内の仮想入力要素の選択に続き、ＶＲクライアント端末は仮想入力要素に対応した情報（例えば、文字や数字）を読み取ることができる。読み取った情報は、次に、情報の入力に用いることができる。ユーザは、追加の仮想入力要素を選択して、追加の情報（例えば、パスワードを形成する一連の英数字）を入力することができる。決済パスワードが入力された場合には、入力された決済パスワードの（例えば、決済サーバによる）確認後に、選択された商品の購入を完了できる。
【００７７】
図５は、本開示の実施に係る、ＶＲクライアント端末に関連付けられた動作を入力するために用いられるコンピューティングモジュール５００の例を示すブロック図である。ＶＲシナリオが仮想現実クライアント端末によりＶＲ環境内に出力され、ＶＲ端末に表示される。ＶＲシナリオは３Ｄ入力ＧＵＩを含む。実施によっては、ＶＲシナリオは、ＶＲシナリオにおける３Ｄ入力ＧＵＩの出力をトリガするために用いられる事前設定された仮想トリガ要素を含む。実施によっては、３Ｄ入力ＧＵＩは３Ｄ仮想キーボードであってよく、仮想入力要素は３Ｄ仮想キーボードに関連付けられた仮想キーであってよい。ＶＲシナリオは３Ｄジェスチャに対応したオペレーショナルフォーカスを含み、オペレーショナルフォーカスはＶＲシナリオにおける３Ｄジェスチャとの同期変位を有する。実施によっては、オペレーショナルフォーカスは３Ｄジェスチャをシミュレートしたアニメーションとして表示される。
【００７８】
実施によっては、認識モジュール５０１は、ＶＲシナリオでのユーザの３Ｄジェスチャを認識するように構成される。実施によっては、認識モジュール５０１は：１）事前設定された感知ハードウェアを用いてユーザの手の変位を追跡する、２）感知ハードウェアが収集したユーザの手変位データを取得する、３）ＶＲシナリオのＸ／Ｙ／Ｚ軸に対応するユーザの手の回転量とオフセットを、手変位データに基づいて計算する、４）回転量とオフセットに基づいて３Ｄモデリングを実行して、対応する３Ｄジェスチャを得る、ようにも構成される。判定モジュール５０２は、ユーザの３Ｄジェスチャが認識されると、認識された３Ｄジェスチャが事前設定された３Ｄジェスチャであるかどうかを特定するように構成される。計算モジュール５０３は、認識された３Ｄジェスチャが事前設定された３Ｄジェスチャである場合に、３Ｄ入力ＧＵＩに対応した３Ｄジェスチャの操作位置を計算するように構成される。実施によっては、計算モジュール５０３は：１）３Ｄ入力ＧＵＩに対応した３Ｄジェスチャの操作位置を計算する前に、３Ｄジェスチャの期間を計算する、２）３Ｄジェスチャの期間が事前設定された閾値よりも短いかどうかを判定する、３）３Ｄジェスチャの期間が事前設定された閾値よりも短い場合に、３Ｄ入力ＧＵＩに対応した３Ｄジェスチャの操作位置を計算する動作を実行する、ようにも構成される。入力モジュール５０４は、３Ｄ入力ＧＵＩに関連付けられ、算出した操作位置に対応する仮想入力要素を選択するように構成される。この入力モジュール５０４は、仮想入力要素により示された情報入力を読み取るようにも構成される。実施によっては、入力モジュール５０４は、更に、３Ｄ入力ＧＵＩ内の選択された仮想入力要素を強調するようにも構成される。出力モジュール５０５は、操作位置が、仮想トリガ要素が配置されている位置に対応する場合、３Ｄ入力ＧＵＩを出力するように構成される。
【００７９】
図６は、本開示の実施に係る、図５の例示のＶＲクライアント端末に関連付けられたコンピューティングハードウェアコンポーネント（構成要素）６００の例を示すブロック図である。図６に示すように、ＶＲクライアント端末は、中央処理ユニット（ＣＰＵ）６０２、コンピュータメモリ６０４、不揮発性記憶デバイス６０６、ネットワークインターフェース６１０、及び内部バス６１２を含む。実施によっては、図６は図７に示すコンピューティングシステムを含む、又はこれに含まれることができる。実施によっては、図６及び図７に示すコンポーネントのいくつか又は全てを同一（例えば、ＣＰＵ６０２／プロセッサ７０５、メモリ６０４／メモリ７０７）であるとみなすことができる。実施によっては、ＶＲクライアント端末に関連付けられた動作を入力するために用いるコンピューティングモジュール５００を、（ソフトウェア・ハードウェアの組み合わせの論理コンピューティングシステムとして）ＣＰＵ６０２によって、メモリ６０４にロードし、格納し、及び実行できる。
【００８０】
当業者は、本明細書を考慮し、開示された本主題を実践した後に、本開示の他の実施に想到できるであろう。本開示は、本開示の基本原理と合致する応用、使用、及び適用を含む、並びに、当該技術における周知の若しくは開示されていない従来の技術手段を含む、記載の主題のあらゆる応用、使用、又は適用を網羅するよう意図されている。提供する各例は、記載する概念の理解を促すことを意図するものであって、本開示の適用性をいかなる形でも限定するものではない。
【００８１】
更に、本開示は記載された実施、又は添付の図面において例示されたとおりのもののみに限定されないことが理解されるべきである。本願の範囲から逸脱せずに様々な改変及び変更を加えることができる。本願の範囲は、本明細書に含まれる「特許請求の範囲」によってのみ限定される。本開示の主旨及び原理において為されるいずれの改造、均等物の置き換え、改良も、本開示の範囲及び保護範囲内にあるとみなされる。
【００８２】
図７は、本開示の実施に係る、記載のアルゴリズム、方法、機能、工程、流れ、手順に関連付けられたコンピューティングの機能性を提供するために用いられるコンピュータにより実施されるシステム７００の例を示すブロック図である。図示の実施では、システム７００はコンピュータ７０２とネットワーク７３０とを含む。
【００８３】
図示のコンピュータ７０２は、サーバ、デスクトップコンピュータ、ラップトップ／ノートブックコンピュータ、無線データポート、スマートフォン、携帯情報端末（ＰＤＡ）、タブレットコンピューティングデバイス、これらデバイス内蔵の１つ以上のプロセッサ、別のコンピューティングデバイス、又は、コンピューティングデバイスの物理的インスタンス（ｐｈｙｓｉｃａｌ  ｉｎｓｔａｎｃｅ）若しくは仮想インスタンス（ｖｉｒｔｕａｌ  ｉｎｓｔａｎｃｅ）を含むコンピューティングデバイスの組み合わせ、又は、コンピューティングデバイスの物理的若しくは仮想インスタンスの組み合わせを含む、コンピューティングデバイスの組み合わせ等のあらゆるコンピューティングデバイスを含むものとする。加えて、コンピュータ７０２は、キーパッド、キーボード、タッチ画面のような入力デバイス、別の入力デバイス、又は、ユーザ情報を受け取ることができる入力デバイスの組み合わせ、及びデジタルデータ、ビジュアル、オーディオ、その他のタイプの情報、又は複数タイプの情報の組み合わせを含む、コンピュータ７０２の動作に関連付けられた情報をグラフィカルタイプのユーザインターフェース（ＵＩ）（又はＧＵＩ）若しくはその他のＵＩ上で伝える出力デバイスを含むコンピュータを含むことができる。
【００８４】
コンピュータ７０２は、分散コンピューティングシステムにおいて本開示に記載の主題を実行するために、クライアントとして、ネットワークコンポーネントとして、サーバとして、データベースとして、若しくは別の持続性の役割、又は、別の役割、又は、それら役割の組み合わせとして機能できる。図示のコンピュータ７０２はネットワーク７３０に通信可能に接続している。実施によっては、コンピュータ７０２の１つ以上のコンポーネントは、クラウドコンピューティングベース環境、ローカル環境、グローバル環境、別の環境、又は複数環境の組み合わせを含む環境内で動作するように構成できる。
【００８５】
高いレベルで見ると、コンピュータ７０２は、説明した主題に関連するデータ及び情報を受信、送信、処理、格納又は管理するように操作可能な電子計算デバイスである。実施によると、コンピュータ７０２はまた、アプリケーションサーバ、電子メールサーバ、ウェブサーバ、キャッシュサーバ、ストリーミングデータサーバ、他のサーバ、又はサーバの組合せを含む、又は、それらと通信可能に結合できる。
【００８６】
コンピュータ７０２は、ネットワーク７３０上で（例えば、別のコンピュータ７０２上で実行中のクライアントソフトウェアアプリケーションから）要求を受信し、更に、受信した要求をソフトウェアアプリケーション又は複数ソフトウェアアプリケーションの組み合わせを用いて処理することにより、受信した要求に応答できる。加えて、要求は、内部ユーザから（例えば、コマンドコンソールから、又は、別の内部アクセス方法により）、外部若しくはサードパーティから、又は、その他のエンティティ、個人、システム、コンピュータから、コンピュータ７０２へ送ることも可能である。
【００８７】
コンピュータ７０２の各コンポーネントはシステムバス７０３を用いて通信できる。実施によっては、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアの組み合わせを含むコンピュータ７０２のコンポーネントのいずれか又は全ては、アプリケーションプログラミングインターフェース（ＡＰＩ）７１２、サービスレイヤ７１３、又はＡＰＩとサービスレイヤ７１３の組み合わせを用いたシステムバス７０３上でインターフェース接続できる。ＡＰＩ７１２はルーチン、データ構造、オブジェクトクラスのための仕様を含むことができる。ＡＰＩ７１２はコンピュータ言語依存型又はコンピュータ言語非依存型であってよく、完全なインターフェース、単一の機能（シングルファンクション）、更には１組のＡＰＩセットとも呼ばれる。サービスレイヤ７１３は、コンピュータ７０２、又は、コンピュータ７０２に通信可能に接続しているその他のコンポーネント（図示の有無を問わない）にソフトウェアサービスを提供する。このサービスレイヤを用いることで、全てのサービスコンシューマがコンピュータ７０２の機能にアクセスできる。サービスレイヤ７１３によって提供されるようなソフトウェアサービスは、定義されたインターフェースを介して、再利用可能な定義された機能を提供する。例えば、インターフェースは、拡張マークアップ言語（ＸＭＬ）形式、別の形式、又は複数の形式の組み合わせでデータを提供する、ＪＡＶＡ（登録商標）、Ｃ＋＋、別のコンピュータ言語、又は複数のコンピュータ言語の組み合わせで書かれたソフトウェアであってよい。コンピュータ７０２に統合されたコンポーネントとして図示されているが、代替の実施は、ＡＰＩ７１２又はサービスレイヤ７１３を、コンピュータ７０２、又は、コンピュータ７０２に通信可能に接続しているその他のコンポーネント（図示の有無を問わない）に関連したスタンドアロン型コンポーネントとして図示することが可能である。更に、ＡＰＩ７１２又はサービスレイヤ７１３のいずれか又は全ては、別のソフトウェアモジュールの子モジュール若しくはサブモジュール、企業アプリケーション、又はハードウェアモジュールとして、本開示の範囲から逸脱せずに実施できる。
【００８８】
コンピュータ７０２はインターフェース７０４を含む。図７では単一のインターフェース７０４として図示されているが、特定のニーズ、要望、又はコンピュータ７０２の特定の実施に従って、２つ以上のインターフェース７０４の使用が可能である。インターフェース７０４は、分散環境内でネットワーク７３０に通信可能にリンクしている別のコンピューティングシステム（図示の有無を問わない）と通信するためにコンピュータ７０２によって用いられる。一般的に、インターフェース７０４はネットワーク７３０と通信するように動作でき、又、ソフトウェア、ハードウェア、又はソフトウェアとハードウェアの組み合わせ内に暗号化された論理を備えている。より具体的には、インターフェース７０４は、通信に関連付けられた１つ以上の通信プロトコルを支援するソフトウェアを備えることができ、これにより、ネットワーク７３０又はインターフェースのハードウェアが、図示のコンピュータ７０２の内外において物理信号を通信するように動作できるようになっている。
【００８９】
コンピュータ７０２は、プロセッサ７０５を含む。図７では単一のプロセッサ７０５として示されているが、コンピュータ７０２の特定のニーズ、要望、又は特定の実施に従って、２つ以上のプロセッサを使用できる。一般に、プロセッサ７０５は命令を実行し、データを操作してコンピュータ７０２の作動、並びに本願に記載されるような任意のアルゴリズム、方法、機能、工程、フロー、及び手順を実行する。
【００９０】
コンピュータ７０２は、コンピュータ７０２、ネットワーク７３０に通信可能にリンクしている別のコンポーネント（図示の有無を問わない）、又はコンピュータ７０２と別のコンポーネントの組み合わせのためにデータを保持することが可能なデータベース７０６を更に含む。例えば、データベース７０６は、本開示と合致するデータを格納する、インメモリタイプ、従来タイプ、又は別のタイプのデータベースであってよい。実施によっては、データベース７０６は、特定のニーズ、要望、又はコンピュータ７０２及び記載の機能の特定の実施に応じて、２つ以上の異なるデータベースタイプ（例えば、ハイブリッドインメモリタイプや従来タイプのデータベース）の組み合わせであってよい。図７では単一のデータベース７０６として図示されているが、特定のニーズ、要望、又はコンピュータ７０２及び記載の機能の特定の実施に応じて、類似する又は異なるタイプの２つ以上のデータベースを使用することができる。データベース７０６はコンピュータ７０２に統合されたコンポーネントとして図示されているが、代替の実施ではコンピュータ７０２の外部にあってもよい。
【００９１】
コンピュータ７０２はコンピュータ７０２、ネットワーク７３０に通信可能にリンクしている別の１つ以上のコンポーネント（図示の有無を問わない）、又はコンピュータ７０２と別のコンポーネントとの組み合わせのためにデータを保持することが可能なメモリ７０７を更に含む。メモリ７０７は本開示と合致するあらゆるデータを格納できる。実施によっては、メモリ７０７は、特定のニーズ、要望、又はコンピュータ７０２及び記載の機能の特定の実施に応じて、２つ以上の異なるタイプのメモリの組み合わせ（例えば、半導体と磁気記憶装置の組み合わせ）であってよい。図７では単一のメモリ７０７として図示されているが、特定のニーズ、要望、又はコンピュータ７０２及び記載の機能の特定の実施に応じて、２つ以上のメモリ７０７、若しくは類似の又は異なるタイプのメモリを使用することができる。メモリ７０７はコンピュータ７０２に統合されたコンポーネントとして図示されているが、代替の実施ではコンピュータ７０２の外部にあってもよい。
【００９２】
アプリケーション７０８は、特に本願に説明されている機能については、コンピュータ７０２の特定のニーズ、要望、又は特定の実施に従って機能を提供するアルゴリズムソフトウェアエンジンである。例えば、アプリケーション７０８は、１つ以上のコンポーネント、モジュール、又はアプリケーションとして機能できる。さらに、単一のアプリケーション７０８として示されているが、アプリケーション７０８は、コンピュータ７０２上の複数のアプリケーション７０８として実施されてもよい。さらに、コンピュータ７０２に不可欠なものとして示されているが、代替の実施では、アプリケーション７０８はコンピュータ７０２の外部にあってもよい。
【００９３】
コンピュータ７０２は電源７１４も含むことができる。電源７１４は、ユーザが交換可能又はユーザが交換できないように構成できる充電式又は非充電式電池を含むことができる。実施によっては、電源７１４は、電力変換又は（再充電、スタンバイ、又は他の電力管理機能を含む）管理回路を含むことができる。実施によっては、電源７１４は、例えばコンピュータ７０２に電力を供給するため、又は充電式バッテリを充電するために、コンピュータ７０２を壁コンセント又は他の電源に差し込むことを可能にするための電源プラグを含むことができる。
【００９４】
各コンピュータ７０２はネットワーク７３０を介して通信する、コンピュータ７０２を含むコンピュータシステムに関連する、又はその外部にある、任意の数のコンピュータ７０２があってもよい。さらに、用語「クライアント」、「ユーザ」、及び他の適切な用語を、本願の範囲から逸脱することなく、必要に応じて交換可能に使用できる。さらに、本願は、多くのユーザが１つのコンピュータ７０２を使用する可能性があること、又は１人のユーザが複数のコンピュータ７０２を使用する可能性があることを想定している。
【００９５】
記載する本主題の実施は、１つ以上の特徴を単独で又は組合せて含むことができる。
【００９６】
例えば、第１の実施では、コンピュータで実施される方法は：感知ハードウェアから手変位データを受信するステップと；受信した手変位データを、３次元（３Ｄ）ジェスチャ認識アルゴリズムを用いて分析するステップと；受信した手変位データが３Ｄジェスチャを表すと認識するステップと；３Ｄ入力グラフィカルユーザインターフェース（ＧＵＩ）に関する３Ｄジェスチャの操作位置を計算するステップと；３Ｄ入力ＧＵＩに関連付けられ、計算された操作位置に対応した仮想入力要素を選択するステップと；選択された仮想入力要素に対応した入力情報を読み取るステップと；を含む。
【００９７】
先に述べた実施及び他の説明された実施は、それぞれ、任意に、以下の特徴のうちの１つ以上を含むことができる。
【００９８】
第１の特徴は、後述の特徴のいずれかと組み合わせが可能であり、感知ハードウェアは１つ以上の画像センサ、レーザセンサ、又はレーダセンサを含む。
【００９９】
第２の特徴は、前述又は後述の特徴のいずれかと組み合わせが可能であり、感知ハードウェアは１つ以上の画像センサ、レーザセンサ、又はレーダセンサを含む。
【０１００】
第３の特徴は、前述又は後述の特徴のいずれかと組み合わせが可能であり、受信した手変位データが３Ｄジェスチャを表すことを認識するステップは：ＶＲシナリオのＸ／Ｙ／Ｚ軸に対するユーザの手の回転量とオフセットとを計算するステップと；ユーザの手の計算した回転量とオフセットとを用いて、３Ｄジェスチャモデルを生成するステップと；を更に含む。
【０１０１】
第４の特徴は、前述又は後述の特徴のいずれかと組み合わせが可能であり：３Ｄジェスチャの３Ｄジェスチャモデルを少なくとも１つの事前設定された３Ｄジェスチャモデルと比較するステップと；３Ｄジェスチャの３Ｄジェスチャモデルが少なくとも１つの事前設定された３Ｄジェスチャモデルとマッチすると特定するステップと；を更に含む。
【０１０２】
第５の特徴は、前述又は後述の特徴のいずれかと組み合わせが可能であり、３Ｄジェスチャの３Ｄジェスチャモデルが少なくとも１つの事前設定された３Ｄジェスチャモデルとマッチするとの特定は、生成された３Ｄジェスチャモデルと少なくとも１つの事前設定された３Ｄジェスチャモデルとから選択された対応するいくつかの特徴点の比較に依存する。
【０１０３】
第６の特徴は、前述又は後述の特徴のいずれかと組み合わせが可能であり：回転量は、ユーザの手が３Ｄジェスチャを実行するときに、ユーザの手における事前選択された特徴点をＶＲシナリオのＸ／Ｙ／Ｚ軸に対して回転させる偏差角を意味し；オフセットは、ユーザの手が３Ｄジェスチャを実行するときに、ユーザの手における事前選択された特徴点からＶＲシナリオのＸ／Ｙ／Ｚ軸までの水平距離を意味する。
【０１０４】
第２の実施では、所定の動作を実行するために、コンピュータシステムにより実行可能な１つ以上の命令を格納する非一時的でコンピュータ読み取り可能な媒体が：感知ハードウェアから手変位データを受信する動作と；受信した手変位データを、３次元（３Ｄ）ジェスチャ認識アルゴリズムを用いて分析する動作と；受信した手変位データは３Ｄジェスチャを表すと認識する動作と；３Ｄ入力グラフィカルユーザインターフェース（ＧＵＩ）に関する３Ｄジェスチャの操作位置を計算する動作と；３Ｄ入力ＧＵＩに関連付けられ、計算された操作位置に対応した仮想入力要素を選択する動作と；選択された仮想入力要素に対応した入力情報を読み取る動作と；を含む。
【０１０５】
先に述べた、及び他の説明された実施は、それぞれ、任意に、以下の特徴のうちの１つ以上を含むことができる。
【０１０６】
第１の特徴は、後述の特徴のいずれかと組み合わせることができ、感知ハードウェアは１つ以上の画像センサ、レーザセンサ、レーダセンサを含む。
【０１０７】
第２の特徴は、前述又は後述の特徴のいずれかと組み合わせが可能であり、３次元ジェスチャは、ＶＲ環境に表示されたＶＲシナリオにおいてユーザにより実行される。
【０１０８】
第３の特徴は、前述又は後述の特徴のいずれかと組み合わせが可能であり、受信した手変位データが３Ｄジェスチャを表すことを認識する動作とは、ＶＲシナリオのＸ／Ｙ／Ｚ軸に対するユーザの手の回転量とオフセットを計算する動作と；計算されたユーザの手の回転量とオフセットを用いて３Ｄジェスチャモデルを生成する動作と；の１つ以上の動作を更に含む。
【０１０９】
第４の特徴は、前述又は後述の特徴のいずれかと組み合わせが可能であり、３Ｄジェスチャの３Ｄジェスチャモデルを少なくとも１つの事前設定された３Ｄジェスチャモデルと比較するため；３Ｄジェスチャの３Ｄジェスチャモデルが少なくとも１つの事前設定された３Ｄジェスチャモデルとマッチすると特定するため；の１つ以上の命令を更に含む。
【０１１０】
第５の特徴は、前述又は後述の特徴のいずれかと組み合わせが可能であり、３Ｄジェスチャの３Ｄジェスチャモデルが少なくとも１つの事前設定された３Ｄジェスチャモデルとマッチするとの特定は、生成された３Ｄジェスチャモデルと、少なくとも１つの事前設定された３Ｄジェスチャモデルとから選択された対応するいくつかの特徴点の比較に依存する。
【０１１１】
第６の特徴は、前述又は後述の特徴のいずれかと組み合わせが可能であり、回転量は、ユーザの手が３Ｄジェスチャを実行するときに、ユーザの手における事前選択された特徴点をＶＲシナリオのＸ／Ｙ／Ｚ軸に対して回転させる偏差角を意味し；オフセットは、ユーザの手が３Ｄジェスチャを実行するときに、ユーザの手における事前選択された特徴点からＶＲシナリオのＸ／Ｙ／Ｚ軸までの水平距離を意味する。
【０１１２】
第３の実施では、コンピュータにより実施されるシステムは：１つ以上のコンピュータと；１つ以上のコンピュータに相互運用可能に接続され、１つ以上の命令を格納する有形で非一時的なマシン読み取り可能媒体を有する１つ以上のコンピュータメモリデバイスと；を備え、上記媒体の上記命令は、１つ以上のコンピュータで実行されると、感知ハードウェアから手変位データを受信する動作と；受信した手変位データを、３次元（３Ｄ）認識アルゴリズムを用いて分析する動作と；受信した手変位データが３Ｄジェスチャを表すと認識する動作と；３Ｄ入力グラフィカルユーザインターフェース（ＧＵＩ）に関する３Ｄジェスチャの操作位置を計算する動作と；３Ｄ入力ＧＵＩに関連付けられ、計算された操作位置に対応した仮想入力要素を選択する動作と；選択された仮想入力要素に対応した入力情報を読み取る動作と；を実行する。
【０１１３】
先に述べた及びその他の記述された実施の各々は、以下の特徴の１つ以上をオプションで含む。
【０１１４】
第１の特徴は、後述の特徴のいずれかと組み合わせが可能であり、感知ハードウェアは、１つ以上の画像センサ、レーザセンサ、レーダセンサを含む。
【０１１５】
第２の特徴は、前述又は後述の特徴のいずれかと組み合わせが可能であり、３Ｄジェスチャは、ＶＲ環境に表示されたＶＲシナリオにおいてユーザにより実行される。
【０１１６】
第３の特徴は、前述又は後述の特徴のいずれかと組み合わせが可能であり、受信した手変位データが３Ｄジェスチャを表すことを認識する動作は、ＶＲシナリオのＸ／Ｙ／Ｚ軸に対するユーザの手の回転量とオフセットとを計算する動作と；計算されたユーザの手の回転量とオフセットとを用いて３Ｄジェスチャモデルを生成する動作と；を更に含む。
【０１１７】
第４の特徴は、前述又は後述の特徴のいずれかと組み合わせが可能であり、３Ｄジェスチャの３Ｄジェスチャモデルを少なくとも１つの事前設定された３Ｄジェスチャモデルと比較する動作と；３Ｄジェスチャの３Ｄジェスチャモデルが少なくとも１つの事前設定された３Ｄジェスチャモデルとマッチすると特定する動作と；の１つ以上の動作を更に含む。
【０１１８】
第５の特徴は、前述又は後述の特徴のいずれかと組み合わせが可能であり、３Ｄジェスチャの３Ｄジェスチャモデルが少なくとも１つの事前設定された３Ｄジェスチャモデルとマッチするとの特定は、生成された３Ｄジェスチャモデルと少なくとも１つの事前設定された３Ｄジェスチャモデルとから選択された対応するいくつかの特徴点の比較に依存する。
【０１１９】
第６の特徴は、前述又は後述の特徴のいずれかと組み合わせが可能であり：回転量は、ユーザの手が３Ｄジェスチャを実行するときに、ユーザの手における事前選択された特徴点をＶＲシナリオのＸ／Ｙ／Ｚ軸に対して回転させる偏差角を意味し；オフセットは、ユーザの手が３Ｄジェスチャを実行するときに、ユーザの手における事前に選択された特徴点からＶＲシナリオのＸ／Ｙ／Ｚ軸までの水平距離を意味する。
【０１２０】
本明細書に記載された主題の実施及び機能操作は、本明細書に開示された構造及びそれらの構造的等価物を含む、デジタル電子回路、有形に具現化されたコンピュータソフトウェア若しくはファームウェア、コンピュータハードウェア、又はそれらの１つ以上の組合せで実施できる。記載された主題のソフトウェア実施は、１つ以上のコンピュータプログラムとして、すなわち、データ処理装置によって実行又はデータ処理装置を制御するために、有形の非一時的なコンピュータ読取可能でコンピュータ記録媒体上に符号化された、１つ以上のコンピュータプログラム命令のモジュールとして実施できる。代替的に又は追加的に、プログラム命令は、例えば、データ処理装置による実行のために適切な受信装置へ送信するために情報を符号化するよう生成される機械生成の電気信号、光信号、又は電磁信号など人工的に生成された伝搬信号に符号化できる。コンピュータ記録媒体は、機械読取可能記録デバイス、機械読取可能記録基板、ランダム又はシリアルアクセスメモリデバイス、又はコンピュータ記録媒体の組合せでもよい。１つ以上のコンピュータを構成するということは、ソフトウェアが１つ以上のコンピュータによって実行されるとき、特定の計算操作が実行されるように、１つ以上のコンピュータでハードウェア、ファームウェア、若しくはソフトウェア（又はハードウェア、ファームウェア、及びソフトウェアの組合せ）をインストールしてあることを意味する。
【０１２１】
用語「リアルタイム（ｒｅａｌ−ｔｉｍｅ）」、「リアルタイム（ｒｅａｌ  ｔｉｍｅ）」、「リアルタイム（ｒｅａｌｔｉｍｅ）」、「リアルファーストタイム（ｒｅａｌ  （ｆａｓｔ）  ｔｉｍｅ）（ＲＦＴ）」、「ニアリーリアルタイム（ｎｅａｒ（ｌｙ）  ｒｅａｌ  ｔｉｍｅ）（ＮＲＴ）」、「準リアルタイム（ｑｕａｓｉ  ｒｅａｌ  ｔｉｍｅ）」又は（当業者によって理解されるような）類似の用語は、個人が実質的に同時に行動及び応答を知覚するように、行動及び応答が時間的に近いことを意味する。例えば、個人がデータにアクセスする行動に続くデータを表示（又は表示の開始）する応答に対する時間差は、１ミリ秒未満、１秒未満、又は５秒未満かもしれない。要求されたデータは瞬時に表示される（又は表示のために開始）必要はないが、記述されたコンピューティングシステムの処理限界及び例えばデータを収集、正確に測定、分析、処理、保存、又は送信するのに必要な時間を考慮して意図的な遅延なしに表示（又は表示のために開始）される。
【０１２２】
用語「データ処理装置」、「コンピュータ」、又は「電子コンピュータデバイス」（又は当業者によって理解されるような同等物）は、データ処理ハードウェアを指し、実施例として、プログラム可能なプロセッサ、コンピュータ、又は複数のプロセッサ若しくはコンピュータを含む、データを処理するためのあらゆる種類の装置、デバイス、及び機械を包含する。装置はまた、例えば、中央処理装置（ＣＰＵ）、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）、又はＡＳＩＣ（特定用途向け集積回路）などの専用論理回路であるか、又はそれらをさらに含むことができる。実施によっては、データ処理装置又は専用論理回路（又はデータ処理装置又は専用論理回路の組合せ）は、ハードウェアベース又はソフトウェアベース（又はハードウェアベースとソフトウェアベースとの両方の組合せ）であってもよい。装置は、コンピュータプログラムの実行環境を作成するコード、例えばプロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又は実行環境の組合せを作成するコードを任意に含むことができる。本願は、従来のいくつかのタイプのオペレーティングシステム、例えばＬＩＮＵＸ、ＵＮＩＸ（登録商標）、ＷＩＮＤＯＷＳ（登録商標）、ＭＡＣ  ＯＳ、ＡＮＤＲＯＩＤ（登録商標）、ｉＯＳ、又は他のオペレーティングシステム、あるいはオペレーティングシステムの組み合わせを伴うデータ処理装置の使用を想定している。
【０１２３】
プログラム、ソフトウェア、ソフトウェアアプリケーション、ユニット、モジュール、ソフトウェアモジュール、スクリプト、コード又は他のコンポーネントとも呼ばれる又は記述されることがあるコンピュータプログラムは、コンパイル若しくはインタプリタ言語、又は宣言型若しくは手続き型の言語を含む任意の形式のプログラミング言語で記述することができ、また、コンピューティング環境での使用に適した、スタンドアロンプログラム、モジュール、コンポーネント、又はサブルーチンを含むあらゆる形式で展開できる。コンピュータプログラムは、必ずしもそうである必要はないが、ファイルシステム内のファイルに対応できる。プログラムは、対象のプログラム専用の単一ファイルの中に、又は例えば、１つ以上のモジュール、サブプログラム、又はコードの一部を格納するファイルなど多数の調整されたファイルの中に、例えばマークアップ言語の文書に格納されている１つ以上のスクリプトのように、他のプログラムやデータを保持するファイルの一部に格納できる。コンピュータプログラムは、１つのコンピュータで、又は、１つのサイトに配置されているか又は複数のサイトにわたって分散されて通信ネットワークによって相互接続されている複数のコンピュータ上で実行されるように展開できる。
【０１２４】
様々な図に示されているプログラムの一部は、様々なオブジェクト、方法、又は他の工程を通して様々な特徴及び機能を実施するユニットやモジュールのような個々のコンポーネントとして示される一方、プログラムは代替的に多くのサブモジュール、サードパーティサービス、コンポーネント、ライブラリ、その他のコンポーネントなどを必要に応じて含むことができる。逆に、様々なコンポーネントの特徴及び機能は、必要に応じて単一のコンポーネントに組合せることができる。計算的な特定を行うために使用される閾値は、静的に、動的に、又は静的に且つ動的に特定できる。
【０１２５】
記載した方法、工程、論理フローは、本開示と合致する機能の１つ以上の例を表しており、本開示を記載或いは図示された実施に限定するものではなく、記載の原理及び特徴と一致する最も広い範囲と合致するものである。記載の方法、工程、論理フローは、１つ以上のコンピュータプログラムを実行する１つ以上のプログラム可能なコンピュータにより実行され、入力されたデータ上で動作し、出力データを入力することによって機能を実行できる。方法、工程、論理フローは専用論理回路（例えば、ＣＰＵ、ＦＰＧＡ、又はＡＳＩＣ）によっても実行でき、装置は専用論理回路（例えば、ＣＰＵ、ＦＰＧＡ、又はＡＳＩＣ）としても実施できる。
【０１２６】
コンピュータプログラムを実行するためのコンピュータは、汎用又は専用のマイクロプロセッサ、その両方、又は他のタイプのＣＰＵに基づくことができる。一般に、ＣＰＵはメモリから命令及びデータを受信し、メモリに書き込む。コンピュータの本質要素は、命令を実行又は達成するためのＣＰＵ、並びに命令及びデータを格納するための１つ以上のメモリデバイスである。一般に、コンピュータは、例えば磁気、光磁気ディスク、又は光ディスクなどの、データを格納するための１つ以上の大容量格納デバイスをさらに含むか操作的に連結されていて、データを受信若しくはそれらデバイスへデータを送信、又は送受信の両方を行う。しかしながら、コンピュータはそのようなデバイスを有する必要はない。さらに、コンピュータは、別のデバイス、例えば携帯電話、携帯情報端末（ＰＤＡ）、携帯オーディオ若しくはビデオプレーヤ、ゲーム機、全地球測位システム（ＧＰＳ）受信機、又は携帯型メモリ格納デバイスに組み込むことができる。
【０１２７】
コンピュータプログラムの命令及びデータを格納するのに適した非一時的なコンピュータ読取可能媒体及びデータは、あらゆる形式の永久的／非永久的又は揮発性／不揮発性メモリ、媒体及びメモリデバイスを含むことができ、例として半導体メモリデバイス、例えば、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、相変化メモリ（ＰＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、消去可能プログラム可能読み取り専用メモリ（ＥＰＲＯＭ）、電気的消去可能プログラム可能読取専用メモリ（ＥＥＰＲＯＭ）、及びフラッシュメモリデバイスと；磁気装置、例えばテープ、カートリッジ、カセット、内蔵／リムーバブルディスクと；光磁気ディスクと；例えば、デジタルビデオディスク（ＤＶＤ）、ＣＤ−ＲＯＭ、ＤＶＤ＋／−Ｒ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＯＭ、ＨＤ−ＤＶＤ、及びＢＬＵＲＡＹなどの光デバイス及び他の光メモリ技術と；を含む。メモリは、キャッシュ、クラス、フレームワーク、アプリケーション、モジュール、バックアップデータ、ジョブ、ウェブページ、ウェブページテンプレート、データ構造、データベーステーブル、動的情報を格納するリポジトリ、及びパラメータ、変数、アルゴリズム、命令、ルール、制約、又は参照を含むその他の適切な情報を含む様々なオブジェクト又はデータを格納できる。さらに、メモリは、他の任意の適切なデータ、例えばログ、ポリシー、セキュリティ又はアクセスデータ、報告ファイルを含むことができる。プロセッサ及びメモリは、専用論理回路によって補完されるか、又はその中に組み込まれることが可能である。
【０１２８】
ユーザとのインタラクションを可能にするために、本明細書で説明される主題の実施は、例えば、ＣＲＴ（陰極線管）、ＬＣＤ（液晶ディスプレイ）、ＬＥＤ（発光ダイオード）、又はプラズマモニタなどの、情報をユーザに表示するための表示デバイス、及び、例えば、マウス、トラックボール、又はトラックパッドなどの、ユーザがコンピュータに入力を提供できるキーボード及びポインティングデバイス、を有するコンピュータ上で実施できる。感圧性を有するタブレットコンピュータ表面、静電容量式又は電気式感知を用いるマルチタッチスクリーン、又は他の種類のタッチスクリーンなどのタッチスクリーンを使用して入力をコンピュータに提供することもできる。他の種類の装置を使用して、ユーザとインタラクションすることができる。例えば、ユーザに提供されるフィードバックは任意の形式の感覚的フィードバック（例えば視覚的（ビジュアル）、聴覚的、触覚的、あるいはこれらの組み合わせのフィードバックのタイプ）であり得る。ユーザからの入力は、音響、音声、又は触覚入力を含む任意の形式で受け取ることができる。さらに、コンピュータは、ユーザによって使用されるデバイス及びドキュメントを送受信することによって（例えば、ウェブブラウザから受信した要求に応答してユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって）、ユーザとインタラクションを行える。
【０１２９】
用語「グラフィカルユーザインターフェース」又は「ＧＵＩ」は１つ以上のグラフィカルユーザインターフェースや特定のグラフィカルユーザインターフェースの各ディスプレイを表すのに、単数形又は複数形で使用されることがある。したがって、ＧＵＩは、任意のグラフィカルユーザインターフェースを表すことができ、ウェブブラウザ、タッチスクリーン、又は情報を処理して情報結果をユーザに効率的に提示するコマンドラインインターフェース（ＣＬＩ）を含むがこれに限定されない。一般に、ＧＵＩは、インタラクティブフィールド、プルダウンリスト、及びボタンなど、複数のユーザインターフェース（ＵＩ）要素を含むことができ、一部又は全部がウェブブラウザに関連付けられている。これら及び他のＵＩ要素は、ウェブブラウザの機能に関連するか又はそれを表すことができる。
【０１３０】
本明細書で説明されている主題の実施は、例えばデータサーバとしてのバックエンドコンポーネント、又は例えばアプリケーションサーバなどのミドルウェアコンポーネント、又は例えばグラフィカルユーザインターフェース又はそれを通してユーザが本明細書に記載の主題の実施とインタラクトできるウェブブラウザを有するクライアントコンピュータなどのフロントエンドコンポーネント、又はそのようなバックエンド、ミドルウェア、又はフロントエンドコンポーネントの１つ以上の任意の組合せを含むコンピューティング（計算）システムで実施できる。システムのコンポーネントは、任意の形式又は例えば通信ネットワークなどの有線又は無線デジタルデータ通信（又はデータ通信の組合せ）の媒体例によって相互接続できる。通信ネットワークの実施例は、ローカルエリアネットワーク（ＬＡＮ）、無線アクセスネットワーク（ＲＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、マイクロ波アクセスのためのワールドワイドインターオペラビリティ（ＷＩＭＡＸ）、例えば、８０２．１１ａ／ｂ／ｇ／ｎ又は８０２．２０（又は８０２．１１ｘと８０２．２０との組合せ、又はこの開示と一致する他のプロトコル）を使用する無線ローカルエリアネットワーク（ＷＬＡＮ）、インターネットの全部若しくは一部、他の通信ネットワーク、又は通信ネットワークの組合せを含む。通信ネットワークは、例えば、ネットワークノード間のインターネットプロトコル（ＩＰ）パケット、フレームリレーフレーム、非同期転送モード（ＡＴＭ）セル、音声、ビデオ、データ、又は他のネットワークノード間の情報と通信できる。
【０１３１】
コンピューティングシステムには、クライアント及びサーバを含めることができる。クライアントとサーバとは、一般に互いに離れており、典型的には、通信ネットワークを通してインタラクションを行う。クライアント及びサーバの関係は、それぞれのコンピュータ上で実行され、互いにクライアント−サーバ関係を有するコンピュータプログラムによって生じる。
【０１３２】
本明細書は多くの特定の実施詳細を含んでいるが、これらはいかなる発明の範囲又は請求される範囲に対する限定としても解釈されるべきではなく、特定の発明の特定の実施に特有であり得る特徴の説明として解釈されるべきである。本明細書において別々の実施の文脈で説明されている特定の特徴は、組合せても、単一の実施でも実施可能である。逆に、単一の実施の文脈で説明されている様々な特徴は、別々に、又は任意の適切なサブコンビネーションで、複数の実施でも実施可能である。さらに、先に述べた特徴は、特定の組合せで作用するものとして説明され、最初にそのように主張されることさえあるが、請求された組合せからの１つ以上の特徴は、場合によっては、組合せから切り取ることができ、請求された組合せは、サブコンビネーション又はサブコンビネーションの変形に向けることができる。
【０１３３】
本主題の特定の実施が説明されてきた。当業者には明らかであるように、記載された実施の他の実施、変更、及び置換は、添付の特許請求の範囲の範囲内である。望ましい結果を取得するために、操作は図面又は特許請求の範囲に特定の順序で描かれているが、これは、そのような操作が示された特定の順序で又は連続した順序で実行されることを要求するものではなく、又は、示されているすべての操作が実行され取得することを要求するものではない（一部の操作はオプションと見なされる場合がある）ことを、理解すべきである。ある特定の状況では、マルチタスク処理又は並列処理（又はマルチタスク処理及び並列処理の組合せ）が有利で適切に実行され得る。
【０１３４】
さらに、先に述べた実施における様々なシステムモジュール及びコンポーネントの分離又は統合は、すべての実施においてそのような分離又は統合を要求するものではないことを理解すべきであり、また説明されたプログラムコンポーネント及びシステムは、一般的に、単一のソフトウェア製品に統合されるか、複数のソフトウェア製品にパッケージされることを理解すべきである。
【０１３５】
したがって、先に述べた実施の例は、本願を定義又は制約しない。本願の主旨及び範囲から逸脱することなく、他の変更、置換、及び改変もまた可能である。
【０１３６】
さらに、任意の請求される実施は、少なくともコンピュータにより実施される方法；すなわち、コンピュータにより実施される方法を実行するためのコンピュータ読取可能命令を格納する非一時的なコンピュータ読取可能媒体；及び、コンピュータにより実施される方法又は非一時的なコンピュータ読取可能媒体に格納された命令を実行するように構成されたハードウェアプロセッサと相互運用可能に結合されたコンピュータメモリを備えるコンピュータシステム；に適用可能であると見なされる。
【符号の説明】
【０１３７】
４０２ａ〜４０２ｇ  ３Ｄジェスチャ
４０４  ＧＵＩ要素
５００  コンピューティングモジュール
５０１  認識モジュール
５０２  判定モジュール
５０３  計算モジュール
５０４  入力モジュール
５０５  出力モジュール
６０２  ＣＰＵ
６０４  メモリ
６０６  不揮発性記憶デバイス
６１０  ネットワークインターフェース
６１２  内部バス
７０２  コンピュータ
７０３  システムバス
７０４  インターフェース
７０５  プロセッサ
７０６  データベース
７０７  メモリ
７０８  アプリケーション
７１３  サービスレイヤ
７１４  電源
７３０  ネットワーク
【図１】
2020502614.tif 000003
【図２】
2020502614.tif 000004
【図３】
2020502614.tif 000005
【図４】
2020502614.tif 000006
【図５】
2020502614.tif 000007
【図６】
2020502614.tif 000008
【図７】
2020502614.tif 000009
【手続補正書】
【提出日】令和1年6月10日(2019.6.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
仮想現実シナリオにおける入力のための方法であって：
仮想現実環境内に表示された３次元入力インターフェースを備える仮想現実クライアント端末によって出力される前記仮想現実シナリオにおけるユーザの３次元ジェスチャを認識するステップと；
前記ユーザの前記３次元ジェスチャが認識された場合に、認識された前記３次元ジェスチャが事前設定された３次元ジェスチャであるか否かを特定するステップと；
前記認識された３次元ジェスチャが前記事前設定された３次元ジェスチャである場合に、前記３次元入力インターフェースに対する前記３次元ジェスチャの操作位置を計算するステップと；
前記操作位置に対応する前記３次元入力インターフェース内の仮想入力要素を選択し、入力を完了するために前記仮想入力要素が示す入力情報を読み取るステップと；を備える、
仮想現実シナリオにおける入力のための方法。
【請求項２】
前記仮想現実シナリオは、事前設定された仮想トリガ要素を備える、
請求項１に記載の方法。
【請求項３】
前記仮想トリガ要素は、前記仮想現実シナリオにおいて前記３次元入力インターフェースの出力をトリガするために用いられる、
請求項２に記載の方法。
【請求項４】
前記ユーザの前記３次元ジェスチャが認識された場合に、認識された前記３次元ジェスチャが事前設定された３次元ジェスチャであるか否かを特定するステップと；
前記認識された３次元ジェスチャが前記事前設定された３次元ジェスチャである場合に、仮想現実シナリオに対応する前記３次元ジェスチャの操作位置を特定するステップと；
前記操作位置が前記仮想トリガ要素の位置する位置に対応する場合に、前記３次元入力インターフェースを出力するステップと；を更に備える、
請求項３に記載の方法。
【請求項５】
前記仮想現実シナリオにおける前記ユーザの前記３次元ジェスチャを認識するステップは：
事前設定された感知ハードウェアを用いることによって前記ユーザの手の変位を追跡するステップと；
前記感知ハードウェアによって収集された前記ユーザの手変位データを得るステップと；
前記手変位データに基づいて、前記仮想現実シナリオのＸ／Ｙ／Ｚ軸に対する前記ユーザの前記手の回転量とオフセットとを計算するステップと；
対応する前記３次元ジェスチャを取得するために、前記回転量と前記オフセットとに基づいて３次元モデリングを実行するステップと；を備える、
請求項１に記載の方法。
【請求項６】
認識された前記３次元ジェスチャが前記事前設定された３次元ジェスチャであるか否かを特定するステップの前に：
前記３次元ジェスチャの持続時間を計算するステップと；
前記３次元ジェスチャの前記持続時間が事前設定された閾値より低いか否かを特定するステップと；
前記３次元ジェスチャの前記持続時間が前記事前設定された閾値よりも小さい場合に、認識された前記３次元ジェスチャが前記事前設定された３次元ジェスチャであるかどうかを特定する動作を実行するステップと；を更に備える、
請求項１に記載の方法。
【請求項７】
前記仮想現実シナリオは、前記３次元ジェスチャに対応するオペレーショナルフォーカスを備える、
請求項１に記載の方法。
【請求項８】
前記オペレーショナルフォーカスは、前記仮想現実シナリオにおける前記３次元ジェスチャとの同期変位を備える、
請求項７に記載の方法。
【請求項９】
前記オペレーショナルフォーカスは、前記３次元ジェスチャをシミュレートしたアニメーションである、
請求項７に記載の方法。
【請求項１０】
前記３次元入力インターフェース内の選択された前記仮想入力要素を強調するステップを更に備える、
請求項１に記載の方法。
【請求項１１】
前記３次元入力インターフェースは、３次元仮想キーボードである、
請求項１に記載の方法。
【請求項１２】
前記仮想入力要素は、前記３次元仮想キーボード内の仮想キーである、
請求項１１に記載の方法。
【請求項１３】
仮想現実シナリオにおける入力のための装置であって、
請求項１乃至請求項１２のいずれか１項に記載の方法を実行するように構成された複数のモジュールを備える、
仮想現実シナリオにおける入力のための装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１３６
【補正方法】変更
【補正の内容】
【０１３６】
さらに、任意の請求される実施は、少なくともコンピュータにより実施される方法；すなわち、コンピュータにより実施される方法を実行するためのコンピュータ読取可能命令を格納する非一時的なコンピュータ読取可能媒体；及び、コンピュータにより実施される方法又は非一時的なコンピュータ読取可能媒体に格納された命令を実行するように構成されたハードウェアプロセッサと相互運用可能に結合されたコンピュータメモリを備えるコンピュータシステム；に適用可能であると見なされる。
以下、本発明の実施の態様の例を列挙する。
［第１の局面］
コンピュータで実施可能な方法であって：
感知ハードウェアから手変位データを受信するステップと；
前記受信した手変位データを、３次元（３Ｄ）ジェスチャ認識アルゴリズムを用いて分析するステップと；
前記受信した手変位データが３Ｄジェスチャを表すことを認識するステップと；
３Ｄ入力グラフィカルユーザインターフェース（ＧＵＩ）に対する前記３Ｄジェスチャの操作位置を計算するステップと；
前記３Ｄ入力ＧＵＩに関連付けられ、前記計算された操作位置に対する仮想入力要素を選択するステップと；
前記選択された仮想入力要素に対応する入力情報を読み取るステップと；を備える、
コンピュータにより実施される方法。
［第２の局面］
前記感知ハードウェアは、１つ以上の画像センサ、レーザセンサ、又はレーダセンサを含む、
第１の局面に記載のコンピュータにより実施される方法。
［第３の局面］
前記３Ｄジェスチャは、ＶＲ環境内に表示されたＶＲシナリオにおいてユーザにより実行される、
第１の局面に記載のコンピュータにより実施される方法。
［第４の局面］
前記受信した手変位データが３Ｄジェスチャを表すことを認識する前記ステップは：
前記ＶＲシナリオのＸ／Ｙ／Ｚ軸に対する前記ユーザの前記手の回転量とオフセットとを計算するステップと；
計算された前記ユーザの前記手の回転量とオフセットとを用いて前記３Ｄジェスチャモデルを生成するステップと；を備える、
第３の局面に記載のコンピュータにより実施される方法。
［第５の局面］
前記３Ｄジェスチャの前記３Ｄジェスチャモデルを少なくとも１つの事前設定された３Ｄジェスチャモデルと比較するステップと；
前記３Ｄジェスチャの前記３Ｄジェスチャモデルが前記少なくとも１つの事前設定された３Ｄジェスチャモデルとマッチすると特定するステップと；を更に備える、
第４の局面に記載のコンピュータにより実施される方法。
［第６の局面］
前記３Ｄジェスチャの前記３Ｄジェスチャモデルが前記少なくとも１つの事前設定された３Ｄジェスチャモデルとマッチするとの前記特定は、前記生成された３Ｄジェスチャモデルと、前記少なくとも１つの事前設定されたジェスチャモデルとから選択した対応するいくつかの特徴点の比較に依存する、
第５の局面に記載のコンピュータにより実施される方法。
［第７の局面］
前記回転量は、前記ユーザの前記手が前記３Ｄジェスチャを実行するときに、前記ユーザの前記手における事前選択された特徴点を前記ＶＲシナリオの前記Ｘ／Ｙ／Ｚ軸に対して回転させる偏差角を意味し；
前記オフセットは、前記ユーザの前記手が前記３Ｄジェスチャを実行するときに、前記ユーザの手における前記事前選択された特徴点から前記ＶＲシナリオの前記Ｘ／Ｙ／Ｚ軸までの水平距離を意味する；
第４の局面に記載のコンピュータにより実施される方法。
［第８の局面］
所定の動作を実行するためにコンピュータシステムにより実行可能な１つ以上の命令を格納する非一時的なコンピュータ読み取り可能媒体であって：
感知ハードウェアから手変位データを受信する動作と；
受信した前記手変位データを、３次元（３Ｄ）ジェスチャ認識アルゴリズムを用いて分析する動作と；
受信した前記手変位データが３Ｄジェスチャを表すと認識する動作と；
３Ｄ入力グラフィカルユーザインターフェース（ＧＵＩ）に対する前記３Ｄジェスチャの操作位置を計算する動作と；
前記３Ｄ入力ＧＵＩに関連付けられ、前記計算された操作位置に対応した仮想入力要素を選択する動作と；
選択された前記仮想入力要素に対応した入力情報を読み取る動作と；を備える、
非一時的なコンピュータ読み取り可能媒体。
［第９の局面］
前記感知ハードウェアは、１つ以上の画像センサ、レーザセンサ、又はレーダセンサを含む、
第８の局面に記載の非一時的なコンピュータ読み取り可能媒体。
［第１０の局面］
前記３Ｄジェスチャは、ＶＲ環境内に表示されたＶＲシナリオにおいてユーザによって実行される、
第８の局面に記載の非一時的なコンピュータ読み取り可能媒体。
［第１１の局面］
前記受信した手変位データが前記３Ｄジェスチャを表すことを認識する前記動作は；
前記ＶＲシナリオのＸ／Ｙ／Ｚ軸に対する前記ユーザの前記手の回転量とオフセットとを計算する動作と；
前記計算された前記ユーザの前記手の回転量とオフセットとを用いて前記３Ｄジェスチャモデルを生成する動作と；の１つ以上の動作を更に備える、
第１０の局面に記載の非一時的なコンピュータ読み取り可能媒体。
［第１２の局面］
前記３Ｄジェスチャの前記３Ｄジェスチャモデルを少なくとも１つの事前設定された３Ｄジェスチャモデルと比較する；
前記３Ｄジェスチャの前記３Ｄジェスチャモデルが前記少なくとも１つの事前設定された３Ｄジェスチャモデルとマッチすると特定する；ための１つ以上の命令を更に備える、
第１１の局面に記載の非一時的なコンピュータ読み取り可能媒体。
［第１３の局面］
前記３Ｄジェスチャの前記３Ｄジェスチャモデルが少なくとも１つの事前設定された３Ｄジェスチャモデルとマッチすると特定するための前記命令は、前記生成された３Ｄジェスチャモデルと、前記少なくとも１つの事前設定された３Ｄジェスチャモデルとから選択された対応するいくつかの特徴点の比較に依存する、
第１２の局面に記載の非一時的なコンピュータ読み取り可能媒体。
［第１４の局面］
前記回転量は、前記ユーザの前記手が前記３Ｄジェスチャを実行するときに、前記ユーザの前記手における事前選択された特徴点を前記ＶＲシナリオの前記Ｘ／Ｙ／Ｚ軸に対して回転させる偏差角を意味し、
前記オフセットは、前記ユーザの前記手が前記３Ｄジェスチャを実行するときに、前記ユーザの前記手における前記事前選択された特徴点から前記ＶＲシナリオの前記Ｘ／Ｙ／Ｚ軸までの水平距離を意味する、
第１１の局面に記載の非一時的なコンピュータ読み取り可能媒体。
［第１５の局面］
コンピュータにより実施されるシステムであって：
１つ以上のコンピュータと；
前記１つ以上のコンピュータと相互動作可能に接続しており、１つ以上の命令を格納する有形で非一時的なマシン読み取り可能媒体を有する、１つ以上のコンピュータメモリデバイスと；を備え、
前記命令が、前記１つ以上のコンピュータで実行されると、
感知ハードウェアから手変位データを受信する動作と；
前記受信した手変位データを、３次元（３Ｄ）認識アルゴリズムを用いて分析する動作と；
前記受信した手変位データが３Ｄジェスチャを表すと認識する動作と；
３Ｄ入力グラフィカルユーザインターフェース（ＧＵＩ）に対する前記３Ｄジェスチャの操作位置を計算する動作と；
前記３Ｄ入力ＧＵＩに関連付けられ、前記計算された操作位置に対応する仮想入力要素を選択する動作と；
前記選択された仮想入力要素に対応した入力情報を読み取る動作と；を実行する、
コンピュータにより実施されるシステム。
［第１６の局面］
前記感知ハードウェアは１つ以上の画像センサ、レーザセンサ、又はレーダセンサを含み、前記３Ｄジェスチャは、ＶＲ環境内に表示されたＶＲシナリオにおいてユーザにより実行される、
第１５の局面に記載のコンピュータにより実施されるシステム。
［第１７の局面］
前記受信した手変位データが前記３Ｄジェスチャを表すと認識する前記動作は：
前記ＶＲシナリオのＸ／Ｙ／Ｚ軸に対する前記ユーザの前記手の回転量とオフセットを計算する動作と；
計算された前記ユーザの前記手の前記回転量と前記オフセットを用いて前記３Ｄジェスチャモデルを生成する動作と；を更に備える、
第１６の局面に記載のコンピュータにより実施されるシステム。
［第１８の局面］
前記３Ｄジェスチャの前記３Ｄジェスチャモデルを少なくとも１つの事前設定された３Ｄジェスチャモデルと比較する動作と；
前記３Ｄジェスチャの前記３Ｄジェスチャモデルが前記少なくとも１つの事前設定された３Ｄジェスチャモデルとマッチすると特定する動作と；の１つ以上の動作を更に備える、
第１７の局面に記載のコンピュータにより実施されるシステム。
［第１９の局面］
前記３Ｄジェスチャの前記３Ｄジェスチャモデルが前記少なくとも１つの事前設定された３Ｄジェスチャモデルとマッチすると特定する前記動作は、前記生成された３Ｄジェスチャモデルと、前記少なくとも１つの事前設定された３Ｄジェスチャモデルとから選択したいくつかの対応する特徴点の比較に依存する、
第１８の局面に記載のコンピュータにより実施されるシステム。
［第２０の局面］
前記回転量は、前記ユーザの前記手が前記３Ｄジェスチャを実行するときに、前記ユーザの前記手における事前選択された特徴点を前記ＶＲシナリオの前記Ｘ／Ｙ／Ｚ軸に対して回転させる偏差角を意味し；
前記オフセットは、前記ユーザの前記手が前記３Ｄジェスチャを実行するときに、前記ユーザの前記手における前記事前選択された特徴点から前記ＶＲシナリオの前記Ｘ／Ｙ／Ｚ軸までの水平距離を意味する；
第１７の局面に記載のコンピュータにより実施されるシステム。
【国際調査報告】
2020502614.tif 000010