(57)【特許請求の範囲】
【請求項１】
連続する複数の平面に画像を投影するプロジェクタと、前記画像が投影される前記複数の平面を含む投影範囲を撮像するカメラと、を一組の投影装置として、前記プロジェクタの前記投影範囲が他の前記プロジェクタの前記投影範囲と重複するように配置される複数組の投影装置を含む投影システムにおける投影制御装置であって、
複数の前記プロジェクタにより投影される前記投影範囲が重複する重複投影領域を、前記カメラにより撮像された画像から特定する特定手段と、
前記重複投影領域において異なるタイミングで、且つ異なる位置に所定方向に延びる仮想線を複数回設定する設定手段と、
前記重複投影領域において前記仮想線を挟んで隣接する第１領域と第２領域であって、前記第１領域において前記カメラの座標と前記プロジェクタの座標との対応関係が所定条件を満たす座標点の数である第１対応座標数と、前記第２領域において前記カメラの座標と前記プロジェクタの座標との対応関係が所定条件を満たす座標点の数である第２対応座標数とを、前記仮想線ごとに算出する算出手段と、
前記仮想線ごとにおける前記第１対応座標数と前記第２対応座標数とを用いて、いずれかの前記仮想線を、前記重複投影領域に対応する前記複数の平面の境界線として決定する決定手段と、
複数の前記プロジェクタにより投影される各画像の前記重複投影領域に該当する領域のうち、前記決定手段により決定された境界線から特定される投影制限領域について、前記プロジェクタにより投影される画像を補正する補正手段と、
を備えることを特徴とする投影制御装置。
【請求項２】
前記算出手段は、前記仮想線ごとに、前記第１領域において前記プロジェクタの座標から前記カメラの座標へ射影変換する第１ホモグラフィ行例を計算し、且つ、前記第２領域において前記プロジェクタの座標から前記カメラの座標へ射影変換する第２ホモグラフィ行例を計算し、前記第１領域において前記プロジェクタの座標と前記カメラの座標との組合せが前記第１ホモグラフィ行例と適合する第１適合数を前記第１対応座標数として算出し、且つ、前記第２領域において前記プロジェクタの座標と前記カメラの座標との組合せが前記第２ホモグラフィ行例と適合する第２適合数を前記第２対応座標数として算出し、前記決定手段は、前記仮想線ごとにおける前記第１適合数と前記第２適合数とを用いて、いずれかの前記仮想線を、前記重複投影領域に対応する前記複数の平面の境界線として決定することを特徴とする請求項１に記載の投影制御装置。
【請求項３】
前記算出手段は、前記仮想線ごとに、さらに、前記第１領域において前記プロジェクタの座標と前記カメラの座標との組合せが前記第２ホモグラフィ行例と適合する第３適合数を算出し、且つ、前記第２領域において前記プロジェクタの座標と前記カメラの座標との組合せが前記第１ホモグラフィ行例と適合する第４適合数を算出し、
前記決定手段は、前記仮想線ごとにおける前記第１適合数と前記第２適合数とに加えて、前記第３適合数と前記第４適合数とを用いて、いずれかの前記仮想線を、前記重複投影領域に対応する前記複数の平面の境界線として決定することを特徴とする請求項２に記載の投影制御装置。
【請求項４】
前記算出手段は、前記仮想線ごとに、前記第１領域において前記プロジェクタの座標から前記カメラの座標へ射影変換する第１ホモグラフィ行例を計算し、且つ、前記第２領域において前記プロジェクタの座標から前記カメラの座標へ射影変換する第２ホモグラフィ行例を計算し、前記第１領域において前記プロジェクタの座標と前記カメラの座標との組合せが前記第２ホモグラフィ行例と適合する第３適合数を前記第１対応座標数として算出し、且つ、前記第２領域において前記プロジェクタの座標と前記カメラの座標との組合せが前記第１ホモグラフィ行例と適合する第４適合数を前記第１対応座標数として算出し、
前記決定手段は、前記仮想線ごとにおける前記第３適合数と前記第４適合数とを用いて、いずれかの前記仮想線を、前記重複投影領域に対応する前記複数の平面の境界線として決定することを特徴とする請求項１に記載の投影制御装置。
【請求項５】
前記決定手段は、前記第１領域における前記第１適合数と、前記第２領域における前記第２適合数との総和が最も大きい仮想線を、前記重複投影領域に対応する前記複数の平面の境界線として決定することを特徴とする請求項２に記載の投影制御装置。
【請求項６】
前記決定手段は、前記第１領域における前記第１適合数と、前記第２領域における前記第２適合数と、前記第１領域において前記プロジェクタの座標と前記カメラの座標との組合せの総数から前記第３適合数を減算した数と、前記第２領域において前記プロジェクタの座標と前記カメラの座標との組合せの総数から前記第４適合数を減算した数との総和が最も大きい仮想線を、前記重複投影領域に対応する前記複数の平面の境界線として決定することを特徴とする請求項３に記載の投影制御装置。
【請求項７】
前記決定手段は、前記第１領域において前記プロジェクタの座標と前記カメラの座標との組合せの数から前記第３適合数を減算した数と、前記第２領域において前記プロジェクタの座標と前記カメラの座標との組合せの数から前記第４適合数を減算した数との総和が最も大きい仮想線を、前記重複投影領域に対応する前記複数の平面の境界線として決定することを特徴とする請求項４に記載の投影制御装置。
【請求項８】
連続する複数の平面に画像を投影するプロジェクタと、前記画像が投影される前記複数の平面を含む投影範囲を撮像するカメラと、を一組の投影装置として、前記プロジェクタの前記投影範囲が他の前記プロジェクタの前記投影範囲と重複するように配置される複数組の投影装置を含む投影システムにおけるコンピュータに、
複数の前記プロジェクタにより投影される前記投影範囲が重複する重複投影領域を、前記カメラにより撮像された画像から特定する特定ステップと、
前記重複投影領域において異なるタイミングで、且つ異なる位置に仮想線を複数回設定する設定ステップと、
前記重複投影領域において前記仮想線を挟んで隣接する第１領域と第２領域であって、前記第１領域において前記カメラの座標と前記プロジェクタの座標との対応関係が所定条件を満たす座標点の数である第１対応座標数と、前記第２領域において前記カメラの座標と前記プロジェクタの座標との対応関係が所定条件を満たす座標点の数である第２対応座標数とを、前記仮想線ごとに算出する算出ステップと、
前記仮想線ごとにおける前記第１対応座標数と前記第２対応座標数とを用いて、いずれかの前記仮想線を、前記重複投影領域に対応する前記複数の平面の境界線として決定する決定ステップと、
複数の前記プロジェクタにより投影される各画像の前記重複投影領域に該当する領域のうち、前記決定ステップにより決定された境界線から特定される投影制限領域について、前記プロジェクタにより投影される画像を補正する補正ステップと、
を実行させることを特徴とするプログラム。
【請求項９】
連続する複数の平面に画像を投影するプロジェクタと、前記画像が投影される前記複数の平面を含む投影範囲を撮像するカメラと、を一組の投影装置として、前記プロジェクタの前記投影範囲が他の前記プロジェクタの前記投影範囲と重複するように配置される複数組の投影装置を含む投影システムであって、
複数の前記プロジェクタにより投影される前記投影範囲が重複する重複投影領域を、前記カメラにより撮像された画像から特定する特定手段と、
前記重複投影領域において異なるタイミングで、且つ異なる位置に仮想線を複数回設定する設定手段と、
前記重複投影領域において前記仮想線を挟んで隣接する第１領域と第２領域であって、前記第１領域において前記カメラの座標と前記プロジェクタの座標との対応関係が所定条件を満たす座標点の数である第１対応座標数と、前記第２領域において前記カメラの座標と前記プロジェクタの座標との対応関係が所定条件を満たす座標点の数である第２対応座標数とを、前記仮想線ごとに算出する算出手段と、
前記仮想線ごとにおける前記第１対応座標数と前記第２対応座標数とを用いて、いずれかの前記仮想線を、前記重複投影領域に対応する前記複数の平面の境界線として決定する決定手段と、
複数の前記プロジェクタにより投影される各画像の前記重複投影領域に該当する領域のうち、前記決定手段により決定された境界線から特定される投影制限領域について、前記プロジェクタにより投影される画像を補正する補正手段と、
を備えることを特徴とする投影システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数方向にある投影面に画像を投影する投影システムの技術分野に関する。
【背景技術】
【０００２】
従来、投影面中に複数平面が存在する場合においても、情報提示位置を自動決定し、歪みの少ない観測像を情報提示するシステムが知られている。例えば特許文献１に開示された平面投影装置は、投影面をカメラにより撮像した画像の撮像画像点を空間中の平面毎にクラスタリングしてクラスタリングされた撮像画像点から投影領域を決定する。より詳細には、平面毎に異なる濃度を割り当てた階層画像を作成し、１つの領域濃度内に留まる面積最大の縦横サイズを投影領域として決定する。そして、決定された投影領域に歪み無く投影するよう投影像に幾何変換を施してプロジェクタから投影出力するように構成されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１４２４９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
プロジェクタは、特許文献１に記載の平面投影装置のように、１つの平面に画像を投影する使用方法が一般的である。しかしながら、境界を挟んで隣接する複数の平面に、複数のプロジェクタを用いて、それぞれの平面に対応する各プロジェクタから画像を投影する場合がある。この場合、複数のプロジェクタから、隣接する複数の平面に隙間なく画像を投影させるため、複数の平面の境界周辺の領域では、複数のプロジェクタによる異なる方向からの複数の画像が重複して投影されてしまう。このため、複数の平面の境界周辺の領域に投影された画像の見栄えが悪くなってしまうことがある。
【０００５】
本発明は、以上の点に鑑みてなされたものであり、複数のプロジェクタによる異なる方向からの複数の画像が重複して投影される場合であっても、投影された画像の見栄えを良くすることが可能な投影制御装置、プログラム、及び投影システムを提供する。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、請求項１に記載の発明は、連続する複数の平面に画像を投影するプロジェクタと、前記画像が投影される前記複数の平面を含む投影範囲を撮像するカメラと、を一組の投影装置として、前記プロジェクタの前記投影範囲が他の前記プロジェクタの前記投影範囲と重複するように配置される複数組の投影装置を含む投影システムにおける投影制御装置であって、複数の前記プロジェクタにより投影される前記投影範囲が重複する重複投影領域を、前記カメラにより撮像された画像から特定する特定手段と、前記重複投影領域において異なるタイミングで、且つ異なる位置に仮想線を複数回設定する設定手段と、前記重複投影領域において前記仮想線を挟んで隣接する第１領域と第２領域であって、前記第１領域において前記カメラの座標と前記プロジェクタの座標との対応関係が所定条件を満たす座標点の数である第１対応座標数と、前記第２領域において前記カメラの座標と前記プロジェクタの座標との対応関係が所定条件を満たす座標点の数である第２対応座標数とを、前記仮想線ごとに算出する算出手段と、前記仮想線ごとにおける前記第１対応座標数と前記第２対応座標数とを用いて、いずれかの前記仮想線を、前記重複投影領域に対応する前記複数の平面の境界線として決定する決定手段と、複数の前記プロジェクタにより投影される各画像の前記重複投影領域に該当する領域のうち、前記決定手段により決定された境界線から特定される投影制限領域について、前記プロジェクタにより投影される画像を補正する補正手段と、を備えることを特徴とする。
【０００７】
請求項２に記載の発明は、請求項１に記載の投影制御装置において、前記算出手段は、前記仮想線ごとに、前記第１領域において前記プロジェクタの座標から前記カメラの座標へ射影変換する第１ホモグラフィ行例を計算し、且つ、前記第２領域において前記プロジェクタの座標から前記カメラの座標へ射影変換する第２ホモグラフィ行例を計算し、前記第１領域において前記プロジェクタの座標と前記カメラの座標との組合せが前記第１ホモグラフィ行例と適合する第１適合数を前記第１対応座標数として算出し、且つ、前記第２領域において前記プロジェクタの座標と前記カメラの座標との組合せが前記第２ホモグラフィ行例と適合する第２適合数を前記第２対応座標数として算出し、前記決定手段は、前記仮想線ごとにおける前記第１適合数と前記第２適合数とを用いて、いずれかの前記仮想線を、前記重複投影領域に対応する前記複数の平面の境界線として決定することを特徴とする。
【０００８】
請求項３に記載の発明は、請求項２に記載の投影制御装置において、前記算出手段は、前記仮想線ごとに、さらに、前記第１領域において前記プロジェクタの座標と前記カメラの座標との組合せが前記第２ホモグラフィ行例と適合する第３適合数を算出し、且つ、前記第２領域において前記プロジェクタの座標と前記カメラの座標との組合せが前記第１ホモグラフィ行例と適合する第４適合数を算出し、前記決定手段は、前記仮想線ごとにおける前記第１適合数と前記第２適合数とに加えて、前記第３適合数と前記第４適合数とを用いて、いずれかの前記仮想線を、前記重複投影領域に対応する前記複数の平面の境界線として決定することを特徴とする。
【０００９】
請求項４に記載の発明は、請求項１に記載の投影制御装置において、前記算出手段は、前記仮想線ごとに、前記第１領域において前記プロジェクタの座標から前記カメラの座標へ射影変換する第１ホモグラフィ行例を計算し、且つ、前記第２領域において前記プロジェクタの座標から前記カメラの座標へ射影変換する第２ホモグラフィ行例を計算し、前記第１領域において前記プロジェクタの座標と前記カメラの座標との組合せが前記第２ホモグラフィ行例と適合する第３適合数を前記第１対応座標数として算出し、且つ、前記第２領域において前記プロジェクタの座標と前記カメラの座標との組合せが前記第１ホモグラフィ行例と適合する第４適合数を前記第１対応座標数として算出し、前記決定手段は、前記仮想線ごとにおける前記第３適合数と前記第４適合数とを用いて、いずれかの前記仮想線を、前記重複投影領域に対応する前記複数の平面の境界線として決定することを特徴とする。
【００１０】
請求項５に記載の発明は、請求項２に記載の投影制御装置において、前記決定手段は、前記第１領域における前記第１適合数と、前記第２領域における前記第２適合数との総和が最も大きい仮想線を、前記重複投影領域に対応する前記複数の平面の境界線として決定することを特徴とする。
【００１１】
請求項６に記載の発明は、請求項３に記載の投影制御装置において、前記決定手段は、前記第１領域における前記第１適合数と、前記第２領域における前記第２適合数と、前記第１領域において前記プロジェクタの座標と前記カメラの座標との組合せの総数から前記第３適合数を減算した数と、前記第２領域において前記プロジェクタの座標と前記カメラの座標との組合せの総数から前記第４適合数を減算した数との総和が最も大きい仮想線を、前記重複投影領域に対応する前記複数の平面の境界線として決定することを特徴とする。
【００１２】
請求項７に記載の発明は、請求項４に記載の投影制御装置において、前記決定手段は、前記第１領域において前記プロジェクタの座標と前記カメラの座標との組合せの数から前記第３適合数を減算した数と、前記第２領域において前記プロジェクタの座標と前記カメラの座標との組合せの数から前記第４適合数を減算した数との総和が最も大きい仮想線を、前記重複投影領域に対応する前記複数の平面の境界線として決定することを特徴とする。
【００１３】
請求項８に記載の発明は、連続する複数の平面に画像を投影するプロジェクタと、前記画像が投影される前記複数の平面を含む投影範囲を撮像するカメラと、を一組の投影装置として、前記プロジェクタの前記投影範囲が他の前記プロジェクタの前記投影範囲と重複するように配置される複数組の投影装置を含む投影システムにおけるコンピュータに、複数の前記プロジェクタにより投影される前記投影範囲が重複する重複投影領域を、前記カメラにより撮像された画像から特定する特定ステップと、前記重複投影領域において異なるタイミングで、且つ異なる位置に仮想線を複数回設定する設定ステップと、前記重複投影領域において前記仮想線を挟んで隣接する第１領域と第２領域であって、前記第１領域において前記カメラの座標と前記プロジェクタの座標との対応関係が所定条件を満たす座標点の数である第１対応座標数と、前記第２領域において前記カメラの座標と前記プロジェクタの座標との対応関係が所定条件を満たす座標点の数である第２対応座標数とを、前記仮想線ごとに算出する算出ステップと、前記仮想線ごとにおける前記第１対応座標数と前記第２対応座標数とを用いて、いずれかの前記仮想線を、前記重複投影領域に対応する前記複数の平面の境界線として決定する決定ステップと、複数の前記プロジェクタにより投影される各画像の前記重複投影領域に該当する領域のうち、前記決定ステップにより決定された境界線から特定される投影制限領域について、前記プロジェクタにより投影される画像を補正する補正ステップと、を実行させることを特徴とする。
【００１４】
請求項９に記載の発明は、連続する複数の平面に画像を投影するプロジェクタと、前記画像が投影される前記複数の平面を含む投影範囲を撮像するカメラと、を一組の投影装置として、前記プロジェクタの前記投影範囲が他の前記プロジェクタの前記投影範囲と重複するように配置される複数組の投影装置を含む投影システムであって、複数の前記プロジェクタにより投影される前記投影範囲が重複する重複投影領域を、前記カメラにより撮像された画像から特定する特定手段と、前記重複投影領域において異なるタイミングで、且つ異なる位置に所定方向に延びる仮想線を複数回設定する設定手段と、前記重複投影領域において前記仮想線を挟んで隣接する第１領域と第２領域であって、前記第１領域において前記カメラの座標と前記プロジェクタの座標との対応関係が所定条件を満たす座標点の数である第１対応座標数と、前記第２領域において前記カメラの座標と前記プロジェクタの座標との対応関係が所定条件を満たす座標点の数である第２対応座標数とを、前記仮想線ごとに算出する算出手段と、前記仮想線ごとにおける前記第１対応座標数と前記第２対応座標数とを用いて、いずれかの前記仮想線を、前記重複投影領域に対応する前記複数の平面の境界線として決定する決定手段と、複数の前記プロジェクタにより投影される各画像の前記重複投影領域に該当する領域のうち、前記決定手段により決定された境界線から特定される投影制限領域について、前記プロジェクタにより投影される画像を補正する補正手段と、を備えることを特徴とする。
【発明の効果】
【００１５】
請求項１，８及び９に記載の発明によれば、複数のプロジェクタによる異なる方向からの複数の画像が重複して投影される場合であっても、投影された画像の見栄えを良くすることができる。
【００１６】
請求項２，５に記載の発明によれば、実空間における平面の境界に合った最も精度の高い境界線を決定することができる。
【００１７】
請求項３，６に記載の発明によれば、実空間における平面の境界に合った比較的精度の高い境界線を決定することができる。
【００１８】
請求項４，７に記載の発明によれば、実空間における平面の境界に合った比較的精度の高い境界線を決定することができる。
【図面の簡単な説明】
【００１９】
【図１】本実施形態の投影システムＳの概要構成例を示す図である。
【図２】投影システムＳが利用される部屋内に配置されたプロジェクタＰ１〜Ｐ３とカメラＣ１〜Ｃ３の位置関係の一例を示す図である。
【図３】（Ａ）は、元画像の一例を示す図であり、（Ｂ）は、元画像に含まれるプロジェクタ画像Ｐi１〜Ｐi３における重複投影領域Ｐov１，Ｐov２の一例を示す図である。
【図４】プロジェクタ画像Ｐi１〜Ｐi３を分離して示す図である。
【図５】カメラ画像Ｃi１及びＣi２における重複投影領域Ｃov１に設定される仮想線KLの一例を示す図である。
【図６】プロジェクタ画像Ｐi１〜Ｐi３における境界線の一例を示す図である。
【図７】（Ａ）は、制御部４により実行される事前処理の一例を示すフローチャートである。（Ｂ）,（Ｃ）は、カメラ画像Ｃi１及びＣi２における重複投影領域Ｃov１に設定される直線Lの一例を示す図である。
【図８】制御部４により実行される画像補正処理１の一例を示すフローチャートである。
【図９】（Ａ）は、制御部４の画像補正処理２の一例を示すフローチャートである。（Ｂ）〜（Ｅ）は、カメラ画像Ｃi１及びＣi２において特定される各座標点の一例を示す図である。
【図１０】（Ａ）は、制御部４により実行される画像補正処理３の一例を示すフローチャートである。（Ｂ）は、プロジェクタ座標毎にホモグラフィ行列Ｖｓが記録される例を示す図である。
【図１１】制御部４により実行される画像補正処理４の一例を示すフローチャートである。
【図１２】制御部４により実行される投影制御処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００２０】
以下、本発明の実施形態を図面に基づいて説明する。
【００２１】
［１．投影システムの構成及び動作概要］
はじめに、図１及び図２等を参照して、本実施形態の投影システムＳの構成及び動作概要について説明する。投影システムＳは、図１に示すように、プロジェクタＰ１〜Ｐ３、カメラＣ１〜Ｃ３、及び投影制御装置ＣＯ等を備えて構成される。プロジェクタＰ１〜Ｐ３は、それぞれ、有線または無線を介して投影制御装置ＣＯと接続される。カメラＣ１〜Ｃ３は、それぞれ、有線または無線を介して投影制御装置ＣＯと接続される。なお、投影システムＳは、例えばカラオケ店舗等のアミューズメント施設における部屋において利用される。投影システムＳがカラオケ店舗の部屋に適用される場合、部屋内にはカラオケ用の楽曲再生装置（コマンダ）等が設置される。
【００２２】
また、投影システムＳは、１つのプロジェクタと１つのカメラとを一組の投影装置として、複数組の投影装置を含む。図１の例では、投影システムＳは、プロジェクタＰ１とカメラＣ１の組と、プロジェクタＰ２とカメラＣ２の組と、プロジェクタＰ３とカメラＣ３の組との計３組の投影装置を含む。ただし、投影装置が２組以上あれば本発明を適用することができる。各組の投影装置におけるプロジェクタとカメラとは、部屋内において、図２（Ａ）に示すように近づけて設置されてもよいし、図２（Ｂ）に示すように遠ざけて設置されてもよい。
【００２３】
プロジェクタＰ１〜Ｐ３は、それぞれ、投影制御装置ＣＯから出力された画像信号に応じた光を発光部から発光することにより、連続する複数の平面に画像（以下、「プロジェクタ画像」という）を投影する。プロジェクタ画像は、２次元平面の画像である。プロジェクタＰ１〜Ｐ３から出力される各プロジェクタ画像は、本実施形態では図３（Ａ）に示すように元画像から分割された画像とするが、元画像から分割された画像ではなく、それぞれが独立した画像であってもよい。また、各プロジェクタ画像が投影される平面は、本実施形態では部屋の壁面とするが、部屋の天井面や床面であってもよい。図２（Ａ），（Ｂ）の例では、プロジェクタＰ１は、投影角Θ１に収まる投影範囲内の壁面Ｗ１及び壁面Ｗ２にプロジェクタ画像を投影する。例えば、図３（Ｂ），図４に示すように元画像から分割されたプロジェクタ画像Ｐi１がプロジェクタＰ１から出力されて投影される。壁面Ｗ１と壁面Ｗ２とは、境界Ｂ１を挟んで隣接している。境界Ｂ１は、壁面Ｗ１と壁面Ｗ２との間の角（かど）である。プロジェクタＰ２は、投影角Θ２に収まる投影範囲内の壁面Ｗ１、壁面Ｗ２及び壁面Ｗ３にプロジェクタ画像を投影する。例えば、図３（Ｂ），図４に示すように元画像から分割されたプロジェクタ画像Ｐi２がプロジェクタＰ２から出力されて投影される。壁面Ｗ２と壁面Ｗ３とは、境界Ｂ２を挟んで隣接している。境界Ｂ２は、壁面Ｗ２と壁面Ｗ３との間の角（かど）である。プロジェクタＰ３は、投影角Θ３に収まる投影範囲内の壁面Ｗ２及び壁面Ｗ３にプロジェクタ画像を投影する。例えば、図３（Ｂ），図４に示すように元画像から分割されたプロジェクタ画像Ｐi２がプロジェクタＰ３から出力されて投影される。
【００２４】
このように、それぞれのプロジェクタＰ１〜Ｐ３は、それぞれの投影範囲が他のプロジェクタの投影範囲と重複するように配置される。例えば、プロジェクタＰ１の投影範囲とプロジェクタＰ２の投影範囲とは、境界Ｂ１を挟んで壁面Ｗ１の右端部領域と壁面Ｗ２の左端部領域において重複している。このように投影範囲が重複する領域を「重複投影領域」（オーバーラップ領域）という。プロジェクタＰ１とプロジェクタＰ２の投影範囲が重複する重複投影領域には、図３（Ｂ），図４に示すように、プロジェクタ画像Ｐi１とプロジェクタ画像Ｐi２とが重複する部分Ｐov１の画像が投影されることになる。また、プロジェクタＰ２の投影範囲とプロジェクタＰ３の投影範囲とは、境界Ｂ２を挟んで壁面Ｗ２の右端部領域と壁面Ｗ３の左端部領域において重複している。プロジェクタＰ２とプロジェクタＰ３の投影範囲が重複する重複投影領域には、図３（Ｂ），図４に示すように、プロジェクタ画像Ｐi２とプロジェクタ画像Ｐi３とが重複する部分Ｐov２の画像が投影されることになる。なお、図２（Ａ），（Ｂ）の例では、境界Ｂ１の角度は、９０度であるが、９０度より小さい鋭角であってもよいし、９０度より大きい鈍角であってもよい。
【００２５】
カメラＣ１〜Ｃ３は、それぞれ、プロジェクタ画像が投影される複数の壁面を含む投影範囲を撮像し、撮像した画像（以下、「カメラ画像」という）を投影制御装置ＣＯへ出力する。なお、カメラ画像は、２次元平面の画像であるが、３次元空間中の複数の２次元平面（例えば、壁面）が映り込んだ画像である。図２（Ａ），（Ｂ）の例では、カメラＣ１は、画角θ１に収まる撮像範囲内であって、プロジェクタＰ１によりプロジェクタ画像が投影される壁面Ｗ１及び壁面Ｗ２を含む投影範囲を撮像する。ここで、カメラＣ１の撮像範囲は、プロジェクタＰ１の投影範囲よりも広い範囲である。カメラＣ２は、画角θ２に収まる撮像範囲内であって、プロジェクタＰ２によりプロジェクタ画像が投影される壁面Ｗ１、壁面Ｗ２及び壁面Ｗ３を含む投影範囲を撮像する。ここで、カメラＣ２の撮像範囲は、プロジェクタＰ２の投影範囲よりも広い範囲である。カメラＣ３は、画角θ３に収まる撮像範囲内であって、プロジェクタＰ３によりプロジェクタ画像が投影される壁面Ｗ２及び壁面Ｗ３を含む投影範囲を撮像する。ここで、カメラＣ３の撮像範囲は、プロジェクタＰ３の投影範囲よりも広い範囲である。
【００２６】
投影制御装置ＣＯは、プロジェクタ画像の投影制御を行う。投影制御装置ＣＯは、図１に示すように、ＩＦ１ａ〜１ｆ、記憶部２、操作部３、及び制御部４を備える。ＩＦ１ａ〜１ｆ、記憶部２、操作部３、及び制御部４は、バス５に接続されている。ＩＦ１ａ〜１ｃは、それぞれ、カメラＣ１〜Ｃ３とのインターフェースである。ＩＦ１ｄ〜１ｆは、それぞれ、プロジェクタＰ１〜Ｐ３とのインターフェースである。記憶部２は、例えばハードディスクドライブにより構成される。記憶部２には、ＯＳ（Operating System）、及びアプリケーションプログラム（本発明のプログラムを含む）等が記憶される。アプリケーションプログラムは、ＯＳ上で後述する画像補正処理及び投影制御処理等を制御部４のＣＰＵに実行させるプログラムである。また、記憶部２には、元画像の画像データ等が記憶される。元画像には、後述するパターン画像、及びコンテンツ画像が含まれる。操作部３は、オペレータからの操作指示を受け付け、その操作指示に応じた信号を制御部４へ出力する。制御部４は、コンピュータとしてのＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、及びＲＡＭ（Random Access Memory）等により構成される。制御部４は、本発明の特定手段、設定手段、算出手段、決定手段、及び補正手段として、画像補正処理の中で特徴的な処理を行う。
【００２７】
ここで、画像補正処理の中で行われる特徴的な処理について、図５及び図６を参照して説明する。この特徴的な処理では、先ず、制御部４は、プロジェクタＰ１〜Ｐ３により投影される投影範囲が重複する重複投影領域を、カメラＣ１〜Ｃ３により撮像されたカメラ画像から特定する。重複投影領域は、プロジェクタＰ１〜Ｐ３のうち、投影するプロジェクタを１台ずつ順次切り換え、いずれかのプロジェクタにより投影された画像を、カメラＣ１〜Ｃ３により撮像することにより特定される。具体的には、複数台のプロジェクタを順に切り換え、投影されるプロジェクタの各々による投影範囲が、投影されるプロジェクタごとにカメラで撮像される。そして、撮像されたカメラ画像から、投影されたプロジェクタそれぞれの投影範囲が特定される。特定された各プロジェクタによって異なる投影範囲を比較することにより、複数台のプロジェクタでの重複投影領域が特定される。図５（Ａ）の例では、カメラＣ１〜Ｃ３により撮像されたカメラ画像Ｃi１〜Ｃi２において、重複投影領域Ｃov１と重複投影領域Ｃov２とが特定される。図５の例は、カメラＣ１〜Ｃ３に共通するカメラ座標系にカメラ画像Ｃi１〜Ｃi３を配置した例を示している。次に、制御部４は、特定した重複投影領域Ｃov１において、図５（Ａ），（Ｂ）に示すように、異なるタイミングで、且つ異なる位置に仮想線KLを複数回（少なくとも２回）設定する。仮想線KLは、例えば鉛直方向に重複投影領域Ｃov１の下端から上端まで延びる直線である。複数回設定される仮想線KLは、いずれも同一の軌跡で、重複投影領域Ｃov１の所定方向の一端から他端まで延びる線である。仮想線KLは、重複投影領域Ｃov１において、ｘ軸方向に１座標（１ドット）ずつ移動（シフト）された位置に設定されるとよい。なお、図５（Ａ）の例では、重複投影領域Ｃov１にのみ仮想線KLが設定されているが、重複投影領域Ｃov２においても別のタイミングで仮想線KLが設定されることになる。本実施形態では、水平方向に隣り合う壁面Ｗ１及び壁面Ｗ２に投影するプロジェクタ画像に対し、鉛直方向の仮想線を設定したがこれに限らない。例えば、鉛直方向に隣り合う２つの壁面に投影するプロジェクタ画像に対し、仮想線を設定する場合には、水平方向の仮想線を設定してもよい。また、２つの壁面の間の角の形状が予め判っている場合には、仮想線に、角の形状に合う傾きを持つ直線や曲線を設定してもよい。
【００２８】
次に、制御部４は、重複投影領域Ｃov１において仮想線KLを挟んで隣接する左側領域Ａl１（第１領域の一例）と右側領域Ａr１（第２領域の一例）とを特定する。なお、本実施形態では、第１領域及び第２領域の一例として左側領域及び右側領域を特定したが、例えば仮想線を水平方向に設定してもよく、この場合、上側領域及び下側領域を特定することになる。制御部４は、左側領域Ａ1１においてカメラの座標（以下、「カメラ座標」という）とプロジェクタの座標（以下、「プロジェクタ座標」という）との対応関係が所定条件を満たす座標点（ドット）の数である左側対応座標数（第１対応座標数）と、右側領域Ａr１においてカメラ座標とプロジェクタ座標との対応関係が所定条件を満たす座標点の数である右側対応座標数（第２対応座標数の一例）とを、図５（Ａ），（Ｂ）に示すような異なる位置の仮想線KLごとに算出する。ここで、カメラ座標とは、例えば、カメラＣ１〜Ｃ３のそれぞれのカメラ座標系におけるカメラ画像上の座標（２次元座標）である。一方、プロジェクタ座標とは、例えば、プロジェクタＰ１〜Ｐ３のそれぞれのプロジェクタ座標系におけるプロジェクタ画像上の座標（２次元座標）である。なお、それぞれの座標系は、例えば、それぞれの画像の左上端を原点（0,0）とする座標系である。また、所定条件は、例えば、プロジェクタ画像Ｐi１の平面と、カメラ画像Ｃi１に映り込んだ平面（例えば、壁面Ｗ１）との対応関係を表す関係式に適合するという条件である。そして、制御部４は、仮想線KLごとに算出した右側対応座標数と左側対応座標数とを用いて後述するようにスコアを算出することで、異なるタイミングで設定されたいずれかの仮想線KLを重複投影領域Ｃov１に対応する複数の平面（壁面Ｗ１と壁面Ｗ２）の境界線として決定する。なお、図５の例の場合、重複投影領域Ｃov２においても上記と同様に右側対応座標数と左側対応座標数とを用いて境界線が決定される。
【００２９】
次に、制御部４は、決定された境界線からプロジェクタＰ１〜Ｐ３により投影されるプロジェクタ画像Ｐi１〜Ｐi３の投影制限領域を特定し、特定された投影制限領域に基づいてこの投影制限領域の投影を制限するようにプロジェクタ画像Ｐi１〜Ｐi３を補正する。図６の例では、プロジェクタ画像Ｐi１における重複投影領域Ｐov１内の境界線からプロジェクタ画像Ｐi１の右端までの投影制限領域を黒で塗りつぶす補正が行われている。なお、図６の例に示す境界線は、便宜上、プロジェクタ画像の底辺に垂直な直線になっているが、垂直な直線になるとは限らない。また、図６の例では、プロジェクタ画像Ｐi２における重複投影領域Ｐov１内の境界線からプロジェクタ画像Ｐi２の左端までの投影制限領域と、プロジェクタ画像Ｐi２における重複投影領域Ｐov２内の境界線からプロジェクタ画像Ｐi２の右端までの投影制限領域とを黒で塗りつぶす補正が行われている。また、図６の例では、プロジェクタ画像Ｐi３における重複投影領域Ｐov２内の境界線からプロジェクタ画像Ｐi３の左端までの投影制限領域を黒で塗りつぶす補正が行われている。このような補正により、例えばプロジェクタＰ２の正面にある壁面Ｗ２にプロジェクタ画像Ｐi２のうちの意味のある画像（例えば、パターン画像やコンテンツ画像）を投影させ、正面以外の壁面Ｗ１及び壁面Ｗ３にはそのプロジェクタ画像Ｐi２のうちの黒画像を投影させることができる。つまり、間延びなどの見栄えの良くない正面以外の壁面Ｗ１及び壁面Ｗ３に黒画像を投影させることができる。そして、この黒画像が投影される部分には、プロジェクタＰ１とプロジェクタＰ３により意味のあるプロジェクタ画像Ｐi１，Ｐi３を投影（つまり、暗い壁面に画像を投影）させることができる。なお、図６の例では、投影制限領域を黒で塗りつぶす補正を行っているが、投影制限領域の透過度を高くする補正を行ってもよい。
【００３０】
［２．投影システムＳの動作］
次に、本実施形態の投影システムＳで実施される動作例について説明する。
【００３１】
（２−１．事前処理）
先ず、図７を参照して、画像補正処理の前段階で実行される事前処理について説明する。図７（Ａ）に示す事前処理は、オペレータによる操作部３の操作にしたがって開始される。図７（Ａ）に示す事前処理が開始されると、制御部４は、カメラの歪み補正を行う（ステップＳ１）。ここで、カメラの歪み補正は、Zhengyou Zhang による“A Flexible New Technique for Camera Calibration”に記載された方法を用いるとよい。図１に示す構成では、カメラＣ１〜Ｃ３のうちの全部または一部の歪み補正が行われる。なお、精度の良いカメラを使用する場合、ステップＳ１の処理は行われなくてもよい。
【００３２】
次いで、制御部４は、プロジェクタとカメラとの全ての組合せについて、プロジェクタ座標とカメラ座標との対応付けを行う（ステップＳ２）。つまり、投影装置を構成するプロジェクタとカメラとの組以外の組合せについてもプロジェクタ座標とカメラ座標との対応付けが行われる。プロジェクタ座標とカメラ座標との対応付けは、例えばJ.BATTLEらによる “RECENT PROGRESS IN CODED STRUCTURED LIGHT AS A TECHNIQUE TO SOLVE THE CORRESPONDENCE PROBLEM: A SURVEY”に記載された方法を用いるとよい。
【００３３】
図１に示す構成では、プロジェクタＰ１〜Ｐ３により投影されたプロジェクタ画像Ｐi１〜Ｐi３と、カメラＣ１〜Ｃ３により撮像されたカメラ画像Ｃi１〜Ｃi３とが用いられる。ここで用いられるプロジェクタ画像は、後述する画像補正処理４で求められるマップＭを作成するためのパターン画像（サンプル画像）である。そして、プロジェクタＰ１とカメラＣ１との組合せと、プロジェクタＰ１とカメラＣ２との組合せと、プロジェクタＰ１とカメラＣ３との組合せと、プロジェクタＰ２とカメラＣ１との組合せと、プロジェクタＰ２とカメラＣ２との組合せと、プロジェクタＰ２とカメラＣ３との組合せと、プロジェクタＰ３とカメラＣ１との組合せと、プロジェクタＰ３とカメラＣ２との組合せと、プロジェクタＰ３とカメラＣ３との組合せと、のそれぞれについて、プロジェクタ座標とカメラ座標との対応付けが行われる。例えば、プロジェクタＰ１とカメラＣ１との組合せについてのプロジェクタ座標とカメラ座標との対応付けでは、プロジェクタＰ１により投影されたプロジェクタ画像Ｐi１とカメラＣ１により撮像されたカメラ画像Ｃi１とが用いられる。なお、カメラ座標に対応するプロジェクタ座標がない場合もある。
【００３４】
次いで、制御部４は、ステップＳ３〜Ｓ８のループ処理を、プロジェクタのインデックスを示す変数ｍが１〜Ｍ（投影装置の組数）まで繰り返し行う。図１に示す構成では、Ｍは３であるため、ループ処理は３回繰り返された後に終了する。このループ処理は、カメラの傾きに起因するカメラ画像中の被写体の傾きを補正するための処理である。例えばカメラＣ１が多少傾いた状態で正面の壁面Ｗ１を撮像しても、その傾きはカメラ画像中の壁面Ｗ１の傾きには影響しない（壁面Ｗ１が傾いていない状態で映る）。しかし、例えばカメラＣ１が多少傾いた状態で正面の壁面Ｗ１以外の壁面Ｗ２を撮像すると、その傾きはカメラ画像中の壁面Ｗ２の傾きには影響してしまう（壁面Ｗ２が傾いた状態で映る）。ループ処理によれば、カメラ画像中の傾いた壁面Ｗ２の部分を計算上傾いていないように補正することで、後に行われる画像補正処理における仮想線の決定精度を高めることができる。
【００３５】
ステップＳ３では、制御部４は、カメラ画像Ｃiｍとカメラ画像Ｃiｍ+１のそれぞれのカメラ座標に対応付けられたプロジェクタ座標中より共通のプロジェクタ座標を持つ重複投影領域Ｃovｍを特定する。次いで、制御部４は、図７（Ｂ）に示すように、カメラ画像Ｃiｍにおける重複投影領域Ｃovｍに鉛直の直線Lを設定する（ステップＳ４）。
【００３６】
次いで、制御部４は、図７（Ｃ）に示すように、カメラ画像Ｃiｍ+１における重複投影領域Ｃovｍにおいて直線Lに対応する直線L’を特定する（ステップＳ５）。この直線L’は、直線Lが鉛直であっても、上述した理由で傾く（つまり、９０度ではない）ことがある。制御部４は、直線 L’の傾きの逆数を最小化する３次元回転行列Ｒを求める（ステップＳ６）。ここで、直線 L’の傾きａの逆数（１／ａ）を最小化する（つまり、０にする）ことは、直線 L’の傾きａの最大化する（つまり、９０度にする）ことに等しい。
【００３７】
次いで、制御部４は、カメラ画像Ｃiｍ+１における重複投影領域Ｃovｍに３次元回転行列Ｒを適用する（ステップＳ７）。これにより、直線 L’が鉛直になるように、カメラ画像Ｃiｍ+１における重複投影領域Ｃovｍが回転される。次いで、制御部４は、変数ｍを１インクリメントし（ステップＳ８）、ループ処理を繰り返す場合にはステップＳ３に戻る。
【００３８】
（２−２．画像補正処理１）
次に、図８を参照して、画像補正処理１について説明する。図８に示す画像補正処理１は、重複投影領域における複数の平面の境界線を決定するための処理である。図８に示す画像補正処理１は、図７に示す事前処理が行われた後、自動的に開始、またはオペレータによる操作部３の操作にしたがって開始される。図８に示す画像補正処理１が開始されると、制御部４は、ステップＳ１１〜Ｓ２３のループ処理を、変数ｍが１〜Ｍまで繰り返し行う。図１に示す構成では、Ｍは３であるため、ループ処理は３回繰り返された後に終了する。
【００３９】
ステップＳ１１では、制御部４は、カメラ画像Ｃiｍとカメラ画像Ｃiｍ+１のそれぞれのカメラ座標に対応付けられたプロジェクタ座標中より共通のプロジェクタ座標を持つ重複投影領域Ｃovｍを特定する。次いで、制御部４は、ステップＳ１２〜Ｓ１９のループ処理を仮想線KLが重複投影領域の左端から右端に移動（ｘ軸方向にシフト）するまで繰り返し行う。
【００４０】
ステップＳ１２では、制御部４は、重複投影領域Ｃovｍにおいて仮想線KLを設定する。最初の設定では、重複投影領域Ｃovｍの左端の位置に仮想線KLが設定される。次いで、制御部４は、重複投影領域Ｃovｍにおいて仮想線KLを挟んで隣接する左側領域Ａlｍと右側領域Ａrｍとを特定する（ステップＳ１３）。
【００４１】
次いで、制御部４は、左側領域ＡｌｍにおいてプロジェクタＰｍとカメラＣｍの座標対応関係を表すホモグラフィ行列Ｈ１を計算する（ステップＳ１４）。ここで、ホモグラフィ行列Ｈ１の計算は、例えば、Hartley, Zissermanによる“Multiple View Geometry in Computer Vision second edtion”のP109に記載の方法を用いるとよい。ホモグラフィ行列Ｈ１は、左側領域Ａｌｍにおいてプロジェクタ座標からカメラ座標へ射影変換する３×３行列である。ホモグラフィ行列Ｈ１は、例えば左側領域Ａｌ１においてプロジェクタ画像Ｐiｍの平面とカメラ画像Ｃiｍに映り込んだ平面（つまり、壁面Ｗｍ）とを関係付ける。カメラ画像Ｃiｍに映り込んだ平面は、例えば、プロジェクタＰ１〜Ｐ３とカメラＣ１〜Ｃ３との組合せにおけるプロジェクタ座標とカメラ座標との対応付けから抽出することができる。左側領域Ａｌｍにおいて、プロジェクタ画像Ｐiｍ上の座標点をp1、カメラ画像Ｃiｍ上の座標点をc1とすると、p1とc1との対応関係は、下記（１）に示す関係式で表される。
【００４２】
c1＝Ｈ１×p1 ・・・（１）
【００４３】
ただし、ホモグラフィ行列は、あくまでも２つの平面を１対１で対応付けるものである。また、ホモグラフィ行列には順序関係がある。変換元の座標点p1と変換先の座標点c1を逆にした対応関係もまた、ホモグラフィ行列で表すことができ、これは、下記（２）に示す関係式で表されるように、ホモグラフィ行列Ｈ１の逆行列inv（Ｈ１）が用いられる。
【００４４】
p1＝inv（Ｈ１）×c1・・・（２）
【００４５】
次いで、制御部４は、右側領域ＡrｍにおいてプロジェクタＰｍとカメラＣｍの座標対応関係を表すホモグラフィ行列Ｈ２を計算する（ステップＳ１５）。ホモグラフィ行列Ｈ２は、右側領域Ａrｍにおいてプロジェクタ座標からカメラ座標へ射影変換する３×３行列である。ホモグラフィ行列Ｈ２は、右側領域Ａrｍにおいてプロジェクタ画像Ｐiｍの平面とカメラ画像Ｃiｍに映り込んだ平面（つまり、壁面Ｗｍ+１）とを関係付ける。右側領域Ａrｍにおいて、プロジェクタ画像Ｐiｍ上の座標点をp2、カメラ画像Ｃiｍ上の座標点をc2とすると、p2とc2との対応関係は、下記（３）に示す関係式で表される。
【００４６】
c2＝Ｈ２×p2 ・・・（３）
【００４７】
また、変換元の座標点p2と変換先の座標点c2を逆にした対応関係は、下記（４）に示す関係式で表される。
【００４８】
p2＝inv（Ｈ２）×c2・・・（４）
【００４９】
次いで、制御部４は、左側領域Ａlｍにおいてカメラ座標とプロジェクタ座標との対応関係が所定条件を満たす座標点の数である左側対応座標数を算出する（ステップＳ１６）。所定条件とは、例えば、カメラ画像上の座標点と、ステップＳ１５において計算されたホモグラフィ行列とプロジェクタ画像上の座標点との関係を定めるものである。言い換えると、所定条件は、カメラ画像上の座標点と、ホモグラフィ行列とプロジェクタ画像上の座標点との一致度を求めるものであればよい。この所定条件として、例えば、下記（５）に示す条件が適用される。
【００５０】
NORM（c1−Ｈ１×p1）≦閾値 ・・・（５）
【００５１】
ここで、閾値は０、または０から誤差を数％考慮した値である。NORMはベクトルの大きさを測る計算であり、ベクトル解析学でいう２−ノルムの計算である。上記（５）に示す条件を満たす座標点の数である左側対応座標数は、左側領域Ａlｍにおいてプロジェクタ座標とカメラ座標との組合せ（つまり、座標点p1と座標点c1との組合せ）がホモグラフィ行例Ｈ１と適合する適合数ｎ１１（第１適合数の一例）である。なお、左側領域Ａlｍにおいてプロジェクタ座標とカメラ座標との組合せの総数は左側対応総数ｎ１として算出することができる。仮想線KLが部屋内の境界Ｂ１の境界線とほぼ一致するとき、適合数ｎ１１≒左側対応総数ｎ１となる。
【００５２】
また、上記（５）に示す条件に代えて、或いは上記（５）に示す条件と共に、下記（６）に示す条件が適用されてもよい。
【００５３】
NORM（c1−Ｈ２×p1）≦閾値 ・・・（６）
【００５４】
ここで、閾値は（５）に示す条件と同様であり、NORMは（５）に示す計算と同様にベクトルの大きさを測る計算である。上記（６）に示す条件を満たす座標点の数である左側対応座標数は、左側領域Ａlｍにおいてプロジェクタ座標とカメラ座標との組合せがホモグラフィ行例Ｈ２と適合する適合数ｎ２１（第３適合数の一例）である。仮想線KLが部屋内の境界Ｂ１の境界線とほぼ一致するとき、適合数ｎ２１≒０となる。
【００５５】
次いで、制御部４は、右側領域Ａrｍにおいてカメラ座標とプロジェクタ座標との対応関係が所定条件を満たす右側対応座標数を算出する（ステップＳ１７）。この所定条件として、例えば、下記（７）に示す条件が適用される。
【００５６】
NORM（c2−Ｈ２×p2）≦閾値 ・・・（７）
【００５７】
ここで、閾値は（５）に示す条件と同様であり、NORMは（５）に示す計算と同様にベクトルの大きさを測る計算である。上記（７）に示す条件を満たす座標点の数である右側対応座標数は、右側領域Ａrｍにおいてプロジェクタ座標とカメラ座標との組合せがホモグラフィ行例Ｈ２と適合する適合数ｎ２２（第２適合数の一例）である。なお、右側領域Ａrｍにおいてプロジェクタ座標とカメラ座標との組合せの総数は右側対応総数ｎ２として算出することができる。仮想線KLが部屋内の境界Ｂ１の境界線とほぼ一致するとき、適合数ｎ２２≒右側対応総数ｎ２となる。
【００５８】
また、上記（７）に示す条件に代えて、或いは上記（７）に示す条件と共に、下記（８）に示す条件が適用されてもよい。
【００５９】
NORM（c2−Ｈ１×p2）≦閾値 ・・・（８）
【００６０】
ここで、閾値は（５）に示す条件と同様であり、NORMは（５）に示す計算と同様にベクトルの大きさを測る計算である。上記（８）に示す条件を満たす座標点の数である右側対応座標数は、右側領域Ａrｍにおいてプロジェクタ座標とカメラ座標との組合せがホモグラフィ行例Ｈ１と適合する適合数ｎ１２（第４適合数の一例）である。仮想線KLが部屋内の境界Ｂ１の境界線とほぼ一致するとき、適合数ｎ１２≒０となる。
【００６１】
次いで、制御部４は、ステップＳ１６で算出された右側対応座標数と、ステップＳ１７で算出された左側対応座標数とを用いてスコアを算出する（ステップＳ１８）。このスコアを算出するために、例えば、下記（９）〜（１１）の何れか１つ適用される。
【００６２】
スコア＝ｎ１１＋ｎ２２＋（ｎ１−ｎ２１）＋（ｎ２−ｎ１２）・・・（９）
スコア＝ｎ１１＋ｎ２２・・・（１０）
スコア＝（ｎ１−ｎ２１）＋（ｎ２−ｎ１２） ・・・（１１）
【００６３】
ここで、（９）に示すスコア算出式を適用する場合、制御部４は、適合数ｎ１１と適合数ｎ２２とに加えて、適合数ｎ２１と適合数ｎ１２とを用いて、ステップＳ２０で境界線を決定することになる。これにより、実空間における平面の境界に合った最も精度の高い境界線を決定することができる。一方、（１０）に示すスコア算出式を適用する場合、制御部４は、適合数ｎ１１と適合数ｎ２２とを用いて、ステップＳ２０で境界線を決定することになる。これによっても、実空間における平面の境界に合った比較的精度の高い境界線を決定することができる。一方、（１１）に示すスコア算出式を適用する場合、制御部４は、適合数ｎ２１と適合数ｎ１２とを用いて、ステップＳ２０で境界線を決定することになる。これによっても、実空間における平面の境界に合った比較的精度の高い境界線を決定することができる。なお、プロジェクタ座標とカメラ座標との組合せが、ホモグラフィ行例Ｈ１とホモグラフィ行例Ｈ２との双方に適合してしまう場合（例えば、境界の角度が鈍角で大きくなるような場合）がある。このため、上記（９），（１１）式に示すように、（ｎ１−ｎ２１）と（ｎ２−ｎ１２）とをスコアの計算要素として組み込むことで、ホモグラフィ行例Ｈ１とホモグラフィ行例Ｈ２との双方に適合する組合せ（つまり、信頼度の低い組合せ）を除外したスコアを算出することができる。
【００６４】
次いで、制御部４は、仮想線KLの位置を１座標だけ右側にシフトし（ステップＳ１９）、ステップＳ１２に戻り、シフトされた位置に仮想線KLを設定する。
【００６５】
そして、ステップＳ１２〜Ｓ１９のループ処理が終了すると、制御部４は、異なる位置の仮想線KLのうち、算出されたスコアが最大となった仮想線KLを重複投影領域Ｃovｍに対応する複数の平面の境界線（例えば、部屋内の境界Ｂ１の境界線）として決定する（ステップＳ２０）。つまり、（９）に示すスコア算出式が適用された場合、制御部４は、適合数ｎ１１と、適合数ｎ２２と、左側対応総数ｎ１から適合数ｎ２１を減算した数と、右側対応総数ｎ２から適合数ｎ１２を減算した数との総和（スコア）が最も大きい仮想線KLを、重複投影領域Ｃovｍに対応する複数の平面の境界線として決定する。これにより、実空間における平面の境界に合った最も精度の高い境界線を決定することができる。一方、（１０）に示すスコア算出式が適用された場合、制御部４は、適合数ｎ１１と、適合数ｎ２２との総和（スコア）が最も大きい仮想線KLを、重複投影領域Ｃovｍに対応する複数の平面の境界線として決定する。これによっても、実空間における平面の境界に合った比較的精度の高い境界線を決定することができる。一方、（１１）に示すスコア算出式が適用された場合、制御部４は、左側対応総数ｎ１から適合数ｎ２１を減算した数と、右側対応総数ｎ２から適合数ｎ１２を減算した数との総和（スコア）が最も大きい仮想線KLを、重複投影領域Ｃovｍに対応する複数の平面の境界線として決定する。これによっても、実空間における平面の境界に合った比較的精度の高い境界線を決定することができる。
【００６６】
次いで、制御部４は、上述したプロジェクタ座標とカメラ座標との対応関係に基づいて、ステップＳ２０で決定された境界線からプロジェクタ画像Ｐiｍとプロジェクタ画像Ｐiｍ+１における境界線を特定する（ステップＳ２１）。次いで、制御部４は、境界線上の座標をプロジェクタ画像Ｐiｍの右端座標（これを、右端補正座標という）に設定し、且つ、境界線上の座標をプロジェクタ画像Ｐiｍ+1の左端座標（これを、左端補正座標という）に設定する（ステップＳ２２）。次いで、制御部４は、変数ｍを１インクリメントし（ステップＳ２３）、ループ処理を繰り返す場合にはステップＳ１１に戻る。
【００６７】
（２−３．画像補正処理２）
次に、図９を参照して、画像補正処理２について説明する。図９（Ａ）に示す画像補正処理２は、例えば図９（Ｂ）に示すように、カメラ画像Ｃi2がカメラ画像Ｃi1及びＣi3に対してｙ軸方向（縦方向）にずれている場合に、このずれを解消するための処理である。図９（Ａ）に示す画像補正処理２は、画像補正処理１が行われた後、自動的に開始、またはオペレータによる操作部３の操作にしたがって開始される。図９（Ａ）に示す画像補正処理２が開始されると、制御部４は、３×３行列Ｕ［ｍ］（ｍ＝1,2・・・）を単位行列（つまり、座標変換をしない行列）で初期化する（ステップＳ３１）。
【００６８】
次いで、制御部４は、ステップＳ３２〜Ｓ４３のループ処理を変数ｍが１〜Ｍ−１まで（偶数のみ）繰り返し行う。図１に示す構成では、Ｍは３であるため、ループ処理は１回だけ行われた後に終了する。このループ処理の中で、制御部４は、ステップＳ３２〜Ｓ４１のループ処理を変数Ｙが０〜「カメラ画像Ｃiｍの高さ（ｙ軸方向の高さ）−１」まで繰り返し行う。
【００６９】
ステップＳ１１では、制御部４は、上述したプロジェクタ座標とカメラ座標との対応関係に基づいて、カメラ画像Ｃiｍにおける重複投影領域Ｃovｍ-１内の境界線（画像補正処理１で決定された境界線）上でｙ座標がＹである座標点c11に対応する座標点p11であって、プロジェクタ画像Ｐiｍ上の座標点p11を特定する（ステップＳ３２）。次いで、制御部４は、図９（Ｃ）に示すように、プロジェクタ画像Ｐiｍ上の座標点p11に対応する座標点c10であって、カメラ画像Ｃiｍ-１上の座標点c10を特定する（ステップＳ３３）。次いで、制御部４は、カメラ画像Ｃiｍ-１上の座標点c10に対応する座標点p10であって、プロジェクタ画像Ｐiｍ-１上の座標点p10を特定する（ステップＳ３４）。次いで、制御部４は、図９（Ｃ）に示すように、プロジェクタ画像Ｐiｍ-１上の座標点p10に対応する座標点c11'であって、カメラ画像Ｃiｍ上の座標点c11'を特定する（ステップＳ３５）。
【００７０】
次いで、制御部４は、カメラ画像Ｃiｍにおける重複投影領域Ｃovｍ内の境界線上でｙ座標がＹである座標点c21に対応する座標点p21であって、プロジェクタ画像Ｐiｍ上の座標点p21を特定する（ステップＳ３６）。次いで、制御部４は、図９（Ｄ）に示すように、プロジェクタ画像Ｐiｍ上の座標点p21に対応する座標点c22であって、カメラ画像Ｃiｍ+１上の座標点c22を特定する（ステップＳ３７）。次いで、制御部４は、カメラ画像Ｃiｍ+１上の座標点c22に対応する座標点p22であって、プロジェクタ画像Ｐiｍ+１上の座標点p22を特定する（ステップＳ３８）。次いで、制御部４は、図９（Ｄ）に示すように、プロジェクタ画像Ｐiｍ+１上の座標点p22に対応する座標点c21'であって、カメラ画像Ciｍ上の座標点c21'を特定する（ステップＳ３９）。
【００７１】
次いで、制御部４は、カメラ画像Ｃiｍ上の座標点c11とカメラ画像Ｃiｍ上の座標点c11'との対応関係と、カメラ画像Ｃiｍ上の座標点c21とカメラ画像Ｃiｍ上の座標点c21'との対応関係とをメモリに保存する（ステップＳ４０）。次いで、制御部４は、変数Ｙを１インクリメントし（ステップＳ４１）、ループ処理を繰り返す場合にはステップＳ３２に戻る。
【００７２】
そして、ステップＳ３２〜Ｓ４１のループ処理が終了すると、制御部４は、メモリに保存された対応関係よりホモグラフィ行列Ｕ[ｍ]を計算する（ステップＳ４２）。このホモグラフィ行列Ｕ[ｍ]は、図９（Ｂ）に示すカメラ画像Ｃi２上の座標点を、図９（Ｅ）に示すカメラ画像Ｃi２上の座標点に変換することでｙ軸方向のずれを補正するための行列である。ホモグラフィ行列Ｕ[ｍ]により、c11とc11'との対応関係は、下記（１２）に示す関係式で表され、例えば、c21とc21'との対応関係は、下記（１３）に示す関係式で表される。
【００７３】
c11'＝Ｕ[ｍ]×c11・・・（１２）
c21'＝Ｕ[ｍ]×c21・・・（１３）
【００７４】
次いで、制御部４は、変数ｍを２インクリメントし（ステップＳ４３）、ループ処理を繰り返す場合にはステップＳ３２に戻る。
【００７５】
（２−４．画像補正処理３）
次に、図１０を参照して、画像補正処理３について説明する。図１０（Ａ）に示す画像補正処理３は、プロジェクタ画像が投影される平面に凹凸等がある場合に、この凹凸等に起因する投影画像の歪みを低減するための処理である。図１０（Ａ）に示す画像補正処理３は、図７に示す事前処理が行われた後、自動的に開始、またはオペレータによる操作部３の操作にしたがって開始される。なお、画像補正処理３は、画像補正処理２とは独立して行われてもよい。図１０（Ａ）に示す画像補正処理３が開始されると、制御部４は、ステップＳ５１〜Ｓ５６のループ処理を変数ｍが１〜Ｍまで繰り返し行う。図１に示す構成では、Ｍは３であるため、ループ処理は３回繰り返された後に終了する。
【００７６】
ステップＳ５１では、制御部４は、上述したプロジェクタＰｍとカメラＣｍの座標対応関係を集合Ｗとして設定する。つまり、プロジェクタＰｍのプロジェクタ座標とカメラＣｍのプロジェクタ座標との組合せである対応関係を要素とする集合Ｗが求められる。
【００７７】
次いで、制御部４は、ステップＳ５２〜Ｓ５５のループ処理を集合Ｗの要素数が所定値に達するまで繰り返し行う。つまり、ループ処理は、集合Ｗから要素が減っていき所定値に達するまで繰り返される。ここで、所定値は、理想的には０である。この場合、集合Ｗの要素が全て無くなるまでループ処理が繰り返される。しかし、対応関係の中にはノイズとなる対応関係も含まれているため集合Ｗの要素が全て無くなるとは限らず、また、処理時間の短縮が必要な場合もある。このため、所定値は０より大きい値に設定されるとよい。
【００７８】
ステップＳ５２では、制御部４は、RANSAC（Random Sample Consensus）を用いて、集合Ｗからランダムに抽出した対応関係よりプロジェクタ座標からカメラ座標を対応させるホモグラフィ行列Ｖｓを計算する。ここで、ホモグラフィ行列Ｖｓを計算する（換言すると、ある平面ｓを求める）ためには、ランダムに抽出される対応関係は少なくとも４点以上必要である。ここで、ｓは、計算により得られたホモグラフィ行列を識別する番号である。なお、RANSACでは、面積が広い平面に対応するホモグラフィ行列Ｖｓから求まっていくことになる。
【００７９】
次いで、制御部４は、集合Ｗからホモグラフィ行列Ｖｓに適合する対応関係を検索する（ステップＳ５３）。例えば、対応関係におけるプロジェクタ座標（座標点）をp0、カメラ座標（座標点）をc0とすると、下記（１４）に示す条件を満たす対応関係がホモグラフィ行列Ｖｓに適合する対応関係である。
【００８０】
NORM（c0−Ｖｓ×p0）≦閾値 ・・・（１４）
【００８１】
ここで、閾値は、０より大きい値であり、プロジェクタ座標の変換先が属する平面や点であって異なる複数の平面や点を同一平面とみなす投影誤差が考慮されて決定される。NORMはベクトルの大きさを測る計算であり、ベクトル解析学でいう２−ノルムの計算である。
【００８２】
次いで、制御部４は、ステップＳ５３の検索で発見された対応関係に含まれるプロジェクタ座標に対応付けてホモグラフィ行列Ｖｓを記録する（ステップＳ５４）。図１０（Ａ）の例では、ループ処理の繰り返し過程でプロジェクタ座標（x,y）に、ホモグラフィ行列Ｖ1、Ｖ2、Ｖ3が記録されている。ホモグラフィ行列が異なれば、プロジェクタ座標の変換先が属する平面は異なる。
【００８３】
次いで、制御部４１は、集合Ｗを現在のＷとＶｓの差集合に更新する（ステップＳ５５）。つまり、ホモグラフィ行列Ｖｓに適合する対応関係は集合Ｗから取り出され、残りの対応関係を要素とする集合Ｗに更新される。そして、制御部４は、ループ処理を繰り返す場合にはステップＳ５２に戻る。
【００８４】
ステップＳ５６では、制御部４は、変数ｍを１インクリメントし、ループ処理を繰り返す場合にはステップＳ５１に戻る。
【００８５】
（２−５．画像補正処理４）
次に、図１１を参照して、画像補正処理４について説明する。図１１に示す画像補正処理４は、画像補正処理１〜３の処理結果を利用してプロジェクタ画像を補正するための処理である。図１１に示す画像補正処理４は、画像補正処理１〜３が行われた後、自動的に開始、またはオペレータによる操作部３の操作にしたがって開始される。図１０（Ａ）に示す画像補正処理３が開始されると、制御部４は、プロジェクタＰ１〜Ｐ３からプロジェクタ画像を投影するための座標配列を規定するマップＭ[x,y]を（-1,-1,-1）で初期化する（ステップＳ６１）。マップＭ[x,y]は、プロジェクタ画像の各座標点を壁面のどの位置に投影するかを規定するものである。
【００８６】
ここで、[x,y]は２次元平面上の座標であるが、[x,y,w]というように同次座標系で表しており、実際の座標値は、[x/w,y/w]となる（wは通常の場合は１）。マップＭ[x,y]を（-1,-1,-1）で初期化するのは、以下の処理で座標の対応関係が求まらない場合、その座標については、後述する投影制御処理においてエラーとして処理（後述する投影制御処理では、投影制限領域の投影を制限する処理として利用）するためである。これにより、対応関係が求まらない座標に対応するピクセル（つまり、色情報を含む画素）は黒（最小輝度）とする補正がなされる。
【００８７】
次いで、制御部４は、ｘ軸の位置を示す変数offsetに０を代入する（ステップＳ６２）。次いで、ステップＳ６３〜Ｓ６８のループ処理を変数ｍが１〜Ｍまで繰り返し行う。図１に示す構成では、Ｍは３であるため、ループ処理は３回行われた後に終了する。このループ処理の中で、制御部４は、ステップＳ６３〜Ｓ６６のループ処理を座標yが０〜「プロジェクタ画像Ｐiｍの高さ−１」まで繰り返し行う。さらに、このループ処理の中で、制御部４は、ステップＳ６３〜Ｓ６５のループ処理を座標ｘが０〜「プロジェクタ画像Ｐiｍの幅−１」まで繰り返し行う。
【００８８】
ここで、座標x＝０は、プロジェクタ画像Ｐiｍの左端座標（プロジェクタ画像Ｐi１が該当）、または上記ステップＳ２２で設定された左端補正座標（プロジェクタ画像Ｐi２,Ｐi３）が該当）を示す。つまり、プロジェクタ画像Ｐi２,Ｐi３のｘ座標の開始座標は、上述した境界線上の座標となる。そのため、実際の左端座標から開始座標までは投影制限領域として、この投影制限領域のＭ[x,y]は対応関係が求まらないので（-1,-1,-1）のままとなる。その結果、投影制限領域のピクセルは黒とする補正がなされる。また、プロジェクタ画像Ｐiｍの幅は、左端座標（または左端補正座標）から右端座標（または右端補正座標）までの長さである。
【００８９】
また、座標x＝「プロジェクタ画像Ｐiｍの幅−１」は、プロジェクタ画像Ｐiｍの右端座標（プロジェクタ画像Ｐi３が該当）、または上記ステップＳ２２で設定された右端補正座標（プロジェクタ画像Ｐi１,Ｐi２）が該当）を示す。つまり、プロジェクタ画像Ｐi１,Ｐi１のｘ座標の終了座標は、上述した境界線上の座標となる。そのため、終了座標から実際の右端座標までは投影制限領域として、この投影制限領域のＭ[x,y]は対応関係が求まらないので（-1,-1,-1）のままとなる、その結果、投影制限領域のピクセルは黒とする補正がなされる。
【００９０】
ステップＳ６３では、制御部４は、ステップＳ４２で求められたホモグラフィ行列Ｕ[ｍ]の逆行列と、ステップＳ５４で記録されたホモグラフィ行列Ｖsとを用いて、下記式（１５）に示すように、プロジェクタ座標（x,y）の座標変換を行ってＴを決定する。
【００９１】
Ｔ←inv（Ｕ[ｍ]）×Ｖs[x,y]×t（[x,y,1]）・・・（１５）
【００９２】
ここで、Ｔには、ホモグラフィ行列Ｕ[ｍ]とＶs[x, y]によって２つの座標変換を行った後の値が格納される。tは、転置演算を意味する。t（[x,y,1]）は、行ベクトル（x,y,1）を転置した列ベクトルである。
【００９３】
ステップＳ６４では、制御部４は、ステップＳ６３で決定されたＴを用いて、下記式（１６）に示すように、マップＭ[x+offset, y] を作成する。
【００９４】
マップＭ[x+offset , y]←（ｍ, Ｔ.x/Ｔ.w, Ｔ.y/Ｔ.w）・・・（１６）
【００９５】
ここで、Ｔの座標は、同次座標系で表現されており、通常の平面座標系に変換するために、wで除算される。また、マップＭには、全カメラ画像を統合した座標毎にプロジェクタのインデックスｍ、及びカメラ座標の対応関係が格納される。
【００９６】
ステップＳ６５では、制御部４は、座標ｘを１インクリメントし、ループ処理を繰り返す場合にはステップＳ６３に戻る。ステップＳ６６では、制御部４は、座標ｙを１インクリメントし、ループ処理を繰り返す場合にはステップＳ６３に戻る。
【００９７】
そして、ステップＳ６３〜Ｓ６６のループ処理が終了すると、制御部４は、ｘ軸の位置を示す変数offsetに、プロジェクタ画像Ｐiｍにおける右側の境界線上の座標xを代入する（ステップＳ６７）。これにより、例えばプロジェクタ画像Ｐi２の開始座標は、右側境界線上の座標xとなる。次いで、制御部４は、変数ｍを１インクリメントし（ステップＳ６８）、ループ処理を繰り返す場合にはステップＳ６３に戻る。そして、ステップＳ６３〜Ｓ６８のループ処理が終了すると、制御部４は、上述したように作成されたマップＭを記憶部２に保存し（ステップＳ６９）、処理を終了する。こうして、パターン画像であるプロジェクタ画像を用いて生成されたマップＭは、様々なコンテンツ画像を投影する際に使いまわすことができる。ここで、コンテンツ画像とは、部屋の利用者に提示する表示画像である。なお、上述した処理では、パターン画像をプロジェクタ画像として用いてマップＭを作成したが、コンテンツ画像をプロジェクタ画像として用いてマップＭを作成してもよい。
【００９８】
（２−６．投影制御処理）
次に、図１２を参照して、投影制御処理について説明する。図１２に示す投影制御処理は、上述したように作成されたマップＭを用いて、プロジェクタＰｍによりコンテンツ画像を投影するための処理である。図１２に示す投影制御処理は、画像補正処理１〜４が行われた後、自動的に開始、またはオペレータによる操作部３の操作にしたがって開始される。図１２に示す投影制御処理が開始されると、制御部４は、マップＭを記憶部２から読み込む（ステップＳ７１）。
【００９９】
次いで、制御部４は、ステップＳ７２〜Ｓ７７のループ処理を終了信号が受信（検知）されるまで繰り返し行う。例えば、制御部４は、オペレータが電源ＯＦＦの操作を指示したときに操作部３から出力された終了信号を受信する。次いで、制御部４は、全プロジェクタの出力画像上のピクセル座標 (px, py) のピクセルを黒で初期化する（ステップＳ７２）。出力画像は、上述したプロジェクタ画像に対応する。ピクセル座標 (px, py)は、色情報を含むピクセルを保持するための四角状の領域の座標である。次いで、制御部４は、ステップＳ７３〜Ｓ７６のループ処理を座標yが０〜「コンテンツ画像の高さ−１」まで繰り返し行う。さらに、このループ処理の中で、制御部４は、ステップＳ７３〜Ｓ７５のループ処理を座標ｘが０〜「コンテンツ画像の幅−１」まで繰り返し行う。
【０１００】
ステップＳ７３では、制御部４は、ステップＳ７１で読み込まれたマップＭを、各プロジェクタＰｍの出力画像上のピクセル座標 (px, py) で表すように置き換える。このとき、マップＭにおいて（-1,-1）の座標に対応するピクセル座標 (px, py)には（-1,-1）が対応付けられる。
【０１０１】
次いで、制御部１１は、各プロジェクタＰｍの出力画像上のピクセル座標 (px, py) のピクセルをコンテンツ画像の座標(x, y)に対応するピクセルに設定する。つまり、制御部４は、出力画像上のピクセル座標 (px, py)にコンテンツ画像のピクセルを埋めていく。このとき、（-1,-1）を表すピクセル座標(px, py)はエラーとして除外されるので、このピクセル座標(px, py)にはコンテンツ画像のピクセルが埋まらず、初期化された黒を表すピクセルとなる。その結果、プロジェクタＰｍから出力される出力画像の投影制限領域は、黒として投影されることになる。
【０１０２】
ステップＳ７５では、制御部４は、座標ｘを１インクリメントし、ループ処理を繰り返す場合にはステップＳ７３に戻る。ステップＳ７６では、制御部４は、座標ｙを１インクリメントし、ループ処理を繰り返す場合にはステップＳ７３に戻る。
【０１０３】
そして、ステップＳ７３〜Ｓ７６のループ処理が終了すると、制御部４は、コンテンツ画像の投影制御処理を行う（ステップＳ７７）。投影制御処理では、制御部４は、ステップＳ７３〜Ｓ７６のループ処理で求められた、各プロジェクタＰｍの出力画像（図１の構成では、プロジェクタＰ１〜Ｐ３）に応じた画像信号を各プロジェクタＰｍへ出力する。これにより、プロジェクタＰｍは、それぞれ、制御部４からの画像信号に応じた光を発光部から発光することにより、連続する複数の平面にコンテンツ画像を投影することになる。
【０１０４】
以上説明したように、上記実施形態によれば、投影制御装置ＣＯは、複数のプロジェクタにより投影される投影範囲が重複する重複投影領域において異なるタイミングで、且つ異なる位置に仮想線を複数回設定する。そして、投影制御装置ＣＯは、仮想線を挟んで隣接する左側領域と右側領域のそれぞれにおいて、カメラ座標とプロジェクタ座標との対応関係が所定条件を満たす左側対応座標数と、カメラ座標とプロジェクタ座標との対応関係が所定条件を満たす右側対応座標数とを、仮想線ごとに算出する。そして、投影制御装置ＣＯは、仮想線ごとにおける左側対応座標数と右側対応座標数とを用いて、いずれかの仮想線を重複投影領域に対応する複数の平面の境界線として決定し、複数のプロジェクタにより投影される各画像の重複投影領域に該当する領域のうち、決定された境界線から特定される投影制限領域についてプロジェクタにより投影される画像を補正するように構成したので、複数のプロジェクタによる異なる方向からの複数の画像が、実空間における複数の平面の境界周辺の領域に重複して投影される場合であっても、投影された画像の見栄えを良くすることができる。
【符号の説明】
【０１０５】
Ｃ１〜Ｃ３  カメラ
Ｐ１〜Ｐ３  プロジェクタ
ＣＯ  投影制御装置
Ｓ  投影システム
【図１】
0006428694.tif 000002
【図２】
0006428694.tif 000003
【図３】
0006428694.tif 000004
【図４】
0006428694.tif 000005
【図５】
0006428694.tif 000006
【図６】
0006428694.tif 000007
【図７】
0006428694.tif 000008
【図８】
0006428694.tif 000009
【図９】
0006428694.tif 000010
【図１０】
0006428694.tif 000011
【図１１】
0006428694.tif 000012
【図１２】
0006428694.tif 000013