以下、本発明の焦点距離検出方法及び合焦装置の一実施の形態を図面を参照して説明する。
図1において、10は撮像装置で、この撮像装置10は、合焦装置を備え、静止画あるいは動画を撮影するためのデジタルカメラであり、レンズ及び絞りなどを備えた光学系11、撮像素子としてのCCD12、このCCD12の出力が順次入力されるアナログ回路13、A/D変換器14、画像処理手段を構成する画像処理回路15、記憶手段としてのRAMなどのメモリ16、画像処理手段を構成する制御手段を構成するCPU17、このCPU17に制御されてCCD12を駆動するCCD駆動回路18、このCPU17に制御される光学系駆動手段を構成するモータ駆動回路19、このモータ駆動回路19に駆動されて光学系11のフォーカスレンズすなわち焦点レンズなどのレンズなどを前後に駆動して焦点距離を変化させる光学系駆動手段を構成するモータ20、液晶ディスプレイなどの画像表示装置21、メモリカードなどの画像記録媒体22、及び、図示しない筐体、撮影ボタンや切替スイッチあるいは撮影モード選択手段などを構成する操作手段、電源装置、入出力端子などを備えている。
そして、CCD12は、電荷結合素子(CCD : charge coupled device)を用いたイメージセンサである電荷結合素子型の固体撮像素子である。また、CPU17は、いわゆるマイクロプロセッサであり、システムの制御を司っている。そして、この実施の形態では、CPU17は、光学系11の絞り制御及び焦点距離変倍制御(フォーカス制御)を行い、特に、モータ駆動回路19を介してモータ20により光学系11を駆動し、すなわち、単数あるいは複数の焦点レンズの位置を前後に変化させ、フォーカスの制御を行う。さらに、このCPU17は、CCD駆動回路18の制御を介してのCCD12の駆動制御、アナログ回路13の制御、画像処理回路15の制御、メモリ16に記録されるデータの処理、画像表示装置21の制御、画像記録媒体22への画像データの記録及び読み出しなどを行う。さらに、メモリ16は、安価なDRAMなどで構成され、CPU17のプログラム領域、CPU17及び画像処理回路15のワーク領域、画像記録媒体22への入出力バッファ、画像表示装置21用のビデオバッファ、その他画像データの一時記録領域として共用される。
そして、CCD12に入射する被写体光は、CPU17が光学系11の絞りなどを制御することにより光量調整される。そして、CCD12は、CCD駆動回路18により駆動され、被写体光が光電変換された結果のアナログ映像信号をアナログ回路13へ出力する。また、CPU17はCCD駆動回路18を介してCCD12の電子シャッタの制御なども行う。また、アナログ回路13は、相関2重サンプリング及びゲインコントロールアンプからなり、CCD12から出力されるアナログ映像信号のノイズ除去、及び画像信号の増幅などを行う。また、例えば、アナログ回路13のゲインコントロールアンプの増幅度などが、CPU17により制御される。
そして、アナログ回路13の出力は、A/D変換器14へ入力され、このA/D変換器14でデジタル映像信号へと変換される。そして、変換された映像信号は、そのままメモリ16へ一時記録され、以後の処理を待つか、あるいは、画像処理回路15へ入力されて画像処理を施された後、メモリ16を介して画像表示装置21により表示され、あるいは使用者の意図により、画像記録媒体22へ動画像あるいは静止画像として記録される。また、メモリ16へ一時記録された処理前の画像データは、CPU17か、あるいは画像処理回路15により、あるいはこれら両者により処理される。
さらに、本実施の形態の画像処理回路15は、図2に示すように、エリア判定回路31、コントラスト検出手段としてのフィルタ回路32、ピーク判定回路33、ピーク位置判定回路34、及び演算回路35を備えている。
所定のレンズ位置で、すなわち、光学系11が適宜の焦点距離に設定された状態で、光学系11に入射した被写体像は、CCD12を通じてアナログ画像信号化され、アナログ回路13とA/D変換器14を通してデジタルの画像データに変換される。そして、A/D変換器14から出力されたデジタルの画像データは、メモリ16に記憶されるが、図3などに示す合焦のための画像エリアである合焦画像範囲Wの判定のため、エリア判定回路31でエリア判定処理を行う。この合焦画像範囲Wは、2個以上の複数の画像検出領域Whを有するが、ここでは、画像検出領域WhはウインドウW1〜W9により構成され、各ウインドウW1〜W9において、すなわち、被写体Tの複数部分の範囲において光学系11から被写体Tまでの距離(以下、被写体距離と称する)を算出する手段を有しているものとして説明する。すなわち、合焦画像範囲Wの各ウインドウW1〜W9のコントラストの大小の検出のため、フィルタ回路32により高周波成分が解析され、各ウインドウW1〜W9についてコントラストの評価値が算出される。なお、このフィルタ回路32は、比較的コントラストの高いハイパスフィルタ(HPF)を用いると良い。
さらに、本実施の形態では、各ウインドウW1〜W9毎の画像に対して、各水平方向のフィルタ回路32から算出された評価値の内、ピーク判定回路33により、最も高い評価値が、各ウインドウW1〜W9の評価値として出力される。また、同時に、ピーク判定回路33で最も高い評価値が得られた画像データ上の位置(以下、ピーク位置と称する)を、算出中のウインドウW1〜W9の起点となる位置から算出するピーク位置判定回路34を備えている。そして、これらピーク判定回路33とピーク位置判定回路34の出力は、すなわち、各ウインドウW1〜W9の水平ライン毎のコントラストの評価値のピーク値とこのピーク値を記録したピーク位置とは、それぞれメモリ16に一時的に格納して保持される。
そして、これらCCD12の各水平ライン毎に算出されたピーク値とピーク位置とは、演算手段として加算器である演算回路35により各ウインドウW1〜W9内で加算され、各ウインドウW1〜W9毎の加算ピーク値とピーク位置の水平ライン方向の平均位置である加算ピーク位置として出力され、これら加算ピーク値と加算ピーク位置とが各ウインドウW1〜W9の値としてCPU17に送られる。なお、各ウインドウW1〜W9毎の加算ピーク値の算出に当たる演算回路35は、規定の範囲以上のピーク値のみを対象として演算する構成とすることもできる。
そして、光学系11を駆動し、設定された範囲(駆動範囲)内でレンズ位置を変化させ、各レンズ位置における加算ピーク値と加算ピーク位置とを算出し、メモリ16に保存していく。なお、この駆動範囲すなわち合焦処理用の撮影枚数は、レンズ倍率、撮影される距離情報、撮影者が指定する撮影条件などにより適宜の値を設定することもできる。また、この駆動範囲については、以下に示すように、評価値の演算結果から、評価値が予め設定した図3(b)のFVTHn以上ある場合など、被写体距離が小さい場合には、数を減らし、合焦時間を短くすることもできる。
そして、この駆動範囲で、各ウインドウW1〜W9毎にピーク値を比較し、レンズの駆動方向に対してピーク値にピークがある場合、各ウインドウW1〜W9のピークとする。
そして、このピークの近傍で被写体Tに合焦することが推定できる。このピークの値から推定される焦点距離を、各ウインドウW1〜W9の部分焦点距離とする。
ここで、合焦画像範囲Wには、複数のウインドウW1〜W9を設定しているため、例えば、ピークの近傍で被写体Tが移動しているウインドウが存在する一方、ピークの近傍でブレなく確実に被写体Tをとらえているウインドウも存在する。
すなわち、各ウインドウW1〜W9の部分焦点距離には、信頼度の高いもの(有効であるもの)と、信頼度の低いもの(無効であるもの)が存在する。そこで、CPU17は、ピーク値とピーク位置との演算結果を用いて、各ウインドウW1〜W9毎に、信頼度を判断し、すなわち、合焦位置特定手段に重み付けを行う。
例えば、部分焦点距離の近傍で、ピーク位置の平均位置が急激に移動している場合や、あるいは、各ウインドウW1〜W9の水平方向に隣接したウインドウW1〜W9のピーク位置の平均位置が急激に移動している場合は、被写体Tが移動するブレなどが生じていると推定できるため、当該ウインドウW1〜W9の重み付けは小さくする。一方、ピーク位置の平均位置があまり変化していない場合は、被写体Tが移動していないと判断し、重み付けを小さくしない。
また、ウインドウの被写体Tのピーク位置が他のウインドウに移動した場合は、ピーク値及びピーク位置が大きく変化する。そこで、このようにピーク値及びピーク位置が大きく変化したウインドウは、重み付けを小さくし、すなわち、ウインドウの信頼度を下げて、結果的に、被写体Tをとらえているウインドウの部分焦点距離を優先させる。
なお、各ウインドウW1〜W9内での水平方向のコントラストのピークを評価するため、当該ウインドウW1〜W9内に被写体Tのコントラストのピークが存在すれば、被写体Tが移動したとしても、評価値としては変化がない。
また、ピーク値のピーク位置がレンズ位置を移動させるごとにばらついている場合は、ノイズなどウインドウ内にコントラストがない場合などが多いため、被写体Tがないと判断し、重み付け量を小さくする。
なお、この重み付け量は、予め設定する他、輝度情報や焦点倍率などの撮影条件に基づく画像データの評価値などから算出することもできる。
そして、CPU17は、各ウインドウW1〜W9毎に、評価値に重み付けを乗算し、重み付けを行った評価値を得る。
また、ここで、判断手段としてのCPU17は、重み付けを行った評価値が所定の値以下であると、その評価値は無効とし、以後利用しない。
そして、選択手段としてのCPU17は、重み付けを行った評価値をレンズ駆動の位置毎に加算し、コントラストが最大になる最終的な合焦位置を算出する。すなわち、評価値の演算結果がCPU17に送られると、CPU17は、各ウインドウW1〜W9で得られた各評価値(加算ピーク値と加算ピーク位置)を加算し、現在のレンズ位置での被写体位置を一つの評価値として演算を行う。この演算の際、ピーク位置は各ウインドウW1〜W9内の垂直方向ライン数で割った値とすると、ピーク位置の重心がわかる。その変化量の大きいものや、水平方向のウインドウから重心がウインドウ隅へ移動したものなどは、そのウインドウ評価値の重み付けを減らした上で加算を行い、最終評価値を得る。
そして、有効とされた評価値の中で最小の部分被写体距離を選び、この部分被写体距離を合焦距離として選択する。すなわち、CPU17は、最終評価値の大きさを基に、モータ駆動回路19とモータ20により、最終評価値が最も高い位置まで、光学系11のレンズの移動を指示する。もし、最終評価値に変化がない場合は、モータ駆動回路19を介してモータ20の停止を指示する。
すなわち、重み付けをしているため、被写体Tのブレによる誤ったピークを選択することを回避できるため、複数領域を有する複数の焦点距離算出においても、被写体Tをブレと間違えずに選択できる。このため、一般的に有効とされる近距離を優先する手法により、正確に合焦位置を選択して撮影できる。
なお、光学系11を構成するレンズのピント位置、すなわち、所定の距離に合焦するレンズの位置は、設計上の撮影距離範囲に対して、焦点倍率による変動や絞り口径位置による変化、及びレンズを支持する鏡筒の温度条件や姿勢差などの条件により変化する。そこで、光学系11には、設計上のピント位置で計算された駆動範囲に加え、さらに、これら条件の変動による変化量を考慮し、近距離側と遠距離側とに変化量分の移動可能範囲すなわちオーバーストローク領域を設けているとともに、CPU17などからなる制御手段は、このオーバーストローク領域にレンズを駆動可能にレンズ位置を駆動可能に設定されている。
例えば、設計上の撮影距離範囲を50cmから無限遠までとしたときのレンズのピント位置の移動量の総量が10mmであり、上記の変化量の積算最大値が1mmであったとすると、それぞれ近距離側に1mm、遠距離側に1mmのオーバーストローク領域を設け、レンズのピント位置の移動量の総量すなわち駆動範囲を10+1+1より12mmに設定する。このようにオーバーストローク領域を設け、このオーバーストローク領域にレンズ位置を駆動可能としたため、設計上規定した撮影距離範囲を満足できるようになっている。
次に、本実施の形態による撮影動作の自動合焦動作を図3ないし図10を参照して説明する。
まず、図3を参照して、手振れなどによる被写体ブレがない場合の動作を説明する。
本実施の形態では、図3(a)に示すように、合焦画像範囲WがCCD12の画面の中央部に配置され、さらに、この合焦画像範囲Wを、水平方向に3個、垂直方向に3個の合計9個に分割してウインドウW1〜W9が設定されている。なお、このようなウインドウは、隣り合ったエリア部分が複数存在するように構成すれば、個数は適宜の数に設定できる。被写体ブレのない場合の被写体Tは、各ウインドウW1〜W9内で十分コントラストがとれるような配置に設定されている。
そして、図3(a)に示す状態で、コントラストを評価した結果を、図3(b)の曲線Tcに示す。この例は、モータ20により焦点を近(NEAR)から遠(FAR)に駆動された光学系11により被写体Tを撮影した複数の画像データを評価した場合の評価値を加算した最終評価値を示しており、被写体距離Tdが、評価値のピークPに明確に示される。
次に、図4ないし図6を参照して、手振れなどによる被写体のブレがある場合の動作を説明する。
まず、図4を参照して、複数領域を有する方式の被写体移動または手振れなどのブレについて説明する。
図4は、合焦動作中に、手振れ、すなわち撮影中に意に反して撮像装置10が被写体Tに対して相対的に移動してしまった場合を示し、時系列に沿ってシーンS(H-1)からシーンS(H)を経てシーンS(H+1)に至る過程で、光学系11のレンズ位置を移動させながら画像データを入力した状態の合焦画像を示している。すなわち、被写体移動あるいは手振れの現象が起こると、例えば、シーンS(H-1)ではウインドウW1に存在した被写体Tのコントラストの大きい部分は、移動によりシーンS(H)ではウインドウW5に相対的に移動し、シーンS(H+1)ではウインドウW9に相対的に移動している。そこで、この状態でウインドウW1など特定のウインドウのみでコントラストの評価値を評価すると、正しい評価が行われない。
また、図5も、合焦動作中に手振れが生じた場合を示している。そして、図5(a)は、図3(a)と同様の合焦画像範囲Wが設定されているが、被写体Tが破線T4に示す位置から実線T5に示す位置まで相対的に移動する被写体ブレが発生し、被写体Tのコントラストの大きい部分が例えばウインドウW4からウインドウW5まで相対的に移動した状態を示している。そして、この被写体TのT4からT5への移動の間に、光学系11のレンズを駆動する合焦動作が行われると、図5(b)に示すように、ウインドウW4のコントラストを評価した結果である評価値は、曲線Tc4で示され、また、ウインドウW5の評価の結果は曲線Tc5で示され、例えばウインドウW4の評価値である曲線Tc4に注目すると、被写体距離Tdとは異なる位置Td4が評価値のピークP4となり、被写体が距離毎に複数存在する場合などに区別できないなど、誤作動の原因となる。
また、図6に、ウインドウW1〜W9を相対的に移動するピーク位置について示す。被写体Tが水平方向に相対的に移動する場合、ピーク位置の範囲は、各ウインドウW1〜W9の水平方向の画素数で決まり、ピーク位置X1は、図5(a)のウインドウW4でピーク位置の基準点をA、ピーク位置X2は、図5(a)のウインドウW5でピーク位置の基準点をBとした場合を示している。そして、光学系11の焦点距離すなわちレンズ位置をNとしたとき、このNに対して近(NEAR)方向をN−1、遠(FAR)方向をN+1とする。ここで、光学系11のレンズ位置がN−1から遠方向にN+1まで移動した時点で、ピーク位置がウインドウW4からウインドウW5に移動している。この状態では、ピーク位置は明らかに変化するので、合焦動作の実行中であっても被写体ブレの検出は容易にできる。
しかしながら、このような被写体ブレが生じている場合でも、例えば、ウインドウW9のように、複数のウインドウにまたがってコントラストの大きい部分が移動しなければ、正しい評価値をもつウインドウも存在する。従って、このような複数のウインドウにまたがるピーク位置変化部分の検出を行うと同時にその変化のあったウインドウに対する評価値を重み付けによって小さくすることにより、正しい評価値のピークの位置を算出できる。
そこで、図7ないし図10のフローチャートを参照して、上記の重み付け処理を行う合焦制御方法について説明する。図7は合焦処理の全体を示し、図8ないし図10は図7の合焦処理の一部の処理を詳細に示すものである。
図7に示すように、合焦処理では、複数の画像データを用いるが、まず、初期位置あるいは現状のレンズ位置で、1画面の合焦処理用撮影を行い、合焦画像範囲Wの画像データを得る(ステップ101)。次いで、撮影された画像データについて、合焦画像範囲Wの各ウインドウW1〜W9毎にコントラストの評価値を算出する(ステップ102)。この算出に当たっては、各ウインドウW1〜W9毎に全ラインのピーク値を加算する。次いで、各ウインドウW1〜W9毎の全ラインのピーク値の各基準となる位置からの相対位置を求め、各ウインドウW1〜W9毎に加算し、被写体Tの平均位置を算出する(ステップ103)。そして、撮影枚数Nの算出を行い(ステップ104)、このN回が終了するまで(ステップ105)、光学系11のレンズを移動しながら撮影を行い(ステップ106)、すなわちレンズの移動及び合焦処理用撮影をN回繰り返し(ステップ101〜106)、連続した画像データの評価値を取得する。
そして、ステップ106で駆動されたレンズ位置が被写体Tの距離に比較的近い場合は、ステップ101で合焦処理用撮影した画像データからステップ103で算出した平均位置には、被写体Tの主となるコントラストの特徴が十分に反映される。従って、特にレンズ位置が被写体Tの距離に近いウインドウで、手振れなどによる被写体移動があった場合は、ピーク位置の平均位置が変化することになる。
ここで、合焦動作時の画像データの撮影枚数Nの算出部分(ステップ104)について、図8のフローチャートを参照して説明する。
この撮影枚数Nの設定は、光学系11のレンズの倍率や、撮影される被写体Tの距離情報、あるいは、撮影者が指定する撮影条件などに応じて、撮影枚数Nを変化させることにより、必要十分な画像データを取得するものである。
まず、図7のステップ102で算出した各ウインドウW1〜W9の評価値FVを、所定の基準値FVTHnと比較し(ステップ201)、評価値FVが基準値FVTHnより大きい場合は、NにN0を入力する(ステップ202)。なお、このステップ201の工程は設けないこともできあるいは、N0は、焦点倍率に応じた変数としてNに入力することもできる。また、評価値FVが基準値FVTHn以下であり(ステップ201)、撮像装置10の操作者である撮影者の設定などにより近距離撮影とされ(ステップ203)、あるいは焦点倍率が比較的大きい、例えば2倍以上の場合は(ステップ204)、NにN2を入力する(ステップ205)。一方、上記の条件から外れる場合、すなわち、評価値FVが基準値FVTHn以下であり(ステップ201)、近距離撮影でなく(ステップ203)、かつ焦点倍率が比較的小さい、例えば2倍未満の場合は(ステップ204)、NにN1を入力する(ステップ206)。ここで、値N0,N1,N2については、N0<N1<N2の関係があり、近距離撮影や焦点倍率が大きい場合には、撮影枚数Nを大きくして光学系11のレンズ駆動を設定を細かく設定し、詳細な評価を可能にするとともに、算出した評価値FVが所定の基準値FVTHn以上である場合など、被写体Tが光学系11に近接している場合などは、撮影枚数Nを少なくして、合焦時間を短縮することができる。すなわち、レンズ駆動範囲を評価値により選択設定する手段を設けることにより、合焦の精度を低下させずに合焦時間を短縮できる。
そして、図7に示すように、N回の撮影を行って取得したピーク位置の平均位置に対し、手振れなどを判定し、各ウインドウWh(W1〜W9)毎の信頼度である重み付け量を算出する(ステップ111)。以下、図9のフローチャートを参照して、この判定手段による重み付け量の算出について詳細に説明する。
この処理では、まず、ピーク値平均位置移動量PTHの初期値Kp=PTH(base)を予め設定し(ステップ301)、各シーンを撮影した合焦画像範囲WのウインドウWhのそれぞれについて、ステップ102で算出した評価値から最も高い評価値を示した単数あるいは複数のシーンS(H)Whを求める(ステップ302)。
また、このピーク値平均位置移動量PTHは、各ウインドウWhの重み付け量を選択する最終的な判定値として用いるもので、撮影条件、例えば輝度や焦点距離などに応じて変化する変数となっている。
すなわち、撮影シーンの輝度が比較的高い場合は(ステップ303)、シャッタスピードが比較的速くなるため、一つのウインドウWh内の移動量は小さくなる傾向がある。そこで、ピーク値平均位置移動量PTHの値の割合を予め設定した初期値Kp=PTH(base)より小さくし、すなわち、ピーク値平均位置移動量PTHに乗算する割合K(L)を例えば80%とする(ステップ304)。一方、撮影シーンの輝度がそれ以外、例えば比較的低い場合は(ステップ303)、割合K(L)を例えば100%とする(ステップ305)。続いて、焦点倍率が比較的高い場合は(ステップ306)、焦点倍率が低い場合に較べて手振れの可能性が高いことから、ピーク値平均位置移動量PTHの値の割合を予め設定した初期値PTH(base)より小さくし、すなわち、ピーク値平均位置移動量PTHに乗算する割合K(f)を例えば80%とする(ステップ307)。一方、焦点倍率がそれ以外、例えば比較的低い場合は(ステップ306)、割合K(f)を例えば100%とする(ステップ308)。
そして、予め設定した初期値PTH(base)に対して、求めた輝度及び焦点倍率に対する割合K(L),K(f)を乗じて、撮影シーンに最適な判定値としての、ピーク値平均位置移動量PTHを算出する(ステップ309)。すなわち、PTH=Kp×K(L)×K(f) の演算を行う。なお、ここでは、輝度及び焦点倍率に応じて、ピーク値平均位置移動量PTHを算出したが、予め最適判定値を求めることができれば、ピーク値平均位置移動量PTHの初期値PTH(base)をそのままピーク値平均位置移動量PTHとして用いることもできる。
次いで、各ウインドウWhの信頼度を算出する動作として、まず、重み付け量である重み付け係数を初期化する(ステップ310)。この重み付け係数は、100%に対する割合で示され、例えば100%に初期化される。同時に、求めたピーク値平均位置移動量PTHに応じて、重み付け係数を変数として設定できるように変数mを設ける。例えば、重み付け係数を4段階に設ける場合は、mは初期値を4として、4,3,2,1の値が与えられる。
そして、重み付けの判定を行う際は、求めたピーク値平均位置移動量PTHに対しその割合を、変数mを使ってピーク値平均位置移動量PTH(m)と変化可能に設定する(ステップ311)。具体的には、求めたピーク値平均位置移動量PTHを変数mで除して、ピーク値平均位置移動量PTH(m)を求める。
そして、シーンS(H)Whで表されるピーク値平均位置ΔPS(H)Whと、前シーンS(H-1)Whで表されるピーク値平均位置ΔPS(H-1)Whとの差の絶対値が、ピーク値平均位置移動量PTH(m)より大きい場合には、判定手段であるCPU17は、手振れなどにより被写体TがウインドウW1〜W9間を移動し、あるいは評価値演算に影響があると判断する(ステップ312)。また、同様に、シーンS(H)Whで表されるピーク値平均位置ΔPS(H)Whと、後シーンS(H+1)Whで表されるピーク値平均位置ΔPS(H+1)Whとの差の絶対値が、ピーク値平均位置移動量PTH(m)より大きい場合には、判定手段は、手振れなどにより被写体TがウインドウW1〜W9間を移動し、あるいは評価値演算に影響があると判断する(ステップ313)。一方、これらの差の絶対値が両者ともピーク値平均位置移動量PTH(m)以下である場合は、手振れはない、または、評価値演算に影響がないものとして、当該ウインドウWhの重み付け係数は下げない。そして、変数mが大きいほど、比較するピーク値平均位置移動量PTH(m)は小さくなるが、ピーク値平均位置移動量の判定は厳しくなり、重み付け係数は、そのピーク値平均位置移動量PTH(m)に応じて決定する(ステップ315)。そして、ステップ312あるいはステップ313において、いずれかの差の絶対値が設定したピーク値平均位置移動量PTH(m)より大きい場合は、手振れがあるものとして、当該ウインドウWhの重み付けを下げ、重み付け係数を例えば最大25%まで下げる(ステップ315)。そして、この比較演算を、変数mを初期値例えば4から1つずつ減算し(ステップ316)、変数が0になるまで繰り返し(ステップ311〜317)、各変数に応じて重み付け量を決定する(ステップ314,315)。なお、この重み付け係数は、例えば最小25%としたが、この構成に限られず、例えば最小0%とすることもできる。また、ピーク値平均位置移動量PTH(m)は、前工程で求めたピーク値平均位置移動量PTHに対する割合として設定したが、可能であれば、予め設定した複数の最適判定値を用いることもできる。
そして、このように、手振れがあったか否かを複数の判定基準を設けて判断することにより、信頼度のレベルをより細かく複数設定することが可能になる。
さらに、全てのウインドウW1〜W9について演算が終了するまで、この動作を繰り返す(ステップ301〜318)。この重み付けにより、各ウインドウW1〜W9の信頼度を重み付け係数として数値化できる。
そして、ウインドウS(H)Whに隣り合ったウインドウについて、前記の処理を行うことにより、手振れなどピークとなる被写体の移動の影響があったか否かを知ることができる。すなわち、図7に示すように、各ウインドウWhの重み付け係数(信頼度)を算出した後、まず、Eval FLGを0にセットする(ステップ112)。この後、重み付け係数すなわち信頼度が100%であるウインドウWhの数が所定値以上、例えば50%以上ある場合(ステップ113)、あるいは、互いに隣り合ったウインドウWhの信頼度が共に所定値以上、例えば共に100%のウインドウWhが存在する場合(ステップ114)は、シーンに被写体Tの移動がないと判断し、以下説明する評価重み付けは行わず、評価値が予め決められた判定値より大きいか否かを比較して(ステップ117)有効か無効かの判定を行う。
一方、ステップ113及びステップ114の条件をいずれも満たさなかった場合は、以下に示すように、重み付け係数を加味した演算処理を行う。すなわち、各ウインドウW1〜W9の重み付け係数を算出した後、求めた重み付け係数を各ウインドウW1〜W9毎の各評価値全体に乗算し、評価値の重み付けを各評価値自身に反映させる(ステップ115)。このとき、重み付けを加味した演算処理を行ったことを示すため、Eval FLGを1にセットする(ステップ116)。
次いで、重み付けされた各評価値について、予め決められた判定値VTHより大きいか比較して(ステップ117)、評価対象として有効か(ステップ118)、無効か(ステップ119)を判断する動作を全てのウインドウW1〜W9について行う(ステップ117〜120)。
そして、複数のウインドウが有効となった場合は、CPU17は、有効とされたウインドウの合焦位置すなわち部分合焦位置のなかから、合焦距離演算を行い(ステップ121)、合焦距離を求める。
このステップ121の合焦距離演算の詳細を図10に示す。ここでは、まず、評価値の演算で重み付けを加味したか否かをEval FLGの状態から判定し(ステップ401)、重み付けをしている場合は、それらの評価値を距離毎に加算し(ステップ402)、重み付けをしていない場合は、加算を行わない。そして、これら評価値から、ピーク合焦位置(ピーク位置)を求める(ステップ403)。そして、これらピーク合焦位置が全て設定された撮影範囲外にあった場合(ステップ404)、または、全てのピーク合焦位置の信頼度が所定値以下、例えば25%以下の場合(ステップ405)は、被写体距離の算出が不能と判断し、予め設定した所定距離を合焦位置(合焦焦点位置)として強制的に設定する(ステップ406)。この時、合焦距離判定がNGであると判定する(ステップ407)。
また、上記以外の場合、すなわち設定された撮影範囲内にあるピーク合焦位置(ピーク位置)が少なくとも一つ存在し(ステップ404)、かつ、この設定された撮影範囲内にあるピーク合焦位置が所定値より大きい、例えば25%より大きい信頼度を有する場合(ステップ405)は、被写体距離の算出が可能と判断し、有効とされたウインドウW1〜W9の中から、ピーク位置が最至近の部分合焦位置を選択し、この位置を合焦位置とする(ステップ408)。この時、合焦距離判定がOKであると判定する(ステップ409)。
なお、この合焦距離演算において、重み付けした場合は、ステップ402にて、それぞれの評価値を加算して算出するため、評価値は一つとなり、ピーク位置は複数の評価値を含んだ重心の位置となるが、この構成に限られず、ピーク位置が近距離のウインドウのみを選択し、ウインドウ毎に加算した上で、部分焦点位置を算出し、この位置を合焦位置とすることもできる。また、重み付けしない場合は、評価値が有効なウインドウW1〜W9から最至近の部分焦点位置を選んで、合焦位置とすることもできる。
そして、このように合焦距離演算(ステップ121)から求められた合焦距離判定の結果(ステップ407,409)に応じて、図7に示すように、合焦距離判定がOKかNGかの判定を行い(ステップ122)、OKの場合には算出した合焦位置に光学系11のレンズを移動させ(ステップ123)、NGの場合には予め設定した所定の合焦位置に光学系11のレンズを移動させ(ステップ124)ることにより、最終合焦位置にレンズを配置することができる。
このように、本実施の形態によれば、デジタルカメラ、ビデオカメラなどの撮像装置に用いる画像データ利用の自動合焦装置であって、画面を複数の領域に分割し、各領域でそれぞれ合焦位置を判定する方式の自動合焦動作において、被写体の移動や手振れなど、測距に障害があるシーンにおいても、ブレを検出し、最適データのみを用いて適正に距離を測定し光学系11を合焦できる。
すなわち、複数の領域でそれぞれ評価値のピークが算出された場合に、最も高い評価値を示した合焦位置である部分焦点距離を単に合焦位置とする構成に較べ、信頼度を加味した評価重み付けの手法により、手振れなどによる信頼度の低いウインドウから得られる部分焦点距離を除外し、評価値が最も高くなくとも、信頼できる評価値のみを利用して判断し、有効とされた評価値のなかで最至近の部分焦点距離を用いることにより、正確に合焦する確率を向上し、合焦位置を正確に判断して焦点の合った撮影をすることができる。特に、光学系11のズームの倍率の大きいいわゆる高倍率モデルで有効に機能させることができる。
また、ノイズなどの影響による評価値や有効な被写体が当該ウインドウ内にない場合の評価値など、重み付け前の評価値自体が低い場合にも、当該ウインドウを無効とすることにより、焦点距離を正確に検出できる。
すなわち、複数領域を有する複数の焦点距離算出において、一般的に有効とされる近距離を優先とした場合、従来の方法では、被写体移動や手振れなどにより誤ったピークが被写体より近距離にあると、被写体を合焦位置と判断できず、誤ったピークを合焦位置と判断し、合焦位置を正しく設定できない場合があるが、本実施の形態では、被写体移動や手振れによる誤ったピークが近距離にあっても、被写体移動や手振れを検出して、最適データのみを用いて適正でかつ近距離を優先した合焦位置を正しく設定できる。
また、従来の、画像検出領域を変更することにより被写体の画像ブレや手振れの補正を行い、画像検出領域を変更した後に再度焦点の評価を行う方法では、合焦位置を算出するまでに時間がかかり、シャッターチャンスを逃すおそれがあるが、本実施の形態では、予め設定された画像検出領域から与えられた情報のみから合焦位置を算出するため、迅速な処理が可能になり、シャッターチャンスをとらえることができる。
また、被写体の画像ブレや手振れなどを検出する加速度センサなどの特別な機器を備える必要がなく、構成を簡略化して、製造コストを低減できる。
また、算出された複数の被写体距離の信頼性が高くなるので、その他のアルゴリズムを組むことが可能になる。
また、予め設定された画像検出領域内で評価値を取得して焦点位置を算出するため、意図しない被写体に合焦することによる撮影者の違和感を抑制できる。
また、蛍光灯などによるフリッカーのある画像の輝度変化に影響されず、画像の評価値のピーク位置が変動しないため、評価値の大きさに係わらず、複数領域毎の信頼性を評価できる。
なお、上記の実施の形態では、光学系11の動作を伴いながら複数の位置の評価値を取得し、評価値が増加から減少に転じた時点でピークを判定するいわゆる山登り方式の測距方式を採用しているが、被写体ブレの場合には、ピーク位置が各ウインドウ内を移動し、やがて隣接するウインドウW1〜W9に移動する。そして、被写体Tのコントラストのピーク部分が一つのウインドウから他のウインドウに移動する際には、評価値のピーク値も急激に小さくなる。このように、前後に撮影されたシーンに対して評価値が急激に変化したウインドウは、重み付けを小さくすることにより、手振れのあるデータを排除し、最適データのみを用いて適正に測距し合焦できる。
また、上記の実施の形態では、評価値のピーク位置を加算しており、比較的ぼけた画像のピーク位置はばらつく。そこで、ばらつきの大きいものは重み付けを低くすることができ、また、もともとピーク値も低い場合は評価値の重み付けを小さくすることができる。
このように、光学系11のレンズ位置の移動毎に、同一のウインドウの評価値のピーク値の差を測定し、または、互いに隣接したウインドウのピーク位置の平均位置の移動量の差を測定し、あるいはこれらの両者を測定することにより、当該ウインドウの評価値に対する信頼度を判定し、信頼度を高めることができる。従って、最終合焦位置を決める際に、複数領域に対する焦点位置から近距離を選択する場合、手振れの場合や被写体が移動する場合にも測距の信頼度を向上できる。
このようにして、被写体ブレなどがある場合にも、合焦信頼性を向上できる。
なお、上記の各実施の形態では、水平方向の被写体Tの移動に対応する構成について説明したが、この構成に加え、あるいは、この構成とともに、垂直方向あるいは斜め方向についても、同様に適用することができる。
また、図1及び図2に示す画像処理回路15は、例えばCPU17など他の回路と同一のチップで構成し、あるいは、CPU17のソフトウェア上で実現し、回路を簡素化して製造コストを低減することもできる。また、この画像処理回路15のフィルタ回路32は、コントラストの検出ができれば、どのような構成でも実現できる。
また、測距方式は、いわゆる山登り方式に限られず、自動合焦装置の動作可能な範囲を全てスキャンすることもできる。
また、各ウインドウ毎の評価値を、図9に示す重み付けの処理の後に、互いに隣接する複数のウインドウについて加算し、あるいは、選択した複数のウインドウの評価値を加算した後に、重み付けの処理を行うこともできる。
また、図7及び図9に示す処理においては、ピーク値平均位置移動量PTH値及び判定値VTHは予め一つ設定したが、複数設定した中から選択可能とし、また、評価値の大小、あるいは輝度情報やシャッタスピード、焦点倍率などの光学系11の情報などの撮影条件などに応じて可変とし、最適値を選択可能とし、あるいは、これら条件を変数として演算を行い最適値を求めることにより、シーンに応じた評価を行うことができる。
さらに、ストロボを使用する場合の撮影においては、合焦処理用撮影に同期してストロボを発光させ、各シーンに対する画像データを得ることにより、上記の焦点距離検出方法を用いて合焦距離を検出できる。そして、このストロボを用いる構成においては、合焦距離に応じたストロボの発光制御と、カメラの絞りやシャッタスピードなどの光量制御とに基づいて、撮影を行うことができる。
また、上記の実施の形態においては、有効とされた評価値のなかで最至近の部分焦点距離を用い、すなわち、ピーク位置が最至近の部分合焦位置を選択し、この位置を合焦位置とした(ステップ408)が、この構成に限られず、使用者すなわち撮影者の意図すなわち撮影モードを選択する操作に応じて、撮影者の操作により直接的に、あるいは撮影者の操作に応じた制御手段の選択により自動的に、最至近以外の部分合焦位置を選択して合焦位置とすることもできる。また、上記の実施の形態においては、合焦距離判定がNGの場合(ステップ122)、予め設定した所定の合焦位置に光学系11のレンズを移動させ(ステップ124)たが、予め複数の所定の合焦位置を設定し、撮影者の意図すなわち撮影モードを選択する操作に応じて、いずれかの所定の合焦位置に光学系11のレンズを移動させることができる。
次に、図11ないし図13を参照して、他の実施の形態を説明する。
この実施の形態では、撮影者は、通常の撮影モードである通常モードすなわち近距離優先モードに加え、遠距離優先モードを選択して設定可能であり、さらに遠景モードあるいは無限モードと称しうるモードにより撮影距離範囲を指定することができる。なお、図1ないし図10などに示す実施の形態の構成と同一の部分については、説明を省略する。
すなわち、この構成では、撮影者が遠距離優先モードや遠景モードを選択できる撮影モード選択手段である操作手段を備え、図7に示す合焦装置の動作のフローチャートに対し、図11に示すように、合焦処理用撮影(ステップ101)の前に、撮影モードの設定処理が行われる(ステップ100)とともに、合焦処理演算(ステップ121)の内容が変更されている。
すなわち、撮影距離範囲を指定する場合、焦点合わせ処理では、まず、焦点合わせの条件として、撮像装置10の撮影モードに合わせて、レンズの駆動範囲に伴う撮影距離範囲を把握する必要がある。もし、撮像装置10の撮影モードが、例えば通常モードで50cmから無限位置までであれば、レンズの駆動範囲をこれに応じて設定する。また、撮像装置10が、通常モード以外に、遠景モード(無限モード)、マクロモードなどを設定可能であれば、これらモードを撮影者が選択可能な操作手段、すなわち、撮影者が撮影距離範囲すなわちレンズの駆動範囲を指定できる操作手段を備える。
また、焦点合わせ処理では、焦点合わせの条件として、最終焦点距離の決定方法について、近距離優先とするか、遠距離優先とするか、撮影者が撮像装置10に備えた操作手段を操作し、撮影モードを選択する。そして、撮像装置10の撮影モードが遠距離優先モードであれば、撮影画像の中の一番遠距離が合焦距離となるようにレンズを駆動する最遠距離選択モードを設定する。また、近距離優先モードでは、撮影画像の中から一番近距離が合焦距離となる最至近距離選択モードが設定され、一般的に用いられる近距離優先の撮影が可能になる。
すなわち、図11に示す撮影モードの設定処理(ステップ100)は、図12に示すように、まず、撮影者が撮影距離範囲を指定しているかを判断する(ステップ1201)。そして、撮影距離範囲を選択するモードが選択されていると、さらに、遠景モードが選択されているかを判断する(ステップ1202)。さらに、遠景モードが選択されている場合は、最遠距離選択モードを設定し(ステップ1203)、遠景モードが選択されていない場合すなわち通常モードあるいはマクロモードの場合は、最至近距離選択モードを選択する(ステップ1204)。すなわち、ここでは、撮影距離範囲に応じて、近距離を優先するか、遠距離を優先するかの撮影モードが自動的に決定される。
一方、ステップ1201において、撮影距離範囲を選択するモードが選択されていない場合は、さらに、遠距離優先モードが選択されているかを判断する(ステップ1205)。ここで、撮影者が遠距離優先モードを選択している場合は、最遠距離選択モードを設定し(ステップ1203)、遠距離優先モードが選択されていない場合は、最至近距離選択モードを設定する(ステップ1204)。すなわち、ここでは、撮影者の意図に従い最終的な合焦距離を優先的に決定できる撮影モードが決定される。
次いで、図11のステップ101からステップ120の処理を行った後、設定された撮影モードに従い、合焦処理での最終合焦処理が決定される。
すなわち、ステップ121では、図10に示す構成に代えて、図13に示す合焦距離演算を行う。
ここでは、まず、図10の処理と同様に、評価値の演算で重み付けを加味したか否かをEval FLGの状態から判定し(ステップ1301)、重み付けをしている場合は、それらの評価値を距離毎に加算し(ステップ1302)、重み付けをしていない場合は、加算を行わない。そして、これら評価値から、ピーク合焦位置(ピーク位置)を求める(ステップ1303)。そして、図11のステップ100で決定された撮影モードに基づいて、連動範囲選択が設定されていれば(ステップ1304)、これらピーク合焦位置が設定された撮影距離範囲に対して全て範囲外にあった場合(ステップ1305)、または、全てのピーク合焦位置の信頼度が所定値以下、例えば25%以下の場合(ステップ1306)は、被写体距離の算出が不能と判断する(ステップ1307)。この場合、ステップ100で予め設定した撮影モードに応じて、所定距離を合焦位置(合焦焦点位置)として強制的に設定する。ここで、撮影モードは、最至近距離選択モードか最遠距離選択モードであるから、被写体距離の算出が不能と判断した場合、最遠距離選択モードであるか否かを判断し(ステップ1307)、最遠距離選択モードの場合は所定距離1を設定し(ステップ1308)を設定し、最遠距離選択モードでない場合は所定距離2を設定する(ステップ1309)。ここで、所定距離1は所定距離2より遠距離に設定されている(所定距離1>所定距離2)。そして、合焦距離判定がNGであると判定する(ステップ1310)。
また、図11のステップ100で決定された撮影モードに基づいて、連動範囲選択が設定されていない場合についても(ステップ1304)、全てのピーク合焦位置の信頼度が所定値以下、例えば25%以下の場合(ステップ1306)は、被写体距離の算出が不能と判断し(ステップ1307)、同様に処理する(ステップ1308〜1310)。
一方、ステップ1304〜1305において、上記以外の場合、すなわち、連動範囲選択が設定されており(ステップ1304)、設定された撮影モードで与えられる撮影モードに対応した撮影距離範囲内にあるピーク合焦位置(ピーク位置)が少なくとも一つ存在し(ステップ1305)、かつ、この設定された撮影範囲内にあるピーク合焦位置が所定値より大きい、例えば25%より大きい信頼度を有する場合(ステップ1306)は、被写体距離の算出が可能と判断する。そして、ピーク位置を決定するにあたり、ステップ100の撮影モードで決定された選択モードの内の、最遠距離選択モードの場合は(ステップ1311)、有効とされたウインドウW1〜W9の中から、ピーク位置が最遠の部分合焦位置を選択し、この位置を合焦位置とし(ステップ1312)最遠距離選択モードでない場合は(ステップ1311)、すなわち、最至近距離選択モードの場合は、有効とされたウインドウW1〜W9の中から、ピーク位置が最至近の部分合焦位置を選択し、この位置を合焦位置とする(ステップ1313)。そして、合焦距離判定がOKであると判定する(ステップ1314)。
また、図11のステップ100で決定された撮影モードに基づいて、連動範囲選択が設定されていない場合についても(ステップ1304)、所定値より大きい信頼度を有するピーク合焦位置が少なくとも一つ存在し(ステップ1306)、例えば25%より大きい信頼度を有するピーク合焦位置が存在する場合(ステップ1306)は、被写体距離の算出が可能と判断し、同様に処理する(ステップ1311〜1314)。
そして、このような合焦距離演算(ステップ121)から求められた合焦距離判定の結果(ステップ1310,1314)に応じて、図7に示すように、合焦距離判定がOKかNGかの判定を行い(ステップ122)、OKの場合には算出した合焦位置に光学系11のレンズを移動させ(ステップ123)、NGの場合には予め設定した所定の合焦位置である所定距離1または所定距離2に光学系11のレンズを移動させ(ステップ124)ることにより、最終合焦位置にレンズを配置することができる。
このように、本実施の形態によれば、撮影者の意図に応じて、遠距離側にも合焦可能にしたため、撮影者の意図に応じて遠距離側に合焦した撮影が容易にできる。すなわち、撮影距離の範囲に応じて、通常モードなる撮影距離範囲、及び、遠景モードあるいは無限モードなどの遠距離の撮影を目的とするモード、あるいは、撮影距離範囲をレンズの全撮影距離範囲としつつ、近距離優先または遠距離優先の撮影をするモードを選択できるため、撮影者は意図した撮影を容易にできる。そして、これらの合焦位置の判定は、複数の画像領域から被写体の急激な移動などによる影響を受けていないと評価できるいわば合焦が有効と判断されたデータを用いるため、撮影者の意図を反映した撮影が可能になる。すなわち、画面を複数の領域に分割し、各領域でそれぞれ合焦位置を判定する方式の自動合焦動作において、被写体の移動や手振れなど、測距に障害があるシーンにおいて、ブレを検出し、最適データのみを用いて適正に距離を測定し光学系11を合焦できるため、遠距離モードでの合焦精度を向上できる。
すなわち、複数領域を有する複数の焦点距離算出及び最終焦点距離決定において、一般的に有効とされる近距離を優先した場合、従来の方法では、被写体移動や手ぶれによって誤ったピークが被写体より近距離にあると、被写体を合焦位置と判断できず、誤ったピークを合焦位置と判断してしまい、合焦位置を正しく設定できない場合がある。また、近距離の被写体の撮影でなく、遠距離の被写体の撮影を意図している場合には、反対に被写体移動や手ぶれによって、近距離側のピークを合焦位置として誤った判断をしてしまい、あるいは、撮影者が意図している遠距離よりもさらに遠距離側(例えば、撮影された画像の最も遠距離の被写体よりもさらに遠距離)のピークを合焦位置として誤った判断を行い、撮影者の意図に反する場合がある。この点、本実施の形態によれば、被写体移動や手ぶれによる誤ったピークが近距離あるいは遠距離のいずれに存在しても、被写体の移動や手ぶれを検出し、正しい評価値のみを用いて適正に判断し、かつ、撮影モードに応じて近距離優先あるいは遠距離優先で正しい合焦位置を設定できる。
また、撮影距離範囲について、通常モードが設定されている場合は、自動的に最至近距離選択モードとなるとともに、撮影距離範囲が遠距離に設定されている場合は、自動的に最遠距離選択モードとなるため、遠距離モードで選択される撮影距離範囲の中の最至近を最終合焦位置としてしまうことがなく、複数の画像領域の中から最遠距離の被写体を最終合焦位置にでき、撮影者の意図に合致した撮影が可能になる。
また、全撮影距離範囲で遠距離優先モードと近距離優先モードとを選択可能とする構成では、撮影者は遠距離優先モードを選択するのみで良く、目測などによりマクロ領域なのか通常領域なのかといった、撮影者が目測で撮影距離範囲を予め決定する煩雑な作業の必要がなく、信頼性を評価した後に最終焦点距離を決定する正確な合焦動作と相まって、撮影者の意図に合致して正確に合焦した撮影が可能になる。
さらに、遠距離優先モードを利用することにより、無限以外の遠距離にも正確に合焦させることができる。
また、複数領域でそれぞれ被写体距離を算出し評価する構成のため、被写体が移動しあるいは背景がぶれてしまった場合にも、誤動作の心配を抑制できるとともに、合焦位置の評価を正確にできない厳しい条件の場合、すなわち、全ての画像領域でコントラストのよる評価値が低く、有効な合焦位置が得られずに測距が不能になった場合にも、撮影モードに応じた所定距離を合焦距離とすることにより、撮影者の意図を反映した撮影が可能になる。
また、本実施の形態では、近距離優先か遠距離優先かで明確に示されている撮影者の意図に従うため、近距離優先あるいは遠距離優先に加え画像から経験則を使ってカメラが自動認識して焦点距離を決定する構成に比べ、焦点距離の確認が撮影前に直感的に可能であり、複雑なアルゴリズムを用いる必要がないとともに、一眼レフの光学ファインダーや演算部品を用いた液晶パネルによる拡大表示などの装置を備える必要もなく、構成を簡略化して製造コストを低減できる。
また、レンズの駆動範囲は、設計上の撮影距離範囲に対して、焦点倍率による変動や絞り口径位置による変化、及びレンズを支持する鏡筒の温度条件や姿勢差などの条件により変化する。そこで、光学系11には、設計上のピント位置で計算された駆動範囲に加え、さらに、これら条件の変動による変化量を考慮し、近距離側と遠距離側とに変化量分の移動可能範囲すなわちオーバーストローク領域を設けているとともに、CPU17などからなる制御手段は、このオーバーストローク領域に合焦用レンズ部のレンズ位置を駆動可能に設定されている。
そこで、最遠距離選択モードの場合は、ピント位置がレンズ駆動範囲の遠距離端付近にあり、さらに、例えば姿勢差が遠距離側にあっても、遠距離側のオーバーストローク領域に合焦用レンズ部のレンズ位置を駆動することにより、撮影距離範囲を満足できる。
また、最至近距離選択モードの場合は、ピント位置がレンズ駆動範囲の最至近距離端付近にあり、さらに、例えば姿勢差が至近距離側にあっても、近距離側のオーバーストローク領域に合焦用レンズ部のレンズ位置を駆動することにより、撮影距離範囲を満足できる。
このように、近距離側端部及び遠距離側端部において、焦点のずれ分を考慮した撮影が可能になり、容易に設計上の撮影距離範囲を満足できるため、機械(メカ)的あるいは制御(ソフトウェア)的な高精度の距離補正作業を必要とせず、製造コストを低減できる。
なお、図11ないし図13に示す実施の形態では、撮影距離範囲と、遠距離優先モードとを、撮影者がいずれも設定できる構成としたが、いずれか一方のみを設定できる構成とし、構成及び操作を簡略化することもできる。