(57)【要約】【課題】演算量を低減しつつ良好な倍率色収差補正を行う。【解決手段】画像処理装置は、光学系を通した撮像により生成された入力画像に対して、光学系の倍率色収差に関する補正処理を行う処理手段１１１と、光学系の倍率色収差量を検出する検出手段１１６と、補正処理において用いられる補正値として、検出手段による検出結果に応じた第１の補正値を算出する算出手段１１７と、上記補正値として検出手段による検出結果によらずに用意された第２の補正値を保持する記憶手段１１７ａとを有する。処理手段は、入力画像を複数の補正対象領域に分割し、該補正対象領域ごとに第１の補正値および第２の補正値のうち一方を選択して補正処理を行う。【選択図】図１
2017050700.tif 000002
【特許請求の範囲】
【請求項１】
光学系を通した撮像により生成された入力画像に対して、前記光学系の倍率色収差に関する補正処理を行う処理手段と、
前記光学系の倍率色収差量を検出する検出手段と、
前記補正処理において用いられる補正値として、前記検出手段による検出結果に応じた第１の補正値を算出する算出手段と、
前記補正値として、前記検出手段による検出結果によらずに用意された第２の補正値を保持する記憶手段とを有し、
前記処理手段は、
前記入力画像を複数の補正対象領域に分割し、
該補正対象領域ごとに前記第１の補正値および前記第２の補正値のうち一方を選択して前記補正処理を行うことを特徴とする画像処理装置。
【請求項２】
前記撮像における被写体ごとの距離に関する情報を取得する距離取得手段を有し、
前記処理手段は、前記距離に関する情報に応じて前記補正対象領域ごとに前記第１および第２の補正値のうち一方を選択することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記距離取得手段は、前記入力画像において前記距離が互いに異なる複数の距離領域を示す距離マップを生成し、
前記処理手段は、前記複数の補正対象領域と前記複数の距離領域とを互いに対応させる処理を行ってから、前記補正対象領域ごとに前記第１および第２の補正値のうち一方を選択することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記処理手段は、
前記複数の距離領域を、前記距離が第１の距離である第１の距離領域と、前記距離が前記第１の距離よりも遠い第２の距離である第２の距離領域とに分け、
前記第１の距離領域に対応する前記補正対象領域に対して前記第１の補正値を選択し、前記第２の距離領域に対応する前記補正対象領域に対して前記第２の補正値を選択することを特徴とする請求項２または３に記載の画像処理装置。
【請求項５】
前記処理手段は、
前記距離の信頼度を判定し、
前記補正対象領域における前記距離の信頼度が所定値より低い場合は該補正対象領域に対して前記第２の補正値を選択することを特徴とする請求項２から４のいずれか一項に記載の画像処理装置。
【請求項６】
前記処理手段は、前記複数の補正対象領域のうち特定補正対象領域に対しては、前記距離にかかわらず前記第２の補正値を選択することを特徴とする請求項２から５のいずれか一項に記載の画像処理装置。
【請求項７】
前記特定補正対象領域は、前記光学系の光軸を含む所定領域であることを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記撮像を行う撮像手段と、
該撮像手段により生成された入力画像に対して画像処理を行う請求項１から７のいずれか一項に記載の画像処理装置とを有することを特徴とする撮像装置。
【請求項９】
光学系を通した撮像により生成された入力画像に対する前記光学系の倍率色収差に関する補正処理を含む画像処理をコンピュータに行わせるコンピュータプログラムであって、
前記画像処理は、
前記光学系の倍率色収差量を検出する検出処理を行い、
前記補正処理において用いられる補正値として、前記検出処理による検出結果に応じた第１の補正値を演算し、
前記補正値として、前記検出処理による検出結果によらない第２の補正値を用意し、
前記入力画像を複数の補正対象領域に分割し、
該補正対象領域ごとに前記第１の補正値および前記第２の補正値のうち一方を選択して前記補正処理を行うことを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像により生成された画像に対して画質を向上させるための画像処理を行う技術に関する。
【背景技術】
【０００２】
デジタルカメラ等の撮像装置を用いて画像を取得する際には、撮像光学系の諸収差の１つである倍率色収差が、被写体像のエッジ部等に本来の被写体色とは異なる色のフリンジを生じさせ、画質を低下させる。このような倍率色収差の大きさ（量）は、被写体からの光線の光学系への入射角に依存し、特に近距離被写体からの大きな入射角の光線に対する倍率色収差が大きくなる。
【０００３】
特許文献１には、撮像により得られた画像（撮像画像）における倍率色収差の補正を、光学系の設計値に基づく倍率色収差量と撮像画像において検出した倍率色収差量とを用いて決定した補正値を用いて行う方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−０７００５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１にて開示された方法では、撮像画像における全ての領域で倍率色収差補正量を検出する。しかしながら、撮像画像における倍率色収差量の検出は画素ごとおよび色ごとの演算を必要とするため、全ての領域で倍率色収差量を検出すると演算量が膨大になり、撮像装置における演算処理部の負担が大きい。演算処理部の負担が大きくなると、撮像装置の連写性能の低下や電力消費量の増大につながる。
【０００６】
本発明では、演算量を低減しつつ良好な倍率色収差補正を行えるようにした画像処理装置、撮像装置および画像処理プログラムを提供する。
【課題を解決するための手段】
【０００７】
本発明の一側面としての画像処理装置は、光学系を通した撮像により生成された入力画像に対して、光学系の倍率色収差に関する補正処理を行う処理手段と、光学系の倍率色収差量を検出する検出手段と、補正処理において用いられる補正値として、検出手段による検出結果に応じた第１の補正値を算出する算出手段と、上記補正値として検出手段による検出結果によらずに用意された第２の補正値を保持する記憶手段とを有する。処理手段は、入力画像を複数の補正対象領域に分割し、該補正対象領域ごとに第１の補正値および第２の補正値のうち一方を選択して補正処理を行うことを特徴とする。
【０００８】
なお、撮像を行う撮像手段と、該撮像手段により生成された入力画像に対して画像処理を行う上記画像処理装置とを有する撮像装置も、本発明の他の一側面を構成する。
【０００９】
また、本発明の他の一側面としての画像処理プログラムは、光学系を通した撮像により生成された入力画像に対する光学系の倍率色収差に関する補正処理を含む画像処理をコンピュータに行わせるコンピュータプログラムである。画像処理は、光学系の倍率色収差量を検出する検出処理を行い、補正処理において用いられる補正値として、検出処理による検出結果に応じた第１の補正値を演算し、上記補正値として検出処理による検出結果によらない第２の補正値を用意し、入力画像を複数の補正対象領域に分割し、該補正対象領域ごとに第１の補正値および第２の補正値のうち一方を選択して補正処理を行うことを特徴とする。
【発明の効果】
【００１０】
本発明では、補正対象領域ごとに倍率色収差量の検出結果に応じた第１の補正値と該検出結果によらずに用意された第２の補正値のうち一方を選択して補正処理を行う。これにより、入力画像の全体にわたる複数の補正対象領域の全てにおいて倍率色収差量を検出したり第１の補正値を算出したりする場合に比べて演算量を低減しつつ、倍率色収差が良好に補正された結果画像を得ることができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施例１である撮像装置の構成を示すブロック図。
【図２】実施例１における撮像画像に対する処理で得られる処理画像のサイズを示す図。
【図３】実施例１における領域整合部の構成を示すブロック図。
【図４】実施例１におけるフレーム制御部のロジックを示す図。
【図５】実施例１における領域計数部のロジックを示す図。
【図６】実施例１における比率計数部のロジックを示す図。
【図７】実施例１における第１選択部のロジックを示す図。
【図８】実施例１における第２選択部のロジックを示す図。
【図９】実施例１における倍率色収差量を検出する領域の定義を示す図。
【図１０】実施例１における検出実施判定部の構成を示すブロック図。
【図１１】実施例１における距離マップデータと検出実施判定結果を示す図。
【図１２】実施例１における像高領域ごとの色収差量を示す図。
【図１３】実施例１における被写体距離とデフォーカス量との関係を示す図。
【図１４】本発明の実施例２である画像処理プログラムを示すフローチャート。
【発明を実施するための形態】
【００１２】
以下、本発明の実施例について図面を参照しながら説明する。
【実施例１】
【００１３】
図１には、本発明の実施例１である撮像装置としてのデジタルカメラ（以下、単にカメラという）の構成を示している。撮像光学系（図には光学系と記す）１２１は、カメラに一体に設けられた又はカメラに対して交換可能なレンズにより構成される。
【００１４】
撮像系（撮像手段）１００は、ＣＭＯＳセンサ等のイメージセンサ、Ａ／Ｄ変換器およびタイミング生成部等を含む。撮像系１００は、光学系１２１により形成された被写体像を、タイミング生成部からのタイミング信号に応じて動作するイメージセンサによって光電変換し、該イメージセンサから出力されるアナログ信号をＡ／Ｄ変換器によりデジタル信号に変換する。これにより、デジタルデータとしての撮像画像（以下、画像データという）を生成する。本実施例では、イメージセンサの画素配列を、Ｒ／Ｇｒ／Ｇｂ／Ｂからなるベイヤー配列とする。ただし、ベイヤー配列以外の画素配列であってもよい。
【００１５】
１０２〜１０５および１０９〜１２０は画像処理装置としてのデジタル信号処理部を構成する構成要素を示している。本実施例におけるデジタル信号処理部は１つのＬＳＩとして構成され、ハードウエアとして後述する画像処理を行う。ただし、デジタル信号処理部を画像処理専用のＣＰＵで構成し、ソフトウエア（コンピュータプログラム）によって画像処理を行ってもよい。１０６〜１０８はデジタル信号処理部において生成される処理データを示している。
【００１６】
伝送系１０１は、撮像系１００にて生成された画像データを、センサ補正部１０２に伝送する。センサの画素読出し順序を該センサ補正部１０２による補正順序に並べ替える手段をここに搭載してもよい。
【００１７】
センサ補正部１０２は、撮像系１００による画像データの生成に際しての撮像系１００の構成要素の物理特性に起因する画質低下要因を補正する。例えば、イメージセンサのＳ／Ｎを改善したり、画素欠陥や感度欠陥に対する補正を行ったり、イメージセンサから信号を読み出すアンプの個体差に関する補正を行ったりする。センサ補正部１０２での処理が行われた画像データは、現像前データであるＲＡＷデータ（図にはＲＡＷ  Ｉｍａｇｅと記す）１０７として一時的に記憶されるとともに、ＷＢ検出部１０３および画像縮小処理部１０４へと送出される。
【００１８】
ＷＢ検出部１０３は、ＲＡＷデータにおけるホワイトバランスを評価するためのブロック積分回路（不図示）を搭載し、その積分結果であるホワイトバランス評価値１０６を一時的に記憶する。画像縮小処理部１０４は、ＲＡＷデータを距離マップ生成部１０５の要求処理サイズへとリサイズ（縮小化）する。距離マップ生成部１０５の要求画像サイズがセンサ補正部１０２からのＲＡＷデータと等価である場合は、画像縮小処理部１０４でのリサイズを行わなくてもよい。要求処理サイズ（分解能）は、距離マップ生成部１０５が生成する後述する距離マップの使途によって決まる。
【００１９】
距離マップ生成部（距離取得手段）１０５は、画像縮小処理部１０４からのリサイズ後のＲＡＷデータを用いて、該ＲＡＷデータ中に写っている１または複数の被写体における被写体ごとの距離（被写体距離）を算出し、距離マップ１０８を生成する。距離マップ１０８は、被写体距離に関する情報に相当する。距離マップ生成部１０５は、距離マップ１０８の生成に、例えばＤＦＤ(Depth From Defocus)方式を用いる。ＤＦＤは、画像におけるぼけ（デフォーカス量）の情報から被写体距離を推定する方法である。
【００２０】
ＤＦＤ方式を用いる場合には、距離マップ生成部１０５は、複数（２つ）のＲＡＷデータに対してバンドパスフィルタ（ＢＰＦ）をかけて、それらの出力パワーの相関をとる処理を行う。この際、ＲＡＷデータのうち低コントラスト被写体が写っている領域では低パワーが得られる一方、高コントラスト被写体（孤立点や画素飽和を生じさせる被写体）が写っている領域では高パワーが得られ、いずれの領域でも推定被写体距離の信頼度が低くなる。このため、距離マップ生成部１０５に、得られた距離マップ１０８の領域ごとの算出結果の信頼度（確かさ）を判定する信頼度判定部を設けてもよい。
【００２１】
信頼度判定部は、画像縮小処理部１０４からのＲＡＷデータからコントラストが低い領域と高い領域とを閾値を用いて検出し、検出された低コントラスト領域および高コントラスト領域のそれぞれの推定被写体距離の信頼度を求める。そして、信頼度が所定値より低い領域を無効データ領域（例えば０値で定義される領域）とする。
【００２２】
距離マップ生成部１０５は、生成した距離マップ１０８のデータを一時的に記憶する。ＷＢ評価値１０６、ＲＡＷデータ１０７および距離マップ１０８は、ＤＲＡＭ等の記憶装置（不図示）に一旦格納し、後段の処理の開始に合わせて適宜、該記憶装置から読み出せばよい。
【００２３】
ここで、距離マップ１０８は、撮像により得られた画像データ（本実施例ではＲＡＷデータ）における画像領域ごとの被写体距離を示す数値の集合であり、その使途に適した分解能で生成される。使途としては、測距や被写体追尾の性能向上のための撮像シーン判別や、画像データファイルに添付してカメラ外部での画像処理(Computational Photography)等がある。また、被写体追尾を使途とする場合には、被写体の空間的な前後関係が把握可能な粗い分解能でもよい。
【００２４】
ただし、距離マップの分解能を使途ごとに変更して、様々な分解能の距離マップを取り扱うのは、撮像処理のスループットやリソース負担の観点から適切ではない。このため、本実施例では、領域整合部１１９を設けている。領域整合部１１９は、距離マップ１０８において被写体距離が互いに異なる複数の距離領域と、後述する倍率色収差検出部１１６により倍率色収差量を検出する複数の色収差検出領域（つまりは倍率色収差を補正する補正対象領域）とを互いに整合（対応）させる。具体的には、距離領域が色収差検出領域に対して一対一で対応するように距離マップ１０８の再分割、言い換えれば解像度変換を行う。
【００２５】
検出実施判定部１２０は、距離マップ１０８のうち領域整合部１１９によって色収差検出領域と対応するように解像度変換された複数の距離領域のうち任意の距離領域の被写体距離に応じて、倍率色収差検出部１１６による倍率色収差量の検出実施の有無を判定する。倍率色収差量の検出の実施の有無を判定するための閾値は、光学系１２１の組立て工程において、基準物体（被写体）を被写体距離を変えながら複数回実際に撮像し、被写体距離ごとの色ずれ量を光学系１２１の個体ごとに測定して決定すればよい。検出実施判定部１２０は、色収差検出領域ごとの倍率色収差量の検出実施の有無の結果を示すフラグ情報を倍率色収差検出部１１６に出力する。
【００２６】
ＷＢ補正部１０９，１１４はそれぞれ、センサ補正部１０２からのＲＡＷデータに対して、ＷＢ評価値１０６に応じたホワイトバランス補正を行う。
【００２７】
同時化処理部１１０，１１５はそれぞれ、ＷＢ補正部１０９，１１４によってホワイトバランス補正がなされたＲＡＷデータに対するデモザイク処理を行う。すなわち、同時化処理部１１５は、Ｒ，Ｇ，Ｂの３色のデモザイクデータを同時化した３つの画像データ（以下、まとめてＲＧＢ画像データともいう）を出力する。
【００２８】
なお、本実施例では、ＷＢ補正部１０９，１１４と同時化処理部１１４，１１５とを別々に構成しているが、これらを同一の回路としてもよい。
【００２９】
倍率色収差検出部（検出手段）１１６は、同時化処理部１１５からのＲＧＢ画像データのうち、検出実施判定部１２０からのフラグ情報が倍率色収差量の検出を実施することを示す色収差検出領域において倍率色収差量を検出する。そして、検出した倍率色収差量に応じてこれを補正するための補正量（第１の補正値：以下、算出補正量という）を算出する。ここで、倍率色収差量の検出には、その検出結果を用いた倍率色収差の補正対象と同様の画像データを用いることが望ましい。倍率色収差の補正は、後述する倍率色収差補正部１１１がＷＢ補正部１０９にてホワイトバランス補正が行われたＲＧＢ画像データに対して行う。このため、倍率色収差検出部１１６は、ＷＢ補正部１１４によってホワイトバランス補正が行われたＲＧＢ画像データに対して倍率色収差量の検出を行う。
【００３０】
補正係数処理部１１７（算出手段）では、倍率色収差補正部１１１で使用する補正係数を準備する。ここでは、倍率色収差検出部１１６によって得た複数の色収差検出領域における算出補正量から、像高の関数としての代表値（以下、代表算出補正量という）を算出する。倍率色収差検出部１１６は、検出実施判定部１２０の結果に従い、算出補正量を持たない領域については光学系１２１の設計値に基づく補正量とのマージを行う必要がある。このときの光学系１２１の設計値に基づく補正量（第２の補正値：以下、設計補正量という）の代表値である代表設計補正量は、図１中１１７ａのメモリ（記憶手段）に保持していればよい。
【００３１】
代表設計補正量は、撮像時における光学系１２１の代表的な光学状態（被写体距離、絞り値およびズーム位置等）での像高の関数として保持（用意）された設計補正量である。この代表設計補正量から、撮影時光学条件下での設計補正量を補間演算によって得るのもこの補正係数処理部１１７である。
【００３２】
補正係数処理部１１７は、検出実施判定部１２０から出力されたフラグ情報に基づき、倍率色収差量の検出を実施する領域に対しては、算出補正量を選択する。一方、倍率色収差量の検出を実施しない領域に対しては、設計補正量を選択する。本実施例では、任意の像高方向の補正量の切り替えは、後述する色収差量検出領域の分解能と等価とする。よって、任意の像高方向の補正量を生成する際に、各像高において算出補正量と設計補正量の一方を使用補正量として選択し、倍率色収差補正部１１１で使用する使用補正量を決定する。補正係数処理部１１７は、使用補正量を図１中の倍率色収差補正部（処理手段）１１１に対して送出する。
【００３３】
倍率色収差補正部１１１は、同時化処理部１１０からのＲＧＢ画像データに対して、補正係数処理部１１７から受け取った使用補正量（算出補正量または設計補正量）を用いて、像高方向の色ずれ（例えば、Ｇ画像に対するＲおよびＢ画像のずれ）の補正処理を行う。こうして倍率色収差が補正されたＲＧＢ画像データは、単色収差補正部１１２に送出される。
【００３４】
単色収差補正部１１２は、倍率色収差補正後のＲＧＢ画像データに対して、歪曲収差等の倍率色収差以外の収差の補正を行う。さらに、偽色抑圧部１１３は、単色収差補正部１１２による収差補正後のＲＧＢ画像データに対して、高輝度領域や高周波領域に発生する偽色および暗領域または低コントラスト領域に発生する色ノイズを抑圧する処理を行う。そして、処理後のＲＧＢ画像データを、現像処理部（記録処理部）や表示処理部に送出する。
【００３５】
図２（ａ），（ｂ）には、本実施例において撮像により生成される画像データと距離マップ生成部１０５により生成される距離マップとのサイズの関係を示している。図２（ａ）に示すように、本実施例における画像データのサイズ（画素数）を水平Ｍ画素×垂直Ｎ画素とする。これに対して、図２（ｂ）に示すように、距離マップ１０８は、水平ｍ画素×垂直ｎ画素（ｍ＜Ｍ，ｎ＜Ｎ）のサイズを有する。本実施例では、距離マップ１０８として、画像データと同等の解像度（分解能）は不要である。例えば、画像データのサイズが水平６０００画素×垂直４０００画素（２４Ｍ画素）あったとしても、被写体距離は該２４Ｍ画素を複数に分割した色収差検出領域ごとに得られればよいので、水平垂直とも１００画素程度のサイズであってもよい。
【００３６】
また、図２（ｃ）には、画像データを複数の色収差検出領域に分割した際の分割数を示す。１つの色収差検出領域は、画像データの複数の画素を含む。本実施例では、画像データを水平Ｈ領域×垂直Ｖ領域の色収差検出領域に分割する。
【００３７】
図９には、本実施例において倍率色収差を検出する方向を示している。倍率色収差は、撮像面における光学系１２１の光軸位置を中心（起点）とした像高方向での色（波長）ごとの像倍率の違いとなって現れる。このため、特定の色画像に対する他の色画像の像高方向でのエッジ部のずれ量（例えば、Ｇ画像中のエッジ部に対するＲおよびＢ画像中のエッジ部のずれ量）を検出することで、倍率色収差量を得ることができる。本実施例では、演算量を低減するため、図９に示すように光軸中心からの放射方向を８つの領域に分割し、それぞれの領域を代表する放射方向である上下（Ｎ，  Ｓ）、左右（Ｅ，  Ｗ）および斜め（ＮＥ，ＳＥ，ＳＷ，ＮＷ）を倍率色収差の検出方向とする。このように設定された倍率色収差の検出方向に対して、図２（ｃ）に示す複数の色収差検出領域の配列方向は図９中に細線で示すように水平および垂直方向を向く。このため、本実施例では、各色収差検出領域がどの検出方向の領域に存在するかを判定し、判定した領域での検出方向でその色収差検出領域での倍率色収差の検出を行う。
【００３８】
図３には、本実施例における領域整合部１１９の構成を示す。本実施例では、前述したように、距離マップ１０８の解像度（分解能）よりも色収差検出領域の解像度（分割数）の方が高いため、領域整合部１１９は、距離マップ１０８の解像度変換を行う。距離マップ１０８のデータはＤＲＡＭ（不図示）上のマップ記憶部に格納され、ＤＭＡコントローラ（以下、ＤＭＡＣという）によって適宜読み出される。
【００３９】
３０１〜３０９は領域整合部１１９の構成ブロックを示す。３０１は距離マップ１０８における距離領域（フレーム）をカウントする領域係数ブロックであり、３０２は画像データにおける色収差検出領域（フレーム）をカウントする領域係数ブロックである。
【００４０】
３０９はフレーム制御ブロックであり、カメラに搭載された不図示のＣＰＵ（以下、カメラＣＰＵという）からの開始イベントの到達に応じて、ＤＭＡＣ３００に対してデータ転送要求信号ｓｉｇ＿３００）を送出する。また、フレーム制御ブロック３０９は、上記開始イベントによって領域計数ブロック３０１によるカウント動作が開始されるように、領域計数ブロック３０１にｓｔａｔｕｓ信号ｓｉｇ＿３１５を送出する。また、領域計数ブロック３０２にも、そのカウント動作が開始されるようにｅｎａｂｌｅ信号ｓｉｇ＿３１３を送出する。
【００４１】
データ転送要求信号ｓｉｇ＿３００を受けたＤＭＡＣ３００は、マップ記憶部から読み出した注目ラインのマップデータｓｉｇ＿３０２および次期ラインのマップデータｓｉｇ＿３０１を、データバッファ３０３に送出する。
【００４２】
データバッファ３０３は、注目ラインのマップデータｓｉｇ＿３０２をＦＩＦＯ構成のバッファ３０３０に、また次期ラインのマップデータｓｉｇ＿３０１をＦＩＦＯ構成のバッファ３０３１に順次書き込む。そして、データバッファ３０３は、これらマップデータを順次読み出して、注目ラインのマップデータｓｉｇ＿３０４を選択ブロックＡ３０６に、次期ラインのマップデータｓｉｇ＿３０５を選択ブロックＡ３０７に送出する。さらに、データバッファ３０３は、マップデータの送出タイミング（更新タイミング）を示すデータ更新信号ｓｉｇ＿３０３を選択ブロックＡ３０６，３０７およびフレーム制御ブロック３０９に送出する。
【００４３】
データ更新信号ｓｉｇ＿３０３を受信したフレーム制御ブロック３０９は、領域計数ブロック３０２および比率計数ブロック３０４に対して進捗要求ｓｔａｔｕｓ信号ｓｉｇ＿３１４を送出する。進捗要求ｓｔａｔｕｓ信号ｓｉｇ＿３１４は、データ更新信号ｓｉｇ＿３０３の出力時点から比率計数ブロック３０４への送出完了タイミング信号ｓｉｇ＿３０７の出力時点までの間ｅｎａｂｌｅとなる。進捗要求ｓｔａｔｕｓ信号ｓｉｇ＿３１４は、検出実施判定部１２０にも出力される。
【００４４】
領域計数ブロック３０２は、ライン単位のカウント完了ごとに、比率計数ブロック３０４に対してカウンタリセット信号ｓｉｇ＿３１７を送出する。カウンタリセット信号ｓｉｇ＿３１７は、カウント更新信号として比率計数ブロック３０５にも送出される。比率計数ブロック３０４，３０５は、距離マップ１０８の上述した解像度変換後の１つの距離領域と１つの色収差量検出領域とを整合（対応）させるために、該１つの距離領域に対応する色収差検出領域の個数の比率を設定する。そして、整合対象である色収差検出領域を切り替える時点で選択信号ｓｉｇ＿３０６，ｓｉｇ＿３０８をそれぞれ選択ブロックＡ３０６，３０７と選択ブロックＢ３０８に送出する。
【００４５】
色収差検出領域毎の境界と、距離マップ上の距離領域単位とは境界が異なるので、色収差検出領域のデータ切替え点では、対応する距離マップ上の注目画素データと次期画素データとが混在する状況が発生する。比率計数ブロック３０４，３０５は、注目画素切替え点における後段側画素（色収差検出領域と等価の解像度の画素）上の注目画素重心を計算し、比率が０．５であれば注目画素データ（注目距離マップデータ）をそのまま選択する。反対に、そうでなければ次期画素データ（次期距離マップデータ）を選択するように選択信号ｓｉｇ＿３０６，ｓｉｇ＿３０８を出力する。
【００４６】
選択ブロックＡ３０６は距離マップ上の注目ラインデータの水平方向のデータ選択セレクタであり、選択ブロックＡ３０７は次期ラインデータの水平方向のデータ選択セレクタである。そして、その結果を示す信号ｓｉｇ＿３０９，ｓｉｇ＿３１０を選択ブロックＢ３０８に送出する。選択ブロックＢは、選択ブロックＡ３０６，３０７により選択された注目および次期ラインのマップデータに対して垂直方向のデータを選択する、データ選択セレクタである。そして、その選択結果を示す信号ｓｉｇ＿３１１、つまりは解像度変換後の距離マップのデータを検出実施判定部１２０に出力する。
【００４７】
図４〜図８には、領域整合部１１９の上述した各ブロックのロジックを示している。各ロジックは定常状態（一括に順次走査で行われる１フレーム処理）での代表的な動作を示している。また、各構成ブロックの回路は共通の同期クロックに同期して（同相転送が成立するように）動作するものとする。
【００４８】
図４には、フレーム制御ブロック３０９のロジックを示している。リセット信号ｒｅｇ＿３０９１は、カメラＣＰＵによって設定され、信号値「１」によって状態保持素子（ＤＦＦ）を初期状態に戻す。トリガ信号ｒｅｇ＿３０９２は、カメラＣＰＵによって設定され、信号値「１」のときに領域整合部１１９による整合動作を開始させる。トリガ信号ｒｅｇ＿３０９２のイベント（信号値「１」の設定）は、リセット信号ｒｅｇ＿３０９１の発行とは排他制御とする。
【００４９】
フレーム制御ブロック３０９は、リセット信号ｒｅｇ＿３０９１の解除時にトリガ信号ｒｅｇ＿３０９２を受信すると、ＤＭＡＣ３００に対してデータ転送要求信号ｓｉｇ＿３００を送出する。トリガ信号ｒｅｇ＿３０９２はパルス信号であり、データ転送要求信号ｓｉｇ＿３００もパルス信号として出力される。データ転送要求信号ｓｉｇ＿３００を出力したフレーム制御ブロック３０９は、領域計数ブロック３０２に送出するｅｎａｂｌｅ信号ｓｉｇ＿３１３を信号値「１」の状態に遷移させ、保持する。
【００５０】
また、データ転送要求信号ｓｉｇ＿３００が送出されると、データバッファ部３０３はデータ更新信号ｓｉｇ＿３０３をフレーム制御ブロック３０９に送出する。データ更新信号ｓｉｇ＿３０３）はパルス信号であり、同期クロックの１周期分の幅で出力される。
【００５１】
データ更新信号ｓｉｇ＿３０３とｅｎａｂｌｅ信号ｓｉｇ＿３１３は、ＡＮＤ論理によって進捗要求ｓｔａｔｕｓ信号ｓｉｇ＿３１４を信号値「１」の状態に遷移させて保持する。ｅｎａｂｌｅ信号ｓｉｇ＿３１３の信号値「１」は、領域計数ブロック３０２のカウント動作のｅｎａｂｌｅ状態を示す。進捗要求ｓｔａｔｕｓ信号ｓｉｇ＿３１４の信号値「１」は、領域計数ブロック３０２のカウント値の更新および比率計数ブロック３０４のカウント値の更新を示す。
【００５２】
データ更新信号ｓｉｇ＿３０７は、検出実施判定部１２０に対する１データの送出が完了したことを示すパルス信号である。この送出完了タイミング信号ｓｉｇ＿３０７の到達によって、フレーム制御ブロック３０９は、進捗要求ｓｔａｔｕｓ信号ｓｉｇ＿３１４を信号値「０」の状態に遷移させて保持する。また、これとともに、フレーム制御ブロック３０９は、ＤＭＡＣ３００に対して距離マップ１０８における次期処理データを要求するために、データ転送要求信号ｓｉｇ＿３００を発行する。また、データ更新信号ｓｉｇ＿３０７を受けたフレーム制御ブロック３０９は、フレーム更新信号ｓｉｇ＿３１６を領域計数ブロック３０１に送出し、距離マップ１０８に対するフレームカウントの更新を知らせる。
【００５３】
図５には、領域計数ブロック３０１，３０２のロジックを示している。図中の括弧なしの符号は領域計数ブロック３０１に関する信号または設定値を示し、括弧付きの符号は領域計数ブロック３０２に関する信号または設定値を示している。領域計数ブロック３０１は距離マップ１０８に対する処理の進捗を管理し、領域計数ブロック３０２は倍率色収差検出領域に対する処理の進捗を管理する。
【００５４】
領域計数ブロック３０１において、Ｈサイズ設定値ｒｅｇ＿３０１１は距離マップ１０８の水平方向でのサイズ（画素数）を設定し、Ｖサイズ設定値ｒｅｇ＿３０１２は距離マップ１０８の垂直方向でのサイズ（画素数）を設定する。
【００５５】
ｓｔａｔｕｓ信号ｓｉｇ＿３１５が信号値「０」の状態では、領域計数ブロック３０１は、そのＤＦＦ５０１，５０２がリセット状態となり、カウント処理は行わない。ｓｔａｔｕｓ信号ｓｉｇ＿３１５が信号値「１」の状態では、領域計数ブロック３０１はカウント処理を行う。領域計数ブロック３０１のＤＦＦ５０１は、水平方向での処理画素数をカウントする。フレーム更新信号ｓｉｇ＿３１６が信号値「１」のときに、ＤＦＦ５０１のカウント値はインクリメントされる。また、領域計数ブロック３０１のＤＦＦ５０２は、垂直方向の処理画素数をカウントする。水平および垂直方向の処理画素数のカウント結果がそれぞれ、Ｈサイズ設定値ｒｅｇ＿３０１およびＶサイズ設定値ｒｅｇ＿３０１２に到達すると、領域計数ブロック３０１はフレーム制御ブロック３０９に信号値「１」の出力信号ｓｉｇ＿３１２を送出する。
【００５６】
一方、領域計数ブロック３０２において、Ｈ領域設定値ｒｅｇ＿３０２１は倍率色収差検出領域の水平方向での領域数を設定し、Ｖ画像数設定値ｒｅｇ＿３０２２は率色収差検出領域の垂直方向での領域数を設定する。ｅｎａｂｌｅ信号ｓｉｇ＿３１３が信号値「１」の状態であり、かつ進捗要求ｓｔａｔｕｓ信号ｓｉｇ＿３１４が信号値「１」の状態であるとき、ＤＦＦ５０１のカウント値はインクリメントされる。ＤＦＦ５０１のカウント値がＨ領域設定値ｒｅｇ＿３０２１と等しくなったときにＤＦＦ５０２はインクリメントされる。水平および垂直方向でのカウント結果がそれぞれ設定値ｒｅｇ＿３０２１，ｒｅｇ＿３０２２に到達したとき、領域計数ブロック３０１はフレーム制御ブロック３０９に信号値「１」の出力信号ｓｉｇ＿３１８を送出する。領域計数ブロック３０２では、水平方向でのカウント値Ｈが領域設定値ｒｅｇ＿３０２１と等価な値に到達することに応じて、進捗要求ｓｔａｔｕｓ信号ｓｉｇ＿３１４の信号値「１」の到達を示す信号をカウンタリセット信号ｓｉｇ＿３１７として出力する。このカウンタリセット信号ｓｉｇ＿３１７は、比率計数ブロック３０４，３０５に対して送出される。
【００５７】
図６には、比率計数ブロック３０４，３０５のロジックを示している。図中の括弧なしの符号は比率計数ブロック３０４に関する信号または設定値を示し、括弧付きの符号は比率計数ブロック３０５に関する信号または設定値を示している。
【００５８】
比率計数ブロック３０４において、Ｈ比率設定値ｒｅｇ＿３０４１は、距離マップ１０８の水平１画素に対応する画像データの水平方向での画素数の比率を設定する。例えば、水平方向において距離マップ１０８の１画素が２．４個の画像データ画素数に対応する場合には、Ｈ比率設定値ｒｅｇ＿３０４１は２．４に相当する値を設定する。この２．４個相当の画像データ画素数を含む領域が色収差検出領域と等価となる。ハードウエアは固定小数点として実装可能であり、その場合には多ビット中のどこに少数点を設定するかは回路実装時に所望の分解能（２．４相当の数値をどこまで細かく持つか）の要求仕様を鑑みて決定すればよい。
【００５９】
比率計数ブロック３０４は、進捗要求ｓｔａｔｕｓ信号ｓｉｇ＿３１４の信号値が「１」になるごとに、比率の計算を更新する。ＤＦＦ６０１は、１つの色収差検出領域に対する処理が完了するごとに１．０の値を積算する。ＤＦＦ６０１は、小数点以下の分解能を持ち、積算値がＨ比率設定値ｒｅｇ＿３０４１を超えることに応じて、積算値を、現在の積算値からＨ比率設定値ｒｅｇ＿３０４１を差し引いた結果値に更新する。また、ＤＦＦ６０１は、進捗要求ｓｔａｔｕｓ信号ｓｉｇ＿３１４が到達すると、更新された積算値中の０．５の位の信号（１ｂｉｔ）を選択信号ｓｉｇ＿３０６として送出する。さらに、ＤＦＦ６０１は、カウンタリセット信号ｓｉｇ＿３１７の信号値「１」が入力されると積算値をリセットする。
【００６０】
比率計数ブロック３０５の動作は、比率計数ブロック３０５の動作と同様である。Ｖ比率設定値ｒｅｇ＿３０５１は、距離マップ１０８の垂直１画素に対応する色収差検出領域の垂直方向での個数の比率を設定する。このＶ比率設定値ｒｅｇ＿３０５１は、距離マップ１０８および画像データの画素が正方格子配列されている場合は、Ｈ比率設定値ｒｅｇ＿３０４１と同じ値でよい。ただし、比率計数ブロック３０５において、ＤＦＦ６０１は、積算値の更新をカウンタリセット信号ｓｉｇ＿３１７の入力に応じて行う。また、該ＤＦＦ６０１は、積算値のリセットを、出力信号ｓｉｇ＿３１８の入力に応じて行う。
【００６１】
図７には、選択ブロックＡ３０６，３０７のロジックを示している。図中の括弧なしの符号は選択ブロックＡ３０６に関する信号を示し、括弧付きの符号は選択ブロックＡ３０７に関する信号を示している。
【００６２】
前述したように選択ブロックＡ３０６は距離マップ１０８における注目ラインのマップデータに対する処理を行い、選択ブロックＡ３０７は距離マップ１０８における次期ラインのマップデータに対する処理を行う。これら選択ブロックＡ３０６，３０７におけるデータ更新は、データ更新信号ｓｉｇ＿３０３の入力タイミングで行われる。選択ブロックＡ３０６において、ＤＦＦ７０２には注目ラインのマップデータの注目画素データが保持され、ＤＦＦ７０１には該注目ラインのマップデータの次期画素データが保持される。一方、選択ブロックＡ３０７において、ＤＦＦ７０２には次期ラインのマップデータの注目画素データが保持され、ＤＦＦ７０１には該次期ラインのマップデータの次期画素データが保持される。選択ブロックＡ３０６，３０７において、選択信号ｓｉｇ＿３０６が信号値「１」である場合にはＤＦＦ７０１が保持する次期画素データが選択され、選択信号ｓｉｇ＿３０６が信号値「０」である場合にはＤＦＦ７０２が保持する注目画素データが選択される。この選択は、注目する色収差検出領域の対応する距離マップ上距離領域の水平方向の切り替え選択であるので、注目ラインと次期ラインで共通の信号ｓｉｇ＿３０６の指示に従う。
【００６３】
図８は、選択ブロックＢ３０８のロジックを示す。ＤＦＦ８０１には、選択ブロックＡ３０６の出力信号ｓｉｇ＿３０９として注目ライン上の距離情報が、信号ｓｉｇ＿３０３の入力タイミングで入力される。ＤＦＦ８０２には、選択ブロックＡ３０７の出力信号ｓｉｇ＿３１０として次期ライン上の距離情報が、信号ｓｉｇ＿３０３の入力タイミングで入力される。ＤＦＦ８０１とＤＦＦ８０２の出力の選択は、比率計数ブロック３０５の出力信号ｓｉｇ＿３０８の状態で選択される。図８中、該信号ｓｉｇ＿３０８が「０」値であれば注目ラインの距離情報を選択し、「１」値であれば次期ラインの距離情報を選択する。
【００６４】
領域整合部１１９からの出力は、倍率色収差検出部１１６にて倍率色収差量が検出される色収差検出領域の解像度に整合した分解能を有する距離マップのデータである。図１１には、距離マップのデータを色収差検出領域の解像度に整合する過程の例を示している。実際の距離マップは多値情報であり、図１１（ａ）〜（ｃ）は該多値情報を白黒画像データとして示している。これらの図において、被写体距離が近距離であるほど白に近い色で、遠距離であるほど黒に近い色で示している。
【００６５】
図１１（ａ）には、距離マップ１０８を示している。この図では、距離マップ１０８の画素数（解像度）を横１０画素×縦７画素としている。ただし、これは理解を容易にするための例であり、実際の距離マップはより多くの画素数を有してもよい。図１１（ｂ）には、図１１（ａ）に示した距離マップ１０８上に、領域整合部１１９での解像度変換後の距離マップにおける複数の距離領域を重ねて示している。白い枠で囲まれた１つの領域が解像度変換後の１つの距離領域を示している。
【００６６】
図１１（ｃ）には、領域整合部１１９での解像度変換後の距離マップ（図３中の信号ｓｉｇ＿３１１）を画像データとして示している。この距離マップの１つの距離領域は１つの色収差検出領域に対応する。
【００６７】
図１０は、検出実施判定部１２０の構成を示す。
【００６８】
図３中信号ｓｉｇ＿３１４は、同図３中信号ｓｉｇ＿３１１が有効であることを示すｓｔａｔｕｓ信号である。検出実施判定部１２０は、該信号ｓｉｇ＿３１４が「１」値であるときの信号ｓｉｇ＿３１１を取り込む。これらの信号ｓｉｇ＿３１１，ｓｉｇ＿３１４は、図１０に示す検出実施判定部１２０の受信側Ｉ／Ｆ制御ブロック１２０１を介して、検出実施判定部１２０の内部信号として取り込まれる。受信側Ｉ／Ｆ制御ブロック１２０１に取り込んだ任意の距離領域での被写体距離（多値データ）と設定値ｒｅｇ＿１０００との大小比較を、同図１０中１２０６の比較器において実施する。設定値（閾値）ｒｅｇ＿１０００は、前述したように光学系１２１の組立て工程において基準物体を被写体距離を変えながら実際に撮像したときの被写体距離ごとの色ずれ量を光学系１２１の個体ごとに測定して決定した値である。比較器１２０６は、被写体距離が設定値ｒｅｇ＿１０００よりも小さい、すなわち近距離であると判定した距離領域（第１の距離領域）に対しては、判定結果（比較結果）として１の値を出力し、これをテンポラリバッファ１２０４に一時的に記憶させる。本実施例において、テンポラリバッファ１２０４は、フレーム単位（画像１枚分）の判定結果を保持することが可能な容量を持つ。実際には、後段の倍率色収差検出部１１６の処理速度を鑑みてフレーム単位よりも小容量に設定してもよい。
【００６９】
比較器１２０６は、被写体距離が設定値ｒｅｇ＿１０００よりも大きい、すなわち遠距離であると判定した距離領域（第２の距離領域）に対しては、判定結果として０の値を出力し、これをテンポラリバッファ１２０４に一時的に記憶させる。また、図１１（ｄ）には、色収差検出領域ごとの倍率色収差量の検出の実施の有無を二値データとして示している。倍率色収差量の検出を実施する色収差検出領域を白（１値）で示し、倍率色収差量の検出を実施しない色収差検出領域を黒（０値）で示している。この二値データは、検出実施判定部１２０から出力される。
【００７０】
こうして、領域整合部１１９からの距離マップのデータ（ｓｉｇ＿３１１）が比較器１２０６に入力されるごとに、テンポラリバッファ１２０４に判定結果が一時的に記憶される。検出実施判定部１２０の後段の倍率色収差検出部１１６からのデータ転送要求信号ｓｉｇ＿１００２は、送信側Ｉ／Ｆ制御部１２０５を介してアービター１２０２に入力される。アービター１２０２は、検出実施判定部１２０の前段の領域整合部１１９からのデータの受信と後段の倍率色収差検出部１１６からのデータ転送要求とが衝突した場合に、前段側からの受信データの書き込みを優先し、後段側からのデータ転送要求を保留（保持）するようアービトレーションを行う。
【００７１】
また、アービター１２０２は、受信データのテンポラリバッファ１２０４への格納およびデータ転送要求に対応する送信データのテンポラリバッファ１２０４からの読み出しごとに、ＲＡＭ＿Ｉ／Ｆ制御部１２０３にデータ処理要求を送出する。
【００７２】
ＲＡＭ  Ｉ／Ｆ制御部１２０３は、データ処理要求を受けて、テンポラリバッファ１２０４に対するアドレス信号の発行、ｒｅａｄ／ｗｒｉｔｅ  ｓｔａｔｕｓの発行およびｅｎａｂｌｅ信号の発行等を行う。これにより、テンポラリバッファ１２０４に対するデータの送受信の制御を行う。テンポラリバッファ１２０４から読み出された上記判定結果のデータは、送信側Ｉ／Ｆ制御部１２０５を介して、データｓｉｇ＿１０００およびデータ有効ステータスｓｉｇ＿１００１として後段に送出される。
【００７３】
なお、検出実施判定部１２０に、処理領域の絶対位置を認識するフレームカウンタを実装して、光軸中心位置の情報と像高閾値情報とを設定してもよい。そして、像高閾値よりも低い像高においては比較器１２０６の出力を破棄し、倍率色収差量の検出を実施しないように判定結果を出力するように構成してもよい。
【００７４】
倍率色収差検出部１１６は、ホワイトバランス補正を行い、かつ同時化したＲＧＢ画像データと検出実施判定部１２０からの判定結果とを受信し、該判定結果が倍率色収差量の検出の実施を示す色収差検出領域に対してのみ倍率色収差量の検出を行う。そして、検出した倍率色収差量に基づいて前述した算出補正量算出する。倍率色収差検出部１１６は、算出補正量と検出実施判定部１２０からの判定結果を補正係数処理部１１７に送出する。
【００７５】
補正係数処理部１１７には、算出補正量と、検出実施判定部１２０からの判定結果と、前述した設計補正量とが入力される。
【００７６】
光学系１２１の設計上の倍率色収差量（以下、設計色収差量ともいう）は、被写体距離、ズーム位置および絞り値等の光学状態に応じて変化するとともに、像高に応じて変化する。図１２（ａ），（ｂ）中のｈ１〜ｈ８は、任意の光学状態における全像高を８つの像高領域に分割したときの該８つの像高領域の設計色収差量（図１２（ｂ）には色ずれ量と記す）の代表値を示している。図１２（ａ）における１２００は光軸中心位置を示す。図１２（ｂ）では、像高領域ごとの色ずれ量の代表値をスプライン補間等で近似して生成した近似曲線を示している。実際の撮像時には、光学系１２１の光学状態（光学条件）が決定した後に像高領域ごとの色ずれ量に対する近似曲線を生成し、この近似曲線で表される色ずれ量に対して倍率色収差補正部１１１が補正を行うようにする。
【００７７】
補正係数処理部１１７は、検出実施判定部１２０からの判定結果に応じて、算出補正量および設計補正量のうち一方を選択して使用補正量として倍率色収差補正部１１１に送出する。
【００７８】
以上説明したように、本実施例では、距離マップを生成し、距離マップにおける距離領域を撮像画像（ＲＧＢ画像データ）における色収差検出領域に整合（対応）させる処理を行う。その上で、色収差検出領域ごとに倍率色収差量の検出（つまりは算出補正量の生成）を行うか否かを判定する。そして、倍率色収差量の検出を行うと判定された色収差検出領域では算出補正量を用いて補正処理を行い、倍率色収差量の検出を行わないと判定された色収差検出領域では設計補正量を用いて補正処理を行う。これにより、撮像画像（入力画像）の全体にわたる複数の色収差検出領域の全てにおいて算出補正量を算出する場合に比べて演算量を低減しつつ、倍率色収差が良好に補正された結果画像を得ることができる。
【００７９】
なお、本実施例では、距離マップの生成にＤＦＤ方式を用いる場合について説明したが、他の方法を用いて距離マップを生成してもよい。
【００８０】
撮像部と被写体との距離の関係は、デフォーカス量（像側移動量）として算出される。デフォーカス量を物体距離として扱うには、このデフォーカス量を物体側の距離に変換する処理が必要である。図１３には、被写体距離とデフォーカス量との関係を示している。
【００８１】
光学系１２１の横倍率をＭ（＝Ｙ／Ｘ）とし、焦点距離をｆとし、被写体距離を（Ａ＋ｆ）とし、像距離を（Ｂ＋ｆ）とすると、
Ｍ＝Ｙ／Ｘ
＝ｆ／Ａ＝Ｂ／ｆ    （１）
である。（１）式に（ｆＡ）を乗じると、
ｆ／Ａ・（ｆＡ）＝Ｂ／ｆ・（ｆＡ）    （２）
であるので、
ｆ２＝Ａ・Ｂ    （３）
となる。
また、物体移動量をａとし、これに対応するデフォーカス量をｂとすると、
（Ａ＋ａ）（Ｂ＋ｂ）＝ｆ２    （４）
となる。
そして、（３），（４）式から、
（Ａ＋ａ）＝（Ａ・Ｂ）／（Ｂ＋ｂ）  （５）
が得られる。このように、被写体距離（Ａ＋ａ）とデフォーカス量ｂとの関係は（５）式より表される。（５）式の右辺から距離Ａ（前側焦点距離から物体面まで距離）を消去すると、
１＋（ａ／Ａ）＝Ｂ／（Ｂ＋ｂ）    （６）
となる。（６）式は、被写体距離を距離Ａで正規化した値と等価となり、直接の距離を扱うより扱いが容易となる。比率計算（除算）が要されるので、ある程度の遠距離以降は無限遠として扱う等、妥当な演算桁数を設定し、それを超えた場合には値をクリップするような構成を採ってもよい。
【００８２】
なお、光学系１２１の光軸（図１２中１２００）を含む光軸付近の所定領域を特定補正対象領域と定義して、その様な領域においては、検出した被写体距離に係わらず設計補正値を選択する様な装置構成としてもよい。
【実施例２】
【００８３】
実施例１では、画像処理装置（デジタル信号処理部）をハードウエアとして構成した場合について説明したが、本発明の実施例２では、コンピュータ（ＣＰＵ）がソフトウエア（コンピュータプログラム）によって画像処理を行う場合について説明する。図１４には、画像処理プログラムのフローチャートを示している。
【００８４】
ステップＳ２０１では、コンピュータは、撮像により生成（取得）された画像データを複数の色収差検出領域（補正対象領域）に分割する。次に、ステップＳ２０２では、コンピュータは、実施例１にて説明したＤＦＤ方式等を用いて距離マップを生成する。
【００８５】
次に、ステップＳ２０３では、コンピュータは、実施例１にて図１１（ｃ）を用いて説明したように、距離マップの距離領域と色収差検出領域とを整合（対応）させるために、距離マップの解像度変換を行う。次に、
ステップＳ２０４では、コンピュータは、解像変換後の距離マップを、閾値よりも近距離である近距離領域と該閾値より遠距離である遠距離領域とに二値化する。
具体的には、近距離領域に対応する色収差検出領域を倍率色収差量の検出を実施する領域として「１」と判定し、遠距離領域に対応する色収差検出領域を倍率色収差量の検出を実施しない領域として「０」と判定する。これにより、実施例１において図１１（ｄ）に示した判定結果（二値データ）が得られる。
【００８６】
次に、ステップＳ２０５では、コンピュータは、ステップＳ２０４での判定結果に従い倍率色収差量の検出の実施と不実施を切り替える。コンピュータは、ステップＳ２０４の結果「１」と判定した色収差検出領域に対しては、ステップＳ２０６において倍率色収差量を検出する検出処理を行う。さらに、コンピュータは、ステップＳ２０７において、検出した倍率色収差量から、その色収差検出領域に対する使用補正量として、実施例１で説明した算出補正量（第１の補正値）を算出する。この後、ステップＳ２０９に進む。
【００８７】
一方、ステップＳ２０４において「０」と判定した色収差検出領域に対しては、コンピュータは、ステップＳ２０８の処理を行う。ステップＳ２０８では、その色収差検出領域に対する使用補正量として設計補正量（第２の補正値）を選択し、該設計補正量が保持された不図示のメモリ（記憶手段）から撮像時の光学状態およびその色収差検出領域の像高に応じた設計補正量を読み出す。この後、ステップＳ２０９に進む。
【００８８】
ステップＳ２０９では、コンピュータは、色検出領域ごとに、ステップＳ２０７で算出した算出補正量またはステップＳ２０８で読み出した設計補正量を使用補正量として用いて画像データに対して倍率色収差の補正を行う。
【００８９】
本実施例では、撮像装置に搭載されたコンピュータが画像処理（倍率色収差の補正処理）を実行する場合について説明した。しかし、パーソナルコンピュータ等の画像処理装置が、撮像装置から取得した画像データに対して、図１４に示した画像処理プログラムに従って画像処理を行うようにしてもよい。
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００９０】
以上説明した各実施例は代表的な例にすぎず、本発明の実施に際しては、各実施例に対して種々の変形や変更が可能である。
【符号の説明】
【００９１】
１２１  光学系
１０２〜１０５，１０９〜１２０  デジタル信号処理部（画像処理装置）
１１６  倍率色収差検出部
１１１  倍率色収差補正部
１１７  補正係数取得部
１１７ａ  メモリ
【図１】
2017050700.tif 000003
【図２】
2017050700.tif 000004
【図３】
2017050700.tif 000005
【図４】
2017050700.tif 000006
【図５】
2017050700.tif 000007
【図６】
2017050700.tif 000008
【図７】
2017050700.tif 000009
【図８】
2017050700.tif 000010
【図９】
2017050700.tif 000011
【図１０】
2017050700.tif 000012
【図１１】
2017050700.tif 000013
【図１２】
2017050700.tif 000014
【図１３】
2017050700.tif 000015
【図１４】
2017050700.tif 000016