(57)【要約】  カーソルが、人間の対象をモデリングする仮想骨格の関節の位置に基づいてユーザインターフェースにおいて動かされる。カーソル位置がユーザインターフェースにおいてオブジェクトに合わさり、モードテスト期間内のすべての直前のカーソル位置がカーソル位置を中心とするタイミング境界内にある場合、押下モードでの動作が始まる。押下モードである間に、カーソル位置が制約形状内に残っており、閾値のｚ距離を超える場合は、オブジェクトがアクティブ化される。
2016503915.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ入力を受け取る方法であって、
仮想的な骨格の関節の位置に基づいてユーザインターフェースにおいてカーソルを動かすステップであって、前記仮想的な骨格は、深度カメラによって撮像される人間の対象をモデリングし、前記ユーザインターフェースは、押下モードで押下可能であるが、照準合わせモードでは押下可能でないオブジェクトを含む、ステップと、
カーソル位置が前記オブジェクトに合わさり、モードテスト期間内のすべての直前のカーソル位置が前記カーソル位置を中心とするタイミング境界内にある場合に、前記押下モードで動作するステップと、
前記押下モードである間に、カーソル位置が制約形状内に残っており、閾値のｚ距離を超える場合に、前記オブジェクトをアクティブ化するステップと、
前記押下モードである間に、前記カーソル位置が前記閾値のｚ距離を超える前に前記制約形状を離れる場合に、前記照準合わせモードで動作するステップとを含む、方法。
【請求項２】
前記カーソルを動かすステップが、
前記照準合わせモードである間、第１の関数に基づいて前記カーソルを動かすステップと、
前記押下モードである間、第２の関数に基づいて前記カーソルを動かすステップとをさらに含む請求項１に記載の方法。
【請求項３】
前記第２の関数に基づいて前記カーソルを動かすステップが、前記カーソル位置のｚ距離が閾値のバイアス距離を過ぎて増加するときに前記オブジェクトの中心に向かって前記カーソルをずらすステップを含む請求項２に記載の方法。
【請求項４】
前記制約形状が、ｚ距離に応じて増加する半径を有する先端を切られた円錐を含む請求項１に記載の方法。
【請求項５】
前記先端を切られた円錐が、前記タイミング境界から延びる請求項４に記載の方法。
【請求項６】
前記関節が、手の関節であり、前記閾値のｚ距離が、前記照準合わせモードから前記押下モードに移るときに、前記手の関節の位置に基づいて動的に設定される請求項１に記載の方法。
【請求項７】
前記閾値のｚ距離が、肩の関節に対して相対的な手の関節の位置に基づいて動的に設定される請求項１に記載の方法。
【請求項８】
前記閾値のｚ距離が、固定された値である請求項１に記載の方法。
【請求項９】
前記カーソル位置のｚ距離が押下テスト期間内に増加しない場合に、前記押下モードから前記照準合わせモードに移るステップをさらに含む請求項１に記載の方法。
【請求項１０】
前記押下モードである間に、前記カーソル位置のｚ距離が減少する場合に、前記閾値のｚ距離をリセットするステップをさらに含む請求項１に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  自然なユーザ入力によるグラフィカルユーザインターフェースにおけるオブジェクトの選択およびアクティブ化は、困難である。ユーザは、自然に、押下するジェスチャを行うことによってオブジェクトを選択する傾向があるが、思いがけず、意図しない方向に押下することがしばしばある。これは、意図しない離脱（disengagement）および／または誤った選択をもたらす可能性がある。
【発明の概要】
【０００２】
[0002]  この「発明の概要」は、「発明を実施するための形態」において以下でさらに説明される概念の選択を簡潔な形態で導入するために提供される。この「発明の概要」は、特許請求される主題の重要な特徴または必須の特徴を特定するように意図されておらず、特許請求される主題の範囲を限定するために使用されるように意図されてもいない。さらに、特許請求される主題は、本開示のいずれかの部分で述べられるいずれかのまたはすべての欠点を解決する実装に限定されない。
自然なユーザ入力（ナチュラルユーザーインプット）によってグラフィカルユーザインターフェースにおいてオブジェクトを照準合わせおよび選択するための実施形態が、提示される。一実施形態においては、仮想的な骨格（仮想骨格；バーチャルスケルトン）が、深度カメラによって撮像される人間の対象をモデリングする。ユーザインターフェースのカーソルが、仮想骨格の関節の位置に基づいて動かされる。ユーザインターフェースは、押下モードで押下可能であるが、照準合わせモードでは押下できないオブジェクトを含む。カーソル位置がオブジェクトに合わさり（engage）、モードテスト期間（mode-testing period）内のすべての直前のカーソル位置がカーソル位置を中心とするタイミング境界（timing boundary）内にある場合に、動作が、押下モードに遷移する。カーソル位置がオブジェクトに合わさるが、モードテスト期間内の１つまたは複数の直前のカーソル位置がタイミング境界の外にある場合、動作が、照準合わせモードで継続する。
【図面の簡単な説明】
【０００３】
【図１】[0003]制御環境の非限定的な例を概略的に示す図である。
【図２】[0004]深度分析システムの単純化された骨格追跡パイプラインの例を概略的に示す図である。
【図３】[0005]押下ジェスチャを受け取り、自然なユーザ入力として解釈するための方法を示す図である。
【図４】[0006]動作モードが決定されるシナリオの例を概略的に示す図である。
【図５】[0007]本開示の一実施形態による制約形状（constraining shape）の例を概略的に示す図である。
【図６】[0008]本開示の一実施形態による図５の制約形状の修正された例を概略的に示す図である。
【図７】[0009]本開示の一実施形態によるグラフィカルユーザインターフェースの例を概略的に示す図である。
【図８】[0010]本開示による、押下入力を受け取り、解釈するためのコンピューティングシステムの非限定的な例を概略的に示す図である。
【発明を実施するための形態】
【０００４】
[0011]  本開示は、ナチュラルユーザインターフェースにおいてオブジェクトに照準を合わせることおよびオブジェクトを押下することに関する。以下でより詳細に説明されるように、自然なユーザ入力（ナチュラルユーザーインプット）のジェスチャは、照準合わせ動作モードと押下動作モードとに分けることができる。オブジェクトを押下するユーザの意図が、押下ジェスチャを開始する前にユーザが少しの間ためらうときに評価される。この意図が認識されると、動作モードが照準合わせモードから押下モードに移り、ユーザがオブジェクトから逸れることなく押下を完了することを助けるための手段が採られる。
【０００５】
[0012]  図１は、制御環境１００の非限定的な例を示す。特に、図１は、さまざまな異なるゲームをプレイし、１つもしくは複数の異なる媒体の種類を再生し、ならびに／または非ゲームアプリケーションおよび／もしくはオペレーティングシステムを制御もしくは操作するために使用され得るエンターテインメントシステム１０２を示す。また、図１は、メディアコンテンツ、ゲームの映像などをユーザに対して提示するために使用され得るテレビまたはコンピュータモニタなどのディスプレイデバイス１０４を示す。一例として、ディスプレイデバイス１０４は、エンターテインメントシステム１０２によって受信されたメディアコンテンツを視覚的に提示するために使用され得る。図１に示された例において、ディスプレイデバイス１０４は、エンターテインメントシステム１０２によって受信された押下可能なユーザインターフェース１０５を表示している。示された例において、押下可能なユーザインターフェース１０５は、エンターテインメントシステム１０２によって受信されたメディアコンテンツについての選択可能な情報を提示する。制御環境１００は、観測される情景内のオブジェクトおよびユーザを視覚的に監視または追跡する深度カメラ１０６などのキャプチャデバイスを含み得る。
【０００６】
[0013]  ディスプレイデバイス１０４は、エンターテインメントシステムのディスプレイ出力によってエンターテインメントシステム１０２に動作可能なように接続され得る。例えば、エンターテインメントシステム１０２は、ＨＤＭＩまたはその他の好適な有線もしくは無線ディスプレイ出力を含み得る。ディスプレイデバイス１０４は、エンターテインメントシステム１０２から映像コンテンツを受信することができ、および／またはディスプレイデバイス１０４は、映像コンテンツをコンテンツプロバイダから直接受信するように構成された別個の受信機を含む可能性がある。
【０００７】
[0014]  深度カメラ１０６は、１つまたは複数のインターフェースによってエンターテインメントシステム１０２に動作可能なように接続され得る。非限定的な例として、エンターテインメントシステム１０２は、深度カメラ１０６が接続され得るユニバーサルシリアルバスを含む可能性がある。深度カメラ１０６は、物理的空間内のユーザ１０８などの１人または複数の人間の対象および／またはオブジェクトを認識、分析および／または追跡するために使用され得る。深度カメラ１０６は、物理的空間に赤外線を投影する赤外線ライトと、赤外線を受信するように構成された深度カメラとを含み得る。
【０００８】
[0015]  エンターテインメントシステム１０２は、図１に示されていない１つまたは複数のリモートコンピューティングデバイスと通信するように構成され得る。例えば、エンターテインメントシステム１０２は、映像コンテンツを放送局、第三者メディア配信サービス、またはその他のコンテンツプロバイダから直接受信することができる。また、エンターテインメントシステム１０２は、例えば、深度カメラ１０６から受信された画像情報を分析するためにインターネットまたは別のネットワークを介して１つまたは複数のリモートサービスと通信することができる。
【０００９】
[0016]  図１に示された実施形態はエンターテインメントシステム１０２、ディスプレイデバイス１０４、および深度カメラ１０６を別個の要素として示すが、一部の実施形態においては、要素のうちの１つまたは複数が、共通のデバイスに統合される可能性がある。
【００１０】
[0017]  エンターテインメントシステム１０２および／またはディスプレイデバイス１０４の１つまたは複数の態様は、無線または有線制御デバイスによって制御され得る。例えば、エンターテインメントシステム１０２によってディスプレイデバイス１０４に出力されるメディアコンテンツは、リモート制御デバイス、（モバイルコンピューティングデバイスなどの）コンピューティングデバイス、ハンドヘルドゲームコントローラなどから受信される入力に基づいて選択され得る。さらに、以下で詳しく説明される実施形態において、エンターテインメントシステム１０２および／またはディスプレイデバイス１０４の１つまたは複数の態様は、ユーザによって実行され、深度カメラ１０６から受信される画像情報に基づいてエンターテインメントシステム１０２によって解釈されるジェスチャコマンドなどの自然なユーザ入力に基づいて制御され得る。
【００１１】
[0018]  図１は、ユーザ１０８の動きがエンターテインメントシステム１０２によって解釈され得るように深度カメラ１０６がユーザ１０８を追跡するシナリオを示す。特に、ユーザ１０８の動きは、押下可能なユーザインターフェース１０５の一部としてディスプレイデバイス１０４に表示されるカーソル１１０を制御するために使用され得る制御として解釈される。ユーザの動きを用いてカーソルの動きを制御することに加えて、ユーザ１０８は、例えば、オブジェクト１１２をアクティブ化することによって、押下可能なユーザインターフェース１０５に提示された情報を選択することができる。
【００１２】
[0019]  図２は、ユーザ１０８の動きを追跡し、解釈するために使用され得る深度分析システムの単純化された骨格追跡パイプライン２００を概略的に示す。説明を簡単にするために、骨格追跡パイプライン２００が、図１のエンターテインメントシステム１０２および深度カメラ１０６を参照して説明される。しかし、骨格追跡パイプライン２００は、本開示の範囲を逸脱することなく任意の好適なコンピューティングシステムで実装され得る。例えば、骨格追跡パイプライン２００は、図８のコンピューティングシステム８００上に実装され得る。さらに、骨格追跡パイプライン２００とは異なる骨格追跡パイプラインが、本開示の範囲を逸脱することなく使用され得る。
【００１３】
[0020]  ２０２において、図２は、ユーザ１０８を追跡デバイスの観点から示す。深度カメラ１０６などの追跡デバイスは、ユーザ１０８などの人間の対象を観測するように構成される１つまたは複数のセンサーを含み得る。
【００１４】
[0021]  ２０４において、図２は、深度カメラ１０６などの追跡デバイスによって収集された観測データの概略的表現２０６を示す。収集される観測データの種類は、追跡デバイスに含まれるセンサーの数および種類に応じて変わる。示された例において、追跡デバイスは、深度カメラ、可視光（例えば、カラー）カメラ、およびマイクロフォンを含む。
【００１５】
[0022]  深度カメラは、深度カメラの各ピクセルに関して、深度カメラに対する観測される情景内の表面の深度を判定し得る。３次元ｘ／ｙ／ｚ座標が、深度カメラのあらゆるピクセルに関して記録され得る。図２は、深度カメラのＤＰｉｘｅｌ［ｖ，ｈ］に関する観測された３次元ｘ／ｙ／ｚ座標２０８を概略的に示す。同様の３次元ｘ／ｙ／ｚ座標が、深度カメラのあらゆるピクセルに関して記録され得る。ピクセルのすべてに関する３次元ｘ／ｙ／ｚ座標は、集合的に、深度マップを構成する。３次元ｘ／ｙ／ｚ座標は、本開示の範囲を逸脱することなく任意の好適な方法で判定され得る。例示的な深度発見テクノロジーが、図８を参照してより詳細に検討される。
【００１６】
[0023]  可視光カメラが、可視光カメラの各ピクセルに関して、１つまたは複数の光チャネル（例えば、赤、緑、青、グレースケールなど）に関する、観測される情景内の表面の相対的な光の強度を判定し得る。図２は、可視光カメラのＶ−ＬＰｉｘｅｌ［ｖ，ｈ］に関する観測された赤／緑／青色値２１０を概略的に示す。赤／緑／青色値が、可視光カメラのあらゆるピクセルに関して記録され得る。ピクセルのすべてに関する赤／緑／青色値は、集合的に、デジタルカラー画像を構成する。赤／緑／青色値は、本開示の範囲を逸脱することなく任意の好適な方法で判定され得る。例示的なカラー撮像テクノロジーが、図８を参照してより詳細に検討される。
【００１７】
[0024]  深度カメラおよび可視光カメラは同じ解像度を有する可能性があるが、これは必須ではない。カメラが同じ解像度であろうと異なる解像度であろうと、可視光カメラのピクセルは、深度カメラのピクセルに正確に位置合わせされ得る。このようにして、色情報と深度情報との両方が、可視光カメラおよび深度カメラからの正確に位置合わせされたピクセル（例えば、V-LPixel[v,h]およびDPixel[v,h]）を考慮することによって、観測される情景のそれぞれの部分に関して判定され得る。
【００１８】
[0025]  １つまたは複数のマイクロフォンが、ユーザ１０８および／またはその他のソースから来る指向性のおよび／または無指向性の音を判定することができる。図２は、マイクロフォンによって記録されるオーディオデータ２１２を概略的に示す。オーディオデータは、深度カメラ１０６のマイクロフォンによって記録され得る。そのようなオーディオデータは、本開示の範囲を逸脱することなく任意の好適な方法で判定され得る。例示的な音声記録テクノロジーが、図８を参照してより詳細に検討される。
【００１９】
[0026]  収集されるデータは、深度カメラによって撮像されたあらゆるピクセルに関する３次元ｘ／ｙ／ｚ座標、可視光カメラによって撮像されたあらゆるピクセルに関する赤／緑／青色値、および／または時間分解（time resolved）デジタルオーディオデータを含む１つまたは複数の行列を含むがこれらに限定されない（1つまたは複数の）実質的に任意の好適なデータ構造の形態をとり得る。ユーザ１０８は、（例えば、30フレーム毎秒で）連続的に観測され、モデル化され得る。したがって、データは、それぞれのそのような観測されたフレームに関して収集される可能性がある。収集されたデータは、１つもしくは複数のアプリケーションプログラミングインターフェース（API）を介して利用することができるようにされ、および／または以下で説明されるようにさらに分析され得る。
【００２０】
[0027]  深度カメラ１０６、エンターテインメントシステム１０２、および／またはリモートサービスが、深度マップを分析して、追跡されるべき人間の対象および／またはその他の目標を観測された深度マップ内の目標でない要素と区別することができる。深度マップの各ピクセルは、そのピクセルを特定の目標のまたは目標でない要素を撮像するものとして特定するユーザインデックス２１４を割り振られ得る。例として、第１のユーザに対応するピクセルは、１に等しいユーザインデックスを割り振られる可能性があり、第２のユーザに対応するピクセルは、２に等しいユーザインデックスを割り振られる可能性があり、目標のユーザに対応しないピクセルは、０に等しいユーザインデックスを割り振られる可能性がある。そのようなユーザインデックスは、本開示の範囲を逸脱することなく任意の好適な方法で判定され、割り振られ、保存され得る。
【００２１】
[0028]  深度カメラ１０６、エンターテインメントシステム１０２、および／またはリモートサービスは、任意選択により、それぞれのそのようなピクセルがユーザの体のどの部位を撮像する可能性が高いかを判定するために、ユーザ１０８の深度マップのピクセルをさらに分析し得る。適切なユーザインデックスを有する深度マップの各ピクセルが、体の部位インデックス２１６を割り振られ得る。体の部位インデックスは、ばらばらの識別子、信頼性の値、および／またはそのピクセルが撮像する可能性が高い体の１つの部位または複数の部位を示す体の部位の確率分布を含み得る。体の部位インデックスは、本開示の範囲を逸脱することなく任意の好適な方法で判定され、割り振られ、保存され得る。
【００２２】
[0029]  ２１８において、図２は、ユーザ１０８の機械が読み取ることができる表現として働く仮想的な骨格２２０の概略的表現を示す。仮想的な骨格２２０は、２０個の仮想的な関節−−｛頭、肩の中心、背骨、腰の中心、右肩、右肘、右手首、右手、左肩、左肘、左手首、左手、右腰、右膝、右足首、右足、左腰、左膝、左足首、および左足｝−−を含む。この２０個の関節の仮想的な骨格は、非限定的な例として提供される。本開示による仮想的な骨格は、実質的に任意の数の関節を持ち得る。
【００２３】
[0030]  さまざまな骨格の関節は、ユーザ１０８の実際の関節、ユーザの体の部位の質量中心（centroid）、ユーザの四肢の末端、および／またはユーザと直接の解剖学的つながりのない点に対応する可能性がある。各関節は、少なくとも３つの自由度（例えば、ワールド空間（world space）のx、y、z）を持ち得る。したがって、仮想的な骨格のそれぞれの関節は、３次元位置によって定義される。例えば、左肩の仮想的な関節２２２は、ｘ座標位置２２４、ｙ座標位置２２５、およびｚ座標位置２２６によって定義される。関節の位置は、任意の好適な原点に対して定義され得る。一例として、深度カメラが、原点として働く可能性があり、すべての関節の位置が、深度カメラに対して定義される。関節は、本開示の範囲を逸脱することなく任意の好適な方法で３次元位置によって定義され得る。
【００２４】
[0031]  さまざまな技術が、それぞれの関節の３次元位置を判定するために使用され得る。骨格を当てはめる技術は、深度情報、色情報、体の部位の情報、ならびに／または既に訓練された解剖学的および動力学的情報を用いて、人間の対象を詳細にモデル化する１つまたは複数の骨格を推断し得る。１つの非限定的な例として、上述の体の部位インデックスが、それぞれの骨格の関節の３次元位置を見つけるために使用され得る。
【００２５】
[0032]  関節の向きが、仮想的な関節のうちの１つまたは複数をさらに定義するために使用され得る。関節の位置が、関節と、関節の間に延びる仮想的な骨との位置を示すことができる一方、関節の向きは、そのような関節および仮想的な骨のそれぞれの位置におけるそれらの関節および仮想的な骨の向きを示すことができる。例として、手首の関節の向きが、所与の位置に置かれた手が上を向いているのかまたは下を向いているのかを示すために使用され得る。
【００２６】
[0033]  関節の向きは、例えば、１つまたは複数の正規化された３次元向きベクトルで符号化され得る。（1つまたは複数の）向きベクトルは、深度カメラまたは別のリファレンス（例えば、別の関節）に対して相対的な関節の向きを与えることができる。さらに、（1つまたは複数の）向きベクトルは、ワールド空間座標系または別の好適な座標系（例えば、別の関節の座標系）によって定義され得る。関節の向きは、その他の手段によって符号化される可能性もある。非限定的な例として、４元数（quaternion）および／またはオイラー角が、関節の向きを符号化するために使用され得る。
【００２７】
[0034]  図２は、左の肩の関節２２２が正規直交向きベクトル２２８、２２９、および２３０によって定義される非限定的な例を示す。その他の実施形態においては、単一の向きベクトルが、関節の向きを定義するために使用され得る。（1つまたは複数の）向きベクトルは、本開示の範囲を逸脱することなく任意の好適な方法で計算され得る。
【００２８】
[0035]  関節の位置、向き、および／またはその他の情報は、（1つまたは複数の）任意の好適なデータ構造で符号化され得る。さらに、任意の特定の関節に関連する位置、向き、および／またはその他のパラメータは、１つまたは複数のＡＰＩを介して利用することができるようにされ得る。
【００２９】
[0036]  図２に見られるように、仮想的な骨格２２０は、任意選択により、複数の仮想的な骨（例えば、左前腕骨232）を含み得る。さまざまな骨格の骨が、１つの骨格の関節から別の骨格の関節に延びる可能性があり、ユーザの骨および／または四肢の実際の骨、四肢、または部分に対応する可能性がある。本明細書において検討される関節の向きが、これらの骨に適用され得る。例えば、肘の向きが、前腕の向きを定義するために使用され得る。
【００３０】
[0037]  仮想的な骨格は、ユーザ１０８によって行われる１つまたは複数のジェスチャを認識するために使用され得る。非限定的な例として、ユーザ１０８によって行われる１つまたは複数のジェスチャが、カーソル１１０の位置を制御するために使用可能であり、仮想的な骨格が、１つまたは複数のジェスチャが行われたかどうかを判定するために１つまたは複数のフレームで分析され得る。例えば、仮想的な骨格の手の関節の位置が、判定可能であり、カーソル１１０が、手の関節の位置に基づいて動かされ得る。しかし、仮想的な骨格が、本開示の範囲から逸脱することなく追加的なおよび／または代替的な目的のために使用される可能性があることを理解されたい。
【００３１】
[0038]  既に説明されたように、押下可能なユーザインターフェース１０５内のカーソル１１０の位置が、押下可能なユーザインターフェース１０５において提示される１つまたは複数のオブジェクトとのインタラクションを容易にするために制御され得る。
【００３２】
[0039]  図３は、押下ジェスチャを受け取り、自然なユーザ入力として解釈するための方法３００を示す。方法３００は、例えば、図１のエンターテインメントシステム１０２または図８のコンピューティングシステム８００によって実行され得る。３０２において、仮想的な骨格の関節の位置が、受信される。図２を参照して上で説明されたように、仮想的な骨格２２０の手の関節２４０の位置が、受信される可能性がある。左および／または右の手の位置が、本開示の範囲を逸脱することなく使用され得る。右の手の関節２４０が、例として使用されるが、まったく限定的でない。その他の実施形態においては、頭の関節、肘の関節、膝の関節、足の関節、またはその他の関節の位置が、使用され得る。一部の実施形態においては、２つ以上の異なる関節からの位置が、カーソルを動かすために使用され得る。
【００３３】
[0040]  ３０４において、ユーザインターフェースのカーソルが、手の関節の位置に基づいて動かされる。図１および２を参照して上で説明されたように、押下可能なユーザインターフェース１０５のカーソル１１０が、手の関節２４０の位置に基づいて動かされ得る。
【００３４】
[0041]  ３０６において、方法３００は、以下でさらに詳細に説明される照準合わせモードで動作する。それから、方法３００は、カーソル位置がユーザインターフェースにおいて押下可能なオブジェクトと合わさったかどうかが判定される３０８に進む。オブジェクトに「合わさる」は、本明細書において使用されるとき、カーソル位置が押下可能なユーザインターフェース１０５の押下可能な領域（例えば、オブジェクト112）に対応することを指す。カーソル位置がオブジェクトと合わさらなかった場合、方法３００は、３０６に戻る。カーソル位置がオブジェクトと合わさった場合、方法３００は、３１０に進む。
【００３５】
[0042]  ３１０において、モードテスト期間内のすべての直前のカーソル位置が、カーソル位置を中心とするタイミング境界内にあるかどうかが、判定される。
【００３６】
[0043]  図４は、動作モードがカーソル１１０の位置に応じて決定される例示的なシナリオ４００を示し、さらに、カーソル位置を中心とするタイミング境界の形成および評価を示す。
【００３７】
[0044]  例示的なシナリオ４００は、カーソル位置集合４０２：｛t0, t1, t2, t3, t4, t5,およびt6｝の７つの連続するカーソル位置の組を示す。ｔ０は、カーソル位置集合４０２内で決定された第１のカーソル位置である。この時点で、システムは、照準合わせモードにある。照準合わせモードは、ユーザ１０８がオブジェクトのインタラクションまたはアクティブ化に携わることなく押下可能なユーザインターフェース１０５に表示されたオブジェクトの間を移動することを可能にする。
【００３８】
[0045]  カーソル位置ｔ０を受信すると、タイミング境界４０４がカーソル位置ｔ０を中心として形成される。この例においては、タイミング境界が、形成され、カーソル位置が、例えば、ディスプレイデバイス１０４によって形成されたｘ−ｙ平面に対応する可能性があるｘ−ｙ平面で評価される。その他の実装においては、異なる平面が使用される可能性がある。さらにその他の実装において、タイミング境界は、３次元形状である可能性がある。タイミング境界４０４は、押下可能なユーザインターフェース１０５に表示されず、したがって、ユーザ１０８に見えない。一部の手法で、タイミング境界は、そのタイミング境界のそれぞれのカーソル位置がオブジェクトと合わさった場合に形成される。しかし、本開示の範囲を逸脱することなくその他の手法もあり得る。
【００３９】
[0046]  ユーザ１０８がオブジェクトと合わさったならば、タイミング境界４０４が、モードテスト期間内のすべての直前のカーソル位置がその境界内にあるかどうかを判定するために調べられる。そのような手法は、ユーザ１０８がオブジェクト上でためらったか否かを判定することを容易にし、ためらいは、カーソル位置を押下可能なユーザインターフェース１０５内の領域に制限する。モードテスト期間は、評価されるカーソル位置の数を制限する継続時間を確立する。１つの非限定的な例として、モードテスト期間は、２５０ミリ秒であるが、ただし、この値は、ユーザプリファレンスを含むさまざまなパラメータに合わせて調整される可能性があり、押下モードへの移行が行われる前の時間を制御するために変更される可能性がある。
【００４０】
[0047]  タイミング境界４０４の形状とサイズとの両方は、オブジェクトのサイズおよび／または形状、ディスプレイスクリーンのサイズ、ならびにユーザプリファレンスを含む基準に基づいて調整され得る。さらに、そのようなサイズは、追跡デバイス（例えば、深度カメラ106）および／またはディスプレイデバイス（例えば、ディスプレイ104）の解像度に応じて変わる可能性がある。タイミング境界４０４は示された例においては円形であるが、実質的に任意の形状または幾何学形状が使用され得る。示された円形は、例えば、複数の詰め込まれた六角形により近似され得る。タイミング境界４０４のサイズを調整することは、押下モードに入ることが開始される容易さおよび／または速さを制御し得る。例えば、タイミング境界４０４のサイズを増やすことは、押下モードに入ることをやはりトリガする連続するカーソル位置の間のより大きな空間的分離を可能にし得る。
【００４１】
[0048]  カーソル位置ｔ０はカーソル位置集合４０２内で決定された第１のカーソル位置であるので、いかなる直前のカーソル位置もそのカーソル位置の境界内にない。したがって、システムは、照準合わせモードで動作し続ける。それから、カーソル位置ｔ１が受信され、そのカーソル位置ｔ１のタイミング境界が形成され、評価され、カーソル位置ｔ０と同様に照準合わせモードでの継続される動作を引き起こす。そして、カーソル位置ｔ２が受信され、そのカール位置ｔ２の境界が形成され、評価され、前のカーソル位置ｔ１を含む。しかし、この例において、モードテスト期間は、押下モードでの動作をトリガするために、４つ全部のカーソル位置（例えば、現在のカーソル位置 + 3つの直前のカーソル位置）が単一のタイミング境界内で見つかることが必要とされるように設定される。この要件が満たされないと、動作は、照準合わせモードで継続する。
【００４２】
[0049]  照準合わせモードでの動作は、カーソル位置ｔ３、ｔ４、およびｔ５が受信され、それらのカーソル位置のタイミング境界が形成され、評価されると、モードテスト期間内のすべての直前のカーソル位置がそれらのカーソル位置のタイミング境界のいずれの中にもないので継続する。ｔ６においては、そのｔ６のタイミング境界がモードテスト期間内のすべての直前のカーソル位置−−すなわち、ｔ３、ｔ４、およびｔ５−−を含むので、押下モードの動作が開始される。図４は、各カーソル位置、各タイミング境界内にある前のカーソル位置、および結果としてもたらされる動作モードを表形式で示す。
【００４３】
[0050]  図３に戻ると、３１０において、モードテスト期間内のすべての直前のカーソル位置がカーソル位置を中心とするタイミング境界内にない場合、方法３００は、３０６に戻り、照準合わせモードで動作する。一方、モードテスト期間内のすべての直前のカーソル位置がカーソル位置を中心とするタイミング境界内にある場合、方法３００は、３１２に進み、押下モードで動作する。上述の技術は、ユーザの頭の中で照準合わせモードから押下モードへの切り替えを合図するための、推測され得るユーザのためらいを評価する非限定的な例である。しかし、ためらいを評価するためのその他の技術は本開示の範囲内にあることを理解されたい。
【００４４】
[0051]  そして、方法３００は、カーソル位置が制約形状内に残っているかどうかが判定される３１４に進む。
【００４５】
[0052]  ここで図５に目を向けると、例示的な制約形状５００が示されている。制約形状５００は、押下モードに入ると形成され、押下可能なユーザインターフェースに表示されたオブジェクトのアクティブ化を容易にする。本明細書において使用されるとき、「アクティブ化」は、ユーザによってインタラクションされるように設計されたオブジェクトに関連する命令またはその他のコードの実行を指す。
【００４６】
[0053]  押下モードに入ると、任意選択により、制約形状５００が、以降、「モードトリガタイミング境界」と呼ばれる、押下モードでの動作を引き起こしたタイミング境界（例えば、カーソル位置t6に対応するタイミング境界）の周りに形成され、そのタイミング境界から延びる。言い換えると、制約形状５００が点ｚ０で始まる原点５０２が、モードトリガタイミング境界の中心に対応する。その他の実施形態において、制約形状は、タイミング境界の延長ではない。
【００４７】
[0054]  図５に示された例において、制約形状５００は、ｚ方向５０４のｚ距離（z-distance）に応じて増加する半径を有する、先端を切られた円錐を含む。Ｚ方向５０４は、実質的に、ディスプレイデバイス１０４に垂直であり、および／または深度カメラ１０６の光軸と平行な方向に対応する可能性がある。モードトリガタイミング境界は、任意選択により、中心が点ｚ０である先端を切られた円錐の底面を形成する可能性がある。
【００４８】
[0055]  図３に戻ると、３１４において、仮想的な骨格の手の関節の変化する位置に応じてカーソル位置が動くときに、カーソル位置が制約形状内に残っているかどうかが判定される。カーソル位置が制約形状内に残っていない場合、方法３００は３０６に戻り、照準合わせモードでの動作を再開する。カーソル位置が制約形状内に残っている場合、方法３００は、カーソル位置が閾値のｚ距離を超えたかどうかが判定される３１６に進む。
【００４９】
[0056]  再び図５に戻ると、制約形状５００は、押下可能なユーザインターフェース１０５に表示されたオブジェクトがアクティブ化され得るカーソル位置を制限する３次元領域および境界を確立する。アクティブ化カーソル経路（activating cursor path）５０６は、制約形状５００内に残りながらｚ方向５０４に前向きに延びる実質的に連続的な経路を一緒に形成する複数のカーソル位置を表す。５０１において、制約形状５００内にあり、かつ閾値のｚ距離ｚｔを超えるｚ距離を有する最終カーソル位置が受信される。したがって、システムは、完了された押下を認識し、押下されたオブジェクトをアクティブ化する。
【００５０】
[0057]  図５は、閾値のｚ距離ｚｔを超える前に５０３において制約形状５００を離れる離脱カーソル経路（disengaging cursor path）５０８も示す。上記と異なり、システムは、この１組のカーソル位置を、モードトリガタイミング境界および／または制約形状が配されたオブジェクトを離脱（disengage）しようとする試みとして解釈する。したがって、押下モードの動作が中止され、動作を照準合わせモードに戻す。
【００５１】
[0058]  このようにして、ユーザ１０８は、アクティブ化する前に離脱する選択肢を保ちながら、押下可能なユーザインターフェース１０５に提示されたオブジェクトと合わさり、そのオブジェクトをアクティブ化することができる。制約形状５００はｚ方向５０４に沿って大きくなる半径を有する円錐を含むので、押下入力が与えられるとユーザ１０８がｘ方向およびｙ方向にぶれることを許容する許容範囲が提供される。言い換えると、押下モードでの継続される動作に対応するｘ−ｙ平面内の領域は、他の方法ではタイミング境界のみによって提供されるであろう領域よりも広げられる。
【００５２】
[0059]  制約形状５００は、図５においては、先端を切られた円錐を含むものとして示されているが、底面が長方形の先端を切られた錐体形状（rectangular and truncated pyramidal shape）を含む任意の好適な幾何学形状が使用され得ることが、理解されるであろう。さらに、任意の好適な線形または非線形関数が、制約形状の１つまたは複数の次元の形状を制御する可能性がある。
【００５３】
[0060]  図５は、押下可能なユーザインターフェース１０５に表示されたカーソル（例えば、カーソル110）が動作モードに依存する可能性があるいくつかの異なる関数（function）に基づいてどのように動かされ得るかを示す。例えば、カーソルは、照準合わせモードである間は第１の関数に基づいて動かされ、押下モードである間は第２の関数に基づいて動かされる可能性がある。図５は、押下モードである間に第２の関数に基づいてカーソルを動かす例を示す。特に、アクティブ化カーソル経路５０６によって表されるカーソル位置のｚ距離が閾値のバイアス距離（biasing distance）ｚｂを超えると、第２の関数がカーソル１１０に適用される。この例において、第２の関数は、カーソル１１０の位置を合わさったオブジェクトの中心に向かってずらすことを含む。そのようにずらすことは、押下入力がｚ方向５０４に沿って前に進むときにユーザ１０８が合わさったオブジェクトの中心に向かって円滑に押下することがより容易であるように、繰り返し、連続して適用され得る。しかし、任意の好適な関数が本開示の範囲を逸脱することなくカーソルを動かすために使用可能であり、それらの関数は動作モードに依存する可能性がありまたは依存しない可能性があることが、理解されるであろう。
【００５４】
[0061]  図５に示された例において、閾値のｚ距離ｔｚは、固定された値である。より詳細には、この距離は、原点５０２に対して決められ、この距離が制約形状５００のより小さな底面に対応する場合はモードトリガタイミング境界に対して決められる。したがって、ユーザは、オブジェクトの押下およびアクティブ化が望ましいときにはいつもこの決まった距離を押して通り抜けなければならない。決まった距離は、人の腕の長さの平均に基づいて予め決められる可能性があり、１つの非限定的な例として６インチである可能性がある。その他の実施形態において、閾値のｚ距離は、可変であり、動的に決められる可能性がある。
【００５５】
[0062]  図６は、原点５０２からｚ方向５０４に沿って延びる制約形状５００を示す。図５に示されるように、制約形状５００は、閾値のｚ距離ｚｔおよび閾値のバイアス距離ｚｂを含む。しかし、この例において、制約形状５００は、短縮された閾値のｚ距離ｔｚ’および短縮された閾値のバイアス距離ｚｂ’をさらに含む。短縮されたカーソル経路６０２は、オブジェクトのアクティブ化を制御する閾値の距離がどのようにして変更され得るのかを示す。短縮されたカーソル経路６０２は、短縮された閾値のｚ距離ｚｔ’に到達し、オブジェクトをアクティブ化するために、短縮された長さを越える。同様に、カーソル１１０をずらすことが、短縮された閾値のバイアス距離ｚｂ’で行われる。閾値の距離ｚｔとｚｂとの両方は、動的に短縮または伸張可能であり、ユーザ１０８に基づいて修正され得る。
【００５６】
[0063]  １つの手法において、閾値のｚ距離ｚｔは、照準合わせモードから押下モードに移るときにユーザ１０８に関連する仮想的な骨格の手の関節の位置に基づいて動的に設定され得る。例えば、仮想的な骨格２２０の手の関節２４０が、この距離を設定するために使用され得る。手の関節２４０の絶対的なワールド空間位置が使用され得るか、または別のオブジェクトに対して相対的なその手の関節２４０の位置が評価され得る。後者の手法においては、手の関節２４０の位置が、肩の関節２２２の位置に対して相対的に評価され得る。そのようなプロトコルは、システムがユーザ１０８の指さししている腕が伸ばされる度合いの推定値を取得することを可能にすることができる。閾値のｚ距離ｚｔは、それに応じて決定され得る−−例えば、ユーザ１０８の指さししている腕が既にかなり延ばされている場合、ｚｔは、削減され、ユーザ１０８がｚ方向５０４に沿ってより短い距離動くことを要求し得る。このようにして、システムは、オブジェクトのアクティブ化を煩わしくすることなくユーザの体の特徴および配置に動的に対応することができる。しかし、仮想的な骨格２２０の任意のその他の関節が閾値の距離を動的に設定するために使用され得ることが、理解されるであろう。
【００５７】
[0064]  システムは、押下モードであるときに、ユーザエクスペリエンスを向上させる追加のアクションを採ることができる。一実施形態においては、カーソル位置のｚ距離が押下テスト期間（press-testing period）内に増えない場合、押下モードから照準合わせモードへの移行が起こることになる。押下テスト期間の継続時間に応じて、そのような手法は、ｚ方向５０４に沿った実質的に連続的な前進がユーザ１０８によって行われることを必要とし得る。
【００５８】
[0065]  代替的にまたは追加的に、閾値のｚ距離ｔｚは、押下モードである間にカーソル位置のｚ距離がｚ方向５０４に沿って小さくなる場合、リセットされる可能性がある。１つの手法において、閾値のｚ距離ｚｔは、カーソル位置の後退の度合いに比例してｚ方向５０４に沿って短縮され得る。このようにして、オブジェクトをアクティブ化するために必要とされるｚ距離は、初めに予想されていた伸張を超えてユーザに過度に体を伸ばすことを強要することなく、一定のままであることができる。一部の実施形態において、閾値のｚ距離ｚｔは、カーソル位置が後退すると、例えば、上述のように、肩の関節に対して相対的な手の関節の向きに基づいて動的に再決定され得る。
【００５９】
[0066]  図３に戻ると、３１６においてカーソル位置が閾値のｚ距離を超えなかった場合、方法３００は、３１４に戻る。カーソル位置が閾値のｚ距離を超えた場合、方法３００は、オブジェクト（例えば、オブジェクト112）がアクティブ化される３１８に進む。
【００６０】
[0067]  オブジェクトの有効化を構成するものを決定するときに、代替的または追加的な基準が適用され得る。一部の例において、オブジェクトは、制約形状内に残っているカーソル位置が閾値のｚ距離を超え、その後、閾値の距離だけ後退するまでアクティブ化されない。そのような実装において、カーソル位置は、閾値のｚ距離を超え、それから、反対方向に少なくとも第２の閾値の距離だけ後退しなければならない。そのような基準は、多くのユーザが物理的なボタンを前に押した後に後退することに慣れているので、ユーザエクスペリエンスを向上させることができる。
【００６１】
[0068]  ここで図７に目を向けると、押下モードから照準合わせモードへの移行を促す追加のシナリオが示される。オブジェクト１１２および第２のオブジェクト７０２を含む複数のオブジェクトを有する押下可能なユーザインターフェース１０５が、示される。カーソル１１０は、オブジェクト１１２と合わさっており、押下モードが、開始されている。上述のように、押下モードで動作するときに、合わさったオブジェクト上にインジケータが表示可能であり、インジケータは、この例においては、オブジェクトを囲む太い縁を含む。任意の好適なインジケータが、使用され得る。一部の実施形態において、押下モードから照準合わせモードへの移行は、カーソル１１０が現在合わさっているオブジェクト１１２以外の第２のオブジェクト−−例えば、第２のオブジェクト７０２−−にそのカーソル１１０が合わさる場合に実行される。
【００６２】
[0069]  代替的にまたは追加的に、押下モードから照準合わせモードへの移行が、押下境界（press boundary）７０４に対して相対的なカーソル１１０の位置に基づいて行われ得る。この実施形態において、押下境界７０４は、押下モードに入ると形成され、中心をカーソル１１０が合わさるオブジェクトに置かれる。押下境界７０４は、カーソル１１０のためのｘ方向およびｙ方向の２次元境界を提供する。押下モードにある間に、カーソル１１０が閾値のｚ距離（例えば、制約形状500におけるzt）を超える前に押下境界７０４を離れる場合、押下モードから照準合わせモードへの移行が起こる。押下境界７０４は、制約形状のサイズおよび幾何学形状が、ユーザが押下の大部分を実行して、ただ異なるオブジェクトに対する押下を終わらせる結果となり、したがって、そのオブジェクトをアクティブ化する可能性がある実施形態に関して、ユーザエクスペリエンスを向上させることができる。言い換えると、制約形状は、その制約形状の中心が置かれるオブジェクト以外のオブジェクトと重なるほど大きく、入力の解釈を向上させる押下境界から恩恵を受ける可能性がある。
【００６３】
[0070]  示された例において、押下境界７０４は、オブジェクト９０の対角線に対応する直径を有する円形である。その他の実施形態において、押下境界は、それらの押下境界の中心が置かれるオブジェクトに対応する形状を与えられ得る。
【００６４】
[0071]  一部の実施形態において、本明細書に記載の方法およびプロセスは、１つまたは複数のコンピューティングデバイスのコンピューティングシステムに関連する可能性がある。特に、そのような方法およびプロセスは、コンピュータアプリケーションプログラムもしくはサービス、アプリケーションプログラミングインターフェース（API）、ライブラリ、および／またはその他のコンピュータプログラム製品として実装され得る。
【００６５】
[0072]  図８は、上述の方法およびプロセスのうちの１つまたは複数を実施することができるコンピューティングシステム８００の非限定的な実施形態を概略的に示す。エンターテインメントシステム１０２は、コンピューティングシステム８００の非限定的な例である可能性がある。コンピューティングシステム８００は、単純化された形態で示される。コンピューティングシステム８００は、１つまたは複数のパーソナルコンピュータ、サーバコンピュータ、タブレットコンピュータ、ホームエンターテインメントコンピュータ、ネットワークコンピューティングデバイス、ゲーム機、モバイルコンピューティングデバイス、モバイル通信デバイス（例えば、スマートフォン）、および／またはその他のコンピューティングデバイスの形態をとり得る。
【００６６】
[0073]  コンピューティングシステム８００は、論理マシン８０２およびストレージマシン８０４を含む。コンピューティングシステム８００は、任意選択により、ディスプレイサブシステム８０６、入力サブシステム８０８、通信サブシステム８１０、および／または図８に図示されていないその他の構成要素を含み得る。
【００６７】
[0074]  論理マシン８０２は、命令を実行するように構成された１つまたは複数の物理的なデバイスを含む。例えば、論理マシンは、１つまたは複数のアプリケーション、サービス、プログラム、ルーチン、ライブラリ、オブジェクト、コンポーネント、データ構造、またはその他の論理的構造の一部である命令を実行するように構成され得る。そのような命令は、タスクを実行するか、データ型を実装するか、１つもしくは複数の構成要素の状態を変えるか、技術的効果を実現するか、またはその他の方法で所望の結果を達成するように実装され得る。
【００６８】
[0075]  論理マシンは、ソフトウェア命令を実行するように構成された１つまたは複数のプロセッサを含み得る。追加的にまたは代替的に、論理マシンは、ハードウェアまたはファームウェア命令を実行するように構成された１つまたは複数のハードウェアまたはファームウェア論理マシンを含み得る。論理マシンのプロセッサは、シングルコアまたはマルチコアである可能性があり、それらのプロセッサで実行される命令は、逐次、並列、および／または分散処理のために構成され得る。論理マシンの個々の構成要素は、任意選択により、離れて配置され、および／または協調した処理のために構成され得る２つ以上の別個のデバイスの間に分散される可能性がある。論理マシンの態様は、クラウドコンピューティング構成で構成された、遠隔でアクセス可能であり、ネットワーク化されたコンピューティングデバイスによって仮想化され、実行され得る。
【００６９】
[0076]  ストレージマシン８０４は、本明細書において説明された方法およびプロセスを実装するために論理マシンによって実行可能な命令を保持するように構成された１つまたは複数の物理的なデバイスを含む。そのような方法およびプロセスが実装されるとき、ストレージマシン８０４の状態は、−例えば、異なるデータを保持するために−変えられる可能性がある。
【００７０】
[0077]  ストレージマシン８０４は、取り外し可能なおよび／または内蔵のデバイスを含み得る。ストレージマシン８０４は、とりわけ、光学式メモリ（例えば、CD、DVD、HD-DVD、ブルーレイディスクなど）、半導体メモリ（例えば、RAM、EPROM、EEPROMなど）、および／または磁気式メモリ（例えば、ハードディスクドライブ、フロッピーディスクドライブ、テープドライブ、MRAMなど）を含み得る。ストレージマシン８０４は、揮発性、不揮発性、ダイナミック、スタティック、読み出し／書き込み、読み出し専用、ランダムアクセス、逐次アクセス、位置アドレス指定可能（location-addressable）、ファイルアドレス指定可能（file-addressable）、および／またはコンテンツアドレス指定可能（content-addressable）デバイスを含み得る。
【００７１】
[0078]  ストレージマシン８０４が１つまたは複数の物理的なデバイスを含むことは、理解されるであろう。しかし、本明細書において説明された命令の態様は、代替的に、有限の継続時間の間物理的なデバイスによって保持されない通信媒体（例えば、電磁的な信号、光学的な信号など）によって伝搬され得る。
【００７２】
[0079]  論理マシン８０２およびストレージマシン８０４の態様は、１つまたは複数のハードウェア論理構成要素に一緒に統合され得る。そのようなハードウェア論理構成要素は、例えば、フィールドプログラマブルゲートアレイ（FPGA）、特定プログラムおよび特定用途向け集積回路（PASIC/ASIC）、プログラムおよび特定用途向け標準製品（PSSP/ASSP）、システムオンチップ（SOC）、ならびにコンプレックスプログラマブルロジックデバイス（CPLD: complex programmable logic device）を含み得る。
【００７３】
[0080]  用語「モジュール」、「プログラム」、および「エンジン」は、特定の機能を実行するために実装されたコンピューティングシステム８００の態様を説明するために使用され得る。場合によっては、モジュール、プログラム、またはエンジンは、ストレージマシン８０４によって保持された命令を実行する論理マシン８０２によってインスタンス化され得る。異なるモジュール、プログラム、および／またはエンジンが同じアプリケーション、サービス、コードブロック、オブジェクト、ライブラリ、ルーチン、ＡＰＩ、関数などからインスタンス化される可能性があることが、理解されるであろう。同様に、同じモジュール、プログラム、および／またはエンジンが、異なるアプリケーション、サービス、コードブロック、オブジェクト、ルーチン、ＡＰＩ、関数などによってインスタンス化される可能性がある。用語「モジュール」、「プログラム」、および「エンジン」は、個々の実行可能ファイル、データファイル、ライブラリ、ドライバ、スクリプト、データベースレコードなど、または実行可能ファイル、データファイル、ライブラリ、ドライバ、スクリプト、データベースレコードなどのグループを包含し得る。
【００７４】
[0081]  「サービス」は、本明細書において使用されるとき、複数のユーザセッションで実行可能なアプリケーションプログラムであることが、理解されるであろう。サービスは、１つまたは複数のシステム構成要素、プログラム、および／またはその他のサービスによって利用され得る可能性がある。一部の実装において、サービスは、１つまたは複数のサーバコンピューティングデバイスで実行され得る。
【００７５】
[0082]  含まれるとき、ディスプレイサブシステム８０６は、ストレージマシン８０４によって保持されるデータの視覚的表現を提示するために使用され得る。この視覚的表現は、グラフィカルユーザインターフェース（GUI）の形態をとり得る。本明細書において説明された方法およびプロセスがストレージマシンによって保持されるデータを変更し、したがって、ストレージマシンの状態を変えるとき、ディスプレイサブシステム８０６の状態は、基礎を成すデータの変更を視覚的に表すために同様に変えられ得る。ディスプレイサブシステム８０６は、実質的に任意の種類のテクノロジーを利用する１つまたは複数のディスプレイデバイスを含み得る。そのようなディスプレイデバイスは、共有された筐体で論理マシン８０２および／またはストレージマシン８０４と組み合わされる可能性があり、またはそのようなディスプレイデバイスは、周辺ディスプレイデバイスである可能性がある。
【００７６】
[0083]  含まれるとき、入力サブシステム８０８は、キーボード、マウス、タッチスクリーン、またはゲームのコントローラなどの１つまたは複数のユーザ入力デバイスを含むか、またはそのような１つまたは複数のユーザ入力デバイスとインターフェースを取ることができる。一部の実施形態において、入力サブシステムは、選択された自然なユーザ入力（NUI: natural user input）構成要素を含むか、または選択されたＮＵＩ構成要素とインターフェースを取ることができる。そのような構成要素は、一体化されるかまたは周辺機器である可能性があり、入力アクションの変換および／または処理は、オンボードまたはオフボードで処理される可能性がある。例示的なＮＵＩ構成要素は、発話および／または音声認識のためのマイクロフォン、マシンビジョンおよび／またはジェスチャ認識のための赤外線、カラー、立体、および／または深度カメラ、動き検出および／または意図認識のためのヘッドトラッカー、アイトラッカー、加速度計、および／またはジャイロスコープ、ならびに脳の活動を評価するための電界感知構成要素を含み得る。
【００７７】
[0084]  含まれるとき、通信サブシステム８１０は、コンピューティングシステム８００を１つまたは複数のその他のコンピューティングデバイスと通信可能なように結合するように構成され得る。通信サブシステム８１０は、１つまたは複数の異なる通信プロトコルに対応した有線および／または無線通信デバイスを含み得る。非限定的な例として、通信サブシステムは、無線電話ネットワーク、または有線もしくは無線ローカルエリアもしくは広域ネットワークを介した通信のために構成され得る。一部の実施形態において、通信サブシステムは、コンピューティングシステム８００がインターネットなどのネットワークを介してその他のデバイスにおよび／またはその他のデバイスからメッセージを送信および／または受信することを可能にし得る。
【００７８】
[0085]  さらに、コンピューティングシステム８００は、（以下で説明される）深度カメラ８２０から撮像情報を受信し、ユーザによって取られた１つまたは複数の姿勢およびジェスチャを特定および／または解釈するように構成された骨格のモデリングモジュール８１２を含み得る。コンピューティングシステム８００は、（コンピューティングシステム800または深度カメラに結合された）マイクロフォンを介して検出されたユーザによって発せられた１つまたは複数の音声コマンドを特定および／または解釈する音声認識モジュール８１４も含み得る。骨格モデリングモジュール８１２および音声認識モジュール８１４は、コンピューティングシステム８００に組み込まれているものとして示されるが、一部の実施形態において、モジュールの一方または両方は、その代わりに、深度カメラ８２０に含まれる可能性がある。
【００７９】
[0086]  コンピューティングシステム８００は、深度カメラ８２０に動作可能なように結合され得る。深度カメラ８２０は、赤外線ライト８２２と、１人または複数の人間の対象を含む情景の映像を獲得するように構成された（赤外線カメラとも呼ばれる）深度カメラ８２４とを含み得る。映像は、本明細書に記載された目的に好適な空間解像度およびフレームレートの画像の時間分解シーケンスを含み得る。図１および２を参照して上で説明されたように、深度カメラおよび／または協力するコンピューティングシステム（例えば、コンピューティングシステム800）は、獲得された映像を処理して、ユーザの１つまたは複数の姿勢および／またはジェスチャを特定し、そのような姿勢および／またはジェスチャを、スクロール可能なユーザインターフェースのスクロールなどの、コンピューティングシステム８００のさまざまな態様を制御するように構成されたデバイスのコマンドとして解釈するように構成され得る。
【００８０】
[0087]  深度カメラ８２０は、深度カメラ８２０を１つまたは複数のその他のコンピューティングデバイスと通信可能なように結合するように構成された通信モジュール８２６を含み得る。通信モジュール８２６は、１つまたは複数の異なる通信プロトコルに対応した有線および／または無線通信デバイスを含み得る。一実施形態において、通信モジュール８２６は、コンピューティングシステム８００に（獲得された映像などの）撮像情報を送信する撮像インターフェース８２８を含み得る。追加的にまたは代替的に、通信モジュール８２６は、コンピューティングシステム８００から命令を受信する制御インターフェース８３０を含み得る。制御インターフェースおよび撮像インターフェースは、別々のインターフェースとして提供される可能性があり、または同じインターフェースである可能性がある。一例において、制御インターフェース８３０および撮像インターフェース８２８は、ユニバーサルシリアルバスを含み得る。
【００８１】
[0088]  カメラの性質および数は、本開示の範囲に合致するさまざまな深度カメラで異なる可能性がある。概して、１つまたは複数のカメラは、３次元深度マップの時間分解シーケンスが下流の処理によって取得される映像を提供するように構成され得る。本明細書において使用されるとき、用語「深度マップ」は、各ピクセルの深度値がそのピクセルによって撮像される表面の深度を示すようにして、撮像される情景の対応する領域に正確に位置合わせされるピクセルの配列を指す。「深度」は、深度カメラからの距離が離れるにつれて大きくなる、深度カメラの光軸に平行な座標として定義される。
【００８２】
[0089]  一部の実施形態において、深度カメラ８２０は、右および左ステレオカメラ（stereoscopic camera）を含み得る。両方のカメラからの時間分解画像が、互いに正確に位置合わせされ、組み合わされて、深度分解（depth-resolved）映像をもたらすことができる。
【００８３】
[0090]  一部の実施形態においては、「構造化光（structured light）」深度カメラが、多数のはっきりと区別される特徴（例えば、線または点）を含む構造化された赤外線照明を投射するように構成され得る。カメラは、情景から反射された構造化された照明を撮像するように構成され得る。撮像された情景のさまざまな領域の隣接する特徴の間の間隔に基づいて、情景の深度マップが構築され得る。
【００８４】
[0091]  一部の実施形態においては、「飛行時間（time-of-flight）」深度カメラが、情景にパルス状の赤外線照明を投射するように構成された光源を含み得る。２つのカメラは、情景から反射されたパルス状の照明を検出するように構成され得る。カメラは、パルス状の照明と同期された電子シャッターを含み得るが、カメラの集積時間（integration time）は、光源から情景へ、そして、カメラへのパルス状の照明のピクセル分解（pixel-resolved）飛行時間が２つのカメラの対応するピクセルで受光される光の相対的な量から認識可能であるように異なるようにすることができる。
【００８５】
[0092]  深度カメラ８２０は、可視光カメラ８３２（例えば、カラー）を含み得る。カラーカメラおよび深度カメラからの時間分解画像が、互いに正確に位置合わせされ、組み合わされた、深度分解カラー映像をもたらすことができる。深度カメラ８２０および／またはコンピューティングシステム８００は、１つまたは複数のマイクロフォン８３４をさらに含み得る。
【００８６】
[0093]  深度カメラ８２０およびコンピューティングシステム８００は、図８において、別個のデバイスであるものとして示されているが、一部の実施形態において、深度カメラ８２０およびコンピューティングシステム８００は、単一のデバイスに含まれる可能性がある。したがって、深度カメラ８２０は、任意選択により、コンピューティングシステム８００を含み得る。
【００８７】
[0094]  本明細書において説明された構成および／または手法は、本質的に例示的であることと、これらの特定の実施形態または例は、多くの変更があり得るので、限定的な意味で考慮されるべきでないこととが、理解されるであろう。本明細書において説明された特定のルーチンまたは方法は、任意の数の処理方針のうちの１つまたは複数を示す可能性がある。したがって、図示されおよび／または説明されたさまざまな行為は、図示されおよび／もしくは説明された順番で、その他の順番で、並列に実行される可能性があり、または省略される可能性がある。同様に、上述のプロセスの順序は、変更され得る。
【００８８】
[0095]  本開示の対象は、さまざまなプロセス、システム、および構成、ならびに本明細書において開示されたその他の特徴、機能、行為、および／または属性のすべての新規性のある明白でない組み合わせおよび部分的な組み合わせと、これらのいずれかのおよびすべての均等物とを含む。
【図１】
2016503915.tif 000003
【図２】
2016503915.tif 000004
【図３】
2016503915.tif 000005
【図４】
2016503915.tif 000006
【図５】
2016503915.tif 000007
【図６】
2016503915.tif 000008
【図７】
2016503915.tif 000009
【図８】
2016503915.tif 000010
【国際調査報告】
2016503915.tif 000011
2016503915.tif 000012
2016503915.tif 000013