(57)【要約】【課題】位置合わせが完了した投写装置がなくても、複数の投写装置の設置位置を適切に調整できるようにする投写制御装置およびその制御方法を提供すること。【解決手段】複数の投写装置を用いた投写を制御する投写制御装置である。投写制御装置は、複数の投写装置の１つについての目標投写領域の目安となる指標を、他の投写装置の１つ以上によって表示させる制御手段を有する。制御手段は、投写面を撮影した画像から検出した各投写装置の投写領域に基づいて、指標を表示させる投写装置を決定する。【選択図】図９
2020088691.tif 000002
【特許請求の範囲】
【請求項１】
複数の投写装置を用いた投写を制御する投写制御装置であって、
前記複数の投写装置のそれぞれについて、投写面上に光学像を投写する投写領域を、前記投写面を撮影した画像から検出する検出手段と、
前記複数の投写装置の１つについての目標投写領域の目安となる指標を、他の投写装置の１つ以上によって表示させる制御手段とを有し、
前記制御手段は、前記検出手段による検出結果に基づいて、前記他の投写装置の中から、前記指標を投写させる投写装置を決定する、することを特徴とする投写制御装置。
【請求項２】
前記制御手段は、前記他の投写装置のうち、１台以上によって前記指標の所定割合以上を投写可能な投写装置を、前記指標を投写させる投写装置に決定することを特徴とする請求項１に記載の投写制御装置。
【請求項３】
前記制御手段は、前記指標を投写させる投写装置が決定できない場合、指標を表示する対象の投写装置を変更することを特徴とする請求項１または請求項２に記載の投写制御装置。
【請求項４】
前記複数の投写装置を用いた投写が、隣接する投写領域の一部が重複するように複数の投写領域を並べて投写するマルチ投写であることを特徴とする請求項１から請求項３のいずれか１項に記載の投写制御装置。
【請求項５】
前記指標が、前記目標投写領域の外縁を示す画像であることを特徴とする請求項１から請求項４のいずれか１項に記載の投写制御装置。
【請求項６】
前記制御手段は、前記複数の投写装置の前記１つについて、投写領域が前記指標を包含するように位置を調整することをユーザに促すメッセージを出力することを特徴とする請求項１から請求項５のいずれか１項に記載の投写制御装置。
【請求項７】
前記制御手段は、前記メッセージを、前記複数の投写装置の前記１つに投写させることを特徴とする請求項６に記載の投写制御装置。
【請求項８】
前記制御手段は、前記メッセージを、前記投写制御装置が有する表示装置に表示させることを特徴とする請求項６または請求項７に記載の投写制御装置。
【請求項９】
前記制御手段はさらに、前記複数の投写装置の前記１つについて、投写領域の頂点を移動可能な範囲を示す指標を前記複数の投写装置の前記１つによって表示させることを特徴とする請求項１から請求項８のいずれか１項に記載の投写制御装置。
【請求項１０】
ユーザの指示に応じて、前記複数の投写装置の投写領域を、対応する目標投写領域に自動位置合わせすることを特徴とする請求項１から請求項９のいずれか１項に記載の投写制御装置。
【請求項１１】
複数の投写装置を用いた投写を制御する投写制御装置の制御方法であって、
検出手段が、前記複数の投写装置のそれぞれについて、投写面上に光学像を投写する投写領域を、前記投写面を撮影した画像から検出する検出工程と、
制御手段が、前記複数の投写装置の１つについての目標投写領域の目安となる指標を、他の投写装置の１つ以上によって表示させる制御工程とを有し、
前記制御工程では、前記検出工程による検出結果に基づいて、前記他の投写装置の中から、前記指標を投写させる投写装置を決定する、
ことを特徴とする投写制御装置の制御方法。
【請求項１２】
コンピュータを、請求項１から請求項１０のいずれか１項に記載の投写制御装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、投写制御装置およびその制御方法、ならびに投写システムに関し、特には、投写位置の調整技術に関する。
【背景技術】
【０００２】
複数の投写装置を用いた投写方法（マルチ投写）が知られている。マルチ投写では個々の投写装置の投写位置の調整（位置合わせ）が必要であるため、位置合わせを容易にする機能を有する投写装置も知られている。
【０００３】
特許文献１では、位置合わせが完了した投写装置を用いて、位置合わせができなかった投写装置の設置位置を修正するための参照画像を投写して、投写装置の設置位置の修正を容易にする技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−１２１７７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の技術では、少なくとも１台は位置合わせが完了した投写装置が必要である。したがって、位置合わせが完了した投写装置がない場合には利用できない。
【０００６】
本発明は、このような従来技術の課題に鑑みてなされたものである。したがって本願発明の目的は、位置合わせが完了した投写装置がなくても、複数の投写装置の設置位置を適切に調整できるようにする投写制御装置およびその制御方法を提供することにある。
【課題を解決するための手段】
【０００７】
上述の目的は、複数の投写装置を用いた投写を制御する投写制御装置であって、複数の投写装置のそれぞれについて、投写面上に光学像を投写する投写領域を、投写面を撮影した画像から検出する検出手段と、複数の投写装置の１つについての目標投写領域の目安となる指標を、他の投写装置の１つ以上によって表示させる制御手段とを有し、制御手段は、検出手段による検出結果に基づいて、他の投写装置の中から、指標を投写させる投写装置を決定する、することを特徴とする投写制御装置によって達成される。
【発明の効果】
【０００８】
このような構成により、本願発明によれば、位置合わせが完了した投写装置がなくても、複数の投写装置の設置位置を適切に調整できるようにする投写制御装置およびその制御方法を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態に係る投写システムの構成例を示す模式図
【図２】第１実施形態に係る投写システムの機能構成例を示すブロック図
【図３】キーストーン補正に関する図
【図４】第１実施形態に係る自動位置合わせ処理の概要に関するフローチャート
【図５】第１実施形態に係るプロジェクタ選択用ＧＵＩの一例を示す図
【図６】第１実施形態に係るカメラ選択用ＧＵＩの一例を示す図
【図７】第１実施形態に係るカメラパラメータ設定用ＧＵＩの一例を示す図
【図８】第１実施形態に係る調整モード選択用ＧＵＩの一例を示す図
【図９】第１実施形態に係る設置アシスト処理に関するフローチャート
【図１０】第１実施形態に係る設置アシスト処理の詳細を説明する図
【図１１】第１実施形態に係る設置アシスト処理のユーザ操作を説明する図
【図１２】第２実施形態に係る設置アシスト処理に関するフローチャート
【図１３】第２実施形態に係る設置アシスト処理の詳細を説明する図
【発明を実施するための形態】
【００１０】
●（第１実施形態）
以下、図面を参照して本発明の例示的な実施形態を詳細に説明する。なお、本発明は説明する実施形態に限定されない。また、実施形態で説明される構成要素の全てが本発明に必須とは限らない。実施形態における個々の機能ブロックは、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの組み合わせによって実現することができる。また、１つの機能ブロックは複数のハードウェアで実現されてもよい。また、１つのハードウェアが複数の機能ブロックを実現してもよい。また、１つ以上の機能ブロックは、１つ以上のプログラマブルプロセッサ（ＣＰＵ、ＭＰＵなど）がメモリに読み込まれたコンピュータプログラムを実行することにより実現されてもよい。１つ以上の機能ブロックをハードウェアで実現する場合、ディスクリート回路や、ＦＰＧＡ、ＡＳＩＣといった集積回路によって実現することができる。
【００１１】
また、実施形態の説明で例示するグラフィカルユーザインタフェース（ＧＵＩ）は単なる一例であり、ＧＵＩを構成するコンポーネントの種類や配置、ＧＵＩ画面間の遷移方法などは変更可能である。
【００１２】
［システム構成］
図１は、本発明の実施形態に係る投写システムの一例を表す模式図である。投写システム１０は、投写画像の解像度の向上や、輝度を維持しながら投写領域の拡大などを目的としたマルチスクリーン投写システムである。マルチスクリーン投写は、隣接する投写装置の投写領域を並べて投写する方法である。ここでは、投写画像の繋ぎ目を目立たなくするため、隣接する投写領域を一部重複させるとともに、重複領域の輝度上昇を目立たなくするため、減光処理（エッジブレンディング処理）を施すものとする。
【００１３】
なお、図１では、４台の投写装置（プロジェクタ）１００ａ〜１００ｄを有し、それぞれの投写領域Ａ〜Ｄを水平方向および垂直方向に２つずつ並べてマルチスクリーン投写する投写システムを示している。しかし、プロジェクタの台数および投写領域の並べ方に制限はない。マルチスクリーン投写を行う場合、なお、以下の説明において、単に「プロジェクタ１００」と記載した場合、プロジェクタ１００ａ〜１００ｄの全て、または任意の１つを表すものとする。
【００１４】
投写システム１０に含まれる全てのプロジェクタは投写制御装置として機能するパーソナルコンピュータ（ＰＣ）２００と相互に通信可能に接続される。なお、スマートフォンやタブレットコンピュータなど、他の情報処理装置をＰＣの代わりに投写制御装置として用いてもよい。また、複数のプロジェクタと投写制御装置との通信は、有線通信であっても無線通信であってもよく、また、通信プロトコルにも特に制限はない。本実施形態では一例として、ＴＣＰ／ＩＰを通信プロトコルとして用いるローカルエリアネットワーク（ＬＡＮ）を通じてプロジェクタ１００とＰＣ２００との通信が行われるものとする。
【００１５】
また、ＰＣ２００は、予め定められたコマンドをプロジェクタ１００ａ〜１００ｄに送信することにより、プロジェクタ１００ａ〜１００ｄの動作を制御することができる。プロジェクタ１００ａ〜１００ｄはＰＣ２００から受信したコマンドに応じた動作を行い、動作の結果をＰＣ２００に送信する。
【００１６】
投写システム１０はさらに、撮像装置であるカメラ３００を有する。カメラ３００は例えばデジタルカメラ、ウェブカメラ、ネットワークカメラなど、ＰＣ２００から動作を制御可能な任意のカメラであってよい。ＰＣ２００に内蔵されたカメラであってもよい。カメラ３００は、投写面を構成するスクリーン４００の全体を含む固定の範囲を撮影するように設置される。カメラ３００がＰＣ２００と別個である場合、カメラ３００はＰＣ２００と有線または無線通信可能に接続される。図１ではカメラ３００がＰＣ２００に直接接続される構成を示しているが、ＬＡＮなどのネットワークを通じて接続されてもよい。ＰＣ２００は、カメラ３００に予め定められたコマンドを送信することにより、カメラ３００の動作を制御することができる。例えば、カメラ３００はＰＣ２００からの要求に応じて撮影を行い、得られた画像データをＰＣ２００に送信することができる。
【００１７】
本明細書において用いる用語を以下の様に定義する。
「投写領域」  １台のプロジェクタ１００が投写する光学像が投写面上に占める領域
「投写画像」  投写領域に投写されている光学像
「投写用画像」  ＰＣ２００が出力する映像信号または画像データ、また、それらが表す画像
「マルチ投写」  複数のプロジェクタを用いた投写
「合成投写領域」  マルチ投写時の各プロジェクタの投写領域を合成した領域
「スタック投写」  各プロジェクタの投写領域が合致、もしくは投写画像が完全に重畳するマルチ投写
「マルチスクリーン投写」  隣接する投写領域の一部が重複するように各プロジェクタの投写領域を並べたマルチ投写
「プロジェクタ（投写装置）」  光源からの光を投写用画像に基づいて変調して投写面に投写または投写面上で走査することによって投写画像を投写面上に形成する装置
【００１８】
［プロジェクタ１００の構成］
図２は投写システム１０に含まれるプロジェクタ１００及びＰＣ２００の機能構成例を示すブロック図である。図１のプロジェクタ１００ａ〜１００ｄは同じ構成であるため、ここではプロジェクタ１００の構成として説明する。プロジェクタ１００は、ＣＰＵ１０１、ＲＡＭ１０２、ＲＯＭ１０３、投写部１０４、投写制御部１０５、ＶＲＡＭ１０６、操作部１０７、ネットワークＩＦ１０８、画像処理部１０９、映像入力部１１０を有する。これらの機能ブロックは内部バス１１１によって通信可能に接続されている。
【００１９】
ＣＰＵ１０１はプログラマブルプロセッサの一例であり、例えばＲＯＭ１０３に記憶されているプログラムをＲＡＭ１０２に読み込んで実行することにより、プロジェクタ１００の動作を実現する。
ＲＡＭ１０２は、ＣＰＵ１０１がプログラムを実行する際のワークメモリとして用いられる。ＲＡＭ１０２には、プログラムやプログラムの実行に用いる変数などが記憶される。また、ＲＡＭ１０２は、他の用途（例えばデータバッファとして）に用いられてもよい。
【００２０】
ＲＯＭ１０３は書き換え可能であってもよい。ＲＯＭ１０３はＣＰＵ１０１が実行するプログラム、メニュー画面などの表示に用いるためのＧＵＩデータ、各種の設定値などを記憶する。
【００２１】
投写部１０４は、光源、投写光学系などを有し、投写制御部１０５から供給される投写用画像に基づいて光学像を投写する。本実施形態では液晶パネルを光学変調素子として用い、光源からの光の反射率もしくは透過率を投写用画像に従って制御することにより、投写用画像に基づく光学像を生成し、投写光学系によって投写面に投写する。
【００２２】
投写制御部１０５は、画像処理部１０９から供給される投写用画像のデータを投写部１０４に供給する。
ＶＲＡＭ１０６は、外部（例えばＰＣやメディアプレーヤー）から受信した投写用画像のデータを格納するビデオメモリである。
【００２３】
操作部１０７は、キーボタン、スイッチ、タッチパネルなどの入力デバイスを有し、ユーザからプロジェクタ１００への指示を受け付ける。ＣＰＵ１０１は操作部１０７の操作を監視しており、操作部１０７の操作を検出すると、検出した操作に応じた処理を実行する。なお、プロジェクタ１００がリモートコントローラを有する場合、操作部１０７はリモートコントローラから受信した操作信号をＣＰＵ１０１に通知する。
【００２４】
ネットワークＩＦ１０８はプロジェクタ１００を通信ネットワークに接続するインタフェースであり、サポートする通信ネットワークの規格に準拠した構成を有する。本実施形態においてプロジェクタ１００は、ネットワークＩＦ１０８を通じて、ＰＣ２００と共通のローカルネットワークに接続される。したがって、プロジェクタ１００とＰＣ２００との通信はネットワークＩＦ１０８を通じて実行される。
【００２５】
画像処理部１０９は、映像入力部１１０に供給され、ＶＲＡＭ１０６に格納された映像信号に対して様々な画像処理を必要に応じて適用し、投写制御部１０５に供給する。画像処理部１０９は例えば画像処理用のマイクロプロセッサであってよい。あるいは、画像処理部１０９に相当する機能を、ＣＰＵ１０１がＲＯＭ１０３に記憶されたプログラムを実行することによって実現してもよい。
画像処理部１０９が適用可能な画像処理には、フレーム間引き処理、フレーム補間処理、解像度変換処理、メニュー画面などのＯＳＤを重複させる処理、キーストーン補正処理、エッジブレンディング処理などが含まれるが、これらに限定されない。
【００２６】
映像入力部１１０は、外部装置（本実施形態ではＰＣ２００）が出力する映像信号を直接または間接的に受信するインタフェースであり、サポートする映像信号に応じた構成を有する。映像入力部１１０は例えば、コンポジット端子、Ｓ映像端子、Ｄ端子、コンポーネント端子、アナログＲＧＢ端子、ＤＶＩ−Ｉ端子、ＤＶＩ−Ｄ端子、ＨＤＭＩ（登録商標）端子の１つ以上を含む。映像入力部１１０はまた、アナログ映像信号を受信した場合、デジタル映像信号に変換してＶＲＡＭ１０６に格納する。
【００２７】
［ＰＣ２００の構成］
次に、ＰＣ２００の機能構成について説明する。ＰＣ２００は外部ディスプレイが接続可能な汎用コンピュータであってよく、したがって汎用コンピュータに準じた機能構成を有する。ＰＣ２００は、ＣＰＵ２０１、ＲＡＭ２０２、ＲＯＭ２０３、操作部２０４、表示部２０５、ネットワークＩＦ２０６、映像出力部２０７、通信部２０８を有する。また、これの機能ブロックは内部バス２０９によって通信可能に接続されている。
【００２８】
ＣＰＵ２０１は、プログラマブルプロセッサの一例であり、例えばＲＯＭ２０３に記憶されているプログラム（ＯＳやアプリケーションプログラム）をＲＡＭ２０２に読み込んで実行することにより、ＰＣ２００の動作を実現する。
ＲＡＭ２０２は、ＣＰＵ２０１がプログラムを実行する際のワークメモリとして用いられる。ＲＡＭ２０２には、プログラムやプログラムの実行に用いる変数などが記憶される。また、ＲＡＭ２０２は、他の用途（例えばデータバッファとして）に用いられてもよい。
【００２９】
ＲＯＭ２０３は書き換え可能であってよい。ＲＯＭ２０３は、ＣＰＵ２０１が実行するプログラム、メニュー画面などの表示に用いるためのＧＵＩデータ、各種の設定値などが記憶される。なお、ＰＣ２００はＲＯＭ２０３よりも大容量の記憶装置（ＨＤＤやＳＳＤ）を有してもよく、この場合ＯＳやアプリケーションプログラムといった容量の大きいプログラムは記憶装置に記憶してもよい。
【００３０】
操作部２０４は、キーボード、ポインティングデバイス（マウスなど）、タッチパネル、スイッチなどの入力デバイスを有し、ユーザからＰＣ２００への指示を受け付ける。なお、キーボードはソフトウェアキーボードであってもよい。ＣＰＵ２０１は操作部２０４の操作を監視しており、操作部２０４の操作を検出すると、検出した操作に応じた処理を実行する。
【００３１】
表示部２０５は例えば液晶パネルや有機ＥＬパネルである。表示部２０５は、ＯＳやアプリケーションプログラムが提供する画面の表示を行う。なお、表示部２０５は外部装置であってもよい。また、表示部２０５はタッチディスプレイであってもよい。
【００３２】
ネットワークＩＦ２０６はＰＣ２００を通信ネットワークに接続するインタフェースであり、サポートする通信ネットワークの規格に準拠した構成を有する。本実施形態においてＰＣ２００は、ネットワークＩＦ２０６を通じて、プロジェクタ１００と共通のローカルネットワークに接続される。したがって、ＰＣ２００とプロジェクタ１００との通信はネットワークＩＦ２０６を通じて実行される。
【００３３】
映像出力部２０７は、外部装置（本実施形態ではプロジェクタ１００）に映像信号を送信するインタフェースであり、サポートする映像信号に応じた構成を有する。映像出力部２０７は例えば、コンポジット端子、Ｓ映像端子、Ｄ端子、コンポーネント端子、アナログＲＧＢ端子、ＤＶＩ−Ｉ端子、ＤＶＩ−Ｄ端子、ＨＤＭＩ（登録商標）端子の１つ以上を含む。
【００３４】
なお、本実施形態では、プロジェクタ１００の投写領域の調整機能を有する投写制御アプリケーションプログラムのＵＩ画面を表示部２０５に表示するものとするが、映像出力部２０７に接続された外部機器にＵＩ画面を表示させてもよい。
【００３５】
通信部２０８は外部機器と例えばシリアル通信を行うための通信インタフェースであり、代表的にはＵＳＢインタフェースであるが、ＲＳ−２３２Ｃなど他の規格に準じた構成を有してもよい。本実施形態ではカメラ３００が通信部２０８に接続されるものとするが、カメラ３００とＰＣ２００との通信方法に特に制限はなく、両者がサポートしている任意の規格に準拠した通信を行うことができる。
【００３６】
［キーストーン補正について］
次に、キーストーン補正について図３を用いて説明する。キーストーン補正は、投写面の法線方向と投写方向（一般的には投写光学系の光軸）とのずれに応じて投写画像に生じる台形歪みを相殺するように元画像を幾何学的変換（変形）させる補正（幾何補正）である。画像の幾何学的変換は射影変換によって実現できるため、キーストーン補正は幾何補正の補正量である射影変換のパラメータの決定に等しい。例えば、ＣＰＵ１０１は、矩形上の元画像の各頂点の移動量と移動方向に基づいて射影変換のパラメータを決定し、画像処理部１０９に与えることができる。
【００３７】
例えば、元画像の座標を（ｘｓ，ｙｓ）とすると、射影変換による変形後の画像の座標（ｘｄ，ｙｄ）は以下の式１で表わされる。
【数１】
2020088691.tif 000003
ここで、Ｍは３×３行列で、元画像から変形後の画像への射影変換行列である。この行列Ｍは、一般的に元画像の４隅座標と変形後画像の４隅座標を用いて連立方程式を解くことで求められる。また、ｘｓｏ、ｙｓｏは、図３に実線で示す元画像の左上の頂点の座標であり、ｘｄｏ、ｙｄｏは、図３に一点鎖線で示す変形後の画像において、元画像の頂点（ｘｓｏ，ｙｓｏ）に対応する頂点の座標値である。
【００３８】
行列Ｍの逆行列Ｍ-1とオフセット（ｘｓｏ，ｙｓｏ）、（ｘｄｏ，ｙｄｏ）から式１は以下の式２に変形できる。ＣＰＵ１０１は、変形パラメータとして逆行列Ｍ-1とオフセット（ｘｓｏ，ｙｓｏ）、（ｘｄｏ，ｙｄｏ）を画像処理部１０９に与える。画像処理部１０９は式２に従って変形後の座標値（ｘｄ、ｙｄ）に対応する元画像の座標（ｘｓ、ｙｓ）を求める。
【数２】
2020088691.tif 000004
【００３９】
式２で得られる元画像の座標ｘｓ，ｙｓがいずれも整数であれば、画像処理部１０９は元画像座標（ｘｓ，ｙｓ）の画素値をそのままキーストーン補正後の画像の座標（ｘｄ，ｙｄ）の画素値とすることができる。一方、式２で得られる元画像の座標が整数にならない場合、画像処理部１０９は、元画像座標（ｘｓ，ｙｓ）に相当する画素値を、複数の周辺画素の値を用いた補間演算により求めることができる。補間演算は、例えばバイリニア、バイキュービックなど、公知の補間演算のいずれかを用いて行うことができる。なお、式２で得られる元画像の座標が、元画像の外部領域の座標である場合、画像処理部１０９は、キーストーン補正後の画像の座標（ｘｄ，ｙｄ）の画素値を黒（０）またはユーザが設定した背景色とする。このようにして、画像処理部１０９は、キーストーン補正後の画像の全座標についての画素値を求め、変換後画像を作成することができる。
【００４０】
ここでは、プロジェクタ１００のＣＰＵ１０１から画像処理部１０９に、逆行列Ｍ-1が供給されるものとしたが、行列Ｍを供給し、逆行列Ｍ-1は画像処理部１０９が求めてもよい。
【００４１】
なお、キーストーン補正後の画像の頂点の座標は、例えば投写画像の個々の頂点について、頂点が所望の位置に投写されるように操作部１０７を通じてユーザから移動量を入力させることにより取得することができる。この際、移動量の入力を支援するため、ＣＰＵ２０１は、投写制御アプリケーションプログラムの機能を用い、プロジェクタ１００にテストパターンを投写させるようにしてもよい。
【００４２】
［自動位置合わせ処理］
本実施形態のＰＣ２００が投写制御アプリケーションプログラムを実行することにより実現する、自動位置合わせ処理の概要を図４のフローチャートに示す。
Ｓ４０１でＰＣ２００のＣＰＵ２０１は、ＰＣ２００が通信可能なプロジェクタ１００の中から、自動位置合わせ処理の対象とする複数のプロジェクタを選択し、レイアウトを設定する。
【００４３】
図５（ａ）は、ＣＰＵ２０１が投写制御アプリケーションプログラム（以下、単にアプリケーションと呼ぶ）を実行することにより表示部２０５に表示するＧＵＩ画面５００の例を示す図である。ユーザはＰＣ２００の操作部２０４を通じてＧＵＩ画面５００を操作することができる。
【００４４】
レイアウトリスト５０１は、マルチスクリーン投写時の投写領域の並べ方を、垂直方向に並べる投写領域の数（Ｒｏｗ）と水平方向に並べる投写領域の数（Ｃｏｌｕｍｎ）との組み合わせによって一覧表示している。ここでは２〜４台のプロジェクタを用いたマルチスクリーン投写を想定したレイアウトリストが示されているが、より多くのプロジェクタに対応するレイアウトリストを提示してもよい。また、例えばアプリケーションの起動時や後述する検索ボタン５０４の操作に応答してプロジェクタの検出処理を実行し、検出されたプロジェクタの数に応じたレイアウトリスト５０１を生成してもよい。
【００４５】
本実施形態では４台のプロジェクタ１００ａ〜１００ｄを用い、垂直方向、水平方向とも２つずつの投写領域を並べたマルチスクリーン投写を行うため、ユーザはレイアウトリスト５０１からＲｏｗ：２、Ｃｏｌｕｍｎ：２の組み合わせを選択する。選択はポインティングデバイスやキーボードを用いた公知の方法で行うことができる。
【００４６】
ＣＰＵ２０１は、レイアウトリスト５０１に対する選択操作を検出すると、選択されたレイアウトを特定する。そして、ＣＰＵ２０１は、選択されたレイアウトに対応したレイアウト図５０３を表示する。レイアウト図５０３は、投写面における投写領域の位置関係を模式的に示す図である。図５に示す例では、レイアウト図５０３に含まれる、個々の投写領域を表す領域にレイアウト番号（Layout1〜Layout4）が付与されている。以下、投写領域とレイアウトは同義である。
【００４７】
スタック数ドロップダウン５０２は、マルチスクリーン投写における個々のレイアウト（投写領域）にスタック投写を適用する場合に、レイアウトあたりのプロジェクタの台数を設定するためのＧＵＩパーツである。ここではスタック投写を用いず、レイアウトあたり１台のプロジェクタを用いるため、初期値１のままである。
【００４８】
検索ボタン５０４は、ユーザがＰＣ２００に対し、制御可能なプロジェクタを検索させるためのＧＵＩボタンである。ＣＰＵ２０１は、検索ボタン５０４を押下する操作を検出すると、ネットワークＩＦ２０６を介して、プロジェクタ名とＩＰアドレスに関する情報を要求する所定のコマンドをＬＡＮ上にブロードキャストする。なお、プロジェクタ名とＩＰアドレスに限らず、例えばエッジブレンディング設定値やキーストーン変形量などの装置状態や、機種名や能力などの装置情報も要求することができる。
【００４９】
ＬＡＮに接続されている個々のプロジェクタ１００のＣＰＵ１０１は、ネットワークＩＦ１０８を介してコマンドを受信すると、要求された情報を含んだデータを、ＰＣ２００に対して送信する。ＰＣ２００のＣＰＵ２０１は、コマンドに応答して送信されたデータを受信し、データに含まれる情報を用いてリストビュー５０５に表示する（図５（ｂ））。ここでは、プロジェクタ名とＩＰアドレスをリストビュー５０５に表示しているが、他の情報を追加表示してもよい。リストビュー５０５におけるプロジェクタ情報の表示順序は、コマンドを受信した順であってもよいし、他の条件でソートした順であってもよい。
【００５０】
なお、上述した様に、プロジェクタの検出処理はアプリケーションの起動時に実行し、ＧＵＩ画面５００の初期表示においてリストビュー５０５にプロジェクタ情報を表示してもよい。また、プロジェクタの検出処理は、検索ボタン５０４の操作が検出されたこと以外の条件で実行されてもよい。
【００５１】
ここでは、マルチスクリーン投写を行うプロジェクタ１００ａ〜１００ｄだけがＬＡＮに接続されているため、リストビュー５０５にはプロジェクタ１００ａ〜１００ｄ（プロジェクタ名Projector1〜4）だけが表示されている。しかし、他のプロジェクタがＬＡＮに接続されていれば、それらの情報もリストビュー５０５に表示される。
【００５２】
リストビュー５０５にプロジェクタ情報が表示されている場合、個々のプロジェクタ情報に対して、割当欄５０６にドロップダウンボタン５０７が表示される。図５（ｂ）では、リストビュー５０５の最上列（Projector4）に対するドロップダウンボタン５０７が操作された状態を示している。
【００５３】
ドロップダウンボタン５０７の操作が検出されると、ＣＰＵ２０１は、操作されたドロップダウンボタン５０７に対応するプロジェクタに割り当てるレイアウトを選択するためのドロップリストを表示する。ここではプロジェクタに割り当て済みのレイアウトがないため、Layout1からLayout4の全てが選択可能である。Projector4はＩＰアドレスが192.168.254.254であり、図１のプロジェクタ１００ｄに相当する。
【００５４】
したがって、ユーザはプルダウンリストから図１の投写領域Ｄに対応する「Layout4」を選択する。同様に、プロジェクタ１００ａ〜１００ｃについてもLayout1, Layout2, Layout3をそれぞれ設定する。このようにしてユーザは、リストビュー５０５に表示されているプロジェクタのうち、マルチスクリーン投写に用いるプロジェクタのそれぞれについて、ドロップダウンボタン５０７を用いてレイアウトを割り当てる。
【００５５】
ＣＰＵ２０１は、プロジェクタから取得した情報（例えば、プロジェクタ名、ＩＰアドレス）や、レイアウトとプロジェクタとの関係などの情報を、例えばＲＡＭ２０２に格納する。なお、エッジブレンド情報およびキーストーン変形量の少なくとも一方が未取得のプロジェクタにレイアウトが割り当てられている場合、ＣＰＵ２０１はそのプロジェクタに要求コマンドを送信して不足している情報を取得し、ＲＡＭ２０２に格納する。
【００５６】
プロジェクタへのレイアウトの割当が完了すると、ユーザは図５（ｂ）のＮｅｘｔボタン５０８を押下する。ＣＰＵ２０１は、Ｎｅｘｔボタン５０８の押下操作を検出すると、図４のＳ４０２のテストパターン出力処理に遷移する。
【００５７】
Ｓ４０２でＣＰＵ２０１は、レイアウトが割り当てられたプロジェクタのそれぞれに対し、ネットワークＩＦ２０６を通じて、テストパターンの表示を指示するコマンドを送信し、処理をＳ４０３に進める。このとき、ＣＰＵ２０１は、キーストーン変形を適用中の（キーストーン変形量が０でない）プロジェクタには、キーストーン変形の解除を指示するコマンドも送信する。
【００５８】
ここで各プロジェクタに表示させるテストパターンは、各プロジェクタの投写領域の大きさや位置の確認を支援できればどのようなものであってもよく、例えば格子状の画像であってよい。テストパターンの表示を指示するコマンドは、テストパターンを指定するコマンド、テストパターンを描画するためのコマンド群、テストパターン画像を投写画像データとして送信するコマンドのいずれであってもよい。テストパターンはプロジェクタごとに異ならせてもよいし、全てのプロジェクタに共通であってもよい。
【００５９】
Ｓ４０３でＣＰＵ２０１は、表示部２０５に例えば図６に示すようなカメラ選択画面６００を表示する。カメラ選択画面６００は、自動位置合わせ処理に用いるカメラをユーザが選択することを可能にする画面である。カメラ選択画面６００の検索ボタン６０１に対する操作が検出されると、ＣＰＵ２０１はＰＣ２００の通信部２０８やネットワークＩＦ２０６に接続された機器を検索し、カメラが接続されていれば識別情報（例えばカメラの製品名）を取得する。ＣＰＵ２０１は例えばカメラ選択画面６００上にダイアログを表示し、ユーザに検索処理の終了を知らせてもよい。
【００６０】
そして、ＣＰＵ２０１は、取得したカメラの情報をドロップダウンリスト６０２の項目として用意し、ドロップダウンリスト６０２の操作を検出すると、カメラの情報を選択可能に一覧表示する。ユーザはドロップダウンリスト６０２に表示される複数のカメラ情報の中から所望のカメラの情報を選択することにより、自動調整に用いるカメラを選択することができる。なお、自動調整に用いるカメラは２台以上選択可能であってもよい。
【００６１】
カメラ選択画面６００における画像領域６０３は、ドロップダウンリスト６０２で選択されたカメラで撮影した画像を表示する領域である。例えば、ＣＰＵ２０１はドロップダウンリスト６０２を通じて選択されたカメラ（ここでは図２のカメラ３００とする）に対して、撮影を指示するコマンドを送信する。カメラ３００はコマンドに応答して撮影処理を実行し、撮影した画像をＰＣ２００に出力する。ＣＰＵ２０１は通信部２０８を通じて受信した画像データをカメラ選択画面６００の画像領域６０３に表示させる。
【００６２】
カメラ３００から取得する画像はライブビュー画像（リアルタイム動画）が望ましいが、静止画であってもよい。図６では、画像領域６０３に表示される画像に写った、プロジェクタ１００ａ〜１００ｄの投写領域６０７ａ〜６０７ｄを例示している。図では、プロジェクタごとの投写領域を区別しやすくするために各プロジェクタが投写するテストパターンが異なる場合を模式的に示しているが、上述したようにテストパターンは共通であってよい。
【００６３】
ユーザは画像領域６０３に表示される画像を参照して、カメラ３００の撮像範囲内に全てのプロジェクタの投写領域が収まるようにカメラの設置位置や画角を容易に調整することができる。
【００６４】
カメラ選択画面６００のＢａｃｋボタン６０５の操作が検出されると、ＣＰＵ２０１は、カメラ選択画面６００に代えてＧＵＩ画面５００を表示する。また、ＣＰＵ２０１は処理をＳ４０１に戻す。
【００６５】
カメラ選択画面６００のチェックボックス６０４は、カメラ３００の撮影パラメータ（絞り値、シャッタースピード、感度など）をＰＣ２００に自動算出させるか否かをユーザが選択するためのものである。ここではデフォルトでオン（ＰＣ２００に自動算出させる）が選択されているものとする。
【００６６】
Ｎｅｘｔボタン６０６は次画面への遷移をユーザがＣＰＵ２０１に指示するためのボタンである。Ｎｅｘｔボタン６０６への操作が検出されると、ＣＰＵ２０１はチェックボックス６０４がチェックされているか否かを確認する。そして、チェックボックス６０４がチェックされている場合、ＣＰＵ２０１は撮影パラメータの自動算出処理を実行する。撮影パラメータの自動算出方法に特に制限はないが、例えばＣＰＵ２０１は各々のプロジェクタ１００に所定のテストパターンを投写させた状態で、カメラ３００の自動露出制御機能によって得られた撮影パラメータを取得することができる。
【００６７】
また、ＣＰＵ２０１はＮｅｘｔボタン６０６の操作を検出すると、図４のＳ４０４に処理を進め、撮影パラメータ設定処理を実行する。ＣＰＵ２０１は、表示部２０５に例えば図７に示すパラメータ設定画面７００を表示する。パラメータ設定画面７００は、カメラ３００に設定する撮影パラメータごとのドロップダウンリスト７０１〜７０３を有する。ドロップダウンリスト７０１〜７０３はそれぞれシャッター速度、ＩＳＯ感度、絞り値（Ｆ値）に対応する。なお、設定可能な撮影パラメータの種類や数は例えばカメラの機種などに応じて異なってもよい。例えばホワイトバランスや測光方式など、他の種類の撮影パラメータが設定可能であってもよい。
【００６８】
ＣＰＵ２０１は、図６のチェックボックスがチェックされていることを確認したことに応じて撮影パラメータの自動算出処理を実行した場合、ドロップダウンリスト７０１〜７０３の初期値として、自動算出処理で得られた値を表示する。撮影パラメータの自動算出処理を実行していない場合、ＣＰＵ２０１はドロップダウンリスト７０１〜７０３の初期値として、予め定められた値を表示する。なお、パラメータ設定画面７００を表示する際に、ＣＰＵ２０１はドロップダウンリスト７０１〜７０３の初期値として表示する撮影パラメータを用いてカメラ３００に撮影を実行させ、得られた画像を画像領域７０５に表示してもよい。これにより、改めてテスト撮影の指示を行うことなく、ユーザは撮影パラメータを変更する必要があるかどうかを判断することができる。
【００６９】
パラメータ設定画面７００のテスト撮影ボタン７０４の操作が検出されると、ＰＣ２００はその時点でドロップダウンリスト７０１〜７０３で選択されているパラメータを用いて撮影を実行させるコマンドをカメラ３００に送信する。そして、コマンドに応答してカメラ３００が撮影した画像を取得して画像領域７０５に表示する。このときの撮影はパラメータを評価する目的であるため、ＣＰＵ２０１はカメラ３００に静止画撮影の実行を指示する。ただし、動画撮影の実行を指示してもよい。
【００７０】
Ｂａｃｋボタン７０６の操作が検出されると、ＣＰＵ２０１はパラメータ設定画面７００からカメラ選択画面６００に切り換え、処理をＳ４０３に戻す。
【００７１】
Ｎｅｘｔボタン７０７の操作が検出されると、ＣＰＵ２０１は処理をＳ４０５に進め、自動位置合わせモード選択処理を実行する。Ｓ４０５でＣＰＵ２０１は、自動位置合わせモードを選択する。本実施形態では、自動位置合わせモードとして「４点指定」、「スクリーン検知」、「基準プロジェクタに合わせる」から１つを選択できるものとする。
【００７２】
「４点指定」では、目標合成投写領域の外形をユーザが指定する。そして、指定された外形に合成投写領域を合わせるための、各プロジェクタのキーストーン補正量を自動で決定する。４点指定調整は、目標合成投写領域の位置が明確で、ユーザが指定可能な場合に有用である。ユーザは、例えば矩形の４頂点の位置を指定することによって、目標合成投写領域の外形を指定することができる。なお、頂点以外の座標を含む５点以上の座標を指定可能としてもよい。
【００７３】
「スクリーン検知」では、カメラ３００によって撮影した画像からスクリーンの領域を検出し、スクリーンの領域に合成投写領域を合わせるための、各プロジェクタのキーストーン補正量を自動で決定する。例えば背景とスクリーンとの色が異なる場合や、図１のスクリーン４００のように、枠を有するスクリーンを用いる場合など、画像からスクリーン領域（目標合成投写領域）を検出可能な場合に有用である。本実施形態は主にこのモードを用いる場合のプロジェクタの設置支援処理に関する。「スクリーン検知」モードが選択された場合、ＣＰＵ２０１は「スクリーン全面が、カメラの撮影範囲に入るように設置してから「Next」ボタンを押下してください。」といったメッセージを表示部２０５に表示する。
【００７４】
「基準プロジェクタに合わせる」では、１つのプロジェクタを基準プロジェクタとして、基準プロジェクタの投写領域に他のそれぞれのプロジェクタの投写領域を合わせるためのキーストーン補正量を自動で決定する。マルチスクリーン投写の場合は、基準プロジェクタの投写領域と、他のそれぞれのプロジェクタの投写領域との重複領域を合わせるための、他のそれぞれのプロジェクタのキーストーン補正量を決定する。また、スタック投写の場合には、基準プロジェクタの投写領域に他のそれぞれのプロジェクタの投写領域を合致させるための、他のそれぞれのプロジェクタのキーストーン補正量を決定する。このモードは、「４点指定」とは異なり、目標合成投写領域の位置が明確ではない場合（例えば壁面への投写など）に有効な機能である。
【００７５】
図８に、自動位置合わせモード選択画面８００の例を示す。ラジオボタン８０１、８０２、８０３のいずれが選択されているかに応じて、ＰＣ２００のＣＰＵ２０１はどの自動位置合わせモードで調整するのかを切り替える。選択された自動位置合わせモードに関する情報はＰＣ２００のＣＰＵ２０１がＲＡＭ２０２に格納する。
【００７６】
図８のドロップダウンリスト８０４は、基準プロジェクタを選択するためのものである。ここで選択可能なプロジェクタは図４のＳ４０１で位置合わせ処理の対象として選択したプロジェクタである。ユーザはこのドロップダウンリストから所望のプロジェクタを１台選択し、ＰＣ２００のＣＰＵ２０１は選択されたプロジェクタを基準プロジェクタとして、ＲＡＭ２０２に格納する。
【００７７】
図８の「基準プロジェクタを確認」ボタン８０５の操作が検出されると、ＰＣ２００のＣＰＵ２０１は、ネットワークＩＦを通して、位置合わせ所定の対象として選択されたプロジェクタそれぞれに対して特定のテストパターンを表示させるコマンドを送信する。このとき、基準プロジェクタに他のプロジェクタと色、輝度、形状のいずれかが異なるパターンを表示させることで、ユーザは投写画像からどのプロジェクタが基準プロジェクタなのかを容易に確認することができる。
【００７８】
なお、上述の通り、本実施形態は自動位置合わせモードを「スクリーン検知」に設定した場合のプロジェクタの設置アシスト処理に関するため、基準プロジェクタを用いた自動位置合わせにの詳細については説明を省略する。
【００７９】
Ｂａｃｋボタン８０６の操作が検出されると、ＣＰＵ２０１は自動位置合わせモード選択画面８００からパラメータ設定画面７００に切り換え、処理をＳ４０４に戻す。
Ｎｅｘｔボタン８０７の操作が検出されると、ＣＰＵ２０１は処理をＳ４０６に進め、Ｓ４０５で選択した自動位置合わせモードに基づいて処理を分岐させる。ＣＰＵ２０１は、自動位置合わせモードが「スクリーン検知」の場合は、Ｓ４０７の設置アシスト処理に、「４点指定」の場合はＳ４０８、「基準プロジェクタに合わせる」の場合はＳ４１２にそれぞれ処理を進める。
【００８０】
（設置アシスト処理）
図９は、図４のＳ４０７における設置アシスト処理の詳細を示すフローチャートである。この処理は、位置合わせが完了したプロジェクタがなくても実行することができる。
Ｓ９０１で、ＰＣ２００のＣＰＵ２０１（制御手段）は、図４のＳ４０１においてレイアウトが割り当てられたプロジェクタ全てに対して全黒画像を表示させるコマンドを送信する。そして、ＣＰＵ２０１は、カメラ３００に対して撮影を指示するコマンドを送信し、スクリーン４００を包含する範囲を撮影した画像を取得する。なお、全黒画像を表示させるコマンドの代わりに、光源を消灯するコマンドを送信してもよい。
【００８１】
次に、Ｓ９０２でＣＰＵ２０１は、Ｓ９０１で取得した画像を解析し、スクリーン４００の領域（枠部分を除く）を、目標合成投写領域として検出する。なお、画像からスクリーン４００の領域を検出する方法に特に制限は無く、例えば画像の二値化処理、エッジ検出、図形要素検出などを用いて矩形領域を検出するなど、公知の任意の方法を用いることができる。
【００８２】
図１０（ａ）は、Ｓ９０１で撮像した画像において、Ｓ９０２で検出したスクリーン領域の座標を模式的に示している。ここでは説明の簡略化のために、カメラ３００がスクリーン４００に正対しているものとする。この例では、スクリーン領域は、カメラ座標平面で左上の頂点（Ｘｓｓ，Ｙｓｓ）および右下の頂点（Ｘｓｅ，Ｙｓｅ）の長方形である。
【００８３】
Ｓ９０３でＣＰＵ２０１は、Ｓ４０１で設定されたレイアウトと、エッジブレンディングの設定に基づいて、プロジェクタ１００ａ〜１００ｄそれぞれの目標投写領域を決定する。エッジブレンディングは、マルチスクリーン投写において隣接する投写領域の縁部同士を重複させる際に、重複領域を目立たなくするための技術である。エッジブレンディングの制御パラメータは例えば重複する辺、幅、重複領域の減光曲線などである。
【００８４】
本実施形態における２×２のレイアウトでは、プロジェクタ１００ａには右辺と下辺、プロジェクタ１００ｂには上辺と右辺、プロジェクタ１００ｃには左辺と下辺、プロジェクタ１００ｄには左辺と上辺がそれぞれエッジブレンディングの対象に設定されている。また、重複領域の幅はＸ方向で共通、Ｙ方向で共通である。エッジブレンディングのパラメータは、プロジェクタから機種情報などと一緒に取得してもよいし、ＰＣ２００で稼働するアプリケーションを通じてユーザが選択した値をＣＰＵ２０１から各プロジェクタに設定してもよい。
【００８５】
図１０（ｂ）に、カメラ座標平面における各プロジェクタの目標投写領域の座標を示す。ＸｂとＹｂは重複領域のＸ方向およびＹ方向の幅である。ＣＰＵ２０１は、プロジェクタ１００ａの目標投写領域を、ドットパターンで示す（Ｘｓｓ，Ｙｓｓ）および（Ｘｂ１，Ｙｂ１）を対角頂点とする矩形領域と決定する。また、ＣＰＵ２０１は、プロジェクタ１００ｂの目標投写領域を、（Ｘｓｓ，Ｙｂ０）および（Ｘｂ１、Ｙｓｅ）を対角頂点とする矩形領域と決定する。また、ＣＰＵ２０１は、プロジェクタ１００ｃの目標投写領域を、（Ｘｂ０，Ｙｓｓ）および（Ｘｓｅ，Ｙｂ１）を対角頂点とする矩形領域、１００ｄの目標投写領域を、（Ｘｂ０，Ｙｂ０）および（Ｘｓｅ，Ｙｓｅ）を対角頂点とする矩形領域にそれぞれ決定する。ＣＰＵ２０１は、決定した各プロジェクタの目標投写領域の情報をＲＡＭ２０２に格納する。
【００８６】
Ｓ９０４でＣＰＵ２０１は、例えばＳ４０２と同様にして、マルチスクリーン投写に用いるプロジェクタの１つに対してテストパターンを表示させるコマンドを送信する。またＣＰＵ２０１は、カメラ３００に対して撮影を指示するコマンドを送信し、スクリーン４００を包含する範囲を撮影した画像を取得する。なお、Ｓ４０２とは違うテストパターンを用いてもよい。
【００８７】
Ｓ９０５でＣＰＵ２０１は、Ｓ９０４でテストパターンを表示させたプロジェクタの投写領域を検出する。ＣＰＵ２０１は、Ｓ９０４で取得した撮像画像とＳ９０１で取得した撮像画像との差分画像を求める。この差分画像は、Ｓ９０４でテストパターンを表示させたプロジェクタの投写領域を表す。
【００８８】
図１０（ｃ）は、差分画像で表される、プロジェクタ１００ａの現在の投写領域１００１の例を示している。例えば、差分画像のうち値が０でない領域の頂点を求めることで、カメラ座標系における投写領域の頂点（P_a, P_b, P_c, P_d）の座標を求めることができる。他の方法で投写領域の頂点座標を求めてもよい。このようにして、ＣＰＵ２０１は個々のプロジェクタの投写領域を検出する。ＣＰＵ２０１は、投写領域の検出結果をＲＡＭ２０２に記憶する。
【００８９】
Ｓ９０６でＣＰＵ２０１は、Ｓ９０５で求めた投写領域のカメラ座標系における頂点座標を、プロジェクタ座標系の値に変換するための射影変換パラメータ（射影変換行列）を求める。プロジェクタ座標系における座標値はプロジェクタのパネル解像度に応じた範囲の値を有する。射影変換パラメータは、図３で説明したキーストーン補正の射影変換行列と同様に求めることができる。キーストーン補正は、同一座標平面上での変形であり、Ｓ９０６は異なる座標平面間の座標変換であるが、２つの四角形の射影変換という意味で同じである。ＣＰＵ２０１は求めた射影変換パラメータをＲＡＭ２０２に格納する。
【００９０】
Ｓ９０７でＣＰＵ２０１は、Ｓ４０１でレイアウトが割り当てられたプロジェクタ全てについてＳ９０４〜Ｓ９０６を実行したか否かを判定する。ＣＰＵ２０１は、未実行のプロジェクタがある場合にはＳ９０４に処理を戻し、未実行のプロジェクタがない場合にはＳ９０８に処理を進める。
【００９１】
Ｓ９０８でＣＰＵ２０１は、プロジェクタ１００ｂ〜１００ｄの中から、プロジェクタ１００ａの設置位置を調整するための指標（アシストマーカ。以下、単にマーカとも呼ぶ）を投写させるプロジェクタ（マーカ投写プロジェクタ）を決定する。
【００９２】
図１０（ｄ）に、カメラ座標平面における、プロジェクタ１００ａ〜１００ｄの現在の投写領域１００１〜１００４と、プロジェクタ１００ａ用のアシストマーカ１００５、１００６の例を示す。アシストマーカ１００５、１００６は、設置位置を調整するプロジェクタ（ここではプロジェクタ１００ａ）の目標投写領域の目安となる指標である。
【００９３】
ここでは、アシストマーカ１００５、１００６は、Ｓ９０３で決定した、プロジェクタ１００ａの目標投写領域の外枠を構成する４辺のうち、少なくともスクリーン４００の枠またはスクリーン領域の外枠と重複しない辺を表す画像である。ここではマーカが実線である場合を例示しているが、破線や点線でもよいし、他のパターンであってもよい。また、マーカは直線である必要はなく、コーナーを表すカギ括弧（”「”や”」”など）のような形状を有してもよい。
【００９４】
ＣＰＵ２０１は、マルチスクリーン投写を行う複数のプロジェクタのうち、設置位置を調整するプロジェクタ以外のプロジェクタから、アシストマーカ１００５、１００６を投写させるプロジェクタ（マーカ投写プロジェクタ）を探索する。具体的には、ＣＰＵ２０１は、投写領域の検出結果に基づいて、マーカごとに、現在の投写領域がマーカの投写範囲の所定割合以上（例えば５０％以上）を含んでいるプロジェクタ（マーカの所定割合以上を投写可能なプロジェクタ）を探索する。そして、ＣＰＵ２０１は、該当するプロジェクタをマーカ投写プロジェクタとして決定する。該当するプロジェクタが存在しない場合、ＣＰＵ２０１は複数台のプロジェクタを用いて１つのマーカの所定割合以上を投写可能かをさらに探索し、１つのマーカに対して複数のマーカ投写プロジェクタを決定してもよい。
【００９５】
図１０（ｄ）の例では、アシストマーカ１００５の投写範囲はその全体がプロジェクタ１００ｃの現在の投写領域１００２に含まれ、アシストマーカ１００６の投写範囲はその全体がプロジェクタ１００ｂの現在の投写領域１００３に含まれている。したがって、ＣＰＵ２０１は、アシストマーカ１００５についてはプロジェクタ１００ｃを、アシストマーカ１００６についてはプロジェクタ１００ｂを、それぞれマーカ投写プロジェクタ決定する。
【００９６】
Ｓ９０９でＣＰＵ２０１は、Ｓ９０８で決定したマーカ投写プロジェクタにマーカを投写させる。具体的には、ＣＰＵ２０１は、カメラ座標平面におけるマーカの座標を、Ｓ９０６で求めた、マーカ投写プロジェクタの射影変換パラメータを用いてプロジェクタ座標平面における座標に変換する。そして、ＣＰＵ２０１は、例えばマーカの形態（例えばマーカの形状、マーカを描画する線やパターンの種類など）と座標とを含んだ描画コマンドをマーカ投写プロジェクタに送信する。あるいは、ＣＰＵ２０１は、マーカ投写プロジェクタへ供給する画像信号の元となる画像にマーカ画像を合成してもよい。
【００９７】
図１０（ｅ）に、プロジェクタ１００ｃの座標平面にアシストマーカ１００５を射影したアシストマーカ１００５’を示す。ＣＰＵ２０１は、線状のアシストマーカ１００５の両端Ｍ０、Ｍ１のカメラ座標平面における座標を、Ｓ９０６で求めた射影変換行列を用いてプロジェクタ１００ｃの座標平面に射影する。これにより、座標ｍ０、ｍ１が得られたとする。この場合、ＣＰＵ２０１は、プロジェクタ１００ｃに、座標ｍ０、ｍ１を結ぶ直線をアシストマーカ１００５’として投写させる。これにより、スクリーン４００の、プロジェクタ１００ａの目標投写領域の外縁に対応する位置にアシストマーカ１００５’が投写される（図１１（ｂ））。ＣＰＵ２０１は、アシストマーカ１００６についても、同様にしてプロジェクタ１００ｂに投写させる。これにより、スクリーン４００にアシストマーカ１００６’が投写される（図１１（ｂ））。
【００９８】
Ｓ９１０でＣＰＵ２０１は、例えば図１１（ａ）に示すような、アプリケーションのメッセージ画面１１００を表示部２０５に表示する。メッセージ画面１１００には、プロジェクタ１００ａの設置位置を、投写領域が投写されているマーカを含むように調整するようユーザに促すメッセージが含まれる。なお、メッセージはいずれかのプロジェクタによってスクリーン４００に投写させてもよい。
【００９９】
図１１（ｂ）は、設置位置を調整するプロジェクタ１００ａにより、メッセージ画面１１０２をスクリーン４００に投写した例を示す。同図において、１１０１はプロジェクタ１００ａの現在の投写領域である。
【０１００】
ユーザは、メッセージ画面１１００および／またはメッセージ１１０２にしたがい、投写領域１１０１がアシストマーカ１００５’、１００６’を包含するようにプロジェクタ１００ａの本体を移動させたり、足の高さや投写光学系を調整したりする。図１１（ｃ）は、プロジェクタ１００ａの設置位置調整後の状態の一例を模式的に示している。ユーザは、プロジェクタ１００ａの設置位置の調整が完了すると、操作部２０４を通じて、図１１（ａ）に示したメッセージ画面１１００のＮｅｘｔボタン１１０３を押下する。
【０１０１】
ＣＰＵ２０１は、Ｎｅｘｔボタン１１０３の押下操作を検出すると、処理をＳ９１１に進める。そして、ＣＰＵ２０１は、Ｓ９０４〜Ｓ９０６と同じ処理を実行し、位置を調整したプロジェクタ１００ａの座標平面とカメラ座標平面との射影変換パラメータを再計算する。ここで求めた射影変換パラメータは、プロジェクタ１００ａが他のプロジェクタ１００ｂ〜１００ｄのためのアシストマーカを投写する場合に、Ｓ９０９で使用される。
【０１０２】
次に、ＣＰＵ２０１はＳ９１２で、マルチスクリーン投写に用いる（Ｓ４０１でレイアウトが割り当てられた）プロジェクタ全てについて、設置位置の調整を完了したか判定する。調整が未完了のプロジェクタがあると判定された場合、ＣＰＵ２０１は設置位置を調整するプロジェクタを変更して処理をＳ９０８に戻す。一方、調整が未完了のプロジェクタがないと判定された場合、ＣＰＵ２０１は設置アシスト処理を終了し、処理をＳ４１０（図４）に進める。このように、本実施形態の設置アシスト処理によれば、位置合わせが完了したプロジェクタがなくても、個々のプロジェクタを、目標投写領域を実現可能な位置に容易に設置することが可能になる。
【０１０３】
なお、例えば、設置位置を調整するプロジェクタで適用可能なキーストーン変形量に制限がある場合には、キーストーン変形によって目標投写領域が実現できるように設置位置を調整することを補助する別のマーカを提供してもよい。図１１（ｄ）は、Ｓ９０９において、プロジェクタ１００ａのキーストーン変形機能によって投写領域の４頂点を移動可能な範囲を示すマーカ１１０６を投写した例を示している。キーストーン変形機能によって頂点を移動可能な範囲を示すマーカ１１０６は、位置を調整するプロジェクタから取得したキーストーン変形能力に関する情報から生成することができる。キーストーン変形は頂点を内側に移動する変形であるため、マーカ１１０６は設置位置を調整するプロジェクタで必ず投写可能である。したがって、図１１（ｄ）の例ではプロジェクタ１００ａでマーカ１１０６を投写することができる。
【０１０４】
マーカ１１０６を用いる場合、Ｓ９１０で、現在の投写領域がアシストマーカ１００５、１００６を包含し、かつ、マーカ１１０６が示す領域内に、目標投写領域の４頂点がそれぞれ含まれるように設置位置を調整することを促すメッセージ１１０７を表示する。ここで、目標投写領域の４頂点は、図１１（ｄ）に１０１１〜１０１４で示す点であり、アシストマーカ１００５’、１００６’の端点（３頂点）と、目標合成投写領域の左上の頂点である。目標投写領域の４頂点がマーカ１１０６の領域内に存在するようにプロジェクタ１００ａの設置位置を調整することにより、プロジェクタ１００ａのキーストーン変形機能により、プロジェクタ１００ａが目標投写領域を実現可能であることが保証される。
【０１０５】
以上説明した設置アシスト処理により、プロジェクタ１００ａ〜１００ｄの設置位置が完了すると、Ｓ４１０（図４）でＣＰＵ２０１は、変形パラメータ算出処理を実行する。ＣＰＵ２０１は、各プロジェクタの投写領域を図９のＳ９０３で求めた目標投写領域に合致させるためのキーストーン変形パラメータを算出する。具体的には、ＣＰＵ２０１は、ＲＡＭ２０２に格納されているカメラ座標平面における目標投写領域の頂点座標を各プロジェクタの座標平面に射影して、各プロジェクタにおける、キーストーン変形適用後の画像の頂点座標（目標頂点座標）を求める。そして、ＣＰＵ２０１は、キーストーン変形適用前の画像の頂点座標を、対応する目標頂点座標に合致させるキーストーン変形パラメータを算出する。
【０１０６】
Ｓ４１１でＣＰＵ２０１は、Ｓ４１０で算出した、プロジェクタ１００ａ〜１００ｄそれぞれについてのキーストーン変形パラメータを、ネットワークＩＦ２０６を通じてプロジェクタ１００ａ〜１００ｄに送信する。各プロジェクタのＣＰＵ１０１はキーストーン変形パラメータをＰＣ２００からネットワークＩＦ１０８を通じて受信すると、受信したキーストーン変形パラメータを自身の画像処理部１０９に送信し、表示画像の変形を実行する。
【０１０７】
なお、ここでは、プロジェクタが有するキーストーン変形機能だけを用いて投写領域を目標投写領域に合致させる場合について説明した。しかし、ズーム機能やシフト機能など、プロジェクタが備える他の機能をキーストーン変形機能の代わりに、あるいはキーストーン変形機能に加えて使用してもよい。光学的なズーム機能やシフト機能だけで投写領域を目標投写領域に合致させることができる場合は少ないが、これらの機能は画像処理を伴わないため、キーストーン変形機能を用いる場合よりも画質の低下が少ない。ズーム機能やシフト機能をキーストーン変形機能と併用して、キーストーン変形量を最小化することで、投写画像の画質低下を抑制できる。
【０１０８】
Ｓ４０６で自動位置合わせモードが「４点指定」であった場合と「基準プロジェクタに合わせる」であった場合の処理について、簡単に説明する。
【０１０９】
自動位置合わせモードが「４点指定」であった場合、ＣＰＵ２０１は、Ｓ４０８にて、投写形状指定処理を実行する。具体的には、ＣＰＵ２０１はプロジェクタ１００によって、スクリーン４００に、目標合成投写領域の外形を指定させるためのマーカを、ユーザが位置調整可能に投写させる。そして、ユーザから設定終了指示を受け付けた際のマーカの位置で特定される合成投写領域を目標合成投写領域とする。そして、ＣＰＵ２０１は、Ｓ９０３の処理と同様にして、各プロジェクタの目標投写領域を決定する。次に、ＣＰＵ２０１はＳ４０９で、図９のＳ９０４からＳ９０７と同様にして、各プロジェクタの座標系とカメラの座標系とを変換する射影変換パラメータを順次算出し、処理をＳ４１０に進める。Ｓ４１０以降の処理は上述したとおりである。
【０１１０】
また、自動位置合わせモードが「基準プロジェクタに合わせる」であった場合、ＣＰＵ２０１はＳ４１２で、図９のＳ９０４からＳ９０７と同様にして、各プロジェクタの座標系とカメラの座標系とを変換する射影変換パラメータを順次算出する。次に、Ｓ４１３でＣＰＵ２０１は、基準プロジェクタの投写領域に予め定められた重複領域に、隣接する投写領域に予め定められた重複領域が合致するように、基準プロジェクタ以外のプロジェクタに対して順次、変形パラメータを算出し、処理をＳ４１１に進める。
【０１１１】
なお、本実施形態では、説明および理解を容易にするため、スクリーン４００とカメラ３００が正対している場合（カメラの光軸とスクリーンとが直交する場合）について説明した。しかし、カメラ３００がスクリーン４００に正対するように配置されることは、本実施形態に必須ではない。カメラ３００がスクリーン４００に正対していない場合には、カメラ座標系をスクリーンと並行な平面に射影して、スクリーン並行座標系において、上述した処理を実行すればよい。
【０１１２】
また、本実施形態では、レイアウトが割り当てられたプロジェクタのそれぞれについて必ず設置位置の調整処理を実行するようにした。しかし、現在の投写領域が目標投写領域を包含しているプロジェクタについては、設置位置の調整対象から除外してもよい。ただし、画質を優先する場合には、現在の投写領域が目標投写領域を包含しているプロジェクタを含む全てのプロジェクタを設置位置の調整対象とする。これは、投写領域に包含される目標投写領域ができるだけ大きくなるように設置位置を調整することで、キーストーン変形量を最小化できるからである。
【０１１３】
なお、本実施形態では、プロジェクタが備えるキーストーン変形機能、ズーム機能、シフト機能などを用いて投写領域を目標投写領域に自動位置合わせできるように設置位置を調整するための設置アシスト処理について説明した。しかし、設置アシスト処理で投写したアシストマーカを参照してユーザが手動でキーストーン変形量、ズーム量、シフト量を調整したり、プロジェクタの設置位置を調整して投写領域を目標投写領域に合わせてもよい。この場合は、自動位置合わせを実行しなくてよい。
【０１１４】
以上説明したように、本実施形態によれば、マルチ投写時におけるプロジェクタの設置位置調整を支援するために、調整するプロジェクタとは別のプロジェクタによって、調整するプロジェクタの目標投写領域の位置を示す目安となる指標を投写するようにした。そのため、指標と現在の投写領域とを見比べながら調整対象のプロジェクタの設置位置を調整することで、位置合わせが完了した投写装置がなくても、調整対象のプロジェクタの投写領域を容易かつ確実に目標投写領域に位置合わせすることが可能になる。特に、投写面を撮影した画像から現在の各プロジェクタの投写領域を検出し、検出結果に基づいて指標を投写するプロジェクタを決定するようにしたので、位置合わせが完了した投写装置がなくても、指標を適切に表示できる。従来は目標投写領域の目安が存在しなかったため、設置のやり直しが必要になる場合もあったが、本実施形態ではそのような事態を回避することができ、設置時間の短縮が可能である。マルチ投写では複数台のプロジェクタを正しく設置する必要があるため、台数が多くなるほど本実施形態の効果は大きくなる。
【０１１５】
●（第２実施形態）
次に、本発明の第２実施形態について説明する。本実施形態では、アシストマーカを投写可能なプロジェクタが見つからなかった場合の処理について説明する。投写システムの構成および、自動位置合わせ処理の概要、自動位置合わせのアプリケーションのＧＵＩ画面など、第１実施形態と同じ部分については説明を省略する。図１２は、本実施形態における設置アシスト処理のフローチャートを示す。第１実施形態と同様の処理を行うＳ９０１〜Ｓ９０８については説明を省略する。
【０１１６】
ＣＰＵ２０１は、Ｓ１２０１で、設置位置を調整するプロジェクタのためのアシストマーカを投写可能なプロジェクタが、Ｓ９０８で決定できたか否かを判定する。ＣＰＵ２０１は例えば、全てのマーカについてマーカ投写プロジェクタが決定されていればＳ９０９へ、１つ以上のマーカについてマーカ投写プロジェクタが決定されていなければＳ９１２へ、処理を進める。なお、上述の通り、マーカ投写プロジェクタは、マーカの投写範囲の所定割合以上（例えば５０％以上）を１台もしくは複数台で投写可能なプロジェクタである。
【０１１７】
Ｓ９０９〜Ｓ９１２の処理は、第１実施形態と同じである。Ｓ９０８でマーカ投写プロジェクタが決定できない場合には、Ｓ９０９〜Ｓ９１１の処理をスキップする。これにより、Ｓ９１２で設置位置を調整するプロジェクタを変更し、Ｓ９０８から処理をやり直す。マーカ投写プロジェクタが決定できないのは、設置位置の調整が完了していないプロジェクタの数が多い場合である。設置位置の調整が完了したプロジェクタの数が増えるにつれて、マーカ投写プロジェクタが決定できる確率が高くなる。したがって、マーカ投写プロジェクタを決定できるプロジェクタから設置位置の調整を進めることにより、当初はマーカ投写プロジェクタが決定できなかったプロジェクタについても、マーカ投写プロジェクタが決定できるようになっていく。
【０１１８】
このように、本実施形態では、目標投写領域の目安となる指標を投写できないプロジェクタについては設置位置の調整を後回しにすることで、効率よく設置位置の調整を行うことができる。
【０１１９】
図１３（ａ）に、マーカ投写プロジェクタが決定できない場合の、マーカと各プロジェクタの投写領域との関係例を示す。ここでは、一例として、あるマーカの投写範囲の所定割合以上（ここでは５０％以上）が、位置を調整するプロジェクタ以外の１台以上のプロジェクタの投写領域でカバーできれば、そのマーカについてのマーカ投写プロジェクタを決定可能とする。また、設置位置を調整するプロジェクタがプロジェクタ１００ａであり、プロジェクタ１００ｂ〜１００ｄの設置位置は未調整であるものとする。
【０１２０】
プロジェクタ１００ａの目標投写領域の目安となるマーカ１３０５、１３０６のうち、マーカ１３０５の投写範囲は、その全体がプロジェクタ１００ｃの投写領域１３０２に含まれる。しかし、マーカ１３０６については、プロジェクタ１００ｂおよびｄの投写領域１３０２および１３０４にはまったく含まれず、プロジェクタ１００ｃの投写領域１３０３に含まれる部分も５０％に満たない。そのため、Ｓ９０８においてＣＰＵ２０１は、マーカ１３０６に対するマーカ投写プロジェクタを決定できない。
【０１２１】
この場合、Ｓ１２０１でＣＰＵ２０１は、１つ以上のマーカについてマーカ投写プロジェクタが決定されていないため、処理をＳ９１２に進める。そして、ＣＰＵ２０１は、Ｓ９１２からＳ９０８に処理を戻す際に、設置位置を調整するプロジェクタを、プロジェクタ１００ａ以外で設置位置が未調整のプロジェクタ１００ｂ〜１００ｄのいずれかに変更する。ここでは、プロジェクタ１００ｃに変更することが決定されたものとする。
【０１２２】
図１３（ｂ）は、各プロジェクタの投写領域が図１３（ａ）と同様の状態で、プロジェクタ１００ｃの設置位置を調整するためのマーカ１３０７、１３０８を示している。この場合、マーカ１３０７の投写範囲は全体がプロジェクタ１００ａの投写領域１３０１に含まれている。一方、マーカ１３０８の投写範囲の５０％以上を投写領域に含むプロジェクタは存在しない。しかし、プロジェクタ１００ａの投写領域１３０１に含まれる部分と、プロジェクタ１００ｄの投写領域１３０４に含まれる部分とを合わせると、マーカ１３０８の投写範囲の５０％以上となる。そのため、ＣＰＵ２０１は、Ｓ９０８でマーカ１３０７のマーカ投写プロジェクタをプロジェクタ１００ａに、マーカ１３０８のマーカ投写プロジェクタをプロジェクタ１００ａおよび１００ｄに決定する。この場合、Ｓ１２０１でＣＰＵ２０１は、全てのマーカについてマーカ投写プロジェクタが決定されていると判定し、Ｓ９０９以降の処理を実行する。
【０１２３】
図１３（ｃ）に、プロジェクタ１００ｂ〜１００ｄの設置位置の調整が完了し、再びプロジェクタ１００ａの設置位置を調整する場合の各プロジェクタの投写領域とマーカ１０３５、１３０６の位置関係例を示す。プロジェクタ１００ｂ〜１００ｄは設置位置の調整が完了しているので、投写領域１３０９〜１３１１がそれぞれの目標投写領域を包含して。そのため、図１３（ａ）の状態ではマーカ投写プロジェクタが決定できなかったマーカ１３０６の投写範囲の全体が、プロジェクタ１００ｂの投写領域１３０９に含まれるようになっている。また、マーカ１３０５の投写範囲は依然として全体がプロジェクタ１００ｃの投写領域１３１０に含まれている。なお、プロジェクタ１００ｄも、アシストマーカ１３０５、１３０６の投写範囲のそれぞれ一部を投写領域に含んでいるが、マーカ投写プロジェクタの数は少ない方が画面生成やコマンド送信回数の面で望ましい。そのため、Ｓ９０８でＣＰＵ２０１は、マーカ１３０５および１３０６のマーカ投写プロジェクタをプロジェクタ１００ｂと１００ｃに決定する。
【０１２４】
そして、Ｓ１２０１でＣＰＵ２０１は、全てのマーカについてマーカ投写プロジェクタが決定されていると判定し、Ｓ９０９以降の処理を実行する。その後、Ｓ９１２でＣＰＵ２０１は全てのプロジェクタについて設置位置の調整を完了したと判定し、設置アシスト処理を終了する。
【０１２５】
なお、本実施形態では、設置位置を調整するプロジェクタを順次選択し、マーカ投写プロジェクタが決定できなければ（マーカを投写出来なければ）、設置位置を調整するプロジェクタを変更するものとして説明した。しかし、設置位置を調整するプロジェクタを、他の条件に基づいて決定および／または変更してもよい。たとえば、カメラ座標平面における各プロジェクタの投写領域の面積を計算し、面積が少ない順に設置位置の調整を実施するようにしてもよい。
【０１２６】
以上、本実施形態によれば、目標投写領域の目安となる指標を他のプロジェクタで投写可能なプロジェクタから設置位置の調整を実行するようにした。そのため、第１実施形態の効果に加え、一部のプロジェクタの投写領域が大きくなっているような状況であっても、設置位置の調整を実施することができる。
【０１２７】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１２８】
１００ａ〜１００ｄ…投写装置（プロジェクタ）、２００…ＰＣ、３００…カメラ、４００…スクリーン、１０１、２０１…ＣＰＵ、１００１〜１００４、１３０１〜１３０４、１３０９〜１３１１…投写領域、１００５、１００６、１３０５〜１３０８…マーカ
【図１】
2020088691.tif 000005
【図２】
2020088691.tif 000006
【図３】
2020088691.tif 000007
【図４】
2020088691.tif 000008
【図５】
2020088691.tif 000009
【図６】
2020088691.tif 000010
【図７】
2020088691.tif 000011
【図８】
2020088691.tif 000012
【図９】
2020088691.tif 000013
【図１０】
2020088691.tif 000014
【図１１】
2020088691.tif 000015
【図１２】
2020088691.tif 000016
【図１３】
2020088691.tif 000017