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