(57)【要約】【課題】本来のエッジ強度を復元する画像処理を行うことを目的とする。【解決手段】本発明は、画素補間処理を伴う幾何学変換処理を行う画像処理装置であって、前記画素補間処理において注目画素の補間に用いた複数の画素のうち、注目画素に最も近い画素を選択する画素選択手段と、前記画素選択手段により選択された選択画素を中心とした領域を選択し、選択領域に対してフィルタ処理を適用することで選択画素のエッジ強度を取得する選択画素エッジ強度取得手段と、前記補間に用いた複数の画素の重心と注目画素との距離に応じて、前記選択画素エッジ強度取得手段により取得されたエッジ強度を注目画素の画素値に反映する補間画素値更新手段とを有すること等を特徴とする。【選択図】図１１
2010263441.tif 000002
【特許請求の範囲】
【請求項１】
画素補間処理を伴う幾何学変換処理を行う画像処理装置であって、
前記画素補間処理において注目画素の補間に用いた複数の画素のうち、注目画素に最も近い画素を選択する画素選択手段と、
前記画素選択手段により選択された選択画素を中心とした領域を選択し、選択領域に対してフィルタ処理を適用することで選択画素のエッジ強度を取得する選択画素エッジ強度取得手段と、
前記補間に用いた複数の画素の重心と注目画素との距離に応じて、前記選択画素エッジ強度取得手段により取得されたエッジ強度を注目画素の画素値に反映する補間画素値更新手段とを有することを特徴とする画像処理装置。
【請求項２】
前記画素選択手段により選択された選択画素を中心とした領域におけるエッジを検出するエッジ検出手段と、
前記エッジ検出手段により検出されたエッジの方向に応じて前記選択画素エッジ強度取得手段で用いるフィルタ形状を選択するフィルタ選択手段とを更に有することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記エッジ検出手段において２つ以上のエッジが検出された場合には、画像中心から注目画素への方向ベクトルと各エッジの方向ベクトルの内積を用いて、一つのエッジを選択するエッジ選択手段を更に有することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記補間に用いた複数の画素の重心と注目画素とが一致した場合、前記画素選択手段は、前記補間に用いた複数の画素からランダムに画素を選択することを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記補間に用いた複数の画素の重心と注目画素との距離が予め定められた距離以下の場合、前記画素選択手段は、前記補間に用いた複数の画素からランダムに画素を選択することを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記画素選択手段により前記補間に用いた複数の画素からランダムに画素を選択する場合、選択画素の決定に用いる乱数値は、注目画素の座標を用いて計算した値をシード値として用いることを特徴とする請求項４又は５に記載の画像処理装置。
【請求項７】
前記補間画素値更新手段は、前記補間に用いた複数の画素の重心と注目画素との距離に加えて、注目画素の像高に応じて前記エッジ強度を注目画素の画素値に反映することを特徴とする請求項１に記載の画像処理装置。
【請求項８】
前記幾何学変換処理が歪曲補正処理の場合、前記補間画素値更新手段は、前記補間に用いた複数の画素の重心と注目画素との距離に加えて、歪曲補正によって変化する注目画素の像高の変化量に応じて前記エッジ強度を注目画素の画素値に反映することを特徴とする請求項１に記載の画像処理装置。
【請求項９】
画素補間処理を伴う幾何学変換処理を行う画像処理方法であって、
前記画素補間処理において注目画素の補間に用いた複数の画素のうち、注目画素に最も近い画素を選択する画素選択ステップと、
前記画素選択ステップにより選択された選択画素を中心とした領域を選択し、選択領域に対してフィルタ処理を適用することで選択画素のエッジ強度を取得する選択画素エッジ強度取得ステップと、
前記補間に用いた複数の画素の重心と注目画素との距離に応じて、前記選択画素エッジ強度取得ステップにより取得されたエッジ強度を注目画素の画素値に反映する補間画素値更新ステップとを有することを特徴とする画像処理方法。
【請求項１０】
画素補間処理を伴う幾何学変換処理を行うコンピュータに、
前記画素補間処理において注目画素の補間に用いた複数の画素のうち、注目画素に最も近い画素を選択する画素選択ステップと、
前記画素選択ステップにより選択された選択画素を中心とした領域を選択し、選択領域に対してフィルタ処理を適用することで選択画素のエッジ強度を取得する選択画素エッジ強度取得ステップと、
前記補間に用いた複数の画素の重心と注目画素との距離に応じて、前記選択画素エッジ強度取得ステップにより取得されたエッジ強度を注目画素の画素値に反映する補間画素値更新ステップとを実行させるためのプログラム。
【請求項１１】
請求項１０に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、プログラム及び記録媒体に関するものである。特に、デジタルカメラにより撮影して得られたデジタル画像データを処理する場合に用いられて好適である。
【背景技術】
【０００２】
近年、デジタルカメラ（以下、カメラという）の性能向上により、撮影される画像の解像度は非常に高くなり、銀塩写真に勝るとも劣らない高品質の写真画像を得ることが可能となっている。一般に、カメラで撮影して得られる画像データには、レンズの歪曲収差に起因する幾何学的歪みや撮影時のカメラの保持状態に起因する傾き等、様々な問題がある。
【０００３】
カメラでは、銀塩写真に比べて画像データの加工を比較的簡単に行うことができる。例えば撮影レンズ等の撮影時情報を利用して、幾何学的歪みの補正（レンズ収差補正処理）を行うアプリケーションも登場している。また、僅かなカメラの傾きにより生じた画像データの傾きも画像データを回転（画像回転処理）することにより、簡単に水平にすることができる。このようなレンズ収差補正処理や画像回転処理を行うことで、より均質で高画質な画像データを得ることができる。
【０００４】
更に、印刷用紙サイズを非常に大きくする場合、画像データを拡大する必要がある。カメラで撮影された画像データは画素と呼ばれる矩形の集合で構成されているので、拡大前の画素間を補間処理することで、拡大した画像データを取得する。この補間処理には、一般的にはバイリニア補間やバイキュービック補間等を用いることが多い。
【０００５】
補間処理が必要になるのは拡大処理だけではなく、上述したレンズ収差補正処理や画像回転処理でも同様である。ここで、歪曲収差補正の一例を図２に示す。図２（ａ）に示すように、樽形に歪んだ画像データに対して歪曲収差補正をして、切り出すことにより補正した画像データを取得する。また、図２（ｂ）に示すように、糸巻形に歪んだ画像データに対して歪曲収差補正をして、切り出すことにより補正した画像データを取得する。歪曲収差補正は、画素位置の移動を伴う補正であって、補正後の座標に完全に一致する画素が存在しない場合、その座標の周囲画素を補間処理することで画素値を取得する。なお、画像データの画像回転処理についても同様である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平３−１５７７８５号公報
【特許文献２】特開２００４−１５３６６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、単純に補間処理をした場合、エッジ成分が失われてしまうという問題があることが知られている。ここで、図３に、バイリニア補間の一例を示して説明する。図３において、注目画素をＰとすると、バイリニア補間では、その周囲画素Ａ〜Ｄから画素Ｐの画素値を算出することになる。しかし、画素Ｐの位置が周囲画素の重心Ｇと一致した場合、画素Ｐの画素値は周囲４画素の平均になってしまう。したがって、エッジの先鋭度やノイズ感が大きく低下してしまう。
【０００８】
この問題を解決するために、特許文献１及び特許文献２では、注目画素の画素値を決定するときにエッジ検出を利用することで、補間処理を実行するときにエッジ方向に重み付けを行い解像度の劣化を防ぐ技術が開示されている。しかしながら、補間処理による解像感の低下を軽減することはできても、補間処理を実行する以上、本来のエッジ強度を復元することは難しい。
本発明は、上述したような問題点に鑑みてなされたものであって、本来のエッジ強度を復元する画像処理を行うことができるようにする。
【課題を解決するための手段】
【０００９】
本発明は、画素補間処理を伴う幾何学変換処理を行う画像処理装置であって、前記画素補間処理において注目画素の補間に用いた複数の画素のうち、注目画素に最も近い画素を選択する画素選択手段と、前記画素選択手段により選択された選択画素を中心とした領域を選択し、選択領域に対してフィルタ処理を適用することで選択画素のエッジ強度を取得する選択画素エッジ強度取得手段と、前記補間に用いた複数の画素の重心と注目画素との距離に応じて、前記選択画素エッジ強度取得手段により取得されたエッジ強度を注目画素の画素値に反映する補間画素値更新手段とを有すること等を特徴とする。
【発明の効果】
【００１０】
本発明によれば、補間処理によって失われたエッジ強度を補間画素に反映させることで、本来のエッジ強度を復元し、より好ましい処理結果を得ることが可能になる。
【図面の簡単な説明】
【００１１】
【図１】画像処理装置の概略を示す図である。
【図２】歪曲収差補正の一例を示す図である。
【図３】バイリニア補間の一例を説明するための図である。
【図４】歪曲収差補正処理の流れを示すフローチャートである。
【図５】歪曲補正前と歪曲補正後との像高の変換を説明するための図である。
【図６】画像サイズ算出処理の流れを示すフローチャートである。
【図７】画像サイズ算出処理の内容を説明するための図である。
【図８】歪曲補正画素値算出処理の流れを示すフローチャートである。
【図９】歪曲補正画素値算出処理の内容を説明するための図である。
【図１０】エッジ成分復元処理の概要を示す図である。
【図１１】補間画素値算出処理の流れを示すフローチャートである。
【図１２】エッジパターン毎のフィルタ形状の対応を示す図である。
【図１３】画素値算出処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、図面を用いて本発明に係る実施形態について具体的に説明する。本実施形態は、歪曲補正処理に伴う画素補間処理を用いて、エッジ強度を復元する方法について説明する。
（第１の実施形態）
図１は、画像処理装置の概略を示す図である。本実施形態では、画像処理装置としてパーソナルコンピュータを例にして説明する。本発明は単体のデジタルカメラやビデオカメラの内部で実施することも可能である。ＣＰＵ１０１は、画像処理装置１００全体の動作をコントロールし、一次記憶１０２に格納されたプログラムの実行等を行う。一次記憶１０２は、主にメモリであり、二次記憶１０３に記憶されたプログラム等を読み込んで格納する。二次記憶１０３は、例えばハードディスク等である。一般に一次記憶１０２の容量は二次記憶１０３の容量より小さく、一次記憶１０２に格納しきれないプログラムやデータ等は二次記憶１０３に格納される。また、長時間記憶しなくてはならないデータ等も二次記憶１０３に格納される。本実施形態では、後述するような処理手順を実現する場合、ＣＰＵ１０１が、プログラム実行時に、二次記憶１０３に格納されているプログラムを一次記憶１０２に読み込んだ後、実行する。
【００１３】
入力デバイス１０４は、例えばマウスやキーボード等である。画像処理装置１００のユーザは、入力デバイス１０４を介して、プログラム等を実行しているＣＰＵ１０１に割り込み信号の送信等を行うことができる。
出力デバイス１０５は、例えばモニタやプリンタ等である。
読込デバイス１０６は、公知の撮像素子（ＣＣＤ）等を備えたデジタルカメラやデジタルビデオカメラ等の撮像装置が撮影した画像データを記録メディアを介して一次記憶１０２や二次記憶１０３に読み込む。
【００１４】
特性データ供給部１０７は、図示しないメモリを含んで構成されている。特性データ供給部１０７は、各種レンズに応じたレンズ特性データ、具体的には撮影レンズに対応した補正係数を格納し、必要に応じてＣＰＵ１０１に供給する。本実施形態における歪曲補正（歪曲補正処理）は、補正関数を予め定めておき、補正関数に特性データ供給部１０７から取得した補正係数を適用することで、ＣＰＵ１０１が、補正量を算出し、補正量に応じて画像データを変形（幾何学変換処理）することで実現する。この歪曲補正の詳細については後述する。なお、レンズ特性データは、特性データ供給部１０７に格納させている場合に限られず、二次記憶１０３や、図示しない外部記憶装置に格納されていてもよい。
【００１５】
（歪曲補正処理の概要）
図４は、歪曲補正処理の流れを示すフローチャートである。この処理は、ＣＰＵ１０１が一次記憶１０２に読み出したプログラムを実行することにより実現する。また、この処理は、歪曲補正前の像高と歪曲補正後の像高との対応表を使って実行する。本実施形態では、図５に示すように、歪曲補正前の像高から歪曲補正後の像高への変換を順変換とし、歪曲補正後の像高から歪曲補正前の像高への変換を逆変換とする。レンズ補正処理だけに留まらず、座標の変換を伴う画像処理では一般に、逆変換の考え方で画像処理を行う。順変換の考え方は連続的な図形に対してはよいが、デジタル画像であるビットマップの場合、処理後の画素に処理前の画素が対応するとは限らないためである。
【００１６】
まず、ステップＳ４０１では、ＣＰＵ１０１は、処理対象である画像データの撮影時情報（レンズの種類、焦点距離、ｆ値等）を用いて、特性データ供給部１０７からレンズ特性データを取得する。本実施形態における歪曲補正用のレンズ特性データは、逆変換データ、つまり歪曲補正後の像高に対する歪曲補正前の像高のデータであるものとする。
【００１７】
次に、ステップＳ４０２では、ＣＰＵ１０１は、処理対象画像データの撮影時情報から画素ピッチを取得する。画素ピッチとは画素と画素との間の距離のことであり、本実施形態では、撮像素子上でのミリ単位の距離で表す。ピクセル単位で表した距離ｌｐと画素ピッチｐｉと実際のセンサ上での距離ｌｒとの関係は、次式で表すことができる。
ｌｐ×ｐｉ＝ｌｒ・・式（１）
また、画素ピッチｐｉを用いれば、撮像素子の有効領域の寸法を用いてミリ単位で表された像高に対応する画素の位置をピクセル単位で求めることもできる。
【００１８】
次に、ステップＳ４０３では、ＣＰＵ１０１は、歪曲補正後の画像サイズを求める。歪曲補正は、各画素の像高を変化させることによって適用する処理であるため、歪曲補正前後で画像サイズが変化する場合がある。歪曲補正後の画像サイズの算出処理については後述する。
次に、ステップＳ４０４では、ＣＰＵ１０１は、ステップＳ４０３で求めた画像サイズ（幅ｆｗピクセル、高さｆｈピクセル）を用いて、次の式（２）で歪曲補正ルックアップテーブルサイズｆｓを算出する。ｆｓは、歪曲補正後の画像中心から各頂点までのピクセル単位での距離である。
ｆｓ＝√（（（ｆｗ／２）×（ｆｗ／２））＋（（ｆｈ／２）×（ｆｈ／２）））・・式（２）
【００１９】
次に、ステップＳ４０５では、ＣＰＵ１０１は、ステップＳ４０１で取得したレンズ特性データをスプライン補間して、ステップＳ４０４で求めた歪曲補正ルックアップテーブルサイズｆｓの歪曲補正ルックアップテーブルを生成する。ここで、歪曲補正ルックアップテーブルの入力は、歪曲補正後の画像中心からのピクセル単位の距離である。また、歪曲補正ルックアップテーブルの出力は、処理対象画像の中心からのピクセル単位の距離である。この歪曲補正ルックアップテーブルを生成するために、レンズ特性データの像高（ミリ単位）からピクセル単位の像高へ変換する必要があるが、この変換にはステップＳ４０２で取得した処理対象の画像データの画素ピッチを用いる。
【００２０】
次に、ステップＳ４０６では、ＣＰＵ１０１は、ステップＳ４０２で求めた画像サイズの画像データを構成する各画素に対して歪曲補正画素値算出処理を実行する。なお、歪曲補正画素値算出処理の詳細については、後述する。全ての画素について画素値を算出した後、処理を終了する。
【００２１】
（歪曲補正後の画像サイズ算出処理）
図６は、歪曲補正後の画像サイズ算出処理の流れを示すフローチャートである。この処理は、図４に示すフローチャートのステップＳ４０３に対応する。なお、適宜、図７に示す画像サイズ算出処理を説明するための図を参照して説明する。
まず、ステップＳ６０１では、ＣＰＵ１０１は、処理対象の画像データから歪曲補正前の画像の幅、高さを取得する。次に、ステップＳ６０２では、ＣＰＵ１０１は、歪曲補正ルックアップテーブルを生成する。この歪曲補正ルックアップテーブルの生成は、図４に示すフローチャートのステップＳ４０１からステップＳ４０５で説明した処理と同様の手順であるが、ステップＳ４０３の算出処理は省略する。そして、ステップＳ４０４で算出する歪曲補正ルックアップテーブルサイズｄｓは、歪曲補正前の画像の幅ｗと高さｈを用いて次式で求める。
ｄｓ＝√（（（ｗ／２）×（ｗ／２））＋（（ｈ／２）×（ｈ／２）））・・式（３）
【００２２】
ステップＳ６０３では、ＣＰＵ１０１は、歪曲補正ルックアップテーブルから、歪曲補正前の参照画素の最大像高を求める。ここで最大像高は、歪曲補正ルックアップテーブルの出力の最大値と等しい。歪曲補正ルックアップテーブルがピクセル単位で表現されるため、最大像高もピクセル単位となる。
ステップＳ６０４では、ＣＰＵ１０１は、この最大像高を用いて、歪曲補正ルックアップテーブルから順変換ルックアップテーブルを生成する。順変換ルックアップテーブルサイズｒｔｓは、歪曲補正ルックアップテーブルの最大値ｍａｘＬを用いて次式で算出する。
ｒｔｓ＝［ｍａｘＬ＋１]・・式（４）
なお、［  ］はガウス記号である。
順変換ルックアップテーブルの入力は、歪曲補正前のピクセル単位の像高であるとし、順変換ルックアップテーブルの出力は、歪曲補正後のピクセル単位の像高であるとする。順変換ルックアップテーブルの出力は、整数値にならない場合があるが、その場合は歪曲補正ルックアップテーブルを線形補間する。
【００２３】
次に、ステップＳ６０５とステップＳ６０６とで、ＣＰＵ１０１は、有効領域のサイズを計算する（図７参照）。すなわち、ステップＳ６０５では、図７のｙをｈ／２に固定し、ｘを０からｗ／２まで変化させた場合について、原点からの距離を計算して順変換ルックアップテーブルを引き、歪曲補正後の座標を計算する。得られた座標のｘ成分のうち最も小さい値をｈＷとすると、有効領域の幅ｆｗはｈＷの２倍の値になる。
次に、ステップＳ６０６では、図７のｘをｗ／２に固定し、ｙを０からｈ／２まで変化させた場合について、原点からの距離を算出して順変換ルックアップテーブルを引き、歪曲補正後の座標を計算する。得られた座標のｙ成分のうち最も小さい値をｈＨとすると、有効領域の高さｆｈはｈＨの２倍の値になる。
以上のような処理を行うことで、歪曲補正実行前に、歪曲補正後の画像サイズを得ることができる。
【００２４】
（歪曲補正画素値算出処理）
図８は、歪曲補正画素値算出処理の流れを示すフローチャートである。この処理は、図４に示すフローチャートのステップＳ４０６に対応する。なお、図９は、歪曲補正画素値算出処理の内容を説明するための図である。
歪曲補正画素値算出処理は、幅ｆｗピクセル、高さｆｈピクセルの表示用画像データのうち、指定された画素（ｉ，ｊ）の画素値を、歪曲補正ルックアップテーブルを用いて算出する処理である（図９参照）。
【００２５】
まず、ステップＳ８０１では、ＣＰＵ１０１は、画像中心から画素（ｉ，ｊ）までのピクセル単位の距離（像高）を求める。
次に、ステップＳ８０２では、ＣＰＵ１０１は、歪曲補正ルックアップテーブルを用いて像高に応じた補正量（歪曲補正前の像高）を求める。像高は整数値にならない場合があるが、その場合は線形補間で補正量を算出する。
【００２６】
ステップＳ８０３では、ＣＰＵ１０１は、ステップＳ８０２で求めた補正量を用いて、歪曲補正前の画像上での座標を次式で算出する。
Ｐ’（ｉ，ｊ）＝ｄ’×Ｐ（ｉ，ｊ）／ｄ・・式（５）
ここで、Ｐ（ｉ，ｊ）は、画像中心から歪曲補正後の画素（ｉ，ｊ）への方向ベクトルとする。Ｐ’（ｉ，ｊ）は、画像中心から画素（ｉ，ｊ）を歪曲補正する前の座標への方向ベクトルとする。ｄは、歪曲補正後の画素（ｉ，ｊ）のピクセル単位での像高とする。ｄ’は、歪曲補正ルックアップテーブルを用いて算出した歪曲補正前の画素（ｉ，ｊ）のピクセル単位での像高とする。なお、ステップＳ８０３の処理は、図９に示す（１）に対応する。
【００２７】
最後に、ステップＳ８０４では、ＣＰＵ１０１は、画像データ上においてＰ’（ｉ，ｊ）に相当する座標の近傍の画素値を用いて補間処理することで画素（ｉ，ｊ）の画素値を決定する。このとき、ＣＰＵ１０１は、図９に示す（２）のように、Ｐ’（ｉ，ｊ）の隣接画素からバイリニア補間でＰ’（ｉ，ｊ）の画素値の算出等を行う。
また、ステップＳ８０４において、ＣＰＵ１０１が、単純に画素補間すると、エッジ強度が落ちたりノイズ成分が減ってしまったりする。そこで、本実施形態では、補間に用いる画素から１画素を選択し、選択画素の周囲画素の平均と選択画素自身との差を、エッジ強度とみなして補間結果に反映させる。
【００２８】
次に、本実施形態におけるエッジ成分復元処理について図１０と図１１とを参照して説明する。図１０（ａ）は、バイリニア補間で画素値を算出する場合のエッジ成分復元処理の概要を示す図である。また、図１０（ｂ）は、エッジ成分復元処理に用いるフィルタの一例を示す図である。図１１は、補間画素値算出処理の流れを示すフローチャートである。図１１に示すフローチャートは、図８に示すフローチャートのステップＳ８０４に対応する。
まず、ステップＳ１１０１では、ＣＰＵ１０１は、画素Ｐ’の近傍４画素からバイリニア補間で画素値ｂＬを算出する。具体的には、図１０（ａ）に示すように、ＣＰＵ１０１は、画素Ｐ’の近傍である画素Ａ、Ｂ、Ｃ、Ｄからバイリニア補間で画素値ｂＬを算出する。
【００２９】
次に、ステップＳ１１０２では、ＣＰＵ１０１は、近傍画素のうち最も近い画素を選択する。具体的には、図１０（ａ）に示すように、ＣＰＵ１０１は、画素Ａを選択する。この処理は、画素選択手段により処理の一例に対応する。
次に、ステップＳ１１０３では、ＣＰＵ１０１は、選択画素（この場合、画素Ａ）を中心とした３×３画素の領域を選択領域として選択する。具体的には、図１０（ａ）に示すように、ＣＰＵ１０１は、画素Ａを中心として画素Ｅ、Ｇ、Ｄ、Ｉを含む選択領域１０００を選択する。続いて、ＣＰＵ１０１は、選択領域に対して図１０（ｂ）に示すようなフィルタ１２０２を適用して出力ａ’を取得する。この処理は、フィルタ処理手段による処理の一例に対応する。
図１０（ｂ）に示すフィルタ１２０２は、選択領域に含まれる画素の画素値の平均を算出するものである。なお、フィルタは、「１」が示された位置に対応する画素を用いることを示している。したがって、フィルタ１２０２は全てが「１」であるので、選択領域の画素Ａ〜Ｉ全てを用いて画素値の平均を算出することを示している。
【００３０】
ステップＳ１１０４では、ＣＰＵ１０１は、選択画素の輝度値からステップＳ１１０３で算出した値ａ’より求めた輝度値を引いた輝度差ｄｉｆｆを計算し、これを画素Ａのエッジ強度とする。この処理は、選択画素エッジ強度取得手段による処理の一例に対応する。具体的に図１０（ａ）に示す場合では、輝度差ｄｉｆｆは、画素Ａの輝度値から画素Ａ〜Ｉの平均輝度を引いた値になる。輝度差ｄｉｆｆは、選択領域における選択画素のばらつき具合を示す値になる。本実施形態では、計算コスト低減のためにエッジ強度を偏差で求めているが、エッジ強度の算出に標準偏差等を用いて精度を向上させることも考えられる。また、選択領域を３×３画素よりも大きく設定し、より大きなフィルタを適用することで、ノイズの影響を下げることも考えられる。
【００３１】
次に、ステップＳ１１０５では、ＣＰＵ１０１は、ステップＳ１１０１の補間処理で用いた画素Ａ〜Ｄの重心Ｇと画素Ｐ’の距離ｌｇとを用いて、次式を用いて最終的な画素Ｐ’の画素値ｐを算出する。
ｐ＝ｂＬ＋ｍ×（１−ｌｇ2）×２×ｄｉｆｆ・・式（６）
ここでｍは、エッジ成分を補間結果にどの程度反映するかの係数で、例えば本実施形態では、０．５とする。本実施形態では、ｍの値を固定値としているが、例えば画素Ａ〜Ｉの状態によっては、ｍを動的に決定してもよいことは言うまでもない。このように、選択画素のエッジ強度を画素Ｐ’に反映することで、補間によって失われたエッジ強度を復元することができる。上述した処理は、補間画素値更新手段による処理の一例に対応する。
【００３２】
なお、画素Ｐ’の位置が近傍４画素の重心付近、つまり全ての画素とほぼ等距離の場合には、ＣＰＵ１０１は、画素Ｐ’の近傍である４画素からランダムで１つの画素を選択する。具体的には、重心と画素Ｐ’の距離が予め定められた距離以下（距離ｔ以下）の場合、ＣＰＵ１０１は、選択画素を画素Ａ〜Ｄの中からランダムに画素を選択する。本実施形態では、例えば、ｔ＝０．０１（ピクセル）とする。したがって、ｔ＝０とした場合、すなわち、重心と注目画素が一致した場合、ＣＰＵ１０１は、ランダムに画素を選択することになる。
ここで、完全な乱数値で選択画素を決定した場合、画像を処理する度に結果が変わってしまうという問題がある。そこで、座標（ｉ，ｊ）を用いて算出した値を乱数式のシード値とする。例えば本実施形態では、次式で算出した値をシードｓとする。
ｓ＝ｉ×ｗ＋ｊ・・式（７）
【００３３】
このようにシード値を画素毎に固定にすることで、常に同じ処理結果を得ることが可能になる。また、ランダムに選択画素を選択することによる処理結果に不自然なパターンが出るのを抑止する。例えば、画素Ｐ’の位置が重心と完全に一致した場合には常に左上に位置する画素を選択する、というような処理にした場合、特定のパターンが出てきてしまうおそれがあるためである。
以上のような処理を行うことで、補間処理による解像感の低下を防ぎ、より好ましい処理結果の画像を得ることが可能になる。
【００３４】
（第２の実施形態）
第１の実施形態では、選択領域の画素の状態に関わらず常に同じ形状のフィルタを適用した。しかし、より高い精度でエッジ強度を求めるためには、選択領域に対してエッジ検出を行い、検出されたエッジに応じてフィルタ形状を変更することが考えられる。
本実施形態では、第１の実施形態と同様に、選択領域のサイズが３×３画素の場合について説明する。
【００３５】
ここで、検出されたエッジのパターンとエッジパターン毎のフィルタ形状との対応を図１２を参照して説明する。この対応データは、例えば二次記憶１０３に格納され、必要に応じてＣＰＵ１０１が参照する。
図１２に示すように、例えば、エッジ画素が選択画素と左上画素と右下画素に現れるエッジパターン１１０１の場合、ＣＰＵ１０１は、対応データを参照してエッジパターン１１０１に対応するフィルタ１２０１を適用する。このフィルタ１２０１は、選択領域のうち左上画素と右下画素のエッジ画素を除外するフィルタである。すなわち、ＣＰＵ１０１は、検出されたエッジに対して垂直方向に交わる形のフィルタ形状を採用することで、選択画素と似た値の画素を選択領域から除外してエッジ成分を高精度に算出できる。なお、エッジが検出されない場合やエッジが検出されたにも関わらず単純なエッジパターンでなかった場合には、ＣＰＵ１０１は、エッジパターンを図１２に示す「その他」１１０２とし、対応する第１の実施形態と同様のフィルタ１２０２を適用する。
【００３６】
図１３は、本実施形態に係る画素値算出処理の流れを示すフローチャートである。図１３に示す画素値算出処理では、第１の実施形態で説明した図１１に示すフローチャートのステップＳ１１０２とステップＳ１１０３との間に、ステップＳ１３０１とステップＳ１３０２との処理を追加している。なお、他のステップにおける処理は、図１１に示すフローチャートと同様であり、同一のステップ番号を付して、その説明を省略する。
【００３７】
ステップＳ１３０１では、ＣＰＵ１０１は、選択領域においてエッジを検出する。この処理は、エッジ検出手段による処理の一例に対応する。続いて、ＣＰＵ１０１は、検出したエッジに基づいて、図１２に示す対応データに一致するエッジパターンを検出する。
次に、ステップＳ１３０２では、ＣＰＵ１０１は、検出したエッジパターンに対応するフィルタ形状を選択する。この処理は、フィルタ選択手段による処理の一例に対応する。その後、ステップＳ１１０３において、ＣＰＵ１０１は、選択領域に対し選択したフィルタを適用して出力ａ’を取得する。
このように、本実施形態によれば、エッジを考慮して選択領域に適用するフィルタを変更することで、より高精度にエッジ強度を補間画素に反映することが可能になる。
【００３８】
（第３の実施形態）
第１の実施形態では、補間処理を伴う画像処理として歪曲補正について説明した。歪曲補正は、一般に画像中心から周辺へ行くほど画素の移動量が大きくなる傾向にある。移動量が大きくなるということは、補正前の画素と画素の間に入る補正後の画素が多くなるということになり、エッジ強度が落ちやすくなる。そこで、補正処理が歪曲補正の場合、この傾向を考慮して像高が高いほどエッジ強度の反映率を高くすることが考えられる。具体的には、第１の実施形態の式（６）に歪曲補正後の座標（ｉ，ｊ）を引数とする関数ｆを加え、次のように変更する。
ｐ＝ｂＬ＋ｍ×（１−ｌｇ2）×２×ｄｉｆｆ×ｆ（ｉ，ｊ）・・式（８）
ここでｆ（ｉ，ｊ）は、簡単のために歪曲補正による画素の移動量が像高の二乗に合わせて移動するとした場合、画像中心から画素（ｉ，ｊ）までの距離ｄ（ｉ，ｊ）と画素ピッチｐｉｔｃｈ、撮像素子上での最大像高ｍａｘ＿ｄを用いて次式で表せる。
ｆ（ｉ，ｊ）＝１．０＋ｖ2，ｖ＝ｄ（ｉ，ｊ）×ｐｉｔｃｈ／ｍａｘ＿ｄ・・式（９）
【００３９】
ｆ（ｉ，ｊ）を加えることで、エッジ強度が大きく反映されるようになるため、例えば本実施形態では、式（８）のｍの値を小さくしておく必要がある。本実施形態では、ｍ＝０．２とする。
このような処理を行うことで、歪曲補正によって大きく引き伸ばされる画像周辺部分に近くなるほどエッジ強度を強く、画像中心部分に近いほどエッジ強度を弱く反映することで、より適切な補間結果を得ることができる。
このように本実施形態によれば、歪曲補正の特性を考慮してエッジ強度を補間画素に反映することで、より高精度な処理結果を得ることができる。
【００４０】
（第４の実施形態）
第３の実施形態で説明したように像高に応じて適用するのではなく、歪曲補正による像高の変化量に応じてエッジ強度の反映率を変化させることも考えられる。像高の変化量はレンズによって様々に変化するので、像高の変化量に応じてエッジ強度の反映率を変化させた方が、像高を利用するよりも精度の高い処理結果を得ることが可能になる。
本実施形態では、第１の実施形態の式（６）に、式（５）で用いた補正量ｄとｄ’を引数とする関数ｇを加え、次のように変更する。
ｐ＝ｂＬ＋ｍ×（１−ｌｇ2）×２×ｄｉｆｆ×ｇ（ｄ，ｄ’）・・式（１０）
ここで、ｇ（ｄ，ｄ’）は、例えば、次式で表す。
ｇ（ｄ，ｄ’）＝１．０＋（ｄ−ｄ’）／ｍａｘ＿ｄ・・ 式（１１）
ｍａｘ＿ｄは、収差補正によるピクセル単位での最大移動量で、例えば本実施形態では、補正前の画像幅ｗと画像高さｈとを用いて、
ｍａｘ＿ｄ＝０．５×√（（（ｗ／２）×（ｗ／２））＋（（ｈ／２）×（ｈ／２）））・・式（１２）とする。また、ｇ（ｉ，ｊ）を加えることで、エッジ強度が大きく反映されるようになるため、例えば本実施形態では、式（１０）のｍの値を小さくしておく必要がある。本実施形態では、ｍ＝０．１とする。
【００４１】
このような処理を行うことで、歪曲補正によって大きく引き伸ばされる部分はエッジ強度を強く、あまり変化がない部分はエッジ強度を弱く反映することで、より適切な補間結果を得ることができる。
このように本実施形態によれば、歪曲補正による像高の変化量を考慮してエッジ強度を補間画素に反映することで、より高精度な処理結果を得ることができる。
【００４２】
（第５の実施形態）
レンズの歪曲は、像高を変更することにより補正する。したがって、画像中心からの注目画素の方向ベクトルに沿って各画素が移動することになる。第２の実施形態で説明した方式ではエッジ検出を歪曲補正前の状態で行うが、歪曲補正の適用により注目画素の方向ベクトルに沿って画素が移動するので、この方向ベクトルと直交する方向のエッジは信頼度が低いということになる。そこで、エッジ検出処理の際、２つ以上のエッジが検出された場合、注目画素の方向ベクトルと検出された各エッジの内積を取り、内積の大きいほうのエッジを選択することが考えられる。
【００４３】
本実施形態では、注目画素を中心に上下左右斜めの８方向に対応するＳｏｂｅｌオペレータの適用結果に対し、エッジの方向ベクトルＥと注目画素の方向ベクトルＤの内積をかけて絶対値を取ることで、エッジ検出の精度を高める。例えば、ＣＰＵ１０１は、次式を用いてエッジ強度δを算出し、８方向のエッジ強度のうち、最大のものが予め定められた閾値以上の場合、その方向のエッジが存在すると判定する。この処理は、エッジ選択手段による処理の一例に対応する。
δ＝Ｓｏｂｅｌ（ｄｉｒ）×（（Ｅ・Ｄ）／２＋０．５）・・式（１３）
ここで、Ｓｏｂｅｌ（ｄｉｒ）は、８方向に対応するＳｏｂｅｌオペレータの出力である。このような処理を行うことで、歪曲補正後のエッジをより正しく検出することが可能になり、良好に画像を補正することができる。
【００４４】
上述した本発明の実施形態における画像処理装置における各手段、並びに画像処理方法の各ステップは、コンピュータのＲＡＭやＲＯＭ等に記憶されたプログラムが動作することによっても実現できる。このプログラム及びこのプログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施形態も可能であり、具体的には、複数の機器からなるシステムに適用してもよい。
【００４５】
なお、本発明は、上述した実施形態の機能を実現するソフトウェアのプログラムを、システム又は装置に直接、又は遠隔から供給する。そして、そのシステム又は装置のコンピュータが供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【符号の説明】
【００４６】
１０１  ＣＰＵ、１０７  レンズ特性データ供給部
【図１】
2010263441.tif 000003
【図２】
2010263441.tif 000004
【図３】
2010263441.tif 000005
【図４】
2010263441.tif 000006
【図５】
2010263441.tif 000007
【図６】
2010263441.tif 000008
【図７】
2010263441.tif 000009
【図８】
2010263441.tif 000010
【図９】
2010263441.tif 000011
【図１０】
2010263441.tif 000012
【図１１】
2010263441.tif 000013
【図１２】
2010263441.tif 000014
【図１３】
2010263441.tif 000015