(57)【特許請求の範囲】
【請求項１】
それぞれが少なくとも１枚のレンズを含む複数のレンズ部と、
前記複数のレンズ部に一対一に対応し、対応する前記レンズ部の光軸方向に対して略垂直な受光面をそれぞれ備える複数の撮像領域と、
前記複数の撮像領域からそれぞれ出力される複数の撮像信号が入力される撮像信号入力部と、
前記複数の撮像信号のうちの少なくとも1つの撮像信号を複数のブロックに分割するブロック分割部と、
前記撮像信号を用いて、前記ブロックごとに、前記複数のレンズ部がそれぞれ形成する像間の視差を演算する視差演算部と、
前記ブロックごとの視差に基づいて、ブロックごとに前記複数の撮像信号を補正し、補正後の前記複数の撮像信号を合成する視差補正部と、を有するカメラモジュール。
【請求項２】
前記複数のレンズ部と前記複数の撮像領域との相対距離を変化させるアクチュエータと、
前記視差に基づきアクチュエータを制御する焦点制御部とを更に有する、請求項１に記載のカメラモジュール。
【請求項３】
前記複数の撮像信号のうち少なくとも１つの撮像信号に基づいてコントラストを演算するコントラスト演算部を更に有し、
前記焦点制御部は、前記視差と前記コントラストとに基づき前記アクチュエータを制御する、請求項２に記載のカメラモジュール。
【請求項４】
前記焦点制御部は、前記アクチュエータを複数回制御し、初回は前記視差に基づき前記アクチュエータを制御し、２回目以降は前記コントラストに基づき前記アクチュエータを制御する、請求項３に記載のカメラモジュール。
【請求項５】
前記焦点制御部は、前記コントラストに基づき前記アクチュエータを制御したときの前記アクチュエータに対する操作量を学習する、請求項３に記載のカメラモジュール。
【請求項６】
前記ブロック分割部は、前記少なくとも１つの撮像信号に基づいて複数の画像領域の輪郭を検出し、前記輪郭により前記複数の画像領域に分割されるように、前記少なくとも１つの撮像信号を複数のブロックに分割する、請求項５に記載のカメラモジュール。
【請求項７】
前記撮像信号に基づいて前記輪郭の視差である輪郭視差を求める輪郭視差演算部が付加され、
前記視差演算部は、前記輪郭視差に基づいて、前記ブロックごとに、前記複数のレンズ部がそれぞれ形成する像間の視差を演算する、請求項６に記載のカメラモジュール。
【請求項８】
前記ブロック分割部は、前記少なくとも１つの撮像信号を矩形状の複数のブロックに分割する、請求項１に記載のカメラモジュール。
【請求項９】
前記撮像信号に基づき前記複数のブロックごとに前記視差の精度を示す少なくとも１つの視差精度評価値を演算する視差評価値演算部を更に有し、
前記視差補正部は、前記複数のブロックごとに前記視差と前記視差精度評価値とに基づいて前記複数の撮像信号を補正し画像を合成する、請求項１に記載のカメラモジュール。
【請求項１０】
前記視差補正部は、前記複数のブロックごとに前記視差精度評価値に基づき当該ブロックを少なくとも２つに分割するかどうかを決定し、分割すべきと判断されたブロックにおいて分割後のブロックの視差に基づき画像を合成する、請求項９に記載のカメラモジュール。
【請求項１１】
前記視差評価値演算部は、前記複数の撮像信号のうち少なくとも１つの撮像信号に基づいて前記複数のブロックごとにコントラストの大きさを示す第１の視差精度評価値を演算する、請求項９に記載のカメラモジュール。
【請求項１２】
前記視差評価値演算部は、前記複数のブロックに分割された前記撮像信号を用いて、前記複数のブロックごとに、少なくとも２つの前記レンズ部がそれぞれ形成する像を前記視差だけ移動した像がどれだけ相関があるかを示す第２の視差精度評価値を演算する、請求項９に記載のカメラモジュール。
【請求項１３】
前記視差補正部は、前記複数のブロックごとに前記第２の視差精度評価値が小さいとき当該ブロックを少なくとも２つに分割し、分割されたブロックにおいて分割後のブロックの視差に基づき画像を合成する、請求項１１に記載のカメラモジュール。
【請求項１４】
前記視差評価値演算部は、前記複数の撮像信号のうち少なくとも１つの撮像信号に基づいて前記複数のブロックごとにコントラストの大きさを示す第１の視差精度評価値と、
前記複数のブロックに分割された前記撮像信号を用いて、前記複数のブロックごとに、少なくとも２つの前記レンズ部がそれぞれ形成する像を前記視差だけ移動した像がどれだけ相関があるかを示す第２の視差精度評価値を演算し、
前記視差補正部は、前記複数のブロックごとに前記第１の視差精度評価値が大きくかつ前記第２の視差精度評価値が小さいとき当該ブロックを少なくとも２つに分割し、分割されたブロックにおいて分割後のブロックの視差に基づき画像を合成する、請求項１０に記載のカメラモジュール。
【請求項１５】
前記撮像信号入力部は、前記複数の撮像信号を複数のフィールドごとに入力し、
前記視差演算部は、前記複数のフィールドのそれぞれについて、前記ブロック毎の視差を演算する、請求項１に記載のカメラモジュール。
【請求項１６】
前記複数のレンズ部に一対一に対応し、複数色のフィルタが配置されたカラーフィルタをさらに備え、
前記複数のレンズ部のうち、前記フィールドの走査方向に平行に配置された少なくとも２つのレンズ部に対応して、同色のフィルタが配置されている、請求項１５に記載のカメラモジュール。
【請求項１７】
撮影画像とは異なる別画像を保存する別画像保存部を更に有し、
前記視差補正部は、前記視差に基づき前記撮像信号を補正した画像と前記別画像とを組み合わせる、請求項１に記載のカメラモジュール。
【請求項１８】
前記視差補正部は、前記視差が大きいほど前記撮像信号を補正した画像の割合を大きく前記別画像の割合を小さくなるように組み合わせる、請求項１７に記載のカメラモジュール。
【請求項１９】
請求項１〜１８のいずれか一項に記載のカメラモジュールを備えた電子機器。
【請求項２０】
それぞれが少なくとも１枚のレンズを含む複数のレンズ部と、前記複数のレンズ部に一対一に対応し、対応する前記レンズ部の光軸方向に対して略垂直な受光面をそれぞれ備える複数の撮像領域と、前記複数の撮像領域からそれぞれ出力される複数の撮像信号が入力される撮像信号入力部と、入力された撮像信号の画像処理を行う画像処理部とを備えたカメラモジュールにおいて、前記画像処理部の動作を制御するプログラムであって、
前記複数の撮像信号のうちの少なくとも１つの撮像信号を複数のブロックに分割するブロック分割処理と、
前記撮像信号を用いて、前記ブロックごとに、前記複数のレンズ部がそれぞれ形成する像間の視差を演算する視差演算処理と、
前記ブロックごとの視差に基づいて、ブロックごとに前記複数の撮像信号を補正し、補正後の前記複数の撮像信号を合成する視差補正処理とを、前記画像処理部に実行させることを特徴とするプログラム。
【請求項２１】
それぞれが少なくとも１枚のレンズを含む複数のレンズ部と、前記複数のレンズ部に一対一に対応し、対応する前記レンズ部の光軸方向に対して略垂直な受光面をそれぞれ備える複数の撮像領域と、前記複数の撮像領域からそれぞれ出力される複数の撮像信号が入力される撮像信号入力部と、入力された撮像信号の画像処理を行う画像処理部とを備えたカメラモジュールにおいて、前記画像処理部の動作を制御するプログラムを記録したプログラム記録媒体であって、
前記プログラムは、
前記複数の撮像信号のうちの少なくとも１つの撮像信号を複数のブロックに分割するブロック分割処理と、
前記撮像信号を用いて、前記ブロックごとに、前記複数のレンズ部がそれぞれ形成する像間の視差を演算する視差演算処理と、
前記ブロックごとの視差に基づいて、ブロックごとに前記複数の撮像信号を補正し、補正後の前記複数の撮像信号を合成する視差補正処理とを、前記画像処理部に実行させることを特徴とするプログラム記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、小型かつ薄型で、自動焦点制御機能を備えたカメラモジュールおよびこのカメラモジュールを備えた電子機器に関する。
【背景技術】
【０００２】
従来のカメラモジュールとして、特開２００１−７８２１３号公報に記載のカメラモジュールがある。図４７は、特開２００１−７８２１３号公報に記載のカメラモジュールの構成を示す断面図である。
【０００３】
図４７において、撮像系９０１０は、物体からの光を、絞り９１１０及び撮像レンズ９１００を介して、撮像素子９１２０の撮像面に結像する光学処理系である。絞り９１１０は、３つの円形開口９１１０ａ、９１１０ｂ、９１１０ｃを有する。開口９１１０ａ、９１１０ｂ、９１１０ｃの各々から撮像レンズ９１００の光入射面９１００ｅに入射した物体光は、撮像レンズ９１００の３つのレンズ部９１００ａ、９１００ｂ、９１００ｃから射出して、撮像素子９１２０の撮像面上に３つの物体像を形成する。
【０００４】
撮像レンズ９１００の光出射面の平面部９１００ｄには遮光性膜が形成されている。撮像レンズ９１００の光入射面９１００ｅ上には互いに異なる波長帯域の光を透過させる３つの光学フィルタ９０５２ａ、９０５２ｂ、９０５２ｃが形成されている。また、撮像素子９１２０において、撮像レンズ９１００の３つのレンズ部９１００ａ、９１００ｂ、９１００ｃにそれぞれ対応する３つの撮像領域９１２０ａ、９１２０ｂ、９１２０ｃ上にも、互いに異なる波長帯域の光を透過させる３つの光学フィルタ９０５３ａ、９０５３ｂ、９０５３ｃが形成されている。
【０００５】
光学フィルタ９０５２ａと光学フィルタ９０５３ａは、主に緑色（Ｇで示す）を透過する分光透過率特性を有し、光学フィルタ９０５２ｂと光学フィルタ９０５３ｂは、主に赤色（Ｒで示す）を透過する分光透過率特性を有し、さらに、光学フィルタ９０５２ｃと光学フィルタ９０５３ｃは、主に青色（Ｂで示す）を透過する分光透過率特性を有する。そのため、撮像領域９１２０ａは緑色光（Ｇ）に対して、撮像領域９１２０ｂは赤色光（Ｒ）に対して、撮像領域９１２０ｃは青色光（Ｂ）に対して、それぞれ感度を持つ。
【０００６】
このような複数の撮像レンズを備えたカメラモジュールでは、カメラモジュールから物体（被写体）までの距離が変化すると、撮像素子９１２０の撮像面上に複数の撮像レンズがそれぞれ形成する複数の物体像の相互間隔が変化する。
【０００７】
特開２００１−７８２１３号公報に記載のカメラモジュールでは、仮想被写体距離Ｄ［ｍ］を、複数の結像系の撮影画角θ［°］の関数として、Ｄ＝１．４／（ｔａｎ（θ／２））と定義したとき、物体が仮想被写体距離Ｄ［ｍ］にあるときの複数の物体像の相互間隔と、無限遠にあるときの複数の物体像の相互間隔との変化が、基準画像信号の画素ピッチの２倍よりも小さくなるように、複数の結像系の光軸間隔が設定されている。すなわち、特開２００１−７８２１３号公報に記載のカメラモジュールは、仮想被写体距離Ｄ［ｍ］にある物体の撮影に最適化された画像処理と同一の画像処理を、無限遠にある物体の撮影に対して行っても、撮像面上での両物体像の相互間隔の差が基準信号の画素ピッチの２倍より小さくなるように光軸間隔が設定されているので、無限遠にある物体像の色ズレを許容可能なレベルに抑えることができる。
【０００８】
近年、カメラが搭載された携帯電話などの携帯機器が普及している。これら携帯機器の小型化、薄型化および高性能化に伴い、小型化、薄型化および高性能化されたカメラモジュールが要求されている。例えば、自動焦点制御機能を備え、風景撮影（ほぼ無限遠の物体の撮影）や人物撮影（通常数ｍの距離の物体の撮影）のみならず、マクロ撮影（数ｃｍから数十ｃｍの距離の物体の撮影）も可能であることが要求される。
【０００９】
しかしながら、特開２００１−７８２１３号公報に記載のカメラモジュールでは、複数のレンズ部９１００ａ、９１００ｂ、９１００ｃを有することにより、薄型化を実現している。しかし、この従来のカメラモジュールは、自動焦点制御機能を持たない。また、仮想被写体距離Ｄ［ｍ］は、人物撮影を念頭に設定されている。そのため、この従来のカメラモジュールでは、風景撮影や人物撮影には対応できるが、マクロ撮影には対応できない。
【００１０】
特開２００１−７８２１３号公報に記載のカメラモジュールによる未解決の課題を解決する従来のカメラジュールとして、特開２００２−３３０３３２号公報に記載されたカメラモジュールがある。図４８は、特開２００２−３３０３３２号公報に記載のカメラモジュールで撮影される画像画像の一例と、分割された小領域を示している。撮影画面に対し、その中央部ｋ０とその周辺に検出領域ｋ１、ｋ２、ｋ３、ｋ４を設ける。そして、それぞれの検出領域の視差ｐ０、ｐ１、ｐ２、ｐ３、ｐ４を求める。そして、これらの視差のうち所定範囲のものを抽出し、抽出されるものが複数ある場合は、中央に近い領域での視差を選択する。さらに、選択された視差を用いて撮影画像全体の補正を行う。
【００１１】
特開２００２−３３０３３２号公報に記載された従来のカメラモジュールでは、撮影される画像の一部を複数の小領域とし、これらの領域の視差を求め、これらの視差から１つを選択し、この選択された視差に基づき撮影画像全体を補正する。例えば、図４８に示すように、撮影画面の中央にカメラから２ｍ程度離れた人物Ｍと、端に１０ｍ程度離れた人物Ｎが共存している場合、撮影画面中央に位置する人物Ｍが被写体であるとみなして、この領域ｋ０における視差ｐ０に基づいて、撮影画像全体を補正する。このとき、人物Ｍの視差は選択された視差ｐ０と同一であるので、視差の影響を補正でき、人物Ｍの領域ではきれいな画像を得る。しかし、人物Ｎの視差は選択された視差ｐ０と異なり、視差の影響を補正できないため、人物Ｎの領域では色むらが発生し、きれいな画像とならない。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本発明は、上記問題に鑑みなされたもので、小型化、薄型化が可能で、被写体距離によらず全画像領域できれいな画像を得るカメラモジュールを提供することを目的とする。
【００１３】
本発明のカメラモジュールは、それぞれが少なくとも１枚のレンズを含む複数のレンズ部と、前記複数のレンズ部に一対一に対応し、対応する前記レンズ部の光軸方向に対して略垂直な受光面をそれぞれ備える複数の撮像領域と、前記複数の撮像領域からそれぞれ出力される複数の撮像信号が入力される撮像信号入力部と、前記複数の撮像信号のうちの少なくとも１つの撮像信号を複数のブロックに分割するブロック分割部と、前記撮像信号を用いて、前記ブロックごとに、前記複数のレンズ部がそれぞれ形成する像間の視差を演算する視差演算部と、前記視差に基づいて前記複数の撮像信号を補正し画像を合成する視差補正部と、を有する。
【００１４】
本発明にかかるプログラムは、それぞれが少なくとも１枚のレンズを含む複数のレンズ部と、前記複数のレンズ部に一対一に対応し、対応する前記レンズ部の光軸方向に対して略垂直な受光面をそれぞれ備える複数の撮像領域と、前記複数の撮像領域からそれぞれ出力される複数の撮像信号が入力される撮像信号入力部と、入力された撮像信号の画像処理を行う画像処理部とを備えたカメラモジュールにおいて、前記画像処理部の動作を制御するプログラムであって、前記複数の撮像信号のうちの少なくとも１つの撮像信号を複数のブロックに分割するブロック分割処理と、前記撮像信号を用いて、前記ブロックごとに、前記複数のレンズ部がそれぞれ形成する像間の視差を演算する視差演算処理と、前記視差に基づいて前記複数の撮像信号を補正し画像を合成する視差補正処理とを、前記画像処理部に実行させることを特徴とする。
【００１５】
本発明にかかるプログラム記録媒体は、上記のプログラムを記録した、コンピュータにより読み取りが可能な記録媒体である。
【発明の効果】
【００１６】
本発明は、上記問題に鑑みなされたもので、小型化、薄型化が可能で、被写体距離によらず全画像領域できれいな画像を得るカメラモジュールを提供することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態１に係るカメラモジュールの構成を示す断面図
【図２】本発明の実施の形態１に係るカメラモジュールのレンズの上面図
【図３】本発明の実施の形態１に係るカメラモジュールの回路部の上面図
【図４】本発明の実施の形態１に係るカメラモジュールのカラーフィルタの特性図
【図５】本発明の実施の形態１に係るカメラモジュールのＩＲフィルタの特性図
【図６】本発明の実施の形態１に係るカメラモジュールにおいて、無限遠にある物体像の位置を説明するための図
【図７】本発明の実施の形態１に係るカメラモジュールにおいて、有限距離の位置にある物体像の位置を説明するための図
【図８】（Ａ）は本発明の実施の形態１に係るカメラモジュールにおいて、合焦時の画像とコントラスト評価値の関係を説明する図、（Ｂ）は本発明の実施の形態１に係るカメラモジュールにおいて、非合焦時の画像とコントラスト評価値の関係を説明する図
【図９】本発明の実施の形態１に係るカメラモジュールのレンズ位置とコントラスト評価値の関係を説明する図
【図１０】本発明の実施の形態１に係るカメラモジュールのブロック図
【図１１】本発明の実施の形態１に係るカメラモジュールの動作を示すフローチャート
【図１２】本発明の実施の形態１に係るカメラモジュールの撮像信号の座標を説明する図
【図１３】（Ａ）は本発明の実施の形態１に係るカメラモジュールのエッジ検出を説明する元画像、（Ｂ）本発明の実施の形態１に係るカメラモジュールのエッジ検出を説明するエッジ検出用コントラスト評価値の画像、（Ｃ）は本発明の実施の形態１に係るカメラモジュールのエッジ検出を説明するエッジの画像
【図１４】本発明の実施の形態１に係るカメラモジュールにおいて、視差評価値の演算領域を説明する図
【図１５】本発明の実施の形態１に係るカメラモジュールの視差と視差評価値との関係を説明する図
【図１６】（Ａ）は本発明の実施の形態１に係るカメラモジュールにおいて、補正なし時にコントラスト評価値が最大となるときのアクチュエータ操作量とコントラスト評価値の関係を説明する図、（Ｂ）は、正側補正後のコントラスト評価値が最大となるときのアクチュエータ操作量とコントラスト評価値の関係を説明する図、（Ｃ）は、負側補正後のコントラスト評価値が最大となるときのアクチュエータ操作量とコントラスト評価値の関係を説明する図
【図１７】（Ａ）は、本発明の実施の形態１に係るカメラモジュールにおいて、さらなる正側補正をしたとき、この正側補正前でのコントラスト評価値が最大となるアクチュエータ操作量とコントラスト評価値の関係を説明する図、（Ｂ）は、さらなる正側補正をしたとき、この正側補正後でのコントラスト評価値が最大となるアクチュエータ操作量とコントラスト評価値の関係を説明する図
【図１８】（Ａ）は、本発明の実施の形態１に係るカメラモジュールにおいて、さらなる負側補正をしたとき、この負側補正前でのコントラスト評価値が最大となるアクチュエータ操作量とコントラスト評価値の関係を説明する図、（Ｂ）は、さらなる負側補正をしたとき、この負側補正後でのコントラスト評価値が最大となるアクチュエータ操作量とコントラスト評価値の関係を説明する図
【図１９】本発明の実施の形態２に係るカメラモジュールの構成を示す断面図
【図２０】本発明の実施の形態２に係るカメラモジュールのブロック図
【図２１】本発明の実施の形態２に係るカメラモジュールの動作を示すフローチャート
【図２２】本発明の実施の形態２に係るカメラモジュールの撮像信号の座標を説明する図
【図２３】本発明の実施の形態３に係るカメラモジュールの構成を示す断面図
【図２４】本発明の実施の形態３に係るカメラモジュールのブロック図
【図２５】本発明の実施の形態３に係るカメラモジュールの動作を示すフローチャート
【図２６】本発明の実施の形態３に係る自動焦点制御の動作を示すフローチャート
【図２７】本発明の実施の形態３に係る視差補正の動作を示すフローチャート
【図２８】本発明の実施の形態３に係るカメラモジュールにおいて、ブロック分割を説明する図
【図２９】本発明の実施の形態３に係るカメラモジュールにおいて、視差評価値の演算領域を説明する図
【図３０】本発明の実施の形態３に係るカメラモジュールにおいて、視差精度評価用相関値の演算領域を説明する図
【図３１】（Ａ）は、本発明の実施の形態３に係るカメラモジュールにおいて、ブロックの再分割の前の状態を説明する図、（Ｂ）は、本発明の実施の形態３に係るカメラモジュールにおいて、ブロックの再分割の後の状態を説明する図
【図３２】本発明の実施の形態３に係るカメラモジュールにおいて、視差精度評価用相関値と視差補正方式フラッグの関係を説明する図
【図３３】本発明の実施の形態３に係るカメラモジュールにおいて、視差精度評価用コントラスト評価値と視差補正方式フラッグの関係を説明する図
【図３４】本発明の実施の形態３に係る低相関用視差補正部の動作を示すフローチャート
【図３５】（Ａ）は本発明の実施の形態３に係るカメラモジュールの低相関用視差補正部のエッジ検出を説明する元画像、（Ｂ）は本発明の実施の形態３に係るカメラモジュールの低相関用視差補正部のエッジ検出を説明するエッジ検出用コントラスト評価値の画像、（Ｃ）は本発明の実施の形態３に係るカメラモジュールの低相関用視差補正部のエッジ検出を説明するエッジの画像
【図３６】本発明の実施の形態４に係るカメラモジュールの構成を示す断面図
【図３７】本発明の実施の形態４に係るカメラモジュールのブロック図
【図３８】（Ａ）〜（Ｄ）は、本発明の実施の形態４に係るカメラモジュールのフィールド画像を説明する図
【図３９】本発明の実施の形態４に係るカメラモジュールの動作を示すフローチャート
【図４０】本発明の実施の形態４に係るカメラモジュールの動作を示すタイムチャート
【図４１】（Ａ）〜（Ｃ）は、本発明の実施の形態４に係るカメラモジュールにおけるカラーフィルタの好ましい配置例を模式的に示す平面図
【図４２】本発明の実施の形態５に係るカメラモジュールの構成を示す断面図
【図４３】本発明の実施の形態５に係るカメラモジュールのブロック図
【図４４】本発明の実施の形態５に係るカメラモジュールの動作を示すフローチャート
【図４５】（Ａ）〜（Ｃ）は、本発明の実施の形態５に係るカメラモジュールの背景置換を説明する図
【図４６】（Ａ）および（Ｂ）は、本発明の実施の形態６に係る電子機器の一例を示す図
【図４７】従来（特開２００１−７８２１３号公報に記載）のカメラモジュールの構成を示す断面図
【図４８】従来（特開２００２−３３０３３２号公報に記載）のカメラモジュールで撮像される画像の一例を示す図
【発明を実施するための最良の形態】
【００１８】
本発明のカメラモジュールは、それぞれが少なくとも１枚のレンズを含む複数のレンズ部と、前記複数のレンズ部に一対一に対応し、対応する前記レンズ部の光軸方向に対して略垂直な受光面をそれぞれ備える複数の撮像領域と、前記複数の撮像領域からそれぞれ出力される複数の撮像信号が入力される撮像信号入力部と、前記複数の撮像信号のうちの少なくとも１つの撮像信号を複数のブロックに分割するブロック分割部と、前記撮像信号を用いて、前記ブロックごとに、前記複数のレンズ部がそれぞれ形成する像間の視差を演算する視差演算部と、前記視差に基づいて前記複数の撮像信号を補正し画像を合成する視差補正部と、を有する。
【００１９】
物体像の位置は、被写体距離に応じて相対的に変化する。すなわち、被写体距離が小さくなると、視差が大きくなる。そのため、距離が異なる複数の被写体を同時に撮像すると、被写体毎に視差が異なる。本発明のカメラモジュールによれば、ブロック毎の視差を演算し、このブロック毎の視差に基づき視差の影響が低減するように撮像信号を補正した後、画像合成する。これにより、距離が異なる複数の被写体を同時に撮像するときにおいても、適宜それぞれの被写体の視差を補正して、全画像領域で視差の影響が低減されたきれいな画像を得ることができる。
【００２０】
上記の本発明のカメラモジュールにおいて、前記複数のレンズ部と前記複数の撮像領域との相対距離を変化させるアクチュエータと、前記視差に基づきアクチュエータを制御する焦点制御部と、を更に有することが好ましい。
【００２１】
この好ましい構成によれば、視差に基づきアクチュエータを動作させ、自動焦点制御することにより、１回のアクチュエータ動作で合焦させることができるので、高速に自動焦点制御できる。
【００２２】
上記の本発明のカメラモジュールにおいて、前記複数の撮像信号のうち少なくとも１つの撮像信号に基づいてコントラストを演算するコントラスト演算部を更に有し、前記焦点制御部は、前記視差と前記コントラストとに基づき前記アクチュエータを制御することが好ましい。
【００２３】
この好ましい構成によれば、高速な視差に基づく自動焦点制御と高精度なコントラストに基づく自動焦点制御とを併用するので、高速で高精度に自動焦点制御できる。
【００２４】
上記の本発明のカメラモジュールにおいて、前記焦点制御部は、前記アクチュエータを複数回制御し、初回は前記視差に基づき前記アクチュエータを制御し、２回目以降は前記コントラストに基づき前記アクチュエータを制御することが好ましい。
【００２５】
この好ましい構成によれば、最初に視差に基づいてアクチュエータを動作させ自動焦点制御を行う。続いて、コントラストに基づいてアクチュエータを動作させ自動焦点制御を行う。視差に基づく自動焦点制御は、１回のアクチュエータ動作で合焦するため、高速である。一方、コントラストに基づく自動焦点制御は、画像から直接合焦を判断するため、アクチュエータのばらつきなどに左右されず、精度がよい。したがって、最初に視差に基づく自動焦点制御により高速に粗調整し、次いでコントラストに基づく自動焦点制御により高精度な微調整をするので、高速で高精度に自動焦点制御できる。
【００２６】
上記の本発明のカメラモジュールにおいて、前記焦点制御部は、前記コントラストに基づき前記アクチュエータを制御したときの前記アクチュエータに対する操作量を学習することが好ましい。
【００２７】
この好ましい構成によれば、コントラストに基づく自動焦点制御において実行したアクチュエータ操作量に基づき、操作量関数を補正するような学習を行う。これにより、アクチュエータのばらつきなどがあっても操作量関数がより正確に補正されるので、初回の視差に基づく自動焦点制御がより正確になり、次回以降のコントラストに基づく自動焦点制御による微調整の回数が減少するため、より高速な自動焦点制御を実現できる。
【００２８】
上記の本発明のカメラモジュールにおいて、前記ブロック分割部は、前記少なくとも１つの撮像信号に基づいて複数の画像領域の輪郭を検出し、前記輪郭により前記複数の画像領域に分割されるように、前記少なくとも１つの撮像信号を複数のブロックに分割することが好ましい。
【００２９】
この好ましい構成によれば、輪郭を検出し、ブロックに分割し、ブロック毎の視差に基づき視差の影響を低減するように撮像信号を補正した後、画像合成する。これにより、適切にブロック化を行うことができるので、全画像領域で視差の影響が低減されたきれいな画像を得ることができる。
【００３０】
上記の本発明のカメラモジュールにおいて、前記撮像信号に基づいて前記輪郭の視差である輪郭視差を求める輪郭視差演算部が付加され、前記視差演算部は、前記輪郭視差に基づいて、前記ブロックごとに、前記複数のレンズ部がそれぞれ形成する像間の視差を演算することが好ましい。
【００３１】
この好ましい構成によれば、輪郭の視差を検出し、この視差に基づきブロックごとに視差の視差を演算し、この視差に基づき視差の影響を低減するように撮像信号を補正した後、画像合成する。従って、全画像領域で視差の影響が低減されたきれいな画像を得ることができる。
【００３２】
上記の本発明のカメラモジュールにおいて、前記ブロック分割部は、前記少なくとも１つの撮像信号を矩形状の複数のブロックに分割することが好ましい。
【００３３】
この好ましい構成によれば、ブロックごとに視差の視差を演算し、この視差に基づき視差の影響を低減するように撮像信号を補正した後、画像合成する。従って、全画像領域で視差の影響が低減されたきれいな画像を得ることができる。
【００３４】
上記の本発明のカメラモジュールにおいて、前記撮像信号に基づき前記複数のブロックごとに前記視差の精度を示す少なくとも１つの視差精度評価値を演算する視差評価値演算部を更に有し、前記視差補正部は、前記複数のブロックごとに前記視差と前記視差精度評価値とに基づいて前記複数の撮像信号を補正し画像を合成することが好ましい。
【００３５】
分割したブロック内に被写体距離が異なる複数の物体が含まれることがあり、その場合、物体像毎に視差が異なる。この好ましい構成では、ブロック毎に演算した視差がどれだけ精度があるかを判断し、この精度に基づき撮像信号の補正の方法を変更する。これにより、ブロック毎に最適な補正方法で画像を補正できるため、全画像領域で視差の影響がさらに低減されたきれいな画像を得ることができる。
【００３６】
上記の本発明のカメラモジュールにおいて、前記視差補正部は、前記複数のブロックごとに前記視差精度評価値に基づき当該ブロックを少なくとも２つに分割するかどうかを決定し、分割すべきと判断されたブロックにおいて分割後のブロックの視差に基づき画像を合成することが好ましい。
【００３７】
この好ましい構成によれば、ブロック毎に演算した視差がどれだけ精度があるかを判断し、精度がないブロックは複数の視差が混在するとし少なくとも２つのブロックに分割する。これにより、常に最適なブロックサイズで画像を補正できるため、全画像領域で視差の影響がさらに低減されたきれいな画像を得ることができる。
【００３８】
上記の本発明のカメラモジュールにおいて、前記視差評価値演算部は、前記複数の撮像信号のうち少なくとも１つの撮像信号に基づいて前記複数のブロックごとにコントラストの大きさを示す第１の視差精度評価値を演算することが好ましい。
【００３９】
この好ましい構成によれば、ブロック毎に演算した視差がどれだけ精度があるかをコントラストによって演算評価し、コントラストによって撮像信号の補正の方法を変更する。これにより、ブロック毎に最適な補正方法で画像を補正できるため、全画像領域で視差の影響がさらに低減されたきれいな画像を得ることができる。
【００４０】
上記の本発明のカメラモジュールにおいて、前記視差評価値演算部は、前記複数のブロックに分割された前記撮像信号を用いて、前記複数のブロックごとに、少なくとも２つの前記レンズ部がそれぞれ形成する像を前記視差だけ移動した像がどれだけ相関があるかを示す第２の視差精度評価値を演算することが好ましい。
【００４１】
この好ましい構成によれば、ブロック毎に演算した視差がどれだけ精度があるかを視差だけ移動した像がどれだけ相関があるかを演算評価し、相関によって撮像信号の補正の方法を変更する。これにより、ブロック毎に最適な補正方法で画像を補正できるため、全画像領域で視差の影響がさらに低減されたきれいな画像を得ることができる。
【００４２】
上記の本発明のカメラモジュールにおいて、前記視差補正部は、前記複数のブロックごとに前記第２の視差精度評価値が小さいとき当該ブロックを少なくとも２つに分割し、分割されたブロックにおいて分割後のブロックの視差に基づき画像を合成することが好ましい。
【００４３】
この好ましい構成によれば、ブロック毎に演算した視差がどれだけ精度があるかを視差だけ移動した像がどれだけ相関であるかを示す第２の視差精度評価値を用いて評価する。そして、第２の視差精度評価値が小さい、すなわち相関が小さいと判断されたブロックは少なくとも２つのブロックに分割する。これにより、常に最適なブロックサイズで画像を補正できるため、全画像領域で視差の影響がさらに低減されたきれいな画像を得ることができる。
【００４４】
上記の本発明のカメラモジュールにおいて、前記視差評価値演算部は、前記複数の撮像信号のうち少なくとも１つの撮像信号に基づいて前記複数のブロックごとにコントラストの大きさを示す第１の視差精度評価値と、前記複数のブロックに分割された前記撮像信号を用いて、前記複数のブロックごとに、少なくとも２つの前記レンズ部がそれぞれ形成する像を前記視差だけ移動した像がどれだけ相関があるかを示す第２の視差精度評価値を演算し、前記視差補正部は、前記複数のブロックごとに前記第１の視差精度評価値が大きくかつ前記第２の視差精度評価値が小さいとき当該ブロックを少なくとも２つに分割し、分割されたブロックにおいて分割後のブロックの視差に基づき画像を合成することが好ましい。
【００４５】
この好ましい構成によれば、ブロック毎にコントラストの大きさを示す第１の視差精度評価値と演算した視差がどれだけ精度があるかを視差だけ移動した像がどれだけ相関であるかを示す第２の視差精度評価値とを用いて評価する。そして、第１の視差精度評価値が大きい、すなわちコントラストが大きい、かつ第２の視差精度評価値が小さい、すなわち相関が小さいと判断されたブロックは少なくとも２つのブロックに分割する。これにより、常に最適なブロックサイズで画像を補正できるため、全画像領域で視差の影響がさらに低減されたきれいな画像を得ることができる。
【００４６】
上記の本発明のカメラモジュールにおいて、前記撮像信号入力部は、前記複数の撮像信号を複数のフィールドごとに入力し、前記視差演算部は、前記複数のフィールドのそれぞれについて、前記ブロック毎の視差を演算することが好ましい。
【００４７】
この好ましい構成によれば、各フィールドごとに視差演算を行うことにより、動く被写体の撮影時に各フィールドの撮影時間が異なることにより各フィールドの画像が異なる場合においても、各フィールドごとの視差を正しく求められ、この視差を用いて画像合成することができるため、全画像領域で視差の影響がさらに低減されたきれいな画像を得ることができる。
【００４８】
また、上記の好ましい構成において、前記複数のレンズ部に一対一に対応し、複数色のフィルタが配置されたカラーフィルタをさらに備え、前記複数のレンズ部のうち、前記フィールドの走査方向に平行に配置された少なくとも２つのレンズ部に対応して、同色のフィルタが配置されていることがさらに好ましい。
【００４９】
このさらに好ましい構成によれば、動く被写体の撮影時に各フィールドの撮影時間が異なることにより、各フィールドの画像が異なる場合においても、各フィールドごとの視差をより正確に求めることができる。
【００５０】
上記の本発明のカメラモジュールにおいて、撮影画像とは異なる別画像を保存する別画像保存部を更に有し、前記視差補正部は、前記視差に基づき前記撮像信号を補正した画像と前記別画像とを組み合わせることが好ましい。
【００５１】
この好ましい構成によれば、視差に基づき補正した画像と別画像を組み合わせることにより、補正した画像から正しく画像を抽出できるため、きれいにこれらの画像を組み合わせることができる。
【００５２】
上記の本発明のカメラモジュールにおいて、前記視差補正部は、前記視差が大きいほど前記撮像信号を補正した画像の割合を大きく前記別画像の割合を小さくなるように組み合わせることが好ましい。
【００５３】
この好ましい構成によれば、視差に基づき補正した画像と別画像を組み合わせることにより、補正した画像から視差が大きい部分の画像を正しく抽出できるため、きれいにこれらの画像を組み合わせることができる。
【００５４】
また、本発明にかかる電子機器は、上記の本発明のカメラモジュールを備えたことを特徴とする。
【００５５】
また、本発明にかかるプログラムは、それぞれが少なくとも１枚のレンズを含む複数のレンズ部と、前記複数のレンズ部に一対一に対応し、対応する前記レンズ部の光軸方向に対して略垂直な受光面をそれぞれ備える複数の撮像領域と、前記複数の撮像領域からそれぞれ出力される複数の撮像信号が入力される撮像信号入力部と、入力された撮像信号の画像処理を行う画像処理部とを備えたカメラモジュールにおいて、前記画像処理部の動作を制御するプログラムであって、前記複数の撮像信号のうちの少なくとも１つの撮像信号を複数のブロックに分割するブロック分割処理と、前記撮像信号を用いて、前記ブロックごとに、前記複数のレンズ部がそれぞれ形成する像間の視差を演算する視差演算処理と、前記視差に基づいて前記複数の撮像信号を補正し画像を合成する視差補正処理とを、前記画像処理部に実行させることを特徴とする。
【００５６】
また、本発明にかかるプログラム記録媒体は、上記のプログラムを記録した、コンピュータによる読み取りが可能なプログラム記録媒体である。
【００５７】
本発明のプログラムまたはプログラム記録媒体によれば、ブロック毎の視差を演算し、このブロック毎の視差に基づき、視差の影響が低減するように撮像信号を補正した後、画像合成する。これにより、距離が異なる複数の被写体を同時に撮像するときにおいても、適宜それぞれの被写体の視差を補正して、全画像領域で視差の影響が低減されたきれいな画像を得ることができる。
【００５８】
以下、本発明の具体的な実施の形態について、図面を用いて説明する。
【００５９】
（実施の形態１）
本発明の実施の形態１に係るカメラモジュールは、エッジを検出し、ブロックに分割し、ブロック毎の視差に基づき視差補正することにより、全画像領域できれいな画像を得る。また、視差に基づく自動焦点制御により粗調整を行い、高精度なコントラストに基づく自動焦点制御により微調整を行うことにより、高速で高精度に自動焦点制御できる。また、微調整量を学習し、次回の粗調整の精度を向上する。
【００６０】
本発明の実施の形態１に係るカメラモジュールについて、図面を参照しながら説明する。
【００６１】
図１は、本発明の実施の形態１に係るカメラモジュールの構成を示す断面図である。図１において、カメラモジュール１０１は、レンズモジュール部１１０、および回路部１２０を有する。
【００６２】
レンズモジュール部１１０は、鏡筒１１１、上部カバーガラス１１２、レンズ１１３、アクチュエータ固定部１１４、およびアクチュエータ可動部１１５を有する。回路部１２０は、基板１２１、パッケージ１２２、撮像素子１２３、パッケージカバーガラス１２４、およびシステムＬＳＩ（以下、ＳＬＳＩと記す）１２５を有する。
【００６３】
鏡筒１１１は、円筒状であり、その内壁面は光の乱反射を防止するためにつやが消された黒色であり、樹脂を射出成形し形成される。上部カバーガラス１１２は、円盤状であり、透明樹脂から形成され、鏡筒１１１の上面に接着剤などにより固着され、その表面は摩擦などによる損傷を防止する保護膜と、入射光の反射を防止する反射防止膜とが設けられている。
【００６４】
図２は、本発明の実施の形態１に係るカメラモジュールのレンズ１１３の上面図である。レンズ１１３は、略円盤状であり、ガラスや透明樹脂から形成され、第１のレンズ部１１３ａ、第２のレンズ部１１３ｂ、第３のレンズ部１１３ｃ、および第４のレンズ部１１３ｄが碁盤目状に配置される。第１〜第４のレンズ部１１３ａ〜１１３ｄの配置方向に沿って、図２に示すようにＸ軸及びＹ軸を設定する。第１のレンズ部１１３ａ、第２のレンズ部１１３ｂ、第３のレンズ部１１３ｃ、および第４のレンズ部１１３ｄにおいて、被写体側から入射した光は、撮像素子１２３側へ射出し、撮像素子１２３上に４つの像を結像する。
【００６５】
アクチュエータ固定部１１４は、鏡筒１１１の内壁面に接着剤などにより固着される。アクチュエータ可動部１１５は、レンズ１１３の外周縁に接着剤などにより固着される。アクチュエータ固定部１１４およびアクチュエータ可動部１１５は、ボイスコイルモータを構成する。アクチュエータ固定部１１４は永久磁石（図示せず）と強磁性体ヨーク（図示せず）とを有し、アクチュエータ可動部１１５はコイル（図示せず）を有する。アクチュエータ可動部１１５は、アクチュエータ固定部１１４に対し、弾性体（図示せず）により弾性支持される。アクチュエータ可動部１１５のコイルに通電することにより、アクチュエータ可動部１１５がアクチュエータ固定部１１４に対して相対的に移動し、レンズ１１３と撮像素子１２３との光軸に沿った相対距離が変化する。
【００６６】
基板１２１は、樹脂基板から構成され、上面に鏡筒１１１がその底面を接して接着剤などにより固着される。このようにして、レンズモジュール部１１０と回路部１２０とが固定され、カメラモジュール１０１を構成する。
【００６７】
パッケージ１２２は、金属端子を有する樹脂からなり、鏡筒１１１の内側において、基板１２１の上面にその金属端子部が半田づけ等されて固着される。撮像素子１２３は、第１の撮像素子１２３ａ、第２の撮像素子１２３ｂ、第３の撮像素子１２３ｃ、および第４の撮像素子１２４ｄから構成される。第１の撮像素子１２３ａ、第２の撮像素子１２３ｂ、第３の撮像素子１２３ｃ、および第４の撮像素子１２４ｄは、それぞれＣＣＤセンサやＣＭＯＳセンサのような固体撮像素子であり、これらの受光面の中心が、それぞれ第１のレンズ部１１３ａ、第２のレンズ部１１３ｂ、第３のレンズ部１１３ｃ、および第４のレンズ部１１３ｄの光軸中心と略一致するように、また各撮像素子の受光面が対応するレンズ部の光軸と略垂直になるようにして配置される。
【００６８】
第１の撮像素子１２３ａ、第２の撮像素子１２３ｂ、第３の撮像素子１２３ｃ、および第４の撮像素子１２３ｄの各端子は、パッケージ１２２の内側の底部の金属端子にワイヤーボンディングにより金線１２７で接続され、基板１２１を介して、ＳＬＳＩ１２５と電気的に接続される。第１の撮像素子１２３ａ、第２の撮像素子１２３ｂ、第３の撮像素子１２３ｃ、および第４の撮像素子１２３ｄの各受光面に、第１のレンズ部１１３ａ、第２のレンズ部１１３ｂ、第３のレンズ部１１３ｃ、および第４のレンズ部１１３ｄから射出された光がそれぞれ結像し、フォトダイオードにより光の情報から変換された電気の情報が、ＳＬＳＩ１２５に出力される。
【００６９】
図３は、本発明の実施の形態１に係るカメラモジュールの回路部１２０の上面図である。パッケージカバーガラス１２４は、平板状であり、透明樹脂により形成され、パッケージ１２２の上面に接着などにより固着される。パッケージカバーガラス１２４の上面には、第１のカラーフィルタ１２４ａ、第２のカラーフィルタ１２４ｂ、第３のカラーフィルタ１２４ｃ、第４のカラーフィルタ１２４ｄ、および遮光部１２４ｅが蒸着などにより配置される。また、パッケージカバーガラス１２４の下面には、赤外遮断フィルタ（図示せず。以下、ＩＲフィルタと記す）が蒸着などにより配置される。
【００７０】
図４は、本発明の実施の形態１に係るカメラモジュールのカラーフィルタの特性図であり、図５は、本発明の実施の形態１に係るカメラモジュールのＩＲフィルタの特性図である。第１のカラーフィルタ１２４ａは、図４のＧで示した主に緑色を透過する分光透過特性を有し、第２のカラーフィルタ１２４ｂは、図４のＢで示した主に青色を透過する分光透過特性を有し、第３のカラーフィルタ１２４ｃは、図４のＲで示した主に赤色を透過する分光透過特性を有し、第４のカラーフィルタは、図４のＧで示した主に緑色を透過する分光透過特性を有する。また、ＩＲフィルタは、図５のＩＲで示した赤外光を遮断する分光透過特性を有する。
【００７１】
したがって、第１のレンズ部１１３ａの上部から入射した物体光は、第１のレンズ部１１３ａの下部から射出され、第１のカラーフィルタ１２４ａおよびＩＲフィルタにより主に緑色が透過し、第１の撮像素子１２３ａの受光部に結像するため、第１の撮像素子１２３ａは物体光のうち緑色成分を受光する。また、第２のレンズ部１１３ｂの上部から入射した物体光は、第２のレンズ部１１３ｂの下部から射出され、第２のカラーフィルタ１２４ｂおよびＩＲフィルタにより主に青色が透過し、第２の撮像素子１２３ｂの受光部に結像するため、第２の撮像素子１２３ｂは物体光のうち青色成分を受光する。また、第３のレンズ部１１３ｃの上部から入射した物体光は、第３のレンズ部１１３ｃの下部から射出され、第３のカラーフィルタ１２４ｃおよびＩＲフィルタにより主に赤色が透過し、第３の撮像素子１２３ｃの受光部に結像するため、第３の撮像素子１２３ｃは物体光のうち赤色成分を受光する。更に、第４のレンズ部１１３ｄの上部から入射した物体光は、第４のレンズ部１１３ｄの下部から射出され、第４のカラーフィルタ１２４ｄおよびＩＲフィルタにより主に緑色が透過し、第４の撮像素子１２３ｄの受光部に結像するため、第４の撮像素子１２３ｄは物体光のうち緑色成分を受光する。
【００７２】
ＳＬＳＩ１２５は、後述の方法で、アクチュエータ可動部１１５のコイルの通電を制御し、撮像素子１２３を駆動し、撮像素子１２３からの電気情報を入力し、各種画像処理を行い、上位ＣＰＵと通信を行い、外部に画像出力する。
【００７３】
次に、被写体距離と視差との関係を説明する。本発明の実施の形態１に係るカメラモジュールは、４つのレンズ部（第１のレンズ部１１３ａ、第２のレンズ部１１３ｂ、第３のレンズ部１１３ｃ、および第４のレンズ部１１３ｄ）を有するため、４つのレンズ部がそれぞれ形成する４つの物体像の相対的位置が、被写体距離に応じて変化する。
【００７４】
図６は、本発明の実施の形態１に係るカメラモジュールにおいて、無限遠にある物体像の位置を説明するための図である。図６においては、簡単のため、第１のレンズ部１１３ａ、第１の撮像素子１２３ａ、第２のレンズ部１１３ｂ、第２の撮像素子１２３ｂのみを記す。無限遠の物体１０からの光の第１のレンズ部１１３ａへの入射光Ｌ１と、第２のレンズ部１１３ｂへの入射光Ｌ２とは平行である。このため、第１のレンズ部１１３ａと第２のレンズ部１１３ｂとの距離と、第１の撮像素子１２３ａ上の物体像１１ａと第２の撮像素子１２３ｂ上の物体像１１ｂとの距離は等しい。
【００７５】
ここで、第１のレンズ部１１３ａの光軸、第２のレンズ部１１３ｂの光軸、第３のレンズ部１１３ｃの光軸、および第４のレンズ部１１３ｄの光軸が、それぞれ第１の撮像素子１２３ａの受光面の中心、第２の撮像素子１２３ｂの受光面の中心、第３の撮像素子１２３ｃの受光面の中心、および第４の撮像素子１２３ｄの受光面の中心と略一致するように配置されている。従って、第１の撮像素子１２３ａ、第２の撮像素子１２３ｂ、第３の撮像素子１２３ｃ、および第４の撮像素子１２３ｄの各受光面の中心と、各受光面にそれぞれ結像される無限遠の物体像との相対的位置関係は、全ての撮像素子について同一である。すなわち、視差はない。
【００７６】
図７は、本発明の実施の形態１に係るカメラモジュールにおいて、有限距離の位置にある物体像の位置を説明するための図である。図７において、簡単のため、第１のレンズ部１１３ａ、第１の撮像素子１２３ａ、第２のレンズ部１１３ｂ、第２の撮像素子１２３ｂのみを記す。有限距離の物体１２からの光の第１のレンズ部１１３ａへの入射光Ｌ１と第２のレンズ部１１３ｂへの入射光Ｌ２とは平行ではない。従って、第１のレンズ部１１３ａと第２のレンズ部１１３ｂとの距離に比べて、第１の撮像素子１２３ａ上の物体像１３ａと第２の撮像素子１２３ｂ上の物体像１３ｂとの距離は長い。そのため、第１の撮像素子１２３ａ、第２の撮像素子１２３ｂ、第３の撮像素子１２３ｃ、および第４の撮像素子１２３ｄの各受光面の中心と、各受光面にそれぞれ結像される有限距離の物体像との相対的位置関係は、撮像素子ごとに異なる。すなわち、視差がある。
【００７７】
物体像１２までの距離（被写体距離）をＡ、第１のレンズ部１１３ａと第２のレンズ部１１３ｂとの距離をＤ、レンズ部１１３ａ，１１３ｂの焦点距離をｆとすると、図７の直角を挟む２辺の長さがＡ、Ｄの直角三角形と、直角を挟む２辺の長さがｆ、Δの直角三角形とが相似であることより、視差Δは、下記式（１）のように表される。その他のレンズ部間についても同様の関係が成立する。このように、被写体距離に応じて４つのレンズ部１１３ａ，１１３ｂ，１１３ｃ，１１３ｄがそれぞれ形成する４つの物体像の相対的位置が変化する。例えば、被写体距離Ａが小さくなると、視差Δが大きくなる。
【００７８】
Δ＝ｆ・Ｄ／Ａ      ・・・（１）
次に、コントラストと焦点距離との関係を説明する。
【００７９】
図８（Ａ）は、本発明の実施の形態１に係るカメラモジュールにおいて、合焦時（焦点調整が合っているとき）の画像とコントラスト評価値との関係を説明する図であり、図８（Ｂ）は、本発明の実施の形態１に係るカメラモジュールにおいて、非合焦時（焦点調整が合っていないとき）の画像とコントラスト評価値との関係を説明する図である。
【００８０】
図８（Ａ）及び図８（Ｂ）の各左図は、左半分が白色、右半分が黒色の矩形を撮影したときの画像である。図８（Ａ）の左図のように、合焦時は、撮影画像の輪郭がはっきりし、コントラストが大きい。一方、図８（Ｂ）の左図のように、非合焦時は、撮影画像の輪郭がぼやけ、コントラストが小さい。
【００８１】
図８（Ａ）及び図８（Ｂ）の各右図は、左図の情報信号にバンドパスフィルタ（ＢＰＦ）を作用させたときの結果を示している。横軸はＸ軸方向位置であり、縦軸はＢＰＦ後の出力値である。図８（Ａ）の右図のように、合焦時は、ＢＰＦ後の信号振幅が大きく、図８（Ｂ）の右図のように、非合焦時はＢＰＦ後の信号振幅が小さい。ここで、このＢＰＦ後の信号振幅をどれだけコントラストが大きいかを示すコントラスト評価値と定義する。すると、図８（Ａ）の右図のように、合焦時はコントラスト評価値が大きく、図８（Ｂ）の右図のように、非合焦時はコントラスト評価値が小さい。
【００８２】
図９は、本発明の実施の形態１に係るカメラモジュールのレンズ位置とコントラスト評価値との関係を説明する図である。ある物体を撮影するとき、レンズ１１３と撮像素子１２３との距離が小さいとき（ｚ１のとき）、非合焦であるためコントラスト評価値が小さい。レンズ１１３と撮像素子１２３との距離を徐々に大きくすると、コントラスト評価値が徐々に大きくなり、合焦時（ｚ２のとき）はコントラスト評価値が極大となる。さらに、レンズ１１３と撮像素子１２３との距離を徐々に大きくすると（ｚ３のとき）、非合焦となり、コントラスト評価値が小さくなる。このように、合焦時において、コントラスト評価値は極大となる。
【００８３】
次に、本発明の実施の形態１に係るカメラモジュールの動作を説明する。図１０は、本発明の実施の形態１に係るカメラモジュールのブロック図である。ＳＬＳＩ１２５は、システム制御部１３１、撮像素子駆動部１３２、撮像信号入力部１３３、アクチュエータ操作量出力部１３４、画像処理部１３５、および入出力部１３６を有する。また、回路部１２０は、前述の構成に加えて、アンプ１２６を有する。
【００８４】
アンプ１２６は、アクチュエータ操作量出力部１３４からの出力に応じた電圧をアクチュエータ可動部１１５のコイルに印加する。
【００８５】
システム制御部１３１は、ＣＰＵ（中央演算処理装置：Central Processing Unit）、メモリなどから構成され、ＳＬＳＩ１２５の全体を制御する。撮像素子駆動部１３２は、ロジック回路などから構成され、撮像素子１２３を駆動する信号を発生し、この信号に応じた電圧を撮像素子１２３に印加する。
【００８６】
撮像信号入力部１３３は、第１の撮像信号入力部１３３ａ、第２の撮像信号入力部１３３ｂ、第３の撮像信号入力部１３３ｃ、および第４の撮像信号入力部１３３ｄから構成される。第１の撮像信号入力部１３３ａ、第２の撮像信号入力部１３３ｂ、第３の撮像信号入力部１３３ｃ、および第４の撮像信号入力部１３３ｄは、それぞれＣＤＳ回路（相関二重サンプリング回路：Correlated Double Sampling Circuit）、ＡＧＣ（自動利得制御器：Automatic Gain Controller）、ＡＤＣ（アナログ／ディジタル変換器：Analog Digital Converter）が直列に接続されて構成され、それぞれ第１の撮像素子１２３ａ、第２の撮像素子１２３ｂ、第３の撮像素子１２３ｃ、および第４の撮像素子１２３ｄに接続され、これらからの電気信号が入力され、ＣＤＳ回路により固定ノイズを除去し、ＡＧＣによりゲインを調整し、ＡＤＣによりアナログ信号からディジタル値に変換し、システム制御部１３１のメモリに書き込む。
【００８７】
アクチュエータ操作量出力部１３４は、ＤＡＣ（デジタルディジタル／アナログ変換器：Digital Analog Converter）から構成され、アクチュエータ可動部１１５のコイルに印加すべき電圧に応じた電圧信号を出力する。
【００８８】
画像処理部１３５は、ロジック回路、またはＤＳＰ、あるいはこれらの両者を含んで構成され、システム制御部１３１のメモリ情報を利用し、所定のプログラム制御に従って各種画像処理を行う。画像処理部１３５は、エッジ検出部１４１、ブロック分割部１４２、視差演算部１４３、視差補正部１４４、視差式自動焦点制御部１４５、アクチュエータ制御部１４６、コントラスト式自動焦点制御部１４７、自動焦点制御用コントラスト評価値演算部１４８、およびアクチュエータ操作量関数補正部１４９を有する。
【００８９】
入出力部１３６は、上位ＣＰＵ（図示せず）との通信や、上位ＣＰＵ、外部メモリ（図示せず）、および液晶などの外部表示装置（図示せず）へ画像信号を出力する。
【００９０】
図１１は、本発明の実施の形態１に係るカメラモジュールの動作を示すフローチャートである。ＳＬＳＩ１２５のシステム制御部１３１により、カメラモジュール１０１は、このフローチャートのとおりに動作される。
【００９１】
ステップＳ１００において、動作を開始する。例えば、上位ＣＰＵ（図示せず）が、シャッターボタンなどが押されたことを検知し、入出力部１３６を介し、カメラモジュールに動作の開始を命令することにより、カメラモジュール１０１は、動作を開始する。次に、ステップＳ１１０を実行する。
【００９２】
ステップＳ１１０において、撮影を実行する。システム制御部１３１の命令により、撮像素子駆動部１３２が電子シャッターや転送を行うための信号を随時出力する。第１の撮像信号入力部１３３ａ、第２の撮像信号入力部１３３ｂ、第３の撮像信号入力部１３３ｃ、および第４の撮像信号入力部１３３ｄは、撮像素子駆動部１３２が発生する信号に同期して、第１の撮像素子１２３ａ、第２の撮像素子１２３ｂ、第３の撮像素子１２３ｃ、および第４の撮像素子１２３ｄが出力する各画像のアナログ信号である撮像信号を入力し、ＣＤＳにより固定ノイズを除去し、ＡＧＣにより自動的に入力ゲインを調整し、ＡＤＣによりアナログ信号をディジタル値に変換し、第１の撮像信号I1(x,y)、第２の撮像信号I2(x,y)、第３の撮像信号I3(x,y)、および第４の撮像信号I4(x,y)として、システム制御部１３１の所定アドレスのメモリにディジタル値を書き込む。図１２は、本発明の実施の形態１に係るカメラモジュールの撮像信号の座標を説明する図である。I1(x,y)は、水平方向にｘ番目、垂直方向にｙ番目の第１の撮像信号であることを示す。入力される画像の縦方向の画素数がＨ、横方向の画素数がＬであり、総画素数はＨ×Ｌであり、ｘは０からＬ−１まで変化し、ｙは０からＨ−１まで変化する。第２の撮像信号I2(x,y)、第３の撮像信号I3(x,y)、第４の撮像信号I4(x,y)も同様である。すなわち、I2(x,y)、I3(x,y)、およびI4(x,y)は、それぞれ水平方向にｘ番目、垂直方向にｙ番目の第２の撮像信号、第３の撮像信号、および第４の撮像信号であることを示す。入力される画像の縦方向の画素数がＨ、横方向の画素数がＬであり、それぞれの総画素数はＨ×Ｌであり、ｘは０からＬ−１まで変化し、ｙは０からＨ−１まで変化する。次に、ステップＳ１２１を実行する。
【００９３】
ステップＳ１２１とステップＳ１２２とにおいて、エッジ検出部１４１は、システム制御部１３１のメモリ上データを利用し、エッジを検出する。そして、その結果をシステム制御部１３１のメモリに書き込む。詳細は以下の通りである。
【００９４】
ステップＳ１２１において、エッジ検出用コントラスト評価値を演算する。この演算は、第１の撮像信号のみについて行う。下記式（２）のように、ラプラシアンを演算し、さらに下記式（３）のように空間的にＬＰＦ（ローパスフィルタ）を作用させたものを、エッジ検出用コントラスト評価値C2(x,y)とする。図１３（Ａ）は、本発明の実施の形態１に係るカメラモジュールのエッジ検出を説明する元画像であり、図１３（Ｂ）は、本発明の実施の形態１に係るカメラモジュールのエッジ検出を説明するエッジ検出用コントラスト評価値の画像である。式（２）（３）により、図１３（Ａ）の元画像のエッジ検出用コントラスト評価値C2(x,y)を計算すると、図１３（Ｂ）のようになる。なお、図１３（Ｂ）は、式（３）の絶対値が大きい場所を黒で表示している。次に、ステップＳ１２２を実行する。
【００９５】
C1(x,y)=I1(x-1,y)+I1(x+1,y)+I1(x,y-1)+I1(x,y+1)-4I1(x,y)
・・・（２）
C2(x,y)=C1(x-1,y-1)+C1(x,y-1)+C1(x+1,y-1)
+C1(x-1,y)+C1(x,y)+C1(x+1,y)
+C1(x-1,y+1)+C1(x,y+1)+C1(x+1,y+1)・・・（３）
ステップＳ１２２において、エッジを検出する。図１３（Ｃ）は、本発明の実施の形態１に係るカメラモジュールのエッジ検出を説明するエッジの画像である。図１３（Ｂ）のエッジ検出用コントラスト評価値C2(x,y)の０クロス（値が正から負に変化する点、および値が負から正に変化する点）を検知することにより、図１３（Ｃ）のようなエッジを検出できる。次に、ステップＳ１３０を実行する。
【００９６】
ステップＳ１３０において、ブロック分割部１４２は、システム制御部１３１のメモリ上のデータを利用し、ブロックに分割する。そして、その結果をシステム制御部１３１のメモリに書き込む。図１３（Ｃ）のように、エッジに囲まれた領域にＢ０、Ｂ１、…、Ｂｉ、…、Ｂｎのように番号を付与する。なお、ノイズなどによるエッジの誤検出や消失の防止のために、膨張アルゴリズムや収縮アルゴリズムを用いて、エッジを補正してもよい。次に、ステップＳ１４０を実行する。
【００９７】
ステップＳ１４０において、視差演算部１４３は、システム制御部１３１のメモリ上のデータを利用し、各ブロック毎の視差値を演算する。そして、システム制御部１３１のメモリに書き込む。まず、各ブロック（Ｂ０、Ｂ１、…、Ｂｉ、…、Ｂｎ）毎に、視差評価値（R0(k)、R1(k)、…、Ri(k)、…、Rn(k)。k=０、１、…、ｍ）を演算する。図１４は、本発明の実施の形態１に係るカメラモジュールにおいて、視差評価値の演算領域を説明する図である。Ｂｉで示される（Ｉ１としても示されている）領域は、第１の撮像信号Ｉ１からステップＳ１３０で求められたｉ番目のブロックである。Ｉ４で示される領域は、Ｂｉをｘ方向にｋだけ、ｙ方向にｋだけ移動した領域である。そして、それぞれの領域の全画像信号I1(x,y)、I4(x,y)について、下記式（４）に示される絶対値差分総和を視差評価値Ri(k)として演算する。
【００９８】
Ri(k)=ΣΣ|I1(x,y)-I4(x-k,y-k)|    ・・・（４）
この視差評価値Ri(k)は、ｉ番目のブロックＢｉの第１の画像信号Ｉ１と、ｘ、ｙ方向にそれぞれ（ｋ、ｋ）だけ離れた領域における第４の画像信号Ｉ４がどれだけ相関があるかを示し、値が小さいほど相関が大きい（よく似ている）ことを示す。図１５は、本発明の実施の形態１に係るカメラモジュールの視差と視差評価値との関係を説明する図である。図１５のように、視差評価値Ri(k)はｋの値によって変化し、ｋ＝Δｉのとき極小値を持つ。これは、第４の画像信号Ｉ４のｉ番目のブロックＢｉをｘ、ｙ方向にそれぞれ（−Δｉ、−Δｉ）だけ移動させて得られるブロックの画像信号は、第１の画像信号Ｉ１と最も相関がある（最も似ている）ことを示す。したがって、ｉ番目のブロックについての第１の撮像信号Ｉ１と第４の撮像信号Ｉ４とのｘ、ｙ方向の視差が（Δｉ、Δｉ）であることが分かる。以下、このΔｉを、ｉ番目のブロックＢｉの視差値Δｉと呼ぶ。このように、ｉ＝０からｉ＝ｎまでの全てのブロックＢｉの視差値Δｉを求める。次に、ステップＳ１５１を実行する。
【００９９】
ステップＳ１５１とステップＳ１５２とにおいて、プレビュー用の画像を出力する。
【０１００】
ステップＳ１５１において、視差補正部１４４は、システム制御部１３１のメモリ上のデータを利用し、ブロックごとに、そのブロックに対応する視差値を用いて視差補正したのち、画像合成する。そして、その結果をシステム制御部１３１のメモリに書き込む。第１の撮像素子１２３ａおよび第４の撮像素子１２３ｄは、主に物体光の緑色成分を受光するため、第１の撮像信号Ｉ１、および第４の撮像信号Ｉ４は、物体光の緑色成分の情報信号である。また、第２の撮像信号１２３ｂは、主に物体光の青色成分を受光するため、第２の撮像信号Ｉ２は、物体光の青色成分の情報信号である。さらに、第３の撮像信号１２３ｃは、主に物体光の赤色成分を受光するため、第３の撮像信号Ｉ３は、物体光の赤色成分の情報信号である。第１の撮像素子１２３ａと第４の撮像素子１２３ｄとの視差が（Δｉ、Δｉ）であると予測されたため、下記式（５）のように、画素座標（ｘ、ｙ）における緑色の強度を示すG(x,y)を、第１の撮像信号I1(x,y)、および第４の撮像信号I4(x-Δi,y-Δi)の平均とする。また、第１の撮像素子１２３ａと第２の撮像素子１２３ｂの視差が（Δｉ、０）であると予測されたため、下記式（６）のように、画素座標（ｘ、ｙ）における青色の強度を示すB(x,y)を、第２の撮像信号I2(x-Δi,y)とする。さらに、第１の撮像素子１２３ａと第３の撮像素子１２３ｃの視差が（０、Δｉ）であると予測されたため、下記式（７）のように、（ｘ、ｙ）における赤色の強度を示すR(x,y)を、第３の撮像信号I3(x,y-Δi)とする。なお、視差値Δｉとしては、画素座標（ｘ、ｙ）を含むブロック
Ｂｉの視差値Δｉを利用する。次に、ステップＳ１５２を実行する。
【０１０１】
G(x,y)=[I1(x,y)+I4(x-Δi,y-Δi)]/2    ・・・（５）
B(x,y)=I2(x-Δi,y)      ・・・（６）
R(x,y)=I3(x,y-Δi)      ・・・（７）
ステップＳ１５２において、画像を出力する。入出力部１３６は、システム制御部１３１のメモリ上のデータであるG(x,y),B(x,y),R(x,y)を、上位ＣＰＵ（図示せず）や外部表示装置（図示せず）に出力する。なお、G(x,y),B(x,y),R(x,y)の代わりに、例えば、輝度、色差信号などの出力を出力してもよい。また、ホワイトバランスやγ補正などの画像処理後の値を出力してもよい。次に、Ｓ１６１を実行する。
【０１０２】
ステップＳ１６１とステップＳ１６２とＳ１６３とにおいて、視差値を用いた自動焦点制御を行う。
【０１０３】
ステップＳ１６１において、視差式自動焦点制御部１４５は、システム制御部１３１のメモリ上のデータに基づき、自動焦点制御用ブロックを選択する。そして、その結果をシステム制御部１３１のメモリに書き込む。例えば画像領域の中心付近の少なくとも１つのブロック（例えば、３つのブロックＢｊ１、Ｂｊ２、およびＢｊ３）を選択する。なお、これらのブロックは必ずしも中央付近である必要はなく、カメラを操作するユーザの意思などを反映し（例えば、センサで視点方向を検出し）、ブロックを選択してもよい。次に、ステップＳ１６２を実行する。
【０１０４】
ステップＳ１６２において、アクチュエータの位置指令を演算する。上記の例であれば、下記式（８）のように、ブロックＢｊ１、Ｂｊ２、およびＢｊ３の視差値Δｊ１、Δｊ２、およびΔｊ３の平均を自動焦点制御用視差値Δａｆとする。なお、ブロックの面積やより中心に近いかどうかなどの情報により、適宜重み付けしてもよい。さらに、下記式（９）のように、アクチュエータの位置指令Ｘａｃｔを演算する。なお、位置指令Ｘａｃｔは、無限遠像の合焦位置を基準とし、被写体に向かう向きの位置の指令を示す。次に、ステップＳ１６３を実行する。
【０１０５】
Δａｆ  =(Δｊ１+Δｊ２+Δｊ３)／３    ・・・（８）
Xact=kx・Δaf      ・・・（９）
ステップＳ１６３において、アクチュエータ制御部１４６は、下記式（１０）で示した操作量関数を用いてアクチュエータ操作量（アクチュエータ可動部１１５のコイルへの印加電圧）Ｖａｃｔを演算する。また、後述の操作量関数の学習のために、アクチュエータ操作量をVact0として保存する。次に、ステップＳ１６４を実行する。
【０１０６】
Vact=ka・Xact+kb    ・・・（１０）
Vact0=Vact          ・・・（１０’）
ステップＳ１６４において、アクチュエータを動作させる。アクチュエータ操作量出力部１３４は、アンプ１２６を介したのちアクチュエータ可動部１１５のコイル（図示せず）に印加される電圧がＶａｃｔになるように出力する電圧信号を変更する。次に、ステップＳ１７１を実行する。
【０１０７】
ステップＳ１７１とステップＳ１７２とステップＳ１７３とステップＳ１７４とステップＳ１７５とステップＳ１７６とにおいて、コントラスト式自動焦点制御部１４７は、コントラストを用いた自動焦点制御を行う。前述の図９ように、合焦位置ではコントラスト評価値が極大となる。この原理を用いて、コントラスト評価値が極大となるアクチュエータ操作量を探索する。
【０１０８】
ステップＳ１７１において、アクチュエータ操作量の補正なしの自動焦点制御用コントラスト評価値を作成する。ステップＳ１７１は、ステップＳ１７１ｃとステップＳ１７１ｄとから成る。まず、ステップＳ１７１ｃを実行する。
【０１０９】
ステップＳ１７１ｃにおいて、撮影を実行する。この動作は、ステップＳ１１０と同様であるが、第１の撮像素子１２３ａからの撮像信号Ｉ１のうち、Ｓ１６１で選択された自動焦点制御用ブロックの撮像信号Ｉ１のみを転送しても良い。その場合、全ての撮像信号を転送することと比較し、転送時間を短縮できる。次に、ステップＳ１７１ｄを実行する。
【０１１０】
ステップＳ１７１ｄにおいて、自動焦点制御用コントラスト評価値演算部１４８は、システム制御部１３１のメモリ上のデータを用いて、自動焦点制御用コントラスト評価値を作成する。この演算は、自動焦点制御用ブロックについての第１の撮像信号Ｉ１のみについて行う。下記式（１１）のように、ラプラシアンの絶対値を演算し、下記式（１２）のように空間的にＬＰＦ（ローパスフィルタ）を作用させ、これを下記式（１３）のように自動焦点制御用ブロック内で平均して自動焦点用コントラスト評価値C5を得る。ここで、Nは、自動焦点制御用ブロック内のC4(x,y)の数である。そして、下記式（１４）のように、このときのコントラスト評価値C5をC50として、システム制御部１３１のメモリに書き込む。次に、ステップＳ１７２を実行する。
【０１１１】
C3(x,y)=|I1(x-1,y)+I1(x+1,y)+I1(x,y-1)+I1(x,y+1)-4I1(x,y)|
・・・（１１）
C4(x,y)=C3(x-1,y-1)+C3(x,y-1)+C3(x+1,y-1)
+C3(x-1,y)+C3(x,y)+C3(x+1,y)
+C3(x-1,y+1)+C3(x,y+1)+C3(x+1,y+1)    ・・・（１２）
C5=ΣC4(x,y)/N    ・・・（１３）
C50=C5    ・・・（１４）
ステップＳ１７２において、アクチュエータ操作量の正側補正時の自動焦点制御用コントラスト評価値を作成する。ステップＳ１７２は、ステップＳ１７２ａ、ステップＳ１７２ｂ、ステップＳ１７２ｃ、およびステップＳ１７２ｄから成る。まず、ステップＳ１７２ａを実行する。
【０１１２】
ステップＳ１７２ａにおいて、下記式（１５）のように、補正なし時のアクチュエータ操作量（アクチュエータ固定部１１４のコイルへの印加電圧）Ｖａｃｔ０にｄＶａｃｔを加えたものを正側補正時のアクチュエータ操作量Ｖａｃｔとし、下記式（１６）のように、Ｖａｃｔｐとしてメモリに保存する。次に、ステップＳ１７２ｂ、ステップＳ１７２ｃ、およびステップＳ１７２ｄを実行する。
【０１１３】
Vact=Vact0+dVact      ・・・（１５）
Vactp=Vact      ・・・（１６）
ステップＳ１７２ｂにおいて、アクチュエータを動作させ、ステップＳ１７２ｃにおいて、撮影を実行し、ステップＳ１７２ｄにおいて、自動焦点制御用コントラスト評価値を作成する。ステップＳ１７２ｂはステップＳ１６４と同様な動作を行う。また、ステップＳ１７２ｃ、ステップＳ１７２ｄは、ステップ１７１ｃ、ステップＳ１７１ｄと同様な動作を行い、下記式（１７）のように、コントラスト評価値Ｃ５を正側補正後の自動焦点用コントラスト評価値Ｃ５ｐとし、システム制御部１３１のメモリに書き込む。次に、ステップＳ１７３を実行する。
【０１１４】
C5p=C5    ・・・（１７）
ステップＳ１７３において、アクチュエータ操作量の負側補正時の自動焦点制御用コントラスト評価値を作成する。ステップＳ１７３は、ステップＳ１７３ａ、ステップＳ１７３ｂ、ステップＳ１７３ｃ、およびステップＳ１７３ｄから成る。まず、ステップＳ１７３ａを実行する。
【０１１５】
ステップＳ１７３ａにおいて、下記式（１８）のように、補正なし時のアクチュエータ操作量（アクチュエータ固定部１１４のコイルへの印加電圧）Ｖａｃｔ０からｄＶａｃｔを減じたものを負側補正時のアクチュエータ操作量Ｖａｃｔとし、下記式（１９）のように、Ｖａｃｔｎとしてメモリに保存する。次に、ステップＳ１７３ｂ、ステップＳ１７３ｃ、およびステップＳ１７３ｄを実行する。
【０１１６】
Vact=Vact0-dVact      ・・・（１８）
Vactn=Vact      ・・・（１９）
ステップＳ１７３ｂにおいて、アクチュエータを動作させ、ステップＳ１７３ｃにおいて、撮影を実行し、ステップＳ１７３ｄにおいて、自動焦点制御用コントラスト評価値を作成する。ステップ１７２ｂ、ステップＳ１７２ｃ、ステップＳ１７２ｄと同様な動作を行い、下記式（２０）のように、コントラスト評価値Ｃ５を負側補正後の自動焦点用コントラスト評価値Ｃ５ｎとし、システム制御部１３１のメモリに書き込む。次に、ステップＳ１７４を実行する。
【０１１７】
C5n=C5    ・・・（２０）
ステップＳ１７４において、焦点制御用コントラスト評価値を評価する。Ｃ５０、Ｃ５ｐ、Ｃ５ｎを比較し、どれが最大値であるかによって分岐する。
【０１１８】
Ｃ５０が最大値のとき、以下の動作を行い、次にステップＳ１８１を実行する。図１６（Ａ）は、本発明の実施の形態１に係るカメラモジュールにおいて、補正なし時にコントラスト評価値が最大となるときのアクチュエータ操作量とコントラスト評価値の関係を説明する図である。図１６（Ａ）のように、補正なしのアクチュエータ操作量Ｖａｃｔ０が自動焦点制御用コントラスト値Ｃ５のほぼ極大値を与えるため、下記式（２１）のように、最終的なアクチュエータ操作量ＶａｃｔｆをＶａｃｔ０とする。
【０１１９】
Vactf=Vact0（C50が最大のとき）      ・・・（２１）
Ｃ５ｐが最大値のとき、以下の動作を行い、次にステップＳ１７５を実行する。図１６（Ｂ）は、本発明の実施の形態１に係るカメラモジュールにおいて、正側補正後のコントラスト評価値が最大となるときのアクチュエータ操作量とコントラスト評価値の関係を説明する図である。図１６（Ｂ）のように、正側補正後のアクチュエータ操作量Ｖａｃｔｐ、あるいは、さらに正側に補正した後のアクチュエータ操作量Ｖａｃｔが、自動焦点制御用コントラスト評価値Ｃ５のほぼ極大値を与えるため、さらにアクチュエータ操作量を正側に補正し、極大値を探索する。なお、下記式（２２）のように、Ｃ５ｐを前回値としてＣ５ｐｐとして保存する。
【０１２０】
C5pp=C5p      ・・・（２２）
Ｃ５ｎが最大値のとき、以下の動作を行い、次にステップＳ１７６を実行する。図１６（Ｃ）は、本発明の実施の形態１に係るカメラモジュールにおいて、負側補正後のコントラスト評価値が最大となるときのアクチュエータ操作量とコントラスト評価値の関係を説明する図である。図１６（Ｃ）のように、負側補正後のアクチュエータ操作量Ｖａｃｔｎ、あるいは、さらに負側に補正した後のアクチュエータ操作量Ｖａｃｔが、自動焦点制御用コントラスト評価値Ｃ５のほぼ極大値を与えるため、さらにアクチュエータ操作量を負側に補正し、極大値を探索する。なお、下記式（２３）のように、Ｃ５ｎを前回値としてＣ５ｎｐとして保存する。
【０１２１】
C5np=C5p      ・・・（２３）
ステップＳ１７５において、さらなる正側補正時の自動焦点用コントラスト評価値の作成と評価を行う。ステップＳ１７５は、ステップＳ１７５ａ、ステップＳ１７５ｂ、ステップＳ１７５ｃ、ステップＳ１７５ｄ、およびステップＳ１７５ｅから成る。まず、ステップＳ１７５ａを実行する。
【０１２２】
ステップＳ１７５ａにおいて、下記式（２４）のように、前回の正側補正後のアクチュエータ操作量（アクチュエータ固定部１１４のコイルへの印加電圧）ＶａｃｔｐにｄＶａｃｔを加えたものを正側補正時のアクチュエータ操作量Ｖａｃｔとし、下記式（２５）のように、Ｖａｃｔｐとしてメモリに保存する。次に、ステップＳ１７５ｂ、ステップＳ１７５ｃ、およびステップＳ１７５ｄを実行する。
【０１２３】
Vact=Vactp+dVact      ・・・（２４）
Vactp=Vact      ・・・（２５）
ステップＳ１７５ｂにおいて、アクチュエータを動作させ、ステップＳ１７５ｃにおいて、撮影を実行し、ステップＳ１７５ｄにおいて、自動焦点制御用コントラスト評価値を作成する。ステップ１７２ｂ、ステップＳ１７２ｃ、ステップＳ１７２ｄと同様な動作を行い、下記式（２６）のように、コントラスト評価値Ｃ５を正側補正後の自動焦点用コントラスト評価値Ｃ５ｐとして、システム制御部１３１のメモリに書き込む。次に、ステップＳ１７５ｅを実行する。
【０１２４】
C5p=C5      ・・・（２６）
ステップＳ１７５ｅにおいて、焦点制御用コントラスト評価値を評価する。Ｃ５ｐｐ、Ｃ５ｐを比較し、どれが最大値であるかによって分岐する。
【０１２５】
Ｃ５ｐｐが最大値のとき、以下の動作を行い、次にステップＳ１８１を実行する。図１７（Ａ）は、本発明の実施の形態１に係るカメラモジュールにおいて、さらなる正側補正をしたとき、この正側補正前でのコントラスト評価値が最大となるアクチュエータ操作量とコントラスト評価値の関係を説明する図である。図１７（Ａ）のように、前回の正側補正後のアクチュエータ操作量Vactp-dVactが自動焦点制御用コントラスト値Ｃ５のほぼ極大値を与えるため、下記式（２７）のように、最終的なアクチュエータ操作量ＶａｃｔｆをVactp-dVactとする。
【０１２６】
Vactf=Vactp-dVact（C5ppが最大値のとき）      ・・・（２７）
Ｃ５ｐが最大値のとき、以下の動作を行い、次にステップＳ１７５ａを実行する。図１７（Ｂ）は、本発明の実施の形態１に係るカメラモジュールにおいて、さらなる正側補正をしたとき、この正側補正後でのコントラスト評価値が最大となるアクチュエータ操作量とコントラスト評価値の関係を説明する図である。図１７（Ｂ）のように、今回の正側補正後のアクチュエータ操作量Ｖａｃｔｐ、あるいは、さらに正側に補正した後のアクチュエータ操作量Ｖａｃｔが、自動焦点制御用コントラスト評価値Ｃ５のほぼ極大値を与えるため、さらにアクチュエータ操作量を正側に補正し、極大値を探索する。なお、下記式（２８）のように、Ｃ５ｐを前回値としてＣ５ｐｐとして保存する。
【０１２７】
C5pp=C5p      ・・・（２８）
ステップＳ１７６において、さらなる負側補正時の自動焦点用コントラスト評価値の作成と評価を行う。ステップＳ１７６は、ステップＳ１７６ａ、ステップＳ１７６ｂ、ステップＳ１７６ｃ、ステップＳ１７６ｄ、およびステップＳ１７６ｅから成る。まず、ステップＳ１７６ａを実行する。
【０１２８】
ステップＳ１７６ａにおいて、下記式（２９）のように、前回の負側補正後のアクチュエータ操作量（アクチュエータ固定部１１４のコイルへの印加電圧）ＶａｃｔｐからｄＶａｃｔを減じたものを負側補正時のアクチュエータ操作量Ｖａｃｔとし、下記式（３０）のように、Ｖａｃｔｎとしてメモリに保存する。次に、ステップＳ１７６ｂ、ステップＳ１７６ｃ、およびステップＳ１７６ｄを実行する。
【０１２９】
Vact=Vactn-dVact      ・・・（２９）
Vactn=Vact      ・・・（３０）
ステップＳ１７６ｂにおいて、アクチュエータを動作させ、ステップＳ１７６ｃにおいて、撮影を実行し、ステップＳ１７６ｄにおいて、自動焦点制御用コントラスト評価値を作成する。ステップ１７２ｂ、ステップＳ１７２ｃ、ステップＳ１７２ｄと同様な動作を行い、下記式（３１）のように、コントラスト評価値Ｃ５を負側補正後の自動焦点用コントラスト評価値Ｃ５ｎとして、システム制御部１３１のメモリに書き込む。次に、ステップＳ１７６ｅを実行する。
【０１３０】
C5n=C5      ・・・（３１）
ステップＳ１７６ｅにおいて、焦点制御用コントラスト評価値を評価する。Ｃ５ｎｐ、Ｃ５ｎを比較し、どれが最大値であるかによって分岐する。
【０１３１】
Ｃ５ｎｐが最大値のとき、以下の動作を行い、次にステップＳ１８１を実行する。図１８（Ａ）は、本発明の実施の形態１に係るカメラモジュールにおいて、さらなる負側補正をしたとき、この負側補正前でのコントラスト評価値が最大となるアクチュエータ操作量とコントラスト評価値の関係を説明する図である。図１８（Ａ）のように、前回の負側補正後のアクチュエータ操作量Vactp+dVactが自動焦点制御用コントラスト値Ｃ５のほぼ極大値を与えるため、下記式（３２）のように、最終的なアクチュエータ操作量ＶａｃｔｆをVactp+dVactとする。
【０１３２】
Vactf=Vactp+dVact（C5npが最大値のとき）      ・・・（３２）
Ｃ５ｎが最大値のとき、以下の動作を行い、次にステップＳ１７６ａを実行する。図１８（Ｂ）は、本発明の実施の形態１に係るカメラモジュールにおいて、さらなる負側補正をしたとき、この負側補正後でのコントラスト評価値が最大となるアクチュエータ操作量とコントラスト評価値の関係を説明する図である。図１８（Ｂ）のように、今回の負側補正後のアクチュエータ操作量Ｖａｃｔｎ、あるいは、さらに負側に補正した後のアクチュエータ操作量Ｖａｃｔが、自動焦点制御用コントラスト評価値Ｃ５のほぼ極大値を与えるため、さらにアクチュエータ操作量を負側に補正し、極大値を探索する。なお、下記式（３３）のように、Ｃ５ｎを前回値としてＣ５ｎｐとして保存する。
【０１３３】
C5np=C5n      ・・・（３３）
ステップＳ１８１とステップＳ１８２とステップＳ１８３とステップＳ１８４とステップＳ１８５とにおいて、最終的な撮影と画像出力を行う。
【０１３４】
ステップＳ１８１において、下記式（３４）のように、アクチュエータ操作量Vactとして、上記で得た最終的なアクチュエータ操作量Ｖａｃｔｆを設定する。次に、ステップＳ１８２を実行する。
【０１３５】
Vact=Vactf      ・・・（３４）
Ｓ１８２において、アクチュエータを動作させる。このステップは、ステップＳ１６４と同様に動作させる。次に、ステップＳ１８３を実行する。
【０１３６】
ステップＳ１８３において、撮影を行う。このステップは、ステップＳ１１０と同様に動作させる。次に、ステップＳ１８４を実行する。
【０１３７】
ステップＳ１８４において、各ブロックを、そのブロックに対応する視差値を用いて視差補正したのち、画像合成する。このステップは、ステップＳ１５１と同様に動作させる。次に、ステップＳ１８５を実行する。
【０１３８】
ステップＳ１８５において、画像出力する。このステップは、Ｓ１５２と同様に動作させる。次に、ステップＳ１９０を実行する。
【０１３９】
ステップＳ１９０において、アクチュエータ操作量関数補正部１４９は、コントラスト式自動焦点制御の補正値に基づき操作量関数を補正する。即ち、下記式（３５）のように、操作量関数の係数ｋｂを補正し、システム制御部１３１のメモリに書かれた値を変更する。次回の撮影時はこの値を利用する。次に、ステップＳ１９９を実行する。
【０１４０】
kb=kb+kc・(Vactf-Vact0)    ・・・（３５）
ステップＳ１９９において、処理を終了する。
【０１４１】
以上のように構成し、動作させることにより、以下の効果を有する。
【０１４２】
第１の実施の形態のカメラモジュールでは、ステップＳ１６１、ステップＳ１６２、ステップＳ１６３、ステップＳ１６４のように、自動焦点制御用視差値Δａｆに基づきアクチュエータ位置指令Xactを作成し、アクチュエータ操作量Vactを演算し、アクチュエータ固定部１１４のコイルに電圧を印加しアクチュエータを動作させ、自動焦点制御する。このことにより、１回のアクチュエータ動作で合焦するため、高速に自動焦点制御できる。
【０１４３】
また、第１の実施の形態のカメラモジュールでは、まず、ステップＳ１６１、ステップＳ１６２、ステップＳ１６３、ステップＳ１６４において、視差に基づきアクチュエータを動作させ自動焦点制御を行う。続いて、ステップＳ１７１、ステップＳ１７２、ステップＳ１７３、ステップＳ１７４、ステップＳ１７５、ステップＳ１７６において、コントラストに基づきアクチュエータを動作させ自動焦点制御を行う。視差に基づく自動焦点制御は、１回のアクチュエータ動作で合焦するため、高速である。一方、コントラストに基づく自動焦点制御は、画像から直接合焦を判断するため、アクチュエータのばらつきなどに左右されず、精度がよい。したがって、高速な視差に基づく自動焦点制御により粗調整し、高精度なコントラストに基づく自動焦点制御により微調整するため、高速で高精度に自動焦点制御できる。
【０１４４】
また、第１の実施の形態のカメラモジュールでは、ステップＳ１９０において、コントラストに基づく自動焦点制御において補正されたアクチュエータ操作量（Vactf-Vact0）に基づき、操作量関数の係数ｋｂを補正するような学習を行う。このことにより、アクチュエータのばらつきなどがあっても操作量関数をより正確に補正し、視差に基づく自動焦点制御がより正確になり、次回のコントラストに基づく自動焦点制御による微調整の回数を減少できるため、より高速な自動焦点制御を実現する。
【０１４５】
式（１）のように被写体距離Ａに応じて第１〜第４のレンズ部１１３ａ〜１１３ｄがそれぞれ形成する４つの物体像の相対的位置が変化する。すなわち、被写体距離Ａが小さくなると、視差Δが大きくなる。そのため、距離が異なる複数の被写体を同時に撮影するとき、被写体毎に視差Δが異なる。第１の実施の形態のカメラモジュールでは、ステップＳ１３０において、全画像領域をブロックに分割し、ステップＳ１４０において、ブロック毎の視差を演算し、ステップＳ１８４において、ブロック毎の視差に基づき視差の影響を低減するように画像合成することで視差補正する。これにより、距離が異なる複数の被写体を同時に撮影するときにおいても、適宜それぞれの被写体の視差を補正し、全画像領域で視差の影響が低減されたきれいな画像を得ることができる。
【０１４６】
また、第１の実施の形態のカメラモジュールでは、ステップＳ１２１、ステップＳ１２２において、エッジを検出し、ステップＳ１３０において、ブロックに分割する。このことにより、適切にブロック化を行うことができるため、全画像領域で視差の影響が低減されたきれいな画像を得ることができる。
【０１４７】
なお、第１の実施の形態のカメラモジュールにおいて、演算された視差をそのまま利用したが、適宜リミットしてもよい。レンズ特性よっては被写体距離Ａがある値よりも小さいとき、画像が不鮮明となる。そのため、この値を被写体距離Ａの最小値と定めれば、視差Δの最大値を定められる。この値よりも大きい視差は、誤差であるとして無視してもよい。また、このような場合、視差評価値が２番目に小さい値を視差として採用してもよい。
【０１４８】
また、第１の実施の形態のカメラモジュールでは、視差を第１の撮像信号Ｉ１（主に緑色を示す）と第４の撮像信号Ｉ４（主に緑色を示す）とから演算したが、本発明はこれに限定されない。例えば、紫色の被写体は緑色成分が少なく、青色成分、赤色成分を多く含むため、第１の撮像信号Ｉ１（主に緑色を示す）と第４の撮像信号Ｉ４（主に緑色を示す）とから演算できない場合、第２の撮像信号Ｉ２（主に青色を示す）と第３の撮像信号Ｉ３（主に赤色を示す）とから視差を演算してもよい。また、第１の視差信号Ｉ１（主に緑色を示す）と第４の視差信号Ｉ４（主に緑色を示す）とから視差が演算不能であり、かつ、第２の撮像信号Ｉ２（主に青色を示す）と第３の撮像信号Ｉ３（主に赤色を示す）とから視差が演算不能であれば、視差の影響がないものとみなし、視差なしとすればよい。
【０１４９】
また、第１の実施の形態のカメラモジュールをカメラに搭載するとき、上側に第２の撮像素子１２３ａが、下側に第３の撮像素子１２３ｃが配置されるように、第１〜第４の撮像素子１２３ａ〜１２３ｄを配置することにより、上側が青色に敏感となり、下側が赤色に敏感となるので、風景写真の色再現をより自然にできる。
【０１５０】
また、視差評価値に目立つ極値が２つあるときは、より大きい方の視差を採用してもよい。このようなブロックには、被写体と背景が含まれており、被写体距離と背景距離とが異なるため、極値が２つ現れる。背景距離と比較して被写体距離は小さいため、背景の視差と比較して被写体の視差は大きい。ここで、大きい方の視差を採用すれば、背景の視差の影響は低減できないが、画質に直接影響する被写体の視差の影響を低減できる。
【０１５１】
また、画像出力のタイミングは、上記に限定されず、適宜プレビュー出力をしてもよい。例えば、ステップＳ１１０の撮影後、視差補正なしの画像を出力してもよい。また、ステップＳ１３０のブロック分割において、１つのブロックを分割した際にその結果を反映し、プレビュー画面を更新してもよい。
【０１５２】
また、実施の形態１のカメラモジュールは、Ｓ１６４において視差によりアクチュエータを動作させ、その後Ｓ１７１、Ｓ１７２、Ｓ１７３、Ｓ１７５、Ｓ１８２においてコントラストによりアクチュエータを動作させるが、視差によりのみアクチュエータを動作させてもよい。焦点深度が深いレンズを利用した場合は、レンズと撮像素子の距離には多少の誤差が許容されるため、コントラストによりアクチュエータを動作させ、精度を向上する必要がないからである。
【０１５３】
また、実施の形態１のカメラモジュールは、Ｓ１９０において補正量関数を補正する、すなわちコントラストに基づきアクチュエータを動作させたときの操作量に基づき学習を行うが、このステップが省略されてもよい。実施の形態１のカメラモジュールのアクチュエータは、ボイスコイル型であり、温度変化や姿勢変化によりレンズの移動量が変化するため、学習により精度が著しく向上するが、ステッピングモータを利用した場合には、温度変化や姿勢変化によりレンズ移動量の変化が小さいため、学習を省略してもよい。
【０１５４】
また、視差による焦点制御を行うがアクチュエータを動作させない場合があってもよい。例えば、レンズと撮像素子の相対距離をあらかじめ無限遠を撮影時に合焦する距離とし、視差が小さいときはアクチュエータを動作させる必要がないとみなし、アクチュエータを動作させなくてもよい。
【０１５５】
また、適宜、ブロック分割を繰り返し、ブロックを更新する動作を付加してもよい。例えば、実施の形態１において、Ｓ１８３のおいて撮影を行った後、Ｓ１２１、Ｓ１２２、およびＳ１３０を行いブロックを更新し、その後ステップＳ１８４において視差補正してもよい。
【０１５６】
（実施の形態２）
本発明の実施の形態２に係るカメラモジュールは、複数画像のコントラストを用いてエッジの視差を検出し、この視差に基づき全画像領域の視差を演算し、この視差に基づき視差の影響を低減するように画像合成し視差補正することにより、全画像領域で視差の影響が低減されたきれいな画像を得る。
【０１５７】
本発明の実施の形態２に係るカメラモジュールについて、図面を参照しながら説明する。
【０１５８】
図１９は、本発明の実施の形態２に係るカメラモジュールの構成を示す断面図である。カメラモジュール２０１の回路部２２０のＳＬＳＩ２２５以外は、実施の形態１と同様であり、実施の携帯１と同様の部材には同一の符号を付してそれらについての説明を省略する。
【０１５９】
図２０は、本発明の実施の形態２に係るカメラモジュールのブロック図である。ＳＬＳＩ２２５は、システム制御部２３１、撮像素子駆動部１３２、撮像信号入力部１３３、アクチュエータ操作量出力部１３４、画像処理部２３５、および入出力部１３６を有する。また、回路部２２０は、前述の構成に加えて、アンプ１２６を有する。
【０１６０】
システム制御部２３１は、ＣＰＵ、メモリなどから構成され、ＳＬＳＩ２２５の全体を制御する。
【０１６１】
画像処理部２３５は、ロジック回路、またはＤＳＰ、あるいは両者を含んで構成され、システム制御部２３１のメモリ情報を利用し、各種画像処理を行う。画像処理部２３５は、コントラスト演算部２４１、自動焦点制御部２４２、エッジ視差演算部２４３、全画像領域視差演算部２４４、視差補正部２４５を有する。
【０１６２】
撮像素子駆動部１３２、撮像信号入力部１３３、アクチュエータ操作量出力部１３４、入出力部１３６、およびアンプ１２６は、実施の形態１と同様であり、説明を省略する。
【０１６３】
図２１は、本発明の実施の形態２に係るカメラモジュールの動作を示すフローチャートである。ＳＬＳＩ２２５のシステム制御部２３１により、カメラモジュール２０１は、このフローチャートのとおりに動作する。
【０１６４】
ステップＳ２００において、動作を開始する。例えば、上位ＣＰＵ（図示せず）がシャッターボタンなどが押されたことを検知し、入出力部１３６を介し、カメラモジュールに動作の開始を命令することにより、カメラモジュール２０１は、動作を開始する。次に、ステップＳ２１１を実行する。
【０１６５】
ステップＳ２１１、ステップＳ２１２、ステップＳ２１３、ステップＳ２１４、ステップＳ２１５、ステップＳ２１６、およびステップＳ２１７において、複数回の撮影を行い、コントラスト評価値を演算し、撮像信号とコントラスト評価値を保存する。
【０１６６】
ステップＳ２１１において、下記式（３６）のように、カウンタｉを初期化する。次に、ステップＳ２１２を実行する。
【０１６７】
ｉ＝０    ・・・（３６）
ステップＳ２１２において、アクチュエータ位置指令Xactを作成する。なお、位置指令Xactは、無限遠像の合焦位置を基準とし、被写体に向かう向きの位置の指令を示す。次に、ステップＳ２１３を実行する。
【０１６８】
Xact=kx2・ｉ    ・・・（３７）
ステップＳ２１３において、下記式（３８）のように、アクチュエータ位置指令Xactに基づき制御量関数を用いてアクチュエータ制御量Vactを演算する。次に、ステップＳ２１４を実行する。
【０１６９】
Vact=ka・Xact+kb    ・・・（３８）
ステップＳ２１４において、アクチュエータを動作させる。この動作は、実施の形態１のステップＳ１６２の動作と同様であり、説明を省略する。次に、ステップＳ２１５を実行する。
【０１７０】
ステップＳ２１５において、撮影を行い、撮像信号を保存する。システム制御部２３１の命令により、撮像素子駆動部１３２が電子シャッターや転送を行うための信号を随時出力する。第１の撮像信号入力部１３３ａ、第２の撮像信号入力部１３３ｂ、第３の撮像信号入力部１３３ｃ、および第４の撮像信号入力部１３３ｄは、撮像素子駆動部１３２が発生する信号に同期して、第１の撮像素子１２３ａ、第２の撮像素子１２３ｂ、第３の撮像素子１２３ｃ、および第４の撮像素子１２３ｄが出力する各画像のアナログ信号である撮像信号を入力し、ＣＤＳにより固定ノイズを除去し、ＡＧＣにより自動的に入力ゲインを調整し、ＡＤＣによりアナログ信号をディジタル値に変換し、第１の撮像信号I1(i,x,y)、第２の撮像信号I2(i,x,y)、第３の撮像信号I3(i,x,y)、および第４の撮像信号I4(i,x,y)として、システム制御部１３１の所定アドレスのメモリにディジタル値を書き込む。図２２は、本発明の実施の形態２に係るカメラモジュールの撮像信号の座標を説明する図である。I1(i,x,y)は、ｉ番目に撮影された水平方向にｘ番目、垂直方向にｙ番目の第１の撮像信号であることを示す。入力される画像の縦方向の画素数がＨ、横方向の画素数がＬであり、総画素数はＨ×Ｌであり、ｘは０からＬ−１まで変化し、ｙは０からＨ−１まで変化する。また、iはカウンタであり、i+1回目の撮影の画像であることを示す。第２の撮像信号I2(i,x,y)、第３の撮像信号I3(i,x,y)、第４の撮像信号I4(i,x,y)も同様である。すなわち、I2(i,x,y)、I3(i,x,y)、およびI4(i,x,y)は、それぞれｉ＋１番目に撮影された水平方向にｘ番目、垂直方向にｙ番目の第２の撮像信号、第３の撮像信号、および第４の撮像信号であることを示す。入力される画像の縦方向の画素数がＨ、横方向の画素数がＬであり、それぞれの総画素数はＨ×Ｌであり、ｘは０からＬ−１まで変化し、ｙは０からＨ−１まで変化する。また、iはカウンタであり、i+1回目の撮影の画像であることを示す。次に、ステップＳ１２６を実行する。
【０１７１】
ステップＳ２１６において、コントラスト演算部２４１は、システム制御部２３１のメモリ上のデータを用いて、コントラスト評価値の演算と保存を行う。この演算は、第１の撮像信号Ｉ１についてのみ行う。下記式（３９）のように、ラプラシアンを演算し、さらに下記式（４０）のように空間的にＬＰＦ（ローパスフィルタ）を作用させたものをコントラスト評価値C2(i,x,y)とする。そして、これをシステム制御部２３１のメモリに書き込む。次に、ステップＳ２１７を実行する。
【０１７２】
C1(i,x,y)=I1(i,x-1,y)+I1(i,x+1,y)+I1(i,x,y-1)+I1(i,x,y+1)-4I1(i,x,y)
・・・（３９）
C2(i,x,y)=C1(i,x-1,y-1)+C1(i,x,y-1)+C1(i,x+1,y-1)
+C1(i,x-1,y)+C1(i,x,y)+C1(i,x+1,y)
+C1(i,x-1,y+1)+C1(i,x,y+1)+C1(i,x+1,y+1)  ・・・（４０）
ステップＳ２１７において、撮影枚数をチェックし、分岐する。まず、下記式（４１）のように、カウンタｉを１だけ増加させる。カウンタｉが撮影枚数Ｎｐより小さければ、次にステップＳ２１２を実行する。カウンタｉが撮影枚数Ｎｐに等しければ、次に、ステップＳ２２１を実行する。
【０１７３】
i=i+1    ・・・（４１）
ステップＳ２２１、およびステップＳ２２２において、自動焦点制御部２４２は、システム制御部２３１のメモリ上のデータを用いて、合焦位置で撮影された画像を選択する。
【０１７４】
ステップＳ２２１において、自動焦点用ブロックを作成する。画像領域の中央付近の長方形状のブロックを自動焦点用ブロックとする。なお、このブロックは必ずしも中央付近である必要はなく、カメラを操作するユーザの意思などを反映し（例えば、センサで視点方向を検出し）、ブロックを作成してもよい。次に、ステップＳ２２２を実行する。
【０１７５】
ステップＳ２２２において、合焦位置で撮影された画像を選択する。図９で説明したように、合焦位置で撮影された画像は、コントラストが極大となる。この原理に基づき、合焦位置で撮影された画像を選択する。まず、下記式（４２）のように、各撮影におけるコントラスト評価値C2(i,x,y)の自動焦点用ブロックでの平均を自動焦点制御用コントラスト評価値C3とする。なお、Σは、自動焦点用ブロックでの総和を表す。次に、C3(i)のうちの最大値を与えるｉを、合焦カウンタ値ｉｐとし、合焦位置での画像を示す。次に、ステップＳ２３０を実行する。
【０１７６】
C3(i)=|ΣC2(i,x,y)|/N      ・・・（４２）
ip：C3(i)で最大値を与えるi    ・・・（４３）
ステップＳ２３０において、エッジ視差演算部２４３は、システム制御部２３１のメモリ上のデータを用いて、エッジを検出し、その視差を検出する。実施の形態１のステップＳ１２２と同様に、合焦位置での画像を利用し、コントラスト評価値C2(ip,x,y)の０クロス（値が正から負に変化する点、および値が負から正に変化する点）を検知する。
【０１７７】
次に、エッジ上の点（xe,ye）について、(xe,ye)を中心とする長方形のブロックを設定し、撮影した全ての画像に対し、下記式（４４）のように、コントラスト評価値C2(i,x,y)の絶対値の総和をC4(i,xe,ye)とする。ここで、Σは設定した長方形ブロックでの総和を表す。そして、図９で説明した原理に基づき、下記式（４５）のように、エッジ上の点(xe,ye)での合焦位置を示すipe(xe,ye)をC4(i,xe,ye)の最大値を与えるiとする。ここで、式（９）、式（３７）を利用し、エッジ上の点(xe,ye)での視差Δ(xe,ye)は、下記式（４６）に表される。次に、ステップＳ２４０を実行する。
【０１７８】
C4(i,xe,ye)=Σ|C2(i,x,y)|    ・・・（４４）
ipe(xe,ye)：C4(i,xe,ye)で最大値を与えるi    ・・・（４５）
Δ(xe,ye)=(kx2/kx)ipe(xe,ye)    ・・・（４６）
ステップＳ２４０において、エッジ視差演算部２４４は、システム制御部２３１のメモリ上のデータを用いて、エッジ上の点(xe,ye)での視差Δ(xe,ye)から全画像領域での視差Δ(x,y)を演算する。ほぼ同一のエッジ上の視差Δ(xe,ye)で囲まれた領域の視差Δ(x,y)として、このエッジ上での視差Δ(xe,ye)を採用する。次に、ステップＳ２５０を実行する。
【０１７９】
ステップＳ２５０において、視差補正部２４５は、システム制御部２３１のメモリ上のデータを用いて、全領域での視差Δ(x,y)を用いて視差補正したのち、画像合成する。そして、その結果をシステム制御部２３１のメモリに書き込む。第１の撮像素子１２３ａ、および第４の撮像素子１２３ｄは、主に物体光の緑色成分を受光するため、第１の撮像信号Ｉ１、および第４の撮像信号Ｉ４は、物体光の緑色成分の情報信号である。また、第２の撮像信号１２３ｂは、主に物体光の青色成分を受光するため、第２の撮像信号Ｉ２は、物体光の青色成分の情報信号である。さらに、第３の撮像信号１２３ｃは、主に物体光の赤色成分を受光するため、第３の撮像信号Ｉ３は、物体光の赤色成分の情報信号である。（ｘ、ｙ）における第１の撮像素子１２３ａと第４の撮像素子１２３ｄの視差が（Δ(x,y)、Δ(x,y)）であると予測されたため、下記式（４７）のように、（ｘ、ｙ）における緑色の強度を示すG(x,y)を、第１の撮像信号I1(ip,x,y)、および第４の撮像信号I4(ip,x-Δ(x,y),y-Δ(x,y))の平均とする。また、（ｘ、ｙ）における第１の撮像素子１２３ａと第２の撮像素子１２３ｂの視差が（Δ(x,y)、０）であると予測されたため、下記式（４８）のように、（ｘ、ｙ）における青色の強度を示すB(x,y)を、第２の撮像信号I2(ip,x-Δ(x,y),y)とする。さらに、（ｘ、ｙ）における第１の撮像素子１２３ａと第３の撮像素子１２３ｃの視差が（０、Δ(x,y)）であると予測されたため、下記式（４９）のように、（ｘ、ｙ）における赤色の強度を示すR(x,y)を、第３の撮像信号I3(ip,x,y-Δ(x,y))とする。次に、ステップＳ２６０を実行する。
【０１８０】
G(x,y)=[I1(ip,x,y)+I4(ip,x-Δ(x,y),y-Δ(x,y))]/2    ・・・（４７）
B(x,y)=I2(ip,x-Δ(x,y),y)      ・・・（４８）
R(x,y)=I3(ip,x,y-Δ(x,y))      ・・・（４９）
ステップＳ２６０において、画像出力する。このステップは、実施の形態１のＳ１５２と同様に動作させる。次に、ステップＳ２９９を実行する。
【０１８１】
ステップＳ２９９において、処理を終了する。
【０１８２】
以上のように構成し、動作させることにより、以下の効果を有する。
【０１８３】
複数画像のコントラストを用いてエッジの視差を検出し、この視差に基づき全画像領域の視差を演算し、この視差に基づき視差の影響を低減するように画像合成することで視差補正する。これにより、全画像領域で視差の影響が低減されたきれいな画像を得ることができる。
【０１８４】
なお、実施の形態２のカメラモジュールにおいて、エッジの視差を複数回の撮影のコントラスト評価値を用いて求めたが、本発明はこれに限定されない。例えば、求めるエッジ上の点を中心とするブロックを設定し、実施の形態１で用いた方法でこのブロックの視差を求め、この視差を採用してもよい。また、エッジ上の点の幾つかを合体させ、点ではなく、線として視差を演算してもよい。また、線状のエッジを端点や分岐点において分割し複数の線分とし、その視差を演算してもよい。また、この線分の周りを含むブロックを作成し、実施の形態１で用いた方法でこのブロックの視差を求めてよい。また、コントラスト評価値から求めた視差と実施の形態１で用いた方法で求めた視差を組み合わせてもよい。例えば、平均の視差を用いたり、アクチュエータ操作量関数の係数を学習してもよい。
【０１８５】
また、実施の形態１および実施の形態２において、エッジ情報によりブロックに分割したが、本発明はこれに限定されない。例えば、複数の矩形ブロックに分割してもよい。
【０１８６】
（実施の形態３）
本発明の実施の形態３に係るカメラモジュールは、撮像領域をブロックに分割し、ブロック毎の視差を演算し、ブロック毎に演算したコントラスト値と視差だけ移動した像の相関とに基づき視差を評価する。相関が大きくコントラストが大きいときは、求めた視差が正しいと判断し、視差に基づき通常の視差補正を行う。そして、相関が小さくコントラストが小さいときは求めた視差が低精度である判断し、低コントラスト用の視差補正を行う。さらに、相関が小さくコントラストが大きいときは、複数の距離の被写体が含まれるため求めた視差が正しくないと判断し、ブロックを再分割する。このようにして、全画像領域できれいな画像を得る。
【０１８７】
以下、本発明の実施の形態３に係るカメラモジュールについて、図面を参照しながら説明する。
【０１８８】
図２３は、本発明の実施の形態３に係るカメラモジュールの構成を示す断面図である。カメラモジュール３０１の回路部３２０のＳＬＳＩ３２５以外は、実施の形態１と同様であり、実施の形態１と同様の部材には同一の符号を付してそれらについての説明を省略する。
【０１８９】
図２４は、本発明の実施の形態３に係るカメラモジュールのブロック図である。ＳＬＳＩ２２５は、システム制御部３３１、撮像素子駆動部１３２、撮像信号入力部１３３、アクチュエータ操作量出力部１３４、画像処理部３３５、および入出力部１３６を有する。また、回路部３２０は、前述の構成に加えて、アンプ１２６を有する。
【０１９０】
画像処理部３３５は、ロジック回路、またはＤＳＰ（ディジタル信号プロセッサ：Digital Signal Processor）、あるいはこれらの両者を含んで構成され、システム制御部３３１のメモリ情報を利用し、各種画像処理を行う。画像処理部３３５は、自動焦点制御部３４１、ブロック分割部３４２、視差演算部３４３、相関演算部３４４、コントラスト演算部３４５、ブロック再分割部３４６、通常視差補正部３４７、低コントラスト用視差補正部３４８、および低相関用視差補正部３４９を有する。
【０１９１】
図２５は、本発明の実施の形態３に係るカメラモジュールの動作を示すフローチャートである。ＳＬＳＩ３２５のシステム制御部３３１により、カメラモジュール３０１は、このフローチャートのとおりに動作する。
【０１９２】
ステップＳ３０００において、動作を開始する。例えば、上位ＣＰＵ（図示せず）がシャッターボタン（図示せず）などが押されたことを検知し、入出力部１３６を介し、カメラモジュール３０１に動作の開始を命令することにより、カメラモジュール３０１は、動作を開始する。次に、ステップＳ３１００を実行する。
【０１９３】
ステップＳ３１００において、自動焦点制御部３４１は、自動焦点制御を実行する。図２６は、本発明の実施の形態３に係る自動焦点制御の動作を示すフローチャートである。図２６のフローチャートは、ステップＳ３１００の動作の詳細を示す。
【０１９４】
ステップＳ３１００の自動焦点制御では、まず、ステップＳ３１２１を実行する。
【０１９５】
ステップＳ３１２１において、カウンタｉを０に初期化する。次に、ステップＳ３１２２を実行する。
【０１９６】
ステップＳ３１２２において、アクチュエータの位置指令を演算する。下記式（５０）のように、カウンタｉを用いてアクチュエータの位置指令Xactを演算する。なお、位置指令Xactは、無限遠像の合焦位置を基準とし、被写体に向かう向きが正である位置の指令を示す。ここで、kxは、設定された値である。次に、ステップＳ３１２３を実行する。
【０１９７】
Xact=kx・ｉ      ・・・（５０）
ステップＳ３１２３において、下記式（５１）で示した操作量関数を用いてアクチュエータ操作量（アクチュエータ可動部１１５のコイルへの印加電圧）Vactを演算する。ここで、ka、およびkbは、それぞれ設定された値である。次に、ステップＳ３１２４を実行する。
【０１９８】
Vact=ka・Xact+kb    ・・・（５１）
ステップＳ３１２４において、アクチュエータを動作させる。アクチュエータ操作量出力部１３４は、アンプ１２６を介したのちアクチュエータ可動部１１５のコイル（図示せず）に印加される電圧がVactになるように、出力する電圧信号を変更する。次に、ステップＳ３１２５を実行する。
【０１９９】
ステップＳ３１２５において、撮影を実行する。システム制御部１３１の命令により、撮像素子駆動部１３２が電子シャッターや転送を行うための信号を随時出力する。第１の撮像信号入力部１３３ａ、第２の撮像信号入力部１３３ｂ、第３の撮像信号入力部１３３ｃ、および第４の撮像信号入力部１３３ｄは、撮像素子駆動部１３２が発生する信号に同期して、第１の撮像素子１２３ａ、第２の撮像素子１２３ｂ、第３の撮像素子１２３ｃ、および第４の撮像素子１２３ｄが出力する各画像のアナログ信号である撮像信号を入力し、ＣＤＳにより固定ノイズを除去し、ＡＧＣにより自動的に入力ゲインを調整し、ＡＤＣによりアナログ信号をディジタル値に変換し、第１の撮像信号I1(x,y)、第２の撮像信号I2(x,y)、第３の撮像信号I3(x,y)、および第４の撮像信号I4(x,y)として、システム制御部１３１の所定アドレスのメモリにディジタル値を書き込む。図１２は、本発明の実施の形態１に係るカメラモジュールの撮像信号の座標を説明する図である。I1(x,y)は、水平方向にｘ番目、垂直方向にｙ番目の第１の撮像信号であることを示す。入力される画像の縦方向の画素数がＨ、横方向の画素数がＬであり、総画素数はＨ×Ｌであり、ｘは０からＬ−１まで変化し、ｙは０からＨ−１まで変化する。第２の撮像信号I2(x,y)、第３の撮像信号I3(x,y)、第４の撮像信号I4(x,y)も同様である。すなわち、I2(x,y)、I3(x,y)、およびI4(x,y)は、それぞれ水平方向にｘ番目、垂直方向にｙ番目の第２の撮像信号、第３の撮像信号、および第４の撮像信号であることを示す。入力される画像の縦方向の画素数がＨ、横方向の画素数がＬであり、それぞれの総画素数はＨ×Ｌであり、ｘは０からＬ−１まで変化し、ｙは０からＨ−１まで変化する。次に、ステップＳ３１２６を実行する。
【０２００】
ステップＳ３１２６において、自動焦点制御用ブロックを設定する。画像領域の中心付近の矩形状の領域を自動焦点制御用ブロックとする。なお、このブロックは必ずしも中央付近である必要はなく、カメラを操作するユーザの意思などを反映し（例えば、センサで視点方向を検出し）、ブロックを設定してもよい。なお、単一のブロックではなく複数のブロックを選択し、複数のブロックにおいて後述の自動焦点制御用コントラスト評価値の平均を用いてもよい。また、複数のブロックにおいて後述の自動焦点制御用コントラスト評価値を演算し、後に少なくとも１つのブロックを自動焦点制御用ブロックとして選択してもよい。次に、ステップＳ３１２７を実行する。
【０２０１】
ステップＳ３１２７において、システム制御部３３１のメモリ上のデータを用いて、自動焦点制御用コントラスト評価値を作成する。この演算は、第１の撮像信号Ｉ１の自動焦点制御用ブロックの画素について行う。下記式（５２）のように、ｘ方向とｙ方向の２階微分の和であるラプラシアンの絶対値を演算し、下記式（５３）のように空間的にＬＰＦ（ローパスフィルタ。Low Pass Filter）を作用させ、これを下記式（５４）のように自動焦点制御用ブロック内で平均して自動焦点用コントラスト評価値C3を得る。ここで、Nafは、自動焦点制御用ブロックの画素数である。次に、ステップＳ３１２８を実行する。
【０２０２】
C1(x,y)=|I1(x-1,y)+I1(x+1,y)+I1(x,y-1)+I1(x,y+1)-4I1(x,y)|
・・・（５２）
C2(x,y)=C1(x-1,y-1)+C1(x,y-1)+C1(x+1,y-1)
+C1(x-1,y)+C1(x,y)+C1(x+1,y)
+C1(x-1,y+1)+C1(x,y+1)+C1(x+1,y+1)    ・・・（５３）
C3=ΣC2(x,y)/Naf    ・・・（５４）
ステップＳ３１２８において、下記式（５５）のように、コントラスト評価値C3をC3(i)として、システム制御部３３１のメモリに書き込む。次に、ステップＳ３１２９を実行する。
【０２０３】
C3(i)=C3    ・・・（５５）
ステップＳ３１２９において、下記式（５６）のように、カウンタｉに１を加える。次に、ステップＳ３１３０を実行する。
【０２０４】
ｉ＝ｉ＋１      ・・・（５６）
ステップＳ３１３０において、カウンタｉをしきい値Ｓａｆと比較し、その結果により分岐する。カウンタｉがしきい値Ｓａｆより小さいとき（ステップＳ３１３０の比較結果がＹ）、次に、ステップ３１２２を実行する。一方、カウンタｉがしきい値Ｓａｆ以上のとき（ステップＳ３１３０の比較結果がＮ）、次に、ステップＳ３１４０を実行する。このように、ステップＳ３１２１においてカウンタｉを０に初期化し、ステップＳ３１２９においてカウンタｉに１を加え、ステップＳ３１３０においてカウンタｉで分岐を行うことにより、Ｓ３１２２からＳ３１２８までの処理をＳａｆ回だけ繰り返す。
【０２０５】
ステップＳ３１４０において、コントラスト評価値C3の評価を行う。図９のように、合焦位置では、コントラスト評価値C3が最大となる。下記式（５７）のように、この最大値を与えるカウンタ値ｉを、コントラスト最大値を与えるカウンタ値ｉａｆとする。次に、ステップＳ３１５１を実行する。
【０２０６】
ｉａｆ＝C3の最大値を与えるｉ      ・・・（５７）
ステップＳ３１５１において、アクチュエータの位置指令を演算する。下記式（５８）のように、コントラスト最大値を与えるカウンタ値ｉａｆを用いてアクチュエータの位置指令Xactを演算する。なお、位置指令Xactは、無限遠像の合焦位置を基準とし、被写体に向かう向きが正の位置の指令を示す。次に、ステップＳ３１５２を実行する。
【０２０７】
Xact=kx・ｉａｆ      ・・・（５８）
ステップＳ３１５２において、操作量関数を用いてアクチュエータ操作量（アクチュエータ可動部１１５のコイルへの印加電圧）Vactを演算する。この動作は、ステップＳ３１２３と同様であり、説明を省略する。次に、ステップＳ３１５３を実行する。
【０２０８】
ステップＳ３１５３において、アクチュエータを動作させる。この動作は、ステップＳ３１２４と同様であり、説明を省略する。次に、ステップＳ３１６０を実行する。
【０２０９】
ステップＳ３１６０において、自動焦点制御を終了し、メインルーチンへ戻る。従って、次に、図２５のステップＳ３２００を実行する。
【０２１０】
ステップＳ３２００において、視差補正を実行する。図２７は、本発明の実施の形態１に係る視差補正の動作を示すフローチャートである。図２７のフローチャートは、ステップＳ３２００の動作の詳細を示す。
【０２１１】
ステップＳ３２００の視差補正では、まず、ステップＳ３２２０を実行する。
【０２１２】
ステップＳ３２２０において、撮影を実行する。システム制御部１３１の命令により、撮像素子駆動部１３２が電子シャッターや転送を行うための信号を随時出力する。第１の撮像信号入力部１３３ａ、第２の撮像信号入力部１３３ｂ、第３の撮像信号入力部１３３ｃ、および第４の撮像信号入力部１３３ｄは、撮像素子駆動部１３２が発生する信号に同期して、第１の撮像素子１２３ａ、第２の撮像素子１２３ｂ、第３の撮像素子１２３ｃ、および第４の撮像素子１２３ｄが出力する各画像のアナログ信号である撮像信号を入力し、ＣＤＳにより固定ノイズを除去し、ＡＧＣにより自動的に入力ゲインを調整し、ＡＤＣによりアナログ信号をディジタル値に変換し、第１の撮像信号I1(x,y)、第２の撮像信号I2(x,y)、第３の撮像信号I3(x,y)、および第４の撮像信号I4(x,y)として、システム制御部１３１の所定アドレスのメモリにディジタル値を書き込む。図１２は、本発明の実施の形態１に係るカメラモジュールの撮像信号の座標を説明する図である。I1(x,y)は、水平方向にｘ番目、垂直方向にｙ番目の第１の撮像信号であることを示す。入力される画像の縦方向の画素数がＨ、横方向の画素数がＬであり、総画素数はＨ×Ｌであり、ｘは０からＬ−１まで変化し、ｙは０からＨ−１まで変化する。第２の撮像信号I2(x,y)、第３の撮像信号I3(x,y)、第４の撮像信号I4(x,y)も同様である。すなわち、I2(x,y)、I3(x,y)、およびI4(x,y)は、それぞれ水平方向にｘ番目、垂直方向にｙ番目の第２の撮像信号、第３の撮像信号、および第４の撮像信号であることを示す。入力される画像の縦方向の画素数がＨ、横方向の画素数がＬであり、それぞれの総画素数はＨ×Ｌであり、ｘは０からＬ−１まで変化し、ｙは０からＨ−１まで変化する。次に、ステップＳ３２３０を実行する。
【０２１３】
ステップＳ３２３０において、ブロック分割部３４２は、システム制御部３３１のメモリ上のデータを利用し、ブロック分割を行う。そして、その結果をシステム制御部３３１のメモリに書き込む。図２８は、本発明の実施の形態３に係るカメラモジュールにおいて、ブロック分割を説明する図である。図２８のように、第１の撮像信号Ｉ１を、横方向にＭ個のブロックに、縦方向にＮ個のブロックに、総数でＭ×Ｎ個に分割し、それぞれのブロックをBiで示す。ここで、ｉは０からＭ×Ｎ−１まで変化する。次に、ステップＳ３２４０を実行する。
【０２１４】
ステップＳ３２４０において、視差演算部３４３は、システム制御部３３１のメモリ上のデータを利用し、各ブロック毎の視差値を演算する。そして、システム制御部３３１のメモリに書き込む。まず、各ブロック（B0、B1、…、Bi、…、BMN-1）毎に、視差評価値（R0(k)、R1(k)、…、Ri(k)、…、RMN-1(k)。k=０、１、…、kmax）を演算する。図２９は、本発明の実施の形態３に係るカメラモジュールにおいて、視差評価値の演算領域を説明する図である。Biで示される（Ｉ１としても示されている）領域は、第１の撮像信号Ｉ１からステップＳ３２３０で求められたｉ番目のブロックである。Ｉ４で示される領域は、Biからｘ方向にｋだけ、ｙ方向にｋだけ移動した領域である。そして、それぞれの領域の全画像信号I1(x,y)、I4(x-k,y-k)について、下記式（５９）に示される絶対値差分総和を視差評価値Ri(k)として演算する。
【０２１５】
Ri(k)=ΣΣ|I1(x,y)-I4(x-k,y-k)|    ・・・（５９）
この視差評価値Ri(k)は、ｉ番目のブロックBiの第１の画像信号Ｉ１と、ｘ、ｙ方向にそれぞれ（ｋ、ｋ）だけ離れた領域における第４の画像信号Ｉ４がどれだけ相関があるかを示し、値が小さいほど相関が大きい（よく似ている）ことを示す。図１５のように、視差評価値Ri(k)はｋの値によって変化し、ｋ＝Δiのとき極小値を持つ。これは、第４の画像信号Ｉ４のｉ番目のブロックBiをｘ、ｙ方向にそれぞれ（-Δi、-Δi）だけ移動させて得られる画像信号は、第１の画像信号Ｉ１と最も相関がある（最も似ている）ことを示す。したがって、ｉ番目のブロックBiについての第１の撮像信号Ｉ１と第４の撮像信号Ｉ４とのｘ、ｙ方向の視差が（Δi、Δi）であることが分かる。以下、このΔ(i,j)を、ｉ番目のブロックB(i,j)の視差値Δ(i,j)と呼ぶ。このように、ｉ＝０からｉ＝Ｍ×Ｎ−１までBiの視差値Δiを求める。次に、ステップＳ３２５１を実行する。
【０２１６】
ステップＳ３２５１において、相関演算部３４４は、システム制御部３３１のメモリ上のデータを利用し、各ブロック毎の視差精度評価用相関値を演算する。そして、結果をシステム制御部１３１のメモリに書き込む。図３０は、本発明の実施の形態３に係るカメラモジュールにおいて、視差精度評価用相関値の演算領域を説明する図である。Biで示される（Ｉ１としても示されている）領域は、第１の撮像信号Ｉ１からステップＳ１２３０で求められたｉ番目のブロックである。Ｉ４で示される領域は、Biをｘ方向にΔiだけ、ｙ方向にΔiだけ移動した領域である。そして、それぞれの領域の全画像信号I1(x,y)、I4(x-Δi,y-Δi)について、下記式（６０）のように、視差精度評価用相関値R2iとする。ここで、ΣΣはブロックＢｉ内での総和を示し、avgはブロックＢｉ内での加算平均を示す。次に、ステップＳ３２５２を実行する。
【０２１７】
R2i=ΣΣ｛I1(x,y)-avg(I1(x,y))｝×｛I4(x-Δi,y-Δi)-avg(I4(x-Δi,y-Δi))｝
/√ΣΣ｛I1(x,y)-avg(I1(x,y))｝2
/√ΣΣ｛I4(x-Δi,y-Δi)-avg(I4(x-Δi,y-Δi))｝2  ・・・（６０）
ステップＳ３２５２において、視差精度評価用相関値R2iに基づき各ブロックBiごとの視差補正方式を選択する。下記式（６１）のように、視差精度評価用相関値R2iがしきい値R20より大きいとき、視差補正方式フラッグFiに通常視差補正を示す１を代入し、システム制御部３３１のメモリに保存する。次に、ステップＳ３２６１を実行する。
【０２１８】
Fi=1      (R2i>R20)      ・・・（６１）
ステップＳ３２６１において、コントラスト演算部３４５は、システム制御部３３１のメモリ上のデータを利用し、各ブロック毎の視差精度評価用コントラスト値を演算する。そして、システム制御部３３１のメモリに書き込む。下記式（６２）のように、ｘ方向とｙ方向の２階微分の和であるラプラシアンの絶対値を演算し、下記式（６３）のように空間的にＬＰＦ（ローパスフィルタ。Low Pass Filter）を作用させ、これを下記式（６４）のように各ブロックBi内で平均して視差精度評価用コントラスト評価値C6iを得て、システム制御部３３１のメモリに書き込む。ここで、NBiは、ブロックBiの画素数である。なお、コントラスト評価値は式（６２）から式（６４）に限定されず、コントラストを表現できるものであればよく、例えば、式（６２）において、ラプラシアンの変わりに１次微分を用いたり、ラプラシアンの絶対値ではなくｘ、ｙそれぞれの２階微分の絶対値の和を用いてもよい。また、式（６３）以外の形式のＬＰＦを用いてもよい。さらに、式（６４）の結果に対して、Ｉ１の大きさの平均で除するなどの正規化をしてもよい。次に、ステップＳ３２６２を実行する。
【０２１９】
C4(x,y)=|I1(x-1,y)+I1(x+1,y)+I1(x,y-1)+I1(x,y+1)-4I1(x,y)|
・・・（６２）
C5(x,y)=C4(x-1,y-1)+C4(x,y-1)+C4(x+1,y-1)
+C4(x-1,y)+C4(x,y)+C4(x+1,y)
+C4(x-1,y+1)+C4(x,y+1)+C4(x+1,y+1)    ・・・（６３）
C6i=ΣC5(x,y)/NBi    ・・・（６４）
ステップＳ３２６２において、視差精度評価用コントラスト評価値C6iに基づき各ブロックBiごとの視差補正方式を選択する。ここで、ステップＳ３２６２において、ステップＳ３２５１で視差補正方式フラッグFiに1が代入されないブロックにおいてのみ評価を行う。そのため、ステップＳ３２６１において、視差補正方式フラッグFi=1のブロックBiでは、視差精度評価用コントラスト値C6iの演算を省略してもよい。下記式（６５）のように、視差精度評価用コントラスト評価値C6iがしきい値C60より小さいとき、視差補正方式フラッグFiに低コントラスト用視差補正を示す２を代入し、システム制御部３３１のメモリに保存する。また、下記式（６６）のように、視差精度評価用コントラスト評価値C6iがしきい値C60以上のとき、視差補正方式フラッグFiに低相関用視差補正を示す３を代入し、システム制御部３３１のメモリに保存する。次に、ステップＳ３２７１を実行する。
【０２２０】
Fi=2      (C6i<C60、かつ、Fi=1ではない)      ・・・（６５）
Fi=3      (C6i>=C60、かつ、Fi=1ではない)      ・・・（６６）
ステップＳ３２７１において、視差補正方式フラッグとブロックのサイズの大きさにより、ブロックの再分割が必要か否かを判断し、その判断結果に応じて分岐する。少なくとも１つのブロックの視差補正方式フラッグFiが3であり、かつ、全てのブロックBiの中で最小のブロックの画素数がS0より大きいとき、ブロックの再分割が必要であると判断し（ステップＳ１２７１の判断結果がＹｅｓ）、次に、ステップＳ３２７２を実行する。全てのブロックの視差補正方式フラッグFiが１または2のとき、あるいは、全てのブロックBiの中で最小のブロックの画素数がS0以下のとき、ブロックの再分割が不要と判断し（ステップＳ３２７１の判断結果がＮｏ）、次に、ステップＳ３２８０を実行する。
【０２２１】
ステップＳ３２７２において、ブロック再分割部３４６は、システム制御部３３１のメモリ上のデータを利用し、ブロックを再分割する。図３１（Ａ）は、本発明の実施の形態３に係るカメラモジュールにおいて、ブロックの再分割の前の状態を説明する図であり、図３１（Ｂ）は、本発明の実施の形態３に係るカメラモジュールにおいて、ブロックの再分割の後の状態を説明する図である。図３１において、簡単のため、ブロックが４つであり、視差補正方式フラッグFiに低相関用視差補正を示す３が代入されているブロックB2（図３１（Ａ））を４つのブロックB2、B4、B5、B6に分割する例（図３１（Ｂ））が示されている。ブロックB2を再分割のした後のブロックを示す番号は、分割したブロックの番号（２）と、未使用の番号（４、５、６）をあてはめる。次に、Ｓ３２４０を実行する。
【０２２２】
このように、低相関（Fi=3）であるブロックを再分割し（ステップＳ３２７２）、再分割したブロックに対する視差を演算し（ステップＳ３２４０）、相関を演算し評価し（ステップＳ３２５１、ステップＳ３２５２）、コントラストを演算し評価し（ステップＳ３２６１、ステップＳ３２６２）、ブロックを再分割するかどうか判断し（ステップＳ３２７１）さらに、低相関（Fi=3）であるブロックを再分割する（ステップＳ３２７２）動作を、全てのブロックのうちで最小のブロックのサイズがS0になるまで、あるいは全てのブロックの視差補正方式フラッグFiが１または2になるまで、繰り返す。なお、ステップＳ３２４０からステップＳ３２７２において、ブロックの再分割によりブロックのサイズやブロックの番号が変更されるため、それらのステップの動作が適宜変更される。
【０２２３】
以上の処理により、上記のステップＳ３２７１の判断結果がＮとなった時点（すなわちステップＳ３２８０の実行を開始する時点）では、ステップＳ３２７２において分割されたブロックを含め、全てのブロックＢｉに対する視差補正方式フラッグＦｉには、通常視差補正を示す１、低コントラスト用視差補正を示す２、あるいは低相関用視差補正を示す３が代入されている。ステップＳ３２８０において、通常視差補正部３４７、低コントラスト用視差補正部３４８、低相関用視差補正部３４９は、システム制御部３３１のメモリ上のデータを利用し、各ブロック毎に視差方正方式フラッグＦｉの値に応じたの視差補正を行い画像を合成し、その結果をシステム制御部３３１のメモリに書き込む。
【０２２４】
ステップＳ３２８０において視差補正方式フラッグFi=1のブロックでは、視差精度評価用相関値R2iが大きい。図３２は、本発明の実施の形態３に係るカメラモジュールにおいて、視差精度評価用相関値R2iと視差補正方式フラッグFiの関係を説明する図である。ステップＳ３２５１において求めた視差精度評価用相関値R2iは、ｉ番目のブロックBi内の第１の撮像信号I1(x,y)とｘ方向とｙ方向に視差Δiだけ移動した第４の撮像信号I4(x-Δi,y-Δi)が一致するとき１となり、両者がランダムノイズのときのようにランダムに異なる場合０となり、両者が白黒反転のような関係にあるとき−１となる。このように、両者が似ているとき視差精度評価用相関値R2iが大きく１に近くなり、両者が似ていないとき、視差精度評価用相関値R2iが小さく１から離れる。ここで、図３２のように、しきい値R20を１に近い値（例えば０．９）に設定し、これより視差精度評価用相関値R2iが大きいとき、ｉ番目のブロックBi内の第１の撮像信号I1(x,y)と視差Δiだけ移動した第４の撮像信号I4(x-Δi,y-Δi)が似ていると判断できる。これは、ｉ番目のブロックBiにおいて、視差Δｉの精度が高く、かつ、第１の撮像信号I1(x,y)と視差Δiだけ移動した第４の撮像信号I4(x-Δi,y-Δi)との間で同一に距離の被写体のみが存在することを示す。そのため、第４の撮像信号I4をｘ方向にΔiだけ移動し、ｙ方向にΔiだけ移動することにより、ｉ番目のブロックBiにおける撮像信号を再現できる。さて、第２の撮像信号I2はｘ方向にのみ視差の影響があり、第３の撮像信号I3はｙ方向にのみ視差の影響があるため、第２の撮像信号I2をｘ方向にΔiだけ移動することによりブロックBiにおける青色の撮像信号を再現でき、第３の撮像信号I3をｙ方向にΔiだけ移動することによりブロックBiにおける赤色の撮像信号を再現できる。
【０２２５】
そこで、視差補正方式フラッグFi=1のブロックでは、通常視差補正部３４７は、システム制御部３３１のメモリ上のデータを利用し、ブロックごとに、そのブロックに対応する視差値を用いて視差補正したのち、画像合成する。そして、その結果をシステム制御部３３１のメモリに書き込む。第１の撮像素子１２３ａおよび第４の撮像素子１２３ｄは、主に物体光の緑色成分を受光するため、第１の撮像信号Ｉ１、および第４の撮像信号Ｉ４は、物体光の緑色成分の情報信号である。また、第２の撮像素子１２３ｂは、主に物体光の青色成分を受光するため、第２の撮像信号Ｉ２は、物体光の青色成分の情報信号である。さらに、第３の撮像素子１２３ｃは、主に物体光の赤色成分を受光するため、第３の撮像信号Ｉ３は、物体光の赤色成分の情報信号である。ｉ番目のブロックBiにおいて、第１の撮像素子１２３ａと第４の撮像素子１２３ｄとの視差が（Δｉ、Δｉ）であると予測されたため、下記式（６７）のように、画素座標（ｘ、ｙ）における緑色の強度を示すG(x,y)を、第１の撮像信号I1(x,y)、および第４の撮像信号I4(x-Δi,y-Δi)の平均とする。このように平均をとることにより、ランダムノイズの影響を低減できる。また、第１の撮像素子１２３ａと第２の撮像素子１２３ｂの視差が（Δｉ、０）であると予測されたため、下記式（６８）のように、画素座標（ｘ、ｙ）における青色の強度を示すB(x,y)を、第２の撮像信号I2(x-Δi,y)とする。さらに、第１の撮像素子１２３ａと第３の撮像素子１２３ｃの視差が（０、Δｉ）であると予測されたため、下記式（６９）のように、（ｘ、ｙ）における赤色の強度を示すR(x,y)を、第３の撮像信号I3(x,y-Δi)とする。
【０２２６】
G(x,y)=[I1(x,y)+I4(x-Δi,y-Δi)]/2    ・・・（６７）
B(x,y)=I2(x-Δi,y)      ・・・（６８）
R(x,y)=I3(x,y-Δi)      ・・・（６９）
ステップＳ３２８０において視差補正方式フラッグFi=2のブロックでは、視差精度評価用相関値R2iが小さく、視差精度評価用コントラスト評価値C6iが小さい。図３３は、本発明の実施の形態３に係るカメラモジュールにおいて、視差精度評価用コントラスト評価値と視差補正方式フラッグの関係を説明する図である。ステップＳ３２６１において求めた視差精度評価用コントラスト評価値C6は、ｉ番目のブロックBi内の第１の撮像信号I1(x,y)がはっきりした、すなわち濃淡の変化が大きい画像を示すとき大きくなり、ぼやけた、すなわち濃淡の変化が少ない画像を示すとき０に近くなる。ここで、図３３のように、しきい値C60を設定し、これより視差精度評価用コントラスト評価値が小さいとき、ｉ番目のブロックBi内の第１の撮像信号I1(x,y)の示す画像は濃淡が小さく、変化に乏しい画像である。そのため、信号成分に対するノイズ成分が大きくなり、視差Δiの精度が悪いと判断できる。また、濃淡が小さい画像であるため、再現する画像に多少の誤差が含まれても実用上問題ない。そこで、主に第１の撮像信号I1(x,y)の情報に基づき色を再現する。なお、第２の撮像信号I2(x,y)、第３の撮像信号I3(x,y)、あるいは第４の撮像信号I4(x,y)の情報に基づき色を再現してよい。ただし、赤色、青色と比較し、緑色に最も視覚感度が高いため、物体光の緑色成分の情報を持つ第１の撮像信号I1(x,y)、あるいは第４の撮像信号I4(x,y)に基づくことが好ましい。また、視差Δiの精度が悪いため、第１の撮像信号I1(x,y)、あるいは第４の撮像信号I4(x,y)を単独で用いることが好ましい。
【０２２７】
そこで、視差補正方式フラッグFi=2のブロックでは、低コントラスト用視差補正部３４８は、システム制御部３３１のメモリ上のデータを利用し、ブロックごとに、そのブロックに対応する視差値を用いて視差補正したのち、画像合成する。そして、その結果をシステム制御部３３１のメモリに書き込む。第１の撮像素子１２３ａおよび第４の撮像素子１２３ｄは、主に物体光の緑色成分を受光するため、第１の撮像信号Ｉ１、および第４の撮像信号Ｉ４は、物体光の緑色成分の情報信号である。また、第２の撮像素子１２３ｂは、主に物体光の青色成分を受光するため、第２の撮像信号Ｉ２は、物体光の青色成分の情報信号である。さらに、第３の撮像素子１２３ｃは、主に物体光の赤色成分を受光するため、第３の撮像信号Ｉ３は、物体光の赤色成分の情報信号である。ｉ番目のブロックBiにおいて、第１の撮像素子１２３ａと第４の撮像素子１２３ｄとの視差が（Δｉ、Δｉ）であると予測されたが誤差が大きいと予想されるため、下記式（７０）のように、画素座標（ｘ、ｙ）における緑色の強度を示すG(x,y)を、第１の撮像信号I1(x,y)とする。また、下記式（７１）のように、青色の強度を示すB(x,y)を、第１の撮像信号I1(x,y)に比例係数kBを乗じたものとする。ここで、比例係数kBは、定数とする。なお、比例係数kBはブロックBiごとに変更してもよく、第１の撮像信号I1(x,y)のブロックBiの中央の値に対する第２の撮像信号I2(x,y) のブロックBiの中央の値の比や、第１の撮像信号I1(x,y) のブロックBiの中央の値に対する視差Δiだけｘ方向に移動した第２の撮像信号I2(x-Δi,y) のブロックBiの中央の値の比や、ブロックBiの第１の撮像信号I1(x,y)の平均に対する第２の撮像信号I2(x,y)の平均の比や、ブロックBiの第１の撮像信号I1(x,y)の平均に対する視差Δiだけｘ方向に移動した第２の撮像信号I2(x-Δi,y)の平均の比でもよい。さらに、下記式（７２）のように、赤色の強度を示すR(x,y)を、第１の撮像信号I1(x,y)に比例係数kRを乗じたものとする。ここで、比例係数kRは、定数とする。なお、比例係数kRはブロックBiごとに変更してもよく、第１の撮像信号I1(x,y)のブロックBiの中央の値に対する第３の撮像信号I3(x,y) のブロックBiの中央の値の比や、第１の撮像信号I1(x,y) のブロックBiの中央の値に対する視差Δiだけｙ方向に移動した第３の撮像信号I3(x,y-Δi) のブロックBiの中央の値の比や、ブロックBiの第１の撮像信号I1(x,y)の平均に対する第３の撮像信号I3(x,y)の平均の比や、ブロックBiの第１の撮像信号I1(x,y)の平均に対する視差Δiだけｙ方向に移動した第３の撮像信号I3(x,y-Δi)の平均の比でもよい。なお、濃淡が小さいため、多少の誤差が含まれてもわからないことを考慮すれば、視差補正方式フラッグFi=1のときと同様に、第１の撮像素子１２３ａと第２の撮像素子１２３ｂの視差が（Δｉ、０）であると予測されたため、式（６８）のように、画素座標（ｘ、ｙ）における青色の強度を示すB(x,y)を、第２の撮像信号I2(x-Δi,y)とし、さらに、第１の撮像素子１２３ａと第３の撮像素子１２３ｃの視差が（０、Δｉ）であると予測されたため、式（６９）のように、（ｘ、ｙ）における赤色の強度を示すR(x,y)を、第３の撮像信号I3(x,y-Δi)としてもよい。
【０２２８】
G(x,y)=I1(x,y)      ・・・（７０）
B(x,y)=I1(x,y)*kB    ・・・（７１）
R(x,y)=I1(x,y)*kR    ・・・（７２）
ステップＳ３２８０において視差補正方式フラッグFi=3のブロックでは、視差精度評価用相関値R2iが小さく、視差精度評価用コントラスト評価値C6iが大きい。図３２のように、しきい値R20を１に近い値（例えば０．９）に設定し、これより視差精度評価用相関値R2iが小さいとき、ｉ番目のブロックBi内の第１の撮像信号I1(x,y)と視差Δiだけ移動した第４の撮像信号I4(x-Δi,y-Δi)が似ていないと判断できる。これは、ｉ番目のブロックBiにおいて、異なる被写体距離の被写体が複数含まれ、視差Δiが全ての被写体に対応できないことを示す。
【０２２９】
そこで、視差補正方式フラッグFi=3のブロックでは、低相関用視差補正部３４９は、システム制御部３３１のメモリ上のデータを利用し、ブロックをさらにエッジを用いて複数のブロックに再分割し、視差補正を行い、画像合成する。そして、その結果をシステム制御部３３１のメモリに書き込む。図３４は、本発明の実施の形態３に係る低相関用視差補正部３４９の動作を示すフローチャートである。
【０２３０】
ステップＳ３３１０において、低相関用視差補正部３４９の動作を開始する。次に、ステップＳ３３２０を実行する。
【０２３１】
ステップＳ３３２０において、エッジ検出用コントラスト評価値を演算する。この演算は、第１の撮像信号I1のみについて行う。下記式（７３）のように、ラプラシアンを演算し、さらに下記式（７４）のように空間的にＬＰＦ（ローパスフィルタ）を作用させたものを、エッジ検出用コントラスト評価値C8(x,y)とする。図３５（Ａ）は、本発明の実施の形態３に係るカメラモジュールの低相関用視差補正部３４９のエッジ検出を説明する元画像であり、図３５（Ｂ）は、本発明の実施の形態３に係るカメラモジュールの低相関用視差補正部３４９のエッジ検出を説明するエッジ検出用コントラスト評価値の画像である。式（７３）（７４）により、図３５（Ａ）の元画像のエッジ検出用コントラスト評価値C8(x,y)を計算すると、図３５（Ｂ）のようになる。なお、図３５（Ｂ）は、式（７４）の絶対値が大きい場所を黒で表示している。次に、ステップＳ３３３０を実行する。
【０２３２】
C7(x,y)=I1(x-1,y)+I1(x+1,y)+I1(x,y-1)+I1(x,y+1)-4I1(x,y)
・・・（７３）
C8(x,y)=C7(x-1,y-1)+C7(x,y-1)+C7(x+1,y-1)
+C7(x-1,y)+C7(x,y)+C7(x+1,y)
+C7(x-1,y+1)+C7(x,y+1)+C7(x+1,y+1)      ・・・（７４）
ステップＳ３３３０において、エッジを検出する。図３５（Ｃ）は、本発明の実施の形態３に係るカメラモジュールの低相関用視差補正部３４９のエッジ検出を説明するエッジの画像である。図３５（Ｂ）のエッジ検出用コントラスト評価値C2(x,y)の０クロス（値が正から負に変化する点、および値が負から正に変化する点）を検知することにより、図３５（Ｃ）のようなエッジを検出できる。次に、ステップＳ３３４０を実行する。
【０２３３】
ステップＳ３３４０において、ブロックを再分割する。図３５（Ｃ）のように、エッジに囲まれた領域にＢｉ、Ｂｊ、Ｂｊ＋１、・・・Ｂｊ＋ｎのように番号を付与する。なお、ｊ、ｊ＋１、・・・、ｊ＋ｎはブロックを示す番号として未使用のものである。ここで、図３５において、簡単のため、ブロックＢｉを５つのブロックに再分割する例を示しており、ｎ＝３である。なお、ノイズなどによるエッジの誤検出や消失の防止のために、膨張アルゴリズムや収縮アルゴリズムを用いて、エッジを補正してもよい。次に、ステップＳ３３５０を実行する。
【０２３４】
ステップＳ３３５０において、各ブロック毎の視差値を演算する。この動作は、ステップＳ３２４０と同様であり、説明を省略する。次に、ステップＳ３３６０を実行する。
【０２３５】
ステップＳ３３６０において、視差を補正し、画像を合成する。この動作は、通常視差補正部３４７の動作と同様であり、説明を省略する。次に、ステップＳ３３７０を実行する。
【０２３６】
ステップＳ３６７０において、低相関用視差補正の動作を終了する。
【０２３７】
以上のように、ステップＳ３２８０を動作させ、次に、ステップＳ３２９０を実行する。
【０２３８】
ステップＳ３２９０において、視差補正を終了し、メインルーチンへ戻る。すなわち、次に、図２５に示すステップＳ３８００を実行する。
【０２３９】
ステップＳ３８００において、画像を出力する。入出力部１３６は、システム制御部３３１のメモリ上のデータであるG(x,y),B(x,y),R(x,y)を、上位ＣＰＵ（図示せず）や外部表示装置（図示せず）に出力する。なお、G(x,y),B(x,y),R(x,y)の代わりに、例えば、輝度、色度信号などの出力を出力してもよい。また、ホワイトバランスやγ補正などの画像処理後の値を出力してもよい。さらに、可逆圧縮やJPEG等のような非可逆圧縮をしたデータを出力してもよい。また、それらの複数を出力してもよい。次に、Ｓ３９００を実行する。
【０２４０】
ステップＳ３９００において、動作を終了する。
【０２４１】
以上のように構成し、動作させることにより、以下の効果を有する。
【０２４２】
式（１）のように被写体距離Ａに応じて第１〜第４のレンズ部１１３ａ〜１１３ｄがそれぞれ形成する４つの物体像の相対的位置が変化する。すなわち、被写体距離Ａが小さくなると、視差Δが大きくなる。そのため、距離が異なる複数の被写体を同時に撮影するとき、被写体毎に視差Δが異なる。実施の形態３のカメラモジュールでは、ステップＳ３２３０において、全画像領域をブロックに分割し、ステップＳ３２４０において、ブロック毎の視差を演算し、ステップＳ３２８０において、ブロック毎の視差に基づき視差の影響を低減するように画像合成することで視差補正する。これにより、距離が異なる複数の被写体を同時に撮影するときにおいても、適宜それぞれの被写体の視差を補正し、全画像領域で視差の影響が低減されたきれいな画像を得ることができる。
【０２４３】
実施の形態３のカメラモジュールでは、ステップＳ３２３０において、全画像領域を矩形状のブロックに分割し、ステップＳ３２４０において、ブロック毎の視差を演算し、ステップＳ３２８０において、ブロック毎の視差に基づき視差の影響を低減するように画像合成することで視差補正する。これにより、距離が異なる複数の被写体を同時に撮影するときにおいても、適宜それぞれの被写体の視差を補正し、全画像領域で視差の影響が低減されたきれいな画像を得ることができる。
【０２４４】
また、ステップＳ３２３０において分割したブロック内に被写体距離が異なる複数の物体が含まれることがあり、その場合、物体像毎に視差が異なる。実施の形態３のカメラモジュールでは、ステップＳ３２５１において視差精度評価用相関値R2iを演算し、ステップＳ３２５２において視差精度評価用相関値R2iを評価することにより視差Δiの精度を評価し、ステップＳ３２６１において視差精度評価用コントラスト評価値C6iを演算し、ステップＳ３２６２において視差精度評価用コントラスト評価値C6iを評価することにより視差Δiの精度を評価し、視差補正方式フラッグFiを設定し、視差補正の方式を決定する。これにより、ブロック毎に最適な補正方法で画像を補正できるため、全画像領域で視差の影響がさらに低減されたきれいな画像を得ることができる。
【０２４５】
また、実施の形態３のカメラモジュールでは、ステップＳ３２６１において視差精度評価用コントラスト評価値C6iを演算し、ステップＳ３２６２においてブロック毎に演算した視差Δiがどれだけ精度があるかをブロック毎の視差精度評価用コントラスト評価値C6iコントラストの大小によって判断し、コントラストが大きいとき視差補正方式フラッグFi=1としステップＳ３２８０において通常視差補正を行い、コントラストが小さいとき視差補正方式フラッグFi=2としてステップＳ３２８０において低コントラスト用の視差補正を行う。これにより、ブロック毎に最適な補正方法で画像を補正できるため、全画像領域で視差の影響がさらに低減されたきれいな画像を得ることができる。
【０２４６】
また、実施の形態３のカメラモジュールでは、ステップＳ３２５１において視差精度評価用相関値R2iを演算する。視差精度評価用相関値R2iは、ブロック毎に演算した視差がどれだけ精度があるかを表す視差制度評価値の一つであり、視差だけ移動した像がどれだけ相関があるかを表す値である。ステップＳ３２５２において視差精度評価用相関値R2iが大きいときステップＳ３２８０において通常視差補正を行い、視差精度評価用相関値R2iが小さいときステップＳ３２８０において低相関用視差補正を行う。これにより、ブロック毎に最適な補正方法で画像を補正できるため、全画像領域で視差の影響がさらに低減されたきれいな画像を得ることができる。
【０２４７】
また、実施の形態３のカメラモジュールでは、ステップＳ３２５１において視差精度評価用相関値R2iを演算する。視差精度評価用相関値R2iは、ブロック毎に演算した視差がどれだけ精度があるかを表す視差制度評価値の一つであり、視差だけ移動した像がどれだけ相関があるかを表す値である。視差精度評価用相関値R2iの大きいときステップＳ３２８０において通常視差補正を行い、視差精度評価用相関値R2iが小さいときステップＳ３２７２、およびステップＳ３２８０の低相関用視差補正部３４９においてブロックを再分割し再分割したブロック毎に視差補正を行う。すなわち、低相関と判断されたブロックを再分割する。これにより、ブロック毎に最適な補正方法で画像を補正できるため、全画像領域で視差の影響がさらに低減されたきれいな画像を得ることができる。
【０２４８】
また、実施の形態３のカメラモジュールでは、ステップＳ３２５１において視差精度評価用相関値R2iを演算する。視差精度評価用相関値R2iは、ブロック毎に演算した視差がどれだけ精度があるかを表す視差制度評価値の一つであり、視差だけ移動した像がどれだけ相関があるかを表す値である。ステップＳ３２６１において視差精度評価用コントラスト評価値C6iを演算する。視差精度評価用コントラスト評価値C6iは、演算した視差がどれだけ精度があるかを表す視差制度評価値の一つであり、どれだけコントラストが高いかを表す値である。視差精度評価用相関値R2iが大きくかつ視差精度評価用コントラスト評価値C6iが大きいときステップＳ３２８０において通常視差補正を行い、視差精度評価用相関値R2iが小さくかつ視差精度評価用コントラスト評価値C6iが小さいときステップＳ３２８０において低コントラスト用視差補正を行い、視差精度評価用相関値R2iが小さくかつ視差精度評価用コントラスト評価値C6iが大きいときステップＳ３２７２、およびステップＳ３２８０の低相関用視差補正部３４９においてブロックを再分割し再分割したブロック毎に視差補正を行う。すなわち、低相関でありかつ高コントラストであると判断されたブロックを再分割する。これにより、ブロック毎に最適な補正方法で画像を補正できるため、全画像領域で視差の影響がさらに低減されたきれいな画像を得ることができる。
【０２４９】
なお、実施の形態３において、画像出力のタイミングは、上記に限定されず、適宜プレビュー出力をしてもよい。例えば、実施の形態３において、ステップＳ３１００において自動焦点制御を行う途中で、視差補正なしの画像を出力してもよい。また、ステップＳ３２７１の後、視差補正が可能なブロックのみ視差補正を行い、その他のブロックは視差補正を行わずに、プレビュー画面を更新してもよい。
【０２５０】
また、実施の形態３において、ステップＳ３３２０で式（７４）のようにエッジ検出用コントラスト評価値C8(x,y)を演算し、ステップＳ３３３０で０クロスからエッジを検出したが、これに限定されない。例えば、ブロック内のヒストグラムを作成し、極小値をしきい値として２値化によりブロック分割してもよい。ここで、複数のしきい値を持ってもよい。また、１回微分の絶対値を用いてエッジ検出してもよい。
【０２５１】
（実施の形態４）
本発明の実施の形態４は、インターレース読み込みをする場合に、それぞれのフィールド毎に視差を求め画像合成し、それぞれのフィールド毎の合成画像を合成し最終画像とする。このようにして、各フィールドごとに視差演算を行うことにより、動く被写体の撮影時に各フィールドの撮影時間が異なることにより各フィールドの画像が異なる場合においても、各フィールドごとの視差を正しく求められ、この視差を用いて画像合成することができるため、全画像領域で視差の影響がさらに低減されたきれいな画像を得ることができる。
【０２５２】
以下、本発明の実施の形態４に係るカメラモジュールについて、図面を参照しながら説明する。
【０２５３】
図３６は、本発明の実施の形態４に係るカメラモジュールの構成を示す断面図である。カメラモジュール４０１の回路部４２０のＳＬＳＩ４２５以外は、実施の形態１と同様であり、実施の形態１と同様の部材には同一の符号を付してそれらについての説明を省略する。
【０２５４】
図３７は、本発明の実施の形態４に係るカメラモジュールのブロック図である。ＳＬＳＩ４２５は、システム制御部４３１、撮像素子駆動部１３２、撮像信号入力部１３３、アクチュエータ操作量出力部１３４、画像処理部４３５、および入出力部１３６を有する。また、回路部４２０は、前述の構成に加えて、アンプ１２６を有する。
【０２５５】
画像処理部４３５は、ロジック回路、またはＤＳＰ（ディジタル信号プロセッサ。Digital Signal Processor）、あるいはこれらの両者を含んで構成され、システム制御部４３１のメモリ情報を利用し、各種画像処理を行う。画像処理部４３５は、自動焦点制御部３４１、ブロック分割部３４２、視差演算部３４３、相関演算部３４４、コントラスト演算部３４５、ブロック再分割部３４６、通常視差補正部３４７、低コントラスト用視差補正部３４８、低相関用視差補正部３４９、フレーム画像作成部４５１を有する。
【０２５６】
図３８（Ａ）〜図３８（Ｄ）は、本発明の実施の形態４のカメラモジュールに係るフィールド画像を説明する図である。画像全体は、図３８（Ａ）に示すように、第１のフィールド画像と第２のフィールド画像が交互に配置される。まず、第１のフィールド画像を構成する撮像信号が転送され、次に第２のフィールド画像を構成する撮像信号が転送される。通常の白黒画像では、これらを１ラインずつ交互に配置することにより画像全体を再現する。図３８（Ｂ）のように画像全体（フレーム画像）の幅がＬ、高さがＨであるとき、図３８（Ｃ）および図３８（Ｄ）のように、第１のフィールド画像、および第２のフィールド画像の幅はそれぞれＬであり、高さはＨ／２である。
【０２５７】
図３９は、本発明の実施の形態４に係るカメラモジュールの動作を示すフローチャートであり、図４０は、本発明の実施の形態４に係るカメラモジュールの動作を示すタイムチャートである。ＳＬＳＩ４２５のシステム制御部４３１により、カメラモジュール４０１は、このフローチャートとタイムチャートに示されるとおりに動作される。
【０２５８】
ステップＳ４０００において、動作を開始する。例えば、上位ＣＰＵ（図示せず）がシャッターボタン（図示せず）などが押されたことを検知し、入出力部１３６を介し、カメラモジュール４０１に動作の開始を命令することにより、カメラモジュール４０１は、動作を開始する。次に、ステップＳ４１００を実行する。
【０２５９】
ステップＳ４１００において、自動焦点制御部３４１は、自動焦点制御を実行する。この動作は、実施の形態３のステップＳ３１００と同様であり説明を省略する。ただし、図４０に示すように、第１のフィールドのみを転送し、第１のフィールド画像のみを使用するため、適宜変更が加えられる。そのため、画像全体（第１のフィールド、および第２のフィールド）を転送する場合と比較し、転送に要する時間が略半分になるため、その分だけ自動焦点制御の時間を短縮できる。次に、ステップＳ４２００を実行する。
【０２６０】
ステップＳ４２００において、第１のフィールドの視差補正を実行する。この動作は、実施の形態３のステップＳ３２００と同様であり説明を省略する。ただし、図４０に示すように、第１のフィールドのみを転送し、第１のフィールド画像のみを使用し、第１のフィールドの赤色の強度を示すRf1(x,y)、緑色の強度を示すGf1(x,y)、および青色の強度を示すBf1(x,y)を作成するように、適宜変更が加えられる。次にステップＳ４３００を実行する。
【０２６１】
ステップＳ４３００において、第２のフィールドの視差補正を実行する。この動作は、実施の形態３のステップＳ３２００と同様であり説明を省略する。ただし、図４０に示すように、第２のフィールドのみを転送し、第２のフィールド画像のみを使用し、第２のフィールドの赤色の強度を示すRf2(x,y)、緑色の強度を示すGf2(x,y)、および青色の強度を示すBf2(x,y)を作成するように、適宜変更が加えられる。次にステップＳ４４００を実行する。
【０２６２】
ステップＳ４４００において、フレーム画像（画像全体）を作成する。下記式（７５）のように、第１フレームの赤色の強度を示すRf1(x,y)をフレーム画像の偶数行の赤色の強度を示すR(x,2*y)とし、下記式（７６）のように、第２フレームの赤色の強度を示すRf2(x,y)をフレーム画像の奇数行の赤色の強度を示すR(x,2*y+1)とする。また、下記式（７７）のように、第１フレームの緑色の強度を示すGf1(x,y)をフレーム画像の偶数行の緑色の強度を示すG(x,2*y)とし、下記式（７８）のように、第２フレームの緑色の強度を示すGf2(x,y)をフレーム画像の奇数行の緑色の強度を示すG(x,2*y+1)とする。また、下記式（７９）のように、第１フレームの青色の強度を示すBf1(x,y)をフレーム画像の偶数行の青色の強度を示すB(x,2*y)とし、下記式（８０）のように、第２フレームの青色の強度を示すBf2(x,y)をフレーム画像の奇数行の青色の強度を示すB(x,2*y+1)とする。ここで、ｘは０からＬまで変化させ、ｙは０からＨ／２−１まで変化させる。次に、ステップＳ４８００を実行する。
【０２６３】
R(x,2*y)=Rf1(x,y)      ・・・（７５）
R(x,2*y+1)=Rf2(x,y)      ・・・（７６）
G(x,2*y)=Gf1(x,y)      ・・・（７７）
G(x,2*y+1)=Gf2(x,y)      ・・・（７８）
B(x,2*y)=Bf1(x,y)      ・・・（７９）
B(x,2*y+1)=Bf2(x,y)      ・・・（８０）
ステップＳ４８００において、画像を出力する。この動作は実施の形態３と同様であり、説明を省略する。次に、Ｓ４９００を実行する。
【０２６４】
ステップＳ４９００において、動作を終了する。
【０２６５】
上記のように構成し動作させることにより、実施の形態４のカメラモジュールは、実施の形態３と同様の効果を有する。
【０２６６】
また、実施の形態４のカメラモジュールは、インターレース読み込みをする場合に、ステップＳ４２００において第１のフィールドの視差を求め、求められた視差に基づいて視差補正を行って画像(Rf1,Gf1,Bf1)を作成する。また、ステップＳ４３００において第２のフィールドの視差を求め、求められた視差に基づいて視差補正を行って画像(Rf2,Gf2,Bf2)を作成する。さらに、ステップＳ４４００において、それぞれのフィールド毎の合成画像を合成し、最終画像とする。このようにして、各フィールドごとに視差演算を行うことにより、動く被写体の撮影時に各フィールドの撮影時間が異なることにより各フィールドの画像が異なる場合においても、各フィールドごとの視差を正しく求めることができる。これにより、この視差を用いて画像合成することができるため、全画像領域で視差の影響がさらに低減されたきれいな画像を得ることができる。
【０２６７】
なお、実施の形態４のカメラモジュールはフィールドの数が２であったが、これに限定されない。より多いフィールド（例えば、３フィールド、４フィールド）であってもよい。
【０２６８】
なお、実施の形態４のカメラモジュールは、それぞれのフィールドの画像を作成したが、フレーム画像の領域をあらかじめ用意し、直接代入してもよい。また、それぞれのフィールドの視差情報などを保持し、フィールド画像を作成せず、直接フレーム画像を作成してもよい。
【０２６９】
また、実施の形態４のカメラモジュールは、図４１（Ａ）および図４１（Ｂ）にそれぞれ示すように、第１のカラーフィルタ１２４ａ、第２のカラーフィルタ１２４ｂ、第３のカラーフィルタ１２４ｃ、および第４のカラーフィルタ１２４ｄのうち、Ｘ方向に隣接する２つのカラーフィルタが、主に緑色を透過する分光透過特性を有しても良い。なお、図４１（Ａ）〜図４１（Ｃ）では、それぞれのカラーフィルタが透過する色をＲ，Ｇ，Ｂの記号で図中に示した。図４１（Ａ）または図４１（Ｂ）の構成によれば、撮像素子１２３においてＸ方向に隣接する２つの撮像素子（すなわち、第１の撮像素子１２３ａと第２の撮像素子１２３ｂ、または、第３の撮像素子１２３ｃと第４の撮像素子１２３ｄ）が、物体光における緑色の成分を受光することとなる。
【０２７０】
あるいは、図４１（Ｃ）に示すように、第１のカラーフィルタ１２４ａ、第２のカラーフィルタ１２４ｂ、第３のカラーフィルタ１２４ｃ、および第４のカラーフィルタ１２４ｄを配置し、Ｘ方向に隣接する２つのカラーフィルタ（この例では第２のカラーフィルタ１２４ｂと第３のカラーフィルタ１２４ｃ）が、主に緑色を透過する分光透過特性を有するようにしても良い。なお、図４１（Ｃ）に示すように４つのカラーフィルタが配置されている場合、レンズ１１３における第１のレンズ部１１３ａ、第２のレンズ部１１３ｂ、第３のレンズ部１１３ｃ、および第４のレンズ部１１３ｄは、これらのカラーフィルタの中心に光軸が一致するように配置される。同様に、撮像素子１２３における第１の撮像素子１２３ａ、第２の撮像素子１２３ｂ、第３の撮像素子１２３ｃ、および第４の撮像素子１２３ｄも、レンズ部１１３における各レンズ部の配置に併せて配置される。ここで、第１の撮像信号Ｉ１と第２の撮像信号Ｉ２とから視差を求めるように、適宜変更が加えられる。
【０２７１】
本実施形態のカメラモジュール４０１において、図４１（Ａ）〜図４１（Ｃ）に示すようなカラーフィルタ配置を採用することにより、以下のような利点がある。第１の撮像信号Ｉ１と第２の撮像信号Ｉ２との比較により視差を求めるため、視差の発生する方向がｘ方向のみであり、各フィールド間をまたがることがない。そのため、より正確な視差を求めることができる。
【０２７２】
なお、図４１（Ａ）〜図４１（Ｃ）は、あくまでも好ましいカラーフィルタ配置の例を示したものであって、本発明の実施形態をこれに限定するものではない。例えば、ＢとＲのカラーフィルタの位置が逆であっても良い。
【０２７３】
（実施の形態５）
本発明の実施の形態５は、視差が小さい、すなわち被写体距離が大きいブロックを背景であると認識し、あらかじめ保存された背景画像等の別画像と置き換える。このようにして、視差に基づき補正した画像と別画像とを組み合わせることにより、補正した画像から視差が大きい部分の画像を正しく抽出できるため、きれいにこれらの画像を組み合わせることができる。
【０２７４】
以下、本発明の実施の形態５に係るカメラモジュールについて、図面を参照しながら説明する。
【０２７５】
図４２は、本発明の実施の形態５に係るカメラモジュールの構成を示す断面図である。カメラモジュール５０１の回路部５２０のＳＬＳＩ５２５以外は、実施の形態１と同様であり、実施の形態１と同様の部材には同一の符号を付してそれらについての説明を省略する。
【０２７６】
図４３は、本発明の実施の形態５に係るカメラモジュールのブロック図である。ＳＬＳＩ５２５は、システム制御部５３１、撮像素子駆動部１３２、撮像信号入力部１３３、アクチュエータ操作量出力部１３４、画像処理部５３５、入出力部１３６、および背景画像保存部５５１を有する。また、回路部５２０は、前述の構成に加えて、アンプ１２６を有する。
【０２７７】
画像処理部５３５は、ロジック回路、またはＤＳＰ（ディジタル信号プロセッサ：Digital Signal Processor）、あるいは両者を含んで構成され、システム制御部３３１のメモリ情報を利用し、各種画像処理を行う。画像処理部３３５は、自動焦点制御部３４１、ブロック分割部３４２、視差演算部３４３、相関演算部３４４、コントラスト演算部３４５、ブロック再分割部３４６、通常視差補正部３４７、低コントラスト用視差補正部３４８、低相関用視差補正部３４９、および背景画像置換部５５２を有する。
【０２７８】
背景画像保存部５５１は、ＲＡＭやフラッシュメモリのような書き換え可能なメモリから構成され、画像情報が記憶され、適宜、外部から入出力部１３６、およびシステム制御部５３１を介し、書き換えられる。
【０２７９】
図４４は、本発明の実施の形態５に係るカメラモジュールの動作を示すフローチャートである。ＳＬＳＩ５２５のシステム制御部５３１により、カメラモジュール５０１は、このフローチャートに示されるとおりに動作される。
【０２８０】
ステップＳ５０００において、動作を開始する。例えば、上位ＣＰＵ（図示せず）がシャッターボタン（図示せず）などが押されたことを検知し、入出力部１３６を介し、カメラモジュール５０１に動作の開始を命令することにより、カメラモジュール５０１は、動作を開始する。次に、ステップ５４１００を実行する。
【０２８１】
ステップＳ５１００において、自動焦点制御部３４１は、自動焦点制御を実行する。この動作は、実施の形態３のステップＳ３１００と同様であり説明を省略する。次に、ステップＳ５２００を実行する。
【０２８２】
ステップＳ５２００において、視差補正を実行する。この動作は、実施の形態３のステップＳ３２００と同様であり説明を省略する。次に、ステップＳ５３００を実行する。
【０２８３】
ステップＳ５３００において、背景を置き換える。下記式（８１）（８２）（８３）のように、視差Δiがしきい値Δshよりも大きい画素は、画像の変更を行わない。一方、下記式（８４）（８５）（８６）のように、視差Δiがしきい値Δsh以下の画素は、背景画像保存部５５１に保存された画像（Rback,Gback,Bback)と置き換える。なお、ΔiはステップＳ５２００で求められたブロックBiの視差を示す。次に、ステップＳ５８００を実行する。
【０２８４】
R(x,y)=R(x,y)  (Δi>Δsh)    ・・・（８１）
G(x,y)=G(x,y)  (Δi>Δsh)    ・・・（８２）
B(x,y)=B(x,y)  (Δi>Δsh)    ・・・（８３）
R(x,y)=Rback(x,y)  (Δi≦Δsh)    ・・・（８４）
G(x,y)=Gback(x,y)  (Δi≦Δsh)    ・・・（８５）
B(x,y)=Bback(x,y)  (Δi≦Δsh)    ・・・（８６）
ステップＳ５８００において、画像を出力する。この動作は実施の形態３と同様であり、説明を省略する。次に、Ｓ５９００を実行する。
【０２８５】
ステップＳ５９００において、動作を終了する。
【０２８６】
上記のように構成し動作させることにより、実施の形態５のカメラモジュールは、実施の形態３と同様の効果を有する。
【０２８７】
本発明の実施の形態５は、ステップＳ５３００において、視差Δiが小さい、すなわち被写体距離が大きいブロックBiを背景であると認識し、あらかじめ保存された背景画像(Rback,Gback,Bback)と置き換える。このようにして、視差に基づき補正した画像と別画像を組み合わせることにより、補正した画像から視差が大きい部分の画像を正しく抽出できるため、きれいにこれらの画像を組み合わせることができる。図４５（Ａ）〜図４５（Ｃ）は、本発明の実施の形態５に係るカメラモジュールの背景置換を説明する図である。実施の形態５によれば、例えば、図４５（Ａ）のような背景が山である人物像を撮影した場合、人物像の視差Δiは大きく背景の山の視差Δiは小さい。ここで、視差のしきい値Δshを人物像の視差と山の視差との間に設定すれば、背景の山の画素を背景画像保存部に保存された海の背景画像（図４５（Ｂ）。Rback,Gback,Bback）と置き換えることにより、図４５（Ｃ）に示すように、背景が海である人物像の画像を作成できる。
【０２８８】
（実施の形態６）
本発明にかかる電子機器の一実施形態を図４６（Ａ）および図４６（Ｂ）に示す。図４６（Ａ）および図４６（Ｂ）に示すように、本発明にかかる電子機器の一実施形態としてのカメラ付き携帯電話６００は、スピーカ６０１、アンテナ６０２、液晶ディスプレイ６０３、キー部６０５、マイクロフォン６０６を備えており、ヒンジ部６０４によって折りたたみが可能である。また、携帯電話６００は、図４６（Ｂ）に示すように、液晶ディスプレイ６０３の背面側にレンズモジュール１１０を内蔵し、静止画や動画の撮影が可能である。
【０２８９】
なお、本発明にかかる電子機器は、携帯電話に限らず、車載用カメラや、ディジタルカメラやカメラ付きＰＤＡ等としても実施可能である。
【０２９０】
以上、本発明のいくつかの実施形態を説明したが、これらはあくまでも例示であって、本発明の実施に際しては、以下のとおり、種々の変更が可能である。
【０２９１】
例えば、実施の形態１から実施の形態５のカメラモジュールにおいて、演算された視差をそのまま利用したが、適宜リミットしてもよい。レンズ特性によっては被写体距離Ａがある値よりも小さいとき、画像が不鮮明となる。そのため、この値を被写体距離Ａの最小値と定めれば、視差Δの最大値を定められる。この値よりも大きい視差は、誤差であるとして無視してもよい。また、このような場合、視差評価値が２番目に小さい値を視差として採用してもよい。
【０２９２】
また、実施の形態１から実施の形態５のカメラモジュールでは、視差を第１の撮像信号Ｉ１（主に緑色を示す）と第４の撮像信号Ｉ４（主に緑色を示す）とから演算したが、本発明はこれに限定されない。例えば、紫色の被写体は緑色成分が少なく、青色成分、赤色成分を多く含むため、第１の撮像信号Ｉ１（主に緑色を示す）と第４の撮像信号Ｉ４（主に緑色を示す）とから演算できないことがある。この場合、第２の撮像信号Ｉ２（主に青色を示す）と第３の撮像信号Ｉ３（主に赤色を示す）とから視差を演算してもよい。また、第１の視差信号Ｉ１（主に緑色を示す）と第４の視差信号Ｉ４（主に緑色を示す）とから視差が演算不能であり、かつ、第２の撮像信号Ｉ２（主に青色を示す）と第３の撮像信号Ｉ３（主に赤色を示す）とから視差が演算不能であれば、視差の影響がないものとみなし、視差なしとすればよい。
【０２９３】
また、実施の形態１から実施の形態５のカメラモジュールをカメラに搭載するとき、撮影時に上側になる方に第２の撮像素子１２３ａが、下側になる方に第３の撮像素子１２３ｃが配置されるように、第１〜第４の撮像素子１２３ａ〜１２３ｄを配置することにより、上側が青色に敏感となり、下側が赤色に敏感となるので、風景写真の色再現をより自然にできる。
【０２９４】
また、視差評価値に目立つ極値が２つあるときは、より大きい方の視差を採用してもよい。このようなブロックには、被写体と背景が含まれており、被写体距離と背景距離とが異なるため、極値が２つ現れる。背景距離と比較して被写体距離は小さいため、背景の視差と比較して被写体の視差は大きい。ここで、大きい方の視差を採用すれば、背景の視差の影響は低減できないが、画質に直接影響する被写体の視差の影響を低減できる。
【０２９５】
また、実施の形態１から実施の形態５において、撮像素子１２３は、第１の撮像素子１２３ａ、第２の撮像素子１２３ｂ、第３の撮像素子１２３ｃ、および第４の撮像素子から構成され、撮像信号入力部１３３は、第１の撮像信号入力部１３３ａ、第２の撮像信号入力部１３３ｂ、第３の撮像信号入力部１３３ｃ、および第４の撮像信号入力部１３３ｄから構成された。しかし、撮像素子１２３を１つの撮像素子で構成し、この受光面上の異なる位置に第１〜第４のレンズ部１１３ａ〜１１３ｄによる４つの像を形成しても良い。また、撮像信号入力部１３３が１つの撮像素子１２３からの信号が入力される１つの撮像信号入力部から構成されてもよい。この場合、システム制御部１３１、２３１、３３１、４３１、５３１のメモリ上に置かれたデータから適宜領域を選択し、第１の撮像信号Ｉ１、第２の撮像信号Ｉ２、第３の撮像信号Ｉ３、および第４の撮像信号Ｉ４とすればよい。
【０２９６】
また、実施の形態１から実施の形態５において、視差評価値Ri(k)として式（４）、（５９）のような差分絶対値総和を用いたがこれに限定されない。例えば、差分の二乗値の総和や、第１の撮像信号I1からブロック内の平均を差分したものと第４の撮像信号I4からブロック内の平均を差分したものとの差分の二乗値の総和や、第１の撮像信号I1からブロック内の平均を差分したものと第４の撮像信号I4からブロック内の平均を差分したものとの差分の二乗値の総和や、第１の撮像信号I1からブロック内の平均を差分したものと第４の撮像信号I4からブロック内の平均を差分したものとの差分の二乗値の総和を第１の撮像信号I1からブロック内の平均を差分したものの二乗値の総和の平方根で除し第４の撮像信号I4からブロック内の平均を差分したものの二乗値の総和の平方根で除したものを利用してもよい。
【０２９７】
また、視差評価値Ri(k)として、式（６０）や、第１の撮像信号I1からブロック内の平均を差分したものと第４の撮像信号I4からブロック内の平均を差分したものとの乗算結果の総和を用いてよい。ただし、第１から第５の実施の形態の視差評価値Ri(k)は相関が大きい（似ている）ほど小さくなるため、図１５のように極小値を与えるkが視差Δiを与えたが、式（６０）などを用いたとき相関が大きい（似ている）ほど値が大きくなるため、極大値を与えるkを視差Δiにするなどの適宜変更が必要である。
【０２９８】
また、実施の形態１から実施の形態５において、第１のレンズ部１１３ａ、第２のレンズ部１１３ｂ、第３のレンズ１１３ｃ、および第４のレンズ部１１３ｄの光軸の中心を互いに結んで得られる矩形が正方形になるように配置されたがこれに限定されない。この矩形のｘ方向の長さとｙ方向の長さが異なってもよい。この場合、例えば、ステップＳ１４０、およびステップＳ３２４０において視差を求めるとき、ステップＳ１５１、ステップＳ１８４、ステップＳ２５０、およびステップＳ３２８０において視差補正をするときなど適宜変更を要する。すなわち、ｘ方向とｙ方向とで同一のｋを用いるのではなく、前述の矩形のｘ方向の長さとｙ方向の長さとの比を保つようにｋを変更する。
【０２９９】
また、実施の形態１から実施の形態５において、視差は整数として求めたが、これに限定されない。直線補間などにより、ステップＳ１４０、ステップＳ２４０、およびステップＳ３２４０において視差を小数まで求め、ステップＳ１８４、Ｓ２５０、およびステップＳ３２８０においてそれぞれ直線補間を利用し視差補正してもよい。
【０３００】
また、実施の形態１から実施の形態５において、焦点制御を省略し、アクチュエータを構成に含まず、ブロック分割と視差補正を行ってもよい。非常に焦点深度が深いレンズを利用した場合は、レンズと撮像素子の距離には多少の誤差が大きく許容されるため、アクチュエータを動作させる必要がない。
【０３０１】
また、実施の形態１から実施の形態５において、第１の撮像信号Ｉ１は主に緑色成分を示し、第２の撮像信号Ｉ２は主に青色成分を示し、第３の撮像信号Ｉ３は主に赤色成分を示し、第４の撮像素子１２３ｄは主に緑色成分を示し、第１の撮像信号Ｉ１と第４の撮像信号Ｉ４とを比較し視差を検知し、視差補正を行ったが、これに限定されない。例えば、レンズとカラーフィルタの設計を変更し、第１の撮像信号Ｉ１が主に緑色成分を示し、第２の撮像信号Ｉ２は主に緑色成分を示し、第３の撮像信号は主に青色成分を示し、第４の撮像信号Ｉ４は主に赤色成分を示すように変更してもよい。この場合、下記式（８７）のように視差評価関数を変更し、下記式（８８）（８９）（９０）のように視差補正するなどの変更が必要である。
【０３０２】
Ri(k)=ΣΣ|I1(x,y)-I2(x-k,y)|    ・・・（８７）
G(x,y)=[I1(x,y)+I2(x-Δi,y)]/2    ・・・（８８）
B(x,y)=I3(x,y-Δi)      ・・・（８９）
R(x,y)=I4(x,y-Δi)      ・・・（９０）
また、第１の撮像信号Ｉ１が主に緑色成分を示し、第２の撮像信号Ｉ２は主に青色成分を示し、第３の撮像信号は主に緑色成分を示し、第４の撮像信号Ｉ４は主に赤色成分を示すように変更してもよい。この場合、下記式（９１）のように視差評価関数を変更し、下記式（９２）（９３）（９４）のように視差補正するなどの変更が必要である。
【０３０３】
Ri(k)=ΣΣ|I1(x,y)-I3(x,y-k)|    ・・・（９１）
G(x,y)=[I1(x,y)+I3(x,y-Δi)]/2    ・・・（９２）
B(x,y)=I2(x-Δi,y)      ・・・（９３）
R(x,y)=I4(x-Δi,y-Δi)      ・・・（９４）
また、実施の形態１から実施の形態５において、格子状に４つの撮像領域を設けたがこれに限定されない。例えば、第１の撮像素子、第２の撮像素子、第３の撮像素子、第４の撮像素子が１直線上になるように配置し、第１の撮像信号Ｉ１が主に青色を示し、第２の撮像信号Ｉ２が主に緑色を示し、第３の撮像信号Ｉ３が主に緑色を示し、第４の撮像信号が主に赤色を示すように変更してもよい。この場合、下記式（９５）のように視差評価関数を変更し、下記式（９６）（９７）（９８）のように視差補正するなどの変更が必要である。
【０３０４】
Ri(k)=ΣΣ|I2(x,y)-I3(x-k,y)|    ・・・（９５）
G(x,y)=[I2(x,y)+I3(x-Δi,y)]/2    ・・・（９６）
B(x,y)=I1(x+Δi,y)      ・・・（９７）
R(x,y)=I4(x-2*Δi,y)      ・・・（９８）
また、実施の形態１から実施の形態５において、４つの撮像領域を設けたがこれに限定されない。例えば、３つの撮像領域を持ち、第１の撮像素子、第２の撮像素子、第３の撮像素子が１直線上になるように配置し、第１の撮像信号Ｉ１が主に青色を示し、第２の撮像信号Ｉ２が主に緑色を示し、第３の撮像信号Ｉ３が主に赤色を示すように変更してもよい。この場合、下記式（９９）、（１００）のように視差評価関数を変更し、下記式（１０１）のように緑色成分Gを作成し、式（９９）を用いて求めた視差Δiを利用し下記式（１０２）のように青色成分Bを作成し、式（１００）を用いて求めた視差Δiを利用し下記式（１０３）のように赤色成分Rを作成し、視差補正するなどの変更が必要である。また、式（９９）（１００）の代わりに、式（６０）のような形式を使用してもよい。
【０３０５】
Ri(k)=ΣΣ|I2(x,y)-I1(x+k,y)|    ・・・（９９）
Ri(k)=ΣΣ|I2(x,y)-I3(x-k,y)|    ・・・（１００）
G(x,y)=I2(x,y)    ・・・（１０１）
B(x,y)=I1(x+Δi,y)      ・・・（１０２）
R(x,y)=I3(x-*Δi,y)      ・・・（１０３）
また、３つの撮像領域を持ち、第１の撮像素子の右に（ｘ軸の正の位置に）第２の撮像素子が配置され、第１の撮像素子の下に（ｙ軸の正の位置に）第３の撮像素子を配置し、第１の撮像信号Ｉ１が主に緑色を示し、第２の撮像信号Ｉ２が主に青色を示し、第３の撮像信号Ｉ３が主に赤色を示すように変更してもよい。この場合、下記式（１０４）、（１０５）のように視差評価関数を変更し、下記式（１０６）のように緑色成分Gを作成し、式（１０４）を用いて求めた視差Δiを利用し下記式（１０７）のように青色成分Bを作成し、式（１０５）を用いて求めた視差Δiを利用し下記式（１０８）のように赤色成分Rを作成し、視差補正するなどの変更が必要である。また、式（１０４）（１０５）の代わりに、式（６０）のような形式を使用してもよい。
【０３０６】
Ri(k)=ΣΣ|I1(x,y)-I1(x-k,y)|      ・・・（１０４）
Ri(k)=ΣΣ|I1(x,y)-I3(x,y-k)|      ・・・（１０５）
G(x,y)=I1(x,y)      ・・・（１０６）
B(x,y)=I2(x-Δi,y)      ・・・（１０７）
R(x,y)=I3(x,y-Δi)      ・・・（１０８）
実施の形態１、実施の形態３から実施の形態５のカメラモジュールにおいて、ブロックにおける視差Δiを用いて視差補正を行ったが、ブロック毎の視差Δiを用いて各画素の視差Δ(x,y)を定め、この各画素の視差Δ(x,y)を用いて視差補正を行ってもよい。
【産業上の利用可能性】
【０３０７】
本発明のカメラモジュールは、小型化、薄型化が可能な自動焦点機能を有するカメラモジュールであるため、カメラ機能を備えた携帯電話、デジタルスチルカメラ、車載用カメラ、および監視用カメラなどに有用である。
【図１】
0004322921.tif 000002
【図２】
0004322921.tif 000003
【図３】
0004322921.tif 000004
【図４】
0004322921.tif 000005
【図５】
0004322921.tif 000006
【図６】
0004322921.tif 000007
【図７】
0004322921.tif 000008
【図８】
0004322921.tif 000009
【図９】
0004322921.tif 000010
【図１０】
0004322921.tif 000011
【図１１】
0004322921.tif 000012
【図１２】
0004322921.tif 000013
【図１３】
0004322921.tif 000014
【図１４】
0004322921.tif 000015
【図１５】
0004322921.tif 000016
【図１６】
0004322921.tif 000017
【図１７】
0004322921.tif 000018
【図１８】
0004322921.tif 000019
【図１９】
0004322921.tif 000020
【図２０】
0004322921.tif 000021
【図２１】
0004322921.tif 000022
【図２２】
0004322921.tif 000023
【図２３】
0004322921.tif 000024
【図２４】
0004322921.tif 000025
【図２５】
0004322921.tif 000026
【図２６】
0004322921.tif 000027
【図２７】
0004322921.tif 000028
【図２８】
0004322921.tif 000029
【図２９】
0004322921.tif 000030
【図３０】
0004322921.tif 000031
【図３１】
0004322921.tif 000032
【図３２】
0004322921.tif 000033
【図３３】
0004322921.tif 000034
【図３４】
0004322921.tif 000035
【図３５】
0004322921.tif 000036
【図３６】
0004322921.tif 000037
【図３７】
0004322921.tif 000038
【図３８】
0004322921.tif 000039
【図３９】
0004322921.tif 000040
【図４０】
0004322921.tif 000041
【図４１】
0004322921.tif 000042
【図４２】
0004322921.tif 000043
【図４３】
0004322921.tif 000044
【図４４】
0004322921.tif 000045
【図４５】
0004322921.tif 000046
【図４６】
0004322921.tif 000047
【図４７】
0004322921.tif 000048
【図４８】
0004322921.tif 000049