(57)【要約】【課題】プロジェクション・マッピングにおいて、面倒な計測作業を回避し、できるだけ少ないカメラ応答画像から直接反射光と間接反射光のライト・トランスポート行列を得る。【解決手段】照明パターンを被写体に投影する照明パターン生成・投影手段と、カメラで観測した観測画像の背景差分からカメラの画素ごとに対応する応答画素を特定した復号テーブルを生成する照明パターン復号手段と、復号テーブルを用いて、各カメラ画素に対応するプロジェクタの画素を求めることによりライト・トランスポート行列を算出するライト・トランスポート行列算出手段と、プロジェクタ画素の輝度値が２段階に変化するように照明パターン・投影手段を制御するとともに、プロジェクタ画素の輝度値が２段階に変化するのに応じて、直接反射と間接反射に対応するライト・トランスポート行列を算出するようにライト・トランスポート行列算出手段を制御する画素制御手段とを備える。【選択図】図１
2015106050.tif 000002
【特許請求の範囲】
【請求項１】
２ｎ×２ｎ（ｎは自然数）の画素を有するプロジェクタから被写体に投影した４ｎ枚の照明パターンをカメラで観測した観測画像からライト・トランスポート行列を算出する空間投影装置であって、
前記２ｎ×２ｎの画素をブロックサイズが２ｎ−ｉ×２ｎ−ｉである２ｉ−１×２ｉ−１個のレイヤｉのブロックｊに分割し（ｉは１以上ｎ以下の整数、ｊは１以上４以下の整数）、レイヤｉの各ブロックはレイヤｉ−１の４種のブロックを１個ずつ含むように前記４ｎ枚の照明パターンを生成し、レイヤ１から順にすべての照明パターンを前記被写体に投影する照明パターン生成・投影手段と、
前記カメラで観測した４ｎ枚の観測画像の背景差分から前記カメラの画素ごとに対応する応答画素を特定した復号テーブルを生成する照明パターン復号手段と、
前記復号テーブルを用いて、各カメラ画素に対応するプロジェクタの画素を求めることにより前記ライト・トランスポート行列を算出するライト・トランスポート行列算出手段と、
前記プロジェクタ画素の輝度値が２段階に変化するように前記照明パターン・投影手段を制御するとともに、前記プロジェクタ画素の輝度値が２段階に変化するのに応じて、直接反射と間接反射に対応するライト・トランスポート行列を算出するように前記ライト・トランスポート行列算出手段を制御する画素制御手段と
を備えることを特徴とする空間投影装置。
【請求項２】
前記２ｎ×２ｎの画素を有するプロジェクタに代えて、ｐ×ｑ（ｐ、ｑは、自然数）の画素を有するプロジェクタを用いる場合の前記ｎは、２ｎ＞ｍａｘ（ｐ，ｑ）を満たす最小のｎであることを特徴とする請求項１に記載の空間投影装置。
【請求項３】
前記ライト・トランスポート行列を用いて入力画像を前記被写体に投影する画像投影手段を
さらに備えることを特徴とする請求項１または２に記載の空間投影装置。
【請求項４】
前記画像投影手段は、
前記ライト・トランスポート行列を用いて輝度補償する際に、複数の輝度補償値が算出されるとき、前記複数の輝度補償値の平均を用いて前記輝度補償を実行することを特徴とする請求項３に記載の空間投影装置。
【請求項５】
２ｎ×２ｎ（ｎは自然数）の画素を有するプロジェクタから被写体に投影した４ｎ枚の照明パターンをカメラで観測した観測画像からライト・トランスポート行列を算出する空間投影装置が行う空間投影方法であって、
前記２ｎ×２ｎの画素をブロックサイズが２ｎ−ｉ×２ｎ−ｉである２ｉ−１×２ｉ−１個のレイヤｉのブロックｊに分割し（ｉは１以上ｎ以下の整数、ｊは１以上４以下の整数）、レイヤｉの各ブロックはレイヤｉ−１の４種のブロックを１個ずつ含むように前記４ｎ枚の照明パターンを生成し、レイヤ１から順にすべての照明パターンを前記被写体に投影する照明パターン生成・投影ステップと、
前記カメラで観測した４ｎ枚の観測画像の背景差分から前記カメラの画素ごとに対応する応答画素を特定した復号テーブルを生成する照明パターン復号ステップと、
前記復号テーブルを用いて、各カメラ画素に対応するプロジェクタの画素を求めることにより前記ライト・トランスポート行列を算出するライト・トランスポート行列算出ステップと、
前記プロジェクタ画素の輝度値が２段階に変化するように前記照明パターン・投影手段を制御するとともに、前記プロジェクタ画素の輝度値が２段階に変化するのに応じて、直接反射と間接反射に対応するライト・トランスポート行列を算出するように前記ライト・トランスポート行列算出手段を制御する画素制御ステップと
を有することを特徴とする空間投影方法。
【請求項６】
コンピュータを、請求項１から４のいずれか１項に記載の空間投影装置としてコンピュータを機能させるための空間投影プログラム。
【請求項７】
請求項６に記載の空間投影プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロジェクタを使用して空間情報に合わせて画像を投影する空間投影装置、空間投影方法、空間投影プログラム及び記録媒体に関する。
【背景技術】
【０００２】
プロジェクタは極めてフレキシブルな画像出力デバイスであり、投影仕様の範囲内であればパーソナルスペース、会議ホール、巨大パブリックビューイング、ビルの壁面などに合わせて自由サイズの映像表示を提供することができる。プロジェクタを使って平面スクリーンではない任意の構造物（以下、被写体と称する）へ投影するとき、被写体の形状を事前に計測して、その形状に合わせて所定画像が空間歪みの無いように投影する技術は、プロジェクション・マッピング（ｐｒｏｊｅｃｔｉｏｎ  ｍａｐｐｉｎｇ）として知られている。任意スケールの映像投影のメリットを活かしたプロジェクション・マッピングは、エンターテインメント志向のイベントやイルミネーションによる広告表示などに利用されている。
【０００３】
プロジェクション・マッピングでは、所定画像を正確に投影するために、目視確認と手動操作によって１画素単位での位置合わせを行う場合がある。これに対して、プロジェクタ投影の状態をカメラによって把握し、所定画像を指定された位置に投影するために、プロジェクタ・カメラシステムが利用されている。プロジェクタ・カメラシステムは、プロジェクタとカメラが連動して、カメラからのフィードバック画像に応じて、プロジェクタから投影出力する画像を処理する。
【０００４】
通常、平面なスクリーンにプロジェクション・マッピングする場合には、プロジェクタ画面上の点とカメラ画面上の点を、キャリブレーション作業で得た平面射影変換（ｐｌａｎｅ−ｈｏｍｏｇｒａｐｈｙ）を使い、スクリーン面を介して対応付ける。この対応関係を利用して、所定画像をスクリーン面の決められた場所に投影する。もし、空間構造に凹凸があったり曲がった構造である場合には、その空間構造を事前に把握しなければならない。例えば、レーザ計測を利用して、被写体の空間構造、あるいは凹凸形状を得る。その形状に合わせて所定画像を幾何的に変形させて、平面スクリーンと同様の状態で指定個所に所定画像を投影する（非特許文献１参照）。
【０００５】
あるいは、構造光（ｓｔｒｕｃｔｕｒｅｄ  ｌｉｇｈｔ）と呼ばれる幾何パターンをプロジェクタから投影し、カメラで観測した歪み画像から空間構造の凹凸形状あるいは奥行きを計測する方式も利用できる。このように、従来技術は、外界または被写体の空間構造をレーザ計測またはプロジェクタ・カメラシステムを利用して空間構造を把握し、その凹凸形状または奥行きに合わせて指定個所へ所定画像を投影する。
【０００６】
これに対して、外界の空間構造を計測せずに、ライト・トランスポートを利用したプロジェクション・マッピングが知られている（非特許文献２参照）。ライト・トランスポート（ｌｉｇｈｔ  ｔｒａｎｓｐｏｒｔ）とは、全てのプロジェクタ画素と全てのカメラ画素間の対応関係を表現したデータである。図１６は、未校正なプロジェクタ・カメラシステムを使ったライト・トランスポート行列の測定を示す図である。図１６に示すようにプロジェクタ画素の１点１点を順番に点灯させ、その画素からの光が光学的反射によって結び付くカメラ画素を検出することによって得られる。プロジェクタ画面の画素数がｐ×ｑ画素でカメラ画面の画素数がｕ×ｖ画素であるとき、各点光源のカメラ応答の画像Ｃｊを列ベクトル化して並べた行列Ｔはｕｖ×ｐｑ画素の巨大、かつ、スパースな行列であり、ライト・トランスポート行列（ｌｉｇｈｔ  ｔｒａｎｓｐｏｒｔ  ｍａｔｒｉｘ）と呼ばれる。非特許文献２では、この行列の転置ＴＴを利用して、プロジェクタからの視点から観測されるであろう仮想画像（ｄｕａｌ  ｐｈｏｔｏｇｒａｐｈｙ）を人工的に生成する方法が公知である。
【０００７】
一般的に、レーザあるいは構造光を使った３次元形状計測では直接反射光のみを受光することを前提としている。このため、被写体の構造によって発生する光学的な間接反射光、並びに、それらの多重反射光を扱うことができない。これに対して、ライト・トランスポートはカメラ画素においては点光源からの光が物体表面で反射した直接反射光、物体表面からそれ以外の表面で反射した間接反射光、並びに、これらの複数の反射光を含む多重反射光を扱う。ライト・トランスポートを利用すれば、直接反射光と間接反射光を区別することなく、全てのプロジェクタ画素と全てのカメラ画素間の対応付けに基づいた高精度なプロジェクション・マッピングを可能とする。また、物体表面に合わせた輝度補償を行う技術が公開されている（非特許文献３）。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】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.
【非特許文献３】K. Fujii, M. D. Grossberg, and S. K. Nayar: "A Projector-Camera System with Real-Time Photometric Adaptation for Dynamic Environments", Proc. of IEEE Computer Vision and Pattern Recognition (CVPR), vol.1, pp.814-821, 2005.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ライト・トランスポートを利用したプロジェクション・マッピングは、レーザあるいは構造光による３次元計測に頼らずに、任意形状に対して所定画像を投影することができる。ただし、そのライト・トランスポートを計測するための作業に膨大な時間がかかるという問題がある。図１６に示すように、プロジェクタ画面がｐ×ｑ画素であるとき、各画素を点光源として使い、カメラ応答の画素を検出する作業を順番に繰り返すと、単純にｐ×ｑ枚の画像を観測する必要がある。例えば、１０００×１０００画素の画像を点光源として使うと、１００００００枚の画像を処理してライト・トランスポート行列を生成することになり、計算機コストが高くその処理に多くの時間がかかる。
【００１０】
また、任意の物体表面には反射特性があるため、光学的に整合がとれた所定画像を投影する必要がある。非特許文献３では、物体表面に合わせた輝度補償が公開されているが、いわゆる、直接反射を前提とした輝度補償であるため、間接反射を考慮して適切に輝度を補償する必要があるという問題がある。
【００１１】
本発明は、このような事情に鑑みてなされたもので、プロジェクタ・カメラシステムの動作を活用したプロジェクション・マッピングにおいて、特別な計測作業を要することなく、できるだけ少ないカメラ応答画像から直接反射光及び間接反射光のライト・トランスポート行列を得ることできる空間投影装置、空間投影方法、空間投影プログラム及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、２ｎ×２ｎ（ｎは自然数）の画素を有するプロジェクタから被写体に投影した４ｎ枚の照明パターンをカメラで観測した観測画像からライト・トランスポート行列を算出する空間投影装置であって、前記２ｎ×２ｎの画素をブロックサイズが２ｎ−ｉ×２ｎ−ｉである２ｉ−１×２ｉ−１個のレイヤｉのブロックｊに分割し（ｉは１以上ｎ以下の整数、ｊは１以上４以下の整数）、レイヤｉの各ブロックはレイヤｉ−１の４種のブロックを１個ずつ含むように前記４ｎ枚の照明パターンを生成し、レイヤ１から順にすべての照明パターンを前記被写体に投影する照明パターン生成・投影手段と、前記カメラで観測した４ｎ枚の観測画像の背景差分から前記カメラの画素ごとに対応する応答画素を特定した復号テーブルを生成する照明パターン復号手段と、前記復号テーブルを用いて、各カメラ画素に対応するプロジェクタの画素を求めることにより前記ライト・トランスポート行列を算出するライト・トランスポート行列算出手段と、前記プロジェクタ画素の輝度値が２段階に変化するように前記照明パターン・投影手段を制御するとともに、前記プロジェクタ画素の輝度値が２段階に変化するのに応じて、直接反射と間接反射に対応するライト・トランスポート行列を算出するように前記ライト・トランスポート行列算出手段を制御する画素制御手段とを備えることを特徴とする。
【００１３】
本発明は、前記２ｎ×２ｎの画素を有するプロジェクタに代えて、ｐ×ｑ（ｐ、ｑは、自然数）の画素を有するプロジェクタを用いる場合の前記ｎは、２ｎ＞ｍａｘ（ｐ，ｑ）を満たす最小のｎであることを特徴とする。
【００１４】
本発明は、前記ライト・トランスポート行列を用いて入力画像を前記被写体に投影する画像投影手段をさらに備えることを特徴とする。
【００１５】
本発明は、前記画像投影手段は、前記ライト・トランスポート行列を用いて輝度補償する際に、複数の輝度補償値が算出されるとき、前記複数の輝度補償値の平均を用いて前記輝度補償を実行することを特徴とする。
【００１６】
本発明は、２ｎ×２ｎ（ｎは自然数）の画素を有するプロジェクタから被写体に投影した４ｎ枚の照明パターンをカメラで観測した観測画像からライト・トランスポート行列を算出する空間投影装置が行う空間投影方法であって、前記２ｎ×２ｎの画素をブロックサイズが２ｎ−ｉ×２ｎ−ｉである２ｉ−１×２ｉ−１個のレイヤｉのブロックｊに分割し（ｉは１以上ｎ以下の整数、ｊは１以上４以下の整数）、レイヤｉの各ブロックはレイヤｉ−１の４種のブロックを１個ずつ含むように前記４ｎ枚の照明パターンを生成し、レイヤ１から順にすべての照明パターンを前記被写体に投影する照明パターン生成・投影ステップと、前記カメラで観測した４ｎ枚の観測画像の背景差分から前記カメラの画素ごとに対応する応答画素を特定した復号テーブルを生成する照明パターン復号ステップと、前記復号テーブルを用いて、各カメラ画素に対応するプロジェクタの画素を求めることにより前記ライト・トランスポート行列を算出するライト・トランスポート行列算出ステップと、前記プロジェクタ画素の輝度値が２段階に変化するように前記照明パターン・投影手段を制御するとともに、前記プロジェクタ画素の輝度値が２段階に変化するのに応じて、直接反射と間接反射に対応するライト・トランスポート行列を算出するように前記ライト・トランスポート行列算出手段を制御する画素制御ステップとを有することを特徴とする。
【００１７】
本発明は、コンピュータを、前記空間投影装置としてコンピュータを機能させるための空間投影プログラムである。
【００１８】
本発明は、前記空間投影プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００１９】
本発明によれば、プロジェクタ・カメラシステムを使って、少ないカメラ応答画像から効率的に凹凸や曲がった形状の空間構造のライト・トランスポートを獲得することができるという効果が得られる。また、直接反射及び間接反射に関するライト・トランスポートを使えばスクリーン平面上にあたかも投影されたかのように、その空間構造に対して、幾何的、かつ、光学的に補正された画像を投影することができる。さらに、その画像提示を使った拡張現実や映像コミュニケーションを実現することが可能となる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１実施形態の構成を示すブロック図である。
【図２】図１に示す同期制御部３１の処理動作を示すフローチャートである。
【図３】図１に示す符号化照明生成部３２の処理動作を示すフローチャートである。
【図４】プロジェクタ画面を８×８画素とした簡単な例を示す説明図である。
【図５】プロジェクタ画面がイレギュラーなサイズで場合を示す図である。
【図６】図１に示す照明パターン復号部３３の処理動作を示すフローチャートである。
【図７】復号テーブルの一例を示す図である。
【図８】図１に示すＬＴ獲得部３４の処理動作を示すフローチャートである。
【図９】スパース表現のライト・トランスポート行列の一例を示す図である。
【図１０】直接反射と間接反射を示す簡単な模式図である。
【図１１】図１に示す画素制御部３５の処理動作を示すフローチャートである。
【図１２】ライト・トランスポート行列の更新を示す説明図である。
【図１３】本発明の第２実施形態の構成を示すブロック図である。
【図１４】図１３に示す画像投影部３６の処理動作を示すフローチャートである。
【図１５】ライト・トランスポートを使った輝度補償の原理を示す説明図である。
【図１６】未校正なプロジェクタ・カメラシステムを使ったライト・トランスポート行列の測定を示す図である。
【発明を実施するための形態】
【００２１】
＜第１実施形態＞
以下、図面を参照して、本発明の第１実施形態による空間投影装置を説明する。図１は同実施形態の構成を示すブロック図である。この図に示す空間投影装置は、１台のプロジェクタと１台のカメラのプロジェクタ・カメラシステムを使用したものである。本実施形態は、プロジェクタ１とカメラ２のハンドリングを制御するための同期制御部３１、ライト・トランスポートを得るために符号化された照明パターンを生成する符号化照明生成部３２、カメラ２から得た観測画像から照明パターンに応答した画素を検出して、元の照明パターンに復号する照明パターン復号部３３、その照明パターンの系列からライト・トランスポート行列を算出するＬＴ獲得部３４、照明する画素を制御する画素制御部３５から構成される。なお、本明細書においては、ライト・トランスポートをＬＴと略し、ライト・トランスポート行列をＬＴＭと略す。
【００２２】
この構成において、プロジェクタ１、カメラ２は必ずしも構成要素として接続している必要はなく、処理に必要なデータを取得すればよく、同期制御部３１、符号化照明生成部３２、照明パターン復号部３３、ＬＴ獲得部３４、画素制御部３５からそれぞれの矢印へのデータの流れは、ハードディスク、ＲＡＩＤ装置、ＣＤ−ＲＯＭなどの記録媒体を利用する、または、ネットワークを介してリモートなデータ資源を利用する形態でもどちらでも構わない。
【００２３】
次に、図２を参照して、図１に示す同期制御部３１の処理動作を説明する。図２は、図１に示す同期制御部３１の処理動作を示すフローチャートである。まず、処理を開始すると、同期制御部３１は、符号化照明生成部３２との連携によりプロジェクタ１からの照明を出力する準備をチェックした（ステップＳ１）後、プロジェクタ１から照明パターンを投影するためのフレーム番号ｆを同期信号として送出する（ステップＳ２）。フレーム番号は処理開始と同時にｆ＝０と初期化され、符号化照明生成部３２から照明パターンを投影するたびに１ずつカウントされる値である。
【００２４】
次に、同期制御部３１は、照明パターン復号部３３との連携によりカメラ２により画像キャプチャの準備をチェックして（ステップＳ３）、カメラ２から画像を取得する命令として、そのトリガーを照明パターン復号部３３へ転送する（ステップＳ４）。符号化照明生成部３２から全ての照明パターンを投影した時点で処理停止とし、その停止命令があるまで、フレーム番号をカウントしながらこの処理を続ける（ステップＳ５）。
【００２５】
次に、図３を参照して、図１に示す符号化照明生成部３２の処理動作を説明する。図３は、図１に示す符号化照明生成部３２の処理動作を示すフローチャートである。まず、符号化照明生成部３２は、同期制御部３１から初期化されたフレーム番号を受信する（ステップＳ１１）。フレーム番号は照明する画像の管理番号となり、時系列番号を示すように初期値ｆ＝０から付与され、カメラ２で画像を観測するたびに同期制御部においてｆ←ｆ＋１によってカウントされる。
【００２６】
図４はプロジェクタ画面を８×８画素とした簡単な例である。この例を参照して、処理内容を説明する。レイヤ１ではブロックＡ、Ｂ、Ｃ、Ｄの画素領域はそれぞれ４×４画素である。レイヤ２では区分けされた領域は２×２画素単位でラベル付けされており、レイヤ３では１画素単位でラベル付けされている。
【００２７】
符号化照明生成部３２は、同期制御部３１からフレーム番号ｆを受信する（ステップＳ１１）と、フレーム番号ｆを値４で割って商を算出して、フレーム番号の判定を行い（ステップＳ１２）、レイヤが変更になったか否かを判定する（ステップＳ１３）。値４はレイヤがＡ、Ｂ、Ｃ、Ｄの４つのブロックに分けされていることに起因する数字であり、ブロック種類に応じて変更可能である。図４では、最初にレイヤ１を使う。符号化照明生成部３２は、フレーム番号に応じてその剰余が０のとき、レイヤ１→レイヤ２、あるいはレイヤ２→レイヤ３にレイヤを変更する（ステップＳ１４）。レイヤ変更がない場合、すなわち、その剰余が０でなければ、レイヤを変更しない（ステップＳ１３でＮｏの場合）。
【００２８】
次に、符号化照明生成部３２は、画素割当の変更を行う（ステップＳ１５）。画素割当の変更では、ブロックＡ、Ｂ、Ｃ、Ｄで割り当てた画素をフレーム番号に応じて点灯させる。図４では、フレーム番号ｆを４で割ったときの余りが０のときはブロックＡの画素領域を照明とし、フレーム番号ｆを４で割ったときの余りが１のときはブロックＢの画素領域を照明とし、フレーム番号ｆを４で割ったときの余りが２のときはブロックＣの画素領域を照明とし、フレーム番号ｆを４で割ったときの余りが３のときはブロックＤの画素領域を照明とする。続いて、符号化照明生成部３２は、点灯画素に照明処理を行う（ステップＳ１６）。点灯画素による照明では、点灯させる画素が決まった後、プロジェクタ画面全体へ解像度を変換して、その照明パターンの画像をプロジェクタ１へ出力する。これにより、その照明パターンが被写体５に投影される。そして、符号化照明生成部３２は、その停止命令があるまで、この処理を続ける（ステップＳ１７）。
【００２９】
以上説明したように、時系列順ではフレーム番号ｆ＝０，１，２，３のとき、レイヤ１においてそれぞれブロックＡ、Ｂ、Ｃ、Ｄの画素領域を、フレーム番号ｆ＝４，５，６，７のとき、レイヤ２においてそれぞれブロックＡ、Ｂ、Ｃ、Ｄの画素領域、フレーム番号ｆ＝８，９，１０，１１のとき、レイヤ３においてそれぞれブロックＡ、Ｂ、Ｃ、Ｄの画素領域をそれぞれ点灯させる。このように、フレーム番号に従って、レイヤのブロックＡ、Ｂ、Ｃ、Ｄの画素領域の順番に照明として点灯させて、被写体５を照らす。一般的には、プロジェクタ画面が２ｎ×２ｎ（ｎは整数）画素のとき、本処理ではフレーム番号ｆ＝０，１，２，・・・，４ｎ−１に従って、ブロックＡ，Ｂ，Ｃ，Ｄの照明パターンを使う。符号化照明生成部３２はフレーム番号が４ｎになった時点で処理を停止する。
【００３０】
なお、プロジェクタ画面が２ｎ×２ｎ画素（ｎは整数）で表現できない場合、例えば、８００×６００画素の場合では、それを包含するできるだけ大きい２ｎ×２ｎ画素において、上記の処理を行う。この例では、１０２４×１０２４画素が包含する最大画素サイズなので、２１０×２１０画素として上記の照明パターンを生成する（図５参照）。図５は、プロジェクタ画面がイレギュラーなサイズで場合を示す図である。８００×６００画素を超える画素領域では無効画素であるため値０を常時セットしておき、２１０×２１０画素において、各レイヤのブロックを照明とした符号パターンを生成する。これにより、任意サイズのプロジェクタ画面に対応して、照明符号パターンを生成する。
【００３１】
次に、図６を参照して、図１に示す照明パターン復号部３３の処理動作を説明する。図６は、図１に示す照明パターン復号部３３の処理動作を示すフローチャートである。まず、照明パターン復号部３３は、画像を取得できる状態かのチェックを行い（ステップＳ２１）、同期制御部３１から画像観測命令の同期信号が入力されて（ステップＳ２２）撮影可能状態ならばカメラ２から観測画像を取得する（ステップＳ２３）。
【００３２】
次に、照明パターン復号部３３は、事前に保有しておいた背景画像を取り出し（ステップＳ２４）、この背景画像との背景差分を処理する（ステップＳ２５）。背景画像とは、照明パターンが照明されていない状態、あるいは黒を投影したときの観測画像である。この背景差分において、蛍光灯などの環境光の元では画像雑音が多く混入するため、所定の閾値として例えば１０階調に設定しておき（ステップＳ２６）、この値より大きい画素をカメラの応答画素として検出する（ステップＳ２７）。符号化照明生成部３２では、各レイヤにおいて４つのブロックの画素を順番に照明として使っているため、応答画素はその照明に対応して検出される。ただし、ブロックＡとブロックＢの境界付近に位置する画素では、ブロックＡとブロックＢからの双方の符号化照明に対して応答画素が検出される場合や、４つのブロック境界付近に位置する画素では、複数の符号化照明に対して応答画素が検出される場合がある。
【００３３】
そこで、照明パターン復号部３３では、各カメラ画素と１つの照明パターンと対応付ける。符号化照明生成部３２において同じレイヤにおいてブロックを切り替えながら照明パターンを投影したとき、各ブロックからの照明に対して最大の輝度値となる応答画素を特定する（ステップＳ２８）。つまり、同じカメラ画素が１つ以上の照明パターンに応答した場合は、最大応答を得たときの照明パターンとのライト・トランスポートを獲得する。この処理により、同期制御部３１からのフレーム番号に従って、各レイヤの４回の照明パターンにおいて１回だけ応答有りと判定する。ここで、最初のレイヤから最終レイヤにおいて、応答有りの場合を１、そうでない場合を０として、図７に示す復号テーブルに書き込む（ステップＳ２９）。図７は、復号テーブルの一例を示す図である。以上の処理を処理停止の命令まで続け（ステップＳ３０）、全ての照明パターンから０と１のビット列を復号テーブルに書き込む。
【００３４】
図４に示す例において、復号テーブルのビット列を説明する。レイヤ３の画素ｐ１はレイヤ１ではブロックＡ、レイヤ２ではブロックＣに属するので、時系列の符号は「１０００  ００１０  ０１００」になる。一方、レイヤ３の画素ｐ２はレイヤ１ではブロックＣ、レイヤ２ではブロックＤに属するので、時系列の符号は「００１０  ０００１  ００１０」になる。プロジェクタ画面が２ｎ×２ｎ画素を使うとき符号長は４ｎになり、プロジェクタ画面の画素ＯＮ／ＯＦＦの４ｎビットの符号パターンは全ての画素で異なる。復号テーブルでは、フレーム番号ｆ＝０からｆ＝４ｎ−１までの照明パターンに対して、各レイヤのどのブロックからの照明に対するカメラ応答画素かが記録されるため、プロジェクタ画面のどの画素からの光に応答したかが特定できる。
【００３５】
次に、図８を参照して、図１に示すＬＴ獲得部３４の処理動作を説明する。図８は、図１に示すＬＴ獲得部３４の処理動作を示すフローチャートである。ＬＴ獲得部３４は照明パターン復号部３３から出力された復号テーブル（図７）の符号化ビット列から各カメラ画素と対応づけられたプロジェクタ画素を算出し、ライト・トランスポート行列において各座標を記録する。まず、ＬＴ獲得部３４は、図７に示す復号テーブルを入力する（ステップＳ４１）と、そのテーブルの左端のコラムのカメラ座標を（Ｘ１，Ｙ１）から（Ｘｕ，Ｙｖ）の順に逐次読み出す。説明の都合上、座標（Ｘｉ，Ｙｊ）が読み出されたときの処理動作を説明する。
【００３６】
図７に示す復号テーブルの横方向には、各カメラ座標の画素が応答した符号化系列が記録されている。座標（Ｘｉ，Ｙｊ）では、「００１０  ００１０・・・０１００」となっている。この復号系列から、４ビットずつ取り出して符号系列の照合（ステップＳ４２）により各レイヤの照明ブロックを決定する。レイヤ１の欄から「００１０」と復号されているので、図４のレイヤ１の例では”ブロックＣ”のプロジェクタ座標と特定される。
【００３７】
次に、レイヤ２の欄から”００１０”と復号されているので、図４のレイヤ２の例では右下隅の”ブロックＣ”のプロジェクタ座標とさらに特定される。この処理をレイヤｎまで続けることにより、各レイヤのブロックをチェックしてプロジェクタ座標を決定していく（ステップＳ４３）。図７に示す座標（Ｘｉ，Ｙｊ）が、この処理を経て、プロジェクタ座標（Ｘｓ，Ｙｔ）に辿り着いたとする。そのとき、図９に示すように、全てのカメラ座標を縦方向に並べたライト・トランスポート行列において、カメラ座標（Ｘｉ，Ｙｊ）と光学的に結び付いたプロジェクタ座標（Ｘｓ，Ｙｔ）をカメラ座標（Ｘｉ，Ｙｊ）の横方向に記録する（ステップＳ４４）。図９は、スパース表現のライト・トランスポート行列の一例を示す図である。この場合は１つのプロジェクタ座標が記録される。図９に示すライト・トランスポート行列はスパース行列をコンパクトに表現する。全てのカメラ座標に対して対応するプロジェクタ座標を書き込み、本処理を終了する（ステップＳ４５）。
【００３８】
次に、図１に示す画素制御部の処理動作を説明する。照明パターン復号部３３は各レイヤにおいて最大応答の画素を検出するため、各カメラ画素に１つのプロジェクタ画素を結び付けたライト・トランスポートを得る。しかしながら、未知な被写体５の３次元構造を前提にすると直接反射の他に間接反射とそれらの多重反射が考えられる。図１０に直接反射と間接反射の簡単な模式図を示す。図１０の左図では、プロジェクタ画素Ｐｉからの照明光Ｌｉが点Ｓｉで反射して、カメラ画素Ｃｉがその直接反射光Ｒｉを観測する。同時に、照明光Ｌｉは点Ｓｉから他の面へ反射して、カメラ画素Ｃｊが点Ｓｊからの間接反射光Ｒｉｊを観測する。この例では、上記の符号化照明とその復号化の処理によって、直接反射と間接反射を問わずにカメラ画素ＣｉとＣｊとプロジェクタ画素Ｐｉが結び付くライト・トランスポートを獲得することができる。
【００３９】
一方、図１０の右図では、プロジェクタ画素Ｐｋからの照明光Ｌｋとプロジェクタ画素Ｐｌからの照明光Ｌｌがそれぞれ点Ｓｋと点Ｓｌで反射して、カメラ画素ＣｋとＣｌがそれぞれの直接反射光ＲｋとＲｌを観測する。さらに、点Ｓｋで反射した照明光Ｌｋは点Ｓｌを照射し、カメラ画素Ｃｌがその間接反射光Ｒｋｌを観測する。カメラ画素Ｃｌは直接反射光Ｒｌと間接反射光Ｒｋｌの多重反射を観測することになるが、前述の復号化では、直接反射光Ｒｌに関するライト・トランスポートと同時に間接反射光Ｒｋｌに関するライト・トランスポートを獲得することができない。
【００４０】
そこで、画素制御部３５では符号化照明の輝度を変化させて直接反射と間接反射に対応するライト・トランスポートを獲得する。プロジェクタ照明の輝度を弱くすると、多重反射のカメラ応答において直接反射成分と間接反射成分が低下するが、直接反射成分と比べると間接反射成分がさらに弱まることが考えられる。この前提を踏まえて２段階式の符号化照明を使う。第１段階として、例えば、対象のプロジェクタ画素の輝度値を半分に与えて、符号化照明生成部において符号化された照明を被写体５へ投影する。プロジェクタ画素の輝度が半分に抑えられているため、点Ｓｋからの反射光Ｒｋを復号化せずに点Ｓｌからの直接反射光Ｒｌを復号化する（当然ながら、間接反射光Ｒｋｌは復号化されない）。
【００４１】
第２段階では、先に得たライト・トランスポートに関するプロジェクタ画素の全てを符号化照明の対象画素から外し、残ったプロジェクタ画素について強い輝度の符号化照明を使う。第２段階の符号化照明はプロジェクタ画素Ｐｌを点灯しないことなり、図１０の左図の照明条件と同じになる。よって、強い輝度の符号化照明で得たカメラ応答から、プロジェクタ画素Ｐｋからの直接反射Ｒｋとその間接反射Ｒｋｌを復号化することができる。先に求めたライト・トランスポートを合わせると、図１０の右図の照明条件において直接反射と間接反射に対応するライト・トランスポートが得られる。
【００４２】
次に、図１１を参照して、図１に示す画素制御部３５の処理動作を説明する。図１１は、図１に示す画素制御部３５の処理動作を示すフローチャートである。まず、画素制御部３５は、第１段階の符号化照明において照明輝度を設定する（ステップＳ５１）。輝度の低い値、例えば、（Ｒ，Ｇ，Ｂ）＝（１２８，１２８，１２８）の輝度をプロジェクタ画素に設定する。対象とするプロジェクタ画素の輝度値が与えられると、符号化照明生成部３２は、これを受けて所定の処理を行う。そして、照明パターン復号部３３とＬＴ獲得部３４において、第１段階の符号化照明を使ったライト・トランスポートを獲得し、図９に示すライト・トランスポート行列を一時的に保存する。
【００４３】
次に、画素制御部３５は、ライト・トランスポート行列を読み出すとともに（ステップＳ５２）、ライト・トランスポート行列の上からカメラ画素を順番に読み出し（ステップＳ５３）、ライト・トランスポート行列にあるか否かを判定する（ステップＳ５４）。この判定の結果、横にプロジェクタ画素が書き込まれている場合は、そのプロジェクタ画素の輝度を（Ｒ，Ｇ，Ｂ）＝（０，０，０）に設定して照明輝度を消去する（ステップＳ５５）。一方、プロジェクタ画素が書き込まれていない場合は、そのプロジェクタ画素の輝度を第１段階の符号化照明よりも高い値に変更する（例えば、（Ｒ，Ｇ，Ｂ）＝（２５５，２５５，２５５）と設定する）（ステップＳ５６）。
【００４４】
画素制御部３５は、ライト・トランスポート行列におけるカメラ画素の全てについて前述の処理を行い、処理の停止と判定されると、符号化照明生成部の処理を行う。照明パターン復号部３３とＬＴ獲得部３４において、第２段階の符号化照明を使ったライト・トランスポートを獲得すると、図１２に示すように第２段階の符号化照明で得たライト・トランスポートを追加でライト・トランスポート行列に書き込む。図１２は、ライト・トランスポート行列の更新を示す説明図である。図１２において、第１段階の符号化照明でライト・トランスポートが得られているとき、例えば、カメラ画素（Ｘ１，Ｙ２）については第２段階の符号化照明で獲得したライト・トランスポートに関するプロジェクタ画素（Ｘ１′，Ｙ３′）を書き込む。
【００４５】
このとき、前者のプロジェクタ画素は直接反射であり、後者のプロジェクタ画素は間接反射となる（物体表面の性質に応じて、その順番が逆になる場合もある）。また、第１段階の符号化照明でライト・トランスポートが得られていないとき、例えば、カメラ画素（Ｘ１，Ｙ３）については第２段階の符号化照明で獲得したライト・トランスポートに関するプロジェクタ画素（Ｘ１′，Ｙ２′）を書き込む。このように、画素制御部３５は、符号化照明生成部３２、ＬＴ獲得部３４と連動することにより、直接反射と間接反射に対応するライト・トランスポートを獲得することができる。
【００４６】
なお、本処理では、２段階の符号化照明を使って直接反射と間接反射に対応するライト・トランスポートを獲得する例を説明したが、プロジェクタ画素の輝度を多段階に設定することで、物体表面に関するより複雑なライト・トランスポートを獲得することができる。
【００４７】
この構成により、図１６に示した状況において、未校正なプロジェクタ・カメラシステムを使って、未知の任意形状の表面にプロジェクタからの照明を投影したとき、プロジェクタ画面の各座標から照明した光線とカメラ画面の各座標の応答を結び付けるライト・トランスポートを効率的に獲得することができる。
【００４８】
＜第２実施形態＞
次に、本発明の第２実施形態による空間投影装置を説明する。図１３は同実施形態の構成を示すブロック図である。この図において、図１に示す装置と同一の部分には同一の符号を付し、その説明を省略する。この図に示す装置が図１に示す装置と異なる点は、画像投影部３６と画像データベース（ＤＢ）４が設けられている点である。この構成において、プロジェクタ１、カメラ２、画像データベース４は必ずしも構成要素として接続している必要はなく、処理に必要なデータを取得すればよく、同期制御部３１、符号化照明生成部３２、照明パターン復号部３３、ＬＴ獲得部３４、画素制御部３５、画像投影部３６からそれぞれの矢印へのデータの流れは、ハードディスク、ＲＡＩＤ装置、ＣＤ−ＲＯＭなどの記録媒体を利用する、または、ネットワークを介してリモートなデータ資源を利用する形態でもどちらでも構わない。
【００４９】
次に、図１４を参照して、図１３に示す画像投影部３６の処理動作を説明する。図１４は、図１３に示す画像投影部３６の処理動作を示すフローチャートである。画像投影部３６は、画像データベース４から取り出した各画像を、ＬＴ獲得部３４で得たライト・トランスポート行列を使って任意の画像を被写体５へ投影する。
【００５０】
画像投影部３６の説明の前に、図１５の簡単な例において、ライト・トランスポートを使った輝度補償の原理を説明する。図１５は、ライト・トランスポートを使った輝度補償の原理を示す説明図である。カメラ画素Ｃαはプロジェクタ画素ＰｉとＰｊのライト・トランスポートの関係にあり、カメラ画素Ｃβはプロジェクタ画素Ｐｊのライト・トランスポートの関係にあるとする。カメラ画素Ｃαでは、２つのプロジェクタ画素からの多重投影が観測される。非特許文献３によれば、物体表面の輝度変化を無視して平面投影のカラー混合行列を使うと、
Ｃα＝Ｖα（Ｐｉ＋Ｐｊ）＋Ｆα  ・・・（１）
Ｃβ＝ＶβＰｊ＋Ｆβ  ・・・（２）
という関係になる。ここで、ＶαとＶβはカメラ画素ＣαとＣβに関するカラー混合行列であり、ＦαとＦβはカメラ画素ＣαとＣβに関する環境光ベクトルを表す。
【００５１】
複数のプロジェクタ画素からの多重投影については等分配則によって補償すると、
Ｐｉ＝Ｐｊ＝Ｐα，Ｐα＝（１／２）Ｖα−１（Ｃα−Ｆα）  ・・・（３）
Ｐｊ＝Ｐβ，Ｐβ＝Ｖβ−１（Ｃβ−Ｆβ）  ・・・（４）
により与えられる。一般的に、カメラ画素が複数のプロジェクタ画素とライト・トランスポートで結び付けられる場合は各プロジェクタ画素へ補償輝度を等分配する。式（３）、（４）により、プロジェクタ画素Ｐｉはユニークに決定できるが、プロジェクタ画素Ｐｊは２つの解Ｐα，Ｐβが与えられることになる。
【００５２】
この矛盾を解消するため、複数の輝度補償値が算出されるとき、
Ｐｊ＝（１／２）（Ｐα＋Ｐβ）  ・・・（５）
により、輝度補償の整合を図る。式（５）は３つ以上の補償輝度値が算出される場合にも拡張でき、それぞれの補償輝度値を加算して平均化すればよい。
【００５３】
このライト・トランスポートを使った輝度補償の原理を踏まえて、任意の被写体５の表面に対して光学的に整合がとれた所定画像を投影するための画像投影部３６の内容を説明する。まず、処理を開始すると、画像投影部３６は、ライト・トランスポート行列を読み出して（ステップＳ６１）、各カメラ画素とライト・トランスポートで結び付くプロジェクタ画素の使用回数を集計する（ステップＳ６２）。
【００５４】
次に、画像投影部３６は、補助輝度の初期化を行う（ステップＳ６３）とともに、投影する画像を画像データベース４から読み出す（ステップＳ６４）。そして、画像投影部３６は、その投影画像における各カメラ画素について、ライト・トランスポート行列において１つのプロジェクタ画素がある場合は式（４）を、２つのプロジェクタ画素がある場合は式（３）を使ってそれぞれ輝度補償値を算出する（ステップＳ６５）。
【００５５】
次に、画像投影部３６は、各プロジェクタ画素について２つの輝度補償値が算出される場合は式（５）で平均化し、Ｎ個（Ｎ＞２）の輝度補償値が算出される場合は、それらを加算してプロジェクタ画素の集計より得た使用回数Ｎで平均化して輝度を調整する（ステップＳ６６）。所定画像の全ての画素について、この輝度補償と調整を行って、輝度調整画像を生成する（ステップＳ６７）。その画像をプロジェクタ１へ入力すると、被写体５の表面に所定画像が投影されることになる（ステップＳ６８）。
【００５６】
続いて、被写体５表面の反射特性により輝度変化が発生する場合があるため、物体表面の輝度変化を調整する。式（３）による輝度補償の枠組みにおいて補償輝度Ｐαに補助輝度Ｄαを導入して、
Ｐα＝（１／２）Ｖα−１（Ｃα−Ｆα＋Ｄα）  ・・・（６）
により与える。なお、同時に、式（４）の補償輝度Ｐβについても補助輝度Ｄβを導入して輝度変化に応じて調整するが、補償輝度Ｐβと同じの処理フローとなるため、以下では補償輝度Ｐαについて説明する。
【００５７】
補助輝度Ｄαは、平面投影より輝度が減少したときはＤα＞０となり、輝度が増加したときはＤα＜０となることで物体表面上の輝度調整の役割を担う。輝度変化を事前に予測することは困難であるため、補助輝度Ｄαを零ベクトルで初期化して、カメラ２により検出を行い（ステップＳ６９）、輝度変化があったか否かを判定し（ステップＳ７０）、カメラ２により検出した輝度変化に応じて補助輝度を更新する（ステップＳ７１）。
【００５８】
初期の補助輝度Ｄαを与えたとき、カメラによって輝度Ｃα′を観測したとする。輝度誤差ΔＣα、
ΔＣα＝Ｃα−Ｃα′  ・・・（７）
が検出されたならば輝度変化があると判定して、その輝度誤差をライト・トランスポートの関係で結び付くプロジェクタ画素へフィードバックする。ゲイン行列Ｋを与えて、補助輝度Ｄαを
【数１】
2015106050.tif 000003
により更新する。更新した補助輝度Ｄαを式（６）に代入し、式（５）に従って輝度を再調整する。そして、輝度変化が一定値に収束するまで式（５）、（６）、（８）を使って輝度誤差ΔＣαのフィードバックを反復することにより、補償輝度Ｐαを物体表面の輝度変化に応じて調整する（ステップＳ７２）。
【００５９】
以上の処理により、ＬＴ獲得部３４で得た直接反射と間接反射のライト・トランスポートに基づき、平面スクリーンでの画像投影と同様に、被写体５の凹凸形状に対して幾何歪みが無く、かつ、物体表面の特性に応じて光学的に輝度が調整された画像を投影することができる。
【００６０】
以上説明したように、画素制御部３５を用いて複数回ライト・トランスポート行列を算出することにより、観測画像の数を抑えつつ、多重反射を考慮したライト・トランスポート行列を算出することが可能になる。この構成によれば、プロジェクタ・カメラシステムを使って、少ないカメラ応答画像から効率的に凹凸や曲がった形状の空間構造のライト・トランスポートを獲得することができるという効果が得られる。また、直接反射と間接反射に関するライト・トランスポートを使えばスクリーン平面上にあたかも投影されたかのように、その空間構造に対して、幾何的、かつ、光学的に補正された画像を投影することができる。さらに、その画像提示を使った拡張現実や映像コミュニケーションを実現することが可能となる。
【００６１】
前述した実施形態における空間投影装置３をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、ＰＬＤ（Programmable Logic Device）やＦＰＧＡ（Field Programmable Gate Array）等のハードウェアを用いて実現されるものであってもよい。
【００６２】
以上、図面を参照して本発明の実施の形態を説明してきたが、上記実施の形態は本発明の例示に過ぎず、本発明が上記実施の形態に限定されるものではないことは明らかである。したがって、本発明の技術思想及び範囲を逸脱しない範囲で構成要素の追加、省略、置換、その他の変更を行ってもよい。
【産業上の利用可能性】
【００６３】
プロジェクタ・カメラシステムの動作を活用したプロジェクション・マッピングにおいて、面倒な計測作業を回避し、できるだけ少ないカメラ応答画像から直接反射光と間接反射光のライト・トランスポート行列を効率的に得ることが不可欠な用途に適用できる。
【符号の説明】
【００６４】
１・・・プロジェクタ、２・・・カメラ、３・・・空間投影装置、３１・・・同期制御部、３２・・・符号化照明生成部、３３・・・照明パターン復号部、３４・・・ＬＴ獲得部、３５・・・画素制御部、３６・・・画像投影部、４・・・画像データベース（ＤＢ）、５・・・被写体
【図１】
2015106050.tif 000004
【図２】
2015106050.tif 000005
【図３】
2015106050.tif 000006
【図４】
2015106050.tif 000007
【図５】
2015106050.tif 000008
【図６】
2015106050.tif 000009
【図７】
2015106050.tif 000010
【図８】
2015106050.tif 000011
【図９】
2015106050.tif 000012
【図１０】
2015106050.tif 000013
【図１１】
2015106050.tif 000014
【図１２】
2015106050.tif 000015
【図１３】
2015106050.tif 000016
【図１４】
2015106050.tif 000017
【図１５】
2015106050.tif 000018
【図１６】
2015106050.tif 000019