(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-13
(45)【発行日】2024-02-21
(54)【発明の名称】自動焦点検出装置、自動焦点検出方法及び自動焦点検出プログラム
(51)【国際特許分類】
G02B 7/34 20210101AFI20240214BHJP
G03B 13/36 20210101ALI20240214BHJP
H04N 23/67 20230101ALI20240214BHJP
H04N 23/63 20230101ALI20240214BHJP
【FI】
G02B7/34
G03B13/36
H04N23/67
H04N23/63
(21)【出願番号】P 2020045800
(22)【出願日】2020-03-16
【審査請求日】2023-01-16
(73)【特許権者】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】110004185
【氏名又は名称】インフォート弁理士法人
(74)【代理人】
【識別番号】100121083
【氏名又は名称】青木 宏義
(74)【代理人】
【識別番号】100078880
【氏名又は名称】松岡 修平
(72)【発明者】
【氏名】福成 幸介
【審査官】越河 勉
(56)【参考文献】
【文献】特開平08-015603(JP,A)
【文献】特開平08-248303(JP,A)
【文献】特開2011-242677(JP,A)
【文献】特開2005-084330(JP,A)
【文献】特開2019-129374(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G02B 7/28-7/40
G03B 13/36
H04N 23/67
H04N 23/63
(57)【特許請求の範囲】
【請求項1】
一対のセンサ列上に投影された一対の被写体光に基づいて焦点検出を行う瞳分割位相差方式の自動焦点検出装置において、
前記センサ列より出力される画像信号列について相関演算を行う相関演算部と、
前記相関演算部による相関演算結果の信頼性を判定する信頼性判定部と、
前記信頼性判定部により信頼性ありと判定されると、信頼性ありと判定された相関演算結果に基づいてデフォーカス量を算出するデフォーカス量算出部と、
前記信頼性判定部により信頼性なしと判定されると、前記相関演算を行った画像信号列の始端側の画像信号に対する信頼性と、終端側の画像信号に対する信頼性と、を比較し、比較結果に基づいて前記画像信号列から前記始端側と前記終端側の少なくとも一方の画像信号を除外することにより、前記画像信号列を絞り込む絞込部と、
を備え、
前記信頼性判定部により信頼性ありと判定されるまで、前記絞込部による画像信号列の絞り込み及び前記相関演算部による前記絞り込み後の画像信号列の範囲に対する相関演算を行う、
自動焦点検出装置。
【請求項2】
前記信頼性判定部は、
前記相関演算によって求まった第1の位相ずれ量での相関値及びコントラスト値に基づいて、前記第1の位相ずれ量の信頼性を判定する信頼性判定値を計算し、
前記第1の位相ずれ量と、前記第1の位相ずれ量よりも所定画素分大きい又は小さい第2の位相ずれ量と、のコントラスト値の差であるコントラスト差を計算し、
前記絞込部による画像信号列の絞り込み及び前記相関演算部による前記絞り込み後の画像信号列の範囲に対する相関演算が行われ、前記第1の位相ずれ量の信頼性判定値が所定条件を満たし且つ前記コントラスト差が最小になる相関演算結果が得られると、この相関演算結果について信頼性ありと判定する、
請求項1に記載の自動焦点検出装置。
【請求項3】
前記所定条件は、
前記第1の位相ずれ量の信頼性判定値が所定閾値以下である、
請求項2に記載の自動焦点検出装置。
【請求項4】
前記第1の位相ずれ量は、
前記相関演算によって求まった相関関数が極小値を取るときの位相ずれ量である、
請求項2又は請求項3に記載の自動焦点検出装置。
【請求項5】
前記相関関数に対する補間処理によりサブピクセル単位での位相ずれ量を計算する補間計算部
を更に備え、
前記第1の位相ずれ量の信頼性判定値は、
前記補間処理後の相関関数での極小値を、前記第1の位相ずれ量での前記コントラスト値で除した値である、
請求項4に記載の自動焦点検出装置。
【請求項6】
前記絞込部は、
前記始端側に位置する複数の画像信号に対する信頼性と、前記終端側に位置する複数の画像信号に対する信頼性と、を比較する、
請求項1から請求項5の何れか一項に記載の自動焦点検出装置。
【請求項7】
前記絞込部は、
前記始端側の画像信号に対する信頼性と、前記終端側の画像信号に対する信頼性とが同じ場合、前記始端側の画像信号のコントラスト値である始端側コントラスト値と、前記終端側の画像信号のコントラスト値である終端側コントラスト値と、を比較し、前記コントラスト値が低い方の端部の画像信号を前記画像信号列から除外する、
請求項1から請求項6の何れか一項に記載の自動焦点検出装置。
【請求項8】
前記絞込部は、
更に、前記始端側コントラスト値と前記終端側コントラスト値とが同じ場合、両方の端部の画像信号を前記画像信号列から除外する、
請求項7に記載の自動焦点検出装置。
【請求項9】
前記画像信号列の全範囲のうち、前記相関演算結果が信頼性ありと判定された第1の範囲以外の範囲を検出する検出部
を更に備え、
前記相関演算部により、前記検出部により検出された検出範囲の画像信号列に対して相関演算が行われ、
前記信頼性判定部により、前記検出範囲での相関演算結果が信頼性なしと判定されると、相関演算結果が信頼性ありと判定されるまで、前記絞込部による画像信号列の絞り込み及び前記相関演算部による前記絞り込み後の画像信号列の範囲に対する相関演算を行う、
請求項1から請求項8の何れか一項に記載の自動焦点検出装置。
【請求項10】
前記検出範囲の中で前記相関演算結果が信頼性ありと判定される範囲が少なくとも1つある場合、前記デフォーカス量算出部により、前記第1の範囲及び前記少なくとも1つの範囲の各範囲について算出されたデフォーカス量のうち、前記自動焦点検出装置に最も近い被写体に対応する範囲について算出されたデフォーカス量を、フォーカスレンズを駆動するためのデフォーカス量として選択するデフォーカス量選択部
を更に備える、
請求項9に記載の自動焦点検出装置。
【請求項11】
AFモード又はMFモードに設定する焦点調節モード設定部と、
被写体の合焦状態を報知する報知部と、
を更に備え、
前記AFモード時、
前記デフォーカス量選択部が、前記自動焦点検出装置に最も近い被写体に対応する範囲について算出されたデフォーカス量を、前記フォーカスレンズを駆動するためのデフォーカス量として選択し、
前記MFモード時、
前記デフォーカス量選択部が、前記第1の範囲及び前記少なくとも1つの範囲の各範囲について算出されたデフォーカス量のうち、現在の焦点調節状態から最も合焦状態に近い範囲について算出されたデフォーカス量を選択し、前記報知部が、前記デフォーカス量選択部により選択されたデフォーカス量に対応する範囲の被写体が合焦状態にあることを報知する、
請求項10に記載の自動焦点検出装置。
【請求項12】
前記報知部は、
前記デフォーカス量選択部により選択されたデフォーカス量に対応する範囲の被写体が合焦状態にあることを知らせる表示を行う、
請求項11に記載の自動焦点検出装置。
【請求項13】
絞込モードのオンとオフとを切り替える絞込モード切替部
を更に備え、
前記絞込モードがオンされているときに前記信頼性判定部により信頼性なしと判定されると、前記信頼性判定部により信頼性ありと判定されるまで、前記絞込部による画像信号列の絞り込み及び前記相関演算部による前記絞り込み後の画像信号列の範囲に対する相関演算を行う、
請求項1から請求項12の何れか一項に記載の自動焦点検出装置。
【請求項14】
前記絞込モードがオンされているか否かを表示する表示部
を更に備える、
請求項13に記載の自動焦点検出装置。
【請求項15】
前記信頼性判定部により信頼性なしと判定されると、信頼性なしと判定された相関演算結果における相関演算範囲について、一対の前記画像信号列の出力レベル差を計算する出力レベル差計算部と、
前記出力レベル差が所定値より大きい場合、前記相関演算範囲にて前記出力レベル差が軽減されるように、前記一対の画像信号列の出力レベルを補正する出力レベル補正部と、を更に備え、
前記出力レベル補正部による出力レベル補正後の画像信号列に対し、前記相関演算部による前記絞り込み後の画像信号列の範囲に対する相関演算を行う、
請求項1から請求項14の何れか一項に記載の自動焦点検出装置。
【請求項16】
前記検出範囲の画像信号列に対して相関演算を行う前に、前記出力レベル補正部による出力レベル補正後の画像信号列を、前記出力レベル補正部による出力レベル補正前の画像信号列に戻す、
請求項9を引用する、請求項10から請求項15の何れか一項に記載の自動焦点検出装置。
【請求項17】
一対のセンサ列上に投影された一対の被写体光に基づいて焦点検出を行う瞳分割位相差方式の自動焦点検出装置が実行する自動焦点検出方法において、
前記センサ列より出力される画像信号列について相関演算を行う相関演算ステップと、
前記相関演算ステップでの相関演算結果の信頼性を判定する信頼性判定ステップと、
前記信頼性判定ステップにて信頼性ありと判定されると、信頼性ありと判定された相関演算結果に基づいてデフォーカス量を算出するデフォーカス量算出ステップと、
前記信頼性判定ステップにて信頼性なしと判定されると、前記相関演算を行った画像信号列の始端側の画像信号に対する信頼性と、終端側の画像信号に対する信頼性と、を比較し、比較結果に基づいて前記画像信号列から前記始端側と前記終端側の少なくとも一方の画像信号を除外することにより、前記画像信号列を絞り込む絞込ステップと、
を含み、
前記信頼性判定ステップにて信頼性ありと判定されるまで、前記絞込ステップでの画像信号列の絞り込み及び前記相関演算ステップでの前記絞り込み後の画像信号列の範囲に対する相関演算を行う、
自動焦点検出方法。
【請求項18】
一対のセンサ列上に投影された一対の被写体光に基づいて焦点検出を行う瞳分割位相差方式の自動焦点検出装置が実行する自動焦点検出プログラムにおいて、
前記センサ列より出力される画像信号列について相関演算を行う相関演算ステップと、
前記相関演算ステップでの相関演算結果の信頼性を判定する信頼性判定ステップと、
前記信頼性判定ステップにて信頼性ありと判定されると、信頼性ありと判定された相関演算結果に基づいてデフォーカス量を算出するデフォーカス量算出ステップと、
前記信頼性判定ステップにて信頼性なしと判定されると、前記相関演算を行った画像信号列の始端側の画像信号に対する信頼性と、終端側の画像信号に対する信頼性と、を比較し、比較結果に基づいて前記画像信号列から前記始端側と前記終端側の少なくとも一方の画像信号を除外することにより、前記画像信号列を絞り込む絞込ステップと、
を含み、
前記信頼性判定ステップにて信頼性ありと判定されるまで、前記絞込ステップでの画像信号列の絞り込み及び前記相関演算ステップでの前記絞り込み後の画像信号列の範囲に対する相関演算を行う、
自動焦点検出プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自動焦点検出装置、自動焦点検出方法及び自動焦点検出プログラムに関する。
【背景技術】
【0002】
被写体に対する合焦状態を検出する自動焦点検出装置が知られている。例えば特許文献1に、この種の自動焦点検出装置の具体的構成が記載されている。特許文献1に記載の自動焦点検出装置では、瞳分割された一対の被写体像をラインセンサ上に投影し、ラインセンサ上の一対の被写体像の位相差(言い換えると、位相ずれ量)からデフォーカス量を算出する瞳分割位相差方式が採用される。
【0003】
瞳分割位相差方式の自動焦点検出装置では、撮影距離の異なる複数の被写体が存在する(すなわち、焦点検出領域内に撮影距離の異なる複数の被写体が混在する遠近混在部がある)と、複数の被写体の位相ずれ量が混在した値がラインセンサから出力されることがあり、この場合、デフォーカス量を精度良く算出することができない。
【0004】
そこで、例えば特許文献1に記載の自動焦点検出装置は、相関演算を行って焦点検出領域の最大輝度差を検出し、最大輝度差が得られるラインセンサの画素を基準点とした所定画素分の画素範囲を遠近混在部の検出範囲として設定し、設定した検出範囲にて高い相関値が算出されると、この範囲を遠近混在部として検出する。次いで、この自動焦点検出装置は、検出した遠近混在部を除いた範囲で相関演算を再度実行して、デフォーカス量を算出する。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1に記載の自動焦点検出装置では、遠近混在部を除く範囲として、最大輝度差が得られる画素を含む範囲が設定される。しかし、このような画素を含む範囲は、撮影距離の異なる被写体の境界を含む可能性が高い。そのため、このような画素を含む範囲で相関演算を実行すると、位相ずれ量が誤差を含むものとなる。そのため、デフォーカス量を精度良く算出することができない。
【0007】
本発明は上記の事情に鑑みてなされたものであり、その目的とするところは、焦点検出領域内に撮影距離の異なる複数の被写体が混在する場合にも、精度の高いデフォーカス量を算出することができる自動焦点検出装置、自動焦点検出方法及び自動焦点検出プログラムを提供することである。
【課題を解決するための手段】
【0008】
本発明の一実施形態に係る自動焦点検出装置は、一対のセンサ列上に投影された一対の被写体光に基づいて焦点検出を行う瞳分割位相差方式の自動焦点検出装置であり、センサ列より出力される画像信号列について相関演算を行う相関演算部と、相関演算部による相関演算結果の信頼性を判定する信頼性判定部と、信頼性判定部により信頼性ありと判定されると、信頼性ありと判定された相関演算結果に基づいてデフォーカス量を算出するデフォーカス量算出部と、信頼性判定部により信頼性なしと判定されると、相関演算を行った画像信号列の始端側の画像信号に対する信頼性と、終端側の画像信号に対する信頼性と、を比較し、比較結果に基づいて画像信号列から始端側と終端側の少なくとも一方の画像信号を除外することにより、画像信号列を絞り込む絞込部と、を備え、信頼性判定部により信頼性ありと判定されるまで、絞込部による画像信号列の絞り込み及び相関演算部による絞り込み後の画像信号列の範囲に対する相関演算を行う。
【0009】
本発明の一実施形態に係る自動焦点検出方法は、一対のセンサ列上に投影された一対の被写体光に基づいて焦点検出を行う瞳分割位相差方式の自動焦点検出装置が実行する方法であり、センサ列より出力される画像信号列について相関演算を行う相関演算ステップと、相関演算ステップでの相関演算結果の信頼性を判定する信頼性判定ステップと、信頼性判定ステップにて信頼性ありと判定されると、信頼性ありと判定された相関演算結果に基づいてデフォーカス量を算出するデフォーカス量算出ステップと、信頼性判定ステップにて信頼性なしと判定されると、相関演算を行った画像信号列の始端側の画像信号に対する信頼性と、終端側の画像信号に対する信頼性と、を比較し、比較結果に基づいて画像信号列から始端側と終端側の少なくとも一方の画像信号を除外することにより、画像信号列を絞り込む絞込ステップと、を含み、信頼性判定ステップにて信頼性ありと判定されるまで、絞込ステップでの画像信号列の絞り込み及び相関演算ステップでの絞り込み後の画像信号列の範囲に対する相関演算を行う。
【0010】
本発明の一実施形態に係る自動焦点検出プログラムは、一対のセンサ列上に投影された一対の被写体光に基づいて焦点検出を行う瞳分割位相差方式の自動焦点検出装置が実行するプログラムであり、センサ列より出力される画像信号列について相関演算を行う相関演算ステップと、相関演算ステップでの相関演算結果の信頼性を判定する信頼性判定ステップと、信頼性判定ステップにて信頼性ありと判定されると、信頼性ありと判定された相関演算結果に基づいてデフォーカス量を算出するデフォーカス量算出ステップと、信頼性判定ステップにて信頼性なしと判定されると、相関演算を行った画像信号列の始端側の画像信号に対する信頼性と、終端側の画像信号に対する信頼性と、を比較し、比較結果に基づいて画像信号列から始端側と終端側の少なくとも一方の画像信号を除外することにより、画像信号列を絞り込む絞込ステップと、を含み、信頼性判定ステップにて信頼性ありと判定されるまで、絞込ステップでの画像信号列の絞り込み及び相関演算ステップでの絞り込み後の画像信号列の範囲に対する相関演算を行う。
【発明の効果】
【0011】
本発明の一実施形態によれば、自動焦点検出装置、自動焦点検出方法及び自動焦点検出プログラムにおいて、焦点検出領域内に撮影距離の異なる複数の被写体が混在する場合にも、精度の高いデフォーカス量を算出することができる。
【図面の簡単な説明】
【0012】
【
図1】本発明の一実施形態に係る撮影装置の概略構成を示すブロック図である。
【
図2】本発明の一実施形態に係る測距素子の概略構成を示す図である。
【
図3】本発明の一実施形態に係るファインダ上での焦点検出エリアを示す図である。
【
図4】本発明の第1実施形態において、カメラ制御部により実行される、焦点調節処理の一例を示すフローチャートである。
【
図5】本発明の第1実施形態において、カメラ制御部が取得する焦点検出信号の一例を示す図である。
【
図6】
図4の測距演算処理(ステップS104)を示すフローチャートである。
【
図7】
図6の相関演算処理(ステップS204)により求められる相関値及びコントラスト値の一例を示す図である。
【
図8】
図6の絞り込み範囲探索処理(ステップS207)を示すフローチャートである。
【
図9】
図8の初期化処理(ステップS301)を示すフローチャートである。
【
図10】
図8の、絞り込み後の範囲に対して行われる相関演算処理(ステップS317)を示すフローチャートである。
【
図11】
図6の絞り込み範囲探索処理(ステップS207)の実行により絞り込まれる相関演算範囲の具体的一例を示す図である。
【
図12】画素範囲12~21に対して相関演算処理を行ったときに求められる相関値及びコントラスト値の一例を示す図である。
【
図13】
図6の余剰範囲確認処理(ステップS208)を示すフローチャートである。
【
図14A】余剰範囲4~11に対して相関演算処理を行ったときに求められる相関値SCO(s)及びコントラスト値OLC(s)の一例を示す図である。
【
図14B】余剰範囲4~10に対して相関演算処理を行ったときに求められる相関値SCO(s)及びコントラスト値OLC(s)の一例を示す図である。
【
図15A】余剰範囲22~29に対して相関演算処理を行ったときに求められる相関値SCO(s)及びコントラスト値OLC(s)の一例を示す図である。
【
図15B】余剰範囲26~29に対して相関演算処理を行ったときに求められる相関値SCO(s)及びコントラスト値OLC(s)の一例を示す図である。
【
図16】余剰範囲22~25に対して相関演算処理を行ったときに求められる相関値SCO(s)及びコントラスト値OLC(s)の一例を示す図である。
【
図17】
図6のデフォーカス量選択処理(ステップS210)を示すフローチャートである。
【
図18A】本発明の第1実施形態において、ファインダに表示される画面の一例を示す図である。
【
図18B】本発明の第1実施形態において、ファインダに表示される画面の一例を示す図である。
【
図19】本発明の第2実施形態において、カメラ制御部が取得する焦点検出信号の一例を示す図である。
【
図20】本発明の第2実施形態において実行される測距演算処理を示すフローチャートである。
【
図21】本発明の第2実施形態において求められる相関値及びコントラスト値の一例を示す図である。
【
図22】
図20の絞り込み範囲探索処理(ステップS207’)を示すフローチャートである。
【
図23】
図22のステップS317の処理までを実行したときの、相関演算範囲の絞り込み例を示す図である。
【
図24】余剰範囲14~21に対して相関演算処理を行ったときに求められる相関値SCO(s)及びコントラスト値OLC(s)の一例を示す図である。
【
図25】
図22のセンサ出力差補正処理(ステップS319)を示すフローチャートである。
【
図26】
図22のセンサ出力差補正処理(ステップS319)後の焦点検出信号の一例を示す図である。
【
図27】
図22のセンサ出力差補正処理(ステップS319)後の画素範囲12~21に対して相関演算処理を行ったときに求められる相関値及びコントラスト値の一例を示す図である。
【発明を実施するための形態】
【0013】
以下、本発明の一実施形態に係る、自動焦点検出機能を有する自動焦点検出装置について図面を参照しながら説明する。この自動焦点検出装置は、一対のセンサ列上に投影された一対の被写体光に基づいて焦点検出を行う瞳分割位相差方式の自動焦点検出装置である。なお、以下においては、自動焦点検出装置の一例として撮影装置を挙げて説明を行う。
【0014】
図1は、本発明の一実施形態に係る撮影装置1の概略構成を示すブロック図である。本実施形態では、撮影装置1は、デジタル一眼レフカメラである。なお、撮影装置1は、デジタル一眼レフカメラに限らず、ミラーレス一眼カメラ、コンパクトデジタルカメラ、ビデオカメラ、ノートPC、タブレット端末、PHS(Personal Handy phone System)、スマートフォン、フィーチャフォン、ゲーム機等の、自動焦点検出機能を有する他の装置であってもよい。
【0015】
図1に示されるように、撮影装置1は、カメラボディ100及びカメラボディ100のマウント部101に着脱可能な撮影レンズ200を備える。カメラボディ100と撮影レンズ200は、マウント部101に設けられている電気接点102を介して通信可能となっている。
【0016】
カメラボディ100は、撮影装置1の統括的な制御を司るカメラ制御部103を備える。カメラ制御部103は、例えば、DSP(Digital Signal Processor)及びCPU(Central Processing Unit)を搭載したシステムLSI(Large-scale Integrated Circuit)であり、RAM(Random Access Memory)、ROM(Read Only Memory)等のメモリやA/Dコンバータを備える。また、カメラ制御部103は、機能構成として、露出制御部103a、焦点調節制御部103b、駆動機構制御部103c、画像処理部103d、表示制御部103e、スイッチ検出部104fを備える。カメラ制御部103は、ROMに格納されているプログラム(例えば後述する
図4の焦点調節処理)を呼び出し、呼び出したプログラムをDSPやCPUで実行することにより、符号103a~103fに示す機能構成の制御を行う。ROMには、これらの機能構成の制御を行うための制御パラメータも格納される。
【0017】
カメラボディ100は、レリーズスイッチ110、メインミラー111、サブミラー112を備える。レリーズスイッチ110は、2段階スイッチである。スイッチ検出部104fは、レリーズスイッチ110に関し、半押し状態(S1状態)と全押し状態(S2状態)の2つの状態を検出することができる。スイッチ検出部104fによりS1状態が検出されると、露出制御部103aによる露出制御や焦点調節制御部103bによる焦点調節制御等の撮影準備動作が行われる。
【0018】
カメラボディ100は、フォーカシングスクリーン113、ペンタプリズム114、接眼レンズ115、ファインダ116を備える。撮影レンズ200を通過した被写体光は、メインミラー111で反射され、フォーカシングスクリーン113に結像される。フォーカシングスクリーン113で結像された被写体像は、ペンタプリズム114で正立像にされ、接眼レンズ115及びファインダ116を介して撮影者に視認される。
【0019】
ペンタプリズム114近傍には測光素子117が備えられる。この測光素子117に、ペンタプリズム114に入射した被写体光の一部が入射される。測光素子117は、被写体光の明るさに応じた電気信号を露出制御部103aに出力する。露出制御部103aは、入力された電気信号をA/Dコンバータにより画像信号(「露出信号」と記す。)に変換し、露出信号に基づいて測光演算を行い、撮影時の露出(例えば絞り値と露光時間)を決定する。
【0020】
カメラボディ100は、瞳分割位相差方式による自動焦点検出を行うための焦点検出モジュール118として、コンデンサレンズ118a、反射ミラー118b、セパレータマスク118c、再結像レンズ118d、測距素子118eを備える。
【0021】
撮影レンズ200を通過した被写体光の一部は、ハーフミラーであるメインミラー111を透過し、サブミラー112で反射され、焦点検出モジュール118に入射される。焦点検出モジュール118に入射された被写体光は、コンデンサレンズ118aを透過して反射ミラー118bで反射される。反射ミラー118bで反射された被写体光は、セパレータマスク118cにより一対の被写体光に分割された後、再結像レンズ118dにより測距素子118e上に再結像される。
【0022】
図2は、本発明の一実施形態に係る測距素子118eの概略構成を示す図である。
図2に示されるように、測距素子118eは、同一構成及び同一寸法を持つ一対のラインセンサ118eA、118eBを有する。ラインセンサ118eA、118eBは、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等の電荷蓄積型のラインセンサであり、N個の画素を有する。便宜上、ラインセンサ118eA、118eBの各画素に符号を付す。具体的には、ラインセンサ118eAに関し、
図2の最も左側の画素に符号A[1]を付し、
図2の最も右側の画素に符号A[N]を付す。これらの間の画素には、左側の画素から右側の画素に向かって順に、符号A[2]~A[N-1]を付す。ラインセンサ118eBの各画素にも同様のルールで符号B[1]~B[N]を付す。なお、本実施形態では、ラインセンサ118eA、118eBは、32個の画素を有する。便宜上、画素A[1]~画素A[N]の画素列より出力される画像信号列を「Aセンサ列An」と記し、画素B[1]~画素B[N]の画素列より出力される画像信号列を「Bセンサ列Bn」と記す。
【0023】
図3に、ファインダ116上での測距素子118eによる焦点検出エリア120を示す。焦点検出エリア120は、ファインダ視野内において測距素子118eの各画素が並ぶ領域と等価である。言い換えると、焦点検出エリア120内の被写体の光像は、測距素子118eの各画素で受光される。
【0024】
図3の例では、測距素子118eは、焦点検出エリア120内に位置する被写体光(被写体300~302の光像)を受光する。測距素子118eは、受光した被写体光に応じた電荷を蓄積し、蓄積した電荷を電気信号として焦点調節制御部103bに出力する。焦点調節制御部103bに入力された電気信号は、A/Dコンバータで画像信号(以下「焦点検出信号」と記す。)に変換される。焦点調節制御部103bは、焦点検出信号に対して相関演算を行い、測距素子118e上での位相ずれ量を算出し、位相ずれ量から像面ずれ量(すなわちデフォーカス量)を算出する。デフォーカス量が正の値の場合、被写体より遠距離側にピントが合っている状態(後ピン状態)であり、デフォーカス量が負の値の場合、被写体より近距離側にピントが合っている状態(前ピン状態)である。焦点調節制御部103bは、デフォーカス量が被写体にピントが合っているとみなせる合焦状態になると、合焦マーク121をファインダ116上に表示させる。合焦マーク121は、焦点検出エリア120を取り囲うマークとなっている。
【0025】
カメラボディ100は、スクリーン122、照明装置123を備える。スクリーン122は、フォーカシングスクリーン113とペンタプリズム114との間に設置される。スクリーン122には、測距点の位置に合わせてマイクロプリズムが形成される。照明装置123は、LED(Light Emitting Diode)等の光源を備える。照明装置123による照明光がペンタプリズム114内を反射してスクリーン122を照明すると、この照明光が、マイクロプリズムにより反射され、ペンタプリズム114内を反射して、接眼レンズ115及びファインダ116へ導かれる。これにより、ファインダ116上に合焦マーク121が表示され、撮影者に視認される。
【0026】
カメラボディ100は、ミラー駆動機構124、シャッタ駆動機構125、シャッタ126、撮像素子127、画像記憶部128、記録装置収納部129、背面モニタ130を備える。スイッチ検出部104fによりS2状態が検出されると、撮影動作が開始される。まず、駆動機構制御部103cはミラー駆動機構124を制御し、メインミラー111及びサブミラー112を撮影光路の上方に退避させる。次いで、露出制御部103aは、露出演算にて決定した絞り値を撮影レンズ200に送信する。
【0027】
撮影レンズ200は、鏡筒201、第1レンズ群(固定レンズ群)202、第2レンズ群(フォーカスレンズ群)203、第3レンズ群(ズームレンズ群)204、絞り205、レンズ駆動機構206、絞り駆動機構207、フォーカスエンコーダ208、ズームエンコーダ209、レンズ制御部210、AF/MFモードスイッチ211を備える。
【0028】
レンズ制御部210は、CPU、ROM等を備える。レンズ制御部210は、このROMに格納されているプログラムを呼び出し、呼び出したプログラムをCPUで実行することにより、各種制御を行う。
【0029】
AF/MFモードスイッチ211は、撮影レンズ200の自動焦点検出及び調節を行うAFモードと、撮影レンズ200の手動焦点調節を行うMFモードとを切り替えるスイッチである。レンズ制御部210は、AF/MFモードスイッチ211のステータスをカメラ制御部103に通知する。カメラ制御部103は、レンズ制御部210に通知されたステータスに応じてAFモード又はMFモードに設定する焦点調節モード設定部として動作する。カメラ制御部103は、レンズ制御部210に対し、設定したモードに応じた制御を行う。
【0030】
レンズ制御部210は、AFモード時、カメラボディ100より受信したデフォーカス量を所定のレンズ駆動量変換係数を用いてレンズ駆動量に変換し、レンズ駆動量だけフォーカスレンズ群203が光軸上を移動するようにレンズ駆動機構206を制御する。なお、フォーカスレンズ群203の位置は、フォーカスエンコーダ208にて検出され、レンズ制御部210に出力される。レンズ制御部210は、フォーカスエンコーダ208より出力される位置をモニタしながらフォーカスレンズ群203の移動制御を行う。
【0031】
フォーカスレンズ群203は、MFモード時、不図示のフォーカスリングを撮影者が操作することによっても光軸上を移動する。フォーカスレンズ群203の移動に伴い、撮影レンズ200の焦点が変わる。
【0032】
ズームレンズ群204は、鏡筒201に設けられている不図示のズームリングを撮影者が操作することで光軸上を移動する。ズームレンズ群204の移動に伴い、撮影レンズ200のズーム倍率が変わる。なお、ズームレンズ群204の位置は、ズームエンコーダ209により検出され、レンズ制御部210に出力される。レンズ制御部210は、この位置をカメラ制御部103に通知する。例えば表示制御部103eによる表示制御により、現在のズーム倍率が背面モニタ130に表示される。
【0033】
レンズ制御部210は、カメラボディ100より受信した絞り値を絞り駆動量に変換し、絞り駆動量だけ絞り205が開閉するように絞り駆動機構207を制御する。絞り駆動機構207の駆動力により絞り205の開度が変わると、固定レンズ群202、フォーカスレンズ群203、ズームレンズ群204を透過する被写体光の光量が変わる。
【0034】
駆動機構制御部103cは、シャッタ駆動機構125を制御し、測光演算にて決定した露光時間だけ撮像素子127に被写体光が当たるように、シャッタ126を開閉させる。
【0035】
撮像素子127は、被写体光を光電変換作用により電気信号に変換する受光素子であり、例えばCCDイメージセンサやCMOSイメージセンサである。撮像素子127により生成される電気信号は、画像処理部103dに出力される。画像処理部103dに入力された電気信号は、A/Dコンバータにより画像信号に変換され、γ補正等のデジタル画像処理が施される。デジタル画像処理が施された撮影画像データは、画像記憶部128に一時記憶され、圧縮処理等の画像処理が施された後、記録装置収納部129に収納されたメモリカード等の記録装置に記録される。画像記憶部128に一時記憶される撮影画像は、表示制御部103eによる表示制御により背面モニタ130に表示される。これにより、撮影者は、撮影画像の確認を撮影直後に行うことができる。
【0036】
[第1実施形態]
図4は、本発明の第1実施形態において、カメラ制御部103(焦点調節制御部103b)により実行される、焦点調節処理の一例を示すフローチャートである。
【0037】
図4に示されるように、カメラ制御部103は、レリーズスイッチ110の半押し状態(S1状態)を検知する(ステップS101)。カメラ制御部103は、S1状態を検知すると(ステップS101:YES)、測距素子118eの露光(ステップS102)と焦点検出信号の読み出し(ステップS103)を行う。
【0038】
図5に、本実施形態においてカメラ制御部103(焦点調節制御部103b)が取得する焦点検出信号の一例を示す。
図5中、実線は、ラインセンサ118eAより出力される焦点検出信号(言い換えると、Aセンサ列An)を示し、破線は、ラインセンサ118eBより出力される焦点検出信号(言い換えると、Bセンサ列Bn)を示す。
図5中、縦軸は、ラインセンサの出力値(輝度値)を示し、横軸は、画素番号を示す。この画素番号は、
図2において各画素に付した符号の括弧書き内の数値に対応する。便宜上、画素番号1~32が付された画素を単に画素1~32と記す。
【0039】
図5は、
図3に示される如く焦点検出エリア120内に被写体300~302が混在するときに取得される焦点検出信号を示す。被写体300が撮影装置1に最も近く、次いで、被写体301が撮影装置1に近く、被写体302が撮影装置1から最も遠い。補足すると、被写体300単体で見たときの位相ずれ量は+2画素(言い換えると、シフト数sが+2)とし、被写体301単体で見たときの位相ずれ量は+1画素(言い換えるとシフト数sが+1)とし、被写体302単体で見たときの位相ずれ量は0画素(言い換えるとシフト数sがゼロ)とする。なお、シフト数sについては後述する。
【0040】
カメラ制御部103は、焦点検出信号を用いて測距演算を行い、デフォーカス量を算出する(ステップS104)。
【0041】
カメラ制御部103は、ステップS104にてデフォーカス量が算出できたか否かを判定する(ステップS105)。具体的には、デフォーカス量が算出できたことを示す測距フラグ(後述の
図17参照)が「T(true)」に設定されているか否かが判定される。
【0042】
カメラ制御部103は、デフォーカス量が算出できた場合(ステップS105:YES)、現在のデフォーカス量が所定量以内か否かを判定する(ステップS106)。この所定量以内とは、焦点深度により合焦と見なせる範囲内であることを意味する。この所定量の値は、例えば一定値又は焦点距離及び開放絞り情報から演算して設定することができる。
【0043】
カメラ制御部103は、現在のデフォーカス量が所定量以内の場合(ステップS106:YES)、合焦マーク121を表示させて(ステップS107)、
図4の焦点調節処理を終了する。
【0044】
カメラ制御部103は、現在のデフォーカス量が所定量を超える場合(ステップS106:NO)、レンズ制御部210にデフォーカス量を送信して、フォーカスレンズ群203をデフォーカス量に応じたレンズ駆動量だけ光軸方向に移動させる(ステップS108)。
【0045】
カメラ制御部103は、ステップS104にてデフォーカス量が算出できなかった場合には(ステップS105:NO)、フォーカスレンズ群203を光軸方向に移動させながら(ステップS108)、デフォーカス量が算出可能な位置を探すサーチ動作を行う。
【0046】
なお、フォーカスモードがMFモードに設定されている場合、ステップS107の合焦マーク表示処理を行った後であってもS1状態が継続する限りは、
図4の焦点調節処理を繰り返し実行する。また、MFモード時には、現在のデフォーカス量が合焦と見なせる所定量を超える場合であっても(ステップS106:NO)、レンズ制御部210にデフォーカス量を送信せず、フォーカスレンズ群203を光軸方向に移動させない。また、MFモード時には、ステップS104にてデフォーカス量が算出できなかった場合にも(ステップS105:NO)、レンズ制御部210にデフォーカス量を送信せず、フォーカスレンズ群203を光軸方向に移動させない。
【0047】
図6は、
図4の測距演算処理(ステップS104)を示すフローチャートである。
【0048】
図6に示されるように、カメラ制御部103は、初期設定を行う(ステップS201)。この初期設定では、演算範囲の配列に初期範囲が設定される。ここで、本実施形態では、Aセンサ列AnとBセンサ列Bnを重ね合わせて画素毎の差の絶対値(画素単位相関値SCO[n])の総和(以下「相関値SCO(s)」と記す。)を求める演算が、Bセンサ列Bnを基準としてAセンサ列Anを1画素分ずつシフトさせながら実行される。シフト数sがゼロの状態から、Bセンサ列Bnに対してAセンサ列Anを±1画素分シフトさせていき、シフト数sが±s
MAX(本実施形態では±3)になるまでシフト及び演算が繰り返される。Aセンサ列Anとして画素1~32の全てを設定すると、例えばシフト数s=+1のとき、Bセンサ列Bnには、これに対応する画素33(=32+1)が存在しないため、適正な相関値SCO(s)を求めることができない。そこで、Aセンサ列Anの初期範囲は、画素4~29(画素数26)に設定され、Bセンサ列Bnの初期範囲は、画素1~32(画素数32)に設定される。
【0049】
補足すると、画素単位相関値SCO[n]は、「画素A[n]の輝度値」と「画素B[n+s]の輝度値」との差の絶対値である。
【0050】
カメラ制御部103は、演算範囲要素iをゼロに設定し、演算範囲要素数Iを1に設定する(ステップS202)。
【0051】
カメラ制御部103は、演算範囲要素iが演算範囲要素数Iよりも小さい(すなわち、i<Iである)限り(ステップS203)、ステップS204~S209の測距演算処理を繰り返す。
【0052】
カメラ制御部103は、相関演算処理を行う(ステップS204)。この相関演算処理については、周知の処理であるため、ここでの詳細な説明は省略する。なお、この相関演算処理の具体的一例は、特許文献1にて参照される。
【0053】
この相関演算処理により、相関値SCO(s)、輝度差(コントラスト値)OLC(s)及び信頼性判定値TRS(s)が求まる。コントラスト値OLC(s)は、Aセンサ列An及びBセンサ列Bnの相関演算範囲において隣接する画素の輝度差の絶対値の1/2(言い換えると、当該絶対値の平均値)の総和として求められる。補足すると、Aセンサ列An内の隣接画素間の輝度差の絶対値(隣接画素間コントラスト値CA[n])は、「画素A[n]の輝度値」と「画素A[n+1]の輝度値」との差の絶対値で示される。Bセンサ列Bn内の隣接画素間の輝度差の絶対値(隣接画素間コントラスト値CB[n])は、「画素B[n]の輝度値」と「画素B[n+1]の輝度値」との差の絶対値で示される。従って、コントラスト値OLC(s)は、相関演算範囲に含まれる各画素の隣接画素間コントラスト値CA[n]と隣接画素間コントラスト値CB[n]との平均値の総和である。
【0054】
信頼性判定値TRS(s)は、相関値SCO(s)をコントラスト値OLC(s)で除した値(=相関値SCO(s)/コントラスト値OLC(s))である。
【0055】
図7は、ラインセンサ118eA、118eBの全画素を相関演算範囲としたときに、
図6の相関演算処理(ステップS204)により求められる相関値SCO(s)及びコントラスト値OLC(s)の一例を示す図である。
図7中、実線は、各シフト数sにおける相関値SCO(s)(言い換えると、相関関数)を示し、破線は、各シフト数sにおけるコントラスト値OLC(s)を示す。
図7中、縦軸は、相関値SCO(s)及びコントラスト値OLC(s)を示し、横軸は、シフト数sを示す。上述したように、本実施形態では、シフト数s=±3(すなわち7通りの)相関値SCO(s)及びコントラスト値OLC(s)が求められる。
【0056】
一対の被写体像の相対的な位置ずれ量は、Aセンサ列AnとBセンサ列Bnとが一致したときのシフト数である。そこで、カメラ制御部103は、ステップS204において、相関関数の極小値を検出し、この極小値をとるときのBセンサ列Bnに対するAセンサ列Anのシフト数s、すなわち像間隔を、相関演算結果(測距値)として検出する。
図7の例では、相関関数は、シフト数sが+2のときに極小値をとる。
【0057】
このように、カメラ制御部103(焦点調節制御部103b)は、センサ列より出力される画像信号列について相関演算を行う相関演算部として動作する。
【0058】
なお、本実施形態では、ラインセンサ118eA、118eBの画素単位よりも細かい単位での極小値を求めるため、相関関数について補間演算を行う。例示的には、シフト数s(=+2)及びその±1のシフト数(=+1、+3)の相関値SCOの3点で線形補間を行い、サブピクセル単位での極小値を求める。これにより、
図7の例では、相関値が極小となるときのシフト数として+1.7が求まる。また、このときの相関値SCO(s)は304となる。
図7では、この補間処理によって得られた相関値SCO(s)を黒い四角の点で示す。なお、補間処理の結果、相関値SCO(s)が負数になる場合は、相関値SCO(s)をゼロに置換する。
【0059】
このように、カメラ制御部103(焦点調節制御部103b)は、相関関数に対する補間処理によりサブピクセル単位での位相ずれ量を計算する補間計算部として動作する。
【0060】
本実施形態では、信頼性判定値TRS(s)は、補間処理後の相関値SCO(s)をコントラスト値OLC(s)で除した値とする。これにより、相関値が極小となるときのシフト数が例えば+1.7のように整数でない場合に、補間処理前の相関値SCO(s)をコントラスト値OLC(s)で除した値と比べて、信頼性判定値TRS(s)が判定値として精度の高いものとなる。なお、分子である相関値SCO(s)が小さいほどAセンサ列AnとBセンサ列Bnとの一致度が高い。そのため、この信頼性判定値TRS(s)は、ゼロに近いほど、相関演算結果の信頼性が高いことを示すものとなっている。
【0061】
すなわち、相関演算によって求まった相関関数が極小値を取るときの位相ずれ量(第1の位相ずれ量)の信頼性判定値は、補間処理後の相関関数での極小値を、第1の位相ずれ量でのコントラスト値で除した値である。
【0062】
カメラ制御部103は、この信頼性判定値TRS(s)が第1の閾値以下(言い換えると、第1の位相ずれ量の信頼性判定値が所定閾値以下)の場合には信頼性フラグを「T(true)」に設定し、この信頼性判定値TRS(s)が第1の閾値より大きい場合には信頼性フラグを「F(false)」に設定する。カメラ制御部103は、前者の場合には、デフォーカス量を算出してステップS205に進む。カメラ制御部103は、後者の場合には、デフォーカス量を算出せずにステップS205に進む。
【0063】
このように、カメラ制御部103(焦点調節制御部103b)は、相関演算部による相関演算結果の信頼性を判定する信頼性判定部として動作する。また、カメラ制御部103(焦点調節制御部103b)は、信頼性判定部により信頼性ありと判定されると、信頼性ありと判定された相関演算結果に基づいてデフォーカス量を算出するデフォーカス量算出部として動作する。
【0064】
本実施形態では、第1の閾値を、セパレータマスク118cや再結像レンズ118dの製造誤差による非対称性、測距素子118eのノイズ成分による焦点検出信号のばらつきを考慮して、例えば0.05に設定する。
【0065】
カメラ制御部103は、相関演算範囲を遠近混在部が含まれない範囲に絞り込む絞り込み範囲探索処理(ステップS207)及びデフォーカス量(言い換えると、合焦対象の被写体)を選択するデフォーカス量選択処理(ステップS210)で必要な各相関演算データを演算範囲要素iの配列に格納(言い換えると、各相関演算データを設定)する(ステップS205)。
【0066】
具体的には、カメラ制御部103は、ステップS204にて求められた相関値SCO(s)を相関値SCO[i]として、コントラスト値OLC(s)をコントラスト値OLC[i]として、信頼性判定値TRS(s)を信頼性判定値TRS[i]として、信頼性フラグを信頼性フラグ[i]として、シフト数(s)をシフト数[i]として、補間処理後のシフト数(s)を補間シフト数[i]として、デフォーカス量をデフォーカス量[i]として、それぞれ、RAM等に格納する。
【0067】
カメラ制御部103は、演算範囲要素iの配列に格納された信頼性フラグ[i]が「T(true)」の場合(ステップS206:YES)、演算範囲要素iにおける相関演算範囲が遠近混在部を含まない可能性の高い範囲であるとみなし、iを1インクリメントして(ステップS209)、当該範囲についての相関演算処理を完了する。カメラ制御部103は、1インクリメント後のiが演算範囲要素数Iよりも小さい(すなわち、i(=i+1)<Iである)場合、次の演算範囲要素i(=i+1)に対してステップS204~S209の処理を実行する。
【0068】
カメラ制御部103は、演算範囲要素iの配列に格納された信頼性フラグ[i]が「F(false)」の場合(ステップS206:NO)、演算範囲要素iにおける相関演算範囲が遠近混在部を含む可能性の高い範囲であるとみなし、ステップS207の絞り込み範囲探索処理を行う。この絞り込み範囲探索処理では、相関演算範囲から遠近混在部を排除する範囲が探索され、探索された範囲(絞り込み範囲)で相関演算処理が行われる。遠近混在部を排除した範囲で相関演算及びデフォーカス量計算が行われるため、精度の高い焦点調節処理が可能となる。
【0069】
図8は、
図6の絞り込み範囲探索処理(ステップS207)を示すフローチャートである。
【0070】
図8に示されるように、カメラ制御部103は、絞り込み範囲探索処理に用いるデータの初期化処理を行う(ステップS301)。
図9に、この初期化処理(ステップS301)のフローチャートを示す。
【0071】
図9に示されるように、カメラ制御部103は、絞り込み範囲の始端画素と終端画素の初期値を設定する(ステップS401)。この初期値は、ステップS204において相関演算処理を行ったAセンサ列Anの演算範囲である。絞り込み範囲探索処理の初回実行時(i=0)には、ステップS204においてAセンサ列Anの画素4~29に対して相関演算処理が行われているため、始端画素が4に設定され、終端画素が29に設定される。
【0072】
カメラ制御部103は、絞り込み範囲画素数の初期値を計算する(ステップS402)。絞り込み範囲探索処理の初回実行時(i=0)には、ステップS204においてAセンサ列AnとBセンサ列Bnの26画素に対して相関演算処理が行われているため、絞り込み範囲画素数として26が計算される。
【0073】
カメラ制御部103は、絞り込み範囲の始端画素の相関値(「始端側相関値[1])の初期値と、絞り込み範囲の終端画素の相関値(終端側相関値[1]」)の初期値を計算する(ステップS403)。絞り込み範囲探索処理の初回実行時(i=0)には、相関関数が極小値を取るときのシフト数s(=+2)における、画素4の画素単位相関値[4]、画素29の画素単位相関値[29]が、それぞれ、始端側相関値[1]の初期値、終端側相関値[1]の初期値として計算される。始端側相関値[1]の初期値は、例えば32であり、終端側相関値[1]の初期値は、例えば64である。
【0074】
なお、ステップS204において相関値SCO(s)及びコントラスト値OLC(s)を求める過程で、各シフト数s=±3の画素単位相関値[n]、隣接画素間コントラスト値CA[n]、隣接画素間コントラスト値CB[n]が求まっている。
【0075】
カメラ制御部103は、絞り込み範囲最小コントラスト差の初期値として、ステップS204の相関演算処理で求められたコントラスト差を設定する(ステップS404)。ここで、ステップS204では、相関関数が極小値を取るときのシフト数s(=+2)におけるコントラスト値OLC(+2)と、これに隣接するシフト数s(=+1)におけるコントラスト値OLC(+1)との差分、及びコントラスト値OLC(+2)と、これに隣接するシフト数s(=+3)におけるコントラスト値OLC(+3)との差分が計算され、計算された差の絶対値が大きい方がコントラスト差として求められる。言い換えると、コントラスト差は、第1の位相ずれ量と、第1の位相ずれ量よりも所定画素分(ここでは一例として1画素分、別の実施形態では2画素分以上であってもよい。)大きい又は小さい第2の位相ずれ量と、のコントラスト値の差である。
【0076】
図7に示されるコントラスト値OLC(+1)、OLC(+2)、OLC(+3)は、それぞれ、「1528」、「1520」、「1504」である。そのため、カメラ制御部103は、絞り込み範囲探索処理の初回実行時(i=0)には、ステップS204においてコントラスト差として16を求め、ステップS404において絞り込み範囲最小コントラスト差の初期値として16を設定する。
【0077】
カメラ制御部103は、絞り込み範囲最小信頼性判定値の初期値としてステップS204の相関演算処理で求められた信頼性判定値を設定する(ステップS405)。ここで、絞り込み範囲探索処理の初回実行時(i=0)には、ステップS204では、信頼性判定値TRS(s)として、補間処理後の相関値SCO(s)をコントラスト値OLC(s)で除した値(=304/1520)が計算される。そのため、カメラ制御部103は、絞り込み範囲最小信頼性判定値の初期値として0.2を設定する。
【0078】
カメラ制御部103は、絞り込み範囲画素数が第2の閾値より大きい限り(ステップS302)、ステップS303~S317の絞り込み処理を繰り返し実行する。第2の閾値は、例えば4である。絞り込み範囲探索処理の初回実行時(i=0)には、絞り込み範囲画素数が26に設定されているため、ステップS303以降の処理が実行される。
【0079】
カメラ制御部103は、始端側相関値[2]、終端側相関値[2]、始端側コントラスト値[1]、終端側コントラスト値[1]を計算する(ステップS303)。
【0080】
始端側相関値[2]は、絞り込み範囲の始端画素の+方向に隣接する画素の画素単位相関値である。終端側相関値[2]は、終端画素の-方向に隣接する画素の画素単位相関値である。
【0081】
始端側コントラスト値[1]は、絞り込み範囲の始端画素での隣接画素間コントラスト値CA[n]と、当該始端画素での隣接画素間コントラスト値CB[n+s]との合計を2で割った値である。終端側コントラスト値[1]は、絞り込み範囲の終端画素での隣接画素間コントラスト値CA[n]と、絞り込み範囲の終端画素での隣接画素間コントラスト値CB[n+s]との合計を2で割った値である。
【0082】
カメラ制御部103は、絞り込み範囲の始端側相関値[X]、終端側相関値[X]、始端側コントラスト値[X]、終端側コントラスト値[X]、始端側信頼性判定値[X]、終端側信頼性判定値[X]を計算する(ステップS304)。
【0083】
始端側相関値[X]は、始端側相関値[0]と始端側相関値[1]と始端側相関値[2]との合計である。始端側相関値[0]は、絞り込み範囲の始端画素の-方向に隣接する画素の画素単位相関値である。終端側相関値[X]は、終端側相関値[0]と終端側相関値[1]と終端側相関値[2]との合計である。終端側相関値[0]は、絞り込み範囲の始端画素の+方向に隣接する画素の画素単位相関値である。
【0084】
始端側コントラスト値[X]は、始端側コントラスト値[0]と始端側コントラスト値[1]との合計である。始端側コントラスト値[0]は、絞り込み範囲の始端画素の-方向に隣接する画素での隣接画素間コントラスト値CA[n]と、当該画素での隣接画素間コントラスト値CB[n+s]との合計を2で割った値である。終端側コントラスト値[X]は、終端側コントラスト値[0]と終端側コントラスト値[1]との合計である。終端側コントラスト値[0]は、絞り込み範囲の終端画素の+方向に隣接する画素での隣接画素間コントラスト値CA[n]と、当該画素での隣接画素間コントラスト値CB[n+s]との合計を2で割った値である。
【0085】
始端側信頼性判定値[X]は、始端側相関値[X]を始端側コントラスト値[X]で除した値である。終端側信頼性判定値[X]は、終端側相関値[X]を終端側コントラスト値[X]で除した値である。
【0086】
カメラ制御部103は、始端側信頼性判定値[X]が終端側信頼性判定値[X]よりも大きいか否かを判定する(ステップS305)。カメラ制御部103は、始端側信頼性判定値[X]が終端側信頼性判定値[X]以下の場合(ステップS305:NO)、始端側信頼性判定値[X]が終端側信頼性判定値[X]よりも小さいか否かを判定する(ステップS306)。カメラ制御部103は、始端側信頼性判定値[X]と終端側信頼性判定値[X]が同じ値の場合(ステップS306:NO)、始端側コントラスト値[X]が終端側コントラスト値[X]よりも小さいか否かを判定する(ステップS307)。カメラ制御部103は、始端側コントラスト値[X]が終端側コントラスト値[X]以上の場合(ステップS307:NO)、始端側コントラスト値[X]が終端側コントラスト値[X]よりも大きいか否かを判定する(ステップS308)。
【0087】
ステップS309~S311において、カメラ制御部103は、始端画素絞り込みフラグと終端画素絞り込みフラグを「T(true)」又は「F(false)」に設定する。始端画素絞り込みフラグは、相関演算範囲から遠近混在部を排除するうえで始端画素が絞り込むべき画素であることを示すフラグである。終端画素絞り込みフラグは、相関演算範囲から遠近混在部を排除するうえで終端画素が絞り込むべき画素であることを示すフラグである。
【0088】
カメラ制御部103は、始端側信頼性判定値[X]が終端側信頼性判定値[X]よりも大きい場合(ステップS305:YES)、始端画素が絞り込むべき画素であるとみなし、始端画素絞り込みフラグを「T(true)」に設定し、終端画素絞り込みフラグを「F(false)」に設定する(ステップS309)。これとは逆に、終端側信頼性判定値[X]が始端側信頼性判定値[X]よりも大きい場合(ステップS306:YES)、カメラ制御部103は、終端画素が絞り込むべき画素であるとみなし、始端画素絞り込みフラグとして「F(false)」を立て、終端画素絞り込みフラグを「T(true)」に設定する(ステップS310)。
【0089】
始端側信頼性判定値[X]と終端側信頼性判定値[X]が同じ値の場合は、コントラスト値によって絞り込むべき画素が判断される。具体的には、コントラスト値が小さい方に相関演算範囲を絞り込むと、偽ボトム(相関関数において真なる極小値にはならない変曲点)を極小値として検出する可能性が高くなる。そのため、コントラスト値が小さい画素が絞り込むべき画素として判断される。
【0090】
カメラ制御部103は、始端側コントラスト値[X]が終端側コントラスト値[X]よりも小さい場合(ステップS307:YES)、始端画素が絞り込むべき画素であるとみなし、始端画素絞り込みフラグを「T(true)」設定し、終端画素絞り込みフラグを「F(false)」に設定する(ステップS309)。これとは逆に、終端側コントラスト値[X]が始端側コントラスト値[X]よりも小さい場合(ステップS308:YES)、カメラ制御部103は、終端画素が絞り込むべき画素であるとみなし、始端画素絞り込みフラグを「F(false)」に設定し、終端画素絞り込みフラグを「T(true)」に設定する(ステップS310)。
【0091】
始端側信頼性判定値[X]と終端側信頼性判定値[X]が同じで、始端側コントラスト値[X]と終端側コントラスト値[X]も同じ場合(ステップS308:NO)は、始端画素と終端画素の何れを絞り込むべきか判断するのが難しい。そこで、この場合、カメラ制御部103は、両方の画素が絞り込むべき画素であるとみなし、始端画素絞り込みフラグを「T(true)」に設定し、終端画素絞り込みフラグを「T(true)」に設定する(ステップS311)。
【0092】
カメラ制御部103は、ステップS309~S311にて立てられたフラグに従って絞り込まれたときの相関演算範囲の見込み画素数が、第2の閾値(ステップS302参照)より大きいか否かを判定する(ステップS312)。
【0093】
カメラ制御部103は、見込み画素数が第2の閾値より大きい場合(ステップS312:YES)、フラグに従って相関演算範囲の絞り込みを行う(ステップS313~S316)。具体的には、カメラ制御部103は、始端画素絞り込みフラグが「T(true)」の場合(ステップS313:YES)、相関演算範囲から始端画素を除外し(ステップS314)、終端画素絞り込みフラグが「T(true)」の場合(ステップS315:YES)、相関演算範囲から終端画素を除外する(ステップS316)。
【0094】
カメラ制御部103は、見込み画素数が第2の閾値以下の場合(ステップS312:NO)、ステップS313~S316の絞り込み処理を実行することなく、
図8の絞り込み範囲探索処理を終了する。
【0095】
このように、カメラ制御部103(焦点調節制御部103b)は、信頼性判定部により信頼性なしと判定されると、絞り込み範囲探索処理(ステップS207)を実行することにより、相関演算を行った画像信号列の始端側の画像信号に対する信頼性と、終端側の画像信号に対する信頼性と、を比較し、比較結果に基づいて画像信号列から始端側と終端側の少なくとも一方の画像信号を除外することにより、画像信号列を絞り込む絞込部として動作する。
【0096】
この絞込部は、絞り込むべき画素を精度よく判定するため、ステップS305~S308において、始端側に位置する複数の画像信号に対する信頼性(具体的には、複数の画像信号に対する信頼性を示す始端側信頼性判定値[X])と、終端側に位置する複数の画像信号に対する信頼性(具体的には、複数の画像信号に対する信頼性を示す終端側信頼性判定値[X])と、を比較する。
【0097】
また、この絞込部は、始端側の画像信号に対する信頼性と、終端側の画像信号に対する信頼性とが同じ場合、ステップS307~S310において、始端側の画像信号のコントラスト値である始端側コントラスト値(始端側コントラスト値[X])と、終端側の画像信号のコントラスト値である終端側コントラスト値(終端側コントラスト値[X])と、を比較し、コントラスト値が低い方の端部の画像信号を画像信号列から除外する。この絞込部は、更に、始端側コントラスト値と終端側コントラスト値とが同じであった場合には、ステップS311において、両方の端部の画像信号を画像信号列から除外する。
【0098】
カメラ制御部103は、ステップS313~S316の処理による絞り込み後の範囲に対して相関演算処理を行う(ステップS317)。
図10は、絞り込み後の範囲に対して行われる相関演算処理(ステップS317)を示すフローチャートである。
【0099】
図10に示されるように、カメラ制御部103は、ステップS313~S316の処理による絞り込み後の範囲を相関演算範囲[i]としてRAM等に格納する(ステップS501)。
【0100】
カメラ制御部103は、この絞り込み後の相関演算範囲[i]を今回の演算範囲に設定し(ステップS502)、この絞り込み後の範囲に対して、ステップS204と同様の相関演算処理を行う(ステップS503)。
【0101】
カメラ制御部103は、ステップS503において絞り込み後の範囲での相関関数にて極小値が検出され(ステップS504:YES)、ステップS503にて求められた、絞り込み後の範囲でのコントラスト差が、絞り込み範囲最小コントラスト差以下であり(ステップS505:YES)、ステップS503にて求められた、絞り込み後の範囲での信頼性判定値TRS(s)が、絞り込み範囲最小信頼性判定値未満の場合(ステップS506:YES)、絞り込み範囲最小信頼性判定値をステップS503にて求められた信頼性判定値TRS(s)に更新するとともに(ステップS507)、絞り込み範囲最小コントラスト差をステップS503にて求められた上記コントラスト差に更新する(ステップS508)。次いで、カメラ制御部103は、ステップS205にて演算範囲要素iの配列に格納された各相関演算データを、絞り込み後の範囲について計算された各相関演算データで更新して(ステップS509)、
図10の相関演算処理を終了する。
【0102】
極小値が求まったシフト数sにおける相関演算範囲のコントラスト値に対してシフト数s±1でのコントラスト値の差が小さいほど、この相関演算範囲に遠近混在部が含まれない可能性が高くなり、補間シフト数(言い換えるとデフォーカス量)の精度が高い相関演算データを得られやすくなる。そのため、上記の例では、絞り込み後の範囲でのコントラスト差が絞り込み範囲最小コントラスト差以下の場合(ステップS505:YES)に、絞り込み範囲最小コントラスト差がこのコントラスト差に更新される(ステップS508)。
【0103】
カメラ制御部103は、ステップS504~S506の何れかでNO判定となった場合には、ステップS205にて演算範囲要素iの配列に格納された各相関演算データを更新することなく、ステップS501にて格納した、
図8のステップS313~S316の処理による絞り込み後の相関演算範囲[i]を、前回の相関演算範囲に戻して(ステップS510)、
図10の相関演算処理を終了する。
【0104】
カメラ制御部103は、絞り込み範囲画素数が第2の閾値より大きい限り(ステップS302)、ステップS303~S317の絞り込み処理を繰り返し実行し、最終的な絞り込み範囲を決定する。
図10の相関演算処理では、この最終的な絞り込み範囲での各相関演算データが得られる。
【0105】
図11は、
図6の絞り込み範囲探索処理(ステップS207)の実行により絞り込まれる相関演算範囲の具体的一例を示す図である。
図11の「画素範囲」は、相関演算範囲を示す。また、
図11では、相関関数が極小値を取るときのシフト数s(=+2)及びその±1のシフト数(=s+1、+3)の相関値SCO(s)及びコントラスト値OLC(s)を示す。また、
図11には、コントラスト差も示される。
図11中、信頼性判定値TRS(s)は、補間処理後の相関値SCO(s)をコントラスト値OLC(s)で除した値である。例えば画素範囲が画素4~29のときには、相関関数が極小値を取るときのシフト数sの相関値SCO(+2)を補間したときの相関値が304である。そのため、信頼性判定値TRS(s)は、この相関値(すなわち、304)をシフト数sが+2のコントラスト値OLC(+2)(すなわち、1520)で除した値0.2となる。
【0106】
初回の絞り込み範囲探索処理では、ステップS303において、始端側相関値[2]として32(=画素単位相関値[5(=4+1)])が計算され、終端側相関値[2]として96(=画素単位相関値[28(=29-1)])が計算される。
【0107】
また、ステップS303において、始端側コントラスト値[1]として32が計算され、終端側コントラスト値[1]として32が計算される。始端側コントラスト値[1]は、隣接画素間コントラスト値CA[4](例えば32)と隣接画素間コントラスト値CB[6(=4+2)](例えば32)との合計を2で除した値である。終端側コントラスト値[1]は、隣接画素間コントラスト値CA[28(=29-1)](例えば48)と隣接画素間コントラスト値CB[30(=(29-1)+2)](例えば16)との合計を2で除した値である。
【0108】
また、ステップS304において、始端側相関値[X]として64が計算され、終端側相関値[X]として160が計算され、始端側コントラスト値[X]として32が計算され、終端側コントラスト値[X]として32が計算され、始端側信頼性判定値[X]として2が計算され、終端側信頼性判定値[X]として5が計算される。
【0109】
初回の絞り込み範囲探索処理では、終端側信頼性判定値[X]が始端側信頼性判定値[X]よりも大きいため(ステップS306:YES)、相関演算範囲から終端画素29が除外される(ステップS316)。これにより、相関演算範囲が画素範囲4~29から画素範囲4~28に絞り込まれる(
図11の画素範囲4~29及び画素範囲4~28参照)。
【0110】
2回目の絞り込み範囲探索処理では、ステップS303において、始端側相関値[2]として32(=画素単位相関値[5])が計算され、終端側相関値[2]として96(=画素単位相関値[27(=28-1)])が計算される。
【0111】
また、ステップS303において、始端側コントラスト値[1]として32が計算され、終端側コントラスト値[1]として48が計算される。2回目の絞り込み範囲探索処理において、始端側コントラスト値[1]は、隣接画素間コントラスト値CA[4](例えば32)と隣接画素間コントラスト値CB[6(=4+2)](例えば32)との合計を2で除した値である。また、終端側コントラスト値[1]は、隣接画素間コントラスト値CA[27(=28-1)](例えば48)と隣接画素間コントラスト値CB[29(=(28-1)+2)](例えば48)との合計を2で除した値である。
【0112】
また、ステップS304において、始端側相関値[X]として64が計算され、終端側相関値[X]として256が計算され、始端側コントラスト値[X]として32が計算され、終端側コントラスト値[X]として80が計算され、始端側信頼性判定値[X]として2が計算され、終端側信頼性判定値[X]として3.2が計算される。
【0113】
2回目の絞り込み範囲探索処理においても、終端側信頼性判定値[X]が始端側信頼性判定値[X]よりも大きいため(ステップS306:YES)、相関演算範囲から終端画素28が除外される(ステップS316)。これにより、相関演算範囲が画素範囲4~28から画素範囲4~27に絞り込まれる(
図11の画素範囲4~28及び画素範囲4~27参照)。
【0114】
図11の例では、相関演算範囲を画素12~21に絞り込んだときにコントラスト差がゼロとなる。コントラスト差は絶対値であるため、ゼロは最小値である。また、このときの信頼性判定値TRS(s)はゼロであり、第1の閾値(例えば0.05)を下回る。信頼性判定値TRS(s)は負数を取らないため、ゼロは最小値である。絞り込み範囲画素数が第2の閾値(ここでは4)より大きい限り(ステップS302)、ステップS303~S317の絞り込み処理は繰り返し実行される。しかし、
図11の例では、画素範囲12~21に絞り込んだ時点でコントラスト差、信頼性判定値TRS(s)が最小値となる。そのため、ステップS506にてNO判定となる。従って、画素範囲12~21に絞り込んだときの更新を最後に、各相関演算データの更新は行われない。すなわち、絞り込み範囲探索処理の初回実行時(i=0)には、相関演算範囲が画素範囲4~29から画素範囲12~21に絞り込まれる。ステップS503において、この画素範囲12~21に対し、信頼性ありを示す信頼性フラグが「T(true)」に設定され、デフォーカス量が算出される。
【0115】
すなわち、カメラ制御部103(焦点調節制御部103b)は、絞り込み範囲探索処理(ステップS207)を実行することにより、信頼性判定部により信頼性ありと判定されるまで、絞込部による画像信号列の絞り込み及び相関演算部による絞り込み後の画像信号列の範囲に対する相関演算を行う。より詳細には、カメラ制御部103(焦点調節制御部103b)は、絞込部による画像信号列の絞り込み及び相関演算部による絞り込み後の画像信号列の範囲に対する相関演算を行い、第1の位相ずれ量の信頼性判定値が所定条件を満たし且つコントラスト差が最小になる相関演算結果が得られると、この相関演算結果について信頼性ありと判定する。
【0116】
図12は、
図7と同様の図であって、画素範囲12~21に対して相関演算処理(ステップS317)を行ったときに求められる相関値SCO(s)及びコントラスト値OLC(s)の一例を示す図である。
【0117】
本実施形態では、相関演算範囲が画素範囲12~21に絞り込まれることにより、
図12に示されるように、補間処理後の相関値が極小となるときのシフト数として+2、言い換えると、被写体300に対する精確なデフォーカス量に相当する位相ずれ量が求まる。これは、遠近混在部が排除された(すなわち、相関演算範囲が被写体300のみが位置する範囲に絞り込まれた)ことを示す。このように、本実施形態によれば、焦点検出エリア120内に撮影距離の異なる複数の被写体300~302が混在する場合にも、精度の高いデフォーカス量を算出することが可能となる。
【0118】
図13は、
図6の余剰範囲確認処理(ステップS208)を示すフローチャートである。
【0119】
カメラ制御部103は、ステップS208において、全画像信号列のうち、絞り込み範囲探索処理(ステップS207)による絞り込み後の範囲(上記の例では画素範囲12~21)以外の範囲(以下「余剰範囲」と記す。)を検出し、更に、この余剰範囲の中から、相関演算処理を行うべき範囲について確認する。概略的には、余剰範囲がある程度まとまった数の画素範囲(ここでは4画素以上よりなる画素範囲)であり、且つ余剰範囲のコントラスト値がある程度の値(ここでは例えば100)以上であるかが確認される。
【0120】
図13に示されるように、カメラ制御部103は、余剰範囲から始端側の余剰範囲の画素数を計算する(ステップS601)。余剰範囲確認処理の初回実行時(i=0)には、画素範囲4~11の画素数(すなわち8つ)が始端側の余剰範囲の画素数として計算される。
【0121】
カメラ制御部103は、ステップS601において計算された始端側の余剰範囲の画素数が第3の閾値(例えば第2の閾値と同じ「4」)以上の場合(ステップS602:YES)、この余剰範囲について隣接画素間コントラスト値CA[n]の積算値を計算する(ステップS603)。具体的には、隣接画素間コントラスト値CA[4]~CA[10]の積算値として304が計算される。
【0122】
カメラ制御部103は、ステップS603において計算された積算値が第4の閾値(例えば100)以上の場合(ステップS604:YES)、演算範囲要素数I(I=1)の演算範囲の配列に、ステップS601において計算された始端側の余剰範囲を設定し(ステップS605)、演算範囲要素数Iを1インクリメントする(ステップS606)。
【0123】
また、カメラ制御部103は、余剰範囲から終端側の余剰範囲の画素数を計算する(ステップS607)。余剰範囲確認処理の初回実行時(i=0)には、画素範囲22~29の画素数(すなわち8つ)が終端側の余剰範囲の画素数として計算される。
【0124】
カメラ制御部103は、ステップS607において計算された終端側の余剰範囲の画素数が第5の閾値(例えば第2の閾値と同じ「4」)以上の場合(ステップS608:YES)、この余剰範囲について隣接画素間コントラスト値CA[n]の積算値を計算する(ステップS609)。具体的には、隣接画素間コントラスト値CA[22]~CA[28]の積算値として400が計算される。
【0125】
カメラ制御部103は、ステップS609において計算された積算値が第4の閾値以上の場合(ステップS610:YES)、演算範囲要素数I(I=2)の演算範囲の配列に、ステップS607において計算された終端側の余剰範囲を設定し(ステップS611)、演算範囲要素数Iを1インクリメントする(ステップS612)。
【0126】
カメラ制御部103は、演算範囲要素iを1インクリメントする(ステップS209)。これにより、2回目以降の(i=1,2・・・)ステップS203~S209が実行される。
【0127】
なお、ステップS602又は604においてNO判定になると、ステップS606において演算範囲要素数Iが1インクリメントされない。また、ステップS608又は610においてNO判定になると、ステップS612において演算範囲要素数Iが1インクリメントされない。相関演算処理を行うべき全ての範囲に対してステップS204~S207の処理が完了すると、演算範囲要素iが演算範囲要素数Iと同じ値となる。これにより、カメラ制御部103は、ステップS203~S209のループを抜けて、ステップS210のデフォーカス量選択処理を行う。
【0128】
図14Aは、
図7と同様の図であって、余剰範囲4~11に対して相関演算処理(ステップS204)を行ったときに求められる相関値SCO(s)及びコントラスト値OLC(s)の一例を示す図である。
図14Bは、
図7と同様の図であって、余剰範囲4~10に対して相関演算処理(ステップS317)を行ったときに求められる相関値SCO(s)及びコントラスト値OLC(s)の一例を示す図である。
【0129】
余剰範囲4~11では、コントラスト差が40であり、信頼性判定値TRS(s)が0.16129であるが、余剰範囲4~10では、コントラスト差、信頼性判定値TRS(s)が何れもゼロとなる。そのため、画素範囲4~10に絞り込んだときの更新を最後に、各相関演算データの更新は行われない。すなわち、絞り込み範囲探索処理の2回目の実行時(i=1)には、相関演算範囲が画素範囲4~11から画素範囲4~10に絞り込まれる。
【0130】
ここでは、相関演算範囲が画素範囲4~10に絞り込まれることにより、
図14Bに示されるように、補間処理後の相関値が極小となるときのシフト数として+1、言い換えると、被写体301に対する精確なデフォーカス量に相当する位相ずれ量が求まる。これは、遠近混在部が排除された(すなわち、相関演算範囲が被写体301のみが位置する範囲に絞り込まれた)ことを示す。このように、本実施形態によれば、焦点検出エリア120内に撮影距離の異なる複数の被写体300~302が混在する場合にも、精度の高いデフォーカス量を算出することが可能となる。
【0131】
図15Aは、
図7と同様の図であって、余剰範囲22~29に対して相関演算処理(ステップS204)を行ったときに求められる相関値SCO(s)及びコントラスト値OLC(s)の一例を示す図である。
図15Bは、
図7と同様の図であって、余剰範囲26~29に対して相関演算処理(ステップS317)を行ったときに求められる相関値SCO(s)及びコントラスト値OLC(s)の一例を示す図である。
【0132】
余剰範囲22~29では、コントラスト差が16であり、信頼性判定値TRS(s)が0.63333であるが、余剰範囲26~29では、コントラスト差、信頼性判定値TRS(s)が何れもゼロとなる。そのため、画素範囲26~29に絞り込んだときの更新を最後に、各相関演算データの更新は行われない。すなわち、絞り込み範囲探索処理の3回目の実行時(i=2)には、相関演算範囲が画素範囲22~29から画素範囲26~29に絞り込まれる。
【0133】
ここでは、相関演算範囲が画素範囲26~29に絞り込まれることにより、
図15Bに示されるように、補間処理後の相関値が極小となるときのシフト数としてゼロ、言い換えると、被写体302に対する精確なデフォーカス量に相当する位相ずれ量が求まる。これは、遠近混在部が排除された(すなわち、相関演算範囲が被写体302のみが位置する範囲に絞り込まれた)ことを示す。このように、本実施形態によれば、焦点検出エリア120内に撮影距離の異なる複数の被写体300~302が混在する場合にも、精度の高いデフォーカス量を算出することが可能となる。
【0134】
画素範囲22~29を画素範囲26~29に絞り込んだ後の余剰範囲22~25は、画素数が第3の閾値(ここでは4)以上であり、隣接画素間コントラスト値CA[n]の積算値が208となる。そのため、余剰範囲22~25は、相関演算処理を行うべき全ての範囲として、演算範囲要素数I(I=3)の演算範囲の配列に設定される(ステップS601~S606)。
【0135】
図16は、
図7と同様の図であって、余剰範囲22~25に対して相関演算処理(ステップS204)を行ったときに求められる相関値SCO(s)及びコントラスト値OLC(s)の一例を示す図である。
【0136】
余剰範囲22~25では、シフト数sが+2、補間処理後のシフト数sが+1.6875、補間処理後の相関値SCO(s)の最小値が112、コントラスト値OLC(s)が256、信頼性判定値TRS(s)が0.4375となる。信頼性判定値TRS(s)が第1の閾値(ここでは0.05)よりも高いものの、余剰範囲の画素数が第3の閾値(ここでは4)に達している。そのため、カメラ制御部103は、相関演算範囲のこれ以上の絞り込みを行わず、ステップS203~S209のループを抜けて、ステップS210のデフォーカス量選択処理を行う。
【0137】
このように、カメラ制御部103(焦点調節制御部103b)は、画像信号列の全範囲のうち、相関演算結果が信頼性ありと判定された第1の範囲以外の範囲(すなわち余剰範囲)を検出する検出部として動作する。また、カメラ制御部103(焦点調節制御部103b)は、信頼性判定部により、検出範囲での相関演算結果が信頼性なしと判定されると、相関演算結果が信頼性ありと判定されるまで、絞込部による画像信号列の絞り込み及び相関演算部による絞り込み後の画像信号列の範囲に対する相関演算を行う。
【0138】
図17は、
図6のデフォーカス量選択処理(ステップS210)を示すフローチャートである。
【0139】
図17に示されるように、カメラ制御部103は、デフォーカス量を規定値(例えば-65536)に設定し(ステップS701)、測距フラグを「F(false)」に設定し(ステップS702)、変数iをゼロに設定する(ステップS703)。
【0140】
カメラ制御部103は、AFモード時(ステップS704:YES)、撮影装置1に最も近い被写体が主被写体である可能性が高いという理由から、シフト数sが+2の場合のデフォーカス量(言い換えると、被写体300に対する精確なデフォーカス量)を選択する(ステップS705~S710)。なお、撮影装置1に最も近い被写体に対するデフォーカス量を選択することにより、撮影距離の異なる複数の被写体が混在する場合にも背景抜け(すなわち、撮影装置1に対して主被写体300よりも遠い被写体301や被写体302にピントを合わせてしまう動作)の発生が防がれる。
【0141】
具体的には、カメラ制御部103は、変数iが演算範囲要素数I(ここではI=3)以下である限り(ステップS705)、ステップS706~710の処理を繰り返し実行する。カメラ制御部103は、信頼性フラグ[i]が「T(true)」であり(ステップS706:YES)、デフォーカス量[i]が現在のデフォーカス量よりも大きい場合(ステップS707:YES)、デフォーカス量[i]を現在のデフォーカス量に更新する(ステップS708)。次いで、カメラ制御部103は、測距フラグを「T(true)」に設定して(ステップS709)、変数iを1インクリメントする(ステップS710)。
【0142】
このように、カメラ制御部103(焦点調節制御部103b)は、検出範囲の中で相関演算結果が信頼性ありと判定される範囲が少なくとも1つある場合、デフォーカス量算出部により、第1の範囲及び少なくとも1つの範囲の各範囲について算出されたデフォーカス量のうち、撮影装置1(自動焦点検出装置)に最も近い被写体に対応する範囲について算出されたデフォーカス量を、フォーカスレンズ群203を駆動するためのデフォーカス量として選択するデフォーカス量選択部として動作する。
【0143】
なお、カメラ制御部103は、AFモード時(ステップS704:YES)、撮影装置1から最も遠い被写体302又は中間に位置する被写体301に対する合焦を行うべく、シフト数sがゼロ又は+1の場合のデフォーカス量を選択してもよい。
【0144】
カメラ制御部103は、MFモード時(ステップS704:NO)、フォーカスレンズ群203の現在位置に最も近い被写体の焦点調節状態を撮影者に報知するため、絶対値が最も小さいデフォーカス量(言い換えると、現在の焦点調節状態から最も合焦状態に近い範囲について算出されたデフォーカス量)を選択する(ステップS711~S716)。具体的には、本実施形態では、シフト数sがゼロの場合のデフォーカス量(言い換えると、被写体302のデフォーカス量)が選択される。なお、ステップS711~S716の処理は、ステップS713においてデフォーカス量[i]の絶対値が現在のデフォーカス量の絶対値よりも小さいか否かを判定する点を除き、ステップS705~S710と同様の処理となる。
【0145】
図18Aは、ステップS705~S710によりシフト数sが+2のときのデフォーカス量が選択された場合にファインダ116に表示される画面の一例を示す図である。
図18Bは、ステップS711~S716によりシフト数sがゼロのときのデフォーカス量が選択された場合にファインダ116に表示される画面の一例を示す図である。
【0146】
ステップS705~S710によりシフト数sが+2のときのデフォーカス量が選択されると、フォーカスレンズ群203がデフォーカス量に応じたレンズ駆動量だけ光軸方向に移動する。これにより、被写体300に焦点が合い、
図18Aに示されるように、合焦マーク121Aが表示される。この合焦マーク121Aは、ファインダ視野内において、ラインセンサ118eA、118eBの画素12~21が並ぶ領域(すなわち、遠近混在部を排除した絞り込み後の画素範囲12~21)と等価な領域を取り囲うマークとなっている。そのため、合焦マーク121Aの幅は、絞り込み後の画素範囲に応じて変わる。画素範囲12~21に対応するファインダ116内の領域には、ほぼ被写体300のみが位置する。そのため、
図18Aに示されるように、合焦マーク121Aは、被写体300に合う位置に表示される。
【0147】
ステップS711~S716によりシフト数sがゼロのときのデフォーカス量が選択されると、被写体302に焦点が合っているため、
図18Bに示されるように、合焦マーク121Aと同様の合焦マーク121Bが表示される。この合焦マーク121Bは、ファインダ視野内において、ラインセンサ118eA、118eBの画素26~29が並ぶ領域(すなわち、遠近混在部を排除した絞り込み後の画素範囲26~29)と等価な領域を取り囲うマークとなっている。画素範囲26~29に対応するファインダ116内の領域には、ほぼ被写体302のみが位置する。そのため、
図18Bに示されるように、合焦マーク121Bは、被写体302に合う位置に表示される。
【0148】
このように、カメラ制御部103(焦点調節制御部103b)は、被写体の合焦状態を報知する報知部として動作する。また、カメラ制御部103(焦点調節制御部103b)は、デフォーカス量選択部により選択されたデフォーカス量に対応する範囲の被写体が合焦状態にあることを撮影者に知らせる。
【0149】
MFモード時、撮影者がフォーカスリングを操作してフォーカスレンズ群203を現在位置から前ピン方向に移動させると、合焦マーク121Bが消去され、フォーカスレンズ群203がシフト数s=+1相当の量を移動したとき、
図18Bに示されるように、合焦マーク121Cが表示される。合焦マーク121Cは、ファインダ視野内において、ラインセンサ118eA、118eBの画素4~10が並ぶ領域(すなわち、遠近混在部を排除した絞り込み後の画素範囲4~10)と等価な領域を取り囲うマークである。更に、撮影者がフォーカスリングを操作してフォーカスレンズ群203を前ピン方向に移動させると、この合焦マークが消去され、フォーカスレンズ群203が更にシフト数s=+1相当の量を移動したとき、
図18Aに示されるように、合焦マーク121Aが表示される。なお、
図18Bでは、便宜上、合焦マーク121Cを一点鎖線で示すが、合焦マーク121Cは、例えば合焦マーク121Aや合焦マーク121Bと同様に、矩形の太枠状のマークであってもよい。
【0150】
この場合、撮影者は、ファインダ116内に表示される合焦マークを視認することにより、各被写体の合焦位置(言い換えると、各被写体に焦点を合わせる際のフォーカスリングの操作量)を把握することができる。
【0151】
すなわち、カメラ制御部103(焦点調節制御部103b)は、MFモード時、第1の範囲及び少なくとも1つの範囲の各範囲について算出されたデフォーカス量のうち、現在の焦点調節状態から最も合焦状態に近い範囲について算出されたデフォーカス量を選択し、選択されたデフォーカス量に対応する範囲の被写体が合焦状態にあることを報知する。
【0152】
カメラ制御部103(焦点調節制御部103b)は、カメラボディ100に設けられたスイッチ、ボタン、ダイヤル等に対する所定の操作が行われると、絞込モードのオンとオフとを切り替える絞込モード切替部として動作する。絞込モードがオンされているとき、本実施形態の如く
図4の焦点調節処理が実行され、相関演算範囲の絞り込み及び絞り込み後の相関演算範囲に対する相関演算が行われる。絞込モードがオフされているときには、相関演算範囲の絞り込み及び絞り込み後の相関演算範囲に対する相関演算を行わない従来の焦点調節処理が実行される。
【0153】
図18A及び
図18Bに示されるように、ファインダ116内には、絞込モードがオンされているか否か示すモードマーク121Dが表示される。撮影者は、このモードマーク121Dを視認することにより、絞込モードがオンされているか否かを把握することができる。なお、モードマーク121Dは、絞込モードがオンされているときに表示され、絞込モードがオフされているときに表示されない。
【0154】
すなわち、カメラ制御部103は、絞込モードがオンされているか否かを表示する表示部として動作する。
【0155】
[第2実施形態]
図19は、
図5と同様の図であって、本発明の第2実施形態において、カメラ制御部103(焦点調節制御部103b)が取得する焦点検出信号の一例を示す図である。本実施形態においても、被写体は、第1実施形態と同じ被写体300~302である。なお、本実施形態では、被写体300がサングラスを装用している。本実施形態では、このサングラスの偏光作用により、各ラインセンサ118eA、118eBに入射される被写体300の光量に差が生じる。言い換えると、各ラインセンサ118eA、118eBより出力される焦点検出信号にレベル差が生じる。このレベル差により、精確なデフォーカス量を算出できない場合がある。
【0156】
本実施形態においても、第1実施形態と同様に、カメラ制御部103(焦点調節制御部103b)により、
図4の焦点調節処理が実行される。
図20は、本実施形態において実行される測距演算処理(ステップS104)を示すフローチャートである。
【0157】
図20の測距演算処理は、ステップS207に代えて、ステップS207’を実行する点、及びステップS208とステップS209との間にステップS211~S212の処理を実行する点を除き、
図6の測距演算処理と同じである。
【0158】
図21は、
図7と同様の図であって、本実施形態において、ラインセンサ118eA、118eBの全画素を相関演算範囲としたときに、相関演算処理(ステップS204)により求められる相関値SCO(s)及びコントラスト値OLC(s)の一例を示す図である。
【0159】
図22は、
図20の絞り込み範囲探索処理(ステップS207’)を示すフローチャートである。
図22の絞り込み範囲探索処理は、ステップS317以降にステップS318~S321の処理を実行する点を除き、
図8の絞り込み範囲探索処理と同じである。なお、
図22では、便宜上、ステップS302~S308の図示を省略する。
【0160】
図23は、
図11と同様の図であって、
図22のステップS317の処理までを実行したときの、相関演算範囲の絞り込み例を示す図である。
図23に示されるように、本実施形態では、信頼性判定値TRS(s)は、相関演算範囲が画素範囲14~21のときに最小となる。なお、本実施形態において、この画素範囲14~21には、ほぼ被写体300のみが位置するものとする。
【0161】
しかし、
図23に示されるように、画素範囲14~21の信頼性判定値TRS(s)は0.24であり、第1の閾値(ここでは、0.05)よりも大きい。この結果、本実施形態では、信頼性判定値TRS(s)が第1の閾値以下となる相関演算範囲が求まらず、信頼性フラグが「T(true)」に設定されない。そのため、被写体300が位置するであろう画素範囲14~21についてデフォーカス量が算出されない。
【0162】
図24は、
図7と同様の図であって、画素範囲14~21に対して相関演算処理(ステップS317)を行ったときに求められる相関値SCO(s)及びコントラスト値OLC(s)の一例を示す図である。
【0163】
本実施形態では、相関演算範囲が画素範囲14~21に絞り込まれた場合にも、
図24に示されるように、補間処理後の相関値が極小となるときのシフト数として+1.9、言い換えると、被写体300に対する精確なデフォーカス量に相当する位相ずれ量が求まっていない。
【0164】
そこで、
図22に示されるように、カメラ制御部103は、演算範囲要素iの配列に格納された信頼性フラグ[i]が「F(false)」の場合(ステップS318:NO)、絞り込み後の相関演算範囲が焦点検出信号の出力レベル差により信頼性判定値TRS(s)に誤差が生じている可能性の高い範囲であるとみなし、センサ出力差補正処理(ステップS319)を行う。カメラ制御部103は、このセンサ出力差補正処理(ステップS319)により焦点検出信号の出力レベル差を補正すると(ステップS319、S320:YES)、出力レベル差を補正した絞り込み後の相関演算範囲に対して再度相関演算を行う(ステップS321)。
【0165】
概説すると、カメラ制御部103(焦点調節制御部103b)は、信頼性判定部により信頼性なしと判定されると、信頼性なしと判定された相関演算結果における相関演算範囲について、一対の画像信号列の出力レベル差を計算する出力レベル差計算部として動作する。また、カメラ制御部103(焦点調節制御部103b)は、出力レベル差が所定値より大きい場合、相関演算範囲にて出力レベル差が軽減されるように、一対の画像信号列の出力レベルを補正する出力レベル補正部として動作する。カメラ制御部103(焦点調節制御部103b)は、出力レベル補正部による出力レベル補正後の画像信号列に対し、相関演算部による絞り込み後の画像信号列の範囲に対する相関演算を行う。
【0166】
図25は、
図22のセンサ出力差補正処理(ステップS319)を示すフローチャートである。
【0167】
図25に示されるように、カメラ制御部103は、絞り込み後の相関演算範囲(ここでは、画素範囲14~21)について、ラインセンサ118eAでの平均輝度値Aave(すなわち、画素14~21の平均輝度値)を計算する(ステップS801)。ここでは、平均輝度値Aaveとして、169.75が計算される。
【0168】
カメラ制御部103は、絞り込み後の相関演算範囲について、ラインセンサ118eBでの平均輝度値Baveを計算する(ステップS802)。
図24に示されるように、相関演算範囲が画素範囲14~21の場合、相関関数はシフト数sが+2のときに極小値を取る。平均輝度値Baveは、焦点検出信号の出力レベル差を精度良く算出するため、このシフト数sを考慮した値、すなわち、画素範囲14~21を+2シフトした画素範囲16~23の平均輝度値となっている。ここでは、平均輝度値Baveとして、194が計算される。
【0169】
カメラ制御部103は、焦点検出信号の出力レベル差Vgapを計算する(ステップS803)。出力レベル差Vgapは、平均輝度値Aaveと平均輝度値Baveとの差の絶対値である。ここでは、出力レベル差Vgapとして、24.25が計算される。
【0170】
カメラ制御部103は、出力レベル差Vgapが第6の閾値(本実施形態ではゼロ)より大きい場合に(ステップS804:YES)、焦点検出信号の出力レベル差を補正する。具体的には、カメラ制御部103は、補正対象の画素nを画素1に設定し(ステップS805)、平均輝度値Baveよりも平均輝度値Aaveが大きい場合(ステップS806:YES)、ラインセンサ118eAの各画素1~32の出力レベルを補正し(ステップS807~810及びS815)、平均輝度値Aaveよりも平均輝度値Baveが大きい場合(ステップS806:NO)、ラインセンサ118eBの各画素1~32の出力レベルを補正する(ステップS811~S815)。
【0171】
より詳細には、カメラ制御部103は、平均輝度値Baveよりも平均輝度値Aaveが大きい場合(ステップS806:YES)、Aセンサ列Anをなす全画素の輝度値(画素A[1]~A[32]の輝度値)をRAM等に格納する(ステップS807)。カメラ制御部103は、補正対象の画素nが画素N(=32)になるまで(ステップS808)、ステップS809~S810を繰り返し実行する。
【0172】
具体的には、カメラ制御部103は、RAM等に格納された画素nの輝度値を読み出し、画素nの輝度値を平均輝度値Aaveで除算した値(比率)を出力レベル差Vgapで乗算し、画素nの輝度値から、この乗算値を減算した値(=画素nの輝度値-(出力レベル差Vgap×画素nの輝度値/平均輝度値Aave))を計算する(ステップS809)。これにより、画素nの輝度の補正値が得られる。カメラ制御部103は、値nを1インクリメントする(ステップS810)。
【0173】
ステップS809~S810が繰り返し実行されることにより、Aセンサ列Anをなす全画素の輝度値が補正される。カメラ制御部103は、Aセンサ列Anをなす全画素の輝度値を補正すると、この補正処理が行われたことを示すセンサ出力差補正フラグを「T(true)」に設定する(ステップS815)。なお、センサ出力差補正フラグは、初期的には「F(false)」となっている。
【0174】
カメラ制御部103は、平均輝度値Aaveよりも平均輝度値Baveが大きい場合には(ステップS806:NO)、Bセンサ列BnについてステップS807~810と同様の処理を行う(ステップS811~S814)。カメラ制御部103は、Bセンサ列Bnをなす全画素の輝度値を補正すると、この補正処理が行われたことを示すセンサ出力差補正フラグを「T(true)」に設定する(ステップS815)。
【0175】
なお、本実施形態では、平均輝度値Aaveよりも平均輝度値Baveが大きいため、Bセンサ列Bnをなす全画素の輝度値が補正される。
【0176】
図26は、
図5と同様の図であって、
図22のセンサ出力差補正処理(ステップS319)後の焦点検出信号の一例を示す図である。
図19と
図26とを比較すると、主に、被写体300が位置するであろう画素範囲14~21において、焦点検出信号の出力レベル差が軽減補正されていることが判る。
【0177】
本実施形態では、焦点検出信号の出力レベル差を軽減補正するため、平均輝度値が大きい方の画像信号列に対してのみ補正処理を行っているが、別の実施形態では、両方の画像信号列に対して補正処理を行ってもよい。
【0178】
図27は、
図7と同様の図であって、
図22のセンサ出力差補正処理(ステップS319)後の画素範囲14~21に対して相関演算処理(ステップS321)を行ったときに求められる相関値SCO(s)及びコントラスト値OLC(s)の一例を示す図である。
【0179】
本実施形態では、焦点検出信号の出力レベル差を軽減補正することにより、
図27に示されるように、補間処理後の相関値が極小となるときのシフト数として+2、言い換えると、被写体300に対する精確なデフォーカス量に相当する位相ずれ量が求まる。このように、本実施形態によれば、焦点検出信号にレベル差が生じる場合にも、精度の高いデフォーカス量を算出することが可能となる。
【0180】
焦点検出信号の出力レベル差は必ずしも全ての画素範囲で生じているわけではない。出力レベル差がもともと生じていない画素範囲に対し、
図22のセンサ出力差補正処理(ステップS319)を行って相関演算処理を行うと、却って、被写体301及び302に対する精確なデフォーカス量に相当する位相ずれ量を求めることができなくなってしまう。
【0181】
そこで、カメラ制御部103は、余剰範囲確認処理(ステップS208)にて確認された範囲に対して相関演算処理を行う前に、焦点検出信号を出力レベル差を補正する前の状態に(言い換えると、
図26に示される焦点検出信号から
図19に示される焦点検出信号に)戻し(ステップS211)、センサ出力差補正フラグを「F(false)」に設定する(ステップS212)。これにより、余剰範囲確認処理(ステップS208)にて確認された他の範囲について、まずは、補正前の焦点検出信号を用いて相関演算処理が行われる。
【0182】
余剰範囲確認処理(ステップS208)にて確認された他の範囲(ここでは、被写体301及び302が位置する範囲)では、焦点検出信号の出力レベル差が生じていない。そのため、焦点検出信号を出力レベル差を補正する前の状態に戻したうえで相関演算処理を行うことにより、第1実施形態と同様に、被写体301及び302に対する精確なデフォーカス量に相当する位相ずれ量(
図14B及び
図15B参照)が求まる。
【0183】
本実施形態では、焦点検出信号を出力レベル差を補正する前の状態に戻したうえで相関演算処理を行うことにより、焦点検出信号の出力レベル差が生じている範囲と生じていない範囲が混在する場合にも、各被写体に対する精確なデフォーカス量に相当する位相ずれ量を求めることができる。
【0184】
以上が本発明の例示的な実施形態の説明である。本発明の実施形態は、上記に説明したものに限定されず、本発明の技術的思想の範囲において様々な変形が可能である。例えば明細書中に例示的に明示される実施形態等又は自明な実施形態等を適宜組み合わせた内容も本願の実施形態に含まれる。
【符号の説明】
【0185】
1 撮影装置
100 カメラボディ
103 カメラ制御部
118 焦点検出モジュール
118e 測距素子
118eA、118eB ラインセンサ
121A~121C 合焦マーク
121D モードマーク
200 撮影レンズ
203 フォーカスレンズ群