(57)【特許請求の範囲】
【請求項１】
被写体光束を瞳分割して一対の被写体像をセンサ列の異なる領域に投影し、該センサ列上に投影された一対の被写体像を電気的な画像信号に変換してその位相差からデフォーカス量を求める自動焦点調節装置であって、
前記センサ列から出力された画像信号列の第１の範囲について相関演算を実行する相関演算手段と、
相関演算結果の信頼性を判定する信頼性判定手段と、
この信頼性判定手段により信頼性ありと判定された相関演算結果に基づいてデフォーカス量を求めるデフォーカス演算手段と、
前記相関演算結果が前記信頼性判定手段により信頼性なしと判定された場合に、該相関演算に用いた画像信号列の中から、撮影距離の異なる複数の被写体が混在していると推定される画像信号を遠近混在部として検出する遠近混在部検出手段とを備え、
前記遠近混在部検出手段は、前記相関演算に用いた第１の範囲の画像信号列の最大輝度差を検出し、該最大輝度差が得られる画素を基準点として正負方向に所定画素分の遠近判定エリアを設定し、該遠近判定エリアの相関値が大きくなる方を前記遠近混在部として検出すること、及び
前記相関演算手段は、前記相関演算結果が前記信頼性判定手段により信頼性なしと判定された場合に、前記遠近混在部検出手段により検出された遠近混在部を除いて第２の範囲を設定し、該第２の範囲の画像信号列について相関演算を再実行すること、を特徴とする自動焦点調節装置。
【請求項２】
請求項１記載の自動焦点調節装置において、前記遠近混在部検出手段は、前記相関演算に用いた第１の範囲の画像信号列において隣接する画素の輝度差の絶対値を全画素に対して求め、その最大値を前記最大輝度差として検出する自動焦点調節装置。
【請求項３】
請求項１または２記載の自動焦点調節装置において、前記遠近混在部検出手段は、前記相関演算に用いた一対の画像信号列を最も一致する状態で重ね合わせたときの、設定した遠近判定エリアにおける各画素毎の差分の絶対値の総和を前記相関値として求める自動焦点調節装置。
【請求項４】
請求項１ないし３のいずれか一項に記載の自動焦点調節装置において、前記相関演算手段が相関演算を実行する第１の範囲及び第２の範囲は、前記センサ列から出力された画像信号列のうち前記最大輝度差が得られる画素を含んで設定されている自動焦点調節装置。
【請求項５】
請求項１ないし４のいずれか一項に記載の自動焦点調節装置において、前記相関演算手段が相関演算を実行する第１の範囲は、前記最大輝度差が得られる画素を中心にして設定されている自動焦点調節装置。
【請求項６】
被写体像をセンサ列の異なる領域で受光し電気的な画像信号に変換してその出力から合焦位置を求める自動焦点調節装置を備えるカメラであって、
前記センサ列から出力された画像信号列の第１の範囲について相関演算を実行する相関演算手段と、
相関演算結果の信頼性を判定する信頼性判定手段と、
この信頼性判定手段により信頼性ありと判定された相関演算結果に基づいてデフォーカス量を求めるデフォーカス演算手段と、
前記相関演算結果が前記信頼性判定手段により信頼性なしと判定された場合に、該相関演算に用いた画像信号列の中から、撮影距離の異なる複数の被写体が混在していると推定される画像信号を遠近混在部として検出する遠近混在部検出手段とを備え、
前記遠近混在部検出手段は、前記相関演算に用いた第１の範囲の画像信号列の最大輝度差を検出し、該最大輝度差が得られる画素を基準点として正負方向に所定画素分の遠近判定エリアを設定し、該遠近判定エリアの相関値が大きくなる方を前記遠近混在部として検出すること、及び
前記相関演算手段は、前記相関演算結果が前記信頼性判定手段により信頼性なしと判定された場合に、前記遠近混在部検出手段により検出された遠近混在部を除いて第２の範囲を設定し、該第２の範囲の画像信号列について相関演算を再実行すること、
を特徴とする自動焦点調節装置を備えたカメラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、焦点検出領域内の被写体に対して合焦させることができる自動焦点調節装置及び同装置を備えたカメラに関する。
【背景技術】
【０００２】
一眼レフカメラに搭載されている自動焦点調節装置は、瞳分割位相差方式の場合、瞳分割された一対の被写体像をラインセンサ上に照射し、ラインセンサ上の一対の被写体像の位相差からデフォーカスを求める構成である。
【０００３】
このような自動焦点調節装置では、主要被写体の近傍に撮影距離の異なる別の被写体が存在する（焦点検出領域内に撮影距離の異なる複数の被写体が混在する）と、一対の被写体像のずれ量が大きくなり、焦点検出不能になってしまう課題があった。そこで従来では、例えば特許文献１に開示されているように、一対の光電変換素子列から出力される一対の電気信号列を複数のブロックに分割し、各ブロックの電気信号列に基づいてデフォーカス量を算出する際に、撮影距離が異なる複数の被写体が混在している遠近競合ブロックか否かを各ブロックごとに判定し、いずれかのブロックが遠近競合ブロックであると判定されたら、その遠近競合ブロックの一部を含む新たなブロックを設定し、その新設ブロックに対応する電気信号列に基づいてデフォーカス量を演算することが提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０８−０１５６０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の構成では、分割した複数のブロックすべてに対して相関演算を実行して遠近競合ブロックであるか否かを判定し、遠近競合ブロックである場合にはさらにブロックを分割して相関演算を行う必要があるため、演算量が増大し、焦点検出に要する時間が長くなってしまう。
【０００６】
本発明は、主要被写体の近傍に撮影距離の異なる別の被写体が存在する場合でも、短時間かつ高精度で主要被写体に合焦させることができる自動焦点調節装置及び同装置を備えたカメラを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、撮影距離の異なる複数の被写体が混在している部分に相当する画像信号列を除いて相関演算を実行すれば、主要被写体に対する画像信号についてのみ相関演算を実行できる確率が高くなり、主要被写体に対して合焦可能な相関値を短時間で得られることに着目して完成されたものである。
【０００８】
すなわち、本発明は、被写体光束を瞳分割して一対の被写体像をセンサ列の異なる領域に投影し、該センサ列上に投影された一対の被写体像を電気的な画像信号に変換してその位相差からデフォーカス量を求める自動焦点調節装置であって、前記センサ列から出力された画像信号列の第１の範囲について相関演算を実行する相関演算手段と、相関演算結果の信頼性を判定する信頼性判定手段と、この信頼性判定手段により信頼性ありと判定された相関演算結果に基づいてデフォーカス量を求めるデフォーカス演算手段と、前記相関演算結果が前記信頼性判定手段により信頼性なしと判定された場合に、該相関演算に用いた画像信号列の中から、撮影距離の異なる複数の被写体が混在していると推定される画像信号を遠近混在部として検出する遠近混在部検出手段とを備え、前記遠近混在部検出手段は、前記相関演算に用いた第１の範囲の画像信号列の最大輝度差を検出し、該最大輝度差が得られる画素を基準点として正負方向に所定画素分の遠近判定エリアを設定し、該遠近判定エリアの相関値が大きくなる方を前記遠近混在部として検出すること、及び前記相関演算手段は、前記相関演算結果が前記信頼性判定手段により信頼性なしと判定された場合に、前記遠近混在部検出手段により検出された遠近混在部を除いて第２の範囲を設定し、該第２の範囲の画像信号列について相関演算を再実行することを特徴としている。
【００１０】
より具体的には、前記最大輝度差は、前記相関演算に用いた第１の範囲の画像信号列において隣接する画素の輝度差の絶対値を全画素に対して求め、その最大値として検出する。また、遠近判定エリアの相関値は、一対の画像信号列を最も一致する状態で重ね合わせたときの、該遠近判定エリアの各画素毎の差分の絶対値の総和により求める。
【００１１】
前記相関演算手段が相関演算を実行する第１の範囲及び第２の範囲は、前記センサ列から出力された画像信号列のうち前記最大輝度差が得られる画素を含んで設定されていることが好ましい。より好ましくは、前記相関演算手段が相関演算を実行する第１の範囲は、前記最大輝度差が得られる画素を中心にして設定されているとよい。位相差検出方式では輝度差が高いほど信頼性も高く、合焦させた主要被写体が含まれている画素範囲である可能性が高くなる。
【００１２】
本発明の自動焦点調節装置は、被写体像をセンサ列の異なる領域で受光し電気的な画像信号に変換してその出力から合焦位置を求める自動焦点調節装置を備えるカメラに適用可能である。
【発明の効果】
【００１３】
本発明によれば、撮影距離の異なる複数の被写体が混在していると推定される遠近混在部を除いて相関演算を実行するので、主要被写体に対応する範囲についてのみ相関演算を実行できる確率が高くなり、焦点検出精度が向上するとともに何度も相関演算を繰り返さずに済む。これにより、主要被写体の近傍に撮影距離の異なる別の被写体が存在する場合でも、短時間かつ高精度で主要被写体に合焦可能な自動焦点調節装置及び同装置を備えたカメラを提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明を適用したＡＦ一眼レフカメラの実施形態の主要部をブロックで示す図である。
【図２】撮影画面と焦点検出領域（ラインセンサ）の相対位置関係を示す図である。
【図３】相関演算について説明する図である。
【図４】相関関数の極小値検出について説明する図である。
【図５】焦点検出領域内に撮影距離の異なる複数の被写体（主要被写体Ｘ、背景Ｙ、背景Ｚ）が存在する場合の一例を説明する図である。
【図６】焦点検出領域内に撮影距離の異なる複数の被写体（主要被写体Ｘ、背景Ｙ、背景Ｚ）が存在する場合（図５）の一対の画像信号列の一致度をグラフで示す図である。
【図７】遠近混在部を除いて設定する相関演算範囲を説明する図である。
【図８】図１のＡＦ一眼レフカメラのスタート処理に関するフローチャートである。
【図９】図８のＡＦ処理に関するフローチャートである。
【図１０】図９の積分処理に関するフローチャートである。
【図１１】図１０のデフォーカス演算処理に関するフローチャートである。
【図１２】図１１の遠近混在部検出処理に関するフローチャートである。
【発明を実施するための形態】
【００１５】
図１は、本発明をＡＦ一眼レフカメラの自動焦点検出装置に適用した実施形態であって、その主要構成をブロックで示した図である。このＡＦ一眼レフカメラは、自動焦点調節装置としてＡＦモジュール（自動焦点検出モジュール）６０を内蔵したカメラボディ１１と、このカメラボディ１１に着脱可能なＡＦ対応の撮影レンズ５１とを備えている。
【００１６】
カメラボディ１１は、カメラボディ１１及び撮影レンズ５１を総括的に制御し、相関演算手段、信頼性判定手段、デフォーカス演算手段及び遠近混在検出手段としても動作するボディＣＰＵ３１を備えている。
【００１７】
一方、撮影レンズ５１は、レンズ機能を制御するレンズＣＰＵ５７と、焦点調節用レンズ５２を光軸方向に駆動するギヤブロック５３と、撮影レンズ５１のマウント部に設けられた、カメラボディ１１のジョイント３５と着脱自在に連結するジョイント５５を備えている。レンズＣＰＵ５７は、電気接点群５６、３６の接続を介してカメラボディ１１の周辺制御回路２１と接続されていて、この周辺制御回路２１を介してボディＣＰＵ３１との間で、開放、最大Ｆ値情報、焦点距離情報、レンズ位置（距離）情報などを通信する所定のデータ通信を行う。
【００１８】
撮影レンズ５１からカメラボディ１１内に入射した被写体光束は、大部分がメインミラー１３により、ファインダ光学系を構成するペンタプリズム１７に向かって反射され、ペンタプリズム１７で反射されてアイピースから射出する。ペンタプリズム１７から射出された被写体光束の一部は測光ＩＣ１８の受光素子に入射する。一方、メインミラー１３の中央部に形成されたハーフミラー部１４に入射した光束の一部はハーフミラー部１４を透過し、メインミラー１３の背面に設けられたサブミラー１５により下方に反射され、ＡＦモジュール６０に入射する。
【００１９】
測光ＩＣ１８は、受光量に応じて光電変換した電気信号を、周辺制御回路２１を介してボディＣＰＵ３１に測光信号として出力する。ボディＣＰＵ３１は、測光信号等に基づいて所定の露出演算を実行し、露出用の適正シャッタ速度及び絞り値を算出する。そして、撮影処理の際に周辺制御回路２１は、ミラーモータドライバ２４を介してミラーモータ２５を駆動してメインミラー１３をアップするとともに、絞り機構２２を駆動して撮影レンズ５１の絞り（図示せず）を算出した絞り値に設定し、算出したシャッタ速度に基づいて露光機構２３を駆動して露光する。さらに露光終了後、周辺制御回路２１は、ミラーモータドライバ２４を介してミラーモータ２５を駆動してメインミラー１３をダウンする。
【００２０】
ボディＣＰＵ３１は、制御プログラム等をメモリしたＲＯＭ３１ａ、演算用、制御用の所定のデータを一時的にメモリするＲＡＭ３１ｂ、計時用のタイマ３１ｃ、カウンタ３１ｄ、ＡＦモジュール６０から入力した出力ＶＯＵＴ信号（積分終了信号／ビデオ信号Ｖｉｄｅｏ）をＡ／Ｄ変換するＡ／Ｄ変換器３１ｅ、モニタ基準ＶＭＳ信号をＤ／Ａ変換してＡＦモジュール６０へ出力するＤ／Ａ変換器３１ｆを内蔵している。
【００２１】
ＡＦモジュール６０は、いわゆる瞳分割位相差方式であって、ＣＣＤラインセンサとモニタセンサを備えたＣＣＤ焦点検出素子６１と、図示されていないが撮像面と等価な焦点検出面において、被写体像を形成する被写体光束を二分割に瞳分割して、対応するＣＣＤラインセンサ上に投影するＡＦ光学系とを備えている。
【００２２】
このＡＦモジュール６０は、被写体７０の焦点状態を検出して画素単位のビデオ信号ＶｉｄｅｏをボディＣＰＵ３１に出力する。ボディＣＰＵ３１は、ＡＦモジュール６０から入力したビデオ信号Ｖｉｄｅｏを内蔵Ａ／Ｄ変換器３１ｅでデジタル信号に変換し、焦点検出エリアに対応するデジタル信号に基づいて所定の演算を実行してデフォーカス量を算出する。さらに、算出したデフォーカス量に基づいてＡＦモータ３３の回転方向を決定し、回転数を、ＡＦモータ３３の回転数を検出するエンコーダ３７が出力するＡＦパルス数として算出し、内蔵のカウンタ３１ｄにセットする。そしてボディＣＰＵ３１は、その回転方向及びパルス数に基づき、ＡＦモータドライバ３２を介してＡＦモータ３３を駆動する。この駆動に際してボディＣＰＵ３１は、ＡＦモータ３３の回転に連動してエンコーダ３７が出力するパルスを内蔵のカウンタ３１ｄでダウンカウントし、カウント値が０になったらＡＦモータ３３を停止させる。ＡＦモータ３３の回転は、ギヤブロック３４により減速され、カメラボディ１１のマウント部に設けられたジョイント３５と撮影レンズ５１のマウント部に設けられたジョイント５５との接続を介して撮影レンズ５１のギヤブロック５４に伝達され、ギヤブロック５４を介して焦点調節用レンズ５２を進退移動させる。
【００２３】
ボディＣＰＵ３１には、フォーカスモードをマニュアルモード、ＡＦ（ワンショット／コンティニュアスＡＦ）モードの間で切り換えるフォーカススイッチＳＷＡＦ、マニュアルレリーズ釦の半押しでオンする測光スイッチＳＷＳ及び全押しでオンするレリーズスイッチＳＷＲ、周辺制御回路２１等への電源をオン／オフするメインスイッチＳＷＭが接続されている。
【００２４】
ボディＣＰＵ３１には、設定されたＡＦ、露出、撮影などのモード、シャッタ速度、絞り値などの各種撮影情報を表示する表示パネル３９と、外部不揮発性メモリ手段としてカメラボディ１１特有の各種定数などがメモリされたＥＥＰＲＯＭ３８が接続されている。表示パネル３９は、通常、カメラボディ１１の外面及びファインダ視野内の２ヶ所に設けられた表示器を含む。
【００２５】
カメラボディ１１には、撮像手段としてのＣＣＤイメージセンサ４５が設けられている。ＣＣＤイメージセンサ４５による撮像面とＡＦモジュール６０による焦点検出面は等価に設定されている。ＣＣＤイメージセンサ４５の出力信号は、ＡＦＥ（アナログフロントエンド）４６でデジタル化され、ＤＳＰ４１でＬＣＤ４２に表示可能なビデオ信号に加工される。ＤＳＰ４１は、ボディＣＰＵ３１との間で撮影に関する情報を授受する。
【００２６】
図２は、撮影画面７０とＣＣＤ焦点検出素子６１及びその焦点検出エリアとの相対的な位置関係の一実施例を模式的に示している。この実施例では、撮影画面７０内の中央に焦点検出エリアＥ１が設定され、この焦点検出エリアＥ１の焦点状態を検出できるようにＣＣＤ焦点検出素子６１のＣＣＤラインセンサが配置されている。ＣＣＤラインセンサは、参照領域と基準領域の二つの領域に区分けされていて、それぞれの領域に二分割された一対の被写体像の一方が投影され、それぞれの領域の光電変換素子で積分される。ＣＣＤ焦点検出素子６１は、ＣＣＤラインセンサの基準領域に隣接して該ＣＣＤラインセンサの受光量をモニタし、モニタ信号を出力するモニタセンサを備えている。ＣＣＤ焦点検出素子６１の同一の出力ポート（ＶＯＵＴ）からは、ＣＣＤラインセンサの積分が終了するまではビデオ信号Ｖｉｄｅｏの代わりにモニタ信号が所定周期で繰り返し出力され、積分が終了すると、積分終了信号が出力され、ＣＣＤラインセンサの光電変換素子で蓄積された電荷が画素単位のビデオ信号（画像信号列）Ｖｉｄｅｏに変換されてボディＣＰＵ３１へ出力される。本実施例のＣＣＤラインセンサは水平方向に配列した１本のセンサ列で構成したが、ＣＣＤラインセンサは、複数のセンサ列で構成しても、縦センサ列、横センサ列またはその両方を備えて構成してもよい。
【００２７】
次に、図３〜図７を参照し、ボディＣＰＵ３１が実行する焦点検出動作について説明する。ボディＣＰＵ３１は、ＡＦモジュール６０から画素単位のビデオ信号Ｖｉｄｅｏを入力すると、先ず、一対のビデオ信号Ｖｉｄｅｏに基づいて相関関数ＳＣＯ（ｉ）を求める。
【００２８】
相関関数ＳＣＯ（ｉ）は、ＣＣＤラインセンサの基準領域に対応する画素単位のビデオ信号（画像信号列）ＶｉｄｅｏをＡセンサ列Ａｎとし、参照領域に対応する画素単位のビデオ信号（画像信号列）ＶｉｄｅｏをＢセンサ列Ｂｎとして、Ａセンサ列ＡｎとＢセンサ列Ｂｎの一致度を示すもので、Ａセンサ列ＡｎとＢセンサ列Ｂｎを重ね合わせて各画素毎の差分の絶対値の総和（これを「相関値ＳＣＯ」という。）を求める演算を、Ａセンサ列Ａｎを基準としてＢセンサ列Ｂｎを１画素分ずつシフトしながら実行することで得られる。図３（ａ）は、シフト数ｉ＝０でＣＣＤラインセンサの基準領域と参照領域が一致している初期状態を示している。最大シフト数を±ｉｍａｘとすれば、図３（ａ）の初期状態から図３（ｂ）（ｃ）に示すようにＡセンサ列Ａｎに対してＢセンサ列Ｂｎを±１画素分シフトさせていき、シフト数ｉ＝±ｉｍａｘとなるまでシフト及び演算を繰り返す。図３（ｄ）（ｅ）は、シフト数ｉ＝±ｉｍａｘの状態を示している。
【００２９】
ここで、相関関数ＳＣＯ（ｉ）は数式１で示すことができる。
【数１】
0005531774.tif 000002
【００３０】
一対の被写体像の相対的な位置ずれ量は、Ａセンサ列ＡｎとＢセンサ列Ｂｎが一致したときのシフト量である。そこで、ボディＣＰＵ３１は、相関関数ＳＣＯ（ｉ）の極小値を検出し、この極小値をとるときのＡセンサ列Ａｎに対するＢセンサ列Ｂｎのシフト量ｉすなわち像間隔を、相関演算結果（測距値）として検出する。図４に示された相関関数ＳＣＯ（ｉ）では、シフト量ｉ＝ｉ’のとき極小値ＳＣＯ（ｉ’）をとる。なお、相関関数ＳＣＯ（ｉ）からはＣＣＤラインセンサの光電変換素子単位でしか相関値を求めることができないため、通常は、さらに、求めた相関関数ＳＣＯ（ｉ）について補間演算を実行し、より精度の高い極小値を求める。このような補間演算は周知であるから、その説明は省略する。
【００３１】
続いてボディＣＰＵ３１は、得られた相関演算結果の信頼性を判定する。本実施例では、数式２、３で示される信頼性判定値ＴＲＳに基づいて、信頼性の有無を判定する。
【数２】
0005531774.tif 000003
【数３】
0005531774.tif 000004
【００３２】
信頼性判定値ＴＲＳは、Ａセンサ列Ａｎ及びＢセンサ列Ｂｎの相関演算範囲の輝度差ＯＬＣ（ｉ）に対して、シフト量ｉでの相関値（Ａセンサ列ＡｎとＢセンサ列Ｂｎの一致度）ＳＣＯ（ｉ）の割合を示している。ここで、輝度差ＯＬＣ（ｉ）は、Ａセンサ列Ａｎ及びＢセンサ列Ｂｎの相関演算範囲において隣接する画素の輝度差の絶対値の合計の１／２として求められ、図３では網掛け範囲のコントラストに相当する。輝度差ＯＬＣ（ｉ）が大きいほど信頼性判定値ＴＲＳは小さくなり、信頼性判定値ＴＲＳが小さいほど信頼性は高くなる。
【００３３】
図５に示すようにＡＦモジュール６０の焦点検出エリアＥ１に撮影距離の異なる主要被写体Ｘと背景Ｙ、背景Ｚが混在しているとき、ＡＦモジュール６０のＣＣＤラインセンサからの出力は図６のようになる。図６は、ＣＣＤラインセンサの基準領域に対応するＡセンサ列Ａｎと参照領域に対応するＢセンサ列Ｂｎの相関関数ＳＣＯ（ｉ）が極小値となるように、Ａセンサ列Ａｎに対してＢセンサ列Ｂｎをシフト量ｉ＝ｉ’だけずらした状態を示している。図６において、縦軸はセンサ出力値、横軸はＣＣＤラインセンサの画素番号ｎである。
【００３４】
遠近被写体（撮影距離の異なる被写体Ｘ及び背景Ｙ、Ｚ）が混在している状態では、図６に示すように主要被写体Ｘに対応する画素範囲ＰｘでＡセンサ列ＡｎとＢセンサ列Ｂｎが一致したとしても、背景Ｙ及び背景Ｚに対応する画素範囲Ｐｙ１、Ｐｚ、Ｐｙ２ではＡセンサ列ＡｎとＢセンサ列Ｂｎにずれが生じてしまい、Ａセンサ列ＡｎとＢセンサ列Ｂｎが完全に一致するようなシフト量ｉは得られない。このとき、相関関数ＳＣＯ（ｉ）の極小値は大きくなるため、信頼性判定値ＴＲＳ(ｉ)も大きくなる。つまり、ボディＣＰＵ３１は信頼性なしと判定する。
【００３５】
そこで本実施形態では、ボディＣＰＵ３１は、相関演算結果の信頼性がないと判定した場合、相関演算に用いたＡセンサ列Ａｎ、Ｂセンサ列Ｂｎから遠近被写体が混在していると推定されるデータを遠近混在部として検出し、この遠近混在部を除いた演算範囲を設定して相関演算を再実行することで、より高精度の焦点検出を可能にする。
【００３６】
図７は、遠近混在部を除いて再設定する演算範囲を説明する図である。遠近混在部の検出は、図７（ａ）に示すように、相関演算範囲（第１の範囲）Ｗ０でセンサ出力の最大輝度差Ｃｍａｘが得られるＣＣＤラインセンサの画素を基準点ｎｐとし、この基準点ｎｐから正方向（図示右方向）または負方向（図示左方向）にずらした所定画素分の画素範囲Ｗｆ、Ｗｓについて行う。最大輝度差Ｃｍａｘは、ＣＣＤラインセンサの基準領域に対応する画素単位のビデオ信号（画像信号列）ＶｉｄｅｏをＡセンサ列Ａｎとし、このＡセンサ列Ａｎの隣接する画素の輝度差の絶対値の最大値であり、（数式４）で示される。
【００３７】
画素範囲Ｗｆ、Ｗｓは、図７（ａ）の斜めハッチングを付して示した範囲であり、図示例では４画素分である。より具体的には、相関演算範囲Ｗ０で相関演算を実施したとき、相関関数ＳＣＯ（ｉ）が極小値となるシフト量ｉ＝ｉ’での画素範囲Ｗｆ、Ｗｓにおいて相関値の総和Ｄｆ、Ｄｓをそれぞれ算出し、算出した総和Ｄｆ、Ｄｓが大きいほうの画素範囲Ｗｆ、Ｗｓを遠近混在部として検出する。総和Ｄｆ、Ｄｓは数式５、６で示される。なお、Ｌは、相関演算範囲Ｗ０の総画素数であり、図示例ではＬ＝１１となる。
【数５】
0005531774.tif 000005
【数６】
0005531774.tif 000006
【００３８】
続いて、最大輝度差Ｃｍａｘが得られる基準点ｎｐを含み、かつ、遠近混在部（画素範囲ＷｆまたはＷｓ）を除いた相関演算範囲（第２の範囲）を設定する。正方向側の総和Ｄｓが負方向側の総和Ｄｆより大きい場合は、画素範囲Ｗｓが遠近混在部として検出され、図７（ｂ）に示すように、基準点ｎｐを含みかつ画素範囲Ｗｓを除いた相関演算範囲（第２の範囲）Ｗ１が設定される。一方、負方向の総和Ｄｆが正方向の総和Ｄｓより大きい場合は、画素範囲Ｗｆが遠近混在部として検出され、図７（ｃ）に示すように、基準点ｎｐを含みかつ画素範囲Ｗｆを除いた相関演算範囲（第２の範囲）Ｗ２が設定される。本実施例では、相関演算範囲Ｗ０を１１画素分に固定してあるので、相関演算範囲Ｗ１、Ｗ２は、負方向または正方向へ、元の相関演算範囲Ｗ０を所定画素分ずらしたものとなる。なお、相関演算範囲の広さは固定であっても可変であってもよい。
【００３９】
そしてボディＣＰＵ３１は、相関演算範囲Ｗ１またはＷ２について相関演算及び信頼性判定を再実行し、信頼性ありと判定された相関演算結果に基づいてデフォーカス量を算出する。
【００４０】
次に、この一眼レフカメラの自動焦点検出及び焦点調節動作について、さらに図８〜図１２に示したフローチャートを参照して、より詳細に説明する。
【００４１】
カメラボディ１１に図示しない電池が装填され、メインスイッチＳＷＭがＯＮされると、図８に示したスタート処理に入る。スタート処理に入ると、まず、ボディＣＰＵ３１は、カメラ動作全般を統括的に制御するシステムのイニシャライズを実行する（ステップ（以下「Ｓ」と称する）１０１）。システムのイニシャライズには、ボディＣＰＵ３１の起動、ＲＯＭからマイクロプログラムの読み込み、キャッシュ、入出力ポート、フラグ等のイニシャライズが含まれる。その後、電池から所定の電圧が供給されている間、Ｓ１０３〜Ｓ１３９の処理を実行する。
【００４２】
まず、ボディＣＰＵ３１以外の部材への電力供給を停止するパワーダウン処理（Ｓ１０３）を実行する。そして、測光スイッチＳＷＳがＯＮしたかどうかをチェックし（Ｓ１０５）、ＯＮしていなければ（Ｓ１０５；Ｎ）、パワーダウン処理（Ｓ１０３）を実行してパワーダウン状態を維持する。測光スイッチＳＷＳがＯＮすると（Ｓ１０５；Ｙ）、パワーオン（Ｓ１０７）してＰＨＯＮループ処理に入る。パワーオン処理（Ｓ１０７）は、ボディＣＰＵ３１以外の部材へも電池の電力を供給する処理であって、例えば表示パネル３９に撮影モードなどを表示する。
【００４３】
『ＰＨＯＮループ』
ＰＨＯＮループ処理に入ると、ＰＨＯＮループ時間タイマをスタートさせる（Ｓ１０９）。ＰＨＯＮループ時間は、主にＡＦ処理を所定間隔で繰り返し実行するためのインターバル時間である。次に、スイッチチェック（Ｓ１１１）、つまり各スイッチの状態を入力し、レンズ通信（Ｓ１１３）を実行して撮影レンズ５１からレンズ情報を入力する。
【００４４】
続いて、周辺制御回路２１から、測光ＩＣ１８によって測光した被写体輝度信号Ｂｖを入力してＡ／Ｄ変換し（Ｓ１１５）、選択された露出モードによるアルゴリズムでＡＥ演算処理（Ｓ１１７）を実行してシャッタ速度及び絞り値を求め、これらの値を表示パネル３９に表示する（Ｓ１１９）。
【００４５】
表示後は、レリーズスイッチＳＷＲがＯＮしているかどうかをチェックし、ＯＮしていれば（Ｓ１２１；Ｙ）、レリーズ処理（Ｓ１３９）を実行してＰＨＯＮループ処理に戻る。レリーズスイッチＳＷＲがＯＮしていない場合（Ｓ１２１；Ｎ）は、ＡＦ処理（Ｓ１２３）を、ループ時間が経過するまで繰り返し実行する（Ｓ１２５；Ｎ、Ｓ１２３）。ループ時間が経過したら（Ｓ１２５；Ｙ）、測光スイッチＳＷＳがＯＮしているかどうかをチェックし（Ｓ１２７）、ＯＮしていたら（Ｓ１２７；Ｙ）ＰＨＯＮループ処理の最初のステップに戻る。
【００４６】
測光スイッチＳＷＳがＯＮしていなかったら（Ｓ１２７；Ｎ）、パワーホールド中フラグが“１”かどうかをチェックし（Ｓ１２９）、“１”でなければパワーホールドタイマをスタートさせ（Ｓ１３１）、パワーホールド中フラグに“１”をセットしてＳ１３５に進む（Ｓ１３３）。パワーホールド中フラグに“１”がセットされていたとき（Ｓ１２９；Ｙ）は、Ｓ１３１、Ｓ１３３をスキップしてＳ１３５に進む。
【００４７】
Ｓ１３５では、パワーホールド時間が経過したかどうかをチェックし、経過しているとき（Ｓ１３５；Ｙ）はパワーホールド中フラグをクリア（Ｓ１３７）してからＰＨＯＮループ処理の最初のステップに戻り、経過していないとき（Ｓ１３５；Ｎ）はそのままＰＨＯＮループ処理の最初のステップに戻る。つまり、測光スイッチＳＷＳがオフしてからパワーホールド時間が経過するまではＳ１０９〜Ｓ１３５の処理を繰り返し実行し、測光スイッチＳＷＳがオフしてからパワーホールド時間が経過したら、パワーホールド中フラグをクリアしてＳ１０３に戻ってパワーダウン処理を実行し、パワーダウン状態で測光スイッチＳＷＳがＯＮするのを待つ（Ｓ１０５）。
【００４８】
Ｓ１２３で実行するＡＦ処理の詳細について、図９に示したフローチャートを参照して説明する。ＡＦ処理に入ると、測光スイッチＳＷＳがＯＮしているかどうかをチェックする（Ｓ２０１）。測光スイッチＳＷＳがオフしていたとき（Ｓ２０１；Ｎ）は、ＡＦロックフラグ、ＡＧＣレベルシフトフラグ及び時間短縮要求フラグの全てに“０”をセット（フラグクリア）して（Ｓ２１５、Ｓ２１７、Ｓ２１９）、リターンする（ＲＥＴ）。
【００４９】
測光スイッチＳＷＳがＯＮしているとき（Ｓ２０１；Ｙ）は、ＡＦロックフラグが“１”かどうかをチェックする（Ｓ２０３）。ＡＦロックフラグは、ワンショットＡＦモードにおいて合焦したときにその合焦状態を維持するためにセットされるフラグである。
【００５０】
ＡＦロックフラグに“１”がセットされていない場合（Ｓ２０３；Ｎ）は、ＣＣＤ焦点検出素子６１に積分処理を実行させ、ＣＣＤ焦点検出素子６１からビデオ信号Ｖｉｄｅｏを入力してデフォーカス演算を実行する（Ｓ２０５）。そして、演算したデフォーカス量（絶対値）が合焦幅未満であるかどうかチェックする（Ｓ２０７）。合焦幅とは、焦点深度により合焦と見なせるデフォーカス量の範囲である。この合焦幅は、一定値、または撮影レンズから入力した焦点距離、開放絞り情報から演算して設定することができる。
【００５１】
デフォーカス量が合焦幅未満でなかった場合（Ｓ２０７；Ｎ）は、デフォーカス量に基づいてＡＦモータ３３を駆動するパルス数を演算（Ｓ２１１）し、ＡＦモータ３３を駆動して（Ｓ２１３）リターンする（ＲＥＴ）。デフォーカス量が合焦未満であった場合（Ｓ２０７；Ｙ）は、ＡＦロックフラグに“１”をセットし（Ｓ２０９）、リターンする（ＲＥＴ）。ＡＦロックフラグに“１”をセットすると、次にＡＦ処理に入っても、Ｓ２０３からリターンする。
【００５２】
『積分処理』
Ｓ２０５で実行する積分処理について、図１０に示したフローチャートを参照して説明する。積分処理に入ると、まず、積分を開始するタイミングを図る積分タイミングチェック処理を実行し（Ｓ３０１）、ＣＣＤ焦点検出素子６１に対して積分開始通信処理を実行して（Ｓ３０３）、ＣＣＤ焦点検出素子６１にＣＣＤラインセンサ及びモニタセンサに積分処理を開始させる。
【００５３】
続いて、ＣＣＤラインセンサの積分が終了したかどうかを、ＣＣＤ焦点検出素子６１から出力される積分終了信号によりチェックする（Ｓ３０５）。ＣＣＤラインセンサの積分が終了していなければ（Ｓ３０５；Ｎ）、積分時間を内蔵ＲＡＭ３１ｂにメモリし（Ｓ３０７）、最大積分時間が経過したかどうかをチェックする（Ｓ３０９）。経過していなければ（Ｓ３０９；Ｎ）、Ｓ３０５に戻り、Ｓ３０５〜Ｓ３０９の処理を繰り返す。そして、ＣＣＤラインセンサの積分が終了したら（Ｓ３０５；Ｙ）、このループを抜けてＳ３１３に進む。また、ＣＣＤラインセンサの積分が終了する前に最大積分時間が経過した場合（Ｓ３０９；Ｙ）は、Ｇａｉｎ設定（ゲインアップ設定）（Ｓ３１１）を実行してからＳ３１３に進む。Ｇａｉｎ設定は、ラインセンサから出力された信号の増幅倍率の設定である。
【００５４】
Ｓ３１３では、ＣＣＤ焦点検出素子６１に対して積分終了通信を実行してＣＣＤ焦点検出素子６１に積分を終了させる。続いて、ＣＣＤ焦点検出素子６１からビデオ信号Ｖｉｄｅｏを入力してＡ／Ｄ変換し（Ｓ３１５）、デフォーカス演算（３１７）を実行してリターンする（ＲＥＴ）。
【００５５】
『デフォーカス演算処理』
次に、Ｓ３１７で実行されるデフォーカス演算処理の実施形態について、図１１に示したフローチャートを参照して説明する。
【００５６】
デフォーカス演算処理に入ると、先ず、ＣＣＤラインセンサの基準領域に対応するＡセンサ列Ａｎについて、最大輝度差Ｃｍａｘが得られる基準点ｎｐを検出する（Ｓ４０１）。最大輝度差Ｃｍａｘは上述の数式４で与えられ、基準点ｎｐはＣＣＤラインセンサの各画素に付された画素番号で示される。図５及び図６の実施例では、基準点ｎｐ＝１０のとき最大輝度差Ｃｍａｘをとる。
【００５７】
次に、最大輝度差Ｃｍａｘが得られる基準点ｎｐを含んだ相関演算範囲（第１の範囲）Ｗ０を設定する（Ｓ４０３）。本実施形態では、最大輝度差Ｃｍａｘが得られる基準点ｎｐを中心値とし、この基準点ｎｐから正負方向にそれぞれ５画素分を相関演算範囲Ｗ０（ｎｐ−５≦ｎ≦ｎｐ＋５）としている。より具体的に図５及び図６の実施例の場合は、最大輝度差Ｃｍａｘが得られる基準点ｎｐ＝１０であるから、図７（ａ）に示すように、基準点ｎｐ＝１０を中心とする画素ｎ＝５から画素ｎ＝１５までの１１画素分が相関演算範囲Ｗ０（５≦ｎ≦１５）に設定される。
【００５８】
続いて、Ｓ４０３で設定した相関演算範囲Ｗ０の画像信号列（Ａセンサ列Ａｎ、Ｂセンサ列Ｂｎ）について相関演算を実行し、相関演算結果の信頼性を判定する（Ｓ４０５）。Ｓ４０５の信頼性判定では、上述の数式１〜数式３を用いて、相関関数ＳＣＯ（ｉ）が極小となるシフト量ｉ＝ｉ’での信頼性判定値ＴＲＳ（ｉ’）を算出する。
【００５９】
続いて、Ｓ４０５で求めた信頼性判定値ＴＲＳ（ｉ’）が所定の閾値α以上か否かをチェックする（Ｓ４０７）。信頼性判定値ＴＲＳ（ｉ）は相関演算に用いた画像信号列（Ａセンサ列Ａｎ、Ｂセンサ列Ｂｎ）の輝度差が高いほど小さくなり、この信頼性判定値ＴＲＳ（ｉ）が小さいものほど信頼性が高いことがわかる。
【００６０】
Ｓ４０７で信頼性判定値ＴＲＳ（ｉ’）が所定の閾値α以上でないと判定された場合は（Ｓ４０７；Ｎ）、算出した相関演算結果に基づいてデフォーカス量を算出して（Ｓ４１７）、リターンする（ＲＥＴ）。
【００６１】
信頼性判定値ＴＲＳ（ｉ’）が所定の閾値α以上であれば（Ｓ４０７；Ｙ）、信頼性なしと判定し、遠近混在部検出処理を実行したか否かを示す遠近混在部検出実行フラグに“１”がセットされているか否かをチェックする（Ｓ４０９）。遠近混在部検出実行フラグは、初期状態では“０”がセットされ、遠近混在部検出処理の実行後に“１”がセットされる。
【００６２】
遠近混在部検出実行フラグが“１”でなければ（Ｓ４０９；Ｎ）、遠近混在部検出処理を実行し（Ｓ４１１）、遠近混在部検出実行フラグに“１”をセットする（Ｓ４１３）。遠近混在部検出処理では、撮影距離の異なる複数の被写体が混在していると推定される画素範囲（遠近混在部）を検出し、この遠近混在部を除いて相関演算範囲（第２の範囲）を設定しなおす。そして、Ｓ４１１で設定しなおした相関演算範囲について相関演算を再実行し、さらに、求めた相関関数ＳＣＯ（ｉ）が極小となるシフト量ｉ＝ｉ’での信頼性判定値ＴＲＳ（ｉ’）を算出して（Ｓ４１５）、Ｓ４０７に戻る。
【００６３】
Ｓ４０７で信頼性判定値ＴＲＳ（ｉ’）が所定の閾値α以上でないと判定された場合は（Ｓ４０７；Ｎ）、算出した相関演算結果に基づいてデフォーカス量を算出して（Ｓ４１７）、リターンする（ＲＥＴ）。
【００６４】
Ｓ４０９で遠近混在部検出実行フラグに“１”がセットされている場合は（Ｓ４０９；Ｙ）、遠近混在部を除いて再設定した相関演算範囲で実行した相関演算結果でもＳ４０７で信頼性なしと判定されているので、焦点検出不能としてそのままリターンする（Ｓ４１９、ＲＥＴ）。
【００６５】
『遠近混在部検出処理』
次に、Ｓ４１１で実行される遠近混在部検出処理の実施形態について、図１２に示したフローチャートを参照して説明する。
【００６６】
遠近混在部検出処理に入ると、先ず、Ｓ４０５の相関演算範囲Ｗ０で演算実行した相関関数ＳＣＯ（ｉ）が極小値となるときのシフト量ｉ＝ｉ’で、画素範囲Ｗｆ、Ｗｓにおける相関値の総和Ｄｆ、Ｄｓを算出する（Ｓ５０１）。画素範囲Ｗｆ、Ｗｓは、相関演算範囲Ｗ０でセンサ出力の最大輝度差Ｃｍａｘが得られるＣＣＤラインセンサの画素番号ｎｐを基準点とし、この画素番号ｎｐから所定量だけ正負方向にずらした所定画素分である。この相関値の総和Ｄｆ、Ｄｓは、上述の数式５、６を用いて求められる。
【００６７】
続いて、算出した総和Ｄｆと総和Ｄｓを比較する（Ｓ５０３）。ボディＣＰＵ３１は、総和Ｄｆ、Ｄｓがより大きくなる画素範囲を遠近混在部として検出する。よって、正方向側の総和Ｄｓが負方向側の総和Ｄｆ以上であれば（Ｓ５０３；Ｙ）、最大輝度差Ｃｍａｘが得られる基準点ｎｐを含み、かつ、遠近混在部と推定される画素範囲Ｗｓを除いて、新たな相関演算範囲（第２の範囲）Ｗ１をセットし（Ｓ５０５）、リターンする（ＲＥＴ）。逆に、正方向側の総和Ｄｓが負方向側の総和Ｄｆ以上でなければ（Ｓ５０３；Ｎ）、最大輝度差Ｃｍａｘが得られる基準点ｎｐを含み、かつ、遠近混在部と推定される画素範囲Ｗｆを除いて、新たな相関演算範囲（第２の範囲）Ｗ２をセットし（Ｓ５０７）、リターンする（ＲＥＴ）。
【００６８】
この遠近混在部検出処理からリターンした後の相関演算（Ｓ４１５）では、Ｓ５０５でセットした相関演算範囲Ｗ１またはＳ５０７でセットした相関演算範囲Ｗ２のいずれかで、相関演算が実行される。本実施例では、２回目の相関演算（Ｓ４１５）の相関演算範囲Ｗ１、Ｗ２を、１回目のの相関演算（Ｓ４０５）の相関演算範囲Ｗ０と同じく１１画素分に設定してあるが、相関演算範囲Ｗ０、Ｗ１、Ｗ２の広さは可変としてもよい。
【００６９】
具体的に図５及び図６の実施例の場合、図７（ａ）に示すように、最大輝度差Ｃｍａｘが得られる画素ｎ＝１０を基準点ｎｐとし、この基準点ｎｐ＝１０から正負方向に２〜５画素分だけずらした４画素分を画素範囲Ｗｓ、Ｗｆに設定する。すなわち、画素ｎ＝１２から画素ｎ＝１５までの４画素分が正方向側の画素範囲Ｗｓ（１２≦ｎ≦１５）であり、画素ｎ＝５から画素ｎ＝８までの４画素分を負方向側の画素範囲Ｗｆ（５≦ｎ≦８）である。図７（ａ）では、画素範囲Ｗｓ、Ｗｆに斜めハッチングハッチングを付して示した。ここで、画素範囲Ｗｓが遠近混在部と検出された場合（Ｄｆ≦Ｄｓ）は、図７（ｂ）に示すように、画素ｎ＝１から画素ｎ＝１１までの１１画素分が相関演算範囲Ｗ１（１≦ｎ≦１１）に設定される。一方、画素範囲Ｗｆが遠近混在部と検出された場合（Ｄｆ＞Ｄｓ）は、図７（ｃ）に示すように、画素ｎ＝９から画素ｎ＝１９までの１１画素分が相関演算範囲Ｗ２（９≦ｎ≦１９）に設定される。
【００７０】
以上の処理により、相関演算範囲Ｗ１、Ｗ２のいずれにおいても最大輝度差Ｃｍａｘが得られる画素（基準点）ｎｐ＝１０が含まれ、かつ、遠近混在部が除外されているので、該相関演算範囲Ｗ１、Ｗ２が合焦させたい主要被写体Ｘに対応する画素範囲と一致する可能性が高くなり、この相関演算範囲Ｗ１、Ｗ２に絞って相関演算を実行することができる。これにより、撮影距離が異なる複数の被写体が混在している場合でも、高精度の焦点検出を実現できるとともに焦点検出に要する時間を短縮可能である。
【符号の説明】
【００７１】
１１  カメラボディ
３１  ボディＣＰＵ
３２  ＡＦモータドライバ
３３  ＡＦモータ
３４  ギヤブロック
３５  ジョイント
３７  エンコーダ
３８  ＥＥＰＲＯＭ
５１  撮影レンズ
５２  焦点調節用レンズ
５３  ギヤブロック
５５  ジョイント
５７  レンズＣＰＵ
６０  ＡＦモジュール
６１  ＣＣＤ焦点検出素子
７０  撮影範囲
Ａｎ  Ａセンサ列
Ｂｎ  Ｂセンサ列
Ｃｍａｘ  最大輝度差
Ｄｆ、Ｄｓ  相関値の総和
Ｅ１  焦点検出エリア
Ｘ  主要被写体
Ｙ  背景
Ｚ  背景
Ｗｓ、Ｗｆ  画素範囲
Ｗ０  相関演算範囲（第１の範囲）
Ｗ１、Ｗ２  相関演算範囲（第２の範囲）
【図１】
0005531774.tif 000007
【図２】
0005531774.tif 000008
【図３】
0005531774.tif 000009
【図４】
0005531774.tif 000010
【図５】
0005531774.tif 000011
【図６】
0005531774.tif 000012
【図７】
0005531774.tif 000013
【図８】
0005531774.tif 000014
【図９】
0005531774.tif 000015
【図１０】
0005531774.tif 000016
【図１１】
0005531774.tif 000017
【図１２】
0005531774.tif 000018