JP3336360B2 - 焦点検出装置 - Google Patents
焦点検出装置Info
- Publication number
- JP3336360B2 JP3336360B2 JP23694692A JP23694692A JP3336360B2 JP 3336360 B2 JP3336360 B2 JP 3336360B2 JP 23694692 A JP23694692 A JP 23694692A JP 23694692 A JP23694692 A JP 23694692A JP 3336360 B2 JP3336360 B2 JP 3336360B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- data
- calculation
- amount
- defocus amount
- 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 - Lifetime
Links
Classifications
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B7/00—Mountings, adjusting means, or light-tight connections, for optical elements
- G02B7/28—Systems for automatic generation of focusing signals
- G02B7/30—Systems for automatic generation of focusing signals using parallactic triangle with a base line
- G02B7/32—Systems 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)
- Automatic Focus Adjustment (AREA)
- Focusing (AREA)
Description
【0001】
【産業上の利用分野】本発明はカメラ、ビデオ等に用い
られる焦点検出装置に関するものである。
られる焦点検出装置に関するものである。
【0002】
【従来の技術】一眼レフレックスカメラに於ける焦点検
出方式として、位相差検出方式があり、図25を用いて
この方法を説明する。撮影レンズ100の領域101を
介して入射した光束は視野マスク200、フィールドレ
ンズ300、絞り開口部401及び再結像レンズ501
を通り、入射強度に応じた出力を発生する複数の光電変
換画素を一次元的に並べたイメージセンサーアレイA上
に結像する。
出方式として、位相差検出方式があり、図25を用いて
この方法を説明する。撮影レンズ100の領域101を
介して入射した光束は視野マスク200、フィールドレ
ンズ300、絞り開口部401及び再結像レンズ501
を通り、入射強度に応じた出力を発生する複数の光電変
換画素を一次元的に並べたイメージセンサーアレイA上
に結像する。
【0003】同様に撮影レンズ100の領域102を介
して入射した光束は視野マスク200、フィールドレン
ズ300、絞り開口部402及び再結像レンズ502を
通りイメージセンサーアレイB上に結像する。これらイ
メージセンサーアレイA、B上に結像した一対の被写体
像は撮影レンズ100が予定焦点面よりも前に被写体の
鮮鋭像を結ぶいわゆる前ピン状態では互いに遠ざかり、
逆に予定焦点面より後ろの被写体の鮮鋭像を結ぶいわゆ
る後ピン状態では互いに近づき、ちょうど予定焦点面に
被写体の鮮鋭像を結ぶいわゆる合焦時にはイメージセン
サーアレイA、B上の被写体像は相対的に一致する。
して入射した光束は視野マスク200、フィールドレン
ズ300、絞り開口部402及び再結像レンズ502を
通りイメージセンサーアレイB上に結像する。これらイ
メージセンサーアレイA、B上に結像した一対の被写体
像は撮影レンズ100が予定焦点面よりも前に被写体の
鮮鋭像を結ぶいわゆる前ピン状態では互いに遠ざかり、
逆に予定焦点面より後ろの被写体の鮮鋭像を結ぶいわゆ
る後ピン状態では互いに近づき、ちょうど予定焦点面に
被写体の鮮鋭像を結ぶいわゆる合焦時にはイメージセン
サーアレイA、B上の被写体像は相対的に一致する。
【0004】従って、この一対の被写体像をイメージセ
ンサーアレイA、Bで光電変換して電気信号に変え、こ
れらの信号を演算処理して一対の被写体像の相対位置を
求めることにより撮影レンズ100の焦点調節状態、こ
こでは合焦状態からはなれている量とその方向(以後、
デフォーカス量と略す)が分かる。そして焦点検出領域
はイメージセンサーアレイA、Bが再結像レンズ50
1、502によって投影されて予定焦点面近傍で重なっ
た部分となる。
ンサーアレイ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で算出す
る。
について述べる。イメージセンサーアレイ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を算出してい
る。
のシフト量に当たる整数であり、初項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により算出する。
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に示
す光学系及びイメージセンサーアレイの光電変換画素の
ピッチ幅によって定まる定数である。
aとCbの内の大なる方を選択することを意味する。こ
の補間演算を3点内挿演算と呼ぶ事とする。そしてデフ
ォーカス量DFは極小値を与えるずれ量Lsから数式4
によって算出される。数式4においてKfは図25に示
す光学系及びイメージセンサーアレイの光電変換画素の
ピッチ幅によって定まる定数である。
【0012】
【数4】
【0013】こうして得られたデフォーカス量が真にデ
フォーカス量を示しているのか、ノイズ等による相関量
の揺らぎによるものなのかを判定する必要があり、数式
5に示す条件を満たしたとき、デフォーカス量は信頼あ
りとする。
フォーカス量を示しているのか、ノイズ等による相関量
の揺らぎによるものなのかを判定する必要があり、数式
5に示す条件を満たしたとき、デフォーカス量は信頼あ
りとする。
【0014】
【数5】
【0015】数式5におけるE1,G1はある所定値で
ある。E(以後スロープ値と呼ぶ事とする)は被写体の
コントラストに依存する値であり、値が大きいほどコン
トラストが高く信頼性が高いことになり、Cex/Eは
一対のデータの一致度を表し、0に近いほど信頼性が高
いことになる。そして信頼ありと判定されるとデフォー
カス量DFに基づいて撮影レンズ100を駆動する。以
上の相関演算、補間演算、条件判定をまとめて焦点検出
演算と呼ぶことにする。
ある。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個の相関量を算出するだけで済み、演算時間が短縮で
きる。
関量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]も繰り返しパターンと
なり、デフォーカス量が特定できなくなる。そこで信頼
性のあるデフォーカス量が複数個得られた場合には被写
体は周期的なパターンを持つと判定するようにしてい
る。
体パターンが周期な繰り返しパターンの場合には図21
(c) に示すように相関量C[L]も繰り返しパターンと
なり、デフォーカス量が特定できなくなる。そこで信頼
性のあるデフォーカス量が複数個得られた場合には被写
体は周期的なパターンを持つと判定するようにしてい
る。
【0018】ところで図25のイメージセンサーアレイ
A、BとしてはCCD等の蓄積型のものが用いられる。
これは各光電変換画素で発生した電荷を適当な蓄積時間
だけ蓄積し、蓄積した電荷を電圧に変換してデータを得
るものであり、被写体が暗いときには蓄積時間を長く
し、被写体が明るいときには蓄積時間を短くする事によ
って屋外の明るい状況、暗い室内においても適切なデー
タを得る事が出来る。
A、BとしてはCCD等の蓄積型のものが用いられる。
これは各光電変換画素で発生した電荷を適当な蓄積時間
だけ蓄積し、蓄積した電荷を電圧に変換してデータを得
るものであり、被写体が暗いときには蓄積時間を長く
し、被写体が明るいときには蓄積時間を短くする事によ
って屋外の明るい状況、暗い室内においても適切なデー
タを得る事が出来る。
【0019】裏を返せば蓄積時間が不適切であると適切
なデータを得る事が出来ずにデフォーカス量が算出でき
なくなる。例えば白地に細い黒線が一本といった微細な
被写体において、図20(c) の様に全体的に高い出力が
得られた時にスロープEが数式5をかろうじて満たすよ
うなコントラストであったとすると、蓄積時間が短く設
定されて図20(d) の様に全体的に若干低い出力の時に
はコントラストが低下し、スロープEが数式5を満たさ
ずに焦点検出不能となってしまう。
なデータを得る事が出来ずにデフォーカス量が算出でき
なくなる。例えば白地に細い黒線が一本といった微細な
被写体において、図20(c) の様に全体的に高い出力が
得られた時にスロープEが数式5をかろうじて満たすよ
うなコントラストであったとすると、蓄積時間が短く設
定されて図20(d) の様に全体的に若干低い出力の時に
はコントラストが低下し、スロープEが数式5を満たさ
ずに焦点検出不能となってしまう。
【0020】また、蓄積時間が長すぎて発生した電荷量
が蓄積可能な限界を越えてしまったり、演算処理可能な
範囲を越えた場合には正しい焦点検出演算は行えない。
従って適切なデータを得るように蓄積時間を制御する必
要がある。この制御をAGC(オートゲインコントロー
ル)と略す事とする。AGCの方式には大きく分けて2
種類ある。一つは前回の蓄積で得られたデータに基づい
て次回の蓄積時間を決定する方式で、例えばデータ内の
最大値が所定の値となるよう蓄積時間を設定する方法で
あり、演算によって蓄積時間が決定されるのでソフトA
GCと呼ぶ事とする。
が蓄積可能な限界を越えてしまったり、演算処理可能な
範囲を越えた場合には正しい焦点検出演算は行えない。
従って適切なデータを得るように蓄積時間を制御する必
要がある。この制御をAGC(オートゲインコントロー
ル)と略す事とする。AGCの方式には大きく分けて2
種類ある。一つは前回の蓄積で得られたデータに基づい
て次回の蓄積時間を決定する方式で、例えばデータ内の
最大値が所定の値となるよう蓄積時間を設定する方法で
あり、演算によって蓄積時間が決定されるのでソフトA
GCと呼ぶ事とする。
【0021】もう一つの方式はイメージセンサーアレイ
の近傍にモニターセンサーを配置し、このセンサーの出
力に基づいて蓄積時間を設定するものであり、ハードウ
ェアーによって蓄積時間が決定するのでハードAGCと
呼ぶ事とする。ソフトAGCはきめ細かく蓄積時間を設
定できるが前回の蓄積が必要なためにリアルタイム性に
は優れず、ハードAGCはリアルタイムに被写体の輝度
をモニターできるがイメージセンサーアレイの平均的な
輝度等しかモニターできないのできめ細かい蓄積時間の
制御は不可能である。
の近傍にモニターセンサーを配置し、このセンサーの出
力に基づいて蓄積時間を設定するものであり、ハードウ
ェアーによって蓄積時間が決定するのでハードAGCと
呼ぶ事とする。ソフトAGCはきめ細かく蓄積時間を設
定できるが前回の蓄積が必要なためにリアルタイム性に
は優れず、ハードAGCはリアルタイムに被写体の輝度
をモニターできるがイメージセンサーアレイの平均的な
輝度等しかモニターできないのできめ細かい蓄積時間の
制御は不可能である。
【0022】以上の説明では焦点検出演算はイメージセ
ンサーアレイの出力そのものを用いて演算しているが、
ナイキスト周波数以上の有害成分や、一対のイメージセ
ンサー間の出力のバランスの差、つまりDC成分による
悪影響を消すために、イメージセンサーアレイの出力に
対してフィルター処理を施すことによって新たにデータ
を作成し、新たに作成したデータを用いて焦点検出演算
を行う。
ンサーアレイの出力そのものを用いて演算しているが、
ナイキスト周波数以上の有害成分や、一対のイメージセ
ンサー間の出力のバランスの差、つまりDC成分による
悪影響を消すために、イメージセンサーアレイの出力に
対してフィルター処理を施すことによって新たにデータ
を作成し、新たに作成したデータを用いて焦点検出演算
を行う。
【0023】例えばイメージセンサーの出力信号列をD
[i] とすると、まず数式6によって高周波成分を除去す
るフィルター処理を行って新たなデータ列H[i] を作成
する。
[i] とすると、まず数式6によって高周波成分を除去す
るフィルター処理を行って新たなデータ列H[i] を作成
する。
【0024】
【数6】
【0025】数式6において、右辺を4で割ってもよ
い。このデータ列H[i] に対してさらに数式7に示すD
C成分を除去する微分型のフィルター処理を行って新た
なデータ列F[i] を作成する。
い。このデータ列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
成分を除去して特定の周波数成分を抽出するフィルター
処理を施したデータを用いると、白地に細い黒線が一本
といった微細な被写体に対する焦点検出能力が向上す
る。
らぬように右辺に所定の値を加算してもよい。そして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] を算出し、複
数のブロックの中で、たとえばデフォーカス量が最至近
を示すブロックやコントラストが最大のブロックを選択
し、そのブロックのデフォーカス量を撮影レンズの焦点
検出状態とし、カメラにおいては前期デフォーカス量に
基づいて撮影レンズを駆動している。
距離の異なる複数の被写体がイメージセンサーアレイに
結像した時には、前後した被写体の中間距離で合焦と判
定してしまったり、焦点検出が不能となってしまうとい
う不具合があった。そこで一対のイメージセンサーアレ
イをそれぞれ複数のブロックに分割する事により焦点検
出領域を細分化し、それぞれのブロックについて焦点検
出演算を行い、それぞれのブロックに於て極小を与える
ずれ量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と設定して焦点検出演算を行う。
述の数式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) の場合よりも広いブロックを形成す
る事が出来る。前述のフィルター処理を行った場合も、
新たに作成されたデータを同様に複数のブロックに分け
ればよい。
メージセンサーアレイにおいて、ブロック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は除
く)をカメラ等に組み込む際に、予定焦点面との相対位
置がずれるために完全には一致せずに誤差を生じる(以
後この誤差量を組み込み誤差量と呼ぶ事とする)。
ストが位置すると焦点検出不能となる場合があるので特
開平2−135311ではブロック境界近傍について隣
接するデータの差の絶対値を算出し、差の絶対値が最小
となる部分がブロックの境界となるように境界位置を移
動するという方法を開示している。 先の焦点検出演算
の説明に於て、ちょうど予定焦点面に被写体の鮮鋭像を
結ぶいわゆる合焦時にはイメージセンサーアレイA、B
上の被写体像は相対的に一致するとした。しかしながら
実際には図25に示す光学系(撮影レンズ100は除
く)をカメラ等に組み込む際に、予定焦点面との相対位
置がずれるために完全には一致せずに誤差を生じる(以
後この誤差量を組み込み誤差量と呼ぶ事とする)。
【0033】従って、組み込み誤差量を記憶しておき、
数式2の演算終了後に補正を行う必要がある。たとえば
組み込み誤差量を補正する補正値として単位がデータの
ピッチであるようなZを用いると、補正は数式8のごと
く行われる。
数式2の演算終了後に補正を行う必要がある。たとえば
組み込み誤差量を補正する補正値として単位がデータの
ピッチであるようなZを用いると、補正は数式8のごと
く行われる。
【0034】
【数8】
【0035】この補正値Zはボディ毎に異なるので、ボ
ディ毎に補正値Zを測定して、ボディ内の例えばEEP
ROM等に記憶しておく必要がある。理想的には焦点検
出領域内では組み込み誤差量は均一である事が望まれ
る。しかし焦点検出光学系の収差や、図25に示す光学
系を組み立てる際に再結像レンズ501、502とイメ
ージセンサーアレイA、Bとが相対的に傾いてしまうた
めに組み込み誤差量は均一とならず、図24に示すよう
に焦点検出領域内の位置によって組み込み誤差量は異な
る。
ディ毎に補正値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
を被写体パターンのコントラスト分布に基づいて重み付
け平均する事により、実際の演算で用いる補正量を決定
するという非常にきめ細かな方法も開示している。
分割する場合には補正値Zはブロック毎に設定する必要
がある。そこでブロック毎に補正値Z[i] を測定して、
これら複数の補正値Z[i] をEEPROM等に記憶し、演算さ
れた個々の結果に対して対応する補正値Z[i] を用いて
補正を行う。これについては本出願人による特開昭60
−262004に開示されている。補正値Z[i] を測定
する際には被写体としては例えばブロックの幅に対して
十分に細かい周期を有する白黒の格子パターンを用いて
測定している。このようにして測定すると補正値Z[i]
はブロックの中心位置の組み込み誤差量を表しているこ
とになる。ちなみに特開昭60−262004では補正
量Zをブロック毎ではなくイメージセンサーアレイの一
つ一つの画素毎に補正量Zを記憶し、画素毎の補正量Z
を被写体パターンのコントラスト分布に基づいて重み付
け平均する事により、実際の演算で用いる補正量を決定
するという非常にきめ細かな方法も開示している。
【0037】信頼性のあるデフォーカス量が算出できた
場合には、このデフォーカス量に相当する移動量だけ撮
影レンズ100を図示しないモーター等によって駆動す
る事により被写体像が予定焦点面に結像するいわゆる合
焦状態とする事が出来る。しかしながらデフォーカス量
が大きいときには演算誤差等により一回のレンズ駆動で
は合焦とならない。そこで図22(a) のタイミングチャ
ートに示すようにレンズ駆動終了後にイメージセンサー
アレイの蓄積、焦点検出演算を行って再びレンズ駆動を
行う、という具合にレンズ駆動、蓄積、演算を順次行っ
て合焦させるのが一般的である。
場合には、このデフォーカス量に相当する移動量だけ撮
影レンズ100を図示しないモーター等によって駆動す
る事により被写体像が予定焦点面に結像するいわゆる合
焦状態とする事が出来る。しかしながらデフォーカス量
が大きいときには演算誤差等により一回のレンズ駆動で
は合焦とならない。そこで図22(a) のタイミングチャ
ートに示すようにレンズ駆動終了後にイメージセンサー
アレイの蓄積、焦点検出演算を行って再びレンズ駆動を
行う、という具合にレンズ駆動、蓄積、演算を順次行っ
て合焦させるのが一般的である。
【0038】この方式を間欠サーボと呼ぶ事とする。一
方、図22(b) のタイミングチャートに示すようにレン
ズ駆動の最中に蓄積、演算を繰り返してレンズ駆動の目
標となるデフォーカス量をその都度変更していく事によ
りレンズ駆動を停止する事なくレンズを合焦させる方式
があり(これをオーバーラップサーボと呼ぶ事とす
る)、この方式は間欠サーボに比べて合焦までの時間を
短縮する事が出来る。
方、図22(b) のタイミングチャートに示すようにレン
ズ駆動の最中に蓄積、演算を繰り返してレンズ駆動の目
標となるデフォーカス量をその都度変更していく事によ
りレンズ駆動を停止する事なくレンズを合焦させる方式
があり(これをオーバーラップサーボと呼ぶ事とす
る)、この方式は間欠サーボに比べて合焦までの時間を
短縮する事が出来る。
【0039】しかしながらオーバーラップサーボではレ
ンズが駆動している最中にイメージセンサーアレイの蓄
積を行っているために被写体が暗くて蓄積時間が長くな
るとイメージセンサーアレイ上の被写体像がぼけてしま
って演算精度が下がり、合焦までのレンズ駆動が不安定
となり間欠サーボよりも時間がかかるような事がある。
そこで特開昭61−165715では被写体が明るい通
常の場合にはオーバーラップサーボを用い、被写体が暗
いときには間欠サーボに切り換えている。
ンズが駆動している最中にイメージセンサーアレイの蓄
積を行っているために被写体が暗くて蓄積時間が長くな
るとイメージセンサーアレイ上の被写体像がぼけてしま
って演算精度が下がり、合焦までのレンズ駆動が不安定
となり間欠サーボよりも時間がかかるような事がある。
そこで特開昭61−165715では被写体が明るい通
常の場合にはオーバーラップサーボを用い、被写体が暗
いときには間欠サーボに切り換えている。
【0040】信頼性のあるデフォーカス量が得られなか
った場合には、レンズが合焦から非常に大きくはずれて
いる場合が考えられるので、レンズを所定方向に駆動し
ながら蓄積、演算を繰り返して信頼性のあるデフォーカ
ス量を捜すいわゆるスキャン動作を行う事が知られてい
る。所定方向としてはとしては例えばまず至近側にレン
ズを駆動し、レンズの至近端に達した場合には無限方向
に駆動方向を変え、レンズの無限端に達した場合にはレ
ンズ駆動を停止してスキャン動作を停止する。このスキ
ャン動作は最初の焦点検出演算によって信頼性のあるデ
フォーカス量が得られなかった場合のみに行うのが一般
的である。
った場合には、レンズが合焦から非常に大きくはずれて
いる場合が考えられるので、レンズを所定方向に駆動し
ながら蓄積、演算を繰り返して信頼性のあるデフォーカ
ス量を捜すいわゆるスキャン動作を行う事が知られてい
る。所定方向としてはとしては例えばまず至近側にレン
ズを駆動し、レンズの至近端に達した場合には無限方向
に駆動方向を変え、レンズの無限端に達した場合にはレ
ンズ駆動を停止してスキャン動作を停止する。このスキ
ャン動作は最初の焦点検出演算によって信頼性のあるデ
フォーカス量が得られなかった場合のみに行うのが一般
的である。
【0041】例えば移動する被写体に追従している時に
被写体が焦点検出領域からはずれて検出不能となった場
合にはレンズ駆動を停止すれば撮影者が再び被写体を焦
点検出領域に捕らえる事により短時間に再び合焦となる
のに対し、スキャン動作を行うとレンズが常に所定方向
に駆動する事となり、再度合焦するまでの長い時間を要
する事になる。
被写体が焦点検出領域からはずれて検出不能となった場
合にはレンズ駆動を停止すれば撮影者が再び被写体を焦
点検出領域に捕らえる事により短時間に再び合焦となる
のに対し、スキャン動作を行うとレンズが常に所定方向
に駆動する事となり、再度合焦するまでの長い時間を要
する事になる。
【0042】被写体が暗すぎて蓄積時間を設定可能な最
長蓄積時間としても適切な出力を持つデータが得られな
い場合には図23に示すようなコントラストパターンを
持った補助光を照射し、このコントラストパターンによ
って焦点検出演算を行う方法がある。
長蓄積時間としても適切な出力を持つデータが得られな
い場合には図23に示すようなコントラストパターンを
持った補助光を照射し、このコントラストパターンによ
って焦点検出演算を行う方法がある。
【0043】
【発明が解決しようとする課題】 しかしながら完全に
DC成分を除去するフィルター処理を施したデータを用
いて焦点検出演算を行うと偽合焦を生じる可能性がDC
成分を残したデータを用いた場合よりも高くなるという
欠点がある。この欠点について図29(a) 〜(d) を用い
て説明する。図29(a) 、(b) は焦点検出領域の左から
右へ向かって階段状に輝度が変化する被写体を見た場合
に得られるイメージセンサーアレイA、Bの出力であ
る。
DC成分を除去するフィルター処理を施したデータを用
いて焦点検出演算を行うと偽合焦を生じる可能性がDC
成分を残したデータを用いた場合よりも高くなるという
欠点がある。この欠点について図29(a) 〜(d) を用い
て説明する。図29(a) 、(b) は焦点検出領域の左から
右へ向かって階段状に輝度が変化する被写体を見た場合
に得られるイメージセンサーアレイA、Bの出力であ
る。
【0044】この図より明らかなようにイメージセンサ
ーアレイAの出力はBの出力に対して左側にずれてい
る、言い替えるとイメージセンサーアレイAの出力を右
側へずらしていくとBの出力と一致する事が分かる。一
方、図29(a) 、(b) のデータに対してDC成分を除去
する微分型のフィルター処理を施したデータが図29
(c) 、(d) であり、図29(a) 、(b) のデータがDC成
分のみが異なるために微分すると全く同一なデータとな
ってしまう。よってこれらのデータを用いて焦点検出演
算を行うと既に一対のデータが相対的に一致しているの
で合焦であると判断してしまう。このようにDC成分を
完全に除去するフィルター処理を施す事によって、異な
るパターンは互いに似か寄る方向に変換される事にな
る。
ーアレイAの出力はBの出力に対して左側にずれてい
る、言い替えるとイメージセンサーアレイAの出力を右
側へずらしていくとBの出力と一致する事が分かる。一
方、図29(a) 、(b) のデータに対してDC成分を除去
する微分型のフィルター処理を施したデータが図29
(c) 、(d) であり、図29(a) 、(b) のデータがDC成
分のみが異なるために微分すると全く同一なデータとな
ってしまう。よってこれらのデータを用いて焦点検出演
算を行うと既に一対のデータが相対的に一致しているの
で合焦であると判断してしまう。このようにDC成分を
完全に除去するフィルター処理を施す事によって、異な
るパターンは互いに似か寄る方向に変換される事にな
る。
【0045】しかしながら前述のようにDC成分を完全
に除去するフィルター処理を施したデータを用いる事に
より、微細なパターンの場合でも高い演算精度が得られ
るという利点があり、常にDC成分を完全には除去しな
いデータのみを用いると微細なパターンの場合の演算精
度が低くなる。本発明はこのような不具合を解決するた
めになされたものであり、偽合焦を防ぐと共に微細なパ
ターンに対しても高い演算精度を得る事が出来る焦点検
出装置を提供する事を目的とする。
に除去するフィルター処理を施したデータを用いる事に
より、微細なパターンの場合でも高い演算精度が得られ
るという利点があり、常にDC成分を完全には除去しな
いデータのみを用いると微細なパターンの場合の演算精
度が低くなる。本発明はこのような不具合を解決するた
めになされたものであり、偽合焦を防ぐと共に微細なパ
ターンに対しても高い演算精度を得る事が出来る焦点検
出装置を提供する事を目的とする。
【0046】
【課題を解決するための手段】上記目的を解決するため
に本発明は、入射する光束の強度の応じた信号を出力す
る複数の光電変換素子からなるイメージセンサーと、該
イメージセンサーに被写界の光束を導く光学系と、該イ
メージセンサーの出力信号に基づいて被写体パターンが
低コントラスト、または微細な特定パターンのいずれか
であることを判別する被写体判別手段と、前記イメージ
センサーの出力信号に基づいて前記撮影レンズの焦点調
節状態を検出する演算手段とからなる焦点検出装置にお
いて、前記演算手段は、前記イメージセンサーの出力信
号に対して前記被写体パターンのDC成分を除去する微
分型のフィルター処理を施したデータによって前記撮影
レンズの焦点調節状態を検出する第1の演算と、前記イ
メージセンサーの出力信号に対して被写体パターンのD
C成分を完全には除去しないフィルター処理を施したデ
ータによって前記撮影レンズの焦点調節状態を検出する
第2の演算とを実行可能であり、前記被写体判別手段の
判別結果が前記被写体パターンが低コントラスト、また
は微細なパターンであると判定された場合には前記第1
の演算を選択し、低コントラスト、及び微細なパターン
のいずれでもないと判定された場合には前記第2の演算
を選択する様に構成した。
に本発明は、入射する光束の強度の応じた信号を出力す
る複数の光電変換素子からなるイメージセンサーと、該
イメージセンサーに被写界の光束を導く光学系と、該イ
メージセンサーの出力信号に基づいて被写体パターンが
低コントラスト、または微細な特定パターンのいずれか
であることを判別する被写体判別手段と、前記イメージ
センサーの出力信号に基づいて前記撮影レンズの焦点調
節状態を検出する演算手段とからなる焦点検出装置にお
いて、前記演算手段は、前記イメージセンサーの出力信
号に対して前記被写体パターンのDC成分を除去する微
分型のフィルター処理を施したデータによって前記撮影
レンズの焦点調節状態を検出する第1の演算と、前記イ
メージセンサーの出力信号に対して被写体パターンのD
C成分を完全には除去しないフィルター処理を施したデ
ータによって前記撮影レンズの焦点調節状態を検出する
第2の演算とを実行可能であり、前記被写体判別手段の
判別結果が前記被写体パターンが低コントラスト、また
は微細なパターンであると判定された場合には前記第1
の演算を選択し、低コントラスト、及び微細なパターン
のいずれでもないと判定された場合には前記第2の演算
を選択する様に構成した。
【0047】
【作用】一対のイメージセンサーアレイの出力のコント
ラスト分布を調べ、図26(a) 、(b) の様にコントラス
トが焦点検出領域の一部のみに存在する場合にはDC成
分を完全に除去するフィルター処理を施したデータによ
って焦点検出演算が行われるので微細パターンに対して
も高い演算精度が得られる。さらにこの場合はコントラ
ストが焦点検出領域の一部のみに存在するので偽合焦の
可能性も低い。コントラストが焦点検出領域全体に分布
する場合にはDC成分を完全には除去しないフィルター
処理を施したデータを用いるか、またはフィルター処理
を施さないデータを用いるので偽合焦の可能性は非常に
低い。
ラスト分布を調べ、図26(a) 、(b) の様にコントラス
トが焦点検出領域の一部のみに存在する場合にはDC成
分を完全に除去するフィルター処理を施したデータによ
って焦点検出演算が行われるので微細パターンに対して
も高い演算精度が得られる。さらにこの場合はコントラ
ストが焦点検出領域の一部のみに存在するので偽合焦の
可能性も低い。コントラストが焦点検出領域全体に分布
する場合にはDC成分を完全には除去しないフィルター
処理を施したデータを用いるか、またはフィルター処理
を施さないデータを用いるので偽合焦の可能性は非常に
低い。
【0048】
【実施例】図1は本発明の構成図であり、2は複数の光
電変換画素からなるイメージセンサーアレイを少なくと
も一対有するイメージセンサー、1は撮影レンズ10を
通過した光をイメージセンサー2に導く焦点検出光学
系、4は被写体の輝度が低い場合に被写体に対して補助
光を照射する補助光発光部、5は撮影レンズ10を駆動
するモーター、6は焦点検出を行う領域の幅を選択する
モード選択部、3はマイクロプロセッサーであり演算、
制御等を行う。
電変換画素からなるイメージセンサーアレイを少なくと
も一対有するイメージセンサー、1は撮影レンズ10を
通過した光をイメージセンサー2に導く焦点検出光学
系、4は被写体の輝度が低い場合に被写体に対して補助
光を照射する補助光発光部、5は撮影レンズ10を駆動
するモーター、6は焦点検出を行う領域の幅を選択する
モード選択部、3はマイクロプロセッサーであり演算、
制御等を行う。
【0049】マイクロプロセッサー3からイメージセン
サー2へは電荷を蓄積する蓄積時間を与え、マイクロプ
ロセッサー3はイメージセンサー2から電荷蓄積信号と
イメージセンサーアレイ近傍に位置するモニターセンサ
ーの出力を得る。電荷蓄積信号をマイクロプロセッサー
3に取り込む際にはA/D変換を施す事により8ビット
のデジタルデータとする。
サー2へは電荷を蓄積する蓄積時間を与え、マイクロプ
ロセッサー3はイメージセンサー2から電荷蓄積信号と
イメージセンサーアレイ近傍に位置するモニターセンサ
ーの出力を得る。電荷蓄積信号をマイクロプロセッサー
3に取り込む際にはA/D変換を施す事により8ビット
のデジタルデータとする。
【0050】マイクロプロセッサー3は各種動作を行う
部分を含み、3aはイメージセンサー2の電荷蓄積を制
御する蓄積制御部、3bは電荷蓄積信号に基づいて被写
体のコントラスト状態を判別する被写体判別部、3cは
電荷蓄積信号に基づいて撮影レンズ10の焦点調節状態
を検出する焦点検出演算部、3dはイメージセンサーア
レイを複数の領域に分割するブロック形成部、3eは焦
点検出光学系1の組立時に発生する組み込み誤差量を記
憶する誤差量記憶部、3fは誤差量記憶部に記憶された
組み込み誤差量から焦点検出演算部3cで用いる補正量
を算出する補正値設定部、3gは焦点検出演算部3cに
おいて演算結果の信頼性判定に用いるしきい値を設定す
るしきい値設定部、3hは被写体パターンが周期的なも
のか否かを判定する周期判定部、3jは一対のイメージ
センサーアレイの出力のレベルのバランスが乱れている
事を検出するバランス乱れ検出部、3kは焦点検出演算
3cによって算出された結果に基づいてモーター5を制
御して撮影レンズ10を駆動するレンズ駆動制御部であ
る。
部分を含み、3aはイメージセンサー2の電荷蓄積を制
御する蓄積制御部、3bは電荷蓄積信号に基づいて被写
体のコントラスト状態を判別する被写体判別部、3cは
電荷蓄積信号に基づいて撮影レンズ10の焦点調節状態
を検出する焦点検出演算部、3dはイメージセンサーア
レイを複数の領域に分割するブロック形成部、3eは焦
点検出光学系1の組立時に発生する組み込み誤差量を記
憶する誤差量記憶部、3fは誤差量記憶部に記憶された
組み込み誤差量から焦点検出演算部3cで用いる補正量
を算出する補正値設定部、3gは焦点検出演算部3cに
おいて演算結果の信頼性判定に用いるしきい値を設定す
るしきい値設定部、3hは被写体パターンが周期的なも
のか否かを判定する周期判定部、3jは一対のイメージ
センサーアレイの出力のレベルのバランスが乱れている
事を検出するバランス乱れ検出部、3kは焦点検出演算
3cによって算出された結果に基づいてモーター5を制
御して撮影レンズ10を駆動するレンズ駆動制御部であ
る。
【0051】本発明における焦点検出光学系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に結像する。
に示すように撮影レンズ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に結像する。
【0052】従って撮影レンズ10の11の領域から入
射した光束は視野マスク20、フィールドレンズ30、
絞り40の開口部41、 再結像レンズのレンズ51を通
りイメージセンサーアレイA上に結像する。同様に撮影
レンズ10の12、13、14の領域より入射した光束
はそれぞれイメージセンサーアレイB、C、D上に結像
する。そして イメージセンサーアレイA、Bに結像し
た被写体像は撮影レンズ10が前ピンの時は互いに遠ざ
かり、後ピンの時は互いに近ずき、合焦時にはある所定
の間隔に並ぶ。
射した光束は視野マスク20、フィールドレンズ30、
絞り40の開口部41、 再結像レンズのレンズ51を通
りイメージセンサーアレイA上に結像する。同様に撮影
レンズ10の12、13、14の領域より入射した光束
はそれぞれイメージセンサーアレイB、C、D上に結像
する。そして イメージセンサーアレイA、Bに結像し
た被写体像は撮影レンズ10が前ピンの時は互いに遠ざ
かり、後ピンの時は互いに近ずき、合焦時にはある所定
の間隔に並ぶ。
【0053】よってイメージセンサーアレイ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を出力す
るモニターセンサーである。
荷蓄積信号Da[i] 、Db[i] を演算処理することによ
り撮影レンズ10の水平方向の焦点調節状態として前述
のデフォーカス量を算出することができる。同様にイメ
ージセンサーアレイC、Dに結像した被写体像は撮影レ
ンズ10が前ピンの時は互いに遠ざかり、後ピンの時は
互いに近ずき、合焦時にはある所定の間隔に並ぶ。よっ
てイメージセンサーアレイC、Dの電荷蓄積信号Dc
[i] 、Dd[i] を演算処理することにより撮影レンズ1
0の垂直方向の焦点調節状態として前述のデフォーカス
量を算出することができる。イメージセンサー2上の7
1、72はそれぞれイメージセンサーアレイA、Cに入
射する光束の平均輝度に応じた信号MH、MVを出力す
るモニターセンサーである。
【0054】このような光学系、イメージセンサーを用
いる事により本発明における焦点検出領域は図16(a)
に示すように撮影画面に対して横長な十字型となる。こ
の焦点検出領域全体を演算に用いる場合と、図16(b)
に示すように横方向の領域に関しては中央のみを演算に
用いるようにした場合の2通りをモード選択部6にて選
択する。前者をワイドモード、後者をスポットモードと
呼ぶ事とする。
いる事により本発明における焦点検出領域は図16(a)
に示すように撮影画面に対して横長な十字型となる。こ
の焦点検出領域全体を演算に用いる場合と、図16(b)
に示すように横方向の領域に関しては中央のみを演算に
用いるようにした場合の2通りをモード選択部6にて選
択する。前者をワイドモード、後者をスポットモードと
呼ぶ事とする。
【0055】図12は本発明の焦点検出装置の全体の動
作を表すフローチャートである。この図の説明を行う前
にハードAGC、ソフトAGCについて説明する。AG
Cはオートゲインコントロールの略であり、蓄積型のイ
メージセンサーの蓄積時間を制御することによって電荷
蓄積信号が適切なレベルとなるようにするものである。
ソフトAGCは前述のように前回の蓄積で得られたデー
タに基づいて次回の蓄積時間を決定する方式であり、例
えば前回に蓄積時間Itrの蓄積によって得られた電荷
蓄積信号の最大値がDMaxであり、目標とする電荷蓄
積信号の最大値がWMaxであったとすると今回の蓄積
時間Itは数式9によって定まる。
作を表すフローチャートである。この図の説明を行う前
にハードAGC、ソフトAGCについて説明する。AG
Cはオートゲインコントロールの略であり、蓄積型のイ
メージセンサーの蓄積時間を制御することによって電荷
蓄積信号が適切なレベルとなるようにするものである。
ソフトAGCは前述のように前回の蓄積で得られたデー
タに基づいて次回の蓄積時間を決定する方式であり、例
えば前回に蓄積時間Itrの蓄積によって得られた電荷
蓄積信号の最大値がDMaxであり、目標とする電荷蓄
積信号の最大値がWMaxであったとすると今回の蓄積
時間Itは数式9によって定まる。
【0056】
【数9】
【0057】これにより今回の蓄積によって最大値DM
axがほぼ目標値WMaxとなるような電荷蓄積信号を
得る事が出来る。WMaxの値としては電荷蓄積信号の
取り得る範囲の中間値が望ましい。例えば本実施例では
電荷蓄積信は8ビットのデータ、つまり0〜255の値
であるのでWMaxは128とする。また、スポットモ
ード時には演算に使用する範囲の最大値をDMaxとす
るのが好ましい。なお、蓄積時間には設定可能な範囲が
あり、最短Itmin、最長Itmaxとする。
axがほぼ目標値WMaxとなるような電荷蓄積信号を
得る事が出来る。WMaxの値としては電荷蓄積信号の
取り得る範囲の中間値が望ましい。例えば本実施例では
電荷蓄積信は8ビットのデータ、つまり0〜255の値
であるのでWMaxは128とする。また、スポットモ
ード時には演算に使用する範囲の最大値をDMaxとす
るのが好ましい。なお、蓄積時間には設定可能な範囲が
あり、最短Itmin、最長Itmaxとする。
【0058】ソフトAGCによれば安定したレベルの電
荷蓄積信号を得る事が出来るが、前回の蓄積がない場
合、つまり第一回目の蓄積の場合には用いる事が出来な
い。そこで第一回目の蓄積の場合にはイメージセンサー
アレイの近傍に設けられた図15におけるモニターセン
サー71、72の出力に基づいて蓄積時間を決定する、
いわゆるハードAGCを用いる。モニターセンサー7
1、72はそれぞれイメージセンサーアレイA、Cに入
射する光束の平均輝度に応じた信号MH、MVを出力す
るために、最大値DMaxを制御する事は出来ない。
荷蓄積信号を得る事が出来るが、前回の蓄積がない場
合、つまり第一回目の蓄積の場合には用いる事が出来な
い。そこで第一回目の蓄積の場合にはイメージセンサー
アレイの近傍に設けられた図15におけるモニターセン
サー71、72の出力に基づいて蓄積時間を決定する、
いわゆるハードAGCを用いる。モニターセンサー7
1、72はそれぞれイメージセンサーアレイA、Cに入
射する光束の平均輝度に応じた信号MH、MVを出力す
るために、最大値DMaxを制御する事は出来ない。
【0059】例えば最大値DMaxが同じであってもイ
メージセンサーアレイ全体にほぼ一様の輝度が照射して
いる時と、暗い背景で明るいパターンが局所的に存在す
るような時とではモニター信号の出力は異なる。 もし
イメージセンサーアレイ全体にほぼ一様の輝度が照射し
ている事を想定して蓄積時間を決定すると図20(c)の
様に白地に細い黒線一本の被写体の場合にはイメージセ
ンサーアレイ全体にほぼ一様の輝度が照射している事と
変わりはないので最大値DMAXがほぼ所定値となるデ
ータが得られるが、図20(a) の様に暗い背景で明るい
パターンが局所的に存在する被写体の場合には適切な蓄
積時間よりも長い蓄積時間が設定されてしまい、図20
(b) の様に発生した電荷量が蓄積可能な限界を越えてし
まったり、演算処理可能な範囲を越えてしまって適切な
レベルのデータが得らない。そこでコントラストがイメ
ージセンサーアレイ全体に分布する通常の場合を想定し
て蓄積時間を設定する様にしている。
メージセンサーアレイ全体にほぼ一様の輝度が照射して
いる時と、暗い背景で明るいパターンが局所的に存在す
るような時とではモニター信号の出力は異なる。 もし
イメージセンサーアレイ全体にほぼ一様の輝度が照射し
ている事を想定して蓄積時間を決定すると図20(c)の
様に白地に細い黒線一本の被写体の場合にはイメージセ
ンサーアレイ全体にほぼ一様の輝度が照射している事と
変わりはないので最大値DMAXがほぼ所定値となるデ
ータが得られるが、図20(a) の様に暗い背景で明るい
パターンが局所的に存在する被写体の場合には適切な蓄
積時間よりも長い蓄積時間が設定されてしまい、図20
(b) の様に発生した電荷量が蓄積可能な限界を越えてし
まったり、演算処理可能な範囲を越えてしまって適切な
レベルのデータが得らない。そこでコントラストがイメ
ージセンサーアレイ全体に分布する通常の場合を想定し
て蓄積時間を設定する様にしている。
【0060】それでは図12により本発明の焦点検出装
置の全体の動作を説明する。ステップ1201・焦点検
出動作を開始するときには従来の技術の項で説明したス
キャン動作を許可するものとする。ステップ1202・
ハードAGCによってイメージセンサーアレイA、B、
C、Dの蓄積を行いそれぞれの電荷蓄積信号Da[i] 、
Db[i] 、Dc[i] 、Dd[i] を得る。
置の全体の動作を説明する。ステップ1201・焦点検
出動作を開始するときには従来の技術の項で説明したス
キャン動作を許可するものとする。ステップ1202・
ハードAGCによってイメージセンサーアレイA、B、
C、Dの蓄積を行いそれぞれの電荷蓄積信号Da[i] 、
Db[i] 、Dc[i] 、Dd[i] を得る。
【0061】ステップ1203・電荷蓄積信号Da[i]
、Db[i] 、Dc[i] 、Dd[i] を用いてデフォーカ
ス量算出アルゴリズムを実行する。アルゴリズムの詳し
い内容については図2、図3を用いて後述する。ステッ
プ1204・デフォーカス量算出アルゴリズムによって
デフォーカス量が得られたか否かを見て、得られた場合
にはデフォーカス量に基づくレンズ駆動を開始し(ステ
ップ1214)、以後のスキャン動作を禁止し(ステッ
プ1215)、使用者が操作を中断したり、撮影レンズ
10が合焦状態になった等の理由により動作を中止しな
ければならない場合にはレンズを停止して動作を終了し
(ステップ1216)、終了しないのならばステップ1
209へ進んで蓄積、デフォーカス量算出アルゴリズム
実行といった動作を繰り返す。
、Db[i] 、Dc[i] 、Dd[i] を用いてデフォーカ
ス量算出アルゴリズムを実行する。アルゴリズムの詳し
い内容については図2、図3を用いて後述する。ステッ
プ1204・デフォーカス量算出アルゴリズムによって
デフォーカス量が得られたか否かを見て、得られた場合
にはデフォーカス量に基づくレンズ駆動を開始し(ステ
ップ1214)、以後のスキャン動作を禁止し(ステッ
プ1215)、使用者が操作を中断したり、撮影レンズ
10が合焦状態になった等の理由により動作を中止しな
ければならない場合にはレンズを停止して動作を終了し
(ステップ1216)、終了しないのならばステップ1
209へ進んで蓄積、デフォーカス量算出アルゴリズム
実行といった動作を繰り返す。
【0062】このときに図22(b) のタイミングチャー
トに示すようにレンズ駆動の最中に蓄積、演算を繰り返
してレンズ駆動の目標となるデフォーカス量をその都度
変更していく事により従来の技術の項で述べたオーバー
ラップサーボが実現される。焦点検出アルゴリズムによ
って焦点検出不能判定されてデフォーカス量が得られ無
かったときにはステップ1205へ進む。
トに示すようにレンズ駆動の最中に蓄積、演算を繰り返
してレンズ駆動の目標となるデフォーカス量をその都度
変更していく事により従来の技術の項で述べたオーバー
ラップサーボが実現される。焦点検出アルゴリズムによ
って焦点検出不能判定されてデフォーカス量が得られ無
かったときにはステップ1205へ進む。
【0063】ステップ1205・電荷蓄積信号の内の最
大値DMaxが所定の範囲内にあるか否かを見て、所定
の範囲内にあればステップ1202のハードAGCで得
られた電荷蓄積信号は適切なレベルのデータであったの
で焦点検出不能であったのは撮影レンズ10が合焦から
非常に大きくはずれている場合が考えられるので、撮影
レンズ10をレンズを所定方向に駆動しながら蓄積、演
算を繰り返してデフォーカス量が得られるレンズ位置を
捜すいわゆるスキャン動作を行うべくステップ1209
へ進む。
大値DMaxが所定の範囲内にあるか否かを見て、所定
の範囲内にあればステップ1202のハードAGCで得
られた電荷蓄積信号は適切なレベルのデータであったの
で焦点検出不能であったのは撮影レンズ10が合焦から
非常に大きくはずれている場合が考えられるので、撮影
レンズ10をレンズを所定方向に駆動しながら蓄積、演
算を繰り返してデフォーカス量が得られるレンズ位置を
捜すいわゆるスキャン動作を行うべくステップ1209
へ進む。
【0064】最大値DMaxが所定の範囲内にない場合
には例えば被写体が図20(c) の様に白地に細い黒線一
本である為にステップ1202のハードAGCでは適切
なレベルの電荷蓄積信号が得られなかった為に焦点検出
不能となったと考えられるので、この場合にはスキャン
動作に入らずにステップ1206へ進んでソフトAGC
によって再度蓄積を行う。所定の範囲としては、例えば
96〜250とする。
には例えば被写体が図20(c) の様に白地に細い黒線一
本である為にステップ1202のハードAGCでは適切
なレベルの電荷蓄積信号が得られなかった為に焦点検出
不能となったと考えられるので、この場合にはスキャン
動作に入らずにステップ1206へ進んでソフトAGC
によって再度蓄積を行う。所定の範囲としては、例えば
96〜250とする。
【0065】ステップ1206・数式9に基づいて蓄積
時間を決定するソフトAGCによって蓄積を行い、電荷
蓄積信号Da[i] 、Db[i] 、Dc[i] 、Dd[i] を得
る。この場合には最大値DMaxはほぼ目標値WMax
に等しくなるはずである。ステップ1207・電荷蓄積
信号Da[i] 、Db[i] 、Dc[i] 、Dd[i] を用いて
デフォーカス量算出アルゴリズムを実行する。
時間を決定するソフトAGCによって蓄積を行い、電荷
蓄積信号Da[i] 、Db[i] 、Dc[i] 、Dd[i] を得
る。この場合には最大値DMaxはほぼ目標値WMax
に等しくなるはずである。ステップ1207・電荷蓄積
信号Da[i] 、Db[i] 、Dc[i] 、Dd[i] を用いて
デフォーカス量算出アルゴリズムを実行する。
【0066】ステップ1208・デフォーカス量算出ア
ルゴリズムによってデフォーカス量が得られたか否かを
見て、得られた場合にはデフォーカス量に基づくレンズ
駆動を開始し(ステップ1214)、以後のスキャン動
作を禁止し(ステップ1215)、使用者が操作を中断
したり、撮影レンズ10が合焦状態になった等の理由に
より動作を中止しなければならない場合にはレンズを停
止して動作を終了し(ステップ1216)、終了しない
のならばステップ1209へ進んで蓄積、デフォーカス
量算出アルゴリズム実行といった動作を繰り返す。
ルゴリズムによってデフォーカス量が得られたか否かを
見て、得られた場合にはデフォーカス量に基づくレンズ
駆動を開始し(ステップ1214)、以後のスキャン動
作を禁止し(ステップ1215)、使用者が操作を中断
したり、撮影レンズ10が合焦状態になった等の理由に
より動作を中止しなければならない場合にはレンズを停
止して動作を終了し(ステップ1216)、終了しない
のならばステップ1209へ進んで蓄積、デフォーカス
量算出アルゴリズム実行といった動作を繰り返す。
【0067】ステップ1206のソフトAGC電荷蓄積
信号によって適切なレベルのデータを得たのにもかかわ
らずデフォーカス量算出アルゴリズムによって焦点検出
不能判定されてデフォーカス量が得られ無かった場合に
は撮影レンズ10が合焦から非常に大きくはずれている
場合が考えられるので、撮影レンズ10をレンズを所定
方向に駆動しながら蓄積、演算を繰り返してデフォーカ
ス量が得られるレンズ位置を捜すいわゆるスキャン動作
を行うべくステップ1209へ進む。
信号によって適切なレベルのデータを得たのにもかかわ
らずデフォーカス量算出アルゴリズムによって焦点検出
不能判定されてデフォーカス量が得られ無かった場合に
は撮影レンズ10が合焦から非常に大きくはずれている
場合が考えられるので、撮影レンズ10をレンズを所定
方向に駆動しながら蓄積、演算を繰り返してデフォーカ
ス量が得られるレンズ位置を捜すいわゆるスキャン動作
を行うべくステップ1209へ進む。
【0068】ステップ1209・スキャン動作が禁止さ
れているか否かを見て、禁止されている場合、つまり以
前にデフォーカス量が得られていてステップ1214、
1215を通過している場合にはスキャンではなくてオ
ーバーラップサーボ、あるいはレンズ停止状態での通常
の動作を行うべくステップ1211へ進み、禁止されて
いない場合にはスキャン動作を実行して(ステップ12
10)ステップ1211へ進む。
れているか否かを見て、禁止されている場合、つまり以
前にデフォーカス量が得られていてステップ1214、
1215を通過している場合にはスキャンではなくてオ
ーバーラップサーボ、あるいはレンズ停止状態での通常
の動作を行うべくステップ1211へ進み、禁止されて
いない場合にはスキャン動作を実行して(ステップ12
10)ステップ1211へ進む。
【0069】ステップ1211・数式9に基づいて蓄積
時間を決定するソフトAGCによって蓄積を行い、電荷
蓄積信号Da[i] 、Db[i] 、Dc[i] 、Dd[i] を得
る。この場合には最大値DMaxはほぼ目標値WMax
に等しくなるはずである。ステップ1212・電荷蓄積
信号Da[i] 、Db[i] 、Dc[i] 、Dd[i] を用いて
デフォーカス量算出アルゴリズムを実行する。
時間を決定するソフトAGCによって蓄積を行い、電荷
蓄積信号Da[i] 、Db[i] 、Dc[i] 、Dd[i] を得
る。この場合には最大値DMaxはほぼ目標値WMax
に等しくなるはずである。ステップ1212・電荷蓄積
信号Da[i] 、Db[i] 、Dc[i] 、Dd[i] を用いて
デフォーカス量算出アルゴリズムを実行する。
【0070】ステップ1213・デフォーカス量算出ア
ルゴリズムによってデフォーカス量が得られたか否かを
見て、得られた場合にはデフォーカス量に基づくレンズ
駆動を開始し(ステップ1214)、以後のスキャン動
作を禁止し(ステップ1215)、使用者が操作を中断
したり、撮影レンズ10が合焦状態になった等の理由に
より動作を中止しなければならない場合にはレンズを停
止して動作を終了し(ステップ1216)、終了しない
のならばステップ1209へ進んで蓄積、デフォーカス
量算出アルゴリズム実行といった動作を繰り返す。デフ
ォーカス量算出アルゴリズムによって焦点検出不能判定
されてデフォーカス量が得られ無かった場合にはステッ
プ1216へ進む。
ルゴリズムによってデフォーカス量が得られたか否かを
見て、得られた場合にはデフォーカス量に基づくレンズ
駆動を開始し(ステップ1214)、以後のスキャン動
作を禁止し(ステップ1215)、使用者が操作を中断
したり、撮影レンズ10が合焦状態になった等の理由に
より動作を中止しなければならない場合にはレンズを停
止して動作を終了し(ステップ1216)、終了しない
のならばステップ1209へ進んで蓄積、デフォーカス
量算出アルゴリズム実行といった動作を繰り返す。デフ
ォーカス量算出アルゴリズムによって焦点検出不能判定
されてデフォーカス量が得られ無かった場合にはステッ
プ1216へ進む。
【0071】次に図12におけるステップ1203、1
207、1212のデフォーカス量算出アルゴリズムに
ついて説明する。これはイメージセンサー2の電荷蓄積
信号Da[i] 、Db[i] 、Dc[i] 、Dd[i] に基づい
てデフォーカス量を算出するものである。そして本実施
例では第1、2、3、4、5の計5種類のフィルター処
理データを使い分けている。
207、1212のデフォーカス量算出アルゴリズムに
ついて説明する。これはイメージセンサー2の電荷蓄積
信号Da[i] 、Db[i] 、Dc[i] 、Dd[i] に基づい
てデフォーカス量を算出するものである。そして本実施
例では第1、2、3、4、5の計5種類のフィルター処
理データを使い分けている。
【0072】第1、3、4のフィルター処理を施したデ
ータは第16図(a) の横方向の焦点検出領域を9個、縦
方向の焦点検出領域を3個の計12個のブロックに分割
され、第2、5のフィルター処理を施したデータのブロ
ック分割は第1、3、4のフィルター処理データの場合
よりも粗い横方向3個、縦方向1個の計4個のブロック
に分割している。それでは図2、図3を用いてデフォー
カス量算出アルゴリズムの動作について説明する。
ータは第16図(a) の横方向の焦点検出領域を9個、縦
方向の焦点検出領域を3個の計12個のブロックに分割
され、第2、5のフィルター処理を施したデータのブロ
ック分割は第1、3、4のフィルター処理データの場合
よりも粗い横方向3個、縦方向1個の計4個のブロック
に分割している。それでは図2、図3を用いてデフォー
カス量算出アルゴリズムの動作について説明する。
【0073】ステップ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対のデータである。
(ここで@がaの場合にはa列の電荷蓄積信号を表し、
b、c、dの場合も同様にb列、c列、d列の電荷蓄積
信号を表す事とする。以後、他のデータについてもこの
表記法を用いる)を入力する。蓄積電荷信号D@[i] は
横列86対、縦列37対の8ビットのデータである。ス
テップ202・数式10に示す被写体パターンの高周波
数成分を除去するフィルター処理を入力した蓄積電荷信
号D@[i]に対して施し、高周波カットデータH@[i]
を得る。高周波カットデータH@[i] は横列84対、縦
列35対のデータである。
【0074】
【数10】
【0075】ステップ203・被写体が暗い場合には蓄
積時間Itを最長時間Itmax としても十分な電荷蓄積
信号を得る事ができないので、図23に示すような光強
度パターンを持つ補助光を被写体に向けて発光する。こ
の場合にはステップ227へ進み、補助光を発光しない
通常の場合にはステップ204へ進む。ステップ204
・被写体パターンが低コントラスト(以後、低コンと略
す)であったり、例えば線一本といった微細なものであ
るか否かを判定し、低コン、微細な場合にはDC成分を
除去したフィルター処理を施したデータを用いた方がよ
いのでステップ227へ進み、そうではない通常の場合
にはDC成分を完全には除去しないフィルター処理を施
したデータを用いた方がよいのでステップ205へ進
む。この判定を微細パターン判別と呼ぶ事とし、この判
別方法について図13を用いて後述する。
積時間Itを最長時間Itmax としても十分な電荷蓄積
信号を得る事ができないので、図23に示すような光強
度パターンを持つ補助光を被写体に向けて発光する。こ
の場合にはステップ227へ進み、補助光を発光しない
通常の場合にはステップ204へ進む。ステップ204
・被写体パターンが低コントラスト(以後、低コンと略
す)であったり、例えば線一本といった微細なものであ
るか否かを判定し、低コン、微細な場合にはDC成分を
除去したフィルター処理を施したデータを用いた方がよ
いのでステップ227へ進み、そうではない通常の場合
にはDC成分を完全には除去しないフィルター処理を施
したデータを用いた方がよいのでステップ205へ進
む。この判定を微細パターン判別と呼ぶ事とし、この判
別方法について図13を用いて後述する。
【0076】ステップ205・数式14に示す低周波数
成分を除去する第4のフィルター処理を高周波カットデ
ータH@[i] に対して施し、横列80対、縦列31対の
第4フィルター処理データF4@[i] を得る。このフィ
ルター処理ではDC成分を完全には除去していないので
偽合焦を生じる可能性は低い。数式14ではF4@[i]
は負の値を取りえるので、そうならないように適当な所
定値を加えてやっても良い。
成分を除去する第4のフィルター処理を高周波カットデ
ータH@[i] に対して施し、横列80対、縦列31対の
第4フィルター処理データF4@[i] を得る。このフィ
ルター処理ではDC成分を完全には除去していないので
偽合焦を生じる可能性は低い。数式14ではF4@[i]
は負の値を取りえるので、そうならないように適当な所
定値を加えてやっても良い。
【0077】
【数14】
【0078】このデータは次に示す横列を第1〜9ブロ
ックの計9個、縦列を第10〜12ブロックの計3個の
基本ブロックに分割される。スポットモードではこれら
の内の4〜6、10〜12ブロックを用いる。尚、この
基本ブロックに基づいてステップ206のブロック境界
設定処理1(後述)を行うので、必ずしもこの分割によ
ってブロックが形成されるわけではない。
ックの計9個、縦列を第10〜12ブロックの計3個の
基本ブロックに分割される。スポットモードではこれら
の内の4〜6、10〜12ブロックを用いる。尚、この
基本ブロックに基づいてステップ206のブロック境界
設定処理1(後述)を行うので、必ずしもこの分割によ
ってブロックが形成されるわけではない。
【0079】 ・横列 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]が定まる。
[i]、F4c[i]のコントラスト分布に基づいてブロック
分割の境界を定めるブロック境界設定1を行う。これは
ブロックの境界にパターンのエッジ部が位置して検出不
能となったり、不安定となる事を避けるための処理であ
り、これによって横列のブロックbl=1〜9、縦列ブ
ロックbl=10〜12のそれぞれのブロックの先頭デ
ータ番号Zs[bl]と終端データ番号Ze[bl]が定まる。
【0080】詳細を図4を用いて説明する。これは第4
フィルター処理データF4@[i] に対して横列ブロック
ではa列、縦列ブロックではc列データの隣接差分の絶
対値が小さい位置に境界を設定する処理である。それで
は横列第2ブロックの場合を例として動作の説明を行
う。ステップ401・以前に定まった一つ数字が若いブ
ロック[bl−1]の終端位置Ze[bl-1]に1を加えた
位置をブロック[bl]の先端位置Zs[bl]とする(数
式15)。
フィルター処理データF4@[i] に対して横列ブロック
ではa列、縦列ブロックではc列データの隣接差分の絶
対値が小さい位置に境界を設定する処理である。それで
は横列第2ブロックの場合を例として動作の説明を行
う。ステップ401・以前に定まった一つ数字が若いブ
ロック[bl−1]の終端位置Ze[bl-1]に1を加えた
位置をブロック[bl]の先端位置Zs[bl]とする(数
式15)。
【0081】
【数15】
【0082】例えば第1ブロックの終端位置Ze[1] が
12と定まったなら第2ブロックの先端位置Zs[2]は
13となる。ステップ402・ブロックの基本終端位置
(第2ブロックでは20)を中心として±2データの範
囲で隣接差分S[i]を算出する。第2ブロックでは数
式16のようにして算出される。
12と定まったなら第2ブロックの先端位置Zs[2]は
13となる。ステップ402・ブロックの基本終端位置
(第2ブロックでは20)を中心として±2データの範
囲で隣接差分S[i]を算出する。第2ブロックでは数
式16のようにして算出される。
【0083】
【数16】
【0084】ステップ403・S[1]〜S[5]の最
大値Smax、最小値Sminを検出する。ステップ4
04・Smax−Sminが5以下であるときは基本終
端位置そのものをブロックの終端位置として処理を終了
する(ステップ406)。そうでないときにはステップ
405へ進む。
大値Smax、最小値Sminを検出する。ステップ4
04・Smax−Sminが5以下であるときは基本終
端位置そのものをブロックの終端位置として処理を終了
する(ステップ406)。そうでないときにはステップ
405へ進む。
【0085】ステップ405・Sminを与える位置を
ブロックの終端位置とする。例えばS[2]が最小の時
は19が、S[5]が最小の時は22がブロックの終端
位置Ze[2] となる。なお横列第1ブロックと縦列第1
0ブロックの先端位置Zs、および横列第9ブロックと
縦列第12ブロックの終端位置Zeは固定であるので上
記演算は必要ない。
ブロックの終端位置とする。例えばS[2]が最小の時
は19が、S[5]が最小の時は22がブロックの終端
位置Ze[2] となる。なお横列第1ブロックと縦列第1
0ブロックの先端位置Zs、および横列第9ブロックと
縦列第12ブロックの終端位置Zeは固定であるので上
記演算は必要ない。
【0086】ステップ207・ステップ210焦点検出
演算の相関量の算出におけるそれぞれのブロックの最大
シフトLrng[bl]をステップ206で定まったそれぞ
れブロック内のコントラストに基づいて設定する。コン
トラストが十分にあるブロックは焦点検出可能である可
能性が高いので最大シフト数Lrng[bl]を大きくし、
十分ではないブロックに関しては焦点検出不能となる可
能性が高いので演算時間短縮のためにLrng[bl]を小
さくする。この処理を相関演算実行判定と呼ぶ事とし、
動作を図5を用いて説明する。
演算の相関量の算出におけるそれぞれのブロックの最大
シフトLrng[bl]をステップ206で定まったそれぞ
れブロック内のコントラストに基づいて設定する。コン
トラストが十分にあるブロックは焦点検出可能である可
能性が高いので最大シフト数Lrng[bl]を大きくし、
十分ではないブロックに関しては焦点検出不能となる可
能性が高いので演算時間短縮のためにLrng[bl]を小
さくする。この処理を相関演算実行判定と呼ぶ事とし、
動作を図5を用いて説明する。
【0087】ステップ501・各ブロック毎に第4フィ
ルター処理データF4@[i] の横列ではa列、縦列では
c列の隣接差分の加算値Rs[bl]を数式17により算出
する。
ルター処理データF4@[i] の横列ではa列、縦列では
c列の隣接差分の加算値Rs[bl]を数式17により算出
する。
【0088】
【数17】
【0089】ステップ502・各ブロック毎に第4フィ
ルター処理データF4@[i] の横列ブロックではa列、
縦列ブロックではc列の最大値と最小値の差分Pt[bl]
を算出する(数式18)。
ルター処理データF4@[i] の横列ブロックではa列、
縦列ブロックではc列の最大値と最小値の差分Pt[bl]
を算出する(数式18)。
【0090】
【数18】
【0091】ステップ503・Rs[bl]が所定値CoS
tを越える場合にはそのブロックblにおける最大シフ
ト数Lrng[bl]を9とする(ステップ505)。所定
値以下の場合にはステップ504へ進む。ステップ50
4・Pt[bl]が所定値CoStを越える場合にはそのブ
ロックblにおける最大シフト数Lrng[bl]を9とす
る(ステップ505)。所定値以下の場合にはステップ
506へ進む。
tを越える場合にはそのブロックblにおける最大シフ
ト数Lrng[bl]を9とする(ステップ505)。所定
値以下の場合にはステップ504へ進む。ステップ50
4・Pt[bl]が所定値CoStを越える場合にはそのブ
ロックblにおける最大シフト数Lrng[bl]を9とす
る(ステップ505)。所定値以下の場合にはステップ
506へ進む。
【0092】ステップ506・そのブロックblの最大
シフト数Lrng[bl]を4とする。ステップ208・ス
テップ210の焦点検出演算で用いる信頼性判定のしき
い値を設定する。詳細は図6を用いて後述する。ステッ
プ209・それぞれのブロックについて、EEPROM
に記憶されている組み込み誤差Z[bl]とステップ206
で定まったブロックにおけるコントラストの重心位置に
基づいてステップ210焦点検出演算で用いる組み込み
誤差補正量ZL[bl]を算出する。
シフト数Lrng[bl]を4とする。ステップ208・ス
テップ210の焦点検出演算で用いる信頼性判定のしき
い値を設定する。詳細は図6を用いて後述する。ステッ
プ209・それぞれのブロックについて、EEPROM
に記憶されている組み込み誤差Z[bl]とステップ206
で定まったブロックにおけるコントラストの重心位置に
基づいてステップ210焦点検出演算で用いる組み込み
誤差補正量ZL[bl]を算出する。
【0093】組み込み誤差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]とする。
ロック境界設定1の処理を行わずにブロック分割をステ
ップ205に表記した基本ブロック分割とし、被写体と
しては例えば基本ブロックの幅に対して十分に細かい周
期を有する白黒の格子パターンを用いて測定している。
従って組み込み誤差量Z[bl]は基本ブロックの中心位置
の組み込み誤差値を表していると考えられるので、被写
体パターンがブロック端部に存在する場合に組み込み誤
差量Z[bl]をそのまま補正量として使用すると正しい補
正が行われない。そこでステップ206で定まったブロ
ック範囲におけるコントラストの重心位置に相当する組
み込み誤差をそのブロックblの組み込み誤差Z[bl]と
そのとなりのブロックbl+1の組み込み誤差Z[bl+
1]、またはブロックbl−1の組み込み誤差Z[bl-1]か
ら補間する事によりによって算出し、これを組み込み誤
差補正量ZL[bl]とする。
【0094】誤差補正量ZL[bl]はステップ206のブ
ロック境界設定1によって定まった各ブロックにおいて
横列ブロックではa列、縦列ブロックではc列のコント
ラストの重心Mk[bl]を数式19により求め、この重心
Mk[bl]と基本ブロックの中心画素番号Bm[bl]から数
式20によって算出される。
ロック境界設定1によって定まった各ブロックにおいて
横列ブロックではa列、縦列ブロックではc列のコント
ラストの重心Mk[bl]を数式19により求め、この重心
Mk[bl]と基本ブロックの中心画素番号Bm[bl]から数
式20によって算出される。
【0095】
【数19】
【0096】
【数20】
【0097】ステップ210・ステップ206で定まっ
た各ブロック毎にデフォーカス量Df[1] 〜[12]を算出
する。詳細は図8、9、10を用いて後述する。ステッ
プ211・少なくとも一つの以上のブロックにおいてデ
フォーカス量が算出されたか否かを見て、算出された場
合にはステップ212へ進み、全てのブロックにおいて
デフォーカス量が算出できなかった場合にはステップ2
14ヘ進む。
た各ブロック毎にデフォーカス量Df[1] 〜[12]を算出
する。詳細は図8、9、10を用いて後述する。ステッ
プ211・少なくとも一つの以上のブロックにおいてデ
フォーカス量が算出されたか否かを見て、算出された場
合にはステップ212へ進み、全てのブロックにおいて
デフォーカス量が算出できなかった場合にはステップ2
14ヘ進む。
【0098】ステップ212・被写体パターンが低コ
ン、微細ではないとき、つまりコントラスト分布が全体
的に分布しているのに一つのブロックでしかデフォーカ
ス量が算出されない時に、この唯一つのデフォーカス量
が正しい値を示していない事があり、レンズが合焦から
大きくはずれているにもかかわらず、合焦したとしてレ
ンズが停止するいわゆる偽合焦が生じる事がある。そこ
でデフォーカス量が得られたブロックが唯一つの時には
ステップ213へ進んでこの偽合焦の対策を行う。複数
のブロックでデフォーカス量が得られた場合には偽合焦
対策が必要ないのでステップ240へ進む。
ン、微細ではないとき、つまりコントラスト分布が全体
的に分布しているのに一つのブロックでしかデフォーカ
ス量が算出されない時に、この唯一つのデフォーカス量
が正しい値を示していない事があり、レンズが合焦から
大きくはずれているにもかかわらず、合焦したとしてレ
ンズが停止するいわゆる偽合焦が生じる事がある。そこ
でデフォーカス量が得られたブロックが唯一つの時には
ステップ213へ進んでこの偽合焦の対策を行う。複数
のブロックでデフォーカス量が得られた場合には偽合焦
対策が必要ないのでステップ240へ進む。
【0099】ステップ213・ステップ212で説明し
た偽合焦を防止する偽合焦対策を行う。詳細は図11を
用いて後述する。ステップ214・ステップ211で第
4フィルター処理データによる焦点検出演算ですべての
ブロックにおいて検出不能であった場合に、これがa列
とb列、またはc列とd列で電荷蓄積信号にDC的なバ
ランスの乱れが生じた事に起因するものか否かを判定す
る。判定方法は後述する。バランス乱れであると判定し
た場合にはDC成分を除去したフィルター処理を施した
データを用いる必要があるのでステップ220へ、そう
でない場合にはステップ215へ進む。
た偽合焦を防止する偽合焦対策を行う。詳細は図11を
用いて後述する。ステップ214・ステップ211で第
4フィルター処理データによる焦点検出演算ですべての
ブロックにおいて検出不能であった場合に、これがa列
とb列、またはc列とd列で電荷蓄積信号にDC的なバ
ランスの乱れが生じた事に起因するものか否かを判定す
る。判定方法は後述する。バランス乱れであると判定し
た場合にはDC成分を除去したフィルター処理を施した
データを用いる必要があるのでステップ220へ、そう
でない場合にはステップ215へ進む。
【0100】ステップ215・第4フィルター処理デー
タによる演算が不能であったのはバランス乱れではない
と判定された場合には、被写体のパターンが第4フィル
ター処理データの抽出する周波数成分よりも低周波であ
るか、あるいは現在のデフォーカス量が非常に大きくて
ステップ207で設定された最大シフト数では検出でき
なかったと考えられる。そこで第4フィルター処理デー
タF4@[i] に対して数式21に示す第5のフィルター
処理を施して、横列37対、縦列13対の第5フィルタ
ー処理データF5@[i] を得る。
タによる演算が不能であったのはバランス乱れではない
と判定された場合には、被写体のパターンが第4フィル
ター処理データの抽出する周波数成分よりも低周波であ
るか、あるいは現在のデフォーカス量が非常に大きくて
ステップ207で設定された最大シフト数では検出でき
なかったと考えられる。そこで第4フィルター処理デー
タF4@[i] に対して数式21に示す第5のフィルター
処理を施して、横列37対、縦列13対の第5フィルタ
ー処理データF5@[i] を得る。
【0101】
【数21】
【0102】第5フィルター処理データは第4フィルタ
ー処理データに対してより低周波な成分を抽出するもの
であり(DC成分は残っている)、さらにデータを一つ
おきに間引いているので焦点検出演算において相関量を
算出する際の1シフトが第4フィルター処理データにお
ける2シフトに相当する事になり、最大シフト数をそれ
ほど大きくしなくとも大きなデフォーカス量を検出する
事が出来る。
ー処理データに対してより低周波な成分を抽出するもの
であり(DC成分は残っている)、さらにデータを一つ
おきに間引いているので焦点検出演算において相関量を
算出する際の1シフトが第4フィルター処理データにお
ける2シフトに相当する事になり、最大シフト数をそれ
ほど大きくしなくとも大きなデフォーカス量を検出する
事が出来る。
【0103】このデータを次に示す様に横列を第13〜
15ブロックの計3個、縦列を第16ブロックの計1個
の基本ブロックに分割する。スポットモードではこれら
の内の14、16ブロックを用いる。この第5フィルタ
ー処理データに対してはステップ206で説明したよう
なブロック境界設定処理1は行わずに基本ブロックをそ
のまま固定的に用いる。
15ブロックの計3個、縦列を第16ブロックの計1個
の基本ブロックに分割する。スポットモードではこれら
の内の14、16ブロックを用いる。この第5フィルタ
ー処理データに対してはステップ206で説明したよう
なブロック境界設定処理1は行わずに基本ブロックをそ
のまま固定的に用いる。
【0104】 ・横列 13ブロック・・Zs[13]= 2、Ze[13]=1314ブロック ・・ Zs[14]=14、Ze[14]=24 15ブロック ・・ Zs[15]=25、Ze[15]=36 ・縦列 16ブロック・・Zs[16]= 2、Ze[16]=12 ここでステップ206の境界設定処理を行わないのは被
写体がなだらかな低周波パターンであるか、あるいはデ
フォーカス量が大きくてぼけたパターンであるのでブロ
ックの境界を移動する意味がほとんどないためである。
そして焦点検出演算における最大シフト数Lrng[bl]
はステップ207の相関演算実行判定は行わずにそれぞ
れ以下のように固定する。
写体がなだらかな低周波パターンであるか、あるいはデ
フォーカス量が大きくてぼけたパターンであるのでブロ
ックの境界を移動する意味がほとんどないためである。
そして焦点検出演算における最大シフト数Lrng[bl]
はステップ207の相関演算実行判定は行わずにそれぞ
れ以下のように固定する。
【0105】 ・横列 13ブロック ・・ Lrng[13]=12 14ブロック・・Lrng[14]=21 15ブロック・・Lrng[15]=12 ・縦列 16ブロック・・Lrng[16]=7 ステップ216・ステップ218の焦点検出演算で用い
る信頼性判定のしきい値を設定する。詳細は図6を用い
て後述する。
る信頼性判定のしきい値を設定する。詳細は図6を用い
て後述する。
【0106】ステップ217・それぞれのブロックにつ
いて、EEPROMに記憶されている組み込み誤差Z[b
l]とステップ215で定まったブロックにおけるコント
ラストの重心位置に基づいてステップ218焦点検出演
算で用いる組み込み誤差補正量ZL[bl]を算出する。算
出方法はステップ209と同様であり、ステップ215
のブロック境界設定1によって定まった各ブロックにお
いて横列ブロックではa列、縦列ブロックではc列のコ
ントラストの重心Mk[bl]を数式22により求め、この
重心Mk[bl]と基本ブロックの中心画素番号Bm[bl]か
ら数式23によって算出される。
いて、EEPROMに記憶されている組み込み誤差Z[b
l]とステップ215で定まったブロックにおけるコント
ラストの重心位置に基づいてステップ218焦点検出演
算で用いる組み込み誤差補正量ZL[bl]を算出する。算
出方法はステップ209と同様であり、ステップ215
のブロック境界設定1によって定まった各ブロックにお
いて横列ブロックではa列、縦列ブロックではc列のコ
ントラストの重心Mk[bl]を数式22により求め、この
重心Mk[bl]と基本ブロックの中心画素番号Bm[bl]か
ら数式23によって算出される。
【0107】
【数22】
【0108】
【数23】
【0109】縦列に関してはブロックが一つしかないの
で組み込み誤差補正量ZL[16]としてEEPROM内の
組み込み誤差量Z[16]をそのまま用いる(数式24)。
で組み込み誤差補正量ZL[16]としてEEPROM内の
組み込み誤差量Z[16]をそのまま用いる(数式24)。
【0110】
【数24】
【0111】また、第5フィルター処理データの場合に
は被写体がなだらかな低周波パターンであるか、あるい
はデフォーカス量が大きくてぼけたパターンであるので
コントラストが広範囲に分布するので、横列ブロック1
3〜15でも組み込み誤差補正量ZL[bl]としてEEP
ROM内の組み込み誤差量Z[bl]をそのまま用いても問
題は少ない(数式25)。
は被写体がなだらかな低周波パターンであるか、あるい
はデフォーカス量が大きくてぼけたパターンであるので
コントラストが広範囲に分布するので、横列ブロック1
3〜15でも組み込み誤差補正量ZL[bl]としてEEP
ROM内の組み込み誤差量Z[bl]をそのまま用いても問
題は少ない(数式25)。
【0112】
【数25】
【0113】ステップ218・ステップ215で設定し
た各ブロック毎にデフォーカス量Df[13]〜[16]を算出
する。詳細は図8、9、10を用いて後述する。ステッ
プ219・少なくとも一つの以上のブロックにおいてデ
フォーカス量が算出されたかどうかを見て、算出された
場合にはステップ240のグループ合成(詳細は後述)
へ進み、全てのブロックにおいてデフォーカス量が算出
できなかった場合には焦点検出不能とする(ステップ2
41)。
た各ブロック毎にデフォーカス量Df[13]〜[16]を算出
する。詳細は図8、9、10を用いて後述する。ステッ
プ219・少なくとも一つの以上のブロックにおいてデ
フォーカス量が算出されたかどうかを見て、算出された
場合にはステップ240のグループ合成(詳細は後述)
へ進み、全てのブロックにおいてデフォーカス量が算出
できなかった場合には焦点検出不能とする(ステップ2
41)。
【0114】ステップ220・ステップ214で第4フ
ィルター処理データによる演算が不能であったのはバラ
ンス乱れによると判定された場合にその後に前述した第
5フィルター処理データによる焦点検出演算を行っても
バランス乱れのために不能となるので、この場合にはD
Cを完全に除去するフィルター処理を行って焦点演出演
算を再度行わなければならない。そこで数式26に示す
DC成分を完全に除去する第3のフィルター処理を第4
フィルター処理データF4@[i] に対して施し、横列7
6対、縦列27対の第3フィルター処理データF3@
[i] を得る。
ィルター処理データによる演算が不能であったのはバラ
ンス乱れによると判定された場合にその後に前述した第
5フィルター処理データによる焦点検出演算を行っても
バランス乱れのために不能となるので、この場合にはD
Cを完全に除去するフィルター処理を行って焦点演出演
算を再度行わなければならない。そこで数式26に示す
DC成分を完全に除去する第3のフィルター処理を第4
フィルター処理データF4@[i] に対して施し、横列7
6対、縦列27対の第3フィルター処理データF3@
[i] を得る。
【0115】
【数26】
【0116】数式26ではF3@[i] は負の値を取りえ
るので、そうならないように適当な所定値を加えてやっ
ても良い。このデータは次に示す横列を第1〜9ブロッ
クの計9個、縦列を第10〜12ブロックの計3個の基
本ブロックに分割される。スポットモードではこれらの
内の4〜6、10〜12ブロックを用いる。尚、この基
本ブロックに基づいてステップ221のブロック境界設
定処理2(後述)を行うので、必ずしもこの分割によっ
てブロックが形成されるわけではない。
るので、そうならないように適当な所定値を加えてやっ
ても良い。このデータは次に示す横列を第1〜9ブロッ
クの計9個、縦列を第10〜12ブロックの計3個の基
本ブロックに分割される。スポットモードではこれらの
内の4〜6、10〜12ブロックを用いる。尚、この基
本ブロックに基づいてステップ221のブロック境界設
定処理2(後述)を行うので、必ずしもこの分割によっ
てブロックが形成されるわけではない。
【0117】 ・横列 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]が定まる。
[i]、F3c[i]のコントラスト分布に基づいてブロック
分割の境界を定めるブロック境界設定2を行う。これは
ブロックの境界にパターンのエッジ部が位置して検出不
能となったり、不安定となる事を避けるための処理であ
り、これによって横列のブロックbl=1〜9、縦列ブ
ロックbl=10〜12のそれぞれのブロックの先頭デ
ータ番号Zs[bl]と終端データ番号Ze[bl]が定まる。
【0118】第3のフィルター処理は微分型のフィルタ
ーであり、フィルター処理を行う前のデータの変化がな
い部分では第3フィルター処理データF3@[i] は0と
なり、データの変化が存在する部分では0以外の値をと
る(ただしF3@[i] が負の値にならないように所定値
を加えた場合には0ではなくてその所定値となる)。そ
こでブロック境界設定2では第4フィルター処理データ
F4@[i] に対して行ったブロック境界設定1(ステッ
プ206)のようにデータの隣接差分の絶対値が小さい
位置に境界を設定するのではなくて、フィルター処理前
のデータの変化がない部分を表す0の値にもっとも近い
位置にブロックの境界を設定するものである。
ーであり、フィルター処理を行う前のデータの変化がな
い部分では第3フィルター処理データF3@[i] は0と
なり、データの変化が存在する部分では0以外の値をと
る(ただしF3@[i] が負の値にならないように所定値
を加えた場合には0ではなくてその所定値となる)。そ
こでブロック境界設定2では第4フィルター処理データ
F4@[i] に対して行ったブロック境界設定1(ステッ
プ206)のようにデータの隣接差分の絶対値が小さい
位置に境界を設定するのではなくて、フィルター処理前
のデータの変化がない部分を表す0の値にもっとも近い
位置にブロックの境界を設定するものである。
【0119】本処理は横列ブロックではa列、縦列ブロ
ックではc列データを用いて行う。それでは横列第2ブ
ロックの場合を例として図14を用いて動作の説明す
る。ステップ411・以前に定まった一つ数字が若いブ
ロック[bl−1]の終端位置Ze[bl-1]に1を加えた
位置をブロック[bl]の先端位置Zs[bl]とする(数
式27)。
ックではc列データを用いて行う。それでは横列第2ブ
ロックの場合を例として図14を用いて動作の説明す
る。ステップ411・以前に定まった一つ数字が若いブ
ロック[bl−1]の終端位置Ze[bl-1]に1を加えた
位置をブロック[bl]の先端位置Zs[bl]とする(数
式27)。
【0120】
【数27】
【0121】例えば第1ブロックの終端位置Ze[1] が
10と定まったなら第2ブロックの先端位置Zs[2] は
11となる。ステップ412・ブロックの基本終端位置
(第2ブロックでは18)を中心として−2〜+3デー
タの範囲で0との差の絶対値Dv[1〜6]を算出す
る。第2ブロックでは数式28のようにして算出され
る。
10と定まったなら第2ブロックの先端位置Zs[2] は
11となる。ステップ412・ブロックの基本終端位置
(第2ブロックでは18)を中心として−2〜+3デー
タの範囲で0との差の絶対値Dv[1〜6]を算出す
る。第2ブロックでは数式28のようにして算出され
る。
【0122】
【数28】
【0123】もしステップ220においてF3@[i] が
負の数値とならぬ様に数式26によって得られたF3@
[i] に対して所定値を加えた場合には、数式28におい
て0を引くのではなくて該所定値を引くようにする。
ステップ413・Dv[1〜6]の隣接データの和Ws
[1〜5]を算出する。第2ブロックでは数式29のよ
うにして算出される。
負の数値とならぬ様に数式26によって得られたF3@
[i] に対して所定値を加えた場合には、数式28におい
て0を引くのではなくて該所定値を引くようにする。
ステップ413・Dv[1〜6]の隣接データの和Ws
[1〜5]を算出する。第2ブロックでは数式29のよ
うにして算出される。
【0124】
【数29】
【0125】ステップ414・Ws[1〜5]の最大値
Wmax、最小値Wminを検出する。ステップ415
・最大値Wmaxが10以下の時には基本終端位置その
ものをブロック終端位置Ze[2] とする(ステップ42
1)。10よりも大きいときにはステップ416へ進
む。
Wmax、最小値Wminを検出する。ステップ415
・最大値Wmaxが10以下の時には基本終端位置その
ものをブロック終端位置Ze[2] とする(ステップ42
1)。10よりも大きいときにはステップ416へ進
む。
【0126】ステップ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,4
20)。例えばWs[1]の方が小さければ16が、W
s[5]の方が小さければ20が第2ブロックの終端位
置Ze[2] となる。両者が等しい場合にはWs[1]の
方が小さいとして扱う事とする。
下のときには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,4
20)。例えばWs[1]の方が小さければ16が、W
s[5]の方が小さければ20が第2ブロックの終端位
置Ze[2] となる。両者が等しい場合にはWs[1]の
方が小さいとして扱う事とする。
【0127】なお横列第1ブロックと縦列第10ブロッ
クの先端位置Zs、および横列第9ブロックと縦列第1
2ブロックの終端位置Zeは固定であるので上記演算は
必要ない。 ステップ222・ステップ225焦点検出
演算の相関量の算出におけるそれぞれのブロックの最大
シフト数Lrng[bl]をステップ221で定まったそれ
ぞれブロック内のコントラストに基づいて設定する。内
容はステップ207と同様であり、数式17、18にお
いてF4@[i] の代わりにF3@[i]を用いる。
クの先端位置Zs、および横列第9ブロックと縦列第1
2ブロックの終端位置Zeは固定であるので上記演算は
必要ない。 ステップ222・ステップ225焦点検出
演算の相関量の算出におけるそれぞれのブロックの最大
シフト数Lrng[bl]をステップ221で定まったそれ
ぞれブロック内のコントラストに基づいて設定する。内
容はステップ207と同様であり、数式17、18にお
いてF4@[i] の代わりにF3@[i]を用いる。
【0128】ステップ223・ステップ225の焦点検
出演算で用いる信頼性判定のしきい値を設定する。詳細
は図6を用いて後述する。ステップ224・それぞれの
ブロックについて、EEPROMに記憶されている組み
込み誤差Z[bl]とステップ221で定まったブロックに
おけるコントラストの重心位置に基づいてステップ22
5焦点検出演算で用いる組み込み誤差補正量ZL[bl]を
算出する。内容はステップ209と同様であり、数式1
9においてF4@[i] の代わりにF3@[i] を用いる。
出演算で用いる信頼性判定のしきい値を設定する。詳細
は図6を用いて後述する。ステップ224・それぞれの
ブロックについて、EEPROMに記憶されている組み
込み誤差Z[bl]とステップ221で定まったブロックに
おけるコントラストの重心位置に基づいてステップ22
5焦点検出演算で用いる組み込み誤差補正量ZL[bl]を
算出する。内容はステップ209と同様であり、数式1
9においてF4@[i] の代わりにF3@[i] を用いる。
【0129】ステップ225・ステップ221で定まっ
た各ブロック毎にデフォーカス量Df[1] 〜[12]を算出
する。詳細は図8、9、10を用いて後述する。ステッ
プ226・少なくとも一つの以上のブロックにおいてデ
フォーカス量が算出されたかどうかを見て、算出された
場合にはステップ240のグループ合成(詳細は後述)
へ進み、全てのブロックにおいてデフォーカス量が算出
できなかった場合には焦点検出不能とする(ステップ2
41)。
た各ブロック毎にデフォーカス量Df[1] 〜[12]を算出
する。詳細は図8、9、10を用いて後述する。ステッ
プ226・少なくとも一つの以上のブロックにおいてデ
フォーカス量が算出されたかどうかを見て、算出された
場合にはステップ240のグループ合成(詳細は後述)
へ進み、全てのブロックにおいてデフォーカス量が算出
できなかった場合には焦点検出不能とする(ステップ2
41)。
【0130】ステップ227・数式30に示す低周波数
成分を除去する第1のフィルター処理を高周波カットデ
ータH@[i] に対して施し、横列80対、縦列31対の
第1フィルター処理データF1@[i] を得る。
成分を除去する第1のフィルター処理を高周波カットデ
ータH@[i] に対して施し、横列80対、縦列31対の
第1フィルター処理データF1@[i] を得る。
【0131】
【数30】
【0132】このフィルター処理ではDC成分を完全に
除去してるのでコントラストが全体的に分布している通
常の被写体では偽合焦を生じる可能性が高いが微細なパ
ターンに対しては高い精度を得る事が出来る。数式30
ではF1@[i] は負の値を取りえるので、そうならない
ように適当な所定値を加えてやっても良い。このデータ
は次に示す横列を第1〜9ブロックの計9個、縦列を第
10〜12ブロックの計3個の基本ブロックに分割され
る。スポットモードではこれらの内の4〜6、10〜1
2ブロックを用いる。尚、この基本ブロックに基づいて
ステップ229のブロック境界設定処理2を行うので、
必ずしもこの分割によってブロックが形成されるわけで
はない。
除去してるのでコントラストが全体的に分布している通
常の被写体では偽合焦を生じる可能性が高いが微細なパ
ターンに対しては高い精度を得る事が出来る。数式30
ではF1@[i] は負の値を取りえるので、そうならない
ように適当な所定値を加えてやっても良い。このデータ
は次に示す横列を第1〜9ブロックの計9個、縦列を第
10〜12ブロックの計3個の基本ブロックに分割され
る。スポットモードではこれらの内の4〜6、10〜1
2ブロックを用いる。尚、この基本ブロックに基づいて
ステップ229のブロック境界設定処理2を行うので、
必ずしもこの分割によってブロックが形成されるわけで
はない。
【0133】 ・横列 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へ進む。
かを見る。補助光発光の場合には発光する補助光のパタ
ーンが図23に示すように滑らかものであるので高周波
成分をあまり含まず、低周波成分を多く含む。そこで高
周波成分を多く含む被写体パターンに適した第1フィル
ター処理データF1@[i] による焦点検出演算は行わず
に第1フィルター処理データF1@[i] に対して第2の
フィルター処理を行って低周波成分を多く含む被写体パ
ターンに適した第2フィルター処理データF2@[i] を
得るべくステップ235へ進む。低コン微細の場合には
ステップ229へ進む。
【0134】ステップ229・第1フィルター処理デー
タF1a[i] 、F1c[i] のコントラスト分布に基づい
てブロック分割の境界を定めるブロック境界設定2を行
う。内容はステップ221と同様であり、数式28にお
いてF3@[i] の代わりにF1@[i] を用いる。
タF1a[i] 、F1c[i] のコントラスト分布に基づい
てブロック分割の境界を定めるブロック境界設定2を行
う。内容はステップ221と同様であり、数式28にお
いてF3@[i] の代わりにF1@[i] を用いる。
【0135】ステップ230・ステップ233焦点検出
演算の相関量の算出におけるそれぞれのブロックの最大
シフト数Lrng[bl]をステップ229で定まったそれ
ぞれブロック内のコントラストに基づいて設定する。内
容はステップ207と同様であり、数式17、18にお
いてF4@[i] の代わりにF1@[i] を用いる。 ステ
ップ231・ステップ233の焦点検出演算で用いる信
頼性判定のしきい値を設定する。詳細は図6を用いて後
述する。
演算の相関量の算出におけるそれぞれのブロックの最大
シフト数Lrng[bl]をステップ229で定まったそれ
ぞれブロック内のコントラストに基づいて設定する。内
容はステップ207と同様であり、数式17、18にお
いてF4@[i] の代わりにF1@[i] を用いる。 ステ
ップ231・ステップ233の焦点検出演算で用いる信
頼性判定のしきい値を設定する。詳細は図6を用いて後
述する。
【0136】ステップ232・それぞれのブロックにつ
いて、EEPROMに記憶されている組み込み誤差Z[b
l]とステップ229で定まったブロックにおけるコント
ラストの重心位置に基づいてステップ233焦点検出演
算で用いる組み込み誤差補正量ZL[bl]を算出する。内
容はステップ209と同様であり、数式19においてF
4@[i] の代わりにF1@[i] を用いる。
いて、EEPROMに記憶されている組み込み誤差Z[b
l]とステップ229で定まったブロックにおけるコント
ラストの重心位置に基づいてステップ233焦点検出演
算で用いる組み込み誤差補正量ZL[bl]を算出する。内
容はステップ209と同様であり、数式19においてF
4@[i] の代わりにF1@[i] を用いる。
【0137】ステップ233・ステップ229で定まっ
た各ブロック毎にデフォーカス量Df[1] 〜[12]を算出
する。詳細は図8、9、10を用いて後述する。ステッ
プ234・少なくとも一つの以上のブロックにおいてデ
フォーカス量が算出されたかどうかを見て、算出された
場合にはステップ240のグループ合成(詳細は後述)
へ進み、全てのブロックにおいてデフォーカス量が算出
できなかった場合にはステップ235へ進む。
た各ブロック毎にデフォーカス量Df[1] 〜[12]を算出
する。詳細は図8、9、10を用いて後述する。ステッ
プ234・少なくとも一つの以上のブロックにおいてデ
フォーカス量が算出されたかどうかを見て、算出された
場合にはステップ240のグループ合成(詳細は後述)
へ進み、全てのブロックにおいてデフォーカス量が算出
できなかった場合にはステップ235へ進む。
【0138】ステップ235・第1フィルター処理デー
タによる演算が不能であったのは被写体のパターンが第
1フィルター処理データの抽出する周波数成分よりも低
周波であるか、あるいは現在のデフォーカス量が非常に
大きくてステップ230で設定された最大シフト数では
検出できなかったと考えられる。そこで第1フィルター
処理データF1@[i] に対して数式31に示す第2のフ
ィルター処理を施して、横列37対、縦列13対の第2
フィルター処理データF2@[i] を得る。
タによる演算が不能であったのは被写体のパターンが第
1フィルター処理データの抽出する周波数成分よりも低
周波であるか、あるいは現在のデフォーカス量が非常に
大きくてステップ230で設定された最大シフト数では
検出できなかったと考えられる。そこで第1フィルター
処理データF1@[i] に対して数式31に示す第2のフ
ィルター処理を施して、横列37対、縦列13対の第2
フィルター処理データF2@[i] を得る。
【0139】
【数31】
【0140】第2フィルター処理データは第1フィルタ
ー処理データに対してより低周波な成分を抽出するもの
であり(DC成分は除去されている)、さらにデータを
一つおきに間引いているので焦点検出演算において相関
量を算出する際の1シフトが第1フィルター処理データ
における2シフトに相当する事になり、最大シフト数を
それほど大きくしなくとも大きなデフォーカス量を検出
する事が出来る。
ー処理データに対してより低周波な成分を抽出するもの
であり(DC成分は除去されている)、さらにデータを
一つおきに間引いているので焦点検出演算において相関
量を算出する際の1シフトが第1フィルター処理データ
における2シフトに相当する事になり、最大シフト数を
それほど大きくしなくとも大きなデフォーカス量を検出
する事が出来る。
【0141】このデータを次に示す様に横列を第13〜
15ブロックの計3個、縦列を第16ブロックの計1個
の基本ブロックに分割する。スポットモードではこれら
の内の14、16ブロックを用いる。この第2フィルタ
ー処理データに対してはステップ229で説明したよう
なブロック境界設定処理2は行わずに基本ブロックをそ
のまま固定的に用いる。
15ブロックの計3個、縦列を第16ブロックの計1個
の基本ブロックに分割する。スポットモードではこれら
の内の14、16ブロックを用いる。この第2フィルタ
ー処理データに対してはステップ229で説明したよう
なブロック境界設定処理2は行わずに基本ブロックをそ
のまま固定的に用いる。
【0142】 ・横列 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の相関演算実行判定は行わずにそれぞれ
以下のように固定する。
は被写体がなだらかな低周波パターンであるか、あるい
はデフォーカス量が大きくてぼけたパターンであるので
ブロックの境界を移動する意味がほとんどないためであ
る。焦点検出演算における最大シフト数Lrng[bl]は
ステップ230の相関演算実行判定は行わずにそれぞれ
以下のように固定する。
【0143】 ・横列 13ブロック・・Lrng[13]=12 14ブロック・・Lrng[14]=21 15ブロック・・Lrng[15]=12 ・縦列 16ブロック・・Lrng[16]=7 ステップ236・ステップ238の焦点検出演算で用い
る信頼性判定のしきい値を設定する。詳細は図6を用い
て後述する。
る信頼性判定のしきい値を設定する。詳細は図6を用い
て後述する。
【0144】ステップ237・それぞれのブロックにつ
いて、EEPROMに記憶されている組み込み誤差Z[b
l]とステップ235で定まったブロックにおけるコント
ラストの重心位置に基づいてステップ238焦点検出演
算で用いる組み込み誤差補正量ZL[bl]を算出する。内
容はステップ217と同様であり、数式22においてF
5@[i] の代わりにF2@[i] を用いる。
いて、EEPROMに記憶されている組み込み誤差Z[b
l]とステップ235で定まったブロックにおけるコント
ラストの重心位置に基づいてステップ238焦点検出演
算で用いる組み込み誤差補正量ZL[bl]を算出する。内
容はステップ217と同様であり、数式22においてF
5@[i] の代わりにF2@[i] を用いる。
【0145】ステップ238・ステップ235で設定し
た各ブロック毎にデフォーカス量Df[13]〜[16]を算出
する。詳細は図8、9、10を用いて後述する。ステッ
プ239・少なくとも一つの以上のブロックにおいてデ
フォーカス量が算出されたかどうかを見て、算出された
場合にはステップ240のグループ合成(詳細は後述)
へ進み、全てのブロックにおいてデフォーカス量が算出
できなかった場合には焦点検出不能とする(ステップ2
41)。
た各ブロック毎にデフォーカス量Df[13]〜[16]を算出
する。詳細は図8、9、10を用いて後述する。ステッ
プ239・少なくとも一つの以上のブロックにおいてデ
フォーカス量が算出されたかどうかを見て、算出された
場合にはステップ240のグループ合成(詳細は後述)
へ進み、全てのブロックにおいてデフォーカス量が算出
できなかった場合には焦点検出不能とする(ステップ2
41)。
【0146】ステップ240・算出されたデフォーカス
量の内、ほぼ同じ値を示すもの同士を平均処理して、新
たなデフォーカス量を算出する。これをグループ合成と
呼ぶ事とする。グループ合成の方法に関しては本出願人
よる特開平2−178614、特願平3−23654に
よって詳しく述べられているのでここでは簡単な一例に
ついて図7を用いて説明する。
量の内、ほぼ同じ値を示すもの同士を平均処理して、新
たなデフォーカス量を算出する。これをグループ合成と
呼ぶ事とする。グループ合成の方法に関しては本出願人
よる特開平2−178614、特願平3−23654に
よって詳しく述べられているのでここでは簡単な一例に
ついて図7を用いて説明する。
【0147】ここでは、最も近距離を示すデフォーカス
量(最も小さいデフォーカス量)を持つブロックと、そ
のデフォーカス量を基準として所定の範囲内の値を示す
デフォーカス量を持つブロックを最至近グループとして
まとめ、このグループに属するブロックのデフォーカス
量を平均する事により、最至近グループデフォーカス量
を得る方法を用いている。
量(最も小さいデフォーカス量)を持つブロックと、そ
のデフォーカス量を基準として所定の範囲内の値を示す
デフォーカス量を持つブロックを最至近グループとして
まとめ、このグループに属するブロックのデフォーカス
量を平均する事により、最至近グループデフォーカス量
を得る方法を用いている。
【0148】図7はデフォーカス量が第4、第3、第1
フィルターデータを用いた演算によって得られた場合の
例であり、動作は次のようにして行われる。ステップ7
01・最至近グループのデフォーカス量Gdfnを0
に、グループを形成するブロック数を表す数値Bnmを
0に初期化する。 ステップ702・最も至近を示すデ
フォーカス量を与えるブロックを検出し、そのブロック
のブロック番号をSとして記憶する。
フィルターデータを用いた演算によって得られた場合の
例であり、動作は次のようにして行われる。ステップ7
01・最至近グループのデフォーカス量Gdfnを0
に、グループを形成するブロック数を表す数値Bnmを
0に初期化する。 ステップ702・最も至近を示すデ
フォーカス量を与えるブロックを検出し、そのブロック
のブロック番号をSとして記憶する。
【0149】ステップ703・ブロック番号を表す数値
iを1にセットする。ステップ704・第iブロックの
デフォーカス量と最至近ブロックのデフォーカス量Df
[S] との差の絶対値が所定値(図7では100umとし
てある)より小さいか否かを見る。所定値以上の場合に
は第iブロックは最至近グループに属さないと判定しス
テップ706へ進む。所定値より小さいときには第iブ
ロックは最至近グループに属すと判定しステップ705
へ進む。
iを1にセットする。ステップ704・第iブロックの
デフォーカス量と最至近ブロックのデフォーカス量Df
[S] との差の絶対値が所定値(図7では100umとし
てある)より小さいか否かを見る。所定値以上の場合に
は第iブロックは最至近グループに属さないと判定しス
テップ706へ進む。所定値より小さいときには第iブ
ロックは最至近グループに属すと判定しステップ705
へ進む。
【0150】なお検出不能であるブロックに関してはそ
のブロックのデフォーカス量Df[bl]として絶対に取り
得ないような大きい数値を設定しておけば差の絶対値が
所定値より小さくなる事はないので最至近グループに属
すると誤った判断をする事がない。スポットモード時に
は使用しないブロックについてはデフォーカス量Df[b
l]として検出不能ブロックと同じ数値を設定しておけば
よい。
のブロックのデフォーカス量Df[bl]として絶対に取り
得ないような大きい数値を設定しておけば差の絶対値が
所定値より小さくなる事はないので最至近グループに属
すると誤った判断をする事がない。スポットモード時に
は使用しないブロックについてはデフォーカス量Df[b
l]として検出不能ブロックと同じ数値を設定しておけば
よい。
【0151】ステップ705・最至近グループのデフォ
ーカス量Gdfnに第iブロックのデフォーカス量Df
[i] を加えて新たにGdfnとし、グループを形成する
ブロック数を表す数値Bnmに1を加える。ステップ7
06・ブロック番号iが最終ブロック番号である12で
あるか否かを見る。12である場合には全てのブロック
について最至近グループに属するか否かの判定が終了し
た事になるのでステップ708へ進み、そうでないとき
には判定が終了していない事となるのでブロック番号i
に1を加えて(ステップ707)ステップ704へ戻
る。
ーカス量Gdfnに第iブロックのデフォーカス量Df
[i] を加えて新たにGdfnとし、グループを形成する
ブロック数を表す数値Bnmに1を加える。ステップ7
06・ブロック番号iが最終ブロック番号である12で
あるか否かを見る。12である場合には全てのブロック
について最至近グループに属するか否かの判定が終了し
た事になるのでステップ708へ進み、そうでないとき
には判定が終了していない事となるのでブロック番号i
に1を加えて(ステップ707)ステップ704へ戻
る。
【0152】ステップ708・この時点でGdfnは最
至近グループに属するブロックのデフォーカス量の総和
が格納されているので、これをグループに属するブロッ
クの総数であるBnmで割る事によって最至近グループ
のデフォーカス量Gdfnを得る。 なお、デフォーカ
ス量が第2、第5フィルターデータを用いた演算によっ
て得られた場合にはステップ703においてブロック番
号iを13にセットするように変更し、ステップ706
においてブロック番号iが16であるか否かを判定する
ように変更すれば良い。
至近グループに属するブロックのデフォーカス量の総和
が格納されているので、これをグループに属するブロッ
クの総数であるBnmで割る事によって最至近グループ
のデフォーカス量Gdfnを得る。 なお、デフォーカ
ス量が第2、第5フィルターデータを用いた演算によっ
て得られた場合にはステップ703においてブロック番
号iを13にセットするように変更し、ステップ706
においてブロック番号iが16であるか否かを判定する
ように変更すれば良い。
【0153】図12のステップ1214におけるレンズ
駆動はこのようにして得られた最至近グループデフォー
カス量Gdfnに基づいて行われる。ステップ241・
デフォーカス量算出不可能とする。以上のデフォーカス
量算出アルゴリズムの説明において、詳細の説明を省略
した事項に付いての説明を行う。
駆動はこのようにして得られた最至近グループデフォー
カス量Gdfnに基づいて行われる。ステップ241・
デフォーカス量算出不可能とする。以上のデフォーカス
量算出アルゴリズムの説明において、詳細の説明を省略
した事項に付いての説明を行う。
【0154】まず、ステップ204の微細パターン判別
に付いて説明する。これはイメージセンサーアレイの出
力のコントラスト分布に基づいて被写体パターンが図2
6(a) 、(b) の様にコントラストが焦点検出領域の一部
のみに存在するものか否かを判別するものであり、コン
トラストが焦点検出領域の一部のみに存在する場合には
DC成分を完全に除去するフィルター処理(第1、2フ
ィルター)を施したデータを用い、そうではない場合に
は偽合焦の危険性があるためDC成分を完全には除去し
ないフィルター処理(第4、5フィルターデータ)を施
したデータを用いて演算を行うようにする。
に付いて説明する。これはイメージセンサーアレイの出
力のコントラスト分布に基づいて被写体パターンが図2
6(a) 、(b) の様にコントラストが焦点検出領域の一部
のみに存在するものか否かを判別するものであり、コン
トラストが焦点検出領域の一部のみに存在する場合には
DC成分を完全に除去するフィルター処理(第1、2フ
ィルター)を施したデータを用い、そうではない場合に
は偽合焦の危険性があるためDC成分を完全には除去し
ないフィルター処理(第4、5フィルターデータ)を施
したデータを用いて演算を行うようにする。
【0155】それでは図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で算出する。
動作を説明する。ステップ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で算出する。
【0156】
【数11】
【0157】CtHは8対、CtVは9対の隣接差分の
総和となる。ここで差分の絶対値が4未満の時は0とし
て加算すると電気的なノイズの影響を避ける事が出来
る。ステップ303・横列、縦列でそれぞれピーク値H
max、Vmaxを求める(数式12)。ただしスポッ
トモードが選択されているときにはではHmaxを求め
る範囲は30〜56となる。
総和となる。ここで差分の絶対値が4未満の時は0とし
て加算すると電気的なノイズの影響を避ける事が出来
る。ステップ303・横列、縦列でそれぞれピーク値H
max、Vmaxを求める(数式12)。ただしスポッ
トモードが選択されているときにはではHmaxを求め
る範囲は30〜56となる。
【0158】
【数12】
【0159】ステップ304・次に示す条件1の判定を
行う。 条件1・・横列1〜7領域(スポットモード時は3〜
5)、縦列1〜3領域で次の条件を満たす。 ・α以上のCtH[I]が1個以下である、または2個
で且つこれらが隣接している。同様にα以上のCtV
[I]が1個以下である、または2個で且つこれらが隣
接している。
行う。 条件1・・横列1〜7領域(スポットモード時は3〜
5)、縦列1〜3領域で次の条件を満たす。 ・α以上のCtH[I]が1個以下である、または2個
で且つこれらが隣接している。同様にα以上のCtV
[I]が1個以下である、または2個で且つこれらが隣
接している。
【0160】ここでαは所定値としても良いが、次のよ
うに前回の判定結果によって可変となる値とした方が判
定結果が毎回変わる事なく安定するので好ましい。 初期状態・・・・・・・・・・・ α=16 前回低コン、微細パターン・・・α=21 前回通常・・・・・・・・・・・ α=11 ステップ305・数式13に示す条件2の判定を行う。
うに前回の判定結果によって可変となる値とした方が判
定結果が毎回変わる事なく安定するので好ましい。 初期状態・・・・・・・・・・・ α=16 前回低コン、微細パターン・・・α=21 前回通常・・・・・・・・・・・ α=11 ステップ305・数式13に示す条件2の判定を行う。
【0161】
【数13】
【0162】数式13においてβは所定値としても良い
が、次のように前回の判定結果によって可変となる値と
した方が判定結果が毎回変わる事なく安定するので好ま
しい。 初期状態・・・・・・・・・・・ β=10 前回低コン、微細パターン・・・ β=20 前回通常・・・・・・・・・・・ β=0 ステップ306・上記条件1、条件2をともに満たすか
否かを見て、ともに満たす場合には低コン、微細パター
ンであると判定し(ステップ307)、少なくとも一方
を満たさない場合には低コン、微細パターンではない通
常のパターンであると判定する(ステップ308)。
が、次のように前回の判定結果によって可変となる値と
した方が判定結果が毎回変わる事なく安定するので好ま
しい。 初期状態・・・・・・・・・・・ β=10 前回低コン、微細パターン・・・ β=20 前回通常・・・・・・・・・・・ β=0 ステップ306・上記条件1、条件2をともに満たすか
否かを見て、ともに満たす場合には低コン、微細パター
ンであると判定し(ステップ307)、少なくとも一方
を満たさない場合には低コン、微細パターンではない通
常のパターンであると判定する(ステップ308)。
【0163】このように微細パターン判別に結果により
フィルター処理を変える事により、偽合焦を防ぐと共に
微細なパターンに対しても高い演算精度を得る事が出来
る。次にステップ210、218、225、233、2
38の焦点検出演算について図8、9、10を用いて説
明する。 演算方法は特開昭60−37513に開示さ
れている方法ほぼ同じであるが、本実施例では被写体パ
ターンが周期的であるか否かを判定する周期検出が加わ
っている。
フィルター処理を変える事により、偽合焦を防ぐと共に
微細なパターンに対しても高い演算精度を得る事が出来
る。次にステップ210、218、225、233、2
38の焦点検出演算について図8、9、10を用いて説
明する。 演算方法は特開昭60−37513に開示さ
れている方法ほぼ同じであるが、本実施例では被写体パ
ターンが周期的であるか否かを判定する周期検出が加わ
っている。
【0164】また、本実施例では特開昭60−3751
3と同じように常に相関量C[L]を全シフト範囲(−
Lrng〜Lrng)について算出するのではなくてシ
フト数Lを0、1、−1、2、−2、...、Lrn
g、−Lrngという順番に変化させて相関量C[L]
を得て、従来の技術の項における数式5を満たすような
極小となる相関量が得られて、デフォーカス量を算出し
た時点で相関量演算を中止する。
3と同じように常に相関量C[L]を全シフト範囲(−
Lrng〜Lrng)について算出するのではなくてシ
フト数Lを0、1、−1、2、−2、...、Lrn
g、−Lrngという順番に変化させて相関量C[L]
を得て、従来の技術の項における数式5を満たすような
極小となる相関量が得られて、デフォーカス量を算出し
た時点で相関量演算を中止する。
【0165】このようにすると、被写体が現在合焦に近
い場合にはC[−1]、C[0]、C[1]の3個の相
関量を算出するだけでデフォーカス量が得られるので演
算時間を短縮でき、移動する被写体に追従して撮影を行
う場合等において有利である。焦点検出演算全体の動作
について図8を用いて説明する。この動作は個々のブロ
ックについて行う。
い場合にはC[−1]、C[0]、C[1]の3個の相
関量を算出するだけでデフォーカス量が得られるので演
算時間を短縮でき、移動する被写体に追従して撮影を行
う場合等において有利である。焦点検出演算全体の動作
について図8を用いて説明する。この動作は個々のブロ
ックについて行う。
【0166】ステップ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によって
定まる。
る。 ステップ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によって
定まる。
【0167】
【数32】
【0168】
【数33】
【0169】
【数34】
【0170】数式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へ進む。
下を切り捨てる関数であり、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へ進む。
【0171】ステップ811・シフト数Lが−Lrng
[bl]である場合にはすでに全シフト範囲について相関量
C[L]を算出し終わって、なおかつデフォーカス量が
得られなかった事を意味するのでそのブロックblにお
いては焦点検出不能として演算を終了し(ステップ81
0)、−Lrng[bl]ではない場合にはステップ812
へ進む。
[bl]である場合にはすでに全シフト範囲について相関量
C[L]を算出し終わって、なおかつデフォーカス量が
得られなかった事を意味するのでそのブロックblにお
いては焦点検出不能として演算を終了し(ステップ81
0)、−Lrng[bl]ではない場合にはステップ812
へ進む。
【0172】ステップ812・シフト数Lが0より大き
いかを見て、0より大きい場合にはシフト数Lの符号を
反転し(ステップ813)、0以下の場合にはシフト数
Lの符号を反転して更に1を加える(ステップ81
4)。このようにしてシフト数Lを更新する事により前
述のようにLは0、1、−1、2、−2、...、Lr
ng、−Lrngという順番に変化する。シフト数Lの
更新が終了したならばステップ802へ戻る。
いかを見て、0より大きい場合にはシフト数Lの符号を
反転し(ステップ813)、0以下の場合にはシフト数
Lの符号を反転して更に1を加える(ステップ81
4)。このようにしてシフト数Lを更新する事により前
述のようにLは0、1、−1、2、−2、...、Lr
ng、−Lrngという順番に変化する。シフト数Lの
更新が終了したならばステップ802へ戻る。
【0173】ステップ804・ステップ803でL<>
0、L<>1であると判明した場合には3点内挿演算を
行い、ずれ量Ls[bl]を算出する。3点内挿演算の動作
を詳細に付いては図9を用いて後述する。ステップ80
5・ステップ804における3点内挿演算に於いて信頼
性のあるずれ量Ls[bl]が得られたか否かを見て、得ら
れなかったときにはシフト数Lを更新すべくステップ8
11へ進み、得られたときにはステップ806へ進む。
0、L<>1であると判明した場合には3点内挿演算を
行い、ずれ量Ls[bl]を算出する。3点内挿演算の動作
を詳細に付いては図9を用いて後述する。ステップ80
5・ステップ804における3点内挿演算に於いて信頼
性のあるずれ量Ls[bl]が得られたか否かを見て、得ら
れなかったときにはシフト数Lを更新すべくステップ8
11へ進み、得られたときにはステップ806へ進む。
【0174】ステップ806・演算に用いているデータ
が第1フィルターデータ、または第2フィルターデータ
であるか否かを見て、第1、第2フィルターデータでは
ない場合には被写体パターンの周期性を判定する周期検
出を行うべくステップ807へ進み、第1、第2フィル
ターデータである場合には周期検出を行う必要がないの
でステップ809へ進む。
が第1フィルターデータ、または第2フィルターデータ
であるか否かを見て、第1、第2フィルターデータでは
ない場合には被写体パターンの周期性を判定する周期検
出を行うべくステップ807へ進み、第1、第2フィル
ターデータである場合には周期検出を行う必要がないの
でステップ809へ進む。
【0175】ステップ807・被写体パターンが周期的
であるか否かを判定する周期検出を行う。ステップ80
8・ステップ807で被写体パターンが周期的であると
判定された場合にはステップ810へ進みそのブロック
は焦点検出不能であるとして演算を終了する。周期的で
なかった場合にはステップ809へ進む。
であるか否かを判定する周期検出を行う。ステップ80
8・ステップ807で被写体パターンが周期的であると
判定された場合にはステップ810へ進みそのブロック
は焦点検出不能であるとして演算を終了する。周期的で
なかった場合にはステップ809へ進む。
【0176】ステップ809・ステップ804の3点内
挿演算において算出されたずれ量Ls[bl]に基づいてデ
フォーカス量Df[bl]を数式35により算出し、演算を
終了する。数式35においてZL[bl]は組み込み誤差補
正量、Kfct[bl]は比例係数である。
挿演算において算出されたずれ量Ls[bl]に基づいてデ
フォーカス量Df[bl]を数式35により算出し、演算を
終了する。数式35においてZL[bl]は組み込み誤差補
正量、Kfct[bl]は比例係数である。
【0177】
【数35】
【0178】図8ステップ804における3点内挿演算
は従来の技術の項で説明した方法に、バランス乱れ判定
に用いる条件判定を加えたものである。次にステップ8
04の3点内挿演算の動作を図9を用いて説明する。
ステップ901・シフト数Lが0より大きいか否かを見
て、0より大きいときにはステップ902へ、0以下の
時にはステップ903へ進む。
は従来の技術の項で説明した方法に、バランス乱れ判定
に用いる条件判定を加えたものである。次にステップ8
04の3点内挿演算の動作を図9を用いて説明する。
ステップ901・シフト数Lが0より大きいか否かを見
て、0より大きいときにはステップ902へ、0以下の
時にはステップ903へ進む。
【0179】ステップ902・3点内挿演算における中
心相関量のシフト数l(以後中心シフト数lと略す)を
シフト数Lに基づいて得る。この場合Lは0より大きい
ので既にLよりも小さいシフト数での相関量が算出され
ているのでC[L−2]、C[L−1]、C[L]の3
個の相関量で3点内挿演算を行う。よって中心シフト数
lは数式36によって得られる。
心相関量のシフト数l(以後中心シフト数lと略す)を
シフト数Lに基づいて得る。この場合Lは0より大きい
ので既にLよりも小さいシフト数での相関量が算出され
ているのでC[L−2]、C[L−1]、C[L]の3
個の相関量で3点内挿演算を行う。よって中心シフト数
lは数式36によって得られる。
【0180】
【数36】
【0181】ステップ903・ステップ902と同じよ
うに中心シフト数lをシフト数Lに基づいて得る。この
場合Lは0以下なので既にLよりも大きいシフト数での
相関量が算出されているのでC[L]、C[L+1]、
C[L+2]の3個の相関量で3点内挿演算を行う。よ
って中心シフト数lは数式37によって得られる。
うに中心シフト数lをシフト数Lに基づいて得る。この
場合Lは0以下なので既にLよりも大きいシフト数での
相関量が算出されているのでC[L]、C[L+1]、
C[L+2]の3個の相関量で3点内挿演算を行う。よ
って中心シフト数lは数式37によって得られる。
【0182】
【数37】
【0183】ステップ904・C[l]が極小値となっ
ているか否かの判定を行う。数式38に示す条件を満た
すときにC[l]は極小値であると判定しステップ90
5へ進み、満たさない場合は極小値ではないので演算不
可能(NG)として(ステップ915)終了する。
ているか否かの判定を行う。数式38に示す条件を満た
すときにC[l]は極小値であると判定しステップ90
5へ進み、満たさない場合は極小値ではないので演算不
可能(NG)として(ステップ915)終了する。
【0184】
【数38】
【0185】ステップ905・従来の技術の項で説明し
たスロープ値E[bl]を数式39によって算出する。数式
39においてMAX{Ca,Cb}はCaとCbの内の
大なる方を選択することを意味する。
たスロープ値E[bl]を数式39によって算出する。数式
39においてMAX{Ca,Cb}はCaとCbの内の
大なる方を選択することを意味する。
【0186】
【数39】
【0187】ステップ906・スロープ値E[bl]がしき
い値SlpSthより大きいか否かを判定し、大きいと
きには信頼性有りとしてステップ907へ進み、大きく
ないときには信頼性が無いと判断し、NGとして終了す
る(ステップ915)。 なお、しきい値SlpSth
は図2ステップ208、216、223、231、23
6のいずれかで設定される。
い値SlpSthより大きいか否かを判定し、大きいと
きには信頼性有りとしてステップ907へ進み、大きく
ないときには信頼性が無いと判断し、NGとして終了す
る(ステップ915)。 なお、しきい値SlpSth
は図2ステップ208、216、223、231、23
6のいずれかで設定される。
【0188】ステップ907・数式40により、DL を
算出し、これから真の極小値Cexを算出し、規格化し
た極小値Cexbを得る。
算出し、これから真の極小値Cexを算出し、規格化し
た極小値Cexbを得る。
【0189】
【数40】
【0190】ステップ908・ステップ907で算出さ
れたCexbがしきい値CxSthより小さいか否かを
判定し、小さいときには信頼性有りとしてステップ90
9へ進み、小さくないときには信頼性が無いと判断し、
ステップ912へ進む。なお、しきい値CxSthは図
2ステップ208、216、223、231、236の
いずれかで設定される。
れたCexbがしきい値CxSthより小さいか否かを
判定し、小さいときには信頼性有りとしてステップ90
9へ進み、小さくないときには信頼性が無いと判断し、
ステップ912へ進む。なお、しきい値CxSthは図
2ステップ208、216、223、231、236の
いずれかで設定される。
【0191】ステップ909・相関量C[l]を中心と
した3点内挿演算によって信頼性がある結果が得られた
とする。ステップ910・数式41によって真の極小値
Cexを与えるずれ量Ls[bl]を算出する。なお、第
2、5フィルターデータの場合には1シフトが2画素の
ずれに相当するのでLs[bl]を2倍する必要がある。
した3点内挿演算によって信頼性がある結果が得られた
とする。ステップ910・数式41によって真の極小値
Cexを与えるずれ量Ls[bl]を算出する。なお、第
2、5フィルターデータの場合には1シフトが2画素の
ずれに相当するのでLs[bl]を2倍する必要がある。
【0192】
【数41】
【0193】ステップ911・信頼性のある結果が得ら
れた事によりバランス乱れの可能性はないので、バラン
ス乱れを示すBlnc[bl]を0にセットして演算を終了
する。ステップ912・ステップ908でCexbがし
きい値CxSthより小さくなくて信頼性がないと判定
された場合にステップ907で算出されたCexが24
0より小さいか否かを判定する。ここではスロープ値E
[bl]はしきい値SlpSthを越えているのにCexb
が信頼性無しと判定せれているのでCexが240より
小さいときはバランス乱れが生じている可能性が高いの
でバランス乱れを示すBlnc[bl]を1にセットする
(ステップ913)。
れた事によりバランス乱れの可能性はないので、バラン
ス乱れを示すBlnc[bl]を0にセットして演算を終了
する。ステップ912・ステップ908でCexbがし
きい値CxSthより小さくなくて信頼性がないと判定
された場合にステップ907で算出されたCexが24
0より小さいか否かを判定する。ここではスロープ値E
[bl]はしきい値SlpSthを越えているのにCexb
が信頼性無しと判定せれているのでCexが240より
小さいときはバランス乱れが生じている可能性が高いの
でバランス乱れを示すBlnc[bl]を1にセットする
(ステップ913)。
【0194】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]を表す図である。
れが生じている可能性が低いので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]を表す図である。
【0195】中心シフト数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に向かって近
い位置となる。
れたシフト量、例えばl−6、l−7、l+6、l+7
を算出し、C[l−6]とC[l−7]を結んだ直線を
延長して横軸と交わる位置を見ると、図27(a) の様に
比較的長い周期を持つ周期被写体の場合にはシフト量l
−6からシフト量lに対して外側の比較的近い位置とな
り、図27(b)の様に比較的短い周期を持つ周期被写体
の場合にはシフト量l−6からシフト量lに向かって近
い位置となる。
【0196】一方周期被写体ではない通常の場合は図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]との差の絶対値についても同様とな
っている。
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]との差の絶対値についても同様とな
っている。
【0197】したがって信頼性があるデフォーカス量を
算出した時の3点内挿演算で用いた中心シフト数から所
定のシフト数だけ離れたシフト量における相関量と、そ
の近傍のシフト量における相関量の差の絶対値と、これ
らの相関量を直線で結び、この直線を延長して横軸、す
なわち相関量C[L]=0である線と交わった点の位置
とから被写体は周期的なパターンを持つか否かを判定す
る事が出来る。
算出した時の3点内挿演算で用いた中心シフト数から所
定のシフト数だけ離れたシフト量における相関量と、そ
の近傍のシフト量における相関量の差の絶対値と、これ
らの相関量を直線で結び、この直線を延長して横軸、す
なわち相関量C[L]=0である線と交わった点の位置
とから被写体は周期的なパターンを持つか否かを判定す
る事が出来る。
【0198】本実施例では第4、3フィルターデータを
用いた時には図8ステップ805の3点内挿演算で用い
た中心シフト数lから5シフト、6シフト、7シフト離
れたシフト量における相関量を、第5フィルターデータ
を用いた時には中心シフト数lから3シフト、4シフ
ト、5シフト離れたシフト量における相関量を用いて被
写体が周期的なパターンであるか否かを判定する事にす
る。
用いた時には図8ステップ805の3点内挿演算で用い
た中心シフト数lから5シフト、6シフト、7シフト離
れたシフト量における相関量を、第5フィルターデータ
を用いた時には中心シフト数lから3シフト、4シフ
ト、5シフト離れたシフト量における相関量を用いて被
写体が周期的なパターンであるか否かを判定する事にす
る。
【0199】続いて検出に用いる値の説明を図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と呼ぶ事
とする。
いて説明する。この図は中心シフト数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と呼ぶ事
とする。
【0200】なお、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と呼ぶ事とする。
シフト数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と呼ぶ事とする。
【0201】この場合もpz6、pz7の符号は中心シ
フト数lへ向かう方向をプラス、中心シフト数lから遠
ざかる方向をマイナスとする。中心シフト数lから3シ
フト、4シフト、5シフト離れたシフト量における相関
量を用いたときには同様にしてme4、mz4、me
5、mz5、pe4、pz4、pe5、pz5を算出す
る。それでは周期検出の動作を図10を用いて説明す
る。
フト数lへ向かう方向をプラス、中心シフト数lから遠
ざかる方向をマイナスとする。中心シフト数lから3シ
フト、4シフト、5シフト離れたシフト量における相関
量を用いたときには同様にしてme4、mz4、me
5、mz5、pe4、pz4、pe5、pz5を算出す
る。それでは周期検出の動作を図10を用いて説明す
る。
【0202】ステップ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とする)を算出
する。
第4、3フィルターデータの場合とブロック分割の粗い
第5フィルターの場合とでは周期検出に使うデータが異
なるので、第5フィルターデータの場合にはステップ1
008へ進み、そうでない場合、すなわち第4、3フィ
ルターデータの場合にはステップ1002へ進む。ステ
ップ1002・図8ステップ804で信頼性のあるずれ
量Ls[bl]が得られた時の3点内挿の中心シフト数lか
らマイナス側の5、6個目のシフト量における相関量
(Cm5,Cm6とする)、プラス側の5、6個目のシ
フト量における相関量(Cp5,Cp6とする)を算出
する。
【0203】ステップ1003・数式42によってme
6、pe6、mz6、pz6を算出する。
6、pe6、mz6、pz6を算出する。
【0204】
【数42】
【0205】ステップ1004・ステップ1003で算
出したme6、pe6、mz6、pz6が数式43に示
す条件を満たすか否かを見る。
出したme6、pe6、mz6、pz6が数式43に示
す条件を満たすか否かを見る。
【0206】
【数43】
【0207】この条件を満たしている場合には周期パタ
ーンであると判定し(ステップ1014)、満たさない
場合にはステップ1005へ進む。ステップ1005・
図8ステップ804で信頼性のあるずれ量Ls[bl]が得
られた時の3点内挿の中心シフト数lからマイナス側の
7個目のシフト量における相関量(Cm7とする)、プ
ラス側の7個目のシフト量における相関量(Cp7とす
る)を算出する。
ーンであると判定し(ステップ1014)、満たさない
場合にはステップ1005へ進む。ステップ1005・
図8ステップ804で信頼性のあるずれ量Ls[bl]が得
られた時の3点内挿の中心シフト数lからマイナス側の
7個目のシフト量における相関量(Cm7とする)、プ
ラス側の7個目のシフト量における相関量(Cp7とす
る)を算出する。
【0208】ステップ1006・数式44によってme
7、pe7、mz7、pz7を算出する。
7、pe7、mz7、pz7を算出する。
【0209】
【数44】
【0210】ステップ1007・ステップ1006で算
出したme7、pe7、mz7、pz7が数式45に示
す条件を満たすか否かを見る。
出したme7、pe7、mz7、pz7が数式45に示
す条件を満たすか否かを見る。
【0211】
【数45】
【0212】この条件を満たしている場合には周期パタ
ーンであると判定し(ステップ1014)、満たさない
場合には周期パターンではないと判定する(ステップ1
015)。ステップ1008・図8ステップ804で信
頼性のあるずれ量Ls[bl]が得られた時の3点内挿の中
心シフト数lからマイナス側の3、4個目のシフト量に
おける相関量(Cm3,Cm4とする)、プラス側の
3、4個目のシフト量における相関量(Cp3,Cp4
とする)を算出する。
ーンであると判定し(ステップ1014)、満たさない
場合には周期パターンではないと判定する(ステップ1
015)。ステップ1008・図8ステップ804で信
頼性のあるずれ量Ls[bl]が得られた時の3点内挿の中
心シフト数lからマイナス側の3、4個目のシフト量に
おける相関量(Cm3,Cm4とする)、プラス側の
3、4個目のシフト量における相関量(Cp3,Cp4
とする)を算出する。
【0213】ステップ1009・数式46によってme
4、pe4、mz4、pz4を算出する。
4、pe4、mz4、pz4を算出する。
【0214】
【数46】
【0215】ステップ1010・ステップ1009で算
出したme4、pe4、mz4、pz4が数式47に示
す条件を満たすか否かを見る。
出したme4、pe4、mz4、pz4が数式47に示
す条件を満たすか否かを見る。
【0216】
【数47】
【0217】この条件を満たしている場合には周期パタ
ーンであると判定し(ステップ1014)、満たさない
場合にはステップ1011へ進む。ステップ1011・
図8ステップ804で信頼性のあるずれ量Ls[bl]が得
られた時の3点内挿の中心シフト数lからマイナス側の
5個目のシフト量における相関量(Cm5とする)、プ
ラス側の5個目のシフト量における相関量(Cp5とす
る)を算出する。
ーンであると判定し(ステップ1014)、満たさない
場合にはステップ1011へ進む。ステップ1011・
図8ステップ804で信頼性のあるずれ量Ls[bl]が得
られた時の3点内挿の中心シフト数lからマイナス側の
5個目のシフト量における相関量(Cm5とする)、プ
ラス側の5個目のシフト量における相関量(Cp5とす
る)を算出する。
【0218】ステップ1012・数式48によってme
5、pe5、mz5、pz5を算出する。
5、pe5、mz5、pz5を算出する。
【0219】
【数48】
【0220】ステップ1013・ステップ1012で算
出したme5、pe5、mz5、pz5が数式49に示
す条件を満たすか否かを見る。
出したme5、pe5、mz5、pz5が数式49に示
す条件を満たすか否かを見る。
【0221】
【数49】
【0222】この条件を満たしている場合には周期パタ
ーンであると判定し(ステップ1014)、満たさない
場合には周期パターンではないと判定する(ステップ1
015)。この周期検出方法によれば、従来のように全
シフト範囲で相関演算を行う必要がないので、演算時間
を短縮できる。
ーンであると判定し(ステップ1014)、満たさない
場合には周期パターンではないと判定する(ステップ1
015)。この周期検出方法によれば、従来のように全
シフト範囲で相関演算を行う必要がないので、演算時間
を短縮できる。
【0223】次に図2ステップ208、216、22
3、231、236のしきい値設定について図6を用い
て説明する。ここで設定するしきい値は前述の数式39
によって算出されるE[bl]の判定を行うSlpSthと
数式40によって算出されるCexbの判定を行うCx
Sthの2つである。これらは次に示すように演算に用
いるフィルターデータ、蓄積時間、オーバーラップサー
ボ中か否かによってことなる。 (1) 第1、3、4フィルターデータの場合。
3、231、236のしきい値設定について図6を用い
て説明する。ここで設定するしきい値は前述の数式39
によって算出されるE[bl]の判定を行うSlpSthと
数式40によって算出されるCexbの判定を行うCx
Sthの2つである。これらは次に示すように演算に用
いるフィルターデータ、蓄積時間、オーバーラップサー
ボ中か否かによってことなる。 (1) 第1、3、4フィルターデータの場合。
【0224】 Cexbしきい値・・CxSth=0.
25 スロープしきい値 ・レンズ停止時、及びスキャン時時・・・ SlpSth=
50 ・オーバーラップサーボ中・・・ SlpSth=200 ・蓄積時間最長時・・・ 数式50によって設定する。 数
式50においてDMaxは電荷蓄積信号の内での最大値
であり、SlpSthのとり得る値は50〜98とす
る。
25 スロープしきい値 ・レンズ停止時、及びスキャン時時・・・ SlpSth=
50 ・オーバーラップサーボ中・・・ SlpSth=200 ・蓄積時間最長時・・・ 数式50によって設定する。 数
式50においてDMaxは電荷蓄積信号の内での最大値
であり、SlpSthのとり得る値は50〜98とす
る。
【0225】
【数50】
【0226】(2) 第2、5フィルターデータの場合 Cexbしきい値・・CxSth=0.4 スロープしきい値 ・レンズ停止時、及びスキャン時時・・・ SlpSth=
50 ・オーバーラップサーボ中・・・ SlpSth=200 ・蓄積時間最長時・・・ 数式51によって設定する。数式
51においてDMaxは電荷蓄積信号の内での最大値で
あり、SlpSthの範囲は50〜146とする。
50 ・オーバーラップサーボ中・・・ SlpSth=200 ・蓄積時間最長時・・・ 数式51によって設定する。数式
51においてDMaxは電荷蓄積信号の内での最大値で
あり、SlpSthの範囲は50〜146とする。
【0227】
【数51】
【0228】このようにオーバーラップサーボ中に於い
て通常よりもしきい値を厳しくする事によって、コント
ラストが低い被写体ではオーバーラップサーボ中の蓄
積、演算において得られるスロープ値Eが厳しくしたし
きい値SlpSthを越えないのでレンズ駆動の目標と
なるデフォーカス量がレンズ停止時の蓄積、演算で算出
されたデフォーカス量から変更される事がなく、このデ
フォーカス量に相当する移動量だけ撮影レンズは駆動さ
れて停止する。
て通常よりもしきい値を厳しくする事によって、コント
ラストが低い被写体ではオーバーラップサーボ中の蓄
積、演算において得られるスロープ値Eが厳しくしたし
きい値SlpSthを越えないのでレンズ駆動の目標と
なるデフォーカス量がレンズ停止時の蓄積、演算で算出
されたデフォーカス量から変更される事がなく、このデ
フォーカス量に相当する移動量だけ撮影レンズは駆動さ
れて停止する。
【0229】そしてレンズ停止後にレンズ停止状態で蓄
積、演算を行うことになり、実質上間欠サーボと同様の
動作となり、不安定なレンズ駆動を防ぐ事が出来る。ま
た、被写体が暗い場合には蓄積時間Itを最長蓄積時間
Itmaxとしても電荷蓄積信号の最大値DMaxはW
Maxに達しない場合が生じるが、このような場合には
信号/雑音比が急に悪化するために算出されるデフォー
カス量の精度が低く、レンズ駆動が非常に不安定とな
る。
積、演算を行うことになり、実質上間欠サーボと同様の
動作となり、不安定なレンズ駆動を防ぐ事が出来る。ま
た、被写体が暗い場合には蓄積時間Itを最長蓄積時間
Itmaxとしても電荷蓄積信号の最大値DMaxはW
Maxに達しない場合が生じるが、このような場合には
信号/雑音比が急に悪化するために算出されるデフォー
カス量の精度が低く、レンズ駆動が非常に不安定とな
る。
【0230】そこで、蓄積時間Itが最長蓄積時間It
maxの時には電荷蓄積信号の最大値DMaxが小さい
ほどスロープしきい値SlpSthが高く(厳しく)な
るように数式50、51に基づいて可変とする。このよ
うにする事により焦点検出可能な低輝度限界が高輝度側
へ移動するので、蓄積時間Itを最長蓄積時間Itma
xとしても電荷蓄積信号の最大値DMaxはWMaxに
達しない為に得られるデフォーカス量の精度が低く、レ
ンズ駆動が非常に不安定となる状態を焦点検出不能とす
る事が出来る。
maxの時には電荷蓄積信号の最大値DMaxが小さい
ほどスロープしきい値SlpSthが高く(厳しく)な
るように数式50、51に基づいて可変とする。このよ
うにする事により焦点検出可能な低輝度限界が高輝度側
へ移動するので、蓄積時間Itを最長蓄積時間Itma
xとしても電荷蓄積信号の最大値DMaxはWMaxに
達しない為に得られるデフォーカス量の精度が低く、レ
ンズ駆動が非常に不安定となる状態を焦点検出不能とす
る事が出来る。
【0231】それではしきい値設定の動作を図6を用い
て説明する。ステップ601・SlpSthを50と設
定する。通常の場合はSlpSthはこの値となり、フ
ィルターによらず一定としている。ステップ602・演
算に用いるデータが第2フィルターデータであるか否か
を見る。そうであるときにはステップ611へ進み、そ
うでないときにはステップ603へ進む。
て説明する。ステップ601・SlpSthを50と設
定する。通常の場合はSlpSthはこの値となり、フ
ィルターによらず一定としている。ステップ602・演
算に用いるデータが第2フィルターデータであるか否か
を見る。そうであるときにはステップ611へ進み、そ
うでないときにはステップ603へ進む。
【0232】ステップ603・演算に用いるデータが第
5フィルターデータであるか否かを見る。そうであると
きにはステップ611へ進み、そうでないときにはステ
ップ604へ進む。 ステップ604・ステップ60
2、603の判定により演算に用いるデータは第4、
3、1フィルターデータのいずれかであり、この場合は
ブロックが12個と細かく分割されている場合を示して
おり、Cexbのしきい値CxSthは比較的厳しく設
定される(図6では0.25としている)。
5フィルターデータであるか否かを見る。そうであると
きにはステップ611へ進み、そうでないときにはステ
ップ604へ進む。 ステップ604・ステップ60
2、603の判定により演算に用いるデータは第4、
3、1フィルターデータのいずれかであり、この場合は
ブロックが12個と細かく分割されている場合を示して
おり、Cexbのしきい値CxSthは比較的厳しく設
定される(図6では0.25としている)。
【0233】ステップ605・蓄積時間Itは最長時間
Itmaxであるか否かを見て、そうではない時にはス
テップ618へ進み、最長時間Itmaxであるときに
はステップ606へ進む。ステップ606・SlpSt
hを数式50に基づいて変更する。ステップ607・ス
テップ606で設定されたSlpSthが50より小さ
いか否かを見る。50より小さくては判定しきい値とし
ては緩すぎるのでSlpSthを50に変更して(ステ
ップ608)ステップ618へ進む。50以上の場合に
はステップ609へ進む。
Itmaxであるか否かを見て、そうではない時にはス
テップ618へ進み、最長時間Itmaxであるときに
はステップ606へ進む。ステップ606・SlpSt
hを数式50に基づいて変更する。ステップ607・ス
テップ606で設定されたSlpSthが50より小さ
いか否かを見る。50より小さくては判定しきい値とし
ては緩すぎるのでSlpSthを50に変更して(ステ
ップ608)ステップ618へ進む。50以上の場合に
はステップ609へ進む。
【0234】ステップ609・ステップ606で設定さ
れたSlpSthが98より大きいか否かを見る。98
より大きくては判定しきい値としては厳しすぎるのでS
lpSthを98に変更して(ステップ610)ステッ
プ618へ進む。96以下の場合にはステップ606で
設定されたSlpSthが適切な範囲内にある事となる
のでそのままステップ618へ進む。
れたSlpSthが98より大きいか否かを見る。98
より大きくては判定しきい値としては厳しすぎるのでS
lpSthを98に変更して(ステップ610)ステッ
プ618へ進む。96以下の場合にはステップ606で
設定されたSlpSthが適切な範囲内にある事となる
のでそのままステップ618へ進む。
【0235】ステップ611・ステップ602、603
の判定により演算に用いるデータは第2、5フィルター
データのいずれかであり、この場合はブロックが4個と
粗く分割されている場合を示しており、Cexbのしき
い値CxSthは比較的緩く設定される(図6では0.
4としている)。ステップ612・蓄積時間Itは最長
時間Itmaxであるか否かを見て、そうではない時に
はステップ618へ進み、最長時間Itmaxであると
きにはステップ613へ進む。
の判定により演算に用いるデータは第2、5フィルター
データのいずれかであり、この場合はブロックが4個と
粗く分割されている場合を示しており、Cexbのしき
い値CxSthは比較的緩く設定される(図6では0.
4としている)。ステップ612・蓄積時間Itは最長
時間Itmaxであるか否かを見て、そうではない時に
はステップ618へ進み、最長時間Itmaxであると
きにはステップ613へ進む。
【0236】ステップ613・SlpSthを数式51
に基づいて変更する。ステップ614・ステップ613
で設定されたSlpSthが50より小さいか否かを見
る。50より小さくては判定しきい値としては緩すぎる
のでSlpSthを50に変更して(ステップ615)
ステップ618へ進む。50以上の場合にはステップ6
16へ進む。
に基づいて変更する。ステップ614・ステップ613
で設定されたSlpSthが50より小さいか否かを見
る。50より小さくては判定しきい値としては緩すぎる
のでSlpSthを50に変更して(ステップ615)
ステップ618へ進む。50以上の場合にはステップ6
16へ進む。
【0237】ステップ616・ステップ613で設定さ
れたSlpSthが146より大きいか否かを見る。1
46より大きくては判定しきい値としては厳しすぎるの
でSlpSthを146に変更して(ステップ617)
ステップ618へ進む。146以下の場合にはステップ
613で設定されたSlpSthが適切な範囲内にある
事となるのでそのままステップ618へ進む。
れたSlpSthが146より大きいか否かを見る。1
46より大きくては判定しきい値としては厳しすぎるの
でSlpSthを146に変更して(ステップ617)
ステップ618へ進む。146以下の場合にはステップ
613で設定されたSlpSthが適切な範囲内にある
事となるのでそのままステップ618へ進む。
【0238】ステップ618・前述したオーバーラップ
サーボ中であるか否かを見る。オーバーラップサーボ中
ではSlpSthはかなり厳しくした方がよいのでSl
pSthを200に変更する(ステップ619)。次に
図2ステップ214のバランス乱れ判定について説明す
る。判定に用いる値は図9を用いた3点内挿演算で既に
説明した数値Blnc[bl]を用いる。Blnc[bl]は1
の時にバランス乱れの可能性が高い事を示し、0の時に
はバランス乱れの可能性が低い事を示している。
サーボ中であるか否かを見る。オーバーラップサーボ中
ではSlpSthはかなり厳しくした方がよいのでSl
pSthを200に変更する(ステップ619)。次に
図2ステップ214のバランス乱れ判定について説明す
る。判定に用いる値は図9を用いた3点内挿演算で既に
説明した数値Blnc[bl]を用いる。Blnc[bl]は1
の時にバランス乱れの可能性が高い事を示し、0の時に
はバランス乱れの可能性が低い事を示している。
【0239】Blnc[bl]が1に設定されるのは図9で
説明したようにスロープE[bl]がしきい値SlpSth
を越えるているのに、Cexbがしきい値CxSthを
越えてしまったために信頼性無しと判定され、且つ内挿
演算によって算出された極小値Cexが240以内であ
った場合である。まずスロープE[bl]がしきい値Slp
Sthを越えるという事は被写体にコントラストは十分
にある事を意味する。Cexbがしきい値CxSthを
越えてしまったという事は一対の第4フィルターデータ
のパターンの一致度が悪い事を示している。
説明したようにスロープE[bl]がしきい値SlpSth
を越えるているのに、Cexbがしきい値CxSthを
越えてしまったために信頼性無しと判定され、且つ内挿
演算によって算出された極小値Cexが240以内であ
った場合である。まずスロープE[bl]がしきい値Slp
Sthを越えるという事は被写体にコントラストは十分
にある事を意味する。Cexbがしきい値CxSthを
越えてしまったという事は一対の第4フィルターデータ
のパターンの一致度が悪い事を示している。
【0240】そしてCexが240以内という事は一対
のデータの一致度は悪いが決して別のものではない可能
性が高い事を示している。したがってこの場合にはバラ
ンス乱れが生じていると推測できる。そこでDC成分を
完全に除去していない第4フィルターデータによる演算
でBlnc[bl]が1であるブロックが存在して、なおか
つ他のブロックが全て焦点検出不能である場合にはバラ
ンス乱れが生じたと判定し、DC成分を完全に除去する
第3フィルターデータによる演算を行うようにしてい
る。
のデータの一致度は悪いが決して別のものではない可能
性が高い事を示している。したがってこの場合にはバラ
ンス乱れが生じていると推測できる。そこでDC成分を
完全に除去していない第4フィルターデータによる演算
でBlnc[bl]が1であるブロックが存在して、なおか
つ他のブロックが全て焦点検出不能である場合にはバラ
ンス乱れが生じたと判定し、DC成分を完全に除去する
第3フィルターデータによる演算を行うようにしてい
る。
【0241】次に図2ステップ213の偽合焦対策につ
いて説明する。この偽合焦が生じるのは、レンズは合焦
から大きくはずれると被写体パターンの高周波成分が消
えてぼけ、さらにブロック分割が細かいために被写体の
異なる部分でもパターンが似ているという場合が生じる
ためである。この場合、ブロック分割を粗くすればパタ
ーンが似る可能性が激減する。
いて説明する。この偽合焦が生じるのは、レンズは合焦
から大きくはずれると被写体パターンの高周波成分が消
えてぼけ、さらにブロック分割が細かいために被写体の
異なる部分でもパターンが似ているという場合が生じる
ためである。この場合、ブロック分割を粗くすればパタ
ーンが似る可能性が激減する。
【0242】そこで低コン、微細ではないとき、つまり
第4フィルターデータによる演算で一つのブロックでし
かデフォーカス量が算出されない時にはブロック分割の
粗い第5フィルターデータによる演算でデフォーカス量
を得て、第4フィルターデータによって得られた唯一つ
のデフォーカス量と第5フィルターデータによって得ら
れたデフォーカス量とを比較し、第4フィルターデータ
によって得られた唯一つのデフォーカス量を有効とする
か、あるいはこれを無効として第5フィルターデータに
よって得られたデフォーカス量を最終的に用いるかを判
断するようにする。この偽合焦対策の動作を図11によ
り説明する。
第4フィルターデータによる演算で一つのブロックでし
かデフォーカス量が算出されない時にはブロック分割の
粗い第5フィルターデータによる演算でデフォーカス量
を得て、第4フィルターデータによって得られた唯一つ
のデフォーカス量と第5フィルターデータによって得ら
れたデフォーカス量とを比較し、第4フィルターデータ
によって得られた唯一つのデフォーカス量を有効とする
か、あるいはこれを無効として第5フィルターデータに
よって得られたデフォーカス量を最終的に用いるかを判
断するようにする。この偽合焦対策の動作を図11によ
り説明する。
【0243】ステップ1111・第4フィルターデータ
によって算出された唯一つのデフォーカス量をDfzと
して記憶する。ステップ1112〜1115・図2のス
テップ215〜218と同様に第5フィルターデータを
用いてデフォーカス量を算出する。ステップ1116・
第5フィルターデータによってデフォーカス量が得られ
たか否かを見て、得られなかった場合にはステップ11
19へ進み、得られた場合にはステップ1117へ進
む。
によって算出された唯一つのデフォーカス量をDfzと
して記憶する。ステップ1112〜1115・図2のス
テップ215〜218と同様に第5フィルターデータを
用いてデフォーカス量を算出する。ステップ1116・
第5フィルターデータによってデフォーカス量が得られ
たか否かを見て、得られなかった場合にはステップ11
19へ進み、得られた場合にはステップ1117へ進
む。
【0244】ステップ1117・第5フィルターデータ
によって得られたデフォーカス量Df[13]〜Df[16]と
Dfzを比較する。ステップ1118・Dfzとの差の
絶対値が所定値以内のものがあるか否かを見る。所定以
内のものがある場合にはステップ1119へ、無い場合
にはステップ1120へ進む。
によって得られたデフォーカス量Df[13]〜Df[16]と
Dfzを比較する。ステップ1118・Dfzとの差の
絶対値が所定値以内のものがあるか否かを見る。所定以
内のものがある場合にはステップ1119へ、無い場合
にはステップ1120へ進む。
【0245】ステップ1119・第4フィルターデータ
によって得られた唯一つのデフォーカス量によって偽合
焦とはならないと判断し、第5フィルターデータによっ
て得られたデフォーカス量Df[13]〜Df[16]を廃棄
し、Dfzを採用する。ステップ1120・第4フィル
ターデータによって得られた唯一つのデフォーカス量を
用いると偽合焦となる可能性が高いと判断し、第5フィ
ルターデータによって得られたデフォーカス量Df[13]
〜Df[16]を採用し、Dfzを廃棄する。
によって得られた唯一つのデフォーカス量によって偽合
焦とはならないと判断し、第5フィルターデータによっ
て得られたデフォーカス量Df[13]〜Df[16]を廃棄
し、Dfzを採用する。ステップ1120・第4フィル
ターデータによって得られた唯一つのデフォーカス量を
用いると偽合焦となる可能性が高いと判断し、第5フィ
ルターデータによって得られたデフォーカス量Df[13]
〜Df[16]を採用し、Dfzを廃棄する。
【0246】図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
4、232、237の動作に対応し、しきい値設定部3
gは図6の動作に対応し、周期判定部3hは図10の動
作に対応し、バランス乱れ検出部3jは図9のステップ
906、908、912、913、914、911の動
作に対応し、レンズ駆動制御部3kは図12のステップ
1210、1214の動作に対応する。
テップ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
4、232、237の動作に対応し、しきい値設定部3
gは図6の動作に対応し、周期判定部3hは図10の動
作に対応し、バランス乱れ検出部3jは図9のステップ
906、908、912、913、914、911の動
作に対応し、レンズ駆動制御部3kは図12のステップ
1210、1214の動作に対応する。
【0247】
【発明の効果】以上のように本発明によれば一対のイメ
ージセンサーアレイの出力のコントラスト分布を調べ、
コントラストが焦点検出領域の一部のみに存在する場合
にはDC成分を完全に除去するフィルター処理を施した
データによって焦点検出演算を行うので、微細パターン
に対しては高い演算精度が得られるという効果がある。
ージセンサーアレイの出力のコントラスト分布を調べ、
コントラストが焦点検出領域の一部のみに存在する場合
にはDC成分を完全に除去するフィルター処理を施した
データによって焦点検出演算を行うので、微細パターン
に対しては高い演算精度が得られるという効果がある。
【0248】また、コントラストが焦点検出領域全体に
分布する場合にはDC成分を完全には除去されていない
データを用いて焦点検出演算を行うので、偽合焦の可能
性を非常に低くする事が出来るという効果がある。
分布する場合にはDC成分を完全には除去されていない
データを用いて焦点検出演算を行うので、偽合焦の可能
性を非常に低くする事が出来るという効果がある。
【図1】 本発明の実施例の構成を表すブロック図であ
る。
る。
【図2】 本発明の実施例のデフォーカス量算出アルゴ
リズムを示すフローチャート図である。
リズムを示すフローチャート図である。
【図3】 本発明の実施例のデフォーカス量算出アルゴ
リズムを示すフローチャート図である。
リズムを示すフローチャート図である。
【図4】 本発明の実施例のデフォーカス量算出アルゴ
リズムにおけるブロック境界設定1の動作を示すフロー
チャート図である。
リズムにおけるブロック境界設定1の動作を示すフロー
チャート図である。
【図5】 本発明の実施例のデフォーカス量算出アルゴ
リズムにおける相関演算実行判定の動作を示すフローチ
ャート図である。
リズムにおける相関演算実行判定の動作を示すフローチ
ャート図である。
【図6】 本発明の実施例のデフォーカス量算出アルゴ
リズムにおけるしきい値設定の動作を示すフローチャー
ト図である。
リズムにおけるしきい値設定の動作を示すフローチャー
ト図である。
【図7】 本発明の実施例のデフォーカス量算出アルゴ
リズムにおけるグループ合成の動作を示すフローチャー
ト図である。
リズムにおけるグループ合成の動作を示すフローチャー
ト図である。
【図8】 本発明の実施例のデフォーカス量算出アルゴ
リズムにおける焦点検出演算の動作を示すフローチャー
ト図である。
リズムにおける焦点検出演算の動作を示すフローチャー
ト図である。
【図9】 本発明の実施例の焦点検出演算における3点
内挿演算の動作を示すフローチャート図である。
内挿演算の動作を示すフローチャート図である。
【図10】 本発明の実施例の焦点検出演算における周
期検出の動作を示すフローチャート図である。
期検出の動作を示すフローチャート図である。
【図11】 本発明の実施例のデフォーカス量算出アル
ゴリズムにおける偽合焦対策の動作を示すフローチャー
ト図である。
ゴリズムにおける偽合焦対策の動作を示すフローチャー
ト図である。
【図12】 本発明の実施例の全体の動作を示すフロー
チャート図である。
チャート図である。
【図13】 本発明の実施例のデフォーカス量算出アル
ゴリズムにおける微細パターン判別の動作を示すフロー
チャート図である。
ゴリズムにおける微細パターン判別の動作を示すフロー
チャート図である。
【図14】 本発明の実施例のデフォーカス量算出アル
ゴリズムにおけるブロック境界設定2の動作を示すフロ
ーチャート図である。
ゴリズムにおけるブロック境界設定2の動作を示すフロ
ーチャート図である。
【図15】 本発明の実施例における光学系、イメージ
センサーを説明する図である。
センサーを説明する図である。
【図16】 本発明の実施例における焦点検出領域を表
す図である。
す図である。
【図17】 従来技術における相関演算を説明する図で
ある。
ある。
【図18】 従来技術における3点内挿演算を説明する
図である。
図である。
【図19】 従来技術におけるブロック分割を説明する
図である。
図である。
【図20】 ハードAGCが良好には動作しない場合を
説明する図である。
説明する図である。
【図21】 被写体パターンが周期的である場合の現象
を説明する図である。
を説明する図である。
【図22】 間欠サーボ、オーバーラップサーボを説明
する図である。
する図である。
【図23】 補助光の照射パターンを示す図である。
【図24】 組み込み誤差量が焦点検出領域内で均一で
ない場合を表す図である。
ない場合を表す図である。
【図25】 位相差検出方式を説明する図である。
【図26】 本発明の実施例に於いてDC成分を完全に
除去するフィルター処理を施したデータを用いる場合を
説明する図である。
除去するフィルター処理を施したデータを用いる場合を
説明する図である。
【図27】 本発明の実施例における周期検出の方法を
説明する図である。
説明する図である。
【図28】 本発明の実施例における周期検出に用いる
数値を説明する図である。
数値を説明する図である。
【図29】 従来技術におけるDC成分を完全に除去す
るフィルター処理を施したデータを用いた場合に生じる
問題点を説明する図である。
るフィルター処理を施したデータを用いた場合に生じる
問題点を説明する図である。
フロントページの続き (56)参考文献 特開 平2−1808(JP,A) 特開 昭63−256810(JP,A) 特開 平4−78803(JP,A) 特開 平1−137887(JP,A) 特開 平2−172369(JP,A) 特開 昭63−157578(JP,A) 特開 昭59−142506(JP,A) 特開 平1−187512(JP,A) 特開 昭62−60369(JP,A) 特開 平2−63376(JP,A) 特開 昭63−267907(JP,A) 特開 平3−20706(JP,A) 特開 平1−191111(JP,A) 実開 昭62−155516(JP,U) (58)調査した分野(Int.Cl.7,DB名) G02B 7/28 - 7/40
Claims (1)
- 【請求項1】入射する光束の強度の応じた信号を出力す
る複数の光電変換素子からなるイメージセンサーと、該
イメージセンサーに被写界の光束を導く光学系と、該イ
メージセンサーの出力信号に基づいて被写体パターンが
低コントラスト、または微細な特定パターンのいずれか
であることを判別する被写体判別手段と、前記イメージ
センサーの出力信号に基づいて前記撮影レンズの焦点調
節状態を検出する演算手段とからなる焦点検出装置であ
って、前記 演算手段は、前記イメージセンサーの出力信号に対
して前記被写体パターンのDC成分を除去する微分型の
フィルター処理を施したデータによって前記撮影レンズ
の焦点調節状態を検出する第1の演算と、前記イメージ
センサーの出力信号に対して被写体パターンのDC成分
を完全には除去しないフィルター処理を施したデータに
よって前記撮影レンズの焦点調節状態を検出する第2の
演算とを実行可能であり、前記被写体判別手段の判別結
果が前記被写体パターンが低コントラスト、または微細
なパターンであると判定された場合には前記第1の演算
を選択し、低コントラスト、及び微細なパターンのいず
れでもないと判定された場合には前記第2の演算を選択
する事を特徴とする焦点検出装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23694692A JP3336360B2 (ja) | 1992-09-04 | 1992-09-04 | 焦点検出装置 |
US08/373,832 US5481329A (en) | 1992-09-04 | 1995-01-23 | Focus condition detecting device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23694692A JP3336360B2 (ja) | 1992-09-04 | 1992-09-04 | 焦点検出装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0682676A JPH0682676A (ja) | 1994-03-25 |
JP3336360B2 true JP3336360B2 (ja) | 2002-10-21 |
Family
ID=17008100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP23694692A Expired - Lifetime JP3336360B2 (ja) | 1992-09-04 | 1992-09-04 | 焦点検出装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5481329A (ja) |
JP (1) | JP3336360B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0875986A (ja) * | 1994-09-06 | 1996-03-22 | Nikon Corp | 焦点検出装置 |
JPH0875997A (ja) * | 1994-09-07 | 1996-03-22 | Nikon Corp | 焦点検出装置 |
JPH0894916A (ja) * | 1994-09-28 | 1996-04-12 | Nikon Corp | 焦点検出装置 |
CN1896859B (zh) * | 2005-07-14 | 2010-08-25 | 亚洲光学股份有限公司 | 自动对焦方法以及使用该方法的电子装置 |
JP5609516B2 (ja) * | 2010-10-06 | 2014-10-22 | リコーイメージング株式会社 | 自動焦点検出装置及び同装置を備えたカメラ |
Family Cites Families (7)
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 |
JP2762463B2 (ja) * | 1988-06-10 | 1998-06-04 | キヤノン株式会社 | 焦点検出装置 |
JP2985087B2 (ja) * | 1988-11-16 | 1999-11-29 | 株式会社ニコン | 焦点検出装置 |
JPH04235512A (ja) * | 1991-01-10 | 1992-08-24 | Nikon Corp | グル−プ化機能を有する焦点検出装置 |
US5367153A (en) * | 1991-11-01 | 1994-11-22 | Canon Kabushiki Kaisha | Apparatus for detecting the focus adjusting state of an objective lens by performing filter processing |
-
1992
- 1992-09-04 JP JP23694692A patent/JP3336360B2/ja not_active Expired - Lifetime
-
1995
- 1995-01-23 US US08/373,832 patent/US5481329A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US5481329A (en) | 1996-01-02 |
JPH0682676A (ja) | 1994-03-25 |
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) | 焦点検出装置および焦点検出方法 | |
US5526088A (en) | Focus detection device | |
JP3248257B2 (ja) | 焦点検出装置 | |
JP3336360B2 (ja) | 焦点検出装置 | |
JPH06130288A (ja) | 焦点検出装置 | |
JP3574157B2 (ja) | 自動焦点調節カメラ | |
JPH0682675A (ja) | オートフォーカスカメラ | |
JP3203742B2 (ja) | 焦点検出装置 | |
JPH04235512A (ja) | グル−プ化機能を有する焦点検出装置 | |
JPH07181369A (ja) | 自動焦点調節カメラおよびカメラの自動焦点調節方法 | |
JP2001051186A (ja) | 多点測距装置及びカメラ | |
JP2850336B2 (ja) | 焦点検出装置 | |
JP2969642B2 (ja) | 焦点検出装置 | |
JP3728604B2 (ja) | 焦点検出装置 | |
JP3230759B2 (ja) | 測距装置 | |
JP3224535B2 (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) | 焦点検出装置 | |
JPH1123957A (ja) | 焦点検出装置 | |
JP4532169B2 (ja) | 焦点検出装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110809 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110809 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130809 Year of fee payment: 11 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130809 Year of fee payment: 11 |