以下、本発明の実施例について図面を参照しながら説明する。
図17には、本発明の実施例1であるデジタル一眼レフカメラ2と該カメラ2に対して交換が可能な交換レンズ1とにより構成されるカメラシステムの構成を示している。このカメラシステムは、位相差検出方式によるAF処理(以下、位相差AFという)を行うとともに、コントラスト検出方式による焦点検出結果を用いた位相差AFの補正機能であるフォーカスキャリブレーション機能を有する。
交換レンズ1内には撮影光学系10が収容されている。撮影光学系10は、複数のレンズユニットや絞りにより構成される。複数のレンズユニットのうち不図示の変倍レンズユニット(以下、ズームレンズという)を光軸方向に移動させることで、焦点距離を変化させて変倍(ズーム)を行うことができる。また、複数のレンズユニットのうちフォーカスレンズユニット(以下、単にフォーカスレンズという)10aを光軸方向に移動させることで、ピント合わせを行うことができる。
レンズ駆動部11は、ズームレンズやフォーカスレンズ10aを移動させるアクチュエータ、該アクチュエータの駆動回路およびアクチュエータの駆動力を各レンズに伝達する伝達機構を含む。レンズ状態検出部12は、ズームレンズやフォーカスレンズ10aの位置、すなわちズーム位置およびフォーカス位置を検出する。
レンズ制御部13は、CPU等により構成され、後述するカメラ制御部40からの指令に応じて交換レンズ1の動作を制御する。レンズ制御部13は、電気接点15のうち通信端子を介してカメラ制御部40と通信可能に接続されている。また、交換レンズ1には、電気接点15のうち電源端子を通じてカメラ2から電源が供給される。レンズ記憶部14は、ROM等により構成され、レンズ制御部13での制御に用いられるデータや交換レンズ1の識別情報や撮影光学系10の光学情報等の各種情報を記憶している。
カメラ2において、ハーフミラーで構成された主ミラー20は、ユーザが被写体を光学ファインダを通して観察する光学ファインダ観察時には、図示のように撮影光路内のダウン位置に配置されて撮影光学系10からの光をピント板30に向けて反射する。また、主ミラー20は、背面モニタ43に電子ビューファインダ用の画像(ライブビュー画像)を表示するライブビュー観察時や記録用画像(静止画および動画)を生成する撮影時には、撮影光路から退避するアップ位置に回動する。これにより、撮影光学系10からの光は、シャッタ23および撮像素子24に向かう。
サブミラー21は、主ミラー20とともに回動し、ダウン位置に配置された主ミラー20を透過した光をAFセンサ22に導く。また、主ミラー20がアップ位置に回動すると、サブミラー21も撮影光路から退避する。
AFセンサ22は、被写体から撮影光学系10を通ってサブミラー21で反射して入射した光を用いて、カメラ2による撮影範囲内に設けられた複数の焦点検出領域において位相差検出方式による撮影光学系の焦点状態の検出(焦点検出)を行う。AFセンサ22は、各焦点検出領域からの光に一対の像(被写体像)を形成させる2次結像レンズと、該一対の被写体像を光電変換する一対の受光素子列が配置されたエリアセンサ(CCD又はCMOS)とを含む。エリアセンサの一対の受光素子列(センサ対)は、一対の被写体像の輝度分布に応じた光電変換信号である一対の像信号をカメラ制御部40に出力する。エリアセンサ上には、複数の焦点検出領域に対応した複数対の受光素子列(センサ対)が2次元配置されている。
カメラ制御部40は、一対の像信号の位相差を算出し、該位相差から撮影光学系10の焦点状態(デフォーカス量)を算出する。さらに、カメラ制御部40は、検出した撮影光学系10の焦点状態に基づいて、撮影光学系10の合焦状態を得るためにフォーカスレンズ10aを移動させるべき位置である合焦位置(第1の合焦位置:以下、位相差合焦位置という)を算出する。
そして、カメラ制御部40は、算出した位相差合焦位置にフォーカスレンズ10aを移動させるようレンズ制御部13にフォーカス指令を送信する。レンズ制御部13は、受信したフォーカス指令に応じて、レンズ駆動部11を介してフォーカスレンズ10aを位相差合焦位置に移動させる。このように焦点調節動作が行われ、撮影光学系10の合焦状態が得られる。
以上のように、位相差検出方式による焦点状態の検出と、該焦点状態に基づく位相差合焦位置の算出(検出)と、該位相差合焦位置へのフォーカスレンズ10aの移動とを含む位相差AFが行われる。AFセンサ22とカメラ制御部40は第1の検出手段として機能する。また、カメラ制御部40は、制御手段として機能する。
なお、AFセンサ22のエリアセンサにおいて受光素子が2次元配置されているため、撮影範囲内のうち同じ視野領域(例えば、中央領域)について、被写体の水平方向と垂直方向の輝度分布を検出して焦点検出を行うことが可能となる。これについては、後に詳しく説明する。
シャッタ23は、光学ファインダ観察時には閉じ、ライブビュー観察時および動画撮影時には開放されて撮影光学系10により形成された被写体像の撮像素子24による光電変換(ライブビュー画像および撮影動画の生成)を可能とする。さらに、静止画撮影時には、設定されたシャッタ秒時で開閉し、撮像素子24の露光を制御する。
撮像素子24は、CMOSイメージセンサ又はCCDイメージセンサとその周辺回路により構成され、撮影光学系10により形成された被写体像を光電変換してアナログ撮像信号を出力する。
ピント板30は、撮像素子24と等価な位置である撮影光学系10の1次結像面に配置されている。光学ファインダ観察時には、ピント板30上に、被写体像(ファインダー像)が形成される。ペンタプリズム31は、ピント板30上に形成された被写体像を正立正像に変換する。接眼レンズ32は、正立正像をユーザに観察させる。ピント板30、ペンタプリズム31および接眼レンズ32により光学ファインダが構成される。
AEセンサ(測光センサ)33は、ピント板30からの光(被写体像)をペンタプリズム31を介して受光して光電変換し、該ピント板30上に形成された被写体像の輝度を測定する。AEセンサ33は、複数のフォトダイオードを有し、カメラ2による撮影範囲を分割するように設定された複数の測光領域のそれぞれで輝度を測定することができる。
カメラ制御部40は、MPU等を含むマイクロコンピュータにより構成され、カメラ2と交換レンズ1からなるカメラシステム全体の動作を制御する。カメラ制御部40は、前述したようにフォーカス制御手段として機能するとともに、後述するように補正手段および信頼度判定手段としても機能する。
デジタル制御部41は、撮像素子24からのアナログ撮像信号をデジタル撮像信号に変換し、さらに該デジタル撮像信号に対して各種処理を行って画像信号(画像データ)を生成する。撮像素子24およびデジタル制御部41により撮像系が構成される。
また、デジタル制御部(第2の検出手段)41は、画像信号から特定の周波数成分を抽出して該画像信号のコントラストを示すコントラスト評価値を生成する。そして、該コントラスト評価値が最大となるフォーカスレンズ10aの合焦位置を検出する。このようにしてコントラスト検出方式により合焦位置を検出する動作(ライブビュー観察時および動画撮影時のピント合わせを含む)をコントラストAFという。また、コントラストAFにより検出される合焦位置(第2の合焦位置)を、以下、コントラスト合焦位置という。
カメラ記憶部42は、カメラ制御部40やデジタル制御部41の動作で用いられる各種データを記憶している。また、カメラ記憶部42は、生成された記録用画像を保存する。
背面モニタ43は、液晶パネル等の表示素子により構成され、ライブビュー画像、記録用画像および各種情報を表示する。
なお、図17には示していないが、カメラ2にはレリーズスイッチ44が設けられている。レリーズスイッチ44が半押し操作されると、不図示の第1スイッチ(SW1)がONになり、AFや測光が開始される。また、レリーズスイッチ44が全押し操作されると、不図示の第2スイッチ(SW2)がONになり、撮影(記録用画像の生成)が行われる。
図18には、撮影範囲内での焦点検出領域のレイアウトを示している。50はカメラによる撮影範囲を示している。撮影範囲50内には、ライン状の焦点検出領域(以下、焦点検出ラインという)は21ライン存在する。撮影範囲50の中央領域には、縦方向に長い焦点検出ライン(以下、縦目という)がL1,L2の2ライン配置され、横方向に長い焦点検出ライン(以下、横目という)がL3,L4の2ライン配置されている。1つの焦点検出ラインに対して、センサ対としての一対の受光素子列が設けられている。
縦目は、相関方向が縦方向(撮像素子24の短辺方向)であり、縦方向の輝度分布から撮影光学系10の焦点状態を検出する。一方、横目は、相関方向が横方向(撮像素子24の長辺方向)であり、横方向の輝度分布から撮影光学系10の焦点状態を検出する。
縦方向に2ライン並んだ焦点検出ラインL1,L2は、縦方向に微小量だけずれて配置されている。このずれ量は、相関方向に並ぶ画素のピッチの半分である。画素ピッチの半分量だけずれて配置された焦点検出ラインL1,L2から得られる2つの焦点検出結果の両方を加味して検出結果を算出することで、検出のばらつきを軽減する。横方向に2ライン並んだ焦点検出ラインL3,L4についても、焦点検出ラインL1,L2と同様に画素ピッチの半分量だけずれて配置することで、検出ばらつきを軽減する。
撮影範囲50の中央領域には、基線長が長い、F2.8の光束を用いて焦点検出を行う焦点検出ラインL19を横方向に1ライン備えている。焦点検出ラインL19は、焦点検出ラインL3やL4に比べて基線長が長いため、AFセンサ22の受光面上での像の移動量が大きい。このため、焦点検出ラインL3,L4よりも高精度な検出を実現することができる。
ただし、焦点検出ラインL19は、F2.8光束を用いているため、F2.8以上の明るい交換レンズが装着されたときのみ有効となる。また、像の移動量が大きいため、焦点検出ラインL3,L4に比べて、大きいデフォーカスを検出する能力は劣る。上述のようにF2.8用の焦点検出ライン(以下、F2.8目という)L19を備えることで、高い検出精度が要求されるF2.8以上の明るい交換レンズが装着されたときに、それに応じた高精度の検出を実現することができる。
AFセンサ22では、撮影範囲50の中央領域においては、焦点検出ラインを縦横クロス状に配置することで、縦横両方向の輝度分布を検出することができる。縦横両方向の輝度分布を得ることで、輝度分布があまりない被写体で無理やりに焦点検出を行う必要がなくなるため、検出ばらつきを軽減することができる。これにより、焦点検出可能な被写体の種類を広げると共に、検出精度の向上を実現することができる。このように、撮影範囲50の中央領域では、縦目(L1,L2)と、横目(L3,L4)と、F2.8目(L19)による3つの焦点検出結果を得ることができる。
次に、撮影範囲50の上下方向に配置された焦点検出ラインについて説明する。撮影範囲50の上部には、横目L5,L11が配置されており、撮影範囲50の上部に位置する被写体像の横方向の輝度分布から撮影光学系10の焦点状態を検出する。また、撮影範囲50の下部には、横目L6,L12が配置されており、撮影範囲50の下部に位置する被写体像の横方向の輝度分布から撮影光学系10の焦点状態を検出する。また、焦点検出ラインL5と同じ位置にF2.8用の横目L20が、横目L6と同じ位置にF2.8の横目L21がそれぞれ配置されている。これにより、高い検出精度が要求されるF2.8以上の明るい交換レンズが装着されたときに、高精度の焦点検出を実現することができる。
焦点検出ラインL3,L4,L5,L6,L11,L12の左端に接するように焦点検出ラインL7,L9が、焦点検出ラインL3,L4,L5,L6,L11,L12の右端に接するように焦点検出ラインL8,L10がそれぞれ縦方向に並んで配置されている。焦点検出ラインL7,L9,L8,L10,L14,L16は縦目であり、縦方向の輝度分布から撮影光学系10の焦点状態を検出する。
焦点検出ラインL7,L9の左側には焦点検出ラインL13,L15が、焦点検出ラインL8,10の右側には焦点検出ラインL14,16が縦方向に並んで配置されている。焦点検出ラインL13,L14,L15,L16も縦目であり、縦方向の輝度分布から撮影光学系10の焦点状態を検出する。
横方向の一番外側には焦点検出ラインL17,L18が配置されている。焦点検出ラインL17,L18は縦方向の中央が光軸上にあり、撮影範囲50の横方向に位置する被写体像の縦方向の輝度分布から撮影光学系10の焦点状態を検出する。
次に、カメラ2が有するフォーカスキャリブレーション機能(以下、AFキャリブレーションという)について説明する。AFキャリブレーションは、位相差検出方式により得られた位相差合焦位置を、該位相差合焦位置と前述したコントラストAFにより得られたコントラスト合焦位置との差に基づいて補正する機能である。このAFキャリブレーションは、AFセンサ22から入力された一対の像信号の位相差から位相差合焦位置を算出し、かつデジタル制御部41からコントラスト合焦位置を取得するキャリブレーション手段としてのカメラ制御部40が主として行う。
また、カメラ制御部40は、信頼度判定手段として、AFセンサ22からの一対の像信号に関する情報を用いて、位相差AFの対象となっている被写体に対する位相差AFの信頼度を算出し、該信頼度が高いか低いかを判定する。本実施例にいう被写体に対する位相差AFの信頼度とは、基本的には、被写体からの光を受光するAFセンサ22からの一対の像信号を用いて得られるデフォーカス量(焦点状態)の信頼度である。ただし、位相差合焦位置はデフォーカス量から算出されるので、結果的に、位相差合焦位置の信頼度ということもできる。以下の説明において、被写体に対する位相差AFの信頼度を、単に信頼度ともいう。
そして、本実施例では、一対の像信号に関する情報を用いて求められる、該信頼度を示す評価値として、特開2007−052072号公報にて開示されているSレベル(SELECTLEVEL)値SLを用いる。
カメラ制御部40は、Sレベル値SLが閾値以下又は閾値より小さい場合、すなわち信頼度が高い第1の信頼度である場合はAFキャリブレーションを行う。一方、Sレベル値SLが閾値より大きい又は閾値以上である場合、すなわち信頼度が第1の信頼度よりも低い第2の信頼度である場合はAFキャリブレーションを制限し、信頼度が第1の信頼度である場合には行われない動作処理を行う。
Sレベル値SLは、一対の像信号に関する情報として、該一対の像信号の一致度U、エッジの数(相関変化量ΔV)、シャープネスSHおよび明暗比PBDとをパラメータとする値であり、以下の式のように表される。なお、一対の像信号に関する情報とは、必ずしも一対の像信号の双方に関する情報でなくてもよく、いずれか一方の像信号に関する情報であってもよい。また、一致度U、相関変化量ΔV、シャープネスSHおよび明暗比PBDについては、一対の像信号から得られる情報と言い換えてもよい。
ここで、一致度Uは、その値が小さいほど信頼度が高い。相関変化量ΔVは、その値が大きいほど信頼度が高い。また、シャープネスSHは、その値が大きいほど信頼度が高い。明暗比PBDは、その値が大きいほど信頼度が高い。このため、一致度Uを分子とし、相関変化量ΔV、シャープネスSHおよび明暗比PBDの積を分母とすることで、各パラメータにて信頼度が高い場合にSレベル値SLが小さくなるように定義している。
一致度Uについて説明する。一対の被写体像を、AFセンサ22のエリアセンサで光電変換すると、一対の像信号が得られる。この一対の像信号のそれぞれを、以下、A像およびB像という。ここでは、一致度の説明を分かりやすくするため、A像とB像のどちらかにゴースト光等の不要光が入射し、A像とB像が互いに同じ形状にならなかった場合について説明する。そして、A像とB像は形状が異なるため、合焦状態でも一致しない部分が生じる。この一致しない部分の面積を、一致度として定義する。
エリアセンサ内の受光素子列(画素列)の数をNとし、合焦時のA像とB像のi番目の画素の出力をa[i],b[i]すると、一致度Uは下記のように表せる。
式(1)に示すように、A像とB像の画素出力差の絶対和を一致度Uと定義することで、A像とB像の一致度合いを的確に表現することができる。A像とB像の一致度が低い場合には一致度Uは大きくなり、A像とB像の一致度が高い場合には、一致度Uは小さくなる。
次に、エッジの数、すなわち相関変化量ΔVについて説明する。エッジの数を示すパラメータとして、相関演算において算出される相関変化量を用いる。合焦状態でのA像とB像の相関量に対する合焦状態から1画素ずつずらした状態でのA像とB像の相関量の変化量が相関変化量に相当する。合焦状態でのA像およびB像の相関量をV1とし、合焦状態から1画素ずつずらした状態でのA像およびB像の相関量をV2とすると、相関変化量ΔVは以下のように求められる。
相関変化量ΔVは、合焦状態から1画素分ずれることで、A像とB像のエッジが一致した状態からずれた状態に移行したことにより生じる一致しない部分の面積である。このため、A像とB像のエッジの数が増えると、ずれたことにより生じる一致しない部分の面積も増える。このことから相関変化量ΔVはエッジの数を表すパラメータとして適切であることが分かる。なお、ずらし量は、1画素より多くてもよい。
次に、シャープネスSHについて説明する。本実施例でいうシャープネスとは、A像とB像の信号値があるボトム値からピーク値に変化するときに、急峻に値が変わるか徐々に値が変わるかを表す。本実施例では、シャープネスをA像とB像から得られる1次コントラスト評価値C1と2次コントラスト評価値C2の比とする。1次コントラスト評価値とは、A像とB像における隣接画素の出力差の絶対値の和とし、2次コントラスト評価値とは、A像とB像における隣接画素の出力差の二乗和とする。AFセンサ22の画素列の数をNとし、合焦状態でのA像とB像のi番目の画素出力をa[i],b[i]とすると、1次コントラスト評価値C1および2次コントラスト評価値C2は以下のように表せる。MAXは、{}内の2つのうち大きい方の意味である。
1次コントラスト評価値C1は、隣接画素の出力差の絶対和であるため、信号波形のエッジ部分から得られる1次コントラスト評価値C1は、エッジ部の階調変化が急峻であってもなだらかであっても、エッジ部のピーク値とボトム値が同じであれば同じとなる。例えば、半分が白、半分が黒、境界線で白と黒が接しているような被写体から得られる1次コントラスト評価値C1と、一方端が白、他方端が黒、白端から黒端にかけてなだらかに色味が変化するような被写体から得られる1次コントラスト評価値C1とは同じである。
一方、2次コントラスト評価値C2は、隣接画素の出力差の二乗和であるため、階調変化が急峻なエッジ部から得られるものは、階調変化がなだらかなエッジ部から得られるものよりも大きくなる。これは式(6)からも明らかである。このため、2次コントラスト評価値C2に基づいてエッジ部の階調変化の大きさを推定することは適切である。
被写体像のシャープネスをSHとすると、シャープネスSHは、1次コントラスト評価値C1、2次コントラスト評価値C2の比として以下のように表せる。
ここで、2次コントラスト評価値C2でシャープネスSHを表現せず、1次コントラスト評価値C1で割った値とするのは、エッジの数の影響を排除するためである。例えば、半分が白、半分が黒、境界線で白と黒が接しているような被写体から得られる2次コントラスト評価値をC2_1、両端が黒、中央が白、白と黒が2つの境界線で接しているような被写体から得られる2次コントラスト評価値をC2_2とする。
シャープネスとは、A像とB像があるボトム値からピーク値に変化するときに、急峻に値が変わるか、徐々に値が変わっていくかを表しているものであるため、エッジの数が1本であろうと2本であろうと、同じ値になるべきである。今、2次コントラスト評価値C2_1と2次コントラスト評価値C2_2との間には以下の関係が成り立つ。
式(8)に示すように、2次コントラスト評価値C2は、エッジの数が増えると、その分だけ増えてしまう。そのため、2次コントラスト評価値C2だけでシャープネスを表現するのは不適切である。そこでエッジの数の影響をなくすため、1次コントラスト評価値C1で割って正規化する。半分が白、半分が黒、境界線で白と黒が接しているような被写体から得られる1次コントラスト評価値をC1_1、両端が黒、中央が白で白と黒が2つの境界線で接しているような被写体から得られる1次コントラスト評価値をC1_2とすると、次の関係が成り立つ。
また、半分が白、半分が黒で境界線で白と黒が接しているような被写体から得られるシャープネスをSH_1、両端が黒、中央が白、白と黒が2つの境界線で接しているような被写体から得られるシャープネスをSH_2とすると、以下の通り表せる。
式(11)に式(8)と式(9)を代入すると、SH_2は以下の通り表せる。
式(12)から、半分が白、半分が黒で、境界線で白と黒が接しているような被写体から得られるシャープネスSH_1と、両端が黒、中央が白で、白と黒が2つの境界線で接しているような被写体から得られるシャープネスSH_2は、同じであることがわかる。同様に考えることで、エッジの数がいくつ増えても、シャープネスSHの値は変わらないことが分かる。
以上のことから、1次コントラスト評価値と2次コントラスト評価値の比をシャープネスとすることで、被写体像のシャープネスを的確に表現することができる。
次に、明暗比PBDについて説明する。本実施例にいう明暗比PBDとは、被写体像の濃淡がはっきりしているかどうかを表すパラメータである。具体的には、被写体像(信号値)のボトム値からピーク値までの高さが、センサ出力のダーク値からピーク値までの高さに比べてどれだけの大きさになっているかを表している。
合焦状態でのA像のダーク値、ボトム値、ピーク値をそれぞれ、DARK_A,BOTTOM_A,PEAK_Aとし、B像のダーク値、ボトム値、ピーク値をDARK_B,BOTTOM_B,PEAK_Bとする。この場合、A像から得られる明暗比PBD_Aと、B像から得られる明暗比PBD_Bは下記の通りに表せる。
上記のようにA像とB像それぞれから得られた明暗比のうち、大きい方を明暗比PBDとして定義する。
式(15)に示した明暗比PBDにより、被写体像のボトム値からピーク値までの高さが、センサ出力のダーク値からピーク値までの高さに比べて、どれだけの大きさになっているかを表現することができる。式(15)から分かるように、明暗比PBDは0以上1以下の数字となる。明暗比PBDが1に近い場合は、被写体像のボトム値からピーク値までの高さとセンサ出力のダーク値からピーク値までの高さがほぼ同じであることを意味する。この場合は、濃淡のはっきりした被写体像であると判定する。
逆に、明暗比が0に近い場合は、ボトム値からピーク値までの高さがダーク値からピーク値までの高さに比べて非常に小さいことを意味する。この場合は、濃淡がはっきりしない被写体であると判定する。
以上のように、被写体像のダーク値、ボトム値、ピーク値に基づいて算出した明暗比PBDを用いることで、被写体像が濃淡のはっきりしたものであるかどうかを的確に判定できる。
本実施例では、AFキャリブレーションに一般的な被写体を用いる。そして、上述したSレベル値SLを信頼度の評価値として用いることで、位相差AFの被写体依存性を低減することができる。つまり、Sレベル値SLを用いて信頼度が高い(第1の信頼度である)と判定されれば、そのときの被写体は位相差AFによって精度の高い合焦状態が得られるはずである。したがって、AFキャリブレーションを行って(補正値を算出して)位相差合焦位置を補正することで、本来の高精度の合焦状態が得られるようにする。
一方、Sレベル値SLを用いて信頼度が低い(第2の信頼度である)と判定されたときは、そのときの被写体は位相差AFによって良好な精度の合焦状態が得られない被写体である可能性が高い。したがって、AFキャリブレーションを制限することで、AFキャリブレーションによって誤った位相差合焦位置の補正が行われることを未然に回避する。AFキャリブレーションを制限し、信頼度が第1の信頼度である場合には行われない動作処理を行うとは、例えば、警告を表示したり、位相差合焦位置を補正するための補正値を作成しなかったり、AFキャリブレーションを強制的にやり直させたりすることである。
なお、本実施例では、Sレベル値SLを用いて信頼度を判定する場合について説明するが、前述した一致度U、相関変化量ΔV、シャープネスSH、明暗比PBDを単独で用いて信頼度を判定してもよい。また、一対の像信号に関する(一対の像信号から得られる情報)情報の1つとして、デフォーカス量を用いて信頼度を判定してもよい。さらに、一対の像信号に関する情報の1つとして、後述する実施例2のように、AFセンサ22における電荷蓄積時間の情報により信頼度を判定してもよい。
図1のフローチャートには、カメラ制御部40が主として実行するAFキャリブレーションの処理を示している。カメラ制御部40は、この処理および以下に説明する各処理を、コンピュータプログラム(制御プログラム)に従って実行する。
ステップS101では、カメラ制御部40は、AFキャリブレーションによって位相差合焦位置を補正するための補正値を作成するか否かを判定する。AF補正値を作成する場合はステップS102へ進み、そうでない場合はステップS109の撮影処理(撮影フロー)に入る。撮影処理の詳細については後述する。
ステップS102では、カメラ制御部40は、被写体選定処理を行う。被写体選定処理の詳細については後述する。
次に、ステップS103では、カメラ制御部40は、コントラストAFデータ取得処理を行う。コントラストAFデータ取得処理の詳細については後述する。
次に、ステップS104では、カメラ制御部40は、位相差AFデータ取得処理を行う。位相差AFデータ取得処理の詳細については後述する。
続いて、ステップS105では、カメラ制御部40は、補正値を算出する。補正値は、ステップS104で算出したコントラスト合焦位置Cを用いて求められた、現在のフォーカスレンズ位置でのデフォーカス量C−DEFと、ステップS104で算出されたデフォーカス量の平均値μDEFとの差から求める。
次に、ステップS106では、カメラ制御部40は、ステップS105で算出した補正値を用いて、ユーザに対して選択を勧める補正値を背面モニタ43に表示する。
次に、ステップS107では、カメラ制御部40は、ユーザの選択操作に応じて、ステップS106で表示された補正値を正式な補正値として決定する。
そして、ステップS108では、カメラ制御部40は、ステップS107で決定した補正値とこれに付属させる各種情報を関連付けてカメラ記憶部42に記憶させる。ここにいう各種情報には、AFキャリブレーションを行った交換レンズの識別番号や製造番号等の交換レンズ個体を示す情報、AFキャリブレーションの日時や場所が含まれる。記憶が完了すると、ステップS101に戻る。
図3のフローチャートには、図1のステップS102にて行われる被写体選定処理を示している。
ステップS301では、カメラ制御部40は、主ミラー20およびサブミラー21をアップ位置に退避させ、図2(a)に示すように、背面モニタ43でのライブビュー画像の表示を開始する。図2(a)において、200は背面モニタ43に表示されているライブビュー画像であり、201はライブビュー画像に重畳表示された位相差AF用の焦点検出領域(以下、AF枠という)である。ユーザは、背面モニタ43上に設けられた指示エリア203に表示された指示に従って、AF枠201を被写体に合わせるようにカメラシステムの向きを調節する。ここでの被写体は、AFキャリブレーションに適した被写体であることが好ましい。
ユーザは、AFキャリブレーションに適した被写体を見つけると、カメラ2に設けられた不図示の決定ボタンを操作して、図2(a)に示すように背面モニタ43に表示されたOKボタン202を選択する。
ステップS302では、カメラ制御部40は、OKボタン202が選択されたか否か、すなわちコントラストAFの開始が選択されたか否かを判定する。コントラストAFの開始が選択された場合はステップS303に進み、コントラストAFの開始が選択されない場合は本ステップでの判定を繰り返す。
ステップS303では、カメラ制御部40は、AF枠内の被写体に対してコントラストAFを行う。
ステップS304では、カメラ制御部40は、コントラスト合焦位置が検出できたか否かを判定する。コントラスト合焦位置が検出できた場合は図1のステップS103に進み、コントラストAFデータ取得処理を行う。コントラスト合焦位置が検出できなかった場合はステップS305に進む。
ステップS305では、カメラ制御部40は、図2(b)に示すように、背面モニタ43に警告を表示する。図2(b)において、204は被写体であり、ここでは低コントラストの被写体を示している。警告を表示するときは、指示部203に、例えば「警告」の文字と、その内容あるいは対応策が表示される。被写体204が低コントラストであった場合は、対応策として、高コントラストの被写体にAF枠を合わせるように指示が表示される。この警告を見たユーザは、AFキャリブレーションに適した被写体を再度探すことになる。なお、警告時に指示部203に表示される内容は上述したものに限られない。また、警告音により警告を報知するようにしてもよい。
本実施例では、上述のように常に背面モニタに被写体のライブビュー画像を表示した状態で被写体選定処理を行えるので、ユーザが被写体に狙いを定めやすい。また、本実施例ではコントラストAFを用いているため、ミラーを動かす必要がなく、ミラー動作により精度が変化するのを防ぐことができる。
図4のフローチャートには、図1のステップS103にて行われるコントラストAFデータ取得処理を示している。コントラストAFデータとは、コントラスト合焦位置を検出するために用いるコントラスト評価値である。
また、コントラストAFデータ取得処理では、ライブビュー観察時および動画撮影時におけるコントラストAFよりも細かく正確なコントラストAFデータを取得する。このため、本処理では、まずレンズ駆動部11における伝達機構のバックラッシを取り除くためのフォーカスレンズ10aの一方向駆動を行い、さらに該フォーカスレンズ10aを細かいピッチ(移動幅)で移動させる微小駆動を行う。
ステップS401では、カメラ制御部40は、レンズ制御部13を介してフォーカスレンズ10aを無限遠側から至近側への一方向に所定量だけ移動させるようにレンズ駆動部11のアクチュエータを駆動させる。これが、前述した一方向駆動に相当する。
次に、ステップS402では、カメラ制御部40は、フォーカスレンズ10aの無限遠側への微小駆動を行わせる。この微小駆動のピッチごとにコントラストAFデータも順次取得する。コントラストAFデータの取得とともに、レンズ状態検出部12を通じてフォーカスレンズ10aの位置も検出する。
次に、ステップS403では、カメラ制御部40は、ステップS402で取得したコントラストAFデータを用いて、コントラスト合焦位置の検出が可能か否かを判定する。コントラストAFは、コントラスト評価値が最大となるフォーカス位置(ピーク位置)をコントラスト合焦位置と決定するが、ピーク位置か否かは一度、コントラスト評価値がその最大値を経て低下しないと判定できない。
そこで、本ステップでは、カメラ制御部40は、コントラスト評価値が最大値を経て低下したことをもってコントラスト合焦位置の検出が可能と判定し、ステップS406に進み、フォーカスレンズ10aの移動を停止させる。コントラスト評価値がまだ最大値を経て低下していない(増加し続けている)ときはコントラスト合焦位置の検出はまだ可能ではないと判定し、ステップS404に進む。
ステップS404では、カメラ制御部40は、コントラストAFにおける異常の有無を判定する。例えば、被写体が低コントラストであるためにコントラストAFデータの取得が困難であるときにこれを異常と判定する。このとき、カメラ制御部40は、ステップS405に進んで、背面モニタ43に警告を表示する。なお、警告音により警告を報知するようにしてもよい。この後、カメラ制御部40は、ユーザにコントラストAFデータが正常に取得できる被写体を探させるために、図1のステップS102に戻り、被写体選定処理をやり直す。異常ではないと判定した場合は、カメラ制御部40は、引き続きコントラストAFデータを取得するためにステップS402に戻り、フォーカスレンズ10aの微小駆動を行う。
ステップS407では、カメラ制御部40は、ステップS402で取得したコントラストAFデータを用いて、コントラスト合焦位置Cを算出する。コントラスト合焦位置Cの算出には、評価値のピークの前後で取得したデータを用いる。交換レンズによっては、微小駆動の最初の数回に、フォーカスレンズ10aを移動させるレンズ駆動部11における駆動機構のバックラッシの影響によってガタが発生するが、それ以降はガタがなくなる。最初の数回のデータ(バックラッシが影響する部分)はコントラスト合焦位置Cの算出に使用しないことにより、より高精度にコントラスト合焦位置Cを検出することができる。
ステップS408では、コントラスト合焦位置Cから現在のフォーカスレンズ位置までの差を、デフォーカス量に変換して、コントラストのデフォーカス量C−DEFを求める。デフォーカス量C−DEFを求めるには、まず算出されたコントラスト合焦位置Cから、現在何パルス無限端側にいるのかを求める。これは、ステップS402で微小駆動ごとに検出したフォーカスレンズ10aの位置情報から、コントラスト合焦位置Cと現在位置の差を求めればよい。そして、求められたパルス数をデフォーカス量に換算すると、コントラストのデフォーカス量C−DEFが算出できる。
コントラストのデフォーカス量C−DEFを算出した後は、図1のステップS104に進み、位相差AFデータ取得処理を行う。
図5のフローチャートには、図1のステップS104にて行われる位相差AFデータ取得処理を示している。位相差AFデータとは、位相差合焦位置を算出するためのデフォーカス量DEF、Sレベル値SL(一致度U、相関変化量ΔV、シャープネスSHおよび明暗比PBD)および後述する電荷蓄積時間Tである。
ステップS501では、カメラ制御部40は、ライブビュー観察状態から主ミラー20およびサブミラー21をダウン位置に回動させ、ライブビュー画像の表示を終了する。
次に、ステップS502では、カメラ制御部40は、カウンタnを0にリセットする。
次に、ステップS503では、カメラ制御部40は、AFセンサ22からAF枠に対応する一対の像信号を取得し、該一対の像信号の位相差を算出し、さらに該位相差から撮影光学系10のデフォーカス量DEFを算出する。また、カメラ制御部40は、前述した一致度U、相関変化量ΔV、シャープネスSHおよび明暗比PBDを取得してSレベル値SLを算出する。さらに、カメラ制御部40は、AFセンサ22のエリアセンサにおいて一対の被写体像が光電変換されて一対の像信号が生成されたときの光電変換時間を表す電荷蓄積時間Tの情報を取得する。
次に、ステップS504では、カメラ制御部40は、カウンタnを1つインクリメントする。
次に、ステップS505では、カメラ制御部40は、カウンタnが所定値(複数回数である所定回数)Nに達したか否かを判定する。カウンタn所定回数Nに達していない場合はステップS503に戻って、引き続き位相差AFデータを取得する。カウンタn所定回数Nに達した場合はステップS506に進む。
ステップS506では、カメラ制御部40は、N回取得した位相差AFデータの平均値を算出する。具体的には、ステップS503をN回繰り返して取得した位相差AFデータであるデフォーカス量DEFとSレベル値SLのそれぞれのN回の平均値μDEF,μSLを算出する。デフォーカス量DEFの平均値μDEFは、図1のステップS105において補正値の算出に用いられる。
次に、ステップS507では、カメラ制御部40は、ステップS506で算出したSレベル値の平均値μSLが閾値A以下か否かを判定する。平均値μSLが閾値A以下であり、信頼度が高いと判定した場合は、図1のステップS105に進み、補正値を算出する。一方、平均値μSLが閾値Aより大きく、信頼度が低いと判定した場合は、ステップS508に進み、背面モニタ43に警告を表示する。
ステップS508での警告後、カメラ制御部40は、図1のステップS102に戻り、被写体選定処理からAFキャリブレーションをやり直す。なお、警告音により警告を報知するようにしてもよい。また、別のパターンとして、ユーザにAFキャリブレーションをやり直すか、信頼度が低い場合でもAFキャリブレーションを実行するか否かを選択させるようにして、AFキャリブレーションに制限を加えてもよい。
図6のフローチャートには、撮影処理を示している。
ステップS601では、カメラ制御部40は、不図示のレリーズスイッチの半押し操作により第1スイッチ(SW1)がONになったか否かを判定する。ONになっていない場合は待機状態になり、ONになった場合はステップS602に進む。
ステップS602では、カメラ制御部40は、撮影範囲内に設けられた21個の焦点検出ラインの中から、ユーザの選択操作又は所定のアルゴリズムに従って1つの焦点検出ラインを指定する。
次に、ステップS603では、カメラ制御部40は、ステップS602で指定された焦点検出ラインが撮影範囲の中央領域に含まれる焦点検出ラインL1〜L4およびL19であるか否かを判定する。指定された焦点検出ラインが中央領域の焦点検出ラインでなければステップSS604に進み、中央領域の焦点検出ラインであればステップS605に進む。
ステップS604では、カメラ制御部40は、指定された焦点検出ラインに対応するAFセンサ22のエリアセンサ上の一対の受光素子列から一対の像信号を取り込み、該一対の像信号の位相差を算出し、さらに該位相差からデフォーカス量DEFを算出する。また、指定された焦点検出ラインを特定焦点検出ラインとして決定する。そして、ステップS608に進む。
ステップS605では、カメラ制御部40は、撮影範囲の中央領域に含まれる各焦点検出ラインに対応するエリアセンサ上の一対の受光素子列から一対の像信号を取り込み、該一対の像信号の位相差を算出し、さらに該位相差からデフォーカス量DEFを算出する。そして、ステップS606に進む。
ステップS606では、カメラ制御部40は、ステップS605で取り込んだ各焦点検出ラインに対応する一対の像信号から、それらの一致度U、相関変化量ΔV、シャープネスSHおよび明暗比PBDを算出する。さらにこれら4つのパラメータの値を用いて、Sレベル値SLを算出する。
次に、ステップS607では、カメラ制御部40は、撮影範囲の中央領域に含まれる各焦点検出ラインのSレベル値SLのうち最も小さい値に対応する焦点検出ラインを特定焦点検出ラインとして決定する。そして、ステップS608に進む。
ステップS608では、カメラ制御部40は、特定焦点検出ラインでのデフォーカス量から合焦状態を得るために必要なフォーカスレンズ10aの移動量(移動方向を含む)を算出する。具体的には、フォーカスレンズ10aを移動させるレンズ駆動部11のアクチュエータの駆動パルス数を算出する。フォーカスレンズ10aの移動量を算出することは、位相差合焦位置を算出することに相当する。
次に、ステップS609では、カメラ制御部40は、ステップS608にて算出したフォーカスレンズ10aの移動量にAFキャリブレーションにより得られた補正値を加算(又は減算)することで、該移動量を補正する。フォーカスレンズ10aの移動量を補正することは、位相差合焦位置を補正することに相当する。補正値が作成されていない場合は、補正値が0になるので、フォーカスレンズ10aの移動量(位相差合焦位置)の補正は行われない。
そして、ステップS610では、カメラ制御部40は、補正された移動量だけフォーカスレンズ10aが移動されるようにレンズ制御部13にフォーカス指令を送信する。これにより、レンズ制御部13は、レンズ駆動部11を通じてフォーカスレンズ10aを補正された位相差合焦位置に移動させる。
次に、ステップS611では、カメラ制御部40は、レリーズスイッチの全押し操作により第2スイッチ(SW2)がONになったか否かを判定する。ONになっていない場合は待機し、ONになった場合はステップS612に進む。
ステップS612では、カメラ制御部40は、撮影を行って記録用画像を生成する。
そして、ステップS613では、カメラ制御部40は、ステップS612にて生成された記録用画像を、カメラ記憶部42に保存する。
なお、本実施例では、AFキャリブレーションの際にレンズを至近側へ一定量駆動してから、無限遠側へ微小駆動させてそれぞれのAFにより合焦位置を検出し、補正値を算出している。ここで、実際の撮影で合焦動作を行う際に該補正値を用いると、AFキャリブレーションと同じ方向(この場合、至近側から無限遠側)にレンズを駆動する場合は問題ない。しかし、逆方向(この場合、無限遠側から至近側に)レンズを駆動する場合には、補正後のレンズ駆動量分駆動しても、バックラッシの影響によりずれが生じるおそれがある。
そこで、より精度の高いAFを行うための方法の1つとして、以下の方法を用いてもよい。すなわち、コントラストAFで検出される合焦位置(第2の合焦位置)について、レンズを至近側から無限遠側(第1の方向)に駆動する場合と、無限遠側から至近側(第2の方向)に駆動する場合との検出結果の差分に関する情報をレンズ内に予め記憶させる。カメラ制御部40は該情報を取得し、AFキャリブレーション補正値を用いて位相差合焦位置の補正に用いる。具体的には、カメラ制御部40は、撮影の際に合焦位置に向かって至近側と無限遠側のどちらからフォーカスレンズ10aを駆動するのかを判定する。そして、AFキャリブレーション時のレンズ駆動方向と逆方向に駆動する場合は、上記情報を用いて補正値(又は該補正値により補正されたフォーカスレンズ10aの移動量)をさらに補正する。
別の方法として、AFキャリブレーションをレンズの駆動方向ごとに行って補正値を算出し、それぞれをカメラ記憶部42に記憶してもよい。すなわち、図1のステップS108で補正値(第1の補正値)と各種情報を記憶した後、ステップS103に戻り、再度AFキャリブレーションを行い、補正値(第2の補正値)と各種情報を記憶する。
この場合、1回目のAFキャリブレーションでのフォーカスレンズ10aの駆動方向(第1の方向:至近側から無限遠側)とは逆方向(第2の方向:無限遠側から至近側)にフォーカスレンズ10aを駆動しながらコントラストAF評価値を取得するようにする。図4のステップS401では、カメラ制御部40は、レンズ制御部13を介してフォーカスレンズ10aを至近側から無限遠側への一方向に所定量だけ移動させるようにレンズ駆動部11のアクチュエータを駆動させる。次に、ステップS402では、カメラ制御部40は、フォーカスレンズ10aの至近側への微小駆動を行わせる。この微小駆動のピッチごとにコントラストAFデータも順次取得する。その後の処理は、1回目のAFキャリブレーションと同様である。
このように、レンズの駆動方向ごとの補正値(第1および第2の補正値)を記憶しておくことで、実際の撮影の際に適切な補正値を用いてフォーカスレンズ10aの移動量(位相差合焦位置)を補正することができる。つまり、カメラ制御部40は、撮影の際に合焦位置に向かって至近側と無限遠側のどちらからフォーカスレンズ10aを駆動するのかを判定する。そして、それと同じ方向にフォーカスレンズ10aを駆動して、AFキャリブレーションを行った際の補正値を用いてフォーカスレンズ10aの移動量(位相差合焦位置)を補正する。
これらの方法を用いることで、AFキャリブレーションにより算出された補正値を用いてより高精度なAFを行うことができる。
本実施例によれば、Sレベル値SLを用いて被写体に対する位相差AF(つまりは位相差AFデータ)の信頼度を判定することにより、位相差AFを行うのに適さない被写体を用いてAFキャリブレーションが行われることを回避できる。したがって、不適切なAFキャリブレーションによる誤った補正値の算出を少なくすることができる。
次に、本発明の実施例2について説明する。本実施例のカメラシステム(デジタル一眼レフカメラおよび交換レンズ)の構成は、実施例1において図17に示したものと同じである。このため、本実施例において実施例1と共通する構成要素には、実施例1と同符号を付して説明に代える。また、焦点検出ラインのレイアウト、AFキャリブレーション処理、コントラストAFデータ取得処理および撮影処理はそれぞれ、実施例1中の図18、図1、図4および図6に示したものと同様である。
図7のフローチャートには、本実施例における被写体選定処理を示している。
ステップS701では、カメラ制御部40は、背面モニタ43でのライブビュー画像の表示を開始する。
次に、ステップS702では、カメラ制御部40は、クイックAFによる焦点検出を開始するか否かを判定する。クイックAFとは、ライブビュー観察状態から以下の動作を瞬時に行う機能である。
まず、主ミラー20とサブミラー21をアップ位置からダウン位置に回動させ、撮影光学系10からの光をAFセンサ22に導く(図17参照)。次に、位相差AFによって位相差合焦位置にフォーカスレンズ10aを移動させ、その後、主ミラー20とサブミラー21をアップ位置に退避させ、再びライブビュー観察状態とする。このとき、位相差AFを行うと同時に、実施例1にて説明した位相差AFデータも取得する。クイックAFを開始する場合はステップS703に進み、カメラ制御部40は、実際にクイックAFを行うとともに位相差AFデータを取得する。クイックAFを開始しない場合は待機状態になる。
次に、ステップS704では、カメラ制御部40は、ステップS702で位相差AFデータとして得られたSレベル値SLが閾値A以下か否かを判定する。Sレベル値SLが閾値A以下であれば、カメラ制御部40は、現在選定されている被写体が位相差AFの信頼度を高くする適切な被写体と判定し、図1のステップS103に進んで、コントラストAFデータ取得処理を行う。Sレベル値SLが閾値Aより大きければ、カメラ制御部40は、現在選定されている被写体が位相差AFの信頼度を低くする適切でない被写体と判定し、ステップS705に進んで図2(b)に示したように警告を表示する。なお、警告時に指示部203に表示される内容は図2(b)に示したものに限られない。また、警告音により警告を報知するようにしてもよい。そして、OKボタン202が選択されると、カメラ制御部40は、ステップS702に戻り、クイックAFを再度行い、新たな被写体を探す。
この被写体選定処理では、これに続くステップS103でのコントラストAFデータ取得処理やステップS104での位相差AFデータ取得処理を行う前に、予め位相差AFデータを取得し、Sレベル値SLを把握できる。事前にSレベル値SLの判定を行うことで、ユーザはコントラストAFデータや位相差AFデータを無駄に取得することなく適切な被写体を探すことができ、効率的な被写体選定が可能となる。
以下、図8〜図11を用いて、位相差AFデータ取得処理の4つのパターンについて説明する。まず、図8を用いてパターン1について説明する。
ステップS801では、カメラ制御部40は、ライブビュー観察状態から主ミラー20およびサブミラー21をダウン位置に回動させ、ライブビュー画像の表示を終了する。
次に、ステップS802では、カメラ制御部40は、カウンタnを0にする。
次に、ステップS803では、カメラ制御部40は、位相差AFデータを取得する。
次に、ステップS804では、カメラ制御部40は、ステップS803で位相差AFデータとして取得したSレベル値SLが閾値A以下か否かを判定する。Sレベル値SLが閾値A以下であり、信頼度が高いと判定した場合は、ステップS805に進む。Sレベル値SLが閾値Aより大きく、信頼度が低いと判定した場合は、ステップS806に進む。
ステップS805では、カメラ制御部40は、カウンタnを1つインクリメントする。そして、ステップS807に進む。
ステップS806では、カメラ制御部40は、図2(b)に示すように背面モニタ43に警告を表示する。なお、警告時に指示部203に表示される内容は図2(b)に示したものに限られない。また、警告音により警告を報知するようにしてもよい。そして、警告後、図1のステップS102に戻り、被写体選定処理からAFキャリブレーションをやり直す。
ステップS807では、カメラ制御部40は、カウンタnが所定回数Nに達したか否かを判定する。カウンタnが所定回数Nに満たなければステップS803に戻り、引き続き位相差AFデータを取得する。カウンタnが所定回数Nに達した場合はステップS808に進む。
ステップS808では、カメラ制御部40は、ステップS803をN回繰り返して取得した位相差AFデータからデフォーカス量の平均値μDEFを算出する。μDEFを算出した後、図1のステップS105に進み、補正値を算出する。
次に、図9を用いてパターン2について説明する。
ステップS821では、カメラ制御部40は、ライブビュー観察状態から主ミラー20およびサブミラー21をダウン位置に回動させ、ライブビュー画像の表示を終了する。
次に、ステップS822では、カメラ制御部40は、カウンタnおよびカウンタmをそれぞれ0にする。
次に、ステップS823では、カメラ制御部40は、位相差AFデータを取得する。
次に、ステップS824では、カメラ制御部40は、カウンタmを1つインクリメントする。
次に、ステップS825では、カメラ制御部40は、ステップS823で位相差AFデータとして取得したSレベル値SLが閾値A以下か否かを判定する。Sレベル値SLが閾値A以下であり、信頼度が高いと判定した場合は、ステップS826に進む。Sレベル値SLが閾値Aより大きく、信頼度が低いと判定した場合は、ステップS827に進む。
ステップS827では、カメラ制御部40は、ステップS825でSレベル値SLが閾値Aより大きく、信頼度が低いと判定したときのデフォーカス量のデータをNGデータとして消去する。消去した後、ステップS828に進む。
ステップS828では、カメラ制御部40は、カウンタnが所定回数Nに達したか否かを判定する。カウンタnが所定回数Nに満たなければステップS829に進む。カウンタnが所定回数Nに達した場合はステップS831に進む。
ステップS829では、カメラ制御部40は、カウンタmが測定回数の限界値Nlimitに達したか否かを判定する。このとき、限界値Nlimitは所定回数Nよりも大きい値である。カウンタmが限界値Nlimitに満たなければステップS823に戻り、引き続き位相差AFデータを取得する。カウンタmが限界値Nlimitに達したとき、つまりNGデータの取得回数が多く、信頼度の高いデータをN回取得する前に限界値Nlimitに達してしまった場合は、ステップS830に進む。
ステップS830では、カメラ制御部40は、図2(b)に示すように背面モニタ43に警告を表示する。そして、警告の後、図1のステップS102に戻り、被写体選定処理からAFキャリブレーションをやり直す。なお、警告時に指示部203に表示される内容は図2(b)に示したものに限られない。また、警告音により警告を報知するようにしてもよい。
ステップS831では、カメラ制御部40は、ステップS823をN回繰り返して取得した位相差AFデータからデフォーカス量の平均値μDEFを算出する。μDEFを算出した後、図1のステップS105に進み、補正値を算出する。
なお、パターン2では、測定回数が限界値Nlimitに達したことで警告を行う場合について説明したが、タイマーによるカウント時間が所定時間に達したことで警告を行うようにしてもよい。
次に、図10を用いてパターン3について説明する。
ステップS841では、カメラ制御部40は、ライブビュー観察状態から主ミラー20およびサブミラー21をダウン位置に回動させ、ライブビュー画像の表示を終了する。
次に、ステップS842では、カメラ制御部40は、カウンタnおよびカウンタmをそれぞれ0にする。
次に、ステップS843では、カメラ制御部40は、位相差AFデータを取得する。
次に、ステップS844では、カメラ制御部40は、カウンタnを1つインクリメントする。
次に、ステップS845では、カメラ制御部40は、ステップS843で位相差AFデータとして取得したSレベル値SLが閾値A以下か否かを判定する。Sレベル値SLが閾値A以下であり、信頼度が高いと判定した場合は、ステップS848に進む。Sレベル値SLが閾値Aより大きく、信頼度が低いと判定した場合は、ステップS846に進む。
ステップS846では、カメラ制御部40は、カウンタmを1つインクリメントする。そして、ステップS847に進む。
ステップS847では、カメラ制御部40は、ステップS845でSレベル値SLが閾値Aより大きく、信頼度が低いと判定したときのデフォーカス量のデータに対してNGデータであることを示すNGフラグを立てる。そして、ステップS848に進む。
ステップS848では、カメラ制御部40は、カウンタnが所定回数Nに達したか否かを判定する。カウンタnが所定回数Nに満たなければステップS843に戻り、引き続き位相差AFデータを取得する。カウンタnが所定回数Nに達した場合はステップS849に進む。
ステップS849では、カメラ制御部40は、NGフラグが立てられたデフォーカス量のデータを消去する。
次に、ステップS850では、カメラ制御部40は、ステップS849にて消去されずに残った信頼度の高いデフォーカス量のデータの個数である(N−m)個を計算し、(N−m)が所定個数B以上あるか否かを判定する。(N−m)が所定個数B以上であればステップS851に進み、(N−m)が所定個数Bに満たない場合は、ステップS852に進む。
ステップS851では、カメラ制御部40は、ステップS843をN回繰り返して取得した位相差AFデータからデフォーカス量の平均値μDEFを算出する。μDEFを算出した後、図1のステップS105に進み、補正値を算出する。
ステップS852では、カメラ制御部40は、図2(b)に示すように背面モニタ43に警告を表示する。そして、警告の後、図1のステップS102に戻り、被写体選定処理からAFキャリブレーションをやり直す。警告時に指示部203に表示される内容は図2(b)に示したものに限られない。また、警告音により警告を報知するようにしてもよい。
次に、図11を用いてパターン4について説明する。
ステップS861では、カメラ制御部40は、ライブビュー観察状態から主ミラー20およびサブミラー21をダウン位置に回動させ、ライブビュー画像の表示を終了する。
次に、ステップS862では、カメラ制御部40は、カウンタnを0にする。
次に、ステップS863では、カメラ制御部40は、位相差AFデータを取得する。
次に、ステップS864では、カメラ制御部40は、ステップS863で位相差AFデータとして取得した電荷蓄積時間Tが所定時間t以下か否かを判定する。電荷蓄積時間Tが所定時間t以下であればステップS865に進む。電荷蓄積時間Tが所定時間tより長いときはステップS866に進む。
ステップS865では、カメラ制御部40は、カウンタnを1つインクリメントする。そして、ステップS867に進む。
ステップS866では、カメラ制御部40は、背面モニタ43に警告を表示する。そして、警告後、図1のステップS102に戻り、被写体選定処理からAFキャリブレーションをやり直す。なお、警告音により警告を報知するようにしてもよい。
ステップS867では、カメラ制御部40は、カウンタnが所定回数Nに達したか否かを判定する。カウンタnが所定回数Nに満たなければステップS863に戻り、引き続き位相差AFデータを取得する。カウンタnが所定回数Nに達した場合はステップS868に進む。
ステップS868では、カメラ制御部40は、ステップS863をN回繰り返して取得した位相差AFデータからデフォーカス量の平均値μDEFを算出する。μDEFを算出した後、図1のステップS105に進み、補正値を算出する。
このパターン4は、ステップS861でライブビュー画像の表示が終了しているので、ユーザは被写体を特定しにくい状態にある。その際に電荷蓄積時間Tが長くなってしまうと、位相差AFデータを取得する時間、つまり被写体を特定する時間が長引いてしまう。被写体を特定できないと、誤った位相差AFデータを取得してしまう可能性が高く、誤った補正値が算出されるおそれがある。このため、電荷蓄積時間Tによる判定を行う。また、被写体が暗い場合にも電荷蓄積時間Tが長くなるので、ステップS866での警告時には、図2(b)に示す指示部203に明るい被写体を選ぶことを促す表示を行ってもよい。
本実施例によれば、ユーザが被写体を探す段階でSレベル値SLを取得し、位相差AFに適さない被写体を判定することで、ユーザにとって無駄のない被写体選びが可能になる。
さらに、パターン1では、複数回取得する位相差AFデータ全てにおいてSレベル値SLの判定を行い、1回でもNGデータが発生した場合はやり直しを指示する。このため、やり直しに至るまでに複数回データを取得するという無駄なステップを踏まず、より素早くやり直しのできる効率のよいAFキャリブレーションが可能になる。
また、パターン2では、Sレベル値SLを満足する位相差AFデータが所定回数取得できるまでデータ取得を繰り返すことで、誤って途中の位相差AFデータの信頼度が低くなってしまっても中止することなくデータの取得を続けることが可能になる。
また、パターン3では、AFデータ取得の所定回数のうち、信頼度の低いデータがいくつか混ざってしまっても、その信頼度の低いデータのみを除去し、残った信頼度の高いデータで補正値を算出する。これにより、やり直しを最低限に抑えられ、誤補正のないデータの取得が可能になる。
また、パターン4では、位相差AFデータ取得時間を短くするために電荷蓄積時間Tの判定を行うことで、ユーザが被写体を特定する時間が短くて済むので、誤ったデータ取得を防ぐことが可能になる。
次に、本発明の実施例3について説明する。本実施例のカメラシステム(デジタル一眼レフカメラおよび交換レンズ)の構成は、実施例1において図17に示したものと同じである。このため、本実施例において実施例1と共通する構成要素には、実施例1と同符号を付して説明に代える。また、焦点検出ラインのレイアウトは実施例1中の図18に示したものと同様である。
図12には、カメラ制御部40が主として実行するAFキャリブレーションの処理のフローチャートを示している。カメラ制御部40は、この処理および以下に説明する各処理を、コンピュータプログラムに従って実行する。本実施例では、実施例1の図1のフローチャートに示したAFキャリブレーション処理と異なる部分を中心に説明する。
ステップS901では、図1のステップS101と同様の処理を行う。AF補正値を作成する場合はステップS902に進み、そうでない場合はステップS909の撮影処理(撮影フロー)に入る。撮影処理の詳細については後述する。
ステップS902では、カメラ制御部40は、被写体選定処理を行う。被写体選定処理の詳細については後述する。
次に、ステップS903では、カメラ制御部40は、位相差AFデータ取得処理を行う。位相差AFデータ取得処理の詳細については後述する。
次に、ステップS904では、カメラ制御部40は、コントラストAFデータ取得処理を行う。コントラストAFデータ取得処理の詳細については後述する。
続いて、ステップS905では、カメラ制御部40は、図1のステップS105と同様の処理を行う。
次に、ステップS906では、カメラ制御部40は、図1のステップS106と同様の処理を行う。
次に、ステップS907では、カメラ制御部40は、図1のステップS107と同様の処理を行う。
そして、ステップS908では、カメラ制御部40は、図1のステップS108と同様の処理を行う。記憶が完了すると、ステップS901に戻る。
図13には、図12のステップS902にて行われる被写体選定処理のフローチャートを示している。
ステップS921では、AFキャリブレーションを行う所定のAF枠を被写体に合わせるように、ユーザがカメラシステムの向きを調節する。ここでの被写体は、AFキャリブレーションに適した被写体であることが好ましい。AF枠に被写体を合わせたら、ユーザはカメラ2に設けられた不図示の決定ボタンを押す。これに応じて、カメラ制御部40は、次のステップに進む。
ステップS922では、カメラ制御部40は、AFセンサ22を通じて、AF枠内の被写体に対して位相差AFを行う。
そして、ステップS923では、カメラ制御部40は、被写体に対して合焦状態が得られるようにステップS922での位相差AFの結果に応じて、フォーカスレンズ10aをレンズ駆動部11のアクチュエータを動作させて移動させる。
次に、ステップS924では、カメラ制御部40は、被写体に対して合焦状態が得られたか否かを判断する。合焦状態が得られたときはAFキャリブレーションに適した被写体であるとみなしてステップS903に進む。一方、合焦状態が得られなければ、ステップS925へ進み、AFキャリブレーションに適した被写体を見つけるように警告を行う。警告は、TFTに警告表示を行ったり、ファインダ内に警告表示を行ったり、警告音を鳴らしたりすることで行う。警告後、カメラ制御部40は、再びステップS921に戻り、被写体選定処理を繰り返す。
図14には、図12のステップS903にて行われる位相差AFデータ取得処理のフローチャートを示している。位相差AFデータに関しては、実施例1で述べた通りである。
ここで、AFキャリブレーション時のフォーカスレンズ駆動について説明する。AFキャリブレーションの精度を高めるために、後述するコントラストAFデータ取得処理では、ライブビュー観察時および動画撮影(撮影処理)時におけるコントラストAFよりも細かく正確なコントラストAFデータを取得する。このため、コントラストAFデータ取得処理では、レンズの駆動量を安定させるためにフォーカスレンズ10aの一方向駆動を行い、さらに細かく正確なデータ取得のためにフォーカスレンズ10aを細かいピッチ(移動幅)で移動させる微小駆動を行う。一方向駆動には、レンズ駆動部11における駆動機構のバックラッシの影響がある。そこで、本実施例の位相差AFデータ取得処理では、該バックラッシによる補正誤差を低減する(望ましくは除去する)ためにフォーカスレンズ10a(つまりは駆動機構)のガタ取り駆動を行う。
まず、ステップS941では、カメラ制御部40は、レンズ制御部13を介してフォーカスレンズ10aを無限遠側から至近側への一方向に所定量だけ移動させるようにレンズ駆動部11のアクチュエータを駆動させる。これが、前述した一方向駆動に相当する。
次に、ステップS942では、カメラ制御部40は、レンズ制御部13を介してフォーカスレンズ10aを無限縁側に所定のレンズ移動量だけ移動させる。これがガタ取り駆動に相当する。ガタ取り駆動時のレンズ移動量は、交換レンズごとに(駆動機構の個体差に応じて)決定される。
次に、ステップS943では、カメラ制御部40は、カウンタnを0にリセットする。
次に、ステップS944では、カメラ制御部40は、AFセンサ22からAF枠に対応する一対の像信号を取得し、該一対の像信号の位相差を算出し、さらに該位相差から撮影光学系10のデフォーカス量DEFを算出する。また、カメラ制御部40は、前述した一致度U、相関変化量ΔV、シャープネスSHおよび明暗比PBDを取得してSレベル値SLを算出する。さらに、カメラ制御部40は、AFセンサ22のエリアセンサにおいて一対の被写体像が光電変換されて一対の像信号が生成されたときの光電変換時間を表す電荷蓄積時間Tの情報を取得する。
次に、ステップS945では、カメラ制御部40は、カウンタnを1つインクリメントする。
次に、ステップS946では、カメラ制御部40は、カウンタnが所定値(複数回数である所定回数)Nに達したか否かを判定する。カウンタnが所定回数Nに達していない場合はステップS944に戻って、引き続き位相差AFデータを取得する。カウンタnが所定回数Nに達した場合はステップS947に進む。
ステップS947では、カメラ制御部40は、N回取得した位相差AFデータの平均値を算出する。具体的には、ステップS944をN回繰り返して取得した位相差AFデータであるデフォーカス量DEFとSレベル値SLのそれぞれのN回の平均値μDEF,μSLを算出する。デフォーカス量DEFの平均値μDEFは、図12のステップS905において補正値の算出に用いられる。
次に、ステップS948では、カメラ制御部40は、ステップS947で算出したSレベル値の平均値μSLが閾値A以下か否かを判定する。平均値μSLが閾値A以下であり、信頼度が高いと判定した場合は、図12のステップS904に進み、コントラストAFデータ取得処理を行う。一方、平均値μSLが閾値Aより大きく、信頼度が低いと判定した場合は、ステップS949に進み、警告を行う。
ステップS949での警告後、カメラ制御部40は、図12のステップS902に戻り、被写体選定処理からAFキャリブレーションをやり直す。
図15には、図12のステップS904にて行われるコントラストAFデータ取得処理のフローチャートを示している。コントラストAFデータ取得処理では、ライブビュー観察時および動画撮影(撮影処理)時におけるコントラストAFよりも細かく正確なコントラストAFデータを取得する。このため、本処理では、フォーカスレンズ10aを細かいピッチ(移動幅)で移動させる微小駆動を行う。
ステップS960では、カメラ制御部40は、主ミラー20およびサブミラー21をアップ位置に退避させ、ライブビュー画像の表示を開始する。
ステップS961では、カメラ制御部40は、フォーカスレンズ10aの無限遠側への微小駆動を行わせる。この微小駆動のピッチごとにコントラストAFデータも順次取得する。コントラストAFデータの取得とともに、レンズ状態検出部12を通じてフォーカスレンズ10aの位置も検出する。
次に、ステップS962では、カメラ制御部40は、ステップS961で取得したコントラストAFデータを用いて、コントラスト合焦位置の検出が可能か否かを判定する。コントラストAFは、コントラスト評価値が最大となるフォーカス位置(ピーク位置)をコントラスト合焦位置と決定するが、ピーク位置か否かは一度、コントラスト評価値がその最大値を経て低下しないと判定できない。
そこで、本ステップでは、カメラ制御部40は、コントラスト評価値が最大値を経て低下したことをもってコントラスト合焦位置の検出が可能と判定し、ステップS965に進み、フォーカスレンズ10aの移動を停止させる。コントラスト評価値がまだ最大値を経て低下していない(増加し続けている)ときはコントラスト合焦位置の検出はまだ可能ではないと判定し、ステップS963に進む。
ステップS963では、カメラ制御部40は、コントラストAFにおける異常の有無を判定する。例えば、被写体が低コントラストであるためにコントラストAFデータの取得が困難であるときにこれを異常と判定する。このとき、カメラ制御部40は、ステップS964に進んで、背面モニタ43に警告を表示する。この後、カメラ制御部40は、ユーザにコントラストAFデータが正常に取得できる被写体を探させるために、図12のステップS902に戻り、被写体選定処理をやり直す。異常ではないと判定した場合は、カメラ制御部40は、引き続きコントラストAFデータを取得するためにステップS961に戻り、フォーカスレンズ10aの微小駆動を行う。
ステップS966では、カメラ制御部40は、ステップS961で取得したコントラストAFデータを用いて、コントラスト合焦位置Cを検出する。コントラスト合焦位置Cの算出には、評価値のピークの前後で取得したデータを用いる。このとき、ステップS903の位相差AFデータ処理内でレンズのガタ取り駆動が行われているので、ここで取得したコントラストAFデータにはガタによる誤差が排除されている。
ステップS967では、コントラスト合焦位置Cから現在のフォーカスレンズ位置までの差を、デフォーカスに変換して、コントラストのデフォーカス量C−DEFを求める。C−DEFの求め方は、実施例1の図4のS408と同様である。コントラストのデフォーカス量C−DEFを算出した後は、図12のステップS905に進み、補正値算出処理を行う。
図16には、撮影処理のフローチャートを示している。
ステップS651では、カメラ制御部40は、不図示のレリーズスイッチの半押し操作により第1スイッチ(SW1)がONになったか否かを判定する。ONになっていない場合は待機状態になり、ONになった場合はステップS652に進む。
ステップS652では、カメラ制御部40は、撮影範囲内に設けられた21個の焦点検出ラインの中から、ユーザの選択操作又は所定のアルゴリズムに従って1つの焦点検出ラインを指定する。
次に、ステップS653では、カメラ制御部40は、ステップS652で指定された焦点検出ラインが撮影範囲の中央領域に含まれる焦点検出ラインL1〜L4およびL19であるか否かを判定する。指定された焦点検出ラインが中央領域の焦点検出ラインでなければステップS654に進み、中央領域の焦点検出ラインであればステップS656に進む。
ステップS654では、カメラ制御部40は、指定された焦点検出ラインに対応するAFセンサ22のエリアセンサ上の一対の受光素子列から一対の像信号を取り込み、該一対の像信号の位相差を算出し、さらに該位相差からデフォーカス量DEFを算出する。また、指定された焦点検出ラインを特定焦点検出ラインとして決定する。
ステップS655では、カメラ制御部40は、ステップS654で取り込んだ特定各焦点検出ラインに対応する一対の像信号から、それらの一致度U、相関変化量ΔV、シャープネスSHおよび明暗比PBDを算出する。さらにこれら4つのパラメータの値を用いて、Sレベル値SLを算出する。そして、ステップS659に進む。
ステップS656では、カメラ制御部40は、撮影範囲の中央領域に含まれる各焦点検出ラインに対応するエリアセンサ上の一対の受光素子列から一対の像信号を取り込み、該一対の像信号の位相差を算出し、さらに該位相差からデフォーカス量DEFを算出する。そして、ステップS657に進む。
ステップS657では、カメラ制御部40は、ステップS656で取り込んだ各焦点検出ラインに対応する一対の像信号から、それらの一致度U、相関変化量ΔV、シャープネスSHおよび明暗比PBDを算出する。さらにこれら4つのパラメータの値を用いて、Sレベル値SLを算出する。
次に、ステップS658では、カメラ制御部40は、撮影範囲の中央領域に含まれる各焦点検出ラインのSレベル値SLのうち最も小さい値に対応する焦点検出ラインを特定焦点検出ラインとして決定する。そして、ステップS659に進む。
ステップS659では、Sレベル値SLが閾値PA以下か否かを判断する。Sレベル値SLが閾値PA以下であれば、ステップS654およびステップS656で取得した位相差AFデータは信頼度が高い(第3の信頼度)と判断できるので、そこで算出されたデフォーカス量DEFを用いて被写体への合焦駆動を行う。Sレベル値SLが閾値PAより大きければ、位相差AFデータは信頼度が低い(第4の信頼度)と判断できるので、ステップS660へ進み、非合焦の警告を行う。
なお、撮影処理が行われるときの閾値PAと、前述したAFキャリブレーション中(撮影処理が行われないとき)の位相差AFデータ取得処理で使われる閾値Aとの関係は、
PA>A
となる。つまり、撮影処理中の閾値PAに比べて、前述したAFキャリブレーション時での位相差AFデータ取得処理で用いられる閾値Aの方が低くなっており、AFキャリブレーション時にはより厳しい閾値Aが設定されている。言い換えれば、AFキャリブレーション時に求められる信頼度(第1の信頼度)が、撮影処理中に求められる信頼度(第3の信頼度)よりも高く設定されている。これは、AFキャリブレーション時の補正値算出には高い精度が要求されるので、撮影処理時よりもより厳しい閾値を設けることで、より精度の高い補正値の算出を可能とするためである。
ステップS661では、カメラ制御部40は、特定焦点検出ラインでのデフォーカス量から合焦状態を得るために必要なフォーカスレンズ10aの移動量(移動方向を含む)を算出する。具体的には、フォーカスレンズ10aを移動させるレンズ駆動部11のアクチュエータの駆動パルス数を算出する。フォーカスレンズ10aの移動量を算出することは、位相差合焦位置を算出することに相当する。
次に、ステップS662では、カメラ制御部40は、ステップS661にて算出したフォーカスレンズ10aの移動量にAFキャリブレーションにより得られた補正値を加算(又は減算)することで、該移動量を補正する。フォーカスレンズ10aの移動量を補正することは、位相差合焦位置を補正することに相当する。補正値が作成されていない場合は、補正値が0になるので、フォーカスレンズ10aの移動量(位相差合焦位置)の補正は行われない。
そして、ステップS663では、カメラ制御部40は、補正された移動量だけフォーカスレンズ10aが移動されるようにレンズ制御部13にフォーカス指令を送信する。これにより、レンズ制御部13は、レンズ駆動部11を通じてフォーカスレンズ10aを補正された位相差合焦位置に移動させる。
次に、ステップS664では、カメラ制御部40は、レリーズスイッチの全押し操作により第2スイッチ(SW2)がONになったか否かを判定する。ONになっていない場合は待機し、ONになった場合はステップS665に進む。
ステップS665では、カメラ制御部40は、撮影を行って記録用画像を生成する。
そして、ステップS666では、カメラ制御部40は、ステップS665にて生成された記録用画像を、カメラ記憶部42に保存する。
なお、本実施例においても、実施例1と同様に、コントラストAFで検出される合焦位置について、レンズを至近側から無限遠側に駆動する場合と無限遠側から至近側に駆動する場合との検出結果の差に関する情報をレンズ内に予め記憶させてもよい。また、AFキャリブレーションをレンズの駆動方向ごとに行って補正値を算出し、それぞれをカメラ記憶部42に記憶してもよい。
本実施例によれば、Sレベル値SLを用いて被写体に対する位相差AF(つまりは位相差AFデータ)の信頼度を判定することにより、位相差AFを行うのに適さない被写体を用いてAFキャリブレーションが行われることを回避できる。したがって、AFキャリブレーションに不適切な被写体を回避し、効率的に短時間でAFキャリブレーションを行うことができる。また、AFキャリブレーション時の信頼度判定に関する閾値について、撮影処理時の閾値よりも厳しい閾値が設定されるので、AFキャリブレーション時により高精度の補正値を算出することが可能となる。
次に、本発明の実施例4について説明する。本実施例のカメラシステム(デジタル一眼レフカメラおよび交換レンズ)の構成のうち、実施例1において図17に示したものと共通する構成要素には、実施例1と同符号を付して説明に代える。また、焦点検出ラインのレイアウト、AFキャリブレーション処理、コントラストAFデータ取得処理、位相差AFデータ取得処理および撮影処理はそれぞれ、実施例1中の図18、図1、図4、図5および図6に示したものと同様である。
本実施例では、図17に示した背面モニタ43が、いわゆるタッチパネル機能を備えている。また、カメラ制御部(被写体検出手段)40は、実施例1にて説明した機能に加えて、画像信号に含まれる被写体の色、形およびパターン等の被写体に関する情報(以下、被写体情報という)を検出する被写体検出機能を備えている。なお、画像信号は被写体像の撮像素子24による光電変換により得られた信号であるため、被写体情報は被写体像を用いて得られると言える。
図19のフローチャートには、本実施例における被写体選定処理(図1のステップS102)を示している。
ステップS1001では、カメラ制御部40は、図20(a)に示すように、背面モニタ43でのライブビュー画像の表示を開始する。このとき、背面モニタ43には、ライブビュー画像200に重畳してAF枠201(a)〜(i)が表示される。
ステップS1002では、ユーザによるAF枠選択が行われる。ユーザは、背面モニタ43上に設けられた指示エリア203に表示された指示に従って、AF枠(a)〜(i)のうち、AFキャリブレーションを行いたいAF枠を、背面モニタ43のタッチパネル操作あるいは不図示の操作部材の操作によって選択する。カメラ制御部40は、選択されたAF枠を、例えば図20(b)にAF枠201(b)〜(d)を太枠で表示するように、強調して表示する。AF枠の選択を終了したユーザは、背面モニタ43のタッチパネル操作あるいは不図示の決定ボタンの操作によりOKボタン202をONする。カメラ制御部40は、これに応じて次のステップ1003に進む。
なお、本実施例ではユーザによるAF枠を選択する場合について説明するが、ユーザが背面モニタ43のタッチパネル操作を通じてAFキャリブレーションを行う被写体を選択してもよい。また、ステップS1002においていずれのAF枠も選択されずにOKボタン202がONされた場合は、全てのAF枠が選択されたものとしてステップS1003に進んでもよい。
ステップS1003では、カメラ制御部40は、ステップS1002でユーザが選択したAF枠を含む領域で、コントラストAFを実行する。
ステップS1004では、カメラ制御部40は、コントラスト合焦位置が検出できたか否かを判定する。コントラスト合焦位置が検出できた場合はS1005に進む。コントラスト合焦位置が検出できなかった場合はステップS1008に進み、警告表示を行う。コントラストAFで合焦できなかった場合や、ユーザにより選択されたAF枠にAFキャリブレーション可能な被写体が存在しなかった場合は、カメラ制御部40は、背面モニタ43上に設けられた指示部203に、警告の内容とそれに対する対策を表示する。ユーザはこれに従って、ステップS1002に戻り、再度AF枠の選択からやり直す。
ステップS1005では、カメラ制御部(領域判定手段)40は、その被写体検出機能を用いた被写体判定(領域判定)を行う。ここでは、被写体情報(色、形、パターン等)から、ユーザにより選択されたAF枠に含まれる被写体が、図5の位相差AFデータ取得処理でのSレベル値SLを用いた信頼度判定(ステップS507)にて信頼度が高い被写体と判定され得る被写体か否かを判定する。具体的には、コントラストが高い被写体(黒と白等)や、垂直方向にエッジがあるような被写体(縦縞模様)は信頼度が高い(誤検出度が低い)被写体と判定される。逆に、低コントラストの被写体(赤と白等)や、コントラストがはっきりしない被写体(グラデーション等)や、斜め又は横方向にエッジがあるような垂直方向以外にエッジがある被写体は、信頼度が低い(誤検出度が高い)被写体と判定される。
また、コントラストが高く、縦方向にエッジがある被写体でも、同じ幅の縦縞模様が続くような繰り返しパターンの場合、位相差AFにて誤ったデフォーカス量を算出する場合がある。このような位相差AFにて誤ったデフォーカス量を算出する可能性がある苦手被写体も、このステップで信頼度が低い(誤検出度が高い)被写体として判定する。さらに、被写体が人の顔であったり、被写体の色追尾にて動く被写体であると認識されたりした場合は、AFキャリブレーション中に動いてしまうことが想定されるので、信頼度が低い(誤検出度が高い)被写体と判定してもよい。
被写体情報からSレベル値SLを用いた信頼度が高いと判定され得る被写体であると判定した場合は、カメラ制御部40は、該被写体に対して信頼度判定を行うと決定してステップS1006に進む。一方、被写体情報からSレベル値SLを用いた信頼度が低いと判定され得る被写体であると判定した場合は、カメラ制御部40は、該被写体に対しては信頼度判定を行わないと決定してステップS1008に進み、警告を行う。
この被写体判定を被写体選定処理にて行うことで、図1のコントラストAFデータ処理(ステップS103)を経た後に位相差AFデータ取得処理(ステップS104)にて信頼度が低いと判定されて、被写体選定処理の最初からやり直すことを回避できる。これにより、より効率的なAFキャリブレーションが可能となる。また、信頼度が高い(Sレベル値SLが第1の信頼度である)と判断される被写体であっても、位相差AFでのデフォーカス量が誤って検出されるような、デフォーカス量検出が苦手な被写体もある。本実施例では、そのような被写体が選択された場合でも、被写体認識機能により、デフォーカス量の誤検出を生じやすい被写体を除外し、AFキャリブレーションによる誤補正を防ぐことができる。
ステップS1006では、カメラ制御部40は、ステップS1005での被写体判定の結果を、図20(c)に示すように背面モニタ43に表示する。図20(c)において、AF枠201(c)は、信頼度が低い(Sレベル値SLが第2の信頼度である)と判断された被写体に含まれるAF枠であり、AFキャリブレーションを行うことができないAF枠であることを示すために薄く表示されている。一方、AF枠201(ba),201(db)は、信頼度が高い(Sレベル値SLが第1の信頼度である)と判断された被写体を含むので、AFキャリブレーション可能なAF枠として表示する。
次に、ステップS1007では、ユーザは、ステップS1006で表示されたAFキャリブレーション可能なAF枠の中から、ユーザが実際にAFキャリブレーションを行いたいAF枠を、背面モニタ43のタッチパネル操作あるいは決定ボタンの操作によって選択する。AF枠の選択を終えたユーザが背面モニタ43のタッチパネル操作あるいは操作部材の操作によってOKボタン202をONすると、カメラ制御部40は、図1のステップS103に進む。
また、別の方法として、ステップS1003で、カメラ制御部40がライブビュー画像上で最もAFキャリブレーションに適した被写体を被写体検出機能によって自動で選択し、ユーザに提示するようにしてもよい。この場合、ユーザはその被写体にAFキャリブレーションを行うAF枠を合わせるようにカメラの向きを調節すればよい。
本実施例によれば、ライブビュー画像を表示した状態で被写体選定処理により信頼度が高い被写体を事前に選定するので、位相差AFデータ取得処理まで進んだ後で信頼度が低いとの判定によるやり直しを回避できる。したがって、効率的にAFキャリブレーションを行うことができ、AFキャリブレーションに要する時間を短縮することができる。
なお、カメラ制御部40による被写体検出機能を用いた被写体判定(領域判定)は、AFキャリブレーションを行う候補のAF枠をカメラ制御部40が自動で全AF枠から選択した場合に行ってもよい。
次に、本発明の実施例5について説明する。本実施例のカメラシステム(デジタル一眼レフカメラおよび交換レンズ)の構成のうち、実施例1において図17に示したものと共通する構成要素には、実施例1と同符号を付して説明に代える。また、焦点検出ラインのレイアウトは、実施例1中の図18に示したものと同様である。また、AFキャリブレーション処理、コントラストAFデータ取得処理、位相差AFデータ取得処理および撮影処理はそれぞれ、実施例3中の図12、図14、図15および図16に示したものと同様である。
本実施例では、図17に示したAEセンサ33が、実施例1で説明した機能に加えて、被写体の色(RGB)を検出する機能を備えている。そして、カメラ制御部(被写体検出手段)40は、このAEセンサ33の色検出の結果を用いて、被写体の色、形、パターン等の被写体情報を検出する被写体検出機能を備えている。AEセンサ33は、被写体像を光電変換するものであるため、本実施例でも、被写体情報は被写体像を用いて得られると言える。
図21のフローチャートには、本実施例における被写体選定処理を示している。
ステップS1021では、ユーザは、AFキャリブレーションを行うAF枠として予め設定された所定AF枠を被写体に合わせるように、ユーザがカメラシステムの向きを調節する。所定AF枠は、ユーザが任意で設定したAF枠でもよいし、カメラ制御部40が自動で全AF枠から選択したAF枠であってもよい。
ステップS1022では、ユーザは、カメラ2に設けられた不図示のレリーズスイッチの半押し操作を行う。これに応じて、カメラ制御部40は、次のステップに進む。
ステップS1023では、カメラ制御部40は、AFセンサ22を通じて、AF枠内の被写体に対して位相差AFを行う。
そして、ステップS1024では、カメラ制御部40は、被写体に対して合焦状態が得られるようにステップS1023での位相差AFの結果に応じて、フォーカスレンズ10aをレンズ駆動部11のアクチュエータを動作させて移動させる。
ステップS1025では、カメラ制御部40は、被写体に対して合焦状態が得られたか否かを判断する。合焦状態が得られたときはステップS1026に進む。一方、合焦状態が得られなければ、カメラ制御部40は、ステップS1028へ進み、AFキャリブレーションに適した被写体を見つけるように警告を行う。警告は、TFTに警告表示を行ったり、ファインダ内に警告表示を行ったり、警告音を鳴らしたりすることで行う。警告後、カメラ制御部40は、再びステップS1021に戻り、被写体選定処理を繰り返す。
ステップS1026では、カメラ制御部40は、ステップS1023で取り込んだ各焦点検出ラインに対応する一対の像信号から、それらの一致度U、相関変化量ΔV、シャープネスSHおよび明暗比PBDを算出する。さらにこれら4つのパラメータの値を用いて、Sレベル値SLを算出する。なお、このSレベル値SLの算出方法および判定方法は、通常撮影時と同じである。このため、合焦状態にある被写体に対してのSレベル値SLは第3の信頼度以上であるといえる。
次に、ステップS1027では、カメラ制御部(信頼度判定手段および領域判定手段)40は、信頼度判定と被写体判定(領域判定)を行う。信頼度判定では、カメラ制御部40は、ステップS1026で算出されたSレベル値SLが閾値A以下か否かを判断する。信頼度が高い(Sレベル値SLが第1の信頼度である)と判断した場合は、その被写体でAFキャリブレーションが行えると暫定的に判断する。信頼度が低い(Sレベル値SLが第2の信頼度である)と判断した場合は、以下の被写体判定は行わない。
被写体判定において、カメラ制御部(誤検出度判定手段)40は、AEセンサ33による被写体の色の検出結果を用いた被写体検出機能によって、その被写体に対する位相差AFによる誤検出の可能性(つまりは位相差合焦位置の誤検出度)を判定する。すなわち、上述した信頼度判定において信頼度が高いと判定された被写体であっても、その色、形、パターン等から見ると誤ったデフォーカス量、さらには誤った位相差合焦位置を算出する可能性が高い被写体か否かを判定する。例えば、コントラストが高い被写体(黒と白等)や、垂直方向にエッジがあるような被写体(縦縞模様)は信頼度が高い(誤検出度が低い)被写体と判定される。逆に、低コントラストの被写体(赤と白等)や、コントラストがはっきりしない被写体(グラデーションなど)や、斜め又は横方向にエッジがあるような垂直方向以外にエッジがある被写体は、信頼度が低い(誤検出度が高い)被写体と判定される。
また、コントラストが高く、縦方向にエッジがある被写体でも、同じ幅の縦縞模様が続くような繰り返しパターンの場合、位相差AFにて誤ったデフォーカス量を算出する場合がある。このような位相差AFにて誤ったデフォーカス量を算出する可能性がある苦手被写体も、このステップで信頼度が低い(誤検出度が高い)被写体として判定する。さらに、被写体が人の顔であったり、被写体の色追尾にて動く被写体であると認識されたりした場合は、AFキャリブレーション中に動いてしまうことが想定されるので、信頼度が低い(誤検出度が高い)被写体と判定してもよい。
なお、コントラストAFでの合焦が可能か否かも、被写体検出機能によって判定可能である。
カメラ制御部40は、信頼度判定で信頼度が高いと判定し、かつ被写体判定(誤検出度判定)で位相差AFでの誤検出の可能性が低い(誤検出度が第1の誤検出度である)と判定した被写体は、AFキャリブレーションに適した被写体であると最終的に判断する。そして、位相差AFデータ取得処理(図12のステップS903)に進む。
一方、カメラ制御部40は、信頼度が低いと判定するか、または位相差AFでの誤検出の可能性が高い(誤検出度が第1の誤検出度より高い第2の誤検出度である)と判定した被写体は、AFキャリブレーションに適した被写体でないと判断する。そして、ステップS1028に進んで警告を行う。警告後、カメラ制御部40は、再びステップS1021に戻り、被写体選定処理を繰り返す。
本実施例によれば、被写体選定において位相差AFによる合焦動作で得られた結果を用いた信頼度判定を行うことで、より高精度な信頼度判定が可能になる。さらに、信頼度判定に加えてAEセンサを用いた被写体判定(誤検出度判定)を行うことで、位相差AFを行うのに適さない被写体を用いてAFキャリブレーションが行われることをより確実に回避できる。したがって、AFキャリブレーションに要する時間をさらに短縮することができる。
以上説明した各実施例は代表的な例にすぎず、本発明の実施に際しては、各実施例に対して種々の変形や変更が可能である。