(57)【特許請求の範囲】
【請求項１】
第１投影手段が画像を投影可能な第１投影面の位置に関する第１位置情報と、第２投影手段が画像を投影可能な第２投影面の位置に関する第２位置情報を取得する位置取得手段と、
前記第１位置情報に基づく前記第１投影面と前記第２位置情報に基づく前記第２投影面とが少なくとも部分的に重複する場合、前記第１位置情報と前記第２位置情報とに基づいて、前記第１及び第２投影手段のうちの前記重複領域に画像を投影するための投影手段を決定する決定手段と、
前記決定手段による決定に応じて、前記第１投影手段に画像を投影させる制御手段とを有することを特徴とする制御装置。
【請求項２】
前記制御手段は、前記第１投影面が移動すると、前記第１の投影手段によって投影される画像を補正することを特徴とする請求項１に記載の制御装置。
【請求項３】
前記制御手段は、前記第１投影面が移動すると、前記第１の投影手段によって画像を投影する投影位置を変更することを特徴とする請求項１に記載の制御装置。
【請求項４】
さらに、前記第１投影面の形状に関する形状情報を取得する形状取得手段を有し、
前記制御手段は、前記形状情報に基づいて、前記第１投影手段に画像を投影させることを特徴とする請求項１乃至３の何れか１項に記載に記載の制御装置。
【請求項５】
さらに、前記形状情報に基づいて、前記第１投影手段が投影する画像の形状を特定する特定手段を有し、
前記第１の投影面を有する投影対象物は移動物体であり、
前記形状取得手段は、前記移動物体としての前記投影対象物の位置に関する位置情報を取得し、
前記特定手段は、前記形状取得手段が取得した前記位置情報に基づいて、前記投影手段による画像の形状を特定し、
前記制御手段は、前記第１投影手段を制御して、前記特定手段が特定した形状に応じた画像を投影させることを特徴とする請求項４に記載の制御装置。
【請求項６】
前記決定手段は、前記第１位置情報及び前記第２位置情報に基づいて、投影対象物における画像の投影領域のうち、前記第１投影手段の光軸と前記投影領域との交点からの距離が、前記第２の投影手段の光軸と前記投影領域との交点からの距離よりも短い領域に、前記第１投影手段から画像を投影させることを決定し、
前記制御手段は、前記第１投影手段を制御して、前記決定手段が決定した前記領域に画像データに応じた画像を投影させることを特徴とする請求項１乃至５の何れか１項に記載の制御装置。
【請求項７】
前記形状情報を保持する保持手段を有し、
前記形状取得手段は前記保持手段から前記形状情報を取得することを特徴とする請求項４に記載の制御装置。
【請求項８】
前記第２位置情報は、前記第２投影手段の投影方向を示す情報であることを特徴とする請求項１乃至７の何れか１項に記載の制御装置。
【請求項９】
前記第１投影手段により投影される画像は、動画像であることを特徴とする請求項１乃至８の何れか１項に記載の制御装置。
【請求項１０】
第１投影手段が画像を投影可能な第１投影面の位置に関する第１位置情報と、第２投影手段が画像を投影可能な第２投影面の位置に関する第２位置情報を取得する取得ステップと、
前記第１位置情報に基づく前記第１投影面と前記第２位置情報に基づく前記第２投影面とが少なくとも部分的に重複する場合、前記第１位置情報と前記第２位置情報とに基づいて、前記第１及び第２投影手段のうちの前記重複領域に画像を投影するための投影手段を決定する決定ステップと、
前記決定ステップにおける決定に応じて、前記第１投影手段に画像を投影させる制御ステップとを有することを特徴とする制御装置における制御方法。
【請求項１１】
コンピュータを請求項１乃至１０のうち何れか１項に記載の制御装置の各手段として動作せるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
立体に投影画像を投影させる技術に関する。
【背景技術】
【０００２】
従来、プロジェクタから建造物やフィギュアなどの立体物に対して画像を投影することが行われている。
【０００３】
また従来、プロジェクタからスクリーンを撮影した撮像画像に基づいて、プロジェクタとスクリーンとの位置関係を特定し、特定した情報に基づいてプロジェクタが投影する投影画像の投影領域を決定する技術が知られている。
【０００４】
特許文献１には、人物の顔面に装着された立体スクリーンに投影画像を投影することが開示されている。
【０００５】
また特許文献１には、立体スクリーンに設けられた複数の不可視光マーカーをマーカー撮影装置で撮影して、立体スクリーンの位置情報及び方向情報を取得することが開示されている。また、立体スクリーンの位置情報及び方向情報に基づいて、投影画像の大きさ及び方向が立体スクリーンに整合した状態となるように、投影画像を生成することが開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−２５４４１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に記載の投影システムでは、立体スクリーンのうち不可視光マーカーが配置された部分の位置及び向きを取得することができるが、立体スクリーンの立体形状についての情報を取得することができない。例えば立体スクリーンの投影面の凹凸等の情報を取得することができない。
【０００８】
従って、特許文献１に記載の投影システムでは、立体スクリーンの形状を考慮せずに投影画像が投影されることにより、投影画像が、ユーザが所望する態様で立体スクリーンに投影されない場合があった。
【課題を解決するための手段】
【０００９】
上記課題を解決するため本発明にかかる制御装置は以下の構成を有する。すなわち、第１投影手段が画像を投影可能な第１投影面の位置に関する第１位置情報と、第２投影手段が画像を投影可能な第２投影面の位置に関する第２位置情報を取得する位置取得手段と、
前記第１位置情報に基づく前記第１投影面と前記第２位置情報に基づく前記第２投影面とが少なくとも部分的に重複する場合、前記第１位置情報と前記第２位置情報とに基づいて、前記第１及び第２投影手段のうちの前記重複領域に画像を投影するための投影手段を決定する決定手段と、前記決定手段による決定に応じて、前記第１投影手段に画像を投影させる制御手段とを有する。
【発明の効果】
【００１０】
本発明によれば、立体スクリーンの形状を考慮しつつ、ユーザが所望する態様で立体スクリーンに投影画像を投影させることができる。
【図面の簡単な説明】
【００１１】
【図１】実施形態１におけるプロジェクタの機能ブロック図。
【図２】実施形態１におけるプロジェクタの動作を示すフローチャート図。
【図３】移動する立体に投影画像を投影する投影処理を説明する図。
【図４】移動する立体に投影画像を投影する場合の投影領域の移動を示す図。
【図５】実施形態１において複数のプロジェクタを用いて投影を行う場合の投影処理を説明するための図。
【図６】実施形態２におけるプロジェクタの機能ブロック図。
【図７】実施形態２におけるプロジェクタの動作を示すフローチャート図。
【図８】実施形態２において複数のプロジェクタを用いて投影を行う場合の投影処理を説明するための図。
【図９】実施形態２において複数のプロジェクタを用いて投影を行う場合の投影領域の決定方法を説明するための図。
【図１０】プロジェクタの構成例を示す図。
【図１１】投影画像の投影可否の判定処理を示すフローチャート図。
【図１２】実施形態２における投影領域の決定処理示すフローチャート図。
【発明を実施するための形態】
【００１２】
（実施形態１）
実施形態１では、投影制御装置としてのプロジェクタ１００が、立体をスクリーン（投影先）として、画像を投影する場合について説明する。本実施形態において、この立体は移動できるものとする。スクリーンとする立体は例えば、自動車や人体等とすることができる。
【００１３】
本実施形態にかかるプロジェクタ１００による投影処理を図３の例を用いて説明する。図３は直方体の立体３００が位置Ａから位置Ｂに移動する様子を示している。この立体３００は、プロジェクタ１００が投影画像を投影するスクリーンである。本実施形態ではプロジェクタ１００が、立体３００の面３０１に画像を投影する場合について説明する。プロジェクタ１００は、立体３００の移動の前後において、面３０１に画像が投影されるように、画像の投影位置及び形状を立体３００の移動に応じて変化させる。
【００１４】
図３の例における投影処理について、プロジェクタ１００からスクリーン方向を見た場合の投影画像の移動及び変形の様子を、図４を用いて説明する。
【００１５】
領域４００は、図３の位置Ａに立体３００がある場合に、立体３００の面３０１に投影される画像の投影領域を示している。
【００１６】
領域４０１は、図３の位置Ｂに立体３００がある場合に、立体３００の面３０１に投影される画像の投影領域を示している。
【００１７】
このように、プロジェクタ１００の位置に対するスクリーンの位置が変化する場合に、本実施形態に係るプロジェクタ１００は投影画像の形状を変形させる。このようにして、スクリーン位置の移動後も、スクリーン上の所定の投影領域に、移動前と同じ態様で投影画像を投影させることができる。
【００１８】
図４の例において、投影可能領域４１０は、プロジェクタ１００が領域４００の形状の画像を投影することができる範囲を示している。また投影可能領域４１１は、プロジェクタ１００が領域４０１の形状の画像を投影することができる範囲を示している。
【００１９】
次にプロジェクタ１００の構成について、図１のブロック図を用いて説明する。
【００２０】
取得部１０１は、スクリーンに関する情報を取得する。スクリーンに関する情報には、移動するスクリーンの位置を示す位置情報が含まれる。この位置情報は、後述の投影部１０８が投影画像を投影する立体の位置を特定するための第１の位置情報である。この位置情報を用いて、後述の判定部１０４は、スクリーンに投影画像を投影する投影部１０８の位置とスクリーンの位置との位置関係を特定することができる。
【００２１】
例えばスクリーンの位置を示す位置情報は、プロジェクタ１００が投影可能な投影可能範囲におけるスクリーンの位置を示す情報等とすることができる。また例えば、プロジェクタ１００からスクリーンまでの距離を示す情報、又は、プロジェクタ１００の投影部の光軸とスクリーンの投影面とが為す角度等とすることができる。これらの情報を組み合わせて位置情報として用いることとしてもよい。これらの情報は一例にすぎず、スクリーンの位置を示す位置情報は、上記の例に限られない。
【００２２】
取得部１０１は例えば、スクリーンを撮影するカメラなどの撮影部とすることができる。この場合、取得部１０１は、スクリーンを撮影した撮像画像を、スクリーンに関する情報として取得する。取得部１０１はカメラに限られない。例えば取得部１０１は、赤外線センサ等を用いて、スクリーンに関する情報を取得することとしてもよい。あるいは、スクリーンに関する情報をプロジェクタ１００の外部の装置から取得することとしてもよい。このようにして、取得部１０１はスクリーンの位置情報を取得するための、スクリーンに関する情報を取得することができる。
【００２３】
設定部１０２は、プロジェクタ１００が画像を投影するスクリーンを設定する。また、設定部１０２は、スクリーンにおける投影領域を設定する。例えば、図３の例では、立体３００をスクリーンとすることを設定する。また、立体３００のうち面３０１を画像の投影領域とすることを設定する。
【００２４】
画像を投影するスクリーンを設定することにより、スクリーンが移動した場合でもプロジェクタ１００が当該スクリーンの移動を認識して、移動するスクリーン上に投影画像が投影され続けるようにすることができる。
【００２５】
またスクリーンにおける投影領域を設定することにより、スクリーンの移動に伴ってプロジェクタ１００に対する投影領域の位置が変更されても、当該投影領域にプロジェクタ１００からの投影画像が投影され続けるようにすることができる。
【００２６】
本実施形態では、後述の保持部１０３に形状の形状情報が保持されている複数の立体のモデルのうちいずれの立体のモデルをスクリーンとするかをユーザが選択する。設定部１０２はユーザが選択した立体をスクリーンとすることを設定する。またユーザは、選択した立体上の領域のうちどの領域に画像を投影するかを選択する。例えば、ユーザは、直方体形状のスクリーンに投影画像を投影するのか、円柱形状のスクリーンに投影画像を投影するのか、球体形状のスクリーンに投影画像を投影するのか等を選択して設定することができる。ただし、スクリーンの形状はこれらの例に限られない。
【００２７】
例えば、プロジェクタ１００に接続されたモニタ等にユーザが選択した立体のモデルが表示される。ユーザはそのモデル上の領域を選択して、立体上に画像を投影するための投影領域を設定することができる。例えば、立体のモデル上で投影領域の頂点をポインタ等で指定することにより投影領域を設定することができる。あるいは、立体のいずれの面を投影領域とするかを選択することとしてもよい。立体のモデルは、モニタに表示される場合に限られず、後述の投影部１０８がスクリーン上に投影することとしてもよい。あるいは、取得部１０１が取得した撮像画像に基づいてスクリーン及びスクリーン上の投影領域を設定することとしてもよい。この撮像画像は、プロジェクタ１００から、プロジェクタ１００が画像を投影する方向にある被写体を撮像した撮像画像である。
【００２８】
例えば、撮像画像のうちスクリーンとする被写体をユーザがポインタ等で指定することにより、スクリーンとする被写体を選択することができる。この場合、ユーザがスクリーンとして選択した被写体と、保持部１０３に保持されている立体の立体形状の関連付けを行う。この関連付けはユーザが行うこととしてもよい。あるいは自動的に行われることとしてもよい。あるいは、撮像画像のうち保持部１０３に立体の形状情報が保持されている立体を自動的に検出して、スクリーンとして設定することとしてもよい。設定部１０２によるスクリーンの設定方法、及び、投影領域の設定方法は特に限定しない。
【００２９】
保持部１０３は、スクリーンとなる立体の形状を示す形状情報を保持する。プロジェクタ１００は、例えば、形状情報をＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、３Ｄスキャナ、３Ｄプリンタなどの情報処理装置から取得して保持部１０３に予め保持すことができる。保持部に保持される形状情報はスクリーンの全体の立体の形状とすることができる。または、投影面のみの形状情報等、スクリーンの一部の立体形状とすることとしてもよい。
【００３０】
保持部１０３は例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）やハードディスクとすることができる。あるいは、メモリカード等、プロジェクタ１００に接続される外部記録装置が形状情報を保持してもよい。
【００３１】
判定部１０４は、取得部１０１が取得したスクリーンに関する情報と、保持部１０３に保持されたスクリーンの形状情報とに基づいて、設定部１０２で設定した投影領域の撮像画像における位置を特定する。
【００３２】
取得部１０１が取得するスクリーンに関する情報とは、例えばプロジェクタ１００が画像を投影する方向にある被写体を撮影した撮像画像から得られる情報である。撮像画像から得られる情報は、スクリーンの位置情報を含む。スクリーンの位置を示す位置情報は、上述のように、プロジェクタ１００が投影可能な投影可能範囲におけるスクリーンの位置を示す情報等とすることができる。また例えば、プロジェクタ１００からスクリーンまでの距離を示す情報、又は、プロジェクタ１００の投影部の光軸とスクリーンの投影面とが為す角度等とすることができる。
【００３３】
判定部１０４は、設定部１０２が設定した設定情報を取得する。また判定部１０４は、スクリーンとして設定した立体の形状情報を保持部１０３から取得する。判定部１０４は、保持部１０３から取得した形状情報を用いて、撮像画像中に設定されたスクリーンが映っているかを判定する。本実施形態では形状情報として３次元情報を用いているため、撮像画像にスクリーンのいずれの面が映っていても、撮像画像からスクリーンの位置及び方向を検出することができる。
【００３４】
スクリーンとして設定した立体の形状情報としての３次元情報は、立体における任意の点を原点とし、この原点と立体上に存在する各点との相対位置を表す形状情報である。例えば、スクリーンとして設定した立体が直方体である場合、６つの頂点のうちの一つを原点とした場合の、原点と他の５つの頂点との位置関係を示す情報である。また例えば、スクリーンとして設定した立体が円柱体である場合、３次元情報には、円形の底面の中心を原点とした場合の、当該底面における中心から円弧までの距離（半径）を示す情報が含まれる。また底面の中心から当該底面に対向する円形の上面の中心までの距離（円柱の高さ）を示す情報が含まれる。
【００３５】
判定部１０４は、プロジェクタ１００が投影可能な投影範囲を３次元座標系で管理する。例えば判定部１０４は、プロジェクタの投影部の位置を原点として、投影部の光軸方向と、プロジェクタが置かれている面に対する水平方向と、鉛直方向の３つを軸とする３次元座標における、プロジェクタ１００の投影範囲を管理する。
【００３６】
判定部１０４は、スクリーンのとして設定した立体において設定した原点の、プロジェクタの投影範囲を管理するための座標系における位置と、当該立体の３次元情報とを用いて、プロジェクタの投影範囲における該立体の位置や向きを特定する。このようにして判定部１０４は、上述の３次元座標系における、立体スクリーン上の各点の３次元位置を特定することができる。
【００３７】
決定部１０５は、取得部１０１が取得した位置情報、保持部１０３から取得した形状情報、及び、設定部が設定した設定情報に基づいて、プロジェクタ１００が投影画像を投影できる領域（以下、投影可能領域）において実際に画像を投影する領域を決定する。本実施形態では、決定部１０５は投影可能領域において設定された座標系における座標値を決定することにより、画像の投影領域を決定する。決定部１０５は、投影可能領域における画像の投影領域を決定することにより、投影部１０８が立体に投影する投影画像の形状を決定する。また決定部１０５は、投影可能領域における画像の投影領域を決定することにより、投影画像の投影位置を決定する。
【００３８】
入力部１０６は、投影部１０８がスクリーンに投影する画像データを入力する。例えば入力部１０６は、ＰＣ等の情報処理装置から出力された画像データを入力する。
【００３９】
制御部１０７は、入力部１０６が入力した画像データの変形処理を行う。制御部１０７は、決定部１０５が決定した座標に基づいて画像データを変形する。例えば、入力部１０６が入力した画像データが、決定部１０５が決定した投影領域に歪みが補正された状態で投影されるよう、入力した画像データの変形処理を行う。また制御部１０７は、変形した画像データを後述の投影部１０８に出力する。このようにして制御部１０７は、投影部１０８を制御して、決定部１０５が決定した形状に応じた形状の画像データを立体に投影させる制御を行う。また制御部１０７は、投影部１０８を制御して、決定部１０５が決定した投影位置に画像データを投影させる。
【００４０】
投影部１０８は、制御部１０７で変形処理した画像をスクリーンに投影する。投影部１０８が投影する画像は、動画像であっても静止画であってもよい。
【００４１】
図１に示した各ブロックの機能の一部又は全体は、ハードウエアによって構成されてもよい。この場合、各ブロックを１つのハードウエアとしてもよいし、いくつかのブロックを統合したハードウエアとしてもよい。あるいは、図１に示した各ブロックの機能の一部又は全体は、記録媒体に記録されたプログラムをプロセッサが実行することにより実現されることとしてもよい。
【００４２】
プロジェクタ１００がプロセッサを有する場合の構成例を図１０に示す。プロセッサ１００１は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１００３に記録されたプログラムを読み出して実行する。プロセッサ１００１は、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等とすることができる。
【００４３】
プロセッサ１００１は、図１に示した設定部１０２、判定部１０４、決定部１０５、及び、制御部１０７の機能を実現する構成である。
【００４４】
ＲＡＭ１００２は、プロセッサ１００１がＲＯＭ１００３から読み出したプログラムを展開する。ＲＡＭ１００２は、プロセッサ１００１のワークスペースとして用いられる。
【００４５】
ＲＯＭ１００３は、プロセッサ１００１が実行するためのプログラムを記録した記録媒体である。またＲＯＭ１００３は立体の形状情報を保持する。ＲＯＭ１００３は、図１に示した保持部１０３の機能を実現する構成である。
【００４６】
通信部１００４は、プロジェクタ１００が投影する投影画像をＰＣ等の外部装置から取得するための通信インタフェースである。通信部１００４は、図１に示した入力部１０６の機能を実現する構成である。
【００４７】
投影部１００５は、プロセッサ１００１の制御に応じて、画像データをスクリーンに投影する。投影部１００５は、例えば、光源、投影する画像を表示する表示部、プリズム、ミラー、投射レンズ等を有することができる。投影部１００５の構成については特に限定しない。投影部１００５は、図１に示した投影部１０８の機能を実現する構成である。
【００４８】
撮影部１００６は、スクリーンを撮影する。撮影部１００６は例えばカメラユニットである。撮影部１００６は、取得部１０１の機能を実現する構成である。
【００４９】
次に、本実施形態に係るプロジェクタ１００の動作について図２を用いて説明する。プロジェクタ１００がプロセッサ１００１、ＲＡＭ１００２、及び、ＲＯＭ１００３を内蔵する形態では、図２に示した処理は、プロセッサ１００１がＲＯＭ１００３に格納されたプログラムを実行することにより実現される。あるいは、図２に示す処理の一部又は全体をハードウエアが行うこととしてもよい。
【００５０】
ユーザによりプロジェクタ１００による投影処理の開始が指示されると、まずステップＳ２０１において、設定部１０２は、スクリーンと当該スクリーン上の投影領域を設定する。
【００５１】
次にステップＳ２０２において、取得部１０１は、プロジェクタ１００の投影可能範囲を含む撮像画像を取得する。図４の例では、取得部１０１は投影可能領域４１０を含む領域の撮像画像を取得する。そして取得部１０１は、取得した撮像画像を判定部１０４に出力する。本実施例では、投影画像を投影しない状態で、投影可能範囲を撮像した撮像画像を取得するものとする。
【００５２】
ステップＳ２０３において、判定部１０４は、取得部１０１が取得した撮像画像を解析する。判定部１０４は、スクリーン上の投影領域が、プロジェクタ１００の投影可能領域に含まれているか判定する。図４の例では、移動後のスクリーンの投影領域に対応する領域４０１が、変形処理後の投影可能領域４１１に含まれるかを判定する。ステップＳ２０３の処理の詳細は、図１２を用いて後述する。図４の例ではスクリーンの移動に伴って投影領域が変化する場合について説明するが、本発明はスクリーンが移動する場合以外にも適用可能である。例えば、取得部１０１が取得した撮像画像から特定されたスクリーンの設置位置と、保持部１０３が保持するスクリーンの３次元形状情報とに基づき、当該スクリーンにおけるユーザの所望の位置に所定の画像を歪みが補正された状態で投影することができる。
【００５３】
領域４０１が投影可能領域４１１内に入っていない場合（ステップＳ２０３においてＮｏの場合）ステップＳ２０２に戻る。一方、領域４０１が投影可能領域４１１内に入っている場合（ステップＳ２０３においてＹｅｓの場合）、ステップＳ２０４に進む。
【００５４】
ステップＳ２０４において、判定部１０４は、スクリーンの向きを判定する。判定部１０４は、保持部１０３から取得した形状情報に基づいて、スクリーンの向きを判定することができる。判定結果に基づいて判定部１０４は、取得部１０１が取得した撮像画像に映ったスクリーンの画像における、投影領域の位置を特定する。そして特定した位置を示す情報を決定部１０５に出力する。
【００５５】
次にステップＳ２０５において、決定部１０５はプロジェクタ１００の投影可能領域における、画像を投影させる領域の座標を決定し、制御部１０７に出力する。図４の例では、投影可能領域４１１における領域４０１の位置を示す情報を制御部１０７に出力する。出力される情報は、例えば、投影可能領域４１１上に設定された座標系における、領域４０１の各頂点の座標値とすることができる。
【００５６】
次にステップＳ２０６において、制御部１０７は、決定部１０５から入力した投影領域の座標情報に基づいて、入力部１０６から入力する画像データの変形処理を行う。そして、変形処理後の画像データを投影部１０８に出力して投影部１０８に投影させる。
【００５７】
ステップＳ２０７において、投影部１０８は、制御部１０７から入力した画像を投影する。
【００５８】
ステップ２０８において、投影部１０８は、投影領域の座標がプロジェクタ１００の投影可能領域の端部に来ていなければステップＳ２０２に戻って一連の処理を継続し、来ていれば投影を終了する。例えば、プロジェクタ１００が投影方向を変更して、プロジェクタ１００が投影方向を変更可能な物理的な限界に達した場合は、プロジェクタ１００からの画像の投影を終了する。
【００５９】
次にステップＳ２０３において判定部１０４が行う処理の詳細について、図１１のフローチャートを用いて説明する。
【００６０】
判定部１０４は、保持部１０３からスクリーンの形状情報を取得する（Ｓ１１０１）。例えば、判定部１０４は、設定部１０２がスクリーンとして設定した物体の形状が直方体であることを示す情報を取得する。さらに、直方体の底面の縦及び横の長さ、並びに、直方体の高さを特定するための情報を取得する。本実施形態では、スクリーンとして設定された立体と、保持部１０３に保持されている形状情報とは、設定部１０２によって予め関連付けられているものとする。
【００６１】
本実施形態ではスクリーンの形状を取得する場合について説明するが、スクリーンの一部の形状のみを保持することとしてもよい。保持部１０３が保持する形状情報は、プロジェクタ１００が投影画像を投影すべき領域の形状を示す情報であればよい。
【００６２】
次に判定部１０４は、移動後のスクリーンの位置情報を取得する（Ｓ１１０２）。例えば判定部１０４は、プロジェクタ１００の投影可能範囲を示す３次元座標系におけるスクリーンの位置、及び、立体スクリーンの１つの面の方向（向き）を示す情報を取得する。スクリーンの方向を示す情報は、例えば、プロジェクタ１００の投影方向（光軸方向）に対して垂直な面に対する、現在のスクリーンの面の向きの相対関係を示す情報である。
【００６３】
判定部１０４は、取得部１０１が取得した撮像画像から、スクリーンの移動後の位置及び方向を特定する。撮像画像におけるスクリーンの位置及び方向は、保持部１０３から取得した形状情報と、撮像画像に撮像されたスクリーンの形状、大きさなどの情報と比較して特定することができる。本実施形態では、スクリーンの位置及び方向の検出の方法について特に限定しない。
【００６４】
次に判定部１０４は、移動後のスクリーンに投影する投影画像の形状を特定する（１１０３）。図４に示した例では、領域４０１の形状を特定する。
【００６５】
投影画像は、投影可能領域の中心から離れるに従って形状が歪むため、歪みを補正する処理が必要となる。この形状の歪みは例えば、プロジェクタ１００の投影方向がプロジェクタ１００の投影部を構成する球面レンズの光軸方向と乖離するに従い、レンズの曲面形状の影響を受けることによって生じる。判定部１０４は、レンズの光軸方向と投影画像と投影すべき方向との乖離の度合い（例えば、角度）を、取得部１０１が取得した撮像画像を用いて判定することができる。判定部１０４は例えば、撮像画像における、投影可能領域４１０の中心から、移動後のスクリーンの位置が離れている距離に基づいて、レンズの光軸方向と投影画像と投影すべき方向との乖離の度合いを判定する。そして、その度合いに基づいて、画像がどの程度歪むかを特定することができる。判定部１０４は、特定した歪みの度合いを用いることにより、移動後のスクリーンに投影する画像の形状を特定することができる。
【００６６】
上述のように判定部１０４は、上述の３次元座標系における、立体スクリーン上の各点の３次元位置を特定する。さらに判定部１０４は、プロジェクタ１００の光軸方向に対するスクリーンの相対位置に基づいて、投影される画像の歪み量を特定することができる。これらの情報を用いて、立体スクリーン上の所望の点に、所望の画像を画素単位で配置して画像を投影することができる。
【００６７】
また判定部１０４は例えば、スクリーンの投影面が向いている方向と保持部１０３から取得した形状情報とに基づいて、移動後のスクリーンに投影する画像の形状を特定することができる。スクリーンの投影面が向いている方向は、取得部１０１が取得した撮像画像と、保持部１０３から取得した形状情報とを比較することによって特定することができる。例えば判定部１０４は、撮像画像に含まれているスクリーンの面が、保持部１０３から取得した形状情報が示す立体のどの面と対応するかを判定して、スクリーンの方向を特定することができる。
【００６８】
さらに判定部１０４は、特定した方向を向いたスクリーンに投影すべき画像の形状を、保持部１０３から取得した形状情報に基づいて決定する。形状情報を用いることによって、特定した方向を向いたスクリーンをプロジェクタ１００から見た場合のスクリーンの形状を詳細に把握することができる。従って、スクリーンの方向のみを用いて投影画像を補正する場合に比べて、よりスクリーン形状に対応するようにして、投影すべき画像の形状を決定することができる。
【００６９】
つぎに判定部１０４は、特定した形状の画像をプロジェクタ１００が投影することができる投影可能範囲を特定する（Ｓ１１０４）。図４の例では、領域４０１の形状の画像を投影することができる範囲である投影可能領域４１１を特定する。
【００７０】
そして判定部１０４は、ステップＳ１１０４において特定した投影可能領域４１１に、移動後のスクリーン上の投影領域が含まれるかを判定する。以上のようにして、ステップＳ２０３における判定処理を行うことができる。
【００７１】
以上のように、本実施形態では、移動前のスクリーンに投影した画像を変形して移動後のスクリーンに投影する補正画像を生成するために、スクリーンの形状情報を利用する。このような構成によれば、撮像装置でスクリーンを撮像した撮像画像のみに基づいて投影画像の補正処理を行う場合に比べて、よりスクリーン形状に対応した補正画像を生成することができる。
【００７２】
本実施形態では、投影する画像の形状を補正する場合について説明したが、形状のみならず、入力された画像データのうち、いずれの部分を投影するかを、スクリーンの向き及び形状用法に基づいて決定することとしてもよい。例えば、スクリーン上の画像を投影すべき領域のうち、プロジェクタ１００から画像を投影できない方向を向いている領域に対応する部分の画像は、プロジェクタ１００から画像を投影しないようにしてもよい。
【００７３】
なお、本実施例ではプロジェクタを１台のみ用いて画像の投影を行う場合について説明したが、これに限らず、複数台のプロジェクタを用いて画像を投影する投影システムに適用することも可能である。
【００７４】
図５は２台のプロジェクタを使って投影対象である動体の動きに追従して動体の２つの投影領域に画像を投影する様子を示した図である。
【００７５】
図５の例ではプロジェクタ１５０、及び、プロジェクタ１５１を用いて、１つのスクリーン３５０に画像を投影する。図５の例では、スクリーン３５０上の領域３５１及び領域３５２に投影画像を投影する。
【００７６】
図５の例のように、スクリーン３５０上の２つの領域３５１、３５２が同一平面上にない場合、プロジェクタと投影領域の位置関係によっては１台のプロジェクタでは全ての投影領域に投影できないことがある。このような場合にはプロジェクタ１５０が領域３５１に対して画像を投影し、プロジェクタ１５１が領域３５２に画像を投影することにより、複数の領域３５１及び３５２に画像を投影することができる。
【００７７】
プロジェクタ１５０及びプロジェクタ１５１は、それぞれ図２に示したフローチャートに示す手順で処理を行う。すなわち、プロジェクタ１５０と領域３５１との関係が、図３に示したプロジェクタ１００と面３０１との関係となるように処理を行う。またプロジェクタ１５１と領域３５２との関係が、図３に示したプロジェクタ１００と面３０１との関係となるように処理を行う。
【００７８】
このようにして、立体形状を有するスクリーンの複数の面に同時に投影画像を投影する場合にも、投影面の形状に対応するようにして投影画像を投影することができる。
【００７９】
（実施形態２）
実施形態２では、スクリーンの投影領域が複数のプロジェクタから投影可能な場合に複数のプロジェクタが連携して投影領域を変化させる例を示す。
【００８０】
実施形態２において、複数のプロジェクタが実行する処理について、図８を用いて説明する。図８の左図は、スクリーンである立体８００が位置Ａに有る場合に、プロジェクタ６００及びプロジェクタ６５０が立体８００に対して画像を投影する様子を示している。また、図８の右図は、立体８００が位置Ａから位置Ｂに移動した場合に、プロジェクタ６００及びプロジェクタ６５０が立体８００に対して画像を投影する様子を示している。
【００８１】
図８においてプロジェクタ６００が画像を投影する範囲を投影領域８０１とする。また、プロジェクタ６５０が画像を投影する範囲を投影領域８０２とする。本実施形態において、投影領域８０１、８０２は同一平面上にあり、当該平面における投影領域の範囲は、各プロジェクタと立体８００との位置関係に基づいて変化する。
【００８２】
例えば、スクリーンである立体８００が位置Ａから位置Ｂに移動するとき、投影領域８０１、８０２は図８に示すように変化する。
【００８３】
実施形態２に係るプロジェクタ６００が有する機能を表すブロック図を図６に示す。図６に示した構成のうち、図１と同じ構成については同じ符号を付して説明を省略する。
【００８４】
決定部６０５は、実施形態１において説明した決定部１０５と同じ機能に加え、プロジェクタ６００及びプロジェクタ６５０の投影領域に対する相対位置を示す情報に基づいて、プロジェクタ６００の投影領域を決定する。
【００８５】
特定部６２０は、投影領域に対するプロジェクタ６００の投影方向を特定する。投影方向は、プロジェクタ６００の光軸に対応する。プロジェクタ６００の投影方向は、プロジェクタ６００の位置とスクリーンの位置との相対位置、及び、スクリーンの向きに基づいて特定することができる。プロジェクタ６００とスクリーンの相対位置、及び、スクリーンの向きは、実施形態１において図１１を用いて説明した方法と同様にして特定することができる。特定部６２０は、スクリーンの位置を特定するための第１の位置情報に基づいて、投影部１０８の位置とスクリーンとの相対位置に応じた第３の位置情報を取得する。
【００８６】
送受信部６２１は、特定部６２０で特定されたプロジェクタ６００の投影方向を示す情報を外部装置に送信する。プロジェクタ６００は、他のプロジェクタ６５０に投影方向を示す情報を送信する。あるいは、プロジェクタ６００は、プロジェクタ６００及びプロジェクタ６５０を制御する制御装置に、光軸の向きを示す情報を送信することとしてもよい。制御装置はプロジェクタ６００から受信した情報を、他のプロジェクタ６５０に送信する。このようにして、光軸の向きを示す情報は、直接的又は間接的に、他のプロジェクタ６５０に送信される。
【００８７】
また送受信部６２１は、他のプロジェクタ６５０の投影方向を他のプロジェクタ６５０から直接的に、又は、上述の制御装置を介して間接的に受信する。このようにして送受信部６２１は、立体に投影画像を投影する第２の投影手段の位置と立体の位置との相対位置に応じた第２の位置情報を受信する。
【００８８】
実施形態１と同様に、図６に示した各ブロックの機能の一部又は全体は、ハードウエアによって構成することができる。あるいは、図１に示した各ブロックの機能の一部又は全体は、記録媒体に記録されたプログラムをプロセッサが実行することにより実現されることとしてもよい。図６に示した各ブロックの機能は、図１０に示した構成によって実現することとしてもよい。
【００８９】
図６に示した各機能が図１０に示した構成によって実現される場合、特定部６２０の機能は、プロセッサ１００１が、ＲＯＭ１００３から読み出したプログラムをＲＡＭ１００２に展開して実行することにより実現することができる。また送受信部６２１の機能は、図１０に示した通信部１００４によって実現することができる。
【００９０】
図６に示したプロジェクタ６００が行う処理を、図７のフローチャートを用いて説明する。プロジェクタ１００がプロセッサ１００１、ＲＡＭ１００２、及び、ＲＯＭ１００３を内蔵する形態では、図７に示した処理は、プロセッサ１００１がメモリ１００２に格納されたプログラムを実行することにより実現される。あるいは、図２に示す処理の一部又は全体をハードウエアが行うこととしてもよい。
【００９１】
ステップＳ７０１からステップＳ７０４までの処理は、図２に示したフローチャートのステップＳ２０１からＳ２０４までの処理と同様であるため、ここでの説明を省略する。
【００９２】
ステップＳ７０５において、特定部６２０はプロジェクタ６００の投影方向を特定する。
【００９３】
次にステップＳ７０６において、送受信部６２１は特定部６２０が特定したプロジェクタ６００の投影方向を示す情報を、他のプロジェクタ６５０に送信する。送受信部６２１は特定部６２０が特定した情報を、プロジェクタ６００に接続された制御装置に対して送信し、制御装置が他のプロジェクタ６５０に転送することとしてもよい。
【００９４】
また、送受信部６２１は周辺の他のプロジェクタ６５０又は制御装置から、他のプロジェクタ６５０の投影方向示す情報を受信する。本実施形態において送受信部６２１は、プロジェクタ６００および６５０の各投影方向と投影領域８０１、８０２との相対関係を決定部６０５に出力する。ここで相対関係とはたとえば、光軸と投影領域とが交わる角度とすることができる。
【００９５】
次にステップＳ７０７において、決定部６０５は、プロジェクタ６００の投影可能範囲上に設定した座標系における、プロジェクタ６００の投影領域の位置を示す座標を決定する。
【００９６】
次にステップＳ７０８において、決定部６０５は、プロジェクタ６００および６５０と投影領域８０１および８０２との相対関係に基づいて、プロジェクタ６００が投影する投影領域８０１の範囲を決定する。投影範囲８０１の決定方法については、図９を用いて後述する。
【００９７】
ステップＳ７０９からステップＳ７１１までの処理は、実施形態１において図２を用いて説明したステップＳ２０６からステップＳ２０８までの処理と同様であるため説明を省略する。
【００９８】
ここでステップＳ７０８における処理について図９及び図１２を用いて説明する。決定部６０５は、スクリーンの位置及び向きと、プロジェクタ６００の投影方向とに基づいて、立体８００の投影面とプロジェクタ６００の光軸との交点９０１の位置を特定する（Ｓ１２０１）。また、スクリーンの位置及び向きと、プロジェクタ６５０の投影方向とに基づいて、立体８００の投影面とプロジェクタ６５０の光軸との交点９０２の位置を特定する（Ｓ１２０２）。
【００９９】
つぎに立体８００上の任意の点Ｐ（ｉ）と交点９０１との距離Ｌ１を求める（Ｓ１２０３）。また点Ｐ（ｉ）と交点９０２との距離求める（Ｓ１２０４）。ここで、ｉは１以上Ｎ以下の整数とする。
【０１００】
つぎに決定部６０５はＬ１とＬ２を比較する（Ｓ１２０５）。Ｌ１がＬ２以下である場合（Ｓ１２０５においてＹｅｓの場合）、決定部６０５は点Ｐ（ｉ）を含む領域をプロジェクタ６００の投影領域と決定する（Ｓ１２０６）。一方Ｌ１がＬ２よりも大きい場合（Ｓ１２０５においてＮｏの場合）、決定部６０５は点Ｐ（ｉ）を含む領域をプロジェクタ６５０の投影領域と決定する（Ｓ１２０７）。
【０１０１】
点Ｐ（ｉ）を含む領域の投影を行うプロジェクタを決定した後、決定部６０５はｉをインクリメントする（Ｓ１２０８）。そしてインクリメントしたｉがＮ以下であるか判定する（Ｓ１２０９）。ｉがＮ以下である場合（Ｓ１２０９でＮｏの場合）にはステップＳ１２０３からＳ１２０９の処理を繰り返す。一方、インクリメントしたｉがＮより大きい場合（Ｓ１２０９でＹｅｓの場合）には、立体８００の投影面の全ての点について判定を終えたと判定して処理を終了する。
【０１０２】
このようにして、スクリーンにおける撮像画像の投影領域のうち、Ｌ１がＬ２よりも短い領域に、第１の投影部（投影部１０８）から投影画像を投影させる。Ｌ１は、第１の投影部（投影部１０８）の光軸と投影領域との交点からの距離である。またＬ２は、第２の投影部（プロジェクタ６５０の投影部）の光軸と投影領域との交点からの距離である。
【０１０３】
なお、プロジェクタ６５０においては同様の処理を行うことにより投影領域８０２に対する画像処理を行い、投影領域８０２に変形処理された画像を投影する。プロジェクタ６５０は、プロジェクタ６００の決定部６０５が図１２に示した処理を実行して決定した結果をプロジェクタ６００から受信してプロジェクタ６５０の投影範囲を決定することとしてもよい。
【０１０４】
以上のようにして、図８に示すように立体８００の動きに従って投影領域８０１、８０２が変化し、２つのプロジェクタのうち、その光軸と投影面の交点に近い範囲を各プロジェクタが投影することになり、画像を投影領域に投影することができる。
【０１０５】
このようにして、立体形状を有するスクリーンに複数のプロジェクタが同時に投影画像を投影する場合にも投影面の形状に一致するようにして投影画像を投影することができる。
【０１０６】
（その他の実施形態）
実施形態１及び実施形態２では、プロジェクタ１００、６００、及び、６５０が自身の投影部の投影制御を行う場合について説明したが、これに限らない。例えば、上記の投影制御を行う制御装置はプロジェクタの外部に接続された投影制御システムによっても同様の効果を奏することができる。例えばこの制御装置は、図１に示した機能ブロックのうち、取得部１０１、判定部１０４、決定部１０５を少なくとも有する構成とすることができる。
【０１０７】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１０８】
１０１  取得部
１０２  設定部
１０３  保持部
１０４  判定部
１０５  決定部
１０６  入力部
１０７  制御部
１０８  投影部
【図１】
0006494239.tif 000002
【図２】
0006494239.tif 000003
【図３】
0006494239.tif 000004
【図４】
0006494239.tif 000005
【図５】
0006494239.tif 000006
【図６】
0006494239.tif 000007
【図７】
0006494239.tif 000008
【図８】
0006494239.tif 000009
【図９】
0006494239.tif 000010
【図１０】
0006494239.tif 000011
【図１１】
0006494239.tif 000012
【図１２】
0006494239.tif 000013