(57)【要約】  ユーザーが、デプスカメラを介して連携するユーザーインターフェースの押すおよび／または引くユーザーインターフェース要素に関する実施形態が開示される。１つの実施形態は、１つまたは複数のインタラクティブユーザーインターフェース要素を含むユーザーインターフェースの画像を表示し、デプスカメラから人間ターゲットを含むシーンの１つまたは複数のデプス画像を受け取り、人間ターゲットの一部のレンダリングを、ユーザーインターフェース内に位置するカーソルとして表示し、インタラクティブユーザーインターフェース要素の１つまたは複数に投じたカーソルの影のレンダリングもディスプレイに与えるように構成されているコンピューティング装置を提供する。コンピューティング装置は、さらに、人間ターゲットの手が動くことにより、カーソルを介して、選択されたインタラクティブユーザーインターフェース要素の対応する作動が起こるように、人間ターゲットの手の動きをカーソルに変換するように構成されている。
2014509429.tif 000002
【特許請求の範囲】
【請求項１】
ロジックサブシステムと、
前記ロジックサブシステムによって、
１つまたは複数のインタラクティブユーザーインターフェース要素を含むユーザーインターフェースの画像をディスプレイに提供し、
デプスカメラから人間ターゲットを含むシーンの１つまたは複数のデプス画像を受け取り、
前記ユーザーインターフェース内に位置するカーソルとして前記人間ターゲットの一部分のレンダリングを前記ディスプレイに提供し、前記インタラクティブユーザーインターフェース要素の１つまたは複数に投じた前記カーソルの影のレンダリングも前記ディスプレイに提供し、
前記人間ターゲットの手が動くことにより、前記カーソルを介して、選択されたインタラクティブユーザーインターフェース要素の対応する作動が起こるように、前記人間ターゲットの前記手の動きを前記カーソルに伝える
ように実行可能な命令を記憶したデータ保持サブシステムとを備えた、コンピューティングシステム。
【請求項２】
前記命令がさらに、前記カーソルが前記選択されたインタラクティブユーザーインターフェース要素の方に動くにつれて、前記選択されたインタラクティブユーザーインターフェース要素上での前記カーソルおよび前記カーソルの前記影の接近を表示するように実行可能である、請求項１に記載のコンピューティング装置。
【請求項３】
前記命令がさらに、仮想点の光源および仮想方向の光源の１つまたは複数から生じる前記影をレンダリングするように実行可能である、請求項１に記載のコンピューティング装置。
【請求項４】
前記命令がさらに、前記人間ターゲットの前記手のデプス画像からレンダリングされた手の形で前記カーソルを示すように実行可能である、請求項１に記載のコンピューティング装置。
【請求項５】
前記命令がさらに、２次元ディスプレイおよび３次元ディスプレイの１つまたは複数に、前記ユーザーインターフェースの前記画像、カーソルの手、および影を与えるように実行可能である、請求項１に記載のコンピューティング装置。
【請求項６】
前記命令がさらに、前記人間ターゲットの前記手が動くことにより、前記カーソルの手が、前記選択されたインタラクティブユーザーインターフェース要素に接触するように、前記人間ターゲットの前記手の動きを前記カーソルに伝え、前記選択されたインタラクティブユーザーインターフェース要素の対応する押すおよび／または引く動きを表示するように実行可能である請求項１に記載のコンピューティング装置。
【請求項７】
コンピューティング装置、ディスプレイ、およびデプスカメラを含むコンピューティングシステムにおいてユーザーインターフェースを操作する方法であって、
１つまたは複数の押すおよび／または引くユーザーインターフェース要素を含むユーザーインターフェースの画像を前記ディスプレイに表示するステップと、
人間ターゲットを含むシーンの１つまたは複数のデプス画像を前記デプスカメラから受け取るステップと、
前記人間ターゲットの手のレンダリングを、前記ユーザーインターフェース内に位置するカーソルの手として表示し、前記押すおよび／または引くユーザーインターフェース要素の１つまたは複数に投じた前記カーソルの手の影のレンダリングも表示するステップと、
前記人間ターゲットの前記手の動きが、選択された押すおよび／または引くユーザーインターフェース要素へ向かう前記カーソルの手の動きおよび前記選択された押すおよび／または引くユーザーインターフェース要素上での前記カーソルの手および前記カーソルの手の前記影の接近として表示されるように、前記人間ターゲットの前記手の動きを前記カーソルの手に伝えるステップと、
前記カーソルの手が、前記選択された押すおよび／または引くユーザーインターフェース要素に接触したあと、前記選択された押すおよび／または引くユーザーインターフェース要素の押すおよび／または引く動きを表示するステップとを含む、方法。
【請求項８】
前記カーソルの手の複数の影のレンダリングを表示するステップをさらに含む、請求項７に記載の方法。
【請求項９】
複数の手のレンダリングを複数のカーソルの手として表示するステップをさらに含む、請求項８に記載の方法。
【請求項１０】
前記カーソルの手を、メッシュレンダリング、ストライプレンダリング、ボクセルレンダリング、前記人間ターゲットの前記手の点群のポイントスプライトレンダリングの１つまたは複数として表示するステップをさらに含む、請求項７に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]コンピューター技術は、人間がコンピューターと様々な方法で連携することを可能にする。そのような連携の１つは、人間がマウス、トラックパッド、およびゲームコントローラーなどの様々な入力装置を使用して、コンピューティング装置のユーザーインターフェース上のボタンを作動させるときに生じうる。
【発明の概要】
【課題を解決するための手段】
【０００２】
本明細書には、ユーザーがデプスカメラ（depth camera）を介して連携するユーザーインターフェースのユーザーインターフェース要素を押すおよび／または引くことに関する様々な実施形態が開示されている。たとえば、１つの開示された実施形態は、１つまたは複数のインタラクティブユーザーインターフェース要素を含むユーザーインターフェースの画像をディスプレイに提供し、デプスカメラから人間ターゲットを含むシーンの１つまたは複数のデプス画像を受け取り、ユーザーインターフェース内に位置するカーソルとして人間ターゲットの一部のレンダリングをディスプレイに提供し、インタラクティブユーザーインターフェース要素の１つまたは複数に投じたカーソルの影のレンダリングもディスプレイに提供するように構成されているコンピューティング装置を提供する。コンピューティング装置は、さらに、人間ターゲットの手が動くことにより、カーソルを介して、選択されたインタラクティブユーザーインターフェース要素の対応する作動が起こるように、人間ターゲットの手の動きをカーソルに変換するように構成されている。この「発明の概要」は、以下に「発明を実施するための形態」でさらに記述する概念の選択を簡略な形で導入するために提供している。この「発明の概要」は、特許請求される発明の主題の重要な特徴または本質的な特徴を特定することを意図するものではなく、特許請求される発明の主題の範囲を限定するのに用いられることを意図するものでもない。さらに、特許請求される発明の主題は、本開示のいずれかの部分に注記されたいずれかの欠点またはすべての欠点を解決する実施形態に限定されない。
【図面の簡単な説明】
【０００３】
【図１】[0002]本開示の実施形態によるユーザーインターフェースの使用環境を示す図である。
【図２】[0003]本開示の実施形態による骨格データでモデル化されている観測シーンの人間ターゲットの概略図である。
【図３】[0004]インタラクティブユーザーインターフェース要素の実施形態を示す図であり、インタラクティブユーザーインターフェース要素から離間したカーソルの手の実施形態も示す図である。
【図４】[0005]インタラクティブユーザーインターフェース要素と接する図３のカーソルの手を示す図である。
【図５】[0006]図３の実施形態のインタラクティブユーザーインターフェース要素と連携する図３のカーソルの手を示す図である。
【図６】[0007]ユーザーインターフェースにユーザーインターフェースカーソルを介して影を投じるためのユーザーインターフェース空間の仮想照明の配置の実施形態の概略図である。
【図７】[0008]ユーザーインターフェースにユーザーインターフェースカーソルを介して影を投じるためのユーザーインターフェース空間の仮想照明の配置の別の実施形態の概略図である。
【図８】[0009]ユーザーインターフェースを操作する方法の実施形態を表す流れ図である。
【図９】[0010]コンピューティングシステムの実施形態のブロック図である。
【発明を実施するための形態】
【０００４】
[0011]図１は、種々の様々なゲームを行い、様々な媒体の種類のうち１つまたは複数を再生し、かつ／またはゲームではないアプリケーションおよび／またはオペレーティングシステムを制御または操作するのに使用されうるコンピューティング装置１０２を示す。図１は、ゲームの映像および／またはその他の出力画像をユーザーに提示するのに使用されうるテレビまたはコンピューターモニターなどの表示装置１０４も示す。
【０００５】
[0012]コンピューティング装置１０２の１つの使用例として、表示装置１０４は、デプスカメラ１１２が取得した人間ターゲット１１０の手１０８の画像のレンダリングの形で、図１に示すユーザーインターフェースカーソル１０６を視覚的に提示するのに使用されうる。この場合、人間ターゲット１１０は、手１０８の動きによって、カーソルの手１０６を制御する。このようにして、人間ターゲット１１０は、たとえば、ボタン１１４として示されているようなボタンなどのインタラクティブ要素を押すおよび／または引くことによって、ユーザーインターフェース１１３と連携することができる。人間追跡システムが指の動きを追跡することができるいくつかの実施形態では、人間ターゲット１１０は、カーソルの手１０６の個々の指の動きを制御できうる。
【０００６】
[0013]人間ターゲット１１０が、より直感的に手１０８の動きをカーソルの手１０６に変換するのを助けるように、コンピューティング装置１０２は、カーソルの手１０６の１つまたは複数の影１１６をユーザーインターフェース１１３上にレンダリングして、ボタンに対するカーソルの手１０６の位置に関するデプスおよび位置情報を与えるように構成されうる。デプスカメラ１１２は、図９に関して、より詳細に説明する。ターゲットプレイヤーのデプス画像からレンダリングされた手の形状のカーソルという文脈で本明細書に開示されているが、カーソルは、その他の任意の適切な形状をとることができ、足（たとえば、体が傾いた位置で行うゲームの場合）または人間ターゲットの他の部分などのその他の任意の適切な体の部分を追跡またはモデル化することができることが理解されよう。
【０００７】
[0014]さらに、いくつかの実施形態では、人間ターゲットの体のより大きい部分のレンダリングおよび影は、本開示によるユーザーインターフェースに、カーソルおよびカーソルの影として示されうる。これにより、たとえば、人間ターゲットに、ユーザーインターフェース要素と連携するのに前方に進む必要があるというフィードバックを与える助けになりうる。手からの影が手を配置する助けになりうるのと同様に、体全体の影を投じると、ユーザーが体の位置を調整する助けになりうる。さらに、そのような影は、審美的な理由で投じられうる。さらに、人間ターゲットが保持している物体も、いくつかの実施形態では、カーソルの一部としてレンダリングされうる。さらに、いくつかの実施形態では、カーソルは、矢印またはその他の単純な形状などの、より概念的な形状を有しうる。
【０００８】
[0015]本明細書では、人間ターゲット１１０が、観測シーン内のゲームプレイヤーとして示されている。人間ターゲット１１０は、デプスカメラ１１２によって追跡され、その結果、人間ターゲット１１０の動きは、カーソルの手１０６を動かしてユーザーインターフェース要素を選択し作動させるだけでなく、コンピューティング装置１０２が実行しているゲームまたはその他のプログラムに影響を及ぼすのに使用することができる制御装置として、コンピューティング装置１０２によって解釈されうる。言い換えれば、人間ターゲット１１０は、ゲームを制御するのに自分の動きを使用することができる。
【０００９】
[0016]デプスカメラ１１２は、ターゲットの動きを、ゲームの範囲外にあるオペレーティングシステムおよび／またはアプリケーションの制御装置として解釈するのにも使用されうる。オペレーティングシステムおよび／またはアプリケーションの仮想的に制御できるいずれの側面も、人間ターゲット１１０の動きにより制御されうる。図１に示されたシナリオは、１つの例として提供したが、決して限定を意味しているわけではない。反対に、示されたシナリオは、本開示の範囲を逸脱することなく、種々の様々な用途に適用されうる一般概念を説明することを意図する。
【００１０】
[0017]本明細書に記載された方法およびプロセスは、種々の様々な種類のコンピューティングシステムに関係しうる。図１は、コンピューティング装置１０２、表示装置１０４、およびデプスカメラ１１２の形の非限定例を示す。これらのコンポーネントは、図９に関して、以下により詳細に記載する。
【００１１】
[0018]図２は簡易化した処理パイプラインを示し、この処理パイプラインでは、図１の人間ターゲット１１０が、カーソルの手１０６（または、アバターなどの人間ターゲット１１０のその他の表現）の画像を表示装置１０４に表示するためにレンダリングし、かつ／または、ゲーム、アプリケーションおよび／またはオペレーティングシステムの他の側面を制御する制御入力装置として機能するのに使用することができる仮想骨格としてモデル化される。処理パイプラインは、本開示の範囲を逸脱することなく、図２に示したステップ以外に追加のステップおよび／または代わりのステップを含みうることが理解されよう。いくつかの実施形態は、デプス画像から骨格の一部分だけをモデル化しうることにも留意されたい。さらに、いくつかの実施形態は、本明細書に記載したようなユーザーインターフェースインタラクションのための手の追跡または単なる動き追跡などの追跡システムを利用しうる。
【００１２】
[0019]図２に示すように、人間ターゲット１１０は、デプスカメラ１１２に撮像される。デプスカメラ１１２は、デプスカメラに対する観測シーンの表面のデプスを、ピクセルごとに決定しうる。仮想的に任意のデプス(depth)を発見する技術は、本開示の範囲から逸脱することなく使用されうる。デプスを発見する技術の例は、図９に関連して、より詳細に説明する。
【００１３】
[0020]ピクセルごとに決定されたデプス情報は、デプスマップ２０４を生成するのに使用されうる。そのようなデプスマップ２０４は、観測シーンのピクセルごとのデプス値を含むマトリックスを含むがこれに限定されない任意の適切なデータ構造の形をとりうる。図２で、デプスマップ２０４は、人間ターゲット１１０のシルエットのピクセル化されたグリッドとして、概略的に示される。この図示は、簡潔な理解のためであり、技術的に正確ではない。デプスマップは、一般に、人間ターゲット１１０を画像化するピクセルだけでなくすべてのピクセルのデプス情報を含むこと、デプスカメラ１１２の視点は、図２に表されたシルエットにならないことが理解されよう。
【００１４】
[0021]仮想骨格２０２は、人間ターゲット１１０の機械可読の表現を提供するようにデプスマップ２０４から導かれうる。言い換えれば、仮想骨格２０２は、人間ターゲット１１０をモデル化するようにデプスマップ２０４から導かれる。仮想骨格２０２は、デプスマップ２０４から、いずれかの適切なやり方で導かれうる。たとえば、いくつかの実施形態で、１つまたは複数の骨格適合アルゴリズムが、デプスマップ２０４に適用されうる。本開示は、任意の適切な骨格モデリング技術と互換性があることが理解されよう。
【００１５】
[0022]仮想骨格２０２は、複数の関節を含みうる。各関節は、人間ターゲット１１０の一部分に相当する。図２で、仮想骨格２０２は、複数の関節を有する棒線画として示される。この図示は、簡潔な理解のためであり、技術的に正確ではないことが理解されよう。本開示による仮想骨格は、仮想的にいくつもの関節を含みうる。各関節は、いくつものパラメーターと仮想的に関連することができる（たとえば、３次元の関節位置、関節回転、相当する体の部分の体勢（たとえば、手が開いている、手が閉じているなど）など）。仮想骨格は、複数の骨格関節ごとの１つまたは複数のパラメーター（たとえば、位置ｘ、位置ｙ、位置ｚを含む関節マトリックス、および関節ごとの回転）を含むデータ構造の形をとりうることが理解されよう。いくつかの実施形態で、他の種類の仮想骨格が使用されうる（たとえば、ワイヤーフレーム、形状プリミティブのセットなど）。
【００１６】
[0023]仮想骨格２０２は、カーソルの手１０６の画像を、表示装置１０４に、人間ターゲット１１０の手１０８の視覚的な表現としてレンダリングするのに使用されうる。仮想骨格２０２が、人間ターゲット１１０をモデル化し、カーソルの手１０６のレンダリングは、仮想骨格２０２に基づいているので、カーソルの手１０６は、人間ターゲット１１０の実際の手の視認可能なデジタル表現として機能する。そのように、表示装置１０４上のカーソルの手１０６の動きは、人間ターゲット１１０の動きを反映する。さらに、カーソルの手１０６は、一人称視点または一人称に近い視点（たとえば、実際の一人称視点のいくぶん後ろの視点から）で表示することができ、その結果、カーソルの手１０６は、人間ターゲット１１０の手と同様または同一の向きを有する。これにより、人間ターゲット１１０が、カーソルの手１０６を、より直感的かつ容易に操作する助けになりうる。骨格のマッピングという文脈で本明細書に開示されているが、その他の任意の適切な人間ターゲットの動きおよびデプスの追跡方法が使用されうることが理解されよう。さらに、本明細書に用いられるような「一人称視点」「一人称の視点」などの用語は、カーソルとしてレンダリングされた体の部分の向きが、ユーザーの視点で、ユーザーの体の部分の向きに近いまたは一致する任意の視点を示すことが理解されよう。
【００１７】
[0024]図１に関して上記したように、ボタン１１４またはその他のインタラクティブユーザーインターフェース要素に対するカーソルの手１０６の位置に関するデプスおよび位置情報を与えるように、カーソルの手１０６の影は、ユーザーインターフェース１１３上にレンダリングされうる。人間ターゲット１１０の実際の手１０８の画像のレンダリングと影を併用することにより、その他の追跡系３Ｄユーザーインターフェースに比べて、人間ターゲットのユーザーインターフェースとの連携が容易になりうる。たとえば、デプスカメラまたは他のそのような人間追跡系３Ｄユーザーインターフェースを介してユーザーインターフェースと連携することの問題の１つに、ユーザーに、入力装置と仮想インターフェースの間のマッピングについて十分な空間的フィードバックを提供することがある。そのような連携を直感的に行うには、ユーザーが、現実の世界マップでの動きがどのように画面上のインタラクション装置の動きになるか正確なメンタルモデルを有するのが有用である。加えて、カーソルの手がインタラクティブ要素との関連でどこに存在するかに関してユーザーにフィードバックを表示するのが有用であるが、これは２Ｄ画面上に描くのが難しい情報でありうる。最後に、ユーザーインターフェースが、画面上の対象に関与するのに用いたユーザーの動作の性質に関する視覚的合図を与えるのが有用である。
【００１８】
[0025]骨格データまたは人間ターゲットのその他の表現からレンダリングされたカーソルと、カーソルによってユーザーインターフェース制御装置に投じた影のレンダリングを併用することにより、これらの問題に対処する助けになりうる。たとえば、人間ターゲット自身の手の動き、形状、ポーズなどにならってカーソルの手の動き、形状、ポーズ、および／またはその他の側面をモデル化することによって、ユーザーは、カーソルの手を直感的に制御しうる。同様に、カーソルの手の１つまたは複数の影をユーザーインターフェース制御装置に投じることによって、ユーザーに、ユーザーインターフェース制御装置に対するカーソルの手の位置に関するフィードバックを提供する。たとえば、ユーザーが、カーソルの手をユーザーインターフェースのインタラクティブ要素に近づけたり遠ざけたりすると、１つまたは複数の影は、それぞれ互いに接近したり手から離れたりし、それによって、位置およびデプスに関するフィードバックを提供し、たとえば制御装置を押す、引くまたは作動させるように制御装置とカーソルの手が接触することにより、ユーザーが制御装置と連携しうることを示唆することもできる。
【００１９】
[0026]反対に、ユーザーインターフェースを操作するのにデプスカメラの入力を使用するその他の方法は、そのような懸念に対処できない。たとえば、ユーザーインターフェースを提示する潜在的な方法の１つは、人間ターゲットの３次元の動きを２次元の画面空間にマッピングすることでありうる。しかしながら、第３の入力次元を犠牲にすると、ユーザーインターフェースとの潜在的なインタラクティブ性の範囲および効率が減少する可能性があり、さらにはユーザーに、３次元の動きを期待された２次元の応答に変換するという重大なメンタル的負荷をかけることがある。これによって、ユーザーインターフェース制御装置をターゲットにすることが潜在的にますます難しくなる。そのように、ユーザーは、カーソルの手と影のレンダリングの併用によってもたらされるフィードバックなしに、ユーザーインターフェース要素との関与を維持するのに困難を感じる。たとえば、ユーザーインターフェースボタンを押そうとするユーザーは、手の動きがどのようにユーザーインターフェースの動作にマッピングされるかに関して曖昧なので、ユーザーインターフェース要素からカーソルが外れることに気が付きうる。
【００２０】
[0027]同様に、３次元の入力を３次元のユーザーインターフェースにマッピングする場合、ユーザーは、手がボタンを覆い隠すとき、目からボタンへの線に沿った手の位置に関して曖昧さがあるというデプスの認知的な問題を感じうる。これにより、ユーザーは、ユーザーインターフェース要素をターゲットするのに失敗しうる。
【００２１】
[0028]体の動きを２次元または３次元のユーザーインターフェースの応答に変換するときに適用されうる１つより多いメンタルモデルが存在することにより、３次元の動きでユーザーの入力を行うことが難しくなる部分がある。たとえば、１つのモデルでは、ユーザーインターフェースカーソルの位置は、デプスカメラから画面平面上に光線を発射し、互いに合致するように座標平面をスケーリングすることによって決定されうる。このモデルで、ユーザーは、手またはその他のマニピュレーターを画面平面に対して垂直に動かすことにより、３次元のユーザー入力（たとえば、押すおよび／または引くコンポーネントのユーザー入力）を行う。別のモデルでは、肩に対する手の回転ピッチおよびヨーが、画面平面にマッピングされる。そのような放射状モデルでは、ユーザーは、画面に対して垂直ではなく、肩からユーザーインターフェース要素に向かって直接押しやることによって、３次元のユーザー入力を行う。これらのモデルのどちらかで、ユーザーが、カーソルの動き以外のフィードバックなしで３次元のユーザー入力を行うことは難しいときがある。したがって、カーソルの手に影を投じることと組み合わされたカーソルとしてのユーザーの手の画像のレンダリングは、ユーザーが、これらのモデルのうち正しい方を暗にほのめかすことを可能にし、それによってそのような入力を容易にすることを可能にする価値のあるフィードバックを提供しうる。
【００２２】
[0029]図３〜５は、カーソルの手１０６がボタン１１４の方に動いて接触したときのユーザーインターフェース１１３の外観を示す。単一のカーソルの手がボタン１１４と連携しているところを示したが、いくつかの実施形態では、存在するユーザーの数および提示されたユーザーインターフェースの性質によって、２つ以上の手が同時にボタン１１４と連携しうることが理解されよう。まず、図３は、ボタンから離間したカーソルの手１０６を示す。この構成で、影１１６は、ボタン１１４の表面上でカーソルの手１０６から横方向にずれており、それによって、どのボタン１１４をカーソルの手１０６が覆っているかだけでなく、カーソルの手１０６とボタン１１４の間の空間に関しても視覚的なフィードバックを与える。これにより、ユーザーが望まないボタンを作動させることを回避させる助けになりうる。
【００２３】
[0030]次に、図４は、ボタンに接触しているカーソルの手１０６を示すが、ボタン１１４はまだ押されていない。見ると分かるように、影１１６およびカーソルの手１０６は、ボタン１１４の表面上で接近しており、それによって、これらの要素間の空間の変化に関するフィードバックを与える。示された実施形態で、１つの影が示されているが、以下により詳細に記載するように、２つ以上の影が、カーソルの手１０６によって投じられうることが理解されよう。
【００２４】
[0031]次に、図５は、ボタン１１４を押すカーソルの手１０６を示す。カーソルの手１０６がボタン１１４に関与するにつれて、ボタン１１４は、画面内に徐々に押されるものとして示すことができ、それによって、ボタンが関与されているという連続する視覚的なフィードバックを提供する。さらに、一部が押し込まれたボタンは、作動を継続／完了するために対象が押される方向について、ユーザーに視覚的なフィードバックも与える。これにより、関与の際にボタン１１４からユーザーが「外れて」しまう機会を減らす助けになりうる。さらに、ユーザーは、そのような入力を成功させることにより、自信が得られ、これにより、ユーザーは、入力を完了し、さらなる入力をより速く行う助けになりうる。
【００２５】
[0032]カーソルの手１０６がボタン１１４に突き当たったことの検知は、骨格追跡データから決定された手のモデルの点群（たとえば、ユーザーの手の形状を画定するｘ、ｙ、ｚのピクセルの点の位置）によって、またはその他の任意の適切なやり方で行われうる。図３〜５は、押すことができるユーザーインターフェースボタンを表すが、押すことが可能なおよび／または引くことが可能な要素を含むがこれらに限定されない表示装置１０４の画面の平面に対して垂直な任意の適切な動きのコンポーネントを有する任意の適切なインタラクティブユーザーインターフェース要素が使用されうることを理解されよう。さらに、カーソルの手は、図３〜５に、ユーザーの手のソリッドレンダリング(solid rendering)として表されているが、その他の任意の適切なレンダリングが使用されうることが理解されよう。たとえば、カーソルの手は、ユーザーの手の点群における点の水平行または垂直列を結合することにより、グリッドレンダリング(grid rendering)を形成する点群の行および列を結合することにより、点群の各点に示されるポイントスプライトにより、ボクセルレンダリング(voxel rendering)により、またはその他の任意の適切なやり方により、ストライプレンダリング(stripe rendering)として表されうる。
【００２６】
[0033]上記のように、任意の適切な数のカーソルの手の影は、位置およびデプスデータを示すのに使用されうる。たとえば、いくつかの実施形態では、単一の影が使用され、他の実施形態では、２つ以上の影が使用されうる。さらに、影は、カーソルの手および／またはインタラクティブユーザーインターフェース要素に対して、任意の適切な角度および／または距離に位置する任意の適切な１つまたは複数の種類の仮想光源によって生成されうる。たとえば、図６は、仮想点の光源６００および６０２から生じる２つの影の生成の概略図を示す。そのような光源は、屋内照明をシミュレーションするように構成されうる。カーソルの手１０６は、たとえば、人間ターゲットの手を表す点群を表す「手」というラベルのボックスで、概略的に示される。図示されるように、仮想点の光源６００および６０２は、カーソルの手１０６の位置により、カーソルの手１０６との距離および／または角度が異なりうる。これにより、カーソルの手１０６がユーザーインターフェース内を動くにつれて、さらなる位置情報を提供する助けになりうる。
【００２７】
[0034]カーソルの手１０６からの１つまたは複数の影を生成するのに使用される仮想光源は、なじみのある照明条件をシミュレーションして、ユーザーによる直感的な影の理解を容易にするように構成されうる。たとえば、図６の実施形態は、居間の照明などの室内の天井の照明をシミュレーションしうる。図７は、１つの仮想点の光源７００および１つの仮想方向光源７０２が、天井の光および窓からの太陽光をシミュレーションする別の仮想照明配置を示す。図６および７の実施形態は、例をあげるために提示したが、いかなる形でも、限定することを意図しないことを理解されよう。
【００２８】
[0035]図８は、ユーザーインターフェースを操作する方法８００の実施形態を表す流れ図を示す。方法８００は、取外し可能なまたは取外し不可能なコンピューター可読の記憶媒体に記憶されたコンピューター可読の実行可能な命令として実行されうることが理解されよう。方法８００は、８０２で、表示装置に、１つまたは複数のインタラクティブ要素を含むユーザーインターフェースの画像を与え表示するステップを含む。８０４に示されるように、インタラクティブユーザーインターフェース要素は、表示画面の平面に垂直な動きのコンポーネントを有する、押すおよび／または引く要素を含むことができ、またはその他の任意の適切なフィードバックを与えることができる。次に、８０６で、方法８００は、人間ターゲットを含むシーンのデプス画像などの３次元の入力を受け取るステップを含む。次いで、方法８００は、８０８で、人間ターゲットの手のレンダリングを、ユーザーインターフェース内に位置したカーソルの手として、表示装置に与え表示するステップを含む。メッシュレンダリング８１０、ストライプレンダリング８１２、ボクセルレンダリング８１３、ポイントスプライトレンダリング８１４、ソリッドレンダリング８１５などが含まれるがこれらに限定されない任意の適切なレンダリングが使用されうる。
【００２９】
[0036]方法８００は、次に、８１６で、ユーザーインターフェース要素に投じたカーソルの手の影のレンダリングを表示装置に与え表示するステップを含む。８１８で示すように、いくつかの実施形態では、複数の影を表示することができ、他の実施形態では、単一の影を表示することができる。影は、８２０で示されるように仮想方向の光により、８２２で示されるように仮想点の光源により、またはその他の任意の適切なやり方で生成されうる。
【００３０】
[0037]次に、方法８００は、８２４で、人間ターゲットの手の動きを、選択されたユーザーインターフェース要素に向かうカーソルの手の動きに変換するステップを含む。人間ターゲットの手の動きが継続すると、方法８００は、８２６で、カーソルの手が、手のカーソル、影およびユーザーインターフェース要素の幾何学的関係により、選択されたユーザーインターフェース要素に近付くにつれて、カーソルの手およびカーソルの手の１つまたは複数の影の接近を表示し、８２８で、ユーザーインターフェース要素をカーソルの手を介して動かしまたはユーザーインターフェース要素の他の適切な対応する作動をもたらすステップを含む。
【００３１】
[0038]いくつかの実施形態では、上記の方法およびプロセスは、１つまたは複数のコンピューターを含むコンピューティングシステムにつながりうる。特に、本明細書に記載された方法およびプロセスは、コンピューターアプリケーション、コンピューターサービス、コンピューターＡＰＩ、コンピューターライブラリー、および／またはその他のコンピュータープログラム製品として実行されうる。
【００３２】
[0039]図９は、上記の方法およびプロセスの１つまたは複数を行いうる非限定のコンピューティングシステム９００を概略的に示す。コンピューティングシステム９００は、簡易形状で示される。本開示の範囲を逸脱することなく、仮想的にあらゆるコンピューターアーキテクチャが使用されうることが理解されよう。様々な実施形態で、コンピューティングシステム９００は、メインフレームコンピューター、サーバーコンピューター、デスクトップコンピューター、ラップトップコンピューター、タブレットコンピューター、ホームエンターテイメントコンピューター、ネットワークコンピューティング装置、モバイルコンピューティング装置、モバイル通信装置、ゲーミング装置などの形をとりうる。
【００３３】
[0040]コンピューティングシステム９００は、ロジックサブシステム９０２、データ保持サブシステム９０４、表示サブシステム９０６、および／またはキャプチャー装置９０８を含みうる。コンピューティングシステムは、図９に示さないコンポーネントを任意で含むことができ、かつ／または、図９で示すいくつかのコンポーネントは、コンピューティングシステムに組み込まれていない周辺コンポーネントでありうる。
【００３４】
[0041]ロジックサブシステム９０２は、１つまたは複数の命令を実行するように構成されている１つまたは複数の物理装置を含みうる。たとえば、ロジックサブシステムは、１つまたは複数のアプリケーション、サービス、プログラム、ルーティン、ライブラリー、オブジェクト、コンポーネント、データ構造、またはその他の論理的構成の一部である１つまたは複数の命令を実行するように構成されうる。そのような命令は、タスクを行い、データタイプを実装し、１つまたは複数の装置の状態を変え、または他の方法で所望の結果に到達するように実行されうる。
【００３５】
[0042]ロジックサブシステムは、ソフトウェアの命令を実行するように構成されている１つまたは複数のプロセッサを含みうる。それに加えてまたはその代わりに、ロジックサブシステムは、ハードウェアまたはファームウェアの命令を実行するように構成されている１つまたは複数のハードウェアまたはファームウェアロジックマシーンを含みうる。ロジックサブシステムのプロセッサは、シングルコアでもマルチコアでもよく、そこで実行されたプログラムは、並列または分散処理するために構成されうる。ロジックサブシステムは、遠隔に位置しかつ／または協調処理するように構成されうる２つ以上の装置全体に分散された個々のコンポーネントを任意で含みうる。ロジックサブシステムの１つまたは複数の側面は、クラウドコンピューティング構成に構成されている遠隔からアクセスできるネットワークコンピューティング装置によって仮想化され実行されうる。
【００３６】
[0043]データ保持サブシステム９０４は、ロジックサブシステムが実行可能なデータおよび／または命令を保持して、本明細書に記載された方法およびプロセスを実行するように構成されている１つまたは複数の物理的、非一時的装置を含みうる。そのような方法およびプロセスが実行されると、データ保持サブシステム９０４の状態は変わりうる（たとえば、違うデータを保持する）。
【００３７】
[0044]データ保持サブシステム９０４は、取外し可能な媒体および／または内蔵装置を含みうる。データ保持サブシステム９０４は、中でも、光学メモリ装置（たとえば、ＣＤ、ＤＶＤ、ＨＤ−ＤＶＤ、Ｂｌｕ−Ｒａｙディスクなど）、半導体メモリ装置（たとえば、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭなど）、および／または磁気メモリ装置（たとえば、ハードディスクドライブ、フロッピー（登録商標）ディスクドライブ、テープドライブ、ＭＲＡＭなど）を含みうる。データ保持サブシステム９０４は、揮発性、不揮発性、動的、静的、リード／ライト、リードオンリー、ランダムアクセス、シーケンシャルアクセス、ロケーションアドレッサブル、ファイルアドレッサブル、およびコンテンツアドレッサブルの性質のうち１つまたは複数を有する装置を含みうる。いくつかの実施形態で、ロジックサブシステム９０２およびデータ保持サブシステム９０４は、特定用途向け集積回路またはシステムオンチップなどの１つまたは複数の共通装置に組み込まれうる。
【００３８】
[0045]図９は、本明細書に記載された方法およびプロセスを実行するような、実行可能なデータおよび／または命令を記憶かつ／または移行するのに使用されうる取外し可能なコンピューター可読の記憶媒体９１０の形のデータ保持サブシステムの一面も示す。取外し可能なコンピューター可読の記憶媒体９１０は、中でも、ＣＤ、ＤＶＤ、ＨＤ−ＤＶＤ、Ｂｌｕ−Ｒａｙディスク、ＥＥＰＲＯＭ、および／またはフロッピー（登録商標）ディスクの形をとりうる。
【００３９】
[0046]データ保持サブシステム９０４が、１つまたは複数の物理的、非一時的装置を含むことが理解されよう。反対に、いくつかの実施形態では、本明細書に記載された命令の側面は、物理装置によって、少なくとも有限継続の間、保持されないきれいな信号（たとえば、電磁信号、光学信号など）によって、一時的に伝えられうる。さらに、本開示に関するデータおよび／またはその他の形の情報は、きれいな信号で伝えられうる。
【００４０】
[0047]「モジュール」という用語は、１つまたは複数の特定の機能を行うように実行されるコンピューティングシステム９００の一面を記載するのに使用されうる。ある場合には、そのようなモジュールは、データ保持サブシステム９０４が保持する命令を実行しているロジックサブシステム９０２によってインスタンス生成されうる。様々なモジュールおよび／またはエンジンが、同一のアプリケーション、コードブロック、オブジェクト、ルーティンおよび／または機能からインスタンス生成されうることが理解されよう。同様に、同一のモジュールおよび／またはエンジンは、場合によっては様々なアプリケーション、コードブロック、オブジェクト、ルーティンおよび／または機能によりインスタンス生成されうる。
【００４１】
[0048]コンピューティングシステム９００は、本明細書に記載されるように、一定のワールド空間座標系の人間のワールド空間のポーズを追跡するように構成されているデプス画像解析モジュール９１２を含む。「ポーズ」という用語は、人間の位置、向き、体の配置などを表す。コンピューティングシステム９００は、本明細書に記載されるように、人間を追跡し、一定のワールド空間座標系に対して動く可動のインターフェース空間座標系を有する仮想インタラクションゾーンを確立するように構成されているインタラクションモジュール９１４を含む。コンピューティングシステム９００は、本明細書に記載されるように、一定のワールド空間座標系で決められた位置を可動のインターフェース空間座標系で決められた位置に変えるように構成されている変換モジュール９１６を含む。コンピューティングシステム９００は、可動のインターフェース空間座標系で決められた位置に相当するデスクトップ空間座標にインターフェース要素を表示する表示信号を出力するように構成されている表示モジュール９１８も含む。
【００４２】
[0049]コンピューティングシステム９００は、ユーザーインターフェースのカーソルの動きをインターフェース要素を含む動作に変換するように構成されているユーザーインターフェースモジュール９１７を含む。非限定例として、ユーザーインターフェースモジュール９１７は、ユーザーインターフェースの押すおよび／または引く要素に対するカーソルの動きを解析して、いつそれらのボタンが動かされるかを決定しうる。
【００４３】
[0050]表示サブシステム９０６は、データ保持サブシステム９０４が保持するデータの視覚的な表現を提示するのに使用されうる。本明細書に記載された方法およびプロセスは、データ保持サブシステムが保持するデータを変更し、データ保持サブシステムの状態を変えるので、表示サブシステム９０６の状態は、同様に、基礎をなすデータの変化を視覚的に表現するように変えられうる。非限定例として、本明細書に記載されたターゲットの認識、追跡、および解析は、物理的な空間のユーザーの動きに反応して、仮想デスクトップの位置を変化させるインターフェース要素（たとえばカーソル）の形で、表示サブシステム９０６を介して、反映されうる。表示サブシステム９０６は、テレビ、モニター、モバイル装置、ヘッドアップディスプレイなど２次元のディスプレイだけでなく、３次元テレビ（たとえば眼鏡アクセサリーで見る）、仮想現実用眼鏡、またはその他の頭部装着ディスプレイなどの３次元のディスプレイを含むがこれらに限定されないいずれかの種類の技術を仮想的に利用する１つまたは複数の表示装置を含みうる。そのような表示装置は、共通の筐体で、ロジックサブシステム９０２および／またはデータ保持サブシステム９０４と組み合わせることができ、または、そのような表示装置は、図１に示すように、周辺表示装置でありうる。
【００４４】
[0051]コンピューティングシステム９００は、１つまたは複数のターゲットのデプス画像を得るように構成されているキャプチャー装置９０８をさらに含む。キャプチャー装置９０８は、いずれかの適切な技術によって（たとえば、飛行時間、構造化された光、ステレオイメージなど）、デプス情報を有する映像をキャプチャーするように構成されうる。そのように、キャプチャー装置９０８は、デプスカメラ（図１のデプスカメラ１１２など）、映像カメラ、ステレオカメラ、および／またはその他の適切なキャプチャー装置を含みうる。
【００４５】
[0052]たとえば、飛行時間解析で、キャプチャー装置９０８は、ターゲットへ、赤外光を放出することができ、そして、センサーを使用して、ターゲットの表面からの後方散乱光を検知することができる。ある場合には、パルス状の赤外光を用いることができ、出射光パルスと対応する入射光パルスの間の時間が計測され、キャプチャー装置からターゲット上の特定の位置への物理的な距離を決定するのに使用されうる。ある場合には、出射光波の位相を、入射光波の位相と比較して、位相シフトを決定することができ、位相シフトは、キャプチャー装置からターゲット上の特定の位置への物理的な距離を決定するのに使用されうる。
【００４６】
[0053]別の例では、飛行時間解析は、シャッターされた光パルスイメージングなどの技術によって経時的に反射した光線の強度を解析することにより、キャプチャー装置からターゲット上の特定の位置への物理的な距離を間接的に決定するのに使用されうる。
【００４７】
[0054]別の例では、構造化された光の解析は、デプス情報をキャプチャーするようにキャプチャー装置９０８によって利用されうる。そのような解析では、パターン化された光（すなわち、グリッドパターンまたはストライプパターンなどの既知のパターンとして表示された光）は、ターゲット上に発射されうる。ターゲットの表面上で、パターンは、変形することができ、このパターンの変形は解析されて、キャプチャー装置からターゲット上の特定の位置への物理的な距離を決定しうる。
【００４８】
[0055]別の例では、キャプチャー装置は、ターゲットを異なる角度で見る２つ以上の物理的に分離されたカメラを含み、視覚的ステレオデータを得ることができる。そのような場合、視覚的ステレオデータは、デプス画像を生成するように分解されうる。
【００４９】
[0056]他の実施形態では、キャプチャー装置９０８は、デプス値を測定かつ／または計算するのに他の技術を用いうる。加えて、キャプチャー装置９０８は、計算されたデプス情報を、「Ｚ層」、すなわちデプスカメラから視線に沿って観察者まで延びるＺ軸に垂直な層にまとめうる。
【００５０】
[0057]いくつかの実施形態では、２つ以上の様々なカメラが、統合キャプチャー装置に組み込まれうる。たとえば、デプスカメラおよび映像カメラ（たとえば、ＲＧＢ映像カメラ）は、共通のキャプチャー装置に組み込まれうる。いくつかの実施形態で、２つ以上の分離したキャプチャー装置が、協力して使用されうる。たとえば、デプスカメラおよび分離した映像カメラが使用されうる。映像カメラが使用される場合、映像カメラは、ターゲット追跡データ、ターゲット追跡のエラー補正の確認データ、画像キャプチャー、顔認識、高精度の指追跡（またはその他の小さな特徴）、光検知、および／またはその他の機能を提供するのに使用されうる。他の実施形態で、２つの分離したデプスセンサが使用されうる。
【００５１】
[0058]少なくともいくつかのターゲット解析および追跡操作は、１つまたは複数のキャプチャー装置のロジックマシーンが実行しうることが理解されよう。キャプチャー装置は、１つまたは複数のターゲット解析および／または追跡機能を行うように構成されている１つまたは複数のオンボード処理ユニットを含みうる。キャプチャー装置は、そのようなオンボード処理ロジックを容易に更新させるファームウェアを含みうる。
【００５２】
[0059]コンピューティングシステム９００は、コントローラー９２０およびコントローラー９２２などの１つまたは複数の入力装置を任意に含みうる。入力装置は、コンピューティングシステムの操作を制御するのに使用されうる。ゲームという文脈で、コントローラー９２０および／またはコントローラー９２２などの入力装置は、本明細書に記載されたターゲットの認識、追跡、および解析方法および手順を介して制御されないゲームの側面を制御するのに使用することができる。いくつかの実施形態では、コントローラー９２０および／またはコントローラー９２２などの入力装置は、物理的な空間のコントローラーの動きを測定するのに使用されうる加速度計、ジャイロスコープ、赤外線ターゲット／センサーシステムなどのうちの１つまたは複数を含みうる。いくつかの実施形態では、コンピューティングシステムは、入力グローブ、キーボード、マウス、トラックパッド、トラックボール、タッチスクリーン、ボタン、スイッチ、ダイアル、および／またはその他の入力装置を任意に含みかつ／または利用しうる。理解されるように、ターゲットの認識、追跡、および解析は、ゲームコントローラーなどの入力装置によって従来制御されていたゲームまたはその他のアプリケーションの側面を制御または向上させるのに使用されうる。いくつかの実施形態では、本明細書に記載されたターゲットの追跡は、ユーザー入力の他の形に完全に置き換わるものとして用いることができる一方、他の実施形態では、そのようなターゲットの追跡は、１つまたは複数のその他のユーザー入力の形を補完するのに用いることができる。
【００５３】
[0060]本明細書に記載された構成および／またはアプローチは、本来例示であること、多数の変形が可能であるので、これらの特定の実施形態または例は、限定的な意味でとらえられるべきでないことが理解されよう。本明細書に記載された特定のルーティンまたは方法は、いくつもの処理戦略のうち１つまたは複数を表現しうる。そのように、示された種々の動作は、示された順序で、その他の順序で、並行に、または省略したいくつかのケースで行われうる。同様に、上記の処理の順序は変更されうる。
【００５４】
[0061]本開示の主題は、種々のプロセス、システムおよび構成、ならびにその他の特徴、機能、動作の全ての新規かつ非自明なコンビネーションおよびサブコンビネーション、および／または本明細書に開示された特性、さらにはそれらのあらゆるそして全ての均等物を含む。
【図３】
2014509429.tif 000003
【図４】
2014509429.tif 000004
【図５】
2014509429.tif 000005
【図６】
2014509429.tif 000006
【図７】
2014509429.tif 000007
【図８】
2014509429.tif 000008
【図９】
2014509429.tif 000009
【図１】
2014509429.tif 000010
【図２】
2014509429.tif 000011
【国際調査報告】
2014509429.tif 000012
2014509429.tif 000013
2014509429.tif 000014
2014509429.tif 000015
2014509429.tif 000016
2014509429.tif 000017
2014509429.tif 000018
2014509429.tif 000019
2014509429.tif 000020
2014509429.tif 000021
2014509429.tif 000022