(57)【要約】      （修正有）【課題】位相差検出方式により算出される位相差の精度を向上させる測距装置を提供する。【解決手段】レンズ２０の互いに異なる領域を通過した被写体からの光束に基づいて生成される位相差算出用の一対の画像間の位相差を算出する測距装置１００は、焦点ずれに応じて発生する一対の画像間の像の位置ずれの方向であるずれ方向における一対の画像の一方の画像の画素値の変化の特徴を示す特徴パターンを、一方の画像におけるずれ方向に配置された画素間の画素値の差分に基づいて抽出する特徴パターン抽出部１２０と、一対の画像間の位相差を算出する際のウィンドウの位置とサイズを特徴パターンに基づいて設定するウィンドウ設定部１４０と、一対の画像におけるウィンドウ内の位相差を、一対の画像間の位相差として算出する位相差算出部１６０とを有する。【選択図】図１
2018025442.tif 000002
【特許請求の範囲】
【請求項１】
レンズの互いに異なる領域を通過した被写体からの光束に基づいて生成される位相差算出用の一対の画像間の位相差を算出する測距装置において、
焦点ずれに応じて発生する前記一対の画像間の像の位置ずれの方向であるずれ方向における前記一対の画像の一方の画像の画素値の変化の特徴を示す特徴パターンを、前記一方の画像における前記ずれ方向に配置された画素間の画素値の差分に基づいて抽出する特徴パターン抽出部と、
前記一対の画像間の位相差を算出する際のウィンドウの位置とサイズを前記特徴パターンに基づいて設定するウィンドウ設定部と、
前記一対の画像における前記ウィンドウ内の位相差を、前記一対の画像間の位相差として算出する位相差算出部と
を有することを特徴とする測距装置。
【請求項２】
請求項１に記載の測距装置において、
前記一対の画像を含む入力画像から、測距の対象となる測距領域を選択する測距領域選択部と、
複数の前記ウィンドウが前記測距領域内に設定された場合、複数の前記ウィンドウ毎に算出された前記一対の画像間の位相差に基づいて、前記一対の画像における前記測距領域内の位相差を算出する代表位相差算出部とをさらに有する
ことを特徴とする測距装置。
【請求項３】
請求項１または請求項２に記載の測距装置において、
前記特徴パターン抽出部は、前記差分が”０”になる前記一方の画像の前記ずれ方向の位置を境界とし、前記境界間の画素値の変化のパターンのうち、前記ずれ方向の幅が所定値以上の前記パターンを前記特徴パターンとして抽出する
ことを特徴とする測距装置。
【請求項４】
請求項３に記載の測距装置において、
前記特徴パターン抽出部は、前記一方の画像のノイズのレベルを算出し、前記差分の絶対値が前記ノイズのレベル以下で連続する複数の前記パターンを１つの前記特徴パターンとして抽出する
ことを特徴とする測距装置。
【請求項５】
請求項１ないし請求項４のいずれか１項に記載の測距装置において、
前記ウィンドウ設定部は、複数の前記特徴パターンを含む前記ウィンドウを設定する
ことを特徴とする測距装置。
【請求項６】
請求項５に記載の測距装置において、
前記ウィンドウ設定部は、２つの前記特徴パターンを含む前記ウィンドウを設定する
ことを特徴とする測距装置。
【請求項７】
請求項５または請求項６に記載の測距装置において、
前記ウィンドウ設定部は、前記ウィンドウに含まれる複数の前記特徴パターンの各々の前記ずれ方向の幅が前記ウィンドウの前記ずれ方向の幅に対して所定の割合以下になるように、前記ウィンドウのサイズを調整する
ことを特徴とする測距装置。
【請求項８】
レンズの互いに異なる領域を通過した被写体からの光束に基づいて生成される位相差算出用の一対の画像間の位相差を算出する測距装置による測距方法において、
前記測距装置が有する特徴パターン抽出部が、焦点ずれに応じて発生する前記一対の画像間の像の位置ずれの方向であるずれ方向における前記一対の画像の一方の画像の画素値の変化の特徴を示す特徴パターンを、前記一方の画像における前記ずれ方向に配置された画素間の画素値の差分に基づいて抽出し、
前記測距装置が有するウィンドウ設定部が、前記一対の画像間の位相差を算出する際のウィンドウの位置とサイズを前記特徴パターンに基づいて設定し、
前記測距装置が有する位相差算出部が、前記一対の画像における前記ウィンドウ内の位相差を、前記一対の画像間の位相差として算出する
ことを特徴とする測距方法。
【請求項９】
レンズの互いに異なる領域を通過した被写体からの光束に基づいて生成される位相差算出用の一対の画像間の位相差を算出する測距処理をコンピュータに実行させる測距プログラムにおいて、
焦点ずれに応じて発生する前記一対の画像間の像の位置ずれの方向であるずれ方向における前記一対の画像の一方の画像の画素値の変化の特徴を示す特徴パターンを、前記一方の画像における前記ずれ方向に配置された画素間の画素値の差分に基づいて抽出し、
前記一対の画像間の位相差を算出する際のウィンドウの位置とサイズを前記特徴パターンに基づいて設定し、
前記一対の画像における前記ウィンドウ内の位相差を、前記一対の画像間の位相差として算出する
ことを特徴とする測距プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、測距装置、測距方法および測距プログラムに関する。
【背景技術】
【０００２】
位相差検出方式のオートフォーカス制御を実行するデジタルカメラ等の撮像装置は、例えば、焦点検出用の画素と撮像用の画素とを含む撮像素子を有する（例えば、特許文献１参照）。例えば、撮像装置が有する測距装置は、撮像素子の所定の領域に配置された焦点検出用の画素により生成される一対の画像間の位相差を算出し、算出した位相差に基づいてデフォーカス量を算出する。
【０００３】
近年、焦点ずれの方向に対して垂直方向に配置された焦点検出用の画素のうちの位相差の算出に使用する画素の数を変更可能な撮像装置が提案されている（例えば、特許文献２、３参照）。この種の撮像装置は、例えば、焦点ずれの方向に対して垂直方向に配置された焦点検出用の画素において、位相差の算出に使用する画素の数を、被写体の輝度、あるいは、撮影光学系のＦ値等に応じて変更する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１３７５０８号公報
【特許文献２】特開２０１４−２３９５０７号公報
【特許文献３】特開２０１３−７２９０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
位相差の算出に使用される画素領域（以下、ウィンドウとも称する）の焦点ずれの方向のサイズが固定されている場合、例えば、一対の画像の各々の感度のずれの影響等により、位相差の算出精度が低下するおそれがある。例えば、一対の画像の各々の感度がずれている場合、焦点ずれの方向のサイズが大きいウィンドウを用いて算出される位相差の精度は、焦点ずれの方向のサイズが小さいウィンドウを用いて算出される位相差の精度に比べて高い。しかしながら、ウィンドウのサイズを大きくすると、焦点合わせの対象とは異なる被写体を含む複数の被写体がウィンドウ内に含まれ、位相差の算出精度が低下するおそれがある。また、ウィンドウのサイズが大きくなるにしたがい、位相差の算出にかかる処理時間は増加する。
【０００６】
１つの側面では、本発明は、位相差検出方式により算出される位相差の精度を向上させることを目的とする。
【課題を解決するための手段】
【０００７】
一観点によれば、レンズの互いに異なる領域を通過した被写体からの光束に基づいて生成される位相差算出用の一対の画像間の位相差を算出する測距装置は、焦点ずれに応じて発生する一対の画像間の像の位置ずれの方向であるずれ方向における一対の画像の一方の画像の画素値の変化の特徴を示す特徴パターンを、一方の画像におけるずれ方向に配置された画素間の画素値の差分に基づいて抽出する特徴パターン抽出部と、一対の画像間の位相差を算出する際のウィンドウの位置とサイズを特徴パターンに基づいて設定するウィンドウ設定部と、一対の画像におけるウィンドウ内の位相差を、一対の画像間の位相差として算出する位相差算出部とを有する。
【０００８】
別の観点によれば、レンズの互いに異なる領域を通過した被写体からの光束に基づいて生成される位相差算出用の一対の画像間の位相差を算出する測距装置による測距方法では、測距装置が有する特徴パターン抽出部が、焦点ずれに応じて発生する一対の画像間の像の位置ずれの方向であるずれ方向における一対の画像の一方の画像の画素値の変化の特徴を示す特徴パターンを、一方の画像におけるずれ方向に配置された画素間の画素値の差分に基づいて抽出し、測距装置が有するウィンドウ設定部が、一対の画像間の位相差を算出する際のウィンドウの位置とサイズを特徴パターンに基づいて設定し、測距装置が有する位相差算出部が、一対の画像におけるウィンドウ内の位相差を、一対の画像間の位相差として算出する。
【０００９】
別の観点によれば、レンズの互いに異なる領域を通過した被写体からの光束に基づいて生成される位相差算出用の一対の画像間の位相差を算出する測距処理をコンピュータに実行させる測距プログラムは、焦点ずれに応じて発生する一対の画像間の像の位置ずれの方向であるずれ方向における一対の画像の一方の画像の画素値の変化の特徴を示す特徴パターンを、一方の画像におけるずれ方向に配置された画素間の画素値の差分に基づいて抽出し、一対の画像間の位相差を算出する際のウィンドウの位置とサイズを特徴パターンに基づいて設定し、一対の画像におけるウィンドウ内の位相差を、一対の画像間の位相差として算出する。
【発明の効果】
【００１０】
位相差検出方式により算出される位相差の精度を向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】測距装置、測距方法および測距プログラムの一実施形態を示す図である。
【図２】測距装置、測距方法および測距プログラムの別の実施形態を示す図である。
【図３】位相差検出方式による焦点調整の概要を示す図である。
【図４】位相差算出用の画像の概要を示す図である。
【図５】図２に示した特徴パターン抽出部およびウィンドウ設定部の動作の概要を示す図である。
【図６】図２に示したウィンドウ設定部の動作の一例を示す図である。
【図７】図２に示した測距装置の動作の一例を示す図である。
【図８】測距プログラムを実行するハードウェアの一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、実施形態について、図面を用いて説明する。
【００１３】
図１は、測距装置、測距方法および測距プログラムの一実施形態を示す。図１に示す測距装置１００は、レンズ２０の合焦時の位置からのずれ量であるデフォーカス量に応じて発生する一対の画像ＩＭＧｆ（ＩＭＧｆｌ、ＩＭＧｆｒ）間の位相差を算出する。例えば、測距装置１００は、デジタルカメラ等の撮像装置１０に搭載される。測距装置１００が実行する測距処理等は、ハードウェアのみで実現されてもよく、測距プログラム等のソフトウェアによりハードウェアを制御することにより実現されてもよい。例えば、測距プログラムは、レンズ２０の互いに異なる領域を通過した被写体からの光束に基づいて生成される位相差算出用の一対の画像ＩＭＧｆ間の位相差を算出する測距処理を、撮像装置１０に搭載されるコンピュータに実行させてもよい。
【００１４】
先ず、撮像装置１０について説明する。撮像装置１０は、例えば、レンズ２０、撮像素子３０および測距装置１００を有する。レンズ２０は、被写体の像を撮像素子３０の撮像領域（受光面）に結像する。撮像素子３０は、ＣＣＤ(Charge Coupled Device)またはＣＭＯＳ（Complementary Metal Oxide Semiconductor）等を用いたイメージセンサである。例えば、撮像素子３０は、複数の画像表示用の画素ＰＸ１０と、一対の位相差算出用の画素ＰＸ２（ＰＸ２１、ＰＸ２２）の列とを有し、レンズ２０を介して受ける光束に基づいて画像ＩＭＧを生成する。図１の括弧内に、位相差算出用の画素ＰＸ２１の列および画素ＰＸ２２の列の一例と、位相差算出用の一対の画像ＩＭＧｆ（ＩＭＧｆｌ、ＩＭＧｆｒ）の各画素値の一例と、画像ＩＭＧｆｌにおける互いに隣接する画素ＰＸ２２の差分値の一例とを示す。
【００１５】
図１に示す例では、一対の位相差算出用の画素ＰＸ２１、ＰＸ２２は、撮像素子３０の中央付近の領域ＡＲに左右方向に沿って２画素置きに配置される。すなわち、一対の位相差算出用の画素ＰＸ２の列は、撮像素子３０の中央付近の領域ＡＲに配置される。なお、一対の位相差算出用の画素ＰＸ２の列は、撮像素子３０の中央付近以外の領域に配置されてもよい。また、撮像素子３０は、一対の位相差算出用の画素ＰＸ２の列を複数有してもよい。各画素ＰＸ（ＰＸ１０、ＰＸ２１、ＰＸ２２）の受光面上には図示しないマイクロレンズが配置される。各画素ＰＸは、レンズ２０およびマイクロレンズを介して入射される被写体からの光束を、画素値を示す電気信号に変換する。
【００１６】
位相差算出用の各画素ＰＸ２１は、例えば、受光面の右半分が遮光用の部材により遮光され、レンズ２０の右半分を通過した被写体からの光束を受ける。これにより、画素ＰＸ２１の列は、レンズ２０の右半分を通過した被写体からの光束に基づいて、位相差算出用の一対の画像ＩＭＧｆ（ＩＭＧｆｌ、ＩＭＧｆｒ）のうちの画像ＩＭＧｆｒを生成する。以下、画像ＩＭＧｆｒは、右画像ＩＭＧｆｒとも称される。図１等の図面では、遮光される受光面を黒色で示す。
【００１７】
位相差算出用の各画素ＰＸ２２は、例えば、受光面の左半分が遮光用の部材により遮光され、レンズ２０の左半分を通過した被写体からの光束を受ける。これにより、画素ＰＸ２２の列は、レンズ２０の左半分を通過した被写体からの光束に基づいて、位相差算出用の一対の画像ＩＭＧｆのうちの画像ＩＭＧｆｌを生成する。以下、画像ＩＭＧｆｌは、左画像ＩＭＧｆｌとも称される。
【００１８】
このように、撮像素子３０は、レンズ２０の互いに異なる領域を通過した被写体からの光束に基づいて、位相差算出用の一対の画像ＩＭＧｆ（図１に示す例では、左右に瞳分割した一対の像）を生成する。左右に瞳分割した一対の像が位相差算出用の一対の画像ＩＭＧｆとして生成される場合、レンズ２０の合焦時の位置からのずれ（以下、焦点ずれとも称する）に応じて発生する一対の画像ＩＭＧｆ間の像の位置ずれの方向であるずれ方向は、左右方向である。なお、一対の画像ＩＭＧｆの一方がレンズ２０の上半分を通過した被写体からの光束に基づいて生成され、一対の画像ＩＭＧｆの他方がレンズ２０の下半分を通過した被写体からの光束に基づいて生成される場合、ずれ方向は、左右方向に対して垂直方向である。
【００１９】
撮像装置１０は、例えば、後述する測距装置１００により算出された一対の画像ＩＭＧｆ間の位相差に基づいて、焦点を調整する。焦点が調整された後、撮像素子３０は、位相差算出用の各画素ＰＸ２１、ＰＸ２２の画素値を周辺の画素ＰＸ１０の画素値等を用いて補間して、表示用の画像ＩＭＧを生成する。
【００２０】
ここで、図１の括弧内に示す例では、一対の位相差算出用の画素ＰＸ２（ＰＸ２１、ＰＸ２２）の感度が互いに異なり、かつ、一対の画像ＩＭＧｆ（ＩＭＧｆｌ、ＩＭＧｆｒ）間の位相差が”０”の場合における画素ＰＸ２の位置Ｐと画素値との関係を示す。図１の括弧内の画素値のグラフの横軸は、撮像素子３０における左右方向の画素ＰＸ２の位置Ｐを示し、縦軸は、画素ＰＸ２の画素値を示す。例えば、実線は、左画像ＩＭＧｆｌの各画素ＰＸ２２の画素値を示し、点線は、右画像ＩＭＧｆｒの各画素ＰＸ２１の画素値を示す。一対の画像ＩＭＧｆ（ＩＭＧｆｌ、ＩＭＧｆｒ）の各々の感度のずれの影響により、左右方向において互いに同じ位置Ｐに配置された画素ＰＸ２１、ＰＸ２２間で、画素値が異なる。
【００２１】
このため、例えば、位相差の算出に使用する画素ＰＸ２の範囲を規定するウィンドウＷＤとして、位置Ｐ３から位置Ｐ５までの範囲が設定されている場合、距離Ｄに対応する位相差が画像ＩＭＧｆｌ、ＩＭＧｆｒ間の位相差として誤って算出されるおそれがある。これに対し、例えば、位置Ｐ１から位置Ｐ５までの範囲がウィンドウＷＤとして設定されている場合、距離Ｄに対応する位相差が画像ＩＭＧｆｌ、ＩＭＧｆｒ間の位相差として誤って算出されることを抑止することができる。
【００２２】
すなわち、例えば、一対の画像ＩＭＧｆの各々の感度がずれている場合、左右方向のサイズが大きいウィンドウＷＤを用いて算出される位相差の精度は、左右方向のサイズが小さいウィンドウＷＤを用いて算出される位相差の精度に比べて高い。なお、ウィンドウＷＤのサイズを大きくすると、焦点合わせの対象とは異なる被写体を含む複数の被写体がウィンドウＷＤ内に含まれ、位相差の算出精度が低下するおそれがある。
【００２３】
このため、測距装置１００は、後述するように、ウィンドウＷＤの左右方向のサイズ等を一対の画像ＩＭＧｆに基づいて可変に設定する。これにより、ウィンドウＷＤのサイズが固定されている場合に比べて、画像ＩＭＧｆｌ、ＩＭＧｆｒ間の位相差の算出精度を向上することができる。
【００２４】
測距装置１００は、画像ＩＭＧの画像信号を撮像素子３０から受ける。そして、測距装置１００は、レンズ２０の互いに異なる領域を通過した被写体からの光束に基づいて生成される位相差算出用の一対の画像ＩＭＧｆ間の位相差を算出する。例えば、測距装置１００は、特徴パターン抽出部１２０、ウィンドウ設定部１４０および位相差算出部１６０を有する。以下、画像ＩＭＧ、ＩＭＧｆ等の画像信号は、単に、画像ＩＭＧ、ＩＭＧｆ等とも称される。
【００２５】
特徴パターン抽出部１２０は、左右方向（ずれ方向）における一対の画像ＩＭＧｆの一方の画像ＩＭＧｆの画素値の変化の特徴を示す特徴パターンＣＰＴを、一方の画像ＩＭＧｆにおける左右方向に配置された画素ＰＸ２間の画素値の差分に基づいて抽出する。例えば、特徴パターン抽出部１２０は、位相差算出用の一対の画像ＩＭＧｆの一方の画像ＩＭＧｆｌを撮像素子３０から受ける。そして、特徴パターン抽出部１２０は、画像ＩＭＧｆｌにおける左右方向に配置された画素ＰＸ２２間の画素値の差分を、左右方向に互いに隣接する画素ＰＸ２２の組毎に算出する。
【００２６】
図１の括弧内の差分値のグラフの横軸は、撮像素子３０における左右方向の画素ＰＸ２の位置Ｐを示し、縦軸は、左右方向に互いに隣接する画素ＰＸ２２の画素値の差分（差分値）を示す。図１に示す例では、位置Ｐ１、Ｐ３、Ｐ５では、差分値は”０”であり、位置Ｐ１から位置Ｐ３までの範囲では、差分値は正の値であり、位置Ｐ３から位置Ｐ５までの範囲では、差分値は負の値である。位置Ｐ１から位置Ｐ２までは、差分値の絶対値は、徐々に増加し、位置Ｐ２から位置Ｐ３までは、差分値の絶対値は、徐々に減少する。そして、位置Ｐ３から位置Ｐ４までは、差分値の絶対値は、徐々に増加し、位置Ｐ４から位置Ｐ５までは、差分値の絶対値は、徐々に減少する。
【００２７】
例えば、特徴パターン抽出部１２０は、差分値が”０”になる位置Ｐ１、Ｐ３、Ｐ５を境界とし、境界間（例えば、位置Ｐ１、Ｐ３間および位置Ｐ３、Ｐ５間）の画素値の変化のパターンを特徴パターンＣＰＴ（ＣＰＴ１、ＣＰＴ２）として抽出する。そして、特徴パターン抽出部１２０は、特徴パターンＣＰＴを示す情報ＣＩＮＦをウィンドウ設定部１４０に出力する。なお、特徴パターン抽出部１２０は、画像ＩＭＧｆｒから特徴パターンＣＰＴを抽出してもよい。
【００２８】
特徴パターンＣＰＴの抽出に用いる画像ＩＭＧｆは、画像ＩＭＧｆｒ、ＩＭＧｆｌのいずれかに固定されていてもよいし、画像ＩＭＧｆｒ、ＩＭＧｆｌの各々の特性に応じて選択されてもよい。例えば、画像ＩＭＧｆｒ、ＩＭＧｆｌのうち、鋭いエッジを含む画像ＩＭＧｆが特徴パターンＣＰＴの抽出に用いる画像ＩＭＧｆとして選択されてもよい。
【００２９】
ウィンドウ設定部１４０は、一対の画像ＩＭＧｆ間の位相差を算出する際のウィンドウＷＤの位置とサイズを特徴パターンＣＰＴに基づいて設定し、ウィンドウＷＤの位置およびサイズを示す情報ＷＩＮＦを位相差算出部１６０に出力する。ウィンドウＷＤの左右方向のサイズを変更することにより、左右方向に配置された画素ＰＸ２のうち、位相差の算出に使用する画素ＰＸ２の数を変更することができる。
【００３０】
例えば、ウィンドウ設定部１４０は、２つ以上の特徴パターンＣＰＴが抽出された場合、２つの特徴パターンＣＰＴが含まれる範囲（図１では、位置Ｐ１から位置Ｐ５までの範囲）をウィンドウＷＤとして設定する。なお、ウィンドウ設定部１４０は、２つの特徴パターンＣＰＴのそれぞれの一部が含まれる範囲（例えば、位置Ｐ２から位置Ｐ４までの範囲）をウィンドウＷＤとして設定してもよい。すなわち、ウィンドウ設定部１４０は、画像ＩＭＧｆｌの画素値が増加する部分と減少する部分との両方を含む範囲をウィンドウＷＤとして設定する。
【００３１】
また、ウィンドウ設定部１４０は、３つ以上の特徴パターンＣＰＴが含まれる範囲をウィンドウＷＤとして設定してもよい。また、ウィンドウ設定部１４０は、抽出された特徴パターンＣＰＴが１つの場合、１つの特徴パターンＣＰＴを含むウィンドウＷＤを設定する。また、ウィンドウ設定部１４０は、特徴パターンＣＰＴが抽出されない場合、例えば、画像ＩＭＧｆｌ、ＩＭＧｆｒの一方の画像ＩＭＧｆをシフトして位相差を算出する際の最大シフト量に対応する範囲を、ウィンドウＷＤとして設定する。
【００３２】
位相差算出部１６０は、位相差算出用の一対の画像ＩＭＧｆを撮像素子３０から受ける。そして、位相差算出部１６０は、一対の画像ＩＭＧｆにおけるウィンドウＷＤ内の位相差を、一対の画像ＩＭＧｆ間の位相差として算出する。例えば、位相差算出部１６０は、ウィンドウＷＤの設定に使用した左画像ＩＭＧｆｌに対して右画像ＩＭＧｆｒの位置をシフトしながら、画像ＩＭＧｆｌ、ＩＭＧｆｒの互いに対応する位置のウィンドウＷＤ内の画素ＰＸ２の画素値の差分絶対値和を逐次算出する。そして、位相差算出部１６０は、差分絶対値和が最小になるシフト量を、一対の画像ＩＭＧｆ間の位相差として算出する。
【００３３】
図１に示す例では、画像ＩＭＧｆｌの画素値が増加する部分と減少する部分との両方を含む位置Ｐ１から位置Ｐ５までの範囲がウィンドウＷＤとして設定される。このため、画像ＩＭＧｆｌの画素値が増加する部分と減少する部分との一方のみを含む範囲（例えば、位置Ｐ３から位置Ｐ５までの範囲）がウィンドウＷＤとして設定され場合に比べて、位相差算出部１６０は、一対の画像ＩＭＧｆ間の位相差を精度よく算出できる。
【００３４】
このように、測距装置１００は、画像ＩＭＧｆの左右方向の画素値の変化の特徴を示す複数の特徴パターンＣＰＴを含むウィンドウＷＤを設定する。これにより、一対の画像ＩＭＧｆの各々の感度のずれの影響等による位相差の算出精度の低下を抑制することができる。
【００３５】
なお、ウィンドウＷＤのサイズによるメリットおよびデメリットは、一対の画像ＩＭＧｆの各々の感度のずれの影響以外でも発生する。例えば、ウィンドウＷＤのサイズが大きい方がウィンドウＷＤのサイズが小さい場合に比べて、ノイズの影響を低減する効果は大きく、ウィンドウＷＤのサイズが小さい方がウィンドウＷＤのサイズが大きい場合に比べて、位相差の算出にかかる処理時間は短い。
【００３６】
また、例えば、一対の画像ＩＭＧｆの各々のエッジ（左右方向のエッジ）が他の場合に比べてなだらかである場合、ウィンドウＷＤの左右方向のサイズが大きい方が、ウィンドウＷＤの左右方向のサイズが小さい場合に比べて、位相差の算出精度を向上できる。
【００３７】
ここで、特徴パターンＣＰＴの左右方向の幅は、エッジが鋭くなるにしたがい、すなわち、互いに隣接する画素ＰＸ２２間での画素値の変化が大きくなるにしたがい、狭くなる傾向にある。換言すれば、特徴パターンＣＰＴの左右方向の幅は、エッジがなだらかになるにしたがい、すなわち、互いに隣接する画素ＰＸ２２間での画素値の変化が小さくなるにしたがい、広くなる傾向にある。したがって、なだらかなエッジを有する範囲では、鋭いエッジを有する範囲に比べて、ウィンドウＷＤの左右方向のサイズは大きく設定される。これにより、測距装置１００は、一対の画像ＩＭＧｆの各々のエッジが他の場合に比べてなだらかである場合でも、位相差の算出精度を向上できる。
【００３８】
また、例えば、複数の被写体が存在する場合、ウィンドウＷＤの左右方向のサイズが小さい方が、ウィンドウＷＤの左右方向のサイズが大きい場合に比べて、位相差の算出精度を向上できる。例えば、測距装置１００は、画像ＩＭＧｆの左右方向の画素値の変化の特徴を示す２つの特徴パターンＣＰＴを含むウィンドウＷＤを設定することにより、余計な被写体がウィンドウＷＤに含まれることを抑制できる。この結果、測距装置１００は、複数の被写体の影響による位相差の算出精度の低下を抑制できる。なお、測距装置１００および撮像装置１０の構成は、図１に示す例に限定されない。
【００３９】
以上、図１に示す実施形態では、特徴パターン抽出部１２０は、焦点ずれに応じて発生する一対の画像ＩＭＧｆ間の像の位置ずれの方向であるずれ方向における一対の画像ＩＭＧｆの一方の画像ＩＭＧｆの画素値の変化の特徴を示す特徴パターンＣＰＴを抽出する。例えば、特徴パターン抽出部１２０は、一方の画像ＩＭＧｆにおけるずれ方向に配置された画素ＰＸ２間の画素値の差分に基づいて、特徴パターンＣＰＴを抽出する。また、ウィンドウ設定部１４０は、一対の画像ＩＭＧｆ間の位相差を算出する際のウィンドウＷＤの位置と大きさを特徴パターンＣＰＴに基づいて設定する。そして、位相差算出部１６０は、一対の画像ＩＭＧｆにおけるウィンドウＷＤ内の位相差を、一対の画像ＩＭＧｆ間の位相差として算出する。
【００４０】
このように、測距装置１００は、一対の画像ＩＭＧｆ間の位相差を算出する際のウィンドウＷＤの左右方向のサイズ等を、画像ＩＭＧｆの画素値の変化の特徴を示す特徴パターンＣＰＴに基づいて設定する。これにより、例えば、一対の画像ＩＭＧｆのエッジのなだらかさ、一対の画像ＩＭＧｆの各々の感度のずれの影響等による位相差の算出精度の低下を抑制することができる。すなわち、位相差検出方式により算出される位相差の精度を向上させることができる。
【００４１】
図２は、測距装置、測距方法および測距プログラムの別の実施形態を示す。図１で説明した要素と同一または同様の要素については、同一または同様の符号を付し、これ等については、詳細な説明を省略する。図２に示す測距装置１０２は、測距領域選択部１１０および代表位相差算出部１８０が図１に示した測距装置１００に追加されることを除いて、図１に示した測距装置１００と同一または同様である。例えば、測距装置１０２は、デジタルカメラ等の撮像装置１２に搭載される。測距装置１０２が実行する測距処理等は、ハードウェアのみで実現されてもよく、測距プログラム等のソフトウェアによりハードウェアを制御することにより実現されてもよい。例えば、測距プログラムは、レンズ２０の互いに異なる領域を通過した被写体からの光束に基づいて生成される位相差算出用の一対の画像ＩＭＧｆ間の位相差を算出する測距処理を、撮像装置１２に搭載されるコンピュータに実行させてもよい。なお、撮像装置１２は、図１に示した測距装置１００の代わりに測距装置１０２を有することを除いて、図１に示した撮像装置１０と同一または同様である。例えば、撮像装置１２は、レンズ２０、撮像素子３０および測距装置１０２を有する。なお、図２に示す撮像素子３０は、一対の位相差算出用の画素ＰＸ２の列を複数有する。
【００４２】
測距装置１０２は、レンズ２０の互いに異なる領域を通過した被写体からの光束に基づいて生成される位相差算出用の一対の画像ＩＭＧｆを含む入力画像ＩＭＧを、撮像素子３０から受ける。そして、測距装置１０２は、一対の画像ＩＭＧｆ間の位相差を算出する。例えば、測距装置１０２は、測距領域選択部１１０、特徴パターン抽出部１２０、ウィンドウ設定部１４０、位相差算出部１６０および代表位相差算出部１８０を有する。
【００４３】
測距領域選択部１１０は、撮像素子３０により撮像された入力画像ＩＭＧを受ける。そして、測距領域選択部１１０は、一対の画像ＩＭＧｆを含む入力画像ＩＭＧから、測距の対象となる測距領域ＲＡＲを選択する。例えば、測距領域選択部１１０は、顔検出により検出された顔を含む領域（図の点線で囲んだ領域）を測距領域ＲＡＲとして選択する。そして、測距領域選択部１１０は、測距領域ＲＡＲを示す情報を特徴パターン抽出部１２０に出力する。以下、測距領域選択部１１０により選択された画像ＩＭＧ内の測距領域ＲＡＲに対応する撮像素子３０内の領域も、測距領域ＲＡＲと称される。
【００４４】
特徴パターン抽出部１２０、ウィンドウ設定部１４０および位相差算出部１６０は、図１に示した特徴パターン抽出部１２０、ウィンドウ設定部１４０および位相差算出部１６０と同一または同様である。例えば、特徴パターン抽出部１２０は、撮像素子３０から受けた画像ＩＭＧｆに基づいて、測距領域ＲＡＲ内に配置された位相差算出用の画素列毎（例えば、画素ＰＸ２２の画素列の行毎）に特徴パターンＣＰＴを抽出する。そして、ウィンドウ設定部１４０は、特徴パターン抽出部１２０により抽出された特徴パターンＣＰＴに基づいて、ウィンドウＷＤを測距領域ＲＡＲ内に設定する。図２の括弧内に示す例では、ウィンドウ設定部１４０は、一対の位相差算出用の画素ＰＸ２の列を含む９つのウィンドウＷＤ（ＷＤ１１、ＷＤ１２、ＷＤ１３、ＷＤ２１、ＷＤ２２、ＷＤ２３、ＷＤ３１、ＷＤ３２、ＷＤ３３）を測距領域ＲＡＲ内に設定する。また、位相差算出部１６０は、ウィンドウ設定部１４０により設定されたウィンドウＷＤ毎に、一対の画像ＩＭＧｆ間の位相差を算出する。なお、ウィンドウＷＤの数は、図２に示す例に限定されない。
【００４５】
代表位相差算出部１８０は、ウィンドウＷＤ毎に算出された一対の画像ＩＭＧｆ間の位相差を示す情報を、位相差算出部１６０から受ける。そして、代表位相差算出部１８０は、複数のウィンドウＷＤが測距領域ＲＡＲ内に設定された場合、複数のウィンドウＷＤ毎に算出された一対の画像ＩＭＧｆ間の位相差に基づいて、一対の画像ＩＭＧｆにおける測距領域ＲＡＲ内の位相差を算出する。例えば、代表位相差算出部１８０は、測距領域ＲＡＲ内に設定された複数のウィンドウＷＤ内の位相差の平均を、一対の画像ＩＭＧｆにおける測距領域ＲＡＲ内の位相差として算出する。あるいは、代表位相差算出部１８０は、測距領域ＲＡＲ内に設定された複数のウィンドウＷＤ内の位相差の信頼度を重みとした位相差の加重平均を、一対の画像ＩＭＧｆにおける測距領域ＲＡＲ内の位相差として算出してもよい。また、代表位相差算出部１８０は、測距領域ＲＡＲ内に設定された複数のウィンドウＷＤ内の位相差のうち、信頼度が最も高いウィンドウＷＤ内の位相差を、一対の画像ＩＭＧｆにおける測距領域ＲＡＲ内の位相差として選択してもよい。
【００４６】
なお、測距装置１０２および撮像装置１２の構成は、図２に示す例に限定されない。例えば、測距領域選択部１１０は、撮像装置１２がタッチパネル等を有する場合、撮像装置１２の利用者によりタッチパネルで指定された範囲を、測距領域ＲＡＲとして選択してもよい。
【００４７】
図３は、位相差検出方式による焦点調整の概要を示す。図３は、合焦位置が結像面（撮像素子３０）よりレンズ２０側に位置する前ピンの状態を示している。結像面で焦点が合わない場合、被写体ＯＢＪが左右に分散されて投影され、ぼけた画像が生成される。レンズ２０の左半分および右半分をそれぞれ通過した光（以下、左右の光とも称する）の結像位置は、合焦位置と結像面のずれに依存する。例えば、前ピンの場合では、左右の光は、逆位置に投影され、結像面が合焦位置よりレンズ２０側に位置する後ピンの場合では、左右の光は、順位置に投影される。レンズ２０の左半分および右半分をそれぞれ通過した光の結像位置のずれ(位相差)を検出できれば焦点のずれを調整できるが、１つのレンズ２０のみでは結像面で左右の光が重なるため、位相差を検出することは困難である。
【００４８】
このため、撮像装置１２では、図４に示すように、レンズ２０の右半分を通過した被写体からの光束を受ける画素ＰＸ２１とレンズ２０の左半分を通過した被写体からの光束を受ける画素ＰＸ２２とを用いて、右画像ＩＭＧｆｒと左画像ＩＭＧｆｌとを生成する。なお、図３では、説明を分かりやすくするために、画素ＰＸ２１、ＰＸ２２における遮光された領域に対応するレンズ２０の領域を黒色で示している。すなわち、画素ＰＸ２１、ＰＸ２２が受ける光が通過するレンズ２０の領域を白抜きで示している。
【００４９】
位相差算出用の画素ＰＸ２１、２２を用いることにより、結像位置の異なる左画像ＩＭＧｆｌと右画像ＩＭＧｆｒとを分離でき、一対の画像ＩＭＧｆ間の位相差を求めることで焦点がどの程度ずれているかを観測することができる。例えば、位相差算出部１６０は、左画像ＩＭＧｆｌに対して右画像ＩＭＧｆｒの位置をシフトしながら、画像ＩＭＧｆｌ、ＩＭＧｆｒの互いに対応する位置のウィンドウＷＤ内の画素ＰＸ２の画素値の差分絶対値和を逐次算出する。
【００５０】
例えば、シフト量ｓに対応する差分絶対値和をＳＡＤ（ｓ）と表した場合、差分絶対値和ＳＡＤ（ｓ）が最小となるシフト量ｓを求めることにより、被写体ＯＢＪのぼけの程度を推定することができる。位相差算出部１６０は、差分絶対値和ＳＡＤ（ｓ）が最小になるシフト量ｓを位相差として算出する。なお、右画像ＩＭＧｆｒを１画素単位でシフトした場合、算出される位相差は、整数単位となる。このため、位相差算出部１６０は、等角直線フィッティングと呼ばれるフィッティング方法等により、差分絶対値和ＳＡＤ（ｓ）が最小となるシフト量ｓを小数画素精度で算出してもよい。なお、フィッティング方法は、等角直線フィッティングに限定されない。
【００５１】
図４は、位相差算出用の画像ＩＭＧｆの概要を示す。測距領域選択部１１０により選択された測距領域ＲＡＲ内には、一対の位相差算出用の画素ＰＸ２（画素ＰＸ２１、ＰＸ２２）の列が複数配置されている。図４に示すグラフの横軸は、測距領域ＲＡＲにおける左右方向の画素ＰＸ２の位置Ｐを示し、縦軸は、画素ＰＸ２の画素値を示す。
【００５２】
各ウィンドウＷＤの縦方向（左右方向に対して垂直方向）のサイズが、画素ＰＸ２１の画素列と画素ＰＸ２２の画素列とをそれぞれ１行含む範囲である場合（図４（ａ））、位相差算出用の一対の画像ＩＭＧｆの各々は、１行の画素列を使用して生成される。例えば、画素ＰＸ２１の画素列の行毎に右画像ＩＭＧｆｒが生成され、画素ＰＸ２２の画素列の行毎に左画像ＩＭＧｆｌが生成される。
【００５３】
各ウィンドウＷＤの縦方向のサイズが、画素ＰＸ２１の画素列と画素ＰＸ２２の画素列とをそれぞれ複数行含む範囲である場合（図４（ｂ））、位相差算出用の一対の画像ＩＭＧｆの各々は、複数行の画素列を使用して生成される。例えば、画素ＰＸ２１の画素列の列毎に画素値を加算して右画像ＩＭＧｆｒが生成され、画素ＰＸ２２の画素列の列毎に画素値を加算して左画像ＩＭＧｆｌが生成される。
【００５４】
図４（ｂ）に示す例では、ウィンドウＷＤの縦方向のサイズは、画素ＰＸ２１の画素列と画素ＰＸ２２の画素列とをそれぞれ２行含む範囲である。この場合、例えば、特徴パターン抽出部１２０は、ウィンドウＷＤの縦方向に配置された２つの画素ＰＸ２１の画素値を加算して右画像ＩＭＧｆｒを生成し、ウィンドウＷＤの縦方向に配置された２つの画素ＰＸ２２の画素値を加算して左画像ＩＭＧｆｌを生成する。なお、一対の画像ＩＭＧｆは、特徴パターン抽出部１２０以外のモジュールにより算出されてもよい。
【００５５】
また、各ウィンドウＷＤの縦方向のサイズは、固定されていてもよいし、被写体の輝度、あるいは、撮影光学系のＦ値等に応じて変更されてもよい。すなわち、各ウィンドウＷＤに含まれる画素ＰＸ２１の画素列および画素ＰＸ２２の画素列の行数は、予め決められた行数に固定されていてもよいし、被写体の輝度、あるいは、撮影光学系のＦ値等に応じて変更されてもよい。
【００５６】
図５は、図２に示した特徴パターン抽出部１２０およびウィンドウ設定部１４０の動作の概要を示す。図４に示す画素値のグラフの横軸は、測距領域ＲＡＲにおける左右方向（ずれ方向）の画素ＰＸ２２の位置Ｐを示し、縦軸は、画素ＰＸ２２の画素値、すなわち、左画像ＩＭＧｆｌの画素値を示す。また、図４に示す差分値のグラフの横軸は、測距領域ＲＡＲにおける左右方向の画素ＰＸ２２の位置Ｐを示し、縦軸は、左右方向に互いに隣接する画素ＰＸ２２の画素値の差分（差分値）を示す。
【００５７】
特徴パターン抽出部１２０は、一対の画像ＩＭＧｆの一方の画像ＩＭＧｆのノイズのレベルＮを算出する。例えば、特徴パターン抽出部１２０は、左画像ＩＭＧｆｌに対してフィルタ処理を実行する。そして、特徴パターン抽出部１２０は、フィルタ処理前の左画像ＩＭＧｆｌとフィルタ処理後の左画像ＩＭＧｆｌとの差分を算出し、差分の平均値をノイズのレベルＮとして算出する。なお、特徴パターン抽出部１２０は、フィルタ処理前の入力画像ＩＭＧとフィルタ処理後の入力画像ＩＭＧとの差分の平均値を、一方の画像ＩＭＧｆのノイズのレベルＮとして算出してもよい。
【００５８】
また、特徴パターン抽出部１２０は、左画像ＩＭＧｆｌにおける左右方向に配置された画素ＰＸ２２間の画素値の差分を算出する。例えば、特徴パターン抽出部１２０は、画素ＰＸ２２がｍ（ｍは正の整数）画素間隔で左右方向に配置された画素列において、ｍ画素離れた画素ＰＸ２２間の画素値（すなわち、互いに隣接する画素ＰＸ２２の画素値）の差分を算出する。なお、特徴パターン抽出部１２０は、ｍ＊ｉ（ｉは２以上の整数）画素離れた画素ＰＸ２２間の画素値の差分を算出してもよい。
【００５９】
そして、特徴パターン抽出部１２０は、画素ＰＸ２２間の画素値の差分が”０”になる一方の画像ＩＭＧｆｌの左右方向の位置を境界とし、境界間の画素値の変化のパターンのうち、左右方向の幅が所定値以上のパターンを特徴パターンＣＰＴとして抽出する。図５に示す例では、左右方向の幅（境界間の画素数）が所定値未満のパターンＰＴ１、ＰＴ２は、特徴パターンＣＰＴとして抽出されない。所定値は、例えば、実験、シミュレーション等に基づいて、ノイズ等が特徴パターンＣＰＴとして抽出されないように決定される。図５の丸印は、差分値が”０”になる位置Ｐを示し、丸印のうちの黒丸は、特徴パターンＣＰＴの境界を示す。
【００６０】
また、特徴パターン抽出部１２０は、画素ＰＸ２２間の画素値の差分の絶対値がノイズのレベルＮ以下で連続する複数のパターンを１つの特徴パターンＣＰＴとして抽出する。これにより、図５に示す例では、水平のエッジとして特徴パターンＣＰＴ１４が抽出される。このように、特徴パターン抽出部１２０は、画像ＩＭＧｆのノイズ、エッジの鋭さ、エッジの左右方向の幅等に基づいて、特徴パターンＣＰＴ１０、ＣＰＴ１１、ＣＰＴ１２、ＣＰＴ１３、ＣＰＴ１４、ＣＰＴ１５、ＣＰＴ１６を抽出する。例えば、特徴パターンＣＰＴの左右方向の幅は、鋭いエッジの部分では狭く設定され、なだらかなエッジの部分では広く設定される。
【００６１】
ここで、ノイズのレベルＮの算出に、一対の画像ＩＭＧｆの一方の画像ＩＭＧｆが使用された場合、フィルタ処理後の画像ＩＭＧｆを、特徴パターンＣＰＴの抽出に使用することにより、ノイズの影響を低減することができる。なお、ノイズのレベルＮの算出に、一対の画像ＩＭＧｆの一方の画像ＩＭＧｆが使用された場合でも、フィルタ処理前の画像ＩＭＧｆが特徴パターンＣＰＴの抽出に使用されてもよい。
【００６２】
特徴パターンＣＰＴが抽出された後、ウィンドウ設定部１４０は、ウィンドウＷＤを設定する。例えば、ウィンドウ設定部１４０は、ウィンドウＷＤを設定する際の優先順位を、特徴パターンＣＰＴ間の境界毎に決定する。なお、ウィンドウ設定部１４０は、ウィンドウＷＤを設定する際の優先順位を特徴パターンＣＰＴ毎に決定してもよい。
【００６３】
例えば、ウィンドウ設定部１４０は、測距領域ＲＡＲの中心ＰＲＣからの距離に基づいて、優先順位を設定する。この場合、測距領域ＲＡＲの中心ＰＲＣに近い境界（または、特徴パターンＣＰＴ）ほど高い優先順位が設定される。あるいは、ウィンドウ設定部１４０は、特徴パターンＣＰＴの鋭さ、または、境界を挟む２つの特徴パターンＣＰＴの鋭さに基づいて、優先順位を設定する。この場合、鋭い特徴パターンＣＰＴの境界（または、鋭い特徴パターンＣＰＴ）ほど高い優先順位が設定される。なお、ウィンドウ設定部１４０は、測距領域ＲＡＲの中心ＰＲＣからの距離および特徴パターンＣＰＴの鋭さの両方に基づいて、優先順位を設定してもよい。
【００６４】
例えば、特徴パターンＣＰＴ間の境界は、位置Ｐ１１０、Ｐ１２０、Ｐ１３０、Ｐ１４０、Ｐ１７０に位置する境界である。測距領域ＲＡＲの中心ＰＲＣからの距離に基づいて優先順位が設定される場合、位置Ｐ１４０、Ｐ１３０、Ｐ１２０、Ｐ１１０、Ｐ１７０の順に、高い優先順位が設定される。また、境界を挟む２つの特徴パターンＣＰＴの鋭さに基づいて優先順位が設定される場合、位置Ｐ１７０、Ｐ１２０、Ｐ１１０、Ｐ１３０、Ｐ１４０の順に、高い優先順位が設定される。あるいは、測距領域ＲＡＲの中心ＰＲＣからの距離と、境界を挟む２つの特徴パターンＣＰＴの鋭さとの両方に基づいて優先順位が設定される場合、位置Ｐ１３０、Ｐ１４０、Ｐ１２０、Ｐ１７０、Ｐ１１０の順に、高い優先順位が設定される。
【００６５】
図５に示す例では、ウィンドウ設定部１４０は、測距領域ＲＡＲの中心ＰＲＣからの距離と、境界を挟む２つの特徴パターンＣＰＴの鋭さとの両方に基づいて、優先順位を設定する。そして、ウィンドウ設定部１４０は、優先順位にしたがって、２つ以上の特徴パターンＣＰＴを含む範囲をウィンドウＷＤとして設定する。
【００６６】
例えば、ウィンドウ設定部１４０は、最も高い優先順位に設定した位置Ｐ１３０の境界の両側に位置する特徴パターンＣＰＴ１２、ＣＰＴ１３を含む範囲（位置Ｐ１２０から位置Ｐ１４０までの範囲）をウィンドウＷＤ２０として設定する。これにより、特徴パターンＣＰＴ１２、ＣＰＴ１３間の境界を含むウィンドウＷＤ２０が設定される。図５に示す例では、特徴パターンＣＰＴ１３の左右方向の幅（位置Ｐ１３０、Ｐ１４０間の距離）は、ウィンドウＷＤ２０の左右方向の幅（位置Ｐ１２０、Ｐ１４０間の距離）に対して所定の割合を超えている。複数の特徴パターンＣＰＴのうちの１つの特徴パターンＣＰＴの割合が大きくなると、位相差を算出する際に１つの特徴パターンＣＰＴの影響を受けやすくなり、位相差の算出精度が低下するおそれがある。
【００６７】
このため、ウィンドウ設定部１４０は、特徴パターンＣＰＴ１３の幅がウィンドウＷＤ２０の幅に対して所定の割合以下になるように、ウィンドウＷＤ２０の位置Ｐ１４０側の端部を位置Ｐ１３２まで移動する。これにより、ウィンドウＷＤ２０は、ウィンドウＷＤ２２に更新される。すなわち、ウィンドウＷＤ２０の代わりに、ウィンドウＷＤ２２が設定される。なお、所定の割合は、例えば、実験、シミュレーション等に基づいて決定される。
【００６８】
このように、ウィンドウ設定部１４０、ウィンドウＷＤに含まれる複数の特徴パターンＣＰＴの各々のずれ方向の幅がウィンドウＷＤのずれ方向の幅に対して所定の割合以下になるように、ウィンドウＷＤのサイズを調整する。これにより、位相差を算出する際に１つの特徴パターンＣＰＴの影響が大きくなることを抑制でき、位相差の算出精度の低下を抑制することができる。
【００６９】
次に、２番目に高い優先順位に設定された位置Ｐ１４０の境界では、両側に位置する特徴パターンＣＰＴ１３、ＣＰＴ１４のうち、特徴パターンＣＰＴ１３を含むウィンドウＷＤ２０が既に設定されている。さらに、３番目に高い優先順位に設定された位置Ｐ１２０の境界でも、両側に位置する特徴パターンＣＰＴ１１、ＣＰＴ１２のうち、特徴パターンＣＰＴ１２を含むウィンドウＷＤ２０が既に設定されている。このため、ウィンドウ設定部１４０は、４番目に高い優先順位に設定した位置Ｐ１７０の境界の両側に位置する特徴パターンＣＰＴ１５、ＣＰＴ１６を含む範囲（位置Ｐ１６０から位置Ｐ１８０までの範囲）をウィンドウＷＤ３０として設定する。
【００７０】
次に、ウィンドウ設定部１４０は、最も低い優先順位に設定した位置Ｐ１１０の境界の両側に位置する特徴パターンＣＰＴ１０、ＣＰＴ１１を含む範囲（位置Ｐ１００から位置Ｐ１２０までの範囲）をウィンドウＷＤ１０として設定する。これにより、測距領域ＲＡＲ内にウィンドウＷＤ１０、ＷＤ２０、ＷＤ３０が設定される。
【００７１】
なお、特徴パターンＣＰＴの抽出方法およびウィンドウＷＤの設定方法は、図５に示す例に限定されない。例えば、特徴パターン抽出部１２０は、一方の画像ＩＭＧｆのノイズのレベルＮを算出することなく、特徴パターンＣＰＴを抽出してもよい。
【００７２】
また、ウィンドウ設定部１４０は、特徴パターンＣＰＴ１４を含むウィンドウＷＤを設定してもよい。この場合、ウィンドウ設定部１４０は、位置Ｐ１４０から位置Ｐ１５０までの範囲をウィンドウＷＤとして設定してもよいし、位置Ｐ１３２から位置Ｐ１５０までの範囲をウィンドウＷＤとして設定してもよい。
【００７３】
また、ウィンドウ設定部１４０は、特徴パターンＣＰＴ１３の幅がウィンドウＷＤ２０の幅に対して所定の割合以下になるように、ウィンドウＷＤ２０に含める特徴パターンＣＰＴの数を増加させてもよい。例えば、ウィンドウ設定部１４０は、ウィンドウＷＤ２０の幅を、位置Ｐ１１０から位置Ｐ１４０までの範囲、または、位置Ｐ１００から位置Ｐ１４０までの範囲に広げてもよい。あるいは、ウィンドウ設定部１４０は、ウィンドウＷＤ２０の幅を位置Ｐ１２０から位置Ｐ１５０までの範囲に広げてもよい。なお、ウィンドウＷＤに含める特徴パターンＣＰＴの数を増加させると、複数の被写体がウィンドウＷＤに含まれる可能性が高くなるため、ウィンドウＷＤに含める特徴パターンＣＰＴの数、ウィンドウＷＤのサイズ等の上限を予め設定してもよい。
【００７４】
図６は、図２に示したウィンドウ設定部１４０の動作の一例を示す。なお、図６は、特徴パターンＣＰＴ間の境界に優先順位を設定してウィンドウＷＤを設定する場合のウィンドウ設定部１４０の動作の一例である。図６に示す動作は、ハードウェアのみで実現されてもよく、測距プログラム等のソフトウェアによりハードウェアを制御することにより実現されてもよい。例えば、測距プログラムは、図６に示す動作をコンピュータに実行させてもよい。
【００７５】
ステップＳ１０では、ウィンドウ設定部１４０は、図５で説明したように、特徴パターンＣＰＴ間の境界の優先順位を決定する。
【００７６】
次に、ステップＳ２０では、ウィンドウ設定部１４０は、図５で説明したように、境界および境界の両側に位置する特徴パターンＣＰＴを含むウィンドウＷＤを設定する。例えば、ウィンドウ設定部１４０は、ステップＳ１０で優先順位を決定した境界で、かつ、未処理の境界のうち、最も優先順位の高い境界を選択し、選択した境界の両側に位置する特徴パターンＣＰＴを含む範囲をウィンドウＷＤとして設定する。なお、未処理の境界は、両側に位置する特徴パターンＣＰＴの両方が設定済みのウィンドウＷＤに含まれていない境界である。すなわち、両側に位置する特徴パターンＣＰＴのうちの一方が設定済みのウィンドウＷＤに含まれている境界は、処理済みの境界として扱われ、選択対象から除外される。
【００７７】
次に、ステップＳ３０では、ウィンドウ設定部１４０は、図５で説明したように、ウィンドウＷＤに対する特徴パターンＣＰＴの割合が所定値以下か否かを判定する。例えば、ウィンドウ設定部１４０は、ステップＳ２０で設定したウィンドウＷＤに含まれる特徴パターンＣＰＴの各々の左右方向の幅がステップＳ２０で設定したウィンドウＷＤの左右方向の幅に対して所定の割合以下か否かを判定する。ウィンドウＷＤに対する特徴パターンＣＰＴの割合が所定値以下である場合、ウィンドウ設定部１４０の動作は、ステップＳ５０に移る。一方、ウィンドウＷＤに対する特徴パターンＣＰＴの割合が所定値を超えている場合、ウィンドウ設定部１４０の動作は、ステップＳ４０に移る。
【００７８】
ステップＳ４０では、ウィンドウ設定部１４０は、図５で説明したように、ウィンドウＷＤに対する特徴パターンＣＰＴの割合が所定値以下になるように、ウィンドウＷＤのサイズを調整する。例えば、ウィンドウ設定部１４０は、ステップＳ２０で設定したウィンドウＷＤに含まれる特徴パターンＣＰＴの各々の左右方向の幅がウィンドウＷＤの左右方向の幅に対して所定の割合以下になるように、ウィンドウＷＤの左右方向の幅を調整する。これにより、位相差を算出する際の特徴パターンＣＰＴの影響がウィンドウＷＤに含まれる２つの特徴パターンＣＰＴの一方に偏ることを抑制でき、位相差の算出精度の低下を抑制することができる。ステップＳ４０の処理が実行された後、ウィンドウ設定部１４０の動作は、ステップＳ５０に移る。
【００７９】
ステップＳ５０では、ウィンドウ設定部１４０は、ステップＳ１０で優先順位を決定した境界のうち、全ての境界に対して処理か実行されたか否かを判定する。全ての境界に対して処理か実行された場合、ウィンドウ設定部１４０の動作は、終了する。すなわち、未処理の境界が存在しない場合、ウィンドウ設定部１４０の動作は、終了する。一方、未処理の境界が存在する場合、ウィンドウ設定部１４０の動作は、ステップＳ２０に戻る。
【００８０】
なお、ウィンドウ設定部１４０の動作は、図６に示す例に限定されない。例えば、ウィンドウ設定部１４０は、未処理の境界が存在しない場合、設定済みのウィンドウＷＤに含まれない余った特徴パターンＣＰＴが存在するかを判定し、余った特徴パターンＣＰＴを含むウィンドウＷＤを設定してから動作を終了してもよい。例えば、端に位置する特徴パターンＣＰＴは、ステップＳ２０等の処理を繰り返しても、設定済みのウィンドウＷＤに含まれない場合がある。この場合、端に位置する特徴パターンＣＰＴは、設定済みのウィンドウＷＤに含まれない余った特徴パターンＣＰＴになる。また、図５に示した例では、特徴パターンＣＰＴ１４は、設定済みのウィンドウＷＤに含まれない余った特徴パターンＣＰＴである。
【００８１】
あるいは、ウィンドウ設定部１４０は、ステップＳ２０において、３つ以上の特徴パターンＣＰＴを含むウィンドウＷＤを設定してもよいし、１つの特徴パターンＣＰＴを含むウィンドウＷＤを設定してもよい。また、ウィンドウ設定部１４０は、ステップＳ３０、Ｓ４０を省いてもよい。
【００８２】
図７は、図２に示した測距装置１０２の動作の一例を示す。なお、図７に示す動作は、ハードウェアのみで実現されてもよく、測距プログラム等のソフトウェアによりハードウェアを制御することにより実現されてもよい。例えば、測距プログラムは、図７に示す動作をコンピュータに実行させてもよい。
【００８３】
ステップＳ１００では、測距領域選択部１１０は、図２で説明したように、撮像素子３０から受けた入力画像ＩＭＧから、測距領域ＲＡＲを選択する。
【００８４】
次に、ステップＳ２００では、特徴パターン抽出部１２０は、図４で説明したように、測距領域ＲＡＲ内の位相差算出用の画素ＰＸ２から右画像ＩＭＧｆｒおよび左画像ＩＭＧｆｌを取得する。
【００８５】
次に、ステップＳ３００では、特徴パターン抽出部１２０は、図５で説明したように、測距領域ＲＡＲ内の特徴パターンＣＰＴを抽出する。
【００８６】
次に、ステップＳ４００では、ウィンドウ設定部１４０は、図５および図６で説明したように、ステップＳ３００で抽出した特徴パターンＣＰＴに基づいて、測距領域ＲＡＲ内にウィンドウＷＤを設定する。
【００８７】
次に、ステップＳ５００では、位相差算出部１６０は、一対の画像ＩＭＧｆにおけるウィンドウＷＤ内の位相差を算出する。例えば、位相差算出部１６０は、ステップＳ４００で設定されたウィンドウＷＤのうち、位相差が算出されていないウィンドウＷＤを１つ選択する。そして、位相差算出部１６０は、一対の画像ＩＭＧｆの一方の画像ＩＭＧｆに対して他方の画像ＩＭＧｆの位置をシフトしながら、一対の画像ＩＭＧｆの互いに対応する位置のウィンドウＷＤ内の画素ＰＸ２の画素値の差分絶対値和を逐次算出する。なお、一方の画像ＩＭＧｆは、ウィンドウＷＤの設定に使用された画像ＩＭＧｆである。図３等で説明したように、位相差算出部１６０は、差分絶対値和が最小になるシフト量を、ウィンドウＷＤ内の位相差として算出する。
【００８８】
次に、ステップＳ６００では、位相差算出部１６０は、ステップＳ４００で設定したウィンドウＷＤのうち、全てのウィンドウＷＤに対して位相差を算出したか否かを判定する。全てのウィンドウＷＤに対して位相差か算出された場合、測距装置１０２の動作は、ステップＳ７００に移る。一方、位相差か算出されていないウィンドウＷＤが存在する場合、測距装置１０２の動作は、ステップＳ５００に戻る。
【００８９】
ステップＳ７００では、代表位相差算出部１８０は、一対の画像ＩＭＧｆにおける測距領域ＲＡＲ内の位相差を算出する。例えば、代表位相差算出部１８０は、測距領域ＲＡＲ内に設定されたウィンドウＷＤが複数である場合、図２で説明したように、複数のウィンドウＷＤ内の位相差に基づいて、一対の画像ＩＭＧｆにおける測距領域ＲＡＲ内の位相差を算出する。なお、測距領域ＲＡＲ内に設定されたウィンドウＷＤが１つである場合、一対の画像ＩＭＧｆにおける測距領域ＲＡＲ内の位相差は、ステップＳ５００で算出されたウィンドウＷＤ内の位相差である。
【００９０】
次に、ステップＳ８００では、代表位相差算出部１８０は、ステップＳ７００で算出した一対の画像ＩＭＧｆにおける測距領域ＲＡＲ内の位相差に基づいて、デフォーカス量を算出する。これにより、測距装置１０２の動作は、終了する。例えば、撮像装置１２は、ステップＳ８００で算出されたデフォーカス量に基づいてレンズ２０を合焦位置まで駆動し、焦点を調整する。
【００９１】
なお、測距装置１０２の動作は、図７に示す例に限定されない。例えば、ステップＳ８００は、測距装置１０２の動作から省かれてもよい。すなわち、ステップＳ８００の処理は、撮像装置１２内のモジュールのうち、測距装置１０２以外のモジュールにより実行されてもよい。
【００９２】
以上、図２から図７に示す実施形態においても、図１に示した実施形態と同様の効果を得ることができる。例えば、測距装置１０２は、一対の画像ＩＭＧｆ間の位相差を算出する際のウィンドウＷＤの左右方向のサイズ等を、画像ＩＭＧｆの画素値の変化の特徴を示す特徴パターンＣＰＴに基づいて設定する。これにより、例えば、一対の画像ＩＭＧｆのエッジのなだらかさ、一対の画像ＩＭＧｆの各々の感度のずれの影響等による位相差の算出精度の低下を抑制することができる。すなわち、位相差検出方式により算出される位相差の精度を向上させることができる。
【００９３】
さらに、代表位相差算出部１８０は、複数のウィンドウＷＤが測距領域ＲＡＲ内に設定された場合、複数のウィンドウＷＤ毎に算出された一対の画像ＩＭＧｆ間の位相差に基づいて、一対の画像ＩＭＧｆにおける測距領域ＲＡＲ内の位相差を算出する。複数のウィンドウＷＤ内の位相差に基づいて測距領域ＲＡＲ内の位相差が算出されるため、１つのウィンドウＷＤから測距領域ＲＡＲ内の位相差が算出される場合に比べて、位相差の算出精度を向上させることができる。
【００９４】
また、特徴パターン抽出部１２０は、境界間の画素値の変化のパターンのうち、ずれ方向の幅が所定値未満のパターンを、特徴パターンＣＰＴとして抽出しない。これにより、ノイズ等が特徴パターンＣＰＴとして抽出されることを抑止することができ、ウィンドウＷＤを適切に設定することができる。この結果、ウィンドウＷＤ内の位相差の算出精度を向上させることができる。
【００９５】
また、特徴パターン抽出部１２０は、画像ＩＭＧｆのノイズのレベルＮを算出し、ずれ方向に互いに隣接する画素ＰＸ２の画素値の差分の絶対値がノイズのレベルＮ以下で連続する複数の変化のパターンを１つの特徴パターンＣＰＴとして抽出する。これにより、ノイズ等が特徴パターンＣＰＴとして抽出されることを抑止することができ、ウィンドウＷＤを適切に設定することができる。この結果、ウィンドウＷＤ内の位相差の算出精度を向上させることができる。
【００９６】
また、ウィンドウ設定部１４０は、複数の特徴パターンＣＰＴを含むウィンドウＷＤを測距領域ＲＡＲ内に設定する。これにより、例えば、一対の画像ＩＭＧｆのエッジのなだらかさ、一対の画像ＩＭＧｆの各々の感度のずれの影響等による位相差の算出精度の低下を抑制することができる。
【００９７】
また、ウィンドウ設定部１４０は、２つの特徴パターンＣＰＴを含むウィンドウＷＤを測距領域ＲＡＲ内に設定する。これにより、複数の被写体の影響による位相差の算出精度の低下を抑制することができる。
【００９８】
また、ウィンドウ設定部１４０は、ウィンドウＷＤに含まれる複数の特徴パターンＣＰＴの各々のずれ方向の幅がウィンドウＷＤのずれ方向の幅に対して所定の割合以下になるように、ウィンドウＷＤのサイズを調整する。これにより、位相差を算出する際の特徴パターンＣＰＴの影響がウィンドウＷＤに含まれる複数の特徴パターンＣＰＴの１つに偏ることを抑制でき、位相差の算出精度の低下を抑制することができる。
【００９９】
図８は、測距プログラムを実行するハードウェアの一例を示す。なお、図１から図７で説明した要素と同様の要素については、同様の符号を付し、これ等については、詳細な説明を省略する。例えば、測距プログラムは、図１および図２に示した測距装置１００、１０２の機能をコンピュータＣＰで実現する。コンピュータＣＰは、例えば、図１および図２に示した撮像装置１０、１２に搭載される。
【０１００】
例えば、コンピュータＣＰは、プロセッサＰＵ、メモリＭＥＭ、ハードディスク装置ＨＤＤ、入出力インタフェースＩＦおよび光学ドライブ装置ＯＤＲを有する。プロセッサＰＵ、メモリＭＥＭ、ハードディスク装置ＨＤＤ、入出力インタフェースＩＦおよび光学ドライブ装置ＯＤＲは、バスＢＵＳに接続される。測距装置１００、１０２の機能は、例えば、プロセッサＰＵと、メモリＭＥＭと、ハードディスク装置ＨＤＤと、入出力インタフェースＩＦとにより実現される。
【０１０１】
光学ドライブ装置ＯＤＲは、光ディスク等のリムーバブルディスクＲＤを装着可能であり、装着したリムーバブルディスクＲＤに記録された情報の読み出しおよび記録を実行する。また、コンピュータＣＰは、入出力インタフェースＩＦを介してコンピュータＣＰの外部と通信する。例えば、入出力インタフェースＩＦは、画像ＩＭＧｆ等を受け、プロセッサＰＵ等に転送する。
【０１０２】
メモリＭＥＭは、例えば、コンピュータＣＰのオペレーティングシステムを格納する。また、メモリＭＥＭは、測距装置１００、１０２の動作をプロセッサＰＵが実行するための測距プログラム等のアプリケーションプログラムを格納する。
【０１０３】
測距プログラム等のアプリケーションプログラムは、光ディスク等のリムーバブルディスクＲＤに記録して頒布することができる。例えば、コンピュータＣＰは、測距プログラム等のアプリケーションプログラムを、リムーバブルディスクＲＤから光学ドライブ装置ＯＤＲを介して読み出し、メモリＭＥＭやハードディスク装置ＨＤＤに格納してもよい。また、コンピュータＣＰは、測距プログラム等のアプリケーションプログラムを、インターネット等のネットワークに接続する通信装置（図示せず）を介してダウンロードし、メモリＭＥＭやハードディスク装置ＨＤＤに格納してもよい。
【０１０４】
なお、測距プログラムを実行するハードウェアは、図８に示す例に限定されない。例えば、コンピュータＣＰは、光学ドライブ装置ＯＤＲが省かれてもよい。また、例えば、コンピュータＣＰは、ハードディスク装置ＨＤＤの代わりにＳＳＤ（Solid State Drive）等を有してもよい。
【０１０５】
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
【符号の説明】
【０１０６】
１０、１２‥撮像装置；２０‥レンズ；３０‥撮像素子；１００、１０２‥測距装置；１１０‥測距領域選択部；１２０‥特徴パターン抽出部；１４０‥ウィンドウ設定部；１６０‥位相差算出部；１８０‥代表位相差算出部；ＣＰ‥コンピュータ；ＨＤＤ‥ハードディスク装置；ＩＦ‥入出力インタフェース；ＭＥＭ‥メモリ；ＯＤＲ‥光学ドライブ装置；ＰＵ‥プロセッサ
【図１】
2018025442.tif 000003
【図２】
2018025442.tif 000004
【図３】
2018025442.tif 000005
【図４】
2018025442.tif 000006
【図５】
2018025442.tif 000007
【図６】
2018025442.tif 000008
【図７】
2018025442.tif 000009
【図８】
2018025442.tif 000010