(57)【特許請求の範囲】
【請求項１】
シーンにおけるユーザーの動作をキャプチャするための装置であって、
前記シーンの深度画像を受信するカメラコンポーネントと、
計算機実行可能命令を実行するプロセッサーと、を含んでいて、前記計算機実行可能命令が、
前記カメラコンポーネントから前記シーンの前記深度画像を受信するステップと、
前記深度画像内にキャプチャされた前記ユーザーと関連付けられたモデルを生成するステップであって、
前記深度画像内にキャプチャされたオブジェクトを前記オブジェクトの周囲
の前記深度画像から抽出し、
前記オブジェクトを、前記モデルと関連付けられたパターンと比較し、
前記オブジェクトと前記パターンとの比較の結果に基づいて前記オブジェク
トを分離し、
分離された前記オブジェクトの各部分を測定し、
測定値を格納することによってデータ構造を生成し、
前記データ構造に基づいて前記モデルの特徴を決定する、ステップと、
前記ユーザーによる動作を模倣するように、前記ユーザーによる動作に応答して前記モデルを調整することによって、前記モデルをトラッキングするステップと、
前記トラッキングされたモデルに基づいて前記ユーザーの動作に関するモーションキャプチャファイルを生成するステップと、
を実行する命令を含むことを特徴とする装置。
【請求項２】
前記ユーザーによる前記動作が、物理空間における前記ユーザーに関連付けられた体の１つ以上の部分の１つ以上の動作を含むことを特徴とする請求項１記載の装置。
【請求項３】
前記トラッキングされたモデルに基づいて、前記ユーザーの前記動作に関する前記モーションキャプチャファイルを生成するステップに関する前記命令が、
前記ユーザーによる前記動作に応答し、前記トラッキングされたモデルの第１のポーズをキャプチャするステップと、
前記トラッキングされたモデルの前記第１のポーズを含む前記モーションキャプチャファイル内の第１のタイムスタンプで第１のフレームをレンダリングするステップと、
を実行する命令を含むことを特徴とする請求項１又は２記載の装置。
【請求項４】
前記トラッキングされたモデルに基づいて、前記ユーザーの前記動作に関する前記モーションキャプチャファイルを生成するステップに関する前記命令が、
前記ユーザーによる前記動作に応答し、前記トラッキングされたモデルの第２のポーズをキャプチャするステップと、
前記トラッキングされたモデルの前記第２のポーズを含む前記モーションキャプチャファイル中の第２のタイムスタンプで第２のフレームをレンダリングするステップと、
を実行する命令を含む請求項３記載の装置。
【請求項５】
前記第１のフレーム及び前記第２のフレームが、前記第１のタイムスタンプ及び前記第２のタイムスタンプに対応する連続した時間順に前記モーションキャプチャファイルにレンダリングされることを特徴とする請求項４記載の装置。
【請求項６】
前記モデルが、関節と骨を有する骨格モデルを含むことを特徴とする請求項５記載の装置。
【請求項７】
前記第１のフレームが、前記第１のポーズにおける前記関節と前記骨を定義している第１のベクトル集合を含むことと、前記第２のフレームが、前記第２のポーズにおける前記関節と前記骨を定義している第２のベクトル集合を含むことと、を特徴とする請求項６記載の装置。
【請求項８】
シーンにおけるユーザーの動作をキャプチャするための計算機実行可能命令がストアされる計算機可読記憶媒体であって、前記計算機実行可能命令が、
前記シーンにおける深度画像を受信するステップと、
前記深度画像内にキャプチャされた前記ユーザーと関連付けられたモデルを生成するステップであって、
前記深度画像内にキャプチャされたオブジェクトを前記オブジェクトの周囲
の前記深度画像から抽出し、
前記オブジェクトを、前記モデルと関連付けられたパターンと比較し、
前記オブジェクトと前記パターンとの比較の結果に基づいて前記オブジェク
トを分離し、
分離された前記オブジェクトの各部分を測定し、
測定値を格納することによってデータ構造を生成し、
前記データ構造に基づいて前記モデルの特徴を決定する、ステップと、
前記ユーザーによる動作を模倣するように、前記ユーザーによる動作に応答して前記モデルを調整することによって、前記モデルをトラッキングするステップと、
前記トラッキングされたモデルに基づいて、前記ユーザーの動作に関するモーションキャプチャファイルを生成するステップと、
を実行する命令を含むことを特徴とする計算機可読記憶媒体。
【請求項９】
前記ユーザーによる前記動作が、物理空間における前記ユーザーに関連付けられた体の１つ以上の部分の１つ以上の動作を含むことを特徴とする請求項８記載の計算機可読記憶媒体。
【請求項１０】
前記トラッキングされたモデルに基づいて、前記ユーザーの前記動作に関する前記モーションキャプチャファイルを生成するステップに関する前記命令が更に、
前記トラッキングされたモデルのポーズをキャプチャするステップと、
前記トラッキングされたモデルの前記ポーズを含む前記モーションキャプチャファイル内のフレームをレンダリングするステップと、
を実行する命令を含むことを特徴とする請求項８又は９記載の計算機可読記憶媒体。
【請求項１１】
前記モデルが、関節と骨を有する骨格モデルを含むことを特徴とする請求項１０記載の計算機可読記憶媒体。
【請求項１２】
更に、
前記モデルの前記関節及び前記骨をアバターの特定部分へマッピングするステップと、
前記トラッキングされたモデルにおける前記関節と前記骨の動作を模倣するように前記アバターの前記特定部分を動画化するステップと、
を実行する命令を含む請求項１１記載の計算機可読媒体。
【請求項１３】
ユーザーのモデルをレンダリングするためのシステムであって、
シーンの深度画像を受信するカメラコンポーネントを含むキャプチャ装置と、
前記キャプチャ装置と作用的に通信する計算装置を含んでいて、前記計算装置が、
前記深度画像内にキャプチャされたオブジェクトを前記オブジェクトの周囲
の前記深度画像から抽出し、
前記オブジェクトを、前記モデルと関連付けられたパターンと比較し、
前記オブジェクトと前記パターンとの比較の結果に基づいて前記オブジェク
トを分離し、
分離された前記オブジェクトの各部分を測定し、
測定値を格納することによってデータ構造を生成し、
前記データ構造に基づいて前記モデルの特徴を決定することによって、
前記深度画像内にキャプチャされた前記ユーザーのモデルを生成し、
前記ユーザーによる動作を模倣するように、前記ユーザーによる動作に応答して前記モデルを調整することによって前記モデルをトラッキングし、
前記トラッキングされたモデルに基づいて前記ユーザーの前記動作に関するモーションキャプチャファイルを生成するプロセッサーを含んでいることを特徴とするシステム。
【請求項１４】
前記モデルが、関節と骨を有する骨格モデルを含み、前記プロセッサーが、前記モデルの関節及び骨を前記アバターの特定部分へマッピングし、前記トラッキングされたモデルの前記関節及び前記骨に適用される前記ユーザーの動作を模倣するように前記アバターの前記特定部分を動画化することによって、前記モーションキャプチャファイルを前記アバターに適用することを特徴とする請求項１３記載のシステム。
【請求項１５】
前記計算装置が更に、その上にストアされるジェスチャライブラリーを含むことと、前記プロセッサーが、前記トラッキングされたモデルに適用される前記１つ以上動作を前記ジェスチャライブラリーと比較し、前記モーションキャプチャファイルを前記アバターに適用するか否か決定することと、を特徴とする請求項１３又は１４記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピューターゲーム、マルチメディアアプリケーションに関し、具体的にはモーションキャプチャ技法に関する。
【背景技術】
【０００２】
[0001]コンピューターゲーム、マルチメディアアプリケーションなどのような多くのコンピューティングアプリケーションは、典型的なモーションキャプチャ技法を使用して動画（アニメ）化されるアバター又は登場人物を含んでいる。例えばゴルフゲームの開発時、プロゴルファーが、例えばスタジオ内の特定の場所に向けられた複数のカメラを含むモーションキャプチャ機器を有するスタジオへ連れて来られる。その後、プロゴルファーは、カメラを用いて構成されてトラッキングされ得る複数の点指標を有するモーションキャプチャスーツを着せられ得、カメラが、例えばプロゴルファーのゴルフ動作をキャプチャし得る。その後、動作が、ゴルフゲームの開発中にアバター又は登場人物に適用され得る。その後、ゴルフゲームが完成すると、アバター又は登場人物が、ゴルフゲーム実行中、プロゴルファーの動作を用いて動画化され得る。残念ながら典型的モーションキャプチャ技法は高価であって、特定のアプリケーション開発と結合され、アプリケーションの実際のプレーヤー又はユーザーに関連付けられた動作を含んでいない。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明の目的は、ゲームユーザーによる動作を模倣するように調整可能なユーザーのモデルを生成するモーションキャプチャ技法及びシステムを提供することである。
【課題を解決するための手段】
【０００４】
[0002]本明細書に開示されるものは、シーンにおけるユーザーの動作をキャプチャするためのシステム及び方法である。例えば、シーンの奥行きなどの画像が、受信又は観察され得る。その後、深度画像が解析され得、画像がユーザーに関連付けられるヒューマンターゲットを含んでいるか否か決定する。画像がユーザーに関連付けられるヒューマンターゲットを含んでいる場合、ユーザーのモデルが生成され得る。その後、モデルが、ユーザーの動作に応答しトラッキングされ得、モデルがユーザーの動作を模倣するように調整され得る。例えば、モデルは、物理空間におけるユーザーの動作に相当するポーズに調整され得る関節と骨を有する骨格モデルであり得る。実施形態例によるユーザーの動作に関するモーションキャプチャファイルが、その後、トラッキングされたモデルに基づいてリアルタイムに生成され得る。例えば、調整されたモデルのポーズそれぞれに関する関節と骨を定義したベクトル集合が、キャプチャされ、モーションキャプチャファイルにレンダリングされ得る。
【０００５】
[0003]この「課題を解決するための手段」は更に、「発明を実施するための形態」に後述される概念のいくつかを簡易化した形式で紹介するために提供される。この「課題を解決するための手段」は、請求対象項目の重要な機能も本質的な特徴も特定するように意図されておらず、請求対象項目の範囲を限定するために利用されることも意図されていない。更に、請求対象項目は、この開示の任意の一部に記述した不都合点のいくつか又はすべてを解決する実装に限定されない。
【図面の簡単な説明】
【０００６】
【図１Ａ】[0004]ゲームをプレーしているユーザーと目標認識、解析、及びトラッキングシステムの実施形態例を示している。
【図１Ｂ】[0004]ゲームをプレーしているユーザーと目標認識、解析、及びトラッキングシステムの実施形態例を示している。
【図２】[0005]図２は、目標認識、解析、及びトラッキングシステムにおいて使用され得るキャプチャ装置の実施形態例を示している。
【図３】[0006]図３は、目標認識、解析、及びトラッキングシステムにおいて１つ以上のジェスチャを解釈し、及び／又は目標認識、解析、及びトラッキングシステムによって表示されるアバター又は画面上の登場人物を動画化するために使用され得る計算環境の実施形態例を示している。
【図４】[0007]図４は、目標認識、解析、及びトラッキングシステムにおいて１つ以上のジェスチャを解釈し、及び／又は目標認識、解析、及びトラッキングシステムによって表示されるアバター又は画面上の登場人物を動画化するために使用され得る別の計算環境の実施形態例を示している。
【図５】[0008]図５は、ヒューマンターゲットの動作をキャプチャするための方法例の流れ図を表している。
【図６】[0009]図６は、ヒューマンターゲットを含み得る画像の実施形態例を示している。
【図７】[0010]図７は、ヒューマンターゲットに関し生成され得るモデルの実施形態例を示している。
【図８Ａ】[0011]時間内の様々な時点においてキャプチャされ得るモデルの実施形態例を示している。
【図８Ｂ】[0011]時間内の様々な時点においてキャプチャされ得るモデルの実施形態例を示している。
【図８Ｃ】[0011]時間内の様々な時点においてキャプチャされ得るモデルの実施形態例を示している。
【図９Ａ】[0012]時間内の様々な時点においてキャプチャされ得るモデルに基づいて動画化され得るアバター又はゲーム上の登場人物の実施形態例を示している。
【図９Ｂ】[0012]時間内の様々な時点においてキャプチャされ得るモデルに基づいて動画化され得るアバター又はゲーム上の登場人物の実施形態例を示している。
【図９Ｃ】[0012]時間内の様々な時点においてキャプチャされ得るモデルに基づいて動画化され得るアバター又はゲーム上の登場人物の実施形態例を示している。
【発明を実施するための形態】
【０００７】
[0013]本明細書に記述されるユーザーは、１つ以上のジェスチャ及び／又は動作を実行することによって、ゲーム機、計算機などのような計算環境上で実行するアプリケーションを制御し得、及び／又はアバター又は画面上の登場人物を動画化し得る。一実施形態によるジェスチャ及び／又は動作が、例えばキャプチャ装置によって受信され得る。例えば、キャプチャ装置がシーンの深度画像をキャプチャし得る。一実施形態において、キャプチャ装置は、シーンにおける目標又は被写体の１つ以上が、ユーザーのようなヒューマンターゲットに相当するか否か決定し得る。その後、ヒューマンターゲット相当に一致する目標又は被写体それぞれが、スキャンされ得、それに関連付けられた骨格モデル、ヒューマンメッシュモデルなどのようなモデルを生成し得る。その後、モデルが計算環境に提供され得、計算環境がモデルをトラッキングし、トラッキングされたモデルに関するモーションキャプチャファイルを生成し、モデルと関連付けられたアバターをレンダリングし、トラッキングされたモデルに関するモーションキャプチャファイルに基づいてアバターを動画化し、及び／又はトラッキングされたモデルに基づいて例えば、計算機環境上で実行しているアプリケーションにおいて実行するコントローラーを決定する。
【０００８】
[0014]図１Ａ及び図１Ｂは、ボクシングゲームをプレーしているユーザー（１８）と目標認識、解析、及びトラッキングシステム（１０）構成の実施形態例を示している。実施形態例において、目標認識、解析、及びトラッキングシステム（１０）が、ユーザー（１８）のようなヒューマンターゲットを認識し、解析し、及び／又はトラッキングするために使用され得る。
【０００９】
[0015]図１Ａのように目標認識、解析、及びトラッキングシステム（１０）は、計算環境（１２）を含み得る。計算環境（１２）は、計算機、ゲームシステム、又はゲーム機などであり得る。実施形態例による計算環境（１２）は、ハードウェアコンポーネント及び／又はソフトウェアコンポーネントを含み得、計算環境（１２）が、ゲームアプリケーション、非ゲームアプリケーションなどのようなアプリケーションを実行するために使用され得る。一実施形態において、計算環境（１２）は、標準プロセッサー、専用プロセッサー、マイクロプロセッサーなどのようなプロセッサーを含み得、例えば、画像を受信し、キャプチャされたユーザーのモデルを画像内に生成し、モデルをトラッキングし、トラッキングされたモデルに基づいてモーションキャプチャファイルを生成し、モーションキャプチャファイルを適用する、ことに関する命令又はより詳細に後述される適切な別の任意の命令を含む命令を実行し得る。
【００１０】
[0016]図１Ａのように目標認識、解析、及びトラッキングシステム（１０）は更に、キャプチャ装置（２０）を含み得る。キャプチャ装置（２０）は、例えば、ユーザー（１８）のような１人以上のユーザーを視覚的に監視するために使用され得るカメラであり得、１人以上のユーザーによって実行されるジェスチャ及び／又は動作が、キャプチャされ得、解析され得、トラッキングされ得、アプリケーション内において１つ以上のコントロール又は動作を実行し得、及び／又はより詳細に後述されるようにアバター又は画面上の登場人物を動画化し得る。
【００１１】
[0017]一実施形態による目標認識、解析、及びトラッキングシステム（１０）は、テレビ、モニター、ハイビジョンテレビ（ＨＤＴＶ）などのような視聴覚装置（１６）と接続され得、ゲーム、又は映像アプリケーション及び／又は音声アプリケーションをユーザー（１８）のようなユーザーに提供し得る。例えば、計算環境（１２）は、グラフィックカードなどのビデオアダプター及び／又はサウンドカードなどの音声アダプターを含み得、ゲームアプリケーション、非ゲームアプリケーションなどに関連する視聴覚信号を提供し得る。視聴覚装置（１６）は、計算環境（１２）から視聴覚信号を受信し得、その後、視聴覚信号と関連付けられたゲーム、又は映像アプリケーション及び／又は音声アプリケーションをユーザー（１８）へ出力し得る。一実施形態による視聴覚装置（１６）は、例えば、Ｓ−Ｖｉｄｅｏケーブル、同軸ケーブル、ＨＤＭＩケーブル、ＤＶＩケーブル、ＶＧＡケーブルなどを介し計算環境（１２）と接続され得る。
【００１２】
[0018]図１Ａ及び図１Ｂのような目標認識、解析、及びトラッキングシステム（１０）が、ユーザー（１８）のようなヒューマンターゲットを認識し、解析し、及び／又はトラッキングするために使用され得る。例えば、ユーザー（１８）が、キャプチャ装置（２０）を使用しトラッキングされ得、ユーザー（１８）のジェスチャ及び／又は動作が、キャプチャされ得、スクリーン上のアバター又は登場人物を動画化し、及び／又は計算機環境（１２）によって実行されるアプリケーションに作用するために使用され得るコントロールとして解釈され得る。かくして一実施形態によるユーザー（１８）は、彼又は彼女の体を動かし、アプリケーションを制御し、及び／又はアバター又は画面上の登場人物を動画化し得る。
【００１３】
[0019]図１Ａ及び図１Ｂのような実施形態例において、計算環境（１２）上で実行しているアプリケーションは、ユーザー（１８）がプレー中のボクシングゲームであり得る。例えば、計算環境（１２）は、ボクシングの対戦相手（３８）の視覚的表示をユーザー（１８）に提供するための視聴覚装置（１６）を使用し得る。計算環境（１２）は、ユーザー（１８）が彼又は彼女の動作を使って制御し得るプレーヤーのアバター（４０）の視覚表示を提供するためにも視聴覚装置（１６）を使用し得る。例えば、図１Ｂのようにユーザー（１８）は、物理空間にパンチを食らわし、プレーヤーのアバター（４０）が、ゲーム空間にパンチを食らわすことをもたらし得る。かくして、実施形態例による計算機環境（１２）及び目標認識、解析、及びトラッキングシステム（１０）のキャプチャ装置（２０）が、物理空間においてユーザー（１８）のパンチを認識し、解析するために使用され得、パンチが、ゲーム空間においてプレーヤーのアバター（４０）のゲームコントロールとして解釈され得、及び／又はパンチの動作が、ゲーム空間においてプレーヤーのアバター（４０）を動画化するために使用され得る。
【００１４】
[0020]素速く上下する、曲がって進む、足を引きずって歩く、妨害する、ジャブで突く、又は異なる様々なパンチ力で食らわすためのコントロールのようなユーザー（１８）による別の動作も別のコントロール又は動作として解釈され得、及び／又はプレーヤーのアバターを動画化するために使用され得る。更に、動作の中には、プレーヤーのアバター（４０）の制御以外の動作に相当し得るコントロールとして解釈され得るものもある。例えば、ゲームの終了、停止、セーブ、レベルの選択、高得点の閲覧、又は友人との通信など実行するための動作をプレーヤーは使用し得る。加えると、ユーザー（１８）の動作の範囲すべてが利用可能であって、使用され、アプリケーションと対話するために適切な任意の方法で解析され得る。
【００１５】
[0021]実施形態例において、ユーザー（１８）のようなヒューマンターゲットは、物体を有し得る。上記の実施形態において、コンピューターゲームのユーザーは物体を手に持つ場合があって、プレーヤーの動作と物体とが、ゲームのパラメーターを調整し及び／又は制御するために使用され得る。例えば、ラケットを手に持つプレーヤーの動作が、コンピュータースポーツゲームにおいて、スクリーン上のラケットを制御するためにトラッキングされ、利用され得る。別の実施形態例において、物体を手に持つプレーヤーの動作が、コンピューターの戦闘ゲームにおいて、スクリーン上の兵器を制御するためにトラッキングされ得、利用され得る。
【００１６】
[0022]別の実施形態例による目標認識、解析、及びトラッキングするシステム（１０）が更に、オペレーティングシステム及び／又はゲーム分野以外のアプリケーションの制御装置として目標の動作を解釈するために利用され得る。例えば、実際に制御可能な任意のオペレーティングシステム及び／又はアプリケーションの態様が、ユーザー（１８）のような目標の動作によって制御され得る。
【００１７】
[0023]図２は、目標認識、解析、及びトラッキングシステム（１０）に使用され得るキャプチャ装置（２０）の実施形態例を示している。実施形態例によるキャプチャ装置（２０）は、例えば、飛行時間技法、構造光技法、ステレオ画像技法などを含む適切な任意の技法を介し、深度値を含み得る深度画像を含む深度情報を有する映像をキャプチャするように構成され得る。一実施形態によるキャプチャ装置（２０）は、深度情報を「Ｚレイヤ」又はその照準線に沿ってデプスカメラから延長したＺ軸に垂直であり得るレイヤへ組織化し得る。
【００１８】
[0024]図２のようにキャプチャ装置（２０）は画像カメラコンポーネント（２２）を含み得る。実施形態例による画像カメラコンポーネント（２２）は、シーンの深度画像をキャプチャするデプスカメラであり得る。深度画像は、キャプチャされたシーンの二次元（２−Ｄ）画素領域を含み得、２−Ｄ画素領域の画素それぞれが、カメラからキャプチャされたシーンの例えば、センチメートル、ミリメートルで被写体の長さ又は距離などのような深度値を示し得る。
【００１９】
[0025]図２のように実施形態例による画像カメラコンポーネント（２２）は、シーンの深度画像をキャプチャするために使用され得る赤外線光コンポーネント（２４）、３−Ｄカメラ（２６）、及びＲＧＢカメラ（２８）を含み得る。例えば、飛行時間解析においてキャプチャ装置（２０）の赤外線光コンポーネント（２４）は、赤外光をシーンに放射し得、その後、（示されていない）センサーを使用し、例えば、３−Ｄカメラ（２６）及び／又はＲＧＢカメラ（２８）を使用し、シーンにおける目標及び被写体の１つ以上の表面から後方散乱光を検出する。実施形態の中には、赤外線パルス光が使用され得るものもあって、出射パルス光と応答着信パルス光との間の時間が測定され得、キャプチャ装置（２０）からシーンにおける目標又は被写体上の特定の位置までの物理的距離を決定するために使用され得る。加えると、別の実施形態例の中には出射パルス光波の位相が、位相変動を決定する着信光波の位相と比較され得るものもある。その後、位相変動が、キャプチャ装置から目標又は被写体上の特定の位置までの物理的距離を決定するために使用され得る。
【００２０】
[0026]別の実施形態例による飛行解析時間が使用され得、例えば、シャッターパルス光画像化を含む様々な技法を介し、長い時間をかけて反射される光線強度を解析することによってキャプチャ装置（２０）から目標又は被写体上の特定位置までの物理的距離を間接的に決定し得る。
【００２１】
[0027]
別の実施形態例において、キャプチャ装置（２０）は、深度情報をキャプチャするために構造光を使用し得る。そのような解析において、パターン光（すなわち、周知のグリッドパターン又は縞模様のようなパターンとして表示される光）が、例えば、赤外線光コンポーネント（２４）を介しシーン上に映し出され得る。シーンにおいて目標又は被写体１つ以上の表面を叩くと、それに応じてパターンが変形する。そのようなパターンの変形が、例えば、３−Ｄカメラ（２６）及び／又はＲＧＢカメラ（２８）によってキャプチャされ得、その後、キャプチャ装置から目標又は被写体上の特定位置までの物理的距離を決定するために解析され得る。
【００２２】
[0028]別の実施形態によるキャプチャ装置（２０）は、分解され得る視覚的ステレオデータを取得し深度情報を生成するために、異なる角度からシーンを眺め得る物理的に別個の２つ以上のカメラを含み得る。
【００２３】
[0029]キャプチャ装置（２０）は更に、マイクロフォン（３０）を含み得る。マイクロフォン（３０）は、音声を受信し電気的信号に変換し得る変換器又はセンサーを含み得る。一実施形態によるマイクロフォン（３０）は、目標認識、解析、及びトラッキングシステム（１０）のキャプチャ装置（２０）と計算環境（１２）との間のフィードバックを減少させるために使用され得る。加えると、マイクロフォン（３０）は、計算環境（１２）によって実行されるゲームアプリケーション、非ゲームのアプリケーションなどのようなアプリケーションを制御するためのユーザーによって提供され得る音声信号を受信するためにも使用され得る。
【００２４】
[0030]実施形態例において、キャプチャ装置（２０）は更に、画像カメラコンポーネント（２２）と作用し通信し得るプロセッサー（３２）を含み得る。プロセッサー（３２）は、標準プロセッサー、専用プロセッサー、マイクロプロセッサーなどを含み得、例えば、画像を受信、キャプチャされたユーザーのモデルを画像内に生成、モデルをトラッキング、トラッキングされたモデルに基づいてモーションキャプチャファイルを生成、モーションキャプチャファイルに適用、するための命令又はより詳細に後述される別の適切な任意の命令を含む命令を実行し得る。
【００２５】
[0031]キャプチャ装置（２０）は更に、メモリーコンポーネント（３４）を含み得、プロセッサー（３２）によって実行される命令、３−Ｄカメラ若しくはＲＧＢカメラによってキャプチャされる画像、又は画像フレーム、又は別の適切な任意の情報、画像などをストアし得る。実施形態例によるメモリーコンポーネント（３４）は、ランダムアクセスメモリー（ＲＡＭ）、読み出し専用メモリー（ＲＯＭ）、キャッシュメモリー、フラッシュメモリー、ハードディスク、又は別の適切な任意のストレージコンポーネントを含み得る。図２のように一実施形態において、メモリーコンポーネント（３４）は、画像キャプチャコンポーネント（２２）及びプロセッサー（３２）と通信する別個のコンポーネントであり得る。別の実施形態によるメモリーコンポーネント（３４）は、プロセッサー（３２）及び／又は画像キャプチャコンポーネント（２２）に統合され得る。
【００２６】
[0032]図２のようにキャプチャ装置（２０）は、通信リンク（３６）を介し計算環境（１２）と通信し得る。通信リンク（３６）は、例えば、ＵＳＢ接続、ファイヤーワイヤー接続、イーサネットケーブル接続などを含む有線接続、及び／又は無線８０２．１１ｂ, １１g, １１a, 又は１１ｎ接続などの無線接続であり得る。一実施形態による計算環境（１２）が、例えば、通信リンク（３６）を介し、シーンをいつキャプチャにするか決定するために使用され得るクロックをキャプチャ装置（２０）に提供し得る。
【００２７】
[0033]加えると、キャプチャ装置（２０）は、例えば、３−Ｄカメラ（２６）及び／又はＲＧＢカメラ（２８）によってキャプチャされた立体情報及び画像、及び／又はキャプチャ装置（２０）によって生成され得る骨格モデルを、通信リンク（３６）を介し計算環境（１２）に提供し得る。その後、計算環境（１２）が、モデル、立体情報、及びキャプチャされた画像を使用し得、例えば、ゲーム又はワードプロセッサーのようなアプリケーションを制御し得、及び／又はアバター又は画面上の登場人物を動画化し得る。例えば、図２のように計算環境（１２）は、ジェスチャライブラリー（１９０）を含み得る。ジェスチャライブラリー（１９０）は（ユーザーが動く）骨格モデルによって実行され得るジェスチャに関する情報をそれぞれ含むジェスチャフィルター集合を含み得る。カメラ（２６）、（２８）、及びキャプチャ装置（２０）によってキャプチャされた骨格モデル形式データ及びそれに関連付けられた動作が、（骨格モデルによって示される）ユーザーが１つ以上のジェスチャをいつ実行したか識別するために、ジェスチャライブラリー（１９０）ジェスチャのフィルターと比較され得る。これらのジェスチャは、様々なアプリケーションコントロールと関連付けられ得る。かくして計算環境（１２）が、骨格モデルの動作を解釈し、その動作に基づいてアプリケーションをコントロールするためにジェスチャライブラリー（１９０）を使用し得る。
【００２８】
[0034]図３は、目標認識、解析、及びトラッキングシステムにおいて、１つ以上のジェスチャを解釈し、及び／又は目標認識、解析、及びトラッキングシステムによって表示されるアバター又は画面上の登場人物を動画化するために使用され得る計算環境の実施形態例を示している。図１Ａ〜図２に関連し前述した計算環境（１２）のような計算環境は、ゲーム機などのマルチメディアコンソール（１００）であり得る。図３のようにマルチメディアコンソール（１００）は、レベル１キャッシュ（１０２）、レベル２キャッシュ（１０４）、及びフラッシュＲＯＭ（読み出し専用メモリー）（１０６）を有する中央演算処理装置（ＣＰＵ）（１０１）を有している。レベル１キャッシュ（１０２）及びレベル２キャッシュ（１０４）が、データを一時的にストアし、それによってメモリーアクセスサイクル数を減らし、その結果、処理速度及びスループットを改善する。２つ以上のコア、ひいては付加的なレベル１キャッシュ（１０２）及びレベル２キャッシュ（１０４）を有するＣＰＵ（１０１）が提供され得る。フラッシュＲＯＭ（１０６）は、マルチメディアコンソール（１００）が電源投入されたとき、ブートプロセスの初期段階の間、ロードされる実行プログラムをストアし得る。
【００２９】
[0035]グラフィック処理装置（ＧＰＵ）（１０８）及び映像エンコーダー／映像コーデック（符号化器／デコーダー）（１１４）が、高速かつ高解像度画像処理用の映像処理パイプラインを形成する。データが、画像処理装置（１０８）から映像エンコーダー／映像コーデック（１１４）へバスを介し伝達される。映像処理パイプラインは、テレビ又はその他のディスプレイへの伝送用Ａ／Ｖ（音声／映像）ポート（１４０）へデータを出力する。メモリーコントローラー（１１０）が、ＲＡＭ（ランダムアクセスメモリー）に限定しないが、そのような様々なタイプのメモリー（１１２）へのプロセッサーへのアクセスを容易にするＧＰＵ（１０８）と接続される。
【００３０】
[0036]マルチメディアコンソール（１００）は、Ｉ／Ｏコントローラー（１２０）、システム管理コントローラー（１２２）、音声処理装置（１２３）、ネットワークインターフェースコントローラー（１２４）、第１のＵＳＢホストコントローラー（１２６）、第２のＵＳＢコントローラー（１２８）、及び望ましくはモジュール（１１８）上に実装されるフロントパネルＩ／Ｏ部分組立体（１３０）を含む。ＵＳＢコントローラー（１２６）及び（１２８）は、周辺機器コントローラー（１４２（１）〜１４２（２））、無線アダプター（１４８）、及び外部記憶装置（１４６）（例えば、フラッシュメモリー、外付けＣＤ／ＤＶＤ  ＲＯＭドライブ、取り外し可能媒体など）に対しホスティングをする役目を果たす。ネットワークインターフェース（１２４）及び／又は無線アダプター（１４８）は、ネットワーク（例えば、インターネット、ホームネットワークなど）へのアクセスを提供し、イーサネットカード、モデム、ブルートゥースモジュール、ケーブルモデムなどを含む多種多様な有線又は無線アダプターコンポーネントのいずれかであり得る。
【００３１】
[0037]ブートプロセス中、ロードされるアプリケーションデータをストアするためのシステムメモリー（１４３）が提供される。媒体ドライブ（１４４）が提供され、ＤＶＤ／ＣＤドライブ、ハードドライブ、又はその他の取り外し可能媒体ドライブなどを含み得る。媒体ドライブ（１４４）は内蔵か又はマルチメディアコンソール（１００）に外付けであり得る。アプリケーションデータが、マルチメディアコンソール（１００）によって再生などを実行するために媒体ドライブ（１４４）を介しアクセスされ得る。媒体ドライブ（１４４）は、シリアルＡＴＡバス又は他の高速接続（例えばＩＥＥＥ１３９４）などのバスを介しＩ／Ｏコントローラー（１２０）と接続される。
【００３２】
[0038]システム管理コントローラー（１２２）は、マルチメディアコンソール（１００）の利用可能性保証に関連する様々なサービス機能を提供する。音声処理装置（１２３）及び音声コーデック（１３２）が、忠実性の高い三次元処理を用いて応答音声処理パイプライン処理装置を形成する。音声データが、音声処理装置（１２３）と音声コーデック（１３２）との間を通信リンクを介し伝達される。音声処理パイプラインが、音声機能を有する外付けオーディオプレーヤー又は装置によって再生するためにＡ／Ｖポート（１４０）へデータを出力する。
【００３３】
[0039]フロントパネルＩ／Ｏ部分組立体（１３０）が、マルチメディアコンソール（１００）の外面上に見ることができる電源スイッチ（１５０）及びイジェクトボタン（１５２）並びにいくつかのＬＥＤ（発光ダイオード）又はその他の指標の機能性を支援する。システム電力供給モジュール（１３６）が、マルチメディアコンソール（１００）のコンポーネントに電力を提供する。ファン（１３８）がマルチメディアコンソール（１００）内部の回路を冷却する。
【００３４】
[0040]マルチメディアコンソール（１００）内部のＣＰＵ（１０１）、ＧＰＵ（１０８）、メモリーコントローラー（１１０）、及びその他の様々なコンポーネントは、シリアルバス及びパラレルバス、メモリーバス、周辺機器用バス、及び様々なバスアーキテクチャのうちいずれかを使用したプロセッサーバス又はローカルバスを含む１つ以上のバスを介し相互に接続される。例として、上記アーキテクチャは、Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔｓ（ＰＣＩ）バス、ＰＣＩ−エクスプレスバスなどを含み得る。
【００３５】
[0041]マルチメディアコンソール（１００）が電源投入されたとき、アプリケーションデータが、システムメモリー（１４３）からメモリー（１１２）及び／又はキャッシュ（１０２）、（１０４）へロードされ、ＣＰＵ（１０１）上で実行される。アプリケーションは、マルチメディアコンソール（１００）上で利用可能な異なる媒体のタイプへナビゲートするとき、一貫性したユーザー体験を提供するグラフィカルユーザーインターフェースを提示し得る。動作中、媒体ドライブ（１４４）内部に含まれるアプリケーション及び／又はその他の媒体は、媒体ドライブ（１４４）から起動され得るか又は再生され得、マルチメディアコンソール（１００）に付加的機能性を提供し得る。
【００３６】
[0042]マルチメディアコンソール（１００）は、システムをテレビ又はその他のディスプレイと単に接続することによって、単独で動作するシステムとして作動され得る。この単独動作モードのマルチメディアコンソール（１００）によって１人以上のユーザーが、システムとの対話、映画の鑑賞、又は音楽の鑑賞が可能になる。しかしながら、ネットワークインターフェース（１２４）又は無線アダプター（１４８）を介し利用可能になるブロードバンドの接続性統合を用いると、マルチメディアコンソール（１００）が更に、より大きなネットワークコミュニティに参加者として作動され得る。
【００３７】
[0043]マルチメディアコンソール（１００）が電源投入時されたとき、設定された量のハードウェア資源が、マルチメディアコンソールのオペレーティングシステムによるシステムを使用するために予約される。これらのリソースは、メモリー（例えば１６ＭＢ）、ＣＰＵ及びＧＰＵサイクル（例えば５％）、ネットワーク帯域幅（例えば８ｋｂｓ）などの予約を含み得る。これらのリソースはシステムのブート時に予約されるため、アプリケーションの観点から予約されるリソースは存在しない。
【００３８】
[0044]具体的にメモリー予約は、望ましくは十分に大きく、起動カーネル、並列システムアプリケーション及びドライバーを含む。ＣＰＵの予約は、望ましくは一定であり、予約されたＣＰＵ利用が、システムアプリケーションによって使用されていない場合、アイドルスレッドが、いくらかの未使用サイクルを消費する。
【００３９】
[0045]ＧＰＵの予約に関すると、システムアプリケーションによって生成される軽い（例えばポップアップ）メッセージが、ポップアップをオーバーレイにレンダリングするプログラムをスケジューリングするＧＰＵ中断を使用することによって、表示される。オーバーレイに要求されるメモリーの総計は、オーバーレイ領域のサイズ及び望ましくは画面解像度を伴うオーバーレイスケールによって決まる。十分なユーザーインターフェースが、並行システムアプリケーションによって使用されるところでは、アプリケーション解像度に影響されずに解像度を利用することが望まれる。スケーラーがこの解像度を設定するために使用され得、テレビの周波数を変更して再同時性をもたらす必要性が省かれる。
【００４０】
[0046]マルチメディアコンソール（１００）が起動し、システム資源が予約された後、システム機能性を提供する並列システムアプリケーションが実行する。システム機能性は、前述した予約されたシステム資源の範囲内で実行する一連のシステムアプリケーションにカプセル化される。オペレーティングシステムカーネルは、ゲームアプリケーションスレッドに対しシステムアプリケーションスレッドであるスレッドを識別する。本システムのアプリケーションは、望ましくは、一貫性のあるシステム資源の表示をアプリケーションに提供するために、所定の時間及び間隔でＣＰＵ（１０１）上で実行するようにスケジューリングされる。スケジューリングは、コンソール上で実行するゲームアプリケーションに対するキャッシュ分裂を最小化することである。
【００４１】
[0047]並行システムアプリケーションが音声を必要とするとき、音声処理が時間感度によって、ゲームアプリケーションと非同期にスケジューリングされる。（後述される）マルチメディアコンソールのアプリケーションマネージャは、システムアプリケーションがアクティブであるとき、ゲームアプリケーションの音声の（例えば、ミュート、減衰）レベルを制御する。
【００４２】
[0048]入力装置（例えば、コントローラー１４２（１）及び１４２（２））が、ゲームアプリケーション及びシステムアプリケーションによって共有される。入力装置は、予約される資源でないが、しかしシステムアプリケーションとゲームアプリケーションとの間で切換えられ、それぞれが装置のフォーカスを有し得る。アプリケーションマネージャが、ゲームアプリケーションの知識がなくても望ましくは入力ストリームの切換えを制御し、ドライバーが、フォーカス切換えに関する状態情報を維持する。カメラ（２６）、（２８）、及びキャプチャ装置（２０）は、コンソール（１００）用の付加入力装置を定義している。
【００４３】
[0049]図４は、目標認識、解析、及びトラッキングシステムにおいて１つ以上のジェスチャを解釈し、及び／又は目標認識、解析、及びトラッキングシステムによって表示されるアバター又は画面上の登場人物を動画化するために使用される図１Ａ〜図２のような計算環境（１２）である別の計算環境（２２０）の実施形態例を示している。計算システム環境（２２０）は適切な計算環境の一例に過ぎず、開示される本対象項目の利用性又は機能性の範囲に関し、いかなる制限も提示するように意図されていない。計算環境（２２０）は、例示的動作環境（２２０）に示されている一コンポーネント又は任意の組み合わせに関連するいかなる依存性も要件も有していないものとして解釈されたい。実施形態の中には、示された様々な計算エレメントが、今開示される特定の態様を例示するように構成された回路を含み得るものもある。例えば、本開示において使用される用語の回路は、ファームウェア又はスイッチによって機能（単数又は複数）を実行するように構成される専用ハードウェアコンポーネントを含み得る。別の実施形態例の中には、用語の回路が、機能（単数又は複数）を実行するように作動可能なロジックを具体化するソフトウェア命令によって構成された汎用処理装置、メモリーなどを含み得るものもある。回路がハードウェア及びソフトウェアの組み合わせを含む実施形態例において、実装者が、ロジックを具体化するソースコードを記述し得、ソースコードが、汎用演算処理装置によって処理され得る計算機読み出し可能プログラムへコンパイルされ得る。当業者は、技術の最先端が、ハードウェア、ソフトウェア、又はハードウェア／ソフトウェアの組み合わせの間の差異がほとんどない程度に発展していることを十分に理解し得るのであるから、特定機能を実現するためのハードウェア対ソフトウェアの選択は、実装者に任せられた設計選択である。より具体的には、当業者は、ソフトウェアプロセスが同等のハードウェア構造へ変換され得ることと、ハードウェア構造がそれ自体、同等のソフトウェア処理へ変換され得ることと、を十分に理解されよう。かくして、ハードウェア実装対ソフトウェア実装の選択は、設計選択の１つであって実装者に委ねられている。
【００４４】
[0050]図４において、計算環境（２２０）は、典型的に、様々な計算機可読媒体を含む計算機（２４１）を含む。計算機可読媒体は、計算機（２４１）によってアクセスされ得る利用可能な任意の媒体であり得、揮発性及び不揮発性媒体、及び取り外し可能及び取り外し不可能媒体双方を含む。システムメモリー（２２２）は、読み出し専用メモリー（ＲＯＭ）（２２３）及びランダムアクセスメモリー（ＲＡＭ）（２６０）などの揮発性及び／又は不揮発性メモリー形式の計算機記憶媒体を含む。起動中などに計算機（２４１）内部のエレメント間における情報送信を支援する基本ルーチンを含む基本入出力システム（ＢＩＯＳ）（２２４）は、典型的に、ＲＯＭ（２２３）にストアされる。ＲＡＭ（２６０）は、典型的に、演算処理装置（２５９）によって即座にアクセス可能な及び／又は目下作動されているデータ及び／又はプログラムモジュールを含む。非限定の例として、図４は、オペレーティングシステム（２２５）、アプリケーションプログラム（２２６）、その他のプログラムモジュール（２２７）、及びプログラムデータ（２２８）を示している。
【００４５】
[0051]計算機（２４１）は、別の取り外し可能／取り外し不可能、揮発性／不揮発性計算機記憶媒体も含み得る。ほんの一例として、図４は、取り外し不可能、不揮発性磁気媒体から読み出すか又はそれに書き込むハードディスクドライブ（２３８）、取り外し可能、不揮発性磁気ディスク（２５４）から読み出すか又はそれに書き込む磁気ディスクドライブ（２３９）、ＣＤ−ＲＯＭ、又はその他の光学式媒体などの取り外し可能、不揮発性光学式ディスク（２５３）から読み出すか又はそれに書き込む光学式ディスクドライブ（２４０）を示している。例示的な動作環境において使用され得る別の取り外し可能／取り外し不可能、揮発性／不揮発性計算機記憶媒体は、磁気カセットテープ、フラッシュメモリーカード、デジタル多用途ディスク、デジタルビデオテープ、半導体ＲＡＭ、半導体ＲＯＭ等を含むがこれらに限定しない。ハードディスクドライブ（２３８）は、典型的に、インターフェース（２３４）のような取り外し不可能メモリーインターフェースを介しシステムバス（２２１）と接続され、磁気ディスクドライブ（２３９）及び光学式ディスクドライブ（２４０）は、典型的に、インターフェース（２３５）のような取り外し可能メモリーインターフェースによってシステムバス（２２１）と接続される。
【００４６】
[0052]図４に前述され例示されたドライブ及びそれらに関連する計算機記憶媒体が、計算機（２４１）に計算機可読命令、データ構造、プログラムモジュール、及び別のデータ記憶装置を提供する。図４において、例えばハードディスクドライブ（２３８）は、オペレーティングシステム（２５８）、アプリケーションプログラム（複数）（２５７）、その他のプログラムモジュール（複数）（２５６）、及びプログラムデータ（２５５）をストアするように例示されている。これらのコンポーネントが、オペレーティングシステム（２２５）、アプリケーションプログラム（複数）（２２６）、その他のプログラムモジュール（複数）（２２７）、及びプログラムデータ（２２８）と同一か又は異なるどちらか一方であり得ることを留意されたい。オペレーティングシステム（２５８）、アプリケーションプログラム（２５７）、その他のプログラムモジュール（２５６）、及びプログラムデータ（２５５）は、本明細書において異なる番号を付与されていて、異なる最小限の複製物であることを示している。ユーザーは、一般に、キーボード（２５１）のような入力装置、及びマウス、トラックボール又はタッチパッドとして参照されるポインティングデバイス（２５２）を介し、計算機（２４１）へコマンド及び情報を入力し得る。その他（示されていない）入力装置は、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナーなどを含み得る。これらの入力装置及びその他の入力装置は、多くの場合、システムバスに接続されるユーザー入力インターフェース（２３６）を介し演算処理装置（２５９）と接続されるが、パラレルポート、ゲームポート又はユニバーサルシリアルバス（ＵＳＢ）のような別のインターフェース及びバス構造によっても接続され得る。カメラ（２６）、（２８）、及びキャプチャ装置（２０）は、コンソール（１００）用の付加入力装置を定義している。モニター（２４２）又は別のタイプの表示装置もビデオインターフェース（２３２）のようなインターフェースを介しシステムバス（２２１）と接続される。モニターに加えて計算機は、周辺出力インターフェース（２３３）を介し接続され得るスピーカー（２４４）及びプリンター（２４３）のような別の周辺出力装置も含み得る。
【００４７】
[0053]計算機（２４１）は、リモートコンピューター（２４６）のような１つ以上のリモートコンピューターとの論理接続を使用し、ネットワーク環境において作動し得る。リモートコンピューター（２４６）は、パーソナルコンピューター、サーバー、ルーター、ネットワークＰＣ、ピア装置、又は別の一般的なネットワークノードであり得、典型的に、前述した計算機（２４１）に関連するエレメントの多く又はすべてを含むが、図４にはメモリー記憶装置（２４７）だけが例示されている。図２に示される論理的な接続は、ローカルエリアネットワーク（ＬＡＮ）（２４５）及び広域ネットワーク（ＷＡＮ）（２４９）を含むが、別のネットワークも含み得る。そのようなネットワーク環境は、オフィス、企業規模のコンピューターネットワーク、イントラネット、及びインターネットにおいて一般的である。
【００４８】
[0054]ＬＡＮネットワーク環境において使用されるとき、計算機（２４１）は、ネットワークインターフェース又はアダプター（２３７）を介しＬＡＮ（２４５）と接続される。ＷＡＮネットワーク環境において使用されるとき、計算機（２４１）は、典型的にインターネットなどのようなＷＡＮ（２４９）を介し通信を確立するモデム（２５０）又はその他の手段を含む。内蔵又は外付けがあり得るモデム（２５０）が、ユーザー入力インターフェース（２３６）又はその他の適切な手段を介し、システムバス（２２１）と接続され得る。ネットワークの環境において、計算機（２４１）又はその一部に関連し示されるプログラムモジュールが、リモートメモリー記憶装置にストアされ得る。非限定の例として図４が、記憶装置（２４７）上に常駐するリモートアプリケーションプログラム（２４８）を示している。示されたネットワーク接続が例示的であって、計算機間の通信リンクを確立する別の手段が使用され得ることを十分に理解されよう。
【００４９】
[0055]図５は、シーンにおけるユーザーの動作をキャプチャするための方法例（３００）の流れ図を表している。方法例（３００）は、例えば、図１Ａ〜図４に関し記述されたキャプチャ装置（２０）及び／又は目標認識、解析、トラッキングシステム（１０）の計算環境（１２）を使用し、実装され得る。実施形態例において、方法（３００）は、プログラムコード（すなわち命令）形式を取り得、例えば、図１Ａ〜図４に関し記述された目標認識、解析、及びトラッキングシステム（１０）のキャプチャ装置（２０）及び／又は計算環境（１２）によって実行され得る。
【００５０】
[0056]（３０５）において、一実施形態による画像が受信され得る。例えば、目標認識、解析、及びトラッキングシステムは、図１Ａ〜図２に関し前述したキャプチャ装置（２０）のようなキャプチャ装置を含み得る。キャプチャ装置が、１つ以上の目標を含むシーンをキャプチャ又は観察し得る。実施形態例において、キャプチャ装置は、飛行解析時間、構造光解析、ステレオビジョン解析などのような適切な任意の技法を使用し、シーンのＲＧＢ画像、深度画像などのような画像を取得するために構成されるデプスカメラであり得る。
【００５１】
[0057]例えば、一実施形態において画像は深度画像を含み得る。深度画像は観察された複数の画素であり得、観察された画素それぞれが、観察された深度値を有している。例えば、深度画像は、キャプチャされたシーンの二次元（２−Ｄ）画素領域を含み得、２−Ｄ画素領域の画素それぞれが、キャプチャ装置からキャプチャされたシーンの被写体の長さ又は距離のような深度値を、例えばセンチメートル、ミリメートルで示し得る。
【００５２】
[0058]図６は、（３０５）において受信され得る深度画像（４００）の実施形態例を示している。実施形態例による深度画像（４００）は、例えば、図２に関し前述したキャプチャ装置（２０）の３−Ｄカメラ（２６）及び／又はＲＧＢカメラ（２８）によってキャプチャされたシーンの画像又はフレームであり得る。図６のように深度画像（４００）は、例えば、図１Ａ及び図１Ｂに関し前述したユーザー（１８）のようなユーザーに相当するヒューマンターゲット（４０２）と、キャプチャされたシーンにおける壁、テーブル、モニター、などのような１つ以上の非ヒューマンターゲット（４０４）と、を含み得る。前述したような深度画像（４００）は、観察された複数の画素を含み得、観察された画素それぞれが、それと関連付けられる観察された深度値を有している。例えば、深度画像（４００）は、キャプチャされたシーンの二次元（２−Ｄ）画素領域を含み得、２−Ｄ画素領域の画素それぞれが、キャプチャ装置からキャプチャされたシーンの目標又は被写体の長さ又は距離のような深度値を、例えばセンチメートル、ミリメートルなどで示し得る。一実施形態において、深度画像（４００）は、キャプチャ装置からのヒューマンターゲット（４０２）及び非ヒューマンターゲット（４０４）の異なる距離に相当するように及び／又は視覚的に表すように、深度画像の画素の異なる色が着色され得る。例えば、一実施形態による、キャプチャ装置の最も近くにある目標に関連する画素は赤及び／又はオレンジで深度画像に着色され得るが、一方、更に離れている目標と関連する画素は緑色及び／又は青で深度画像に着色され得る。
【００５３】
[0059]戻って一実施形態の図５を参照すると、（３０５）において画像の受信時、深度画像は、より少ない計算オーバーヘッドを用いてより高速に処理されるように、及び／又はより容易に使用されるように、画像は、より小さな処理解像度に落とされてサンプリングされ得る。加えると、１つ以上の大きな差異及び／又はノイズ深度値が、深度画像から除かれ及び／又は平滑化され得、失われた深度情報及び／又は削除された深度情報の一部が、満たされ、及び／又は再構築され得、及び／又は別の適切な任意の処理が受信された深度情報上で実行され得、深度情報は、より詳細に後述される骨格モデルなどのモデルを生成するために使用され得る。
【００５４】
[0060]（３１０）において、画像内にユーザーのモデルが生成され得る。例えば、画像の受信時、目標認識、解析、及びトラッキングシステムは、深度画像内の目標又は被写体それぞれを大量情報で満たし、それぞれ大量情報で満たされた目標又は被写体を、様々な位置又はポーズの人間の体のモデルと関連付けられたパターンと比較することによって、深度画像が、図１Ａ〜図１Ｂに関し前述した例えば、ユーザー（１８）のようなユーザーに相当するヒューマンターゲットを含むか否か決定し得る。その後、パターンに一致する大量情報で満たされた目標又は被写体は、例えば、様々な体の一部の測定値を含む値を決定するために、分離され得、スキャンされ得る。実施形態例による骨格モデル、メッシュモデルなどのようなモデルがその後、スキャンに基づいて生成され得る。例えば、一実施形態によるスキャンによって決定され得る測定値は、１つ以上の関節をモデルに定義するために使用され得る１つ以上のデータ構造でストアされる。１つ以上の関節が、人間の体の一部に相当し得る１つ以上の骨を定義するために、使用され得る。
【００５５】
[0061]図７は、例えば（３１０）において、ヒューマンターゲット用に生成され得るモデル（５００）の実施形態例を示している。実施形態例によるモデル（５００）は、例えば、図６に関し前述した立体的モデルとしてヒューマンターゲット（４０２）を示し得るデータ構造を１つ以上含み得る。体の一部それぞれは、モデル（５００）の関節と骨を定義する数学で使われるベクトルとして特徴付けられ得る。
【００５６】
[0062]図７のようにモデル（５００）は、１つ以上の関節（ｊ１〜ｊ１８）を含み得る。実施形態例による関節（ｊ１〜ｊ１８）それぞれが、その間に定義された体の１つ以上の部分を別の体の１つ以上の部分に対して動くようにし得る。例えば、ヒューマンターゲットを表すモデルは、隣接した骨の交わりに位置付けられた関節（ｊ１〜ｊ１８）を持つ「骨」のような１つ以上の構造部材によって定義され得る固定した及び／又は変形可能な複数の体の部分を含み得る。関節（ｊ１〜１８）が、骨及び関節（ｊ１〜ｊ１８）と関連付けられた体の様々な部分を互いに無関係に動けるようにし得る。例えば、図７のような関節（ｊ７）と（ｊ１１）との間に定義される骨は、前腕に相当し得、例えば、ふくらはぎに相当し得る関節（ｊ１５）と（ｊ１７）との間に定義される骨と無関係に動かされ得る。
【００５７】
[0063]前述したように体の部分それぞれは、図７に示される骨及び関節を定義するＸ、Ｙ、及びＺ値を有する数学で使われるベクトルとして特徴付けられる。実施形態例において、図７に示される骨に関連付けられるベクトルの交わりが、関節（ｊ１〜ｊ１８）に関連付けられるそれぞれの点を定義し得る。
【００５８】
[0064]戻って図５を参照すると、その後、（３１５）において、モデルがユーザーによる動作に基づいて調整され得るように、モデルはトラッキングされ得る。一実施形態による、図７に関し前述したモデル（５００）のようなモデルが、図１Ａ及び図１Ｂに関し前述したユーザー（１８）のようなユーザーの表現であり得る。目標認識、解析、及びトラッキングシステムは、モデルを調整するために利用され得るユーザー（１８）のようなユーザーからの動作を、観察又はキャプチャし得る。
【００５９】
[0065]例えば、図１Ａ〜図２に関し前述したキャプチャ装置（２０）のようなキャプチャ装置が、モデルを調整するために使用され得るシーンの深度画像、ＲＧＢ画像などのような複数の画像を観察又はキャプチャし得る。一実施形態に従って画像それぞれが、定義された周波数に基づいて観察又はキャプチャされ得る。例えば、キャプチャ装置は、毎１ミリ秒、毎１マイクロ秒などの新しいシーン画像を観察又はキャプチャし得る。
【００６０】
[0066]それぞれの画像受信時、特定の画像に関連付けられた情報は、ユーザーによる動作が実行されているか否か決定するために、モデルに関連付けられた情報と比較され得る。例えば、一実施形態においてモデルは、合成された深度画像のような合成画像へラスターデータ変換され得る。合成画像の画素は、受信画像のヒューマンターゲットが動いているか否か決定し得るために、受信画像それぞれのヒューマンターゲットに関連付けられた画素と比較され得る。
【００６１】
[0067]実施形態例による１つ以上の力ベクトルは、合成画像と受信画像との間で比較された画素に基づいて算出され得る。その後、物理空間におけるヒューマンターゲット又はユーザーのポーズにより密接に相当するポーズにモデルを調整するために、１つ以上の力が、モデルの関節などの１つ以上の力の受信態様に適用され得るか又はマッピングされ得る。
【００６２】
[0068]別の実施形態に従って、モデルは、ユーザーの動作に基づいてモデルを調整するために、受信画像それぞれにおけるヒューマンターゲットのマスク又は表現内に適合するように調整され得る。例えば、観察画像それぞれを受信すると、骨及び関節それぞれを定義し得るＸ、Ｙ、及びＺ値を含むベクトルが、受信画像のそれぞれにおけるヒューマンターゲットのマスクに基づいて調整され得る。例えば、モデルが、受信画像それぞれにおける人間のマスク画素に関連付けられたＸ及びＹ値に基づいてＸ方向及び／又はＹ方向に動かされ得る。加えると、モデルの骨及び関節が、受信画像それぞれにおけるヒューマンターゲットのマスク画素に関連付けられた深度値に基づいて、Ｚ方向に回転され得る。
【００６３】
[0069]図８Ａ〜図８Ｃは、図１Ａ及び図１Ｂに関し前述したユーザー（１８）のようなユーザーによる動作又はジェスチャに基づいて調整されるモデルの実施形態例を示している。図８Ａ〜図８Ｃのように、図７に関し前述したモデル（５００）が、前述したように時間内の様々な時点において受信される深度画像にキャプチャされ得、観察された様々な時点のユーザーの動作又はジェスチャに基づいて調整され得る。例えば、図８Ａのようなモデル（５００）の関節（ｊ４）、（ｊ８）、及び（ｊ１２）とそれらの間に定義された骨は、前述したように時間内の様々な時点における受信画像のヒューマンターゲットに対するマスクと適合するように１つ以上の力ベクトルを適用するか又はモデルを調整することによって、ユーザーが彼又は彼女の左腕を上げたときのポーズ（５０２）を示すように調整され得る。関節（ｊ８）及び（ｊ１２）とその間に定義された骨は更に、ユーザーが彼又は彼女の左の前腕を動かすことによって手を振ったとき、図８Ｂ〜図８Ｃのようなポーズ（５０４）及び（５０６）に調整され得る。かくして、実施形態例に従って関節（ｊ４）、（ｊ８）、及び（ｊ１２）とその間の前腕及び二頭筋と関連する骨とを定義している数学で使われるベクトルは、前述したように力ベクトルを適用するか又はマスク中にモデルを適合することによってポーズ（５０２）、（５０４）、及び（５０６）に相当するように調整され得るＸ、Ｙ、及びＺ値を有するベクトルを含み得る。
【００６４】
[0070]戻って図５を参照すると、（３２０）において、トラッキングされたモデルのモーションキャプチャファイルが生成され得る。例えば、目標認識、解析、及びトラッキングシステムは、図１Ａ及び１Ｂに関し前述したユーザー（１８）のようなユーザー特有の手を振る動作、ゴルフスイングなどのスイング動作、パンチ動作、歩行動作、実行中の動作などのような１つ以上の動作を含み得るモーションキャプチャファイルをレンダリングし、ストアし得る。一実施形態によるモーションキャプチャファイルは、トラッキングされたモデルに関連付けられた情報に基づいてリアルタイムに生成され得る。例えば、一実施形態において、モーションキャプチャファイルは、例えば、時間内の様々な時点においてそれがトラッキングされたときの、モデルの関節と骨を定義し得るＸ、Ｙ、及びＺ値を含んでいるベクトルを含み得る。
【００６５】
[0071]一実施形態例において、ユーザーは、モーションキャプチャファイルにキャプチャされ得る様々な動作を実行するように指示され得る。例えば、ユーザーに歩くか又はゴルフスイング動作を実行するように指示し得るインターフェースが、例えば表示され得る。前述したように、その後、トラッキングされているモデルが、時間内の様々な時点のそれらの動作に基づいて調整され得、指示された動作に関するモデルのモーションキャプチャファイルが生成され得、ストアされ得る。
【００６６】
[0072]別の実施形態において、モーションキャプチャファイルは、目標認識、解析、及びトラッキングシステムとのユーザーの対話による自然な動きの中でトラッキングされたモデルをキャプチャし得る。例えば、モーションキャプチャファイルは、モーションキャプチャファイルが、目標認識、解析、及びトラッキングシステムとの対話の間、ユーザーによる任意の動き又は動作を自然にキャプチャし得るように生成され得る。
【００６７】
[0073]一実施形態によるモーションキャプチャファイルは、例えば、時間内の異なる時点におけるユーザーの動作のスナップショットに相当するフレームを含み得る。トラッキングされたモデルをキャプチャすると、時間内の特定の時点において、それに適用される任意の動作又は調整を含むモデルに関連付けられた情報が、モーションキャプチャファイルのフレームにレンダリングされ得る。フレーム内の情報は、例えば、トラッキングされたモデルの関節と骨を定義し得るＸ、Ｙ、及びＺ値を含んでいるベクトルと、ユーザーがトラッキングされたモデルのポーズに相当する動作を実行した時間内の時点の指標であり得るタイムスタンプと、を含み得る。
【００６８】
[0074]例えば、図８Ａ〜８Ｃに関し前述したようにモデル（５００）はトラッキングされ得、時間内の特定の時点において彼又は彼女の左手を振っているユーザーの指標であり得るポーズ（５０２）、（５０４）、及び（５０６）を形成するように調整され得る。ポーズ（５０２）、（５０４）、及び（５０６）それぞれに対するモデル（５００）の関節と骨に関連付けられた情報は、モーションキャプチャファイルにキャプチャされる。
【００６９】
[0075]例えば、図８Ａに示されるモデル（５００）のポーズ（５０２）は、ユーザーが最初に彼又は彼女の左腕を上げたときの時間内の時点に相当し得る。ポーズ（５０２）に関する関節と骨のＸ、Ｙ、Ｚ値などの情報を含んでいるポーズ（５０２）は、例えば、ユーザーが彼又は彼女の左腕を上げた後、時間内の時点に関連付けられた第１のタイムスタンプを有する、モーションキャプチャファイルの第１のフレームにレンダリングされ得る。
【００７０】
[0076]同様に、図８Ｂ、８Ｃに示されるモデル（５００）のポーズ（５０４）及び（５０６）は、ユーザーが彼又は彼女の左手を振っているときの時間内の時点に相当し得る。ポーズ（５０４）及び（５０６）に関する関節と骨のＸ、Ｙ、Ｚなどの情報を含んでいるポーズ（５０４）及び（５０６）は、例えば、ユーザーが彼又は彼女の左手を振っている時間内の異なる時点に関連付けられた第２のタイムスタンプ及び第３のタイムスタンプそれぞれを有する、モーションキャプチャファイルの第２及び第３のフレームそれぞれにレンダリングされ得る。
【００７１】
[0077]実施形態例によるポーズ（５０２）、（５０４）、及び（５０６）に関連付けられた第１、第２、及び第３それぞれのタイムスタンプの第１、第２、第３のフレームが、連続した時間順でモーションキャプチャファイルにレンダリングされ得る。例えば、ポーズ（５０２）に関連しレンダリングされた第１のフレームは、ユーザーが彼又は彼女の左腕を上げたとき０秒の第１のタイムスタンプを有し得、ポーズ（５０４）に関連しレンダリングされた第２のフレームは、ユーザーが彼又は彼女の左手を外側方向へ動かし手を振る動作を開始した後１秒の第２のタイムスタンプを有し得、ポーズ（５０６）に関連しレンダリングされた第３のフレームは、ユーザーが彼又は彼女の左手を内側方向へ動かし手を振る動作を終了したとき２秒の第３のタイムスタンプを有し得る。
【００７２】
[0078]（３２５）において、モーションキャプチャファイルが、アバター又はゲーム上の登場人物に適用され得る。例えば、目標認識、解析、及びトラッキングシステムは、モーションキャプチャファイルにキャプチャされたトラッキングされたモデルの動作１つ以上をアバター又はゲーム上の登場人物に適用し得、アバター又はゲーム上の登場人物が、図１Ａ及び図１Ｂに関し前述したユーザー（１８）のようなユーザーによって実行される動作を模倣するように動画化され得る。実施形態例において、モーションキャプチャファイルにキャプチャされたモデルの関節と骨が、ゲーム上の登場人物又はアバターの特定部分にマッピングされ得る。例えば、右肘に関連する関節が、アバター又はゲーム上の登場人物の右肘にマッピングされ得る。その後、右肘は、モーションキャプチャファイルのフレームそれぞれのユーザーのモデルに関連付けられた右肘の動作を模倣するように動画化され得る。
【００７３】
[0079]実施形態例による目標認識、解析、及びトラッキングシステムは、動作がモーションキャプチャファイルにキャプチャされたとき１つ以上の動作を適用し得る。かくして、モーションキャプチャファイルのフレームがレンダリングされたとき、フレームにキャプチャされた動作が、アバター又はゲーム上の登場人物に適用され得、アバター又はゲーム上の登場人物が、フレームにキャプチャされた動作を即座に模倣するように動画化され得る。
【００７４】
[0080]別の実施形態において、目標認識、解析、及びトラッキングシステムは、動作がモーションキャプチャファイルにキャプチャされ得た後、１つ以上の動作を適用し得る。例えば、歩行動作などの動きが、ユーザーによって実行され得、キャプチャされ得、モーションキャプチャファイルにストアされ得る。例えば、ユーザーの歩行動作のような動きに関連付けられたコントロールとして認識されたジェスチャをユーザーが続けて実行するたびに、その後、歩行動作などの動きが、アバター又はゲーム上の登場人物に適用され得る。例えば、ユーザーが、彼又は彼女の左足を持ち上げたとき、アバターを歩かせるコマンドが起動され得る。その後、アバターは、ユーザーに関連付けられ、モーションキャプチャファイルにストアされ得る歩行動作に基づいて歩き始め得、動画化され得る。
【００７５】
[0081]図９Ａ〜図９Ｃは、例えば（３２５）において、モーションキャプチャファイルに基づいて動画化され得るアバター又はゲーム上の登場人物（６００）の実施形態例を示している。図９Ａ〜図９Ｃのようにアバター又はゲーム上の登場人物（６００）が、図８Ａ〜８Ｃに関し前述したトラッキングされたモデル（５００）に対しキャプチャされた手を振る動作を模倣するように動画化され得る。例えば、図８Ａ〜８Ｃに示されるモデル（５００）の関節（ｊ４）、（ｊ８）、及び（ｊ１２）とその間に定義される骨とが、図９Ａ〜９Ｃのようにアバター又はゲーム上の登場人物（６００）の左の肩関節（ｊ４’）、左の肘関節（ｊ８’）、及び左手首の関節（ｊ１２’）、及び相当する骨にマッピングされ得る。その後、アバター又はゲーム上の登場人物（６００）が、モーションキャプチャファイルの第１、第２、及び第３のタイムスタンプそれぞれにおいて、図８Ａ〜８Ｃに示されるモデル（５００）のポーズ（５０２）、（５０４）、及び（５０６）を模倣するポーズ（６０２）、（６０４）、及び（６０６）に動画化され得る。
【００７６】
[0082]かくして、実施形態例において、画面上の登場人物の外観は、モーションキャプチャファイルに応答し、変更され得る。例えば、図１Ａ〜図１Ｂに関し前述したゲーム機上でコンピューターゲームをプレーしているユーザー（１８）のようなゲームプレーヤーが、本明細書に記載されたようなゲーム機によってトラッキングされ得る。ゲームプレーヤーが腕を振ったとき、ゲーム機がこの動作をトラッキングし得、その後、トラッキングされた動作に応答し、それに従って、ユーザーに関連付けられた骨格モデル、メッシュモデルなどのようなモデルを調整し得る。前述したようにトラッキングされたモデルは更に、モーションキャプチャファイルにキャプチャされ得る。その後、モーションキャプチャファイルは、画面上の登場人物に適用され得、画面上の登場人物は、自らの腕を振っているユーザーの実際の動作を模倣するように動画化され得る。実施形態例による画面上の登場人物が、彼又は彼女の腕を振っているユーザーのように正確に、ゲームにおいて、例えばゴルフクラブ、バットを振るか又はパンチを食らわすように動画化され得る。
【００７７】
[0083]本明細書に記載した構成及び／又は手法は、本来、例示的であって、これらの具体的な実施形態又は例は、限定している意味として考えられないように理解されたい。本明細書に記載した特定のルーチン又は方法は、１つ以上の処理戦略をいくらでも示している。したがって、例示した様々な動作が、例示した順番で、別の順番で、並列などで実行され得る。同様に、前述したプロセスの順序は変更され得る。
【００７８】
[0084]本開示の対象項目は、本明細書に開示した様々なプロセス、システム、及び構成、並びにその他の特徴、機能、動作、及び／又は特性に関する新規的な自明でない組み合わせ及び部分的な組み合わせすべて、並びにその同等物のいくつか及びすべてを含む。
【符号の説明】
【００７９】
１０  トラッキングシステム
１２  計算環境
１４  画面
１６  視聴覚装置
１８  ユーザー
２０  キャプチャ装置
２２  カメラコンポーネント
２４  赤外線光コンポーネント
２６  ３−Ｄカメラ
２８  ＲＧＢカメラ
３０  マイクロフォン
３２  プロセッサー
３４  メモリーコンポーネント
３６  通信リンク
３８  ボクシングの対戦相手
４０  プレーヤーのアバター
１００  マルチメディアコンソール
１０１  中央演算処理装置
１０２  レベル１キャッシュ
１０４  レベル２キャッシュ
１０６  フラッシュＲＯＭ
１０８  画像処理装置（ＧＰＵ）
１１０  メモリーコントローラー
１１２  メモリー
１１４  映像エンコーダー／映像コーデック（符号化器／デコーダー）
１１８  モジュール
１２０  Ｉ／Ｏコントローラー
１２２  システム管理コントローラー
１２３  音声処理装置
１２４  ネットワークインターフェースコントローラー
１２６  第１のＵＳＢコントローラー
１２８  第２のＵＳＢコントローラー
１３０  フロントパネルＩ／Ｏ部分組立体
１３２  音声コーデック
１３６  システム電力供給モジュール
１３８  ファン
１４０  Ａ／Ｖポート
１４３  システムメモリー
１４４  媒体ドライブ
１４６  外部記憶装置
１４８  無線アダプター
１５０  電源スイッチ
１５２  イジェクトボタン
１９０  ジェスチャライブラリー
２２０  計算環境
２２１  システムバス
２２２  システムメモリー
２２３  読み出し専用メモリー（ＲＯＭ）
２２４  基本入出力システム（ＢＩＯＳ）
２２５  オペレーティングシステム
２２６  アプリケーションプログラム
２２７  その他のプログラムモジュール
２２８  プログラムデータ
２２９  画像処理装置（ＧＰＵ）
２３０  ビデオメモリー
２３１  グラフィックインターフェース
２３２  ビデオインターフェース
２３３  周辺出力インターフェース
２３４  取り外し不可能メモリーインターフェース
２３５  取り外し可能メモリーインターフェース
２３６  ユーザー入力インターフェース
２３７  アダプター
２３８  ハードディスクドライブ
２３９  磁気ディスクドライブ
２４０  光学式ディスクドライブ
２４１  計算機
２４２  モニター
２４３  プリンター
２４４  スピーカー
２４５  ローカルエリアネットワーク（ＬＡＮ）
２４６  リモートコンピューター
２４７  メモリー記憶装置
２４８  リモートアプリケーションプログラム
２４９  広域ネットワーク（ＷＡＮ）
２５０  モデム
２５１  キーボード
２５２  ポインティングデバイス
２５３  不揮発性光学式ディスク
２５４  不揮発性磁気ディスク
２５５  プログラムデータ
２５６  その他のプログラムモジュール（複数）
２５７  アプリケーションプログラム（複数）
２５８  オペレーティングシステム
２５９  演算処理装置
２６０  ランダムアクセスメモリー（ＲＡＭ）
４００  深度画像
４０２  ヒューマンターゲット
４０４  非ヒューマンターゲット
５００  ユーザーと関連付けられたモデル
ｊ１〜ｊ１８  関節
ｊ  ４'  相当する関節
ｊ  ８'  相当する関節
ｊ１２'  相当する関節
５０２〜５０６  ポーズ
６００  アバター又はゲーム上の登場人物
６０２〜６０４  ポーズ
【図１Ａ】
0005739872.tif 000002
【図１Ｂ】
0005739872.tif 000003
【図２】
0005739872.tif 000004
【図３】
0005739872.tif 000005
【図４】
0005739872.tif 000006
【図５】
0005739872.tif 000007
【図６】
0005739872.tif 000008
【図７】
0005739872.tif 000009
【図８Ａ】
0005739872.tif 000010
【図８Ｂ】
0005739872.tif 000011
【図８Ｃ】
0005739872.tif 000012
【図９Ａ】
0005739872.tif 000013
【図９Ｂ】
0005739872.tif 000014
【図９Ｃ】
0005739872.tif 000015