以下、適宜図面を参照しながら、実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
なお、発明者(ら)は、当業者が本開示を十分に理解するために添付図面および以下の説明を提供するのであって、これらによって特許請求の範囲に記載の主題を限定することを意図するものではない。
〔1.実施の形態1〕
以下に説明するオートフォーカス装置は、被写体がカメラに対して近づいたり遠ざかったりした状態でも合焦精度を確保することができ、使用者が良好な撮影を行うことを可能にする。以下、オートフォーカス装置をデジタルカメラに搭載した場合を実施の形態として説明する。
〔1−1.構成〕
本実施の形態に係わるデジタルカメラの電気的構成および背面構成を、以下図を用いて説明する。
〔1−1−1.デジタルカメラの電気的構成〕
図1を参照して、実施の形態に係わるデジタルカメラの電気的構成を説明する。
デジタルカメラ100は、光学系110を介して形成された被写体像をCCDイメージセンサ120で撮像する。CCDイメージセンサ120は撮像面に結像した被写体像を撮像して画像データを生成する。撮像により生成された画像データは前処理部(AFE:Analog Front End)121や画像処理部130において各種処理を施される。画像データはフラッシュメモリ160やメモリカード192に記憶される。フラッシュメモリ160やメモリカード192に記憶された画像データは、使用者による操作部180の操作を受け付けて液晶ディスプレイ(LCD)170上に再生表示される。
コントローラ150は、デジタルカメラ100全体の動作を統括制御する。コントローラ150は、プログラム等の情報を格納するROMや、プログラム等の情報を処理するCPUなどにより構成される。ROMは、シングルAF制御、コンティニュアスAF制御、動体追尾AF等のオートフォーカス制御に関するプログラムの他、デジタルカメラ100全体の動作を統括制御するためのプログラムを格納している。本実施の形態においては、動体追尾AFに関する動作について詳細を後述する。なお、シングルAFやコンティニュアスAFにおいて動体追尾AFに関する動作を適用することも可能である。また、ROMはコントローラ150の内部構成である必要はなく、コントローラ150の外部に備わったものでもよい。また、コントローラ150は、ハードワイヤードな電子回路で構成してもよいし、マイクロコンピュータなどで構成してもよい。また、画像処理部130などと共に1つの半導体チップで構成してもよい。
光学系110は、フォーカスレンズ111やズームレンズ112等により構成される。図示していないが、光学系110は、光学式手ぶれ補正(OIS:Optical Image Stabilizer)レンズを含んでいてもよい。なお、光学系110を構成する各種レンズは何枚から構成されるものでも、何群から構成されるものでもよい。
フォーカスレンズ111は焦点距離の調節に用いられる。フォーカスレンズモータ113は、コントローラ150から通知される制御信号に従ってフォーカスレンズ111を光軸方向に駆動する。フォーカスレンズ111を駆動するための制御信号は、ズームレンズ112の移動に伴う被写体像のフォーカス状態の変化を補償するための制御信号や、後述する動体追尾AFのための制御信号を含む。また、フォーカスレンズモータ113は、コントローラ150からフォーカスレンズ111の位置を固定する旨の制御信号を受けると、該位置にフォーカスレンズ111を固定する。このように、コントローラ150は、フォーカスレンズ111及びズームレンズ112の位置を把握していることから、レンズ位置検出手段としての機能を有しているが、デジタルカメラ100においてレンズの位置を検出する装置を別途設けてもよい。
ズームレンズ112は拡大縮小倍率の調節に用いられる。ズームレンズモータ114は、コントローラ150から通知される制御信号に従ってズームレンズ112を光軸方向に駆動する。ズームレンズ112を駆動するための制御信号は、使用者の操作部180の操作に応じて、コントローラ150が生成する。なお、本発明は、ズームレンズモータ114を必須の構成とせず、使用者のマニュアル操作に応じてズームレンズ112を光軸方向に移動する構成としてもよい。
CCDイメージセンサ120は光学系110を通して集光された光を電気信号へと変換する。CCDイメージセンサ120の受光面には多数のフォトダイオードが2次元的に配列されている。被写体からの光は光学系110を通過したのちにCCDイメージセンサ120上の受光面に結像される。受光面は、被写体からの光を光電効果により電荷に変換して蓄える。各受光面で蓄えられた電荷は垂直CCDおよび水平CCDによってアンプ(図示せず)に転送され、画像信号が生成される。CCDイメージセンサ120は、一定時間ごとに新しいフレームの画像データを生成する。なお本発明においては、CCDイメージセンサ120に代えて、例えばCMOSイメージセンサやNMOSイメージセンサなど、他の撮像素子を用いても良い。
前処理部121は、CCDイメージセンサ120で生成された画像信号に対して、相関二重サンプリング、ゲイン調整等の処理を実行する。また、アナログ形式の画像データからデジタル形式の画像データへの変換を施す。その後、前処理部121は画像データを画像処理部130に出力する。
画像処理部130は、画像データに対して各種の処理を施す。各種処理としては、ガンマ補正、ホワイトバランス補正、YC変換処理、電子ズーム処理、圧縮処理、伸張処理等が挙げられるが、これらに限定されるものではない。また、これらの一部を欠く構成としてもよい。画像処理部130は、ハードワイヤードな電子回路で構成してもよいし、プログラムを用いたマイクロコンピュータなどで構成してもよい。またコントローラ150などとともに1つの半導体チップで構成してもよい。
バッファメモリ140は、画像処理部130やコントローラ150のワークメモリとして機能する記憶手段である。バッファメモリ140はDRAM(Dynamic Random Access Memory)などで実現できる。
フラッシュメモリ160は、画像データ等を記憶するための内部メモリとして機能する。コントローラ150は、画像処理部130で処理される画像データをフラッシュメモリ160あるいはメモリカード192に記憶する。
カードスロット191は、メモリカード192を着脱可能な接続手段である。カードスロット191は、メモリカード192を電気的及び機械的に接続可能である。また、カードスロット191は、メモリカード192を制御する機能を備えてもよい。
メモリカード192は、内部にフラッシュメモリ等の記憶部を備えた外部メモリである。メモリカード192は、画像処理部130で処理される画像データなどのデータを記憶可能である。本実施の形態では、外部メモリの一例としてメモリカード192を示すが、本発明はこれには限らない。例えば、光ディスク等の記憶媒体を外部メモリとしてもよい。
液晶ディスプレイ170は、画像処理部130にて処理された画像データに基づく画像を表示する。液晶ディスプレイ170が表示する画像には、スルー画像や記憶画像がある。スルー画像は、CCDイメージセンサ120により一定時間ごとに生成される新しいフレームの画像を連続して表示する画像である。液晶ディスプレイ170に表示されるスルー画像を参照することにより、使用者は被写体の構図を確認しながら撮影できる。記憶画像は、メモリカード192やフラッシュメモリ160に記憶された画像である。液晶ディスプレイ170は、使用者の操作に応じて、すでに記憶した画像データに基づく画像を表示する。また、液晶ディスプレイ170は、画像の他、デジタルカメラ100の設定条件等を表示可能である。なお、本発明は、液晶方式、プラズマ方式、有機EL方式に限定されず、画像データを表示するディスプレイであれば本発明に適用可能である。
操作部180は、デジタルカメラ100の外装に備わっているボタン状やスライド状のもの、あるいは液晶ディスプレイ170に触れて操作するタッチパネル式のものを含む。詳細は次項で説明する。デジタルカメラ100は、使用者による操作部180の操作を受け付けて種々の動作を実行する。
〔1−1−2.デジタルカメラの背面および上面の構成〕
図2を参照して、実施の形態に係わるデジタルカメラ100の背面および上面の構成を説明する。
デジタルカメラ100の背面および上面には電源スイッチ184、レリーズ釦181、ズームダイヤル182、十字釦185、中央釦183等が備えられる。これらは図1の操作部180に対応する。
電源スイッチ184は、デジタルカメラ100の電力供給状態をONとOFFとで切り替える。電源スイッチ184がON状態になると、デジタルカメラ100は電力を供給される。
レリーズ釦181は、二段階の押下釦である。以下、レリーズ釦181の一段階目の押下を「半押し」と称し、レリーズ釦181の二段階目の押下を「全押し」と称する。使用者によりレリーズ釦181が半押しされると、コントローラ150は、被写体に合焦させるためのオートフォーカス制御を実行する。被写体に合焦されると、コントローラ150は必要に応じてフォーカスレンズ111の位置を固定するよう制御する。また、使用者によりレリーズ釦181が全押しされると、コントローラ150は全押しのタイミングに応じて撮像した画像データをメモリカード192等に記憶する。
ズームダイヤル182は、被写体を広角で撮ったり、望遠で撮ったりと拡大縮小倍率の調節をすることができる。使用者によるズームダイヤル182の操作に応じて、コントローラ150は、ズームレンズ112を駆動するための制御信号を生成する。
十字釦185は、上釦、右釦、下釦および左釦を含む。十字釦185を押下すると、押下した釦に対応した方向に、液晶ディスプレイ170に表示されたカーソル表示の選択項目を移動したりする。中央釦183は、液晶ディスプレイ170で表示されているカーソル表示の選択項目を決定するための押下釦である。
〔1−1−3.用語の対応関係〕
フォーカスレンズ111は、フォーカスレンズの一例である。フォーカスレンズモータ113およびコントローラ150とからなる構成は、レンズ駆動部の一例である。コントローラ150は、レンズ位置検出部、領域検出部、評価値算出部、移動判断部、及びレンズ制御部の一例である。フォーカスレンズ111、フォーカスレンズモータ113、コントローラ150とからなる構成は、オートフォーカス装置の一例である。デジタルカメラ100は、撮像装置の一例である。
〔1−2.動作〕
以下、本実施の形態に係わるデジタルカメラ100の各種動作を、図面を用いて説明する。
〔1−2−1.オートフォーカス制御動作〕
本実施の形態に係わるデジタルカメラ100は、シングルAF制御動作やコンティニュアスAF制御動作、顔検出AF制御動作及び動体追尾AF制御動作を含むオートフォーカス制御動作を行う。
オートフォーカス制御は、画像データが生成されるごとに算出されるAF評価値に基づいて実行される。AF評価値は、画像データを構成する輝度信号の高周波成分を積算することにより得られる。なお、AF評価値はコントラスト値とも呼ばれる。複数のフォーカスレンズ位置に対して算出した複数のAF評価値を比較することにより、コントローラ150は、フォーカスレンズ111を移動させる方向および、被写体像の合焦状態を判断する。
また、本実施の形態においては、一例としてセグメンテーションという画像処理の手法を用いて、液晶ディスプレイ170上での対象領域の相対的な大きさを演算する。具体的には、人の頭部や顔の領域を対象領域としてセグメンテーションを行い、人の頭部や顔の領域を抽出して、液晶ディスプレイ170上での相対的な大きさを演算することができる。セグメンテーションは、「画像の認識・理解シンポジウム(MIRU2007)」における論文「平滑化処理の繰り返しによる画像セグメンテーションのためのグラフカット」に記載されているように、画像から対象となる領域を抽出する手法の1つとして知られている。
まず、シングルAF制御動作を説明する。図3は、シングルAF制御の基本動作説明図である。シングルAF制御において、フォーカスレンズモータ113は、フォーカスレンズ111を無限端あるいは至近端から一方向に駆動し続ける。コントローラ150は、フォーカスレンズ111の駆動に合わせて周期的にAF評価値を算出し続ける。フォーカスレンズモータ113は、AF評価値が上昇し続ける限りフォーカスレンズ111を一方向に駆動し続ける。AF評価値の上昇が止まり、下降が始まると、コントローラ150はフォーカスレンズ111が合焦位置を通過したと判断する。そして、フォーカスレンズモータ113は、フォーカスレンズ111を今までとは逆方向に駆動し、最もAF評価値が高くなるときのフォーカスレンズ111の位置すなわち合焦位置に移動させる。コントローラ150は、使用者のレリーズ釦181の半押し操作を受け付けて、シングルAF制御動作を実行する。シングルAF制御動作後、フォーカスレンズ111が合焦位置に移動すると、コントローラ150は、フォーカスレンズ111をその位置に固定する。
〔1−2−2.動体追尾AF制御の基本原理〕
実施の形態1における動体追尾AF制御動作を説明する。動体追尾AF制御動作は、被写体の動きを追尾検出し、その動きを追尾検出された被写体に合焦し続けるようにフォーカスレンズ111を調節し続ける制御動作である。使用者は、画像中において、動きを追尾検出すべき被写体を設定することができる。本実施の形態の動体追尾AF制御動作は、一例として、使用者がレリーズ釦181を半押しすることにより開始するとする。本動作モードはコントローラ150で制御・認識される。なお、使用者がレリーズ釦181を半押しする前から動体追尾AF制御動作が行われるよう動体追尾AF制御動作を常時動作させてもかまわない。
本実施の形態の説明に入る前に図9を用いて動体追尾AF制御の基本原理を説明する。図9は、実施の形態1における動体追尾AF制御における合焦位置演算アルゴリズムを説明するための図である。同図において、被写体S、フォーカスレンズ111、CCDイメージセンサ120を模式的に示している。被写体Sがカメラに向かって近づいていく場合、図9(a)に示す状態から図9(b)に示す状態に推移する。図9(c)、(d)は、図9(a)と図9(b)のそれぞれの状態において液晶ディスプレイ170に表示された被写体Sを示し、これは、被写体に対する合焦の状況をも示している。また、図9(a)の状態から図9(b)の状態への遷移時間は、T[s]であるとする。
より具体的に原理を説明するために下記条件(1)〜(4)で示す具体値を用いて説明する。
条件(1)焦点距離f=150mm,絞り値F=5.6のレンズを使用
なお、ズームレンズ112は動作させないものとするため記載を省略
条件(2)CCDイメージセンサ120の縦方向のサイズは13mm
条件(3)被写体を上下1mの範囲で捉えている
条件(4)被写体が7m/sでデジタルカメラ100へ近づいている
これらの条件において、被写体からフォーカスレンズ111までの距離をa0、フォーカスレンズ111からCCDイメージセンサ120までの距離をb0とすると、次式が成り立つ。
a0:b0 = 1000 : 13
焦点距離f=150[mm]と一般式1/f=1/a0+1/b0とから次式が求められる。
a0 = f・(1+1000/13) = 11688 [mm]
b0 = 151.95 [mm]
ここで、T=1/30[sec]とすると、次式が求められる。
Δa = 7000/30 = 233.3 [mm]
Δb = −(b02/a02)・Δa
∵Δ(1/b0) = Δ(1/f − 1/a0)
よって、下記の式が得られる。
Δb = 39.4 [μm]
したがって7m/secで向かってくる被写体に対しては、フォーカスレンズ111を1/30[sec]において39.4[μm]の速度で駆動すれば、合焦状態を維持することができる。このとき、フォーカスレンズ111の光軸方向への単位移動量はCCDイメージセンサ120へのピント位置移動量(像面移動量)とほぼ等しいものとすると、1/30[sec]での像面移動量は0.42[Fδ]に相当する(但し、δ=16.7[μm]とする)。また、以下では、この1/30[sec]での像面移動量である単位移動量Pは、一例として、P=0.42[Fδ]とする。
〔1−2−3.実施の形態1における動体追尾AF制御動作〕
本実施の形態1における動体追尾AF制御動作について、図4A〜4D、5〜8を参照しながら説明する。図4A〜4Dは、実施の形態1における動体追尾AF制御動作において、コントローラ150の動作を示すフローチャートである。
図5は、実施の形態1における動体追尾AFの動作原理を説明するための図(被写体:近づく、初期位置:合焦位置)である。図5は、被写体がカメラに近づいており、かつ、AF動作開始時において合焦状態にあり、フォーカスレンズ111がAF評価値のピークに対して無限遠側に位置している場合を想定している。図5(a)〜(c)は、図5(a)→図5(b)→図5(c)の順で、被写体Sがデジタルカメラ100に近づいて来ている様子を示している。被写体Sの頭部をセグメンテーションによって抽出することで、被写体Sの大きさを検出できる。
図6は、図5に対応する、実施の形態1における動体追尾AFの動作を説明するための図(被写体:近づく、初期位置:合焦位置)である。図6におけるC0〜C7はAF評価値(コントラスト値)を示す。被写体がカメラに対して近づいて来ているために、AF評価値のピーク位置は、時刻T0〜T7にかけて移動している。ここでピーク位置とは、正確には、AF評価値が最大となるときのフォーカスレンズ位置を指す。
P0〜P7はフォーカスレンズ111の位置を表している。なお、フォーカスレンズ位置P0は図5(a)におけるフォーカスレンズ111の位置に相当する。フォーカスレンズ位置P4は図5(b)におけるフォーカスレンズ111の位置に相当する。フォーカスレンズ位置P6は図5(c)におけるフォーカスレンズ111の位置に相当する。図6の各時刻において破線で示すグラフは、仮にその時刻に各フォーカスレンズ位置でAF評価値を同時に計算したときの値を示したものであり、実際にコントローラ150が得ることができるのは、各時刻でひとつのフォーカスレンズ位置に対するAF評価値のみ(図中のP0〜P7に相当)である。本実施の形態では、被写体が光軸方向に等速で移動していると仮定し、AF評価値のピーク位置を推定する。
図7は、図5とは異なる状況における実施の形態1における動体追尾AFの動作原理を説明するための図(被写体:遠ざかる、初期位置:合焦位置)である。具体的には、図7は、被写体がカメラから遠ざかっており、かつ、AF動作開始時において合焦状態でフォーカスレンズ111がAF評価値のピークに対して至近側に位置している場合を想定している。すなわち、図7(a)〜(c)は、図7(a)→図7(b)→図7(c)の順で、被写体Sがデジタルカメラ100から遠ざかっている様子を示している。被写体Sの頭部をセグメンテーションによって抽出し、被写体Sの大きさを検出できる。
図8は、図7に対応した実施の形態1における動体追尾AFの動作説明図(被写体:遠ざかる、初期位置:合焦位置)である。図8におけるC0〜C7はAF評価値を示す。被写体がカメラから遠ざかっているためにAF評価値のピーク位置が時刻T0〜T7に掛けて移動している。
P0〜P7はフォーカスレンズ111の位置を表している。なお、フォーカスレンズ位置P0は図7(a)におけるフォーカスレンズ111の位置に相当する。フォーカスレンズ位置P4は図7(b)におけるフォーカスレンズ111の位置に相当する。フォーカスレンズ位置P6は図7(c)におけるフォーカスレンズ111の位置に相当する。
なお、時間の一目盛りTは1/30[s]とする。ピーク位置はフォーカスレンズ位置で示し、フォーカスレンズ位置の一目盛りPは0.42[Fδ]とする。
図4A〜図4Dのフローにしたがい動体追尾AF制御動作を説明する。コントローラ150は、動体追尾AF制御動作中において、レリーズ釦181の半押し操作を受け付けると、AF動作を開始する(S0)。実施の形態1においては、シングルAF制御動作によって被写体に合焦している状態から動体追尾AF制御動作が開始されるものとする。AF動作の開始時刻をT0とする。
時刻T0において、コントローラ150は、フォーカスレンズ111の駆動を停止した状態で、フォーカスレンズ位置P0についてセグメンテーションを用いて被写体の大きさを検知するとともに、AF評価値を検知する。次に、時刻T1において、コントローラ150は、フォーカスレンズ111の駆動を停止した状態で、フォーカスレンズ位置P1についてセグメンテーションを用いて被写体の大きさを検知するとともに、AF評価値を検知する(S1)。そして、コントローラ150は、フォーカスレンズ位置P0における被写体の大きさと、フォーカスレンズ位置P1における被写体の大きさとを比較し、被写体の大きさが変化したかどうかの判定を行う(S2)。被写体の大きさが変化している場合、光軸方向における被写体の移動があり、被写体に合焦していないと判断できる。すなわち、フォーカスレンズ111を移動させる必要がある。このため、ステップS3に進む。一方、被写体の大きさが変化していない場合には、光軸方向における被写体の移動がないと判断できる。すなわち、フォーカスレンズ111を移動させる必要がないため、ステップS1に戻る。
ステップS2において被写体の大きさが変化したと判断された場合、ステップS3以降の処理が実施される。ステップS3では、被写体が大きく変化したか否かを判断する。被写体が大きく変化した場合にはステップS40(図4B)に進み、被写体が大きくなっていない(すなわち、小さくなった)と判断された場合にはステップS41(図4C)に進む。
A.被写体が大きくなった場合の処理(図4B、図4D)
被写体が大きくなったと判断した場合に実施される処理(ステップS40以降の処理)について、図5及び図6を参照しながら説明する。図5及び図6は、
図5は、被写体が(a)→(b)→(c)の順に時間経過に従ってカメラに近づいている様子を示している。よって、図5(d)〜(f)に示すように、液晶ディスプレイ170上に表示される被写体Sは、時間経過とともに相対的な大きさが大きくなっている。このような場合、ステップS2では被写体の大きさが変化していると判断され、ステップS3では被写体の大きさが大きくなっていると判断されるために、ステップS40の処理(図4B)に進む。
時刻T2において、コントローラ150はステップS40の処理を行う。ステップS40では、フォーカスレンズ111の駆動を停止した状態で、図6におけるフォーカスレンズ位置P2においてセグメンテーションを用いて被写体の大きさを検知するとともにAF評価値を検知する。ステップS1では、フォーカスレンズ111の駆動を停止した状態で、図6におけるフォーカスレンズ位置P0およびP1におけるAF評価値を検知している。このため、フォーカスレンズ位置P2におけるAF評価値と、先に検出したフォーカスレンズ位置P0およびP1におけるAF評価値とを比較して、フォーカスレンズ位置P2におけるAF評価値が大きくなったかどうかを判定する(S50)。
図6の例では、フォーカスレンズ位置P2におけるAF評価値は先に検出したフォーカスレンズ位置P0およびP1におけるAF評価値より小さくなっている。このため、図4Bに示すフローにおいて、ステップS50からステップS601に処理が進む。このとき、ステップS3とS50での判断結果に基づき、フォーカスレンズ位置P2に対して、AF評価値C2のピーク位置(すなわち合焦位置)は至近側にあると考えられるので、フォーカスレンズ111はAF評価値C2のピークに対して無限側にあると判断する(S601)。
次に、ステップS701にてAF評価値のピークの方向に向けてフォーカスレンズ111を至近側に駆動させる。図6の例では、フォーカスレンズ位置P0,P1,P2において順にAF評価値は小さくなっているため、AF評価値のピーク位置は、フォーカスレンズ111の現在位置から遠ざかっていると考えられる。そこで、フォーカスレンズ111を至近側(AF評価値のピーク位置側)に相対的に速く駆動させるようにすることで、AF評価値のピーク位置を早く見つけることができる。なお、「相対的に速く駆動」とは、AF評価値のピーク位置がフォーカスレンズ111の現在位置に近づいている場合(後述)における駆動速度よりも速い駆動速度で駆動することを意味している。
次に時刻T3において、コントローラ150はステップS801の処理を行う。ステップS801では、フォーカスレンズ111を至近側に相対的に速く駆動させながら、フォーカスレンズ位置P3において、セグメンテーションを用いて被写体の大きさを検知するとともにAF評価値を検知する。
ステップS901では、この時点までのAF評価値を比較し、フォーカスレンズ位置がAF評価値のピーク位置を越えたかどうかを判断する。ピーク位置を越えていないと判断している間はステップS701からステップS901の動作を繰り返す。ここで、時刻T4において、AF評価値を検知し(S801)、フォーカスレンズ位置P2,P3,P4の順でAF評価値を比較する(S901)。その結果、AF評価値のピーク位置を越えたと判断できるため、AF評価値のピーク位置を検知したと判断できる。よって、時刻T5においてステップS10(図4D)に処理を移行させ、フォーカスレンズ111を停止させる(フォーカスレンズ位置P5)。
その後、合焦検出位置Pd1と合焦検出時刻Td1を演算する(S11)。フォーカスレンズ位置P0〜P4でのAF評価値を用いると、P2→P3→P4の移動においてAF評価値のピークを通過していることを認識できる。図6の例では、フォーカスレンズ位置P2とP3におけるAF評価値は等しいのでフォーカスレンズ位置P2とP3の中間位置にピーク位置が存在すると演算することができる。また、フォーカスレンズ位置P2におけるAF評価値は時刻T2、フォーカスレンズ位置P3におけるAF評価値は時刻T3にて検知しているので、同様にAF評価値のピークは時刻T2とT3の中間にて検知されたと考えることができる。すなわち、合焦検出位置Pd1は、フォーカスレンズ111を駆動することによってAF評価値のピーク位置を越えたときに、過去のAF評価値に基づいて予測演算したAF評価値のピーク位置である。フォーカスレンズ111のP2,P3,P4の各位置におけるAF評価値から、合焦検出位置Pd1を予測演算することができる。
したがって、AF評価値がピークとなる合焦検出位置Pd1は次式で表すことができる。
Pd1=(P2+P3)/2
ここで、図6の例では、P2=P0であり、「相対的に速く駆動」するときの駆動速度(すなわち、AF評価値のピーク位置がフォーカスレンズ111の現在位置から遠ざかっている場合の駆動速度)を1Tあたり1.25Pと定義すると、れば、P3=P0−1.25・Pである。よって、合焦検出位置Pd1は次式で得られる。
Pd1=P0−0.625・P
また、AF評価値がピークを検知した時刻Td1は次式で表すことができる。
Td1=(T2+T3)/2
T2=T0+2・T、T3=T0+3・Tであるので、時刻Td1は次式で表すことができる。
Td1=T0+2.5・T
なお、図6中の「+」は合焦検出位置Pd1と合焦検出時刻Td1を示している(以下の説明においても同じ)。
その後、コントローラ150は、フォーカスレンズ111の移動速度Vdを演算する(S12)。
本実施の形態においては、シングルAF制御動作によって、被写体に合焦している状態から、動体追尾AF制御動作が開始されるものとしている。シングルAF制御動作によるフォーカスレンズの合焦位置は図6において位置P0で表し、そのときの時刻はT0である。図6に示すように、合焦位置P0は、AF評価値C0のピーク位置と一致している。図6における「+」は、ステップS11において演算したフォーカスレンズの合焦検出位置Pd1と合焦検出時刻Td1を示す。したがって、位置P0から位置Pd1へ(Td1−T0)の時間を掛けてフォーカスレンズを移動させることで、動く被写体に対してAF評価値のピークをフォーカスレンズ位置と一致させることができる。故に、動く被写体に対して合焦状態を維持する(すなわちAF評価値のピークをフォーカスレンズ位置と一致させる)フォーカスレンズ111の移動速度Vdは次式で表すことができる。
Vd=(Pd1−P0)/(Td1−T0)=−0.25・P/T
その後、合焦予測位置P6を演算する(S13)。動く被写体に対して合焦状態を維持するフォーカスレンズ111の移動速度Vdと経過時間Tとからフォーカスレンズ111の移動量を演算することができる。時刻T0におけるフォーカスレンズ位置P0から時刻T6において合焦状態を維持するフォーカスレンズ111の位置P6は次式で演算することができる。
P6=P0+Vd・(T6−T0)
=P0+6・Vd・T
=P0−1.5・P
時刻T5におけるフォーカスレンズ位置P5は、次式で表される。
P5=P0−2.5・P
よって、時刻T5におけるフォーカスレンズ位置P5から時間Tが経過した時刻T6においてフォーカスレンズ111を合焦予測位置P6に移動させるための移動量ΔPは次式で表される。
ΔP=P6−P5=1.0・P
そして時刻T6において、コントローラ150はステップS14の処理を行う。ステップS14において、フォーカスレンズ111を合焦予測位置P6へ移動させ(S14)、AF動作を終了する(S15)。すなわち、フォーカスレンズ位置P5からΔP分移動させることで、動く被写体に対して合焦状態を維持することが可能となる。
なお、上記の例では、ステップS3において被写体が大きくなったと判断した場合において、ステップS50においてAF評価値が小さくなったと判断した場合の動作(S601〜S901)を説明した。ステップS50においてAF評価値が大きくなったと判断した場合は、ステップS600〜S900の処理を実行する。この場合、コントローラ150は、フォーカスレンズ111がAF評価値のピーク位置に対して至近側にあると判断して(S600)、フォーカスレンズ111を、ステップS701での速度よりも遅い速度で無限遠側に相対的に遅い速度で駆動する(S700)。この場合の処理は、フォーカスレンズ111の駆動方向が異なる以外は、AF評価値が小さくなったと判断した場合の前述の処理と同様である。
B.被写体が小さくなった場合の処理(図4C、図4D)
次に、ステップS3において被写体が小さくなったと判断した場合の処理(ステップS41以降の処理)について、図7と図8を参照しながら説明する。図7は、被写体は(a)→(b)→(c)の順に時間経過に従って、カメラから遠ざかっている様子を示している。よって、図7(d)〜(f)に示すように、液晶ディスプレイ170上に表示される被写体Sは、時間経過とともに相対的な大きさが小さくなっている。このような場合、ステップS2では被写体の大きさが変化していると判断され、ステップS3では被写体の大きさが小さくなっていると判断されるために、ステップS41の処理(図4C)に進む。
時刻T2において、コントローラ150はステップS41の処理を行う。ステップS41では、フォーカスレンズ111の駆動を停止した状態で、図8におけるフォーカスレンズ位置P2においてセグメンテーションを用いて被写体の大きさを検知するとともにAF評価値を検知する。ステップS1では、フォーカスレンズ111の駆動を停止した状態で、図8におけるフォーカスレンズ位置P0およびP1におけるAF評価値を検知している。このため、フォーカスレンズ位置P2におけるAF評価値と、先に検出したフォーカスレンズ位置P0およびP1におけるAF評価値とを比較して、フォーカスレンズ位置P2におけるAF評価値が大きくなったかどうかを判定する(S51)。
図8の例では、フォーカスレンズ位置P2におけるAF評価値は先に検出したフォーカスレンズ位置P0およびP1におけるAF評価値より小さくなっている。このため、図4Cに示すフローにおいて、ステップS51からステップS610に処理が進む。このとき、フォーカスレンズ位置P2に対して、AF評価値C2のピーク位置(すなわち合焦位置)は無限側にあると考えられる。よって、フォーカスレンズ111はAF評価値C2のピークに対して至近側にあると判断する(S610)。換言すれば、AF評価値のピーク位置よりもフォーカスレンズ111の位置が被写体に近いとも判断できる。または、フォーカスレンズ111の位置に対する合焦位置が撮像面の前にあるとも判断できる。
次に、ステップS710にてAF評価値のピークの方向に向けてフォーカスレンズ111を無限側に駆動させる。図8の例では、フォーカスレンズ位置P0,P1,P2において順にAF評価値は小さくなっているため、AF評価値のピーク位置は、フォーカスレンズ111の現在位置から遠ざかっていると考えられる。
そこで、フォーカスレンズ111を、合焦位置が撮像面側に移動するように、無限側(撮像面側)に相対的に速く駆動させるようにする。これにより、AF評価値のピーク位置を早く見つけることができる。
次に時刻T3において、コントローラ150はステップS810の処理を行う。ステップS810では、フォーカスレンズ111を無限側に相対的に速く駆動させながらフォーカスレンズ位置P3以降においてセグメンテーションを用いて被写体の大きさを検知するとともにAF評価値を検知する。
ステップS910では、この時点までのAF評価値を比較し、フォーカスレンズ位置がAF評価値のピーク位置を越えたかどうかを判断する。ピーク位置を越えていないと判断している間はステップS710からステップS910の動作を繰り返す。ここで、時刻T4において、AF評価値を検知し(S810)、フォーカスレンズ位置P2,P3,P4の順でAF評価値を比較する(S910)。その結果、AF評価値のピーク位置を越えたと判断できるため、AF評価値のピーク位置を検知したと判断できる。よって、時刻T5においてステップS10(図4D)に処理を移行させ、フォーカスレンズ111を停止させる(フォーカスレンズ位置P5)。
その後、合焦検出位置Pd1と合焦検出時刻Td1を演算する(S11)。フォーカスレンズ位置P0〜P4でのAF評価値を用いると、P2→P3→P4の移動においてAF評価値のピークを通過していることを認識できる。図8の例では、フォーカスレンズ位置P2とP3におけるAF評価値は等しいのでフォーカスレンズ位置P2とP3の中間位置にピーク位置が存在すると演算することができる。また、フォーカスレンズ位置P2におけるAF評価値は時刻T2、フォーカスレンズ位置P3におけるAF評価値は時刻T3にて検知しているので、同様にAF評価値のピークは時刻T2とT3の中間にて検知されたと考えることができる。
したがって、AF評価値がピークとなる合焦検出位置Pd1は次式で表すことができる。
Pd1=(P2+P3)/2
ここで、P2=P0、P3=P0−1.25・Pであるので、Pd1が次式で表される。
Pd1=P0+0.625・P
また、AF評価値がピークを検知した時刻Td1は次式で表すことができる。
Td1=(T2+T3)/2
ここで、T2=T0+2・T、T3=T0+3・Tであるので、次式が得られる。
Td1=T0+2.5・T
その後、コントローラ150は、フォーカスレンズ111の移動速度Vdを演算する(S12)。本実施の形態1においては、シングルAF制御動作によって被写体に合焦している状態から動体追尾AF制御動作が開始されるものとしている。シングルAF制御動作によるフォーカスレンズの合焦位置は図8において位置P0で表し、そのときの時刻はT0である。図8に示すように、AF評価値C0のピーク位置と一致している。図8における「+」はステップS11において演算したフォーカスレンズの合焦検出位置Pd1と合焦検出時刻Td1を示す。したがって、フォーカスレンズ位置P0からPd1へはTd1−T0の時間を掛けてフォーカスレンズを移動させれば、動く被写体に対してAF評価値のピークをフォーカスレンズ位置と一致させることができる。したがって、動く被写体に対して合焦状態を維持する(すなわちAF評価値のピークをフォーカスレンズ位置と一致させる)フォーカスレンズ111の移動速度Vdは次式で表すことができる。
Vd=(Pd1−P0)/(Td1−T0)=0.25・P/T
続いて、合焦予測位置P6を演算する(S13)。動く被写体に対して合焦状態を維持するフォーカスレンズ111の移動速度Vdと経過時間Tとからフォーカスレンズ111の移動量を演算することができる。時刻T0におけるフォーカスレンズ位置P0から時刻T6において合焦状態を維持するフォーカスレンズ111の位置P6は次式で演算することができる。
P6=P0+Vd・(T6−T0)
=P0+6・Vd・T
=P0+1.5・P
時刻T5におけるフォーカスレンズ位置P5は、次式で表される。
P5=P0+2.5・P
上式を考慮すると、時刻T5におけるフォーカスレンズ位置P5から時間Tが経過した時刻T6においてフォーカスレンズ111を合焦予測位置P6に移動させるための移動量ΔPは次式で表される。
ΔP=P6−P5
=−1.0・P
そして時刻T6において、コントローラ150は、フォーカスレンズ111を合焦予測位置P6へ移動させ(S14)、AF動作を終了する(S15)。すなわち、フォーカスレンズ位置P5からΔP分移動させることで、動く被写体に対して合焦状態を維持することが可能となる。
なお、上記の例では、ステップS3において被写体が小さくなったと判断した場合において、ステップS51においてAF評価値が小さくなったと判断した場合の動作(S610〜S910)を説明した。ステップS51においてAF評価値が大きくなったと判断した場合は、ステップS611〜S911の処理を実行する。この場合、コントローラ150は、フォーカスレンズ111がAF評価値のピーク位置に対して無限遠側にあると判断して(S611)、フォーカスレンズ111を至近側に相対的に遅い速度で駆動する(S711)。この場合の処理は、フォーカスレンズ111の駆動方向が異なる以外は、AF評価値が小さくなったと判断した場合の前述の処理と同様である。
C.合焦精度を向上させるためのレンズ移動
次に、動く被写体に対してさらに合焦精度を向上するためのフォーカスレンズ111の移動の仕方について図9と図10を用いて説明する。ここでは、カメラに向かって近づいて来る被写体に対して合焦状態を維持するためのフォーカスレンズ111の移動量の演算の仕方について説明する。図9は、実施の形態1における動体追尾AFの合焦位置演算アルゴリズムを説明した図である。図10は、実施の形態1における動体追尾AFのセグメント範囲の検出原理を説明するための図である。
図9(a)は、被写体Sが、フォーカスレンズ111を通してCCDイメージセンサ120上に合焦して結像されている状態を示している。図9(c)は、そのときの、液晶ディスプレイ170に表示される、合焦状態にある被写体像を示している。図9(b)は、被写体Sが、図9(a)に示す状態よりもさらにカメラに近づくことにより、被写体がフォーカスレンズ111を通してCCDイメージセンサ120上に非合焦の状態で結像されている状態を示している。フォーカスレンズ111は図9(a)で示す位置から移動していないため、合焦するための被写体の位置は、実際の被写体Sの後ろ側にあり、後ピン位置となっている。一方、CCDイメージセンサ120側では合焦位置はCCDイメージセンサ120の後ろ側となっている。図9(b)の場合、液晶ディスプレイ170においては、図9(d)に示すように、図9(c)の場合よりも大きな被写体像が表示され、ピントがずれた状態で表示されている。
図9(a)に示すような合焦状態では、フォーカスレンズ111からCCDイメージセンサ120までの距離b0はコントローラ150が検出可能である。また、このときに合焦しているとすれば、被写体Sからフォーカスレンズ111までの距離a0も算出可能である。したがって、被写体Sからフォーカスレンズ111までの距離a0とフォーカスレンズ111からCCDイメージセンサ120までの距離b0は、コントローラ150で認識することができる。
一方、図9(b)に示すような非合焦状態において、フォーカスレンズ111からCCDイメージセンサ120までの距離b0はフォーカスレンズ111を移動させていないためにコントローラ150で認識することができる。しかし、被写体Sからフォーカスレンズ111までの距離a1を知るためには、セグメンテーションを利用して被写体Sの大きさの変化率を知る必要がある。
図10(a)は、図9(a)と同様に被写体Sに対して合焦している状態を示している。図10(a)では、液晶ディスプレイ170の縦方向の範囲(撮像範囲)Lに対して、セグメンテーションを利用して認識された被写体の頭部の大きさを縦方向でセグメント範囲h0として検知している。撮像範囲Lに対するセグメント範囲h0の比率はk0=h0/Lで表すことができる。
図10(b)は、図9(b)と同様に被写体に対して非合焦の状態を示している。図10(b)では、液晶ディスプレイ170の縦方向の範囲(撮像範囲)Lに対して、セグメンテーションを利用して認識された被写体の頭部の大きさを縦方向でセグメント範囲h1として検知している。撮像範囲Lに対するセグメント範囲h1の比率はk1=h1/Lで表すことができる。フォーカスレンズ111は移動させていないため、被写体のセグメント範囲の比率を用いることで、被写体の移動距離を被写体像の倍率変化に基づいて検知することが可能である。次式で示すように、被写体からフォーカスレンズ111までの距離a1を算出することができる。
a1=a0・(k0/k1)
さらに、図9(a)に示す位置から図9(b)に示す位置へ被写体が移動した量Δaは次式で算出することができる。
Δa=a1−a0=a0・(k0/k1−1)
したがって、図9(b)において被写体に対して合焦を維持するためのフォーカスレンズ111の繰出し量Δbは一般式を用いて次式で算出することができる。
Δb=−(b0 2 /a0 2 )・Δa
すなわち、〔1−2−2〕で先に説明したように、AF評価値の大きさと被写体の大きさを検知することで、動く被写体に対して合焦状態を維持することは可能である。具体的には、セグメンテーションを用いて被写体像の大きさの変化率(以下、「倍率変化」と呼ぶ)を詳細に演算することで、合焦状態を維持するためのフォーカスレンズ111の移動量を演算することが可能となる。ここで、AF評価値を用いて得たフォーカスレンズ111の移動量に代えて、被写体像の倍率変化を詳細に演算することにより得られるフォーカスレンズ111の移動量だけ、フォーカスレンズ111を合焦させる位置に移動させてもよい。また、被写体像の倍率変化を詳細に演算することで得たフォーカスレンズ111の移動量を用いて、AF評価値を用いて得たフォーカスレンズ111の移動量を補正してもよい。
以上説明したように、本実施の形態1においては、カメラ方向に動く被写体に対して、合焦している状態から合焦状態を維持するためのフォーカスレンズの移動量を演算することが可能となる。そして、演算した移動量を用いてフォーカスレンズを駆動制御することにより、カメラ方向に動く被写体に対して合焦状態を維持する動体追尾AF制御動作を行うことが可能となる。
なお、ここでは、被写体像の倍率変化は、被写体に対して合焦状態でのセグメント範囲の比率k0と、非合焦状態でのセグメント範囲の比率k1とを用いて、k0/k1という比率で表した。先に説明した条件(1)〜(4)での具体数値を用いて、被写体像の倍率変化の比率k0/k1を求めると、次式となる。
k0/k1=(a0−Δa)/a0
=(11688−233.3)/11688=0.980039
一方、被写体に対して非合焦状態でのセグメント範囲の比率同士を用いて、被写体像の倍率変化を表すと、次のようになる。一例として、時刻T0で合焦している状態からフォーカスレンズ111は固定したまま、被写体がカメラに7m/sの速度で向かってくる条件で、6×Tと7×T分だけ時間が経過した時間での非合焦状態でのセグメント範囲の比率を用いて、被写体像の倍率変化の比率k6/k7を求めると、次のようになる。
k6/k7=(a0−7×Δa)/(a0−6×Δa)
=(11688−7×233.3)/(11688−6×233.3)
=0.977324
k0/k1に対して誤差は約−0.3%である。したがって、必ずしも合焦状態でのセグメント範囲の比率を用いて被写体像の倍率変化を求めることはない。非合焦状態でのセグメント範囲の比率を用いて被写体像の倍率変化を求めることで、被写体がカメラに対して近づくあるいは遠ざかる速度を比較的に正確に求めることができる。なお、実施の形態2においても、同様の思想を適用することができる。
〔2.実施の形態2〕
〔2−1.構成〕
実施の形態2のデジタルカメラ100の構成は、実施の形態1と同様であるので、説明を省略する。
〔2−2.動作〕
〔2−2−1.実施の形態2における動体追尾AF制御動作〕
本実施の形態2における動体追尾AF制御動作について、図11A〜11D、12〜19を参照しながら説明する。図11A〜11Dは、実施の形態2における動体追尾AFの動作を示すフローチャートである。なお、図11A〜11Dのフローチャートが図4A〜4Dのフローチャートと異なるところは、ステップS12Aのみである。
図12は、実施の形態2における動体追尾AFの動作原理を説明するための図(被写体:近づく、初期位置:非合焦(無限側))である。図12は、被写体がカメラに近づいており、かつ、AF動作開始時において非合焦状態でフォーカスレンズ111がAF評価値のピークに対して無限遠側に位置している場合を想定している。すなわち、図12(a)〜(c)は、被写体Sがカメラ100に近づいて行く様子を順に示している。図12(a)→図12(b)→図12(c)の順で、被写体Sはカメラ100に近づいている。被写体Sの頭部をセグメンテーションによって抽出することで、被写体Sの大きさを検出できる。
図13は、図12に対応する、実施の形態2における動体追尾AFの動作を説明するための図(被写体:近づく、初期位置:非合焦(無限側))である。図13におけるC0〜C7はAF評価値を示し、被写体がカメラに対して近づいて来ているために、AF評価値のピーク位置は、時刻T0〜T7に掛けて移動している。P0〜P7はフォーカスレンズ111の位置を表している。なお、フォーカスレンズ位置P0は図12(a)におけるフォーカスレンズ111の位置に相当する。フォーカスレンズ位置P4は図12(b)におけるフォーカスレンズ111の位置に相当する。フォーカスレンズ位置P6は図12(c)におけるフォーカスレンズ111の位置に相当する。
図14は、図12と異なる状況における実施の形態2における動体追尾AFの動作原理を説明するための図(被写体:近づく、初期位置:非合焦(至近側))である。具体的には、図14は、被写体がカメラに近づいており、かつ、AF動作開始時において非合焦状態でフォーカスレンズ111がAF評価値のピークに対して至近側に位置している場合を想定している。図14(a)〜(c)は、被写体Sがカメラ100に近づいている様子を示している。図14(a)→図14(b)→図14(c)に示す順で、被写体Sはカメラ100に近づいている。被写体Sの頭部をセグメンテーションによって抽出し、被写体Sの大きさを検出できる。
図15は、図14に対応する、実施の形態2における動体追尾AFの動作を説明するための図(被写体:近づく、初期位置:非合焦(至近側))である。図15におけるC0〜C7はAF評価値を示し、被写体がカメラに対して近づいて来ているためにAF評価値のピーク位置が時刻T0〜T7に掛けて移動していく様子を示している。P0〜P7はフォーカスレンズ111の位置を表している。なお、フォーカスレンズ位置P0は図14(a)におけるフォーカスレンズ111の位置に相当する。フォーカスレンズ位置P4は図14(b)におけるフォーカスレンズ111の位置に相当する。フォーカスレンズ位置P6は図14(c)におけるフォーカスレンズ111の位置に相当する。
図16は、実施の形態2における動体追尾AFの動作原理を説明するための図(被写体:遠ざかる、初期位置:非合焦(無限側))である。具体的には、図16は、被写体がカメラから遠ざかっており、かつ、AF動作開始時において非合焦状態でフォーカスレンズ111がAF評価値のピークに対して無限遠側に位置している場合を想定している。図16における被写体Sはカメラに対して、(a)→(b)→(c)の順に遠ざかっている。
図17は、図16に対応する、実施の形態2における動体追尾AFの動作を説明するための図(被写体:遠ざかる、初期位置:非合焦(無限側))である。図17におけるC0〜C7はAF評価値を示す。被写体がカメラに対して遠ざかっているために、AF評価値のピーク位置は、時刻T0〜T7に掛けて移動している。また、位置P0〜P7はフォーカスレンズ111の位置を表している。なお、フォーカスレンズ位置P0は図16(a)におけるフォーカスレンズ111の位置に相当する。フォーカスレンズ位置P4は図16(b)におけるフォーカスレンズ111の位置に相当する。フォーカスレンズ位置P6は図16(c)におけるフォーカスレンズ111の位置に相当する。
図18は、さらに異なる状況における実施の形態2における動体追尾AFの動作原理を説明するための図(被写体:遠ざかる、初期位置:非合焦(至近側))である。具体的には、図18は、被写体がカメラから遠ざかっており、かつ、AF動作開始時において非合焦状態でフォーカスレンズ111がAF評価値のピークに対して至近側に位置している場合を想定している。図18における、被写体Sは、カメラに対して(a)→(b)→(c)の順でカメラ100から遠ざかっている様子を示している。
図19は、図18に対応する、実施の形態2における動体追尾AFの動作説明図(被写体:遠ざかる、初期位置:非合焦(至近側))である。図19におけるC0〜C7はAF評価値を示す。被写体がカメラに対して遠ざかっているためにAF評価値のピーク位置が時刻T0〜T7に掛けて移動している。
また、P0〜P7はフォーカスレンズ111の位置を表している。なお、フォーカスレンズ位置P0は図18(a)におけるフォーカスレンズ111の位置に相当する。フォーカスレンズ位置P4は図18(b)におけるフォーカスレンズ111の位置に相当する。フォーカスレンズ位置P6は図18(c)におけるフォーカスレンズ111の位置に相当する。
なお、時刻の一目盛りはT=1/30[s]とする。これらのピーク位置はフォーカスレンズ位置で示し、フォーカスレンズ位置の一目盛りはP=0.42[Fδ]とする。
図11Aを参照し、コントローラ150は、動体追尾AF制御動作中において、レリーズ釦181の半押し操作を受け付けると、AF動作を開始する(S0)。実施の形態2においては、被写体に合焦していない状態(非合焦状態)から動体追尾AF制御動作が開始されるものとする。AF動作の開始時点を時刻T0とする。時刻T0において、コントローラ150は、フォーカスレンズ111の駆動を停止した状態で、フォーカスレンズ位置P0についてセグメンテーションを用いて被写体の大きさを検知するとともに、AF評価値を検知する。次に、時刻T1において、コントローラ150は、フォーカスレンズ111の駆動を停止した状態で、フォーカスレンズ位置P1についてセグメンテーションを用いて被写体の大きさを検知するとともに、AF評価値を検知する(S1)。そして、コントローラ150は、フォーカスレンズ位置P0における被写体の大きさと、フォーカスレンズ位置P1における被写体の大きさとを比較し、被写体の大きさが変化したかどうかの判定を行う(S2)。被写体の大きさが変化している場合、被写体の光軸方向における移動があり、被写体に合焦していないと判断できる。すなわち、フォーカスレンズ111を移動させる必要がある。このため、ステップS3に進む。一方、被写体の大きさが変化していない場合には、被写体の光軸方向における移動がないと判断できる。すなわち、フォーカスレンズ111を移動させる必要がないため、ステップS1に戻る。
以下、ステップS3以降の処理を説明する。ステップS3では、被写体が大きく変化したか否かを判断する。被写体が大きく変化した場合にはステップS40(図11B)に進み、被写体が大きくなっていない(すなわち、小さくなった)と判断された場合にはステップS41(図11C)に進む。
A−1.被写体が大きくなった場合の処理(第1の例)
被写体が大きくなったと判断した場合に実施される処理(図11Bおよび図11DのステップS40以降の処理)について、図12と図13を参照しながら説明する。図12は、(a)→(b)→(c)の順に時間が経過するに従って、被写体がカメラに近づいている様子を示している。よって、図12(d)〜(f)に示すように、液晶ディスプレイ170上に表示される被写体は、時間の経過とともに相対的な大きさが大きくなっている。このような場合、ステップS2では被写体の大きさが変化していると判断され、ステップS3では被写体の大きさが大きくなっていると判断されるために、ステップS40の処理に進む。
時刻T2において、コントローラ150はステップS40の処理を行う。ステップS40では、フォーカスレンズ111の駆動を停止した状態で、図13におけるフォーカスレンズ位置P2においてセグメンテーションを用いて被写体の大きさを検知するとともにAF評価値を検知する。ステップS1では、フォーカスレンズ111の駆動を停止した状態で、図13におけるフォーカスレンズ位置P0およびP1におけるAF評価値を検知している。このため、ステップS50では、フォーカスレンズ位置P2におけるAF評価値と、先に検出したフォーカスレンズ位置P0およびP1におけるAF評価値とを比較して、フォーカスレンズ位置P2におけるAF評価値が大きくなったかどうかを判定する。
図13の例では、フォーカスレンズ位置P2におけるAF評価値は先に検出したフォーカスレンズ位置P0およびP1におけるAF評価値より小さくなっている。このため、図11Bに示すフローにおいて、ステップS50からステップS601に処理が進む。このとき、ステップS3とS50での判断結果に基づき、フォーカスレンズ位置P2に対して、AF評価値C2のピーク位置(すなわち合焦位置)は至近側にあると考えられる。よって、フォーカスレンズ111はAF評価値C2のピークに対して無限側にあると判断する(S601)。換言すれば、AF評価値のピーク位置よりもフォーカスレンズ111の位置が撮像面側に近いと判断できる。または、フォーカスレンズ111の位置に対する合焦位置が撮像面の後ろにあるとも判断できる。
次に、ステップS701にてAF評価値のピークの方向に向けてフォーカスレンズ111を、合焦位置が被写体側に移動するように、至近側(被写体側)に速い速度で駆動させる。図13の例では、フォーカスレンズ位置P0,P1,P2において順にAF評価値は小さくなっているため、AF評価値のピーク位置は、フォーカスレンズ111の現在位置から遠ざかっていると考えられる。そこで、フォーカスレンズ111を至近側に相対的に速く駆動させるようにすることで、AF評価値のピーク位置を早く、かつ精度良く検出することができる。
次に時刻T3において、コントローラ150はステップS801の処理を行う。ここでは、AF評価値のピーク位置は無限側から至近側に0.25P/Tの速度で移動しており、フォーカスレンズ111は、フォーカスレンズ位置P2→P3→P4に掛けて1.25P/Tの速度で移動させる例を示している。したがって、AF評価値のピーク位置の移動速度とフォーカスレンズ111の移動速度との差は1.0P/Tとなる。AF評価値のピーク位置の移動速度とフォーカスレンズ111の移動速度との差を1.0P/T程度にすることにより、AF評価値のピーク位置の探索を早く、かつ精度を確保することができる。なお、ここでは、図13に示すようにAF評価値の検出幅を6Pとしている(以下の例においても同じ)。
ステップS801では、フォーカスレンズ111を至近側に相対的に速く駆動させながら、フォーカスレンズ位置P3において、セグメンテーションを用いて被写体の大きさを検知するとともにAF評価値を検知する。
ステップS901では、この時点までのAF評価値を比較し、フォーカスレンズ111の位置がAF評価値のピーク位置を越えたかどうかを判断する。ピーク位置を越えていないと判断している間はステップS701からステップS901の動作を繰り返す。ここで、時刻T4において、AF評価値を検知し(S801)、フォーカスレンズ位置P2,P3,P4の順でAF評価値を比較する(S901)。その結果、AF評価値のピーク位置を越えたと判断できるため、AF評価値のピーク位置を検知したと判断できる。よって、時刻T5において、フォーカスレンズ111を停止させる(フォーカスレンズ位置P5)(S10)(図11D)。
その後、S11では、合焦検出位置Pd1と合焦検出時刻Td1を演算する。フォーカスレンズ位置P0〜P4でのAF評価値を用いると、P2→P3→P4の移動においてAF評価値のピークを通過していることを認識できる。この例では、フォーカスレンズ位置P2とP4におけるAF評価値は等しく、フォーカスレンズ位置P3におけるAF評価値はフォーカスレンズ位置P2およびP4における値より大きいので、フォーカスレンズ位置P3にピーク位置が存在すると判断することができる。また、AF評価値のピークは時刻T3にて検知されたと考えることができる。
したがって、AF評価値がピークとなる合焦検出位置Pd1は次式で表すことができる。
Pd1=P3=P0−1.25・P
また、AF評価値がピークを検知した時刻Td1は次式で表すことができる。
Td1=T3=T0+3・T
その後、ステップS12Aでは、コントローラ150は、フォーカスレンズ111の移動速度Vdと、合焦検出位置Pd5とを演算する。合焦検出位置Pd5は、時刻T5におけるAF評価値のピークの予測位置である。なお、本実施の形態においては、被写体に対して非合焦の状態から動体追尾AF制御動作が開始されるものとしている。
フォーカスレンズ111の移動速度Vdを求めるためには、図13において「+」で示す合焦検出位置Pd1と、合焦検出時刻Td1と、及び合焦検出位置Pd5が必要となる。
合焦検出位置Pd5の求め方について、図20と図21を用いて詳細に説明する。図20は、実施の形態2における動体追尾AFの合焦位置演算アルゴリズムを説明するための図である。図21は、実施の形態2における動体追尾AFのセグメント範囲の検出原理を説明するための図である。図20(a)は、図13におけるフォーカスレンズ位置P3での被写体、フォーカスレンズ111、およびCCDイメージセンサ120の位置関係を示している。ここでは、被写体とフォーカスレンズ111との距離はa0、フォーカスレンズ111とCCDイメージセンサ120との距離はb0としている。これらの情報は、コントローラ150で認識されている。
次に図20(b)に示すように、図20(a)の被写体の位置でフォーカスレンズ位置が被写体側に繰り出され、被写体の手前に合焦位置が存在する場合を想定する。ここで、被写体とフォーカスレンズ111との距離はa2、フォーカスレンズ111とCCDイメージセンサ120との距離はb1としている。このとき、フォーカスレンズ111とCCDイメージセンサ120との距離がb1となるフォーカスレンズ111の位置を、図13におけるフォーカスレンズ位置P5であるとする。このとき、a0+b0=a2+b1の関係が成り立ち、また、被写体側の合焦位置とフォーカスレンズ111との距離はa3となり、これらの情報はコントローラ150で認識されている。ここでのポイントは、図20(b)においては、フォーカスレンズ位置をP3からP5へ移動させたと仮定していることである。
次に、合焦検出位置Pd5の演算の仕方について説明する。合焦検出位置Pd5は時刻T5におけるAF評価値C5のピークの予測位置を示す。時刻T5では、合焦位置P3はすでに通過してしまっているが、この合焦位置P3(すなわち図20(a)の位置)では次式が成り立つ(fは焦点距離)。
1/f = 1/a0 + 1/b0
図20(b)でフォーカスレンズ位置がP3からP5になったと仮定する。この状態で、被写体の頭部のセグメント範囲h2は、フォーカスレンズ位置P3において検知したセグメント範囲h0を用いて次式で表すことができる。
h2=h0×(b0・a0)/{b1・(a0+b0−b1)}
このときのセグメント範囲の比率k2は、k2=h2/Lで表すことができる。なお、Lは撮像されている範囲を示し、セグメント範囲の比率は撮像範囲Lに対するセグメント範囲の比率を表す。また、フォーカスレンズ位置P5において検知した被写体の頭部のセグメント範囲はh3であり、このときのセグメント範囲の比率k3は、k3=h3/Lで表すことができる。
一方で、フォーカスレンズ位置P5においては、実際には図20(c)に示すように被写体はΔaだけ進んでいる。先に説明したように図20(b)から図20(c)へのセグメント範囲の比率はk2からk3に変化しているので、Δaは以下のように求めることができる。
a2=a0+b0−b1
a2−Δa=(k2/k3)・a2
故に、Δa=(1−k2/k3)・(a0+b0−b1)
したがって、一般式Δb=−(b02/a02)・Δaを用いると、合焦検出位置Pd5はフォーカスレンズ位置P3からΔbだけ繰り出した位置となり、図20(c)に示すようにフォーカスレンズ111とCCDイメージセンサ120との距離をb2=b0+ΔbとすることでΔaだけ近づいてきた被写体に合焦させることができる。
なお、ここでは、既に行き過ぎたフォーカスレンズ位置P3における被写体のセグメント範囲を用いたが、フォーカスレンズ位置P4とP5において検知した被写体のセグメント範囲を用いて各セグメント比率を用いてもよい。その場合、k2とk3に代えてフォーカスレンズ位置P4とP5での比率を用いて、フォーカスレンズ位置P3からの繰出し量Δbを演算しても誤差は小さい。すなわち、フォーカスレンズ位置P4とP5においては、AF評価値のピークを行き過ぎてすぐの位置のため誤差が小さく抑えられる。また、既に行き過ぎた合焦位置での被写体のセグメント範囲を用いることなく、繰出し量Δbを演算することができるので、処理が簡単になるというメリットがある。
ステップS12Aにおいては、コントローラ150は、フォーカスレンズ111の移動速度Vdをさらに算出する。合焦検出位置Pd1からPd5へ(T5−Td1)の時間を掛けてフォーカスレンズを移動させれば、動く被写体に対してAF評価値のピークをフォーカスレンズ位置と一致させることができる。したがって、動く被写体に対して合焦状態を維持する(すなわちAF評価値のピークをフォーカスレンズ位置と一致させる)フォーカスレンズ111の移動速度Vdは次式で表すことができる。
Vd=(Pd5−Pd1)/(T5−Td1)
=−0.25・P/T
その後、ステップS13では、合焦予測位置P6を演算する。動く被写体に対して合焦状態を維持するフォーカスレンズ111の移動速度Vdと経過時間Tとからフォーカスレンズ111の移動量を演算することができる。時刻T0におけるフォーカスレンズ位置P0から、時刻T6において合焦状態を維持するフォーカスレンズ111の位置P6は次式で演算することができる。
P6=Pd1+Vd・(T6−Td1)
=Pd1−0.75・P
時刻T5におけるフォーカスレンズ位置P5は、次式で表される。
P5=Pd1−1.25・P
これを考慮すると、時刻T5におけるフォーカスレンズ位置P5から時間Tが経過した時刻T6においてフォーカスレンズ111を合焦予測位置P6に移動させるための移動量ΔPは次式で表される。
ΔP=P6−P5=0.5・P
そして時刻T6において、フォーカスレンズ111を合焦予測位置P6へ移動させ(S14)、AF動作を終了する(S15)。すなわち、フォーカスレンズ位置P5からΔP分移動させることで、動く被写体に対して合焦状態を維持することが可能となる。
A−2.被写体が大きくなった場合の処理(第2の例)
被写体が大きくなったと判断した場合の処理(図11Bおよび図11DのステップS40以降の処理)について、図14と図15を参照しながら説明する。図14は、(a)→(b)→(c)の順に時間が経過するに従って、被写体がカメラに近づいている様子を示している。よって、図14(d)から(f)に示すように、液晶ディスプレイ170上に表示される被写体は時間の経過とともに相対的な大きさが大きくなっている。このような場合、ステップS2では被写体の大きさが変化していると判断され、ステップS3では被写体の大きさが大きくなっていると判断されるために、ステップS40の処理に進むことになる。
時刻T2において、コントローラ150はステップS40の処理を行う。ステップS40では、フォーカスレンズ111の駆動を停止した状態で、図15におけるフォーカスレンズ位置P2においてセグメンテーションを用いて被写体の大きさを検知するとともにAF評価値を検知する。ステップS1では、フォーカスレンズ111の駆動を停止した状態で、図15におけるフォーカスレンズ位置P0およびP1におけるAF評価値を検知している。このため、ステップS50では、フォーカスレンズ位置P2におけるAF評価値と、先に検出したフォーカスレンズ位置P0およびP1におけるAF評価値とを比較して、フォーカスレンズ位置P2におけるAF評価値が大きくなったかどうかを判定する。
図15の例では、フォーカスレンズ位置P2におけるAF評価値は先に検出したフォーカスレンズ位置P0およびP1におけるAF評価値より大きくなっている。このため、図11Bに示すフローにおいて、ステップS50からステップS600に処理が進む。このとき、ステップS3とS50での判断結果に基づき、フォーカスレンズ位置P2に対して、AF評価値C2のピーク位置(すなわち合焦位置)は無限側にあると考えられる。よって、ステップS600では、フォーカスレンズ111はAF評価値C2のピークに対して至近側にあると判断する。換言すれば、AF評価値のピーク位置よりもフォーカスレンズ111の位置が被写体に近いと判断できる。または、フォーカスレンズ111の位置に対する合焦位置が撮像面の前にあるとも判断できる。
次に、ステップS700にてAF評価値のピークの方向に向けてフォーカスレンズ111を、合焦位置が撮像面側に移動するように、無限側(撮像面側)に遅い速度で駆動させる。図15の例では、フォーカスレンズ位置P0,P1,P2において順にAF評価値は大きくなっているため、AF評価値のピーク位置は、フォーカスレンズ111の現在位置に対して近づいていると考えられる。そこで、フォーカスレンズ111を無限側に相対的に遅く駆動させるようにすることで、AF評価値のピーク位置を早くかつ精度良く検出することができる。
なお、「相対的に遅く駆動」とは、AF評価値のピーク位置がフォーカスレンズ111の現在位置から遠ざかっている場合(前述)における駆動速度よりも遅い駆動速度で駆動することを意味している。ここでは、AF評価値のピーク位置は、無限側から至近側に0.25P/Tの速度で移動しており、フォーカスレンズ111は、フォーカスレンズ位置P2→P3→P4に掛けて0.75P/Tの速度で移動させる例を示している。したがって、AF評価値のピーク位置の移動速度とフォーカスレンズ111の移動速度との差は1.0P/Tとなる。AF評価値のピーク位置の移動速度とフォーカスレンズ111の移動速度との差を1.0P/T程度にすることで、AF評価値のピーク位置の探索を早く、かつ精度を確保することができる。
次に時刻T3において、コントローラ150はステップS800の処理を行う。ステップS800では、フォーカスレンズ111を無限側に相対的に遅く駆動させながらフォーカスレンズ位置P3においてセグメンテーションを用いて被写体の大きさを検知するとともにAF評価値を検知する。
ステップS900では、この時点までのAF評価値を比較し、フォーカスレンズ111の位置がAF評価値のピーク位置を越えたかどうかを判断する。ピーク位置を越えていないと判断している間はステップS700からステップS900までの動作を繰り返す。ここで、時刻T4において、AF評価値を検知し(S800)、フォーカスレンズ位置P2,P3,P4の順でAF評価値を比較する(S900)。その結果、AF評価値のピーク位置を越えたと判断できるため、AF評価値のピーク位置を検知したと判断できる。よって、時刻T5において、フォーカスレンズ111を停止させる(フォーカスレンズ位置P5)(S10(図11D))。
その後、ステップS11では、合焦検出位置Pd1と合焦検出時刻Td1を演算する。フォーカスレンズ位置P0〜P4でのAF評価値を用いると、P2→P3→P4の移動においてAF評価値のピークを通過していることを認識できる。図15の例では、フォーカスレンズ位置P2とP3におけるAF評価値は等しいので、フォーカスレンズ位置P2とP3の中間位置にピーク位置が存在すると演算することができる。また、フォーカスレンズ位置P2におけるAF評価値は時刻T2、フォーカスレンズ位置P3におけるAF評価値は時刻T3にて検知しているので、AF評価値のピークは時刻T2とT3の中間にて検知されたと考えることができる。
したがって、AF評価値がピークとなる合焦検出位置Pd1は次式で表すことができる。
Pd1=(P2+P3)/2
ここで図15の例において、P2=P0である。また、「相対的に遅く駆動」するときの駆動速度、すなわち、AF評価値のピーク位置がフォーカスレンズ111の現在位置に近づいている場合の駆動速度を、1Tあたり0.75Pと定義すれば、P3は次式で表される。
P3=P0+0.75P
よって、Pd1は次式で表される。
Pd1=P0+0.375・P
また、AF評価値がピークを検知した時刻Td1は次式で表すことができる。
Td1=(T2+T3)/2=T0+2.5・T
その後、ステップS12Aでは、コントローラ150は、フォーカスレンズ111の移動速度Vdと、合焦検出位置Pd5とを演算する。本例では、被写体に非合焦の状態から動体追尾AF制御動作が開始されるものとしている。フォーカスレンズ111の移動速度Vdを求めるためには、図15において「+」で示す合焦検出位置Pd1と合焦検出時刻Td1、そして合焦検出位置Pd5が必要となる。合焦検出位置Pd5の求め方についての詳細は先に、図20と図21を用いて具体例を説明したので省略する。ここでは、時刻T5でのフォーカスレンズ位置P5がフォーカスレンズ位置P2とP3の中間位置Pd1と等しいと想定した場合の、フォーカスレンズ位置P5での被写体の頭部のセグメント範囲h2は、次式で表すことができる。なお、h0は、フォーカスレンズ位置P2とP3において検知したセグメント範囲の中間値である。
h2=h0×(b0・a0)/{b1・(a0+b0−b1)}
このときのセグメント範囲の比率k2は、k2=h2/Lで表すことができる。また、フォーカスレンズ位置P5において検知した被写体の頭部のセグメント範囲はh3であり、このときのセグメント範囲の比率k3は、k3=h3/Lで表すことができる。
セグメント範囲の比率はk2からk3に変化しているので、被写体はΔaだけ進んでいると考えられる。このΔaは次式で求めることができる。
a2=a0+b0−b1
a2−Δa=(k2/k3)・a2
故に、Δa=(1−k2/k3)・(a0+b0−b1)
したがって、一般式Δb=−(b02/a02)・Δaを用いると、合焦検出位置Pd5を、合焦検出位置Pd1からΔbだけ繰出した位置とすることで、Δaだけ近づいてきた被写体に合焦させることができる。
なお、ここでは、既に行き過ぎた合焦検出位置Pd1における被写体のセグメント範囲を用いたが、フォーカスレンズ位置P4とP5において検知した被写体のセグメント範囲を用いて各セグメント比率を求めてもよい。その場合、k2とk3に代えてフォーカスレンズ位置P4とP5での各比率を用いて、フォーカスレンズ位置P3からの繰り出し量Δbを演算しても誤差は小さい。すなわち、フォーカスレンズ位置P4とP5においては、AF評価値のピークを行き過ぎてすぐの位置のため誤差が小さく抑えられる。また、既に行き過ぎた合焦位置での被写体のセグメント範囲を用いることなく、繰り出し量Δbを演算することができるので、処理が簡単になるというメリットがある。
ステップS12Aにおいては、コントローラ150は、フォーカスレンズ111の移動速度Vdをさらに算出する。位置Pd1からPd5へ(T5−Td1)の時間を掛けてフォーカスレンズを移動させれば、動く被写体に対してAF評価値のピークをフォーカスレンズ位置と一致させることができる。したがって、動く被写体に対して合焦状態を維持する(すなわちAF評価値のピークをフォーカスレンズ位置と一致させる)フォーカスレンズ111の移動速度Vdは次式で表すことができる。
Vd=(Pd5−Pd1)/(T5−Td1)
=−0.25・P/T
その後、ステップS13では、合焦予測位置P6を演算する。動く被写体に対して合焦状態を維持するフォーカスレンズ111の移動速度Vdと経過時間Tとからフォーカスレンズ111の移動量を演算することができる。時刻T6において合焦状態を維持するためのフォーカスレンズ111の位置P6は次式で演算することができる。
P6=Pd1+Vd・(T6−Td1)
=Pd1−0.875・P
時刻T5におけるフォーカスレンズ位置P5は、次式で表される。
P5=Pd1+1.125・P
これを考慮すると、時刻T5におけるフォーカスレンズ位置P5から時間Tが経過した時刻T6においてフォーカスレンズ111を合焦予測位置P6に移動させるための移動量ΔPは次式で表される。
ΔP=P6−P5=−2.0・P
そして時刻T6において、コントローラ150は、フォーカスレンズ111を合焦予測位置P6へ移動させ(S14)、AF動作を終了する(S15)。すなわち、フォーカスレンズ位置P5からΔP分移動させることで、動く被写体に対して合焦状態を維持することが可能となる。
B−1.被写体が小さくなった場合の処理(第1の例)
被写体が小さくなったと判断した場合の処理(図11Cおよび図11DのステップS41以降の処理)について、図16と図17を参照しながら説明する。図16は、(a)→(b)→(c)の順に時間が経過するに従って、被写体がカメラから遠ざかっている様子を示している。よって、図16(d)〜(f)に示すように、液晶ディスプレイ170上に表示される被写体は時間の経過とともに相対的な大きさが小さくなっている。このような場合、ステップS2では被写体の大きさが変化していると判断され、ステップS3では被写体の大きさが小さくなっていると判断されるために、ステップS41の処理に進むことになる。
時刻T2において、コントローラ150はステップS41の処理を行う。ステップS41では、フォーカスレンズ111の駆動を停止した状態で、図17におけるフォーカスレンズ位置P2においてセグメンテーションを用いて被写体の大きさを検知するとともにAF評価値を検知する。ステップS1では、フォーカスレンズ111の駆動を停止した状態で、図17におけるフォーカスレンズ位置P0およびP1におけるAF評価値を検知している。このため、ステップS51では、フォーカスレンズ位置P2におけるAF評価値と、先に検出したフォーカスレンズ位置P0およびP1におけるAF評価値とを比較して、フォーカスレンズ位置P2におけるAF評価値が大きくなったかどうかを判定する。
図17の例では、フォーカスレンズ位置P2におけるAF評価値は先に検出したフォーカスレンズ位置P0およびP1におけるAF評価値より大きくなっている。このため、図11Cに示すフローにおいて、ステップS51からステップS611に処理が進む。このとき、ステップS3とS51での判断結果に基づき、フォーカスレンズ位置P2において、AF評価値C2のピーク位置(すなわち合焦位置)は至近側にあると考えられる。よって、ステップS611では、フォーカスレンズ111はAF評価値C2のピークから無限側にあると判断する。換言すれば、AF評価値のピーク位置よりもフォーカスレンズ111の位置が撮像面に近いとも判断できる。または、フォーカスレンズ111の位置に対する合焦位置が撮像面の後ろにあるとも判断できる。
次に、ステップS711にてAF評価値のピークの方向に向けてフォーカスレンズ111を至近側に駆動させる。図17の例では、フォーカスレンズ位置P0,P1,P2において順にAF評価値は大きくなっているため、AF評価値のピーク位置は、フォーカスレンズ111の現在位置に対して近づいていると考えられる。
そこで、フォーカスレンズ111を、合焦位置が被写体側に移動するように、至近側(被写体側)に相対的に遅く駆動させるようにすることで、AF評価値のピーク位置を早くかつ精度良く検出することができる。ここでは、AF評価値のピーク位置は、至近側から無限側に0.25P/Tの速度で移動しており、フォーカスレンズ111は、フォーカスレンズ位置P2→P3→P4に掛けて0.75P/Tの速度で移動させる例を示している。
したがって、AF評価値のピーク位置の移動速度とフォーカスレンズ111の移動速度との差は1.0P/Tとなる。AF評価値のピーク位置の移動速度とフォーカスレンズ111の移動速度との差を1.0P/T程度にすることでAF評価値のピーク位置の探索を早く、かつ精度を確保することができる。
次に時刻T3において、コントローラ150はステップS811の処理を行う。ステップS811では、フォーカスレンズ111を至近側に相対的に遅く駆動させながらフォーカスレンズ位置P3においてセグメンテーションを用いて被写体の大きさを検知するとともにAF評価値を検知する。
ステップS911では、この時点までのAF評価値を比較し、フォーカスレンズ位置がAF評価値のピーク位置を越えたかどうかを判断する。ピーク位置を越えていないと判断している間はステップS711からステップS911の動作を繰り返す。ここで、時刻T4において、AF評価値を検知し(S811)、フォーカスレンズ位置P2,P3,P4の順でAF評価値を比較する(S911)。すると、AF評価値のピーク位置を越えたと判断できるため、AF評価値のピーク位置を検知したと判断でき、時刻T5においてステップS10(図11D)に処理を移行し、フォーカスレンズ111を停止させる(フォーカスレンズ位置P5)。
その後、ステップS11では、合焦検出位置Pd1と合焦検出時刻Td1を演算する。フォーカスレンズ位置P0〜P4でのAF評価値を用いると、P2→P3→P4の移動においてAF評価値のピークを通過している様子を知ることができる。図17の例では、フォーカスレンズ位置P2とP3におけるAF評価値は等しいので、フォーカスレンズ位置P2とP3の中間位置にピーク位置が存在すると演算することができる。また、フォーカスレンズ位置P2におけるAF評価値は時刻T2、フォーカスレンズ位置P3におけるAF評価値は時刻T3にて検知しているので、AF評価値のピークは時刻T2とT3の中間にて検知されたと考えることができる。
したがって、AF評価値がピークとなる合焦検出位置Pd1は次式で表すことができる。
Pd1=(P2+P3)/2=P0−0.375・P
また、AF評価値がピークを検知した時刻Td1は次式で表すことができる。
Td1=(T2+T3)/2=T0+2.5・T
その後、ステップS12Aでは、コントローラ150は、フォーカスレンズ111の移動速度Vdと、合焦検出位置Pd5とを演算する。本例においては、被写体に非合焦の状態から動体追尾AF制御動作が開始されるものとしている。フォーカスレンズ111の移動速度Vdを求めるためには、図17において「+」で示す合焦検出位置Pd1と合焦点検出時刻Td1、そして合焦検出位置Pd5が必要となる。合焦検出位置Pd5の求め方については前述のとおりであり、ここでの説明は省略する。ここでは、時刻T5でのフォーカスレンズ位置P5がフォーカスレンズ位置P2とP3の中間位置Pd1と等しい位置になったと想定した状態の、フォーカスレンズ位置P5での被写体の頭部のセグメント範囲h2は次式で表すことができる。なお、h0は、フォーカスレンズ位置P2とP3において検知したセグメント範囲の中間値である。
h2=h0×(b0・a0)/{b1・(a0+b0−b1)}
このときのセグメント範囲の比率k2は、k2=h2/Lで表すことができる。また、フォーカスレンズ位置P5において検知した被写体の頭部のセグメント範囲はh3であり、このときのセグメント範囲の比率k3は、k3=h3/Lで表すことができる。
セグメント範囲の比率はk2からk3に変化しているので、被写体はΔaだけ進んでいると考えられる。このΔaは次式で求めることができる。
a2=a0+b0−b1
a2−Δa=(k2/k3)・a2
故に、Δa=(1−k2/k3)・(a0+b0−b1)
したがって、一般式Δb=−(b0 2 /a0 2 )・Δaを用いると、合焦検出位置Pd5を、合焦検出位置Pd1からΔbだけ繰出した位置とすることで、Δaだけ近づいてきた被写体に合焦させることができる。
なお、ここでは、既に行き過ぎた合焦検出位置Pd1における被写体のセグメント範囲を用いたが、フォーカスレンズ位置P4とP5において検知した被写体のセグメント範囲を用いて各セグメント比率を求めてもよい。その場合、k2とk3に代えて、フォーカスレンズ位置P4とP5での各比率を用いて、フォーカスレンズ位置P3からの繰り出し量Δbを演算しても誤差は小さい。すなわち、フォーカスレンズ位置P4とP5においては、AF評価値のピークを行き過ぎてすぐの位置のため誤差が小さく抑えられる。また、既に行き過ぎた合焦位置での被写体のセグメント範囲を用いることなく、繰り出し量Δbを演算することができるので、処理が簡単になるというメリットがある。
ステップS12Aにおいては、コントローラ150は、フォーカスレンズ111の移動速度Vdをさらに算出する。位置Pd1からPd5へは(T5−Td1)の時間を掛けてフォーカスレンズを移動させれば、動く被写体に対してAF評価値のピークをフォーカスレンズ位置と一致させることができる。したがって、動く被写体に対して合焦状態を維持する(すなわちAF評価値のピークをフォーカスレンズ位置と一致させる)フォーカスレンズ111の移動速度Vdは次式で表すことができる。
Vd=(Pd5−Pd1)/(T5−Td1)=0.25・P/T
その後、ステップS13では、合焦予測位置P6を演算する。動く被写体に対して合焦状態を維持するフォーカスレンズ111の移動速度Vdと経過時間Tとからフォーカスレンズ111の移動量を演算することができる。時刻T6において合焦状態を維持するためのフォーカスレンズ111の位置P6は次式で演算することができる。
P6=Pd1+Vd・(T6−Td1)
=Pd1+0.875・P
時刻T5におけるフォーカスレンズ位置P5は、次式で表される。
P5=Pd1−1.125・P
これを考慮すると、時刻T5におけるフォーカスレンズ位置P5から時間Tが経過した時刻T6においてフォーカスレンズ111を合焦予測位置P6に移動させるための移動量ΔPは次式で表される。
ΔP=P6−P5=2.0・P
そして時刻T6において、コントローラ150は、フォーカスレンズ111を合焦予測位置P6へ移動させ(S14)、AF動作を終了する(S15)。すなわち、フォーカスレンズ位置P5からΔP分移動させることで、動く被写体に対して合焦状態を維持することが可能となる。
B−2.被写体が小さくなった場合の処理(第2の例)
次に、被写体が小さくなったと判断した場合の別の処理(図11Cおよび図11DのステップS41以降の処理)について、図18と図19を参照しながら説明する。図18は、(a)→(b)→(c)の順に時間が経過するに従って、被写体がカメラから遠ざかっている様子を示している。よって、図18(d)から(f)に示すように、液晶ディスプレイ170上に表示される被写体は時間の経過とともに相対的な大きさが小さくなっている。このような場合、ステップS2では被写体の大きさが変化していると判断され、ステップS3では被写体の大きさが小さくなっていると判断されるために、ステップS41の処理に進むことになる。
時刻T2において、コントローラ150はステップS41の処理を行う。ステップS41では、フォーカスレンズ111の駆動を停止した状態で、図19におけるフォーカスレンズ位置P2においてセグメンテーションを用いて被写体の大きさを検知するとともにAF評価値を検知する。ステップS1では、フォーカスレンズ111の駆動を停止した状態で、図19におけるフォーカスレンズ位置P0およびP1におけるAF評価値を検知している。このため、ステップS51では、フォーカスレンズ位置P2におけるAF評価値と、先に検出したフォーカスレンズ位置P0およびP1におけるAF評価値とを比較して、フォーカスレンズ位置P2におけるAF評価値が大きくなったかどうかを判定する。
図19の例では、フォーカスレンズ位置P2におけるAF評価値は先に検出したフォーカスレンズ位置P0およびP1におけるAF評価値より小さくなっている。このため、図11Cに示すフローにおいて、ステップS51からステップS610に処理が進む。このとき、ステップS3とS51での判断結果に基づき、フォーカスレンズ位置P2において、AF評価値C2のピーク位置(すなわち合焦位置)は無限側にあると考えられる。よって、ステップS610では、フォーカスレンズ111はAF評価値C2のピークから至近側にあると判断する。換言すれば、AF評価値のピーク位置よりもフォーカスレンズ111の位置が被写体に近いとも判断できる。または、フォーカスレンズ111の位置に対する合焦位置が撮像面の前にあるとも判断できる。
次に、ステップS710にてAF評価値のピークの方向に向けてフォーカスレンズ111を無限側に駆動させる。図19の例では、フォーカスレンズ位置P0,P1,P2において順にAF評価値は小さくなっているため、AF評価値のピーク位置は、フォーカスレンズ111の現在位置から遠ざかっていると考えられる。
そこで、フォーカスレンズ111を、合焦位置が撮像面側に移動するように、無限側(撮像面側)に相対的に速く駆動させるようにする。これにより、AF評価値のピーク位置を早くかつ精度良く検出することができる。ここでは、AF評価値のピーク位置は、至近側から無限側に0.25P/Tの速度で移動しており、フォーカスレンズ111は、フォーカスレンズ位置P2→P3→P4に掛けて1.25P/Tの速度で移動させる例を示している。
したがって、AF評価値のピーク位置の移動速度とフォーカスレンズ111の移動速度との差は1.0P/Tとなる。AF評価値のピーク位置の移動速度とフォーカスレンズ111の移動速度との差を1.0P/T程度にすることでAF評価値のピーク位置の探索を早く、かつ精度を確保することができる。
次に時刻T3において、コントローラ150はステップS810の処理を行う。ステップS810では、フォーカスレンズ111を無限側に相対的に速く駆動させながらフォーカスレンズ位置P3以降においてセグメンテーションを用いて被写体の大きさを検知するとともにAF評価値を検知する。
ステップS910では、この時点までのAF評価値を比較し、フォーカスレンズ位置がAF評価値のピーク位置を越えたかどうかを判断する。ピーク位置を越えていないと判断している間はステップS710からステップS910の動作を繰り返す。ここで、時刻T4において、AF評価値を検知し(S810)、フォーカスレンズ位置P2,P3,P4の順でAF評価値を比較する(S910)。すると、AF評価値のピーク位置を越えたと判断できるため、AF評価値のピーク位置を検知したと判断でき、時刻T5においてステップS10(図11D)に処理を移行し、フォーカスレンズ111を停止させる(フォーカスレンズ位置P5)。
その後、ステップS11では、合焦検出位置Pd1と合焦検出時刻Td1を演算する。フォーカスレンズ位置P0〜P4でのAF評価値を用いると、P2→P3→P4の移動においてAF評価値のピークを通過している様子を知ることができる。図19の例では、フォーカスレンズ位置P2とP4におけるAF評価値は等しく、フォーカスレンズ位置P3におけるAF評価値はフォーカスレンズ位置P2およびP4におけるAF評価値より大きい。このため、フォーカスレンズ位置P3にピーク位置が存在すると演算することができる。また、AF評価値のピークは時刻T3にて検知されたと考えることができる。
したがって、AF評価値がピークの合焦検出位置Pd1は次式で表すことができる。
Pd1=P3=P0+1.25・P
また、AF評価値がピークを検知した時刻Td1は次式で表すことができる。
Td1=T3=T0+3.0・T
その後、ステップS12Aでは、コントローラ150は、フォーカスレンズ111の移動速度Vdと、合焦検出位置Pd5とを演算する。本例においては、被写体に非合焦の状態から動体追尾AF制御動作が開始されるものとしている。フォーカスレンズ111の移動速度Vdを求めるためには、図19において「+」で示す合焦検出位置Pd1と合焦検出時刻Td1、そして合焦検出位置Pd5が必要となる。合焦検出位置Pd5の求め方については前述のとおりであるので、ここでの説明は省略する。ここでは、時刻T5でのフォーカスレンズ位置P5がフォーカスレンズ位置P3と等しい位置になったと想定した状態での、被写体の頭部のセグメント範囲h2は次式で表すことができる。なお、h0はフォーカスレンズ位置P3において検知したセグメント範囲である。
h2=h0×(b0・a0)/{b1・(a0+b0−b1)}
このときのセグメント範囲の比率k2は、k2=h2/Lで表すことができる。また、フォーカスレンズ位置P5において検知した被写体の頭部のセグメント範囲はh3であり、このときのセグメント範囲の比率k3は、k3=h3/Lで表すことができる。
セグメント範囲の比率はk2からk3に変化しているので、被写体はΔaだけ進んでいると考えられる。このΔaは次式で求めることができる。
a2=a0+b0−b1
a2−Δa=(k2/k3)・a2
故に、Δa=(1−k2/k3)・(a0+b0−b1)
したがって、一般式Δb=−(b0 2 /a0 2 )・Δaを用いると、合焦検出位置Pd5を、合焦検出位置Pd1からΔbだけ繰出した位置とすることで、Δaだけ近づいてきた被写体に合焦させることができる。
なお、ここでは、既に行き過ぎた合焦検出位置Pd1における被写体のセグメント範囲を用いたが、フォーカスレンズ位置P4とP5において検知した被写体のセグメント範囲を用いて各セグメント比率を求めてもよい。その場合、k2とk3に代えて、フォーカスレンズ位置P4とP5での各比率を用いて、フォーカスレンズ位置P3からの繰り出し量Δbを演算しても誤差は小さい。すなわち、フォーカスレンズ位置P4とP5においては、AF評価値のピークを行き過ぎてすぐの位置のため誤差が小さく抑えられる。また、既に行き過ぎた合焦位置での被写体のセグメント範囲を用いることなく、繰り出し量Δbを演算することができるので、処理が簡単になるというメリットがある。
ステップS12Aにおいては、コントローラ150は、フォーカスレンズ111の移動速度Vdをさらに算出する。位置Pd1からPd5へは(T5−Td1)の時間を掛けてフォーカスレンズを移動させれば、動く被写体に対してAF評価値のピークをフォーカスレンズ位置と一致させることができる。したがって、動く被写体に対して合焦状態を維持する(すなわちAF評価値のピークをフォーカスレンズ位置と一致させる)フォーカスレンズ111の移動速度Vdは次式で表すことができる。
Vd=(Pd5−Pd1)/(T5−Td1)=0.25・P/T
その後、ステップS13では、合焦予測位置P6を演算する。動く被写体に対して合焦状態を維持するフォーカスレンズ111の移動速度Vdと経過時間Tとからフォーカスレンズ111の移動量を演算することができる。時刻T6において合焦状態を維持するためのフォーカスレンズ111の位置P6は次式で演算することができる。
P6=Pd1+Vd・(T6−Td1)
=Pd1+0.75・P
時刻T5におけるフォーカスレンズ位置P5は、次式で表される。
P5=Pd1+1.25・P
これを考慮すると、時刻T5におけるフォーカスレンズ位置P5から時間Tが経過した時刻T6においてフォーカスレンズ111を合焦予測位置P6に移動させるための移動量ΔPは次式で表される。
ΔP=P6−P5=−0.5・P
そして時刻T6において、コントローラ150は、フォーカスレンズ111を合焦予測位置P6へ移動させ、AF動作を終了する(S15)。すなわち、フォーカスレンズ位置P5からΔP分移動させることで、動く被写体に対して合焦状態を維持することが可能となる。
〔3.他の実施の形態〕
以上のように、本出願において開示する技術の例示として、実施の形態1〜2を説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置き換え、付加、省略などを行った実施の形態にも適用可能である。また、上記実施の形態1〜2で説明した各構成要素を組み合わせて、新たな実施の形態とすることも可能である。
そこで、以下、他の実施の形態を例示する。
上記の実施の形態においては、動体追尾AF制御動作の一例として使用者がレリーズ釦181を半押しすることにより動作を開始するものとした。これに限らず、使用者がレリーズ釦181を半押しする前から動体追尾AF制御動作を行うようにしてもよい(常時動作)。また、セグメンテーションを用いて被写体の大きさや位置が変化したことを検出して動体追尾AF制御動作のモードに移行させてもよい。また、被写体の明るさや色が変化したり、手振れを検知したりしたときに、動体追尾AF制御動作のモードに移行させてもよい。また、コンティニュアスAF制御動作やシングルAF制御動作などのモードに係わらず動体追尾AF制御動作のモードに自動で移行させてもよい。
本実施の形態においては単位時間T=1/30[s]として説明したが、T=1/60、1/120、1/240[s]など単位時間を短くしてもよい。単位時間を短くすることで動体追尾AFの被写体への追従予測精度はさらに向上する。
また、上記の実施の形態においては、フォーカスレンズを凸レンズとして説明したが、フォーカスレンズは凹レンズで構成され、他の凸レンズと組み合わせて使用されてもよい。この場合には、上記実施の形態において説明した凸レンズのフォーカスレンズの駆動方向に対して逆向きの駆動方向になる。
また、上記の実施形態では、AF評価値を用いた動体追尾AF制御動作において、フォーカスレンズ111の位置と被写体像の大きさの変化率(移動判断結果)とを用いて、デジタルカメラ100に向かって近づくあるいは遠ざかる被写体に対してフォーカスレンズ111を合焦位置に駆動制御した。その際、コントローラ150は、被写体の移動方向と、フォーカスレンズ111の位置に対応する合焦位置の移動方向とが同一であると判断してフォーカスレンズ111を移動させている状態において、フォーカスレンズ位置がAF評価値のピークを行き過ぎたことを検出した場合、フォーカスレンズ111の駆動移動方向を反転させて駆動して、AF評価値のピークを検出した先の位置を越えて停止させてもよい。
一方、被写体の移動方向と、フォーカスレンズ111の位置に対応する合焦位置の移動方向とが反対であると判断して、フォーカスレンズ111を移動させている状態においてAF評価値のピークを行き過ぎたことを検出した場合、コントローラ150は、フォーカスレンズ111の駆動移動方向を反転させて駆動し、AF評価値のピークを検出した先の位置の手前で停止させてもよい。このようにフォーカスレンズ111を制御駆動することによって、デジタルカメラ100に向かって近づくあるいは遠ざかる被写体に対してフォーカスレンズ111を合焦位置に正確に駆動制御することができる。
撮像部の一例として、CCDイメージセンサを挙げたが、撮像部はこれに限定されない。例えば、CMOSイメージセンサ等、他の種類のイメージセンサを用いてもよい。
上記の実施形態で示した技術思想は、デジタルカメラへの適用に限定されず、ムービーカメラ、カメラ付携帯電話のような、オートフォーカス装置を搭載した撮像装置に広く適用できる。
〔4.まとめ〕
上記実施形態にかかるオートフォーカス装置は、撮像面に結像した被写体像を撮像して画像データを生成するCCDイメージセンサ120と、フォーカスレンズ111を含み、撮像面に被写体像を結像させる光学系110と、フォーカスレンズ111を光軸方向に駆動するフォーカスレンズモータ113と、種々の制御を行うコントローラ150とを備える。コントローラ150は、フォーカスレンズ111の位置を検出する。コントローラ150は、画像データにおいて被写体像の所定領域を検出し、また、画像データからAF評価値を算出する。コントローラ150は、検出された所定領域が以前に検出された所定領域に対して拡大しているか/縮小しているかに基づいて、被写体が近づいているか/遠ざかっているかを判断する。コントローラ150は、フォーカスレンズモータ113を制御する。コントローラ150は、被写体が近づいているか/遠ざかっているかの判断結果と、AF評価値と、フォーカスレンズの位置検出結果とに基づいて、オートフォーカス動作時におけるフォーカスレンズ111の移動方向および移動速度を制御する。
また、コントローラ150は、被写体が近づいているか/遠ざかっているかの判断結果(移動判断結果)と、AF評価値とに基づいて、AF評価値がピークとなるときのフォーカスレンズの位置であるピーク位置がフォーカスレンズ111の位置に対して遠ざかっていると判断した場合(S3でNO)、フォーカスレンズ111をピーク位置に近づける方向に第1速度で移動させる(S710)。一方、ピーク位置がフォーカスレンズ111の位置に対して近づいていると判断した場合(S3でYES)、コントローラ150は、フォーカスレンズ111を、ピーク位置に近づける方向に第1速度よりも低速な第2速度で移動させる(S711)。
コントローラ150は、被写体が遠ざかっていると判断した場合において(S3でNO)、移動判断結果とAF評価値とに基づいて、AF評価値がピークとなるときのフォーカスレンズ111の位置であるピーク位置よりもフォーカスレンズ111の位置が撮像面側に近いと判断した場合、フォーカスレンズを被写体側に第1速度で移動させる(S711)。一方、ピーク位置よりもフォーカスレンズ111の位置が被写体側に近いと判断した場合、コントローラ150は、フォーカスレンズ111を、撮像面側に第1速度よりも高速な第2速度で移動させる(S710)。
また、コントローラ150は、被写体が近づいていると判断した場合において(S3でYES)、移動判断結果とAF評価値とに基づいて、AF評価値がピークとなるときのフォーカスレンズの位置であるピーク位置よりもフォーカスレンズの位置が被写体側に近いと判断した場合、フォーカスレンズを撮像面側に第1速度で移動させる(S700)。一方、ピーク位置よりもフォーカスレンズ111の位置が撮像面側に近いと判断した場合、コントローラ150は、フォーカスレンズ111を、被写体側に第1速度よりも高速な第2速度で移動させる(S701)。
また、コントローラ150は、被写体が遠ざかっていると判断した場合において(S3でNO)、フォーカスレンズ111の位置に対応する合焦位置が撮像面の後ろにあると判断した場合、合焦位置が被写体側に移動するように第1速度でフォーカスレンズを移動させる(S711)。一方、フォーカスレンズ111の位置に対応する合焦位置が撮像面の前にあると判断した場合、コントローラ150は、合焦位置が撮像面側に移動するように第1速度よりも高速な第2速度でフォーカスレンズ111を移動させる(S710)。
また、コントローラ150は、被写体が近づいていると判断した場合において(S3でYES)、フォーカスレンズの位置に対応する合焦位置が撮像面の前にあると判断した場合、合焦位置が撮像面側に移動するように第1速度で前記フォーカスレンズを移動させる(S700)。一方、フォーカスレンズの位置に対応する合焦位置が前記撮像面の後ろにあると判断した場合、コントローラ150は、合焦位置が被写体側に移動するように第1速度よりも高速な第2速度でフォーカスレンズを移動させる(S701)。
また、コントローラ150は、フォーカスレンズ111の駆動停止状態においてAF評価値が以前の値に比べて小さくなり(S50でNO)、かつ、被写体が近づいていると判断された場合(S3でYES)、フォーカスレンズ111を被写体側に移動するように第1速度で移動させる(S701)。一方、フォーカスレンズ111の駆動停止状態においてAF評価値が以前の値に比べて大きくなり(S50でYES)、かつ、被写体が近づいていると判断された場合(S3でYES)、コントローラ150は、フォーカスレンズ111を、撮像面側に移動するように第1速度よりも低速な第2速度で移動させる(S700)。
また、コントローラ150は、フォーカスレンズ111の駆動停止状態においてAF評価値が以前の値に比べて小さくなり(S51でNO)、かつ、被写体が遠ざかっていると判断された場合(S3でNO)、フォーカスレンズ111を撮像面側に移動するように第1速度で移動させる(S710)。一方、フォーカスレンズの駆動停止状態においてAF評価値が以前の値に比べて大きくなり(S51でYES)、かつ、被写体が遠ざかっていると判断された場合(S3でNO)、コントローラ150は、フォーカスレンズ111を、被写体側に移動するように第1速度よりも低速な第2速度で移動させる(S711)。
また、コントローラ150は、フォーカスレンズの駆動停止状態においてAF評価値が以前の値に比べて小さくなり(S50でNO)、かつ、被写体が近づいていると判断した場合(S3でYES)、フォーカスレンズ111による合焦位置が被写体側に移動するように第1速度でフォーカスレンズ111を移動させる(S701)。一方、フォーカスレンズ111の駆動停止状態においてAF評価値が以前の値に比べて大きくなり(S50でYES)、かつ、被写体が近づいていると判断した場合(S3でYES)、コントローラ150は、フォーカスレンズ111による合焦位置が撮像面側に移動するように第1速度よりも低速な第2速度でフォーカスレンズを移動させる(S700)。
また、コントローラ150は、フォーカスレンズ111の駆動停止状態においてAF評価値が以前の値に比べて小さくなり(S51でNO)、かつ、被写体が遠ざかっていると判断した場合(S3でNO)、フォーカスレンズ111による合焦位置が撮像面側に移動するように第1速度でフォーカスレンズを移動させる(S710)。一方、フォーカスレンズ111の駆動停止状態においてAF評価値が以前の値に比べて大きくなり(S51でYES)、かつ、被写体が遠ざかっていると判断した場合(S3でNO)、フォーカスレンズ111による合焦位置が被写体側に移動するように第1速度よりも低速な第2速度でフォーカスレンズを移動させる(S711)。
コントローラ150は、移動判断結果と、フォーカスレンズ位置に対応する合焦位置と撮像面との位置関係とに基づいて、被写体の移動方向と、フォーカスレンズの位置に対応する合焦位置の移動方向とが同一であると判断してフォーカスレンズ111を移動させている状態において、フォーカスレンズ位置がAF評価値のピークを行き過ぎたことを検出した場合、フォーカスレンズの駆動移動方向を反転させて駆動し、AF評価値のピークを検出した位置を越えて停止させる。
コントローラ150は、移動判断結果と、フォーカスレンズ111の位置に対応する合焦位置と撮像面の位置関係とに基づいて、被写体の移動方向と、フォーカスレンズ位置に対応する合焦位置の移動方向とが反対であると判断してフォーカスレンズ111を移動させている状態において、フォーカスレンズ位置がピーク位置を行き過ぎたことを検出した場合、フォーカスレンズの駆動移動方向を反転させて駆動し、AF評価値のピークを検出した位置の手前で停止させる。
以上のように、本開示のオートフォーカス装置は、AF評価値を用いて動体追尾AF制御動作を行うに際して、フォーカスレンズ111の位置と被写体像の大きさの変化率を用いてデジタルカメラ100に向かって近づくあるいは遠ざかる被写体に対してフォーカスレンズ111を合焦位置に駆動制御することができる。フォーカスレンズ111の現在位置から、被写体像の合焦位置を表すAF評価値のピーク位置が近づいている場合には、フォーカスレンズ111をAF評価値のピーク位置に向かって遅く駆動させる。一方、フォーカスレンズ111の現在位置から、AF評価値のピーク位置が遠ざかっている場合には、フォーカスレンズ111をAF評価値のピーク位置に向かって速く駆動させる。これにより、被写体像の合焦位置を表すAF評価値のピーク位置を早く探索することができ、かつAF評価値のピーク位置の演算精度を向上させることができる。
また、本開示のオートフォーカス装置は、AF評価値を用いて動体追尾AF制御動作を行うに際して、非合焦の場合においてもフォーカスレンズ111の位置と被写体像の大きさの変化率を用いてデジタルカメラ100に向かって近づくあるいは遠ざかる被写体に対してフォーカスレンズ111を合焦位置に駆動制御することができる。なお、被写体像の大きさの変化率は非合焦の状態において検出することでも誤差が少なく合焦位置を予測することが可能である。
また、本開示のオートフォーカス装置は、AF評価値を用いて動体追尾AF制御動作を行うに際して、フォーカスレンズ111の位置と被写体像の大きさの変化率(移動判断結果)とを用いて、デジタルカメラ100に向かって近づくあるいは遠ざかる被写体に対してフォーカスレンズ111を合焦位置に駆動制御することができる。被写体の移動方向と、フォーカスレンズ111の位置に対応する合焦位置の移動方向とが同一であると判断して、フォーカスレンズ111を移動させている状態において、フォーカスレンズ位置がAF評価値のピークを行き過ぎたことを検出した場合、フォーカスレンズ111の駆動移動方向を反転させて駆動して、AF評価値のピークを検出した先の位置を越えて停止させる。
一方、被写体の移動方向と、フォーカスレンズ111の位置に対応する合焦位置の移動方向とが反対であると判断して、フォーカスレンズ111を移動させている状態において、AF評価値のピークを行き過ぎたことを検出した場合、フォーカスレンズ111の駆動移動方向を反転させて駆動し、AF評価値のピークを検出した先の位置の手前で停止させる。このようにフォーカスレンズ111を制御駆動することによって、デジタルカメラ100に向かって近づくあるいは遠ざかる被写体に対してフォーカスレンズ111を合焦位置に正確に駆動制御することができる。
また、本開示のオートフォーカス装置はデジタルカメラに搭載されている。これにより、使用者が被写体を非合焦状態で撮影することを自動で防止し、良好な撮影を可能にするオートフォーカス装置を搭載したデジタルカメラを提供できる。
以上のように、本開示における技術の例示として、実施の形態を説明した。そのために、添付図面および詳細な説明を提供した。
したがって、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、上記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
また、上述の実施の形態は、本開示における技術を例示するためのものであるから、特許請求の範囲またはその均等の範囲において種々の変更、置き換え、付加、省略などを行うことができる。