説明

ユーザーから学習した入力を介し視覚表示を実写のようにする方法及びシステム

人間に関連してキャプチャされたデータが、視覚表示がユーザーの行動の特性の反映を開始するように解析され、ユーザーの視覚表示に適用され得る。例えば、システムは、物理的な空間内のユーザーに関するデータをキャプチャするキャプチャ装置を有し得る。本システムは、ユーザーの特徴、傾向、音声パターン、行動、ジェスチャなどを識別し得る。本システムは、アバターが識別されたユーザーの行動に従って行動して応答するように、時間とともにユーザーの傾向を学習し、動画をユーザーのアバターに知的に適用し得る。アバターに適用される動画は、事前にパッケージ化した動画ライブラリーから選択された動画であり得るか、又はその動画は、ユーザーによって入力されアバターのアバターライブラリーに記録され得る。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ジェスチャベースシステムに関し、具体的には視覚表示をカスタマイズするための方法及びシステムに関する。
【背景技術】
【0002】
[0001]様々なアプリケーションは、ユーザーに対応する視覚表示を示し、ユーザーは、リモート又は移動中にコントローラー上のボタンを何らかの方法で選択するなど一定の動作を介してこれを制御可能である。視覚表示は、典型的に、二次元的(2D)又は立体的(3D)なモデル形式を取る計算機の表示であって、コンピューターゲーム、テレビゲーム、チャット、フォーラム、コミュニティ、インスタントメッセージングサービスなど様々なアプリケーションにおいてレンダリングされる。視覚表示は、アバター、架空のキャラクター、漫画又は動物、カーソル、手のような形式があり得る。コンピューターゲーム、マルチメディアアプリケーション、オフィスアプリケーションのようなコンピューティングアプリケーションの多くは、アプリケーションにおいてユーザーのアバターとして使用するために選択され得る所定の動画キャラクターの選択を提供している。典型的に、アバターによって実行される動画は、動画ライブラリーから選択される。ユーザーは、例えば、リモート上のボタン又はキーを押下することによって、そのライブラリーから特定の動画を実行するそれらのアバターを選択できる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本発明の目的は、ユーザーの傾向を学習し、ユーザーのアバターに動画を知的に適用し、識別されたユーザーの傾向に従ってアバターが行動して応答するシステム及び方法を提供することである。
【課題を解決するための手段】
【0004】
[0002]本明細書に開示されるものは、ユーザーからの入力を学習することを介し、動画を実行するために、アバターを知的に訓練するための技法である。時間とともに、仮想的な空間内のアバターが、ユーザーの特徴、行動、傾向、音声パターンなどを含む、物理的な空間内のユーザーの様相を反映したものになるように見え得る。例えば、システムは、物理的な空間内のユーザーに関するデータをキャプチャするキャプチャ装置を有し得る。本システムは、ユーザーの特徴、傾向、音声パターン、行動、ジェスチャなどを識別し得る。本システムは、時間とともにユーザーの傾向を学習し得、アバターが識別されたユーザーの行動に従って行動して応答するように動画をユーザーのアバターに知的に適用し得る。かくして、動画を実行するようにアバターを訓練することは、ユーザーからの入力を学習することと、ユーザーに類似するようにアバターを形作ることと、を含み得る。
【0005】
[0003]本システムは、故に、ユーザーが物理的な空間内に存在しているか否かに関係なく、ユーザーに類似したアバターをレンダリングし得る。実施形態例において、アバターに適用される動画は、例えば、プログラム、アプリケーション、又はシステムが搭載する事前にパッケージ化された動画ライブラリーから選択された動画であり得る。選択される動画は、本システムが学習したユーザーの入力に対応しているものであり得る。別の実施形態例において、ライブラリーの動画は、ユーザーによって入力されアバターの動画のボキャブラリーに記録された動画であり得る。例えば、本システム又はユーザーは、例えば、キャプチャ装置によってキャプチャされたユーザーの実際の動作又は行動を反映するように動画を再プログラムし得る。かくして、動画が、アバターの動画ライブラリーに追加又は上書きされ得る。
【0006】
[0004]この「課題を解決するための手段」は更に、「発明を実施するための形態」に後述される概念のいくつかを簡易化した形式で紹介するために提供される。この「課題を解決するための手段」は、請求対象項目の重要な機能も本質的な特徴も特定するように意図されておらず、請求対象項目の範囲を限定するために利用されることも意図されていない。更に、請求対象項目は、この開示の任意の一部に記述した不都合点のいくつか又はすべてを解決する実装に限定されない。
【0007】
[0005]この明細書に従って添付図面を参照し、視覚表示を修正するためのシステム、方法、及び計算機可読媒体が更に、説明される。
【図面の簡単な説明】
【0008】
【図1】[0006]ゲームをするユーザーと目標認識、解析、及びトラッキングシステムの実施形態の例を示している。
【図2】[0007]目標認識、解析、及びトラッキングシステムにおいて使用され得、推論と動画とを混合した技法を組み込み得るキャプチャ装置の実施形態例を示している。
【図3】[0008]本明細書に記載した動画技法が具体化され得る計算環境の実施形態例を示している。
【図4】[0009]本明細書に記載した動画技法が具体化され得る計算環境の別の実施形態例を示している。
【図5A】[0010]立体視画像から生成されたユーザーの骨格マッピングを例示している。
【図5B】[0011]図2に示したジェスチャ認識装置アーキテクチャの更なる詳細を例示している。
【図6A】[0012]目標認識、解析、トラッキングシステムの例、及びそのユーザーによる入力の履歴に基づいてユーザーのアバターを表示するための実施形態の例を表している。
【図6B】[0012]目標認識、解析、トラッキングシステムの例、及びそのユーザーによる入力の履歴に基づいてユーザーのアバターを表示するための実施形態の例を表している。
【図7A】[0013]2人のユーザーそれぞれの目標、認識、及びトラッキングシステムを介しお互いとリモートで対話しているユーザーを表している。
【図7B】[0013]第2のユーザーがシーンに存在しないところで第2のユーザーのアバターと対話している第1のユーザーを表している。
【図8】[0014]ユーザーの入力に関連する行動のデータを収集する方法に関する流れ図の例を表している。
【図9】[0015]動画をユーザーのアバターに知的に適用する方法に関する流れ図の例を表している。
【発明を実施するための形態】
【0009】
[0016]本明細書に開示されるものは、ユーザーに従って行動するアバターのような、ユーザーの視覚表示をレンダリングするための技法である。例えば、ユーザーの入力を介しユーザーの傾向を学習することによって動画を実行するアバターを知的に訓練することを含むシステム及び方法が開示される。ユーザーの視覚表示は、物理的な空間内のユーザーに対応するアバター、画面上のカーソル、手、又は別の任意の仮想的なオブジェクト形式であり得る。計算システムは、物理的な空間からデータをキャプチャによってユーザーの視覚表示をモデル化して表示できる。例えば、本システムは、シーンの画像データをキャプチャするキャプチャ装置と、シーンのユーザーに対応する視覚表示を表示するモニターと、を含み得る。ユーザーの物理的な特性に基づいて、視覚表示を初期化し及び/又はカスタマイズすることが望まれ得る。例えば、キャプチャ装置がユーザーの物理的な特徴を識別し得、識別された彼らの目の形、鼻の形、服、アクセサリーなどそれらの特徴に基づいてユーザーのアバターをカスタマイズし得る。
【0010】
[0017]物理的な空間内のユーザーを代表するモデルを生成するために、キャプチャ装置は、シーンの立体視画像をキャプチャし得、シーンの目標又は被写体をスキャンし得る。一実施形態において、キャプチャ装置は、シーン中の1つ以上の目標又は被写体がユーザーのようなヒューマンターゲットに対応しているか否か決定し得る。シーン中の目標又は被写体がヒューマンターゲットに対応しているか否か決定するために、目標それぞれは大量情報で満たされ得、人体モデルのパターンと比較され得る。人体モデルと一致する目標又は被写体それぞれが、その後、スキャンされ得、それに関連付けられた骨格モデルを生成し得る。例えば、人間として識別された目標がスキャンされ得、それに関連付けられた骨格モデルを生成し得る。骨格又はメッシュモデルのようなユーザーのモデルは、ユーザーの体型、骨格、身長、体重などを表し得る。モデルをトラッキングし、モデルに関連付けたアバターをレンダリングするためにモデルは、その後、計算環境に提供され得る。
【0011】
[0018]本システムは、物理的な空間内のユーザー及び任意の動きをトラッキングしユーザーの視覚表示に適用され得るユーザーの特徴を識別し得る。識別される特性は、ユーザーの行動を示し得る。例えば、本システムは、ユーザーの物理的な特徴、傾向、音声パターン、ジェスチャなどを識別し得る。本システムは、ユーザーを時間とともにトラッキングし得、トラッキングされたデータの履歴に基づく修正又は更新をユーザーのアバターに適用し続け得る。例えば、キャプチャ装置が、ユーザーの行動、癖、感情、スピーチパターンなどを識別し、これらをユーザーのアバターに適用し続け得る。本システムがそのユーザーに関連するデータの履歴を集積するにつれて、ユーザーに対するアバターの類似性に関連して、レンダリングされるアバターの忠実性が時間とともに増大する。
【0012】
[0019]本明細書に記載したアバターの生成及びカスタマイズシステム、方法、及びコンポーネントは、例としてどんな意図した限定もしない、ゲームコンソールなどのマルチメディアコンソール又は目標の視覚表示の表示が所望される衛星電波受信装置、セットトップボックス、アーケードゲーム、パーソナルコンピューター(PC)、携帯電話、携帯情報端末(PDA)、及びその他の携帯端末を含み得る別の任意の計算装置において具体化され得る。
【0013】
[0020]図1A及び図1Bは、ユーザーに類似したアバターを生成するユーザーの入力の履歴をトラッキングする技法を使用し得、目標認識、解析、及びトラッキングシステム(10)に関する構成の実施形態例を例示する。実施形態例において、ユーザー(18)は、ボクシングゲームをしている。実施形態例において、システム(10)は、ユーザー(18)のようなヒューマンターゲットを認識し、解析し、及び/又はトラッキングし得る。システム(10)は、物理的な空間内のユーザーのジェスチャ並びにユーザーの物理的な特徴及び行動の特性に関連する情報を収集し得る。
【0014】
[0021]図1Aに示した目標認識、解析、及びトラッキングシステム(10)は、計算環境(12)を含み得る。計算環境(12)は、計算機、ゲームシステム、又はゲーム機などであり得る。実施形態例による計算環境(12)は、ハードウェアコンポーネント及び/又はソフトウェアコンポーネントを含み得、計算環境(12)が、ゲームアプリケーション、非ゲームアプリケーションなどのようなアプリケーションを実行するために使用され得る。
【0015】
[0022]図1Aに示した目標認識、解析、及びトラッキングシステム(10)は更に、キャプチャ装置(20)を含み得る。キャプチャ装置(20)は、例えば、ユーザー(18)のような1人以上のユーザーを視覚的に監視するために使用され得るカメラであり得、1人以上のユーザーによって実行されるジェスチャが、キャプチャされ得、解析され得、トラッキングされ得、より詳細に後述されるようにアプリケーション内において1つ以上のコントロール又は動作を実行し得る。
【0016】
[0023]一実施形態による目標認識、解析、及びトラッキングシステム(10)は、ゲーム、又は映像アプリケーション及び/又は音声アプリケーションをユーザー(18)のようなユーザーに提供し得るテレビ、モニター、ハイビジョンテレビ(HDTV)などのような視聴覚装置(16)と接続され得る。例えば、計算環境(12)は、グラフィックカードなどのビデオアダプター及び/又はサウンドカードなどの音声アダプターを含み得、ゲームアプリケーション、非ゲームアプリケーションなどに関連する視聴覚信号を提供し得る。視聴覚装置(16)は、計算環境(12)から視聴覚信号を受信し得、その後、視聴覚信号と関連付けられたゲーム、又は映像アプリケーション及び/又は音声アプリケーションをユーザー(18)へ出力し得る。一実施形態による視聴覚装置(16)は、例えば、S−Videoケーブル、同軸ケーブル、HDMIケーブル、DVIケーブル、VGAケーブルなどを介し計算環境(12)と接続され得る。
【0017】
[0024]図1に示した目標認識、解析、及びトラッキングシステム(10)は、ユーザー(18)などのヒューマンターゲットを認識し、解析し、及び/又はトラッキングするために使用され得る。視覚表示の動作は、視覚表示の動きを物理的な空間内のユーザーの動作へマッピングすることによって制御され得る。物理的な空間の動作が、仮想的な空間及び/又はゲーム空間のようなシステム空間内又はアプリケーション空間内におけるコントロールに対応しているジェスチャであり得る。例えば、ユーザー(18)は、キャプチャ装置(20)を使用してトラッキングされ得、ユーザー(18)の動作は、コンピューター環境(12)によって実行されているアプリケーションに作用するように使用され得るコントロールとして解釈され得る。例えば、認識され、ユーザーのモデルにマッピングされたユーザーのジェスチャに基づいて、計算環境が、計算機環境上で実行するアプリケーションにおいて実行するコントロールを決定し得る。かくして、ユーザーは、物理的な空間内においてジェスチャを実行することによってアバターの動作を制御し得る。
【0018】
[0025]キャプチャされる動作は、物理的な空間内の任意の動作であり得、カメラのようなキャプチャ装置によってキャプチャされる。キャプチャされる動作は、物理的な空間内のユーザー又は被写体のような目標の動きを含み得る。キャプチャされる動作は、オペレーティングシステム又はアプリケーションにおけるコントロールへ変換するジェスチャを含み得る。動作は、走行動作のように動的であり得るか又は動きがない姿勢のユーザーのように静的であり得る。
【0019】
[0026]システム(10)は、キャプチャ装置(20)への入力を動画に変換し得、入力はユーザーの動作を代表していて、動画がその入力によって駆動される。かくして、ユーザーの動作はアバター(40)へマッピングし得、物理的な空間内のユーザーの動作がアバター(40)によって実行される。ユーザーの動作は、アプリケーションのコントロールに適用可能なジェスチャであり得る。図1A及び図1Bに示した実施形態例において、計算環境(12)上で実行しているアプリケーションは、ユーザー(18)が対戦しているボクシングゲームであり得る。
【0020】
[0027]キャプチャ装置(20)は、ユーザーの行動を代表するデータをキャプチャし得る。例えば、キャプチャ装置は、ユーザーの行動を示す特性をキャプチャし得る。上記特性は、ユーザーの体位、顔の表情、音声コマンド、スピーチパターン、ジェスチャなどを含み得る。計算環境(12)は、キャプチャされたデータを解析し得、ユーザーの環境の状況、システム又はアプリケーションの状態、アプリケーションにおけるユーザーの成功/結果、ユーザーのアクティブな状態又は非アクティブな状態、又は別の任意の検出可能な状況など、文脈上の状況とユーザーの行動とを相互に関連付け得る。かくして、本システムは、ユーザーが様々な状況にどのように応答するかユーザーの行動の傾向などを学習し得る。
【0021】
[0028]計算環境(12)は、ユーザー(18)が彼又は彼女の動きを使って制御し得るプレーヤーアバター(40)の視覚表示を提供するための視聴覚装置(16)を使用し得る。プレーヤーアバター(40)はキャプチャ装置(20)によって識別されたユーザーの特徴を有し得るか、又はシステム(10)は、ユーザーの動作にマッピングする視覚表示に周知のボクサーの特徴を使用するか又はプロボクサーの体を描き得る。実施形態例に従って、計算機環境(12)並びに目標認識、解析、及びトラッキングシステム(10)のキャプチャ装置(20)が、物理的な空間内のユーザー(18)のパンチを認識し、解析するために使用され得、パンチが、ゲーム空間においてプレーヤーアバター(40)のゲームコントロールとして解釈され得る。例えば、図1Bに示したユーザー(18)は、プレーヤーアバター(40)がゲーム空間内でパンチを飛ばすことをもたらすように物理的な空間内においてパンチを飛ばし得る。計算環境(12)は、ボクシングの対戦相手(38)の視覚表示をユーザー(18)に提供するための視聴覚装置(16)も使用し得る。
【0022】
[0029]素早く上下する、曲がって進む、足を引きずって歩く、妨害する、ジャブで突く、又は異なる様々なパンチ力で食らわすためのコントロールなど、ユーザー(18)による別の動作も別のコントロール又は動作として解釈され得、使用され得る。更に、動作の中には、ユーザーのアバター(40)の制御以外の動作に相当し得るコントロールとして解釈され得るものもある。例えば、プレーヤーは、ゲームを終了し、一時停止し、又はセーブし、レベルを選択し、ハイスコアを眺め、友人との通信を実行するための動作などを使用し得る。加えると、ユーザー(18)の動作の範囲すべてが利用可能であって、使用され、アプリケーションと対話するために適切な任意の方法で解析され得る。
【0023】
[0030]複数のユーザーは離れた場所から互いに対話し得る。例えば、ボクシングの対戦相手(38)の視覚表示は、物理的な空間内のユーザー(18)と一緒に存在する第2のユーザー又は第2の物理的な空間内のネットワークユーザーのような別のユーザーを代表し得る。代替として、本システムは、ユーザーが物理的な空間内に存在しているか又は本システム/アプリケーションと対話しているか否かに関係なく、ユーザーに関連付けられたアバターをレンダリングし得る。例えば、第1のユーザーのアバターは、第2のユーザーのアバターと対話し得る。第1のユーザーは、物理的な空間内に存在し得、第1のユーザーのアバターのジェスチャ及び動きを制御し得る。しかしながら、第2のユーザーのアバターに関連付けられた第2のユーザーは、物理的な空間内に存在し得ない。本システムは、第2のユーザーによる入力の履歴を利用してアバターが第2のユーザーの入力から学習される行動に類似するように、動画を第2のユーザーのアバターに知的に適用し得る。第2のユーザーのアバターは、第2のユーザーに類似し得、アプリケーションに適用可能な第2のユーザーの傾向、習慣、及び別の特性を密接に反映し得る。第1のユーザーは故に、第2のユーザーが物理的に存在していて第2のユーザーのアバターを制御している実体と類似し得る第2のユーザーのアバターと仮想的な世界の体験を有し得る。
【0024】
[0031]実施形態例において、ユーザー(18)のようなヒューマンターゲットは、物体を有し得る。上記の実施形態において、コンピューターゲームのユーザーは物体を手に持つ場合があって、プレーヤーの動作と物体とが、ゲームのパラメーターを調整し及び/又は制御するために使用され得る。例えば、ラケットを手に持つプレーヤーの動作が、コンピュータースポーツゲームにおいて、スクリーン上のラケットを制御するためにトラッキングされ得、利用され得る。別の実施形態例において、物体を手に持つプレーヤーの動作が、コンピューターの戦闘ゲームにおいて、スクリーン上の兵器を制御するためにトラッキングされ得、利用され得る。ユーザーのジェスチャ又は動きは、プレーヤーアバター(40)を制御する以外の動きに対応し得るコントロールとして解釈され得る。例えば、プレーヤーは、ゲームを終了し、一時停止し、又はセーブし、レベルを選択し、ハイスコアを眺め、友人との通信を実行するための動作などを使用し得る。制御可能なオペレーティングシステム及び/又はアプリケーションの任意の様相が、仮想的にユーザー(18)のような目標の動きによって制御され得る。
【0025】
[0032]別の実施形態例による目標認識、解析、及びトラッキングシステム(10)が、オペレーティングシステム及び/又はゲーム分野以外のアプリケーションの様相を制御するために、目標の動きを解釈し得る。ユーザーのジェスチャは、オペレーティングシステム、ゲームのゲーム以外の様相又は非ゲームアプリケーションに適用可能なコントロールであり得る。ユーザーのジェスチャは、ユーザーインターフェースを制御するオブジェクトの操作として解釈され得る。例えば、垂直に左から右へ並んだブレード又はタブを有するユーザーインターフェースインターフェースであってブレード又はタブそれぞれの選択が、アプリケーション又はシステム内の様々なコントロールに関するオプションを開始するものを考えられたい。本システムは、タブの動きに対するユーザーの手のジェスチャを識別し得、物理的な空間内のユーザーの手がアプリケーション空間内のタブを使って仮想的に整列される。一時停止動作、掴み動作、及びその後、左に手をはらう動作を含むジェスチャが、タブの選択と、その後、次のタブを開く方向への動きとして解釈され得る。同様に、本システムは、任意のタイプのアプリケーションの実行を通してユーザーの入力からユーザーの行動を学習し得る。本システムは、そのアプリケーション又は別の任意のアプリケーションにおいて学習した入力に従って行動するようにユーザーのアバターを動画化し得る。
【0026】
[0033]図2は、ユーザー又は被写体であり得る目標の目標認識、解析、及びトラッキングするために使用され得るキャプチャ装置(20)の実施形態例を示している。実施形態例によるキャプチャ装置(20)は、例えば、飛行時間技法、構造光技法、立体視画像技法などを含む適切な任意の技法を介し、深度値を含み得る立体視画像を含む立体視情報を有する映像をキャプチャするように構成され得る。一実施形態によるキャプチャ装置(20)は、算出された立体視情報を「Zレイヤ」又はその照準線に沿って立体視カメラから延長したZ軸に垂直であり得るレイヤへ統合化し得る。
【0027】
[0034]図2のようにキャプチャ装置(20)は画像カメラコンポーネント(22)を含み得る。実施形態例による画像カメラコンポーネント(22)は、シーンの立体視画像をキャプチャする立体視カメラであり得る。立体視画像は、キャプチャされたシーンの二次元(2−D)画素領域を含み得、2−D画素領域の画素それぞれが、カメラからキャプチャされたシーンの例えば、センチメートル、ミリメートルで被写体の長さ又は距離などのような深度値を示し得る。
【0028】
[0035]図2のように実施形態例による画像カメラコンポーネント(22)は、シーンの立体視画像をキャプチャするために使用され得る赤外線光コンポーネント(24)、立体視(3−D)カメラ(26)、及びRGBカメラ(28)を含み得る。例えば、飛行時間解析においてキャプチャ装置(20)の赤外線光コンポーネント(24)は、赤外光をシーンに放射し得、その後、(示されていない)センサーを使用し、例えば、立体視カメラ(26)及び/又はRGBカメラ(28)を使用し、シーンにおける目標及び被写体の1つ以上の表面から後方散乱光を検出する。実施形態の中には、赤外線パルス光が使用され得るものもあって、出射パルス光と応答着信パルス光との間の時間が測定され得、キャプチャ装置(20)からシーンにおける目標又は被写体上の特定の位置までの物理的な距離を決定するために使用され得る。加えると別の実施形態例の中には、出射パルス光波の位相が、位相変動を決定する着信光波の位相と比較され得るものもある。その後、位相変動が、キャプチャ装置(20)から目標又は被写体上の特定の位置までの物理的な距離を決定するために使用され得る。
【0029】
[0036]別の実施形態例による飛行解析時間が使用され得、例えば、シャッターパルス光画像化を含む様々な技法を介し、長い時間をかけて反射される光線強度を解析することによってキャプチャ装置(20)から目標又は被写体上の特定位置までの物理的な距離を間接的に決定し得る。
【0030】
[0037]別の実施形態例において、キャプチャ装置(20)は、立体視情報をキャプチャするために構造光を使用し得る。そのような解析において、パターン光(すなわち、周知のグリッドパターン又は縞模様のようなパターンとして表示される光)が、例えば、赤外線光コンポーネント(24)を介しシーン上に映し出され得る。シーンにおいて目標又は被写体1つ以上の表面を叩くと、それに応じてパターンが変形する。そのようなパターンの変形が、例えば、立体視カメラ(26)及び/又はRGBカメラ(28)によってキャプチャされ得、その後、キャプチャ装置(20)から目標又は被写体上の特定位置までの物理的な距離を決定するために解析され得る。
【0031】
[0038]別の実施形態によるキャプチャ装置(20)は、分解され得る視覚的立体視データを取得し立体視情報を生成するために、異なる角度からシーンを眺め得る物理的に別個の2つ以上のカメラを含み得る。
【0032】
[0039]キャプチャ装置(20)は更に、マイクロフォン(30)又はマイクロフォンアレイを含み得る。マイクロフォン(30)は、音声を受信し電気的信号に変換し得る変換器又はセンサーを含み得る。一実施形態によるマイクロフォン(30)は、目標認識、解析、及びトラッキングシステム(10)のキャプチャ装置(20)と計算環境(12)との間のフィードバックを減少させるために使用され得る。加えると、マイクロフォン(30)は、計算環境(12)によって実行されるゲームアプリケーション、非ゲームのアプリケーションなどのようなアプリケーションを制御するためのユーザーによって提供され得る音声信号を受信するためにも使用され得る。
【0033】
[0040]実施形態例において、キャプチャ装置(20)は更に、画像カメラコンポーネント(22)と作用し通信し得るプロセッサー(32)を含み得る。プロセッサー(32)は、立体視画像を受信し、適切な目標が立体視画像に含まれ得るか否か決定し、適切な目標を骨格表現又は目標モデル又は適切な別の任意の命令に変換するための命令を含み得る命令を実行し得る標準プロセッサー、専用プロセッサー、マイクロプロセッサーなどを含み得る。
【0034】
[0041]キャプチャ装置(20)は更に、メモリーコンポーネント(34)を含み得、プロセッサー(32)によって実行される命令、3-Dカメラ(26)若しくはRGBカメラ(28)によってキャプチャされる画像、又は画像のフレーム、別の適切な任意の情報、画像などをストアし得る。実施形態例によるメモリーコンポーネント(34)は、ランダムアクセスメモリー(RAM)、読み出し専用メモリー(ROM)、キャッシュメモリー、フラッシュメモリー、ハードディスク、又は別の適切な任意のストレージコンポーネントを含み得る。図2のように一実施形態において、メモリーコンポーネント(34)は、画像キャプチャコンポーネント(22)及びプロセッサー(32)と通信する別個のコンポーネントであり得る。別の実施形態によるメモリーコンポーネント(34)は、プロセッサー(32)及び/又は画像キャプチャコンポーネント(22)に統合され得る。
【0035】
[0042]図2のようにキャプチャ装置(20)は、通信リンク(36)を介し計算環境(12)と通信し得る。通信リンク(36)は、例えば、USB接続、ファイヤーワイヤー接続、イーサネットケーブル接続などを含む有線接続、及び/又は無線802.11b, 11g, 11a, 又は11n接続などの無線接続であり得る。一実施形態による計算環境(12)が、例えば、通信リンク(36)を介し、シーンをいつキャプチャにするか決定するために使用され得るクロックをキャプチャ装置(20)に提供し得る。
【0036】
[0043]加えると、キャプチャ装置(20)は、例えば、3-Dカメラ(26)及び/又はRGBカメラ(28)によってキャプチャされた立体視情報及び画像、及びキャプチャ装置(20)によって生成され得る骨格モデルを、通信リンク(36)を介し計算環境(12)に提供し得る。その後、計算環境(12)が、骨格モデル、立体視情報、及びキャプチャされた画像を使用し得、例えば、ゲーム又はワードプロセッサーなどのアプリケーションをコントロールし得る。例えば、図2のように計算環境(12)は、ジェスチャライブラリー(192)を含み得る。
【0037】
[0044]図2に示した計算環境(12)は、ジェスチャライブラリー(190)及びジェスチャ認識エンジン(192)を含み得る。ジェスチャ認識エンジン(192)は、ジェスチャフィルター(191)の集合を含み得る。フィルター(191)それぞれは、そのジェスチャに関するパラメーター又はメタデータを伴うジェスチャを定義している情報を含み得る。例えば、投げの動作は、体の後ろから体の前を通過する一方の手の動作を含んでいて、その動きが立体視カメラによってキャプチャされるように体の後ろから体の前を通過するユーザーの一方の手の動きを表す情報を含むジェスチャフィルター(191)として実装され得る。そのジェスチャに関するパラメーターは、その後、設定され得る。ジェスチャが投げる動作であるところにおいては、パラメーターは、手が届かなければならない臨界速度、手が伸びる必要がある(概してユーザーの大きさに対し絶対的か又は相対的どちらか一方の)距離、及び認識装置エンジンによって評定しているジェスチャが生じた信頼度、であり得る。ジェスチャに関するこれらのパラメーターは、アプリケーション間、又は単一のアプリケーションの文脈間、又は1つのアプリケーションの1つの文脈の中で時間とともに変化し得る。
【0038】
[0045]カメラ(26)、(28)、及び機器(20)によってキャプチャされた骨格モデル形式データ及びそれに関連付けられた動作が(骨格モデルによって示される)ユーザーがいつ1つ以上のジェスチャを実行したか識別するために、ジェスチャライブラリー(190)のジェスチャフィルター(191)と比較され得る。かくして、フィルター(191)のようなフィルターへの入力は、ユーザーの関節部分に関する関節データ、関節で接合する骨によって形成される角度、シーンが提供するRGBカラーデータ、及びユーザーの様子の変化率などを含み得る。言及したジェスチャに関するパラメーターが設定され得る。フィルター(191)からの出力は、特定のジェスチャを実行している信頼度、ジェスチャ動作が実行される速度、ジェスチャが生じた時間などを含み得る。
【0039】
[0046]計算環境(12)は、部屋の中の立体視画像を処理し、ユーザー(18)又はオブジェクトなど、どのような目標がシーンにあるかを決定するプロセッサー(195)を含み得る。これは、例えば、類似する距離の値を共有する立体視画像の画素を一緒に分類することによって実行され得る。ユーザーの骨格の表示を製造するための画像が、関節の間で接合する関節及び組織などの特徴も識別されるように解析され得る。骨格の既存のマッピング技術は、立体視カメラを用いて人をキャプチャし、それから手の関節、手首、肘、膝、鼻、足首、肩、及び骨盤が脊椎と接合するユーザーの骨格上の様々な点を決定する。別の技法は、画像を人の体のモデル表示に変換し、画像を人のメッシュモデル表示に変換することを含む。
【0040】
[0047]実施形態において、処理はキャプチャ装置(20)(キャプチャ装置(20)は3Dカメラ(26)を含む)自身の上で実行され、深度及色の値に関する原画像データが、リンク(36)を介し計算環境(12)に送信される。別の実施形態において、処理はカメラ(402)に接続されたプロセッサー(32)によって実行され、その後、解析された画像データが計算環境(12)に送信される。更に別の実施形態において、原画像データ及び解析された画像データ双方が、計算環境(12)に送信される。計算環境(12)は、解析された画像データを受信し得るが、それはまだ、現在のプロセス又はアプリケーションを実行するための未加工データを受信し得る。例えば、シーン画像をコンピューターネットワーク上の別のユーザーに送信する場合、計算環境(12)は、別の計算環境によって処理するための未加工データを送信し得る。
【0041】
[0048]計算環境(12)は、骨格モデルの動きを解釈し、アプリケーションを動きに基づいてコントロールするためのジェスチャライブラリー(192)を使用し得る。計算環境(12)は、アバター又はポインタの形式などのユーザーの表示をモデル化し、表示装置(193)のようなディスプレイ上に表示し得る。表示装置(193)は、コンピューター用モニター、テレビ画面、又は適切な任意の表示装置を含み得る。例えば、カメラで制御されたコンピューターシステムは、ユーザー画像データをキャプチャし得、ユーザーのジェスチャにマッピングするテレビ画面にユーザーフィードバックを表示し得る。ユーザーフィードバックは、図1に示した画面のアバターとして表示され得る。アバターの動作は、アバターの動きをユーザーの動作へマッピングすることによって直接制御され得る。ユーザーのジェスチャが解釈され得、いくつかのアプリケーションの様相を制御し得る。
【0042】
[0049]実施形態例による目標は、仮想的な画面を生成し、ユーザーを1つ以上の格納されたプロファイルと比較するためにスキャンされ、トラッキングされ、モデル化され、及び/又は評価され、及び/又は目標に関するプロファイル情報(198)を計算環境(12)などの計算環境に格納する、立っているか又は座っている任意の位置のヒューマンターゲット、オブジェクトを有するヒューマンターゲット、2人以上のヒューマンターゲット、1人以上のヒューマンターゲットの1つ以上の腕などであり得る。プロファイル情報(198)は、後でアクセスするためのデータを格納するためのユーザープロファイル、個人プロファイル、アプリケーションプロファイル、システムプロファイル、又は別の適切な任意の方法の形式であり得る。プロファイル情報(198)は、例えば、アプリケーションを介しアクセス可能か又はシステムの広い範囲で利用可能であり得る。プロファイル情報(198)は、特定のユーザープロファイル情報をロードするためのルックアップテーブルを含み得る。仮想的な画面は、図1Aに関して前述した計算環境(12)によって実行されるアプリケーションと対話し得る。
【0043】
[0050]実施形態例によるルックアップテーブルは、ユーザー特有のプロファイル情報を含み得る。一実施形態において、計算環境(12)のような計算環境は、ルックアップテーブルに1つ以上のユーザーに関するストアしているプロファイルデータ(198)を含み得る。格納されているプロファイルデータ(198)は、特に、スキャンされた目標又は評価された体の大きさ、骨格モデル、体のモデル、音声サンプル又はパスワード、目標の年令、以前のジェスチャ、目標の制限、及び例えば、腰を下ろす傾向、左利き又は右利き、又はキャプチャ装置に非常に近く立つ傾向など、システムの目標による標準的用法を含み得る。この情報は、キャプチャシーンの目標と1つ以上のユーザープロファイル(198)との間に一致があるか否か決定するために使用され得、一実施形態において、プロファイル(198)に従ってシステムが仮想的な画面をユーザーに適合可能にするか又は別のコンピューティング体験若しくはゲーム体験の構成要素を適合可能にする。
【0044】
[0051]1つ以上の個人的なプロファイル(198)が、計算機環境(12)に格納され得、多くのユーザーセッション用に使用されるか又は1つ以上の個人プロファイルが、単一のセッションのためだけに生成され得る。ユーザーは、それらがシステムに音声又はボディスキャン、年齢、個人的な好み、右利き又は左利き、アバター、名前の情報などを提供し得るプロファイルを確立するオプションを有し得る。個人プロファイルは、キャプチャ空間への一歩を越えてもシステムにどんな情報も提供しない「ゲスト」も提供され得る。1人以上のゲストに関する一時的な個人プロファイルが確立され得る。ゲストの個人プロファイルは、ゲストセッションの終わりに格納され得るか又は削除され得る。
【0045】
[0052]図2に示した計算環境(12)は、ユーザーのアバターに適用するために選択可能な動画から成るアバターライブラリー(196)を含み得る。ユーザープロファイル(198)は、アバターライブラリーを含み得るか、さもなければアバターライブラリーをユーザー特有の動画と関連付け得る。ルックアップテーブルは、様々な文脈上の状況に関連するユーザーの行動及び傾向を含み得る。プロファイルは、動画をユーザーのアバターに適用してアバターがユーザーの行動を密接に反映するように使用され得る。
【0046】
[0053]アバターライブラリーの動画は、アバターに適用され得る任意の特性を含み得る。特性は、ユーザーの行動を示し得る。かくして、ユーザーの行動に適用するために選択される動画は、ユーザーの行動に対応するように選択され得る。動画は音声、スピーチパターン、言葉遣い、音量、言葉、物理的な特徴、動作などのうちどれか1つ又は任意の組み合わせを含み得る。動作は実行中の動きのような動的動作を含むか、又は動作はほとんど動きがないか若しくは全く動きがない姿勢のような静的動作であり得る。アバターライブラリーは、例えば、特定のユーザーに関連付けられ得るか又はユーザープロファイルに格納され得る。
【0047】
[0054]アバターライブラリー(193)の動画は、動画に関するストックライブラリーであり得る。実施形態例において、アバターに適用される動画は、例えば、プログラム、アプリケーション、又はシステムが搭載する事前にパッケージ化された動画ライブラリーから選択された動画を用いて動画化され得る。ユーザーのアバターに適用するために選択される動画は、本システムが学習したユーザーの入力に対応し、一定の行動を反映し得るものであり得る。例えば、本システムは、ユーザーが、ゲームアプリケーションにおいて成功を収めたときのように、一定の文脈において上下に跳躍する傾向があることを識別し得る。かくして、本システムがゲームと同様の(例えば成功)状態など類似した一連の文脈上の状況を識別したとき、本システムは、上下の跳躍を反映する動画を選択し得、その動画をユーザーのアバターに適用し得る。アプリケーション又はシステムに関して事前に準備された動画が定義され得る。例えば、上下に跳躍する動画は、ゲームアプリケーションに適用可能であり得るがしかし、アバターに適用されるファイルのオープン/ファイルのクローズの動画は、システムの広い範囲で同一であり得る。
【0048】
[0055]アバターライブラリーの動画は、システム又はユーザーによって入力され記録された動画であり得る。本システムによって、ユーザーは動画のストックライブラリーへの上書き又は追加が可能になる。例えば、本システム又はユーザーは、手持ちの動画を上書きし得、例えば、キャプチャ装置によってキャプチャされたユーザーの実際の動作又は行動を反映し得る。かくして、アバターの動画ライブラリーに追加又は上書きされて適用される動画が、特定のユーザーに関連してキャプチャされたデータに調整される。上下に跳躍する動画の例において本システムは、ユーザーの実際の動作を記録することによって、上下跳躍に関する標準の動画又はデフォルトの動画を書き換え得る。かくして、上下跳躍の動画がユーザーのアバターに適用され得、ユーザーの実際の動作に調整される。
【0049】
[0056]本システムは、ユーザーの入力に関連するデータもアバターライブラリーに格納し得る。アバターライブラリーは、ユーザーの行動及び/又はその行動に対応する状況の指標を含み得る。例えば、状況は、ユーザーの行動と相互に関連する文脈を示す文脈上の状況であり得る。文脈上の状況は、ユーザーの行動に相互に関連し得るか又は関連し得ない識別可能な任意のシナリオの特徴を含み得る。本システムは、ユーザーの行動に関連する文脈上の状況をトラッキングし得、ユーザーの行動において文脈的状況と傾向との間の相関関係を識別し得る。
【0050】
[0057]文脈上の状況は、例えば、ユーザーの物理的又は仮想的な環境、物理的な空間内に存在する別のユーザー、ゲームの状態、アプリケーションの結果、ユーザーのアクティブ又は非アクティブな状態など、ユーザーの環境の状況を含み得る。ユーザーの環境の状況は、キャプチャ装置によってキャプチャされる壁の色、部屋の家具、照明などのようなシーンに関する物理的な特徴を含み得る。ユーザーの環境の状況は、画面上の動画など仮想的な環境の状況(例えばスキーゲームアプリケーションに表示される仮想的な山)を含み得る。アプリケーションが一時停止された場合のようにアプリケーションの状態は、実行されたアプリケーションの合計時間、(ゲームアプリケーションにおいて)要求される能力レベルなど、アプリケーションの任意の状態を含み得る。アプリケーションにおける結果は、例えば、プログラムがデバッガーを介し順調に実行した場合か又はゲームアプリケーションのプレーヤーがゲームにおける成功又は不成功に達した場合であり得る。
【0051】
[0058]アプリケーション又はアプリケーション文脈に関するジェスチャライブラリー及びフィルターパラメーターは、ジェスチャツールによって調整され得る。本システムは、アプリケーションの文脈を識別してストアし得、これらをユーザーによる入力と相互に関連付け得る。文脈上の情報を使用して本システムは、ユーザーの一定の行動を文脈と相互に関連付け得る。このように本システムは、アバターが同様の行動を用いて文脈上の状況に応答するように、動画をアバターに知的に適用できる。
【0052】
[0059]文脈は、識別可能な文脈の状況(すなわち文脈上の状況)を有し得る文化的な文脈であり得、それは環境上の状況であり得る。文化的文脈は、システムを使用したユーザーの文化を参照している。異文化は、類似のジェスチャを使用し、著しく異なる意味を授け得る。例えば、別のユーザーに「見て」又は「目を使って」と言いたいアメリカ人ユーザーは、自分の人差し指を彼の目の方から自分の頭の方に当てる。しかしながら、イタリア人ユーザーにとってこのジェスチャは、マフィアへの参照として解釈され得る。
【0053】
[0060]同様に、単一アプリケーションの異なる環境の中に異なる文脈又は文脈上の状況があり得る。自動車の操作を伴った一人称形式のシューティングゲームを取り上げたい。ユーザーが歩きながら地面に向かった指でこぶしを作り、こぶしを体から前に延ばすパンチジェスチャを表し得る。ユーザーがドライビング文脈にいる間、同一動作は「ギヤシフト」ジェスチャを表し得る。視覚表示への修正に関連する異なるジェスチャが、環境による異なる修正を起動し得る。異なる起動ジェスチャの修正は、アプリケーション特有の修正モード対システムの広い範囲の修正モードへのエントリーのために使用され得る。それぞれの修正モードは、修正モードに対応する独立した一連のジェスチャを用いてパッケージ化され得、修正起動ジェスチャの結果として入力され得る。例えばボーリングゲームにおいて、腕のスイング動作は、仮想的なボウリングレーンの下で離すためのボーリングボールのスイングとして識別されたジェスチャであり得る。しかしながら、別のアプリケーションにおける腕のスイング動作は、画面に表示したユーザーのアバターの腕を伸ばすリクエストとして識別されたジェスチャであり得る。ユーザーが、自分のゲームをセーブし、自分のキャラクター装備の中から選択し、又はゲームの直接対戦を含まない類似の動作を実行可能な1つ以上のメニュー環境もあり得る。その環境において、この同一のジェスチャは、何かを選択するか又は別の画面に進む第3の意味を有し得る。
【0054】
[0061]特定のユーザーに対応しているアバターライブラリー又はアプリケーションと一緒に事前にパッケージ化されたアバターライブラリーを含むアバターライブラリーは、アプリケーションを越えて又はシステムの広い範囲のアプリケーションに対しアクセス可能であり得る。例えば、本システムは、様々なアプリケーションを通してユーザーの行動を識別し得る。本システムは、アプリケーションを越えてユーザーの行動に関連するデータすべてを収集し得、それらを普遍的に受理可能なアバターライブラリーに格納し得る。本システムは、その後、アバターライブラリーにアクセスし得、アバターライブラリーからの動画を任意の状況下のアバターに適用し得る。
【0055】
[0062]ジェスチャは、アバターライブラリーの動画の修正を求めるリクエストとして認識され得る。複数のジェスチャはそれぞれ、特定の動画を修正するためのリクエストを表している。本システムは、特定の動画に関して所望した動作を実行するようにユーザーを促し得る。かくして、ユーザーは、物理的な空間内において、修正ジェスチャとして認識されたジェスチャをすることによって、ユーザーに関連付けられ得るアバターライブラリーを能動的に修正できる。例えば、前述したユーザーの動作は、図2が提供しているジェスチャフィルター(191)のようなジェスチャフィルターと比較され得る。ジェスチャフィルター(191)は、ジェスチャライブラリー(192)の修正ジェスチャ(196)が提供する修正ジェスチャに関する情報を含み得る。
【0056】
[0063]ジェスチャは、そのジャンルのアプリケーションによって使用される傾向がある無償のジェスチャのジャンルのパッケージに一緒に分類され得る。−一般に一緒に使用されるものとしての無償か又は1つのパラメーターにおける変化が別のパラメーターを変更するものとしての無償かどちらか一方の−無償のジェスチャが、一緒にパッケージ化されたジャンルに分類される。これらのパッケージは、少なくとも1つを選択し得るアプリケーションに提供され得る。アプリケーションは、アプリケーション固有の様相に最も適合するようにジェスチャ又はジェスチャフィルター(191)のパラメーターを調整又は修正し得る。そのパラメーターは調整されたとき、ジェスチャ又は第2のジェスチャのどちらか一方の第2の賞賛パラメーターも(互いに依存している意味の)パラメーターが賞賛のままであるように調整される。テレビゲームに関するジャンルパッケージは、第1のユーザーシューティング、動作、ドライビング、スポーツなどのジャンルを含み得る。
【0057】
[0064]ジェスチャライブラリー(192)、ジェスチャ認識エンジン(190)、及びプロファイル(198)は、ハードウェア、ソフトウェア又はその双方の組み合わせで実装され得る。例えば、ジェスチャライブラリー(192)、及びジェスチャ認識エンジン(190)は、計算環境(12)のプロセッサー(195)(又は図3の演算処理装置(101)又は図4の演算処理装置(259))のようなプロセッサー上で実行するソフトウェアとして実装され得る。
【0058】
[0065]後述される図2及び図3〜4に表されたブロック図は、例示的であって特定の実装を含意するために意図していないことを強調されたい。かくして、図1のプロセッサー(195)又は(32)、図3の演算処理装置(101)、及び図4の演算処理装置(259)は、単一のプロセッサー又は複数のプロセッサーとして実装され得る。複数のプロセッサーが、分散又は集中し位置付けられ得る。例えば、ジェスチャライブラリー(190)が、キャプチャ装置のプロセッサー(32)上で実行するソフトウェアとして実装され得るか、又はそれが計算環境(12)のプロセッサー(195)上で実行するソフトウェアとしてそれは実装され得る。本明細書に開示した技法を実行するために適切な任意のプロセッサーの組み合わせが想定される。複数のプロセッサーは、配線接続か又はその組み合わせを介し無線通信し得る。
【0059】
[0066]更に、本明細書に使用した計算環境(12)は、単一の計算装置又は計算システムを参照し得る。計算環境は非計算コンポーネントを含み得る。計算環境は、図2に示した表示装置(193)のような表示装置を含み得る。表示装置は、例えば、個別であるが計算環境に接続されたエンティティであり得るか、又は表示装置は、処理、表示する計算装置であり得る。かくして、計算システム、計算装置、計算環境、計算機、プロセッサー、又は別の計算コンポーネントが互換的に使用され得る。
【0060】
[0067]図3は、目標認識、解析、及びトラッキングシステムにおいて、1つ以上のジェスチャを解釈するために使用され得る計算環境の実施形態例を示している。図1A〜図2に関連し前述した計算環境(12)のような計算環境は、ゲーム機などのマルチメディアコンソール(100)であり得る。図3のようにマルチメディアコンソール(100)は、レベル1キャッシュ(102)、レベル2キャッシュ(104)、及びフラッシュROM(読み出し専用メモリー)(106)を有する中央演算処理装置(CPU)(101)を有している。レベル1キャッシュ(102)及びレベル2キャッシュ(104)が、データを一時的にストアし、それによってメモリーアクセスサイクル数を減らし、その結果、処理速度及びスループットを改善する。2つ以上のコア、ひいては付加的なレベル1キャッシュ(102)及びレベル2キャッシュ(104)を有するCPU(101)が提供され得る。フラッシュROM(106)は、マルチメディアコンソール(100)が電源投入されたとき、ブートプロセスの初期段階の間、ロードされる実行プログラムをストアし得る。
【0061】
[0068]グラフィック処理装置(GPU)(108)及び映像エンコーダー/映像コーデック(符号化器/デコーダー)(114)が、高速かつ高解像度画像処理用の映像処理パイプラインを形成する。データが、画像処理装置(108)から映像エンコーダー/映像コーデック(114)へバスを介し伝達される。映像処理パイプラインは、テレビ又はその他のディスプレイへの伝送用A/V(音声/映像)ポート(140)へデータを出力する。メモリーコントローラー(110)が、RAM(ランダムアクセスメモリー)に限定しないが、そのような様々なタイプのメモリー(112)へのプロセッサーへのアクセスを容易にするGPU(108)と接続される。
【0062】
[0069]マルチメディアコンソール(100)は、I/Oコントローラー(120)、システム管理コントローラー(122)、音声処理装置(123)、ネットワークインターフェースコントローラー(124)、第1のUSBホストコントローラー(126)、第2のUSBコントローラー(128)、及び望ましくはモジュール(118)上に実装されるフロントパネルI/O部分組立品(130)を含む。USBコントローラー(126)及び(128)は、周辺機器コントローラー(142(1)〜142(2))、無線アダプター(148)、及び外部記憶装置(146)(例えば、フラッシュメモリー、外付けCD/DVD ROMドライブ、取り外し可能媒体など)に対しホスティングをする役目を果たす。ネットワークインターフェース(124)及び/又は無線アダプター(148)は、ネットワーク(例えば、インターネット、ホームネットワークなど)へのアクセスを提供し、イーサネットカード、モデム、ブルートゥースモジュール、ケーブルモデムなどを含む多種多様な有線又は無線アダプターコンポーネントのいずれかであり得る。
【0063】
[0070]ブートプロセス中、ロードされるアプリケーションデータをストアするためのシステムメモリー(143)が提供される。媒体ドライブ(144)が提供され、DVD/CDドライブ、ハードドライブ、又はその他の取り外し可能媒体ドライブなどを含み得る。媒体ドライブ(144)は内蔵か又はマルチメディアコンソール(100)に外付けであり得る。アプリケーションデータが、マルチメディアコンソール(100)によって再生などを実行するために媒体ドライブ(144)を介しアクセスされ得る。媒体ドライブ(144)は、シリアルATAバス又は他の高速接続(例えばIEEE1394)などのバスを介しI/Oコントローラー(120)と接続される。
【0064】
[0071]システム管理コントローラー(122)は、マルチメディアコンソール(100)の利用可能性保証に関連する様々なサービス機能を提供する。音声処理装置(123)及び音声コーデック(132)が、忠実性の高い三次元処理を用いて応答音声処理パイプライン処理装置を形成する。音声データが、音声処理装置(123)と音声コーデック(132)との間を通信リンクを介し伝達される。音声処理パイプラインが、音声機能を有する外付けオーディオプレーヤー又は装置によって再生するためにA/Vポート(140)へデータを出力する。
【0065】
[0072]フロントパネルI/O部分組立品(130)が、マルチメディアコンソール(100)の外面上に見ることができる電源スイッチ(150)及びイジェクトボタン(152)並びにいくつかのLED(発光ダイオード)又は別の指標の機能性を支援する。システム電力供給モジュール(136)が、マルチメディアコンソール(100)のコンポーネントに電力を提供する。ファン(138)がマルチメディアコンソール(100)内部の回路を冷却する。
【0066】
[0073]マルチメディアコンソール(100)内部のCPU(101)、GPU(108)、メモリーコントローラー(110)、及びその他の様々なコンポーネントは、シリアルバス及びパラレルバス、メモリーバス、周辺機器用バス、及び様々なバスアーキテクチャのうちいずれかを使用したプロセッサーバス又はローカルバスを含む1つ以上のバスを介し相互に接続される。例として、上記アーキテクチャは、Peripheral Component Interconnects(PCI)バス、PCI−エクスプレスバスなどを含み得る。
【0067】
[0074]マルチメディアコンソール(100)が電源投入されたとき、アプリケーションデータが、システムメモリー(143)からメモリー(112)及び/又はキャッシュ(102)、(104)へロードされ、CPU(101)上で実行される。アプリケーションは、マルチメディアコンソール(100)上で利用可能な異なる媒体のタイプへナビゲートするとき、一貫性したユーザー体験を提供するグラフィカルユーザーインターフェースを提示し得る。動作中、媒体ドライブ(144)内部に含まれるアプリケーション及び/又はその他の媒体は、媒体ドライブ(144)から起動され得るか又は再生され得、マルチメディアコンソール(100)に付加的機能性を提供し得る。
【0068】
[0075]マルチメディアコンソール(100)は、システムをテレビ又はその他のディスプレイと単に接続することによって、単独で動作するシステムとして作動され得る。この単独動作モードのマルチメディアコンソール(100)によって1人以上のユーザーが、システムとの対話、映画の鑑賞、又は音楽の鑑賞が可能になる。しかしながら、ネットワークインターフェース(124)又は無線アダプター(148)を介し利用可能になるブロードバンドの接続性統合を用いると、マルチメディアコンソール(100)が更に、より大きなネットワークコミュニティに参加者として作動され得る。
【0069】
[0076]マルチメディアコンソール(100)が電源投入時されたとき、設定された量のハードウェア資源が、マルチメディアコンソールのオペレーティングシステムによるシステムを使用するために予約される。これらのリソースは、メモリー(例えば16MB)、CPU及びGPUサイクル(例えば5%)、ネットワーク帯域幅(例えば8kbs)などの予約を含み得る。これらのリソースはシステムのブート時に予約されるため、アプリケーションの観点から予約されるリソースは存在しない。
【0070】
[0077]具体的にメモリー予約は、望ましくは十分に大きく、起動カーネル、並列システムアプリケーション及びドライバーを含む。CPUの予約は、望ましくは一定であり、予約されたCPU利用が、システムアプリケーションによって使用されていない場合、アイドルスレッドが、いくらかの未使用サイクルを消費する。
【0071】
[0078]GPUの予約に関すると、システムアプリケーションによって生成される軽い(例えばポップアップ)メッセージが、ポップアップをオーバーレイにレンダリングするプログラムをスケジューリングするGPU中断を使用することによって、表示される。オーバーレイに要求されるメモリーの総計は、オーバーレイ領域のサイズ及び望ましくは画面解像度を伴うオーバーレイスケールによって決まる。十分なユーザーインターフェースが、並行システムアプリケーションによって使用されるところでは、アプリケーション解像度に影響されずに解像度を利用することが望まれる。スケーラーがこの解像度を設定するために使用され得、テレビの周波数を変更して再同時性をもたらす必要性が省かれる。
【0072】
[0079]マルチメディアコンソール(100)が起動し、システム資源が予約された後、システム機能性を提供する並列システムアプリケーションが実行する。システム機能性は、前述した予約されたシステム資源の範囲内で実行する一連のシステムアプリケーションにカプセル化される。オペレーティングシステムカーネルは、ゲームアプリケーションスレッドに対しシステムアプリケーションスレッドであるスレッドを識別する。本システムのアプリケーションは、望ましくは、一貫性のあるシステム資源の表示をアプリケーションに提供するために、所定の時間及び間隔でCPU(101)上で実行するようにスケジューリングされる。スケジューリングは、コンソール上で実行するゲームアプリケーションに対するキャッシュ分裂を最小化することである。
【0073】
[0080]並行システムアプリケーションが音声を必要とするとき、音声処理が時間感度によって、ゲームアプリケーションと非同期にスケジューリングされる。(後述される)マルチメディアコンソールのアプリケーションマネージャは、システムアプリケーションがアクティブであるとき、ゲームアプリケーションの音声の(例えば、ミュート、減衰)レベルを制御する。
【0074】
[0081]入力装置(例えば、コントローラー142(1)及び142(2))が、ゲームアプリケーション及びシステムアプリケーションによって共有される。入力装置は、予約される資源でないが、しかしシステムアプリケーションとゲームアプリケーションとの間で切換えられ、それぞれが装置のフォーカスを有し得る。アプリケーションマネージャが、ゲームアプリケーションの知識がなくても望ましくは入力ストリームの切換えを制御し、ドライバーが、フォーカス切換えに関する状態情報を維持する。カメラ(26)、(28)、及びキャプチャ装置(20)は、コンソール(100)用の付加入力装置を定義している。
【0075】
[0082]図4は、目標認識、解析、及びトラッキングシステムにおいて1つ以上のジェスチャを解釈するために使用される図1A〜図2のような計算環境(12)である別の計算環境(220)の実施形態例を示している。計算システム環境(220)は、適切な計算環境の一例に過ぎず、開示される本対象項目の利用性又は機能性の範囲に関し、いかなる制限も提示するように意図されていない。計算環境(220)は、例示的動作環境(220)に示されている一コンポーネント又は任意の組み合わせに関連するいかなる依存性も要件も有していないものとして解釈されたい。実施形態の中には、示した様々な計算エレメントが、今開示される特定の態様を例示するように構成された回路を含み得るものもある。例えば、本開示において使用される用語の回路は、ファームウェア又はスイッチによって機能(単数又は複数)を実行するように構成される専用ハードウェアコンポーネントを含み得る。別の実施形態例の中には、用語の回路が、機能(単数又は複数)を実行するように作動可能なロジックを具体化するソフトウェア命令によって構成された汎用処理装置、メモリーなどを含み得るものもある。回路がハードウェア及びソフトウェアの組み合わせを含む実施形態例において、実装者がロジックを具体化するソースコードを記述し得、ソースコードが汎用演算処理装置によって処理され得る計算機読み出し可能プログラムへコンパイルされ得る。当業者は、技術の最先端が、ハードウェア、ソフトウェア、又はハードウェア/ソフトウェアの組み合わせの間の差異がほとんどない程度に発展していることを十分に理解し得るのであるから、特定機能を実現するためのハードウェア対ソフトウェアの選択は、実装者に任せられた設計選択である。より具体的には、当業者は、ソフトウェアプロセスが同等のハードウェア構造へ変換され得ることと、ハードウェア構造がそれ自体、同等のソフトウェア処理へ変換され得ることと、を十分に理解されよう。かくして、ハードウェア実装対ソフトウェア実装の選択は、設計選択の1つであって実装者に委ねられている。
【0076】
[0083]図4において、計算環境(220)は、典型的に、様々な計算機可読媒体を含む計算機(241)を含む。計算機可読媒体は、計算機(241)によってアクセスされ得る利用可能な任意の媒体であり得、揮発性及び不揮発性媒体、及び取り外し可能及び取り外し不可能媒体双方を含む。システムメモリー(222)は、読み出し専用メモリー(ROM)(223)及びランダムアクセスメモリー(RAM)(260)などの揮発性及び/又は不揮発性メモリー形式の計算機記憶媒体を含む。起動中などに計算機(241)内部のエレメント間における情報送信を支援する基本ルーチンを含む基本入出力システム(BIOS)(224)は、典型的に、ROM(223)にストアされる。RAM(260)は、典型的に、演算処理装置(259)によって即座にアクセス可能な及び/又は目下作動されているデータ及び/又はプログラムモジュールを含む。非限定の例として、図4は、オペレーティングシステム(225)、アプリケーションプログラム(226)、その他のプログラムモジュール(227)、及びプログラムデータ(228)を示している。
【0077】
[0084]計算機(241)は、別の取り外し可能/取り外し不可能、揮発性/不揮発性計算機記憶媒体も含み得る。ほんの一例として、図4は、取り外し不可能、不揮発性磁気媒体から読み出すか又はそれに書き込むハードディスクドライブ(238)、取り外し可能、不揮発性磁気ディスク(254)から読み出すか又はそれに書き込む磁気ディスクドライブ(239)、CD−ROM、又はその他の光学式媒体などの取り外し可能、不揮発性光学式ディスク(253)から読み出すか又はそれに書き込む光学式ディスクドライブ(240)を示している。例示的な動作環境において使用され得る別の取り外し可能/取り外し不可能、揮発性/不揮発性計算機記憶媒体は、磁気カセットテープ、フラッシュメモリーカード、デジタル多用途ディスク、デジタルビデオテープ、半導体RAM、半導体ROM等を含むがこれらに限定しない。ハードディスクドライブ(238)は、典型的に、インターフェース(234)のような取り外し不可能メモリーインターフェースを介しシステムバス(221)と接続され、磁気ディスクドライブ(239)及び光学式ディスクドライブ(240)は、典型的に、インターフェース(235)のような取り外し可能メモリーインターフェースによってシステムバス(221)と接続される。
【0078】
[0085]図4に前述され例示したドライブ及びそれらに関連する計算機記憶媒体が、計算機(241)に計算機可読命令、データ構造、プログラムモジュール、及び別のデータ記憶装置を提供する。図4において、例えばハードディスクドライブ(238)は、オペレーティングシステム(258)、アプリケーションプログラム(複数)(257)、その他のプログラムモジュール(複数)(256)、及びプログラムデータ(255)をストアするように例示されている。これらのコンポーネントが、オペレーティングシステム(225)、アプリケーションプログラム(複数)(226)、その他のプログラムモジュール(複数)(227)、及びプログラムデータ(228)と同一か又は異なるどちらか一方であり得ることを留意されたい。オペレーティングシステム(258)、アプリケーションプログラム(257)、その他のプログラムモジュール(256)、及びプログラムデータ(255)は、本明細書において異なる番号を付与されていて、異なる最小限の複製物であることを示している。ユーザーは、一般に、キーボード(251)のような入力装置、及びマウス、トラックボール又はタッチパッドとして参照されるポインティングデバイス(252)を介し、計算機(241)へコマンド及び情報を入力し得る。その他(示されていない)入力装置は、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナーなどを含み得る。これらの入力装置及びその他の入力装置は、多くの場合、システムバスに接続されるユーザー入力インターフェース(236)を介し演算処理装置(259)と接続されるが、パラレルポート、ゲームポート又はユニバーサルシリアルバス(USB)のような別のインターフェース及びバス構造によっても接続され得る。カメラ(26)、(28)、及びキャプチャ装置(20)は、コンソール(100)用の付加入力装置を定義している。モニター(242)又は別のタイプの表示装置もビデオインターフェース(232)のようなインターフェースを介しシステムバス(221)と接続される。モニターに加えて計算機は、周辺出力インターフェース(233)を介し接続され得るスピーカー(244)及びプリンター(243)のような別の周辺出力装置も含み得る。
【0079】
[0086]計算機(241)は、リモートコンピューター(246)のような1つ以上のリモートコンピューターとの論理接続を使用し、ネットワーク環境において作動し得る。リモートコンピューター(246)は、パーソナルコンピューター、サーバー、ルーター、ネットワークPC、ピア装置、又は別の一般的なネットワークノードであり得、典型的に、前述した計算機(241)に関連するエレメントの多く又はすべてを含むが、図4にはメモリー記憶装置(247)だけが例示されている。図2に示される論理的な接続は、ローカルエリアネットワーク(LAN)(245)及び広域ネットワーク(WAN)(249)を含むが、別のネットワークも含み得る。そのようなネットワーク環境は、オフィス、企業規模のコンピューターネットワーク、イントラネット、及びインターネットにおいて一般的である。
【0080】
[0087]LANネットワーク環境において使用されるとき、計算機(241)は、ネットワークインターフェース又はアダプター(237)を介しLAN(245)と接続される。WANネットワーク環境において使用されるとき、計算機(241)は、典型的にインターネットなどのようなWAN(249)を介し通信を確立するモデム(250)又はその他の手段を含む。内蔵又は外付けがあり得るモデム(250)が、ユーザー入力インターフェース(236)又はその他の適切な手段を介し、システムバス(221)と接続され得る。ネットワークの環境において、計算機(241)又はその一部に関連し示されるプログラムモジュールが、リモートメモリー記憶装置にストアされ得る。非限定の例として図4が、記憶装置(247)上に常駐するリモートアプリケーションプログラム(248)を示している。示したネットワーク接続が例示的であって、計算機間の通信リンクを確立する別の手段が使用され得ることを十分に理解されよう。
【0081】
[0088]計算機可読記憶媒体は、視覚表示を変更するための計算機可読命令を含み得る。
命令は、視覚表示をレンダリングするステップと、シーンデータを受信するステップであってデータが、物理的な空間内のユーザーの修正ジェスチャを代表するデータを含むものと、ユーザーの修正ジェスチャに基づいて視覚表示の変更するステップであって修正ジェスチャが、視覚表示の特性を修正するためのコントロールにマッピングするジェスチャであるものと、に関する命令を含み得る。
【0082】
[0089]図5Aは、キャプチャ装置(20)によってキャプチャされる画像データから生成され得るユーザーの骨格マッピングの例を表している。この実施形態において、それぞれの手(502)、それぞれの前腕(504)、それぞれの肘(506)、それぞれの二頭筋(508)、それぞれの肩(510)、それぞれの臀部(512)、それぞれの大腿部(514)、それぞれの膝(516)、それぞれの前脚(518)、それぞれの足(520)、頭(522)、胴(524)、上部脊椎(526)、下部脊椎(528)、及び腰(530)の様々な関節及び骨が識別される。より多くの時点がトラッキングされるところでは、指又は爪先の骨と関節、鼻や目などの表面に関する個人特徴などのような更なる機能が識別され得る。
【0083】
[0090]ユーザーは、自分の体の動きを介しジェスチャを生成し得る。ジェスチャは、意味に関する解析画像データとしてキャプチャされ得たユーザーによる動作又はジェスチャを含む。ジェスチャは、ボールを投げる物真似のような動作を含む動的であり得る。ジェスチャは、彼の胴(524)の前で彼の前腕(504)の交差を保持しているような静的な姿勢であり得る。見せかけの剣などを振ることによるジェスチャは道具も組み込み得る。ジェスチャは、一緒に手(502)を叩くか又は人の唇をすぼめるような、より微妙な動作のような2つ以上の体の部分を含み得る。
【0084】
[0091]ユーザーのジェスチャは、入力のための一般的コンピューターの文脈で使用され得る。例えば、手(502)又は体の別の一部の様々な動作は、階層リスト内を上方又は下方にナビゲートし、ファイルをオープンし、ファイルをクローズし、ファイルを保存するなど、一般的システムの広い範囲のタスクに対応し得る。例えば、ユーザーは、キャプチャ装置(20)を指差した手をそのまま手のひらをキャプチャ装置に向け得る。彼はその後、指を手のひらに向けて閉じてこぶしを作り得、これが、ウィンドウベースのユーザーインターフェース計算環境において、フォーカスされたウィンドウが閉じられるべきことを示すジェスチャであり得る。ジェスチャは、映像ゲーム固有のゲームに従った文脈でも使用され得る。例えば、ドライビングゲームの手(502)及び足(520)の様々な動きは、乗り物を方向付け、ギヤチェンジし、加速し、ブレーキングに対応し得る。かくして、ジェスチャは、示されるユーザー表示、及びテレビゲーム、テキストエディタ、文書処理、データ管理など様々なアプリケーションへマッピングする様々な動作を示し得る。
【0085】
[0092]ユーザーは、自分自身の定位置における歩行又は走行によって、歩行又は走行に対応しているジェスチャを生成し得る。例えば、ユーザーは代替として、動かずに歩行を模倣するために、脚(512〜520)それぞれを上げ落し得る。本システムは、臀部(512)それぞれと大腿部(514)それぞれとを解析することによってこのジェスチャを解析し得る。(垂線に対して測定されるとき、立っている脚が臀部と大腿部が0°の角度を有していて、前方に水平に伸びた脚が臀部と大腿部が90°の角度を有する)臀部と大腿部の1つの角度が、他方の大腿部に対し一定の閾値を超えたとき、一歩が認識され得る。歩行又は走行は、交互の脚による連続した数歩の後、認識され得る。最新の2歩の間の時間が周期として考慮され得る。その閾値角が満足されない数周期後、本システムは、歩行又は走行ジェスチャが停止していることを決定し得る。
【0086】
[0093]「歩行又は実行」ジェスチャが与えられると、アプリケーションは、このジェスチャに関連付けられるパラメーターに対する値を設定し得る。これらのパラメーターは、上記歩行又は走行ジェスチャを開始するために要求される閾値角、歩数、ジェスチャを終了したために一歩も発生しない周期閾値、及びジェスチャが歩行又は走行であるか決定する周期閾値を含み得る。短い周期は、ユーザーが自分の足を素早く動かす走行に相当し得、より長い周期は歩行に相当し得る。
【0087】
[0094]ジェスチャは、アプリケーションがそれ自身のパラメーターを使って上書きし得る一連のデフォルトパラメーターと最初に関連付けられ得る。このシナリオにおいて、アプリケーションはパラメーターを提供するように強制されないが、そのかわりに一連のデフォルトパラメーターを使用し得、アプリケーションが定義したパラメーターが存在しないときでもジェスチャを認識可能になる。ジェスチャと関連した情報は、事前に準備された動画のために格納され得る。
【0088】
[0095]ジェスチャに関連付けられ得る様々な出力が存在する。ジェスチャが生じているか否かに関して「はい又はいいえ」の基準値が存在し得る。ユーザーのトラッキングされた動きがジェスチャに対応している可能性に対応する信頼水準も存在し得る。これは0と1を含めた、その間の浮動小数点の範囲の線形目盛であり得る。このジェスチャ情報を受信するアプリケーションが、入力として誤検出を受け入れ不可能なところにおいては、少なくとも0.95の高信頼水準を有する認識されたジェスチャだけを使用し得る。誤検出コストであってもジェスチャのあらゆるインスンスをアプリケーションが認識する必要があるところにおいては、単に0.2よりも大きい、少なくともよりずっと低い信頼水準を有するジェスチャを使用し得る。ジェスチャは、最新の2歩の間の時間に関する出力を有し得、最初の一歩だけが登録されているところにおいては(任意の2つの歩数間の時間が正数でなければならないので)これは−1のような予約値に設定され得る。ジェスチャは、最新の一歩の間に達する大腿部の最大角度に関する出力も有し得る。
【0089】
[0096]別の例示的ジェスチャは「かかと上げの跳躍」である。ここでユーザーは、自分のかかとを地面から離すことによってジェスチャを生成し得るがしかし、自分の爪先は地面に付けたままである。代替としてユーザーは、空中で跳躍し得、自分の足(520)は完全に地面を離れる。本システムは、肩(510)、臀部(512)、及び膝(516)の角度関係を解析することによって、このジェスチャに関する骨格を解析し得、それらが直立に等しい配列位置にあるか確認し得る。その後、これらの点並びに上部脊椎(526)及び下部脊椎(528)の点が、上向きの任意の加速に関し監視され得る。十分な加速の組み合わせが跳躍ジェスチャを起動し得る。特定のジェスチャとともに十分な加速の組み合わせが、転移点パラメーターを満足し得る。
【0090】
[0097]この「かかと上げの跳躍」ジェスチャを仮定すると、アプリケーションは、このジェスチャに関連付けられたパラメーターに関する値を設定し得る。パラメーターは、上記の加速度閾値を含み得、ユーザーの肩(510)、臀部(512)及び膝(516)のいくつかの組み合わせがジェスチャを起動するためにどのくらい速く上向きに動く必要があるか、及び更に跳躍が起動され得る肩(510)、臀部(512)、及び膝(516)の間の配列の最大角度を決定する。出力は、信頼水準及び跳躍時のユーザーの体の角度を含み得る。
【0091】
[0098]ジェスチャを受信する特定のアプリケーションに基づいた、ジェスチャに関するパラメーター設定が、ジェスチャを正確に識別するときに重要である。ジェスチャ及びユーザーの意図を適切に識別することが、積極的なユーザー体験を生成するときに大きく支援する。
【0092】
[0099]アプリケーションが、事前に準備された動画を使用する点を識別するための、様々な転移点に関連付けられたパラメーターに関する値を設定し得る。転移点は、特定のジェスチャの識別、速度、目標若しくは被写体の角度、又はその任意の組み合わせなど、様々なパラメーターによって定義され得る。特定のジェスチャの識別による転移点が少なくとも一部定義されている場合、ジェスチャの適切な識別を支援し、転移点のパラメーターが満足されている信頼水準を増大させる。
【0093】
[0100]ジェスチャに対する別のパラメーターは移動距離であり得る。ユーザーのジェスチャが、仮想的な環境においてアバターの動作を制御するところでは、そのアバターはボールから腕の長さのところに存在し得る。ユーザーがボールと情報をやりとりし、それを掴むことを所望した場合、これは、掴むジェスチャの実行中、ユーザーに自分の腕を十分に伸ばす(502〜510)ように要求し得る。この状況において、ユーザーが自分の腕(502〜510)を一部だけ伸ばす類似した掴むジェスチャは、ボールとの情報のやりとりの結果を達成し得ない。同様に、転移点パラメーターは、掴むジェスチャの識別であり得、ユーザーは自分の腕(502〜510)を一部だけ伸ばし、その結果、ボールとの情報のやりとりの結果を達成しない場合、ユーザーのジェスチャは転移点パラメーターも満足しない。
【0094】
[0101]ジェスチャ又はその一部は、それが生じる必要がある空間量をパラメーターとして有し得る。この空間量は、典型的に体と関連して表現され得、ジェスチャは体の動きを含んでいる。例えば、右利きのユーザーに対するフットボール投球ジェスチャは、右の肩(510a)よりも低くない空間容積だけであって、投げる腕(502a〜310a)と同じ側にある頭(522)の上で認識され得る。この投球ジェスチャを使用する領域の容積すべてを定義する必要なく、体から離れた外側の領域は未定義のままであって、容積は無限か又は監視されるシーンの縁まで延びている。
【0095】
[0102]図5Bは、図2のジェスチャ認識装置エンジン(192)の一例示的な実施形態の詳細を提供している。示したジェスチャ認識装置エンジン(190)は、ジェスチャか又はジェスチャを決定するための少なくとも1つのフィルター(519)を含み得る。フィルター(519)は、(本明細書において以下「ジェスチャ」として参照される)ジェスチャ(526)を定義している情報を含み得、そのジェスチャ(526)に関する少なくとも1つのパラメーター(528)又はメタデータを含み得る。例えば、体の後ろから体の前に過ぎる手の1つの動作を含む投げジェスチャ(526)として実装され得、その動きは、立体視カメラによってキャプチャされる体の後ろから体の前に過ぎるユーザーの手の1つの動きを表している情報を含んでいる。そのジェスチャ(526)に関するパラメーター(528)は、その後、設定され得る。ジェスチャ(526)が投げるところにおいて、パラメーター(528)は、手が届く必要がある手の速度の閾値、手が届く必要がある(概して絶対的又はユーザーの大きさに相対的な)距離、及び認識装置エンジン(192)によって評価するジェスチャ(526)が生じた信頼度であり得る。ジェスチャ(526)に関するこれらのパラメーター(528)は、アプリケーション間、単一のアプリケーションの文脈間、又は1つのアプリケーションの1つの文脈の中で時間とともに変化し得る。
【0096】
[0103]フィルターはモジュール式か又は交換可能であり得る。実施形態において、フィルターは、入力それぞれがタイプを有するいくつかの入力と、出力それぞれがタイプを有するいくつかの出力と、を有する。この状況において、第1のフィルターは、認識装置エンジン(190)のアーキテクチャの他の側面をどれも変更せずに、第1のフィルターと入力及び出力が同一数及び同一タイプを有する第2のフィルターと置換され得る。例えば、入力の骨格データを取り入れ、フィルターに関連付けられたジェスチャ(526)が発生している信用度と操縦角度とを出力するドライビング用の第1のフィルターがあり得る。−ことによると第2のドライビングフィルターがより効率的でより少ない処理リソースを必要とするため−人がこの第1のドライビングフィルターを第2のドライビングフィルターを代用することを所望するところにおいて、第2のフィルターがそれらと同一の入力及び出力−骨格のデータ型の1つの入力、及び信用度タイプと角度タイプの2つの出力−を有している限り、人は、単に第1のフィルターを第2のフィルターと置換することよって代用し得る。
【0097】
[0104]フィルターがパラメーター(528)を有している必要はない。例えば、ユーザーの身長を返却する「ユーザーの身長」フィルターは、調整され得るどんなパラメーターも許可し得ない。代替の「ユーザーの身長」フィルターは、−ユーザーの身長を決定するとき、ユーザーの履物、髪型、頭にかぶっているもの、及び姿勢を計算するか否か調整可能なパラメーターを有し得る。
【0098】
[0105]フィルターへの入力は、関節で交わる骨格によって形成される角度のようなユーザーの関節位置に関する関節データ、シーンからのRGBカラーデータ、及びユーザーの様子の変化率などのものを含み得る。フィルターからの出力は、特定のジェスチャを実行している信頼度、ジェスチャ動作が実行された速度、ジェスチャ動作が実行された時間などを含み得る。
【0099】
[0106]文脈は文化的文脈であり得、それは環境的文脈であり得る。文化的文脈は、システムを使用したユーザーの文化を参照している。異文化は、類似のジェスチャを使用し、著しく異なる意味を授け得る。例えば、別のユーザーに「見て」又は「目を使って」と言いたいアメリカ人ユーザーは、自分の人差し指を彼の目の方から自分の頭の方に当てる。しかしながら、イタリア人ユーザーにとってこのジェスチャは、マフィアへの参照として解釈され得る。
【0100】
[0107]同様に、単一アプリケーションの異なる環境の中に異なる文脈があり得る。自動車の操作を伴った一人称形式のシューティングゲームを取り上げたい。ユーザーが歩きながら地面に向かった指でこぶしを作り、こぶしを体から前に延ばすパンチジェスチャを表し得る。ユーザーがドライビング文脈にいる間、同一動作は「ギヤシフト」ジェスチャを表し得る。ユーザーが、自分のゲームをセーブし、自分のキャラクターの装備の中から選択し、又はゲームの直接対戦を含まない類似の動作を実行可能な1つ以上のメニュー環境もあり得る。その環境において、この同一のジェスチャは、何かを選択するか又は別の画面に進む第3の意味を有し得る。
【0101】
[0108]ジェスチャ認識装置エンジン(190)は、ジェスチャフィルター(519)に機能性を提供する基本認識装置エンジン(517)を有し得る。実施形態において、認識装置エンジン(517)が実装している機能性は、認識されたジェスチャ及び他の入力をトラッキングする時間をかけた入力のアーカイブ、(モデル化されたシステムは未知パラメーターを有するマルコフ過程である−現在の状態が、将来の状態を決定するために必要な過去の任意の状態情報を要約しているので、このために別のどんな過去の状態情報も維持される必要はない−と仮定され、隠されたパラメーターが観察可能なデータから決定される)隠れマルコフモデル実装、及び特定のジェスチャ認識実体を解決するために要求される別の機能性を含んでいる。
【0102】
[0109]フィルター(519)がロードされ、基本認識装置エンジン(517)上に実装され、フィルター(519)すべてにエンジン(517)によって提供されるサービスを利用できる。実施形態において、基本認識装置エンジン(517)は、受信したデータを処理し、それが任意のフィルター(519)の要件を満足するか否か決定する。提供されるこれらの入力を解析するサービスは、フィルター(519)それぞれによってというよりもむしろ、基本認識装置エンジン(517)によって一旦提供され、その時にフィルター(519)ごとに一度処理されることと対照的に、上記サービスは一定時間に一度だけ処理される必要があるので、ジェスチャを決定するために要求される処理が抑えられる。
【0103】
[0110]アプリケーションは、認識装置によって提供されるフィルター(519)を使用し得るか又は基本認識装置エンジン(517)にプラグインするそれ自身のフィルター(519)を提供し得る。実施形態において、すべてのフィルター(519)は、このプラグイン特性を利用可能にする一般的インターフェースを有する。更に、フィルター(519)すべてがパラメーター(528)を利用し得るので、後述される単一のジェスチャツールが使用され得、全てのフィルターシステム(519)をデバッグし調整し得る。
【0104】
[0111]これらのパラメーター(528)は、ジェスチャツール(521)によってアプリケーション又はアプリケーションの文脈に関して調整され得る。実施形態において、ジェスチャツール(521)は、スライダー(523)それぞれがパラメーター(528)に対応している複数のスライダー(523)と本体(524)の図的表示とを含む。パラメーター(528)は、対応しているスライダー(523)を使って調整されるので、本体(524)が、それらパラメーター(528)を有するジェスチャとして認識される動作と、上記識別されたそれらパラメーター(528)を有するジェスチャとして認識されない動作と、の双方を実演し得る。ジェスチャのこのパラメーター(528)の可視化が、ジェスチャをデバッグ及び微調整双方に効果的な手段を提供する。
【0105】
[0112]図6A及び図6Bは、キャプチャ装置(608)、計算装置(610)、及び表示装置(612)を含むシステム(600)を表している。この例において、立体視カメラ(608)が、ユーザー(602)が存在する物理的な空間内(601)のシーンをキャプチャする。この説明のために表示装置(612)が図6Aの表示装置(612a)として及び図6Bの表示装置(612b)として、示されていて、ユーザー(602)が図6Aのユーザー(602a)として及び図6Bのユーザー(602b)として、示されている。立体視カメラ(608)は、立体視情報を処理し、及び/又は立体視情報を計算機(610)のような計算機に提供する。ユーザー(602)の視覚表示を示すための立体視情報が解釈され得る。例えば、示された立体視カメラ(608)又はそれに接続された計算装置(610)がディスプレイ(612a)、(612b)に出力し得る。この例においてユーザー(602)は、サッカーゲームアプリケーションをしている。
【0106】
[0113]キャプチャ装置(608)、計算装置(610)、及び表示装置(612a),(612b)はそれぞれ、図1〜図5Bに関連して説明した所望の機能性を実行する装置のような適切な任意の装置を含み得る。単一の装置がシステム(600)の機能すべてを実行し得るか又は適切な任意の装置の組み合わせが所望の機能を実行し得ることを想定している。例えば、計算装置(610)は、図2に示した計算環境(12)又は図3に示した計算機に関連し記載された機能性を提供し得る。図2に示した計算環境(12)は、表示装置及びプロセッサーを含み得る。計算装置(610)は、それ自身のカメラコンポーネントも含み得るか、又はキャプチャ装置(608)のようなカメラコンポーネントを有する装置と接続され得る。
【0107】
[0114]ユーザー(602)の視覚表示は、動画、キャラクター、アバターのような形式のいずれかを取り得る。例えば、ユーザー(602)のような目標の視覚表示は、初めにユーザー(602)が所望した形及び大きさに彫刻可能なデジタル粘土塊か又はバターのストックライブラリーから選択されたキャラクター表示であり得る。例えば、野球ゲームアプリケーションにおいて、ユーザー(602)を視覚的に表すためのオプションは、有名野球選手からタフィー又はエレファントの一部に至る架空のキャラクター表現、カーソル又はハンドシンボルのような任意のシンボル形式を取り得る。視覚表示は、ユーザー(602)の特徴と動画又はストックモデルの特徴との組み合わせがあり得る。例えば、ユーザー(602)は、ゲームアプリケーションによって提供される様々なストックモデルから選択し得る。本システムは、選択したストックモデルにユーザーの特徴を適用し得る。視覚表示はプログラムとパッケージされるアプリケーション特有であり得るか、又は視覚表示はアプリケーションを越えて利用可能か若しくはシステムの広い範囲で利用可能であり得る。
【0108】
[0115]図6A及び6Bの表示装置(612a)に示されている視覚表示の例は、ユーザー(602)に類似した特徴を有するアバター(606)の視覚表示である。図6A及び図6Bは、図6Aのアバター(606a)及び図6Bのアバター(606b)によって表された異なる2つのフレーム又は時点におけるアバター(606)を示している。更なる画像データのフレームがキャプチャされ表示され得るが、例示のために図6A及び図6Bに表されたフレームが選択されている。画像データのフレームがキャプチャされ表示されるレートが、表示される視覚表示の動きの連続性レベルを決定し得る。
【0109】
[0116]システム(600)は、立体視情報、画像情報、RGBデータなど、物理的な空間内(601)に関する情報をキャプチャし得る。一実施形態による画像データは、立体視カメラ(608)及び/又はRGBカメラからの立体視画像若しくは画像、又は別の任意の探知器上の画像も含み得る。例えば、カメラ(608)が画像データを処理し得、それを利用して目標の形、色、及び大きさを決定し得る。人間のパターンに一致する目標又は被写体それぞれがスキャンされ、それに関連付けられた骨格モデル、フラッドモデル、ヒューマンメッシュモデルのようなモデルを生成し得る。例えば、前述した立体視情報が、図5Aに示したユーザーの骨格モデルを生成するために使用され得、本システムは、ユーザーの頭や手足など体の一部分を識別する。例えば、観測された複数のヒューマンターゲットに関連付けられている画素の深度値、及び身長、頭の大きさ、又は肩幅など、ヒューマンターゲットの1つ以上の外観の範囲を利用し、ヒューマンターゲットの大きさが決定され得る。
【0110】
[0117]システム(600)はキャプチャされたデータを解析し、それを骨格モデルに変換することによってユーザーの手足の動きをトラッキングし得る。システム(600)はその後、骨格モデルをトラッキングし得、体の一部それぞれの動作を視覚表示のそれぞれの部分にマッピングし得る。例えば、ユーザー(602)が彼又は彼女の腕を振った場合、本システムがこの動きをキャプチャし得、それをアバター(606)の腕に適用し得、アバターも腕を振る。更に、システム(600)は、キャプチャデータの単一のフレーム又は一連のフレーム全域に渡るユーザーの位置を評価することによって、ユーザーの動作からジェスチャを識別し得、ジェスチャを視覚表示に適用し得る。
【0111】
[0118]本システムは、スキャンしたデータ、画像データ、又は立体視情報など、キャプチャされたデータを使用し得、ユーザーの行動を学習するための、ユーザーの行動を示す特性を識別し得る。例えば、本システムは、それが物理的な空間内のユーザーに関するデータをキャプチャするキャプチャ装置を有し得る。本システムは、ユーザーの物理的な特徴、傾向、音声パターン、習慣、言葉遣い、音声コマンド、音声の変動、応答、行動、ジェスチャなど、ユーザーの行動を示す特性に関するデータの履歴を収集し格納することによってユーザーの行動を識別し得、文脈上の状況など、いくつかのユーザーの行動を導き出し得る状況を識別し得る。本システムは、システムの状態、ゲームの状態、アプリケーションの状態、又は別の任意のシナリオの特徴など、ユーザーの行動に関連付けられた文脈上の状況に関するデータの履歴を記録又は格納し得る。更に、本システムは、シナリオを評価し得、文脈上の状況とユーザーの行動との間の相関関係を描き得、異なるシナリオにおけるユーザーの傾向を決定し得る。例えば、本システムは、ユーザーが実行アプリケーションにおいて行動的な参加者でないとき、一定の状況下でユーザーの音声がどのように変動しているか又はユーザーがどのように立っているか学習し得る。
【0112】
[0119]実際にユーザーが存在していなくてもユーザーのアバターの動画化が望まれ得る。例えば、ユーザーが物理的な空間内に存在しないとき、ユーザーを表すアバターを提供し(本システムが学習した)ユーザーの行動に従って行動できることが望まれ得る。かくして、本システムは、ユーザーが物理的な空間内に存在しない場合でもデータの履歴にアクセスし得、不在であるユーザーの行動及び傾向を示す動画をアバターに適用し得る。例えば、本システムは、不在のユーザーのアバターが不在のユーザーに対応するように動き、話し、言語を使用するような動画を、不在のユーザーのアバターに適用できる。これによって第2のユーザーは、不在のユーザーが存在して本システムと対話する例と同等な、不在のユーザーのアバターとの疑似体験を有することが可能となる。
【0113】
[0120]本システム(600)は、時間とともに、ユーザーの傾向を学習し、ユーザーの行動及び傾向を示す特性及び文脈上の状況を用いて、ユーザーのアバターライブラリーを継続的に更新し続け得る。文脈上の状況が一定のユーザーの行動と相互に関連付けられ得、ユーザーが識別可能な方法で文脈上の状況に応答し得る。本システムは、アバター(606)がユーザーの行動に従って行動して応答するように動画をユーザーのアバター(606)に知的に適用し得る。本システムがユーザーの入力からより多くのデータを収集するにつれてアバターは、ユーザーの物理的な特徴、行動、感情、スピーチパターン、傾向、音声パターンなどの様相を有し、ますます忠実にユーザーを反映するものになる。かくして、動画を実行するアバターを訓練することは、ユーザーからの入力を学習することと、ユーザーに類似するようにアバターを形作ることと、を含み得る。ユーザーは、物理的な空間内に存在し得ないがしかし、ユーザーのアバターは、ユーザーが存在し及び/又はアバターを制御するように見えるほどユーザーに酷似するようになる。
【0114】
[0121]ユーザーの行動を示す特徴の識別は、行動の傾向、音声パターン、顔の表情、骨格の動き、話し言葉、データの履歴、音声の認識情報など、特定のユーザー(602)に関連付けられた情報を含み得る。ユーザーの特徴は、目の大きさ、タイプ、及び色、髪の毛の長さ、タイプ、及び色、皮膚の色、服、及び服の色など、ユーザーの物理的な任意の特徴を含み得る。例えば、色は、対応するRGB画像に基づいて識別され得る。ヒューマンターゲットに関する別の標的特性は、例えば、身長、及び/又は腕の長さを含み得、例えば、ボディスキャン、骨格モデル、画素領域のユーザー(602)の範囲、又は別の任意の適切なプロセス若しくはデータに基づいて取得され得る。計算システム(610)は、画像データを解釈するための物体認識技法を使用し得、ユーザー(602)が有しているものの大きさ、形、及び深度値に従ってユーザー(602)の視覚表示を製造し成形し得る。
【0115】
[0122]本システムは、ユーザーの行動を能動的又は受動的に学習し得る。図6において、アバター(606)は、ユーザー(602)の物理的に忠実な表示であって、サッカーゲームアプリケーションに適用可能な(例えば、ゴールポスト及びネット(609)、ボール(607)のような)追加的な特徴及び動画を有している。ユーザー(602)はサッカーゲームアプリケーションのアクティブなプレーヤーであって、第2のユーザー(603)は非アクティブなプレーヤーであるがしかし、双方とも物理的な空間内に存在している。本明細書に使用される非アクティブとは、この例において、アプリケーションの様相を制御するためのジェスチャを現在実行していないユーザー(603)を単に参照している。2人以上のユーザーが同時にアクティブであり得る。代替として、本システムは、1人のユーザーを同時にアクティブ可能にし得る。この例において、現在のプレーヤー(602a)が、ディスプレイ(612a)上のアバター(606a)を制御するためのジェスチャを実行している間、非アクティブなプレーヤー(603)は、彼又は彼女の順番を待っている。
【0116】
[0123]ユーザーの能動的な学習は、アプリケーションのジェスチャ又はコントロールと関連付けられた学習であって、ユーザー(602a)、(603)のどちらかひとり又は双方が提供する行動を学習することを含み得る。ユーザーの能動的な学習は、ユーザー(602)又はユーザー(603)のようなユーザーがいつ特定の運動又はジェスチャを実行するか記述していて、本システムが、ユーザーのジェスチャに関連付けられたユーザーの行動を示す特性を識別する。ジェスチャは、動的又は静的な動作及び音声コマンドを含み得、本システム又は実行アプリケーションの様相を制御するために実行され得る。例えば、図6Aにおいて、物理的な空間内(601)のユーザー(602a)の動作は、腕を左に伸ばしたままのダイビング動作を含む。そのジェスチャは、サッカーのゴールキーパーの動作として認識され得、アバター(606a)の動画の制御をもたらし得る。ジェスチャの結果はゲームの不成功又は成功として認識され得る(例えば、ジェスチャはサッカーゲームアプリケーションの不成功/成功の結果をもたらす)。システム(600)は、ジェスチャ自体又はジェスチャに対応している行動の様相を識別し得、それらの様相又は行動をユーザーに関連付け得る。
【0117】
[0124]図6は、本システムが、ジェスチャに関連付けられたユーザーの行動を能動的に学習可能なシナリオの例を表していて、ユーザーがサッカーゲームアプリケーションにおけるジェスチャを実行している。システム(600)は、ジェスチャ自体又はジェスチャに対応している行動の様相を識別し得、それらの様相又は行動をユーザーに関連付け得る。このように、ジェスチャのデータ及びジェスチャに対応するユーザーの行動が、アバターに適用され得、特定のユーザーに関する動画が調整される。この例において、ユーザー(602)は、サッカーのゴールキーパーの役割をしている。ユーザー(602)がゴールキーパーのジェスチャを実行した時間のほとんどが、ネット(609)に入るゴールボール(607)を守る結果となってユーザーがダンスをする場合も本システムは、ユーザーの行動(例えばダンス)を識別し得、文脈上の状況(例えば、サッカーのゴールキーパーのジェスチャと成功したジェスチャの結果)と相互に関連付け得る。かくして、本システムは、ユーザーの行動をゲームの状態と相互に関連付けることができる。別の例において、テニスゲームアプリケーションのユーザーが、テニスボールを打つジェスチャを実行するとき、口を開く傾向があるか、又はテニスゲームアプリケーションにおいてサーブのジェスチャの間、ユーザーが不満を漏らす場合、本システムは、ジェスチャを実行するときに生じるユーザーの別の行動を示す情報をジェスチャデータに含め得る。
【0118】
[0125]本システムは、ユーザーのダンスの動画など、ユーザーの行動に対応している動画を格納できる。本システムは、ジェスチャの性能及び/又はゲームの状態など、動画が文脈上の一定の状況に相互に関連する指標をユーザーのプロファイルに格納し得る。同様に、本システムは、ユーザーのジェスチャ、アプリケーションの状態、又は別の識別可能な任意の文脈上の(待機状態を含む)状況と相互に関連するユーザーの表情、体位、言語の傾向などを識別し得、例えば、ユーザーのプロファイル又はアバターライブラリーにおける相関関係を示すことができる。将来において、ユーザーがジェスチャとそれを実行したとき、それがゲームの同様の状態(例えば、ネットに入るゴールボールを守った成功結果)をもたらし、本システムは、ダンス動画をユーザーのアバターに適用し得る。同様にユーザーが存在しない場合、本システムは、ユーザーのアバターをレンダリングし得、それらのジェスチャに関連付けられたジェスチャ及び動画をアバターに適用するように、アバターを介しユーザーの参加をシミュレーションし得る。この例において、本システムは、データの履歴を識別し得、適切な文脈上の状況下のダンス動画もユーザーのアバターに適用する。かくして、本システムがユーザーに関するキャプチャデータをリアルタイムに使用しない場合でもユーザーのアバターは、データの履歴に基づいてユーザーに類似したものを表し得る。
【0119】
[0126]本システムは、ユーザーの行動がジェスチャに対応し得ない物理的な空間内において自然に実行している時など、ユーザーがアクティブでないとき、ユーザーはユーザーの行動を受動的に学習できる。本システムは、ユーザーの傾向、応答、待機動作のような状況下のユーザーの行動を受動的に検出できる。受動的な学習中、本システムは、ユーザーが自然に行動しているとき、ユーザーに関するデータをキャプチャし得る。例えば、受動的な学習中、ユーザーはシステムと対話していないか又はゲームアプリケーションにおいて別のプレーヤーの順番の場合である。受動的なプレーヤーの訓練は、ユーザーが体験を通して待機しているとき、プレーヤーがどのように行動するか(例えば、体位、表情、動作、話し言葉、音声の変動)に関する本システムの学習を含み得る。例えば、図6において、物理的な空間内(601)の第2のユーザー(603)は、第1のユーザー(602)によって再生されるサッカーゲームアプリケーションと活発に対話してない。第2のユーザー(603)は、待機中、腰をおろしてユーザー(603)の頭にユーザー(603)の手をついている。本システムが、そのようなシナリオのユーザーの習慣を学習し得、それらをユーザーのアバターライブラリーに追加し得る。
【0120】
[0127]本システムは、上記の状況におけるユーザーの自然な行動又は待機動作をいくつか学習し得、それらをユーザーに関連付け得る。例えば、本システムは、プレーヤーがどのように歩行するか識別し得、その動作をそのユーザーに関するアバターライブラリーの歩行動画として保存し得る。本システムは、本システム又は実行アプリケーションのジェスチャ又は別の動作の制御に関与し得ない様々な状況及びシナリオの下で、活動中のユーザーを視聴できる。例えば、ユーザーがリモートのゲーム対戦体験において友人に挨拶するとき、ユーザーが典型的に「やあ、君、元気?」といった典型的な挨拶を友人にすることを本システムが検出し得る。同一のユーザーは、見知らぬプレーヤーには「こんにちは、私の名前は〜」のように挨拶し得る。本システムは、キャプチャした音声の変動、話し言葉、及び別の任意の動作を含むジェスチャデータを使用し得、それをユーザーのアバターに関するアバターライブラリーに追加し得る。
【0121】
[0128]アバターライブラリーは、事前にパッケージ化されたユーザーのジェスチャ又はユーザーの別の任意の行動を表すアバターに適用され得る動画を含み得る。本システムは、受動的な学習を介しアバターライブラリーの動画を更新、追加、又は書き換え得る。本システム又はユーザーは、動画の様相を完全に修正し得、アバターライブラリーのエントリーを追加し、更新し、再プログラムし、書き換え、又は削除し得る。例えば、ユーザーは、本システムと対話もし得ないし、アプリケーションのどのコントロールに関するジェスチャも実行し得ない。別のユーザーがアプリケーションにおいてアクティブな間、ユーザーは待機中であり得る。本システムは、物理的な空間内のアクティブなユーザーの実行を静かに座って、観測し待機するユーザーのアバターを動画化した待機動作を表すユーザーのアバターに標準の動画を適用し得る。しかしながら、本システムは、ユーザーがゲームアプリケーションにおいて待機しているとき、実際の待機中のユーザーの行動に関連するデータをキャプチャする。本システムは、そのユーザーに関する待機の動画に関するユーザーの行動を記録し得、それらをアバターライブラリーのエントリーに追加し得る。本システムは、本システムによって記録されたユーザーの行動を表す動画を使用し、待機行動に関する標準の動画を書き換え得る。
【0122】
[0129]例えば、本システムは、図6Aに示したユーザー(603)が、待機中か又は非アクティブであるとき、ユーザー(603)は頭にユーザーの右手をつく傾向があることを認識し得る。本システムは、これに関連するデータを、ユーザーに関連するプロファイル又はアバターライブラリーに格納し得る。動画はアバターライブラリーへの追加を表し得るか又はそれは待機行動に関するデフォルトの動画の書き換えがあり得る。その後、本システムは、図6Bに示したアバターが自分の頭に右手をついて座っているアバター(611)の動画のようなアバター(611)をもたらす動画を適用し得る。しかしながら、本システムは、時間とともに、ユーザー(603)が、待機中、より頻繁に自分の頭に左手をつくか又は両手間を切り替える傾向があることを認識し得る。かくして、本システムは、識別したユーザーの傾向をより十分に表すために、アバターライブラリー及びアバターライブラリーの動画を改良し続け得る。本システムは、元の動画データも保持し得、再定義した動画を選択するためにユーザーのアバターライブラリーに追加し、複数の動画を提供する。
【0123】
[0130]図6Bは、図6Aに示したシステム(600)を表している。図6Bは、まさに、物理的な空間内(601)のユーザー(602)の例を表している。この例において、同一のユーザー(602)が、物理的な空間内(601)においてジェスチャを実行していて、図6Aのアバター(606a)に適用されたものに類似したゴールキーパーのジェスチャを代表するユーザーのアバター(606b)の動画をもたらす。しかしながら、この例において、物理的な空間内のユーザー(602)の動作は、図6Aのユーザー(602)によって実行されたものから変化しているが、同一のジェスチャがアバター(606a)及び(606b)双方によって識別され表されている。
【0124】
[0131]標準ジェスチャのパッケージは、システム及びアプリケーション開発者が、ジェスチャの認識を彼らのシステム及び/又はアプリケーションに組み込むことができるジェスチャである。本システムは、ジェスチャの様相を修正し得るか又はジェスチャを完全に書き換え得る。例えば、本システムは、動作を再定義することによって特定のジェスチャに対応する動作を修正し得る。例えば、ユーザー(602b)が怪我をしている場合、図6Aに示したユーザー(602a)によって物理的な空間内(601)において以前実行したようなダイブができない。本システムは、変化したユーザーの動作を認識し得るか又はユーザーがジェスチャデータを修正するようにリクエストし得る。例えば、本システムは、デモンストレーションとして準備された基本的ジェスチャ又は音声コマンドを用いてユーザーを促し得、ユーザーは、ユーザー自身のジェスチャのバージョン又は音声コマンドを実行できる。ユーザー(602)は、ジェスチャを再定義するために図6Bに示した、立っている姿勢、左に傾いている姿勢、横に腕を振っている姿勢を含む動作を実行し得る。本システムは、ユーザーが定義したジェスチャのデータを有するデフォルトのジェスチャのデータを一時的又は永久的に上書きし得る。本システムは、元のジェスチャのデータも保持していて、ユーザーのアバターライブラリーに再定義されたジェスチャを追加し、同様の結果をアプリケーションに提供する複数のジェスチャを提供する。ジェスチャの再定義又は追加の後に続いて、本システムは、物理的な空間内のユーザーに関連するデータをキャプチャし得、そのデータから、ユーザーが再定義したジェスチャ又は追加したジェスチャを実行するか決定できる。
【0125】
[0132]同様に、能動的なユーザー学習は、ジェスチャ自体がアバターライブラリーの動画を修正し、及び/又はシステムによって識別されてユーザーに関連付けられた行動を修正するように促すユーザーのジェスチャを識別することを含み得る。例えば、ユーザーは、事前にパッケージ化された動画の修正モードへのジェスチャを実行するか又は入力することによって、動画に対する修正を開始し得るか又はアバターライブラリーへの動画の追加を開始し得る。本システムは、デモンストレーションとして準備された基本的な動画又は音声データを使ってユーザーを促し得、ユーザーは、ユーザー自身の動画バージョンを実行又は音声サンプルを提供できる。
【0126】
[0133]例えば、本システムは、図6Bに示したものに類似した、アバターの頭にアバターの手をついて座った姿勢を含むユーザー(603)に関連付けられたアバター(611)に動画を適用し得る。本システムは、物理的な空間内のユーザーが待機中か又はユーザーが同様の動作を実行したとき、ユーザーが、図6Aに示したように彼又は彼女自身の姿勢をとる傾向があることを認識し得る。しかしながら、ユーザーは、ユーザーが待機しているとき、ユーザーに関するこの行動を示しているデータの履歴を修正することを所望し得る。ユーザーは、特定の文脈上の状況(例えば待機行動)下のユーザーのアバターに適用されるデータの履歴及び/又は動画の修正を開始するためのジェスチャを実行し得る。本システムは、特定の文脈上の状況に関連付けられた現在の動画を使ってユーザーに促し得、ユーザーは、アバターライブラリーの動画を書き換えるための、その動画の異なるバージョンを実行できる。
【0127】
[0134]本システム又はユーザーがジェスチャ又は動画データを追加、更新、又は書き換える双方のシナリオにおいて、本システムは、ユーザーの入力を記録し得、再定義したジェスチャ又は動画のデータを利用可能にし得る。例えば、ユーザーが「ウェーブ」のジェスチャ実行している場合、本システムは、前述したジェスチャ認識エンジンを介し「ウェーブ」のジェスチャに対応する動作を検出できる。本システムは、ジェスチャがどこで始まり、どこで終わるか検出し得、物理的な空間内において新しい動作を実行するようにユーザーを促し得、現在の「ウェーブ」のジェスチャのデータを上書きし、及び/又は記録されたユーザーの動作に対応する更なる「ウェーブ」のジェスチャを生成し得る。
【0128】
[0135]本システムは、記録したユーザーの動作を利用可能であり得る。例えば、ティーンエイジャー向けに識別されたゲームアプリケーションにおいて、そのジェスチャに対し提案されたユーザーの動作が、社会的に受け入れられない動作(例えば失礼な動作)を含む場合、本システムは、ジェスチャに関するユーザーの動作を確認し得ない。かくして、本システムは、望ましくない、ユーザーのアバターによって反映されるべきでないユーザーの行動を識別し得る。サッカーゲームのユーザーが、サッカーのゴールキーパーの役割をするアプリケーションを考えられたい。本システムは、ユーザーがゴールキーパーのジェスチャを実行し、結果が不成功をもたらした(すなわち、ゴールボールがネットに入った)とき、悪態をつくか又は不愉快なジェスチャをするユーザーの傾向を識別し得る。かくして、本システムは、ユーザーのアバターライブラリーからユーザー特有の動画、又は一般的なアバターライブラリーからの一般的な動画など、これらの文脈上の状況下のアバターに適用するための異なる動画を選択し得る。本システムが、ゴールキーパーのジェスチャ及びゲームの状態(例えば、ゴールボールを守ることに成功しなかったこと)を識別したとき、本システムは、物理的な空間内のユーザーによって実行された動作を模倣するアバターというよりもむしろ不愉快ではない動画をアバターに適用するように調整され得る。同様に、本システムは、行動を無効にし得、ユーザーのアバターに動画を適用するとき選択するアバターライブラリーの動画としてそれを含み得ない。かくして、上記行動の行動又は表示いくつかは、後で利用するために格納され得ない。
【0129】
[0136]図6Bは、ユーザーが実際に物理的な空間内にあるか否かに関係なく、本システムがユーザーの行動及び傾向をアバターに適用する例を表している。図6Bにおいて、アバター(611)は、図6Aのユーザー(603)を表している。しかしながら、もはやユーザー(603)は、図6Bの物理的な空間内(601)に存在しない。ユーザーが物理的な空間内に存在しないとき、ユーザーを表すアバターを提供し(本システムが学習した)ユーザーの行動に従って行動できることが望まれ得る。例えば、本システムは、ユーザーが部屋を退出し、もはやシステムのトラッキングビューの中に存在しない場合でも、ユーザーのアバターを表示し、ユーザーの傾向及び行動に対応する動画をユーザーのアバターに適用し続け得る。第1のユーザーが第2のユーザーに対しゲーム対戦することを選択するがしかし、その第2のユーザーは物理的な空間内に存在し得るか又は存在し得ないゲームアプリケーションを考えられたい。本システムは、第2のユーザーのプロファイルに基づいてユーザーの物理的な特性、傾向、行動、及び別の特性を反映する第2のそのユーザーを模倣することができる。第2のユーザーの能力は、例えば、能力水準がアプリケーションに適切な場合、模倣され得る。かくして、第1のユーザーは、第2のユーザーが、実際に物理的な空間内に存在し、及び/又はシステムと対話するとき、第2のユーザーのアバターの実体と同様の体験を有することができる。本システムは、第2のユーザーのアバターが第2のユーザーに対応するように動き、話し、言語を使用するような動画を第2のユーザーのアバターに適用できる。
【0130】
[0137]ユーザー(603)の行動は、ユーザー(603)に関連し、時間とともに以前のユーザーの入力及び/又はシステムによってキャプチャされたデータから識別され得る。アバターは、ユーザーの特徴、行動、傾向、音声パターンなどに関連する様相を含む、物理的な空間内のユーザーの様相をますます反映する。例えば、本システムは、アバターが、識別したユーザーの傾向に従って行動して応答するようにユーザーの傾向を学習し得、動画をユーザーのアバターに知的に適用し得る。かくして、動画を実行するアバターを訓練することは、ユーザーからの入力の履歴から学習することと、ユーザーに類似するようにアバターを形作ることと、を含み得る。
【0131】
[0138]本システムは、ユーザーが様々なシナリオにどのように応答し、ユーザーの特性状態をどのようにキャプチャするか学習し得る。例えば、ユーザーは、別のユーザーがアクティブなプレーヤーである間、ゲームアプリケーション中、立ったまま待機し、本システムは、ユーザーが参加しているがアクティブなプレーヤーではない場合のユーザーの体位及び行動を検出し得る。ユーザーは、飲み物を飲み、壁に向かって立ったまま待機し、アクティブなプレーヤー又は画面を鑑賞し、本を読み、又は別の任意の行動を実行し得る。例えば、ユーザーが読書をしているが、アクティブなプレーヤーでないことは普通である。本システムは、この傾向を認識し得、ユーザーのプロファイルの傾向に関連する情報を格納し得る。
【0132】
[0139]図6Aにおいて、本システムは、ユーザー(603)のボディランゲージ、姿勢、話される言語などを検出するが一方、ユーザー(603)は、ユーザー(602)がサッカーゲームアプリケーションに積極的に参加していることを観測している。本システムは、期間中、キャプチャされたユーザー(603)に関連する別のデータの履歴を有し得る。図6Bにおいて、ユーザー(603)は、物理的な空間内(601)に存在しないがしかし、ユーザーのアバター(611)が表示装置(612)に表示され得る。本システムは、ユーザー(603)の行動に関し収集したデータの履歴に対応するユーザーのアバター(611)に動画を適用し得る。かくして、本システムは、ユーザーが、ゲームにおいて非アクティブなプレーヤーであるとき、典型的に行動する方法と同じように座った姿勢のユーザーのアバター(611)を表し得る。本システムは、典型的なサッカーゲームにおいて見つけられ得、サッカーゲームの観戦者が典型的に座り得る場所であり得る席又は外野席などにユーザーを配置した付加的な動画を提供し得る。
【0133】
[0140]本システムは、ユーザーの入力に関連するデータを図2に示したアバターライブラリー(196)のようなアバターライブラリーに格納し得る。アバターライブラリーは、例えば、特定のユーザーに関連付けられ得るか又はプロファイル(198)のようなユーザープロファイルに格納され得る。前述したように本システムによって、ユーザーは、動画のストックライブラリーを上書き又は追加可能になる。別の実施形態例において、ライブラリーの動画は、ユーザーによって入力されアバターのライブラリーに記録された動画であり得る。例えば、本システム又はユーザーは、例えば、キャプチャ装置によってキャプチャされたユーザーの実際の動作又は行動を反映する動画を再プログラムし得る。かくして、動画が、アバターの動画ライブラリーに追加又は上書きされ得る。
【0134】
[0141]本システムは、動画のストックライブラリーを含む普遍的又は一般的なアバターライブラリーも含み得る。実施形態例において、アバターに適用される動画は、例えば、プログラム、アプリケーション、又はシステムが搭載する事前にパッケージ化された動画ライブラリーから選択された動画であり得る。選択される動画は、本システムが学習したユーザーの入力に対応する一定の行動を反映するためのものであり得る。事前に準備された動画は、アプリケーション用又はシステム向けに定義され得る。例えば、アバターに適用されるファイルオープン/ファイルクローズの動画は、システムの広い範囲で同一であり得る。
【0135】
[0142]ユーザーに対応するアバターライブラリーを含むアバターライブラリーは、アプリケーションを越えて又はシステムの広い範囲のアプリケーションに対しアクセス可能であり得る。例えば、本システムは、様々なアプリケーションを通してユーザーの行動を識別し得る。本システムは、アプリケーションを越えてユーザーの行動に関連するデータすべてを収集し得、それらを普遍的に受理可能なアバターライブラリーに格納し得る。本システムは、その後、アバターライブラリーにアクセスし得、アバターライブラリーからの動画を任意の状況下のアバターに適用し得る。例えば、本システムは、ユーザーがゲームにおいてアクティブなプレーヤーでないとき、ユーザーが典型的に彼又は彼女の爪を噛むことを識別し得る。かくして、非ゲームアプリケーションの実行中、ユーザーが本システムと対話しているとき、ユーザーがドキュメントの保存又はソフトウェアに関し実行中のデバッガーを待っているときのようにアプリケーションとユーザーとの対話に遅延があると、本システムは、ユーザーのアバターに爪を噛む動画を適用し得る。
【0136】
[0143]本システムは、ユーザーのアバターをいつでも表示し得、ユーザーの行動を反映する動画をいつでもアバターに適用し得る。本システムは、ユーザーからの支援があるなしにかかわらず、時間とともに任意タイプのシナリオのユーザー動画を適用し得る。例えば、アバターライブラリー及びユーザーの行動に関連付けられ格納されたデータを利用し、本システムは、ユーザーから入力せずに、識別したユーザーの音声パターン及び音量を使用したボイスメールメッセージを生成し得る。本システムは、アプリケーションのダッシュボード、友人との通信中、ゲームアプリケーションなど、において動画をアバターに適用するとき、ユーザーの行動を模倣し得る。ユーザーは、アバターを制御していても制御していない場合があっても、もっと正確に言えば、本システムがユーザーのアバターの画像を提供する場合がある。本システムは、特定のユーザーが物理的な空間内に存在しているか否かに関係なく、特定のユーザーに関連付けられたアバターに動画を適用し得る。例えば、ユーザーは、文書処理アプリケーションにおいて文書を記述し得、本システムは、ユーザーに類似したアバターを画面に表示し動画化し得る。本システムは、ユーザーのアバターライブラリーから動画を適用できる。
【0137】
[0144]本システムは、ユーザーがアプリケーション間又は異なる環境を越えて異なる行動をすることを識別し得る。例えば、ゲームアプリケーションにおいて、別のユーザーが、ゲームにおいてアクティブなプレーヤーであるとき、ユーザーは表示画面及び/又は別のユーザーを鑑賞、観察し得る。しかしながら、非ゲームアプリケーションにおいて、例えば、別のユーザーがアクティブであるとき、又はアプリケーションがドキュメントを保存しているか若しくはデバッガーを実行している場合、ユーザーは、表示画面を観察し得ない。ユーザーは彼又は彼女の爪を噛み得るか又は部屋を退出する。
【0138】
[0145]アプリケーションにとってアバターが、アプリケーション又は本システムの任意の様相を制御する必要がない場合であっても、アバターは表示され得る。行動、応答、傾向などを識別するために十分な一連の入力に従って本システムが典型的に学習し、ユーザーの入力から学習したように実行し行動するアバターが表示され得る。例えば、第1のユーザーが物理的な空間内において物語を語り得、それが話されているように物語を動画化するために、画面に表示されるアバターを選択し得る。選択されたアバターは、物理的な空間内に存在しないユーザーに関連付けられたアバターであり得る。しかしながら、本システムは、存在しないユーザーが行動しているように見えるアバターを動画化するための、存在しないユーザーに関連し格納された十分な情報を有し得る。本システムは、十分なアバターの動画ライブラリーを搭載しているアバターを使用し得、時間とともに本システムが学習したユーザーの行動に対応している。かくして、アバターがかなり十分なユーザーを表すことができるので、入力を提供するユーザーが存在しているように見え得る。
【0139】
[0146]説明したシステム(600)は、物理的な空間内からユーザーの行動を示すデータを識別し得る。例えば、システム(600)は、物理的な空間内のユーザーの動作、顔の表情、ボディランゲージ、感情などに関連する情報を収集し得る。システムは、ヒューマンターゲットの感情又は気質の識別を支援するための体位認識技法を使用し得る。例えば、システム(600)は、ユーザーの骨格モデルを解析し、トラッキングし、ユーザーがどのように動いたか決定し得る。システム(600)は、アプリケーション、オペレーティングシステムなどのシステムの様相を制御するジェスチャを含むユーザーの体によって実行されるユーザーの体及び動きをトラッキングし得る。本システムは、ユーザーの体位、顔の表情、音声表現及び口調、視線などを識別し得る。ユーザーの声の表現は、ユーザーの気質の指標を提供し得る。例えば、使用される言語、口調、声の高さ、声量などが、ユーザーの気質の感覚を伝達し得る。例えば、荒々しい口調は、怒り又は敵意として解釈され得る。その他の口調は、緊張、様子、息遣い、囁き、しわがれ声、冷静、興奮、満足、又は別の任意の口調であり得る。本システムは、ユーザーの眉毛の動き及び/又は顔をしかめるか又は微笑んでいる表情を示しているユーザーの顔の動きを識別し得る。本システムは、ユーザーによる話し言葉及びユーザーの口調、又はユーザーの体位などを検出し得る。例えば、本システムは、人の右腕を検出し得、上腕、下腕、指、親指、指の関節などを区別する忠実を有し得る。かくして、ユーザーの特徴は、ユーザーの行動及び傾向の良い指標である。
【0140】
[0147]図6Aに示した例において、ユーザーは、頭を一方に傾け、膝の上に右肘を置き、そして頭にユーザーの右手をついて座っている。ユーザーの顔の表情、体位、話し言葉、又は別の任意の検出可能な特徴が適切である場合、仮想的なアバター(611)に適用され、修正され得る。例えば、ユーザー(603)はいすに座っているがしかし、本システムは、サッカーゲームにおいて見つけられ得る外野席又は席に座っているユーザーに修正する。
【0141】
[0148]システム(600)は、ユーザーのアバターライブラリーをアプリケーションの状況と比較し得、どの動画が、ユーザーの視覚表示に適用される必要があるか決定し得る。例えば、前述したサッカーゲームアプリケーションにおけるゲームの状態は、ゴールボールを守ったユーザーの成功であり得る。本システムがこれらの状況下のこの行動がこのユーザーにとって典型的であると認識したとき、本システムは、ユーザーのダンスの動画をアバターに適用し得る。別の例において、第1のユーザーが物理的な空間内に存在していてディスプレイ上で物語を行動で示すために選択した、第2のユーザーに関するアバターと話をしている。第2のユーザーは存在しても存在しない場合でも、しかし、アバターは、ディスプレイ上で物語を行動で示し得、第2のユーザーに関し識別された行動を反映する。例えば、物語は小川を跳び越えている人を記述し得る。第2のユーザーに類似しているアバターが小川を跳び越えているのが示されているがしかし、第2のユーザーの行動を反映し、第2のユーザーのように見えるように動画化され得る。例えば、本システムは、ユーザーが跳躍している、又はユーザーがこわがっている、又は楽しんでいるときのユーザーの典型的な行動を識別し得る。本システムは、状況及び上記状況のユーザーの行動に関する格納されたデータに対応するアバターに動画を適用し得る。
【0142】
[0149]図7Aは、ボクシングゲームアプリケーションにおいて、リモートでお互いに対戦する2人のユーザーの例を表している。リモートユーザーは、ネットワーク接続を介し、彼らの物理的な空間内それぞれの目標認識、解析、及びトラッキングシステム(10)と情報のやりとりをし、互いに対話できる。システムそれぞれは、物理的な空間内それぞれのライブで視覚的なフィードバックを他方のシステムに提供できる。図7Aにおいて、2人のユーザーであるユーザー#1及びユーザー#2が、ボクシングゲームアプリケーションを実行するシステムと情報のやりとりをしている。かくして、システムそれぞれが、ユーザーそれぞれに関連するライブデータをキャプチャし得、ユーザーそれぞれに対応する視覚表示をレンダリングし得、ユーザーそれぞれの動作にマッピングし得る。図7Bにおいて、第2のユーザーは、もはや物理的な空間内に存在せず、目標認識、解析、及びトラッキングシステムのトラッキングの視野に存在しない。しかしながら、本システムは、前の例のボクシングゲームアプリケーションのこの例か又は本システム若しくはアプリケーションを用いたユーザーによる別の任意の情報のやりとりのどちらか一方において、ユーザーの行動に関連するデータを収集している。本システムは、ユーザーの行動を反映する、ユーザーに関連付けられた動画をアバターライブラリーから適用できる。かくして、本システムは、ユーザーの入力の履歴に基づく、ユーザーにかなり類似したように見える視覚表示をレンダリングできる。ユーザー#1は、実際のユーザーのデータがアバターに適用されている、実体に類似した第2のユーザーのアバターとの体験を有することができる。
【0143】
[0150]図8は、ユーザーの行動を学習する方法の例を示していて、図9は、選択した行動の動画をユーザーのアバターに適用する方法の例を示している。例えば、(802)において、本システムは、物理的な空間内からユーザーを含むデータを受信する。前述したキャプチャ装置は、シーンの立体視画像及びシーンのスキャン目標など、シーンに関するデータをキャプチャし得る。キャプチャ装置は、1つ以上のシーンの目標が、ユーザーのようなヒューマンターゲットに対応しているか否か決定し得る。人体モデルと一致する目標又は被写体それぞれが、その後、スキャンされ得、それに関連付けられた骨格モデルを生成し得る。骨格モデルは、その後、骨格モデルをトラッキングし、骨格モデルに関連付けられた視覚表示をレンダリングするための計算環境に提供され得る。
【0144】
[0151](804)において、本システムは、ユーザーの行動を示す特性を識別し得る。ユーザーの行動を示す特性は、物理的特性、顔の特徴、スピーチパターン、言葉遣い、音声コマンド、ジェスチャ、動作、又は体位を含み得る。例えば、本システムは、人体及び顔の特徴を識別するための人体認識及び顔認識技法を使用し得る。一定の顔の表情及び人体の動きを含み得るユーザーの行動が識別され得る。例えば、システムは、物理的な空間内のユーザーに関するデータをキャプチャするキャプチャ装置を有し得る。本システムは、ユーザーの特徴、傾向、音声パターン、行動、ジェスチャなどを識別し得る。本システムは、ユーザーの行動を示す特性を受動的及び/又は能動的に識別し得る。例えば、受身的学習は、ユーザーが物理的な空間内において自然に活動しているときのユーザーの特徴を識別することを含み得、能動的な学習は、ユーザーがジェスチャを実行しているときのユーザーの特徴を識別することを含み得る。本システムは、アバターが、識別されたユーザーの傾向に従って行動して応答するように、時間とともにユーザーの傾向を学習し得、動画をユーザーのアバターに知的に適用し得る。かくして、動画を実行するアバターを訓練することは、ユーザーからの入力を学習することと、ユーザーに類似するようにアバターを形作ることと、を含み得る。
【0145】
[0152](805)において、本システムは、事前にパッケージ化されたアバターライブラリーに動画を追加するか又は書き換え得る。例えば、事前にパッケージ化されたアバターライブラリーは、アプリケーションに提供される動画のデフォルトセットであり得る。事前にパッケージ化されたアバターライブラリーの動画を書き換えは、(808)で格納されるユーザーの行動を示す特性履歴に対応する動画を更新することを含み得る。事前にパッケージ化されたアバターライブラリーに動画を追加することは、物理的な空間内のユーザーの動作を記録することと、ユーザーの動作を代表する動画をアバターライブラリーに追加することと、を含み得る。アバターライブラリーの動画への追加又は書き換えは、ユーザーのジェスチャによって促され得る。例えば、ユーザーは修正モードに入るためのジェスチャを実行し得、本システムは、修正モードでユーザーの動作を記録し、それらを追加される動画又は書き換えられる動画に適用し得る。
【0146】
[0153](806)において、本システムは、動画を生成し、それをアバターライブラリーに追加し得る。アバターライブラリーは事前にパッケージ化され得るか又はパッケージ化され得ない。例えば、アバターライブラリーは、ユーザーによって記録された動画を含み得、本システムによって提供され得るか又は提供され得ない。かくして、ユーザーは、ユーザーのアバターに適用されるアバターライブラリーの動画すべてを定義し得る。本システムは、追加された動画、書き換えられた動画、又は生成された動画いずれかを利用可能にする必要があり得る。例えば、ユーザーが不愉快な動画を実行した場合、動画が利用不可にされ得、動画を書き換えるためのデータの履歴への入力も利用もされ得ない。代替として、アバターライブラリーは、ユーザーによって記録された動画及び/又は事前にパッケージ化された動画の組み合わせがあり得る。
【0147】
[0154](807)において、本システムは、ユーザーの行動を特定の状況と相互に関連付け得る。例えば、ユーザーがゲームアプリケーションにおいて成功を収めたときか又はユーザーが待機しているがゲームをしているアクティブなユーザーを見ている体験をしているとき、ユーザーはいくつかの方法で行動し得る。(806)において、ユーザーの行動と特定の任意の状況との相関関係を含むユーザーの行動に関連するデータがアバターライブラリーなどに格納され得る。前述したアバターライブラリーは事前にパッケージ化された動画を含むか、又はアバターライブラリーは特定のユーザーに関連付けられ得、動画がそのユーザーに調整される。ユーザー特有の情報は、1人以上のユーザーによる対戦モードでの傾向も含み得る。例えば、ユーザーが、一定の方法で行動又は反応する傾向がある場合、本システムは、一定の状況下におけるユーザーの傾向をトラッキングし得、ユーザーの行動をより正確に反映し得る。かくして、本システムは、ユーザーの傾向をトラッキングすることを開始し得、その情報を使用し得、ユーザーの行動をより正確に反映し得る。
【0148】
[0155](806)において、彼らの行動に対応する、物理的な空間内のユーザーに関連付けられた行動及び動画がユーザープロファイルの一部として格納され得る。プロファイルは、例えば、物理的な特定の空間内又はユーザーに特有であり得、アバターライブラリーの一部であり得るか又は様相を含み得る。ユーザーの特徴を含むアバターデータはユーザープロファイルの一部になる。プロファイルは、キャプチャシーンへのユーザーのエントリー時にアクセスされ得る。プロファイルが、パスワード、ユーザーによる選択、体の大きさ、音声認識などに基づくユーザーと一致した場合、そのプロファイルが、ユーザーの視覚表示の決定時に使用され得る。
【0149】
[0156]ユーザーに関するデータの履歴が監視され得、ユーザーのプロファイルに情報を格納する。例えば、本システムは、ユーザーの行動、音声パターン、感情、音声、などのようなユーザー特有の行動の特徴を検出し得る。本システムは、気質を視覚表示に適用するとき、それらの特徴をユーザーの視覚表示に適用する。例えば、本システムが、行動を反映するためにユーザーの行動を識別し、発話を含む動画を選択した場合、視覚表示の音声は、ユーザーの音声パターンからパターン化され得るか又はユーザーの自己音声の録音でさえあり得る。
【0150】
[0157]本システムは、ユーザーに関連付けられたアバターをレンダリングし得、(810)において、ユーザーの行動を代表する動画をユーザーのアバターに適用し得る。(808)において、本システムは、文脈上の状況を識別し得る。文脈上の状況は、ユーザーの物理的な環境の状況、ユーザーの仮想的な環境の状況、システムの状態、アプリケーションの状態、アプリケーションにおけるユーザーの成功、アプリケーションにおけるユーザーの不成功、ユーザーのアクティブな状態/非アクティブな状態、第2のユーザーの存在又はジェスチャなど、を含み得る。文脈上の状況をデータの履歴と比較することによって、本システムは、データの履歴と文脈上の状況との間の任意の相関関係を識別し得る。相関関係が識別された場合、本システムは、文脈上の状況に対応しているユーザーの行動を代表する動画を選択し得る。
【0151】
[0158]図9は、ユーザーのアバターに動画を適用するための方法を示している。ユーザーが物理的な空間内に存在しているか否かに関係なく、動画は適用され得る。かくして、本システムは、ユーザーの類似物を有しユーザーに従って行動するアバターの形式でユーザーを反映するものを提供し得る。ユーザーが物理的な空間内に存在しない場合などユーザーがアプリケーション/システムと情報のやり取りをしない場合であっても、ユーザーのアバターはユーザーを表し得る。(902)において、本システムは、ユーザーの視覚表示をレンダリングする。図8に記載したアバターライブラリーに格納された情報に基づいて、動画が、ユーザーに対応する、ユーザーのアバターに適用され得る。
【0152】
[0159](904)において、本システムは、その特定ユーザーの学習した入力に対応するアバターに適用するための動画を選択し得る。(906)において、ユーザーが物理的な空間内に物理的に存在しない場合、本システムが学習した、そのユーザーに関連付けられたアバターライブラリーに格納されている動画が、ユーザーの行動に対応し得る。かくして、ユーザーが、キャプチャ装置によってキャプチャするために、物理的な空間内に存在しない場合であっても、アバターは、ユーザーと類似した方法で行動するように見ることができる。第2のユーザーは、本システムが、第1のユーザーとの体験をシミュレーションするために物理的に存在しないユーザーの視覚表示をレンダリングするようにリクエストし得る。
【0153】
[0160](908)において、ユーザーが存在している場合、動画は、アバターライブラリーから選択され得るか又は本システムによってキャプチャされた物理的な空間内のユーザーに直接マッピングされ得る。動画はアバターライブラリーから選択され得、ユーザーのデータの履歴から識別されたユーザーの行動を代表し得る。かくして、動画は、本システムによって前にキャプチャされた行動の識別に基づいて選択され得る。ユーザーが物理的な空間内に存在していて、ユーザーに関連するデータがキャプチャ装置によってキャプチャされている場合であっても、アバターをユーザーに直接マッピングする代わりにアバターライブラリーから動画を適用することが望まれ得る。
【0154】
[0161]実施形態例において、アバターに適用される動画は、例えば、プログラム、アプリケーション、又はシステムが搭載する事前にパッケージ化された動画ライブラリーから選択された動画であり得る。選択される動画は、本システムが学習したユーザーの入力に対応しているものであり得る。別の実施形態例において、ライブラリーの動画は、ユーザーによって入力されアバターの動画のボキャブラリーに記録された動画であり得る。例えば、本システム又はユーザーは、例えば、キャプチャ装置によってキャプチャされたユーザーの実際の動作又は行動を反映するように、動画を再プログラムし得る。かくして、動画が、アバターの動画ライブラリーに追加又は上書きされ得る。時間とともに、仮想的な空間内のアバターが、ユーザーの特徴、行動、傾向、音声パターンなどを含む、物理的な空間内のユーザーを反映したものになるように見え得る。
【0155】
[0162]本明細書に記載した構成及び/又は手法は、本来、例示的であって、これらの具体的な実施形態又は例は、限定している意味として考えられないように理解されたい。本明細書に記載した特定のルーチン又は方法は、1つ以上の処理の戦略をいくつも示している。したがって、例示した様々な動作が、例示した順番、別の順番、並列などで実行され得る。同様に前述したプロセスの順序は変更され得る。
【0156】
[0163]更に、本開示が様々な図面に例示した特定の態様に関連して説明されているが一方、別の類似した態様が使用され得るか、又は本開示の同一機能を実行するための修正及び追加がそれから逸脱せずに説明した態様に対し実行され得ることが理解されよう。本開示の対象項目は、本明細書に開示した様々なプロセス、システム、及び構成、並びにその他の特徴、機能、動作、及び/又は特性に関する新規及び非新規の組み合わせ及び部分的な組み合わせすべて、並びにその同等物のいくつか及びすべてを含む。かくして、開示した実施形態の方法又は装置、又はいくつかの態様又はその一部は、フロッピーディスク、CD−ROM、ハードドライブ、又は別の任意の計算機可読記憶媒体など、実際の媒体で具体化されたプログラムコード(すなわち命令)形式を取り得る。プログラムコードがマシンによってロードされ実行されるとき、計算機のようなマシンが開示した実施形態を実施するように構成される機器になる。
【0157】
[0164]明示的に本明細書に説明した特定の実装に加えて、本明細書に開示した明細書の考慮から当業者には別の態様及び実装が明らかになろう。したがって、本開示は、単一の任意の態様に限定されるのではなく、むしろ添付の請求に従った全域及び範囲内で解釈される態様に限定されるべきである。例えば、本明細書に記載された様々な手順は、ハードウェア又はソフトウェア、又は双方の組み合わせで実装され得る。
【符号の説明】
【0158】
10 トラッキングシステム
12 計算環境
14 表示装置
16 視聴覚装置
18 ユーザー
20 キャプチャ装置
22 画像カメラコンポーネント
24 赤外線光コンポーネント
26 立体視(3−D)カメラ
28 RGBカメラ
30 マイクロフォン
32 プロセッサー
34 メモリーコンポーネント
36 通信リンク
38 ボクシングの対戦相手
100 マルチメディアコンソール
101 中央演算処理装置(CPU)
102 レベル1キャッシュ
104 レベル2キャッシュ
106 フラッシュROM
108 画像処理装置(GPU)
110 メモリーコントローラー
112 メモリー
114 映像エンコーダー/映像コーデック(符号化器/デコーダー)
118 モジュール
120 I/Oコントローラー
122 システム管理コントローラー
123 音声処理装置
124 ネットワークインターフェースコントローラー
126 第1のUSBコントローラー
128 第2のUSBコントローラー
130 フロントパネルI/O部分組立品
132 音声コーデック
136 システム電力供給モジュール
138 ファン
140 伝送用A/V(音声/映像)ポート
142(1)周辺機器コントローラー
142(2)周辺機器コントローラー
143 システムメモリー
144 媒体ドライブ
146 外部記憶装置
148 無線アダプター
150 電源スイッチ
152 イジェクトボタン
190 ジェスチャ認識エンジン
191 ジェスチャフィルター
192 ジェスチャ認識ライブラリー
194 表示装置
195 プロセッサー
196 アバター動画ライブラリー
198 プロファイル
220 計算環境
221 システムバス
222 システムメモリー
223 読み出し専用メモリー(ROM)
224 基本入出力システム(BIOS)
225 オペレーティングシステム
226 アプリケーションプログラム
227 その他のプログラムモジュール
228 プログラムデータ
229 画像処理装置(GPU)
230 ビデオメモリー
231 グラフィックインターフェース
232 ビデオインターフェース
233 周辺出力インターフェース
234 取り外し不可能不揮発性メモリーインターフェース
235 取り外し可能不揮発性メモリーインターフェース
236 ユーザー入力インターフェース
237 ネットワークインターフェース
238 ハードディスクドライブ
239 磁気ディスクドライブ
240 光学式ディスクドライブ
241 計算機
242 モニター
243 プリンター
244 スピーカー
245 ローカルエリアネットワーク(LAN)
246 リモートコンピューター
247 メモリー記憶装置
248 リモートアプリケーションプログラム
249 広域ネットワーク(WAN)
250 モデム
251 キーボード
252 ポインティングデバイス
253 取り外し可能不揮発性光学式ディスク
254 取り外し可能不揮発性磁気ディスク
255 プログラムデータ
256 その他のプログラムモジュール(複数)
257 アプリケーションプログラム(複数)
258 オペレーティングシステム
259 演算処理装置(単数又は複数)
260 ランダムアクセスメモリー(RAM)
502a 手
502b 手
504a 前腕
505b 前腕
506a 肘
506b 肘
508a 二頭筋
508b 二頭筋
510a 肩
510b 肩
512a 臀部
512b 臀部
514a 大腿部
514b 大腿部
516 膝
516a 膝
516b 膝
518a 前脚
518b 前脚
518n 前脚
520 足
520a 足
520b 足
522a 頭
522b 頭
522n 頭
524 胴
526 上部脊椎
526n 上部脊椎
528 下部脊椎
528n 下部脊椎
530 腰
601a 物理的な空間
601b 物理的な空間
602a ユーザー
602b ユーザー
603 ユーザー
606a アバター
606b アバター
607 ボール
608 キャプチャ装置
609 ネット
610 計算機
611 アバター
612a 表示装置
612b 表示装置
1002a ユーザー#1のアバター
1002b ユーザー#2のアバター

【特許請求の範囲】
【請求項1】
動画を視覚表示に適用するための方法であって、
ユーザーの前記視覚表示をレンダリングするステップと、
ユーザーのデータの履歴から識別されたユーザーの行動を代表するアバターライブラリーから動画を選択するステップであって、前記ユーザーのデータの履歴が、物理的な空間から以前にキャプチャされたユーザーのデータを含むものと、
前記アバターライブラリーからの前記動画を前記ユーザーの前記視覚表示に適用するステップと、を含む方法。
【請求項2】
前記物理的な空間内の前記ユーザーが、キャプチャ装置によってキャプチャ可能でないとき、前記アバターライブラリーからの前記動画が、前記視覚表示に適用されることを特徴とする請求項1記載の方法。
【請求項3】
前記キャプチャ可能でないユーザーが、第1のユーザーであって、前記第1のユーザーの前記視覚表示が、第2のユーザーに対しレンダリングするように構成されることを特徴とする請求項2記載の方法。
【請求項4】
前記アバターライブラリーから選択され前記ユーザーの視覚表示に適用される前記動画が、前記物理的な空間内に存在している前記ユーザーのキャプチャ装置によって現在キャプチャされるデータに対応しないことを特徴とする請求項1記載の方法。
【請求項5】
更に、キャプチャ装置によってキャプチャされた前記ユーザーの動作に対応するように、前記アバターライブラリー内の前記動画を書き換えるステップを含む請求項1記載の方法。
【請求項6】
前記動画を書き換えるステップが、前記物理的な空間内のユーザーのジェスチャによって促されることを特徴とする請求項5記載の方法。
【請求項7】
キャプチャ装置によってキャプチャされた行動のデータを格納するための方法が、
物理的な空間のデータを受信するステップであって、前記データが、前記物理的な空間内のユーザーを代表するものと、
前記データからユーザーの行動を示す特性を識別するステップと、
前記ユーザーの行動を示す前記特性の履歴を格納するステップと、を含む方法。
【請求項8】
更に、前記ユーザーに関連付けられたアバターに動画を適用するステップであって、前記動画が、アバターライブラリーから提供され、前記データの履歴から識別された前記ユーザーの行動を代表しているもの、を含む請求項7記載の方法。
【請求項9】
更に、前記ユーザーの行動を示す前記特性の少なくとも1つを前記文脈上の状況と相互に関連付けることによって、前記ユーザーの行動を文脈上の状況と相互に関連付けるステップを含む請求項7記載の方法。
【請求項10】
文脈上の状況が、ユーザーの物理的な環境の状況、ユーザーの仮想的な環境の状況、システムの状態、アプリケーションの状態、アプリケーションにおける前記ユーザーの成功、アプリケーションにおける前記ユーザーの不成功、前記ユーザーのアクティブな状態/非アクティブな状態、第2のユーザーの存在、又はジェスチャ、のうち少なくとも1つを含むことを特徴とする請求項7記載の方法。
【請求項11】
更に、
文脈上の状況を識別するステップと、
前記文脈上の状況を前記ユーザーの行動を示す前記特性の前記履歴と比較し、前記ユーザーの行動を示す前記特性の少なくとも1つと前記文脈上の状況との間の相関関係を識別するステップと、
前記文脈上の状況に対応する前記ユーザーの行動を代表する動画を動画ライブラリーから選択するステップと、を含む請求項10記載の方法。
【請求項12】
更に、前記アバターライブラリーに動画を追加するステップ又は書き換えるステップのうち少なくとも1つのステップを含んでいて、
前記アバターライブラリーが、事前にパッケージ化されたアバターライブラリーであって、動画を書き換えるステップが、前記事前にパッケージ化されたアバターライブラリーの動画を、前記ユーザーの行動を示す前記特性履歴に対応するように書き換えるステップであることと、
前記動画を前記アバターライブラリーに追加するステップが、前記物理的な空間内のユーザーの動作を記録するステップと前記ユーザーの動作を代表する動画を前記アバターライブラリーに追加するステップとを含むことと、を特徴とする請求項7記載の方法。
【請求項13】
更に、前記動画を前記アバターライブラリーに追加する前に前記動画を検証するステップを含む請求項12記載の方法。
【請求項14】
前記ユーザーの行動を示す前記特性が、物理的な特性、顔の特徴、スピーチパターン、言葉遣い、音声コマンド、ジェスチャ、動作、又は体位、のうち少なくとも1つを含むことを特徴とする請求項7記載の方法。
【請求項15】
前記データからユーザーの行動の特性を識別するステップが、前記ユーザーの自然な行動に関連付けられる特性を受動的に識別するステップ又はユーザーのジェスチャに関連付けられた特性を能動的に識別するステップを含むことを特徴とする請求項7記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5A】
image rotate

【図5B】
image rotate

【図6A】
image rotate

【図6B】
image rotate

【図7A】
image rotate

【図7B】
image rotate

【図8】
image rotate

【図9】
image rotate


【公表番号】特表2012−533134(P2012−533134A)
【公表日】平成24年12月20日(2012.12.20)
【国際特許分類】
【出願番号】特願2012−520690(P2012−520690)
【出願日】平成22年7月12日(2010.7.12)
【国際出願番号】PCT/US2010/041637
【国際公開番号】WO2011/008659
【国際公開日】平成23年1月20日(2011.1.20)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.HDMI
2.イーサネット
3.フロッピー
【出願人】(500046438)マイクロソフト コーポレーション (3,165)
【Fターム(参考)】