以下、本発明の一実施形態に係る撮像装置について説明する。この撮像装置は、撮像部を有し、この撮像部によって被写体像を画像データに変換し、この変換された画像データに基づいて、被写体像を本体の背面等に配置した表示部にライブビュー表示する。撮影者はライブビュー表示を観察することによって、構図やシャッタタイミングを決定する。レリーズ操作時には、画像データが記録媒体に記録される。記録媒体に記録された画像データは、再生モードを選択すると、表示部に再生表示することができる。
また、本実施形態に係る撮像装置の撮像部は、撮像用画素の二次元配列中に焦点検出用画素を配列し、撮像光学系によって結像された被写体像を撮像する。連写によって静止画を撮影する場合には、静止画のための本露光と本露光の間に、位相差検出のための露光を行う(例えば、図5参照)。この位相差検出用露光が終了した後に、位相差検出画素(焦点検出用画素)からの信号を読み出し(例えば、図13BのS43参照)、読出した画素信号を用いて、相関演算やピントずれ量を算出し、フォーカスレンズのピント合わせを行う(例えば、図13BのS45、S47、S53、S55等参照)。
また、本実施形態に係る撮像装置は、相関演算結果やピントずれ量等に基づいて、被写体が大きく変化したか否か、被写体が等速移動しているか否か、移動速度が極微小であるか等を判定し、この判定結果に基づいて、絶対駆動(図8、図14のS87等参照)、スキャン駆動(図9、図10、図14のS81等参照)、相対駆動(図11、図12、図14のS83等参照)等のフォーカスレンズの駆動方式を選択する。また、フォーカス移動量等が所定の条件に当てはまる場合には、静止画の記録を禁止している(図15、図16等参照)。
図1は、本発明の一実施形態に係る焦点検出装置を含む撮像装置(具体的には例えばデジタルカメラ)1の構成の一例を示すブロック図である。なお、図1中において、矢印付き実線はデータの流れを、矢印付き破線は制御信号の流れをそれぞれ示している。
撮像装置1は、交換式レンズ100と、カメラ本体200とを有する。交換式レンズ100は、カメラ本体200に着脱できるように構成されている。交換式レンズ100とカメラ本体200とは、交換式レンズ100がカメラ本体200に装着されたときに、互いに通信できるように接続される。なお、撮像装置1は、必ずしもレンズ交換式の撮像装置でなくてもよい。例えば、撮像装置1は、レンズ一体型の撮像装置であってもよい。また、スマートフォンのように、携帯機器内に設けられた撮像装置であってもよい。
交換式レンズ100は、撮像光学系102と、駆動部104と、レンズCPU(Central Processing Unit)106と、レンズ側記憶部108とを備える。ここで、交換式レンズ100の各ブロックは、例えばハードウェアによって構成されている。しかしながら、必ずしもハードウェアによって構成されている必要はなく、一部はソフトウェアによって構成されていてもよい。また、交換式レンズ100の各ブロックは、単一のハードウェア又はソフトウェアによって構成されていなくてもよく、複数のハードウェア又はソフトウェアによって構成されていてもよい。また、交換式レンズとカメラ本体が一体に構成されている場合には、レンズCPU106とCPU212が1つのCPUで構成されていてもよい。
撮像光学系102は、被写体からの光束をカメラ本体200の撮像素子208に結像させるための光学系である。撮像光学系102は、フォーカスレンズ102aと、絞り102bとを有する。フォーカスレンズ102aは、光軸方向に移動することによって、撮像光学系102の焦点位置を調節できるように構成されている。
絞り102bは、フォーカスレンズ102aの光軸上に配置される。絞り102bの口径は可変である。絞り102bは、フォーカスレンズ102aを通過して撮像素子208に入射する被写体からの光束の量を調節する。駆動部104は、駆動モータと駆動回路等を有し、レンズCPU106から出力される制御信号に基づいて、フォーカスレンズ102aと絞り102bを駆動する。ここで、撮像光学系102は、ズームレンズとして構成されていてもよい。この場合、駆動部104がズーム駆動も行ってもよく、またユーザが手動操作によって焦点距離を変化させてもよい。駆動部104は、撮像光学系に含まれる絞りを駆動する絞り駆動部(アクチュエータ、ドライバ)として機能する。
レンズCPU106は、CPUとその周辺回路を含むプロセッサであり、レンズ側記憶部108に記憶されているプログラムに従って動作する。レンズCPU106は、インターフェース(I/F)110を通じてカメラ本体200のCPU212との間で通信できるように構成されている。レンズCPU106は、カメラ本体200のCPU212からの制御信号に従って駆動部104を制御する。また、レンズCPU106は、I/F110を通じて、絞り102bの絞り値(F値)及びレンズ側記憶部108に記憶されているレンズ情報等の各種情報をCPU212に送信する。レンズCPU106は、撮像光学系に含まれるフォーカスレンズの位置を制御するフォーカスレンズ制御部としての機能を果たす。このフォーカスレンズ制御部は、制御部と通信して撮像素子の第1の撮像動作および第2の撮像動作に同期してフォーカスレンズの位置制御を実行する(例えば、図7〜図12参照)。
なお、レンズCPU106は、必ずしもCPUとして構成されていなくてもよい。すなわち、レンズCPU106と同様の機能は、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)等のプロセッサによって実現されてもよい。また、レンズCPU106と同様の機能は、ソフトウェアによって実現されてもよい。
レンズ側記憶部108は、電気的書き換え可能な不揮発性メモリを有し、上述のプログラム以外にも交換式レンズ100に関するレンズ情報等を記憶している。レンズ情報は、例えば撮像光学系102の焦点距離の情報や収差の情報を含む。
カメラ本体200は、メカシャッタ202と、駆動部204と、操作部206と、撮像素子208と、手振れ補正回路210と、CPU212と、画像処理回路214と、画像圧縮展開部216と、焦点検出回路218と、露出制御回路220と、表示部222と、バス224と、DRAM(Dynamic Random Access Memory)226と、本体側記憶部228と、記録媒体230とを有する。ここで、カメラ本体200の各ブロックは、例えばハードウェアによって構成されている。しかしながら、必ずしもハードウェアによって構成されている必要はなく、一部はソフトウェアによって構成されていてもよい。また、カメラ本体200の各ブロックは、単一のハードウェア又はソフトウェアによって構成されていなくてもよく、複数のハードウェア又はソフトウェアによって構成されていてもよい。
メカシャッタ202は、開閉自在に構成され、撮像素子208への被写体からの光束の入射時間(撮像素子208の露光時間)を調節する。メカシャッタ202としては、例えばフォーカルプレーンシャッタが採用される。このフォーカルプレーンシャッタ以外にも、レンズシャッタをレンズ鏡筒側に設けてもよい。駆動部204は、CPU212からの制御信号に基づいてメカシャッタ202を駆動する。駆動部204は、メカシャッタ202を駆動するアクチュエータと、このアクチュエータの駆動回路等を有し、メカシャッタ202の開閉動作を行う。
操作部206は、ユーザの指示を撮像装置1に入力するためのインターフェースであり、電源ボタン、レリーズボタン、動画ボタン、モードダイヤル、再生ボタン、メニューボタン等の各種の操作ボタン及びタッチパネル等の各種の操作部材を含む。この操作部206は、各種の操作部材の操作状態を検知し、検知結果を示す信号をCPU212に出力する。
撮像素子208は、撮像光学系102の光軸上であって、メカシャッタ202の後方で、かつ、撮像光学系102によって被写体からの光束が結像される位置付近に配置されている。撮像素子208は、被写体を撮像して被写体に係る画素信号を生成する。
撮像素子208は、複数の画像用画素(撮像用画素)が2次元状に配列された画素部22(図2参照)を有する。画像用画素は、マイクロレンズL(図3参照)に対応し、複数の焦点検出用画素に分割された構成となっている。焦点検出用画素は、撮像光学系である撮像レンズ2の射出瞳を複数に瞳分割した領域を通過する光束をそれぞれ光電変換して光電変換信号を生成する。画素部22には、複数の焦点検出用画素が2次元状に配列されている。撮像素子208は、例えば、原色ベイヤ配列のカラーフィルタを備える単板式CMOS撮像素子として構成されているが、もちろんこの構成に限定されるものではない。撮像素子208の詳しい構成については、図2ないし図4を用いて後述する。
撮像素子208の各画素部は、1個のマイクロレンズに対して撮像光学系の異なる射出瞳領域を通過するそれぞれの光束を光電変換して画素信号を生成するように、所定の瞳分割方向に分割された複数のフォトダイオードが配置されている。また、撮像素子208は、1個のマイクロレンズに対して撮像光学系の異なる射出瞳領域を通過するそれぞれの光束を光電変換して画素信号を生成するように所定の瞳分割方向に分割された複数の受光部が配置されている画素部を有する。
この撮像素子208の画素部からの画素信号の読み出しにあたっては、瞳分割方向に対応する画素信号を合成した画素信号を生成し出力する第1の撮像動作と、瞳分割方向に対応する画素信号を生成し出力する第2の撮像動作がある。そして、撮像素子208は、第1撮像動作と第2撮像動作を交互に繰り返し実行する撮像モードが設定可能である。
第1撮像動作は、瞳分割方向に複数に分割されているフォトダイオードによって取得された複数の画素信号を合成(例えば、加算)する。この第1撮像動作によって取得された画素信号は、ライブビュー表示や記録用の静止画を生成する際に使用される。第2撮像動作は、瞳分割方向に複数に分割されているフォトダイオードによって取得された複数の画素信号を個々に出力する。例えば、後述する2PD画素構造の場合には、瞳分割によって左側開口信号(L信号)と右側開口信号(R信号)が、それぞれ出力される。この第2撮像作によって取得された画素信号は、位相差AFによる焦点検出の際に使用される。なお、第2撮像動作としては、左側または右側開口信号のいずれか一方の開口信号と、左側および右側開口信号の加算信号を取得し、加算信号から開口信号を減算することによって、他方の開口信号を求めるようにしてもよい。いずれにしても、第2撮像動作は、位相差検出用の信号が取得できればよい。
撮像素子208は、1個のマイクロレンズに対して、所定の瞳分割方向に分割された複数のフォトダイオードを配置しており、撮像光学系の異なる射出瞳領域を通過するそれぞれの光束をフォトダイオードによって光電変換することによって画素信号を生成する。また、撮像素子208は、瞳分割方向に対応する画素信号を合成した画素信号を生成し出力する第1の撮像動作と、瞳分割方向に対応する画素信号を生成し出力する第2の撮像動作とを交互に繰り返し実行する撮像モードを設定可能である。
手振れ補正回路210は、カメラ本体200に発生した手振れが抑制されるように、撮像素子208をその受光面と平行な方向に移動させる。手振れの動きを打ち消すように撮像素子208が移動されることによって、手振れに起因して画像データに発生する被写体像のぶれが抑制される。なお、手振れ補正回路は、交換式レンズ100に設けられていてもよい。この場合の手振れ補正回路は、撮像光学系102に含まれる手振れ補正光学系を移動させるように構成される。
CPU212は、CPUとその周辺回路を含むプロセッサであり、本体側記憶部228に記憶されているプログラムに従ってカメラ本体200の全体制御を行う。CPU212は、例えば撮像素子208による撮像動作(撮像駆動モード、読出モード等も含む)を制御する。また、CPU212は、焦点検出回路218によって検出されたフォーカスレンズ102aの焦点状態に応じて、フォーカスレンズ102aを駆動するための制御信号をレンズCPU106に対して出力する。また、CPU212は、露出制御回路220によって算出された露出設定値をレンズCPU106及び撮像素子208に対して出力する。ここで、CPU212は、必ずしもCPUとして構成されていなくてもよい。すなわち、CPU212と同様の機能は、ASIC、FPGA等によって実現されてもよい。また、CPU212と同様の機能は、ソフトウェアによって実現されてもよい。
CPU212は、静止画の連写中に、撮像素子から第1の撮像動作によって出力される画素信号に基づく画像データを表示、または静止画として記録するための処理を行い、第2の撮像動作によって出力される画素信号に基づいて焦点検出を行って焦点調節データを生成し、フォーカス制御を実行する制御部としての機能を果たす(例えば、図7参照)。また、上述の制御部は、焦点調節データに基づいてフォーカス移動量を演算し、フォーカス移動量が所定値より大きく、かつ、フォーカス移動量に基づくフォーカス制御と第1の撮像動作を並行して実行する場合は、第1の撮像動作の画素信号に基づく画像データに静止画として記録するための処理を禁止する(例えば、図8の絶対駆動、図14のS87、図15および図16のS95参照)。また、制御部は、焦点調節データに基づいてフォーカス移動量を演算し、フォーカス移動量が所定値より大きく、かつ、フォーカス移動量に基づくフォーカス制御と第1の撮像動作を並行して実行する場合、又は、絞り駆動中に第1の撮像動作を並行して実行する場合は、第1の撮像動作の画素信号に基づく画像データに静止画として記録するための処理を禁止する(例えば、図13BのS55、図15のS93Yes、図16のS93Yes等参照)。
上述の制御部は、フォーカス移動量にかかわらず、上記第1の撮像動作の画素信号に基づく画像データに表示を行うための処理を実行する(例えば、図8の絶対駆動参照)。上述の制御部は、焦点調節データに基づき第1の撮像動作と並行してフォーカス制御を実行するか否かを判断し、繰り返し実行される第1の撮像動作のうちの現在の第1の撮像動作と並行してフォーカス制御を実行する場合に、続く第1の撮像動作と並行してフォーカス制御を実行しない(例えば、図11、図14のS83参照)。
上述の制御部は、繰り返し実行される第1の撮像動作と並行してフォーカス制御を行う場合に、デフォーカス量の変化量を所定値以下に制限してフォーカス制御を行う(例えば、図12、図16のS96参照)。上述の制御部は、複数の上記焦点調節データに基づいて被写体に対応する像面移動速度を演算し、算出した像面移動速度に応じてフォーカス制御を行う(例えば、図12参照)
画像処理回路214は、画素データに対して各種の画像処理を施す。例えば画像処理回路214は、静止画撮影(連写も含む)の際には、静止画記録用の画像処理を施し、静止画データを生成する。同様に、画像処理回路214は、動画撮影の際には、動画記録用の画像処理を施し、動画データを生成する。さらに、画像処理回路214は、ライブビュー表示時には、表示用の画像処理を施し、表示画像データを生成する。
画像圧縮展開部216は、画像圧縮回路および画像伸張回路を有する。画像圧縮展開部216は、画像データの記録時には、画像処理回路214で生成された画像データ(静止画データ又は動画データ)を圧縮する。また、画像データの再生時には、記録媒体230に圧縮状態で記録された画像データを伸張する。
焦点検出回路218は、撮像素子208の焦点検出用画素から出力される焦点検出画素データを用いた位相差方式によってフォーカスレンズ102aの焦点検出を行う(例えば、後述する図13AのS7、S9、S19、S21、図13BのS45、S47等参照)。
露出制御回路220は、測光部としての機能を果たし、撮像素子208の画素データに基づいて露出設定値を算出する。この露出制御回路220は、撮像素子208の画素データから被写体輝度を測定し、測定した被写体輝度から撮影時の被写体の輝度を適正値にするために必要な露出設定値を算出する。露出設定値は、絞り102bの開口量(絞り値)、撮像素子208の露光時間(シャッタースピード)を含む。
表示部222は、液晶ディスプレイや有機ELディスプレイ等のディスプレイを有し、カメラ本体200の背面等に配置され、または電子ビューファインダとして配置される。この表示部222は、CPU212の制御に従って画像を表示する。表示部222は、ライブビュー表示や記録済み画像の再生表示等に使用される。
バス224は、撮像素子208、CPU212、画像処理回路214、画像圧縮展開部216、焦点検出回路218、露出制御回路220、表示部222、DRAM226、本体側記憶部228、記録媒体230に接続され、これらのブロックで発生した各種のデータを転送するための転送路として動作する。
DRAM226は、電気的に書き換え可能な揮発性メモリであり、撮像素子208から出力される画素データ、静止画データ、動画データ、表示画像データ、CPU212における処理データ等の各種データを一時的に記憶する。なお、一時記憶用としてSDRAM(Synchronous Dynamic Random Access Memory)が用いられてもよい。
本体側記憶部228は、電気的に書き換え可能な不揮発性メモリである。本体側記憶部228は、CPU212で使用されるプログラムと、カメラ本体200の調整値等の各種データを記憶する。記録媒体230は、電気的に書き換え可能な不揮発性メモリであり、カメラ本体200に内蔵されるか又は装填されるように構成されている。記録媒体230は、記録用の画像データを所定の形式の画像ファイルとして記録する。なお、DRAM226、本体側記憶部228及び記録媒体230は、それぞれ1つのメモリ等で構成されてもよいし、複数のメモリ等が組み合わされて構成されてもよい。
次に、図2を用いて、撮像素子208の構成について説明する。撮像素子208は、画像用画素を有し、この画像用画素は複数の焦点検出用画素に分割されている。画像用画素は、焦点検出用画素によって光束を光電変換して生成された光電変換信号に基づいて画像用画素信号と焦点検出用画素信号を生成する。なお、後述するように、本実施形態における画像用画素は、フォトダイオードが使用されている。
撮像素子208は、図2に示す例において、垂直走査部21と、画素部22と、アナログ処理部23と、ADC処理部24と、メモリ部25と、水平走査部26と、出力部27と、入力部28と、素子制御部29と、を備えている。
画像用画素および焦点検出用画素は画素部22に配列されている。画像用画素信号と焦点検出用画素信号は、被写体像を光電変換することによって生成され、この生成された信号の読み出しは、垂直走査部21〜出力部27までの少なくとも一部、および素子制御部29などが行う。画素部22に配置された各画素の構造については、図3および図4を用いて後述する。
垂直走査部21は、垂直走査回路を有し、画素部22の画素の水平方向の並び(行)を順次、選択することによって、走査を垂直方向に行う。この垂直走査部21が、特定の行を選択して、選択された行にある各画素のリセットや転送を行うことで、画素の電荷蓄積時間(露光時間)が制御される。
アナログ処理部23は、アナログ処理回路を有し、画素部22から読み出されたアナログの画素信号をアナログ信号処理する回路である。このアナログ処理部23は、例えば、画素信号を増幅するプリアンプ、画素信号からリセットノイズを低減する相関二重サンプリング(CDS)回路などを含んでいる。
アナログ・デジタル変換処理部(ADC処理部)24は、AD変換回路を有し、アナログ処理部23から出力されたアナログの画素信号をデジタルの画素データに変換する。このADC処理部24は、例えば、カラムADCに代表されるような、画素部22から読み出された画素信号を列毎のアナログ・デジタル・コンバータ(ADC)でAD変換する構成が採用されている。
メモリ部25は、メモリを有し、ADC処理部24で変換された画素データを一時的に保持する電気的書き換え可能な揮発性メモリ回路等で構成されている。水平走査部26は、水平走査回路を有し、メモリ部25から、画素データ(画像用画素データと焦点検出用画素データ)を列順に読み出す。
出力部27は、出力回路を有し、水平走査部26によって読み出された画素信号を配列して画素信号列を生成し、シリアル信号や差動信号などの出力信号形式に変換して出力する。なお、この出力部27または上述したADC処理部24等は、増感処理(設定されているISO感度に応じた信号増幅処理)を行う増感部としても機能するようになっている。
入力部28は、入力回路を有し、CPU212や不図示の撮像素子駆動部から、撮像素子208の制御に係る同期信号、基準クロック、動作設定の情報などを受信する。
素子制御部29は、撮像制御回路を有し、入力部28を介して受信した同期信号および基準クロックに合わせて、撮像素子208内の各ブロックを制御するものであり、読出方法選択部30を備えている。また、素子制御部29は、CPU212から入力部28を介して撮像駆動モードを切り換える指示等の動作設定指示を受信して、撮像素子208内の各ブロックを制御する。
読出方法選択部30は、選択回路を有し、入力部28を介して受信した動作設定の情報(例えば、静止画撮影、動画撮影、ライブビュー、AF等のカメラモード)に基づいて、撮像素子208からの読み出し方式を選択して設定する。読み出し方式としては、第1読出(単純読み出し方式)、第2読出(減算読み出し方式)、焦点検出画素の加算値を読み出す第3読出(位相差情報なし読み出し方式)等の全部または一部などを設けてもよい。第1読出は、光電変換信号に基づいて第1の瞳分割方向における一対の焦点検出用画素信号の両方を生成して読み出す。また、第2読出は、光電変換信号に基づいて第2の瞳分割方向における一対の焦点検出用画素信号の一方を生成すると共に、1つの画像用画素内で生成された全ての光電変換信号を加算することで画像用画素信号を生成し、生成した一方の焦点検出用画素信号および画像用画素信号を読み出す。さらに、第3読出は、1つの画像用画素内で生成された全ての光電変換信号を加算することで画像用画素信号を生成し、生成した画像用画素信号のみを読み出す。
いずれにしても、本実施形態においては、ライブビュー表示および静止画記録用の合成信号と、位相差検出用の個々の焦点検出画素信号が取得できればよい。素子制御部29は、読出方法選択部30によって設定された読み出し方式に応じて、撮像素子208内の各部を制御する。素子制御部29および図1に示したCPU212等によって、撮像素子の読み出しを制御する制御部が構成されている。
なお、図2では、撮像素子208が垂直走査部21および画素部22を備えるだけでなく、さらに、アナログ処理部23〜素子制御部29を備える構成例を示している。しかし、これに限るものではなく、例えばアナログ処理部23〜素子制御部29の1つ以上を撮像素子208の外部に配置しても構わない。
次に、図3および図4を用いて、画素部22に配置された焦点検出用画素および画像用画素の構造について説明する。画素部22は、上述したように、画像用画素および焦点検出用画素が2次元状(例えば、垂直方向(列方向)および水平方向(行方向))に配列された画素アレイ部である。
図3は、2PD画素構造の例を示しており、この2PD構造は、1つのマイクロレンズLeに2つのフォトダイオードPDが配置される画素構造である。図3に示す2PD画素構造は、1つのマイクロレンズLeに対して、1つのカラーフィルタFと2つのフォトダイオードPD1、PD2を配置する。各画素は、図3の右側の図に示すように、物体側から像側へ向かう積層方向の順に、マイクロレンズLeとカラーフィルタFとフォトダイオードPD1、PD2とが配設された構成となっている。ここに、マイクロレンズLeは、光を集めることによって画像用画素に到達する光量を増加させ、画像用画素の開口率を実質的に大きくするものである。また、カラーフィルタFは、例えば原色ベイヤ配列のカラーフィルタの場合には、赤色(R)フィルタ、緑色(G)フィルタ、または青色(B)フィルタの何れかが、その画素位置に応じて配設されている。
図3に示す2PD画素構造の場合には、1つのマイクロレンズLeの結像範囲に、フォトダイオードPD1、PD2が、瞳分割方向に配設されている。2つのフォトダイオードPD1、PD2は、水平方向の位相差を検出するためのものである場合には左右に2分割されており、垂直方向の位相差を検出するためのものである場合には上下に2分割されている。これによって1つの画素が、2つの焦点検出用画素を有する。図3の左側に示す図では、撮影レンズの左側を通過した光束Lを受光するフォトダイオードPD1と、撮影レンズの右側を通過した光束Rを受光するフォトダイオードPD2が配置されている。
次に、図4を用いて、4PD画素構造について説明する。4PD画素構造の画素部22も、図3の場合と同様に、画像用画素および焦点検出用画素が2次元状(例えば、垂直方向(列方向)および水平方向(行方向))に配列された画素アレイ部である。4PD画素構造の場合には、1つのマイクロレンズLeの結像範囲に4つのフォトダイオードPDが配設されている。また、マイクロレンズLeと4つのフォトダイオードPDの間には、図3の場合と同様に、カラーフィルタFが配置されている。カラーフィルタFは、例えば原色ベイヤ配列のカラーフィルタの場合には、赤色(R)フィルタ、緑色(G)フィルタ、または青色(B)フィルタの何れかが、その画素位置に応じて配設されている。
4つのフォトダイオードPDは、水平方向および垂直方向の位相差を検出することができるように、上下左右に4分割されている。すなわち、4つのフォトダイオードPDが、左上、左下、右上、右下の位置にそれぞれ配置される。この構成によって1つの画素が、4つのフォトダイオードPDa,PDb,PDc,PDdを有する。この場合には、瞳分割方向は、水平方向と垂直方向の2つである。
さらに、フォトダイオードPDの出力を垂直2画素加算する場合、つまり、図4における(PDa+PDb)と(PDc+PDd)とを算出する場合には、水平方向の位相差を検出(縦線検知)するための焦点検出用画素信号となる。この結果、図4の右上側に示すように、左側の2画素加算値Lと、右側画素加算値Rが得られる。また、フォトダイオードPDの出力を同様に水平2画素加算する場合、つまり、(PDa+PDc)と(PDb+PDd)とを算出する場合には、垂直方向の位相差を検出(横線検知)するための焦点検出用画素信号Tとなる。この場合には、図4の右下側に示すように、上側の2画素加算値Tと、下側の2画素加算値Bが得られる。
図4に示す4PD画素構造の場合には、縦線検知用の焦点検出用画素信号と、横線検知用の焦点検出用画素信号と、の内の、一方が第1の瞳分割方向における一対の焦点検出用画素信号、他方が第2の瞳分割方向における一対の焦点検出用画素信号となる。加えて、フォトダイオードPDの出力を同様に4画素加算する場合、つまり、(PDa+PDb+PDc+PDd)を算出する場合には、画像用画素信号となる。本実施形態においては、2PD画素構造でも、4PD画素構造でも、いずれのPD画素構造を採用することができる。
次に、図5を用いて、本露光(静止画フレーム)とAF露光(位相差フレーム)について説明する(後述する図13BのS43参照)。図5において、VDは垂直同期信号のタイミングを示し、横軸方向のT1〜T11は時刻を示す。時刻T1において、最初(1コマ目)の本露光が開始され、時刻T2において1ライン目の露光が終了し、以後、時刻T4において2コマ目の本露光が開始され、時刻T7において3コマ目の本露光が開始され、時刻T10において4コマ目の本露光が開始される。それぞれの本露光において、静止画用の画像データとして、撮像素子18から画像用画素信号のみの画像データが取得される。
また、本露光と本露光の間には、位相差検出用の焦点検出用画素の画素データが読み出される。すなわち、時刻T3において、最初(1コマ目)の位相差検出用の露光が開始され、時刻T4において1ライン目の露光が終了し、以後、時刻T6において2コマ目の位相差検出用の露光が開始され、時刻T9において3コマ目の位相差検出用の露光が開始される。それぞれの位相差検出用の露光において、位相差検出用の画像データとして、位相差検出用の画像データが取得される(前述の第1読出し参照)。なお、位相差検出時には、片側の開口に対応した位相差検出用画像データを取得し、例えば、直前の静止画フレームにて静止画用に取得した画像用画像データから、この位相差検出用画素データを減算することによって、他側の開口に対応した位相差検出画像データを求めてもよい(前述の第2読出し参照)。
このように、本実施形態においては、連写で静止画の画像データを取得する際に、静止画撮影用の本露光(静止画フレーム)と本露光の間に、位相差検出用の露光(位相差フレーム)を行っている。すなわち、記録のための画素信号を生成する撮像動作と、位相差検出用の画素信号を生成する撮像動作を交互に行うように設定した撮像素子の撮像モードを設けている。このため、無効フレームを発生することなく高速に記録のための画素信号と位相差検出用の画素信号とを、高速で読み出すことができる。したがって、ライブビューフレームが不要となるため、撮像駆動モードの切り換えや、それに伴う無効フレームの発生がなく、格段に連写速度を向上させることができる。また、記録用の画像が劣化することなく、また被写体の焦点検出を行うことができるため、高速連写中に、動く被写体であっても、ピントの合った画像を得ることができる。また、静止画フレームと位相差フレームを交互に繰り返し実行する撮像駆動モードを、予め撮像素子208の内部に設定しておいてもよい。この構成によって、CPU212から撮像素子208への撮像駆動モードの切り換え指示等の通信量を削減することができる。
次に、図6を用いて、第1読出の際の画素加算の例について説明する。図6に示す例では、第1の瞳分割方向である水平方向については加算が行われずに、第2の瞳分割方向である垂直方向についてだけ加算が行われるように設定がされる。すなわち、水平方向については同一開口(左開口同士又は右開口同士)の画素信号を1/1画素加算(すなわち加算なしに)するように設定され、垂直方向については同一開口(左開口同士又は右開口同士)の画素信号を5/9画素加算するように設定されている。ここで、5/9画素加算は、垂直方向の9画素(図14のm1例では、n1からn17に対応するRl,またはn2からn18に対応するGblのそれぞれ9画素)のうち、n1からn9に対応するRlの5画素を加算する、またはn2からn10に対応するGblの5画素を加算することをいう。画素信号の加算数は例えばフレームレートに応じて適宜に設定すればよい。
図6は、列毎の位相差フレームの位相差画素(焦点検出用画素)の加算画素を示す。図6の上側の図は、各画素の配置示す。この図で、位置(m1、n1)に配置されたRlは左側開口の赤色画素を意味し、位置(m2、n1)に配置されたRrは右側開口の赤色画素を意味する。また位置(m1、n2)に配置されたGblは左側開口の緑色画素を意味し、位置(m2、n2)に配置されたGbrは右側開口の緑色画素を意味する。詳しくは説明しないが、「B」は青色画素を意味する。
図6の下側の図に示した例は、高速化や消費電力削減のため緑色(G)画素のみを抽出する場合を示す。例えば、m1列では、図6の上側の図のm3列の左開口側のGrl画素n1,n3,n5,n7,n9行の加算値Gr_Lが算出され、m2列では、図6の上側の図のm4列の右開口側のGrr画素n1,n3,n5,n7,n9の加算値Gr_Rが算出される。また、同じくm1列では、図6の上側の図のm1列の左開口側のGbl画素n2、n4、n6、n8、n10行の加算値Gb_Lが算出され、m2列では、図6の上側の図のm2列の右開口側のGbr画素n2、n4、n6、n8、n10行の加算値Gb_Rが算出される。図6の下側の図に示すように、その他の加算画素値も同様な手順で加算処理され算出される。
このように、列毎に5画素のGrl、Grr画素、またはGbl、Gbr画素の加算値Gr_L、Gr_R、Gb_L、Gb_Rが算出され、図6の下側の図表に示す形式でメモリに記憶される。この加算値Gr_LとGr_R、Gb_LとGb_Rを用いて、後述するステップS45における相関演算等が実施される。なお、図6の下側の図は、図6の上側の図表のm20列までの表記に対して、示されていないm40列までの画素に対応する表記としている。たとえば、図6の下側の図表のm20列、n1〜n9行のRの画素Grは、図6の上側の図表に示されていないm40列の右開口側のGrr画素n1、n3、n5、n7、n9行の加算値Gr_Rである。
図6に示すような5/9画素加算を行うことによって、画素信号の行数が圧縮される。画素信号の行数が減るため、画素信号の読み出し時間は短縮される。一方で、画素信号の列数は変わらないので水平方向の位相差の検出精度を確保することができる。また、画素信号に基づいて生成される焦点検出画素信号は、実質的に斜め方向の位相差の情報を有することになる。なお、図6に示す例では、垂直方向については5個の画素信号が加算されるように設定されているが、垂直方向の加算数は5画素以下が好ましい。例えば、垂直方向に9画素の内、1画素を加算するV1/9方式を採用してもよい。
図6に示すような画素読出しを設定の後、CPU212は、撮像素子208に対して焦点検出画素信号(位相差検出用)を生成するために必要な露光時間での撮像を行うように制御信号を出力する。この露光時間は、被写体輝度等に基づいて設定される。また、CPU212からの制御信号の入力を受けて、素子制御部29は、画素部22の行毎に撮像(電荷の蓄積)を開始させる。そして、素子制御部29は、垂直走査部21を制御し、撮像が完了した行の画素部22から順次に画素信号を出力させる。
次に、図7を用いて、連写中における静止画読出しフレームと位相差フレームの交互読出しと、レンズの同期制御について説明する。図5を用いて説明したように、連写コンティニュアスAF(CAF)中に、撮像素子208から画素の交互読みを実施する。この交互読みは、静止画露光の読出しと位相差検出用露光(PD分割露光)の読出しを、交互に行うことをいう。すなわち、静止画撮影用の露光のタイミングでは、図3に示す2PD画素構造では、フォトダイオードPD1、PD2の加算値を読み出す。図4に示す4PD画素構造では、フォトダイオードPDa〜PDdの加算値を読み出す。また、位相差検出用の露光のタイミングでは、PD分割露光を行う。例えば、図3に示す2PD画素構造では、フォトダイオードPD1、PD2を読み出す。図4に示す4PD分割構造では、フォトダイオードPDa+PDb,PDc+PDd、またはフォトダイオードPDa+PDc,PDb+PDdの加算値を読み出す。
撮像素子208から、画素信号の読み出しにあたっては、カメラ本体200が交換レンズ100に、読み出し開始パルスVDに同期したレンズ同期信号を出力する。このレンズ同期信号は、読み出し開始パルスVDと周波数を合わせてもよく、また図7に示すように、読み出し開始パルスVDに対し、2倍の周期であってもよい。図7に示す例では、VDは、時刻T1、T2、T4、T5、T7、T8、T10、T11、T13のタイミングで出力される。一方、レンズ同期信号は、時刻t1、t4、t7、t10、t13に出力され、VDの2倍の周期である。なお、レンズ同期パルス(信号)は、VDの等倍周期、2倍周期以外にも、他の周期であってもよい。また、レンズ同期信号の位相は、読み出し開始パルスVDの位相と完全に一致させてもよく、またずらしてもよい。図7に示す例では、両パルスの位相は完全に一致させている。
次に、図8を用いて、連写中における静止画読出しフレームと位相差フレームの交互読出しの際に行われる、駆動指示と状態送信について説明する。カメラ本体200と交換レンズ100との通信は、I/F110を通じて、シリアル通信で実行される。
カメラ本体200は、所定のタイミングにおいて、状態送信Soを行う。状態送信は、レンズの状態(絞りやレンズ位置、ズーム状態など)を知るための通信であり、レンズCPU106は状態送信を受信すると、要求されたレンズ状態情報を、カメラ本体200のCPU212に返信する。また、カメラ本体200のCPU212は、所定のタイミングにおいて、駆動指示Diを、交換レンズ100のレンズCPU106に送信する。通常、1同期当たり、状態信号を1回送信することで、フレーム毎のレンズ状態をカメラ本体200側が把握することができる。
駆動指示Diは、駆動目標に関する絞り位置や、レンズ位置を指定し駆動開始を指示する通信である。レンズCPU106は、駆動指示Diを受信すると、レンズ同期信号を基準に指定されたタイミングで、レンズ駆動や絞り駆動を開始する。カメラ本体200のCPU212から交換レンズ100のレンズCPU106に駆動指示を送信すると、次の「レンズ同期信号」のタイミングで、交換レンズ100は指定された駆動を行う。駆動指示は、指定した駆動を実行するタイミングを、レンズ同期信号を基準にして指示する。駆動の実行のタイミングを、レンズ同期信号を基準にして指示することができるので、レンズや絞りの駆動の実行の時刻を精密に実現することができる。カメラ本体200と交換レンズ100の間は、シリアル通信であることから、駆動指示の送信タイミングで駆動を開始させることは困難であるが、レンズ同期信号を基準としているので、レンズ駆動や絞り駆動のタイミングを精密に制御することができる。
また、図8に示す例では、レンズ駆動が「絶対駆動」によって実行されている。この例は、被写体が変わったり大きくぼけたりした場合であり、フォーカス移動量が所定値よりも大きい場合である。このような状態では、大きくフォーカスレンズを駆動することになる。そこで、本実施形態においては、カメラ本体200のCPU212は、レンズCPU106に絶対駆動を指示する。「絶対駆動」は、動体予測演算等の演算結果に基づき被写体にピントが合う位置(絶対的な位置)に、フォーカスレンズを素早く(最速で)駆動する駆動方法である。絶対駆動によって撮影レンズ102aが駆動されている場合には、露光中や画素信号の読出し中にピント位置が大きく変化してしまうので、静止画の画質が劣化してしまう。そこで、本実施形態においては、絶対駆動中に取得された画像データを静止画の画像データとして記録しない様にする。すなわち、撮像素子208から画素信号を読み出してライブビュー表示を行うが、静止画用の画像処理を実施せず、記録媒体230に記録しない。また、絞りを駆動する場合も、同様に、静止画としては記録せず、ライブビュー用にのみ画素信号情報を用いる。
図8に示す例では、駆動指示Diが、カメラ本体200のCPU212から交換レンズ100のレンズCPU106に出力される。このとき、駆動指示Diには絶対駆動であることが含まれており、更にレンズの駆動方向や目標位置等が含まれている。時刻t4になると、レンズ同期信号がカメラ本体200から交換レンズ100に送信され、このレンズ同期信号を基準として、フォーカスレンズ102aが絶対駆動される(後述する図14のS87参照)。
次に、図9を用いて、レンズ駆動が「スキャン駆動」によって実行される場合について説明する。「スキャン駆動」は、指定された移動速度となるようにフォーカスレンズ102aの駆動速度を制御する駆動方法である。被写体が、一定速度で移動している間は、被写体移動速度に合わせて、レンズCPU106は、フォーカスレンズ102aの位置を等速で駆動する。図9において、レンズ位置の欄に記載された点線は、被写体位置(レンズ位置に換算)であり、CPU212は、この被写体位置の変化に合わせて、フォーカスレンズ位置を等速駆動する様に、レンズCPU106に指示する(後述する図14のS81参照)。また、被写体の移動に合わせて、フォーカスレンズ102aを等速で移動させていることから、この時、取得される画像データの画質は静止画として十分である。そこで、図8に示した絶対駆動の場合には静止画の記録を行わず、ライブビュー表示のみであったが(図8のT4〜T9における露光を参照)、スキャン駆動する場合には、ライブビュー表示と共に、静止画の記録も行う(図8のT4〜T9における露光を参照)。
ただし、被写体が、例えば、50mm/sで移動している場合でも、撮像素子208の像面における移動速度は、指数関数的に増加する。すなわち、被写体が近づいてくる場合には倍率も変わるため、被写体距離の2乗に比例して、移動速度が増加する。また、マクロでみれば等速で移動する被写体であっても、被写体が人物や動物等の場合には、足の踏み込みや胴体の使い方によって、ミクロで見ると移動速度は細かく変動する。そこで、被写体の移動速度が変わった場合や、デフォーカス量が変化した場合には、図10に示すように、駆動速度を変更する。
図10において、時刻t4の手前のタイミングで、CPU212はスキャン駆動指示DiをレンズCPU106に出力する。このスキャン駆動指示に従って、レンズCPU106はフォーカスレンズ102aの駆動速度を制御する。続いて、時刻t7の手前のタイミングで、CPU212は速度変更指示SiをレンズCPU106に出力する。この速度変更指示に従って、レンズCPU106はフォーカスレンズ102aの駆動速度を制御する。このように、CPU212は、時刻T3〜T4における位相差検出とそれ以前の位相差検出結果等に基づいて、被写体の像面移動速度を算出し、この算出結果に変動がある場合には、速度変更指示SiをレンズCPU106に出力する。
次に、図11を用いて、レンズ駆動が「相対駆動」によって実行される場合について説明する。「相対駆動」は、相対的な駆動量とレンズ速度を指定する駆動方法である。例えば、被写体が前後に微小に移動する場合には、相対駆動によりレンズ駆動も微小な駆動を行って被写体に追従させる。また、被写体が一方向に移動する場合で、被写体移動速度がスキャン駆動で設定可能な下限の速度より遅い場合は、スキャン駆動で被写体に追従させることが困難である。このような場合は、相対駆動を間欠的に実行して被写体に追従させる制御を行う。例えば、位相差検出フレームを挟む静止画露光の連続する2フレームの内の一方のフレームでは相対駆動によるレンズ駆動を実施し、2フレームの内の他方のフレームでレンズ駆動を実施しない。相対駆動中の1回目の露光による画像データはライブビュー表示のみに用い、レンズ駆動を行わない2回目の露光の際に静止画露光を実施する。例えば、図11に示す例においては、時刻T4〜T7の間には相対駆動を行い、この間の露光による画像データに基づいてライブビュー表示を行う。また、時刻T7〜T10の間には駆動を行わず(すなわち、レンズ駆動禁止)、この間の露光による画像データに基づいて静止画の画像データを取得し、この画像データを記録する。
なお、この図11に示す相対駆動は、後述する図12に示す相対駆動よりも、連写速度は遅くなってしまう。しかし、画像処理を半分の量で実施できるので、画像処理能力の必要能力を減らすことができる 。このため、平均的な消費電力が減少することにより、電源電池の寿命が延び、発熱が低下し、連写継続枚数が多くなり、この点で有利である。また、図11に示す例では、位相差検出フレームを挟む2フレームの内の一方のフレームでフォーカスレンズ駆動を行い、他方のフレームではフォーカスレンズ駆動を禁止している。しかし、フォーカスレンズを移動させるフレームと移動禁止のフレームの比率は1:1に限らず、1:2や2:1等、他の比率であってもよい。この場合も、相対駆動によりフォーカスレンズを移動させる場合には、フォーカスレンズ移動中の露光に基づく静止画記録を禁止する。
次に、図12を用いて、「相対駆動」の変形例について説明する。この変形例は、図11に示した相対駆動の派生であり、微小駆動を行うことにより、図11に示した例の場合よりも更に高速連写を行うことが可能である。微小駆動は、静止画の画質として問題とならない微小な駆動量を相対駆動により実行する駆動方法である。たとえば、0〜±2Fδ程度(深度の2倍程度まで)の駆動量を相対駆動により実行する。なお、Fは絞り値、δは許容錯乱円径である。したがって、静止画露光中にフォーカスレンズの微小駆動を実行しても、静止画の画質に影響しない。連写中の静止画露光と並行して、微小駆動を実施することにより、ライブビュー用だけのフレーム(図11)を含まず、位相差検出フレームを挟んで連続する静止画を記録することができる。すなわち、図11に示した例では、時刻T4〜T7までの露光はライブビュー表示のみであり、一方、時刻T7〜T10までの露光は静止画記録用であった。しかし、図12に示す変形例では、時刻T4〜T7、および時刻T7〜T10までの露光は、ライブビュー表示と静止画記録の両方に使用する。なお、図12に連写操作中に絞り駆動を実行していないものとしている。
次に、図13Aおよび図13Bに示すフローチャートを用いて、本実施形態に係る撮像装置1の動作を説明する。ここで、図13Aおよび図13Bは、撮像装置1のAFモードがコンティニュアスAFモードであるときの動作を示している。コンティニュアスAFモードは、動く被写体に対して適したAFモードであり、被写体に追従するようにピント合わせを続けるAFモードである。なお、図13Aおよび図13B(後述する図14〜図16も含む)に示すフローチャートは、カメラ本体200内のCPU212が、本体側記憶部228に記憶されたプログラムに従って、カメラ本体200および交換式レンズ100内の各部を制御することによって実現する。
ユーザが撮像装置1の電源をオン操作したことが検出されると、図13Aに示すカメラ電源オンのフローが開始する。電源のオン操作が検出されると、まず、1stレリーズがオンか否かについて判定する(S1)。ここでは、CPU212は、操作部206の内のレリーズボタンの1stレリーズスイッチがオンの状態であるか否かを判定する。1stレリーズスイッチは、例えばユーザによるレリーズボタンの半押し操作に応答してオンの状態となるスイッチである。ユーザは、被写体にピントを合わせ、露光を決定する場合には、レリーズボタンを半押しする。
ステップS1における判定の結果、1stレリーズスイッチがオンでない場合には、ライブビュー(LV)の取り込みを行う(S3)。ここでは、CPU212は、メカシャッタ202を全開状態とするように駆動部204に対して制御信号を出力するとともに、絞り102bを所定量(例えば開放絞り)だけ駆動するようにレンズCPU106に対して制御信号を出力する。その後、CPU212は、所定時間毎に(フレームレートで決まる時間)、撮像素子208に対して制御信号を出力し、撮像素子208によるLV表示のための撮像を行う。LV表示のための撮像が完了する毎に、素子制御部29は、画素部22からの画素信号を読み出す。なお、画素信号の読み出しに際し、素子制御部29は、画素部22から出力される同一開口(同色)の画素信号を加算させるようにしてもよい。撮像素子208から出力された表示画素データは、DRAM226に記憶される。
また、ステップS3において、CPU212はライブビュー(LV)表示を行う。このとき、CPU212は、画像処理回路214に表示画像データを生成させる。画像処理回路214は、撮像素子208から読み出された画素データに対して必要な処理を行って表示のための表示画像データを生成する。表示画像データは、同一の画素部22に属するフォトダイオードPD1、PD2(4PD画素構造では、PDa〜PDd)の画素データを加算平均することで得られる。CPU212は、画像処理回路214で生成された表示画像データに基づいて表示部222にLV画像を表示させる。LV表示を行うと、ステップS1に戻る。
ステップS1における判定の結果、1stレリーズスイッチがオンの場合には、AF&LV用露光&読出しを行う(S5)。ここでは、CPU212は、オートフォーカス(AF)及びLV表示のための撮像と読み出しを行う。AFのための撮像と読み出しは、例えば、下記のように行ってもよい。すなわち、AFのための撮像と読み出しは、撮像素子208から一対の焦点検出用画素信号A,Bを読み出すことによって行い、LV表示のための撮像と読み出しは、一対の焦点検出用画素信号A,Bの加算値を読み出すことによって行い、この読み出し処理を交互に行うようにしてもよい。あるいは、撮像素子208から、一対の焦点検出用画素信号A,Bの何れか一方(ここでは例えば焦点検出用画素信号Aであるものとする)と、一対の焦点検出用画素信号A,Bを加算した画像用画素信号(A+B)を読み出す。そして、加算画像用画素信号(A+B)から焦点検出用画素信号Aを減算することによって、焦点検出用画素信号Bを得ることができる。また、加算画像用画素信号(A+B)がLV表示のために使用される。
このステップS5において算出された焦点検出用画素信号A,Bを用いて位相差法による焦点検出を行うための焦点検出画素信号A,BのデータがDRAM226に記憶される。なお、4PD画素構造を採用している場合には、4PD画素毎に水平方向(左右方向)または垂直方向(上下方向)の一方について、一対の焦点検出用画素信号を算出できる。この一対の焦点検出用画素信号を使用して、それぞれの方向について、位相差を算出するために、この一対の焦点検出画素信号がDRAM226に記憶されている。また、画像用画素信号(A+B)が、LVのための表示画素データとしてDRAM226に記憶される。ここで、DRAM226に記憶された表示用画素データに基づいて、ライブビュー表示がなされる。
続いて、相関演算および信頼性判定を行う(S7)。ここでは、CPU212は、焦点検出回路218による焦点検出演算を実行させる。焦点検出回路218は、DRAM226に記憶されている焦点検出画素データのうちの対をなす焦点検出画素データ(焦点検出用画素信号A,B)を用いて相関演算を行う。水平方向の位相差検出の場合の対をなす焦点検出画素データは左開口画素データLと右開口画素データRであり、垂直方向の位相差の検出の場合の対をなす焦点検出画素データは上開口画素データTと下開口画素データBである。相関演算の後、焦点検出回路218は、焦点検出の信頼性判定を行う。信頼性判定は、例えば画素データから得られるコントラスト、相関演算の結果として算出される相関値に基づいて判定される。
相関演算および信頼性判定を行うと、次に、ピントずれ量を検出する(S9)。ここでは、焦点検出回路218が、ピントずれ量演算を行う。すなわち、焦点検出回路218は、ステップS7における信頼性判定の結果、信頼性が高いと判定された焦点検出領域(複数の場合もある)における2像間隔値(相関値の極値に対応した像ずれ量)を用いて、フォーカスレンズ102aの現在位置と合焦位置の間のピントずれ量を算出する。
ピントずれ量を検出すると、次に、エリアを選択する(S11)。ここでは、焦点検出回路218は、フォーカスレンズ102aの駆動に用いるフォーカスレンズ位置に対応する焦点検出領域を選択するためのエリア選択処理を行う。エリア選択処理は、例えば、最も近い被写体距離に対応した(すなわち最至近の)フォーカスレンズ位置に対応するピントずれ量を示す焦点検出領域を選択する。また、エリア選択処理は、人の顔が存在するエリアを選択してもよく、ユーザがマニュアルで選択したエリアであってもよい。なお、エリア選択は、CPU212が行ってもよい。
エリア選択を行うと、次に、合焦状態か否かを判定する(S13)。ここでは、CPU212は、フォーカスレンズ102aが合焦状態であるか否かを判定する。この判定は、例えばエリア選択処理において選択された焦点検出領域におけるピントずれ量が予め定められた許容範囲内であるか否かを判定する。ピントずれ量が許容範囲内であるときには合焦状態であると判定される。
ステップS13における判定の結果、合焦状態でない場合には、フォーカスレンズを駆動する(S15)。ここでは、CPU212は、ステップS11において選択された焦点検出領域について算出されたフォーカスレンズ位置に、フォーカスレンズ102aが駆動されるよう、レンズCPU106に対して制御信号を出力する。レンズCPU106は、この制御信号を受けて、駆動部104を介してフォーカスレンズ102aを駆動する。フォーカスレンズ102aを駆動すると、ステップS1に戻る。
ステップS13における判定の結果、合焦状態の場合には、AF&LV用露光&読出しを行う(S17)。ここでは、CPU212は、ステップS5と同様のオートフォーカス(AF)及びライブビュー(LV)表示のための撮像と読み出しを行う。前述したように撮像素子208から第1読出によって画素信号が読み出され、AFのための焦点検出画素データがDRAM226に記憶され、またLVのための表示画素データがDRAM226に記憶される。また、LVのための表示画素データを用いて、ライブビュー(LV)表示を行う。
続いて、相関演算および信頼性判定を行う(S19)。ここでは、CPU212は、ステップS17において読み出した画素信号を用いて、ステップS7と同様に、焦点検出回路218による焦点検出演算を実行させる。焦点検出回路218は、DRAM226に記憶されている焦点検出画素データのうちの対をなす焦点検出画素データを用いて相関演算を行う。相関演算の後、焦点検出回路218は、焦点検出の信頼性判定を行う。相関演算および信頼性判定を行うと、次に、ステップS9と同様に、ピントずれ量を検出し(S21)、ステップS11と同様に、エリア選択を行う(S23)。
エリア選択を行うと、次に、履歴情報を保存する(S25)。ここでは、焦点検出回路218は、焦点検出に係る情報を履歴情報として例えばDRAM226に保存する。焦点検出に係る情報は、例えばステップS21で算出されたピントずれ量の情報及びステップS23で選択された焦点検出領域の情報を含む。なお、履歴情報の保存は、CPU212が、焦点検出に係る情報をDRAM226に保存するようにしてもよい。
履歴情報を保存すると、次に、2ndレリーズスイッチがオンか否かについて判定する(S31)。ここでは、CPU212は、操作部206の内の2ndレリーズスイッチがオンされているか否かを判定する。2ndレリーズスイッチは、例えばユーザによるレリーズボタンの全押し操作に応答してオンの状態となるスイッチである。ユーザは、静止画画像を撮影する場合には、レリーズボタンを全押しする。
ステップS31における判定の結果、2ndレリーズスイッチがオンでない場合には、次に、合焦状態か否かを判定する(S33)。ここでは、CPU212は、ステップS13と同様にして、フォーカスレンズ102aが合焦状態であるか否かを判定する。この判定の結果、合焦状態の場合には、ステップ17に戻る。
ステップS33における判定の結果、合焦状態でない場合には、フォーカスレンズを駆動する(S35)。ここでは、CPU212は、ステップS15と同様に、フォーカスレンズ102aをピントずれ量に基づいて適切なフォーカスレンズ位置に移動させる。フォーカスレンズ駆動を行うと、ステップ17に戻る。
ステップS31における判定の結果、2ndレリーズスイッチがオンの場合には、次に、動体予測演算を行う(S37)。ここでは、CPU212は、焦点検出回路218に動体予測演算を実行させる。動体予測演算は、ステップS25において記憶させた過去のピントずれ量演算の結果(フォーカスレンズ位置)の履歴に基づいて、今回の静止画の露光時におけるフォーカスレンズ102aの駆動すべき位置を予測する。
動体予測演算を行うと、次に、シャッタ動作を開始する(S39)。ここでは、CPU212は、静止画取得のための撮像(本露光)を行うために、メカシャッタ202の動作を開始させる。このメカシャッタ202の動作は、本露光の前後のメカシャッタ202の開閉動作と、本露光の後でライブビュー及びAFのための撮像を開始するためのメカシャッタ202の全開動作とを含む。CPU212は、まず、メカシャッタ202を全閉状態とするように駆動部204の制御信号を切り替える。そして、ステップS43で本露光を行った後に、CPU212は、メカシャッタ202を全開状態とするように駆動部204を制御する。
シャッタ動作を開始すると、絞りおよびレンズ駆動を同時に開始する(S43)。ここでは、CPU212は、レンズCPU106に対してフォーカスレンズ102a及び絞り102bを同時に駆動させるように指示し、両者の動作を開始させる。ここで、フォーカスレンズ102aの駆動位置は、ステップS37における動体予測演算において予測された位置である。また、絞り102bの開口量は、直前の測光演算によって測定された被写体輝度に基づいて算出された絞り値に応じた開口量である。
続いて、本露光およびAF露光および読出しを行う(S43)。ここでは、CPU212は、本露光を開始させ、本露光の終了後に撮像素子208から画素信号を読み出す。ここでの読出しは、画素部ごとにフォトダイオードの出力値を加算した値とする。本露光は、記録用の画像データを取得するための撮像である。本露光において、CPU212は、撮像素子208の撮像を開始させる。露光期間の終了後、CPU212は、撮像素子208の各受光部から画素信号を静止画画素信号として読み出す。このステップで読み出された画素信号に対する画像処理はステップS55において行う。
また、ステップS43において、CPU212は、図5を用いて説明したように、本露光&読出し(静止画)とAF露光&読出し(位相差検出)を交互に継続する。AF露光は、焦点検出用画素に適正露光となる露出制御値(例えば、電子シャッタ速度およびISO感度)で露光を行う。また、AF露光は、本露光と本露光の間に行われる。このAF露光における画素信号の読み出しは、焦点検出用画素からの信号を読み出せばよい。また、本露光のために焦点検出用画素から画素信号の読み出しを行うと、この画素信号に基づいてライブビュー表示を行う。なお、ライブビュー表示は、ステップS55において静止画用の画像処理を行う際に併せて行ってもよい。この場合、フレームによっては静止画記録用の画像処理を行わない場合もあるが、ライブビュー表示用の画像処理は毎フレーム実行する。
ステップS43におけるAF露光をおよび読出しを行うと、次に、相関演算および信頼性判断を行う(S45)。ステップS43において本露光と読出しを行った後に、AF露光と読出しを行い、ステップS45からS53の処理を行う。ステップS45における相関演算および信頼性判断は、ステップS43において取得した焦点検出用画素からの信号を用いて、ステップS7、S19と同様に行う。
相関演算および信頼性判断を行うと、次にピントずれ量を検出する(S47)。ここでは、ステップS45において算出した相関演算に基づいて、ステップS9、S21と同様に、ピントずれ量を検出する。続いて、エリア選択を行う(S49)。ここでは、焦点検出回路218は、ステップS47において検出したピントずれ量に基づいて、ステップS11、S23と同様に、エリア選択を行う。
エリア選択を行うと、履歴情報を保存する(S51)。静止画の連写の前および連写中には、連続的にAF露光が行われ(S17、S43参照)、ピントずれ量が検出される。焦点検出回路218(もしくはCPU212)は、焦点検出に係る情報を履歴情報として例えばDRAM226に保存する。
履歴情報を保存すると、動体予測演算およびレンズ駆動指示を行う(S53)。ここでは、ステップS37と同様に、CPU212は、焦点検出回路218に、ステップS53において保存した履歴情報に基づいて動体予測演算を行わせる。また、CPU212は、レンズCPU106に、レンズ駆動指示を行う。具体的には、図8〜図12を用いて説明したように、CPU212は、被写体の移動速度等に基づいて、フォーカスレンズの駆動方式、すなわち「絶対駆動」「スキャン駆動」または「相対駆動」のいずれかをレンズCPU106に指示する。また、この駆動指示には、動体予測演算結果に基づくフォーカスレンズの目標位置情報も含まれる。レンズCPU106は、駆動指示を受信すると、駆動部104等を制御し、駆動指示に従ってフォーカスレンズの駆動を行う。この動体予測演算及びレンズ駆動指示の動作の詳細については、図14を用いて後述する。
ステップS53において、動体予測演算等を行うと、次に、静止画の画像処理を行う(S55)。ここでは、CPU212は、ステップS43において取得した画像データに対して、画像処理回路214に静止画記録用の画像処理を施させる。但し、図8において説明した絶対駆動の場合や、図12において説明した相対駆動の場合には、静止画記録を行わないフレームがある。また、絞り駆動を行う場合にも、画質が劣化する場合があることから、静止画記録を行わない。このステップS55では、これらの事情を考慮して静止画の画像処理を実行する。画像処理の完了後、CPU212は、画像圧縮展開部216によって記録用の静止画データを圧縮する。圧縮の完了後、CPU212は、圧縮された記録用の静止画データを画像ファイルとして記録媒体230に記録する。静止画用の画像処理の動作の詳細については、図15および図16を用いて後述する。
ステップS55において、画像処理を行うと、次に、2ndレリーズスイッチがオンか否かを判定する(S57)。ユーザが連写を続行している場合には、レリーズボタンを全押ししたままである。このステップでは、CPU212は、操作部206の内の2ndレリーズスイッチがオンされているか否かを判定する。この判定の結果、2ndレリーズスイッチがオンの場合には、ステップS43に戻り、静止画の連写を続行する。
一方、ステップS57における判定の結果、2ndレリーズスイッチがオンでない場合には、次に、1stレリーズスイッチがオンか否について判定する(S59)。ユここでは、ステップS1と同様に、CPU212は、操作部206の内のレリーズボタンの1stレリーズスイッチがオンの状態であるか否かを判定する。この判定の結果、1stレリーズスイッチがオンの場合には、ステップS17に戻り、前述の処理を実行する。
一方、ステップS59における判定の結果、1stレリーズスイッチがオンでない場合には、カメラ電源がオフか否かを判定する(S61)。ここでは、CPU212は、カメラ本体200の電源をオフするか否かを判定する。例えば、ユーザの操作部206の操作によって電源のオフが指示された場合又は所定時間のユーザの操作部206の操作がない場合には電源をオフすると判定される。この判定の結果、カメラ本体200の電源をオフしないと判定されたときには、処理はステップS1に戻る。一方、ステップS61において、カメラ本体200の電源をオフすると判定されたときには、処理は終了する。
このように、図13Aおよび図13Bにおけるフローにおいては、レリーズボタンが全押しされた場合には、本露光(静止画フレーム)とAF露光(位相差検出フレーム)が交互に繰り返し実行される(S43参照)。AF露光が行われた場合には、このAF露光によって取得された焦点検出画素の画素信号に基づいて、相関演算やピントずれ量の検出がなされ、この検出結果に基づいて、動体予測およびフォーカスレンズ駆動がなされる。
また、動体予測演算の結果等に基づいて、CPU212はフォーカスレンズを「絶対駆動」するか、「スキャン駆動」するか、「相対駆動」するの選択を行い、この選択結果に基づいて、レンズ駆動の指示を行う(S53)。このレンズ駆動指示が、「絶対駆動」または相対駆動」の場合には、読み出した画像データに対して静止画の画像処理を行わず、画像データの記録を禁止する。
次に、図14に示すフローチャートを用いて、ステップS53の動体予測演算およびレンズ駆動指示の詳しい動作について説明する。動体予測演算及びレンズ駆動指示のフローが開始すると、まず、履歴情報から次回露光時の被写体位置を予測する(S73)。ここでは、CPU212は、ステップS51において記憶した履歴情報を用いて、次回露光時の被写体を予測演算によって求める。この予測演算は、過去の各時刻に対応して記憶されたフォーカスレンズ位置を用いて線形演算によって、次回露光時のフォーカスレンズ位置を算出する。被写体位置は、フォーカスレンズ位置と1対1の関係にある。
次回露光時の被写体位置を求めると、次に、被写体が大きく変化したか否かを判定する(S75)。ここでは、CPU212は、前回の被写体位置と、ステップS73において予測された次回の被写体位置を比較し、その差が所定値以上であるか否かに基づいて判定する。
ステップS75における判定の結果、被写体が大きく変化していた場合には、絶対駆動を指示する(S87)。ここでは、CPU212は、ステップS73において算出した、次回露光時の被写体位置に基づくフォーカスレンズ位置を、レンズCPU106に送信する。この送信の際に、図8を用いて説明した絶対駆動を、レンズCPU106に指示する。レンズCPU106は、CPU212から指示されたフォーカスレンズ位置に、絶対駆動で制御する。
ステップS75における判定の結果、被写体が大きく変化していない場合には、次に、被写体は等速移動か否かを判定する(S77)。ここでは、CPU212は、過去の被写体位置の変化を算出し、この変化から被写体が実質的に等速で移動しているか否かを判定する。すなわち、CPU212は、今回と前回の被写体の位置の差、前回と前々回の被写体位置の差等に基づいて、速度を算出し、この速度に基づいて、被写体が等速で移動しているか否かを判定する。なお、速度の変化が、所定値以内であれば、実質的等速とみなせる。
ステップS77における判定の結果、被写体が等速で移動していた場合には、次に、移動速度は極微小か否かを判定する(S79)。ステップS77において、CPU212は過去から次回露光時までの被写体速度を算出している。このステップでは、算出された被写体速度(実質的に等速である)が所定値よりも小さいか否かに基づいて判定する。
ステップS79における判定の結果、移動速度は極微小でない場合には、スキャン駆動を指示する(S81)。ここでは、CPU212は、ステップS73において算出した、次回露光時の被写体位置に基づくフォーカスレンズ位置に関する情報を、レンズCPU106に送信する。この送信の際に、図9を用いて説明したスキャン駆動を、レンズCPU106に指示する。この場合、被写体の移動速度が変わった場合や、デフォーカス量が変化した場合には、図10に示すように、スキャン駆動速度を変更する。レンズCPU106は、CPU212から指示されたフォーカスレンズ位置に、スキャン駆動で制御する。
ステップS79における判定の結果移動速度は極微小であった場合には、相対駆動を指示する(S83)。ここでは、CPU212は、ステップS73において算出した、次回露光時の被写体位置に基づくフォーカスレンズ位置に関する情報を、レンズCPU106に送信する。この送信の際に、図11または図12を用いて説明した相対駆動を、レンズCPU106に指示する。図11および図12に示した相対駆動の内、いずれのタイプの相対駆動を指示するかは、カメラ本体200および交換レンズ100の特性等に応じて、自動的に選択してもよい。または、いずれか一方のタイプしか選択できない場合もあり、この場合には一律に決められるようにしてもよい。また、連写速度が高速の場合は、図12に示した制御を用いておき、連写速度が1段階遅く、かつ、ライブビューのフレームレートを高速に設定する場合は、図11に示した制御を用いる場合もある。図11に示した相対駆動を行う場合には、例えば、位相差検出フレームを挟む奇数フレーム時のみ相対駆動を指示し、偶数フレーム時はフォーカス駆動を行わず、停止したままとする。レンズCPU106は、CPU212から指示されたフォーカスレンズ位置に、フォーカスレンズを駆動する。
ステップS77に戻り、このステップにおける判定の結果、被写体が等速で移動していない場合には、次に、被写体移動は極微小であるか否かを判定する(S85)。ここでは、CPU212は、前回と今回のフォーカス位置に基づいて、被写体の移動量を算出し、この移動量が所定値より小さく、極微小とみなせるか否かを判定する。
ステップS85における判定の結果、被写体の移動量が極微小の場合には、前述した相対駆動を指示する(S83)。被写体の移動速度が極微小、または被写体の移動量が極微小の場合には、被写体に追従させるためのフォーカスレンズ102aの移動量が極微小となる。このような極微小量でフォーカスレンズを移動させると、オーバーシュート等が発生しやすく、目標位置に移動させることが困難な場合がある。そこで、本実施形態においては、図11または図12に示す相対駆動を行って被写体に追従させる。
ステップS85における判定の結果、被写体の移動量が極微小でない場合には、前述した絶対駆動を指示する(S87)。この場合は、被写体が大きく変化していないが、被写体が等速で移動しておらず、かつ被写体の移動量も極微小ではない。このような場合には、スキャン駆動も相対駆動も適していないことから、最速でフォーカスレンズ位置に移動させる絶対駆動による制御を行う。
ステップS81においてスキャン駆動を指示すると、またはステップS83において相対駆動を指示すると、またはステップS87において絶対駆動を指示すると、元のフローに戻る。
このように、図14に示す動体予測演算及びレンズ駆動指示のフローにおいては、フォーカスレンズ位置の履歴情報に基づいて、次回露光時の被写体の位置、被写体の移動速度、被写体の移動量等を判定し(S75、S77、S79、S85)、この判定結果に基づいて、絶対駆動、スキャン駆動、および相対駆動の内のいずれかの駆動で、フォーカスレンズの移動を制御するようにしている。このため、被写体の変化に応じて、適切なフォーカスレンズの駆動制御を行うことができる。
次に、図15に示すフローチャートを用いて、ステップS55の静止画用の画像処理の詳しい動作について説明する。図15に示すフローチャートは、相対駆動として、図11に示す相対駆動を行うことが前提となっているシステム、または図11および図12の相対駆動を行うシステムの両方が可能である場合に、図11のシステムの相対駆動が選択された場合に適用される。図12に示す相対駆動を行う場合には、後述する図16に示すフローチャートを実行する。なお、図15および図16では、スキャン駆動を行う場合を除外している。スキャン駆動を実行する場合は、図9および図10に示すようにスキャン駆動と並行して実施される静止画用フレームから静止画用画像処理を実行し、静止画データを記録する。
図15に示す静止画用の画像処理のフローが開始すると、まず、奇数フレームか否かを判定する(S92)。前述したように、図11に示す相対駆動の場合には、連写開始後のフレーム番号が、奇数のフレームの場合には、静止画の画像データを記録しない。このステップでは、CPU212が、連写開始後のフレーム番号に基づいて判定する。
ステップS92における判定の結果、奇数フレームでない場合には、絞り駆動実施フレームか否かを判定する(S93)。絞り102bを駆動している場合には、画質が劣化する場合があることから、静止画の画像データを記録しない。前述したように、CPU212は、所定のタイミングにおいて状態送信Soを行い、レンズCPU106から絞りの状態情報を受信する。このステップでは、レンズCPU106から受信した情報に基づいて判定する。
ステップS93における判定の結果、絞り実施フレームでない場合には、次に、絶対駆動実施フレームか否かを判定する(S95)。ここでは、CPU212が、ステップS53において絶対駆動を指示したか否かを判定する。絶対駆動の場合には、図8を用いて説明したように、各フレームで取得した画像データを用いた静止画用の画像処理を実施せず、静止画の記録もしない。
ステップS95における判定の結果、絞り駆動実施フレームでない場合、には、静止画用の画像処理を実施する(S97)。ここでは、画像処理回路214が、撮像素子208から取得した画像データに対して、静止画用の画像処理を施し、記録媒体230に記録する。この記録を行うと、静止画用の画像処理のフローを終了し、元のフローに戻る。
一方、ステップS92における判定の結果、奇数フレームであった場合、またはステップS93における判定の結果、絞り駆動実施フレームであった場合、またはステップS95における判定の結果、絶対駆動実施フレームであった場合には、静止画用の画像処理を実施することなく、静止画用の画像処理のフローを終了し、元のフローに戻る。図11に示した相対駆動のタイミングチャートにおける動作と、図14に示したフローチャートにおける処理は、以下のように対応する。図15のステップS92:Yは、図11の時刻T4〜T6、T10〜T13に対応する。また、図15のステップS92:N→S93:N→S95:N→S97は、図11の時刻T7〜T10に対応する。
このように、図15に示す静止画用の画像処理のフローにおいては、相対駆動を行う場合の奇数フレーム、絞り駆動を行っているフレーム、および絶対駆動を行っている場合のフレームに対して、静止画用の画像処理を実施していない。これらの条件を満たす場合には、静止画用の画像処理を行わず静止画として記録していないので、十分な画質でない静止画を記録してしまうことを防止することができる。また、これらの画像処理を省略することから、画像処理による電源浪費を防止することができる。
次に、図16に示すフローチャートを用いて、ステップS55の静止画用の画像処理の変形例の詳しい動作について説明する。図16に示すフローチャートは、前述したように、図12に示す相対駆動を行うことが前提となっているシステムに適用される。この図16に示すフローチャートは、図15に示すフローチャートにおいて、ステップS92を削除し、ステップS96を追加した点で相違する。そこで、この相違点を中心に説明する。
図16に示す静止画用の画像処理のフローが開始すると、まず、絞り駆動実施フレームか否かを判定する(S93)。この判定の結果、絞り駆動実施フレームでない場合には、次に、絶対駆動実施フレームか否かを判定する(S95)。
ステップS95における判定の結果、絶対駆動実施フレームでない場合には、相対駆動量(像面移動量に換算)の絶対値が2Fδよりも大きいか否かを判定する(S96)。図12を用いて説明したように、焦点深度が所定値以下であれば、静止画の画質として問題とならない。ここでは、CPU212が、相対駆動量(像面移動量に換算)の絶対値が2Fδ(焦点深度)より大きいか否かを判定している。なお、Fは絞り値、δは許容錯乱円径である。
ステップS96における判定の結果、相対駆動量(像面移動量に換算)の絶対値が2Fδより大きくない場合には、静止画用の画像処理を実施する(S97)。静止画用の画像処理を施し、静止画を記録すると、静止画用の画像処理のフローを終了し、元のフローに戻る。一方、ステップ93における判定の結果、絞り実施フレームであった場合、またはステップS95における判定の結果、絶対駆動実施フレームであった場合、または相対駆動量の絶対値が2Fδよりも大きい場合には、静止画用の画像処理を施すことなく、静止画用の画像処理のフローを終了し、元のフローに戻る。図12に示した相対駆動のタイミングチャートにおける動作と、図16に示したフローチャートにおける処理は、図16のS93:N→S95:N→S96:N→S97を繰り返し実行する動作が対応する。
このように、図16に示す静止画用の画像処理のフローにおいては、絞り駆動を行っているフレーム、絶対駆動を行っている場合のフレーム、および相対駆動量(像面移動量に換算)の絶対値が2Fδより大きいフレームに対して、静止画用の画像処理を実施していない。これらの条件を満たす場合には、静止画として記録していないので、十分な画質でない静止画を記録してしまうことを防止することができる。また、これらの画像処理を省略することから、画像処理のための電源浪費を防止することができる。図15では偶数フレームのみに対して画像処理を実施していたが、図16においては、偶数フレームも奇数フレームも画像処理を実施している。このため、図16における連写速度は、図15と比較して2倍速くなる。
このように、本発明の一実施形態においては、連写CAF(コンティニュアスAF)中に、交互読みを実施する。この場合の交互読み出しは、静止画露光の読出しと位相差検出用露光(PD分割露光)の読出しを交互に行うことをいう。撮像素子208と撮影レンズ102aは、同期をとってレンズ駆動を実施する(図7のレンズ同期信号を参照)。そして、大きくフォーカスレンズを駆動する場合(絶対駆動、図8参照)や、絞り駆動する場合は、静止画として残さないようにしている。すなわち、画処理を実施しない(図13BのS55、図15のS55Yes、S93Yesの場合にS97をスキップ参照)。これによって、画質を保証できないフレームに対して、画像処理を省略することから、画像処理のための電源浪費を防止することができる。また、不要な画像をメディア(記録媒体230)に保存しないことによって、ユーザがその不要な画像を削除する等の操作をしなくて済む。
また、本発明の一実施形態においては、レンズ駆動を実施する際に、被写体移動速度に合わせて、等速駆動指示(スキャン駆動指示)を行う(図9参照)。また、被写体の移動速度が変わった場合や、デフォーカス量が変化した場合は、駆動速度を変更する(図10参照)。これによって、被写体の前後の移動速度に対してスキャン駆動指示を適宜更新することができ、きめ細かに追従することが可能となり、静止画画像の品位を確保することができる。
また、本発明の一実施形態においては、相対駆動の場合であって、フォーカスレンズの微小駆動を実施する場合は、静止画露光の2フレームに1回はレンズ駆動を実施せず、もう片方のフレームでレンズ駆動を実施する(図11参照)。レンズ駆動中の静止画露光は、ライブビュー表示のみに用い、レンズ駆動を行わないフレームにて静止画露光を実施する(図11、図15のS92、S97参照)。
また、本発明の一実施形態においては、フォーカスレンズの極微小駆動を実施する場合は、毎フレーム、静止画露光を実施する(図12、図16参照)。
以上説明したように、本発明の一実施形態において、撮像素子は、1個のマイクロレンズに対して撮像光学系の異なる射出瞳領域を通過するそれぞれの光束を光電変換して画素信号を生成するように、所定の瞳分割方向に分割された複数のフォトダイオードを配置している(図3、図4参照)。また、この撮像素子は、瞳分割方向に対応する画素信号を合成した画素信号を生成し出力する第1の撮像動作と、瞳分割方向に対応する画素信号を生成し出力する第2の撮像動作とを交互に繰り返し実行する撮像モードが設定することができる。例えば、図5に示すように、時刻T1〜T2、T4〜T5、T7〜T8、T10〜T11の静止画用の撮像動作と、時刻T3〜T4、T6〜T7、T9〜T10の位相差検出用の撮像動作が実行される。前述した特許文献3では、フォーカス・測光処理用センサ駆動の画素信号を用いてLV表示を行っており、フォーカス用に分割PDに適正な露光制御を行うので、表示用としての品位が低下してしまう。しかし、本実施形態においては、フォーカス制御を行うための露光(位相差検出用の撮像動作)と、測光のための露光(静止画用の撮像動作)は、別々のタイミングで行うので、表示用の画像についても適正露光することができ、表示画像の品位が低下することがない。
また、本発明の一実施形態において、制御部(例えば、CPU212)は、撮像素子から第1の撮像動作によって出力される画素信号に基づく画像データを表示、または静止画として記録するための処理を行い、第2の撮像動作によって出力される画素信号に基づいて焦点検出を行って焦点調節データを生成し、フォーカス制御を実行している。例えば、図5において、時刻T1〜T2、T4〜T5、T7〜T8、T10〜T11の静止画用の撮像動作を行い、時刻T3〜T4、T6〜T7、T9〜T10の位相差検出用の撮像動作を行っている(例えば、図13BのS43参照)。すなわち、静止画記録用の処理と、フォーカス制御ための処理を、別々のタイミングで行っている。このため、静止画記録用の画像の品位を維持しつつ、位相差検出のための処理も最適化することができる。
また、本発明の一実施形態において、制御部(例えば、CPU212)は、焦点調節データに基づいてフォーカス移動量を演算し、フォーカス移動量が所定値より大きく、かつ、フォーカス移動量に基づくフォーカス制御と第1の撮像動作を並行して実行する場合は、第1の撮像動作の画素信号に基づく画像データに静止画として記録するための処理を禁止している(例えば、図8の絶対駆動、図15のS92Yesの場合にS97をスキップ)。このため、高速で連写を行いながら静止画の画質の劣化を防止することができる。
また、本発明の一実施形態において、制御部(CPU212)は、フォーカス移動量にかかわらず、第1の撮像動作の画素信号に基づく画像データに表示を行うための処理を実行している。例えば、図8において、時刻T4〜T5、時刻T7〜T8において取得した画像データに基づいて、静止画記録することは禁止しているが、ライブビュー表示は許可している。このため、連写している間であっても、ライブビュー表示が行われるので、ユーザは被写体を見ながら撮影することができる。
また、本発明の一実施形態において、制御部(CPU212)は、焦点調節データに基づき第1の撮像動作と並行してフォーカス制御を実行するか否かを判断し、繰り返し実行される第1の撮像動作のうちの現在の第1の撮像動作と並行してフォーカス制御を実行する場合に、続く第1の撮像動作と並行してフォーカス制御を実行しないようにしている。例えば、図11において、時刻T4〜T7はフォーカス駆動を行っているが、これに続く時刻T7〜T10においてはフォーカス駆動を禁止している。フォーカス駆動量が微小量の場合には、オーバーシュートする等、制御が乱れることがあり、静止画の画質が劣化してしまうことがある。これに対して本実施形態においては、オーバーシュート等の制御が乱れない程度の駆動量で、動体を追随することが可能となる。
また、本発明の一実施形態において、制御部(CPU212)は、繰り返し実行される第1の撮像動作と並行してフォーカス制御を行う場合に、デフォーカス量の変化量を所定値以下に制限してフォーカス制御を行うようにしている。例えば、図12の相対駆動では、デフォーカス量の変化量を所定値以下になるようしている。所定値以上となった場合には、静止画の記録を禁止している(例えば、図16のS96参照)。このため、静止画の画質が低下してしまうようなフォーカス駆動量の場合には、静止画記録を実施しない。
また、本発明の一実施形態において、制御部(CPU212)は、複数の焦点調節データに基づいて被写体に対応する像面移動速度を演算し、算出した像面移動速度に応じてフォーカス制御を行っている。例えば、図10において、時刻T7で像面移動速度が変化すると、レンズの駆動速度を変更している。このため、被写体の移動速度の変化に合わせてフォーカスレンズの移動速度を変化でき、連写で撮影される静止画の画質が低下してしまうようなことがない。
また、本発明の一実施形態においては、交換レンズは、撮像光学系に含まれるフォーカスレンズの位置を制御するフォーカスレンズ制御部を含んでいる(例えば、レンズCPU106参照)。このフォーカスレンズ制御部は、制御部と通信して撮像素子の第1の撮像動作および第2の撮像動作に同期してフォーカスレンズの位置制御を実行している。例えば、図7に示すレンズ同期信号に基づいて、交換レンズにおけるフォーカスレンズ位置制御が行われている。このため、カメラ本体からは、レンズ同期信号を基準に、フォーカスレンズの制御タイミングを通信で知らせるだけで、撮像動作とフォーカス動作を同期することができる。
なお、本発明の一実施形態において、レンズ駆動指示を出力する際や、静止画用の画像処理を実施するか否かを判定するにあたって、被写体距離、被写体移動速度、像面移動速度に基づいて判定していた。これらの判定は、適宜、組み合わせを変え、更に他の条件等を追加して行ってもよい。また、撮像素子の画像用画素は、全て焦点検出用画素に分割された構成としていた。しかし、一部を焦点検出用画素に分割し、他を分割しなくてもよい。また、本発明の一実施形態において、フォーカスレンズにより焦点調節(フォーカス動作)を行っているが、撮像素子を移動する機構を備え、撮像素子を光軸方向に移動させてもよい。
また、本発明の一実施形態においては、焦点検出回路218、画像処理回路214、画像圧縮展開部216、露出制御回路220等の全部またはCPU212およびその周辺回路と一体化してもよい。また、焦点検出回路218、画像処理回路214、画像圧縮展開部216、露出制御回路220等は、ヴェリログ(Verilog)によって記述されたプログラム言語に基づいて生成されたゲート回路等のハードウェア構成でもよく、またDSP(Digital Signal Processor)等のソフトを利用したハードウェア構成を利用してもよい。これらは適宜組み合わせてもよいことは勿論である。
また、本実施形態においては、撮影のための機器として、デジタルカメラを用いて説明したが、カメラとしては、デジタル一眼レフカメラでもミラーレスカメラでもコンパクトデジタルカメラでもよく、ビデオカメラ、ムービーカメラのような動画用のカメラでもよく、さらに、携帯電話、スマートフォン、携帯情報端末、パーソナルコンピュータ(PC)、タブレット型コンピュータ、ゲーム機器等に内蔵されるカメラ、医療用カメラ、顕微鏡等の科学機器用のカメラ、自動車搭載用カメラ、監視用カメラでも構わない。いずれにしても、記録用の露光を行う際に、焦点検出用の露光も行う撮影のための機器であれば、本発明を適用することができる。例えば、遠隔視覚検査用の工業用内視鏡や工業用ビデオスコープや医療用の内視鏡に本発明を適用し、位置が固定された被写体に対してファイバーやケーブルの先端のカメラ部の移動による被写体距離の変化に応じてフォーカス調整を行うようにしてもよい。その際に、記憶させた過去のピントずれ量演算の結果(フォーカス位置)の履歴に基づいて、今回の静止画の露光時におけるフォーカス位置を予測することにより、位置が固定している被写体に対する先端カメラ部の移動に対応して相対的に動体予測演算を行って、フォーカス調整を実行してもよい。
また、本明細書において説明した技術のうち、主にフローチャートで説明した制御に関しては、プログラムで設定可能であることが多く、記録媒体や記録部に収められる場合もある。この記録媒体、記録部への記録の仕方は、製品出荷時に記録してもよく、配布された記録媒体を利用してもよく、インターネットを介してダウンロードしたものでもよい。
また、本発明の一実施形態においては、フローチャートを用いて、本実施形態における動作を説明したが、処理手順は、順番を変えてもよく、また、いずれかのステップを省略してもよく、ステップを追加してもよく、さらに各ステップ内における具体的な処理内容を変更してもよい。
また、特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず」、「次に」等の順番を表現する言葉を用いて説明したとしても、特に説明していない箇所では、この順で実施することが必須であることを意味するものではない。
本発明は、上記実施形態にそのまま限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせによって、種々の発明を形成できる。例えば、実施形態に示される全構成要素の幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。