(57)【特許請求の範囲】
【請求項１】
実物体の認識に用いられる撮影画像のデータを出力する撮像装置であって、
撮像素子を用いて撮像された未加工画像のデータから、出力する撮影画像のデータを生成する出力画像生成部と、
前記撮影画像を評価し前記撮像素子における撮影条件および、前記出力画像生成部における処理条件の少なくともいずれかを調整する調整処理部と、
前記撮影画像のデータを、実物体を認識する装置に出力するデータ送出部と、
を備え、
前記調整処理部は、認識対象の空間に備えられた、異なる輝度を有する複数の色領域で構成されるキャリブレーションチャートの像の色情報に基づき、前記撮影条件および処理条件を調整することを特徴とする撮像装置。
【請求項２】
前記調整処理部は、前記キャリブレーションチャートの色領域の像の輝度を評価し、前記実物体の色の輝度に対応する複数の輝度の差を拡張するように前記処理条件を調整することを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記調整処理部は、前記撮影画像における前記実物体の像の輝度分布に基づき、差を拡張すべき輝度範囲を決定することを特徴とする請求項２に記載の撮像装置。
【請求項４】
前記調整処理部は、前記キャリブレーションチャートのうち前記実物体の色と同じ色領域の像の色を評価し、複数の像の色の色空間における距離を拡張するように前記処理条件を調整することを特徴とする請求項１に記載の撮像装置。
【請求項５】
前記調整処理部は前記処理条件の調整として、ガンマ補正時の補正規則を調整することを特徴とする請求項２から４のいずれかに記載の撮像装置。
【請求項６】
前記調整処理部は、前記キャリブレーションチャートのうち前記実物体のいずれかの有彩色と同じ色領域の像を無彩色とするように各色成分のゲイン値を調整することを特徴とする請求項１に記載の撮像装置。
【請求項７】
前記調整処理部は、前記キャリブレーションチャートのうち所定の輝度を有する色領域の像の輝度を評価し、あらかじめ定めた目標輝度に合わせる方向で撮影条件および前記処理条件を調整することを特徴とする請求項１から６のいずれかに記載の撮像装置。
【請求項８】
前記調整処理部は、前記キャリブレーションチャートのうち無彩色の色領域の像に対しホワイトバランスを調整することを特徴とする請求項１から７のいずれかに記載の撮像装置。
【請求項９】
前記データ送出部は、前記調整処理部により調整された処理条件にて生成された撮影画像のデータと、前記調整処理部による調整の少なくとも一部を省略した処理条件にて生成された撮影画像のデータと、を並列に出力することを特徴とする請求項１から８のいずれかに記載の撮像装置。
【請求項１０】
前記データ送出部は、前記調整処理部により調整された処理条件にて生成された撮影画像のデータと、前記調整処理部による調整の少なくとも一部を省略した処理条件にて生成された撮影画像のデータと、を前記実物体を認識する装置からの要求により切り替えて出力することを特徴とする請求項１から８のいずれかに記載の撮像装置。
【請求項１１】
実物体を撮影した撮影画像のデータを出力する撮像装置と、当該撮影画像を用いて実物体を認識する情報処理装置と、を含む情報処理システムであって、
前記撮像装置は、
撮像素子を用いて撮像された未加工画像のデータから、出力する撮影画像のデータを生成する出力画像生成部と、
前記撮影画像を評価し前記撮像素子における撮影条件および前記出力画像生成部における処理条件の少なくともいずれかを調整する調整処理部と、
前記撮影画像のデータを、前記情報処理装置に出力するデータ送出部と、
を備え、
前記調整処理部は、認識対象の空間に備えられた、異なる輝度を有する複数の色領域で構成されるキャリブレーションチャートの像の色情報に基づき、前記撮影条件および処理条件を調整し、
前記情報処理装置は、
前記撮影画像における実物体の像の色情報と、登録済みの実物体の色情報とを比較することによりブロックを認識し、当該ブロックに対し設定されている処理を行うことを特徴とする情報処理システム。
【請求項１２】
撮影画像における像の色情報に基づき実物体を認識する情報処理システムにおいて被写空間に置くマットであって、
実物体を入れることにより当該実物体を認識対象とする空間の底面領域を規定するプレイフィールドと、
異なる輝度を有する複数の色領域で構成され、撮像装置が、撮影画像におけるその像の色情報に基づき、撮影条件および、出力する撮影画像のデータを生成する際の処理条件の少なくともいずれかを調整するためのキャリブレーションチャートと、
を備えることを特徴とするマット。
【請求項１３】
前記キャリブレーションチャートは、認識対象の実物体の想定色に対応する輝度を有する色領域を含むことを特徴とする請求項１２に記載のマット。
【請求項１４】
前記プレイフィールドを備えた第１のマットと、前記キャリブレーションチャートを備えた第２のマットを含み、
前記第１のマット上に前記第２のマットを重ねて装着可能に構成されることを特徴とする請求項１２または１３に記載のマット。
【請求項１５】
撮像装置が、実物体の認識に用いられる撮影画像のデータを生成する画像生成方法であって、
撮像素子を用いて撮像された未加工画像のデータから、出力する撮影画像のデータを生成するステップと、
前記撮影画像を評価し前記撮像素子における撮影条件および、前記生成するステップにおける処理条件の少なくともいずれかを調整するステップと、
前記撮影画像のデータを、実物体を認識する装置に出力するステップと、
を含み、
前記調整するステップは、認識対象の空間に備えられた、異なる輝度を有する複数の色領域で構成されるキャリブレーションチャートの像の色情報に基づき、前記撮影条件および処理条件を調整することを特徴とする画像生成方法。
【請求項１６】
実物体の認識に用いられる撮影画像のデータを生成する機能をコンピュータに実現させるコンピュータプログラムであって、
撮像素子を用いて撮像された未加工画像のデータから、出力する撮影画像のデータを生成する機能と、
前記撮影画像を評価し前記撮像素子における撮影条件および、前記生成する機能における処理条件の少なくともいずれかを調整する機能と、
前記撮影画像のデータを、実物体を認識する装置に出力する機能と、
をコンピュータに実現させ、
前記調整する機能は、認識対象の空間に備えられた、異なる輝度を有する複数の色領域で構成されるキャリブレーションチャートの像の色情報に基づき、前記撮影条件および処理条件を調整することを特徴とするコンピュータプログラム。
【請求項１７】
実物体の認識に用いられる撮影画像のデータを生成する機能をコンピュータに実現させるコンピュータプログラムを記録した記録媒体であって、
撮像素子を用いて撮像された未加工画像のデータから、出力する撮影画像のデータを生成する機能と、
前記撮影画像を評価し前記撮像素子における撮影条件および、前記生成する機能における処理条件の少なくともいずれかを調整する機能と、
前記撮影画像のデータを、実物体を認識する装置に出力する機能と、
をコンピュータに実現させ、
前記調整する機能は、認識対象の空間に備えられた、異なる輝度を有する複数の色領域で構成されるキャリブレーションチャートの像の色情報に基づき、前記撮影条件および処理条件を調整するコンピュータプログラムを記録したことを特徴とするコンピュータにて読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮影画像を用いた実物体の認識を含む情報処理を行う情報処理システム、それに含まれる撮像装置、マット、および用いられる画像生成方法に関する。
【背景技術】
【０００２】
従来、複数のブロックや部品を接続することにより立体物を組み立てることのできる玩具が知られている。例えばユーザの発想に応じて自由に組み立てられるような、立方体や直方体など基本的な形状を有するブロックや、あらかじめ想定された立体物を設計図に従い組み立てるために形成された専用のブロックや部品などが広く普及している。また、実空間における物体の動きや形状変化をコンピュータが認識し、何らかの情報処理を行う技術は、玩具や学習用教材などへの応用が見込まれている（例えば特許文献１、非特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−７３２５６号公報
【非特許文献】
【０００４】
【非特許文献１】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）により構成され、処理に必要なプログラムやデータを記憶する。
【００２５】
これらの各部は、バス３０を介して相互に接続されている。バス３０にはさらに入出力インターフェース２８が接続されている。入出力インターフェース２８には、ＵＳＢやＩＥＥＥ１３９４などの周辺機器インターフェースや、有線又は無線ＬＡＮのネットワークインターフェースからなる通信部３２、ハードディスクドライブや不揮発性メモリなどの記憶部３４、表示装置１６やスピーカーなどの出力装置へデータを出力する出力部３６、撮像装置１２や入力装置１４からデータを入力する入力部３８、磁気ディスク、光ディスクまたは半導体メモリなどのリムーバブル記録媒体を駆動する記録媒体駆動部４０が接続される。
【００２６】
ＣＰＵ２２は、記憶部３４に記憶されているオペレーティングシステムを実行することにより情報処理装置１０の全体を制御する。ＣＰＵ２２はまた、リムーバブル記録媒体から読み出されてメインメモリ２６にロードされた、あるいは通信部３２を介してダウンロードされた各種プログラムを実行する。ＧＰＵ２４は、ジオメトリエンジンの機能とレンダリングプロセッサの機能とを有し、ＣＰＵ２２からの描画命令に従って描画処理を行い、表示画像を図示しないフレームバッファに格納する。そしてフレームバッファに格納された表示画像をビデオ信号に変換して出力部３６に出力する。
【００２７】
図３は情報処理装置１０の機能ブロックの構成を示している。図３および後述する図４に示す各機能ブロックは、ハードウェア的には、図２に示したようなＣＰＵ、ＧＰＵ、メインメモリ、出力部、入力部、マイクロコンピュータ、各種演算回路、バッファメモリなどで実現でき、ソフトウェア的にはハードディスクや記録媒体からメインメモリにロードされたコンピュータプログラムなどで実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００２８】
情報処理装置１０は、入力装置１４が受け付けたユーザ操作に係る情報を取得する入力情報取得部５２、撮像装置１２から撮影画像のデータを取得する撮影画像取得部５４、ブロックの検出を行う検出部６０、検出したブロックを認識する認識部６２、ブロックの位置や動きに応じて出力データを生成する出力データ生成部７０、撮影画像、奥行き画像など処理に用いる画像のデータを格納する画像データ記憶部７２、およびブロックの基本的な情報を格納するブロックデータベース６４を含む。
【００２９】
なお情報処理装置１０にはさらに、ブロック内部の駆動機構を制御する機能ブロックなど、ブロックの状態を利用して行う情報処理の内容に応じた機能ブロックを適宜設けてよい。入力情報取得部５２は、入力装置１４を介してユーザが行った操作の内容を、撮影画像取得部５４および出力データ生成部７０へ通知する。この操作には、ゲームなどの情報処理の開始および終了要求や、処理の途中におけるコマンド入力などが含まれる。処理の開始／終了要求は撮影画像取得部５４を介して撮像装置１２にも通知することで、撮像装置１２における動画撮影の開始／終了を制御する。
【００３０】
撮影画像取得部５４は、撮影の結果得られた動画像のフレームデータを所定のレートで取得する。ここで所定のレートとは、撮像装置１２が撮影する動画像のフレームレートでもよいし、それより小さいレートでもよい。撮影画像取得部５４は、取得した撮影画像のデータを画像データ記憶部７２に格納する。
【００３１】
検出部６０は、画像データ記憶部７２から撮影画像のデータを読み出し、画像上の像に基づきプレイフィールド１００上にあるブロックを検出したり追跡したりする。例えばブロックが置かれていない状態の撮影画像と、撮影中の動画像における各フレーム画像との差分に基づきブロックが置かれたことを認識する。プレイフィールド１００の色を既知とすれば、それと異なる色を有する像をブロックとして検出することもできる。一旦、ブロックを検出すれば、その後は前のフレーム画像との比較によりその動きを追跡できる。画像中の物体の動きを追跡する技術として様々なものが提案されており、本実施の形態ではそのいずれを採用してもよい。
【００３２】
あるいは撮像装置１２をステレオカメラで構成し、被写空間のカメラからの深度情報によってブロックを検出してもよい。すなわちステレオカメラにより得られる各被写体の深度情報から、プレイフィールド１００を底面とする３次元空間における被写体の位置や高さを座標変換により取得する。そしてプレイフィールド１００の面からの高さが所定のしきい値を超える物が存在すれば、それをブロックとして検出する。ステレオカメラを用いて被写体の深度情報を取得する手法は広く知られている。なおこの態様では特に、プレイフィールド１００は検出対象の３次元空間の底面を規定し、プレイフィールド１００上に置かれたか否かに関わらず、その上の空間に入ったブロックを検出対象とできる。
【００３３】
ブロックを検出したら、検出部６０は当該ブロックの画像上の像の位置情報とともに認識部６２にその旨を通知する。また検出部６０は、検出したブロックの追跡結果、すなわちフレームごとの位置情報を、当該ブロックがプレイフィールド１００から出るまで出力データ生成部７０に順次、供給する。認識部６２は、画像データ記憶部７２から読み出した撮影画像を用いて、検出部６０から通知された位置に存在するブロックの外観上の特徴を取得する。
【００３４】
そしてブロックデータベース６４に格納しておいたブロックごとの特徴と照合することにより、画像中で検出された像がどのブロックのものであるかを特定する。ブロックデータベース６４には、ブロックの識別番号、色や形状などの外観上の特徴、その位置や動きに応じて出力すべきデータなどを対応づけた情報を格納しておく。認識部６２はそのようにして得たブロックの識別番号と当該ブロックの画像中での位置情報とを対応づけて出力データ生成部７０に通知する。
【００３５】
出力データ生成部７０は、ブロックの位置や動きに応じて、出力すべき画像のデータを生成し表示装置１６へ出力する。そのため出力データ生成部７０は、検出部６０からブロックの位置情報を継続して取得しつづけ、認識部６２から通知された当該ブロックの識別番号に基づきブロックデータベース６４を参照して、なすべき処理を決定する。例えばブロックに対応づけられたオブジェクトを当該ブロックの撮影画像上の位置に描画したり、他のブロックとの位置関係に応じて撮影画像に加工を施したりする。
【００３６】
このような場合、出力データ生成部７０は、画像データ記憶部７２から撮影画像を読み出し対応する処理を実施する。ただし上述のように情報処理の具体的な内容は限定されず、必ずしも撮影画像を用いた処理でなくてもよい。また画像のデータのみならず効果音などの音声データを生成してもよい。ブロックデータベース６４には、ブロックの識別番号に対応づけて、撮影画像中、当該ブロックの位置に描画すべき画像のデータや、動きに応じてなすべき処理を規定するプログラムなども格納しておく。
【００３７】
このように本実施の形態では撮像装置１２による撮影画像に基づきプレイフィールド１００上に置かれたブロックを認識し、それに対応する情報処理を行う。認識に際しては、ブロックの形状やサイズとともに色の情報が重要となる。一方、実空間における照明環境、周囲にある物の有無や色など様々な要因で、同一のブロックであるにも関わらず時により撮影画像上の像の色が変化してしまう場合がある。それにより別のブロックとして認識されてしまったり、類似の色を有する複数のブロックを混同したりし、結果として情報処理が適切に行われないことが考えられる。そこで本実施の形態では、プレイマット１８にキャリブレーションチャート１０２を設け、ブロックの認識精度向上を目的として撮影条件や得られた画像データの調整や補正を行う。
【００３８】
図４は撮像装置１２の機能ブロックの構成を示している。撮像装置１２は、撮像部８０、ゲイン処理部８４、調整処理部８６、デモザイク部８８、ガンマ補正部９０、およびデータ送出部９２を備える。なお撮像装置１２をステレオカメラとする場合は、データ送出部９２以外の機能ブロックをカメラごとに設ける。撮像部８０はＣＣＤまたはＣＭＯＳ等の撮像素子により構成され、所定のタイミング（例えば、６０回／秒）で露光結果を画像の各画素値として出力する。ここで出力される画像は各画素がＲＧＢの（赤緑青）のうち１つの色で構成されるいわゆるＲＡＷ画像（未加工画像）であり、ラスタ順など所定の画素順でゲイン処理部８４に出力される。
【００３９】
ゲイン処理部８４は可変利得増幅回路などで構成し、撮像部８０から出力された赤色原色信号（Ｒ値）、緑色原色信号（Ｇ値）、青色原色信号（Ｂ値）を、設定されたゲイン値で増幅したうえ、デモザイク部８８にラスタ順などで出力する。調整処理部８６は、撮影画像におけるキャリブレーションチャート１０２の像に基づき撮像部８０の露光時間、ゲイン処理部８４に設定するゲイン値、ガンマ補正部９０における画素値の補正規則、の少なくともいずれかを決定する。後述するように、キャリブレーションチャート１０２のみならず実際のブロックの像に基づきそれらを決定してもよい。決定結果はそれぞれ撮像部８０、ゲイン処理部８４、ガンマ補正部９０に通知される。
【００４０】
デモザイク部８８は、ゲイン処理部８４から画素値が増幅されたＲＡＷ画像のデータを取得し、各画素に対してその周辺画素に基づき色情報を補完してフルカラー画像を作り出すデモザイク（de-mosaic）処理を実行する。このデモザイク処理には周知の技術を適用することができる。例えばＲＡＷ画像においてＧ値のみを有している画素については、Ｒ値は左右に隣接するＲ値を平均、Ｇ値は当該Ｇ値をそのまま使用、Ｂ値は上または下に位置するＢ値を使用してＲＧＢ値とする。同様の補完処理を全画素について行うことにより各画素がＲＧＢ値を有するＲＧＢ画像とする。デモザイク部８８はさらに、このＲＧＢ画像を所定の変換式に代入してＹＣｂＣｒ画像とする。
【００４１】
ガンマ補正部９０は、そのようにして生成されたフルカラー画像を所定の補正式で補正することにより出力画像のデータを生成する。ガンマ補正部９０は、撮像素子が出力する色信号が表示装置において適切なカラーバランスで表示されるように、周知のガンマ曲線により画素値を変換することを基本とする。一方、ブロックを検出する際は、ガンマ曲線を変形させた曲線で補正した画像を用いることにより、類似の色を高精度に区別できるようにする。
【００４２】
ガンマ補正部９０は生成した出力画像のデータを調整処理部８６およびデータ送出部９２に出力する。データ送出部９２は当該出力画像のデータを、一般的な通信手段により情報処理装置１０へ送信する。調整処理部８６は後述するような順序で各種パラメータを調整する都度、調整後の出力画像をガンマ補正部９０から取得して評価することにより、さらなる調整を行ったり調整の終了を決定したりする。
【００４３】
次にこれまで述べた構成によって実現される情報処理システム１の動作について説明する。図５は撮像装置１２および情報処理装置１０が行う、ブロック認識を含む情報処理の手順を示すフローチャートである。このフローチャートは、ユーザが入力装置１４を介して情報処理装置１０に処理の開始を要求したときに開始される。なお撮像装置１２はユーザによりプレイマット１８全体が視野に入るようにセッティングされているものとする。
【００４４】
まず情報処理装置１０の撮影画像取得部５４が撮像装置１２に撮影の開始を要求することにより、撮像装置１２の撮像部８０が撮影を開始する（Ｓ１０）。この撮影画像には、キャリブレーションチャート１０２が写っている。場合によってはキャリブレーションチャート１０２が良好に写るように撮像装置１２の視野を最適化してもよい。例えば、情報処理装置１０が表示装置１６などを介して、手動での方向調整や倍率調整をユーザに指示する。あるいは撮像装置１２が備える図示しないパンチルターや電子ズームを利用して情報処理装置１０が撮像装置１２の視野を制御してもよい。
【００４５】
これらの処理において情報処理装置１０は、撮影画像を一旦、取得し、画像中でキャリブレーションチャート１０２の像が存在する領域を検出する。検出結果を撮像装置１２に通知することにより、撮像装置１２にキャリブレーションチャート１０２を認識させてもよい。このようにして得られたキャリブレーションチャート１０２の撮影画像に基づき、撮像装置１２の調整処理部８６は、撮像部８０における露光時間、ゲイン処理部８４に設定するゲイン値、ガンマ補正部９０における補正規則、の少なくともいずれかを調整する（Ｓ１２）。
【００４６】
この調整により、撮影環境が変化してもブロックの像の色への影響が小さい出力画像が得られる。また類似の色の微小な差をより強調した出力画像が得られる。撮像装置１２のデータ送出部９２は、調整後の出力画像のデータを情報処理装置１０へ送信する。情報処理装置１０の検出部６０は、プレイフィールド１００上の空間に新たなブロックが入ったか否かを、撮像装置１２から送信された撮影画像に基づき監視する（Ｓ１４）。
【００４７】
新たなブロックが入ったら（Ｓ１４のＹ）、認識部６２は、当該ブロックの画像上の色情報を取得する（Ｓ１６）。さらに認識部６２は、その色が連続している領域を当該ブロックの像の領域として特定し、その形状を取得する（Ｓ１８）。そして認識部６２は、ブロックデータベース６４を参照し、色及び形状に基づき、そのブロックに与えられている識別番号を特定するとともに、当該識別番号と画像上の像とを紐づける（Ｓ２０）。ここで識別番号はブロックの出荷時などに付与されているものであるが、番号に限らず名前などでもよい。
【００４８】
なお目的とする情報処理によっては、ユーザがブロックをプレイフィールド１００上に置いたうえ、それにつける名前や対応づけるオブジェクトなどを表示装置１６に表示させたリストから選択したり音声により指定したりしてブロックをその場で登録する態様も考えられる。この場合、例えばブロックデータベース６４にブロックの色など外観的な特徴とユーザが指定した名前などを対応づけて格納することにより、後のタイミングでもその登録情報が維持されるようにする。
【００４９】
この態様においても、ブロックの像の色が外的要因によって変化しないようにすることで、過去の登録情報を正確に特定できる。なおこの場合、ブロックデータベース６４には、ブロックに代えて、ユーザが指定できる名前などに対応づけてオブジェクトの画像データや動きに応じてなすべき処理のプログラムなどを格納しておいてもよい。一方、検出部６０は、Ｓ１４のＹで検出したブロックの像を追跡しその位置情報を出力データ生成部７０に継続して通知する（Ｓ２２）。
【００５０】
出力データ生成部７０は、認識部６２から通知されたブロックの識別番号に基づき追跡結果に従う情報処理を行い、出力データを生成して表示装置１６などから出力する（Ｓ２４）。Ｓ１４においてプレイフィールド１００上の空間にブロックがない間は（Ｓ１４のＮ）、ゲームなどの初期画面や撮影画像などを表示しておく（Ｓ２４）。ユーザが入力装置１４を介して処理の終了を要求しない間は（Ｓ２６のＮ）、新たなブロックがプレイフィールド１００上の空間に入ったら（Ｓ１４のＹ）、その像とブロックの識別番号とを紐づけるとともに追跡対象として追加する（Ｓ１６〜Ｓ２２）。
【００５１】
新たなブロックが入らなければ（Ｓ１４のＮ）、それまでに検出されているブロックのみを追跡し続けその結果などに応じて出力データを生成、出力する（Ｓ２４）。ユーザが入力装置１４を介して処理の終了を要求したら、撮影を含む全ての処理を終了する（Ｓ２６のＹ）。なおＳ１４〜Ｓ２０におけるブロックの検出および認識に用いる撮影画像は、ブロックを正確に認識するために撮像装置１２の調整処理部８６が各種パラメータを調整した画像である。一方、Ｓ２４においてブロックの像を追跡したり出力データを生成したりするためには、そのような調整の少なくとも一部がなされていない画像を用いてもよい。
【００５２】
特に撮影画像を加工して表示画像とする場合は、実際の状態に近い画像を用いる方が自然である。また追跡処理においても、前のフレームからブロックの輪郭のみを追跡するなど、ブロックの色情報が重要でない手法を用いる場合は、調整されていない撮影画像を用いることができる。そのため撮像装置１２は必要に応じて、調整を行った画像と行っていない画像の双方のデータを情報処理装置１０に送信してもよい。
【００５３】
例えばブロックの追跡や出力画像の生成と並行して新たなブロックを検出する態様においては、双方のデータを同時に送信し、情報処理装置１０内部で使い分ける。初期処理として全てのブロックを認識してしまい、ブロックの追跡及び出力画像の生成の段階では新たなブロックが入ることがないような態様では、初期処理時には調整された撮影画像を送信し、その後の運用時には調整されていない撮影画像を送信するように切り替える。このとき情報処理装置１０は切り替えのタイミングを撮像装置１２に通知する。
【００５４】
また図５の例では、キャリブレーションチャート１０２を用いてＳ１２においてのみ、撮像装置における各種パラメータの調整を行った。一方、後述するように、プレイフィールド１００上の空間に実際に入ったブロックやユーザが登録したブロックの色の分布に応じてパラメータの少なくとも一部を調整してもよい。この場合、新たにブロックが検出される都度、Ｓ１６で取得した色情報を情報処理装置１０から撮像装置１２へ通知することで、撮像装置１２の調整処理部８６がブロックの色の分布情報を記録していき、必要に応じて調整を行う。
【００５５】
図６はプレイマット１８の上面図を例示している。上述のようにプレイマット１８は、ユーザがブロックを置いたり移動させたりする領域を示すプレイフィールド１００と、撮影条件や画像の調整・補正条件を最適化するためのキャリブレーションチャート１０２を含む。プレイフィールド１００は好適には、ブロックと異なる色で塗りつぶされた領域とすることにより、画像上でブロックの像のみを高精度に抽出できる。ただし本実施の形態をこれに限る主旨ではなく、模様や絵などが描かれていてもよい。またその形状も図示するものに限定されない。
【００５６】
キャリブレーションチャート１０２は、同図においてプレイマット１８の下側に拡大して示すように、輝度の異なる複数の無彩色の領域で構成する。同図の場合、白領域１０４、黒領域１０６、第１グレー領域１０８、第２グレー領域１１０の４つの領域で構成されている。ただし各領域の配置やサイズはこれに限定されない。またグレー領域の数、すなわち中間輝度の段階数も特に限定されない。さらに後述するように、キャリブレーションチャート１０２に有彩色の領域を設けてもよい。
【００５７】
調整処理部８６は、キャリブレーションチャート１０２を撮影した画像のガンマ補正後のデータをガンマ補正部９０から取得すると、白領域１０４、黒領域１０６、第１グレー領域１０８（または第２グレー領域１１０）の像を抽出し、各領域について少なくとも以下の方針で露光時間およびゲイン値を調整する。
（１）輝度が所定の目標値となるようにする
（２）ＲＧＢのバランスを揃える（ホワイトバランス調整）
【００５８】
さらに調整処理部８６は、白領域１０４、黒領域１０６、第１グレー領域１０８、第２グレー領域１１０のうち少なくとも２つの領域の輝度を比較し、少なくとも以下の方針でゲイン値およびガンマ補正時の補正規則を調整する。
（３）輝度の差が適正に得られるようにする
【００５９】
図７はキャリブレーションチャート１０２の変形例を示している。この例のキャリブレーションチャートは、黒から白まで９段階の輝度の無彩色の領域で構成されるグレーステップ領域１１２と、所定の輝度を有し比較的面積の広いグレー領域１１４により構成される。キャリブレーションチャート１０２はこのように、精度よく調整するのに最適な面積と段階数を、想定されるブロックの色分布などに応じて決定する。調整の方針は上述と同様である。
【００６０】
図８、９は、図５のＳ１２において撮像装置１２が露光時間、ゲイン値、およびガンマ補正時の補正規則を調整する処理手順を示すフローチャートである。上述のとおり撮像部８０により取得された、キャリブレーションチャート１０２の像を含むＲＡＷ画像は、ゲイン処理部８４、デモザイク部８８、ガンマ補正部９０における処理を経て出力画像となる。ガンマ補正部９０は当該画像のデータを調整処理部８６に供給する。なお図示するフローチャートでは省略しているが、それらの処理は所定のレートで並列に実施され、その結果、生成された画像のデータは適切なタイミングで調整処理部８６における調整に用いられるものとする。また図示した調整のいずれかを省略したり順序を入れ替えたりしてもよい。
【００６１】
調整処理部８６はまず、ガンマ補正部９０から供給された初期の撮影画像のうち、第１グレー領域１０８を用いてホワイトバランスの初期調整を行う（Ｓ３０）。具体的には、第１グレー領域１０８の像のＲ値、Ｇ値、Ｂ値の平均値Ｒ＿ａｖｅ、Ｇ＿ａｖｅ、Ｂ＿ａｖｅをそれぞれ算出し、次のようにＲ値、Ｇ値、Ｂ値に対するゲイン値Ｇａｉｎ＿Ｒ、Ｇａｉｎ＿Ｇ、Ｇａｉｎ＿Ｂを決定する
Ｇａｉｎ＿Ｒ＝Ｇ＿ａｖｅ／Ｒ＿ａｖｅ
Ｇａｉｎ＿Ｇ＝１
Ｇａｉｎ＿Ｂ＝Ｇ＿ａｖｅ／Ｂ＿ａｖｅ
【００６２】
このゲイン値をゲイン処理部８４においてＲＡＷ画像のＲ値、Ｇ値、Ｂ値に乗算することにより、第１グレー領域１０８の各色成分の平均輝度が等しい無彩色の像が得られ、結果としてホワイトバランスが調整されたことになる。調整処理部８６は決定したゲイン値をゲイン処理部８４に設定したあと、調整後の撮影画像をガンマ補正部９０から取得し、そのうち第２グレー領域１１０の像の輝度が目標値となっているか確認する（Ｓ３２）。
【００６３】
グレー領域という中間的な輝度に対しあらかじめ目標値を設定し、その値が得られるように露光時間やゲイン値を調整することにより、ブロックがどのような色であっても、また撮影環境が変化しても、輝度や色成分が最大階調に達して飽和したり、階調の可変範囲が小さくなってしまったりするのを防止する。なお目標値は一つの値でもよいし、範囲を有していてもよい。調整においては、まず露光時間を調整し、露光時間で調整しきれない分をゲイン値で調整する。これは特に輝度を増加させる必要がある場合、ゲイン値の増加に伴いノイズも増幅されてしまうためである。
【００６４】
つまり第２グレー領域１１０の像の輝度が目標値となっていない場合（Ｓ３２のＮ）、可能であれば撮像部８０における露光時間を調整する（Ｓ３４のＹ、Ｓ３６）。すなわち輝度が目標値より大きければ露光時間を短縮し、目標値未満であれば露光時間を延長する。一方、露光時間が可変範囲の下限または上限に達し、それ以上の短縮または延長ができない場合（Ｓ３４のＮ）、ゲイン処理部８４に設定するゲイン値を調整する（Ｓ３８）。すなわち輝度が目標値より大きければゲイン値を下げ、目標値未満であればゲイン値を上げる。なお露光時間の可変範囲は画素の走査速度やフレームレートなどに鑑み適正な画像が得られる範囲である。
【００６５】
露光時間を調整する場合もゲイン値を調整する場合も、所定の変化量だけ調整した後に得られた撮影画像に基づき、第２グレー領域１１０の輝度が目標値となったか確認する（Ｓ３２）。目標値になっていなければ再び露光時間またはゲイン値を調整する（Ｓ３４、Ｓ３６またはＳ３８）。これを第２グレー領域の輝度が目標値になるまで繰り返し、目標値になったら（Ｓ３２のＹ）、その設定における撮影画像を取得し、そのうち白領域１０４の像の輝度が所定値以下となっているか確認する（Ｓ４０）。
【００６６】
すなわち白色が飽和しないかを実際の画像で確認することにより、Ｓ３２〜Ｓ３８における第２グレー領域に基づく調整が適正であるか否かを判定する。例えば輝度を２５６階調とした場合、白領域１０４の輝度が２５０以下となっているか確認する。所定値より輝度が大きい場合（Ｓ４０のＮ）、１より小さい係数を乗算するなどしてそれまでの処理で設定した輝度のゲイン値を減少させる（Ｓ４２）。この処理を白領域１０４の像の輝度が所定値以下となるまで繰り返し、所定値以下となったら（Ｓ４０のＹ）、図９に示すように領域間の輝度差に基づく調整を行う。
【００６７】
なおＳ４０、Ｓ４２で白領域１０４の像の輝度を所定値以下とするのと同様に、黒領域１０６の像の輝度を最低階調近傍の所定値以上とする調整を行ってもよい。これにより、その後の処理で暗い色のブロックが全て黒く写ってしまうような状況を防止する。ただしＳ３２からの調整処理を、低輝度から輝度を増加させていく方向、または高輝度から輝度を減少させていく方向、など一方向にのみ調整していく方針とした場合は、ゲイン値が大きすぎないかを白領域１０４の像で確認するか、ゲイン値が小さすぎないかを黒領域１０６の像で確認するか、のどちらか一方となる。
【００６８】
続いて調整処理部８６は、図９に示すように、それまでなされた設定における撮影画像を取得し、そのうち第１グレー領域１０８と第２グレー領域１１０の像の輝度の平均値を求め、その差が目標値に達しているかを確認する（Ｓ４４）。例えば第１グレー領域１０８と第２グレー領域１１０の輝度の差を最大階調の１０％としたい場合、２５６階調に対し２５階調の輝度の差が必要となる。
【００６９】
ここで１０％などと例示した値は、第１グレー領域１０８および第２グレー領域１１０の元の色の輝度差を反映させたものでもよいし、元の色にはそのような差がなくても画像上で得たい輝度差を設定してもよい。例えば輝度が近い色のブロックを同時に扱いたい場合は、後者のように、本来の色より像の輝度に差がつくようにすることで混同を防止できる。第１グレー領域１０８と第２グレー領域１１０の像の輝度差が目標値に達していない場合（Ｓ４４のＮ）、当該輝度差が目標値に達するようにガンマ補正部９０における補正規則を調整する（Ｓ４６）。
【００７０】
基本的には本来のガンマ曲線のうち対応する部分を変形させる。ただし実際にはグラフとしての線を変形させる代わりに、その部分に異なる補正式を挿入してもよい。あるいは入力輝度と出力輝度との対応を離散的に表したテーブルを複数、準備しておき、当該テーブルを切り替えて利用してもよい。または該当部分の端点を徐々に移動させ、それらと本来のガンマ曲線がつながるように直線または曲線で補間してもよい。第１グレー領域１０８と第２グレー領域１１０像の輝度差が目標値に達するまでＳ４４、Ｓ４６の処理を繰り返し、目標値に達したら（Ｓ４４のＹ）、調整処理部８６は、それまでなされた設定における撮影画像を取得し、そのうちキャリブレーションチャート１０２を構成する複数の領域のそれぞれについてホワイトバランスを調整する（Ｓ４８）。
【００７１】
この処理は基本的にＳ３０の処理と同様であり、上述の式を用いて各領域についてＲ値、Ｇ値、Ｂ値に対するゲイン値Ｇａｉｎ＿Ｒ、Ｇａｉｎ＿Ｇ、Ｇａｉｎ＿Ｂを求める。つまり各領域の像が表す輝度に対しゲイン値のセットが求められるため、色成分ごとに平均化して最終的なゲイン値を設定する。以上の調整処理により、外的要因の変化に対し頑健性を有するブロック認識が可能になる。
【００７２】
図１０は、図８のＳ３０や図９のＳ４８においてなされるホワイトバランス調整について説明するための図である。同図上側は調整前、下側は調整後の、同じグレー領域の像のカラーヒストグラムであり、横軸を画素値、縦軸を画素数で表している。調整前は、緑成分のヒストグラム１２０、青成分のヒストグラム１２２、赤成分のヒストグラム１２４が互いに異なる分布を示している。そこで上記の式のように、Ｒ値の平均値およびＢ値の平均値に対するＧ値の平均値の割合をＲ値、Ｂ値のゲインとして各画素値に乗算することにより、調整後のヒストグラムのように、Ｇ値の分布とおよそ同等なＲ値、Ｂ値の分布が得られる。ただしホワイトバランスの調整手法をこれに限る主旨ではなく、実用化されている手法のいずれを採用してもよい。
【００７３】
図１１は、図９のＳ４８において、キャリブレーションチャートを構成する複数の領域についてホワイトバランスを調整したときの画素値の変化を示している。なおこの場合のキャリブレーションチャートは同図上段（キャリブレーションチャート１２６）に示すように、黒から白までの無彩色を６段階の輝度で表した６つの領域を横方向に並べた構成としている。中段および下段は、このようなキャリブレーションチャート１２６に対し、黒側から横方向に走査したときの各色成分の画素値の変化を、横軸を位置、縦軸を画素値で表しており、中段は調整前、下段は調整後である。
【００７４】
調整前は緑成分の画素値１２８、青成分の画素値１３０、赤成分の画素値１３２が全ての領域で異なる値を示している。そこで上述のように各領域についてホワイトバランスを調整しゲイン値を最適化することにより、調整後のグラフのように全ての領域について各色成分がおよそ同じ画素値を有するように補正できる。なお図９のＳ４４、Ｓ４６において目標値に達するように調整を行う輝度差は、同図の場合、例えば２つの領域間における画素値の差Ｄに対応する。
【００７５】
図１２は図８のＳ３２〜Ｓ３８において露光時間およびゲイン値を調整する処理について説明するための図である。この説明では、デモザイク部８８がＲＡＷ画像からＹＣｂＣｒ画像を生成し、そのうちＹ画像（輝度画像）を用いてグレー領域の像の輝度値を目標値にするための調整を行うとする。この場合、ＲＡＷ画像を補間してなるＲＧＢ画像の各画素の輝度Ｙは次の式により算出される。
Ｙ＝０．２９９Ｒ＋０．５８７Ｇ＋０．１１４Ｂ
【００７６】
図８のＳ３２において、調整前の第２グレー領域の像の輝度が図１２の左側上段の「Ｙ」のような値であるとする。ここで「Ｙ」の上に示される長方形は、輝度値がとり得る最大階調を上辺とし、当該最大階調に対する実際の輝度の平均値の割合を網掛けで示している。また同図では、このときのＲＧＢの各平均値の最大階調に対する割合も同様の形式で下段に示している。なお第２グレー領域の像は無彩色であるため、ホワイトバランスを調整した場合はＲＧＢの各平均値は略同一の値となる。また運用時はブロックの色によってＲＧＢ値が変化する。
【００７７】
このような輝度値が得られるときの露光時間やゲイン値をそのまま採用した場合、第２グレー領域より輝度値の大きい色のブロックについては、その像の輝度が飽和してしまう可能性が高くなる。また図示するようにＧ値など特定成分が他より大きい色の場合、当該特定成分が飽和しやすくなり、結果として実際の色と画像上の色が異なってしまうことが考えられる。そこで上述のように、第２グレー領域の輝度に適切な目標値を設け、そのような像が得られるように露光時間およびゲイン値を調整する。
【００７８】
目標値は厳密には調整対象のグレー領域の本来の輝度に応じて決定するが、定性的にはどの色であっても輝度およびＲＧＢ値が飽和しないようにする。例えば目標値を最大階調の６０％とした場合、Ｒ値やＢ値が０のときＧ値は上述の式から１００％より大きくなる。すなわち同程度の輝度でも緑系の色では飽和してしまう可能性が高い。目標値を５０％とするとＲ値やＢ値が０の場合、Ｇ値は８６％であるが、輝度がそれより大きい色で飽和してしまう可能性が高い。目標値を３０％とすると、Ｒ値やＢ値が０であってもＧ値が５７％となり余裕分が４３％生じる。
【００７９】
例えばＲＧＢの入力値をそれぞれ１０ビット１０２４階調とすると、第２グレー領域と同等の輝度でＧ値が１０２４×５７％＝５８３階調となるのが最大となる。またＲＧＢの画素値が全て等しい場合でも、ＲＧＢをそれぞれ１０２４×３０％＝３０７階調で表現できる。したがって図１２の右側上段に示すように目標値を３０％程度と設定し、露光時間およびゲイン値を調整する。このとき上述のように露光時間を優先して調整し、露光時間が可変限界に達しても目標値に達しない場合に各色成分のゲイン値を調整する。
【００８０】
なお同図に示すように輝度値を調整するということは、同じ割合でＲＧＢ画像を調整していることに他ならない。したがって場合によってはＲＧＢ値に目標値を設け、ＲＧＢ画像に基づき露光時間等を調整してもよい。この場合、先にホワイトバランスを調整することにより、ＲＧＢ画像に設定する目標値を３０％などと統一することができる。
【００８１】
図１３は図９のＳ４４〜Ｓ４６において、ガンマ補正部９０における補正規則を調整する処理について説明するための図である。一般的なカメラでは、撮像素子からの出力値を、ディスプレイでの良好なカラーバランスにするためガンマ補正がなされる。補正前の輝度値を入力輝度Ｙｉｎ、補正後の輝度値を出力輝度Ｙｏｕｔとすると、ガンマ補正は次の補正式によって実行される。
【００８２】
【数１】
0006345612.tif 000002
【００８３】
ここでγは想定するディスプレイの特性などに基づき決定される値である。図１３ではこの補正式を、横軸を入力輝度Ｙｉｎ、縦軸を出力輝度Ｙｏｕｔとして細線のガンマ曲線１４０で示している。ここで第１グレー領域１０８と第２グレー領域１１０の像の輝度の平均値がそれぞれＹ１、Ｙ２であったとする。これをガンマ曲線１４０で補正した場合、白丸１４２ａ、１４２ｂに示すように出力輝度Ｙｏｕｔの差Ｄが比較的小さくなってしまう場合がある。そこで上述のように、差Ｄを目標値と比較し、目標値に達していない場合は補正規則たるガンマ曲線を変形させて出力輝度Ｙｏｕｔの差を広げる。
【００８４】
図１３の例では、元のガンマ曲線１４０のうち入力輝度がＹ２からＹ１までの部分およびその近傍の部分を変形させた新たな補正曲線１４６（太線）を生成することにより、出力輝度Ｙｏｕｔの差をＤ’に広げている。実際には、入力輝度Ｙ１に対応する白丸１４２ａの出力値を黒丸１４４ａまで増加させ、入力輝度Ｙ２に対応する白丸１４２ｂの出力値を黒丸１４４ｂまで減少させる。増減の幅は固定値でもよいし入力輝度によって変化させてもよい。そして当該黒丸１４４ａ、１４４ｂを通過し元のガンマ曲線１４０に接続するように一般的な手法により補間することで補正曲線１４６を得る。なお補正曲線１４６は曲線に限らず、一部または全てが直線でもよい。
【００８５】
いずれにしろ出力輝度Ｙｏｕｔの差をＤからＤ’に広げることにより、少なくとも第１グレー領域１０８と第２グレー領域１１０の輝度を有するブロックの色の区別を高精度に認識することができる。色の区別を高精度に認識するということは、本来は同じ色のブロックの輝度が何らかの外的要因でばらついても同じ色とみなすことができる、ということを意味している。結果として、色に基づくブロック認識を高精度化できる。
【００８６】
このような観点において、第１グレー領域１０８と第２グレー領域１１０の輝度は、運用時に用いられるブロックの色の輝度分布に基づき決定することが望ましい。例えば輝度が近い２色のブロックを用いることを想定した場合、第１グレー領域１０８と第２グレー領域１１０の輝度をそれら２色の輝度に合わせたうえ、補正曲線の調整を図示するように行えば、それらの像の輝度の出力値の差を強調することができる。
【００８７】
３色以上で輝度が近い場合、第１グレー領域、第２グレー領域、第３グレー領域・・・と、ブロックの輝度に合わせてグレー領域の輝度のバリエーションを増やすことにより、それらの像の出力輝度の差を同様の手法で強調することができる。上述はグレー領域を利用して補正曲線を調整する手法であったが、実際のブロックの色分布を直接評価することにより補正曲線を調整してもよい。
【００８８】
図１４はブロックの色分布に基づき補正曲線を調整する手法を説明するための図である。上段は運用中にユーザがプレイフィールド１００上の空間に入れることで検出されたブロックの検出頻度を、ブロックの色の輝度別に表したヒストグラムである。つまりこの分布は運用時の状況に応じて更新される。上述のとおり、情報処理装置１０は新たにブロックを検出する都度、その色情報を撮像装置１２に通知する。撮像装置１２の調整処理部８６は当該情報を累積して記録していくことにより、図示するようなヒストグラムを作成、更新する。そして当該ヒストグラムに基づき必要に応じて補正曲線を調整する。
【００８９】
図示した例では、輝度ゾーンＡおよび輝度ゾーンＢに偏った色のブロックが用いられている。各輝度ゾーンに属する色は類似の輝度を有するため運用時に混同される可能性が高い。そこで図１３で示したのと同様にガンマ曲線を調整することにより、出力輝度に十分な差が出るようにする。具体的には、輝度ゾーンＡの最低輝度Ａｍｉｎと最高輝度Ａｍａｘをガンマ曲線で補正したときの出力輝度の差ＤＡ、輝度ゾーンＢの最低輝度Ｂｍｉｎと最高輝度Ｂｍａｘをガンマ曲線で補正したときの出力輝度の差ＤＢを確認し、目標値に達していない場合、差を広げるように曲線を変形させる。
【００９０】
図１４の場合、輝度ゾーンＡの出力輝度の差ＤＡは目標値に達しているが、輝度ゾーンＢの出力輝度の差ＤＢは目標値に達していないとして、それをＤＢ’に広げるように太線に示すような補正曲線を生成している。これにより、輝度ゾーンＢに属する色を混同する危険性を抑え、全てのブロックを高精度に認識できるようになる。なお輝度ゾーンＢには３つの輝度ステップにおいて１以上の頻度が得られているため、最低輝度Ｂｍｉｎと最高輝度Ｂｍａｘに中間輝度を加えた３点の間でそれぞれ差を広げるように調整してもよい。また頻度に応じて出力輝度の差に与える目標値を変化させてもよい。同図の例では輝度ゾーンＡと比較し輝度ゾーンＢの頻度が大きいため、目標値をより大きく設定してもよい。
【００９１】
ユーザがプレイフィールド１００上に実際に入れたブロックの像に基づき補正曲線を調整する代わりに、キャリブレーションチャート１０２のグレー領域の輝度を、用いると想定されるブロックの色の輝度に合わせても同様の調整が行える。すなわち事前に、図示するようなブロックの輝度分布を取得しておき、輝度ゾーンＡの最低輝度Ａｍｉｎと最高輝度Ａｍａｘ、および輝度ゾーンＢの最低輝度Ｂｍｉｎと最高輝度Ｂｍａｘを有する４つのグレー領域をキャリブレーションチャート１０２に準備する。
【００９２】
最低輝度や最高輝度のみならずその中間の輝度のグレー領域をさらに準備してもよい。そして図１３で示したように、グレー領域の像の輝度をガンマ補正したときの出力輝度の差Ｄが目標値に達していなければガンマ曲線を変形させる。この場合、複数の色のブロックと、その色分布に合わせて構成したキャリブレーションチャート１０２を備えたプレイマット１８とをセットで提供するような態様が考えられる。なお輝度の刻み幅が小さいグレー領域を多数設けておき、ブロックの色の輝度に対応するグレー領域を選択して調整に用いても同様の機能を実現できる。この場合、調整に用いるべきグレー領域を、過去に検出したブロックの色やセットで供給するブロックの色に基づき記録しておく。
【００９３】
キャリブレーションチャート１０２の一部をブロックの色に合わせた有彩色のカラーチャートで構成してもよい。この場合、図１４で輝度とした変数を、（Ｒ，Ｇ，Ｂ）や（Ｒ／Ｇ，Ｂ／Ｇ）などの３次元または２次元の変数とする。そして当該色空間においてブロックの色が所定の基準より密集している色領域を検出し、それらの色の補正後の標準偏差、または色空間における各色の距離が目標値に達していない場合はそれを広げるようにガンマ曲線を変形させる。
【００９４】
このカラーチャートを利用して、ゲイン処理部８４における各色成分のゲイン値を調整することにより、ガンマ補正前の色に差をつけるようにしてもよい。図１５はカラーチャートを利用してＲＧＢのゲイン値を調整する手法を説明するための図である。この処理は例えば図８のフローチャートにおいて、キャリブレーションチャート１０２のグレー領域の像の輝度に基づき露光時間やゲイン値を調整するＳ３２〜Ｓ４２の処理の後に行う。まずブロックの色として、類似する第１カラー、第２カラー、第３カラーがあるとする。同図左側が各色のカラーヒストグラムであり図１０と同様の形式で表している。
【００９５】
この例において、第２カラーと同じ色の領域（第２カラー領域と呼ぶ）をキャリブレーションチャート１０２に準備するとする。そして調整処理部８６は上記Ｓ３２〜Ｓ４２の処理後、撮影されたキャリブレーションチャート１０２の画像のうち第２カラー領域の像を抽出し、その像でホワイトバランスを調整する。すなわち当該第２カラーが無彩色となるように各色成分のゲイン値を決定する。ホワイトバランスの調整の仕方は図１０を参照して説明したのと同様である。これにより、同図における第２カラーの右側のカラーヒストグラムのように、各色成分の分布がおよそ同等となる。
【００９６】
決定したゲイン値で実際のブロックを撮影すると、第１カラーおよび第３カラーのヒストグラムはそれぞれの右側に示したようになる。この色情報は、第１カラー、第２カラー、第３カラーの本来の色とは異なるが、第１〜第３カラーの差が明確に表れる。例えば元の色では第１〜第３カラーは全てＧ値が強い緑系の色であったが、調整後は、第１カラーは青味が強く、第２カラーは無彩色に近く、第３カラーは赤みが強い色になる。
【００９７】
このように用いるブロックの少なくともいずれかの色のカラーチャートを準備し、その色でホワイトバランスを調整することにより、それに類似する色との区別が元の色より強調される。結果として撮影画像から取得する色情報に多少のばらつきがあっても、他の色との混同を避けることができる。図１４で示した輝度ゾーンのように、類似の色集合が複数ある場合は、色集合ごとに平均色などのカラーチャートを準備すればよい。
【００９８】
図１６は本実施の形態におけるプレイマットの変形例を示している。この例のプレイマット１５０はプレイフィールド１５２を略全面に設けた構成とし、キャリブレーションチャート１５４を別途準備する。そしてキャリブレーションチャート１５４を用いて撮影条件や画像の補正条件を調整する際は、プレイフィールド１５２の上にキャリブレーションチャート１５４を重ねて用いる。面ファスナー等で貼り付けられるようにしてもよい。一方、ブロックを用いた運用中はキャリブレーションチャート１５４を取り外すことによりプレイフィールド１５２を露出させる。
【００９９】
このような構成とすると、プレイフィールド１５２およびキャリブレーションチャート１５４の双方を、プレイマット１５０と同等の面積とすることができる。結果として、より多くの輝度や色の領域をキャリブレーションチャート１５４として準備できるとともに、ブロックをより広い場所で扱える。また撮像装置１２の視野を固定しても、キャリブレーションチャート１５４およびプレイフィールド１５２の双方を良好に撮影できる。このようにキャリブレーションチャート１５４を着脱可能とする代わりに、プレイマット１５０の裏面の略全面にキャリブレーションチャートを表示する構成としてもよい。この場合、必要に応じてユーザが裏返すことによって、上述と同様の効果が得られる。
【０１００】
以上、述べた本実施の形態によれば、色に基づくブロック認識を含む情報処理システムにおいて、ブロックを検出する対象空間を規定するプレイマットに複数の輝度や色の領域を含むキャリブレーションチャートを設ける。そして撮像装置における初期処理として、当該キャリブレーションチャートの撮影画像の像に基づき、露光時間、各色成分に与えるゲイン値、ガンマ補正時の補正規則、の少なくともいずれかを調整する。
【０１０１】
具体的には、どのような色についても輝度や色成分の値が飽和しない範囲で階調数を最大限に利用できるように、グレー領域の像の輝度に基づき露光時間および各色成分に与えるゲイン値を調整する。また無彩色の領域に基づきホワイトバランスを調整する。さらに輝度の異なる領域の出力輝度差が十分に表れるようにガンマ補正時の補正曲線を調整する。
【０１０２】
またキャリブレーションチャートにブロックと同一の色の領域を設け、そのホワイトバランスを調整することにより、当該色と類似の色との差を強調したカラー画像を生成する。キャリブレーションチャート以外に、実際にプレイフィールド上に入ったブロックの色分布や輝度分布に応じてガンマ補正時の補正曲線を調整し、出力画像における輝度や色の差を強調してもよい。これらのことにより、照明や他の物の存在の有無など撮影環境の変化の影響を排除した状態で撮影画像からブロックの色情報を取得できる。また類似の色を有するブロックの混同を避けられる。結果として、色に基づくブロックの認識精度を向上させることができる。
【０１０３】
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【０１０４】
１  情報処理システム、  ２０ａ  ブロック、  １０  情報処理装置、  １２  撮像装置、  １４  入力装置、  １６  表示装置、  １８  プレイマット、  ２２  ＣＰＵ、  ２４  ＧＰＵ、  ２６  メインメモリ、  ５２  入力情報取得部、  ５４  撮影画像取得部、  ６０  検出部、  ６２  認識部、  ６４  ブロックデータベース、  ７０  出力データ生成部、  ７２  画像データ記憶部、  ８０  撮像部、  ８４  ゲイン処理部、  ８６  調整処理部、  ８８  デモザイク部、  ９０  ガンマ補正部、  ９２  データ送出部、  １００  プレイフィールド、  １０２  キャリブレーションチャート、  １５０  プレイマット、  １５２  プレイフィールド、  １５４  キャリブレーションチャート。
【図１】
0006345612.tif 000003
【図２】
0006345612.tif 000004
【図３】
0006345612.tif 000005
【図４】
0006345612.tif 000006
【図５】
0006345612.tif 000007
【図６】
0006345612.tif 000008
【図７】
0006345612.tif 000009
【図８】
0006345612.tif 000010
【図９】
0006345612.tif 000011
【図１０】
0006345612.tif 000012
【図１１】
0006345612.tif 000013
【図１２】
0006345612.tif 000014
【図１３】
0006345612.tif 000015
【図１４】
0006345612.tif 000016
【図１５】
0006345612.tif 000017
【図１６】
0006345612.tif 000018