(57)【特許請求の範囲】
【請求項１】
光学系により結像された被写体の画像を撮像する撮像手段と、
前記撮像手段により得られた画像中の被写体のうち撮像装置に対して相対的に移動している動体を検出する動体検出手段と、
前記撮像手段により得られた画像に複数の焦点検出領域を設定し、当該複数の焦点検出領域に対して焦点検出を行う焦点検出手段と、
前記焦点検出手段による複数の焦点検出結果に基づいて撮像装置から被写体までの深さ情報を求める情報取得手段と、
前記深さ情報に基づいて、焦点検出領域ごとの被写体の深さ情報の集合であるマップデータを作成し、記憶手段に記憶するマップ作成手段と、
前記記憶手段に記憶されたマップデータに基づいて、前記動体検出手段により検出された動体の撮像装置に対する相対的な位置関係を示す動体情報を取得する動体情報取得手段と、を有し、
前記焦点検出手段は、前記動体情報取得手段により取得された動体情報に基づいて、前記動体検出手段により検出された動体の少なくとも１つを含む第２の焦点検出領域を設定し、
前記動体検出手段が、前記第２の焦点検出領域に含まれる動体のうち、所定速度以上で前記撮像装置に近づき、かつ、前記撮像装置までの距離が所定距離以下である所定の動体を検出した場合、前記焦点検出手段は、前フレームで設定された、前記所定の動体の移動元である焦点検出領域と、現フレームで設定された、前記所定の動体の移動先である焦点検出領域の両方を含むように第３の焦点検出領域を設定し、当該第３の焦点検出領域に対して焦点検出を行い、
前記情報取得手段は、前記焦点検出手段により前記第３の焦点検出領域に対して焦点検出を行った結果に基づいて、被写体までの第３の深さ情報を求め、
前記マップ作成手段は、前記記憶手段に記憶されているマップデータに対して、前記情報取得手段により求められた前記第３の深さ情報のみを更新することを特徴とする撮像装置。
【請求項２】
前記動体情報は、前記動体検出手段により検出された動体の撮像装置との距離および相対速度を含み、
前記動体情報取得手段により取得された動体の距離および相対速度に基づいて、前記焦点検出手段が焦点検出を行うために前記光学系を移動させるフォーカス範囲を決定する決定手段をさらに有し、
前記決定手段は、前記動体が前記撮像装置から遠ざかる場合、当該動体より至近端側の範囲を除いたフォーカス範囲に決定し、
前記所定の動体の場合、当該動体より無限端側の範囲を除いたフォーカス範囲に決定することを特徴とする請求項１に記載の撮像装置。
【請求項３】
複数の動体が検出された場合、前記決定手段は、前記撮像装置に近く、かつ、近づいている動体から順に焦点検出が行われるように前記フォーカス範囲を決定することを特徴とする請求項２に記載の撮像装置。
【請求項４】
前記フォーカス範囲は、前記焦点検出手段による焦点検出方式によって異なることを特徴とする請求項２または３に記載の撮像装置。
【請求項５】
前記情報取得手段は、前記フォーカス範囲における前記焦点検出手段の焦点検出結果に基づいて前記被写体の深さ情報を算出することを特徴とする請求項２ないし４のいずれか１項に記載の撮像装置。
【請求項６】
前記情報取得手段は、前記焦点検出手段により前記焦点検出領域において検出されたデフォーカス量に基づいて前記被写体の深さ情報を算出することを特徴とする請求項５に記載の撮像装置。
【請求項７】
前記光学系は、フォーカスレンズを含み、
前記焦点検出手段は、前記決定手段により決定された前記フォーカス範囲でフォーカスレンズを駆動して焦点検出を行うことを特徴とする請求項２ないし６のいずれか１項に記載の撮像装置。
【請求項８】
前記動体検出手段は、前記記憶手段に記憶されている前フレームの画像と現フレームの画像の被写体の位置およびサイズの変化に基づいて動体を検出することを特徴とする請求項１ないし７のいずれか１項に記載の撮像装置。
【請求項９】
前記動体検出手段は、前記撮像装置の動きを検出するジャイロセンサによる検出結果に基づいて動体を検出することを特徴とする請求項１ないし７のいずれか１項に記載の撮像装置。
【請求項１０】
光学系により結像された被写体の画像を撮像する撮像手段と、
前記撮像手段により得られた画像中の被写体のうち撮像装置に対して相対的に移動している動体を検出する動体検出手段と、
前記撮像手段により得られた画像に複数の焦点検出領域を設定し、当該複数の焦点検出領域に対して焦点検出を行う焦点検出手段と、
前記焦点検出手段による複数の焦点検出結果に基づいて撮像装置から被写体までの深さ情報を求める情報取得手段と、
前記深さ情報に基づいて、焦点検出領域ごとの被写体の深さ情報の集合であるマップデータを作成し、記憶手段に記憶するマップ作成手段と、を有する撮像装置の制御方法であって、
前記記憶手段に記憶されたマップデータに基づいて、前記動体検出手段により検出された動体の撮像装置に対する相対的な位置関係を示す動体情報を取得し、
前記焦点検出手段により、前記取得された動体情報に基づいて、前記動体検出手段により検出された動体の少なくとも１つを含む第２の焦点検出領域を設定し、
前記動体検出手段が、前記第２の焦点検出領域に含まれる動体のうち、所定速度以上で前記撮像装置に近づき、かつ、前記撮像装置までの距離が所定距離以下である所定の動体を検出した場合、前記焦点検出手段により、前フレームで設定された、前記所定の動体の移動元である焦点検出領域と、現フレームで設定された、前記所定の動体の移動先である焦点検出領域の両方を含むように第３の焦点検出領域を設定し、当該第３の焦点検出領域に対して焦点検出を行い、
前記情報取得手段により、前記焦点検出手段により前記第３の焦点検出領域に対して焦点検出を行った結果に基づいて、被写体までの第３の深さ情報を求め、
前記マップ作成手段により、前記記憶手段に記憶されているマップデータに対して、前記情報取得手段により求められた前記第３の深さ情報のみを更新することを特徴とする撮像装置の制御方法。
【請求項１１】
請求項１０に記載された制御方法を、撮像装置のコンピュータに実行させるためのプログラム。
【請求項１２】
請求項１０に記載された制御方法を、撮像装置のコンピュータに実行させるためのプログラムを記憶したコンピュータによる読み取りが可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像した画像から被写体の深さ情報を取得する技術に関する。
【背景技術】
【０００２】
従来、撮像した画像における被写体の深さに対応する情報（例えば、距離情報）を取得することができる撮像装置が知られている。画像から取得した距離情報は、所望の被写体や撮像装置が動くことを想定して随時更新されたり、動きを検出した場合に更新される。このような撮像装置は、自動車等に車載カメラとして搭載され、自車両の前方を走行する先行車両等を撮像した画像を用いて、所望の被写体である先行車両までの距離情報を取得する目的で使用される。
【０００３】
また、被写体の距離情報を取得する撮像装置では、距離情報を算出するために撮像した画像に複数の測距領域を設定し、測距領域ごとに、測距領域内に存在する所望の被写体と撮像装置との距離情報を算出する。このとき、より高速に被写体の距離情報を取得するために、測距領域の数を限定して演算負荷を低減することも可能である（特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−３２２７９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１では、動きが検出された被写体（以下、動体）を含む一部の測距領域を選択して得られた距離情報を更新する場合に、複数の測距領域について、優先的に演算を行う測距領域の順番が特に決められているわけではない。このため、例えば自車両に対して急接近してくる人物や車両等の被写体を含む測距領域について、他の測距領域よりも優先的に距離情報の演算を行うべきであるにも関わらず、演算に時間を要する可能性がある。
【０００６】
本発明は、上記課題に鑑みてなされ、その目的は、動いている被写体の動きの状況に応じて被写体の深さ情報を高速に取得し、更新できる技術を実現することである。
【課題を解決するための手段】
【０００７】
上記課題を解決し、目的を達成するために、本発明の撮像装置は、光学系により結像された被写体の画像を撮像する撮像手段と、前記撮像手段により得られた画像中の被写体のうち撮像装置に対して相対的に移動している動体を検出する動体検出手段と、前記撮像手段により得られた画像に複数の焦点検出領域を設定し、当該複数の焦点検出領域に対して焦点検出を行う焦点検出手段と、前記焦点検出手段による複数の焦点検出結果に基づいて撮像装置から被写体までの深さ情報を求める情報取得手段と、前記深さ情報に基づいて、焦点検出領域ごとの被写体の深さ情報の集合であるマップデータを作成し、記憶手段に記憶するマップ作成手段と、前記記憶手段に記憶されたマップデータに基づいて、前記動体検出手段により検出された動体の撮像装置に対する相対的な位置関係を示す動体情報を取得する動体情報取得手段と、を有し、前記焦点検出手段は、前記動体情報取得手段により取得された動体情報に基づいて、前記動体検出手段により検出された動体の少なくとも１つを含む第２の焦点検出領域を設定し、前記動体検出手段が、前記第２の焦点検出領域に含まれる動体のうち、所定速度以上で前記撮像装置に近づき、かつ、前記撮像装置までの距離が所定距離以下である所定の動体を検出した場合、前記焦点検出手段は、前フレームで設定された、前記所定の動体の移動元である焦点検出領域と、現フレームで設定された、前記所定の動体の移動先である焦点検出領域の両方を含むように第３の焦点検出領域を設定し、当該第３の焦点検出領域に対して焦点検出を行い、前記情報取得手段は、前記焦点検出手段により前記第３の焦点検出領域に対して焦点検出を行った結果に基づいて、被写体までの第３の深さ情報を求め、前記マップ作成手段は、前記記憶手段に記憶されているマップデータに対して、前記情報取得手段により求められた前記第３の深さ情報のみを更新する。
【発明の効果】
【０００８】
本発明によれば、動いている被写体の動きの状況に応じて被写体の深さ情報を高速に取得し、更新できるようになる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態の撮像装置の構成を示すブロック図。
【図２】本実施形態の撮像装置による距離マップ更新処理を示すフローチャート。
【図３】本実施形態の撮像装置により撮像された画像から得られる距離マップを例示する図。
【発明を実施するための形態】
【００１０】
以下に、本発明を実施するための形態について詳細に説明する。尚、以下に説明する実施の形態は、本発明を実現するための一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。また、後述する各実施形態の一部を適宜組み合わせて構成してもよい。
【００１１】
本実施形態として適用可能な撮像装置は、デジタルスチルカメラ、デジタルビデオカメラ、車載カメラ、携帯電話やスマートフォン等に搭載される撮像装置を含む。
【００１２】
本実施形態では、車載カメラとして搭載される撮像装置において、撮像した画像における被写体の深さ情報として距離情報を取得し、距離マップデータを更新する例について説明する。
【００１３】
なお、本発明は、画像における被写体の深さに対応する情報としてさまざまな実施形態での適用が可能である。つまり、被写体の深さに対応するデータが示す情報（深さ情報）は、画像内における撮像装置から被写体までの被写体距離を直接的に表すか、または画像内の被写体の被写体距離や深さの相対関係を表す情報であればよい。本実施形態では、一例として、ＤＦＤ（Ｄｅｐｔｈ Ｆｒｏｍ Ｄｅｆｏｃｕｓ）方式による焦点検出を行って得られるデフォーカス量からデフォーカスマップが生成される。このデフォーカス量を光学系や撮像素子の条件に基づいて被写体距離に換算すると、被写体距離の分布を表す距離マップデータが得られる。
【００１４】
＜装置構成＞まず、図１を参照して、本実施形態のデジタルカメラの構成および機能について説明する。
【００１５】
本実施形態の撮像装置（以下、カメラ）はレンズ交換式の一眼レフデジタルカメラであり、レンズユニット１００とカメラ本体１２０とを有する。レンズユニット１００は図の中央の点線で示されるマウントＭを介して、カメラ本体１２０に対して着脱可能に接続される。
【００１６】
被写体像を結像させるレンズユニット１００は、第１レンズ群１０１、絞り１０２、第２レンズ群１０３、フォーカスレンズ群（以下、フォーカスレンズ）１０４、および後述する制御部を有する。レンズユニット１００は、フォーカスレンズ１０４を含み且つ被写体の像を形成する撮影光学系をなす。
【００１７】
第１レンズ群１０１は、レンズユニット１００の先端に配置され、光軸に沿う方向である矢印ＯＡの方向（以下、光軸方向）に進退可能に保持される。以下では、光軸方向ＯＡをｚ方向とし、カメラから被写体側を見る方向を正方向とする。また、本実施形態において、ｚ方向の軸の原点０は、後述するカメラ本体１２０の撮像素子１２２の位置に対応するものとする。
【００１８】
絞り１０２は、その開口径を調節することで撮影時の光量調節を行う。絞り１０２及び第２レンズ群１０３は一体として光軸方向ＯＡに進退可能である。
【００１９】
フォーカスレンズ１０４は、光軸方向ＯＡへの進退移動により焦点検出を行う。ここで、本実施形態においてフォーカスレンズ１０４が移動し得る最大範囲の両端のうち、無限遠側のフォーカスレンズ１０４の位置を無限端、至近側のフォーカスレンズ１０４の位置を至近端と称する。
【００２０】
レンズユニット１００の制御部は、駆動部としてズームアクチュエータ１１１、絞りアクチュエータ１１２、フォーカスアクチュエータ１１３、ズーム駆動部１１４、絞り駆動部１１５、フォーカス駆動部１１６を有する。また、駆動部を制御するユニットとして、レンズＭＰＵ１１７とレンズメモリ１１８を有する。
【００２１】
ズームアクチュエータ１１１は、第１レンズ群１０１や第３レンズ群１０３を光軸方向ＯＡに進退駆動し、ズーム操作を行う。絞りアクチュエータ１１２は、絞り１０２の開口径を制御して撮影光量を調節すると共に、撮影時の露光時間制御を行う。フォーカスアクチュエータ１１３は、フォーカスレンズ１０４を光軸方向ＯＡに進退駆動して焦点検出を行うと共に、フォーカスレンズ１０４の現在位置を検出する機能も有している。
【００２２】
ズーム駆動部１１４は、撮影者のズーム操作またはレンズＭＰＵ１１７の制御値に応じて、ズームアクチュエータ１１１を駆動する。絞り駆動部１１５は、絞りアクチュエータ１１２を駆動して絞り１０２の開口を制御する。フォーカス駆動部１１６は、焦点検出結果に基づいてフォーカスアクチュエータ１１３を駆動し、フォーカスレンズ１０４を光軸方向ＯＡに進退駆動して焦点検出を行う。
【００２３】
レンズＭＰＵ１１７は、撮影光学系に係る全ての演算、制御を行い、ズーム駆動部１１４、絞り駆動部１１５、フォーカス駆動部１１６、レンズメモリ１１８を制御する。また、レンズＭＰＵ１１７は、現在のレンズ位置を検出し、カメラＭＰＵ１２５からの要求に対してレンズ位置情報を通知する。レンズメモリ１１８は、自動焦点検出に必要な様々な光学情報を記憶する。レンズメモリ１１８は、例えば、フォーカスレンズ１０４の駆動量と、デフォーカス量の対応関係を記憶する。これにより、レンズＭＰＵ１１７は、カメラＭＰＵ１２５からデフォーカス量を所定量だけ変更するように要求された場合に、レンズメモリ１１８に記憶された対応関係を参照し、所定のデフォーカス量に対応する距離だけフォーカスレンズ１０４を移動するようにフォーカスアクチュエータ１１３を制御することが可能である。
【００２４】
カメラ本体１２０は、光学的ローパスフィルタ１２１、撮像素子１２２、後述する制御部を有する。光学的ローパスフィルタ１２１は、撮影画像の偽色やモアレを軽減する。
【００２５】
撮像素子１２２は、例えばＣＭＯＳイメージセンサとその周辺回路で構成されている。ＣＭＯＳイメージセンサは、光を受光する各画素に光電変換素子が設けられており、各画素を単位画素として複数の単位画素が二次元状に配列された画素群（撮像面）を有する。撮像素子１２２は、画素群の画素ごとに独立した信号出力が可能である。換言すると、撮像素子１２２は、被写体の像を形成する撮影光学系の射出瞳の全域を通る光束を各画素で受光して被写体の像信号（画像信号）を生成する複数の撮像用画素を有する。
【００２６】
カメラ本体１２０の制御部は、撮像素子駆動部１２３、画像処理部１２４、カメラ本体１２０全体を制御するカメラＭＰＵ１２５、表示部１２６、操作スイッチ１２７、メモリ１２８、焦点検出部１２９、動体検出部１３０、動体情報取得部１３１、距離情報取得部１３２、フォーカス範囲決定部１３３、距離マップ作成部１３４、を有する。撮像素子駆動部１２３は、撮像素子１２２の電荷蓄積動作を制御すると共に、撮像素子１２２から読み出した画像信号をデジタル信号に変換してカメラＭＰＵ１２５に送出する。画像処理部１２４は、撮像素子１２２から読み出された画像信号にガンマ変換、色補間、ＪＰＥＧ圧縮等の各種画像処理を行う。
【００２７】
カメラＭＰＵ１２５はマイクロプロセッサを有し、カメラ本体１２０に係る全ての演算、制御を行う。これにより、撮像素子駆動部１２３、画像処理部１２４、表示部１２６、操作スイッチ１２７、メモリ１２８、焦点検出部１２９、動体検出部１３０、距離情報取得部１３２、フォーカス範囲決定部１３３、距離マップ作成部１３４、を制御する。カメラＭＰＵ１２５はマウントＭに配置された信号線を介してレンズＭＰＵ１１７と接続されている。これにより、レンズＭＰＵ１１７に対して、レンズ位置を取得する要求を発行したり、所定の駆動量でのズーム駆動や絞り駆動やレンズ駆動の要求を発行したり、レンズユニット１００に固有の光学情報を取得する要求を発行する。
【００２８】
カメラＭＰＵ１２５には、カメラの動作を制御するためのプログラムを格納したＲＯＭ１２５ａ、変数を記憶するＲＡＭ１２５ｂ、各種パラメータを記憶するＥＥＰＲＯＭ１２５ｃが内蔵されている。カメラＭＰＵ１２５は、ＲＯＭ１２５ａに格納されたプログラムを読み出してＲＡＭ１２５ｂに展開して実行することで本実施形態の焦点検出処理を実行する。焦点検出処理の詳細は後述する。
【００２９】
表示部１２６はＬＣＤ（液晶）パネルや有機ＥＬなどの表示デバイスを有し、カメラの各動作モードに関する各種の情報を表示する。カメラの動作モードは、例えば、静止画や動画を撮影する撮影モード、メモリ１２８に格納されている撮影済みの画像を再生する再生モードを含む。撮影モードの場合は、カメラの撮影モードに関する情報、撮影前のプレビュー画像と撮影後の確認用画像、焦点検出時の合焦状態画像などを表示する。また、撮影中の動画を逐次表示する。
【００３０】
操作スイッチ１２７は、シャッタースイッチ、電源スイッチ、ズームスイッチ、モード切替スイッチなどを含む。メモリ１２８は、カメラに着脱可能なフラッシュメモリであり、撮影済み画像を記録する。
【００３１】
焦点検出部１２９は、画像処理部１２４にて得られた画像データに領域を設定し、領域内で算出されるボケ評価値に基づいたＡＦ（オートフォーカス）方式による焦点検出を行う。具体的には、焦点検出方式はＤＦＤ（Ｄｅｐｔｈ Ｆｒｏｍ Ｄｅｆｏｃｕｓ）方式ＡＦ（オートフォーカス）であり、所定のデフォーカス量だけ異なる２つの画像に対して演算処理を行うことでボケ評価値を算出する。なお、本実施形態におけるボケ評価値とは撮像画像のボケ状態を示す値であり、撮影光学系の点像強度分布関数の分散と相関を持つ値である。ここで、点像強度分布関数とは点像がレンズを通過した後の広がり具合の関数のことである。一方、撮影光学系の点像強度分布関数の分散は、デフォーカス量とも相関がある。以上のことから、ボケ評価値とデフォーカス量の間には相関関係があることがわかる。この相関関係をボケ評価値・デフォーカス量相関と称する。
【００３２】
焦点検出部１２９が行うＤＦＤ方式ＡＦに用いる所定のデフォーカス量だけ異なる２つの画像を得るには、撮像画像のボケ状態に影響を与える、フォーカスレンズの位置、絞り量、焦点距離などの撮影パラメータをカメラＭＰＵ１２５の制御で変更して撮影を行う。撮影パラメータの変更は、１つ以上のパラメータの変更であれば、どの値を変更してもよい。本実施形態では、フォーカスレンズの位置を変更することで、所定のデフォーカス量だけ異なる２つの画像を得る場合について説明する。
【００３３】
動体検出部１３０は、画像処理部１２４にて得られた画像データに対して信号処理を実行することで被写体検出を行い、さらに、画像中の被写体のうちカメラに対して相対的に移動している動体を検出する。詳細は後述する。
【００３４】
また、動体の検出を目的としてジャイロセンサを搭載してもよい。これによりカメラ自身の動きを検出することができ、画像の動きからカメラ自身の動きを差し引くことにより、動きのある被写体を検出することができる。また、本実施形態のようにカメラが車両に搭載される場合は、カメラはジャイロセンサを持たず、車両の機能の１つとして既に搭載されているジャイロセンサによる検出結果を利用してもよい。
【００３５】
動体情報取得部１３１は、動体検出部１３０により検出された動体について、カメラまでの距離や、カメラとの相対速度等の動体情報を取得する。詳細は後述する。
【００３６】
また、本実施形態のカメラに、動体情報の取得を目的として、ジャイロセンサを搭載してもよい。本実施形態のようにカメラが車両に搭載される場合は、カメラはジャイロセンサを持たず、車両の機能の１つとして既に搭載されているジャイロセンサによる検出結果を利用してもよい。また、車両のタイヤの回転数やタイヤの角度を用いて速度を検出したり、他の方法を利用してもよい。このように、本実施形態では、カメラの移動速度が検出可能であることを前提としている。
【００３７】
距離情報取得部１３２は、焦点検出部１２９の焦点検出結果に基づいて、被写体の距離情報を演算する。詳細は後述する。
【００３８】
フォーカス範囲決定部１３３は、動体検出部１３０により検出された動体のカメラに対する相対的な位置関係を示す動体情報に基づいて、フォーカスレンズを駆動するフォーカス範囲を決定する。詳細は後述する。
【００３９】
距離マップ作成部１３４は、距離情報取得部１３２により得られた距離情報に基づいて、距離マップデータを作成し、既に作成された距離マップの一部の距離情報を更新する。なお、距離マップとは、撮像した画像を複数の領域に分割し、分割した領域ごとの被写体までの距離情報の集合である。
【００４０】
＜距離マップの更新＞
次に、図２を参照して、本実施形態のデジタルカメラにおる距離マップの更新処理について説明する。なお、図２の処理は、ＲＯＭ１２５ａに格納されたプログラムを読み出し、ＲＡＭ１２５ｂに展開してカメラＭＰＵ１２５が実行することにより実現され、カメラの動作モードが撮影モード時に実行される。
【００４１】
ここで、図２の処理を開始する前の動作状態について説明する。カメラは、図２の処理を開始する前に、既に撮影動作を開始している。撮影動作とは、撮像素子１２２で露光を行って得られた静止画データまたは動画データの連続するフレームをＲＡＭ１２５ｂに記憶する動作に対応する。撮像された動画は逐次表示部１２６に表示される（スルー画像表示）。ここで、フレームとは、カメラＭＰＵ１２５が撮像素子１２２に露光開始指示を行って撮像される画像データに対応する。以下では、本処理を実行する前に撮像された動画のうち最新のフレームを現フレームと称する。
【００４２】
また、カメラは、図２の処理を開始する前に、既に少なくとも３つの画像（動画の場合は、３フレーム）をＲＡＭ１２５ｂに記憶しているものとする。以下では、既に記憶済みの少なくとも３つの画像を時系列的に新しい順にそれぞれ、現フレーム、前フレーム、前々フレームと称する。
【００４３】
また、前々フレームと前フレームは、焦点検出部１２９が複数の焦点検出領域を設定済みであり、焦点検出部１２９が各焦点検出領域で焦点検出を実行済みである。さらに、距離情報取得部１３２は、前々フレームと前フレームの各焦点検出領域における距離情報を算出済みである。
【００４４】
前々フレームと前フレームに対応する距離マップはそれぞれ、カメラＭＰＵ１２５に含まれる距離マップ作成部１３４によって作成済みであり、ＲＡＭ１２５ｂに記憶されているものとする。
【００４５】
本実施形態において、ＲＡＭ１２５ｂに記憶される距離情報は、焦点検出領域の１つを１単位として記憶される。焦点検出領域についての詳細は後述するが、本実施形態のカメラは焦点検出領域ごとに焦点検出処理を行い、焦点検出結果に基づいて演算した距離情報を距離マップとしてＲＡＭ１２５ｂに記憶する。
【００４６】
以下、前フレームの画像に対応する距離マップを前フレームの距離マップと称し、前々フレームの画像に対応する距離マップを前々フレームの距離マップと称する。なお、本実施形態では、ＲＡＭ１２５ｂに記憶済みの距離マップは、前々フレームと前フレームの合計２フレーム分としているが、この限りではない。
【００４７】
また、以下では、現フレームの画像に対して、後述するＳ２１０やＳ２１１で作成される距離マップを、現フレームの距離マップと称する。
【００４８】
以下に、既に記憶済みの前フレームの距離マップを更新して、現フレームの距離マップの作成を行う処理を、図２を用いて詳細に説明する。
【００４９】
図２において、処理が開始されると、Ｓ２０１では、カメラＭＰＵ１２５に含まれる動体検出部１３０は、現フレームに対して動体検出処理を行う。動体検出処理では、ＲＡＭ１２５ｂに記憶されている複数の画像フレームを比較して、サイズ変化及び光軸に垂直な平面上の位置変化がある被写体を検出する。以下では、サイズ変化及び光軸に垂直な平面上の位置変化がある被写体を動体と定義する。詳しくは、動体検出処理は、現フレームと前フレームを比較してテンプレートマッチングを行うことによって動体を検出する処理である。なお、動体検出処理はテンプレートマッチングに限らず、動体の有無を検出可能であるならばその手法は問わない。ジャイロセンサの検出結果、オプティカルフロー、被写体の色などの他の情報を用いたり、これらの手法を併用してもよい。また、この動体検出処理では、上述した手法を用いて、現フレームと前フレームのそれぞれに含まれる、動体の個数、各動体のサイズ、各動体の画面内の移動方向、各動体のｘ方向の画像内移動速度、ｙ方向の画像内移動速度等も検出する。ここで、撮像素子１２２の一辺が地面に平行になるようにカメラを構えたとき、前述のｚ方向に直交する方向をｘ方向と定義する。また、ｘ方向に直交し且つｚ方向に直交する方向をｙ方向と定義する。
【００５０】
Ｓ２０２では、カメラＭＰＵ１２５は、Ｓ２０１の処理によって動体が検出されたか否かを判定し、動体が検出された場合はＳ２０３へ進み（Ｓ２０２のＹＥＳ）、動体が検出されない場合はＳ２１１へ進む（Ｓ２０２のＮＯ）。
【００５１】
Ｓ２０３では、カメラＭＰＵ１２５に含まれる焦点検出部１２９は、Ｓ２０２の処理で動体が含まれていると判定された、前フレームの焦点検出領域と、現フレームの焦点検出領域を、焦点検出実行領域に設定する。焦点検出実行領域とは、後述する画像３０１に対して設定される領域で、焦点検出部１２９が、後述のＳ２１２において焦点検出を実行する範囲を示す領域である（第２の焦点検出領域）。現フレームの距離マップの距離情報は、後述するＳ２１０の処理において演算される。このように現フレームに対して、画面内の全領域で距離情報を演算しないで一部の領域のみで演算することで、演算速度の高速化が可能となる。
【００５２】
ここで、現フレームには動体が含まれず、且つ、前フレームに動体が含まれるような焦点検出領域を、焦点検出実行領域に設定する理由について説明する。例えば、ある被写体が前フレームから現フレームにわたって移動した場合、前フレームで被写体に隠れていた背景領域が現フレームで見えるようになるため、焦点検出処理を行い、新たな距離情報を再度算出する必要がある。よって、動体の移動元である前フレームと、動体の移動先である現フレームの両方を含むように焦点検出実行領域を設定する必要がある。
【００５３】
Ｓ２０４では、カメラＭＰＵ１２５に含まれる動体情報取得部１３１は、ＲＡＭ１２５ｂに記憶済みの前フレームの距離マップと、前々フレームの距離マップとに基づいて動体情報取得処理を実行する。動体情報取得処理とは、動体検出部１３０が検出した全ての動体の距離情報を、前フレームの距離マップと前々フレームの距離マップとを参照して取得する処理である。また、動体情報取得処理では、上記のように取得した各動体の距離情報から、カメラと各動体との間のｚ方向の相対速度も取得する。動体情報取得処理の具体例は、図３を用いて後述する。
【００５４】
前々フレームから前フレームにかけての、カメラと動体のｚ方向の相対速度をＶｚとすると、Ｖｚは以下の式１から求められる。ただし、ある動体に着目した場合、Ｚａはある動体の前々フレームにおける距離で、Ｚｂはある動体の前フレームにおける距離で、Ｔは１フレームの所要時間であるとする。
【００５５】
Ｖｚ＝（Ｚｂ−Ｚａ）／Ｔ・・・（１）
Ｓ２０５では、カメラＭＰＵ１２５に含まれるフォーカス範囲決定部１３３は、焦点検出フォーカス範囲を決定する。焦点検出フォーカス範囲とは、後述の焦点検出を行うため、レンズＭＰＵ１１７がフォーカスレンズ１０４を駆動する範囲に対応する。焦点検出フォーカス範囲となりうる最大の範囲は、フォーカスレンズ１０４の至近端から、無限端までの範囲に対応する。以下、最大の範囲をフォーカス範囲全域と称する。
【００５６】
焦点検出フォーカス範囲をフォーカス範囲全域よりも狭い範囲に設定することで、フォーカスレンズを駆動する時間が短くて済むようになり、さらに演算速度を高速化することが可能である。焦点検出フォーカス範囲は、焦点検出方式によって異なる。その理由は、焦点検出方式によって、信頼性の高い距離情報を算出可能なフォーカスレンズ１０４の位置が異なるからである。また、焦点検出フォーカス範囲は、Ｓ２０４で取得した動体情報によっても異なる。焦点検出フォーカス範囲の設定例は、図３を用いて後述する。
【００５７】
このように、焦点検出フォーカス範囲をフォーカス範囲全域よりも狭い範囲に設定することができるため、後述する焦点検出処理にかかる時間のさらなる短縮が可能である。
【００５８】
Ｓ２０６では、カメラＭＰＵ１２５は、現フレームに所定の動体が含まれているか否かを判定する。所定の動体とは、Ｓ２０１で取得した、前々フレームから前フレームにかけての相対速度が所定速度以上で、且つ前フレームにおける距離情報が所定距離以下である動体である。この動体判定を行う理由については、Ｓ２０７にて後述する。判定の結果、所定の動体が含まれる場合は（Ｓ２０６のＹＥＳ）Ｓ２０７へ進み、所定の動体が含まれない場合は（Ｓ２０６のＮＯ）Ｓ２１２へ進む。
【００５９】
Ｓ２０７では、カメラＭＰＵ１２５に含まれる焦点検出部１２９は、所定の動体を含む、現フレームの焦点検出領域を、最優先領域に設定する。最優先領域とは、焦点検出実行領域と同様に、画像３０１に対して設定される、焦点検出部１２９が後述の焦点検出を実行する範囲を示す領域である（第３の焦点検出領域）。最優先領域と焦点検出実行領域の違いはその範囲にあり、最優先領域の範囲は必ず、焦点検出実行領域の範囲以下となっている。
【００６０】
ここで、上記最優先領域を設ける理由について説明する。本実施形態では、車両に搭載したカメラを前提としているため、車両に近づいてくる被写体のうち、衝突する危険性のある被写体は、最優先で高速に距離情報の演算を行う必要がある。つまり、本実施形態では、最優先で高速に距離情報の演算を行うシーンの場合に、最優先領域を設け、その領域以外の動体の距離情報は演算しないようにする。
【００６１】
車両に対して遠ざかっていく被写体は、衝突する危険性が少ないため、最優先領域にする必要がない。一方、車両に近づいてくる被写体は衝突の危険性が高く、接近する速度が速いほど、即ちｚ方向の相対速度が高いほど、衝突する危険性が高い。ただし、遠方にいる被写体は衝突の可能性が低いため、ｚ方向の相対速度だけではなく、被写体の位置も考慮して、最優先領域を設ける必要がある。
【００６２】
また、本実施形態では、最優先領域の設定に用いる所定速度と所定距離は、事前に決定されているとしたが、所定速度に応じて、所定距離を決定してもよい。例えば、被写体が時速５０ｋｍ未満の場合は所定距離を５ｍとし、時速５０ｋｍ以上８０ｋｍ未満の場合は所定距離を１０ｍとし、時速８０ｋｍ以上の場合は所定距離を１５ｍ、のように設定すればよい。ただし、これら値に限らず、シーンに応じて数値を設定すればよい。また、反対に所定距離に応じて所定速度を決定してもよい。
【００６３】
図２の説明に戻り、Ｓ２０８では、カメラＭＰＵ１２５に含まれる焦点検出部１２９は、Ｓ２０７で設定された最優先領域に対して、ＤＦＤ方式による焦点検出を行う。ここでは、Ｓ２０７で設定した最優先領域それぞれで焦点検出を行い、最優先領域の各領域内に含まれる各被写体の距離情報を得ることができる。
【００６４】
ＤＦＤ方式による焦点検出では、まず、フォーカスレンズの位置を変更して所定のデフォーカス量だけ異なる２つの画像を取得し、それらの画像からボケ評価値を算出する。この２つの画像を得る場合、フォーカスレンズの位置を移動させるのに数フレームの時間がかかるため、数フレーム離れた２つの画像を用いることになる。
【００６５】
ただし、焦点検出を目的として取得する画像は、前述の現フレームとは異なるものであることに注意を要する。また、このときフォーカスレンズをシフトしてぼかした画像は、ユーザにとって見る必要のない画像であるので、表示部１２６には、フォーカスレンズをシフトする直前の画像、つまり現フレームがフリーズ表示される。その後、得られたボケ評価値を前述のボケ評価値・デフォーカス量相関を参照することにより、デフォーカス量に変換し、このデフォーカス量から距離情報を得る。ただし、この相関関係はテーブルとしてＲＡＭ１２５ｂに記憶されているものとする。なお、ＤＦＤ方式による焦点検出は、具体的には、特開２００６−３８０３号公報に記載された手法を用いて行ってもよいし、他の手法であってもかまわない。
【００６６】
また、後述のＳ２１２で行う焦点検出は、ＤＦＤ方式以外の方法を用いてもよい。例えば、撮像面での位相差検出方式の焦点検出処理（以下、撮像面位相差方式ＡＦ）を行ってもよい。撮像面位相差方式ＡＦの原理は、特開２０１３−１８６２０１号公報の図２、図１３〜図１４などで説明されている通りである。
【００６７】
また、後述のＳ２１２で行う焦点検出は、例えば、フォーカスレンズをシフトさせることで変化する輝度情報からコントラスト評価値を算出するコントラスト方式の焦点検出処理（以下、コントラスト方式ＡＦ）を行ってもよい。
【００６８】
Ｓ２０９では、カメラＭＰＵ１２５に含まれる距離情報取得部１３２は、距離情報の演算を行う（情報取得処理）。ここでは、前述のＳ２０８または後述のＳ２１２において得られる焦点検出結果、即ちデフォーカス量に基づいて距離情報を演算する。デフォーカス量と距離情報（カメラから被写体までの距離）は１対１の関係のため、ＲＡＭ１２５ｂに記憶済みの関係を参照して、距離情報を演算することが可能である。
【００６９】
Ｓ２１０では、カメラＭＰＵ１２５に含まれる距離マップ作成部１３４は、距離マップの更新処理を行う。距離マップの更新処理とは、ＲＡＭ１２５ｂに記憶される前フレームの距離マップの距離情報の全部または一部を、新しい距離情報に置き換えて、ＲＡＭ１２５ｂに現フレームの距離マップとして記憶する処理に対応する。距離マップの更新処理の具体例は、後述する。
【００７０】
Ｓ２１１では、カメラＭＰＵ１２５に含まれる距離マップ作成部１３４は、動体が検出されない場合に、前フレームと同様の距離情報を現フレームの距離情報として、距離マップの更新処理を終了する（Ｓ２１３）。Ｓ２０２で動体が検出されない場合は、距離マップの距離情報を変更する必要がないため、このような処理を行う。
【００７１】
Ｓ２１２では、カメラＭＰＵ１２５に含まれる焦点検出部１２９は、ｚ方向の相対速度が所定速度以上で、且つカメラまでの距離が所定距離以下である動体がない場合に、焦点検出実行領域毎にＤＦＤ方式による焦点検出を行う。ここでは、Ｓ２０４で設定された焦点検出実行領域それぞれで焦点検出を行い、焦点検出実行領域の各領域内に含まれる各被写体の距離情報を得ることができる。焦点検出方法の詳細については、Ｓ２０８にて前述の通りである。
【００７２】
Ｓ２１３では、カメラＭＰＵ１２５は、距離マップの更新処理を終了する。距離マップの更新処理は、例えばシャッタースイッチが半押しされている撮影準備状態から全押しされて撮影処理が開始されるまでの間に実行され、所定のサイクルで繰り返し行われる。よって、現フレームの距離マップは１サイクルの動作が終了すると前フレームの距離マップとなり、前フレームの距離マップも同様に１サイクルの動作が終了すると前々フレームの距離マップとなる。
【００７３】
＜焦点検出実行領域の設定＞
次に、図３を参照して、本実施形態において、カメラＭＰＵ１２５に含まれる焦点検出部１２９が実行する焦点検出実行領域の設定例について説明する。
【００７４】
図３（ａ１）、（ｂ１）、（ｃ１）、（ａ２）、（ｂ２）、（ｃ２）は、本実施形態のカメラにより作成される距離マップを例示している。
【００７５】
図３（ａ１）において、ａ１１〜ａ１５、ａ２１〜ａ２５、ａ３１〜ａ３５、ａ４１〜ａ４５は、前々フレームの画像ａ３０１に対応する前々フレームの距離マップを例示している。
【００７６】
以下では、理解を容易にするため、ｘ方向は画面の右方向を正とし、ｙ方向は画面の上方向を正と定義する。更に、ｘ軸とｙ軸の交点は画面の中央位置であるとし、ｚ軸の原点０と交わるものとする。
【００７７】
本実施形態では、ｘ方向に５分割、ｙ方向に４分割した合計２０個の領域に画像を分割する例を示したが、これに限らず、これより多くても少なくてもよい。多くすれば距離情報の精度は向上するが演算に時間がかかり、一方、領域の分割数を少なくすると演算時間は速くなるが粗くなって距離情報の精度が落ちる。そのため、適切な領域数を設定すればよい。
【００７８】
図３（ａ１）では、説明の便宜のため、前々フレームの画像ａ３０１に写る被写体を示しておらず、具体的な撮影シーンを図３（ａ２）に例示している。図３（ａ２）は、複数の被写体３０２、３０３、３０４が写っている撮影シーンである。図３（ａ２）の画像に対する焦点検出領域は、図３（ａ１）の焦点検出領域と対応し、図３（ａ１）と同様の焦点検出領域ａ１１〜ａ１５、ａ２１〜ａ２５、ａ３１〜ａ３５、ａ４１〜ａ４５とする。これら２０個の領域はそれぞれ、距離情報取得部１３２により算出された距離情報を有しており、ＲＡＭ１２５ｂに記憶されている。
【００７９】
同様に、図３（ｂ１）のｂ１１〜ｂ１５、ｂ２１〜ｂ２５、ｂ３１〜ｂ３５、ｂ４１〜ｂ４５は、前フレームの画像ｂ３０１に対応する前フレームの距離マップを例示している。焦点検出領域ｂ１１〜ｂ１５、ｂ２１〜ｂ２５、ｂ３１〜ｂ３５、ｂ４１〜ｂ４５はそれぞれ、距離情報取得部１３２により算出された距離情報を有しており、ＲＡＭ１２５ｂに記憶されている。
【００８０】
また、図３（ｂ１）の具体的な撮影シーンを図３（ｂ２）に例示している。図３（ｂ２）は、複数の被写体３０２、３０３、３０４が写っている撮影シーンである。これらの被写体は、図３（ａ１）に示す被写体と同じとし、時間が１フレーム経過する間に場所を移動しているものとする。図３（ｂ２）の焦点検出領域は、図３（ｂ１）の焦点検出領域と対応し、図３（ｂ１）と同様の焦点検出領域ｂ１１〜ｂ１５、ｂ２１〜ｂ２５、ｂ３１〜ｂ３５、ｂ４１〜ｂ４５とする。
【００８１】
同様に、図３（ｃ１）のｃ１１〜ｃ１５、ｃ２１〜ｃ２５、ｃ３１〜ｃ３５、ｃ４１〜ｃ４５は、現フレームの画像ｃ３０１に対応する現フレームの距離マップを例示している。ただし、この場合の距離マップの距離情報は、焦点検出実行領域が設定される時点ではまだ距離情報取得部１３２によって算出されていない。また、図３（ｃ１）の具体的な撮影シーンを図３（ｃ２）に例示している。図３（ｃ２）は、複数の被写体３０２、３０３、３０４が写っている撮影シーンである。これらの被写体は、図３（ａ１）と（ｂ１）に示す被写体と同じとし、時間が１フレーム経過する間に場所を移動しているものとする。図３（ｃ２）の焦点検出領域は、図３（ｃ１）の焦点検出領域と対応し、図３（ｃ１）と同様に焦点検出領域ｃ１１〜ｃ１５、ｃ２１〜ｃ２５、ｃ３１〜ｃ３５、ｃ４１〜ｃ４５とする。
【００８２】
図３（ｂ２）の被写体３０２は、前フレームの焦点検出領域ｂ２１、ｂ３１、ｂ４１の範囲内に写っており、図３（ｃ２）の被写体３０２は、現フレームの焦点検出領域ｃ２１、ｃ３１、ｃ４１、ｃ２２、ｃ３２、ｃ４２の範囲内に写っている。また、図３（ｂ２）の被写体３０３は、前フレームの距離マップｂ１２、ｂ１３、ｂ２２、ｂ２３の範囲内に写っており、図３（ｃ２）の被写体３０３は、現フレームのｃ１２、ｃ１３の範囲内に写っている。また、図３（ｂ２）の被写体３０４は、前フレームの距離マップｂ１５の範囲内に写っており、図３（ｃ２）の被写体３０４は、現フレームのｃ１５、ｃ２５の範囲内に写っている。すなわち、前フレームの焦点検出領域のうち、動体が含まれているのは、図３（ｂ１）に斜線で示した焦点検出領域であり、現フレームの焦点検出領域のうち、動体が含まれているのは、図３（ｃ１）に斜線で示した焦点検出領域である。よって、図３の例では、図３（ｂ１）の斜線で示す領域、または、図３（ｃ１）の斜線で示す領域を焦点検出実行領域に設定する。すなわち、図３（ｃ１）の焦点検出領域ｃ２１、ｃ３１、ｃ４１、ｃ１２、ｃ２２、ｃ３２、ｃ４２、ｃ１３、ｃ２３、ｃ１５、ｃ２５が焦点検出実行領域となる。
【００８３】
＜焦点検出フォーカス範囲の決定＞
次に、図３を参照して、本実施形態において、カメラＭＰＵ１２５に含まれるフォーカス範囲決定部１３３が実行する焦点検出フォーカス範囲の決定処理について説明する。
図３（ａ３）、（ｂ３）、（ｃ３）はそれぞれ、本実施形態の前々フレーム、前フレーム、現フレームに含まれる動体の距離情報を例示している。被写体３０２、３０３、３０４は、前述の図３（ａ２）、（ｂ２）、（ｃ２）と共通である。また、図３（ａ３）は図３（ａ２）に対応しており、各被写体３０２、３０３、３０４のｚ方向の位置関係を示している。同様に、図３（ｂ３）は図３（ｂ２）に対応し、図３（ｃ３）は図３（ｃ２）に対応している。また、前述したように撮像素子１２２の位置をｚ方向の０とする。図３（ａ３）、（ｂ３）、（ｃ３）は、カメラがｚ方向の正方向に向かって移動している状態を示している。
【００８４】
焦点検出フォーカス範囲は、動体情報取得部１３１が取得した状況によって異なる。その例を、図３（ａ３）、（ｂ３）、（ｃ３）を用いて説明する。
【００８５】
１つ目の例として、被写体３０３のみが画面内で動いている場合を考える。また、被写体３０２と３０４は写っていないものとする。まず、動体情報取得部１３１が、前々フレームの被写体３０３の距離情報Ｚａ３０３と、前フレームの被写体３０３の距離情報Ｚｂ３０３を用いて、被写体３０３の相対速度を取得する。相対速度が取得できれば、被写体３０３がｚ軸の原点０に近づいたのか遠ざかったのかがわかる。この例では、被写体３０３とカメラとの距離は、図３（ａ３）、（ｂ３）に示すように、前々フレームよりも前フレームの方が遠ざかっている。このことから、現フレームにおいても被写体３０３は遠ざかり続けると仮定して、現フレームで被写体３０３は距離Ｚｂ３０３よりもｚ軸の正方向側、即ち無限端寄りにあると判定する。そして、距離Ｚｂ３０３よりも遠い位置にある被写体に対してのみ信頼性がある焦点検出結果が算出可能となるように、距離Ｚｂ３０３よりも至近端側の範囲を除いた焦点検出フォーカス範囲を設定する。
【００８６】
２つ目の例として、被写体３０２、３０４のみが、画面内で動いている場合を考える。また、被写体３０３は写っていないものとする。まず、動体情報取得部１３１が、前々フレームの被写体３０２の距離情報Ｚａ３０２と、前フレームの被写体３０２の距離情報Ｚｂ３０２を用いて、被写体３０２の相対速度を取得する。同様に、前々フレームの被写体３０４の距離情報Ｚａ３０４と、前フレームの被写体３０４の距離情報Ｚｂ３０４を用いて、被写体３０４の相対速度を取得する。相対速度が取得できれば、被写体３０２、３０４がｚ軸の原点０に近づいたのか遠ざかったのかがわかる。この例では、被写体３０２、３０４とカメラとの距離は共に、図３（ａ３）、（ｂ３）に示すように、前々フレームよりも前フレームの方が近づいている。このことから、現フレームにおいても被写体３０２、３０４は近づき続けると仮定して、現フレームで被写体３０２、３０４は距離Ｚｂ３０２、Ｚｂ３０４よりもｚ軸の負方向側、即ち至近端寄りにあると判定する。そして、距離Ｚｂ３０２、Ｚｂ３０４よりも近い位置にある被写体に対してのみ信頼性がある焦点検出結果が算出可能となるように、距離Ｚｂ３０４よりも無限端側の範囲を除いた焦点検出フォーカス範囲を設定する。ただし、この例では、被写体３０２、３０４のどちらに対しても信頼性のある焦点検出結果が算出可能となる必要があるため、両方の被写体を網羅できるように距離情報Ｚｂ３０４よりも近い位置にある被写体を対象とする。
【００８７】
以上２つの例では、焦点検出フォーカス範囲を、フォーカス範囲全域よりも狭めて設定することができるため、より高速化が可能である。なお、この２つの例以外にも、焦点検出フォーカス範囲を全域に設定する必要がない場合は、できる限り狭い範囲を設定して、高速化を図ればよい。
【００８８】
また、複数の動体が検出された場合、カメラに近く、かつ、近づいている動体から順に焦点検出が行われるように焦点検出フォーカス範囲を決定してもよい。
【００８９】
また、前述したように、焦点検出フォーカス範囲は、焦点検出方式によって異なる。この理由は、焦点検出方式によって、信頼性の高い距離情報を算出可能なフォーカスレンズ１０４の位置が異なるためである。その具体例を説明する。
【００９０】
例えば、図３（ｃ３）に示すように、現フレームに写っている被写体のうち、最も至近端寄りにある被写体３０２にピントが合っている場合には、ｚ方向でより正方向にある被写体３０４にピントは合っておらず、ぼけた状態となっている。このようにぼけた状態で写っている被写体３０４の距離情報を、精度よく算出可能な焦点検出方式もあるが、信頼性の低い距離情報しか得られない焦点検出方式もある。よって、この場合は、カメラＭＰＵ１２５がレンズＭＰＵ１１７に対してデフォーカス量を所定量だけ変更し、被写体３０４に対して、よりピントが合った画像を取得して再度距離情報を算出する必要がある。カメラＭＰＵ１２５がレンズＭＰＵ１１７に対して要求するデフォーカス量の変更量は、焦点検出方式に応じて最適な値を選択すればよい。すなわち、焦点検出フォーカス範囲は、焦点検出方式に応じて最適な値を選択すればよい。
【００９１】
＜最優先領域の設定＞
次に、図３を参照して、本実施形態において、カメラＭＰＵ１２５に含まれる焦点検出部１２９が実行する最優先領域の設定処理について説明する。
【００９２】
前述のように、図３（ｂ１）の斜線領域または図３（ｃ１）の斜線領域が焦点検出実行領域である。ここで、図３（ｂ２）の被写体３０２、３０３、３０４のうち、被写体３０２のｚ方向の相対速度だけが所定速度以上で且つ距離が所定距離以下であった場合について考える。この場合、被写体３０２を含む前フレームの焦点検出領域ｂ２１、ｂ３１、ｂ４１、または、被写体３０２を含む現フレームの焦点検出領域ｂ２１、ｂ３１、ｂ４１、ｃ２１、ｃ３１、ｃ４１が最優先領域となる。つまり、焦点検出領域ｂ２１、ｂ３１、ｂ４１、ｃ２１、ｃ３１、ｃ４１の合計６個の領域が最優先領域となる。前フレームと現フレームの両方を考慮する理由は、前述したように、動体の移動元である前フレームと、動体の移動先である現フレームの両方を含むように、焦点検出実行領域を設定する必要があるためである。そして、被写体３０２に係わる６個の焦点検出実行領域に対して、焦点検出部１２９が焦点検出を行った結果を更に距離情報取得部１３２が演算した結果に基づいて、距離マップ作成部１３４が更新処理を実行する。距離マップ作成部１３４は、ＲＡＭ１２５ｂに記憶されている前フレームの距離マップに対して、距離情報取得部１３２により得られた距離情報のみを置き換えてＲＡＭ１２５ｂに現フレームの距離マップとして記憶する。
【００９３】
以上のように、本実施形態によれば、距離マップを更新する場合に、カメラに対して所定速度以上で近づき且つカメラとの距離が所定距離以下である被写体距離を、より高速に取得することが可能となる。
【００９４】
なお、本実施形態では、所定数の焦点検出領域ごとに焦点検出処理を行って得られた、所定数の焦点検出結果に基づいて、同じ所定数の距離情報を算出することで距離マップを作成したが、焦点検出結果の数と距離情報の数は一致していなくてもよい。例えば、焦点検出結果の数が多く、距離情報の数が焦点検出結果の数よりも少なくてよい場合は、焦点検出結果を重みづけ加算することで距離情報の数を減らしてもよい。
【００９５】
また、焦点検出実行領域内の全域に対して焦点検出を実行する必要はなく、焦点検出実行領域内の、一部の被写体のみを抽出して焦点検出を行ってもよい。例えば、図３（ｂ２）に示す被写体３０２が含まれる焦点検出領域ｂ２１、ｂ３１、ｂ４１のうち、被写体３０２のみを含む領域に対して焦点検出を実行してもよい。
【００９６】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００９７】
１００…レンズユニット、１２０…カメラ本体、１２５…カメラＭＰＵ、１２９…焦点検出部、１３０…動体検出部、１３１…動体情報取得部、１３２…距離情報取得部、１３３…フォーカス範囲決定部、１３４…距離マップ作成部
【図１】
0006739242.tif 000002
【図２】
0006739242.tif 000003
【図３】
0006739242.tif 000004