IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アドバンスド ニュー テクノロジーズ カンパニー リミテッドの特許一覧

特許6999662仮想現実環境における情報入力のための3次元グラフィカルユーザインターフェース
<>
  • 特許-仮想現実環境における情報入力のための3次元グラフィカルユーザインターフェース 図1
  • 特許-仮想現実環境における情報入力のための3次元グラフィカルユーザインターフェース 図2
  • 特許-仮想現実環境における情報入力のための3次元グラフィカルユーザインターフェース 図3
  • 特許-仮想現実環境における情報入力のための3次元グラフィカルユーザインターフェース 図4
  • 特許-仮想現実環境における情報入力のための3次元グラフィカルユーザインターフェース 図5
  • 特許-仮想現実環境における情報入力のための3次元グラフィカルユーザインターフェース 図6
  • 特許-仮想現実環境における情報入力のための3次元グラフィカルユーザインターフェース 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2021-12-24
(45)【発行日】2022-01-18
(54)【発明の名称】仮想現実環境における情報入力のための3次元グラフィカルユーザインターフェース
(51)【国際特許分類】
   G06F 3/01 20060101AFI20220111BHJP
   G06F 3/0482 20130101ALI20220111BHJP
   G06F 3/04815 20220101ALI20220111BHJP
   G06T 7/20 20170101ALI20220111BHJP
   G06T 19/00 20110101ALI20220111BHJP
【FI】
G06F3/01 570
G06F3/0482
G06F3/0481 150
G06F3/01 510
G06T7/20 300A
G06T19/00 A
【請求項の数】 9
(21)【出願番号】P 2019519296
(86)(22)【出願日】2017-10-03
(65)【公表番号】
(43)【公表日】2020-01-23
(86)【国際出願番号】 US2017054967
(87)【国際公開番号】W WO2018067587
(87)【国際公開日】2018-04-12
【審査請求日】2019-06-10
(31)【優先権主張番号】201610881695.8
(32)【優先日】2016-10-09
(33)【優先権主張国・地域又は機関】CN
(31)【優先権主張番号】15/720,635
(32)【優先日】2017-09-29
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520015461
【氏名又は名称】アドバンスド ニュー テクノロジーズ カンパニー リミテッド
(74)【代理人】
【識別番号】100188558
【弁理士】
【氏名又は名称】飯田 雅人
(74)【代理人】
【識別番号】100205785
【弁理士】
【氏名又は名称】▲高▼橋 史生
(72)【発明者】
【氏名】イン,ファンミン
(72)【発明者】
【氏名】リン,ファン
【審査官】円子 英紀
(56)【参考文献】
【文献】特開2015-232783(JP,A)
【文献】国際公開第2014/162762(WO,A1)
【文献】特開2012-146303(JP,A)
【文献】特開2011-210239(JP,A)
【文献】米国特許出願公開第2011/0090145(US,A1)
【文献】米国特許出願公開第2011/0307834(US,A1)
【文献】特表2014-531662(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
G06F 3/048-3/0489
G06T 7/20
G06T 19/00
(57)【特許請求の範囲】
【請求項1】
仮想現実シナリオにおける入力のための方法であって:
仮想現実クライアント端末によって出力される前記仮想現実シナリオにおけるユーザの第1の3次元ジェスチャを認識するステップであって、認識された前記第1の3次元ジェスチャは第1の事前設定された3次元ジェスチャである、ステップと、
前記仮想現実シナリオに対応する前記第1の3次元ジェスチャの操作位置が前記仮想現実シナリオにおいて物体の位置に対応するかを判断するステップであって、前記物体は複数の仮想トリガ要素の配設により構成される、ステップと、
前記第1の3次元ジェスチャの前記操作位置が前記物体の位置する場所にほぼ対応すると判断することに応じて、前記物体の別の仮想入力要素を選択できるように前記物体を回転するステップと;
前記仮想現実シナリオにおける前記ユーザの第2の3次元ジェスチャを認識するステップと;
前記ユーザの前記第2の3次元ジェスチャが認識された場合に、認識された前記第2の3次元ジェスチャが第2の事前設定された3次元ジェスチャであるか否かを特定するステップと;
認識された第2の3次元ジェスチャが前記第2の事前設定された3次元ジェスチャである場合に、前記物体に対する前記第2の3次元ジェスチャの操作位置を計算するステップと;
前記第2の3次元ジェスチャの前記操作位置に対応する前記物体の仮想入力要素を選択し、入力を完了するために前記仮想入力要素が示す入力情報を読み取るステップと;を備
認識された前記第2の3次元ジェスチャが前記第2の事前設定された3次元ジェスチャであるか否かを特定するステップの前に:
前記第2の3次元ジェスチャの持続時間を計算するステップであって、前記持続時間は前記第2の3次元ジェスチャが開始された瞬間から前記第2の3次元ジェスチャが終了された瞬間までの時間差である、ステップと;
前記第2の3次元ジェスチャの前記持続時間が事前設定された閾値より低いか否かを特定するステップと;
前記第2の3次元ジェスチャの前記持続時間が前記事前設定された閾値よりも小さい場合に、認識された前記第2の3次元ジェスチャが前記事前設定された3次元ジェスチャであるかどうかを特定する動作を実行するステップと;を更に備える、
仮想現実シナリオにおける入力のための方法。
【請求項2】
前記複数の仮想入力要素の各入力要素への表示は、特定のパターン、又は、ランダムに表示され、前記表示は前記複数の仮想入力要素の各入力要素が示す前記入力情報にそれぞれ対応する
請求項1に記載の方法。
【請求項3】
前記物体の形状は、キューブである
請求項1または請求項2に記載の方法。
【請求項4】
前記仮想現実シナリオには、前記キューブ3面が表示され、27個の仮想入力要素が表示された3面に配置される
請求項3に記載の方法。
【請求項5】
前記仮想現実シナリオにおける前記ユーザの前記第1または第2の3次元ジェスチャを認識するステップは:
事前設定された感知ハードウェアを用いることによって前記ユーザの手の変位を追跡するステップと;
前記感知ハードウェアによって収集された前記ユーザの手変位データを得るステップと;
前記手変位データに基づいて、前記仮想現実シナリオのX/Y/Z軸に対する前記ユーザの前記手の回転量とオフセットとを計算するステップと;
対応する前記3次元ジェスチャを取得するために、前記回転量と前記オフセットとに基づいて3次元モデリングを実行するステップと;を備える、
請求項1に記載の方法。
【請求項6】
前記仮想現実シナリオは、前記第1または第2の3次元ジェスチャに対応するオペレーショナルフォーカスを備える、
請求項1に記載の方法。
【請求項7】
前記オペレーショナルフォーカスは、前記仮想現実シナリオにおける前記3次元ジェスチャとの同期変位を備える、
請求項6に記載の方法。
【請求項8】
前記物体における選択された前記仮想入力要素を強調するステップを更に備える、
請求項1に記載の方法。
【請求項9】
仮想現実シナリオにおける入力のための装置であって、
請求項1乃至請求項のいずれか1項に記載の方法を実行するように構成された複数のモジュールを備える、
仮想現実シナリオにおける入力のための装置。
【発明の詳細な説明】
【技術分野】
【0001】
[優先権の主張]
本願は、2016年10月9日に出願された中国特許出願第201610881695.8号、及び2017年9月29日に出願された米国特許出願第15/720,635号の優先権を主張し、その全体を参照により本明細書に組み込む。
【背景技術】
【0002】
仮想現実(VR、バーチャルリアリティ)技術は、コンピュータ処理、グラフィックス、そして様々なタイプのユーザインターフェース(例えば、視覚表示ゴーグル、及び、片手又は両手で持つインタラクティブコントローラ)を使って、インタラクティブ(対話)機能を持ち、没入感のあるユーザ知覚型の3次元(3D)環境(「仮想世界」)を作り出す。VR技術の(例えば、教育、ビデオゲーム、ビジネス、科学、医学の分野における)用途は、VR技術で用いられるコンピューティングハードウェア及びコンピューティングソフトウェアの継続的な進歩にともなって拡大してきた。VR技術が仮想世界の説得力のあるリアルな視覚体験をユーザに提供できる一方で、従来の3D環境におけるシナリオとのユーザインタラクションは、特に情報入力(例えば、英数文字データ)の面で難しい、又は扱い難いことが判っている。VR技術を伴うユーザ体験(エクスペリエンス)を向上させるには、情報入力の容易性と速度を高める必要がある。
【発明の概要】
【0003】
本開示では、仮想現実(VR)環境における情報入力のための3次元(3D)グラフィカルユーザインターフェース(GUI)について述べる。
【0004】
一実施では、感知ハードウェアから手変位データが受信され、3次元(3D)ジェスチャ認識アルゴリズムを用いて分析される。受信した手変位データは3Dジェスチャを表すものとして認識される。3D入力グラフィカルユーザインターフェース(GUI)に対する3Dジェスチャの操作位置(動作位置)が計算される。3D入力GUIに関連付けられ、且つ計算された操作位置に対する仮想入力要素が選択される。選択された仮想入力要素に対応する入力情報が選択された仮想要素から読み取られる。
【0005】
先に記載した実施を含め、記載する主題の実施は:コンピュータ実施方法と;このコンピュータ実施方法を実行するコンピュータ読み取り可能命令を格納する、非一時的なコンピュータ読み取り可能媒体と;1つ以上のコンピュータメモリデバイスを含むコンピュータ実施システムと;を用いて実施でき、この1つ以上のコンピュータメモリデバイスは、1つ以上のコンピュータに相互作動可能に接続し、有形で非一時的な、命令を格納するマシン読み取り可能媒体を有する。上記の命令は、1つ以上のコンピュータにより実行されると、コンピュータ実施方法/非一時的且つコンピュータ読み取り可能媒体に格納されているコンピュータで読み取り可能な命令を実行する。
【0006】
本明細書で述べる主題は、以下の利点の1つ以上を実現するべく、特定の実施において実施される。第1の利点は、記載の3Dユーザインターフェースが、VR環境における情報入力の容易性と速度を高める。例えば、記載の3Dユーザインターフェースと提供される手に基づくジェスチャとによって、仮想環境での情報入力がユーザにとってより自然で直感的なものとなる。第2の利点は、情報入力の拡張が、VR技術を用いたユーザ体験全体の向上に役立つ。第3の利点は、VR技術情報入力を用いたユーザ体験全体の向上が、VR技術の用途を更なる利用シナリオにまで拡張するのに役立つことである。その他の利点は当業者には明らかであろう。
【0007】
本明細書の主題の1つ以上の実施の詳細は、詳細な説明、特許請求の範囲、及び添付図面で述べる。主題の他の特徴、態様、及び利点は、詳細な説明、特許請求の範囲、及び添付図面から明らかになろう。
【図面の簡単な説明】
【0008】
図1図1は、本開示の実施に係る、仮想現実(VR)環境において情報を入力のための3次元(3D)入力グラフィカルユーザインターフェース(GUI)を使用する方法の例を示すフローチャートである。
【0009】
図2図2は、本開示の実施に係る、VR環境において情報を入力するための3D入力GUIを示す図である。
【0010】
図3図3は、本開示の実施に係る、VR環境において情報を入力するための別の3D入力GUIを示す図である。
【0011】
図4図4は、本開示の実施に係る、VR環境における仮想要素を選択及びトリガするために使用できる例示の3Dジェスチャを示す図である。
【0012】
図5図5は、本開示の実施に係る、VRクライアント端末に関連付けられた動作を入力するために使用されるコンピューティングモジュールの例を示すブロック図である。
【0013】
図6図6は、本開示の実施に係る、図5に例示のVRクライアント端末に関連付けられたコンピューティングハードウェアコンポーネントの例を示すブロック図である。
【0014】
図7図7は、本願の実施に係る、本願に述べるアルゴリズム、方法、機能、工程、フロー及び手順に関連付けられた計算機能を提供するために用いられる例示的なコンピュータシステムを示すブロック図である。
【0015】
様々な図面中の同様の符号及び名称は、同様の要素を示す。
【発明を実施するための形態】
【0016】
以下の詳細な説明は、仮想現実(VR)環境における情報入力のための3次元(3D)グラフィカルユーザインターフェース(GUI)について説明しており、いずれの当業者も、1つ以上の特定の実施において開示された主題を、作成及び使用することができるよう提示される。開示された実施の様々な改変、変更、及び置換を行うことができ、それらは当業者には容易に明らかになり、定義された一般原則は、開示の範囲から逸脱することなく他の実施及び用途に適用できる。事例によっては、説明する主題の理解を得るため、不要な詳細は、その不要な詳細により1つ以上の説明された実施が曖昧にならないように省略できるが、そのような詳細は当業者の能力の範囲内である。本願は、記載又は図示された実施に限定するものではなく、記載された原則及び特徴と整合する最も広い範囲と一致することを意図している。
【0017】
VR技術は、コンピュータ処理、グラフィックス、そして様々なタイプのユーザインターフェース(例えば、視覚表示ゴーグル、及び、片手又は両手に持つインタラクティブコントローラ)を使って、インタラクティブ機能を持ち、没入感のあるユーザ知覚型の3D環境(「仮想世界」)を作り出す。VR技術の(例えば、教育、ビデオゲーム、ビジネス、科学、医学の分野における)用途は、VR技術で用いられるコンピューティングハードウェア及びコンピューティングソフトウェアの継続的な進歩にともなって拡大してきた。VR技術が仮想世界の説得力のあるリアルな視覚経験をユーザに提供できる一方で、従来の3D環境におけるシナリオとのユーザインタラクションは、特に情報入力(例えば、英数字テキストデータ)に関して難しい、又は扱い難いことが判っている。VR技術を伴うユーザ体験を向上させるには、情報入力の容易性と速度を高める必要がある。
【0018】
VRシナリオでの情報入力の容易性と速度を高めることができる3Dユーザインターフェースについて説明する。例えば、記載された3Dユーザインターフェースと、これに関連付けられた手によるジェスチャとによって、特定のVRシナリオ(例えば、ショッピング、文書によるナビゲーション、又は仮想物体の回転)の実行中に、VR環境での情報入力をユーザにとってより自然で直感的なものにすることができる。情報入力の拡張がVR技術を用いたユーザ体験全体を向上させることができ、これがVR技術の用途を追加の利用シナリオにまで拡張するのに役立つ。
【0019】
実施において、VR端末は、ユーザの頭部に装着され視覚表示を提供するVRヘッドセットを含み、ユーザに(例えば、VRベースのアプリケーションを用いて)3D没入感のある体験を提供するグラフィックス及び他のデータを表示できる。
【0020】
グラフィックス及び他のデータは、通信可能にVR端末に接続されたVRクライアント端末(例えば、ソフトウェアアプリケーション)により提供される。VRクライアント端末は、VR環境内の1つのVRシナリオとして開発者によって開発された仮想現実モデルを出力する。例として、VR端末は、モバイルコンピューティングデバイス(スマートフォンやタブレット等)を挿入することにより、視覚タイプの表示及びその他のコンピューティング機能(例えば、ユーザ入力、ビジュアル入力、空間配向、動き検知、オーディオ生成、ネットワーク接続性、及び他のユーザインターフェースデバイスへの取り付け)を提供できるスライドタイプのVRヘッドセットであってよい。この例では、モバイルコンピューティングデバイスはその全体又は一部がVRクライアント端末として、又は、別のVRクライアント端末(例えば、モバイルコンピューティングデバイスに接続しているPCタイプのコンピュータ)のためのインターフェースとして機能できる。
【0021】
情報入力を補助するために、使用/アクセスをいくらか容易化するよう、様々なタイプのデータ及び動作を事前に構成しておくことができる。例えば、ユーザは、VRショッピングシナリオで使用するための、或る種類及び金額の事前設定された仮想通貨を構成できる。決済を開始するには、ユーザは、VR環境内に表示された単一の「仮想通貨で支払う」ボタンを選択して、仮想通貨での決済を開始できる。しかし、VR環境内の特定のシナリオにおいて大容量の情報を入力したり複数の動作を実行したりする必要が生じた場合、従来の情報入力技術は扱い難く時間がかかるということが判明する。
【0022】
第1の情報入力技術は、モバイルコンピューティングデバイスにより提供されたGUIを用いて情報(決済用又はビデオゲームアカウントログイン用のパスワード等)を入力するために、ユーザがVR端末を外し、VR端末からモバイルコンピューティングデバイス(例えば、スマートフォンや、タブレットタイプのコンピュータ)を取り外すことを含む。或いは、ユーザはモバイルコンピューティングデバイスに接続された別のコンピューティングデバイス(例えば、PCタイプのコンピュータや、その他のモバイルコンピューティングデバイス)を使用して、情報を入力することができる。
【0023】
第2の情報入力技術は、VR環境内のオペレーショナルフォーカス(アイコン、ポインタ、又はその他のグラフィカルエレメント等)を制御するために、外部入力デバイス(ジョイスティック、ハンドル、又は、片手か両手で持つその他のデバイス)を含む。情報入力を行うために、ユーザはオペレーショナルフォーカスを仮想要素の位置まで移動し、次に、外部入力デバイス上に提供されたボタン又はその他の要素を操作(例えば、クリック、押下、スライドする)し、入力関連情報のための仮想エレメントを選択し、これをトリガする。
【0024】
第3の情報入力技術では、タイムアウト持続時間を事前に設定でき、ユーザは、VR端末に関連付けられた頭部姿勢又は頭部ジェスチャによってVR環境内でオペレーショナルフォーカスの位置を制御できる。情報入力に望まれる特定の仮想要素の位置までオペレーショナルフォーカスを移動したら、ユーザは、オペレーショナルフォーカスをこの特定の仮想要素の位置に維持する(例えば、仮想要素の上でホバリングする)。少なくともタイムアウト持続時間にわたりオペレーショナルフォーカスをこの仮想要素の位置に維持すると、仮想要素が選択され、これがトリガされる。
【0025】
特定の例において、ユーザがVRショッピングシナリオにおいて決済パスワードを入力する必要があると仮定する。第1の技術では、情報入力を完了するためにユーザはVR端末を外す必要があるため、ユーザの没入感のあるVR体験を阻害し、決済工程完了のために更なる時間がかかる。第2の技術では、VRクライアント端末を、外部デバイス(例えば、ジョイスティック)と整合するように構成しなければならないため、ハードウェアのコストが増加し、VR環境とのインタラクションが複雑化してしまう。第3の技術では、ユーザは各仮想要素をトリガするために少なくともタイムアウト持続時間が切れるまで待つ必要があり、これがVR環境でのユーザによる情報入力の効率性と迅速性に悪影響を与える。
【0026】
VR環境内でユーザが情報を効率的且つ迅速に入力するための入力方法について説明する。VR環境での3D入力GUIは、ユーザが実行した、事前設定(プリセット)された3Dジェスチャを認識する。3Dジェスチャの操作位置を計算し、計算された操作位置に対応する仮想入力要素を特定する。特定された仮想要素を選択し、この仮想要素に関連付けられた情報が入力のために読み取られる。VR環境でのユーザによる効率的な情報の入力は、一連の迅速な3Dジェスチャを用いることによって可能になる。
【0027】
図1は、本開示の実施に係る、VR環境内で情報入力を行うために3D入力GUIを使用する方法100の例を示すフローチャートである。提示を明白にするために、以下の記述では、この記載における他の図に関連付けて方法100を説明する。しかし、方法100は、例えば、あらゆるシステム、環境、ソフトウェア及びハードウェア、又は、システム、環境、ソフトウェア及びハードウェアの組み合わせによって、適宜に実行できることが理解されるであろう。実施によっては、方法100の様々なステップを並行に、組み合わせて、繰り返して、又は任意の順序で実行できる。
【0028】
102では、感知ハードウェアから手変位データを受信する。方法100は、102から104へ進む。
【0029】
104では、受信した手変位データを、3Dジェスチャ認識アルゴリズムを用いて分析する。方法100は104から106へ進む。
【0030】
106では、3Dジェスチャが認識されたかどうかを特定する。VR端末に表示されたVRシナリオの実行中に、ユーザの3Dジェスチャ(3Dジェスチャの例については図4を参照)をVR環境内で認識する。3Dジェスチャは奥行き(深度)情報を持ち、(例えば、VR端末に接続した視覚センサにより取り込まれた手変位データにより)認識されるユーザジェスチャである。奥行き情報は、仮想現実シナリオのZ軸に対するユーザジェスチャの座標情報と呼ばれる。例えば、3次元空間における一点は3次元座標により(X,Y,Z)で表すことができる。このケースでは、この一点に対応するZ軸座標値は、X軸とY軸に対応する奥行き情報と呼ばれる。3Dジェスチャが認識された場合、方法100は108へ進む。3Dジェスチャが認識されない場合、方法100は102へ戻る。
【0031】
108では、認識された3Dジェスチャの3Dジェスチャモデルを生成する。方法100は108から110へ進む。
【0032】
110では、3Dジェスチャモデルを、1つ以上の事前設定された(プリセット)3Dジェスチャモデルと比較する。特定の3D入力GUIについて特定の3Dジェスチャを適宜に事前設定できる。方法100は110から112へ進む。
【0033】
112では、認識された3Dジェスチャが事前設定された3Dジェスチャであるかどうかを、110での比較に基づいて特定する。認識されたジェスチャが事前設定された3Dジェスチャであると特定された場合、方法100は114へ進む。認識されたジェスチャが事前設定された3Dジェスチャでないと特定された場合、方法100は102へ戻る。方法100は112から114へ進む。
【0034】
114では、事前設定された3Dジェスチャの操作位置を3D入力GUIに関連して計算する。3D入力GUIはVRシナリオでの3Dインターフェース出力を意味し、情報入力のために用いられる。3D入力GUIはいくつかの仮想入力要素を含むことができ、各仮想入力要素は1つの対応する入力情報を示すことができる。例えば、実施では、3D入力GUIは3D仮想キーボード(「3Dエアキーボード」)であってよい。このケースでは、いくつかの仮想入力要素は、3D仮想キーボードの一部として含まれているいくつかの仮想「キー」であってよく、又、各々の仮想キーは対応する入力文字を示す。この記載の実施では、ユーザがVR端末を装着した状態でVRシナリオにて情報入力を迅速に完了できるようにするために、VRシナリオに関連付けられた3D仮想キーボードを没入感のある3DのVR環境内に出力することができる。ユーザはVR端末を装着した状態で、VR環境内でVRシナリオに関連付けられた特定の3Dジェスチャを実行できる。3Dジェスチャは、3D仮想キーボードに関連付けられた仮想入力要素(キー)をトリガする。方法100は114から116へ進む。
【0035】
116では、計算された操作位置に対応して3D入力GUIの仮想入力要素を選択する。方法100は116から118へ進む。
【0036】
118では、選択された仮想入力要素に対応した入力情報を読み取る。方法100は118の後で止まる。
【0037】
実施によっては、技術的解決策は以下の3つの特定のステージ、すなわち、1)VRシナリオモデルの作成、2)3Dジェスチャの認識、及び3)情報入力、を含む。
【0038】
1)VRシナリオモデルの作成
【0039】
実施によっては、VR開発者は、モデリングツール(例えば、UNITY、3DSMAX、フォトショップ(登録商標))を使用してVRシナリオモデルの作成を完成させることができる。モデリングツールは、例えば、占有の、商用の、オープンソースの、又はこれらに類するモデリングツールの組み合わせであってよい。
【0040】
いくつかの例では、VRシナリオに関連付けられたVRシナリオモデル及びテクスチャマップを現実世界のシナリオから入手できる。例えば、アドバンスフォトグラフィ(advance photography)により、マテリアルのテクスチャマップと現実シナリオの平面モデルを入手してよい。モデリングツールを使用してテクスチャを処理でき、現実シナリオの3Dモデルが確立される。実施によっては、処理済みのテクスチャと3DモデルをUNITY3Dプラットフォームにインポートでき、複数の局面(例えば、音響効果、GUI、プラグイン、及びUNITY3Dプラットフォームでの照明)にて画像レンダリングが実施される。次に、VRシナリオモデルについてのインタラクションソフトウェアコードを書く。VRシナリオにおける迅速な情報入力を可能にするべく、VRシナリオモデルと共に使用する、情報入力のための3D入力GUIを作成することもできる。本開示と合致するVRシナリオと共に使用される、異なる次元の入力GUI(例えば、2次元(2D)GUI又は4次元(4D)GUI)を含むあらゆる入力GUIは、本開示の範囲内にあるとみなされる。
【0041】
図2は、本開示の実施に係る、VR環境での情報入力のための3D入力GUIを示す図200である。同図に示すように、3D入力GUI202(例えば、「3Dエアキーボード」)は10個の3D仮想入力要素(「キー」)(例えば、仮想入力要素204は数字「3」に対応している)を含む。3D入力GUI202は、VR環境210内に表示されたVRシナリオの一部として、ユーザ208のユーザフィールド206に表示され、10個の3D仮想入力要素が2列に固定されている。
【0042】
特定のVRシナリオでは、ユーザ208は、パスワードのようなデジタル情報の入力を完了するために、特定の3Dジェスチャを用いて特定の仮想入力要素(例えば、仮想入力要素204)を選択することができる。例えば、図2は、ユーザがVR環境210内の位置214にて3Dジェスチャ212(1本指でのクリック/タップ)を実行する様子を示す。位置214は、VR環境210内で仮想入力要素204(「3」キー)が位置する場所に対応している。仮想入力要素204を選択することで、数字「3」の入力が完了する。
【0043】
図3は、本開示の実施に係る、VR環境における情報入力のための異なる3D入力GUIを示す図である。同図に示すように、3D入力GUI302(例えば、「3Dデジタルマジックキューブキーボード」)は、27個の3D仮想入力要素(「キー」)(例えば、仮想入力要素304は数字「3」に対応している)を含む。3D入力GUI302は、VR環境310内に表示されたVRシナリオの一部として、ユーザ308のユーザフィールド306内に表示されるが、ここでは、27個の3D仮想入力要素がキューブ状に配設されている。実施によっては、仮想入力要素上に表示された数字又はその他のデータ(例えば、画像若しくは記号)は、特定のパターンで、又は、ランダムに表示され得る。
【0044】
特定のVRシナリオでは、ユーザ308は、特定の3Dジェスチャ(1本指でのクリック/タップ)を用いて特定の仮想入力要素(例えば、仮想入力要素304)を選択し、パスワードのようなデジタル情報の入力を完了することができる。ユーザは別の3Dジェスチャを実行し、別の仮想入力要素にアクセスすることができる。例えば、図3は、VR環境310内の位置314にてユーザが3Dジェスチャ312(2本指での回転)を実行する様子を示す。位置314は、VR環境310内で仮想入力要素304(「3」キー)が位置する場所にほぼ対応している。3Dジェスチャ312を実行する場合、仮想入力要素のキューブが反時計回り方向へ回転して、別の仮想入力要素を選択できるようにする。
【0045】
当業者に理解されるように、図2及び図3に示す3D入力GUIは、特定の実現可能な3D入力GUIの一実施にすぎない。図2及び図3は本開示をいかなる形でも限定するものではない。本開示に合致するその他の3D入力GUIも本開示の範囲内にあるとみなされる。
【0046】
(先に述べたような)VRシナリオモデルの完了及び関連する3D入力GUIのモデリングに続き、VRクライアント端末を用いて、VRシナリオモデルと3D入力GUIとを、VRクライアント端末に接続したVR端末(例えば、VRヘッドセット)を介して、ユーザへ出力できる。
【0047】
実施によっては、デフォルトで、VRクライアント端末はVR環境内でVRシナリオモデルのみをユーザに出力してよい。ユーザがVRシナリオに関連付けられた没入感のある経験の最中に入力情報を必要とする場合、VRクライアント端末は、現在の仮想トリガ要素(例えば、仮想ボタン)に対してユーザが行った事前設定された3Dジェスチャのトリガに応答して、VR環境内で関連の3D入力GUIを出力できる。
【0048】
例として、VR端末を装着してVRシナリオをプレイ中のユーザは、3D入力GUIを表示するために仮想トリガ要素をトリガできる。特定の例として、ユーザはVRショッピングシナリオに参加でき、このシナリオではいくつかの商品が提示され、ユーザはこれらを選んで、購入するように選択できる。選択した商品の決済を完了するには、ユーザはVR環境内の「買う/支払う」仮想ボタンを、特定の事前設定された3Dジェスチャによって選択できる。このケースでは、VRクライアント端末が、VRシナリオに使用するための3D入力GUI「3Dチェックアウトカウンタ」(仮想キーボード付き)をVR環境内に出力する。ユーザは、「3Dチェックアウトカウンタ」を用いて3Dジェスチャを繰り返すことによって、情報の入力を選択及びトリガすることができる。
【0049】
2)3Dジェスチャの認識
【0050】
実施によっては、ユーザは、VR環境内に表示されたVRシナリオとインタラクションするべくVR端末を装着しているときに、補助のハードウェアデバイス(例えば、ジョイスティック、触覚グローブ、又はその他のデバイス)を使用しなくても、身体の前の空中で手を使って3Dジェスチャを形成できる。形成された3Dジェスチャは、VRシナリオに関連付けられた3D入力GUIに関連して、取り込まれ、分析され、VR環境(拡張現実と類似)内に表示される。別の実施では、ユーザは補助のハードウェアデバイスを使用して、オペレーショナルフォーカスの制御、選択の実行、又は本開示と合致するその他の動作を実行できる。
【0051】
ユーザは、特定の3Dジェスチャを実行し、VRシナリオにより提供された仮想要素(例えば、仮想ボタン、動作コントローラ、又はページ)を選択できる。当業者により理解されるように、本開示は例示の3Dジェスチャのみに限定されるものではなく、本開示と合致するあらゆる(3D又はその他の)ジェスチャに限定される。例えば、3Dジェスチャは単純(例えば、単純なクリック/タップジェスチャ)又は複雑(例えば、仮想要素を選択するための特定のジェスチャ)であってよい。3Dジェスチャは静的(例えば、特定の手の姿勢)又は動的(例えば、把持、ドラッグ、回転)であってもよい。実施によっては、3Dジェスチャは、VRシナリオの特定の要件に基づいて、又は、その他のVRコンテンツプロバイダとの違いを区別するためにカスタマイズされてよい。
【0052】
図4は、本開示の実施に係る、VR環境内で仮想要素を選択及びトリガするために使用できる例示の3Dジェスチャを示す図400である。図4は次の例示の3Dジェスチャを示す:
・402a-ターン/回転(2本指)
・402b-スプレッド(2本指)
・402c-ピンチ(2本指)
・402d-ターン/回転(5本指)
・402e-クリック/タップ(2本指)
・402f-スワイプ(1本指)
・402g-ピンチ(5本指)
【0053】
実施によっては、404は特定のVRシナリオのためのVR環境内に表示されたGUI要素であってよい。特定のVRシナリオに適用できる3Dジェスチャに関連した情報をユーザに提供するために、GUI要素404を表示できる。
【0054】
実施によっては、VRクライアント端末は、VR端末に接続した感知ハードウェアを事前設定された3Dジェスチャ認識アルゴリズムと組み合わせて用いることにより、VRシナリオにおいてユーザが実行した3Dジェスチャを認識できる。実施によっては、VRクライアント端末は、感知ハードウェアを用いて、ユーザの手変位をリアルタイムで追跡できる。感知ハードウェアは手変位データ(例えば、位置座標、動き追跡)を収集し、分析/処理のためにVRクライアント端末へ送信できる。
【0055】
実施によっては、感知ハードウェアは、例えば、画像関連のビジュアル、非ビジュアル(例えば、赤外線、紫外線)、レーザ、レーダ、及び超音波データを収集するための1つ以上のセンサを含むことができる。実施によっては、3Dジェスチャは、例えば、デュアルカメラバイノキュライメージングソリューション、飛行時間(TOF)型ソリューション、立体照明ソリューション、マイクロレーダソリューションを用いて認識できる。
【0056】
デュアルカメラバイノキュライメージングソリューションに基づいた3Dジェスチャ認識に関連して、感知ハードウェアは1つ以上の画像センサを含むことができる。VRクライアント端末は、デュアルカメラ画像センサによりユーザの手変位をリアルタイム追跡し、ユーザの手変位データを分析/処理のために収集できる。VRクライアント端末は、3Dジェスチャ認識アルゴリズムを用いてユーザの手変位データに対して計算を実行し、これにより、VRシナリオのX/Y/Z軸に対するユーザの手の回転量とオフセットを計算する。VRクライアント端末は算出した回転量とオフセットとを用いて3Dジェスチャモデリングを実行し、これにより、最終的な3Dジェスチャモデルを生成する。
【0057】
TOFソリューションに基づいた3Dジェスチャ認識に関連し、感知ハードウェアは赤外線センサを含むことができる。立体照明ソリューションに基づく3Dジェスチャ認識に関連し、感知ハードウェアはレーザセンサを含むことができる。マイクロレーダソリューションに基づく3Dジェスチャ認識に関連し、感知ハードウェアはレーダセンサを含むことができる。典型的な実施において、TOFソリューション、立体照明ソリューション、マイクロレーダソリューションに基づいたユーザの3Dジェスチャの認識は、デュアルカメラバイノキュライメージングソリューションと原則的に同一である。記載のソリューションの各々では、奥行き情報を(例えば、手変位データに基づく回転量とオフセットを用いて)計算し、3Dジェスチャモデリングを可能にする。
【0058】
手変位データの受信後に、VRクライアント端末は、事前設定された3Dジェスチャ認識アルゴリズムを用いて手変位データを分析し、3Dジェスチャが認識されたかどうかを特定できる。3Dジェスチャが認識された場合には、認識された3Dジェスチャが事前設定された3Dジェスチャであるかどうかを特定できる。
【0059】
実施によっては、3Dジェスチャ認識アルゴリズムを用いて3Dジェスチャを認識すると、VRクライアント端末は、収集した手変位データに基づき、VRシナリオのX/Y/Z軸に対するユーザの手の回転量とオフセットを計算できる。実施によっては、X/Y/Z軸に関連した回転量の意味は、ユーザの手が特定の3Dジェスチャを実行するときに、回転軸として機能するVRシナリオのX/Y/Z軸に対してユーザの手における事前選択された特徴点が回転する偏差角とすることができる。実施によっては、オフセットの意味は、ユーザの手が特定の3Dジェスチャを実行するときに、VRシナリオのX/Y/Z軸に対するユーザの手における事前選択された特徴点からの水平距離とすることができる。
【0060】
3Dジェスチャの3Dモデリングは、入手した回転量とオフセットに基づいて、VRクライアント端末によって実行できる。3Dジェスチャの3Dモデル(3Dジェスチャモデル)が完成すると、3ジェスチャの認識が完了したとみなされる。
【0061】
回転量とオフセットとを組み合わせることで、ユーザの手による3Dジェスチャの実行に関連付けられた奥行き情報を正確に特定できるようになる。特定された奥行き情報に基づく3Dジェスチャの3Dモデリングは、ユーザの3Dジェスチャを正確に表すことができる。
【0062】
VRクライアント端末は、VRシナリオ内で特定の仮想要素を選択するための事前設定された3Dジェスチャを事前に定義できる。3Dジェスチャを認識するときに、VRクライアント端末は認識された3Dジェスチャが特定の事前設定された3Dジェスチャであるかどうかを識別できる。例えば、生成された3Dジェスチャモデルを事前設定された3Dジェスチャ(例えば、図4に示す3Dジェスチャ)に関連付けられた3Dジェスチャモデルに対して比較することができる。認識された3Dジェスチャが事前設定された3Dジェスチャであると特定された場合、VRクライアント端末は、事前設定された3Dジェスチャに関連付けられた動作(例えば、特定の仮想要素を選択する)を実行できる。
【0063】
VR端末を装着している状態では、VR端末外のユーザ視界は、普通は制限されるため、ユーザは自分の手が行った実際の3Dジェスチャを見ることができない。このため、ユーザの手に関連付けられた3Dジェスチャの正確性と位置が影響を受ける可能性がある。これらの問題を軽減するために、VRクライアント端末は、VRシナリオに関連したVR環境内にオペレーショナルフォーカスを出力できる。オペレーショナルフォーカスは、ユーザの3Dジェスチャに対応し、空間変位をリアルタイムで反映するよう構成されている。例えば、VRクライアント端末はVR環境内に表示するために、ユーザの手の操作位置をリアルタイムで計算できる。操作位置は、感知ハードウェアによりユーザの手をリアルタイム追跡して収集した手変位データを用いて計算される。この方法では、ユーザの現実世界3Dジェスチャを、表示された移動するオペレーショナルフォーカスによってリアルタイムでVR環境内に表すことができる。
【0064】
実施によっては、オペレーショナルフォーカスはアイコン、ポインタ、又はその他のグラフィカル要素(例えば、人間の手の表現)を含むことができる。ユーザが実行した3Dジェスチャをシミュレーションするために、オペレーショナルフォーカスをアニメーション化することも可能である。例えば、VRクライアント端末は、ユーザの手の奥行き情報に基づく3Dジェスチャモデリングの手段により、ユーザの3Dジェスチャに対応した3Dジェスチャモデルを生成する。3Dジェスチャモデルは、概して、ユーザの手に関連付けられた正確なパラメータ(例えば、ユーザの手の位置座標や変位変化)を表すので、これに対応する3Dジェスチャアニメーションを、3Dジェスチャモデルを用いてレンダリングすることができる。
【0065】
ユーザは、VRシナリオに没入すると、自分の手で現在行っている特定の3Dジェスチャを、表示されるオペレーショナルフォーカスを用いてリアルタイムで正確に観察することが可能である。実施によっては、VRクライアント端末は、特定の3Dジェスチャを1つ以上の事前設定された3Dジェスチャとマッチ(一致)するように変更/修正するよう、ユーザに視覚的に促すことができる。こうすることで、ユーザは、不正確な、意図しない、又は未知のジェスチャによって不正確な/間違った入力が生じるおそれを低減するように、自分の3Dジェスチャの形成を訂正することが可能になる。
【0066】
実施によっては、VRクライアント端末は事前設定された3Dジェスチャモデルを格納しておき、生成されたユーザの3Dジェスチャの3Dジェスチャモデルに対してマッチング(照合)させることができる。VRクライアント端末は、ユーザの3Dジェスチャを認識すると、生成された3Dジェスチャモデルと事前設定された3Dジェスチャモデルからいくつかの対応する特徴点を選択できる。ユーザの3Dジェスチャが事前設定された3Dジェスチャとマッチするかどうかを特定するべく、VRシナリオのX/Y/Z軸に対する回転量とオフセットがマッチするかを特定するために、VRクライアント端末は選択した特徴点を用いてマッチング動作を実行する。生成された3Dジェスチャモデルと事前設定された3Dジェスチャモデルとの間の特徴点の完全な一致は期待できないため、VRクライアント端末は、事前設定された閾値を用いることで、生成された3Dジェスチャモデルと事前設定された3Dジェスチャモデルとの間で類似マッチを特定することができる。例えば、事前設定された閾値を満たした又はこれを超えた場合に、生成された3Dジェスチャモデル及び事前設定された3Dジェスチャモデルがマッチしたとみなしてよい。実施によっては、マッチングは、VRクライアント端末で実行される事前設定された類似性アルゴリズムによって特定できる。事前設定された閾値は、VRシナリオの特定のニーズに応じて色々な値に設定できる(例えば、繊細な選択を要する動作は事前設定された高い閾値を持つ一方、一般的な回転動作は事前設定された低い閾値を持つ)。
【0067】
3)情報入力
【0068】
VRクライアント端末が、ユーザの3Dジェスチャは事前設定された3Dジェスチャであると特定した場合、VRクライアント端末はVR環境内の3Dジェスチャの操作位置を計算し、次に、この操作位置に対応するVRシナリオに関連付けられた仮想要素を選択できる。例えば、VRクライアントと端末は、感知ハードウェアがユーザの手をリアルタイム追跡して収集した手変位データに従って、VR環境内におけるユーザの手の操作位置をリアルタイムで計算できる。操作位置を計算したら、VRクライアント端末は、操作位置に対応した仮想要素についてVRシナリオを検索し、次に、仮想要素を選択できる。
【0069】
ユーザの3Dジェスチャに対応したオペレーショナルフォーカスが既にVR環境内に表示されている場合、VRクライアント端末は、VR環境内でのユーザの手の操作位置を特定するために、更にオペレーショナルフォーカスの位置を探すことができる。ここで、VRクライアント端末は、オペレーショナルフォーカスによってVRシナリオ内に示される仮想要素を検索し、次に、その仮想要素を選択できる。
【0070】
実施によっては、ユーザが行う3Dジェスチャに関連付けられた冗長な持続時間によって生じる可能性のある操作上の失敗を低減するために、VRクライアント端末は、3Dジェスチャが有効かどうかを示すための事前設定された持続時間閾値を設定できる。ユーザの3Dジェスチャを認識した後に、VRクライアント端末は3Dジェスチャの全持続時間(つまり、ユーザがジェスチャを開始した瞬間からジェスチャが終了した瞬間までの時間差)を計算し、次に、3Dジェスチャの持続時間が事前設定された持続時間閾値よりも短いかどうかを特定できる。3Dジェスチャの持続時間が事前設定した持続時間閾値よりも短い場合には、3Dジェスチャは有効であるとみなされる。3Dジェスチャの持続時間が事前設定した持続時間閾値と等しい又はこれよりも長い場合には、3Dジェスチャは無効であるとみなされる。有効であると特定されると、VRクライアント端末は、次に、その3Dジェスチャが事前設定された3Dジェスチャであるかどうかを特定できる。
【0071】
事前設定された時間期間閾値は特定のVRシナリオとVRに関連した動作とに応じて変化してよい。例えば、ユーザが事前設定された3Dジェスチャを短時間で迅速に形成して、VRシナリオにおいて仮想要素を選択できるように、事前設定された持続時間閾値を短い時間(例えば、2秒間)に設定できる。
【0072】
ユーザが、VRクライアント端末をトリガし、事前設定された3D入力GUIを出力するようにさせるVRシナリオに、事前設定された仮想トリガ要素が前もって提供されていると仮定する。例えば、VR環境内のVRシナリオとインターフェース接続した状態で情報を入力する必要がある場合、ユーザは、仮想トリガ要素をトリガするべく仮想トリガ要素が配置される位置にオペレーショナルフォーカスを移動させることができる(例えば、オペレーショナルフォーカスを仮想トリガ要素の上でホバリングさせ続ける)。特定の例として、ユーザは、外部デバイス(例えば、ジョイスティック又はハンドル)を用いてオペレーショナルフォーカスの動きを制御できる。或いは、重力センサをVR端末に事前にインストールしたり、対応する重力感知手段をユーザが手に装着したりすることで、ユーザが頭部の動き/頭部姿勢により、又は手の動きにより、オペレーショナルフォーカスの動きを制御できる。
【0073】
オペレーショナルフォーカスを仮想トリガ要素の上でホバリングさせ続けた後に、ユーザはオペレーショナルフォーカスが示す位置にて事前設定された3Dジェスチャを手で行うことができる。VRクライアント端末が、ユーザによって行われた3Dジェスチャが事前設定された3Dジェスチャであると識別した後、オペレーショナルフォーカスが仮想トリガ要素の上でホバリング状態に維持されているため、オペレーショナルフォーカスによって示された仮想要素は作動のための仮想トリガ要素とみなされる。VRクライアント端末は仮想トリガ要素を選択でき、3D入力GUIを出力するようにVRシナリオをトリガすることができる。
【0074】
3D入力GUIがVR端末内に表示されたら、ユーザは3D入力GUIに関連付けられた仮想入力要素によって示された情報を入力できる。ユーザの入力のニーズに基づいて、ユーザはオペレーショナルフォーカスを特定の仮想入力要素の上でホバリングさせ、次に、事前設定された3Dジェスチャを手で形成することにより、特定の仮想入力要素を選択ができる。実施によっては、仮想トリガ要素を選択するための事前設定された3Dジェスチャは、3D入力GUI内の仮想入力要素を選択するための事前設定された3Dジェスチャと同一又は異なっていてよい。
【0075】
ユーザが行った3Dジェスチャは事前設定された3Dジェスチャであると特定した後に、VRクライアント端末は、VRシナリオに関連した3Dジェスチャの操作位置を計算できる。次に、VRクライアント端末はこの操作位置に対応した特定の仮想入力要素について3D入力GUIを検索し、特定の仮想入力要素を選択できる。実施によっては、VRクライアント端末は3D入力GUI内の仮想入力要素を強調することができる。例えば、選択された仮想入力要素を3D入力GUI内で(例えば、別の色やフラッシュを使うといった)ハイライト強調できる。
【0076】
3D入力GUI内の仮想入力要素の選択に続き、VRクライアント端末は仮想入力要素に対応した情報(例えば、文字や数字)を読み取ることができる。読み取った情報は、次に、情報の入力に用いることができる。ユーザは、追加の仮想入力要素を選択して、追加の情報(例えば、パスワードを形成する一連の英数字)を入力することができる。決済パスワードが入力された場合には、入力された決済パスワードの(例えば、決済サーバによる)確認後に、選択された商品の購入を完了できる。
【0077】
図5は、本開示の実施に係る、VRクライアント端末に関連付けられた動作を入力するために用いられるコンピューティングモジュール500の例を示すブロック図である。VRシナリオが仮想現実クライアント端末によりVR環境内に出力され、VR端末に表示される。VRシナリオは3D入力GUIを含む。実施によっては、VRシナリオは、VRシナリオにおける3D入力GUIの出力をトリガするために用いられる事前設定された仮想トリガ要素を含む。実施によっては、3D入力GUIは3D仮想キーボードであってよく、仮想入力要素は3D仮想キーボードに関連付けられた仮想キーであってよい。VRシナリオは3Dジェスチャに対応したオペレーショナルフォーカスを含み、オペレーショナルフォーカスはVRシナリオにおける3Dジェスチャとの同期変位を有する。実施によっては、オペレーショナルフォーカスは3Dジェスチャをシミュレートしたアニメーションとして表示される。
【0078】
実施によっては、認識モジュール501は、VRシナリオでのユーザの3Dジェスチャを認識するように構成される。実施によっては、認識モジュール501は:1)事前設定された感知ハードウェアを用いてユーザの手の変位を追跡する、2)感知ハードウェアが収集したユーザの手変位データを取得する、3)VRシナリオのX/Y/Z軸に対応するユーザの手の回転量とオフセットを、手変位データに基づいて計算する、4)回転量とオフセットに基づいて3Dモデリングを実行して、対応する3Dジェスチャを得る、ようにも構成される。判定モジュール502は、ユーザの3Dジェスチャが認識されると、認識された3Dジェスチャが事前設定された3Dジェスチャであるかどうかを特定するように構成される。計算モジュール503は、認識された3Dジェスチャが事前設定された3Dジェスチャである場合に、3D入力GUIに対応した3Dジェスチャの操作位置を計算するように構成される。実施によっては、計算モジュール503は:1)3D入力GUIに対応した3Dジェスチャの操作位置を計算する前に、3Dジェスチャの期間を計算する、2)3Dジェスチャの期間が事前設定された閾値よりも短いかどうかを判定する、3)3Dジェスチャの期間が事前設定された閾値よりも短い場合に、3D入力GUIに対応した3Dジェスチャの操作位置を計算する動作を実行する、ようにも構成される。入力モジュール504は、3D入力GUIに関連付けられ、算出した操作位置に対応する仮想入力要素を選択するように構成される。この入力モジュール504は、仮想入力要素により示された情報入力を読み取るようにも構成される。実施によっては、入力モジュール504は、更に、3D入力GUI内の選択された仮想入力要素を強調するようにも構成される。出力モジュール505は、操作位置が、仮想トリガ要素が配置されている位置に対応する場合、3D入力GUIを出力するように構成される。
【0079】
図6は、本開示の実施に係る、図5の例示のVRクライアント端末に関連付けられたコンピューティングハードウェアコンポーネント(構成要素)600の例を示すブロック図である。図6に示すように、VRクライアント端末は、中央処理ユニット(CPU)602、コンピュータメモリ604、不揮発性記憶デバイス606、ネットワークインターフェース610、及び内部バス612を含む。実施によっては、図6図7に示すコンピューティングシステムを含む、又はこれに含まれることができる。実施によっては、図6及び図7に示すコンポーネントのいくつか又は全てを同一(例えば、CPU602/プロセッサ705、メモリ604/メモリ707)であるとみなすことができる。実施によっては、VRクライアント端末に関連付けられた動作を入力するために用いるコンピューティングモジュール500を、(ソフトウェア・ハードウェアの組み合わせの論理コンピューティングシステムとして)CPU602によって、メモリ604にロードし、格納し、及び実行できる。
【0080】
当業者は、本明細書を考慮し、開示された本主題を実践した後に、本開示の他の実施に想到できるであろう。本開示は、本開示の基本原理と合致する応用、使用、及び適用を含む、並びに、当該技術における周知の若しくは開示されていない従来の技術手段を含む、記載の主題のあらゆる応用、使用、又は適用を網羅するよう意図されている。提供する各例は、記載する概念の理解を促すことを意図するものであって、本開示の適用性をいかなる形でも限定するものではない。
【0081】
更に、本開示は記載された実施、又は添付の図面において例示されたとおりのもののみに限定されないことが理解されるべきである。本願の範囲から逸脱せずに様々な改変及び変更を加えることができる。本願の範囲は、本明細書に含まれる「特許請求の範囲」によってのみ限定される。本開示の主旨及び原理において為されるいずれの改造、均等物の置き換え、改良も、本開示の範囲及び保護範囲内にあるとみなされる。
【0082】
図7は、本開示の実施に係る、記載のアルゴリズム、方法、機能、工程、流れ、手順に関連付けられたコンピューティングの機能性を提供するために用いられるコンピュータにより実施されるシステム700の例を示すブロック図である。図示の実施では、システム700はコンピュータ702とネットワーク730とを含む。
【0083】
図示のコンピュータ702は、サーバ、デスクトップコンピュータ、ラップトップ/ノートブックコンピュータ、無線データポート、スマートフォン、携帯情報端末(PDA)、タブレットコンピューティングデバイス、これらデバイス内蔵の1つ以上のプロセッサ、別のコンピューティングデバイス、又は、コンピューティングデバイスの物理的インスタンス(physical instance)若しくは仮想インスタンス(virtual instance)を含むコンピューティングデバイスの組み合わせ、又は、コンピューティングデバイスの物理的若しくは仮想インスタンスの組み合わせを含む、コンピューティングデバイスの組み合わせ等のあらゆるコンピューティングデバイスを含むものとする。加えて、コンピュータ702は、キーパッド、キーボード、タッチ画面のような入力デバイス、別の入力デバイス、又は、ユーザ情報を受け取ることができる入力デバイスの組み合わせ、及びデジタルデータ、ビジュアル、オーディオ、その他のタイプの情報、又は複数タイプの情報の組み合わせを含む、コンピュータ702の動作に関連付けられた情報をグラフィカルタイプのユーザインターフェース(UI)(又はGUI)若しくはその他のUI上で伝える出力デバイスを含むコンピュータを含むことができる。
【0084】
コンピュータ702は、分散コンピューティングシステムにおいて本開示に記載の主題を実行するために、クライアントとして、ネットワークコンポーネントとして、サーバとして、データベースとして、若しくは別の持続性の役割、又は、別の役割、又は、それら役割の組み合わせとして機能できる。図示のコンピュータ702はネットワーク730に通信可能に接続している。実施によっては、コンピュータ702の1つ以上のコンポーネントは、クラウドコンピューティングベース環境、ローカル環境、グローバル環境、別の環境、又は複数環境の組み合わせを含む環境内で動作するように構成できる。
【0085】
高いレベルで見ると、コンピュータ702は、説明した主題に関連するデータ及び情報を受信、送信、処理、格納又は管理するように操作可能な電子計算デバイスである。実施によると、コンピュータ702はまた、アプリケーションサーバ、電子メールサーバ、ウェブサーバ、キャッシュサーバ、ストリーミングデータサーバ、他のサーバ、又はサーバの組合せを含む、又は、それらと通信可能に結合できる。
【0086】
コンピュータ702は、ネットワーク730上で(例えば、別のコンピュータ702上で実行中のクライアントソフトウェアアプリケーションから)要求を受信し、更に、受信した要求をソフトウェアアプリケーション又は複数ソフトウェアアプリケーションの組み合わせを用いて処理することにより、受信した要求に応答できる。加えて、要求は、内部ユーザから(例えば、コマンドコンソールから、又は、別の内部アクセス方法により)、外部若しくはサードパーティから、又は、その他のエンティティ、個人、システム、コンピュータから、コンピュータ702へ送ることも可能である。
【0087】
コンピュータ702の各コンポーネントはシステムバス703を用いて通信できる。実施によっては、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアの組み合わせを含むコンピュータ702のコンポーネントのいずれか又は全ては、アプリケーションプログラミングインターフェース(API)712、サービスレイヤ713、又はAPIとサービスレイヤ713の組み合わせを用いたシステムバス703上でインターフェース接続できる。API712はルーチン、データ構造、オブジェクトクラスのための仕様を含むことができる。API712はコンピュータ言語依存型又はコンピュータ言語非依存型であってよく、完全なインターフェース、単一の機能(シングルファンクション)、更には1組のAPIセットとも呼ばれる。サービスレイヤ713は、コンピュータ702、又は、コンピュータ702に通信可能に接続しているその他のコンポーネント(図示の有無を問わない)にソフトウェアサービスを提供する。このサービスレイヤを用いることで、全てのサービスコンシューマがコンピュータ702の機能にアクセスできる。サービスレイヤ713によって提供されるようなソフトウェアサービスは、定義されたインターフェースを介して、再利用可能な定義された機能を提供する。例えば、インターフェースは、拡張マークアップ言語(XML)形式、別の形式、又は複数の形式の組み合わせでデータを提供する、JAVA(登録商標)、C++、別のコンピュータ言語、又は複数のコンピュータ言語の組み合わせで書かれたソフトウェアであってよい。コンピュータ702に統合されたコンポーネントとして図示されているが、代替の実施は、API712又はサービスレイヤ713を、コンピュータ702、又は、コンピュータ702に通信可能に接続しているその他のコンポーネント(図示の有無を問わない)に関連したスタンドアロン型コンポーネントとして図示することが可能である。更に、API712又はサービスレイヤ713のいずれか又は全ては、別のソフトウェアモジュールの子モジュール若しくはサブモジュール、企業アプリケーション、又はハードウェアモジュールとして、本開示の範囲から逸脱せずに実施できる。
【0088】
コンピュータ702はインターフェース704を含む。図7では単一のインターフェース704として図示されているが、特定のニーズ、要望、又はコンピュータ702の特定の実施に従って、2つ以上のインターフェース704の使用が可能である。インターフェース704は、分散環境内でネットワーク730に通信可能にリンクしている別のコンピューティングシステム(図示の有無を問わない)と通信するためにコンピュータ702によって用いられる。一般的に、インターフェース704はネットワーク730と通信するように動作でき、又、ソフトウェア、ハードウェア、又はソフトウェアとハードウェアの組み合わせ内に暗号化された論理を備えている。より具体的には、インターフェース704は、通信に関連付けられた1つ以上の通信プロトコルを支援するソフトウェアを備えることができ、これにより、ネットワーク730又はインターフェースのハードウェアが、図示のコンピュータ702の内外において物理信号を通信するように動作できるようになっている。
【0089】
コンピュータ702は、プロセッサ705を含む。図7では単一のプロセッサ705として示されているが、コンピュータ702の特定のニーズ、要望、又は特定の実施に従って、2つ以上のプロセッサを使用できる。一般に、プロセッサ705は命令を実行し、データを操作してコンピュータ702の作動、並びに本願に記載されるような任意のアルゴリズム、方法、機能、工程、フロー、及び手順を実行する。
【0090】
コンピュータ702は、コンピュータ702、ネットワーク730に通信可能にリンクしている別のコンポーネント(図示の有無を問わない)、又はコンピュータ702と別のコンポーネントの組み合わせのためにデータを保持することが可能なデータベース706を更に含む。例えば、データベース706は、本開示と合致するデータを格納する、インメモリタイプ、従来タイプ、又は別のタイプのデータベースであってよい。実施によっては、データベース706は、特定のニーズ、要望、又はコンピュータ702及び記載の機能の特定の実施に応じて、2つ以上の異なるデータベースタイプ(例えば、ハイブリッドインメモリタイプや従来タイプのデータベース)の組み合わせであってよい。図7では単一のデータベース706として図示されているが、特定のニーズ、要望、又はコンピュータ702及び記載の機能の特定の実施に応じて、類似する又は異なるタイプの2つ以上のデータベースを使用することができる。データベース706はコンピュータ702に統合されたコンポーネントとして図示されているが、代替の実施ではコンピュータ702の外部にあってもよい。
【0091】
コンピュータ702はコンピュータ702、ネットワーク730に通信可能にリンクしている別の1つ以上のコンポーネント(図示の有無を問わない)、又はコンピュータ702と別のコンポーネントとの組み合わせのためにデータを保持することが可能なメモリ707を更に含む。メモリ707は本開示と合致するあらゆるデータを格納できる。実施によっては、メモリ707は、特定のニーズ、要望、又はコンピュータ702及び記載の機能の特定の実施に応じて、2つ以上の異なるタイプのメモリの組み合わせ(例えば、半導体と磁気記憶装置の組み合わせ)であってよい。図7では単一のメモリ707として図示されているが、特定のニーズ、要望、又はコンピュータ702及び記載の機能の特定の実施に応じて、2つ以上のメモリ707、若しくは類似の又は異なるタイプのメモリを使用することができる。メモリ707はコンピュータ702に統合されたコンポーネントとして図示されているが、代替の実施ではコンピュータ702の外部にあってもよい。
【0092】
アプリケーション708は、特に本願に説明されている機能については、コンピュータ702の特定のニーズ、要望、又は特定の実施に従って機能を提供するアルゴリズムソフトウェアエンジンである。例えば、アプリケーション708は、1つ以上のコンポーネント、モジュール、又はアプリケーションとして機能できる。さらに、単一のアプリケーション708として示されているが、アプリケーション708は、コンピュータ702上の複数のアプリケーション708として実施されてもよい。さらに、コンピュータ702に不可欠なものとして示されているが、代替の実施では、アプリケーション708はコンピュータ702の外部にあってもよい。
【0093】
コンピュータ702は電源714も含むことができる。電源714は、ユーザが交換可能又はユーザが交換できないように構成できる充電式又は非充電式電池を含むことができる。実施によっては、電源714は、電力変換又は(再充電、スタンバイ、又は他の電力管理機能を含む)管理回路を含むことができる。実施によっては、電源714は、例えばコンピュータ702に電力を供給するため、又は充電式バッテリを充電するために、コンピュータ702を壁コンセント又は他の電源に差し込むことを可能にするための電源プラグを含むことができる。
【0094】
各コンピュータ702はネットワーク730を介して通信する、コンピュータ702を含むコンピュータシステムに関連する、又はその外部にある、任意の数のコンピュータ702があってもよい。さらに、用語「クライアント」、「ユーザ」、及び他の適切な用語を、本願の範囲から逸脱することなく、必要に応じて交換可能に使用できる。さらに、本願は、多くのユーザが1つのコンピュータ702を使用する可能性があること、又は1人のユーザが複数のコンピュータ702を使用する可能性があることを想定している。
【0095】
記載する本主題の実施は、1つ以上の特徴を単独で又は組合せて含むことができる。
【0096】
例えば、第1の実施では、コンピュータで実施される方法は:感知ハードウェアから手変位データを受信するステップと;受信した手変位データを、3次元(3D)ジェスチャ認識アルゴリズムを用いて分析するステップと;受信した手変位データが3Dジェスチャを表すと認識するステップと;3D入力グラフィカルユーザインターフェース(GUI)に関する3Dジェスチャの操作位置を計算するステップと;3D入力GUIに関連付けられ、計算された操作位置に対応した仮想入力要素を選択するステップと;選択された仮想入力要素に対応した入力情報を読み取るステップと;を含む。
【0097】
先に述べた実施及び他の説明された実施は、それぞれ、任意に、以下の特徴のうちの1つ以上を含むことができる。
【0098】
第1の特徴は、後述の特徴のいずれかと組み合わせが可能であり、感知ハードウェアは1つ以上の画像センサ、レーザセンサ、又はレーダセンサを含む。
【0099】
第2の特徴は、前述又は後述の特徴のいずれかと組み合わせが可能であり、感知ハードウェアは1つ以上の画像センサ、レーザセンサ、又はレーダセンサを含む。
【0100】
第3の特徴は、前述又は後述の特徴のいずれかと組み合わせが可能であり、受信した手変位データが3Dジェスチャを表すことを認識するステップは:VRシナリオのX/Y/Z軸に対するユーザの手の回転量とオフセットとを計算するステップと;ユーザの手の計算した回転量とオフセットとを用いて、3Dジェスチャモデルを生成するステップと;を更に含む。
【0101】
第4の特徴は、前述又は後述の特徴のいずれかと組み合わせが可能であり:3Dジェスチャの3Dジェスチャモデルを少なくとも1つの事前設定された3Dジェスチャモデルと比較するステップと;3Dジェスチャの3Dジェスチャモデルが少なくとも1つの事前設定された3Dジェスチャモデルとマッチすると特定するステップと;を更に含む。
【0102】
第5の特徴は、前述又は後述の特徴のいずれかと組み合わせが可能であり、3Dジェスチャの3Dジェスチャモデルが少なくとも1つの事前設定された3Dジェスチャモデルとマッチするとの特定は、生成された3Dジェスチャモデルと少なくとも1つの事前設定された3Dジェスチャモデルとから選択された対応するいくつかの特徴点の比較に依存する。
【0103】
第6の特徴は、前述又は後述の特徴のいずれかと組み合わせが可能であり:回転量は、ユーザの手が3Dジェスチャを実行するときに、ユーザの手における事前選択された特徴点をVRシナリオのX/Y/Z軸に対して回転させる偏差角を意味し;オフセットは、ユーザの手が3Dジェスチャを実行するときに、ユーザの手における事前選択された特徴点からVRシナリオのX/Y/Z軸までの水平距離を意味する。
【0104】
第2の実施では、所定の動作を実行するために、コンピュータシステムにより実行可能な1つ以上の命令を格納する非一時的でコンピュータ読み取り可能な媒体が:感知ハードウェアから手変位データを受信する動作と;受信した手変位データを、3次元(3D)ジェスチャ認識アルゴリズムを用いて分析する動作と;受信した手変位データは3Dジェスチャを表すと認識する動作と;3D入力グラフィカルユーザインターフェース(GUI)に関する3Dジェスチャの操作位置を計算する動作と;3D入力GUIに関連付けられ、計算された操作位置に対応した仮想入力要素を選択する動作と;選択された仮想入力要素に対応した入力情報を読み取る動作と;を含む。
【0105】
先に述べた、及び他の説明された実施は、それぞれ、任意に、以下の特徴のうちの1つ以上を含むことができる。
【0106】
第1の特徴は、後述の特徴のいずれかと組み合わせることができ、感知ハードウェアは1つ以上の画像センサ、レーザセンサ、レーダセンサを含む。
【0107】
第2の特徴は、前述又は後述の特徴のいずれかと組み合わせが可能であり、3次元ジェスチャは、VR環境に表示されたVRシナリオにおいてユーザにより実行される。
【0108】
第3の特徴は、前述又は後述の特徴のいずれかと組み合わせが可能であり、受信した手変位データが3Dジェスチャを表すことを認識する動作とは、VRシナリオのX/Y/Z軸に対するユーザの手の回転量とオフセットを計算する動作と;計算されたユーザの手の回転量とオフセットを用いて3Dジェスチャモデルを生成する動作と;の1つ以上の動作を更に含む。
【0109】
第4の特徴は、前述又は後述の特徴のいずれかと組み合わせが可能であり、3Dジェスチャの3Dジェスチャモデルを少なくとも1つの事前設定された3Dジェスチャモデルと比較するため;3Dジェスチャの3Dジェスチャモデルが少なくとも1つの事前設定された3Dジェスチャモデルとマッチすると特定するため;の1つ以上の命令を更に含む。
【0110】
第5の特徴は、前述又は後述の特徴のいずれかと組み合わせが可能であり、3Dジェスチャの3Dジェスチャモデルが少なくとも1つの事前設定された3Dジェスチャモデルとマッチするとの特定は、生成された3Dジェスチャモデルと、少なくとも1つの事前設定された3Dジェスチャモデルとから選択された対応するいくつかの特徴点の比較に依存する。
【0111】
第6の特徴は、前述又は後述の特徴のいずれかと組み合わせが可能であり、回転量は、ユーザの手が3Dジェスチャを実行するときに、ユーザの手における事前選択された特徴点をVRシナリオのX/Y/Z軸に対して回転させる偏差角を意味し;オフセットは、ユーザの手が3Dジェスチャを実行するときに、ユーザの手における事前選択された特徴点からVRシナリオのX/Y/Z軸までの水平距離を意味する。
【0112】
第3の実施では、コンピュータにより実施されるシステムは:1つ以上のコンピュータと;1つ以上のコンピュータに相互運用可能に接続され、1つ以上の命令を格納する有形で非一時的なマシン読み取り可能媒体を有する1つ以上のコンピュータメモリデバイスと;を備え、上記媒体の上記命令は、1つ以上のコンピュータで実行されると、感知ハードウェアから手変位データを受信する動作と;受信した手変位データを、3次元(3D)認識アルゴリズムを用いて分析する動作と;受信した手変位データが3Dジェスチャを表すと認識する動作と;3D入力グラフィカルユーザインターフェース(GUI)に関する3Dジェスチャの操作位置を計算する動作と;3D入力GUIに関連付けられ、計算された操作位置に対応した仮想入力要素を選択する動作と;選択された仮想入力要素に対応した入力情報を読み取る動作と;を実行する。
【0113】
先に述べた及びその他の記述された実施の各々は、以下の特徴の1つ以上をオプションで含む。
【0114】
第1の特徴は、後述の特徴のいずれかと組み合わせが可能であり、感知ハードウェアは、1つ以上の画像センサ、レーザセンサ、レーダセンサを含む。
【0115】
第2の特徴は、前述又は後述の特徴のいずれかと組み合わせが可能であり、3Dジェスチャは、VR環境に表示されたVRシナリオにおいてユーザにより実行される。
【0116】
第3の特徴は、前述又は後述の特徴のいずれかと組み合わせが可能であり、受信した手変位データが3Dジェスチャを表すことを認識する動作は、VRシナリオのX/Y/Z軸に対するユーザの手の回転量とオフセットとを計算する動作と;計算されたユーザの手の回転量とオフセットとを用いて3Dジェスチャモデルを生成する動作と;を更に含む。
【0117】
第4の特徴は、前述又は後述の特徴のいずれかと組み合わせが可能であり、3Dジェスチャの3Dジェスチャモデルを少なくとも1つの事前設定された3Dジェスチャモデルと比較する動作と;3Dジェスチャの3Dジェスチャモデルが少なくとも1つの事前設定された3Dジェスチャモデルとマッチすると特定する動作と;の1つ以上の動作を更に含む。
【0118】
第5の特徴は、前述又は後述の特徴のいずれかと組み合わせが可能であり、3Dジェスチャの3Dジェスチャモデルが少なくとも1つの事前設定された3Dジェスチャモデルとマッチするとの特定は、生成された3Dジェスチャモデルと少なくとも1つの事前設定された3Dジェスチャモデルとから選択された対応するいくつかの特徴点の比較に依存する。
【0119】
第6の特徴は、前述又は後述の特徴のいずれかと組み合わせが可能であり:回転量は、ユーザの手が3Dジェスチャを実行するときに、ユーザの手における事前選択された特徴点をVRシナリオのX/Y/Z軸に対して回転させる偏差角を意味し;オフセットは、ユーザの手が3Dジェスチャを実行するときに、ユーザの手における事前に選択された特徴点からVRシナリオのX/Y/Z軸までの水平距離を意味する。
【0120】
本明細書に記載された主題の実施及び機能操作は、本明細書に開示された構造及びそれらの構造的等価物を含む、デジタル電子回路、有形に具現化されたコンピュータソフトウェア若しくはファームウェア、コンピュータハードウェア、又はそれらの1つ以上の組合せで実施できる。記載された主題のソフトウェア実施は、1つ以上のコンピュータプログラムとして、すなわち、データ処理装置によって実行又はデータ処理装置を制御するために、有形の非一時的なコンピュータ読取可能でコンピュータ記録媒体上に符号化された、1つ以上のコンピュータプログラム命令のモジュールとして実施できる。代替的に又は追加的に、プログラム命令は、例えば、データ処理装置による実行のために適切な受信装置へ送信するために情報を符号化するよう生成される機械生成の電気信号、光信号、又は電磁信号など人工的に生成された伝搬信号に符号化できる。コンピュータ記録媒体は、機械読取可能記録デバイス、機械読取可能記録基板、ランダム又はシリアルアクセスメモリデバイス、又はコンピュータ記録媒体の組合せでもよい。1つ以上のコンピュータを構成するということは、ソフトウェアが1つ以上のコンピュータによって実行されるとき、特定の計算操作が実行されるように、1つ以上のコンピュータでハードウェア、ファームウェア、若しくはソフトウェア(又はハードウェア、ファームウェア、及びソフトウェアの組合せ)をインストールしてあることを意味する。
【0121】
用語「リアルタイム(real-time)」、「リアルタイム(real time)」、「リアルタイム(realtime)」、「リアルファーストタイム(real (fast) time)(RFT)」、「ニアリーリアルタイム(near(ly) real time)(NRT)」、「準リアルタイム(quasi real time)」又は(当業者によって理解されるような)類似の用語は、個人が実質的に同時に行動及び応答を知覚するように、行動及び応答が時間的に近いことを意味する。例えば、個人がデータにアクセスする行動に続くデータを表示(又は表示の開始)する応答に対する時間差は、1ミリ秒未満、1秒未満、又は5秒未満かもしれない。要求されたデータは瞬時に表示される(又は表示のために開始)必要はないが、記述されたコンピューティングシステムの処理限界及び例えばデータを収集、正確に測定、分析、処理、保存、又は送信するのに必要な時間を考慮して意図的な遅延なしに表示(又は表示のために開始)される。
【0122】
用語「データ処理装置」、「コンピュータ」、又は「電子コンピュータデバイス」(又は当業者によって理解されるような同等物)は、データ処理ハードウェアを指し、実施例として、プログラム可能なプロセッサ、コンピュータ、又は複数のプロセッサ若しくはコンピュータを含む、データを処理するためのあらゆる種類の装置、デバイス、及び機械を包含する。装置はまた、例えば、中央処理装置(CPU)、FPGA(フィールドプログラマブルゲートアレイ)、又はASIC(特定用途向け集積回路)などの専用論理回路であるか、又はそれらをさらに含むことができる。実施によっては、データ処理装置又は専用論理回路(又はデータ処理装置又は専用論理回路の組合せ)は、ハードウェアベース又はソフトウェアベース(又はハードウェアベースとソフトウェアベースとの両方の組合せ)であってもよい。装置は、コンピュータプログラムの実行環境を作成するコード、例えばプロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又は実行環境の組合せを作成するコードを任意に含むことができる。本願は、従来のいくつかのタイプのオペレーティングシステム、例えばLINUX、UNIX(登録商標)、WINDOWS(登録商標)、MAC OS、ANDROID(登録商標)、iOS、又は他のオペレーティングシステム、あるいはオペレーティングシステムの組み合わせを伴うデータ処理装置の使用を想定している。
【0123】
プログラム、ソフトウェア、ソフトウェアアプリケーション、ユニット、モジュール、ソフトウェアモジュール、スクリプト、コード又は他のコンポーネントとも呼ばれる又は記述されることがあるコンピュータプログラムは、コンパイル若しくはインタプリタ言語、又は宣言型若しくは手続き型の言語を含む任意の形式のプログラミング言語で記述することができ、また、コンピューティング環境での使用に適した、スタンドアロンプログラム、モジュール、コンポーネント、又はサブルーチンを含むあらゆる形式で展開できる。コンピュータプログラムは、必ずしもそうである必要はないが、ファイルシステム内のファイルに対応できる。プログラムは、対象のプログラム専用の単一ファイルの中に、又は例えば、1つ以上のモジュール、サブプログラム、又はコードの一部を格納するファイルなど多数の調整されたファイルの中に、例えばマークアップ言語の文書に格納されている1つ以上のスクリプトのように、他のプログラムやデータを保持するファイルの一部に格納できる。コンピュータプログラムは、1つのコンピュータで、又は、1つのサイトに配置されているか又は複数のサイトにわたって分散されて通信ネットワークによって相互接続されている複数のコンピュータ上で実行されるように展開できる。
【0124】
様々な図に示されているプログラムの一部は、様々なオブジェクト、方法、又は他の工程を通して様々な特徴及び機能を実施するユニットやモジュールのような個々のコンポーネントとして示される一方、プログラムは代替的に多くのサブモジュール、サードパーティサービス、コンポーネント、ライブラリ、その他のコンポーネントなどを必要に応じて含むことができる。逆に、様々なコンポーネントの特徴及び機能は、必要に応じて単一のコンポーネントに組合せることができる。計算的な特定を行うために使用される閾値は、静的に、動的に、又は静的に且つ動的に特定できる。
【0125】
記載した方法、工程、論理フローは、本開示と合致する機能の1つ以上の例を表しており、本開示を記載或いは図示された実施に限定するものではなく、記載の原理及び特徴と一致する最も広い範囲と合致するものである。記載の方法、工程、論理フローは、1つ以上のコンピュータプログラムを実行する1つ以上のプログラム可能なコンピュータにより実行され、入力されたデータ上で動作し、出力データを入力することによって機能を実行できる。方法、工程、論理フローは専用論理回路(例えば、CPU、FPGA、又はASIC)によっても実行でき、装置は専用論理回路(例えば、CPU、FPGA、又はASIC)としても実施できる。
【0126】
コンピュータプログラムを実行するためのコンピュータは、汎用又は専用のマイクロプロセッサ、その両方、又は他のタイプのCPUに基づくことができる。一般に、CPUはメモリから命令及びデータを受信し、メモリに書き込む。コンピュータの本質要素は、命令を実行又は達成するためのCPU、並びに命令及びデータを格納するための1つ以上のメモリデバイスである。一般に、コンピュータは、例えば磁気、光磁気ディスク、又は光ディスクなどの、データを格納するための1つ以上の大容量格納デバイスをさらに含むか操作的に連結されていて、データを受信若しくはそれらデバイスへデータを送信、又は送受信の両方を行う。しかしながら、コンピュータはそのようなデバイスを有する必要はない。さらに、コンピュータは、別のデバイス、例えば携帯電話、携帯情報端末(PDA)、携帯オーディオ若しくはビデオプレーヤ、ゲーム機、全地球測位システム(GPS)受信機、又は携帯型メモリ格納デバイスに組み込むことができる。
【0127】
コンピュータプログラムの命令及びデータを格納するのに適した非一時的なコンピュータ読取可能媒体及びデータは、あらゆる形式の永久的/非永久的又は揮発性/不揮発性メモリ、媒体及びメモリデバイスを含むことができ、例として半導体メモリデバイス、例えば、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、相変化メモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、消去可能プログラム可能読み取り専用メモリ(EPROM)、電気的消去可能プログラム可能読取専用メモリ(EEPROM)、及びフラッシュメモリデバイスと;磁気装置、例えばテープ、カートリッジ、カセット、内蔵/リムーバブルディスクと;光磁気ディスクと;例えば、デジタルビデオディスク(DVD)、CD-ROM、DVD+/-R、DVD-RAM、DVD-ROM、HD-DVD、及びBLURAYなどの光デバイス及び他の光メモリ技術と;を含む。メモリは、キャッシュ、クラス、フレームワーク、アプリケーション、モジュール、バックアップデータ、ジョブ、ウェブページ、ウェブページテンプレート、データ構造、データベーステーブル、動的情報を格納するリポジトリ、及びパラメータ、変数、アルゴリズム、命令、ルール、制約、又は参照を含むその他の適切な情報を含む様々なオブジェクト又はデータを格納できる。さらに、メモリは、他の任意の適切なデータ、例えばログ、ポリシー、セキュリティ又はアクセスデータ、報告ファイルを含むことができる。プロセッサ及びメモリは、専用論理回路によって補完されるか、又はその中に組み込まれることが可能である。
【0128】
ユーザとのインタラクションを可能にするために、本明細書で説明される主題の実施は、例えば、CRT(陰極線管)、LCD(液晶ディスプレイ)、LED(発光ダイオード)、又はプラズマモニタなどの、情報をユーザに表示するための表示デバイス、及び、例えば、マウス、トラックボール、又はトラックパッドなどの、ユーザがコンピュータに入力を提供できるキーボード及びポインティングデバイス、を有するコンピュータ上で実施できる。感圧性を有するタブレットコンピュータ表面、静電容量式又は電気式感知を用いるマルチタッチスクリーン、又は他の種類のタッチスクリーンなどのタッチスクリーンを使用して入力をコンピュータに提供することもできる。他の種類の装置を使用して、ユーザとインタラクションすることができる。例えば、ユーザに提供されるフィードバックは任意の形式の感覚的フィードバック(例えば視覚的(ビジュアル)、聴覚的、触覚的、あるいはこれらの組み合わせのフィードバックのタイプ)であり得る。ユーザからの入力は、音響、音声、又は触覚入力を含む任意の形式で受け取ることができる。さらに、コンピュータは、ユーザによって使用されるデバイス及びドキュメントを送受信することによって(例えば、ウェブブラウザから受信した要求に応答してユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって)、ユーザとインタラクションを行える。
【0129】
用語「グラフィカルユーザインターフェース」又は「GUI」は1つ以上のグラフィカルユーザインターフェースや特定のグラフィカルユーザインターフェースの各ディスプレイを表すのに、単数形又は複数形で使用されることがある。したがって、GUIは、任意のグラフィカルユーザインターフェースを表すことができ、ウェブブラウザ、タッチスクリーン、又は情報を処理して情報結果をユーザに効率的に提示するコマンドラインインターフェース(CLI)を含むがこれに限定されない。一般に、GUIは、インタラクティブフィールド、プルダウンリスト、及びボタンなど、複数のユーザインターフェース(UI)要素を含むことができ、一部又は全部がウェブブラウザに関連付けられている。これら及び他のUI要素は、ウェブブラウザの機能に関連するか又はそれを表すことができる。
【0130】
本明細書で説明されている主題の実施は、例えばデータサーバとしてのバックエンドコンポーネント、又は例えばアプリケーションサーバなどのミドルウェアコンポーネント、又は例えばグラフィカルユーザインターフェース又はそれを通してユーザが本明細書に記載の主題の実施とインタラクトできるウェブブラウザを有するクライアントコンピュータなどのフロントエンドコンポーネント、又はそのようなバックエンド、ミドルウェア、又はフロントエンドコンポーネントの1つ以上の任意の組合せを含むコンピューティング(計算)システムで実施できる。システムのコンポーネントは、任意の形式又は例えば通信ネットワークなどの有線又は無線デジタルデータ通信(又はデータ通信の組合せ)の媒体例によって相互接続できる。通信ネットワークの実施例は、ローカルエリアネットワーク(LAN)、無線アクセスネットワーク(RAN)、メトロポリタンエリアネットワーク(MAN)、ワイドエリアネットワーク(WAN)、マイクロ波アクセスのためのワールドワイドインターオペラビリティ(WIMAX)、例えば、802.11a/b/g/n又は802.20(又は802.11xと802.20との組合せ、又はこの開示と一致する他のプロトコル)を使用する無線ローカルエリアネットワーク(WLAN)、インターネットの全部若しくは一部、他の通信ネットワーク、又は通信ネットワークの組合せを含む。通信ネットワークは、例えば、ネットワークノード間のインターネットプロトコル(IP)パケット、フレームリレーフレーム、非同期転送モード(ATM)セル、音声、ビデオ、データ、又は他のネットワークノード間の情報と通信できる。
【0131】
コンピューティングシステムには、クライアント及びサーバを含めることができる。クライアントとサーバとは、一般に互いに離れており、典型的には、通信ネットワークを通してインタラクションを行う。クライアント及びサーバの関係は、それぞれのコンピュータ上で実行され、互いにクライアント-サーバ関係を有するコンピュータプログラムによって生じる。
【0132】
本明細書は多くの特定の実施詳細を含んでいるが、これらはいかなる発明の範囲又は請求される範囲に対する限定としても解釈されるべきではなく、特定の発明の特定の実施に特有であり得る特徴の説明として解釈されるべきである。本明細書において別々の実施の文脈で説明されている特定の特徴は、組合せても、単一の実施でも実施可能である。逆に、単一の実施の文脈で説明されている様々な特徴は、別々に、又は任意の適切なサブコンビネーションで、複数の実施でも実施可能である。さらに、先に述べた特徴は、特定の組合せで作用するものとして説明され、最初にそのように主張されることさえあるが、請求された組合せからの1つ以上の特徴は、場合によっては、組合せから切り取ることができ、請求された組合せは、サブコンビネーション又はサブコンビネーションの変形に向けることができる。
【0133】
本主題の特定の実施が説明されてきた。当業者には明らかであるように、記載された実施の他の実施、変更、及び置換は、添付の特許請求の範囲の範囲内である。望ましい結果を取得するために、操作は図面又は特許請求の範囲に特定の順序で描かれているが、これは、そのような操作が示された特定の順序で又は連続した順序で実行されることを要求するものではなく、又は、示されているすべての操作が実行され取得することを要求するものではない(一部の操作はオプションと見なされる場合がある)ことを、理解すべきである。ある特定の状況では、マルチタスク処理又は並列処理(又はマルチタスク処理及び並列処理の組合せ)が有利で適切に実行され得る。
【0134】
さらに、先に述べた実施における様々なシステムモジュール及びコンポーネントの分離又は統合は、すべての実施においてそのような分離又は統合を要求するものではないことを理解すべきであり、また説明されたプログラムコンポーネント及びシステムは、一般的に、単一のソフトウェア製品に統合されるか、複数のソフトウェア製品にパッケージされることを理解すべきである。
【0135】
したがって、先に述べた実施の例は、本願を定義又は制約しない。本願の主旨及び範囲から逸脱することなく、他の変更、置換、及び改変もまた可能である。
【0136】
さらに、任意の請求される実施は、少なくともコンピュータにより実施される方法;すなわち、コンピュータにより実施される方法を実行するためのコンピュータ読取可能命令を格納する非一時的なコンピュータ読取可能媒体;及び、コンピュータにより実施される方法又は非一時的なコンピュータ読取可能媒体に格納された命令を実行するように構成されたハードウェアプロセッサと相互運用可能に結合されたコンピュータメモリを備えるコンピュータシステム;に適用可能であると見なされる。
以下、本発明の実施の態様の例を列挙する。
[第1の局面]
コンピュータで実施可能な方法であって:
感知ハードウェアから手変位データを受信するステップと;
前記受信した手変位データを、3次元(3D)ジェスチャ認識アルゴリズムを用いて分析するステップと;
前記受信した手変位データが3Dジェスチャを表すことを認識するステップと;
3D入力グラフィカルユーザインターフェース(GUI)に対する前記3Dジェスチャの操作位置を計算するステップと;
前記3D入力GUIに関連付けられ、前記計算された操作位置に対する仮想入力要素を選択するステップと;
前記選択された仮想入力要素に対応する入力情報を読み取るステップと;を備える、
コンピュータにより実施される方法。
[第2の局面]
前記感知ハードウェアは、1つ以上の画像センサ、レーザセンサ、又はレーダセンサを含む、
第1の局面に記載のコンピュータにより実施される方法。
[第3の局面]
前記3Dジェスチャは、VR環境内に表示されたVRシナリオにおいてユーザにより実行される、
第1の局面に記載のコンピュータにより実施される方法。
[第4の局面]
前記受信した手変位データが3Dジェスチャを表すことを認識する前記ステップは:
前記VRシナリオのX/Y/Z軸に対する前記ユーザの前記手の回転量とオフセットとを計算するステップと;
計算された前記ユーザの前記手の回転量とオフセットとを用いて前記3Dジェスチャモデルを生成するステップと;を備える、
第3の局面に記載のコンピュータにより実施される方法。
[第5の局面]
前記3Dジェスチャの前記3Dジェスチャモデルを少なくとも1つの事前設定された3Dジェスチャモデルと比較するステップと;
前記3Dジェスチャの前記3Dジェスチャモデルが前記少なくとも1つの事前設定された3Dジェスチャモデルとマッチすると特定するステップと;を更に備える、
第4の局面に記載のコンピュータにより実施される方法。
[第6の局面]
前記3Dジェスチャの前記3Dジェスチャモデルが前記少なくとも1つの事前設定された3Dジェスチャモデルとマッチするとの前記特定は、前記生成された3Dジェスチャモデルと、前記少なくとも1つの事前設定されたジェスチャモデルとから選択した対応するいくつかの特徴点の比較に依存する、
第5の局面に記載のコンピュータにより実施される方法。
[第7の局面]
前記回転量は、前記ユーザの前記手が前記3Dジェスチャを実行するときに、前記ユーザの前記手における事前選択された特徴点を前記VRシナリオの前記X/Y/Z軸に対して回転させる偏差角を意味し;
前記オフセットは、前記ユーザの前記手が前記3Dジェスチャを実行するときに、前記ユーザの手における前記事前選択された特徴点から前記VRシナリオの前記X/Y/Z軸までの水平距離を意味する;
第4の局面に記載のコンピュータにより実施される方法。
[第8の局面]
所定の動作を実行するためにコンピュータシステムにより実行可能な1つ以上の命令を格納する非一時的なコンピュータ読み取り可能媒体であって:
感知ハードウェアから手変位データを受信する動作と;
受信した前記手変位データを、3次元(3D)ジェスチャ認識アルゴリズムを用いて分析する動作と;
受信した前記手変位データが3Dジェスチャを表すと認識する動作と;
3D入力グラフィカルユーザインターフェース(GUI)に対する前記3Dジェスチャの操作位置を計算する動作と;
前記3D入力GUIに関連付けられ、前記計算された操作位置に対応した仮想入力要素を選択する動作と;
選択された前記仮想入力要素に対応した入力情報を読み取る動作と;を備える、
非一時的なコンピュータ読み取り可能媒体。
[第9の局面]
前記感知ハードウェアは、1つ以上の画像センサ、レーザセンサ、又はレーダセンサを含む、
第8の局面に記載の非一時的なコンピュータ読み取り可能媒体。
[第10の局面]
前記3Dジェスチャは、VR環境内に表示されたVRシナリオにおいてユーザによって実行される、
第8の局面に記載の非一時的なコンピュータ読み取り可能媒体。
[第11の局面]
前記受信した手変位データが前記3Dジェスチャを表すことを認識する前記動作は;
前記VRシナリオのX/Y/Z軸に対する前記ユーザの前記手の回転量とオフセットとを計算する動作と;
前記計算された前記ユーザの前記手の回転量とオフセットとを用いて前記3Dジェスチャモデルを生成する動作と;の1つ以上の動作を更に備える、
第10の局面に記載の非一時的なコンピュータ読み取り可能媒体。
[第12の局面]
前記3Dジェスチャの前記3Dジェスチャモデルを少なくとも1つの事前設定された3Dジェスチャモデルと比較する;
前記3Dジェスチャの前記3Dジェスチャモデルが前記少なくとも1つの事前設定された3Dジェスチャモデルとマッチすると特定する;ための1つ以上の命令を更に備える、
第11の局面に記載の非一時的なコンピュータ読み取り可能媒体。
[第13の局面]
前記3Dジェスチャの前記3Dジェスチャモデルが少なくとも1つの事前設定された3Dジェスチャモデルとマッチすると特定するための前記命令は、前記生成された3Dジェスチャモデルと、前記少なくとも1つの事前設定された3Dジェスチャモデルとから選択された対応するいくつかの特徴点の比較に依存する、
第12の局面に記載の非一時的なコンピュータ読み取り可能媒体。
[第14の局面]
前記回転量は、前記ユーザの前記手が前記3Dジェスチャを実行するときに、前記ユーザの前記手における事前選択された特徴点を前記VRシナリオの前記X/Y/Z軸に対して回転させる偏差角を意味し、
前記オフセットは、前記ユーザの前記手が前記3Dジェスチャを実行するときに、前記ユーザの前記手における前記事前選択された特徴点から前記VRシナリオの前記X/Y/Z軸までの水平距離を意味する、
第11の局面に記載の非一時的なコンピュータ読み取り可能媒体。
[第15の局面]
コンピュータにより実施されるシステムであって:
1つ以上のコンピュータと;
前記1つ以上のコンピュータと相互動作可能に接続しており、1つ以上の命令を格納する有形で非一時的なマシン読み取り可能媒体を有する、1つ以上のコンピュータメモリデバイスと;を備え、
前記命令が、前記1つ以上のコンピュータで実行されると、
感知ハードウェアから手変位データを受信する動作と;
前記受信した手変位データを、3次元(3D)認識アルゴリズムを用いて分析する動作と;
前記受信した手変位データが3Dジェスチャを表すと認識する動作と;
3D入力グラフィカルユーザインターフェース(GUI)に対する前記3Dジェスチャの操作位置を計算する動作と;
前記3D入力GUIに関連付けられ、前記計算された操作位置に対応する仮想入力要素を選択する動作と;
前記選択された仮想入力要素に対応した入力情報を読み取る動作と;を実行する、
コンピュータにより実施されるシステム。
[第16の局面]
前記感知ハードウェアは1つ以上の画像センサ、レーザセンサ、又はレーダセンサを含み、前記3Dジェスチャは、VR環境内に表示されたVRシナリオにおいてユーザにより実行される、
第15の局面に記載のコンピュータにより実施されるシステム。
[第17の局面]
前記受信した手変位データが前記3Dジェスチャを表すと認識する前記動作は:
前記VRシナリオのX/Y/Z軸に対する前記ユーザの前記手の回転量とオフセットを計算する動作と;
計算された前記ユーザの前記手の前記回転量と前記オフセットを用いて前記3Dジェスチャモデルを生成する動作と;を更に備える、
第16の局面に記載のコンピュータにより実施されるシステム。
[第18の局面]
前記3Dジェスチャの前記3Dジェスチャモデルを少なくとも1つの事前設定された3Dジェスチャモデルと比較する動作と;
前記3Dジェスチャの前記3Dジェスチャモデルが前記少なくとも1つの事前設定された3Dジェスチャモデルとマッチすると特定する動作と;の1つ以上の動作を更に備える、
第17の局面に記載のコンピュータにより実施されるシステム。
[第19の局面]
前記3Dジェスチャの前記3Dジェスチャモデルが前記少なくとも1つの事前設定された3Dジェスチャモデルとマッチすると特定する前記動作は、前記生成された3Dジェスチャモデルと、前記少なくとも1つの事前設定された3Dジェスチャモデルとから選択したいくつかの対応する特徴点の比較に依存する、
第18の局面に記載のコンピュータにより実施されるシステム。
[第20の局面]
前記回転量は、前記ユーザの前記手が前記3Dジェスチャを実行するときに、前記ユーザの前記手における事前選択された特徴点を前記VRシナリオの前記X/Y/Z軸に対して回転させる偏差角を意味し;
前記オフセットは、前記ユーザの前記手が前記3Dジェスチャを実行するときに、前記ユーザの前記手における前記事前選択された特徴点から前記VRシナリオの前記X/Y/Z軸までの水平距離を意味する;
第17の局面に記載のコンピュータにより実施されるシステム。
【符号の説明】
【0137】
402a~402g 3Dジェスチャ
404 GUI要素
500 コンピューティングモジュール
501 認識モジュール
502 判定モジュール
503 計算モジュール
504 入力モジュール
505 出力モジュール
602 CPU
604 メモリ
606 不揮発性記憶デバイス
610 ネットワークインターフェース
612 内部バス
702 コンピュータ
703 システムバス
704 インターフェース
705 プロセッサ
706 データベース
707 メモリ
708 アプリケーション
713 サービスレイヤ
714 電源
730 ネットワーク
図1
図2
図3
図4
図5
図6
図7