(57)【特許請求の範囲】
【請求項１】
コンピュータによってユーザを追跡するための方法であって、
前記コンピュータのプロセッサが、目標を含んだ奥行き画像を取得するステップと、
前記プロセッサが、前記目標の第１の側へ第１の向きを走査するステップと、
前記プロセッサが、前記目標の第２の側へ前記第１の向きを走査するステップと、
前記プロセッサが、前記第１の向きの走査結果から前記目標上の第１の参照点を特定するステップと、
前記プロセッサが、前記第１の参照点に基づいて前記目標の第３の側へ第２の向きを走査するステップと、
前記プロセッサが、前記目標の第４の側へ前記第２の向きを走査するステップと、
前記プロセッサが、前記第２の向きの走査結果から前記目標上の第２の参照点を特定するステップと、
前記プロセッサが、前記第１の向きの前記走査結果の前記参照点及び前記第２の向きの前記走査結果の前記参照点に基づいて境界ボックスを生成するステップと、
前記プロセッサが、前記特定された境界ボックスを用いて前記目標のモデルを調整するステップであって、前記モデルは第１の寸法により定義された関節及び骨組みを有する骨格モデルよりなる、ステップと、
前記プロセッサが、前記モデルの末端部位の寸法を決定するステップと、
前記プロセッサが、前記決定された寸法に基づいて前記モデルの関節及び骨組みを前記第１の寸法から第２の寸法へ調整して、前記関節及び骨組みの前記第２の寸法が前記決定された寸法と合うようにするステップと、
を含む方法。
【請求項２】
前記プロセッサが前記特定された境界ボックスを用いて前記目標のモデルを調整するステップは、前記プロセッサが前記モデルの末端部位の位置を前記境界ボックスにフィットするように配置するステップを含む請求項１に記載の方法。
【請求項３】
前記プロセッサが前記特定された境界ボックスを用いて前記目標のモデルを調整するステップは、前記プロセッサが前記モデルの頭部、重心点、肩、腰、脚、腕、手、肘、膝、又は足の位置を調整するステップを含む請求項１に記載の方法。
【請求項４】
前記プロセッサが前記調整されたモデルを処理するステップを更に含む請求項１に記載の方法。
【請求項５】
ユーザを追跡するためのコンピュータ実行可能命令が記憶されたコンピュータ読み取り可能記憶媒体であって、前記コンピュータ実行可能命令は、
目標を含んだ奥行き画像を取得するステップ、
前記目標の第１の側へ第１の向きを走査するステップ、
前記目標の第２の側へ前記第１の向きを走査するステップ、
前記第１の向きの走査結果から前記目標上の第１の参照点を特定するステップ、
前記第１の参照点に基づいて前記目標の第３の側へ第２の向きを走査するステップ、
前記目標の第４の側へ前記第２の向きを走査するステップ、
前記第２の向きの走査結果から前記目標上の第２の参照点を特定するステップ、
前記第１の向きの前記走査結果の前記参照点及び前記第２の向きの前記走査結果の前記参照点に基づいて境界ボックスを生成するステップ、
前記特定された境界ボックスを用いて前記目標のモデルを調整するステップであって、前記モデルは第１の寸法により定義された関節及び骨組みを有する骨格モデルよりなる、ステップ、
前記モデルの末端部位の寸法を決定するステップ、及び
前記決定された寸法に基づいて前記モデルの関節及び骨組みを前記第１の寸法から第２の寸法へ調整して、前記関節及び骨組みの前記第２の寸法が前記決定された寸法と合うようにするステップ、
のための命令を含む、コンピュータ読み取り可能記憶媒体。
【請求項６】
前記特定された境界ボックスを用いて前記目標のモデルを調整するステップは、前記モデルの末端部位の位置を前記境界ボックスにフィットするように配置するステップを含む請求項５に記載のコンピュータ読み取り可能記憶媒体。
【請求項７】
前記特定された境界ボックスを用いて前記目標のモデルを調整するステップは、前記モデルの頭部、重心点、肩、腰、脚、腕、手、肘、膝、又は足の位置を調整するステップを含む請求項５に記載のコンピュータ読み取り可能記憶媒体。
【請求項８】
ユーザに関係付けられたモデルを追跡するためのシステムであって、
プロセッサと、
プロセッサ実行可能命令を保持し、前記システムが動作状態である時に前記プロセッサに通信可能に接続されるメモリと、を備え、
前記プロセッサ実行可能命令は、前記プロセッサ上で実行された時に、前記プロセッサに少なくとも、
目標を含んだ奥行き画像を取得するステップと、
前記目標の第１の側へ第１の向きを走査するステップと、
前記目標の第２の側へ前記第１の向きを走査するステップと、
前記第１の向きの走査結果から前記目標上の第１の参照点を特定するステップと、
前記第１の参照点に基づいて前記目標の第３の側へ第２の向きを走査するステップと、
前記目標の第４の側へ前記第２の向きを走査するステップと、
前記第２の向きの走査結果から前記目標上の第２の参照点を特定するステップと、
前記第１の向きの前記走査結果の前記参照点及び前記第２の向きの前記走査結果の前記参照点に基づいて境界ボックスを生成するステップと、
前記特定された境界ボックスを用いて前記目標のモデルを調整するステップであって、前記モデルは第１の寸法により定義された関節及び骨組みを有する骨格モデルよりなる、ステップと、
前記モデルの末端部位の寸法を決定するステップと、
前記決定された寸法に基づいて前記モデルの関節及び骨組みを前記第１の寸法から第２の寸法へ調整して、前記関節及び骨組みの前記第２の寸法が前記決定された寸法と合うようにするステップと、
を行わせる、システム。
【請求項９】
前記特定された境界ボックスを用いて前記目標のモデルを調整するステップは、前記モデルの末端部位の位置を前記境界ボックスにフィットするように配置するステップを含む請求項８に記載のシステム。
【請求項１０】
前記特定された境界ボックスを用いて前記目標のモデルを調整するステップは、前記モデルの頭部、重心点、肩、腰、脚、腕、手、肘、膝、又は足の位置を調整するステップを含む請求項８に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
コンピュータゲームやマルチメディアアプリケーション、或いはこれらに類する多くのコンピュータ関係のアプリケーションにおいては、ユーザがゲームのキャラクタやアプリケーションの他の面を扱えるようにするための操作が用いられる。典型的には、そのような操作は、例えばコントローラ、リモコン、キーボード、マウス、或いはこれらに類するものを用いて入力される。あいにく、そのような操作は習得するのが難しいことがあり、それ故、ユーザとそのようなゲームやアプリケーションとの間の障壁となる。その上、そのような操作は、その操作が用いられる目的である実際のゲーム動作や他のアプリケーション動作とは異なっていることがある。例えば、ゲームキャラクタに野球のバットを振らせるゲーム操作は、野球のバットを振る実際の動きと合っていないことがある。
【発明の概要】
【０００２】
１つの光景においてユーザを追跡するためのシステム及び方法がここに開示される。例えば、１つの光景の奥行き画像のような画像が取得又は観測され得る。次いでボクセルの格子が奥行き画像に基づいて生成されて、奥行き画像をダウンサンプリングすることができる。例えば、奥行き画像は、部分又はブロックに分割され得る複数のピクセルを含んでよい。次いでそれぞれの部分又はブロックに対してボクセルが生成されて、取得された奥行き画像をボクセルの格子にダウンサンプリングすることができる。
【０００３】
１つの実施態様によれば、次いでボクセルの格子に含まれる背景が除去されて、人物目標等の前景物体に関係付けられた１つ以上のボクセルを分離することができる。分離された人物目標の重心点若しくは中心点、頭部、肩、腰、腕、手、肘、脚、足、膝、又はこれらの同類物といった、１つ以上の末端部位の位置が決定され得る。加えて、末端部位の幅、長さ、又はその同類物を含む測定値等の寸法が決定され得る。
【０００４】
次いで、１つ以上の末端部位の位置及び／又はその結果決定された寸法に基づいてモデルが調整され得る。例えば、モデルは、関節及び／又は骨組みを含む骨格モデルであってよい。モデルの関節のうちの１つ以上が調整されて、当該１つ以上の関節をそれに対応する１つ以上の末端部位の位置に配置することができる。関節の間に定義される骨組みは、それに対応する１つ以上の末端部位の寸法に調整され得る。
【０００５】
調整されたモデルは処理される。例えば、１つの実施態様において、調整されたモデルはアバターやゲームキャラクタにマッピングされて、アバターやゲームキャラクタにユーザを模擬するよう動きを与えることができる。調整されたモデルは計算機環境のジェスチャライブラリに供給され得る。ジェスチャライブラリは、モデルに含まれる様々な人体パーツの位置に基づいて、アプリケーションの中で実施する操作を決定するのに用いることができる。
【０００６】
この要約は選抜した概念を単純化した形で導入すべく提供されるものであり、以下、詳細な説明において更に説明される。この要約は請求された主題のキーとなる特徴又は本質をなす特徴を特定することを意図したものではなく、請求された主題の範囲を限定するために用いられることを意図したものでもない。その上、請求された主題は、如何なる又は全ての不都合な点を解決する、この開示の何れかの部分において言及された手段に限定されない。
【図面の簡単な説明】
【０００７】
【図１Ａ】目標認識・分析・追跡システムの一例の実施態様を、ゲームをしているユーザと共に示すものである。
【図１Ｂ】目標認識・分析・追跡システムの一例の実施態様を、ゲームをしているユーザと共に示すものである。
【図２】目標認識・分析・追跡システムに用いられ得るキャプチャ装置の一例の実施態様を示すものである。
【図３】目標認識・分析・追跡システムにおける１つ以上のジェスチャを解釈し、目標認識・分析・追跡システムによって表示されるアバターや画面上のキャラクタに動きを与えるために用いることができる、計算機環境の一例の実施態様を示すものである。
【図４】目標認識・分析・追跡システムにおける１つ以上のジェスチャを解釈し、目標認識・分析・追跡システムによって表示されるアバターや画面上のキャラクタに動きを与えるために用いることができる、計算機環境の別例の実施態様を示すものである。
【図５】ある光景においてユーザを追跡するための一例の方法の流れ図を描いたものである。
【図６】キャプチャ又は観測され得る奥行き画像の一例の実施態様を示すものである。
【図７Ａ】奥行き画像の一部分がダウンサンプリングされる一例の実施態様を示すものである。
【図７Ｂ】奥行き画像の一部分がダウンサンプリングされる一例の実施態様を示すものである。
【図８】人物目標に対して見積もられた重心点又は中心点の一例の実施態様を示すものである。
【図９】コア体積を決定するように定義され得る境界ボックスの一例の実施態様を示すものである。
【図１０】頭部の候補にスコアを付けるために作成され得る頭部円筒及び肩部円筒の一例の実施態様を示すものである。
【図１１】人物目標の頭部及び重心点又は中心点に基づく頭部中心点ベクトルの一例の実施態様を示すものである。
【図１２】頭部中心点ベクトルに基づいて決定される肩部体積ボックス及び腰部体積ボックスの一例の実施態様を示すものである。
【図１３】肩部体積ボックス及び腰部体積ボックスに基づいて演算された肩及び腰の一例の実施態様を示すものである。
【図１４】コア体積を表す円筒の一例の実施態様を示すものである。
【図１５Ａ】アンカーポイントに基づいて決定される手の実施態様の例を示すものである。
【図１５Ｂ】アンカーポイントに基づいて決定される手の実施態様の例を示すものである。
【図１５Ｃ】アンカーポイントに基づいて決定される手の実施態様の例を示すものである。
【図１６】腕及び脚の平均位置及び／又はアンカーポイントに基づいて演算され得る手及び足の一例の実施態様を示すものである。
【図１７】生成されたモデルの一例の実施態様を示すものである。
【発明を実施するための形態】
【０００８】
図１Ａ及び図１Ｂは、目標認識・分析・追跡システム１０の構成の一例の実施態様を、ボクシングゲームをしているユーザ１８と共に示すものである。一例の実施態様において、目標認識・分析・追跡システム１０は、ユーザ１８のような人物目標を認識、分析、及び／又は追跡するために使用され得る。
【０００９】
図１Ａに示されるように、目標認識・分析・追跡システム１０は、計算機環境１２を含むことができる。計算機環境１２は、コンピュータ、ゲームシステム若しくはコンソール、又はこれらに類するものであり得る。一例の実施態様によれば、計算機環境１２は、ゲームアプリケーション、非ゲームアプリケーション、又はそれらの同類物等のアプリケーションを実行するために使用できるように、ハードウェア部品及び／又はソフトウェア部品を含んでよい。１つの実施態様においては、計算機環境１２は、標準化されたプロセッサ、専用のプロセッサ、マイクロプロセッサ、又はそれらの同類物等の、命令を実行することができるプロセッサを含んでよい。この命令は、例えば、奥行き画像を取得し、前記奥行き画像に基づいてボクセルの格子を生成し、前記ボクセル格子に含まれる背景を除去して人物目標に関係する１つ以上のボクセルを分離し、前記分離された人物目標の１つ以上の末端部位の位置又は姿勢を決定し、前記１つ以上の末端部位の位置又は姿勢に基づいてモデルを調整するための命令、或いは、任意の他の適した命令を含むものであって、以下においてより詳細に記述されるだろう。
【００１０】
図１Ａに示されるように、目標認識・分析・追跡システム１０は、更にキャプチャ装置２０を含むことができる。キャプチャ装置２０は、例えば、ユーザ１８のような、１以上のユーザを視覚的にモニタするのに用いることができるカメラであり得る。以下においてより詳細に記述されるように、１以上のユーザが行うジェスチャ及び／又は動きは、キャプチャされ、分析され、そして追跡されて、アプリケーション内の１つ以上の操作又は動作を実施すること、及び／又はアバターや画面上のキャラクタに動きを与えることができる。
【００１１】
１つの実施態様によれば、目標認識・分析・追跡システム１０は、テレビ、モニタ、高精細テレビ（ＨＤＴＶ）、又はそれらの同類物等の、ユーザ１８のようなユーザに対してゲームやアプリケーションの映像及び／又は音声を提供することができる視聴覚装置１６に接続されてもよい。例えば、計算機環境１２は、ゲームアプリケーション、非ゲームアプリケーション、又はそれらの同類物に関係する視聴覚信号を供給することができる、グラフィックカードのようなビデオアダプタ及び／又はサウンドカードのようなオーディオアダプタを含んでもよい。視聴覚装置１６は、計算機環境１２から視聴覚信号を取得することができ、次いで、視聴覚信号に関係するゲームやアプリケーションの映像及び／又は音声をユーザ１８に対して出力することができる。１つの実施態様によれば、視聴覚装置１６は、例えば、Ｓビデオケーブル、同軸ケーブル、ＨＤＭＩケーブル、ＤＶＩケーブル、ＶＧＡケーブル、又はそれらの同類物を介して計算機環境１２に接続し得る。
【００１２】
図１Ａ及び図１Ｂに示されるように、目標認識・分析・追跡システム１０は、ユーザ１８のような人物目標を認識、分析、及び／又は追跡するのに使用することができる。例えば、キャプチャ装置２０を用いてユーザ１８を追跡することができ、ユーザ１８のジェスチャ及び／又は動きは、キャプチャされアバターや画面上のキャラクタに動きを与えること、及び／又は、計算機環境１２が実行しているアプリケーションに作用するよう用いられる操作であると解釈されることができる。このように、１つの実施態様によれば、ユーザ１８は、自分の体を動かしてアプリケーションを操作すること、及び／又は、アバターや画面上のキャラクタに動きを与えることができる。
【００１３】
図１Ａ及び図１Ｂに示されるように、一例の実施態様において、計算機環境１２上で実行されているアプリケーションは、ユーザ１８がプレイしているボクシングゲームであり得る。例えば、計算機環境１２は、視聴覚装置１６を使用して、ボクシングの対戦相手３８をユーザ１８に対し視覚的に描写することができる。計算機環境１２はまた、視聴覚装置１６を使用して、ユーザ１８が自分の動きで操作するプレーヤアバター４０を視覚的に描写することができる。例えば、図１Ｂに示されるように、ユーザ１８は、物理空間内でパンチを繰り出して、プレーヤアバター４０にゲーム空間内でパンチを繰り出させることができる。このように、一例の実施態様によれば、目標認識・分析・追跡システム１０の計算機環境１２及びキャプチャ装置２０は、物理空間内でのユーザ１８のパンチを認識し分析するのに用いることができ、パンチはゲーム空間内のプレーヤアバター４０に対するゲーム操作として解釈され、及び／又は、パンチの動きはゲーム空間内のプレーヤアバター４０に動きを与えるのに使用され得る。
【００１４】
ボブ（bob）、ウィービング（weave）、シャッフル（shuffle）、ブロック、ジャブを操作し、或いはパワーの異なる多様なパンチを繰り出すといった、ユーザ１８による他の動きもまた、他の操作或いは動作として解釈され、及び／又はプレーヤアバターに動きを与えるのに使用され得る。更に、ある動きが、プレーヤアバター４０を操作する以外の動作に相当する操作として解釈されてもよい。例えば、１つの実施態様において、プレーヤは、ゲームの終了、一時停止、セーブ、レベルの選択、ハイスコアの閲覧、友人との通信等をするための動きを用いることができる。別の実施態様によれば、プレーヤは、メインユーザインターフェースからゲームや他のアプリケーションを選択するための動きを用いることができる。このように、実施態様の例において、ユーザ１８の幅広い動きが利用可能であり、アプリケーションとの対話に適した方法で分析することができる。
【００１５】
実施態様の例において、ユーザ１８のような人物目標は、物体を持っていてもよい。そのような実施態様においては、電子ゲームのユーザは、物体を握っていてもよく、プレーヤ及び物体の動きを、ゲームパラメータの調整及び／又は制御のために用いることができる。例えば、ラケットを握っているプレーヤの動きを追跡して利用し、電子スポーツゲームにおける画面上のラケットを操作することができる。別の実施態様においては、物体を握っているプレーヤの動きを追跡して利用し、電子コンバットゲームにおける画面上の武器を操作することができる。
【００１６】
他の実施態様の例によれば、目標認識・分析・追跡システム１０は更に、オペレーティングシステム及び／又はアプリケーションがゲーム分野の外側にあるものを操作するように、目標の動きを解釈することもできる。例えば、オペレーティングシステム及び／又はアプリケーションの仮想的に操作可能な如何なる側面も、ユーザ１８のような目標の動きによって操作することができる。
【００１７】
図２は、目標認識・分析・追跡システム１０に用いられ得るキャプチャ装置２０の一例の実施態様を示すものである。一例の実施態様によれば、キャプチャ装置２０は、奥行き画像を含んだ奥行き情報を有する映像を、例えば飛行時間（time-of flight）法、構造化ライト（structured light）法、ステレオ画像法、又はそれらの同類物を含む任意の相応しい技術によってキャプチャするように構成することができる。奥行き画像には奥行き値が含まれ得る。１つの実施態様によれば、キャプチャ装置２０は、奥行き情報を“Ｚレイヤ”、即ち奥行きカメラからその視線に沿って延びるＺ軸に垂直なレイヤに編成することができる。
【００１８】
図２に示されるように、キャプチャ装置２０は、画像カメラ部品２２を含むことができる。一例の実施態様によれば、画像カメラ部品２２は、１つの光景の奥行き画像をキャプチャすることができる奥行きカメラであり得る。奥行き画像は、キャプチャされた光景の２次元（２Ｄ）ピクセルエリアを含んでよく、２Ｄピクセルエリアのそれぞれのピクセルは、奥行き値、例えばキャプチャされた光景内の物体のカメラからの長さ又は距離（例えばセンチメートルやミリメートル等）を表すことができる。
【００１９】
図２に示されるように、一例の実施態様によれば、画像カメラ部品２２は、ＩＲ光源部品２４、３次元（３Ｄ）カメラ２６、及びＲＧＢカメラ２８を含んでよく、これらは、１つの光景の奥行き画像をキャプチャするのに用いることができる。例えば、飛行時間分析においては、キャプチャ装置２０のＩＲ光源部品２４が光景に対して赤外光を放射し、次いで、例えば３Ｄカメラ２６及び／又はＲＧＢカメラ２８を用いて光景の中の１つ以上の目標及び物体の表面からの後方散乱光を検出すべく、センサ（不図示）を用いてもよい。ある実施態様においては、赤外のパルス光が用いられてもよく、出射パルス光とこれに対応して戻ってくるパルス光との間の時間を計測して、キャプチャ装置２０から光景の中の目標又は物体の特定の位置までの物理的な距離を決定してもよい。加えて、他の実施態様の例において、出射された光波の位相が戻ってくる光波の位相と比較されて、位相シフトを決定してもよい。次いで、この位相シフトは、キャプチャ装置から目標又は物体上の特定の位置までの物理的な距離を決定するために用いることができる。
【００２０】
別の実施態様の例によれば、飛行時間分析を用いて、例えばシャッター付き光パルスイメージング（shuttered light pulse imaging）を含む様々な手法により反射ビーム光の強度を時間に亘って分析することによって、キャプチャ装置２０から目標又は物体上の特定の位置までの物理的な距離を間接的に決定することもできる。
【００２１】
別の実施態様の例において、キャプチャ装置２０は、構造化ライト法を用いて、奥行き情報をキャプチャしてもよい。そのような分析において、パターン光（即ち、例えば格子模様や縞模様等の既知のパターンが提示された光）が、例えばＩＲ光源部品２４により光景上に投射され得る。そのパターンは、光景中の１つ以上の目標又は物体の表面に当たることで、その反応として変形され得る。パターンのそのような変形は、例えば３Ｄカメラ２６及び／又はＲＧＢカメラ２８によってキャプチャされ、次いで、キャプチャ装置から目標又は物体上の特定の位置までの物理的な距離を決定するため分析される。
【００２２】
別の実施態様によれば、キャプチャ装置２０は、異なる角度で光景を見通して視覚的なステレオデータを取得できる、２つ以上の物理的に離れたカメラを含んでもよい。ステレオデータを解析し、奥行き情報を生成することができる。
【００２３】
キャプチャ装置２０は更にマイクロホン３０を含んでもよい。マイクロホン３０は、音声を受けそれを電気信号に変換するトランスデューサ又はセンサを含み得る。１つの実施態様によれば、マイクロホン３０は、目標認識・分析・追跡システム１０のキャプチャ装置２０と計算機環境１２の間のフィードバックを低減するために用いることができる。加えて、マイクロホン３０は、例えばゲームアプリケーション、非ゲームアプリケーション、又はそれらの同類物等の、計算機環境１２によって実行されるアプリケーションを操作するためユーザから発せられ得る音声信号を受信するために、用いることができる。
【００２４】
一例の実施態様において、キャプチャ装置２０は更に、画像カメラ部品２２と通信動作が可能なプロセッサ３２を含んでもよい。プロセッサ３２は、標準化されたプロセッサ、専用のプロセッサ、マイクロプロセッサ、又はそれらの同類物等の、命令を実行することができるプロセッサを含んでよい。この命令は、例えば、奥行き画像を取得し、前記奥行き画像に基づいてボクセルの格子を生成し、前記ボクセル格子に含まれる背景を除去して人物目標に関係する１つ以上のボクセルを分離し、前記分離された人物目標の１つ以上の末端部位の位置又は姿勢を決定し、前記１つ以上の末端部位の位置又は姿勢に基づいてモデルを調整するための命令、或いは、任意の他の適した命令を含むものであって、以下においてより詳細に記述されるだろう。
【００２５】
キャプチャ装置２０は更に、プロセッサ３２によって実行され得る命令、３Ｄカメラ又はＲＧＢカメラによってキャプチャされた画像又は画像フレーム、或いは、任意の他の相応しい情報、画像、又はそれらの同類物を格納することができるメモリ部品３４を含んでもよい。一例の実施態様によれば、メモリ部品３４は、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、キャッシュ、フラッシュメモリ、ハードディスク、又は任意の他の相応しい記憶部品を含み得る。図２に示されるように、１つの実施態様において、メモリ部品３４は、画像キャプチャ部品２２及びプロセッサ３２と通信可能な個別の部品であり得る。別の実施態様によれば、メモリ部品３４は、プロセッサ３２及び／又は画像キャプチャ部品２２に集積化されてもよい。
【００２６】
図２に示されるように、キャプチャ装置２０は、通信リンク３６を介して計算機環境１２と通信可能とすることができる。通信リンク３６は、例えばＵＳＢ接続、ファイアワイア接続、イーサネット（登録商標）ケーブル接続、又はそれらの同類物を含む有線接続、及び／又は、無線８０２．１１ｂ，ｇ，ａ，又はｎ接続等の無線接続であり得る。１つの実施態様によれば、計算機環境１２は、例えば１つの光景をいつキャプチャすべきかを決定するのに使用することができるクロックを、通信リンク３６を介してキャプチャ装置２０へ供給してもよい。
【００２７】
加えて、キャプチャ装置２０は、例えば３Ｄカメラ２６及び／又はＲＧＢカメラ２８によってキャプチャされた奥行き情報及び画像、及び／又はキャプチャ装置２０によって生成され得る骨格モデルを、通信リンク３６を介して計算機環境１２へ供給してもよい。計算機環境１２は、これにより、このモデル、奥行き情報、及びキャプチャされた画像を用いて、例えば、ゲームやワードプロセッサのようなアプリケーションを操作したり、及び／又は、アバターや画面上のキャラクタに動きを与えたりすることができる。例えば、図２に示されるように、計算機環境１２は、ジェスチャライブラリ１９０を含んでよい。ジェスチャライブラリ１９０は、ジェスチャフィルタの集合を含み得る。ジェスチャフィルタのそれぞれは、（ユーザの動きに合わせて）骨格モデルが行うジェスチャに関する情報を備える。カメラ２６，２８及びキャプチャ装置２０によりキャプチャされた骨格モデルの形式のデータ、及びそれに関連付いた動きは、ジェスチャライブラリ１９０のジェスチャフィルタと比較されて、（骨格モデルによって表現された）ユーザがいつ、１つ以上のジェスチャを行ったのかを特定することができる。それらのジェスチャは、アプリケーションの様々な操作に関係付けることができる。このように、計算機環境１２は、ジェスチャライブラリ１９０を使用して、骨格モデルの動きを解釈し、その動きに基づいてアプリケーションを操作することができる。
【００２８】
図３は、目標認識・分析・追跡システムにおける１つ以上のジェスチャを解釈し、目標認識・分析・追跡システムによって表示されるアバターや画面上のキャラクタに動きを与えるために用いることができる、計算機環境の一例の実施態様を示すものである。図１Ａ−２に関して上述された計算機環境１２等の計算機環境は、例えばゲームコンソール等のマルチメディアコンソール１００であり得る。図３に示されるように、マルチメディアコンソール１００は、１次キャッシュ１０２、２次キャッシュ１０４、及びフラッシュＲＯＭ（リードオンリメモリ）１０６を備えた中央処理装置（ＣＰＵ）１０１を有する。１次キャッシュ１０２及び２次キャッシュ１０４は、データを一時的に格納してメモリアクセスサイクルの数を削減し、これにより、処理速度及びスループットを向上させる。ＣＰＵ１０１は１つ以上のコア、したがって追加の１次及び２次キャッシュ１０２，１０４を有するものとして提供され得る。フラッシュＲＯＭ１０６は、マルチメディアコンソール１００がパワーオンされた時の起動プロセスの初期段階の間にロードされる、実行可能なコードを格納することができる。
【００２９】
画像処理装置（ＧＰＵ）１０８及びビデオエンコーダ／ビデオコーデック（コーダ／デコーダ）１１４は、高速・高精細な画像処理のための映像処理パイプラインを形成する。データは、バスを介して画像処理装置１０８からビデオエンコーダ／ビデオコーデック１１４へ転送される。画像処理パイプラインは、テレビ又は他のディスプレイへの伝送のため、データをＡ／Ｖ（映像／音声）ポート１４０へ出力する。メモリコントローラ１１０は、ＧＰＵ１０８へ接続されて、限定はされないが、例えばＲＡＭ（ランダムアクセスメモリ）等の様々なタイプのメモリ１１２へのプロセッサアクセスを可能とする。
【００３０】
マルチメディアコンソール１００は、Ｉ／Ｏコントローラ１２０、システム管理コントローラ１２２、音声処理装置１２３、ネットワークインターフェースコントローラ１２４、第１ＵＳＢホストコントローラ１２６、第２ＵＳＢコントローラ１２８、及びフロントパネルＩ／Ｏサブアセンブリ１３０を含み、これらはモジュール１１８上に好適に実装される。ＵＳＢコントローラ１２６及び１２８は、周辺機器コントローラ１４２（１）−１４２（２）、無線アダプタ１４８、及び外部記憶装置１４６（例えば、フラッシュメモリ、外部ＣＤ／ＤＶＤＲＯＭドライブ、リムーバブルメディア等）のホストとして動作する。ネットワークインターフェース１２４及び／又は無線アダプタ１４８は、ネットワーク（例えば、インターネット、ホームネットワーク等）へのアクセスを提供し、イーサネットカード、モデム、ブルートゥースモジュール、ケーブルモデム、又はそれらの同類物を含む、幅広い様々な有線又は無線アダプタ部品のいずれかであり得る。
【００３１】
システムメモリ１４３は、起動プロセスの間にロードされるアプリケーションデータを格納するために提供される。メディアドライブ１４４は、ＤＶＤ／ＣＤドライブ、ハードドライブ、又は他のリムーバブルメディアドライブ等を含んでよい。メディアドライブ１４４は、マルチメディアコンソール１００の内部にあっても外部にあってもよい。アプリケーションデータは、メディアドライブ１４４を介してアクセスされ、マルチメディアコンソール１００によって実行され再生されることができる。メディアドライブ１４４は、シリアルＡＴＡバスや他の高速接続（例えばＩＥＥＥ１３９４）等のバスを介して、Ｉ／Ｏコントローラ１２０に接続される。
【００３２】
システム管理コントローラ１２２は、マルチメディアコンソール１００の有用性を確保することに関連した様々なサービス機能を提供する。音声処理装置１２３及びオーディオコーデック１３２は、高忠実度でステレオ処理の、対応する音声処理パイプラインを形成する。音声データは、通信リンクを介して音声処理装置１２３とオーディオコーデック１３２の間で転送される。音声処理パイプラインは、外部のオーディオプレーヤ又はオーディオの能力を有した装置による再生のため、データをＡ／Ｖポート１４０へ出力する。
【００３３】
フロントパネルＩ／Ｏサブアセンブリ１３０は、ＬＥＤ（発光ダイオード）やマルチメディアコンソール１００の外装面に露出した他の指示器に加えて、電源ボタン１５０及び取出しボタン１５２の機能をサポートする。システム電源供給モジュール１３６は、マルチメディアコンソール１００の部品へ電源を供給する。ファン１３８は、マルチメディアコンソール１００内部の電気回路を冷却する。
【００３４】
ＣＰＵ１０１、ＧＰＵ１０８、メモリコントローラ１１０、及びマルチメディアコンソール１００内の様々な他の部品は、シリアル及びパラレルバス、メモリバス、周辺機器バス、及び様々なバスアーキテクチャのいずれかを用いたプロセッサ又はローカルバスを含む、１つ以上のバスを介して相互接続される。例として、そのようなアーキテクチャは、周辺機器部品相互接続（ＰＣＩ）バス、ＰＣＩ−Ｅｘｐｒｅｓｓバス等を含むことができる。
【００３５】
マルチメディアコンソール１００がパワーオンされると、アプリケーションデータがシステムメモリ１４３からメモリ１１２及び／又はキャッシュ１０２，１０４へロードされてＣＰＵ１０１上で実行され得る。アプリケーションは、マルチメディアコンソール１００上で利用可能な異なるメディアタイプへナビゲートする際にユーザと調和した体験をもたらすグラフィカルユーザインターフェイスを提供することができる。アプリケーション及び／又はメディアドライブ１４４内に収容された他の媒体は、実行される時、メディアドライブ１４４から開始され実行されて、マルチメディアコンソール１００に付加的な機能を提供することができる。
【００３６】
マルチメディアコンソール１００は、単にテレビ又は他のディスプレイに接続されて、スタンドアロンシステムとして動作してもよい。このスタンドアロンの方式において、マルチメディアコンソール１００は、１以上のユーザがシステムと対話し、映画を鑑賞し、又は音楽を鑑賞することを可能とする。しかしながら、ネットワークインターフェース１２４又は無線アダプタ１４８を通じて利用可能となるブロードバンド接続と融合することによって、マルチメディアコンソール１００は更に、より大きなネットワーク共同体の一参加者として動作することもできる。
【００３７】
マルチメディアコンソール１００がパワーオンされると、所定量のハードウェアリソースがシステム利用のためマルチメディアコンソールのオペレーティングシステムによって予約される。これらのリソースには、メモリ（例えば１６ＭＢ）、ＣＰＵ及びＧＰＵサイクル（例えば５％）、ネットワーク帯域幅（例えば８ｋｂｐｓ）等の予約が含まれ得る。これらのリソースはシステムの起動時に予約されるので、予約されたリソースはアプリケーションから見ることはできない。
【００３８】
特に、メモリの予約は、開始カーネル、同時に実行するアプリケーション、及びドライバを収容するのに十分な大きさであることが好適である。ＣＰＵの予約は一定量であることが好適であり、もし予約されたＣＰＵ処理がシステムアプリケーションによって使用されなければ、アイドル状態のスレッドが未使用のサイクルを消費する。
【００３９】
ＧＰＵの予約に関しては、システムアプリケーションによって生成された軽いメッセージ（例えばポップアップ）が、スケジュールされたコードに対するＧＰＵの割り込みを用いポップアップを重ね合わせて描画することによって、表示される。重ね合わせに要求されるメモリの量は、重ね合わせエリアの大きさに依存し、重ね合わせはスクリーンの解像度によって好適に決定される。同時に実行されるシステムアプリケーションによってユーザインターフェースが目一杯に使用される場合は、アプリケーションの解像度に依らない解像度を用いることが好適である。周波数変更及びＴＶの再同期の必要を排除すべく、計数回路を用いてこの解像度を設定することができる。
【００４０】
マルチメディアコンソール１００が起動しシステムリソースが予約された後、同時実行されるシステムアプリケーションが実行されてシステムの機能を提供する。システムの機能は、上述の予約されたシステムリソース内で実行される一組のシステムアプリケーションの中に包み込まれる。オペレーティングシステムのカーネルは、ゲームアプリケーションのスレッドに対しシステムアプリケーションのスレッドであるスレッドを特定する。システムアプリケーションは、予め定められた時間及び休止期間でＣＰＵ１０１上で実行されるよう好適にスケジュールされ、調和したシステムリソースをアプリケーションから見ることができる。このスケジューリングは、コンソールで実行しているゲームアプリケーションに関するキャッシュの破棄を最小化するよう、行われるべきである。
【００４１】
同時実行されるシステムアプリケーションが音声を必要とする場合、時間的な感度のためゲームアプリケーションとは非同期的に、音声処理がスケジュールされる。マルチメディアコンソールのアプリケーションマネージャ（後述）は、システムアプリケーションが動作中であればゲームアプリケーションの音量（例えば、ミュート、音量を下げる）を制御する。
【００４２】
入力装置（例えば、コントローラ１４２（１）及び１４２（２））は、ゲームアプリケーションとシステムアプリケーションで共用される。入力装置は予約されたリソースではなく、システムアプリケーションとゲームアプリケーションの間で切り替えを行って、それぞれが装置を主導するようにしなければならない。アプリケーションマネージャは、入力ストリームの切り替えを好適に制御する。これには、ゲームアプリケーションの情報及びドライバが保持している主導権の切り替えに関する状態情報は不要である。カメラ２６，２８及びキャプチャ装置２０は、コンソール１００の付加的な入力装置を定義してもよい。
【００４３】
図４は、目標認識・分析・追跡システムにおける１つ以上のジェスチャを解釈し、目標認識・分析・追跡システムによって表示されるアバターや画面上のキャラクタに動きを与えるために用いることができる、計算機環境２２０の一例の実施態様を示すものである。この計算機環境２２０は、図１Ａ−２に示された計算機環境１２であり得る。計算システム環境２２０は、計算機環境の相応しい１つの例に過ぎず、ここに開示された対象の使用又は機能の範囲に関して如何なる制限をも示唆することを意図するものではない。計算機環境２２０はまた、適例の動作環境２２０に示された部品のいずれか１つ又はその組み合わせに関して、如何なる依存性又は必要条件をも有するものと解釈されてはならない。いくつかの実施態様において、説明された様々な計算機要素は、本開示の特定の側面を例示するよう構成された電気回路を含むことがある。例えば、本開示で用いられる電気回路という用語は、ファームウェア又はスイッチによって機能を実施するよう構成された専用のハードウェア部品を含むことができる。他の実施態様の例において、電気回路という用語は、機能を実施すべく論理的に動作可能なように具体化されるソフトウェアの命令で構成された、汎用的用途の処理装置、メモリ等を含むことができる。電気回路がハードウェアとソフトウェアの結合を含む実施態様の例において、実装者が論理を具体化するソースコードを記述し、そのソースコードが、汎用的用途の処理装置により処理され得る機械読み取り可能なコードにコンパイルされることができる。現在の技術水準はハードウェア、ソフトウェア、又はハードウェアとソフトウェアの組み合わせの間にはほとんど差が無いところまで発展したことを当業者は認識できるから、特定の機能を達成するためにハードウェアとソフトウェアの選択をすることは、実装者に委ねられた設計的な選択事項である。より明確に言えば、当業者は、ソフトウェアの処理はそれと等価なハードウェアの構造に変換できること、及びハードウェアの構造はそれ自身、それと等価なソフトウェアの処理変換できることを認識することができる。このように、ハードウェアの実装とソフトウェアの実装を選択することは、設計的な選択事項の１つであり、実装者に委ねられていることである。
【００４４】
図４において、計算機環境２２０は、コンピュータ２４１を備える。このコンピュータ２４１は、通常様々なコンピュータ読み取り可能媒体を含む。コンピュータ読み取り可能媒体は、コンピュータ２４１によってアクセスできる任意の利用可能な媒体とすることができ、揮発性及び不揮発性媒体、リムーバブル及び非リムーバブル媒体の両方を含む。システムメモリ２２２は、リードオンリメモリ（ＲＯＭ）２２３及びランダムアクセスメモリ（ＲＡＭ）２６０のような揮発性及び／又は不揮発性メモリの形態のコンピュータ記憶媒体を含む。基本入出力システム２２４（ＢＩＯＳ）は、スタートアップ時等にコンピュータ２４１内の要素間で情報を転送する役目を果たす基本ルーチンを収容するものであり、通常ＲＯＭ２２３に格納される。ＲＡＭ２６０は通常、処理装置２５９によって直接アクセス可能及び／又は動作される、データ及び／又はプログラムモジュールを収容する。例として、また限定ではなく、図４はオペレーティングシステム２２５、アプリケーションプログラム２２６、他のプログラムモジュール２２７、及びプログラムデータ２２８を示している。
【００４５】
コンピュータ２４１はまた、他のリムーバブル／非リムーバブル、揮発性／不揮発性コンピュータ記憶媒体を含んでもよい。単なる例として、図４は、非リムーバブルで不揮発性の磁気媒体から読み出し／へ書き込みを行うハードディスクドライブ２３８、リムーバブルで不揮発性の磁気ディスク２５４から読み出し／へ書き込みを行う磁気ディスクドライブ２３９、及び、リムーバブルで不揮発性のＣＤＲＯＭや他の光媒体等の光ディスク２５３から読み出し／へ書き込みを行う光ディスクドライブ２４０を示している。適例の動作環境で使用することができる他のリムーバブル／非リムーバブル、揮発性／不揮発性コンピュータ記憶媒体は、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭ、及びこれらの同類物を含むが、限定はされない。ハードディスクドライブ２３８は、インターフェース２３４のような非リムーバブルメモリインターフェースを通じて、通常システムバス２２１に接続される。磁気ディスクドライブ２３９及び光ディスクドライブ２４０は、インターフェース２３５のようなリムーバブルメモリインターフェースによって、通常システムバス２２１に接続される。
【００４６】
上で議論され図４に示されたドライブ及びそれに関係付けられたコンピュータ記憶媒体は、コンピュータ読み取り可能命令、データ構造、プログラムモジュール、及びコンピュータ２４１のための他のデータを格納することを可能にする。図４において、例えば、ハードディスクドライブ２３８は、オペレーティングシステム２５８、アプリケーションプログラム２５７、他のプログラムモジュール２５６、及びプログラムデータ２５５を格納するように示されている。これらの要素は、オペレーティングシステム２２５、アプリケーションプログラム２２６、他のプログラムモジュール２２７、及びプログラムデータ２２８と同じであるか、或いは異なっているか、そのいずれでもあり得ることに注意されたい。オペレーティングシステム２５８、アプリケーションプログラム２５７、他のプログラムモジュール２５６、及びプログラムデータ２５５は、最低限それらが異なるコピーであることを示すために、ここでは異なる符号を与えられている。ユーザは、一般にマウス、トラックボール、又はタッチパッドとして参照されるキーボード２５１及びポインティングデバイス２５２といった入力装置を通じて、コンピュータ２４１にコマンド及び情報を入力することができる。他の入力装置（不図示）は、マイクロホン、ジョイスティック、ゲームパッド、衛星放送用アンテナ、スキャナ、又はそれらの同類物を含んでもよい。これらの及び他の入力装置は、多くの場合、システムバスに結合されたユーザ入力インターフェース２３６を通じて処理装置２５９に接続されるが、パラレルポート、ゲームポート、又はユニバーサルシリアルバス（ＵＳＢ）等の他のインターフェース及びバス構造によって接続されてもよい。カメラ２６，２８及びキャプチャ装置２０は、コンソール１００の付加的な入力装置を定義してもよい。モニタ２４２又は他のタイプの表示装置もまた、ビデオインターフェース２３２のようなインターフェースを介してシステムバス２２１に接続される。モニタに加えて、コンピュータは、スピーカ２４４及びプリンタ２４３等の他の周辺出力装置をも含んでよい。この周辺出力装置は、出力周辺機器インターフェース２３３を通じて接続され得る。
【００４７】
コンピュータ２４１は、リモートコンピュータ２４６等の１つ以上のリモートコンピュータへの論理的な接続を使用したネットワーク環境において動作することができる。リモートコンピュータ２４６は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア装置、又は他の一般的なネットワークノードとすることができ、通常は上述されたコンピュータ２４１に関連する要素の多数又は全てを含む。但し、図４ではメモリ記憶装置２４７のみが示されている。図４に記述された論理的な接続は、ローカルエリアネットワーク（ＬＡＮ）２４５及びワイドエリアネットワーク（ＷＡＮ）２４９を含むが、他のネットワークも含まれてよい。そのようなネットワーク環境は、職場や企業全体のコンピュータネットワーク、イントラネット、及びインターネットにおいてありふれたものである。
【００４８】
ＬＡＮのネットワーク環境で用いられる場合、コンピュータ２４１は、ネットワークインターフェース又はアダプタ２３７を通じてＬＡＮ２４５に接続される。ＷＡＮのネットワーク環境で用いられる場合、コンピュータ２４１は通常、モデム２５０、又はインターネット等のＷＡＮ２４９を介した通信を確立するための他の手段を含む。モデム２５０は、内蔵型又は外付け型であってよく、ユーザ入力インターフェース２３６又は他の適当な仕組みを介してシステムバス２２１に接続され得る。ネットワーク接続された環境において、コンピュータ２４１に関連して述べられたプログラムモジュールまたはその一部分は、リモートのメモリ記憶装置に格納されてもよい。例として、限定ではないが、図４は、メモリ装置２４７上に存在するものとしてリモートアプリケーションプログラム２４８を示している。ここに示されたネットワーク接続は適例であって、コンピュータ間の通信リンクを確立する他の手段が用いられ得ることは、理解されるだろう。
【００４９】
図５は、ある光景においてユーザを追跡するための一例の方法３００の流れ図を描いたものである。一例の方法３００は、例えば、図１Ａ−４に関して述べられた目標認識・分析・追跡システム１０のキャプチャ装置２０及び／又は計算機環境１２を用いて実装することができる。一例の実施態様において、一例の方法３００は、例えば図１Ａ−４に関して述べられた目標認識・分析・追跡システム１０のキャプチャ装置２０及び／又は計算機環境１２によって実行され得る、プログラムコード（即ち命令）の形式をとることができる。
【００５０】
１つの実施態様によれば、３０５において、奥行き画像が取得され得る。例えば、目標認識・分析・追跡システムは、図１Ａ−２に関して上述されたキャプチャ装置２０等のキャプチャ装置を含んでよい。キャプチャ装置は、１つ以上の目標を含み得るある光景をキャプチャし、或いは観測することができる。一例の実施態様において、キャプチャ装置は、飛行時間分析、構造化ライト分析、ステレオビジョン分析、又はそれらの同類物等の任意の相応しい処理方法を用いて、その光景の奥行き画像等の画像を獲得するよう構成された奥行きカメラであり得る。
【００５１】
奥行き画像は、複数の観測されたピクセルであり得る。観測されたピクセルのそれぞれは、観測された奥行き値を有する。例えば、奥行き画像は、キャプチャされた光景の２次元（２Ｄ）ピクセルエリアを含むことができ、２Ｄピクセルエリア中のそれぞれのピクセルは、キャプチャされた光景内の物体のキャプチャ装置からの長さ又は距離（例えばセンチメートル、ミリメートル、又は同類物）等の、奥行き値を有することができる。
【００５２】
図６は、３０５において取得され得る奥行き画像４００の一例の実施態様を示すものである。一例の実施態様によれば、奥行き画像４００は、例えば、図２に関して上述されたキャプチャ装置２０の３Ｄカメラ２６及び／又はＲＧＢカメラ２８によってキャプチャされた光景の画像又はフレームであり得る。図６に示されるように、奥行き画像４００は、例えば図１及び１Ｂに関して上述されたユーザ１８のようなユーザに相当する人物目標４０２ａと、キャプチャされた光景内の壁、テーブル、モニタ、又はそれらの同類物等の１つ以上の非人物目標４０４とを含んでよい。上述されたように、奥行き画像４００は、複数の観測されたピクセルを含んでよく、観測されたピクセルのそれぞれは、それに関係付けられた観測された奥行き値を有する。例えば、奥行き画像４００は、キャプチャされた光景の２次元（２Ｄ）ピクセルエリアを含んでよく、２Ｄピクセルエリアの特定のＸ値及びＹ値を持つピクセルのそれぞれは、キャプチャされた光景内の目標又は物体のキャプチャ装置からの長さ又は距離（例えばセンチメートル、ミリメートル、又は同類物）等の奥行き値を有することができる。
【００５３】
１つの実施態様において、奥行き画像４００は、奥行き画像のピクセルの異なる色が人物目標４０２ａ及び非人物目標４０４のキャプチャ装置からの異なる距離に対応し、及び／又はそれを視覚的に表現するように、色分けされてもよい。例えば、キャプチャ装置に最も近い目標に関係付けられたピクセルは、奥行き画像において赤及び／又はオレンジ色の陰影で彩色され、一方より遠い目標に関係付けられたピクセルは、奥行き画像において緑及び／又は青の陰影で彩色されてよい。
【００５４】
図５に戻り、１つの実施態様において、画像を取得すると、３０５において、分散が大きく及び／又はノイズ的な１つ以上の奥行き値が、奥行き画像から除去及び／又は平滑化され得る。欠落及び／又は除去された奥行き情報の一部分は、補填及び／又は復元され得る。そして／或いは、任意の他の相応しい処理が、取得された奥行き画像に対してなされてもよい。奥行き画像に関係付けられた奥行き情報が用いられて、骨格モデル等のモデルを生成することができる。その詳細は以下で述べられるだろう。
【００５５】
一例の実施態様によれば、３１０において、１つ以上のボクセルからなる格子が、取得された奥行き画像に基づいて生成され得る。例えば、目標認識・分析・追跡システムは、取得された奥行き画像に含まれる情報を用いて１つ以上のボクセルを生成することにより取得された奥行き画像をダウンサンプリングして、ダウンサンプリングされた奥行き画像を生成することができる。１つの実施態様において、この１つ以上のボクセルは、サブサンプリングされた格子上の取得された奥行き画像に含まれる情報のデータ又は値を表す体積要素であり得る。
【００５６】
例えば、上述したように、奥行き画像は、キャプチャされた光景の２Ｄピクセルエリアを含んでよく、ピクセルのそれぞれは、それに関係付けられたＸ値、Ｙ値、及び奥行き値（即ちＺ値）を有し得る。１つの実施態様において、奥行き画像は、２Ｄピクセルエリアのピクセルを減じて１つ以上のボクセルからなる格子とすることによって、ダウンサンプリングすることができる。例えば、奥行き画像は、部分、又は、４×４のピクセルからなるブロック、５×５のピクセルからなるブロック、８×８のピクセルからなるブロック、１０×１０のピクセルからなるブロック、又はこれらの同類物等の、複数ピクセルからなるブロックに分割することができる。それぞれの部分又はブロックは、その奥行き画像についてのボクセルを生成するよう処理され得る。このボクセルは、現実世界空間における２Ｄ奥行き画像のピクセルに関係付けられた当該部分又はブロックの位置を表し得るものである。一例の実施態様によれば、それぞれのボクセルの位置は、例えば、ボクセルが表しているブロック又は部分のピクセルに関する有効又は非ゼロの奥行き値の平均値や、ボクセルが表している部分又はブロックのピクセルに関する奥行き値の最小値、最大値、及び／又は中央値や、ボクセルが表している部分又はブロックの有効な奥行き値を持つピクセルに関するＸ値及びＹ値の平均値や、奥行き画像が有する任意の他の相応しい情報に基づいて、生成することができる。このように、一例の実施態様によれば、それぞれのボクセルは、ボクセルが表しているブロック又は部分のピクセルに関する有効又は非ゼロの奥行き値の平均値や、ボクセルが表している部分又はブロックのピクセルに関する奥行き値の最小値、最大値、及び／又は中央値や、ボクセルが表している部分又はブロックの有効な奥行き値を持つピクセルに関するＸ値及びＹ値の平均値や、３０５において取得された奥行き画像のピクセルの部分又はブロックに対応するＸ値、Ｙ値、及び奥行き値に基づいて奥行き画像により提供される任意の他の相応しい情報等の値を持つ奥行き画像の副体積（sub-volume）の部分又はブロックを表すことができる。
【００５７】
１つの実施態様において、ダウンサンプリングされた奥行き画像における１つ以上のボクセルからなる格子は、層構造をなしてよい。例えば、目標認識・分析・追跡システムは、上述されたようにボクセルを生成することができる。次いで、目標認識・分析・追跡システムは、生成したボクセルを、格子上の１つ以上の他の生成されたボクセルに重ねて積み上げることができる。
【００５８】
一例の実施態様によれば、目標認識・分析・追跡システムは、格子のボクセルを、例えば奥行き画像にキャプチャされ得る光景に含まれる物体のエッジ部分の周囲に積み上げることができる。例えば、３０５において取得された奥行き画像は、人物目標及び壁等の非人物目標を含み得る。人物目標は、例えばそのエッジ部分において、壁等の非人物目標とオーバーラップしていてよい。１つの実施態様において、オーバーラップしているエッジ部分は、奥行き画像にキャプチャされ得る人物目標及び非人物目標に関係付けられた奥行き値、Ｘ値、Ｙ値、又はそれらの同類物等の情報を含み得る。目標認識・分析・追跡システムは、ボクセルが積み上げられ、オーバーラップしているエッジ部分の奥行き値、Ｘ値、Ｙ値、又はそれらの同類物等の情報が格子内で保持されるように、オーバーラップしているエッジ部分において、人物目標に関係付けられたボクセル及び非人物目標に関係付けられたボクセルを生成することができる。
【００５９】
別の実施態様によれば、３１０において、１つ以上のボクセルの格子は、例えば３０５で取得され得る奥行き画像のピクセルに関する奥行き値、Ｘ値、Ｙ値、又はそれらの同類物等の情報を、３次元（３Ｄ）空間に投影することによって、生成することができる。例えば、目標認識・分析・追跡システムは、カメラ、画像、又は遠近法による変換等の、情報が３Ｄ空間の台形又は角錐形状に変換されるような変換を用いて、奥行き画像のピクセルに関する奥行き値、Ｘ値、Ｙ値、又はそれらの同類物等の情報を３Ｄ空間の３Ｄ座標点にマッピングすることができる。１つの実施態様において、台形又は角錐形状を有する３Ｄ空間は、立方体等のブロックに分割されてもよい。この立方体は、ブロック又は立方体のそれぞれが格子内のボクセルを表すように、ボクセルの格子を形作ることができる。例えば、目標認識・分析・追跡システムは、３Ｄの格子を奥行き画像内の物体に対応する３Ｄの座標点の上に重ね合わせることができる。次いで、目標認識・分析・追跡システムは、ボクセルを表すブロックに格子を分割又は細分化して、奥行き画像をより低い解像度にダウンサンプリングすることができる。一例の実施態様によれば、格子内のボクセルのそれぞれは、ボクセルが表している格子の３Ｄ空間に関係付けられたピクセルに関する有効又は非ゼロの奥行き値の平均値、ボクセルが表している格子の３Ｄ空間に関係付けられたピクセルの奥行き値の最小値及び／又は最大値、ボクセルが表している格子の３Ｄ空間に関係付けられた有効な奥行き値を持つピクセルに関するＸ値及びＹ値の平均値、又は奥行き画像が有する任意の他の相応しい情報を含んでよい。
【００６０】
図７Ａ−７Ｂは、奥行き画像の一部分がダウンサンプリングされる一例の実施態様を示すものである。例えば、図７Ａに示されるように、図６に関して上述された奥行き画像４００の一部分４１０は、複数のピクセル４２０を含み得る。それぞれのピクセル４２０は、それに関係付けられたＸ値、Ｙ値、及び奥行き値（即ちＺ値）を有することができる。１つの実施態様によれば、上述したように、奥行き画像４００等の奥行き画像は、２Ｄピクセルエリアのピクセルを１つ以上のボクセルからなる格子に減じることによって、ダウンサンプリングされ得る。例えば、図７Ａに示されるように、奥行き画像４００の一部分４１０は、ピクセル４２０からなる８×８のブロックのように、ピクセル４２０からなる一部分又はブロック４３０に分割されることができる。目標認識・分析・追跡システムは、一部分又はブロック４３０を処理して、図７Ａ−７Ｂに示されるように現実世界空間においてピクセル４２０に関係付けられた一部分又はブロック４３０の位置を表すボクセル４４０を生成することができる。
【００６１】
図５に戻り、３１５において、ダウンサンプリングされた奥行き画像から背景が除去され得る。例えば、ダウンサンプリングされた奥行き画像内の非人物の目標又は物体等の背景が除去されて、ユーザに関係付いた人物目標等の前景物体を分離することができる。１つの実施態様において、上述されたように、目標認識・分析・追跡システムは、キャプチャ又は観測された奥行き画像についての１つ以上のボクセルの格子を生成することによって、そのキャプチャ又は観測された奥行き画像をダウンサンプリングすることができる。目標認識・分析・追跡システムは、ダウンサンプリングされた奥行き画像のボクセルそれぞれを分析して、ボクセルが奥行き画像内の１つ以上の非人物目標のような背景物体に関係付けられたものであるかどうかを決定することができる。もしボクセルが背景物体に関係付けられたものであれば、そのボクセルは、ダウンサンプリングされた奥行き画像から除去又は廃棄されて、人物目標等の前景物体とその前景物体に関係付けられた格子内の１つ以上のボクセルを分離することができる。
【００６２】
１つの実施態様によれば、目標認識・分析・追跡システムは、それぞれのボクセルを分析して、それに関係付けられた物体を決定することができる。例えば、上述したように、図６に関して上述された奥行き画像４００等の奥行き画像として３０５において観測又はキャプチャされたある光景には、複数の物体が含まれ、これら物体には、１つ以上の人物目標、及び／又は、壁、テーブル、ソファ、ランプ、又はそれらの同類物等の、１つ以上の非人物目標が含まれ得る。１つの実施態様において、目標認識・分析・追跡システムは、格子内のそれぞれのボクセルを分析して、そのボクセルが光景の中のどの物体と関係付けられているかを決定することができ、目標認識・分析・追跡システムは、３１５において光景の中のそれぞれの物体に関係付けられたボクセルを特定することができる。このように、一例の実施態様によれば、もし人物目標即ち人が光景の中において壁の前に立っていれば、目標認識・分析・追跡システムは、それぞれのボクセルを分析して、そのボクセルが人物目標と関係付くものなのか、壁と関係付くものなのかを決定することができる。
【００６３】
ボクセルが光景の中のどの物体に関係付くものであるかを決定するために、目標認識・分析・追跡システムは、ボクセルが表しているブロック又は部分のピクセルに関する有効又は非ゼロの奥行き値の平均値、ボクセルが表している部分又はブロックのピクセルの奥行き値の最小値及び／又は最大値、ボクセルが表している有効な奥行き値を持つピクセルに関するＸ値及びＹ値の平均値、又は、隣接又は近接するボクセルに関する任意の他の相応しい情報等、これらの値を比較することができる。例えば、１つの実施態様において、格子の中の分析対象である特定のボクセルと関係付いている奥行き値の平均値は、格子の中の分析対象である特定のボクセルと隣り合ったそれぞれのボクセルの奥行き値の平均値と比較され得る。もし分析対象である特定のボクセルの奥行き値の平均値と、それと隣り合ったボクセルの奥行き値の平均値との差異がある閾値よりも小さければ、その特定のボクセル及び隣り合ったボクセルは、同一の物体に属するものとして特定することができる。もし分析対象である特定のボクセルの奥行き値の平均値と、それと隣り合ったボクセルの奥行き値の平均値との差異が上記閾値よりも大きければ、その特定のボクセル及び隣り合ったボクセルは、別々の物体に属するものとして特定することができる。一例の実施態様によれば、上記閾値は、例えば目標認識・分析・追跡システムにより生成され、ボクセルが同一の物体の一部である可能性又は確率に基づき予め定められた値であり得る。このように、一例の実施態様によれば、もし人物目標即ち人が奥行き画像によりキャプチャ又は観測された光景の中において壁の前に立っていれば、目標認識・分析・追跡システムは、その奥行き画像に対して生成されたそれぞれのボクセルを分析して、そのボクセルが人物目標と関係付くものなのか、壁と関係付くものなのかを決定することができる。
【００６４】
取得された奥行き画像の光景の中の物体及びそれに関係付いたボクセルを特定した後、次いで、目標認識・分析・追跡システムは、特定された物体のそれぞれに関係付けられた情報を演算することができる。例えば、目標認識・分析・追跡システムは、特定された物体のそれぞれについての世界空間の最大値、世界空間の位置の最小値、及び世界空間の位置の平均値、又はそれらの同類物を演算することができる。
【００６５】
１つの実施態様において、目標認識・分析・追跡システムは更に、光景の中の特定された物体のうちの１つ以上がその光景の中の他の物体と結合されるべきであるかを３１５において決定することができる。例えば、物体の一部分は、３０５で取得された奥行き画像においてその物体の別の一部分から離れていることがある。１つの実施態様において、物体の当該一部分は、例えば光景に含まれるその物体や別の物体、又はその同類物が投げかける赤外光の当たらない影によって、その物体の別の一部分から離れていることがある。別例の実施態様において、物体の当該一部分は、例えばその物体に関係付けられた色、テクスチャ、パターン、又はそれらの同類物によって、その物体の別の一部分から離れていることがある。例えば、人物目標の頭部は、例えば頭髪、様々な衣類、又はそれらの同類物によって、Ｙ方向のＹ平面に沿ってその人物目標の胴体から離れていることがある。
【００６６】
光景の中で特定された物体が実際にはその光景の中で特定された別の物体の一部分であるのかを決定するために、目標認識・分析・追跡システムは、当該物体に関係付けられたボクセルのＸ値及び奥行き値を近接した物体に関係付けられたボクセルのＸ値及び奥行き値と比較することができる。例えば、目標認識・分析・追跡システムは、例えば光景の中で特定された第１の物体に関係付けられた１つ以上のボクセルのＸ値及び奥行き値を、第１の物体に近接又は隣り合った第２の物体に関係付けられた１つ以上のボクセルのＸ値及び奥行き値と比較することができる。このように、一例の実施態様によれば、目標認識・分析・追跡システムは、光景の中のボクセルを分析して、第１及び第２の物体がＸ方向において定義されたＸ平面及び／又はＺ方向において定義されたＺ平面に沿って重なり合うかどうかを決定することができ、当該第１及び第２の物体は、同一物体の一部分であるとして特定され結合され得る。
【００６７】
１つの実施態様によれば、もし第１の物体に関係付けられた１つ以上のボクセルのＸ値及び奥行き値が第２の物体に関係付けられた１つ以上のボクセルのＸ値及び奥行き値と重なり合えば、目標認識・分析・追跡システムは、第１及び第２の物体を結合して、第１及び第２の物体を共通の物体の一部分として特定することができる。例えば、もし第１の物体に関係付けられた第１のボクセルがＸ方向に沿って５というＸ値及び第１の物体の右外側エッジにおいて１０ｍｍという奥行き値を持ち、第２の物体に関係付けられた第２のボクセルがＸ方向に沿って３というＸ値及び第２の物体の左外側エッジにおいて１０ｍｍという奥行き値を持つのであれば、目標認識・分析・追跡システムは、第１及び第２の物体は重なり合うと判断することができる。次いで、目標認識・分析・追跡システムは、第１及び第２の物体を結合して、第１及び第２の物体を同一の物体の一部分として特定することができる。
【００６８】
加えて、光景の中で特定された物体が実際にはその光景の中で特定された別の物体の一部分であるのかを決定するために、目標認識・分析・追跡システムは、ある物体に対して定義された境界ボックスがその光景の中の別の物体の境界ボックスと重なり合うかどうかを判断することができる。例えば、目標認識・分析・追跡システムは、特定された物体のそれぞれについて境界ボックスを定義することができる。目標認識・分析・追跡システムは、次いで、１つ以上の物体の境界ボックスが重なり合うかどうかを、上述したように例えば物体に含まれる１つ以上のボクセルのＸ値、Ｙ値、及び／又は奥行き値に基づいて決定することができる。
【００６９】
別例の実施態様によれば、目標認識・分析・追跡システムは、例えばその物体に含まれるボクセルのＸ値、Ｙ値、及び奥行き値を平均化することによって、それぞれの物体の中心点又は重心点を決定することができる。目標認識・分析・追跡システムは、次いで、その光景に含まれる物体の重心点又は中心点間の距離を決定して、その光景において特定された物体が実際にはその光景で特定された別の物体の一部分であるかどうかを判断することができる。物体間の距離に基づいて、目標認識・分析・追跡システムは、１つ以上の物体を結合することができる。例えば、目標認識・分析・追跡システムは、第１の物体の重心点又は中心点と第２の物体の中心点又は重心点との間の距離を決定することができる。もし第１の物体と第２の物体の重心点又は中心点間の距離が第１及び第２の物体は結合されるべきであることを示す予め定められた範囲内であれば、目標認識・分析・追跡システムは、物体を結合して、第１及び第２の物体を同一物体の一部分であるとして特定することができる。
【００７０】
１つの実施態様において、目標認識・分析・追跡システムは更に、その光景において特定された物体のうちの１つ以上が分離されるべきであるかを３１５において決定することができる。例えば、３１５においてその光景で特定された１つの物体は、実際には２つの分離した物体であることがある。その光景の中の１つの物体が分離されるべきであるかを決定するために、目標認識・分析・追跡システムは、先に取得されたフレームに対して決定されたそれぞれの物体の中心の位置を特定することができる。１つの実施態様によれば、目標認識・分析・追跡システムは、次いで、３０５で取得されたフレームの奥行き画像に対して生成された、その光景内のボクセルを同時に塗り潰すことができる。この処理は、先に取得されたフレームの物体から決定される中心位置から開始される。目標認識・分析・追跡システムは、次いで、塗り潰されたボクセルが先に取得されたフレーム内のいずれの物体により近いかを、その物体の先の位置を用いて決定することができる。目標認識・分析・追跡システムは、３１５において、もし塗り潰されたボクセルが先に取得されたフレームで特定された別の物体により近ければ、１つの物体を分割することができる。
【００７１】
３１５において、目標認識・分析・追跡システムは、次いで、特定された物体が非人物目標のような背景物体であるか人物目標のような前景物体であるかを判断することができる。一例の実施態様によれば、目標認識・分析・追跡システムは、特定された物体が運動状態にある又は動いているかどうかに基づいて、当該特定された物体が背景物体であるか前景物体であるかを決定することができる。例えば、目標認識・分析・追跡システムは、その光景の参照画像等の参照平面を含むことができる。参照画像には、例えば、それぞれのボクセルに関する、動きの無い奥行き情報が含まれる。一例の実施態様によれば、参照平面は、一連のフレームにわたって決定された格子内のボクセルに関する最小のＸ値、Ｙ値、及び奥行き値等の、ボクセルの最小の世界空間位置や、一連のフレームにわたって決定された格子内のボクセルに関する最大のＸ値、Ｙ値、及び奥行き値等の、ボクセルの最大の世界空間位置や、一連のフレームについて決定された格子内のボクセルに関する平均のＸ値、Ｙ値、及び奥行き値等の、ボクセルの平均の世界空間位置や、任意の他の相応しい参照平面を含み得る。別の実施態様において、参照平面は、その光景内のそれぞれのボクセルに関係する移動平均を含んでよい。移動平均は、例えば、先に取得された一連のフレームにわたって決定されたボクセルの奥行き値の平均を含んでよい。
【００７２】
１つの実施態様によれば、目標認識・分析・追跡システムは、例えば３０５で取得された奥行き画像の光景に含まれる、特定された物体に関係するボクセルそれぞれの最大の奥行き値、平均の奥行き値、最小の奥行き値、又はそれらの同類物等の奥行き情報を、参照平面に含まれる対応するボクセルそれぞれの動きの無い奥行き情報と比較することができる。参照平面の対応するボクセルに関する奥行き情報と動きの無い奥行き情報との比較に基づいて、目標認識・分析・追跡システムは、ボクセルを動いているものとして特定することができる。例えば、１つの実施態様において、もしボクセルの最小の奥行き値、最大の奥行き値、及び／又は平均の奥行き値といった奥行き値が、参照平面の対応するボクセルの移動平均よりも小さく、そのボクセルが移動平均の前にあれば、そのボクセルは動いているものとして特定され得る。別例の実施態様によれば、目標認識・分析・追跡システムは、参照平面におけるボクセルとそれに対応するボクセルに関係付けられた値の間の差異を演算することができる。もし、例えばボクセルの平均の奥行き値、最大の奥行き値、及び／又は最小の奥行き値等の奥行き値と、参照平面の対応するボクセルに関する動きの無い情報に含まれる奥行き値との間の差異が、動きに関する閾値よりも大きければ、そのボクセルは目標認識・分析・追跡システムによって動いているものとして特定され得る。
【００７３】
別例の実施態様において、目標認識・分析・追跡システムは、ボクセル及びそれと隣り合ったボクセルの最大の奥行き値、平均の奥行き値、最小の奥行き値、又はそれらの同類物等の奥行き情報を、参照平面に含まれる対応するそれぞれのボクセルに関する動きの無い奥行き情報と比較することができる。例えば、エッジノイズを処理するために、目標認識・分析・追跡システムは、特定のボクセル及びそれと隣り合ったボクセルの最小の奥行き値を参照平面の対応するボクセルと比較して、ボクセル及び／又はそれに関係付けられた物体が動いているかどうかを決定することができる。もし、例えばその特定のボクセル及びそれと隣り合ったボクセルの最小の奥行き値と、参照平面の対応するボクセルに関する動きの無い情報に含まれる最小の奥行き値との差異が、動きに関する閾値よりも大きければ、その特定のボクセルは、目標認識・分析・追跡システムによって動いているものとして特定され得る。
【００７４】
目標認識・分析・追跡システムは、次いで、動いているボクセルの割合に基づいて、特定された物体のそれぞれに対して前景のスコアを演算することができる。１つの実施態様において、目標認識・分析・追跡システムは、島状領域に含まれ動いているものとして特定されたボクセルの数を、島状領域に含まれるボクセルの総数で除算して、前景のスコアを演算することができる。
【００７５】
目標認識・分析・追跡システムは、次いで、スコアの閾値を超える前景スコアを持つ物体を分離することができる。このスコア閾値は、物体が動いていることを示した目標認識・分析・追跡システムによって定義された値又は割合であり得る。例えば、目標認識・分析・追跡システムは、ダウンサンプリングされた奥行き画像から前景スコアに基づき動いていない背景物体を除去又は廃棄して、スコア閾値を超える前景スコアを持つ人物目標のような前景物体をダウンサンプリングされた奥行き画像において分離することができる。一例の実施態様によれば、動いていない物体を除去又は廃棄するために、目標認識・分析・追跡システムは、Ｘ値、Ｙ値、及び／又は奥行き値をゼロ値、又はボクセルが無効であることを示す別の相応しい指標若しくはフラグで置き換えることによって、動きの無い物体に関係付けられたボクセルを除去又は廃棄することができる。
【００７６】
３２０において、１つ以上の人体のパーツ等の１つ以上の末端部位が、人物目標等の分離された前景物体に対して決定され得る。例えば、１つの実施態様において、目標認識・分析・追跡システムは、分離された人物目標に１つ以上のヒューリスティック又はルールを適用して、例えばその分離された人物目標に関係付けられた重心点又は中心点、頭部、肩、胴体、腕部、脚部、又はそれらの同類物を決定することができる。１つの実施態様によれば、これら末端部位の決定に基づいて、目標認識・分析・追跡システムは、分離された人物目標のモデルを生成又は調整することができる。例えば、もし３０５で取得された奥行き画像が図１Ａ−２に関して上述されたキャプチャ装置２０等のキャプチャ装置により観測又はキャプチャされた初期フレームに含まれていれば、３２０で決定された重心点、頭部、肩、腕部、手、脚部、又はそれらの同類物等の末端部位の位置に基づいて、例えばこの末端部位の決定された位置に骨格モデルのジョイントを配置することによって、モデルを生成することができる。その詳細は以下で述べられるだろう。或いはまた、もし奥行き画像がキャプチャ装置によって観測又はキャプチャされた後続の即ち初期フレームでないフレームに含まれていれば、３２０で決定された重心点、頭部、肩、腕部、手、脚部、又はそれらの同類物等の末端部位の位置に基づいて、先行して生成されたモデルを調整することができる。その詳細は以下で述べられるだろう。
【００７７】
一例の実施態様によれば、３１５において人物目標のような前景物体を分離すると、目標認識・分析・追跡システムは、その人物目標に含まれるボクセルの平均を演算して、例えばその人物目標の重心点又は中心点を３２０で見積もることができる。例えば、目標認識・分析・追跡システムは、人物目標の重心点又は中心点の概算値を与える、人物目標に含まれるボクセルの平均位置を演算することができる。１つの実施態様において、目標認識・分析・追跡システムは、人物目標に関係付けられたボクセルの平均位置を、そのボクセルに関するＸ値、Ｙ値、及び奥行き値に基づいて演算することができる。例えば、上述されたように、目標認識・分析・追跡システムは、そのボクセルに関係付けられたピクセルのＸ値を平均化することによりボクセルのＸ値を、そのボクセルに関係付けられたピクセルのＹ値を平均化することによりそのボクセルのＹ値を、及びそのボクセルに関係付けられたピクセルの奥行き値を平均化することによりそのボクセルの奥行き値を、演算することができる。３２０において、目標認識・分析・追跡システムは、人物目標に含まれるボクセルのＸ値、Ｙ値、及び奥行き値を平均化して、人物目標の重心点又は中心点の概算値を与える平均位置を演算することができる。
【００７８】
図８は、人物目標４０２ｂに対して見積もられた重心点又は中心点の一例の実施態様を示すものである。一例の実施態様によれば、重心点又は中心点の位置８０２は、上述されたように、分離された人物目標４０２ｂに関係付けられたボクセルの平均位置に基づくものであり得る。
【００７９】
図５に戻り、目標認識・分析・追跡システムは、次いで、３２０において人物目標に対して境界ボックスを定義して、例えばその人物目標の頭部及び／又は胴体を含むコア体積を決定することができる。例えば、人物目標の重心点又は中心点の概算値を決定すると、目標認識・分析・追跡システムは、Ｘ方向に沿って水平方向に検索を行って、コア体積に関係する境界ボックスを定義するのに用いることができる人物目標の横幅を決定することができる。１つの実施態様によれば、Ｘ方向に沿って水平方向に検索を行って人物目標の横幅を測定するために、目標認識・分析・追跡システムは、重心点又は中心点からＸ軸に沿って左方向及び右方向に、奥行き値を含まないボクセル等の無効なボクセル又はその光景において特定された別の物体に関係付けられたボクセルに到達するまで、検索を行うことができる。例えば、上述されたように、３１５において、背景に関係付けられたボクセルは除去され、人物目標及びそれに関係するボクセルを分離することができる。上述されたように、一例の実施態様によれば、３１５でボクセルを除去するために、目標認識・分析・追跡システムは、背景物体のボクセルに関係付けられたＸ値、Ｙ値、及び／又は奥行き値を、ゼロ値又はそのボクセルが無効であることを示す別の相応しい指標若しくはフラグで置き換えることができる。３２０において、目標認識・分析・追跡システムは、人物目標の左側で第１の無効なボクセルに到達するまで、人物目標の重心点から左方向へ検索を行い、人物目標の右側で第２の無効なボクセルに到達するまで、人物目標の重心点から右方向へ検索を行うことができる。目標認識・分析・追跡システムは、次いで、例えば左方向において到達した当該第１の無効なボクセルに隣り合った第１の有効なボクセル、及び右方向において到達した当該第２の無効なボクセルに隣り合った第２の有効なボクセルの、Ｘ値の間の差異に基づく長さを演算又は測定することができる。
【００８０】
目標認識・分析・追跡システムは、次いで、Ｙ方向に沿って垂直方向に検索を行って、コア体積に関係する境界ボックスを定義するのに用いることができる、例えば頭部から腰骨までの人物目標の高さを決定することができる。１つの実施態様によれば、Ｙ方向に沿って垂直方向に検索を行って人物目標の高さを測定するために、目標認識・分析・追跡システムは、重心点又は中心点からＹ軸に沿って上方向及び下方向に、無効なボクセル又はそのボクセルに関係するＸ値、Ｙ値、又は奥行き値を含まないボクセルに到達するまで、検索を行うことができる。例えば、３２０において、目標認識・分析・追跡システムは、人物目標の上半身部分で第３の無効なボクセルに到達するまで、人物目標の重心点から上方向へ検索を行い、人物目標の下半身部分で第４の無効なボクセルに到達するまで、人物目標の重心点から下方向へ検索を行うことができる。目標認識・分析・追跡システムは、次いで、例えば上方向において到達した当該第３の無効なボクセルに隣り合った第３の有効なボクセル、及び下方向において到達した当該第４の無効なボクセルに隣り合った第４の有効なボクセルの、Ｙ値の間の差異に基づく高さを演算又は測定することができる。
【００８１】
一例の実施態様によれば、目標認識・分析・追跡システムは、更に、Ｘ及びＹ軸上のＸ及びＹ方向に沿って３０°、４５°、６０°、又はそれら同類物等の様々な角度で対角方向に検索を行って、コア体積に関係する境界ボックスを定義するのに用いることができる他の距離及び値を決定することができる。
【００８２】
加えて、目標認識・分析・追跡システムは、その距離又は値の比率に基づいて、コア体積に関係する境界ボックスを定義することができる。例えば、１つの実施態様において、目標認識・分析・追跡システムは、上述のように決定されて０．２、０．２５、０．３、又は任意の他の相応しい値等の定数が乗じられた高さに基づいて、境界ボックスの幅を定義することができる。
【００８３】
目標認識・分析・追跡システムは、次いで、Ｘ軸に沿う水平方向の検索によって決定された上記第１及び第２の有効なボクセル、Ｙ軸に沿う垂直方向の検索によって決定された上記第３及び第４の有効なボクセル、又は例えば対角方向の検索によって決定された他の距離及び値に基づいて、コア体積を表す境界ボックスを定義することができる。例えば、１つの実施態様において、目標認識・分析・追跡システムは、上記第１の有効なボクセルのＸ値のところでＹ軸に沿った、境界ボックスの第１の垂直線、及び上記第２の有効なボクセルのＸ値のところでＹ軸に沿った、境界ボックスの第２の垂直線を生成することができる。加えて、目標認識・分析・追跡システムは、上記第３の有効なボクセルのＹ値のところでＸ軸に沿った、境界ボックスの第１の水平線、及び上記第４の有効なボクセルのＹ値のところでＸ軸に沿った、境界ボックスの第２の水平線を生成することができる。一例の実施態様によれば、この第１及び第２の水平線は、上記第１及び第２の垂直線と交差して、人物目標のコア体積に関係付けられた境界ボックスを表す長方形又は正方形の形状を形成し得る。
【００８４】
図９は、コア体積を決定するように定義され得る境界ボックス８０４の一例の実施態様を示すものである。図９に示されるように、境界ボックス８０４は、上述のように決定された第１の垂直線ＶＬ１及び第２の垂直線ＶＬ２と第１の水平線ＨＬ１及び第２の水平線ＨＬ２とが交差することに基づき、長方形の形状を形成し得る。
【００８５】
図５に戻り、目標認識・分析・追跡システムは、次いで、３２０において、人物目標の頭部を決定することができる。例えば、１つの実施態様において、コア体積を決定しそれに関係付けられた境界ボックスを定義した後、目標認識・分析・追跡システムは、人物目標の頭部の位置を決定することができる。
【００８６】
頭部の位置を決定するために、目標認識・分析・追跡システムは、頭部に相応しい位置において様々な候補を探索し、それら様々な候補にスコアを付け、次いでそのスコアに基づいて様々な候補から頭部の位置を選択することができる。例えば、１つの実施態様によれば、目標認識・分析・追跡システムは、人物目標の中で最も高い位置にあるボクセル及び／又はそのボクセルに隣り合った或いは近隣のボクセルや、前のフレームに対して決定された頭部の位置に基づく１つ以上のより広範囲のボクセルや、例えば重心点又は中心点から垂直に延びる上向きのベクトル上で最も高い位置にあるボクセル及び／又は前のフレームに対して決定された前の上向きベクトル上で最も高い位置にあるボクセルに隣り合った或いは近隣のボクセルや、前のフレームに対して決定された中心点と最も高い位置にあるボクセルとを結ぶ前の上向きベクトル上で最も高い位置にあるボクセルや、又は頭部の候補となり得る任意の他の相応しいボクセルを、探索することができる。
【００８７】
目標認識・分析・追跡システムは、次いで、それらの候補にスコアを付けることができる。１つの実施態様によれば、これらの候補は、３Ｄパターンマッチングに基づいてスコアを付けることができる。例えば、目標認識・分析・追跡システムは、頭部円筒及び肩部円筒を作成することができる。目標認識・分析・追跡システムは、次いで、この頭部円筒に含まれる候補に関係付けられるボクセル数に基づいて、これら候補に対してスコアを演算することができる。その詳細は以下で述べられるだろう。
【００８８】
図１０は、頭部に関係付けられた候補にスコアを付けるために作成され得る頭部円筒８０６及び肩部円筒８０８の一例の実施態様を示すものである。一例の実施態様によれば、目標認識・分析・追跡システムは、頭部円筒８０６及び肩部円筒８０８に含まれる頭部の候補に関係付けられたボクセル数に基づいて、これら候補に対してスコアを演算することができる。例えば、目標認識・分析・追跡システムは、頭部の候補に関係付けられたボクセルの位置に基づいて、頭部円筒８０６及び／又は肩部円筒８０８の内部にある頭部の候補の総数、及び頭部円筒８０６の外部（例えば領域８０７内）及び／又は肩部円筒８０８の外部にある頭部の候補の総数を決定することができる。目標認識・分析・追跡システムは、更に、肩部円筒８０８の左側半分ＬＨの中にある頭部の候補の数と肩部円筒８０８の右側半分ＲＨの中にある頭部の候補の数との差異の絶対値の関数に基づいて、対称的な計量（symmetric metric）を演算することができる。一例の実施態様において、目標認識・分析・追跡システムは、次いで、頭部円筒８０６及び／又は肩部円筒８０８の外部にある候補の総数を頭部円筒８０６及び／又は肩部円筒８０８の内部にある候補の総数から減じ、更に頭部円筒８０６及び／又は肩部円筒８０８の内部及び外部にある候補の総数の差異から対称的な計量を減じることによって、それらの候補に対してスコアを演算することができる。１つの実施態様によれば、目標認識・分析・追跡システムは、減算の前に、頭部円筒８０６及び／又は肩部円筒８０８の内部及び外部にある候補の総数に目標認識・分析・追跡システムが決定した定数を乗じてもよい。
【００８９】
図５に戻り、１つの実施態様によれば、もし候補のうちの１つに関係付けられたスコアが頭部の閾値スコアを上回っていれば、目標認識・分析・追跡システムは、３２０において、その候補に関係付けられたボクセルに基づいて頭部の位置を決定することができる。例えば、１つの実施態様において、目標認識・分析・追跡システムは、最も高い地点や、例えば重心点又は中心点から垂直に延びる上向きのベクトル上で最も高い位置にあるボクセル及び／又は前のフレームに対して決定された前の上向きベクトル上で最も高い位置にあるボクセルに隣り合った或いは近隣のボクセルや、前のフレームに対して決定された中心点と最も高い位置にあるボクセルとを結ぶ前の上向きベクトル上で最も高い位置にあるボクセルや、前のフレームにおける頭部の位置周辺の、ボックス、立方体、又はそれら同類物等の領域内にある全てのボクセルの平均位置や、又はそれらの同類物に基づいて、頭部の位置を選択することができる。実施態様の他の例によれば、目標認識・分析・追跡システムは、頭部の閾値スコアを上回る候補に関係付けられたボクセルのＸ値、Ｙ値、及び奥行き値等の値の平均を演算して、頭部の位置を決定することができる。或いは、目標認識・分析・追跡システムは、頭部の閾値スコアを上回る候補に含まれるボクセルのフィッティング直線又は最適フィッティング直線に基づいて、頭部の位置を選択してもよい。
【００９０】
加えて、１つの実施態様において、もし２つ以上の候補が頭部の閾値スコアを上回っていれば、目標認識・分析・追跡システムは、最大のスコアを有する候補を選択し、次いで、その最大のスコアを有する候補に関係付けられたボクセルに基づいて頭部の位置を決定することができる。上述されたように、目標認識・分析・追跡システムは、例えば最大のスコアを有する候補に関係付けられたボクセルのＸ値、Ｙ値、及び奥行き値等の値の平均に基づいて、頭部の位置を選択することができる。
【００９１】
１つの実施態様によれば、もし何れの候補に関係付けられたスコアも頭部の閾値スコアを上回っていなければ、目標認識・分析・追跡システムは、頭部スコアが頭部閾値スコアを上回っている前のフレームの奥行き画像に関係付けられた人物目標に含まれるボクセルに対して決定された、前の頭部位置を用いることができる。或いは、目標認識・分析・追跡システムは、もし３０５で取得された奥行き画像がキャプチャ装置によってキャプチャ又は観測された初期フレーム内のものであれば、Ｔ字姿勢、自然な立ち姿勢、又はそれらの同類物等のデフォルトの姿勢をとった人物目標の頭部に対するデフォルトの位置を用いてもよい。
【００９２】
別の実施態様によれば、目標認識・分析・追跡システムは、例えば頭部の形状に関係付けられた１つ以上の２次元（２Ｄ）パターンを含むことができる。目標認識・分析・追跡システムは、次いで、その候補に関係付けられたボクセルが当該１つ以上の２Ｄパターンに含まれる頭部の形状である可能性に基づいて、頭部に関係した候補にスコアを付けることができる。例えば、目標認識・分析・追跡システムは、頭部形状の輪郭を示唆する隣り合った又は近接するボクセルの奥行き値をサンプリングすることができる。もし頭部形状の輪郭を示唆するボクセルのうちの１つについてのサンプリングされた奥行き値が、頭部形状のボクセルについての奥行き値の１つ以上の期待値又は予め定められた値から乖離していれば、目標認識・分析・追跡システムは、デフォルトのスコア又は初期スコアを小さくして、そのボクセルは頭部でないことを示すことができる。１つの実施態様において、目標認識・分析・追跡システムは、次いで、最大値を持つスコアを選択して、その最大のスコアを持つ候補に関係付けられたボクセルの位置に基づいて頭部の位置を特定することができる。
【００９３】
別の実施態様によれば、デフォルトのスコア又は初期スコアは、上述のように頭部及び／又は肩部円筒を用いて演算された、頭部に関係付けられた候補のスコアであり得る。目標認識・分析・追跡システムは、もしその候補が１つ以上の上記２Ｄパターンに関係付けられた頭部の形状となっていなければ、そのようなスコアを小さくすることができる。上述されたように、目標認識・分析・追跡システムは、次いで、頭部の閾値スコアを上回っている候補のスコアを選択して、その候補の位置に基づいて頭部の位置を特定することができる。
【００９４】
目標認識・分析・追跡システムは、更に、３２０において、人物目標の肩及び腰を決定することができる。例えば、１つの実施態様において、人物目標の頭部の位置を決定した後、目標認識・分析・追跡システムは、人物目標の肩及び腰の位置を決定することができる。目標認識・分析・追跡システムはまた、肩及び腰の回転又は角度といった肩及び腰の向きを決定することもできる。
【００９５】
一例の実施態様によれば、肩及び腰の位置を決定するために、目標認識・分析・追跡システムは、人物目標の頭部及び重心点又は中心点の位置に基づいて、頭部中心点ベクトルを定義することができる。例えば、頭部中心点ベクトルは、頭部部分の位置のＸ値、Ｙ値、及び奥行き値（即ちＺ値）と重心点又は中心点部分の位置のＸ値、Ｙ値、及び奥行き値（即ちＺ値）との間において定義されるベクトル又は直線であり得る。
【００９６】
図１１は、人物目標の頭部及び重心点又は中心点に基づく頭部中心点ベクトルの一例の実施態様を示すものである。上述されたように、頭部の位置８１０等の位置が決定され得る。図１１に示されるように、目標認識・分析・追跡システムは、次いで、頭部の位置８１０と重心点又は中心点の位置８０２との間に頭部中心点ベクトル８１２を定義することができる。
【００９７】
図５に戻り、目標認識・分析・追跡システムは、次いで、３２０において、頭部中心点ベクトルに基づいて肩部体積ボックス及び腰部体積ボックスを定義することができる。例えば、１つの実施態様において、目標認識・分析・追跡システムは、頭部又は重心点若しくは中心点に関係する位置等の人体の特徴的部位からの長さ等の変位に基づいて、肩及び腰のおおよその位置を定義又は決定することができる。目標認識・分析・追跡システムは、次いで、頭部又は重心点若しくは中心点に関係する位置等の人体の特徴的部位からの変位値を取り囲むように、肩部体積ボックス及び腰部体積ボックスを定義することができる。
【００９８】
図１２は、頭部中心点ベクトル８１２に基づいて決定される肩部体積ボックスＳＶＢ及び腰部体積ボックスＨＶＢの一例の実施態様を示すものである。一例の実施態様によれば、目標認識・分析・追跡システムは、頭部に関係付けられた位置８１０や重心点又は中心点に関係付けられた位置８０２等の人体の特徴的部位からの長さ等の変位に基づいて、肩及び腰のおおよその位置を定義又は決定することができる。目標認識・分析・追跡システムは、次いで、その人体の特徴的部位からの変位値を取り囲むように、肩部体積ボックスＳＶＢ及び腰部体積ボックスＨＶＢを定義することができる。
【００９９】
図５に戻り、目標認識・分析・追跡システムは更に、３２０において、頭部のような人体の特徴的部位からの長さ等の、頭部中心点ベクトルに沿った変位値に基づいて、肩及び腰の中心点を演算することができる。例えば、目標認識・分析・追跡システムは、その変位値の分だけ頭部中心点ベクトルに沿って下方向又は上方向へ移動させて、肩及び腰の中心点を演算することができる。
【０１００】
１つの実施態様によれば、目標認識・分析・追跡システムはまた、肩及び腰の角度等の向きを決定することができる。１つの実施態様において、目標認識・分析・追跡システムは、例えば肩部体積ボックス及び腰部体積ボックス内において奥行き値のフィッティング直線を演算して、肩及び腰の角度等の向きを決定することができる。例えば、目標認識・分析・追跡システムは、肩部体積ボックス及び腰部体積ボックスに関係付けられたボクセルのＸ値、Ｙ値、及び奥行き値に基づいて最適フィッティング直線を演算して、肩の中心点を通る肩部骨格を定義するベクトルの肩部スロープ及び腰の中心点を通る腰部ジョイント間の腰部骨格を定義するベクトルの腰部スロープを演算することができる。肩部スロープ及び腰部スロープは、肩及び腰の角度等のそれぞれの向きを定義することができる。
【０１０１】
別の実施態様によれば、目標認識・分析・追跡システムは、３２０において、頭部中心点ベクトルに基づきボクセルの奥行き値が人物目標の中心点の周りに反映されるように、人物目標の奥行き値を反映させることができる。このように、１つの実施態様において、目標認識・分析・追跡システムは、人物目標のボクセルの奥行き値を頭部中心点ベクトル、肩部及び／又は腰部境界ボックスから計算される旋回軸部分、又はそれらの同類物等の旋回軸ベクトルの周りに反映させることによって、人体の背面について補うことができる。
【０１０２】
目標認識・分析・追跡システムは、次いで、例えば肩部体積ボックス及び腰部体積ボックス内の反映された奥行き値を含む、奥行き値のフィッティング直線を演算して、肩及び腰の角度等の向きを決定することができる。例えば、目標認識・分析・追跡システムは、肩部体積ボックス及び腰部体積ボックスに関係する反映された奥行き値を含むボクセルのＸ値、Ｙ値、及び奥行き値に基づいて最適フィッティング直線を演算して、肩の中心点を通る肩部骨格を定義するベクトルの肩部スロープ及び腰の中心点を通る腰部ジョイント間の腰部骨格を定義するベクトルの腰部スロープを演算することができる。肩部スロープ及び腰部スロープは、肩及び腰の角度等のそれぞれの向きを定義することができる。
【０１０３】
図１３は、肩部体積ボックスＳＶＢ及び腰部体積ボックスＨＶＢに基づいて演算された肩及び腰の一例の実施態様を示すものである。図１３に示されるように、肩の位置８１６ａ−ｂ及び腰の位置８１８ａ−ｂは、上述されたように、肩部体積ボックスＳＶＢ及び腰部体積ボックスＨＶＢにそれぞれ基づいて決定され得る。
【０１０４】
図５に戻り、３２０において、目標認識・分析・追跡システムは、次いで、人物目標の胴体を決定することができる。１つの実施態様において、肩及び腰を決定した後、目標認識・分析・追跡システムは、頭部、肩、中心点、及び腰に関係付けられこれらを取り囲んでいるボクセルを含み得る、胴体体積を生成又は作成することができる。胴体体積は、中心点、頭部、肩、及び／又は腰の位置に基づく、円筒形状、円筒の両端部分が丸みを帯びた丸薬形状、又はそれらの同類の形状であり得る。
【０１０５】
１つの実施態様によれば、目標認識・分析・追跡システムは、肩、頭部、腰、中心点、又はそれらの同類物に基づく体積を有したコア体積を表す円筒を作成することができる。例えば、目標認識・分析・追跡システムは、肩の幅に基づく幅又は直径、及び頭部と腰との間の距離に基づく高さを持つ円筒を作成することができる。目標認識・分析・追跡システムは、次いで、この胴体体積を表す円筒を頭部中心点ベクトルに沿って配向させ又は角度付けし、胴体体積に人物目標の胴体の角度等の向きを反映させることができる。
【０１０６】
図１４は、コア体積を表す円筒８２０の一例の実施態様を示すものである。図１４に示されるように、円筒８２０は、肩の幅に基づく幅又は直径、及び頭部と腰との間の距離に基づく高さを有し得る。円筒８２０はまた、頭部中心点ベクトル８１２に沿って配向され又は角度付けされ得る。
【０１０７】
図５に戻り、３２０において、目標認識・分析・追跡システムは、次いで、人物目標の手足を評価又は決定することができる。１つの実施態様によれば、胴体体積を生成又は作成した後、目標認識・分析・追跡システムは、胴体体積の外側にあるボクセルを手足であるとして粗く分類することができる。例えば、目標認識・分析・追跡システムは、胴体体積の外側にあるボクセルのそれぞれを、手足の一部であると分類されるように、特定することができる。
【０１０８】
目標認識・分析・追跡システムは、次いで、胴体体積の外側にあるボクセルに関係付けられた、左右の腕、左右の手、左右の脚、左右の足、又はそれらの同類物等の実際の手足を決定することができる。１つの実施態様において、実際の手足を決定するために、目標認識・分析・追跡システムは、右腕、左腕、左脚、右脚、又はそれらの同類物の前の位置といったような特定された手足の前の位置を、胴体体積の外側にあるボクセルの位置と比較することができる。実施態様の例によれば、当該前に特定された手足の前の位置は、前のフレームで取得された奥行き画像内の手足の位置、前の動きに基づく人体の突き出た一部の位置、又は、完全に関節の結合のみからなる骨格で表された人物目標のモデル又は体積を持つよう表された人物目標のモデル等によって表現された人物目標の、任意の他の相応しい前の位置であり得る。上記の比較に基づいて、目標認識・分析・追跡システムは、次いで、胴体体積の外側にあるボクセルを前に特定された最近接の手足と関連付けることができる。例えば、目標認識・分析・追跡システムは、胴体体積の外側にあるボクセルそれぞれのＸ値、Ｙ値、及び奥行き値を含む位置を、前に特定された左腕、右腕、左脚、右脚、又はそれらの同類物といった前に特定された手足のＸ値、Ｙ値、及び奥行き値を含む前の位置と比較することができる。目標認識・分析・追跡システムは、次いで、その比較に基づいて、胴体体積の外側にあるボクセルのそれぞれを、最近接する位置にある前に特定された手足と関連付けることができる。
【０１０９】
１つの実施態様において、実際の手足を決定するために、目標認識・分析・追跡システムは、人物目標がデフォルトの姿勢をとった状態における、右腕、左腕、右脚、左脚、又はそれらの同類物等の特定された手足のデフォルトの位置を、胴体体積の外側にあるボクセルの位置と比較することができる。例えば、３０５で取得された奥行き画像は、キャプチャ装置によってキャプチャ又は観測された初期フレームに含まれ得る。もし３０５で取得された奥行き画像が初期フレームに含まれていれば、目標認識・分析・追跡システムは、右腕、左腕、左脚、右脚、又はそれらの同類物等の手足のデフォルトの位置を、胴体体積の外側にあるボクセルの位置と比較することができる。実施態様の例によれば、特定された手足のデフォルトの位置は、完全に関節の結合のみからなる骨格で表された人物目標のモデル又は体積を持つよう表された人物目標のモデル等によって表現された人物目標の、Ｔ字姿勢、ダ・ヴィンチ姿勢、自然な姿勢、又はそれらの同類物等のデフォルトの姿勢をとった状態における手足の位置であり得る。上記の比較に基づいて、目標認識・分析・追跡システムは、次いで、胴体体積の外側にあるボクセルを、デフォルトの姿勢に関係する最近接の手足と関連付けることができる。例えば、目標認識・分析・追跡システムは、胴体体積の外側にあるボクセルそれぞれのＸ値、Ｙ値、及び奥行き値を含む位置を、デフォルトの左腕、右腕、左脚、右脚、又はそれらの同類物といったデフォルトの手足のＸ値、Ｙ値、及び奥行き値を含むデフォルトの位置と比較することができる。目標認識・分析・追跡システムは、次いで、その比較に基づいて、胴体体積の外側にあるボクセルのそれぞれを、最近接する位置にあるデフォルトの手足と関連付けることができる。
【０１１０】
目標認識・分析・追跡システムはまた、評価された手足に基づいて胴体体積内のボクセルを再分類することができる。例えば、１つの実施態様において、左前腕部等の腕の少なくとも一部分が、人物目標の胴体の前に位置し得る。この特定された腕の前の位置に基づいて、目標認識・分析・追跡システムは、上述されたように、当該一部分を腕に関係付けられているものとして決定又は評価することができる。例えば、前に特定された手足の前の位置は、人物目標の腕等の手足の１つ以上のボクセルが胴体体積内にあることを示すことがあり得る。目標認識・分析・追跡システムは、次いで、前に特定された左腕、右腕、左脚、右脚、又はそれらの同類物といった前に特定された手足のＸ値、Ｙ値、及び奥行き値を含む前の位置を、胴体体積に含まれるボクセルの位置と比較することができる。目標認識・分析・追跡システムは、次いで、その比較に基づいて、胴体体積の内側にあるボクセルのそれぞれを、最近接する位置にある前に特定された手足と関連付けることができる。
【０１１１】
１つの実施態様によれば、手足に関係付けられたボクセルを分類した後、目標認識・分析・追跡システムは、３２０において、例えば分類された手足の部分の位置を決定することができる。例えば、左腕、右腕、左脚、及び／又は右脚に関係付けられたボクセルを分類した後、目標認識・分析・追跡システムは、左右の腕の両手及び／又は両肘、両膝及び／又は両足、又はそれらの同類物の位置を決定することができる。
【０１１２】
目標認識・分析・追跡システムは、手足のそれぞれについての平均に基づいて、手、肘、足、膝、又は同類物といった部分の位置を決定することができる。例えば、目標認識・分析・追跡システムは、左腕に関係付けられた各ボクセルのＸ値、Ｙ値、及び奥行き値をそれぞれ加算し、加算されたＸ値、Ｙ値、及び奥行き値それぞれの合計を左腕に関係付けられたボクセルの総数で除することによって、左腕の平均位置を演算することができる。１つの実施態様によれば、目標認識・分析・追跡システムは、次いで、左肩とこの左腕平均位置との間のベクトル又は直線を定義して、左手を探すための第１の検索方向を定義することができる。目標認識・分析・追跡システムは、次いで、肩の位置から上記ベクトル又は直線によって定義された第１の検索方向に沿って、最後の有効なボクセル即ち有効なＸ値、Ｙ値、及び／又は奥行き値を持った最後のボクセルを検索して、この最後の有効なボクセルの位置を左手と関連付けることができる。
【０１１３】
別の実施態様によれば、目標認識・分析・追跡システムは、アンカーポイントを演算してもよい。目標認識・分析・追跡システムは、次いで、このアンカーポイントと左腕平均位置との間のベクトル又は直線を定義して、左手を探すための第２の検索方向を定義することができる。目標認識・分析・追跡システムは、次いで、アンカーポイントから上記ベクトル又は直線によって定義された第２の検索方向に沿って、最後の有効なボクセル即ち有効なＸ値、Ｙ値、及び／又は奥行き値を持った最後のボクセルを検索して、この最後の有効なボクセルの位置を左手と関連付けることができる。
【０１１４】
一例の実施態様において、目標認識・分析・追跡システムは、頭部、腰、肩、又は同類物等の他の決定された手足からの１つ以上のオフセットに基づいて、アンカーポイントの位置を演算することができる。例えば、目標認識・分析・追跡システムは、肩の位置に関係付けられたＸ値及び奥行き値の半分だけ、肩の位置をそれぞれＸ方向及びＺ方向に延長することによって、アンカーポイントのＸ値及び奥行き値を演算することができる。目標認識・分析・追跡システムは、次いで、このアンカーポイントのＸ値及び奥行き値の位置を、上記延長された位置の周りに反映させることができる。
【０１１５】
目標認識・分析・追跡システムは、左腕平均位置の頭部及び／又は腰からの変位に基づいて、アンカーポイントのＹ値を演算することができる。例えば、目標認識・分析・追跡システムは、頭部のＹ値と左腕の平均のＹ値との間の変位又は差異を演算することができる。目標認識・分析・追跡システムは、次いで、この変位又は差異を例えば腰の中心点のＹ値に加算して、アンカーポイントのＹ値を演算することができる。
【０１１６】
図１５Ａ−１５Ｃは、アンカーポイント８２８ａ−８２８ｃに基づいて決定される手の実施態様の例を示すものである。図１５Ａ−１５Ｃに示されるように、別の実施態様によれば、目標認識・分析・追跡システムは、アンカーポイント８２８ａ−８２８ｃを演算することができる。目標認識・分析・追跡システムは、次いで、アンカーポイント８２８ａ−８２８ｃと左腕の平均位置８２６ａ−８２６ｃとの間のベクトル又は直線を定義して、左手を探すための第２の検索方向を定義することができる。目標認識・分析・追跡システムは、次いで、アンカーポイント８２８ａ−８２８ｃから上記ベクトル又は直線によって定義された第２の検索方向に沿って、最後の有効なボクセル即ち有効なＸ値、Ｙ値、及び／又は奥行き値を持った最後のボクセルを検索して、この最後の有効なボクセルの位置を左手と関連付けることができる。
【０１１７】
上述されたように、一例の実施態様において、目標認識・分析・追跡システムは、頭部、腰、肩、又は同類物等の他の決定された末端部位からの１つ以上のオフセットに基づいて、アンカーポイント８２８ａ−８２８ｃの位置を演算することができる。例えば、目標認識・分析・追跡システムは、肩の位置に関係付けられたＸ値及び奥行き値の半分だけ、肩の位置をそれぞれＸ方向及びＺ方向に延長することによって、アンカーポイント８２８ａ−８２８ｃのＸ値及び奥行き値を演算することができる。目標認識・分析・追跡システムは、次いで、このアンカーポイント８２８ａ−８２８ｃのＸ値及び奥行き値の位置を、上記延長された位置の周りに反映させることができる。
【０１１８】
目標認識・分析・追跡システムは、左腕平均位置の頭部及び／又は腰からの変位に基づいて、アンカーポイント８２８ａ−８２８ｃのＹ値を演算することができる。例えば、目標認識・分析・追跡システムは、頭部のＹ値と左腕の平均８２６ａ−８２６ｃのＹ値との間の変位又は差異を演算することができる。目標認識・分析・追跡システムは、次いで、この変位又は差異を例えば腰の中心点のＹ値に加算して、アンカーポイント８２８ａ−８２８ｃのＹ値を演算することができる。
【０１１９】
図５に戻り、一例の実施態様によれば、目標認識・分析・追跡システムは、３２０において、右腕の平均位置を演算することができ、これを用いて、上述された第１及び第２の検索方向のような、右手の位置を決定するのに用いられ得る検索方向を定義することができる。目標認識・分析・追跡システムは、更に、左脚の平均位置及び右脚の平均位置を演算することができ、これを用いて、上述のように左足及び右足を決定するのに用いられ得る検索方向を定義することができる。
【０１２０】
図１６は、腕及び脚の平均位置及び／又はアンカーポイントに基づいて演算され得る手及び足の一例の実施態様を示すものである。図１６に示されるように、手の位置８２２ａ−ｂ及び足の位置８２４ａ−ｂは、上述のようにそれぞれ腕及び脚の平均位置及び／又はアンカーポイントによって決定された第１及び第２の検索方向に基づいて、決定され得る。
【０１２１】
図５に戻り、３２０において、目標認識・分析・追跡システムはまた、左右の腕の平均位置及び左右の脚の平均位置、肩、腰、頭部、又は同類物に基づいて、肘及び膝の位置を決定することができる。１つの実施態様において、目標認識・分析・追跡システムは、左腕の平均位置のＸ値、Ｙ値、及び奥行き値を精密化することによって、左肘の位置を決定することができる。例えば、目標認識・分析・追跡システムは、左腕に関係付けられた外縁端を定義する最も外側にあるボクセルを決定することができる。目標認識・分析・追跡システムは、次いで、左腕平均位置のＸ値、Ｙ値、及び奥行き値を、当該外縁端の中央又は当該外縁端から等距離になるように、調整することができる。
【０１２２】
目標認識・分析・追跡システムは、更に、３２０において、分離された人物目標に対して所望の追加ポイントを決定することができる。例えば、目標認識・分析・追跡システムは、例えば肩の角度等の向きに基づいて、人体の中心点から最も遠く離れたボクセル、カメラに最も近いボクセル、人物目標の最も前方にあるボクセルを決定することができる。
【０１２３】
目標認識・分析・追跡システムは、次いで、３２０において、頭部、肩、腰、手、足、又はそれらの同類物等の末端部位に対して決定された位置のうちの１つ以上が、人物目標の実際の末端部位に対する正確な位置でないかどうかを決定することができる。例えば、１つの実施態様において、右手の位置は不正確であり、その右手の位置が肩又は腰の位置とくっついている又は隣り合っていることがあり得る。
【０１２４】
一例の実施態様によれば、目標認識・分析・追跡システムは、不正確な位置を示している様々な末端部位について大量の目印に関するリストを含む又は記憶することができる。例えば、このリストは、肩及び腰の周りに手と関係付けられた大量の目印を含み得る。目標認識・分析・追跡システムは、このリストに含まれる手と関係付けられた大量の目印に基づいて、手の位置が正確であるかどうかを決定することができる。例えば、もし手の位置がこのリストに含まれる手と関係付けられた大量の目印のうちの１つの中にあれば、目標認識・分析・追跡システムは、手の位置は不正確であることを決定することができる。１つの実施態様によれば、目標認識・分析・追跡システムは、次いで、当該手の位置を、現在の手の位置に対する前のフレームにおけるその手の前の正確な位置に調整することができる。
【０１２５】
３２５において、目標認識・分析・追跡システムは、３２０で決定された末端部位に基づいて生成され得るモデルを追跡することができる。例えば、目標認識・分析・追跡システムは、１つ以上の関節及びその間に定義される骨組みを有する骨格モデル等のモデルを生成及び／又は含むことができる。
【０１２６】
図１７は、生成された骨格モデル等のモデル９００の一例の実施態様を示すものである。一例の実施態様によれば、モデル９００は、例えば人物の３次元モデルを表す１つ以上のデータ構造を含み得る。人体の各部は、モデル９００の関節及び骨組みを定義するＸ、Ｙ、及びＺ値を持つ数学的なベクトルとして特徴付けることができる。
【０１２７】
図１７に示されるように、モデル９００は、１つ以上の関節ｊ１−ｊ１６を含み得る。一例の実施態様によれば、関節ｊ１−ｊ１６のそれぞれは、それらの間に定義された１つ以上の人体パーツが１つ以上の他の人体パーツに対して相対的に動くことを可能にする。例えば、人物目標を表しているモデルは、１つ以上の構造要素によって定義される、複数の剛体的及び／又は変形しない人体パーツを含むことができる。人体パーツは例えば関節ｊ１−ｊ１６を持った“骨組み”であり、関節は隣り合った骨組みの交点に配置されている。関節ｊ１−ｊ１６は、骨組み及び関節ｊ１−ｊ１６に関係付けられた様々な人体パーツが互いに独立に動くことを可能にする。例えば、図１７に示されるように関節ｊ１０とｊ１２との間に定義された骨組みは、前腕に対応するものであり、例えば関節ｊ１４とｊ１６との間に定義されふくらはぎに対応する骨組みとは独立に動くことができる。
【０１２８】
図５に戻り、３２５において、目標認識・分析・追跡システムは、３２０で末端部位に対して決定された位置に基づいて、上記生成されたモデルを調整することができる。例えば、目標認識・分析・追跡システムは、頭部に関係付けられた関節ｊ２を、３２０で決定された頭部の位置８１０等の位置に対応するよう調整することができる。このように、一例の実施態様において、関節ｊ１には、上述されたように頭部に対して決定された位置８１０に関係付けられたＸ値、Ｙ値、及び奥行き値を付与することができる。もし末端部位のうち１つ以上が例えば上述された大量の目印のリストに基づき不正確であれば、目標認識・分析・追跡システムは、当該不正確な関節を前のフレームに基づく当該関節の前の位置に維持することができる。
【０１２９】
加えて、もし目標認識・分析・追跡システムがその末端部位の位置を有していなければ、目標認識・分析・追跡システムは、Ｔ字姿勢、ダ・ヴィンチ姿勢、又はその同類物等のデフォルトの姿勢に基づくデフォルトの位置を用いることができる。例えば、目標認識・分析・追跡システムは、そのモデルの関節ｊ１−ｊ１６のうちの１つ以上を、デフォルトの姿勢における最近接したボクセルのＸ値、Ｙ値、及び／又は奥行き値と関連付けられるように調整することができる。
【０１３０】
３２５において、目標認識・分析・追跡システムはまた、３３０（その詳細は以下で述べられるだろう。）で決定される１つ以上の人体測定値に基づいて、モデルの関節の間で定義される骨組みのうちの１つ以上の測定値を調整することができる。例えば、目標認識・分析・追跡システムは、３３０において人物目標の左前腕の長さを決定することができる。３２５において、目標認識・分析・追跡システムは、次いで、左前腕に関係付けられた骨組みの長さを、３３０で人物目標に対し決定される左前腕の長さを模擬するよう、調整することができる。例えば、目標認識・分析・追跡システムは、関節ｊ１０及びｊ１２のＸ値、Ｙ値、及び奥行き値（即ちＺ値）のうちの１つ以上を調整して、それらの間に定義される骨組みを、３３０で人物目標の左前腕に対して決定される長さと等しくすることができる。
【０１３１】
３２５において、目標認識・分析・追跡システムは、更に、調整されたモデルに関係付けられた関節の無効な位置についてチェックすることができる。例えば、１つの実施態様において、目標認識・分析・追跡システムは、関節ｊ１０等の関節が飛び出して、モデルがチキンダンスの姿勢で突き出た形となっているかどうか決定することをチェックすることができる。このように、３２５において、目標認識・分析・追跡システムは、モデルが不適切に乱れてしまうことが判明した肘と関係付けられた関節等の位置について、モデルをチェックすることができる。
【０１３２】
１つの実施態様によれば、目標認識・分析・追跡システムは、更に、３０５で取得されたダウンサンプリングされていない奥行き画像の２ＤピクセルエリアにおけるＸ値、Ｙ値、及び奥行き値に基づいて、関節の位置を精密化することができる。例えば、１つの実施態様において、目標認識・分析・追跡システムは、ダウンサンプリングされていない奥行き画像からのデータを用いて、例えば乱れてしまったモデルの関節の位置を精密化することができる。
【０１３３】
加えて、目標認識・分析・追跡システムは、ダウンサンプリングされていない奥行き画像からのデータを用いて、頻繁に使われるジェスチャに関係するモデルの関節の位置を精密化することができる。例えば、１つの実施態様によれば、目標認識・分析・追跡システムは、手に関係付けられた関節を優先的に取り扱うことができる。目標認識・分析・追跡システムは、３０５で取得されたダウンサンプリングされていない奥行き画像における手の周りのデータを集めて、３０５で取得されたダウンサンプリングされていない奥行き画像におけるより高解像度のデータを用いることで、３２０で決定された手の位置を修正することができる。
【０１３４】
上述されたように、３３０において、目標認識・分析・追跡システムは、分離された人物目標に関係付けられたボクセルを精査して、それに関係付けられた末端部位の寸法を決定することができる。例えば、分離された人物目標が精査されて、腕、脚、頭部、肩、腰、胴体、又は同類物等の末端部位に関係付けられた、例えば長さ、幅、又は同類物等の測定値を決定することができる。
【０１３５】
上記の寸法を決定するために、３３０において、目標認識・分析・追跡システムは、末端部位のそれぞれに対して、提案された関節の寸法の推定量を生成することができる。目標認識・分析・追跡システムは、この推定量を用いて、提案された関節の寸法のそれぞれに対して平均及び標準偏差を演算することができる。目標認識・分析・追跡システムは、定義された割合の偏差の中にある上記提案された関節の寸法を合算することができ、この分布の外、即ち上記定義された割合の偏差の外側にある上記提案された関節の寸法は放棄され得る。目標認識・分析・追跡システムは、次いで、上記標準偏差と提案された関節の寸法の数との間の最大の比率を有する推定量に基づいて、末端部位の寸法を決定することができる。
【０１３６】
上記の精査によって決定された末端部位に関係付けられた寸法は、３３０において更新されてもよい。１つの実施態様によれば、目標認識・分析・追跡システムは、上記の精査によって決定された寸法が正確かどうかを決定するための１つ以上のヒューリスティック又はルールを含むことができる。例えば、目標認識・分析・追跡システムは、対称な関節間のユークリッド距離がおおよそ等しいかどうかを決定することのできるヒューリスティック又はルール、手及び／又は肘が人体近辺にあるかどうかを決定することのできるヒューリスティック又はルール、頭部が１つの位置に固定されているかどうかを決定することのできるヒューリスティック及び／又はルール、手が頭部に近いところにあるかどうかを決定することのできるヒューリスティック及び／又はルール、又は寸法を調整するのに用いることができる同類物を含むことができる。上述されたように、３３０で決定された寸法は、後続のフレームのために追跡されるモデルを調整するのに３２５で用いることができる。
【０１３７】
３３５において、調整されたモデルが処理される。例えば、１つの実施態様において、目標認識・分析・追跡システムは、例えば、アバターやゲームキャラクタが動きを与えられて図１Ａ及び１Ｂに関して上述されたユーザ１８等のユーザを模擬するように、調整されたモデルに対して適用された１つ以上の運動又は動きをアバターやゲームキャラクタにマッピングすることによって、調整されたモデルを処理することができる。これにより、例えば、画面上のキャラクタの視覚的外観が、調整を加えられたモデルの変化に応じて変化され得る。
【０１３８】
１つの実施態様において、目標認識・分析・追跡システムは、調整されたモデルを図１Ａ−４に関して上述された計算機環境１２等の計算機環境におけるジェスチャライブラリに供給することによって、調整されたモデルを処理することができる。ジェスチャライブラリは、アプリケーションの中で実施する操作を骨格モデルにおける人体の様々な部分の位置に基づいて決定するのに用いられ得る。
【０１３９】
ここに述べられた構成及び／又は手法は本質的に例示であり、これらの特定の実施態様又は例は限定と見做されるべきでないということは理解されなければならない。ここに述べられた特定の手順又は方法は、多数の処理戦略のうちの１つ以上を代表するものであり得る。それ故、説明された様々な動作は、説明された順序で、若しくは他の順序で、又は並行して実施することができる。同様に、上述された処理の順番は変更されてもよい。
【０１４０】
本開示の主題には、任意の及び全ての均等物のみならず、ここに開示された様々な処理、システム及び構成、並びに他の特徴、機能、動作、及び／又は特性の全ての新規且つ非自明なコンビネーション及びサブコンビネーションが含まれる。
【図１Ａ】
0005845184.tif 000002
【図１Ｂ】
0005845184.tif 000003
【図２】
0005845184.tif 000004
【図３】
0005845184.tif 000005
【図４】
0005845184.tif 000006
【図５】
0005845184.tif 000007
【図６】
0005845184.tif 000008
【図７Ａ】
0005845184.tif 000009
【図７Ｂ】
0005845184.tif 000010
【図８】
0005845184.tif 000011
【図９】
0005845184.tif 000012
【図１０】
0005845184.tif 000013
【図１１】
0005845184.tif 000014
【図１２】
0005845184.tif 000015
【図１３】
0005845184.tif 000016
【図１４】
0005845184.tif 000017
【図１５Ａ】
0005845184.tif 000018
【図１５Ｂ】
0005845184.tif 000019
【図１５Ｃ】
0005845184.tif 000020
【図１６】
0005845184.tif 000021
【図１７】
0005845184.tif 000022