説明

焦点検出方法および焦点検出装置

【課題】AFセンサから取り込んだ画像データのノイズを効果的に除去して検出精度を高めることができる焦点検出方法および焦点検出装置を提供する。
【解決手段】被写体像を複数の画素を有する焦点検出センサで受光して画素単位で被写体像信号に変換し、該被写体像信号を受光光量に応じたゲインで増幅して、増幅した被写体像信号に基づいて焦点検出する焦点検出方法において、前記被写体像信号を所定値よりも高いゲインで増幅した場合は、前記被写体像信号にメディアンフィルタ処理を施す。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、被写体像を焦点検出センサで画像信号に変換して焦点検出する焦点検出方法および焦点検出装置に関する。
【背景技術】
【0002】
従来の位相差方式の焦点検出装置は、被写体像をAFセンサ、通常はCCDラインセンサで受光して画素単位の画像信号に変換して出力する。その画像信号はCPUが取り込んで、画像データとして所定の演算を実行し、位相差を検出してデフォーカス量を演算していた。従来のAFセンサでは、被写体像が暗い場合等変換した画像信号のレベルが低い場合は、暗いほどゲイン(増幅率)を上げて増幅し、増幅した画像信号を出力している。一般にゲインを上げると、ノイズが増えるので、従来はローパスフィルタをかけることでノイズの軽減を図っていた。また、画像信号のノイズを除去する方法として、メディアンフィルタが知られている(特許文献1)。
【特許文献1】特開平04-235472号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、従来のローパスフィルタはノイズを十分に除去できているとはいえず、画像の輪郭がぼけるので、暗い被写体に対する焦点検出精度が低かった。一方、メディアンフィルタは、画像の輪郭はぼけないなどの長所はあるものの、処理量が膨大になるので、処理時間が長くなり、高速性が要求される焦点検出には不適であった。
【0004】
かかる従来技術の問題に鑑みて本発明は、AFセンサから取り込んだ画像データのノイズを効果的に除去して検出精度を高めることができる焦点検出方法および焦点検出装置を提供することを目的とする。
【課題を解決するための手段】
【0005】
この課題を解決する本発明は、被写体像を複数の画素を有する焦点検出センサで受光して画素単位で被写体像信号に変換し、該被写体像信号を受光光量に応じたゲインで増幅して、増幅した被写体像信号に基づいて焦点検出する焦点検出方法において、前記被写体像信号を所定値よりも高いゲインで増幅した場合は、前記被写体像信号にメディアンフィルタ処理を施すことに特徴を有する。
【0006】
別の観点からなる本発明は、被写体像を複数の画素を有する焦点検出センサで受光して画素単位で被写体像信号に変換し、該被写体像信号に基づいて焦点検出する焦点検出方法において、
(A) 前記増幅した被写体像信号をA/D変換して画素単位の元画素データとして記憶手段に記憶する段階と、
(B) 該記憶手段から原画素データを、先頭位置から順にソート個数分読み込んでソートデータを構築する段階と、
(C) 該ソートデータを所定順にソートする段階と、
(D) 該ソートデータの中央位置のデータを、該ソートデータを構築する前記記憶手段上の元画素データの中央位置に入れる段階と、
(E) 前記記憶手段から次の元画素データを読み込んで前記ソートデータの中で最先の元画素データの位置に入れる段階と、
(F) 前記(E)段階で入れたデータとその両隣のデータとを比較して、前記所定順のソートに合致しているか否かチェックする段階と、
(G) 前記所定順のソートに合致していない場合は、新たなデータを所定順にソートし、合致している場合はソートしない段階と、
(H) 前記(G)段階後の前記ソートデータの中央位置のデータを、ソートデータを構築する前記記憶手段上の元画素データの中央位置に入れる段階と、
(I) 前記(E)乃至(H)段階の処理を、前記記憶手段に記憶した残りの元画素データについて順番に実行する段階と、を含むことに特徴を有する。
【0007】
より実際的には、前記(C)段階の前に、前記ソートデータの中央位置のデータと他のデータの平均値との差相当値を求める(B2)段階と、前記(C)段階と(D)段階との間に、前記差相当値がしきい値未満の場合は(D)段階をスキップし、前記差相当値がしきい値未満で無い場合は(D)段階をスキップしない(C2)段階を含める。
さらに、前記(E)段階と(F)段階の間に、前記ソートデータの中央位置のデータと他のデータの平均値との差相当値を求め、該差相当値がしきい値未満の場合は前記(F)段階および(G)段階をスキップし、該差相当値がしきい値未満で無い場合は前記(F)段階および(G)段階をスキップしない(E2)段階を含める。
前記(E2)段階は、前回前記(F)段階および(G)段階をスキップした場合は、前記差相当値がしきい値未満で無い場合は前記ソートデータをソートする。
【0008】
前記被写体像信号は前記焦点検出センサから出力される前に受光光量に応じたゲインで増幅される信号であって、前記(A)段階の前に、該被写体像信号を増幅したゲインが所定値よりも大であった場合に前記(A)乃至(I)段階の処理を実行し、大でなかった場合は前記(A)乃至(I)段階の処理を実行しない判断段階を有することが好ましい。
【0009】
別の表現からなる本発明は、被写体像を複数の画素を有する焦点検出センサで受光して画素単位で被写体像信号に変換し、該被写体像信号を受光光量に応じたゲインで増幅して、増幅した被写体像信号に基づいて焦点検出する焦点検出装置において、前記被写体像信号を所定値よりも高いゲインで増幅した場合は、前記被写体像信号にメディアンフィルタ処理を施す信号処理手段を備えたことに特徴を有する。
【0010】
さらに別の表現からなる本発明は、被写体像を複数の画素を有する焦点検出センサで受光して画素単位で被写体像信号に変換し、該被写体像信号に基づいて焦点検出する焦点検出装置において、前記いずれかの焦点検出方法を実施する信号処理手段を備えたことに特徴を有する。
実際的には、前記焦点検出センサはラインセンサであって、前記被写体像信号は一次元像の輝度信号とする。
【発明の効果】
【0011】
この発明によれば、焦点検出に使用する被写体像信号を取得するときにゲインが高い場合、つまり被写体が暗い場合であっても、メディアンフィルタによって効果的にノイズを除去できるので、焦点検出精度が向上する。
請求項2記載の発明によれば、新たな元画素データを、ソートデータの最先の元画素データの位置に入れ、前回ソートデータをソートしていた場合は、新たな素データと前回ソートデータとの比較により、ソートする範囲が狭まる、もしくはソートをしなくても良い可能性が出てくるため、ソートするデータの数が少なくなり、ソート時間を短縮することが可能になる。
【発明を実施するための最良の形態】
【0012】
図1は、本発明を適用した一眼レフカメラの主要構成の一実施形態をブロックで示した図である。このAF一眼レフカメラは、焦点検出用素子としてCCD焦点検出素子43を備えたAFモジュール41を内蔵したカメラボディ11と、このカメラボディ11に着脱可能なAF対応の撮影レンズ101とを備えている。カメラボディ11は、カメラボディ11および撮影レンズ101を総括的に制御するとともに、AFモジュール41から入力した被写体像信号を処理する信号処理手段としても機能するボディCPU31を備えている。一方撮影レンズ101は、レンズ機能を制御するレンズCPU107を備えている。カメラボディ11は、撮影レンズ101との間で、周辺制御回路21を介してレンズ情報、AFレンズ駆動情報等を入出力する。
【0013】
撮影レンズ101からカメラボディ11内に入射した被写体光束は、大部分が観察位置にあるメインミラー13により、ファインダ光学系を構成するペンタプリズム17に向かって反射され、ペンタプリズム17で反射されてアイピースから射出する。ペンタプリズム17から射出された被写体光束の一部は測光IC18の受光素子に入射する。一方、メインミラー13の中央部に形成されたハーフミラー部14に入射した光束の一部はハーフミラー部14を透過し、メインミラー13の背面に設けられたサブミラー15により下方に反射されて、AFモジュール41に入射する。
【0014】
測光IC18は、受光量に応じて光電変換した電気信号を、周辺制御回路21を介してボディCPU31に測光信号として入力する。ボディCPU31は、測光信号およびフィルム感度情報等に基づいて所定の露出演算を実行し、露出用の適正シャッタ速度(露光時間)および絞り値を算出する。そして、これらの算出したシャッタ速度および絞り値に基づいてボディCPU31は、周辺制御回路21を介して、撮影処理の際にモータドライブ回路23を介してミラーモータ(MM)25をミラーアップ方向に駆動してメインミラー13をアップ(撮影位置に移動)するとともに、絞り機構29を駆動して撮影レンズ101の絞り(図示せず)を算出した絞り値に設定し、算出したシャッタ速度に基づいて露光機構(フォーカルプレーンシャッタ)27を開閉駆動して、撮像手段としてのCCDイメージセンサ51に露光する。さらに露光終了後ボディCPU31は、周辺制御回路21を介してミラーモータ25をミラーダウン駆動してメインミラー13をダウンさせる。
【0015】
ボディCPU31は、制御プログラム等をメモリしたROM31a、演算用、制御用の所定のデータを一時的にメモリするRAM31b、計時用のタイマ31c、カウンタ31d、積分終了レベルデータをD/A変換して積分終了レベルVMS信号としてAFモジュール41に出力するD/A変換器31e、AFモジュール41(CCD焦点検出素子43)から入力した出力VOUT信号(積分終了信号/ビデオ信号Video)をA/D変換するA/D変換器31f、を内蔵している。さらにボディCPU31には、外部不揮発性メモリ手段としてEEPROM32が接続されている。このEEPROM32には、カメラボディ11特有の各種定数などがメモリされている。
【0016】
AFモジュール41は、いわゆる瞳分割位相差方式であって、焦点検出センサとしてのCCD焦点検出素子43を備えている。さらにAFモジュール41は、図示しないがAF光学系として、撮像面と等価な焦点検出面において、複数の焦点検出エリア内に被写体像を形成する被写体光束を二分割に瞳分割して、対応するCCD焦点検出素子43上に投影する光学系を備えている。
【0017】
CCD焦点検出素子43は、瞳分割された一対の被写体光束をそれぞれ受光して積分する複数列のCCDラインセンサと、各CCDラインセンサの受光光量をモニタ、つまり積分値をチェックするモニタセンサを備えている。各ラインセンサおよびモニタセンサは、CCD焦点検出素子43が備えた制御回路系により駆動制御される。制御回路系は、モニタセンサのモニタ電圧(出力電圧)が、ボディCPU31から出力される所定の積分終了レベルVMSに達すると、そのモニタセンサに対応するCCDラインセンサの積分を終了させる。積分が終了したときは、AFモジュール41からボディCPU31に積分終了信号が出力される。
【0018】
所定の積分時間内に全てまたはいずれかのモニタ電圧が積分終了レベルVMSに達しなかった場合は、ボディCPU31は積分終了レベルVMSを下げるとともに、オートゲインコントローラ(AGC)44のゲインをアップする。この処理を、全てのモニタセンサのモニタ電圧が積分終了レベルVMSに達するまで所定回数繰り返し、所定回数繰り返してもモニタ電圧が下げた積分終了レベルVMSに達しなかったときは、全てのCCDラインセンサの積分を強制終了させる。
【0019】
AFモジュール41は、全てのCCDラインセンサの積分を終了させると、ラインセンサが積分した電荷を、CCDラインセンサ毎に画素単位で逐一電圧に変換し、オートゲインコントローラ44によって設定されたゲインで増幅し、画素単位のビデオ信号Videoとして、ボディCPU31へ出力する。
【0020】
ボディCPU31は、AFモジュール41から入力したビデオ信号Videoを内蔵A/D変換器31fでデジタル信号に変換し、焦点検出エリアに対応するデジタル信号に基づいて所定の演算(プレディクタ演算)を実行してデフォーカス量を算出する。さらに、算出したデフォーカス量に基づいてAFモータ(AFM)34の回転方向を決定し、回転数を、AFモータ34の回転数を検出するエンコーダ35が出力するAFパルス数として算出、内蔵のカウンタ31dにセットする。そしてボディCPU31は、その回転方向およびパルス数に基づき、AFモータドライバ33を介してAFモータ34を駆動する。この駆動に際してボディCPU31は、AFモータ34の回転に連動してエンコーダ35が出力するパルスを内蔵のカウンタ31dでダウンカウントし、カウント値が0になったらAFモータ34を停止させる。
【0021】
AFモータ34の回転は、ギヤブロック36により減速され、カメラボディ11のマウント部に設けられたジョイント37と撮影レンズ101のマウント部に設けられたジョイント109との接続を介して撮影レンズ101側に伝達される。
【0022】
さらにボディCPU31には、フォーカスモードをマニュアルモード、AF(ワンショット/コンティニュアスAF)モードの間で切り換えるフォーカススイッチSWAF、レリーズ釦の半押しでオンする測光スイッチSWSおよび同全押しでオンするレリーズスイッチSWR、電源をオン/オフするメインスイッチSWMが接続されている。
【0023】
ボディCPU31は、設定されたAF、露出、撮影などのモード、シャッタ速度、絞り値などを表示パネル39に表示する。表示パネル39は、通常、カメラボディ11の外面およびファインダ視野内の2ヶ所に設けられた表示器を含む。
【0024】
さらにこのカメラボディ11には、露光機構27の後方に撮像手段としてのイメージセンサ51が配置されている。露光機構27が開閉する間にイメージセンサ51に蓄積された被写体像画素信号は、露光機構27が閉じた後に読み出され、AFE53において所定のゲインで増幅され、A/D変換されてDSP55に出力される。DSP55は、入力したデジタル画像信号に対して、フィルタ処理、ホワイトバランス処理などを施し、設定された記録モードで変換し、モニタLCD57に表示し、メモリ59に書き込む。
【0025】
撮影レンズ101は、レンズCPU107と、焦点調節用レンズ103を光軸方向に駆動するギヤブロック105と、撮影レンズ101のマウント部に設けられた、カメラボディ11のジョイント37と着脱自在に連結するジョイント109を備えている。AFモータ34の回転は、ギヤブロック36、ジョイント37、109を介してギヤブロック105に伝達され、ギヤブロック105を介して焦点調節用レンズ103を進退移動させる。
【0026】
次に、この実施形態の一眼レフカメラのAF処理における焦点検出信号の流れの概要をブロックで示した図2を参照して概説する。AFモジュール41は、AF処理の際に、CCD焦点検出素子43が被写体像を露光して積分し、モニタ電圧が、CPU31から出力される積分終了レベルVMSに達したときに積分を終了させる。CPU31は、予めEEPROM32に記憶された積分終了レベルデータを読み込んで、D/A変換器31eでアナログ信号に変換して積分終了レベルVMSとしてAFモジュール41に出力する。
【0027】
予め設定された積分時間内にモニタ電圧が積分終了レベルVMSに達しない場合は、段階的に積分終了レベルVMSを下げるともにゲインを段階的にアップする。積分終了レベルVMSを最小値まで下げてもモニタ電圧が積分終了レベルVMSに達しない場合は積分を強制終了させる。なお、この場合ゲインは最大値にアップされている。
【0028】
AFモジュール41は、積分を終了すると、積分終了した画素信号をCCD焦点検出素子43から読み出し、オートゲインコントローラ44において前記設定したゲインで増幅して画像信号Voutとして出力する。ここまではAFモジュール41において実行される処理であって、以下はCPU31における処理である。
【0029】
AFモジュール41から出力された画像信号Voutは、CPU31のA/D変換器31fに読み込まれ、所定ビット数のデジタル信号に変換され、元画素データとしてRAM31bに記憶する。CPU31は、メディアンフィルタ処理を施してから、デフォーカス量演算処理を実行してデフォーカス量および合焦に必要なAFモータ駆動方向および駆動パルス数を演算し、演算した駆動方向に駆動パルス数分AFモータ34を駆動する。
【0030】
次に、本発明の実施形態の一眼レフカメラにおける、測光スイッチSWSがオンされて以降の処理についてさらに図3乃至図10を参照して説明する。この処理は、CPU31により制御される。
【0031】
図3は、測光スイッチSWSがオンされたときに入る測光、AF処理に関するフローチャートである。測光スイッチSWSオンにより測光処理に入ると、先ずステップ(以下「S」という)101において、ループ変数初期化処理を実行する。このループ変数とは、測光スイッチSWSがオンされている状態から抜ける時間を設定するPHタイマなどである。
【0032】
次に、CPU31は各スイッチの状態を入力し(S103)、入力したスイッチの状態に応じた設定処理等を実行する(S105)。次に、測光スイッチSWSがOFFしていたかどうかチェックする(S107)。測光スイッチSWSがOFFしていた場合はこの処理を終了する(S107:YES、END)。測光スイッチSWSがオンしていた場合(S107:NO)は、S109以降の処理を実行する。
【0033】
S109では、レンズ通信を実行して、装着されたレンズ情報を入力する。次に、測光IC18から被写体輝度Bv信号を入力してA/D変換し(S111)、選択された露出モードによってAE演算を実行してシャッタ速度Tvおよび絞り値Avを求め(S113)、求めたシャッタ速度Tvおよび絞り値Avを表示パネル39に表示し(S115)、ファインダ内表示装置の照明(図示せず)をオン/オフ処理する(S117)。このオン/オフ処理では、AF処理が終了していない場合は消灯し、AF処理が終了している場合は点灯する。
【0034】
次にAF処理を実行し(S119)、その後レリーズスイッチSWRがオンしているかどうかをチェックし(S121)、オンしていればレリーズ処理を実行してS125に進み(S121:YES、S123、S125)、オンしていなければレリーズ処理(S123)をスキップしてS125に進む(S121:NO、S125)。
【0035】
S125ではPHonタイマのカウントダウンおよびチェック処理を実行し、チェック処理の結果ループ終了で無ければS103に戻り(S127:NO、S103)、ループ終了であればこの処理を終了する(S127:YES、END)。
【0036】
『AF処理』
S119で実行されるAF処理の詳細について、図4に示したフローチャートを参照して詳細に説明する。AF処理に入ると、先ず、AFモジュール41から画像信号Voutを読み込み(S201)、ゲインアップしたかどうかをチェックする(S203)。ゲインアップしていない場合(S203:NO)はS211に飛んで、入力した画像信号Voutに基づいてデフォーカス量、AFモータ34の駆動方向および駆動パルス数を求めるデフォーカス演算を実行し、AFモータ34を、求めた駆動方向に駆動パルス数分駆動するレンズ駆動処理を実行してリターンする(S213、RETURN)。
【0037】
ゲインアップしていた場合(S203:YES)は、アップしたゲインを読み込み(S205)、アップしたゲインが所定値以上であるか否かチェックする(S207)。アップしたゲインが所定値以上で無い場合(S207:NO)はS211に飛び、所定値以上の場合(S207:YES)は、画像信号Voutに対してメディアンフィルタ処理を実行する(S209)。そうしてメディアンフィルタ処理を施した画像データに基づいて、デフォーカス演算し(S211)、レンズ駆動処理を実行してリターンする(S213、RETURN)。
【0038】
以上の通り本発明の実施形態では、AFモジュール41のオートゲインコントローラ44のゲインをアップした場合、つまり被写体が暗かった場合にメディアンフィルタ処理を実行している。ゲインの所定値は、予め設定され、EEPROM32に書き込まれる。なおこの実施形態ではメディアンフィルタ処理をするか否かを画像信号を増幅するゲインにより判断したが、測光IC18による測光値(被写体輝度)により判断してもよい。
【0039】
『メディアンフィルタ』
次に、S209で実行されるメディアンフィルタ処理の詳細について、さらに図5に示したメディアンフィルタ処理の流れを示す図、並びに図6及び図7に示したフローチャートを参照して説明する。先ず、図5を参照して本発明の実施形態におけるメディアンフィルタ処理の概要を説明する。図において、各方形枠が1個の元画素データ、データ(コントラストデータ)を表し、方形枠内の数字がコントラスト値を表している。この実施形態では、幅5、つまり5個の元画素データ単位でメディアンフィルタをかけるものとする。
【0040】
(A) メディアンフィルタをかける前の画素データは、AFモジュール41から入力した画像信号Voutを入力した順番(A/D変換した順番)に元画素データとしてRAM31bの所定アドレスに書き込まれている(図5(A))。この図では、左端が元画素データの先頭であり開始位置である。
【0041】
(B) 先ず、メディアンフィルタをかけるソートデータを構築するために、連続した5個の元画素データをRAM31bから読み出す。ここでは、先頭である1番目から5番目までの5個の元画素データを読み出して第1番から第5番の箱(アドレス)に順に入れる(図5(B))。箱番号は、データに付随した情報であるアドレスデータとして扱われる。
【0042】
(C) 次に、各5個のデータを、コントラスト順にソートする。ここでは、図においては、左端から昇順にソートしてある(図5(C))。
【0043】
(D) ソートしたデータの中央値(中央位置である箱番号1のコントラスト値)を、このソートデータを構築する、RAM31b上の元画素データの中央位置(アドレス)に書き込む(上書きする)(図5(D))。この書き込みにより、3番目の元画素データについてメディアフィルタがかけられたことになる。
【0044】
(E) メディアンフィルタをかける次の元画素データをRAM31bから読み込み、前記第1番目の元画素データを入れた箱に入れる。この実施形態では、前回ソートした先頭の箱、つまり最先の元画素データを入れた箱(図では箱番号1)の元画素データを外し、その箱(箱番号1)に前記読み込んだ次の元画素データを挿入(上書き)する(図5(E))。この処理により、1画素分ずれた5個の元画素データによりソートデータが構築される。
【0045】
『2回目以降のソート処理』
2回目以降のソート処理は、次の通りである。
(F) 先ず、新たに入れたデータが昇順になっているどうかチェックする。図5(F)の例では、前記次の元画素データが入った新たな箱のコントラスト値とその両隣の箱のコントラスト値を比較する。左隣に対しては左隣の箱のコントラスト値よりも高いか、右隣に対しては右隣の箱に入ったコントラスト値よりも低いか比較する。この例の場合は、左隣に対しては成立し、右隣に対しては成立しない。
【0046】
(G)そこでこの例では、新たな箱と右隣の箱をソートする。続いて、新たな箱のコントラスト値が右隣の箱に入ったコントラスト値よりも低いか否か比較する。以上の比較およびソート処理を、比較判断が成立するまで、あるいは右隣が存在しなくなるまで繰り返す。
【0047】
(H) 以上の比較およびソートが終了すると、中央位置の箱のコントラスト値を、このソートデータを構築するRAM31b上の元画素データの中央位置(アドレス)に書き込む(上書きする)。
【0048】
(I) 以後、上記2回目以降の読み込み、比較、ソートおよび上書き処理を、残りの元画素データについて順番に繰り返す。
【0049】
以上のメディアンフィルタ処理によりノイズ、つまりいわゆるゴマ塩状ノイズが除去され、かつエッジが残ったコントラスト値の変化が明瞭な画像データが得られる。
【0050】
以上は右隣と成立しなかった場合であるが、左隣と成立しなかった場合も上記同様に左隣の箱に対する比較およびソート処理を実行する。
【0051】
以上の比較およびソート処理によれば、中央の箱を除く他の箱のデータについてはすでにソートが終了しているので、処理時間を短縮できる。図示実施形態では3画素分のみでソートするので、5画素分ソートするよりも処理時間を大幅に短縮できる。
【0052】
次に、本発明の焦点検出データ処理の特徴であるメディアンフィルタ処理について、さらに図6乃至図10に示したフローチャートを参照して説明する。
図6に示したフィルタ1処理では、先ず、フィルタをかける(ソートする)領域の元画素データを取り込み、取り込んだデータ群をソートデータS(n)とする(図5(B))(S301)。この実施形態では、5個の元画素データでソートデータS(n)を構成する。
【0053】
次に、HPFデータ(フィルタデータ)を計算する(S303)。この実施形態では、HPFデータを、式
HPFData = (FilterWidth ? 1) * S(n) - (S(n-2)+S(n-1)+S(n+1)+S(n+2))
によって求める。
ここで、変数FilterWidthはフィルタをかけるソートデータのデータ数であって、この実施形態では「5」であり、nは中央位置「3」を示す変数である。
S(n-2)乃至S(n+2)はフィルタをかける5個のデータの値(コントラスト値)である。
以上の式により、中央位置のコントラストデータの4倍と、中央位置のコントラストデータを除く他の4個のコントラストデータの和との差であるフィルタデータHPFDataが求まる。フィルタデータHPFDataは、言い換えると、中央位置のコントラストデータと、残りのコントラストデータの平均値の差である。
【0054】
次に、フィルタデータHPFDataが予め設定したしきい値(Threshold Level)未満であるか否かチェックする(S305)。未満であれば(S305:YES)、これらの5個のデータを昇順ソートし(S307、(図5(C))、中央位置のコントラスト値S(n)が中央値となっているので、その値を、ソートデータを構築する5個の元画素データの中央位置に相当する元画素データのRAM31b上の位置(アドレス)に書き込んで(上書きして)(S309、図5(D))S311に進む。未満でなければ、ソートせずにS311に進む(S305:NO、S311)。つまり、ソートデータの中央位置のコントラストがしきい値未満ならノイズとみなしてメディアンフィルタをかけてノイズを除去し、しきい値以上であればコントラストとみなして何もしない。しきい値(Threshold Level)は予め設定され、EEPROM32に書き込まれている。
【0055】
S311では、RAM31bから元画素データを1画素ずらして読み込み、ソートデータの最先(最も古い)元画素データが入っていた位置に入れて新たなソートデータを構築する(S311、図5(E))。つまり、1画素分ずれた5個の元画素データによりソートデータを構築する。
【0056】
そうして、最後の画素まで処理が終了しているかどうかチェックして(S313)、最後の画素まで終了していなければS301に戻ってS303以下の処理を繰り返し(S313:NO、S301)、最後の画素まで終了していればこの処理を終了する(S313:YES、END)。
【0057】
S307で実行されるソート処理のうち、2回目以降のソート1処理について図7に示したフローチャートを参照して説明する。なお、1回目のソートは公知の挿入選択法などによって行う。
【0058】
2回目以降のソートでは、ソートデータの中で最先に読み込まれた元画素データが入っていた位置に新たな元画素データが挿入されているが、その挿入位置よりも前後側のデータについてはソートが終了している。そこで、挿入位置のデータとその前後側のデータに対してソート条件に合致しているか否かチェックする。つまり、挿入位置の前(左)隣のデータが挿入したデータ未満であるか否かチェックする(S401)。挿入したデータ未満であれば降順側OKフラグを立ててS405に進み(S401:YES、S403、S405)、挿入したデータ未満でなければそのままS405に進む(S401:NO、S405)。
【0059】
S405では、挿入位置の後(右)隣のデータが挿入位置のデータ未満であるか否かチェックする。挿入位置のデータ未満であれば昇順側OKフラグを立ててS409に進み(S405:YES、S407、S409)、挿入位置のデータ未満でなければそのままS409に進む(S405:NO、S409)。以上のS401乃至S407の処理は、図5の(F)、(G)に相当する。
【0060】
S409では、降順フラグおよび昇順フラグをチェックして、その状態に応じた処理を実行する。つまり、降順フラグおよび昇順フラグが立っている場合はソートの必要が無いので何もせずにリターンし(S411、RETURN)、昇順フラグのみ立っている場合は始端(先頭)位置から挿入位置までソートし(S413)、降順フラグが立っている場合は挿入位置から終端位置までソートし(S415)、ソートが終了したらリターンする。
【0061】
以上の通り本実施形態のソート1処理によれば、前回ソートされていた場合は全くソート処理が不要か、ソートする場合も挿入位置の前後一方側のみ処理すればよいので、ソート処理に要する時間を大幅に短縮できる。
【0062】
次に、フィルタ処理でもあるソート処理に関する第2の実施形態について、図8乃至図10に示したフローチャートを参照して説明する。第2の実施形態は、フィルタをかける条件として、被写体が暗いなどの原因によりゲインが所定倍以上であることを設定した実施例である。
【0063】
先ず、フィルタをかけるか否かを決定するHPFデータのしきい値を決定する(S501)。しきい値は、予め、初期値およびゲインが上がった場合の値が設定されてEEPROM32に書き込まれているので、EEPROM32から読み込む。
【0064】
次に、最初のソートデータ、つまり5個分の元画素データを読み込み(S503、図5(B))、読み込んだ元画素データによりソートデータを構築し、ソートデータから、しきい値と比較するHPFデータを求める(S505)。HPFデータを求める方法は、図6に示したS303の式および処理と同じである。
【0065】
そうして、求めたHPFデータがしきい値未満であるかどうかをチェックする(S507)。HPFデータがしきい値未満の場合(S507:YES)は、ソートデータ(5個の画素データ)を昇順ソートし(S509、図5(D))、ソートフラグに“1”をセットし(S511)、ソートデータの中央位置の値を、RAM31bの読み込んだ5個の元画素データの中央位置のアドレスに代入(上書き)する(S513、図5(E))。そうして、メディアンフィルタをかけた後のデータを次のソートデータに反映させるか否かチェックし(S515)、反映させる場合(S515:YES)は、ソートデータの中央位置の元画素データにソート後の中央値を代入してS523に進み(S517、S523)、反映させない場合はそのままS523に進む(S515:NO、S523)。なお、この反映させるかさせないかを決めるフラグはEEPROM32に書き込まれていて、フラグの設定は、製造時または使用者がメニュー操作によって設定できるように構成することが好ましい。
【0066】
HPFデータがしきい値未満でない場合(S507:NO)は、ソートデータの中央位置の値をRAM31bにおいて読み込んだ5個の元画素データの中央の元画素データのアドレスに書き込み(S519)、ソートフラグに“0”を入れて(S521)、S523に進む。つまり、ソートデータはソートしていないので、ソートデータ中の画素データを元画素データに戻している。S519の処理は、ソート後の画素データベースを新たに作る場合、あるいは元画素データを読み込むと元画素データが消える場合に有効である。
【0067】
S523に進むと、注目画素を1個ずらす。つまり、RAM31bから読み込む元画素データを1個ずらす。そうして、2回目以降の処理へ進む。
【0068】
図9には、2回目以降の処理をフローチャートで示してある。2回目以降の処理では、S601とS629の間のS603乃至S627の処理を、読み込む元画素データを1個ずつずらしながら、残りの元画素データについて実行する。
【0069】
S603では、ソートデータに対する終了位置のサーチと、元画素データの中央値のサーチ処理を実行する。続いて、次の元画素データをソートデータの終了位置、つまり最先にソートデータに入れた元画素データの位置に代入する(S605、図5(F))。この更新したソートデータに基づいて、しきい値と比較するHPFデータを求める(S607)。HPFデータを求める方法は、図6に示したS303の式、処理と同じである。
【0070】
次に、HPFデータがしきい値未満であるかどうかをチェックする(S609)。HPFデータがしきい値未満の場合(S609:YES)は、ソートフラグに“1”がセットされているか否かチェックし(S611)、ソートフラグに“1”がセットされている場合(S611:YES)はソートされたソートデータなので、図7に示したソート1処理、または後述のソート2処理を実行する(S613、図5(G))。一方、ソートフラグに“1”がセットされていない場合(S611:NO)はソートされていないので、挿入ソート処理を実行する(S615、図5(C))。前回ソートされている場合はソート1または2処理を実行するので、ソート時間が短縮される。
【0071】
ソートデータの中央値を、RAM31bにおける元画素データの中央位置のアドレスに代入(上書き)する(S617、図5(H))。そうして、メディアンフィルタをかけた後のデータを次のソートデータに反映させるか否かチェックする(S619)。反映させる場合(S619:YES)は、ソートデータの中央にソート後の中央値を入れてS627に進み(S621、S627)、反映させない場合はそのままS627に進む(S619:NO、S627)。つまり、反映させる場合は、メディアンフィルタをかけた後の元画素データをその元画素データが入っていたソートデータの位置に入れるのである。これにより、ノイズを減らした状態でフィルタ処理が可能になる。
【0072】
HPFデータがしきい値未満でない場合(S609:NO)は、ソートデータの中央位置の値を、RAM31bにおいて読み込んだ5個の元画素データの中央位置の元画素データのアドレスに書き込み(S623)、ソートフラグに“0”を入れて(S625)、S627に進む。つまり、ソートデータはソートしていないので、ソートデータに入れた元画素データをそのままRAM31bに戻している。
【0073】
S627に進むと、注目画素を1個ずらす。つまり、読み込む元画素データを1個ずらす。そうして、全ての元画素データの処理を終了していなければ、あるいは予め設定された回数実行していなければS601に戻ってS603からの処理を繰り返し(S629、S601)、全ての画素データについて処理を終了しているか、予め設定された回数実行していれば終了する(S629、END)。
【0074】
『ソート処理2』
次に、本発明のソート処理2の詳細について、図10に示したフローチャートを参照して説明する。
先ず、挿入されたソートデータ位置が始端でも終端でも無いかどうかチェックする(S701)。始端または終端であった場合(S701:NO)は、挿入されたデータ位置が始端であるか否かチェックし(S715)、始端であった場合は昇順フラグに“1”をセットしてS723に進む(S715:YES、S717、S723)。挿入されたデータ位置が始端でなかった場合は、終端であるか否かチェックし(S715:NO、S719)し、終端であった場合は降順フラグに“1”をセットしてS723に進む(S715:NO、S719:YES)。終端でもなかった場合はそのままS723に進む(S719:NO、END)。この場合は、ソート処理がされない。
【0075】
挿入されたソートデータ位置が始端でも終端でも無かった場合(S701:YES)は、以下の処理を実行する。挿入された画素データの位置よりも手前位置の画素データの値が挿入された画素データの値未満であるかどうかチェックし(S703)、未満である場合は降順フラグに“1”をセットして進み(S703:YES、S705、S707)、未満で無い場合はそのままS707に進む(S703:NO、S707)。
【0076】
次に、挿入された画素データの値が挿入された位置の次位置の画素データの値未満であるかどうかをチェックし(S707)、未満の場合は昇順フラグに“1”をセットして進み(S707:YES、S709、S711)、未満で無い場合はそのままS711に進む(S707:NO、S711)。
【0077】
S711では、降順フラグに“1”がセットされかつ昇順フラグに“1”がセットされているか否かチェックし、肯定の場合はエンドフラグに“1”をセットして進み(S711:YES、S713、S723)、否定の場合は何もせずに進む(S711:NO、S723)。エンドフラグは、ソート終了したか否か、言い換えるとソートの必要が無いか否かを識別するフラグであって、“1”はソートの必要が無いことを識別する。
【0078】
S723では、エンドフラグに“1”がセットされているか否かチェックし、エンドフラグに“1”がセットされていたらこの処理を終了する(S723:YES、END)。エンドフラグに“1”がセットされていない場合(S723:NO)は、降順フラグに“1”がセットされているか否かチェックし(S725)、降順フラグに“1”がセットされている場合は、始端から挿入位置までのソートデータに対して挿入ソート処理を実行してこの処理を終了する(S725:YES、S727、END)。降順フラグに“1”がセットされていない場合(S725:NO)は、昇順フラグに“1”がセットされているか否かチェックし(S729)、昇順フラグに“1”がセットされている場合は挿入位置から終端までのソートデータについて挿入ソート処理を実行してこの処理を終了し(S727:YES、S731、END)、昇順フラグに“1”がセットされている場合はそのままこの処理を終了する(S729:NO、END)。
【0079】
以上の処理により、AFモジュール41から取得した焦点検出信号(画像データ)についてメディアンフィルタが施され、ノイズが除去されかつ輪郭が明瞭になる。なお、以上の処理は、一対の焦点検出信号についてそれぞれ施し、多点焦点検出センサの場合は全ての焦点検出信号について実行する。
【0080】
以上、本発明の実施形態では5個の元画素データによりソートデータを作成したが、3個または7個以上によりソートデータを作成してもよく、ソートの順は降順でもよい。本発明は、ゲインに係わらずフィルタ処理を実行してもよいが、ゲインが低い場合は被写体が明るく、元々のノイズが少ないのでフィルタ効果も小さい。
【図面の簡単な説明】
【0081】
【図1】本発明を適用した一眼レフカメラの主要構成の一実施形態をブロックで示した図である。
【図2】実施形態の一眼レフカメラのAF処理における焦点検出信号の流れの概要をブロックで示した図である。
【図3】同一眼レフカメラにおいて、測光スイッチSWSがオンされたときに入るメイン処理をフローチャートで示した図である。
【図4】同メイン処理において実行されるAF処理をフローチャートで示した図である。
【図5】本発明の実施形態であるメディアンフィルタ処理の流れを説明する図である。
【図6】本発明の実施形態におけるメディアンフィルタ処理の概要フローチャートで説明する図である。
【図7】同メディアンフィルタ処理で実行されるソート処理のうち、2回目以降のソート1処理をフローチャートで示した図である。
【図8】本発明のメディアンフィルタ処理の他の実施形態をフローチャートで示した図である。
【図9】同メディアンフィルタ処理における2回目以降のソート2処理をフローチャートで示した図である。
【図10】同2回目以降のソート2処理におけるソート処理をフローチャートで示した図である。
【符号の説明】
【0082】
11 カメラボディ
21 周辺制御回路
27 露光機構
31 ボディCPU(信号処理手段)
31b RAM
31f A/D変換器
32 EEPROM
41 AFモジュール
43 CCD焦点検出素子
44 オートゲインコントローラ(AGC)
SWS 測光スイッチ
VMS 積分終了レベル

【特許請求の範囲】
【請求項1】
被写体像を複数の画素を有する焦点検出センサで受光して画素単位で被写体像信号に変換し、該被写体像信号を受光光量に応じたゲインで増幅して、増幅した被写体像信号に基づいて焦点検出する焦点検出方法において、
前記被写体像信号を所定値よりも高いゲインで増幅した場合は、前記被写体像信号にメディアンフィルタ処理を施すことを特徴とする焦点検出方法。
【請求項2】
被写体像を複数の画素を有する焦点検出センサで受光して画素単位で被写体像信号に変換し、該被写体像信号に基づいて焦点検出する焦点検出方法において、
(A) 前記増幅した被写体像信号をA/D変換して画素単位の元画素データとして記憶手段に記憶する段階と、
(B) 該記憶手段から原画素データを、先頭位置から順にソート個数分読み込んでソートデータを構築する段階と、
(C) 該ソートデータを所定順にソートする段階と、
(D) 該ソートデータの中央位置のデータを、該ソートデータを構築する前記記憶手段上の元画素データの中央位置に入れる段階と、
(E) 前記記憶手段から次の元画素データを読み込んで前記ソートデータの中で最先の元画素データの位置に入れる段階と、
(F) 前記(E)段階で入れたデータとその両隣のデータとを比較して、前記所定順のソートに合致しているか否かチェックする段階と、
(G) 前記所定順のソートに合致していない場合は、新たなデータを所定順にソートし、合致している場合はソートしない段階と、
(H) 前記(G)段階後のソートデータの中央位置のデータを、該ソートデータを構築する前記記憶手段上の元画素データの中央位置に入れる段階と、
(I) 前記(E)乃至(H)段階の処理を、前記記憶手段に記憶した残りの元画素データについて順番に実行する段階と、を含むことを特徴とする焦点検出方法。
【請求項3】
請求項2記載の焦点検出方法において、前記(C)段階の前に、前記ソートデータの中央位置のデータと他のデータの平均値との差相当値を求める(B2)段階と、前記(C)段階と(D)段階との間に、前記差相当値がしきい値未満の場合は(D)段階をスキップし、前記差相当値がしきい値未満で無い場合は(D)段階をスキップしない(C2)段階を有する焦点検出方法。
【請求項4】
請求項3記載の焦点検出方法において、前記(E)段階と(F)段階の間に、前記ソートデータの中央位置のデータと他のデータの平均値との差相当値を求め、該差相当値がしきい値未満の場合は前記(F)段階および(G)段階をスキップし、該差相当値がしきい値未満で無い場合は前記(F)段階および(G)段階をスキップしない(E2)段階を有する焦点検出方法。
【請求項5】
請求項4記載の焦点検出方法において、前記(E2)段階は、前回前記(F)段階および(G)段階をスキップした場合は、前記差相当値がしきい値未満で無い場合は前記ソートデータをソートする焦点検出方法。
【請求項6】
請求項2乃至5のいずれか一項記載の焦点検出方法において、前記被写体像信号は前記センサから出力される前に受光光量に応じたゲインで増幅される信号であって、前記(A)段階の前に、該被写体像信号を増幅したゲインが所定値よりも大であった場合に前記(A)乃至(I)段階の処理を実行し、大でなかった場合は前記(A)乃至(I)段階の処理を実行しない判断段階を有する焦点検出方法。
【請求項7】
請求項2乃至6のいずれか一項記載の焦点検出方法において、前記焦点検出センサはラインセンサであって、前記被写体像信号は一次元像の輝度信号である焦点検出方法。
【請求項8】
被写体像を複数の画素を有する焦点検出センサで受光して画素単位で被写体像信号に変換し、該被写体像信号を受光光量に応じたゲインで増幅して、増幅した被写体像信号に基づいて焦点検出する焦点検出装置において、
前記被写体像信号を所定値よりも高いゲインで増幅した場合は、前記被写体像信号にメディアンフィルタ処理を施す信号処理手段を備えたことを特徴とする焦点検出装置。
【請求項9】
被写体像を複数の画素を有する焦点検出センサで受光して画素単位で被写体像信号に変換し、該被写体像信号に基づいて焦点検出する焦点検出装置において、請求項2乃至6のいずれか一項記載の焦点検出方法を実施する信号処理手段を備えたこと、を特徴とする焦点検出装置。
【請求項10】
請求項9記載の焦点検出装置において、前記焦点検出センサはラインセンサであって、前記被写体像信号は一次元像の輝度信号である焦点検出装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2008−107742(P2008−107742A)
【公開日】平成20年5月8日(2008.5.8)
【国際特許分類】
【出願番号】特願2006−292974(P2006−292974)
【出願日】平成18年10月27日(2006.10.27)
【出願人】(000000527)ペンタックス株式会社 (1,878)
【Fターム(参考)】