JP3248257B2 - 焦点検出装置 - Google Patents

焦点検出装置

Info

Publication number
JP3248257B2
JP3248257B2 JP23398292A JP23398292A JP3248257B2 JP 3248257 B2 JP3248257 B2 JP 3248257B2 JP 23398292 A JP23398292 A JP 23398292A JP 23398292 A JP23398292 A JP 23398292A JP 3248257 B2 JP3248257 B2 JP 3248257B2
Authority
JP
Japan
Prior art keywords
block
data
value
amount
calculation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP23398292A
Other languages
English (en)
Other versions
JPH0682686A (ja
Inventor
重之 内山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nikon Corp
Original Assignee
Nikon Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nikon Corp filed Critical Nikon Corp
Priority to JP23398292A priority Critical patent/JP3248257B2/ja
Priority to US08/113,328 priority patent/US5389995A/en
Publication of JPH0682686A publication Critical patent/JPH0682686A/ja
Application granted granted Critical
Publication of JP3248257B2 publication Critical patent/JP3248257B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B7/00Mountings, adjusting means, or light-tight connections, for optical elements
    • G02B7/28Systems for automatic generation of focusing signals
    • G02B7/30Systems for automatic generation of focusing signals using parallactic triangle with a base line
    • G02B7/32Systems for automatic generation of focusing signals using parallactic triangle with a base line using active means, e.g. light emitter

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Optics & Photonics (AREA)
  • Focusing (AREA)
  • Automatic Focus Adjustment (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はカメラ、ビデオ等に用い
られる焦点検出装置に関するものである。
【0002】
【従来の技術】一眼レフレックスカメラに於ける焦点検
出方式として、位相差検出方式があり、図25を用いて
この方法を説明する。撮影レンズ100の領域101を
介して入射した光束は視野マスク200、フィールドレ
ンズ300、絞り開口部401及び再結像レンズ501
を通り、入射強度に応じた出力を発生する複数の光電変
換画素を一次元的に並べたイメージセンサーアレイA上
に結像する。
【0003】同様に撮影レンズ100の領域102を介
して入射した光束は視野マスク200、フィールドレン
ズ300、絞り開口部402及び再結像レンズ502を
通りイメージセンサーアレイB上に結像する。これらイ
メージセンサーアレイA、B上に結像した一対の被写体
像は撮影レンズ100が予定焦点面よりも前に被写体の
鮮鋭像を結ぶいわゆる前ピン状態では互いに遠ざかり、
逆に予定焦点面より後ろの被写体の鮮鋭像を結ぶいわゆ
る後ピン状態では互いに近づき、ちょうど予定焦点面に
被写体の鮮鋭像を結ぶいわゆる合焦時にはイメージセン
サーアレイA、B上の被写体像は相対的に一致する。
【0004】従って、この一対の被写体像をイメージセ
ンサーアレイA、Bで光電変換して電気信号に変え、こ
れらの信号を演算処理して一対の被写体像の相対位置を
求めることにより撮影レンズ100の焦点調節状態、こ
こでは合焦状態からはなれている量とその方向(以後、
デフォーカス量と略す)が分かる。そして焦点検出領域
はイメージセンサーアレイA、Bが再結像レンズ50
1、502によって投影されて予定焦点面近傍で重なっ
た部分となる。
【0005】次にデフォーカス量を求める演算処理方法
について述べる。イメージセンサーアレイA、Bはそれ
ぞれ複数の光電変換画素からなっており、複数の光電変
換出力信号列a1...an,b1...bn,を出力する(図17(a)、
(b) )。そしてそれぞれのデータ列を相対的に所定のデ
ータ分Lずつシフトしながら相関演算を行う。最大シフ
ト数をLrngとするとLの範囲は−Lrng〜Lrn
gとなる。具体的には相関量C[L]を数式1で算出す
る。
【0006】
【数1】
【0007】数式1においてLは上述のごとくデータ列
のシフト量に当たる整数であり、初項kと最終項rはシ
フト量Lに依存して変化させてもよい。こうして得られ
た相関量C[L]の中で極小値となる相関量を与えるシ
フト量に図25に示す光学系及び、イメージセンサーア
レイの光電変換画素のピッチ幅によって定まる定数を掛
けたものがデフォーカス量となる。しかしながら相関量
C[L]は図17(c) に示すように離散的な値であり、
検出可能なデフォーカス量の最小単位はイメージセンサ
ーアレイA、Bの光電変換画素のピッチ幅によって制限
されてしまう。そこで離散的な相関量C[L]より補間
演算を行うことにより新たに極小値Cexを算出してい
る。
【0008】これは図18のように極小値である相関量
C0 とその両側のシフト量での相関量C1 、C-1によっ
て算出する方法で、まず極小値Cexを与えるずれ量L
sを数式2、数式3により算出する。
【0009】
【数2】
【0010】
【数3】
【0011】数式3においてMAX{Ca,Cb}はC
aとCbの内の大なる方を選択することを意味する。こ
の補間演算を3点内挿演算と呼ぶ事とする。そしてデフ
ォーカス量DFは極小値を与えるずれ量Lsから数式4
によって算出される。数式4においてKfは図25に示
す光学系及びイメージセンサーアレイの光電変換画素の
ピッチ幅によって定まる定数である。
【0012】
【数4】
【0013】こうして得られたデフォーカス量が真にデ
フォーカス量を示しているのか、ノイズ等による相関量
の揺らぎによるものなのかを判定する必要があり、数式
5に示す条件を満たしたとき、デフォーカス量は信頼あ
りとする。
【0014】
【数5】
【0015】数式5におけるE1,G1はある所定値で
ある。E(以後スロープ値と呼ぶ事とする)は被写体の
コントラストに依存する値であり、値が大きいほどコン
トラストが高く信頼性が高いことになり、Cex/Eは
一対のデータの一致度を表し、0に近いほど信頼性が高
いことになる。そして信頼ありと判定されるとデフォー
カス量DFに基づいて撮影レンズ100を駆動する。以
上の相関演算、補間演算、条件判定をまとめて焦点検出
演算と呼ぶことにする。
【0016】特開昭60−37513号公報では常に相
関量C[L]を全シフト範囲(−Lrng〜Lrng)
について算出するのではなくてシフト数Lを0、1、−
1、2、−2、...、Lrng、−Lrngという順
番に変化させて相関量C[L]を得て数式5を満たす信
頼性のあるデフォーカス量を算出した時点で相関量演算
を中止するようにしている。このようにすると被写体が
合焦に近い場合にはC[−1]、C[0]、C[1]の
3個の相関量を算出するだけで済み、演算時間が短縮で
きる。
【0017】ちなみに、図21(a) 、(b) のように被写
体パターンが周期な繰り返しパターンの場合には図21
(c) に示すように相関量C[L]も繰り返しパターンと
なり、デフォーカス量が特定できなくなる。そこで信頼
性のあるデフォーカス量が複数個得られた場合には被写
体は周期的なパターンを持つと判定するようにしてい
る。
【0018】ところで図25のイメージセンサーアレイ
A、BとしてはCCD等の蓄積型のものが用いられる。
これは各光電変換画素で発生した電荷を適当な蓄積時間
だけ蓄積し、蓄積した電荷を電圧に変換してデータを得
るものであり、被写体が暗いときには蓄積時間を長く
し、被写体が明るいときには蓄積時間を短くする事によ
って屋外の明るい状況、暗い室内においても適切なデー
タを得る事が出来る。
【0019】裏を返せば蓄積時間が不適切であると適切
なデータを得る事が出来ずにデフォーカス量が算出でき
なくなる。例えば白地に細い黒線が一本といった微細な
被写体において、図20(c) の様に全体的に高い出力が
得られた時にスロープEが数式5をかろうじて満たすよ
うなコントラストであったとすると、蓄積時間が短く設
定されて図20(d) の様に全体的に若干低い出力の時に
はコントラストが低下し、スロープEが数式5を満たさ
ずに焦点検出不能となってしまう。
【0020】また、蓄積時間が長すぎて発生した電荷量
が蓄積可能な限界を越えてしまったり、演算処理可能な
範囲を越えた場合には正しい焦点検出演算は行えない。
従って適切なデータを得るように蓄積時間を制御する必
要がある。この制御をAGC(オートゲインコントロー
ル)と略す事とする。AGCの方式には大きく分けて2
種類ある。一つは前回の蓄積で得られたデータに基づい
て次回の蓄積時間を決定する方式で、例えばデータ内の
最大値が所定の値となるよう蓄積時間を設定する方法で
あり、演算によって蓄積時間が決定されるのでソフトA
GCと呼ぶ事とする。
【0021】もう一つの方式はイメージセンサーアレイ
の近傍にモニターセンサーを配置し、このセンサーの出
力に基づいて蓄積時間を設定するものであり、ハードウ
ェアーによって蓄積時間が決定するのでハードAGCと
呼ぶ事とする。ソフトAGCはきめ細かく蓄積時間を設
定できるが前回の蓄積が必要なためにリアルタイム性に
は優れず、ハードAGCはリアルタイムに被写体の輝度
をモニターできるがイメージセンサーアレイの平均的な
輝度等しかモニターできないのできめ細かい蓄積時間の
制御は不可能である。
【0022】以上の説明では焦点検出演算はイメージセ
ンサーアレイの出力そのものを用いて演算しているが、
ナイキスト周波数以上の有害成分や、一対のイメージセ
ンサー間の出力のバランスの差、つまりDC成分による
悪影響を消すために、イメージセンサーアレイの出力に
対してフィルター処理を施すことによって新たにデータ
を作成し、新たに作成したデータを用いて焦点検出演算
を行う。
【0023】例えばイメージセンサーの出力信号列をD
[i] とすると、まず数式6によって高周波成分を除去す
るフィルター処理を行って新たなデータ列H[i] を作成
する。
【0024】
【数6】
【0025】数式6において、右辺を4で割ってもよ
い。このデータ列H[i] に対してさらに数式7に示すD
C成分を除去する微分型のフィルター処理を行って新た
なデータ列F[i] を作成する。
【0026】
【数7】
【0027】数式7においてF[i] がマイナスの値とな
らぬように右辺に所定の値を加算してもよい。そしてN
は1〜10程度の自然数であり、Nの値によって抽出さ
れる周波数成分が可変となり、Nの値が大きいほど低周
波成分が抽出される。そこでNとして例えば3と6の2
種類用意して被写体によって切り換えたり、最初はN=
3でデータ列F[i]を作成してこれを用いて数式1の相関
演算、数式2と数式3の補間演算を行い、数式5に示す
条件を満たさない場合にはN=6に変えてデータ列F
[i]を作成し再び演算をやり直す。なお、この様にDC
成分を除去して特定の周波数成分を抽出するフィルター
処理を施したデータを用いると、白地に細い黒線が一本
といった微細な被写体に対する焦点検出能力が向上す
る。
【0028】ところでこの様な焦点検出装置において、
距離の異なる複数の被写体がイメージセンサーアレイに
結像した時には、前後した被写体の中間距離で合焦と判
定してしまったり、焦点検出が不能となってしまうとい
う不具合があった。そこで一対のイメージセンサーアレ
イをそれぞれ複数のブロックに分割する事により焦点検
出領域を細分化し、それぞれのブロックについて焦点検
出演算を行い、それぞれのブロックに於て極小を与える
ずれ量Ls[i] とデフォーカス量Df[i] を算出し、複
数のブロックの中で、たとえばデフォーカス量が最至近
を示すブロックやコントラストが最大のブロックを選択
し、そのブロックのデフォーカス量を撮影レンズの焦点
検出状態とし、カメラにおいては前期デフォーカス量に
基づいて撮影レンズを駆動している。
【0029】ここでブロックに分割するとは、例えば前
述の数式1の相関演算に於いてシフト量L=0における
初項kと最終項rの組を複数形成しするようにして行
う。例えば、図19(a) に示ようにそれぞれが40デー
タからなる一対のイメージセンサーアレイをそれぞれが
6データから成る6個のブロックに分割するには、ブロ
ック1はシフト量L=0においてk=3,r=8と設定
して数式1によって相関量C[L]を演算し、これらに
基づいて数式2、3によって極小を与えるシフト量Ls
を算出し、数式4によりデフォーカス量DFを演算し、
同様にブロック2、3、4、5、6ではそれぞれシフト
量L=0においてk=9,r=14、k=15,r=2
0、k=21,r=26、k=27,r=32、k=3
3,r=38と設定して焦点検出演算を行う。
【0030】そして図19(b) に示ように同じ一対のイ
メージセンサーアレイにおいて、ブロック1の場合にk
=3,r=14、ブロック2の場合にk=15,r=2
6、ブロック3の場合にk=27,r=38とする事に
より、12データから成る3個のブロックに分割される
事となり図19(a) の場合よりも広いブロックを形成す
る事が出来る。前述のフィルター処理を行った場合も、
新たに作成されたデータを同様に複数のブロックに分け
ればよい。
【0031】また、高周波数成分を抽出するフィルター
処理ではブロックを形成するデータ数を少なくして狭い
ブロックを多数形成し、低周波数成分を抽出するフィル
ター処理ではブロックを形成するデータ数を多くして、
広いブロックを小数形成するようにする方法もある。あ
るいは最初は狭いブロックで焦点検出演算を行い、全て
のブロックで焦点検出不能であったならブロックを広く
して焦点検出演算をやり直すという様にブロックの幅を
可変とする方法もある。
【0032】また、ブロックの境界に被写体のコントラ
ストが位置すると焦点検出不能となる場合があるので特
開平2−135311ではブロック境界近傍について隣
接するデータの差の絶対値を算出し、差の絶対値が最小
となる部分がブロックの境界となるように境界位置を移
動するという方法を開示している。先の焦点検出演算の
説明に於て、ちょうど予定焦点面に被写体の鮮鋭像を結
ぶいわゆる合焦時にはイメージセンサーアレイA、B上
の被写体像は相対的に一致するとした。しかしながら実
際には図25に示す光学系(撮影レンズ100は除く)
をカメラ等に組み込むに、予定焦点面との相対位置が
ずれるために完全には一致せずに誤差を生じる(以後こ
の誤差量を組み込み誤差量と呼ぶ事とする)。
【0033】従って、組み込み誤差量を記憶しておき、
数式2の演算終了後に補正を行う必要がある。たとえば
組み込み誤差量を補正する補正値として単位がデータの
ピッチであるようなZを用いると、補正は数式8のごと
く行われる。
【0034】
【数8】
【0035】この補正値Zはボディ毎に異なるので、ボ
ディ毎に補正値Zを測定して、ボディ内の例えばEEP
ROM等に記憶しておく必要がある。理想的には焦点検
出領域内では組み込み誤差量は均一である事が望まれ
る。しかし焦点検出光学系の収差や、図25に示す光学
系を組み立てる際に再結像レンズ501、502とイメ
ージセンサーアレイA、Bとが相対的に傾いてしまうた
めに組み込み誤差量は均一とならず、図24に示すよう
に焦点検出領域内の位置によって組み込み誤差量は異な
る。
【0036】従って、焦点検出領域を複数のブロックに
分割する場合には補正値Zはブロック毎に設定する必要
がある。そこでブロック毎に補正値Z[i] を測定して、
これら複数の補正値Z[i] をEEPROM等に記憶し、演算さ
れた個々の結果に対して対応する補正値Z[i] を用いて
補正を行う。これについては本出願人による特開昭60
−262004に開示されている。補正値Z[i] を測定
する際には被写体としては例えばブロックの幅に対して
十分に細かい周期を有する白黒の格子パターンを用いて
測定している。このようにして測定すると補正値Z[i]
はブロックの中心位置の組み込み誤差量を表しているこ
とになる。ちなみに特開昭60−262004では補正
量Zをブロック毎ではなくイメージセンサーアレイの一
つ一つの画素毎に補正量Zを記憶し、画素毎の補正量Z
を被写体パターンのコントラスト分布に基づいて重み付
け平均する事により、実際の演算で用いる補正量を決定
するという非常にきめ細かな方法も開示している。
【0037】信頼性のあるデフォーカス量が算出できた
場合には、このデフォーカス量に相当する移動量だけ撮
影レンズ100を図示しないモーター等によって駆動す
る事により被写体像が予定焦点面に結像するいわゆる合
焦状態とする事が出来る。しかしながらデフォーカス量
が大きいときには演算誤差等により一回のレンズ駆動で
は合焦とならない。そこで図22(a) のタイミングチャ
ートに示すようにレンズ駆動終了後にイメージセンサー
アレイの蓄積、焦点検出演算を行って再びレンズ駆動を
行う、という具合にレンズ駆動、蓄積、演算を順次行っ
て合焦させるのが一般的である。
【0038】この方式を間欠サーボと呼ぶ事とする。一
方、図22(b) のタイミングチャートに示すようにレン
ズ駆動の最中に蓄積、演算を繰り返してレンズ駆動の目
標となるデフォーカス量をその都度変更していく事によ
りレンズ駆動を停止する事なくレンズを合焦させる方式
があり(これをオーバーラップサーボと呼ぶ事とす
る)、この方式は間欠サーボに比べて合焦までの時間を
短縮する事が出来る。
【0039】しかしながらオーバーラップサーボではレ
ンズが駆動している最中にイメージセンサーアレイの蓄
積を行っているために被写体が暗くて蓄積時間が長くな
るとイメージセンサーアレイ上の被写体像がぼけてしま
って演算精度が下がり、合焦までのレンズ駆動が不安定
となり間欠サーボよりも時間がかかるような事がある。
そこで特開昭61−165715では被写体が明るい通
常の場合にはオーバーラップサーボを用い、被写体が暗
いときには間欠サーボに切り換えている。
【0040】信頼性のあるデフォーカス量が得られなか
った場合には、レンズが合焦から非常に大きくはずれて
いる場合が考えられるので、レンズを所定方向に駆動し
ながら蓄積、演算を繰り返して信頼性のあるデフォーカ
ス量を捜すいわゆるスキャン動作を行う事が知られてい
る。所定方向としてはとしては例えばまず至近側にレン
ズを駆動し、レンズの至近端に達した場合には無限方向
に駆動方向を変え、レンズの無限端に達した場合にはレ
ンズ駆動を停止してスキャン動作を停止する。このスキ
ャン動作は最初の焦点検出演算によって信頼性のあるデ
フォーカス量が得られなかった場合のみに行うのが一般
的である。
【0041】例えば移動する被写体に追従している時に
被写体が焦点検出領域からはずれて検出不能となった場
合にはレンズ駆動を停止すれば撮影者が再び被写体を焦
点検出領域に捕らえる事により短時間に再び合焦となる
のに対し、スキャン動作を行うとレンズが常に所定方向
に駆動する事となり、再度合焦するまでの長い時間を要
する事になる。
【0042】被写体が暗すぎて蓄積時間を設定可能な最
長蓄積時間としても適切な出力を持つデータが得られな
い場合には図23に示すようなコントラストパターンを
持った補助光を照射し、このコントラストパターンによ
って焦点検出演算を行う方法がある。
【0043】
【発明が解決しようとする課題】特開平2−13531
1ではブロックの境界に被写体のコントラストが位置し
て焦点検出不能となる事を防ぐために、ブロック境界近
傍について隣接するデータの差の絶対値を算出し、差の
絶対値が最小となる部分がブロックの境界となるように
境界位置を移動するという方法を開示している。しかし
ながらこの方法はDC成分を除去していないデータを用
いる場合には非常に有効であるが、DC成分を完全に除
去するフィルター処理を施したデータを用いる場合には
適していない。この問題について図29(a)、(b)、(c)
を用いて説明する。図29(a) は被写体が白地に細い黒
線が一本描かれている微細なものである場合のイメージ
センサーアレイの出力である。この出力に対して数式
6、7に示したフィルター処理を施してDC成分を完全
に除去したデータが図29(b) である。そして図29
(b) を拡大したものが図29(c) である。図29(c) に
おいてデータ番号v1〜v9のどのデータ間をブロック
の境界とするかを考える。コントラストがある部分がな
るべく片方のブロックに属するようにブロックの境界は
設定されるべきなので、この場合はv1とv2の間をブ
ロックの境界とするべきである。しかしながら従来のよ
うに隣接するデータの差の絶対値が最小となる部分をブ
ロックの境界とすると、|F[v5]−F[v6]|が最小とな
るために被写体のコントラストの中央部に相当するv5
とv6の間がブロックの境界となってしまう。すると元
々コントラストが低い微細なパターンを2分割して焦点
検出演算を行う事になり、精度の高い演算結果が得られ
なかったり、焦点検出不能となる場合も生じる。
【0044】本発明はこのような課題に鑑みてなされた
ものであり、DC成分を除去するフィルター処理を施し
たデータを用いた場合でも被写体パターンのコントラス
トの無い部分に相当する正しい位置にブロックの境界を
設定する事が出来る焦点検出装置を提供する事を目的と
する。
【0045】
【課題を解決するための手段】上記目的達成のために本
発明では、複数の光電変換素子からなり、入射する被写
体像を表す出力信号列を出力するイメージセンサーと、
該イメージセンサーに被写体像を導く光学系と、該出力
信号列に対してDC成分を除去する微分型のフィルター
処理を施してフィルター信号列を得る演算手段と、該フ
ィルター信号列を複数の領域に分割する領域分割手段と
から成り、該演算手段は該フィルター信号列に基づいて
該複数の領域毎に撮影レンズの焦点調節状態を検出する
焦点検出装置において、該領域分割手段は所定範囲内に
於いて該フィルター信号列の値と所定値との差分量を算
出する事により差分データ列を得て、該差分データ列に
基づいて該フィルター信号列を複数の領域に分割するよ
うにした。そして、該領域分割手段は該差分データ列に
おいて隣接する二つの差分データを加算する事によって
新たに加算データ列を算出し、該加算データ列の内で最
小値となる加算データを示す位置を領域の分割点として
設定している。また、該所定値は該出力信号列の内で値
が一定である部分を該フィルター処理を施した際に得ら
れる値としている。
【0046】ここで課題解決の手段の具体方法を図29
(c) を用いて説明する。イメージセンサーアレイの出力
の内でコントラストがない部分が数式6、7に示したフ
ィルター処理によってどのようなデータに変換されるか
を考える。コントラストがない部分、つまりD[i] の変
化がない部分では数式6の高周波成分を除去するフィル
ター処理を施したデータH[i] も変化がない事になる。
そしてH[i] =H[i+N] =H[i+2N]=HCとして数式7
に示すDC成分を除去するフィルター処理を行うと、デ
ータF[i]は次の数式52に示すように0になる。
【0047】 F[i] =−H[i] +2H[i+N] −H[i+2N] =−HC+2HC−HC =0 実際にはノイズ等によってコントラストがない部分であ
ってもD[i] には多少のバラツキがあるので完全に0と
はならないが、イメージセンサーアレイの出力の内でコ
ントラストがない部分はDC成分を完全に除去するフィ
ルター処理によってほぼ0に近い値に変換される事にな
る。したがって所定値を0として、所定値0からの差の
絶対値が小さい位置をブロックの境界位置とする方が望
ましいといえる。そこで所定値0との差の絶対値Dv
[i] を次に示す数式53により算出する。
【0048】Dv[i] =|F[vi]−0| 図29(c)の場合においてDv[5]とDv[6]はかなり大
きい数値となるので従来のようにv5とv6の間がブロ
ックの境界となってしまう事はない。そしてDv[1] が
最小となる。しかしながらDv[4] 、Dv[7] の値はい
ずれも小さい値となり、被写体のコントラストが存在す
る部分であるv4、v7をブロックの境界とする危険性
がある。v4とv7は所定値0をデータが交差する位置
であり、その前後を見ると差の絶対値Dv[i] は大きい
値である。そこで次に示す数式54のように差の絶対値
Dv[i] をとなり合うデータ同士で加算して加算値Ws
[i] を得る。
【0049】Ws[i] =Dv[i] +Dv[i+1] この加算値Ws[i] が最小となる位置をブロック境界位
置とする事により、v4、v7がブロックの境界となる
事を防ぐ事が出来る。この方法によればv1とv2の間
がブロック境界位置となる。なお、もし全てのWs[i]
がある所定値よりも大きい場合にはいずれの場所もコン
トラストがあると考えられるので、このような場合には
左端、または右端をブロックの境界位置として大部分の
コントラストを一方のブロックに含ませるようにする。
このようにすれば少なくとも焦点検出不可能となる事は
避けられる。
【0050】
【作用】このように本発明では、イメージセンサーの出
力信号列の内で値が一定である部分に対してDC成分を
除去するフィルター処理を施した際に得られる値を所定
値として設定し、所定範囲内に於いてDC成分を除去し
たデータ列の値と該所定値との差分量を算出する事によ
り差分データ列を得て、隣接する二つの差分データを加
算する事によって新たに加算データ列を算出し、該加算
データ列の内で最小値となる加算データを示す位置を領
域の分割点として設定しているので、DC成分を除去す
るフィルター処理を施したデータを用いた場合でも被写
体パターンのコントラストがない部分に相当する正しい
位置にブロックの境界を設定する事が可能となる。
【0051】
【実施例】図1は本発明の構成図であり、2は複数の光
電変換画素からなるイメージセンサーアレイを少なくと
も一対有するイメージセンサー、1は撮影レンズ10を
通過した光をイメージセンサー2に導く焦点検出光学
系、4は被写体の輝度が低い場合に被写体に対して補助
光を照射する補助光発光部、5は撮影レンズ10を駆動
するモーター、6は焦点検出を行う領域の幅を選択する
モード選択部、3はマイクロプロセッサーであり演算、
制御等を行う。
【0052】マイクロプロセッサー3からイメージセン
サー2へは電荷を蓄積する蓄積時間を与え、マイクロプ
ロセッサー3はイメージセンサー2から電荷蓄積信号と
イメージセンサーアレイ近傍に位置するモニターセンサ
ーの出力を得る。電荷蓄積信号をマイクロプロセッサー
3に取り込む際にはA/D変換を施す事により8ビット
のデジタルデータとする。
【0053】マイクロプロセッサー3は各種動作を行う
部分を含み、3aはイメージセンサー2の電荷蓄積を制
御する蓄積制御部、3bは電荷蓄積信号に基づいて被写
体のコントラスト状態を判別する被写体判別部、3cは
電荷蓄積信号に基づいて撮影レンズ10の焦点調節状態
を検出する焦点検出演算部、3dはイメージセンサーア
レイを複数の領域に分割するブロック形成部、3eは焦
点検出光学系1の組立時に発生する組み込み誤差量を記
憶する誤差量記憶部、3fは誤差量記憶部に記憶された
組み込み誤差量から焦点検出演算部3cで用いる補正量
を算出する補正値設定部、3gは焦点検出演算部3cに
おいて演算結果の信頼性判定に用いるしきい値を設定す
るしきい値設定部、3hは被写体パターンが周期的なも
のか否かを判定する周期判定部、3jは一対のイメージ
センサーアレイの出力のレベルのバランスが乱れている
事を検出するバランス乱れ検出部、3kは焦点検出演算
3cによって算出された結果に基づいてモーター5を制
御して撮影レンズ10を駆動するレンズ駆動制御部であ
る。
【0054】本発明における焦点検出光学系1は図15
に示すように撮影レンズ10の光軸上に視野マスク2
0、フィールドレンズ30、絞り40、再結像レンズ5
0、イメージセンサー2がこの順序で配置されている。
視野マスク20は十字形の開口部を有しており、撮影レ
ンズ10の予定焦点面近傍に配置されて撮影レンズ10
によって結像した被写体の空中像を規制するものであ
る。絞り40は41、42、43、44の4つの開口部
を有し、これらの開口部はフィールドレンズ30によっ
て撮影レンズ上に11、12、13、14として投影さ
れる。再結像レンズ50は図15(b) に示すように絞り
4の開口部41、42、43、44に対応する51、5
2、53、54の4つのレンズからなり、視野マスク2
0の像をイメージセンサー2に結像する。
【0055】従って撮影レンズ10の11の領域から入
射した光束は視野マスク20、フィールドレンズ30、
絞り40の開口部41、 再結像レンズのレンズ51を通
りイメージセンサーアレイA上に結像する。同様に撮影
レンズ10の12、13、14の領域より入射した光束
はそれぞれイメージセンサーアレイB、C、D上に結像
する。そして イメージセンサーアレイA、Bに結像し
た被写体像は撮影レンズ10が前ピンの時は互いに遠ざ
かり、後ピンの時は互いに近ずき、合焦時にはある所定
の間隔に並ぶ。
【0056】よってイメージセンサーアレイA、Bの電
荷蓄積信号Da[i] 、Db[i] を演算処理することによ
り撮影レンズ10の水平方向の焦点調節状態として前述
のデフォーカス量を算出することができる。同様にイメ
ージセンサーアレイC、Dに結像した被写体像は撮影レ
ンズ10が前ピンの時は互いに遠ざかり、後ピンの時は
互いに近ずき、合焦時にはある所定の間隔に並ぶ。よっ
てイメージセンサーアレイC、Dの電荷蓄積信号Dc
[i] 、Dd[i] を演算処理することにより撮影レンズ1
0の垂直方向の焦点調節状態として前述のデフォーカス
量を算出することができる。イメージセンサー2上の7
1、72はそれぞれイメージセンサーアレイA、Cに入
射する光束の平均輝度に応じた信号MH、MVを出力す
るモニターセンサーである。
【0057】このような光学系、イメージセンサーを用
いる事により本発明における焦点検出領域は図16(a)
に示すように撮影画面に対して横長な十字型となる。こ
の焦点検出領域全体を演算に用いる場合と、図16(b)
に示すように横方向の領域に関しては中央のみを演算に
用いるようにした場合の2通りをモード選択部6にて選
択する。前者をワイドモード、後者をスポットモードと
呼ぶ事とする。
【0058】図12は本発明の焦点検出装置の全体の動
作を表すフローチャートである。この図の説明を行う前
にハードAGC、ソフトAGCについて説明する。AG
Cはオートゲインコントロールの略であり、蓄積型のイ
メージセンサーの蓄積時間を制御することによって電荷
蓄積信号が適切なレベルとなるようにするものである。
ソフトAGCは前述のように前回の蓄積で得られたデー
タに基づいて次回の蓄積時間を決定する方式であり、例
えば前回に蓄積時間Itrの蓄積によって得られた電荷
蓄積信号の最大値がDMaxであり、目標とする電荷蓄
積信号の最大値がWMaxであったとすると今回の蓄積
時間Itは数式9によって定まる。
【0059】
【数9】
【0060】これにより今回の蓄積によって最大値DM
axがほぼ目標値WMaxとなるような電荷蓄積信号を
得る事が出来る。WMaxの値としては電荷蓄積信号の
取り得る範囲の中間値が望まし。例えば本実施例では
電荷蓄積信は8ビットのデータ、つまり0〜255の値
であるのでWMaxは128とする。また、スポットモ
ード時には演算に使用する範囲の最大値をDMaxとす
るのが好ましい。なお、蓄積時間には設定可能な範囲が
あり、最短Itmin、最長Itmaxとする。
【0061】ソフトAGCによれば安定したレベルの電
荷蓄積信号を得る事が出来るが、前回の蓄積がない場
合、つまり第一回目の蓄積の場合には用いる事が出来な
い。そこで第一回目の蓄積の場合にはイメージセンサー
アレイの近傍に設けられた図15におけるモニターセン
サー71、72の出力に基づいて蓄積時間を決定する、
いわゆるハードAGCを用いる。モニターセンサー7
1、72はそれぞれイメージセンサーアレイA、Cに入
射する光束の平均輝度に応じた信号MH、MVを出力す
るために、最大値DMaxを制御する事は出来ない。
【0062】例えば最大値DMaxが同じであってもイ
メージセンサーアレイ全体にほぼ一様の輝度が照射して
いる時と、暗い背景で明るいパターンが局所的に存在す
るような時とではモニター信号の出力は異なる。もしイ
メージセンサーアレイ全体にほぼ一様の輝度が照射して
いる事を想定して蓄積時間を決定すると図20(c) の様
に白地に細い黒線一本の被写体の場合にはイメージセン
サーアレイ全体にほぼ一様の輝度が照射している事と変
わりはないので最大値DMAXがほぼ所定値となるデー
タが得られるが、図20(a) の様に暗い背景で明るいパ
ターンが局所的に存在する被写体の場合には適切な蓄積
時間よりも長い蓄積時間が設定されてしまい、図20
(b) の様に発生した電荷量が蓄積可能な限界を越えてし
まったり、演算処理可能な範囲を越えてしまって適切な
レベルのデータが得らない。そこでコントラストがイメ
ージセンサーアレイ全体に分布する通常の場合を想定し
て蓄積時間を設定する様にしている。
【0063】それでは図12により本発明の焦点検出装
置の全体の動作を説明する。ステップ1201・焦点検
出動作を開始するときには従来の技術の項で説明したス
キャン動作を許可するものとする。ステップ1202・
ハードAGCによってイメージセンサーアレイA、B、
C、Dの蓄積を行いそれぞれの電荷蓄積信号Da[i] 、
Db[i] 、Dc[i] 、Dd[i] を得る。
【0064】ステップ1203・電荷蓄積信号Da[i]
、Db[i] 、Dc[i] 、Dd[i] を用いてデフォーカ
ス量算出アルゴリズムを実行する。アルゴリズムの詳し
い内容については図2、図3を用いて後述する。ステッ
プ1204・デフォーカス量算出アルゴリズムによって
デフォーカス量が得られたか否かを見て、得られた場合
にはデフォーカス量に基づくレンズ駆動を開始し(ステ
ップ1214)、以後のスキャン動作を禁止し(ステッ
プ1215)、使用者が操作を中断したり、撮影レンズ
10が合焦状態になった等の理由により動作を中止しな
ければならない場合にはレンズを停止して動作を終了し
(ステップ1216)、終了しないのならばステップ1
209へ進んで蓄積、デフォーカス量算出アルゴリズム
実行といった動作を繰り返す。
【0065】このときに図22(b) のタイミングチャー
トに示すようにレンズ駆動の最中に蓄積、演算を繰り返
してレンズ駆動の目標となるデフォーカス量をその都度
変更していく事により従来の技術の項で述べたオーバー
ラップサーボが実現される。焦点検出アルゴリズムによ
って焦点検出不能判定されてデフォーカス量が得られ無
かったときにはステップ1205へ進む。
【0066】ステップ1205・電荷蓄積信号の内の最
大値DMaxが所定の範囲内にあるか否かを見て、所定
の範囲内にあればステップ1202のハードAGCで得
られた電荷蓄積信号は適切なレベルのデータであったの
で焦点検出不能であったのは撮影レンズ10が合焦から
非常に大きくはずれている場合が考えられるので、撮影
レンズ10をレンズを所定方向に駆動しながら蓄積、演
算を繰り返してデフォーカス量が得られるレンズ位置を
捜すいわゆるスキャン動作を行うべくステップ1209
へ進む。
【0067】最大値DMaxが所定の範囲内にない場合
には例えば被写体が図20(c) の様に白地に細い黒線一
本である為にステップ1202のハードAGCでは適切
なレベルの電荷蓄積信号が得られなかった為に焦点検出
不能となったと考えられるので、この場合にはスキャン
動作に入らずにステップ1206へ進んでソフトAGC
によって再度蓄積を行う。所定の範囲としては、例えば
96〜250とする。
【0068】ステップ1206・数式9に基づいて蓄積
時間を決定するソフトAGCによって蓄積を行い、電荷
蓄積信号Da[i] 、Db[i] 、Dc[i] 、Dd[i] を得
る。この場合には最大値DMaxはほぼ目標値WMax
に等しくなるはずである。ステップ1207・電荷蓄積
信号Da[i] 、Db[i] 、Dc[i] 、Dd[i] を用いて
デフォーカス量算出アルゴリズムを実行する。
【0069】ステップ1208・デフォーカス量算出ア
ルゴリズムによってデフォーカス量が得られたか否かを
見て、得られた場合にはデフォーカス量に基づくレンズ
駆動を開始し(ステップ1214)、以後のスキャン動
作を禁止し(ステップ1215)、使用者が操作を中断
したり、撮影レンズ10が合焦状態になった等の理由に
より動作を中止しなければならない場合にはレンズを停
止して動作を終了し(ステップ1216)、終了しない
のならばステップ1209へ進んで蓄積、デフォーカス
量算出アルゴリズム実行といった動作を繰り返す。
【0070】ステップ1206のソフトAGC電荷蓄積
信号によって適切なレベルのデータを得たのにもかかわ
らずデフォーカス量算出アルゴリズムによって焦点検出
不能判定されてデフォーカス量が得られ無かった場合に
は撮影レンズ10が合焦から非常に大きくはずれている
場合が考えられるので、撮影レンズ10をレンズを所定
方向に駆動しながら蓄積、演算を繰り返してデフォーカ
ス量が得られるレンズ位置を捜すいわゆるスキャン動作
を行うべくステップ1209へ進む。
【0071】ステップ1209・スキャン動作が禁止さ
れているか否かを見て、禁止されている場合、つまり以
前にデフォーカス量が得られていてステップ1214、
1215を通過している場合にはスキャンではなくてオ
ーバーラップサーボ、あるいはレンズ停止状態での通常
の動作を行うべくステップ1211へ進み、禁止されて
いない場合にはスキャン動作を実行して(ステップ12
10)ステップ1211へ進む。
【0072】ステップ1211・数式9に基づいて蓄積
時間を決定するソフトAGCによって蓄積を行い、電荷
蓄積信号Da[i] 、Db[i] 、Dc[i] 、Dd[i] を得
る。この場合には最大値DMaxはほぼ目標値WMax
に等しくなるはずである。ステップ1212・電荷蓄積
信号Da[i] 、Db[i] 、Dc[i] 、Dd[i] を用いて
デフォーカス量算出アルゴリズムを実行する。
【0073】ステップ1213・デフォーカス量算出ア
ルゴリズムによってデフォーカス量が得られたか否かを
見て、得られた場合にはデフォーカス量に基づくレンズ
駆動を開始し(ステップ1214)、以後のスキャン動
作を禁止し(ステップ1215)、使用者が操作を中断
したり、撮影レンズ10が合焦状態になった等の理由に
より動作を中止しなければならない場合にはレンズを停
止して動作を終了し(ステップ1216)、終了しない
のならばステップ1209へ進んで蓄積、デフォーカス
量算出アルゴリズム実行といった動作を繰り返す。デフ
ォーカス量算出アルゴリズムによって焦点検出不能判定
されてデフォーカス量が得られ無かった場合にはステッ
プ1216へ進む。
【0074】次に図12におけるステップ1203、1
207、1212のデフォーカス量算出アルゴリズムに
ついて説明する。これはイメージセンサー2の電荷蓄積
信号Da[i] 、Db[i] 、Dc[i] 、Dd[i] に基づい
てデフォーカス量を算出するものである。そして本実施
例では第1、2、3、4、5の計5種類のフィルター処
理データを使い分けている。
【0075】第1、3、4のフィルター処理を施したデ
ータは第16図(a) の横方向の焦点検出領域を9個、縦
方向の焦点検出領域を3個の計12個のブロックに分割
され、第2、5のフィルター処理を施したデータのブロ
ック分割は第1、3、4のフィルター処理データの場合
よりも粗い横方向3個、縦方向1個の計4個のブロック
に分割している。それでは図2、図3を用いてデフォー
カス量算出アルゴリズムの動作について説明する。
【0076】ステップ201・蓄積電荷信号D@[i]
(ここで@がaの場合にはa列の電荷蓄積信号を表し、
b、c、dの場合も同様にb列、c列、d列の電荷蓄積
信号を表す事とする。以後、他のデータについてもこの
表記法を用いる)を入力する。蓄積電荷信号D@[i] は
横列86対、縦列37対の8ビットのデータである。ス
テップ202・数式10に示す被写体パターンの高周波
数成分を除去するフィルター処理を入力した蓄積電荷信
号D@[i]に対して施し、高周波カットデータH@[i]
を得る。高周波カットデータH@[i] は横列84対、縦
列35対のデータである。
【0077】
【数10】
【0078】ステップ203・被写体が暗い場合には蓄
積時間Itを最長時間Itmax としても十分な電荷蓄積
信号を得る事ができないので、図23に示すような光強
度パターンを持つ補助光を被写体に向けて発光する。こ
の場合にはステップ227へ進み、補助光を発光しない
通常の場合にはステップ204へ進む。ステップ204
・被写体パターンが低コントラスト(以後、低コンと略
す)であったり、例えば線一本といった微細なものであ
るか否かを判定し、低コン、微細な場合にはDC成分を
除去したフィルター処理を施したデータを用いた方がよ
いのでステップ227へ進み、そうではない通常の場合
にはDC成分を完全には除去しないフィルター処理を施
したデータを用いた方がよいのでステップ205へ進
む。この判定を微細パターン判別と呼ぶ事とし、この判
別方法について図13を用いて後述する。
【0079】ステップ205・数式14に示す低周波数
成分を除去する第4のフィルター処理を高周波カットデ
ータH@[i] に対して施し、横列80対、縦列31対の
第4フィルター処理データF4@[i] を得る。このフィ
ルター処理ではDC成分を完全には除去していないので
偽合焦を生じる可能性は低い。数式14ではF4@[i]
は負の値を取りえるので、そうならないように適当な所
定値を加えてやっても良い。
【0080】
【数14】
【0081】このデータは次に示す横列を第1〜9ブロ
ックの計9個、縦列を第10〜12ブロックの計3個の
基本ブロックに分割される。スポットモードではこれら
の内の4〜6、10〜12ブロックを用いる。尚、この
基本ブロックに基づいてステップ206のブロック境界
設定処理1(後述)を行うので、必ずしもこの分割によ
ってブロックが形成されるわけではない。
【0082】・横列 1ブロック ・・ i= 3〜12 2ブロック・・i=13〜20 3ブロック・・i=21〜28 4ブロック・・i=29〜36 5ブロック・・i=37〜44 6ブロック・・i=45〜52 7ブロック・・i=53〜60 8ブロック・・i=61〜68 9ブロック・・i=69〜78 ・縦列 10ブロック・・i= 3〜11 11ブロック・・i=12〜20 12ブロック・・i=21〜29 ステップ206・第4フィルター処理データF4a
[i]、F4c[i]のコントラスト分布に基づいてブロック
分割の境界を定めるブロック境界設定1を行う。これは
ブロックの境界にパターンのエッジ部が位置して検出不
能となったり、不安定となる事を避けるための処理であ
り、これによって横列のブロックbl=1〜9、縦列ブ
ロックbl=10〜12のそれぞれのブロックの先頭デ
ータ番号Zs[bl]と終端データ番号Ze[bl]が定まる。
【0083】詳細を図4を用いて説明する。これは第4
フィルター処理データF4@[i] に対して横列ブロック
ではa列、縦列ブロックではc列データの隣接差分の絶
対値が小さい位置に境界を設定する処理である。それで
は横列第2ブロックの場合を例として動作の説明を行
う。ステップ401・以前に定まった一つ数字が若いブ
ロック[bl−1]の終端位置Ze[bl-1]に1を加えた
位置をブロック[bl]の先端位置Zs[bl]とする(数
式15)。
【0084】
【数15】
【0085】例えば第1ブロックの終端位置Ze[1] が
12と定まったなら第2ブロックの先端位置Zs[2]は
13となる。ステップ402・ブロックの基本終端位置
(第2ブロックでは20)を中心として±2データの範
囲で隣接差分S[i]を算出する。第2ブロックでは数
式16のようにして算出される。
【0086】
【数16】
【0087】ステップ403・S[1]〜S[5]の最
大値Smax、最小値Sminを検出する。ステップ4
04・Smax−Sminが5以下であるときは基本終
端位置そのものをブロックの終端位置として処理を終了
する(ステップ406)。そうでないときにはステップ
405へ進む。
【0088】ステップ405・Sminを与える位置を
ブロックの終端位置とする。例えばS[2]が最小の時
は19が、S[5]が最小の時は22がブロックの終端
位置Ze[2] となる。なお横列第1ブロックと縦列第1
0ブロックの先端位置Zs、および横列第9ブロックと
縦列第12ブロックの終端位置Zeは固定であるので上
記演算は必要ない。
【0089】ステップ207・ステップ210焦点検出
演算の相関量の算出におけるそれぞれのブロックの最大
シフトLrng[bl]をステップ206で定まったそれぞ
れブロック内のコントラストに基づいて設定する。コン
トラストが十分にあるブロックは焦点検出可能である可
能性が高いので最大シフト数Lrng[bl]を大きくし、
十分ではないブロックに関しては焦点検出不能となる可
能性が高いので演算時間短縮のためにLrng[bl]を小
さくする。この処理を相関演算実行判定と呼ぶ事とし、
動作を図5を用いて説明する。
【0090】ステップ501・各ブロック毎に第4フィ
ルター処理データF4@[i] の横列ではa列、縦列では
c列の隣接差分の加算値Rs[bl]を数式17により算出
する。
【0091】
【数17】
【0092】ステップ502・各ブロック毎に第4フィ
ルター処理データF4@[i] の横列ブロックではa列、
縦列ブロックではc列の最大値と最小値の差分Pt[bl]
を算出する(数式18)。
【0093】
【数18】
【0094】ステップ503・Rs[bl]が所定値CoS
を越える場合にはそのブロックblにおける最大シフ
ト数Lrng[bl]を9とする(ステップ505)。所定
値以下の場合にはステップ504へ進む。ステップ50
4・Pt[bl]が所定値CoStを越える場合にはそのブ
ロックblにおける最大シフト数Lrng[bl]を9とす
る(ステップ505)。所定値以下の場合にはステップ
506へ進む。
【0095】ステップ506・そのブロックblの最大
シフト数Lrng[bl]を4とする。ステップ208・
テップ210の焦点検出演算で用いる信頼性判定のしき
い値を設定する。詳細は図6を用いて後述する。ステッ
プ209・それぞれのブロックについて、EEPROM
に記憶されている組み込み誤差Z[bl]とステップ206
で定まったブロックにおけるコントラストの重心位置に
基づいてステップ210焦点検出演算で用いる組み込み
誤差補正量ZL[bl]を算出する。
【0096】組み込み誤差Z[bl]はステップ206のブ
ロック境界設定1の処理を行わずにブロック分割をステ
ップ205に表記した基本ブロック分割とし、被写体と
しては例えば基本ブロックの幅に対して十分に細かい周
期を有する白黒の格子パターンを用いて測定している。
従って組み込み誤差量Z[bl]は基本ブロックの中心位置
の組み込み誤差値を表していると考えられるので、被写
体パターンがブロック端部に存在する場合に組み込み誤
差量Z[bl]をそのまま補正量として使用すると正しい補
正が行われない。そこでステップ206で定まったブロ
ック範囲におけるコントラストの重心位置に相当する組
み込み誤差をそのブロックblの組み込み誤差Z[bl]と
そのとなりのブロックbl+1の組み込み誤差Z[bl+
1]、またはブロックbl−1の組み込み誤差Z[bl-1]か
ら補間する事によりによって算出し、これを組み込み誤
差補正量ZL[bl]とする。
【0097】誤差補正量ZL[bl]はステップ206のブ
ロック境界設定1によって定まった各ブロックにおいて
横列ブロックではa列、縦列ブロックではc列のコント
ラストの重心Mk[bl]を数式19により求め、この重心
Mk[bl]と基本ブロックの中心画素番号Bm[bl]から数
式20によって算出される。
【0098】
【数19】
【0099】
【数20】
【0100】ステップ210・ステップ206で定まっ
た各ブロック毎にデフォーカス量Df[1] 〜[12]を算出
する。詳細は図8、9、10を用いて後述する。ステッ
プ211・少なくとも一つの以上のブロックにおいてデ
フォーカス量が算出されたか否かを見て、算出された場
合にはステップ212へ進み、全てのブロックにおいて
デフォーカス量が算出できなかった場合にはステップ2
14ヘ進む。
【0101】ステップ212・被写体パターンが低コ
ン、微細ではないとき、つまりコントラスト分布が全体
的に分布しているのに一つのブロックでしかデフォーカ
ス量が算出されない時に、この唯一つのデフォーカス量
が正しい値を示していない事があり、レンズが合焦から
大きくはずれているにもかかわらず、合焦したとしてレ
ンズが停止するいわゆる偽合焦が生じる事がある。そこ
でデフォーカス量が得られたブロックが唯一つの時には
ステップ213へ進んでこの偽合焦の対策を行う。複数
のブロックでデフォーカス量が得られた場合には偽合焦
対策が必要ないのでステップ240へ進む。
【0102】ステップ213・ステップ212で説明し
た偽合焦を防止する偽合焦対策を行う。詳細は図11を
用いて後述する。ステップ214・ステップ211で第
4フィルター処理データによる焦点検出演算ですべての
ブロックにおいて検出不能であった場合に、これがa列
とb列、またはc列とd列で電荷蓄積信号にDC的なバ
ランスの乱れが生じた事に起因するものか否かを判定す
る。判定方法は後述する。バランス乱れであると判定し
た場合にはDC成分を除去したフィルター処理を施した
データを用いる必要があるのでステップ220へ、そう
でない場合にはステップ215へ進む。
【0103】ステップ215・第4フィルター処理デー
タによる演算が不能であったのはバランス乱れではない
と判定された場合には、被写体のパターンが第4フィル
ター処理データの抽出する周波数成分よりも低周波であ
るか、あるいは現在のデフォーカス量が非常に大きくて
ステップ207で設定された最大シフト数では検出でき
なかったと考えられる。そこで第4フィルター処理デー
タF4@[i] に対して数式21に示す第5のフィルター
処理を施して、横列37対、縦列13対の第5フィルタ
ー処理データF5@[i] を得る。
【0104】
【数21】
【0105】第5フィルター処理データは第4フィルタ
ー処理データに対してより低周波な成分を抽出するもの
であり(DC成分は残っている)、さらにデータを一つ
おきに間引いているので焦点検出演算において相関量を
算出する際の1シフトが第4フィルター処理データにお
ける2シフトに相当する事になり、最大シフト数をそれ
ほど大きくしなくとも大きなデフォーカス量を検出する
事が出来る。
【0106】このデータを次に示す様に横列を第13〜
15ブロックの計3個、縦列を第16ブロックの計1個
の基本ブロックに分割する。スポットモードではこれら
の内の14、16ブロックを用いる。この第5フィルタ
ー処理データに対してはステップ206で説明したよう
なブロック境界設定処理1は行わずに基本ブロックをそ
のまま固定的に用いる。
【0107】・横列13ブロック ・・ Zs[13]= 2、Ze[13]=13 14ブロック ・・ Zs[14]=14、Ze[14]=24 15ブロック・・Zs[15]=25、Ze[15]=36 ・縦列 16ブロック・・Zs[16]= 2、Ze[16]=12 ここでステップ206の境界設定処理を行わないのは被
写体がなだらかな低周波パターンであるか、あるいはデ
フォーカス量が大きくてぼけたパターンであるのでブロ
ックの境界を移動する意味がほとんどないためである。
そして焦点検出演算における最大シフト数Lrng[bl]
はステップ207の相関演算実行判定は行わずにそれぞ
れ以下のように固定する。
【0108】・横列 13ブロック ・・ Lrng[13]=12 14ブロック・・Lrng[14]=21 15ブロック・・Lrng[15]=12 ・縦列 16ブロック・・Lrng[16]=7 ステップ216・ステップ218の焦点検出演算で用い
る信頼性判定のしきい値を設定する。詳細は図6を用い
て後述する。
【0109】ステップ217・それぞれのブロックにつ
いて、EEPROMに記憶されている組み込み誤差Z[b
l]とステップ215で定まったブロックにおけるコント
ラストの重心位置に基づいてステップ218焦点検出演
算で用いる組み込み誤差補正量ZL[bl]を算出する。算
出方法はステップ209と同様であり、ステップ215
のブロック境界設定1によって定まった各ブロックにお
いて横列ブロックではa列、縦列ブロックではc列のコ
ントラストの重心Mk[bl]を数式22により求め、この
重心Mk[bl]と基本ブロックの中心画素番号Bm[bl]か
ら数式23によって算出される。
【0110】
【数22】
【0111】
【数23】
【0112】縦列に関してはブロックが一つしかないの
組み込み誤差補正量ZL[16]としてEEPROM内
組み込み誤差量Z[16] をそのまま用いる(数式2
4)。
【0113】
【数24】
【0114】また、第5フィルター処理データの場合に
は被写体がなだらかな低周波パターンであるか、あるい
はデフォーカス量が大きくてぼけたパターンであるので
コントラストが広範囲に分布するので、横列ブロック1
3〜15でも組み込み誤差補正量ZL[bl]としてEEP
ROM内の組み込み誤差量Z[bl]をそのまま用いても問
題は少ない(数式25)。
【0115】
【数25】
【0116】ステップ218・ステップ215で設定し
た各ブロック毎にデフォーカス量Df[13]〜[16]を算出
する。詳細は図8、9、10を用いて後述する。ステッ
プ219・少なくとも一つの以上のブロックにおいてデ
フォーカス量が算出されたかどうかを見て、算出された
場合にはステップ240のグループ合成(詳細は後述)
へ進み、全てのブロックにおいてデフォーカス量が算出
できなかった場合には焦点検出不能とする(ステップ2
41)。
【0117】ステップ220・ステップ214で第4フ
ィルター処理データによる演算が不能であったのはバラ
ンス乱れによると判定された場合にその後に前述した第
5フィルター処理データによる焦点検出演算を行っても
バランス乱れのために不能となるので、この場合にはD
Cを完全に除去するフィルター処理を行って焦点演出演
算を再度行わなければならない。そこで数式26に示す
DC成分を完全に除去する第3のフィルター処理を第4
フィルター処理データF4@[i] に対して施し、横列7
6対、縦列27対の第3フィルター処理データF3@
[i] を得る。
【0118】
【数26】
【0119】数式26ではF3@[i] は負の値を取りえ
るので、そうならないように適当な所定値を加えてやっ
ても良い。このデータは次に示す横列を第1〜9ブロッ
クの計9個、縦列を第10〜12ブロックの計3個の基
本ブロックに分割される。スポットモードではこれらの
内の4〜6、10〜12ブロックを用いる。尚、この基
本ブロックに基づいてステップ221のブロック境界設
定処理2(後述)を行うので、必ずしもこの分割によっ
てブロックが形成されるわけではない。
【0120】・横列 1ブロック ・・ i= 2〜10 2ブロック・・i=11〜18 3ブロック・・i=19〜26 4ブロック・・i=27〜34 5ブロック・・i=35〜42 6ブロック・・i=43〜50 7ブロック・・i=51〜58 8ブロック・・i=59〜66 9ブロック・・i=67〜75 ・縦列 10ブロック・・i= 2〜 9 11ブロック・・i=10〜18 12ブロック・・i=19〜26 ステップ221・第3フィルター処理データF3a
[i]、F3c[i]のコントラスト分布に基づいてブロック
分割の境界を定めるブロック境界設定2を行う。これは
ブロックの境界にパターンのエッジ部が位置して検出不
能となったり、不安定となる事を避けるための処理であ
り、これによって横列のブロックbl=1〜9、縦列ブ
ロックbl=10〜12のそれぞれのブロックの先頭デ
ータ番号Zs[bl]と終端データ番号Ze[bl]が定まる。
【0121】第3のフィルター処理は微分型のフィルタ
ーであり、フィルター処理を行う前のデータの変化がな
い部分では第3フィルター処理データF3@[i] は0と
なり、データの変化が存在する部分では0以外の値をと
る(ただしF3@[i] が負の値にならないように所定値
を加えた場合には0ではなくてその所定値となる)。そ
こでブロック境界設定2では第4フィルター処理データ
F4@[i] に対して行ったブロック境界設定1(ステッ
プ206)のようにデータの隣接差分の絶対値が小さい
位置に境界を設定するのではなくて、フィルター処理前
のデータの変化がない部分を表す0の値にもっとも近い
位置にブロックの境界を設定するものである。
【0122】本処理は横列ブロックではa列、縦列ブロ
ックではc列データを用いて行う。それでは横列第2ブ
ロックの場合を例として図14を用いて動作の説明す
る。ステップ411・以前に定まった一つ数字が若いブ
ロック[bl−1]の終端位置Ze[bl-1]に1を加えた
位置をブロック[bl]の先端位置Zs[bl]とする(数
式27)。
【0123】
【数27】
【0124】例えば第1ブロックの終端位置Ze[1] が
10と定まったなら第2ブロックの先端位置Zs[2] は
11となる。ステップ412・ブロックの基本終端位置
(第2ブロックでは18)を中心として−2〜+3デー
タの範囲で0との差の絶対値Dv[1〜6]を算出す
る。第2ブロックでは数式28のようにして算出され
る。
【0125】
【数28】
【0126】もしステップ220においてF3@[i] が
負の数値とならぬ様に数式26によって得られたF3@
[i] に対して所定値を加えた場合には、数式28におい
て0を引くのではなくて該所定値を引くようにする。ス
テップ413・Dv[1〜6]の隣接データの和Ws
[1〜5]を算出する。第2ブロックでは数式29のよ
うにして算出される。
【0127】
【数29】
【0128】ステップ414・Ws[1〜5]の最大値
Wmax、最小値Wminを検出する。ステップ415
・最大値Wmaxが10以下の時には基本終端位置その
ものをブロック終端位置Ze[2] とする(ステップ42
1)。10よりも大きいときにはステップ416へ進
む。
【0129】ステップ416・最小値Wminが16以
下のときにはWminを与える位置をそのブロックの終
端位置Ze[2] とする(ステップ417)。例えばWs
[2]が最小であれば17が、Ws[5]が最小なら2
0が第2ブロックの終端位置Ze[2] となる。最小値W
minを与える位置が複数ある場合には番号の若い位置
を優先する事とする。Wminが16よりも大きいとき
にはステップ418へ進む ステップ418・Ws[1]とWs[5]を比較し、小
さい方を与える位置をそのブロックの終端位置Ze[2]
とする(ステップ419,420)。例えばWs[1]
の方が小さければ16が、Ws[5]の方が小さければ
20が第2ブロックの終端位置Ze[2] となる。両者が
等しい場合にはWs[1]の方が小さいとして扱う事と
する。
【0130】なお横列第1ブロックと縦列第10ブロッ
クの先端位置Zs、および横列第9ブロックと縦列第1
2ブロックの終端位置Zeは固定であるので上記演算は
必要ない。ステップ222・ステップ225焦点検出演
算の相関量の算出におけるそれぞれのブロックの最大シ
フト数Lrng[bl]をステップ221で定まったそれぞ
れブロック内のコントラストに基づいて設定する。内容
はステップ207と同様であり、数式17、18におい
てF4@[i] の代わりにF3@[i]を用いる。
【0131】ステップ223・ステップ225の焦点検
出演算で用いる信頼性判定のしきい値を設定する。詳細
は図6を用いて後述する。ステップ224・それぞれの
ブロックについて、EEPROMに記憶されている組み
込み誤差Z[bl]とステップ221で定まったブロックに
おけるコントラストの重心位置に基づいてステップ22
5焦点検出演算で用いる組み込み誤差補正量ZL[bl]を
算出する。内容はステップ209と同様であり、数式1
9においてF4@[i] の代わりにF3@[i] を用いる。
【0132】ステップ225・ステップ221で定まっ
た各ブロック毎にデフォーカス量Df[1] 〜[12]を算出
する。詳細は図8、9、10を用いて後述する。ステッ
プ226・少なくとも一つの以上のブロックにおいてデ
フォーカス量が算出されたかどうかを見て、算出された
場合にはステップ240のグループ合成(詳細は後述)
へ進み、全てのブロックにおいてデフォーカス量が算出
できなかった場合には焦点検出不能とする(ステップ2
41)。
【0133】ステップ227・数式30に示す低周波数
成分を除去する第1のフィルター処理を高周波カットデ
ータH@[i] に対して施し、横列80対、縦列31対の
第1フィルター処理データF1@[i] を得る。
【0134】
【数30】
【0135】このフィルター処理ではDC成分を完全に
除去してるのでコントラストが全体的に分布している通
常の被写体では偽合焦を生じる可能性が高いが微細なパ
ターンに対しては高い精度を得る事が出来る。数式30
ではF1@[i] は負の値を取りえるので、そうならない
ように適当な所定値を加えてやっても良い。このデータ
は次に示す横列を第1〜9ブロックの計9個、縦列を第
10〜12ブロックの計3個の基本ブロックに分割され
る。スポットモードではこれらの内の4〜6、10〜1
2ブロックを用いる。尚、この基本ブロックに基づいて
ステップ229のブロック境界設定処理2を行うので、
必ずしもこの分割によってブロックが形成されるわけで
はない。
【0136】・横列 1ブロック・・i= 3〜12 2ブロック・・i=13〜20 3ブロック・・i=21〜28 4ブロック・・i=29〜36 5ブロック・・i=37〜44 6ブロック・・i=45〜52 7ブロック・・i=53〜60 8ブロック・・i=61〜68 9ブロック・・i=69〜78 ・縦列 10ブロック・・i= 3〜11 11ブロック・・i=12〜20 12ブロック・・i=21〜29 ステップ228・補助光発光であるか低コン微細である
かを見る。補助光発光の場合には発光する補助光のパタ
ーンが図23に示すように滑らかものであるので高周波
成分をあまり含まず、低周波成分を多く含む。そこで高
周波成分を多く含む被写体パターンに適した第1フィル
ター処理データF1@[i] による焦点検出演算は行わず
に第1フィルター処理データF1@[i] に対して第2の
フィルター処理を行って低周波成分を多く含む被写体パ
ターンに適した第2フィルター処理データF2@[i] を
得るべくステップ235へ進む。低コン微細の場合には
ステップ229へ進む。
【0137】ステップ229・第1フィルター処理デー
タF1a[i] 、F1c[i] のコントラスト分布に基づい
てブロック分割の境界を定めるブロック境界設定2を行
う。内容はステップ221と同様であり、数式28にお
いてF3@[i] の代わりにF1@[i] を用いる。
【0138】ステップ230・ステップ233焦点検出
演算の相関量の算出におけるそれぞれのブロックの最大
シフト数Lrng[bl]をステップ229で定まったそれ
ぞれブロック内のコントラストに基づいて設定する。内
容はステップ207と同様であり、数式17、18にお
いてF4@[i] の代わりにF1@[i] を用いる。ステッ
プ231・ステップ233の焦点検出演算で用いる信頼
性判定のしきい値を設定する。詳細は図6を用いて後述
する。
【0139】ステップ232・それぞれのブロックにつ
いて、EEPROMに記憶されている組み込み誤差Z[b
l]とステップ229で定まったブロックにおけるコント
ラストの重心位置に基づいてステップ233焦点検出演
で用いる組み込み誤差補正量ZL[bl]を算出する。内
容はステップ209と同様であり、数式19においてF
4@[i] の代わりにF1@[i] を用いる。
【0140】ステップ233・ステップ229で定まっ
た各ブロック毎にデフォーカス量Df[1] 〜[12]を算出
する。詳細は図8、9、10を用いて後述する。ステッ
プ234・少なくとも一つの以上のブロックにおいてデ
フォーカス量が算出されたかどうかを見て、算出された
場合にはステップ240のグループ合成(詳細は後述)
へ進み、全てのブロックにおいてデフォーカス量が算出
できなかった場合にはステップ235へ進む。
【0141】ステップ235・第1フィルター処理デー
タによる演算が不能であったのは被写体のパターンが第
1フィルター処理データの抽出する周波数成分よりも低
周波であるか、あるいは現在のデフォーカス量が非常に
大きくてステップ230で設定された最大シフト数では
検出できなかったと考えられる。そこで第1フィルター
処理データF1@[i] に対して数式31に示す第2のフ
ィルター処理を施して、横列37対、縦列13対の第2
フィルター処理データF2@[i] を得る。
【0142】
【数31】
【0143】第2フィルター処理データは第1フィルタ
ー処理データに対してより低周波な成分を抽出するもの
であり(DC成分は除去されている)、さらにデータを
一つおきに間引いているので焦点検出演算において相関
量を算出する際の1シフトが第1フィルター処理データ
における2シフトに相当する事になり、最大シフト数を
それほど大きくしなくとも大きなデフォーカス量を検出
する事が出来る。
【0144】このデータを次に示す様に横列を第13〜
15ブロックの計3個、縦列を第16ブロックの計1個
の基本ブロックに分割する。スポットモードではこれら
の内の14、16ブロックを用いる。この第2フィルタ
ー処理データに対してはステップ229で説明したよう
なブロック境界設定処理2は行わずに基本ブロックをそ
のまま固定的に用いる。
【0145】・横列 13ブロック・・Zs[13]= 2、Ze[13]=13 14ブロック・・Zs[14]=14、Ze[14]=24 15ブロック・・Zs[15]=25、Ze[15]=36 ・縦列 16ブロック・・Zs[16]= 2、Ze[16]=12 ここでステップ229の様な境界設定処理を行わないの
は被写体がなだらかな低周波パターンであるか、あるい
はデフォーカス量が大きくてぼけたパターンであるので
ブロックの境界を移動する意味がほとんどないためであ
る。焦点検出演算における最大シフト数Lrng[bl]は
ステップ230の相関演算実行判定は行わずにそれぞれ
以下のように固定する。
【0146】 ・横列 13ブロック・・Lrng[13]=12 14ブロック・・Lrng[14]=21 15ブロック・・Lrng[15]=12 ・縦列 16ブロック・・Lrng[16]=7 ステップ236・ステップ238の焦点検出演算で用い
る信頼性判定のしきい値を設定する。詳細は図6を用い
て後述する。
【0147】ステップ237・それぞれのブロックにつ
いて、EEPROMに記憶されている組み込み誤差Z[b
l]とステップ235で定まったブロックにおけるコント
ラストの重心位置に基づいてステップ238焦点検出演
算で用いる組み込み誤差補正量ZL[bl]を算出する。内
容はステップ217と同様であり、数式22においてF
5@[i] の代わりにF2@[i] を用いる。
【0148】ステップ238・ステップ235で設定し
た各ブロック毎にデフォーカス量Df[13]〜[16]を算出
する。詳細は図8、9、10を用いて後述する。ステッ
プ239・少なくとも一つの以上のブロックにおいてデ
フォーカス量が算出されたかどうかを見て、算出された
場合にはステップ240のグループ合成(詳細は後述)
へ進み、全てのブロックにおいてデフォーカス量が算出
できなかった場合には焦点検出不能とする(ステップ2
41)。
【0149】ステップ240・算出されたデフォーカス
量の内、ほぼ同じ値を示すもの同士を平均処理して、新
たなデフォーカス量を算出する。これをグループ合成と
呼ぶ事とする。グループ合成の方法に関しては本出願人
よる特開平2−178614、特願平3−23654に
よって詳しく述べられているのでここでは簡単な一例に
ついて図7を用いて説明する。
【0150】ここでは、最も近距離を示すデフォーカス
量(最も小さいデフォーカス量)を持つブロックと、そ
のデフォーカス量を基準として所定の範囲内の値を示す
デフォーカス量を持つブロックを最至近グループとして
まとめ、このグループに属するブロックのデフォーカス
量を平均する事により、最至近グループデフォーカス量
を得る方法を用いている。
【0151】図7はデフォーカス量が第4、第3、第1
フィルターデータを用いた演算によって得られた場合の
例であり、動作は次のようにして行われる。ステップ7
01・最至近グループのデフォーカス量Gdfnを0
に、グループを形成するブロック数を表す数値Bnmを
0に初期化する。 ステップ702・最も至近を示すデ
フォーカス量を与えるブロックを検出し、そのブロック
のブロック番号をSとして記憶する。
【0152】ステップ703・ブロック番号を表す数値
iを1にセットする。ステップ704・第iブロックの
デフォーカス量と最至近ブロックのデフォーカス量Df
[S] との差の絶対値が所定値(図7では100umとし
てある)より小さいか否かを見る。所定値以上の場合に
は第iブロックは最至近グループに属さないと判定しス
テップ706へ進む。所定値より小さいときには第iブ
ロックは最至近グループに属すと判定しステップ705
へ進む。
【0153】なお検出不能であるブロックに関してはそ
のブロックのデフォーカス量Df[bl]として絶対に取り
得ないような大きい数値を設定しておけば差の絶対値が
所定値より小さくなる事はないので最至近グループに属
すると誤った判断をする事がない。スポットモード時に
は使用しないブロックについてはデフォーカス量Df[b
l]として検出不能ブロックと同じ数値を設定しておけば
よい。
【0154】ステップ705・最至近グループのデフォ
ーカス量Gdfnに第iブロックのデフォーカス量Df
[i] を加えて新たにGdfnとし、グループを形成する
ブロック数を表す数値Bnmに1を加える。ステップ7
06・ブロック番号iが最終ブロック番号である12で
あるか否かを見る。12である場合には全てのブロック
について最至近グループに属するか否かの判定が終了し
た事になるのでステップ708へ進み、そうでないとき
には判定が終了していない事となるのでブロック番号i
に1を加えて(ステップ707)ステップ704へ戻
る。
【0155】ステップ708・この時点でGdfnは最
至近グループに属するブロックのデフォーカス量の総和
が格納されているので、これをグループに属するブロッ
クの総数であるBnmで割る事によって最至近グループ
のデフォーカス量Gdfnを得る。なお、デフォーカス
量が第2、第5フィルターデータを用いた演算によって
得られた場合にはステップ703においてブロック番号
iを13にセットするように変更し、ステップ706に
おいてブロック番号iが16であるか否かを判定するよ
うに変更すれば良い。
【0156】図12のステップ1214におけるレンズ
駆動はこのようにして得られた最至近グループデフォー
カス量Gdfnに基づいて行われる。 ステップ241・デフォーカス量算出不可能とする。以
上のデフォーカス量算出アルゴリズムの説明において、
詳細の説明を省略した事項に付いての説明を行う。
【0157】まず、ステップ204の微細パターン判別
に付いて説明する。これはイメージセンサーアレイの出
力のコントラスト分布に基づいて被写体パターンが図2
6(a) 、(b) の様にコントラストが焦点検出領域の一部
のみに存在するものか否かを判別するものであり、コン
トラストが焦点検出領域の一部のみに存在する場合には
DC成分を完全に除去するフィルター処理(第1、2フ
ィルター)を施したデータを用い、そうではない場合に
は偽合焦の危険性があるためDC成分を完全には除去し
ないフィルター処理(第4、5フィルターデータ)を施
したデータを用いて演算を行うようにする。
【0158】それでは図13により微細パターン判別の
動作を説明する。ステップ301・高周波カットデータ
Ha[i]、Hc[i]をそれぞれ7個と3個の領域に分割す
る。 a列・・・12 〜20、21〜29、30〜38、39〜47、48〜56、57
〜65、66〜74 c列・・・3〜12、13〜22、23〜32 ステップ302・各領域毎にコントラスト値Cth
[I]、Ctv[I]を数式11で算出する。
【0159】
【数11】
【0160】CtHは8対、CtVは9対の隣接差分の
総和となる。ここで差分の絶対値が4未満の時は0とし
て加算すると電気的なノイズの影響を避ける事が出来
る。ステップ303・横列、縦列でそれぞれピーク値H
max、Vmaxを求める(数式12)。ただしスポッ
トモードが選択されているときにはではHmaxを求め
る範囲は30〜56となる。
【0161】
【数12】
【0162】ステップ304・次に示す条件1の判定を
行う。 条件1・・横列1〜7領域(スポットモード時は3〜
5)、縦列1〜3領域で次の条件を満たす。 ・α以上のCtH[I]が1個以下である、または2個
で且つこれらが隣接している。同様にα以上のCtV
[I]が1個以下である、または2個で且つこれらが隣
接している。
【0163】ここでαは所定値としても良いが、次のよ
うに前回の判定結果によって可変となる値とした方が判
定結果が毎回変わる事なく安定するので好ましい。 初期状態・・・・・・・・・・・ α=16 前回低コン、微細パターン・・・α=21 前回通常・・・・・・・・・・・ α=11 ステップ305・数式13に示す条件2の判定を行う。
【0164】
【数13】
【0165】数式13においてβは所定値としても良い
が、次のように前回の判定結果によって可変となる値と
した方が判定結果が毎回変わる事なく安定するので好ま
しい。 初期状態・・・・・・・・・・・ β=10 前回低コン、微細パターン・・・ β=20 前回通常・・・・・・・・・・・ β=0 ステップ306・上記条件1、条件2をともに満たすか
否かを見て、ともに満たす場合には低コン、微細パター
ンであると判定し(ステップ307)、少なくとも一方
を満たさない場合には低コン、微細パターンではない通
常のパターンであると判定する(ステップ308)。
【0166】このように微細パターン判別に結果により
フィルター処理を変える事により、偽合焦を防ぐと共に
微細なパターンに対しても高い演算精度を得る事が出来
る。次にステップ210、218、225、233、2
38の焦点検出演算について図8、9、10を用いて説
明する。演算方法は特開昭60−37513に開示され
ている方法ほぼ同じであるが、本実施例では被写体パタ
ーンが周期的であるか否かを判定する周期検出が加わっ
ている。
【0167】また、本実施例では特開昭60−3751
3と同じように常に相関量C[L]を全シフト範囲(−
Lrng〜Lrng)について算出するのではなくてシ
フト数Lを0、1、−1、2、−2、...、Lrn
g、−Lrngという順番に変化させて相関量C[L]
を得て、従来の技術の項における数式5を満たすような
極小となる相関量が得られて、デフォーカス量を算出し
た時点で相関量演算を中止する。
【0168】このようにすると、被写体が現在合焦に近
い場合にはC[−1]、C[0]、C[1]の3個の相
関量を算出するだけでデフォーカス量が得られるので演
算時間を短縮でき、移動する被写体に追従して撮影を行
う場合等において有利である。焦点検出演算全体の動作
について図8を用いて説明する。この動作は個々のブロ
ックについて行う。
【0169】ステップ801・シフト数Lを0に設定す
る。ステップ802・第4、1、3フィルターデータの
第1〜9ブロック、及び第2、5フィルターデータの
13〜15ブロックでは数式32、第4、1、3フィル
ターデータの第10〜12ブロック、及び第2、5フィ
ルターデータの第16ブロックでは、数式33によって
相関量C[L]を算出する。数式32、数式33におい
てFxは第1、2、3、4、5フィルターのいずれかを
表しn、mはシフト量Lに基づいて数式34によって定
まる。
【0170】
【数32】
【0171】
【数33】
【0172】
【数34】
【0173】数式34に於いて、Truncは小数点以
下を切り捨てる関数であり、Trunc(1.5)は1
に、Trunc(−2.5)は−2となる。Zs[bl]、
Ze[bl]は第blブロックにおける先端位置、終端位置
である。ステップ803・シフト数Lが0、または1で
あるか否かを見る。前述のようにLは0、1、−1、
2、−2、...、Lrng、−Lrngという順番に
変化するので、L=0、L=1である場合には相関量が
1個、あるいは2個しか算出されていない事を意味し、
3個の相関量を用いる3点内挿演算は行えない。そこで
L=0、またはL=1の場合にはシフト数Lを更新すべ
ステップ812へ進み、それ以外の場合には3点内挿
演算を行うべくステップ804へ進む。
【0174】ステップ811・シフト数Lが−Lrng
[bl]である場合にはすでに全シフト範囲について相関量
C[L]を算出し終わって、なおかつデフォーカス量が
得られなかった事を意味するのでそのブロックblにお
いては焦点検出不能として演算を終了し(ステップ81
0)、−Lrng[bl]ではない場合にはステップ812
へ進む。
【0175】ステップ812・シフト数Lが0より大き
いかを見て、0より大きい場合にはシフト数Lの符号を
反転し(ステップ813)、0以下の場合にはシフト数
Lの符号を反転して更に1を加える(ステップ81
4)。このようにしてシフト数Lを更新する事により前
述のようにLは0、1、−1、2、−2、...、Lr
ng、−Lrngという順番に変化する。シフト数Lの
更新が終了したならばステップ802へ戻る。
【0176】ステップ804・ステップ803でL<>
0、L<>1であると判明した場合には3点内挿演算を
行い、ずれ量Ls[bl]を算出する。3点内挿演算の動作
を詳細に付いては図9を用いて後述する。 ステップ805・ステップ804における3点内挿演算
に於いて信頼性のあるずれ量Ls[bl]が得られたか否か
を見て、得られなかったときにはシフト数Lを更新すべ
くステップ811へ進み、得られたときにはステップ8
06へ進む。
【0177】ステップ806・演算に用いているデータ
が第1フィルターデータ、または第2フィルターデータ
であるか否かを見て、第1、第2フィルターデータでは
ない場合には被写体パターンの周期性を判定する周期検
出を行うべくステップ807へ進み、第1、第2フィル
ターデータである場合には周期検出を行う必要がないの
でステップ809へ進む。
【0178】ステップ807・被写体パターンが周期的
であるか否かを判定する周期検出を行う。ステップ80
8・ステップ807で被写体パターンが周期的であると
判定された場合にはステップ810へ進みそのブロック
は焦点検出不能であるとして演算を終了する。周期的で
なかった場合にはステップ809へ進む。
【0179】ステップ809・ステップ804の3点内
挿演算において算出されたずれ量Ls[bl]に基づいてデ
フォーカス量Df[bl]を数式35により算出し、演算を
終了する。数式35においてZL[bl]は組み込み誤差補
正量、Kfct[bl]は比例係数である。
【0180】
【数35】
【0181】図8ステップ804における3点内挿演算
は従来の技術の項で説明した方法に、バランス乱れ判定
に用いる条件判定を加えたものである。次にステップ8
04の3点内挿演算の動作を図9を用いて説明する。ス
テップ901・シフト数Lが0より大きいか否かを見
て、0より大きいときにはステップ902へ、0以下の
時にはステップ903へ進む。
【0182】ステップ902・3点内挿演算における中
心相関量のシフト数l(以後中心シフト数lと略す)を
シフト数Lに基づいて得る。この場合Lは0より大きい
ので既にLよりも小さいシフト数での相関量が算出され
ているのでC[L−2]、C[L−1]、C[L]の3
個の相関量で3点内挿演算を行う。よって中心シフト数
lは数式36によって得られる。
【0183】
【数36】
【0184】ステップ903・ステップ902と同じよ
うに中心シフト数lをシフト数Lに基づいて得る。この
場合Lは0以下なので既にLよりも大きいシフト数での
相関量が算出されているのでC[L]、C[L+1]、
C[L+2]の3個の相関量で3点内挿演算を行う。よ
って中心シフト数lは数式37によって得られる。
【0185】
【数37】
【0186】ステップ904・C[l]が極小値となっ
ているか否かの判定を行う。数式38に示す条件を満た
すときにC[l]は極小値であると判定しステップ90
5へ進み、満たさない場合は極小値ではないので演算不
可能(NG)として(ステップ915)終了する。
【0187】
【数38】
【0188】ステップ905・従来の技術の項で説明し
スロープ値E[bl]を数式39によって算出する。数式
39においてMAX{Ca,Cb}はCaとCbの内の
大なる方を選択することを意味する。
【0189】
【数39】
【0190】ステップ906・スロープ値E[bl]がしき
い値SlpSthより大きいか否かを判定し、大きいと
きには信頼性有りとしてステップ907へ進み、大きく
ないときには信頼性が無いと判断し、NGとして終了す
る(ステップ915)。なお、しきい値SlpSthは
図2ステップ208、216、223、231、236
のいずれかで設定される。
【0191】ステップ907・数式40により、DL を
算出し、これから真の極小値Cexを算出し、規格化し
た極小値Cexbを得る。
【0192】
【数40】
【0193】ステップ908・ステップ907で算出さ
れたCexbがしきい値CxSthより小さいか否かを
判定し、小さいときには信頼性有りとしてステップ90
9へ進み、小さくないときには信頼性が無いと判断し、
ステップ912へ進む。なお、しきい値CxSthは図
2ステップ208、216、223、231、236の
いずれかで設定される。
【0194】ステップ909・相関量C[l]を中心と
した3点内挿演算によって信頼性がある結果が得られた
とする。ステップ910・数式41によって真の極小値
Cexを与えるずれ量Ls[bl]を算出する。なお、第
2、5フィルターデータの場合には1シフトが2画素の
ずれに相当するのでLs[bl]を2倍する必要がある。
【0195】
【数41】
【0196】ステップ911・信頼性のある結果が得ら
れた事によりバランス乱れの可能性はないので、バラン
ス乱れを示すBlnc[bl]を0にセットして演算を終了
する。ステップ912・ステップ908でCexbがし
きい値CxSthより小さくなくて信頼性がないと判定
された場合にステップ907で算出されたCexが24
0より小さいか否かを判定する。ここではスロープ値E
[bl]はしきい値SlpSthを越えているのにCexb
が信頼性無しと判定せれているのでCexが240より
小さいときはバランス乱れが生じている可能性が高いの
でバランス乱れを示すBlnc[bl]を1にセットする
(ステップ913)。
【0197】240より小さくないときにはバランス乱
れが生じている可能性が低いのでBlnc[bl]を0にセ
ットする(ステップ914)。ステップ915・相関量
C[l]を中心とした3点内挿演算は不可能であったと
して演算を終了する。図8のステップ807における周
期検出の検出方法についての説明を図27(a) 〜(d) と
図28を用いて行う。図27(a) は比較的長い周期を持
つ周期被写体における相関量C[L]を表す図、図27
(b) は比較的短い周期を持つ周期被写体における相関量
C[L]を表す図、図27(c) 、(d) は周期ではない通
常に被写体における相関量C[L]を表す図である。
【0198】中心シフト数lから所定のシフト数だけ離
れたシフト量、例えばl−6、l−7、l+6、l+7
を算出し、C[l−6]とC[l−7]を結んだ直線を
延長して横軸と交わる位置を見ると、図27(a) の様に
比較的長い周期を持つ周期被写体の場合にはシフト量l
−6からシフト量lに対して外側の比較的近い位置とな
り、図27(b)の様に比較的短い周期を持つ周期被写体
の場合にはシフト量l−6からシフト量lに向かって近
い位置となる。
【0199】一方周期被写体ではない通常の場合は図2
7(c) の様に横軸と交わる位置はシフト量l−6からシ
フト量lに対して外側の図中には存在しないほど遠い位
置となり、あるいは図27(d) の様にシフト量l−6か
らシフト量lに向かって非常に遠い位置となる。また図
27(c) の場合にはC[l−6]とC[l−7]との差
の絶対値が周期である図27(a) 、(b) の場合に比べて
非常に小さい。以上の事はC[l+6]とC[l+7]
を結んだ直線を延長して横軸と交わる位置とC[l+
6]とC[l+7]との差の絶対値についても同様とな
っている。
【0200】したがって信頼性があるデフォーカス量を
算出した時の3点内挿演算で用いた中心シフト数から所
定のシフト数だけ離れたシフト量における相関量と、そ
の近傍のシフト量における相関量の差の絶対値と、これ
らの相関量を直線で結び、この直線を延長して横軸、す
なわち相関量C[L]=0である線と交わった点の位置
とから被写体は周期的なパターンを持つか否かを判定す
る事が出来る。
【0201】本実施例では第4、3フィルターデータを
用いた時には図8ステップ805の3点内挿演算で用い
た中心シフト数lから5シフト、6シフト、7シフト離
れたシフト量における相関量を、第5フィルターデータ
を用いた時には中心シフト数lから3シフト、4シフ
ト、5シフト離れたシフト量における相関量を用いて被
写体が周期的なパターンであるか否かを判定する事にす
る。
【0202】続いて検出に用いる値の説明を図28を用
いて説明する。この図は中心シフト数lからマイナス側
へ5シフト、6シフト、7シフト離れたシフト量におけ
る相関量C[l−5]、C[l−6]、C[l−7]を
用いたときの例であり、C[l−5]とC[l−6]の
差の絶対値をme6、これらの相関量を結ぶ直線を延長
してC[L]=0を示す横軸と交わった位置とシフト量
l−5との距離をmz6と呼ぶ事とし、同様にC[l−
6]とC[l−7]の差の絶対値をme7、これらの相
関量を結ぶ直線を延長してC[L]=0を示す横軸と交
わった位置とシフト量l−6との距離をmz7と呼ぶ事
とする。
【0203】なお、mz6、mz7の符号であるが中心
シフト数lへ向かう方向をプラス、中心シフト数lから
遠ざかる方向をマイナスとする。同様にして中心シフト
数lからプラス側へ5シフト、6シフト、7シフト離れ
たシフト量における相関量C[l+5]、C[l+
6]、C[l+7]を用いた場合にはC[l+5]とC
[l+6]の差の絶対値をpe6、これらの相関量を結
ぶ直線を延長してC[L]=0を示す横軸と交わった位
置とシフト量l+5との距離をpz6と呼ぶ事とし、同
様にC[l+6]とC[l+7]の差の絶対値をpe
7、これらの相関量を結ぶ直線を延長してC[L]=0
を示す横軸と交わった位置とシフト量l+6との距離を
pz7と呼ぶ事とする。
【0204】この場合もpz6、pz7の符号は中心シ
フト数lへ向かう方向をプラス、中心シフト数lから遠
ざかる方向をマイナスとする。中心シフト数lから3シ
フト、4シフト、5シフト離れたシフト量における相関
量を用いたときには同様にしてme4、mz4、me
5、mz5、pe4、pz4、pe5、pz5を算出す
る。それでは周期検出の動作を図10を用いて説明す
る。
【0205】ステップ1001・ブロック分割の細かい
第4、3フィルターデータの場合とブロック分割の粗い
第5フィルターの場合とでは周期検出に使うデータが異
なるので、第5フィルターデータの場合にはステップ1
008へ進み、そうでない場合、すなわち第4、3フィ
ルターデータの場合にはステップ1002へ進む。ステ
ップ1002・図8ステップ804で信頼性のあるずれ
量Ls[bl]が得られた時の3点内挿の中心シフト数lか
らマイナス側の5、6個目のシフト量における相関量
(Cm5,Cm6とする)、プラス側の5、6個目のシ
フト量における相関量(Cp5,Cp6とする)を算出
する。
【0206】ステップ1003・数式42によってme
6、pe6、mz6、pz6を算出する。
【0207】
【数42】
【0208】ステップ1004・ステップ1003で算
出したme6、pe6、mz6、pz6が数式43に示
す条件を満たすか否かを見る。
【0209】
【数43】
【0210】この条件を満たしている場合には周期パタ
ーンであると判定し(ステップ1014)、満たさない
場合にはステップ1005へ進む。ステップ1005・
図8ステップ804で信頼性のあるずれ量Ls[bl]が得
られた時の3点内挿の中心シフト数lからマイナス側の
7個目のシフト量における相関量(Cm7とする)、プ
ラス側の7個目のシフト量における相関量(Cp7とす
る)を算出する。
【0211】ステップ1006・数式44によってme
7、pe7、mz7、pz7を算出する。
【0212】
【数44】
【0213】ステップ1007・ステップ1006で算
出したme7、pe7、mz7、pz7が数式45に示
す条件を満たすか否かを見る。
【0214】
【数45】
【0215】この条件を満たしている場合には周期パタ
ーンであると判定し(ステップ1014)、満たさない
場合には周期パターンではないと判定する(ステップ1
015)。ステップ1008・図8ステップ804で信
頼性のあるずれ量Ls[bl]が得られた時の3点内挿の中
心シフト数lからマイナス側の3、4個目のシフト量に
おける相関量(Cm3,Cm4とする)、プラス側の
3、4個目のシフト量における相関量(Cp3,Cp4
とする)を算出する。
【0216】ステップ1009・数式46によってme
4、pe4、mz4、pz4を算出する。
【0217】
【数46】
【0218】ステップ1010・ステップ1009で算
出したme4、pe4、mz4、pz4が数式47に示
す条件を満たすか否かを見る。
【0219】
【数47】
【0220】この条件を満たしている場合には周期パタ
ーンであると判定し(ステップ1014)、満たさない
場合にはステップ1011へ進む。ステップ1011・
図8ステップ804で信頼性のあるずれ量Ls[bl]が得
られた時の3点内挿の中心シフト数lからマイナス側の
5個目のシフト量における相関量(Cm5とする)、プ
ラス側の5個目のシフト量における相関量(Cp5とす
る)を算出する。
【0221】ステップ1012・数式48によってme
5、pe5、mz5、pz5を算出する。
【0222】
【数48】
【0223】ステップ1013・ステップ1012で算
出したme5、pe5、mz5、pz5が数式49に示
す条件を満たすか否かを見る。
【0224】
【数49】
【0225】この条件を満たしている場合には周期パタ
ーンであると判定し(ステップ1014)、満たさない
場合には周期パターンではないと判定する(ステップ1
015)。この周期検出方法によれば、従来のように全
シフト範囲で相関演算を行う必要がないので、演算時間
を短縮できる。
【0226】次に図2ステップ208、216、22
3、231、236のしきい値設定について図6を用い
て説明する。ここで設定するしきい値は前述の数式39
によって算出されるE[bl]の判定を行うSlpSthと
数式40によって算出されるCexbの判定を行うCx
Sthの2つである。これらは次に示すように演算に用
いるフィルターデータ、蓄積時間、オーバーラップサー
ボ中か否かによってことなる。 (1) 第1、3、4フィルターデータの場合。
【0227】 Cexbしきい値・・CxSth=0.25 スロープしきい値 ・レンズ停止時、及びスキャン時時・・・ SlpSth=
50 ・オーバーラップサーボ中・・・ SlpSth=200 ・蓄積時間最長時・・・ 数式50によって設定する。 数
式50においてDMaxは電荷蓄積信号の内での最大値
であり、SlpSthのとり得る値は50〜98とす
る。
【0228】
【数50】
【0229】(2) 第2、5フィルターデータの場合 Cexbしきい値・・CxSth=0.4 スロープしきい値 ・レンズ停止時、及びスキャン時時・・・ SlpSth=
50 ・オーバーラップサーボ中・・・ SlpSth=200 ・蓄積時間最長時・・・ 数式51によって設定する。数式
51においてDMaxは電荷蓄積信号の内での最大値で
あり、SlpSthの範囲は50〜146とする。
【0230】
【数51】
【0231】このようにオーバーラップサーボ中に於い
て通常よりもしきい値を厳しくする事によって、コント
ラストが低い被写体ではオーバーラップサーボ中の蓄
積、演算において得られるスロープ値Eが厳しくしたし
きい値SlpSthを越えないのでレンズ駆動の目標と
なるデフォーカス量がレンズ停止時の蓄積、演算で算出
されたデフォーカス量から変更される事がなく、このデ
フォーカス量に相当する移動量だけ撮影レンズは駆動さ
れて停止する。
【0232】そしてレンズ停止後にレンズ停止状態で蓄
積、演算を行うことになり、実質上間欠サーボと同様の
動作となり、不安定なレンズ駆動を防ぐ事が出来る。ま
た、被写体が暗い場合には蓄積時間Itを最長蓄積時間
Itmaxとしても電荷蓄積信号の最大値DMaxはW
Maxに達しない場合が生じるが、このような場合には
信号/雑音比が急に悪化するために算出されるデフォー
カス量の精度が低く、レンズ駆動が非常に不安定とな
る。
【0233】そこで、蓄積時間Itが最長蓄積時間It
maxの時には電荷蓄積信号の最大値DMaxが小さい
ほどスロープしきい値SlpSthが高く(厳しく)な
るように数式50、51に基づいて可変とする。このよ
うにする事により焦点検出可能な低輝度限界が高輝度側
へ移動するので、蓄積時間Itを最長蓄積時間Itma
xとしても電荷蓄積信号の最大値DMaxはWMaxに
達しない為に得られるデフォーカス量の精度が低く、レ
ンズ駆動が非常に不安定となる状態を焦点検出不能とす
る事が出来る。
【0234】それではしきい値設定の動作を図6を用い
て説明する。ステップ601・SlpSthを50と設
定する。通常の場合はSlpSthはこの値となり、フ
ィルターによらず一定としている。ステップ602・演
算に用いるデータが第2フィルターデータであるか否か
を見る。そうであるときにはステップ611へ進み、そ
うでないときにはステップ603へ進む。
【0235】ステップ603・演算に用いるデータが第
5フィルターデータであるか否かを見る。そうであると
きにはステップ611へ進み、そうでないときにはステ
ップ604へ進む。ステップ604・ステップ602、
603の判定により演算に用いるデータは第4、3、1
フィルターデータのいずれかであり、この場合はブロッ
クが12個と細かく分割されている場合を示しており、
Cexbのしきい値CxSthは比較的厳しく設定され
る(図6では0.25としている)。
【0236】ステップ605・蓄積時間Itは最長時間
Itmaxであるか否かを見て、そうではない時にはス
テップ618へ進み、最長時間Itmaxであるときに
はステップ606へ進む。ステップ606・SlpSt
hを数式50に基づいて変更する。ステップ607・ス
テップ606で設定されたSlpSthが50より小さ
いか否かを見る。50より小さくては判定しきい値とし
ては緩すぎるのでSlpSthを50に変更して(ステ
ップ608)ステップ618へ進む。50以上の場合に
はステップ609へ進む。
【0237】ステップ609・ステップ606で設定さ
れたSlpSthが98より大きいか否かを見る。98
より大きくては判定しきい値としては厳しすぎるのでS
lpSthを98に変更して(ステップ610)ステッ
プ618へ進む。96以下の場合にはステップ606で
設定されたSlpSthが適切な範囲内にある事となる
のでそのままステップ618へ進む。
【0238】ステップ611・ステップ602、603
の判定により演算に用いるデータは第2、5フィルター
データのいずれかであり、この場合はブロックが4個と
粗く分割されている場合を示しており、Cexbのしき
い値CxSthは比較的緩く設定される(図6では0.
4としている)。ステップ612・蓄積時間Itは最長
時間Itmaxであるか否かを見て、そうではない時に
はステップ618へ進み、最長時間Itmaxであると
きにはステップ613へ進む。
【0239】ステップ613・SlpSthを数式51
に基づいて変更する。ステップ614・ステップ613
で設定されたSlpSthが50より小さいか否かを見
る。50より小さくては判定しきい値としては緩すぎる
のでSlpSthを50に変更して(ステップ615)
ステップ618へ進む。50以上の場合にはステップ6
16へ進む。
【0240】ステップ616・ステップ613で設定さ
れたSlpSthが146より大きいか否かを見る。1
46より大きくては判定しきい値としては厳しすぎるの
でSlpSthを146に変更して(ステップ617)
ステップ618へ進む。146以下の場合にはステップ
613で設定されたSlpSthが適切な範囲内にある
事となるのでそのままステップ618へ進む。
【0241】ステップ618・前述したオーバーラップ
サーボ中であるか否かを見る。オーバーラップサーボ中
ではSlpSthはかなり厳しくした方がよいのでSl
pSthを200に変更する(ステップ619)。次に
図2ステップ214のバランス乱れ判定について説明す
る。判定に用いる値は図9を用いた3点内挿演算で既に
説明した数値Blnc[bl]を用いる。Blnc[bl]は1
の時にバランス乱れの可能性が高い事を示し、0の時に
はバランス乱れの可能性が低い事を示している。
【0242】Blnc[bl]が1に設定されるのは図9で
説明したようにスロープE[bl]がしきい値SlpSth
を越えるているのに、Cexbがしきい値CxSthを
越えてしまったために信頼性無しと判定され、且つ内挿
演算によって算出された極小値Cexが240以内であ
った場合である。まずスロープE[bl]がしきい値Slp
Sthを越えるという事は被写体にコントラストは十分
にある事を意味する。Cexbがしきい値CxSthを
越えてしまったという事は一対の第4フィルターデータ
のパターンの一致度が悪い事を示している。
【0243】そしてCexが240以内という事は一対
のデータの一致度は悪いが決して別のものではない可能
性が高い事を示している。したがってこの場合にはバラ
ンス乱れが生じていると推測できる。そこでDC成分を
完全に除去していない第4フィルターデータによる演算
でBlnc[bl]が1であるブロックが存在して、なおか
つ他のブロックが全て焦点検出不能である場合にはバラ
ンス乱れが生じたと判定し、DC成分を完全に除去する
第3フィルターデータによる演算を行うようにしてい
る。
【0244】次に図2ステップ213の偽合焦対策につ
いて説明する。この偽合焦が生じるのは、レンズは合焦
から大きくはずれると被写体パターンの高周波成分が消
えてぼけ、さらにブロック分割が細かいために被写体の
異なる部分でもパターンが似ているという場合が生じる
ためである。この場合、ブロック分割を粗くすればパタ
ーンが似る可能性が激減する。
【0245】そこで低コン、微細ではないとき、つまり
第4フィルターデータによる演算で一つのブロックでし
かデフォーカス量が算出されない時にはブロック分割の
粗い第5フィルターデータによる演算でデフォーカス量
を得て、第4フィルターデータによって得られた唯一つ
のデフォーカス量と第5フィルターデータによって得ら
れたデフォーカス量とを比較し、第4フィルターデータ
によって得られた唯一つのデフォーカス量を有効とする
か、あるいはこれを無効として第5フィルターデータに
よって得られたデフォーカス量を最終的に用いるかを判
断するようにする。この偽合焦対策の動作を図11によ
り説明する。
【0246】ステップ1111・第4フィルターデータ
によって算出された唯一つのデフォーカス量をDfzと
して記憶する。ステップ1112〜1115・図2のス
テップ215〜218と同様に第5フィルターデータを
用いてデフォーカス量を算出する。ステップ1116・
第5フィルターデータによってデフォーカス量が得られ
たか否かを見て、得られなかった場合にはステップ11
19へ進み、得られた場合にはステップ1117へ進
む。
【0247】ステップ1117・第5フィルターデータ
によって得られたデフォーカス量Df[13]〜Df[16]と
Dfzを比較する。ステップ1118・Dfzとの差の
絶対値が所定値以内のものがあるか否かを見る。所定以
内のものがある場合にはステップ1119へ、無い場合
にはステップ1120へ進む。
【0248】ステップ1119・第4フィルターデータ
によって得られた唯一つのデフォーカス量によって偽合
焦とはならないと判断し、第5フィルターデータによっ
て得られたデフォーカス量Df[13]〜Df[16]を廃棄
し、Dfzを採用する。ステップ1120・第4フィル
ターデータによって得られた唯一つのデフォーカス量を
用いると偽合焦となる可能性が高いと判断し、第5フィ
ルターデータによって得られたデフォーカス量Df[13]
〜Df[16]を採用し、Dfzを廃棄する。
【0249】図1における蓄積制御部3aは図12のス
テップ1202、1206、1211の動作に対応し、
被写体判別部3bは図13の動作に対応し、焦点検出演
算部3cは図5、図7、図8、図9、図11の動作と図
2のステップ202、205、215、220、22
7、235におけるフィルター処理演算動作に対応し、
ブロック形成部3dは図4、図14の動作に対応し、補
正値設定部3fは図2のステップ209、217、22
、232、237の動作に対応し、しきい値設定部3
gは図6の動作に対応し、周期判定部3hは図10の動
作に対応し、バランス乱れ検出部3jは図9のステップ
906、908、912、913、914、911の動
作に対応し、レンズ駆動制御部3kは図12のステップ
1210、1214の動作に対応する。
【0250】
【発明の効果】以上のように本発明によれば、DC成分
を完全に除去するフィルター処理を施したデータを複数
のブロックに分割する際に、被写体パターンのコントラ
ストがない部分に相当する正しい位置にブロックの境界
位置を設定する事が出来るので、安定した焦点検出を行
う事が出来るという効果を得る。
【図面の簡単な説明】
【図1】本発明の実施例の構成を表すブロック図であ
る。
【図2】本発明の実施例のデフォーカス量算出アルゴリ
ズムを示すフローチャート図である。
【図3】本発明の実施例のデフォーカス量算出アルゴリ
ズムを示すフローチャート図である。
【図4】本発明の実施例のデフォーカス量算出アルゴリ
ズムにおけるブロック境界設定1の動作を示すフローチ
ャート図である。
【図5】本発明の実施例のデフォーカス量算出アルゴリ
ズムにおける相関演算実行判定の動作を示すフローチャ
ート図である。
【図6】本発明の実施例のデフォーカス量算出アルゴリ
ズムにおけるしきい値設定の動作を示すフローチャート
図である。
【図7】本発明の実施例のデフォーカス量算出アルゴリ
ズムにおけるグループ合成の動作を示すフローチャート
図である。
【図8】本発明の実施例のデフォーカス量算出アルゴリ
ズムにおける焦点検出演算の動作を示すフローチャート
図である。
【図9】本発明の実施例の焦点検出演算における3点内
挿演算の動作を示すフローチャート図である。
【図10】本発明の実施例の焦点検出演算における周期
検出の動作を示すフローチャート図である。
【図11】本発明の実施例のデフォーカス量算出アルゴ
リズムにおける偽合焦対策の動作を示すフローチャート
図である。
【図12】本発明の実施例の全体の動作を示すフローチ
ャート図である。
【図13】本発明の実施例のデフォーカス量算出アルゴ
リズムにおける微細パターン判別の動作を示すフローチ
ャート図である。
【図14】本発明の実施例のデフォーカス量算出アルゴ
リズムにおけるブロック境界設定2の動作を示すフロー
チャート図である。
【図15】本発明の実施例における光学系、イメージセ
ンサーを説明する図である。
【図16】本発明の実施例における焦点検出領域を表す
図である。
【図17】従来技術における相関演算を説明する図であ
る。
【図18】従来技術における3点内挿演算を説明する図
である。
【図19】従来技術におけるブロック分割を説明する図
である。
【図20】ハードAGCが良好には動作しない場合を説
明する図である。
【図21】被写体パターンが周期的である場合の現象を
説明する図である。
【図22】間欠サーボ、オーバーラップサーボを説明す
る図である。
【図23】補助光の照射パターンを示す図である。
【図24】組み込み誤差量が焦点検出領域内で均一でな
い場合を表す図である。
【図25】位相差検出方式を説明する図である。
【図26】本発明の実施例に於いてDC成分を完全に除
去するフィルター処理を施したデータを用いる場合を説
明する図である。
【図27】本発明の実施例における周期検出の方法を説
明する図である。
【図28】本発明の実施例における周期検出に用いる数
値を説明する図である。
【図29】従来技術におけるDC成分を完全に除去する
フィルター処理を施したデータを用いた場合に生じる問
題点を説明する図である。
フロントページの続き (56)参考文献 特開 平2−135311(JP,A) 特開 昭55−140373(JP,A) 特開 昭61−267714(JP,A) 特開 昭60−262004(JP,A) 特開 昭63−256278(JP,A) 特開 昭62−294213(JP,A) 特開 平2−233072(JP,A) 特開 平3−295372(JP,A) 特開 昭64−16179(JP,A) 特開 平5−145822(JP,A) (58)調査した分野(Int.Cl.7,DB名) G02B 7/28 - 7/36

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】複数の光電変換素子からなり、入射する被
    写体像を表す出力信号列を出力するイメージセンサー
    と、 該イメージセンサーに被写体像を導く光学系と、 該出力信号列に対してDC成分を除去する微分型のフィ
    ルター処理を施してフィルター信号列を得る演算手段
    と、 該フィルター信号列を複数の領域に分割する領域分割手
    段とから成り、該演算手段は該フィルター信号列に基づ
    いて該複数の領域毎に撮影レンズの焦点調節状態を検出
    する焦点検出装置において、 該領域分割手段は所定範囲内に於いて該フィルター信号
    列の値と所定値との差分量を算出する事により差分デー
    タ列を得て、該差分データ列に基づいて該フィルター信
    号列を複数の領域に分割する事を特徴とする焦点検出装
    置。
  2. 【請求項2】請求項1の焦点検出装置に於いて、該領域
    分割手段は該差分データ列において隣接する二つの差分
    データを加算する事によって新たに加算データ列を算出
    し、該加算データ列の内で最小値となる加算データを示
    す位置を領域の分割点として設定する事を特徴とする。
  3. 【請求項3】請求項1の焦点検出装置に於いて、該所定
    値は該出力信号列の内で値が一定である部分を該フィル
    ター処理を施した際に得られる値である事を特徴とす
    る。
JP23398292A 1992-09-02 1992-09-02 焦点検出装置 Expired - Fee Related JP3248257B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP23398292A JP3248257B2 (ja) 1992-09-02 1992-09-02 焦点検出装置
US08/113,328 US5389995A (en) 1992-09-02 1993-08-30 Focus condition detecting device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23398292A JP3248257B2 (ja) 1992-09-02 1992-09-02 焦点検出装置

Publications (2)

Publication Number Publication Date
JPH0682686A JPH0682686A (ja) 1994-03-25
JP3248257B2 true JP3248257B2 (ja) 2002-01-21

Family

ID=16963685

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23398292A Expired - Fee Related JP3248257B2 (ja) 1992-09-02 1992-09-02 焦点検出装置

Country Status (2)

Country Link
US (1) US5389995A (ja)
JP (1) JP3248257B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06288820A (ja) * 1993-03-30 1994-10-18 Nikon Corp カメラの測光装置
JPH0894916A (ja) * 1994-09-28 1996-04-12 Nikon Corp 焦点検出装置
JP5803065B2 (ja) * 2010-07-30 2015-11-04 株式会社ニコン 焦点検出装置および撮像装置
JP2015102735A (ja) 2013-11-26 2015-06-04 株式会社ニコン 焦点検出装置および撮像装置
JP6916419B2 (ja) * 2013-11-26 2021-08-11 株式会社ニコン 焦点調節装置
JP6742692B2 (ja) * 2015-01-30 2020-08-19 富士通株式会社 符号化プログラムおよび伸長プログラム
JP6512989B2 (ja) * 2015-08-04 2019-05-15 キヤノン株式会社 焦点検出装置及び方法、及び撮像装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4561749A (en) * 1983-02-02 1985-12-31 Nippon Kogaku K.K. Focus detection apparatus
US4687917A (en) * 1983-10-19 1987-08-18 Nippon Kogaku K. K. Focus detecting device for removing vignetting effects
US4888609A (en) * 1985-01-17 1989-12-19 Minolta Camera Kabushiki Kaisha Automatic focus adjusting apparatus
JP2985087B2 (ja) * 1988-11-16 1999-11-29 株式会社ニコン 焦点検出装置
JPH04235512A (ja) * 1991-01-10 1992-08-24 Nikon Corp グル−プ化機能を有する焦点検出装置

Also Published As

Publication number Publication date
JPH0682686A (ja) 1994-03-25
US5389995A (en) 1995-02-14

Similar Documents

Publication Publication Date Title
JP3298171B2 (ja) オートフォーカスカメラ
US5517274A (en) Automatic focusing apparatus of a camera
JPH0756530B2 (ja) 撮影レンズ鏡筒およびカメラ
US7440690B2 (en) Focus detection apparatus and control method thereof
JPH0694987A (ja) 焦点検出装置
JP3491343B2 (ja) 焦点検出装置および焦点検出方法
JP3248257B2 (ja) 焦点検出装置
JP3336360B2 (ja) 焦点検出装置
JPH06130288A (ja) 焦点検出装置
JPH0682675A (ja) オートフォーカスカメラ
JPH04235512A (ja) グル−プ化機能を有する焦点検出装置
JPH07181369A (ja) 自動焦点調節カメラおよびカメラの自動焦点調節方法
US5202718A (en) Focus detection apparatus
JP4315479B2 (ja) 焦点検出装置
JP2850336B2 (ja) 焦点検出装置
JP3728604B2 (ja) 焦点検出装置
JP2969642B2 (ja) 焦点検出装置
JP3224535B2 (ja) カメラの露出制御装置
JP3230759B2 (ja) 測距装置
US5517273A (en) Device for determining whether focus detection may be accurately performed using characteristic data of an interchangeable lens and focus detection device
JP4632803B2 (ja) 焦点検出装置
JP4532169B2 (ja) 焦点検出装置
JP4615912B2 (ja) カメラの焦点演算装置
JP3211280B2 (ja) 焦点検出装置
JPH11295588A (ja) 自動焦点制御装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071109

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101109

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees