(57)【要約】【課題】台形歪み補正処理の高速化を図る。【解決手段】フレーム映像の入力映像データにおけるライン方向およびこれに交叉するピクセル方向にそれぞれＮ×Ｍ（Ｎ，Ｍ≧２）個の画素から成るブロック映像データを単位として、フレーム映像の入力映像データの一部を記憶するブロック映像記憶部と、被投写面上に投写される映像の歪みを補正する補正処理を行う補正処理部とを備えるプロジェクターであって、補正処理部は、１フレーム分のフレーム映像に対する補正処理の開始時にブロック映像記憶部に格納されるブロック映像データである初期化ブロック映像データが全て格納されるのに先立って、補正処理を開始する。【選択図】図５
2011199626.tif 000002
【特許請求の範囲】
【請求項１】
被投写面上に映像を投写して表示するプロジェクターであって、
前記映像を表す映像光を生成して出力する映像光出力部と、
前記プロジェクターに入力される入力映像データを複数のラインで構成されるフレーム映像として記憶するフレーム映像記憶部と、
前記フレーム映像記憶部よりも小容量かつ高速な記憶部であって、前記フレーム映像記憶部に記憶されたフレーム映像の入力映像データにおけるライン方向およびこれに交叉するピクセル方向にそれぞれＮ×Ｍ（Ｎ，Ｍ≧２）個の画素から成るブロック映像データを単位として、前記フレーム映像の入力映像データの一部を記憶するブロック映像記憶部と、
前記被投写面上に投写される映像の歪みを補正する補正処理を行う補正処理部であって、前記ブロック映像記憶部に記憶された前記ブロック映像データに基づいて、補正処理後の映像データである補正後映像データを生成し、前記被投写面上に投写される映像を表す映像データとして、前記映像光出力部に出力する補正処理部と、
を備え、
前記補正処理部は、１フレーム分のフレーム映像に対する前記補正処理の開始時に前記ブロック映像記憶部に格納されるブロック映像データである初期化ブロック映像データが全て格納されるのに先立って、前記補正処理を開始するプロジェクター。
【請求項２】
請求項１に記載のプロジェクターにおいて、
前記初期化ブロック映像データは、前記補正処理に用いられる補正パラメーターに基づいて決定されるプロジェクター。
【請求項３】
請求項２に記載のプロジェクターにおいて、
前記補正パラメーターは、前記補正後映像データの座標を補正前の映像データの座標に変換する際のパラメーターであるプロジェクター。
【請求項４】
請求項２に記載のプロジェクターにおいて、
前記補正処理後の映像が前記補正処理前の映像をクリッピングして表示する映像である場合に、
前記補正パラメーターは、前記補正処理前の映像のうち表示される領域の前記ピクセル方向の最小座標であるプロジェクター。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、被投写面に映像を表示するプロジェクターに関する。
【背景技術】
【０００２】
プロジェクターを用いてスクリーンなどの投写面に矩形の映像（以下、元映像ともいう）を表示させるとき、プロジェクターと投写面との相対的な位置関係によって、投写面に表示された映像（以下、投写映像ともいう）が台形、平行四辺形、それ以外の四角形等に歪む場合がある。このような台形歪み以外の射影歪みも含めて、本明細書では「台形歪み」と称する。このように投写映像に台形歪みが生じる場合には、射影変換の手法を利用して、投写映像が矩形に表示されるように補正する台形歪み補正の技術が用いられている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１５０５３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
液晶パネルを利用して映像を表す映像光を生成するプロジェクターでは、台形歪み補正の際に、投写面上の投写映像に対し逆方向に歪ませた映像（以下、補正後映像ともいう）を、液晶パネル上で生成する。補正後映像の画素値は、元映像の画素値に基づいて、画素補間を行なうことによって求められる。補正後映像の１画素の画素値を求める場合には、例えば、補正後映像の画素に相当する元映像の座標を算出し、その周囲の複数の画素（例えば周囲１６画素）を用いて画素補間を行う。すなわち、台形歪み補正処理では、大量の処理を行うため、その処理の高速化が望まれている。
【課題を解決するための手段】
【０００５】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
【０００６】
［適用例１］  被投写面上に映像を投写して表示するプロジェクターであって、
前記映像を表す映像光を生成して出力する映像光出力部と、
前記プロジェクターに入力される入力映像データを複数のラインで構成されるフレーム映像として記憶するフレーム映像記憶部と、
前記フレーム映像記憶部よりも小容量かつ高速な記憶部であって、前記フレーム映像記憶部に記憶されたフレーム映像の入力映像データにおけるライン方向およびこれに交叉するピクセル方向にそれぞれＮ×Ｍ（Ｎ，Ｍ≧２）個の画素から成るブロック映像データを単位として、前記フレーム映像の入力映像データの一部を記憶するブロック映像記憶部と、
前記被投写面上に投写される映像の歪みを補正する補正処理を行う補正処理部であって、前記ブロック映像記憶部に記憶された前記ブロック映像データに基づいて、補正処理後の映像データである補正後映像データを生成し、前記被投写面上に投写される映像を表す映像データとして、前記映像光出力部に出力する補正処理部と、
を備え、
前記補正処理部は、１フレーム分のフレーム映像に対する前記補正処理の開始時に前記ブロック映像記憶部に格納されるブロック映像データである初期化ブロック映像データが全て格納されるのに先立って、前記補正処理を開始するプロジェクター。
【０００７】
この構成によれば、補正処理が、キャッシュブロック記憶部の初期化が完了されるのを待たずに行われるため、キャッシュブロック記憶部の初期化が完了してから補正処理を開始する場合に比べて、キャッシュブロック記憶部の初期化開始から１フレーム分の補正処理が完了するまでの処理時間を短縮することができる。
【０００８】
［適用例２］  適用例１記載のプロジェクターにおいて、
前記初期化ブロック映像データは、前記補正処理に用いられる補正パラメーターに基づいて決定されるプロジェクター。
【０００９】
このようにすると、補正処理において必要とされるブロック映像データを初期化ブロック映像データとすることができる。
【００１０】
［適用例３］  適用例２記載のプロジェクターにおいて、
前記補正パラメーターは、前記補正後映像データの座標を補正前の映像データの座標に変換する際のパラメーターであるプロジェクター。
【００１１】
この構成によれば、例えば、プロジェクターを逆吊りにして使用する場合にも、適切なブロック映像データを初期化ブロック映像データとすることができる。
【００１２】
［適用例４］  適用例２に記載のプロジェクターにおいて、
前記補正処理後の映像が前記補正処理前の映像をクリッピングして表示する映像である場合に、
前記補正パラメーターは、前記補正処理前の映像のうち表示される領域の前記ピクセル方向の最小座標であるプロジェクター。
【００１３】
この構成によれば、クリッピングして投写する場合にも、適切なブロック映像データを初期化ブロック映像データとすることができる。
【００１４】
なお、本発明は、種々の態様で実現することが可能である。例えば、ブロック映像記憶装置を用いた射影変換処理装置、画像処理装置、画像処理方法等の態様で実現することができる。
【図面の簡単な説明】
【００１５】
【図１】台形歪み補正を概念的に示す説明図である。
【図２】補正後映像データの作成方法を概念的に示す説明図である。
【図３】画素補間の方法を概念的に示す図である。
【図４】本発明の一実施例としてのプロジェクターの構成を概略的に示すブロック図である。
【図５】台形歪み補正部１２０の構成を示す機能ブロック図である。
【図６】フレームバッファー１５０とキャッシュブロック記憶部１２２との関係を模式的に示す図である。
【図７】キャッシュブロック記憶部１２２に格納されるキャッシュブロックの一例を示す図である。
【図８】キャッシュブロック記憶部１２２とキャッシュブロック用タグ情報記憶部１２３との関係を概念的に示す図である。
【図９】タグ情報を用いたヒット判定の例を示す説明図である。
【図１０】補正後映像データ生成処理の流れを模式的に示す工程図である。
【図１１】補正後映像ＩＧ１の一例を模式的に示す模式図である。
【図１２】補正後映像ＩＧ１の他の例を模式的に示す模式図である。
【図１３】プロジェクター１００の傾き角を示す図である。
【図１４】比較例の補正後映像データ生成処理の流れを模式的に示す工程図である。
【発明を実施するための形態】
【００１６】
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
Ａ．第１の実施例：
Ａ−１．台形歪み補正の概要：
Ａ−２．プロジェクターの構成：
Ａ−３．台形歪み補正部：
Ａ−４．キャッシュブロック記憶部の構成：
Ａ−５．キャッシュブロック用タグ情報記憶部の構成：
Ａ−６．ヒット判定：
Ａ−７．台形歪み補正処理の流れ：
Ａ−８．実施例の効果：
Ｂ．変形例：
【００１７】
Ａ．実施例：
Ａ−１．台形歪み補正の概要：
本発明の一実施例としてのプロジェクター１００は、映像を表す映像光を投写して、スクリーンＳＣなどの被投写面上に映像を表示させる。プロジェクター１００は、矩形の映像が入力された場合に、スクリーンＳＣ上に表示される映像の台形歪みを補正して、矩形の映像を表示させることが可能なプロジェクターである。プロジェクター１００の構成の説明に先立って、本実施例のプロジェクター１００における台形歪み補正の概要について、簡単に説明する。
【００１８】
図１は、台形歪み補正を概念的に示す説明図である。図示するように、プロジェクター１００が、スクリーンＳＣに対して、水平方向（左右方向）および垂直方向（上下方向）に、それぞれ傾きを有して配置された場合、液晶パネル部１９２に表示されている映像（補正前映像ＩＧ０）は矩形であるのに対し、スクリーンＳＣに投写される映像ＰＩＧ０は、水平方向および垂直方向のそれぞれに台形歪みを生じる。なお、図１では、説明の便を図って、プロジェクター１００内に含まれる液晶パネル部１９２を、プロジェクター１００外に出して表示している。
【００１９】
そこで、射影変換の手法を利用して、スクリーンＳＣに投写される映像と逆方向に歪ませた映像（補正後映像ＩＧ１）を液晶パネル部１９２上に形成させると、スクリーンＳＣ上に矩形の映像ＰＩＧ１が表示される（図１）。このように、台形歪みを生じた映像を、矩形（本来表示されるべき映像の形状）に見せるための補正を、台形歪み補正という。
【００２０】
図２は、補正後映像データの作成方法を概念的に示す説明図である。図２(ａ)は、補正前映像ＩＧ０を、（ｂ）は、補正後映像ＩＧ１を示している。図２（ｂ）における破線は、補正前映像ＩＧ０の外形を示している。補正前映像ＩＧ０は、液晶パネル部１９２のフレーム一杯に表示されるように映像処理を施されているため、図２（ｂ）における破線は、すなわち、液晶パネル部１９２のフレームを示している。
【００２１】
本実施例において、補正前映像ＩＧ０、補正後映像ＩＧ１の座標とは、補正前映像ＩＧ０、補正後映像ＩＧ１が液晶パネル部１９２に表示された場合の、画素座標をいう。以下、補正後映像ＩＧ１が表示されている場合の液晶パネル部１９２の画素座標を、補正後座標という。なお、液晶パネル部１９２の画素座標のうち、補正後映像ＩＧ１が表示されていない領域の画素座標も、補正後座標を用いて呼ぶ。補正後座標を、逆射影変換により補正前映像ＩＧ０における座標位置（液晶パネルの画素座標）に変換した座標を、補正前座標という。
【００２２】
補正後映像ＩＧ１を表す補正後映像データの作成方法の概要について、図２に基づいて説明する。補正後映像データを作成するには、補正後映像ＩＧ１を構成する全ての画素座標の画素値（Ｒ，Ｇ，Ｂの各値）を、補正前映像ＩＧ０の画素値に基づいて求める。例えば、図２に示す補正後映像ＩＧ１の真ん中の四角で囲まれた座標Ｐ１（Ｘ，Ｙ）の画素値を求める方法について説明する。
【００２３】
まず、画素値を求めたい補正後座標Ｐ１（Ｘ，Ｙ）を補正前座標Ｐ０（ｘ,ｙ）に変換する。補正前映像ＩＧ０と補正後映像ＩＧ１とは、整数倍の対応関係とはなっていないため、算出された補正前座標Ｐ０（ｘ,ｙ）は、小数を含んでいる。そのため、補正後座標Ｐ１（Ｘ，Ｙ）の画素値を求めるには、補正前座標Ｐ０（ｘ,ｙ）の近傍の１６座標の画素値を用いて、補正前座標Ｐ０（ｘ,ｙ）の画素値を推定する。これを、画素補間という。したがって、変換された補正前座標Ｐ０（ｘ,ｙ）に基づいて、近傍の画素ブロックを読み出し、フィルター係数を用いて画素補間を行う。これにより、補正後映像ＩＧ１の座標Ｐ１（Ｘ，Ｙ）の画素値が求められる。すなわち、補正後映像ＩＧ１を表す補正後映像データは、補正後映像ＩＧ１を構成する全ての画素（座標）の画素値を、１画素ごとに、上記の画素補間を行うことによって作成される。
【００２４】
図３は、画素補間の方法を概念的に示す図である。図３では、上記した補正後座標Ｐ１（Ｘ，Ｙ）を変換した補正前座標Ｐ０（ｘ，ｙ）の画素値を画素補間により求める方法を例示している。図中、補正前座標Ｐ０（ｘ，ｙ）を、ハッチングを付した丸印で示し、その周辺１６座標を白丸印で示している。補正前座標Ｐ０（ｘ，ｙ）の画素値は画素補間によって求められるため、補正前座標Ｐ０（ｘ,ｙ）の画素値を「補間画素」、周辺１６座標の画素値は、補正前映像データであり既知であるため「既知画素」とも称する。
【００２５】
図３では、既知画素である１６画素の画素値を、ＤＡＴＡ［ｍ］［ｎ］（ｍ＝０，１，２，３（ｘ方向）；ｎ＝０，１，２，３（ｙ方向））と示している。補間画素は、この１６画素の画素値とフィルター係数との畳み込み演算により求められる。フィルター係数は、補間画素と既知画素との距離（例えば、ＤＡＴＡ［１］［１］の既知画素と補間画素との距離は、ｘ方向にｄｘ、ｙ方向にｄｙである）による影響を考慮した係数であり、既知画素ごとに定められる。図３では、フィルター係数は、ＣＯＥＦ［ｍ］［ｎ］（ｍ＝０，１，２，３（ｘ方向）；ｎ＝０，１，２，３（ｙ方向））と示している。なお、本実施例において、２次元のフィルター係数を用いているが、フィルター係数を１次元に分解してもよい。
【００２６】
Ａ−２．プロジェクターの構成：
図４は、本発明の一実施例としてのプロジェクターの構成を概略的に示すブロック図である。図示するように、プロジェクター１００は、映像入力部１１０と、ＩＰ変換部１１２と、解像度変換部１１４と、映像合成部１１６と、台形歪み補正部１２０と、液晶パネル駆動部１４０と、フレームバッファー１５０と、高速バス制御部１６０と、低速バス制御部１６２と、プロセッサー部１７０と、撮像部１８０と、センサー部１８２と、照明光学系１９０と、液晶パネル部１９２と、投写光学系１９４と、を中心に構成されている。上記した構成要素のうち、照明光学系１９０、液晶パネル部１９２、投写光学系１９４を除く各構成要素は、高速バス１０２または低速バス１０４を介して互いに接続されている。
【００２７】
映像入力部１１０は、図示しないＤＶＤプレーヤーやパーソナルコンピューターなどからケーブルを介して入力された入力映像信号に対して、必要によりＡ／Ｄ変換を行い、デジタル映像信号をＩＰ変換部１１２に供給する。
【００２８】
ＩＰ変換部１１２は、映像入力部１１０から供給された映像データのフォーマットを、インタレース方式からプログレッシブ方式に変換する処理を実行し、得られた映像データを解像度変換部１１４に供給する。
【００２９】
解像度変換部１１４は、ＩＰ変換部１１２から供給された映像データに対して、サイズの拡大処理または縮小処理（すなわち、解像度変換処理）を施し、得られた映像データを、映像合成部１１６に供給する。
【００３０】
映像合成部１１６は、解像度変換部１１４から供給された映像データとメニュー画面などのＯＳＤ（Ｏｎ  Ｓｃｒｅｅｎ  Ｄｉｓｐｌａｙ）とを合成して、フレームバッファー１５０に、補正前映像データとして書き込む。
【００３１】
フレームバッファー１５０は、１フレームまたは複数フレームのデータを格納できる。本実施例では、フレームバッファー１５０として、安価で大容量なＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を用いている。本実施例におけるフレームバッファー１５０が請求項におけるフレーム映像記憶部に相当する。
【００３２】
台形歪み補正部１２０は、スクリーンＳＣに対してプロジェクター１００の投写軸を傾けた状態で投写した場合に生じる台形歪みを補正する。具体的には、フレームバッファー１５０に格納されている補正前映像データが表す補正前映像を、台形歪みを補償する形状で液晶パネル部１９２に表示させるため、補正前映像データに対して補正処理を施し、補正後映像データとして、液晶パネル駆動部１４０に供給する。台形歪み補正部１２０については、後に詳述する。
【００３３】
液晶パネル駆動部１４０は、台形歪み補正部１２０を経て入力されたデジタル映像信号に基づいて、液晶パネル部１９２を駆動する。液晶パネル部１９２は、複数の画素をマトリクス状に配置した透過型液晶パネルにより構成される。液晶パネル部１９２は、液晶パネル駆動部１４０によって駆動され、マトリクス状に配置された各画素における光の透過率を変化させることにより、照明光学系１９０から照射された照明光を、映像を表す有効な映像光へと変調するための映像を形成する。本実施例において、液晶パネル部１９２のモードはＷＵＸＧＡであり、解像度は１９２０×１２００ドットである。本実施例では、液晶パネル画素座標を、ｘ＝０〜１９１９、ｙ＝０〜１１９９と規定している。なお、液晶パネル部１９２は、本実施例と異なる解像度のものを用いてもよい。
【００３４】
照明光学系１９０は、例えば、高圧水銀ランプ、超高圧水銀ランプ等のランプ類や、その他の発光体を備えて構成される。投写光学系１９４は、プロジェクター１００の筐体の前面に取り付けられており、液晶パネル部１９２によって映像光へと変調された光を拡大して、スクリーンＳＣに投写する。投写光学系１９４はズームレンズ（図示せず）を備え、液晶パネル部１９２を透過した光を投写する際の拡大の程度（ズーム状態）を変化させることができる。本実施例における液晶パネル駆動部１４０、液晶パネル部１９２、照明光学系１９０、投写光学系１９４が、請求項における映像光出力部に相当する。
【００３５】
プロセッサー部１７０は、記憶部（図示しない）に記憶された制御プログラムを読み出して実行することにより、プロジェクター１００内の各部の動作を制御する。また、撮像部１８０により撮像された撮影画像や、センサー部１８２により検出されるプロジェクター１００の傾きや、ユーザからの指示に基づいて、後述する補正後座標（Ｘ０〜Ｘ３、Ｙ０〜Ｙ３）（図２参照）、座標変換行列の座標変換係数（後に詳述する）を算出し、台形歪み補正部１２０に出力する。なお、本実施例において、プロセッサー部１７０は、ユーザからの指示をプロジェクター１００本体に設けられた操作パネル(図示しない)を通じて受け取る構成にしているが、例えば、リモコンを通じたユーザからの指示をリモコン制御部が受信して、低速バス１０４を介してプロセッサー部１７０がユーザからの指示を受信する構成にしてもよい。
【００３６】
撮像部１８０は、ＣＣＤカメラを有しており、撮影映像を生成する。撮像部１８０により生成された撮影映像は、図示せざる撮影映像メモリ内に格納される。なお、撮像部１８０は、ＣＣＤカメラの代わりに他の撮像デバイスを有することも可能である。
【００３７】
センサー部１８２は、プロジェクター１００の鉛直方向からの傾きを検出することにより、撮像部１８０のＣＣＤ光軸が水平面となす傾き角度を検出することができる。
【００３８】
Ａ−３．台形歪み補正部：
台形歪み補正部１２０は、上記したように、フレームバッファー１５０に格納されている補正前映像データが表す補正前映像を、台形歪みを補償する形状に補正した補正後映像データを生成する。図５は、台形歪み補正部１２０の構成を示す機能ブロック図である。台形歪み補正部１２０は、キャッシュブロック制御部１２１と、キャッシュブロック記憶部１２２と、キャッシュブロック用タグ情報記憶部１２３と、補間ブロック読み出し部１２４と、画素補間部１２５と、ＦＩＦＯ部１２６と、レジスター部１２７と、制御部１２８と、座標変換部１２９と、フィルター係数算出部１３０と、ヒット判定部１３１と、を中心に構成される。
【００３９】
キャッシュブロック制御部１２１は、フレームバッファー１５０に格納されている補正前映像データを、８×８画素からなる画素ブロック単位で取得してキャッシュブロック記憶部１２２に格納する。なお、以下の説明では、この８×８画素からなる画素のブロックを「キャッシュブロック」と称する。また、キャッシュブロック制御部１２１は、キャッシュブロック用タグ情報記憶部１２３に格納されているタグ情報を更新する。キャッシュブロック制御部１２１が取得するキャッシュブロックは、後述するように、キャッシュブロック記憶部１２２を初期化する場合には、予め定められており、初期化が完了した後は、ヒット判定部１３１によって指定される。本実施例において、１フレームの台形歪み補正処理を開始する際に、フレームバッファー１５０から最初に格納されるべきキャッシュブロック（以下、「初期化ブロック」とも称する）を読み出してキャッシュブロック記憶部１２２に書き込むことを「キャッシュブロック記憶部１２２の初期化」と称する。
【００４０】
キャッシュブロック記憶部１２２は、フレームバッファー１５０に格納されている１フレーム分の補正前映像データの一部のデータが、８×８画素からなるキャッシュブロック単位で格納できる。キャッシュブロック記憶部１２２は、１つのキャッシュブロック（８×８画素からなる映像データ）を格納できるブロック領域を複数備える。本実施例では、後に詳述するように、キャッシュブロック記憶部１２２は２４０列×４行のブロック領域を備える。本実施例において、キャッシュブロック記憶部１２２は、小容量で高速なＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）で構成されている。本実施例におけるキャッシュブロック記憶部１２２が請求項におけるブロック映像記憶部に相当する。
【００４１】
キャッシュブロック用タグ情報記憶部１２３は、キャッシュブロック記憶部１２２をブロック領域単位で管理する際の管理情報であるタグ情報を格納する。
【００４２】
補間ブロック読み出し部１２４は、画素補間部１２５における画素補間に必要な４×４画素からなる補間ブロックを、キャッシュブロック記憶部１２２から読み出して、画素補間部１２５に供給する。後に詳述するように、ヒット判定部１３１において、補正前座標が補正前映像データ外、すなわち、図２に示す補正前映像ＩＧ０の範囲外となった場合には、レジスター部１２７から供給される背景色データを補間ブロックとして、画素補間部１２５に供給する。
【００４３】
画素補間部１２５は、補間ブロック読み出し部１２４から供給される補間ブロックと、フィルター係数算出部１３０から供給されるフィルター係数とに基づいて画素補間処理を実行し、補間画素（補正後映像の画素）の値を求めて、ＦＩＦＯ部１２６を介して液晶パネル駆動部１４０(図４)に出力する。
【００４４】
レジスター部１２７は、プロセッサー部１７０から供給されるパラメーターを格納する。具体的には、レジスター部１２７には、補正前映像の１フレームのフレーム幅、フレーム高さ、座標変換行列の座標変換係数Ａ〜Ｈなどのパラメーターや、背景色（例えば、黒、グレー、青等）に関する情報である背景色データが格納される。座標変換係数Ａ〜Ｈは、プロセッサー部１７０において、下記の射影変換の行列式（式１）を用いて算出される。具体的には、プロセッサー部１７０は、補正前座標（ｘ０〜ｘ３、ｙ０〜ｙ３）（図２参照）が射影変換により、補正後座標（Ｘ０〜Ｘ３、Ｙ０〜Ｙ３）（図２参照）に変換されたものとして、その補正後映像ＩＧ１の４つの座標（Ｘ０〜Ｘ３、Ｙ０〜Ｙ３）を、行列式(式１)に入力して、座標変換係数Ａ〜Ｈを導出する。本実施例における座標変換係数Ａ〜Ｈが、請求項における補正パラメーターに相当する。
【００４５】
【数１】
2011199626.tif 000003
【００４６】
本実施例では、補正後映像データの生成処理が開始される前に、台形歪み補正前にスクリーンＳＣに表示されている映像ＰＩＧ０を、撮像部１８０で撮像する。プロセッサー部１７０(図４)は、撮像した映像に基づいて、台形歪み補正後の補正後映像ＩＧ１における４つの頂点の座標（Ｘ０〜Ｘ３、Ｙ０〜Ｙ３）(図２（ｂ）)を求めている。
【００４７】
なお、センサー部１８２によって、プロジェクター１００の鉛直方向からの傾きを検出して、検出された角度に基づいて、補正後座標（Ｘ０〜Ｘ３、Ｙ０〜Ｙ３）を求めるようにしてもよい。また、ユーザがリモコンを操作して、手動で台形歪み補正を行うようにしてもよい。そのような場合には、プロセッサー部１７０は、リモコン制御部を介して受け取った、ユーザからの指示に基づいて、補正後座標（Ｘ０〜Ｘ３、Ｙ０〜Ｙ３）を求める。
【００４８】
制御部１２８は、台形歪み補正部１２０全般の制御を行う。例えば、制御部１２８に入力される同期信号に従って、フレームの始まりを示すフレームスタート信号を全てのブロックに対して出力する。同期信号は、例えば、１秒間に６０フレーム表示される場合には、１／６０秒毎に入力される。なお、図５では、キャッシュブロック制御部１２１と座標変換部１２９以外のブロックに対するフレームスタート信号の出力を示す矢印は、図の見易さを考慮して図示を省略している。
【００４９】
座標変換部１２９は、レジスター部１２７から供給される座標変換係数Ａ〜Ｈと、以下の（式２）、（式３）を用いて、台形歪み補正を行った後の補正後映像ＩＧ１の座標値（補正後座標）を、補正前映像ＩＧ０（矩形の映像）の座標値（補正前座標）に変換する。補正前映像ＩＧ０と補正後映像ＩＧ１とは、整数倍の対応関係とはなっていないため、座標変換部１２９にて算出された補正前座標は、小数を含んでいる。座標変換部１２９は、補正前座標を、整数部と小数部に分けて、整数部をヒット判定部１３１に供給し、小数部をフィルター係数算出部１３０に供給する。
【００５０】
ここで、上記した補正前座標の算出方法について説明する。補正後映像ＩＧ１は、補正前映像ＩＧ０を射影変換することにより得られた映像であると考えられるため、補正前座標は、補正後座標について、下記の（式２）、（式３）に基づいて、逆射影変換することによって算出される。補正前座標（ｘ，ｙ）が射影変換により補正後座標（Ｘ，Ｙ）に変換されたものとする。
【００５１】
【数２】
2011199626.tif 000004
【数３】
2011199626.tif 000005
上記（式２）、（式３）中の係数Ａ〜Ｈは、レジスター部１２７に記憶されている。
【００５２】
フィルター係数算出部１３０は、座標変換部１２９から供給される小数部に基づいて、画素補間処理を実行する際に用いられるフィルター係数を、フィルター係数テーブルより選択して、選択されたフィルター係数を画素補間部１２５に供給する。フィルター係数テーブルは、図３に示す補間画素と既知画素との距離とフィルター係数との関係を示すテーブルであり、予め算出された結果がフィルター係数算出部１３０の備えるメモリに格納されている。
【００５３】
ヒット判定部１３１は、座標変換部１２９から供給された補正前座標の整数部に基づいて、まず、補正前座標が背景か否か判定する。背景でないと判定された場合は、ヒット判定部１３１は、座標変換部１２９から供給された補正前座標の整数部に基づいて、画素補間部１２５における画素補間に用いられる座標の画素値がキャッシュブロック記憶部１２２に格納されているか否かを判定する。以下、この判定を「ヒット判定」と称する。ヒット判定の結果、キャッシュブロック記憶部１２２に画素補間に必要な画素値が格納されていない場合には、キャッシュブロック制御部１２１に対して、必要なキャッシュブロックの取得要求を出す。ヒット判定の結果、キャッシュブロック記憶部１２２に画素補間に必要な画素値が格納されている場合には、補間ブロック読み出し部１２４に対してキャッシュブロック記憶部１２２における読み出し位置を供給する。ヒット判定の処理の流れについては、後述する。
【００５４】
Ａ−４．キャッシュブロック記憶部の構成：
図６は、フレームバッファー１５０とキャッシュブロック記憶部１２２との関係を模式的に示す図である。図６では、フレームバッファー１５０に格納されている１フレーム分の補正前映像データを、８×８画素からなるキャッシュブロック単位に分割した状態を示している。本実施例において、フレームバッファー１５０に格納されている補正前映像データは、１９２０×１２００画素によって構成されており、このような補正前映像データが２４０×１５０個のキャッシュブロックに分割されている。各キャッシュブロック内に記載されている文字列（ｘ，ｙ）は、そのキャッシュブロックのｘ方向およびｙ方向の位置（列番号，行番号）を示している。本実施例において、列が並んでいる方向をｘ方向、行方向行が並んでいる方向をｙ方向としている。本実施例におけるｘ方向が請求項におけるライン方向、ｙ方向が請求項におけるピクセル方向に、それぞれ相当する。
【００５５】
キャッシュブロック記憶部１２２は、１つのキャッシュブロックを格納できるブロック領域を、２４０列×４行個備える。図６では、各ブロック領域を識別するために、（列（０〜２３９），行（０〜３））の番号を付している。キャッシュブロック記憶部１２２には、フレームバッファー１５０に格納されている１フレーム分の補正前映像データの一部のデータが、２４０×４個格納できる。
【００５６】
本実施例では、フレームスタート信号がキャッシュブロック制御部１２１に入力されると、フレームバッファー１５０から（０，０）〜（２３９，３）のキャッシュブロックが読み出され、キャッシュブロック記憶部１２２に格納される（キャッシュブロック記憶部１２２の初期化）。キャッシュブロックは、キャッシュブロック記憶部１２２において、各キャッシュブロックの列番号と同一の列番号のブロック領域に格納される。したがって、台形歪み補正処理が開始される際には、キャッシュブロック記憶部１２２の各ブロック領域には、ブロック領域の列番号、行番号と同一の列番号、行番号を有するキャッシュブロックが格納される（図６）。すなわち、キャッシュブロック記憶部１２２の幅はフレームバッファー１５０の幅と同じであり、キャッシュブロック記憶部１２２の高さは、４キャッシュブロック分であり、キャッシュブロック記憶部１２２には、１フレームの３２ライン（４キャッシュブロック×８ｐｘ）分の画素データが格納されている。
【００５７】
図７は、キャッシュブロック記憶部１２２に格納されるキャッシュブロックの一例を示す図である。キャッシュブロック記憶部１２２に格納されるキャッシュブロックは、台形歪み補正処理の進行にしたがって、更新される。キャッシュブロック制御部１２１は、ヒット判定部１３１からキャッシュブロックの読み出し要求（キャッシュブロックリクエスト）が入力されると、キャッシュブロックリクエストに基づいて、フレームバッファー１５０から、指定された座標位置（列，行）のキャッシュブロックを読み出し、キャッシュブロック記憶部１２２の指定されたブロック領域（列，行）に、読み出したキャッシュブロックを格納させる。したがって、台形歪み補正処理の途中では、図７に示すように、キャッシュブロック記憶部１２２に格納されるキャッシュブロックが、フレームバッファー１５０の図示したような位置のキャッシュブロックになっている。
【００５８】
補間ブロックは、図７において斜線ハッチングを付して図示している。本実施例において、キャッシュブロックは８×８画素からなり、補間ブロックは４×４画素からなるため、補間ブロックは、キャッシュブロックの一部となる。後述するように、画素補間に必要な補間ブロックは、ヒット判定部１３１から供給される位置情報に基づいて読み出される。
【００５９】
補間ブロックは、（１）１つのキャッシュブロックに含まれる場合、（２）ｙ方向に隣接する２つのキャッシュブロックに跨る場合、（３）ｘ方向に隣接する２つのキャッシュブロックに跨る場合、（４）２行×２列の４つのキャッシュブロックに跨る場合がある。図７では、（４）２行×２列の４つのキャッシュブロックに跨る場合が例示されている。
【００６０】
Ａ−５．キャッシュブロック用タグ情報記憶部の構成：
キャッシュブロック用タグ情報記憶部１２３は、キャッシュブロック記憶部１２２をブロック領域単位で管理する際の管理情報であるタグ情報を格納する。図８は、キャッシュブロック記憶部１２２とキャッシュブロック用タグ情報記憶部１２３との関係を概念的に示す図である。図示するように、キャッシュブロック用タグ情報記憶部１２３には、キャッシュブロック記憶部１２２の２４０×４個のブロック領域に対応させて２４０×４個のタグ情報が格納されている。
【００６１】
具体的には、タグ情報として、（１）フレームバッファー１５０からキャッシュブロック記憶部１２２への書き込み待ちか否かを示す情報（書き込み待ちの場合ＷＲＩＴＩＮＧ＝１）、（２）ブロック領域のデータが有効か無効かを示す情報（有効の場合ＶＡＬＩＤ＝１、無効の場合ＶＡＬＩＤ＝０）、及び（３）ブロック領域に格納されているキャッシュブロックがフレームバッファー１５０のどの位置のブロックかを示す座標Ｙ＿ＡＤＲが格納されている。（３）の座標Ｙ＿ＡＤＲは、キャッシュブロックの左上端の画素のフレームバッファー１５０におけるｙ座標を１／８にした情報を保持する。本実施例では、図６に示す行番号を座標Ｙ＿ＡＤＲとする。（２）において、有効とは、座標Ｙ＿ＡＤＲのキャッシュブロックがキャッシュブロック記憶部１２２に格納されていること、無効とは座標Ｙ＿ＡＤＲのキャッシュブロックがキャッシュブロック記憶部１２２に格納されていないことを示す。上記したように、キャッシュブロック記憶部１２２に、ヒット判定部１３１によって指定されたキャッシュブロックや、初期化ブロックが格納されると、キャッシュブロック制御部１２１は、キャッシュブロック用タグ情報記憶部１２３の該当するタグ情報を、ＶＡＬＩＤ＝１、ＷＲＩＴＩＮＧ＝０に更新する。
【００６２】
Ａ−６．ヒット判定：
図９は、タグ情報を用いたヒット判定の例を示す説明図である。図９では、キャッシュブロック記憶部１２２の初期化の途中であり、キャッシュブロック記憶部１２２のブロック領域（０，０）〜（２３９，１）に、キャッシュブロック（０，０）〜（２３９，１）が格納されている状態のタグ情報が例示されている。すなわち、キャッシュブロック用タグ情報記憶部１２３の２列０行には、キャッシュブロック記憶部１２２におけるブロック領域（２，０）に関するタグ情報が格納されている。画素補間に用いる１６画素を、（ｘ［０］，ｙ［０］），（ｘ［１］，ｙ［１］），（ｘ［２］，ｙ［２］），・・・，（ｘ［１５］，ｙ［１５］）とした場合に、ヒット判定は、（ｘ［０］，ｙ［０］）から順に、１画素ずつ行う。例えば、（ｘ［０］，ｙ［０］）＝（１６，１６）である場合のヒット判定について、図１４に基づいて説明する。
【００６３】
（ｘ［０］，ｙ［０］）＝（１６，１６）が含まれるキャッシュブロックがキャッシュブロック記憶部１２２に格納されているか否か判定する場合、まず、ヒット判定部１３１は、キャッシュブロック用タグ情報記憶部１２３から該当する列のタグを抽出する。１つのキャッシュブロックは、８×８画素から成るため、画素補間に用いる画素のｘ座標を８で割ることにより、該当する列がわかる。（ｘ［０］，ｙ［０］）＝（１６，１６）は第２列に該当するため、第２列のタグを抽出する。
【００６４】
図９において、抽出されたタグの情報が、紙面右側に記載されている。タグの行番号が小さい順にヒット判定を行う。以下、タグ情報を、ＴＡＧ［行番号］で表す。ＴＡＧ［０］は、ＷＲＩＴＩＮＧ＝０，ＶＡＬＩＤ＝１，Ｙ＿ＡＤＲ＝０である。ＷＲＩＴＩＮＧ＝０は、書き込み待ちでないということ，ＶＡＬＩＤ＝１はデータが有効であるということをそれぞれ示している。また、Ｙ＿ＡＤＲ＝０を補正前映像のｙ座標に変換すると、０×８＝０である。すなわち、ＴＡＧ［０］によれば、キャッシュブロックの左上端の画素のｙ座標が補正前映像においてｙ座標＝０であるブロックがキャッシュブロック記憶部１２２に存在することがわかる。
【００６５】
ＴＡＧ［１］は、ＷＲＩＴＩＮＧ＝０，ＶＡＬＩＤ＝１，Ｙ＿ＡＤＲ＝１である。ＷＲＩＴＩＮＧ＝０は、書き込み待ちでないということ，ＶＡＬＩＤ＝１はデータが有効であるということをそれぞれ示している。また、Ｙ＿ＡＤＲ＝１を補正前映像のｙ座標に変換すると、１×８＝８である。すなわち、ＴＡＧ［１］によれば、キャッシュブロックの左上端の画素のｙ座標が補正前映像においてｙ座標＝８であるブロックがキャッシュブロック記憶部１２２に存在することがわかる。
【００６６】
ＴＡＧ［２］は、ＷＲＩＴＩＮＧ＝１，ＶＡＬＩＤ＝０，Ｙ＿ＡＤＲ＝２である。ＷＲＩＴＩＮＧ＝１は、書き込み待ちであるということ，ＶＡＬＩＤ＝０はデータが無効であるということをそれぞれ示している。また、Ｙ＿ＡＤＲ＝２を補正前映像のｙ座標に変換すると、２×８＝１６である。すなわち、ＴＡＧ［２］によれば、キャッシュブロックの左上端の画素のｙ座標が補正前映像においてｙ座標＝１６であるブロックが書き込み待ちであり、しばらく待てば読み出し可能であることがわかる。
【００６７】
ＴＡＧ［３］は、ＷＲＩＴＩＮＧ＝１，ＶＡＬＩＤ＝０，Ｙ＿ＡＤＲ＝３である。ＷＲＩＴＩＮＧ＝１は、書き込み待ちであるということ，ＶＡＬＩＤ＝０はデータが無効であるということをそれぞれ示している。また、Ｙ＿ＡＤＲ＝３を補正前映像のｙ座標に変換すると、３×８＝２４である。すなわち、ＴＡＧ［３］によれば、キャッシュブロックの左上端の画素のｙ座標が補正前映像においてｙ座標＝２４であるブロックが書き込み待ちであることがわかる。
【００６８】
すなわち、（ｘ［０］，ｙ［０］）＝（１６，１６）が含まれるキャッシュブロックがキャッシュブロック記憶部１２２に格納されているか否か判定した結果、（ｘ［０］，ｙ［０］）＝（１６，１６）が含まれるキャッシュブロックは書き込み待ちであり、しばらく待てば、読み出し可能であると判定される。
【００６９】
Ａ−７．台形歪み補正処理の流れ：
本実施例において、台形歪み補正処理は、台形歪み補正部１２０において実行される全ての処理、すなわち、フレームバッファー１５０からキャッシュブロック記憶部１２２へのキャッシュブロックの格納処理、補正後映像データの生成処理を含む。本実施例における台形歪み補正部１２０では、制御部１２８（図５）からフレームスタート信号が出力され、キャッシュブロック制御部１２１（図５）および座標変換部１２９（図５）に入力されると、キャッシュブロック制御部１２１は初期化ブロックを読み出してキャッシュブロック記憶部１２２に書き込み（キャッシュブロック記憶部１２２の初期化を開始し）、同時に、座標変換部１２９は補正後映像の座標（補正後座標）を座標変換して補正前座標を求める。すなわち、本実施例では、キャッシュブロック記憶部１２２の初期化の開始と同時に、補正後映像データ生成処理が開始される。換言すると、キャッシュブロック記憶部１２２の初期化の完了に先立って、補正後映像データ生成処理が開始される。本実施例において、初期化ブロックは、上記したように、（０，０）〜（２３９，３）のキャッシュブロックである。本実施例における補正後映像データ生成処理が請求項における補正処理に、初期化ブロックが請求項における初期化ブロック映像データに、それぞれ相当する。
【００７０】
キャッシュブロック記憶部１２２の初期化の流れを以下に説明する。まず、キャッシュブロック制御部１２１（図５）は、フレームスタート信号が入力されると、キャッシュブロック用タグ情報記憶部１２３に格納されているタグ情報を、全て更新する。具体的には、キャッシュブロック記憶部１２２の初期化でキャッシュブロック記憶部１２２の各ブロック領域に格納されるキャッシュブロックの座標Ｙ＿ＡＤＲを書き込み、ＷＲＩＴＩＮＧ＝１（書き込み待ち），ＶＡＬＩＤ＝０（ブロック領域のデータが無効）にする。
【００７１】
キャッシュブロック制御部１２１は、タグ情報の更新と同時に、フレームバッファー１５０から初期化ブロックを読み出して、キャッシュブロック記憶部１２２への書き込みを開始する。初期化処理に際して、１つのキャッシュブロックが格納されると、キャッシュブロック制御部１２１によってキャッシュブロック用タグ情報記憶部１２３の対応するタグ情報が更新され、ＷＲＩＮＴＩＮＧ＝０，ＶＡＬＩＤ＝１になる。
【００７２】
図１０は、補正後映像データ生成処理の流れを模式的に示す工程図である。座標変換部１２９(図５)はフレームスタート信号が入力されたか否かを判断する（ステップＳ１０２）。座標変換部１２９は、フレームスタート信号が入力されるまでは待機して(ステップＳ１０２においてＮＯ)、フレームスタート信号が入力されると (ステップＳ１０２においてＹＥＳ)、上記したように、補正後映像の座標（補正後座標）を座標変換して補正前座標を求める（ステップＳ１０４）。
【００７３】
座標変換部１２９が算出した補正前座標の整数部をヒット判定部１３１（図５）に入力すると、ヒット判定部１３１はまず、補正前座標の周辺画素が背景か否か判定する（ステップＳ１０６）。この周辺画素とは、算出した補正前座標に対応する補正後座標の画素値を補間により求めるための補間ブロックを構成する画素である。この処理は、具体的には、周辺画素の全て、すなわち、補間ブロックを構成する１６画素の全てが背景であるか否かを判定する処理である。各々の周辺画素の座標は、算出した補正前座標から容易に特定することができる。この点について図３に示した画素配置を用いて説明すれば、補正前座標がＰ０（ｘ，ｙ）として算出された場合、補正前座標の整数部が示す座標（Ｉｎｔ（ｘ），Ｉｎｔ（ｙ））は、図３に示すＤＡＴＡ［１］［１］の既知画素の座標に該当するので、ＤＡＴＡ［０］［０］の既知画素の座標は（Ｉｎｔ（ｘ）−１，Ｉｎｔ（ｙ）−１）である。同様にして、ＤＡＴＡ［３］［０］の既知画素の座標は（Ｉｎｔ（ｘ）＋２，Ｉｎｔ（ｙ）−１）、ＤＡＴＡ［３］［３］の既知画素の座標は（Ｉｎｔ（ｘ）＋２，Ｉｎｔ（ｙ）＋２）、ＤＡＴＡ［０］［３］の既知画素の座標は（Ｉｎｔ（ｘ）−１，Ｉｎｔ（ｙ）＋２）になる。したがって、本実施例においては、補正前ｘ座標の整数部Ｉｎｔ（ｘ）＋２＜ｘ０，Ｉｎｔ（ｘ）＋２＜ｘ３，Ｉｎｔ（ｘ）−１＞ｘ１，Ｉｎｔ（ｘ）−１＞ｘ２のいずれかを満たす場合、または、補正前ｙ座標の整数部Ｉｎｔ（ｙ）＋２＜ｙ０，Ｉｎｔ（ｙ）＋２＜ｙ１，Ｉｎｔ（ｙ）−１＞ｙ２，Ｉｎｔ（ｙ）−１＞ｙ３のいずれかを満たす場合に周辺画素の全てが背景と判定される。ｘ０〜ｘ３，ｙ０〜ｙ３は図２に示す。具体的には、本実施例において、（ｘ０，ｙ０）＝（０，０），（ｘ１，ｙ１）＝（１９１９，０），（ｘ２，ｙ２）＝（１９１９，１１９９），（ｘ３，ｙ３）＝（０，１１９９）であるため、Ｉｎｔ（ｘ）＋２＜０（すなわち、負），Ｉｎｔ（ｘ）−１＞１９１９，Ｉｎｔ（ｙ）＋２＜０（すなわち、負），Ｉｎｔ（ｙ）−１＞１１９９のいずれかを満たす場合に周辺画素の全てが背景と判定される。なお、Ｉｎｔ（ｘ），Ｉｎｔ（ｙ）に代えて、小数部を含む補正前ｘ座標，補正前ｙ座標そのものを用いても、同様に判定することができる。
【００７４】
ヒット判定部１３１において、周辺画素の全てが背景と判定されると（ステップＳ１０６においてＹＥＳ）、補間を行う必要はないということであるから、キャッシュブロック用タグ情報記憶部１２３を参照する必要はない。そこで、補間ブロック読み出し部１２４はレジスター部１２７より背景色データを読み出して、画素補間部１２５（図５）に供給する（ステップＳ１１２）。
【００７５】
一方、ヒット判定部１３１において、周辺画素の少なくとも１つが背景でないと判定されると（ステップＳ１０６においてＮＯ）、全ての周辺画素のうちの背景でない周辺画素を特定し、当該特定された背景でない周辺画素についてヒット判定を行う（ステップＳ１０８）。背景でない周辺画素の特定は、周辺画素の各々について、周辺画素のｘ座標である値ＸがＸ≧ｘ０，Ｘ≧ｘ３，Ｘ≦ｘ１，Ｘ≦ｘ２の全てを満たし、かつ、周辺画素のｙ座標である値ＹがＹ≧ｙ０，Ｙ≧ｙ１，Ｙ≦ｙ２，Ｙ≦ｙ３の全てを満たすか否かを判断することにより行うことができる。これらの条件式を満たす周辺画素は、背景でない周辺画素として特定される。ヒット判定の結果、ＷＲＩＴＩＮＧ＝１（書き込み待ち）があった場合には（ステップＳ１０８においてＮＯ）、ヒット判定部１３１はキャッシュブロックリクエストをキャッシュブロック制御部１２１に対して発行し、所定の時間が経過した後再びステップＳ１０８を行う。すなわち、目的のキャッシュブロックがキャッシュブロック記憶部１２２に格納されるまで、ステップＳ１０８，Ｓ１１０を繰り返す。
【００７６】
本実施例において、キャッシュブロック記憶部１２２の初期化が完了していない場合は、ステップＳ１０８とＳ１１０を繰り返すことにより、キャッシュブロック記憶部１２２の初期化処理の進行を待つことになる。初期化処理が進行して、目的のキャッシュブロックが格納されると、キャッシュブロック用タグ情報記憶部１２３のタグ情報が更新され、ＷＲＩＮＴＩＮＧ＝０，ＶＡＬＩＤ＝１になる。再度、ヒット判定を行い（ステップＳ１０８）、目的のキャッシュブロックが格納されるブロック領域に対応するタグがＷＲＩＮＴＩＮＧ＝０，ＶＡＬＩＤ＝１になっていると判定されると（ステップＳ１０８においてＹＥＳ）、ヒット判定部１３１は、補間ブロックの読み出し位置を補間ブロック読み出し部１２４に供給する。
【００７７】
補間ブロックの読み出し位置が補間ブロック読み出し部１２４に供給されると、補間ブロック読み出し部１２４(図５)は、供給された読み出し位置に基づいて補間ブロックをキャッシュブロック記憶部１２２から読み出す（ステップＳ１１２）。一方、フィルター係数算出部１３０(図５)は、ステップＳ１０４で求められた補正前座標の小数部に基づいて、フィルター係数テーブルからフィルター係数を選択する。補間ブロック読み出し部１２４における補間ブロック読み出し処理と、フィルター係数算出部１３０におけるフィルター係数算出処理とは並列に行われ、両処理が終了すると、ステップＳ１１６の処理に進む。
【００７８】
画素補間部１２５（図５）は、補間ブロック読み出し部１２４から補間ブロックが供給され、フィルター係数算出部１３０からフィルター係数が供給されると、供給された補間ブロックとフィルター係数とを用いて、畳み込み演算により、補正後座標の画素値を算出する（ステップＳ１１６）。なお、画素補間部１２５に背景色データが供給されると、画素補間部１２５によって算出された補正後座標の画素値は、背景色データになる。
【００７９】
以上のステップＳ１０２〜ステップＳ１１６を、補正後座標（Ｘ，Ｙ）＝（０，０）〜（フレーム幅−１，フレーム高さ−１）まで繰り返して行うことにより、補正後映像データが生成される。本実施例では、フレーム幅１９２０、フレーム高さ１２００であるため、補正後座標（Ｘ，Ｙ）＝（０，０）〜（１９１９，１１９９）まで、ステップＳ１０２〜ステップＳ１１６を繰り返して行う。なお、フレーム幅、フレーム高さが本実施例と異なる場合には、ステップＳ１０２〜ステップＳ１１６を、補正後座標（Ｘ，Ｙ）＝（０，０）〜（フレーム幅−１，フレーム高さ−１）まで繰り返して行うことにより、補正後映像データが生成される。
【００８０】
Ａ−８．実施例の効果：
以上説明したように、本実施例におけるプロジェクター１００によれば、キャッシュブロック制御部１２１および座標変換部１２９にフレームスタート信号が入力されると、キャッシュブロック記憶部１２２の初期化が開始され、同時に、補正後映像データ生成処理が開始される。すなわち、補正後映像データ生成処理は、キャッシュブロック記憶部１２２の初期化が完了されるのを待たずに、換言すればキャッシュブロック記憶部１２２の初期化の完了に先立って行われる。したがって、キャッシュブロック記憶部１２２の初期化が完了してから補正後映像データ生成処理を開始する場合（後述する比較例）に比べて、キャッシュブロック記憶部１２２の初期化開始から１フレーム分の補正後映像データの生成が完了するまでの処理時間である、台形歪み補正処理にかかる処理時間を短縮することができる。
【００８１】
なお、コンピュータにおいて、一般に、メインメモリよりも高速なキャッシュメモリに、頻繁に使用するデータを一時的に記憶させて、動作速度の遅いメインメモリに代えて、キャッシュメモリとＣＰＵとの間で情報のやり取りをすることにより、処理速度を高速化している。コンピュータにおいて、通常、処理に必要なデータがメインメモリから読み出されてキャッシュメモリに格納されると、次回の処理時にもそのまま、前回使用されたデータが格納されており、次回の処理時に必要なデータがキャッシュメモリに存在すれば利用し、存在しなければ、メインメモリから必要なデータを読み出してキャッシュメモリに格納する。これに対して、本実施例においては、フレームバッファー１５０がメインメモリ、キャッシュブロック記憶部１２２がキャッシュメモリの機能を果たす。本実施例では、台形歪み補正処理において、最初にキャッシュブロック記憶部１２２に格納すべきデータが予めわかっているため、「キャッシュブロック記憶部１２２の初期化」という概念を導入した。一般に、記憶装置の初期化が完了するまではデータ処理が開始されないが、本実施例では、記憶装置（キャッシュブロック記憶部１２２）の初期化の完了に先立って、補正後映像データ生成処理を開始しているため、台形歪み補正処理のように、大量の処理を行う場合における処理時間を短縮することができる。
【００８２】
以下に、本実施例の効果について、補正後映像ＩＧ１を例示して（図１１，１２）詳細に説明する。図１１は補正後映像ＩＧ１の一例を模式的に示す模式図、図１２は補正後映像ＩＧ１の他の例を模式的に示す模式図である。図１１，１２では、背景色で表示される領域に斜線ハッチングを付して表示している。図１１は、プロジェクター１００を縦４５度（θｙ＝４５）、横２０度（θｘ＝２０）に傾けて配置した場合の補正後映像ＩＧ１を例示している。なお、図１３はプロジェクター１００の傾き角を示す図である。図１３（Ａ）に示すように、プロジェクター１００をスクリーンＳＣと対向して配置した様子を横から見た場合に、プロジェクター１００の投写軸がスクリーンに対して直角になる場合のプロジェクター１００の配置を縦０度（θｙ＝０）として、仰ぎ角をθｙ（縦角度）としている。図１３（Ｂ）に示すように、プロジェクター１００をスクリーンＳＣと対向して配置した様子を上から見た場合に、プロジェクター１００の投写軸がスクリーンに対して直角になる場合のプロジェクター１００の配置を横０度（θｘ＝０）として、右回りの角をθｘ（横角度）としている。
【００８３】
図１１に示す例では、液晶パネル部１９２の上部の破線で示したラインまでの領域ＡＲ１は、全て背景色である。図２に示したように、台形歪み補正処理は、液晶パネル部１９２の図面上から下に向かって（ピクセル方向に座標の小さい方から大きい方に向かって）、１ラインずつ、液晶パネル部１９２の図面左から右に向かって（ライン方向に座標の小さい方から大きい方に向かって）処理される。補正後映像データ生成処理において、領域ＡＲ１を処理する間は全て背景色であるため、キャッシュブロック記憶部１２２にキャッシュブロックが格納されていなくても、処理を進めることができる。そのため、キャッシュブロック記憶部１２２の初期化が完了するのを待たずに、補正後映像データ生成処理を開始することにより、台形歪み補正処理にかかる処理時間を短縮することができる。なお、仮に領域ＡＲ１の補正後映像データ生成処理を行っている間にキャッシュブロック記憶部１２２の初期化が完了すれば、補正後映像ＩＧ１の画素値を算出する際の、キャッシュブロック記憶部１２２へのキャッシュブロックの書き込み待ち時間を短縮することができる。
【００８４】
図１２は、プロジェクター１００を縦２０度（θｙ＝２０）、横３０度（θｘ＝３０）に傾けて配置した場合の補正後映像ＩＧ１を例示している。図１２に示す例では、液晶パネル部１９２の１ライン目の最初の数画素（図１２において、ＡＲ２と示す）は、背景色であるものの、１ライン目から補正後映像ＩＧ１が表示されるため、補正後映像データ生成処理の開始後、図１１に示す例に比べて早く補正前映像データが必要になる。このような場合であっても、液晶パネル部１９２の１ライン目の最初の数画素の補正後映像データ生成処理を進めている間に、キャッシュブロック記憶部１２２の初期化を進めることができるため、キャッシュブロック記憶部１２２の初期化が完了してから補正後映像データ生成処理を開始する場合に比べて、台形歪み補正処理の処理時間を短縮することができる。
【００８５】
以下、比較例としてキャッシュブロック記憶部１２２の初期化の完了を待って、補正後映像データ生成処理が開始される場合の処理の流れを説明する。図１４は、比較例の補正後映像データ生成処理の流れを模式的に示す工程図である。比較例では、本実施例と同様に、フレームスタート信号が入力されると（ステップＴ１０２）、補正後座標（０，０）について、補正前座標を算出する（ステップＴ１０４）。続いて、ヒット判定部１３１は、キャッシュブロック記憶部１２２の初期化が完了したか否かを判定する（ステップＴ１０６）。キャッシュブロック記憶部１２２の初期化が完了するまでは、ステップＴ１０６を繰り返し、次のステップに進まない。キャッシュブロック記憶部１２２の初期化が完了すると、初めて、補正後座標（０，０）についての補間ブロックの読み出し（ステップＴ１１２）、フィルター係数の算出（ステップＴ１１４）の処理を行った後、画素補間演算の処理を行う（ステップＴ１１６）。すなわち、台形歪み補正処理にかかる処理時間は、１フレーム当り、キャッシュメモリの初期化にかかる時間＋補正後映像データ生成処理にかかる時間になる。
【００８６】
上記効果に加えて、本実施例では、キャッシュブロック用タグ情報記憶部１２３において、タグ情報が、キャッシュブロック記憶部１２２が備える全てのブロック領域に対応して、ブロック領域の並びと同一の並びで格納されている。そして、キャッシュブロックは、キャッシュブロックの列番号と同一の列番号のブロック領域に格納されている。したがって、ヒット判定を行う際に、ヒット判定を行う対象の座標について、まず、タグ情報の列を抽出して、その列について、順次ヒット判定を行うため、ｘ座標の検索を簡略化でき、ヒット判定を高速化することができる。
【００８７】
また、本実施例では、１次バッファとして大容量かつ低速なフレームバッファ（ＤＲＡＭ）を用い、２次バッファとして小容量かつ高速なキャッシュメモリ（ＳＲＡＭ）を用いているため、コスト低減を図ることができる。
【００８８】
Ｂ．変形例
なお、本発明は上記した実施例に限られるものではなく、その要旨を逸脱しない範囲において種々の態様にて実施することが可能である。
【００８９】
（１）上記した本実施例では、キャッシュブロック（０，０）〜（２３９，３）を初期化ブロックとする例を示したが、初期化ブロックは上記実施例に限定されず、台形歪み補正処理において必要となりそうなキャッシュブロックを初期化ブロックとすればよい。例えば、タイリング投写する（２台以上のプロジェクターを用いて映像を投写表示する）際に、補正前映像の上部の一部が不要である場合は、必要な補正前映像データのうちの最上部のラインを含むキャッシュブロックを含む４行×２４０列のキャッシュブロックを初期化ブロックとしてもよい。クリッピングして投写する場合も同様に、必要な映像データのうちの最上部のラインを含むキャッシュブロックを含む４行×２４０列のキャッシュブロックを初期化ブロックとしてもよい。すなわち、クリッピングして投写する場合には、補正前映像のうち表示される領域のピクセル方向の最小座標（最小ライン）に基づいて、初期ブロックを決定してもよい。また、プロジェクター１００を逆吊りして使用する場合であって、例えば、最下ラインから台形歪み補正処理を開始する場合には、最下ラインを含むキャッシュブロック（０，１４６）〜（２３９，１４９）を初期ブロックとしてもよい。具体的には、座標変換係数Ｅ，Ｈが負の場合には逆吊りと判定して、上記ブロックを初期化ブロックに決定する。換言すれば、座標変換係数Ｅ，Ｈに基づいて、初期ブロックを決定してもよい。なお、初期化ブロックは、４行×２４０列でなくてもよい。
【００９０】
（２）上記した実施例において、さらに、台形歪み補正処理の進行中に、後の画素補間処理に必要になるキャッシュブロックを予測して、そのキャッシュブロックを、キャッシュブロック記憶部１２２に格納させる先読み処理を行う構成にしてもよい。このようにすると、さらに、台形歪み補正処理の処理時間を短縮することができる。
【００９１】
（３）１フレームの画素数、キャッシュブロックの画素数、および補間ブロックの画素数（画素補間に用いる画素数）は、上記した実施例に限定されない。
【００９２】
（４）上記した実施例におけるフレームバッファー１５０と台形歪み補正部１２０を備える射影変換処理装置として構成してもよい。例えば、射影変換処理装置にて変換処理を施した映像データに基づいて、液晶パネル、有機ＥＬ（Electro-Luminescence：エレクトロルミネッセンス）パネル等の映像表示部に映像を表示させる構成の映像表示装置を構成することができる。また、射影変換処理装置と、液晶パネル等の映像表示部を備えるデジタルカメラを構成してもよい。この場合、射影変換処理装置は、カメラのセンサーが、被写体に対して平行でない場合に生じる歪み（パースペクティブの歪み）を補正して、映像表示部に出力することによって、カメラのセンサーが被写体に対して平行になるように撮影した映像が、映像表示部に表示される。また、例えば、射影変換処理装置にて変換処理を施した映像データを、プリンタに出力したり、ハードディスクに書き込む等、種々の出力装置に出力する構成にしてもよい。このような場合も、上記した実施例と同様に、キャッシュブロック記憶部１２２の初期化の完了に先立って補正後映像データ処理を行うことにより、射影変換処理の処理時間の短縮を図ることができる。
【００９３】
（５）上記した実施例において、プロジェクター１００は、透過型の液晶パネル部１９２を用いて、照明光学系１９０からの光を変調しているが、透過型の液晶パネル部１９２に限定されず、例えば、デジタル・マイクロミラー・デバイス（ＤＭＤ（登録商標）：Ｄｉｇｉｔａｌ  Ｍｉｃｒｏ−Ｍｉｒｒｏｒ  Ｄｅｖｉｃｅ）や、反射型の液晶パネル（ＬＣＯＳ（登録商標）：Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  ｏｎ  Ｓｉｌｉｃｏｎ）等を用いて、照明光学系１９０からの光を変調する構成にしてもよい。また、小型ＣＲＴ（陰極線管）上の映像を被投写面に投写するＣＲＴプロジェクターでもよいし、有機ＥＬを用いて映像光を生成する構成にしてもよい。
【００９４】
（６）上記実施例においてソフトウェアで実現されている機能の一部をハードウェアで実現してもよく、あるいは、ハードウェアで実現されている機能の一部をソフトウェアで実現してもよい。
【００９５】
（７）上記実施例において、キャッシュブロック記憶部１２２は、１フレームのフレーム幅と同じ幅を有しており、キャッシュブロックは、キャッシュブロックの列番号と同一の列番号のブロック領域に格納されているが、キャッシュブロック記憶部１２２の幅は１フレームのフレーム幅と同一でなくてもよい。また、キャッシュブロックは、キャッシュブロックの列番号と同一の列番号のブロック領域に格納されていなくてもよい。このようにしても、タグ情報が、ｘ座標とｙ座標の両方の情報を備えることにより、タグ情報を用いてヒット判定を行うことができる。
【符号の説明】
【００９６】
１００…プロジェクター
１０２…高速バス
１０４…低速バス
１１０…映像入力部
１１２…ＩＰ変換部
１１４…解像度変換部
１１６…映像合成部
１２０…台形歪み補正部
１２１…キャッシュブロック制御部
１２２…キャッシュブロック記憶部
１２３…キャッシュブロック用タグ情報記憶部
１２４…補間ブロック読み出し部
１２５…画素補間部
１２６…ＦＩＦＯ部
１２７…レジスター部
１２８…制御部
１２９…座標変換部
１３０…フィルター係数算出部
１３１…ヒット判定部
１４０…液晶パネル駆動部
１５０…フレームバッファー
１６０…高速バス制御部
１６２…低速バス制御部
１７０…プロセッサー部
１８０…撮像部
１８２…センサー部
１９０…照明光学系
１９２…液晶パネル部
１９４…投写光学系
ＳＣ…スクリーン
ＩＧ０…補正前映像
ＩＧ１…補正後映像
【図１】
2011199626.tif 000006
【図２】
2011199626.tif 000007
【図３】
2011199626.tif 000008
【図４】
2011199626.tif 000009
【図５】
2011199626.tif 000010
【図６】
2011199626.tif 000011
【図７】
2011199626.tif 000012
【図８】
2011199626.tif 000013
【図９】
2011199626.tif 000014
【図１０】
2011199626.tif 000015
【図１１】
2011199626.tif 000016
【図１２】
2011199626.tif 000017
【図１３】
2011199626.tif 000018
【図１４】
2011199626.tif 000019