(57)【要約】【課題】回路規模の増大を抑えつつ、倍率色収差を高速に検出可能な画像処理装置を提供する。【解決手段】光学系１０１を介して撮像された撮像画像に対して倍率色収差の補正を行う画像処理装置１１５であって、撮像の際の光学パラメータに応じて倍率色収差に関する相関演算の回数を算出する相関演算回数算出回路１０８と、相関演算の回数に応じて相関演算を行い、相関演算値を算出する相関演算回路１１０と、相関演算値に基づいて、倍率色収差量を検出する倍率色収差検出回路１１１と、倍率色収差量に基づいて、撮像画像に対して倍率色収差の補正を行う倍率色収差補正回路１１２と、を備える。【選択図】図１
2018195876.tif 000002
【特許請求の範囲】
【請求項１】
光学系を介して撮像された撮像画像に対して倍率色収差の補正を行う画像処理装置であって、
撮像の際の光学パラメータに応じて倍率色収差に関する相関演算の回数を算出する算出手段と、
前記相関演算の回数に応じて相関演算を行い、相関演算値を算出する相関演算手段と、
前記相関演算値に基づいて、倍率色収差量を検出する検出手段と、
前記倍率色収差量に基づいて、前記撮像画像に対して倍率色収差の補正を行う補正手段と、を備えることを特徴とする画像処理装置。
【請求項２】
前記算出手段は、像高ごとに前記相関演算の回数を算出することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記光学パラメータに対応した像高ごとの倍率色収差の補正値を予め記憶した記憶手段をさらに備え、
前記算出手段は、前記光学パラメータに基づいて前記記憶手段から前記補正値を取得し、取得した前記補正値に基づいて前記像高ごとの前記相関演算の回数を算出することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記補正値は、前記光学系の光学設計値に基づく補正値であることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記光学パラメータは、絞り、撮像距離および焦点距離を含むことを特徴とする請求項１乃至４のうちいずれか１項に記載の画像処理装置。
【請求項６】
光学系を介した撮像により撮像画像を生成する撮像手段と、
前記撮像手段により生成された前記撮像画像に対して倍率色収差の補正を行う請求項１乃至５のいずれか１項に記載の画像処理装置と、を備えることを特徴とする撮像装置。
【請求項７】
光学系を介して撮像された撮像画像の倍率色収差を補正する画像処理方法であって、
撮像の際の光学パラメータに応じて倍率色収差に関する相関演算の回数を算出する算出工程と、
前記相関演算の回数に応じて相関演算を行い、相関演算値を算出する相関演算工程と、
前記相関演算値に基づいて、倍率色収差量を検出する検出工程と、
前記倍率色収差量に基づいて、前記撮像画像に対して倍率色収差の補正を行う補正工程と、を有することを特徴とする画像処理方法。
【請求項８】
コンピュータを請求項１乃至５のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、撮像装置、画像処理方法およびプログラムに関する。
【背景技術】
【０００２】
撮像光学系（レンズ）の収差により撮像画像には色ズレや像の歪みなどが生じる。収差の一つに、光の波長ごとの結像倍率の相違により色ごとの結像位置にずれが生じる倍率色収差がある。特許文献１は、Ｒ画素とＧ画素及びＢ画素とＧ画素の各々の相関演算を光軸中心を基点として動径方向にとって、倍率色収差の補正量として使用する技術を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２０２７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１では、相関値の検出の為の相関演算が適応的ではないために、適切な倍率色収差量を検出する為に相関演算回路の規模を大きくするか、相関演算回路の規模を抑えて複数回の相関演算を行うことになる。そのため、大きな倍率色収差量を検出するためには回路規模が増えるか、処理速度が低下してしまう。
【０００５】
本発明は、回路規模の増大を抑えつつ、倍率色収差を高速に検出可能な画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の画像処理装置は、光学系を介して撮像された撮像画像に対して倍率色収差の補正を行う画像処理装置であって、撮像の際の光学パラメータに応じて倍率色収差に関する相関演算の回数を算出する算出手段と、前記相関演算の回数に応じて相関演算を行い、相関演算値を算出する相関演算手段と、前記相関演算値に基づいて、倍率色収差量を検出する検出手段と、前記倍率色収差量に基づいて、前記撮像画像に対して倍率色収差の補正を行う補正手段と、を備える。
【発明の効果】
【０００７】
本発明によれば、回路規模の増大を抑えつつ、倍率色収差を高速に検出可能な画像処理装置を提供することができる。
【図面の簡単な説明】
【０００８】
【図１】撮像装置の構成を示す図である。
【図２】像高領域を示す図である。
【図３】倍率色収差の補正値を示す図である。
【図４】倍率色収差の補正値を示す図である。
【図５】倍率色収差の補正値を示す図である。
【図６】倍率色収差の補正値を示す図である。
【図７】倍率色収差の補正値を示す図である。
【図８】倍率色収差の補正値を示す図である。
【図９】倍率色収差の検出を行う検出領域を示す図である。
【図１０】倍率色収差の検出を行うために必要なサーチ領域を示す図である。
【図１１】倍率色収差の検出方向を示す図である。
【図１２】倍率色収差の検出のための相関演算ＵＮＩＴを示す図である。
【図１３】サーチ領域とテンプレート領域を示す図である。
【図１４】サーチ領域とテンプレート領域を示す図である。
【図１５】撮像装置のフローチャートを示す図である。
【発明を実施するための形態】
【０００９】
図１は、撮像装置１００の構成を示す図である。撮像装置１００は、光学系１０１、撮像素子１０２、ＤＲＡＭ１１３、ＣＰＵ１１４、画像処理装置１１５を備える。画像処理装置１１５は、データベース１０３、倍率色収差情報抽出回路（以下、抽出回路という）１０４、データ補間回路１０５を備える。画像処理装置１１５は、さらに、像高算出回路１０６、方向算出回路１０７、相関演算回数算出回路（以下、回数算出回路という）１０８を備える。画像処理装置１１５は、さらに、同時化回路１０９、相関演算回路１１０、倍率色収差検出回路（以下、検出回路という）１１１、倍率色収差補正回路（以下、補正回路という）１１２を備える。
【００１０】
撮像素子１０２は、光学系１０１を介して得られた光を光電変換して、撮像画像を生成し、ＤＲＡＭ１１３に格納する撮像素子である。データベース１０３は、予め撮像装置に格納されている、光学パラメータ毎に決定されている倍率色収差の補正値を示す、Ｒ画素の離散的な補正値群と、Ｂ画素の離散的な補正値群を含むデータベースである。データベース１０３は、補正値群を記憶するＲＯＭ（Ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）やＲＡＭ（Ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）を有している。
【００１１】
抽出回路１０４は、ユーザの設定した光学パラメータに基づいて、データベース１０３に格納されているＲ画素の離散的な補正値群と、Ｂ画素の離散的な補正値群とから、複数のＲ画素の離散的な補正値と、Ｂ画素の離散的な補正値を抽出する。本実施形態において抽出回路１０４は、Ｒ画素、及び、Ｂ画素の各々について４つの補正値を抽出する。４つの補正値は、例えば、後述する図７（Ａ）に示すＲ画素の離散的な補正値ＢＢ１３Ｒ，ＢＢ１８Ｒ，ＡＡ１３Ｒ，ＡＡ１８Ｒ、図７（Ｂ）に示すＢ画素の離散的な補正値ＢＢ１３Ｂ，ＢＢ１８Ｂ，ＡＡ１３Ｂ，ＡＡ１８Ｂなどである。
【００１２】
データ補間回路１０５は、抽出回路１０４により抽出された複数のＲ画素の離散的な補正値と、複数のＢ画素の離散的な補正値とから、Ｒ画素の撮像条件に対応した離散的な補正値と、Ｂ画素の撮像条件に対応した離散的な補正値を算出する。算出方法の詳細については後述する。像高算出回路１０６は、ＤＲＡＭ１１３に格納された撮像画像内の倍率色収差の検出領域の光軸中心からの像高領域を算出する。本実施形態において像高算出回路１０６は、後述する図９に示す検出領域Ｂ００〜Ｂ２８５１の各々の像高領域を算出する。
【００１３】
方向算出回路１０７は、ＤＲＡＭ１１３に格納された撮像画像内の倍率色収差の検出領域の光軸中心を基点とした倍率色収差の検出方向を算出する。本実施形態において方向算出回路１０７は、後述する図９に示す検出領域Ｂ００〜Ｂ２８５１の各々の検出方向を算出する。回数算出回路１０８は、Ｒ画素の撮像条件に対応した離散的な補正値と、Ｂ画素の撮像条件に対応した離散的な補正値と、から分割された像高毎の倍率色収差検出をするために必要な相関演算の回数を算出する。Ｒ画素とＧ画素、Ｂ画素とＧ画素との相関演算を行うことにより倍率色収差の検出ができる理由については公知の通りである。相関演算回数を算出方法の詳細については後述する。
【００１４】
同時化回路１０９は、撮像画像内のサーチ領域をＤＲＡＭ１１３から順次読み出して、Ｒ画素、Ｇ画素、Ｂ画素ごとに同時化処理（デモザイク処理）を行い、Ｒ画素、Ｇ画素、Ｂ画素ごとのプレーン画像を生成する。本実施形態において同時化回路１０９は、後述する図１０に示すサーチ領域Ｃ００〜Ｃ２８５１を順次読出しながら同時化をする。同時化回路１０９は、同時化処理を行ったプレーン画像を相関演算回路１１０へ出力する。相関演算回路１１０は、所定数の相関演算ＵＮＩＴを具備し、回数算出回路１０８で算出した相関演算回数だけ方向算出回路１０７により算出した検出方向に相関演算を実行して、相関演算結果を検出回路１１１へ出力する。本実施形態において相関演算回路１１０は、後述する図１２に示すようにＲ画素とＢ画素との相関演算用に各々９個の相関演算器を備え、９並列で相関演算の処理を行うことが可能となっている。相関演算の方法の詳細については後述する。
【００１５】
検出回路１１１は、相関演算回路１１０からの相関演算結果をもとに倍率色収差の検出を行い補正回路１１２へ出力する。補正回路１１２は、撮像画像内をＤＲＡＭ１１３から読み出して、検出回路１１１が検出した倍率色収差の補正値に基づいて、撮像画像の倍率色収差補正を行う。ＤＲＡＭ１１３は、倍率色収差の補正前の撮像画像や補正後の画像が格納されるＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を備える記憶部である。ＣＰＵ１１４は、所定の制御プログラムを実行し、撮像装置１００全体を制御するプロセッサである。
【００１６】
図２〜図８を参照して、倍率色収差を検出するために必要な相関演算の回数を算出する方法について説明する。相関演算の回数は、光学パラメータ（撮影条件）に応じた像高ごとの補正値に基づいて算出される。まず、相関演算の回数の算出に用いる、光学パラメータに応じた像高ごとのＲ画素およびＢ画素それぞれの離散的な補正値を算出する方法について説明する。
【００１７】
図２は、像高領域を示す図である。倍率色収差は、撮像面における光学系１０１の光軸位置を中心とした像高方向での色（波長）ごとの像倍率の違いとなって現れる。倍率色収差量は、被写体距離、ズーム位置および絞り値等の光学状態に応じて変化するとともに、像高に応じて変化する。そのため、倍率色収差を検出するために必要な相関演算の回数も像高ごとに算出される。像高領域は、像高算出回路１０６が、撮像画像３００の光軸位置を中心（基点）として、撮像画像３００を複数の領域に分割した領域である。本実施形態において撮像画像３００は、水平４０００画素、垂直３０００ラインのＲＡＷ画像である。像高領域Ｈ０〜Ｈ７は、撮像画像３００を８つに分割した像高領域である。本実施形態において像高領域Ｈ０〜Ｈ７は、０．２５ｃｍ単位で分割され、像高方向に８つ像高領域Ｈ０〜Ｈ７に分割されている。
【００１８】
図３〜図６は、データベース１０３に格納されている、倍率色収差の補正値を示す図である。図３および図４は、像高領域Ｈ０〜Ｈ７毎のＲ画素の離散的な補正値が、光学パラメータ毎に格納されていることを示している。図５および図６は、像高領域Ｈ０〜Ｈ７毎のＢ画素の離散的な補正値が光学パラメータ毎に格納されていることを示している。なお、これら図３〜図６は、いずれか１つの像高領域に対応する補正値を示しており、同様の補正値群が像高毎に用意されている。
【００１９】
図３および図４において、補正値群ＡＡ１Ｒ〜ＤＤ２５ＲはＲ画素の離散的な補正値を示す、Ｒ画素の補正値群である。図５および図６において、補正値群ＡＡ１Ｂ〜ＤＤ２５ＢはＢ画素の離散的な補正値を示す、Ｂ画素の補正値群である。補正値は、光学系１０１（レンズ）の光学設計値に基づいて設定され、光学系（レンズ）毎に設定されている。本実施形態において、Ｒ画素の離散的な補正値群ＡＡ１Ｒ〜ＤＤ２５ＲおよびＢ画素の離散的な補正値群ＡＡ１Ｂ〜ＤＤ２５Ｂは、光学パラメータごとに設定されている。本実施形態において、光学パラメータは、フォーカス位置（撮像距離）、焦点距離およびＦ値（絞り）などの撮影条件である。本実施形態では、補正値は、以下の光学パラメータの条件において設定され、データベース１０３に格納されている。
フォーカス位置：３０ｃｍ、１ｍ、１０ｍ、１０ｍ以上
焦点距離      ：２４ｍｍ、３５ｍｍ、４７ｍｍ、５８ｍｍ、７０ｍｍ
Ｆ値          ：１．４、２．０、４．０、５．６、８．０
【００２０】
図３（Ａ）はフォーカス位置が３０ｃｍ、図３（Ｂ）はフォーカス位置が１ｍ、図４（Ａ）はフォーカス位置が１０ｍ、図４（Ｂ）はフォーカス位置が１０ｍ以上の場合の補正値を示している。同様に、図５（Ａ）はフォーカス位置が３０ｃｍ、図５（Ｂ）はフォーカス位置が１ｍ、図６（Ａ）はフォーカス位置が１０ｍ、図６（Ｂ）はフォーカス位置が１０ｍ以上の場合の補正値を示している。図３〜図６において、縦軸が焦点距離、横軸がＦ値に対応している。例えば、図３（Ａ）の補正値ＡＡ１Ｒは、フォーカス位置３０ｃｍ、焦点距離７０ｍｍ、Ｆ値１．４の場合のＲ画素の補正値を示している。
【００２１】
図７及び図８は、像高領域ごとの補正値を示す図である。図７（Ａ）及び図８（Ａ）は、ユーザにより設定されたＦ値、焦点距離、フォーカス位置の光学パラメータに基づいて抽出回路１０４により抽出された４つの離散的な補正値を、像高領域Ｈ０〜Ｈ７ごとに示している。図７（Ｂ）及び図８（Ｂ）は、４つの離散的な補正値に加算平均等の補正処置を行い算出した補正値を、像高領域Ｈ０〜Ｈ７ごとに示している。縦軸が画素数（Ｐｉｘｅｌ）で表される色ずれ量、横軸が像高に対応している。
【００２２】
図７および図８では、一例として、ユーザの設定による光学パラメータが、Ｆ値が４．０、焦点距離が３７ミリメートル、フォーカス位置が５０センチメートルの場合を示している。抽出回路１０４は、ユーザの設定による光学パラメータに基づいて、Ｒ画素について、補正値ＡＡ１８Ｒ、ＡＡ１３Ｒ、ＢＢ１３Ｒ、ＢＢ１８Ｒを抽出する。そして、データ補間回路１０５は、抽出回路１０４が抽出した補正値に加算平均等の処理を施して、Ｒ画素の撮像条件に対応した離散的な補正値Ｅ０を算出する。同様に、抽出回路１０４は、ユーザの設定による光学パラメータに基づいて、Ｂ画素について、補正値ＡＡ１８Ｂ、ＡＡ１３Ｂ、ＢＢ１３Ｂ、ＢＢ１８Ｂを抽出する。そして、データ補間回路１０５は、抽出回路１０４が抽出した補正値に加算平均等の処理を施して、Ｂ画素の撮像条件に対応した離散的な補正値Ｅ１を算出する。
【００２３】
図７は、Ｒ画素の像高領域ごとの補正値を示している。図７（Ａ）は、抽出回路１０４が抽出した各補正値ＢＢ１３Ｒ，ＢＢ１８Ｒ，ＡＡ１３Ｒ，ＡＡ１８Ｒについて、像高領域Ｈ０〜Ｈ７ごとの離散的なＲ画素の補正値を示している。図７（Ｂ）は、データ補間回路１０５が算出した補正値Ｅ０を、像高領域Ｈ０〜Ｈ７ごとに示している。補正値Ｅ０は、サーチ領域を算出するために必要な、光学パラメータに対応したＲ画素の離散的な補正値である。
【００２４】
図８は、Ｂ画素の像高領域ごとの補正値を示している。図８（Ａ）は、抽出回路１０４が抽出した各補正値ＢＢ１３Ｂ，ＢＢ１８Ｂ，ＡＡ１３Ｂ，ＡＡ１８Ｂについて、像高領域Ｈ０〜Ｈ７ごとの離散的なＢ画素の補正値を示している。図８（Ｂ）は、データ補間回路１０５が算出した補正値Ｅ１を、像高領域Ｈ０〜Ｈ７ごとに示している。補正値Ｅ１は、サーチ領域を算出するために必要な、光学パラメータに対応したＢ画素の離散的な補正値である。
【００２５】
光学パラメータに応じた像高ごとのＲ画素およびＢ画素それぞれの離散的な補正値が算出されると、次に、回数算出回路１０８はこれに基づいて表１に対応した演算を行う。表１は、本実施形態における、Ｒ画素の像高毎の補正値Ｒ０〜Ｒ７とＢ画素の像高毎の補正値Ｂ０〜Ｂ７から算出した、相関演算の回数を示している。表１におけるＲ画素の像高毎の補正値は、図７（Ｂ）に対応している。同様に、表１におけるＢ画素の像高毎の補正値は、図８（Ｂ）に対応している。
【表１】
2018195876.tif 000003
【００２６】
図７（Ｂ）において、補正値Ｒ０〜Ｒ７は、Ｒ画素の撮像条件に対応した離散的な補正値Ｅ０の像高領域Ｈ０〜Ｈ７に対応する補正値である。同様に、図８（Ｂ）において、補正値Ｂ０〜Ｂ７は、Ｂ画素の撮像条件に対応した離散的な補正値Ｅ１の像高領域Ｈ０〜Ｈ７に対応する補正値である。回数算出回路１０８は、各像高において補正値Ｒ０〜Ｒ７と補正値Ｂ０〜Ｂ７との絶対値を比較する。そして、回数算出回路１０８は、比較結果において補正値の絶対値が大きい方を補正値ＲＢ０〜ＲＢ７として選択する。
【００２７】
回数算出回路１０８は、倍率色収差の検出のための十分な相関演算ができるように、補正値ＲＢに数画素の余裕を持たせて、次に説明する内容に従って相関演算の回数を算出する。本実施形態においては、補正値ＲＢに余裕として１画素を加算する。相関演算回路１１０は、Ｒ画素とＢ画素とで各々９個の相関演算器を具備しているので、１回の相関演算においてＲ画素、Ｂ画素の独立に８画素分（−４画素〜＋４画素）の相関演算が可能である。したがって、補正値ＲＢ０〜ＲＢ７に１画素の余裕を持たせた値が閾値である４画素以下の像高の場合、相関演算の回数は１回でよく、補正値が４画素より大きい像高の場合、２回以上繰り返しての相関演算が必要となる。なお、本実施形態では補正値ＲＢに余裕として１画素を加算したが、これに限られるものではなく、所定の画素を加算するようにしてもよい。また、画素を加算せずに補正値ＲＢと閾値を比較するようにしてもよい。
【００２８】
像高領域Ｈ０の場合、表１において、補正値Ｒ０が＋１．０画素、補正値Ｂ０が−１．２画素である。補正値ＲＢ０は、補正値Ｒ０と補正値Ｂ０の絶対値を比較し、補正値の絶対値が大きい方の値が選択される。そのため、補正値ＲＢ０は１．２画素となる。そして、補正値ＲＢ０に余裕として１画素加算した値（１．２＋１＝２．２）を算出する。回数算出回路１０８は、この値が閾値である４画素以下であるか否か判定する。像高領域Ｈ０の場合、算出した値（２．２）が４画素以下であるので、回数算出回路１０８は、相関演算回数を１回と算出する。
【００２９】
回数算出回路１０８は、像高領域Ｈ１〜Ｈ７についても、像高領域Ｈ０の場合と同様に相関演算回数を算出する。例えば、像高領域Ｈ１の場合、補正値Ｒ１（＋１．１）と補正値Ｂ１（−１．３）の絶対値を比較して、補正値ＲＢ１として１．３を算出する。余裕として１画素加算した値として２．３を算出し、この値が閾値である４画素以下と判定して、相関演算回数を１回と算出する。像高領域Ｈ４の場合、補正値Ｒ４（＋３．１）と補正値Ｂ４（−３．２）の絶対値を比較して、補正値ＲＢ４として３．２を算出する。余裕として１画素加算した値として４．２を算出し、この値が閾値である４画素より大きいと判定して相関演算回数を２回と算出する。このようにして、像高領域Ｈ０〜Ｈ７ごとの倍率色収差を検出するための相関演算の回数を算出する。
【００３０】
次に、図９〜図１４を参照して、相関演算をする方法について詳細に説明する。図９は、倍率色収差の検出を行う検出領域を示す図である。検出領域Ｂ００〜Ｂ２８５１は、倍率色収差の検出を行う領域群である。本実施形態において検出領域Ｂ００〜Ｂ２８５１は、撮像画像３００の端部に位置する余分画素を除いた部分を、水平方向に６２分割、垂直方向に４６分割して設定され、一つの検出領域が水平６４画素、垂直６４ラインのブロックである。
【００３１】
図１０は、倍率色収差の検出を行うために必要なサーチ領域を示す図である。サーチ領域Ｃ００〜Ｃ２８５１は、倍率色収差の検出を行うために必要なサーチ領域であり、検出領域Ｂ００〜Ｂ２８５１に対応している。サーチ領域は、相関演算するための相関演算対象領域を含む。相関演算対象領域については図１３及び図１４で説明する。本実施形態において各サーチ領域Ｃ００〜Ｃ２８５１は、対応する各検出領域Ｂ００〜Ｂ２８５１を含む、水平８０画素、垂直８０ラインのブロックである。サーチ領域Ｃ００〜Ｃ２８５１は、検出領域Ｂ００〜Ｂ２８５１に対応しているため、水平方向に６２ブロック、垂直方向に４６ブロックあり、隣り合う検出領域に対応するサーチ領域はその一部の領域が重なり合っている。
【００３２】
サーチ領域Ｃ００〜Ｃ２８５１の各々について、同時化回路１０９が、Ｒ画素、Ｇ画素、Ｂ画素ごとに同時化処理を施すと、Ｒ画素、Ｂ画素、Ｇ画素ごとに水平８０画素、垂直８０画素のプレーン画像を算出することができる。したがって、検出領域が水平６４画素、垂直６４ラインなので、相関演算回路１１０において、Ｒ画素、Ｂ画素の各々について−８画素から＋８画素までの相関演算を行うことができる。
【００３３】
図１１は、倍率色収差の検出方向を示す図である。本実施形態では、放射方向を光軸位置を中心として８つの領域に分割し、それぞれの領域を代表する放射方向を検出方向Ｈ０〜Ｈ７とする。検出方向Ｈ０〜Ｈ７は、同時化回路１０９がサーチ領域Ｃ００〜Ｃ２８５１をＤＲＡＭ１１３から読み出すタイミングで、方向算出回路１０７により算出される。方向算出回路１０７は、撮像画像３００を、光軸位置を中心（基点）として検出方向Ｄ０〜Ｄ７に分割している。本実施形態においては、図１１に示すように、検出方向Ｄ０は、光軸中心を基点として２２．５度から６７．５度の領域であり４５度の方向に検出処理を行う。検出方向Ｄ１は、光軸中心を基点として６７．５度から１１２．５度の領域であり９０度の方向に検出処理を行う。検出方向Ｄ２は、光軸中心を基点として１１２．５度から１５７．５度の領域であり１３５度の方向に検出処理を行う。検出方向Ｄ３は、光軸中心を基点として１５７．５度から２０２．５度の領域であり１８０度の方向に検出処理を行う。検出方向Ｄ４は、光軸中心を基点として２０２．５度から２４７．５度の領域であり２２５度の方向に検出処理を行う。検出方向Ｄ５は、光軸中心を基点として２４７．５度から２９５．５度の領域であり下の方向に検出処理を行う。検出方向Ｄ６は、光軸中心を基点として２９５．５度から３３７．５度の領域であり２７０度の方向に検出処理を行う。検出方向Ｄ７は、光軸中心を基点として３３７．５度から２２．５度の領域であり０度の方向に検出処理を行う。本実施形態では、各検出領域がどの検出方向の領域に存在するかを判定し、判定した領域での検出方向で倍率色収差の検出を行う。
【００３４】
図１２は、倍率色収差の検出のための相関演算ＵＮＩＴを示す図である。相関演算回路１１０は、複数のＲ画素の相関演算および複数のＢ画素の相関演算を有している。本実施例においては、相関演算回路１１０は、Ｒ画素の相関演算ＵＮＩＴ６０１〜６０９およびＢ画素の相関演算ＵＮＩＴ６１０〜６１８を有している。Ｒ画素の相関演算ＵＮＩＴ６０１〜６０９およびＢ画素の相関演算ＵＮＩＴ６１０〜６１８により、相関演算回路１１０は、Ｒ画素とＧ画素との相関演算およびＢ画素とＧ画素との相関演算を、並列に処理することができる。
【００３５】
倍率色収差量は、特定の色（例えば、Ｒ画素）に対する他の色（例えば、Ｇ画素）の像高方向でのずれ量を検出することで算出することができる。本実施形態では、倍率色収差の検出のための相関演算を行うために、Ｒ画素の相関演算ＵＮＩＴ６０１〜６０９に対して、後述するＲ画素のテンプレート領域とＧ画素の相関演算対象領域が入力され、相関演算値が算出される。同様に、Ｂ画素の相関演算ＵＮＩＴ６１０〜６１８に対して、後述するＢ画素のテンプレート領域とＧ画素の相関演算対象領域が入力され、相関演算値が算出される。
【００３６】
相関演算をする方法について、相関演算回数の異なる検出領域Ｂ２５０と検出領域Ｂ３２４を用いて詳細に説明する。まず、検出領域Ｂ２５０について説明する。検出領域Ｂ２５０は、像高算出回路１０６により像高領域Ｈ７と算出されている。像高領域Ｈ７は、回数算出回路１０８により相関演算の回数が１回と算出されている。したがって、Ｇ画素とＲ画素及びＧ画素とＢ画素の各々の組み合わせについて―４画素から＋４画素の相関演算を行う。
【００３７】
図１３は、サーチ領域とテンプレート領域を示す図である。図１３（Ａ）は、図９に示す検出領域Ｂ２５０が同時化された、Ｒ画素のテンプレート領域７０１を示す図である。図１３（Ｂ）は、図９に示す検出領域Ｂ２５０が同時化された、Ｂ画素のテンプレート領域７０２を示す図である。図１３（Ｃ）は、図９に示す検出領域Ｂ２５０が同時化された、Ｇ画素のサーチ領域Ｃ２５０内の相関演算対象領域７０３〜７１１を示す図である。本実施形態では、方向算出回路１０７により、検出領域Ｂ２５０の検出方向が４５度の方向に検出処理を行う検出方向Ｄ０と算出されている。そのため、相関演算対象領域７０３〜７１１がＲ画素のテンプレート領域７０１とＢ画素のテンプレート領域７０２とを基準として、４５度の方向に１画素ずつ、つまり水平１画素、垂直１ライン１画素ずつずらした位置に配置されている。
【００３８】
まず、Ｒ画素とＧ画素の相関演算の詳細について説明する。相関演算回路１１０のＲ画素の相関演算ＵＮＩＴ６０１〜６０９は、次に示すように、Ｒ画素とＧ画素の相関演算を１回行う。Ｇ０画素には相関演算対象領域７０３が入力され、Ｒ画素にはテンプレート領域７０１が入力され、倍率色収差量が−４の位置のＲ画素とＧ画素の相関値を取得する。Ｇ１画素には相関演算対象領域７０４が入力され、Ｒ画素にはテンプレート領域７０１が入力され、倍率色収差量が−３の位置のＲ画素とＧ画素の相関値を取得する。Ｇ２画素には相関演算対象領域７０５が入力され、Ｒ画素にはテンプレート領域７０１が入力され、倍率色収差量が−２の位置のＲ画素とＧ画素の相関値を取得する。Ｇ３画素には相関演算対象領域７０６が入力され、Ｒ画素にはテンプレート領域７０１が入力され、倍率色収差量が−１の位置のＲ画素とＧ画素の相関値を取得する。Ｇ４画素には相関演算対象領域７０７が入力され、Ｒ画素にはテンプレート領域７０１が入力され、倍率色収差量が±０の位置のＲ画素とＧ画素の相関値を取得する。Ｇ５画素には相関演算対象領域７０８が入力され、Ｒ画素にはテンプレート領域７０１が入力され、倍率色収差量が＋１の位置のＲ画素とＧ画素の相関値を取得する。Ｇ６画素には相関演算対象領域７０９が入力され、Ｒ画素にはテンプレート領域７０１が入力され、倍率色収差量が＋２の位置のＲ画素とＧ画素の相関値を取得する。Ｇ７画素には相関演算対象領域７１０が入力され、Ｒ画素にはテンプレート領域７０１が入力され、倍率色収差量が＋３の位置のＲ画素とＧ画素の相関値を取得する。Ｇ８画素には相関演算対象領域７１１が入力され、Ｒ画素にはテンプレート領域７０１が入力され、倍率色収差量が＋４の位置のＲ画素とＧ画素の相関値を取得する。
【００３９】
Ｒ画素とＧ画素の相関演算と同様に、Ｂ画素とＧ画素の相関演算も行う。相関演算回路１１０のＢ画素の相関演算ＵＮＩＴ６１０〜６１８は、次に示す入力によりＢ画素とＧ画素の相関演算を行う。Ｇ０画素には相関演算対象領域７０３が入力され、Ｂ画素にはテンプレート領域７０２が入力され、倍率色収差量が−４の位置のＲ画素とＧ画素の相関値を取得する。Ｇ１画素には相関演算対象領域７０４が入力され、Ｂ画素にはテンプレート領域７０２が入力され、倍率色収差量が−３の位置のＲ画素とＧ画素の相関値を取得する。Ｇ２画素には相関演算対象領域７０５が入力され、Ｂ画素にはテンプレート領域７０２が入力され、倍率色収差量が−２の位置のＲ画素とＧ画素の相関値を取得する。Ｇ３画素には相関演算対象領域７０６が入力され、Ｂ画素にはテンプレート領域７０２が入力され、倍率色収差量が−１の位置のＲ画素とＧ画素の相関値を取得する。Ｇ４画素には相関演算対象領域７０７が入力され、Ｂ画素にはテンプレート領域７０２が入力され、倍率色収差量が±０の位置のＲ画素とＧ画素の相関値を取得する。Ｇ５画素には相関演算対象領域７０８が入力され、Ｂ画素にはテンプレート領域７０２が入力され、倍率色収差量が＋１の位置のＲ画素とＧ画素の相関値を取得する。Ｇ６画素には相関演算対象領域７０９が入力され、Ｂ画素にはテンプレート領域７０２が入力され、倍率色収差量が＋２の位置のＲ画素とＧ画素の相関値を取得する。Ｇ７画素には相関演算対象領域７１０が入力され、Ｂ画素にはテンプレート領域７０２が入力され、倍率色収差量が＋３の位置のＲ画素とＧ画素の相関値を取得する。Ｇ８画素には相関演算対象領域７１１が入力され、Ｂ画素にはテンプレート領域７０２が入力され、倍率色収差量が＋４の位置のＲ画素とＧ画素の相関値を取得する。
【００４０】
検出回路１１１は、相関演算回路１１０のＲ画素の相関演算ＵＮＩＴ６０１〜６０９により算出されたＲ画素とＧ画素の相関演算値（相関値）に基づいて、Ｒ画素の倍率色収差量を検出する。同様に、検出回路１１１は、相関演算回路１１０のＢ画素の相関演算ＵＮＩＴ６１０〜６１８により算出されたＲ画素とＢ画素の相関演算値（相関値）に基づいて、Ｂ画素の倍率色収差量を検出する。
【００４１】
次に、検出領域Ｂ３２４について説明する。検出領域Ｂ３２４は、像高算出回路１０６により像高領域Ｈ５と算出されている。像高領域Ｈ５は、回数算出回路１０８により相関演算の回数が２回と算出されている。したがって、相関演算回路１１０のＲ画素の相関演算ＵＮＩＴ６０１〜６０９は、相関演算を２回行う。まず、１回目の相関演算で、Ｇ画素とＲ画素及びＧ画素とＢ画素の各々の組み合わせについて―８画素から±０画素までの相関演算を行う。そして、２回目の相関演算で、Ｇ画素とＲ画素及びＧ画素とＢ画素の各々の組み合わせについて＋１画素から＋８画素までの相関演算を行う。
【００４２】
図１４は、サーチ領域とテンプレート領域を示す図である。図１４（Ａ）は、図９に示す検出領域Ｂ３２４が同時化された、Ｒ画素のテンプレート領域７１２を示す図である。図１４（Ｂ）は、図９に示す検出領域Ｂ３２４が同時化された、Ｂ画素のテンプレート領域７１３を示す図である。図１４（Ｃ）は、図９に示す検出領域Ｂ３２４が同時化された、Ｇ画素のサーチ領域Ｃ３２４内の相関演算対象領域７１４〜７３０を示す図である。本実施形態では、方向算出回路１０７により、検出領域Ｂ３２４の検出方向が４５度の方向に検出処理を行う検出方向Ｄ０と算出されている。そのため、相関演算対象領域７１４〜７３０がＲ画素のテンプレート領域７０１とＢ画素のテンプレート領域７０２とを基準として、４５度の方向に１画素ずつ、つまり水平１画素、垂直１ライン１画素ずつずらした位置に配置されている。
【００４３】
まず、１回目の相関演算を行う。まず、Ｒ画素とＧ画素の相関演算の詳細について説明する。相関演算回路１１０のＲ画素の相関演算ＵＮＩＴ６０１〜６０９は、次に示すように、１回目のＲ画素とＧ画素の相関演算を行う。Ｇ０画素には相関演算対象領域７１４が入力され、Ｒ画素にはテンプレート領域７１２が入力され、倍率色収差量が−８の位置のＲ画素とＧ画素の相関値を取得する。Ｇ１画素には相関演算対象領域７１５が入力され、Ｒ画素にはテンプレート領域７１２が入力され、倍率色収差量が−７の位置のＲ画素とＧ画素の相関値を取得する。Ｇ２画素には相関演算対象領域７１６が入力され、Ｒ画素にはテンプレート領域７１２が入力され、倍率色収差量が−６の位置のＲ画素とＧ画素の相関値を取得する。Ｇ３画素には相関演算対象領域７１７が入力され、Ｒ画素にはテンプレート領域７１２が入力され、倍率色収差量が−５の位置のＲ画素とＧ画素の相関値を取得する。Ｇ４画素には相関演算対象領域７１８が入力され、Ｒ画素にはテンプレート領域７１２が入力され、倍率色収差量が−４の位置のＲ画素とＧ画素の相関値を取得する。Ｇ５画素には相関演算対象領域７１９が入力され、Ｒ画素にはテンプレート領域７１２が入力され、倍率色収差量が−３の位置のＲ画素とＧ画素の相関値を取得する。Ｇ６画素には相関演算対象領域７２０が入力され、Ｒ画素にはテンプレート領域７１２が入力され、倍率色収差量が−２の位置のＲ画素とＧ画素の相関値を取得する。Ｇ７画素には相関演算対象領域７２１が入力され、Ｒ画素にはテンプレート領域７１２が入力され、倍率色収差量が−１の位置のＲ画素とＧ画素の相関値を取得する。Ｇ８画素には相関演算対象領域７２２が入力され、Ｒ画素にはテンプレート領域７１２が入力され、倍率色収差量が±０の位置のＲ画素とＧ画素の相関値を取得する。
【００４４】
Ｒ画素とＧ画素の相関演算と同様に、Ｂ画素とＧ画素の相関演算も行う。相関演算回路１１０のＢ画素の相関演算ＵＮＩＴ６１０〜６１８は、次に示す入力により、１回目のＢ画素とＧ画素の相関演算を行う。Ｇ０画素には相関演算対象領域７１４が入力され、Ｂ画素にはテンプレート領域７１３が入力され、倍率色収差量が−８の位置のＢ画素とＧ画素の相関値を取得する。Ｇ１画素には相関演算対象領域７１５が入力され、Ｂ画素にはテンプレート領域７１３が入力され、倍率色収差量が−７の位置のＢ画素とＧ画素の相関値を取得する。Ｇ２画素には相関演算対象領域７１６が入力され、Ｂ画素にはテンプレート領域７１３が入力され、倍率色収差量が−６の位置のＢ画素とＧ画素の相関値を取得する。Ｇ３画素には相関演算対象領域７１７が入力され、Ｂ画素にはテンプレート領域７１３が入力され、倍率色収差量が−５の位置のＢ画素とＧ画素の相関値を取得する。Ｇ４画素には相関演算対象領域７１８が入力され、Ｂ画素にはテンプレート領域７１３が入力され、倍率色収差量が−４の位置のＢ画素とＧ画素の相関値を取得する。Ｇ５画素には相関演算対象領域７１９が入力され、Ｂ画素にはテンプレート領域７１３が入力され、倍率色収差量が−３の位置のＢ画素とＧ画素の相関値を取得する。Ｇ６画素には相関演算対象領域７２０が入力され、Ｂ画素にはテンプレート領域７１３が入力され、倍率色収差量が−２の位置のＢ画素とＧ画素の相関値を取得する。Ｇ７画素には相関演算対象領域７２１が入力され、Ｂ画素にはテンプレート領域７１３が入力され、倍率色収差量が−１の位置のＢ画素とＧ画素の相関値を取得する。Ｇ８画素には相関演算対象領域７２２が入力され、Ｂ画素にはテンプレート領域７１３が入力され、倍率色収差量が±０の位置のＢ画素とＧ画素の相関値を取得する。
【００４５】
次に、２回目の相関演算を行う。相関演算回路１１０のＲ画素の相関演算ＵＮＩＴ６０１〜６０９は、次に示すように、２回目のＲ画素とＧ画素の相関演算を行う。Ｇ０画素には相関演算対象領域７２３が入力され、Ｒ画素にはテンプレート領域７１２が入力され、倍率色収差量が＋１の位置のＲ画素とＧ画素の相関値を取得する。Ｇ１画素には相関演算対象領域７２４が入力され、Ｒ画素にはテンプレート領域７１２が入力され、倍率色収差量が＋２の位置のＲ画素とＧ画素の相関値を取得する。Ｇ２画素には相関演算対象領域７２５が入力され、Ｒ画素にはテンプレート領域７１２が入力され、倍率色収差量が＋３の位置のＲ画素とＧ画素の相関値を取得する。Ｇ３画素には相関演算対象領域７２６が入力され、Ｒ画素にはテンプレート領域７１２が入力され、倍率色収差量が＋４の位置のＲ画素とＧ画素の相関値を取得する。Ｇ４画素には相関演算対象領域７２７が入力され、Ｒ画素にはテンプレート領域７１２が入力され、倍率色収差量が＋５の位置のＲ画素とＧ画素の相関値を取得する。Ｇ５画素には相関演算対象領域７２８が入力され、Ｒ画素にはテンプレート領域７１２が入力され、倍率色収差量が＋６の位置のＲ画素とＧ画素の相関値を取得する。Ｇ６画素には相関演算対象領域７２９が入力され、Ｒ画素にはテンプレート領域７１２が入力され、倍率色収差量が＋７の位置のＲ画素とＧ画素の相関値を取得する。Ｇ７画素には相関演算対象領域７３０が入力され、Ｒ画素にはテンプレート領域７１２が入力され、倍率色収差量が＋８の位置のＲ画素とＧ画素の相関値を取得する。
【００４６】
また、相関演算回路１１０のＢ画素の相関演算ＵＮＩＴ６１０〜６１８は、次に示す入力により、２回目のＢ画素とＧ画素の相関演算を行う。Ｇ０画素には相関演算対象領域７２３が入力され、Ｂ画素にはテンプレート領域７１３が入力され、倍率色収差量が＋１の位置のＢ画素とＧ画素の相関値を取得する。Ｇ１画素には相関演算対象領域７２４が入力され、Ｂ画素にはテンプレート領域７１３が入力され、倍率色収差量が＋２の位置のＢ画素とＧ画素の相関値を取得する。Ｇ２画素には相関演算対象領域７２５が入力され、Ｂ画素にはテンプレート領域７１３が入力され、倍率色収差量が＋３の位置のＢ画素とＧ画素の相関値を取得する。Ｇ３画素には相関演算対象領域７２６が入力され、Ｂ画素にはテンプレート領域７１３が入力され、倍率色収差量が＋４の位置のＢ画素とＧ画素の相関値を取得する。Ｇ４画素には相関演算対象領域７２７が入力され、Ｂ画素にはテンプレート領域７１３が入力され、倍率色収差量が＋５の位置のＢ画素とＧ画素の相関値を取得する。Ｇ５画素には相関演算対象領域７２８が入力され、Ｂ画素にはテンプレート領域７１３が入力され、倍率色収差量が＋６の位置のＢ画素とＧ画素の相関値を取得する。Ｇ６画素には相関演算対象領域７２９が入力され、Ｂ画素にはテンプレート領域７１３が入力され、倍率色収差量が＋７の位置のＢ画素とＧ画素の相関値を取得する。Ｇ７画素には相関演算対象領域７３０が入力され、Ｂ画素にはテンプレート領域７１３が入力され、倍率色収差量が＋８の位置のＢ画素とＧ画素の相関値を取得する。
【００４７】
次に、検出回路１１１は、相関演算回路１１０のＲ画素の相関演算ＵＮＩＴ６０１〜６０９により算出されたＲ画素とＧ画素の相関演算値（相関値）に基づいて、Ｒ画素の倍率色収差量を検出する。同様に、検出回路１１１は、相関演算回路１１０のＢ画素の相関演算ＵＮＩＴ６１０〜６１８により算出されたＲ画素とＢ画素の相関演算値（相関値）からＢ画素の倍率色収差量を検出する。このように検出領域Ｂ００〜Ｂ２８５１の各々について、倍率色収差の検出を行うために必要最低限な相関演算回数を算出することで、倍率色収差検出の回路規模を増やさずに、倍率色収差の検出を高速に行うことができる。
【００４８】
図１５は、本実施形態における倍率色収差補正の流れを説明するフローチャートである。倍率色収差補正の動作は、ユーザの操作により撮像装置１００の電源がオンされることにより、スタートする。
Ｓ１００１で、ユーザからの撮像指示の操作に応じて撮像を行う。具体的には、光学系１０１を通過した光を、撮像素子１０２において光電変換し、取得した撮像画像３００をＤＲＡＭ１１３に格納する。
【００４９】
Ｓ１００２で、データ補間回路１０５が補正値を算出する。具体的には、まず、抽出回路１０４が、撮影の際にユーザの設定した焦点距離、Ｆ値（絞り）、フォーカス位置（撮像距離）などの光学パラメータに基づいて、データベース１０３からＲ画素の離散的な補正値と、Ｂ画素の離散的な補正値を抽出する。そして、データ補間回路１０５が、抽出した補正値に基づいて、光学パラメータに対応したＲ画素の離散的な補正値Ｅ０および光学パラメータに対応したＢ画素の離散的な補正値Ｅ１を算出する。
Ｓ１００３で、回数算出回路１０８が相関演算回数を算出する。具体的には、回数算出回路１０８は、像高領域Ｈ０〜Ｈ７ごとにＳ１００２で算出した補正値Ｅ０と補正値Ｅ１の絶対値を比較し、大きい方を補正値ＲＢとして選択する。そして、補正値ＲＢに余裕として１画素を加算し、閾値と比較する。閾値との比較結果に基づいて、像高領域ごとの相関演算の回数を算出する。
【００５０】
Ｓ１００４で、像高算出回路１０６は、各検出領域Ｂ００〜Ｂ２８５１について光軸中心からの像高領域Ｈ０〜Ｈ７を算出し、各検出領域Ｂ００〜Ｂ２８５１の相関演算の回数を決定する。
Ｓ１００５で、方向算出回路１０７は、各検出領域Ｂ００〜Ｂ２８５１の光軸中心からの検出方向Ｄ０〜Ｄ７を算出し、相関演算の方向を決定する。
Ｓ１００６で、同時化回路１０９は、サーチ領域Ｃ００〜Ｃ２８５１を順次読み出して、Ｒ画素、Ｂ画素、Ｇ画素の各々について同時化の処理を施し、相関演算回路１１０へ出力する。
【００５１】
Ｓ１００７で、相関演算回路１１０は、Ｒ画素とＧ画素、Ｂ画素とＧ画素の相関演算を行う。具体的には、相関演算回路１１０は、同時化回路１０９から入力されたＲ画素、Ｂ画素、Ｇ画素と、Ｓ１００５で算出した検出方向Ｄ０〜Ｄ７に基づいて、Ｓ１００４で算出した回数だけ相関演算を実行する。そして、相関演算回路１１０は、相関演算の結果である相関演算値を検出回路１１１へ出力する。
Ｓ１００８で、検出回路１１１は、相関演算回路１１０から入力された相関演算値に基づいて倍率色収差量の検出を行い、検出結果を補正回路１１２へ出力する。
【００５２】
Ｓ１００９で、検出回路１１１は、サーチ領域Ｃ００〜Ｃ２８５１の全ブロックにおいて倍率色収差量の検出が完了したか否か判定する。全サーチ領域において倍率色収差量の検出が完了していた場合、Ｓ１０１０に進む。一方、全サーチ領域における倍率色収差量の検出が完了していなかった場合は、Ｓ１００４に戻る。
Ｓ１０１０で、補正回路１１２は、Ｓ１００８で検出した倍率色収差量に基づいて、読み出した撮像画像３００に対して倍率色収差の補正を行う。
【００５３】
このように本実施形態によれば、予め撮像装置のＲＯＭやＲＡＭに格納されている光学パラメータ毎に決定されている補正値を用いて、倍率色収差検出を行うために必要最低限な相関演算の回数にすることができる。そのため、倍率色収差検出の回路規模を増やさずに、倍率色収差検出の検出を高速にすることが可能となる。
【００５４】
本実施形態では、相関演算の回数を算出するのに１つの閾値のみと比較を行い、相関演算の回数が１回もしくは２回であるか判定していた。しかし、これに限られるものではなく、複数の閾値を設定し、その閾値との比較結果に応じた回数の相関演算を行うようにしてもよい。
【００５５】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００５６】
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【符号の説明】
【００５７】
１０８  相関演算回数算出回路
１１０  相関演算回路
１１１  倍率色収差検出回路
１１２  倍率色収差補正回路
１１５  画像処理装置
【図１】
2018195876.tif 000004
【図２】
2018195876.tif 000005
【図３】
2018195876.tif 000006
【図４】
2018195876.tif 000007
【図５】
2018195876.tif 000008
【図６】
2018195876.tif 000009
【図７】
2018195876.tif 000010
【図８】
2018195876.tif 000011
【図９】
2018195876.tif 000012
【図１０】
2018195876.tif 000013
【図１１】
2018195876.tif 000014
【図１２】
2018195876.tif 000015
【図１３】
2018195876.tif 000016
【図１４】
2018195876.tif 000017
【図１５】
2018195876.tif 000018