(57)【特許請求の範囲】
【請求項１】
入力画像に対する画像変形処理を行う画像処理装置であって、
それぞれがｎビット長の固定小数点数で表される複数の変形パラメータを算出するパラメータ算出手段と、
前記パラメータ算出手段により算出された前記複数の変形パラメータを用いて前記画像変形処理における座標変換処理のための演算を行う演算手段と、
を備え、
前記パラメータ算出手段は、
それぞれがｍビット長（ｍ＞ｎ）の固定小数点数で表される複数の初期パラメータを決定する初期パラメータ決定手段と、
前記複数の初期パラメータのうち、前記座標変換処理での演算誤差に対する影響が最も大きい初期パラメータに倍率係数を乗じた後にｎビット長の固定小数点数に変換した際の丸め誤差が、０に近づくような前記倍率係数を決定する倍率係数決定手段と、
前記倍率係数決定手段により決定された前記倍率係数を前記複数の初期パラメータの各々に乗じた後、ｎビット長の固定小数点数に変換して得られる複数のパラメータを、前記複数の変形パラメータとして算出する調整手段と、
を含むことを特徴とする画像処理装置。
【請求項２】
前記倍率係数決定手段は、乗じた際に前記座標変換処理での演算誤差に対する影響が最も大きい初期パラメータの小数部が全てゼロとなる値の最小値を前記倍率係数として決定する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記演算手段は、前記座標変換処理の結果と前記入力画像の各画素の画素値とに基づいて、前記画像変形処理の後の画像における各画素の画素値を決定する画素値決定手段を更に含む
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記画素値決定手段は、前記座標変換処理により得られた座標値の整数部に基づいて、前記画像変形処理の後の画像の画素値の決定に用いる１以上の入力画素を決定し、前記座標変換処理により得られた座標値の小数部に基づいて、前記画像変形処理の後の画像の画素値を決定するための前記１以上の入力画素の重みを決定する
ことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記倍率係数決定手段は、前記座標変換処理での演算誤差に対する影響が最も大きい初期パラメータを、前記複数の初期パラメータのうち前記座標変換処理に含まれる除算処理において使用される１以上の初期パラメータから選択する
ことを特徴とする請求項１乃至４のうち何れか１項に記載の画像処理装置。
【請求項６】
前記倍率係数決定手段は、前記座標変換処理での演算誤差に対する影響が最も大きい初期パラメータを、前記入力画像のＸ方向の画素数及びＹ方向の画素数に基づいて選択する
ことを特徴とする請求項１乃至５のうち何れか１項に記載の画像処理装置。
【請求項７】
前記倍率係数決定手段は、前記複数の初期パラメータのうち、前記座標変換処理での演算誤差に対する影響が最も大きい初期パラメータに倍率係数を乗じた後にｎビット長の固定小数点数に変換した際の丸め誤差が、０となるような前記倍率係数を決定する
ことを特徴とする請求項１乃至６のうち何れか１項に記載の画像処理装置。
【請求項８】
入力画像に対する画像変形処理を行う画像処理方法であって、
パラメータ算出手段が、それぞれがｎビット長の固定小数点数で表される複数の変形パラメータを算出するパラメータ算出工程と、
演算手段が、前記パラメータ算出工程により算出された前記複数の変形パラメータを用いて前記画像変形処理における座標変換処理のための演算を行う演算工程と、
を含み、
前記パラメータ算出工程は、
それぞれがｍビット長（ｍ＞ｎ）の固定小数点数で表される複数の初期パラメータを決定する初期パラメータ決定工程と、
前記複数の初期パラメータのうち、前記座標変換処理での演算誤差に対する影響が最も大きい初期パラメータに倍率係数を乗じた後にｎビット長の固定小数点数に変換した際の丸め誤差が、０に近づくような前記倍率係数を決定する倍率係数決定工程と、
前記倍率係数決定工程により決定された前記倍率係数を前記複数の初期パラメータの各々に乗じた後、ｎビット長の固定小数点数に変換して得られる複数のパラメータを、前記複数の変形パラメータとして算出する調整工程と、
を含むことを特徴とする画像処理方法。
【請求項９】
コンピュータを、請求項１乃至７の何れか一項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理に関するものであり、特に、画像変形における座標変換処理を高い精度で行う技術に関するものである。
【背景技術】
【０００２】
前面投射型のプロジェクタ（投影機）により、投影面（スクリーンなど）に向かって斜め方向から映像を投射する場合、矩形映像が、変形した四辺形（台形など）として投影されることになる。そこで、矩形映像が矩形として投影されるようにするため、キーストーン補正と呼ばれる画像変形処理が利用される（例えば特許文献１）。具体的には、入力画像の形状（通常は矩形）と投影画像の形状とに基づいて射影変換（座標変換）の行列を決定する。そして、出力画像のある画素の座標値が入力画像のどの座標に対応するかを座標変換の逆変換により算出する。そして、算出された入力画像の座標の画素値に基づいて出力画像の画素値を補間演算により算出する。例えば、算出された入力画像の座標の画素値の整数部を用いて近傍の画素の画素値を読み出すとともに、小数部に基づいて重み付けを行い出力画像の画素の画素値を決定する。この処理を出力画像の全画素について行い、出力画像用の画像メモリに格納する。このようにして格納された出力画像を投影することにより、好適な投影結果を得ることを可能としている。
【０００３】
ところで、一般に、画像変形のための射影変換においては、加減算及び乗算の他、除算が必要となる。特に、上述の補間演算を正しく行うために高い精度で座標変換を行うことが望ましい。ただし、射影変換のように除算を含む演算を高い精度で行うためには、より長いビット長（例えば倍精度）での演算が必要となり実装コストがより高くなる。そこで、より長いビット長での演算処理を行う代わりに、短いビット長（例えば単精度）でも演算誤差が大きくならないように、変形範囲や解像度を制限する技術も提案されている。例えば、特許文献２では、加算処理による近似計算により座標変換を行う方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−３３２７１号公報
【特許文献２】特開平６−１４９９９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、近年の画像解像度の向上（例えばＨＤ解像度（1920×1080）や４Ｋ解像度（4096×2160））により、特許文献２に開示されるような近似計算を用いた場合、十分な精度が得られない可能性がある。そして、上述の画像変形のための座標変換（射影変換）において演算精度が不十分であった場合、例えば、出力画像における画素欠けなどが発生し画質が劣化することになる。
【０００６】
本発明は上記問題点を鑑みなされたものであり、除算を含む画像処理を高い演算精度で実現することを目的としている。
【課題を解決するための手段】
【０００７】
上述の問題点を解決するため本発明の画像処理装置は以下の構成を備える。すなわち、入力画像に対する画像変形処理を行う画像処理装置において、それぞれがｎビット長の固定小数点数で表される複数の変形パラメータを算出するパラメータ算出手段と、前記パラメータ算出手段により算出された前記複数の変形パラメータを用いて前記画像変形処理における座標変換処理のための演算を行う演算手段と、を備え、前記パラメータ算出手段は、それぞれがｍビット長（ｍ＞ｎ）の固定小数点数で表される複数の初期パラメータを決定する初期パラメータ決定手段と、前記複数の初期パラメータのうち、前記座標変換処理での演算誤差に対する影響が最も大きい初期パラメータに倍率係数を乗じた後にｎビット長の固定小数点数に変換した際の丸め誤差が、０に近づくような前記倍率係数を決定する倍率係数決定手段と、前記倍率係数決定手段により決定された前記倍率係数を前記複数の初期パラメータの各々に乗じた後、ｎビット長の固定小数点数に変換して得られる複数のパラメータを、前記複数の変形パラメータとして算出する調整手段と、を含む。
【発明の効果】
【０００８】
本発明によれば、除算を含む画像処理を高い演算精度で実現する技術を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態に係る画像処理装置の構成を示す図である。
【図２】入力画像と出力画像の形状を例示的に示す図である。
【図３】画像変形処理部の構成を示す図である。
【図４】パラメータ算出部の構成を示す図である。
【図５】変形パラメータ算出のフローチャートである。
【図６】出力画像生成のフローチャートである。
【発明を実施するための形態】
【００１０】
以下に、図面を参照して、この発明の好適な実施の形態を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。
【００１１】
（第１実施形態）
本発明に係る画像処理装置の第１実施形態として、前面投射型の液晶プロジェクタに内蔵される画像処理装置を例に挙げて以下に説明する。
【００１２】
＜装置構成＞
図１は、第１実施形態に係る画像処理装置１００の構成を示す図である。画像処理装置１００は、パラメータ算出部１０１と画像変形処理部１０２とを含む。なお、第１実施形態においては、パラメータ算出部１０１は、ソフトウェアにより実装し、処理速度が要求される画像変形処理部１０２は、ハードウェア（例えばＤＳＰなど）により実装することを想定する。また、図２は、入力画像とキーストーン変換処理後の出力画像の形状を例示的に示す図である。なお、図２ではキーストーン変換処理後の出力画像として台形形状として示しているが、任意の四辺形であり得る。
【００１３】
パラメータ算出部１０１は、入力画像の各画素の座標を出力画像の各画素の座標に変換するための変形パラメータを算出し、算出したパラメータを画像変形処理部に出力する。例えば、入力画像の形状を決定する４頂点の座標と出力画像の形状を決定する４頂点の座標とに基づいて高精度変形パラメータ（初期パラメータ）を算出する。ここでは、高精度変形パラメータは射影変換の行列の係数であり、パラメータ算出部１０１で演算可能なビット精度で計算がなされる。ここでは、ｍビット長の倍精度の固定小数点数として計算がなされることを想定するが、浮動小数点として計算するよう構成しても良い。そして、パラメータ算出部１０１は、算出された高精度変形パラメータを画像変形処理部１０２で利用可能なビット精度の変形パラメータに変換した後、変形パラメータを画像変形処理部１０２に出力する。
【００１４】
画像変形処理部１０２は、パラメータ算出部１０１から入力された変形パラメータに基づいて、入力画像の各画素の座標値に対して座標変換の演算（つまり、画像変形のための射影変換）を行い、出力画像の各画素の座標値を算出する。ここでは、画像変形処理部１０２は、ｎビット長の単精度の固定小数点数として演算することを想定する。また、画像変形処理部１０２は、入力画像の各画素の画素値と算出された出力画像の各画素の座標値とに基づき、出力画像の各画素の画素値を算出し出力する。
【００１５】
図３は、第１実施形態に係る画像変形処理部１０２の構成を示す図である。画像変形処理部１０２は、画素座標生成部１０３と座標変換処理部１０４と画素補間処理部１０５とを含む。
【００１６】
画素座標生成部１０３は、入力画素の各画素の座標値（ｘ，ｙ）を生成し、生成した座標値（ｘ，ｙ）を座標変換処理部１０４に出力する。例えば、入力画像がＨＤ解像度（1920×1080）の画像である場合、各画素の座標値を以下のように生成し出力する。
【００１７】
（ｘ，ｙ）＝（０，０），（１，０）・・・（１９１９，０），
（０，１），（１，１）・・・（１９１９，１），
・・・
（０，１０７９），（１，１０７９）・・・（１９１９，１０７９）
座標変換処理部１０４では、パラメータ算出部１０１から入力された変形パラメータに基づいて、画素座標生成部１０３から入力された座標値（ｘ，ｙ）に対して射影変換を行い、出力画像における各画素の座標値（Ｘ，Ｙ）を算出する。なお、上述のように画像変形処理部１０２は、単精度の固定小数点数の数値を取り扱うよう構成されている。つまり、パラメータ算出部１０１から入力された変形パラメータは単精度の固定小数点数の数値として入力される。そして、座標変換処理部１０４は、算出した座標値（Ｘ，Ｙ）を画素補間処理部１０５に出力する。なお、座標変換処理部１０４における射影変換の詳細については後述する。
【００１８】
画素補間処理部１０５（画素値導出手段）では、入力画像の各画素の画素値（Ｒ（ｘ，ｙ），Ｇ（ｘ，ｙ），Ｂ（ｘ，ｙ））と座標変換処理部１０４から入力された出力画像の各画素の座標値（Ｘ，Ｙ）とに基づき、出力画像の各画素の画素値を算出し出力する。つまり、出力画像の座標値（Ｘ，Ｙ）における画素値（Ｒ（Ｘ，Ｙ），Ｇ（Ｘ，Ｙ），Ｂ（Ｘ，Ｙ））を、対応する入力画像の画素周辺の複数の画素値に基づき算出する。例えば、出力画像の座標値（Ｘ，Ｙ）の整数部に対応する入力画像上の４点の画素の画素値に対して、出力画像の座標値（Ｘ，Ｙ）の小数部で加重平均をとりバイリニア補間することで出力画素（Ｘ，Ｙ）に対する画素値を算出する。もちろんバイリニア補間以外の補間演算を用いて構成しても良い。
【００１９】
図４は、第１実施形態に係るパラメータ算出部１０１の構成を示す図である。パラメータ算出部１０１は、高精度変形パラメータ算出部１１１と変形パラメータ係数算出部１１２と変形パラメータ調整部１１３とを含む。
【００２０】
高精度変形パラメータ算出部１１１は、入力画像の形状を決定する４頂点の座標と出力画像の形状を決定する４頂点の座標とに基づいて高精度変形パラメータ（射影変換の行列の係数）を算出する。なお、上述のようにパラメータ算出部１０１は、倍精度の固定小数点数の数値を取り扱うよう構成されている。つまり、高精度変形パラメータは倍精度の固定小数点数として算出される。
【００２１】
変形パラメータ係数算出部１１２及び変形パラメータ調整部１１３は、高精度変形パラメータ算出部１１１で算出された高精度変形パラメータの調整を行う。具体的には、画像変形処理部１０２の座標変換処理部１０４での演算誤差が少なくなるように高精度変形パラメータを調整する。なお、変形パラメータ係数算出部１１２及び変形パラメータ調整部１１３の動作の詳細については後述する。
【００２２】
＜射影変換における誤差＞
以下では、画像変形処理部１０２の座標変換処理部１０４での射影変換について説明する。射影変換のための変形パラメータは３×３の行列に含まれる９個の値として表される。座標変換処理部１０４で取り扱う、単精度の固定小数点数の変形パラメータをｍ１１〜ｍ３３とする。このとき、以下の演算を行うことにより入力画像の各画素の座標値（ｘ，ｙ）に対する出力画像における各画素の座標値（Ｘ，Ｙ）を求める。
【００２３】
２次元（平面図形）の射影変換後の出力座標（Ｘ，Ｙ）は以下の式により導出される。
【００２４】
Ｘ＝Ｘ０／Ｚ０      ・・・  （１）
Ｙ＝Ｙ０／Ｚ０      ・・・  （２）
ここで、
Ｘ０＝ｍ１１・ｘ＋ｍ１２・ｙ＋ｍ１３      ・・・  （３）
Ｙ０＝ｍ２１・ｘ＋ｍ２２・ｙ＋ｍ２３      ・・・  （４）
Ｚ０＝ｍ３１・ｘ＋ｍ３２・ｙ＋ｍ３３      ・・・  （５）
数式（１）及び（２）に示されるように、Ｘ及びＹの導出においては除算が存在する。ところで、ハードウェアによる実装であってもソフトウェアによる実装であっても、演算を行う際には演算のビット幅が規定される。そして、除算の演算を含む場合、回路量の削減又は処理サイクル数の低減のため、より少ないビット幅で実装することが望ましい。  
上述のように、第１実施形態において、画像変形処理部１０２の座標変換処理部１０４では単精度の固定小数点数で演算を行う。一方、パラメータ算出部１０１の高精度変形パラメータ算出部１１１では倍精度の固定小数点数で演算を行い、倍精度の固定小数点数の高精度変形パラメータを導出している。そのため、高精度変形パラメータは、単精度の固定小数点数に丸められた後、座標変換処理部１０４で利用されることになる。すなわち、ビット幅の制限により、座標変換処理部１０４で利用される変形パラメータには丸め誤差が生じることになる。
【００２５】
ここで、ｍ１１〜ｍ３３は、誤差を含まない成分ｍ’１１〜ｍ’３３と誤差成分ｅ１１〜ｅ３３とに分離して表現すると以下のようになる。
【００２６】
ｍ１１＝ｍ’１１＋ｅ１１
・・・
ｍ３３＝ｍ’３３＋ｅ３３
つまり、数式（１）（２）の除数（分母の値）であるＺ０は、数式（５）の関係から以下のように書き下すことが出来る。
【００２７】
Ｚ０＝  （ｍ’３１＋ｅ３１）・ｘ
＋（ｍ’３２＋ｅ３２）・ｙ
＋（ｍ’３３＋ｅ３３）
＝  ｍ’３１・ｘ＋ｍ’３２・ｙ＋ｍ’３３
＋（ｅ３１・ｘ＋ｅ３２・ｙ＋ｅ３３）      ・・・  （６）
すなわち、Ｚ０には（ｅ３１・ｘ＋ｅ３２・ｙ＋ｅ３３）の誤差が発生しうることが分かる。つまり、除算処理の除数部で利用される３つの変形パラメータ（１以上の初期パラメータ）が誤差に関係することになる。ここで、ｘ，ｙの範囲を考える。例えば、入力画像がＨＤ解像度（1920×1080）の画像である場合、ｘの範囲は０〜１９１９、ｙの範囲は０〜１０７９である。すなわち、ｘの最大値はｙの最大値よりもほぼ２倍大きい。
【００２８】
従って、数式（６）の誤差の項において、ｅ３１〜ｅ３３のうち、ｅ３１が最も誤差に与える影響が大きいことが理解できる。つまり、Ｚ０の誤差を減らすためにはｅ３１を０に近づけるのが最も効果的であることが分かる。
【００２９】
ところで、除算においては、被除数部と除数部の双方に同一の係数を乗じても除算結果は変わらない。例えば、数式（１）及び（２）において、右辺の被除数部と除数部の双方に倍率係数ｋを乗じると以下のようになる。
【００３０】
Ｘ＝ｋ・Ｘ０／ｋ・Ｚ０
＝ｋ・（ｍ１１・ｘ＋ｍ１２・ｙ＋ｍ１３）／ｋ・（ｍ３１・ｘ＋ｍ３２・ｙ＋ｍ３３）
＝（ｋ・ｍ１１・ｘ＋ｋ・ｍ１２・ｙ＋ｋ・ｍ１３）／（ｋ・ｍ３１・ｘ＋ｋ・ｍ３２・ｙ＋ｋ・ｍ３３）      ・・・  （１’）
同様に、
Ｙ＝ｋ・Ｙ０／ｋ・Ｚ０
＝ｋ・（ｍ２１・ｘ＋ｍ２２・ｙ＋ｍ２３）／ｋ・（ｍ３１・ｘ＋ｍ３２・ｙ＋ｍ３３）
＝（ｋ・ｍ２１・ｘ＋ｋ・ｍ２２・ｙ＋ｋ・ｍ２３）／（ｋ・ｍ３１・ｘ＋ｋ・ｍ３２・ｙ＋ｋ・ｍ３３）      ・・・  （２’）
つまり、ｍ１１〜ｍ３３の代わりに、倍率係数ｋを乗じたｋ・ｍ１１〜ｋ・ｍ３３を画像変形処理部１０２に渡すことにより、画像変形処理部１０２における除算の誤差を制御可能であることが理解できる。
【００３１】
＜倍率係数ｋの導出と変形パラメータの調整＞
そこで、第１実施形態では、ｅ３１がほぼ０となる様な倍率係数ｋを求め、倍率係数ｋを乗じたｋ・ｍ１１〜ｋ・ｍ３３を画像変形処理部１０２に渡す。これにより、座標変換処理部１０４を含む画像変形処理部１０２に何ら変更を加えることなく、望ましくない演算精度低下を低減する。
【００３２】
高精度変形パラメータ算出部１１１（初期パラメータ導出手段）で算出される高精度変形パラメータｄ１１〜ｄ３３は倍精度の固定小数点数（小数部８ビット）であるとする。そして、座標変換処理部１０４に出力することになる変形パラメータをｍ１１〜ｍ３３は単精度の固定小数点数（小数部４ビット）であるとする。
【００３３】
変形パラメータ係数算出部１１２（倍率係数導出手段）は、高精度変形パラメータ算出部１１１で算出されたｄ３１を、ｍ３１の小数部の桁数だけ左シフトする。つまり、ここではｄ３１に対し４ビット左シフトの処理を行う。なお、好適には、乗じた際にｄ３１の小数部が全てゼロとなる値の最小値だけ左シフトする。そして、左シフトした値の１０進数表現に対し小数第１位の四捨五入の処理をおこなう（例えば、０．５を加えた後、整数部のみを取り出すことにより四捨五入が可能である）。このようにして得られた値をｄ’３１とする。そして、変形パラメータ係数算出部１１２は、倍率係数ｋを以下の数式（７）に示されるように導出する。
【００３４】
ｋ＝（ｄ’３１／ｄ３１）      ・・・  （７）
その後、変形パラメータ調整部１１３は、高精度変形パラメータ算出部１１１で算出された高精度変形パラメータｄ１１〜ｄ３３のそれぞれに倍率係数ｋを乗ずる。そして、倍精度の固定小数点数であるｋ・ｄ１１〜ｋ・ｄ３３それぞれを単精度の固定小数点数に変換し変形パラメータｍ１１〜ｍ３３として導出する。つまり、ｍ３１は、ｋ・ｄ３１を単精度の固定小数点数に変換したものとして導出される。ここで、
ｋ・ｄ３１＝（ｄ’３１／ｄ３１）・ｄ３１
＝ｄ’３１
である。つまり、ｍ３１は、ｄ’３１を単精度の固定小数点数に変換したものである。ところで、上述の通り、ｄ’３１はｄ３１に対し４ビット左シフトし、四捨五入により整数値としたものである。そのため、ｄ’３１からｍ３１への変換において丸め誤差は発生せず、数式（６）の誤差の項において”ｅ３１・ｘ”の部分は０になる。
【００３５】
上述の説明では、ｄ３１をｍ３１の小数部の桁数だけ左シフトすることによりｄ’３１を算出するように説明した。しかしながら、ｄ３１において所定桁未満の下位ビットが全てゼロの場合などは、より少ない桁数だけ左シフトしｄ’３１を算出するよう構成しても良い。
【００３６】
＜装置の動作＞
図５は、第１実施形態における変形パラメータ算出のフローチャートである。以下の処理は、例えば、画像処理装置１００が内蔵される液晶プロジェクタを使用開始あるいは設置する際に実行される。
【００３７】
ステップＳ４０１では、高精度変形パラメータ算出部１１１は、例えば、入力画像の形状を決定する４頂点の座標と出力画像の形状を決定する４頂点の座標とに基づいて高精度変形パラメータを算出する。そして、算出した高精度変形パラメータを変形パラメータ係数算出部１１２に出力する。上述したように、高精度変形パラメータｄ１１〜ｄ３３は倍精度の固定小数点数であるとする。
【００３８】
ステップＳ４０２では、変形パラメータ係数算出部１１２は、高精度変形パラメータｄ１１〜ｄ３３に対する倍率係数ｋを導出し、変形パラメータ調整部１１３に出力する。上述したように、座標変換処理における演算誤差が最も影響が大きい高精度変形パラメータ要素を選択し、丸め処理を行った際に選択した高精度変形パラメータ要素の丸め誤差が０となるような倍率係数ｋを導出する。
【００３９】
ステップＳ４０３では、変形パラメータ調整部１１３は、高精度変形パラメータｄ１１〜ｄ３３のそれぞれに倍率係数ｋを乗じた後、単精度の固定小数点数に変換し変形パラメータｍ１１〜ｍ３３として導出する。このようにして、導出された変形パラメータｍ１１〜ｍ３３は、画像変形処理部１０２の座標変換処理部１０４に出力される。
【００４０】
図６は、キーストーン変換処理のフローチャートである。以下の処理は、例えば、動画像の各フレーム画像を入力画像として順次実行され、各フレーム画像に対する出力画像（キーストーン補正画像）が得られる。
【００４１】
ステップＳ５０１では、画素座標生成部１０３は、入力画像の各画素に対応する座標値（ｘ，ｙ）を生成し座標変換処理部１０４に出力する。
【００４２】
ステップＳ５０２では、座標変換処理部１０４は、パラメータ算出部１０１から入力された変形パラメータに基づいて、入力画像の各画素の座標値（ｘ，ｙ）に対応する出力画像の各画素の座標値（Ｘ，Ｙ）を導出する。つまり、上述のように、入力画像の各画素の座標値に対して射影変換演算を行い、出力画像の各画素の座標値を導出する。
【００４３】
ステップＳ５０３では、画素補間処理部１０５は、入力画像の各画素の画素値と座標変換処理部１０４から入力された出力画像の各画素の座標値（Ｘ，Ｙ）とに基づき、出力画像の各画素の画素値を算出し出力する。例えば、上述したように、出力画像の座標値（Ｘ，Ｙ）における画素値を、対応する入力画像の画素周辺の複数の画素値のバイリニア補間に基づき算出する。
【００４４】
以上説明したとおり第１実施形態によれば、座標変換処理部１０４における射影変換演算において発生しうる丸め誤差を低減し、出力画像の画質劣化の発生を低減することが可能となる。特に、除算処理における演算誤差への影響が最も大きい項（数式（５）におけるｍ３１・ｘ）に着目することにより、効率的な丸め誤差低減を実現することが可能となる。なお、第１実施形態では、キーストーン補正に係る射影変換演算を例に説明を行ったが、除算演算を含む様々な処理に適用することが出来る。
【００４５】
また、実質的に、画像変形処理部１０２で利用される変形パラメータを変更（調整）するのみであるため、画像変形処理部１０２の実装を流用しつつ演算精度を高めることが可能となる。つまり、画像変形処理部１０２には変更は必要なく、パラメータ算出部１０１における最小限の実装変更のみで出力画像の画質向上を実現することが可能となる。
【００４６】
さらに、第１実施形態においては、入力画像の画素座標値に対応する出力画像の画素座標値を算出する構成について説明したが、出力画像の画素座標値に対応する入力画像の画素座標値を算出する構成としても良い。この場合は、射影変換の逆変換行列として表される変形パラメータを調整すればよい。
【００４７】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005939893.tif 000002
【図２】
0005939893.tif 000003
【図３】
0005939893.tif 000004
【図４】
0005939893.tif 000005
【図５】
0005939893.tif 000006
【図６】
0005939893.tif 000007