"深度カメラシステムであって、視野内にある物体を、構造化光のパターンで照明する照明装置と、前記物体からの反射光を検知して、画素データーの第1フレームを得る第1センサーであって、短距離撮像に最適化されている、第1センサーと、前記物体からの反射光を検知して、画像データーの第2フレームを得る第2センサーであって、長距離撮像に最適化されている、第2センサーと、少なくとも1つの制御回路であって、前記画素データーの第1フレームを前記構造化光のパターンと比較することによって前記物体の第1構造化光深度マップを導き出し、前記画素データーの第2フレームを前記構造化光のパターンと比較することによって前記物体の第2構造化光深度マップを導き出し、前記第1および第2構造化光深度マップに基づいて合体深度マップを導き出す、少なくとも1つの制御回路と、を備えている、深度カメラシステム。請求項1記載の深度カメラシステムにおいて、前記第1センサーと前記照明装置との間の基準線距離BL1が、前記第2センサーと前記照明装置との間の基準線距離BL2よりも短い、深度カメラシステム。請求項2記載の深度カメラシステムにおいて、前記第1センサーの露出時間が、前記第2センサーの露出時間よりも短い、深度カメラシステム。請求項2記載の深度カメラシステムにおいて、前記第1センサーの感度が、前記第2センサーの感度よりも低い、深度カメラシステム。請求項2記載の深度カメラシステムにおいて、前記第1センサーの空間解像度が、前記第2センサーの空間解像度よりも低い、深度カメラシステム。請求項1記載の深度カメラシステムにおいて、前記第2構造化光深度マップが、深度値を含み、前記合体深度マップを導き出すとき、前記第2構造化光深度マップにおける深度値には、前記第1構造化光深度マップにおける深度値よりも大きな重み付けを行う、深度カメラシステム。請求項1記載の深度カメラシステムにおいて、前記少なくとも1つの制御回路が、前記物体の少なくとも1つの立体深度マップに基づいて前記合体深度マップを導き出し、前記少なくとも1つの制御回路が、i前記画素データーの第1フレームの前記画素データーの第2フレームに対する立体照合、およびii前記画素データーの第2フレームの前記画素データーの第1フレームに対する立体照合の内少なくとも1つによって、前記少なくとも1つの立体深度マップを導き出す、深度カメラシステム。請求項7記載の深度カメラシステムにおいて、前記第1および第2構造化光深度マップおよび前記少なくとも1つの立体深度マップが、深度値を含み、前記少なくとも1つの制御回路が、前記物体の第1構造化光深度マップにおける深度値に、第1組の重みを割り当て、前記物体の第2構造化光深度マップにおける深度値に第2組の重みを割り当て、前記物体の第1立体深度マップにおける深度値に第3組の重みを割り当て、前記第1、第2、および第3組の重みに基づいて、前記合体深度マップを導き出す、深度カメラシステム。請求項8記載の深度カメラシステムにおいて、前記第1センサーと前記照明装置との間の基準線距離に基づいて、前記第1組の重みを割り当て、前記第2センサーと前記照明装置との間の基準線距離に基づいて、前記第2組の重みを割り当て、前記第1および第2センサー間の基準線距離に基づいて、前記第3組の重みを割り当てる、深度カメラシステム。深度カメラシステムにおいて画像データーを処理する方法であって、視野の中にある物体を、構造化光のパターンによって照明するステップと、第1センサーにおいて、前記物体からの反射光を検知して、画素データーの第1フレームを得るステップと、第2センサーにおいて、前記物体からの反射光を検知して、画素データーの第2フレームを得るステップと、前記画素データーの第1フレームを前記構造化光のパターンと比較することによって、前記物体の第1構造化光深度マップ導き出すステップであって、前記第1構造化光深度マップが、前記画素データーの第1フレームの画素に対する深度値を含む、ステップと、前記画素データーの第2フレームを前記構造化光のパターンと比較することによって、前記物体の第2構造化光深度マップ導き出すステップであって、前記第2構造化光深度マップが、前記画素データーの第2フレームの画素に対する深度値を含む、ステップと、前記画素データーマップの第1フレームの1つ以上の画素の深度値の見直しが望まれるか否か判断するステップと、前記見直しが望まれる場合、前記画素データーの第1フレームの1つ以上の画素の前記画素データーの第2フレームの1つ以上の画素に対する立体照合を実行するステップと、を備えている方法。請求項10記載の方法において、前記画素データーの第1フレームを前記構造化光のパターンと比較したときに、前記画素データーの第1フレームの1つ以上の画素を、前記構造化光のパターンに一致させることができなかったときに、前記見直しが望まれる、方法。請求項10記載の方法において、前記深度値が閾値距離を超えたときに、前記見直しが望まれる、方法。請求項10記載の方法において、前記第1および第2センサー間の基準線距離BL1BL2が、前記第1センサーと前記照明装置との間の基準線距離BL1よりも長く、前記第2センサーと前記照明装置との間の基準準線距離BL2よりも長い、方法。請求項10記載の方法において、前記画素データーの第1フレームの内、前記見直しが望まれる1つ以上の画素に対しては、前記立体照合を実行するが、前記画素データーの第1フレームの内、前記見直しが望まれない1つ以上の他の画素には、前記立体照合を実行しない、方法。請求項10記載の方法において、前記見直しが望まれる場合、前記立体照合、ならびに前記第1および第2構造化光深度マップに基づいて、合体深度マップを供給する、方法。0027視野における1つ以上の物体を追跡するときに用いられる深度カメラを提供する。一実施態様では、この深度カメラは、人間のユーザーを追跡するためにモーション追跡システムにおいて用いられる。深度カメラは2つ以上のセンサーを含む。これらのセンサーは、照明条件、表面模様および色、ならびに遮蔽の潜在的可能性というような変数に対処するように最適化される。この最適化は、互いに対するそして照明装置に対するセンサー配置の最適化、ならびにセンサーの空間解像度、感度、および露出時間の最適化を含むことができる。また、この最適化は、画素データーのフレームを構造化光のパターンと照合することによって、および/または画素データーのフレームを他のフレームと照合することによってというような、深度マップデーターをどのように得るかについての最適化も含むことができる。0028本明細書において記載するような多数のセンサーの使用によって、他の手法に対する利点が得られる。例えば、ステレオカメラ以外のリアルタイム深度カメラは、2-Dマトリクスに埋め込み可能な深度マップを供給することが多い。このようなカメラは、2.5Dカメラと呼ばれることもある。何故なら、これらのカメラは通常1つの撮像デバイスを用いて深度マップを抽出するので、遮蔽されている物体については何の情報も与えられないからである。ステレオ深度カメラは、2つ以上のセンサーには見ることができる場所の、どちらかと言うと粗い情報を得る傾向がある。また、これらは、白い壁のような、滑らかで模様がない表面を撮像するときには、正常に動作しない。深度カメラの中には、構造化光を用いて、撮像デバイスとしてのセンサーとこのセンサーから離れた投光デバイスとしての照明装置との間の視差によって生ずる歪みを測定/特定するものがある。この手法は、本質的に、センサーには見ることができるが照明装置には見ることができない陰になる場所のために、情報が欠落した深度マップを生成する。加えて、外部光が、構造化パターンをカメラには見えないようにすることもあり得る。0029以上に述べた欠点は、2つ以上のセンサーのコンステレーションを1つの照明デバイスと共に用いて、3つの深度カメラを用いているかのように、効果的に3Dサンプルを抽出することによって克服することができる。2つのセンサーは、構造化光パターンと照合することによって、深度データーを供給することができ、一方、ステレオ技術を適用することによって2つのセンサーからの2つの画像を照合することによって、第3のカメラが得られる。データーフュージョンを適用することによって、3D測定値のロバスト性を高めることができ、このロバスト性はカメラ間の混乱に対するロバスト性を含む。2つのセンサーを1つの投光器と共に用いることによって、2つの深度マップを形成する。構造化光技術を用い、構造化光技術をステレオ技術と組み合わせ、以上のことをフュージョンプロセスにおいて用いて、遮蔽を減らしロバスト性を高めた3D画像を形成する。0030図1は、人間8が、ユーザーの自宅においてというように、アプリケーションと対話処理する、モーションキャプチャーシステム10の一実施形態例を示す。モーションキャプチャーシステム10は、ディスプレイ196、深度カメラシステム20、および計算環境または装置12を含む。深度カメラシステム20は、赤外線IR光放射源のような照明装置26を含む撮像コンポーネント22と、赤外線カメラのような撮像センサー26と、カラー赤-緑-青、RGBカメラ28とを含むことができる。ユーザーとも呼ぶ人間8、人、またはプレーヤーのような1つ以上の物体が、深度カメラの視野6の中で起立している。線2および4は、視野6の境界を示す。この例では、深度カメラシステム20、および計算環境12は、ディスプレイ196上のアバター197が人間8の動きを追跡するアプリケーションを設ける。例えば、人間が腕を上げると、アバターも腕を上げることができる。アバター197は、3D仮想世界の中にある道路198上で起立している。深度カメラシステム20の焦点距離に沿って、例えば、水平に延びるz軸と、垂直に延びるy軸と、横方向に水平に延びるx軸とを含む、デカルト世界座標系を定義することができる。尚、図の視点は簡略化として修正されており、ディスプレイ196はy軸方向に垂直に延び、z軸は深度カメラシステムから外側に、y軸およびx軸に垂直に、そしてユーザー8が起立している地面に対して平行に延びる。0031一般に、モーションキャプチャーシステム10は、1つ以上の人間ターゲットを認識、分析、および/または追跡するために用いられる。計算環境12は、コンピューター、ゲーミングシステムまたはコンソール等、ならびにアプリケーションを実行するためのハードウェアコンポーネントおよび/またはソフトウェアコンポーネントを含むことができる。0032深度カメラシステム20は、人間8のような1人以上の人を仮想的に監視し、この人間が行うジェスチャーおよび/または動きを取り込み、分析し、追跡して、アバターまたは画面上のキャラクターを動かす、あるいはユーザーインターフェースIUにおいてメニュー項目を選択するというような、アプリケーション内における1つ以上の制御または動作を実行することができる。深度カメラシステム20については、以下で更に詳しく論ずる。0033モーションキャプチャーシステム10は、ディスプレイ196、例えば、テレビジョン、モニター、高品位テレビジョンHDTV等のようなオーディオビジュアルデバイス、あるいは壁または他の表面上にあり視覚出力および聴覚出力をユーザーに供給する投光器にでも接続することができる。オーディオ出力は、別個のデバイスを通じて供給することもできる。ディスプレイを駆動するために、計算環境12は、グラフィクスカードのようなビデオアダプター、および/またはサウンドカードのようなオーディオアダプタを含むことができ、アプリケーションに関連のあるオーディオビジュアル信号を供給する。ディスプレイ196を計算環境12に接続することもできる。0034深度カメラシステム20を用いて人間8を追跡し、このユーザーのジェスチャーおよび/または動きを取り込む。このジェスチャーおよび/または動きは、アバターまたは画面上のキャラクターを動かすために用いられ、更に計算環境12が実行しているアプリケーションに対する入力制御として解釈される。0035人間8の動きの中には、アバターを制御する以外の動作に対応することもできる制御として解釈するとよいものもある。例えば、一実施形態では、プレーヤーが動きを用いてゲームを終了させる、一時中止する、または保存する、レベルを選択する、高得点を見る、友人と通信する等を行うことができる。プレーヤーは、動きを用いて主ユーザーインターフェースからゲームまたは他のアプリケーションを選択すること、あるいはそれ以外では選択肢のメニューをナビゲートすることができる。このように、人間8の最大範囲の運動が利用可能であり、アプリケーションと対話処理するために適したやり方であればそのいずれでも、用いて分析することができる。0036モーションキャプチャーシステム10は、更に、ターゲットの動きをオペレーティングシステムおよび/またはアプリケーションの制御として解釈するためにも用いることができる。この制御は、ゲームや娯楽およびレジャーを意図した他のアプリケーションの範囲外になる。例えば、オペレーティングシステムおよび/またはアプリケーションの事実上あらゆる制御可能な態様を、人間8の動きによって制御することができる。0037図2は、図1aのモーションキャプチャーシステム10のブロック図例を示す。深度カメラシステム20は、例えば、飛行時間、構造化光、立体画像等を含むいずれかの適した技法によって、深度値を含むことができる深度画像を含む深度情報と共にビデオを取り込むように構成することができる。深度カメラシステム20は、深度情報をZレイヤー、即ち、深度カメラからその視線に沿って延びるZ軸に対して垂直となることができるレイヤーに編成することができる。0038深度カメラシステム20は、物理空間における場面の深度画像を取り込む撮像コンポーネント22を含むことができる。深度画像または深度マップは、取り込んだ場面の二次元2-D画素エリアを含むことができ、この2-D画素エリアにおける各画素には、撮像コンポーネント22から物体までの直線距離を表す深度値が関連付けられており、これによって3-D深度画像を供給する。0039撮像コンポーネント22には種々の構成が可能である。1つの手法では、撮像コンポーネント22は、照明装置26、第1撮像センサーS124、第2撮像センサーS229、および可視光カメラ28を含む。センサーS1およびS2は、場面の深度画像を取り込むために用いることができる。1つの手法では、照明装置26は赤外線IR光放射源であり、第1および第2センサーは赤外線光センサーである。3-D深度カメラは、照明装置26と1つ以上のセンサーの組み合わせによって形成されている。0040深度マップは、種々の技法を用いて、各センサーによって得ることができる。例えば、深度カメラシステム20は、構造化光を用いて深度情報を取り込むことができる。このような分析では、パターン化光即ち、格子パターン、縞パターンというような、既知のパターンとして表示される光を、照明装置26によって画面上に投光する。場面の中にある1つ以上のターゲットまたは物体の表面に衝突すると、パターンは応答して歪むと考えられる。このようなパターンの変形を、例えば、センサー24または29および/またはカラーカメラ28によって取り込むことができ、次いでこれを分析して、深度カメラシステムからターゲットまたは物体上の特定の場所までの物理的距離を判定することができる。0041可能な1つの手法では、センサー24および29を照明装置26の対向する両側に、照明装置から異なる基準線距離のところに位置付ける。例えば、センサー24を照明装置26から距離BL1のところに位置付け、センサー29を照明装置26から距離BL2のところに位置付ける。センサーと照明装置との間の距離は、これらセンサーおよび照明装置の、光軸のような、中心点間の距離に関して表現するとよい。照明装置の対向する両側にセンサーを有することの1つの利点は、視野内における物体の遮蔽エリアを減らすまたはなくすことができることである。何故なら、これらのセンサーは異なる視点から物体を見るからである。また、センサーを相対的に照明装置の方に近づけて配置することによって、視野の中で近い方にある物体を見るために、このセンサーを最適化することができ、一方センサーを相対的に照明装置から遠ざけて配置することによって、視野の中で遠い方にある物体を見るために他方のセンサーを最適化することができる。例えば、BL2>BL1とすると、センサー24は、短い距離の撮像に最適化するように考慮することができ、一方センサー29は、長い距離の撮像に最適化するように考慮することができる。1つの手法では、センサー24および29が、照明装置を通過する共通線に沿って配置されるように、これらを同一直線上に配することができる。しかしながら、センサー24および29の位置付けに関しては、他の構成も可能である。0042例えば、前述のセンサーは、走査しようとしている物体周囲の円周上に配置すること、またはホログラムを投射しようとする場所の周囲に配置することもできる。また、物体の周囲に多数の深度カメラシステムを配置し、各々に照明装置およびセンサーを持たせることも可能である。これによって、物体の異なる側を見ることが可能となり、物体を中心とする回転映像を供給することができる。多くの深度カメラを用いる程、これによって物体の見える領域が更に広がる。2つの深度カメラを有し、1つを物体の前側に、もう1つを物体の後ろ側に置くと、これら自体の照明で互いに見えなくならない限り、互いに狙い合うことができる。各深度カメラは、それ自体の構造化光パターンが物体から反射したものを検知することができる。他の例では、2つの深度カメラを、互いに90度の角度で配置する。0043深度カメラシステム20は、3-D深度カメラ22と通信するプロセッサー32を含むことができる。プロセッサー32は、標準プロセッサー、特殊プロセッサー、マイクロプロセッサー等を含むことができ、例えば、深度画像を受け取る命令、この深度画像に基づいてボクセルの格子を生成する命令、ボクセルの格子に含まれる背景を除去して、人間のターゲットと関連のある1つ以上のボクセルを分離する命令、この分離した人間ターゲットの1つ以上の端部の位置を判定する命令、1つ以上の端部の位置に基づいてモデルを調節する命令、あるいは他のあらゆる適した命令を含む。これについては、以下で更に詳しく説明する。0044プロセッサー32は、構造化光深度マップを導き出すソフトウェア33、立体視深度マップを導き出すソフトウェア34、および深度マップ合体計算を実行するソフトウェア35を用いるために、メモリー31にアクセスすることができる。プロセッサー32は、画素データーのフレームを、照明面内に照明装置によって放出される構造化光のパターンと比較することによって、物体の構造化光深度マップを導き出す、少なくとも1つの制御回路であると考えることができる。例えば、少なくとも1つの制御回路は、ソフトウェア33を用いて、センサー24によって得た画素データーの第1フレームを、照明装置26によって放出された構造化光のパターンと比較することによって、物体の第1構造化光深度マップを導き出し、センサー29によって得た画素データーの第2フレームを構造化光のパターンと比較することによって、物体の第2構造化光深度マップを導き出すことができる。少なくとも1つの制御回路は、ソフトウェア35を用いて、第1および第2構造化光深度マップに基づく、合体深度マップを導き出すことができる。構造化光深度マップについては、例えば、図5Aに関係付けて以下で更に論ずることにする。0045また、少なくとも1つの制御回路は、ソフトウェア34を用いて、センサー24によって得た画素データーの第1フレームと、センサー29によって得た画素データーの第2フレームとの立体照合によって、物体の少なくとも第1立体深度マップを導き出し、更に、画素データーの第2フレームと画素データーの第1フレームとの立体視照合によって、物体の少なくとも第2立体深度マップを導き出すことができる。ソフトウェア25は、1つ以上の構造化光深度マップおよび/または立体深度マップを合体することができる。立体深度マップについては、例えば、図5Bに関係付けて以下で更に論ずることにする。0046少なくとも1つの制御回路は、プロセッサー192または他のいずれかのプロセッサーというような、深度カメラシステム外部のプロセッサーによって設けることもできる。少なくとも1つの制御回路は、メモリー31からソフトウェアにアクセスすることができる。メモリー31は、例えば、本明細書において記載する深度カメラシステムにおいて画像データーを処理する方法を実行するように、少なくとも1つのプロセッサーまたはコントローラー32をプログラミングするためのコンピューター読み取り可能ソフトウェアが具体化されている有形コンピューター読み取り可能ストレージであることができる。0047メモリー31は、プロセッサー32によって実行する命令を格納するだけでなく、前述のセンサーまたはカラーカメラによって取り込んだ画素データー36のフレームというような画像を格納することもできる。例えば、メモリー31は、ランダムアクセスメモリーRAM、リードオンリーメモリーROM、キャッシュ、フラッシュメモリー、ハードディスク、または他の適した有形コンピューター読み取り可能記憶コンポーネントであればいずれでも含むことができる。メモリーコンポーネント31は、バス21を介して画像キャプチャーコンポーネント22およびプロセッサー32と通信する別個のコンポーネントであってもよい。他の実施形態によれば、メモリーコンポーネント31をプロセッサー32および/または画像キャプチャーコンポーネント22に統合してもよい。0048深度カメラシステム20は、有線および/またはワイヤレス接続というような、通信リンク37を通じて、計算環境12と通信することもできる。計算環境12は、クロック信号を深度カメラシステム20に通信リンク37を通じて供給することができる。このクロック信号は、深度カメラシステム20の視野内にある物理空間からいつ画像データーを取り込むのかを示す。0049加えて、深度カメラシステム20は、例えば、撮像センサー24および29および/またはカラーカメラ28によって取り込んだ深度情報および画像、および/または深度カメラシステム20によって生成することができるスケルトンモデルを、計算環境12に通信リンク37を通じて供給することもできる。次いで、計算環境12は、このモデル、深度情報、および取り込んだ画像を用いて、アプリケーションを制御することができる。例えば、図2に示すように、計算環境12は、ジェスチャーフィルターの集合体のような、ジェスチャーライブラリー190を含むことができる。各ジェスチャーフィルターは、ユーザーが動くとスケルトンモデルによって行うことができるジェスチャーに関する情報を有する。例えば、ジェスチャーフィルターは、手の打撃または投げる動作というような、種々の手のジェスチャー毎に設けることができる。検出した動きを各フィルターと比較することによって、人が行った指定ジェスチャーまたは動きを特定することができる。動きを行う範囲も判定することができる。0050深度カメラシステム20によってスケルトンモデルの形態で取り込まれたデーター、およびそれに付随する動きは、ジェスチャーライブラリー190においてジェスチャーフィルターと比較され、いつユーザースケルトンモデルによって表されるが1つ以上の特定の動きを行ったのか特定することができる。これらの動きには、アプリケーションの種々の制御と関連付けることができる。0051また、この計算環境は、プロセッサー192も含むことができる。プロセッサー192は、メモリー194に格納されている命令を実行し、オーディオ-ビデオ出力信号をディスプレイデバイス196に供給し、更に本明細書において記載するその他の機能を遂行する。0052図3は、図1のモーションキャプチャーシステムにおいて用いることができる計算環境のブロック図例を示す。この計算環境は、1つ以上のジェスチャーまたはその他の動きを解釈し、それに応答してディスプレイ上の視覚空間を更新するために用いることができる。先に説明した計算環境12のような計算環境は、ゲーミングコンソールのようなマルチメディアコンソール100を含むことができる。マルチメディアコンソール100は、レベル1キャッシュ102、レベル2キャッシュ104、およびフラッシュROMリードオンリーメモリー106を有する中央演算装置CPU101を有する。レベル1キャッシュ102およびレベル2キャッシュ104は、一時的にデーターを格納し、こうしてメモリーアクセスサイクルの回数を減らすことによって、処理速度およびスループットを向上させる。1つよりも多いコア、つまり、追加のレベル1およびレベル2キャッシュ102および104を有するCPU101を設けることもできる。フラッシュROMのようなメモリー106は、マルチメディアコンソール100の電源をオンにしたときに、ブートプロセスの初期段階中にロードされる実行可能コードを格納することができる。0053グラフィクス処理ユニットGPU108およびビデオエンコーダー/ビデオコデックコーダー/デコーダー114は、高速および高分解能グラフィクス処理のためにビデオ処理パイプラインを形成する。データーは、バスを通じて、グラフィクス処理ユニット108からビデオエンコーダー/ビデオコデック114に伝達される。ビデオ処理パイプラインは、テレビジョンまたは他のディスプレイに送信するために、データーをA/Vオーディオ/ビデオポート140に出力する。メモリーコントローラー110がGPU108に接続されており、RAMランダムアクセスメモリーのような、種々のタイプのメモリー112にプロセッサーがアクセスし易くしている。0054マルチメディアコンソール100は、I/Oコントローラー120、システム管理コントローラー122、オーディオ処理ユニット123、ネットワークインターフェース124、第1USBホストコントローラー126、第2USBコントローラー128、およびフロントパネルI/Oサブアセンブリ130を含む。好ましくは、これらをモジュール118上に実装する。USBコントローラー126および128は、周辺コントローラー1421~1422、ワイヤレスアダプター148、および外部メモリーデバイス146例えば、フラッシュメモリー、外部CD/DVDROMドライブ、リムーバブル媒体等のためのホストとしての役割を果たす。ネットワークインターフェースNWIF124および/またはワイヤレスアダプター148は、ネットワーク例えば、インターネット、ホームネットワーク等へのアクセスを提供し、イーサネット登録商標カード、モデム、Bluetooth登録商標モジュール、ケーブルモデム等を含む広範囲の種々の有線またはワイヤレスアダプターコンポーネントの内いずれであってもよい。0055システムメモリー143は、ブートプロセスの間にロードされるアプリケーションデーターを格納するために設けられている。メディアドライブ144が設けられており、DVD/CDドライブ、ハードドライブ、またはその他のリムーバブルメディアドライブ等を備えることができる。メディアドライブ144は、マルチメディアコンソール100の内部にあっても外部にあってもよい。アプリケーションデーターは、実行、再生等のためにマルチメディアコンソール100によってメディアドライブ144を通じてアクセスすることができる。メディアドライブ144は、シリアルATAバスまたはその他の高速接続のようなバスを通じて、I/Oコントローラー120に接続されている。0056システム管理コントローラー122は、メディアコンソール100が利用可能であることの確保に関する種々のサービス機能を提供する。オーディオ処理ユニット123およびオーディオコデック132は、高忠実度およびステレオ処理を行う、対応のオーディオ処理パイプラインを形成する。オーディオデーターは、通信リンクを通じて、オーディオ処理ユニット123とオーディオコデック132との間で伝達される。オーディオ処理パイプラインは、外部オーディオプレーヤーまたはオーディオ処理能力を有するデバイスによる再生のために、データーをA/Vポート140に出力する。0057フロントパネルI/Oサブアセンブリ130は、電力ボタン150およびイジェクトボタン152の機能をサポートするだけでなく、マルチメディアコンソール100の外面上に露出するあらゆるLED発光ダイオードまたはその他のインディケーターもサポートする。システム電源モジュール136が、マルチメディアコンソール100のコンポーネントに電力を供給する。ファン138は、マルチメディアコンソール100内部にある回路を冷却する。0058CPU101、GPU108、メモリーコントローラー110、およびマルチメディアコンソール100内部にある種々のその他のコンポーネントは、1系統以上のバスを通じて相互接続されている。これらのバスには、シリアルおよびパラレルバス、メモリーバス、周辺バス、ならびに種々のバスアーキテクチャーのいずれかを用いるプロセッサーバスまたはローカルバスが含まれる。0059マルチメディアコンソール100の電源を入れると、システムメモリー143からメモリー112および/またはキャッシュ102、104にアプリケーションデーターをロードし、CPU101において実行することができる。アプリケーションは、グラフィカルユーザーインターフェースを提示することができる。グラフィカルユーザーインターフェースは、マルチメディアコンソール100において利用可能な異なるタイプのメディアにナビゲートするときに、一貫性のあるユーザー体験を提供する。動作において、アプリケーションおよび/またはメディアドライブ144に含まれている他のメディアをメディアドライブ144から起動または再生して、マルチメディアコンソール100に追加の機能を設けることもできる。0060マルチメディアコンソール100は、単に本システムをテレビジョンまたはその他のディスプレイに接続することによって、スタンドアロンシステムとして動作させることができる。この単独モードでは、マルチメディアコンソール100は、一人以上のユーザーがシステムと相互作用を行い、ムービーを見ること、または音楽を聞くことを可能にする。しかしながら、ネットワークインターフェース124またはワイヤレスアダプター148によって利用可能となるブロードバンド接続機能を統合することにより、マルチメディアコンソール100を更に大きなネットワークコミュニティにおける一部として動作させることもできる。0061マルチメディアコンソール100の電源を入れると、マルチメディアコンソールのオペレーティングシステムによって、設定されている量のハードウェアリソースがシステムの使用のために確保される。これらのリソースは、メモリー例えば、16MB、CPUおよびGPUサイクル例えば、5、ネットワーク動作帯域幅例えば、8kbs等の確保を含むことができる。これらのリソースは、システムのブート時に確保されるので、確保されたリソースは、アプリケーションの視点からは存在しない。0062特に、メモリーの確保は、起動カーネル、コンカレントシステムアプリケーション、およびドライバーを含めるのに十分大きいことが好ましい。確保されているCPUの使用がそのシステムアプリケーションによって用いられない場合、アイドル状態にあるスレッドがいずれかの未使用サイクルを消費するようにして、CPUの確保を一定レベルに維持することが好ましい。0063GPUの確保に関して、GPU割り込みを用いることによって、システムアプリケーション例えば、ポップアップが生成する軽量メッセージを表示して、ポップアップをオーバーレイにレンダリングするコードをスケジューリングする。オーバーレイに用いられるメモリー量は、オーバーレイのエリアサイズに応じて異なり、オーバーレイは画面の解像度と共に拡縮することが好ましい。コンカレントシステムアプリケーションによってフルユーザーインターフェースが用いられる場合、アプリケーションの解像度とは独立した解像度を用いることが好ましい。周波数を変更しTVの同期を取り直す必要性をなくすように、スケーラーを用いてこの解像度を設定するとよい。0064マルチメディアコンソール100がブートして、システムリソースを確保した後、コンカレントシステムアプリケーションが実行してシステム機能を提供する。システム機能は、前述の確保したシステムリソースの内部で実行する1組のシステムアプリケーションの中にカプセル化されている。オペレーティングシステムカーネルは、システムアプリケーションスレッドと、ゲーミングアプリケーションスレッドとの間でスレッドを識別する。一貫したシステムリソースビューをアプリケーションに提供するために、システムアプリケーションは、所定の時点にそして所定の間隔でCPU101において実行するようにスケジューリングされていることが好ましい。このスケジューリングは、コンソールにおいて実行しているゲーミングアプリケーションに対するキャッシュの分裂を最少に抑えるためにある。0065コンカレントシステムアプリケーションがオーディオを必要とする場合、時間に敏感であるため、オーディオ処理を非同期にゲーミングアプリケーションにスケジューリングする。マルチメディアコンソールアプリケーションマネージャー以下で説明するは、システムアプリケーションがアクティブであるとき、ゲーミングアプリケーションのオーディオレベル例えば、無音化、減衰を制御する。0066入力デバイス例えば、コントローラー1421および1422は、ゲーミングアプリケーションおよびシステムアプリケーションによって共有される。入力デバイスは、確保されたリソースではないが、各々がそのデバイスのフォーカスを有するように、システムアプリケーションとマルチメディアアプリケーションとの間で切り換えられる。アプリケーションマネージャーは、好ましくは、ゲーミングアプリケーションの知識を用いずに入力ストリームの切換を制御し、ドライバーはフォーカススイッチに関する状態情報を維持する。コンソール100は、センサー24および29を含む、図2の深度カメラシステム20から追加の入力を受け取ることもできる。0067図4は、図1のモーションキャプチャーシステムにおいて用いることができる計算環境の他のブロック図例を示す。モーションキャプチャーシステムでは、この計算環境は、1つ以上のジェスチャーまたは他の動きを解釈し、応答してディスプレイ上の視覚空間を更新するために用いることができる。計算環境220は、コンピューター241を備えており、コンピューター241は、通例、種々のコンピューター読み取り可能媒体を備えている。コンピューター読み取り可能媒体は、コンピューター241がアクセス可能な入手可能な媒体であればいずれでも可能であり、揮発性および不揮発性の双方、リムーバブル、および非リムーバブル媒体を含む。システムメモリー222は、リードオンリーメモリーROM223およびランダムアクセスメモリーRAM260のような揮発性および/または不揮発性メモリーの形態となっている、コンピューター記憶媒体を含む。基本入出力システム224BIOSは、起動中のように、コンピューター241内のエレメント間におけるデーター転送を補助する基本的なルーチンを内蔵しており、通例ROM223内に格納されている。RAM260は、通例、演算装置259が直ちにアクセス可能であるデーターおよび/またはプログラムモジュール、または現在これによって処理されているデーターおよび/またはプログラムモジュールを収容する。グラフィクスインターフェース231は、GPU229と通信する。一例として、そして限定ではなく、図4は、オペレーティングシステム225、アプリケーションプログラム226、その他のプログラムモジュール227、およびプログラムデーター228を示す。0068また、コンピューター241は、その他のリムーバブル/非リムーバブル揮発性/不揮発性コンピューター記憶媒体も含むことができる。例えば、非リムーバブル不揮発性磁気媒体からの読み取りおよびこれへの書き込みを行なうハードディスクドライブ238、リムーバブル不揮発性磁気ディスク254からの読み取りおよびこれへの書き込みを行なう磁気ディスクドライブ239、ならびにCDROMまたはその他の光媒体のようなリムーバブル不揮発性光ディスク253からの読み取りおよびこれへの書き込みを行なう光ディスクドライブ240が含まれる。本動作環境例において使用可能なその他のリムーバブル/非リムーバブル、揮発性/不揮発性コンピューター記憶媒体には、限定する訳ではないが、磁気テープカセット、フラッシュメモリーカード、ディジタルバーサタイルディスク、ディジタルビデオテープ、ソリッドステートRAM、ソリッドステートROM等が含まれる。ハードディスクドライブ238は、通例、インターフェース234のような非リムーバブルメモリーインターフェースを通じてシステムバス221に接続され、磁気ディスクドライブ239および光ディスクドライブ240は、通例、インターフェース235のようなリムーバブルメモリーインターフェースによって、システムバス221に接続されている。0069先に論じ図4に示すドライブおよびそれらに付随するコンピューター記憶媒体は、コンピューター読み取り可能命令、データー構造、プログラムモジュール、およびコンピューター241のその他のデーターを格納する。例えば、ハードディスクドライブ238は、オペレーティングシステム258、アプリケーションプログラム257、他のプログラムモジュール256、およびプログラムデーター255を格納するように示されている。尚、これらのコンポーネントは、オペレーティングシステム225、アプリケーションプログラム226、他のプログラムモジュール227、およびプログラムデーター228と同じでも異なっていても可能であることを注記しておく。オペレーティングシステム258、アプリケーションプログラム257、他のプログラムモジュール256、およびプログラムデーター255は、ここで、少なくともこれらが異なるコピーであることを示すために、異なる番号が与えられている。ユーザーは、キーボード251、および一般にマウス、トラックボールまたはタッチパッドと呼ばれているポインティングデバイス252のような入力デバイスによって、コマンドおよび情報をコンピューター241に入力することができる。他の入力デバイス図示せずには、マイクロフォン、ジョイスティック、ゲームパッド、衛星ディッシュ、スキャナー等を含むことができる。これらおよびその他の入力デバイスは、多くの場合、ユーザー入力インターフェース236を介して、演算装置259に接続されている。ユーザー入力インターフェース236は、システムバスに結合されているが、パラレルポート、ゲームポート、またはユニバーサルシリアルバスUSBというような他のインターフェースおよびバス構造によって接続することも可能である。センサー24および29を含む図2の深度カメラシステム20は、コンソール100に追加入力デバイスを定めることができる。モニター242またはその他のタイプの表示装置も、ビデオインターフェース232のようなインターフェースを介して、システムバス221に接続されている。モニターに加えて、コンピューターが、スピーカー244およびプリンター243のような、その他の周辺出力装置も含んでもよく、これらは出力周辺インターフェース233を通じて接続すればよい。0070コンピューター241は、リモートコンピューター246のような1つ以上のリモートコンピューターへの論理接続を用いて、ネットワーク環境において動作することも可能である。リモートコンピューター246は、パーソナルコンピューター、サーバー、ルータ、ネットワークPC、ピアデバイス、またはその他の共通ネットワークノードとすることができ、通例、コンピューター241に関して先に説明したエレメントの多くまたは全てを含むが、図4にはメモリー記憶装置247のみを示す。前述の論理接続は、ローカルエリアネットワークLAN245およびワイドエリアネットワークWAN249を含むが、他のネットワークも含むことができる。このようなネットワーク環境は、事務所、企業規模のコンピューターネットワーク、イントラネットおよびインターネットにおいては一般的である。0071LANネットワーク環境で用いる場合、コンピューター241は、ネットワークインターフェースまたはアダプター237を介してLAN245に接続する。WANネットワーク環境で用いる場合、コンピューター241は、通例、モデム250、またはインターネットのようなWAN249を通じて通信を設定するその他の手段を含む。モデム250は、内蔵でも外付けでもよく、ユーザー入力インターフェース236またはその他の適切な機構を介してシステムバス221に接続することができる。ネットワーク環境では、コンピューター241に関係付けて図示したプログラムモジュール、またはその一部は、リモートメモリー記憶装置に格納することもできる。一例として、そして限定ではなく、図4は、リモートアプリケーションプログラム248がメモリーデバイス247に存在するものとして示している。尚、図示のネットワーク接続は一例であり、コンピューター間で通信リンクを設定する他の手段も使用可能であることは認められよう。0072以上の計算環境は、本明細書において記載する深度カメラシステムにおいて画像データーを処理する方法を実行するように、少なくとも1つのプロセッサーをプログラミングするためのコンピューター読み取り可能ソフトウェアが具体化されている有形コンピューター読み取り可能ストレージを含むことができる。この有形コンピューター読み取り可能ストレージは、例えば、コンポーネント31、194、222、234、235、230、253、および254の内1つ以上を含むことができる。プロセッサーは、例えば、コンポーネント32、192、229、および259の内1つ以上を含むことができる。0073図5Aは、構造化光システムにおける照明フレームおよび取り込みフレームを示す。照明フレーム500は、照明装置の視野内にある物体520上に構造化光を放出する照明装置の画像平面を表す。照明フレーム500は、x2、y2、およびz2という直交軸を有する軸系を含む。F2は、照明装置の焦点であり、O2は、照明フレーム500の中心というような、この軸系の原点である。放出された構造化光は、縞模様、斑点、またはその他の既知の照明パターンを含むことができる。同様に、取り込みフレーム510は、図2と関係付けて論じたセンサー24または29のような、センサーの画像平面を表す。取り込みフレーム510は、x1、y1、およびz1という直交軸を有する軸系を含む。F1はセンサーの焦点であり、O1は、取り込みフレーム510の中心というような、この軸系の焦点である。この例では、簡略化のために、y1およびy2は、共線的に整列されており、z1およびz2は平行になっているが、こうしなければいけないのではない。また、2つ以上のセンサーを用いることができるが、簡略化のために、ここでは1つのセンサーだけを図示している。0074投射された構造化光の光線は、照明フレーム500上にある点P2から放出される光線例502のように、照明装置平面における異なるx2、y2位置から放出される。光線502は、点P0において物体520、例えば、人に衝突し、多くの方向に反射される。光線512は、反射光の一例であり、点P0から取り込みフレーム510上の点P1まで進む。P1は、センサー内の1画素によって表されるので、そのx1、y1位置は既知である。幾何学的原理により、P2は、P1、F1、およびF2を含む平面上に位置する。この平面の内、照明フレーム500と交差する部分が、エピポーラ線505となる。構造化光の内どの部分がP2によって投射されるかを特定することによって、エピポーラ線505に沿ったP2の位置を特定することができる。P2は、P1の対応点である。物体の深度が近い程、エピポーラ線の長さは長くなる。0075続いて、三角測量法によって、z1軸に沿ったP0の深度を判定することができる。これは、深度マップにおいて画素P1に割り当てられる深度値である。照明フレーム500内にある点の中には、遮蔽のため、またはセンサーの視野が限られることのため等で、取り込みフレーム510に対応する画素がないこともある。取り込みフレーム510における画素で照明フレーム500の中で対応点が特定された各々について、深度値を得ることができる。取り込みフレーム510に対する1組の深度値から、取り込みフレーム510の深度マップが得られる。追加のセンサーおよびそれらそれぞれの取り込みフレームについて、同様のプロセスを実行することができる。更に、ビデオデーターの連続フレームを得たとき、本プロセスをフレーム毎に実行することができる。0076図5Bは、立体光システムにおける2つの取り込みフレームを示す。立体処理は、2つのフレームにおける対応点を特定することが、図5Aにおいて説明した処理に類似する。しかしながら、この場合、2つの取り込みフレームにおける対応画素を特定し、照明を別個に供給する。照明装置550は、この照明装置の視野内にある物体520上に投射光を供給する。この光は、この物体によって反射され、例えば、2つのセンサーによって検知される。第1センサーは、画素データーのフレーム530を取り込み、一方第2センサーは、画素データーのフレーム540を取り込む。光線例532は、物体上の点P0からフレーム530における画素P2まで延び、関連するセンサーの焦点F2を通過する。同様に、光線例542は、物体上の点P0からフレーム540における画素P1まで延び、関連するセンサーの焦点F1を通過する。フレーム540の視点からは、ステレオ照合は、エピポーラ線545上でP1に対応する点P2を特定することを伴うことができる。同様に、フレーム530の視点からは、ステレオ照合は、エピポーラ線548上でP2に対応する点P1を特定することを伴うことができる。このように、ステレオ照合は、1対のフレームのフレーム毎に1回ずつ、別個に実行することができる。場合によっては、第1フレームから第2フレームへの1方向のステレオ照合を実行し、第2フレームから第1フレームへの他の方向には、ステレオ照合を実行しないことも可能である。0077z1軸に沿ったP0の深度は、三角測量法で判定することができる。これは、深度マップにおける画素P1に割り当てられる深度値である。フレーム540内の点には、遮蔽のため、またはセンサーの視野が限られているため等で、フレーム530に対応する画素がない場合もある。フレーム540内にあって、フレーム530において対応する画素が特定された各画素について、深度値を得ることができる。フレーム540に対する1組の深度値が、フレーム540の深度マップを規定する。0078同様に、z2軸に沿ったP2の深度も三角測量法で判定することができる。これは、深度マップにおける画素P2に割り当てられる深度値である。フレーム530内の点には、遮蔽のため、またはセンサーの視野が限られているため等で、フレーム540に対応する画素がない場合もある。フレーム530内にあって、フレーム540において対応する画素が特定された各画素について、深度値を得ることができる。フレーム530に対する1組の深度値が、フレーム530の深度マップを規定する。0079同様のプロセスは、追加のセンサーおよびそれらそれぞれの取り込みフレームについて実行することができる。更に、ビデオデーターの連続フレームが得られたとき、本プロセスはフレーム毎に実行することができる。0080図6Aは、照明装置の同じ側に2つのセンサーを有する撮像コンポーネント600を示す。照明装置26は、視野の中にある人間ターゲットまたはその他の物体を、構造化光パターンで照明する投射機である。光源は、例えば、0.75μm~1.4μmの波長を有する近赤外線、3μm~8μmの波長を有する中間波長赤外線光、および8μm~15μmの波長を有する長波長赤外線光を含む700nm~3,000nmの波長を有する赤外線レーザとすることができる。これは、人間によって放出される赤外線に最も近い熱撮像領域である。この照明装置は、レーザ光を受光し多数の回折光ビームを出力する回折光学素子DOEを含むことができる。一般に、DOEは、1つの平行光ビームから、数千ものそれよりも小さな光ビームというような、多数の光ビームを小さくして供給するために用いられる。小さくした光ビームは各々、1つの平行光ビームのパワーの小さな端数を有し、小さくなった回折光ビームは、名目上等しい強度を有するのであればよい。0081小さい方の光ビームは、所望の所定パターンで照明装置の視野を定める。DOEは、ビーム反復子であり、したがって全ての出力ビームは、入力ビームと同じ幾何学的形状を有する。例えば、動き追跡システムでは、部屋の中で起立または着席している人間ターゲットの追跡を可能にするように、この部屋を照明することが望ましいことがある。この人間ターゲット全体を追跡する際、人間の身長および体幅全体、ならびに動き追跡システムのアプリケーションと対話処理するときにこの人間が動き回る可能性があるエリアを照明するためには、視野は十分に広い角度、高さおよび幅に広がらなければならない。腕を頭の上に伸ばしたり、または外側に向かって両側に伸ばしたりしたときの腕の範囲を含む、予想される人間の身長および体幅、人間がアプリケーションと対話処理するときに動く可能性があるエリア、カメラから人間までの予想される距離、およびカメラの焦点距離というような要因に基づいて、しかるべき視野を設定することができる。0082既に論じたRGBカメラ28も設けるとよい。RGBカメラは、図6Bおよび図6Cにおいても設けることができるが、簡略化のために図示されていない。0083この例では、センサー24および29は、照明装置26の同じ側にある。センサー24は、照明装置26から基準線距離BL1のところにあり、センサー29は、照明装置26から基準線距離BL2のところにある。センサー29は、これの方が基準線が短いことのために、短距離撮像に最適化されており、一方センサー24は、これの方が基準線が長いことのために、長距離撮像に最適化されている。更に、照明装置の一方側に双方のセンサーを配置することによって、通例サイズが限られる筐体を含む撮像コンポーネント600の固定サイズに合わせて、照明装置から離れている方のセンサーに、より長い基準線を得ることができる。一方、基準線を短くする程、短距離の撮像が改善する。何故なら、所与の焦点距離を想定して、センサーは、近くにある物体に合焦することができ、これによって、距離が短い程正確な深度測定が可能になるからである。基準線を短くすることにより、不一致が少なくなり、遮蔽が最小限に止まる。0084基準線が長い程、長距離の撮像が改善する。何故なら、対応する点の光線間にできる角度が大きくなるからであり、これが意味するのは、画像画素が検出することができる距離の差を縮減できるということである。例えば、図5Aにおいて、フレーム500および510が離れる程、光線502および512間の角度が大きくなることがわかる。そして、図5Bでは、フレーム530および540が離れる程、光線532および542間の角度が大きくなることがわかる。深度を判定する三角測量のプロセスは、光線間の角度が大きくなるようにセンサー同士が遠く離れる程、精度が高くなる。0085短距離または長距離撮像のどちらを最適化するかにしたがってセンサーに最適な基準線を設定することに加えて、撮像コンポーネント600の筐体の拘束範囲内で、短距離または長距離撮像を最適化するために、センサーの他の特性を設定することができる。例えば、カメラの空間解像度を最適化することができる。電荷結合素子CCDのようなセンサーの空間解像度は、画素数、および投射される画像に対するそれらのサイズの関数であり、センサーによってどの位細かく詳細を検出できるかということの尺度となる。短距離撮像に最適化されたセンサーでは、長距離撮像に最適化されているセンサーと比較して、低い空間解像度でも容認可能とすることができる。低い空間解像度は、フレームにおいて比較的少ない数の画素を用いることによって、および/または比較的大きな画素を用いることによって得ることができる。何故なら、視野において検出される物体の深度が小さいため、投射画像に対する画素サイズが相対的に大きくなるからである。これは、コスト節約およびエネルギ消費低減という結果を得ることができる。一方、長距離撮像に最適化されたセンサーでは、短距離撮像に最適化されたセンサーと比較して、高い空間解像度を用いなければならない。高い空間解像度は、フレームにおいて比較的多い数の画素を用いることによって、および/または比較的小さな画素を用いることによって得ることができる。何故なら、視野において検出される物体の深度が大きいため、投射画像に対する画素サイズが相対的に小さくなるからである。解像度が高い程、深度測定において高い精度が得られる。0086短距離撮像または長距離撮像を最適化するために設定することができるセンサーの他の特性に、感度がある。感度とは、センサーが入射光に対して反応する範囲を言う。感度の尺度の1つに、量子効率がある。これは、電子-正孔対を生成する、画素のような、センサーの光反応面に入射する光子の割合である。短距離撮像に最適化されたセンサーでは、低い感度でも容認可能である。何故なら、光子をセンサーに向けて反射する物体までの距離が短いために、比較的多くの光子が各画素に入射するからである。低い感度は、例えば、低品質のセンサーによってでも得ることができ、コスト節約になる。一方、長距離撮像に最適化されたセンサーでは、短距離撮像に最適化されたセンサーと比較して、高い感度を用いなければならない。高い感度は、高い品質のセンサーを用いることによって得ることができ、光子をセンサーに向けて反射する物体までの距離が長いことのために、各画素に入射する光子が比較的少ない場合でも検出が可能となる。0087短距離または長距離撮像を最適化するために設定することができるセンサーの他の特性に、露出時間がある。露出時間は、画像データーのフレームを得るプロセスの間、例えば、カメラのシャッターが開いている時間に、センサーの画素に光りを到達させる時間量である。露出時間の間、センサーの画素は電荷を蓄積または集積する。露出時間は、感度に関係があり、露出時間を長くすると、低い感度を補うことができる。しかしながら、短距離で精度高く連続する動きを取り込むためには、露出時間は短い程望ましい。何故なら、撮像された物体の所与の動きは、物体が近い程、大きな画素オフセットに解釈されるからである。短距離撮像に最適化されたセンサーには、短い露出時間を用いることができ、一方長距離撮像に最適化されたセンサーには、長い露出時間を用いることができる。しかるべき露出時間を用いることにより、近い物体の過剰露出/画像飽和や、遠い物体の露出不足を回避することができる。0088図6Bは、照明装置の一方側に2つのセンサーを有し、この照明装置の反対側に1つのセンサーを有する撮像コンポーネント610を示す。このように第3のセンサーを追加することによって、物体の撮像における遮蔽が少なくなり、追加の深度測定値が得られることにより、撮像の精度を高めることができる。センサー612のような1つのセンサーを照明装置の近くに位置付けることができ、他の2つのセンサーは照明装置の逆側にある。この例では、センサー24が照明装置26から基準距離BL1のところにあり、センサー29が照明装置26から基準線距離BL2のところにあり、第3センサー612が照明装置26から基準線距離BL3のところにある。0089図6Cは、照明装置の同じ側に3つのセンサーを有する撮像コンポーネント620を示す。このように第3のセンサーを追加することによって、追加の深度測定値が得られるために、一層精度の高い撮像を行うことが可能になる。更に、各センサーを異なる深度範囲に合わせて最適化することができる。例えば、照明装置からの基準線距離BL3が長いセンサー24は、長距離撮像に最適化することができる。照明装置から中間の基準線距離BL2にあるセンサー29は、中距離撮像に最適化することができる。そして、照明装置からの基準線距離BL1が短いセンサー612は、短距離撮像に最適化することができる。同様に、空間解像度、感度、および/または露出時間も、センサー24では長距離レベルに、センサー29では中距離レベルに、そしてセンサー612では短距離レベルに最適化することができる。0090図6Dは、照明装置の相対する両側に2つのセンサーを有する撮像コンポーネント630を示し、物体の異なる部分を2つのセンサーがどのようにして検知するのかを示す。センサーS124は、照明装置26から基準線距離BL1のところにあり、短距離撮像に最適化されている。センサーS229は、照明装置26から基準線距離BL2>BL1のところにあり、長距離撮像に最適化されている。RGBカメラ28も示されている。物体660が視野内にある。尚、この図の視点は、分かり易く修正されており、撮像コンポーネント630は正面図から示されており、物体660は上面図から示されていることを注記しておく。光線640および642は、照明装置26によって投射される光線の例である。光線632、634、および636は、センサーS124によって検知された反射光の光線例であり、光線650および652は、センサーS229によって検知された反射光の光線例である。0091この物体は、5つの表面を含み、センサーS124およびS229によって検知される。しかしながら、遮蔽のために、全ての表面が双方のセンサーによって検知されなくなっている。例えば、表面661は、センサーS124のみによって検知され、センサーS229の視点からは遮られている。また、表面662は、センサーS124のみによって検知され、センサーS229の視点からは遮られている。表面663は、センサーS1およびS2双方によって検知される。表面664は、センサーS2のみによって検知され、センサーS1の視点からは遮られている。表面665は、センサーS2のみによって検知され、センサーS1の視点からは遮られている。表面666は、センサーS1およびS2双方によって検知される。これは、第2センサー、または他の付加的なセンサーの追加を用いると、こうしなければ遮られる物体の部分をどのように撮像することができるかを示す。更に、これらのセンサーを照明装置から実用上できるだけ遠くに配置することも、遮蔽を最小限に抑えるためには、望ましいことが多い。0092図7Aは、視野の深度マップを求めるプロセスを示す。ステップ700は、構造化光のパターンで視野を照明することを含む。いずれのタイプの構造化光でも用いることができ、コード化した構造化光が含まれる。ステップ702および704は、少なくとも部分的に同時に実行することができる。ステップ702は、第1センサーにおいて反射赤外線光を検出し、画素データーの第1フレームを得ることを含む。この画素データーは、例えば、視野から画素に入射した光量の指示として、露出時間の間に各画素によって蓄積された電荷量を示すことができる。同様に、ステップ704は、第2センサーにおいて反射赤外線光を検出し、画素データーの第2フレームを得ることを含む。ステップ706は、双方のフレームからの画素データーを処理して、合体深度マップを導き出すことを含む。これは、図7B~図7Eに関係付けて更に論ずるような、異なる技法を伴うことができる。ステップ708は、合体深度マップに基づいてアプリケーションに制御入力を供給することを含む。この制御入力は、ディスプレイ上におけるアバターの位置を更新する、ユーザーインターフェースUIにおいてメニュー項目を選択する、または他にも可能な多くの動作のためというように、種々の目的に用いることができる。0093図7Bは、2つの構造化光深度マップを合体する、図7Aのステップ706の更なる詳細を示す。この手法では、第1および第2構造化光深度マップを、それぞれ、第1および第2フレームから求めて、2つの深度マップを合体する。このプロセスは、あらゆる数の2つ以上の深度マップを合体するように拡張することができる。具体的には、ステップ720において、画素データーの第1フレーム図7Aのステップ702において得られたにおける画素毎に、構造化光のパターンを照合することによって、照明フレームにおける対応点を判定する試みを行う。場合によっては、遮蔽またはその他の要因のために、第1フレームにおける1つ以上の画素に、照明フレームにおいて対応点を首尾良く判定できない場合もある。ステップ722において、第1構造化光深度マップを供給する。この深度マップは、第1フレームにおける各画素、および対応する深度値を特定することができる。同様に、ステップ724において、画素データーの第2フレーム図7Aのステップ704において得られたにおける画素毎に、照明フレームにおける対応点を判定する試みを行う。場合によっては、遮蔽またはその他の要因のために、第2フレームにおける1つ以上の画素に、照明フレームにおいて対応点を首尾良く判定できない場合もある。ステップ726において、第2構造化光深度マップを供給する。この深度マップは、第2フレームにおける各画素、および対応する深度値を特定することができる。ステップ720および722は、少なくとも部分的にステップ724および726と同時に実行することができる。ステップ728において、構造化光深度地図を合体して、図7Aのステップ706の合体深度マップを導き出す。0094この合体は、非加重平均、加重平均、精度尺度、および/または信頼性尺度を伴う手法を含む、異なる複数の手法に基づくことができる。1つの手法では、画素毎に、2つ以上の深度マップ間において深度値の平均を取る。第1フレームにおけるi番目の画素に対する深度値d1と、第2フレームにおけるi番目の画素に対する深度値d2との非加重平均の例は、d1d2/2となる。第1フレームにおけるi番目の画素に対する重みw1の深度値d1と、第2フレームにおけるi番目の画素に対する重みw2の深度値d2との加重平均の例は、w1×d1w2×d2/[w1w2]となる。深度値を合体する1つの手法では、センサーと照明装置との間の基準線距離に基づいて、フレームの深度値に重みを割り当て、基準線距離が長い程、高い信頼性を示す大きな重みを割り当て、基準線距離が短い程、低い信頼性を示す、小さい重みを割り当てるようにする。これを行うのは、基準線距離が長い程、精度が高い深度値が求められるからである。例えば、図6Dにおいて、w1=BL1BL1BL2の重みを、センサーS1からの深度値に割り当てることができ、w2=BL2/BL1BL2の重みを、センサーS2からの深度値に割り当てることができる。例示するために、BL=1距離単位、およびBL=2距離単位、w1=1/3およびw2=2/3と仮定する。これらの重みは、画素毎に、または深度値毎に適用することができる。0095以上の例は、図6Dにおける距離BL1BL2に基づいて、センサーS1からの画像のセンサーS2からの画像に対する立体照合から得られる深度値によって補強することもできる。この場合、w1=BL1/BL1BL2BL1BL2をセンサーS1からの深度値に割り当てることができ、w2=BL2/BL1BL2BL1BL2の重みをセンサーS2からの深度値に割り当てることができ、w3=BL1BL2/BL1BL2BL1BL2の重みを、S1からS2への立体照合から得られた深度値に割り当てることができる。例示するために、BL=1距離単位およびBL=2距離単位、w1=1/6、w2=2/6、およびw3=3/6と仮定する。更なる補強では、図6DにおけるセンサーS1からの画像に対するセンサーS2からの画像の立体照合から、深度値を求める。この場合、w1=BL1/BL1BL2BL1BL2BL1BL2をセンサーS1からの深度値に割り当てることができ、w2=BL2/BL1BL2BL1BL2BL1BL2の重みをセンサーS2からの深度値に割り当てることができ、w3=BL1BL2/BL1BL2BL1BL2BL1BL2の重みを、S1からS2への立体照合から得られた深度値に割り当てることができ、w4=BL1BL2/BL1BL2BL1BL2BL1BL2の重みを、S2からS1への立体照合から得られた深度値に割り当てることができる。例示するために、BL=1距離単位およびBL=2距離単位、w1=1/9、w2=2/9、w3=3/9、およびw4=4/9と仮定する。これは、単なる1つの可能性に過ぎない。0096また、信頼性尺度に基づいて重みを与え、信頼性尺度が高い深度値程、高い重みを割り当てるようにすることができる。1つの手法では、初期信頼性尺度を各画素に割り当て、物体の深度がフレーム毎に素早く変化しないという仮定に基づいて、新たなフレーム毎に、深度値が同じであるかまたは許容範囲内で同じに近い場合、信頼性尺度を増大させる。例えば、毎秒30フレームのフレームレートでは、追跡されている人間はフレーム間でさほど動かない。これ以上の詳細については、1991年8月13日に発行されたVisualnavigationandobstacleavoidancestructuredlightsystem視覚的ナビゲーションおよび障害物回避構造化光システムと題する米国特許第5,04,116号を参照のこと。別の手法では、信頼性尺度は、深度値におけるノイズの尺度となる。例えば、隣接する画素間の深度値には大きな変化は実際には発生しそうにないと仮定して、このような深度値の大きな変化は、ノイズ量が増える程、信頼性尺度の一層の低下につながることを示すことができる。これ以上の詳細については、2004年6月15日に発行されたSystemandmethodofusingrangeimagedatawithmachinevisiontoolマシンビジョンツールで範囲画像データーを用いるシステムおよび方法と題する米国特許第6,751,338号を参照のこと。また、信頼性尺度を割り当てる他の手法も可能である。00971つの手法では、マスターカメラ座標系を定義し、他の深度画像をマスターカメラ座標系に変換し、サンプリングし直す。一旦一致する画像を有したなら、1つ以上のサンプルを考慮に入れることを選択することができ、この考慮において、それらの信頼性に重み付けすればよい。平均は1つの解決策になるが、必ずしも最良のものではない。何故なら、それは遮蔽の場合を解決できないからである。この場合、各カメラは、空間内の異なる位置を首尾よく観察できることもある。信頼性尺度に、深度マップにおける各深度値を関連付けることができる。他の手法は、画像画素が存在しない3D空間におけるデーターを合体することである。3-Dでは、容積法を利用することができる。0098画素が正しくパターンに一致したか否か、したがって正しい深度値を有するか否か判定するために、通例、画像と既知の投射パターンとの間で相関付けまたは正規化相関付けを行う。これは、センサーと照明装置との間にあるエピポーラ線に沿って行われる。正常な一致は、相関の比較的強い局所最大値によって示され、高い信頼性尺度と関連付けることができる。一方、相関の比較的弱い局所最大値には、低い信頼性尺度を関連付けることができる。0099また、精度尺度に基づいて重みを与えることもでき、信頼性尺度が高い深度値程、高い重みを割り当てるようにする。例えば、空間解像度、ならびにセンサーと照明装置との間の基準線距離およびセンサー間の基準線距離に基づいて、各深度サンプルに精度尺度を割り当てることができる。精度尺度を判定する種々の技法が知られている。例えば、PointGreyResearchRichmondBCCanadaによるStereoAccuracyandErrorModeling立体精度および誤差モデリング、2004年4月19日、httpwwwptgreycomsupportkbdatakbStereoAccuracyShortpdfを参照のこと。次いで、これらの精度に基づいて、加重平均を計算することができる。例えば、測定した3D点について、重みWiexpを割り当てる。ここで、accuracyiは精度尺度であり、平均3D点はPavgsumSumとなる。次いで、これらの重みを用いて、3-Dにおいて近接している点サンプルを、加重平均を用いて合体することができる。001003Dにおける深度値データーを合体するために、depthrayoriginを用いて、全ての深度画像を3D空間に投射することができる。ここで、rayは画素からセンサーの焦点距離までの3Dベクトルであり、originは3D空間におけるセンサーの焦点の位置である。3D空間では、深度データー点毎に、垂直方向を計算する。更に、データー点毎に、他のソースから近隣データー点を探す。他のデーター点が十分に近く、点の垂直ベクトル間のドット積が正である場合、これが意味するのは、これらが同様に向けられており、物体の両側にはないということであり、これらの点を1つの点に合体する。この合体は、例えば、これらの点の3D位置の加重平均を計算することによって行うことができる。重みは、測定値の信頼性によって定めることができ、信頼性尺度は相関採点に基づく。00101図7Dは、2つの構造化光深度マップおよび2つの立体深度マップを合体する、図7Aのステップ706の更なる詳細を示す。この手法では、第1および第2構造化光深度マップを、それぞれ、第1および第2フレームから求める。加えて、1つ以上の立体深度マップも求める。第1および第2構造化光深度マップならびに1つ以上の立体深度マップを合体する。このプロセスは、2つ以上のあらゆる数の深度マップを合体するように拡張することができる。ステップ740および742は、少なくとも部分的に、ステップ744および746、ステップ748および750、ならびにステップ752および754と同時に実行することができる。ステップ740において、画素データーの第1フレームにおける各画素について、照明フレームにおいて対応する点を判定し、ステップ742において、第1構造化光深度マップを供給する。ステップ744において、画素データーの第1フレームにおける各画素について、画素データーの第2フレームにおいて対応する画素を判定し、ステップ746において、第1立体深度マップを供給する。ステップ748において、画素データーの第2フレームにおける各画素について、照明フレームにおいて対応する点を判定し、ステップ750において、第2構造化光深度マップを供給する。ステップ752において、画素データーの第2フレームにおける各画素について、画素データーの第1フレームにおいて対応する点を判定し、ステップ754において、第2立体深度マップを供給する。ステップ756は、異なる深度マップを合体することを含む。00102前述の合体は、異なる手法に基づくことができ、非加重平均、加重平均、精度尺度、および/または信頼性尺度を伴う手法を含む。00103この手法では、2つの立体深度マップを、2つの構造化光深度マップと合体する。1つの選択肢では、この合体では、1つの合体ステップにおいて全ての深度マップを一緒に考慮する。他の可能な手法では、この合体は多数のステップにおいて行われる。例えば、構造化光深度マップを合体して第1合体深度マップを求め、立体深度マップを合体して第2合体深度マップを求め、第1および第2合体深度マップを合体して、最終的な合体深度マップを求める。合体が多数のステップで行われる他の選択肢では、第1構造化光深度マップを第1立体深度マップと合体して第1合体深度マップを求め、第2構造化光深度マップを第2立体深度マップと合体して、第2合体深度マップを求め、第1および第2合体深度マップを合体して、最終的な合体深度マップを求める。他の手法も可能である。00104他の手法では、1つの立体深度マップのみを2つの構造化光深度マップと合体する。この合体は、1つ以上のステップで行うことができる。多重ステップ手法では、第1構造化光深度マップを立体深度マップと合体して第1合体深度マップを求め、第2構造化光深度マップを立体深度マップと合体して、最終的な合体深度マップを求める。または、2つの構造化光深度マップを合体して第1合体深度マップを求め、第1合体深度マップを立体深度マップと合体して、最終的な合体深度マップを求める。他の手法も可能である。00105図7Dは、立体照合を用いて、必要に応じて深度値を見直す、図7Aのステップ706の更なる詳細を示す。見直しが望ましいことを示す条件を検出したことに応答して1つ以上の深度値を見直すために立体照合を用いるということから、この手法は適応的である。立体照合は、フレームにおける画素の部分集合のみについて実行することができる。1つの手法では、画素の深度値の精緻が望ましいのは、画素を構造化光パターンに一致させることができないために、深度値がヌルまたはデフォルト値になってしまう場合である。遮蔽、陰影妨害、照明条件、表面模様、またはその他の理由のために、画素を構造化光パターンに一致させることができない場合がある。この場合、立体照合は、深度値が以前に得られていないところに深度値を供給することができ、また場合によっては、センサーと照明装置との間における基準線空間と比較して、それよりも長い基準線だけセンサーが離間されていることによって、更に精度が高い深度値を供給することもできる。例えば、図2、図6B、および図6Dを参照のこと。00106他の手法では、画素の深度値の見直しが望ましいのは、深度値が閾値距離を超過し、物体上の対応点がセンサーから比較的遠いことを示すときである。この場合、立体照合は、センサー間の基準線がセンサーの各々と照明装置との間の基準線よりも長い場合、一層精度が高い深度値を供給することができる。00107見直しは、以前に何の深度値も供給されていなかったときには深度値を供給すること、または、例えば、異なる手法に基づいて、深度値を合体することを伴うことができる。異なる手法は、非加重平均、加重平均、精度尺度、および/または信頼性尺度を伴う。更に、見直しは、各センサーのフレームに対して別個に、深度値を合体する前に実行することができる。00108見直しが望ましいことを示す条件が検出された画素についてのみ立体照合を実行することによって、不要な処理を回避する。見直しが望ましいことを示す条件が検出されない画素には、立体照合を実行しない。しかしながら、フレームの1つ以上の画素に対して、見直しが望ましいことを示す条件が検出されたときに、フレーム全体に対して立体照合を実行することも可能である。1つの手法では、フレーム全体に対する立体照合は、フレームにおける最小数の画素部分について見直しが指示されたときに、開始する。00109ステップ760において、画素データーの第1フレームにおける各画素について、照明フレームにおいて対応する点を判定し、ステップ761において、対応する第1構造化光深度マップを供給する。判断ステップ762では、深度値の見直しが指示されているか否か判断する。画素データーの第1フレームにおける各画素について、規準を評価することができ、1つの手法では、その画素に付随する深度値の見直しが望ましいか否か示すことができる。1つの手法では、見直しが望ましいのは、付随する深度値が入手できないまたは信頼性がないときである。信頼性がないことは、例えば、精度尺度および/または信頼性尺度に基づくことができる。信頼性尺度が閾値信頼性尺度を超える場合、その深度値は信頼性があると見なすことができる。または、精度尺度が閾値精度尺度を超える場合、深度値は信頼性があると見なすことができる。他の手法では、深度値が信頼性があると見なされるためには、信頼性尺度および精度尺度の双方が、それぞれの閾値レベルを超えなければならない。00110他の手法では、見直しが望ましいのは、深度が閾値深度を超えるときのように、深度が比較的離れていることを、付随する深度値が示すときである。見直しが望まれる場合、ステップ763において、画素データーの第1フレームにおける1つ以上の画素の、画素データーの第2フレームにおける1つ以上の画素に対する立体照合を実行する。この結果、画素データーの第1フレームの1つ以上の追加の深度値が得られる。00111同様に、画素データーの第2フレームについて、ステップ764において、画素データーの第2フレームにおける各画素に対し、照明フレームにおいて対応する点を判定し、ステップ765において、対応する第2構造化光深度マップを供給する。判断ステップ766では、深度値の見直しが指示されているか否か判断する。見直しが望まれる場合、ステップ767において、画素データーの第2フレームにおける1つ以上の画素の、画素データーの第1フレームにおける1つ以上の画素に対する立体照合を実行する。この結果、画素データーの第2フレームの1つ以上の追加の深度値が得られる。00112ステップ768において、画素データーの第1および第2フレームの深度マップを合体する。ここで、合体は、ステップ763および/または767の立体照合から求められた深度値を含む。この合体は、異なる手法に基づくことができ、非加重平均、加重平均、精度尺度、および/または信頼性尺度を伴う手法を含む。00113尚、見直しが指示された所与の画素について、前述の合体では、第1構造化光深度マップからの深度値と、第2構造化光深度マップからの深度値と、立体照合からの1つ以上の深度値とを合体することができる。この手法は、構造化光深度マップからの深度値を破棄し、立体照合からの深度値とそれを置き換える手法と比較して、一層信頼性の高い結果を供給することができる。00114図7Eは、立体照合を用いて、必要に応じて合体深度マップの深度値を見直す、図7Aのステップ706に対する他の手法の更なる詳細を示す。この手法では、構造化光パターンに対する照合によって求められた深度マップの合体は、見直しプロセスの前に行われる。ステップ760、761、764、および765は、図7Dにおいて同様に付番されているステップと同じである。ステップ770では、構造化光深度マップを合体する。この合体は、異なる手法に基づくことができ、非加重平均、加重平均、精度尺度、および/または信頼性尺度を伴う手法を含む。ステップ771は図7Dのステップ762および766に類似しており、深度値の見直しが指示されているか否か判断することを伴う。00115合体深度マップにおける各画素について、規準を評価することができ、1つの手法では、画素に付随する深度値の見直しが望ましいか否か示すことができる。1つの手法では、見直しが望まれるのは、付随する深度値が入手できないまたは信頼性がないときである。信頼性がないことは、例えば、精度尺度および/または信頼性尺度に基づくことができる。信頼性尺度が閾値信頼性尺度を超える場合、その深度値は信頼性があると見なすことができる。または、精度尺度が閾値精度尺度を超える場合、深度値は信頼性があると見なすことができる。他の手法では、深度値が信頼性があると見なされるためには、信頼性尺度および精度尺度の双方が、それぞれの閾値レベルを超えなければならない。他の手法では、見直しが望ましいのは、深度が閾値深度を超えるときのように、深度が比較的離れていることを、付随する深度値が示すときである。見直しが望まれる場合、ステップ772および/またはステップ773を実行することができる。場合によっては、1つのフレームにおける画素を他のフレームにおける画素と照合することによって、1つの方向に立体照合を実行すれば十分なこともある。他の場合では、立体照合を両方向で実行することもできる。ステップ772では、画素データーの第1フレームにおける1つ以上の画素の、画素データーの第2フレームにおける1つ以上の画素に対する立体照合を実行する。この結果、画素データーの第1フレームの1つ以上の追加の深度値が得られる。ステップ773では、画素データーの第2フレームにおける1つ以上の画素の、画素データーの第1フレームにおける1つ以上の画素に対する立体照合を実行する。この結果、画素データーの第2フレームの1つ以上の追加の深度値が得られる。00116ステップ774において、立体照合を実行した1つ以上の選択した画素について、ステップ770の合体深度マップを見直す。この見直しは、異なる手法に基づいて深度値を合体することを伴うことができ、非加重平均、加重平均、精度尺度、および/または信頼性尺度を伴う手法を含む。00117判断ステップ771において見直しが望まれない場合、本プロセスはステップ775において終了する。00118図8は、図7Aのステップ708において明記したような制御入力を用いて人間ターゲットを追跡する方法例を示す。前述のように、深度カメラシステムを用いて、ジェスチャーのような、ユーザーの動きを追跡することができる。この動きは、アプリケーションにおける制御入力として処理することができる。例えば、これは、ディスプレイ上にあるアバターの位置を更新することを含むことができ、図1に示すように、アバターがユーザーを表す。更に、ユーザーインターフェースUIにおいてメニュー項目を選択すること、または他の多くの可能な動作を含むことができる。00119この方法例は、例えば、深度カメラシステム20および/または図2~図4と関係付けて論じたような、計算環境12、100、または420を用いて実施することができる。1つ以上の人間ターゲットを走査して、スケルトンモデル、メッシュ人間モデル、または他のいずれかの適した人間の表現というような、モデルを生成することができる。スケルトンモデルでは、各身体部分を、スケルトンモデルの関節および骨を定義する数学的ベクトルとして特徴付けることができる。身体部分は、関節において互いに対して動くことができる。00120次に、このモデルを用いて、計算環境が実行するアプリケーションと対話処理することができる。モデルを生成するための走査を行うのは、アプリケーションを開始または起動するとき、あるいは走査される人のアプリケーションによって制御される他の時点とすることができる。00121人を走査してスケルトンモデルを生成することができ、ユーザーの身体的動きまたは運動が、アプリケーションのパラメータを調節および/または制御するリアルタイムユーザーインターフェースとして動作することができるように、このスケルトンモデルを追跡することができる。例えば、追跡した人の動きは、電子ロールプレーイングゲームにおいてアバターまたはその他の画面上のキャラクターを動かすために用いることができ、電子競走ゲームにおいて画面上の車両を制御するために用いることができ、仮想環境における物体の構造または組織を制御するために用いることができ、あるいはアプリケーションの他の適した制御であればそのいずれを実行するためにも用いることができる。00122一実施形態によれば、ステップ800において、例えば、深度カメラシステムから深度情報を受け取る。深度カメラシステムは、1つ以上のターゲットを含むかもしれない視野を取り込むことまたは観察することができる。この深度情報は、複数の被観察画素を有する深度画像またはマップを含むことができ、各被観察画素は、先に論じたような、観察された深度値を有する。00123深度画像を低処理解像度にダウンサンプリングして、一層容易に用いることができ、少ない計算オーバーヘッドで処理できるようにしてもよい。加えて、1つ以上の高分散深度値および/またはノイズの多い深度値を深度画像から除去する、および/またはスムージングしてもよく、失った深度情報および/または除去した深度情報の部分を穴埋めすること、および/または再現することができ、および/またはスケルトンモデル図9参照のようなモデルを生成するために深度情報を用いることができるように、適した処理であれば他のいずれでも、受け取った深度情報に対して実行することができる。00124ステップ802では、深度画像が人間ターゲットを含むか否か判断する。これは、深度画像における各ターゲットまたは物体を塗り潰して、各ターゲットまたは物体をパターンと比較して、深度画像が人間のターゲットを含むか否か判断することができる。例えば、深度画像の選択されたエリアまたは点における画素の種々の深度値を比較して、前述のようにターゲットまたは物体を定めることができるエッジを判定することができる。判定したエッジに基づいて、Z層において取り得るZ値を塗り潰すことができる。例えば、判定されたエッジと関連のある画素、および判定されたエッジの内部にあるエリアの画素を互いに関連付けて、キャプチャーエリアの中にあるターゲットまたは物体を定めることができ、これをパターンと比較することができる。これについては、以下で更に詳しく説明する。00125判断ステップ804において、深度画像が人間ターゲットを含む場合、ステップ806を実行する。判断ステップ804が偽である場合、ステップ800において追加の深度情報を受け取る。00126各ターゲットまたは物体と比較するパターンは、人間の典型的な身体を集合的に定義する1組の変数を有する1つ以上のデーター構造を含むことができる。例えば、視野の中にいる人間ターゲットまたは人間以外のターゲットの画素に付随する情報を、これらの変数と比較して、人間ターゲットを識別することができる。一実施形態では、前述の1組における変数の各々に、身体部分に基づいて重み付けすることができる。例えば、パターンの中にある頭部および/または肩というような種々の身体部分には、重み値を関連付けることができ、この重み値は、脚部のような他の身体部分よりも大きくするとよい。一実施形態によれば、重み値は、ターゲットが人間であるか否か、そしてどのターゲットが人間なのか判断するために、ターゲットを変数と比較するときに用いることができる。例えば、変数と大きな重み値を有するターゲットとの間の照合は、小さい重み値との照合よりも、ターゲットが人間であることの高い可能性を得ることができる。00127ステップ806は、人間ターゲットを走査して身体部分を発見することを含む。人間ターゲットを走査すると、人の1つ以上の身体部分に伴う長さ、幅等のような測定値を得ることができ、この人の高精度モデルを供給することができる。一実施形態例では、人間ターゲットを分離することができ、1つ以上の身体部分を走査するために人間ターゲットのビットマスクを作成することができる。ビットマスクは、例えば、人間ターゲットをキャプチャーエリアのエレメントにおいて他のターゲットまたは物体から分離できるように、人間ターゲットを塗り潰すことによって製作することができる。次いで、このビットマスクを分析して1つ以上の身体部分を求め、人間ターゲットのスケルトンモデル、メッシュ人間モデル等のようなモデルを発生することができる。例えば、一実施形態によれば、走査したビットマスクによって決定された測定値を用いて、スケルトンモデルにおける1つ以上の関節を定義することができる。1つ以上の関節は、人間の身体部分に対応することができる1つ以上の骨を定義するために用いることができる。00128例えば、人間ターゲットのビットマスクの最上位を頭の天辺の位置と関連付けることができる。頭部の天辺を決定した後、ビットマスクを下方に走査して、首の位置、肩の位置等を次に決定することができる。例えば、走査されている位置におけるビットマスクの幅を、例えば、首、肩等と関連のある典型的な幅の閾値と比較することができる。代替実施形態では、以前に走査した位置であってビットマスクにおける身体部分と関連のある位置からの距離を用いて、首、肩等の位置を決定することができる。脚部、足等のような身体部分の一部は、例えば、他の身体部分の位置に基づいて計算することもできる。身体部分の値を決定するとき、その身体部分の測定値を含むデーター構造を作成する。このデーター構造は、深度カメラシステムによって異なる時点において供給される多数の深度画像から平均した走査結果を含むことができる。00129ステップ808は、人間ターゲットのモデルを発生することを含む。一実施形態では、走査したビットマスクによって決定された測定値を用いて、スケルトンモデルにおける1つ以上の関節を定義することができる。1つ以上の関節は、人間の身体部分に対応する1つ以上の骨を定義するために用いられる。001301つ以上の関節は、これらの関節が人間の関節と身体部分との間における典型的な距離の範囲内に収まるまで調節して、一層正確なスケルトンモデルを発生することができる。更に、例えば、人間ターゲットと関連のある高さに基づいて、モデルを調節することもできる。00131ステップ810において、毎秒数回人の位置を更新することによって、モデルを追跡する。ユーザーが物理空間において動くにつれて、スケルトンモデルが人を表すように、スケルトンモデルを調節するために深度カメラシステムからの情報を用いる。即ち、1つ以上の力をスケルトンモデルの1つ以上の力受入側面に加えて、物理空間内にある人間ターゲットの姿勢に一層密接に対応する姿勢に、スケルトンモデルを調節することができる。0091一般に、人の動きを追跡するためには、知られている技法であればいずれでも用いることができる。00133図9は、図8のステップ808において明記した人間ターゲットのモデル例を示す。モデル900は、深度カメラに対して図1の-z方向に面しているので、図示されている断面はx-y平面内にある。このモデルは、頭部の天辺902、頭部の底部即ち顎913、右肩904、右肘906、右手首908、および、例えば、指先のエリアによって表される右手910というように、多数の基準点を含む。右側および左側は、カメラに面しているユーザーの視点から定義される。また、このモデルは、左肩914、左肘916、左手首918、および左手920も含む。また、手首領域922も、右臀部924、右膝926、右足928、左臀部930、左膝932、および左足934と共に描かれている。肩の線912は、両肩904および914間における、通例では水平な線である。例えば、点922および913の間を延びる上半身中央線925も描かれている。00134以上のことから、多数の利点を有する深度カメラシステムが提供されることがわかるであろう。1つの利点は、隠蔽が減ることである。より広い基準線を用いるので、他のセンサーには遮られている情報を、1つのセンサーが見ることができる。2つの深度マップの合体によって、1つのセンサーによって生成したマップと比較して、観察可能な物体が多い3D画像を生成する。他の利点は、陰影妨害効果が減ることである。構造化光方法は、センサーには見えるが光源には見えない位置において、本来陰影妨害効果を生ずる。これらの領域に立体照合を適用することによって、この効果を減らすことができる。他の利点は、外光に対するロバスト性である。外部照明が構造化光カメラを混乱させるために、有効な結果を得ることができないという多くの状況がある。これらの場合、立体データーは付加的な尺度として求められる。何故なら、外部照明は距離を測定するときに、実際にそれを補助することもあるからである。尚、外光は、同じ場面を見ている同一のカメラから来るかもしれないことを注記しておく。言い換えると、提案したカメラを2つ以上動作させて、同じ場面を見ることが可能になる。これは、1つのカメラによって生成される光パターンが、他のカメラが適正にパターンを一致させることを妨害することがあっても、立体整合はなおも成功する可能性が高いという事実による。他の利点は、提案した構成を用いると、2つのセンサーの方が広基準線を有するという事実のために、遠距離において精度向上を達成することが可能になる。構造化光および立体測定精度の双方は、センサー/投射機間の距離に大きく左右される。00135以上、本明細書における技術の詳細な説明は、例示および記述のために限って提示したのである。これは、網羅的であることも、開示した形態そのものに本技術を限定することも意図していない。以上の教示を考慮すれば、多くの変更および変形が可能である。記載した実施形態は、本技術の原理およびその実用的用途を最良に説明することによって、当業者が本技術を種々の実施形態において利用すること、そして考えられる個々の使用に適するような種々の変更を行って利用することを可能にするように選択したのである。本技術の範囲は、添付する特許請求の範囲によって定義されることを意図している。"