(57)【要約】【課題】  位相差ＡＦ方式において微小な点光源に対して高精度にピント合わせすることが可能な撮像装置を提供する。【解決手段】  予め所定の被写体に対して基準となる焦点位置を記憶しておく記憶手段と、  前記記憶してある基準となる焦点位置から所定深度だけ離れた位置にフォーカスレンズを駆動してデフォーカス量を演算する手段を有する撮像装置を構成する。【選択図】  図１
2019066541.tif 000002
【特許請求の範囲】
【請求項１】
フォーカスレンズを含む撮像光学系の異なる瞳領域を通過した光束を光電変換して、一対の像信号を出力することが可能な複数の画素を有する撮像手段と、
前記像信号を取得して位相差方式の焦点検出演算を行いデフォーカス量を算出する算出手段と、
前記算出手段の算出結果に基づいて、前記フォーカスレンズの駆動を制御して焦点調節を行う制御手段と、
予め所定の被写体に対して基準となる焦点位置を記憶する記憶手段と、
を備え、
前記算出手段は、前記フォーカスレンズが前記記憶手段に記憶された基準となる焦点位置から所定深度だけ離れた位置にある状態で、焦点検出演算を行うことを特徴とする撮像装置。
【請求項２】
前記所定の被写体とは、点光源であることを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記記憶手段に記憶された基準となる焦点位置とは、無限被写体に対して合焦する位置であることを特徴とする請求項１または２に記載の撮像装置。
【請求項４】
前記所定深度だけ離れた位置とは、合焦位置が温度変化と姿勢変化によりそれぞれずれる最大深度を加算した深度、もしくはその深度に所定の重み付け係数を積算した深度であることを特徴とする請求項１乃至３のいずれか１項に記載の撮像装置。
【請求項５】
前記所定深度だけ離れた位置において算出されたデフォーカス量が、第１の所定量以上である場合は、前記基準となる焦点位置に近づく方向に第２の所定量だけ駆動させた後に、デフォーカス量の算出を行うことを特徴とする請求項１乃至４のいずれか１項に記載の撮像装置。
【請求項６】
前記所定深度だけ離れた位置において算出されたデフォーカス量が、第３の所定量未満である場合は、前記基準となる焦点位置から離れる方向に第４の所定量だけ駆動させた後に、デフォーカス量の算出を行うことを特徴とする請求項１乃至４のいずれか１項に記載の撮像装置。
【請求項７】
前記所定深度だけ離れた位置において算出されたデフォーカス量が第１の所定量以上であり再度算出したデフォーカス量が第３の所定量未満である場合、
もしくは所定深度だけ離れた位置において算出したデフォーカス量が第３の所定量未満であり再度算出したデフォーカス量が第１の所定量以上である場合、
前記基準となる焦点位置に対して逆方向に所定深度だけ離れた位置へ駆動させた後にデフォーカス量を再度算出し最初に算出したデフォーカス量と合わせて複数のデフォーカス量から最終的なデフォーカス量を算出することを特徴とする請求項５または６に記載の撮像装置。
【請求項８】
撮像装置の温度を検知する温度検知手段と、
撮像装置の姿勢を検知する姿勢検知手段と、を更に有し、
所定深度だけ離れた位置とは合焦位置が前記温度検知手段により取得した温度と、前記姿勢検知手段により取得した姿勢それぞれのずれ深度を加算した深度、もしくはその深度に所定の重み付け係数を積算した深度であることを特徴とする請求項１に記載の撮像装置。
【請求項９】
前記撮像手段から出力された撮像信号から輝度信号を算出する輝度信号算出手段と、
前記算出された輝度信号から周波数成分を抽出する評価値算出手段と、
前記撮像光学系を連続的に駆動させながら前記評価値を算出する評価値走査手段と、
前記走査手段による評価値に基づいて被写体のデフォーカス量を算出する評価値によるデフォーカス量算出手段と、を更に有し、
前記算出手段によりデフォーカス量を算出した後に、前記評価値走査手段による評価値の算出を行い、前記デフォーカス量算出手段によりデフォーカス量を算出することを特徴とする請求項１に記載の撮像装置。
【請求項１０】
前記算出手段により所定量未満のデフォーカス量が算出できた場合は、評価値走査手段によるデフォーカス量の算出を実行せず、所定量未満のデフォーカス量が算出できなかった場合に、前記評価値走査手段による評価値の算出を実行することを特徴とする請求項９に記載の撮像装置。
【請求項１１】
前記評価値走査手段による走査開始位置は、所定深度だけ離れた位置において演算されたデフォーカス量と基準となる焦点位置を用いて決定されることを特徴とする請求項９または１０に記載の撮像装置。
【請求項１２】
フォーカスレンズを含む撮像光学系の異なる瞳領域を通過した光束を光電変換して、一対の像信号を出力することが可能な複数の画素を有する撮像手段を備えた撮像装置の制御方法であって、
前記像信号を取得して位相差方式の焦点検出演算を行いデフォーカス量を算出する算出ステップと、
前記算出ステップの算出結果に基づいて、前記フォーカスレンズの駆動を制御して焦点調節を行う制御ステップと、
を備え、
前記算出ステップでは、予め記憶された基準となる焦点位置から所定深度だけ離れた位置にフォーカスレンズが位置する状態で、焦点検出演算を行うことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、焦点調節機能を有する撮像装置に関するものである。
【背景技術】
【０００２】
近年のカメラ、ビデオ等の撮像装置は高画素化しており、些細なピントずれでも目立つようになり、より高精度なピント合わせが要望されている。この要望は夜空における星に対しても同様であり、星を微小な点光源と見立てて、高輝度信号の面積が厳密に最小になるようにピント合わせを行う。尚、星空の撮影においては、撮影対象となる星はほぼ無限遠に位置する被写体に限定され、露出も星空固有の設定があるため、他のシーンモードとは独立したモードが存在する（以下、星空モードと呼ぶ）。
【０００３】
通常、ほぼ無限遠に位置する被写体にピントが合うフォーカス位置は、撮像装置それぞれの個体毎に行われる無限ピント調整において一意に決まる位置である。しかしながら、調整時の温度と実際に夜空を撮影するときに撮像装置の温度差、もしくは姿勢差により撮影中にピントがずれることがある。そのため、撮影中に撮像装置との距離がほぼ変ることのない星の撮影をしている最中であっても度々ピント合わせを行う必要がある。
【０００４】
また、星空の撮影においては、星と同様に街の光も点光源と見なすことができ、ほぼ無限遠に位置する星に対して街の光は有限遠であるため、星と街の光ではわずかながらピントの位置が異なる。先に述べた通り、星空モードもより高精度なピント合わせが要望されているため、見た目がほぼ同じである星と街の光のようなわずかなピント差でも修正することが求められる。
【０００５】
ここでピント合わせを行う代表的な手段としては、コントラストＡＦ方式と位相差ＡＦ方式がある。コントラストＡＦ方式は、撮像素子から得られた輝度信号に対して特定周波数成分をフィルタ処理で抽出した評価値を用いて自動焦点調整を行う。位相差ＡＦ方式は、撮像光学系における互いに異なる射出瞳領域を通過した被写体からの光束を一対のセンサ上に結像させ、その一対のセンサにより得られた一対の像信号の位相差から撮像光学系のデフォーカス量を算出することで自動焦点調整を行う。一般的に位相差ＡＦ方式の方がコントラストＡＦ方式と比較して自動焦点調整を行う時間は短い利点がある。
【０００６】
しかし、星のような微小な点光源はピントが合う程に面積が小さくなるため、明確な位相差が出にくくなり、ピント精度が悪化する恐れがある。そのため、微小な点光源があるシーンは位相差ＡＦ方式では苦手シーンの一つに数えられる。そこで、同一焦点検出領域内に点光源とその他の被写体が有る場合、複数の領域に分割して輝度レベルを判断することにより画面内の被写体の検出精度を上げる手法が提案されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１０−２４３８９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１では画面内に点光源とそれ以外の被写体がある場合に、点光源の影響を最小限に抑えることにより、点光源意外の被写体の検出精度を上げることができても、点光源自体の検出精度を上げることにはならない。微小な点光源は前述したように明確な位相差が出にくいため、位相差ＡＦ方式においてはピントが合っているフォーカス位置においてデフォーカス量の検出バラつき（以下信頼性と呼ぶ）が大きくなる（信頼性が低くなる）傾向にある。
【０００９】
本発明は上述した点に鑑みてなされたものであって、その目的とするところは微小な点光源に対して高精度にピント合わせすることが可能な撮像装置を提供することにある。
【課題を解決するための手段】
【００１０】
本発明の技術的特徴として、フォーカスレンズを含む撮像光学系の異なる瞳領域を通過した光束を光電変換して、一対の像信号を出力することが可能な複数の画素を有する撮像手段を備えた撮像装置の制御方法であって、前記像信号を取得して位相差方式の焦点検出演算を行いデフォーカス量を算出する算出ステップと、前記算出ステップの算出結果に基づいて、前記フォーカスレンズの駆動を制御して焦点調節を行う制御ステップと、を備え、前記算出ステップでは、予め記憶された基準となる焦点位置から所定深度だけ離れた位置にフォーカスレンズが位置する状態で、焦点検出演算を行うことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、位相差ＡＦ方式において、シーンによらず、例えば星空のような微小な点光源が存在するシーンなどでも、高精度にピント合わせをすることができる。
【図面の簡単な説明】
【００１２】
【図１】デジタルカメラのブロック図である。
【図２】焦点検出領域を示す図である。
【図３】微小な点光源を被写体とした場合の位相差ＡＦ方式における信頼性の程度を表したグラフである。
【図４】起点と離点における信頼性の程度を表した図である。
【図５】温度変化、姿勢変化、経時変化が発生した場合の起点と離点における信頼性の程度を表したイメージ図である。
【図６】焦点検出領域から得られる像信号を示す図である。
【図７】相関量波形を示す図である。
【図８】相関変化量波形を示す図である。
【図９】ピント合わせ処理を示すフローチャートである。
【図１０】離点算出処理を示すフローチャートである。
【図１１】デフォーカス量算出処理を示すフローチャートである。
【図１２】評価値走査処理を示すフローチャートである。
【図１３】ピント合わせ処理を示すフローチャートである。
【図１４】デフォーカス量算出処理を示すフローチャートである。
【図１５】焦点検出処理を示すフローチャートである。
【図１６】デフォーカス量の標準偏差推定処理を示すフローチャートである。
【図１７】像ずれ量の標準偏差とＭＡＸＤＥＲの相関を示す図である。
【図１８】使用領域の判定処理を示すフローチャートである。
【図１９】デフォーカス量の信頼性の評価処理を示すフローチャートである。
【図２０】（ａ）点光源被写体の位相差ＡＦ時のデフォーカス量を示す図である。（ｂ）（ｃ）  無限距離位置が不明な撮像装置における焦点検出処理を示す図である。
【図２１】焦点レンズとズームレンズのカム軌跡の関係を示す図である。
【図２２】（ａ）〜（ｃ）点光源被写体の位相差ＡＦ時の処理の一例を示す図である。
【図２３】点光源被写体のピント合わせの処理を示すフローチャートである。
【図２４】起点算出処理を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の一実施形態について、添付図面を参照して詳細に説明する。
【００１４】
（第１の実施形態）
図１はデジタルカメラの構成例を示すブロック図である。鏡筒１０１はその内部にレンズ群を保持してレンズ駆動を行う。ここで、本実施形態では鏡筒１０１は交換レンズユニットとするが、括り付けレンズユニットで構成してもよい。ズームレンズ１０２は焦点距離を調節することで光学的に画角を変更する。絞り及びシャッタ１０３は光量を調節する露出制御に使用する。フォーカスレンズ１０４はピント位置を調節する（焦点調節）。ズームレンズ１０２、絞り及びシャッタ１０３、フォーカスレンズは、撮像光学系である。
【００１５】
鏡筒１０１を通過した光は、ＣＣＤ（電荷結合素子）やＣＭＯＳ（相補型金属酸化膜半導体）等を用いた撮像素子１０５にて受光され、光信号から電気信号へと光電変換される。ＣＤＳ／ＡＧＣ／ＡＤコンバータ１０６は撮像素子１０５から読み出された撮像信号に対してノイズ除去処理、ゲイン調整、デジタル化を行う。ＣＤＳ／ＡＧＣ／ＡＤコンバータ１０６は撮像信号をＡＦ画素補正部１０９に、撮像面位相差ＡＦ用信号を位相差ＡＦ信号処理部１１０にそれぞれ出力する。位相差ＡＦ信号処理部１１０は、位相差方式による焦点検出処理のため、撮像光学系の異なる瞳領域を通過した光束から得られる撮像面位相差ＡＦ用の二つの像信号に基づいて相関演算を行う。そして、像ずれ量を算出する。位相差ＡＦ信号処理部１１０における像ずれ量の算出処理の詳細は後述する。
【００１６】
タイミングジェネレータ１０８はカメラ制御部１４０の指令に従い撮像素子１０５の電気信号への変換タイミングとＣＤＳ／ＡＧＣ／ＡＤコンバータ１０６の出力タイミングを制御する。画像処理回路１１１はＡＦ画素補正部１０９からの出力に対して、画素補間処理や色変換処理等を施した後、画像データとして内部メモリ１１２に送られる。表示部１１３は内部メモリ１１２に保持されている画像データとともに、撮影情報などを表示する。圧縮伸長処理部１１４は内部メモリ１１２に保存されているデータを画像フォーマットに応じて圧縮伸長を行う。
【００１７】
記憶メモリ１１５はパラメータなどの様々なデータを記憶する。操作部１１６は各種のメニュー操作、モード切り換え操作を行うユーザインタフェースである。姿勢検知部１１７は撮像装置の姿勢を検知する。温度検知部１１８は撮像装置の現在の温度を検出する。
【００１８】
カメラ制御部１４０は処理装置（ＣＰＵやＭＰＵ等）で構成され、操作部１１６によるユーザの操作に応じて内部メモリ１１２に記憶されている各種の制御プログラム、例えば自動露出制御、ズーム制御、自動合焦制御、等を行うためのプログラムを実行する。
【００１９】
絞りシャッタ駆動部１２１は絞り及びシャッタ１０３の駆動を行う。輝度信号算出部１２５は撮像素子１０５から出力された後に、ＣＤＳ／ＡＧＣ／ＡＤコンバータ１０６とＡＦ画素補正部１０９を通過した信号を被写体及び場面の輝度として算出する。露出制御部１２４は輝度信号算出部１２５により得られた輝度情報に基づいて露出値（絞り値及びシャッタ速度）の制御を行い、その演算結果を絞りシャッタ駆動部１２１へ通達する。これにより自動露出制御（ＡＥ制御）が行われる。
【００２０】
ズームレンズ駆動部１２３はズームレンズ１０２の駆動を行う。ズーム制御部１３２は操作部１１６によるズーム操作指示に従いズームレンズ位置の制御を行う。フォーカスレンズ駆動部１２２はフォーカスレンズ１０４の駆動を行う。デフォーカス量算出部１２９は位相差ＡＦ信号処理部１１０で算出された像ずれ量に基づいてデフォーカス量を算出する。フォーカス制御部１２７はデフォーカス量算出部１２９の出力結果からフォーカスレンズの駆動方向、駆動量の制御を行う。評価値算出部１２６は輝度信号算出部１２５により得られた輝度情報から周波数成分を抽出した後、コントラスト評価値として算出を行う。
【００２１】
走査制御部１２８はフォーカス制御部１２７に対して所定範囲を所定駆動量で駆動する指令を行うと同時に、所定のフォーカス位置における評価値算出部１２６の算出結果である評価値を取得することによりコントラストの形状を算出する。走査制御部１２８で算出されたコントラスト形状が頂点となるフォーカス位置が合焦位置となる。
【００２２】
デフォーカス量算出部１２９により算出されたフォーカス位置への駆動、もしくは走査制御部１２８により算出された合焦位置へ駆動することにより撮像素子１０５面上で光束が合焦する自動合焦制御（ＡＦ制御）が行われる。交換レンズ情報取得部１３４は、レンズユニット毎の光学特性情報である焦点距離、Ｆ値等の情報を取得する。
【００２３】
起点保持部１３０は無限被写体に合焦するフォーカスレンズ位置を保持する。一般的に撮像装置それぞれにおいて無限被写体に対するフォーカスレンズ位置はバラつきがあるため、個体毎に無限被写体に対してフォーカスレンズ位置を調整する。この調整された位置を起点と呼ぶことにする。しかしながら、調整されたフォーカスレンズ位置は温度変化、姿勢変化、経時変化によりずれることがある。鏡筒１０１を形成する部材は温度変化により収縮する場合があるため、内部にあるフォーカスレンズ１０４を含むユニット部も温度変化の影響を受ける。また撮像装置の姿勢が変化すると、自重によりフォーカスレンズ１０４を含むユニット部の勘合ガタが詰まる方向に移動することがある。さらに年月が経過すると稼働部のグリスが経時変化を起こす、もしくはフォーカスレンズ駆動を重ねることにより摩耗する、などがある。これらの影響により起点は無限被写体に対してピントが甘くなる現象が発生する。離点算出部１３１は起点保持部１３０で保持されている起点に対して温度変化、姿勢変化、経時変化の影響でピント位置がずれる分（離点と呼ぶ）の算出を行う。デフォーカス量算出部１２９は起点、もしくは離点算出部１３１で算出された離点において相関量の演算を実行してデフォーカス量の算出を行う。焦点検出領域設定部１３３は像ずれ量の算出を行う領域（以下焦点検出領域と呼ぶ）の数、大きさの設定を行う。輝度乖離率算出部１３５は像信号（Ａ像、Ｂ像）の輝度のピークボトムに対して、Ａ像とＢ像の輝度の離れ具合を示す乖離率の算出を行う。
【００２４】
図３は微小な点光源を被写体とした場合の、位相差ＡＦ方式における信頼性の程度を表したグラフである。
【００２５】
Ｘ軸は、被写体を任意の位置に置いたときに被写体に最もピントが合うフォーカスレンズ位置と現在のフォーカスレンズ位置の差分から算出できる撮像面位置の光学方向の差分（以下、設定デフォーカスと記す）である。Ｙ軸は任意の位置の被写体に対して取得できるデフォーカス量（以下、検出デフォーカスと記す）である。単位はそれぞれデフォーカス量を表すｍｍである。
【００２６】
Ｘ軸の設定デフォーカスは撮像画像のピントが合っているように見える最小単位（１深度）ずつふりながら複数回の相関量の演算を実行している。１深度は絞り及びシャッタ１０３における絞り値と許容錯乱円を乗算して算出することができる。実行結果が丸点であり、複数回の平均が四角点である。
【００２７】
Ｘ軸のゼロ点が合焦位置を示しているが検出されたデフォーカス量のばらつき幅は大きく、平均値も合焦を示すＹ軸のゼロ点から乖離している。即ち、Ｘ軸のゼロ点は信頼性が低いと言える。Ｘ軸のゼロ点を外れた±０．１５ｍｍ〜±０．３ｍｍでは設定デフォーカスに対する検出デフォーカスの対応があり、かつ検出されたデフォーカス量のばらつき幅は小さい。即ち、Ｘ軸のゼロ点を外れた点は信頼性が高いと言える。
【００２８】
以上により、微小な点光源のようにピントが合う程に面積が小さくなる被写体では明確な位相差が出にくくなるため合焦近傍（Ｘ軸ゼロ点近傍）では信頼性が低くなる傾向にあり、合焦近傍を外れた位置では信頼性が高くなる傾向にある。
【００２９】
図４は起点と離点における信頼性の程度を表したイメージ図である。
【００３０】
星のような無限被写体に対して調整された起点において相関量の演算を実行すると、上述したように信頼性は低くなる。そこで起点に対して所定深度幅だけ離した点（以下離点と呼ぶ）において相関量の演算を実行すると信頼性は高くなる。
【００３１】
図５は温度変化、姿勢変化、経時変化が発生した場合の起点と離点における信頼性の程度を表したイメージ図である。
【００３２】
前述したように温度変化、姿勢変化、経時変化の影響により、起点ではピントが甘くなる場合がある。図５では至近側に合焦点がずれた場合を示している。図４での説明にある通り、温度変化、姿勢変化、経時変化の影響でずれた点において相関量の演算を実行すると信頼性は低くなる。そのため、起点に対して少なくとも温度変化、姿勢変化、経時変化の影響でずれる量の倍だけずらした点（離点Ａ）で相関量の演算を実行すると信頼性は高くなる。図５では至近側にずれる場合を例としたが、無限側にずれた場合も同様でありその場合は離点Ｂで相関量の演算を実行すると信頼性は高くなる。
【００３３】
以上のように離点算出部１３１は起点保持部１３０で保持されている起点に対して温度変化、姿勢変化、経時変化の影響でずれるピント位置を加味した離点の算出を行う。デフォーカス量算出部１２９は離点算出部１３１で算出された点において相関量の演算を実行してデフォーカス量の算出を行う。ここで、位相差ＡＦ信号処理部１１０における像ずれ量の算出処理の詳細を図２および、図６〜図８を用いて説明する。
【００３４】
図２は像ずれ量の算出を行う領域（以下焦点検出領域と呼ぶ）が５×５の２５枠設定してある例を示している。上記設定された任意の枠に対して、撮像素子１０５から焦点検出用の一対の像信号（Ａ像、Ｂ像と呼ぶ）を取得する。取得した一対の信号は、信号ノイズの影響を軽減するために垂直方向に行加算平均する。
【００３５】
次に、垂直行加算平均した信号から所定の周波数帯域の信号成分を取り出すフィルタ処理を行う。続いて、フィルタ処理された信号に対して像信号間の相関量の演算を実行する（相関演算とも呼ばれる）。相関演算は垂直方向に行加算平均後の各ラインにおいてそれぞれ行われる。
【００３６】
図６（ａ）〜（ｃ）のｐ，ｑ，ｓ，ｔはそれぞれ、水平方向（ｘ軸方向）での座標を表しており、ｐとｑはそれぞれ画素領域の始点と終点、ｓとｔはそれぞれ焦点検出領域の始点と終点となる。実線６０１はフィルタ処理を行った焦点検出用の一方の像信号Ａであり、破線６０２が他方の像信号Ｂである。図６（ａ）はシフト前の像信号Ａ，Ｂを示し、（ｂ）は像信号Ａ，Ｂをプラス方向にシフト、（ｃ）は像信号Ａ，Ｂをマイナス方向にシフトした状態を示している。一対の像信号Ａ６０１，Ｂ６０２の相関量を算出する際には、像信号Ａ６０１，Ｂ６０２の両方を矢印の方向に任意の定数ビットずつシフトする。シフト後の像信号Ａ６０１，Ｂ６０２の差の絶対値の和を算出する。
【００３７】
以下、説明を簡略化するためにシフトするビット幅を１とする。シフト量をｉ、マイナス方向の最大シフト量をｐ−ｓ、プラス方向の最大シフト量をｑ−ｔ、焦点検出領域６０２の開始座標をｘ、終了座標をｙとするとき、相関量（以下ＣＯＲと記述する）は以下の式（１）により算出することができる。
【００３８】
【数１】
2019066541.tif 000003
【００３９】
ここでシフト量ｉの範囲は、ｐ−ｓ  ＜  ｉ  ＜ｑ−ｔ  である。
【００４０】
図７はシフト量とＣＯＲとの関係の例である。横軸はシフト量を、縦軸はＣＯＲを表している。図７（ａ）ではシフト量に対して変化するＣＯＲ波形７０１において極値７０２，７０３が存在している。それらの極値のうち小さいＣＯＲに対応するシフト量において一対の像信号Ａ，Ｂの一致度が最も高くなる。
【００４１】
図７（ｂ）ではＣＯＲ波形７０１の極値７０３における１シフトおきの相関量の差を相関変化量として算出している。シフト量をｉ、マイナス方向の最大シフト量をｐ−ｓ、プラス方向の最大シフト量をｑ−ｔとすると、相関変化量ΔＣＯＲは以下の式（２）により算出することができる。このとき、ｐ−ｓ＋１＜ｑ−ｔ−１の関係が成り立つ。
【００４２】
【数２】
2019066541.tif 000004
【００４３】
ここでシフト量ｉの範囲は、ｐ−ｓ  ＜  ｉ  ＜ｑ−ｔ  である。
【００４４】
図８はシフト量と相関変化量ΔＣＯＲとの関係の例である。横軸はシフト量を、縦軸は相関変化量ΔＣＯＲを表している。図８（ａ）ではシフト量に対して変化するΔＣＯＲ波形８０１において８０２，８０３の部分でプラスからマイナスに変化している。相関変化量が０となる状態をゼロクロスと呼び、一対の像信号Ａ，Ｂの一致度が最も高くなる。したがって、ゼロクロスを与えるシフト量が像ずれ量となる。
【００４５】
図８（ｂ）では図８（ａ）中の８０２を拡大表示している。８０４は相関変化量８０１の一部分である。ゼロクロスを与えるシフト量（ｋ−１＋α）は、整数部分β（＝ｋ−１）と小数部分αとに分けられる。小数部分αは図中の三角形ＡＢＣと三角形ＡＤＥとの相似の関係から、以下の式（３）により算出することができる。
【００４６】
【数３】
2019066541.tif 000005
【００４７】
整数部分βは以下の式（４）により算出することができる。
【００４８】
【数４】
2019066541.tif 000006
【００４９】
これらαとβの和から像ずれ量を算出することができる。
【００５０】
図８（ａ）に示したように相関変化量ΔＣＯＲのゼロクロスが複数存在する場合は、その付近でのｍａｘｄｅｒがより大きい方を第１のゼロクロスとする。ここでｍａｘｄｅｒは焦点検出の行い易さを示す指標であり値が大きいほど精度良い焦点検出を行い易い点であることを示す。ｍａｘｄｅｒは以下の式（５）により算出することができる。
【００５１】
【数５】
2019066541.tif 000007
【００５２】
以下の本実施例において、相関変化量ΔＣＯＲのゼロクロスが複数存在する場合は、そのｍａｘｄｅｒによって第１のゼロクロスを決定し、この第１のゼロクロスを与えるシフト量を像ずれ量とする。
【００５３】
図９はピント合わせ処理を説明したフローチャートである。
【００５４】
ステップＳ９０１はピント合わせ処理の開始を宣言する。ステップＳ９０２は初期化処理であり、撮像装置で使用する変数の初期化等の初期化処理全般を行う。ステップＳ９０３は星空モードであるか否かを判定している。ユーザが操作部１１６により撮影モードとして星空モードを選択した場合は、次のステップＳ９０４に進み起点保持部１３０により保持されている無限被写体に合焦する位置へフォーカスレンズ１０４を駆動する。
【００５５】
ステップＳ９０５はユーザが操作部１１６により星空モードにおけるピント合わせを実行したか否かを判定する。前述したように個体毎に調整された起点は温度変化、姿勢変化、経時変化によりずれることがある。そのため、撮像装置との距離がほぼ変ることのない星の撮影をしている最中であっても度々ユーザは星に対してピント合わせを実行することがある。
【００５６】
ピント合わせが実行されない場合は、ピント合わせが実行されるまで監視を続ける。ピント合わせが実行された場合は、次のステップＳ９０６で前回状態変数をクリアする。ここで状態変数とは、以降で説明する離点において算出されたデフォーカス量が所定値と比較して大きいか小さいかの状態を格納しておく変数である。
【００５７】
デフォーカス量が所望の量になるまで追い込んだ場合に、前回の状態を使用するため状態変数の前回状態を保持しておくのが前回状態変数である。
【００５８】
ステップＳ９０７は離点算出部１３１により離点算出処理を行う。離点算出処理の詳細を図１０のフローチャートを参照して説明する。
【００５９】
ステップＳ１００１は離点算出処理の開始を宣言する。ステップＳ１００２は姿勢検知部１１７により現在の撮像装置の姿勢を取得する。撮像装置の姿勢が変化すると、自重によりフォーカスレンズ１０４を含むユニット部の勘合ガタが詰まる方向に移動することがあるため、無限被写体に合焦する位置も変化する場合がある。
【００６０】
ステップＳ１００３は温度検知部１１８により現在の撮像装置の温度を取得する。撮像装置の温度が変化すると、鏡筒１０１を形成する部材は温度変化により収縮する場合があるため、内部にあるフォーカスレンズ１０４を含むユニット部も温度変化の影響を受けて無限被写体に合焦する位置も変化する場合がある。
【００６１】
なお、姿勢検知部１１７と温度検知部１１８がない構成の場合、無限被写体に合焦する位置が姿勢変化と温度変化によりずれる最大深度にマージンを持たせた値を予め内部メモリ１１２に記憶しておいてもよい。例としてその最大深度の２倍の値を離点とすることができる。
【００６２】
ここでの２倍の値は鏡筒の構成、部品の特性、光学特性で決まる値であり予め決められたパラメータである。
【００６３】
ステップＳ１００４とＳ１００６は今回状態変数がＵＰかＤＯＷＮかそれ以外（まだ一度も離点において算出されたデフォーカス量を所定値と比較していない）か判定する。最初の離点におけるデフォーカス量の算出である場合は、ステップＳ１０１４に進み最初の離点を算出する。
【００６４】
なお、上述のように検出された姿勢と温度それぞれからずれる深度に換算し、その和に対して経時変化分を見込んだ重み付け係数を積算した値を離点としてよい。また、姿勢と温度でずれる最大深度に換算し、その和に対して経時変化分を見込んだ重み付け係数を積算した値を離点としてもよい。
【００６５】
姿勢検知部１１７と温度検知部１１８で検出した離点の方が所望のデフォーカス量に追い込む時間が速くなる（もしくは既に追い込まれている場合もありうる）。姿勢検知部１１７と温度検知部１１８がなくとも、ずれの最大深度を使用することにより所望のデフォーカス量に追い込むことはできる。ステップＳ１０１５で離点算出処理は終了である。
【００６６】
図９に戻りステップＳ９０８はステップＳ９０７で算出された離点へフォーカスレンズ１０４を駆動する。ステップＳ９０９はデフォーカス量算出処理である。
【００６７】
デフォーカス量算出処理の詳細を図１１のフローチャートを参照して説明する。ステップＳ１１０１はデフォーカス量算出処理の開始を宣言する。ステップＳ１１０２は焦点検出領域設定を行う。例として図２では星空モードにおける星を検出する領域として５×５の２５枠を設定している。この枠数は１枠でもよいし、枠数と大きさも画面内に収まる範囲であれば任意で構わない。
【００６８】
ステップＳ１１０３はステップＳ１１０２で設定された任意の枠に対して撮像素子１０５から焦点検出用の一対のＡ像、Ｂ像データを取得する。ステップＳ１１０４はステップＳ１１０３で取得されたＡ像、Ｂ像データを垂直方向に行加算平均処理をしており信号ノイズの影響を軽減している。ステップＳ１１０５はステップＳ１１０４で平均処理したＡ像、Ｂ像データから所定の周波数帯域の成分を取り出すフィルタ処理である。
【００６９】
ステップＳ１１０６はステップＳ１１０５でフィルタ処理されたデータに対して像信号間の相関演算を実行する。この相関演算はステップＳ１１０４において行われた行加算平均処理後の各ラインにおいてそれぞれ行われる。ステップＳ１１０７はステップＳ１１０６の相関演算結果である相関量ＣＯＲの加算を行う。ステップＳ１１０８はステップＳ１１０７により算出された相関量ＣＯＲの１シフトおきの差を相関変化量ΔＣＯＲとして算出している。ステップＳ１１０９はステップＳ１１０８により算出された相関変化量ΔＣＯＲの符号が変化するゼロクロスを算出し、このゼロクロスを与えるシフト量、即ち像ずれ量を算出している。
【００７０】
ステップＳ１１１０はステップＳ１１０８により算出されたゼロクロスが少なくとも１つは存在するか否かを判定している。ゼロクロスが１つも存在しない場合は、ステップＳ１１１４によりデフォーカス量が存在しないことを示すＮＵＬＬを設定する。ゼロクロスが少なくとも１つは存在する場合は、ステップＳ１１１１によりゼロクロスが複数存在するか否かを判定している。ゼロクロスが２つ以上の複数存在する場合は、ステップＳ１１１２により焦点検出の行い易さを示す指標であるｍａｘｄｅｒが最大となるデフォーカス量を算出する。ゼロクロスが１つだけ存在する場合はそのゼロクロスに対するデフォーカス量を算出する。ステップＳ１１１５でデフォーカス量算出処理は終了である。
【００７１】
図９に戻りステップＳ９１０はステップＳ９０９で算出されたデフォーカス量を第１所定量と比較する。デフォーカス量が第１所定量以上である場合は、ステップＳ９１１により今回状態変数にＵＰを設定する。その後再びステップＳ９０７の離点算出処理を行う。
【００７２】
デフォーカス量が第１所定量未満である場合は、ステップＳ９１２によりデフォーカス量を第３所定量と比較する。デフォーカス量が第３所定量未満である場合は、ステップＳ９１３により今回状態変数にＤＯＷＮを設定する。その後再びステップＳ９０７の離点算出処理を行う。
【００７３】
図１０に戻りステップＳ１００１〜Ｓ１００３は先に説明したため省略する。ステップＳ１００４は今回状態変数がＵＰか否かを判定する。今回状態変数がＵＰである場合はステップＳ１００５により前回状態変数がクリアかＵＰであるかを判定している。ここで前回状態変数がクリアであるとは、今回が２回目の離点算出処理であることを意味している。前回状態変数がクリアもしくはＵＰの場合はステップＳ１００８により第２所定量を算出する。第２所定量は前回算出した離点が起点から離れすぎたため、段階的に起点に近付けるための値である。第２所定量は第１所定量とデフォーカス量との差分であってもよいし、鏡筒の構成、部品の特性、光学特性により予め決められたパラメータであってもよい。ステップＳ１０１１はステップＳ１００８により算出された第２所定量だけ起点に近付けた離点を算出する。ステップＳ１００５で前回状態変数がＵＰであり今回状態変数がＤＯＷＮである場合は、離点は起点を挟んで逆方向として再計算する。
【００７４】
図５を例とすると、離点Ａを段階的に起点に近付けながらデフォーカス量を計算していたところデフォーカス量のばらつき幅が大きい領域に踏み込んだと想定されるため、起点を挟んで逆方向にある離点Ｂを用いてデフォーカス量を計算するイメージである。ステップＳ１００４において今回状態変数がＵＰでない場合、ステップＳ１００６により今回状態変数がＤＯＷＮか否かを判定する。今回状態変数がＤＯＷＮである場合はステップＳ１００７により前回状態変数がクリアかＤＯＷＮであるかを判定している。ここで前回状態変数がクリアであるとは、今回が２回目の離点算出処理であることを意味している。前回状態変数がクリアもしくはＤＯＷＮの場合はステップＳ１０１０により第４所定量を算出する。第４所定量は前回算出した離点が起点に近付きすぎたため、段階的に起点から離すための値である。第４所定量は第３所定量とデフォーカス量との差分であってもよいし、鏡筒の構成、部品の特性、光学特性により予め決められたパラメータであってもよい。
【００７５】
ステップＳ１０１２はステップＳ１０１０により算出された第４所定量だけ起点から離れた離点を算出する。ステップＳ１００７で前回状態変数がＤＯＷＮであり今回状態変数がＵＰである場合は、離点は起点を挟んで逆方向として再計算する。図５を例とすると、離点Ｂを段階的に起点から離しながらデフォーカス量を計算していたところデフォーカス量のばらつき幅が大きい領域に踏み込んだと想定されるため、起点を挟んで逆方向にある離点Ａを用いてデフォーカス量を計算している。ステップＳ１０１３は今回状態変数を前回状態変数に保存する。図９に戻りステップＳ９０８はステップＳ９０７で再算出された離点へフォーカスレンズ１０４を駆動する。
【００７６】
ステップＳ９０９でデフォーカス量を再度算出する。算出されたデフォーカス量が第１所定量未満かつ第３所定量以上である場合、もしくはＮＵＬＬである場合はステップＳ９１４により今回状態変数をクリアする。ステップＳ９１５は評価値走査処理である。
【００７７】
評価値走査処理の詳細を図１２のフローチャートを参照して説明する。なお、評価値走査を行う部分がない場合、先に算出されたデフォーカス量がＮＵＬＬの場合は星が検出できなかったことをユーザに通知する。
【００７８】
ステップＳ１２０１は評価値走査処理の開始を宣言する。ステップＳ１２０２はデフォーカス量がＮＵＬＬであるか否かを判定している。デフォーカス量がＮＵＬＬである場合はステップＳ１２０３により最終的に使用した離点を使用して走査開始位置の算出を行う。先のデフォーカス量算出の際に離点を振っている結果がハンチングを起こしている可能性がある。そのため、最終的に使用した離点、もしくは起点から離点までの深度に所定の重み付けをした深度まで離した点を走査の開始点とする。
【００７９】
ステップＳ１２０４はフォーカスレンズ１０４をステップＳ１２０３で算出した走査開始位置へ移動する。ステップＳ１２０５は評価値算出部１２６と走査制御部１２８による評価値取得ループ開始である。ステップＳ１２０８は評価値の取得ループ終了であり、その間の処理を繰り返し実行する。ステップＳ１２０６は走査範囲内を所定の間隔毎にフォーカスレンズ１０４の移動を行う。ステップＳ１２０７はフォーカスレンズ１０４を連続的に駆動させると同時に各点における評価値の取得を行う。
【００８０】
ステップＳ１２０９は評価値取得ループで得られた評価値形状から最もコントラストの高い合焦点を算出する。ステップＳ１２１０はステップＳ１２０９で算出した合焦点からデフォーカス量を算出する。ステップＳ１２０２の判定においてデフォーカス量がＮＵＬＬでない場合は、その値をデフォーカス量として適用する。ステップＳ１２１１は評価値走査処理の終了を宣言する。
【００８１】
図９に戻りステップＳ９１６はステップＳ９０９、もしくはステップＳ９１５で算出されたデフォーカス量、即ち合焦点へフォーカスレンズ１０４を駆動する。ステップＳ９１７はピント合わせ処理の終了である。
【００８２】
以上説明したように本実施形態では、調整無限のような基準となる焦点位置を起点として、遠側方向と近側方向に所定深度だけ離れた点（離点）で焦点検出を行い相関量ＣＯＲを演算する。これにより、信頼性の高い（バラツキの少ない）デフォーカス量を算出できるので、微小な点光源に対して高精度にピント合わせすることができる。
【００８３】
（第２の実施形態）
本実施形態では、撮像面の広範囲の領域を複数の小さな領域に分割し、星が存在する領域を抽出して、抽出した領域の相関演算結果から最終的なデフォーカス量とデフォーカス量の信頼性を算出している。なお、デジタルカメラの構成や位相差ＡＦ方式のデフォーカス量の算出方法などは第１の実施形態と同様であるため説明を省略する。
【００８４】
以下に、本実施形態の処理方法についてフローチャートを用いて説明する。
【００８５】
図１３はピント合わせの全体の処理フローである。
【００８６】
まず、ステップＳ１３０１でピント合わせ処理を開始しステップＳ１３０２で初期化処理を行う。初期化処理では、撮像素子１０５の個体情報や絞り及びシャッタ１０３における絞り情報に基づいて、相関演算によって算出した像ずれ量をデフォーカス量に変換する変換係数を設定する。続いてステップＳ１３０３に進み、ユーザが星空モードを設定していない場合はステップＳ１３０７に進みピント合わせ処理を終了する。ステップＳ１３０３で星空モードを設定している場合はＳ９０４に進みデフォーカス量を算出する。デフォーカス量の算出方法に関する詳細は後述する。ステップＳ１３０５ではステップＳ１３０４で算出したデフォーカス量が閾値よりも大きいかどうかを判定する。Ｓ９０５でデフォーカス量が閾値よりも大きい場合は、ステップＳ１３０６に進みデフォーカス量に基づいてフォーカスレンズを駆動する。フォーカスレンズを駆動させた後は再度ステップＳ１３０４に進みデフォーカス量を算出して、デフォーカス量が閾値以下になるまで繰り返す。ステップＳ１３０５でデフォーカス量が閾値以下の場合はステップＳ１３０７に進みピント合わせ処理を終了する。
【００８７】
次に図１４を用いてステップＳ１３０４のデフォーカス量算出方法について述べる。なお、ここで述べるデフォーカス量とは最終的にフォーカスレンズを駆動させるために使用するデフォーカス量であり、撮像面の複数の領域におけるデフォーカス量を統合して求め出した数値である。
【００８８】
ステップＳ１４０１でデフォーカス量算出を開始し、ステップＳ１４０２からステップＳ１４０７にかけて焦点検出演算を繰り返し行う。ステップＳ１４０２からステップＳ１４０７までの処理は設定した焦点検出領域の分割数繰り返す。本実施形態では図２に示すように５×５の２５枠設定するため、焦点検出の処理を２５回繰り返す。ステップＳ１４０３では２５個の領域のうちｉ番目の領域（以下、焦点検出領域［ｉ］と記す）のデータを読み出す。ステップＳ１４０４ではステップＳ１４０３で取得した焦点検出領域［ｉ］のデータに対して焦点検出処理を行う。焦点検出処理のフローについては後述する。次にステップＳ１４０４で取得した情報に基づいてステップＳ１４０５で焦点検出領域［ｉ］のデフォーカス量の標準偏差を推定する。デフォーカス量の標準偏差はデフォーカス量の信頼性を評価したり、星が存在する領域を選択する評価値として使用したりする。ステップＳ１４０５におけるデフォーカス量の標準偏差の推定方法に関する詳細は後述する。次にステップＳ１４０４からステップＳ１４０５で取得した情報に基づいてステップＳ１４０６で使用領域を判定する。ここで、使用領域とは星空における星が存在する領域であり、使用領域の判定は本実施形態における重要な処理である。星が存在する領域のみを判定する理由は以下の通りである。まず、星空は信号量が小さいため大きなゲインを掛けて信号量を増やす必要があり、その結果ノイズ成分が大きくなってしまう。また、星は小さな被写体であるため、相関演算を行う際により高精度にデフォーカス量を算出するために高周波のフィルタを掛けている。そのため高周波のノイズ成分を拾いやすくなる。特に被写体が存在しない領域では、Ａ像とＢ像のノイズ相関によって算出されたデフォーカス量が出力される可能性が高くなる。以上より、先述したように星が存在する領域を選定する必要がある。使用領域の判定方法に関する詳細は後述する。
【００８９】
ステップＳ１４０２からステップＳ１４０７までの処理を２５回行った後、繰り返し処理を抜けてステップＳ１４０８に進む。２５回中少なくとも１つ以上の焦点検出領域でゼロクロスを検出できた場合はステップＳ１４０９に進み、１つも検出できなかった場合はデフォーカス量を検出できなかったとしてステップＳ１４１４に進み処理を終了する。ステップＳ１４０９では使用領域が少なくとも一つ以上存在するか判定する。もし１つも存在しない場合は、ステップＳ１４１０に進み、ステップＳ１４０５で算出したデフォーカス量の標準偏差が最小の焦点検出領域を使用領域としステップＳ１４１２に進む。ステップＳ１４０９で使用領域が１つ以上存在する場合はステップＳ１４１１に進む。ステップＳ１４１１ではステップＳ１４０６で使用領域と判定された焦点検出領域同士を比較し、条件を満たさない焦点検出領域を使用領域から除外する。具体的には、ステップＳ１４０６で使用領域と判定されたＮ１個の焦点検出領域におけるデフォーカス量のうち、以下の判定式（６）に基づいて大きく離れているデフォーカス量を出力した焦点検出領域を除外する。
【００９０】
【数６】
2019066541.tif 000008
【００９１】
σＤｅｆはステップＳ１４０６で使用領域と判定されたＮ１個の焦点検出領域におけるデフォーカス量の標準偏差であり、Ｄｅｆｏｃｕｓ［ｊ］はＮ１個の焦点検出領域におけるデフォーカス量のうちｊ番目の焦点検出領域のデフォーカス量である。なお、ステップＳ１４１１の除外判定は式（６）のようにデフォーカス量の判定に限定せず、演算に使用した他の評価値を用いて除外判定を行っても良い。
【００９２】
ステップＳ１４１２ではステップＳ１４１１までの処理によって抽出した使用領域におけるデフォーカス量に基づいて、撮像面の広域範囲におけるデフォーカス量を算出する。広域範囲におけるデフォーカス量は使用領域におけるデフォーカス量の加算平均値とする。以下、ステップＳ１４１２で算出したデフォーカス量を広域平均デフォーカス量と記す。ここで、星はほぼ無限遠に位置し、フォーカスレンズを正しい位置に駆動すればどの星にもピントが合うということを前提としている。したがって使用領域のデフォーカス量を加算平均することができる。この時、広域デフォーカス量は単純に加算平均するのではなく、各焦点検出領域の信頼性や焦点検出領域の像高に応じて重みづけを行い、より信頼できる焦点検出領域のデフォーカス量を強調して最終的なデフォーカス量を算出しても良い。像高に応じて重みづけを行う場合は、中央に近いほど光学的な制約が無くなるため重みを大きくする。逆に中央から離れると歪みなどの影響も受け信頼度が下がると考えられるため重みを軽くする。次にステップＳ１４１３ではステップＳ１４１２で算出した広域平均デフォーカス量の信頼性を評価する。信頼性の評価方法は後述する。そしてステップＳ１４１４でデフォーカス量の算出が終了となる。
【００９３】
ステップＳ１３０４で算出したデフォーカス量とデフォーカス量の信頼性に応じてステップＳ１３０６では駆動量を調節している。例えば、デフォーカス量の信頼性が高い場合は、算出したデフォーカス量をそのままフォーカスレンズ駆動量に変換して駆動させる。逆にデフォーカス量の信頼性が低い場合は算出したデフォーカス量に負のゲインを乗算して、フォーカスレンズ駆動量に変換して駆動させる。
【００９４】
続いて分割した各焦点検出領域の焦点検出処理ステップＳ１４０４の方法について図１５を使って説明する。ステップＳ１５０１で処理を開始し、ステップＳ１５０２で取得した焦点検出領域内の像データ（Ａ像、Ｂ像）をステップＳ１５０３で垂直方向に加算平均する。ステップＳ１５０４では垂直加算平均後の波形データのＰｅａｋ（最大値）とＢｏｔｔｏｍ（最小値）の差分であるＰｅａｋＢｏｔｔｏｍを算出する。ＰｅａｋＢｏｔｔｏｍはステップＳ１５０６の使用領域の判定用の評価値として使用する。次にステップＳ１５０５では垂直加算平均後のデータに高周波のフィルタ処理を施し波形データから高域成分を抽出する。そしてステップＳ１５０６で像信号Ａと像信号Ｂの相関量ＣＯＲを算出する。算出方法については図６から図８を用いて説明した通りである。ステップＳ１５０７では相関量ＣＯＲに基づいて相関変化量を算出し、ステップＳ１５０８で相関量ＣＯＲと相関変化量からＭＡＸＤＥＲと像ずれ量を算出する。ステップＳ１５０９では像ずれ量に所定の換算係数を乗算してデフォーカス量を算出しステップＳ１５１０で処理が終了となる。
【００９５】
次に分割した各焦点検出領域のデフォーカス量の標準偏差の推定ステップＳ１４０５の方法について図１６と図１７を用いて説明する。まず図１７（ａ）に示すように像ずれ量の標準偏差とＭＡＸＤＥＲの間には負の相関があることがわかっている。しかし、相関度が低いため、ＭＡＸＤＥＲから像ずれ量の標準偏差を推定する精度は低い。そこで、図１６のステップＳ１６０１で処理を開始した後、ステップＳ１６０２においてＭＡＸＤＥＲの正規化を行う。ＭＡＸＤＥＲの正規化は、相関演算の際に使用するフィルタの周波数帯域、ＣＤＳ／ＡＧＣ／ＡＤコンバータ１０６で行うゲイン調整のパラメータ、ステップＳ１６０３の垂直加算行数、被写体のコントラストに応じて処理する。被写体のコントラストはステップＳ１５０４で算出したＰｅａｋＢｏｔｔｏｍをＰｅａｋ値で除算して算出する。ここで正規化を行うことで図１７（ｂ）のように像ずれ量の標準偏差とＭＡＸＤＥＲの相関係数が高くできる。次にステップＳ１６０３で正規化ＭＡＸＤＥＲが閾値を下回っている場合はステップＳ１６０５に進みデフォーカス量の標準偏差をＮＵＬＬとする。その理由は図１７（ｂ）の境界αより大きい範囲では像ずれ量の標準偏差と正規化ＭＡＸＤＥＲの間に相関が見られないためである。正規化ＭＡＸＤＥＲが閾値以下の範囲を使用しないことで境界αより大きい範囲を使用しないようにすることができる。ステップＳ１６０５に進むとデフォーカス量の標準偏差を算出不可としてステップＳ１６０７に進み処理を終了とする。ステップＳ１６０３で正規化ＭＡＸＤＥＲが閾値を超えた場合は、予め準備してある図１７（ｂ）のプロット点の近似式に基づいてステップＳ１６０４において正規化ＭＡＸＤＥＲから像ずれ量の標準偏差を推定する。そしてステップＳ１５０９でデフォーカス量を算出する際に使用した換算係数と同じパラメータを像ずれ量の標準偏差に乗算することにより、ステップＳ１６０６でデフォーカス量の標準偏差を算出する。そしてステップＳ１６０７で処理を終了とする。
【００９６】
次に図１８を用いてステップＳ１４０６における使用領域の判定方法について説明する。ステップＳ１８０１で処理を開始し、ステップＳ１８０２からステップＳ１８０４において判定処理を行う。ステップＳ１８０２では、相関変化量が０となるゼロクロスを検出したかどうかを判定する。ゼロクロスを検出できない場合は像ずれ量を算出できないのでステップＳ１８０６に進み、該焦点検出領域を使用領域としない。ステップＳ１８０３では、ステップＳ１５０４で算出したＰｅａｋＢｏｔｔｏｍが閾値を超えたかどうかを判定する。ＰｅａｋＢｏｔｔｏｍが閾値よりも小さい領域は該焦点検出領域内に星が存在しない、もしくは相関演算をするための十分な明るさが足りないと見なしてステップＳ１８０６に進む。次にステップＳ１８０４ではステップＳ１４０５で推定したデフォーカス量の標準偏差が閾値以下であるかどうかを判定する。閾値よりも大きい場合は、該焦点検出領域のデフォーカス量のばらつきが大きくデフォーカス量の信頼性が低いと見なしてステップＳ１８０６に進む。ステップＳ１８０２からステップＳ１８０４の条件をすべて満たすとステップＳ１８０５に進み該焦点検出領域を使用領域とすることができる。なお、使用領域の判定はステップＳ１８０２からステップＳ１８０４に限定せずに、像ずれ量からデフォーカス量を算出する変換係数や相関演算に使用した評価値を使用して判定しても良い。最後にステップＳ１８０７に進み処理を終了とする。
【００９７】
次にステップＳ１４１３の広域平均デフォーカス量の信頼性の評価方法について図１９を用いて説明する。本実施形態ではデフォーカスの信頼性を４段階で表現し、それぞれ信頼性ＮＧ（信頼性１）、デフォーカスの方向ＯＫ（信頼性２）、デフォーカス量ＯＫ（信頼性３）、合焦ＯＫ（信頼性４）とする。なお、フォーカスレンズの駆動方法やモードに応じて信頼性の段数は変更しても良い。ステップＳ１９０１で処理を開始した後、ステップＳ１９０２で式（７）に基づき広域領域におけるデフォーカス量の標準偏差ＷｉｄｅＤｅｆｏｃｕｓσを算出する。
【００９８】
【数７】
2019066541.tif 000009
【００９９】
Ｎ２はステップＳ１４１１で抽出した使用領域の個数で、Ｄｅｆｏｃｕｓσ［ｋ］はＮ２個の焦点検出領域の中のｋ番目の焦点検出領域におけるデフォーカス量の標準偏差である。また、最後に１／√Ｎ２を乗算する理由は、加算領域の個数の平方根に応じてＳ／Ｎ比が良くなるためである。次にステップＳ１９０３ではステップＳ１４１２で算出した広域のデフォーカス量が閾値以下にあるかどうかを判定する。この閾値は非常に大きい値を設定しておき、星空撮影において星以外の被写体にピントが合ってしまうことを除外するために処理する。ステップＳ１９０３で閾値を超えた場合はステップＳ１９０４に進みデフォーカスの信頼性を信頼性１とする。ステップＳ１９０３で広域平均デフォーカス量が閾値以下である場合は、ステップＳ１９０５以降でステップＳ１９０２において算出した広域のデフォーカス量の標準偏差の大きさに応じて信頼性を決定する。ステップＳ１９０５で広域のデフォーカス量の標準偏差がＴＨＲＥＳＨＯＬＤ１より大きい場合はステップＳ１９０４に進み信頼性１となり、ＴＨＲＥＳＨＯＬＤ１以下ならステップＳ１９０６に進む。ステップＳ１９０６で広域のデフォーカス量の標準偏差がＴＨＲＥＳＨＯＬＤ２より大きい場合はステップＳ１９０７に進み信頼性を信頼性２とし、ＴＨＲＥＳＨＯＬＤ２以下の場合はステップＳ１９０８に進む。ステップＳ１９０８で広域のデフォーカス量の標準偏差がＴＨＲＥＳＨＯＬＤ３より大きい場合はステップＳ１９０９に進み信頼性を信頼性３とし、ＴＨＲＥＳＨＯＬＤ２以下の場合はステップＳ１９１０に進んで信頼性４とする。以上の方法でデフォーカス量の信頼性を評価しステップＳ１９１１で処理を終了とする。
【０１００】
以上説明したように本実施形態では星空に対して撮像面上に複数の領域を設定し、信用できる領域のみを使用してデフォーカス量とデフォーカス量の信頼性を算出する。このように算出することで、低輝度で小さい星に対しても高精度にデフォーカス量を算出することができる。
【０１０１】
（第３の実施形態）
図２０（ａ）は無限距離にある暗い点光源を被写体として像面位相差方式の焦点検出部によってデフォーカス量を検出した場合の特性を説明する図である。
【０１０２】
縦軸は式（２）で表わされる相関変化量ΔＣＯＲであり、横軸はフォーカスレンズの位置とする。このとき、フォーカス位置と相関変化量ΔＣＯＲ値の関係には線形性を備え、横軸とゼロクロスする点が合焦位置となることを示す。図２０（ａ）の場合、横軸とのゼロクロス点は無限距離となる。しかし、被写体が暗い点光源の場合、フォーカスレンズが合焦位置から大きく外れてしまうと、ボケが大きく広がって背景に埋もれてしまうため、フォーカス位置と相関変化量ΔＣＯＲ値の関係に線形性を失い、デフォーカス量を算出できなくなる。
【０１０３】
一方、ゼロクロス点を含むその近傍付近では、暗い点光源は撮像面上で最も像面積が小さくなり、点像を構成する画素数も少なくなる。そのためＡ像Ｂ像の相関演算を行っても、明確な位相差が出にくくなってしまい、算出したデフォーカス量もばらつき誤差が大きくて精度が低くなる傾向にある。つまり、暗い点光源の被写体に対して撮像面位相差方式で高精度にＡＦを行う場合は、ゼロクロス点を含むその近傍付近のフォーカスレンズ位置を除いたデフォーカス量が算出可能なフォーカスレンズ位置の範囲で焦点検出を行うことが必要となる。以下ではこのフォーカスレンズ位置の範囲を無限焦点検出可能範囲と呼ぶ。
【０１０４】
ここで、フォーカスレンズの無限位置は相関変化量ΔＣＯＲ値がゼロクロスする点の近傍位置となることは自明である。そのため、予めフォーカスレンズの無限位置の情報が取得出来れば、この無限位置を基準として無限焦点検出可能範囲にフォーカスレンズを移動して焦点検出を行うことが容易となる。
【０１０５】
図２０（ｂ）はフォーカスレンズの無限位置が取得可能な撮像装置において、暗い点光源の合焦位置を検出するための一例を説明する図である。ここでは、取得した無限位置を起点とし、そこから無限焦点検出可能範囲に所定距離離れた離点位置を設定することが出来る。
【０１０６】
よって、適切な離点位置でデフォーカス量を算出することで、高精度にフォーカスレンズの無限位置を検出することが出来る。
【０１０７】
しかしながら、フォーカスレンズの無限位置を取得出来ない撮像装置の場合は、暗い点光源の被写体でデフォーカス量が取得出来るフォーカス位置を探索する必要があり、焦点検出時間が延びたり、焦点検出の精度が低くなったりするなどの問題があった。
【０１０８】
そこで、本実施形態ではフォーカスレンズの無限位置を取得出来ない撮像装置であっても、焦点検出時間を短縮すると共に、高精度にフォーカスレンズの無限位置を検出する方法を提案するものであり、その内容について以下に説明していく。
【０１０９】
図２０（ｃ）はフォーカスレンズの無限位置が不明な場合に、暗い点光源の合焦位置を検出するための一例を説明する図である。まず、フォーカスレンズの無限距離方向の制御端までフォーカスレンズ移動する。そして、制御端の位置でデフォーカス量を算出し、仮の無限位置を検出する。ここで説明するフォーカスレンズの無限距離方向の制御端とは物理的なメカ部材で決定される可動端の場合もあれば、ソフトウェアで駆動可能な範囲を制限した位置の場合を含むものである。
【０１１０】
この仮無限位置を図２０（ｂ）で説明した起点として扱い、フォーカスレンズを起点位置まで移動し、そこから無限焦点検出可能範囲に所定距離離れた離点位置を設定したのち、フォーカスレンズを離点位置に移動してデフォーカス量を算出する。
【０１１１】
これによって、適切な離点位置でデフォーカス量を算出することが可能となり、高精度にフォーカスレンズの無限位置を検出することが出来る。
【０１１２】
次に、暗い点光源を被写体として像面位相差方式の焦点検出によってフォーカスレンズの無限位置を検出した後でズーム操作した場合、再度同一被写体に対して焦点検出を行うときの処理を説明する。
【０１１３】
図２１はズームレンズのフォーカスカムデータの一例を示した図である。
【０１１４】
ここでは、フォーカスレンズの無限制限端より至近寄り方向に移動した位置にＷＩＤＥ時の無限位置がある場合を示している。そしてズームをＷＩＤＥから徐々にＴＥＬＥ方向に移動するとフォーカスレンズもこのＷＩＤＥの無限位置からカムデータ上を追跡するように合焦状態を保ちながらズーム位置に応じて移動する。ここで、フォーカスレンズのカムデータはメカ構造的にズームと連動して移動するものでも良いし、ソフト的にズームの位置に連動させてフォーカスレンズの位置を制御するものでも構わない。一度暗い点光源の被写体に対して焦点検出した後、ズーム操作後に再び同一被写体に対して焦点検出を行う場合には、図２２（ａ）に示すようにカムデータ上をズーム連動して移動したフォーカスレンズ位置を図２０（ｂ）で説明した起点として扱う。そして、フォーカスレンズを起点位置まで移動し、そこから無限焦点検出可能範囲に所定距離離れた離点位置を設定したのち、フォーカスレンズを離点位置に移動してデフォーカス量を算出すればよい。
【０１１５】
また、暗い点光源を被写体として像面位相差方式によってフォーカスレンズの無限位置を検出した後で、再度繰り返し同一被写体に対して焦点検出を行うときの処理を、図２２（ｂ）を用いて説明する。
【０１１６】
暗い点光源の被写体に対して焦点検出した後、焦点検出結果に対して期待通りで無い場合は繰り返し同一被写体に対して焦点検出を行うことはよくある。しかし、その場合には、図２２（ｂ）に示すように前回暗い点光源の被写体に対して焦点検出したときのフォーカスレンズ位置を図２０（ｂ）で説明した起点として扱う。そして、フォーカスレンズを起点位置まで移動し、そこから無限焦点検出可能範囲に所定距離離れた離点位置を設定したのち、フォーカスレンズを離点位置に移動してデフォーカス量を算出すればよい。
【０１１７】
なお、３回目以降、繰り返し同一被写体に対して焦点検出を行う場合でも前回の焦点検出結果を起点として処理を繰り返す。
【０１１８】
以上、フォーカスレンズの無限位置が不明な場合に、暗い点光源の被写体に対して合焦位置を検出するための起点位置の決め方について説明してきた。
【０１１９】
しかし、図２２（ｃ）のようにフォーカスレンズを無限制限端まで移動してデフォーカス量を算出しても、仮の無限位置を検出出来ない場合が想定されるが、この場合は仮無限位置の探索を行う。
【０１２０】
フォーカスレンズの無限制限端から無限方向に所定距離だけ移動し、この位置でデフォーカス量を算出する。ここで仮無限位置が検出出来れば起点を決めることが出来るが、ここでも仮無限位置を検出出来なければ、再度同一方向に所定距離だけ移動して仮無限位置が検出出来るまで処理を繰り返す。このときの所定距離は無限焦点検出可能範囲よりも短い距離とする。
【０１２１】
図２３は点光源のピント合わせの処理の流れを説明するフローチャートである。
【０１２２】
ステップＳ２３００では起点位置の検出処理を行い、検出された起点位置にフォーカスレンズ１０４を移動する（ステップＳ２３０１）。
【０１２３】
起点位置検出処理の詳細については図２４のフローチャートを参照して説明する。
【０１２４】
ステップＳ２４００はフォーカスレンズの無限位置データが取得可能かを判定する。
【０１２５】
フォーカスレンズの無限位置データが取得可能な場合（ステップＳ２４００でＹｅｓ）、フォーカスレンズの無限位置を起点位置に設定し（ステップＳ２４１３）、起点位置検出処理を終了する。
【０１２６】
ここで、フォーカスレンズの無限位置データが取得出来ない場合（ステップＳ２４００でＮｏ）、次の判定に進む。
【０１２７】
ステップＳ２４０１は点光源のピント合わせの処理が実施済みかを判定する。
【０１２８】
点光源のピント合わせ処理が未実施だった場合（ステップＳ２４０１でＹｅｓ）、フォーカスレンズを無限制限位置に移動して（ステップＳ２４０６）、デフォーカス量を取得する（ステップＳ２４０７）。
【０１２９】
ここでデフォーカス量を取得出来れば、仮無限位置の検出が終了し（ステップＳ２４０８でＹｅｓ）、フォーカスレンズの仮無限位置を起点位置に設定して（ステップＳ２４１２）、起点位置検出処理を終了する。しかし、仮無限位置の検出が出来なかった場合（ステップＳ２４０８でＮｏ）、フォーカスレンズを至近方向に所定量移動して（ステップＳ２４０９）、仮無限位置検出処理（ステップＳ２４０７）に戻って処理を繰り返す。
【０１３０】
点光源のピント合わせ処理を実施していた場合（ステップＳ２４０１でＮｏ）、次の判定に進む。
【０１３１】
ステップＳ２４０２はレンズの格納処理を実施したかを判定する。レンズの格納処理を実施していた場合（ステップＳ２４０２でＹｅｓ）、上記で説明したステップＳ２４０６以降の処理に進む。レンズの格納処理を実施していない場合（ステップＳ２４０２でＮｏ）、次の判定に進む。ステップＳ２４０３ではレンズのマクロ切り替え動作を実施済みか判定する。レンズのマクロ切り替え動作を実施していた場合（ステップＳ２４０３でＹｅｓ）、上記で説明したステップＳ２４０６以降の処理に進む。
【０１３２】
レンズのマクロ切り替え動作を実施していない場合（ステップＳ２４０３でＮｏ）、次の判定に進む。ステップＳ２４０４ではＡＦやＭＦ、プリセットされたピント位置などへの移動など、ピント位置を変更するような操作を実施したかを判定する。ピント位置を変更する操作を実施していた場合（ステップＳ２４０４でＹｅｓ）、上記で説明したステップＳ２４０６以降の処理に進む。ピント操作を変更する操作を実施していない場合（ステップＳ２４０４でＮｏ）、次の判定に進む。
【０１３３】
ステップＳ２４０５ではズーム操作を実施済みかを判定する。ズーム操作を実施していない場合（ステップＳ２４０５でＮｏ）、既に実施済みの点光源のピント合わせの処理で検出した合焦位置を起点位置に設定し（ステップＳ２４１０）、起点位置検出処理を終了する。ズーム操作を実施していた場合（ステップＳ２４０５でＹｅｓ）、既に実施済みの点光源のピント合わせの処理で検出した合焦位置の被写体距離を算出する。そして、この被写体距離に相当するフォーカスカムデータに沿ってズーム連動した位置を起点位置に設定し（ステップＳ２４１１）、起点位置検出処理を終了する。
【０１３４】
図２３に戻り、ステップＳ２３０２ではピント合わせの実行指示の有無を判定する。ピント合わせの実行指示がない場合は（ステップＳ２３０２でＮｏ）、実行指示があるまで監視を続ける。ピント合わせの実行指示があった場合は（ステップＳ２３０２でＹｅｓ）、次のステップＳ２３０７で前回状態変数をクリアする。ここで状態変数とは、以降で説明する離点において算出されたデフォーカス量が所定値と比較して大きいか小さいかの状態を格納しておく変数である。デフォーカス量が所望の量になるまで追い込んだ場合に、前回の状態を使用するため状態変数の前回状態を保持しておくのが前回状態変数である。そして、次の処理である離点位置算出処理（ステップＳ２３０３）に進む。
【０１３５】
離点算出処理の詳細については図１０のフローチャートと同様であるので説明を省略する。
【０１３６】
図２３に戻りステップＳ２３０３で算出された離点へフォーカスレンズ１０４を駆動する（ステップＳ２３０４）。そして、デフォーカス量算出処理を行う（ステップＳ２３０５）。
【０１３７】
ここで、デフォーカス量算出処理の詳細は図１１のフローチャートを参照して説明したものと同様であるため説明を省略する。
【０１３８】
図２３に戻り、ステップＳ２３０８はステップＳ２３０５で算出されたデフォーカス量を第１所定量と比較する。デフォーカス量が第１所定量以上である場合は、ステップＳ２３１１により今回状態変数にＵＰを設定する。その後再びステップＳ２３０３の離点算出処理を行う。デフォーカス量が第１所定量未満である場合は、ステップＳ２３０９によりデフォーカス量を第３所定量と比較する。デフォーカス量が第３所定量未満である場合は、ステップＳ２３１２により今回状態変数にＤＯＷＮを設定する。その後再びステップＳ２３０３の離点算出処理を行う。
【０１３９】
そしてステップＳ２３０４ではステップＳ２３０３で再算出された離点へフォーカスレンズ１０４を駆動する。そしてステップＳ２３０５でデフォーカス量を再度算出する。算出されたデフォーカス量が第１所定量未満かつ第３所定量以上である場合、もしくはＮＵＬＬである場合はステップＳ１１０により今回状態変数をクリアする。
【０１４０】
そして、デフォーカス量算出処理（ステップＳ２３０５）によって算出されたデフォーカス量を元に、合焦位置を検出してフォーカスレンズを合焦位置に移動し（ステップＳ２３０６）、点光源のピント合わせ処理を終了する。
【０１４１】
以上のように、本実施形態ではフォーカスレンズの無限位置を取得出来ない撮像装置であっても、暗い点光源を被写体として像面位相差ＡＦを行う。この際の、焦点検出時間を短縮すると共に、高精度にフォーカスレンズの無限位置を検出することを可能とする撮影シーケンスについて説明を行った。
【０１４２】
なお、本実施形態では起点位置でデフォーカス量を検出せずに離点位置でのみ、暗い点光源被写体の焦点検出を行うように説明した。しかしながら、起点位置でデフォーカス量を検出すれば十分な焦点検出精度が得られるような大きさの点光源被写体が含まれている場合には、起点位置で合焦位置を検出しても構わない。
【０１４３】
また、フォーカスレンズの無限制限端でデフォーカス量を検出し、仮無限位置を検出するようにしているが、相関演算結果によって信頼性が高いと判断される場合は仮無限位置とせず、合焦位置としてその後の処理を省略しても問題ない。
【０１４４】
さらに、点光源の明るさや大きさだけでなく、焦点距離や撮像センサの画素数、取り付けられたレンズの明るさによって無限焦点検出可能範囲を所望な範囲に設定することは説明するまでもない。
【０１４５】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【０１４６】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
2019066541.tif 000010
【図２】
2019066541.tif 000011
【図３】
2019066541.tif 000012
【図４】
2019066541.tif 000013
【図５】
2019066541.tif 000014
【図６】
2019066541.tif 000015
【図７】
2019066541.tif 000016
【図８】
2019066541.tif 000017
【図９】
2019066541.tif 000018
【図１０】
2019066541.tif 000019
【図１１】
2019066541.tif 000020
【図１２】
2019066541.tif 000021
【図１３】
2019066541.tif 000022
【図１４】
2019066541.tif 000023
【図１５】
2019066541.tif 000024
【図１６】
2019066541.tif 000025
【図１７】
2019066541.tif 000026
【図１８】
2019066541.tif 000027
【図１９】
2019066541.tif 000028
【図２０】
2019066541.tif 000029
【図２１】
2019066541.tif 000030
【図２２】
2019066541.tif 000031
【図２３】
2019066541.tif 000032
【図２４】
2019066541.tif 000033