(57)【特許請求の範囲】
【請求項１】
対象物を異なる視点から同時にビデオ撮影して得られるステレオ動画像を用いてステレオマッチングを行うことにより対象物の位置情報を所定のレートで出力する情報処理装置であって、
前記ステレオ動画像に含まれる画像フレーム対をそれぞれ、所定の複数の解像度で表した複数の撮影画像のうち、対象物の像の大きさに係る情報に基づき選択した解像度の画像を撮像装置から取得する通信部と、
前記選択した解像度の画像を用いてステレオマッチングを行うことにより対象物の位置情報を、前記選択した解像度で取得する位置情報取得部と、
メモリに格納した、画像平面において対象物の奥行き方向の位置を画素値として表した奥行き画像を前記複数の解像度で表した複数の奥行き画像のうち、前記位置情報取得部がステレオマッチングに用いた画像の解像度を有する奥行き画像を、取得された位置情報に基づき更新することにより、対象物の位置情報を出力する奥行き画像データ生成部と、
を備えたことを特徴とする情報処理装置。
【請求項２】
前記奥行き画像データ生成部は、前記位置情報取得部が取得した位置情報のうち奥行き方向の位置が、ステレオマッチングに用いた画像の解像度に対して設定された、有効とすべき奥行き方向の位置の範囲外にあるときは、当該位置情報を無効とすることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記位置情報取得部は、前記撮影画像のいずれかを用いて動き差分を求めることにより特定した動き領域に基づき、ステレオマッチングの処理対象とすべき対象領域を決定したうえ、当該対象領域の大きさに応じてステレオマッチングに用いる解像度を選択することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
処理内容と参照先の奥行き画像の解像度とを対応づけた設定情報に基づき、参照先の奥行き画像を切り替えて対象物の位置情報を取得したうえ、それを用いて所定の処理を行うことにより、対象物の動きに応じた処理結果を出力する出力情報生成部をさらに備えたことを特徴とする請求項１から３のいずれかに記載の情報処理装置。
【請求項５】
対象物を異なる視点から同時にビデオ撮影して得られるステレオ動画像を用いてステレオマッチングを行うことにより対象物の位置情報を所定のレートで出力する情報処理方法であって、
前記ステレオ動画像に含まれる画像フレーム対をそれぞれ、所定の複数の解像度で表した複数の撮影画像のうち、対象物の像の大きさに係る情報に基づき選択した解像度の画像を撮像装置から取得するステップと、
前記選択した解像度の画像を用いてステレオマッチングを行うことにより対象物の位置情報を、選択した解像度で取得するステップと、
メモリに格納した、画像平面において対象物の奥行き方向の位置を画素値として表した奥行き画像を前記複数の解像度で表した複数の奥行き画像のうち、ステレオマッチングに用いた画像の解像度を有する奥行き画像を、取得された位置情報に基づき更新することにより、対象物の位置情報を出力するステップと、
を備えたことを特徴とする情報処理方法。
【請求項６】
対象物を異なる視点から同時にビデオ撮影して得られるステレオ動画像を用いてステレオマッチングを行うことにより対象物の位置情報を所定のレートで出力する機能をコンピュータに実現させるコンピュータプログラムであって、
前記ステレオ動画像に含まれる画像フレーム対をそれぞれ、所定の複数の解像度で表した複数の撮影画像のうち、対象物の像の大きさに係る情報に基づき選択した解像度の画像を撮像装置から取得する機能と、
前記選択した解像度の画像を用いてステレオマッチングを行うことにより対象物の位置情報を、選択した解像度で取得する機能と、
メモリに格納した、画像平面において対象物の奥行き方向の位置を画素値として表した奥行き画像を前記複数の解像度で表した複数の奥行き画像のうち、ステレオマッチングに用いた画像の解像度を有する奥行き画像を、取得された位置情報に基づき更新することにより、対象物の位置情報を出力する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【請求項７】
対象物を異なる視点から同時にビデオ撮影して得られるステレオ動画像を用いてステレオマッチングを行うことにより対象物の位置情報を所定のレートで出力する機能をコンピュータに実現させるコンピュータプログラムを記録した記録媒体であって、
前記ステレオ動画像に含まれる画像フレーム対をそれぞれ、所定の複数の解像度で表した複数の撮影画像のうち、対象物の像の大きさに係る情報に基づき選択した解像度の画像を撮像装置から取得する機能と、
前記選択した解像度の画像を用いてステレオマッチングを行うことにより対象物の位置情報を、選択した解像度で取得する機能と、
メモリに格納した、画像平面において対象物の奥行き方向の位置を画素値として表した奥行き画像を前記複数の解像度で表した複数の奥行き画像のうち、ステレオマッチングに用いた画像の解像度を有する奥行き画像を、取得された位置情報に基づき更新することにより、対象物の位置情報を出力する機能と、
をコンピュータに実現させるコンピュータプログラムを記録したことを特徴とする記録媒体。
【請求項８】
動画撮影している対象物の位置情報を表し、情報処理装置が位置情報を取得する都度更新される位置情報のデータ構造であって、
動画像のフレームと対応する画像平面において対象物の奥行き方向の位置を画素値として表した奥行き画像であり、情報処理装置が撮像装置から取得した、対象物の像の大きさに係る情報に基づき選択した解像度の撮影画像を用いてステレオマッチングを行うことにより取得した前記選択した解像度での位置情報を、前記選択した解像度の奥行き画像に反映させるように、異なる解像度を有する複数の奥行き画像を対応づけたことを特徴とする位置情報のデータ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画撮影している対象物の動きに合わせた処理を行う情報処理装置、情報処理方法、および生成される位置情報のデータ構造に関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータやゲーム機などにカメラを搭載し、ユーザの姿を撮像して様々な形で利用することが一般的に行われるようになってきた。例えばテレビ電話、ビデオチャットなど、ユーザの画像を、ネットワークを介してそのまま相手に伝送するものや、画像解析によってユーザの動きを認識してゲームや情報処理の入力情報とするものなどが実用化されている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】ＷＯ  ２００７／０５０８８５  Ａ２公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
撮影画像を利用して様々な処理を応答性よく高精度に実現するためには、その処理内容に応じた画質が求められる。しかしながら製造コスト、画像の伝送帯域、撮影から出力までの応答性などの点から、単にカメラの性能や画質を上げることのみによって情報処理装置の機能を充実化させるのは困難な状況にある。たとえばカメラの撮像素子を高性能化するほど、カメラとホスト間の画像データ伝送の帯域を圧迫するうえ、画像解析に要する時間が増大する。
【０００５】
本発明はこのような課題に鑑みてなされたものであり、その目的は、撮影画像を利用した情報処理を応答性よく実現することのできる技術を提供することにある。
【課題を解決するための手段】
【０００６】
本発明のある態様は情報処理装置に関する。この情報処理装置は、対象物を異なる視点から同時にビデオ撮影して得られるステレオ動画像を用いてステレオマッチングを行うことにより対象物の位置情報を所定のレートで出力する情報処理装置であって、ステレオ動画像に含まれる画像フレーム対をそれぞれ、所定の複数の解像度で表した複数の撮影画像のうち、対象物の像の大きさに係る情報に基づき選択した解像度の画像を用いてステレオマッチングを行うことにより対象物の位置情報を取得する位置情報取得部と、メモリに格納した、画像平面において対象物の奥行き方向の位置を画素値として表した奥行き画像を前記複数の解像度で表した複数の奥行き画像のうち、前記位置情報取得部がステレオマッチングに用いた画像の解像度を有する奥行き画像を、取得された位置情報に基づき更新することにより、対象物の位置情報を出力する奥行き画像データ生成部と、を備えたことを特徴とする。
【０００７】
本発明のさらに別の態様は情報処理方法に関する。この情報処理方法は、対象物を異なる視点から同時にビデオ撮影して得られるステレオ動画像を用いてステレオマッチングを行うことにより対象物の位置情報を所定のレートで出力する情報処理方法であって、ステレオ動画像に含まれる画像フレーム対をそれぞれ、所定の複数の解像度で表した複数の撮影画像のうち、対象物の像の大きさに係る情報に基づき選択した解像度の画像を用いてステレオマッチングを行うことにより対象物の位置情報を取得するステップと、メモリに格納した、画像平面において対象物の奥行き方向の位置を画素値として表した奥行き画像を複数の解像度で表した複数の奥行き画像のうち、ステレオマッチングに用いた画像の解像度を有する奥行き画像を、取得された位置情報に基づき更新することにより、対象物の位置情報を出力するステップと、を備えたことを特徴とする情報処理方法。
【０００８】
本発明のさらに別の態様はデータ構造に関する。このデータ構造は、動画撮影している対象物の位置情報を表し位置情報を取得する都度更新される位置情報のデータ構造であって、動画像のフレームと対応する画像平面において対象物の奥行き方向の位置を画素値として表した奥行き画像であり、位置情報の取得に用いたフレームの解像度によって取得結果である位置情報を反映させる奥行き画像の解像度を切り替え可能とするように、位置情報の取得のために生成されるフレームの複数の解像度に対応する解像度を有する複数の奥行き画像を対応づけたことを特徴とする。
【０００９】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、コンピュータプログラムを記録した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１０】
本発明によると、撮影画像を入力情報として利用する情報処理を応答性よく実現することができる。
【図面の簡単な説明】
【００１１】
【図１】本実施の形態を適用できる情報処理システムの構成例を示す図である。
【図２】本実施の形態における撮像装置と情報処理装置の構成を示す図である。
【図３】本実施の形態における第１カメラの構成を詳細に示す図である。
【図４】本実施の形態における画像送出部の構成を示す図である。
【図５】本実施の形態における情報処理装置の位置情報生成部の構成を詳細に示す図である。
【図６】本実施の形態における撮像装置、位置情報取得部、および対象領域決定部が行う処理の時間的関係を模式的に示す図である。
【図７】本実施の形態における情報処理装置の動き領域検出部、領域予測部、領域統合部が行う処理の様子を模式的に示す図である。
【図８】本実施の形態における階層決定部が、対象領域の大きさに基づきステレオマッチングに用いる階層を選択する様子を模式的に示す図である。
【図９】本実施の形態における撮像装置が生成する撮影画像の階層と、位置情報取得部のデータ生成部が生成する奥行き画像の階層の対応を示す図である。
【図１０】本実施の形態の変形例における第１カメラの構成を詳細に示す図である。
【発明を実施するための形態】
【００１２】
図１は本実施の形態を適用できる情報処理システムの構成例を示す。情報処理システム１０は、ユーザ１などの対象物を撮影する２つのカメラを搭載した撮像装置１２、撮影した画像に基づき、ユーザの要求に応じた情報処理を行う情報処理装置１４、情報処理装置１４が処理した結果得られた画像データを出力する表示装置１６を含む。また情報処理装置１４はインターネットなどのネットワーク１８と接続可能とする。
【００１３】
情報処理装置１４と、撮像装置１２、表示装置１６、ネットワーク１８とは、有線ケーブルで接続されてよく、また無線ＬＡＮ（Local Area Network）などにより無線接続されてもよい。撮像装置１２、情報処理装置１４、表示装置１６のうちいずれか２つ、または全てが組み合わされて一体的に装備されていてもよい。また、撮像装置１２は必ずしも表示装置１６の上に設置されていなくてもよい。さらにユーザ１は人でなくてもよく、その数も限定されない。
【００１４】
撮像装置１２は、それぞれがＣＣＤ（Charge Coupled Device）またはＣＭＯＳ（Complementary Metal Oxide Semiconductor）等の撮像素子を備えた２つのデジタルビデオカメラを既知の間隔で左右に配置した構成を有する。２つのデジタルビデオカメラはそれぞれ、同一空間に存在する対象物を左右の位置から所定のフレームレートで撮影する。以後、このように撮影されたフレームの対を「ステレオ画像」とも呼ぶ。撮像装置１２はさらに、撮影した結果得られた一対のRAW画像から、異なる解像度の複数の画像データをそれぞれ生成する。
【００１５】
情報処理装置１４は、カメラの視野に対する縦、横、奥行き、の３次元空間における対象物の位置座標を所定のレートで特定する。このとき、撮像装置１２から取得したステレオ画像のデータに基づきステレオマッチングを行う。このようにして得られた位置座標の時間変化は、対象物の動きを入力情報として用いる後段の処理に利用される。例えば、対象物であるユーザ１の動作を反映させたキャラクタが登場するゲームや、ユーザ１の動きをコマンド入力に変換する情報処理などに用いることができるが、その内容は限定されない。
【００１６】
表示装置１６は、情報処理装置１４が行った処理の結果を、必要に応じて画像として表示する。表示装置１６は、画像を出力するディスプレイおよび音声を出力するスピーカを有するテレビであってよく、例えば液晶テレビ、プラズマテレビ、ＰＣディスプレイ等である。上述のとおり情報処理装置１４が最終的に実行する処理内容や表示すべき画像はその使用目的によって特に限定されるものではないため、以後は情報処理装置１４が行う、対象物の位置の特定処理に主眼を置き説明する。
【００１７】
図２は撮像装置１２と情報処理装置１４の構成を示している。図２〜図５に示す各機能ブロックは、ハードウェア的には、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、描画回路などの構成で実現でき、ソフトウェア的にはデータ入力機能、データ保持機能、画像解析機能、描画機能などの諸機能を発揮するプログラムで実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００１８】
撮像装置１２は第１カメラ２２、第２カメラ２４を含む。各カメラはそれぞれ、既知の幅を隔てた左右の位置から同じタイミング、同じフレームレートで対象物を撮影する。そして撮影した各フレーム画像を所定の複数の解像度の画像データに変換する。同図ではこのようにして生成した画像を模式的に示しており、第２カメラにおいて、画像２、画像４、画像６、画像８の順に、段階的に解像度が増加している。同図では４段階の解像度としているがその数は限定されない。第１カメラ２２が生成する画像も同様である。
【００１９】
各画像は撮影タイミングごとに生成されるため、結果として時間軸に対する画像列が各解像度で生成される。同図では当該時間軸を奥行き方向に模式的に示している。同一時刻に生成される画像は、各解像度に対応する階層を有する階層構造を構成すると捉えることができる。以後の説明ではこれらの画像を、最低解像度の画像から解像度順に第０階層の画像、第１階層の画像、第２階層の画像、・・・と呼ぶ。図２の例では画像２が第０階層、画像４が第１階層、画像６が第２階層、画像８が第３階層の画像となる。
【００２０】
情報処理装置１４は、ユーザからの指示入力を取得する入力情報取得部２６、撮影画像に基づきユーザ１などの対象物の位置情報を生成する位置情報生成部２８、対象物の位置に基づき必要な処理を行い出力情報を生成する出力情報生成部３２、および撮像装置１２に対する画像データの要求および取得を行うインターフェースである通信部３０を含む。
【００２１】
入力情報取得部２６は、ユーザからの指示入力を受け付け、それに応じた処理要求信号をその他の機能ブロックに送信する。入力情報取得部２６は、ボタン、キーボード、マウス、トラックボール、タッチパネルなど一般的な入力装置と、当該入力装置になされた操作内容を解釈して処理要求信号を生成するCPUなどの協働により実現する。
【００２２】
位置情報生成部２８は、第１カメラ２２および第２カメラ２４が生成したステレオ画像のデータを利用してステレオマッチングを行い、対象物の３次元の位置を特定する。このとき、処理対象となる画像データを時間的、空間的に取捨選択し必要最低限とすることにより、精度への影響を少なく、処理の負荷を軽減する。
【００２３】
具体的には、低解像度、広範囲の画像で対象物の領域または動きのある領域を対象領域としておよそ見積もり、当該領域のみ高解像度の画像でステレオマッチングを行う。ステレオマッチングでは一般的に、２つの画像の対応点を抽出するための探索を行うが、この探索範囲を狭くすることでステレオマッチングの効率を向上させる。なお本実施の形態は動画像を入力情報として利用した情報処理を実現するため、主に対象物の「動き」のある部分の位置情報を得る手法について説明する。
【００２４】
このとき、対象物の動きのある領域を所定時間後まで予測することにより、当該領域を見積もる処理をステレオマッチングを行うタイミングと切り離して行う。例えば情報処理装置１４をマルチスレッド対応のコンピュータで実現する場合、これらの２つを別のスレッドとして独立に実行する。このようにすることで、精度の必要なステレオマッチング処理により多くの時間をかけることができる。例えばステレオマッチング処理は撮影画像の全フレームを処理対象とするのに対し、領域を見積もる処理は所定の数フレームおきに行い、次に領域を見積もる処理がなされるまでの各フレームについて予測を行う。
【００２５】
また領域を見積もる処理には、ステレオマッチングを行うための適正な階層の選択も含まれる。対象物が手前にあるほど視差が大きいため、比較的解像度の小さい画像であっても左右の画像のずれ幅が大きく、ステレオマッチングの精度を維持しやすい。逆に対象物が奧にあるほど視差が小さくなるため、解像度の小さい画像では左右のずれが誤差範囲にとどまりステレオマッチングの精度を保ちにくい。
【００２６】
そこで本実施の形態では、動きのある領域の大きさによってステレオマッチングに用いる画像の階層を選択する。解像度の大きい画像を用いても、対応点を得るために探索すべき領域は上述のとおり局所的であるため、結果として、対象物の奥行き方向の位置に関わらず処理対象の画像サイズは同等となり計算量は大きく変化しない。そのため計算時間の見積もりも容易である。
【００２７】
位置情報生成部２８はさらに、ステレオマッチングにより得られた対象物の奥行き方向の位置座標を、縦方向、横方向からなる画像平面上の画素値とした奥行き画像を生成する。この奥行き画像は、カメラが生成する撮影画像の階層構造と同じ複数の解像度で表した階層構造とする。上述のとおり対象物の動きは、奥行き方向の位置によって、それを動きと認めるのに必要な空間解像度が存在する。すなわち後段に出力情報生成部３２が行う処理に求められる空間解像度によってはそのような動きを無視した方が却って精度が上がる場合がある。そこで奥行き画像を階層構造として、後段の処理が求める解像度によって参照する階層を切り替えることにより当該処理の効率および精度を向上させる。
【００２８】
出力情報生成部３２は、位置情報生成部２８が生成した位置情報を取得し、その使用目的に応じた処理を適宜行う。上述のとおりここで行う処理は特に限定されないが、入力情報取得部２６が受け付けたユーザからの指示に応じて適宜切り替えてよい。このとき上述のとおり、あらかじめ定められた解像度に対応する階層の奥行き画像を参照し、行う処理にとって意味のある動きのみを取得する。処理の結果得られたデータは、表示装置１６に表示させたりネットワーク１８を介して別の装置へ送信したりする。
【００２９】
使用目的によっては出力情報生成部３２は、撮像装置１２のいずれかのカメラが撮影した画像に、位置情報生成部２８が生成した位置情報に基づく加工を施して表示装置１６に表示させてもよい。例えば撮影されたユーザ１の手や把持するコントローラなどの動きを位置情報生成部２８から取得して、撮影画像の該当位置に剣の画像を重ね合わせる加工を全フレーム対し行うことにより、ユーザが剣を持って振り回す様子を表現できる。
【００３０】
この場合、位置情報生成部２８がステレオマッチングに用いるステレオ画像のうち片方のフレームを同時に取得してそれぞれに加工を施し表示装置１６に出力してもよいし、ステレオマッチングとは独立に片方のカメラが撮影した各フレームの画像データを取得し加工してもよい。ステレオマッチングを行うレート、対象領域の見積もり処理を行うレート、出力画像の生成に用いるフレームレートはそれぞれ独立に決定してよい。
【００３１】
各処理のレートが増加するほど時間解像度の観点で詳細な処理が可能になるが、通信帯域や処理の負荷が増加する。そのため情報処理システム１０の本来の性能や、並行して行っている処理の有無などに応じて選択するようにしてもよい。使用可能な通信帯域や処理リソースと、それらのレートとを対応づけたテーブルを用意しておき、実際の処理環境に応じて当該テーブルを参照することにより決定してもよい。
【００３２】
通信部３０は、第１カメラ２２、第２カメラ２４が生成した階層構造の画像のうち、情報処理装置１４における処理に必要な階層および領域の情報を入力情報取得部２６、位置情報生成部２８から取得して撮像装置１２へ要求する。それに応じて撮像装置１２から送信された画像データを、位置情報生成部２８、出力情報生成部３２へ適宜供給する。
【００３３】
図３は第１カメラ２２の構成を詳細に示している。なお第２カメラ２４も同じ構成を有する。第１カメラ２２は、画像取得部１０２、デモザイク部１０４、画像送出部１５０、ピラミッドフィルタ部１７０および通信部１０８を備える。画像取得部１０２は、ＣＣＤまたはＣＭＯＳ等の撮像素子で露光された画像を所定のタイミング（例えば、６０回／秒）で読み出す。以下の説明では、この画像は横方向に画素ｈ個分の幅を有するものとする。この画像はいわゆるＲＡＷ画像である。画像取得部１０２は、ＲＡＷ画像の横一列分の露光が完了する毎に、これをデモザイク部１０４および画像送出部１５０に送る。
【００３４】
デモザイク部１０４は、画素ｈ個分の容量を有するＦＩＦＯ（First In First Out）バッファ１０５と簡易デモザイク処理部１０６とを有する。ＦＩＦＯバッファ１０５には、ＲＡＷ画像の横一列分の画素情報が入力され、次の横一列分の画素がデモザイク部１０４に入力されるまでそれを保持する。簡易デモザイク処理部１０６は、横二列分の画素を受け取ると、それらを用いて、各画素に対してその周辺画素に基づき色情報を補完してフルカラー画像を作り出すデモザイク（de-mosaic）処理を実行する。
【００３５】
当業者には周知のように、このデモザイク処理には多数の手法が存在するが、ここでは横二列分の画素のみを利用する簡易なデモザイク処理で十分である。一例として、対応するＹＣｂＣｒ値を算出すべき画素がＧ値のみを有している場合は、Ｒ値は左右に隣接するＲ値を平均、Ｇ値は当該Ｇ値をそのまま使用、Ｂ値は上または下に位置するＢ値を使用してＲＧＢ値とし、これを所定の変換式に代入してＹＣｂＣｒ値を算出するなどである。このようなデモザイク処理は周知であるからこれ以上詳細な説明は省略する。
【００３６】
簡易なデモザイク処理の変形例として、ＲＧＢの４画素から一画素のＹＣｂＣｒ値を構成する手法を用いてもよい。この場合は、ＲＡＷ画像の１／４サイズのデモザイク後画像が得られるので、後述する第１フィルタ１１０は不要になる。簡易デモザイク処理部１０６は、例えば図示のように、横２×縦２のＲＧＢの４画素をＹＣｂＣｒカラー信号に変換する。そして、この４画素からなるブロックは、画像送出部１５０に１／１デモザイク画像として渡されるとともに、ピラミッドフィルタ部１７０に送られる。
【００３７】
ピラミッドフィルタ部１７０は、ある画像を複数の解像度に階層化して出力する機能を有する。ピラミッドフィルタは、一般に必要とする解像度のレベルに応じた数の１／４縮小フィルタを備えるが、本実施形態では第１フィルタ１１０〜第４フィルタ１４０の４階層のフィルタを有している。各フィルタは、相互に隣接する４個の画素をバイリニア補間して４画素の平均画素値を演算する処理を実行する。したがって、処理後の画像サイズは処理前の画像の１／４になる。
【００３８】
第１フィルタ１１０の前段には、Ｙ、Ｃｂ、Ｃｒのそれぞれの信号に対応して、画素ｈ個分のＦＩＦＯバッファ１１２が一つずつ配置される。これらのＦＩＦＯバッファ１１２は、横一列分のＹＣｂＣｒ画素を、次の横一列分の画素が簡易デモザイク処理部１０６から出力されるまで保持する役割を有する。画素の保持時間は、撮像素子のラインスキャンの速度に応じて決まる。
【００３９】
横二列分の画素が入力されると、第１フィルタ１１０は、横２×縦２の４画素分のＹ、Ｃｂ、Ｃｒの画素値を平均する。この処理を繰り返すことによって、１／１デモザイク後画像は縦横それぞれ１／２の長さとなり、全体として１／４のサイズに変換される。変換された１／４デモザイク後画像は、画像送出部１５０に送られるとともに、次段の第２フィルタ１２０に渡される。
【００４０】
第２フィルタ１２０の前段階には、Ｙ、Ｃｂ，Ｃｒのそれぞれの信号に対応して、画素２／ｈ個分のＦＩＦＯバッファ１２２が一つずつ配置される。これらのＦＩＦＯバッファ１１４も、横一列分のＹＣｂＣｒ画素を、次の横一列分の画素が第１フィルタ１１０から出力されるまで保持する役割を有する。
【００４１】
横二列分の画素が入力されると、第２フィルタ１２０は、横２×縦２の４画素分のＹ、Ｃｂ、Ｃｒの画素値を平均する。この処理を繰り返すことによって、１／４デモザイク後画像は縦横それぞれ１／２の長さとなり、全体として１／１６のサイズに変換される。変換された１／１６デモザイク後画像は、画像送出部１５０に送られるとともに、次段の第３フィルタ１３０に渡される。
【００４２】
第３フィルタ１３０および第４フィルタ１４０についても、それぞれの前段にｈ／４個分のＦＩＦＯバッファ１３２またはｈ／８個分のＦＩＦＯバッファ１４２が配置される以外は、上記と同様の処理を繰り返す。そして、画像送出部１５０に、１／６４および１／２５６サイズのデモザイク後画像を出力する。なお、上記のようなピラミッドフィルタは、欧州特許出願公開第０９９９５１８号明細書などに記載されているように周知であるから、本明細書ではこれ以上の詳細な説明を省略する。
【００４３】
このように、ピラミッドフィルタ部１７０の各フィルタからは、１／４ずつ縮小された画像出力が画像送出部１５０に入力される。これから分かるように、ピラミッドフィルタ部１７０内のフィルタを通過するほど、各フィルタの前段に必要となるＦＩＦＯバッファの大きさは小さくて済むようになる。
【００４４】
画像送出部１５０は、画像取得部１０２から受け取ったＲＡＷ画像、デモザイク部１０４から受け取った１／１デモザイク後画像、およびピラミッドフィルタ部１７０から受け取った１／４〜１／２５６デモザイク後画像からなる階層画像のうち、情報処理装置１４の通信部３０から通信部１０８を介して受けた指示に応じて必要な階層および領域を選び出す。そして、これら画像でパケットを構成して通信部１０８に送る。
【００４５】
通信部１０８は、例えばＵＳＢ１．０／２．０等の所定のプロトコルにしたがって、パケットを情報処理装置１４に送出する。情報処理装置１４との通信は有線に限らず、例えばＩＥＥＥ８０２．１１ａ／ｂ／ｇなどの無線ＬＡＮ通信、ＩｒＤＡなどの赤外線通信であってもよい。
【００４６】
図４は、画像送出部１５０の構成を示している。画像送出部１５０は、ブロック書込部１５２、バッファ１５４、ブロック読出部１５６、符号化部１５８、パケット化部１６０、パケットバッファ１６２および制御部１６４を有する。制御部１６４は、情報処理装置１４からの指示に基づき、ブロック書込部１５２およびブロック読出部１５６に各種画像データのうちいずれをパケットとして送出するかを指示する。
【００４７】
ブロック書込部１５２には、デモザイク部１０４およびピラミッドフィルタ部１７０を経由して１／１〜１／２５６サイズのデモザイク後画像が入力される。また、情報処理装置１４の出力情報生成部３２が実行する処理内容によっては、画像取得部１０２からＲＡＷ画像が入力される。ブロック書込部１５２の階層選択部１５２Ａは、制御部１６４からの指示に基づき、デモザイク後画像のいずれかの階層を選択する。
【００４８】
切り出しブロック選択部１５２Ｂは、情報処理装置１４から送られる、処理に必要な領域の位置情報を受け取り、その領域から所定の画素数だけ広い領域を内包するブロックを特定ブロックとして選択する。なお、一ブロックの大きさは、後段のＪＰＥＧ符号化に合わせて８×８画素のブロックであることが好ましい。ブロック選択部１５２Ｂは選択されたデモザイク後画像の一部のブロックのみを切り出したうえ、バッファ１５４に書き込む。
【００４９】
このとき、２×２の画素毎に画像を受け取り、順次バッファ１５４に書き込む。ブロック読出部１５６は、バッファ１５４上に一ブロック分の画素が準備できた順に、各画像ブロックを読み出して符号化部１５８に送る。ブロック書込部１５２およびブロック読出部１５６は、制御部１６４によって同期動作するように調整されている。つまり、ブロック書込部１５２による読み書きは、画像取得部１０２、デモザイク部１０４およびピラミッドフィルタ部１７０から画素が出力される毎に行われるのに対し、ブロック読出部１５６による読み出しは、バッファ１５４に一ブロック分の画素が蓄積される毎に行われる。この同期タイミングはカメラの露光速度に応じて決まる。
【００５０】
本実施形態では、ＲＡＷ画像の全体や縮小画像の全体分の画素が揃ってから情報処理装置１４に送るのではなく、ブロック単位で送出するので、バッファ１５４は最大でもＲＡＷ画像および縮小画像の全ての画像ブロックを蓄積できる大きさで十分である。画像の使用目的によっては、２〜３個の画像ブロックを蓄積できればよい。このように、バッファされるデータを少なくし、ブロックができる毎に順次パケット化して転送するので、撮像装置１２内の処理に伴うレイテンシが削減される。
【００５１】
また、画像取得部１０２からの画素の出力およびピラミッドフィルタ部１７０からは、撮像素子の露光が終わるたびに順次ブロック書込部１５２に画素が出力されてくるため、異なるフレームのブロックがバッファ１５４に書き込まれたり、ブロックが異なる順序でパケット化して送られるようなことは、構造上起こりえない。
【００５２】
符号化部１５８は、ＲＡＷ画像以外の画像の画像ブロックに対して、ＪＰＥＧ等の周知の圧縮符号化を実行し、パケット化部１６０に送る。パケット化部１６０は、符号化後の画像の画像ブロックを、パケット化部１６０に到来した順にパケット化してパケットバッファ１６２に書き込む。通信部１０８は、パケットバッファ１６２内のパケットを、所定の通信プロトコルにしたがって情報処理装置１４に転送する。なおＲＡＷ画像以外の画像についても、符号化部１５８による圧縮符号化を行わず、パケット化部１６０がブロック読出部１５６から取得したブロックを直接パケット化してもよい。
【００５３】
なお、ＬＬＶＣ、ＡＶＣ等の他の周知の符号化も使用することができるが、ブロック単位で符号化できるものが好ましい。また、ブロック読出部１５６で読み出されるブロックの大きさも符号化に合わせて変更することができ、例えば２５６×２５６単位のブロックで読み出しと符号化が行われてもよい。
【００５４】
図５は情報処理装置１４の位置情報生成部２８の構成を詳細に示している。位置情報生成部２８は、ステレオマッチングに用いる対象領域および階層を決定する対象領域決定部４０、および、ステレオマッチングを行い対象物の位置情報を取得する位置情報取得部４２を含む。対象領域決定部４０は全体画像取得部４４、動き領域検出部４６、領域予測部４８、領域統合部５０、および階層決定部５２を含む。
【００５５】
全体画像取得部４４は、撮像装置１２の第１カメラ２２および第２カメラ２４がそれぞれ生成したステレオ画像の階層データのうち、最も解像度の低い第０階層の全領域の画像を所定のレートで取得する。ここで取得する画像はY画像のみとしてもよい。ただし処理能力や通信速度などに応じて用いる階層、画像の種類は適宜選択してよい。
【００５６】
動き領域検出部４６は、全体画像取得部４４が取得したステレオ画像のそれぞれについて動き領域を検出する。例えば対象物を人とした場合、まず顔検出を行い、人の像があると考えられる領域を見積もる。そして見積もった領域について１つ前の時間ステップで用いた画像との差分画像を取得し、所定のしきい値以上の差分を有する領域、またはそれに外接する領域などを動き領域として検出する。
【００５７】
領域予測部４８は、ステレオ画像のそれぞれについて、動き領域検出部４６が検出した動き領域に基づき、将来のステレオマッチング処理で探索すべき対象領域を予測する。領域統合部５０は、領域予測部４８が予測した、ステレオ画像における対象領域を統一座標系で統合し、各時刻に対し１つの対象領域を決定する。階層決定部５２は、当該対象領域の大きさに基づき、ステレオマッチングを精度よく行え、かつ無駄に解像度が高くない階層を選択する。
【００５８】
位置情報取得部４２は、対象領域画像取得部５３、位置特定部５４、無効データ検出部５６、データ生成部５８を含む。対象領域画像取得部５３は、対象領域決定部４０が決定した対象領域および階層を指定して撮像装置１２からステレオ画像データを取得する。位置特定部５４は対象領域画像取得部５３が取得したステレオ画像に対しステレオマッチングを行い、奥行き方向の位置を含む３次元の位置情報を特定する。
【００５９】
ここで実施するステレオマッチング処理は、これまでに提案されている様々な手法のいずれを用いてもよい。例えば左右の画像の一方に相関窓を設定し、他方の画像の探索窓を動かしながら相関窓の画像との相互相関係数を算出することにより対応点を取得したうえ、これらの対応点の視差に基づき三角測量の原理を用いて３次元の位置情報を求める面積相関法などを用いることができる。
【００６０】
無効データ検出部５６は、位置特定部５４が特定した位置情報のうち、無効とすべきデータを特定する。上述のとおり対象物が奧にあるほどその視差は小さくなるため、解像度の小さい画像では奥行き方向の位置が算出されたとしてもその誤差は大きい。すなわちステレオマッチングに用いる画像の解像度によって、適正に算出できる奥行き方向の範囲が異なり、解像度が低いほどその限界が手前に位置することになる。
【００６１】
そこで各階層に対して、データを有効としてよい限界を深度限界として奥行き方向に対して設定しておき、位置特定部５４が特定した奥行き方向の位置と比較することにより無効なデータを特定する。このようにすることで、撮像装置１２自体が揺れたり、本来動きを追うべき対象物以外の大きな動きが背後で発生したときにそれをデータとして後段の処理に用いてしまう不具合の発生を防止する。
【００６２】
データ生成部５８は、無効データ検出部５６が特定した無効なデータを除外した結果残った位置情報に基づき奥行き画像を作成する。奥行き画像は上述のとおり、撮像装置１２で生成する複数の解像度に対応する解像度を有する階層構造とする。奥行き画像の階層データは、あらかじめすべての画素値に０など初期値を与え、奥行き画像データ記憶部６０に格納しておく。
【００６３】
そして位置特定部５４が対象物の位置を特定するたびに、ステレオマッチングに用いた撮影画像の階層に対応する階層の、対応する位置の画素を奥行き方向の座標値とすることで奥行き画像を更新する。結果として奥行き画像データは、ステレオマッチングの処理レートと同じレートで更新される。情報処理装置１４の出力情報生成部３２は、自らが行う処理に必要な空間解像度に応じて、奥行き画像データのうち階層を選択して位置情報を読み出し、適宜処理に利用する。
【００６４】
図６は撮像装置１２、位置情報取得部４２、および対象領域決定部４０が行う処理の時間的関係を模式的に示しており同図横方向が時間軸を表す。時刻０にすべての処理を開始すると、撮像装置１２は時刻ｔ１、ｔ２、ｔ３、・・・、ｔ１８、・・・に所定のフレームレートで対象物を撮影し、複数の解像度の画像データを生成して必要なデータを情報処理装置１４に送出する。図６では撮像装置１２が行う画像データ生成処理を全期間における連続した矩形で表しているが、実際には各撮影時刻に撮影された画像のデータ生成、データ送出が終了したら次の撮影時刻まで待機してよい。位置情報取得部４２が行う処理も同様である。
【００６５】
初回の時刻ｔ１の撮影画像のうち低解像度の全体画像は、情報処理装置１４の対象領域決定部４０に供給される（Ｓ１）。このとき位置情報取得部４２にも所定の階層の全体画像を供給する（Ｓ２）。このときの階層は、対象物が標準的な位置にいるときを想定してステレオマッチングの精度が十分得られる範囲で解像度の低い階層をあらかじめ設定しておく。解像度の低い画像ほどサイズが小さいため、対応点の探索が効率的に行える。
【００６６】
位置情報取得部４２では、Ｓ２で供給されたステレオ画像を用いてステレオマッチング、無効データの除外、奥行き画像更新の処理を順に行う。これにより時刻ｔ１に対応する対象物の位置情報が、階層構造を有する奥行き画像の形式で出力される。一方、対象領域決定部４０では、Ｓ１で供給されたステレオ画像を用いて動き領域検出、領域予測、領域統合、階層決定の処理を順に行う。そして決定した対象領域と階層の情報を位置情報取得部４２に通知する（Ｓ３）。
【００６７】
このとき決定する対象領域と階層の情報は、時刻ｔ２、ｔ３、ｔ４、ｔ５、ｔ６、ｔ７に撮影される画像に対するものである。そのため対象領域決定部４０の領域予測部４８は各時刻までの時間を考慮し、現在の動き領域からの対象物の可動範囲を推定し、当該範囲を含むように各時刻に対して対象領域を予測する。位置情報取得部４２は、Ｓ３で通知された情報に基づき、時刻ｔ２、ｔ３、ｔ４、ｔ５、ｔ６、ｔ７における撮影画像のデータが生成される都度、各時刻に対応して決定された対象領域および階層のステレオ画像データを取得する（Ｓ４、Ｓ５、Ｓ６、Ｓ７、Ｓ８、Ｓ９）。
【００６８】
Ｓ９と同じタイミングで、時刻ｔ７の撮影画像のうち最低解像度の全体画像が対象領域決定部４０に供給される（Ｓ１０）。対象領域決定部４０は再び、動き領域検出、領域予測、領域統合、階層決定の処理を順に行い、その結果決定した対象領域と階層の情報を位置情報取得部４２に通知する（Ｓ１１）。このとき決定する対象領域と階層の情報は、時刻ｔ８、ｔ９、ｔ１０、ｔ１１、ｔ１２、ｔ１３に撮影される画像に対するものである。
【００６９】
以下、同様の処理を繰り返すことにより、各時刻に撮影された画像における対象物の位置情報が奥行き画像として出力される。なお同図では、撮像装置１２が撮影したすべてのフレームに対し位置情報を取得したが、上述のとおり、出力情報生成部３２が行う後段の処理において位置情報に求められる時間解像度や、情報処理システム１０の処理能力に応じて、処理の時間間隔を広げてもよい。例えば対象領域決定部４０における処理と同じレートで処理を行ってもよい。
【００７０】
図７は情報処理装置１４の動き領域検出部４６、領域予測部４８、領域統合部５０が行う処理の様子を模式的に示している。画像６１は第１カメラ２２が撮影した画像、画像６２は第２カメラ２４が撮影した画像である。各カメラは時刻ｔに対して所定のレートで撮影しているため同図に示すように時間ｔに対して画像列が生成される。この例において、ある時刻の画像６１と画像６２には、同図の実線で示すように人が写っている。
【００７１】
第１カメラ２２と第２カメラ２４は左右に並んだ別の視点から人を撮影しているため、画像６１および画像６２における人の像は左右に視差が生じている。対象領域決定部４０は、このように左右の視点から撮影されたステレオ画像を利用して対象領域を求める。まず動き領域検出部４６は、画像６１および画像６２に対し独立に動き領域の決定を行う。
【００７２】
具体的には、まず対象物が人であれば顔検出処理を行うことで、画像６１に対して顔領域６４ａ、画像６２に対し顔領域６４ｂを検出する。顔検出処理はパターンマッチングなど一般的に行われている様々な手法のいずれを適用してもよい。対象物が人でなくても、形状が既知でありテンプレート画像が準備できれば同様の処理が行える。例えば手、被写体たるユーザが把持するマーカなどでも、その形状を表すテンプレート画像をあらかじめメモリなどに準備しておくことにより同様に処理が可能である。
【００７３】
次に、顔領域６４ａ、６４ｂの大きさおよび位置に基づき、各画像６１、６２に対し、動き領域である可能性の高い領域を動き検出対象領域６６ａ、６６ｂとしてそれぞれ決定する。動き領域である可能性の高い領域とはつまり人の体が及ぶ範囲であり、顔の位置が既知であれば予測は容易である。例えば、基準の顔の輪郭線とその顔に対し設定すべき動き検出対象領域の範囲を矩形で示した基準画像を準備しておき、顔検出処理でえられた顔領域６４ａ、６４ｂ内の顔の輪郭に、基準の顔の輪郭線がおよそ重なるように基準画像を拡大または縮小する。そのときの基準画像の矩形が動き検出対象領域６６ａ、６６ｂとなる。
【００７４】
次に動き検出対象領域６６ａ、６６ｂについて、前回の対象領域決定処理時に取得した全体画像における対応する領域との差分画像を、左の画像間、右の画像間でそれぞれ取得したうえ、差分が所定のしきい値より大きい箇所を抽出する。同図では、前回に取得した全体画像において写っていた左手を、画像６１、６２上に点線で示している。その他の部分に変化がなかったとすると、左手部分にのみ差分が大きく表れる。このように差分がしきい値以上の箇所を抽出し、それに外接する矩形を動き領域６８ａ、６８ｂとして決定する。
【００７５】
次に領域予測部４８は、画像６１および画像６２のそれぞれに対し決定した動き領域６８ａ、６８ｂに基づき、ステレオマッチングの対象となる画像の撮影時刻を想定した領域予測を行う。この処理は、単に時間経過に比例する量で、動き領域６８ａ、６８ｂを縦方向、横方向に同じ比率で拡大していってもよいし、前回以前の対象領域決定処理時に取得した複数の画像から自己回帰モデルなどに基づき対象物の移動方向を予測したうえ、動き領域６８ａ、６８ｂを当該方向にのみ拡大していってもよい。あるいはそれらを組み合わせてもよい。
【００７６】
このようにして、画像６１、画像６２のそれぞれに対し、予測領域７０ａ、７０ｂが決定される。なお同図では予測領域が各画像につき１つのみ示されているが、上述のとおり、ステレオマッチングの対象画像が撮影される各時刻に対して予測領域を決定する。次に領域統合部５０は、左右の画像それぞれに対して決定した予測領域７０ａ、７０ｂを、画像平面を構成する正規化座標系で重ね合わせてその和となる領域（少なくともいずれかの領域に含まれる領域）を求めることにより統合する。
【００７７】
左右の異なる視点から撮影した画像は横方向に視差が生じるため、予測領域７０ａ、７０ｂは同図に示すように画像平面を構成する座標系でｘ方向（横方向）にずれる。このように２つの画像から対象領域を決定するのは次の理由による。すなわち対象物が手前にいるほどその像は見かけ上大きくなるため、その動きが及ぶ範囲が広くなり、上記のように決定した予測領域を超えてしまう可能性が上がる。
【００７８】
そこで対象物の奥行き方向の位置に依存したみかけ上の動きの大きさの変化に応じて、対象領域の広さを調整するために視差を利用する。視差が大きければ予測領域７０ａ、７０ｂのずれが大きくなるため、その和となる領域が広くなり、視差が小さければそのずれが小さくなるためその和となる領域はあまり広くならない。このようにして対象物の奥行き方向の位置を考慮して領域の広さを調整することにより、対象物が対象領域からはずれるのを防止しながらも余分な領域は含まれないようにする。
【００７９】
なお領域統合部５０はさらに、和となる領域を所定の拡大率で縦横双方向に拡大した領域を最終的な対象領域７２として決定する。このようにすることで、対象物が対象領域からはずれる可能性をさらに低くできる。
【００８０】
図８は階層決定部５２が、対象領域の大きさに基づきステレオマッチングに用いる階層を選択する様子を模式的に示している。同図において矩形８０ａ、８０ｂ、８０ｃ、８０ｄは、撮影画像の階層のうち第３階層、第２階層、第１階層、第０階層の画像サイズを表している。図７において画像の正規化座標系で決定した対象領域７２は、各画像サイズに対して矩形７２ａ、７２ｂ、７２ｃ、７２ｄのような大きさとなる。
【００８１】
このように対象領域７２を各階層の画像サイズに対応させて得た矩形７２ａ、７２ｂ、７２ｃ、７２ｄを、基準サイズ矩形８２と比較し、対象領域のサイズが基準サイズ矩形８２のサイズに近くなる階層を選択する。基準サイズ矩形８２は、ステレオマッチング時に好適な精度を得るために必要な、対象物の見かけ上の大きさを規定したものであり、実験などによりあらかじめ設定しておく。
【００８２】
サイズの大小は、２つの矩形が内包関係を有するときの内包される矩形を「小さい」と見なしてもよいし、面積で比較してもよい。あるいは縦、横、どちらか一方の辺の長さのみで比較してもよい。また階層の選択にあたっては、各階層に対応する矩形７２ａ、７２ｂ、７２ｃ、７２ｄのうち、サイズの順列で基準サイズ矩形８２と前後する２つの矩形のいずれを選択してもよく、必ずしも最もサイズの近い矩形でなくてもよい。
【００８３】
例えば図８の場合、基準サイズ矩形８２は、矩形７２ａ、７２ｂ、７２ｃ、７２ｄのうち矩形７２ｂと矩形７２ｃの間のサイズを有するため、矩形７２ｂに対応する第２階層、または矩形７２ｃに対応する第１階層を選択する。例えば最大サイズである第３階層の矩形７２ａからサイズの大きい順に比較していき（Ｓ２０、Ｓ２２、Ｓ２４、Ｓ２６の順）、初めて基準サイズ矩形８２に内包された矩形に対応する階層を選択してもよい。同図の例では、矩形７２ｃに対応する第１階層を選択する。
【００８４】
このような手順とすると、基準サイズ矩形に近い矩形が得られる階層のうち、解像度の低い方の階層を選択でき、計算量をより抑えることができる。いずれにしろ、基準サイズ矩形８２に近いサイズの対象領域が得られる階層をこのように選択することにより、上述のとおり、対象物の見かけ上の大きさに合わせて、ステレオマッチングに用いる画像の解像度を調整することができる。結果として、必要以上に詳細な画像データを探索する無駄の発生を防止しつつ、その精度を保つことができる。
【００８５】
図９は、撮像装置１２が生成する撮影画像の階層と、位置情報取得部４２のデータ生成部５８が生成する奥行き画像の階層の対応を示している。同図において上側の４組の画像８２ａ、８２ｂ、８２ｃ、８２ｄが、ある時刻に撮影されたステレオ画像、下側の４つの画像８４ａ、８４ｂ、８４ｃ、８４ｄが、当該ステレオ画像に対し生成された奥行き画像であり、それぞれ左から順に第０階層、第１階層、第２階層、第３階層の画像である。
【００８６】
例えば人が棒状の物を顔の前で振っている様子を撮影すると、ある時刻において画像８２ａ、８２ｂ、８２ｃ、８２ｄのような撮影画像が２つの視点に対して１枚ずつ生成される。このような撮影画像に対し対象領域決定部４０が決定した階層が第２階層、対象領域が領域８６であったとすると、位置情報取得部４２は当該階層、当該領域の左右の画像データを取得してステレオマッチングを行う。
【００８７】
そしてその領域における対象物の位置情報が得られたら、奥行き画像の階層データのうち、対応する階層における対応する領域、すなわち領域８８の画素値を更新する。このとき領域８６に対して得られた奥行き方向の位置座標のうち最も小さい値（手前の位置）が、第２階層に設定された深度限界より奥にあるときは更新処理を行わない。これは上述のとおり、本来当該解像度では対象物の位置としては正確に得られるはずのない奥行き方向の位置における大きな動きが何らかの要因で発生した場合をエラーとして除外するためである。階層と深度限界とはあらかじめ対応づけてテーブルとしてメモリなどに格納しておく。
【００８８】
このように、奥行き画像を階層構造とし、ステレオマッチングに用いた撮影画像の階層に対応する階層のデータを各時刻において更新していく。画像の解像度は、当該画像から精度よく得られる対象物の奥行き方向の位置の範囲に対応する。そのため、ステレオマッチングに用いた画像の解像度ごとに奥行き画像を階層化し、得られた位置情報を対応する階層にのみ反映させることにより、対象物の位置を、奥行き方向の位置の範囲で区分していることにもなる。
【００８９】
この奥行き画像を用いて処理を行う出力情報生成部３２は、行う処理の内容や求める精度などによって奥行き画像の階層を適宜選択して参照することにより、必要な情報は確実に取得しつつ、余分なデータを処理に組み込んで処理精度が低下したり処理速度が落ちたりすることを防止できる。
【００９０】
例えばカメラから遠い対象物の動きを無視したいときは第０階層、第１階層など低解像度の画像のみを参照する。逆に奥の対象物の動きのみに注目する場合は、第２階層、第３階層など高解像度の画像のみを参照する。手前から奥の方まで広い範囲における動きを全て取得したい場合は、第０階層から第３階層までを順に参照していってもよい。参照すべき奥行き画像の階層は、実際に処理を行って検証することにより、処理内容、想定される対象物の位置、大きさなどに対して設定しておいてもよい。
【００９１】
以上述べた本実施の形態によれば、撮像装置にカメラを２つ設け、異なる視点から対象物の動画を同時に撮影する。撮影した画像はピラミッドフィルタにより解像度の異なる複数の階層画像へ変換する。そして、低い解像度の全体画像を用いて動き領域を検出し、その大きさに見合った階層を選択したうえ、対象物の動きがあると予測される対象領域のみを取得してステレオマッチングを行う。
【００９２】
これにより、対象物が奥行き方向のどの位置にいても、ステレオマッチングの精度が維持できる範囲で無駄なデータ処理を省くことができ、精度と処理効率を両立させることができる。また対象物の位置が変化しても対象領域の画像サイズは大きく変化しないため、計算量が対象物の位置によらず、安定した位置情報出力が可能となる。
【００９３】
また対象物の動きなどに基づき将来の対象領域を予測することにより、対象領域を決定する処理とステレオマッチングとを独立したタイミングで行う。これにより処理リソースや処理能力、求められる応答性、精度などに鑑み、これら２つの処理をどのような頻度で行うかを自由に決定することができる。
【００９４】
また対象領域の決定には、２つのカメラによって撮影されたステレオ画像を２つとも用い、双方において得られた動き領域の和となる領域に基づき対象領域を決定する。これにより、動きの及ぶ範囲が大きい、手前の対象物については対象領域をより広げることができ、対象領域から対象物がはみ出る可能性が低くなる。一方ではみ出る可能性がもともと低い、奥の対象物は、対象領域の広がりが抑えられ、無駄な領域を対象領域に含めることが少なくなる。
【００９５】
さらに、得られた位置情報は、奥行き方向の位置を画素値とする奥行き画像を複数の解像度で表した階層構造とする。そしてステレオマッチングで用いた画像に対応する階層の領域の画素値を各時刻で更新する。これにより、位置情報を用いて行う後段の処理に求められる精度、解像度、対象物の奥行き方向の位置の想定範囲、などによって参照する階層を切り替えることができ、参照処理、および参照した情報を用いた各種処理を効率化できる。
【００９６】
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００９７】
例えば本実施の形態では、対象領域決定部４０が決定した対象領域に対しステレオマッチングを行うことにより、対象物の３次元の位置情報を取得したが、対象領域を決定する技術は、ステレオマッチング以外の処理にも適用することができる。例えば顔の表情認識処理など奥行き方向の詳細な位置情報を必要としない処理でもよい。この場合もステレオ画像を用いて、顔の奥行き方向の位置によって対象領域の広さを調整し、最適な解像度の画像を選択することができるため、その後の処理の精度および効率を両立させることができる。
【００９８】
また本実施の形態では、動きのある領域、すなわち対象領域を特定するための初期処理として、情報処理装置１４の動き領域検出部４６が顔検出処理を行った。一方、この顔検出処理の機能を撮像装置１２の各カメラに設けるようにしてもよい。図１０はそのような場合の第１カメラ２２の構成を示している。ここで第１カメラ２２が備える画像取得部１０２、デモザイク部１０４、画像送出部１５０、ピラミッドフィルタ部１７０および通信部１０８は図３における各機能ブロックと同一であり、この変形例ではさらに対象物検出部１８０を備える。第２カメラ２４も同じ構成を有する。
【００９９】
対象物検出部１８０は、情報処理装置１４において対象領域決定部４０が処理対象とする画像、例えば最も解像度の低い第０階層の全領域の画像を画像送出部１５０のブロック読み出し部１５６から取得し、それに対して顔検出処理を行うことにより顔領域を特定する。そしてその領域の位置および大きさに係る情報を、画像送出部１５０のパケット化部１６０に通知し、検出対象の画像データ本体とともにパケット化して情報処理装置１４へ送信する。あるいは検出対象の画像の識別情報などに対応づけて通信部１０８から情報処理装置１４へ送信する。
【０１００】
この場合、情報処理装置１４の動き領域検出部４６は、各時刻の画像における顔領域に係る情報を、画像データとともに撮像装置１２から取得することで、図７に示した顔領域６４ａ、６４ｂを検出する処理を行わずにすむ。このとき動き領域検出部４６は、動き検出対象領域６６ａ、６６ｂを決定する処理から開始する。このように撮像装置１２の処理能力によって処理の分担を変化させることにより、効率のよい対象領域特定が行え、結果的に応答性および精度のよい位置情報生成が可能となる。
【０１０１】
ここで対象物検出部１８０が行う検出処理は、上述のとおり既存のテンプレートマッチング技術を導入して適当なテンプレート画像を準備することにより、その対象は人の顔にとどまらず、手、マーカ、所定の物などのいずれでもよい。例えば情報処理装置１４において、ユーザが開始を指定したゲーム名や情報処理の種類などに応じて、入力情報取得部２６が、それに対応する対象物を特定し、撮像装置１２に識別情報を通知する。
【０１０２】
撮像装置１２の各カメラは、図示しないメモリに準備した複数のテンプレート画像から、通知された対象物に対応するテンプレート画像を読み出し、テンプレートマッチングを行うことにより対象物を検出する。あるいは情報処理装置１４がテンプレート画像のデータそのものを撮像装置１２に送信するようにしてもよい。このようにすることで、ユーザの指示入力などに従って対象物を様々に変化させることができる。
【符号の説明】
【０１０３】
１０  情報処理システム、  １２  撮像装置、  １４  情報処理装置、  １６  表示装置、  ２２  第１カメラ、  ２４  第２カメラ、  ２６  入力情報取得部、  ２８  位置情報生成部、  ３０  通信部、  ３２  出力情報生成部、  ４０  対象領域決定部、  ４２  位置情報取得部、  ４４  全体画像取得部、  ４６  動き領域検出部、  ４８  領域予測部、  ５０  領域統合部、  ５２  階層決定部、  ５３  対象領域画像取得部、  ５４  位置特定部、  ５６  無効データ検出部、  ５８  データ生成部、  ６０  奥行き画像データ記憶部、  １０２  画像取得部、  １０４  デモザイク部、  １０８  通信部、  １５０  画像送出部、  １５１  ブロック選択部、  １６４  制御部、  １７０  ピラミッドフィルタ部、  １８０  対象物検出部。
【図１】
0005781353.tif 000002
【図２】
0005781353.tif 000003
【図３】
0005781353.tif 000004
【図４】
0005781353.tif 000005
【図５】
0005781353.tif 000006
【図６】
0005781353.tif 000007
【図７】
0005781353.tif 000008
【図８】
0005781353.tif 000009
【図１０】
0005781353.tif 000010
【図９】
0005781353.tif 000011