(57)【要約】【課題】位相差の推定精度が低下するのを抑制すること。【解決手段】撮像装置１は、撮像素子上に位相差画素の画素列を含む撮像装置が有する撮像範囲の中でフォーカスを合わせる領域を設定する処理と、異なる複数の位相差画素の画素列の間で互いの代表値を求める場合に画素値を参照する画素が連なる方向を各画素列に現れるエッジの位置に基づいて算出する処理と、算出された方向に沿って、複数の画素列の間で画素値の統計処理を実行する処理と、統計処理により得られた複数の画素列を代表する一の画素列を用いて、位相差を算出する処理とを実行する。【選択図】図１
2017049426.tif 000002
【特許請求の範囲】
【請求項１】
撮像素子上に位相差画素の画素列を含む撮像装置が有する撮像範囲の中でフォーカスを合わせる領域を設定する設定部と、
異なる複数の画素列の間で互いの代表値を求める場合に画素値が参照される画素の参照方向を前記複数の画素列に現れるエッジの位置に基づいて算出する方向算出部と、
算出された参照方向に沿って、前記複数の画素列の間で画素値の統計処理を実行する統計処理部と、
前記統計処理により得られた前記複数の画素列を代表する一の画素列を用いて、位相差を算出する位相差算出部と
を有することを特徴とする位相差推定装置。
【請求項２】
前記方向算出部は、前記複数の画素列に現れるエッジの勾配から前記参照方向を算出することを特徴とする請求項１に記載の位相差推定装置。
【請求項３】
前記方向算出部は、前記複数の画素列のうち一方の画素列をシフトしながら２つの画素列の相関をシフト量ごとに算出し、前記相関が最大であるシフト量を用いて前記参照方向を算出することを特徴とする請求項１に記載の位相差推定装置。
【請求項４】
前記統計処理部は、前記方向算出部により異なる参照方向が算出される場合、当該参照方向ごとに前記統計処理を実行することを特徴とする請求項１、２または３に記載の位相差推定装置。
【請求項５】
コンピュータが、
撮像素子上に位相差画素の画素列を含む撮像装置が有する撮像範囲の中でフォーカスを合わせる領域を設定する処理と、
異なる複数の画素列の間で互いの代表値を求める場合に画素値が参照される画素の参照方向を前記複数の画素列に現れるエッジの位置に基づいて算出する処理と、
算出された参照方向に沿って、前記複数の画素列の間で画素値の統計処理を実行する処理と、
前記統計処理により得られた前記複数の画素列を代表する一の画素列を用いて、位相差を算出する処理と
を実行することを特徴とする位相差推定方法。
【請求項６】
コンピュータに、
撮像素子上に位相差画素の画素列を含む撮像装置が有する撮像範囲の中でフォーカスを合わせる領域を設定する処理と、
異なる複数の画素列の間で互いの代表値を求める場合に画素値が参照される画素の参照方向を前記複数の画素列に現れるエッジの位置に基づいて算出する処理と、
算出された参照方向に沿って、前記複数の画素列の間で画素値の統計処理を実行する処理と、
前記統計処理により得られた前記複数の画素列を代表する一の画素列を用いて、位相差を算出する処理と
を実行させることを特徴とする位相差推定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位相差推定装置、位相差推定方法及び位相差推定プログラムに関する。
【背景技術】
【０００２】
デジタルカメラ等の撮像装置のフォーカスを自動的に合わせるＡＦ（Auto  Focus）技術の一例として位相差ＡＦが知られている。かかる位相差ＡＦでは、撮像素子に含まれる画素の一部に、受光素子への光の入射角特性が互いに左右対称または上下対称となるように反転された画素の対が光学系または撮像素子に対する加工により位相差画素として組み込まれる。このように撮像素子に組み込まれた位相差画素を用いて、被写体がレンズを介して受光面へ結像する位置の位相差からデフォーカス量が算出される。
【０００３】
例えば、位相差ＡＦに関する技術の一例として、次のような撮像装置が提案されている。この撮像装置は、撮像素子の位相差検出方向の垂直方向に配列される第１の個数の焦点検出用画素の出力を加算して第１の加算出力を生成し、第１の加算出力に基づいて焦点検出動作を実行する。また、撮像装置は、第１の個数よりも小さい第２の個数の焦点検出用画素の出力を加算して位相差検出方向と垂直方向に複数の第２の加算出力を生成する。その上で、撮像装置は、複数の第２の加算出力に基づいて回転誤差を補正するか否かを判別し、回転誤差を補正すると判別した場合には、焦点検出動作の結果について回転誤差を補正する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１３７５０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の技術では、位相差の推定精度が低下する場合がある。
【０００６】
すなわち、上記の撮像装置では、上記の第１の加算出力を得るために焦点検出用画素の出力を加算する方向が位相差検出方向の垂直方向の一律とされる。それ故、上記の第１の加算出力として得られる画像のエッジが垂直方向に比べて傾きを持つ場合、焦点検出用画素の出力を垂直方向に加算することによってエッジが平滑化される結果、エッジが緩やかに鈍る。このようにエッジが鈍る場合、位相差の推定に用いるＳＡＤ（Sum  of  Absolute  Difference）等の相関の演算に誤差が生じやすくなる結果、位相差の推定精度が低下する場合がある。
【０００７】
１つの側面では、本発明は、位相差の推定精度が低下するのを抑制できる位相差推定装置、位相差推定方法及び位相差推定プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
一態様では、位相差推定装置は、撮像素子上に位相差画素の画素列を含む撮像装置が有する撮像範囲の中でフォーカスを合わせる領域を設定する設定部と、異なる複数の画素列の間で互いの代表値を求める場合に画素値が参照される画素の参照方向を前記複数の画素列に現れるエッジの位置に基づいて算出する方向算出部と、算出された参照方向に沿って、前記複数の画素列の間で画素値の統計処理を実行する統計処理部と、前記統計処理により得られた前記複数の画素列を代表する一の画素列を用いて、位相差を算出する位相差算出部とを有する。
【発明の効果】
【０００９】
位相差の推定精度が低下するのを抑制できる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施例１に係る撮像装置の機能的構成の一例を示すブロック図である。
【図２Ａ】図２Ａは、位相差画素の配列の一例を示す図である。
【図２Ｂ】図２Ｂは、位相差画素の配列の他の一例を示す図である。
【図３】図３は、ピントの一例を示す図である。
【図４】図４は、位相差の一例を示す図である。
【図５】図５は、エッジの一例を示す図である。
【図６】図６は、位相差画素に関する位置及び画素値の関係の一例を示す図である。
【図７】図７は、位相差画素に関する位置及び画素値の関係の一例を示す図である。
【図８】図８は、ＳＡＤの算出結果の一例を示す図である。
【図９】図９は、ＳＡＤの算出結果の一例を示す図である。
【図１０】図１０は、エッジ検出の結果の一例を示す図である。
【図１１】図１１は、相関の算出方法の一例を示す図である。
【図１２】図１２は、統計処理の一例を示す図である。
【図１３】図１３は、ＳＡＤの算出方法の一例を示す図である。
【図１４】図１４は、実施例１に係る位相差ＡＦ処理の手順を示すフローチャートである。
【図１５】図１５は、測距領域の分割方法の一例を示す図である。
【図１６】図１６は、測距領域の分割方法の応用例を示す図である。
【図１７】図１７は、統計処理の適用方向の応用例を示す図である。
【図１８】図１８は、実施例１及び実施例２に係る位相差推定プログラムを実行するコンピュータのハードウェア構成例を示す図である。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して本願に係る位相差推定装置、位相差推定方法及び位相差推定プログラムについて説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１２】
［撮像装置１の構成］
図１は、実施例１に係る撮像装置１の機能的構成の一例を示すブロック図である。図１に示す撮像装置１は、撮像素子５に組み込まれた位相差画素５Ｂを用いて、被写体がレンズ３を介して受光面へ結像する位置の位相差からデフォーカス量を算出する位相差ＡＦ処理を実行するものである。なお、以下では、撮像装置１がミラーレスの像面位相差ＡＦ方式を採用する場合を例示したが、これはあくまで例示であり、ミラーによりレンズ３からの光を位相差画素５Ｂを有するＡＦセンサへ入射させるミラー付きの位相差ＡＦ方式を採用する場合にも同様に適用できる。
【００１３】
図１に示すように、撮像装置１は、レンズ３と、レンズ駆動部３ａと、撮像素子５と、位相差推定部１０とを有する。この撮像装置１は、図１に示す機能部以外にも既知の撮像装置が有する各種の機能部を有することもできる。例えば、撮像装置１は、各種の指示入力、例えば撮像指示やフォーカスを合わせる領域の指定などを受け付ける入力部の他、各種の情報、例えば撮像装置１が撮像する構図等を確認できるライブビュー画像などを出力する出力部などを有することとしてもよい。
【００１４】
レンズ３は、所定の視野領域から光を集光する光学素子である。
【００１５】
一実施形態として、レンズ３は、撮像光学系に含まれる焦点調節用のレンズとして実装される。ここで、図１には、レンズ３として１枚のレンズが模式的に示されているが、実際の撮像光学系では、複数枚のレンズを組み合わせることにより焦点調節用のレンズとしての機能を果たす。このように撮像光学系に組み込まれるレンズ３は、レンズ駆動部３ａを介してレンズ３の光軸方向、すなわち前後方向へ駆動させることができる。
【００１６】
レンズ駆動部３ａは、レンズ３を駆動する機構である。
【００１７】
一実施形態として、レンズ駆動部３ａは、ＤＣ（Direct-Current）モータまたはステッピングモータ等に用いて実装される。レンズ駆動部３ａは、位相差推定部１０からの指示にしたがってレンズ３を光軸上で移動させる。これによって、一例として、レンズ３のピント位置を調節したり、撮像素子５により撮像される画角を変更したりすることができる。
【００１８】
撮像素子５は、レンズ３により集光される光を電気信号へ変換する半導体素子である。
【００１９】
一実施形態として、撮像素子５は、複数の画素がマトリクス状に配列されたＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）などを用いて実装される。この撮像素子５には、撮像用の画素として用いられる撮像画素５Ａが組み込まれると共に、撮像素子５に含まれる画素の一部に受光素子への光の入射角特性が互いに左右対称または上下対称となるように反転された画素の対が位相差画素５Ｂとして組み込まれる。
【００２０】
図２Ａは、位相差画素５Ｂの配列の一例を示す図である。図２Ａに示すように、位相差画素５Ｂには、レンズ３の左側からの光束が入射する左画素５ＢＬと、レンズ３の右側からの光束が入射する右画素５ＢＲとが組み込まれる。これら左画素５ＢＬ及び右画素５ＢＲは、いずれも位相差の検出方向、図示の例では行方向（水平方向）に連ねることにより左画素列５ＢＬＳ及び右画素列５ＢＲＳとして配列される。さらに、左画素列５ＢＬＳ及び右画素列５ＢＲＳは、互いの画素列が位相差の検出方向の垂直方向に隣接する状態で対として配列される。このような位相差画素５Ｂの配列の下、位相差ＡＦ処理では、左画素列５ＢＬＳ及び右画素列５ＢＲＳの対から読み出される各画像を用いて、被写体がレンズ３を介して左画素列５ＢＬＳ及び右画素列５ＢＲＳへ結像する位置の位相差が推定される。以下では、左画素列５ＢＬＳに含まれる左画素５ＢＬから読み出される画素値の行方向の連なりが形成する画像のことを「左画像」と記載すると共に、右画素列５ＢＲＳに含まれる右画素５ＢＲから読み出される画素値の行方向の連なりが形成する画像のことを「右画像」と記載する場合がある。
【００２１】
図２Ａの例では、位相差画素５Ｂが水平方向、垂直方向共に密に配置される場合が例示されているが、位相差画素５Ｂの配置はこれに限定されない。例えば、位相差画素５Ｂは、離散的に配置することも可能である。また、左右画素の水平方向の位置をずらして配置することも可能である。図２Ｂは、位相差画素の配列の他の一例を示す図である。図２Ｂに示すように、左画素５ＢＬ及び右画素５ＢＲは、必ずしも水平方向、すなわち行方向へ連続して配置されずともよく、２つおきに配置することもできる。また、位相差画素５Ｂが離散的に配置される場合においても、左画素５ＢＬ及び右画素５ＢＲが配置される間隔は任意の間隔であってかまわない。さらに、左画素５ＢＬ及び右画素５ＢＲは、垂直方向、すなわち列方向へ整列して配置されずともかまわず、図２Ｂに示す通り、一例として、右画素５ＢＲが左画素５ＢＬから右方向へ画素１つ分にわたってずれた位置に配置されることとしてもよい。
【００２２】
位相差推定部１０は、位相差画素５Ｂを用いて、被写体がレンズ３を介して受光面へ結像する位置の位相差を推定する処理部である。
【００２３】
図３は、ピントの一例を示す図である。図３には、前ピン、合焦、後ピンが模式的に示されている。図３に示すように、レンズ３のピントが撮像素子５の撮像面と合わない場合、ピントの位置が前ピンまたは後ピンとなる。この結果、撮像画素５Ａにより画素値が読み取られた画像には、いわゆるピンぼけが発生する。このようにピンぼけが発生する場合、右画像および左画像には位相差が発生する。図４は、位相差の一例を示す図である。図４には、前ピン時の右画像ＩＲおよび左画像ＩＬと共にその位相差が示されている。図４に示す通り、前ピン時には、右画像ＩＲが光軸よりも左へシフトする一方で左画像ＩＬが光軸よりも右へシフトする。このようにピントのずれで発生する位相差が位相差推定部１０により推定される。
【００２４】
ここで、受光素子には、個体差が存在したり、また、受光素子から電荷が読み出されるときに受光素子の出力が熱の影響を受けたりする。このため、位相差画素５Ｂから得られる画像にノイズが生じる場合がある。このように位相差画素５Ｂにノイズが重畳すると、左画像および右画像が一致しなくなるので、位相差の推定に用いるＳＡＤ（Sum  of  Absolute  Difference）等の相関の演算に誤差が生じやすくなる側面がある。
【００２５】
このような側面に対し、上記の背景技術の項で挙げた撮像装置等のように、複数の左画素列５ＢＬＳまたは複数の右画素列５ＢＲＳの間で左画素５ＢＬまたは右画素５ＢＲの画素値を一律に鉛直方向（列方向）へ加算することにより対処する場合、上述の通り、位相差の推定精度の低下をまねく場合がある。すなわち、位相差画素５Ｂから得られる画像のエッジが鉛直方向から傾いている場合、位相差画素５Ｂの出力を鉛直方向へ加算することによってエッジが平滑化される結果、エッジが緩やかに鈍るという別の側面の課題が生じる。
【００２６】
このような別側面の課題に関し、図５〜図９を用いて、鉛直方向への画素値の加算が行われる場合と鉛直方向への画素値の加算が行われない場合とでエッジを対比しながら説明する。
【００２７】
図５は、エッジの一例を示す図である。図５には、レンズ３の光軸に直交する撮像素子５の受光面のうちフォーカスを合わせる領域に４つの左画素列５ＢＬＳ−１〜５ＢＬＳ−４が含まれる場合が示されている。図５の上段には、左画素列５ＢＬＳ−１〜５ＢＬＳ−４ごとに当該左画素列の左画像が示されており、図５の中段には、左画素列５ＢＬＳ−１に含まれる左画素５ＢＬが持つ画素値が示されており、図５の下段には、４つの左画素列５ＢＬＳ−１〜５ＢＬＳ−４の間で鉛直方向、すなわち列方向に存在する左画素５ＢＬが持つ画素値を統計処理、例えば相加平均、加重平均、最頻値や中央値の算出などを行うことにより算出された代表値が示されている。
【００２８】
図５の上段に示すように、左画素列５ＢＬＳ−１〜５ＢＬＳ−４により読み取られる左画像には、右肩上がりの勾配を持つエッジ、言い換えれば鉛直方向ではないエッジが現れていることがわかる。このような左画像の撮影状況の下、図５の中段に示すように、左画素列５ＢＬＳ−１により読み取られる左画像の画素値が水平方向、すなわち行方向に並ぶ連なりを抜粋してみれば、エッジが局所的に鋭く現れる。ところが、左画素列５ＢＬＳ−１〜５ＢＬＳ−４により読み取られる左画像の画素値が位相差の検出方向の垂直方向、すなわち鉛直方向に平均された場合、エッジが平滑化される結果、エッジが鈍る。
【００２９】
図６及び図７は、位相差画素に関する位置及び画素値の関係の一例を示す図である。図６及び図７に示すグラフの縦軸は、正規化された画素値を指し、本例では、０〜２５５の階調値で表現される元の画素値が０〜１の値に正規化される場合が示されている。また、図６及び図７に示すグラフの横軸は、左画素５ＢＬの位置を指し、本例では、左画素列５ＢＬＳのうち左端の左画素５ＢＬから順に右端の左画素５ＢＬへ向けてインデックスが付与される場合が示されている。これら２つの図のうち、図６には、図５の中段に示した左画素列５ＢＬＳ−１に関する位置及び画素値の関係が示される一方で、図７には、図５の下段に示した４つの左画素列５ＢＬＳ−１〜５ＢＬＳ−４の間で画素値が鉛直方向に平均された左画像に関する位置及び画素値の関係が示されている。
【００３０】
図６に示すように、左画素列５ＢＬＳ−１の画素値が正規化された場合、図５の中段で示されていたエッジよりもさらに鋭いエッジが現れていることがわかる。一方、図７に示すように、左画素列５ＢＬＳ−１〜５ＢＬＳ−４の間で画素値が鉛直方向に平均された平均値が正規化されたとしても、図５の下段で示されていたエッジと同等に、緩やかに鈍ったエッジしか現れていないことがわかる。このようにエッジが鈍った左画像を用いて、対となる右画像との相関が求められる場合、ＳＡＤ等の相関の演算に誤差が生じやすくなる。
【００３１】
図８及び図９は、ＳＡＤの算出結果の一例を示す図である。図８及び図９に示すグラフの縦軸は、ＳＡＤの算出結果を指す。図８及び図９に示すグラフの横軸は、右画像のシフト量を指し、本例では、画素数が単位に用いられる。図８には、図５の中段で示された左画素列５ＢＬＳ−１に含まれる左画素５ＢＬが持つ画素値、すなわち左画像に対し、当該左画素列５ＢＬＳ−１の対となる右画素列５ＢＲＳ−１（図示せず）の右画像をシフトしながら差分絶対値和が算出された例が示されている。また、図９には、図５の下段で示された左画素列５ＢＬＳ−１〜５ＢＬＳ−４の間で画素値が鉛直方向に平均された平均値、すなわち左画素列５ＢＬＳ−１〜５ＢＬＳ−４を代表する左画像に対し、当該左画素列５ＢＬＳ−１〜５ＢＬＳ−４の対となる右画素列５ＢＲＳ−１〜５ＢＲＳ−４（図示せず）を代表する右画像をシフトしながら差分絶対値和が算出された例が示されている。
【００３２】
ここで、鉛直方向への画素値の加算が行われない場合には、図８に示すように、Ｖ字状のグラフとなる。この場合、ＳＡＤの最小値が明らかであるので、左画像および右画像が一致すると同定できるシフト量を弁別するのは容易であることがわかる。一方、鉛直方向への画素値の加算が行われる場合には、図９に示すように、下方向に凸形状となる放物線のグラフとなり、このグラフでは、エッジの鈍りが原因となって放物線の開きが大きい。この場合、ＳＡＤの最小値が不鮮明となるので、左画像および右画像が一致すると同定できるシフト量を弁別するのは容易でないことがわかる。したがって、鉛直方向への画素値の加算が行われる場合には、鉛直方向への画素値の加算が行われない場合に比べて、ＳＡＤ等の相関の演算に誤差が生じやすくなる。
【００３３】
図８のグラフは、左画素列５ＢＬＳ−１および右画素列５ＢＲＳ−１にノイズが乗っている場合のＳＡＤの算出結果である。同様に、図９のグラフは左画素列５ＢＬＳ−１〜５ＢＬＳ−４、および右画素列５ＢＲＳ−１〜５ＢＲＳ−４にノイズが乗っている場合の結果である。ノイズが乗っていない場合、１列のみでも複数画素の平均でも、ＳＡＤの最小値付近の形状は図８のようにＶ字状になり、最小値は０となる。
【００３４】
そこで、１つの側面として、位相差推定部１０は、受光素子へ入射する光のレンズ３の通過範囲が互いに対称となるように形成された位相差画素５Ｂの対ごとに互いが平行である複数の位相差画素５Ｂの連なりの間で画素値を垂直方向に統計処理する場合に、測距領域に現れるエッジが垂直方向からずれる方向に沿って統計処理を行う。その上で、位相差推定部１０は、上記の統計処理により対ごとに得られた代表値の連なりを用いて互いの相関をシフト量ごとに演算することにより、相関が最も高いシフト量を位相差として推定する。これによって、位相差推定部１０は、位相差の推定精度の低下を抑制する位相差ＡＦ処理を実現する。
【００３５】
図１に示す通り、位相差推定部１０は、測距領域設定部１１と、取得部１２と、エッジ検出部１３と、相関算出部１４と、方向算出部１５と、統計処理部１６と、位相差算出部１７と、デフォーカス量算出部１８とを有する。
【００３６】
測距領域設定部１１は、フォーカスを合わせる領域、いわゆる測距領域を設定する処理部である。
【００３７】
一実施形態として、測距領域設定部１１は、形状、位置やサイズを規定することにより、測距領域を設定する。例えば、測距領域の形状を規定する場合、測距領域設定部１１は、測距領域の形状として、矩形を始め、多角形や楕円などの任意の形状を採用することができる。また、測距領域の位置を規定する場合、測距領域設定部１１は、一例として、顔検出の結果を用いることができる。具体的には、顔検出エンジンから顔検出の結果として顔領域の中心座標または顔領域の頂点座標が出力される場合、測距領域設定部１１は、中心座標または頂点座標を測距領域の中心座標または頂点座標としてそのまま用いることができる。この他、測距領域設定部１１は、図示しないタッチパネル等に表示されたライブビュー画像上で指定された座標位置を測距領域の中心座標に設定することもできる。また、測距領域のサイズを規定する場合、測距領域設定部１１は、予め定義されたサイズをそのまま採用することもできるし、図示しないタッチパネル等を介して受け付けるピンチインまたはピンチアウトなどにより定まるサイズを採用することにより、測距領域の大きさを自動又は手動で規定できる。
【００３８】
ここで、測距領域設定部１１は、少なくとも２つ以上の左画素列５ＢＬＳ及び右画素列５ＢＲＳの対を列方向に含むサイズが測距領域に設定される。一実装例として、測距領域設定部１１は、６４個の左画素列５ＢＬＳ及び右画素列５ＢＲＳの対を含むサイズを測距領域に設定する。この場合、列方向に含まれる対の個数と行方向に含まれる対の個数とは、同数とすることもできるし、異なる数とすることもできる。
【００３９】
取得部１２は、対となる位相差画素５Ｂから左画像および右画像を取得する処理部である。
【００４０】
一実施形態として、取得部１２は、測距領域設定部１１により測距領域が設定された場合に、撮像素子５に含まれる位相差画素５Ｂのうち当該測距領域内に存在する全ての左画素列５ＢＬＳ及び右画素列５ＢＲＳから左画像および右画像を取得する。このように取得部１２により左画素列５ＢＬＳ及び右画素列５ＢＲＳごとに取得された左画像および右画像がエッジ検出部１３へ出力される。
【００４１】
エッジ検出部１３は、左画像または右画像のエッジを検出する処理部である。
【００４２】
一実施形態として、エッジ検出部１３は、取得部１２によって取得された左画像を左画素列５ＢＬＳの配置にしたがって整列することにより、左画像を統合する。その上で、エッジ検出部１３は、統合後の左画像にオペレータ、いわゆるＭＡＸ−ＭＩＮフィルタやソーベルフィルタ等のフィルタを適用することによりエッジ検出を実行する。これによって、統合後の左画像から水平方向における画素値の勾配及び垂直方向の画素値の勾配が得られる。同様に、左画像を右画像、左画素列を右画素列に読み替えてエッジ検出を実行することにより、統合後の右画像から水平方向における画素値の勾配及び垂直方向の画素値の勾配が得られる。
【００４３】
図１０は、エッジ検出の結果の一例を示す図である。図１０では、一例として、測距領域に４対の左画素列５ＢＬＳ−１〜５ＢＬＳ−４及び右画素列５ＢＲＳ−１〜５ＢＲＳ−４に対応する４つの左画像及び４つの右画像が含まれる場合を想定し、このうち、４つの左画像にエッジ検出が行われる場合が抜粋して示されている。図１０に示すように、４つの左画像は、左画素列５ＢＬＳ−１〜５ＢＬＳ−４の配置にしたがって整列される。その上で、整列後の左画像からは、図示の通り、右肩上がりのエッジが検出される。
【００４４】
相関算出部１４は、左画像間のエッジの相関または右画像間のエッジの相関を算出する処理部である。
【００４５】
一実施形態として、相関算出部１４は、取得部１２により取得される左画像のうち少なくとも２つの左画像の間で互いのエッジの相関を算出する。例えば、相関算出部１４は、互いの左画素列５ＢＬＳの配置が列方向に隣接する２つの左画像のうち、一方の左画像を基準にして他方の左画像をスライドさせながら２つの左画像の相関、例えばＳＡＤや相関係数などをスライド量ごとに算出する。同様に、左画像を右画像、左画素列を右画素列に読み替えて相関を算出することにより、相関がスライド量ごとに得られる。
【００４６】
図１１は、相関の算出方法の一例を示す図である。図１１には、一例として、測距領域に４対の左画素列５ＢＬＳ−１〜５ＢＬＳ−４及び右画素列５ＢＲＳ−１〜５ＢＲＳ−４に対応する４つの左画像及び４つの右画像が含まれる場合を想定し、４つの左画像のうち左画素列５ＢＬＳ−１の左画像と左画素列５ＢＬＳ−２の左画像の間で相関が算出される場合が抜粋して示されている。図１１に示すように、左画素列５ＢＬＳ−１の左画像が固定された状態で左画素列５ＢＬＳ−２の左画像が行方向、すなわち左方向または右方向へスライドされる。このように左画素列５ＢＬＳ−２の左画像がスライドされるスライド量には、一例として、画素１つ分が採用される。そして、左画素列５ＢＬＳ−２の左画像がスライドされる度に、左画素列５ＢＬＳ−１の左画像及び左画素列５ＢＬＳ−２の左画像の間で相関係数が算出される。図示の例では、スライド量が「１」である場合に、左画素列５ＢＬＳ−１の左画像と左画素列５ＢＬＳ−２の左画像の相関が最大になることが見て取れる。
【００４７】
なお、図１には、撮像装置１がエッジ検出部１３及び相関算出部１４を有する場合を例示したが、これらの処理部は必ずしも２つとも有さずともかまわず、いずれか１つだけ有することとしてもよい。
【００４８】
方向算出部１５は、異なる複数の位相差画素の画素列の間で互いの代表値を求める場合に画素値が参照される画素の参照方向を各画素列に現れるエッジの位置に基づいて算出する処理部である。以下では、一例として、水平方向からの傾きにより参照方向が表現される場合を例示する。
【００４９】
一実施形態として、方向算出部１５は、エッジ検出部１３により検出されるエッジ検出の結果を用いて、上記の参照方向を算出する。例えば、方向算出部１５は、下記の式（１）にしたがってエッジの勾配から参照方向θを算出することができる。このとき、方向算出部１５は、左画像のエッジ検出の結果から参照方向θＬを算出することもできるし、また、右画像のエッジ検出の結果から参照方向θＲを算出することもできるし、これらの両方を用いて、２つの平均値を参照方向θＬＲとすることもできる。
【００５０】
θ＝tan-1（垂直方向の勾配／水平方向の勾配）・・・式（１）
【００５１】
他の実施形態として、方向算出部１５は、相関算出部１４により算出される左画像間のエッジの相関または右画像間のエッジの相関にしたがって上記の参照方向を算出することもできる。この場合、方向算出部１５は、一例として、下記の式（２）にしたがって相関が最大となるスライド量から参照方向θを算出することができる。なお、下記の式（２）における「行間隔」とは、位相差画素５Ｂ間の行方向の間隔を指す。このとき、方向算出部１５は、左画像間のエッジの相関のうち相関が最大となるスライド量から参照方向θＬを算出することもできるし、また、右画像間のエッジの相関のうち相関が最大となるスライド量から参照方向θＲを算出することもできるし、これらの両方を用いて、２つの平均値を参照方向θＬＲとすることもできる。
【００５２】
θ＝tan-1（行間隔／スライド量）・・・式（２）
【００５３】
更なる実施形態として、方向算出部１５は、エッジ検出部１３により検出されるエッジ検出の結果から算出される参照方向θと、相関算出部１４により算出されるエッジの相関から算出される参照方向θとの２つの統計値、例えば相加平均値や加重平均値などを算出することにより、総合の参照方向θを算出することもできる。
【００５４】
統計処理部１６は、垂直方向からの参照方向に沿って画素値を位相差画素５Ｂの対ごとに統計処理する処理部である。以下では、あくまで一例として、左画像および右画像の間で統計処理に用いる参照方向を統一する観点から、参照方向θＬＲが統計処理に用いられる場合を想定する。
【００５５】
一実施形態として、統計処理部１６は、方向算出部１５により算出された垂直方向からの参照方向θＬＲに沿って、各左画素列５ＢＬＳの行間で左画素列５ＢＬＳの左画素５ＢＬが持つ画素値を位相差の検出方向の垂直方向、すなわち列方向へ統計処理、例えば平均処理を実行する。これによって、測距領域に含まれる複数の左画素列５ＢＬＳを代表する代表左画素列７ＲＬの１行分の画素値が得られる。同様に、左画像を右画像に、左画素列を右画素列に読み替えて統計処理を行うことにより、測距領域に含まれる複数の右画素列５ＢＲＳを代表する代表右画素列７ＲＲの１行分の画素値、すなわち代表左画像が得られる。
【００５６】
図１２は、統計処理の一例を示す図である。図１２には、一例として、測距領域に４対の左画素列５ＢＬＳ−１〜５ＢＬＳ−４及び右画素列５ＢＲＳ−１〜５ＢＲＳ−４に対応する４つの左画像及び４つの右画像が含まれる場合を想定し、これら４つの左画像の間で統計処理が実行される場合が示されている。図１２に示すように、統計処理部１６は、左画素列５ＢＬＳ−１に含まれる各左画素５ＢＬの中心から参照方向θＬＲと同値の傾きを持つ直線を仮想的に設定する。その上で、統計処理部１６は、左画素列５ＢＬＳ−１〜５ＢＬＳ−４の間で同一の直線上に存在する左画素５ＢＬの画素値の合計を左画素列５ＢＬＳ−１〜５ＢＬＳ−４の行数「４」で除算することにより、左画素列５ＢＬＳ−１〜５ＢＬＳ−４を代表する代表左画素列７ＲＬの１行分の画素値（平均値）、すなわち代表左画像が得られる。
【００５７】
このとき、統計処理部１６は、左画素列５ＢＬＳ−１〜５ＢＬＳ−４の４行全てを通過しない直線を統計処理の対象から除外することができる。これによって、左画素列５ＢＬＳ−１〜５ＢＬＳ−４の列方向の画素数ｗよりも少ない画素数ｗ’を持つ代表左画素列７ＲＬが得られる場合がある。かかる画素数ｗ’は、測距領域の横幅をｗ、高さをｈとする場合、下記の式（３）に示す通りとなる。
【００５８】
ｗ’＝ｗ−ｈ／ｔａｎθ・・・式（３）
【００５９】
このようにして得られる代表左画素列７ＲＬでは、統計処理によってエッジに対応する境界をまたぐ画素の間で画素値が平滑化されるのが抑制される結果、エッジの鋭さが維持される。なお、ここでは、４つの左画像の間で統計処理を実行する例を示したが、４つの右画像の間で統計処理を実行する場合にも同様にして代表左画像を得ることができる。
【００６０】
位相差算出部１７は、対となる代表左画像および代表右画像の位相差を算出する処理部である。
【００６１】
一実施形態として、位相差算出部１７は、統計処理部１６による統計処理の結果として得られた代表左画像および代表右画像のうち一方の画像が固定された状態で他方の画像をシフトしながら互いの相関、例えば差分絶対値和（ＳＡＤ）をシフト量ごとに算出する。その上で、位相差算出部１７は、先に算出されたＳＡＤのうち最小となるシフト量、言い換えれば相関が最も高いシフト量を位相差として算出する。
【００６２】
図１３は、ＳＡＤの算出方法の一例を示す図である。図１３には、代表左画像が固定された状態で代表右画像をシフトしながらＳＡＤが算出される場合が示されている。例えば、代表右画像が右方向へシフトされる場合のシフト量を「正」とし、代表右画像が左方向へシフトされる場合のシフト量を「負」とする場合を想定する。この場合、図１３の上段に示すように、代表右画像の画素値の分布が代表左画像の画素値の分布よりも左側に存在する。このため、図１３の上段に示す例が前ピンの状態にあり、代表右画像が右方向へシフトされる場合に、ＳＡＤの値が高くなることがわかる。そして、図１３の下段に示すように、ＳＡＤが最小となるシフト量、すなわち相関が最も高くなるシフト量が位相差として導出される。
【００６３】
デフォーカス量算出部１８は、デフォーカス量を算出する処理部である。
【００６４】
一実施形態として、デフォーカス量算出部１８は、位相差算出部１７により算出された位相差からデフォーカス量を算出する。このとき、デフォーカス量算出部１８は、位相差からデフォーカス量へ換算する関数、あるいは、位相差とデフォーカス量との対応関係が定義されたデータ、例えばルックアップテーブルを用いることができる。その後、デフォーカス量算出部１８は、先に算出されたデフォーカス量をレンズ駆動部３ａへ出力する。これによって、レンズ３がデフォーカス量にしたがって光軸方向へ駆動されることになる。
【００６５】
なお、上記の測距領域設定部１１、取得部１２、エッジ検出部１３、相関算出部１４、方向算出部１５、統計処理部１６、位相差算出部１７及びデフォーカス量算出部１８などの処理部は、次のようにして実装できる。例えば、中央処理装置、いわゆるＣＰＵ（Central  Processing  Unit）などに、上記の各処理部と同様の機能を発揮するプロセスを各種の半導体メモリ素子、例えばＲＡＭ（Random  Access  Memory)やフラッシュメモリなどに展開して実行させることにより実現できる。これらの処理部は、必ずしも中央処理装置で実行されずともよく、ＭＰＵ（Micro  Processing  Unit）やＤＳＰ（Digital  Signal  Processor）に実行させることとしてもよい。また、上記の各処理部は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などのハードワイヤードロジックによっても実現できる。
【００６６】
［処理の流れ］
次に、本実施例に係る撮像装置１の処理の流れについて説明する。図１４は、実施例１に係る位相差ＡＦ処理の手順を示すフローチャートである。この処理は、一例として、測距領域が設定された場合に起動される。なお、以下では、あくまで一例として、エッジ検出の結果にしたがって垂直方向からのズレ方向が算出される場合を例示する。
【００６７】
図１４に示すように、測距領域設定部１１により測距領域が設定されると（ステップＳＳ１０１）、取得部１２は、撮像素子５に含まれる位相差画素５Ｂのうち当該測距領域内に存在する全ての左画素列５ＢＬＳ及び右画素列５ＢＲＳから左画像および右画像を取得する（ステップＳ１０２）。
【００６８】
続いて、エッジ検出部１３は、ステップＳ１０２で取得された左画像が左画素列５ＢＬＳの配置にしたがって整列されることにより統合された統合後の左画像にエッジ検出を行うと共に、ステップＳ１０２で取得された右画像が右画素列５ＢＲＳの配置にしたがって整列されることにより統合された統合後の右画像にエッジ検出を行う（ステップＳ１０３）。
【００６９】
次に、方向算出部１５は、ステップＳ１０３における左画像のエッジ検出の結果を用いて垂直方向からの参照方向θＬを算出すると共に、ステップＳ１０３における右画像のエッジ検出の結果を用いて垂直方向からの参照方向θＲを算出する（ステップＳ１０４）。
【００７０】
その後、方向算出部１５は、ステップＳ１０４で算出された参照方向θＬ及び参照方向θＲに所定の統計処理、例えば平均処理を適用することにより、参照方向θＬ及び参照方向θＲが統一された参照方向θＬＲを算出する（ステップＳ１０５）。
【００７１】
続いて、統計処理部１６は、ステップＳ１０５で算出された垂直方向からの参照方向θＬＲに沿って、各左画素列５ＢＬＳの行間で左画素列５ＢＬＳの左画素５ＢＬが持つ画素値を位相差の検出方向の垂直方向へ統計処理すると共に、各右画素列５ＢＲＳの行間で右画素列５ＢＲＳの右画素５ＢＲが持つ画素値を位相差の検出方向の垂直方向へ統計処理する（ステップＳ１０６）。
【００７２】
かかるステップＳ１０６の処理が実行されることによって、代表左画素列７ＲＬの画素値の連なり、すなわち代表左画像が得られると共に、代表右画素列７ＲＲの画素値の連なり、すなわち代表右画像が得られる。
【００７３】
その後、位相差算出部１７は、ステップＳ１０６の統計処理により得られた対となる代表左画像および代表右画像の位相差を算出する（ステップＳ１０７）。続いて、デフォーカス量算出部１８は、ステップＳ１０７で算出された位相差からデフォーカス量を算出する（ステップＳ１０８）。そして、レンズ駆動部３ａは、ステップＳ１０８で算出されたデフォーカス量にしたがってレンズ３を光軸方向へ駆動し（ステップＳ１０９）、処理を終了する。
【００７４】
［効果の一側面］
上述してきたように、本実施例に係る位相差推定部１０は、受光素子へ入射する光のレンズ３の通過範囲が互いに対称となるように形成された位相差画素５Ｂの対ごとに互いが平行である複数の位相差画素５Ｂの連なりの間で画素値を垂直方向に統計処理する場合に、測距領域に現れるエッジが垂直方向からずれる方向に沿って統計処理を行う。その上で、位相差推定部１０は、上記の統計処理により位相差画素５Ｂの対ごとに得られた代表値の連なりを用いて互いの相関をシフト量ごとに演算することにより、相関が最も高いシフト量を位相差として推定する。これによって、位相差推定部１０は、位相差の推定精度の低下を抑制することが可能になる。
【実施例２】
【００７５】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【００７６】
［測距領域の分割］
例えば、位相差推定部１０は、測距領域を測距領域よりも小さい複数の小領域に分割することもできる。以下では、小領域の各々でシフト量が算出される一面から「シフト量算出領域」と記載する場合がある。図１５は、測距領域の分割方法の一例を示す図である。図１５には、測距領域が１６個のシフト量算出領域に分割される例が示されている。図１５に示すシフト量算出領域は、少なくとも２対以上の左画素列５ＢＬＳ及び右画素列５ＢＲＳが含まれる形で設定される。図１５には、互いの小領域が重複しないようにシフト量算出領域を設定する場合を例示したが、一部が重複するようにシフト量算出領域を設定することもできる。そして、位相差推定部１０は、図１５に示すシフト量算出領域ごとに図１４に示したステップＳ１０２〜ステップＳ１０７の処理が実行されることにより相関が最も高いシフト量ｓ１〜ｓ１６を算出する。これらシフト量算出領域ごとに実行されるシフト量の算出処理は、１つずつ順番に実行することもできるし、一部または全部を並行して実行することもできる。その上で、位相差推定部１０は、シフト量ｓ１〜ｓ１６の代表値、例えば平均値や最頻値などの統計値を計算することにより総合のシフト量を算出し、算出された総合のシフト量を位相差として推定する。
【００７７】
このように測距領域を小領域に分割して小領域ごとにシフト量を算出することにより、次のような効果が得られる。例えば、測距領域内に複数方向のテクスチャのずれが含まれている場合でも、各小領域内でのテクスチャのずれ量が小さくなり、テクスチャのずれの影響を抑えることができる。さらに、複数のシフト量から代表値を求めることで、誤差の影響を抑制することもできる。
【００７８】
［分割の応用例１］
上記の測距領域の分割の項では、各シフト量算出領域のサイズを固定する場合を例示したが、テクスチャに応じてシフト量算出領域のサイズを可変設定することもできる。例えば、方向算出部１５により算出される参照方向θＬＲの傾きが（水平方向に対して）小さい場合、上記の式（３）で算出される水平方向、すなわち列方向の画素数が減少することが原因となってＳＡＤの計算に必要な画素数が得られない場合やＳＡＤの算出精度が低下する場合がある。その場合、測距領域を垂直方向に複数に分割すれば良い。例えば、測距領域の横幅をｗ、統計処理後に残す水平方向の画素数の下限値をｗ’とするとき、下記の式（４）の不等式を満たすように、分割後のシフト量算出領域の高さｈ’を設定することにより、ＳＡＤの算出精度が低下するのを抑制できる。
【００７９】
ｈ’＜ｔａｎθ＊（ｗ−ｗ’）・・・式（４）
【００８０】
［分割の応用例２］
図１６は、測距領域の分割方法の応用例を示す図である。図１６に示すように、測距領域内に複数の参照方向θ１及びθ２が含まれる場合、すなわち左画素列５ＢＬＳ−１〜５ＢＬＳ−２の輝度勾配と左画素列５ＢＲＳ−３〜５ＢＬＳ−４の輝度勾配とが異なる場合、参照方向θ１及びθ２ごとに測距領域を分割することもできる。これによって、テクスチャに応じてシフト量算出領域を設定できる結果、テクスチャが混ざらず、エッジを保持したままシフト量を算出できる。
【００８１】
［統計処理の適用方向］
上記の分割の応用例２の項では、テクスチャの参照方向θに応じて測距領域を分割する場合を例示したが、必ずしも測距領域を分割せずに、参照方向θを基にテクスチャのずれを合わせ込むこともできる。図１７は、統計処理の適用方向の応用例を示す図である。図１７に示すように、測距領域内の１つ目の左画素列５ＢＬＳ−１を基準として、各画素列、すなわち左画素列５ＢＬＳ−２、５ＢＬＳ−３及び５ＢＬＳ−４のテクスチャの参照方向θ３〜θ５を算出する。これらを統計処理する際は、基準位置に合わせて各画素列の参照方向に合わせて各画素列で統計処理を適用する左画素５ＢＬを決めることで、複数の方向のテクスチャが含まれる場合も、エッジの鋭さを保持して算出することが可能となる。
【００８２】
［参照方向の評価］
例えば、位相差推定部１０は、垂直方向の画素列のテクスチャのずれから、画素列の一致度に応じた評価値を算出し、推定シフト量の信頼性の判定に用いることも可能である。
例えば、図１６に示す例のように、平均する領域内の参照方向θが各画素列で等しいとき、平均画素列でそのエッジがより正確に保持されるので、位相差の推定精度が高くなると言える。一方、図１７に示すように、参照方向θにばらつきがある場合は、画素値を平均することで、元のテクスチャが混ざることが考えられる。この場合、位相差推定精度は低下する。
【００８３】
したがって、位相差推定部１０は、測距領域内(またはシフト量の推定窓内)の参照方向θの一致度に応じて、推定したシフト量の評価値を設定することも可能である。例えば、領域内のθの標準偏差が小さいほど評価値が高くなるように設定する。また、相関算出部１４により参照方向θを算出したときに求めた相関値も画素列の一致度を表すものであるので、上記標準偏差の代わりに使用して評価値を算出しても良い。
【００８４】
［コントラストＡＦとの併用］
上記の実施例１では、位相差ＡＦ方式を単独で実行する場合を例示したが、他のＡＦ方式との間で組み合わせて実行することもできる。例えば、撮像装置１は、上述の位相差ＡＦ方式だけでなく、コントラストＡＦ方式と組み合わせたハイブリッドＡＦ方式として用いても良い。コントラストＡＦ方式は、レンズ３の位置を動かしながら最もコントラストが大きくなる位置を探し、ピントを合わせる方式である。レンズ３を動かす度にコントラストの判定を行うので、最大のコントラストが検出されるまでに、すなわちピントを合わせるのに時間が掛かるが、ピントを合わせる精度が高いという利点がある。
【００８５】
このことから、撮像装置１は、位相差ＡＦにより、大まかなピント位置を高速に算出し、算出値を基にレンズ３を移動させる。その上で、撮像装置１は、レンズ３の位置を少しずつ動かしながらコントラストＡＦによりピントを合わせ、ピントが合った位置で撮影する。このように、像面位相差ＡＦ処理によりレンズ３を移動させてからコントラストＡＦ処理を実行することにより、コントラストＡＦでレンズ３の移動が試行錯誤される回数を低減することができると共にコントラストＡＦによる焦点検出の精度を享受できる。したがって、高速かつ精度良くピントを合わせることが可能となる。
【００８６】
［位相差画素］
上記の実施例１では、一対の位相差画素５Ｂとして、レンズ３の左側からの光束が入射する左画素５ＢＬと、レンズ３の右側からの光束が入射する右画素５ＢＲとが撮像素子５に組み込まれる場合を例示したが、これに限定されない。例えば、撮像素子５には、レンズ３の上側からの光束が入射する上画素５ＢＵと、レンズ３の下側からの光束が入射する下画素５ＢＤとが撮像素子５に組み込まれることとしてもかまわない。この場合、行方向に連なる左画素列を列方向に連なる上画素列に読み替えると共に行方向に連なる右画素列を列方向に連なる下画素列に読み替え、互いが行方向に隣接する上画素列及び下画素列の対を２つ以上測距領域に含めることにより、実施例１と同様に、位相差ＡＦ処理を実行できる。
【００８７】
［分散および統合］
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されておらずともよい。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、測距領域設定部１１、取得部１２、エッジ検出部１３、相関算出部１４、方向算出部１５、統計処理部１６、位相差算出部１７またはデフォーカス量算出部１８を撮像装置１の外部装置としてネットワーク経由で接続するようにしてもよい。また、測距領域設定部１１、取得部１２、エッジ検出部１３、相関算出部１４、方向算出部１５、統計処理部１６、位相差算出部１７及びデフォーカス量算出部１８を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記の撮像装置１の機能を実現するようにしてもよい。
【００８８】
［位相差推定プログラム］
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図１８を用いて、上記の実施例と同様の機能を有する位相差推定プログラムを実行するコンピュータの一例について説明する。
【００８９】
図１８は、実施例１及び実施例２に係る位相差推定プログラムを実行するコンピュータのハードウェア構成例を示す図である。図１８に示すように、コンピュータ１００は、操作部１１０ａと、スピーカ１１０ｂと、カメラ１１０ｃと、ディスプレイ１２０と、通信部１３０とを有する。さらに、このコンピュータ１００は、ＣＰＵ１５０と、ＲＯＭ１６０と、ＨＤＤ１７０と、ＲＡＭ１８０とを有する。これら１１０〜１８０の各部はバス１４０を介して接続される。
【００９０】
ＨＤＤ１７０には、図１８に示すように、上記の実施例１で示した位相差推定部１０と同様の機能を発揮する位相差推定プログラム１７０ａが記憶される。この位相差推定プログラム１７０ａは、図１に示した位相差推定部１０の各構成要素と同様、統合又は分離してもかまわない。すなわち、ＨＤＤ１７０には、必ずしも上記の実施例１で示した全てのデータが格納されずともよく、処理に用いるデータがＨＤＤ１７０に格納されればよい。
【００９１】
このような環境の下、ＣＰＵ１５０は、ＨＤＤ１７０から位相差推定プログラム１７０ａを読み出した上でＲＡＭ１８０へ展開する。この結果、位相差推定プログラム１７０ａは、図１８に示すように、位相差推定プロセス１８０ａとして機能する。この位相差推定プロセス１８０ａは、ＲＡＭ１８０が有する記憶領域のうち位相差推定プロセス１８０ａに割り当てられた領域にＨＤＤ１７０から読み出した各種データを展開し、この展開した各種データを用いて各種の処理を実行する。例えば、位相差推定プロセス１８０ａが実行する処理の一例として、図１４に示す処理などが含まれる。なお、ＣＰＵ１５０では、必ずしも上記の実施例１で示した位相差推定部１０に含まれる全ての処理部が動作せずともよく、実行対象とする一部の処理に対応する処理部が仮想的に実現されればよい。例えば、位相差を他の装置へ出力し、デフォーカス量の算出を他のプロセッサや外部装置に担わせることもできる。
【００９２】
なお、上記の位相差推定プログラム１７０ａは、必ずしも最初からＨＤＤ１７０やＲＯＭ１６０に記憶されておらずともかまわない。例えば、コンピュータ１００に挿入されるフレキシブルディスク、いわゆるＦＤ、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に位相差推定プログラム１７０ａを記憶させる。そして、コンピュータ１００がこれらの可搬用の物理媒体から位相差推定プログラム１７０ａを取得して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１００に接続される他のコンピュータまたはサーバ装置などに位相差推定プログラム１７０ａを記憶させておき、コンピュータ１００がこれらから位相差推定プログラム１７０ａを取得して実行するようにしてもよい。
【符号の説明】
【００９３】
１    撮像装置
３    レンズ
３ａ  レンズ駆動部
５    撮像素子
５Ａ  撮像画素
５Ｂ  位相差画素
１０    位相差推定部
１１    測距領域設定部
１２    取得部
１３    エッジ検出部
１４    相関算出部
１５    方向算出部
１６    統計処理部
１７    位相差算出部
１８    デフォーカス量算出部
【図１】
2017049426.tif 000003
【図２Ａ】
2017049426.tif 000004
【図２Ｂ】
2017049426.tif 000005
【図３】
2017049426.tif 000006
【図４】
2017049426.tif 000007
【図５】
2017049426.tif 000008
【図６】
2017049426.tif 000009
【図７】
2017049426.tif 000010
【図８】
2017049426.tif 000011
【図９】
2017049426.tif 000012
【図１０】
2017049426.tif 000013
【図１１】
2017049426.tif 000014
【図１２】
2017049426.tif 000015
【図１３】
2017049426.tif 000016
【図１４】
2017049426.tif 000017
【図１５】
2017049426.tif 000018
【図１６】
2017049426.tif 000019
【図１７】
2017049426.tif 000020
【図１８】
2017049426.tif 000021