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