(57)【特許請求の範囲】
【請求項１】
動画をユーザーの視覚表示に適用するための方法であって、
前記ユーザーの視覚表示をレンダリングするステップと、
表示装置上に前記レンダリングされた視覚表示を表示するステップと、
ユーザーのデータの履歴から識別されたユーザーの行動を表す動画をアバターライブラリーから選択するステップであって、前記ユーザーの行動はユーザーのジェスチャを含み、前記ユーザーのデータの履歴が、物理的な空間から以前にキャプチャされたユーザーのデータを含むものと、
前記アバターライブラリーからの前記動画を前記ユーザーの前記視覚表示に適用するステップと、
前記表示装置上に前記視覚表示用の動画を表示するステップと、
キャプチャ装置によってキャプチャされた前記ユーザーの行動に対応するように、前記アバターライブラリー内の前記動画を書き換えるステップと、
を含み、前記動画を書き換えるステップが、前記物理的な空間内のユーザーのジェスチャによって促されることを特徴とする方法。
【請求項２】
前記物理的な空間内の前記ユーザーが、キャプチャ装置によってキャプチャ可能でないとき、前記アバターライブラリーからの前記動画が、前記視覚表示に適用されることを特徴とする請求項１記載の方法。
【請求項３】
前記キャプチャ可能でないユーザーが、第１のユーザーであって、前記第１のユーザーの前記視覚表示が、第２のユーザーに対しレンダリングするように構成されることを特徴とする請求項２記載の方法。
【請求項４】
前記アバターライブラリーから選択され前記ユーザーの視覚表示に適用される前記動画が、前記物理的な空間内に存在している前記ユーザーのキャプチャ装置によって現在キャプチャされるデータに対応しないことを特徴とする請求項１記載の方法。
【請求項５】
キャプチャ装置によってキャプチャされた行動のデータを格納するための方法が、
物理的な空間のデータを受信するステップであって、前記データが、前記物理的な空間内のユーザーを表すものと、
前記データからユーザーの行動を示す特性を識別するステップであって、前記ユーザーの行動がユーザーのジェスチャを含むものと、
前記ユーザーの行動を示す前記特性の履歴を計算機のメモリー内に格納するステップと、
前記アバターライブラリーに動画を追加するステップ又は書き換えるステップのうち少なくとも１つのステップを含み、前記書き換え又は追加するステップのうちの少なくとも１つが、ユーザーのジェスチャによって促されることを特徴とする方法。
【請求項６】
更に、前記ユーザーに関連付けられたアバターに動画を適用するステップであって、前記動画が、アバターライブラリーから提供され、前記データの履歴から識別された前記ユーザーの行動を代表しているもの、を含む請求項５記載の方法。
【請求項７】
更に、前記ユーザーの行動を示す前記特性の少なくとも１つを当該ユーザーが前記行動を示した文脈上の状況と相互に関連付けることによって、前記ユーザーの行動を前記文脈上の状況と相互に関連付けるステップを含む請求項５記載の方法。
【請求項８】
文脈上の状況が、ユーザーの物理的な環境の状態、ユーザーの仮想的な環境の状態、アプリケーションにおける前記ユーザーの成功、アプリケーションにおける前記ユーザーの不成功、前記ユーザーが前記キャプチャ装置と通信するシステムのアクティブなユーザーであるか否かの表示、又は第２のユーザーの存在、を含むことを特徴とする請求項５記載の方法。
【請求項９】
更に、
前記ユーザーに対して現れる文脈上の状況を識別するステップと、
前記文脈上の状況を前記ユーザーの行動を示す前記特性の前記履歴と比較し、前記ユーザーの行動を示す前記特性の少なくとも１つと前記文脈上の状況との間の相関関係を識別するステップと、
前記文脈上の状況に対応する前記ユーザーの行動を代表する動画を動画ライブラリーから選択するステップと、を含む請求項８記載の方法。
【請求項１０】
前記アバターライブラリーが、事前にパッケージ化されたアバターライブラリーであって、動画を書き換えるステップが、前記事前にパッケージ化されたアバターライブラリーの動画を、前記ユーザーの行動を示す前記特性履歴に対応するように書き換えるステップであることと、
前記動画を前記アバターライブラリーに追加するステップが、前記物理的な空間内のユーザーの動作を記録するステップと前記ユーザーの動作を代表する動画を前記アバターライブラリーに追加するステップとを含むことと、を特徴とする請求項５記載の方法。  
【請求項１１】
更に、前記動画を前記アバターライブラリーに追加する前に前記動画を検証するステップを含む請求項１０記載の方法。
【請求項１２】
前記ユーザーの行動を示す前記特性が、物理的な特性、顔の特徴、スピーチパターン、言葉遣い、音声コマンド、ジェスチャ、動作、又は体位、のうち少なくとも１つを含むことを特徴とする請求項５記載の方法。
【請求項１３】
前記データからユーザーの行動の特性を識別するステップが、前記キャプチャ装置と通信するシステムの制御を第２のユーザーが有する間、前記ユーザーの自然な行動に関連付けられる特性を受動的に識別するステップ、又はユーザーのジェスチャに関連付けられた特性を能動的に識別するステップを含むことを特徴とする請求項５記載の方法。
【請求項１４】
動画をユーザーの視覚表示に適用するためのシステムであって、
プロセッサと、
前記システムが動作中前記プロセッサと通信するメモリーであって、前記メモリーはプロセッサ実行可能命令を支持し、当該命令はプロセッサ上で実行されたときシステムをして少なくとも、
前記ユーザーの視覚表示をレンダリングするステップと、
表示装置上に前記レンダリングされた視覚表示を表示するステップと、
ユーザーのデータの履歴から識別されたユーザーの行動を表す動画をアバターライブラリーから選択するステップであって、前記ユーザーの行動はユーザーのジェスチャを含み、前記ユーザーのデータの履歴が、物理的な空間から以前にキャプチャされたユーザーのデータを含むものと、
前記アバターライブラリーからの前記動画を前記ユーザーの前記視覚表示に適用するステップと、
前記表示装置上に前記視覚表示用の動画を表示するステップと、
キャプチャ装置によってキャプチャされた前記ユーザーの行動に対応するように、前記アバターライブラリー内の前記動画を書き換えるステップと、
をさせ、前記動画を書き換えるステップが、前記物理的な空間内のユーザーのジェスチャによって促されることを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジェスチャベースシステムに関し、具体的には視覚表示をカスタマイズするための方法及びシステムに関する。
【背景技術】
【０００２】
[0001]様々なアプリケーションは、ユーザーに対応する視覚表示を示し、ユーザーは、リモート又は移動中にコントローラー上のボタンを何らかの方法で選択するなど一定の動作を介してこれを制御可能である。視覚表示は、典型的に、二次元的（２Ｄ）又は立体的（３Ｄ）なモデル形式を取る計算機の表示であって、コンピューターゲーム、テレビゲーム、チャット、フォーラム、コミュニティ、インスタントメッセージングサービスなど様々なアプリケーションにおいてレンダリングされる。視覚表示は、アバター、架空のキャラクター、漫画又は動物、カーソル、手のような形式があり得る。コンピューターゲーム、マルチメディアアプリケーション、オフィスアプリケーションのようなコンピューティングアプリケーションの多くは、アプリケーションにおいてユーザーのアバターとして使用するために選択され得る所定の動画キャラクターの選択を提供している。典型的に、アバターによって実行される動画は、動画ライブラリーから選択される。ユーザーは、例えば、リモート上のボタン又はキーを押下することによって、そのライブラリーから特定の動画を実行するそれらのアバターを選択できる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明の目的は、ユーザーの傾向を学習し、ユーザーのアバターに動画を知的に適用し、識別されたユーザーの傾向に従ってアバターが行動して応答するシステム及び方法を提供することである。
【課題を解決するための手段】
【０００４】
[0002]本明細書に開示されるものは、ユーザーからの入力を学習することを介し、動画を実行するために、アバターを知的に訓練するための技法である。時間とともに、仮想的な空間内のアバターが、ユーザーの特徴、行動、傾向、音声パターンなどを含む、物理的な空間内のユーザーの様相を反映したものになるように見え得る。例えば、システムは、物理的な空間内のユーザーに関するデータをキャプチャするキャプチャ装置を有し得る。本システムは、ユーザーの特徴、傾向、音声パターン、行動、ジェスチャなどを識別し得る。本システムは、時間とともにユーザーの傾向を学習し得、アバターが識別されたユーザーの行動に従って行動して応答するように動画をユーザーのアバターに知的に適用し得る。かくして、動画を実行するようにアバターを訓練することは、ユーザーからの入力を学習することと、ユーザーに類似するようにアバターを形作ることと、を含み得る。
【０００５】
[0003]本システムは、故に、ユーザーが物理的な空間内に存在しているか否かに関係なく、ユーザーに類似したアバターをレンダリングし得る。実施形態例において、アバターに適用される動画は、例えば、プログラム、アプリケーション、又はシステムが搭載する事前にパッケージ化された動画ライブラリーから選択された動画であり得る。選択される動画は、本システムが学習したユーザーの入力に対応しているものであり得る。別の実施形態例において、ライブラリーの動画は、ユーザーによって入力されアバターの動画のボキャブラリーに記録された動画であり得る。例えば、本システム又はユーザーは、例えば、キャプチャ装置によってキャプチャされたユーザーの実際の動作又は行動を反映するように動画を再プログラムし得る。かくして、動画が、アバターの動画ライブラリーに追加又は上書きされ得る。
【０００６】
[0004]この「課題を解決するための手段」は更に、「発明を実施するための形態」に後述される概念のいくつかを簡易化した形式で紹介するために提供される。この「課題を解決するための手段」は、請求対象項目の重要な機能も本質的な特徴も特定するように意図されておらず、請求対象項目の範囲を限定するために利用されることも意図されていない。更に、請求対象項目は、この開示の任意の一部に記述した不都合点のいくつか又はすべてを解決する実装に限定されない。
【０００７】
[0005]この明細書に従って添付図面を参照し、視覚表示を修正するためのシステム、方法、及び計算機可読媒体が更に、説明される。
【図面の簡単な説明】
【０００８】
【図１】[0006]ゲームをするユーザーと目標認識、解析、及びトラッキングシステムの実施形態の例を示している。
【図２】[0007]目標認識、解析、及びトラッキングシステムにおいて使用され得、推論と動画とを混合した技法を組み込み得るキャプチャ装置の実施形態例を示している。
【図３】[0008]本明細書に記載した動画技法が具体化され得る計算環境の実施形態例を示している。
【図４】[0009]本明細書に記載した動画技法が具体化され得る計算環境の別の実施形態例を示している。
【図５Ａ】[0010]立体視画像から生成されたユーザーの骨格マッピングを例示している。
【図５Ｂ】[0011]図２に示したジェスチャ認識装置アーキテクチャの更なる詳細を例示している。
【図６Ａ】[0012]目標認識、解析、トラッキングシステムの例、及びそのユーザーによる入力の履歴に基づいてユーザーのアバターを表示するための実施形態の例を表している。
【図６Ｂ】[0012]目標認識、解析、トラッキングシステムの例、及びそのユーザーによる入力の履歴に基づいてユーザーのアバターを表示するための実施形態の例を表している。
【図７Ａ】[0013]２人のユーザーそれぞれの目標、認識、及びトラッキングシステムを介しお互いとリモートで対話しているユーザーを表している。
【図７Ｂ】[0013]第２のユーザーがシーンに存在しないところで第２のユーザーのアバターと対話している第１のユーザーを表している。
【図８】[0014]ユーザーの入力に関連する行動のデータを収集する方法に関する流れ図の例を表している。
【図９】[0015]動画をユーザーのアバターに知的に適用する方法に関する流れ図の例を表している。
【発明を実施するための形態】
【０００９】
[0016]本明細書に開示されるものは、ユーザーに従って行動するアバターのような、ユーザーの視覚表示をレンダリングするための技法である。例えば、ユーザーの入力を介しユーザーの傾向を学習することによって動画を実行するアバターを知的に訓練することを含むシステム及び方法が開示される。ユーザーの視覚表示は、物理的な空間内のユーザーに対応するアバター、画面上のカーソル、手、又は別の任意の仮想的なオブジェクト形式であり得る。計算システムは、物理的な空間からデータをキャプチャによってユーザーの視覚表示をモデル化して表示できる。例えば、本システムは、シーンの画像データをキャプチャするキャプチャ装置と、シーンのユーザーに対応する視覚表示を表示するモニターと、を含み得る。ユーザーの物理的な特性に基づいて、視覚表示を初期化し及び／又はカスタマイズすることが望まれ得る。例えば、キャプチャ装置がユーザーの物理的な特徴を識別し得、識別された彼らの目の形、鼻の形、服、アクセサリーなどそれらの特徴に基づいてユーザーのアバターをカスタマイズし得る。
【００１０】
[0017]物理的な空間内のユーザーを代表するモデルを生成するために、キャプチャ装置は、シーンの立体視画像をキャプチャし得、シーンの目標又は被写体をスキャンし得る。一実施形態において、キャプチャ装置は、シーン中の１つ以上の目標又は被写体がユーザーのようなヒューマンターゲットに対応しているか否か決定し得る。シーン中の目標又は被写体がヒューマンターゲットに対応しているか否か決定するために、目標それぞれは大量情報で満たされ得、人体モデルのパターンと比較され得る。人体モデルと一致する目標又は被写体それぞれが、その後、スキャンされ得、それに関連付けられた骨格モデルを生成し得る。例えば、人間として識別された目標がスキャンされ得、それに関連付けられた骨格モデルを生成し得る。骨格又はメッシュモデルのようなユーザーのモデルは、ユーザーの体型、骨格、身長、体重などを表し得る。モデルをトラッキングし、モデルに関連付けたアバターをレンダリングするためにモデルは、その後、計算環境に提供され得る。
【００１１】
[0018]本システムは、物理的な空間内のユーザー及び任意の動きをトラッキングしユーザーの視覚表示に適用され得るユーザーの特徴を識別し得る。識別される特性は、ユーザーの行動を示し得る。例えば、本システムは、ユーザーの物理的な特徴、傾向、音声パターン、ジェスチャなどを識別し得る。本システムは、ユーザーを時間とともにトラッキングし得、トラッキングされたデータの履歴に基づく修正又は更新をユーザーのアバターに適用し続け得る。例えば、キャプチャ装置が、ユーザーの行動、癖、感情、スピーチパターンなどを識別し、これらをユーザーのアバターに適用し続け得る。本システムがそのユーザーに関連するデータの履歴を集積するにつれて、ユーザーに対するアバターの類似性に関連して、レンダリングされるアバターの忠実性が時間とともに増大する。
【００１２】
[0019]本明細書に記載したアバターの生成及びカスタマイズシステム、方法、及びコンポーネントは、例としてどんな意図した限定もしない、ゲームコンソールなどのマルチメディアコンソール又は目標の視覚表示の表示が所望される衛星電波受信装置、セットトップボックス、アーケードゲーム、パーソナルコンピューター（ＰＣ）、携帯電話、携帯情報端末（ＰＤＡ）、及びその他の携帯端末を含み得る別の任意の計算装置において具体化され得る。
【００１３】
[0020]図１Ａ及び図１Ｂは、ユーザーに類似したアバターを生成するユーザーの入力の履歴をトラッキングする技法を使用し得、目標認識、解析、及びトラッキングシステム（１０）に関する構成の実施形態例を例示する。実施形態例において、ユーザー（１８）は、ボクシングゲームをしている。実施形態例において、システム（１０）は、ユーザー（１８）のようなヒューマンターゲットを認識し、解析し、及び／又はトラッキングし得る。システム（１０）は、物理的な空間内のユーザーのジェスチャ並びにユーザーの物理的な特徴及び行動の特性に関連する情報を収集し得る。
【００１４】
[0021]図１Ａに示した目標認識、解析、及びトラッキングシステム（１０）は、計算環境（１２）を含み得る。計算環境（１２）は、計算機、ゲームシステム、又はゲーム機などであり得る。実施形態例による計算環境（１２）は、ハードウェアコンポーネント及び／又はソフトウェアコンポーネントを含み得、計算環境（１２）が、ゲームアプリケーション、非ゲームアプリケーションなどのようなアプリケーションを実行するために使用され得る。
【００１５】
[0022]図１Ａに示した目標認識、解析、及びトラッキングシステム（１０）は更に、キャプチャ装置（２０）を含み得る。キャプチャ装置（２０）は、例えば、ユーザー（１８）のような１人以上のユーザーを視覚的に監視するために使用され得るカメラであり得、１人以上のユーザーによって実行されるジェスチャが、キャプチャされ得、解析され得、トラッキングされ得、より詳細に後述されるようにアプリケーション内において１つ以上のコントロール又は動作を実行し得る。
【００１６】
[0023]一実施形態による目標認識、解析、及びトラッキングシステム（１０）は、ゲーム、又は映像アプリケーション及び／又は音声アプリケーションをユーザー（１８）のようなユーザーに提供し得るテレビ、モニター、ハイビジョンテレビ（ＨＤＴＶ）などのような視聴覚装置（１６）と接続され得る。例えば、計算環境（１２）は、グラフィックカードなどのビデオアダプター及び／又はサウンドカードなどの音声アダプターを含み得、ゲームアプリケーション、非ゲームアプリケーションなどに関連する視聴覚信号を提供し得る。視聴覚装置（１６）は、計算環境（１２）から視聴覚信号を受信し得、その後、視聴覚信号と関連付けられたゲーム、又は映像アプリケーション及び／又は音声アプリケーションをユーザー（１８）へ出力し得る。一実施形態による視聴覚装置（１６）は、例えば、Ｓ−Ｖｉｄｅｏケーブル、同軸ケーブル、ＨＤＭＩケーブル、ＤＶＩケーブル、ＶＧＡケーブルなどを介し計算環境（１２）と接続され得る。
【００１７】
[0024]図１に示した目標認識、解析、及びトラッキングシステム（１０）は、ユーザー（１８）などのヒューマンターゲットを認識し、解析し、及び／又はトラッキングするために使用され得る。視覚表示の動作は、視覚表示の動きを物理的な空間内のユーザーの動作へマッピングすることによって制御され得る。物理的な空間の動作が、仮想的な空間及び／又はゲーム空間のようなシステム空間内又はアプリケーション空間内におけるコントロールに対応しているジェスチャであり得る。例えば、ユーザー（１８）は、キャプチャ装置（２０）を使用してトラッキングされ得、ユーザー（１８）の動作は、コンピューター環境（１２）によって実行されているアプリケーションに作用するように使用され得るコントロールとして解釈され得る。例えば、認識され、ユーザーのモデルにマッピングされたユーザーのジェスチャに基づいて、計算環境が、計算機環境上で実行するアプリケーションにおいて実行するコントロールを決定し得る。かくして、ユーザーは、物理的な空間内においてジェスチャを実行することによってアバターの動作を制御し得る。
【００１８】
[0025]キャプチャされる動作は、物理的な空間内の任意の動作であり得、カメラのようなキャプチャ装置によってキャプチャされる。キャプチャされる動作は、物理的な空間内のユーザー又は被写体のような目標の動きを含み得る。キャプチャされる動作は、オペレーティングシステム又はアプリケーションにおけるコントロールへ変換するジェスチャを含み得る。動作は、走行動作のように動的であり得るか又は動きがない姿勢のユーザーのように静的であり得る。
【００１９】
[0026]システム（１０）は、キャプチャ装置（２０）への入力を動画に変換し得、入力はユーザーの動作を代表していて、動画がその入力によって駆動される。かくして、ユーザーの動作はアバター（４０）へマッピングし得、物理的な空間内のユーザーの動作がアバター（４０）によって実行される。ユーザーの動作は、アプリケーションのコントロールに適用可能なジェスチャであり得る。図１Ａ及び図１Ｂに示した実施形態例において、計算環境（１２）上で実行しているアプリケーションは、ユーザー（１８）が対戦しているボクシングゲームであり得る。
【００２０】
[0027]キャプチャ装置（２０）は、ユーザーの行動を代表するデータをキャプチャし得る。例えば、キャプチャ装置は、ユーザーの行動を示す特性をキャプチャし得る。上記特性は、ユーザーの体位、顔の表情、音声コマンド、スピーチパターン、ジェスチャなどを含み得る。計算環境（１２）は、キャプチャされたデータを解析し得、ユーザーの環境の状況、システム又はアプリケーションの状態、アプリケーションにおけるユーザーの成功／結果、ユーザーのアクティブな状態又は非アクティブな状態、又は別の任意の検出可能な状況など、文脈上の状況とユーザーの行動とを相互に関連付け得る。かくして、本システムは、ユーザーが様々な状況にどのように応答するかユーザーの行動の傾向などを学習し得る。
【００２１】
[0028]計算環境（１２）は、ユーザー（１８）が彼又は彼女の動きを使って制御し得るプレーヤーアバター（４０）の視覚表示を提供するための視聴覚装置（１６）を使用し得る。プレーヤーアバター（４０）はキャプチャ装置（２０）によって識別されたユーザーの特徴を有し得るか、又はシステム（１０）は、ユーザーの動作にマッピングする視覚表示に周知のボクサーの特徴を使用するか又はプロボクサーの体を描き得る。実施形態例に従って、計算機環境（１２）並びに目標認識、解析、及びトラッキングシステム（１０）のキャプチャ装置（２０）が、物理的な空間内のユーザー（１８）のパンチを認識し、解析するために使用され得、パンチが、ゲーム空間においてプレーヤーアバター（４０）のゲームコントロールとして解釈され得る。例えば、図１Ｂに示したユーザー（１８）は、プレーヤーアバター（４０）がゲーム空間内でパンチを飛ばすことをもたらすように物理的な空間内においてパンチを飛ばし得る。計算環境（１２）は、ボクシングの対戦相手（３８）の視覚表示をユーザー（１８）に提供するための視聴覚装置（１６）も使用し得る。
【００２２】
[0029]素早く上下する、曲がって進む、足を引きずって歩く、妨害する、ジャブで突く、又は異なる様々なパンチ力で食らわすためのコントロールなど、ユーザー（１８）による別の動作も別のコントロール又は動作として解釈され得、使用され得る。更に、動作の中には、ユーザーのアバター（４０）の制御以外の動作に相当し得るコントロールとして解釈され得るものもある。例えば、プレーヤーは、ゲームを終了し、一時停止し、又はセーブし、レベルを選択し、ハイスコアを眺め、友人との通信を実行するための動作などを使用し得る。加えると、ユーザー（１８）の動作の範囲すべてが利用可能であって、使用され、アプリケーションと対話するために適切な任意の方法で解析され得る。
【００２３】
[0030]複数のユーザーは離れた場所から互いに対話し得る。例えば、ボクシングの対戦相手（３８）の視覚表示は、物理的な空間内のユーザー（１８）と一緒に存在する第２のユーザー又は第２の物理的な空間内のネットワークユーザーのような別のユーザーを代表し得る。代替として、本システムは、ユーザーが物理的な空間内に存在しているか又は本システム／アプリケーションと対話しているか否かに関係なく、ユーザーに関連付けられたアバターをレンダリングし得る。例えば、第１のユーザーのアバターは、第２のユーザーのアバターと対話し得る。第１のユーザーは、物理的な空間内に存在し得、第１のユーザーのアバターのジェスチャ及び動きを制御し得る。しかしながら、第２のユーザーのアバターに関連付けられた第２のユーザーは、物理的な空間内に存在し得ない。本システムは、第２のユーザーによる入力の履歴を利用してアバターが第２のユーザーの入力から学習される行動に類似するように、動画を第２のユーザーのアバターに知的に適用し得る。第２のユーザーのアバターは、第２のユーザーに類似し得、アプリケーションに適用可能な第２のユーザーの傾向、習慣、及び別の特性を密接に反映し得る。第１のユーザーは故に、第２のユーザーが物理的に存在していて第２のユーザーのアバターを制御している実体と類似し得る第２のユーザーのアバターと仮想的な世界の体験を有し得る。
【００２４】
[0031]実施形態例において、ユーザー（１８）のようなヒューマンターゲットは、物体を有し得る。上記の実施形態において、コンピューターゲームのユーザーは物体を手に持つ場合があって、プレーヤーの動作と物体とが、ゲームのパラメーターを調整し及び／又は制御するために使用され得る。例えば、ラケットを手に持つプレーヤーの動作が、コンピュータースポーツゲームにおいて、スクリーン上のラケットを制御するためにトラッキングされ得、利用され得る。別の実施形態例において、物体を手に持つプレーヤーの動作が、コンピューターの戦闘ゲームにおいて、スクリーン上の兵器を制御するためにトラッキングされ得、利用され得る。ユーザーのジェスチャ又は動きは、プレーヤーアバター（４０）を制御する以外の動きに対応し得るコントロールとして解釈され得る。例えば、プレーヤーは、ゲームを終了し、一時停止し、又はセーブし、レベルを選択し、ハイスコアを眺め、友人との通信を実行するための動作などを使用し得る。制御可能なオペレーティングシステム及び／又はアプリケーションの任意の様相が、仮想的にユーザー（１８）のような目標の動きによって制御され得る。
【００２５】
[0032]別の実施形態例による目標認識、解析、及びトラッキングシステム（１０）が、オペレーティングシステム及び／又はゲーム分野以外のアプリケーションの様相を制御するために、目標の動きを解釈し得る。ユーザーのジェスチャは、オペレーティングシステム、ゲームのゲーム以外の様相又は非ゲームアプリケーションに適用可能なコントロールであり得る。ユーザーのジェスチャは、ユーザーインターフェースを制御するオブジェクトの操作として解釈され得る。例えば、垂直に左から右へ並んだブレード又はタブを有するユーザーインターフェースインターフェースであってブレード又はタブそれぞれの選択が、アプリケーション又はシステム内の様々なコントロールに関するオプションを開始するものを考えられたい。本システムは、タブの動きに対するユーザーの手のジェスチャを識別し得、物理的な空間内のユーザーの手がアプリケーション空間内のタブを使って仮想的に整列される。一時停止動作、掴み動作、及びその後、左に手をはらう動作を含むジェスチャが、タブの選択と、その後、次のタブを開く方向への動きとして解釈され得る。同様に、本システムは、任意のタイプのアプリケーションの実行を通してユーザーの入力からユーザーの行動を学習し得る。本システムは、そのアプリケーション又は別の任意のアプリケーションにおいて学習した入力に従って行動するようにユーザーのアバターを動画化し得る。
【００２６】
[0033]図２は、ユーザー又は被写体であり得る目標の目標認識、解析、及びトラッキングするために使用され得るキャプチャ装置（２０）の実施形態例を示している。実施形態例によるキャプチャ装置（２０）は、例えば、飛行時間技法、構造光技法、立体視画像技法などを含む適切な任意の技法を介し、深度値を含み得る立体視画像を含む立体視情報を有する映像をキャプチャするように構成され得る。一実施形態によるキャプチャ装置（２０）は、算出された立体視情報を「Ｚレイヤ」又はその照準線に沿って立体視カメラから延長したＺ軸に垂直であり得るレイヤへ統合化し得る。
【００２７】
[0034]図２のようにキャプチャ装置（２０）は画像カメラコンポーネント（２２）を含み得る。実施形態例による画像カメラコンポーネント（２２）は、シーンの立体視画像をキャプチャする立体視カメラであり得る。立体視画像は、キャプチャされたシーンの二次元（２−Ｄ）画素領域を含み得、２−Ｄ画素領域の画素それぞれが、カメラからキャプチャされたシーンの例えば、センチメートル、ミリメートルで被写体の長さ又は距離などのような深度値を示し得る。
【００２８】
[0035]図２のように実施形態例による画像カメラコンポーネント（２２）は、シーンの立体視画像をキャプチャするために使用され得る赤外線光コンポーネント（２４）、立体視（３−Ｄ）カメラ（２６）、及びＲＧＢカメラ（２８）を含み得る。例えば、飛行時間解析においてキャプチャ装置（２０）の赤外線光コンポーネント（２４）は、赤外光をシーンに放射し得、その後、（示されていない）センサーを使用し、例えば、立体視カメラ（２６）及び／又はＲＧＢカメラ（２８）を使用し、シーンにおける目標及び被写体の１つ以上の表面から後方散乱光を検出する。実施形態の中には、赤外線パルス光が使用され得るものもあって、出射パルス光と応答着信パルス光との間の時間が測定され得、キャプチャ装置（２０）からシーンにおける目標又は被写体上の特定の位置までの物理的な距離を決定するために使用され得る。加えると別の実施形態例の中には、出射パルス光波の位相が、位相変動を決定する着信光波の位相と比較され得るものもある。その後、位相変動が、キャプチャ装置（２０）から目標又は被写体上の特定の位置までの物理的な距離を決定するために使用され得る。
【００２９】
[0036]別の実施形態例による飛行解析時間が使用され得、例えば、シャッターパルス光画像化を含む様々な技法を介し、長い時間をかけて反射される光線強度を解析することによってキャプチャ装置（２０）から目標又は被写体上の特定位置までの物理的な距離を間接的に決定し得る。
【００３０】
[0037]別の実施形態例において、キャプチャ装置（２０）は、立体視情報をキャプチャするために構造光を使用し得る。そのような解析において、パターン光（すなわち、周知のグリッドパターン又は縞模様のようなパターンとして表示される光）が、例えば、赤外線光コンポーネント（２４）を介しシーン上に映し出され得る。シーンにおいて目標又は被写体１つ以上の表面を叩くと、それに応じてパターンが変形する。そのようなパターンの変形が、例えば、立体視カメラ（２６）及び／又はＲＧＢカメラ（２８）によってキャプチャされ得、その後、キャプチャ装置（２０）から目標又は被写体上の特定位置までの物理的な距離を決定するために解析され得る。
【００３１】
[0038]別の実施形態によるキャプチャ装置（２０）は、分解され得る視覚的立体視データを取得し立体視情報を生成するために、異なる角度からシーンを眺め得る物理的に別個の２つ以上のカメラを含み得る。
【００３２】
[0039]キャプチャ装置（２０）は更に、マイクロフォン（３０）又はマイクロフォンアレイを含み得る。マイクロフォン（３０）は、音声を受信し電気的信号に変換し得る変換器又はセンサーを含み得る。一実施形態によるマイクロフォン（３０）は、目標認識、解析、及びトラッキングシステム（１０）のキャプチャ装置（２０）と計算環境（１２）との間のフィードバックを減少させるために使用され得る。加えると、マイクロフォン（３０）は、計算環境（１２）によって実行されるゲームアプリケーション、非ゲームのアプリケーションなどのようなアプリケーションを制御するためのユーザーによって提供され得る音声信号を受信するためにも使用され得る。
【００３３】
[0040]実施形態例において、キャプチャ装置（２０）は更に、画像カメラコンポーネント（２２）と作用し通信し得るプロセッサー（３２）を含み得る。プロセッサー（３２）は、立体視画像を受信し、適切な目標が立体視画像に含まれ得るか否か決定し、適切な目標を骨格表現又は目標モデル又は適切な別の任意の命令に変換するための命令を含み得る命令を実行し得る標準プロセッサー、専用プロセッサー、マイクロプロセッサーなどを含み得る。
【００３４】
[0041]キャプチャ装置（２０）は更に、メモリーコンポーネント（３４）を含み得、プロセッサー（３２）によって実行される命令、３-Ｄカメラ（２６）若しくはＲＧＢカメラ（２８）によってキャプチャされる画像、又は画像のフレーム、別の適切な任意の情報、画像などをストアし得る。実施形態例によるメモリーコンポーネント（３４）は、ランダムアクセスメモリー（ＲＡＭ）、読み出し専用メモリー（ＲＯＭ）、キャッシュメモリー、フラッシュメモリー、ハードディスク、又は別の適切な任意のストレージコンポーネントを含み得る。図２のように一実施形態において、メモリーコンポーネント（３４）は、画像キャプチャコンポーネント（２２）及びプロセッサー（３２）と通信する別個のコンポーネントであり得る。別の実施形態によるメモリーコンポーネント（３４）は、プロセッサー（３２）及び／又は画像キャプチャコンポーネント（２２）に統合され得る。
【００３５】
[0042]図２のようにキャプチャ装置（２０）は、通信リンク（３６）を介し計算環境（１２）と通信し得る。通信リンク（３６）は、例えば、ＵＳＢ接続、ファイヤーワイヤー接続、イーサネットケーブル接続などを含む有線接続、及び／又は無線８０２．１１ｂ, １１g, １１a, 又は１１ｎ接続などの無線接続であり得る。一実施形態による計算環境（１２）が、例えば、通信リンク（３６）を介し、シーンをいつキャプチャにするか決定するために使用され得るクロックをキャプチャ装置（２０）に提供し得る。
【００３６】
[0043]加えると、キャプチャ装置（２０）は、例えば、３-Ｄカメラ（２６）及び／又はＲＧＢカメラ（２８）によってキャプチャされた立体視情報及び画像、及びキャプチャ装置（２０）によって生成され得る骨格モデルを、通信リンク（３６）を介し計算環境（１２）に提供し得る。その後、計算環境（１２）が、骨格モデル、立体視情報、及びキャプチャされた画像を使用し得、例えば、ゲーム又はワードプロセッサーなどのアプリケーションをコントロールし得る。例えば、図２のように計算環境（１２）は、ジェスチャライブラリー（１９２）を含み得る。
【００３７】
[0044]図２に示した計算環境（１２）は、ジェスチャライブラリー（１９０）及びジェスチャ認識エンジン（１９２）を含み得る。ジェスチャ認識エンジン（１９２）は、ジェスチャフィルター（１９１）の集合を含み得る。フィルター（１９１）それぞれは、そのジェスチャに関するパラメーター又はメタデータを伴うジェスチャを定義している情報を含み得る。例えば、投げの動作は、体の後ろから体の前を通過する一方の手の動作を含んでいて、その動きが立体視カメラによってキャプチャされるように体の後ろから体の前を通過するユーザーの一方の手の動きを表す情報を含むジェスチャフィルター（１９１）として実装され得る。そのジェスチャに関するパラメーターは、その後、設定され得る。ジェスチャが投げる動作であるところにおいては、パラメーターは、手が届かなければならない臨界速度、手が伸びる必要がある（概してユーザーの大きさに対し絶対的か又は相対的どちらか一方の）距離、及び認識装置エンジンによって評定しているジェスチャが生じた信頼度、であり得る。ジェスチャに関するこれらのパラメーターは、アプリケーション間、又は単一のアプリケーションの文脈間、又は１つのアプリケーションの１つの文脈の中で時間とともに変化し得る。
【００３８】
[0045]カメラ（２６）、（２８）、及び機器（２０）によってキャプチャされた骨格モデル形式データ及びそれに関連付けられた動作が（骨格モデルによって示される）ユーザーがいつ１つ以上のジェスチャを実行したか識別するために、ジェスチャライブラリー（１９０）のジェスチャフィルター（１９１）と比較され得る。かくして、フィルター（１９１）のようなフィルターへの入力は、ユーザーの関節部分に関する関節データ、関節で接合する骨によって形成される角度、シーンが提供するＲＧＢカラーデータ、及びユーザーの様子の変化率などを含み得る。言及したジェスチャに関するパラメーターが設定され得る。フィルター（１９１）からの出力は、特定のジェスチャを実行している信頼度、ジェスチャ動作が実行される速度、ジェスチャが生じた時間などを含み得る。
【００３９】
[0046]計算環境（１２）は、部屋の中の立体視画像を処理し、ユーザー（１８）又はオブジェクトなど、どのような目標がシーンにあるかを決定するプロセッサー（１９５）を含み得る。これは、例えば、類似する距離の値を共有する立体視画像の画素を一緒に分類することによって実行され得る。ユーザーの骨格の表示を製造するための画像が、関節の間で接合する関節及び組織などの特徴も識別されるように解析され得る。骨格の既存のマッピング技術は、立体視カメラを用いて人をキャプチャし、それから手の関節、手首、肘、膝、鼻、足首、肩、及び骨盤が脊椎と接合するユーザーの骨格上の様々な点を決定する。別の技法は、画像を人の体のモデル表示に変換し、画像を人のメッシュモデル表示に変換することを含む。
【００４０】
[0047]実施形態において、処理はキャプチャ装置（２０）（キャプチャ装置（２０）は３Ｄカメラ（２６）を含む）自身の上で実行され、深度及色の値に関する原画像データが、リンク（３６）を介し計算環境（１２）に送信される。別の実施形態において、処理はカメラ（４０２）に接続されたプロセッサー（３２）によって実行され、その後、解析された画像データが計算環境（１２）に送信される。更に別の実施形態において、原画像データ及び解析された画像データ双方が、計算環境（１２）に送信される。計算環境（１２）は、解析された画像データを受信し得るが、それはまだ、現在のプロセス又はアプリケーションを実行するための未加工データを受信し得る。例えば、シーン画像をコンピューターネットワーク上の別のユーザーに送信する場合、計算環境（１２）は、別の計算環境によって処理するための未加工データを送信し得る。
【００４１】
[0048]計算環境（１２）は、骨格モデルの動きを解釈し、アプリケーションを動きに基づいてコントロールするためのジェスチャライブラリー（１９２）を使用し得る。計算環境（１２）は、アバター又はポインタの形式などのユーザーの表示をモデル化し、表示装置（１９３）のようなディスプレイ上に表示し得る。表示装置（１９３）は、コンピューター用モニター、テレビ画面、又は適切な任意の表示装置を含み得る。例えば、カメラで制御されたコンピューターシステムは、ユーザー画像データをキャプチャし得、ユーザーのジェスチャにマッピングするテレビ画面にユーザーフィードバックを表示し得る。ユーザーフィードバックは、図１に示した画面のアバターとして表示され得る。アバターの動作は、アバターの動きをユーザーの動作へマッピングすることによって直接制御され得る。ユーザーのジェスチャが解釈され得、いくつかのアプリケーションの様相を制御し得る。
【００４２】
[0049]実施形態例による目標は、仮想的な画面を生成し、ユーザーを１つ以上の格納されたプロファイルと比較するためにスキャンされ、トラッキングされ、モデル化され、及び／又は評価され、及び／又は目標に関するプロファイル情報（１９８）を計算環境（１２）などの計算環境に格納する、立っているか又は座っている任意の位置のヒューマンターゲット、オブジェクトを有するヒューマンターゲット、２人以上のヒューマンターゲット、１人以上のヒューマンターゲットの１つ以上の腕などであり得る。プロファイル情報（１９８）は、後でアクセスするためのデータを格納するためのユーザープロファイル、個人プロファイル、アプリケーションプロファイル、システムプロファイル、又は別の適切な任意の方法の形式であり得る。プロファイル情報（１９８）は、例えば、アプリケーションを介しアクセス可能か又はシステムの広い範囲で利用可能であり得る。プロファイル情報（１９８）は、特定のユーザープロファイル情報をロードするためのルックアップテーブルを含み得る。仮想的な画面は、図１Ａに関して前述した計算環境（１２）によって実行されるアプリケーションと対話し得る。
【００４３】
[0050]実施形態例によるルックアップテーブルは、ユーザー特有のプロファイル情報を含み得る。一実施形態において、計算環境（１２）のような計算環境は、ルックアップテーブルに１つ以上のユーザーに関するストアしているプロファイルデータ（１９８）を含み得る。格納されているプロファイルデータ（１９８）は、特に、スキャンされた目標又は評価された体の大きさ、骨格モデル、体のモデル、音声サンプル又はパスワード、目標の年令、以前のジェスチャ、目標の制限、及び例えば、腰を下ろす傾向、左利き又は右利き、又はキャプチャ装置に非常に近く立つ傾向など、システムの目標による標準的用法を含み得る。この情報は、キャプチャシーンの目標と１つ以上のユーザープロファイル（１９８）との間に一致があるか否か決定するために使用され得、一実施形態において、プロファイル（１９８）に従ってシステムが仮想的な画面をユーザーに適合可能にするか又は別のコンピューティング体験若しくはゲーム体験の構成要素を適合可能にする。
【００４４】
[0051]１つ以上の個人的なプロファイル（１９８）が、計算機環境（１２）に格納され得、多くのユーザーセッション用に使用されるか又は１つ以上の個人プロファイルが、単一のセッションのためだけに生成され得る。ユーザーは、それらがシステムに音声又はボディスキャン、年齢、個人的な好み、右利き又は左利き、アバター、名前の情報などを提供し得るプロファイルを確立するオプションを有し得る。個人プロファイルは、キャプチャ空間への一歩を越えてもシステムにどんな情報も提供しない「ゲスト」も提供され得る。１人以上のゲストに関する一時的な個人プロファイルが確立され得る。ゲストの個人プロファイルは、ゲストセッションの終わりに格納され得るか又は削除され得る。
【００４５】
[0052]図２に示した計算環境（１２）は、ユーザーのアバターに適用するために選択可能な動画から成るアバターライブラリー（１９６）を含み得る。ユーザープロファイル（１９８）は、アバターライブラリーを含み得るか、さもなければアバターライブラリーをユーザー特有の動画と関連付け得る。ルックアップテーブルは、様々な文脈上の状況に関連するユーザーの行動及び傾向を含み得る。プロファイルは、動画をユーザーのアバターに適用してアバターがユーザーの行動を密接に反映するように使用され得る。
【００４６】
[0053]アバターライブラリーの動画は、アバターに適用され得る任意の特性を含み得る。特性は、ユーザーの行動を示し得る。かくして、ユーザーの行動に適用するために選択される動画は、ユーザーの行動に対応するように選択され得る。動画は音声、スピーチパターン、言葉遣い、音量、言葉、物理的な特徴、動作などのうちどれか１つ又は任意の組み合わせを含み得る。動作は実行中の動きのような動的動作を含むか、又は動作はほとんど動きがないか若しくは全く動きがない姿勢のような静的動作であり得る。アバターライブラリーは、例えば、特定のユーザーに関連付けられ得るか又はユーザープロファイルに格納され得る。
【００４７】
[0054]アバターライブラリー（１９３）の動画は、動画に関するストックライブラリーであり得る。実施形態例において、アバターに適用される動画は、例えば、プログラム、アプリケーション、又はシステムが搭載する事前にパッケージ化された動画ライブラリーから選択された動画を用いて動画化され得る。ユーザーのアバターに適用するために選択される動画は、本システムが学習したユーザーの入力に対応し、一定の行動を反映し得るものであり得る。例えば、本システムは、ユーザーが、ゲームアプリケーションにおいて成功を収めたときのように、一定の文脈において上下に跳躍する傾向があることを識別し得る。かくして、本システムがゲームと同様の（例えば成功）状態など類似した一連の文脈上の状況を識別したとき、本システムは、上下の跳躍を反映する動画を選択し得、その動画をユーザーのアバターに適用し得る。アプリケーション又はシステムに関して事前に準備された動画が定義され得る。例えば、上下に跳躍する動画は、ゲームアプリケーションに適用可能であり得るがしかし、アバターに適用されるファイルのオープン／ファイルのクローズの動画は、システムの広い範囲で同一であり得る。
【００４８】
[0055]アバターライブラリーの動画は、システム又はユーザーによって入力され記録された動画であり得る。本システムによって、ユーザーは動画のストックライブラリーへの上書き又は追加が可能になる。例えば、本システム又はユーザーは、手持ちの動画を上書きし得、例えば、キャプチャ装置によってキャプチャされたユーザーの実際の動作又は行動を反映し得る。かくして、アバターの動画ライブラリーに追加又は上書きされて適用される動画が、特定のユーザーに関連してキャプチャされたデータに調整される。上下に跳躍する動画の例において本システムは、ユーザーの実際の動作を記録することによって、上下跳躍に関する標準の動画又はデフォルトの動画を書き換え得る。かくして、上下跳躍の動画がユーザーのアバターに適用され得、ユーザーの実際の動作に調整される。
【００４９】
[0056]本システムは、ユーザーの入力に関連するデータもアバターライブラリーに格納し得る。アバターライブラリーは、ユーザーの行動及び／又はその行動に対応する状況の指標を含み得る。例えば、状況は、ユーザーの行動と相互に関連する文脈を示す文脈上の状況であり得る。文脈上の状況は、ユーザーの行動に相互に関連し得るか又は関連し得ない識別可能な任意のシナリオの特徴を含み得る。本システムは、ユーザーの行動に関連する文脈上の状況をトラッキングし得、ユーザーの行動において文脈的状況と傾向との間の相関関係を識別し得る。
【００５０】
[0057]文脈上の状況は、例えば、ユーザーの物理的又は仮想的な環境、物理的な空間内に存在する別のユーザー、ゲームの状態、アプリケーションの結果、ユーザーのアクティブ又は非アクティブな状態など、ユーザーの環境の状況を含み得る。ユーザーの環境の状況は、キャプチャ装置によってキャプチャされる壁の色、部屋の家具、照明などのようなシーンに関する物理的な特徴を含み得る。ユーザーの環境の状況は、画面上の動画など仮想的な環境の状況（例えばスキーゲームアプリケーションに表示される仮想的な山）を含み得る。アプリケーションが一時停止された場合のようにアプリケーションの状態は、実行されたアプリケーションの合計時間、（ゲームアプリケーションにおいて）要求される能力レベルなど、アプリケーションの任意の状態を含み得る。アプリケーションにおける結果は、例えば、プログラムがデバッガーを介し順調に実行した場合か又はゲームアプリケーションのプレーヤーがゲームにおける成功又は不成功に達した場合であり得る。
【００５１】
[0058]アプリケーション又はアプリケーション文脈に関するジェスチャライブラリー及びフィルターパラメーターは、ジェスチャツールによって調整され得る。本システムは、アプリケーションの文脈を識別してストアし得、これらをユーザーによる入力と相互に関連付け得る。文脈上の情報を使用して本システムは、ユーザーの一定の行動を文脈と相互に関連付け得る。このように本システムは、アバターが同様の行動を用いて文脈上の状況に応答するように、動画をアバターに知的に適用できる。
【００５２】
[0059]文脈は、識別可能な文脈の状況（すなわち文脈上の状況）を有し得る文化的な文脈であり得、それは環境上の状況であり得る。文化的文脈は、システムを使用したユーザーの文化を参照している。異文化は、類似のジェスチャを使用し、著しく異なる意味を授け得る。例えば、別のユーザーに「見て」又は「目を使って」と言いたいアメリカ人ユーザーは、自分の人差し指を彼の目の方から自分の頭の方に当てる。しかしながら、イタリア人ユーザーにとってこのジェスチャは、マフィアへの参照として解釈され得る。
【００５３】
[0060]同様に、単一アプリケーションの異なる環境の中に異なる文脈又は文脈上の状況があり得る。自動車の操作を伴った一人称形式のシューティングゲームを取り上げたい。ユーザーが歩きながら地面に向かった指でこぶしを作り、こぶしを体から前に延ばすパンチジェスチャを表し得る。ユーザーがドライビング文脈にいる間、同一動作は「ギヤシフト」ジェスチャを表し得る。視覚表示への修正に関連する異なるジェスチャが、環境による異なる修正を起動し得る。異なる起動ジェスチャの修正は、アプリケーション特有の修正モード対システムの広い範囲の修正モードへのエントリーのために使用され得る。それぞれの修正モードは、修正モードに対応する独立した一連のジェスチャを用いてパッケージ化され得、修正起動ジェスチャの結果として入力され得る。例えばボーリングゲームにおいて、腕のスイング動作は、仮想的なボウリングレーンの下で離すためのボーリングボールのスイングとして識別されたジェスチャであり得る。しかしながら、別のアプリケーションにおける腕のスイング動作は、画面に表示したユーザーのアバターの腕を伸ばすリクエストとして識別されたジェスチャであり得る。ユーザーが、自分のゲームをセーブし、自分のキャラクター装備の中から選択し、又はゲームの直接対戦を含まない類似の動作を実行可能な１つ以上のメニュー環境もあり得る。その環境において、この同一のジェスチャは、何かを選択するか又は別の画面に進む第３の意味を有し得る。
【００５４】
[0061]特定のユーザーに対応しているアバターライブラリー又はアプリケーションと一緒に事前にパッケージ化されたアバターライブラリーを含むアバターライブラリーは、アプリケーションを越えて又はシステムの広い範囲のアプリケーションに対しアクセス可能であり得る。例えば、本システムは、様々なアプリケーションを通してユーザーの行動を識別し得る。本システムは、アプリケーションを越えてユーザーの行動に関連するデータすべてを収集し得、それらを普遍的に受理可能なアバターライブラリーに格納し得る。本システムは、その後、アバターライブラリーにアクセスし得、アバターライブラリーからの動画を任意の状況下のアバターに適用し得る。
【００５５】
[0062]ジェスチャは、アバターライブラリーの動画の修正を求めるリクエストとして認識され得る。複数のジェスチャはそれぞれ、特定の動画を修正するためのリクエストを表している。本システムは、特定の動画に関して所望した動作を実行するようにユーザーを促し得る。かくして、ユーザーは、物理的な空間内において、修正ジェスチャとして認識されたジェスチャをすることによって、ユーザーに関連付けられ得るアバターライブラリーを能動的に修正できる。例えば、前述したユーザーの動作は、図２が提供しているジェスチャフィルター（１９１）のようなジェスチャフィルターと比較され得る。ジェスチャフィルター（１９１）は、ジェスチャライブラリー（１９２）の修正ジェスチャ（１９６）が提供する修正ジェスチャに関する情報を含み得る。
【００５６】
[0063]ジェスチャは、そのジャンルのアプリケーションによって使用される傾向がある無償のジェスチャのジャンルのパッケージに一緒に分類され得る。−一般に一緒に使用されるものとしての無償か又は１つのパラメーターにおける変化が別のパラメーターを変更するものとしての無償かどちらか一方の−無償のジェスチャが、一緒にパッケージ化されたジャンルに分類される。これらのパッケージは、少なくとも１つを選択し得るアプリケーションに提供され得る。アプリケーションは、アプリケーション固有の様相に最も適合するようにジェスチャ又はジェスチャフィルター（１９１）のパラメーターを調整又は修正し得る。そのパラメーターは調整されたとき、ジェスチャ又は第２のジェスチャのどちらか一方の第２の賞賛パラメーターも（互いに依存している意味の）パラメーターが賞賛のままであるように調整される。テレビゲームに関するジャンルパッケージは、第１のユーザーシューティング、動作、ドライビング、スポーツなどのジャンルを含み得る。
【００５７】
[0064]ジェスチャライブラリー（１９２）、ジェスチャ認識エンジン（１９０）、及びプロファイル（１９８）は、ハードウェア、ソフトウェア又はその双方の組み合わせで実装され得る。例えば、ジェスチャライブラリー（１９２）、及びジェスチャ認識エンジン（１９０）は、計算環境（１２）のプロセッサー（１９５）（又は図３の演算処理装置（１０１）又は図４の演算処理装置（２５９））のようなプロセッサー上で実行するソフトウェアとして実装され得る。
【００５８】
[0065]後述される図２及び図３〜４に表されたブロック図は、例示的であって特定の実装を含意するために意図していないことを強調されたい。かくして、図１のプロセッサー（１９５）又は（３２）、図３の演算処理装置（１０１）、及び図４の演算処理装置（２５９）は、単一のプロセッサー又は複数のプロセッサーとして実装され得る。複数のプロセッサーが、分散又は集中し位置付けられ得る。例えば、ジェスチャライブラリー（１９０）が、キャプチャ装置のプロセッサー（３２）上で実行するソフトウェアとして実装され得るか、又はそれが計算環境（１２）のプロセッサー（１９５）上で実行するソフトウェアとしてそれは実装され得る。本明細書に開示した技法を実行するために適切な任意のプロセッサーの組み合わせが想定される。複数のプロセッサーは、配線接続か又はその組み合わせを介し無線通信し得る。
【００５９】
[0066]更に、本明細書に使用した計算環境（１２）は、単一の計算装置又は計算システムを参照し得る。計算環境は非計算コンポーネントを含み得る。計算環境は、図２に示した表示装置（１９３）のような表示装置を含み得る。表示装置は、例えば、個別であるが計算環境に接続されたエンティティであり得るか、又は表示装置は、処理、表示する計算装置であり得る。かくして、計算システム、計算装置、計算環境、計算機、プロセッサー、又は別の計算コンポーネントが互換的に使用され得る。
【００６０】
[0067]図３は、目標認識、解析、及びトラッキングシステムにおいて、１つ以上のジェスチャを解釈するために使用され得る計算環境の実施形態例を示している。図１Ａ〜図２に関連し前述した計算環境（１２）のような計算環境は、ゲーム機などのマルチメディアコンソール（１００）であり得る。図３のようにマルチメディアコンソール（１００）は、レベル１キャッシュ（１０２）、レベル２キャッシュ（１０４）、及びフラッシュＲＯＭ（読み出し専用メモリー）（１０６）を有する中央演算処理装置（ＣＰＵ）（１０１）を有している。レベル１キャッシュ（１０２）及びレベル２キャッシュ（１０４）が、データを一時的にストアし、それによってメモリーアクセスサイクル数を減らし、その結果、処理速度及びスループットを改善する。２つ以上のコア、ひいては付加的なレベル１キャッシュ（１０２）及びレベル２キャッシュ（１０４）を有するＣＰＵ（１０１）が提供され得る。フラッシュＲＯＭ（１０６）は、マルチメディアコンソール（１００）が電源投入されたとき、ブートプロセスの初期段階の間、ロードされる実行プログラムをストアし得る。
【００６１】
[0068]グラフィック処理装置（ＧＰＵ）（１０８）及び映像エンコーダー／映像コーデック（符号化器／デコーダー）（１１４）が、高速かつ高解像度画像処理用の映像処理パイプラインを形成する。データが、画像処理装置（１０８）から映像エンコーダー／映像コーデック（１１４）へバスを介し伝達される。映像処理パイプラインは、テレビ又はその他のディスプレイへの伝送用Ａ／Ｖ（音声／映像）ポート（１４０）へデータを出力する。メモリーコントローラー（１１０）が、ＲＡＭ（ランダムアクセスメモリー）に限定しないが、そのような様々なタイプのメモリー（１１２）へのプロセッサーへのアクセスを容易にするＧＰＵ（１０８）と接続される。
【００６２】
[0069]マルチメディアコンソール（１００）は、Ｉ／Ｏコントローラー（１２０）、システム管理コントローラー（１２２）、音声処理装置（１２３）、ネットワークインターフェースコントローラー（１２４）、第１のＵＳＢホストコントローラー（１２６）、第２のＵＳＢコントローラー（１２８）、及び望ましくはモジュール（１１８）上に実装されるフロントパネルＩ／Ｏ部分組立品（１３０）を含む。ＵＳＢコントローラー（１２６）及び（１２８）は、周辺機器コントローラー（１４２（１）〜１４２（２））、無線アダプター（１４８）、及び外部記憶装置（１４６）（例えば、フラッシュメモリー、外付けＣＤ／ＤＶＤ  ＲＯＭドライブ、取り外し可能媒体など）に対しホスティングをする役目を果たす。ネットワークインターフェース（１２４）及び／又は無線アダプター（１４８）は、ネットワーク（例えば、インターネット、ホームネットワークなど）へのアクセスを提供し、イーサネットカード、モデム、ブルートゥースモジュール、ケーブルモデムなどを含む多種多様な有線又は無線アダプターコンポーネントのいずれかであり得る。
【００６３】
[0070]ブートプロセス中、ロードされるアプリケーションデータをストアするためのシステムメモリー（１４３）が提供される。媒体ドライブ（１４４）が提供され、ＤＶＤ／ＣＤドライブ、ハードドライブ、又はその他の取り外し可能媒体ドライブなどを含み得る。媒体ドライブ（１４４）は内蔵か又はマルチメディアコンソール（１００）に外付けであり得る。アプリケーションデータが、マルチメディアコンソール（１００）によって再生などを実行するために媒体ドライブ（１４４）を介しアクセスされ得る。媒体ドライブ（１４４）は、シリアルＡＴＡバス又は他の高速接続（例えばＩＥＥＥ１３９４）などのバスを介しＩ／Ｏコントローラー（１２０）と接続される。
【００６４】
[0071]システム管理コントローラー（１２２）は、マルチメディアコンソール（１００）の利用可能性保証に関連する様々なサービス機能を提供する。音声処理装置（１２３）及び音声コーデック（１３２）が、忠実性の高い三次元処理を用いて応答音声処理パイプライン処理装置を形成する。音声データが、音声処理装置（１２３）と音声コーデック（１３２）との間を通信リンクを介し伝達される。音声処理パイプラインが、音声機能を有する外付けオーディオプレーヤー又は装置によって再生するためにＡ／Ｖポート（１４０）へデータを出力する。
【００６５】
[0072]フロントパネルＩ／Ｏ部分組立品（１３０）が、マルチメディアコンソール（１００）の外面上に見ることができる電源スイッチ（１５０）及びイジェクトボタン（１５２）並びにいくつかのＬＥＤ（発光ダイオード）又は別の指標の機能性を支援する。システム電力供給モジュール（１３６）が、マルチメディアコンソール（１００）のコンポーネントに電力を提供する。ファン（１３８）がマルチメディアコンソール（１００）内部の回路を冷却する。
【００６６】
[0073]マルチメディアコンソール（１００）内部のＣＰＵ（１０１）、ＧＰＵ（１０８）、メモリーコントローラー（１１０）、及びその他の様々なコンポーネントは、シリアルバス及びパラレルバス、メモリーバス、周辺機器用バス、及び様々なバスアーキテクチャのうちいずれかを使用したプロセッサーバス又はローカルバスを含む１つ以上のバスを介し相互に接続される。例として、上記アーキテクチャは、Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔｓ（ＰＣＩ）バス、ＰＣＩ−エクスプレスバスなどを含み得る。
【００６７】
[0074]マルチメディアコンソール（１００）が電源投入されたとき、アプリケーションデータが、システムメモリー（１４３）からメモリー（１１２）及び／又はキャッシュ（１０２）、（１０４）へロードされ、ＣＰＵ（１０１）上で実行される。アプリケーションは、マルチメディアコンソール（１００）上で利用可能な異なる媒体のタイプへナビゲートするとき、一貫性したユーザー体験を提供するグラフィカルユーザーインターフェースを提示し得る。動作中、媒体ドライブ（１４４）内部に含まれるアプリケーション及び／又はその他の媒体は、媒体ドライブ（１４４）から起動され得るか又は再生され得、マルチメディアコンソール（１００）に付加的機能性を提供し得る。
【００６８】
[0075]マルチメディアコンソール（１００）は、システムをテレビ又はその他のディスプレイと単に接続することによって、単独で動作するシステムとして作動され得る。この単独動作モードのマルチメディアコンソール（１００）によって１人以上のユーザーが、システムとの対話、映画の鑑賞、又は音楽の鑑賞が可能になる。しかしながら、ネットワークインターフェース（１２４）又は無線アダプター（１４８）を介し利用可能になるブロードバンドの接続性統合を用いると、マルチメディアコンソール（１００）が更に、より大きなネットワークコミュニティに参加者として作動され得る。
【００６９】
[0076]マルチメディアコンソール（１００）が電源投入時されたとき、設定された量のハードウェア資源が、マルチメディアコンソールのオペレーティングシステムによるシステムを使用するために予約される。これらのリソースは、メモリー（例えば１６ＭＢ）、ＣＰＵ及びＧＰＵサイクル（例えば５％）、ネットワーク帯域幅（例えば８ｋｂｓ）などの予約を含み得る。これらのリソースはシステムのブート時に予約されるため、アプリケーションの観点から予約されるリソースは存在しない。
【００７０】
[0077]具体的にメモリー予約は、望ましくは十分に大きく、起動カーネル、並列システムアプリケーション及びドライバーを含む。ＣＰＵの予約は、望ましくは一定であり、予約されたＣＰＵ利用が、システムアプリケーションによって使用されていない場合、アイドルスレッドが、いくらかの未使用サイクルを消費する。
【００７１】
[0078]ＧＰＵの予約に関すると、システムアプリケーションによって生成される軽い（例えばポップアップ）メッセージが、ポップアップをオーバーレイにレンダリングするプログラムをスケジューリングするＧＰＵ中断を使用することによって、表示される。オーバーレイに要求されるメモリーの総計は、オーバーレイ領域のサイズ及び望ましくは画面解像度を伴うオーバーレイスケールによって決まる。十分なユーザーインターフェースが、並行システムアプリケーションによって使用されるところでは、アプリケーション解像度に影響されずに解像度を利用することが望まれる。スケーラーがこの解像度を設定するために使用され得、テレビの周波数を変更して再同時性をもたらす必要性が省かれる。
【００７２】
[0079]マルチメディアコンソール（１００）が起動し、システム資源が予約された後、システム機能性を提供する並列システムアプリケーションが実行する。システム機能性は、前述した予約されたシステム資源の範囲内で実行する一連のシステムアプリケーションにカプセル化される。オペレーティングシステムカーネルは、ゲームアプリケーションスレッドに対しシステムアプリケーションスレッドであるスレッドを識別する。本システムのアプリケーションは、望ましくは、一貫性のあるシステム資源の表示をアプリケーションに提供するために、所定の時間及び間隔でＣＰＵ（１０１）上で実行するようにスケジューリングされる。スケジューリングは、コンソール上で実行するゲームアプリケーションに対するキャッシュ分裂を最小化することである。
【００７３】
[0080]並行システムアプリケーションが音声を必要とするとき、音声処理が時間感度によって、ゲームアプリケーションと非同期にスケジューリングされる。（後述される）マルチメディアコンソールのアプリケーションマネージャは、システムアプリケーションがアクティブであるとき、ゲームアプリケーションの音声の（例えば、ミュート、減衰）レベルを制御する。
【００７４】
[0081]入力装置（例えば、コントローラー１４２（１）及び１４２（２））が、ゲームアプリケーション及びシステムアプリケーションによって共有される。入力装置は、予約される資源でないが、しかしシステムアプリケーションとゲームアプリケーションとの間で切換えられ、それぞれが装置のフォーカスを有し得る。アプリケーションマネージャが、ゲームアプリケーションの知識がなくても望ましくは入力ストリームの切換えを制御し、ドライバーが、フォーカス切換えに関する状態情報を維持する。カメラ（２６）、（２８）、及びキャプチャ装置（２０）は、コンソール（１００）用の付加入力装置を定義している。
【００７５】
[0082]図４は、目標認識、解析、及びトラッキングシステムにおいて１つ以上のジェスチャを解釈するために使用される図１Ａ〜図２のような計算環境（１２）である別の計算環境（２２０）の実施形態例を示している。計算システム環境（２２０）は、適切な計算環境の一例に過ぎず、開示される本対象項目の利用性又は機能性の範囲に関し、いかなる制限も提示するように意図されていない。計算環境（２２０）は、例示的動作環境（２２０）に示されている一コンポーネント又は任意の組み合わせに関連するいかなる依存性も要件も有していないものとして解釈されたい。実施形態の中には、示した様々な計算エレメントが、今開示される特定の態様を例示するように構成された回路を含み得るものもある。例えば、本開示において使用される用語の回路は、ファームウェア又はスイッチによって機能（単数又は複数）を実行するように構成される専用ハードウェアコンポーネントを含み得る。別の実施形態例の中には、用語の回路が、機能（単数又は複数）を実行するように作動可能なロジックを具体化するソフトウェア命令によって構成された汎用処理装置、メモリーなどを含み得るものもある。回路がハードウェア及びソフトウェアの組み合わせを含む実施形態例において、実装者がロジックを具体化するソースコードを記述し得、ソースコードが汎用演算処理装置によって処理され得る計算機読み出し可能プログラムへコンパイルされ得る。当業者は、技術の最先端が、ハードウェア、ソフトウェア、又はハードウェア／ソフトウェアの組み合わせの間の差異がほとんどない程度に発展していることを十分に理解し得るのであるから、特定機能を実現するためのハードウェア対ソフトウェアの選択は、実装者に任せられた設計選択である。より具体的には、当業者は、ソフトウェアプロセスが同等のハードウェア構造へ変換され得ることと、ハードウェア構造がそれ自体、同等のソフトウェア処理へ変換され得ることと、を十分に理解されよう。かくして、ハードウェア実装対ソフトウェア実装の選択は、設計選択の１つであって実装者に委ねられている。
【００７６】
[0083]図４において、計算環境（２２０）は、典型的に、様々な計算機可読媒体を含む計算機（２４１）を含む。計算機可読媒体は、計算機（２４１）によってアクセスされ得る利用可能な任意の媒体であり得、揮発性及び不揮発性媒体、及び取り外し可能及び取り外し不可能媒体双方を含む。システムメモリー（２２２）は、読み出し専用メモリー（ＲＯＭ）（２２３）及びランダムアクセスメモリー（ＲＡＭ）（２６０）などの揮発性及び／又は不揮発性メモリー形式の計算機記憶媒体を含む。起動中などに計算機（２４１）内部のエレメント間における情報送信を支援する基本ルーチンを含む基本入出力システム（ＢＩＯＳ）（２２４）は、典型的に、ＲＯＭ（２２３）にストアされる。ＲＡＭ（２６０）は、典型的に、演算処理装置（２５９）によって即座にアクセス可能な及び／又は目下作動されているデータ及び／又はプログラムモジュールを含む。非限定の例として、図４は、オペレーティングシステム（２２５）、アプリケーションプログラム（２２６）、その他のプログラムモジュール（２２７）、及びプログラムデータ（２２８）を示している。
【００７７】
[0084]計算機（２４１）は、別の取り外し可能／取り外し不可能、揮発性／不揮発性計算機記憶媒体も含み得る。ほんの一例として、図４は、取り外し不可能、不揮発性磁気媒体から読み出すか又はそれに書き込むハードディスクドライブ（２３８）、取り外し可能、不揮発性磁気ディスク（２５４）から読み出すか又はそれに書き込む磁気ディスクドライブ（２３９）、ＣＤ−ＲＯＭ、又はその他の光学式媒体などの取り外し可能、不揮発性光学式ディスク（２５３）から読み出すか又はそれに書き込む光学式ディスクドライブ（２４０）を示している。例示的な動作環境において使用され得る別の取り外し可能／取り外し不可能、揮発性／不揮発性計算機記憶媒体は、磁気カセットテープ、フラッシュメモリーカード、デジタル多用途ディスク、デジタルビデオテープ、半導体ＲＡＭ、半導体ＲＯＭ等を含むがこれらに限定しない。ハードディスクドライブ（２３８）は、典型的に、インターフェース（２３４）のような取り外し不可能メモリーインターフェースを介しシステムバス（２２１）と接続され、磁気ディスクドライブ（２３９）及び光学式ディスクドライブ（２４０）は、典型的に、インターフェース（２３５）のような取り外し可能メモリーインターフェースによってシステムバス（２２１）と接続される。
【００７８】
[0085]図４に前述され例示したドライブ及びそれらに関連する計算機記憶媒体が、計算機（２４１）に計算機可読命令、データ構造、プログラムモジュール、及び別のデータ記憶装置を提供する。図４において、例えばハードディスクドライブ（２３８）は、オペレーティングシステム（２５８）、アプリケーションプログラム（複数）（２５７）、その他のプログラムモジュール（複数）（２５６）、及びプログラムデータ（２５５）をストアするように例示されている。これらのコンポーネントが、オペレーティングシステム（２２５）、アプリケーションプログラム（複数）（２２６）、その他のプログラムモジュール（複数）（２２７）、及びプログラムデータ（２２８）と同一か又は異なるどちらか一方であり得ることを留意されたい。オペレーティングシステム（２５８）、アプリケーションプログラム（２５７）、その他のプログラムモジュール（２５６）、及びプログラムデータ（２５５）は、本明細書において異なる番号を付与されていて、異なる最小限の複製物であることを示している。ユーザーは、一般に、キーボード（２５１）のような入力装置、及びマウス、トラックボール又はタッチパッドとして参照されるポインティングデバイス（２５２）を介し、計算機（２４１）へコマンド及び情報を入力し得る。その他（示されていない）入力装置は、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナーなどを含み得る。これらの入力装置及びその他の入力装置は、多くの場合、システムバスに接続されるユーザー入力インターフェース（２３６）を介し演算処理装置（２５９）と接続されるが、パラレルポート、ゲームポート又はユニバーサルシリアルバス（ＵＳＢ）のような別のインターフェース及びバス構造によっても接続され得る。カメラ（２６）、（２８）、及びキャプチャ装置（２０）は、コンソール（１００）用の付加入力装置を定義している。モニター（２４２）又は別のタイプの表示装置もビデオインターフェース（２３２）のようなインターフェースを介しシステムバス（２２１）と接続される。モニターに加えて計算機は、周辺出力インターフェース（２３３）を介し接続され得るスピーカー（２４４）及びプリンター（２４３）のような別の周辺出力装置も含み得る。
【００７９】
[0086]計算機（２４１）は、リモートコンピューター（２４６）のような１つ以上のリモートコンピューターとの論理接続を使用し、ネットワーク環境において作動し得る。リモートコンピューター（２４６）は、パーソナルコンピューター、サーバー、ルーター、ネットワークＰＣ、ピア装置、又は別の一般的なネットワークノードであり得、典型的に、前述した計算機（２４１）に関連するエレメントの多く又はすべてを含むが、図４にはメモリー記憶装置（２４７）だけが例示されている。図２に示される論理的な接続は、ローカルエリアネットワーク（ＬＡＮ）（２４５）及び広域ネットワーク（ＷＡＮ）（２４９）を含むが、別のネットワークも含み得る。そのようなネットワーク環境は、オフィス、企業規模のコンピューターネットワーク、イントラネット、及びインターネットにおいて一般的である。
【００８０】
[0087]ＬＡＮネットワーク環境において使用されるとき、計算機（２４１）は、ネットワークインターフェース又はアダプター（２３７）を介しＬＡＮ（２４５）と接続される。ＷＡＮネットワーク環境において使用されるとき、計算機（２４１）は、典型的にインターネットなどのようなＷＡＮ（２４９）を介し通信を確立するモデム（２５０）又はその他の手段を含む。内蔵又は外付けがあり得るモデム（２５０）が、ユーザー入力インターフェース（２３６）又はその他の適切な手段を介し、システムバス（２２１）と接続され得る。ネットワークの環境において、計算機（２４１）又はその一部に関連し示されるプログラムモジュールが、リモートメモリー記憶装置にストアされ得る。非限定の例として図４が、記憶装置（２４７）上に常駐するリモートアプリケーションプログラム（２４８）を示している。示したネットワーク接続が例示的であって、計算機間の通信リンクを確立する別の手段が使用され得ることを十分に理解されよう。
【００８１】
[0088]計算機可読記憶媒体は、視覚表示を変更するための計算機可読命令を含み得る。
命令は、視覚表示をレンダリングするステップと、シーンデータを受信するステップであってデータが、物理的な空間内のユーザーの修正ジェスチャを代表するデータを含むものと、ユーザーの修正ジェスチャに基づいて視覚表示の変更するステップであって修正ジェスチャが、視覚表示の特性を修正するためのコントロールにマッピングするジェスチャであるものと、に関する命令を含み得る。
【００８２】
[0089]図５Ａは、キャプチャ装置（２０）によってキャプチャされる画像データから生成され得るユーザーの骨格マッピングの例を表している。この実施形態において、それぞれの手（５０２）、それぞれの前腕（５０４）、それぞれの肘（５０６）、それぞれの二頭筋（５０８）、それぞれの肩（５１０）、それぞれの臀部（５１２）、それぞれの大腿部（５１４）、それぞれの膝（５１６）、それぞれの前脚（５１８）、それぞれの足（５２０）、頭（５２２）、胴（５２４）、上部脊椎（５２６）、下部脊椎（５２８）、及び腰（５３０）の様々な関節及び骨が識別される。より多くの時点がトラッキングされるところでは、指又は爪先の骨と関節、鼻や目などの表面に関する個人特徴などのような更なる機能が識別され得る。
【００８３】
[0090]ユーザーは、自分の体の動きを介しジェスチャを生成し得る。ジェスチャは、意味に関する解析画像データとしてキャプチャされ得たユーザーによる動作又はジェスチャを含む。ジェスチャは、ボールを投げる物真似のような動作を含む動的であり得る。ジェスチャは、彼の胴（５２４）の前で彼の前腕（５０４）の交差を保持しているような静的な姿勢であり得る。見せかけの剣などを振ることによるジェスチャは道具も組み込み得る。ジェスチャは、一緒に手（５０２）を叩くか又は人の唇をすぼめるような、より微妙な動作のような２つ以上の体の部分を含み得る。
【００８４】
[0091]ユーザーのジェスチャは、入力のための一般的コンピューターの文脈で使用され得る。例えば、手（５０２）又は体の別の一部の様々な動作は、階層リスト内を上方又は下方にナビゲートし、ファイルをオープンし、ファイルをクローズし、ファイルを保存するなど、一般的システムの広い範囲のタスクに対応し得る。例えば、ユーザーは、キャプチャ装置（２０）を指差した手をそのまま手のひらをキャプチャ装置に向け得る。彼はその後、指を手のひらに向けて閉じてこぶしを作り得、これが、ウィンドウベースのユーザーインターフェース計算環境において、フォーカスされたウィンドウが閉じられるべきことを示すジェスチャであり得る。ジェスチャは、映像ゲーム固有のゲームに従った文脈でも使用され得る。例えば、ドライビングゲームの手（５０２）及び足（５２０）の様々な動きは、乗り物を方向付け、ギヤチェンジし、加速し、ブレーキングに対応し得る。かくして、ジェスチャは、示されるユーザー表示、及びテレビゲーム、テキストエディタ、文書処理、データ管理など様々なアプリケーションへマッピングする様々な動作を示し得る。
【００８５】
[0092]ユーザーは、自分自身の定位置における歩行又は走行によって、歩行又は走行に対応しているジェスチャを生成し得る。例えば、ユーザーは代替として、動かずに歩行を模倣するために、脚（５１２〜５２０）それぞれを上げ落し得る。本システムは、臀部（５１２）それぞれと大腿部（５１４）それぞれとを解析することによってこのジェスチャを解析し得る。（垂線に対して測定されるとき、立っている脚が臀部と大腿部が０°の角度を有していて、前方に水平に伸びた脚が臀部と大腿部が９０°の角度を有する）臀部と大腿部の１つの角度が、他方の大腿部に対し一定の閾値を超えたとき、一歩が認識され得る。歩行又は走行は、交互の脚による連続した数歩の後、認識され得る。最新の２歩の間の時間が周期として考慮され得る。その閾値角が満足されない数周期後、本システムは、歩行又は走行ジェスチャが停止していることを決定し得る。
【００８６】
[0093]「歩行又は実行」ジェスチャが与えられると、アプリケーションは、このジェスチャに関連付けられるパラメーターに対する値を設定し得る。これらのパラメーターは、上記歩行又は走行ジェスチャを開始するために要求される閾値角、歩数、ジェスチャを終了したために一歩も発生しない周期閾値、及びジェスチャが歩行又は走行であるか決定する周期閾値を含み得る。短い周期は、ユーザーが自分の足を素早く動かす走行に相当し得、より長い周期は歩行に相当し得る。
【００８７】
[0094]ジェスチャは、アプリケーションがそれ自身のパラメーターを使って上書きし得る一連のデフォルトパラメーターと最初に関連付けられ得る。このシナリオにおいて、アプリケーションはパラメーターを提供するように強制されないが、そのかわりに一連のデフォルトパラメーターを使用し得、アプリケーションが定義したパラメーターが存在しないときでもジェスチャを認識可能になる。ジェスチャと関連した情報は、事前に準備された動画のために格納され得る。
【００８８】
[0095]ジェスチャに関連付けられ得る様々な出力が存在する。ジェスチャが生じているか否かに関して「はい又はいいえ」の基準値が存在し得る。ユーザーのトラッキングされた動きがジェスチャに対応している可能性に対応する信頼水準も存在し得る。これは０と１を含めた、その間の浮動小数点の範囲の線形目盛であり得る。このジェスチャ情報を受信するアプリケーションが、入力として誤検出を受け入れ不可能なところにおいては、少なくとも０．９５の高信頼水準を有する認識されたジェスチャだけを使用し得る。誤検出コストであってもジェスチャのあらゆるインスンスをアプリケーションが認識する必要があるところにおいては、単に０．２よりも大きい、少なくともよりずっと低い信頼水準を有するジェスチャを使用し得る。ジェスチャは、最新の２歩の間の時間に関する出力を有し得、最初の一歩だけが登録されているところにおいては（任意の２つの歩数間の時間が正数でなければならないので）これは−１のような予約値に設定され得る。ジェスチャは、最新の一歩の間に達する大腿部の最大角度に関する出力も有し得る。
【００８９】
[0096]別の例示的ジェスチャは「かかと上げの跳躍」である。ここでユーザーは、自分のかかとを地面から離すことによってジェスチャを生成し得るがしかし、自分の爪先は地面に付けたままである。代替としてユーザーは、空中で跳躍し得、自分の足（５２０）は完全に地面を離れる。本システムは、肩（５１０）、臀部（５１２）、及び膝（５１６）の角度関係を解析することによって、このジェスチャに関する骨格を解析し得、それらが直立に等しい配列位置にあるか確認し得る。その後、これらの点並びに上部脊椎（５２６）及び下部脊椎（５２８）の点が、上向きの任意の加速に関し監視され得る。十分な加速の組み合わせが跳躍ジェスチャを起動し得る。特定のジェスチャとともに十分な加速の組み合わせが、転移点パラメーターを満足し得る。
【００９０】
[0097]この「かかと上げの跳躍」ジェスチャを仮定すると、アプリケーションは、このジェスチャに関連付けられたパラメーターに関する値を設定し得る。パラメーターは、上記の加速度閾値を含み得、ユーザーの肩（５１０）、臀部（５１２）及び膝（５１６）のいくつかの組み合わせがジェスチャを起動するためにどのくらい速く上向きに動く必要があるか、及び更に跳躍が起動され得る肩（５１０）、臀部（５１２）、及び膝（５１６）の間の配列の最大角度を決定する。出力は、信頼水準及び跳躍時のユーザーの体の角度を含み得る。
【００９１】
[0098]ジェスチャを受信する特定のアプリケーションに基づいた、ジェスチャに関するパラメーター設定が、ジェスチャを正確に識別するときに重要である。ジェスチャ及びユーザーの意図を適切に識別することが、積極的なユーザー体験を生成するときに大きく支援する。
【００９２】
[0099]アプリケーションが、事前に準備された動画を使用する点を識別するための、様々な転移点に関連付けられたパラメーターに関する値を設定し得る。転移点は、特定のジェスチャの識別、速度、目標若しくは被写体の角度、又はその任意の組み合わせなど、様々なパラメーターによって定義され得る。特定のジェスチャの識別による転移点が少なくとも一部定義されている場合、ジェスチャの適切な識別を支援し、転移点のパラメーターが満足されている信頼水準を増大させる。
【００９３】
[0100]ジェスチャに対する別のパラメーターは移動距離であり得る。ユーザーのジェスチャが、仮想的な環境においてアバターの動作を制御するところでは、そのアバターはボールから腕の長さのところに存在し得る。ユーザーがボールと情報をやりとりし、それを掴むことを所望した場合、これは、掴むジェスチャの実行中、ユーザーに自分の腕を十分に伸ばす（５０２〜５１０）ように要求し得る。この状況において、ユーザーが自分の腕（５０２〜５１０）を一部だけ伸ばす類似した掴むジェスチャは、ボールとの情報のやりとりの結果を達成し得ない。同様に、転移点パラメーターは、掴むジェスチャの識別であり得、ユーザーは自分の腕（５０２〜５１０）を一部だけ伸ばし、その結果、ボールとの情報のやりとりの結果を達成しない場合、ユーザーのジェスチャは転移点パラメーターも満足しない。
【００９４】
[0101]ジェスチャ又はその一部は、それが生じる必要がある空間量をパラメーターとして有し得る。この空間量は、典型的に体と関連して表現され得、ジェスチャは体の動きを含んでいる。例えば、右利きのユーザーに対するフットボール投球ジェスチャは、右の肩（５１０ａ）よりも低くない空間容積だけであって、投げる腕（５０２ａ〜３１０ａ）と同じ側にある頭（５２２）の上で認識され得る。この投球ジェスチャを使用する領域の容積すべてを定義する必要なく、体から離れた外側の領域は未定義のままであって、容積は無限か又は監視されるシーンの縁まで延びている。
【００９５】
[0102]図５Ｂは、図２のジェスチャ認識装置エンジン（１９２）の一例示的な実施形態の詳細を提供している。示したジェスチャ認識装置エンジン（１９０）は、ジェスチャか又はジェスチャを決定するための少なくとも１つのフィルター（５１９）を含み得る。フィルター（５１９）は、（本明細書において以下「ジェスチャ」として参照される）ジェスチャ（５２６）を定義している情報を含み得、そのジェスチャ（５２６）に関する少なくとも１つのパラメーター（５２８）又はメタデータを含み得る。例えば、体の後ろから体の前に過ぎる手の１つの動作を含む投げジェスチャ（５２６）として実装され得、その動きは、立体視カメラによってキャプチャされる体の後ろから体の前に過ぎるユーザーの手の１つの動きを表している情報を含んでいる。そのジェスチャ（５２６）に関するパラメーター（５２８）は、その後、設定され得る。ジェスチャ（５２６）が投げるところにおいて、パラメーター（５２８）は、手が届く必要がある手の速度の閾値、手が届く必要がある（概して絶対的又はユーザーの大きさに相対的な）距離、及び認識装置エンジン（１９２）によって評価するジェスチャ（５２６）が生じた信頼度であり得る。ジェスチャ（５２６）に関するこれらのパラメーター（５２８）は、アプリケーション間、単一のアプリケーションの文脈間、又は１つのアプリケーションの１つの文脈の中で時間とともに変化し得る。
【００９６】
[0103]フィルターはモジュール式か又は交換可能であり得る。実施形態において、フィルターは、入力それぞれがタイプを有するいくつかの入力と、出力それぞれがタイプを有するいくつかの出力と、を有する。この状況において、第１のフィルターは、認識装置エンジン（１９０）のアーキテクチャの他の側面をどれも変更せずに、第１のフィルターと入力及び出力が同一数及び同一タイプを有する第２のフィルターと置換され得る。例えば、入力の骨格データを取り入れ、フィルターに関連付けられたジェスチャ（５２６）が発生している信用度と操縦角度とを出力するドライビング用の第１のフィルターがあり得る。−ことによると第２のドライビングフィルターがより効率的でより少ない処理リソースを必要とするため−人がこの第１のドライビングフィルターを第２のドライビングフィルターを代用することを所望するところにおいて、第２のフィルターがそれらと同一の入力及び出力−骨格のデータ型の１つの入力、及び信用度タイプと角度タイプの２つの出力−を有している限り、人は、単に第１のフィルターを第２のフィルターと置換することよって代用し得る。
【００９７】
[0104]フィルターがパラメーター（５２８）を有している必要はない。例えば、ユーザーの身長を返却する「ユーザーの身長」フィルターは、調整され得るどんなパラメーターも許可し得ない。代替の「ユーザーの身長」フィルターは、−ユーザーの身長を決定するとき、ユーザーの履物、髪型、頭にかぶっているもの、及び姿勢を計算するか否か調整可能なパラメーターを有し得る。
【００９８】
[0105]フィルターへの入力は、関節で交わる骨格によって形成される角度のようなユーザーの関節位置に関する関節データ、シーンからのＲＧＢカラーデータ、及びユーザーの様子の変化率などのものを含み得る。フィルターからの出力は、特定のジェスチャを実行している信頼度、ジェスチャ動作が実行された速度、ジェスチャ動作が実行された時間などを含み得る。
【００９９】
[0106]文脈は文化的文脈であり得、それは環境的文脈であり得る。文化的文脈は、システムを使用したユーザーの文化を参照している。異文化は、類似のジェスチャを使用し、著しく異なる意味を授け得る。例えば、別のユーザーに「見て」又は「目を使って」と言いたいアメリカ人ユーザーは、自分の人差し指を彼の目の方から自分の頭の方に当てる。しかしながら、イタリア人ユーザーにとってこのジェスチャは、マフィアへの参照として解釈され得る。
【０１００】
[0107]同様に、単一アプリケーションの異なる環境の中に異なる文脈があり得る。自動車の操作を伴った一人称形式のシューティングゲームを取り上げたい。ユーザーが歩きながら地面に向かった指でこぶしを作り、こぶしを体から前に延ばすパンチジェスチャを表し得る。ユーザーがドライビング文脈にいる間、同一動作は「ギヤシフト」ジェスチャを表し得る。ユーザーが、自分のゲームをセーブし、自分のキャラクターの装備の中から選択し、又はゲームの直接対戦を含まない類似の動作を実行可能な１つ以上のメニュー環境もあり得る。その環境において、この同一のジェスチャは、何かを選択するか又は別の画面に進む第３の意味を有し得る。
【０１０１】
[0108]ジェスチャ認識装置エンジン（１９０）は、ジェスチャフィルター（５１９）に機能性を提供する基本認識装置エンジン（５１７）を有し得る。実施形態において、認識装置エンジン（５１７）が実装している機能性は、認識されたジェスチャ及び他の入力をトラッキングする時間をかけた入力のアーカイブ、（モデル化されたシステムは未知パラメーターを有するマルコフ過程である−現在の状態が、将来の状態を決定するために必要な過去の任意の状態情報を要約しているので、このために別のどんな過去の状態情報も維持される必要はない−と仮定され、隠されたパラメーターが観察可能なデータから決定される）隠れマルコフモデル実装、及び特定のジェスチャ認識実体を解決するために要求される別の機能性を含んでいる。
【０１０２】
[0109]フィルター（５１９）がロードされ、基本認識装置エンジン（５１７）上に実装され、フィルター（５１９）すべてにエンジン（５１７）によって提供されるサービスを利用できる。実施形態において、基本認識装置エンジン（５１７）は、受信したデータを処理し、それが任意のフィルター（５１９）の要件を満足するか否か決定する。提供されるこれらの入力を解析するサービスは、フィルター（５１９）それぞれによってというよりもむしろ、基本認識装置エンジン（５１７）によって一旦提供され、その時にフィルター（５１９）ごとに一度処理されることと対照的に、上記サービスは一定時間に一度だけ処理される必要があるので、ジェスチャを決定するために要求される処理が抑えられる。
【０１０３】
[0110]アプリケーションは、認識装置によって提供されるフィルター（５１９）を使用し得るか又は基本認識装置エンジン（５１７）にプラグインするそれ自身のフィルター（５１９）を提供し得る。実施形態において、すべてのフィルター（５１９）は、このプラグイン特性を利用可能にする一般的インターフェースを有する。更に、フィルター（５１９）すべてがパラメーター（５２８）を利用し得るので、後述される単一のジェスチャツールが使用され得、全てのフィルターシステム（５１９）をデバッグし調整し得る。
【０１０４】
[0111]これらのパラメーター（５２８）は、ジェスチャツール（５２１）によってアプリケーション又はアプリケーションの文脈に関して調整され得る。実施形態において、ジェスチャツール（５２１）は、スライダー（５２３）それぞれがパラメーター（５２８）に対応している複数のスライダー（５２３）と本体（５２４）の図的表示とを含む。パラメーター（５２８）は、対応しているスライダー（５２３）を使って調整されるので、本体（５２４）が、それらパラメーター（５２８）を有するジェスチャとして認識される動作と、上記識別されたそれらパラメーター（５２８）を有するジェスチャとして認識されない動作と、の双方を実演し得る。ジェスチャのこのパラメーター（５２８）の可視化が、ジェスチャをデバッグ及び微調整双方に効果的な手段を提供する。
【０１０５】
[0112]図６Ａ及び図６Ｂは、キャプチャ装置（６０８）、計算装置（６１０）、及び表示装置（６１２）を含むシステム（６００）を表している。この例において、立体視カメラ（６０８）が、ユーザー（６０２）が存在する物理的な空間内（６０１）のシーンをキャプチャする。この説明のために表示装置（６１２）が図６Ａの表示装置（６１２ａ）として及び図６Ｂの表示装置（６１２ｂ）として、示されていて、ユーザー（６０２）が図６Ａのユーザー（６０２ａ）として及び図６Ｂのユーザー（６０２ｂ）として、示されている。立体視カメラ（６０８）は、立体視情報を処理し、及び／又は立体視情報を計算機（６１０）のような計算機に提供する。ユーザー（６０２）の視覚表示を示すための立体視情報が解釈され得る。例えば、示された立体視カメラ（６０８）又はそれに接続された計算装置（６１０）がディスプレイ（６１２ａ）、（６１２ｂ）に出力し得る。この例においてユーザー（６０２）は、サッカーゲームアプリケーションをしている。
【０１０６】
[0113]キャプチャ装置（６０８）、計算装置（６１０）、及び表示装置（６１２ａ），（６１２ｂ）はそれぞれ、図１〜図５Ｂに関連して説明した所望の機能性を実行する装置のような適切な任意の装置を含み得る。単一の装置がシステム（６００）の機能すべてを実行し得るか又は適切な任意の装置の組み合わせが所望の機能を実行し得ることを想定している。例えば、計算装置（６１０）は、図２に示した計算環境（１２）又は図３に示した計算機に関連し記載された機能性を提供し得る。図２に示した計算環境（１２）は、表示装置及びプロセッサーを含み得る。計算装置（６１０）は、それ自身のカメラコンポーネントも含み得るか、又はキャプチャ装置（６０８）のようなカメラコンポーネントを有する装置と接続され得る。
【０１０７】
[0114]ユーザー（６０２）の視覚表示は、動画、キャラクター、アバターのような形式のいずれかを取り得る。例えば、ユーザー（６０２）のような目標の視覚表示は、初めにユーザー（６０２）が所望した形及び大きさに彫刻可能なデジタル粘土塊か又はバターのストックライブラリーから選択されたキャラクター表示であり得る。例えば、野球ゲームアプリケーションにおいて、ユーザー（６０２）を視覚的に表すためのオプションは、有名野球選手からタフィー又はエレファントの一部に至る架空のキャラクター表現、カーソル又はハンドシンボルのような任意のシンボル形式を取り得る。視覚表示は、ユーザー（６０２）の特徴と動画又はストックモデルの特徴との組み合わせがあり得る。例えば、ユーザー（６０２）は、ゲームアプリケーションによって提供される様々なストックモデルから選択し得る。本システムは、選択したストックモデルにユーザーの特徴を適用し得る。視覚表示はプログラムとパッケージされるアプリケーション特有であり得るか、又は視覚表示はアプリケーションを越えて利用可能か若しくはシステムの広い範囲で利用可能であり得る。
【０１０８】
[0115]図６Ａ及び６Ｂの表示装置（６１２ａ）に示されている視覚表示の例は、ユーザー（６０２）に類似した特徴を有するアバター（６０６）の視覚表示である。図６Ａ及び図６Ｂは、図６Ａのアバター（６０６ａ）及び図６Ｂのアバター（６０６ｂ）によって表された異なる２つのフレーム又は時点におけるアバター（６０６）を示している。更なる画像データのフレームがキャプチャされ表示され得るが、例示のために図６Ａ及び図６Ｂに表されたフレームが選択されている。画像データのフレームがキャプチャされ表示されるレートが、表示される視覚表示の動きの連続性レベルを決定し得る。
【０１０９】
[0116]システム（６００）は、立体視情報、画像情報、ＲＧＢデータなど、物理的な空間内（６０１）に関する情報をキャプチャし得る。一実施形態による画像データは、立体視カメラ（６０８）及び／又はＲＧＢカメラからの立体視画像若しくは画像、又は別の任意の探知器上の画像も含み得る。例えば、カメラ（６０８）が画像データを処理し得、それを利用して目標の形、色、及び大きさを決定し得る。人間のパターンに一致する目標又は被写体それぞれがスキャンされ、それに関連付けられた骨格モデル、フラッドモデル、ヒューマンメッシュモデルのようなモデルを生成し得る。例えば、前述した立体視情報が、図５Ａに示したユーザーの骨格モデルを生成するために使用され得、本システムは、ユーザーの頭や手足など体の一部分を識別する。例えば、観測された複数のヒューマンターゲットに関連付けられている画素の深度値、及び身長、頭の大きさ、又は肩幅など、ヒューマンターゲットの１つ以上の外観の範囲を利用し、ヒューマンターゲットの大きさが決定され得る。
【０１１０】
[0117]システム（６００）はキャプチャされたデータを解析し、それを骨格モデルに変換することによってユーザーの手足の動きをトラッキングし得る。システム（６００）はその後、骨格モデルをトラッキングし得、体の一部それぞれの動作を視覚表示のそれぞれの部分にマッピングし得る。例えば、ユーザー（６０２）が彼又は彼女の腕を振った場合、本システムがこの動きをキャプチャし得、それをアバター（６０６）の腕に適用し得、アバターも腕を振る。更に、システム（６００）は、キャプチャデータの単一のフレーム又は一連のフレーム全域に渡るユーザーの位置を評価することによって、ユーザーの動作からジェスチャを識別し得、ジェスチャを視覚表示に適用し得る。
【０１１１】
[0118]本システムは、スキャンしたデータ、画像データ、又は立体視情報など、キャプチャされたデータを使用し得、ユーザーの行動を学習するための、ユーザーの行動を示す特性を識別し得る。例えば、本システムは、それが物理的な空間内のユーザーに関するデータをキャプチャするキャプチャ装置を有し得る。本システムは、ユーザーの物理的な特徴、傾向、音声パターン、習慣、言葉遣い、音声コマンド、音声の変動、応答、行動、ジェスチャなど、ユーザーの行動を示す特性に関するデータの履歴を収集し格納することによってユーザーの行動を識別し得、文脈上の状況など、いくつかのユーザーの行動を導き出し得る状況を識別し得る。本システムは、システムの状態、ゲームの状態、アプリケーションの状態、又は別の任意のシナリオの特徴など、ユーザーの行動に関連付けられた文脈上の状況に関するデータの履歴を記録又は格納し得る。更に、本システムは、シナリオを評価し得、文脈上の状況とユーザーの行動との間の相関関係を描き得、異なるシナリオにおけるユーザーの傾向を決定し得る。例えば、本システムは、ユーザーが実行アプリケーションにおいて行動的な参加者でないとき、一定の状況下でユーザーの音声がどのように変動しているか又はユーザーがどのように立っているか学習し得る。
【０１１２】
[0119]実際にユーザーが存在していなくてもユーザーのアバターの動画化が望まれ得る。例えば、ユーザーが物理的な空間内に存在しないとき、ユーザーを表すアバターを提供し（本システムが学習した）ユーザーの行動に従って行動できることが望まれ得る。かくして、本システムは、ユーザーが物理的な空間内に存在しない場合でもデータの履歴にアクセスし得、不在であるユーザーの行動及び傾向を示す動画をアバターに適用し得る。例えば、本システムは、不在のユーザーのアバターが不在のユーザーに対応するように動き、話し、言語を使用するような動画を、不在のユーザーのアバターに適用できる。これによって第２のユーザーは、不在のユーザーが存在して本システムと対話する例と同等な、不在のユーザーのアバターとの疑似体験を有することが可能となる。
【０１１３】
[0120]本システム（６００）は、時間とともに、ユーザーの傾向を学習し、ユーザーの行動及び傾向を示す特性及び文脈上の状況を用いて、ユーザーのアバターライブラリーを継続的に更新し続け得る。文脈上の状況が一定のユーザーの行動と相互に関連付けられ得、ユーザーが識別可能な方法で文脈上の状況に応答し得る。本システムは、アバター（６０６）がユーザーの行動に従って行動して応答するように動画をユーザーのアバター（６０６）に知的に適用し得る。本システムがユーザーの入力からより多くのデータを収集するにつれてアバターは、ユーザーの物理的な特徴、行動、感情、スピーチパターン、傾向、音声パターンなどの様相を有し、ますます忠実にユーザーを反映するものになる。かくして、動画を実行するアバターを訓練することは、ユーザーからの入力を学習することと、ユーザーに類似するようにアバターを形作ることと、を含み得る。ユーザーは、物理的な空間内に存在し得ないがしかし、ユーザーのアバターは、ユーザーが存在し及び／又はアバターを制御するように見えるほどユーザーに酷似するようになる。
【０１１４】
[0121]ユーザーの行動を示す特徴の識別は、行動の傾向、音声パターン、顔の表情、骨格の動き、話し言葉、データの履歴、音声の認識情報など、特定のユーザー（６０２）に関連付けられた情報を含み得る。ユーザーの特徴は、目の大きさ、タイプ、及び色、髪の毛の長さ、タイプ、及び色、皮膚の色、服、及び服の色など、ユーザーの物理的な任意の特徴を含み得る。例えば、色は、対応するＲＧＢ画像に基づいて識別され得る。ヒューマンターゲットに関する別の標的特性は、例えば、身長、及び／又は腕の長さを含み得、例えば、ボディスキャン、骨格モデル、画素領域のユーザー（６０２）の範囲、又は別の任意の適切なプロセス若しくはデータに基づいて取得され得る。計算システム（６１０）は、画像データを解釈するための物体認識技法を使用し得、ユーザー（６０２）が有しているものの大きさ、形、及び深度値に従ってユーザー（６０２）の視覚表示を製造し成形し得る。
【０１１５】
[0122]本システムは、ユーザーの行動を能動的又は受動的に学習し得る。図６において、アバター（６０６）は、ユーザー（６０２）の物理的に忠実な表示であって、サッカーゲームアプリケーションに適用可能な（例えば、ゴールポスト及びネット（６０９）、ボール（６０７）のような）追加的な特徴及び動画を有している。ユーザー（６０２）はサッカーゲームアプリケーションのアクティブなプレーヤーであって、第２のユーザー（６０３）は非アクティブなプレーヤーであるがしかし、双方とも物理的な空間内に存在している。本明細書に使用される非アクティブとは、この例において、アプリケーションの様相を制御するためのジェスチャを現在実行していないユーザー（６０３）を単に参照している。２人以上のユーザーが同時にアクティブであり得る。代替として、本システムは、１人のユーザーを同時にアクティブ可能にし得る。この例において、現在のプレーヤー（６０２ａ）が、ディスプレイ（６１２ａ）上のアバター（６０６ａ）を制御するためのジェスチャを実行している間、非アクティブなプレーヤー（６０３）は、彼又は彼女の順番を待っている。
【０１１６】
[0123]ユーザーの能動的な学習は、アプリケーションのジェスチャ又はコントロールと関連付けられた学習であって、ユーザー（６０２ａ）、（６０３）のどちらかひとり又は双方が提供する行動を学習することを含み得る。ユーザーの能動的な学習は、ユーザー（６０２）又はユーザー（６０３）のようなユーザーがいつ特定の運動又はジェスチャを実行するか記述していて、本システムが、ユーザーのジェスチャに関連付けられたユーザーの行動を示す特性を識別する。ジェスチャは、動的又は静的な動作及び音声コマンドを含み得、本システム又は実行アプリケーションの様相を制御するために実行され得る。例えば、図６Ａにおいて、物理的な空間内（６０１）のユーザー（６０２ａ）の動作は、腕を左に伸ばしたままのダイビング動作を含む。そのジェスチャは、サッカーのゴールキーパーの動作として認識され得、アバター（６０６ａ）の動画の制御をもたらし得る。ジェスチャの結果はゲームの不成功又は成功として認識され得る（例えば、ジェスチャはサッカーゲームアプリケーションの不成功／成功の結果をもたらす）。システム（６００）は、ジェスチャ自体又はジェスチャに対応している行動の様相を識別し得、それらの様相又は行動をユーザーに関連付け得る。
【０１１７】
[0124]図６は、本システムが、ジェスチャに関連付けられたユーザーの行動を能動的に学習可能なシナリオの例を表していて、ユーザーがサッカーゲームアプリケーションにおけるジェスチャを実行している。システム（６００）は、ジェスチャ自体又はジェスチャに対応している行動の様相を識別し得、それらの様相又は行動をユーザーに関連付け得る。このように、ジェスチャのデータ及びジェスチャに対応するユーザーの行動が、アバターに適用され得、特定のユーザーに関する動画が調整される。この例において、ユーザー（６０２）は、サッカーのゴールキーパーの役割をしている。ユーザー（６０２）がゴールキーパーのジェスチャを実行した時間のほとんどが、ネット（６０９）に入るゴールボール（６０７）を守る結果となってユーザーがダンスをする場合も本システムは、ユーザーの行動（例えばダンス）を識別し得、文脈上の状況（例えば、サッカーのゴールキーパーのジェスチャと成功したジェスチャの結果）と相互に関連付け得る。かくして、本システムは、ユーザーの行動をゲームの状態と相互に関連付けることができる。別の例において、テニスゲームアプリケーションのユーザーが、テニスボールを打つジェスチャを実行するとき、口を開く傾向があるか、又はテニスゲームアプリケーションにおいてサーブのジェスチャの間、ユーザーが不満を漏らす場合、本システムは、ジェスチャを実行するときに生じるユーザーの別の行動を示す情報をジェスチャデータに含め得る。
【０１１８】
[0125]本システムは、ユーザーのダンスの動画など、ユーザーの行動に対応している動画を格納できる。本システムは、ジェスチャの性能及び／又はゲームの状態など、動画が文脈上の一定の状況に相互に関連する指標をユーザーのプロファイルに格納し得る。同様に、本システムは、ユーザーのジェスチャ、アプリケーションの状態、又は別の識別可能な任意の文脈上の（待機状態を含む）状況と相互に関連するユーザーの表情、体位、言語の傾向などを識別し得、例えば、ユーザーのプロファイル又はアバターライブラリーにおける相関関係を示すことができる。将来において、ユーザーがジェスチャとそれを実行したとき、それがゲームの同様の状態（例えば、ネットに入るゴールボールを守った成功結果）をもたらし、本システムは、ダンス動画をユーザーのアバターに適用し得る。同様にユーザーが存在しない場合、本システムは、ユーザーのアバターをレンダリングし得、それらのジェスチャに関連付けられたジェスチャ及び動画をアバターに適用するように、アバターを介しユーザーの参加をシミュレーションし得る。この例において、本システムは、データの履歴を識別し得、適切な文脈上の状況下のダンス動画もユーザーのアバターに適用する。かくして、本システムがユーザーに関するキャプチャデータをリアルタイムに使用しない場合でもユーザーのアバターは、データの履歴に基づいてユーザーに類似したものを表し得る。
【０１１９】
[0126]本システムは、ユーザーの行動がジェスチャに対応し得ない物理的な空間内において自然に実行している時など、ユーザーがアクティブでないとき、ユーザーはユーザーの行動を受動的に学習できる。本システムは、ユーザーの傾向、応答、待機動作のような状況下のユーザーの行動を受動的に検出できる。受動的な学習中、本システムは、ユーザーが自然に行動しているとき、ユーザーに関するデータをキャプチャし得る。例えば、受動的な学習中、ユーザーはシステムと対話していないか又はゲームアプリケーションにおいて別のプレーヤーの順番の場合である。受動的なプレーヤーの訓練は、ユーザーが体験を通して待機しているとき、プレーヤーがどのように行動するか（例えば、体位、表情、動作、話し言葉、音声の変動）に関する本システムの学習を含み得る。例えば、図６において、物理的な空間内（６０１）の第２のユーザー（６０３）は、第１のユーザー（６０２）によって再生されるサッカーゲームアプリケーションと活発に対話してない。第２のユーザー（６０３）は、待機中、腰をおろしてユーザー（６０３）の頭にユーザー（６０３）の手をついている。本システムが、そのようなシナリオのユーザーの習慣を学習し得、それらをユーザーのアバターライブラリーに追加し得る。
【０１２０】
[0127]本システムは、上記の状況におけるユーザーの自然な行動又は待機動作をいくつか学習し得、それらをユーザーに関連付け得る。例えば、本システムは、プレーヤーがどのように歩行するか識別し得、その動作をそのユーザーに関するアバターライブラリーの歩行動画として保存し得る。本システムは、本システム又は実行アプリケーションのジェスチャ又は別の動作の制御に関与し得ない様々な状況及びシナリオの下で、活動中のユーザーを視聴できる。例えば、ユーザーがリモートのゲーム対戦体験において友人に挨拶するとき、ユーザーが典型的に「やあ、君、元気？」といった典型的な挨拶を友人にすることを本システムが検出し得る。同一のユーザーは、見知らぬプレーヤーには「こんにちは、私の名前は〜」のように挨拶し得る。本システムは、キャプチャした音声の変動、話し言葉、及び別の任意の動作を含むジェスチャデータを使用し得、それをユーザーのアバターに関するアバターライブラリーに追加し得る。
【０１２１】
[0128]アバターライブラリーは、事前にパッケージ化されたユーザーのジェスチャ又はユーザーの別の任意の行動を表すアバターに適用され得る動画を含み得る。本システムは、受動的な学習を介しアバターライブラリーの動画を更新、追加、又は書き換え得る。本システム又はユーザーは、動画の様相を完全に修正し得、アバターライブラリーのエントリーを追加し、更新し、再プログラムし、書き換え、又は削除し得る。例えば、ユーザーは、本システムと対話もし得ないし、アプリケーションのどのコントロールに関するジェスチャも実行し得ない。別のユーザーがアプリケーションにおいてアクティブな間、ユーザーは待機中であり得る。本システムは、物理的な空間内のアクティブなユーザーの実行を静かに座って、観測し待機するユーザーのアバターを動画化した待機動作を表すユーザーのアバターに標準の動画を適用し得る。しかしながら、本システムは、ユーザーがゲームアプリケーションにおいて待機しているとき、実際の待機中のユーザーの行動に関連するデータをキャプチャする。本システムは、そのユーザーに関する待機の動画に関するユーザーの行動を記録し得、それらをアバターライブラリーのエントリーに追加し得る。本システムは、本システムによって記録されたユーザーの行動を表す動画を使用し、待機行動に関する標準の動画を書き換え得る。
【０１２２】
[0129]例えば、本システムは、図６Ａに示したユーザー（６０３）が、待機中か又は非アクティブであるとき、ユーザー（６０３）は頭にユーザーの右手をつく傾向があることを認識し得る。本システムは、これに関連するデータを、ユーザーに関連するプロファイル又はアバターライブラリーに格納し得る。動画はアバターライブラリーへの追加を表し得るか又はそれは待機行動に関するデフォルトの動画の書き換えがあり得る。その後、本システムは、図６Ｂに示したアバターが自分の頭に右手をついて座っているアバター（６１１）の動画のようなアバター（６１１）をもたらす動画を適用し得る。しかしながら、本システムは、時間とともに、ユーザー（６０３）が、待機中、より頻繁に自分の頭に左手をつくか又は両手間を切り替える傾向があることを認識し得る。かくして、本システムは、識別したユーザーの傾向をより十分に表すために、アバターライブラリー及びアバターライブラリーの動画を改良し続け得る。本システムは、元の動画データも保持し得、再定義した動画を選択するためにユーザーのアバターライブラリーに追加し、複数の動画を提供する。
【０１２３】
[0130]図６Ｂは、図６Ａに示したシステム（６００）を表している。図６Ｂは、まさに、物理的な空間内（６０１）のユーザー（６０２）の例を表している。この例において、同一のユーザー（６０２）が、物理的な空間内（６０１）においてジェスチャを実行していて、図６Ａのアバター（６０６ａ）に適用されたものに類似したゴールキーパーのジェスチャを代表するユーザーのアバター（６０６ｂ）の動画をもたらす。しかしながら、この例において、物理的な空間内のユーザー（６０２）の動作は、図６Ａのユーザー（６０２）によって実行されたものから変化しているが、同一のジェスチャがアバター（６０６ａ）及び（６０６ｂ）双方によって識別され表されている。
【０１２４】
[0131]標準ジェスチャのパッケージは、システム及びアプリケーション開発者が、ジェスチャの認識を彼らのシステム及び／又はアプリケーションに組み込むことができるジェスチャである。本システムは、ジェスチャの様相を修正し得るか又はジェスチャを完全に書き換え得る。例えば、本システムは、動作を再定義することによって特定のジェスチャに対応する動作を修正し得る。例えば、ユーザー（６０２ｂ）が怪我をしている場合、図６Ａに示したユーザー（６０２ａ）によって物理的な空間内（６０１）において以前実行したようなダイブができない。本システムは、変化したユーザーの動作を認識し得るか又はユーザーがジェスチャデータを修正するようにリクエストし得る。例えば、本システムは、デモンストレーションとして準備された基本的ジェスチャ又は音声コマンドを用いてユーザーを促し得、ユーザーは、ユーザー自身のジェスチャのバージョン又は音声コマンドを実行できる。ユーザー（６０２）は、ジェスチャを再定義するために図６Ｂに示した、立っている姿勢、左に傾いている姿勢、横に腕を振っている姿勢を含む動作を実行し得る。本システムは、ユーザーが定義したジェスチャのデータを有するデフォルトのジェスチャのデータを一時的又は永久的に上書きし得る。本システムは、元のジェスチャのデータも保持していて、ユーザーのアバターライブラリーに再定義されたジェスチャを追加し、同様の結果をアプリケーションに提供する複数のジェスチャを提供する。ジェスチャの再定義又は追加の後に続いて、本システムは、物理的な空間内のユーザーに関連するデータをキャプチャし得、そのデータから、ユーザーが再定義したジェスチャ又は追加したジェスチャを実行するか決定できる。
【０１２５】
[0132]同様に、能動的なユーザー学習は、ジェスチャ自体がアバターライブラリーの動画を修正し、及び／又はシステムによって識別されてユーザーに関連付けられた行動を修正するように促すユーザーのジェスチャを識別することを含み得る。例えば、ユーザーは、事前にパッケージ化された動画の修正モードへのジェスチャを実行するか又は入力することによって、動画に対する修正を開始し得るか又はアバターライブラリーへの動画の追加を開始し得る。本システムは、デモンストレーションとして準備された基本的な動画又は音声データを使ってユーザーを促し得、ユーザーは、ユーザー自身の動画バージョンを実行又は音声サンプルを提供できる。
【０１２６】
[0133]例えば、本システムは、図６Ｂに示したものに類似した、アバターの頭にアバターの手をついて座った姿勢を含むユーザー（６０３）に関連付けられたアバター（６１１）に動画を適用し得る。本システムは、物理的な空間内のユーザーが待機中か又はユーザーが同様の動作を実行したとき、ユーザーが、図６Ａに示したように彼又は彼女自身の姿勢をとる傾向があることを認識し得る。しかしながら、ユーザーは、ユーザーが待機しているとき、ユーザーに関するこの行動を示しているデータの履歴を修正することを所望し得る。ユーザーは、特定の文脈上の状況（例えば待機行動）下のユーザーのアバターに適用されるデータの履歴及び／又は動画の修正を開始するためのジェスチャを実行し得る。本システムは、特定の文脈上の状況に関連付けられた現在の動画を使ってユーザーに促し得、ユーザーは、アバターライブラリーの動画を書き換えるための、その動画の異なるバージョンを実行できる。
【０１２７】
[0134]本システム又はユーザーがジェスチャ又は動画データを追加、更新、又は書き換える双方のシナリオにおいて、本システムは、ユーザーの入力を記録し得、再定義したジェスチャ又は動画のデータを利用可能にし得る。例えば、ユーザーが「ウェーブ」のジェスチャ実行している場合、本システムは、前述したジェスチャ認識エンジンを介し「ウェーブ」のジェスチャに対応する動作を検出できる。本システムは、ジェスチャがどこで始まり、どこで終わるか検出し得、物理的な空間内において新しい動作を実行するようにユーザーを促し得、現在の「ウェーブ」のジェスチャのデータを上書きし、及び／又は記録されたユーザーの動作に対応する更なる「ウェーブ」のジェスチャを生成し得る。
【０１２８】
[0135]本システムは、記録したユーザーの動作を利用可能であり得る。例えば、ティーンエイジャー向けに識別されたゲームアプリケーションにおいて、そのジェスチャに対し提案されたユーザーの動作が、社会的に受け入れられない動作（例えば失礼な動作）を含む場合、本システムは、ジェスチャに関するユーザーの動作を確認し得ない。かくして、本システムは、望ましくない、ユーザーのアバターによって反映されるべきでないユーザーの行動を識別し得る。サッカーゲームのユーザーが、サッカーのゴールキーパーの役割をするアプリケーションを考えられたい。本システムは、ユーザーがゴールキーパーのジェスチャを実行し、結果が不成功をもたらした（すなわち、ゴールボールがネットに入った）とき、悪態をつくか又は不愉快なジェスチャをするユーザーの傾向を識別し得る。かくして、本システムは、ユーザーのアバターライブラリーからユーザー特有の動画、又は一般的なアバターライブラリーからの一般的な動画など、これらの文脈上の状況下のアバターに適用するための異なる動画を選択し得る。本システムが、ゴールキーパーのジェスチャ及びゲームの状態（例えば、ゴールボールを守ることに成功しなかったこと）を識別したとき、本システムは、物理的な空間内のユーザーによって実行された動作を模倣するアバターというよりもむしろ不愉快ではない動画をアバターに適用するように調整され得る。同様に、本システムは、行動を無効にし得、ユーザーのアバターに動画を適用するとき選択するアバターライブラリーの動画としてそれを含み得ない。かくして、上記行動の行動又は表示いくつかは、後で利用するために格納され得ない。
【０１２９】
[0136]図６Ｂは、ユーザーが実際に物理的な空間内にあるか否かに関係なく、本システムがユーザーの行動及び傾向をアバターに適用する例を表している。図６Ｂにおいて、アバター（６１１）は、図６Ａのユーザー（６０３）を表している。しかしながら、もはやユーザー（６０３）は、図６Ｂの物理的な空間内（６０１）に存在しない。ユーザーが物理的な空間内に存在しないとき、ユーザーを表すアバターを提供し（本システムが学習した）ユーザーの行動に従って行動できることが望まれ得る。例えば、本システムは、ユーザーが部屋を退出し、もはやシステムのトラッキングビューの中に存在しない場合でも、ユーザーのアバターを表示し、ユーザーの傾向及び行動に対応する動画をユーザーのアバターに適用し続け得る。第１のユーザーが第２のユーザーに対しゲーム対戦することを選択するがしかし、その第２のユーザーは物理的な空間内に存在し得るか又は存在し得ないゲームアプリケーションを考えられたい。本システムは、第２のユーザーのプロファイルに基づいてユーザーの物理的な特性、傾向、行動、及び別の特性を反映する第２のそのユーザーを模倣することができる。第２のユーザーの能力は、例えば、能力水準がアプリケーションに適切な場合、模倣され得る。かくして、第１のユーザーは、第２のユーザーが、実際に物理的な空間内に存在し、及び／又はシステムと対話するとき、第２のユーザーのアバターの実体と同様の体験を有することができる。本システムは、第２のユーザーのアバターが第２のユーザーに対応するように動き、話し、言語を使用するような動画を第２のユーザーのアバターに適用できる。
【０１３０】
[0137]ユーザー（６０３）の行動は、ユーザー（６０３）に関連し、時間とともに以前のユーザーの入力及び／又はシステムによってキャプチャされたデータから識別され得る。アバターは、ユーザーの特徴、行動、傾向、音声パターンなどに関連する様相を含む、物理的な空間内のユーザーの様相をますます反映する。例えば、本システムは、アバターが、識別したユーザーの傾向に従って行動して応答するようにユーザーの傾向を学習し得、動画をユーザーのアバターに知的に適用し得る。かくして、動画を実行するアバターを訓練することは、ユーザーからの入力の履歴から学習することと、ユーザーに類似するようにアバターを形作ることと、を含み得る。
【０１３１】
[0138]本システムは、ユーザーが様々なシナリオにどのように応答し、ユーザーの特性状態をどのようにキャプチャするか学習し得る。例えば、ユーザーは、別のユーザーがアクティブなプレーヤーである間、ゲームアプリケーション中、立ったまま待機し、本システムは、ユーザーが参加しているがアクティブなプレーヤーではない場合のユーザーの体位及び行動を検出し得る。ユーザーは、飲み物を飲み、壁に向かって立ったまま待機し、アクティブなプレーヤー又は画面を鑑賞し、本を読み、又は別の任意の行動を実行し得る。例えば、ユーザーが読書をしているが、アクティブなプレーヤーでないことは普通である。本システムは、この傾向を認識し得、ユーザーのプロファイルの傾向に関連する情報を格納し得る。
【０１３２】
[0139]図６Ａにおいて、本システムは、ユーザー（６０３）のボディランゲージ、姿勢、話される言語などを検出するが一方、ユーザー（６０３）は、ユーザー（６０２）がサッカーゲームアプリケーションに積極的に参加していることを観測している。本システムは、期間中、キャプチャされたユーザー（６０３）に関連する別のデータの履歴を有し得る。図６Ｂにおいて、ユーザー（６０３）は、物理的な空間内（６０１）に存在しないがしかし、ユーザーのアバター（６１１）が表示装置（６１２）に表示され得る。本システムは、ユーザー（６０３）の行動に関し収集したデータの履歴に対応するユーザーのアバター（６１１）に動画を適用し得る。かくして、本システムは、ユーザーが、ゲームにおいて非アクティブなプレーヤーであるとき、典型的に行動する方法と同じように座った姿勢のユーザーのアバター（６１１）を表し得る。本システムは、典型的なサッカーゲームにおいて見つけられ得、サッカーゲームの観戦者が典型的に座り得る場所であり得る席又は外野席などにユーザーを配置した付加的な動画を提供し得る。
【０１３３】
[0140]本システムは、ユーザーの入力に関連するデータを図２に示したアバターライブラリー（１９６）のようなアバターライブラリーに格納し得る。アバターライブラリーは、例えば、特定のユーザーに関連付けられ得るか又はプロファイル（１９８）のようなユーザープロファイルに格納され得る。前述したように本システムによって、ユーザーは、動画のストックライブラリーを上書き又は追加可能になる。別の実施形態例において、ライブラリーの動画は、ユーザーによって入力されアバターのライブラリーに記録された動画であり得る。例えば、本システム又はユーザーは、例えば、キャプチャ装置によってキャプチャされたユーザーの実際の動作又は行動を反映する動画を再プログラムし得る。かくして、動画が、アバターの動画ライブラリーに追加又は上書きされ得る。
【０１３４】
[0141]本システムは、動画のストックライブラリーを含む普遍的又は一般的なアバターライブラリーも含み得る。実施形態例において、アバターに適用される動画は、例えば、プログラム、アプリケーション、又はシステムが搭載する事前にパッケージ化された動画ライブラリーから選択された動画であり得る。選択される動画は、本システムが学習したユーザーの入力に対応する一定の行動を反映するためのものであり得る。事前に準備された動画は、アプリケーション用又はシステム向けに定義され得る。例えば、アバターに適用されるファイルオープン／ファイルクローズの動画は、システムの広い範囲で同一であり得る。
【０１３５】
[0142]ユーザーに対応するアバターライブラリーを含むアバターライブラリーは、アプリケーションを越えて又はシステムの広い範囲のアプリケーションに対しアクセス可能であり得る。例えば、本システムは、様々なアプリケーションを通してユーザーの行動を識別し得る。本システムは、アプリケーションを越えてユーザーの行動に関連するデータすべてを収集し得、それらを普遍的に受理可能なアバターライブラリーに格納し得る。本システムは、その後、アバターライブラリーにアクセスし得、アバターライブラリーからの動画を任意の状況下のアバターに適用し得る。例えば、本システムは、ユーザーがゲームにおいてアクティブなプレーヤーでないとき、ユーザーが典型的に彼又は彼女の爪を噛むことを識別し得る。かくして、非ゲームアプリケーションの実行中、ユーザーが本システムと対話しているとき、ユーザーがドキュメントの保存又はソフトウェアに関し実行中のデバッガーを待っているときのようにアプリケーションとユーザーとの対話に遅延があると、本システムは、ユーザーのアバターに爪を噛む動画を適用し得る。
【０１３６】
[0143]本システムは、ユーザーのアバターをいつでも表示し得、ユーザーの行動を反映する動画をいつでもアバターに適用し得る。本システムは、ユーザーからの支援があるなしにかかわらず、時間とともに任意タイプのシナリオのユーザー動画を適用し得る。例えば、アバターライブラリー及びユーザーの行動に関連付けられ格納されたデータを利用し、本システムは、ユーザーから入力せずに、識別したユーザーの音声パターン及び音量を使用したボイスメールメッセージを生成し得る。本システムは、アプリケーションのダッシュボード、友人との通信中、ゲームアプリケーションなど、において動画をアバターに適用するとき、ユーザーの行動を模倣し得る。ユーザーは、アバターを制御していても制御していない場合があっても、もっと正確に言えば、本システムがユーザーのアバターの画像を提供する場合がある。本システムは、特定のユーザーが物理的な空間内に存在しているか否かに関係なく、特定のユーザーに関連付けられたアバターに動画を適用し得る。例えば、ユーザーは、文書処理アプリケーションにおいて文書を記述し得、本システムは、ユーザーに類似したアバターを画面に表示し動画化し得る。本システムは、ユーザーのアバターライブラリーから動画を適用できる。
【０１３７】
[0144]本システムは、ユーザーがアプリケーション間又は異なる環境を越えて異なる行動をすることを識別し得る。例えば、ゲームアプリケーションにおいて、別のユーザーが、ゲームにおいてアクティブなプレーヤーであるとき、ユーザーは表示画面及び／又は別のユーザーを鑑賞、観察し得る。しかしながら、非ゲームアプリケーションにおいて、例えば、別のユーザーがアクティブであるとき、又はアプリケーションがドキュメントを保存しているか若しくはデバッガーを実行している場合、ユーザーは、表示画面を観察し得ない。ユーザーは彼又は彼女の爪を噛み得るか又は部屋を退出する。
【０１３８】
[0145]アプリケーションにとってアバターが、アプリケーション又は本システムの任意の様相を制御する必要がない場合であっても、アバターは表示され得る。行動、応答、傾向などを識別するために十分な一連の入力に従って本システムが典型的に学習し、ユーザーの入力から学習したように実行し行動するアバターが表示され得る。例えば、第１のユーザーが物理的な空間内において物語を語り得、それが話されているように物語を動画化するために、画面に表示されるアバターを選択し得る。選択されたアバターは、物理的な空間内に存在しないユーザーに関連付けられたアバターであり得る。しかしながら、本システムは、存在しないユーザーが行動しているように見えるアバターを動画化するための、存在しないユーザーに関連し格納された十分な情報を有し得る。本システムは、十分なアバターの動画ライブラリーを搭載しているアバターを使用し得、時間とともに本システムが学習したユーザーの行動に対応している。かくして、アバターがかなり十分なユーザーを表すことができるので、入力を提供するユーザーが存在しているように見え得る。
【０１３９】
[0146]説明したシステム（６００）は、物理的な空間内からユーザーの行動を示すデータを識別し得る。例えば、システム（６００）は、物理的な空間内のユーザーの動作、顔の表情、ボディランゲージ、感情などに関連する情報を収集し得る。システムは、ヒューマンターゲットの感情又は気質の識別を支援するための体位認識技法を使用し得る。例えば、システム（６００）は、ユーザーの骨格モデルを解析し、トラッキングし、ユーザーがどのように動いたか決定し得る。システム（６００）は、アプリケーション、オペレーティングシステムなどのシステムの様相を制御するジェスチャを含むユーザーの体によって実行されるユーザーの体及び動きをトラッキングし得る。本システムは、ユーザーの体位、顔の表情、音声表現及び口調、視線などを識別し得る。ユーザーの声の表現は、ユーザーの気質の指標を提供し得る。例えば、使用される言語、口調、声の高さ、声量などが、ユーザーの気質の感覚を伝達し得る。例えば、荒々しい口調は、怒り又は敵意として解釈され得る。その他の口調は、緊張、様子、息遣い、囁き、しわがれ声、冷静、興奮、満足、又は別の任意の口調であり得る。本システムは、ユーザーの眉毛の動き及び／又は顔をしかめるか又は微笑んでいる表情を示しているユーザーの顔の動きを識別し得る。本システムは、ユーザーによる話し言葉及びユーザーの口調、又はユーザーの体位などを検出し得る。例えば、本システムは、人の右腕を検出し得、上腕、下腕、指、親指、指の関節などを区別する忠実を有し得る。かくして、ユーザーの特徴は、ユーザーの行動及び傾向の良い指標である。
【０１４０】
[0147]図６Ａに示した例において、ユーザーは、頭を一方に傾け、膝の上に右肘を置き、そして頭にユーザーの右手をついて座っている。ユーザーの顔の表情、体位、話し言葉、又は別の任意の検出可能な特徴が適切である場合、仮想的なアバター（６１１）に適用され、修正され得る。例えば、ユーザー（６０３）はいすに座っているがしかし、本システムは、サッカーゲームにおいて見つけられ得る外野席又は席に座っているユーザーに修正する。
【０１４１】
[0148]システム（６００）は、ユーザーのアバターライブラリーをアプリケーションの状況と比較し得、どの動画が、ユーザーの視覚表示に適用される必要があるか決定し得る。例えば、前述したサッカーゲームアプリケーションにおけるゲームの状態は、ゴールボールを守ったユーザーの成功であり得る。本システムがこれらの状況下のこの行動がこのユーザーにとって典型的であると認識したとき、本システムは、ユーザーのダンスの動画をアバターに適用し得る。別の例において、第１のユーザーが物理的な空間内に存在していてディスプレイ上で物語を行動で示すために選択した、第２のユーザーに関するアバターと話をしている。第２のユーザーは存在しても存在しない場合でも、しかし、アバターは、ディスプレイ上で物語を行動で示し得、第２のユーザーに関し識別された行動を反映する。例えば、物語は小川を跳び越えている人を記述し得る。第２のユーザーに類似しているアバターが小川を跳び越えているのが示されているがしかし、第２のユーザーの行動を反映し、第２のユーザーのように見えるように動画化され得る。例えば、本システムは、ユーザーが跳躍している、又はユーザーがこわがっている、又は楽しんでいるときのユーザーの典型的な行動を識別し得る。本システムは、状況及び上記状況のユーザーの行動に関する格納されたデータに対応するアバターに動画を適用し得る。
【０１４２】
[0149]図７Ａは、ボクシングゲームアプリケーションにおいて、リモートでお互いに対戦する２人のユーザーの例を表している。リモートユーザーは、ネットワーク接続を介し、彼らの物理的な空間内それぞれの目標認識、解析、及びトラッキングシステム（１０）と情報のやりとりをし、互いに対話できる。システムそれぞれは、物理的な空間内それぞれのライブで視覚的なフィードバックを他方のシステムに提供できる。図７Ａにおいて、２人のユーザーであるユーザー＃１及びユーザー＃２が、ボクシングゲームアプリケーションを実行するシステムと情報のやりとりをしている。かくして、システムそれぞれが、ユーザーそれぞれに関連するライブデータをキャプチャし得、ユーザーそれぞれに対応する視覚表示をレンダリングし得、ユーザーそれぞれの動作にマッピングし得る。図７Ｂにおいて、第２のユーザーは、もはや物理的な空間内に存在せず、目標認識、解析、及びトラッキングシステムのトラッキングの視野に存在しない。しかしながら、本システムは、前の例のボクシングゲームアプリケーションのこの例か又は本システム若しくはアプリケーションを用いたユーザーによる別の任意の情報のやりとりのどちらか一方において、ユーザーの行動に関連するデータを収集している。本システムは、ユーザーの行動を反映する、ユーザーに関連付けられた動画をアバターライブラリーから適用できる。かくして、本システムは、ユーザーの入力の履歴に基づく、ユーザーにかなり類似したように見える視覚表示をレンダリングできる。ユーザー＃１は、実際のユーザーのデータがアバターに適用されている、実体に類似した第２のユーザーのアバターとの体験を有することができる。
【０１４３】
[0150]図８は、ユーザーの行動を学習する方法の例を示していて、図９は、選択した行動の動画をユーザーのアバターに適用する方法の例を示している。例えば、（８０２）において、本システムは、物理的な空間内からユーザーを含むデータを受信する。前述したキャプチャ装置は、シーンの立体視画像及びシーンのスキャン目標など、シーンに関するデータをキャプチャし得る。キャプチャ装置は、１つ以上のシーンの目標が、ユーザーのようなヒューマンターゲットに対応しているか否か決定し得る。人体モデルと一致する目標又は被写体それぞれが、その後、スキャンされ得、それに関連付けられた骨格モデルを生成し得る。骨格モデルは、その後、骨格モデルをトラッキングし、骨格モデルに関連付けられた視覚表示をレンダリングするための計算環境に提供され得る。
【０１４４】
[0151]（８０４）において、本システムは、ユーザーの行動を示す特性を識別し得る。ユーザーの行動を示す特性は、物理的特性、顔の特徴、スピーチパターン、言葉遣い、音声コマンド、ジェスチャ、動作、又は体位を含み得る。例えば、本システムは、人体及び顔の特徴を識別するための人体認識及び顔認識技法を使用し得る。一定の顔の表情及び人体の動きを含み得るユーザーの行動が識別され得る。例えば、システムは、物理的な空間内のユーザーに関するデータをキャプチャするキャプチャ装置を有し得る。本システムは、ユーザーの特徴、傾向、音声パターン、行動、ジェスチャなどを識別し得る。本システムは、ユーザーの行動を示す特性を受動的及び／又は能動的に識別し得る。例えば、受身的学習は、ユーザーが物理的な空間内において自然に活動しているときのユーザーの特徴を識別することを含み得、能動的な学習は、ユーザーがジェスチャを実行しているときのユーザーの特徴を識別することを含み得る。本システムは、アバターが、識別されたユーザーの傾向に従って行動して応答するように、時間とともにユーザーの傾向を学習し得、動画をユーザーのアバターに知的に適用し得る。かくして、動画を実行するアバターを訓練することは、ユーザーからの入力を学習することと、ユーザーに類似するようにアバターを形作ることと、を含み得る。
【０１４５】
[0152]（８０５）において、本システムは、事前にパッケージ化されたアバターライブラリーに動画を追加するか又は書き換え得る。例えば、事前にパッケージ化されたアバターライブラリーは、アプリケーションに提供される動画のデフォルトセットであり得る。事前にパッケージ化されたアバターライブラリーの動画を書き換えは、（８０８）で格納されるユーザーの行動を示す特性履歴に対応する動画を更新することを含み得る。事前にパッケージ化されたアバターライブラリーに動画を追加することは、物理的な空間内のユーザーの動作を記録することと、ユーザーの動作を代表する動画をアバターライブラリーに追加することと、を含み得る。アバターライブラリーの動画への追加又は書き換えは、ユーザーのジェスチャによって促され得る。例えば、ユーザーは修正モードに入るためのジェスチャを実行し得、本システムは、修正モードでユーザーの動作を記録し、それらを追加される動画又は書き換えられる動画に適用し得る。
【０１４６】
[0153]（８０６）において、本システムは、動画を生成し、それをアバターライブラリーに追加し得る。アバターライブラリーは事前にパッケージ化され得るか又はパッケージ化され得ない。例えば、アバターライブラリーは、ユーザーによって記録された動画を含み得、本システムによって提供され得るか又は提供され得ない。かくして、ユーザーは、ユーザーのアバターに適用されるアバターライブラリーの動画すべてを定義し得る。本システムは、追加された動画、書き換えられた動画、又は生成された動画いずれかを利用可能にする必要があり得る。例えば、ユーザーが不愉快な動画を実行した場合、動画が利用不可にされ得、動画を書き換えるためのデータの履歴への入力も利用もされ得ない。代替として、アバターライブラリーは、ユーザーによって記録された動画及び／又は事前にパッケージ化された動画の組み合わせがあり得る。
【０１４７】
[0154]（８０７）において、本システムは、ユーザーの行動を特定の状況と相互に関連付け得る。例えば、ユーザーがゲームアプリケーションにおいて成功を収めたときか又はユーザーが待機しているがゲームをしているアクティブなユーザーを見ている体験をしているとき、ユーザーはいくつかの方法で行動し得る。（８０６）において、ユーザーの行動と特定の任意の状況との相関関係を含むユーザーの行動に関連するデータがアバターライブラリーなどに格納され得る。前述したアバターライブラリーは事前にパッケージ化された動画を含むか、又はアバターライブラリーは特定のユーザーに関連付けられ得、動画がそのユーザーに調整される。ユーザー特有の情報は、１人以上のユーザーによる対戦モードでの傾向も含み得る。例えば、ユーザーが、一定の方法で行動又は反応する傾向がある場合、本システムは、一定の状況下におけるユーザーの傾向をトラッキングし得、ユーザーの行動をより正確に反映し得る。かくして、本システムは、ユーザーの傾向をトラッキングすることを開始し得、その情報を使用し得、ユーザーの行動をより正確に反映し得る。
【０１４８】
[0155]（８０６）において、彼らの行動に対応する、物理的な空間内のユーザーに関連付けられた行動及び動画がユーザープロファイルの一部として格納され得る。プロファイルは、例えば、物理的な特定の空間内又はユーザーに特有であり得、アバターライブラリーの一部であり得るか又は様相を含み得る。ユーザーの特徴を含むアバターデータはユーザープロファイルの一部になる。プロファイルは、キャプチャシーンへのユーザーのエントリー時にアクセスされ得る。プロファイルが、パスワード、ユーザーによる選択、体の大きさ、音声認識などに基づくユーザーと一致した場合、そのプロファイルが、ユーザーの視覚表示の決定時に使用され得る。
【０１４９】
[0156]ユーザーに関するデータの履歴が監視され得、ユーザーのプロファイルに情報を格納する。例えば、本システムは、ユーザーの行動、音声パターン、感情、音声、などのようなユーザー特有の行動の特徴を検出し得る。本システムは、気質を視覚表示に適用するとき、それらの特徴をユーザーの視覚表示に適用する。例えば、本システムが、行動を反映するためにユーザーの行動を識別し、発話を含む動画を選択した場合、視覚表示の音声は、ユーザーの音声パターンからパターン化され得るか又はユーザーの自己音声の録音でさえあり得る。
【０１５０】
[0157]本システムは、ユーザーに関連付けられたアバターをレンダリングし得、（８１０）において、ユーザーの行動を代表する動画をユーザーのアバターに適用し得る。（８０８）において、本システムは、文脈上の状況を識別し得る。文脈上の状況は、ユーザーの物理的な環境の状況、ユーザーの仮想的な環境の状況、システムの状態、アプリケーションの状態、アプリケーションにおけるユーザーの成功、アプリケーションにおけるユーザーの不成功、ユーザーのアクティブな状態／非アクティブな状態、第２のユーザーの存在又はジェスチャなど、を含み得る。文脈上の状況をデータの履歴と比較することによって、本システムは、データの履歴と文脈上の状況との間の任意の相関関係を識別し得る。相関関係が識別された場合、本システムは、文脈上の状況に対応しているユーザーの行動を代表する動画を選択し得る。
【０１５１】
[0158]図９は、ユーザーのアバターに動画を適用するための方法を示している。ユーザーが物理的な空間内に存在しているか否かに関係なく、動画は適用され得る。かくして、本システムは、ユーザーの類似物を有しユーザーに従って行動するアバターの形式でユーザーを反映するものを提供し得る。ユーザーが物理的な空間内に存在しない場合などユーザーがアプリケーション／システムと情報のやり取りをしない場合であっても、ユーザーのアバターはユーザーを表し得る。（９０２）において、本システムは、ユーザーの視覚表示をレンダリングする。図８に記載したアバターライブラリーに格納された情報に基づいて、動画が、ユーザーに対応する、ユーザーのアバターに適用され得る。
【０１５２】
[0159]（９０４）において、本システムは、その特定ユーザーの学習した入力に対応するアバターに適用するための動画を選択し得る。（９０６）において、ユーザーが物理的な空間内に物理的に存在しない場合、本システムが学習した、そのユーザーに関連付けられたアバターライブラリーに格納されている動画が、ユーザーの行動に対応し得る。かくして、ユーザーが、キャプチャ装置によってキャプチャするために、物理的な空間内に存在しない場合であっても、アバターは、ユーザーと類似した方法で行動するように見ることができる。第２のユーザーは、本システムが、第１のユーザーとの体験をシミュレーションするために物理的に存在しないユーザーの視覚表示をレンダリングするようにリクエストし得る。
【０１５３】
[0160]（９０８）において、ユーザーが存在している場合、動画は、アバターライブラリーから選択され得るか又は本システムによってキャプチャされた物理的な空間内のユーザーに直接マッピングされ得る。動画はアバターライブラリーから選択され得、ユーザーのデータの履歴から識別されたユーザーの行動を代表し得る。かくして、動画は、本システムによって前にキャプチャされた行動の識別に基づいて選択され得る。ユーザーが物理的な空間内に存在していて、ユーザーに関連するデータがキャプチャ装置によってキャプチャされている場合であっても、アバターをユーザーに直接マッピングする代わりにアバターライブラリーから動画を適用することが望まれ得る。
【０１５４】
[0161]実施形態例において、アバターに適用される動画は、例えば、プログラム、アプリケーション、又はシステムが搭載する事前にパッケージ化された動画ライブラリーから選択された動画であり得る。選択される動画は、本システムが学習したユーザーの入力に対応しているものであり得る。別の実施形態例において、ライブラリーの動画は、ユーザーによって入力されアバターの動画のボキャブラリーに記録された動画であり得る。例えば、本システム又はユーザーは、例えば、キャプチャ装置によってキャプチャされたユーザーの実際の動作又は行動を反映するように、動画を再プログラムし得る。かくして、動画が、アバターの動画ライブラリーに追加又は上書きされ得る。時間とともに、仮想的な空間内のアバターが、ユーザーの特徴、行動、傾向、音声パターンなどを含む、物理的な空間内のユーザーを反映したものになるように見え得る。
【０１５５】
[0162]本明細書に記載した構成及び／又は手法は、本来、例示的であって、これらの具体的な実施形態又は例は、限定している意味として考えられないように理解されたい。本明細書に記載した特定のルーチン又は方法は、１つ以上の処理の戦略をいくつも示している。したがって、例示した様々な動作が、例示した順番、別の順番、並列などで実行され得る。同様に前述したプロセスの順序は変更され得る。
【０１５６】
[0163]更に、本開示が様々な図面に例示した特定の態様に関連して説明されているが一方、別の類似した態様が使用され得るか、又は本開示の同一機能を実行するための修正及び追加がそれから逸脱せずに説明した態様に対し実行され得ることが理解されよう。本開示の対象項目は、本明細書に開示した様々なプロセス、システム、及び構成、並びにその他の特徴、機能、動作、及び／又は特性に関する新規及び非新規の組み合わせ及び部分的な組み合わせすべて、並びにその同等物のいくつか及びすべてを含む。かくして、開示した実施形態の方法又は装置、又はいくつかの態様又はその一部は、フロッピーディスク、ＣＤ−ＲＯＭ、ハードドライブ、又は別の任意の計算機可読記憶媒体など、実際の媒体で具体化されたプログラムコード（すなわち命令）形式を取り得る。プログラムコードがマシンによってロードされ実行されるとき、計算機のようなマシンが開示した実施形態を実施するように構成される機器になる。
【０１５７】
[0164]明示的に本明細書に説明した特定の実装に加えて、本明細書に開示した明細書の考慮から当業者には別の態様及び実装が明らかになろう。したがって、本開示は、単一の任意の態様に限定されるのではなく、むしろ添付の請求に従った全域及び範囲内で解釈される態様に限定されるべきである。例えば、本明細書に記載された様々な手順は、ハードウェア又はソフトウェア、又は双方の組み合わせで実装され得る。
【符号の説明】
【０１５８】
１０    トラッキングシステム
１２    計算環境
１４    表示装置
１６    視聴覚装置
１８    ユーザー
２０    キャプチャ装置
２２    画像カメラコンポーネント
２４    赤外線光コンポーネント
２６    立体視（３−Ｄ）カメラ
２８    ＲＧＢカメラ
３０    マイクロフォン
３２    プロセッサー
３４    メモリーコンポーネント
３６    通信リンク
３８    ボクシングの対戦相手
１００    マルチメディアコンソール
１０１    中央演算処理装置（ＣＰＵ）
１０２    レベル１キャッシュ
１０４    レベル２キャッシュ
１０６    フラッシュＲＯＭ
１０８    画像処理装置（ＧＰＵ）
１１０    メモリーコントローラー
１１２    メモリー
１１４    映像エンコーダー／映像コーデック（符号化器／デコーダー）
１１８    モジュール
１２０    Ｉ／Ｏコントローラー
１２２    システム管理コントローラー
１２３    音声処理装置
１２４    ネットワークインターフェースコントローラー
１２６    第１のＵＳＢコントローラー
１２８    第２のＵＳＢコントローラー
１３０    フロントパネルＩ／Ｏ部分組立品
１３２    音声コーデック
１３６    システム電力供給モジュール
１３８    ファン
１４０    伝送用Ａ／Ｖ（音声／映像）ポート
１４２（１）周辺機器コントローラー
１４２（２）周辺機器コントローラー
１４３    システムメモリー
１４４    媒体ドライブ
１４６    外部記憶装置
１４８    無線アダプター
１５０    電源スイッチ
１５２    イジェクトボタン
１９０    ジェスチャ認識エンジン
１９１    ジェスチャフィルター
１９２    ジェスチャ認識ライブラリー
１９４    表示装置
１９５    プロセッサー
１９６    アバター動画ライブラリー
１９８    プロファイル
２２０    計算環境
２２１    システムバス
２２２    システムメモリー
２２３    読み出し専用メモリー（ＲＯＭ）
２２４    基本入出力システム（ＢＩＯＳ）
２２５    オペレーティングシステム
２２６    アプリケーションプログラム
２２７    その他のプログラムモジュール
２２８    プログラムデータ
２２９    画像処理装置（ＧＰＵ）
２３０    ビデオメモリー
２３１    グラフィックインターフェース
２３２    ビデオインターフェース
２３３    周辺出力インターフェース
２３４    取り外し不可能不揮発性メモリーインターフェース
２３５    取り外し可能不揮発性メモリーインターフェース
２３６    ユーザー入力インターフェース
２３７    ネットワークインターフェース
２３８    ハードディスクドライブ
２３９    磁気ディスクドライブ
２４０    光学式ディスクドライブ
２４１    計算機
２４２    モニター
２４３    プリンター
２４４    スピーカー
２４５    ローカルエリアネットワーク（ＬＡＮ）
２４６    リモートコンピューター
２４７    メモリー記憶装置
２４８    リモートアプリケーションプログラム
２４９    広域ネットワーク（ＷＡＮ）
２５０    モデム
２５１    キーボード
２５２    ポインティングデバイス
２５３    取り外し可能不揮発性光学式ディスク
２５４    取り外し可能不揮発性磁気ディスク
２５５    プログラムデータ
２５６    その他のプログラムモジュール（複数）
２５７    アプリケーションプログラム（複数）
２５８    オペレーティングシステム
２５９    演算処理装置（単数又は複数）
２６０    ランダムアクセスメモリー（ＲＡＭ）
５０２ａ  手
５０２ｂ  手
５０４ａ  前腕
５０５ｂ  前腕
５０６ａ  肘
５０６ｂ  肘
５０８ａ  二頭筋
５０８ｂ  二頭筋
５１０ａ  肩
５１０ｂ  肩
５１２ａ  臀部
５１２ｂ  臀部
５１４ａ  大腿部
５１４ｂ  大腿部
５１６    膝
５１６ａ  膝
５１６ｂ  膝
５１８ａ  前脚
５１８ｂ  前脚
５１８ｎ  前脚
５２０    足
５２０ａ  足
５２０ｂ  足
５２２ａ  頭
５２２ｂ  頭
５２２ｎ  頭
５２４    胴
５２６    上部脊椎
５２６ｎ  上部脊椎
５２８    下部脊椎
５２８ｎ  下部脊椎
５３０    腰
６０１ａ  物理的な空間
６０１ｂ  物理的な空間
６０２ａ  ユーザー
６０２ｂ  ユーザー
６０３    ユーザー
６０６ａ  アバター
６０６ｂ  アバター
６０７    ボール
６０８    キャプチャ装置
６０９    ネット
６１０    計算機
６１１    アバター
６１２ａ  表示装置
６１２ｂ  表示装置
１００２ａ  ユーザー＃１のアバター
１００２ｂ  ユーザー＃２のアバター
【図１】
0005632474.tif 000002
【図２】
0005632474.tif 000003
【図３】
0005632474.tif 000004
【図４】
0005632474.tif 000005
【図５Ａ】
0005632474.tif 000006
【図５Ｂ】
0005632474.tif 000007
【図６Ａ】
0005632474.tif 000008
【図６Ｂ】
0005632474.tif 000009
【図７Ａ】
0005632474.tif 000010
【図７Ｂ】
0005632474.tif 000011
【図８】
0005632474.tif 000012
【図９】
0005632474.tif 000013