(57)【特許請求の範囲】
【請求項１】
プロジェクタから出力するための照明パターンが、２ｍ×２ｍの画素（ｍは正の整数）で構成されるとき、複数種類の照明パターンを４種類ずつｍ個のレイヤに分け、第ｎレイヤ（１≦ｎ≦ｍ）に分けられた４種類の照明パターンが、２次元座標（ｘ、ｙ）のｘ座標、ｙ座標を二進数で表現したときの、ｘ座標、ｙ座標のｎビット目が特定の値のパターンとなる画素からなるブロックを照明又は消灯するように、４ｍ個の照明パターンを生成する照明パターン生成部と、
フレーム番号毎に、前記プロジェクタから前記フレーム番号に対応する前記照明パターンを出力させ、前記出力された照明パターンをカメラにより撮影するように制御する同期制御部と、
前記フレーム番号毎に前記カメラにより撮影した観測画像の各々について、予め定められた閾値よりも大きい輝度値を有する画素をカメラ応答の画素として検出し、
観測画像の画素毎に、前記フレーム番号毎にカメラ応答の画素として検出されたか否かを示すビットからなるビット列を格納したコードテーブルを生成する照明パターン検出部と、
観測画像の画素毎に、前記コードテーブルにおける前記画素のビット列に基づいて、前記画素に対応する前記照明パターンの画素を特定し、前記照明パターンの画素及び前記カメラ応答の画素間の対応関係を表すライト・トランスポート行列を推定するＬＴ行列獲得部と、
を含み、
前記照明パターン生成部は、複数の色成分βの各々に対し、前記４ｍ個の前記色成分βの照明パターンを生成し、
前記照明パターン検出部は、前記複数の色成分βの各々に対し、前記フレーム番号毎に前記カメラにより撮影した観測画像の各々について、前記カメラの複数の色成分α毎に、前記カメラ応答の画素を検出し、
前記複数の色成分β及び前記複数の色成分αの組み合わせの各々について、前記コードテーブルを生成し、
前記ＬＴ行列獲得部は、前記複数の色成分β及び前記複数の色成分αの組み合わせの各々について、観測画像の画素毎に、前記組み合わせの前記コードテーブルにおける前記画素のビット列に基づいて、前記画素に対応する前記照明パターンの画素を特定し、前記ライト・トランスポート行列を推定する画像投影装置。
【請求項２】
前記照明パターン検出部は、観測画像の画素毎に、前記レイヤの各々において、前記レイヤの４種類の照明パターンのうちの何れか１つの照明パターンに対してカメラ応答の画素として検出されるように、最大輝度値となるカメラ応答の画素を検出するか、又は前記レイヤではカメラ応答の画素が検出されないと判断し、
観測画像の画素毎に、前記フレーム番号毎にカメラ応答の画素として検出されたか否かを示すビット、又はカメラ応答の画素が検出されないことを示すシンボルからなるビット列を格納した前記コードテーブルを生成する請求項１記載の画像投影装置。
【請求項３】
前記ＬＴ行列獲得部は、前記観測画像の画素に対応する前記照明パターンの画素を特定するとき、前記レイヤ毎に、前記画素のビット列から、前記レイヤの４種類の照明パターンに対応する４ビットを取り出し、第ｎレイヤについて取り出した４ビットに基づいて、ｘ座標、ｙ座標のｎビット目の値を決定することにより、前記観測画像の画素に対応する前記照明パターンの画素を特定する請求項１又は２記載の画像投影装置。
【請求項４】
照明パターン生成部、同期制御部、照明パターン検出部、及びＬＴ行列獲得部を含む画像投影装置における画像投影方法であって、
前記照明パターン生成部が、プロジェクタから出力するための照明パターンが、２ｍ×２ｍの画素（ｍは正の整数）で構成されるとき、複数種類の照明パターンを４種類ずつｍ個のレイヤに分け、第ｎレイヤ（１≦ｎ≦ｍ）に分けられた４種類の照明パターンが、２次元座標（ｘ、ｙ）のｘ座標、ｙ座標を二進数で表現したときの、ｘ座標、ｙ座標のｎビット目が特定の値のパターンとなる画素からなるブロックを照明又は消灯するように、４ｍ個の照明パターンを生成し、
前記同期制御部が、フレーム番号毎に、前記プロジェクタから前記フレーム番号に対応する前記照明パターンを出力させ、前記出力された照明パターンをカメラにより撮影するように制御し、
前記照明パターン検出部が、前記フレーム番号毎に前記カメラにより撮影した観測画像の各々について、予め定められた閾値よりも大きい輝度値を有する画素をカメラ応答の画素として検出し、
観測画像の画素毎に、前記フレーム番号毎にカメラ応答の画素として検出されたか否かを示すビットからなるビット列を格納したコードテーブルを生成し、
前記ＬＴ行列獲得部が、観測画像の画素毎に、前記コードテーブルにおける前記画素のビット列に基づいて、前記画素に対応する前記照明パターンの画素を特定し、前記照明パターンの画素及び前記カメラ応答の画素間の対応関係を表すライト・トランスポート行列を推定する
ことを含み、
前記照明パターン生成部が生成することでは、複数の色成分βの各々に対し、前記４ｍ個の前記色成分βの照明パターンを生成し、
前記照明パターン検出部が検出することでは、前記複数の色成分βの各々に対し、前記フレーム番号毎に前記カメラにより撮影した観測画像の各々について、前記カメラの複数の色成分α毎に、前記カメラ応答の画素を検出し、
前記複数の色成分β及び前記複数の色成分αの組み合わせの各々について、前記コードテーブルを生成し、
前記ＬＴ行列獲得部が推定することでは、前記複数の色成分β及び前記複数の色成分αの組み合わせの各々について、観測画像の画素毎に、前記組み合わせの前記コードテーブルにおける前記画素のビット列に基づいて、前記画素に対応する前記照明パターンの画素を特定し、前記ライト・トランスポート行列を推定する画像投影方法。
【請求項５】
前記照明パターン検出部が前記コードテーブルを生成することでは、観測画像の画素毎に、前記レイヤの各々において、前記レイヤの４種類の照明パターンのうちの何れか１つの照明パターンに対してカメラ応答の画素として検出されるように、最大輝度値となるカメラ応答の画素を検出するか、又は前記レイヤではカメラ応答の画素が検出されないと判断し、
観測画像の画素毎に、前記フレーム番号毎にカメラ応答の画素として検出されたか否かを示すビット、又はカメラ応答の画素が検出されないことを示すシンボルからなるビット列を格納した前記コードテーブルを生成する請求項４記載の画像投影方法。
【請求項６】
前記ＬＴ行列獲得部が前記観測画像の画素に対応する前記照明パターンの画素を特定することでは、前記レイヤ毎に、前記画素のビット列から、前記レイヤの４種類の照明パターンに対応する４ビットを取り出し、第ｎレイヤについて取り出した４ビットに基づいて、ｘ座標、ｙ座標のｎビット目の値を決定することにより、前記観測画像の画素に対応する前記照明パターンの画素を特定する請求項４又は５記載の画像投影方法。
【請求項７】
コンピュータを、請求項１〜請求項３のいずれか１項に記載の画像投影装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像投影装置、方法、及びプログラムに係り、特に、被写体または任意の３次元空間からの反射光に関するカメラとプロジェクタ間のライト・トランスポート行列を推定するための画像投影装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
プロジェクタは極めてフレキシブルな画像出力デバイスであり、投影仕様の範囲内であれば個人スペース、会議ホール、巨大パブリックビューイング、及びビルの壁面などに合わせて自由サイズの映像表示を提供する。プロジェクタを使って平面スクリーンではない任意の構造物（以下、被写体と称する）へ投影するとき、被写体の形状を事前に計測して、その形状に合わせて所定画像が空間歪みの無いように投影する技術は、プロジェクション・マッピング（projection mapping）として知られている。任意スケールの映像投影のメリットを活かしたプロジェクション・マッピングは、エンターテインメント志向のイベントやイルミネーションによる広告表示などに利用されている。
【０００３】
プロジェクション・マッピングでは、所定画像を正確に投影するために、目視確認と手動操作によって１画素単位での位置合わせを行う場合がある。これに対して、プロジェクタ投影の状態をカメラによって把握し、所定画像を指定された位置に投影するために、プロジェクタ・カメラシステムが利用されている。プロジェクタ・カメラシステムは、プロジェクタとカメラが連動して、カメラからのフィードバック画像に応じて、プロジェクタから投影出力する画像を処理する。通常、平面なスクリーンにプロジェクション・マッピングする場合には、キャリブレーション作業において平面射影変換（plane-homography）を求める。平面射影変換を使うとプロジェクタ画面上の点から幾何的対応点としてカメラ画面上の点を算出することができるため、その対応関係に基づいて所定画像をスクリーン面の決められた場所に投影することができる。もし、空間構造に凹凸があったり曲がった構造である場合には、その空間構造を事前に把握しなければならない。例えば、非特許文献１では、レーザ計測を利用して、被写体の空間構造または凹凸形状を得る。その形状に合わせて所定画像を幾何的に変形させて、あたかも平面スクリーンへの投影に見えるよう指定個所に所定画像を投影する。あるいは、構造光（structured light）と呼ばれる幾何パターンをプロジェクタから投影し、カメラで観測した歪み画像から空間構造の奥行きの凹凸形状を計測する方式も利用できる。このように、従来技術は、レーザ計測またはプロジェクタ・カメラシステムを利用して外界または被写体の空間構造を把握し、奥行きの凹凸形状に合わせて指定個所へ所定画像を投影する。
【０００４】
これに対して、外界の空間構造を計測せずに、ライト・トランスポートを利用したプロジェクション・マッピングが非特許文献２で公開されている。ライト・トランスポート（light transport）とは、全てのプロジェクタ画素と全てのカメラ画素間の幾何的・光学的対応関係を表現したデータであり、図１２に示すようにプロジェクタ画素の１点１点を順番に点灯させ、その画素からの照明光が光学的反射や屈折によって結び付くカメラ画素を検出することによって得られる。プロジェクタ画面の画素数がｐ×ｑ画素でカメラ画面の画素数がｕ×ｖ画素であるとき、各点光源のカメラ応答の画像Ｃjを列ベクトル化して並べた行列Ｔはｕｖ×ｐｑ画素の巨大、かつ、スパースな行列であり、ライト・トランスポート行列（light transport matrix）と呼ばれる。非特許文献２では、この行列の転置ＴTを利用して、プロジェクタからの視点から観測されるであろう仮想画像（dual photography）を人工的に生成する方法が公知である。ライト・トランスポートは全てのプロジェクタ画素と全てのカメラ画素間の対応付けることができるため、高精度なプロジェクション・マッピングを可能とする。なお、以降では、ライト・トランスポートをＬＴ、ライト・トランスポート行列をＬＴ行列と略する。
【０００５】
本発明に関連して、レーザ計測を伴うプロジェクション・マッピング技術は非特許文献１に公開されており、プロジェクタからの照明パターンを利用してＬＴを計測する技術は非特許文献２公開されている。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】J. Shimamura and K. Arakawa:“Location-Aware Projection with Robust 3-D Viewing Point Detection and Fast Image Deformation”, Proc. ACM International Conference on Multimedia,pp.296-299, 2004.
【非特許文献２】P. Sen, B. Chen, G. Garg, S.R. Marschner, M. Horowitz, M. Levoy, and H.P.A. Lensch: “Dual Photography”,ACM Transactions on Graphics, vol.23, no.3, pp.745-755, 2005.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ＬＴを利用したプロジェクション・マッピングは、レーザあるいは構造光による３次元計測に頼らずに、任意形状に対して所定画像を投影することができる。ただし、そのＬＴを計測するための作業に膨大な時間がかかるという問題がある。図１２に示したように、プロジェクタ画面がｐ×ｑ画素であるとき、各画素を点光源として使い、カメラ応答の画素を検出する作業を順番に繰り返すと、単純にｐ×ｑ枚の画像を観測する必要がある。例えば、1,000×1,000画素の画像を点光源として使うと、1,000,000枚の画像を処理してＬＴ行列を生成することになり、計算機コストが高くその処理に多くの時間がかかる。
【０００８】
本発明は、上記問題点を解決するために成されたものであり、プロジェクタ・カメラシステムの動作を活用したプロジェクション・マッピングにおいて、面倒な計測作業を回避し、できるだけ少ないカメラ観測画像から効率的にＬＴ行列を得ることができる画像投影装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明に係る画像投影装置は、プロジェクタから出力するための照明パターンが、２ｍ×２ｍの画素（ｍは正の整数）で構成されるとき、複数種類の照明パターンを４種類ずつｍ個のレイヤに分け、第ｎレイヤ（１≦ｎ≦ｍ）に分けられた４種類の照明パターンが、２次元座標（ｘ、ｙ）のｘ座標、ｙ座標を二進数で表現したときの、ｘ座標、ｙ座標のｎビット目が特定の値のパターンとなる画素からなるブロックを照明又は消灯するように、４ｍ個の照明パターンを生成する照明パターン生成部と、フレーム番号毎に、プロジェクタから前記フレーム番号に対応する前記照明パターンを出力させ、前記出力された照明パターンをカメラにより撮影するように制御する同期制御部と、前記フレーム番号毎に前記カメラにより撮影した観測画像の各々について、予め定められた閾値よりも大きい輝度値を有する画素をカメラ応答の画素として検出し、観測画像の画素毎に、前記フレーム番号毎にカメラ応答の画素として検出されたか否かを示すビットからなるビット列を格納したコードテーブルを生成する照明パターン検出部と、観測画像の画素毎に、前記コードテーブルにおける前記画素のビット列に基づいて、前記画素に対応する前記照明パターンの画素を特定し、前記照明パターンの画素及び前記カメラ応答の画素間の対応関係を表すライト・トランスポート行列を推定するＬＴ行列獲得部と、を含んで構成されている。
【００１０】
本発明に係る画像投影方法は、照明パターン生成部、同期制御部、照明パターン検出部、及びＬＴ行列獲得部を含む画像投影装置における画像投影方法であって、前記照明パターン生成部が、プロジェクタから出力するための照明パターンが、２ｍ×２ｍの画素（ｍは正の整数）で構成されるとき、複数種類の照明パターンを４種類ずつｍ個のレイヤに分け、第ｎレイヤ（１≦ｎ≦ｍ）に分けられた４種類の照明パターンが、２次元座標（ｘ、ｙ）のｘ座標、ｙ座標を二進数で表現したときの、ｘ座標、ｙ座標のｎビット目が特定の値のパターンとなる画素からなるブロックを照明又は消灯するように、４ｍ個の照明パターンを生成し、前記同期制御部が、フレーム番号毎に、プロジェクタから前記フレーム番号に対応する前記照明パターンを出力させ、前記出力された照明パターンをカメラにより撮影するように制御し、前記照明パターン検出部が、前記フレーム番号毎に前記カメラにより撮影した観測画像の各々について、予め定められた閾値よりも大きい輝度値を有する画素をカメラ応答の画素として検出し、観測画像の画素毎に、前記フレーム番号毎にカメラ応答の画素として検出されたか否かを示すビットからなるビット列を格納したコードテーブルを生成し、前記ＬＴ行列獲得部が、観測画像の画素毎に、前記コードテーブルにおける前記画素のビット列に基づいて、前記画素に対応する前記照明パターンの画素を特定し、前記照明パターンの画素及び前記カメラ応答の画素間の対応関係を表すライト・トランスポート行列を推定する。
【００１１】
本発明に係るプログラムは、コンピュータを、上記の画像投影装置の各部として機能させるためのプログラムである。
【発明の効果】
【００１２】
本発明の画像投影装置、方法、及びプログラムによれば、第ｎレイヤ（１≦ｎ≦ｍ）に分けられた４種類の照明パターンが、２次元座標（ｘ、ｙ）のｘ座標、ｙ座標を二進数で表現したときの、ｘ座標、ｙ座標のｎビット目が特定の値のパターンとなる画素からなるブロックを照明又は消灯するように、４ｍ個の照明パターンを生成し、フレーム番号毎に、プロジェクタから前記フレーム番号に対応する前記照明パターンを出力させ、予め定められた閾値よりも大きい輝度値を有する画素をカメラ応答の画素として検出し、観測画像の画素毎に、前記フレーム番号毎にカメラ応答の画素として検出されたか否かを示すビットからなるビット列を格納したコードテーブルを生成し、観測画像の画素毎に、前記コードテーブルにおける前記画素のビット列に基づいて、前記画素に対応する前記照明パターンの画素を特定することにより、プロジェクタ・カメラシステムの動作を活用したプロジェクション・マッピングにおいて、面倒な計測作業を回避し、できるだけ少ないカメラ観測画像から効率的にＬＴ行列を得ることができる、という効果が得られる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態に係る画像投影装置の構成を示すブロック図である。
【図２】本発明の第１の実施の形態に係る画像投影装置における同期制御部の処理ルーチンを示すフローチャートである。
【図３】本発明の第１の実施の形態に係る画像投影装置における照明パターン生成部の処理ルーチンを示すフローチャートである。
【図４】プロジェクタ画面の一例を示す図である。
【図５】本発明の第１の実施の形態に係る画像投影装置における照明パターン検出部の処理ルーチンを示すフローチャートである。
【図６】コードテーブルの一例を示す図である。
【図７】本発明の第１の実施の形態に係る画像投影装置におけるＬＴ行列獲得部の処理ルーチンを示すフローチャートである。
【図８】ＬＴ行列の一例を表す図である。
【図９】カラー混合を考慮したＬＴ行列の一例を表す図である。
【図１０】本発明の第３の実施の形態に係る画像投影装置の構成を示すブロック図である。
【図１１】本発明の第４の実施の形態に係る画像投影装置の構成を示すブロック図である。
【図１２】プロジェクタ・カメラシステムと被写体間のライト・トランスポートを得る一例を示す概念図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００１５】
＜本発明の第１の実施の形態に係る画像投影装置の構成＞
まず、本発明の第１の実施の形態に係る画像投影装置の構成について説明する。図１に示すように、画像投影装置１００は、カメラ１０と、プロジェクタ１２と、演算部２０と、出力部９０と、を含んで構成されている。なお、第１の実施の形態においては、１台のプロジェクタと１台のカメラのプロジェクタ・カメラシステムを用いる。
【００１６】
カメラ１０は、プロジェクタ１２により投影された照明画像を観測し、ＲＧＢの観測画像を取得し、照明パターン検出部２６に出力する。なお、第１の実施の形態においては、プロジェクタ１２から出力する単色照明として、例えば、白色照明を用いる。
【００１７】
プロジェクタ１２は、単色照明を用いて、照明パターン生成部２４による出力指示に従って被写体を投影する。
【００１８】
演算部２０は、プロジェクタ１２とカメラ１０のハンドリングを制御するための同期制御部２２と、ＬＴを得るために符号化された照明パターンを生成する照明パターン生成部２４と、カメラから得た観測画像から照明パターンに応答した画素を検出して、照明パターンとの幾何的対応を処理する照明パターン検出部２６と、その幾何対応とカメラ応答からＬＴ行列を算出するＬＴ行列獲得部２８とを含んで構成されている。
【００１９】
この構成において、プロジェクタ１２、カメラ１０は必ずしも構成要素として接続している必要はなく、処理に必要なデータを取得すればよい。また、同期制御部２２、照明パターン生成部２４、照明パターン検出部２６、及びＬＴ行列獲得部２８からそれぞれの矢印へのデータの流れは、ハードディスク、ＲＡＩＤ装置、ＣＤ−ＲＯＭなどの記録媒体を利用する、または、ネットワークを介してリモートなデータ資源を利用する形態でもどちらでも構わない。
【００２０】
＜同期制御部＞
同期制御部２２は、フレーム番号毎に、プロジェクタ１２から照明パターンを出力させ、出力された照明パターンをカメラ１０により撮影するように制御する。図２は同期制御部２２のフロー図である。
【００２１】
同期制御部２２の処理が開始されると、ステップＳ１００において、照明パターン生成部２４との連携によりプロジェクタ１２からの照明を出力する準備をチェックした後、ステップＳ１０２で、プロジェクタ１２から照明パターンを投影するためのフレーム番号ｆを同期信号として送出する。フレーム番号は処理開始と同時にｆ＝０と初期化され、照明パターン生成部２４から照明パターンを投影するたびに１ずつカウントされる。
【００２２】
次に、ステップＳ１０４で、照明パターン検出部２６との連携によりカメラ１０により画像キャプチャの準備をチェックして、ステップＳ１０６において、カメラ１０により撮影するように制御してカメラ１０から画像を取得してその観測画像を照明パターン検出部２６へ転送する。
【００２３】
そして、ステップＳ１０８において、処理停止であるか否かを判定する。照明パターン生成部２４から全ての照明パターンを投影した時点で処理停止とし、その停止命令があるまで、フレーム番号をカウントしながら、上記ステップＳ１００へ戻り、上記の処理を続ける。
【００２４】
＜照明パターン生成部＞
照明パターン生成部２４は、以下に説明するように、プロジェクタ１２から投影するプロジェクタ画面における照明パターンを生成する。
【００２５】
まず、照明パターン生成部２４を説明する前に、照明パターンを生成する規則を説明する。例として、プロジェクタ画面が２m×２m画素（mは正の整数）で構成されるときの照明パターンを説明する。複数種類の照明パターンはｍ個のレイヤに分けられており、第ｎレイヤ（１≦ｎ≦ｍ）では、２m-n×２m-n画素をブロックとした照明パターンが使われる。第１レイヤの照明パターンから第ｎレイヤまで切り替え、同一レイヤでは、４種類のブロックの照明、すなわち、ブロックＡ、ブロックＢ、ブロックＣ、ブロックＤを順番に点灯する。プロジェクタ画面の上隅をプロジェクタ座標の原点(０，０)とすると、任意のプロジェクタ画素ｐiの２次元座標(ｘi，ｙi)、０≦ｘi＜２m、０≦ｙi＜２mは、二進数により、
【００２６】
【数１】
0006464058.tif 000002
【００２７】
と表現することができる。第ｎレイヤにおける照明パターンは４種類のブロックの画素が照明となり、ブロック単位で順番に点灯・消灯する。式(1)において、ブロックＡの照明パターンは、
【００２８】
【数２】
0006464058.tif 000003
【００２９】
を満たす全てのプロジェクタ画素が割り当てられ、ブロックＢの照明パターンは、
【００３０】
【数３】
0006464058.tif 000004
【００３１】
を満たす全てのプロジェクタ画素が割り当てられ、ブロックＣの照明パターンは、
【００３２】
【数４】
0006464058.tif 000005
【００３３】
を満たす全てのプロジェクタ画素が割り当てられ、ブロックＤの照明パターンは、
【００３４】
【数５】
0006464058.tif 000006
【００３５】
を満たす全てのプロジェクタ画素が割り当てられる。
【００３６】
プロジェクタ画面が２m×２m画素のとき、レイヤ数ｍのブロックＡ、ブロックＢ、ブロックＣ、ブロックＤを照明あるいは消灯すると、４ｍ種類の照明パターンを生成することになる。各レイヤにおいて、各プロジェクタ画素を照明ONのときを１、照明OFFのときを０と与えると、全てのプロジェクタ画素の照明ON/OFFの状態は時系列の０／１バイナリ信号に置き換えることができる。上記で述べたように、４ｍ種類の照明パターンに従って各プロジェクタ画素がON/OFFされるため、プロジェクタ画素ｐiの時系列コードを４ｍ次元のベクトルとして、
【００３７】
【数６】
0006464058.tif 000007
0006464058.tif 000008
【００３８】
と与えることができる。４ｍ次元ベクトルｑiにおいて、４つのコード(ｃn1，ｃn2，ｃn3，ｃn4)は第ｎレイヤにおける照明ON/OFFの状態を表す。プロジェクタ画素ｐiとプロジェクタ画素ｐjの４ｍ次元ベクトルをそれぞれとｑi、ｑjするとき、その内積は、
【００３９】
【数７】
0006464058.tif 000009
【００４０】
となることが明らかである。式(11)、(12)により、全てのプロジェクタ画素はユニークな時系列コードが割り当てられる。
【００４１】
照明パターン生成部２４の照明パターンはブロックＡ、ブロックＢ、ブロックＣ、ブロックＤの順番に制限されるものではなく、その順番を任意に入れ替えて使うこともできる。例えば、各レイヤにおいてブロックＣ、ブロックＡ、ブロックＤ、ブロックＢの順番に照明パターンを生成するときは、第ｎレイヤの４つのコードを(ｃn3，ｃn1，ｃn4，ｃn2)に従って配置することにより、４ｍ次元ベクトルｑiを
【００４２】
【数８】
0006464058.tif 000010
【００４３】
を得る。各画素は各ビットに応じて照明をON/OFFにすることで照明パターン生成部２４の照明パターンに使うことができる。なお、以下の処理では、４ｍ次元ベクトルをコードベクトルと呼ぶことにする。
【００４４】
上記の照明パターン生成の規則を前提として、照明パターン生成部２４を説明する。図３は照明パターン生成部２４のフロー図である。本処理フローが開始されると、まず、ステップＳ１１０において、対象とするプロジェクタ画素について上記式(6)〜(10)に従ってコードベクトルを生成する。次に、ステップＳ１１２で、プロジェクタ１２から出力する照明画像の画素値を全て(Ｒ，Ｇ，Ｂ)＝ (０，０，０)に初期化する。
【００４５】
そして、ステップＳ１１４で、同期制御部２２から初期化されたフレーム番号を受信すると、後述するステップＳ１１６〜Ｓ１２４で、照明パターンの画像を生成する。フレーム番号は照明する画像の管理番号となり、時系列番号を示すように初期値ｆ＝０から付与され、カメラ１０で画像を観測するたびに同期制御部２２においてｆ←ｆ＋１にカウントされる。同期制御部２２からフレーム番号ｆを受信すると、ステップＳ１１６で、対象のプロジェクタ画素のコードベクトルを取り出し、ステップＳ１１８で、取り出したコードベクトルのｆ＋１ビット目（照明ビット）を取り出し、ステップＳ１２０で、ビットの値が１であると判定されると、ステップＳ１２２において、照明パターンにおける対象のプロジェクタ画素の画素値を(Ｒ，Ｇ，Ｂ)＝(２５５，２５５，２５５)にセットする。
【００４６】
ステップＳ１２４では、上記のステップＳ１１６〜Ｓ１２２の処理を全てのプロジェクタ画素について終了したか否かを判定し、上記のステップＳ１１６〜Ｓ１２２の処理を行っていないプロジェクタ画素が存在する場合には、上記ステップＳ１１６へ戻り、当該プロジェクタ画素について上記のステップＳ１１６〜Ｓ１２２の処理を行う。
【００４７】
上記のステップＳ１１６〜Ｓ１２２の処理を全てのプロジェクタ画素について行うと、第ｆフレームでの照明パターンの画像を得る。ステップＳ１２６では、その照明パターンの画像をプロジェクタ１２から出力し、その照明パターンが被写体に投影される。
【００４８】
ステップＳ１２８では、処理を停止するか否かが判定され、処理を停止しない場合には、上記ステップＳ１１２へ戻り、以上の処理をフレーム番号ｆが４ｍ−１になるまで繰り返し、被写体に照明パターンを投影する。
【００４９】
上記の処理により、第ｎレイヤ（１≦ｎ≦ｍ）に分けられた４種類の照明パターンが、２次元座標（ｘ、ｙ）のｘ座標、ｙ座標を二進数で表現したときの、ｘ座標、ｙ座標のｎビット目が特定の値のパターンとなる画素からなるブロックＡ，ブロックＢ、ブロックＣ、ブロックＤを照明又は消灯するように、４ｍ個の照明パターンを生成する。
【００５０】
なお、プロジェクタ画面が２m×２m画素（mは正の整数）で表現できない場合、以下のようにすればよい。図４は、プロジェクタ画面の対象画素が８００×６００画素の場合の図である。このとき、８００×６００画素を包含するできるだけ大きい２m×２m画素において、上記の処理を行う。この例では、１０２４×１０２４画素が包含する最大画素サイズなので、８００×６００画素を超える画素領域では無効画素であるため値０を常時セットしておき、２10×２10画素として上記の照明パターンを生成する。これにより、任意サイズのプロジェクタ画面に対応して照明パターンを生成する。
【００５１】
＜照明パターン検出部＞
照明パターン検出部２６は、カメラ１０において観測した、プロジェクタ１２から投影された照明パターンに対する観測画像の各々について、赤色、青色、及び緑色（以下、ＲＧＢと称する）の色成分α毎に、予め定めた閾値よりも大きい輝度値を有する画素をカメラ応答の画素Ｃ’αｉとして検出する。
【００５２】
具体的には、図５に、照明パターン検出部２６の処理フローを示す。このフローに従って処理内容を説明する。まず、ステップＳ１３０で、カメラ応答に対する所定の閾値を設定し、ステップＳ１４２では、メモリ（図示省略）に記憶されている背景画像を読み込む。
【００５３】
そして、ステップＳ１４４では、同期制御部２２からフレーム番号ｆを受信したか否かを判定する。フレーム番号ｆを受信した場合には、ステップＳ１３６へ移行し、画像を取得できる状態かのチェックを行い、ステップＳ１３８で、撮影可能状態であると判定されれば、ステップＳ１４０で、カメラ１０から観測画像を取得する。
【００５４】
次に、ステップＳ１４２において、上記ステップＳ１３２で得られた背景画像との背景差分を処理する。ここで、背景画像とは、照明パターンが照明されていない状態、あるいは黒を投影したときの観測画像である。蛍光灯などの環境光の下では画像雑音が多く混入するため、所定の閾値として例えば10階調に設定しておき、ステップＳ１４４で、背景差分の処理画像においてこの値より大きい画素をカメラの応答画素として検出する。
【００５５】
照明パターン生成部２４では、各レイヤにおいて４つのブロックの画素を順番に照明として使っているため、応答画素はその照明に対応して検出される。ただし、ブロックＡとブロックＢの境界付近に位置する画素では、ブロックＡとブロックＢからの双方の照明パターンに対して応答画素が検出される場合や、４つのブロック境界付近に位置する画素では、複数の照明パターンに対して応答画素が検出される場合がある。そこで、照明パターン検出部２６では、各レイヤにおいて、各カメラ画素と１つの照明パターンを対応付ける。同じレイヤにおいて４種類の照明パターン（ブロックＡ，ブロックＢ、ブロックＣ、ブロックＤに割り当てられたパターン）が投影されるため、ステップＳ１４６において、各カメラ画素について、同じレイヤの何れか１つの照明パターンに対して応答画素が検出されるように、各ブロックからの照明に対して最大の輝度値となる応答画素を検出する。
【００５６】
そして、ステップＳ１４８において、図６に示すコードテーブルを用意して、第１レイヤから第ｍレイヤについて、４種類の照明パターンに対し、最大輝度値の応答に対応する場合は１を、そうでない場合は０を書き込む。もし、４種類の照明パターンの何れに対しも、設定閾値を越えず何の応答も検出されない場合、プロジェクタ画素とのＬＴが存在しないとして、他のシンボル（例えば＊記号）を書き込む。コードテーブルには、左端のコラムに対象となる全てのカメラ画素が書き込まれており、その画素に対して第１レイヤから第ｍレイヤにおいて検出したビット列が並ぶ。
【００５７】
ステップＳ１５０では、処理を停止するか否かが判定され、処理を停止しない場合には、上記ステップＳ１３４へ戻り、以上の処理をフレーム番号ｆが４ｍ−１になり、処理停止の命令が出るまで繰り返し、全ての照明パターンから０と１のビット列をコードテーブルに書き込む。
【００５８】
プロジェクタ画面が２m×２m画素を使うときビット長は４ｍビットになる。コードテーブルでは、フレーム番号ｆ＝０からｆ＝４ｍ−１までの照明パターンに対して、各カメラ画素が各レイヤのどのブロックからの照明に応答したのかが記録される。時系列の照明パターンの画素ON/OFFの状態を示すバイナリパターンは全てのプロジェクタ画素にユニークに割り当てられているため、プロジェクタ画面のどの画素からの照明光に応答したかを特定する仕掛けとなっている。
【００５９】
＜ＬＴ行列獲得部＞
ＬＴ行列獲得部２８は、照明パターン検出部２６により生成されたコードテーブルと、ＲＧＢの色成分α毎に観測されたカメラ応答画像とに基づいて、ＲＧＢの色成分α毎に、照明パターンの画素及びカメラ応答の画素間の対応関係を表すＬＴ行列を獲得する。
【００６０】
図７はＬＴ行列獲得部２８の処理フローである。プロジェクタ画面での対象画素数がＭ×Ｍ画素（本実施の形態ではＭ＝２ｍ）、カメラ画面での対象画素がＮ×Ｎ画素であるとき、図８に示すようにＬＴ行列の行方向のサイズはＮ2、列方向のサイズはＭ2と与えられる。一般的にＬＴ行列は疎行列となり、疎行列の場合は大半の要素が０となることが知られている。行方向は２次元のプロジェクタ座標を一列に並べた１次元座標を表し、列方向は２次元のカメラ座標を一列に並べた１次元座標を表す。本実施の形態では、白色照明のパターンからＬＴ行列を獲得するため、いわゆるプロジェクタ・カメラシステム間のカラー混合（color mixture）を考慮しない。この場合、ＬＴ行列の行列要素はプロジェクタ画素と結び付くカメラ画素のＲＧＢ応答値になる。
【００６１】
ＬＴ行列獲得部２８は、処理を開始すると，ステップＳ１６０では、市販ソフトを使って疎行列のためのメモリ領域を確保して初期化する。図８では、Ｒの応答値を記録するためのＬＴ行列Ｔrr、Ｇの応答値を記録するためのＬＴ行列Ｔgg、Ｂの応答値を記録するためのＬＴ行列Ｔbbを確保する。
【００６２】
そして、ステップＳ１６２において、カメラ応答画像を観測する。例えば、全てのプロジェクタ画素のＲＧＢ値を(Ｒ，Ｇ，Ｂ)＝(２５５，２５５，２５５)に与えて、それをプロジェクタ１２から照明してカメラ１０で観測する。上記の照明パターンとは異なり、ＬＴ行列の要素としてＲＧＢ応答値を得るための照明である。観測画像をカメラ応答画像として確保する。
【００６３】
そして、ステップＳ１６４において、上記図６のコードテーブルを取り出し、ステップＳ１６６において、コードテーブルの左端コラムのカメラ座標を(Ｘ1，Ｙ1)から(Ｘu，Ｙv)の順に逐次読み出す。説明の都合上、座標(Ｘi，Ｙj)が読み出されたときの処理フローを説明する。コードテーブルの横方向には、各カメラ座標の画素が照明パターンに応答した０／１バイナリのビット列が記録されている。図６の例において、カメラ座標(Ｘi，Ｙj)に対して第１レイヤから第ｍレイヤまでのビット列は"0010 0010       0100"である。ステップＳ１６８では、ビット列から、４ビットずつ取り出してビット列の照合を行う。カメラ画素によって、あるレイヤに関して０／１バイナリではなく他のシンボル（例えば＊記号）が書き込まれている場合（無応答ビット）がある。その場合はプロジェクタ画素を決定することができないため、ステップＳ１７０において、照合ＮＧであると判定してステップＳ１７８へ移行し、処理対象から外す。
【００６４】
ステップＳ１７２では、上記ステップＳ１６８の照合結果に基づいて、座標(Ｘi，Ｙj)に対応するプロジェクタ座標を決定する。例えば、図６では，レイヤ１の欄から"0010"であるので、レイヤ１について"ブロックC"のプロジェクタ座標であることが容易に分かる。すなわち、式(6)で与えられる４ｍ次元のコードベクトルにおいて、式(7)〜(10)ではｃ11＝ｃ12＝ｃ14＝０、ｃ13＝１となるので、係数ａ1＝１、ｂ1＝１を得る。次に、第２レイヤの欄は"0010"となっているので、係数ａ2＝１、ｂ2＝１を得る。
【００６５】
この処理を第ｍレイヤまで続けて、全ての係数ａn，ｂn（１≦ｎ≦ｍ）を決定する。これらの係数を式(1)に代入して、カメラ座標(Ｘi，Ｙj)と幾何的対応で結びつくプロジェクタ座標を決定する。図６の座標(Ｘi，Ｙj)が、この処理を経てプロジェクタ座標(Ｘs，Ｙt)に決定されたとする。一方、ステップＳ１７４において、上記ステップＳ１６２で得られたカメラ応答画像のカメラ座標(Ｘi，Ｙj)の画素からＲＧＢの応答値(Ｃr，Ｃg，Ｃb)を抽出する。ステップＳ１７６において、図８に示すように、ＬＴ行列Ｔrrにおいてカメラ座標(Ｘi，Ｙj)とプロジェクタ座標(Ｘs，Ｙt)が示す行列要素に、上記ステップＳ１７４で抽出したＲの応答値Ｃrを書き込み、ＬＴ行列Ｔggにおいてカメラ座標(Ｘi，Ｙj)とプロジェクタ座標(Ｘs，Ｙt)が示す行列要素に、上記ステップＳ１７４で抽出したＧの応答値Ｃgを書き込み、ＬＴ行列Ｔbbにおいてカメラ座標(Ｘi，Ｙj)とプロジェクタ座標(Ｘs，Ｙt)が示す行列要素に、上記ステップＳ１７４で抽出したＢの応答値Ｃbを書き込む。
【００６６】
ステップＳ１７８では、処理を停止するか否かが判定され、処理を停止しない場合には、上記ステップＳ１６６へ戻り、以上の処理を全てのカメラ座標に対して繰り返し行い、ＬＴ行列を獲得して本処理を終了する。
【００６７】
上記実施の形態により、図１２に示した状況において、未校正なプロジェクタ・カメラシステムを使って、未知の任意形状の表面にプロジェクタからの照明を投影したとき、プロジェクタ画面の各座標から照明した光線とカメラ画面の各座標の応答を結び付けるＬＴを効率的に獲得できる。本処理によれば、２５６×２５６＝２8×２8画素のプロジェクタ画面を使うとき、ＬＴ行列を得るために各画素を点光源としてカメラ応答を記録する場合は６５５３６枚の観測画像を必要とした。これに対して、本実施の形態では僅か４×８＝３２枚の観測画像からＬＴ行列を獲得することができる。
【００６８】
また、ＬＴ行列はプロジェクタ画素と結び付くカメラ画素のＲＧＢ応答値を保有するため、リライティング（relighting）に応用することができる。リライティングとは、実際のプロジェクタとカメラの装置を使わずに、与えられた照明の下で被写体の形状に応じて観測画像を模擬的に生成する技法である。プロジェクション・マッピングのセットアップでは、臨場感の高い映像演出のために実空間における被写体の照明状態を事前に把握するときに役立てることができる。
【００６９】
例として、ある照明画像に対するリライティング画像を生成する処理を説明する。まず、その照明画像の２次元画素の配置を１列に並べ替えてベクトル化する。Ｒの照明画像のベクトルをＰr、Ｇの照明画像のベクトルをＰg、Ｂの照明画像のベクトルをＰbとする。次に、行列演算：Ｃr＝ＴrrＰr、Ｃg＝ＴggＰg、Ｃb＝ＴbbＰbにより、Ｒ応答に該当するベクトルＣr、Ｇ応答に該当するベクトルＣg、Ｂ応答に該当するベクトルＣbをそれぞれ得る。照明画像をベクトルしたときの逆の処理で各ベクトルから２次元行列へ再配置すると、与えた照明に対するリライティング画像を得ることができる。
【００７０】
以上説明したように、本発明の第１の実施の形態に係る画像投影装置によれば、第ｎレイヤ（１≦ｎ≦ｍ）に分けられた４種類の照明パターンが、２次元座標（ｘ、ｙ）のｘ座標、ｙ座標を二進数で表現したときの、ｘ座標、ｙ座標のｎビット目が特定の値のパターンとなる画素からなるブロックを照明又は消灯するように、４ｍ個の照明パターンを生成し、フレーム番号毎に、プロジェクタから当該フレーム番号に対応する照明パターンを出力させ、閾値よりも大きい輝度値を有する画素をカメラ応答の画素として検出し、観測画像の画素毎に、フレーム番号毎にカメラ応答の画素として検出されたか否かを示すビットからなるビット列を格納したコードテーブルを生成し、観測画像の画素毎に、コードテーブルにおける当該画素のビット列に基づいて、当該画素に対応するプロジェクタ画素を特定することにより、プロジェクタ・カメラシステムの動作を活用したプロジェクション・マッピングにおいて、面倒な計測作業を回避し、できるだけ少ないカメラ観測画像から効率的にＬＴ行列を得ることができる。
【００７１】
また、プロジェクタ・カメラシステムを使って、少ないカメラ応答画像から効率的に凹凸や曲がった形状の空間構造のＬＴを獲得することができ、そのＬＴ行列を使えばスクリーン平面上にあたかも投影されたかのように、その空間構造に画像を投影することができる。さらに、その画像提示を使った拡張現実や映像コミュニケーションを実現することが可能となる。
【００７２】
＜第２の実施の形態に係る画像投影装置の概要＞
次に、第２の実施の形態に係る画像投影装置の概要について説明する。
【００７３】
赤、緑、青のスペクトルは、可視光の波長帯において分布しているため、プロジェクタの照明光とカメラの受光センサにおいて、プロジェクタとカメラ間のカラー混合（color mixing あるいはcolor crosstalk）が発生する。本実施の形態では、上記図１の処理構成において、カラー照明を使って被写体を投影し、カラー混合を考慮したＬＴ行列を獲得する。本実施の形態では、βチャネルからの照明をプロジェクタから投影し、αチャネルのカメラ応答を観測して、ＬＴ行列Ｔαβを獲得する例である。ここで、βはプロジェクタのＲＧＢのいずれかの色を指し、αはカメラのＲＧＢのいずれかの色を指す。その組み合わせにより、本実施の形態では９種類のＬＴ行列：Ｔαβ、α，β∈｛ｒ、ｇ、ｂ｝を獲得する。
【００７４】
本実施の形態では、上記の第１の実施形態に対して、プロジェクタがカラーの照明パターンを使う処理、その照明パターンに関するカメラ応答を観測する処理、並びに、９種類のＬＴ行列を獲得する処理が異なる。これらの点に関する以外の処理内容は第１の実施の形態と同様に説明できるため、以下では、照明パターン生成と照明パターン検出に関する処理内容、並びに、カラー混合を考慮したＬＴ行列獲得に関する処理内容を説明する。
【００７５】
＜本発明の第２の実施の形態に係る画像投影装置の構成＞
次に、本発明の第２の実施の形態に係る画像投影装置の構成について説明する。なお、第２の実施の形態に係る画像投影装置は、第１の実施の形態と同様の構成となるため、同一符号を付して説明を省略する。
【００７６】
第２の実施の形態に係る画像投影装置の照明パターン生成部２４では、赤照明、緑照明、青照明の順番で、それぞれ４ｍ個の照明パターンを設定する。同期制御部２２からフレーム番号を受信すると、その番号がｆ≦４ｍ−１のとき、赤の照明パターンを設定する。赤の照明パターンは、上記第１の実施の形態において説明した照明パターン生成の規則に従い、照明ＯＮの画素を全て(Ｒ，Ｇ，Ｂ)＝(２５５，０，０)とした画像であり、この照明パターンがプロジェクタ１２から出力される。同期制御部２２からのフレーム番号を受信するたびに、照明パターン生成の規則に従って赤の照明パターンを設定し、４ｍ個の照明パターンの全てを投影し終わるまで繰り返す。
【００７７】
引き続いて、同期信号のフレーム番号を０にリセットし、同期制御部２２からフレーム番号を受信すると、その番号がｆ≦４ｍ−１のとき、緑の照明パターンを設定する。緑の照明パターンは、上記第１の実施の形態において説明した照明パターン生成の規則に従い、照明ＯＮの画素を全て(Ｒ，Ｂ，Ｇ)＝(０，２５５，０)とした画像であり、この照明パターンがプロジェクタ１２から出力される。同期制御部２２からのフレーム番号を受信するたびに、照明パターン生成の規則に従って緑の照明パターンを設定し、４ｍ個の照明パターンの全てを投影し終わるまで繰り返す。
【００７８】
再び、同期信号のフレーム番号を０にリセットし、同期制御部２２からフレーム番号を受信すると、その番号がｆ≦４ｍ−１のとき、青の照明パターンを設定する。青の照明パターンは、上記第１の実施の形態において説明した照明パターン生成の規則に従い、照明ＯＮの画素を全て(Ｒ，Ｇ，Ｂ)＝(０，０，２５５)とした画像であり、この照明パターンがプロジェクタ１２から出力される。同期制御部２２からのフレーム番号を受信するたびに、照明パターン生成の規則に従って青の照明パターンを設定し、４ｍ個の照明パターンの全てを投影し終わるまで繰り返す。
【００７９】
以上の処理によって、赤、緑、青照明を合わせて１２ｍ種類の照明パターンをフレーム番号に従って順番にプロジェクタ１２から投影する。
【００８０】
照明パターン検出部２６では、赤照明、緑照明、青照明の順番に応じて、そのカメラ応答画像を処理する。すなわち、同期制御部２２からフレーム番号ｆを受信すると、事前に保有しておいた背景画像と赤の照明パターンに応答した観測画像との背景差分を処理する。各レイヤの４種類の照明パターンを被写体に投影したとき、各カメラ画素において、Ｒ応答、Ｇ応答、Ｂ応答において最大輝度値となる応答画素を検出する。
【００８１】
上記図６のコードテーブルはＲ応答、Ｇ応答、Ｂ応答について用意され、赤の照明パターンの各レイヤにおいて、ブロックＡ、ブロックＢ、ブロックＣ、ブロックＤの４種類の照明パターンに対して最大輝度値となるビットに１を書き込む。ただし、当該レイヤにおいて、設定閾値を越えず何の応答も検出されない場合、プロジェクタ画素とのＬＴが存在しないとして、他のシンボル（例えば＊記号）を書き込む。コードテーブルには、左端のコラムに対象となる全てのカメラ画素が書き込まれており、その画素に対して第１レイヤから第ｍレイヤにおいて検出したビット列が並ぶ。
【００８２】
上記の処理を、緑の照明パターン、青の照明パターンについて繰り返し、カラー混合を考慮したＲ応答、Ｇ応答、Ｂ応答に関するコードテーブルを保有する。
【００８３】
ＬＴ行列獲得部２８では、カメラ応答画像の観測として、例えば、全てのプロジェクタ画素のＲＧＢ値を(Ｒ，Ｇ，Ｂ)＝(２５５，０，０)に与えて、それをプロジェクタ１２から照明してカメラ１０でＲ応答の画像を観測し、次に全てのプロジェクタ画素のＲＧＢ値を(Ｒ，Ｇ，Ｂ)＝(０，２５５，０)に与えて、それをプロジェクタ１２から照明してカメラ１０でＧ応答の画像を観測し、さらに全てのプロジェクタ画素のＲＧＢ値を(Ｒ，Ｇ，Ｂ)＝(０，０，２５５)に与えて、それをプロジェクタ１２から照明してカメラ１０でＢ応答の画像を観測する。これら３つの画像をカメラ応答画像として確保する。
【００８４】
プロジェクタ画面での対象画素数がＭ×Ｍ画素（本実施の形態ではＭ＝２m）、カメラ画面での対象画素がＮ×Ｎ画素であるとき、図９に示すように、Ｍ2×Ｎ2のＬＴ行列：Ｔαβ、α，β∈｛ｒ、ｇ、ｂ｝を用意する。第１の実施の形態と同様に、疎行列であることを考慮してＬＴ行列のデータメモリを確保する。
【００８５】
赤の照明パターンを使ったＬＴ行列の獲得について説明する。赤の照明パターンのＲ応答、Ｇ応答、Ｂ応答に関するコードテーブルから、第１の実施の形態と同様に各カメラ画素と対応づけられたプロジェクタ画素の座標を算出する。例えば、カメラ座標(Ｘi，Ｙj)について、プロジェクタ座標(Ｘs，Ｙt)が決定されたとする。その際、Ｒ応答のカメラ応答画像においてカメラ座標(Ｘi，Ｙj)の画素からＲＧＢの応答値(Ｃr，Ｃg，Ｃb)を抽出する。次に、図９に示すように、ＬＴ行列Ｔrrにおいてカメラ座標(Ｘi，Ｙj)とプロジェクタ座標(Ｘs，Ｙt)が示す行列要素にＲの応答値Ｃrを書き込み、ＬＴ行列Ｔgrにおいてカメラ座標(Ｘi，Ｙj)とプロジェクタ座標(Ｘs，Ｙt)が示す行列要素にＧの応答値Ｃgを書き込み、ＬＴ行列Ｔbrにおいてカメラ座標(Ｘi，Ｙj)とプロジェクタ座標(Ｘs，Ｙt)が示す行列要素にＢの応答値Ｃbを書き込む。この処理を全てのカメラ座標に対して行い、赤照明に関するＬＴ行列：Ｔrr，Ｔgr，Ｔbr を獲得する。
【００８６】
同様に、緑の照明パターンのＲ応答、Ｇ応答、Ｂ応答に関するコードテーブルとＧ応答のカメラ画像から緑照明に関するＬＴ行列：Ｔrg，Ｔgg，Ｔbgを獲得し、青の照明パターンのＲ応答、Ｇ応答、Ｂ応答に関するコードテーブルとＢ応答のカメラ画像から青照明に関するＬＴ行列：Ｔrb，Ｔgb，Ｔbbを獲得する．
【００８７】
なお、第２の実施の形態に係る画像投影装置の他の構成及び作用については、第１の実施の形態と同様であるため、説明を省略する。
【００８８】
以上説明したように、本発明の第２の実施の形態に係る画像投影装置によれば、プロジェクタ・カメラシステムの動作を活用したプロジェクション・マッピングにおいて、面倒な計測作業を回避し、できるだけ少ないカメラ観測画像から効率的にカラー混合を考慮したＬＴ行列を得ることができる。
【００８９】
＜第３の実施の形態に係る画像投影装置の概要＞
次に、第３の実施の形態に係る画像投影装置について説明する。
【００９０】
第３の実施の形態においては、１台のカメラと1 台のプロジェクタをハンドリングする部品が分離されて動作する。
【００９１】
＜本発明の第３の実施の形態に係る画像投影装置の構成＞
次に、本発明の第３の実施の形態に係る画像投影装置の構成について説明する。なお、第１の実施の形態と同様の構成となる部分については、同一符号を付して説明を省略する。
【００９２】
図１０に示すように、第３の実施の形態に係る画像投影装置３００の演算部３２０は、カメラ１０のハンドリングを制御するためのカメラ制御部３３０と、プロジェクタ１２のハンドリングを制御するためのプロジェクタ制御部３４０とを備えている。
【００９３】
カメラ制御部３３０は、同期制御部２２と、照明パターン検出部２６と、ＬＴ行列獲得部２８とを含んで構成されている。
【００９４】
プロジェクタ制御部３４０は、照明パターン生成部２４を含んで構成されている。
【００９５】
なお、白色照明を使ってＬＴ行列を獲得する場合には、同期制御部２２、照明パターン生成部２４、照明パターン検出部２６、及びＬＴ行列獲得部２８の各処理は、第１の実施の形態と同様の処理に従う。
【００９６】
また、赤、緑、青照明を使ってＬＴ行列を獲得する場合には、同期制御部２２、照明パターン生成部２４、照明パターン検出部２６、及びＬＴ行列獲得部２８の各処理は、第２の実施の形態と同様の処理に従う。
【００９７】
＜第４の実施の形態に係る画像投影装置の概要＞
次に、第４の実施の形態に係る画像投影装置について説明する。
【００９８】
第４の実施の形態においては、Ｎ台のプロジェクタと１台のカメラのマルチプロジェクタ・システムを用いている点が第１の実施の形態と異なる。なお、第１の実施の形態に係る画像投影装置１００と同様の構成については、同一の符号を付して説明を省略する。また、プロジェクタが切り替えられた場合、当該切り替え先のプロジェクタについて、白色照明を使ってLT行列を獲得する例では、第１の実施の形態と同様の処理を行い、赤、緑、青照明を使ってＬＴ行列を獲得する例では、第２の実施の形態と同様の処理を行う。
【００９９】
＜本発明の第４の実施の形態に係る画像投影装置の構成＞
次に、本発明の第４の実施の形態に係る画像投影装置の構成について説明する。図１１に示すように、本発明の第４の実施の形態に係る画像投影装置４００は、カメラ１０と、Ｎ台のプロジェクタ１２−１〜プロジェクタ１２−Ｎと、演算部２０と、出力部９０と、を含んで構成されている。
【０１００】
カメラ１０は、切替部４４２において切り替えられたプロジェクタ１２−１〜プロジェクタ１２−Ｎのうちの何れか１つのプロジェクタにより投影された照明画像を観測し、照明パターン検出部２６に出力する。
【０１０１】
切替部４４２は、照明パターン生成部２４と接続するプロジェクタをプロジェクタ１２−１〜プロジェクタ１２−Ｎのうちの１つに切り替える。なお、第４の実施の形態においては、切替部４４２は、スイッチや分岐装置などを利用する。
【０１０２】
本実施の形態の構成において、プロジェクタ１２−１〜１２−Ｎ、カメラ１０は必ずしも構成要素として接続している必要はなく、処理に必要なデータを取得すればよく、同期制御部２２、照明パターン生成部２４、照明パターン検出部２６、ＬＴ行列獲得部２８からそれぞれの矢印へのデータの流れは、ハードディスク、RAID 装置、CD-ROMなどの記録媒体を利用する、または、ネットワークを介してリモートなデータ資源を利用する形態でもどちらでも構わない。
【０１０３】
本実施の形態は、プロジェクタ１２−１〜１２−Ｎのうちの何れか１台のプロジェクタとカメラ１０を連動させて、各プロジェクタ１２−１〜１２−Ｎとカメラ１０間のＬＴ行列を獲得する。切替部４４２により、照明パターン生成部２４とある１つのプロジェクタと接続すると、当該プロジェクタとカメラ１０間のＬＴ行列を獲得する。
【０１０４】
なお、白色照明を使ってＬＴ行列を獲得する場合には、同期制御部２２、照明パターン生成部２４、照明パターン検出部２６、及びＬＴ行列獲得部２８の各処理は、第１の実施の形態と同様の処理に従う。
【０１０５】
また、赤、緑、青照明を使ってＬＴ行列を獲得する場合には、同期制御部２２、照明パターン生成部２４、照明パターン検出部２６、及びＬＴ行列獲得部２８の各処理は、第２の実施の形態と同様の処理に従う。
【０１０６】
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【０１０７】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能であるし、ネットワークを介して提供することも可能である。
【符号の説明】
【０１０８】
１０   カメラ
１２   プロジェクタ
２０、３２０  演算部
２２   同期制御部
２４   照明パターン生成部
２６   照明パターン検出部
２８   ＬＴ行列獲得部
９０   出力部
１００、３００、４００      画像投影装置
３３０ カメラ制御部
３４０ プロジェクタ制御部
４４２ 切替部
【図１】
0006464058.tif 000011
【図２】
0006464058.tif 000012
【図３】
0006464058.tif 000013
【図４】
0006464058.tif 000014
【図５】
0006464058.tif 000015
【図６】
0006464058.tif 000016
【図７】
0006464058.tif 000017
【図８】
0006464058.tif 000018
【図９】
0006464058.tif 000019
【図１０】
0006464058.tif 000020
【図１１】
0006464058.tif 000021
【図１２】
0006464058.tif 000022