[実施例1]
撮像装置の全体概略構成
以下に、本発明の好ましい実施例を、図1〜図7を参照して詳細に説明する。
図1は、本実施例に係わる焦点調節装置を適用した撮像装置としてのデジタルカメラのブロック図である。本実施例のデジタルカメラは交換レンズ式一眼レフカメラであり、レンズユニット100とカメラ本体120とを有する。レンズユニット100は図中央の点線で示されるマウントMを介して、カメラ本体120と着脱可能に接続される。
レンズユニット100は、第1レンズ群101、絞り兼用シャッタ102、第2レンズ群103、フォーカスレンズ群(以下、単に「フォーカスレンズ」という)104、及び、後述する制御部を有する。このようにレンズユニット100は、フォーカスレンズ104を含むと共に被写体の像を形成する撮影光学系を有する。
第1レンズ群101は、レンズユニット100の先端に配置され、光軸方向OAに進退可能に保持される。絞り兼用シャッタ102は、その開口径を調節することで撮影時の光量調節を行う他、静止画撮影時には露光秒時調節用シャッタとして機能する。絞り兼用シャッタ102及び第2レンズ群103は一体として光軸方向OAに進退可能であり、第1レンズ群101の進退動作との連動によりズーム機能を実現する。フォーカスレンズ104は、光軸方向の進退移動により焦点調節を行う。
レンズユニット100の制御部は、ズームアクチュエータ111、絞りシャッタアクチュエータ112、フォーカスアクチュエータ113、ズーム駆動部114、絞りシャッタ駆動部115、フォーカス駆動部116、レンズMPU117、レンズメモリ118を有する。
ズームアクチュエータ111は、第1レンズ群101や第3レンズ群103を光軸方向OAに進退駆動し、ズーム操作を行なう。絞りシャッタアクチュエータ112は、絞り兼用シャッタ102の開口径を制御して撮影光量を調節すると共に、静止画撮影時の露光時間制御を行なう。フォーカスアクチュエータ113は、フォーカスレンズ104を光軸方向OAに進退駆動して焦点調節を行ない、フォーカスレンズ104の現在位置を検出する位置検出部としての機能が備わっている。
ズーム駆動部114は、撮影者のズーム操作に応じてズームアクチュエータ111を駆動する。シャッタ駆動部115は、絞りシャッタアクチュエータ112を駆動制御して絞り兼用シャッタ102の開口を制御する。フォーカス駆動部116は、焦点検出結果に基づいてフォーカスアクチュエータ113を駆動制御し、フォーカスレンズ104を光軸方向OAに進退駆動して焦点調節を行なう。
レンズMPU117は、撮影光学系に係る全ての演算、制御を行い、ズーム駆動部114、シャッタ駆動部115、フォーカス駆動部116、レンズメモリ118を制御する。また、レンズMPU117は、現在のレンズ位置を検出し、カメラMPU125からの要求に対してレンズ位置情報を通知する。レンズメモリ118には自動焦点調節に必要な光学情報を記憶する。
カメラ本体120は、光学的ローパスフィルタ121、撮像素子122、後述する制御部を有する。光学的ローパスフィルタ121は、撮影画像の偽色やモアレを軽減する。
撮像素子122は、C−MOSセンサとその周辺部で構成され、C−MOSセンサは横方向にm画素、縦方向にn画素の受光ピクセル上に1つの光電変換素子が配置された画素配列を有する。撮像素子122は、画素配列の各画素の独立な出力が可能なように構成されている。また、一部の画素が焦点検出用画素となっており、撮像面における位相差AF検出方式の焦点検出(撮像面位相差AF)が可能となっている。
より具体的には、撮像素子122の画素配列は、被写体の像を形成する撮影光学系の射出瞳の全域を通る光束を各々が受光して被写体の像を生成する複数の撮影用画素を有する。また、画素配列は、各々が撮影光学系の異なる射出瞳の領域を通る光束を受光する複数の焦点検出用画素を更に有する。複数の焦点検出用画素は全体として撮影光学系の射出瞳の全域を通る光束を受光することができ、1つの撮影用画素に対応する。例えば、画素配列において、2行×2列の画素のうち、対角に配置される一対のG画素は撮影用画素として残し、R画素とB画素を焦点検出用画素に置き換える。
駆動部は、撮像素子駆動部123、画像処理部124、第1の制御部、第2の制御部、第3の制御部の機能を備えたカメラMPU125、表示器126、操作スイッチ群127、メモリ128、第1の焦点検出部129、第2の焦点検出部130を有する。
撮像素子駆動部123は、撮像素子122の動作を制御するとともに、取得した画像信号をA/D変換してカメラMPU125に送信する。画像処理部124は、撮像素子122が取得した画像のγ変換、カラー補間、JPEG圧縮などを行う。
第1の制御部、第2の制御部、第3の制御部の機能を備えたカメラMPU(プロセッサ)125は、カメラ本体120に係る全ての演算、制御を行う。これにより、撮像素子駆動部123、画像処理部124、表示器126、操作SW127、メモリ128、第1の焦点検出部129、第2の焦点検出部130を制御する。
第1の制御部、第2の制御部、第3の制御部の機能を備えたカメラMPU125はマウントMの信号線を介してレンズMPU117と接続されている。これにより、レンズMPU117に対してレンズ位置の取得や所定の駆動量でのレンズ駆動要求を発行したり、レンズユニット100に固有の光学情報を取得したりする。
第1の制御部、第2の制御部、第3の制御部の機能を備えたカメラMPU125には、カメラ動作を制御するプログラムを格納したROM125a、変数を記憶するRAM125b、諸パラメータを記憶するEEPROM125cが内蔵されている。更に、カメラMPU125は、ROM125aに格納したプログラムをロードして実行することで焦点検出処理を実行する。焦点検出処理の詳細は後述する。また、カメラMPU125は、撮像面位相差AFにおいて、焦点検出位置の像高が大きい時にケラレの影響が大きく信頼度が低下するため、その補正も行う。
表示器126はLCDなどから構成され、カメラの撮影モードに関する情報、撮影前のプレビュー画像と撮影後の確認用画像、焦点検出時の合焦状態表示画像などを表示する。操作スイッチ群127は、電源スイッチ、レリーズ(撮影トリガ)スイッチ、ズーム操作スイッチ、撮影モード選択スイッチ等で構成される。本実施例のメモリ128は、着脱可能なフラッシュメモリで、撮影済み画像を記録する。また、レリーズスイッチは撮影動作に先立って行われるAE処理、AF動作を開始させる指示信号を発生する第1ストローク(以下SW1)と実際の露光動作を開始させる指示信号を発生する第2ストローク(以下SW2)との二段スイッチにより構成される。
第1の焦点検出部129は、撮像素子122に埋め込まれた焦点検出用画素の像信号により位相差AF方式での焦点検出処理を行う。より具体的には、第1の焦点検出部129は、撮像光学系の一対の瞳領域を通過する光束により焦点検出用画素に形成される一対の像(以下A像、B像と呼ぶ)のずれ量に基づいて撮像面位相差AFを行う。撮像面位相差AFの原理は、特開2009−003122号公報の図5〜図7、図16などにおいて説明されているものと同様である。
本実施例の撮像装置が有する撮像素子122は、特開2009−003122号公報の図6のように、撮像面位相差AFを行う焦点検出用画素のうち、A像用の焦点検出画素を水平方向に規則的に配列し、これらの画素群で取得した被写体像がA像である。また、B像用の焦点検出画素も水平方向(長辺方向)に規則的に配列し、これらの画素群で取得した被写体像がB像である。ここで水平方向とは、撮影光学系の光軸と撮像素子の撮像面の長辺とが地面に平行となるように撮像装置を構えたとき、この光軸に直交し、かつ水平方向に伸びる直線に沿った方向をいう。長辺方向とは撮影画面(画素配列)の中で画素数が多く長辺である方向のことをいう。
上記のように、A像、B像の各焦点検出画素が配置されている方向(この例では水平方向)、すなわち撮像面位相差AFが評価する方向のことを、第1の方向と定義する。ただし、第1の焦点検出部129が行う第1の焦点検出方法としては、撮像面位相差AFに限らない。撮像素子122の面内の方向である第1の方向のコントラストを利用して焦点検出を行うことができればよい。例えば、第1の焦点検出方法はコントラストAFでもよい。コントラストAFの詳細な合焦位置算出方法としては、例えば、特開2010−078810号公報の図12で説明されているような方法を用いればよい。つまり、合焦状態を示すコントラスト焦点評価値のフォーカスレンズ104の位置に対する変化を表わす曲線の一定値以上の傾きで傾斜している部分の長さ、および傾斜している部分の勾配の変化具合から、ピーク位置を算出する。コントラスト焦点評価値のピーク位置は、合焦位置にほかならないので、これにより合焦位置算出を行うことができる。なお、第1の焦点検出部129で行うAF方式のことを以下において第1の焦点検出と称することにする。
第2の焦点検出部130は、画像処理部124にて得られた画像情報から算出されるボケ評価値に基づいた第2の焦点検出方式により第2の焦点検出を行う。第2の焦点検出方式は、Depth From Defocus法(以下DFD)と呼ばれる方法を用いており、所定のデフォーカス量だけ異なる2つの画像に対して演算処理を行うことでボケ評価値を算出する。ボケ評価値の具体的な算出方法については後述する。
DFDに用いる所定のデフォーカス量だけ異なる2つの画像を得るためには、撮像画像のボケ状態に影響を与える、フォーカスレンズの位置、絞り量、焦点距離などの撮影パラメータをカメラMPU125の制御で変更して撮影を行う。撮影パラメータの変更は、1つ以上のパラメータの変更であれば、どれを変更してもよい。本実施例では、フォーカスレンズの位置のみを変更する場合の説明を行う。
本実施例に係わるボケ評価値とは撮像画像のボケ状態を示す値であり、撮影光学系の点像強度分布関数の分散と相関をもつ値である。ここで、点像強度分布関数とは点像がレンズを通過したあとの広がり具合の関数のことである。また、撮影光学系の点像強度分布関数の分散は被写体距離と相関をもっている。即ち撮影光学系の点像強度分布関数の分散はフォーカスレンズ位置と相関をもっていると言い換えることができる。以上のことから、ボケ評価値とフォーカスレンズ位置の間には相関関係があるとわかる。この関係について詳しくは後述する。
本実施例に係わる焦点調節装置は、第1の焦点検出部129と第2の焦点検出部130により2つの焦点検出方法を行うことを特徴としている。この目的については後述する。
ボケ評価値の説明
次に、図2を参照して、図1のカメラMPU125及び第2の焦点検出部130により算出されるボケ評価値の算出方法について説明する。図2は、本発明のボケ評価値を算出する部のブロック図である。同図において、図1と同様の部分は同じ符号を付して示す。
第2の焦点検出部130では、画像信号からボケ評価値を算出する。前述の通り、ボケ評価値の算出には、所定のデフォーカス量だけ異なる2つの画像信号を用いる。撮像素子が1つしかない本実施例の機構では、同時に2つの画像を撮像することができないので、所定のデフォーカス量だけ異なる2つの画像信号を得るためには順番に撮像する必要がある。ここで、先に撮像される画像を画像1、後に撮像される画像を画像2と呼び、画像1と画像2はDFDに用いるために所定のデフォーカス量だけ異なる2つの画像である。
まず画像1の輝度信号を取得するために、撮像素子駆動部123でA/D変換された画像信号がMPU125に送信され、画像1の画像信号がRAM125bに格納される。
画像1の画像信号が、第2の焦点検出部130に入力されると、AF評価用信号処理部201で、輝度信号Yに変換された後、低輝度成分を強調して高輝度成分を抑圧するガンマ補正処理が施される。また、ガンマ補正処理された輝度信号Yは、赤の輝度信号(以下RY)、緑の輝度信号(以下GY)、青の輝度信号(以下BY)の3色の輝度信号と、RY,GY,BYを所定の重みづけし加算することにより計算されたY信号を含む。なお以下では、赤、緑、青の各色をそれぞれR、G、Bと呼ぶことにする。ただし、AF評価用信号処理部201の出力信号である画像1の輝度信号Yは、ノイズ低減や精度向上を目的として、RY、GY、BY、Y信号のどれか一つを用いてもよいし、複数の信号を組み合わせて複数のボケ評価値を算出してもよい。
続いて、画像1と所定のデフォーカス量だけ異なる画像2の輝度信号を取得するべく、撮像素子上に結像される像のボケ状態を変えるために、フォーカスレンズ104を所定量だけ駆動させる。駆動後に撮像された画像2の画像信号は、RAM125bに格納され、更に第2の焦点検出部130を通して画像1と同様の処理を行って画像2の輝度信号Yを生成する。ガンマ補正された画像1、画像2の輝度信号Yのことを、以下においてそれぞれ画像1の輝度信号202(G1)、画像2の輝度信号203(G2)と称する。
G1、G2はそれぞれ領域設定215によって設定される横方向m画素、縦方向n画素のAF評価範囲から切り出されて、より小さい範囲の領域に設定される。具体的には、AF評価範囲の大きさを横方向M画素、縦方向N画素とすると、MとNにそれぞれ後述するフィルタのタップ数(以下、Tap)を考慮した項を足し合わせて、横方向M+Tap画素、縦方向N+Tap画素に領域設定される。
G1、G2は横方向、縦方向に値をもつM+Tap行、N+Tap列の2次元の信号であるため、以下においてそれぞれG1(i,j)、G2(i,j)のように表すことにする。ただしi=1〜M+Tap、j=1〜N+Tapとした。
G1はBPF部204に入力されて特定の周波数成分が抽出され、信号S1として出力される。ここで、特定の周波数成分の抽出には、被写体のDC成分や高周波成分などの除外も含まれる。このBPF部204を通す目的は、被写体の空間周波数依存をなくすことである。
BPF部204で行われる演算について説明する。BPF部204では、まず、G1に対して、2次元フィルタ(BPF)の畳み込み演算が行われる。畳み込み演算によりS1(i,j)は、式(1)のように求められる。ここで、畳み込み演算の結果には、2次元フィルタ(BPF)のサイズによって、正しくないデータが一部出力される。この正しく出力されない一部のデータのことをフィルタのタップと呼び、行方向のタップの数(Tap)はフィルタの行方向の要素数−1で求められる。同様に列方向のTapはフィルタの列方向の要素数−1で求められる。
以上のことから、正しいデータのみを出力するために畳み込み演算の結果であるS1(i,j)からTap分の信号を除外した信号S1(i’,j’)が、BPF部204の出力信号となる。ただし、i’=1〜M、j’=1〜Nとした。なお、(1)式で使用するBPFの例としては、(3)式のような2次元フィルタを用いればよい。ただし、BPFの要素数はその値は、抽出したい周波数帯域に応じて変更してもよい。
G2についても同様に、BPF部205を通して(2)式のような畳み込み演算を行った結果の信号から、Tap分の信号を除外したS1(i’,j’)信号S2が出力される。
次に、二乗演算部206と領域内積分部208により周波数空間における画像信号のパワーを求める。そのために、パーシバルの定理と呼ばれる式を用いて周波数空間上の計算を実空間における計算により求める。ここでパーシバルの定理とは、関数の平方の総和(積分)が、そのフーリエ変換の平方の総和(積分)と等しい、とする定理である。パーシバルの定理は一般に、式(4)のように表され、波形s(x)が持つ全エネルギーの全実空間xについての総和と、その波形のエネルギーのフーリエ変換S(f)の全周波数成分fについての総和とが等しいことを意味する。
以下において、周波数空間における画像信号のパワーをPと称し、画像1のPをP1,画像2のPをP2と呼ぶことにする。
P1、P2を求めるために、まず二乗演算を行う。具体的には、二乗演算部206でBPF部204の出力信号S1に対して(5)式のように二乗演算を行い、信号T1を生成する。同様に、二乗演算部205でBPF部207の出力信号S2に対して(6)式のように二乗演算を行い、信号T2を生成する。
続いてP1、P2を求めるために、領域内積分部208では、二乗演算部206の出力信号に対して、AF評価範囲の大きさである横方向M、縦方向Nの領域の積分演算を行う。領域内積分部208の出力信号をP1とすると、(7)式のようにP1は求められる。同様に、領域内積分部209の出力信号をP2とすると、(8)式のようにP2は求められる。
ただし、積分領域は主被写体の位置や、主被写体以外の被写体の位置などに応じて、領域を狭くするか、または複数に分けてもよい。また、後述するボケ評価値演算部212による演算の後に行ってもよい
以上のように、二乗演算部206と領域内積分部208を通してP1が、二乗演算部207と領域内積分部209を通して、P2が生成される。ここで、Pの値と、フォーカスレンズ位置の関係を、図3に示した。図3のように、Pは合焦位置で最大値となる。これは、合焦位置が最も画像のコントラストがはっきりしているため、画像信号のパワーが最も強い状態となるからである。一方、合焦から無限側や至近側にむかってボケていくにつれ、Pは徐々に小さい値をとる。これは、画像がボケるにつれて画像のコントラストが減っていくためである。
差分演算部210では、領域内積分部208、209の出力信号P1、P2の差分P2−P1を演算する。これは、画像1と画像2の周波数空間における信号のパワーを比較し、2つの画像のボケ具合の違いを評価するためである。2つの画像のボケ具合が大きく異なるときは、P2−P1が大きい値をとり、2つの画像のボケ具合にあまり差がないときは、P2−P1は小さい値をとる。
積分演算部211では、領域内積分部208、209の出力信号P1、P2の和P1+P2を演算する。これは、後述するボケ評価値算出の際の規格化に用いる。ボケ評価値演算部212では、差分演算部210の出力結果を積分演算部211の出力結果で規格化することにより、(9)式のようにボケ評価値を演算する。
以下において、ボケ評価値をCと呼ぶことにする。Cを用いた焦点検出方法について詳しくは後述する。また、(9)式を、
のように(P1+P2)/2のように変更して、P1とP2の平均値で規格化してもよい。また、焦点検出を行い易くするために(10)式の右辺に係数をつけてもよい。以下、本実施例においては、簡易的にボケ評価値Cを求める(9)式を用いて説明する。
図2のAF制御部1251は、ボケ評価値Cを取り込み、フォーカス駆動部116を通じて、焦点検出結果に基づいてフォーカスアクチュエータ113を駆動制御し、フォーカスレンズ104を進退駆動してAF制御を行なう。
以上のような手順で、第2の焦点検出部130では、算出されたボケ評価値Cによりフォーカスレンズ104を駆動して第2の焦点検出を行う。
合焦位置判定処理動作の説明
以下、図2、図4を参照して、上記構成を有するカメラMPU(プロセッサ)125が実行する、本実施例に係わる焦点調節装置を適用した撮像装置における合焦動作(AF動作)について説明する。
図4は、本実施例に係わる焦点調節装置を適用した撮像装置のAF動作のフローチャートを示す。この動作に関する制御プログラムは、カメラMPU125によって実行される。なお、図4において、「S」はステップの略である。
カメラMPU125に含まれる領域設定部215は、AF動作を開始すると(S400)、まず、被写体に対する焦点調節を行うためのAF評価範囲を設定する(S401)。このステップS401の処理では、画像内に1つの測距領域が設定される。AF評価範囲は、後述するAF動作によって焦点調節するための画像信号を評価する範囲であり、AF動作の目的は、焦点検出エリアとしてのAF評価範囲内の撮影者が意図する被写体に焦点調節を行うことである。なお、ここで設定されるAF評価範囲は、第1の焦点検出を行うための範囲(以下、第1のAF評価範囲)であり、第2の焦点検出を行うための範囲(以下、第2のAF評価範囲)は本ステップで設定してもしなくてもよい。また、第2のAF評価範囲も共に設定する場合は、第1のAF評価範囲と同じにしてもしなくてもよい。
次に、撮像素子122への露光を行う(S402)。これにより、第1の焦点検出や第2の焦点検出に用いる出力信号を得るだけでなく、各焦点検出部用の焦点検出領域を含む近傍の被写体の情報を得ることができる。また、第1の焦点検出や第2の焦点検出は、必要な焦点調節精度に合わせて、撮像画素の出力信号の数を間引いて用いてもよい。また、露光はフォーカスレンズが連続に動いている最中に行ってもよいし、止まっている間に行ってもよい。
次に、第1の焦点検出部によってデフォーカス量を算出する(S403)。デフォーカス量は焦点検出用画素列の長さ及び像ずれ量をデフォーカス量に変換する係数(K値)から決定されるが、詳しい算出方法は特開2009−003122号公報の図5〜図7、図16などにおいて説明されているものと同様である。
以下の説明において、第1の焦点検出部によって算出されるデフォーカス量のことを第1のデフォーカス量と称する。ここで留意すべき点は、本ステップは、第1のデフォーカス量が算出できた場合と算出できない場合、いずれの場合も含まれている点である。S403の処理を終了するとS404へ進む。
S404では、S403で第1のデフォーカス量が算出できた場合は、第1のデフォーカス量に対応したフォーカスレンズ104のレンズ駆動量(第1の駆動情報)を算出し、その後S405へ進む。S403で第1のデフォーカス量が算出できなかった場合は、S404でレンズ駆動量を算出しないまま処理を終了し、S405へ進む。
次に、S405で露光の回数を判定する。露光回数が2回以上の場合はS406へ進み(S405のYes)、第2の焦点検出部による焦点検出と第2の焦点検出結果の信頼性判定を行う(S406)。以下において、第2の焦点検出部によって算出されるデフォーカス量のことを第2のデフォーカス量と称する。
S406で第2のデフォーカス量を算出するためには、前述したように2回の露光分の画像がRAM125bに蓄積されている必要がある。この理由は、第2の焦点検出に用いるボケ評価値の算出には、図2の202,203に示すように、画像1と画像2の輝度信号を用いるためである。そこで、露光回数が1回以下の場合(S405のNo)は第2のデフォーカス量が算出できないため、もう1回以上露光を繰り返すために後述するS410を実行後露光ステップ(S402)に戻る。S406の第2の焦点検出方法や信頼性判定方法の詳細は後述する。
ここで、S403で算出した第1のデフォーカス量と、S406で算出した第2のデフォーカス量それぞれの精度について説明する。結論としては、以下で述べる理由により、第1のデフォーカス量よりも第2のデフォーカス量の方が、焦点検出結果として精度が良いと言える。
まず前提として、収差などの影響により、評価する方向によってピントがずれる現象が起こることがあるのは前述の通りである。また、一般に撮影画像を観賞している人が最も合焦していると感じるボケ状態が望ましいとされているが、このボケ状態は1方向だけではなく、上下左右など複数の方向の画像のコントラスト(エッジ形状)の状況により決められる。つまり、撮影画像を観賞している人が最も合焦していると感じるボケ状態のピント状態を得るためには、1方向のボケ状態の評価だけでは精度が不十分と言える。
第1の焦点検出方法では第1の方向のボケ状態しか評価しないため精度が不十分であるのに対して、第2の焦点検出方法では前述のように2次元的なエッジのパワーの情報をボケ評価値としているため、第2のデフォーカス量は実際の絵のピント状態の評価とほぼ等しい。このように、第1のデフォーカス量よりも第2のデフォーカス量の方が、精度が良いと言える。
S406で第2のデフォーカス量の算出とその信頼性判定を行い、第2のデフォーカス量が信頼できると判定された場合は、S408へ進み(S407のYes)、更に第2のデフォーカス量が合焦位置のデフォーカス量か否かを判定する。合焦と判定された場合は(S108のYes)、カメラMPU125は合焦表示を行い(S409)、その後、本AF動作を終了(S412)する。
S410では、第2のデフォーカス量が算出できない場合(S405のNo)または信頼性の低い第2のデフォーカス量が算出された場合(S407のNo)に、第1のレンズ制御によるフォーカスレンズ駆動を行う(S410)。ただし第1のレンズ制御とは、第2のデフォーカス量が算出できない場合または信頼性の低い第2のデフォーカス量が算出された場合に、本ステップでカメラMPU125が行うフォーカスレンズ駆動の制御を指す。
第1のレンズ制御では、S404で算出されたレンズ駆動量だけフォーカスレンズ104を駆動するか、またはサーチ駆動を行う。ここで、サーチ駆動とは、事前に設定した方向(通常は至近方向)に所定の速度で所定の量フォーカスレンズ104を駆動することを指す。レンズ駆動方向を通常は至近方向に設定するのは、撮影者が焦点調節の対象とする被写体は至近側に存在することが多いためであるが、この方向に限らなくてもよい。以上のように第1のレンズ制御によってフォーカスレンズ104を駆動した後、フローはS402に戻る。
S411では、信頼性のある第2のデフォーカス量が算出された場合(S407のYes)で且つ第2のデフォーカス量が合焦と判定されなかった場合(S408のNo)、第2のレンズ制御を行う(S411)。ただし第2のレンズ制御とは、第2のデフォーカス量の信頼性は高いと判定され且つ合焦と判定されなかった場合に、本ステップでカメラMPU125が行うフォーカスレンズ駆動の制御を指す。第2のレンズ制御では、フォーカスレンズ104の位置が所定の間隔だけ異なる位置で露光を行うことができるようにレンズ駆動を行う。所定の間隔の決定方法については後述する。また、露光はフォーカスレンズ104が連続に動いている最中に行ってもよいし、止まっている間に行ってもよい。
以上のように第2のレンズ制御によってフォーカスレンズ104を駆動した後、フローはS402に戻る。
上述した図4のフローチャートからわかるように、本実施例では、最終的には、第1のデフォーカス量ではなく第2のデフォーカス量を用いて、合焦位置へレンズ駆動を行う。より具体的に言えば、第1のデフォーカス量と第2のデフォーカス量のうち、第2のデフォーカス量が演算可能な場合は、第2のデフォーカス量を用いて焦点検出を行う。
最終的に第2のデフォーカス量を用いるならば、常に第2の焦点検出部のみを用いてAFすればいいように思えるが、第1の焦点検出部も必ず並行して用いる必要がある。この理由を、デフォーカス量検出可能範囲の観点から図5を用いて説明する。以下において、第1のデフォーカス量を検出することが可能なフォーカスレンズ104の位置の範囲を第1のデフォーカス範囲と呼び、第2のデフォーカス量を検出することが可能なフォーカスレンズ104の位置の範囲を第2のデフォーカス範囲と呼ぶことにする。
図5は第1、第2のデフォーカス検出範囲とフォーカスレンズ位置の関係を表した図である。図5の至近端、無限端、とはフォーカスレンズ104の駆動の限界位置の両端を表しており、合焦となるフォーカスレンズの位置を、合焦位置として示した。
図5に示すように、第1、第2のデフォーカス範囲は共に合焦位置を必ず含んでいる。また、第1のデフォーカス量よりも第2のデフォーカス量の方が、精度が良いのは前述の通りである。そこで、フォーカスレンズ位置が合焦位置に近く、第1のデフォーカス量も第2のデフォーカス量も算出可能な場合は、精度のよい第2のデフォーカス検出結果を用いて合焦位置の算出を行う。
一方、図5に示すように、第2のデフォーカス検出範囲は第1のデフォーカス範囲に比べて狭いので、合焦位置から遠い位置にフォーカスレンズ104があるときは、第1の焦点検出部を用いる方が有利となる。そこで、第1のデフォーカス量は算出可能且つ第2のデフォーカス量は算出不可能な場合は、第1のデフォーカス量を用いて合焦位置の算出を行う。
以上をふまえると、本撮像装置は、第1の焦点検出部と第2の焦点検出部の両方の部を有する必要がある。
このように、S402の露光時の出力信号は、第1の焦点検出や第2の焦点検出のいずれにも用いられる可能性がある。そのため、露光の度に、第1の焦点検出部による第1のデフォーカス量と第2の焦点検出部による第2のデフォーカス量をともに算出する。これにより、常に両方の焦点検出方式で焦点検出が行える。しかし、本発明の実施形態として、これに限る必要はなく、露光の度に、いずれか一方のみの焦点検出を行うようにしてもよい。その場合には、焦点検出に必要な演算量が減るという効果が得られる。
第2の焦点検出部による焦点検出と信頼性判定処理動作の説明
次に、図6を参照して第2の焦点検出部130による焦点検出と信頼性判定処理動作について説明する。図6は、図4のS406で実行される第2の焦点検出部による焦点検出と信頼性判定処理動作のフローチャートを示す図である。この動作に関する制御プログラムは、カメラMPU125によって実行される。図6においても、「S」はステップの略である。
カメラMPU125に含まれる領域設定部215は、第2の焦点検出によるAF動作を開始すると(S600)、被写体に対して第2のAF評価範囲を設定する(S601)。本ステップS601の処理では、画像内に1つの測距領域が設定される。第2のAF評価範囲は、第2の焦点検出部によって焦点調節するための画像信号を評価する範囲である。図4のS401において既に第2のAF評価範囲が設定されている場合には、本ステップS601で第2のAF評価範囲設定を行わずにS602へ進む。続いて、画像1、画像2の輝度信号よりボケ評価値Cを算出する(S602)。算出方法については上述の通りである。
次に、S602で算出されたボケ評価値から、第2のデフォーカス量を算出する(S603)。前述したように、ボケ評価値Cはフォーカスレンズ位置と相関をもっている。この相関関係について図7(a)を用いて説明する。
図7(a)は、ボケ評価値Cとフォーカスレンズ位置の関係を示す図である。図7(a)の至近端、無限端とはフォーカスレンズ104の駆動の限界位置の両端を表している。
図7(a)に示すように、第2のデフォーカス範囲内に関しては、ボケ評価値Cとフォーカスレンズ位置は1対1の対応関係にある。この1対1の対応関係のうち、C=0に対応するフォーカスレンズの位置が合焦位置となる。この理由を、図3と(9)式を用いて説明する。
(9)式によると、ボケ評価値Cは、フォーカスレンズ位置が所定のデフォーカス量だけ異なる2つの画像のパワーP1、P2の差分を和で除して求めている。図3に示すように、画像1と画像2のフォーカスレンズ104の位置をそれぞれL1’、L2’とし、L1’、L2’は合焦位置近傍ではないとする。L1’、L2’に対応する画像のパワーをP1’、P2’とし、L2’−L1’は第2の焦点検出を行うために必要な所定のデフォーカス量であるとする。このようにP1’<P2’のとき、(9)式に代入するとC>0となるので、C=0のときが合焦位置と分かる。
同様に、合焦位置をまたいで画像1と画像2が得られた場合の画像1と画像2のフォーカスレンズ位置をそれぞれL1、L2とする。L1、L2に対応する画像のパワーをP1、P2とし、L2−L1は第2の焦点検出を行うために必要な所定のデフォーカス量であるとする。前述のようにPは合焦位置で最大値をとるので、L1,L2のように合焦位置をまたいだ位置に画像1と画像2のフォーカスレンズがあるとき、1箇所だけP1とP2の値が同じ値をとることになる。P1=P2のとき、(9)式に代入するとC=0となるので、C=0のときが合焦位置と分かる。
以下において、図7(a)に戻りS603における第2のデフォーカス量の算出方法について説明する。例えば、S602で算出されたボケ評価値がCaであった場合は、相関関係よりフォーカスレンズ104の位置Laが得られる。デフォーカス量とは、合焦位置からLaの距離(方向も含む)を指すので、ボケ評価値Caから第2のデフォーカス量を求めることができた。
この図7(a)に示すような相関関係はテーブル(以下Cテーブル)としてROM125aに記憶されており、算出されたボケ評価値CでCテーブルを参照することにより第2のデフォーカス量を求めることができる(S603)。なお、算出したボケパラメータCに対応する値が、ROM125aに記憶されているCテーブルになかった場合はCテーブルに対して補完演算を行って第2のデフォーカス量を求めればよい。
図3は、合焦位置から至近側と無限側にほぼ左右対称な例を挙げたが、実際のレンズは左右対称になっていない。左右対称でないことによりP1=P2のときでも合焦位置からずれてしまうが、このずれ量はレンズの設計値からわかるので、ずれ量分Cテーブルを事前にオフセットすればよい。
次に、S603で算出された第2のデフォーカス量に対応したフォーカスレンズ104のレンズ駆動量(第2の駆動情報)を算出し(S604)、処理を終了するとS605へ進む。
次に、第2のデフォーカス量の信頼性を判定する(S605)。まず、第2のデフォーカス量の信頼性について図7(b)を用いて説明する。
図7(b)は、ボケ評価値Cとフォーカスレンズ位置の関係を示す図である。図7(b)の至近端Ls、無限端Lm、はフォーカスレンズ104の駆動の限界位置の両端を表しており、Lgは合焦位置である。
図7(b)では、Cとフォーカスレンズ位置の関係のプロット範囲を図7(a)よりも広げて至近端から無限端まで図示している。ボケ評価値Cとフォーカスレンズ104の位置は1対1の対応関係となる部分と、1対2の対応関係になる部分がある。図7(b)では、LxからLyの間は1対1の対応関係で、LsからLxの間とLyからLmの間は1対2の対応関係である。1対2対応の関係が生じる理由は後述する。ここで1対2対応の関係とは、例えばひとつのボケ評価値CxがS602で算出されS603でCテーブルに照らしたときに、Ls、Lxの2つのフォーカスレンズ位置が算出される関係である。
評価値Cとフォーカスレンズ位置が1対2の対応関係になる部分が生じる原因は、図3に示すPの変化を表わす曲線の形状と、(9)式に示すCの演算方法にある。
前述のように、Pのグラフ形状は合焦位置で最大値をとり、合焦から無限側や至近側にむかってボケていくにつれPの値は減少する。すると、Pの傾きは合焦位置で0となり、合焦から無限側や至近側にむかってボケていくにつれ増加し、無限端や至近端が近づくと再び0に近づいていく。また、(9)式右辺の分子P2−P1の傾向も、Pの傾きと同じく、合焦からボケていくにつれ増加し、無限端や至近端が近づくと再び0に近づいていく。即ち、(9)式右辺の分子の影響で、(9)式左辺であるCの傾向は0から増加し、再び減少するような傾向となる。
一方(9)式右辺の分母のP1+P2の値は、合焦からボケていくにつれ、最大値から徐々に減少していく。即ち、分母の影響でPは規格化され、(9)式左辺であるCの傾向は合焦近傍では小さい値をもち、ボケていくつれ大きい値をもつような傾向となる。
この(9)式のようにCを算出することから、Cの絶対値(以下|C|)は合焦位置から離れるにつれて増加し、あるところから減少するため、Cとフォーカスレンズ位置が1対2の対応関係になる部分が生じる。以上を踏まえると、Cの値は図7(b)のような値をとる。
図7(a)に戻り、信頼性判定に関する説明をする。ボケ評価値CxがS602で算出されたとき、Cテーブルに照らすだけではLs,Lxのうちどちらが正しいフォーカスレンズ位置か判定できないため、1対1の対応関係が成立しない場合はS603で間違った第2のデフォーカス量を算出する可能性がある。そこで、ボケ評価値がCxからCyの間以外の値をとる場合は、信頼性の無いボケ評価値と言える。第2のデフォーカス範囲内に関しては、1対1対応の関係が成立しているため、ボケ評価値がCyからCxの間の値をとる場合は、信頼性の有るボケ評価値と言える。
S605では、以上のようなボケ評価値の信頼性の有無を、Pの値を用いて判定する。信頼性判定には、P1とP2どちらか一方のPを用いてもよいし、両方を用いてもよい。
以下において、第2のデフォーカス量の信頼性算出方法について図3を用いて説明する。
図3の縦軸である画像のパワーは、被写体のコントラストによって異なる値をとるが、撮像画像の明暗差(最大出力値―最小出力値)で規格化を行えば、どのようなコントラストの被写体を撮影してもPのグラフ形状は概ね一致する。そこで、明暗差で規格化したPの値が所定の閾値以上の値を取る場合には、第2のデフォーカス量は信頼性があると判定する。他方、閾値未満の場合は第2のデフォーカス量は信頼性がないと判定し(S605)、第2の焦点検出部による焦点検出と信頼性判定処理を終える(S606)。
また、より簡単に、明暗差によるPの規格化を行わずに信頼性判定を行ってもよい。以下の判定方法で用いる閾値のうち、P2−P1に対して用いる閾値をP差分閾値、Pに対して用いる閾値をP閾値と呼ぶことにする。
具体的には、P2−P1が所定のP差分閾値以下の値を取り且つPがP閾値以上の場合には第2のデフォーカス量は信頼性有りと判定し、P2−P1が所定の差分閾値以下の値を取り且つPがP閾値以下の場合には第2のデフォーカス量は信頼性無しと判定する。図3に示すように、無限端や至近端付近のように画像のコントラストが大きく減ってしまったボケ状態(以下大ボケ状態)の画像1と画像2には、パワーPの差がほとんど無くなる。そこで、パワーPの差に対して差分閾値を設けた。ただし、合焦位置近傍の場合もパワーPの差は小さくなるので、P閾値を更に設け、P閾値以下の場合は大ボケ状態と判断する。
また、P2−P1が所定のP差分閾値以下の値をとる回数が所定回数以下の場合は第2のデフォーカス量は信頼性有りと判定し、P2−P1が所定のP差分閾値以下の値をとる回数が所定回数以下の場合は第2のデフォーカス量は信頼性無しと判定してもよい。図3に示すように、大ボケ状態のときは画像1と画像2のパワーPの差が無くなった状態が連続し、一方合焦状態のときはP2−P1≒0となるのは合焦近傍のみであることを利用する。
以上のようにS605で第2のデフォーカス量の信頼性判定を終えると、第2の焦点検出部による焦点検出と信頼性判定処理を終了する(S606)。
このように本実施例では、所定のデフォーカス量に基づいてフォーカスレンズ104を動かすことで得られる画像1、画像2のパワーPからボケ評価値Cを算出してCテーブルを参照して第2のデフォーカス量を算出している。そしてその際に、パワーPに対して閾値を設けることで第2のデフォーカス量の信頼性を判定を可能としている。
また、前述したボケ評価値Cの算出方法として、BPF部205で抽出する周波数帯域の、中心近傍の周波数をωとしたときに、以下の(11)式のように、周波数の重みづけのための係数として1/ω^2をつけてもよい。
この目的は、複数のBPFを用いて複数のボケ評価値Cを算出して比較する場合に、周波数の二乗で規格化することで複数のボケ評価値Cの値を一致させることである。
また、第2のデフォーカス量を得るために2つの画像を用いるのではなく、3つの画像を用いてもよい。その場合は、3つの画像から複数のボケ評価値Cを算出したあとに複数のCを重みづけして組み合わせて第2の焦点検出に用いてもよい。
このように、撮像素子の出力信号から水平又は垂直方向のどちらか一方向のみに抜き出した信号を用いた第1の焦点検出動作において、第1の焦点検出動作のあとに第2の焦点検出動作を行うことにより、AF後に行うピント補正を不要にすることが可能である。また、AF後に行うピント補正よりも高精度な焦点検出の実現が可能である。
[実施例2]
以下、図8から図9を参照して、本発明の第2の実施例に係わる焦点調節装置を適用した撮像装置について説明する。なお、本実施例においては、第1の実施例に係わる焦点調節装置を有する撮像装置のブロック図(図1)、ボケ評価値を算出する部のブロック図(図2)は同様の構成であり、同様の動作を行うため、説明は省略する。また、画像信号のパワーとフォーカスレンズ位置の関係を示す図(図3)、デフォーカス範囲とフォーカスレンズ位置の関係を示す図(図5)に関しても、同様の構成であり、説明は省略する。
第1の実施例との主な違いは、2点ある。1点目は、第1の実施例に対してSW1前の動作を加えた点である。この理由は詳しく後述する。2点目は、第2の焦点検出方式であるDFDに用いる所定のデフォーカス量だけ異なる2つの画像を得るために変更する撮影パラメータである。撮像画像のボケ状態に影響を与える撮影パラメータには、フォーカスレンズ位置、絞り量、焦点距離などが挙げられ、1つ以上変更すれば、所定のデフォーカス量だけ異なる2つの画像が得られる。第1の実施例ではフォーカスレンズ位置のみを変更することでボケ状態の異なる2つの画像を得たが、本実施例では、被写体が動いたり、撮影者の手振れしたりすることで第2のAF評価領域内の被写体が揺れ動くことを利用する。ただし被写体の移動や撮影者の手振れの方向は、図2の光軸方向OAであるとする。
第2の実施例では、SW1前のAF動作に対して、被写体の移動や撮影者の手振れによって得られたボケ状態の異なる2つの画像から第2の焦点検出を行うことにより、事前にデフォーカス量を知ることができる。
以下では、第2の実施例で行う処理動作の内容を、図8および図9のフローチャートを参照して説明する。
合焦位置判定処理動作の説明
以下、図8を参照して、上記構成を有するカメラMPU(プロセッサ)125が実行する、本実施例による合焦動作(AF動作)について説明する。図8は、本実施例に係わる焦点調節装置を適用した撮像装置のAF動作のフローチャートを示す図である。この動作に関する制御プログラムは、カメラMPU125によって実行される。なお、図8において、「S」はステップの略であり、図4と同様の部分は同じ符号を付して示す。図8ではステップS801,802,803以外のステップは、第1の実施例の図1と同様の構成であり、同様の動作を行うため、説明は省略する。
図8によると、まず、SW1がONかOFFかの判定を行い、SW1がONの場合はS802へ進む(S801のYes)。OFFの場合はS803へ進み(S802のNo)、SW1前のAF動作を行ったあと(S803)、フローはS401へ戻る。SW1前のAF動作の詳細については後述する。
S802では、既に第2のデフォーカス量が算出できたか否かを判定する。S802で第2のデフォーカス量が算出できた場合はS408へ進み(S802のNo)、合焦か否かを判定する。S408で合焦と判定された場合(S108のYes)は、カメラMPU125は合焦表示を行い(S409)、本AF動作を終了する。
一方、S802で第2のデフォーカス量が算出できなかったと判定された場合はS402へ進み(S802のYes)、第1の実施例と同様なAF動作を実行する。
このように、SW1前に事前にデフォーカス量を検出しておくことで、第1の実施例で行っていたS402〜S411のステップを省略可能となる場合にAF動作の高速化が可能である。
SW1前のAF動作の説明
以下、図8のステップS803で実行されるSW1前のAF動作を、図9を参照して説明する。図9は、本実施例におけるSW1前のAF動作(S803)のフローチャートを示す図であり、同図においても、「S」はステップの略であり、図4と同様の部分は同じ符号を付して示す。図9の動作に関する制御プログラムは、カメラMPU125によって実行される。
まず、図9において、ステップS905以外のステップに関しては、第1の実施例の図4と同様の構成であり、同様の動作を行うため、説明は省略する。ただし、注意すべき点は図4のS404とS410のステップが、図9では無くなっている点である。この理由は後述する。また、SW1前なので、画像3および画像4の画像信号を取得するための露光をカメラUPU125の制御で行う。
前述したように、本実施例では、被写体が動いたり、撮影者の手振れしたりすることで第2のAF評価領域内の被写体が揺れ動くことを利用して所定のデフォーカス量だけ異なる複数の画像信号を取得する。ただし、被写体の移動や撮影者の手振れの方向は、図2の光軸方向OAであるとする。OA以外の方向に被写体移動や撮影者の手振れがある一定生じた場合は、AF評価範囲内の画像に対してパターンマッチング(正規化相関)処理などを行い第2の焦点検出を行えばよい。
以下において、光軸方向OAに被写体の移動や撮影者の手振れが生じる前の、あるボケ状態の画像を画像3、生じた後の画像を画像4と呼ぶことにする。
S905では、第2のデフォーカス間隔が、デフォーカス間隔閾値より大きいか否かを判定する。ただし、第2のデフォーカス間隔とは、画像3から得られる第1のデフォーカス量と、画像4から得られる第1のデフォーカス量の差分を指すとする。また、デフォーカス間隔閾値とは、第2のデフォーカス間隔に対して判定に用いる閾値を指すとする。S905で第2のデフォーカス間隔を算出するためには、画像3、画像4の露光を終えている必要がある。つまり、S102の露光が1回以下の場合は、S905はNoとなりフローはS402に帰還し露光を行う。
また、画像3、画像4に関して露光が二回以上である場合において、第2のデフォーカス間隔がデフォーカス間隔閾値未満ならば(S905のNo)、フローはS402に戻り露光を行う。即ち、画像3と画像4のボケ状態の違いが、デフォーカス閾値以上の所定のデフォーカス間隔となるまで、S905、S402、S403を繰り返す。
第2のデフォーカス間隔がデフォーカス間隔閾値より大きい場合(S905のNo)、S106へ進み画像3と画像4を用いて第2の焦点検出とその信頼性判定を行う。
なお、留意すべき点は、画像3と画像4のデフォーカス量が変化することは、図3のL1’,L2’の幅が変化することに他ならないため、(9)式により算出されたボケ評価値Cの値も変化する点である。第1の実施例では、フォーカスレンズ位置の間隔は常に所定のデフォーカス間隔で動かしていたが、本実施例は、デフォーカス閾値以上のさまざまな値のデフォーカス間隔によって第2の焦点検出が行われる(S406)。そこで、第2の焦点検出に用いた画像3と画像4のデフォーカス間隔によって、参照するCテーブルも変化させる必要がある。そこで、S406では複数のCテーブルをメモリに記憶しておくことが望ましい。
さらに、SW1前にはできるだけレンズを駆動しないことが望ましいものの、レンズ駆動を行ってもよい。所定のデフォーカス量だけ異なる2つの画像を得る際に、本実施例のようにAF評価領域内で被写体が揺れ動くことを利用する場合と、第1の実施例で説明したようにフォーカスレンズ位置などの撮影パラメータの変更を利用する場合とを、併用しても構わない。
また、第1の実施例では、AF動作開始時に、既にフォーカスレンズ位置が合焦位置に近かった場合においても、第2の焦点検出のために用いる2枚の画像を撮像するためにフォーカスレンズを駆動して第2の画像を撮像する必要があった。つまり、合焦レンズ位置から離れる駆動を入れなければならないという欠点があった。しかし、本実施例によれば、SW1前にはできるだけレンズを駆動しないことが望ましいため、レンズを駆動させずに第2の焦点検出を行うことが可能となる。
このように、撮像素子の出力信号から水平又は垂直方向のみのどちらか一方向に抜き出した信号を用いた第1の焦点検出動作において、第1の焦点検出動作のあとに第2の焦点検出動作を行うことにより、AF後に行うピント補正を不要にすることが可能である。また、AF後に行うピント補正よりも高精度な焦点検出の実現が可能である。更に、SW1前の動作を加えることで、SW2時にAF結果が得られている場合も含まれたため、より高速な焦点検出の実現が可能である。
また、上述した実施の形態の処理は、各機能を具現化したソフトウェアのプログラムコードを記録した記憶媒体をシステム或いは装置に提供してもよい。そして、そのシステム或いは装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによって、前述した実施形態の機能を実現することができる。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フロッピィ(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスクなどを用いることができる。或いは、CD−ROM、CD−R、磁気テープ、不揮発性のメモリーカード、ROMなどを用いることもできる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現されるだけではない。そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した各実施例の機能が実現される場合も含まれている。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリーに書きこまれてもよい。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含むものである。
また、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。さらに、上述した各実施形態は本発明の一実施形態を示すものにすぎず、各実施形態を適宜組み合わせることも可能である。