(57)【要約】【課題】  複数台のプロジェクタの光軸をスクリーン上で共有するように完全に調整できたとしても、プロジェクタの経時変動等の内的要因や、振動等の外的要因によってプロジェクタの投射位置等が微妙に変化する場合がある。【解決手段】  画像のオブジェクトが選択されると、その選択されたオブジェクトの色と、複数のプロジェクタのそれぞれの機能情報（ＤＥＶＩＮＦＯ）とに基づいて、その選択されたオブジェクトを投影するプロジェクタを決定する（ＵＴＢＬ）。そして機能情報に対応する各プロジェクタごとに、決定された、当該プロジェクタに対応するオブジェクトを描画し、それ以外のオブジェクトをマスクした合成オブジェクト情報（ＭＯＢＪ）を作成し、その合成オブジェクト情報に対応するプロジェクタのレンダラ情報（ＰＴＢＬ）に基づいて合成オブジェクト情報を描画して各対応するプロジェクタ（ＭＴＢＬ）に出力して表示させる。【選択図】  図２
2009271134.tif 000002
【特許請求の範囲】
【請求項１】
複数のプロジェクタからスクリーン上に複数の映像を重畳して投影し画像を再生する画像再生装置であって、
前記複数のプロジェクタのそれぞれの機能情報を記憶する機種情報記憶手段と、
前記複数のプロジェクタのそれぞれに対応して描画処理を実行するレンダラを指定するレンダラ情報を記憶する手段と、
前記画像のオブジェクトが選択されると、当該選択されたオブジェクトの色と前記機種情報記憶手段に記憶された前記機能情報とに基づいて、前記選択されたオブジェクトを投影するプロジェクタを決定する決定手段と、
前記機種情報記憶手段に記憶された各プロジェクタごとに、前記決定手段により決定された、当該プロジェクタに対応するオブジェクトを描画し、それ以外のオブジェクトをマスクした合成オブジェクト情報を作成する作成手段と、
前記合成オブジェクト情報に対応するプロジェクタのレンダラ情報に基づいて、前記合成オブジェクト情報を描画して各対応するプロジェクタに出力する出力手段と、
を有することを特徴とする画像再生装置。
【請求項２】
前記機能情報は、少なくとも各プロジェクタの解像度、光軸の位置、投影する画面サイズ、着目色に関する情報を含むことを特徴とする請求項１に記載の画像再生装置。
【請求項３】
前記決定手段は、前記選択されたオブジェクトの色のヒストグラムと、前記機種情報記憶手段に記憶された前記機能情報に含まれるプロジェクタの前記着目色との差が所定量以下の場合に、前記プロジェクタが前記選択されたオブジェクトを投影するプロジェクタであると決定することを特徴とする請求項２に記載の画像再生装置。
【請求項４】
前記決定手段は更に、
前記選択されたオブジェクトを投影するプロジェクタ名を表示する手段と、
前記表示されたプロジェクタ名を、当該選択されたオブジェクトを投影するプロジェクタとして登録するか否かをユーザに指示させる手段を有することを特徴とする請求項１乃至３のいずれか１項に記載の画像再生装置。
【請求項５】
前記複数のプロジェクタのそれぞれの状態を示す状態情報を記憶する手段を更に有し、前記出力手段は、前記状態情報に基づいて前記合成オブジェクト情報に対応するプロジェクタが使用不可であると判断すると、予め定められたプロジェクタのレンダラ情報に基づいて前記合成オブジェクト情報を描画して前記予め定められたプロジェクタに出力することを特徴とする請求項１乃至４のいずれか１項に記載の画像再生装置。
【請求項６】
複数のプロジェクタからスクリーン上に複数の映像を重畳して投影し画像を再生する画像再生装置における表示制御方法であって、
前記画像のオブジェクトを選択する工程と、
前記選択されたオブジェクトの色と、複数のプロジェクタのそれぞれの機能情報とに基づいて、前記選択されたオブジェクトを投影するプロジェクタを決定する決定工程と、
前記機能情報に対応する各プロジェクタごとに、前記決定工程で決定された、当該プロジェクタに対応するオブジェクトを描画し、それ以外のオブジェクトをマスクした合成オブジェクト情報を作成する作成工程と、
前記複数のプロジェクタのそれぞれに対応して描画処理を実行するレンダラを指定するレンダラ情報であって、前記合成オブジェクト情報に対応するプロジェクタのレンダラ情報に基づいて前記合成オブジェクト情報を描画して各対応するプロジェクタに出力する出力工程と、
を有することを特徴とする画像再生装置における表示制御方法。
【請求項７】
前記機能情報は、少なくとも各プロジェクタの解像度、光軸の位置、投影する画面サイズ、着目色に関する情報を含むことを特徴とする請求項６に記載の画像再生装置における表示制御方法。
【請求項８】
前記決定工程は、前記選択されたオブジェクトの色のヒストグラムと、前記機能情報に含まれるプロジェクタの前記着目色との差が所定量以下の場合に、前記プロジェクタが前記選択されたオブジェクトを投影するプロジェクタであると決定することを特徴とする請求項７に記載の画像再生装置における表示制御方法。
【請求項９】
前記決定工程は更に、
前記選択されたオブジェクトを投影するプロジェクタ名を表示する工程と、
前記表示されたプロジェクタ名を、当該選択されたオブジェクトを投影するプロジェクタとして登録するか否かをユーザに指示させる工程を有することを特徴とする請求項６乃至８のいずれか１項に記載の画像再生装置における表示制御方法。
【請求項１０】
前記出力工程は、前記複数のプロジェクタのそれぞれの状態を示す状態情報に基づいて前記合成オブジェクト情報に対応するプロジェクタが使用不可であると判断すると、予め定められたプロジェクタのレンダラ情報に基づいて前記合成オブジェクト情報を描画して前記予め定められたプロジェクタに出力することを特徴とする請求項６乃至９のいずれか１項に記載の画像再生装置における表示制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のプロジェクタからスクリーン上に複数の映像を重畳して投影し画像を再生する画像再生装置及び当該装置における表示制御方法に関する。
【背景技術】
【０００２】
プロジェクタは一般に輝度が不足し易く、その色再現できる色域が狭い。このため、好ましい色を再現するために再現色の調整が必要になる場合が多い。この場合、ある特定の色の色再生のみを改善することは比較的簡単であるが、必然的に他の色の再生を犠牲にせざるを得ない。従って、多くの色（広い色域）を好ましく再生できるように調整することは、プロジェクタの限られた色域を考慮すると、非常に難しい作業となる。
【０００３】
一方、複数台のプロジェクタの光軸を調整し、これらプロジェクタで投影される複数の映像をスクリーン上で重畳させることで輝度を補って再生できる色域を広げるという考えは一般にスタック投射と呼ばれており、このような技術は従来から存在している。
【特許文献１】特開平０５−１０７６３９号公報
【特許文献２】特開２００６−１６５９４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
いまた例えば、複数台のプロジェクタの光軸をスクリーン上で共有するように完全に調整でき、スクリーン上で正確に映像を重畳させて輝度を上げることにより、再現できる色域を広げることができたとする。しかしこの場合でも、必ずしも広がった色域を生かして好ましい色再現ができるようになるというわけではない。例えば２台のプロジェクタからの投射画像をスクリーン上で理想的に重畳させて輝度を上げた場合、再生できる色域が広がるので、より多くの色が好ましい色再現となるように調整し易くなると思われるかもしれない。しかしながら実際は、単一の色に関して好ましい色再現を実現する場合でも、重畳された結果の色調を想像しながら２台のプロジェクタを各々調整して、スクリーン上で好ましい色調が再現できるようにしなければならない。
【０００５】
特許文献１，２に記載の従来技術のように、色域が広がれば、より多くの色に関して好ましい色再現が可能になる可能性は確かに高くなる。しかし実際には、好ましい色再現を実現するための調整が非常に困難になる可能性があった。
【０００６】
更に、当初は複数台のプロジェクタの光軸をスクリーン上で共有するように完全に調整できたとしても、プロジェクタの経時変動等の内的要因や、振動等の外的要因によってプロジェクタの投射位置等が微妙に変化する場合がある。このため、スクリーン上での意図しない色の混合が生じる等の可能性があった。
【０００７】
本発明の目的は上記従来技術の問題点を解決することにある。
【０００８】
本願発明の一態様によれば、複数のプロジェクタのそれぞれの機能情報に基づいて、各オブジェクトを投影するプロジェクタを決定して、各プロジェクタに対応するオブジェクトを、そのプロジェクタに対応するレンダラで描画して表示する技術を提供できる。
【課題を解決するための手段】
【０００９】
上記目的を達成するために本発明の一態様に係る画像再生装置は以下のような構成を備える。即ち、
複数のプロジェクタからスクリーン上に複数の映像を重畳して投影し画像を再生する画像再生装置であって、
前記複数のプロジェクタのそれぞれの機能情報を記憶する機種情報記憶手段と、
前記複数のプロジェクタのそれぞれに対応して描画処理を実行するレンダラを指定するレンダラ情報を記憶する手段と、
前記画像のオブジェクトが選択されると、当該選択されたオブジェクトの色と前記機種情報記憶手段に記憶された前記機能情報とに基づいて、前記選択されたオブジェクトを投影するプロジェクタを決定する決定手段と、
前記機種情報記憶手段に記憶された各プロジェクタごとに、前記決定手段により決定された、当該プロジェクタに対応するオブジェクトを描画し、それ以外のオブジェクトをマスクした合成オブジェクト情報を作成する作成手段と、
前記合成オブジェクト情報に対応するプロジェクタのレンダラ情報に基づいて、前記合成オブジェクト情報を描画して各対応するプロジェクタに出力する出力手段と、
を有することを特徴とする。
【００１０】
上記目的を達成するために本発明の一態様に係る画像再生装置における表示制御方法は以下のような工程を備える。即ち、
複数のプロジェクタからスクリーン上に複数の映像を重畳して投影し画像を再生する画像再生装置における表示制御方法であって、
前記画像のオブジェクトを選択する工程と、
前記選択されたオブジェクトの色と、複数のプロジェクタのそれぞれの機能情報とに基づいて、前記選択されたオブジェクトを投影するプロジェクタを決定する決定工程と、
前記機能情報に対応する各プロジェクタごとに、前記決定工程で決定された、当該プロジェクタに対応するオブジェクトを描画し、それ以外のオブジェクトをマスクした合成オブジェクト情報を作成する作成工程と、
前記複数のプロジェクタのそれぞれに対応して描画処理を実行するレンダラを指定するレンダラ情報であって、前記合成オブジェクト情報に対応するプロジェクタのレンダラ情報に基づいて前記合成オブジェクト情報を描画して各対応するプロジェクタに出力する出力工程と、を有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、各々が特定の色或は色域を再現できる複数のプロジェクタを用意し、これらプロジェクタからスクリーン上に重畳させて投影して画像を表示することにより、多くの色を好ましく再現できるという効果がある。
【発明を実施するための最良の形態】
【００１２】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１３】
図１は、本発明の実施の形態で用いるシステム構成の一例を示す図であり、４台のプロジェクタＰＲＯＪ１１２〜１１５を有するマルチプロジェクタシステムの構成を示している。
【００１４】
また図３８は、この実施の形態に係るマルチプロジェクタシステムの概略構成を説明する図で、図１と共通する部分は同じ記号で示している。
【００１５】
このマルチプロジェクタシステムは、表示制御装置１０００に接続された４台のプロジェクタ（ＰＲＯＪ）１１２〜１１５によりスクリーン１００１上に映像を重畳するように投影して表示する。この表示制御装置１０００は、後述する図１に示す構成を有するとともに、モニタ１１０、キーボードやポインティングデバイスなどを有する操作部１０７を接続している。
【００１６】
次に図１を参照して、このマルチプロジェクタシステムの構成を詳しく説明する。
【００１７】
図１において、ＣＰＵ１０１は、マイクロコンピュータ等の中央処理装置である。ＲＯＭ１０２は読み出し専用メモリであり、ランダムアクセスメモリＲＡＭ１０３とともに、バスＢＵＳ１０８を介してＣＰＵ１０１に接続されている。ＣＰＵ１０１は、ＲＯＭ１０２或はＲＡＭ１０３に格納されたプログラムを直接実行することができる。ハードディスクデバイスや光ディスクデバイス等の二次記憶装置ＨＤＤ１０５は、ＨＤＤインターフェースＨＤＤＩＦ１０４を経由してＢＵＳ１０８に接続されており、ＣＰＵ１０１によって読み書き可能である。このＨＤＤ１０５に格納されたデータは読み出されてＲＡＭ１０３に展開される。またＲＡＭ１０３に展開されているデータを、ＨＤＤ１０５に保存可能である。またＣＰＵ１０１は、ＨＤＤ１０５からＲＡＭ１０３にロードされたプログラムを実行する。キーボードやマウス、デジカメ、スキャナ等の操作部ＩＮ１０７は、入力インターフェースＩＮＩＦ１０５を介してＢＵＳ１０８接続されており、ＣＰＵ１０１は、そのＩＮ１０７から入力される情報を読み込むことができる。
【００１８】
モニタ１１０は、液晶やＣＲＴ等の表示部である。ＣＰＵ１０１は、ビデオインターフェースＶＩＦ１０９を介して任意の文字や画像等を、このモニタ１１０に表示することができる。ＣＰＵ１０１はプロジェクタインターフェースＰＲＯＪＩＦ１１１を介して、プロジェクタＰＲＯＪ１１２，ＰＲＯＪ１１３，ＰＲＯＪ１１４，ＰＲＯＪ１１５を制御可能であり、これらプロジェクタによりスクリーン１００１上に映像を投射できる。バスＢＵＳ１０８は、ＣＰＵ１０１，ＲＯＭ１０２，ＲＡＭ１０３，ＨＤＤＩＦ１０４，ＩＮＩＦ１０６，ＶＩＦ１０９，ＰＲＯＪＩＦ１１１を相互に接続している。ＢＵＳ１０８は、その一部ないし全部が、電話線、イーサネット（登録商標）等の高速ネットワークデバイスや、ＰＣＩ等の周辺機器用インターフェーで構成されていてもよい。
【００１９】
図２は、本実施の形態に係るマルチプロジェクタシステムにおけるデータの流れとソフトウェアモジュールとの関係を図示した図である。
【００２０】
図２において、ソフトウェアモジュールはＭＥＲＧＥ２１１，ＭＰＬＡＹＥＲ２２０，ＲＥＮＤＥＲ２２１〜ＲＥＮＤＥＲ２２４である。他は描画されるオブジェクト２０１〜２０７と、これらオブジェクトを描画するために必要な各種テーブル等を含む２０８〜２１０，２１２〜２１９である。図２におけるデータは、オブジェクトとテーブルを含んでいる。データ、ソフトウェアモジュールとも
にＲＯＭ１０２或はＨＤＤ１０５等に保存されており、必要に応じてＲＡＭ１０３に読み出され、必要に応じて更新されてＨＤＤ１０５に書き戻されるなどする。
【００２１】
ＭＥＲＧＥ２１１は、プロジェクタ特性テーブルＤＥＶＩＮＦＯ２０８、ＺオーダテーブルＺＴＢＬ２０９、ユーザ指示テーブルＵＴＢＬ２１０を入力する。ＤＥＶＩＮＦＯ２０８は、各プロジェクタの機器特性（機能情報）を記憶しているテーブル（機種情報記憶部）である。ＺＴＢＬ２０９は、ある映像に含まれる複数のオブジェクトを、画面上の奥行きの順に配置して記憶するテーブルである。ＵＴＢＬ２１０は、各オブジェクトに対応して、そのオブジェクトを投影するプロジェクタを登録するテーブルである。ここではオブジェクトＯＢＪ２０１〜ＯＢＪ２０７を、各プロジェクタ毎に適切に割り当てることにより４つの合成オブジェクトＭＯＢＪ２１４〜２１６を作成する。またＭＥＲＧＥ２１１は、合成オブジェクトＭＯＢＪとプロジェクタとの対応を記憶する合成テーブルＭＴＢＬ２１８を作成して合成オブジェクトＭＳＴＲＥＡＭ２１９を作成する。オブジェクトＯＢＪ２０１〜ＯＢＪ２０７は、スクリーン１００１上に投射されるオブジェクトであって、そのデータ形式は、例えばアウトラインフォントデータやベクタデータ、イメージデータなど任意のデータ形式でも良い。合成オブジェクトＭＯＢＪ２１４〜ＭＯＢＪ２１７は、本実施の形態においては、所定のプロジェクタ向けに最適化されたビットマップデータであるとする。
【００２２】
ＭＰＬＡＹＥＲ２２０は、サービス状況テーブルＳＴＢＬ２１２、プロジェクタ・レンダラ対応テーブルＰＴＢＬ２１３、ＭＳＴＲＥＡＭ２１９を受け取る。サービス状況テーブルＳＴＢＬ２１２は、デフォルトで設定されているプロジェクタ、及び各プロジェクタが使用可能かどうかを示す状態情報を記述するテーブルである。プロジェクタ・レンダラ対応テーブルＰＴＢＬ２１３は、各プロジェクタとレンダラとの対応を示すレンダラ情報を記述したテーブルである。そして、プロジェクタＰＲＯＪ１１２〜１１５に出力するために、各プロジェクタ毎に用意された、後述するレンダラＲＥＮＤＥＲ２２１〜２２４に、ＭＯＢＪ２１４〜２１７を送付して、スクリーン１００１への投射を制御する。
【００２３】
ＲＥＮＤＥＲ２２１〜２２４は、ＭＰＬＡＹＥＲ２２０から送付された合成オブジェクト情報（ビットマップデータ）に対して描画処理を実行し、各対応するプロジェクタを用いて再生・投射する機能を持つソフトウェアモジュールである。これらＲＥＮＤＥＲ２２１〜２２４は、内部に座標変換と拡縮機能、色の補間・間引き機能、ミックス機能を有している。ＲＥＮＤＥＲ２２１〜２２４のそれぞれは、他のプロジェクタ向けに描画されたオブジェクトが送付されてきた場合、両プロジェクタに関する機材特性（後述するＤＥＶＩＮＦＯ）を与えることで、そのプロジェクタから投射可能である。また一つのレンダラは複数のオブジェクトを同時に処理可能であり、与えられた全てのストリームをミックスして投射可能である。尚、座標変換や拡大縮小、色の補間・間引き処理などは広く一般的に行われているので、その処理手順等を本実施の形態ではこれ以上説明しない。
【００２４】
更に、ＲＥＮＤＥＲ２２１〜２２４は、お互いに投射タイミングを調整する機能も具備している。その調整機能によってオブジェクトが動画であってもＲＥＮＤＥＲ２２１〜２２４間で適切に同期をとることができるとする。このような同期処理も広く行われているので、本実施の形態ではこれ以上詳説しない。
【００２５】
図３は、本実施の形態に係るマルチプロジェクタシステムで投影される画像の一例を示す図である。
【００２６】
図３において、３０１〜３０７のそれぞれはオブジェクトを示している。
【００２７】
図４（Ａ）〜図４（Ｆ）は、図２に示す各テーブルの一例を示す図である。
【００２８】
図４（Ａ）は機材特性テーブルＤＥＶＩＮＦＯ２０８、図４（Ｂ）は、ＺオーダテーブルＺＴＢＬ２０９、図４（Ｃ）はユーザ指示テーブルＵＴＢＬ２１０を示している。図４（Ｄ）は、合成テーブルＭＴＢＬ２１８、図４（Ｅ）は、サービス状況テーブルＳＴＢＬ２１２、図４（Ｆ）は、プロジェクタ・レンダラ対応テーブルＰＴＢＬ２１３を示している。
【００２９】
図４（Ａ）のＤＥＶＩＮＦＯは、図１の各プロジェクタと、そのスペックと設定を表している。本実施の形態においては少なくとも、水平及び垂直方向の解像度（RES_HとRES_V）と、１画素当りのビット数（DEP）、光軸の位置（AXIS_HとAXIS_V）と、投射される画面サイズ（W（幅）とH（高さ））を含んでいる。更に、各プロジェクタが好ましい色再現可能な色である着目色（ATTN）、着目色からの閾値（DE）を含んでいる。
【００３０】
本実施の形態では、着目色（ATTN）は、０〜２５５のＲＧＢ値で表現された色であり、この情報が設定されていないと、そのプロジェクタは特定の色に対する好ましい色再現のための調整が特にはなされていないことを示している。図４（Ａ）ではプロジェクタ１１４が、これに該当している。閾値DEは、ＡＴＴＮからの色差の閾値を示す。本実施の形態における色差とは、Ｒ，Ｇ，Ｂの各値の差の絶対値の和で定義する。例えば、図４（Ａ）のＤＥＶＩＮＦＯの一行目は、プロジェクタＰＲＯＪ１１２の仕様を示している。このプロジェクタＰＲＯＪ１１２の解像度は、横１６００画素、縦１２００画素で、１画素当り４８ビットで表現される。また光軸はスクリーン左上を基準として、右に８０ｃｍ、下に６０ｃｍに位置している。また、このＰＲＯＪ１１２による投射画面は、横１６０ｃｍ、縦１２０ｃｍの長方形をなすように位置調整されており、着目色はＲＧＢ（0, 255, 0）として色調整され、着目色からの閾値DEは「４」である。
【００３１】
図２のＲＥＮＤＥＲ２２１〜ＲＥＮＤＥＲ２２４が具有する座標変換と拡縮、色の補間・間引きの実現には、このＤＥＶＩＮＦＯの情報が必要である。
【００３２】
図４（Ｂ）のＺＴＢＬは、図３に示すオブジェクトのＺ軸（奥行き）方向の順序を示している。尚、図４（Ｂ）（Ｃ）におけるオブジェクトは図３に示すオブジェクトに対応している。このＺＴＢＬでは、図３において手前に位置しているオブジェクトがテーブルの上方に格納されている。図４（Ｂ）では、ＯＢＪ３０３は図３に示すように、ＯＢＪ３０６よりも奥に位置していて、ＯＢＪ３０５より手前に位置していることが分かる。
【００３３】
図４（Ｃ）のＵＴＢＬは、各オブジェクトＯＢＪと、そのオブジェクトを投射するためにユーザが指定したプロジェクタＰＲＯＪの組を保持している。図４（Ｃ）では、例えばＵＴＢＬの一行目において、ＯＢＪ３０１はＰＲＯＪ１１５で投射するように記述されている。尚、このテーブルＵＴＢＬのＰＲＯＪで指定されるプロジェクタは、図４（Ａ）のＤＥＶＩＮＦＯで定義されていなければならない。
【００３４】
図４（Ｄ）のＭＴＢＬは、図１のＭＥＲＧＥ２１１で作成された合成オブジェクトＭＯＢＪと、その合成オブジェクトを投射するプロジェクタＰＲＯＪとの組を保持している。図４（Ｄ）では、例えばＭＴＢＬの一行目に、ＭＯＢＪ２１６は、ＰＲＯＪ１１５で投射される合成オブジェクトであることが記述されている。
【００３５】
図４（Ｅ）のＳＴＢＬは、プロジェクタＰＲＯＪと、それがデフォルトプロジェクタであるかという情報ＤＥＦＡＵＬＴと、現在、そのプロジェクタが使用可能かを示すＡＶＩＬＡＢＬＥが組になって保持されている。図４（Ｅ）では、デフォルトプロジェクタはＰＲＯＪ１１４であり、かつ、そのプロジェクタが使用可能であることが判る。
【００３６】
図４（Ｆ）のＰＴＢＬは、プロジェクタＰＲＯＪと、レンダラＲＥＮＤＥＲ２２１〜ＲＥＮＤＥＲ２２４との対応関係を保持している。図４（Ｆ）のＰＴＢＬの二行目によれば、ＰＲＯＪ１１３を用いて投射する場合は、ＲＥＮＤＥＲ２２２に対して合成オブジェクトを送付しなければならないことが分かる。
【００３７】
図５は、本実施の形態に係るシステムにおける処理の全体を記述するフローチャートである。このフローチャートは、例えば米Adobe Systems社のオーサリングアプリケーションに組み込んだ例で示している。具体的には、ＲＡＭ１０３にロードされたプログラムをＣＰＵ１０１が実行することにより達成される。このフローチャートにおいて、ステップＳ５０６は、ＵＴＢＬを作成するオブジェクト指定処理、ステップＳ５０７は、ＭＥＲＧＥ２１１に相当する合成オブジェクトを作成する処理を示す。またステップＳ５０８は、ＭＰＬＡＹＥＲ２２０に相当する合成オブジェクトを再生する処理を示す。以下、図５〜図８のフローチャートを参照して詳しく説明する。
【００３８】
この処理が起動されるとまずステップＳ５０１で必要な初期化を実行する。次にステップＳ５０２に進み、ユーザからの入力待ちとなり、ユーザが操作部１０７により何かの操作を行うのを待つ。ここでユーザが何らかの操作を行うとステップＳ５０２からＳ５０３に進み、ユーザの指示が「オブジェクト指定」であるかどうかを調べる。このオブジェクト指定とは、画面上に表示されたオブジェクトＯＢＪをマウスポインタ等により選択する操作を示す。ここで、オブジェクトが選択されるとステップＳ５０６に進む。このステップＳ５０６の詳細は、図６のフローチャートを参照して後述する。そしてこのステップＳ５０６の処理が終了した後ステップＳ５０２に戻って、ユーザの入力待ちに戻る。
【００３９】
ステップＳ５０３で、ユーザの指示が「オブジェクト指定」でない場合はステップＳ５０４に進み、その操作が「合成オブジェクト作成」か否かを判定する。ここで「合成オブジェクト作成」であればステップＳ５０７の合成オブジェクト作成処理に移行する。この処理はＭＥＲＧＥ２１１に相当する処理であり、この処理は後述する図７を参照して詳説する。この処理の終了後はステップＳ５０２のユーザの入力待ちに戻る。
【００４０】
一方ステップＳ５０４で、ユーザの指示が「合成オブジェクト作成」でもない場合はステップＳ５０５に進み、その操作が「合成オブジェクト再生」か否かを判定する。「合成オブジェクト再生」であると判定するとステップＳ５０８に進み、合成オブジェクト再生処理を実行する。この処理はＭＰＬＡＹＥＲ２２０に相当する処理であり、図８を参照して後述する。そしてステップＳ５０８の処理を終了した後はステップＳ５０２に進んで、ユーザの入力待ちとなる。
【００４１】
またステップＳ５０５で、ユーザの指示が「合成オブジェクト再生」でもない場合はステップＳ５０９に進み、そのユーザの指示に応じた処理を実行する。この処理は例えば、ファイルへの書き出し処理などに相当するが、本実施の形態においてはこれ以上詳説しない。この処理を終了するとステップＳ５０２のユーザの入力待ちに戻る。
【００４２】
図６は、図５のステップＳ５０６のオブジェクト選択処理を説明するフローチャートである。
【００４３】
まずステップＳ６０１で初期化がなされる。ここでは例えば、ユーザに提示するプロジェクタのリストを格納するＴＢＬの初期化を行う。この初期化が終了するとステップＳ６０２に進み、ユーザが選択したオブジェクトの色を解析し、その結果をＲＡＭ１０３の変数エリアＣに格納する。本実施の形態では、その選択されたオブジェクトを構成する色のヒストグラムを計算し、一番多い色を解析結果として採用する。次にステップＳ６０３に進み、ＤＥＶＩＮＦＯ（図４（Ａ））から一つのプロジェクタ分の情報を取り出し、それをＲＡＭ１０３の変数エリアｄｅｖに格納してステップＳ６０４に進む。ステップＳ６０４では、テーブルＤＥＶＩＮＦＯを全て調べたかどうかを判定し、全て調べていないときはステップＳ６０５に進むが、そうでないときはステップＳ６０９に進む。
【００４４】
ステップＳ６０５では、変数エリアｄｅｖに着目色ＡＴＴＮ（プロジェクタが好ましい色再現可能な色である色）が指定されているかを判定する。ここでＡＴＴＮが指定されているとステップＳ６０６に進むが、そうでないときはステップＳ６０８に進む。ステップＳ６０６では、ＡＴＴＮで指定された着目色と、変数エリアＣに格納されたオブジェクトの色との色差を計算する。本実施の形態では、着目色ＡＴＴＮとして複数の色が指定されていた場合は、オブジェクトの色（変数エリアＣ）と各着目色ＡＴＴＮとの間の色差を求め、その差が最大となる色差を採用する。次にステップＳ６０７に進み、ステップＳ６０６で計算された色差が、そのプロジェクタの閾値（DE）（dev.DE）以内であるか否かを判定する。閾値以内（所定量以下）であればステップＳ６０８に進み、ステップＳ６０３で、変数エリアｄｅｖに格納したプロジェクタ名を、ユーザに提示するプロジェクタのリストを格納するＴＢＬに追加してステップＳ６０３に戻る。一方、ステップＳ６０７で、計算された色差が閾値内でなければステップＳ６０３に戻る。
【００４５】
こうしてステップＳ６０４で、全てのＤＥＶＩＮＦＯに関して処理が終わるとステップＳ６０９に進み、ステップＳ６０８で作成したＴＢＬの内容をモニタ１１０に表示してユーザに提示する。次にステップＳ６１０に進み、ユーザの入力に従って、必要ならばＵＴＢＬ（図４（Ｃ））にデータを追加、或は、そのＵＴＢＬを更新してこの処理を終了する。
【００４６】
この図６の処理により、ユーザが選択したオブジェクトの色に対して、プロジェクタの着目色が近い（その色差が閾値以下）プロジェクタを抽出したテーブルＴＢＬが作成される。また各オブジェクトの色再現に最適なプロジェクタを格納するＵＴＢＬ（図４（Ｃ））も更新できる。
【００４７】
図７は、図５のステップＳ５０７の合成オブジェクト作成処理の詳細を説明するフローチャートである。
【００４８】
まずステップＳ７０１で、この処理に必要な初期化を実行してステップＳ７０２に進む。ステップＳ７０２では、ＤＥＶＩＮＦＯ（図４（Ａ））から未処理のプロジェクタに関する機材特性を読み出してＲＡＭ１０３の変数エリアｄｅｖに格納する。次にステップＳ７０３に進み、変数エリアｄｅｖが空か否か、即ち、ＤＥＶＩＮＦＯを調べ終えたかどうかを判定する。そうであれば処理を終了して図５のステップＳ５０２に戻るが、そうでないときはステップＳ７０４に進む。
【００４９】
ステップＳ７０４では、ＲＡＭ１０３のフレームバッファ（ＢＵＦＦＥＲ）や一時バッファ（ＴＭＰ）を初期化してステップＳ７０５に進む。ここでフレームバッファは、変数エリアｄｅｖに格納されたプロジェクタの解像度情報（RES_H，RES_V）、１画素当りのビット数(DEP)を用いて確保される色表現データを格納する。このフレームバッファは、黒で初期化される。また一時バッファＴＭＰは、フレームバッファと同様の色表現データを格納するCOLOR部と、フレームバッファには存在していない、当該各色表現データと対応したアルファチャンネルのデータを格納するALPHA部とを有している（図２１参照）。
【００５０】
次にステップＳ７０５に進み、ＺＴＢＬ（図４（Ｂ））の一番下（最奥のオブジェクト）から順にオブジェクトを取り出し、ＲＡＭ１０３の変数エリアｏｂｊに格納する。次にステップＳ７０６で、変数エリアｏｂｊが空か否か、即ち、テーブルＺＴＢＬの全てのオブジェクトをチェックしたかどうかを判定する。テーブルＺＴＢＬを全部チェックしていないときはステップＳ７０７に進むが、全てをチェックしたときはステップＳ７１４に進む。
【００５１】
ステップＳ７０７では、一時バッファＴＭＰのCOLOR部をリセットするとともにアルファチャネルもリセットする。次にステップＳ７０８に進み、テーブルＺＴＢＬから取り出した変数エリアｏｂｊのオブジェクトを用いてＵＴＢＬ（図４（Ｃ））を検索し、そのオブジェクトを表示するプロジェクタ名を取得してＲＡＭ１０３の変数エリアＰに格納する。次にステップＳ７０９に進み、変数エリアＰのプロジェクタ名（P.PROJ）と、ステップＳ７０２で変数エリアｄｅｖに格納されたプロジェクタ名（dev.PROJ）とが等しいかどうかを判定する。即ち、ここでは、ステップＳ７０５で取り出したオブジェクトを、ステップＳ７０２で選んだプロジェクタで投射するか否かを判定する。ここで一致するときは、そのプロジェクタで投影するオブジェクトであるためステップＳ７１３に進むが、そうでないときはステップＳ７１０に進む。ステップＳ７１０では、オブジェクトに応じたマスクを、変数エリアｄｅｖの値をパラメータとして作成して一時バッファＴＭＰに書き出す。これはそのオブジェクトを、現在選択しているプロジェクタで表示させないようにするためである。
【００５２】
本実施の形態でいうマスクとは、オブジェクト部分を黒く塗りつぶすために用いられるデータで、実体はオブジェクトと同じ輪郭をもった黒色のオブジェクトである。従って、色情報は初期化された状態（黒）のままで、オブジェクト内部のアルファチャネルの値が「１」に更新される。次にステップＳ７１１に進み、一時バッファＴＭＰに格納されたマスクデータを適切に拡大してＴＭＰに描き戻す。この際、アルファチャネルも拡大することに注意する。本実施の形態では、拡大量の一例として、縦横ともに５画素分拡大するとする。勿論、倍率を指定するように構成することも可能である。そしてステップＳ７１２に進み、ＴＭＰをフレームバッファＢＵＦＦＥＲに重ね描きしてステップＳ７０５に戻る。この重ね描きは、アルファチャネルの値に応じて行われ、ＴＭＰのアルファチャネルの値が「０」の場合は、フレームバッファＢＵＦＦＥＲの画素情報は更新しない。一方、ＴＭＰのアルファチャネルの値が「１」の場合は、ＴＭＰ上の画素情報でフレームバッファの画素情報が上書きされる。
【００５３】
一方ステップＳ７０９で、ステップＳ７０２で取得したプロジェクタと、ステップＳ７０５で選択したオブジェクトを表示するプロジェクタとが一致する場合はステップＳ７１３に進む。ステップＳ７１３では、変数エリアｏｂｊに格納されたオブジェクトを、変数エリアｄｅｖに記憶しているプロジェクタの機種特性に応じてレンダリングして一時バッファＴＭＰ上に展開する。そしてステップＳ７１２に進んでＢＵＦＦＥＲに重ね書きする。尚、ステップＳ７１３では、ステップＳ７１０と同様に、そのレンダリング処理に必要な各種パラメータを変数エリアｄｅｖから獲得する。しかしステップＳ７１０とは異なり、色情報部分も変数エリアｏｂｊの値に応じて更新される。アルファチャネルに関してはステップＳ７１０と同様である。
【００５４】
テーブルＺＴＢＬに格納されている全てのオブジェクトをチェックするとステップＳ７０６からステップＳ７１４に進む。ステップＳ７１４では、一時バッファＴＭＰに格納された描画結果をフレームバッファＢＵＦＦＥＲにブレンドしてステップＳ７１５に進む。ステップＳ７１５では、書き出された合成オブジェクトＭＪＯＢと、変数エリアｄｅｖに記憶しているプロジェクタとの関連をＭＳＴＲＥＡＭ２１９のＭＴＢＬ２１８（図４（Ｄ））に追加してステップＳ７０２に戻る。こうしてステップＳ７０３で、ＤＥＶＩＮＦＯの全てのプロジェクタに関して処理が終了したら、本処理を終了する。
【００５５】
以上の処理により、ユーザが選択したオブジェクトを表示するプロジェクタが選択されている場合は、そのオブジェクトを、そのプロジェクタに対応させてレンダリングする。一方、ユーザが選択したオブジェクトを表示するプロジェクタが選択されていない場合は、そのオブジェクトをマスクデータでマスクする。そして、それらオブジェクトの画像を合成した合成オブジェクトを作成し、その合成オブジェクトと、それを表示するプロジェクタとを対応付けてテーブルに登録する。
【００５６】
図８は、図５のステップＳ５０８の合成オブジェクト再生処理を説明するフローチャートである。
【００５７】
まずステップＳ８０１で本処理に必要な初期化がなされてステップＳ８０２に進む。ステップＳ８０２では、ＭＴＢＬ（図４（Ｄ））から未処理分の合成オブジェクトと対応するプロジェクタを取り出してＲＡＭ１０３の変数エリアＭにセットした後、ステップＳ８０３に進む。ステップＳ８０３では、変数エリアＭの値が空か否か、即ち、ＭＴＢＬに登録されている合成オブジェクトに対する処理が終了したか否かをチェックし、チェックが完了していればステップＳ８０４に進むが、そうでないときはステップＳ８０５に進む。ステップＳ８０４では、全レンダラ（本実施の形態の場合はＲＥＮＤＥＲ２２１〜ＲＥＮＤＥＲ２２４）を起動し、スクリーン上で協調して単一の画面が投射され、本処理を終了する。
【００５８】
一方ステップＳ８０５では、変数エリアＭのプロジェクタ名（M.PROJ）を用いてＤＥＶＩＮＦＯ（図４（Ａ））を検索し、合致したプロジェクタの情報をＲＡＭ１０３の変数エリアＤＥＶ１に格納する。本実施の形態において、ＤＥＶＩＮＦＯにその仕様が定義されていないプロジェクタは、ＭＴＢＬにおいても指定されることはないとする。次にステップＳ８０６に進み、変数エリアＭのプロジェクタ名を用いてＳＴＢＬ（図４（Ｅ））を検索し、合致したプロジェクタの情報をＲＡＭ１０３の変数エリアＳに格納する。次にステップＳ８０７に進み、その変数エリアＳに格納されたプロジェクタの情報のＡＶＡＩＬＡＢＬＥ（S.AVAILABLE）をチェックし、そのプロジェクタが使用可能か否かを判定する。使用可能ならばステップＳ８１３へ、使用不可能ならば代替のプロジェクタを探すためにステップＳ８０８に遷移する。ステップＳ８０８では、再びＳＴＢＬ（図４（Ｅ））を検索してデフォルトプロジェクタの有無を調べ、あればその情報をＲＡＭ１０３の変数エリアＤに書き込む。次にステップＳ８０９に進み、デフォルトのプロジェクタがあればステップＳ８１０に進むが、なければそのまま何も表示せず（レンダラを起動せず）、本処理を終了する。ステップＳ８１０では、ＳＴＢＬを参照して、見つかったデフォルトのプロジェクタが使用可能かを判定し、使用不可能ならばやはり何も表示せずに本処理を終了する。使用可能ならば、ステップＳ８１１に進む。
【００５９】
ステップＳ８１１では、ステップＳ８０３でセットしたプロジェクタ名（M.PROJ）を、ステップＳ８０８で取得したデフォルトのプロジェクタ名（D.PROJ）で書き換える。即ち、合成オブジェクト（M.OBJ）を再生するプロジェクタ名を差し替える。次にステップＳ８１２に進み、そのプロジェクタ名（D.PROJ）でＤＥＶＩＮＦＯ（図４（Ａ））を検索し、その代替プロジェクタの機材特性を獲得してＲＡＭ１０３の変数エリアＤＥＶ２に格納してステップＳ８１４に進む。
【００６０】
一方、ステップＳ８０７で、変数エリアＳに格納されたプロジェクタが使用可能であればステップＳ８１３に進み、変数エリアＤＥＶ２に変数エリアＤＥＶ１と同じ情報を複写する。そしてステップＳ８１４に進み、使用するプロジェクタ名（M.PROJ）でＰＴＢＬ（図４（Ｆ））を検索して、そのプロジェクタに対応するレンダラを取得してＲＡＭ１０３の変数エリアＰに格納する。こうして合成オブジェクト（M.OBJ）を送付するレンダラを決定する。次にステップＳ８１５に進み、変数エリアＰに格納されたレンダラ（P.RENDER）の指し示すレンダラに、合成オブジェクト（M.OBJ）と変数エリアＤＥＶ２のプロジェクタ情報を送付する。そしてステップＳ８０２に戻り、次のプロジェクタに関する処理を行う。
【００６１】
こうして全てのプロジェクタに関連付けられた全てのオブジェクトを実際に投射する準備ができるとステップＳ８０４に進み、ＲＥＮＤＥＲ２２１〜ＲＥＮＤＥＲ２２４の全レンダラを同期的に起動する。これによりプロジェクタ１１２〜１１５から投影される画像がスクリーン１００１上で重畳されて単一の画面として表示される。
【００６２】
以下、前述した本実施の形態に係るマルチプロジェクタシステムの構成における処理の具体例を図９〜図３７を参照して詳しく説明する。
【００６３】
図９は、本発明の実施の形態を詳細に説明するための、図３に示したデータと類似した各単色からなる７つのオブジェクトで構成されたストリームデータの一例を示す図である。
【００６４】
図において、オブジェクト９０１は色成分がＲＧＢ（250, 1, 0）の文字列「Kwanon Construction」である。オブジェクト９０２〜９０４は樹木のイメージであり、その色はいずれもＲＧＢ（2, 250, 0)とする。オブジェクト９０５は箱のイメージであり、その色はＲＧＢ（0, 0, 251）である。またオブジェクト９０６も箱のイメージであり、その色はＲＧＢ（254, 0, 254）とする。更にオブジェクト９０７は背景を示し、その色はＲＧＢ（128, 128, 126）である。このオブジェクト９０７は画面全体を占めている。また９０８は、オブジェクトの選択や機能選択などを行うためのマウスポインタを示している。
【００６５】
図１０（Ａ）〜図１０（Ｆ）は、本発明の実施の形態を説明するために用意したテーブルを説明する図である。図１０（Ａ）のＤＥＶＩＮＦＯは図４（Ａ）のテーブルと同じである。図１０（Ｃ）（Ｄ）のＵＴＢＬ，ＭＴＢＬは、この処理の開始時ではともに空である。また図１０（Ｂ）（Ｅ）（Ｆ）の各テーブルは、図４（Ｂ）（Ｅ）（Ｆ）の各テーブルと同じである。
【００６６】
以下、図１１〜図１９を参照して、図９でオブジェクト９０５（箱）を「オブジェクト選択」した場合の処理を説明する。
【００６７】
図１１は、図９の状態から、マウスポインタ９０８を用いて操作部１０７でオブジェクト９０５を選択した状態を示す図である。これにより図６に示すオブジェクト選択処理が開始される。
【００６８】
まず図６のステップＳ６０１で、ＴＢＬ、変数エリアＣ，ｄｅｖ等が初期化されて図１２の状態になる。
【００６９】
図１２は、ＤＥＶＩＮＦＯ（図１０（Ａ））の一行目が取り出されて処理を開始する前の変数エリアとテーブルＴＢＬの状態を説明する図である。
【００７０】
図１３は、ＤＥＶＩＮＦＯ（図１０（Ａ））の一行目が取り出されて変数エリアｄｅｖに格納された状態を説明する図である。
【００７１】
次にステップＳ６０２で、その選択されたオブジェクト９０５の色を取得して解析する。ここでは前述したように、ヒストグラムを計算する。オブジェクト９０５はＲＧＢ（0, 0, 251）の単色のオブジェクトであるから、変数エリアＣの値もＲＧＢ（0, 0, 251）となる。次にステップＳ６０３に進み、ＤＥＶＩＮＦＯ（図１０（Ａ））の一行目の情報を取り出して変数エリアｄｅｖに格納する。この状態を図１３に示す。これにより変数エリアｄｅｖは空でなくなるのでステップＳ６０４からステップＳ６０５に進む。ステップＳ６０５で、変数エリアｄｅｖの着目色（ATTN）は（0, 255, 0）で、空ではないのでステップＳ６０５からステップＳ６０６に進む。ステップＳ６０６では、変数エリアＣの値であるＲＧＢ（0, 0, 251）と、変数エリアｄｅｖの着目色（ATTN）のＲＧＢ（0, 255, 0）との色差を計算する。この場合は定義より色差は「５０６」となる。次にステップＳ６０７に進み、この色差「５０６」と閾値（dev.DE）（図１３では「４」）とを比較する。この場合はステップＳ６０７で、色差「５０６」は明らかに閾値「４」を上回っているためステップＳ６０７からステップＳ６０３に進み、ＴＢＬには登録されない。そしてステップＳ６０３で、図１０（Ａ）のＤＥＶＩＮＦＯの二行目のデータが取り出されて図１４の状態になる。
【００７２】
図１４は、ＤＥＶＩＮＦＯ（図１０（Ａ））の二行目が取り出されて処理を開始するときの変数エリアとテーブルＴＢＬの状態を説明する図である。
【００７３】
ここで変数エリアｄｅｖは空ではないのでステップＳ６０４からステップＳ６０５に進む。ここで変数エリアｄｅｖの着目色（ATTN）は（0, 0, 255）で、空ではないのでステップＳ６０５からステップＳ６０６に進む。ステップＳ６０６では、変数エリアＣの値である（0, 0, 251）と、このプロジェクタの着目色（0, 0, 255）とで色差が計算される。この場合は色差は「４」となり、この値は閾値（dev.DE）の値「６」よりも小さいのでステップＳ６０７からステップＳ６０８に進む。ステップＳ６０８では、ＴＢＬに変数エリアｄｅｖのプロジェクタ名「ＰＲＯＪ１１３」を登録してステップＳ６０３に戻る。次にステップＳ６０３で、図１０（Ａ）のＤＥＶＩＮＦＯの三行目が取り出されて図１５の状態になる。
【００７４】
図１５は、ＤＥＶＩＮＦＯ（図１０（Ａ））の三行目が取り出されて処理を開始するときの変数エリアとテーブルＴＢＬの状態を説明する図である。
【００７５】
ここで変数エリアｄｅｖの着目色は空であるのでステップＳ６０５からステップＳ６０８に分岐する。ステップＳ６０８で、ＴＢＬに、ＤＥＶＩＮＦＯ（図１０（Ａ））の三行目のプロジェクタ名「ＰＲＯＪ１１４」を登録する。そしてステップＳ６０３に戻る。ステップＳ６０３では、図１０（Ａ）のＤＥＶＩＮＦＯの四行目が取り出されて図１６の状態になる。
【００７６】
図１６は、ＤＥＶＩＮＦＯ（図１０（Ａ））の四行目が取り出されて処理を開始するときの変数エリアとテーブルＴＢＬの状態を説明する図である。
【００７７】
この場合は、変数エリアｄｅｖの着目色（ATTN）は（255, 0, 0）で空ではないのでステップＳ６０５からステップＳ６０６に進む。ステップＳ６０６では、変数エリアＣの値（0, 0, 251）と、変数エリアｄｅｖの着目色（255, 0, 0）との色差を計算する。この場合、色差は「５０６」となり、この値は閾値(DE)「７」よりも大きいのでステップＳ６０７からステップＳ６０３に戻る。そしてステップＳ６０３で、未処理のプロジェクタが図１０（Ａ）のＤＥＶＩＮＦＯに存在しなくなるので、変数エリアｄｅｖは空になって図１７の状態になる。
【００７８】
図１７は、オブジェクト９０５が選択されて、ＤＥＶＩＮＦＯ（図１０（Ａ））の最後のデータが取り出された状態を説明する図である。
【００７９】
図１８は、以上説明した結果に従って、図６のステップＳ６０９で表示される表示例を示す図である。このように本実施の形態では、選択されたオブジェクト９０５は、プロジェクタ１１３と１１４により投射されて表示される。
【００８０】
このようにして、選択されたオブジェクト９０５に対して図１０（Ａ）のＤＥＶＩＮＦＯを調べ終わるとステップＳ６０４からステップＳ６０９に進んで、図１８に示すように、ユーザに対して、オブジェクト９０５を投射するプロジェクタを提示する。
【００８１】
更に図１８の状態で、ユーザがマウスポインタ９０８で「ＰＲＯＪ１１３」を選択すると、ステップＳ６１０で、図１０（Ｃ）のＵＴＢＬにオブジェクト９０５にを表示するプロジェクタに関する項目が追加される。
【００８２】
図１９（Ａ）〜図１９（Ｆ）は、図１８の状態で、ユーザがマウスポインタ９０８で「ＰＲＯＪ１１３」を選択した後の各テーブル及び変数エリアの内容を示す図である。
【００８３】
次に同様にして、「オブジェクト選択処理」により、図１８のオブジェクト９０１に対してＰＲＯＪ１１５を、オブジェクト９０２に対してＰＲＯＪ１１２を割り当てる。更に、オブジェクト９０３に対してＰＲＯＪ１１２を、オブジェクト９０４に対してＰＲＯＪ１１２を割り当てる。またオブジェクト９０５に対してＰＲＯＪ１１３を、オブジェクト９０６に対してはＰＲＯＪ１１４を、オブジェクト９０７に対してＰＲＯＪ１１４をそれぞれ割り当てる。
【００８４】
図２０（Ａ）〜（Ｆ）は、図１８の各オブジェクトに対するプロジェクタが割り当てられた後の各テーブル及び変数エリアの内容を示す図である。
【００８５】
次に、図７及び図２０〜図３０を参照して、図２０（Ａ）〜（Ｆ）で示すテーブル等の状態から、図５のステップＳ５０２で「合成オブジェクト作成処理」を選択し、ステップＳ５０７（図７）に遷移した場合の処理を詳細に説明する。
【００８６】
まずステップＳ７０１で、初期化がなされるとステップＳ７０２に進む。ステップＳ７０２では、図２０（Ａ）のＤＥＶＩＮＦＯの一行目を取り出して変数エリアｄｅｖにセットする。このときｄｅｖは空ではないのでステップＳ７０３からステップＳ７０４に進み、フレームバッファＢＵＦＦＥＲと一時バッファＴＭＰの領域を、ＰＲＯＪ１１２の解像度１６００×１２００、１画素当り４８ビットで確保する。そして、この領域を初期値としては黒を表すＲＧＢ（0, 0, 0)で初期化する。
【００８７】
図２１は、フレームバッファＢＵＦＦＥＲと一時バッファＴＭＰ及びＭＳＴＲＥＡＭの初期化状態を説明する図である。
【００８８】
図において、ＴＭＰは、画素毎に色情報をもつCOLOR部２１００と、各々の色情報に対応したアルファチャネル値を保持するALPHA部２１０１とを有している。ここでCOLOR部２１００は全て黒に、ALPHA部２１０１は全て「０」に初期化されている。尚、本実施の形態に係るALPHA部２１０１は「０」を黒に、「１」を白に対応させて図示している。
【００８９】
ここでアルファチャンネル値が「０」の場合、対応する一時バッファＴＭＰ上の色情報はフレームバッファ２１０２には書き出されない。またアルファチャンネル値が「１」の場合は、対応する一時バッファＴＭＰ上の色情報でフレームバッファ２１０２が上書きされる。本実施の形態では、アルファチャンネル値は「０」或は「１」のみである。
【００９０】
図２１の状態から、ステップＳ７０５において図２０（Ｂ）のＺＴＢＬで一番下（オブジェクトの位置的に奥）の背景「ＯＢＪ９０７」を取り出す。そしてステップＳ７０７で、一時バッファＴＭＰをリセッする。続いてステップＳ７０９で、ＵＴＢＬを参照して得られるオブジェクト９０７に対応するプロジェクタ（P.PROJ）と、ステップＳ７０２で変数エリアｄｅｖに格納されたプロジェクタ名（dev.PROJ）とを比較する。ここではP.PROJが「ＰＲＯＪ１１４」であるのに対してdev.PROJが「ＰＲＯＪ１１２」であるため一致せずステップＳ７１０に進む。ステップＳ７１０では、オブジェクト９０７は画面一杯の背景なので、全体をマスクするデータが一時バッファＴＭＰ上に作成されて図２２の状態になる。ここではアルファチャンネルが「１」に更新されため、ALPHA部２１０１は白で表示されている。
【００９１】
図２２は、図７のステップＳ７１０で、一時バッファＴＭＰが更新された状態を示す図である。
【００９２】
次にステップＳ７１１で、一時バッファＴＭＰ上のマスクが拡大される。ところがオブジェクト９０７は背景であり、画面全体を占めるデータなので、本実施の形態における拡大量５画素を適用しても変らない。拡大処理自体は良く知られた技術なので、ここでは詳説しない。
【００９３】
次にステップＳ７１２に進み、一時バッファＴＭＰのアルファチャンネルの値が画面全体通して「１」であるため、フレームバッファ２１０２の内容全体が一時バッファＴＭＰの内容で書き換えられる。このとき一時バッファＴＭＰのCOLOR部２１００も全面黒一色なので、フレームバッファ２１０２の内容は変化しない。従って、図２２の状態から変らない。
【００９４】
こうしてステップＳ７１２が終了した後、ステップＳ７０５に戻り、図２０（Ｂ）のテーブルから次のオブジェクト「ＯＢＪ９０２」が取り出されて変数エリアｏｂｊに読み込まれる。そしてステップＳ７０７で、再び一時バッファＴＭＰの色情報、アルファチャンネルをともにリセットする。そしてステップＳ７０８で、図２０（Ｃ）のＵＴＢＬを「ＯＢＪ９０２」で検索した結果、そのオブジェクトを投影する「ＰＲＯＪ１１２」が得られる。そして、このプロジェクタ名が変数エリアＰ（P.PROJ）に書き込まれる。次にステップＳ７０９に進み、（P.PROJ）が「ＰＲＯＪ１１２」で、変数エリアｄｅｖのプロジェクタ名と（dev.PROJ）と等しくなる。このためステップＳ７１３に進み、オブジェクト９０２がレンダリングされて一時バッファＴＭＰ上に展開される。
【００９５】
図２３は、ステップＳ７１１で、オブジェクト９０２が一時バッファＴＭＰに描画された状態を示す図である。
【００９６】
次にステップＳ７１２に進み、一時バッファＴＭＰの内容がフレームバッファ２１０２に重ね描きされる。
【００９７】
図２４は、ステップＳ７１２で、一時バッファＴＭＰがフレームバッファ２１０２に重ね書きされた状態を示す図である。
【００９８】
次に、この図２４の状態からステップＳ７０５に進み、図２０（Ｂ）のＺＴＢＬから次の「ＯＢＪ９０５」を取り出して変数エリアｏｂｊに書き込む。次にステップＳ７０７に進み、一時バッファＴＭＰをリセットする。次にステップＳ７０８に進み、図２０（Ｃ）のＵＴＢＬを「ＯＢＪ９０５」で検索し、プロジェクタ名「ＰＲＯＪ１１３」を取得して変数エリアＰ（P.PROJ）に格納する。次にステップＳ７０９に進み、ステップＳ７０８で取得した（P.PROJ）から「ＰＲＯＪ１１３」と、（dev.PROJ）の「ＰＲＯＪ１１２」と一致しないのでステップＳ７１０に遷移する。そして一時バッファＴＭＰにＯＢＪ９０５のマスクデータを格納する。
【００９９】
図２５は、ステップＳ７１０で、オブジェクト９０５のマスクデータをＴＭＰに格納した状態を示す図である。
【０１００】
図２５の状態から、ステップＳ７１１に進み、一時バッファＴＭＰに格納されたマスクデータを縦横５画素分拡大した後、ステップＳ７１２で、フレームバッファ２１０２に重ね描きする。
【０１０１】
図２６は、ステップＳ７１２で、オブジェクト９０５をマスクした状態をフレームバッファ２１０２に重ね書きした状態を示す図である。
【０１０２】
次に図２６の状態からステップＳ７０５に進み、以下同様の処理を、図２０（Ｂ）のＺＴＢＬ上のオブジェクトの残り全てに対して行う。そしてＺＴＢＬの全てのオブジェクトに対する処理が完了するとステップＳ７０６からステップＳ７１４に進み、フレームバッファ２１０２の内容を書き出す。次にステップＳ７１５に進み、ＭＴＢＬ２１８にエントリを作成する。
【０１０３】
図２７は、プロジェクタ１１２に対して、図２０（Ｂ）のＺＴＢＬ上のオブジェクトの全てに対する処理を完了した後、合成オブジェクトＭＯＢＪ１を作成してＭＴＢＬを更新した状態を示す図である。
【０１０４】
合成オブジェクトＭＯＢＪ１は、オブジェクト９０２〜９０４が描画されて合成され、それにオブジェクト９０５，９０６がマスクされて合成された、プロジェクタ「ＰＲＯＪ１１２」に対応する合成オブジェクトを示す。
【０１０５】
以下、同様にして、図２０（Ａ）の二行目の「ＰＲＯＪ１１３」に対する処理を行う。そして図１０（Ｂ）のＺＴＢＬの全てのオブジェクトに対する処理が終了した後、ステップＳ７１４でフレームバッファ２１０２に書き出される内容を図２８に示す。
【０１０６】
図２８は、プロジェクタ１１３に対して、図２０（Ｂ）のＺＴＢＬ上のオブジェクトの全てに対する処理を完了した後、合成オブジェクトＭＯＢＪ２を作成してＭＴＢＬを更新した状態を示す図である。
【０１０７】
図２８で追加された合成オブジェクトＭＯＢＪ２は、箱のオブジェクト９０５が描画され、それに他のオブジェクトがマスクされて合成された、プロジェクタ「ＰＲＯＪ１１３」に対応する合成オブジェクトを示す。
【０１０８】
次に図２０（Ａ）のＤＥＶＩＮＦＯの三行目の「ＰＲＯＪ１１４」に対する処理を、図２０（Ｂ）のＺＴＢＬの全てのオブジェクトに対して行った後、ステップＳ７１４でフレームバッファを更新して、ステップＳ７１５で、ＭＴＢＬに登録する。
【０１０９】
図２９は、プロジェクタ１１４に対して、図２０（Ｂ）のＺＴＢＬ上のオブジェクトの全てに対する処理を完了した後、合成オブジェクトＭＯＢＪ３を作成してＭＴＢＬを更新した状態を示す図である。
【０１１０】
この新たに追加された合成オブジェクトＭＯＢＪ３は、背景９０７とオブジェクト９０６が描画され、それに他のオブジェクトがマスクされて合成された、プロジェクタ「ＰＲＯＪ１１４」に対応する合成オブジェクトを示す。
【０１１１】
更に図３０は、図２０（Ａ）の四行目の「ＰＲＯＪ１１５」に対する処理を行った後ステップＳ７１４で書き出されたフレームバッファの内容、及びステップＳ７１５で更新されたテーブルＭＴＢＬを示す図である。
【０１１２】
新たに追加された合成オブジェクトＭＯＢＪ４は、オブジェクト９０１が描画され、それに他のオブジェクトがマスクされて合成された、プロジェクタ「ＰＲＯＪ１１５」に対応する合成オブジェクトを示す。このようにして、各プロジェクタに対応する合成オブジェクト（ＭＯＢＪ１〜ＭＯＢＪ４）が作成される。
【０１１３】
次に、図３１〜図３６を参照して、図５のステップＳ５０２で「合成オブジェクト再生処理」を選択し、ステップＳ５０８の合成オブジェクトの再生処理に移行した場合の処理を詳細に説明する。
【０１１４】
図３１（Ａ）〜（Ｄ）は、図１０や図２０で示した各種テーブル類と、図３０に示すＭＳＴＲＥＡＭ２１９のうち、説明に必要なものを抜き出して示す図である。尚、この図３０では、プロジェクタ１１３が使用不可になっている。
【０１１５】
まずステップＳ８０１で初期化処理を実行してステップＳ８０２に進み、図３１（Ｄ）のＭＴＢＬから「ＭＯＢＪ３１０６」と「ＰＲＯＪ１１２」の対応を取り出してＲＡＭ１０３の変数エリアＭに書き込む。そしてステップＳ８０３からステップＳ８０５に進み、図３１（Ａ）のＤＥＶＩＮＦＯを「ＰＲＯＪ１１２」で検索する。そして、その結果をＲＡＭ１０３の変数エリアＤＥＶ１に書き込む。更に図３１（Ｂ）のＳＴＢＬも同様に「ＰＲＯＪ１１２」で検索し、その結果をＲＡＭ１０３の変数エリアＳに取り込んで図３２（Ａ）の状態になる。
【０１１６】
図３２は、図３１（Ｄ）の合成オブジェクトＭＯＢＪ３１０６をプロジェクタ１１２で表示する場合の図８のステップＳ８０６を実行した後の状態を示す図である。
【０１１７】
この図３２の状態から、ステップＳ８０７で、変数エリアＳの（AVAILABLE）が「Yes」であるため、プロジェクタ１１２は使用可能と判断してステップＳ８１３に進む。ステップＳ８０３では、変数エリアＤＥＶ２に変数エリアＤＥＶ１の値をコピーする。次にステップＳ８１４に進み、変数エリアＭのプロジェクタ名で図３１（Ｃ）のＰＴＢＬを検索する。これにより「ＰＲＯＪ１１２」と関連付けられたレンダラがＲＥＮＤＥＲ２２１であると判明する。次にステップＳ８１５に進み、変数エリアＤＥＶ１とＤＥＶ２とＭＯＢＪ３１０６をＰＲＯＪ１１２に送付してＭＯＢＪ３１０６を投射する準備を終了する。そしてステップＳ８０２に戻って図３３の状態になる。尚、ステップＳ８１５で指定されたＤＥＶ１とＤＥＶ２とが同じ値であるので、ＲＥＮＤＥＲ２２１はアフィン変換や色変換などを行う必要はない。
【０１１８】
図３３は、合成オブジェクトＭＯＢＪ３１０６を表示する際に図８のステップＳ８１５を実行した後の変数エリアやレンダラなどの状態を説明する図である。
【０１１９】
この状態では、合成オブジェクトＭＯＢＪ３１０６はレンダラ２２１により展開されてプロジェクタ１１２により投影されて表示される。
【０１２０】
次にこの図３３の状態から、ステップＳ８０２で、図３１（Ｄ）のＭＴＢＬから次の合成オブジェクトＭＯＢＪ３１０７とＰＲＯＪ１１３の対応が取り出されて変数エリアＭに読み込まれる。そしてステップＳ８０３からステップＳ８０５に進み、図３１（Ａ）のＤＥＶＩＮＦＯを「ＰＲＯＪ１１３」で検索し、その結果を変数エリアＤＥＶ１に読み込む。更に図３１（Ｂ）のＳＴＢＬも同様に「ＰＲＯＪ１１３」で検索し、その結果を変数エリアＳに取り込んで図３４の状態になる。
【０１２１】
図３４は、図３１（Ｄ）の合成オブジェクトＭＯＢＪ３１０７をプロジェクタ１１３で表示する場合の図８のステップＳ８０６を実行した後の状態を示す図である。
【０１２２】
この場合はステップＳ８０７で、図３１（Ｂ）の（AVAILABLE）が「No」で使用できないためステップＳ８０８に進む。ステップＳ８０８では、図３１（Ｂ）のＳＴＢＬ上でデフォルトのプロジェクタ（ここではＰＲＯＪ１１４）を探し、その結果を変数エリアＤに書き込む。本実施の形態では、「ＰＲＯＪ１１４」がデフォルトのプロジェクタに指定されているので、変数エリアＤは空ではない。続いて、その（AVAILABLE）を判断する。この場合は「Yes」で、ＰＲＯＪ１１４は使用可能であるためステップＳ８１１に進む。ステップＳ８１１では、合成オブジェクトＭＯＢＪ３１０７をプロジェクタ１１３（M.PROJ）を、デフォルトの(D.PROJ）の値「ＰＲＯＪ１１４」で上書きする。そしてステップＳ８１２に進み、図３１（Ａ）のＤＥＶＩＮＦＯを「ＰＲＯＪ１１４」で検索した結果を変数エリアＤＥＶ２に読み込んで、図３５の状態になる。
【０１２３】
図３５は、図３１（Ｄ）の合成オブジェクトＭＯＢＪ３１０７をデフォルトのプロジェクタ１１４で表示する場合の図８のステップＳ８１２を実行した後の状態を示す図である。
【０１２４】
ここでは合成オブジェクトＭＯＢＪ３１０７に元々対応しているプロジェクタ（ＰＲＯＪ１１３）と、合成オブジェクトＭＯＢＪ３１０７を実際に投影するプロジェクタ（ＰＲＯＪ１１４）の情報が各変数エリアに格納されている。
【０１２５】
そして図３５の状態から、ステップＳ８１４で、「ＰＲＯＪ１１４」で図３１（Ｃ）のＰＴＢＬを検索して対応するレンダラを得る。これによりプロジェクタ「ＰＲＯＪ１１４」と関連付けられたレンダラが「ＲＥＮＤＥＲ２２３」であることが判明する。そしてステップＳ８１５に進み、ＤＥＶ１とＤＥＶ２とＭＯＢＪ３１０７をＲＥＮＤＥＲ２２３に送付して、ＭＯＢＪ３１０７を投射する準備を終了する。そしてステップＳ８０２に戻って図３６の状態になる。尚、ステップＳ８１５で指定されたＤＥＶ１とＤＥＶ２とが、解像度とビット数に関して異なる値を持つので、ＲＥＮＤＥＲ２２２はＭＯＢＪ３１０７を正しく表示するために拡縮処理と色変換を行う必要があることに注意する。
【０１２６】
図３６は、図３１（Ｄ）の合成オブジェクトＭＯＢＪ３１０７をデフォルトのプロジェクタ１１４で表示する場合の図８のステップＳ８１５を実行した後の状態を示す図である。
【０１２７】
以下同様にして、図３１（Ｄ）のＭＴＢＬ上の合成オブジェクトＭＯＢＪ３１０８，３１０９に関しても同様の処理を行う。これによりステップＳ８０２で、図３７に示す状態となる。
【０１２８】
図３７は、図３１（Ｄ）の合成オブジェクトＭＯＢＪ３１０９をプロジェクタ１１５で表示すると決定した後、図８のステップＳ８１５を実行した後の状態を示す図である。
【０１２９】
こうして合成オブジェクトＭＯＢＪ３１０６はレンダラ２２１で、ＭＯＢＪ３１０７と３１０８はレンダラ２２３で、そしてＭＯＢＪ３１０９がレンダラ２２４で描画され、各対応するプロジェクタ１１２，１１３，１１４，１１５から投影される。
【０１３０】
こうしてＭＴＢＬに登録されている全ての合成オブジェクトに対する処理が終了すると、ステップＳ８０３で変数エリアＭが空になってステップＳ８０４に進む。ステップＳ８０４では、全てのレンダラ（この場合ＲＥＮＤＥＲ２２１〜ＲＥＮＤＥＲ２２４）を起動して、この処理を終了する。尚、ＲＥＮＤＥＲ２２３では、ＭＯＢＪ３１０７を適切に変換しつつ、ＭＯＢＪ３１０８と合成する処理が発生するが、前述したように、ここではそれ以上詳しく説明しない。
【０１３１】
［その他実施の形態］
本実施の形態においては、プロジェクタのみのシステムを提示したが、プロジェクタが投射するスクリーンを、例えば液晶ディスプレイ等のプロジェクタ以外の表示デバイスを用いても良い。
【０１３２】
また本実施の形態においては、フロントプロジェクタとリアプロジェクタという、区分は特に設けていない。従って、フロントプロジェクタとリアプロジェクタを組み合わせて用いても良い。
【０１３３】
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また一つの機器からなる装置に適用しても良い。
【０１３４】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムを読み出して実行することによっても達成され得る。その場合、プログラムの機能を有していれば、形態は、プログラムである必要はない。
【０１３５】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明のクレームでは、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１３６】
プログラムを供給するための記録媒体としては、様々なものが使用できる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などである。
【０１３７】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページからハードディスク等の記録媒体にダウンロードすることによっても供給できる。その場合、ダウンロードされるのは、本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明のクレームに含まれるものである。
【０１３８】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布する形態としても良い。その場合、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムが実行可能な形式でコンピュータにインストールされるようにする。
【０１３９】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される形態以外の形態でも実現可能である。例えば、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【０１４０】
更に、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれるようにしてもよい。この場合、その後で、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１４１】
【図１】本発明の実施の形態で用いるシステム構成の一例を示す図である。
【図２】本実施の形態に係るマルチプロジェクタシステムにおけるデータの流れとソフトウェアモジュールとの関係を図示した図である。
【図３】本実施の形態に係るマルチプロジェクタシステムで投影される画像の一例を示す図である。
【図４】図２に示す各テーブルの一例を示す図である。
【図５】本実施の形態に係るマルチプロジェクタシステムにおける処理の全体を記述するフローチャートである。
【図６】図５のステップＳ５０６のオブジェクト選択処理を説明するフローチャートである。
【図７】図５のステップＳ５０７の合成オブジェクト作成処理の詳細を説明するフローチャートである。
【図８】図５のステップＳ５０８の合成オブジェクト再生処理を説明するフローチャートである。
【図９】本発明の実施の形態を詳細に説明するための、図３に示したデータと類似した各単色からなる７つのオブジェクトで構成されたストリームデータの一例を示す図である。
【図１０】本発明の実施の形態を説明するために用意したテーブルを説明する図である。
【図１１】図９の状態から、マウスポインタを用いて操作部でオブジェクト９０５を選択した状態を示す図である。
【図１２】ＤＥＶＩＮＦＯ（図１０（Ａ））の一行目が取り出されて処理を開始する前の変数エリアとテーブルＴＢＬの状態を説明する図である。
【図１３】ＤＥＶＩＮＦＯ（図１０（Ａ））の一行目が取り出されて変数エリアｄｅｖに格納された状態を説明する図である。
【図１４】ＤＥＶＩＮＦＯ（図１０（Ａ））の二行目が取り出されて処理を開始するときの変数エリアとテーブルＴＢＬの状態を説明する図である。
【図１５】ＤＥＶＩＮＦＯ（図１０（Ａ））の三行目が取り出されて処理を開始するときの変数エリアとテーブルＴＢＬの状態を説明する図である。
【図１６】ＤＥＶＩＮＦＯ（図１０（Ａ））の四行目が取り出されて処理を開始するときの変数エリアとテーブルＴＢＬの状態を説明する図である。
【図１７】オブジェクト９０５が選択されて、ＤＥＶＩＮＦＯ（図１０（Ａ））の最後のデータが取り出された状態を説明する図である。
【図１８】図６のステップＳ６０９で表示される表示例を示す図である。
【図１９】図１８の状態で、ユーザがマウスポインタで「ＰＲＯＪ１１３」を選択した後の各テーブル及び変数エリアの内容を示す図である。
【図２０】図１８の各オブジェクトに対するプロジェクタが割り当てられた後の各テーブル及び変数エリアの内容を示す図である。
【図２１】フレームバッファＢＵＦＦＥＲと一時バッファＴＭＰ及びＭＳＴＲＥＡＭの初期化状態を説明する図である。
【図２２】図７のステップＳ７１０で、一時バッファＴＭＰが更新された状態を示す図である。
【図２３】ステップＳ７１１で、オブジェクト９０２が一時バッファＴＭＰに描画された状態を示す図である。
【図２４】ステップＳ７１２で、一時バッファＴＭＰがフレームバッファ２１０２に重ね書きされた状態を示す図である。
【図２５】ステップＳ７１０で、オブジェクト９０５のマスクデータをＴＭＰに格納した状態を示す図である。
【図２６】ステップＳ７１２で、オブジェクト９０５をマスクした状態をフレームバッファ２１０２に重ね書きした状態を示す図である。
【図２７】プロジェクタ１１２に対して、図２０（Ｂ）のＺＴＢＬ上のオブジェクトの全てに対する処理を完了した後、合成オブジェクトＭＯＢＪ１を作成してＭＴＢＬを更新した状態を示す図である。
【図２８】プロジェクタ１１３に対して、図２０（Ｂ）のＺＴＢＬ上のオブジェクトの全てに対する処理を完了した後、合成オブジェクトＭＯＢＪ２を作成してＭＴＢＬを更新した状態を示す図である。
【図２９】プロジェクタ１１４に対して、図２０（Ｂ）のＺＴＢＬ上のオブジェクトの全てに対する処理を完了した後、合成オブジェクトＭＯＢＪ３を作成してＭＴＢＬを更新した状態を示す図である。
【図３０】図２０（Ａ）の四行目の「ＰＲＯＪ１１５」に対する処理を行った後ステップＳ７１４で書き出されたフレームバッファの内容、及びステップＳ７１５で更新されたテーブルＭＴＢＬを示す図である。
【図３１】図１０や図２０で示した各種テーブル類と、図３０に示すＭＳＴＲＥＡＭ２１９のうち、説明に必要なものを抜き出して示す図である
【図３２】図３１（Ｄ）の合成オブジェクトＭＯＢＪ３１０６をプロジェクタ１１２で表示する場合の図８のステップＳ８０６を実行した後の状態を示す図である。
【図３３】合成オブジェクトＭＯＢＪ３１０６を表示する際に図８のステップＳ８１５を実行した後の変数エリアやレンダラなどの状態を説明する図である。
【図３４】図３１（Ｄ）の合成オブジェクトＭＯＢＪ３１０７をプロジェクタ１１３で表示する場合の図８のステップＳ８０６を実行した後の状態を示す図である。
【図３５】図３１（Ｄ）の合成オブジェクトＭＯＢＪ３１０７をデフォルトのプロジェクタ１１４で表示する場合の図８のステップＳ８１２を実行した後の状態を示す図である。
【図３６】図３１（Ｄ）の合成オブジェクトＭＯＢＪ３１０７をデフォルトのプロジェクタ１１４で表示する場合の図８のステップＳ８１５を実行した後の状態を示す図である。
【図３７】図３１（Ｄ）の合成オブジェクトＭＯＢＪ３１０９をプロジェクタ１１５で表示すると決定した後、図８のステップＳ８１５を実行した後の状態を示す図である。
【図３８】この実施の形態に係るマルチプロジェクタシステムの概略構成を説明する図である。
【図１】
2009271134.tif 000003
【図２】
2009271134.tif 000004
【図３】
2009271134.tif 000005
【図４】
2009271134.tif 000006
【図５】
2009271134.tif 000007
【図６】
2009271134.tif 000008
【図７】
2009271134.tif 000009
【図８】
2009271134.tif 000010
【図９】
2009271134.tif 000011
【図１０】
2009271134.tif 000012
【図１１】
2009271134.tif 000013
【図１２】
2009271134.tif 000014
【図１３】
2009271134.tif 000015
【図１４】
2009271134.tif 000016
【図１５】
2009271134.tif 000017
【図１６】
2009271134.tif 000018
【図１７】
2009271134.tif 000019
【図１８】
2009271134.tif 000020
【図１９】
2009271134.tif 000021
【図２０】
2009271134.tif 000022
【図２１】
2009271134.tif 000023
【図２２】
2009271134.tif 000024
【図２３】
2009271134.tif 000025
【図２４】
2009271134.tif 000026
【図２５】
2009271134.tif 000027
【図２６】
2009271134.tif 000028
【図２７】
2009271134.tif 000029
【図２８】
2009271134.tif 000030
【図２９】
2009271134.tif 000031
【図３０】
2009271134.tif 000032
【図３１】
2009271134.tif 000033
【図３２】
2009271134.tif 000034
【図３３】
2009271134.tif 000035
【図３４】
2009271134.tif 000036
【図３５】
2009271134.tif 000037
【図３６】
2009271134.tif 000038
【図３７】
2009271134.tif 000039
【図３８】
2009271134.tif 000040