(57)【要約】【課題】  キーストーン補正に係る画素位置補正を行っても、画質の良好な画像を得ることを可能にするための技術を提供すること。【解決手段】  ＣＰＵ１０１は入力画像に対して、入力画像のサイズを拡大する射影変換行列の逆行列を用いた逆射影変換を行うことで逆射影画像を生成する。入力画像上の着目画素位置が逆射影変換により逆射影画像上の着目逆射影画素位置に変換された場合、着目画素位置の周辺の画素間の距離に対する、着目逆射影画素位置の周辺の画素間の距離、の比率を求める。入力画像のナイキスト周波数とこの比率との積を遮断周波数とするローパスフィルタのフィルタ係数群を計算する。入力画像において着目画素位置を含む画素列中のそれぞれの画素の画素値に対してローパスフィルタ係数群のそれぞれを乗じた結果を合計した合計値を、フィルタ処理済み画像における着目画素位置の画素値として求める。【選択図】  図１
2012060517.tif 000002
【特許請求の範囲】
【請求項１】
入力画像に対して、該入力画像のサイズを拡大する射影変換行列の逆行列を用いた逆射影変換を行うことで逆射影画像を生成する手段と、
前記入力画像上の着目画素位置が前記逆射影変換により前記逆射影画像上の着目逆射影画素位置に変換された場合、前記着目画素位置の周辺の画素間の距離に対する、前記着目逆射影画素位置の周辺の画素間の距離、の比率を求める第１の計算手段と、
前記入力画像のナイキスト周波数と前記比率との積を遮断周波数とするローパスフィルタのフィルタ係数群を計算する第２の計算手段と、
前記入力画像において前記着目画素位置を含む画素列中のそれぞれの画素の画素値に対して前記フィルタ係数群のそれぞれを乗じた結果を合計した合計値を、フィルタ処理済み画像における前記着目画素位置の画素値として求めるフィルタ手段と
を備えることを特徴とする画像処理装置。
【請求項２】
更に、
前記フィルタ処理済み画像における着目画素の周辺の画素の画素値を用いた補間処理を行うことで得られる画素値を、出力用画像における該着目画素の画素値として設定する設定手段を備えることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第１の計算手段は、前記着目画素位置の周辺において前記入力画像の一辺に沿った方向の画素間の距離に対する、前記着目逆射影画素位置の周辺において前記方向の画素間の距離、の比率を求め、
前記フィルタ手段は、前記入力画像において前記着目画素位置を含み且つ前記方向に並んでいる画素列中のそれぞれの画素の画素値に対して前記フィルタ係数群のそれぞれを乗じた結果を合計した合計値を、フィルタ処理済み画像における前記着目画素位置の画素値として求める
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
画像処理装置が行う画像処理方法であって、
前記画像処理装置が有する生成手段が、入力画像に対して、該入力画像のサイズを拡大する射影変換行列の逆行列を用いた逆射影変換を行うことで逆射影画像を生成する工程と、
前記画像処理装置が有する第１の計算手段が、前記入力画像上の着目画素位置が前記逆射影変換により前記逆射影画像上の着目逆射影画素位置に変換された場合、前記着目画素位置の周辺の画素間の距離に対する、前記着目逆射影画素位置の周辺の画素間の距離、の比率を求める第１の計算工程と、
前記画像処理装置が有する第２の計算手段が、前記入力画像のナイキスト周波数と前記比率との積を遮断周波数とするローパスフィルタのフィルタ係数群を計算する第２の計算工程と、
前記画像処理装置が有するフィルタ手段が、前記入力画像において前記着目画素位置を含む画素列中のそれぞれの画素の画素値に対して前記フィルタ係数群のそれぞれを乗じた結果を合計した合計値を、フィルタ処理済み画像における前記着目画素位置の画素値として求めるフィルタ工程と
を備えることを特徴とする画像処理方法。
【請求項５】
コンピュータを、請求項１乃至３の何れか１項に記載の画像処理装置が有する各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理技術に関し、特に、フロントプロジェクタ等におけるキーストーン歪みを補正するためのキーストーン補正処理技術に関する。
【背景技術】
【０００２】
液晶プロジェクタがスクリーンに画像を投影する際に起こる画像の台形歪みを電子的に補正するものとしては、電子台形歪み補正処理技術が従来から知られている（特許文献１）。
【０００３】
電子台形歪み補正処理技術では、台形歪みを相殺して元の画像の形状として投影されるように、画像の形状を変形させる。そしてその後に補間・再標本化処理を行うことにより、変形後の形状に応じた画像を生成する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−４４４８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
電子台形歪み補正処理技術は、形状を変形する際に画像が縮小される。画像の縮小に伴い、画像の空間周波数成分のうち、高周波成分が折り返し雑音となり、モアレなどの画質劣化が起こる。
【０００６】
これを低減させるため、フィルタ処理が行なわれる。しかしながら、従来技術では、形状変形処理前において、画像中の画素の位置に依存せずに所定の遮断周波数を持つフィルタを用いて、フィルタ処理を行なっていた。
【０００７】
形状変形後には隣接画素間の距離が変わり、フィルタ処理における遮断周波数が変わるため、形状変形後に画像の様々な領域で、フィルタ処理の遮断周波数と、形状変形後の画像の再標本化におけるナイキスト周波数と、が一致していなかった。このため、従来技術では、画像が過度にボケたり、モアレが残存したりして、画質が損なわれるという課題があった。
【０００８】
本発明は、上記の課題に鑑みてなされたものであり、キーストーン補正に係る画素位置補正を行っても、画質の良好な画像を得ることを可能にするための技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。即ち、入力画像に対して、該入力画像のサイズを拡大する射影変換行列の逆行列を用いた逆射影変換を行うことで逆射影画像を生成する手段と、前記入力画像上の着目画素位置が前記逆射影変換により前記逆射影画像上の着目逆射影画素位置に変換された場合、前記着目画素位置の周辺の画素間の距離に対する、前記着目逆射影画素位置の周辺の画素間の距離、の比率を求める第１の計算手段と、前記入力画像のナイキスト周波数と前記比率との積を遮断周波数とするローパスフィルタのフィルタ係数群を計算する第２の計算手段と、前記入力画像において前記着目画素位置を含む画素列中のそれぞれの画素の画素値に対して前記フィルタ係数群のそれぞれを乗じた結果を合計した合計値を、フィルタ処理済み画像における前記着目画素位置の画素値として求めるフィルタ手段とを備えることを特徴とする。
【発明の効果】
【００１０】
本発明の構成によれば、キーストーン補正に係る画素位置補正を行っても、画質の良好な画像を得ることができる。
【図面の簡単な説明】
【００１１】
【図１】コンピュータ１００のハードウェア構成例を示すブロック図。
【図２】従来と本実施形態とで、キーストーン補正処理との違いについて説明する図。
【図３】コンピュータ１００が行う処理のフローチャート。
【図４】射影変換の模式図。
【図５】ステップＳ３０３における処理のフローチャート。
【図６】ステップＳ５０６における処理を説明する図。
【図７】ステップＳ５０７における処理のフローチャート。
【図８】ステップＳ７０４における処理を説明する図。
【図９】ステップＳ３０４における処理のフローチャート。
【図１０】ステップＳ９０７における処理を説明する図。
【図１１】プロジェクタ装置１１０１のハードウェア構成例を示すブロック図。
【図１２】ビデオ処理部１１１５内の機能構成例を示す図。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の１つである。
【００１３】
［第１の実施形態］
先ず、画像処理装置として機能するコンピュータ１００のハードウェア構成例について、図１のブロック図を用いて説明する。なお、図１に示した構成は、以下の説明で主に用いる構成のみを示したものであり、これ以外の構成を加えても良いし、場合によっては、幾つかの構成を省いても良い。
【００１４】
ＣＰＵ１０１は、ＲＯＭ１０２やＲＡＭ１０３に格納されているコンピュータプログラムやデータを用いてコンピュータ１００全体の動作制御を行うと共に、コンピュータ１００が行うものとして後述する各処理を実行する。
【００１５】
ＲＯＭ１０２には、コンピュータ１００の設定データやブートプログラムなどが格納されている。ＲＡＭ１０３は、入力装置１０５やネットワークＩ／Ｆ１０４を介して取得したコンピュータプログラムやデータ、外部記憶装置１０７からロードされたコンピュータプログラムやデータを一時的に記憶するためのエリアを有する。更に、ＲＡＭ１０３は、ＣＰＵ１０１が各種の処理を実行する際に用いるワークエリアを有する。即ち、ＲＡＭ１０３は、各種のエリアを適宜提供することができる。
【００１６】
ネットワークＩ／Ｆ１０４は、ＬＡＮやインターネット等のネットワーク（優先、無線は問わない）を介して外部機器とのデータ通信を行う為のものである。入力装置１０５は、マウスやキーボードなど、ユーザが各種の指示を入力するために操作するポインティングデバイスであり、ユーザがこの入力装置１０５を操作することで、各種の指示をＣＰＵ１０１に対して入力することができる。なお、この入力装置１０５は、被写体の静止画像や動画像を撮像する撮像部としても良く、この場合、コンピュータ１００は、ディジタルカメラやビデオカメラとなる。
【００１７】
出力装置１０６は、液晶画面やＣＲＴにより構成されており、ＣＰＵ１０１による処理結果を画像や文字などでもって表示することができる。外部記憶装置１０７は、ハードディスクドライブ装置などの、大容量情報記憶装置である。この外部記憶装置１０７には、ＯＳ（オペレーティングシステム）や、コンピュータ１００が行うものとして後述する各処理をＣＰＵ１０１に実行させるためのコンピュータプログラムやデータ、そして既知の情報として後述する様々な情報が保存されている。外部記憶装置１０７に保存されているコンピュータプログラムやデータは、ＣＰＵ１０１による制御に従って適宜ＲＡＭ１０３にロードされ、ＣＰＵ１０１による処理対象となる。上記の各部はバス１０８に接続されている。
【００１８】
次に、従来のキーストーン補正処理と、本実施形態に係るキーストーン補正処理と、の違いについて、図２を用いて説明する。図２の（ａ）〜（ｊ）では、キーストーン補正処理の対象となる入力画像中のある領域（着目領域）における画像信号の周波数特性を表しており、それぞれ横軸は周波数、縦軸は周波数スペクトルのパワー、を示している。
【００１９】
入力画像に対してキーストーン補正処理を行うと、キーストーン補正処理済みの画像における画素間距離が、入力画像における画素間距離よりも小さくなる。この小さくなる度合いを以下では「縮小率」と呼称する。しかも、この縮小率は、入力画像中の画素位置毎に異なる。
【００２０】
図２（ａ）、（ｃ）、（ｅ）、（ｇ）、（ｉ）には、着目領域を入力画像の表示解像度に対して８０％縮小して表示させる場合を示している。図２（ｂ）、（ｄ）、（ｆ）、（ｈ）、（ｊ）には、着目領域を入力画像の表示解像度に対して５０％縮小して表示させる場合を示している。また、以下では、ωＮは、入力画像の画像信号のナイキスト周波数を表しており、ωｓは、入力画像の画像信号の標本化周波数を表している。ここで、ナイキストの標本化定理により、標本化周波数ωｓとナイキスト周波数ωＮとの関係はωｓ＝２×ωＮである。
【００２１】
従来、図２（ａ）に示すような周波数特性を有する着目領域、即ち、縮小率８０％となる領域に対して遮断周波数ωｃ０のフィルタ処理を行うと、図２（ｃ）に示す如く、遮断周波数ωｃ０からナイキスト周波数ωＮまでの間の周波数帯域が遮断される。同様に、従来では図２（ｂ）に示すような周波数特性を有する着目領域、即ち、縮小率５０％となる領域に対して遮断周波数ωｃ０のフィルタ処理を行うと、図２（ｄ）に示す如く、遮断周波数ωｃ０からナイキスト周波数ωＮまでの間の周波数帯域が遮断される。ここで、何れの場合もωｃ０＝０．８×ωＮとする。
【００２２】
図２（ｅ）には、射影変換処理を行なった後に補間・再標本化処理を行なうことで、入力画像の表示解像度に対して８０％縮小して表示させた際の周波数特性を示している。射影変換後の画素間の距離は、射影変換前の画素間の距離の８０％になるため、射影変換後の各周波数は射影変換前の１．２５倍になる。ωｓ＿ｉｎ１は、射影変換により８０％に縮小された画像領域における画像信号の標本化周波数を表しており、ωｓ＿ｉｎ１＝１．２５×ωｓである。ωＮ＿ｉｎ１は、射影変換により８０％に縮小された画像領域における画像信号のナイキスト周波数を表しておりωＮ＿ｉｎ１＝１．２５×ωＮである。ωｃ０＿ｉｎ１は、射影変換により８０％に縮小された画像領域においてωｃ０を換算して得た周波数を表しておりωｃ０＿ｉｎ１＝１．２５×ωｃ０＝ωＮである。ωｃ０＿ｉｎ１＝ωＮとなっていることから、フィルタ処理における遮断周波数は補間・再標本化処理後に最適となっている。
【００２３】
これに対し、図２（ｆ）には、射影変換処理を行なった後に補間・再標本化処理を行なうことで、入力画像の表示解像度に対して５０％縮小して表示させた際の周波数特性を示している。射影変換後の画素間の距離は、射影変換前の画素間の距離の５０％になるため、射影変換後の各周波数特性は射影変換前の２倍になる。ωｓ＿ｉｎ２は、射影変換により５０％に縮小された画像領域における画像信号の標本化周波数を表しており、ωｓ＿ｉｎ２＝２×ωｓである。ωＮ＿ｉｎ２は、射影変換により５０％に縮小された画像領域における画像信号のナイキスト周波数を表しておりωＮ＿ｉｎ２＝２×ωＮである。ωｃ０＿ｉｎ２は、射影変換により５０％に縮小された画像領域においてωｃ０を換算して得た周波数を表しておりωｃ０＿ｉｎ２＝２×ωｃ０≠ωＮである。ωｃ０＿ｉｎ２≠ωＮとなっていることから、フィルタ処理における遮断周波数は補間・再標本化処理後に最適となっていない。これでは、補間・再標本化処理後に出力される画像には、ωＮより周波数帯域が高い折り返し周波数成分として含まれてしまい、モアレなどにより画質が低下する。
【００２４】
図示していないが、ωｃ０＝０．５×ωＮを満たす遮断周波数ωｃ０のフィルタ処理を行うと、５０％の縮小処理に対しては、ωｃ０＿ｉｎ２＝２×ωｃ０＝ωＮとなり、入力画像に対して遮断周波数ωｃ０が最適な遮断周波数の設定となる。また、８０％の縮小処理に対しては、ωｃ０＿ｉｎ２＝２×ωｃ０≠ωＮとなり、入力画像に対して遮断周波数ωｃ０が最適な遮断周波数の設定とならず、補間・再標本化処理後に出力される画像には、ωＮより周波数帯域が低い周波数成分が遮断される。このため、ボケにより画質が低下する。
【００２５】
従来技術では遮断周波数ωｃ０を固定して用いているため、画像内の各画素位置で縮小率が変わってしまうと、画素位置によっては最適なフィルタ処理を行うことはできない。このため、ボケやモアレがキーストーン補正処理後の画像内に起こり、画質を低下させていた。
【００２６】
然るに、本実施形態では、ある画素位置に対する遮断周波数を、この画素位置における縮小率に合わせて変更する。図２（ａ）に示すような周波数特性を有する着目領域、即ち、縮小率８０％となる領域に対して遮断周波数ωｃ１のフィルタ処理を行うと、図２（ｇ）に示す如く、遮断周波数ωｃ１からナイキスト周波数ωＮまでの間の周波数帯域が遮断される。本実施形態ではこの場合における遮断周波数ωｃ１をωｃ１＝０．８×ωＮと設定する。同様に、図２（ｂ）に示すような周波数特性を有する着目領域、即ち、縮小率５０％となる領域に対して遮断周波数ωｃ２のフィルタ処理を行うと、図２（ｈ）に示す如く、遮断周波数ωｃ２からナイキスト周波数ωＮまでの間の周波数帯域が遮断される。本実施形態ではこの場合における遮断周波数ωｃ２をωｃ２＝０．５×ωＮと設定する。即ち、本実施形態では、縮小率Ｒ（０＜Ｒ＜１００）％となる領域に対するフィルタ処理での遮断周波数ωをω＝Ｒ／１００×ωＮと設定する。
【００２７】
図２（ｉ）には、射影変換処理を行なった後に補間・再標本化処理を行なうことで、入力画像の表示解像度に対して８０％縮小して表示させた際の周波数特性を示している。射影変換後の画素間の距離は、射影変換前の画素間の距離の８０％になるため、射影変換後の各周波数は射影変換前の１．２５倍になる。ωｃ１＿ｉｎ１は、射影変換により８０％に縮小された画像領域においてωｃ０を換算して得た周波数を表しておりωｃ１＿ｉｎ１＝１．２５×ωｃ０＝ωＮである。ωｃ０＿ｉｎ１＝ωＮとなっていることから、フィルタ処理における遮断周波数は補間・再標本化処理後に最適となっている。
【００２８】
図２（ｊ）には、射影変換処理を行なった後に補間・再標本化処理を行なうことで、入力画像の表示解像度に対して５０％縮小して表示させた際の周波数特性を示している。射影変換後の画素間の距離は、射影変換前の画素間の距離の５０％になるため、射影変換後の各周波数は射影変換前の２倍になる。ωｃ２＿ｉｎ２は、射影変換により５０％に縮小された画像領域においてωｃ０を換算して得た周波数を表しておりωｃ２＿ｉｎ２＝２×ωｃ０＝ωＮである。ωｃ２＿ｉｎ２＝ωＮとなっていることから、フィルタ処理における遮断周波数は補間・再標本化処理後に最適となっている。
【００２９】
このように、画像領域の縮小率が異なっても、その縮小率に応じて遮断周波数を設定しているため、最適なフィルタ処理が実現できることがわかる。このように、本実施形態の特徴の１つは、画素位置毎にその縮小率に応じた遮断周波数を設定してフィルタ処理を行うことにあり、これにより、画像全域において最適なフィルタ処理を実現し、ボケやモアレがないキーストーン補正処理を行なうことができる。
【００３０】
次に、コンピュータ１００が行う処理について、同処理のフローチャートを示す図３を用いて説明する。なお、図３のフローチャートに従った処理をＣＰＵ１０１に実行させるためのコンピュータプログラムやデータは、外部記憶装置１０７に保存されている。然るに、ＣＰＵ１０１は、このコンピュータプログラムやデータを外部記憶装置１０７からＲＡＭ１０３にロードし、ロードしたコンピュータプログラムやデータを用いて処理を実行することで、図３のフローチャートに従った処理を行うことになる。即ち、図３のフローチャートに従った各ステップにおける処理の主体は何れもＣＰＵ１０１である。
【００３１】
先ず、ステップＳ３０２では、射影変換前の四角形の４つ頂点座標と、射影変換後の四角形の４つ頂点座標と、を取得する。本ステップでは、外部記憶装置１０７に保存しておいたそれぞれの頂点座標をＲＡＭ１０３にロードしても良いし、入力装置１０５を用いてユーザが入力した頂点座標をＲＡＭ１０３に取得しても良い。そして本ステップでは更に、この８つの頂点座標を用いて、後述する射影変換パラメータを計算する。本ステップにおける処理について、図４に図示される射影変換の模式図を用いて説明する。
【００３２】
射影変換とは、図４に示すように、平面P上の点を、投影中心Ｏに関して別の平面Q上の点に投影写像することである。具体的には、平面P上の点の座標を（ｘ、ｙ）、平面Q上の点の座標を（Ｘ、Ｙ）とすると、前者の点から後者の点への射影変換は以下の式で表すことができる。
【００３３】
【数１】
2012060517.tif 000003
【００３４】
この式は同次座標を用いて以下のように表すことができる。
【００３５】
【数２】
2012060517.tif 000004
【００３６】
然るに、前者の点を後者の点に変換する為の射影変換パラメータは、以下の式で表されるＭとする。
【００３７】
【数３】
2012060517.tif 000005
【００３８】
図４における四角形ＡＢＣＤから四角形ＡＢＥＦへ射影変換する場合など、２つの四角形における合計８つの頂点の座標が取得できる場合は、非特許文献１に記載されている技術を用いることより、射影変換パラメータＭを解くことができる。
【００３９】
然るに、本実施形態では、射影変換前の点から射影変換後の点への変換を可能にする射影変換パラメータを取得できるのであれば、どのような取得形態を採用しても良い。また、以下の説明では、射影変換前の座標系を平面Ｐとし、射影変換後の座標系を平面Ｑとする。
【００４０】
図４において、四角形ＡＢＣＤは、平面Ｐ上に位置する写像前の画像を表している。四角形ＡＢＥＦは、この画像を平面Ｑ上に射影変換することで得られる画像を表している。四角形ＡＢＧＨは、四角形ＡＢＣＤと相似の形状を有する、平面Ｑ上の四角形である（ＡＢＣＤ∽ＡＢＧＨ）。四角形ＡＢＩＪは、四角形ＡＢＧＨで表される画像を平面Ｐ上に射影変換した画像を表している。
【００４１】
なお、本実施形態では、四角形ＡＢＥＦにおける頂点Ａ、頂点Ｂ、頂点Ｅ、頂点Ｆ、四角形ＡＢＧＨにおける頂点Ａ、頂点Ｂ、頂点Ｇ、頂点Ｈは、任意の座標位置に設定してよいものとする。
【００４２】
また、ステップＳ３０２では、射影変換パラメータＭが表す射影変換（平面Ｐ→平面Ｑへの射影変換）とは逆の射影変換（平面Ｑ→平面Ｐへの射影変換）を表す逆射影変換パラメータＭ−１を求める。
【００４３】
Ｍ−１はＭの逆行列である。然るに、射影変換パラメータＭと逆射影変換パラメータＭ−１との関係は以下の式に示される関係となる。
【００４４】
【数４】
2012060517.tif 000006
【００４５】
なお、平面Qから平面Pへの射影変換は、式１における入力（ｘ、ｙ）と出力（Ｘ、Ｙ）とを置換した以下の式を用いても可能である。
【００４６】
【数５】
2012060517.tif 000007
【００４７】
この式は、同次座標を用いて以下のように表すことができる。
【００４８】
【数６】
2012060517.tif 000008
【００４９】
なお、逆射影変換パラメータＭ−１は、以下の式で表されるものとなる。
【００５０】
【数７】
2012060517.tif 000009
【００５１】
ステップＳ３０３では、射影変換を行う元となる入力画像を外部記憶装置１０７等からＲＡＭ１０３にロードし、この入力画像に対して、ローパスフィルタ処理を行う。ステップＳ３０３における処理について、同処理の詳細を示す図５のフローチャートを用いて説明する。
【００５２】
ステップＳ５０２では、ＲＡＭ１０３に入力画像を取得する。この取得形態については特に限定するものではなく、外部記憶装置１０７からＲＡＭ１０３にロードしても良いし、ネットワークＩ／Ｆ１０４を介して外部の装置からＲＡＭ１０３にダウンロードしても良い。
【００５３】
ステップＳ５０３では、上記ステップＳ３０２で求めた逆射影変換パラメータＭ−１をＲＡＭ１０３に取得する。ステップＳ５０４では、平面Ｑ上に入力画像を配置した場合に、この入力画像上の画素位置（＝平面Ｑ上の座標位置）を示す変数Ｘ、Ｙを更新する。変数Ｘ、Ｙのそれぞれの初期値は０であり、本ステップでは、変数Ｘの値がｘ＿ｍａｘ（入力画像の表示解像度におけるＸ方向（入力画像の一辺に沿った方向）の画素数）に達していない限りは変数Ｘの値を１つインクリメントし、処理はステップＳ５０５に進む。一方、変数Ｘの値がｘ＿ｍａｘに達した場合には、変数Ｘの値を０に初期化し、変数Ｙの値を１つインクリメントし、処理はステップＳ５０５に進む。また、変数Ｙの値がｙ＿ｍａｘ（入力画像の表示解像度におけるＹ方向の画素数）に達した場合には、図５のフローチャートに従った処理は終了する。
【００５４】
ステップＳ５０５では、逆射影変換パラメータＭ−１を用いて以下の式に従った計算を行うことで、平面Ｑ上の座標位置（Ｘ、Ｙ）に対して逆射影変換を行い、平面Ｐ上の、対応する座標位置（ｘ、ｙ）を求める。
【００５５】
【数８】
2012060517.tif 000010
【００５６】
なお、本ステップでは以降の処理の為に、平面Ｑ上の座標位置（Ｘ、Ｙ）の周辺座標位置に対しても同様の逆射影変換を行い、平面Ｐ上の、対応する座標位置を求めておく。具体的には、平面Ｑ上の座標位置（Ｘ＋１、Ｙ）、（Ｘ、Ｙ＋１）に対しても、逆射影変換パラメータＭ−１を用いた上記逆射影変換を行い、平面Ｐ上の、対応する座標位置（ｘ、ｙ）を求める。なお、平面Ｑ上の座標位置（Ｘ−１、Ｙ）、（Ｘ、Ｙ−１）については既に対応する座標位置（ｘ、ｙ）は求まっているので、あえてここで再度求める必要はない。
【００５７】
ステップＳ５０６では、平面Ｐ上の座標位置（ｘ、ｙ）の周辺の画素間の距離に対する、平面Ｑ上の座標位置（Ｘ、Ｙ）の周辺の画素間の距離、の比率を、平面Ｑ上の座標位置（Ｘ、Ｙ）における縮小率として求める（第１の計算）。ステップＳ５０６における処理について、平面Ｐ上の座標位置（ｘ、ｙ）の周辺の画素群と、平面Ｑ上の座標位置（Ｘ、Ｙ）の周辺の画素群と、を示す図６を用いて説明する。
【００５８】
図６の上部には、Ｑ平面上に格子状に並んだ画素（入力画像を構成する各画素）の画素位置が示されている。Ｘ方向の画素位置間の距離をｘ＿ｐｉｔｃｈ、Ｙ方向の画素位置間の距離をｙ＿ｐｉｔｃｈとする。ここでは計算を簡単にするために、ｘ＿ｐｉｔｃｈ＝ｙ＿ｐｉｔｃｈ＝１とする。
【００５９】
図６の下部には、Ｑ平面上に格子状に並んだ画素の画素位置をＰ平面上に逆射影変換したことで得られるそれぞれの画素位置が示されている。Ｐ平面上における画素位置間の距離は、Ｑ平面上における画素位置間の距離よりも小さくなっている。
【００６０】
このような場合、平面Ｑ上の座標位置（Ｘ０、Ｙ０）におけるＸ方向の縮小率ｘｏ０＿０、Ｙ方向の縮小率ｙｏ０＿０を、以下の式を計算することで求める。
【００６１】
【数９】
2012060517.tif 000011
【００６２】
【数１０】
2012060517.tif 000012
【００６３】
ここで、（ｘ−１、ｙ０）は、（ｘ０、ｙ０）の左隣の座標位置を示しており、（ｘ１、ｙ０）は、（ｘ０、ｙ０）の右隣の座標位置を示している。また、（ｘ０、ｙ−１）は、（ｘ０、ｙ０）の上隣の座標位置を示しており、（ｘ０、ｙ１）は、（ｘ０、ｙ０）の下隣の座標位置を示している。
【００６４】
なお、式９，１０の代わりに、以下の式１１，１２を用いて、Ｘ方向の縮小率ｘｏ０＿０、Ｙ方向の縮小率ｙｏ０＿０を計算しても良い。
【００６５】
【数１１】
2012060517.tif 000013
【００６６】
【数１２】
2012060517.tif 000014
【００６７】
何れの式を用いるにせよ、次のようにして縮小率を求めることができるのであれば、如何なる計算を行っても良い。入力画像に、予め設定された射影変換行列（入力画像のサイズを拡大する射影変換）の逆行列を用いた逆射影変換を行うことで逆射影画像を生成した場合に、入力画像上の着目画素位置が逆射影変換により逆射影画像上の着目逆射影画素位置に変換されたとする。このとき、着目画素位置の周辺の画素間の距離に対する、着目逆射影画素位置の周辺の画素間の距離、の比率を縮小率として求める処理である。
【００６８】
ステップＳ５０７では、座標位置（Ｘ、Ｙ）に対して求めた縮小率を用いて、座標位置（Ｘ、Ｙ）に対するフィルタ係数を求める。ステップＳ５０７における処理について、同処理の詳細を示す図７のフローチャートを用いて説明する。
【００６９】
ステップＳ７０２では、上記ステップＳ５０６で座標位置（Ｘ、Ｙ）に対して求めた縮小率ｘｏｘ＿ｙをＲＡＭ１０３に取得する。ステップＳ７０３では、この縮小率ｘｏｘ＿ｙを用いて以下の式を計算することで、この座標位置（Ｘ、Ｙ）に対するフィルタの遮断周波数ωｃ＿Ｙ＿Ｘを求める。
【００７０】
【数１３】
2012060517.tif 000015
【００７１】
即ち、この式に基づく計算では、入力画像のナイキスト周波数ωＮと、縮小率ｘｏｘ＿ｙと、の積を遮断周波数ωｃ＿Ｙ＿Ｘとして求めている（第２の計算）。そしてステップＳ７０４では、この求めたωｃ＿Ｙ＿Ｘを遮断周波数とするローパスフィルタのフィルタ係数群を計算する。ステップＳ７０４における処理について、図８を用いて説明する。
【００７２】
図８（ａ）には、周波数空間上において、遮断周波数ωｃ＿Ｙ＿Ｘを用いて定義した方形波を示している。画像信号の区間長をＮとし、本実施形態ではＮ＝５００としている。周波数空間における画像信号の標本化周波数ωｓはＮ、画像信号のナイキスト周波数ωＮはＮ／２に相当する。また、フィルタの遮断周波数ωｃ＿Ｙ＿ＸはＮ×ｘｏｘ＿ｙ／２に相当する。本実施形態では、ｘｏｘ＿ｙ＝０．８、ωＮ＝２５０、ωｃ＿Ｘ＿Ｙ＝２００とする。
【００７３】
フィルタ係数の算出では先ず、周波数空間上で以下の式で表される関数（方形波）を算出する。ここで、ｋは周波数空間上における空間周波数である。
【００７４】
【数１４】
2012060517.tif 000016
【００７５】
次に、このｒｅｃｔ（ｋ）関数を逆フーリエ級数展開することで、実空間上のｓｉｎ  ｃ（ｎ）関数に変換する。ここで、ｎは実空間上における画素位置を示す。このｓｉｎ  ｃ（ｎ）関数の値をフィルタ係数として用いる。
【００７６】
実空間における関数ｘｎは、以下の式１５に示す離散フーリエ級数展開により周波数空間における関数Ｘｋに変換される。
【００７７】
【数１５】
2012060517.tif 000017
【００７８】
また、関数Ｘｋは、以下の式１６に示す離散逆フーリエ級数展開により関数ｘｎに変換される。
【００７９】
【数１６】
2012060517.tif 000018
【００８０】
本実施形態では、以下の式１７に示す離散逆フーリエ級数展開を用いて、ｒｅｃｔ（ｋ）関数を実空間上のｓｉｎ  ｃ（ｎ）関数に変換する。
【００８１】
【数１７】
2012060517.tif 000019
【００８２】
なお、本実施形態では、ｒｅｃｔ（ｋ）関数の虚数部は、全て０とする。このため、式１７で示す離散逆フーリエ級数展開を用いたｓｉｎ  ｃ（ｎ）関数の算出は、以下の式１８で示す離散逆コサイン級数展開を用いても算出することができる。
【００８３】
【数１８】
2012060517.tif 000020
【００８４】
図８（ｂ）は、図８（ａ）に示されるｒｅｃｔ（ｋ）関数を、式１８によりｓｉｎ  ｃ（ｎ）関数に変換する例を示している。横軸が実空間上の画素の座標であり縦軸はｓｉｎ  ｃ（ｎ）関数の振幅であり、ｓｉｎ  ｃ（ｎ）関数の区間０≦ｎ≦２５を図示している。
【００８５】
ｓｉｎ  ｃ（ｎ）関数について、コンパクト・サポートでない（非0の値が有限区間に限定されていない）ため、本実施形態では、フィルタの区間の範囲値をｐとする。ｐは自然数であり１≦ｐ≦Ｎである。また、フィルタの範囲ｎは−ｐ≦ｎ≦ｐとなる。ｐと設定したときに、フィルタ係数の総和が１になるようにフィルタ係数を正規化する。フィルタ係数ｆｉｌｔｅｒ＿ｃｏｅｆｎは、以下の式１９により正規化される。
【００８６】
【数１９】
2012060517.tif 000021
【００８７】
そしてステップＳ７０５では、このようにして算出したフィルタ係数ｆｉｌｔｅｒ＿ｃｏｅｆｎをＲＡＭ１０３に出力する。ステップＳ５０７の処理は、ｆｉｌｔｅｒ＿ｃｏｅｆｎの区間が定まっていれば、ｘ方向の縮小率ｘｏｘ＿ｙの値により一意にｆｉｌｔｅｒ＿ｃｏｅｆｎの値が決まる。そこで、各縮小率に対して、対応するフィルタ係数ｆｉｌｔｅｒ＿ｃｏｅｆｎを登録したルックアップテーブル予め作成しておく。そしてステップＳ５０７では、このルックアップテーブルから、座標位置（Ｘ、Ｙ）の縮小率ｘｏｘ＿ｙに対応するフィルタ係数ｆｉｌｔｅｒ＿ｃｏｅｆｎを取得しても良い。
【００８８】
図５に戻って、次に、ステップＳ５０８では、入力画像において画素位置（Ｘ、Ｙ）を含む画素列を、フィルタ処理対象の画素列として設定する。フィルタ係数ｆｉｌｔｅｒ＿ｃｏｅｆｎの範囲ｎが−ｐ≦ｎ≦ｐのとき、入力画像において画素位置（Ｘ、Ｙ）を含む（２Ｐ＋１）個の画素列を、フィルタ処理対象の画素列として設定する。即ち、画素位置（Ｘ、Ｙ）の右側に並ぶｐ個の画素列と、画素位置（Ｘ、Ｙ）における画素と、画素位置（Ｘ、Ｙ）の左側に並ぶｐ個の画素列と、から成る（２Ｐ＋１）個の画素列を、フィルタ処理対象とする。もちろん、画素列の設定方法はこれに限るものではない。
【００８９】
ここで、設定した画素列中の左からｎ番目の画素の画素値ｌｐｆ＿ｉｎｐｕｔｎは、以下の式を満たす。
【００９０】
【数２０】
2012060517.tif 000022
【００９１】
ここで、ＰＩＸＥＬ（Ｘ−ｐ＋ｎ，Ｙ）は、入力画像中の画素位置（Ｘ−ｐ＋ｎ，Ｙ）における画素値を示している。そしてステップＳ５０９では、以下の式を計算することで、この設定した画素列に対するローパスフィルタ処理を行い、このローパスフィルタ処理結果ｏｕｔｐｕｔ１を、フィルタ処理済み画像における画素位置（Ｘ、Ｙ）の画素値として求める。
【００９２】
【数２１】
2012060517.tif 000023
【００９３】
この式に従った処理は、入力画像において着目画素位置を含む画素列中のそれぞれの画素の画素値に対して、ローパスフィルタのフィルタ係数群のそれぞれを乗じた結果の合計値を、フィルタ処理済み画像における着目画素位置の画素値として求める処理である。
【００９４】
然るにステップＳ５１０では、ステップＳ５０９で求めたｏｕｔｐｕｔ１を、フィルタ処理済み画像における画素位置（Ｘ、Ｙ）の画素値として、ＲＡＭ１０３に格納する。そして処理をステップＳ５０４に戻す。
【００９５】
そしてこのようにして、全ての画素位置について上記処理（ステップＳ５０５〜Ｓ５１０の処理）を行うことで、フィルタ処理済み画像を構成する各画素の画素値を確定させることができる。
【００９６】
なお、以上の説明では、Ｘ方向について求めた縮小率を用いたＸ軸上の１次元のフィルタ処理について説明したが、続いてＹ方向の縮小率を用いたＹ軸上の１次元のフィルタ処理を行なうことで、ＸＹ平面における２次元のフィルタ処理を行うことが可能である。即ち、本実施形態の本質は、フィルタ処理の次元について限定を加えるものではない。
【００９７】
図３に戻って、次に、ステップＳ３０４では、上記の処理により画素値が確定したフィルタ処理済み画像に対して画素補間処理を行う。ステップＳ３０４における処理について、同処理の詳細を示す図９のフローチャートを用いて説明する。
【００９８】
先ずステップＳ９０２では、先の処理で求めたフィルタ処理済み画像をＲＡＭ１０３に取得する。ステップＳ９０３では、上記ステップＳ３０２で求めた射影変換パラメータＭをＲＡＭ１０３に取得する。
【００９９】
ステップＳ９０４では、平面Ｐ上にフィルタ処理済み画像を配置した場合に、このフィルタ処理済み画像上の画素位置（＝平面Ｐ上の座標位置）を示す変数ｘ、ｙを更新する。この変数ｘ、ｙのそれぞれの初期値は０であり、本ステップでは、変数ｘの値がｘ＿ｍａｘ（フィルタ処理済み画像の表示解像度におけるＸ方向の画素数）に達していない限りは変数ｘの値を１つインクリメントし、処理はステップＳ９０５に進む。一方、変数ｘの値がｘ＿ｍａｘに達した場合には、変数ｘの値を０に初期化し、変数ｙの値を１つインクリメントし、処理はステップＳ９０５に進む。また、変数ｙの値がｙ＿ｍａｘ（フィルタ処理済み画像の表示解像度におけるＹ方向の画素数）に達した場合には、図９のフローチャートに従った処理は終了する。
【０１００】
ステップＳ９０５では、射影変換パラメータＭを用いて以下の式に従った計算を行うことで、平面Ｐ上の座標位置（ｘ、ｙ）に対して射影変換を行い、平面Ｑ上の、対応する座標位置（Ｘ、Ｙ）を求める。
【０１０１】
【数２２】
2012060517.tif 000024
【０１０２】
ステップＳ９０６では、ステップＳ９０５で射影変換した画素位置（Ｘ、Ｙ）が、平面Ｑ上の四角形ＡＢＧＨ（図４）内にあるかどうかを判断する。本実施形態では、四角形ＡＢＧＨは四角形ＡＢＣＤと合同であるため、ステップＳ９０６では、０＜Ｘ＜ｘ＿ｍａｘ及び０＜Ｙ＜ｙ＿ｍａｘという条件が満たされているか否かを判断すれば良い。
【０１０３】
この判断の結果、この条件が満たされていれば、処理はステップＳ９０７に進み、満たされていない場合には、処理はステップＳ９０４に戻る。ステップＳ９０７では、出力用画像における画素位置（Ｘ、Ｙ）における画素値を決定するために用いる画素群を設定する。ステップＳ９０７における処理について、図１０を用いて説明する。
【０１０４】
図１０には、平面Ｐ上に写像されている「Ａ：入力画像（フィルタ処理済み画像）」と、平面Ｑ上に写像されている「Ｂ：補間・再標本化画像（出力用画像）」が示されている。「Ｂ：補間・再標本化画像」を構成する各画素のうち画素位置（Ｘ、Ｙ）に位置している「Ｄ：補間・再標本化で生成される画素」は、これから画素値を決定するための画素である。この画素値を補間・再標本化により決定するために、画素位置（Ｘ、Ｙ）の周辺に位置する「Ｃ：補間・再標本化で利用する画素」を選択する。
【０１０５】
本実施形態では、以下の説明で用いる変数ｍ、ｎはそれぞれ、０≦ｍ≦３、０≦ｎ≦３を満たすものとする。そして本実施形態では、出力用画像における画素位置（Ｘ、Ｙ）における画素値を決定するために、フィルタ処理済み画像内で参照する画素群を以下の式により決定する。
【０１０６】
【数２３】
2012060517.tif 000025
【０１０７】
ここで、Ｘ  ｉｎｔ＝ｆｌｏｏｒ（Ｘ，１）、Ｙ  ｉｎｔ＝ｆｌｏｏｒ（Ｙ，１）であり、ｑ＝ｆｌｏｏｒ（ｐ，１）は、ｐの小数部を切り捨てた整数値ｑを返す関数である。また、ＰＩＸＥＬ（Ｘ  ｉｎｔ−１＋ｍ、Ｙ  ｉｎｔ−１＋ｎ）は、フィルタ処理済み画像中の画素位置（Ｘ  ｉｎｔ−１＋ｍ、Ｙ  ｉｎｔ−１＋ｎ）における画素値を示している。
【０１０８】
ステップＳ９０８では、画素値ｉｎｔ  ｐ＿ｉｎｐｕｔｍｎに対する重み値ｉｎｔ  ｐ＿ｃｏｅｆｍｎを、以下の式に基づいて求める。
【０１０９】
【数２４】
2012060517.tif 000026
【０１１０】
ここで、ｄｘ＝Ｘ−Ｘ  ｉｎｔ、ｄｙ＝Ｙ−Ｙ  ｉｎｔであり、ｑ＝ａｂｓ（ｐ）は、ｐの絶対値ｑを返す関数である。また、ｒ＝ｆ（ｐ，ｑ）は２次元補間関数であり、２次元バイキュービック補間関数、２次元バイリニア関数、２次元Ｌａｎｃｚｏｓ補間関数などが適応可能である。２次元バイキュービック補間関数を適応する場合、ｒ＝ｆ（ｐ，ｑ）は以下の式で表される。
【０１１１】
【数２５】
2012060517.tif 000027
【０１１２】
但し、ｇ（ｘ）は１次元バイキュービック補間関数であり、以下の式に基づく。
【０１１３】
【数２６】
2012060517.tif 000028
【０１１４】
ここで、ａは補間処理係数であり、−２．０≦ａ≦０．０を満たすのが一般的である。ステップＳ９０９では、ステップＳ９０７で設定した画素群中の各画素の画素値に対して、対応する重み値ｉｎｔ  ｐ＿ｃｏｅｆｍｎを乗じた後、それぞれの乗算結果を合計した合計値を、出力用画像における画素位置（Ｘ、Ｙ）の画素値とする。この処理は以下の式に従って行う。
【０１１５】
【数２７】
2012060517.tif 000029
【０１１６】
然るにステップＳ９１０では、ステップＳ９０９で求めたｏｕｔｐｕｔ２を、出力用画像における画素位置（Ｘ、Ｙ）の画素値として、ＲＡＭ１０３に格納する。そして処理をステップＳ９０４に戻す。
【０１１７】
以上の説明により、本実施形態によれば、着目画素に対するフィルタ係数を、逆射影変換による画素間の縮小率に応じて制御することができるため、キーストーン補正処理において適切な画像処理を行うことができる。
【０１１８】
［第２の実施形態］
本実施形態では、第１の実施形態で説明したコンピュータ１００と同様の処理を行うプロジェクタ装置について説明する。本実施形態に係るプロジェクタ装置１１０１のハードウェア構成例について、図１１のブロック図を用いて説明する。
【０１１９】
放送波はアンテナ１１０２、１１０３、１１０４を介して受信部１１０５に入力され、受信部１１０５によりオーディオ信号やビデオ信号に復号される。Ｉ／Ｆ部１１２３は、チャンネル選択や、ボリューム調整、画質補正などの各種入出力制御信号のインタフェースを司っている。
【０１２０】
信号処理部１１１２内のオーディオ処理部１１１３は、受信部１１０５からのオーディオ信号に対して適切な処理を行い、オーディオ駆動部１１１６に出力する。信号処理部１１１２内のビデオ処理部１１１５は、受信部１１０５からのビデオ信号に対して後述する各処理を行い、ビデオ駆動部１１１７に出力する。
【０１２１】
オーディオ駆動部１１１６は、オーディオ処理部１１１３からのオーディオ信号に基づく音をスピーカ１１３５に出力させる。ビデオ駆動部１１１７は、ビデオ処理部１１１５からのビデオ信号に基づく映像をパネル１１３６に表示させる。
【０１２２】
ＣＰＵ１１３０は、ＲＯＭ１１３１やＲＡＭ１１３２に格納されているコンピュータプログラムやデータを用いてプロジェクタ装置１１０１全体の動作制御を行う。ＲＯＭ１１３１には、本装置の設定データや、ＣＰＵ１１３０が各種の動作制御を行うために用いるコンピュータプログラムやデータが格納されている。ＲＡＭ１１３２は、各種のエリアを適宜提供する。ＣＰＵ１１３０、ＲＯＭ１１３１、ＲＡＭ１１３２、信号処理部１１１２のそれぞれは、共通のバス１１２９に接続されている。
【０１２３】
ビデオ処理部１１１５内の機能構成例について、図１２のブロック図を用いて説明する。図１２に示す一部若しくは全部は、ハードウェアで構成しても良いし、ソフトウェアで構成しても良い。
【０１２４】
射影変換パラメータ生成部１２０１内の射影変換パラメータ算出部１２０７は、上記の８つの頂点座標を受け取り、これを用いて第１の実施形態と同様にして上記射影変換パラメータを求める処理を行う。射影変換パラメータ生成部１２０１内の逆射影変換パラメータ算出部１２０８は、上記の射影変換パラメータを用いて第１の実施形態と同様にして上記逆射影変換パラメータを求める処理を行う。
【０１２５】
Ｘ方向フィルタ部１２０２は、入力画像中の各画素位置に応じたフィルタ係数を用いて各画素に対するフィルタ処理を行うことで、Ｘ方向にローパスフィルタ処理を行った画像を生成する。
【０１２６】
逆射影変換後座標算出部１２０９は、逆射影変換パラメータＭ−１を用いて上記の式８に従った計算を行うことで、平面Ｑ上の座標位置（Ｘ、Ｙ）に対して逆射影変換を行い、平面Ｐ上の、対応する座標位置（ｘ、ｙ）を求める。
【０１２７】
Ｘ方向画素縮小率算出部１２１０は、第１の実施形態と同様にして、Ｘ方向の縮小率ｘｏ０＿０を計算する。もちろん、本実施形態においても、Ｘ方向の縮小率ｘｏ０＿０の求め方については１つに限定するものはなく、様々な方法が考え得る。
【０１２８】
Ｘ方向フィルタ係数算出部１２１１は、縮小率ｘｏ０＿０から、第１の実施形態と同様にしてフィルタ係数を求める。Ｘ方向縮小率メモリアドレス変換部１２１２は、縮小率毎に対応するフィルタ係数が登録されているルックアップテーブルから、Ｘ方向画素縮小率算出部１２１０が計算した縮小率ｘｏ０＿０に対応するフィルタ係数を読み出すためのアドレスを生成する。このルックアップテーブルは、メモリ１２１４内に格納されている。
【０１２９】
ＬＵＴアクセス部１２１３は、メモリ１２１４に格納されている上記ルックアップテーブルにおいて、Ｘ方向縮小率メモリアドレス変換部１２１２が生成したアドレスにアクセスし、このアドレスに登録されているフィルタ係数を読み出す。
【０１３０】
なお、フィルタ係数を取得するための方法はこれに限るものではなく、第１の実施形態と同様にして、図７のフローチャートに従った処理を行うことでフィルタ係数群を算出しても良い。
【０１３１】
Ｘ方向画素重畳部１２１５は、第１の実施形態と同様にして、フィルタ処理対象の画素列を設定し、設定した画素列に対してＬＵＴアクセス部１２１３が取得したフィルタ係数群を用いたフィルタ処理を行う。そしてＸ方向画素重畳部１２１５は、このような処理によって生成したフィルタ処理済み画像をフレームメモリ１２０３に格納する。なお、メモリ１２１４，フレームメモリ１２０３は何れもＲＡＭ１１３２内に設けられたものであっても良いし、別個に設けられたメモリであっても良い。
【０１３２】
Ｙ方向フィルタ部１２０４は、フレームメモリ１２０３に格納されたフィルタ処理済み画像中の各画素位置に応じたフィルタ係数を用いて各画素に対するフィルタ処理を行うことで、Ｙ方向にローパスフィルタ処理を行った画像を生成する。
【０１３３】
逆射影変換後座標算出部１２１６は、逆射影変換パラメータＭ−１を用いて上記の式８に従った計算を行うことで、平面Ｑ上の座標位置（Ｘ、Ｙ）に対して逆射影変換を行い、平面Ｐ上の、対応する座標位置（ｘ、ｙ）を求める。
【０１３４】
Ｙ方向画素縮小率算出部１２１７は、第１の実施形態と同様にしてＹ方向の縮小率ｙｏ０＿０を計算する。もちろん、本実施形態においても、Ｙ方向の縮小率ｙｏ０＿０の求め方については１つに限定するものはなく、様々な方法が考え得る。
【０１３５】
Ｙ方向フィルタ係数算出部１２１８は、縮小率ｙｏ０＿０から、Ｘ方向フィルタ係数算出部１２１１と同様にしてフィルタ係数を求める。Ｙ方向縮小率メモリアドレス変換部１２１９は、縮小率毎に対応するフィルタ係数が登録されているルックアップテーブルから、Ｙ方向画素縮小率算出部１２１７が計算した縮小率ｙｏ０＿０に対応するフィルタ係数を読み出すためのアドレスを生成する。このルックアップテーブルは、メモリ１２２１内に格納されている。
【０１３６】
ＬＵＴアクセス部１２２０は、メモリ１２２１に格納されている上記ルックアップテーブルにおいて、Ｙ方向縮小率メモリアドレス変換部１２１９が生成したアドレスにアクセスし、このアドレスに登録されているフィルタ係数を読み出す。
【０１３７】
なお、フィルタ係数を取得するための方法はこれに限るものではなく、第１の実施形態と同様にして、図７のフローチャートに従った処理を行うことでフィルタ係数群を算出しても良い。
【０１３８】
Ｙ方向画素重畳部１２２２は、フレームメモリ１２０３に格納されているフィルタ処理済み画像においてフィルタ処理対象の画素列をＸ方向画素重畳部１２１５と同様にして設定する。そしてＹ方向画素重畳部１２２２は、設定した画素列に対してＬＵＴアクセス部１２２０が取得したフィルタ係数群を用いたフィルタ処理を、Ｘ方向画素重畳部１２１５と同様にして行う。このフィルタ処理は、以下の式に従って行われる。
【０１３９】
【数２８】
2012060517.tif 000030
【０１４０】
そしてＹ方向画素重畳部１２２２は、このような処理によって生成したフィルタ処理済み画像をフレームメモリ１２０５に格納する。なお、メモリ１２２１，フレームメモリ１２０５は何れもＲＡＭ１１３２内に設けられたものであっても良いし、別個に設けられたメモリであっても良い。
【０１４１】
補間・再標本化部１２０６は、画素値が確定したフレームメモリ１２０５内のフィルタ処理済み画像に対して、図９のフローチャートを用いて説明した画素補間処理を行う。射影変換後座標算出部１２２３は、射影変換パラメータＭを用いて平面Ｐ上の座標位置（ｘ、ｙ）に対して射影変換を行い、平面Ｑ上の、対応する座標位置（Ｘ、Ｙ）を求める。
【０１４２】
補間フィルタ係数算出部１２２４は、フレームメモリ１２０５内に格納されているフィルタ処理済み画像を構成する画素群のうち補間・再標本化に用いる画素配列を、第１の実施形態と同様にして設定する。更に補間フィルタ係数算出部１２２４は、設定した画素配列に対する重み値を、第１の実施形態と同様にして求める。補間フィルタ係数算出部１２２４が行うこの処理は、上記ステップＳ９０６〜Ｓ９０８の処理に相当する。
【０１４３】
画素補間部１２２５は、補間フィルタ係数算出部１２２４が設定した画素列中の各画素の画素値に対して、対応する重み値を乗じた後、それぞれの乗算結果を合計した合計値を、出力用画像における画素位置（Ｘ、Ｙ）の画素値とする。そしてこのようにして生成される出力用画像は、本装置の外部に送出される。
【０１４４】
以上の説明により、本実施形態によれば、着目画素に対するフィルタ係数を、逆射影変換による画素間の縮小率に応じて制御することができるため、キーストーン補正処理において適切な画像処理を行うことができる。
【０１４５】
更に、本実施形態によれば、この縮小率をメモリアドレスとして、メモリに展開されている各縮小率に応じたフィルタ係数を読み込むことにより、画像処理速度を大幅に向上させることが可能である。
【０１４６】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2012060517.tif 000031
【図２】
2012060517.tif 000032
【図３】
2012060517.tif 000033
【図４】
2012060517.tif 000034
【図５】
2012060517.tif 000035
【図６】
2012060517.tif 000036
【図７】
2012060517.tif 000037
【図８】
2012060517.tif 000038
【図９】
2012060517.tif 000039
【図１０】
2012060517.tif 000040
【図１１】
2012060517.tif 000041
【図１２】
2012060517.tif 000042