JP2006145984A - 焦点検出装置およびその制御方法 - Google Patents
焦点検出装置およびその制御方法 Download PDFInfo
- Publication number
- JP2006145984A JP2006145984A JP2004337751A JP2004337751A JP2006145984A JP 2006145984 A JP2006145984 A JP 2006145984A JP 2004337751 A JP2004337751 A JP 2004337751A JP 2004337751 A JP2004337751 A JP 2004337751A JP 2006145984 A JP2006145984 A JP 2006145984A
- Authority
- JP
- Japan
- Prior art keywords
- calculation
- output
- correlation
- value
- sensor
- 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.)
- Pending
Links
Images
Landscapes
- Focusing (AREA)
- Automatic Focus Adjustment (AREA)
- Studio Devices (AREA)
Abstract
【課題】 焦点演算専用ハードウェアの規模を最小にしつつ、演算時間を短縮することができ、これによりタイムラグが小さくかつ検出能力の非常に高い焦点検出装置およびその制御方法を提供する。
【解決手段】 被写体からの反射光を複数の受光部で受光して光電変換するオートフォーカスセンサ3と、このオートフォーカスセンサ3の出力をデジタル信号に変換するA/D変換部8と、このA/D変換部8の出力を記憶するメモリ部10,14と、メモリ部14内のデータに基づいて焦点検出演算を実行する第2AF演算部11と、メモリ部10内のデータを上記第2AF演算部11の演算用に加工して上記メモリ部14に再記憶するAF制御回路1と、を備えている。
【選択図】 図3
【解決手段】 被写体からの反射光を複数の受光部で受光して光電変換するオートフォーカスセンサ3と、このオートフォーカスセンサ3の出力をデジタル信号に変換するA/D変換部8と、このA/D変換部8の出力を記憶するメモリ部10,14と、メモリ部14内のデータに基づいて焦点検出演算を実行する第2AF演算部11と、メモリ部10内のデータを上記第2AF演算部11の演算用に加工して上記メモリ部14に再記憶するAF制御回路1と、を備えている。
【選択図】 図3
Description
本発明は、カメラの焦点検出演算を高速で行う焦点検出装置およびその制御方法に関する。
撮影レンズを通過した光束を一対の光電変換素子上に導いて、その各光電変換素子の出力に基づく焦点検出演算を実行することにより、撮影レンズのデフォーカス量を検出するTTL位相差自動焦点検出(AF)方式がある。この方式は、一般的に一眼レフレックスカメラにおいて多く採用されている。
また、最近の一眼レフレックスカメラには、複数の焦点検出エリアを持つマルチAFが多く採用されており、その測距ポイント数も数多くなっている。
したがって、焦点検出演算は演算時間がかかる上に、測距ポイントが多くなっていることから、全ての焦点検出エリアについて演算を完了するには数十ms単位の時間を要し、合焦までのタイムラグの増加につながっている。
焦点検出演算はマイクロコンピュータの種々の演算命令(コンピュータプログラム)を使って焦点検出アルゴリズムを構成し、焦点検出演算を行うのが一般的であり、演算時間を短縮するためにマイクロコンピュータの動作クロックを高速化したり、高性能なマイクロコンピュータを使用したりしているが、このような高速化にはおのずと限界がある。
そこで、マイクロコンピュータによる演算をやめて、演算専用ハードウェアによって焦点検出演算を行う技術がある。
例えば、繰り返し行われる演算処理を専用のハードウェアに行わせ、焦点ずれ量を演算する技術がある(例えば特許文献1)。さらに、演算時間短縮を目的に、像ずれ演算のために焦点検出センサデータの相関結果の極値を求める回路を持つ技術がある(例えば特許文献2)。
このように、演算時間短縮のために焦点検出演算をハードウェアによって行う技術が知られている。
特開平5−88076号公報
特許3085014号公報
上記従来技術には以下のような問題点がある。
焦点検出演算で最も演算時間を要するのは、一対の光電変換素子の出力の相関を演算する相関演算部分であり、特許文献1に開示の技術のように、繰り返し所定の演算を行う相関演算を専用のハードウェアで演算することには、大きな短縮効果がある。しかし、相関演算をハードウェアで演算することは示唆されているが、それ以外の演算処理について、マイクロコンピュータとハードウェアの演算の分担については示唆されていない。
焦点検出演算で最も演算時間を要するのは、一対の光電変換素子の出力の相関を演算する相関演算部分であり、特許文献1に開示の技術のように、繰り返し所定の演算を行う相関演算を専用のハードウェアで演算することには、大きな短縮効果がある。しかし、相関演算をハードウェアで演算することは示唆されているが、それ以外の演算処理について、マイクロコンピュータとハードウェアの演算の分担については示唆されていない。
また、相関演算結果に基づいて像ずれ量を演算することが開示されているが、相関演算結果から像ずれ量を演算するには複雑な判断処理が必要であり、ハードウェアで像ずれ量を演算することはハードウェア設計上困難である。
さらに、特許文献2に開示の技術では、相関値の極値までを判定することもハードウェア設計上困難である。
すなわち、ハードウェアが得意とする演算処理は、特許文献1に示唆されているように繰り返し演算であり、また、アルゴリズムをハードウェア化するからには、後で設計変更のない単純演算処理でなくてはならない。逆に、マイクロコンピュータが得意とする演算処理は、ハードウェアで実現しようとすると回路規模が大きくなるような複雑な演算部分である。また、処理速度はハードウェアで演算した方がはるかに高速である。
このように、焦点演算をハードウェア化するには全ての演算アルゴリズムをハードウェア化することは困難であり、演算時間と演算処理内容を加味してどこまでをハードウェア化すればよいかを切り分ける必要がある。
しかし、そのような切り分けを示唆した従来技術は見当たらない。
本発明は、従来技術の上記問題点に鑑みて成されたものであり、焦点検出演算の一部をハードウェア化したカメラの焦点検出装置において、焦点演算専用ハードウェアの規模を最小にしつつ、演算時間を短縮することを目的とし、より具体的には、演算時間短縮効果の大きい演算部、あるいは、少ない回路規模で演算できる演算部、あるいは、後で演算仕様変更の可能性のない演算部のみをハードウェア化して演算時間を短縮し、それ以外の演算部は制御手段であるマイクロコンピュータで演算するとともに、ハードウェア演算部への入力である焦点検出センサデータとして、一対の光電変換素子出力と、この一対の光電変換素子出力をマイクロコンピュータで加工処理したデータとを切り換えて使用することにより、ハードウェアの回路規模を最小にすることである。
上記加工処理をハードウェアにて構成すると、回路規模が増大化してコストアップとなってしまう。
請求項1に係る発明の焦点検出装置は、被写体からの反射光を複数の受光部で受光して光電変換するオートフォーカスセンサと、このオートフォーカスセンサの出力をデジタル信号に変換する変換手段と、この変換手段の出力を記憶する記憶手段と、この記憶手段の記憶内容に基づいて焦点検出演算を実行する演算手段と、上記記憶手段の記憶内容を上記演算手段の演算用に加工して上記記憶手段に再記憶する制御手段と、を備えている。
請求項4に係る発明の焦点検出装置の制御方法は、被写体からの反射光を複数の受光部で受光して光電変換するオートフォーカスセンサを備えた焦点検出装置において、上記オートフォーカスセンサの出力をデジタル信号に変換するステップと、この変換出力を記憶するステップと、この記憶内容に基づいて焦点検出演算を実行するステップと、上記記憶内容を前記演算用に加工して再記憶するステップと、を備えている。
焦点演算専用ハードウェアの規模を最小にしつつ、演算時間を短縮することができ、これによりタイムラグが小さくかつ検出能力の非常に高い焦点検出装置およびその制御方法を提供することが可能となる。
[1]以下、本発明の第1の実施形態について、図面を参照して説明する。
まず、本発明の概念を図1に示している。
201は制御部である外部コントローラ、202は演算集積回路(演算ICという)、203はオートフォーカスセンサ(AFセンサという)である。演算IC202は、アナログ/デジタル変換部(A/D変換部という)204、メモリ部205、演算部206を有している。外部コントローラ201は、演算IC202およびAFセンサ203の動作を制御する。
201は制御部である外部コントローラ、202は演算集積回路(演算ICという)、203はオートフォーカスセンサ(AFセンサという)である。演算IC202は、アナログ/デジタル変換部(A/D変換部という)204、メモリ部205、演算部206を有している。外部コントローラ201は、演算IC202およびAFセンサ203の動作を制御する。
以下、動作を説明する。
AFセンサ203より出力されるセンサデータ(アナログ信号)は、A/D変換部204によりデジタル信号に変換される。このA/D変換されたセンサデータは、メモリ部205に記憶される。演算部206は、メモリ部205に記憶されているセンサデータを読み出して焦点検出演算を実行する。
演算部206の演算結果は、外部コントローラ201に供給される。外部コントローラ201は、演算部206の演算結果に基づいて、焦点調節動作を実行する。
とくに、外部コントローラ201は、演算部206の演算結果の信頼性が低い場合や検出不能(演算不能)の場合に、メモリ部205に記憶されているセンサデータを読み出して加工を施す。この加工には、さまざまな処理があり、ノイズを除去するために複数回の平均値を求めたり、特定の周波数成分を抽出するフィルタ処理等がある。
そして、外部コントローラ201は、読み出したセンサデータを加工した後、その加工したデータをメモリ部205に記憶する。演算部206は、メモリ部205に記憶されている上記加工されたセンサデータを読み出して、再度、焦点検出演算を実行する。外部コントローラ201は、演算部206の再演算結果に基づいて、焦点調節動作を実行する。
本発明に関し、図1よりも詳細な本発明の概念を図2に示している。
演算IC202は、アナログ/デジタル変換部(A/D変換部という)204、第1メモリ部205、演算部206、第2メモリ部207を有している。他の構成は図1と同じであり、その説明は省略する。
演算IC202は、アナログ/デジタル変換部(A/D変換部という)204、第1メモリ部205、演算部206、第2メモリ部207を有している。他の構成は図1と同じであり、その説明は省略する。
A/D変換部204でA/D変換されたセンサデータは、第1メモリ部205と第2メモリ部207に記憶される。演算部206は、第1メモリ部205に記憶されているセンサデータを読み出して焦点検出演算を実行する。
演算部206の演算結果は、外部コントローラ201に供給される。外部コントローラ201は、演算部206の演算結果に基づいて焦点調節動作を実行する。
とくに、外部コントローラ201は、演算部206の演算結果の信頼性が低い場合や検出不能(演算不能)の場合に、第2メモリ部207に記憶されているセンサデータを読み出して加工を施す。この加工には、さまざまな処理があり、ノイズを除去するために複数回の平均値を求めたり、特定の周波数成分を抽出するフィルタ処理等がある。
そして、外部コントローラ201は、読み出したセンサデータを加工した後、その加工したデータを第1メモリ部205に記憶する。演算部206は、第1メモリ部205に記憶された上記加工後のセンサデータを読み出して、再度、焦点検出演算を実行する。外部コントローラ201は、演算部206の再演算結果に基づいて、焦点調節動作を実行する。
以下、本発明の具体的な構成を図3により説明する。
1はAF制御全体を司るAF制御部で、マイクロコンピュータ(CPU)を搭載し、上記外部コントローラ201に相当する。2は演算集積回路(演算ICという)で、AF制御部1により制御されることにより、マルチAFセンサ3の制御およびAF演算の一部を行うもので、上記演算IC202に相当する。3は複数の焦点検出エリアを持つマルチオートフォーカスセンサ(マルチAFセンサという)で、上記AFセンサ203に相当する。
1はAF制御全体を司るAF制御部で、マイクロコンピュータ(CPU)を搭載し、上記外部コントローラ201に相当する。2は演算集積回路(演算ICという)で、AF制御部1により制御されることにより、マルチAFセンサ3の制御およびAF演算の一部を行うもので、上記演算IC202に相当する。3は複数の焦点検出エリアを持つマルチオートフォーカスセンサ(マルチAFセンサという)で、上記AFセンサ203に相当する。
以下、焦点検出結果が算出されるまでの流れを説明する。
AF制御部1は、シリアル通信部4を介してレジスタ部5の値を設定する。このレジスタ部5は、マルチAFセンサ3の制御およびAF演算に関わる各種パラメータを設定するものである。
レジスタ部5に設定された周波数値のクロックが、クロック発生部6からマルチAFセンサ3に供給される。このクロック発生部6はマルチAFセンサ3を駆動するための源振クロックを発生する。
マルチAFセンサ3は、複数の光電変換素子から構成されている。AFセンサ制御部7は、レジスタ部5の設定パラメータ値に従って、マルチAFセンサ3における各光電変換素子の電荷蓄積動作(積分動作)の制御や電荷蓄積状態の読み出し制御を司る。すなわち、AFセンサ制御部7は、マルチAFセンサ3を制御するための所定のパルスを発生させるシーケンサである。
マルチAFセンサ3は、AFセンサ制御部7の制御に従って、積分動作終了後に、積分結果(アナログ値)をセンサデータとして出力する。このセンサデータが、A/D変換部8へ、1画素毎に出力される。A/D変換部8は、順に1画素毎に出力されるセンサデータをデジタル値に変換して、後段の第1AF演算部9へ供給する。
AF演算は、以下の第1AF演算部9、第2AF演算部11、第3AF演算部13の3つに分かれている。
まず、第1AF演算部9は、1画素毎のセンサデータに後述する演算を実行する。この演算は、A/D変換部8がセンサデータを1画素出力するたびに、その画素出力に対して実行される。したがって、A/D変換しながら演算するので、第1AF演算部9の演算を行うことによるカメラ全体に及ぼすタイムラグの増加は、非常に微々たるものである。第1AF演算部9の演算結果は、第2メモリ部(図2の第2メモリ部207に相当する)10に格納されるとともに、第1メモリ部(図2の第1メモリ部205に相当する)14にも供給される。
第2メモリ部10には、AFセンサ制御およびAF演算用IC2の全ての演算結果が格納される。この第2メモリ部10内の演算結果を、シリアル通信部4を介して、AF制御部1に読み出しできる。
そして、第2AF演算部11は、第1AF演算部9の出力を演算するものであり、後述するがマルチAFセンサ3内の一対の光電変換素子の出力の相関を演算する相関演算を主たる演算とする。この相関演算は、AF制御部1内で演算すると演算時間が長くなるので、カメラ全体に及ぼすタイムラグ短縮のためにハードウェアで構成される第2AF演算部11で実行される。すなわち、第1AF演算部9及び第2演算部11は、足し算器や引き算器や掛け算器などから構成されるハードウェアである。第2AF演算部の演算結果は、第2メモリ部10へ格納される。
第2AF演算部11は、上記相関演算の他にも被写体のコントラストや単調変化性を判断するための演算も行う。これについても後述する。
さらに、合焦点検出エリアにおける第2AF演算部11の演算が終了すると、割り込み発生部12からAF制御部1へ所定の割り込み信号が供給され、演算が終了したことが報知される。
最後に、AF制御部1が上記割り込み信号を受信すると、第2メモリ部10から演算結果が読み出されて、AF制御部1内の第3AF演算部13によってAFの最終演算が実行される。
第3AF演算部13は、第2AF演算部11の相関演算結果の信頼性を演算する演算から始まって、不図示の撮影レンズのデフォーカス量を演算するまでを行う。この第3AF演算部13の演算は、繰り返し部分の演算部分が少なく、かつ、演算アルゴリズムが複雑で、かつ、変更の可能性もある演算であるのでハードウェアで実行するのは不向きである。また、相関演算のように長い演算時間を要しないので、マイクロコンピュータによる演算の方が向いている。
以上のような流れによって、マルチAFセンサ3を制御して最終的な出力である撮影レンズのデフォーカス量を演算する。
図4はカメラシステムに搭載されるAF機構を示している。TTL位相差AF方式を一眼レフレックスカメラに適用した場合の例で示す。
30は交換レンズで、フォーカスレンズ31を有している。フォーカスレンズ31は、光軸方向に駆動されることによって合焦状態を得る。32はフォーカスレンズ31を駆動するモータードライバである。33はレンズCPUで、カメラ本体からデフォーカス量を受信して、フォーカスレンズ31の駆動量を演算し、その駆動量だけフォーカスレンズ31を駆動制御する。34はメインミラーで、AF時は図示のようにダウンして、光束をAF光学系38とファインダ光学系36に分割するが、撮影時は上方へアップして、全光束を撮像素子44へ導く。35はファインダ用スクリーン、36はファインダ光学系、37はファインダ接眼レンズである。38はサブミラーで、メインミラー34がダウンしているときには光束をAF光学系39へ全反射し、メインミラー34がアップしているときには撮像素子44への光束を遮らない位置まで一緒にアップする。39はAF光学系で、これについては図5で詳細に説明する。
40はAFセンサで、AF光学系で分割された光束を内部の一対の光電変換素子列に入射して焦点検出のための信号を発生するもので、たとえば一対の光電変換素子列を複数もつマルチAFセンサであり、図3のマルチAFセンサ3に相当する。これについては、図5と図6で詳細に説明する。41はAF制御を司るCPUで、演算に先立ってレンズCPU33から演算に必要なレンズデータを受信し、演算結果であるデフォーカス量をレンズCPU33へ送信するもので、図3のAF制御部1に相当する。42はAFセンサ制御用およびAF演算用の演算集積回路(演算ICという)で、CPU41によって制御されることにより、AFセンサ40の制御およびAF演算の一部を司るもので、図3の演算IC2に相当する。
43はフォーカルプレーンシャッター、44は撮像素子(CCD)で、銀塩カメラであればフィルムに該当する。45は補助光回路で、被写体が低輝度で焦点検出が不能の場合に、焦点検出を補助する補助光を被写体へ向けて発光する。46は補助光投光用の投光レンズである。
図5に、AF光学系39およびAFセンサ40の構成を示している。公知のTTL位相差AF光学系の構成であるので、簡単に説明する。
撮影レンズ50が合焦状態にあるときには、撮影レンズ50を透過した光束は、AF光学系39の前面の仮想面である撮像等価面で合焦し、コンデンサレンズ52で集光および分割されてセパレータ絞り53で光束が絞られ、セパレータレンズ54でAFセンサ40内の受光部(光電変換素子)であるセンサアレイ55A上およびセンサアレイ55B上にそれぞれ結像される。
センサアレイ55Aとセンサアレイ55Bの結像間隔を測定することによって撮影レンズのデフォーカス量を測定する公知のTTL位相差AF方式が構築される。
図6は、AFセンサ40が4ライン3点式のマルチAFセンサである場合のセンサ構成を示している。中央点が縦ライン61と横ライン60のクロスセンサであり、左右の2点が縦ライン62,63のラインセンサである。すなわち、図5で示したような一対の光電変換素子列(センサアレイ55A,55B)が4ライン存在する構成となっている。
図7に、AFセンサ制御用およびAF演算用の演算IC42における第1AF演算部9および第2AF演算部11および第2メモリ部10内のデータの流れを示している。
図3に示したように、マルチAFセンサ3の出力は1画素毎にAD変換回路8によってアナログ信号からデジタル信号へ変換され、1画素の変換が完了するたびに第1AF演算部9へ送信される。第1AF演算部9は、オフセット補正演算回路15、照度補正演算回路16、微分フィルタ演算回路17で構成される。
A/D変換回路8の出力は、上記オフセット補正演算回路15へ入力される。オフセット補正演算回路15は、光電変換素子の各画素のオフセット出力(積分時間=0の場合に出力されるオフセット成分)を補正するものである。演算の詳細は後述する。
オフセット補正回路15の出力は、上記照度補正演算回路16へ入力される。照度補正演算回路16は、マルチAFセンサ3の前面に配置されているAF光学系39内のコンデンサレンズ52とセパレータレンズ54の周辺光量低下による照度不均一性を補正し、かつ、光電変換素子の各画素の感度ばらつきを補正するものである。演算の詳細は後述する。
照度補正演算回路16の出力は、上記微分フィルタ演算回路17へ入力される。微分フィルタ演算回路17は、微分処理を行ってDC成分を除去する演算を行う。演算の詳細は後述する。
オフセット補正演算回路15および照度補正演算回路16の演算時は、メモリ部10のオフセット補正・照度補正用データメモリ56に格納されている補正データを使用して補正演算を行う。
第1AF演算部9の出力は、センサデータとして第2メモリ部10内のセンサデータメモリ18へ格納される。センサデータメモリ18は、4ライン中の3ラインの画素の出力を格納する領域を持つ。センサデータメモリ18の内容は、AF制御回路1から読み出せるようになっている。
また、第1AF演算部9の出力は、センサデータとしてセンサデータフリップフロップ(FF)29に供給され、格納される。センサデータフリップフロップ29は、図3の第1メモリ部14に相当するもので、AF制御回路1による書き込みが可能となっている。
センサデータフリップフロップ29は、第2AF演算部11の各回路に対して並列にセンサデータを出力する。これに対し、センサデータメモリ18として、RAM(リード・オンリ・メモリ)が採用されている。一般にフリップフロップは、同一メモリ容量の場合にRAMに比較して回路規模が大きくなる。このため、センサデータフリップフロップ29は、4個のライン全ての容量を有さず、1個のラインに対応する画素出力を格納する領域を有する。このようにして回路規模が増大することを防止している。
従って、4個のラインのセンサデータは、読み出し順に、センサデータフリップフロップ29に上書きされるようになっている。つまり、4個のラインを読み出した場合は、最後に読み出したラインのセンサデータがセンサデータフリップフロップ29に格納されている。
また、センサデータメモリ18は、3個のライン分のメモリ容量を有しており、4個のラインが読み出された場合は最初の3個のラインのセンサデータが格納されるように構成されている。
このように、4個のラインのセンサデータに対して3個分をセンサデータメモリ18に、1個分をセンサデータフリップフロップ29に格納することにより、無駄なメモリ領域を持たず回路規模を小さくするようにしている。
ここで、センサデータフリップフロップ29およびセンサデータメモリ18には次の機能がある。まず、センサデータフリップフロップ29は、第1AF演算部9の出力を演算用として記憶するとともに、AF制御回路1による加工後のデータを再演算用として再記憶(更新記憶)する第1記憶手段として機能する。センサデータメモリ18は、第1AF演算部9の出力をAF制御回路1による加工用として記憶する第2記憶手段として機能する。
第2AF演算部11は、相関演算回路19、単調判定回路20、コントラスト判定回路21を有し、これら回路に対し、センサデータフリップフロップ29からそれぞれ独立してセンサデータを入力する。
上記相関演算回路19は、センサアレイ55Aのセンサデータとセンサアレイ55Bのセンサデータとの相関度合を演算する。この演算は、センサアレイ55Aとセンサアレイ55Bの結像間隔を演算するための最も重要な演算である。また、相関演算は、全AF演算の中で最も演算時間を要する演算個所であり、単純な演算の繰り返しなので、最もハードウェアでの演算に適するとともに、タイムラグの短縮効果も大きい演算個所である。相関演算結果は、メモリ部10内の相関演算結果メモリ22に格納され、AF制御回路1から読み出しできるようになっている。演算の詳細は後述する。
上記単調判定回路20は、相関演算回路19で相関演算を行うセンサデータが単調的に増減しているか否かを判定する回路である。この単調判定結果は、メモリ部10内の単調判定結果メモリ23に格納され、AF制御回路1から読み出しできるようになっている。ハードウェアの構成を簡単にするために、単に判定結果をメモリに残すように構成し、実際に判定結果を演算に反映するのはAF制御回路1内の第3AF演算部13が行う。演算の詳細は後述する。
上記コントラスト判定回路21は、相関演算回路19で相関演算を行うセンサデータのコントラストが有るか否かを判定する回路である。このコントラスト判定結果は、第2メモリ部10内のコントラスト判定結果メモリ24に格納され、AF制御回路1から読み出しできるようになっている。ハードウェアの構成を簡単にするために、単に判定結果をメモリに残すように構成し、実際に判定結果を演算に反映するのはAF制御回路1内の第3AF演算部13が行う。演算の詳細は後述する。
以上の第1AF演算部9および第2演算部11における各演算回路は、繰り返し演算が多く、また、既に確立した演算技術なので後に演算仕様の変更の可能性もなく、また、特に相関演算回路19は仮にマイクロコンピュータで演算すると多大な演算時間を必要とする回路である。したがって、ハードウェアでの演算に適する。
AF制御回路1は、不図示のフラッシュROMに格納されているAF演算アルゴリズムのプログラムにしたがってAFの演算を行う第3AF演算部13を含み、メモリ部10の各メモリ領域からデータを読み出して、以下のような演算を行って撮影レンズ50のデフォーカス量を演算する。すなわち、第3AF演算部13は、最小値/極値判定回路25、信頼性判定回路26、デフォーカス量演算回路27、デフォーカス量補正演算回路28、センサデータ加工回路57を有している。
上記最小値/極値判定回路25は、相関演算結果メモリ22、単調判定結果メモリ23、およびコントラスト判定結果メモリ24のデータから相関演算結果の極小値を選択していき、その最小値などを選択する回路である。演算の詳細は後述する。
上記信頼性判定回路26は、最小値/極値判定回路25の判定結果(選択結果)に基づいて、相関演算の信頼性を判定する回路である。演算の詳細は後述する。
上記デフォーカス量演算回路27は、最小値/極値判定回路25および信頼性判定回路26の判定結果に基づいて、センサアレイ55Aとセンサアレイ55Bの結像位置の像間隔(2像間隔)を演算し、その像間隔に基づいて撮影レンズ50のデフォーカス量を演算する回路である。演算の詳細は後述する。
上記デフォーカス量補正演算回路28は、デフォーカス量演算回路27で演算したデフォーカス量を補正するものであり、温度や収差などに関するデフォーカス量の補正を行って、最終的にレンズCPU33に送信するデフォーカス量を演算する回路である。演算の詳細は後述する。
上記センサデータ加工回路57は、演算が不能の場合や演算の信頼性が低く採用できない場合に、センサデータメモリ18またはセンサデータフリップフロップ29より読み出したセンサデータを加工処理する回路である。加工したセンサデータは、センサデータフリップフロップ29に出力して書込まれる。
演算IC2は、AF制御回路1からのレジスタ設定により、第2AF演算部11のみの動作が可能なように構成されている。AF制御回路1からのレジスタ設定により、加工したセンサデータに基づいて第2AF演算部11にて再度演算が行われる。上記加工処理の詳細は後述する。
以上の第3AF演算部13内部の各演算は、繰り返し演算が少なく、また、後に演算仕様の変更の可能性もある、また、マイクロコンピュータで演算しても多大な演算時間を必要とするブロックではない。したがって、マイクロコンピュータでの演算に適する。
図8は演算IC2におけるAFセンサ制御と演算のタイムチャートである。
図6で説明したように、AFセンサ40は4つの独立したエリア(光電変換素子列が4ライン存在する構成)を持っている。まず、CPU41は積分条件(感度等の積分に必要な条件)をレジスタ部5へ設定する。さらに、AFセンサ制御部7をレジスタ部5を介して動作させ、4エリア一斉にAFセンサ40の積分動作を開始する。
積分動作の開始後、AFセンサ40は適正な電荷蓄積量になると不図示の内部回路が動作して積分を停止する。各エリアに当っている光の量がそれぞれ異なるので、積分終了時は各エリアでばらばらになる。
最も積分時間の長い(最も暗い)エリアの積分が終了すると、AFセンサ制御部7をレジスタ部5を介して動作させてA/D変換部8を制御し、AFセンサ40が出力する1画素毎のアナログ出力をデジタル信号に変換する。この各画素出力は、例えばAFセンサ40が出力する十数μs周期のパルス波形に同期して、アナログ信号で出力されるものであり、A/D変換部8はこのパルス波形に同期してデジタル信号に変換する。
エリア1〜4の順で画素出力が読み出されていき、画素信号が1画素分読み出されるたびに、その画素出力に対応する第1AF演算部9の演算を行う。すなわち、第1AF演算部9は、十数μs以内にその画素の演算処理を終了させればよく、ハードウェア演算器にとっては十分処理可能な時間である。したがって、第1AF演算部9を実行することによるタイムラグの増加はほとんど無いように構成される。
エリア1の最終画素出力が終了すると、引き続いてA/D変換部8はエリア2の読み出しを開始する。第1AF演算部9は、エリア1の最終画素出力に対する演算処理を行った後に、第2AF演算部11の演算処理を行う。
エリア1に対する第2AF演算部の処理は、エリア2のA/D変換中(すなわち、エリア2の第1AF演算部の処理中)に並行して実行する。すなわち、第2AF演算部11は、(十数μs×エリア1の画素数)以内にその画素の演算処理を終了させればよく、それが達成できるようなハードウェア演算器の構成にする必要がある。したがって、第2AF演算部11を実行することによるタイムラグの増加がほとんど無いように構成される。
以上説明したようなエリア1の読み出しおよび演算処理を、全エリアについて行う。エリア4の第2AF演算部11の演算終了すると、割り込み発生部12はCPU41へ割り込み信号を出力して、演算が終了したことを知らせる。
そして、CPU41は割り込み信号を受信するとメモリ部10から演算結果をシリアル通信部4を介して読み出し、第3AF演算部13でマイクロコンピュータによる演算を行う。
この第3AF演算部13での演算が終了すると、焦点検出演算の最終演算結果である撮影レンズのデフォーカス量が演算される。
図9は、演算の順序を示すラフなタイムチャートである。
第1AF演算部9は、A/D変換部8の出力を受けて、まずオフセット補正演算を行い、引き続いて照度補正演算を行い、最後に微分フィルタ演算を行う(図8および図9の演算1)。
さらに、第2AF演算部11は、第1AF演算部9の出力を受けて、コントラスト判定と単調判定と相関演算の3つを並行して行う(図8および図9の演算2)。
また、第2AF演算部11は、後述するように、AFセンサの1ラインに相当する測距エリアを3分割(中央測距枠、左測距枠、右測距枠)した検出回路にてそれぞれ演算を行う。図9に示すように、コントラスト判定、単調判定、相関演算の各演算に対して、それぞれ上記3回路(中央測距枠、左測距枠、右測距枠)の演算を並列に実行する。
また、第2AF演算部11は、後述するように、AFセンサの1ラインに相当する測距エリアを3分割(中央測距枠、左測距枠、右測距枠)した検出回路にてそれぞれ演算を行う。図9に示すように、コントラスト判定、単調判定、相関演算の各演算に対して、それぞれ上記3回路(中央測距枠、左測距枠、右測距枠)の演算を並列に実行する。
このようにして、上記3回路を時分割(直列)で演算するのに対して、演算時間を約1/3に短縮し高速化している。
さらに、第3AF演算部13は、第2AF演算部11の出力を受けて、まず最小値/極値判定を行い、引き続いて信頼性判定を行い、引き続いてデフォーカス量演算を行い、引き続いてデフォーカス量補正演算を行う。
まず、第1AF演算部9内のハードウェアによる演算構成を説明する。
以下に各演算ブロックの詳細を説明する。
理想的に均一輝度面を撮像しても、実際にはAF光学系レンズ(コンデンサレンズ52、セパレータレンズ54)の周辺光量低下、および、画素個々の感度ばらつき(傾き成分、オフセット成分)によってフラットなセンサ出力にはならない。
このようにAF光学系およびセンサ画素特性に関わるノイズ成分を補正する補正を総称してここではフラットネス補正といい、理想的な均一輝度面を撮像した場合にセンサ出力がフラットになるように補正を行う。
フラットネス補正には、オフセット補正と照度補正があり、画素個々のオフセット成分(固定パターンノイズ除去)を補正することをここではオフセット補正と呼び、AF光学系の周辺光量低下と各画素の感度ばらつきを補正することをここでは照度補正と呼ぶ。
図10は、オフセット補正の概念図である。
光電変換素子は電荷蓄積時間(積分時間)とその出力(センサデータ)がほぼ比例するので、各画素毎に傾きがやや異なるが、図10のような出力特性となる。この原点付近(図示破線で囲んだ部分)を拡大すると、図11に示すように、積分時間=0でも各画素によってわずかな出力差が生じる。この成分がオフセット成分(固定パターン成分)であり、オフセット補正とはこのオフセット量をあらかじめ測定しておき、センサデータにその量を補正して各画素で同図原点を通るようにするものである。
図12に、オフセット補正演算回路15のハードウェア動作を示している。
入力、出力として以下がある。
入力:A/D変換回路8の出力D(i)[A/D変換回路8の出力値]
センサ感度データ(KAND、1ビット)[レジスタ部5の設定値]
オフセット補正データO1(i)、O2(i)[オフセット補正・照度補正用データメモリ]
画素セレクトデータ(1ビット)[レジスタ部5の設定値]
出力:補正後のデータD’(i)
ここで、A/D変換回路8の出力D(i)は、画素出力そのものである。
センサ感度データ(KAND、1ビット)[レジスタ部5の設定値]
オフセット補正データO1(i)、O2(i)[オフセット補正・照度補正用データメモリ]
画素セレクトデータ(1ビット)[レジスタ部5の設定値]
出力:補正後のデータD’(i)
ここで、A/D変換回路8の出力D(i)は、画素出力そのものである。
センサ感度データ(KAND)は、AFセンサ40の感度を示している。AFセンサ40には低感度モードと高感度モードがあり、感度によってオフセット成分が異なるためである。
オフセット補正データO1(i)およびO2(i)は、各感度毎のオフセット補正データ(O1(i)は低感度モードでの補正データ、O2(i)は高感度モードでの補正データ)である。これらの補正データは工場での製造工程において各ボディー毎に測定され、AF制御回路1内の不図示のFROM内に格納されている。オフセット補正開始に先立って、オフセット補正・照度補正用データメモリ56にあらかじめ補正データが設定されている。
また、オフセット補正は最初の演算であるので、レジスタ5に設定された画素セレクト情報によって有効画素の演算のみを行うようにしている。すなわち、A/D変換回路8の出力は遮光画素やダミー画素の出力も含んでいるので、有効画素のみをセレクトして以後の演算部に出力する。
まず、高感度用オフセット補正データ70と低感度用オフセット補正データ71(例えば、8ビットデータ)のどちらかを補正値として使用するかを、センサ感度データ(KAND)72にしたがってセレクタ73で補正値として選択し、後段のレジスタ(16ビット)74へ送信する。
一方、AD変換回路出力75(例えば10ビットセンサデータ)がAD変換終了のたびに1画素毎にセレクタ76(例えば、16ビット単位で演算)に出力される。
画素セレクト情報(1ビット、“1”は補正する(有効画素)、“0”は補正しない(無効画素))77から今回何画素目の画素データを読み出しているのかをセレクタ78で選択し、セレクタ76はセレクタ78が“1”のときのみ後段のレジスタ(16ビット、上位6ビット=0)79にAD変換回路出力75の出力を送信する。
引き算器80は、レジスタ79の出力(例えば、16ビット)D(i)からレジスタ74の出力(例えば、8ビット)O(i)を引き算し、その結果D’(i)をレジスタ(16ビット、上位6ビット=0)81へ出力する。
D’(i)=D(i)−O(i)
最後に、レジスタ81に格納された結果(例えば、16ビット中に有効10ビットで上位6ビットは0)D’(i)は、次の照度補正回路16へ送信される。
D’(i)=D(i)−O(i)
最後に、レジスタ81に格納された結果(例えば、16ビット中に有効10ビットで上位6ビットは0)D’(i)は、次の照度補正回路16へ送信される。
図13は、照度補正の概念図である。
図10でも説明したように、積分時間とセンサ出力(センサデータ)とがほぼ比例する。各画素毎に感度ばらつきがあるので図10のように各画素毎に傾きがやや異なる。照度補正は、この感度ばらつきと光学系の周辺光量低下を補正するものであり、全画素である特定感度(ここでは、中間感度)の画素に出力を合わせるように補正する。
すなわち、感度が低い画素には、“1”以上の係数を掛け算して出力を増大させ、逆に感度が高い画素には、“1”未満の係数を掛け算して出力を低下させる。
図14および図15は、均一輝度面を撮像したときの照度補正前後の出力を示している。横軸には各画素の並びをとっていて、隣り合う画素の出力を結んだものである。
補正前のデータは光学系の周辺光量低下と各画素の感度ばらつきによって、おわん型にぎざぎざした出力になるが、補正後のデータはフラットな出力になる。
各画素の補正係数をあらかじめ測定しておき、補正前のセンサデータにその量を掛け算し、均一輝度面の出力が各画素で同じになるようにするものである。
図16は、照度補正回路16のハードウェア動作を示す図である。
入力、出力として以下がある。
入力:オフセット補正演算回路の出力D’(i)[レジスタ81の出力値]
センサ感度データ(KAND、1ビット)[レジスタ72の値、オフセット補正と同じ]
照度補正データH1(i)、H2(i)[オフセット補正・照度補正用データメモリ56]
出力:補正後のデータD’’(i)
照度補正データH1(i)およびH2(i)は、各感度毎の照度補正データ(H1(i)は低感度モードでの補正データ、H2(i)は高感度モードでの補正データ)である。これらの補正データは工場での製造工程において各ボディー毎に測定され、AF制御回路1内の不図示のFROM内に格納されている。照度補正開始に先立って、オフセット補正・照度補正用データメモリ56にあらかじめ補正データが設定されている。
センサ感度データ(KAND、1ビット)[レジスタ72の値、オフセット補正と同じ]
照度補正データH1(i)、H2(i)[オフセット補正・照度補正用データメモリ56]
出力:補正後のデータD’’(i)
照度補正データH1(i)およびH2(i)は、各感度毎の照度補正データ(H1(i)は低感度モードでの補正データ、H2(i)は高感度モードでの補正データ)である。これらの補正データは工場での製造工程において各ボディー毎に測定され、AF制御回路1内の不図示のFROM内に格納されている。照度補正開始に先立って、オフセット補正・照度補正用データメモリ56にあらかじめ補正データが設定されている。
照度補正データは前述の補正係数であり、“1”前後の値であるので、例えば整数部が1ビット、小数部が8ビットの合計9ビットで構成されている。
まず、高感度用照度補正データ(9ビット)82と低感度用照度補正データ(9ビット)83のどちらかを補正値として使用するかを、センサ感度データ(KAND)72にしたがってセレクタ84で補正値として選択し、後段のレジスタ85(16ビット、上位7ビット=0)へ補正データH(i)として送信する。
掛け算器86は、オフセット補正結果のレジスタ81の出力D’(i)とレジスタ85の出力H(i)を掛け算し、その結果D’’(i)をレジスタ87へ出力する。
D’’(i)=D’(i)×H(i)
最後に、レジスタ87に格納された結果(例えば16ビット中に有効10ビットで上位6ビットは0)は、次の微分フィルタ演算回路17へ送信される。
D’’(i)=D’(i)×H(i)
最後に、レジスタ87に格納された結果(例えば16ビット中に有効10ビットで上位6ビットは0)は、次の微分フィルタ演算回路17へ送信される。
図17は、微分フィルタ演算の概念図である。
照度補正演算の結果を、例えば4画素隣の画素との変化分をとると、微分処理を行ったことになる。この微分処理を行ったセンサデータを、後段の相関演算などを行う演算対象センサデータとする。
これにより低周波成分が除去できる。特にローコン気味の被写体において検出精度向上が期待できる。
また、センサアレイ55Aのセンサデータと、センサアレイ55Bのセンサデータとのレベル差が除去されるので、レベル差の影響による相関演算の信頼性低下がなくなる。
図18は、微分フィルタ演算回路17のハードウェア動作を示す図である。
入力、出力として以下がある。
入力:照度補正回路の出力D’’(i)[レジスタ87の出力値]
微分演算のオフセット値[レジスタ部5の設定値]
微分フィルタ演算を実行するか否かのオン/オフレジスタ[レジスタ部5の設定値]
出力:微分フィルタ演算後のデータD’’’(i)
すでに説明したように、A/D変換回路8が1画素変換終了する毎に照度補正演算が実行され、その結果がレジスタ87に順次格納されていく。微分演算フィルタは、例えば4画素隣の画素との差分を出力とするので、4画素隣の画素の照度補正演算の終了を待って順次演算を行う。
入力:照度補正回路の出力D’’(i)[レジスタ87の出力値]
微分演算のオフセット値[レジスタ部5の設定値]
微分フィルタ演算を実行するか否かのオン/オフレジスタ[レジスタ部5の設定値]
出力:微分フィルタ演算後のデータD’’’(i)
すでに説明したように、A/D変換回路8が1画素変換終了する毎に照度補正演算が実行され、その結果がレジスタ87に順次格納されていく。微分演算フィルタは、例えば4画素隣の画素との差分を出力とするので、4画素隣の画素の照度補正演算の終了を待って順次演算を行う。
まず、レジスタ88に演算を行う対象の照度補正回路出力を格納し、4画素隣の相手画素の照度補正演算回路出力がレジスタ89に出力完了となるのを待つ。
そして、レジスタ90に格納された微分演算のオフセット値(OFFSET)と、レジスタ(16ビット(上位6ビット=0))88の値を足し算器91で足し算する。このオフセット値の役割は、微分フィルタ演算の結果が負の数になると後段の相関演算の演算器が複雑になるので、そのようにならないようにするものである。また、引き算演算よりも先にオフセット値を足す理由は、途中で負の数が出ないようにして演算器の構成を簡単にするためである。
そして、その足し算結果から、レジスタ89に出力された4画素隣の結果を引き算器92で引き算し、結果をレジスタ(16ビット(上位6ビット=0))93に格納する。
また、フィルタ演算を実行するか否かを決定するフィルタ演算オン/オフレジスタ94にしたがって、セレクタ95はレジスタ88かレジスタ93のいずれかの値を後段のセレクタ96へ出力する。セレクタ96は、現在何番目の画素の処理を行っているかによって、メモリに格納するアドレスを選択する。
最後に、セレクタ96で選択されたアドレスのセンサデータメモリ18に微分フィルタ演算結果を格納する。フィルタ演算オン/オフレジスタ94にフィルタ演算を実行すると設定されている場合には、センサデータメモリ18の最後の4画素分のデータは存在しない。それは4画素隣の画素が存在しないからである。
以上説明したようにハードウェアを構成すれば、ハードウェアによって演算の高速化が実現できるので、AD変換回路8の変換動作とほぼ並行して3つの演算処理(オフセット補正、照度補正、微分フィルタ演算)を行うことができ、演算処理を行うことによるタイムラグの増加はなくなる。
次に、第2AF演算部11内のハードウェアによる演算構成を説明する。まず、相関演算回路19について説明する。
図19は、1エリアを3つに分割して相関演算を行うイメージ図である。
1つの測距エリア100を、左測距枠(1枠)101、中央測距枠(2枠)102、右測距枠(3枠)103の3つに分割して相関演算を行う。分割する理由としては、被写体が測距エリア100の端部に位置していても検出可能にするためである。
すなわち、1つの測距エリアにつき3枠の相関演算とコントラスト判定と単調判定を行うことになる。
図20は、中央測距枠102内の相関演算のシフトを説明する図である。
ある1つの測距エリア内のセンサアレイ55Aの出力(微分フィルタ演算結果、センサデータメモリ18)が60画素、同じくセンサアレイ55Bの出力が60画素、それぞれ存在する例である。ここでは、センサアレイ55Aの出力をL(左)センサデータ(16ビット)、センサアレイ55Bの出力をR(右)センサデータ(16ビット)と定義し、全“120”画素を左の先頭画素から通し番号を付して描いている。
一番上の28画素の相関ブロック(図の点々部)についてみると、右の先頭画素の番号が“93”で左の先頭画素の番号が“1”なので、右−左のずれ量は92画素になる。
以下、図20のように左右を千鳥配置に64画素分シフトすると、中央測距枠102内の相関演算のシフトが構成され、ずれ量29画素〜92画素の検出能力を持つ。
各シフト位置において、左右の相関ブロックについて以下の演算を行う。
F=Σ|DL(i)−DR(i)|(i=1〜28)
ここで、DL(i):左の相関ブロック内i番目の出力
DR(i):右の相関ブロック内i番目の出力
F:相関値
このFの値が相関値であり、左右の相関ブロック内の出力が似ている(相関が高い)ほどF値は小さい値になる。ここではFの値をハードウェアで演算を行う。
ここで、DL(i):左の相関ブロック内i番目の出力
DR(i):右の相関ブロック内i番目の出力
F:相関値
このFの値が相関値であり、左右の相関ブロック内の出力が似ている(相関が高い)ほどF値は小さい値になる。ここではFの値をハードウェアで演算を行う。
各シフトにおいて、相関値Fの演算結果を相関演算結果メモリ22に格納していく。
後述する単調判定結果も、左と右それぞれに単調判定結果メモリ23に相当するに格納する。また、コントラスト判定結果も、左と右それぞれにコントラスト判定結果メモリ24に格納する。
ここでは相関値Fの演算と単調判定とコントラスト判定を行うのみであり、この結果を使用してデフォーカス量の演算を行うのは第3AF演算部13である。このように単純な演算のみハードウェアに実行させることによって、ハードウェアの構成を簡単にできる。
図21は、左測距枠101内の相関演算のシフトを説明する図である。
左測距枠101では図のように相関ブロックを配置する。中央測距枠102はブロック内が28画素であったが、ここでは20画素とする。
一番上の20画素の相関ブロック(図の点々部)についてみると、右の先頭画素の番号が“69”で左の先頭画素の番号が“1”なので、右−左のずれ量は68画素になる。
以下、図21のように左右を43画素分シフトすると、左測距枠101内の相関演算のシフトが構成され、ずれ量26画素〜68画素の検出能力を持つ。
各シフト位置において、中央測距枠と同様の相関演算を行う。演算結果のメモリについては、中央測距枠と同様である。
図22は、右測距枠103内の相関演算のシフトを説明する図である。
右測距枠103では図のように相関ブロックを配置する。左測距枠101と同様にブロック内は20画素とする。
一番上の20画素の相関ブロック(図の灰色部)についてみると、右の先頭画素の番号が“100”で左の先頭画素の番号が“32”なので、右−左のずれ量は68画素になる。
以下、図22のように左右を43画素分シフトすると、右測距枠103内の相関演算のシフトが構成され、ずれ量33画素〜68画素の検出能力を持つ。
各シフト位置において、中央測距枠と同様の相関演算を行う。演算結果のメモリについては、中央測距枠と同様である。
図23は、相関演算回路19のハードウェア動作を示す図である。
入力、出力として以下がある。
入力:左センサデータDL(i)
右センサデータDR(i)[微分フィルタ演算回路17の出力であり、センサデータメモリ18の格納値]
シフト数の値SFT(今回の演算が図15〜図17の何番目のシフト番号の演算であるかを示す)
エリア番号EREA(今回の演算が1〜4のどのエリアの演算であるかを示す)
枠番号WAKU(今回の演算が中央左右のどの枠内の演算であるかを示す)
出力:相関演算結果F(k)(k=1〜SFT)
図21で説明した中央測距枠102の場合で説明する(EREAとWAKUはしかるべき値に設定されているとする)。
入力:左センサデータDL(i)
右センサデータDR(i)[微分フィルタ演算回路17の出力であり、センサデータメモリ18の格納値]
シフト数の値SFT(今回の演算が図15〜図17の何番目のシフト番号の演算であるかを示す)
エリア番号EREA(今回の演算が1〜4のどのエリアの演算であるかを示す)
枠番号WAKU(今回の演算が中央左右のどの枠内の演算であるかを示す)
出力:相関演算結果F(k)(k=1〜SFT)
図21で説明した中央測距枠102の場合で説明する(EREAとWAKUはしかるべき値に設定されているとする)。
まず、SFT=“1”となり、図20のシフト図の一番上の相関ブロック内の相関演算が行われる。セレクタ109と110は、左右それぞれのセンサデータメモリ18の中から、そのブロックのみを抽出する(左は第1番目の画素を先頭とする28画素、右は第93番目の画素を先頭とする28画素)。
そして、セレクタ109が抽出した左センサデータ領域111の中から、セレクタ112は1つの画素をセレクトし(レジスタ113)、セレクタ110が抽出した右センサデータ領域114の中から、セレクタ115は1つの画素をセレクトする(レジスタ116)。
そして、引き算器117はレジスタ113とレジスタ116の値を引き算し、絶対値演算器118は引き算器117の結果の絶対値を演算する。積算演算器119は絶対値演算器118の結果を積算していく。
セレクタ112とセレクタ115の動作から積算演算器119の動作を所定回数(中央測距枠なら28回、左右測距枠なら20回)繰り返す。
すなわち、F=Σ|DL(i)−DR(i)|(i=1〜28)の演算が行われて、1つの相関ブロックの相関値Fが算出されるので、セレクタ120によって指定されるアドレスの相関演算結果メモリ22に格納する。セレクタ120は今回のSFT値によって格納するアドレスをセレクトする。
上記の演算を図20の全ての相関ブロックによって行い、全相関ブロックについて相関値Fが相関演算結果メモリ22に格納される。
そのためにセレクタ109とセレクタ110は、千鳥配置の図20のシフトにしたがってセンサデータをセレクトできるように構成される。
図21で説明した左測距枠101の場合と図22で説明した右測距枠103の場合も同様に相関演算回路19が構成される。
図24は、コントラスト判定の概念図である。
相関ブロック内のコントラストが十分であるか否かを判定する必要がある。コントラストの低い相関ブロックは十分なAF信頼性が無いからである。
図24のように、相関演算を行う相関ブロック内の最大出力値と最小出力値の差をコントラスト値として定義する。ここで、相関ブロック画素の両端2画素はコントラストチェックの対象から除外する。その理由は、端のみでコントラストがあっても相関演算に支障をきたすからである。
CONTRAST=MAX−MIN
このCONTRAST値を所定値と比較し、所定値以上のコントラストがあればコントラスト判定結果OK、所定値未満であればコントラスト判定結果NGとなる。
CONTRAST=MAX−MIN
このCONTRAST値を所定値と比較し、所定値以上のコントラストがあればコントラスト判定結果OK、所定値未満であればコントラスト判定結果NGとなる。
図25は、コントラスト判定回路21のハードウェア動作を示す図である。
入力、出力として以下がある。
入力:左センサデータDL(i)
右センサデータDR(i)
シフト数の値SFT、エリア番号EREA、枠番号WAKU[以上、相関演算回路19の入力と同じ]
コントラスト判定値CMIN[レジスタ部5の設定値]
出力:左測距枠(1枠)左のコントラスト判定結果CL1(k)(k=1〜SFT)
中央測距枠(2枠)左のコントラスト判定結果CL2(k)(k=1〜SFT)
右測距枠(3枠)左のコントラスト判定結果CL3(k)(k=1〜SFT)
左測距枠(1枠)右のコントラスト判定結果CR1(k)(k=1〜SFT)
中央測距枠(2枠)右のコントラスト判定結果CR2(k)(k=1〜SFT)
右測距枠(3枠)右のコントラスト判定結果CR3(k)(k=1〜SFT)
現在コントラスト判定中の左ブロックのコントラスト値ContL
現在コントラスト判定中の右ブロックのコントラスト値ContR
左のセンサデータに対するコントラスト判定動作と、右のセンサデータに対するそれは同じであるので、左のセンサデータに対する動作のみ説明する。
入力:左センサデータDL(i)
右センサデータDR(i)
シフト数の値SFT、エリア番号EREA、枠番号WAKU[以上、相関演算回路19の入力と同じ]
コントラスト判定値CMIN[レジスタ部5の設定値]
出力:左測距枠(1枠)左のコントラスト判定結果CL1(k)(k=1〜SFT)
中央測距枠(2枠)左のコントラスト判定結果CL2(k)(k=1〜SFT)
右測距枠(3枠)左のコントラスト判定結果CL3(k)(k=1〜SFT)
左測距枠(1枠)右のコントラスト判定結果CR1(k)(k=1〜SFT)
中央測距枠(2枠)右のコントラスト判定結果CR2(k)(k=1〜SFT)
右測距枠(3枠)右のコントラスト判定結果CR3(k)(k=1〜SFT)
現在コントラスト判定中の左ブロックのコントラスト値ContL
現在コントラスト判定中の右ブロックのコントラスト値ContR
左のセンサデータに対するコントラスト判定動作と、右のセンサデータに対するそれは同じであるので、左のセンサデータに対する動作のみ説明する。
セレクタ109の動作は、図23の相関演算回路19のハードウェア動作を示す図と同じである。セレクタ109が抽出した左センサデータ領域111(図23と同じ)の中で、端部の2画素を除外した領域121から最大値を示す値を最大値検出器123で抽出し、領域121から最小値を示す値を最小値検出器124で抽出する。
そして、引き算器125によって最大値検出器123の結果から最小値検出器124の結果を引き算し、その結果を相関ブロック内のコントラスト値としてレジスタ126(右の演算の場合にはレジスタ127)へ格納する。レジスタ126の値は、続く単調判定回路20で使用する。
さらに、引き算器128はコントラスト値である引き算器125の結果から、レジスタ129に格納されているコントラスト判定値を引き算する。その引き算結果の符号情報(キャリー、ボロー)130はコントラスト判定回路21の結果である。セレクタ131によって指定されるアドレスのコントラスト判定結果メモリ24に格納する。セレクタ131は今回のSFT値によって格納するアドレスをセレクトする。左右別、枠番号別に異なるメモリ領域に格納する。
以上のコントラスト判定動作を、相関演算動作と並行して実行する。コントラスト判定動作の実行時間の方が相関演算動作のそれよりも短く、コントラスト判定を実行することによるタイムラグの増加はない。
図26は単調判定の概念図である。
相関ブロック内のセンサデータが単調増加あるいは単調減少しているか否かを判定する必要がある。単調性のセンサデータでは十分なAF信頼性が無いからである。
単調変化チェックする範囲はコントラストチェックする範囲と同じ(端部2画素を除く)である。
チェック対象範囲内で隣合う画素との出力差の絶対値の和:Σ|D(i+1)−D(i)|を演算し以下のように判定する。
Σ|D(i+1)−D(i)|≦(コントラスト値×係数)
かつ
|D(i+1)−D(i)|の最大値≦最大判定値
ならば、単調変化していると判断する。
Σ|D(i+1)−D(i)|≦(コントラスト値×係数)
かつ
|D(i+1)−D(i)|の最大値≦最大判定値
ならば、単調変化していると判断する。
すなわち、完全に単調変化していれば、Σ|D(i+1)−D(i)|=コントラスト値であるので、ある程度の幅をとるために係数を掛ける。また、単調性があっても|D(i+1)−D(i)|の最大値がある程度のコントラストを持っていれば精度が高くAFできるので、このような場合には単調性があると判断しないようにする。
図27は、単調判定回路20のハードウェア動作を示す図である。
入力、出力として以下がある。
入力:左センサデータDL(i)
右センサデータDR(i)
シフト数の値SFT、エリア番号EREA、枠番号WAKU[以上、相関演算回路19の入力と同じ]
単調判定値LIMIT1[レジスタ部5の設定値]
単調判定係数COEFF[レジスタ部5の設定値]
相関ブロック内コントラスト値ContL、ContR[コントラスト判定回路の出力でレジスタ126と127]
出力:左測距枠(1枠)の単調判定結果SL1(k)
中央測距枠(2枠)の単調判定結果SL2(k)
右測距枠(3枠)の単調判定結果SL3(k)
左測距枠(1枠)の単調判定結果SR1(k)
中央測距枠(2枠)の単調判定結果SR2(k)
右測距枠(3枠)の単調判定結果SR3(k)
(k=1〜SFT)
左のセンサデータに対する単調判定動作と、右のセンサデータに対するそれは同じであるので、左のセンサデータに対する動作のみ説明する。
入力:左センサデータDL(i)
右センサデータDR(i)
シフト数の値SFT、エリア番号EREA、枠番号WAKU[以上、相関演算回路19の入力と同じ]
単調判定値LIMIT1[レジスタ部5の設定値]
単調判定係数COEFF[レジスタ部5の設定値]
相関ブロック内コントラスト値ContL、ContR[コントラスト判定回路の出力でレジスタ126と127]
出力:左測距枠(1枠)の単調判定結果SL1(k)
中央測距枠(2枠)の単調判定結果SL2(k)
右測距枠(3枠)の単調判定結果SL3(k)
左測距枠(1枠)の単調判定結果SR1(k)
中央測距枠(2枠)の単調判定結果SR2(k)
右測距枠(3枠)の単調判定結果SR3(k)
(k=1〜SFT)
左のセンサデータに対する単調判定動作と、右のセンサデータに対するそれは同じであるので、左のセンサデータに対する動作のみ説明する。
セレクタ109の動作は、図23の相関演算回路19のハードウェア動作を示す図と同じである。セレクタ109が抽出した左センサデータ領域111(図23と同じ)の中で、端部の2画素を除外した領域121内のセンサデータに対して単調判定を行う。ここまでは、コントラスト判定回路21と同じである。
セレクタ132は、領域121内から1画素データをセレクトし(レジスタ133)、さらにその隣の画素データをセレクトし(レジスタ134)、引き算器135はその引き算を行う。絶対値演算器136は引き算器135の結果の絶対値を演算し、積算演算器137は絶対値演算器136の結果を積算していく。
セレクタ132の動作〜積算演算器137の動作を所定回数(中央枠なら23回、左右枠なら15回)繰り返す。すなわち、Σ|DL(i)−DL(i+1)|の演算が行われて、その結果は引き算器138での演算に使用される。
そして、コントラスト判定回路21の出力であるコントラスト値結果格納レジスタ126の値と、判定係数格納レジスタ139の結果を掛け算器140で掛け算する。このレジスタ139の係数は、整数部1ビットおよび小数部8ビットであり、レジスタ126の値を所定倍する。掛け算器140の結果を判定値としてレジスタ141に格納する。
さらに、引き算器138は積算演算器137の結果から、レジスタ141に格納されている判定値を引き算する。その引き算結果の符号情報(キャリー、ボロー)142は単調判定回路20の結果の1つであり、アンド演算器148に送信される。
また、絶対値演算器136の最大値を最大値検出器144で検出し、続く引き算器145は最大値検出器144の結果から、レジスタ146に格納されているもう1つの判定値を引き算する。その引き算結果の符号情報(キャリー、ボロー)147は単調判定回路20の結果の1つであり、アンド演算器148に送信される。
アンド演算器148は、符号情報142と符号情報147の値のアンドを演算し、これが最終的な結果となる。
このように構成して、Σ|D(i+1)−D(i)|≦(コントラスト値×係数)、かつ、|D(i+1)−D(i)|の最大値≦最大判定値ならば、単調変化していると判定される。
セレクタ149によって指定されるアドレスのコントラスト判定結果メモリ24に格納する。セレクタ149は今回のSFT値によって格納するアドレスをセレクトする。左右別、枠番号別に異なるメモリ領域に格納する。
以上の単調判定動作を、相関演算動作と並行して実行する。単調判定動作の実行時間の方が相関演算動作のそれよりも短く、単調判定を実行することによるタイムラグの増加はない。
以上でハードウェアによる全演算を終了し、図8で説明したようにAF制御回路1へ演算終了を知らせる割り込み信号を送信し、AF制御回路1はその信号を受信すると以下のような第3AF演算部13の演算を行う。
図28は、第3AF演算部13の演算を示すフローチャートである。
ステップS1は、図8で説明したように、メモリ10に格納されている演算結果情報をシリアル通信部4を介してAF制御回路1の第3AF演算部13内のメモリ(不図示)に転送するステップである。
次に、ステップS2〜S7の繰り返しで、図29〜図33で説明するが、シフト数と相関値Fとの関係を求める。図20〜図22で説明した初期位置の相関ブロック(図20〜図22のシフト図の一番上の相関ブロック)からスタートし、同図一番下の相関ブロックまで全シフトにおいて、ステップS2〜S7を繰り返してシフト数と相関値Fの特性を求める。
ステップS2,S3は、相関ブロック内のコントラストが有るか否かを、第3AF演算部13内のメモリ(不図示)に転送されたコントラスト判定結果から判断するステップであり、左右相関ブロックの両方ともコントラストがあると判定されているかを判断する。コントラストが無い場合には、相関値Fを参照する相関ブロックの対象外なのでステップS7へ移行して、次の相関ブロックへシフトする。
ステップS4,S5は、相関ブロック内の単調性が有るか否かを、第3AF演算部13内のメモリ(不図示)に転送された単調判定結果から判断するステップであり、左右相関ブロックの両方とも単調性が無いと判定されているかを判断する。単調性が有る場合には、相関値Fを参照する相関ブロックの対象外なのでステップS7へ移行して、次の相関ブロックへシフトする。
ステップS6は、コントラストが有って、かつ単調性が無い相関ブロックについて、相関演算結果22の相関値の極値(最小値)とそのポイントを求める。これについて、図29〜図33で説明する。
ステップS7は、図20〜図22で説明した初期位置の相関ブロック(図20〜図22のシフト図の一番上の相関ブロック)の一番下の相関ブロックまでステップS2〜S7を繰り返したかを判定し、まだ次のブロックがある場合にはステップS2に移行する。
以上が最小値/極値判定回路25の動作に相当する。
以上、ステップS2〜S7によって、相関値Fとシフト数の関係が得られている。これについて図29〜図33で説明する。図29〜図33は、相関値Fとシフト数の関係を示している。
図29〜図33は、縦軸に相関演算結果22に格納されている相関値Fを、横軸に図20で説明した起点からのシフト数をとっている。
図29のように、通常はある1点の極小値(最小値)が存在して、このポイント付近で相関値Fが最も小さくなる。図28のステップS6は、この極小値の値とそのポイントをサーチするステップである。また、図30のように極小値と最小値が異なるケースもあるが、このような場合には極小値の方をサーチする。
また、図31のように、繰り返し模様の被写体などの場合には極小値が複数存在する場合もあるが、最小値と2番目に小さい極小値の2つをサーチして、その差があるスレッシュ値D_TH以下の場合には、AF不能と判断される。スレッシュ値D_THより大きい場合には、AF可能と判断される。
さらに、図32および図33のように、極小値が存在しない場合にもAF不能と判断される。
図28の説明に戻って、
ステップS8は、極小数=0かを判断をするステップであり、極小数=0ということは図32および図33で説明したような相関値の特性ということであり、このような場合にはAF不能なのでステップS25に移行して所定のAF演算可能フラグをクリアする。
ステップS8は、極小数=0かを判断をするステップであり、極小数=0ということは図32および図33で説明したような相関値の特性ということであり、このような場合にはAF不能なのでステップS25に移行して所定のAF演算可能フラグをクリアする。
ステップS9は、極小数=1かを判断をするステップであり、図29で説明したように通常は極小数=1であり、1個の極小数の場合にはステップS12に移行する。
ステップS10は、極小数≧2の場合に、図31で説明したように2番目に小さい極小相関値と最小相関値の差Dを演算するステップである。
ステップS11は、この差Dがあるスレッシュ値D_TH以下かを判断するステップであり、スレッシュ以下の場合にはAF不能なのでステップS25に移行する。
次に、ここまででAF不能と判断されていない場合には、信頼性係数の演算とその判定を行う。それに先立って、最小相関値を呈する相関ブロックポイントの両隣の相関ブロックの相関値を求める。
ステップS12は、最小相関ブロックより1つずれ量が大きい相関ブロック(図20〜図22でいえば、1つ上の相関ブロックにおける相関値)での相関値をメモリから読み出す。その結果をFPとする。
ステップS13は、最小相関ブロックより1つずれ量が小さい相関ブロック(図20〜図22でいえば、1つ下の相関ブロックにおける相関値)での相関値をメモリから読み出す。その結果をFMとする。
ステップS14は、ステップS12とステップS13の結果より、第1信頼性係数SK1を次式で演算する。
(1)FM>FPのとき
第1信頼性係数SK1=FM−FMIN
(2)FM≦FPのとき
第1信頼性係数SK1=FP−FMIN
ここで、FMINは最小相関値である。
第1信頼性係数SK1=FM−FMIN
(2)FM≦FPのとき
第1信頼性係数SK1=FP−FMIN
ここで、FMINは最小相関値である。
ステップS15は、ステップS12とステップS13とステップS14の結果より、第2信頼性係数SK2を次式で演算する。
(1)FM>FPのとき
SK2=(FMIN+FP)/SK1
(2)FM≦FPのとき
SK2=(FMIN+FM)/SK1
ステップS16は、SK1がある信頼性スレッシュSK1_TH(不図示のメモリに格納)よりも大きいかを判断するステップであり、SK1_THより大きい場合にはデータに信頼性が無いのでAF不能と判断され、ステップS25に移行する。
(1)FM>FPのとき
SK2=(FMIN+FP)/SK1
(2)FM≦FPのとき
SK2=(FMIN+FM)/SK1
ステップS16は、SK1がある信頼性スレッシュSK1_TH(不図示のメモリに格納)よりも大きいかを判断するステップであり、SK1_THより大きい場合にはデータに信頼性が無いのでAF不能と判断され、ステップS25に移行する。
ステップS17は、SK2がある信頼性スレッシュSK2_TH(不図示のメモリに格納)よりも小さいかを判断するステップであり、SK2_THより小さい場合にはデータに信頼性が無いのでAF不能と判断され、S27に移行する。
以上、ステップS8〜S17が信頼性判定回路26の動作に相当する。
ステップS18は、ここまで実行されるとAF演算が可能であるので、所定のAF演算可能フラグをセットする。このフラグはAF演算の可否を示すものであり、全エリアについて存在する。
ステップS19は、FMIN、FP、FMのデータより2像間隔ZRを次式で演算する。2像間隔とは図5で説明したように、センサアレイ55Aとセンサアレイ55Bの結像間隔のことである。
(1)FM>FPのとき
2像間隔 ZR=(右−左ずれ量)+((FM−FP)/SK1)/2
(2)FM≦FPのとき
2像間隔 ZR=(右−左ずれ量)−((FP−FM)/SK1)/2
ここで、(右−左ずれ量)は図20〜図22に記している左右のずれ量であり、どのシフトポイントで最小相関値となったかによって決まる。
(1)FM>FPのとき
2像間隔 ZR=(右−左ずれ量)+((FM−FP)/SK1)/2
(2)FM≦FPのとき
2像間隔 ZR=(右−左ずれ量)−((FP−FM)/SK1)/2
ここで、(右−左ずれ量)は図20〜図22に記している左右のずれ量であり、どのシフトポイントで最小相関値となったかによって決まる。
すなわち、この演算を行うことによって、これまで1画素ピッチの離散的な相関データから、補間された真の最小値となるシフト数が求まることになる(図34を参照)。
ステップS20,S19で求めた2像間隔から撮影レンズのデフォーカス量DFを求める。
センサ面ずれ量=2像間隔ZR−基準2像間隔ZR0
DF=係数B/(係数A−センサ面ずれ量)−係数C
ここで、基準2像間隔ZR0とは、撮影レンズが合焦となった状態での2像間隔のことであり、カメラボディー1台ごと固有の値となるので、工場での製造工程で調整されて、不図示のメモリに格納されている値である。
DF=係数B/(係数A−センサ面ずれ量)−係数C
ここで、基準2像間隔ZR0とは、撮影レンズが合焦となった状態での2像間隔のことであり、カメラボディー1台ごと固有の値となるので、工場での製造工程で調整されて、不図示のメモリに格納されている値である。
また、係数A〜CとはAF光学系39の特性によって光学的に決まる定数であり、合焦近辺が精度よく近似できるような係数である(不図示のメモリに格納)。
以上、ステップS18〜S20がデフォーカス量演算回路27の動作に相当する。
ステップS21は、デフォーカス量の温度による変化を補正する。一般にAF光学系39は温度によって変化するので、検出されるデフォーカス量も温度によって変化する。不図示の温度センサがAF光学系39の近傍に配置されており、温度出力に基づいて基準温度(2像間隔調整時の温度)との差に相当する補正量をデフォーカス量に補正する。
ステップS22は、像高誤差成分を補正する。像高誤差とはセンサアレイ上の位置によって検出デフォーカス量の差がわずかにあるので、それを補正する。
具体的には、図19で説明した中央測距枠102で検出されたデフォーカス量に対して、端部の左測距枠101あるいは右測距枠103で検出されたデフォーカス量がどれだけ差があるかを補正する。
ステップS23は、光源によるデフォーカス量の差(色収差)を補正する。不図示の光源センサの出力に基づいて、光源別に補正値を求めて補正する。
ステップS24は、撮影レンズの焦点距離によって検出デフォーカス量が異なるのでこれを補正する。工場での基準2像間隔の調整はある焦点距離での基準2像間隔であり、各焦点距離によって基準2像間隔がわずかに異なるので、この補正が必要である。焦点距離毎に補正値がレンズCPU33からCPU41にレンズデータとして送信されており、このレンズデータに基づいて補正値を求めて補正する。
以上、ステップS21〜S24がデフォーカス量補正回路28の動作に相当する。第3AF演算部13での演算は、繰り返し演算部分が少なく、あるいは、判断分岐などが多くてハードウェアでの演算に不向きであり、また、特にデフォーカス補正回路28はレンズデータも絡んで補正仕様が後に変更になることが多い。よって、第3AF演算部13での演算はマイクロコンピュータでの演算に向いている。
ステップS25は、すでに説明したように、AF検出不能の場合に所定のAF演算可能フラグをクリアし、ステップS26に移行する。
ステップS26は、以上の演算を全エリアについて行うので、未演算エリアがある場合にはステップS2に戻る。
一方、ステップS17で信頼性なしと判定された場合は、ステップS27に移行する。ここでは、センサデータに加工処理を施して再度AF演算を実行することにより、検出不能(信頼性なし)であったものが検出可能(信頼性あり)に改善されるのを目的とした処理が行われる。
ステップS27は、センサデータの加工処理を実行しているか否かを判別する。すでに加工済みの場合は、ステップS25に移行する。未加工の場合はステップS28に移行する。
ステップS28は、対象となるセンサデータを、センサデータメモリ18またはセンサデータフリップフロップ29から読み出す。
ステップS29は、センサデータに対して加工処理を施す。
ステップS30は、加工処理したセンサデータをセンサデータフリップフロップ29に書き込む。
ステップS31は、AF演算IC2のレジスタ設定を行い、AF演算IC2内の第2AF演算部11によるハードウェア演算である演算2を実行させる。その後は、ステップS1よりの処理を繰り返して実行する。
加工処理後のセンサデータに演算2を実行することにより、検出不能であったものが検出可能となり、ステップS17においてステップS18に移行することが可能となる。
以上によって第3AF演算部13の演算が終了し、出力として各エリア毎にAF検出可能フラグと、検出可能の場合には補正後のデフォーカス量が求まっている。
AF制御回路1は、これらの情報から最終的に選択するエリアを所定のアルゴリズムによって決定し、このエリアの補正後のデフォーカス量をレンズCPU33へ送信して、レンズCPU33は送信されたデフォーカス量に基づいてフォーカスレンズ31を駆動制御して合焦状態を得る。
次に、図28のステップS29において、センサデータ加工回路57がセンサデータに施す加工の例について詳細に説明する。
被写体が逆光の状態でAF動作を行った場合に発生するフレアー光の影響について説明する。
交換レンズ30を介して入射したフレアー光が、さらにAF光学系39を介してAFセンサ40の受光部に入射した場合に、図35に示すようなセンサデータの変形が発生する。
つまり、一対のセンサアレイ55A,55Bの一方にのみフレアー光が入射するために、一方のセンサデータのみ一定レベル分増加したアンバランスなセンサデータとなってしまう。位相差検出方式は原理的に一対のセンサデータ(像)の相似性を利用するので、このような場合は検出不能となってしまう。
このような問題を解決するために、フレアーが発生しているか否かを判定し(フレアー判定)、フレアーが発生している場合は、これを加工して(フレアー補正して)正しく検出可能な状態とする処理を行う。
図35と、図36のフローチャートに基づいて説明する。
ステップS200は、フレアー判定であり、センサアレイの全体画素数のうち、所定のフレアー判定画素数の左中央部の総和ΣDL、右中央部の総和ΣDRの差の絶対値を予め決められたフレアー判定スレッシュFR_THと比較する。
|ΣDL−ΣDR|≦FR_THの場合は、フレアー判定フラグをクリアする。
|ΣDL−ΣDR|>FR_THの場合は、フレアー判定フラグをセットする。
ステップS201は、フレアー判定フラグが0の場合は、フレアーではないのでリターンする。フレアー判定フラグが1の場合は、フレアーと判定してS202に移行する。
ステップS202は、フレアー補正であり、フレアーと判定されると、左右のうち出力が小さい方のセンサデータに左右のアンバランス分を加算してアンバランスを除去する。具体的には、以下の場合分けと計算を行う。フレアー判定画素数は、図35に示すように、全画素中で所定数の画素出力に基づいてアンバランス量を測定するための画素数である。
ΣDL<ΣDRの時、
DL’(i)=DL(i)+|ΣDL−ΣDR|/フレアー判定画素数
ΣDL>ΣDRの時、
DR’(i)=DR(i)+|ΣDL−ΣDR|/フレアー判定画素数
(DL’,DR’:補正後センサデータ、i=1〜センサアレイ全体画素数)
ステップS202の後、リターンとなる。
DL’(i)=DL(i)+|ΣDL−ΣDR|/フレアー判定画素数
ΣDL>ΣDRの時、
DR’(i)=DR(i)+|ΣDL−ΣDR|/フレアー判定画素数
(DL’,DR’:補正後センサデータ、i=1〜センサアレイ全体画素数)
ステップS202の後、リターンとなる。
以上が図28のステップS29における処理の説明である。
このように、センサデータの左右のアンバランスを除去した後の加工処理されたセンサデータに基づいて、第2AF演算部11による演算を実行すれば、信頼性が高まり検出可能となる効果が得られる。
[2]第2の実施形態について説明する。
図28のステップS29において、センサデータ加工回路57がセンサデータに施す加工の別の例を、第2の実施形態として説明する。
図28のステップS29において、センサデータ加工回路57がセンサデータに施す加工の別の例を、第2の実施形態として説明する。
第1の実施形態と同様に、左右一対のセンサデータのアンバランスを補正するための加工処理として、下記の計算を行う。
DL’[i]=−DL[i]+2・DL[i+s]−DL[i+2s]
DR’[i]=−DR[i]+2・DR[i+s]−DR[i+2s]
i=1〜n−2−2s
sは“1”から“10”程度の整数であり、数値が大きいほど被写体パターンに含まれる低周波数成分を抽出し、数値が小さいほど被写体パターンに含まれる高周波数成分を抽出する。
DR’[i]=−DR[i]+2・DR[i+s]−DR[i+2s]
i=1〜n−2−2s
sは“1”から“10”程度の整数であり、数値が大きいほど被写体パターンに含まれる低周波数成分を抽出し、数値が小さいほど被写体パターンに含まれる高周波数成分を抽出する。
以上の処理を行うことにより、一対のセンサデータのアンバランスが補正されたセンサデータが得られるので、第1の実施形態で述べた第2AF演算部11による演算処理である演算2を再度実行することにより検出可能となる。
[3]第3の実施形態について説明する。
図28のステップS29において、センサデータ加工回路57がセンサデータに施す加工の別の例を、第3の実施形態として説明する。
図28のステップS29において、センサデータ加工回路57がセンサデータに施す加工の別の例を、第3の実施形態として説明する。
センサデータに高周波ノイズがのっている場合には、低域通過型フィルタ演算を使用することが有効なことは、一般的に知られている。
詳細は特開平8−94916に記載されているので説明は省略する。このような低域通過型フィルタ演算の処理を適用した場合について、以下に説明する。具体的にはセンサデータに対して下記の計算を行う。
DL’(i)={DL(i−1)+2DL(i)+DL(i+1)}/4
DR’(i)={DR(i−1)+2DR(i)+DR(i+1)}/4
以上の処理を行うことにより、高周波ノイズが除去されたセンサデータが得られるので、第1の実施形態で述べた第2AF演算部11による演算である演算2を再度実行することにより検出可能となる。
DR’(i)={DR(i−1)+2DR(i)+DR(i+1)}/4
以上の処理を行うことにより、高周波ノイズが除去されたセンサデータが得られるので、第1の実施形態で述べた第2AF演算部11による演算である演算2を再度実行することにより検出可能となる。
[4]他の実施形態
図28のステップS29において、センサデータ加工回路57がセンサデータに施す加工処理については、その他、種々の加工方法がある。例えば、所定の周波数を通過させる帯域通過フィルタ処理や、第1の実施形態で述べた微分フィルタ(高域通過フィルタ)のカットオフ周波数を変更した微分フィルタ処理等がある。
図28のステップS29において、センサデータ加工回路57がセンサデータに施す加工処理については、その他、種々の加工方法がある。例えば、所定の周波数を通過させる帯域通過フィルタ処理や、第1の実施形態で述べた微分フィルタ(高域通過フィルタ)のカットオフ周波数を変更した微分フィルタ処理等がある。
その他、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合わせてもよい。
1…AF制御部(制御手段)、2…演算IC、3…マルチAFセンサ、5…レジスタ部、7…AFセンサ制御部、8…A/D変換部、9…第1AF演算部、10…第2メモリ部(第2制御手段)、11…第2AF演算部、13…第3AF演算部、14…第1メモリ部(第1制御手段)、15…オフセット補正演算回路、16…照度補正演算回路、17…微分フィルタ演算回路、18…センサデータメモリ、19…相関演算回路、20…単調判定回路、21…コントラスト判定回路、22…相関演算結果メモリ、23…単調判定結果メモリ、24…コントラスト判定結果メモリ、25…最小値/極値判定回路、26…信頼性判定回路、27…デフォーカス量演算回路、28…デフォーカス量補正演算回路、29…センサデータフリップフロップ、30…交換レンズ、33…レンズCPU、39…AF光学系、40…AFセンサ、41…CPU、42…演算IC、55A,55B…センサアレイ、56…オフセット・照度補正用データメモリ、57…センサデータ加工回路
Claims (4)
- 被写体からの反射光を複数の受光部で受光して光電変換するオートフォーカスセンサと、
前記オートフォーカスセンサの出力をデジタル信号に変換する変換手段と、
前記変換手段の出力を記憶する記憶手段と、
前記記憶手段の記憶内容に基づいて焦点検出演算を実行する演算手段と、
前記記憶手段の記憶内容を前記演算手段の演算用に加工して前記記憶手段に再記憶する制御手段と、
を備えたことを特徴とする焦点検出装置。 - 前記記憶手段は、前記変換手段の出力を前記演算手段の演算用として記憶するとともに前記制御手段による加工後のデータを前記演算手段の再演算用として再記憶する第1記憶手段、および前記変換手段の出力を前記制御手段による加工用として記憶する第2記憶手段を有することを特徴とする請求項1に記載の焦点検出装置。
- 前記第1記憶手段はフリップフロップであり、第2記憶手段はランダム・アクセス・メモリであることを特徴とする請求項2に記載の焦点検出装置。
- 被写体からの反射光を複数の受光部で受光して光電変換するオートフォーカスセンサを備えた焦点検出装置において、
前記オートフォーカスセンサの出力をデジタル信号に変換するステップと、
前記変換出力を記憶するステップと、
前記記憶内容に基づいて焦点検出演算を実行するステップと、
前記記憶内容を前記演算用に加工して再記憶するステップと、
を備えたことを特徴とする焦点検出装置の制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004337751A JP2006145984A (ja) | 2004-11-22 | 2004-11-22 | 焦点検出装置およびその制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004337751A JP2006145984A (ja) | 2004-11-22 | 2004-11-22 | 焦点検出装置およびその制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006145984A true JP2006145984A (ja) | 2006-06-08 |
Family
ID=36625740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004337751A Pending JP2006145984A (ja) | 2004-11-22 | 2004-11-22 | 焦点検出装置およびその制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006145984A (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01179115A (ja) * | 1988-01-08 | 1989-07-17 | Nikon Corp | 焦点検出装置 |
JPH08159752A (ja) * | 1994-11-30 | 1996-06-21 | Canon Inc | 積分回路 |
-
2004
- 2004-11-22 JP JP2004337751A patent/JP2006145984A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01179115A (ja) * | 1988-01-08 | 1989-07-17 | Nikon Corp | 焦点検出装置 |
JPH08159752A (ja) * | 1994-11-30 | 1996-06-21 | Canon Inc | 積分回路 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7440690B2 (en) | Focus detection apparatus and control method thereof | |
US20100097503A1 (en) | Image acquisition apparatus and program recording medium | |
JP2009049858A (ja) | 撮像装置 | |
JPS63246730A (ja) | 焦点検出装置 | |
JP4348118B2 (ja) | 固体撮像素子及び撮影装置 | |
JP5879736B2 (ja) | 画像追尾装置および撮像装置 | |
JP2006317595A (ja) | 光学装置およびその制御方法 | |
JP3927702B2 (ja) | 画像処理装置、自動焦点検出装置、補正装置、補正方法及び記憶媒体 | |
JP4632803B2 (ja) | 焦点検出装置 | |
JPH04165777A (ja) | 画素信号補正装置 | |
JP3254689B2 (ja) | ブレ検出及び補正が可能なカメラ | |
JP4615912B2 (ja) | カメラの焦点演算装置 | |
JP2006145984A (ja) | 焦点検出装置およびその制御方法 | |
JP5277752B2 (ja) | 撮像装置 | |
US7154589B2 (en) | Rangefinder apparatus | |
JP6234094B2 (ja) | 焦点検出装置および撮像装置 | |
JP5251203B2 (ja) | 画像処理装置および画像処理プログラム | |
JP2009017093A (ja) | 画像認識装置、焦点調節装置および撮像装置 | |
JP2021085988A (ja) | 撮像装置、フォーカス調整方法、フォーカス調整プログラム | |
JP2003057531A (ja) | 位相差検出方法、位相差検出装置、測距装置および撮像装置 | |
JPH11249004A (ja) | イメージセンサ | |
JPH0715533B2 (ja) | 映像対の相対位置検出方式 | |
JP2001174691A (ja) | カメラの測距装置 | |
JP4550211B2 (ja) | カメラ | |
JP4750511B2 (ja) | 撮像装置及びその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070706 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100615 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20101109 |