(57)【要約】【課題】実物体を利用した情報処理を容易かつ高精度に行う。【解決手段】  実空間に設定されたプレイフィールド２０上に、それを底面とする所定高さｈの対象領域１０２を仮想的に設定する。対象領域１０２を撮像面からの距離を画素値として画像平面上に表した対象領域画像を生成し、実際の撮影画像１００に対応する奥行き画像と比較することにより、対象領域１０２内部にあるブロック３ｃ、３ｂの像のみを抽出し、検出や追跡の対象とする。【選択図】図４
2016076167.tif 000002
【特許請求の範囲】
【請求項１】
撮像装置の視野に存在する物体の、撮像装置からの距離を、撮影画像平面に画素値として表した奥行き画像を取得する奥行き画像取得部と、
前記視野内の空間に３次元の対象領域を仮想的に設定し、前記撮像装置と同じ視点から見た前記対象領域の画像を、前記奥行き画像と同じ形式で生成する対象領域設定部と、
前記奥行き画像と前記対象領域の画像を比較することにより、前記奥行き画像のうち前記対象領域内にある物の像を抽出する対象物検出部と、
抽出結果に基づき画像および音声の少なくともいずれかのデータを出力する出力部と、
を備えたことを特徴とする情報処理装置。
【請求項２】
前記対象領域設定部は、実空間において設定された２次元の領域を底面とし、所定の高さを有する仮想的な立体の内部の領域を前記対象領域とすることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記対象領域設定部は、実空間において敷かれたマットを前記２次元の領域とすることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記対象領域設定部は、前記対象領域の境界を表す面のうちの一部を前記奥行き画像と同じ形式で表した画像を前記対象領域の画像として生成することを特徴とする請求項１から３のいずれかに記載の情報処理装置。
【請求項５】
前記奥行き画像取得部は、撮影中の動画像の各フレームに対応する奥行き画像を取得し、
前記対象物検出部による像の抽出により前記対象領域内に新たに物が入ったことが検出されたら、当該物の像に対し、出力するデータを決定づけるラベルを付与するラベリング部をさらに備えたことを特徴とする請求項１から４のいずれかに記載の情報処理装置。
【請求項６】
ユーザが発した音声信号をマイクロフォンから取得しその言葉を認識する音声認識部をさらに備え、
前記ラベリング部は、前記対象領域内に物を入れると共にユーザが発した物の名前を、当該物のラベルとして付与することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記出力部は、前記対象物検出部が抽出した像に付与されたラベルに対応づけて設定された条件を満たしたとき、当該条件に対応づけて設定されたデータを出力することを特徴とする請求項５に記載の情報処理装置。
【請求項８】
ユーザが発した音声信号をマイクロフォンから取得しその言葉を認識する音声認識部をさらに備え、
前記出力部は、前記対象物検出部が抽出した像に付与されたラベルに対応づけて設定された言葉をユーザが発したとき、当該言葉に対応づけられたデータを出力することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記奥行き画像取得部は、撮影中の動画像の各フレームに対応する奥行き画像を取得し、
前記対象物検出部は、各フレームに対応する抽出結果を像ごとに管理することにより当該像の動きを追跡し、
前記出力部は、追跡結果が、当該像の動きに対し課せられた条件を満たしたとき、当該条件に対応づけて設定されたデータを出力することを特徴とする請求項１から４のいずれかに記載の情報処理装置。
【請求項１０】
前記出力部は、前記対象物検出部による抽出結果に基づき、前記対象領域内にある物の３次元空間での位置を特定し、前記対象領域内にある複数の物の位置関係が所定の条件を満たしたとき、当該条件に対応づけて設定されたデータを出力することを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
撮像装置の視野に存在する物体の、撮像装置からの距離を、撮影画像平面に画素値として表した奥行き画像を取得しメモリに格納するステップと、
前記視野内の空間に３次元の対象領域を仮想的に設定し、前記撮像装置と同じ視点から見た前記対象領域の画像を、前記奥行き画像と同じ形式で生成するステップと、
前記メモリから読み出した前記奥行き画像と前記対象領域の画像を比較することにより、前記奥行き画像のうち前記対象領域内にある物の像を抽出するステップと、
抽出結果に基づき画像および音声の少なくともいずれかのデータを出力するステップと、
を含むことを特徴とする、情報処理装置による情報処理方法。
【請求項１２】
撮像装置の視野に存在する物体の、撮像装置からの距離を、撮影画像平面に画素値として表した奥行き画像を取得する機能と、
前記視野内の空間に３次元の対象領域を仮想的に設定し、前記撮像装置と同じ視点から見た前記対象領域の画像を、前記奥行き画像と同じ形式で生成する機能と、
前記奥行き画像と前記対象領域の画像を比較することにより、前記奥行き画像のうち前記対象領域内にある物の像を抽出する機能と、
抽出結果に基づき画像および音声の少なくともいずれかのデータを出力する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【請求項１３】
撮像装置の視野に存在する物体の、撮像装置からの距離を、撮影画像平面に画素値として表した奥行き画像を取得する機能と、
前記視野内の空間に３次元の対象領域を仮想的に設定し、前記撮像装置と同じ視点から見た前記対象領域の画像を、前記奥行き画像と同じ形式で生成する機能と、
前記奥行き画像と前記対象領域の画像を比較することにより、前記奥行き画像のうち前記対象領域内にある物の像を抽出する機能と、
抽出結果に基づき画像および音声の少なくともいずれかのデータを出力する機能と、
をコンピュータに実現させるコンピュータプログラムを記録したことを特徴とするコンピュータにて読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、実世界の物体の認識や追跡を行う情報処理装置および情報処理方法に関する。
【背景技術】
【０００２】
従来、複数のブロックや部品を接続することにより立体物を組み立てることのできる玩具が知られている。例えばユーザの発想に応じて自由に組み立てられるような、立方体や直方体など基本的な形状を有するブロックや、あらかじめ想定された立体物を設計図に従い組み立てるために形成された専用のブロックや部品などが広く普及している。また、実空間における物体の動きや形状変化をコンピュータが認識し、何らかの情報処理を行う技術は、玩具や学習用教材などへの応用が見込まれている（例えば特許文献１、非特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−７３２５６号公報
【非特許文献】
【０００４】
【非特許文献１】Posey: Instrumenting a Poseable Hub and Strut Construction Toy, Michael Philetus Weller, Ellen Yi-Luen Do, Mark D Gross, Proceedings of the Second International Conference on Tangible and Embedded Interaction, 2008, pp 39-46
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ブロックのようにより簡易な物体のみを用いた遊びや学習には、その発展性に限界がある。そこで上述のように、物体をコンピュータが認識することにより、より高度な情報処理を実現する技術が提案されている。しかし物体の動きや形状を入力情報として情報処理を行う場合、当該物体そのものを他と区別したり認識したりする必要がある。物体を検出／認識する手法として、形状や特徴点など物体自体の特徴に基づく場合や、物体にマーカーをつける場合などがある。
【０００６】
前者の手法は、あらかじめ形状や特徴点に係る情報をデータベースに登録しておく必要があり、登録されていない物は対象外となってしまう。また物体の検出、認識、追跡などの処理の精度が、周囲の明るさや対象物以外の物の存在など、撮影環境に依存して変化しやすい。後者の手法は、マーカーという本来不必要な物を取り付けることにより、ユーザが取り扱いに煩わしさを感じたり、破損の要因が増えたりする。
【０００７】
本発明はこのような課題に鑑みてなされたものであり、その目的は、実物体を利用した様々な情報処理を容易かつ高精度に実現できる技術を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明のある態様は情報処理装置に関する。この情報処理装置は、撮像装置の視野に存在する物体の、撮像装置からの距離を、撮影画像平面に画素値として表した奥行き画像を取得する奥行き画像取得部と、視野内の空間に３次元の対象領域を仮想的に設定し、撮像装置と同じ視点から見た対象領域の画像を、奥行き画像と同じ形式で生成する対象領域設定部と、奥行き画像と対象領域の画像を比較することにより、奥行き画像のうち対象領域内にある物の像を抽出する対象物検出部と、抽出結果に基づき画像および音声の少なくともいずれかのデータを出力する出力部と、を備えたことを特徴とする。
【０００９】
本発明の別の態様は情報処理方法に関する。この情報処理方法は、撮像装置の視野に存在する物体の、撮像装置からの距離を、撮影画像平面に画素値として表した奥行き画像を取得しメモリに格納するステップと、視野内の空間に３次元の対象領域を仮想的に設定し、撮像装置と同じ視点から見た対象領域の画像を、奥行き画像と同じ形式で生成するステップと、メモリから読み出した奥行き画像と対象領域の画像を比較することにより、奥行き画像のうち対象領域内にある物の像を抽出するステップと、抽出結果に基づき画像および音声の少なくともいずれかのデータを出力するステップと、を含むことを特徴とする。
【００１０】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１１】
本発明によると、実物体を用いた遊びやゲームなどを容易に多様化させることができる。
【図面の簡単な説明】
【００１２】
【図１】本実施の形態を適用できる情報処理システムの構成例を示す図である。
【図２】本実施の形態における情報処理装置の内部回路構成を示す図である。
【図３】本実施の形態における情報処理装置の機能ブロックの構成を示す図である。
【図４】本実施の形態における対象領域を説明するための図である。
【図５】本実施の形態における対象領域画像の例を模式的に示す図である。
【図６】本実施の形態において対象物検出部が対象領域に存在するブロックの像を抽出する様子を模式的に示す図である。
【図７】本実施の形態において情報処理装置がブロックの検出、追跡、それらの結果に応じた出力を行う処理手順を示すフローチャートである。
【図８】図７のフローチャートのうちＳ２４において、ユーザが声で指定した名前をラベルとして付与する様子を模式的に示す図である。
【図９】図７のフローチャートのうちＳ２８において、ラベルが付与されたブロックが所定の条件を満たすことにより音声が出力される様子を模式的に示す図である。
【図１０】図７のフローチャートのうちＳ２８において、ラベルが付与されたブロックが所定の条件を満たすことにより画像が表示／更新される様子を模式的に示す図である。
【図１１】本実施の形態における、場所によって高さが異なるプレイフィールドの外観例を示す図である。
【発明を実施するための形態】
【００１３】
図１は本実施の形態を適用できる情報処理システムの構成例を示す。情報処理システム１は、実世界においてユーザ５が動かしたり組み立てたりすることができるブロック３ａ、３ｂ、３ｃ、３ｄ、それらのブロックの状態に応じた情報処理を行う情報処理装置１０、情報処理装置１０に対するユーザ操作を受け付ける入力装置１４、周囲の音声を入力情報として取得するマイクロフォン１５、ブロックの動きなどに応じた画像および音声を出力する表示装置１６およびスピーカー１８を含む。情報処理システム１はさらに、ブロックを置くプレイフィールド２０と、プレイフィールド２０を含む実空間を撮影する撮像装置１２を含む。
【００１４】
情報処理装置１０は、たとえばゲーム装置やパーソナルコンピュータであってよく、必要なアプリケーションプログラムをロードすることで情報処理機能を実現してもよい。表示装置１６は液晶ディスプレイ、プラズマディスプレイ、有機ＥＬディスプレイなど一般的なディスプレイでよい。またスピーカー１８は音声信号を音として出力するスピーカーのほか、ブザー、チャイムなどのいずれでもよく、その数やチャンネル数も限定されない。表示装置１６とスピーカー１８とを一体的に形成したテレビとしてもよい。なお表示装置１６およびスピーカー１８は、場合によってはその一方がなくてもよい。
【００１５】
撮像装置１２は、既知の間隔を有する左右の位置から同一の空間を撮影する２つのカメラからなるステレオカメラであり、それぞれがＣＣＤ（Charge Coupled Device）またはＣＭＯＳ（Complementary Metal Oxide Semiconductor）等の撮像素子を備えている。あるいは単眼のビデオカメラと、撮像面からの被写体の距離を取得できるセンサとで撮像装置１２を構成してもよい。被写体の距離を取得できるセンサとして、赤外線などの参照光を対象物に照射しその反射光を検出する装置を利用してもよい。
【００１６】
入力装置１４は、ユーザ５が操作することにより、処理の開始、終了、機能の選択などの要求を受け付け、情報処理装置１０に電気信号として供給する。入力装置１４は、ゲームコントローラ、キーボード、マウス、ジョイスティック、表示装置１６の画面上に設けたタッチパッドなど、一般的な入力装置のいずれか、またはいずれかの組み合わせでよい。マイクロフォン１５はユーザ５などが発する音声を取得し、それを電気信号に変換して情報処理装置１０に供給する、一般的なマイクロフォンでよい。
【００１７】
プレイフィールド２０は、布、ビニール、板などで作成され平面に敷いたり置いたりできるマットであり、ブロック３ｂなどが置かれる面を構成するとともに、処理対象の空間を規定する。プレイフィールド２０の形は限定されず、図示するような四角形を含む多角形の他、円や楕円など曲線で囲まれた形でもよい。ブロック３ａ、３ｂ、３ｃ、３ｄは、図示するように球、直方体、円柱などの単純な形状の物でもよいし、人形やミニカーなど現実世界にある物のミニチュアやその部品、ゲームの駒など、より複雑な形状の物でもよい。またブロック３ａ、３ｂ、３ｃ、３ｄのサイズ、材質、色、個数は限定されない。さらに、ユーザによって組み立てられる構造としてもよいし、完成物であってもよい。
【００１８】
情報処理装置１０は、プレイフィールド２０によって規定される空間内に存在するブロックを検出したり追跡したりする。具体的には情報処理装置１０は、プレイフィールド２０が示す領域を底面とし所定の高さを有する領域を、３次元の実空間に対し仮想的に設定する。そしてユーザがその内部に入れたブロックに限定して検出や追跡を行う。このようにすることで、ユーザが意図して置いたり動かしたりしているブロックを、周囲に存在する物や人と区別することが容易になる。
【００１９】
結果として検出／追跡処理の精度を向上させつつ処理の負荷を軽減できる。またユーザ自身も、プレイフィールド２０の上へ移動させる、という平易な動作で、情報処理装置１０に認識させるべきブロックを指定することができる。以後、このように情報処理装置１０が３次元空間に設定する仮想的な領域を「対象領域」と呼ぶ。
【００２０】
情報処理装置１０と、撮像装置１２、入力装置１４、マイクロフォン１５、表示装置１６、スピーカー１８との接続は、有線、無線を問わず、また種々のネットワークを介していてもよい。あるいはそれらのうちいずれか２つ、または全てが組み合わされて一体的に装備されていてもよい。なお図１の例では、ブロック３ａ、３ｂ、３ｃ、３ｄのうちプレイフィールド２０上にあるブロック３ｂ、３ｃが処理対象となり、鏡に映っているような画像を表示装置１６に表示している。ただし表示する画像はこれに限らず、情報処理装置１０が行う処理内容に応じて適宜決定してよい。
【００２１】
例えば情報処理装置１０が、ブロックの位置に応じて進捗する電子ゲームを実行する場合、表示装置１６には当該ゲームの画面を表示する。情報処理装置１０が、ブロックの組み立て方に係る情報を提供する場合、表示装置１６には現状のブロックの状況に応じ、次の組み立て手順を表した画像を表示する。上述の通り、画像表示を伴わない情報処理を行ってもよい。このように情報処理装置１０がブロックの検出結果や追跡結果に基づき行う情報処理の内容は特に限定されないため、以後はブロックの検出や追跡に係る処理に主眼を置いて説明する。
【００２２】
図２は情報処理装置１０の内部回路構成を示している。情報処理装置１０は、ＣＰＵ（Central Processing Unit）２２、ＧＰＵ（Graphics Processing Unit)２４、メインメモリ２６を含む。ＣＰＵ２２は、オペレーティングシステムやアプリケーションなどのプログラムに基づいて、情報処理装置１０内部の構成要素における処理や信号伝送を制御する。ＧＰＵ２４は画像処理を行う。メインメモリ２６はＲＡＭ（Random Access Memory）により構成され、処理に必要なプログラムやデータを記憶する。
【００２３】
これらの各部は、バス３０を介して相互に接続されている。バス３０にはさらに入出力インターフェース２８が接続されている。入出力インターフェース２８には、ＵＳＢやＩＥＥＥ１３９４などの周辺機器インターフェースや、有線又は無線ＬＡＮのネットワークインターフェースからなる通信部３２、ハードディスクドライブや不揮発性メモリなどの記憶部３４、表示装置１６やスピーカー１８などの出力装置へデータを出力する出力部３６、撮像装置１２、入力装置１４、およびマイクロフォン１５からデータを入力する入力部３８、磁気ディスク、光ディスクまたは半導体メモリなどのリムーバブル記録媒体を駆動する記録媒体駆動部４０が接続される。
【００２４】
ＣＰＵ２２は、記憶部３４に記憶されているオペレーティングシステムを実行することにより情報処理装置１０の全体を制御する。ＣＰＵ２２はまた、リムーバブル記録媒体から読み出されてメインメモリ２６にロードされた、あるいは通信部３２を介してダウンロードされた各種プログラムを実行する。ＧＰＵ２４は、ジオメトリエンジンの機能とレンダリングプロセッサの機能とを有し、ＣＰＵ２２からの描画命令に従って描画処理を行い、表示画像を図示しないフレームバッファに格納する。そしてフレームバッファに格納された表示画像をビデオ信号に変換して出力部３６に出力する。
【００２５】
図３は情報処理装置１０の機能ブロックの構成を示している。図３に示す各機能ブロックは、ハードウェア的には、図２に示したＣＰＵ２２、ＧＰＵ２４、メインメモリ２６、出力部３６、入力部３８などで実現でき、ソフトウェア的には記憶部３４や、記録媒体駆動部４０を介して記録媒体からメインメモリ２６にロードされたプログラムなどで実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００２６】
本実施の形態は主に、対象領域を設定する処理と、当該対象領域を利用してブロックを検出／追跡する処理とで構成される。情報処理装置１０は、入力装置１４が受け付けたユーザ操作に係る情報を取得する入力情報取得部５２、撮像装置１２から撮影画像のデータを取得する撮影画像取得部５４、撮影画像を用いて奥行き画像を生成する奥行き画像取得部５６、対象領域を設定し奥行き画像として表す対象領域設定部５８、ブロックの検出、追跡を行う対象物検出部６０を含む。
【００２７】
情報処理装置１０はさらに、検出したブロックにラベル付けを行うラベリング部６２、マイクロフォン１５が取得した音声を認識する音声認識部６６、ブロックのラベル、位置、動きなどに応じて出力データを生成する出力データ取得部７０、撮影画像、奥行き画像など処理に用いる画像のデータを格納する画像データ記憶部７２、および、ブロックに係る情報や出力データを生成するために必要な情報を格納する対象物情報記憶部６４を含む。
【００２８】
入力情報取得部５２は、入力装置１４を介してユーザが行った操作の内容を、各機能ブロックへ適宜、通知する。この操作には、ゲームなどの情報処理の開始および終了要求や、処理の途中におけるコマンド入力などが含まれる。処理の開始／終了要求は撮影画像取得部５４を介して撮像装置１２にも通知することで、撮像装置１２における動画撮影の開始／終了を制御する。
【００２９】
撮影画像取得部５４は、撮影の結果得られた動画像のフレームデータを所定のレートで取得する。当該フレームデータは左右の視点から同一空間を撮影したステレオ画像である。また所定のレートとは、撮像装置１２が撮影する動画像のフレームレートでもよいし、それより小さいレートでもよい。撮影画像取得部５４は、取得したステレオ画像のデータを画像データ記憶部７２に格納する。
【００３０】
奥行き画像取得部５６は、画像データ記憶部７２からステレオ画像のデータを読み出し、奥行き画像を生成する。奥行き画像は、ステレオカメラの一方の撮影画像に写る被写体の、撮像面からの距離を、当該撮影画像の平面に画素値として表した画像である。ステレオカメラが左右の異なる視点から撮影した画像における視差を利用し、三角測量の原理によって被写体の距離を取得する技術は広く知られているためここでは説明を省略する。
【００３１】
奥行き画像の生成は、ステレオ画像の取得と同じレートで行ってもよいし、それより小さいレートで行ってもよい。奥行き画像取得部５６は生成した奥行き画像を、フレーム番号などの識別情報を付与して画像データ記憶部７２に順次、格納したうえ、その旨を識別情報とともに対象物検出部６０に通知する。なお撮像装置１２を単眼のカメラと被写体の距離を取得できるセンサとした場合は、例えばＴＯＦ（Time Of Flight）の手法でセンサが生成した奥行き画像をそのまま利用してもよい。
【００３２】
この場合、撮影画像取得部５４は、撮像装置１２から撮影画像と奥行き画像のデータを取得し、画像データ記憶部７２に格納すればよい。奥行き画像の生成にはその他、実用化できるいかなる手法を用いてもよい。なお以後の説明では、ステレオカメラのうち一方が撮影したカラー画像、あるいは単眼カメラが撮影したカラー画像を総称して「撮影画像」と呼ぶことがある。
【００３３】
対象領域設定部５８は、画像データ記憶部７２に格納された撮影画像に基づき対象領域を設定する。そして当該対象領域を奥行き画像として表す。この奥行き画像は、プレイフィールド２０を底面とし所定の高さを有する、対象領域を表す仮想的な立体のうち少なくとも２つ以上の側面と、プレイフィールド２０の底面の、撮像面からの距離を、当該撮像装置１２の視野平面上の画素値として表した画像である。以後、このような仮想的な奥行き画像を「対象領域画像」と呼ぶ。対象領域画像の作成において、撮影画像のほか、奥行き画像取得部５６が生成した、実際の奥行き画像を利用してもよい。対象領域設定部５８は、生成した対象領域画像のデータを対象物検出部６０に供給する。
【００３４】
対象物検出部６０は、奥行き画像が所定レートで生成される都度、画像データ記憶部７２から当該データを読み出し、対象領域設定部５８から取得した対象領域画像と比較することにより、対象領域内にあるブロックの検出および追跡を行う。仮想的に設定する対象領域を、プレイフィールド２０の位置や姿勢に基づき、実世界の撮影画像から生成される奥行き画像と同じ視点からの奥行き画像として表すことで、両画像の画像平面上の位置は対応していることになる。これにより奥行き画像における物の像の、対象領域に対する内外判定を、画素ごとに行える。
【００３５】
そして対象領域の外にある像を処理対象から除外し、さらに対象領域の内部にあるブロックの像をプレイフィールド２０の像から分離する。その結果、対象領域内のブロックの像のみを表した奥行き画像を取得できるため、そのようなブロックの存在を検出できるうえ、それを所定レートで繰り返すことにより位置の変化を追跡できる。なお追跡に際しては、ブロックの像を抽出するのに加え、その他の特徴を用いて前のフレームとの連続性を確認することで、別のブロックとの混同を防止してもよい。
【００３６】
ここで利用できる特徴として、撮影画像における像の色やテクスチャなど表面の特徴、エッジ画像から得られる輪郭などの幾何学的特徴、移動量や移動方向など時間方向の特徴、画素値の分布など統計モデルとしての特徴、などを利用できる。ブロックに２次元バーコードなどのマーカーを貼付したり、姿勢センサを取り付けたりして、それらから得られる情報と統合することにより、さらに追跡精度を高めてもよい。
【００３７】
ブロックが対象領域に新たに入ったことを検出したとき、対象物検出部６０はその旨を、当該ブロックの位置情報とともにラベリング部６２に通知する。また対象物検出部６０は、検出したブロックの追跡結果、すなわちフレームごとの位置情報を、当該ブロックが対象領域を出るまで出力データ取得部７０に順次、供給する。
【００３８】
ラベリング部６２は、検出されたブロックに対し、その動きや位置などに応じて出力すべきデータを決定づける「ラベル」を付与する。「ラベル」とは典型的には物の名前である。例えばブロックに「クルマ」という名前をつけることにより、ブロックの動きに反応して車が走っているような効果音を発生させたり表示を行ったりする。２つのブロックにそれぞれ「ヒーロー」と「怪獣」という名前をつけることにより、それらのブロックが交錯する動きに反応して、戦闘中であることを表現する効果音を発生させたり表示を行ったりする。
【００３９】
ただし「ラベル」は物の名前に限らない。ゲームの駒として使用する場合など、ブロックを何らかの物に見立てる必要がない状況においては、「ラベル」を識別番号などとしてもよい。いずれにしろ対象物情報記憶部６４には、「ラベル」と、その位置や動きに応じて出力すべきデータとを対応づけた出力内容情報を格納しておき、ラベリング部６２は、そのうちの１つのラベルを、検出されたブロックに付与する。付与するラベルは、ブロックの形状、サイズ、色、模様などの外観上の特徴に基づき決定してもよいし、ユーザがその場で指定してもよい。
【００４０】
前者の場合、対象物情報記憶部６４にはさらに、ブロックの外観上の特徴とラベルとを対応づけたブロック特徴情報を格納しておく。ラベリング部６２は、画像データ記憶部７２から読み出した撮影画像を用いて、対象物検出部６０から通知された位置に存在するブロックの外観上の特徴を取得する。そしてブロック特徴情報を参照することにより、当該特徴に対応づけられたラベルを特定し付与する。後者の場合、ユーザがその場で言った名前や入力装置１４を用いて入力した名前をラベルとして付与する。ラベリング部６２は、ブロックに付与したラベルと、付与した時点でのブロックの位置情報とを出力データ取得部７０に通知する。
【００４１】
音声認識部６６は、マイクロフォン１５が取得したユーザの音声を言葉として認識する。音声認識の技術としては様々な手法が広く実用化されており、ここではそのいずれを採用してもよい。認識した言葉の情報がラベリング部６２に通知されることにより、その言葉、ここでは物の名前などが、ブロックにラベルとして付与される。
【００４２】
音声認識部６６はさらに、認識した言葉の情報を出力データ取得部７０にも通知することで、言葉に反応して何らかの出力がなされるようにしてもよい。例えば新たなブロックを対象領域内に置いたうえ、ユーザが「クルマ」と言うと、当該ブロックに「クルマ」のラベルが付与されるとともに、エンジンをふかす音が出力されるようにする。音声に反応した出力は、ラベル付与以外のタイミングでもよい。さらに、音声認識部６６が認識した言葉をボイスコマンドとして利用してもよい。この場合、音声認識部６６が当該言葉の情報を入力情報取得部５２に通知することで、処理の開始、終了等、各種ユーザ操作を入力装置１４からの入力と同等に受け付ける。
【００４３】
出力データ取得部７０は、ラベル付けがなされたブロックの位置や動きに応じて、出力すべき音声や画像のデータを取得し、スピーカー１８や表示装置１６へ出力する。そのため出力データ取得部７０は、対象物検出部６０から対象領域内にあるブロックの位置情報を継続して取得しつづけ、そのブロックのラベルや動きなどに応じた出力データを、対象物情報記憶部６４の出力内容情報に基づき決定する。出力内容情報は基本的に、ブロックのラベルと、そのブロックの位置、動き、他のブロックとの位置関係などに課した条件と、当該条件を満たしたとき出力すべき音声のデータや画像のデータと、を対応づけた情報である。
【００４４】
出力内容情報に設定された条件が満たされたとき、出力データ取得部７０が、出力すべきデータをスピーカー１８および表示装置１６に適宜供給することにより、音声が出力されたり表示画像が更新されたりする。出力内容情報には、出力データとして音声や画像のデータを対応づけるほか、なすべき情報処理を記述したプログラムを対応づけてもよい。この場合、出力データ取得部７０は、設定された条件が満たされたら当該情報処理を実行し、その結果生成した音声や画像のデータを、スピーカー１８や表示装置１６に出力してもよい。なお出力すべき音声や画像のデータ、実行すべきプログラム、表示に用いるオブジェクトモデルのデータなども対象物情報記憶部６４に格納しておく。
【００４５】
図４は、本実施の形態における対象領域を説明するための図であり、図１の撮影環境における撮影画像１００を例示している。ただし点線で示された立体は対象領域１０２であり、実際の撮影画像には表れない。対象領域設定部５８は、撮影画像１００からプレイフィールド２０の像を抽出し、それを底面とし所定の高さｈを有する対象領域１０２を設定する。高さｈは撮像装置１２の視野に収まる範囲内で決定し、例えば５０ｃｍなどとする。
【００４６】
プレイフィールド２０の各辺の長さが既知であれば、画像上で高さｈを表す画素数を、プレイフィールド２０の辺の長さを表す画素数との比により求められる。プレイフィールド２０のサイズが未知の場合も、キャリブレーションにより、被写体の実際のサイズと撮影画像におけるその像のサイズ（画素数）との比の、撮像面からの距離に対する変化を取得しておけば、プレイフィールド２０の各頂点の撮像面からの距離に基づき、各位置における高さｈを表す画像上の長さが判明する。
【００４７】
同図に示した撮影空間では、撮像装置１２の視野に４つのブロック３ａ、３ｂ、３ｃ、３ｄが存在し、そのうち２つのブロック３ｂおよび３ｃがプレイフィールド２０上に置かれている。対象物検出部６０は、撮影画像１００に対応する奥行き画像のうち、対象領域１０２の外側にある物の像を除外し、さらに対象領域１０２の底面、すなわちプレイフィールド２０の像を除外することにより、ブロック３ｃ、３ｂの像のみを残す。これにより、ユーザが意図して置いたブロックのみを効率的に検出したり追跡したりできる。
【００４８】
図５は、対象領域設定部５８が生成する対象領域画像の例を模式的に示している。対象領域画像１０４は上述のとおり、対象領域の底面および側面を奥行き画像として表したものであり、同図の例は、図４で示した対象領域１０２に対応している。またこの奥行き画像は、撮像面から離れるほど小さい輝度とするフォーマットを有するが、奥行き画像のフォーマットをこれに限る趣旨ではない。
【００４９】
対象領域設定部５８は例えば、ブロックが対象領域内に置かれていない状態の撮影画像におけるプレイフィールド２０の像の領域を、色情報やマット上に印刷されたマーカなどに基づき抽出し、実際の奥行き画像における対応する領域を特定する。そして当該領域のみからなる奥行き画像を生成し、中間画像とする。さらに上述の手法により所定の高さｈの画像上の長さを決定し、撮像装置１２から見て左右の側面および奥の側面（背面）を、奥行き画像の形式で中間画像に表すことにより対象領域画像を完成させる。
【００５０】
左右の側面の奥行き方向の位置はプレイフィールド２０の左右の辺の奥行き方向の位置と対応させる。背面の位置はプレイフィールド２０の奥の辺の位置と対応させる。このように３方の面と底面を規定することにより、下段の説明図１０６に示すように対象領域の断面（例えば断面１０８）が規定される。したがって例えば実際の奥行き画像の画素ごとに、撮像面からの距離が同じ位置における断面に対し内外判定を行えば、対象領域外にある画素を特定、除外することができる。
【００５１】
なお実際には、プレイフィールド２０と撮像装置１２の光軸とのなす角度によって、対象領域の側面がカメラ座標系の各軸と直交しているとは限らない。そこで当該角度を、撮影画像におけるプレイフィールド２０の像の形状などに基づき取得することで、プレイフィールド２０の面とそれに垂直な面の、カメラ座標系における方向を導出する。これにより、プレイフィールド２０から垂直に立ち上がる対象領域の側面および背面を、撮像装置１２に対応する視点から描画できる。この場合も画素の内外判定については上述と同様である。
【００５２】
ただし側面の厳密な垂直が要求されない状況にあっては、光軸と垂直な面を対象領域の背面の方向、光軸と平行な面を対象領域の側面の方向、として設定してもよい。また図５はプレイフィールド２０が四角形の場合を示しているが、円形や四角形以外の多角形であっても、その断面形状が撮像面からの距離に対して規定できるように側面を形成すれば、その他の処理は同様である。
【００５３】
図６は対象物検出部６０が対象領域に存在するブロックの像を抽出する様子を模式的に示している。同図左上は図５で示した対象領域画像１０４である。右上は、奥行き画像取得部５６が取得する奥行き画像１１０を例示しており、図４で示した撮影画像１００と対応している。対象物検出部６０は両者を比較し、上述のように画素ごとに対象領域に対する内外判定を行うことにより、対象領域内部の像だけを残す（画像１１２）。
【００５４】
さらに対象領域の底面、すなわちプレイフィールド２０の像と、画像１１２との差分をとることにより、プレイフィールド２０の像を除いたブロックの像のみからなる画像１１４を取得できる。なお同図は説明のため中間画像である画像１１２を示しているが、実際には、対象領域の外側の像を除外する処理とプレイフィールド２０の像を除外する処理を、画素ごとに同時に実施すれば、一度の走査で画像１１４を取得できる。
【００５５】
またプレイフィールド２０を除外する際、撮影画像のカラー情報を利用し精度を上げてもよい。この場合、プレイフィールド２０の色とブロックの色が異なるほど、高い精度でブロックの像を残すことができる。そのため情報処理装置１０は初期段階でプレイフィールド２０の色を取得し、ユーザに対し用いるブロックの色を制限する通知を行ってもよい。
【００５６】
次に、これまで述べた構成によって実現する情報処理装置１０の動作について説明する。図７は情報処理装置１０がブロックの検出、追跡、それらの結果に応じた出力を行う処理手順を示すフローチャートである。ここで示す処理は、ユーザが入力装置１４などを介して情報処理装置１０に処理の開始を要求したときに開始される。また撮影画像である動画のフレームが得られるタイミングを時刻ｔ＝０、１、２、・・・としている。
【００５７】
まず初期の時刻ｔ＝０において撮影画像取得部５４は、撮像装置１２が撮影したステレオ画像の取得を開始する（Ｓ１０、Ｓ１２）。すると対象領域設定部５８は、そのうち一方の撮影画像からプレイフィールド２０の像を抽出し、その３辺に側面をつけた立体物を奥行き画像の形式で表すことにより対象領域画像を生成する（Ｓ１４）。なおプレイフィールド２０の像を高精度に抽出し、対象領域画像を正確に生成するため、対象領域画像を生成するまでは対象領域内にブロックを入れないようユーザに通知することが望ましい。ただし事前にプレイフィールド２０等の色情報を取得しておいたり、マット等を対象領域画像を生成するための領域とその他の領域に分けておいたりすることにより、ブロックを入れた状態でもプレイフィールド２０の抽出を精度よく行える。
【００５８】
対象領域内にブロックのない状態の画像を撮影することにより、撮影環境の明るさやプレイフィールド２０の色、模様などを正確に取得しておけば、（１）露出時間やホワイトバランスなどの撮影条件の調整、（２）画像解析中のノイズ除去や画像補正に用いるパラメータの調整、（３）プレイフィールド２０の像とその上のブロックの像との分離、といったことも高精度に行える。さらにこのようにシンプルな構図で撮影することにより光源の位置を高精度に推定できる。
【００５９】
これにより、後述するようにブロックを３Ｄモデルに置き換えて表示する場合であっても、実際の光源の位置を反映した臨場感のあるシェーディングが可能となる。さらに、光の反射の影響などを推定して、ブロックに対する環境光の影響を除外することも可能となる。一方、奥行き画像取得部５６は時刻ｔ＝０のステレオ画像を用いて、実空間に対応する奥行き画像を生成する（Ｓ１６）。続いて対象物検出部６０は、Ｓ１４で生成された対象領域画像と、Ｓ１６で生成された実空間の奥行き画像を上述のように比較することにより、対象領域内に存在するブロックの像を抽出する（Ｓ１８）。
【００６０】
このとき何らかの像が抽出されたら（Ｓ２０のＹ）、それをブロックと認定し、ラベリング部６２がラベルを付与する（Ｓ２２のＹ、Ｓ２４）。この処理は上述のように、抽出された像の外観上の特徴に基づきラベリング部６２自体が付与するラベルを決定する場合と、ユーザがその場で指定する場合がある。前者は、一度外に出たブロックが再度、対象領域内に入ったときに、以前に付与したラベルを復活させる処理を含む。次に出力データ取得部７０は、付与したラベルに対応づけて設定された、何らかの出力をすべき条件を出力内容情報から抽出し、検出したブロックがいずれかの条件を満たすか否かを判定する（Ｓ２６）。
【００６１】
条件を満たす場合（Ｓ２６のＹ）、当該条件に対応づけられた出力データを取得し、スピーカー１８や表示装置１６から適宜出力する（Ｓ２８）。ブロックの像が抽出されない場合（Ｓ２０のＮ）、および出力内容情報に設定されたいずれの条件をも満たさない場合（Ｓ２６のＮ）はそのままの状態を維持する。ユーザから処理の終了要求がない限り（Ｓ３０のＮ）、後続の時刻ｔ＝１、２、・・・に得られたステレオ画像を用いて、同様の処理を繰り返す（Ｓ３２、Ｓ１６〜Ｓ２８）。
【００６２】
なおｔ＝０では、検出されたブロックは全て新しいブロックとしてラベルを付与したが、以後の時刻では、前の時刻での検出結果と比較し、新たなブロックが検出されたらラベルを付与する（Ｓ２２のＹ、Ｓ２４）。新たなブロックがなければラベル付与の処理をスキップする（Ｓ２２のＮ）。ユーザが入力装置１４などを介し、処理の終了を要求したら全ての処理を終了する（Ｓ３０のＹ）。Ｓ１８の処理により、図６の画像１１４のような、ブロックの像のみを表す奥行き画像が、撮影された動画のフレームごとに得られる。当該奥行き画像はブロックの３次元空間での位置を表しているため、その時間変化を追跡することにより、３次元空間での動きや位置に応じた出力を実現できる。
【００６３】
なおこれまでに説明した図では理解を容易にするため、対象領域内にはブロックのみが存在する状態を示していたが、ユーザがブロックを持って動かす態様においては、ユーザの手や腕も対象領域内に存在することが考えられる。このとき、対象物検出部６０は手の像も抽出することになるが、ラベルを付与した時点における像を対象として微小時間間隔で位置の変化を追跡することにより、手の有無が処理に与える影響は小さくなる。
【００６４】
例えば、手で把持していないブロックを検出してラベルを付与したら、その後の時間でユーザがそれを把持することにより像の形状が変化しても、位置の連続性やブロック部分の外観上の特徴などから、当該ブロックのラベルを維持したまま追跡が可能である。また形状が変化したことをきっかけとして、手で把持されたことを検出できる。手で把持した状態のブロックを検出し、ユーザの指定などによりラベルを付与した場合は、手とブロックとが連結した状態の像が、当該ラベルに対応づけられるが、例えばその先端の位置をブロックの位置とするなどの位置導出規則を設けることにより、これまでの説明と同様に処理できる。
【００６５】
この場合も、ユーザが途中で手を離すことにより像の形状が変化しても、位置の連続性やブロックの外観上の特徴などから、残ったブロックがラベルを引き継ぐことで、継続した追跡が可能である。また形状が変化したことをきっかけとして、手が離れたことを検出できる。なお、より厳密にブロックの像のみを検出、追跡するために、ユーザの手の像をブロックの像から分離してもよい。例えば色、形状、テクスチャなど人の手の外観上の特徴を対象物情報記憶部６４に登録しておき、抽出した像のうち手の像と考えられる部分を除外する。
【００６６】
あるいは腕は、対象領域外にあるユーザの胴体とつながっているため対象領域の内外にまたがっている、という特性を利用し、対象領域の側面または上面で途切れている像を手の像としてもよい。この場合、例えば対象領域の面を基点として連続しているテクスチャまたは輪郭を辿ることで手の像のみを特定し、除外できる。なお対象領域は上面も規定しているため、プレイフィールド２０の上方からブロックを入れても、対象領域の高さ以下になった時点で検出／追跡対象となる。
【００６７】
このように、ユーザが把持することによりブロックが中に浮いた状態であっても、対象領域内に存在する限りは検出／追跡対象とすることができる。またブロックの初回登録時は、プレイフィールド２０上の所定の位置にブロックを置くよう表示装置１６等からユーザに指示を出すことで、当該ブロックの形状等に係る情報を対象物情報記憶部６４に正確に登録できる。追跡に失敗した場合も、所定の位置に置き直させるなどの手続きによって再認識するようにすれば、追跡を再開できる。
【００６８】
これらの処理を様々に組み合わせることにより、例えば次に示すような状況を検出できる。ひいては、単純な構成でも状況に応じた多様な情報処理を実現できる。
（１）対象領域に何もないこと
（２）対象領域にブロックのみが置かれていること
（３）対象領域内でブロックがユーザなどにより動かされていること
（４）手のみが対象領域に入った／対象領域から出たこと
（５）手がブロックを把持した／ブロックを放したこと
（６）把持されたブロックが対象領域に入った／対象領域から出たこと
【００６９】
次に上記構成によって実現できる態様の具体例を説明する。図８は、図７のフローチャートのうちＳ２４において、ユーザが声で指定した名前をラベルとして付与する様子を模式的に示している。まず上段に示した対象領域１２０ａのように、ユーザがブロック１２２を置いたとする。対象物検出部６０がブロック１２２の像を抽出することにより、対象領域内にブロックが存在することおよびその位置が特定される。そこで対象物検出部６０は例えばテーブル１２４に示すように、検出したブロックに識別番号「００」を付与するとともにその位置情報（ｘ０，ｙ０，ｚ０）を対応づけてラベリング部６２に通知する。
【００７０】
なおここで表す位置情報は例えば、ブロックの像を表す領域の重心位置を、画像上の位置座標と撮像面からの距離ｚ０とで表したものでもよいし、当該画像上の位置座標を距離ｚ０を用いて３次元空間に逆射影変換して得た、ワールド座標系における位置座標でもよい。また重心位置に限らず、像全体の位置を画像で表したものでもよいし、像に外接する四角形の位置およびサイズなどでもよい。位置座標に加え、色やサイズなどの特徴情報を対応づけてもよい。厳密にはブロック１２２は、対象領域外から持ち込まれ図示する位置に置かれるため、その間、対象物検出部６０はテーブル１２４の位置情報を更新していく。
【００７１】
またブロック１２２が置かれず動かされつづけている場合も、位置情報を随時更新する。ここでユーザが、ブロック１２２へのラベルとして「CASTLE（城）！」と言ったとすると、音声認識部６６はその言葉をラベリング部６２に通知する。そしてラベリング部は、テーブル１２６に示すように、対象物検出部６０から通知されたテーブル１２４の情報に、さらに「CASTLE」というラベルを対応づける。そして当該テーブル１２６の情報を、出力データ取得部７０に通知する。
【００７２】
続いてユーザが、下段に示した対象領域１２０ｂのように、ブロック１２８を置いたとする。この場合も対象物検出部６０がその像を抽出することにより、対象領域内にブロック１２２以外のブロックが存在することおよびその位置が特定される。そこで対象物検出部６０は、例えばテーブル１３０に示すように、検出したブロックに識別番号「０１」を付与するとともにその位置情報（ｘ１，ｙ１，ｚ１）を対応づけてラベリング部６２に通知する。ここで通知する情報は新たに検出されたブロックに係るもののみでもよい。
【００７３】
ここでユーザが、ブロック１２８へのラベルとして「DRAGON（ドラゴン）！」と言ったとすると、音声認識部６６はその言葉をラベリング部６２に通知する。そしてラベリング部は、テーブル１３２に示すように、対象物検出部６０から通知された情報に、さらに「DRAGON」というラベルを対応づける。そして当該テーブル１３２の情報を、出力データ取得部７０に通知する。このような構成により、任意の形状を有するブロックであっても、ユーザが見立てたい物の名前を言うのみで、情報処理装置１０側でそのように認識することができる。
【００７４】
出力データ取得部７０はテーブル１３２のような構造の情報を保持し、そのうちの位置情報を、対象物検出部６０が実施している追跡結果に応じて更新する。これにより、検出されたブロックのラベルに対し設定された、何らかのデータを出力すべき条件を満たすか否かを監視できる。ブロックのいずれかが対象領域から出たことが対象物検出部６０により検出されたら、出力データ取得部７０はテーブルから該当するブロックのエントリを削除することで、データ出力のための監視対象から除外する。
【００７５】
図９は、図７のフローチャートのうちＳ２８において、ラベルが付与されたブロックが所定の条件を満たすことにより音声が出力される様子を模式的に示している。図示した例は、図８で示した「CASTLE」および「DRAGON」のラベルに対し、下表のような出力内容情報が対象物情報記憶部６４に格納されている場合を想定している。
【００７６】
【表１】
2016076167.tif 000003
【００７７】
まず図９の（ａ）は、「DRAGON」のブロックをユーザが上下に振っている様子を示している。このとき上に示した出力内容情報の２行目に記載された条件、すなわち「DRAGON」が「上下方向に振動」している状況を満たしたとする。すると出力データ取得部７０は、出力すべき音声として設定されている「羽ばたき」の音声データをスピーカー１８から出力する。なお「上下方向の振動」は、実際には振動回数、振動周波数、振動方向など、より詳細な基準を設けてよい。これにより、あたかもドラゴンが飛んでいるような状況を演出できる。
【００７８】
図９の（ｂ）は、ユーザが「DRAGON」のブロックを「CASTLE」のブロックに近づけている様子を示している。そして上に示した出力内容情報の３行目に記載された条件、すなわち「DRAGON」と「CASTLE」の距離がしきい値以下である状況を満たしたとする。すると出力データ取得部７０は、出力すべき音声として設定されている「HELP（助けて）！」と叫ぶ人の音声データをスピーカー１８から出力する。なお実際には距離のしきい値として具体的な数値を設定する。また、近づく方向に対し条件を設定してもよい。これにより、ドラゴンの襲来により城の中にいる人が助けを求めているような状況を演出できる。
【００７９】
図９の（ｃ）は、ユーザが「FIRE DRAGON（ドラゴン撃て）！」と言った様子を示している。このとき上に示した出力内容情報の４行目に記載された条件を満たしているとして、出力データ取得部７０は、出力すべき音声として設定されている「咆哮」の音声データをスピーカー１８から出力する。この処理は「DRAGON」のブロックの位置や動きとは別の、ユーザによる音声をきっかけにしているが、「DRAGON」のブロックが存在することが前提のため、上記の表では「ラベル」を「DRAGON」としている。このようにユーザの音声など各種入力情報に基づいても効果音などを発生させることにより、直感的な動作に基づく様々な演出を実現できる。
【００８０】
図１０は、図７のフローチャートのうちＳ２８において、ラベルが付与されたブロックが所定の条件を満たすことにより画像が表示／更新される様子を模式的に示している。この図は、図１で示したのと同様の配置で表示装置１６、撮像装置１２、プレイフィールド２０が含まれる実空間を、撮像装置１２や表示装置１６と正対する方向から見た様子を示している。また図示した例は、図８で示した「CASTLE」および「DRAGON」のラベルに対し、下表のような出力内容情報が対象物情報記憶部６４に格納されている場合を想定している。
【００８１】
【表２】
2016076167.tif 000004
【００８２】
上表の場合、「DRAGON」および「CASTLE」のブロックが対象領域内に存在することを条件としている。したがって対象領域に入ったブロックに「DRAGON」、「CASTLE」のラベルが付与された時点から、当該ブロックが対象領域の外に出るまでの期間はすべて条件に合致していることになる。そこで出力データ取得部７０は、各ラベルに対応づけられた「DRAGON MODEL」、「CASTLE MODEL」の３Ｄモデルのデータを取得し、表示画像として描画する。撮影画像における像からブロックの前後の向きを特定できる場合は、描画するオブジェクトの向きに反映させてもよい。
【００８３】
また上表のように「描画位置」を、撮影画像における像の位置から「左右反転」させることにより、図示するように、各ブロックに対応する３Ｄオブジェクトが鏡に映っているような表示を実現できる。本実施の形態では各時刻の奥行き画像を生成しているため、奥行き方向の位置を含めた３次元空間でのブロックの位置を表示画像に正確に反映させられる。したがって出力データ取得部７０は、実空間でのブロックの位置の変化に対応するように、表示画像上の３Ｄオブジェクトが移動する動画像を表示できる。
【００８４】
結果として、実空間のブロックを動かすことによって、表示画像上の仮想空間におけるオブジェクトを動かすことができる。また上記の音声出力の場合と同様、個々のブロックの動きや距離、ユーザの声などに応じて、画像に何らかの変化を生じさせてもよい。さらに音声出力と組み合わせることにより、より臨場感のある表現が可能となる。なお仮想世界を表示するばかりでなく、実空間に近い画像を表示してもよい。例えば撮像装置１２による撮影画像を左右反転させた画像を表示してもよい。
【００８５】
あるいは、そのような撮影画像のうち対象領域内にあるブロックの像のみに２Ｄ、または３Ｄのオブジェクトモデルを重ねて表示してもよい。これにより、ブロックが多数存在する場合などに、どのブロックを何に見立てたかをユーザが容易に把握できる。このように、ブロックをメインとして遊ぶ場合の参考情報として画像表示を利用することもできる。同様に、ユーザがブロックを把持したら、表示上のブロックが光っているような画像加工を行うなど強調表示してもよい。
【００８６】
また対象領域に入っていないブロックも含め撮影画像全体を表示させ、対象領域に入ったときのみ画像上で光らせたり色を変化させたりして強調表示してもよい。把持したブロックや対象領域に入れたブロックが強調表示されることにより、それらの動作に対する情報処理装置１０の反応を確認することができ、ユーザは自分が着目しているブロックが情報処理装置に認識されているという安心感をもって、以後の作業を進めることができる。これらの態様も、上表のような出力内容情報に各条件とそれに対応してなすべき画像加工の内容などを記述しておけば、容易に実現できる。
【００８７】
以上、述べた本実施の形態によれば、ユーザが実物体を動かして遊ぶような環境において、撮像装置１２の視野内に、有限の領域を有するプレイフィールド２０を導入する。そして当該プレイフィールド２０を底面とする、所定高さの仮想的な立体内の空間を対象領域として設定し、対象領域内にある実物体の像を検出／追跡対象とする。これによりユーザが着目している実物体を容易に特定できる。ユーザにとっては対象領域に入れる、という簡単な動作で、利用する実物体を指定できる。
【００８８】
また、実物体そのものより画像中の「像」に着眼した処理であるため、その場でのラベル付けが可能となる。結果として、全方向から見た実物体の形状を事前に登録するなど、登録作業の複雑な手続きを省略できる。またマーカーが貼付されている物、形状が登録済みの物、といった制限がなく、自由な形状の実物体を用いることができる。また周囲に存在する人や物の像を初期段階で除外するため、撮影画像に写り込んでいても、着目している実物体の像と混同する可能性が低くなり、処理効率および追跡精度の双方を向上させることができる。
【００８９】
さらに対象領域を３次元空間で設定し、奥行き画像に基づき対象領域に対する内外判定を行うため、撮像装置からの奥行き方向の距離を含めた３次元空間での実物体の位置も同時に取得できる。これにより、対象領域内に存在する実物体同士の位置関係も、３次元空間で取得でき、距離や方向といった細かい変数を利用した多様な情報処理や出力が可能となる。さらにマイクロフォンを用いてユーザの声を取得できるようにしたことにより、声によるラベル指定や出力データの制御を実現できる。これにより、幼児などでも簡単に実物体を用いた多様な遊びを行える。また、用いるブロックは内部に回路等を持たない簡素な構造で十分なため安価な導入が可能である。
【００９０】
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００９１】
例えば本実施の形態では、プレイフィールド２０をマットのように領域全面を占める物としていた。例えば形、サイズ、テクスチャが既知のマットを利用すれば、対象領域の側面の像の方向設定、側面の像の高さ設定、ブロックからの分離、といった処理を効率的かつ精度よく行える。またマットを敷くのみで遊びを開始できるためユーザの手間も軽減される。一方、マットがない場合であっても本実施の形態は実現可能である。
【００９２】
すなわちプレイフィールドは、ブロックが置かれる面を構成するとともに、処理対象の空間を規定するための平面領域であり、情報処理装置１０がそれを認識できれば、床やテーブルなど広い平面上の一部、または全体の領域であってもよい。当該一部の領域を、マットを用いず指定する例として、実空間を撮影した画像を表示装置１６に表示させ、ユーザが当該画面上で領域を指定するようにしてもよい。例えばユーザは、床やテーブルなどブロックを置く面の一点を画面上で指定する。それに応じて情報処理装置１０は、当該一点を中心とする所定半径の円あるいは多角形を、プレイフィールドとして決定する。
【００９３】
またマットに代えて、プレイフィールドの頂点としたい位置にブロックなど所定の物を置くことによりプレイフィールドを指定してもよい。この場合、情報処理装置１０は、頂点を結んでできる線に囲まれた領域をプレイフィールドとして決定する。頂点の指定は上述のように、表示させた撮影画像における位置指定の入力によって行ってもよい。あるいはブロックを置く代わりに、ユーザが頂点の位置を指で示しながら「ここ」など、所定の言葉を発したとき、当該位置を頂点の位置として受け付けてもよい。この場合、ユーザの様子を撮影しながら、マイクロフォン１５を介して声を取得することにより、「ここ」と言った時点で指が示している位置を撮影画像から取得すればよい。紐などで囲んだ領域をプレイフィールド２０としてもよい。このような態様によって、場所や状況を選ぶことなく実物体を用いた遊びなどを開始できる。
【００９４】
またプレイフィールドは平面に限らず、場所によって高さが異なる構造を有していてもよい。図１１は場所によって高さが異なるプレイフィールドの外観例を示している。プレイフィールド１５０は、図示するように場所によって厚さの異なる１枚のマットでもよいし、様々な厚さのマット状の物を連結したものでもよい。あるいはさらに複雑な、市街や自然の風景を模したジオラマなどでもよい。この場合、対象領域画像を生成する過程で、プレイフィールド１５０のみを撮像してその凹凸を奥行き画像として取得する。
【００９５】
そしてそれに基づき対象領域画像を本実施の形態と同様に生成する。撮像装置１２をプレイフィールド１５０の直上に移動させて撮影することにより、より正確にプレイフィールドの場所と厚さの関係を取得してもよい。この場合、そのように撮影して得られる奥行き画像を、運用時の撮像装置１２の位置に対応する視点から見た状態に座標変換することにより、対象領域画像の底面領域を表してもよい。これにより、プレイフィールド１５０とその上に置かれたブロックとを、上述した本実施の形態と同様に分離できる。また、凹凸が時間によって変化するプレイフィールド１５０であっても、変化する都度、対象領域画像を作成し直すことにより、ブロックの像の抽出は同様に行える。
【００９６】
また本実施の形態ではプレイフィールドを１つとしていたが、複数のプレイフィールドを設け、それぞれに対し同様の処理を行ってもよい。例えば複数のユーザを複数のプレイフィールドに振り分け、各ユーザは自分に割り当てられたプレイフィールド上でのみ作業するようにする。情報処理装置１０が、ユーザとプレイフィールドの対応情報を記録しておけば、撮像装置の視野にある腕がどのユーザのものであるかを特定しなくても、プレイフィールドを介して、その上のブロックの状態とユーザとを対応づけることができる。この態様は、互いのブロックが交錯しない対戦ゲームなどにおいて特に有効である。
【符号の説明】
【００９７】
１  情報処理システム、  ３ａ  ブロック、  １０  情報処理装置、  １２  撮像装置、  １４  入力装置、  １５  マイクロフォン、  １６  表示装置、  ２２  ＣＰＵ、  ２４  ＧＰＵ、  ２６  メインメモリ、  ５２  入力情報取得部、  ５４  撮影画像取得部、    ５６  奥行き画像取得部、  ５８  対象領域設定部、  ６０  対象物検出部、  ６２  ラベリング部、  ６４  対象物情報記憶部、  ６６  音声認識部、  ７０  出力データ取得部。
【図２】
2016076167.tif 000005
【図３】
2016076167.tif 000006
【図７】
2016076167.tif 000007
【図１】
2016076167.tif 000008
【図４】
2016076167.tif 000009
【図５】
2016076167.tif 000010
【図６】
2016076167.tif 000011
【図８】
2016076167.tif 000012
【図９】
2016076167.tif 000013
【図１０】
2016076167.tif 000014
【図１１】
2016076167.tif 000015