以下、図面を参照して本発明の実施形態について説明する。図1は、本発明の一実施形態に係る焦点検出装置を含む撮像装置の構成の一例を示すブロック図である。なお、図1中において、矢印付き実線はデータの流れを、矢印付き破線は制御信号の流れをそれぞれ示している。
図1に示すように、撮像装置1は、交換式レンズ100と、カメラ本体200とを有する。交換式レンズ100は、カメラ本体200に着脱できるように構成されている。交換式レンズ100とカメラ本体200とは、交換式レンズ100がカメラ本体200に装着されたときに、互いに通信できるように接続される。なお、撮像装置1は、必ずしもレンズ交換式の撮像装置でなくてもよい。例えば、撮像装置1は、レンズ一体型の撮像装置であってもよい。
交換式レンズ100は、撮像光学系102と、駆動部104と、レンズCPU106と、レンズ側記憶部108とを備える。ここで、交換式レンズ100の各ブロックは、例えばハードウェアによって構成されている。しかしながら、必ずしもハードウェアによって構成されている必要はなく、一部はソフトウェアによって構成されていてもよい。また、交換式レンズ100の各ブロックは、単一のハードウェア又はソフトウェアによって構成されていなくてもよく、複数のハードウェア又はソフトウェアによって構成されていてもよい。
撮像光学系102は、被写体からの光束をカメラ本体200の撮像素子208に結像させるための光学系である。撮像光学系102は、フォーカスレンズ1021と、絞り1022とを有する。フォーカスレンズ1021は、光軸方向に移動することによって、撮像光学系102の焦点位置を調節できるように構成されている。
絞り1022は、フォーカスレンズ1021の光軸上に配置される。絞り1022の口径は可変である。絞り1022は、フォーカスレンズ1021を通過して撮像素子208に入射する被写体からの光束の量を調節する。駆動部104は、レンズCPU106から出力される制御信号に基づいて、フォーカスレンズ1021と絞り1022とを駆動する。ここで、撮像光学系102は、ズームレンズとして構成されていてもよい。この場合、駆動部104はズーム駆動も行う。
レンズCPU106は、インターフェイス(I/F)110を介してカメラ本体200のCPU212との間で通信できるように構成されている。レンズCPU106は、カメラ本体200のCPU212の制御に従って駆動部104を制御する。また、レンズCPU106は、I/F110を介して絞り1022の絞り値(F値)及びレンズ側記憶部108に記憶されているレンズ情報といった情報をCPU212に送信する。なお、レンズCPU106は、必ずしもCPUとして構成されていなくてもよい。すなわち、レンズCPU106と同様の機能は、ASIC、FPGA等によって実現されてもよい。また、レンズCPU106と同様の機能は、ソフトウェアによって実現されてもよい。
レンズ側記憶部108は、交換式レンズ100に関するレンズ情報を記憶している。レンズ情報は、例えば撮像光学系102の焦点距離の情報や収差の情報を含む。
カメラ本体200は、メカシャッター202と、駆動部204と、操作部206と、撮像素子208と、手振れ補正回路210と、CPU212と、画像処理回路214と、画像圧縮展開部216と、焦点検出回路218と、露出制御回路220と、表示部222と、バス224と、DRAM226と、本体側記憶部228と、記録媒体230とを有する。ここで、カメラ本体200の各ブロックは、例えばハードウェアによって構成されている。しかしながら、必ずしもハードウェアによって構成されている必要はなく、一部はソフトウェアによって構成されていてもよい。また、カメラ本体200の各ブロックは、単一のハードウェア又はソフトウェアによって構成されていなくてもよく、複数のハードウェア又はソフトウェアによって構成されていてもよい。
メカシャッター202は、開閉自在に構成され、撮像素子208への被写体からの光束の入射時間(撮像素子208の露光時間)を調節する。メカシャッター202としては、例えばフォーカルプレーンシャッターが採用される。駆動部204は、CPU212からの制御信号に基づいてメカシャッター202を駆動する。
操作部206は、電源ボタン、レリーズボタン、動画ボタン、再生ボタン、メニューボタンといった各種の操作ボタン及びタッチパネル等の各種の操作部材を含む。この操作部206は、各種の操作部材の操作状態を検知し、検知結果を示す信号をCPU212に出力する。
撮像素子208は、撮像光学系102の光軸上であって、メカシャッター202の後方で、かつ、撮像光学系102によって被写体からの光束が結像される位置に配置されている。撮像素子208は、被写体を撮像して被写体に係る画素信号を生成する。撮像素子208については後で詳しく説明する。
手振れ補正回路210は、カメラ本体200に発生した手振れが抑制されるように、撮像素子208をその受光面と平行な方向に移動させる。手振れに従って撮像素子208が移動されることにより、手振れに起因して画像データに発生する被写体像のぶれが抑制される。なお、手振れ補正回路は、交換式レンズ100に設けられていてもよい。この場合の手振れ補正回路は、撮像光学系102に含まれる手振れ補正光学系を移動させるように構成される。
CPU212は、本体側記憶部228に記憶されているプログラムに従ってカメラ本体200の全体制御を行う。CPU212は、例えば撮像素子208による撮像を制御する。また、CPU212は、焦点検出回路218によって検出されたフォーカスレンズ1021の焦点状態に応じて、フォーカスレンズ1021を駆動するための制御信号をレンズCPU106に対して出力する。また、CPU212は、露出制御回路220によって算出された露出設定値をレンズCPU106及び撮像素子208に対して出力する。ここで、CPU212は、必ずしもCPUとして構成されていなくてもよい。すなわち、CPU212と同様の機能は、ASIC、FPGA等によって実現されてもよい。また、CPU212と同様の機能は、ソフトウェアによって実現されてもよい。
画像処理回路214は、画素データに対して各種の画像処理を施す。例えば画像処理回路214は、静止画撮影の際には、静止画記録用の画像処理を施して静止画データを生成する。同様に、画像処理回路214は、動画撮影の際には、動画記録用の画像処理を施して動画データを生成する。さらに、画像処理回路214は、ライブビュー表示時には、表示用の画像処理を施して表示画像データを生成する。
画像圧縮展開部216は、画像データの記録時には、画像処理回路214で生成された画像データ(静止画データ又は動画データ)を圧縮する。また、画像データの再生時には、記録媒体230に圧縮状態で記録された画像データを伸張する。
焦点検出回路218は、撮像素子208から出力される焦点検出画素データを用いた公知の位相差方式によってフォーカスレンズ1021の焦点検出を行う。
測光部としての露出制御回路220は、撮像素子208の画素データに基づいて露出設定値を算出する。この露出制御回路220は、撮像素子208の画素データから被写体輝度を測定し、測定した被写体輝度から撮影時の被写体の輝度を適正値にするために必要な露出設定値を算出する。露出設定値は、絞り1022の開口量(絞り値)、撮像素子208の露光時間(シャッタースピード)を含む。
表示部222は、例えば液晶ディスプレイや有機ELディスプレイといった表示部であって、例えばカメラ本体200の背面に配置される。この表示部222は、CPU212の制御に従って画像を表示する。表示部222は、ライブビュー表示や記録済み画像の表示等に使用される。
バス224は、撮像素子208、CPU212、画像処理回路214、画像圧縮展開部216、焦点検出回路218、露出制御回路220、表示部222、DRAM226、本体側記憶部228、記録媒体230に接続され、これらのブロックで発生した各種のデータを転送するための転送路として動作する。
DRAM226は、電気的に書き換えできるメモリであり、撮像素子208から出力される画素データ、静止画データ、動画データ、表示画像データ、CPU212における処理データといった各種データを一時的に記憶する。なお、一時記憶用としてSDRAMが用いられてもよい。
本体側記憶部228は、CPU212で使用されるプログラム、カメラ本体200の調整値等の各種データを記憶している。記録媒体230は、カメラ本体200に内蔵されるか又は装填されるように構成されており、記録用の画像データを所定の形式の画像ファイルとして記録する。なお、DRAM226、本体側記憶部228及び記録媒体230は、それぞれ1つのメモリ等で構成されてもよいし、複数のメモリ等が組み合わされて構成されてもよい。
次に、撮像素子208について説明する。図2は、一例の撮像素子208の構成を示す図である。図2に示すように、撮像素子208は、入力回路301と、制御回路302と、画素部303と、垂直走査回路304と、アナログ処理回路305と、アナログデジタル変換(ADC)処理回路306と、メモリ回路307と、水平走査回路308と、出力回路309とを有する。ここで、本実施形態における撮像部は、画素部303を有して構成されている。撮像部は、垂直走査回路304、アナログ処理回路305、ADC処理回路306、メモリ回路307をさらに有していてもよい。また、アナログ処理回路305及びADC処理回路306は、撮像素子208の外部に設けられていてもよい。
入力回路301は、CPU212から撮像素子208の動作に係る制御信号を受け取って、制御回路302に入力する。この動作に係る制御信号は、同期信号(垂直同期信号及び水平同期信号)及び基準クロック並びに撮像素子208の動作設定の信号を含む。
制御回路302は、例えばCPU又はASIC又はロジック回路(デジタル回路)によって構成され、入力回路301から入力された制御信号に基づいて撮像素子208の各部の動作を制御する。
画素部303は、2次元状に複数配置され、入射光を光電変換して画素信号を生成する。図3は、画素部303の詳細な構成を示す図である。ここで、図3の左側は画素部303を正面から見た図を示し、図3の右側は画素部303を側面から見た図を示している。図3に示すように、画素部303は、マイクロレンズ303aと、カラーフィルタ303bと、画素303cとを有している。
マイクロレンズ303aは、撮像光学系102を通過した光束を対応する画素303cの受光部に集光させる。後で説明するように、1個の画素303cは、水平2個×垂直2個に瞳分割された4個の受光部によって構成されている。マイクロレンズ303aは、撮像光学系102の異なる射出瞳領域を通過した光束を異なる受光部に集光させる。
カラーフィルタ303bは、例えば原色系のベイヤ配列のカラーフィルタである。原色系のベイヤ配列は、赤(R)フィルタ及び緑(Gr)フィルタを交互に配列した行と、青(B)フィルタ及び緑(Gb)フィルタを交互に配列した行とを列方向に交互に配置した配列である。図3に示すように、カラーフィルタ303bの1色は、1個の画素303cと対応している。したがって、画素303cを構成する4個の受光部には同じ色の光が入射する。なお、カラーフィルタ303bは、必ずしも原色系のベイヤ配列のカラーフィルタでなくてもよい。
画素303cは、第1の瞳分割方向である水平方向と第2の瞳分割方向である垂直方向とのそれぞれに分割して配置された4個の受光部lt、rt、lb、rbによって構成されている。図では、「lt」、「rt」、「lb」、「rb」の表記は、カラーフィルタの色を表す「R」、「Gr」、「Gb」、「B」に添えて記されている。受光部lt、rt、lb、rbは、被写体の同一の部分から射出された光束を受光する。受光部lt、rt、lb、rbのそれぞれは例えばフォトダイオードによって構成され、受光した光束に応じて蓄積された電荷に基づく画素信号を出力する。ここで、受光部ltは、射出された光束のうち、撮像光学系102の右下の射出瞳領域を通過した光束を受光する。受光部rtは、射出された光束のうち、撮像光学系102の左下の射出瞳領域を通過した光束を受光する。受光部lbは、射出された光束のうち、撮像光学系102の右上の射出瞳領域を通過した光束を受光する。受光部rbは、射出された光束のうち、撮像光学系102の左上の射出瞳領域を通過した光束を受光する。
画素303cが4個の受光部lt、rt、lb、rbに分割されている構造により、画素303cを位相差検出のための左右開口画素と上下開口画素の何れとしても扱うことができる。左右開口画素とは、撮像光学系の左側の射出瞳領域を通過した光束を受光する画素と撮像光学系の右側の射出瞳領域を通過した光束を受光する画素との対である。上下開口画素とは、撮像光学系の上側の射出瞳領域を通過した光束を受光する画素と撮像光学系の下側の射出瞳領域を通過した光束を受光する画素との対である。画素303cを左右開口画素と上下開口画素の何れとして扱うかは、制御回路302からの制御信号によって切り替えられる。また、4個の受光部lt、rt、lb、rbを全て合わせた全開口画素としても扱うことが可能であり、制御回路302からの制御信号により設定することができる。この場合は、位相差情報が不要な静止画撮影用の画素として使用される。
画素303cが左右開口画素として取り扱われるときには、制御回路302は、図4Aの左側で示すようにして左半分の受光部である受光部lt(Rlt、Grlt、Gblt、Blt)の画素信号と受光部lb(Rlb、Grlb、Gblb、Blb)の画素信号とを加算(混合)して出力させるとともに、右半分の受光部である受光部rt(Rrt、Grrt、Gbrt、Brt)の画素信号と受光部rb(Rrb、Grrb、Gbrb、Brb)の画素信号とを加算して出力させる。これにより、図4Aの右側で示すようにして、撮像光学系の右側の射出瞳領域を通過した光束の情報を有する左開口画素信号l(Rl、Grl、Gbl、Bl)と撮像光学系の左側の射出瞳領域を通過した光束の情報を有する右開口画素信号r(Rr、Grr、Gbr、Br)とがそれぞれ出力される。
画素303cが上下開口画素として取り扱われるときには、制御回路302は、図4Bの左側で示すようにして上半分の受光部である受光部lt(Rlt、Grlt、Gblt、Blt)の画素信号と受光部rt(Rrt、Grrt、Gbrt、Brt)の画素信号とを加算(混合)して出力させるとともに、下半分の受光部である受光部lb(Rlb、Grlb、Gblb、Blb)の画素信号と受光部rb(Rrb、Grrb、Gbrb、Brb)の画素信号とを加算して出力させる。これにより、図4Bの右側で示すようにして、撮像光学系の下側の射出瞳領域を通過した光束の情報を有する上開口画素信号t(Rt、Grt、Gbt、Bt)と撮像光学系の上側の射出瞳領域を通過した光束の情報を有する下開口画素信号b(Rb、Grb、Gbb、Bb)とがそれぞれ出力される。また、画素303cが全開口画素として取り扱われるときには、制御回路302は、左半分の受光部である受光部lt(Rlt、Grlt、Gblt、Blt)の画素信号と受光部lb(Rlb、Grlb、Gblb、Blb)の画素信号と、右半分の受光部である受光部rt(Rrt、Grrt、Gbrt、Brt)の画素信号と受光部rb(Rrb、Grrb、Gbrb、Brb)の画素信号とを加算して出力させる。
さらに、本実施形態の画素部303は、異なる画素部303の間でも画素信号を加算して出力できるようにも構成されていてよい。例えば、画素部303は、水平方向又は垂直方向に存在する複数の左開口画素同士又は右開口同士の画素信号を加算して出力したり、水平方向又は垂直方向に存在する複数の上開口同士又は下開口画素同士の画素信号を加算して出力したりするように構成されていてもよい。画素信号の加算数は、例えば制御回路302によって設定される。画素信号を加算してから読み出すことにより、読み出し時間を短縮することができる。なお、読み出し時間に余裕があるときには、画素部303の間での画素信号の加算は行われなくてもよい。
垂直走査回路304は、制御回路302からの制御信号としての蓄積開始信号を受ける毎に1行ずつ画素部303の画素303cに蓄積された電荷をリセットしてから画素部303における電荷の蓄積を開始させる。また、垂直走査回路304は、制御回路302からの制御信号としての蓄積終了信号を受ける毎に1行ずつ画素部303の画素303cにおける電荷の蓄積を終了させ、蓄積された電荷を画素信号としてアナログ処理回路305に転送させる。
アナログ処理回路305は、画素部303から順次に転送された画素信号に対してアナログ処理をする。アナログ処理回路305は、例えば、画素信号をアナログ的に増幅するプリアンプ、画素信号からリセットノイズを除去する相関二重サンプリング(CDS)処理回路等を含む。
ADC処理回路306は、制御回路302からの制御信号に従ってアナログ処理回路305から出力された画素信号をデジタル信号である画素データに変換する。このADC処理回路306は、例えばカラム型ADC処理回路として構成されている。
メモリ回路307は、制御回路302からの制御信号に従ってADC処理回路306から出力された画素データを一時的に記憶する。メモリ回路307は、揮発性メモリ等で構成されている。メモリ回路307は、画素データのデジタル加算を行うように構成されていてもよい。この場合、メモリ回路307は、ADC処理回路306から出力される画素データの加算値を記憶するように構成される。
水平走査回路308は、制御回路302からの制御信号を受けてメモリ回路307に記憶されている画素データを列順で出力回路309に転送させる。
出力回路309は、水平走査回路308によって転送された画素データを配列して画素データ列を生成する。また、出力回路309は、画素データ列をシリアル信号及び差動信号等の所定の出力信号形式に変換して出力する。
以下、本実施形態に係る撮像装置1の動作を説明する。図5A及び図5Bは、本実施形態に係る撮像装置の動作について示すフローチャートである。ここで、図5A及び図5Bは、撮像装置1のAFモードがコンティニュアスAFモードであるときの動作を示している。コンティニュアスAFモードは、動く被写体に対して適したAFモードであり、被写体に追従するようにピント合わせを続けるAFモードである。
図5A及び図5Bの動作は、ユーザによる撮像装置1の電源のオン操作が検出されたときに開始される。電源のオン操作が検出されると、ステップS101において、CPU212は、レリーズボタンの1stレリーズスイッチがオンの状態であるか否かを判定する。1stレリーズスイッチは、例えばユーザによるレリーズボタンの半押し操作に応答してオンの状態となるスイッチである。ステップS101において、1stレリーズスイッチがオンの状態であると判定されたときには、処理はステップS104に移行する。ステップS101において、1stレリーズスイッチがオンの状態でないと判定されたときには、処理はステップS102に移行する。
ステップS102において、CPU212は、ライブビュー(LV)表示のための表示画素データの取り込みを行う。このとき、CPU212は、メカシャッター202を全開状態とするように駆動部204に対して制御信号を出力するとともに、絞り1022を所定量(例えば開放絞り)だけ駆動するようにレンズCPU106に対して制御信号を出力する。その後、CPU212は、撮像素子208に対して制御信号を出力して撮像素子208によるLV表示のための撮像を開始させる。そして、LV表示のための撮像が完了する毎に、制御回路302は、画素部303からの画素信号の読み出しを開始させる。なお、画素信号の読み出しに際し、制御回路302は、画素部303の画素303cから出力される同一開口(同色)の画素信号を加算させるようにしてもよい。撮像素子208から出力された表示画素データは、DRAM226に記憶される。
ステップS103において、CPU212はLV表示を行う。このとき、CPU212は、画像処理回路214に表示画像データを生成させる。これを受けて、画像処理回路214は、表示画素データに対して必要な処理を行って表示のための表示画像データを生成する。表示画像データは、同一の画素部303に属する受光部lt、rt、lb、rbの画素データを加算平均することで得られる。CPU212は、画像処理回路214で生成された表示画像データに基づいて表示部222にLV画像を表示させる。その後、処理は、ステップS126に移行する。
ステップS104において、CPU212は、オートフォーカス(AF)及びLV表示のための撮像と読み出しを行う。ステップS104のAF及びLV表示のための撮像と読み出し処理については後で詳しく説明する。ここでは、AFのための撮像と読み出しによってAFのための焦点検出画素データがDRAM226に記憶され、LVのための撮像と読み出しによって表示のための表示画素データがDRAM226に記憶されたものとして説明を続ける。
ステップS105において、CPU212は、LV表示を行う。
ステップS106において、CPU212は、焦点検出回路218による焦点検出演算を実行させる。焦点検出回路218は、DRAM226に記憶されている焦点検出画素データのうちの対をなす焦点検出画素データを用いて相関演算を行う。水平方向の位相差検出の場合の対をなす焦点検出画素データは左開口画素データlと右開口画素データrであり、垂直方向の位相差の検出の場合の対をなす焦点検出画素データは上開口画素データtと下開口画素データbである。相関演算の後、焦点検出回路218は、焦点検出の信頼性判定を行う。信頼性判定は、例えば画素データから得られるコントラスト、相関演算の結果として算出される相関値に基づいて判定される。
ステップS107において、焦点検出回路218は、ピントずれ量演算を行う。すなわち、焦点検出回路218は、ステップS106における信頼性判定の結果、信頼性が高いと判定された焦点検出領域における2像間隔値(相関値の極値に対応した像ずれ量)からフォーカスレンズ1021の合焦位置に対するピントずれ量を算出する。その後、処理はステップS108に移行する。
ステップS108において、焦点検出回路218は、フォーカスレンズ1021の駆動に用いるフォーカスレンズ位置に対応する焦点検出領域を選択するためのエリア選択処理を行う。エリア選択処理の後、処理はステップS109に移行する。エリア選択処理は、例えば、最も近い被写体距離に対応した(すなわち最至近の)フォーカスレンズ位置に対応するピントずれ量を示す焦点検出領域を選択することで行われる。
ステップS109において、CPU212は、フォーカスレンズ1021が合焦状態であるか否かを判定する。ステップS109における判定は、例えばエリア選択処理において選択された焦点検出領域におけるピントずれ量が予め定められた許容範囲内であるか否かを判定することによって行われる。ピントずれ量が許容範囲内であるときには合焦状態であると判定される。ステップS109において、フォーカスレンズ1021が合焦状態でないと判定されたときには処理はステップS110に移行する。ステップS109において、フォーカスレンズ1021が合焦状態であると判定されたときには処理はステップS111に移行する。
ステップS110において、CPU212は、ステップS108において選択された焦点検出領域について算出されたフォーカスレンズ位置に応じてフォーカスレンズ1021が駆動されるよう、レンズCPU106に対して制御信号を出力する。レンズCPU106は、この制御信号を受けて、駆動部104を介してフォーカスレンズ1021を駆動する。その後、処理は、ステップS126へ移行する。
ステップS111において、CPU212は、ステップS104と同様のオートフォーカス(AF)及びLV表示のための撮像と読み出しを行う。ここでは、AFのための撮像と読み出しによって焦点検出画素データがDRAM226に記憶され、LVのための撮像と読み出しによって表示画素データがDRAM226に記憶されたものとして説明を続ける。
ステップS112において、CPU212は、LV表示を行う。
ステップS113において、CPU212は、焦点検出回路218による焦点検出演算を実行させる。焦点検出回路218は、DRAM226に記憶されている焦点検出画素データのうちの対をなす焦点検出画素データを用いて相関演算を行う。相関演算の後、焦点検出回路218は、焦点検出の信頼性判定を行う。ステップS114において、焦点検出回路218は、ピントずれ量演算を行う。ステップS115において、焦点検出回路218は、エリア選択処理を行う。
ステップS116において、焦点検出回路218は、焦点検出に係る情報を履歴情報として例えばDRAM226に保存する。焦点検出に係る情報は、例えばステップS114で算出されたピントずれ量の情報及びステップS115で選択された焦点検出領域の情報を含む。
ステップS117において、CPU212は、2ndレリーズスイッチがオンされているか否かを判定する。2ndレリーズスイッチは、例えばユーザによるレリーズボタンの全押し操作に応答してオンの状態となるスイッチである。ステップS117において、2ndレリーズスイッチがオンの状態でないと判定されたときには、処理はステップS118に移行する。ステップS117において、2ndレリーズスイッチがオンの状態であると判定されたときには、処理はステップS120に移行する。
ステップS118において、CPU212は、フォーカスレンズ1021が合焦状態であるか否かを判定する。ステップS118において、フォーカスレンズ1021が合焦状態でないと判定されたときには処理はステップS119に移行する。ステップS118において、フォーカスレンズ1021が合焦状態であると判定されたときには処理はステップS125に移行する。
ステップS119において、CPU212は、ステップS115において選択された焦点検出領域について算出されたフォーカスレンズ位置に応じてフォーカスレンズ1021が駆動されるよう、レンズCPU106に対して制御信号を出力する。レンズCPU106は、この制御信号を受けて、駆動部104を介してフォーカスレンズ1021を駆動する。その後、処理は、ステップS125に移行する。
ステップS120において、CPU212は、焦点検出回路218よる動体予測演算を実行させる。これを受けて、焦点検出回路218は、動体予測演算を行う。動体予測演算は、ステップS116で記憶させておいた過去のピントずれ量演算の結果(フォーカスレンズ位置)の履歴から今回のフォーカスレンズ1021の駆動すべき位置を予測する処理である。
ステップS121において、CPU212は、静止画取得のための撮像(本露光)を行うために、メカシャッター202の動作を開始させる。このメカシャッター202の動作は、本露光の前後のメカシャッター202の開閉動作と、本露光の後でライブビュー及びAFのための撮像を開始するためのメカシャッター202の全開動作とを含む。CPU212は、まず、メカシャッター202を全閉状態とするように駆動部204の制御信号を切り替える。そして、ステップS123で本露光を行った後に、CPU212は、メカシャッター202を全開状態とするように駆動部204を制御する。
ステップS122において、CPU212は、レンズCPU106に対してフォーカスレンズ1021及び絞り1022を同時駆動させるように指示して動作を開始させる。ここで、フォーカスレンズ1021の駆動位置は、ステップS120の動体予測演算において予測された位置である。また、絞り1022の開口量は、直前の測光演算によって測定された被写体輝度に基づいて算出された絞り値に応じた開口量である。
ステップS123において、CPU212は、本露光を開始させる。本露光は、記録用の画像データを取得するための撮像である。本露光において、CPU212は、撮像素子208の撮像を開始させる。露光期間の終了後、制御回路302は、撮像素子208の各受光部から画素信号を静止画画素信号として読み出す。静止画画素信号の読み出し後、CPU212は、記録用の画像画素信号を生成するための処理を画像処理回路214に行わせる。これを受けて、画像処理回路214は、記録用の画像データの生成に必要な処理を行って記録用の静止画データを生成する。画像処理の完了後、CPU212は、画像圧縮展開部216によって記録用の静止画データを圧縮する。圧縮の完了後、CPU212は、圧縮された記録用の静止画データを画像ファイルとして記録媒体230に記録する。
ステップS124において、CPU212は、レンズCPU106に対して絞り1022を開放させるように指示する。
ステップS125において、CPU212は、1stレリーズスイッチがオンの状態であるか否かを判定する。ステップS125において、1stレリーズスイッチがオンの状態であると判定されたときには、処理はステップS111に戻る。この後、2ndレリーズスイッチがオンの状態であれば連続的に静止画撮影が行われることになる。ステップS125において、1stレリーズスイッチがオンの状態でないと判定されたときには、処理はステップS126に移行する。
ステップS126おいて、CPU212は、カメラ本体200の電源をオフするか否かを判定する。例えば、ユーザの操作部206の操作によって電源のオフが指示された場合又は所定時間のユーザの操作部206の操作がない場合には電源をオフすると判定される。ステップS126において、カメラ本体200の電源をオフしないと判定されたときには、処理はステップS101に戻る。ステップS126において、カメラ本体200の電源をオフすると判定されたときには、処理は終了する。
次に、ステップS104及びステップS111の処理について説明する。図6は、ステップS104及びステップS111のAF及びLV表示のための撮像と読み出し処理を示すフローチャートである。本実施形態では画素信号を高速で読み出す必要がある場合と画素信号を高速で読み出すよりも焦点検出性能が重視される場合とで異なる撮像及び読み出しが行われる。
ステップS201において、制御回路302は、高速読み出し条件を満たすか否かを判定する。高速読み出し条件を満たすか否かの判定は、例えばCPU212から送られてくる情報に基づいて判定される。この情報は、連写速度の設定、絞り値、被写体輝度、ピント合わせの結果の履歴を含む。例えば、以下の(1)-(3)の条件をすべて満たす又は(4)の条件を満たすときには高速読み出し条件を満たすと判定される。ステップS201において、高速読み出し条件を満たすと判定されたときには、処理はステップS202に移行する。ステップS201において、高速読み出し条件を満たさないと判定されたときには、処理はステップS203に移行する。
(1) 連写速度(フレームレート)が所定値以上
(2) 絞り値(Fナンバー)が所定値以下
(3) 被写体輝度が所定値以上
(4) 所定回数連続してピントずれ量を検出できない
(1)の条件である連写速度は、連写の間隔に対応している。本露光のフレームレートが高い、すなわち連写の間隔が短い場合には、AFのための露光時間を短くしつつ、高速読み出をすることによってAFにかかる時間を短縮することが望ましい。(2)の条件である絞り値は、例えばFナンバーによって表される。絞り値が所定値以下であれば、明るい像を取得しやすくなるので、AFのための露光時間が短くなっても焦点検出性能が確保され得る。(3)の条件である被写体輝度が所定値以上であれば、明るい像を取得しやすくなるので、AFのための露光時間が短くなっても焦点検出性能が確保され得る。なお、被写体輝度については、少なくともエリア選択処理で選択された焦点検出領域における被写体輝度が所定値以上であるか否かを判定する必要がある。全焦点検出領域における被写体輝度が所定値以上であるか否かを判定してもよいし、エリア選択処理で選択された焦点検出領域を含む周辺の焦点検出領域における被写体輝度が所定値以上であるか否かを判定してもよい。(4)の条件であるピントずれ量を検出できたか否かの判定は、例えば各焦点検出領域における被写体のコントラストが低い場合又は相関値の極小値が大きい場合といった信頼性がないと判定されたときにはピントずれ量を検出できなかったと判定される。
ステップS201において高速読み出し条件を満たすと判定されたときのステップS202において、制御回路302は、高速動作を行う。高速動作の終了後、処理は終了する。
以下、高速動作について説明する。図7は、高速動作について説明するためのタイミングチャートである。ここで、図7の「VD」は、制御回路302に入力される同期信号(垂直同期信号)のタイミングを示している。VD(1)はAFのための撮像と読み出しとを含む第1の動作のタイミングを示す垂直同期信号であり、VD(2)はLV表示のための撮像と読み出しとを含む第2の動作のタイミングを示す垂直同期信号である。高速動作において、第1の動作と第2の動作とは、垂直同期信号の入力に応じて交互に行われる。そして、第1の動作と第2の動作とは1フレームの間に1回ずつ行われる。この場合、ステップS104及びS111の処理は1フレーム毎に行われる。なお、1フレームの長さは、LV表示の画面の更新間隔及び連写時の連写間隔を示す連写速度等に応じて決められる。以下、高速動作における第1の動作及び第2の動作のそれぞれについて詳しく説明する。
まず、高速動作における第1の動作について説明する。図7のAF(rl)で示す第1の動作は、第1の瞳分割方向に関する焦点検出画素信号の生成と読み出しのための動作である。第1の瞳分割方向は、例えば画素部303の水平方向である。第1の動作に先立って、制御回路302は、画素部303から左開口画素信号l(Rl、Grl、Gbl、Bl)と右開口画素信号r(Rr、Grr、Gbr、Br)とが出力されるように画素部303の設定を切り替える。また、制御回路302は、画素信号の読み出し時間の短縮とS/Nの向上とを図るために、画素部303の間の画素加算の設定を行う。
ここで、画素加算の設定について説明する。以下の説明において、画素部303における画素加算の設定は、n/mに、水平方向を表す「H」又は垂直方向を表す「V」を付して表すこととする。ここで、nは加算に用いられる画素信号の数である。また、mは加算の対象となる画素信号の数である。例えば、V1/9画素加算の場合、垂直方向に並ぶ9個の同一開口の画素信号のうちの1個を加算する、すなわち9個のうちの1個の画素信号だけを読み出し、残りの8個を間引くことを表す。また、V5/9画素加算の場合、垂直方向に並ぶ9個の同一開口の画素信号のうちの5個を加算して読み出し、残りの4個を間引くことを示す。また、H1/1画素加算の場合、水平方向については加算及び間引きをせずに画素信号を読み出すことを示す。
図8は、高速動作における第1の動作の画素加算の設定の例を示している。図8に示す第1の動作では、第1の瞳分割方向である水平方向については加算が行われずに、第2の瞳分割方向である垂直方向についてだけ加算が行われるように設定がされる。図8の例では、水平方向については同一開口(左開口同士又は右開口同士)の画素信号を1/1画素加算(すなわち加算なしに)するように設定され、垂直方向については同一開口(左開口同士又は右開口同士)の画素信号を5/9画素加算するように設定されている。画素信号の加算数は例えばフレームレートに応じて適宜に設定される。
図8の設定により、画素信号の行数が圧縮される。画素信号の行数が減ることにより、画素信号の読み出し時間は短縮される。一方で、画素信号の列数は変わらないので水平方向の位相差の検出精度を確保することができる。さらに、後で説明するように、高速動作における第2の動作では、表示の際の表示品位の確保のために第2の瞳分割方向に関する焦点検出画素信号の生成と読み出しが行われない。このため、高速動作においては第1の動作で得られる焦点検出画素信号のみで被写体に対する焦点検出が行われる。ここで、高速動作における第1の動作においては、垂直方向の加算数は5画素以下に抑えられる。このように垂直方向の加算数が抑えられることにより、画素信号においては垂直方向の位相差の情報が残ることになる。このような画素信号に基づいて生成される焦点検出画素信号は、実質的に斜め方向の位相差の情報を有することになる。なお、図8の例では、垂直方向については5個の画素信号が加算されるように設定されているが、垂直方向の加算数は5画素以下であればよい。
図8のような設定の後、CPU212は、撮像素子208に対して焦点検出画素信号を生成するために必要な露光時間での撮像を行うように制御信号を出力する。この露光時間は、被写体輝度等に基づいて設定される。
CPU212からの制御信号の入力を受けて、制御回路302は、画素部303の行毎に撮像(電荷の蓄積)を開始させる。そして、制御回路302は、垂直走査回路304を制御し、撮像が完了した行の画素部303から順次に画素信号を出力させる。
ここで、水平方向の位相差の検出は、例えばGrの左開口画素信号Grlと右開口画素信号Grrの対及びGbの左開口画素信号Gblと右開口画素信号Gbrの対を用いて行われる。すなわち、Rの左開口画素信号Rlと右開口画素信号Rrの対及びBの左開口画素信号Blと右開口画素信号Brの対は必ずしも読み出される必要はない。したがって、読み出しの際には、図9に示すようにして左開口画素信号Grlと右開口画素信号Grrの対及び左開口画素信号Gblと右開口画素信号Gbrの対だけが詰めて読み出されてもよい。勿論、左開口画素信号Rlと右開口画素信号Rrの対及び左開口画素信号Gblと右開口画素信号Gbrの対も併せて読み出されてもよい。
画素部303から読み出された画素信号は、アナログ処理回路305においてアナログ処理される。アナログ処理された画素信号は、ADC処理回路306においてデジタル信号である画素データに変換される。画素データは、メモリ回路307に記憶される。前述したように、図8で示した加算は、メモリ回路307において行われてもよい。
水平走査回路308は、制御回路302からの制御信号を受けてメモリ回路307に記憶されている画素データを列順で出力回路309に転送させる。出力回路309は、水平走査回路308によって転送された画素データを配列して画素データ列を生成し、生成した画素データ列をシリアル信号及び差動信号等の所定の出力信号形式に変換して出力する。この画素データ列は、例えば図9に示すようにしてDRAM226に記憶される。このようにして第1の動作は完了する。
第1の動作によってDRAM226に記憶された画素データ列は、ピントずれ量算出のための相関演算に用いられる。焦点検出回路218は、DRAM226に記憶されている左開口画素データGrlと右開口画素データGrrの対及び左開口画素データGblと右開口画素データGbrの対を用いて相関演算を行う。
次に、高速動作における第2の動作について説明する。図7のLVで示す第2の動作は、表示画素信号の生成と読み出し(LV)のための動作である。高速動作では、後で説明するような第2の瞳分割方向に関する焦点検出画素信号の生成と読み出しは行われない。第2の動作に先立って、制御回路302は、画素部303から上開口画素信号t(Rt、Grt、Gbt、Bt)と下開口画素信号b(Rb、Grb、Gbb、Bb)とが出力されるように画素部303の設定を切り替える。また、制御回路302は、画素信号の読み出し時間の短縮を図るために、画素部303の間の画素加算の設定を行う。
図10は、高速動作における第2の動作の画素加算の設定の例を示している。高速動作における第2の動作では、画素信号は、表示画素信号の生成にだけ用いられる。表示画像データは、同一の画素部303に属する受光部lt、rt、lb、rbの画素データを加算平均することで得られる。したがって、制御回路302は、上下開口画素信号t及びb(図の「+」で結ばれている画素信号)を加算して画素部303から出力させるように設定する。また、制御回路302は、画素信号の読み出し時間の短縮を図るために、画素部303の間の画素加算の設定を行う。図10に示すように、高速動作における第2の動作では、第1の瞳分割方向である水平方向及び第2の瞳分割方向である垂直方向の両方で加算が行われるように設定がされる。図10の例では、水平方向についてはH3/3画素加算するように、また、垂直方向についてはV3/3画素加算するように設定されている。
図10の設定により、画素信号の行数及び列数はそれぞれ約3分の1に圧縮される。画素信号の行数及び列数が減ることにより、画素信号の読み出し時間は短縮される。なお、画素信号の加算数はこれに限定されない。ただし、第2の動作では、画素信号の加算数が多くなると表示の際の画質は劣化する。したがって、画素信号の加算数は、表示の際の画質と読み出し時間(フレームレート)とのトレードオフによって適宜に決められることが望ましい。なお、図10では、制御回路302は、上下開口画素信号t及びb(図の「+」で結ばれている画素信号)を加算して画素部303から出力させるように設定されているが、左右開口画素信号l及びrを加算して画素部303から出力させるように設定してもよい。また、制御回路302は、全開口画素信号を画素部303から出力させるように設定され、図10における「+」で結ばれた画素信号を加算した画素信号を、画素部303から出力させてもよい。
図10のような設定の後、CPU212は、撮像素子208に対して表示画素信号を生成するために必要な露光時間での撮像を行うように制御信号を出力する。この露光時間は、被写体輝度等に基づいて設定される。
CPU212からの制御信号の入力を受けて、制御回路302は、画素部303の行毎に撮像(電荷の蓄積)を開始させる。そして、制御回路302は、垂直走査回路304を制御し、撮像が完了した行の画素部303から順次に画素信号を出力させる。
画素部303から読み出された画素信号は、アナログ処理回路305においてアナログ処理される。アナログ処理された画素信号は、ADC処理回路306においてデジタル信号である画素データに変換される。画素データは、メモリ回路307に記憶される。第2の動作では、表示画像データのためR、Gr、Gb、Bの画素信号が必要となる。このため、メモリ回路307には、上開口画素信号Rtと下開口画素信号Rbの加算信号である画素信号R、上開口画素信号Grtと下開口画素信号Grbの加算信号である画素信号Gr、上開口画素信号Gbtと下開口画素信号Gbbの加算信号である画素信号Gb、上開口画素信号Btと下開口画素信号Bbの加算信号である画素信号Bのそれぞれが詰められずに記憶される。
水平走査回路308は、制御回路302からの制御信号を受けてメモリ回路307に記憶されている画素データを列順で出力回路309に転送させる。出力回路309は、水平走査回路308によって転送された画素データを配列して画素データ列を生成し、生成した画素データ列をシリアル信号及び差動信号等の所定の出力信号形式に変換して出力する。この画素データ列は、例えば図11に示すようにしてDRAM226に記憶される。このようにして第2の動作は完了する。
第2の動作によってDRAM226に記憶された画素データ列は、LV表示に用いられる。画像処理回路214は、DRAM226に記憶された画素データR、Gr、Gb、Bから表示画像データを生成する。
以上のような高速動作では、読み出し時間が短縮され得る。また、高速動作における第2の動作では、焦点検出画素信号の生成と読み出しは行われない。したがって、第2の動作では、焦点検出画素信号の生成と読み出しの分の時間を表示画素信号のための生成と読み出しに使用することができる。このため、高速動作を可能としつつ、表示の品質を高く保つことができる。一方で、第1の動作において垂直方向の加算数が抑えられていることにより、水平方向の位相差検出だけで精度よく被写体の焦点検出を行うことができる。
ここで、図6の説明に戻る。ステップS201において高速読み出し条件を満たさないと判定されたときのステップS203において、制御回路302は、低輝度動作を行う。低輝度動作の終了後、処理は終了する。
以下、低輝度動作について説明する。図12は、低輝度動作について説明するためのタイミングチャートである。ここで、図12の「VD」は、図7と同様に制御回路302に入力される同期信号(垂直同期信号)のタイミングを示している。VD(1)はAFのための撮像と読み出しとを含む第1の動作のタイミングを示す垂直同期信号であり、VD(2)はLV表示のための撮像と読み出しとを含む第2の動作のタイミングを示す垂直同期信号である。低輝度動作においても、第1の動作と第2の動作とは、垂直同期信号の入力に応じて交互に行われる。そして、第1の動作と第2の動作とは1フレームの間に1回ずつ行われる。この場合、ステップS104及びS111の処理は1フレーム毎に行われる。以下、低輝度動作における第1の動作及び第2の動作のそれぞれについて詳しく説明する。
まず、低輝度動作における第1の動作について説明する。図12のAF(rl)で示す第1の動作は、高速動作における第1の動作と同様の第1の瞳分割方向に関する焦点検出画素信号の生成と読み出しのための動作である。第1の動作に先立って、制御回路302は、画素部303から左開口画素信号l(Rl、Grl、Gbl、Bl)と右開口画素信号r(Rr、Grr、Gbr、Br)とが出力されるように画素部303の設定を切り替える。また、制御回路302は、画素信号の読み出し時間の短縮を図るために、画素部303の間の画素加算の設定を行う。
図13は、低輝度動作における第1の動作の画素加算の設定の例を示している。図13に示すように、第1の動作では、第1の瞳分割方向である水平方向については加算が行われずに、第2の瞳分割方向である垂直方向についてだけ加算が行われるように設定がされる。図13の例では、水平方向については同一開口(左開口同士又は右開口同士)の画素信号をH1/1画素加算するように設定され、垂直方向については同一開口(左開口同士又は右開口同士)の画素信号をV9/9画素加算するように設定される。なお、垂直方向の画素信号の加算数は例えばフレームレートに応じて適宜に設定される。
図13の設定により、画素信号の行数が9分の1に圧縮される。画素信号の行数が減ることにより、画素信号の読み出し時間は短縮される。一方で、画素信号の列数は変わらないので水平方向の位相差の検出精度は確保される。さらに、後で説明するように、低輝度動作における第2の動作では、第2の瞳分割方向に関する焦点検出画素信号の生成と読み出しが行われる。このため、低輝度動作における第1の動作では、水平方向の位相差を精度よく検出できればよい。したがって、低輝度動作における第1の動作では、垂直方向の加算数を多くすることでS/Nの向上が図られている。
図13のような設定の後、CPU212は、撮像素子208に対して焦点検出画素信号を生成するために必要な露光時間での撮像を行うように制御信号を出力する。この露光時間は、被写体輝度等に基づいて設定される。
CPU212からの制御信号の入力を受けて、制御回路302は、画素部303の行毎に撮像(電荷の蓄積)を開始させる。そして、制御回路302は、垂直走査回路304を制御し、撮像が完了した行の画素部303から順次に画素信号を出力させる。
ここで、水平方向の位相差の検出は、例えばGrの左開口画素信号Grlと右開口画素信号Grrの対及びGbの左開口画素信号Gblと右開口画素信号Gbrの対を用いて行われる。すなわち、Rの左開口画素信号Rlと右開口画素信号Rrの対及びBの左開口画素信号Blと右開口画素信号Brの対は必ずしも読み出される必要はない。一方で、図14に示すように、左開口画素信号Rlと右開口画素信号Rrの対及び左開口画素信号Gblと右開口画素信号Gbrの対も併せて読み出されてもよい。
画素部303から読み出された画素信号は、アナログ処理回路305においてアナログ処理される。アナログ処理された画素信号は、ADC処理回路306においてデジタル信号である画素データに変換される。画素データは、メモリ回路307に記憶される。前述したように、図13で示した加算は、メモリ回路307において行われてもよい。さらには、低輝度動作の第1の動作においては、撮像素子208から読み出された垂直方向に隣接する同一開口の画素データが、例えばメモリ回路307においてさらに加算されてもよい。これにより、さらなるS/Nの向上が図られる。
水平走査回路308は、制御回路302からの制御信号を受けてメモリ回路307に記憶されている画素データを列順で出力回路309に転送させる。出力回路309は、水平走査回路308によって転送された画素データを配列して画素データ列を生成し、生成した画素データ列をシリアル信号及び差動信号等の所定の出力信号形式に変換して出力する。この画素データ列は、例えば図14に示すようにしてDRAM226に記憶される。このようにして第1の動作は完了する。
第1の動作によってDRAM226に記憶された画素データ列は、ピントずれ量算出のための相関演算に用いられる。焦点検出回路218は、DRAM226に記憶されている左開口画素データGrlと右開口画素データGrrの対及び左開口画素データGblと右開口画素データGbrの対を用いて相関演算を行う。
次に、低輝度動作における第2の動作について説明する。図7のLVで示す第2の動作は、表示画素信号の生成と読み出し(LV)を主とした動作である。ただし、本実施形態では、第2の動作において第2の瞳分割方向に関する焦点検出画素信号の生成と読み出し(AF(tb))も行われる。第2の動作に先立って、制御回路302は、画素部303から上開口画素信号t(Rt、Grt、Gbt、Bt)と下開口画素信号b(Rb、Grb、Gbb、Bb)とが出力されるように画素部303の設定を切り替える。また、制御回路302は、画素信号の読み出し時間の短縮を図るために、画素部303の間の画素加算の設定を行う。
図15は、低輝度動作における第2の動作の画素加算の設定の例を示している。第2の動作では、第1の瞳分割方向である水平方向及び第2の瞳分割方向である垂直方向の両方で加算が行われるように設定がされる。図15の例では、水平方向についてはH3/3画素加算するように、また、垂直方向についてはV3/3画素加算するように設定されている。なお、低輝度動作における第2の動作では、水平方向については3≦n≦5、かつ、3≦m≦5、かつ、n≦mであることが望ましく、垂直方向については1≦n≦3、かつ、1≦m≦3、かつ、n≦mであることが望ましい。前述した高速動作の第1の動作と同様に、画素の加算数が5画素以下に抑えられることで垂直方向の位相差の検出精度を確保することができる。
図15の設定により、画素信号の行数及び列数はそれぞれ約3分の1に圧縮される。画素信号の行数及び列数が減ることにより、画素信号の読み出し時間は短縮される。なお、画素信号の加算数はこれに限定されない。ただし、第2の動作では、画素信号の加算数が多くなると表示の際の画質は劣化する。また、垂直方向の画素信号の加算数が多くなると、垂直方向の位相差の検出精度も低下する。したがって、画素信号の加算数は、読み出し時間と表示の際の画質及び垂直方向の位相差の検出精度とのトレードオフによって適宜に決められることが望ましい。
図15のような設定の後、CPU212は、撮像素子208に対して焦点検出画素信号を生成するために必要な露光時間での撮像を行うように制御信号を出力する。この露光時間は、被写体輝度等に基づいて設定される。
CPU212からの制御信号の入力を受けて、制御回路302は、画素部303の行毎に撮像(電荷の蓄積)を開始させる。そして、制御回路302は、垂直走査回路304を制御し、撮像が完了した行の画素部303から順次に画素信号を出力させる。
画素部303から読み出された画素信号は、アナログ処理回路305においてアナログ処理される。アナログ処理された画素信号は、ADC処理回路306においてデジタル信号である画素データに変換される。画素データは、メモリ回路307に記憶される。第2の動作では、表示画像データのためR、Gr、Gb、Bの画素信号が必要となる。このため、メモリ回路307には、上開口画素信号Rt、Grt、Gbt、Btと下開口画素信号Rb、Grb、Gbb、Bbのそれぞれが詰められずに記憶される。
水平走査回路308は、制御回路302からの制御信号を受けてメモリ回路307に記憶されている画素データを列順で出力回路309に転送させる。出力回路309は、水平走査回路308によって転送された画素データを配列して画素データ列を生成し、生成した画素データ列をシリアル信号及び差動信号等の所定の出力信号形式に変換して出力する。この画素データ列は、例えば図16に示すようにしてDRAM226に記憶される。このようにして第2の動作は完了する。
第2の動作によってDRAM226に記憶された画素データ列は、LV表示に用いられる。前述したように、表示画像データは、同一の画素部303に属する受光部lt、rt、lb、rbの画素データを加算平均することで得られる。したがって、画像処理回路214は、上開口画素データt(Rt、Grt、Gbt、Bt)と下開口画素データb(Rb、Grb、Gbb、Bb)とを加算平均して表示画像データを生成する。
また、第2の動作によってDRAM226に記憶された画素データ列は、ピントずれ量算出のための相関演算に用いられる。焦点検出回路218は、DRAM226に記憶されている上開口画素データGrt及び下開口画素データGrbの対を用いて相関演算を行う。また、焦点検出回路218は、DRAM226に記憶されている上開口画素データGbt及び下開口画素データGbbの対を用いて相関演算を行う。すなわち、上下開口画素データGrt、Grb、Gbt、Gbbは、DRAM226から2回読み出される。
以上のような低輝度動作では、水平方向及び垂直方向の両方で位相差検出を行うことができる。このため、第1の動作では、垂直方向の加算数を多くすることで、低輝度下であっても、水平方向の位相差の検出精度を確保することができる。また、第2の動作では、表示のための画素信号の読み出し時間を確保しながら、垂直方向の位相差の検出精度を確保することができる。
以上説明したように本実施形態では、高速動作が要求される場合の第1の動作では、第1の瞳分割方向については画素信号の加算をせずに、第2の瞳分割方向についてだけ画素信号の加算をすることで第1の瞳分割方向についての焦点検出性能を確保することができる。また、第2の瞳分割方向についての画素信号の加算数を所定画素数以下に抑えることにより、第1の動作において実質的に第2の瞳分割方向についての焦点検出も含まれた斜め方向の焦点検出を行うことができる。その上で、第2の動作においては焦点検出のための画素信号の生成及び読み出しを行わないようにすることでライブビュー表示のための時間を確保することができる。
また、低輝度における焦点検出性能が要求される場合の第1の動作では、第1の瞳分割方向については画素信号の加算をせずに、第2の瞳分割方向についてだけ画素信号の加算を適宜に設定することで第1の瞳分割方向についての焦点検出性能を確保することができる。また、第2の動作においては第2の瞳分割方向についての画素信号の加算数を所定画素数以下に抑えることによりライブビュー表示のための時間を確保しつつ、第2の瞳分割方向についての焦点検出性能を確保することができる。
以上のようにして本実施形態では、連写中において位相差方式の焦点検出性能を確保しながら、ライブビュー表示のための時間も確保することができる。
[変形例]
前述した実施形態では、第1の瞳分割方向を水平方向とし、第2の瞳分割方向を垂直方向としている。逆に、第1の瞳分割方向を垂直方向とし、第2の瞳分割方向を水平方向としてもよい。この場合、第1の動作においては上下開口画素信号が出力されるように画素部303の設定がなされるとともに、第2の動作においては左右開口画素信号が出力されるように画素部303の設定がなされる。
また、前述した実施形態では、画素部303における画素加算の設定等は、撮像素子208の内部に設けられた制御回路302によって行われる。制御回路302は、撮像素子208の外部に設けられていてもよい。この場合、例えばCPU212が制御回路302と同じ処理を実行できるように構成されていてもよい。
また、前述した第1の動作では、第2の瞳分割方向である垂直方向に並ぶ同一開口の画素信号を加算してから画素部303から出力させることによって読み出し時間の短縮を図っている。これに対し、画素信号を間引いて読み出すことでも読み出し時間は短縮され得る。
以上実施形態に基づいて本発明を説明したが、本発明は上述した実施形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形や応用が可能なことは勿論である。
また、前述の各動作フローチャートの説明において、便宜上「まず」、「次に」等を用いて動作を説明しているが、この順で動作を実施することが必須であることを意味するものではない。
また、上述した実施形態による各処理は、コンピュータであるCPU212又は制御回路302に実行させることができるプログラムとして記憶させておくこともできる。この他、磁気ディスク、光ディスク、半導体メモリ等の外部記憶装置の記憶媒体に格納して配布することができる。そして、CPU212又は制御回路302は、この外部記憶装置の記憶媒体に記憶されたプログラムを読み込み、この読み込んだプログラムによって動作が制御されることにより、上述した処理を実行することができる。
本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の発明が含まれており、開示される複数の構成要件から選択された組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、課題が解決でき、効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。