(57)【特許請求の範囲】
【請求項１】
光学系を介して撮像された撮影画像から、前記撮影画像の各画素を複数の色成分に分けて各画素が同一の色成分からなる複数の色プレーンの画像を生成する生成手段と、
前記複数の色プレーンを基に、画像のエッジ領域と、前記エッジ領域の周辺に画素値の変化量が所定の変化判定値より小さい各画素が続く小変化領域と、を検出する領域検出手段と、
前記検出されたエッジ領域と小変化領域の各画素の色成分の値に基づいて、前記複数の色プレーンのうち基準色となされた色プレーンに対する、基準色以外の各色プレーンのズレ量を検出するズレ検出手段と
を有することを特徴とする画像処理装置。
【請求項２】
前記領域検出手段は、
前記複数の色プレーンから、前記撮影画像の撮像がなされた際に用いられた光学系により生ずる色収差に対応した検出方向の各画素からなる画素列を抽出し、前記抽出した画素列の各画素値に基づいて、前記画像のエッジ領域を検出し、
前記検出されたエッジ領域の前記検出方向の幅の両端からそれぞれ外側に向かって、前記検出方向に隣接する画素間の画素値の変化量が所定の変化判定値より小さい各画素が続く領域を、前記小変化領域として検出することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記領域検出手段は、前記検出方向について前記抽出した画素列の各画素の複数の色成分から各画素に対応した各輝度値を生成し、前記生成した各輝度値に対して所定のエッジ検出フィルタ処理を施したフィルタ出力レベルの絶対値が所定のエッジレベル判定値より大きい画素が、所定のエッジ長さ判定値以上連続して存在する領域を、前記エッジ領域として検出することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記領域検出手段は、前記検出方向について前記抽出した画素列の各画素の各色成分の値に対して所定のエッジ検出フィルタ処理を施したフィルタ出力レベルの絶対値が所定のエッジレベル判定値より大きい画素が、所定のエッジ長さ判定値以上連続して存在する領域を、前記エッジ領域として検出することを特徴とする請求項２に記載の画像処理装置。
【請求項５】
前記領域検出手段は、前記エッジ領域の前記両端からそれぞれ外側に向かって前記隣接する画素間の画素値の変化量が所定の変化判定値より小さい各画素が所定の数以上続く場合に、前記所定の数以上続いた各画素からなる領域を前記小変化領域として検出することを特徴とする請求項３又は４に記載の画像処理装置。
【請求項６】
前記領域検出手段は、前記検出した前記小変化領域の各画素の全てが、前記所定のエッジ検出フィルタ処理を施したフィルタ出力レベルの絶対値が所定の変化判定値より小さい場合にのみ、前記検出したエッジ領域を有効なエッジ領域とし、
前記ズレ検出手段は、前記エッジ領域が有効なエッジ領域である場合にのみ、前記ズレ量の検出を行うことを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記領域検出手段は、前記検出したエッジ領域の前記両端に各々対応した小変化領域の各画素について各色成分の値をそれぞれ積分して積分値を算出し、前記基準色となされた色プレーンの色成分の積分値に対する前記基準色以外の色プレーンの色成分の積分値の割合を表すゲイン値を求め、前記エッジ領域の前記両端に各々対応した小変化領域の前記ゲイン値の差分の絶対値が、所定のゲイン判定値より小さい場合にのみ、前記検出したエッジ領域を有効なエッジ領域とし、
前記ズレ検出手段は、前記エッジ領域が有効なエッジ領域である場合にのみ、前記ズレ量の検出を行うことを特徴とする請求項５又は６に記載の画像処理装置。
【請求項８】
前記ズレ検出手段は、前記検出された小変化領域における画素値に応じて、前記基準色の色プレーンと前記基準色以外の色プレーンの少なくとも一方の画素値のレベルに合わせ、前記レベルが合わされた後の、前記基準色の色プレーンの画素値と前記基準色以外の各色プレーンの画素値とに基づいて、前記ズレ量を検出することを特徴とする請求項１〜７のいずれか１項に記載の画像処理装置。
【請求項９】
前記領域検出手段は、前記検出したエッジ領域を含む所定の小領域の中で、前記検出方向に対応した複数の画素列を抽出して、前記複数の画素列の各画素に基づいて複数のエッジ領域を検出し、前記複数のエッジ領域に対して前記積分値を各々算出し、前記複数のエッジ領域に対して各々算出した複数の積分値を加算し、前記加算された積分値を用いて前記所定の小領域に対応した前記ゲイン値を求めることを特徴とする請求項７に記載の画像処理装置。
【請求項１０】
前記領域検出手段は、前記検出したエッジ領域を含む所定の小領域の中で、前記検出方向に対応した複数の画素列を抽出して、前記複数の画素列の各画素に基づいて複数のエッジ領域を検出し、前記複数のエッジ領域に対して前記積分値を各々算出し、前記複数のエッジ領域に対してそれぞれ算出した積分値を用いて前記ゲイン値を求め、前記複数のエッジ領域について各々求められた複数のゲイン値のばらつきが、所定の範囲内に収まる場合に、前記複数のエッジ領域に対して各々算出した複数の積分値を加算して、前記加算された積分値を用いて前記所定の小領域に対応した前記ゲイン値を求めることを特徴とする請求項７に記載の画像処理装置。
【請求項１１】
前記ズレ検出手段により検出された前記ズレ量に基づいて、前記各色プレーンの画像の位相合わせを行うズレ補正手段を有することを特徴とする請求項１〜１０のいずれか１項に記載の画像処理装置。
【請求項１２】
前記複数の色成分は、赤、緑、青であることを特徴とする請求項１〜１１のいずれか１項に記載の画像処理装置。
【請求項１３】
生成手段が、光学系を介して撮像された撮影画像から、前記撮影画像の各画素を複数の色成分に分けて各画素が同一の色成分からなる複数の色プレーンの画像を生成するステップと、
領域検出手段が、前記複数の色プレーンを基に、画像のエッジ領域と、前記エッジ領域の周辺に画素値の変化量が所定の変化判定値より小さい各画素が続く小変化領域と、を検出するステップと、
ズレ検出手段が、前記検出されたエッジ領域と小変化領域の各画素の色成分の値に基づいて、前記複数の色プレーンのうち基準色となされた色プレーンに対する、基準色以外の各色プレーンのズレ量を検出するステップと
を含むことを特徴とする画像処理方法。
【請求項１４】
コンピュータを、請求項１〜１２のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光学系を通して撮像された画像を処理する画像処理装置、画像処理方法、及びプログラムに関する。
【背景技術】
【０００２】
デジタルカメラ等の撮像装置は、光学系を通した被写体像等を撮像素子の撮像面上に結像させて画像を撮像する。このとき、光学系を通して撮像面上に結像された画像には、光学系の倍率色収差により色成分の位相ズレ（各色成分の位置関係のズレ、以下、色ズレと表記する。）が生じていることが多い。このため、倍率色収差による色ズレを、画像処理により補正することで画質を改善するような技術が提案されている。その一例として、特許文献１には、撮影画像のＲ，Ｂの色成分の位相を、Ｇの色成分に対して設計値から得られる倍率色収差による色ズレ量（色成分の位相ズレ量に相当する色ズレ量、）分だけずらして画像を補正する技術が開示されている。以下、倍率色収差による色成分の位相ズレ量分だけ画像をずらすような補正を、色ズレ補正と呼ぶ。
【０００３】
また、倍率色収差による色ズレ量は、カメラの個体差等により、設計値から得られる色ズレ量とは必ずしも一致しないことがあり、この場合、色ズレ補正の精度が低下する虞がある。このため、倍率色収差による色ズレ量を、撮影画像の特徴点（主にエッジ部）から検出することにより、カメラの個体差によるバラつきがある場合でも、色ズレ補正を高精度に実現可能にする技術が提案されている。例えば、特許文献２には、画像のエッジ部を中心に設定した局所的なウインドウから取得したＧ信号と、そのウインドウを動径方向にずらしながら取得したＲ，Ｂ信号との相関値を求めて、Ｇ信号に対するＲ，Ｂ信号の色ズレ量を推定する技術が開示されている。このとき、ウインドウのサイズは、例えば、検出したエッジの幅の約４倍の大きさとなされる。そして、特許文献２に記載の技術は、そのウインドウから取得したＧ信号とＲ，Ｂ信号の平均値が一致するように、Ｒ，Ｂ信号のレベル合わせを行うことにより、色ズレ量の検出精度を向上させている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１５９４６号公報
【特許文献２】特許第４７０６６３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述の特許文献２に記載の技術は、ウインドウのずらし位置を変えてＲ，Ｂ信号を取得する度にレベル合わせのための係数を算出する必要があり、処理時間が長くなってしまうという問題がある。また、特許文献２に記載の技術は、ウインドウ内に、例えば同じ模様等が繰り返される繰り返しパターンが含まれている場合や、色付きのエッジが含まれている場合には、色ズレ量の検出精度が低下してしまうという問題がある。
【０００６】
本発明はこのような問題点に鑑みてなされたものであり、撮影画像から、短時間且つ高い精度で色ズレ量を検出可能とする画像処理装置、画像処理方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の画像処理装置は、光学系を介して撮像された撮影画像から、前記撮影画像の各画素を複数の色成分に分けて各画素が同一の色成分からなる複数の色プレーンの画像を生成する生成手段と、前記複数の色プレーンを基に、画像のエッジ領域と、前記エッジ領域の周辺に画素値の変化量が所定の変化判定値より小さい各画素が続く小変化領域と、を検出する領域検出手段と、前記検出されたエッジ領域と小変化領域の各画素の色成分の値に基づいて、前記複数の色プレーンのうち基準色となされた色プレーンに対する、基準色以外の各色プレーンのズレ量を検出するズレ検出手段とを有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、撮影画像から、短時間且つ高い精度で色ズレ量を検出可能となる。
【図面の簡単な説明】
【０００９】
【図１】実施形態のデジタルカメラの概略構成を示す図である。
【図２】色ズレ検出部の一構成例を示す図である。
【図３】ベイヤー配列の説明に用いる図である。
【図４】色ズレ検出方向の説明に用いる図である。
【図５】像高別の色ズレ代表値の説明に用いる図である。
【図６】入力データ補間処理の説明に用いる図である。
【図７】入力データ補間処理の際のローパスフィルタの説明に用いる図である。
【図８】第１，第２の実施形態におけるエッジ検出処理のフローチャートである。
【図９】第１の実施形態における色ズレ検出対象の信号値の一例を示す図である。
【図１０】色ズレ検出の詳細説明に用いる図である。
【図１１】エッジ検出用のフィルタの説明に用いる図である。
【図１２】相関値取得結果の説明に用いる図である。
【図１３】像高別の色ズレ量集計結果の説明に用いる図である。
【図１４】第２の実施形態における色ズレ検出対象の信号値を示した図である。
【図１５】第３の実施形態におけるエッジ検出処理のフローチャートである。
【図１６】エッジマップ変数の説明に用いる図である。
【図１７】検出方向制御パラメータの説明に用いる図である。
【発明を実施するための形態】
【００１０】
以下に、本発明の好ましい実施の形態を、添付の図面に基づいて詳細に説明する。
以下の説明では、本実施形態の画像処理装置の一例としてデジタルカメラを例に挙げているが、例えば、タブレット端末やスマートフォン、電子ゲーム機、ナビゲーション装置、パーソナルコンピュータなど様々な情報処理装置であってもよい。この場合の情報処理装置は、その装置自身に搭載されているカメラ機能により撮影された撮影画像、又は、デジタルカメラ等により撮影された撮影画像を取得し、その撮影画像に対して後述する本実施形態に係る各処理を実行する。また、情報処理装置における本実施形態に係る処理は、内部のＣＰＵ等においてコンピュータプログラムを実行することにより実現される。本実施形態に係る処理を実現するためのコンピュータプログラムは、記録媒体や各種ネットワークや通信回線を介して情報処理装置に提供される。
【００１１】
図１には、本実施形態の画像処理装置の一例としてのデジタルカメラ１００の概略構成を示す。なお、図１には本実施形態に係る主要な構成要素のみが示されており、一般的なデジタルカメラが備えている他の構成の図示については省略している。また、図２には、図１のデジタルカメラ１００の色ズレ検出部１０５の概略構成を示す。図２の色ズレ検出部１０５の説明は後述する。
【００１２】
撮像レンズ１０１は、ズームレンズ、フォーカスレンズを含むレンズ群からなる光学系である。撮像素子１０２は、撮像レンズ１０１からの入射光を電気信号に変換するためのＣＣＤやＣＭＯＳ素子である。撮像素子１０２の撮像面上には、入射光を赤（Ｒ）、緑（Ｇ）、青（Ｂ）の色成分に分離するためのカラーフィルタが配されている。図３には、カラーフィルタにおけるＲとＧ（Ｇ１，Ｇ２）とＢの各色成分に対応した各フィルタ素子の配列を表しており、この配列はいわゆるベイヤー配列と呼ばれている。これら各フィルタ素子は、撮像素子１０２の各画素位置に各々対応している。なお、図３の例は、カラーフィルタの一部分のみを示している。
【００１３】
Ａ／Ｄ変換器１０３は、撮像素子１０２から出力されるアナログ画像信号をデジタル画像信号に変換する。Ａ／Ｄ変換器１０３から出力されるデジタル画像信号は、いわゆるＲＡＷ（生）画像データであり、一時記憶メモリであるＲＡＭ１０４に記憶される。
【００１４】
色ズレ検出部１０５は、ＲＡＭ１０４に記憶されたＲＡＷ画像データを、例えば水平，垂直方向（ｘ，ｙ方向）にそれぞれ複数画素からなるブロック単位で読み出し、それらブロック毎に、Ｒ，Ｇ，Ｂの各色成分の間の位相ズレ量を表す色ズレ量の検出を行う。ここで、本実施形態では、撮像レンズ１０１の倍率色収差により生ずる色ズレ量を検出することを想定している。撮像レンズ１０１のような光学系の倍率色収差は、一般にレンズの光軸を中心とした点対称の色収差として現れるため、色ズレ量の検出は、光軸を中心とした放射状の方向について行われる。
【００１５】
このため、本実施形態の場合、色ズレ検出部１０５は、読み出したブロックの中心画素が、図４（ａ）に示すＲＡＷ画像４０の中心４１を基点とした、例えば８領域（領域ｄ０〜ｄ７）のいずれの領域に含まれるかに応じて、色ズレ量を検出する方向を決める。図４（ｂ）は、ブロックの中心画素が図４（ａ）の各領域ｄ０〜ｄ７に含まれている場合の、各領域ｄ０〜ｄ７別の一つのブロックを表している。図４（ｂ）の各ブロック内の矢印の方向は、それら各ブロックにおいて色ズレ量の検出が行われる方向を表しており、図４（ａ）の各領域ｄ０〜ｄ７に描かれている矢印の方向とそれぞれ対応している。これら図４（ａ）、図４（ｂ）に示すように、色ズレ検出部１０５は、各ブロックについて１方向にのみ色ズレ量の検出を行う。色ズレ検出部１０５にて行われる色ズレ検出処理の詳細な内容についての説明は後述する。
【００１６】
なお、撮影レンズ１０１が例えばチルトレンズやシフトレンズ、いわゆるレンズシフト式の手振れ補正機能付きのレンズ等である場合、色収差は、点対称の色収差とはならない。また、色ズレ検出の対象となっている画像が、例えばトリミング等された画像である場合には、レンズの光軸に対応した位置を特定できない可能性がある。このような場合は、それら使用されたレンズの情報や、トリミングされた範囲の情報などを基に、色収差の方向を算出して、その算出された色収差の方向に基づいて色ズレ量の検出が行われてもよい。
【００１７】
また、図４（ｂ）の升目はそれぞれが画素を表しているが、図４（ｂ）の例では、ブロックを構成する水平，垂直方向の画素数は、図示を簡略化するために実際の画素数よりも少なく描かれている。このような図示の簡略化は、後述する他の各図に示されたＲＡＷ画像やプレーン、ブロック等について同様になされ、各図のブロックの画素数と升目の数、図示されたＲＡＷ画像やプレーン等のブロック数と升目の数は、実際の数より少なく描かれている。
【００１８】
また、色ズレ検出部１０５は、図５（ａ）に示すように、ＲＡＷ画像データ５０について図中升目で表されるブロック毎に検出した各色ズレ量を、画像中心５１からの像高を一定の間隔で分割した像高区間ｈ１〜ｈ５毎に集計（合計）する。色ズレ検出部１０５は、それら各像高区間ｈ１〜ｈ５でそれぞれ集計した値を、各像高区間ｈ１〜ｈ５における色ズレ量の代表値とする。そして、色ズレ検出部１０５は、図５（ｂ）に示すように、それら像高区間ｈ１〜ｈ５について集計した色ズレ量の代表値を、サンプル数とともにＲＡＭ１０４に出力して記憶させる。
【００１９】
色ズレ補正部１０６は、ＲＡＭ１０４からＲＡＷ画像データと、各像高区間ｈ１〜ｈ５の色ズレ量の代表値及びサンプル数の情報とを読み出す。そして、色ズレ補正部１０６は、各像高区間ｈ１〜ｈ５の色ズレ量の代表値を用い、ＲＡＷ画像データに対して、像高区間ｈ１〜ｈ５毎に色ズレ補正を行う。倍率色収差に対する色ズレ補正処理は、ＲＡＷ画像におけるＲ，Ｇ，Ｂの各色成分の位相を色ズレ量（色成分の位相ズレ量）分だけずらして位相合わせ（位置合わせ）を行うような処理である。このような色ズレ補正処理は、例えば前述した特許文献１や特許文献２等に記載されている既存の技術であるため、本実施形態では、その詳細な説明については省略する。
【００２０】
なお、色ズレ検出のサンプル数が極端に少ない像高区間については、色ズレ検出の信頼度が低いと考えられる。このため、色ズレ補正部１０６は、サンプル数が極端に少なく信頼度が低い像高区間については、隣接する像高区間の色ズレ量の代表値を用いて色ズレ量を補間し、その補間による色ズレ量を用いて色ズレ補正を行う。また、各像高区間ｈ１〜ｈ５に対応して予め設計値データとして色ズレ量が用意されている場合には、色ズレ補正部１０６は、サンプル数が極端に少ない像高区間については、その設計値のデータを用いて色ズレ補正を行ってもよい。
【００２１】
画像処理部１０７は、色ズレ補正部１０６による色ズレ補正後のＲＡＷ画像データに対して、現像処理やノイズリダクション処理等の各種の画像処理を施す。画像処理部１０７による画像処理が施された後の画像データは、外部メモリ制御部１０８を介して外部メモリ１０９等に保存される。
【００２２】
＜第１の実施形態＞
以下、第１の実施形態として、図１に示したデジタルカメラ１００の色ズレ検出部１０５にて行われる色ズレ量検出処理の詳細について説明する。
図１に示したデジタルカメラ１００の色ズレ検出部１０５は、図２に示すように、入力データ変換部２０１と検出部２０２と代表値算出部２０３とローカルメモリ２０４とを有して構成されている。
【００２３】
入力データ変換部２０１は、色プレーン生成手段として、ＲＡＷ画像データに対して以下に説明するようなデータ変換処理を行って、Ｒ，Ｇ，Ｂの各色成分の色プレーンのデータを生成する。ここで、プレーンとは、各画素位置のデータがＲ，Ｇ，Ｂのそれぞれ同一の色成分のデータのみで形成された画像である。Ｒ，Ｇ，Ｂの各色成分の色プレーン生成の一例を、図６（ａ）〜図６（ｄ）と図７を用いて説明する。
【００２４】
図６（ａ）は、入力データ変換部２０１が、図１のＲＡＭ１０４から読み出したＲＡＷ画像の一部を示している。入力データ変換部２０１は、図６（ａ）に示したＲＡＷ画像から、図６（ｂ）に示すように同一色成分の画素値を抜き出す。図６（ｂ）の例は、図６（ａ）のＲＡＷ画像からＲ成分の画素値のみを抜き出した例を示している。入力データ変換部２０１は、図６（ｂ）のように同一色成分の画素値を抜き出した後、図６（ｃ）に示すように、色成分の信号値が無い画素位置に対してゼロ値を挿入する。
【００２５】
次に、入力データ変換部２０１は、図６（ｃ）のように色成分の信号値が無い画素位置に対してゼロ値が挿入された後の画像に対し、図７に示すような各フィルタ係数（係数１〜係数４）が配されたローパスフィルタを用いて補間処理を行う。図６（ｄ）は、入力データ変換部２０１が、図６（ｃ）の画像に対して図７のローパスフィルタを用いた補間処理を行って生成されたＲプレーンを示している。入力データ変換部２０１は、図６（ａ）のＲＡＷ画像のＧとＢの色成分についても図６（ｂ）〜図６（ｄ）で説明したのと同様の処理を行うことにより、ＧプレーンとＢプレーンを生成する。なお、ＲＡＷ画像のＧの色成分はＧ１とＧ２からなるため、Ｇプレーンについては、Ｒ及びＢプレーンと合わせるために、図６（ａ）のＧ１，Ｇ２のいずれか一方の画素値のみを用いて生成する。このようにして作成されたＲ，Ｇ，Ｂの各色成分の色プレーンのデータは、ローカルメモリ２０４に記憶される。
【００２６】
検出部２０２は、領域検出手段とズレ量検出手段の一例である。検出部２０２は、ローカルメモリ２０４に記憶されたＲ，Ｇ，Ｂの各色プレーンのうち、何れかを基準色のプレーンとする。本実施形態では、例えばＧプレーンを基準色プレーンとし、Ｒ，Ｂプレーンを基準色以外の色プレーンとする。また、検出部２０２は、Ｒ，Ｇ，Ｂの各色プレーンについて、それぞれ１ブロックにつき前述した色ズレ検出方向に抽出した１列分の画素値を取得する。そして、検出部２０２は、基準色のＧプレーンのブロックから抽出した１列分の画素値と、基準色以外のＲ，ＢプレーンのうちＧプレーンのブロックに対応したブロックからそれぞれ抽出した１列分の画素値とを用いて、色ズレ量を検出する。
【００２７】
詳細については後述するが、このような色ズレ量の検出を実現するため、検出部２０２は、Ｒ，Ｇ，Ｂの各色プレーンから抽出した１列分の画素列の各画素値を用いて、エッジ領域（以下、エッジ部と表記する。）を検出する。また同様に詳細は後述するが、検出部２０２は、エッジ部の周辺において、例えばエッジ部の色ズレ検出方向の幅の両端から外側に向かって画素値の変化が小さい各画素が続く小変化領域（以下、ベタ部と表記する。）を検出する。さらに、同様に詳細は後述するが、検出部２０２は、ベタ部から基準色（Ｇ）のプレーンに対する基準色以外（Ｒ，Ｂ）のプレーンの位相ズレ量（色ズレ量）を検出する。例えば、検出部２０２は、ベタ部の画素値に応じて、ＧプレーンとＲ，Ｂプレーンの少なくとも一方の画素値のレベルに合わせ、そのレベル合わせがなされた後のＧプレーンの画素値とＲ，Ｂプレーンの画素値とに基づいてズレ量を検出する。なお、以下の説明では、エッジ部の色ズレ検出方向における幅の両端を、単に「エッジ部の両端」と表記する。また、以下の説明では、エッジ部の両端から外側の領域を、単に「エッジ部の両端の外側領域」と表記する。
【００２８】
図８は、本実施形態の検出部２０２における処理の流れを示したフローチャートである。図８の各ステップの処理の内容について、図９に示すようなＲ，Ｇ，Ｂの各信号値を例に挙げて説明する。図９は、各画素位置におけるＲ，Ｇ，Ｂの各信号値（各画素位置の各画素における各色成分の値）を表した図である。
【００２９】
図８のフローチャートにおいて、検出部２０２は、先ずステップＳ８０１の処理として、ローカルメモリ２０４に記憶された各プレーンについて、１ブロックにつき前述の色ズレ検出方向に抽出した１列分の各画素のＲ，Ｇ，Ｂの信号を用いてエッジ検出を行う。エッジ検出は、図９に示したような各画素位置のＲ，Ｇ，Ｂの信号値から以下の式（１）により作成した輝度値（以下、Ｙ信号と表記する。）を用いて行われる。
【００３０】
Ｙ[n]＝０．３×Ｒ[n]＋０．６×Ｇ[n]＋０．１×Ｂ[n]  ・・・・式（１）
【００３１】
なお、式（１）中のｎは、ローカルメモリ２０４に記憶されたＲ，Ｇ，Ｂの各プレーンについて、それぞれ１ブロックにつき色ズレ検出方向に抽出された１列分のＲ，Ｇ，Ｂの各信号の画素位置を表す数である。図１０（ａ）、図１０（ｂ）、図１０（ｃ）には、図９の各画素位置におけるＲ，Ｇ，Ｂの各信号値を各々画素位置に対応させて配列した図を示す。図１０（ｄ）には、式（１）を用いて算出されたＹ信号の各値を各々画素位置に対応させて配列した図を示す。
【００３２】
また、検出部２０２は、図１１のようなフィルタ係数（−１，０，１）が設定されたエッジ検出フィルタを用いて、Ｙ信号に対するエッジ検出フィルタ処理を行う。図１０（ｅ）には、Ｙ信号に対するエッジ検出フィルタ処理後の信号値を各画素位置に対応させて配列した図を示す。さらに、検出部２０２は、エッジ検出フィルタのフィルタ出力レベルの絶対値と、予め設定されたエッジレベル判定値ＥｄｇｅＴｈＬｅｖｅｌとを比較する。そして、検出部２０２は、フィルタ処理後のフィルタ出力レベルの絶対値がエッジレベル判定値ＥｄｇｅＴｈＬｅｖｅｌよりも大きくなっている画素位置を求める。なお、以下の説明では、エッジ検出フィルタ処理後のフィルタ出力レベルの絶対値を「信号絶対値」と表記する。
【００３３】
さらに、検出部２０２は、信号絶対値がエッジレベル判定値ＥｄｇｅＴｈＬｅｖｅｌより大きい各画素位置の連続する領域の幅（エッジ幅方向の長さ）と、予め設定されたエッジ長さ判定値ＥｄｇｅＴｈＬｅｎｇｔｈとを比較する。そして、検出部２０２は、それら各画素位置の連続した領域の幅（幅方向の長さ）が、エッジ長さ判定値ＥｄｇｅＴｈＬｅｎｇｔｈ以上となっている領域（連続した領域の幅がエッジ長さ判定値以上連続している領域）を、エッジ部として検出する。例えば、エッジレベル判定値ＥｄｇｅＴｈＬｅｖｅｌを「３００」、エッジ長さ判定値ＥｄｇｅＴｈＬｅｎｇｔｈを「３」とした場合、図１０（ｅ）の例において、検出部２０２は、画素位置「４〜７」の領域をエッジ部として検出する。ステップＳ８０１の後、検出部２０２は、ステップＳ８０２に処理を進める。
【００３４】
ステップＳ８０２において、検出部２０２は、ステップＳ８０１で検出されたエッジ部の両端から外側方向に向かって、隣接する画素位置の画素間でＹ信号値の変化量が小さい各画素が所定の数以上続いた領域（ベタ部）が存在しているか否かを判定する。具体的には、検出部２０２は、エッジ部の両端に含まれる画素位置の１画素分だけ外側の画素位置から、所定の数であるベタ部長さ判定値Ｂｅｔａとして予め設定されている幅（長さ）に相当する画素位置までの画素領域（画素数）を決める。さらに、検出部２０２は、ベタ部長さ判定値Ｂｅｔａに対応した画素領域内の各画素位置において、図１０（ｅ）に示した信号絶対値と、所定の変化判定値として予め設定されたベタ部レベル判定値ＢｅｔａＴｈＬｅｖｅｌとを比較する。
【００３５】
そして、検出部２０２は、ベタ部長さ判定値Ｂｅｔａの画素領域内の全ての画素位置において、信号絶対値がベタ部レベル判定値ＢｅｔａＴｈＬｅｖｅｌより小さい場合、ステップＳ８０１で検出したエッジ部は有効なエッジ部であると判定する。例えば、ベタ部長さ判定値Ｂｅｔａを「３」、ベタ部レベル判定値ＢｅｔａＴｈＬｅｖｅｌを「１００」とした場合、検出部２０２は、図１０（ｇ）のように、画素位置「１〜３」の領域と、画素位置「８〜１０」の領域をそれぞれベタ部として検出する。そして、検出部２０２は、それら画素位置「１〜３」と「８〜１０」のベタ部内の全画素位置において、信号絶対値がベタ部レベル判定値ＢｅｔａＴｈＬｅｖｅｌより小さい場合、画素位置「４〜７」のエッジ部は有効なエッジ部であると判定する。このように、ベタ部長さ判定値Ｂｅｔａの画素領域内の全ての画素位置において、信号絶対値がベタ部レベル判定値ＢｅｔａＴｈＬｅｖｅｌより小さい場合、エッジ部の両端の外側領域は、隣接画素位置間で信号値の変化が小さいベタ部になっていると考えられる。検出部２０２は、ステップＳ８０２において、エッジ部の両端の外側領域がベタ部として検出されて、そのエッジ部が有効であると判定した場合には、ステップＳ８０３に処理を進める。ステップＳ８０３以降の処理は、ズレ量検出のための処理である。
【００３６】
一方、ステップＳ８０２において、検出部２０２は、ベタ部長さ判定値Ｂｅｔａの画素領域内の各画素位置のうち、信号絶対値がベタ部レベル判定値ＢｅｔａＴｈＬｅｖｅｌ以上となる画素位置が一つでも存在した場合には、図８の処理を終了する。ここで、信号絶対値がベタ部レベル判定値ＢｅｔａＴｈＬｅｖｅｌ以上となる画素位置が存在している領域は、例えば細かい模様等が繰り返される繰り返しパターンのような画像領域になっている可能性があると考えられる。したがって、検出部２０２は、ステップ８０２において、信号絶対値がベタ部レベル判定値ＢｅｔａＴｈＬｅｖｅｌ以上となる画素位置が存在していると判定した場合には、有効なエッジ部は存在しないとして、図８のフローチャートの処理を終了する。
【００３７】
ステップＳ８０３の処理に進んだ場合、検出部２０２は、エッジ部の両端の外側領域のベタ部についてＲ，Ｇ，Ｂの各信号値をそれぞれ積分する。さらに、検出部２０２は、基準色の色成分であるＧの積分値に対して基準色以外の色成分であるＲの積分値の割合（ゲイン値）と、同じく基準色のＧの積分値に対して基準色以外の色成分であるＢの積分値の割合（ゲイン値）とを求める。そして、検出部２０２は、エッジ部を挟んで、画素位置の値が小さい方（色ズレ検出方向の始点側）のベタ部を第１ベタ部とし、画素位置の値が大きい方（色ズレ検出方向の終点側）のベタ部を第２ベタ部とし、式（２）〜式（５）により各ゲイン値を求める。
【００３８】
ｇａｉｎＲ１＝ｓｕｍＧ１／ｓｕｍＲ１    ・・・式（２）
ｇａｉｎＲ２＝ｓｕｍＧ２／ｓｕｍＲ２    ・・・式（３）
ｇａｉｎＢ１＝ｓｕｍＧ１／ｓｕｍＢ１    ・・・式（４）
ｇａｉｎＢ２＝ｓｕｍＧ２／ｓｕｍＢ２    ・・・式（５）
ｓｕｍＧ１：第１ベタ部におけるＧ信号の積分値
ｓｕｍＧ２：第２ベタ部におけるＧ信号の積分値
ｓｕｍＲ１：第１ベタ部におけるＲ信号の積分値
ｓｕｍＲ２：第２ベタ部におけるＲ信号の積分値
ｓｕｍＢ１：第１ベタ部におけるＢ信号の積分値
ｓｕｍＢ２：第２ベタ部におけるＢ信号の積分値
ｇａｉｎＲ１：第１ベタ部におけるＧの積分値に対するＲの積分値の割合（ゲイン値）
ｇａｉｎＲ２：第２ベタ部におけるＧの積分値に対するＲの積分値の割合（ゲイン値）
ｇａｉｎＢ１：第１ベタ部におけるＧの積分値に対するＢの積分値の割合（ゲイン値）
ｇａｉｎＢ２：第２ベタ部におけるＧの積分値に対するＢの積分値の割合（ゲイン値）
【００３９】
図１０（ｈ）には、図１０（ａ）〜図１０（ｃ）の例において、第１ベタ部と第２ベタ部の各積分値とゲイン値の算出結果を示している。一例として、第１ベタ部を挙げた場合、ｓｕｍＲ１は「２４００」、ｓｕｍＧ１は「３０００」、ｓｕｍＢ１は「１５００」となり、ｇａｉｎＲ１は「１．２５」、ｇａｉｎＢ１は「２．００」となる。ステップＳ８０３の後、検出部２０２は、ステップＳ８０４に処理を進める。
【００４０】
ステップＳ８０４では、検出部２０２は、エッジ部の両端の外側領域のＲ信号のゲイン値を比較し、同様に、エッジ部の両端の外側領域のＢ信号のゲイン値を比較する。ここで例えば、エッジ部の両端の外側領域のＲ信号やＢ信号のゲイン値が大きく異なっている場合には、エッジ部に色付きが生じている可能性が高いと考えられる。そして、このようにエッジ部に色付きが生じている場合には、Ｇ信号に対するＲ，Ｂ信号の相関が低くなっていると考えられる。このように、エッジ部に色付きが生じていて、エッジ部の両端の外側領域でＧ信号に対するＲ，Ｂ信号の相関が低くなっている場合には、倍率色収差補正のための色ズレ量検出精度は低下してしまう可能性が高くなる。このため、検出部２０２は、式（６）と式（７）のように、Ｒ信号とＢ信号のそれぞれについて、エッジ部の両端の外側領域のゲイン値の差分の絶対値が、ゲイン値に対するしきい値として予め設定されているゲイン判定値より小さいか否かを判定する。
【００４１】
ａｂｓ（ｇａｉｎＲ１−ｇａｉｎＲ２）＜ＴｈＤｉｆｆＧａｉｎＲ  ・・・式（６）
ａｂｓ（ｇａｉｎＢ１−ｇａｉｎＢ２）＜ＴｈＤｉｆｆＧａｉｎＢ  ・・・式（７）
【００４２】
なお、式（６）のａｂｓ（ｇａｉｎＲ１−ｇａｉｎＲ２）は、前述の式（２）と式（３）で得られたＲ信号におけるエッジ部の両端の外側領域の各ゲイン値（ｇａｉｎＲ１とｇａｉｎＲ２）の差分の絶対値である。また、式（７）のａｂｓ（ｇａｉｎＢ１−ｇａｉｎＢ２）は、式（３）と式（４）で得られたＢ信号におけるエッジ部の両端の外側領域の各ゲイン値（ｇａｉｎＢ１とｇａｉｎＢ２）の差分の絶対値である。式（６）のＴｈＤｉｆｆＧａｉｎＲは、Ｒ信号に対するゲイン値のしきい値として設定されているゲイン判定値であり、ＴｈＤｉｆｆＧａｉｎＢは、Ｂ信号に対するゲイン値のしきい値として設定されているゲイン判定値である。以下の説明では、Ｒ信号とＢ信号における差分絶対値ａｂｓ（ｇａｉｎＲ１−ｇａｉｎＲ２）とａｂｓ（ｇａｉｎＢ１−ｇａｉｎＢ２）を、単に「差分絶対値ａｂｓ」と表記する。また、ゲイン判定値ＴｈＤｉｆｆＧａｉｎＲ，ＴｈＤｉｆｆＧａｉｎＢを、単に「ゲイン判定値ＴｈＤｉｆｆＧａｉｎ」と表記する。
【００４３】
ここで、Ｒ，Ｂ信号における差分絶対値ａｂｓが、それぞれ対応したゲイン判定値ＴｈＤｉｆｆＧａｉｎより小さい場合には、エッジ部に色付きは生じていないと考えられる。この場合、倍率色収差補正のための色ズレ量は、高い精度で検出可能になると考えられる。これに対し、Ｒ，Ｂ信号における差分絶対値ａｂｓの少なくとも一方が、対応したゲイン判定値ＴｈＤｉｆｆＧａｉｎ以上の場合には、エッジ部に色付きが生じていると考えられる。この場合、倍率色収差補正のための色ズレ量は、高い精度では検出できないと考えられる。このため、検出部２０２は、ステップＳ８０４において、Ｒ，Ｂ信号における差分絶対値ａｂｓが、それぞれ対応したゲイン判定値ＴｈＤｉｆｆＧａｉｎより小さいと判定した場合には、ステップＳ８０５に処理を進める。一方、検出部２０２は、ステップＳ８０４において、Ｒ，Ｂ信号における差分絶対値ａｂｓの少なくとも一方が、対応したゲイン判定値ＴｈＤｉｆｆＧａｉｎ以上になっていると判定した場合には、図８の色ズレ量の検出処理を終了する。
【００４４】
ステップＳ８０５では、検出部２０２は、ＲとＢの信号を、色ズレ検出方向にそれぞれ１画素分ずつずらしながらローカルメモリ２０４から読み出して、エッジ部の信号値について基準色のＧプレーンの対応する画素の信号値との相関値をそれぞれ求める。式（８）、式（９）には、Ｇプレーンの対応する画素の信号値との相関値としての差分絶対値和であるＳＡＤ値（ｓａｄＲ[k]，ｓａｄＢ[k]）の算出式を示す。
【００４５】
【数１】
0006559020.tif 000002
【００４６】
なお、式（８）と式（９）において、ｋはＲ，Ｂ信号を取得する際の画素のずらし位置を示す値であり、その値は検出したい色ズレ量の最大値に合わせて変更される。また、ｇａｉｎＲは、エッジ部の両端の外側領域でＲ信号について前述の式（２）と式（３）でそれぞれ求めたゲイン値ｇａｉｎＲ１とｇａｉｎＲ２の平均値である。同様に、ｇａｉｎＢは、エッジ部の両端の外側領域でＢ信号について前述の式（４）と式（５）でそれぞれ求めたゲイン値ｇａｉｎＢ１とｇａｉｎＢ２の平均値である。以下の説明では、差分絶対値和のＳＡＤ値（ｓａｄＲ[k]，ｓａｄＢ[k]）を、単に「ＳＡＤ値」と表記する。ステップＳ８０５の後、検出部２０２は、ステップＳ８０６に処理を進める。
【００４７】
ステップＳ８０６では、検出部２０２は、前述のようにして求めたＳＡＤ値を、検出した色ズレ量の情報として、図１２に示すように、像高とエッジ検出方向の情報とともにローカルメモリ２０４に記憶させる。なお、図１２の検出方向の数値は、前述の図４の領域ｄ０〜ｄ７における０〜７に対応する。
検出部２０２は、以上の各処理を全てのブロックの各列について行う。全てのブロックの各列についての処理が終わると、検出部２０２は、図８のフローチャートの処理を終了する。
【００４８】
以下、代表値算出部２０３について詳細に説明する。
代表値算出部２０３は、検出部２０２による全てのブロックについての色ズレ量の検出が完了した後、ローカルメモリ２０４に記憶されている各サンプルのＳＡＤ値を参照して色ズレ量を推定する。
【００４９】
具体的には、代表値算出部２０３は、先ず、ＳＡＤ値が最少となるずらし位置Ｋ０とその前後のずらし位置（Ｋ０−１），（Ｋ０＋１）におけるＳＡＤ値とから、以下の式（１０）を用い、１画素分を構成するＲ，Ｇ，Ｂの各サブピクセル単位の色ズレ量を求める。
【００５０】
ｘ＝−[S(K0+1)-S(K0-1)]／[2S(K0-1)-4S(K0)+2S(K0+1)]  ・・・式（１０）
ここで、ｘは色ズレ量の推定値、Ｓ（Ｋ）は各ずらし位置におけるＳＡＤ値のｓａｄＲ[k]又はｓａｄＢ[k]である。
【００５１】
さらに、代表値算出部２０３は、前述のようにサブピクセル単位で算出した色ズレ量を、図１３のように像高区間（ｈ１〜ｈ５）別に集計（合計）し、全てのサンプルについて集計が完了した後、像高区間別の色ズレ量の平均値を算出する。そして、代表値算出部２０３は、算出した平均値を、図５（ｂ）に示した色ズレ量の代表値として、サンプル数とともにＲＡＭ１０４に記憶させる。
【００５２】
以上説明したように、本実施形態によれば、色ズレ検出部１０５は、前述したように有効なエッジ部を確実に検出でき、また有効なエッジ部の検出により、そのエッジ部の両端の外側領域のベタ部をも確実に検出できる。すなわち、本実施形態によれば、有効なエッジ部とベタ部から、色ズレ量の検出に使用されるゲイン値を１度だけ算出すればよいことになる。このように、本実施形態によれば、従来はずらし位置を変更する度に行われていたレベル合わせのためのゲイン値算出を、エッジ部の両端の外側のベタ部から１度だけ算出すればよいため、短時間に色ズレ量を検出可能となる。また、本実施形態では、エッジ部の両端の外側のベタ部判定及びゲイン値の比較を行うことで、エッジ部に色付きが生じている場合や、ベタ部が存在せず繰り返しパターン等になっている領域を、色ズレ量検出の際に使用しないようにすることができる。このため、本実施形態によれば、色ズレ量の検出を高い精度で行うことができる。
【００５３】
＜第２の実施形態＞
以下、第２の実施形態について説明する。
第２の実施形態のデジタルカメラ１００は、基本的な構成については前述の図１のデジタルカメラ１００と同じであるが、色ズレ検出部１０５における色ズレ量検出処理が第１の実施形態とは異なる。第２の実施形態の場合、色ズレ検出部１０５は、エッジ検出をＲ，Ｇ，Ｂ信号別に行うことで色ずれ量の検出精度を向上させている。以下、第１の実施形態とは異なる部分のみ説明する。
【００５４】
前述した第１の実施形態では、Ｒ，Ｇ，Ｂ信号から算出したＹ信号を用いてエッジ検出を行っている。ここで、例えばＲ，Ｇ，Ｂの各信号の何れかの信号が他の信号に対して大きくずれているような場合（例えば色ズレ量が画素位置に換算して１０画素分近くにまで及ぶような場合）、Ｙ信号では、Ｒ，Ｂ信号のエッジ部を正確に検出できない可能性がある。例えば図１４には、各画素位置Ｎｓｇ，Ｎｓｒ，Ｎｅｇ，Ｎｅｒ，Ｎｓｂ，Ｎｓｂのうち、例えばＧ，Ｂ信号に対してＢ信号が大きくずれている例を示している。この図１４の例のような場合、前述の第１の実施形態のようにＹ信号のみを用いたのでは、色ズレ量の検出精度が低下してしまう虞がある。このように色ズレ量が大きい場合において、色ズレ量の検出を行う場合には、第２の実施形態のように、Ｒ，Ｇ，Ｂ信号それぞれでエッジ検出を行う方法が有効である。
【００５５】
第２の実施形態において、色ズレ検出処理の全体の処理の流れは、前述の第１の実施形態で説明した図８のフローチャートに示した処理と概ね同じである。ただし、第２の実施形態の場合は、ベタ部判定及びゲイン値の算出を、Ｒ，Ｇ，Ｂそれぞれにおけるエッジ部両端の始点と終点の画素位置の外側の画素領域を参照して行う。図１４の例の場合、ＮｓｇとＮｅｇはＧにおけるエッジ部の始点と終点の画素位置であり、同様に、ＮｓｒとＮｅｒはＲにおける始点と終点、ＮｓｂとＮｅｂはＢにおける始点と終点の画素位置である。したがって、第２の実施形態では、それら画素位置Ｎｓｇ，Ｎｓｒ，Ｎｅｇ，Ｎｅｒ，Ｎｓｂ，Ｎｅｂを除いた外側の画素領域のＲ，Ｇ，Ｂの各信号値を参照してベタ部判定及びゲイン値の算出を行う。
【００５６】
そして、第２の実施形態の場合、色ズレ検出部１０５は、式（１１）〜式（１６）により、第１ベタ部と第２ベタ部のＲ，Ｇ，Ｂの各々について各積分値ｓｕｍＧ１，ｓｕｍＧ２，ｓｕｍＲ１，ｓｕｍＲ２，ｓｕｍＢ１，ｓｕｍＢ２を求める。
【００５７】
【数２】
0006559020.tif 000003
【００５８】
ここで、式（１１）〜式（１６）の「Ｂａｔａ」は第１の実施形態の場合と同様に、エッジ両端のベタ部長さ判定値である。
さらに、色ズレ検出部１０５は、それら各積分値ｓｕｍＧ１，ｓｕｍＧ２，ｓｕｍＲ１，ｓｕｍＲ２，ｓｕｍＢ１，ｓｕｍＢ２を用いて、前述の式（２）〜式（５）によりゲイン値ｇａｉｎＲ１，ｇａｉｎＲ２，ｇａｉｎＢ１，ｇａｉｎＢ２を求める。そして、色ズレ検出部１０５は、これらゲイン値を用い、以下、前述の第１の実施形態で説明したのと同様にして色ズレ量を求める。これにより、第２の実施形態においても、第１の実施形態の場合と同様に、短時間に高い精度で色ズレ量を検出可能となる。さらに第２の実施形態の場合は、Ｒ，Ｇ，Ｂ信号において色ズレ量が大きい場合であっても、高精度の色ズレ量検出が可能である。
【００５９】
＜第３の実施形態＞
以下、第３の実施形態について説明する。
第３の実施形態のデジタルカメラ１００は、基本的な構成については前述の図１のデジタルカメラ１００と同じであるが、色ズレ検出部１０５における色ズレ量検出処理が第１の実施形態とは異なる。第３の実施形態の色ズレ検出部１０５は、色ズレ検出方向で抽出した複数列の画素値を用いて複数のエッジ部を検出し、それら複数のエッジ部で検出したベタ部の積分値を加算した値を用いてゲイン値を算出することで、色ズレ量の検出精度を向上させている。
【００６０】
前述の第１の実施形態では、検出したエッジ部の両端の外側のベタ部から取得したＲ，Ｇ，Ｂ信号の積分値のみを用いてゲイン算出を行っている。ただし、第１の実施形態の場合、例えば高感度で撮像が行われて取得された撮影画像等のように、ノイズの影響が大きくなっている場合には、エッジ部が正しく検出されずゲイン値算出の精度が低下してしまう虞がある。このようにノイズの影響が大きい撮影画像を用いて色ズレ検出を行う場合には、第３の実施形態のように、複数のエッジ部に対するベタ部で取得した積分値を集計した値を用いてゲイン値の算出を行う方法が有効である。以下、第１の実施形態とは異なる部分のみ説明する。
【００６１】
図１５には、第３の実施形態の場合の色ズレ検出部１０５の検出部２０２における処理のフローチャートを示す。なお、図１５のフローチャートにおいて、ステップＳ１５０１のエッジ検出からステップＳ１５０４のゲイン値比較までの処理は、図８のステップＳ８０１からステップＳ８０４までの処理と同じであるため、それらの説明は省略する。また、図１５のステップＳ１５０９とステップＳ１５１０は、図８のステップＳ８０５とステップＳ８０６と同じ処理であるため、それらの説明についても省略する。
【００６２】
ただし、第３の実施形態の場合、検出部２０２は、ステップＳ１５０２において有効なエッジ部が存在しないと判定した場合には、ステップＳ１５０７に処理を進める。また、検出部２０２は、ステップＳ１５０４においてエッジ両端のゲイン値の差分絶対値ａｂｓがゲイン判定値ＴｈＤｉｆｆＧａｉｎＲ，ＴｈＤｉｆｆＧａｉｎＢ以上であると判定した場合には、ステップＳ１５０７に処理を進める。一方、検出部２０２は、ステップＳ１５０４において差分絶対値ａｂｓがゲイン判定値ＴｈＤｉｆｆＧａｉｎＲ，ＴｈＤｉｆｆＧａｉｎＢより小さいと判定した場合には、ステップＳ１５０５に処理を進める。
【００６３】
第３の実施形態の場合、ステップＳ１５０５では、検出部２０２は、前述したベタ部の積分値ｓｕｍＧ１，ｓｕｍＧ２，ｓｕｍＲ１，ｓｕｍＲ２，ｓｕｍＢ１，ｓｕｍＢ２を、変数ｓｕｍＧ＿ｂｌｋ，ｓｕｍＲ＿ｂｌｋ，ｓｕｍＢ＿ｂｌｋに加算する。このときの計算式は、式（１７）〜式（１９）により表される。なお、変数ｓｕｍＧ＿ｂｌｋ，ｓｕｍＲ＿ｂｌｋ，ｓｕｍＢ＿ｂｌｋは、ブロック毎の色ズレ検出を開始する前には「０」に初期化されているものとする。
【００６４】
ｓｕｍＧ＿ｂｌｋ＝ｓｕｍＧ＿ｂｌｋ＋（ｓｕｍＧ１＋ｓｕｍＧ２）・・・式（１７）
ｓｕｍＲ＿ｂｌｋ＝ｓｕｍＲ＿ｂｌｋ＋（ｓｕｍＲ１＋ｓｕｍＲ２）・・・式（１８）
ｓｕｍＢ＿ｂｌｋ＝ｓｕｍＢ＿ｂｌｋ＋（ｓｕｍＢ１＋ｓｕｍＢ２）・・・式（１９）
【００６５】
ステップＳ１５０５の後、検出部２０２は、ステップＳ１５０６に処理を進める。
ステップＳ１５０６では、検出部２０２は、色ズレ検出の対象ブロックと同じ画素数サイズとなされている図１６のようなエッジマップ変数ＥｄｇｅＭａｐについて、Ｇプレーンから検出されたエッジ部に対応した小領域の各座標位置の要素に「１」をセットする。ここで、エッジマップ変数ＥｄｇｅＭａｐは、各要素が２次元配列されて形成された変数マップであり、ブロック毎の色ズレ検出が開始する前には全ての要素が「０」に初期化されているものとする。ステップＳ１５０６の後、検出部２０２は、ステップＳ１５０７に処理を進める。
【００６６】
ステップＳ１５０７では、検出部２０２は、ブロック内で色ズレ検出方向の全列の画素値についてステップＳ１５０１〜Ｓ１５０６の処理が完了したか否かを判定する。ステップＳ１５０７において、検出部２０２は、ブロック内の全列についての処理が完了したと判定した場合にはステップＳ１５０８に処理を進め、一方、処理が完了していないと判定した場合にはステップＳ１５０１に処理を戻されて次の画素列の処理が行われる。
【００６７】
ステップＳ１５０８の処理に進んだ場合、検出部２０２は、式（２０）と式（２１）を用いて、ゲイン値ｇａｉｎＲ＿ｂｌｋ，ｇａｉｎＢ＿ｂｌｋを算出する。これにより、エッジマップ変数ＥｄｇｅＭａｐ内で用素が「１」となされた小領域の中で、複数のエッジ部について各々算出された複数の積分値が加算され、それら複数の積分値を加算した値から算出されたゲイン値が得られることになる。
【００６８】
ｇａｉｎＲ＿ｂｌｋ＝ｓｕｍＧ＿ｂｌｋ／ｓｕｍＲ＿ｂｌｋ  ・・・式（２０）
ｇａｉｎＢ＿ｂｌｋ＝ｓｕｍＧ＿ｂｌｋ／ｓｕｍＢ＿ｂｌｋ  ・・・式（２１）
【００６９】
ステップＳ１５０８の後、検出部２０２は、ステップＳ１５０９に処理を進める。
ステップＳ１５０９では、検出部２０２は、ゲイン値ｇａｉｎＲ＿ｂｌｋ，ｇａｉｎＢ＿ｂｌｋとエッジマップ変数ＥｄｇｅＭａｐとを用い、式（２２）、式（２３）によりブロック単位のＳＡＤ値（ｓａｄＲ[k]，ｓａｄＢ[k]）を求める。
【００７０】
【数３】
0006559020.tif 000004
【００７１】
ここで、Ｎｈはブロックの水平方向画素数、Ｎｖはブロックの垂直方向画素数である。ｋはＲ，Ｂ信号を取得するずらし位置である。また、α，βはずらし位置で取得するＲ，Ｂ信号の方向を決定するパラメータであり、図１７に示すように色ズレ検出方向に応じて一意に決まる値である。ステップＳ１５０８の後、検出部２０２は、図８のステップＳ８０５と同じ処理であるステップＳ１５０９に処理を進める。以下の処理は、前述の図８のステップＳ８０６，Ｓ８０６と同じであるため説明は省略する。
【００７２】
なお、検出部２０２は、ステップＳ１５０４による各エッジのゲイン値を記憶し、ブロック全体で得られたゲイン値のばらつきが所定範囲内に収まる（ブロック全体で均一色と判断できる）場合のみ、ステップＳ１５０８のゲイン値算出を行うようにしてもよい。
【００７３】
以上説明したように、第３の実施形態においては、複数のエッジ部で検出されたベタ部の積分値をブロック単位で加算した結果を用いてゲイン値算出することにより、ノイズに対するゲイン算出の敏感度を抑え、高い検出精度を維持することが可能となる。
【００７４】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００７５】
上述の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明は、その技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００７６】
１００  デジタルカメラ、１０１  撮像レンズ、１０２  撮像素子、１０３  Ａ／Ｄ変換器、１０４  ＲＡＭ、１０５  色ズレ検出部、１０６  色ズレ補正部、１０７  画像処理部、１０８  外部メモリ制御部、１０９  外部メモリ、２０１  入力データ変換部、２０２  ズレ量検出部、２０３  代表値算出部
【図１】
0006559020.tif 000005
【図２】
0006559020.tif 000006
【図３】
0006559020.tif 000007
【図４】
0006559020.tif 000008
【図５】
0006559020.tif 000009
【図６】
0006559020.tif 000010
【図７】
0006559020.tif 000011
【図８】
0006559020.tif 000012
【図９】
0006559020.tif 000013
【図１０】
0006559020.tif 000014
【図１１】
0006559020.tif 000015
【図１２】
0006559020.tif 000016
【図１３】
0006559020.tif 000017
【図１４】
0006559020.tif 000018
【図１５】
0006559020.tif 000019
【図１６】
0006559020.tif 000020
【図１７】
0006559020.tif 000021