(57)【要約】【課題】ピクセルレート以下の動作速度でメモリを動作させることが可能な画像処理装置及びその画像処理装置を備えるマルチプロジェクションシステムを提供することを目的とする。【解決手段】それぞれ、４つのメモリから構成され、かつ、それぞれ、入力される１フレーム分の画素データを保持するフレームメモリ３１−１、３１−２と、１フレーム分の画素データを２×２の４つの画素データ毎に分けたときのその４つの画素データを１つずつ上記４つのメモリにそれぞれ書き込む書き込み制御部１６３と、１フレーム内の補正すべき位置に最も近い４つの画素を上記４つのメモリから読み出す読み出し制御部１６４と、読み出し制御部１６４により読み出された４つの画素データに対して４点補間を行ったり色や輝度の補正を行う補正部を備えて画像処理装置２を構成する。【選択図】図３
2008009299.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ、４つのメモリにより構成され、かつ、それぞれ、入力される１フレーム分の画素データを保持する複数のフレームメモリと、
１フレーム分の画素データを２×２の４つの画素データ毎に分けたときのその４つの画素データを１つずつ前記４つのメモリにそれぞれ書き込む書き込み制御手段と、
１フレームにおいて補正すべき位置に最も近い４つの画素データを前記４つのメモリから読み出す読み出し制御手段と、
前記読み出し制御手段により読み出された４つの画素データに対して補正を行う補正手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、
前記複数のフレームメモリは、２つのフレームメモリにより構成され、
前記２つのフレームメモリまたは前記２つのフレームメモリのうちの一方のフレームメモリと前記書き込み制御手段または前記読み出し制御手段とを接続させるセレクタと、
前記セレクタの動作を制御する制御手段と、
を備え、
前記制御手段は、１フレーム分の画素データが前記２つのフレームメモリそれぞれに交互に書き込まれると共に前記２つのフレームメモリのうち画素データの書き込みが行われていない方のフレームメモリから前記補正すべき位置に最も近い４つの画素データが読み出されるように、または、前記２つのフレームメモリそれぞれへの同一画素データの書き込みと前記２つのフレームメモリからの前記補正すべき位置に最も近い４つの画素データの読み出しとが交互に行われるように、前記セレクタの動作を制御する、
ことを特徴とする画像処理装置。
【請求項３】
請求項１に記載の画像処理装置であって、
前記複数のフレームメモリは、２つのフレームメモリにより構成され、
前記２つのフレームメモリと前記書き込み制御手段または前記読み出し制御手段とを接続させるセレクタと、
前記セレクタの動作を制御する制御手段と、
を備え、
前記制御手段は、前記２つのフレームメモリそれぞれへの同一画素データの書き込みと前記２つのフレームメモリからの前記補正すべき位置に最も近い４つの画素データの読み出しとが交互に行われるように前記セレクタの動作を制御すると共に、出力する１フレーム分の画素データが前記２つのフレームメモリから全て読み出される前に次に入力される１フレーム分の画素データが前記２つのフレームメモリから読み出されないように前記セレクタの動作を制御する、
ことを特徴とする画像処理装置。
【請求項４】
請求項１に記載の画像処理装置であって、
前記複数のフレームメモリは、２つのフレームメモリにより構成され、
前記２つのフレームメモリまたは前記２つのフレームメモリのうちの一方のフレームメモリと前記書き込み制御手段または前記読み出し制御手段とを接続させるセレクタと、
前記セレクタの動作を制御する制御手段と、
を備え、
前記制御手段は、前記２つのフレームメモリそれぞれへの同一画素データの書き込みと前記２つのフレームメモリからの前記補正すべき位置に最も近い４つの画素データの読み出しとが交互に行われるように前記セレクタの動作を制御しているとき、出力する１フレーム分の画素データが全て読み出される前に次に入力される１フレーム分の画素データが読み出されないように前記セレクタの動作を制御することができないと判断した場合、１フレーム分の画素データが前記２つのフレームメモリそれぞれに交互に書き込まれると共に前記２つのフレームメモリのうち画素データの書き込みが行われていない方のフレームメモリから前記補正すべき位置に最も近い４つの画素データが読み出されるように前記セレクタの動作を制御する、
ことを特徴とする画像処理装置。
【請求項５】
請求項１〜４の何れか１項に記載の画像処理装置であって、
前記複数のフレームメモリに書き込まれる前の画素データを一時的に保持する第１のメモリと、
前記補正手段により補正された後の画素データを一時的に保持する第２のメモリと、
を備えることを特徴とする画像処理装置。
【請求項６】
複数の画像をつなぎ１枚の画像を構成させるマルチプロジェクションシステムであって、
それぞれ、４つのメモリにより構成され、かつ、それぞれ、入力される１フレーム分の画素データを保持する複数のフレームメモリと、１フレーム分の画素データを２×２の４つの画素データ毎に分けたときのその４つの画素データを１つずつ前記４つのメモリにそれぞれ書き込む書き込み制御手段と、１フレームにおいて補正すべき位置に最も近い４つの画素データを前記４つのメモリから読み出す読み出し制御手段と、前記読み出し制御手段により読み出された４つの画素データに対して補正を行う補正手段とを備える画像処理装置と、
前記１枚の画像に基づいて前記補正すべき位置を取得し前記画像処理装置に送る補正位置取得手段と、
前記画像処理装置から送られる画素データに基づいて前記複数の画像をそれぞれ表示させる複数の画像表示手段と、
を備えることを特徴とするマルチプロジェクションシステム。
【請求項７】
請求項６に記載のマルチプロジェクションシステムであって、
前記複数のフレームメモリは、２つのフレームメモリにより構成され、
前記画像処理装置は、前記２つのフレームメモリまたは前記２つのフレームメモリのうちの一方のフレームメモリと前記書き込み制御手段または前記読み出し制御手段とを接続させるセレクタと、前記セレクタの動作を制御する制御手段とを備え、
前記制御手段は、１フレーム分の画素データが前記２つのフレームメモリそれぞれに交互に書き込まれると共に前記２つのフレームメモリのうち画素データの書き込みが行われていない方のフレームメモリから前記補正すべき位置に最も近い４つの画素データが読み出されるように、または、前記２つのフレームメモリそれぞれへの同一画素データの書き込みと前記２つのフレームメモリからの前記補正すべき位置に最も近い４つの画素データの読み出しとが交互に行われるように、前記セレクタの動作を制御する、
ことを特徴とするマルチプロジェクションシステム。
【請求項８】
請求項６に記載のマルチプロジェクションシステムであって、
前記複数のフレームメモリは、２つのフレームメモリにより構成され、
前記画像処理装置は、前記２つのフレームメモリと前記書き込み制御手段または前記読み出し制御手段とを接続させるセレクタと、前記セレクタの動作を制御する制御手段とを備え、
前記制御手段は、前記２つのフレームメモリそれぞれへの同一画素データの書き込みと前記２つのフレームメモリからの前記補正すべき位置に最も近い４つの画素データの読み出しとが交互に行われるように前記セレクタの動作を制御すると共に、１フレーム分の画素データが前記２つのフレームメモリから全て読み出される前に次に入力される１フレーム分の画素データが前記２つのフレームメモリから読み出されないように前記セレクタの動作を制御する、
ことを特徴とするマルチプロジェクションシステム。
【請求項９】
請求項６に記載のマルチプロジェクションシステムであって、
前記複数のフレームメモリは、２つのフレームメモリにより構成され、
前記画像処理装置は、前記２つのフレームメモリまたは前記２つのフレームメモリのうちの一方のフレームメモリと前記書き込み制御手段または前記読み出し制御手段とを接続させるセレクタと、前記セレクタの動作を制御する制御手段とを備え、
前記制御手段は、前記２つのフレームメモリそれぞれへの同一画素データの書き込みと前記２つのフレームメモリからの前記補正すべき位置に最も近い４つの画素データの読み出しとが交互に行われるように前記セレクタの動作を制御しているとき、１フレーム分の画素データが前記２つのフレームメモリから全て読み出される前に次に入力される１フレーム分の画素データが前記２つのフレームメモリから読み出されないように前記セレクタの動作を制御することができないと判断した場合、１フレーム分の画素データが前記２つのフレームメモリそれぞれに交互に書き込まれると共に前記２つのフレームメモリのうち画素データの書き込みが行われていない方のフレームメモリから前記補正すべき位置に最も近い４つの画素データが読み出されるように前記セレクタの動作を制御する、
ことを特徴とするマルチプロジェクションシステム。
【請求項１０】
請求項６〜９の何れか１項に記載のマルチプロジェクションシステムであって、
前記画像処理装置は、
前記複数のフレームメモリに書き込まれる前の画素データを一時的に保持する第１のメモリと、
前記補正手段により補正された後の画素データを一時的に保持する第２のメモリと、
を備えることを特徴とするマルチプロジェクションシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関し、特には、複数のプロジェクタを用いて１枚の画像を映し出すマルチプロジェクションシステムにおいて幾何補正を行う画像処理装置に関する。
【背景技術】
【０００２】
複数のプロジェクタを用いて１枚の画像を映し出すマルチプロジェクションシステムでは、各プロジェクタから出力される画像の互いの繋ぎ目が観察者に目立たない様にする必要がある。その為には、各プロジェクタから出力される画像の互いの重なり部分において画像の位置、色、または輝度などを互いにほぼ同じにする必要がある。この実現方法としては、例えば、各プロジェクタから出力される画像のそれぞれの位置ずれや歪みまたは色や輝度の違いなどを解消する様に画像処理装置により予め各プロジェクタから出力される画像を補正しておくことが提案されている。（例えば、 特許文献１参照）
図１６は、従来の画像処理装置を示す図である。
【０００３】
図１６に示す画像処理装置１６０は、シーケンサ１６１と、補正データメモリ１６２と、書き込み制御部１６３と、読み出し制御部１６４と、セレクタ１６５と、メモリ１６６と、補間部１６７と、乗算部１６８と、γ変換部１６９とを備えて構成されている。なお、メモリ１６６は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などで構成されているものとする。
【０００４】
上記シーケンサ１６１は、入力される同期信号Ｓ１に基づく制御信号Ｓ２を上記各部に出力すると共に同期信号Ｓ１を所定時間遅延させた同期信号Ｓ３を補正データメモリ１６２に出力する。
【０００５】
上記補正データメモリ１６２は、同期信号Ｓ３に基づいて読み出し制御部１６４、補間部１６７、乗算部１６８、及びγ変換部１６９にそれぞれ必要な補正データＰを出力する。
【０００６】
上記書き込み制御部１６３は、入力される画素データを制御信号Ｓ２に基づいてメモリ１６６に書き込む。
上記読み出し制御部１６４は、制御信号Ｓ２及び補正データＰに示される補正すべき位置に基づいて、その位置に最も近い４つの画素データをメモリ１６６から読み出す。
【０００７】
上記補間部１６７は、補正データＰに示される補正すべき位置に基づいて重み係数を決定し、その重み係数と制御信号Ｓ２に基づいて、メモリ１６６から読み出された４つの画素データに対して補間を行う。例えば、補間部１６７は、図１７に示すように、入力フレーム１７０を出力フレーム１７１に幾何補正する。
【０００８】
上記乗算部１６８は、制御信号Ｓ２及び補正データＰに基づいて、補間部１６７から出力された画素データに対してＲＧＢ毎にゲインを加える。これにより、各プロジェクタから出力される画像の互いの重なり部分において色むらの低減や色合わせを行うことができる。
【０００９】
上記γ変換部１６９は、制御信号Ｓ２及び補正データＰに基づいて、乗算部１６８から出力された画素データに対してプロジェクタの非線形特性を補正するための階調補正をＲ（Ｒｅｄ）、Ｇ（Ｇｒｅｅｎ）、Ｂ（Ｂｌｕｅ）毎に行う。
【００１０】
このように構成される画像処理装置１６０により、各プロジェクタから出力される画像の位置、色、または輝度などを互いに合わせることができる。
【特許文献１】特表２００３−５２２４９７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、上記画像処理装置１６０は、メモリ１６６からの画素データの読み出しの合間にメモリ１６６への画素データの書き込みを行う構成であるため、画素データの補正動作速度をピクセルレートとした場合、メモリ１６６の動作速度をピクセルレートよりも速くする必要がある。特に高解像度の画素データを補正する場合、ピクセルレートが速くなるため、メモリ１６６の動作速度をさらに速くする必要がある。そのため、メモリ１６６がそのような速い速度で動作できないと画素データに対して補正が行えなくなるという問題がある。
【００１２】
そこで、本発明では、ピクセルレート以下の動作速度でメモリを動作させることが可能な画像処理装置及びその画像処理装置を備えるマルチプロジェクションシステムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記の課題を解決するために本発明では、以下のような構成を採用した。
すなわち、本発明の画像処理装置は、それぞれ、４つのメモリにより構成され、かつ、それぞれ、入力される１フレーム分の画素データを保持する複数のフレームメモリと、１フレーム分の画素データを２×２の４つの画素データ毎に分けたときのその４つの画素データを１つずつ前記４つのメモリにそれぞれ書き込む書き込み制御手段と、１フレームにおいて補正すべき位置に最も近い４つの画素データを前記４つのメモリから読み出す読み出し制御手段と、前記読み出し制御手段により読み出された４つの画素データに対して補正を行う補正手段とを備える。
【００１４】
また、上記画像処理装置において、前記複数のフレームメモリを、２つのフレームメモリにより構成し、前記２つのフレームメモリまたは前記２つのフレームメモリのうちの一方のフレームメモリと前記書き込み制御手段または前記読み出し制御手段とを接続させるセレクタと、前記セレクタの動作を制御する制御手段とを備え、前記制御手段は、１フレーム分の画素データが前記２つのフレームメモリそれぞれに交互に書き込まれると共に前記２つのフレームメモリのうち画素データの書き込みが行われていない方のフレームメモリから前記補正すべき位置に最も近い４つの画素データが読み出されるように、または、前記２つのフレームメモリそれぞれへの同一画素データの書き込みと前記２つのフレームメモリからの前記補正すべき位置に最も近い４つの画素データの読み出しとが交互に行われるように、前記セレクタの動作を制御するように構成してもよい。
【００１５】
また、上記制御手段は、前記２つのフレームメモリそれぞれへの同一画素データの書き込みと前記２つのフレームメモリからの前記補正すべき位置に最も近い４つの画素データの読み出しとが交互に行われるように前記セレクタの動作を制御すると共に、出力する１フレーム分の画素データが前記２つのフレームメモリから全て読み出される前に次に入力される１フレーム分の画素データが前記２つのフレームメモリから読み出されないように前記セレクタの動作を制御するように構成してもよい。
【００１６】
また、上記制御手段は、前記２つのフレームメモリそれぞれへの同一画素データの書き込みと前記２つのフレームメモリからの前記補正すべき位置に最も近い４つの画素データの読み出しとが交互に行われるように前記セレクタの動作を制御しているとき、出力する１フレーム分の画素データが全て読み出される前に次に入力される１フレーム分の画素データが読み出されないように前記セレクタの動作を制御することができないと判断した場合、１フレーム分の画素データが前記２つのフレームメモリそれぞれに交互に書き込まれると共に前記２つのフレームメモリのうち画素データの書き込みが行われていない方のフレームメモリから前記補正すべき位置に最も近い４つの画素データが読み出されるように前記セレクタの動作を制御するように構成してもよい。
【００１７】
また、上記画像処理装置は、前記複数のフレームメモリに書き込まれる前の画素データを一時的に保持する第１のメモリと、前記補正手段により補正された後の画素データを一時的に保持する第２のメモリとを備えてもよい。
【００１８】
また、本発明の範囲は、複数の画像をつなぎ１枚の画像を構成させるマルチプロジェクションシステムであって、上記画像処理装置と、前記１枚の画像に基づいて前記補正すべき位置を取得し前記画像処理装置に送る補正位置取得手段と、前記画像処理装置から送られる画素データに基づいて前記複数の画像をそれぞれ表示させる複数の画像表示手段とを備えるマルチプロジェクションシステムにまで及ぶ。
【発明の効果】
【００１９】
本発明によれば、画像処理装置において、１フレーム分の画素データを保持するメモリをピクセルレート以下の動作速度で動作させることができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施形態を図面を用いて説明する。
図１は、本発明の実施形態のマルチプロジェクションシステムを示す図である。
図１に示すマルチプロジェクションシステム１は、画像処理装置２と、プロジェクタ３、４と、ドーム形状のスクリーン５と、デジタルカメラ６と、パーソナルコンピュータ７と、モニタ８とを備えて構成されている。なお、画像処理装置２にパーソナルコンピュータ７の機能をもたせてもよい。また、プロジェクタの数は２つに限定されない。また、スクリーン５の形状は、ドーム形状に限らない。例えば、フラット、フラット多面、円筒型、セミスフィア、半球、セミスフィア＋床面投影、同筒型３６０度等のスクリーンでも良い。また、プロジェクタ３、４は、例えば、透過型液晶プロジェクタ、ＬＣＯＳなどの反射型液晶プロジェクタ、ＤＭＤ素子を用いたＤＬＰプロジェクタ、ＬＥＤプロジェクタ、またはレーザスキャンプロジェクタなどが考えられる。
【００２１】
上記マルチプロジェクションシステム１は、プロジェクタ３、４からそれぞれスクリーン５へ画像の投射を行い、それぞれの画像を互いにつなぎスクリーン５上に１枚の大きな画像を構成させる。
【００２２】
このようなマルチプロジェクションシステム１では、上述したように、プロジェクタ３、４から投射されるそれぞれの画像がプロジェクタ３、４のそれぞれの投射位置のズレ、スクリーン５に対する投射像の歪み、または色特性などによりきれいにつなぐことができない場合がある。
【００２３】
そこで、各画像をきれいにつなぐために、例えば、以下のように各画像を幾何補正することが考えられる。
まず、パーソナルコンピュータ７から送られるテストパターン画像を画像処理装置２により２つに分割し、それら２つに分割されたテストパターン画像をそれぞれプロジェクタ３、４によりスクリーン５上に投射する。次に、スクリーン５上に投射されたテストパターン画像をデジタルカメラ６により撮影し、そのテストパターン撮像画像をパーソナルコンピュータ７に付随したモニタ８に表示する。なお、テストパターン画像は、例えば、図２Ａに示すように、規則的に特徴点（マーカ）２０が並んだ画像とする。
【００２４】
次に、ユーザ９は、モニタ８に表示されたテストパターン撮像画像を参照しながらパーソナルコンピュータ７を操作してテストパターン撮像画像中の特徴点の概略位置を指定する。パーソナルコンピュータ７は、特徴点の概略位置が指定されると、その概略位置に基づいて、図２Ｂに示すような各特徴点の検出範囲２１を設定し、その各検出範囲２１に基づいて正確な特徴点位置を検出する。その後、パーソナルコンピュータ７は、検出した特徴点位置に基づいてプロジェクタ３、４の位置合わせを行うための幾何補正データを算出し、その算出した幾何補正データを画像処理装置２に送る。
【００２５】
そして、画像処理装置２は、別途パーソナルコンピュータ７から送られてきたコンテンツ画像に対して分割処理や幾何補正データに基づく幾何補正処理を実行し、分割処理や幾何補正処理を実行した後の各画素データをプロジェクタ３、４にそれぞれ出力する。
【００２６】
これにより、つなぎ目なくきれいに貼り合わされた１枚の大きな画像をスクリーン５上に投射させることができる。
図３は、上記画像処理装置２の一例を示す図である。なお、図１６に示す構成と同じ構成には同じ符号を付している。
【００２７】
図３に示す画像処理装置２は、シーケンサ３０と、フレームメモリ３１と、セレクタ３２と、補正データメモリ１６２と、書き込み制御部１６３と、読み出し制御部１６４と、補間部１６７と、乗算部１６８と、γ変換部１６９とを備えて構成されている。
【００２８】
上記シーケンサ３０は、入力される画素データのピクセルレートと同じクロックレートの同期信号Ｓ１に基づいて上記各部に制御信号Ｓ２、同期信号Ｓ３、または制御信号Ｓ４を出力する。
【００２９】
上記書き込み制御部１６３は、制御信号Ｓ２に基づいて画素データをフレームメモリ３１に書き込む。
上記フレームメモリ３１は、互いに独立した２つのフレームメモリ３１−１、３１−２から構成され、フレームメモリ３１−１は、図４Ａに示すように、互いに独立した４つのメモリ３１−１Ａ〜３１−１Ｄから構成されている。また、フレームメモリ３１−２は、図４Ｂに示すように、互いに独立した４つのメモリ３１−２Ａ〜３１−２Ｄから構成されている。なお、メモリ３１−１Ａ〜３１−１Ｄ及びメモリ３１−２Ａ〜３１−２Ｄは、それぞれ、ＳＲＡＭなどで構成されているものとする。また、メモリ３１−１Ａ〜３１−１Ｄ及びメモリ３１−２Ａ〜３１−２Ｄは、それぞれ、アドレスバス、データバス、及び制御用バスを備え、書き込み制御部１６３及び読み出し制御部１６４は、メモリ３１−１Ａ〜３１−１Ｄやメモリ３１−２Ａ〜３１−２Ｄにそれぞれ並行にアクセスすることができるものとする。
【００３０】
上記セレクタ３２は、制御信号Ｓ４に基づいて、「書き込み制御部１６３とフレームメモリ３１−１との接続及び読み出し制御部１６４とフレームメモリ３１−２との接続」と、「書き込み制御部１６３とフレームメモリ３１−２との接続及び読み出し制御部１６４とフレームメモリ３１−１との接続」を、１フレーム毎に切り替える。
【００３１】
上記読み出し制御部１６４は、制御信号Ｓ２及び補正データＰに示される補正すべき位置に基づいて、その位置に最も近い４つの画素データをフレームメモリ３１−１またはフレームメモリ３１−２から読み出す。
【００３２】
上記補間部１６７は、補正データＰに示される補正すべき位置に基づいて重み係数を決定し、その重み係数と制御信号Ｓ２に基づいて、フレームメモリ３１−１またはフレームメモリ３１−２から読み出された４つの画素データに対して補間を行う。
【００３３】
上記乗算部１６８は、制御信号Ｓ２及び補正データＰに基づいて、補間部１６７から出力された画素データに対して色や輝度の補正を行うためにマトリックス演算を行う。例えば、乗算部１６８は、下記数１〜数３により画素データのＲ、Ｇ、Ｂに対してマトリックス演算を行いＲ１、Ｇ１、Ｂ１に変換する。
【００３４】
【数１】
2008009299.tif 000003
【００３５】
なお、Ｃｒｒ、Ｃｒｇ、及びＣｒｂはＲをＲ１に変換するための係数とする。
【００３６】
【数２】
2008009299.tif 000004
【００３７】
なお、Ｃｇｒ、Ｃｇｇ、及びＣｇｂはＧをＧ１に変換するための係数とする。
【００３８】
【数３】
2008009299.tif 000005
【００３９】
なお、Ｃｂｒ、Ｃｂｇ、及びＣｂｂはＢをＢ１に変換するための係数とする。
このマトリックス演算の目的は３つあり、１つは各プロジェクタから出力される画像内の輝度ムラを補正することであり、もう１つは各プロジェクタから出力されるそれぞれの画像の重なり部分の輝度が他の部分の輝度に比べて高くならないように重なり部分の輝度を落とし全体の画像が一様な輝度で表示されているように見せること（スムージング処理）であり、さらにもう１つは各プロジェクタから出力されるそれぞれの画像の間の色差や輝度差を補正することである。
【００４０】
上記γ変換部１６９は、制御信号Ｓ２及び補正データＰに基づいて、乗算部１６８から出力された画素データに対してプロジェクタの非線形特性を補正するための階調補正を行う。例えば、γ変換部１０は、画素毎、色毎にγテーブルを切り替えて補正を行ってもよい。
【００４１】
次に、フレームメモリ３１−１、３１−２へのアクセスについて説明する。
フレームメモリ３１−１、３１−２は、それぞれ、１フレーム分の画素データを保持することが可能な記憶容量をもっているものとする。また、上述したように、シーケンサ３０からの制御信号Ｓ４によりセレクタ３２の動作が制御され、１フレーム分の画素データ毎に書き込み動作と読み出し動作を交互に切り替えることができる。
【００４２】
図５Ａは、入力される１フレーム分の画素データＤ00〜Ｄmnのデータ配列を示す図である。また、図５Ｂは、メモリ３１−１Ａ〜３１−１Ｄにそれぞれ保存される画素データの各データ配列を示す図である。なお、メモリ３１−２Ａ〜３１−２Ｄにそれぞれ保存される画素データの各データ配列は、図５Ｂに示す各データ配列と同じとする。
【００４３】
図５Ｂに示すように、メモリ３１−１Ａは、図５Ａに示す１フレーム分の画素データのうち偶数ライン（例えば、Ｄ00、Ｄ02、Ｄ04、・・・、Ｄ0n-1）で、かつ、偶数画素（例えば、Ｄ00、Ｄ20、Ｄ40、・・・、Ｄm-10）に対応する画素データを保存する。すなわち、メモリ３１−１Ａは、図５Ａに示す１フレーム分の画素データを２×２の４つの画素データ毎に分けたときのその４つの画素データの左上の画素データを保存する。
【００４４】
また、メモリ３１−１Ｂは、図５Ａに示す１フレーム分の画素データのうち偶数ライン（例えば、Ｄ01、Ｄ03、Ｄ05、・・・、Ｄ0n）で、かつ、奇数画素（例えば、Ｄ01、Ｄ21、Ｄ41、・・・、Ｄm-11）に対応する画素データを保存する。すなわち、メモリ３１−１Ｂは、図５Ａに示す１フレーム分の画素データを２×２の４つの画素データ毎に分けたときのその４つの画素データの右上の画素データを保存する。
【００４５】
また、メモリ３１−１Ｃは、図５Ａに示す１フレーム分の画像データのうち奇数ライン（例えば、Ｄ10、Ｄ12、Ｄ14・・・、Ｄ1n-1）で、かつ、偶数画素（例えば、Ｄ10、Ｄ30、Ｄ50、・・・、Ｄm0）に対応する画素データを保存する。すなわち、メモリ３１−１Ｃは、図５Ａに示す１フレーム分の画素データを２×２の４つの画素データ毎に分けたときのその４つの画素データの左下の画素データを保存する。
【００４６】
また、メモリ３１−１Ｄは、図５Ａに示す画像データのうち奇数ライン（例えば、Ｄ11、Ｄ13、Ｄ15、・・・、Ｄ1n）で、かつ、奇数画素（例えば、Ｄ11、Ｄ31、Ｄ51、・・・、Ｄm1）に対応する画素データを保存する。すなわち、メモリ３１−１Ｄは、図５Ａに示す１フレーム分の画素データを２×２の４つの画素データ毎に分けたときのその４つの画素データの右下の画素データを保存する。
【００４７】
ここで、例えば、図１７に示すように、フレームを幾何補正する場合を考える。
図６Ａは、１フレーム内の補正すべき位置（Ｐ00、Ｐ01、Ｐ02、Ｐ03）を示す図である。また、図６Ｂは、補正すべき位置に最も近い４つの画素データを示す図である。また、図６Ｃは、補正後に出力される１フレーム分の画素データＰ00〜Ｐyxを示す図である。
【００４８】
図６Ａ〜図６Ｃに示すように、例えば、位置Ｐ00に最も近い４つの画素データは、Ｄ10、Ｄ11、Ｄ20、Ｄ21になる。そして、画素データＤ10はメモリ５−１Ｃに、画素データＤ11はメモリ３１−１Ｄに、画素データＤ20はメモリ５−１Ａに、画素データＤ21はメモリ３１−１Ｂにそれぞれ書き込まれる。すなわち、補正すべき任意の位置に最も近い４つの画像データを１つずつそれぞれ異なるメモリ３１−１Ａ〜３１−１Ｄに保持させることができるので、メモリ３１−１Ａ〜３１−１Ｄへの１回のアクセスでそれら４つの画素データを読み出すことができる。
【００４９】
また、例えば、セレクタ３２が図３に示すような状態のとき、書き込み制御部１６３とフレームメモリ３１−１とが接続され、読み出し制御部１６４とフレームメモリ３１−２とが接続される。このとき、入力される画素データは、書き込み制御部１６３及びセレクタ３２を介してフレームメモリ３１−１に順次書き込まれ、補正すべき位置に最も近い４つの画素データがセレクタ３２及び読み出し制御部１６４を介してフレームメモリ３１−２から並列に順次読み出される。１フレーム分の読み出しと書き込みが行われると、シーケンサ３２により接続が切り替えられ、書き込み制御部１６３とフレームメモリ３１−２とが接続されると共に読み出し制御部１６３とフレームメモリ３１−１とが接続される。これにより、読み出し制御部１６４は、新たな１フレーム分の画素データから補正すべき位置に最も近い４つの画素データを得ることができる。
【００５０】
このように、図２に示す画像処理装置２は、２つのフレームメモリで構成されるフレームメモリ３１への１回のアクセスで一方のフレームメモリへ画素データを書き込むと共に他方のフレームメモリから補正用の４つの画素データを読み出す構成であるため、フレームメモリ３１の動作速度をピクセルレートにすることができる。そのため、ピクセルレートの高い高解像度の画素データに対してもフレームメモリ３１の動作速度をピクセルレートよりも速くする必要がなくなる。
【００５１】
ところで、図３に示す画像処理装置２では、１フレーム単位で書き込みと読み出しとを切り替える構成であるため、必ず１フレーム分の遅延が生じる。しかし、シミュレーションなどを行う際においてユーザが操作した瞬間に画像が追従して変化して欲しい場合では、極力、画像補正処理系の遅延量を減らしたいという要求がある。この遅延量を減らすためには、書き込みと読み出しを同じフレームメモリに対して行う必要がある。
【００５２】
以下、書き込みと読み出しを同じフレームメモリに対して行うことが可能な本発明の他の実施形態の画像処理装置２の構成について説明する。
図７は、本発明の他の実施形態の画像処理装置２を示す図である。なお、図３に示す構成と同じ構成には同じ符号を付している。
【００５３】
図７に示す画像処理装置２において、図３に示す画像処理装置２と異なる点は、Ｓ／Ｐ変換部７０及びＰ／Ｓ変換部７１をさらに備えている点と、セレクタ３２の代わりにセレクタ７２、７３を備えている点である。
【００５４】
上記セレクタ７２、７３は、互いに同一の２つの画素データが並列にフレームメモリ３１−１、３１−２に書き込まれ、フレームメモリ３１−１、３１−２からそれぞれ補正すべき位置に最も近い４つの画素が並列に読み出されるように、書き込み制御部１６３とフレームメモリ３１−１、３１−２との接続及び読み出し制御部１６４とフレームメモリ３１−１、３１−２との接続を交互に切り替える。
【００５５】
このように、セレクタ７２、７３を動作制御することにより、フレーム単位でフレームメモリ３１を切り換えることなく補正を行うことができる。なお、このようにフレームメモリ３１−１、３１−２にそれぞれ同じ画素データを読み込む動作とフレームメモリ３１−１、３１−２からそれぞれ補正すべき位置に最も近い４つの画素データを読み出す動作を交互に切り替えるモードを、以下、可変遅延モードという。また、図７に示す画像処理装置２において、図３に示す画像処理装置２と同様に、１フレーム毎に書き込みと読み込みを交互に切り替えるモード（以下、フレーム遅延モードという）を行ってもよい。
【００５６】
次に、図７に示す画像処理装置２が可変遅延モードを行う際の画像処理装置２の動作について説明する。
図８Ａは、図７に示す画像処理装置２が可変遅延モードを行う際の画像処理装置２の動作について説明するための図である。
【００５７】
まず、Ｓ／Ｐ変換部７０は、１つずつ入力される画素データを２つずつ並列に書き込み制御部１６３に出力する。
次に、書き込み制御部１６３により、図８Ａに示すように、Ｓ／Ｐ変換部７０から出力される画素データが２つずつフレームメモリ３１−１、３１−２にそれぞれ書き込まれると、セレクタ７２、７３は、「書き込み制御部１６３とフレームメモリ３１−１、３１−２との接続」から「読み込み制御部１６４とフレームメモリ３１−１、３１−２との接続」に切り替える。そして、読み出し制御部１６４により、図８Ａに示すように、補正すべき任意の２つの位置にそれぞれ最も近い計８つの画素データがフレームメモリ３１−１、３１−２からそれぞれ読み出されると、セレクタ７２、７３は、「読み込み制御部１６４とフレームメモリ３１−１、３１−２との接続」から「書き込み制御部１６３とフレームメモリ３１−１、３１−２との接続」に切り替える。これらの動作を繰り返し行うと、フレームメモリ３１−１、３１−２のそれぞれの内容が互いに同じになる。
【００５８】
また、Ｐ／Ｓ変換部７１は、フレームメモリ３１−１、３１−２から読み出された８つの画素データを４つずつ並列に補間部１６７に出力する。
そして、以降の処理は図３に示す画像処理装置２の動作と同様であるため説明を省略する。
【００５９】
すなわち、図８Ｂに示すように、制御信号Ｓ２の２クロックのうち一方の１クロックで書き込み制御部１６３によりフレームメモリ３１−１、３１−２に１フレーム分の画素データのうちの一部の画素データ（２つの画素データ）が書き込まれ（Ｗｒ）、他方の１クロックで読み込み制御部１６４によりフレームメモリ３１−１、３１−２から補正すべき位置に対応する所定の画素データ（８つの画素データ）が読み出される（Ｒｄ）。
【００６０】
このように、図７に示す画像処理装置２は、フレームメモリ３１への２回のアクセスのうち一方のアクセスでフレームメモリ３１−１、３１−２にそれぞれ互いに同じ画素データを書き込み、他方のアクセスでフレームメモリ３１−１、３１−２から補正用の画素データを一度に読み出す構成であるため、図３に示す画像処理装置２と同様に、フレームメモリ３１の動作速度をピクセルレートにすることができる。そのため、ピクセルレートの高い高解像度の画素データに対してもフレームメモリ３１の動作速度をピクセルレートよりも速くする必要がなくなる。
【００６１】
次に、図７に示す画像処理装置２においてフレーム遅延モードを実施する場合について説明する。
図９Ａは、フレーム遅延モードの動作について説明するための図である。
【００６２】
まず、Ｓ／Ｐ変換部７０は、１つずつ入力される画素データを２つずつ並列に書き込み制御部１６３へ出力する。
次に、図９Ａに示すように、書き込み制御部１６３は、Ｓ／Ｐ変換部７０から出力される画素データを２つずつフレームメモリ３１−１に書き込むと共に、読み出し制御部１６４は、フレームメモリ３１−２から補正すべき位置に最も近い４つの画素データを読み出す。次に、セレクタ７２、７３は、１フレーム分の画素データがフレームメモリ３１−１に書き込まれると、「書き込み制御部１６３とフレームメモリ３１−１との接続及び読み出し制御部１６４とフレームメモリ３１−２との接続」から「書き込み制御部１６３とフレームメモリ３１−２との接続及び読み込み制御部１６４とフレームメモリ３１−１との接続」に切り替える。このとき、フレームメモリ３１−１には１フレーム分の画素データが書き込まれている。次に、セレクタ７２、７３により書き込み制御部１６３の接続先及び読み出し制御部１６４の接続先が切り替えられると、図９Ａに示すように、書き込み制御部１６３は、Ｓ／Ｐ変換部７０から出力される画素データを２つずつフレームメモリ３１−２に書き込むと共に、読み出し制御部１６４は、フレームメモリ３１−１から補正すべき位置に最も近い４つの画素データを読み出す。そして、セレクタ７２、７３は、１フレーム分の画素データがフレームメモリ３１−２に書き込まれると、「書き込み制御部１６３とフレームメモリ３１−２との接続及び読み込み制御部１６４とフレームメモリ３１−１との接続」から「書き込み制御部１６３とフレームメモリ３１−１との接続及び読み出し制御部１６４とフレームメモリ３１−２との接続」に切り替える。これらの動作を繰り返し行うと、フレームメモリ３１−１、３１−２に交互に１フレーム分の画素データが保持される。
【００６３】
また、Ｐ／Ｓ変換部７１は、読み出し制御部１６４から送られる４つの画素データを補間部１６７に出力する。
そして、以降の処理は図３に示す画像処理装置２の動作と同様であるため説明を省略する。
【００６４】
すなわち、図９Ｂに示すように、制御信号Ｓ２の１クロックおきに書き込み制御部１６３により１フレーム分の画素データのうちの一部の画素データ（２つの画素データ）がフレームメモリ３１−１（またはフレームメモリ３１−２）に書き込まれ（Ｗｒ）、制御信号Ｓ２の１クロック毎にアドレスが更新され読み込み制御部１６４によりフレームメモリ３１−２（またはフレームメモリ３１−１）から補正すべき位置に対応する画素データ（４つの画素データ）が読み出される（Ｒｄ）。
【００６５】
次に、本発明のさらに他の実施形態の画像処理装置２について説明する。
図１０は、本発明のさらに他の実施形態の画像処理装置２を示す図である。なお、図７に示す構成と同じ構成には同じ符号を付している。
【００６６】
図１０に示す画像処理装置２において、図７に示す画像処理装置２と異なる点は、入力段及び出力段にそれぞれラインメモリ１００を備え、Ｓ／Ｐ変換部７０と書き込み制御部１６３との間にバッファ１０１を備え、読み出し制御部１６４とＰ／Ｓ変換部７１との間にバッファ１０２を備えている点である。なお、ラインメモリ１００への書き込み速度は制御信号Ｓ２のクロックレートとし、ラインメモリ１００からの読み出し速度は制御信号Ｓ２のクロックレートを水平のブランキング期間分低速にしたクロックレートとする。このクロックの周波数は水平周波数の、有効画素倍以上のクロック周波数であればよく、入力のピクセルレートよりも遅い周波数でもよい。例えば、ＵＸＧＡ（１６００×１２００画素）６０Ｈｚの画像では、ピクセルレートは約１６０ＭＨｚであるが、水平ブランキング期間も使うことにより約１２０ＭＨｚにクロックを下げることができる。
【００６７】
上記ラインメモリ１００は、少なくとも３ラインのラインバッファＬＭ（１）〜ＬＭ（３）を備えて構成され、図１１に示すように、１ラインバッファ毎に画素データが順次書き込まれ、２つのラインバッファへの画素データの書き込みが終わったところで、その２つのラインバッファのデータから並列に画素データが読み出される。
【００６８】
次に、図１０に示す画像処理装置２の動作を説明する。
まず、図１２のＬＭ  Ｒｅａｄに示すように、制御信号Ｓ２の８クロックのうちの４クロックにおいて画素データが２つずつ、すなわち、計８つの画素データが入力段のラインメモリ１００から読み出される。
【００６９】
次に、読み出された８つの画像データは、Ｓ／Ｐ変換部７０により４つずつの画素データにされバッファ１０１に一旦貯められる。
次に、図１２のＦＭ  Ｗｒｉｔｅに示すように、書き込み制御部１６３により制御信号Ｓ２の８クロックのうちの２クロックにおいて４つずつの画素データ、すなわち、計８つの画素データがフレームメモリ３１−１に書き込まれる。また、図１２のＦＭ  Ｒｅａｄに示すように、読み出し制御部１６４により制御信号Ｓ２の８クロックのうちの４クロックにおいて補正すべき位置に最も近い４つの画素データが２組ずつ読み出されて、計３２の画素データがバッファ１０２に一旦貯められる。
【００７０】
次に、図１２のＰ／Ｓ  ＯＵＴに示すように、Ｐ／Ｓ変換部７１によりバッファ１０２に貯められた計３２の画素データが制御信号Ｓ２の１クロック毎に４つずつの画素データにされ補間部１６７に出力される。
【００７１】
次に、補間部１６７で補間された画素データに対して乗算部１６８やγ変換部１６９において図３に示す画像処理装置２と同様の補正が行われ、後段のラインメモリ１００に格納される。
【００７２】
そして、後段のラインメモリ１００から制御信号Ｓ２のクロックレートで画素データが出力される。
図１０に示す画像処理装置２では、制御信号Ｓ２の８クロックのうちの２クロックでフレームメモリ３１−１、３１−２に画素データ（８つの画素データ）が書き込まれ、制御信号Ｓ２の８クロックのうちの４クロックでフレームメモリ３１−１、３１−２から画素データ（３２の画素データ）が読み出される構成であるため、制御信号Ｓ２の８クロックのうちの２クロック分の余裕が発生する。そのため、この２クロック分を各メモリの書き込み／読み出しのバスの切り替えに当てることにより、そのバスの切り替えタイミングの余裕が増し、制御が大変楽になるという効果を得ることができる。
【００７３】
また、図１０に示す画像処理装置２では、入力段及び出力段にそれぞれラインメモリ１００を備える構成であるため、フレームとフレームとの間のブランキング分を使って、制御信号Ｓ２のクロックレートを遅くできるので、高速処理が苦手なフレームメモリをフレームメモリ３１−１、３１−２として使用することができる。
【００７４】
次に、図１３Ａに示すように、幾何補正によりフレームを回転させる場合を説明する。なお、図１３Ａにおいて、破線は入力されるフレームを示し、実線は幾何補正後に出力されるフレームを示している。また、入力フレームと出力フレームとが重なっていない部分はデータが無いため黒色を出力し、その部分は別のプロジェクタで表示するものとする。また、この幾何補正は可変遅延モードで処理するものとする。
【００７５】
図１３Ｂは、フレームが入力されるタイミングと幾何補正後のフレームが出力されるタイミングを示す図である。なお、図１３Ｂにおいて、上から下に向かう方向は時間を示しており、左側はフレーム１が入力され、Ｖブランクの後、次のフレーム２が入力される様子を示し、右側は幾何補正後のフレーム１が出力されるタイミングを示している。
【００７６】
図１３Ａに示すようにフレーム１を回転させて出力する場合では、幾何補正後のフレーム１は、☆部分から出力されるため、☆部分のフレーム１が入力されるまでに既に入力されたデータに対して幾何補正の処理を遅延させる必要がある。しかしながら、図１３Ｂに示す例では、○部分の幾何補正の処理を行おうとしたとき、すでに次のフレーム２の●部分が入力されているので、その●部分の補正後のデータがフレーム１の○部分の補正後のデータの代わりに出力されている。このように、１つの出力フレームにおいて、互いに異なるフレームが出力されると、見苦しい画像（以下、追い越し画像という）になってしまう。このような状態になったときは、可変遅延モードからフレーム遅延モードに切り替え、１フレーム毎に幾何補正を行うことが考えられる。
【００７７】
図１３Ｃは、追い越し画像の発生条件を説明するための図である。なお、入出力を同時に行ったと仮定する。
出力フレームよりも遅く入力される（以下、プラス側という）画素データで、その差の最大値を遅延時間Ｔｄとする。すなわち、補正対象の画素データが入力されるまでにかかる時間とその画素データが出力されるまでにかかる時間との差の最大値を遅延時間Ｔｄとする。
【００７８】
また、出力フレームよりも速く入力される（以下、マイナス側という）画素データで、その差の最大値を保持時間Ｔｈとする。すなわち、補正対象の画素データが出力されるまでにかかる時間とその画素データが入力されるまでにかかる時間との差の最大値を保持時間Ｔｈとする。
【００７９】
図１３Ｃに示す例では、出力フレームにおいて☆部分が最も速く出力され、○部分が最も遅く出力される。ここで、出力フレームの開始を遅延時間Ｔｄ遅らせたとすると、入力フレームの全体の保持時間Ｔは、遅延時間Ｔｄ＋保持時間Ｔｈとすることができる。これにより、この保持時間Ｔが１フレームの入力時間を超えると、次のフレームがフレームメモリ３１−１、３１−２に書き込まれてしまうので、追い越し画像が発生する。すなわち、幾何補正を行うための補正データをスキャンすることによりプラス側の最大値及びマイナス側の最大値を求め、それらの和が１フレームの入力時間を超えているか否かを判断することで追い越し画像が発生するか否かを検出することができる。
【００８０】
例えば、プラス側は、フレームメモリ３１−１またはフレームメモリ３１−２から読み出される４つの画素データのうち右下の画素データを用い、マイナス側は、フレームメモリ３１−１またはフレームメモリ３１−２から読み出される４つの画素データのうち左上の画素データを用いて計算する。但し、その４つの画素データそれぞれが有効画素データ以外にある場合、有効画素データのうちの他の画素データを用い、全ての画素が有効画素以外の場合、比較処理をしない。また、厳密に遅延時間Ｔｄを求める場合は、水平方向のブランキング時間を含めて計算することが望ましい。
【００８１】
また、例えば、計算を簡単にするために、遅延時間Ｔｄや保持時間Ｔｈとして垂直方向の時間のみを求め、その求めた時間に誤差分として１ライン分の垂直方向の時間を加え、遅延時間Ｔｄ＋保持時間Ｔｈが１フレームの入力時間を超えるか否かを判断することで追い越し画像が発生するか否かを検出してもよい。
【００８２】
また、例えば、追い越し画像が発生することを検出した場合は、可変遅延モードからフレーム遅延モードに切り替えるようにしてもよい。また、追い越し画像が発生しない場合は、フレームの出力タイミングが遅延時間Ｔｄ分遅延するようにセレクタ３０を動作させて可変遅延モードに設定すればよい。
【００８３】
また、例えば、追い越し画像が発生することを検出した場合、あるメッセージを表示したり、ある範囲の画素（例えば、上位３０画素）またはその画素の周囲の色を変えたり輝度を変えたりすることによりユーザに追い越し画像が発生することを知らせ、ユーザによるプロジェクタ設置の補助を行ってもよい。
【００８４】
図１４は、図７に示す画像処理装置２または図１０に示す画像処理装置２に備えられ、遅延時間Ｔｄ及び保持時間Ｔｈを計算する時間計算部を示す図である。なお、この時間計算部は、例えば、図１に示す画像処理装置２またはパーソナルコンピュータ７に備えられているものとする。
【００８５】
図１４に示す時間計算部１４０は、幾何パラメータリード１４１と、幾何パラメータメモリ１４２と、遅延部１４３と、カウンタ１４４と、遅延部１４５と、遅延時間計算部１４６と、保持時間計算部１４７と、最大値検出部１４８、１４９と、レジスタ１５０、１５１と、比較部１５２、１５３とを備えて構成されている。
【００８６】
上記幾何パラメータリード１４１は、制御信号Ｓ２に基づいてリセットし、補正データＰのリクエスト信号ｒｅｑに基づいて順次幾何パラメータメモリ１４２から幾何補正データを読み出して遅延回路１４３を介して読み出し制御部１６４や補間部１６７に出力する。なお、幾何補正データは、プロジェクタ３、４により投射されたときの位置データ、すなわち、上記補正すべき位置（例えば、上記Ｐ00）であり、幾何補正データの整数部がその位置データに最も近い４つの画素データのうちの左上の画素データに対応し、幾何補正データの小数点以下を重み係数とする。
【００８７】
上記カウンタ１４４は、制御信号Ｓ２に基づいてリセットし、リクエスト信号ｒｅｑをカウントして出力画素位置（Ｘｐ、Ｙｐ）を求める。なお、Ｘｐは水平位置、Ｙｐは垂直位置とする。例えば、カウンタ１４４は、Ｘｐが不図示のＣＰＵにより設定される水平有効画素数になったらＸｐをリセットしＹｐをインクリメントすることにより、リクエスト信号ｒｅｑに対応する出力画素位置（Ｘｐ、Ｙｐ）を求める。また、カウンタ１４４は、この出力画素位置（Ｘｐ、Ｙｐ）を、遅延部１４５を介して、幾何パラメータリード１４１からの幾何補正データとタイミングを合わせて遅延時間計算部１４６及び保持時間計算部１４７にそれぞれ出力する。
【００８８】
上記遅延時間計算部１４６は、入出力を完全同期した際に、補正に必要な画素が出力画素よりも何クロック前にくるかを計算し、そのクロック数を遅延時間ＤＬとする。
例えば、遅延時間計算部１４６は、以下のように遅延時間ＤＬを計算する。なお、補正すべき位置に最も近い４つの画素データのうち左上の画素データの位置を（Ｘｄｐ、Ｙｄｐ）、右上の画素データの位置を（Ｘｄｐ＋１、Ｙｄｐ）、左下の画素データの位置を（Ｘｄｐ、Ｙｄｐ＋１）、右下の画素データの位置を（Ｘｄｐ＋１、Ｙｄｐ＋１）とする。
【００８９】
まず、下記（１）〜（３）及び（４）〜（６）の条件に基づいて、補正に使う画素データとして有効画素のうち最も速く入力される画素位置（Ｘ、Ｙ）を求める。なお、有効画素範囲以外では無効画素フラグをたて処理を無効にする。
（水平方向の判断）
（１）Ｘｄｐ＝−１のときＸ＝０とする。
（２）Ｘｄｐ＜Ｈａ−１のときＸ＝Ｘｄｐ＋１とする。
（３）その他の画素は無効画素とする。
なお、Ｘｄｐが有効画素でないとき−１とする。また、Ｈａは水平有効画素数とし例えばＣＰＵにより設定されるものとする。
（垂直方向の判断）
（４）Ｙｄｐ＝−１のときＹ＝０とする。
（５）Ｙｄｐ＜Ｖａ−１のときＹ＝Ｙｄｐ＋１とする。
（６）その他の画素は無効画素とする。
なお、Ｙｄｐが有効画素でないとき−１とする。また、Ｖａは垂直有効画素数とし例えばＣＰＵにより設定されるものとする。
【００９０】
次に、求めた画素位置（Ｘ、Ｙ）を使って下記の式により遅延時間ＤＬを計算する。
（遅延時間ＤＬの計算）
ＤＬ＝（Ｈｔ×Ｙ＋Ｘ）−（Ｈｔ×Ｙｐ＋Ｘｐ）
なお、Ｈｔは水平周期（ブランキングを含んだクロック数）とし例えばＣＰＵにより設定されるものとする。また、無効画素の場合、ＤＬはゼロとする。
【００９１】
上記保持時間計算部１４７は、入出力を完全同期した際に、補正に必要な画素が出力画素よりも何クロック後にくるかを計算し、そのクロック数を保持時間Ｈとする。
例えば、保持時間計算部１４７は、以下のように保持時間Ｈを計算する。
【００９２】
まず、下記（７）〜（９）及び（１０）〜（１２）の条件に基づいて、補正に使う画素として有効画素のうち最も遅く入力される画素位置（Ｘｈ、Ｙｈ）を求める。なお、有効画素範囲以外では無効画素フラグをたて処理を無効にする。
（水平方向の判断）
（７）Ｘｄｐ＝−１のときＸｈ＝０とする。
（８）Ｘｄｐ＜ＨａのときＸｈ＝Ｘｄｐとする。
（９）その他の画素は無効画素とする。
（垂直方向の判断）
（１０）Ｙｄｐ＝−１のときＹｈ＝０とする。
（１１）Ｙｄｐ＜ＶａのときＹｈ＝Ｙｄｐとする。
（１２）その他の画素は無効画素とする。
【００９３】
次に、求めた画素位置（Ｘｈ、Ｙｈ）を使って下記の式により保持時間Ｈを計算する。
（保持時間Ｈの計算）
Ｈ＝（Ｈｔ×Ｙｐ＋Ｘｐ）−（Ｈｔ×Ｙｈ＋Ｘｈ）
なお、無効画素の場合、Ｈはゼロとする。
【００９４】
上記最大値検出部１４８は、遅延時間計算部１４６からの遅延時間ＤＬのうち最大値である遅延時間Ｔｄを保持する。
上記最大値検出部１４９は、保持時間計算部１４７からの保持時間Ｈのうち最大値である保持時間Ｔｈを保持する。
【００９５】
例えば、最大値検出部１４８、１４９は、それぞれ、制御信号Ｓ２に基づいてゼロにセットし、入力データが保持データよりも大きいとき、その入力データを保持データとして更新する。すなわち、この保持データが遅延時間Ｔｄまたは保持時間Ｔｈとなる。
【００９６】
上記レジスタ１５０は、制御信号Ｓ２に基づいて最大値検出部１４８からの遅延時間Ｔｄをラッチする。
上記レジスタ１５１は、制御信号Ｓ２に基づいて最大値検出部１４９からの保持時間Ｔｈをラッチする。
【００９７】
これにより、不図示のＣＰＵは、レジスタ１５０、１５１から遅延時間Ｔｄ及び保持時間Ｔｈを読み出すことができ、遅延時間Ｔｄと保持時間Ｔｈとの加算値が１フレームの入力にかかる時間よりも小さければ可変遅延モードで幾何補正処理が可能と判断することができる。なお、出力フレームの同期遅延量Ｄｍとして、遅延時間Ｔｄと、補正のための画素データ読み出しから各種補正が終了するまでの処理遅延時間とを加算した値を設定し、その同期遅延量Ｄに基づいてセレクタ３０を動作させて可変遅延モードによりフレームメモリ３１−１、３１−２にアクセスしてもよい。
【００９８】
また、このＣＰＵは、遅延時間Ｔｄと保持時間Ｔｈとの加算値が１フレームの入力にかかる時間よりも大きいと判断した場合、遅延時間Ｔｄと保持時間Ｔｈとの中央を中心に考えたときに破綻する遅延時間、保持時間を、それぞれ、遅延時間リミット値、保持時間リミット値として比較部１５２、１５３に出力し、比較部１５２は、その遅延時間リミット値と遅延時間ＤＬとの比較を行い、遅延時間ＤＬの方が大きければエラーフラグＤｆをたて、比較部１５３は、その保持時間リミット値と保持時間Ｈとの比較を行い、保持時間Ｈの方が大きければエラーフラグＨｆをたてるようにしてもよい。このエラーフラグＤｆやエラーフラグＨｆにより、後段の補正処理において、対応する画素の明るさを変えたり、色を付けるなどの処理を行い、ユーザに問題部分を確認させることができる。
【００９９】
なお、遅延部１４５は、幾何補正データの出力タイミングと、エラーフラグＤｆまたはエラーフラグＨｆの出力タイミングとを合わせるためのものである。
また、遅延時間リミット値は、例えば、（遅延時間Ｔｄ）−（保持時間Ｔｈ）＋（１フレームの入力にかかる時間Ｆ）／２により求めてもよい。
【０１００】
また、保持時間リミット値は、例えば、（保持時間Ｔｈ）−（遅延時間Ｔｄ）＋（１フレームの入力にかかる時間Ｆ）／２により求めてもよい。
次に、幾何補正を可変遅延モード及びフレーム遅延モードのうちどちらのモードで行うかを判断する場合の不図示のＣＰＵの動作を示すフローチャートである。なお、この不図示のＣＰＵは、例えば、図１に示す画像処理装置またはパーソナルコンピュータ７に備えられているものとする。
【０１０１】
まず、幾何補正（キャリブレーション）の指示が入力されると（ステップＳ１）、上記時間計算部１４０により遅延時間Ｔｄ及び保持時間Ｔｈを検出する（ステップＳ２）。
次に、遅延時間Ｔｄと保持時間Ｔｈとの加算値が１フレームの入力にかかる時間よりも大きいか否かを判断する（ステップＳ３）。
【０１０２】
遅延時間Ｔｄと保持時間Ｔｈとの加算値が１フレームの入力にかかる時間よりも大きくないと判断した場合（ステップＳ３がＮｏ）、出力フレームの同期遅延量Ｄｍを設定し（ステップＳ４）、フレームメモリ３１−１、３１−２のアクセスモードとして可変遅延モードを設定する（ステップＳ５）。
【０１０３】
一方、遅延時間Ｔｄと保持時間Ｔｈとの加算値が１フレームの入力時間よりも大きいと判断した場合（ステップＳ３がＹｅｓ）、エラー表示を行い（ステップＳ６）、フレームメモリ３１−１、３１−２のアクセスモードとしてフレーム遅延モードが指示されたか否かを判断する（ステップＳ７）。
【０１０４】
フレームメモリ３１−１、３１−２のアクセスモードとしてフレーム遅延モードが指示されたと判断した場合（ステップＳ７がＹｅｓ）、フレームメモリ３１−１、３１−２のアクセスモードとしてフレーム遅延モードを設定し（ステップＳ８）、終了する。
【０１０５】
一方、フレームメモリ３１−１、３１−２のアクセスモードとしてフレーム遅延モードが指示されていないと判断した場合（ステップＳ７がＮｏ）、フレームメモリ３１−１、３１−２のアクセスモードとして可変遅延モードが指示されたか否かを判断する（ステップＳ９）。
【０１０６】
フレームメモリ３１−１、３１−２のアクセスモードとして可変遅延モードが指示されたと判断した場合（ステップＳ９がＹｅｓ）、フレームメモリ３１−１、３１−２のアクセスモードとして可変遅延モードを設定し（ステップＳ１０）、ユーザにより調整された同期遅延量Ｄｍが適正であると判断すると（ステップＳ１１、Ｓ１２）、終了する。
【０１０７】
一方、フレームメモリ３１−１、３１−２のアクセスモードとして可変遅延モードが指示されていないと判断した場合（ステップＳ９がＮｏ）、エラー位置の表示が指示されたか否かを判断する（ステップＳ１３）。
【０１０８】
エラー位置の表示が指示されたと判断すると（ステップＳ１３がＹｅｓ）、エラー位置を表示し、ユーザにより調整されたプロジェクタの設置位置が適正であると判断すると（ステップＳ１４、Ｓ１５）、終了する。なお、このとき、ユーザによるプロジェクタの設置の補助のために、遅延時間Ｔｄ及び保持時間Ｔｈを表示させてもよい。
【０１０９】
一方、エラー位置の表示が指示されていないと判断すると（ステップＳ１３がＮｏ）、所定時間が経過したか否かを判断する（ステップＳ１６）。
所定時間が経過したと判断した場合（ステップＳ１６がＹｅｓ）、フレームメモリ３１−１、３１−２のアクセスモードとしてフレーム遅延モードを設定し（ステップＳ１７）、終了する。
【０１１０】
一方、所定時間が経過していないと判断した場合（ステップＳ１６がＮｏ）、ステップＳ５に戻る。
なお、上記実施形態では、フレームメモリ３１が２つのフレームメモリ３１−１、３１−２により構成されているが、フレームメモリ３１を３つ以上のフレームメモリにより構成してもよい。このように構成する場合、シーケンサ３０は、３つ以上のフレームメモリのうち１フレーム分の画素データの読み出しが終了した所定フレームメモリに１フレーム分の画素データが書き込まれると共に３つ以上のフレームメモリのうち１フレーム分の画素データの書き込みが終了したフレームメモリから補正すべき位置に最も近い４つの画素データが読み出されるように（フレーム遅延モード）、または、３つ以上のフレームメモリそれぞれへの同一画素データの書き込みと３つ以上のフレームメモリからの補正すべき位置に最も近い４つの画素データの読み出しとが交互に行われるように（可変遅延モード）、セレクタ７３、７４の動作を制御する。なお、この場合の追い越し画像を発生させないようにするためのシーケンサ３０の動作は、上述の動作と同様であるため説明を省略する。
【図面の簡単な説明】
【０１１１】
【図１】本発明の実施形態のマルチプロジェクションシステムを示す図である。
【図２Ａ】テストパターンの一例を示す図である。
【図２Ｂ】テストパターン内の各特徴点の範囲を示す図である。
【図３】本発明の実施形態の画像処理装置を示す図である。
【図４Ａ】フレームメモリの構成例を示す図である。
【図４Ｂ】フレームメモリの構成例を示す図である。
【図５Ａ】入力される１フレーム分の画素データのデータ配列を示す図である。
【図５Ｂ】フレームメモリが備える４つのメモリにそれぞれ保持される画素データの各データ配列を示す図である。
【図６Ａ】１フレーム内の補正すべき位置を示す図である。
【図６Ｂ】補正すべき位置に最も近い４つの画素データを示す図である。
【図６Ｃ】補正後に出力される１フレームを示す図である。
【図７】本発明の他の実施形態の画像処理装置を示す図である。
【図８Ａ】可変遅延モードにおける画素データの入出力を模式的に示す図である。
【図８Ｂ】可変遅延モードにおける書き込みタイミング及び読み出しタイミングを示す図である。
【図９Ａ】フレーム遅延モードにおける画素データの入出力を模式的に示す図である。
【図９Ｂ】フレーム遅延モードにおける書き込みタイミング及び読み出しタイミングを示す図である。
【図１０】本発明のさらに他の実施形態の画像処理装置を示す図である。
【図１１】ラインメモリの書き込みタイミング及び読み出しタイミングを示す図である。
【図１２】本発明のさらに他の実施形態の画像処理装置のフレームメモリにおける書き込みタイミング及び読み出しタイミングを示す図である。
【図１３Ａ】幾何補正の一例を示す図である。
【図１３Ｂ】１フレーム分の画素データの入力タイミング及び幾何補正後の１フレーム分の画素データの出力タイミングを示す図である。
【図１３Ｃ】遅延時間及び保持時間を示す図である。
【図１４】時間計算部を示す図である。
【図１５】フレーム遅延モード、可変遅延モードの切替動作を説明するためのフローチャートである。
【図１６】従来の画像処理装置を示す図である。
【図１７】入力フレーム及び幾何補正後の出力フレームを示す図である。
【符号の説明】
【０１１２】
１  マルチプロジェクションシステム
２  画像処理装置
３  プロジェクタ
４  プロジェクタ
５  スクリーン
６  デジタルカメラ
７  パーソナルコンピュータ
８  モニタ
９  ユーザ
３０  シーケンサ
３１−１  フレームメモリ
３１−２  フレームメモリ
３１−１Ａ〜３１−１Ｄ  メモリ
３１−２Ａ〜３１−２Ｄ  メモリ
３２  セレクタ
７０  Ｓ／Ｐ変換部
７１  Ｐ／Ｓ変換部
７２  セレクタ
７３  セレクタ
１００  ラインメモリ
１０１  バッファ
１０２  バッファ
１４０  時間計算部
１４１  幾何パラメータリード
１４２  幾何パラメータメモリ
１４３  遅延部
１４４  カウンタ
１４５  遅延部
１４６  遅延時間計算部
１４７  保持時間計算部
１４８  最大値検出部
１４９  最大値検出部
１５０  レジスタ
１５１  レジスタ
１５２  比較部
１５３  比較部
１６０  画像処理装置
１６１  シーケンサ
１６２  補正データメモリ
１６３  書き込み制御部
１６４  読み出し制御部
１６５  セレクタ
１６６  メモリ
１６７  補間部
１６８  乗算部
１６９  γ変換部
【図１】
2008009299.tif 000006
【図２Ａ】
2008009299.tif 000007
【図２Ｂ】
2008009299.tif 000008
【図３】
2008009299.tif 000009
【図４Ａ】
2008009299.tif 000010
【図４Ｂ】
2008009299.tif 000011
【図５Ａ】
2008009299.tif 000012
【図５Ｂ】
2008009299.tif 000013
【図６Ａ】
2008009299.tif 000014
【図６Ｂ】
2008009299.tif 000015
【図６Ｃ】
2008009299.tif 000016
【図７】
2008009299.tif 000017
【図８Ａ】
2008009299.tif 000018
【図８Ｂ】
2008009299.tif 000019
【図９Ａ】
2008009299.tif 000020
【図９Ｂ】
2008009299.tif 000021
【図１０】
2008009299.tif 000022
【図１１】
2008009299.tif 000023
【図１２】
2008009299.tif 000024
【図１３Ａ】
2008009299.tif 000025
【図１３Ｂ】
2008009299.tif 000026
【図１３Ｃ】
2008009299.tif 000027
【図１４】
2008009299.tif 000028
【図１５】
2008009299.tif 000029
【図１６】
2008009299.tif 000030
【図１７】
2008009299.tif 000031