以下、本発明の好ましい実施形態に係る焦点調節装置としてデジタルカメラ(以下、「カメラ」と称す)に適用した例について説明する。このカメラは、撮像部を有し、この撮像部によって被写体像を画像データに変換し、この変換された画像データに基づいて、被写体像を本体の背面に配置した表示部にライブビュー表示する。撮影者はライブビュー表示を観察することによって、構図やシャッタタイミングを決定する。レリーズ操作時には、画像データが記録媒体に記録される。記録媒体に記録された画像データは、再生モードを選択すると、表示部に再生表示することができる。
また、このカメラはコントラストAFによってフォーカスレンズの焦点調節を行う。カメラ内のメモリは、撮像感度、HPFカットオフ周波数、輝度レベル、撮像駆動モード等の全て、又は一部の組合せに応じたそれぞれ適正な閾値と裾野領域のAF評価値との差分値をメモリに予め記憶している。焦点調節を行う際には、撮像感度、HPFカットオフ周波数、輝度レベル、撮像駆動モードに応じた差分値をメモリから読み出し、検出したAF評価値から差分値を減算(または加算)して、低コントラスト閾値を算出し、この低コントラスト閾値を用いて、コントラストAFによる焦点調節を行う。
図1は、第1実施形態に係わるカメラの主として電気的構成を示すブロック図である。本実施形態に係わるカメラは、大別すると、レンズユニット10とカメラボディ20を有している。なお、本実施形態に係るカメラは、レンズユニット10をカメラボディ20に装着する所謂レンズ交換式カメラであるが、レンズユニット10およびカメラボディ20を一体に構成するようにしてもよい。この場合には、レンズ側CPU104とカメラ側CPU107を一体にしてもよい。
レンズユニット10は、撮影レンズ100、絞り101、及びこれらを駆動するためのレンズ/絞り駆動モータ102、モータドライブ回路103、レンズ側CPU104を有している。また、カメラボディ20は、撮像素子105、撮像制御・信号処理回路106、カメラ側CPU107、AF(Auto Focus)評価値算出回路108、AE(Auto Exposure)評価値算出回路109、画像処理回路110、表示装置111、記録装置112、操作部113、およびメモリ114を有している。
撮影レンズ100は被写体像を形成するための複数の光学レンズを有する。複数の光学レンズは、フォーカスレンズを含み、単焦点レンズ又はズームレンズである。絞り101は、撮影レンズ100の射出瞳近傍であって、撮影レンズ100の光軸上に配置され、入射光量や焦点深度を調整する。カメラ側CPU107、レンズ側CPU104、モータドライブ回路103、及びモータ102によって、絞り101と撮影レンズ100内のフォーカスレンズが制御され、焦点調整および絞り調節が実現される。なお、レンズ側CPU104はカメラ側CPU107から受信した制御コマンドを解釈し、撮影レンズ100、絞り101を制御する。
撮像素子105は撮影レンズ100の光軸上に配置され、撮影レンズ100によって形成された被写体像を画像データに変換する。すなわち、撮像素子105はフォトダイオードを含む画素が二次元マトリクス状に配置されており、受光量に応じた電荷を蓄積する。撮像素子105の出力に接続された撮像制御・信号処理回路106によって撮像素子105の電荷蓄積制御や画像信号の読出し制御等が行なわれる。撮像素子105は、撮影光学系を通過した被写体光を光電変換し、撮像信号を出力する撮像素子として機能する。
撮像制御・信号処理回路106は、撮像素子105から読み出した画像信号の増幅処理やAD変換等を行い、画像データを出力する。増幅処理の際の増幅率は撮像感度SVと関係があり、この撮像感度SVは、後述するように、コントラストAF時に差分値を算出する際に使用される(図3のS11参照)。撮像感度SVは、メモリ114等の記憶部に記憶しておいてもよく、また撮像制御・信号処理回路106に設定されている撮像感度を、撮像制御・信号処理回路106から取得してもよい。撮像素子105から読み出された画像データは、カメラ側CPU107、AF評価値算出回路108、AE評価値算出回路109、画像処理回路110に出力される。
カメラ側CPU107は、CPU(Central Processing Unit)、および周辺回路を有するプロセッサである。カメラ側CPU107は、メモリ114に記憶されているプログラムに従って、カメラボディ20内の各部を制御する。また、カメラ側CPU107は、レンズユニット10内のレンズ側CPU104と通信し、レンズ側CPU104を通じて、レンズユニット10内の各部を制御する。また、カメラ側CPU107は、レンズ側CPU104から、レンズユニット10の種々の調整値、フォーカスレンズや絞りの状態情報を受信する。
カメラ側CPU107は、評価値を取得する時の条件に応じて、評価値を補正する補正手段として機能する(例えば、図3のS19、図9、図10参照)。上述の条件は、撮像素子の撮像感度、または評価値算出手段にて撮像信号に適用するHPFのカットオフ周波数、または撮像信号に基づく輝度レベル、または撮像素子の撮像駆動モードである。また、カメラ側CPU107は、補正手段によって補正された評価値に基づいて、この評価値が極値を示すフォーカスレンズの位置を検出する焦点検出手段として機能する(例えば、図2のS5、S7参照)。この焦点検出手段は、補正された評価値が所定の閾値より小さいと判定する場合、補正された評価値が極値を示すフォーカス位置を検出するための判断の閾値を補正された評価値が所定の閾値以上と判定する場合よりも厳しくする(例えば、図6のS47、S49、図7のS65、S67参照)。
上述の補正手段は、撮像感度、HPFのカットオフ周波数、輝度レベル、及び/又は撮像駆動モードに応じて、記憶手段から読み出された補正値を選択または加工し、評価値から選択または加工された補正値を加減算する。選択または加工として、例えば、読み出された値の中から選択してもよく、また、AFエリアの面積に応じた補正を行ってもよく、また複数の値を用いて補間演算を行うようにしてもよい(例えば、図3のS15、S17等参照)。また、補正手段は、撮像感度、HPFのカットオフ周波数、輝度レベル、撮像駆動モードのすべてまたは組み合わせに応じて補正値を加工する。例えば、図8に示すように、撮像感度、カットオフ周波数、および輝度レベルの組み合わせに応じて、補間演算を行ってもよい。この組み合わせは、カメラの特性に応じて、適宜、選択すればよい。
カメラ側CPU107は、評価値のカーブの裾野部分におけるレベルを一定のレベルに補正するための差分値を算出し、この差分値を用いて、評価値または閾値を補正する補正手段として機能する(例えば、図3のS19、図12のS20参照)。カメラ側CPU107は、評価値算出手段によって算出された評価値に基づいて、この評価値が極値を示すフォーカスレンズの位置を検出する焦点検出手段として機能する(例えば、図2および図11のS5、S7参照)。焦点検出手段は、補正手段によって補正された評価値または閾値を用いて、評価値のカーブの裾野部分におけるレベルと閾値との相対的位置関係が一定になるようにした状態で、フォーカスレンズの位置を検出する(図2のS19、図10、図12のS20、図14参照)。上述の補正手段は、評価値のカーブの裾野部分におけるレベルに影響する条件データを取集し、この条件データに基づいて、差分値を求める(例えば、図3のS11、S15、図12のS11、S15参照)。
AF評価値算出回路108は、フィルター回路を有し、撮像素子105から出力された画像データの高周波成分をフィルター回路によって抽出し、AF評価値を算出する。このフィルター回路はハイパスフィルタHPFを含み、ハイパスフィルタHPFのカットオフ周波数fcは、メモリ114に記憶していてもよい。カットオフ周波数fcは、後述するように、コントラストAF時に差分値を算出する際に使用される(図3のS11参照)。カットオフ周波数fcは、メモリ114等の記憶部に記憶しておいてもよく、またフィルター回路に設定されているカットオフ周波数fcをフィルター回路から取得してもよい。算出されたAF評価値はカメラ側CPU107に出力される。AF評価値算出回路108は、撮像素子の出力する撮像信号に基づいてコントラストを示す評価値を算出する評価値算出手段として機能する。
AE評価値算出回路109は、ライブビュー画像データを取得時の測光領域の輝度値を補正して焦点調整用の画像データ取得時の輝度値を算出し、またライブビュー表示時及び焦点調整時の露出が適正になるような露出時間(Tv)や絞り値(Av)を算出する。AE評価値算出回路109によって算出された輝度値Yは、後述するように、コントラストAF時に差分値を算出する際に使用される(図3のS11参照)。輝度値Yは、一旦、メモリ114等の記憶部に記憶しておいてもよく、AE評価値算出回路109によって算出された値を、直接取得してもよい。
画像処理回路110は、撮像素子105から読み出された画像データの同時化処理、階調変換処理、ホワイトバランス調整、エッジ処理等の各種画像処理を行なう。画像処理が施された画像データは、記録装置112内に設けられ、カメラボディ20に着脱自在の記録媒体に記録される。
表示装置111は、カメラボディ20の背面に配置された表示パネル、および/または接眼部を通じてモニタを観察可能な電子ビューファインダを有する。この表示パネルや電子ビューファインダには、ライブビュー画像、記録済み画像の再生画像、およびメニュー画面等が表示される。
記録装置112は、電気的に書き換え可能な記憶媒体を有し、前述したように、画像処理が施された画像記録が記録される。また、記録装置112は、記録済みの画像データの読み出しを行う。
操作部113は、ユーザがカメラに指示を入力するためのインターフェースであり、レリーズ釦、パワースイッチ、タッチパネル等の操作部材を有する。操作部113は、操作部材の操作状態を検出し、検出結果をカメラ側CPU107に出力する。ユーザが、操作部113を操作すると、この操作状態に基づいて、カメラ側CPU107は、AF評価値算出回路108、AE評価値算出回路109、画像処理回路110、メモリ114等を制御し、焦点調整、露出制御、画像処理等を行う。
メモリ114は、電気的書き換え可能な不揮発性メモリであり、カメラ側CPU107において使用されるプログラムを記憶する。また、メモリ114は、カメラにおいて使用する各種調整値等も記憶する。さらに、メモリ114は、差分値テーブル114aを記憶する。差分値テーブルは、撮像感度、HPFのカットオフ周波数、輝度レベル、撮像駆動モード等の条件データに応じて、異なる値となっている。差分値テーブル114aに記憶されているデータについては、図8を用いて後述する。差分値テーブル114aを記憶するメモリ114は、撮像感度、HPFのカットオフ周波数、輝度レベル、撮像駆動モードに基づく補正値を記憶する記憶手段として機能する。
次に、図2ないし図7に示すフローチャートを用いて、本実施形態におけるAF制御(焦点調節動作)について説明する。このフローは、メモリ114に記憶されたプログラムに基づいてカメラ側CPU107が図1に示す各部・各回路を制御することによって実行する。
ユーザがレリーズ釦を半押しすると、図2に示すAF制御のフローが開始し、まず、AF評価値AFvalを取得する(S1)。ここでは、撮像素子105から1フレーム分の画像データが出力されると、AF評価値算出回路108が、AF評価値AFvalを算出する。AF評価算出回路108は、前述したように、例えばフィルター回路を有し、所定の高周波成分の画像データを抽出し、この抽出した画像データをAF評価値AFvalとして出力する。
AF評価値を取得すると、次に、裾野AF評価値安定化処理を実行する(S3)。AF評価値カーブは、図9および図10に示すように、フォーカスレンズを移動させ、各位置におけるAF評価値を結ぶことによって得ることができる。このAF評価値カーブは、合焦点位置においてピークとなり、両側に裾野が延びる。AF評価値のレベルは、撮像感度SVが高い場合(撮像制御・信号処理回路106における増幅率が大きい場合等)には、裾野のレベルも含めて高くなる。一方、撮像感度SVが低い場合には裾野のレベルも含め全体のレベルが低くなる。なお、裾野のレベルは、撮像感度に限らず、AF評価値算出回路108のハイパスフィルタ(HPF)のカットオフ周波数、輝度レベル、撮像駆動モード等の、条件データによっても変動する。このステップでは、カメラ側CPU107は、裾野におけるAF評価値を安定させるための処理を行う。具体的には、撮像感度等の条件データを考慮した差分値を算出し、AF評価値から差分値を減算(または加算)することによって、図10に示すように、AF評価値の裾野の部分のレベルが裾野AF評価値目標値付近となるように補正する。この裾野AF評価値安定化処理の詳細については、図3を用いて後述する。
裾野AF評価値安定化処理を行うと、次に、AF検波処理を行う(S5)。ここでは、カメラ側CPU107は、ステップS3において安定化処理を施したAF評価値を用いて、フォーカスレンズの駆動方向を決定し、さらにAF評価値のピークの検出を行う。このAF検波処理の詳しい処理については、図5を用いて後述する。
AF検波処理を行うと、次に、合焦位置を演算する(S7)。ここでは、カメラ側CPU107は、ステップS5のAF検波処理において検出したピーク位置付近のAF評価値を用いて、合焦位置を算出する。この合焦位置は、例えば、ピーク位置付近の3点のAF評価値を用いて、公知の3点補間演算によって求めてもよい。
合焦位置を演算すると、次に、合焦位置駆動を行う(S9)。ここでは、カメラ側CPU107は、ステップS7において求めた合焦位置に、レンズ側CPU104等によって、フォーカスレンズを移動させる。フォーカスレンズが合焦位置に駆動されると、AF制御のフローは終了する。
次に、図3に示すフローチャートを用いて、ステップS3における裾野AF評価値安定化処理について説明する。裾野AF評価値安定化処理が開示すると、まず、条件データを収集する(S11)。ここでは、AF評価値の裾野レベルに影響を与える条件データを取集する。前述したように、AF評価値の裾野のレベルは、撮影感度(SV)、ハイパスフィルタ(HPF)のカットオフ周波数(fc)、輝度値(Y)等の条件データによって、変動する。このステップでは、これらの条件データを収集する。撮影感度(SV)は、撮像制御・信号処理回路106における増幅率から求められる。また、HPFのカットオフ周波数(fc)は、AF評価値算出回路108に設定されているフィルター回路のカットオフ周波数を取得すればよい。輝度値(Y)は、AE評価値算出回路109によって検出された被写体の輝度値(Y)を取得すればよい。また、前述したように、メモリ114にこれらのデータを記憶しておき、読み出してもよい。なお、ここで収集する条件データは、差分値を算出するために使用するデータであればよく、これらの撮像感度SV、HPFのfc、および輝度Yの条件データの一部でもよく、また、これ以外の条件データを取得するようにしてもよい。
条件データを収集すると、次に、差分値テーブルから、Sv、HPFのfc、Yの所属区間の隣接データを収集する(S13)。次のステップS15において差分値を算出する。差分値は、差分値テーブル114aに記憶されている差分値を読み出し、この読み出された差分値を補間演算によって求める。このステップでは、カメラ側CPU107は、ステップS11において収集した条件データを用い、差分値テーブル114aから該当する所属区間の隣接データを読み出す。
図8を用いて、差分値テーブル114aから該当する所属区間の代表データの読み出しについて説明する。図8に示す例では、条件データとして、撮影感度SV、HPFのカットオフ周波数fc、および輝度Yの3つのデータに基づいて、所属区間の差分値の代表データを読み出す。差分値テーブル114aには、輝度値Yが6区分され、輝度値Yの区分毎に、テーブルGR1~GR6が記憶されている(図8では、テーブルGR1、GR2、GR6のみを示す)。ステップS11において取得した輝度値Yが含まれる区分に対応したテーブルGR1~GR6を選択する。各テーブルGR1~GR6の縦軸方向は、HPFのカットオフ周波数fcを6区分し、また横軸方向は撮影感度SVを6区分している。このように、テーブルGR1~GR6では、所属区間の差分値の代表データが記憶されているので、ステップS11において収集したSV、HPFのfc、およびYが含まれる所属区間に対応した差分値の代表データを読み出す。
なお、図8に示す差分値テーブル114aにおいては、条件として、撮影感度SV、HPFのカットオフ周波数fc、および輝度値Yの3つのデータを使用する場合について記載している。しかし、これに限らず撮像駆動モード、温度、カメラをオンとしてからの時間等を条件として加えてもよく、他の3つのいずれかと適宜組み合わせるようにしてもよい。撮像駆動モードによって、撮像素子からの撮像信号を読み出す際の読み出し方式(例えば、画素混合の有無、混合する画素数等)の違いでノイズの出現状態が変わるからである。また、撮像素子の温度が上昇すると撮像信号にノイズが出現しやすくなり、またカメラがオンしてからの時間に応じてカメラ内の温度が上昇して撮像素子に熱的な影響を及ぼし、撮像信号にノイズが出現しやすくなるからである。差分値テーブル114aにおける条件に応じて、ステップS11における収集する条件データを決めればよい。
図3に示すフローに戻り、ステップS13において、差分値テーブルから差分値の代表データを読み出すと、次に差分値の線形補間値を算出する(S15)。ここでは、カメラ側CPU107は、ステップS13において読み出した8つの差分値の代表データを用いて線形補間演算を行い,差分値AFvalDeltaを求める。
差分値の線形補間値を算出すると、次に、差分値のエリア面積スケーリング処理を行う(S17)。AF評価値は、設定されたAFエリア内の画素データの高周波成分の累積加算値であり、AFエリア内が一定のコントラストであっても、AFエリアの面積が大きい程、AF評価値が大きくなる。このため、カメラ側CPU107は、AFエリアの面積の大小に応じて、差分値を補正する。この差分値のエリア面積スケーリング処理の詳細については、図4を用いて後述する。
この差分値について、図9を用いて説明する。図9において、横軸はフォーカスレンズの位置を示し、縦軸は各位置におけるAF評価値を示す。カーブLhighは、高感度時のAF評価値カーブを示し、カーブLlowは、低感度時のAF評価値カーブを示す。各カーブLhigh、Llowは、フォーカスレンズ位置Pp付近においてピークとなる。図9から分かるように、高感度時のAF評価値カーブLhighは、ピークおよび裾野を含めて全体的に高い値となっており、一方、低感度のAF評価値カーブLlowは、全体的に低い値となっている。
図9において、裾野AF評価目標値Targetは、AF評価値カーブの裾野のレベルの目標値である。高感度時と低感度時では、カーブの裾野のレベルが異なる。すなわち、図9に示す例においては、高感度AF評価値カーブLhighの裾野はレベルThighであり、低感度AF評価値カーブLlowの裾野はレベルTlowである。高感度時の差分値AFvalDeltaScale(高感度用)は、裾野レベルThighと裾野AF評価値目標値Ttargetの差分である。また、低感度時の差分値AFvalDeltaScale(低感度用)は、裾野レベルTlowと裾野AF評価値目標値Ttargetの差分である。なお、図9においては、差分値をAFvalDeltaScaleとし、差分値のエリア面積スケーリング処理(図3のS17)により算出される数値としている。しかし、これに限らず、例えば、差分値AFvalDelta(図3のS15にて算出)として示してもよい。
図3のフローに戻り、ステップS17において、差分値のエリア面積スケーリング処理を行うと、次に、差分値減算処理を行う(S19)。ここでは、カメラ側CPU107が、ステップS1において取得したAF評価値AFvalから、ステップS17において算出したエリア面積スケーリング処理を施した差分値AFvalDeltaScaleを減算する。すなわち、下記(1)式によって、差分値を減算したAF評価値AFvalを求める。
AFval=AFval-AFvalDelataScale ・・・(1)
なお、差分値の正負のとり方によっては、減算演算ではなく、加算演算を行う。
図10に、差分値の減算処理を行った後の、高感度AF評価値カーブLhigh-subと低感度AF評価値カーブLlow-subを示す。AF評価値から差分値を減算したために、図9に示すグラフと比較し、両カーブの裾野レベルが揃っていることが分かる。低コントラスト閾値LowconThは、AF評価値のピーク検出や方向判断の際に使用する変化率閾値設定用の閾値であり、メモリに記憶されている(詳しくは、図6のS47、図7のS65参照)。
図3のフローに戻り、ステップS19において、差分値の減算処理を行うと、裾野AF評価値安定化処理を終了し、元のフローに戻る。
このように、裾野AF評価値安定化処理のフローにおいては、AF評価値カーブのレベルが、撮影感度等の条件データによって、大きくなった場合であっても、小さくなった場合であっても、差分値を算出し、減算する。このため、AF評価値カーブの裾野の部分のレベルを、予め決められている裾野AF評価値目標値と略同程度にすることができ、低コントラスト閾値LowconThを用いてAF評価値のピークを検出する際に、誤ったピークを検出することを防止することができる。
次に、図4に示すフローチャートを用いて、ステップS17の差分値のエリア面積スケーリング処理について説明する。前述したように、AFエリアの面積は、被写体の大きさに応じたAFエリア自動設定やユーザの設定等に応じて変化することから、このフローでは、AFエリアの面積に応じて、差分値を補正する。
この処理が開始すると、まず、スケーリング比を算出する(S21)。スケーリング比ScaleRateは、実際のAFエリア面積をArealとし、基準となるAFエリアの面積をAstとすると、下記(2)式によって算出する。基準AFエリア面積Astは、差分値テーブル114aを作成した際に基準としたAFエリアの面積である。また実際のAFエリア面積Arealは、ステップS1においてAF評価値を取得した際のAFエリアの面積である。
ScaleRate=Areal/Ast ・・・(2)
スケーリング比を算出すると、次に、スケーリング後の差分値を算出する(S23)。ここでは、ステップS15において算出した線形補間した差分値AFvalDeltaと、ステップS21において算出したスケーリング比ScaleRateを用いて、下記(3)式から、スケーリング後の差分値AFvalDeltaScaleを算出する。
AFvalDeltaScale=AFvalDelta*ScaleRate ・・・(3)
なお、「*」は、乗算を意味する。スケーリング後の差分値を算出すると、元のフローに戻る。
このように、差分値のエリア面積スケーリング処理では、メモリ114に記憶されている差分値テーブルに基づいて算出される差分値について、実際のAFエリアの面積に応じて補正した値としている。
次に、図5に示すフローチャートを用いて、ステップS5(図2参照)のAF検波処理について説明する。コントラスト法による焦点調節では、フォーカスレンズを光軸の所定方向に移動させ、各位置において、撮像素子105から出力されるAFエリア内の画像データの高周波成分を抽出することによって、AF評価値を算出する。このAF評価値がピークとなるフォーカスレンズの位置が合焦位置である。AF検波処理のフローでは、AF評価値のピークとなる位置を検出するために、フォーカスレンズを移動させる方向をまず検出する(S31の方向判断処理)。この方向は、AF評価値がフォーカスレンズの移動に応じて増加する方向である。方向が決まったら、この方向にフォーカスレンズを移動させながら、AF評価値が増加から減少に変化するフォーカスレンズの位置を検出する(S33のピーク検出処理)。
AF検波処理が開始すると、まず、方向判断処理を行う(S31)。ここでは、カメラ側CPU107は、基準となるAF評価値と現在のAF評価値の比に基づいて、AF評価値が増加しているか否かを判定する。判定の結果、AF評価値が減少している場合には,7カメラ側CPU107はフォーカスレンズの駆動方向を反転し、増加している場合には駆動方向をそのまま維持する。なお、AF評価値が増加しているか否かの判定にあたって、前述の低コントラスト閾値(図9参照)を用いて、方向判断用の変化率閾値を異ならせている(後述する図6のS47からS51参照)。方向判断処理の詳しい動作については、図6を用いて後述する。
方向判断処理を行うと、次に、ピーク検出処理を行う(S33)。ここでは、カメラ側CPU107は、それまでのAF評価値の最大値から現在のAF評価値の下落率が、ピーク検出用の変化率閾値よりも大きい場合に、AF評価値がピークを越えたと判定する。このピーク検出用の変化率閾値も、AF評価値が前述の低コントラスト閾値(図9参照)よりも大きいか小さいかに応じて、値を異ならせている。ピーク検出処理の詳しい動作については、図7を用いて後述する。ピーク検出処理を終了すると、元のフローに戻る。
次に、図6に示すフローチャートを用いて方向判断処理について説明する。方向判断処理が開始すると、まず、AF評価値の取得を待つ(S41)。レンズ側CPU104は、レンズ/絞り駆動モータ102によってフォーカスレンズを所定量だけ移動させると、撮像素子105が1フレーム分の画像データの取得を行い、AF評価値算出回路108が画像データからAFエリアにおけるAF評価値を算出する。このステップでは、カメラ側CPU107が、1フレームの画像データを用いて、AF評価値を取得するまでの間、待機する。
AF評価値を取得すると、次に、初回AF評価値か否かを判定する(S43)。コントラスト法による焦点調節は、フォーカスレンズを移動させながら、AF評価値を算出し、このAF評価値がピークとなるフォーカスレンズの位置を合焦位置とする。ここでは、カメラ側CPU107は、一連のAF評価値の取得にあたって、最初に取得されたAF評価値であるか否かを判定する。
ステップS43における判定の結果、AF評価値の取得が初回であった場合には、基準値を取得する(S43)。ここでは、カメラCPU107は、ステップS41において取得したAF評価値(初回AF評価値)を、基準値AFvalDirBaseとして、記憶する。
ステップS45において基準値を取得すると、またはステップS43における判定の結果、AF評価値の取得が初回でなかった場合には、次に、現在値(現在のAF評価値)が低コントラスト閾値以上であるか否かを判定する(S47)。ここでは、カメラ側CPU107が、直近で取得したAF評価値(S41参照)(現在値)と、低コントラスト閾値(図10参照)を比較し、現在値≧低コントラスト閾値であるか否かを判定する。
ステップS47における判定の結果、現在値が低コントラスト閾値以上でない場合には、方向判断用のAF評価値変化率閾値を「高」(大)に設定する(S49)。一方、現在が低コントラスト閾値以上の場合には、方向判断用のAF評価値変化率閾値を「低」(小)に設定する(S51)。フォーカスレンズの移動方向は、AF評価値の変化率が所定値より大きい場合に判断する。すなわち、AF評価値の変化率が小さい場合には、単なるノイズ誤差の範囲の可能性もあることから、AF評価値の変化率が、閾値より大きく変化した場合に、フォーカスレンズの移動方向の判断を行う。ここで、上記ノイズは、AF評価値のノイズ成分を意味するが、これは撮像ノイズに起因する。撮像ノイズの振幅に応じてHPF出力に信号の起伏が生じてAF評価値のノイズとなる。撮像ノイズの振幅が大きくなるとHPFの出力値も大きくなるので、高感度時のAF評価値は裾野のレベルの上昇、変動が発生する。図9、図10に示すグラフにおいて、AF評価値カーブの裾野付近においては、ノイズ等によって変動が大きいことから、方向判断用の変化率閾値を小さくすると、ノイズの影響を受けやすくなる。一方、ピーク付近においては、ノイズの影響を受けることが少ない。そこで、現在のAF評価値が低コントラスト閾値よりも小さい場合には、AF評価値カーブの裾野にあることから、方向判断用の変化率閾値を「高」(大)に設定し、現在のAF評価値が低コントラスト閾値よりも大きい場合には、AF評価値カーブのピークに近づいていることから、方向判断用の変化率閾値を「低」(小)に設定する。
ステップS49またはS51において方向判断用のAF評価値変化率閾値の設定を行うと、次に、基準値に対する現在値の変化率を算出する(S53)。ここでは、カメラ側CPU107は、現在のAF評価値AFvalNowを、ステップS45において取得した基準値AFvalDirBaseで除算し、この除算値から1を減算することによって、変化率Rを算出する。すなわち、変化率Rを下記(4)式によって算出する。
R=(AFvalNow/AFvalDirBase)-1・・・(4)
ステップS53において変化率を算出すると、次に、変化率の絶対値が、変化率閾値以上か否かを判定する(S55)。ここでは、カメラ側CPU107は、ステップS53において算出した変化率Rの絶対値が、ステップS49またはS51において設定した方向判断用の変化率閾値以上か否かを判定する。この判定の結果、変化率の絶対値が方向判断用の変化率閾値よりも小さい場合には、ステップS41に戻る。すなわち、現在値の変化率が方向判断用の変化率閾値よりも小さい場合には、フォーカスレンズの駆動方向を同じままで、所定量だけ移動させ、撮像素子105から1フレーム分の画像データを取得して、前述した処理を実行する。この間、現在のAF評価値が低コントラスト閾値以上になると、方向判断用の変化率閾値が「低」(小)に変更される。
ステップS55における判定の結果、変化率の絶対値が方向判断用の変化率閾値以上となると、変化率が0より小さい、すなわち負の値か否かを判定する(S57)。この判定の結果、変化率が0より小さい場合には、方向反転する(S59)。ここでは、カメラ側CPU107は、レンズ側CPU104を通じて、フォーカスレンズの駆動方向を反転させる。変化率が負の場合には、フォーカスレンズの駆動方向が、AF評価値のピークのある方向に向かっていないことから、駆動方向を反転させる。一方、変化率が0以上の場合には、フォーカスレンズの駆動方向を維持したままとする。ステップS59において駆動方向を反転すると、またはステップS57における判定の結果、変化率が0以上の場合には、方向判断処理を終了し、元のフローに戻る。
このように、方向判断処理のフローでは、フォーカスレンズを所定方向に移動させ、この時のAF評価値の変化率が0より小さいか否かに基づいて、駆動方向を維持するか反転するかを判断している(S57、S59参照)。また、この変化率の判断は、基準値に対する現在値の変化率が方向判断用の変化率閾値よりも大きい場合にのみ行うようにしている。これによって、ノイズの影響を軽減し、誤った方向判断を防止することができる。
なお、図6に示すフローにおいては、初回AF評価値を基準値とし(S45参照)、この基準値を用いてAF評価値の変化率を算出していた(S53参照)。しかし、AF評価値の基準値は、この方法に限らず、直近の複数回のAF評価値や直近のAF評価値を用いる等、他の値を用いてよい。また、方向判断するにあたって、基準値と現在値の比率を用いたが、これに限らず、例えば、差分を算出し、この値と閾値を比較し、方向判断をしてもよい。
次に、図7に示すフローチャートを用いてピーク検出処理について説明する。このピーク検出処理のフローは、図6に示した方向判断処理のフローが終了した後に実行される。すなわち、ピーク検出処理は、フォーカスレンズの駆動方向が決まった後に、この駆動方向にフォーカスレンズを移動させながら、AF評価値のピークを検出する。
ピーク検出処理が開始すると、まず、AF評価値の取得を待つ(S61)。ステップSS57、S59において、フォーカスレンズの駆動方向が決まると、この方向にフォーカスレンズを駆動し、1フレーム分の画像データを取得する。1フレーム分の画像データが取得されると、AF評価値算出回路108が画像データからAFエリアにおけるAF評価値を算出する。このステップでは、カメラ側CPU107が、1フレームの画像データを用いて、AF評価値を取得するまでの間、待機する。
AF評価値を取得すると、次に、最大値AFvalMaxを更新する(S63)。ピーク検出処理が開始してから最初にAF評価値を取得した際に、カメラ側CPU107は、このAF評価値を最大値AFvalMaxとして記憶する。2回目以降は、カメラ側CPU107は、新たに取得したAF評価値と、記憶した最大値AFvalMaxを比較し、大きい方の値を最大値AFvalMaxとして更新する。
最大値の更新を行うと、次に、最大値が低コントラスト閾値以上か否かを判定する(S65)。ここでは、カメラ側CPU107は、ステップS63において更新した最大値と、低コントラスト閾値(図10参照)を比較し、最大値が低コントラスト閾値以上か否かを判定する。
ステップS65における判定の結果、最大値が低コントラスト閾値以上でない場合には、ピーク検出用のAF評価値変化率閾値を「高」(大)に設定する(S67)。一方、最大値が低コントラスト閾値以上の場合には、ピーク検出用のAF評価値変化率閾値を「低」(小)に設定する(S69)。ピーク検出の時には、図6における方向判断によって、AF評価値が増加する方向にフォーカスレンズは移動している。したがって、ピーク検出では、AF評価値が増加から減少に変化する位置を検出すればよい。そこで、AF評価値の下落率を算出し、この下落率がピーク検出用の変化率閾値よりも大きければ、ピークを越えたと判断する。この場合、AF評価値カーブの裾野では(すなわち、AF評価値が低コントラスト閾値よりも小さい領域)、ノイズの影響を除去するために、ピーク検出用の変化率閾値は大きく設定する。一方、AF評価値カーブのピークに近い領域(すなわち、AF評価値が低コントラスト閾値よりも大きい領域)では、ノイズの影響を考慮しなくてもよいことから、ピーク検出用の変化率閾値は小さくてもよい。
ステップS67、S69において、ピーク検出用の変化率閾値の設定を行うと、次に、最大値に対する現在値の下落率を算出する(S71)。ここでは、カメラ側CPU107が、下記(5)式に基づいて下落率Rdを算出する。
Rd=1-(AFvalNow/AFvalMax) ・・・(5)
ここで、AFvalNowはステップS61において取得した直近のAF評価値(現在値)であり、AFvalMaxはステップS63において更新したAF評価値の最大値である。
続いて、下落率がピーク検出用の変化率閾値よりも大きいか否かを判定する(S73)。ここでは、ステップS71において算出した下落率Rdと、ステップS67またはS69において設定したピーク検出用の変化率閾値とを比較し、下落率>変化率閾値であるか否かを判定する。この判定の結果、下落率がピーク検出用の変化率閾値未満の場合には、ステップS61に戻る。すなわち、下落率がピーク検出用の変化率閾値未満の場合には、フォーカスレンズの駆動方向を同じままで、所定量だけ移動させ、撮像素子105から1フレーム分の画像データを取得して、前述した処理を実行する。この間、現在のAF評価値が低コントラスト閾値以上になると、ピーク検出用の変化率閾値が「低」(小)に変更される。
一方、ステップS73における判定の結果、下落率がピーク検出用の変化率閾値よりも大きくなると、ピーク検出処理のフローを終了し、元のフローに戻る。元のフローに戻ると、ステップS7において合焦位置を算出する。
このように、図7に示すピーク検出処理のフローにおいては、AF評価値の下落率を算出し、この下落率がピーク検出用の変化率閾値より大きくなると、ピークを越えたと判定している(S73参照)。また、ピーク検出用の変化率閾値は、AF評価値の最大値AFvalMaxが低コントラスト閾値よりも大きいか否かに応じて、その値を異ならせている。すなわち、最大値AFvalMaxが低コントラスト閾値よりも小さい場合には、ピーク検出用の変化率閾値を高く(大きく)設定し、一方、大きい場合にはピーク検出用の変化率閾値を低く(小さく)設定している。このため、ノイズの影響を受けやすいAF評価値カーブの裾野においては誤ってピークと誤判定することを防止できる。
なお、図7に示すフローにおいては、最大値と現在値の比率から下落率を算出していた(S71参照)。しかし、ピーク検出を行うにあたっては、この方法に限らず、最大値を更新する代わりに、直近の複数回のAF評価値や直近のAF評価値を用いる等、他の値を用いてよい。また、ピーク判断するにあたって、最大値と現在値の比率を用いたが、これに限らず、例えば、差分を算出し、この値と閾値を比較し、ピークを判断するようにしてもよい。
このように、本発明の第1実施形態においては、撮影光学系を通過した被写体光を撮像素子によって光電変換して撮像信号を出力し、この撮像信号に基づいてコントラストを示す評価値を算出している(図2のS1参照)。また、評価値を取得する時の条件(例えば、撮像素子の撮像感度、または評価値を算出する際の撮像信号に適用するHPFのカットオフ周波数、または撮像信号に基づく輝度レベル、または撮像素子の撮像駆動モード等)に応じて、評価値を補正している(図2のS3、図3のS19参照)。また、補正された評価値に基づいて、この評価値が極値を示すフォーカスレンズの位置を検出している(図2のS5、S7参照)。また、補正された評価値が所定の閾値より小さいと判定する場合、補正された評価値が極値を示すフォーカス位置を検出するための判断の閾値を補正された評価値が所定の閾値以上と判定する場合よりも厳しくしている(図6のS47、S49、S55、図7のS65、S67、S73参照)。AF評価値カーブの裾野部分において、フォーカス位置を検出する判断の閾値がより厳しいので、ノイズの影響を受けたAF評価値を誤ってAF評価値のピークと誤判定することを防止することができる。
なお、図6の方向判断処理および図7のピーク検出処理においては、いずれも低コントラスト閾値を用いた判定とそれに伴う処理を行っている(図6のS47、図7のS65参照)。しかし、いずれか一方のフローにおいてのみ、低コントラスト閾値を用いた判定を行うだけでもよい。後述する第2実施形態においても同様である。また、撮像装置としての内視鏡は、特定の色成分(たとえば、RまたはGまたはBのみや赤外光のみ)に基づいてAF評価値を生成しコントラストAFを行う場合がある。特定の色成分の信号強度を輝度レベルと同様に扱い、特定の色成分の信号強度に応じて予め記憶している補正値を用いてAF評価値を補正してもよい。特定の色成分に基づくコントラストAFを行う場合でも、同様にノイズの影響を受けた裾野部分のAF評価値をピーク位置(合焦位置)と誤判定することや方向判断を誤ることを防止することができる。
次に、図11ないし図14を用いて、本発明の第2実施形態について説明する。第1実施形態においては、図9および図10に示すように、AF評価値から差分値を減算し、高感度および低感度のAF評価値カーブの裾野レベルが略同じになるようにしていた(図3のS19参照)。これに対して、第2実施形態においては、高感度および低感度のAF評価値カーブに対して減算処理等の補正を行わず、代わりに、低コントラスト閾値を補正することによって、AF評価値のピークが誤判定されることがないようにしている。
第2実施形態における構成は、第1実施形態に係る図1に示すブロック図と同じであるので、詳しい説明を省略する。また、動作を示すフローチャートは、第1実施形態に係る図2を図11に置き換え、図3を削除し、図12を追加する以外は、第1実施形態と同様である。また、図9および図10に示したグラフは図13および図14に置き換える。
なお、第2実施形態におけるカメラ側CPU107は、評価値算出手段によって算出された評価値に基づいて、この評価値が極値を示すフォーカスレンズの位置を検出する焦点検出手段として機能する(例えば、図11のS5、S7参照)。カメラ側CPU107は、評価値を取得する時の条件に応じて、閾値を補正する補正手段として機能する(例えば、図12のS20参照)。上述の条件は、撮像素子の撮像感度、または評価値算出手段にて上記撮像信号に適用するHPFのカットオフ周波数、または撮像信号に基づく輝度レベル、または撮像素子の撮像駆動モードである。上述の焦点検出手段は、評価値が補正手段によって補正された閾値より小さいと判定する場合、評価値が極値を示すフォーカス位置を検出するための判断の閾値を評価値が補正された閾値以上と判定する場合よりも厳しくする(例えば、図6のS47、S49、図7のS65、S67参照)。
上述の補正手段は、撮像感度、HPFのカットオフ周波数、輝度レベル、及び/又は撮像駆動モードに応じて、記憶手段から読み出された閾値用補正値を選択または加工し、閾値から選択または加工された閾値用補正値を加減算する(例えば、図12のS20参照)。この補正手段は、撮像感度、HPFのカットオフ周波数、輝度レベル、撮像駆動モードのすべてまたは組み合わせに応じて閾値用補正値を加工する(図12のS15参照)。
図11に示すフローチャートを用いて、第2実施形態に係るAF制御の動作について説明する。このAF制御の動作は、第1実施形態に係る図2のフローチャートと比較し、図2のステップS3をステップS4に置き換える以外は、図2のフローチャートと同じである。そこで、この相違点を中心に説明する。
図11に示すAF制御のフローが開始すると、AF評価値AFvalを取得する(S1)。続いて、低コントラスト閾値に対して補正処理を行う(S4)。ここでは、カメラ側CPU107は、図15に示した低コントラスト閾値(図6のS47、図7のS65参照)に対して補正を行う。すなわち、高感度AF評価値カーブの場合には、低コントラスト閾値のレベルを高くし、一方、低感度AF評価値カーブの場合には低コントラスト閾値のレベルを低くする(図14参照)。この低コントラスト閾値に対する補正処理の詳しい動作については、図12を用いて後述する。
ステップS4において、低コントラスト閾値補正処理を行うと、次に、AF検波処理を行い(S5)、合焦位置演算を行い(S7)、合焦位置駆動を行う(S9)、これらのステップにおける処理は、図2の場合と同様であることから、詳しい説明を省略する。
次に、図12に示すフローチャートを用いて、ステップS4の低コントラスト閾値補正処理の詳しい動作について説明する。
図12に示す低コントラスト閾値補正処理のフローは、図3に示した裾野AF評価値安定化処理におけるステップS19をステップS20に置き換える以外は、図3と同様である。そこで、相違点を中心に説明する。
図12に示すフローが開始すると、条件データを収集し(S11)、差分値テーブルより代表データを収集し(S13)、差分値の線形補間値を算出し(S15)、差分値のエリア面積スケーリング処理を行う(S17)。
ステップS17において面積スケーリング処理を行うと、次に、低コントラスト閾値補正を行う(S20)。この低コントラスト閾値補正は、AF評価値カーブのレベルが全体に高くなったり、また低くなったりした場合に、AF評価値カーブの裾野において、ピークと誤判定することを防止するために、低コントラスト閾値を、AF評価値カーブのレベルに応じて、補正する。
低コントラスト閾値は、下記(6)式に従って補正する。
LowconTh=LowconTh+AFvalDeltaScale ・・・(6)
ここで、LowconThは低コントラスト閾値、AFvaldeltaScaleはエリア面積スケーリング処理後の差分値である。この補正については、図13および図14を用いて後述する。
ステップS20において、低コントラスト閾値補正を行うと、図12に示すフローを終了し、元のフローに戻る。元のフローに戻ると、ステップS5のAF検波処理において、ステップS20において補正した低コントラスト閾値を用いて判定を行い(図6のS47および図7のS65参照)、フォーカスレンズの焦点調節を行う。
次に、図13および図14を用いて、低コントラスト閾値の補正処理について説明する。図13は、図9と同様に、裾野AF評価値目標値とAF評価値カーブの裾野との差分値について説明する図である。図13において、横軸はフォーカスレンズの位置を示し、縦軸は各位置におけるAF評価値を示す。カーブLhigh-subは、高感度時のAF評価値カーブを示し、カーブLlow-subは、低感度時のAF評価値カーブを示す。裾野AF評価目標値Targetは、AF評価値カーブの裾野のレベルの目標値である。高感度AF評価値カーブLhigh-subの裾野はレベルThighであり、低感度AF評価値カーブLlow-subの裾野はレベルTlowである。裾野レベルThighと裾野AF評価値目標値Ttargetの差分が、高感度時の差分値AFvalDeltaScale(高感度用)である。また、裾野レベルTlowと裾野AF評価値目標値Ttargetの差分が、低感度時の差分値AFvalDeltaScale(低感度用)である。また、基準低コントラスト閾値LowconTh-stは、図10に示した低コントラスト閾値LowconThと同じであってもよい。
裾野AF評価値目標値Ttargetと、AF評価値カーブの裾野のレベルTlow、Thighは、第1実施形態の場合と同様であり、これらの差分値AFvalDeltaScale(低感度用)、AFvalDeltaScale(高感度用)は、第2実施形態においても、図12のステップS17において算出される。
図14は、低コントラスト閾値の補正を説明する図である。第1実施形態においては、前述したように、AF評価値カーブに対して差分値を加算することによって、AF評価値カーブの裾野が略同レベルとなっていた。これに対して、第2実施形態においては、AF評価値カーブに対して差分値を加算せずに、基準低コントラスト閾値LowconThに対して差分値を加算している。すなわち、高感度AF評価値カーブLhigh-subに対して使用する低コントラスト閾値は、基準低コントラスト閾値LowconTh-stに、差分値AFvalDeltaScale(高感度用)を加算してLowconTh-highとする。同様に、低感度AF評価値カーブLlow-subに対して使用する低コントラスト閾値は、基準低コントラスト閾値LowconTh-stに、差分値AFvalDeltaScale(低感度用)を加算してLowconTh-lowとする。なお、低感度の場合には、差分値は負の値である。
前述したように、コントラストAFでは、フォーカスに対するAF評価値カーブが山型の形状となる。AF評価値カーブの裾野での偽合焦を防止するために、AF評価値に対して低コントラスト閾値(絶対値)を設定し、下回る場合はピーク/方向判断の閾値をより厳しくしている。第1実施形態においては、1つの低コントラスト閾値を設定していた。これに対して、第2実施形態においては、撮像感度等の条件データに応じて、低コントラスト閾値の値を異ならせている。すなわち、撮像感度等の条件データによって、AF評価値のレベルが高くなる場合には、低コントラスト閾値が高くなるように、基準低コントラスト値に差分値を加算している。一方、撮像感度等の条件データによって、AF評価値のレベルが低くなる場合には、低コントラスト閾値が低くなるように、負の差分値を加算している。このため、撮像感度の条件に関わらず、適正なレベルの低コントラスト閾値が設定され、誤ってノイズ等をピークと判定し、誤測距してしまうことを防止することができる。
このように、本発明の第2実施形態においては、 撮影光学系を通過した被写体光を、撮像素子によって光電変換して撮像信号を出力し、撮像信号に基づいてコントラストを示す評価値を算出している(図11のS1参照)。また、算出された評価値に基づいて、この評価値が極値を示すフォーカスレンズの位置を検出している(図11のS5、S7参照)。また、評価値を取得する時の条件(例えば、撮像素子の撮像感度、または撮像信号に適用するHPFのカットオフ周波数、または撮像信号に基づく輝度レベル、または撮像素子の撮像駆動モード等)に応じて、閾値を補正している(図12のS20参照)。評価値が、補正された閾値より小さいと判定する場合、評価値が極値を示すフォーカス位置を検出するための判断の閾値を評価値が補正された閾値以上と判定する場合よりも厳しくしている(図6のS47、S49、S55、図7のS65、S67、S73参照)。また、 特定の色成分(たとえば、RまたはGまたはBのみや赤外光のみ)に基づいてAF評価値を生成しコントラストAFを行う場合に、特定の色成分の信号強度を上記輝度レベルと同様に扱い、特定の色成分の信号強度に応じてメモリに記憶した補正値を用いて低コントラスト閾値を補正してもよい。特定の色成分に基づくコントラストAFを行う場合でも、同様にノイズの影響を受けた裾野部分のAF評価値をピーク位置(合焦位置)と誤判定することや方向判断を誤ることを防止することができる。
以上説明したように、本発明の各実施形態においては、評価値のカーブの裾野部分におけるレベルを一定のレベルに補正するための差分値を算出し、この差分値を用いて、評価値または閾値を補正している(例えば、図3の19、図12のS20参照)。また、算出された評価値に基づいて、この評価値が極値を示すフォーカスレンズの位置を検出している(例えば、図2および図11のS5、S7)。また補正された評価値または閾値を用いて、評価値のカーブの裾野部分におけるレベルと閾値との相対的位置関係が一定になるようにした状態で、フォーカスレンズの位置を検出している(図10、図14参照)。このため、AF評価値を用いて焦点調節する際に、撮像感度、HPFカットオフ周波数、輝度レベル、撮像駆動モード等の条件データが変化しても、フォーカスレンズを正しい合焦位置に移動させることができる。
前述したように、コントラストAFでは、フォーカスに対するAF評価値カーブが山型の形状となる。従来のコントラストAFでは、AF評価値カーブの裾野での偽合焦を防止するために、AF評価値に対して低コントラスト閾値(絶対値)を設定し、AF評価値が低コントラスト閾値を下回る場合は検出不能としていた。しかし、AF評価値カーブの裾野領域において、撮像感度、HPFカットオフ周波数、輝度レベル等の条件データによってAF評価値の絶対値が変動するため、1つの低コントラスト閾値を使用して検出可能か判断すると偽合焦が発生した。実際には検出不能な状態であっても検出可能と判定し偽合焦となる問題がある。逆に、十分なコントラストを有する条件であっても低コントラストと判定されて、ユーザが違和感を持つケースがあった。これに対して、本発明の各実施形態では、条件データによって、AF評価値カーブのレベルを補正し(第1実施形態参照)、または低コントラスト閾値を補正するようにしている。このため、条件データによってAF評価値が変動した場合であっても、偽合焦となることを防止することができる。また、AF評価値が低コントラスト閾値を下回る場合は、一律に検出不能とするのではなく、ピーク/方向判断の閾値をより厳しくしているので、中/低コントラストの被写体に対する検出能力を向上させることができる。
なお、本発明の各実施形態においては、フォーカスレンズの焦点調節をコントラストAFによってのみ行っていた。しかし、これに限らず、位相差AFと組み合わせても勿論構わない。また、本発明の各実施形態においては、カメラ側CPU107とは別に、AF評価値算出回路108、AE評価値算出回路109、画像処理回路110を設けていた。しかし、これに限らず、これらの回路の全部または一部をカメラ側CPU107の周辺回路に取り込んでもよい。また、これらのハードウエア回路に代えて、CPUとプログラムによってソフトウエア的に構成してもよく、ヴェリログ(Verilog)によって記述されたプログラム言語に基づいて生成されたゲート回路等のハードウエア構成でもよく、またDSP(Digital Signal Processor)を利用して構成してもよい。これらは適宜組み合わせてもよいことは勿論である。また、CPUに限らず、コントローラとしての機能を果たす素子であればよい。
また、カメラ側CPU107内のCPUは、コントローラとしての機能を果たす素子であればよい。上述した各回路の処理は、ハードウエアとして構成された1つ以上のプロセッサが行うようにしてもよい。例えば、各部は、それぞれが電子回路として構成されたプロセッサであっても構わないし、FPGA(Field Programmable Gate Array)等の集積回路で構成されたプロセッサにおける各回路部であってもよい。または、1つ以上のCPUで構成されるプロセッサが、記録媒体に記録されたコンピュータプログラムを読み込んで実行することによって、各部としての機能を実行するようにしても構わない。
また、本実施形態においては、撮影のための機器として、デジタルカメラを用いて説明したが、カメラとしては、デジタル一眼レフカメラでもミラーレスカメラでもコンパクトデジタルカメラでもよく、ビデオカメラ、ムービーカメラのような動画用のカメラでもよく、さらに、携帯電話、スマートフォン、携帯情報端末、パーソナルコンピュータ(PC)、タブレット型コンピュータ、ゲーム機器等に内蔵されるカメラ、医療用カメラ、顕微鏡等の科学機器用のカメラ、自動車搭載用カメラ、監視用カメラでも構わない。いずれにしても、コントラストAFによってピント合わせを行う機器であれば、本発明を適用することができる。
また、本明細書において説明した技術のうち、主にフローチャートで説明した制御に関しては、プログラムで設定可能であることが多く、記録媒体や記録部に収められる場合もある。この記録媒体、記録部への記録の仕方は、製品出荷時に記録してもよく、配布された記録媒体を利用してもよく、インターネットを通じてダウンロードしたものでもよい。
また、本発明の一実施形態においては、フローチャートを用いて、本実施形態における動作を説明したが、処理手順は、順番を変えてもよく、また、いずれかのステップを省略してもよく、ステップを追加してもよく、さらに各ステップ内における具体的な処理内容を変更してもよい。
また、特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず」、「次に」等の順番を表現する言葉を用いて説明したとしても、特に説明していない箇所では、この順で実施することが必須であることを意味するものではない。
本発明は、上記実施形態にそのまま限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素の幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。