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