(57)【要約】【課題】撮影画像における対象物の動きに応じた表示画像を精度よく生成する。【解決手段】情報処理装置１０の画像取得部４６は撮像装置１２からステレオ画像とマーカー検出用画像を含む撮影画像を取得する。位置情報取得部５０の奥行き画像取得部５２はステレオ画像を用いて被写体の奥行き方向の位置分布を表す奥行き画像を生成する。対象領域検出部５４の第１対象物検出部５５ａは、顔検出またはパターンマッチングによりユーザの頭部領域を検出する。第２対象物検出部５５ｂは、奥行き画像から、頭部領域から連続し画素値が所定範囲の領域を身体の領域として検出する。マーカー検出部５６はマーカー検出用画像を用いてマーカーを検出する。画像処理部５８のクリッピング領域決定部６０は頭部、身体、マーカーの領域を含むクリッピング領域を決定する。表示画像生成部６２は、クリッピング領域を他の画像と合成して表示画像を生成する。【選択図】図３
2014238731.tif 000002
【特許請求の範囲】
【請求項１】
カメラが撮影した撮影画像のデータを取得する画像取得部と、
前記カメラからの奥行き方向における被写体の距離を画素値として画像平面上に表した奥行き画像を取得する奥行き画像取得部と、
前記撮影画像または前記奥行き画像から、形状または特徴量に基づき第１の対象物の像の領域を検出する第１対象物検出部と、
前記奥行き画像における前記第１の対象物の像の領域および画素値に基づき第２の対象物の像の領域を検出する第２対象物検出部と、
少なくとも前記第１の対象物の像の領域と前記第２の対象物の像の領域を包含するクリッピング領域を決定するクリッピング領域決定部と、
撮影画像における前記クリッピング領域を他と分離して用いることにより、表示画像を生成する表示画像生成部と、
を備えたことを特徴とする画像処理装置。
【請求項２】
前記撮影画像から、被写体が装備するマーカーの像の領域を検出するマーカー検出部をさらに備え、
前記クリッピング領域決定部は、前記第１の対象物の像の領域と前記第２の対象物の像の領域に加え、前記マーカーの像の領域を包含するように前記クリッピング領域を決定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画像取得部は撮影画像として、カメラが撮影した動画像のデータを画像フレームごとに取得し、
前記画像フレームには、前記マーカー検出部がマーカーの像の領域を検出するのに適した撮影条件で撮影されたマーカー検出用画像フレームが周期的に含まれ、
前記マーカー検出部は、前記マーカー検出用画像フレームを用いてマーカーの像の領域を検出することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記第１対象物検出部は、前記撮影画像に対する顔検出処理によって人の頭部の像の領域を検出し、
前記第２対象物検出部は、前記奥行き画像において頭部の像の領域から連続し画素値が所定範囲内にある領域を人の身体の領域として検出することを特徴とする請求項１から３のいずれかに記載の画像処理装置。
【請求項５】
前記表示画像生成部は、前記クリッピング領域を別の画像と合成したうえ、前記第１の対象物、前記第２の対象物、および前記マーカーの少なくともいずれかに対応する位置に、所定のオブジェクトを描画することにより表示画像を生成することを特徴とする請求項２または３に記載の画像処理装置。
【請求項６】
前記表示画像生成部は、前記クリッピング領域に仮想空間におけるカメラからの奥行き値を与えることにより、当該仮想空間におけるオブジェクトを描画した画像に前記クリッピング領域を合成し、前記クリッピング領域とオブジェクトとの奥行き値の比較によって隠面消去処理を実施することを特徴とする請求項１から５のいずれかに記載の画像処理装置。
【請求項７】
前記マーカー検出用画像フレームを撮影するか否か、および、前記マーカー検出用画像フレームを撮影する周期を決定し、カメラにおける撮影条件を制御する情報処理部をさらに備えたことを特徴とする請求項３に記載の画像処理装置。
【請求項８】
前記表示画像生成部は、前記クリッピング領域を別の画像と合成したうえ、前記画像処理装置に対しユーザが所定の操作を行ったときに所定のオブジェクトが出現し、前記クリッピング領域のうち、前記操作を行ったユーザに対応する前記第２の対象物の像の領域に基づき決定した動きで当該オブジェクトが動く動画像を表示画像として生成することを特徴とする請求項１から７のいずれかに記載の画像処理装置。
【請求項９】
マーカを装備した被写体の動画像を撮影する撮像装置と、撮影された動画像の画像フレームにおけるマーカーの位置に基づき、被写体の動きに応じて変化する表示画像を生成する画像処理装置と、を備えた画像処理システムであって、
前記撮像装置は、動画像として、表示に適した撮影条件で撮影した表示用画像フレームと、前記画像処理装置がマーカーを検出するのに適した撮影条件で撮影したマーカー検出用画像フレームとを所定の割合で順番に撮影し、
前記画像処理装置は、
前記マーカー検出用画像フレームを用いてマーカーを検出するマーカー検出部と、
前記表示用画像フレームを用いて、検出したマーカーの位置に基づく画像処理を行うことにより表示画像を生成する表示画像生成部と、
を備えたことを特徴とする画像処理システム。
【請求項１０】
画像処理装置が、カメラが撮影した撮影画像を用いて表示画像を生成する画像処理方法であって、
前記撮影画像のデータを取得して記憶装置に格納するステップと、
前記カメラからの奥行き方向における被写体の距離を画素値として画像平面上に表した奥行き画像のデータを取得し記憶装置に格納するステップと、
前記撮影画像または前記奥行き画像のデータを前記記憶装置から読み出し、読み出した画像から、形状または特徴量に基づき第１の対象物の像の領域を検出するステップと、
前記奥行き画像のデータを前記記憶装置から読み出し、前記第１の対象物の像の領域および画素値に基づき、前記奥行き画像から第２の対象物の像の領域を検出するステップと、
少なくとも前記第１の対象物の像の領域と前記第２の対象物の像の領域を包含するクリッピング領域を決定するステップと、
前記撮影画像のデータを前記記憶装置から読み出し、前記クリッピング領域を他と分離して用いることにより、表示画像を生成し表示装置に出力するステップと、
を含むことを特徴とする画像処理方法。
【請求項１１】
カメラが撮影した撮影画像のデータを取得する機能と、
前記カメラからの奥行き方向における被写体の距離を画素値として画像平面上に表した奥行き画像を取得する機能と、
前記撮影画像または前記奥行き画像から、形状または特徴量に基づき第１の対象物の像の領域を検出する機能と、
前記奥行き画像における前記第１の対象物の像の領域および画素値に基づき第２の対象物の像の領域を検出する機能と、
少なくとも前記第１の対象物の像の領域と前記第２の対象物の像の領域を包含するクリッピング領域を決定する機能と、
撮影画像における前記クリッピング領域を他と分離して用いることにより、表示画像を生成する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【請求項１２】
カメラが撮影した撮影画像のデータを取得する機能と、
前記カメラからの奥行き方向における被写体の距離を画素値として画像平面上に表した奥行き画像を取得する機能と、
前記撮影画像または前記奥行き画像から、形状または特徴量に基づき第１の対象物の像の領域を検出する機能と、
前記奥行き画像における前記第１の対象物の像の領域および画素値に基づき第２の対象物の像の領域を検出する機能と、
少なくとも前記第１の対象物の像の領域と前記第２の対象物の像の領域を包含するクリッピング領域を決定する機能と、
撮影画像における前記クリッピング領域を他と分離して用いることにより、表示画像を生成する機能と、
をコンピュータに実現させるコンピュータプログラムを記録したことを特徴とするコンピュータにて読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮影画像に基づいた処理を行う画像処理装置、画像処理システム、および当該画像処理装置が行う画像処理方法に関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータやゲーム機などにカメラを搭載し、ユーザの姿を撮像して様々な形で利用することが一般的に行われるようになってきた。例えばテレビ電話、ビデオチャットなど、ユーザの画像を、ネットワークを介してそのまま相手に伝送するものや、画像解析によってユーザの動きを認識し、ゲームや情報処理の入力情報とするものなどが実用化されている（例えば特許文献１参照）。近年ではさらに、奥行き方向を含む３次元空間における対象物の動きを精度よく検出することにより、より臨場感のあるゲームや画像表現を実現できるようになってきた。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】ＷＯ  ２００７／０５０８８５  Ａ２公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
多様な物が存在する空間を撮影し、その画像から所望の対象物のみを判別したり動きを追跡したりするには様々な課題が存在する。例えば光源などの撮影環境の変化により処理結果に影響が生じる可能性がある。また精度を上げるために時間解像度、空間解像度を上げて対象物の検出処理を行うと処理の負荷が高くなる。結果として被写体の撮影から処理結果の出力までに時間を要し、被写体の動きに対する応答性が悪化する。
【０００５】
本発明はこのような課題に鑑みてなされたものであり、その目的は、対象物の位置情報を用いた画像処理において、位置検出を高精度かつ容易に行うことのできる技術を提供することにある。
【課題を解決するための手段】
【０００６】
本発明のある態様は画像処理装置に関する。この画像処理装置は、カメラが撮影した撮影画像のデータを取得する画像取得部と、カメラからの奥行き方向における被写体の距離を画素値として画像平面上に表した奥行き画像を取得する奥行き画像取得部と、撮影画像または奥行き画像から、形状または特徴量に基づき第１の対象物の像の領域を検出する第１対象物検出部と、奥行き画像における第１の対象物の像の領域および画素値に基づき第２の対象物の像の領域を検出する第２対象物検出部と、少なくとも第１の対象物の像の領域と第２の対象物の像の領域を包含するクリッピング領域を決定するクリッピング領域決定部と、撮影画像におけるクリッピング領域を他と分離して用いることにより、表示画像を生成する表示画像生成部と、を備えたことを特徴とする。
【０００７】
本発明の別の態様は画像処理システムに関する。この画像処理システムは、マーカを装備した被写体の動画像を撮影する撮像装置と、撮影された動画像の画像フレームにおけるマーカーの位置に基づき、被写体の動きに応じて変化する表示画像を生成する画像処理装置と、を備えた画像処理システムであって、撮像装置は、動画像として、表示に適した撮影条件で撮影した表示用画像フレームと、画像処理装置がマーカーを検出するのに適した撮影条件で撮影したマーカー検出用画像フレームとを所定の割合で順番に撮影し、画像処理装置は、マーカー検出用画像フレームを用いてマーカーを検出するマーカー検出部と、表示用画像フレームを用いて、検出したマーカーの位置に基づく画像処理を行うことにより表示画像を生成する表示画像生成部と、を備えたことを特徴とする。
【０００８】
本発明のさらに別の態様は画像処理方法に関する。この画像処理方法は、画像処理装置が、カメラが撮影した撮影画像を用いて表示画像を生成する画像処理方法であって、撮影画像のデータを取得して記憶装置に格納するステップと、カメラからの奥行き方向における被写体の距離を画素値として画像平面上に表した奥行き画像のデータを取得し記憶装置に格納するステップと、撮影画像または奥行き画像のデータを記憶装置から読み出し、読み出した画像から、形状または特徴量に基づき第１の対象物の像の領域を検出するステップと、奥行き画像のデータを記憶装置から読み出し、第１の対象物の像の領域および画素値に基づき、奥行き画像から第２の対象物の像の領域を検出するステップと、少なくとも第１の対象物の像の領域と第２の対象物の像の領域を包含するクリッピング領域を決定するステップと、撮影画像のデータを記憶装置から読み出し、クリッピング領域を他と分離して用いることにより、表示画像を生成し表示装置に出力するステップと、を含むことを特徴とする。
【０００９】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、コンピュータプログラムを記録した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１０】
本発明によると、撮影画像を利用した画像表示を高精度かつ容易に実現することができる。
【図面の簡単な説明】
【００１１】
【図１】本実施の形態を適用できる情報処理システムの構成例を示す図である。
【図２】本実施の形態における情報処理装置の内部回路構成を示す図である。
【図３】本実施の形態における撮像装置と情報処理装置の機能構成を示す図である。
【図４】本実施の形態において撮像装置が撮影し情報処理装置が取得する撮影画像の例を示す図である。
【図５】本実施の形態における撮像装置の第１カメラ、第２カメラが撮影する画像フレームの時間変化を示す図である。
【図６】ステレオ画像における視差と被写体の奥行き方向の位置の関係を説明するための図である。
【図７】本実施の形態の撮影空間における奥行き方向の軸について説明するための図である。
【図８】本実施の形態においてステレオ画像法により奥行き画像取得部が取得する奥行き画像を模式的に示す図である。
【図９】本実施の形態において位置情報取得部が検出する各像の領域、およびクリッピング領域決定部が決定するクリッピング領域を模式的に示す図である。
【図１０】本実施の形態において表示画像生成部がクリッピング領域を用いて生成する表示画像の例を示す図である。
【図１１】本実施の形態において表示画像生成部が生成する表示画像の別の例を示す図である。
【図１２】本実施の形態において表示画像生成部が生成する表示画像のさらに別の例を説明するための図である。
【図１３】本実施の形態において情報処理システムがユーザの動きに応じた画像を表示する処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１２】
図１は本実施の形態を適用できる情報処理システムの構成例を示す。情報処理システム２は、ユーザ１などの対象物を撮影する２つのカメラを搭載した撮像装置１２、撮影した画像に基づき、ユーザの要求に応じた情報処理を行う情報処理装置１０、情報処理装置１０が処理した結果得られた画像データを出力する表示装置１６を含む。情報処理装置１０はインターネットなどのネットワークと接続可能としてもよい。
【００１３】
情報処理装置１０と、撮像装置１２、表示装置１６とは、有線ケーブルで接続されてよく、また無線ＬＡＮ（Local Area Network）などにより無線接続されてもよい。撮像装置１２、情報処理装置１０、表示装置１６のうちいずれか２つ、または全てが組み合わされて一体的に装備されていてもよい。また、撮像装置１２は必ずしも表示装置１６の上に設置されていなくてもよい。さらに被写体の数や種類は限定されない。
【００１４】
撮像装置１２は、それぞれがＣＣＤ（Charge Coupled Device）またはＣＭＯＳ（Complementary Metal Oxide Semiconductor）等の撮像素子を備えた２つのデジタルビデオカメラを既知の間隔で左右に配置した構成を有する。２つのデジタルビデオカメラはそれぞれ、同一空間に存在する被写体を左右の位置から所定のフレームレートで撮影する。以後、このように撮影されたフレームの対を「ステレオ画像」とも呼ぶ。
【００１５】
情報処理装置１０はステレオ画像を用いて、画像平面および、カメラからの奥行き方向の位置を含む３次元空間における被写体の位置情報を特定する。情報処理装置１０はさらに、ステレオ画像の少なくとも一方から、形状、色、特徴量などに基づき所望の対象物の像を検出する。そしてそれらの情報を利用し、対象物の動きに応じた情報処理を行ったり、それを反映した表示画像を生成したりする。
【００１６】
例えば撮影されたユーザの像をコンピュータグラフィックスにより描画した仮想世界と融合させたり、ユーザの動きに反応するオブジェクトを描画したりする。またこのような表示画像を生成するばかりでなく、ジェスチャ認識を行ったり、ユーザの動きをコマンドに変換することによりゲームや情報処理を実行したりしてもよい。このように本実施の形態で得られる情報の使用目的は特に限定されない。表示装置１６は、情報処理装置１０が生成した画像を表示する。表示装置１６は、画像を出力するディスプレイおよび音声を出力するスピーカを有するテレビであってよく、例えば液晶テレビ、プラズマテレビ、ＰＣディスプレイ等である。
【００１７】
図２は情報処理装置１０の内部回路構成を示している。情報処理装置１０は、ＣＰＵ（Central Processing Unit）２２、ＧＰＵ（Graphics Porcessing Unit)２４、メインメモリ２６を含む。ＣＰＵ２２は、オペレーティングシステムやアプリケーションなどのプログラムに基づいて、情報処理装置１０内部の構成要素における処理や信号伝送を制御する。ＧＰＵ２４は画像処理を行う。メインメモリ２６はＲＡＭ（Random Access Memory）により構成され、処理に必要なプログラムやデータを記憶する。
【００１８】
これらの各部は、バス３０を介して相互に接続されている。バス３０にはさらに入出力インターフェース２８が接続されている。入出力インターフェース２８には、ＵＳＢやＩＥＥＥ１３９４などの周辺機器インタフェースや、有線又は無線ＬＡＮのネットワークインタフェースからなる通信部３２、ハードディスクドライブや不揮発性メモリなどの記憶部３４、表示装置１６やスピーカなどの出力装置へデータを出力する出力部３６、キーボード、マウス、撮像装置１２、マイクロホンなどの入力装置からデータを入力する入力部３８、磁気ディスク、光ディスクまたは半導体メモリなどのリムーバブル記録媒体を駆動する記録媒体駆動部４０が接続される。
【００１９】
ＣＰＵ２２は、記憶部３４に記憶されているオペレーティングシステムを実行することにより情報処理装置１０の全体を制御する。ＣＰＵ２２はまた、記録媒体駆動部４０が駆動するリムーバブル記録媒体や記憶部３４から読み出されてメインメモリ２６にロードされた、あるいは通信部３２を介してダウンロードされた各種プログラムを実行する。
【００２０】
ＧＰＵ２４は、ジオメトリエンジンの機能とレンダリングプロセッサの機能とを有し、ＣＰＵ２２からの描画命令に従って描画処理を行い、表示画像を図示しないフレームバッファに格納する。そしてフレームバッファに格納された表示画像をビデオ信号に変換して出力部３６などに出力する。
【００２１】
図３は撮像装置１２と情報処理装置１０の機能構成を示している。図３に示す各機能ブロックは、ハードウェア的には、図２に示したＣＰＵ、ＧＰＵ、ＲＡＭ、各種プロセッサなどの構成で実現でき、ソフトウェア的には記憶部３４や記録媒体からメインメモリ２６にロードされた、データ入力機能、データ保持機能、画像解析機能、描画機能などの諸機能を発揮するプログラムで実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００２２】
撮像装置１２は第１カメラ１３ａ、第２カメラ１３ｂを含む。各カメラはそれぞれ、既知の幅を隔てた左右の位置から所定のフレームレートで被写体のステレオ画像を撮影する。また発光体などのマーカーを、被写体であるユーザが保持していたり、対象物に装着させたりして動きの検出に利用する場合、撮像装置１２のうち第１カメラ１３ａは、所定の周期でマーカー検出用の画像を撮影する。
【００２３】
特定の大きさ、色、形状、輝度などを有するマーカーは、画像として捉えた部屋や人、物などの中から検出することが容易であり、また、色を異ならせることにより複数のマーカーの識別も容易である。しかしながら人間による目視と異なり、画像内でのマーカーの写り具合は、周囲の明るさや物の有無、周囲の色などの撮影環境や、露光時間、絞り値、焦点深度などの撮影条件によって大きく変化する。
【００２４】
ユーザや部屋を含む広角画像を撮影する場合、一般的にはその撮影環境に合わせてホワイトバランスや露光時間などの撮影条件が自動で調整され、それによって全体としてバランスのとれた画像を取得する。しかしながらその画像中でマーカーを検出する場合、このように環境に応じて撮影条件を変化させると、マーカーの写り具合、すなわち像の色、大きさ、形状、輝度などが変化し、検出処理に支障をきたすことがあり得る。
【００２５】
例えば発光するマーカーを用いる場合、部屋の明るさに応じて決定した露光時間が長すぎると、マーカーの発光部分のＲＧＢ値が飽和してしまい、発光体の色に関わらず真っ白かつ輪郭のぼやけた画像となってしまうことが考えられる。またマーカーが比較的高速に動いていると、その像がぶれてしまうことが考えられる。
【００２６】
そのためマーカーの位置が正確に取得できなかったり、色によってユーザを識別するような場合に識別ができなくなったりすることがあり得る。そこで第１カメラ１３ａは、ステレオ画像の一方として標準的な撮影条件での画像（以後、「標準画像」と呼ぶ）を撮影するとともに、マーカーの検出に適した撮影条件での画像（以後、「マーカー検出用画像」と呼ぶ）も撮影する。つまり第１カメラ１３ａが動画像として撮影する一連の画像フレームのうち、ある時間ステップでは標準画像を撮影し、ある時間ステップではマーカー検出用画像を撮影する、というように、撮影期間を時分割して撮影条件を切り替え、両者をそれぞれ所定のフレームレートで撮影する。
【００２７】
なおマーカーを利用しない場合は標準画像のみを撮影してよい。マーカー利用の有無をユーザによる指示入力や実行する情報処理の内容に応じて切り替え可能としてもよい。第１カメラ１３ａ、第２カメラ１３ｂが撮影した画像のデータは、情報処理装置１０からの要求により一般的な手法で随時、情報処理装置１０へ送信される。
【００２８】
情報処理装置１０は、ユーザからの指示入力を取得する入力情報取得部４２、指示入力に従い所定の情報処理を実施する情報処理部４４、撮像装置１２からステレオ画像を取得する画像取得部４６、撮影画像に基づき対象物の位置に係る情報を取得する位置情報取得部５０、情報処理の結果や対象物の位置に係る情報に基づき画像処理を行う画像処理部５８、撮像装置１２から入力されたステレオ画像や位置情報取得部５０が生成した奥行き画像などを格納する画像記憶部４８を含む。
【００２９】
入力情報取得部４２は、処理の開始や終了、撮像装置１２による撮影以外の手段によるユーザからの指示入力を受け付け、それに応じた処理要求信号を情報処理部４４に送信する。入力情報取得部４２は、ボタン、キーボード、マウス、トラックボール、タッチパネルなど一般的な入力装置と、当該入力装置になされた操作内容を解釈して処理要求信号を生成するＣＰＵ２２などの協働により実現する。
【００３０】
情報処理部４４はＣＰＵ２２などで実現し、入力情報取得部４２からの要求に従い、ユーザが指定した情報処理を開始するとともに他の機能ブロックを制御する。上記のとおり本実施の形態の情報処理装置１０は、撮影された対象物の像を含む表示画像を生成する以外に、ゲームを進捗させたり他の装置と通信を確立したりするなど一般的な情報処理を実施してよいが、その内容は特に限定されない。情報処理部４４は、そのような情報処理をユーザの指定に従って実行し、その過程で必要に応じて画像取得部４６、位置情報取得部５０、および画像処理部５８に処理要求を発行する。
【００３１】
画像取得部４６はＣＰＵ２２、通信部３２などで実現し、情報処理部４４からの要求に従い、撮像装置１２から撮影画像のデータを取得し画像記憶部４８に格納する。取得する画像は実施する情報処理の内容や生成する表示画像に応じて様々であってよい。例えば、マーカー検出用画像が含まれているか否かに関わらず撮影された画像のデータを全て取得してもよいし、第１カメラ１３ａがマーカー検出用画像を撮影した時間ステップで第２カメラ１３ｂが同時に撮影した標準画像は取得しないなど、一方のカメラが撮影した画像のみを取得するタイミングがあってもよい。つまり第１カメラ１３ａが撮影した画像と第２カメラ１３ｂが撮影した画像の取得レートは独立に設定できるようにしてもよい。
【００３２】
位置情報取得部５０はＣＰＵ２２やＧＰＵ２４などで実現し、画像記憶部４８に格納された撮影画像に基づき、対象物の位置に係る情報を順次取得する。位置情報取得部５０は、奥行き画像取得部５２、対象領域検出部５４、マーカー検出部５６を含む。奥行き画像取得部５２はステレオ画像を用いて、撮像装置１２の視野内に存在する被写体の奥行き方向の位置分布を表す奥行き画像を生成する。被写体の奥行き方向の位置分布は、ステレオ画像法など一般的な技術によって求められる。ここでステレオ画像法は、ステレオ画像の特徴点を対応づけ、それらの視差から被写体の奥行き方向の位置を算出する一般的な手法である。また奥行き画像は、各被写体のカメラからの奥行き方向の距離を、画像平面の２次元座標にマッピングし画素値として表した画像である。
【００３３】
したがって奥行き画像には、人など主たる被写体のほか、椅子や机など撮影対象の空間に存在する各種物体の奥行き方向の位置が、その形状を伴って表される。なお撮像装置１２に奥行き画像を生成する機能を設けてもよい。あるいは、赤外線などの参照光照射機構と参照光センサやカメラを別途設け、被写体からの反射時間やセンシングされた画像を解析することにより奥行き画像を生成してもよい。このような場合、画像取得部４６が奥行き画像のデータをそれらの装置から取得して画像記憶部４８に格納する。そして奥行き画像取得部５２がそれを読み出す。
【００３４】
対象領域検出部５４は第１対象物検出部５５ａと第２対象物検出部５５ｂを含む。第１対象物検出部５５ａは、撮影画像や奥行き画像における所定の対象物の像を、その形状、サイズ、特徴量などに基づき検出する。対象物を人の頭部とすると、第１対象物検出部５５ａは、頭部形状に対応させて準備した縦長の楕円形状のテンプレート画像を用い、撮影画像または奥行き画像とテンプレートマッチングを行うことにより、画像中、頭部の像の領域を特定する。このとき、顔の特徴量に基づき撮影画像に対し顔検出処理を実施することにより頭部領域の検出精度を上げてもよい。顔検出処理のみから頭部の像の領域を特定してもよい。また、奥行き画像が表す奥行き方向の位置に応じてテンプレート画像を拡縮させることにより、実際の頭部のサイズに対応する像を検出してもよい。
【００３５】
マッチング処理には、ブロックマッチングによってブロックごとにマッチング評価値を算出する一般的な手法を適用できる。なお第１対象物検出部５５ａが検出する対象物は、準備するテンプレート画像や特徴量のパターンを切り替えることによって、様々な形状の物とすることができる。当該テンプレート画像や特徴量のパターン情報は、第１対象物検出部５５ａがアクセス可能な内部メモリなどに格納しておく。
【００３６】
第２対象物検出部５５ｂは、奥行き画像の画素値に基づき対象物の像の領域を検出する。奥行き画像において同じ画素値、または同程度とみなせる所定範囲内の画素値を有する連続した領域は、位置的な観点から一つの物の像であることが推定される。そこでそのような連続した領域のうち対象物の像と推定される領域を検出する。ここで検出する対象物は、第１対象物検出部５５ａが検出する対象物と同じでもよいし異なっていてもよい。ただし第１対象物検出部５５ａが検出する対象物との位置関係が明らかなものとすることにより、第２対象物検出部５５ｂは、第１対象物検出部５５ａの検出結果を利用して、奥行き画像から対象物の像の領域を特定できる。
【００３７】
例えば第１対象物検出部５５ａが頭部の像の領域を検出する態様においては、第２対象物検出部５５ｂは、頭部を含むユーザの身体、またはその一部の像の領域を奥行き画像から抽出する。頭部の像の領域が判明していれば、奥行き画像において当該頭部領域と同じ画素値、または近傍の画素値を有する連続した領域がユーザの身体の像を表していると推定できるためである。以後、第１対象物検出部５５ａが人の頭部の像の領域を検出し、第２対象物検出部５５ｂが身体の像の領域を抽出する態様を例にとり説明する。
【００３８】
マーカー検出部５６は、画像記憶部４８に格納されたマーカー検出用画像から、マーカーの像の領域を検出する。既知の色、形状を有する発光ダイオードなどでマーカーを形成することにより、その像は、画像内を探索するなど一般的な手法で検出できる。本実施の形態では上述のとおり、マーカー検出に適した撮影条件で撮影した画像を使用するため、マーカーの色や光の写り具合が安定的であり、検出精度を良好に保つことができる。一度検出したマーカーの位置に基づき、次の時間ステップにおけるマーカーの位置を推定することにより、マーカーを時間発展的に追跡するようにしてもよい。この場合は、一般的なトラッキング技術を適用できる。
【００３９】
画像処理部５８はＣＰＵ２２、ＧＰＵ２４などで実現し、位置情報取得部５０が取得した、対象物の位置に係る情報に基づき表示画像を生成する。ここで生成する表示画像は、情報処理装置１０が実施する情報処理に応じて様々であってよいが、ここでは特に、撮影画像から対象物の像の領域をクリッピングし、他の画像と融合する態様を説明する。そのため画像処理部５８は、クリッピング領域決定部６０と表示画像生成部６２を備える。
【００４０】
クリッピング領域決定部６０は、位置情報取得部５０が取得した、対象物の位置に係る情報に基づき、撮影画像からクリッピングする領域を決定する。具体的には、対象領域検出部５４が検出した頭部の像の領域と身体の像の領域を含む所定範囲の領域をクリッピング領域とする。マーカーを利用する場合はさらに、マーカー検出部５６が検出したマーカーの像の領域も含む所定範囲の領域をクリッピング領域とする。
【００４１】
表示画像生成部６２は、クリッピング領域決定部６０が決定した領域を撮影画像から切り出し（分離し）、別の画像に合成するなどして表示画像のデータを生成する。あるいは撮影画像のうちクリッピング領域以外の領域に別の画像を描画したり合成したりしてもよい。処理の結果生成された表示画像のデータは、表示装置１６に出力され表示される。あるいはネットワークを介して別の装置へ送信してもよい。なお後述するように画像処理部５８は、クリッピング領域のデータを別の装置へ送信し、表示画像のデータを別の装置から受信してもよい。あるいは、別の装置から送信されたクリッピング領域のデータを受信し、表示画像のデータを生成して別の装置へ送信してもよい。
【００４２】
図４は撮像装置１２が撮影して情報処理装置１０が取得する撮影画像の例を示している。撮影画像７０は図示するように、二人のユーザがソファに座っている様子を撮影したものである。ユーザはそれぞれ、ゲームコントローラなどの入力装置７２ａ、７２ｂを保持している。入力装置７２ａ、７２ｂの前面にはそれぞれ、マーカー７４ａ、７４ｂが設けられている。マーカー７４ａ、７４ｂは例えば、互いに異なる色で発光する発光ダイオードにより構成する。ただしマーカー７４ａ、７４ｂは発光しなくてもよく、既知の色、形状、大きさを有し、検出対象となり得るものであれば、その形態は限定されない。
【００４３】
入力装置７２ａ、７２ｂは、情報処理装置１０が行う情報処理の内容に応じて、各種ボタンやジョイスティックなど必要な入力手段を備える。あるいは入力装置７２ａ、７２ｂをマーカー７４ａ、７４ｂのみで構成してもよい。または、ボタンなどの入力手段を備えた入力装置７２ａ、７２ｂとは別に、マーカー７４ａ、７４ｂをユーザの体などに装着するようにしてもよい。このときマーカーの数は特に限定されない。
【００４４】
図５は、図４で示したような画像を、撮像装置１２の第１カメラ１３ａ、第２カメラ１３ｂによって動画像として撮影した場合の、画像フレームの時間変化を縦方向を時間軸として示している。時刻ｔ０、ｔ１、ｔ２、ｔ３、・・・は、撮影フレームレートによって定まる、各画像フレームの撮影タイミング、すなわち時間ステップを表している。まず時刻ｔ０では、第１カメラ１３ａによって画像７６ａが、第２カメラ１３ｂによって画像７６ｂが撮影される。画像７６ａ、７６ｂはどちらも、表示などに用いることのできる標準画像であり、双方で視差が生じているほかは同様の画像である。
【００４５】
次の時刻ｔ１において第１カメラ１３ａによって撮影される画像７８ａは、マーカーの検出に適した撮影条件で撮影したマーカー検出用画像である。この画像は例えば、時刻ｔ０で撮影した標準画像と比較し、露光時間が短く、焦点がマーカーに合っている焦点深度の浅い（絞り値が小さい）画像である。このような条件で撮影することにより、画像７８ａは、全体的に暗かったり、他の物がぼやけていたりする代わりに、マーカーの発光体部分については、色、形状、大きさ、輝度が実際に近い画像となる。なおマーカー検出用画像を撮影する条件として、露光時間と絞り値のどちらか一方のみを変化させてもよいし、別のパラメータを変化させてもよい。
【００４６】
一方、時刻ｔ１において第２カメラ１３ｂによって撮影される画像７８ｂは、時刻ｔ０と同様、標準画像でよい。続いて時刻ｔ２で第１カメラ１３ａが撮影する画像８０ａ、第２カメラ１３ｂが撮影する画像８０ｂは、時刻ｔ０と同様、ともに標準画像である。さらに時刻ｔ３で第１カメラ１３ａが撮影する画像８２ａ、第２カメラ１３ｂが撮影する画像８２ｂは、時刻ｔ１と同様、マーカー検出用画像と標準画像の組み合わせである。
【００４７】
このような撮影を継続することにより、同時に撮影された標準画像の組からなるステレオ画像と、マーカー検出用画像とを、同じ撮影時間軸上の微少な時間差で取得することができる。そのため、ステレオ画像のいずれかまたは奥行き画像から検出した頭部の像、奥行き画像から抽出した身体の像、マーカー検出用画像から検出したマーカーの像、にはほとんど時間差が生じない。結果として、ユーザの動きが速かったり大きかったりしても、それらの像の領域情報に時間的なずれが生じにくく、各時間ステップに対しユーザの像を正確に同定することができる。
【００４８】
なお図５の例で第１カメラ１３ａは、標準画像とマーカー検出用画像を交互に撮影しているが、各画像の撮影頻度はこれに限らない。つまり、標準画像をｍ回撮影するごとにマーカー検出用画像をｎ回撮影する、といった規則を、各画像から得られる情報の重要度などに応じた任意の自然数ｍ、ｎで設定してよい。また第１カメラ１３ａ、第２カメラ１３ｂは必ずしも、同じフレームレートで撮影しなくてもよい。例えば第１カメラ１３ａがマーカー検出用画像を撮影している時刻において第２カメラ１３ｂは撮影をスキップしてもよい。
【００４９】
図５で示したように両カメラが同じフレームレートで撮影した場合、第１カメラ１３ａがマーカー検出用画像を撮影している時刻ｔ１やｔ３で第２カメラ１３ｂが撮影した標準画像は、顔検出、顔認識など補助的な情報を取得するために用いることもできる。いずれにしろ、略同時刻において取得した複数種類の位置情報を統合し、それに基づき同じ時刻の標準画像からクリッピング領域を決定することにより、高精度にユーザの像を切り出したり加工したりできる。
【００５０】
なお時刻ｔ０やｔ２で２つのカメラが撮影するステレオ画像の撮影条件は同一でも異なっていてもよく、撮影画像から取得したい情報によって独立に設定してよい。例えば奥行き画像を別の手段によって取得する場合や、ステレオ画像から奥行き画像を生成する場合であっても特徴点を抽出できる範囲であれば、露光時間などは独立に調整できる。これによりステレオ画像の少なくとも一方を、さらに別の検出処理に適した撮影条件で撮影してもよい。
【００５１】
撮像装置１２にはあらかじめ、撮影条件を切り替えるか否か、切り替える場合はどのようなレートで切り替えるか、を定めた撮影条件切り替えパターンに係る情報を記憶させておく。そして情報処理装置１０が、マーカーを利用するか否かや、実行する情報処理の内容などに応じてパターンのいずれかを選択する制御信号を撮像装置１２に送信することにより、選択されたパターンで撮影を開始するようにする。
【００５２】
ステレオ画像を用いてカメラからの被写体の距離を導出する手法は、一般的なステレオ画像法を適用でき、例えば次のように計算する。図６はステレオ画像における視差と被写体の奥行き方向の位置の関係を説明するための図である。ここで長さの単位は記載がない限りメートル等で揃えているものとする。第１カメラ１３ａ、第２カメラ１３ｂは距離Ｌを隔てた平行な光軸を有するように設置される。これらのステレオカメラに対し、被写体は奥行き方向に距離Ｚ離れた右端の矢印の位置に存在するとする。
【００５３】
各カメラが撮影した画像の１画素が表す実空間での幅Δｘは、距離Ｚに比例して次のように表される。
Δｘ＝Ｚ×ｗ／Ｗ  （１）
ここでＷはカメラの横方向の画素数、ｗは距離Ｚが１のときの実空間の横方向の視野範囲であり視角によって定まる。
【００５４】
距離Ｌだけ離れたカメラで撮影された同一の被写体は、その画像上でおよそ下記のような画素数上の視差Ｄ（画素）を有する。
Ｄ＝Ｌ／Δｘ＝Ｌ×（Ｗ／ｗ）×（１／Ｚ）＝Ｃ／Ｚ  （２）
ここでＣはカメラおよびそのセッティングにより定まる値であり、運用時は定数とみなせる。距離Ｚが１のときの視差Ｄａｔ１（画素）を既知とすると、任意の視差Ｄ（画素）に対し奥行き方向の距離Ｚは次のように求められる。
Ｚ＝Ｄａｔ１／Ｄ  （３）
【００５５】
図７は撮影空間における奥行き方向の軸について説明するための図である。同図上段は撮影空間を上から見た模式図８４ａ、下段は横から見た模式図８４ｂである。第１カメラ１３ａ、第２カメラ１３ｂの視野内には被写体であるユーザ８６が存在している。
【００５６】
なお図７に示したように、第１カメラ１３ａ、第２カメラ１３ｂの光軸は平行で、縦方向のずれはないとする。実際にはずれが生じている場合があるが、そのような環境で撮影された画像は、一般的な手法によりずれのない状態に補正されているものとする。図中、点線は等視差面を表している。ここで等視差面とは、面上の全ての点において視差が等しい平面であり、ひいては（２）式より、カメラからの距離Ｚが等しく算出される面である。したがって奥行き方向の距離Ｚは、図示するように当該等視差面に対し垂直な軸（光軸）上での、カメラの撮影面（センサ面）からの距離によって定義される。
【００５７】
図８は、図５の時刻ｔ０やｔ２で撮影されたステレオ画像を想定し、上記のようなステレオ画像法により奥行き画像取得部５２が取得する奥行き画像を模式的に示している。この場合の奥行き画像は、画素値が大きいほど奥行き方向の距離Ｚが小さい、すなわちカメラから近いことを表している。ただし奥行き画像のデータ形式をそれに限る主旨ではない。このような奥行き画像を画像として表示すると、カメラから近い被写体ほど輝度が大きくなる。図８の奥行き画像９０では、画素値が大きい領域ほど網掛けの密度を小さくすることで画像表示上の輝度の差を表している。
【００５８】
同図に示すように奥行き画像９０においては、被写体であるソファの像９２や二人のユーザの像９４が、奥行き方向の位置に応じた大まかな領域として表される。このような奥行き画像を利用することにより、実際の撮影空間における微細構造や色の変化などによらず、各被写体の像の全体領域を巨視的な視点で特定することができる。
【００５９】
したがって、上述のようにマッチング処理や顔検出処理によって別途頭部の像の領域を特定しておけば、その頭部の領域から連続する、画素値が所定範囲内にある領域が、ユーザの身体の像の領域であると推定できる。抽出する画素値の範囲は、奥行き画像に含まれる誤差や、身体の厚みや凹凸などに起因する画素値の分布範囲に応じて決定できる。
【００６０】
図９は図５の撮影画像に対し、位置情報取得部５０が検出する各像の領域、およびクリッピング領域決定部６０が決定するクリッピング領域を模式的に示している。画像９６ａ、９６ｂは、例えば第１カメラ１３ａが撮影した標準画像であり、当該標準画像は、クリッピングして表示画像の生成にも用いる。つまり位置情報取得部５０は、各像の領域を、第１カメラ１３ａの視野に対して求め、クリッピング対象も第１カメラ１３ａが撮影した標準画像に統一する。
【００６１】
このようにすることで、視差のある第２カメラ１３ｂが撮影した画像における位置情報を混同するなどして、表示画像に何らかの視差分のずれが生じるのを防止する。マーカー検出はマーカー検出用画像を用いて行うため、好適には、マーカー検出用画像と表示画像の生成に用いる画像を同じ第１カメラ１３ａで撮影する。
【００６２】
上段の画像９６ａは、位置情報取得部５０が取得する各像の領域を表している。画像９６ａにおいて一点鎖線で示された領域１００は、対象領域検出部５４の第１対象物検出部５５ａが検出するユーザの頭部の像の領域であり、図８の奥行き画像９０または標準画像と、頭部のテンプレート画像とのマッチングや、標準画像における顔検出処理などにより検出される。太い実線で示された領域９８は、対象領域検出部５４の第２対象物検出部５５ｂが図８の奥行き画像９０から画素値に基づき抽出するユーザの身体の像の領域である。
【００６３】
鎖線で示された領域１０２は、マーカー検出部５６が検出するマーカーの像の領域であり、マーカー検出用画像に対し探索またはトラッキングを行うことにより検出される。一方、下段の画像９６ｂにおける実線で示された領域１０４は、画像９６ａで示した各像の領域に基づきクリッピング領域決定部６０が決定するクリッピング領域を表している。画像９６ａに示すように、位置情報取得部５０が取得する３種類の像の領域は、それぞれ個別の基準により取得されているため、撮影状況や演算精度などによってその包含関係、位置関係は様々に変化し得る。
【００６４】
そこでクリッピング領域決定部６０は、それらの領域を全て包含し、さらに所定のマージン領域を含めた領域１０４をクリッピング領域として決定する。例えば、３種類の領域の少なくともいずれかに含まれる画素の領域（和集合）を所定数の画素数または所定幅だけ外側に拡張した領域をクリッピング領域とする。あるいは３種類の領域を、それぞれに与えた重み分だけ拡張したあと、それらを包含する領域をクリッピング領域としてもよい。
【００６５】
また、特に第２対象物検出部５５ｂが奥行き画像から抽出する身体の像の領域については、拡張する方向に指向性を持たせてもよい。例えば奥行き方向の位置がほぼ等しい上半身に加え、座った状態においてよりカメラに近い足の部分もクリッピングしたい場合などは、画像平面において下方の拡張量を他の方向より大きくする。方向と拡張量との対応関係は、想定されるユーザの姿勢などに応じてあらかじめ定めておく。なお３種類の領域のうちいずれかの領域が、画像平面上で所定量以上離れていたら、当該領域はクリッピング領域の決定に用いないなどの規則を設け、誤検出が表示結果に反映されないようにしてもよい。
【００６６】
図１０は表示画像生成部６２が、クリッピング領域を用いて生成する表示画像の例を示している。なお表示画像は実際には、クリッピング領域を左右反転させる鏡像反転処理を施すことにより、それを表示した表示装置１６を見ているユーザが自分と像との対応関係を理解しやすいが、図１０ではクリッピング領域との対応を明らかにするため、そのままとしている。以後の図も同様である。画像１０６は、第１カメラ１３ａが撮影した標準画像からクリッピングされた領域１０４を、コンピュータグラフィックスによって描画した画像に合成することにより、ユーザの実際の像を仮想世界に融合させた画像である。
【００６７】
画像１０６において、クリッピング領域１０４の境界線近傍の領域１０８は、半透明にして仮想世界の画像とアルファブレンディングするなどして境界線を目立たなくさせる。発光しているようなグラフィックスを境界線近傍の領域１０８に重畳することにより、境界線を隠蔽するとともにユーザが発光しているように演出してもよい。なおクリッピング領域を合成する画像はコンピュータグラフィックスに限らず、別に撮影された風景や部屋などの静止画像や動画像などでもよいし、そのような画像とコンピュータグラフィックスで描画した画像とを組み合わせてもよい。
【００６８】
表示画像生成部６２は、このようにクリッピング領域を他の画像に合成するばかりでなく、位置情報取得部５０が取得した情報に基づき様々な加工を行ってよい。例えばマーカー検出部５６が検出したマーカーの位置に、光る物体１１０や武器などを重畳して描画することにより、実際のユーザが保持している入力装置などを隠蔽しつつ仮想世界に適した物を保持しているように表現する。マーカーの色をユーザによって異ならせる場合、マーカー検出部５６は色ごとにマーカーの像を検出し、表示画像生成部６２はそれに基づき物体１１０の色をユーザごとに変化させたり、異なる武器を保持しているように表現してもよい。なおこのような加工や後述するオブジェクトの描画などは、撮影画像における各像の領域に基づいても同様に実施可能であるため、表示画像生成部６２はクリッピング処理を行わずに撮影画像に直接、加工や描画を行って表示画像としてもよい。
【００６９】
表示画像１０６において、撮影画像と同じサイズ、同じ位置に、クリッピングしたユーザの像を合成する場合は、位置情報取得部５０が取得した、撮影画像におけるマーカーの位置をそのまま表示画像におけるマーカーの位置としてよい。一方、鏡像反転処理を実施したり、クリッピングした画像を拡縮して合成したり、合成する位置を変化させたりする場合は、それらの処理に応じてマーカーの位置座標を変換し、表示画像上での位置座標を求める。その他の像に対する加工も同様である。
【００７０】
また対象領域検出部５４が検出する頭部の像の領域に基づき、各ユーザの頭部に帽子１１２を重畳して描画してもよい。このとき、頭部とマーカーの相対位置に基づき各ユーザが保持するマーカーの色を特定し、それに合わせて帽子の色を決定してもよい。帽子のみならず各ユーザの像全体や周辺領域に、マーカーの色を半透明で加えるなどしてもよい。また情報処理部４４がシューティングゲームなどリアルタイムで点数を取得するゲームを実行している場合などは、ユーザの頭上にそれぞれの得点を表示してもよい（図示せず）。この態様は、ユーザが保持するコントローラに対応してカウントされる現時点での得点と、当該コントローラに備えられたマーカーと頭部との相対位置に基づいて、得点と頭部の像の領域を紐づけることにより実現できる。
【００７１】
また仮想世界で動くオブジェクト１１４ａ、１１４ｂがユーザの背後に回ったときにはユーザの像によって隠れるように描画することで、より臨場感を与えるようにしてもよい。具体的には、クリッピングにより合成した、ユーザの像を表す領域に対し、仮想世界のカメラ座標系における奥行き方向の位置として所定のＺ値を与える。このＺ値は仮想世界におけるユーザの像の位置にも反映させる。そして動くオブジェクト１１４ａ、１１４ｂを描画する際、一般的な隠面消去処理と同様、当該オブジェクトの各時間ステップにおけるＺ値とユーザの像のＺ値を比較することにより、オブジェクトを描画するか否かを画素ごとに決定する。
【００７２】
オブジェクト１１４ａ、１１４ｂは、例えばユーザが入力装置に対し所定の操作を行ったとき、それに反応して登場するようにその描画を開始する。このときマーカーの位置であるユーザの手元から出現するように描画すると、操作に反応して出現した様子を演出できる。さらに表示画像生成部６２はクリッピングした領域中、オブジェクトを出現させたユーザの身体の像の領域に係る情報を位置情報取得部５０から取得する。そして表示画像平面における当該身体の像の領域に基づき、オブジェクトの移動経路や挙動を決定して各画像フレームを描画する。このときの経路によっては上述の隠面消去処理を適宜実施する。これによりオブジェクトが、自身を出現させたユーザの周囲を飛び回ったり体に留まったり、ユーザに向けて物を投げたりする様子を表現できる。
【００７３】
なお図１０の例ではクリッピング領域を仮想世界の画像に合成したが、クリッピングや合成処理を行わずに撮影画像にオブジェクトを描画したものを表示画像としてもよい。この場合でも、位置情報取得部５０が取得したユーザの身体の像の領域情報を利用することにより、表示画像生成部６２は上述と同様の処理でユーザの位置や動きに応じて動くオブジェクトを表現できる。場合によっては頭部やマーカーの像の領域に係る情報をさらに利用してもよい。ここで隠面消去処理に用いる、ユーザの身体の像の奥行き方向の位置（Ｚ値）には、奥行き画像取得部５２が取得した奥行き画像の画素値をそのまま利用できる。
【００７４】
さらに情報処理部４４が行う処理によっては、画像１０６のうち頭部の位置やマーカーの位置をズームインしてもよい。この場合、撮像装置１２が撮影した標準画像がズームイン表示に対し十分な解像度を有しているときは、表示画像１０６における表示領域を狭めながら、クリッピング領域の画像の表示解像度を上げていく。
【００７５】
撮像装置１２における撮影においてズームインが必要な場合は、まず位置情報取得部５０が、取得した頭部やマーカーの像の位置を情報処理部４４に通知する。情報処理部４４がそれに応じ、画像取得部４６を介するなどして、該当領域をズームインするように撮像装置１２に要求することにより、撮像装置１２は指定された領域をズームインしながら撮影していく。このため、撮像装置１２には電子パンチルタを設けるなどして、撮像装置１２の視野を情報処理装置１０から制御できるようにする。
【００７６】
このようにして撮影されたズームイン画像を用いて表示画像を生成する処理は、これまでの例と同様である。これにより、情報処理の内容に応じて表示画像に変化をつけられるほか、顔認識や表情認識、細かいマーカーの動きなど、より詳細な情報を取得でき、情報処理の内容自体のバリエーションも増やすことができる。
【００７７】
図１１は表示画像生成部６２が生成する表示画像の別の例を示している。画像１１６は図１０の画像１０６と同様、撮影画像からクリッピングしたユーザの像１１８を、コンピュータグラフィックスによって描画した画像に合成している。またこの例では、ユーザが保持するマーカーの動きに対応するように動くオブジェクト１２０ａ、１２０ｂを描画している。同図の例では、ユーザの手元から放出された光によって空中に浮かび上がる文字をオブジェクトとして表している。そしてユーザがマーカーの位置や方向を変化させたら、それに連動するように光や文字のオブジェクトを動かす。
【００７８】
このためマーカー検出部５６は、マーカー検出用画像を用いてマーカーの位置や向きを各時間ステップに対し特定する。マーカーを細長い形状としたり、複数の発光体の配列で構成したりして、カメラに対する向きによって撮影画像における像の形状が変化するようにすると、撮影画像からマーカーの向きも検出できる。あるいはマーカーを設けた入力装置内部にジャイロセンサ、加速度センサなどを搭載してその検出値から入力装置の向きを特定し、それに基づきマーカーの向きを算出してもよい。
【００７９】
このようにしてユーザの動きに反応するオブジェクト１２０ａ、１２０ｂを表示することにより、仮想世界の中にユーザの像を存在させるとともに、当該仮想世界内のオブジェクトとユーザとの相互作用を演出できる。また、オブジェクトを武器や道具とすることで、対戦ゲームや仮想スポーツなどを実現することもできる。なおこの例では、マーカーの位置および向きによってオブジェクトの表示位置や形態を変化させたが、位置情報取得部５０が取得するその他の位置情報、すなわち頭部や身体の位置情報に基づき、それらの動きと反応するようにオブジェクトを表示してもよい。
【００８０】
図１２は表示画像生成部６２が生成する表示画像のさらに別の例を説明するための図である。この例では、異なる場所にいるユーザをそれぞれの装置で撮影し、それを合成することによって１つの場所にいるような画像を生成している。画像１２２、１２４はそれぞれ、第１のユーザ１２６ａ、第２のユーザ１２６ｂを撮影した画像である。なお少なくとも第１のユーザ１２６ａを撮影する撮像装置１２は、これまで述べたのと同様にステレオ画像を撮影するが、ここでは一方の撮影画像のみを表している。
【００８１】
第１のユーザ１２６ａ側の情報処理装置１０は上述のとおり、頭部の像の領域、身体の像の領域、マーカーの像の領域に基づきクリッピング領域を決定する。そして標準画像である画像１２２から当該クリッピング領域を切り取り（Ｓ１０）、そのデータを第２のユーザ１２６ｂ側の情報処理装置１０に送信する（Ｓ１２）。撮影画像は動画であるため、このデータ送信処理を各画像フレームに対し順次繰り返す。２つの情報処理装置１０間の通信の確立やデータの送受信に係る処理手順には一般的な技術を利用できる。
【００８２】
第２のユーザ１２６ｂ側の情報処理装置１０は、送信されたクリッピング領域のデータを、第２のユーザ１２６ｂを撮影した標準画像１２４に合成し、表示画像１２８を生成する（Ｓ１４）。位置情報取得部５０が、第２のユーザ１２６ｂの像の位置をこれまでの例と同様に取得すれば、送信された第１のユーザ１２６ａの像をその隣に配置することができる。合成することを想定した適切な位置に第２のユーザ１２６ｂが写るように、撮影開始前にカメラの視野を調整するようにしてもよい。第１のユーザ１２６ａの像のデータは所定のレートで送信されるため、表示する画像フレームごとに合成処理を繰り返す。
【００８３】
生成した表示画像１２８のデータは、第２のユーザ１２６ｂ側の表示装置１６に表示する一方、第１のユーザ１２６ａ側の情報処理装置１０に送信することで、第１のユーザ１２６ａ側でも表示させる。同時に、既存の技術によって互いの音声データを送信し合うようにすれば、あたかも同じ部屋にいるように演出しながらおしゃべりを楽しむことのできるチャットアプリケーションを実現できる。なお図１２の例は、第２のユーザ１２６ｂ側の撮影画像に第１のユーザ１２６ａの像を合成したが、どちらのユーザの像も元の撮影画像から切り取り、図１０や図１１で例示したような仮想世界の画像や、別途撮影した部屋などの画像に合成してもよい。
【００８４】
次にこれまで述べた構成によって実現される情報処理装置の動作について説明する。図１３は情報処理システム２がユーザの動きに応じた画像を表示する処理手順を示すフローチャートである。まずユーザが入力情報取得部４２に対し処理の開始を指示すると、情報処理部４４、画像取得部４６を介した撮影開始要求により、撮像装置１２は被写体の撮影を開始する。撮影の前処理として撮像装置１２は、実際の撮影空間の環境に応じて、表示に適した標準的な撮影条件と、マーカー検出に適した撮影条件を求めておく（Ｓ１８）。例えば露光時間や絞り値などを調整しながらテスト画像を実際に撮影し、それぞれの最適条件を求める。
【００８５】
その後、ユーザの動画像撮影を開始する。この撮影開始時点の画像フレーム番号ＮをＮ＝０とし（Ｓ２０）、撮像装置１２はまず、標準的な撮影条件でステレオ画像を撮影する（Ｓ２２のＹ、Ｓ２４）。当該ステレオ画像のデータは撮像装置１２から画像取得部４６へ送信され、画像記憶部４８へ格納される。位置情報取得部５０の奥行き画像取得部５２は、画像記憶部４８からステレオ画像のデータを読み出し、ステレオ画像法などによって奥行き画像を生成する（Ｓ２６）。
【００８６】
なお奥行き画像は、ステレオ画像を所定の倍率で縮小した画像の組を用いて生成してもよい。このようにすると、奥行き方向の距離の算出精度に見合った粒度で処理を行えるため効率がよい。また不必要に詳細度の高い処理を行うことによるノイズの発生を抑えることができる。撮像装置１２が奥行き画像を生成する機能を含む場合は、画像記憶部４８に当該奥行き画像のデータが格納されるため、Ｓ２６で奥行き画像を生成する代わりに当該データを読み出す。いずれにしろ奥行き画像は、第１カメラ１３ａが撮影した画像の視野に対して生成する。
【００８７】
次に対象領域検出部５４の第１対象物検出部５５ａは、頭部の像の領域を検出する（Ｓ２８）。具体的には、画像記憶部４８からステレオ画像のうち第１カメラ１３ａが撮影した画像を読み出し、顔検出を行うか、Ｓ２６で生成した奥行き画像に対し頭部のテンプレートマッチングを行う。次に対象領域検出部５４の第２対象物検出部５５ｂは、Ｓ２８で検出した頭部の像の領域を奥行き画像に当てはめることにより、頭部と連続した領域であり、かつ画素値が頭部の領域の画素値から所定範囲以内にある領域を身体の像の領域として検出する（Ｓ３０）。
【００８８】
画像フレーム番号をインクリメントし（Ｓ３２）、次の画像フレーム（Ｎ＝１）を撮影する時間ステップにおいて、撮像装置１２の第１カメラ１３ａは、撮影条件を切り替えてマーカー検出用の画像を撮影する（Ｓ２２のＮ、Ｓ３４）。当該画像のデータは、撮像装置１２から画像取得部４６へ送信され、画像記憶部４８へ格納される。位置情報取得部５０のマーカー検出部５６は、画像記憶部４８からマーカー検出用画像のデータを読み出し、画像内を探索することによってマーカーの像の領域を検出する（Ｓ３６）。
【００８９】
次に画像処理部５８のクリッピング領域決定部６０は、Ｓ２８、Ｓ３０、Ｓ３６でそれぞれ検出した頭部の像の領域、身体の像の領域、マーカーの像の領域に基づき、クリッピング領域を決定する（Ｓ３８）。そして表示画像生成部６２は、当該クリッピング領域を切り出し、別に描画または準備した画像に合成するか、クリッピング領域以外の領域に画像を描画するなどして表示画像を生成し、表示装置１６に出力する（Ｓ４０）。
【００９０】
ユーザが処理の終了を指示したりゲームが終了したりして処理を終了させる必要がない間は（Ｓ４２のＮ）、画像フレーム番号Ｎをインクリメントしながら（Ｓ３２）、Ｎが偶数であれば（Ｓ２２のＹ）、Ｓ２４からＳ３０の処理を、Ｎが奇数であれば（Ｓ２２のＮ）、Ｓ３４からＳ４０の処理を実施する。Ｎ＝１以外の奇数フレームについては、トラッキング技術によってマーカを時間発展的に追跡してもよい。以上の処理により、仮想空間内のユーザが動きながら仮想的なオブジェクトを操作したり相互作用させたりする動画像をリアルタイムで表示することができる。処理を終了させる必要が生じた時点で、撮影や表示に係る処理を終了する（Ｓ４２のＹ）。
【００９１】
なお図１２のチャットアプリケーションの態様などにおいてマーカーを利用する必要がない場合は、Ｓ２２の分岐判定、Ｓ３４、Ｓ３６のマーカー検出に係る処理は実施しない。この場合、全ての画像フレーム、あるいは所定の間隔をおいた画像フレームに対し、Ｓ２４からＳ３０の、頭部の像の検出、身体の像の検出のための処理を行い、Ｓ３８、Ｓ４０の、クリッピングおよび合成処理により生成した画像を表示する。また上述のとおり、Ｓ２２の分岐は画像フレームに対し交互に行わなくてもよい。また図１２のチャットアプリケーションの態様の場合は、Ｓ４０において相手の情報処理装置との間でクリッピング領域のデータを送信／受信したり、生成した表示画像のデータを送信／受信したりする処理が含まれる。
【００９２】
以上述べた本実施の形態によれば、ユーザの動きを撮影し、それを用いて表示画像をリアルタイムで生成するシステムにおいて、標準的な撮影条件でのステレオ画像と、マーカー検出に適した撮影条件でのマーカー検出用画像とを所定の頻度で順番に撮影する。そして、顔検出技術などを用いて頭部の像の領域を検出するとともに、ステレオ画像から生成した奥行き画像からユーザの身体の像の領域を抽出する。さらにマーカー検出用画像を探索するか当該画像を用いてトラッキングすることにより、マーカーの像の領域も検出する。そしてそれらの像の領域を含む所定範囲の領域をユーザの像として決定する。
【００９３】
このようにすることで、表示用に撮影した画像を用いてマーカー検出を行う場合と比較し、撮影環境やユーザの服の色などが変化しても、検出精度に与える影響が小さくなる。またそのような状況変化は奥行き画像の精度にも影響を与え得るが、頭部領域、身体の領域、マーカーの領域、を個別に同定し、それらを複合して相補完的に１つの領域を決定することにより、奥行き画像の精度の変化を吸収できる。結果として、撮影状況の変化に対し頑健性のある表示画像生成が可能となる。
【００９４】
また、このようにして決定したユーザの像をクリッピングして仮想世界や別の画像と合成する。場合によっては、検出した頭部、身体、マーカーの位置情報を再度利用して、仮想オブジェクトがユーザの動きに反応したり、ユーザの背面に回り隠れたり、といった演出を実現できる。利用する位置情報は上記のように撮影状況の変化によらず精度を維持できるため、仮想世界のオブジェクトを正確な位置に描画できる。さらに１つのカメラで表示用の画像とマーカー検出用の画像を時分割して撮影しているため、表示画像におけるマーカーの位置もずれなく得られ、マーカーの動きに反応するオブジェクトを正確に描画できる。
【００９５】
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【００９６】
２  情報処理システム、  １０  情報処理装置、  １２  撮像装置、  １６  表示装置、  １３ａ  第１カメラ、  １３ｂ  第２カメラ、  ２２  ＣＰＵ、  ２４  ＧＰＵ、  ２６  メインメモリ、  ４２  入力情報取得部、  ４４  情報処理部、  ４６  画像取得部、  ４８  画像記憶部、  ５０  位置情報取得部、  ５２  奥行き画像取得部、  ５４  対象領域検出部、  ５６  マーカー検出部、  ５８  画像処理部、  ６０  クリッピング領域決定部、  ６２  表示画像生成部。
【図１】
2014238731.tif 000003
【図２】
2014238731.tif 000004
【図３】
2014238731.tif 000005
【図４】
2014238731.tif 000006
【図５】
2014238731.tif 000007
【図６】
2014238731.tif 000008
【図７】
2014238731.tif 000009
【図９】
2014238731.tif 000010
【図１２】
2014238731.tif 000011
【図１３】
2014238731.tif 000012
【図８】
2014238731.tif 000013
【図１０】
2014238731.tif 000014
【図１１】
2014238731.tif 000015