(57)【特許請求の範囲】
【請求項１】
画像を生成するイメージセンサと、光学系とを有する撮像部における前記イメージセンサ上に設定される測定エリア内に含まれる複数のシフト量算出エリアを特定し、前記複数のシフト量算出エリアのそれぞれは、当該シフト量算出エリアに写る被写体を表す第１のサブ画像と第２のサブ画像であって、受光面の片側がマスクされた第１の画素列により撮像された第１のサブ画像と、受光面の他の片側がマスクされ前記第１の画素列と平行な第２の画素列により撮像された第２のサブ画像と、を生成し、前記第１のサブ画像上の前記被写体と前記第２のサブ画像上の前記被写体間のシフト量が、前記光学系による前記被写体についての合焦位置と前記イメージセンサ間の距離に応じて変化するシフト量算出エリア特定部と、
前記複数のシフト量算出エリアのそれぞれについて、前記第１のサブ画像に対して前記第２のサブ画像を前記画素列の方向にシフトさせながら、前記第１のサブ画像と前記第２のサブ画像の対応画素間の画素値の差分絶対値の和を算出し、前記差分絶対値の和を最小にする前記第１のサブ画像に対する前記第２のサブ画像の局所シフト量と、各シフト量において前記差分絶対値の和が最小となる確率に基づいて得られる前記局所シフト量の確率分布の分散と前記確率分布の平均値の変化の割合を表す特徴量とを算出する特徴量算出部と、
前記複数のシフト量算出エリアのそれぞれについて、前記局所シフト量及び前記特徴量に基づいて、前記確率分布を推定する確率分布推定部と、
前記複数のシフト量算出エリアのそれぞれの前記確率分布を加算することで、前記測定エリアについての前記局所シフト量の確からしさの分布を求める合成部と、
前記分布の平均値と標準偏差に基づいて、前記光学系による合焦位置と前記イメージセンサ間の距離を表す代表値を算出する代表値算出部と、
を有する合焦位置検出装置。
【請求項２】
前記合成部は、前記複数のシフト量算出エリアのそれぞれについて、前記局所シフト量の確率分布の平均値に対応するシフト量に、当該確率分布の分散が小さいほど大きくなる重みを設定し、前記複数のシフト量算出エリアのそれぞれの前記重みを前記シフト量ごとに累積加算して平滑化フィルタを適用することで前記分布を求める、請求項１に記載の合焦位置検出装置。
【請求項３】
前記代表値算出部は、前記複数のシフト量算出エリアのうち、前記分布において前記確からしさが最大となるシフト量を含む所定範囲内に前記確率分布の平均に相当するシフト量が含まれる前記シフト量算出エリアを選択し、前記選択した前記シフト量算出エリアについての前記確率分布の和の平均値に対応するシフト量を前記代表値として算出する、請求項１又は２に記載の合焦位置検出装置。
【請求項４】
画像を生成するイメージセンサと、光学系とを有する撮像部における前記イメージセンサ上に設定される測定エリア内に含まれる複数のシフト量算出エリアを特定し、前記複数のシフト量算出エリアのそれぞれは、当該シフト量算出エリアに写る被写体を表す第１のサブ画像と第２のサブ画像であって、受光面の片側がマスクされた第１の画素列により撮像された第１のサブ画像と、受光面の他の片側がマスクされ前記第１の画素列と平行な第２の画素列により撮像された第２のサブ画像と、を生成し、前記第１のサブ画像上の前記被写体と前記第２のサブ画像上の前記被写体間のシフト量が、前記光学系による前記被写体についての合焦位置と前記イメージセンサ間の距離に応じて変化し、
前記複数のシフト量算出エリアのそれぞれについて、前記第１のサブ画像に対して前記第２のサブ画像を前記画素列の方向にシフトさせながら、前記第１のサブ画像と前記第２のサブ画像の対応画素間の画素値の差分絶対値の和を算出し、前記差分絶対値の和を最小にする前記第１のサブ画像に対する前記第２のサブ画像の局所シフト量と、各シフト量において前記差分絶対値の和が最小となる確率に基づいて得られる前記局所シフト量の確率分布の分散と前記確率分布の平均値の変化の割合を表す特徴量とを算出し、
前記複数のシフト量算出エリアのそれぞれについて、前記局所シフト量及び前記特徴量に基づいて、前記確率分布を推定し、
前記複数のシフト量算出エリアのそれぞれの前記確率分布を加算することで、前記測定エリアについての前記局所シフト量の確からしさの分布を求め、
前記分布の平均値と標準偏差に基づいて、前記光学系による合焦位置と前記イメージセンサ間の距離を表す代表値を算出する、
ことを含む合焦位置検出方法。
【請求項５】
画像を生成するイメージセンサと、光学系とを有する撮像部における前記イメージセンサ上に設定される測定エリア内に含まれる複数のシフト量算出エリアを特定し、前記複数のシフト量算出エリアのそれぞれは、当該シフト量算出エリアに写る被写体を表す第１のサブ画像と第２のサブ画像であって、受光面の片側がマスクされた第１の画素列により撮像された第１のサブ画像と、受光面の他の片側がマスクされ前記第１の画素列と平行な第２の画素列により撮像された第２のサブ画像と、を生成し、前記第１のサブ画像上の前記被写体と前記第２のサブ画像上の前記被写体間のシフト量が、前記光学系による前記被写体についての合焦位置と前記イメージセンサ間の距離に応じて変化し、
前記複数のシフト量算出エリアのそれぞれについて、前記第１のサブ画像に対して前記第２のサブ画像を前記画素列の方向にシフトさせながら、前記第１のサブ画像と前記第２のサブ画像の対応画素間の画素値の差分絶対値の和を算出し、前記差分絶対値の和を最小にする前記第１のサブ画像に対する前記第２のサブ画像の局所シフト量と、各シフト量において前記差分絶対値の和が最小となる確率に基づいて得られる前記局所シフト量の確率分布の分散と前記確率分布の平均値の変化の割合を表す特徴量とを算出し、
前記複数のシフト量算出エリアのそれぞれについて、前記局所シフト量及び前記特徴量に基づいて、前記確率分布を推定し、
前記複数のシフト量算出エリアのそれぞれの前記確率分布を加算することで、前記測定エリアについての前記局所シフト量の確からしさの分布を求め、
前記分布の平均値と標準偏差に基づいて、前記光学系による合焦位置と前記イメージセンサ間の距離を表す代表値を算出する、
ことを含むプロセッサに実行させるための合焦位置検出用コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、被写体を撮影して得られた画像に基づいてその被写体についての合焦位置を検出する合焦位置検出装置、合焦位置検出方法及び合焦位置検出用コンピュータプログラムに関する。
【背景技術】
【０００２】
従来より、デジタルカメラあるいはビデオカメラなど、被写体を撮影する装置には、シャープな被写体の画像を生成するために、被写体までの距離を自動的に測定し、その測定結果に基づいて被写体に合焦する技術（いわゆるオートフォーカス）が実装されている。
【０００３】
そのようなオートフォーカス(Auto Focus, AF)方式のうち、撮像光学系を通った光束を利用する方式の一例として、位相差検出方式が知られている。位相差検出方式では、被写体から発して撮像光学系を通った光束が二つに分割され、その二つの光束のそれぞれによるイメージセンサ上の被写体の像の位置間の間隔により、合焦位置からのイメージセンサの位置ずれ量が求められる。そしてその二つの光束のそれぞれによる、被写体の像の位置が一致するように、撮像光学系の焦点位置が調節される。この位相差検出方式では、例えば、イメージセンサ上に、位相差検出方式による合焦位置の検出が可能なエリアが設定される。そしてそのエリアに含まれる、一列に並んだ複数の固体撮像素子のそれぞれについて、その固体撮像素子の前面に設けられる集光レンズのうち、固体撮像素子の整列方向と直交する半分がマスクされることで、一方の光束に相当する被写体の像が得られる。また、そのエリアに含まれる、他の一列に並んだ複数の固体撮像素子のそれぞれについて、その固体撮像素子の前面に設けられる集光レンズのうち、固体撮像素子の整列方向と直交する他の半分がマスクされることで、他方の光束に相当する被写体の像が得られる。
【０００４】
そのようなエリアをイメージセンサ上に複数設けることで、イメージセンサの複数の箇所で位相差検出方式によりAFを行えるようにする技術が提案されている（例えば、特許文献１を参照）。特許文献１に開示された技術では、イメージセンサ上の位相差検出方式による焦点検出が行えない着目エリアの焦点位置を検出する場合に、着目エリアの近傍にある、位相差検出方式による焦点検出可能な複数のエリアのそれぞれでデフォーカス量が求められる。そして求められたデフォーカス量の平均値が着目エリアの推定デフォーカス量として用いられる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−２４９４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、各エリアで得られた被写体の像に多くのノイズが含まれることがある。このような場合、複数のエリアのデフォーカス量、すなわち、合焦位置からのイメージセンサの位置ずれ量の平均値を着目エリアの推定デフォーカス量とすると、ノイズの影響により、推定デフォーカス量の誤差が大きくなってしまうおそれがある。また、エリアごとに、そのエリアに写っている被写体が異なり、エリアごとに撮像光学系から被写体までの距離が異なることがある。このような場合、推定デフォーカス量は、何れの被写体についてのデフォーカス量とも異なってしまい、推定デフォーカス量に基づいて撮像光学系の焦点位置が調節されても、カメラが何れの被写体にも合焦しないおそれがった。
【０００７】
そこで本明細書は、位相差検出方式を用いて合焦位置を検出する際の検出精度を向上できる合焦位置検出装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
一つの実施形態によれば、合焦位置検出装置が提供される。この合焦位置検出装置は、画像を生成するイメージセンサと、光学系とを有する撮像部におけるイメージセンサ上に設定される測定エリア内に含まれる複数のシフト量算出エリアを特定し、複数のシフト量算出エリアのそれぞれは、そのシフト量算出エリアに写る被写体を表す第１のサブ画像と第２のサブ画像を生成し、第１のサブ画像上の被写体と第２のサブ画像上の被写体間のシフト量が、光学系による被写体の結像位置とイメージセンサ間の距離に応じて変化するシフト量算出エリア特定部と、複数のシフト量算出エリアのそれぞれについて、第１のサブ画像上の被写体と第２のサブ画像上の被写体とが最も一致するときの第１のサブ画像に対する第２のサブ画像の局所シフト量と、局所シフト量の確からしさを表す確率分布を表す特徴量とを算出する特徴量算出部と、複数のシフト量算出エリアのそれぞれについて、局所シフト量及び特徴量に基づいて、局所シフト量の確からしさを表す確率分布を推定する確率分布推定部と、複数のシフト量算出エリアのそれぞれの局所シフト量の確からしさを表す確率分布を合成することで、測定エリアについての局所シフト量の確からしさの分布を求める合成部と、その分布に基づいて、測定エリアに写る被写体についての光学系の結像位置とイメージセンサ間の距離を表す代表値を算出する代表値算出部とを有する。
【０００９】
本発明の目的及び利点は、請求項において特に指摘されたエレメント及び組み合わせにより実現され、かつ達成される。
上記の一般的な記述及び下記の詳細な記述の何れも、例示的かつ説明的なものであり、請求項のように、本発明を制限するものではないことを理解されたい。
【発明の効果】
【００１０】
ここに開示される合焦位置検出装置は、位相差検出方式を用いて合焦位置を検出する際の検出精度を向上できる。
【図面の簡単な説明】
【００１１】
【図１】合焦位置検出装置が実装された撮像装置の一例であるデジタルカメラの概略構成図である。
【図２】イメージセンサ上に設けられるＡＦエリアの一例を示す図である。
【図３】図２に示されるＡＦエリア内の二つの画素列によりそれぞれ生成されるサブ画像の一例を示す図である。
【図４】合焦位置の検出に関する制御部の機能ブロック図である。
【図５】測定エリアとシフト量算出エリアの関係の一例を示す図である。
【図６】（ａ）及び（ｂ）は、それぞれ、等角直線フィッティングの原理を示す図である。
【図７】（ａ）及び（ｂ）は、左画像及び右画像にガウスノイズが重畳された場合のSADの平均値と標準偏差の一例を表す図である。
【図８】（ａ）及び（ｂ）は、それぞれ、図７（ａ）及び図７（ｂ）に示されたガウスノイズが左画像及び右画像に重畳された場合のシフト量とSADの関係から求めた局所シフト量の確率のグラフを表す図である。
【図９】局所シフト量の確率分布推定の処理の概要を示す図である。
【図１０】複数のSAD[s]の値に対する直線近似により得られるシフト量とSADとの関係式を示す図である。
【図１１】測定エリア内の各シフト量算出エリアの局所シフト量の確率分布と合成されるヒストグラムの一例を示す図である。
【図１２】測定エリア内の各シフト量算出エリアの局所シフト量の確率分布と合成されるヒストグラムの他の一例を示す図である。
【図１３】測定エリア全体の局所シフト量の確からしさの分布を表すヒストグラムと、代表シフト量及び推定標準偏差の関係の一例を示す図である。
【図１４】合焦位置検出処理の動作フローチャートである。
【発明を実施するための形態】
【００１２】
図を参照しつつ、一つの実施形態による合焦位置検出装置について説明する。この合焦位置検出装置は、イメージセンサ上の合焦位置の測定対象エリアに含まれる、位相差検出方式による合焦位置の検出が可能な複数のエリアのそれぞれにおける二つの被写体の像間のシフト量に基づいて、測定対象エリア全体についての合焦位置を求める。その際、この合焦位置検出装置は、各エリアについて、シフト量の確からしさを表す確率分布を推定し、各エリアの確率分布の合成結果に基づいて測定対象エリア全体の合焦位置を求める。
【００１３】
なお、以下では、説明の便宜上、位相差検出方式による合焦位置の検出が可能なエリアをＡＦエリアと呼ぶ。
【００１４】
図１は、合焦位置検出装置が実装された撮像装置の一例であるデジタルカメラの概略構成図である。図１に示すように、デジタルカメラ１は、撮像部２と、操作部３と、表示部４と、記憶部５と、制御部６とを有する。さらにデジタルカメラ１は、デジタルカメラ１をコンピュータ、またはテレビといった他の機器と接続するために、ユニバーサルシリアルバスなどのシリアルバス規格に従ったインターフェース回路（図示せず）を有していてもよい。また制御部６と、デジタルカメラ１のその他の各部とは、例えば、バスにより接続されている。なお、合焦位置検出装置は、撮像部を有する様々な装置に適用可能である。
【００１５】
撮像部２は、イメージセンサ２１と、撮像光学系２２と、アクチュエータ２３とを有する。イメージセンサ２１は、２次元状に配置された固体撮像素子のアレイを有し、画像を生成する。また、各固体撮像素子の前面には、例えば、集光用のマイクロレンズが設けられる。そしてイメージセンサ２１には、複数のＡＦエリアが設けられる。撮像光学系２２は、イメージセンサ２１の前面側に設けられ、例えば、光軸に沿って配列された１以上のレンズを有し、合焦された状態でイメージセンサ２１上に被写体の像を結像する。アクチュエータ２３は、例えば、ステッピングモータを有し、制御部６からの制御信号に従った回転量だけステッピングモータを回転させることで、撮像光学系２２の一部のレンズまたは全体を光軸に沿って移動させることで合焦位置を調節する。そして撮像部２は、被写体の像が写った画像を生成する度に、その生成した画像を制御部６へ送信する。
【００１６】
図２は、イメージセンサ２１上に設けられる、ＡＦエリアの一例を示す図である。この例では、イメージセンサ２１が画像を生成する範囲である撮像範囲２００のなかに、水平方向にｍ個、垂直方向にｎ個（ただし、ｍ≧１、ｎ≧１）のＡＦエリア２０１−１〜２０１−(mxn)が設けられる。各ＡＦエリアは、例えば、マイクロレンズの後方にある、受光面の左半分がマスクされた固体撮像素子２０２が水平方向に複数並んだ画素列２０３と、マイクロレンズの後方にある、受光面の右半分がマスクされた固体撮像素子２０４が水平方向に複数並んだ画素列２０５とを有する。
【００１７】
図３は、図２に示されるＡＦエリア内の二つの画素列によりそれぞれ生成されるサブ画像の一例を示す図である。以下では、画素列２０３により生成されるサブ画像を、便宜上、左画像３０１と呼び、画素列２０５により生成されるサブ画像を、便宜上、右画像３０２と呼ぶ。左画像３０１と右画像３０２とは、ＡＦエリアに写っている被写体についての撮像光学系２２による合焦位置３１０がイメージセンサ２１上にある場合、略一致する。しかし、撮像光学系２２による合焦位置３１０がイメージセンサ２１よりも被写体側、すなわち前側にある場合、左画像３０１は、その被写体について合焦されている場合よりも右側にずれる。一方、右画像３０２は、その被写体について合焦されている場合よりも左側にずれる。逆に、撮像光学系２２による合焦位置３１０がイメージセンサ２１よりも被写体から離れた側、すなわち後側にある場合、左画像３０１は、その被写体について合焦されている場合よりも左側にずれる。一方、右画像３０２は、その被写体について合焦されている場合よりも右側にずれる。したがって、左画像３０１と右画像３０２の一方を、他方に対して水平方向にシフトさせて一致度合を調べると、最も一致するときのシフト量が、合焦位置からのイメージセンサ２１の位置ずれ量を表している。そこで、そのシフト量が0となるように撮像光学系２２を移動させることで、制御部６は、撮像部２を、被写体に対して合焦させることができる。
【００１８】
操作部３は、例えば、デジタルカメラ１をユーザが操作するための各種の操作ボタンまたはダイヤルスイッチを有する。そして操作部３は、ユーザの操作に応じて、撮影または合焦の開始などの制御信号またはシャッター速度、絞り径などを設定するための設定信号を制御部６へ送信する。
【００１９】
また操作部３は、ユーザの操作にしたがって、撮影範囲内で撮像部２の合焦位置を検出するエリア（以下、便宜上、測定エリアと呼ぶ）を表す情報を制御部６へ送信する。測定エリアは、例えば、撮影範囲の中央部、左上、右下、撮影範囲全体など、予め複数設定され、ユーザは、操作部３を操作することで何れかの測定エリアを選択する。あるいは、測定エリアは、撮影範囲内の任意の位置に設定されてもよい。
【００２０】
表示部４は、例えば、液晶ディスプレイ装置といった表示装置を有し、制御部６から受け取った各種の情報、または撮像部２により生成された画像を表示する。なお、操作部３と表示部４とは、例えば、タッチパネルディスプレイを用いて一体的に形成されてもよい。
【００２１】
記憶部５は、例えば、読み書き可能な揮発性または不揮発性の半導体メモリ回路を有する。そして記憶部５は、撮像部２から受け取った画像を記憶する。また、記憶部５は、制御部６が合焦位置の検出に利用する各種のデータを記憶する。記憶部５は、そのようなデータとして、例えば、各ＡＦエリアの位置及び範囲を表す情報（例えば、撮像部２により生成される画像上でのＡＦエリアの左上端及び右下端の座標）と識別情報などを記憶する。さらに、記憶部５は、撮像光学系２２の焦点位置調節に利用される焦点位置テーブルを記憶する。焦点位置テーブルは、撮像光学系２２が基準位置にある場合の撮像部２から被写体までの距離に相当するシフト量と、その距離にある被写体に対して撮像光学系２２を合焦させるための撮像光学系２２の移動量に相当するステッピングモータの回転量との関係を表す。撮像光学系２２の基準位置は、例えば、撮像光学系２２が無限遠に対して合焦するときの撮像光学系２２の位置に対応する。さらに、制御部６が有する各機能が、制御部６が有するプロセッサ上で実行されるコンピュータプログラムにより実現される場合、記憶部５は、そのコンピュータプログラムを記憶してもよい。
【００２２】
制御部６は、合焦位置検出装置の一例であり、少なくとも一つのプロセッサ及びその周辺回路を有する。そして制御部６は、デジタルカメラ１全体を制御する。また制御部６は、撮像部２から受け取った画像に基づいて合焦位置を検出し、検出した合焦位置に基づいて、撮像光学系２２の合焦位置を調節する。
【００２３】
図４は、合焦位置の検出に関する、制御部６の機能ブロック図である。制御部６は、シフト量算出エリア特定部１１と、特徴量算出部１２と、確率分布推定部１３と、合成部１４と、代表値算出部１５と、合焦部１６とを有する。制御部６が有するこれらの各部は、例えば、制御部６が有するプロセッサ上で実行されるコンピュータプログラムによって実現される機能モジュールとして実装される。あるいは、制御部６が有するこれらの各部の機能を実現する一つまたは複数の集積回路が、制御部６とは別個に、デジタルカメラ１に実装されてもよい。
【００２４】
シフト量算出エリア特定部１１は、イメージセンサ２１上で、ユーザにより選択または設定された測定エリア内に含まれるＡＦエリアを、シフト量算出エリアとして特定する。その際、シフト量算出エリア特定部１１は、記憶部５から、各ＡＦエリアの位置及び範囲を表す情報を読み込む。そしてシフト量算出エリア特定部１１は、各ＡＦエリアの位置及び範囲を表す情報を参照して、測定エリアと少なくとも一部が重なるＡＦエリアをシフト量算出エリアとして特定すればよい。あるいは、シフト量算出エリア特定部１１は、測定エリア内に完全に含まれるＡＦエリアをシフト量算出エリアとしてもよい。
【００２５】
図５は、測定エリアとシフト量算出エリアの関係の一例を示す図である。この例では、イメージセンサ２１が画像を生成する範囲である撮影範囲５００内に設定された測定エリア５０１内に、１２個のＡＦエリア５１０−１〜５１０−１２が含まれている。そこでＡＦエリア５１０−１〜５１０−１２が、それぞれ、シフト量算出エリアとして特定される。
【００２６】
シフト量算出エリア特定部１１は、シフト量算出エリアとして特定された各ＡＦエリアの識別情報を、特徴量算出部１２へ通知する。
【００２７】
特徴量算出部１２は、シフト量算出エリア特定部１１から通知されたＡＦエリアの識別情報で特定されるシフト量算出エリアのそれぞれについて、左画像と右画像とが最も一致するときのシフト量及びシフト量の確からしさを表す確率分布を表す特徴量を算出する。
【００２８】
まず、各シフト量算出エリアにおける、左画像と右画像とが最も一致するときのシフト量（以下、便宜上、局所シフト量と呼ぶ）の算出について説明する。
特徴量算出部１２は、例えば、左画像に対して右画像の位置を１画素ずつシフトしながら対応画素間の画素値の差分絶対値の和(SAD)を算出する。そして特徴量算出部１２は、SAD値が最小となるときの、左画像に対する右画像のシフト量を局所シフト量とすることができる。
【００２９】
特徴量算出部１２は、各シフト量算出エリアについて、例えば、次式に従って、シフト量sについてのSAD(s)を算出できる。
【数１】
0006485116.tif 000002
ここで、Nは、一回のSAD計算に使用する左画像および右画像の画素数を表す。+S〜-Sは、局所シフト量の探索範囲となるシフト量の範囲を表す。また、L[n]、R[n]は、それぞれ左画像と右画像のn番目の画素の値を表す。
【００３０】
（１）式では、画素単位で局所シフト量が算出される。しかし、実際には、SAD値が最小となる局所シフト量は、画素単位とは限らない。そこで、特徴量算出部１２は、サブ画素単位で局所シフト量を求めるために、（１）式でSAD値が最小となるシフト量及びその周囲のシフト量についてのSAD値を用いた等角直線フィッティングにより、サブ画素単位で局所シフト量を求める。
【００３１】
図６（ａ）及び図６（ｂ）は、それぞれ、等角直線フィッティングの原理を示す図である。図６（ａ）及び図６（ｂ）において、横軸はシフト量を表し、縦軸はSAD値を表す。bは、（１）式により算出されたSADの最小値を表し、aは、SADの最小値に対応するシフト量に対してシフト量が1画素少ないときのSAD値を表し、cは、SADの最小値に対応するシフト量に対してシフト量が1画素多いときのSAD値を表す。等角直線フィッティングでは、局所シフト量から、シフト量が減少する場合のSAD値の増加の傾きと、シフト量が増加する場合のSAD値の増加の傾きとが等しいと仮定される。
【００３２】
そこで、SADの最小値bに対応する点と、隣接するa,cのうちSAD値が大きい方の点を通る直線、すなわち、直線abとbcのうち、傾きの絶対値が大きい方の直線６０１が求められる。図６（ａ）に示されるように、a>cの場合には、直線abが直線６０１となり、一方、図６（ｂ）に示されるように、a<cの場合には、直線bcが直線６０１となる。さらにa,cのうち、SAD値が小さい方を通り、傾きが直線６０１と逆(すなわち、傾きの符号が反転する)になる直線６０２が求められる。そして直線６０１と直線６０２の交点に対応するシフト量がサブ画素単位での局所シフト量shとなる。
【００３３】
特徴量算出部１２は、次式に従って、等角直線フィッティングによる局所シフト量shを算出できる。
【数２】
0006485116.tif 000003
ここで、sminは、SAD値が最小となる画素単位のシフト量を表す。そしてa = SAD[smin-1]、b = SAD[smin]、c = SAD[smin+1]である。
【００３４】
左画像または右画像を形成する各画素の値にノイズ成分が含まれていなければ、上記のように算出された局所シフト量shは、比較的正確な値となることが想定される。しかし、被写体が暗い場合などには、左画像または右画像を形成する各画素の値において、ノイズ成分が寄与する度合いが大きくなる。このような場合、局所シフト量shは、必ずしも正確な値が得られているとは限られない。
【００３５】
そこで、特徴量算出部１２は、各シフト量算出エリアについて局所シフト量shを算出すると、その局所シフト量shの確からしさを表す確率分布を表す特徴量を算出する。
【００３６】
まず、局所シフト量shの確からしさを表す確率分布（以下、単に局所シフト量の確率分布と呼ぶ）について説明する。
左画像のi番目の画素値L[i]と右画素のj番目の画素値R[j]の画素値の差分絶対値をuijとする。各左右画像に標準偏差がσ／√２のガウスノイズが重畳された場合の対応画素間の差分絶対値xijの確率密度関数fij(xij)は、次式で表される。
【数３】
0006485116.tif 000004
すなわち、fij(xij)は、平均値uij、標準偏差がσの正規分布において、xijが負の値を取る範囲が符号反転されて正の値とされた分布となる。ここで、（３）式の右辺の第二項が、平均値uij、標準偏差がσの正規分布において、xijが負の値を取る範囲が符号反転されて正の値とされたものに対応する。
【００３７】
fij(xij)の平均値e[i][j]および分散v[i][j]は、（３）式の分布を用いた積分計算により、次式にしたがって算出される。
【数４】
0006485116.tif 000005
（４）式のerf(・)は誤差関数であり、次式で定義される。
【数５】
0006485116.tif 000006
【００３８】
また、シフト量sに対応するSAD値xsの確率密度関数gs(xs)は、左画像の各画素L[i]と右画像の各画素R[j]間の差分絶対値xijの和の確率分布に対応し、次式の畳み込み積分で計算される。
【数６】
0006485116.tif 000007
ここで、演算記号'*'は二つの関数の畳み込み積分を表し、次式で定義される。
【数７】
0006485116.tif 000008
また、確率密度関数gs(xs)の平均値E[s]と分散V[s]は次式で表される。
【数８】
0006485116.tif 000009
（１０）式の右辺の第二項である定数Kは、第一項で加算されたN個の確率変数の共分散に関する項であり、N個の確率変数が全て互いに独立であれば0となる。一方、N個の確率変数のうちに、独立でない確率変数のペアが少なくとも一つ含まれる場合には、Kは0以外の値となる。例えば、左画像及び右画像に関して、SAD計算を実行する前に平滑化フィルタなどの前処理が行われた場合には、その画像内での隣接する画素同士の画素値の相関が生じるので、その結果として隣接する画素間の差分絶対値同士にも相関が生じる。そのため、Kは正の値になる。一方、左画像及び右画像に対して前処理が行われない場合には、各差分絶対値は互いに独立な値となるため、Kは0となる。
【００３９】
図７（ａ）及び図７（ｂ）は、それぞれ、左画像及び右画像にガウスノイズが重畳された場合のSADの平均値と標準偏差の一例を表す。図７（ａ）及び図７（ｂ）の上側に示されたグラフでは、横軸は画素の座標を表し、縦軸は画素値を表す。そして図７（ａ）に示される入力パターン７０１は、左画像及び右画像に表された被写体についての画素ごとの値を表す。同様に、図７（ｂ）に示される入力パターン７０２は、左画像及び右画像に表された被写体についての画素ごとの値を表す。図７（ａ）に示される入力パターン７０１に対して、図７（ｂ）に示される入力パターン７０２では、コントラストが1/2となっている。また、図７（ａ）及び図７（ｂ）とも、左画像と右画像とで、同じ入力パターンが表され、左画像と右画像との間で位相差は生じていない(すなわち、局所シフト量shは0)とする。
【００４０】
図７（ａ）及び図７（ｂ）の下側に示されるグラフでは、横軸はSAD値を算出する際のシフト量sを表し、縦軸はSAD値を表す。図７（ａ）に示されるグラフ７１１は、（１）式においてN=32としたときの、入力パターン７０１に対応する、左画像及び右画像にノイズが重畳されていない場合のシフト量とSADの関係を表す。また、グラフ７２１は、標準偏差σが12.5のガウスノイズが入力パターン７０１に加えられた時のシフト量とSAD値の平均値(=E[s])の関係を表す。さらに、シフト量ごとに示されるエラーバー７３１は、そのシフト量における、標準偏差σが12.5のガウスノイズが入力パターン７０１に加えられた時のSAD値の標準偏差(=V[s]の平方根)を表す。同様に、図７（ｂ）に示されるグラフ７１２は、（１）式においてN=32としたときの、入力パターン７０２に対応する、左画像及び右画像にノイズが重畳されていない場合のシフト量とSAD値の関係を表す。また、グラフ７２２は、標準偏差σが12.5のガウスノイズが入力パターン７０２に加えられた時のシフト量とSAD値の平均値の関係を表す。さらに、シフト量ごとに示されるエラーバー７３２は、そのシフト量における、標準偏差σが12.5のガウスノイズが入力パターン７０２に加えられた時のSAD値の標準偏差を表す。
【００４１】
図７（ａ）及び図７（ｂ）に示されるように、左画像及び右画像にノイズが重畳されると、各シフト量においてSADの平均値が全体的に大きくなり、かつ、SAD値がある程度ばらつく。また、入力パターンのコントラストが小さくなると、シフト量sの変化に対するSAD値の変化の割合が小さくなり、得られる局所シフト量shの誤差も大きくなる可能性が高くなる。
【００４２】
各シフト量sに対応するSAD値xsの確率分布がわかれば、局所シフト量の確率分布の推定が可能となる。以下、局所シフト量の確率分布を推定する方法について説明する。
【００４３】
簡単化のために、画素単位で求めたSAD値xsの最小値に対応するシフト量sが局所シフト量shであるとする（すなわち、局所シフト量をサブ画素単位までは求めないとする）。この場合、各シフト量においてSAD値が最小となる確率を求めれば局所シフト量shの確率分布がわかる。
【００４４】
ここで、あるシフト量sのSAD値xsがSAD値の最小値であるとするなら、シフト量s以外の何れのシフト量のSAD値もxsよりも大きな値となる。したがって、各シフト量について、そのシフト量のSAD値が最小となる確率を求めて、それらの確率を全て加算することで、局所シフト量shの確率分布が求められる。
【００４５】
シフト量sにおけるSAD値xsの確率密度関数gs(xs)の累積確率Gs(xs)は、次式で定義される。
【数９】
0006485116.tif 000010
ここで、あるシフト量iにおけるSAD値がxsよりも大きくなる確率は（１１）式の余事象、すなわち{1-Gi(xs)}となる。したがって、あるシフト量sのSAD値が最小となる確率、すなわち、そのシフト量sが局所シフト量shである確率h(s)は次式に従って算出される。
【数１０】
0006485116.tif 000011
【００４６】
図８（ａ）及び図８（ｂ）は、それぞれ、以上の計算式に従って、図７（ａ）及び図７（ｂ）に示された、標準偏差σが12.5のガウスノイズが左画像及び右画像に重畳された場合のシフト量とSAD値の関係から求めた確率h(s)のグラフを表す。図８（ａ）及び図８（ｂ）において、横軸はシフト量を表し、縦軸は確率を表す。そして図８（ａ）に示される確率分布８０１は、図７（ａ）の入力パターン７０１に対応する、グラフ７２１及びエラーバー７３１で示された、シフト量とSAD値の平均値の関係及びSAD値の標準偏差から求められる。一方、図８（ｂ）に示される確率分布８０２は、図７（ｂ）の入力パターン７０２に対応する、グラフ７２２及びエラーバー７３３で示された、シフト量とSAD値の平均値の関係及びSAD値の標準偏差から求められる。ここでは、確率密度関数gs(xs)は平均値がE[s]、分散がV[s]の正規分布に従うと仮定してh(s)を求めている。
【００４７】
上記のように、ノイズが重畳されていない場合の入力パターンの形状、すなわち、被写体に相当する画素値の分布形状と、左画像及び右画像に重畳されるノイズの特性が既知であれば、局所シフト量の確率分布を導出することは可能である。しかしながら、実際に得られた左画像及び右画像から局所シフト量を求める場合、これらの情報は分からない。そのため、特徴量算出部１２は、シフト量算出エリアごとに、左画像及び右画像から、局所シフト量の確率分布を表す特徴量を算出することで、確率分布推定部１３がその確率分布を推定できるようにする。
【００４８】
以下、局所シフト量の確率分布を表す特徴量について説明する。
上記のように、局所シフト量の確率分布は、シフト量ごとのSAD値の確率分布の分散(または標準偏差)と、シフト量の変化に対するSAD値の平均値の変化の割合が分かれば、ある程度推定可能である。そこで、本実施形態では、特徴量算出部１２は、SAD値の確率分布の分散とシフト量の変化に対するSAD値の平均値の変化の割合を推定するのに利用できる特徴量を、局所シフト量の確率分布を表す特徴量として算出する。
【００４９】
SAD値の確率分布の分散を簡便に推定する場合、（１）式で求めたSAD[s]の最小値SAD[smin]が利用可能である。仮に、SAD[s]が最小となるシフト量sminが誤差の全くない正しい局所シフト量(以後、便宜上、soptとする)であったとする。この場合、画素値にノイズが重畳されていなければ、局所シフト量soptだけ左画像に対して右画像をずらした場合に、左画像と右画像の対応画像間の画素値は完全に一致する。すなわち、（９）式及び（１０）式の右辺において、対応画素間の画素値の差分絶対値uijが全て０となり、（９）式及び（１０）式は、それぞれ次式に変形される。
【数１１】
0006485116.tif 000012
E[sopt]は誤差が全くないシフト量soptでのSADの平均値、V[sopt]はその分散を表す。（１３）式及び（１４）式から、次の関係が得られる。
【数１２】
0006485116.tif 000013
【００５０】
（１５）式から、SAD値の平均値が大きくなれば分散も大きくなることがわかる。したがって、SADの最小値SAD[smin]からSAD値の分散を推定できる。実際には、SAD値が最小となるシフト量sminと正確な局所シフト量soptとの間にはずれが生じ、さらに、SAD[smin]は確率的に変動する。そのため、（１５）式のE[sopt]にSAD[smin]をそのまま代入しても、正確なSAD値の分散が得られるとは限らない。しかしながらSAD[smin]とE[sopt]には関連性があるため、後述するように、SAD[smin]からSAD値の確率分布の分散が推定可能である。
そこで、特徴量算出部１２は、SAD[smin]をSAD値の確率分布の分散を推定するための特徴量（分散特徴量）とする。
【００５１】
変形例として、特徴量算出部１２は、左画像または右画像に、メディアンフィルタといったノイズ除去フィルタを乗じて得られるフィルタ後の画像と元の画像間の対応画素間の画素値の二乗平均平方根誤差(RMSE)をノイズの標準偏差σとして推定してもよい。そして特徴量算出部１２はその標準偏差σを、SAD値の確率分布の分散を推定するための特徴量としてもよい。ノイズの標準偏差σが推定できれば、（１４）式より、SAD値の確率分布の分散が推定される。
【００５２】
次に、シフト量の変化に対するSADの平均値の変化の割合を推定するために利用される特徴量について説明する。
【００５３】
入力パターンが図７（ａ）及び図７（ｂ）に示されるようにステップ関数状の形状であり、左画像及び右画像における画素値の最大値と最小値の差、すなわち、コントラストがuであるとする。この場合、シフト量の変化に対するSAD値の平均値の変化の割合は、例えば、（１３）式で算出されるSADの平均値E[sopt]と、そのときのシフト量から１だけずれたときのシフト量に対するSADの平均値E[sopt+1]の差分により求められる。左画像及び右画像にノイズが重畳されていない場合、シフト量がSADが最小となるときから１だけずれると、１画素分だけ対応画素間の画素値の差分絶対値がuとなる。一方、それ以外の(N-1画素分の)画素については、左画像と右画像の画素値は完全に一致するので、対応画素間の画素値の差分絶対値は0となる。したがって、（９）式にこの関係を反映させると、E[sopt+1]は次式で表される。
【数１３】
0006485116.tif 000014
（１６）式と（１３）式とから、シフト量の変化に対するSAD値の平均値の変化の割合は次式で表される。
【数１４】
0006485116.tif 000015
（１７）式の右辺をコントラストuで偏微分することで、次式が得られる。
【数１５】
0006485116.tif 000016
【００５４】
（１８）式の右辺の誤差関数erfの引数は常に正となるため、誤差関数自身も常に正の値となる。これにより、入力パターンのコントラストが高くなるほど、シフト量の変化に対するSAD値の平均値の変化の割合も増加することがわかる。
したがって、特徴量算出部１２は、シフト量の変化に対するSADの平均値の変化の割合を表す特徴量（平均値特徴量）として、左画像または右画像における、最大画素値と最小画素値の差、すなわちコントラストを算出する。
【００５５】
変形例によれば、特徴量算出部１２は、コントラストの代わりに、左画像または右画像の画素値の分散を、シフト量の変化に対するSAD値の平均値の変化の割合を表す特徴量として算出してもよい。
【００５６】
また他の変形例によれば、特徴量算出部１２は、局所シフト量の確率分布を表す特徴量として、（１）式を用いて算出したシフト量sごとのSAD[s]の一部、または全部を算出してもよい。
【００５７】
特徴量算出部１２は、各シフト量算出エリアについての局所シフト量shと、局所シフト量shの確率分布を表す特徴量とを、確率分布推定部１３へ出力する。
【００５８】
確率分布推定部１３は、シフト量算出エリアごとに、そのシフト量算出エリアについての局所シフト量sh及び局所シフト量shの確率分布を表す特徴量とに基づいて、局所シフト量shの確率分布を推定する。
【００５９】
図９は、局所シフト量shの確率分布推定の処理の概要を示す図である。確率分布推定部１３は、局所シフト量shと局所シフト量shの確率分布を表す特徴量とに基づいて、図９の左側において、エラーバーで示される、シフト量ごとのSAD値の確率分布９０１を推定する。そして確率分布推定部１３は、シフト量ごとのSAD値の確率分布９０１から、局所シフト量shの確率分布９０２を推定する。なお、確率分布推定部１３は、各シフト量算出エリアについて同一の処理を行えばよいので、以下では、一つのシフト量算出エリアについて説明する。
【００６０】
まず、シフト量ごとのSAD値の確率分布の推定について説明する。
本実施形態では、簡単化のため、SAD値の確率分布の分散はシフト量によらず一定であるとし、SAD値の平均値はシフト量の変化にともなって直線状に変化すると仮定する。
【００６１】
最初に、SAD値の確率分布の分散の推定について説明する。
確率分布推定部１３は、特徴量算出部１２により求められたSADの最小値SAD[smin]に基づいてSAD値の確率分布の分散を推定できる。上記のように、最小値SAD[smin]は、誤差が全くない正確な局所シフト量soptにおけるSADの平均値E[sopt]とは必ずしも一致せず、確率的にはSAD[smin]の方がE[sopt]よりも小さな値となる。そこで、E[sopt] = k*SAD[smin]が成り立つような補正係数k(≧1)を用いて（１５）式を次のように変形した式を利用して、確率分布推定部１３は、SAD値の確率分布の分散Vを推定する。
【数１６】
0006485116.tif 000017
【００６２】
さらに、確率分布推定部１３は、SAD値の確率分布の分散に基づいて、（１４）式を変形した次式により、左画像及び右画像に重畳したノイズの標準偏差σを推定する。この標準偏差σは、シフト量の変化に対するSADの平均値の変化の割合の推定に利用される。
【数１７】
0006485116.tif 000018
【００６３】
また、確率分布推定部１３は、SAD値の確率分布の分散を表す特徴量として、ノイズの標準偏差σが求められている場合、その標準偏差σを（１４）式に代入することで、SAD値の確率分布の分散を推定できる。
【００６４】
次に、シフト量の変化に対するSAD値の平均値の変化の割合の推定について説明する。
確率分布推定部１３は、ノイズの標準偏差σとコントラストuを（１７）式に代入することで、シフト量の変化に対するSAD値の平均値の変化の割合を推定できる。また、特徴量として、コントラストの代わりに、左画像または右画像の画素値の分散が求められていることがある。この場合、コントラストがuのステップ関数の分散vはv=u2/4となる。すなわち、u=2√vとなるため、確率分布推定部１３は、（１７）式において、uの値として2√vを代入することで、シフト量の変化に対するSADの平均値の変化の割合を求めることができる。
【００６５】
なお、補正係数kは一定の値ではなく、シフト量の変化に対するSADの平均値の変化の割合に応じて補正係数kも変化する。そのため、確率分布推定部１３は、最初に、事前設定された補正係数kの初期値を利用して分散Vを算出し、その分散Vを用いて、シフト量の変化に対するSAD値の平均値の変化の割合を求めた後に、その割合に応じて補正係数kを更新してもよい。そして確率分布推定部１３は、更新された補正係数kを用いて分散Vを再計算し、再計算された分散Vを用いてシフト量に対するSADの平均値の変化の割合を再計算してもよい。確率分布推定部１３は、このような処理を繰り返すことで、SADの確率分布の分散及びシフト量に対するSADの平均値の変化の割合の推定精度を向上できる。
【００６６】
また、特徴量として、シフト量sごとのSAD[s]の一部、または全部が求められている場合、確率分布推定部１３は、それら求められたSAD[s]の値を直線近似することで、SAD値の確率分布を推定できる。
【００６７】
図１０は、複数のSAD[s]の値に対する直線近似により得られる、シフト量とSAD値との関係式を示す図である。図１０において、横軸はシフト量を表し、縦軸はSAD値を表す。また図１０において、各点１００１は、特徴量算出部１２により求められたシフト量sについてのSAD値SAD[s]を表す。この場合、確率分布推定部１３は、例えば、最小二乗法などの最適化法を利用して、各SAD値を直線近似することで、シフト量とSAD値との関係を二つの直線１０１０、１０１１で表せる。この場合、確率分布推定部１３は、直線近似により得られた二つの直線の傾きの絶対値の平均値を、シフト量の変化に対するSAD値の平均値の変化の割合とすることができる。さらに、確率分布推定部１３は、二つの直線の交点に対応するSAD値を（１５）式のE[sopt]に代入することで、SAD値の確率分布の分散を推定できる。
【００６８】
確率分布推定部１３は、SAD[smin]と、シフト量の変化に対するSAD値の平均値の変化の割合から、シフト量sごとのSADの確率分布の平均値E[s]を推定できる。また確率分布推定部１３は、SADの確率分布の分散はシフト量によらず一定としているので、上記のように算出したSADの確率分布の分散Vを、シフト量sごとの確率分布の分散V[s]とすることができる。そして確率分布推定部１３は、シフト量sごとのSAD値の確率分布の平均値E[s]と分散V[s]に基づいて、（１２）式に従って局所シフト量shの確率分布h(s)を求めることができる。その際、確率分布推定部１３は、SAD値の確率密度関数gs(xs)を、例えば、シフト量sごとのSAD値の確率分布の平均値E[s]と分散V[s]を持つ正規分布と仮定する。
【００６９】
なお、合焦位置の検出処理を実行する度に、確率分布推定部１３が各シフト量算出エリアについて局所シフト量shの確率分布h(s)を（１２）式に従って計算すると演算量が膨大になる可能性がある。そこで、例えば、SAD値の確率分布の分散とシフト量の変化に対するSAD値の平均値の変化の割合の値の組み合わせごとに、対応する確率分布h(s)を表すテーブルが予め記憶部５に格納されてもよい。この場合には、確率分布推定部１３は、そのテーブルを参照することで、SAD値の確率分布の分散とシフト量の変化に対するSAD値の平均値の変化の割合の値の組み合わせに対応する確率分布h(s)を求めることができるので、演算量を削減できる。
【００７０】
確率分布推定部１３は、各シフト量算出エリアについて局所シフト量shの確率分布h(s)を合成部１４へ出力する。
【００７１】
合成部１４は、各シフト量算出エリアの局所シフト量shの確率分布h(s)から、測定エリア全体についての局所シフト量の確からしさの分布を表すヒストグラムを合成する。
【００７２】
例えば、合成部１４は、各シフト量算出エリアの局所シフト量shの確率分布h(s)を累積加算することで、ヒストグラムを生成する。この場合、合成部１４は、次式に従って、シフト量ごとの局所シフト量shである確率値の和を、シフト量sについての度数H(s)として算出する。
【数１８】
0006485116.tif 000019
ここで、hi(s)は、測定エリア内の任意の順序におけるi番目のシフト量算出エリアの局所シフト量の確率分布を表す。またMは、測定エリア内に含まれるシフト量算出エリアの総数を表す。
【００７３】
図１１は、測定エリア内の各シフト量算出エリアの局所シフト量の確率分布と合成されるヒストグラムの一例を示す図である。図１１に示される例では、測定エリア１１００内に12個のシフト量算出エリア１１０１−１〜１１０１−１２が含まれている。そして各シフト量算出エリアについて、局所シフト量の確率分布h1(s)〜h12(s)が求められる。そしてシフト量sごとに、（２１）式に従って、H(s)が算出されることで、局所シフト量の確率分布h1(s)〜h12(s)が合成されたヒストグラム１１１０が得られる。なお、図１１において、ヒストグラム１１１０を表すグラフの横軸はシフト量であり、縦軸は度数である。
【００７４】
また、変形例として、合成部１４は、各シフト量算出エリアの局所シフト量の確率分布hi(s)をhi(s)の平均値で代表させることで、ヒストグラムの算出に要する演算量を削減してもよい。
【００７５】
この場合、合成部１４は、各シフト量算出エリアについて、局所シフト量の確率分布hi(s)の平均値となるシフト量siに重みwiを設定し、シフト量si以外のシフト量には重み0を設定する。合成部１４は、重みwiを、確率分布hi(s)の分散が小さいほど大きくなるように設定することが好ましい。例えば、合成部１４は、重みwiを、確率分布hi(s)の分散の逆数とする。これにより、合成部１４は、確率分布hi(s)の分散が小さいシフト量算出エリアほど、すなわち、局所シフト量が正確に得られている可能性が高いシフト量算出エリアほど、ヒストグラムへの寄与を大きくすることができる。
【００７６】
合成部１４は、各重みwiを累積加算することで、測定エリア全体についての局所シフト量の確からしさの分布を離散的に表す離散ヒストグラムを生成する。そして合成部１４は、得られた離散ヒストグラムに特定の幅を持った平滑化フィルタを乗じることで、測定エリア全体についての局所シフト量の確からしさの分布を表すヒストグラムを求める。この場合、ヒストグラムにおける、シフト量ごとの度数は、そのシフト量における重みwiの和となる。
【００７７】
平滑化フィルタは、離散ヒストグラムを、確率分布hi(s)を累積加算することで生成されるヒストグラムとの差をできるだけ小さくするために用いられる。合成部１４は、平滑化フィルタとして、例えば、平均化フィルタを利用することができる。この場合、フィルタの幅tapは、シフト量の変化に対する重みの和の変化の傾向が維持されるように設定されることが好ましい。例えば、フィルタの幅tapは、測定エリア内の任意の順序におけるi番目のシフト量算出エリアの確率分布hi(s)の標準偏差をtiとして次式で求められる。
【数１９】
0006485116.tif 000020
【００７８】
なお、合成部１４は、平滑化フィルタの幅を、その平滑化フィルタが適用される範囲の中心に最も近いシフト量を平均値とするシフト量算出エリアの確率分布hi(s)の標準偏差の所定倍（例えば、４倍）としてもよい。また、合成部１４は、平滑化フィルタとして、平均化フィルタの代わりに、ガウシアンフィルタを用いてもよい。
【００７９】
図１２は、この変形例による、測定エリア内の各シフト量算出エリアの局所シフト量の確率分布と合成されるヒストグラムの他の一例を示す図である。図１２に示される例では、測定エリア１２００内に12個のシフト量算出エリア１２０１−１〜１２０１−１２が含まれている。そして各シフト量算出エリアについて、局所シフト量の確率分布h1(s)〜h12(s)が求められる。そしてシフト量算出エリアごとに、確率分布hi(s)の平均値となるシフト量s1〜s12に、重みwiが設定される。各シフト量算出エリアの重みwiが累積加算されることで、離散ヒストグラム１２１０が得られる。そして離散ヒストグラム１２１０に、平滑化フィルタが適用されることで、ヒストグラム１２２０が得られる。なお、図１２において、離散ヒストグラム１２１０を表すグラフ及びヒストグラム１２２０を表すグラフの横軸はシフト量であり、縦軸は度数である。
【００８０】
合成部１４は、得られたヒストグラムを代表値算出部１５へ出力する。
【００８１】
代表値算出部１５は、測定エリア全体の局所シフト量の確からしさの分布を表すヒストグラムに基づいて、測定エリアに写っている被写体についての合焦位置を表す代表シフト量とその推定標準偏差を算出する。
【００８２】
本実施形態では、代表値算出部１５は、例えば、ヒストグラムの度数が最大となるシフト量smax2を中心とする所定範囲内に、局所シフト量の確率分布hi(s)の平均値となるシフト量が含まれるシフト量算出エリアを選択する。所定範囲は、例えば、(smax2-tap/2)から(smax2+tap/2)に設定される。なおtapは、（２２）式に従って算出される。
【００８３】
代表値算出部１５は、例えば、選択したシフト量算出エリアについての局所シフト量の確率分布の和の平均値となるシフト量を測定エリアの代表シフト量とし、その確率分布の和の標準偏差を推定標準偏差とする。これにより、測定エリア内に、撮像部２からの距離が互いに異なる複数の被写体が写っている場合でも、代表値算出部１５は、その複数の被写体のうち、最もコントラストが大きい被写体について撮像部２を合焦させるように代表シフト量を求めることができる。
【００８４】
図１３は、測定エリア全体の局所シフト量の確からしさの分布を表すヒストグラムと、代表シフト量及び推定標準偏差の関係の一例を示す図である。図１３において、左側のヒストグラム１３００の横軸はシフト量を表し、縦軸は度数を表す。この例では、ヒストグラム１３００において最大度数となるシフト量smax2を中心とする所定範囲に含まれる局所シフト量の確率分布hi(s)の平均値となるシフト量が含まれる測定エリア１３０１内のシフト量算出エリアは、１、３、４、５、８、１０、１１である。この場合、これらのシフト量算出エリアの局所シフト量の確率分布hi(s)の和となる確率分布１３１０が算出される。そして確率分布１３１０の平均値となるシフト量が代表シフト量s~となり、その標準偏差が推定標準偏差t~となる。
【００８５】
なお、代表値算出部１５は、選択したシフト量算出エリアの局所シフト量の確率分布の和の平均値及び標準偏差を以下のように求めることができる。
【００８６】
代表値算出部１５は、例えば、選択したシフト量算出エリアj(j=1,2,...,L、ただしLは、選択されたシフト量算出エリアの数)の局所シフト量の確率分布hj(s)の重みwjを次式で定義する。
【数２０】
0006485116.tif 000021
ここで、vjは、確率分布hj(s)の分散を表す。このように重みwjを設定することで、確率分布の和の標準偏差が最小となり、誤差がより少ない代表シフト量を得られる可能性が高くなる。
【００８７】
代表値算出部１５は、重みwjを利用して、選択した各シフト量算出エリアの局所シフト量の確率分布の和の平均値となるシフト量、すなわち代表シフト量s~と、推定標準偏差t~を次式に従って算出できる。
【数２１】
0006485116.tif 000022
なお、sjは、j番目の局所シフト量の確率分布hj(s)の平均値となるシフト量である。
【００８８】
制御部６は、代表シフト量に相当する移動量だけ撮像光学系２２を光軸に沿って移動させることで、測定エリアに写る被写体に対して撮像部２を合焦させることができるので、代表シフト量は、合焦位置を表している。代表値算出部１５は、代表シフト量及び推定標準偏差を合焦部１６へ出力する。なお、後述するように、合焦部１６がコントラスト検出方式を併用しない場合には、代表値算出部１５は、推定標準偏差の算出を省略してもよい。
【００８９】
合焦部１６は、合焦テーブルを参照して、代表シフト値に対応する撮像部２の移動量に相当するステッピングモータの回転量を求める。そして合焦部１６は、撮像部２の現在の位置と基準位置との差に相当する回転量を、求めた回転量から減じた量だけ撮像部２のアクチュエータ２３のステッピングモータを回転させる制御信号をアクチュエータ２３へ出力する。そしてアクチュエータ２３は、その制御信号に応じた回転量だけステッピングモータを回転させることで、代表シフト量を0にするように撮像光学系２２を光軸に沿って移動させる。これにより、撮像部２は、測定エリアに写る被写体について合焦することができる。
【００９０】
変形例によれば、合焦部１６は、位相差検出方式とともにコントラスト検出方式を利用して、撮像部２を測定エリアに写る被写体に合焦させてもよい。この場合には、上記のように、合焦部１６は、先ず、代表シフト量に応じた回転量だけ、アクチュエータ２３のステッピングモータを回転させて、代表シフト量が0になるように撮像光学系２２を光軸に沿って移動させる。その後、合焦部１６は、代表値算出部１５から受け取った推定標準偏差に基づいて、被写体のコントラストを調べる撮像光学系２２の位置の範囲を設定する。例えば、合焦部１６は、被写体のコントラストを調べる撮像光学系２２の位置の範囲を、推定標準偏差の±２倍に相当する範囲に設定する。そして合焦部１６は、その範囲内で撮像光学系２２を移動させながら、撮像部２により得られる画像上の測定エリアに相当する範囲のコントラストが極大値となる撮像光学系２２の位置を検出する。そして合焦部１６は、コントラストが極大値となる撮像光学系２２の位置を、測定エリアに写る被写体について撮像光学系２２が合焦する位置とする。なお、合焦部１６は、設定した撮像光学系２２の位置の範囲内に、コントラストが極大値となる位置が無ければ、その範囲外でもコントラストの極大値となる撮像光学系２２の位置を検出してもよい。
【００９１】
このように、合焦部１６は、位相差検出方式とコントラスト検出方式を併用する場合でも、コントラスト検出方式でコントラストを調べる撮像光学系２２の位置の範囲を適切に限定できる。そのため、合焦部１６は、撮像部２が測定エリア内の被写体に合焦までに要する時間を短縮できる。
【００９２】
図１４は、制御部６により実行される合焦位置検出処理の動作フローチャートである。
制御部６は、撮像部２から、被写体を撮影した画像を取得する（ステップＳ１０１）。そして制御部６は、その画像を記憶部５に記憶する。
【００９３】
シフト量算出エリア特定部１１は、指定された測定エリア内に含まれるシフト量算出エリアを特定する（ステップＳ１０２）。そしてシフト量算出エリア特定部１１は、特定されたシフト量算出エリアを特徴量算出部１２へ通知する。
【００９４】
特徴量算出部１２は、記憶部５に記憶された画像に基づいて、各シフト量算出エリアについて、左画像と右画像とが最も一致する局所シフト量と、局所シフト量の確率分布を表す特徴量を算出する（ステップＳ１０３）。そして特徴量算出部１２は、各シフト量算出エリアの局所シフト量及び特徴量を確率分布推定部１３へ出力する。
【００９５】
確率分布推定部１３は、各シフト量算出エリアについて、局所シフト量と特徴量に基づいて、シフト量ごとのSAD値の確率分布の平均値及び分散の推定値を求める（ステップＳ１０４）。そして確率分布推定部１３は、シフト量算出エリアごとに、シフト量ごとのSAD値の確率分布の平均値及び分散の推定値に基づいて、局所シフト量の確率分布を推定する（ステップＳ１０５）。確率分布推定部１３は、各シフト量算出エリアの推定された局所シフト量の確率分布を合成部１４へ出力する。
【００９６】
合成部１４は、各シフト量算出エリアの推定された局所シフト量の確率分布を合成して、測定エリア全体についての局所シフト量の確からしさの分布を表すヒストグラムを生成する（ステップＳ１０６）。そして合成部１４は、そのヒストグラムを代表値算出部１５へ出力する。
【００９７】
代表値算出部１５は、ヒストグラムの度数が最大となるシフト量を中心とする所定範囲内に、局所シフト量の確率分布の平均値となるシフト量が含まれるシフト量算出エリアを選択する（ステップＳ１０７）。そして代表値算出部１５は、選択したシフト量算出エリアについての局所シフト量の確率分布の和の平均値に相当するシフト量を、測定エリア全体についての代表シフト量として算出する。さらに、代表値算出部１５は、その確率分布の和の標準偏差を推定標準偏差として算出する（ステップＳ１０８）。代表値算出部１５は、代表シフト量及び推定標準偏差を合焦部１６へ出力する。
【００９８】
合焦部１６は、代表シフト量及び推定標準偏差に基づいて、測定エリア内に写る被写体に対して撮像部２が合焦するように、撮像部２の撮像光学系２２を光軸に沿って移動させる（ステップＳ１０９）。
そして制御部６は、合焦位置検出処理を終了する。
【００９９】
以上に説明してきたように、この合焦位置検出装置は、測定エリア内に含まれる各シフト量算出エリアについて、局所シフト量の確率分布を推定し、推定したその確率分布を合成して局所シフト量の確からしさの分布を表すヒストグラムを生成する。そしてこの合焦位置検出装置は、そのヒストグラムに基づいて合焦位置を表す代表シフト量を求めるので、各シフト量算出エリアの左画像及び右画像にノイズが重畳されていても、合焦位置を正確に検出できる。またこの合焦位置検出装置は、そのヒストグラムにおいて度数が最も高いシフト量を基準として、合焦位置を表す代表シフト量を求める。そのため、この合焦位置検出装置は、測定エリア内に撮像部からの距離が異なる複数の被写体が写っていたとしても、そのうちの最もコントラストが高い被写体に撮像部を合焦させることができる。
【０１００】
なお、変形例によれば、合焦部は、局所シフト量の確からしさの分布を表すヒストグラムにおいて、度数が最大となるシフト量をそのまま代表シフト量としてもよい。この場合、合焦部は、代表シフト量を求めるための演算量を削減できる。
【０１０１】
また、他の変形例によれば、合焦位置検出装置は、位相差検出方式による合焦位置の検出だけでなく、例えば、二眼カメラといった、被写体に対して視差が有る二つの画像を得る撮像装置において、被写体までの距離を測定するために適用されてもよい。この場合には、例えば、撮像装置が有する記憶部に、代表シフト量と撮像装置から被写体までの距離との関係を表す距離テーブルが予め格納される。そして撮像装置の制御部が、その撮像装置が生成した、視差のある二つの画像に対して、上記の実施形態による制御部の各機能を実行することで、画像を生成する各イメージセンサに設定される測定エリアに写る被写体についての代表シフト量を算出できる。そして制御部は、距離テーブルを参照して、代表シフト量に対応する、撮像装置から測定エリア内に写る被写体までの距離を求めることができる。
【０１０２】
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【０１０３】
以上説明した実施形態及びその変形例に関し、更に以下の付記を開示する。
（付記１）
画像を生成するイメージセンサと、光学系とを有する撮像部における前記イメージセンサ上に設定される測定エリア内に含まれる複数のシフト量算出エリアを特定し、前記複数のシフト量算出エリアのそれぞれは、当該シフト量算出エリアに写る被写体を表す第１のサブ画像と第２のサブ画像を生成し、前記第１のサブ画像上の前記被写体と前記第２のサブ画像上の前記被写体間のシフト量が、前記光学系による前記被写体についての合焦位置と前記イメージセンサ間の距離に応じて変化するシフト量算出エリア特定部と、
前記複数のシフト量算出エリアのそれぞれについて、前記第１のサブ画像上の前記被写体と前記第２のサブ画像上の前記被写体とが最も一致するときの前記第１のサブ画像に対する前記第２のサブ画像の局所シフト量と、前記局所シフト量の確からしさを表す確率分布を表す特徴量とを算出する特徴量算出部と、
前記複数のシフト量算出エリアのそれぞれについて、前記局所シフト量及び前記特徴量に基づいて、前記確率分布を推定する確率分布推定部と、
前記複数のシフト量算出エリアのそれぞれの前記確率分布を合成することで、前記測定エリアについての前記局所シフト量の確からしさの分布を求める合成部と、
前記分布に基づいて、前記光学系による合焦位置と前記イメージセンサ間の距離を表す代表値を算出する代表値算出部と、
を有する合焦位置検出装置。
（付記２）
前記特徴量算出部は、前記複数のシフト量算出エリアのそれぞれについて、前記第１のサブ画像に対して前記第２のサブ画像をシフトさせながら、前記第１のサブ画像と前記第２のサブ画像の対応画素間の画素値の差分絶対値の和を算出し、当該和に基づいて前記特徴量を算出する、付記１に記載の合焦位置検出装置。
（付記３）
前記特徴量算出部は、前記第１のサブ画像に対する前記第２のサブ画像のシフト量ごとの前記和の確からしさを表す確率分布の分散を表す分散特徴量及び前記シフト量の変化に対する前記和の確からしさを表す確率分布の平均値の変化の割合を表す平均値特徴量とを前記特徴量として算出する、付記２に記載の合焦位置検出装置。
（付記４）
前記特徴量算出部は、前記和の最小値を前記分散特徴量として算出する、付記３に記載の合焦位置検出装置。
（付記５）
前記特徴量算出部は、前記複数のシフト量算出エリアのそれぞれについて、前記第１のサブ画像及び前記第２のサブ画像のうちの一方にノイズ除去フィルタを適用して得られたノイズ除去画像と前記一方との間の対応画素間の画素値の二乗平方根誤差を前記分散特徴量として算出する、付記３に記載の合焦位置検出装置。
（付記６）
前記特徴量算出部は、前記複数のシフト量算出エリアのそれぞれについて、前記第１のサブ画像及び前記第２のサブ画像のうちの一方についての画素値の最大値と画素値の最小値の差、または画素値の分散を前記平均値特徴量として算出する、付記３に記載の合焦位置検出装置。
（付記７）
前記特徴量算出部は、前記第１のサブ画像に対する前記第２のサブ画像の複数のシフト量のそれぞれについての前記和を前記特徴量として算出する、付記２に記載の合焦位置検出装置。
（付記８）
前記確率分布推定部は、前記複数のシフト量算出エリアのそれぞれについて、前記局所シフト量と前記特徴量とに基づいて、前記第１のサブ画像に対する前記第２のサブ画像の複数のシフト量のそれぞれについての前記和の確からしさを表す確率分布の平均値と分散を算出し、当該平均値と当該分散に基づいて前記局所シフト量の確からしさを表す確率分布を推定する、付記２〜７の何れかに記載の合焦位置検出装置。
（付記９）
前記合成部は、前記複数のシフト量算出エリアのそれぞれについて、前記局所シフト量の確からしさを表す確率分布の平均値に対応するシフト量に、当該確率分布の分散が小さいほど大きくなる重みを設定し、前記複数のシフト量算出エリアのそれぞれの前記重みを前記シフト量ごとに累積加算して平滑化フィルタを適用することで前記分布を求める、付記１〜８の何れかに記載の合焦位置検出装置。
（付記１０）
前記代表値算出部は、前記複数のシフト量算出エリアのうち、前記分布において前記確からしさが最大となるシフト量を含む所定範囲内に前記確率分布の平均に相当するシフト量が含まれる前記シフト量算出エリアを選択し、前記選択した前記シフト量算出エリアについての前記確率分布の和の平均値に対応するシフト量を前記代表値として算出する、付記１〜９の何れかに記載の合焦位置検出装置。
（付記１１）
画像を生成するイメージセンサと、光学系とを有する撮像部における前記イメージセンサ上に設定される測定エリア内に含まれる複数のシフト量算出エリアを特定し、前記複数のシフト量算出エリアのそれぞれは、当該シフト量算出エリアに写る被写体を表す第１のサブ画像と第２のサブ画像を生成し、前記第１のサブ画像上の前記被写体と前記第２のサブ画像上の前記被写体間のシフト量が、前記光学系による前記被写体についての合焦位置と前記イメージセンサ間の距離に応じて変化し、
前記複数のシフト量算出エリアのそれぞれについて、前記第１のサブ画像上の前記被写体と前記第２のサブ画像上の前記被写体とが最も一致するときの前記第１のサブ画像に対する前記第２のサブ画像の局所シフト量と、前記局所シフト量の確からしさを表す確率分布を表す特徴量とを算出し、
前記複数のシフト量算出エリアのそれぞれについて、前記局所シフト量及び前記特徴量に基づいて、前記確率分布を推定し、
前記複数のシフト量算出エリアのそれぞれの前記確率分布を合成することで、前記測定エリアについての前記局所シフト量の確からしさの分布を求め、
前記分布に基づいて、前記光学系による合焦位置と前記イメージセンサ間の距離を表す代表値を算出する、
ことを含む合焦位置検出方法。
（付記１２）
画像を生成するイメージセンサと、光学系とを有する撮像部における前記イメージセンサ上に設定される測定エリア内に含まれる複数のシフト量算出エリアを特定し、前記複数のシフト量算出エリアのそれぞれは、当該シフト量算出エリアに写る被写体を表す第１のサブ画像と第２のサブ画像を生成し、前記第１のサブ画像上の前記被写体と前記第２のサブ画像上の前記被写体間のシフト量が、前記光学系による前記被写体についての合焦位置と前記イメージセンサ間の距離に応じて変化し、
前記複数のシフト量算出エリアのそれぞれについて、前記第１のサブ画像上の前記被写体と前記第２のサブ画像上の前記被写体とが最も一致するときの前記第１のサブ画像に対する前記第２のサブ画像の局所シフト量と、前記局所シフト量の確からしさを表す確率分布を表す特徴量とを算出し、
前記複数のシフト量算出エリアのそれぞれについて、前記局所シフト量及び前記特徴量に基づいて、前記確率分布を推定し、
前記複数のシフト量算出エリアのそれぞれの前記確率分布を合成することで、前記測定エリアについての前記局所シフト量の確からしさの分布を求め、
前記分布に基づいて、前記光学系による合焦位置と前記イメージセンサ間の距離を表す代表値を算出する、
ことを含むプロセッサに実行させるための合焦位置検出用コンピュータプログラム。
【符号の説明】
【０１０４】
１    デジタルカメラ
２    撮像部
３    操作部
４    表示部
５    記憶部
６    制御部
１１    シフト量算出エリア特定部
１２    特徴量算出部
１３    確率分布推定部
１４    合成部
１５    代表値算出部
１６    合焦部
２１    イメージセンサ
２２    撮像光学系
２３    アクチュエータ
２０１−１〜２０１−(mxn)    ＡＦエリア
【図１】
0006485116.tif 000023
【図２】
0006485116.tif 000024
【図３】
0006485116.tif 000025
【図４】
0006485116.tif 000026
【図５】
0006485116.tif 000027
【図６】
0006485116.tif 000028
【図７】
0006485116.tif 000029
【図８】
0006485116.tif 000030
【図９】
0006485116.tif 000031
【図１０】
0006485116.tif 000032
【図１１】
0006485116.tif 000033
【図１２】
0006485116.tif 000034
【図１３】
0006485116.tif 000035
【図１４】
0006485116.tif 000036