(第1の実施形態)
図1は、本発明の第1の実施形態に係る撮像装置1000の構成例を示すブロック図である。撮像装置1000は、デジタルカメラ、ビデオカメラの他、スマートフォン、タブレット、工業用カメラ、医療用カメラ等に適用可能である。図1では、撮像装置1000は、撮像装置本体(カメラ本体)と撮像レンズ(撮像光学系)とが一体となった撮像装置を示しているが、これに限定されるものではなく、撮像レンズが撮像装置本体に対して交換可能に装着される撮像装置にも適用可能である。また、以下に示す実施形態では、撮像装置1000は、焦点検出装置としての機能を含んでいるため、撮像装置1000は焦点検出装置でもある。
撮像装置1000は、撮像素子100、CPU101、操作部102、表示部103、RAM104、ROM105、画像処理部106、AF(オートフォーカス)演算部107及び記録部108を有する。さらに、撮像装置1000は、フォーカルプレーンシャッタ109、フォーカス駆動回路110、絞り駆動回路111、フォーカスアクチュエータ112、及び絞りアクチュエータ113を有する。さらに、撮像装置1000は、光学系を構成するレンズ群及び部材として、第1のレンズ群114、第2のレンズ群116、絞り115及び第3のレンズ群117を有する。
撮像素子100は、動画像又は静止画像を撮影する機能を有している。この撮像素子100は、撮像光学系により形成される被写体の光学像(被写体像)を電気信号に変換する。さらに、撮像素子100は、所定の量子化ビットに応じて、変換した電気信号をデジタル信号(画像データ)に変換して出力する。撮像素子100は、CPU101により、駆動が制御される。なお、図1に示す例では、撮像素子100がデジタル信号を出力する例が示されているが、これに限定されるものではない。例えば、撮像素子100がアナログ信号を出力し、撮像素子100の外部に設けられたアナログデジタル変換器がアナログ信号をデジタル信号に変換してもよい。
CPU101は、撮像装置1000を統括的に制御する制御手段としての機能を有する。画像処理部106は、後述する撮影の結果得られた画像データの補正や圧縮等の処理を行う。RAM104は、撮像素子100から出力される画像データ及び画像処理部106で処理された画像データを記憶するためのメモリ(画像メモリ)である。また、RAM104は、後述するCPU101によってワークメモリとしても用いられる。なお、RAM104は、アクセス速度が問題ないレベルのメモリであれば、他のメモリを用いてもよい。ROM105には、CPU101が実行するプログラムが格納される。一例としては、ROM105としてフラッシュROMが用いられるが、アクセス速度が問題ないレベルのメモリであれば、他のメモリを用いてもよい。
記録部108は、例えば、不揮発性メモリ又はハードディスクである。記録部108には、例えば、静止画像データ及び動画像データが記録される。図1では、記録部108が撮像装置1000に含まれているが、記録部108は、撮像装置1000に対して、コネクタを介して着脱可能な不揮発性メモリ又はハードディスク等の記録媒体であってもよい。操作部102は、撮影命令及び撮影条件の設定等のユーザからの操作をCPU101に対して伝達するためのインターフェースである。表示部103は、CPU101の制御により、撮影の結果得られた静止画像及び動画像の表示、メニューの表示等を行う。
AF演算部107は、撮像素子100から出力される画像データに基づいて、焦点検出を行う。焦点検出処理の詳細については後述する。撮像装置1000に入射した光は、第1のレンズ群114、絞り115、第2のレンズ群116、第3のレンズ群117、フォーカルプレーンシャッタ109をこの順に通過して、撮像素子100に入射する。第1のレンズ群114は、光軸方向に進退可能に保持される。絞り115は、その開口径を調節するように動作可能であり、撮影時の光量調節を行う機構である。絞り115及び第2のレンズ群116は、一体となって光軸方向に進退し、第1のレンズ群114の進退動作との連動により、変倍機能(ズーム機能)を実現する。第3のレンズ群(フォーカスレンズ)117は、光軸方向の進退により、焦点調節を行う。
フォーカルプレーンシャッタ109は、静止画撮影時に露光秒時を調節するシャッタである。本実施形態では、フォーカルプレーンシャッタ109、すなわちメカニカルシャッタにより撮像素子100の露光秒時を調節する構成であるが、これに限定されるものではない。例えば、撮像素子100が電子シャッタ機能を有し、制御信号により電子的に電荷蓄積時間を制御することで露光秒時を調節する構成であってもよい。フォーカス駆動回路110は、AF演算部107の焦点検出結果に基づいて、フォーカスアクチュエータ112を駆動制御し、第3のレンズ群117を光軸方向に進退駆動して焦点調節を行う。絞り駆動回路111は、絞りアクチュエータ113を駆動制御して、絞り115の開口径を制御する。
次に、図1に示す撮像素子100の構成を図2(a)、(b)及び図3を用いてより詳細に説明する。図2(a)は、撮像素子100内の1つの単位画素200の構成例を示す回路図である。単位画素200は、フォトダイオード201a,201b、転送スイッチ202a,202b、フローティングディフュージョン領域203、増幅部204、リセットスイッチ205及び選択スイッチ206を有する。なお、各スイッチは、MOSトランジスタ等により構成される。以下の説明では、各スイッチは、一例としてN型のMOSトランジスタであるものとするが、各スイッチはP型のMOSトランジスタであってもよく、その他のスイッチング素子であってもよい。
このように、本実施形態における撮像素子100は、1つの単位画素200内に、2つのフォトダイオード201a及び201bを有する。ただし、各単位画素200に設けられるフォトダイオードの個数は、図2(a)に示される2つに限定されず、3つ以上(例えば、4つ)でもよい。本実施形態において、フォトダイオード201a,201bは、後述するように、焦点検出画素として機能するとともに、撮像画素としても機能する。
フォトダイオード201a及び201bは、図2(b)に示す同一のマイクロレンズ236を通過した光を受光し、光電変換によりその受光量に応じた信号電荷を生成する光電変換部である。フォトダイオード201aにより得られる信号をA信号、フォトダイオード201bにより得られる信号をB信号と呼ぶ。図2(b)に示すように、撮像素子100は、行列状(m行n列)に配列された複数の単位画素200を有する。
転送スイッチ202aは、フォトダイオード201aとフローティングディフュージョン領域203との間に接続され、転送スイッチ202bはフォトダイオード201bとフローティングディフュージョン領域203との間に接続される。転送スイッチ202a及び202bは、それぞれ、フォトダイオード201a及び201bで発生した電荷を共通のフローティングディフュージョン領域203に転送する素子である。転送スイッチ202a及び202bは、それぞれ、制御信号TX_A及びTX_Bによって制御される。
フローティングディフュージョン領域203は、フォトダイオード201a及び201bから転送された電荷を一時的に保持するとともに、保持した電荷を電圧信号に変換する電荷電圧変換部である。増幅部204は、ソースフォロワMOSトランジスタである。増幅部204のゲートは、フローティングディフュージョン領域203に接続され、増幅部204のドレインは電源電位VDDを供給する共通電源241に接続される。増幅部204は、フローティングディフュージョン領域203に保持された電荷に基づく電圧信号を増幅して、画像信号として出力する。
リセットスイッチ205は、フローティングディフュージョン領域203と共通電源241との間に接続される。リセットスイッチ205は、制御信号RESによって制御され、フローティングディフュージョン領域203の電位を電源電位VDDにリセットする。選択スイッチ206は、増幅部204のソースと列信号線207の間に接続される。選択スイッチ206は、制御信号SELによって制御され、増幅部204で増幅された画像信号を列信号線207に出力する。
図3は、撮像素子100の構成例を示す図である。撮像素子100は、画素領域234、垂直走査回路209、電流源負荷210、読み出し回路235、共通出力線228,229、水平走査回路232、DFE233、及びデータ出力部237を有する。画素領域234は、行列状に配置された複数の単位画素200を有する。図3には、説明を分かりやすくするために、水平方向にn画素、垂直方向に4画素を示しているが、単位画素200の行数及び列数は任意である。また、各単位画素200には、複数色のカラーフィルタのうちのいずれか1つが設けられている。図3に示す例では、カラーフィルタの色は赤色(R)、緑色(G)及び青色(B)である。これらの各単位画素200は、ベイヤー配列に従って配置される。また、本実施形態における撮像素子100は、画素領域234の一部が遮光層で遮光されたOB領域(オプティカルブラック領域)を有する。複数の単位画素200のうちのOB領域の画素は、遮光画素である。
垂直走査回路209は、単位画素200の行毎に設けられた駆動信号線208を介して、各行の単位画素200に制御信号を出力する。なお、図3では、駆動信号線208は、説明を分かりやすくするため、行毎に1本ずつ図示されているが、実際には行毎に複数の駆動信号線が接続される。同じ列の単位画素200は、列毎に設けられた列信号線207に共通接続される。各列の単位画素200は、各列の列信号線207を介して、各列の読み出し回路235に信号を出力する。各列の読み出し回路235は、各列の列信号線207の信号を処理する。電流源負荷210は、各列の列信号線207に接続される。
水平走査回路232は、制御信号HSR(0)〜HSR(n−1)を出力することにより、複数の読み出し回路235の中から信号を出力させる列を順次選択する。選択された列の読み出し回路235は、共通出力線228,229を介して、データ出力部233に処理した信号を出力する。
次に、読み出し回路235の具体的な構成について説明する。読み出し回路235は、クランプ容量211、フィードバック容量214〜216、オペアンプ213、基準電圧源212及びスイッチ217〜220を有する。また、読み出し回路235は、比較器221、ラッチ(Latch_N)222、ラッチ(Latch_S)223、及びスイッチ226,227を有する。
列信号線207により読み出し回路235に入力される信号は、クランプ容量211を介してオペアンプ213の反転入力端子に入力される。オペアンプ213の非反転入力端子には、基準電圧源212から基準電圧Vrefが供給される。フィードバック容量214〜216は、オペアンプ213の反転入力端子と出力端子の間に接続される。スイッチ217もオペアンプ213の反転入力端子と出力端子の間に接続され、フィードバック容量214〜216の両端をショートさせることができる。スイッチ217は、制御信号RES_Cにより制御される。また、スイッチ218〜220は、それぞれ、制御信号GAIN0〜GAIN2により制御される。
比較器221には、オペアンプ213の出力信号と、ランプ信号発生器230から出力されるランプ信号224が入力される。ラッチ222は、ノイズレベル(N信号)を保持するための記憶素子である。ラッチ223は、A信号及びA信号とB信号が加算されたAB信号(加算信号)の信号レベル(S信号)を保持するための記憶素子である。ラッチ222及び223は、比較器221の出力端子からの信号と、カウンタ231から出力されるカウンタ値225を入力し、それぞれ、制御信号LATEN_N及びLATEN_Sにより制御される。ラッチ222及び223の出力端子は、それぞれ、スイッチ226及び227を介して、共通出力線228及び229に接続される。共通出力線228及び229は、DFE233に接続される。
スイッチ226及び227は、水平走査回路232からの制御信号HSR(h)により制御される。ここで、hは制御信号線が接続されている読み出し回路235の列番号を示す。ラッチ222及び223に保持された信号は、それぞれ、共通出力線228及び229を介して、DFE233へ出力される。DFE233は、後述する補正処理を行う。その後、データ出力部237は、DFE233の出力データを外部に出力する。この動作を水平転送と呼ぶ。
本実施形態の撮像素子100は、A信号及びB信号を独立に読み出す動作(分割読み出し)と、A信号とB信号を加算した信号(AB信号)を読み出す動作(合算読み出し)を行う。分割読み出しで読み出されたA信号及びB信号は、焦点検出又は画像生成に利用される。合算読み出しで読み出されたAB信号は、画像生成に利用される。
図4〜図6は、撮像素子100の読み出し動作を示すタイミングチャートである。以下、図4〜図6を参照しつつ画像信号の1行分の読み出し動作について説明する。なお、各制御信号がハイレベルのときに各スイッチはオンになり、ローレベルのときに各スイッチはオフになる。
図4は、AB信号を読み出す動作を示すタイミングチャートである。時刻Tab1では、制御信号TX_A及びTX_Bがハイレベルになり、転送スイッチ202a及び202bがオンになる。この時、信号RESはハイレベルになっており、フォトダイオード201a及び201bに蓄積された電荷は、転送スイッチ202a,202b及びリセットスイッチ205を介して電源241に転送される。フォトダイオード201a,201b及びフローティングディフュージョン領域203はリセットされる。時刻Tab2では、制御信号TX_A及びTX_Bがローレベルになり、転送スイッチ202a及び202bがオフになり、フォトダイオード201a及び201bは、光電変換による電荷の蓄積を開始する。
所定の時間だけ電荷の蓄積を行った後の時刻Tab3では、選択スイッチ206の制御信号SELがハイレベルになり、選択スイッチ206がオンになり、増幅部204のソースが列信号線207に接続される。時刻Tab4では、リセットスイッチ205の制御信号RESがローレベルになり、フローティングディフュージョン領域203のリセットが解除される。このとき、フローティングディフュージョン領域203の電位に応じたリセット信号レベルの電位が増幅部204を介して列信号線207に読み出され、読み出し回路235に入力される。
その後、時刻Tab5では、制御信号RES_Cがハイレベルからローレベルになり、スイッチ217がオフになり、列信号線207に読み出されたリセット信号レベルと基準電圧Vrefとの差分に基づく電圧がオペアンプ213から出力される。撮像素子100では、CPU101は、予め、操作部102により設定されたISO感度に基づき、制御信号GAIN0〜GAIN2のいずれかひとつの信号をハイレベルにする。本実施形態の撮像装置1000は、ISO感度100、200、400を備える。ISO感度100〜400に対して、それぞれ制御信号GAIN0〜GAIN2がハイレベルになる。それにより、スイッチ218〜219の中で対応するスイッチがオンとなる。オペアンプ213は、入力された電圧をクランプ容量211とフィードバック容量214〜216のいずれかの比率で定まる反転ゲインで増幅して出力する。ここで、オペアンプ213は、オペアンプ213までの回路で発生するランダムノイズ成分も増幅することになり、ISO感度100、200、400ではそれぞれ出力される信号のランダムノイズ量が異なることとなる。
次に、時刻Tab6では、ランプ信号発生器230は、時間経過に比例して信号レベルが変化するランプ信号Rampの出力を開始する。同時に、カウンタ231は、リセット状態からカウントアップを開始し、制御信号LATEN_Nがハイレベルになる。比較器221は、オペアンプ213の出力信号とランプ信号発生器230が出力するランプ信号Rampとを比較する。ランプ信号Rampの信号レベルが時間の経過とともに大きくなる。ランプ信号Rampの信号レベルがオペアンプ213の出力信号の値を上回った時刻Tab7で、比較器221は、ラッチ(Latch_N)222に出力する信号をローレベルからハイレベルに反転させる。ラッチ(Latch_N)222は、制御信号LATEN_Nがハイレベルの状態で、比較器211の出力信号がローレベルからハイレベルに反転すると、その時にカウンタ231から出力されているカウンタ値225を記憶する。この記憶されたカウンタ値は、デジタルのN信号レベルとなる。その後、時刻Tab8では、ランプ信号の変化が終了し、制御信号LATEN_Nがローレベルになる。
時刻Tab9では、制御信号TX_A及びTX_Bがハイレベルになり、転送スイッチ202a及び202bがオンになり、フォトダイオード201a及び201bの電荷が同時にフローティングディフュージョン領域203へ転送開始される。その後、時刻Tab10では、制御信号TX_A及びTX_Bがローレベルになり、転送スイッチ202a及び202bがオフになる。この動作により、フォトダイオード201a及び201bに蓄積された電荷がフローティングディフュージョン領域203へ転送される。そして、その電荷の変化に応じた電圧が増幅部204及び列信号線207を介して読み出し回路235へ出力される。オペアンプ213は、列信号線207に読み出されたAB信号レベルと基準電圧Vrefとの差分に基づく電圧を出力する。オペアンプ213は、入力された電圧をクランプ容量211とフィードバック容量214〜216のいずれかの比率で定まる反転ゲインで増幅して出力する。
次に、時刻Tab11では、ランプ信号発生器230は、ランプ信号Rampの出力を開始する。同時に、カウンタ231は、リセット状態からカウントアップを開始し、制御信号LATEN_Sがハイレベルになる。比較器221は、オペアンプ213の出力信号とランプ信号発生器230が出力するランプ信号Rampとを比較する。ランプ信号Rampの信号レベルがオペアンプ213の出力信号の値を上回った時刻Tab12で、比較器221がラッチ(Latch_S)223に出力する信号をローレベルからハイレベルに反転させる。ラッチ(Latch_S)223は、制御信号LATEN_Sがハイレベルの状態で、比較器211からの信号がローレベルからハイレベルに反転されると、その時にカウンタ231から出力されているカウンタ値225を記憶する。この記憶されたカウンタ値は、デジタルのAB信号レベルとなる。その後、時刻Tab13では、ランプ信号Rampの変化が終了し、制御信号LATEN_Sがローレベルとなる。
その後、時刻Tab14〜Tab15の間では、水平走査回路232から出力される制御信号HSR(h)が順次ローレベルからハイレベルになり、ローレベルに戻る。これに伴い、スイッチ226及び227がオフからオンになり、再びオフに戻る。各列のラッチ(Latch_N)222及びラッチ(Latch_S)223に保持されたN信号データとAB信号データは、それぞれ、共通出力線228及び229へ読み出され、DFE233に出力される。DFE233は、各列のAB信号データとN信号データの差(像信号Pab)を算出した後、後述する補正処理を行う。その後、データ出力部237は、DFE233の出力データを外部へ出力する。
次に、時刻Tab16では、制御信号RES_Cがハイレベルになり、スイッチ217がオンになる。次に、時刻Tab17では、制御信号RESがハイレベルになり、リセットスイッチ205がオンになる。次に、時刻Tab18では、制御信号SELがローレベルになり、選択スイッチ206がオフになり、AB信号の1行分の読み出し動作が完了する。
図5は、A信号を読み出す動作を示すタイミングチャートである。時刻Ta1からTa8までの動作は、図4の時刻Tab1からTab8までの動作と同様のため、説明を省略する。時刻Ta9では、制御信号TX_Aがハイレベルになり、転送スイッチ202aがオンになり、フォトダイオード201aの電荷がフローティングディフュージョン領域203へ転送開始される。その後、時刻Ta10では、制御信号TX_Aがローレベルになり、転送スイッチ202aがオフになる。この動作により、フォトダイオード201aに蓄積された電荷がフローティングディフュージョン領域203へ転送される。そして、その電荷の変化に応じた電圧が増幅部204及び列信号線207を介して読み出し回路235へ出力される。オペアンプ213は、列信号線207に読み出されたA信号レベルと基準電圧Vrefとの差分に基づく電圧を出力する。オペアンプ213は、入力された電圧をクランプ容量211とフィードバック容量214〜216のいずれかの比率で定まる反転ゲインで増幅して出力する。
次に、時刻Ta11では、ランプ信号発生器230は、ランプ信号Rampの出力を開始する。同時に、カウンタ231は、リセット状態からカウントアップを開始し、制御信号LATEN_Sがハイレベルになる。比較器221は、オペアンプ213の出力信号とランプ信号発生器230が出力するランプ信号Rampとを比較する。ランプ信号Rampの信号レベルがオペアンプ213の出力信号の値を上回った時刻Ta12で、比較器221がラッチ(Latch_S)223に出力する信号をローレベルからハイレベルに反転させる。ラッチ(Latch_S)223は、制御信号LATEN_Sがハイレベルの状態で、比較器211からの信号がローレベルからハイレベルに反転されると、その時にカウンタ231から出力されているカウンタ値225を記憶する。この記憶されたカウンタ値は、デジタルのA信号レベルとなる。その後、時刻Ta13では、ランプ信号Rampの変化が終了し、制御信号LATEN_Sがローレベルとなる。
その後、時刻Ta14〜Ta15の間では、水平走査回路232から出力される制御信号HSR(h)が順次ローレベルからハイレベルになり、ローレベルに戻る。これに伴い、スイッチ226及び227がオフからオンになり、再びオフに戻る。各列のラッチ(Latch_N)222及びラッチ(Latch_S)223に保持されたN信号データとA信号データは、それぞれ、共通出力線228及び229へ読み出され、DFE233に出力される。DFE233は、各列のA信号データとN信号データの差(像信号Pa)を算出した後、後述する補正処理を行う。その後、データ出力部237は、DFE233の出力データを外部へ出力する。
次に、時刻Ta16では、制御信号RES_Cがハイレベルになり、スイッチ217がオンになる。次に、時刻Ta17では、制御信号RESがハイレベルになり、リセットスイッチ205がオンになる。次に、時刻Ta18では、制御信号SELがローレベルになり、選択スイッチ206がオフになり、A信号の1行分の読み出し動作が完了する。
図6は、B信号を読み出す動作を示すタイミングチャートである。時刻Tb1からTb8までの動作は、図4の時刻Tab1からTab8までの動作と同様のため、説明を省略する。時刻Tb9では、制御信号TX_Bがハイレベルになり、転送スイッチ202bがオンになり、フォトダイオード201bの電荷がフローティングディフュージョン領域203へ転送開始される。その後、時刻Tb10では、制御信号TX_Bがローレベルになり、転送スイッチ202bがオフになる。この動作により、フォトダイオード201bに蓄積された電荷がフローティングディフュージョン領域203へ転送される。そして、その電荷の変化に応じた電圧が増幅部204及び列信号線207を介して読み出し回路235へ出力される。オペアンプ213は、列信号線207に読み出されたB信号レベルと基準電圧Vrefとの差分に基づく電圧を出力する。オペアンプ213は、入力された電圧をクランプ容量211とフィードバック容量214〜216のいずれかの比率で定まる反転ゲインで増幅して出力する。
次に、時刻Tb11では、ランプ信号発生器230は、ランプ信号Rampの出力を開始する。同時に、カウンタ231は、リセット状態からカウントアップを開始し、制御信号LATEN_Sがハイレベルになる。比較器221は、オペアンプ213の出力信号とランプ信号発生器230が出力するランプ信号Rampとを比較する。ランプ信号Rampの信号レベルがオペアンプ213の出力信号の値を上回った時刻Tb12で、比較器221がラッチ(Latch_S)223に出力する信号をローレベルからハイレベルに反転させる。ラッチ(Latch_S)223は、制御信号LATEN_Sがハイレベルの状態で、比較器211からの信号がローレベルからハイレベルに反転されると、その時にカウンタ231から出力されているカウンタ値225を記憶する。この記憶されたカウンタ値は、デジタルのB信号レベルとなる。その後、時刻Tb13では、ランプ信号Rampの変化が終了し、制御信号LATEN_Sがローレベルとなる。
その後、時刻Tb14〜Tb15の間では、水平走査回路232から出力される制御信号HSR(h)が順次ローレベルからハイレベルになり、ローレベルに戻る。これに伴い、スイッチ226及び227がオフからオンになり、再びオフに戻る。各列のラッチ(Latch_N)222及びラッチ(Latch_S)223に保持されたN信号データとB信号データは、それぞれ、共通出力線228及び229へ読み出され、DFE233に出力される。DFE233は、各列のB信号データとN信号データの差(像信号Pb)を算出した後、後述する補正処理を行う。その後、データ出力部237は、DFE233の出力データを外部へ出力する。
次に、時刻Tb16では、制御信号RES_Cがハイレベルになり、スイッチ217がオンになる。次に、時刻Tb17では、制御信号RESがハイレベルになり、リセットスイッチ205がオンになる。次に、時刻Tb18では、制御信号SELがローレベルになり、選択スイッチ206がオフになり、B信号の1行分の読み出し動作が完了する。
図7は、撮像素子100の画素領域234を示す図である。画素領域234は、画素領域234の上部の垂直OB領域(第1の遮光領域)711と、画素領域234の左部の水平OB領域(第2の遮光領域)712と、それ以外の開口領域713を有する。垂直OB領域711は、開口領域713とは異なる行に設けられる。水平OB領域712は、開口領域713と同じ行に設けられる。垂直OB領域711と水平OB領域712は、遮光されている。垂直OB領域711と水平OB領域712の単位画素200は、OB画素である。開口領域713は、遮光されていない。画素領域234は、フォトダイオード201aの像信号Pa及びフォトダイオード201bの像信号Pbが読み出される領域Region_iの行と、フォトダイオード201a及び201bの混合像信号Pabが読み出される領域Region_cの行とを有する。領域Region_cは、第1の読み出しモードの領域である。領域Region_iは、第2の読み出しモードの領域である。垂直走査回路209は、読み出し制御部であり、領域Region_cの行では第1の読み出しモードでフォトダイオード201a及び201bの信号を混合した像信号Pabを読み出す。また、垂直走査回路209は、領域Region_iの行では第2の読み出しモードでフォトダイオード201aの像信号Paとフォトダイオード201bの像信号Pbを読み出す。垂直OB領域711と水平OB領域712と開口領域713は、それぞれ、領域Region_iの行と領域Region_cの行とを有する。領域Region_cでは、図4の読み出し動作によって、フォトダイオード201a及び201bの混合像信号Pabが読み出される。領域Region_iでは、図5の読み出し動作を行った後、同一行に対して続けて図6の読み出し動作を行うことにより、同一画素の像信号Paと像信号Pbを取得する。分割読み出し行の配置位置については、図7に示すような測距枠714の設定や被写体の動きに合わせてフレーム毎に変更することが可能である。
また、本実施形態の撮像装置1000は、静止画モードと動画モード(ライブビュー撮影モード)を備える。静止画モードでは、撮像装置1000は、撮像素子100の全行分の画素データを読み出す。動画モードでは、撮像装置1000は、3行毎に1行の画素データを読み出し、静止画モードより読み出す行数が少ない。ただし、静止画モードと動画モードの構成や読み出しはこれに限定されるものではない。
次に、撮像素子100が出力する画像データの処理について説明する。図8(a)、(b)及び図9(a)、(b)は、位相差方式の焦点検出の概念を示す図である。まず、図8(a)及び(b)により、撮像素子100におけるピントと位相差との関係について説明する。
図8(a)は、ピント(焦点位置)が合っている場合における撮像レンズ302、被写体300、光軸301及び画素領域234の位置関係と光束を示している。また、図8(b)は、ピントが合っていない場合における位置関係と光束を示している。ここで示す画素領域234は、図1で示した画素領域234を断面方向から見たものである。画素領域234の各単位画素200には、マイクロレンズ236が1つ設けられている。上述したように、フォトダイオード201a及び201bは、同一のマイクロレンズ236を通過した光を受光する。フォトダイオード201a及び201bには、後述する構成により位相差を持った別の像が入射される。ここでは、フォトダイオード201aはA像用光電変換部であり、フォトダイオード201bはB像用光電変換部である。図8(a)及び(b)においては、A像用光電変換部202aをA、B像用光電変換部201bをBと表記している。なお、本実施形態では、1個のマイクロレンズ236に対して2個のフォトダイオード201a及び201bが配置される構成であるが、これに限定されるものではない。1個のマイクロレンズ236に対してフォトダイオードが上下又は左右に複数配置される構成であればよい。
撮像レンズ302は、図1に示す第1のレンズ群114、第2のレンズ群116、第3のレンズ群117を合わせて1つのレンズと考えた場合の等価的な撮像レンズを示している。被写体300から発せられた光は、光軸301を中心として、撮像レンズ302の各領域を通過し、撮像素子100の画素領域234に結像される。なお、ここでは射出瞳の位置と撮像レンズの中心位置は同一としている。
このような構成によれば、撮像レンズ302をA像用光電変換部201aから見た場合とB像用光電変換部201bから見た場合とで、撮像レンズ302の瞳が対称に分割されたことと等価となる。言い換えれば、撮像レンズ302からの光束が2つの光束ΦLa及びΦLbに分割された、いわゆる瞳分割の構成となっている。それぞれの分割光束(第1の光束ΦLa及び第2の光束ΦLb)がA像用光電変換部201a及びB像用光電変換部201bに入射する。このように、A像用光電変換部201aとB像用光電変換部201bのそれぞれは、撮像レンズ302の射出瞳のうち互いに異なる瞳領域を通過した光を受光して光電変換することから、焦点検出画素として機能することができる。また、A像用光電変換部201a及びB像用光電変換部201bは、互いの信号を加算することで撮像画素としても機能することができる。
被写体300上の特定点からの光束は、A像用光電変換部201aに対応する分割瞳を通ってA像用光電変換部201aに入射する光束ΦLaと、B像用光電変換部201bに対応する分割瞳を通ってB像用光電変換部201bに入射する光束ΦLbとに分割される。これら2つの光束ΦLa及びΦLbは、被写体300上の同一点から入射しているため、撮像レンズ302のピントが合った状態では、図8(a)に示すように、同一のマイクロレンズ236を通過して撮像素子100上の1点に到達する。したがって、A像用光電変換部201aとB像用光電変換部201bからそれぞれ得られる像信号は、互いに一致する。
しかし、図8(b)に示すように、光軸301の方向にYだけピントがずれている状態では、光束ΦLa及びΦLbのマイクロレンズ236への入射角の変化分だけ光束ΦLa及びΦLbの到達位置が光軸301と垂直方向に互いにずれる。したがって、A像用光電変換部201aとB像用光電変換部201bからそれぞれ得られる像信号には、位相差が生じる。A像用光電変換部201aとB像用光電変換部201bのそれぞれ(すなわち、焦点検出画素)は、位相差を持った2つの被写体像(A像及びB像)を光電変換して焦点検出用の信号を生成する。この信号は、撮像素子100の外部へ出力され、AF動作に使用される。撮像素子100は、上述したように分割読み出しと合算読み出しを行う。分割読み出しによって読み出されたA像(A信号)とB像(B信号)がAF演算部107へ入力される。
なお、本実施形態では、1個のマイクロレンズ236に対して複数の光電変換部201a及び201bが配置され、瞳分割された光束ΦLa及びΦLbが各光電変換部201a及び201bに入射される構成を示したが、これに限定されるものではない。例えば、焦点検出用画素の構成は、マイクロレンズ236の下に1個のフォトダイオードを有し、遮光層により左右又は上下を遮光することで瞳分割を行う構成でもよい。また、離散的に配置された焦点検出用画素からA像信号及びB像信号を取得する構成でもよい。
AF演算部107は、入力されたA信号とB信号を使用して焦点検出動作を行う。図9(a)は、ピントが合っている図8(a)の状況におけるA信号とB信号の強度分布を示すグラフである。横軸は、画素位置を表し、縦軸は信号の強度を表す。ピントが合っている場合は、A信号とB信号は一致する。図9(b)は、ピントが合っていない図8(b)の状況におけるA信号とB信号の強度分布を示すグラフである。この場合は、A信号とB信号は、前述した理由により位相差を持ち、強度のピーク位置がずれ量Xだけずれている。AF演算部107は、フレーム毎にずれ量Xを算出し、これを用いて所定の演算処理を行うことによりピントのずれ量、すなわち図8(b)におけるずれ量Yを算出する。AF演算部107は、算出したずれ量Yをフォーカス駆動回路110に転送する。フォーカス駆動回路110は、AF演算部107から取得したずれ量Yに基づき、第3のレンズ群117を動かす量を算出し、フォーカスアクチュエータ112に駆動信号を出力する。第3のレンズ群117は、フォーカスアクチュエータ112の駆動により、ピントが合う位置まで移動し、ピントが合った状態が実現される。
次に、DFE233の処理について説明する。本実施例においては、DFE233は、図10(a)のOBクランプ処理部400を含む。図10(a)〜(c)を用いて、OBクランプ処理部400の構成の一例を説明する。OBクランプ処理部400は、前述した像信号Pab、Pa、Pbを入力する。図10(a)に示すように、OBクランプ処理部400は、処理回路(A)401と処理回路(B)402を有し、垂直OB領域711及び水平OB領域712の単位画素200の信号を基に、開口領域713の単位画素200の信号を補正する。処理回路(A)401と処理回路(B)402は、それぞれ、OBクランプ処理回路である。処理回路(A)401と処理回路(B)402の出力は、セレクタ403に入力される。セレクタ403は、OBクランプ処理部400のデータ出力を選択する。
図10(b)は、処理回路(A)401の構成の一例を示す。処理回路(A)401に入力されたデータは、処理回路401aで処理された後に、処理回路401bで処理され、出力される。
まず、処理回路401aの構成を説明する。平均回路406は、処理回路401の入力データを入力し、垂直OB_Region_c設定部404及び垂直OB_Region_i設定部405により設定される垂直OB領域711内の領域Region_c及びRegion_iのデータの平均値を算出する。垂直OB_Region_c設定部404には、図7に示す垂直OB領域711内の領域Region_cが設定される。平均回路406は、この領域Region_c内の読み出された像信号Pabを積分した後に平均値を算出し、Pab平均値部407に格納する。垂直OB_Region_i設定部405には、図7に示す垂直OB領域711内の領域Region_iが設定される。平均回路406は、この領域Region_i内の読み出された像信号Pa又はPbをそれぞれで積分した後に平均値を算出し、Pa平均値部408又はPb平均値部409に格納する。Pa平均値部408又はPb平均値部409の平均値は、セレクタ410に入力される。セレクタ410は、処理回路(A)401へのデータ入力が像信号Paの時には、入力端子0即ちPa平均値部408の平均値を選択し、データ入力が像信号Pbの時には、入力端子1即ちPb平均値部409の平均値を選択する。
減算器411は、Pab平均値部407の平均値からセレクタ410の出力値を減算する。この処理により、減算器411は、像信号Pabと像信号Paのダークレベルの差、又は像信号Pabと像信号Pbのダークレベルの差を算出する。減算器411の出力値は、セレクタ412に入力される。セレクタ412は、処理回路(A)401がオンに設定され、かつ垂直OB領域711以外の領域での領域Region_iのデータが入力されている時には、入力端子1即ち減算器411の出力値を補正値として減算器413に出力する。像信号Paが入力されている時には、像信号Pabの平均値と像信号Paの平均値との差が補正値となり、像信号Pbが入力されている時には、像信号Pabの平均値と像信号Pbの平均値との差が補正値となる。セレクタ412は、処理回路(A)401がオフに設定されている時、又は垂直OB領域711以外の領域での領域Region_cのデータが入力されている時には、入力端子0即ち0値を減算器413に出力する。減算器413は、処理回路(A)401に入力されたデータからセレクタ412が出力する補正値を減算し、オフセット補正処理を行う。処理回路401aは、これらの処理により、分割読み出しをした場合と合算読み出しをした場合のオフセットの差を補正する。
その後、処理回路401aの出力データは、処理回路401bに入力される。OB信号抽出部417は、OB領域711及び712のデータが入力されたタイミングで、OB画素の信号を抽出する。OB信号抽出部417は、OBクランプ処理に使用するOB画素を1画素ずつ誤差量算出部418以降の処理回路に流すようにしてもよいし、複数のOB画素の平均値を取得する構成にしてもよい。誤差量算出部418は、予め設定されているダークレベルの補正目標値(クランプレベル)419とOB信号抽出部417から出力される現在のOB出力レベルとの差分を取って、誤差量を算出する。算出された誤差量は、フィードバックゲイン乗算部416に入力される。フィードバックゲイン乗算部416は、誤差量に対して、予め設定される一定のフィードバックゲイン(OBクランプ処理の追従時定数)を乗算する。フィードバックゲイン乗算部416では、演算結果が発振しないよう、フィードバックゲインは1よりも小さい値が設定される。また、ここでのフィードバックゲインは、ノイズやキズへの敏感度を抑制するために後述される低い時定数(時定数ab2相当)である。補正値算出部415は、フィードバックゲイン乗算部416の演算結果を積分し、最終的なOBクランプ補正値を算出する。算出された補正値は、補正部414へ入力される。補正部414は、処理回路401aの出力データから補正値を減算することで、像信号に対する補正処理を行い、補正結果を出力する。
最初に説明したOB信号抽出部417は、補正部414の出力値のうちのOB領域711又は712の信号を抽出する。これによって、補正処理を繰り返すうちにクランプレベルとの誤差量が次第に縮小され、最終的に補正結果のOB部出力(ダークレベル)はクランプレベルと一致するように収束する。
上述したように処理回路(A)401は、処理回路401a及び401bでの処理により、像信号Pa又はPbのオフセットと像信号Pabのオフセットの差を補正した後に、一定のフィードバックゲインでOBクランプ処理を行う。
次に、図10(c)を用いて、処理回路(B)402の構成の一例を説明する。OB信号抽出部424は、OB領域711又は712のデータが入力されたタイミングで、OB画素の信号を抽出する。OB信号抽出部424は、OBクランプ処理に使用するOB画素を1画素ずつ誤差量算出部425以降の処理回路に流すようにしてもよいし、複数のOB画素の平均値を取得する構成にしてもよい。誤差量算出部425は、予め設定されているダークレベルの補正目標値(クランプレベル)426とOB信号抽出部424から出力される現在のOB出力レベルとの差分を取って、誤差量を算出する。算出された誤差量は、フィードバックゲイン乗算部423に入力される。フィードバックゲイン乗算部423は、誤差量に対して、フィードバックゲイン切替部427から入力されるフィードバックゲイン(OBクランプ処理の追従時定数)を乗算する。フィードバックゲイン乗算部423では、演算結果が発振しないよう、フィードバックゲインは1よりも小さい値が設定される。また、ノイズやキズ等に過度に敏感に反応しないよう、センサ特性等に応じて適切に予め適切に調整されたゲインが設定される。
フィードバックゲイン切替部427は、取り扱うOB画素の座標位置に応じて、予め設定された複数のフィードバックゲイン428〜433から1つを選択してフィードバックゲイン乗算部423へ出力する。フィードバックゲイン切替部427は、領域Region_cにおいては、像信号Pab用のフィードバックゲイン428又は429を選択する。フィードバックゲイン切替部427は、垂直OB領域711においては、大きな暗電流量に高速に追従するために像信号Pab用の第1のフィードバックゲイン428として設定された高い時定数(時定数ab1)を選択する。また、フィードバックゲイン切替部427は、水平OB領域712においては、ノイズやキズへの敏感度を抑制するためにPab用の第2のフィードバックゲイン429として設定された低い時定数(時定数ab2)を選択する。また、フィードバックゲイン切替部427は、領域Region_iにおいては、像信号Paと像信号Pbが読み出されるが、像信号Paが読み出されている際には、Pa用のフードバックゲイン430又は431を選択する。フィードバックゲイン切替部427は、垂直OB領域711と水平OB領域712では時定数を変更する必要がある。そのため、フィードバックゲイン切替部427は、垂直OB領域711では像信号Pa用の第1のフィードバックゲイン430を選択し、水平OB領域712では像信号Pa用の第2のフィードバックゲイン431を選択する。フィードバックゲイン切替部427は、像信号Pbが読み出されている期間では、像信号Pb用のフィードバックゲイン432又は433を選択する。フィードバックゲイン切替部427は、垂直OB領域711では像信号Pb用の第1のフィードバックゲイン(時定数b1)432を選択し、水平OB領域712では第2のフィードバックゲイン(時定数b2)433を選択する。
特に、水平OB領域712における像信号Pa及び像信号Pbに用いられる時定数a2及び時定数b2は、像信号Pabに用いられる時定数ab2よりも大きな(速い)時定数であることが望ましい。領域Region_iは、図5及び図6の像信号Pa及びPbの両方を読み出すため、図4の読み出しの領域Region_cに比べて読み出し時間が長くなる。このため、領域Region_iの行数は、少なめにして、全体の読み出し時間を抑制することが多い。そのため、OBクランプに使用できる行数が限られて、ダークシェーディングへの追従性が悪くなる。これをカバーするために、時定数a2及び時定数b2は大きな値とすることが望ましい。垂直OB領域711で使用する時定数a1及びb1についても、垂直OB領域711の行数によっては時定数ab1より大きな値とした方がよいこともあり得る。
補正値算出部422は、フィードバックゲイン乗算部423の演算結果を積分し、最終的なOBクランプ補正値を算出する。Pab積分部422aは、フィードバックゲイン乗算部423の像信号Pabの演算結果を積分する。Pa積分部422bは、フィードバックゲイン乗算部423の像信号Paの演算結果を積分する。Pb積分部422cは、フィードバックゲイン乗算部423の像信号Pbの演算結果を積分する。補正値切替部422dは、補正対象の画素が像信号Pa/Pb/Pabのいずれであるかに応じて、積分部422a〜422cのうちのいずれかの積分結果を補正値として出力する。補正値切替部422dは、像信号Paに対してはPa積分部422aの値を出力し、像信号Pbに対してはPb積分部422bの値を出力し、混合像信号Pabに対してはPab積分部422cの値を出力する。セレクタ421は、後述の制御に応じて、補正値切替部422dの出力値又は0を補正値として補正部420に出力する。補正部420は、処理回路402の入力データから上記の補正値を減算することで、像信号に対する補正処理を行い、補正結果を出力する。
最初に説明したOB信号抽出部424は、補正部420の出力のうちのOB領域711及び712の信号を抽出する。これによって、補正処理を繰り返すうちにクランプレベルとの誤差量が次第に縮小され、最終的に補正結果のOB部出力(ダークレベル)はクランプレベルと一致するように収束する。
次に、本実施形態における撮像装置1000の駆動方法について、図11のフローチャートを用いて説明する。撮像装置1000は、ライブビュー撮影モードを有する。操作部102の操作によりライブビュー撮影が開始されると、まず、ステップS100では、CPU101は、フォーカルプレーンシャッタ109を開いた状態にする。これにより、撮像素子100は露光可能な状態となる。
次に、ステップS101では、CPU101は、ライブビュー撮影開始時又はISO感度変更時であるか否かを判定する。CPU101は、ライブビュー撮影開始時又はISO感度変更時であると判定した場合にはステップS102に処理を進め、ライブビュー撮影開始時又はISO感度変更時でないと判定した場合にはステップS103に処理を進める。ここでは、ライブビュー撮影開始時なので、CPU101は、ステップS102に処理を進める。
ステップS102では、CPU101は、撮像素子100に対して、ISO感度に応じたゲインの設定を行う。CPU101は、撮像素子100に対し、ISO感度に応じた制御信号GAIN0〜GAIN2の設定を行う。
続いて、ステップS103では、CPU101は、ライブビュー撮影開始時又はシャッタスピード(Tv)変更時であるか否かを判定する。CPU101は、ライブビュー撮影開始時又はシャッタスピード(Tv)変更時であると判定した場合にはステップS104に処理を進め、ライブビュー撮影開始時又はシャッタスピード(Tv)変更時でないと判定した場合にはステップS105に処理を進める。ここでは、ライブビュー撮影開始時なので、CPU101は、ステップS104に処理を進める。
ステップS104では、CPU101は、撮像素子100に対し、撮像素子100の露光時間であるシャッタスピードの設定を行う。撮像素子100は、電子シャッタ機能を有し、ライブビュー撮影時には電子シャッタで蓄積時間を制御する。
続いて、ステップS105では、CPU101は、ライブビュー撮影開始時又は測距枠714の位置変更時であるか否かを判定する。CPU101は、ライブビュー撮影開始時又は測距枠714の位置変更時であると判定した場合にはステップS106に処理を進め、ライブビュー撮影開始時又は測距枠714の位置変更時でないと判定した場合にはステップS107に処理を進める。ここでは、ライブビュー撮影開始時なので、CPU101は、ステップS106に処理を進める。
ステップS106では、CPU101は、撮像素子100又はAF演算部107に対し、測距枠714の位置に応じた各設定を行う。撮像素子100は、測距枠714の位置に応じた設定として、領域Region_iの配置位置を設定する。
続いて、ステップS107では、CPU101は、これまでに設定されたISO感度とシャッタスピード(Tv)に応じて、撮影条件α及びβのいずれであるのかを判定する。CPU101は、図12に示すように、ISO200以下のISO感度かつ閾値t1より短いシャッタスピード(Tv)の場合(斜線部)には条件αであると判定し、それ以外の場合には条件βであると判定する。CPU101は、撮影条件が条件αであると判定した場合にはステップS108に処理を進め、撮影条件が条件βであると判定した場合にはステップS109に処理を進める。
ステップS108では、CPU101は、OBクランプ処理として、処理回路(A)401を使用する設定を撮像素子100に対して行う。CPU101は、図10(b)に示す処理回路(A)401内の垂直OB_Region_c設定部404と垂直OB_Region_i設定部405に対して、垂直OB領域711内の領域Region_c及びRegion_iの位置を設定する。また、CPU101は、セレクタ412に対して、入力端子1即ち減算器411の出力値を選択する設定を行い、処理回路401aの補正が有効になる設定を行う。さらに、CPU101は、セレクタ403に対して、入力端子0即ち処理回路(A)401の出力値を選択する設定を行い、OBクランプ処理部400の出力値として、処理回路(A)401の出力値を選択する。その後、CPU101は、ステップS110に処理を進める。
ステップS109では、CPU101は、OBクランプ処理として、処理回路(B)402を使用する設定を撮像素子100に対して行う。CPU101は、図10(c)に示すフィードバックゲイン428〜433として、それぞれ上述した時定数に基づいたフィードバックゲインを設定する。また、CPU101は、セレクタ421に対して、入力端子1即ち補正値算出部422の出力値を選択する設定を行い、処理回路(B)402の補正が有効になる設定を行う。さらに、CPU101は、セレクタ403に対して、入力端子0即ち処理回路(B)402の出力値を選択する設定を行い、OBクランプ処理部400の出力値として、処理回路(B)402の出力値を選択する。その後、CPU101は、ステップS110に処理を進める。
ステップS110では、CPU101は、撮像素子100に対して、ライブビュー画像の読み出しを開始する。ここでは、OBクランプ処理部400は、ステップS108又はステップS109にて設定された設定に基づき、OBクランプ処理を行う。
まず、ステップS108にて処理回路(A)401を使用する設定をされた場合のOBクランプ処理部400に入力される信号とOBクランプ処理部400の動作を、図13(a)を用いて説明する。図13(a)は、OBクランプ処理部400に入力される信号と前述した補正値算出部422の動作を時系列状に示したものである。縦方向は、撮像素子100の垂直座標に対応する。説明の簡略化のため、行数は省略して示している。
信号501及び502は、最初の読み出し行である垂直座標y=0の行の読み出し信号を示す。y=0は、図7に示すように、垂直OB領域711における領域Region_iの行を示す。このy=0の行では、撮像素子100は、まず、図5に示した動作によって1行分の像信号Pa(501)を出力する。この間、平均回路406は、像信号Paを積分し、その結果をPa平均値部408に一時格納する。続いて、撮像素子100は、同じくy=0の行から図6に示した動作によって1行分の像信号Pb(502)を出力する。この間、平均回路406は、像信号Pbを積分し、その結果をPb平均値部409に一時格納する。
次に、y=1では、撮像素子100は、y=0と同様に1行分の像信号Paを出力する。平均回路406は、Pa平均値部408に一時格納されたPa積分値に対し、像信号Paを積分する。垂直OB領域711の領域Region_iは、y=1で最後となるため、平均回路406は、Pa積分値に対して平均化処理を行い、Pa平均値部408に格納する。続いて、撮像素子100は、同じくy=1の行から1行分の像信号Pbを出力する。平均回路406は、Pb平均値部409に一時格納されたPb積分値に対し、像信号Pbを積分する。垂直OB領域711の領域Region_iは、y=1で最後となるため、平均回路406は、Pb積分値に対して平均化処理を行い、Pb平均値部409に格納する。
信号503は、垂直座標y=2の行の読み出し信号を示す。y=2は領域Region_cであるため、撮像素子100は、混合像信号Pabを1行分出力する。この間、平均回路406は、像信号Paを積分し、その結果をPab平均値部407に一時格納する。
次に、y=3では、撮像素子100は、y=2と同様に、1行分の混合像信号Pabを1行分出力する。平均回路406は、Pab平均値部407に一時格納されたPab積分値に対し、像信号Pabを積分する。垂直OB領域711の領域Region_cはy=3で最後となるため、平均回路406は、Pab積分値に対して平均化処理を行い、Pab平均値部407に格納する。
y=4から1行分の信号中には、水平OB領域712の信号と開口領域713の信号が含まれる。y=4は、領域Region_cであり、水平OB領域712と開口領域713では、像信号Pabが出力される。この時、セレクタ412は、入力端子0即ち0値を選択し、減算器413に入力される補正値が0となる。その後、処理回路401bは、時定数ab2相当の低い時定数でOBクランプ処理を行う。
その後、y=5〜9は、領域Region_cであり、水平OB領域712と開口領域713では、像信号Pabが出力される。y=5〜9では、y=4と同様に、補正値は0になり、その後、処理回路401bは、時定数ab2相当の低い時定数でOBクランプ処理を行う。
y=10は、水平OB領域712と開口領域713では、領域Region_iであり、像信号Pa及びPbが読み出される。信号504は、水平OB領域712及び開口領域713の像信号Paとして読み出される。その後、信号505は、同じく水平OB領域712及び開口領域713の像信号Pbとして読み出される。y=11も同様である。上述の通り、像信号Paの読み出し期間中はPab平均値とPa平均値の差が補正値となり、像信号Paから上記の補正値が減算される。また、像信号Pbの読み出し期間中は、Pab平均値とPa平均値の差が補正値となり、像信号Paから上記の補正値が減算される。その後、処理回路401bは、時定数ab2相当の低い時定数でOBクランプ処理を行う。
以上のように、処理回路(A)401は、画素領域内のOB領域711及び712の単位画素200の像信号Pab及びPaの差を基に、画素領域内の開口領域713の単位画素200の像信号Paを補正する。また、画素領域内のOB領域711及び712の単位画素200の像信号Pab及びPbの差を基に、画素領域内の開口領域713の単位画素200の像信号Pbを補正する。
これにより、像信号Pabと像信号Pa又は像信号Pbの間に生じるオフセット差をキャンセルし、水平OB領域712を使用したOBクランプ処理では像信号Pab/Pa/Pbに関わらず低い敏感度で処理を行うことができる。その結果、後述するように、画像処理部106は、同一行の像信号PaとPbを加算して像信号Pab相当のデータを生成した場合でも、領域Region_i及びRegion_cの不連続性がない良好な画像を提供することができる。
次に、ステップS109にて処理回路(B)402を使用する設定をされた場合のOBクランプ処理部400に入力される信号とOBクランプ処理部400の動作を、図13(b)を用いて説明する。図13(b)は、OBクランプ処理部400に入力される信号と前述した補正値算出部422の動作を時系列状に示したものである。縦方向は、撮像素子100の垂直座標に対応する。
信号601及び602は、最初の読み出し行である垂直座標y=0の行の読み出し信号を示す。y=0は、図7に示すように、垂直OB領域711における領域Region_iの行を示す。このy=0の行では、撮像素子100は、まず、図5に示した動作によって1行分の像信号Pa(601)を出力する。この間、補正値算出部422は、垂直OBクランプのためにPa積分部422bによる積分動作を行う。補正値算出部422は、撮像素子100からの出力に対応して、セレクタ422dの入力端子1即ち像信号Pa用の補正値を出力する。以降、補正値算出部422は、その期間に撮像素子100から出力されている像信号に対応して、像信号Pab/Pa/Pb用の補正信号を切り替えて出力する。
続いて、撮像素子100は、同じくy=0の行から図6に示した動作によって1行分の像信号Pb(602)を出力する。この間、補正値算出部422は、Pb積分部422cによる積分動作を行う。y=1でも同様である。
信号603は、垂直座標y=2の行の読み出し信号を示す。y=2は、領域Region_cであるため、撮像素子100は、混合像信号Pabを1行分出力する。この間、補正値算出部422は、垂直OBクランプのためにPab積分部422aによる積分動作を行う。y=3でも同様である。
y=4から1行分の信号中には、水平OB領域712の信号と開口領域713の信号が含まれる。補正値算出部422は、水平OB領域712のデータ期間のみ積分動作を行う。これ以降、前述したように、フィードバックゲイン切替部427は、選択する時定数を変更する。フィードバックゲイン切替部427は、垂直OB領域711で使用する時定数ab1に対し、より敏感度を抑えた低い時定数ab2を選択する。
y=4は、領域Region_cであり、撮像素子100は、水平OB領域712と開口領域713で、像信号Pabを出力する。補正値算出部422は、やはり水平OB領域712のデータ期間のみ積分動作を行う。
その後、y=5〜9は、領域Region_cであり、撮像素子100は、水平OB領域712と開口領域713で、像信号Pabを出力する。使用されるフィードバックゲインは、時定数ab2である。
y=10は、水平OB領域712と開口領域713で、領域Region_iであり、像信号Pa及びPbが読み出される。信号604は、水平OB領域712及び開口領域713の像信号Paとして読み出される。その後、信号605は、同じく水平OB領域712及び開口領域713の像信号Pbとして読み出される。y=11も同様である。上述の通り、像信号Paの読み出し期間中のフィードバックゲインは時定数a2であり、像信号Pbの読み出し中のフィードバックゲインは時定数b2である。
処理回路(B)402は、画素領域内のOB領域711及び712の単位画素200の像信号Pabを基に、画素領域内の開口領域713の単位画素200の像信号Pabを補正する。また、処理回路(B)402は、画素領域内のOB領域711及び712の単位画素200の像信号Paを基に、画素領域内の開口領域713の単位画素200の像信号Paを補正する。また、処理回路(B)402は、画素領域内のOB領域711及び712の単位画素200の像信号Pbを基に、画素領域内の開口領域713の単位画素200の像信号Pbを補正する。
これにより、像信号Paや像信号Pbに対するOBクランプ処理が垂直方向のダークシェーディングにも追従して精度よく補正でき、良好な画質の画像を得ることができる。CPU101は、ライブビュー画像を読み出した後、データを画像処理部106に転送する。画像処理部106は、領域Region_i内の同一行の像信号PaとPbを加算し、像信号Pab相当のデータを生成する。画像処理部106は、生成した像信号Pab相当のデータと、領域Region_cの像信号Pabのデータに対して、所定の現像や圧縮等の処理を行う。表示部103は、処理後のライブビュー画像を表示する。また、像信号PaとPbは、AF演算部107へ転送される。AF演算部107は、これらの信号Pa及びPbを用いて、上述した焦点検出動作を行う。
次に、ステップS111では、CPU101は、焦点検出動作に基づき、ピントが合っているか(合焦状態)否かを判定する。CPU101は、ピントが合っていると判定した場合にはステップS113に処理を進め、ピントが合っていないと判定した場合にはステップS112に処理を進める。
ステップS112では、フォーカス駆動回路110及びフォーカスアクチュエータ112は、CPU101の制御の下、ピントずれ量に基づいて上述するフォーカス駆動によりピントを合わせる動作を行う。その後、CPU101は、ステップS106に処理を戻す。
ステップS113では、CPU101は、操作部102に含まれる静止画撮影スイッチがユーザにより押下されたか否かを判定する。CPU101は、静止画撮影スイッチが押下されたと判定した場合にはステップS114に処理を進め、静止画撮影スイッチが押下されていないと判定した場合にはステップS123に処理を進める。
ステップS114では、CPU101は、撮像素子100に対して、静止画撮影のISO感度に応じたゲインの設定を行う。CPU101は、撮像素子100に対し、ISO感度に応じた制御信号GAIN0〜GAIN2の設定を行う。
続いて、ステップS115では、CPU101は、フォーカルプレーンシャッタ109に対し、撮像素子100の露光時間であるシャッタスピードの設定を行う。
次に、ステップS116では、CPU101は、撮像素子100又はAF演算部107に対し、測距枠714の位置に応じた各設定を行う。撮像素子100は、測距枠714の位置に応じた設定として、領域Region_iの配置位置を設定する。
次に、ステップS117では、CPU101は、これまでに設定されたISO感度とシャッタスピード(Tv)に応じて、撮影条件α及びβのいずれであるのかを判定する。CPU101は、撮影条件が前述した条件αであると判定した場合にはステップS118に処理を進め、撮影条件が条件βであると判定した場合にはステップS119に処理を進める。
ステップS118及びS119の処理は、それぞれ、上記のステップS108とS119の処理と同様のため、説明を省略する。その後、CPU101は、ステップS120に処理を進める。
ステップS120では、CPU101は、撮像素子100に対して、静止画像の読み出しを開始する。ここでは、OBクランプ処理部400は、ステップS118又はステップS119にて設定された設定に基づき、OBクランプ処理を行う。その処理内容は、ステップS110の処理と同様のため、説明を省略する。
次に、ステップS121では、CPU101は、焦点検出動作に基づき、ピントが合っているか(合焦状態)否かを判定する。CPU101は、ピントが合っていると判定した場合にはステップS113に処理を戻し、ピントが合っていないと判定した場合にはステップS122に処理を進める。
ステップS122では、フォーカス駆動回路110及びフォーカスアクチュエータ112は、CPU101の制御の下、ピントずれ量に基づいて上述するフォーカス駆動によりピントを合わせる動作を行う。その後、CPU101は、ステップS113に処理を戻す。
ステップS123では、CPU101は、操作部102に含まれるライブビュー撮影スイッチがユーザにより押下されたか否かを判定する。CPU101は、動画撮影スイッチが押下されたと判定した場合には動画撮影を終了し、動画撮影スイッチが押下されていないと判定した場合にはステップS101に処理を戻し、ISO感度が変更されているかを判定する。
以上の動作により、撮像装置1000は、焦点検出用の信号取得による読み出し時間の増大を抑制しつつも、撮影条件に対応したOBクランプ処理に切り替えて適用することで、焦点検出用の信号取得に依存しない良好な画質の画像を得ることができる。
なお、撮像装置1000は、モードや撮影条件等によって、領域Region_iを配置する行を自由に配置したり、フレーム毎に領域Region_iの位置を変更することができる。また、領域Region_iの配置は、等間隔である必要はなく、自由に配置することが可能である。
また、OBクランプ処理部400は、垂直OB領域711では各行のOB画素の信号の全てを使用し、水平OB領域712では各行のOB画素の信号の全てを使用し、補正値を算出しているが、これに限られるものではない。各行のOB画素のうちの一部を補正値の算出に使用するようにしてもよい。
また、垂直OB領域711においても水平OB領域712においても像信号Pab/Pa/Pbの時定数を異なるものとする構成を説明したが、垂直OB領域711は各信号の時定数を共通とするようにしてもよい。
上述の説明において、領域Region_iは、フォトダイオード201aの信号とフォトダイオード201bの信号を読み出す構成として説明したが、これに限られるものではない。例えば、フォトダイオード201aの信号とフォトダイオード201a及び201bの信号を混合した信号を読み出すようにしてもよい。この場合、フォトダイオード201aの信号を読み出した後、フォトダイオード201aの信号とフォトダイオード201bの信号をフローティングディフュージョン領域203で加算して読み出す。AF演算部107は、フォトダイオード201a及び201bの信号を混合した信号からフォトダイオード201aの信号を減算することにより、フォトダイオード201bの信号を得ることができる。
(第2の実施形態)
本発明の第2の実施形態による撮像装置1000の構成について説明する。本実施形態による撮像装置1000は、第1の実施形態で述べた図1に示す撮像装置1000と同じ構成であるため、説明を省略する。また、本実施形態では、処理回路(A)401がDFE233内に設けられ、処理回路(B)402が画像処理部106内に設けられる。また、本実施形態では、処理回路(B)402におけるパラメータが第1の実施形態と異なる。本実施形態の処理回路(B)402に設定されるフィードバックゲインの時定数は下記のようになる。
Pab用の第1のフィードバックゲイン428は、時定数ab1である。Pab用の第2のフィードバックゲイン429は、時定数ab3である。Pa用の第1のフィードバックゲイン430は、時定数a1である。Pa用の第2のフィードバックゲイン431は、時定数a3である。Pb用の第1のフィードバックゲイン432は、時定数b1である。Pb用の第2のフィードバックゲイン433は、時定数b3である。ここで、時定数ab3、a3、b3は、第1の実施形態で述べた時定数ab2、a2、b2よりも低い時定数である。
次に、本実施形態による撮像装置1000の動作について、図14のフローチャートを用いて説明する。ステップS200〜S206は、第1の実施形態で述べたステップS100〜S106と同様のため、説明を省略する。
ステップS207では、CPU101は、OBクランプ処理として、撮像素子100に対して、処理回路(A)401を使用する設定を行う。CPU101は、図10(b)に示す処理回路(A)401内の垂直OB_Region_c設定部404と垂直OB_Region_i設定部405に対して、垂直OB領域711内の領域Region_c及びRegion_iの位置を設定する。また、CPU101は、セレクタ412に対して、入力端子1即ち減算器411の出力値を選択する設定を行い、処理回路401aの補正が有効になる設定を行う。その後、CPU101は、ステップS208に処理を進める。
ステップS208では、CPU101は、これまでに設定されたISO感度とシャッタスピード(Tv)に応じて、撮影条件が条件α及びβのいずれであるのかを判定する。本実施形態では、CPU101は、図12に示すように、ISO200以下のISO感度かつ1秒より短いシャッタスピード(Tv)の場合(斜線部)には条件αであると判定し、それ以外の場合には条件βであると判定する。CPU101は、撮影条件が条件αであると判定した場合にはステップS209に処理を進め、撮影条件が条件βであると判定した場合にはステップS210に処理を進める。
ステップS209では、CPU101は、OBクランプ処理として、処理回路(B)402を無効にする(補正をオフにする)設定を行う。CPU101は、図10(c)のセレクタ421に対し、入力端子0即ち0値を選択する設定を行う。これにより、処理回路(B)402の補正は無効となる。これにより、DFE233内の処理回路(A)401が補正を行い、画像処理部106内の処理回路(B)が補正を行わない。その後、CPU101は、ステップS211に処理を進める。
ステップS210では、CPU101は、OBクランプ処理として、撮像素子100に対して、処理回路(B)402を使用する設定を行う。CPU101は、図10(c)に示す処理回路(B)402内のフィードバックゲイン428〜433として、それぞれ上述した時定数に基づいたフィードバックゲイン設定を行う。また、CPU101は、セレクタ421に対して、入力端子1即ち補正値算出部422の出力値を選択する設定を行い、処理回路(B)402の補正が有効になる設定を行う。これにより、DFE233内の処理回路(A)401が補正を行う。CPU101は、その補正された信号を画像処理部106に供給する。画像処理部106内の処理回路(B)402は、処理回路(A)401により補正された信号に対して補正を行う。その後、CPU101は、ステップS211に処理を進める。
ステップS211では、CPU101は、撮像素子100に対して、ライブビュー画像の読み出しを開始する。ここでは、処理回路(A)401又は処理回路(B)402は、ステップS208〜S210にて設定された設定に基づき、OBクランプ処理を行う。
まず、CPU101がステップS208にて条件αであると判定した場合の処理回路(A)401及び処理回路(B)402に入力される信号と動作を、図15(a)を用いて説明する。図15(a)は、入力される信号と前述した補正値算出部422の動作を時系列状に示したものである。縦方向は、撮像素子100の垂直座標に対応する。説明の簡略化のため、行数は省略して示している。処理回路(A)401が補正を行い、処理回路(B)402が補正を行わない。
まず、処理回路(A)401での処理について説明する。信号701及び702は、最初の読み出し行である垂直座標y=0の行の読み出し信号を示す。y=0は、図7に示すように、垂直OB領域711における領域Region_iの行を示す。このy=0の行では、まず図5に示した動作によって1行分の像信号Pa(701)が処理回路401aに入力される。この間、処理回路401a内の平均回路406は、像信号Paを積分し、その結果をPa平均値部408に一時格納する。続いて、図6に示した動作によって、同じくy=0の行から1行分の像信号Pb(702)が出力される。この間、平均回路406は、像信号Pbを積分し、その結果をPb平均値部409に一時格納する。
次に、y=1では、y=0と同様に、1行分の像信号Paが出力される。平均回路406は、Pa平均値部408に一時格納されたPa積分値に対し像信号Paを積分する。垂直OB領域711の領域Region_iはy=1で最後となるため、平均回路406は、Pa積分値に対して平均化処理を行い、Pa平均値部408に格納する。続いて、同じくy=1の行から1行分の像信号Pbが出力される。平均回路406は、Pb平均値部409に一時格納されたPb積分値に対し像信号Pbを積分する。垂直OB領域711の領域Region_iはy=1で最後となるため、平均回路406は、Pb積分値に対して平均化処理を行い、Pb平均値部409に格納する。
信号703は、垂直座標y=2の行の読み出し信号を示す。y=2は、領域Region_cであるため、混合像信号Pabが1行分出力される。この間、平均回路406は、像信号Paを積分し、その結果をPab平均値部407に一時格納する。
次に、y=3では、y=2と同様に、1行分の混合像信号Pabが1行分出力される。平均回路406は、Pab平均値部407に一時格納されたPab積分値に対し像信号Pabを積分する。垂直OB領域711の領域Region_iはy=3で最後となるため、平均回路406は、Pab積分値に対して平均化処理を行い、Pab平均値部407に格納する。
y=4から1行分の信号には、水平OB領域712の信号と開口領域713の信号が含まれる。y=4は、領域Region_cであり、水平OB領域712と開口領域713では、像信号Pabが出力される。この時、セレクタ412は、入力端子0即ち0値を選択し、減算器413に入力される補正値は0となる。その後、処理回路401bは、時定数ab2相当の低い時定数でOBクランプ処理を行う。
その後、y=5〜9は、領域Region_cであり、水平OB領域712と開口領域713では、像信号Pabが出力される。y=4と同様に、補正値は0になり、その後、処理回路401bは、時定数ab2相当の低い時定数でOBクランプ処理を行う。
y=10は、水平OB領域712と開口領域713では、領域Region_iとして、像信号Pa及びPbが読み出される。信号704は、水平OB領域712及び開口領域713の像信号Paとして読み出される。その後、信号705は、同じく水平OB領域712及び開口領域713の像信号Pbとして読み出される。y=11も同様である。上述の通り、像信号Paの読み出し期間中はPab平均値とPa平均値の差が補正値となり、像信号Paから上記の補正値が減算される。また、像信号Pbの読み出し期間中はPab平均値とPa平均値の差が補正値となり、像信号Paから上記の補正値が減算される。その後、処理回路401bは、時定数ab2相当の低い時定数でOBクランプ処理を行う。
以上のように、処理回路(A)401は、OB領域711及び712の単位画素200の像信号Pab及び信号Paの差を基に、開口領域713の単位画素200の像信号Paを補正する。また、処理回路(A)401は、OB領域711及び712の単位画素200の像信号Pab及び信号Pbの差を基に、開口領域713の単位画素200の像信号Pbを補正する。
これにより、像信号Pabと像信号Pa又は像信号Pbの間に生じるオフセット差をキャンセルし、水平OB領域712を使用したOBクランプ処理では像信号Pab/Pa/Pbに関わらず低い敏感度で処理を行うことができる。その結果、後述するように、画像処理部106は、同一行の像信号PaとPbを加算して像信号Pab相当のデータを生成した場合でも、領域Region_iとRegion_cの不連続性がない良好な画像を提供することができる。
撮像素子100は、処理回路(A)401が、像信号Pab/Pa/Pbのオフセット差をキャンセルしたデータを出力する。その後、CPU101は、そのデータを順次画像処理部106に出力する。条件αの場合は、処理回路(B)402では補正処理が行われない。
次に、CPU101がステップS208にて条件βであると判定した場合の処理回路(A)401及び処理回路(B)402に入力される信号と動作を、図15(b)を用いて説明する。図15(b)は、入力される信号と前述した補正値算出部422の動作を時系列状に示したものである。縦方向は、撮像素子100の垂直座標に対応する。説明の簡略化のため、行数は省略して示している。まず、DFE233内の処理回路(A)401が補正を行い、その後、画像処理部106内の処理回路(B)402は、処理回路(A)401により補正された信号に対して補正を行う。処理回路(A)401での処理は、条件αの場合と同様であるため、説明を省略する。
次に、処理回路(B)402での処理について説明する。y=0は、図7に示すように、垂直OB領域711における領域Region_iの行を示す。このy=0の行では、まず図5に示した動作によって、1行分の像信号Pa(801)が出力される。この間、補正値算出部422は、垂直OBクランプのために、Pab積分部422aによる積分動作を行う。補正値算出部422は、撮像素子100からの出力に関わらず、入力端子0即ち像信号Pab用の補正値を出力する。
続いて、図6に示した動作によって、同じくy=0の行から1行分の像信号Pb(802)が出力される。この間、補正値算出部422は、Pab積分部422aによる積分動作を行う。y=1でも同様である。
信号803は、垂直座標y=2の行の読み出し信号を示す。y=2は、領域Region_cであるため、混合像信号Pabが1行分出力される。この間、補正値算出部422は、垂直OBクランプのために、Pab積分部422aによる積分動作を行う。y=3でも同様である。
y=4から1行分の信号には、水平OB領域712の信号と開口領域713の信号が含まれる。補正値算出部422は、水平OB領域712のデータ期間のみ積分動作を行う。これ以降、前述したように、フィードバックゲイン切替部427は、選択する時定数を変更する。フィードバックゲイン切替部427は、垂直OB領域711で使用する時定数ab1に対し、より敏感度を抑えた低い時定数ab3を選択する。
y=4は、領域Region_cであり、水平OB領域712と開口領域713では、像信号Pabが出力される。補正値算出部422は、水平OB領域712のデータ期間のみ積分動作を行う。
その後、y=5〜9は、領域Region_cであり、水平OB領域712と開口領域713では、像信号Pabが出力される。使用されるフィードバックゲインは、時定数ab3である。
y=10は、領域Region_iであり、水平OB領域712と開口領域とでは、像信号Pa及びPbが読み出される。信号804は、水平OB領域712及び開口領域713の像信号Paとして読み出される。その後、信号805は、同じく水平OB領域712及び開口領域713の像信号Pbとして読み出される。y=11も同様である。上述の通り、像信号Pa及び像信号Pbの読み出し中のフィードバックゲインは、共に時定数ab3が使用される。
ステップS212〜S225の処理は、図11のステップSS111〜S123の処理と同様である。なお、ステップS218の処理は、ステップS207の処理と同様である。ステップS220及びS221の処理は、それぞれ、ステップS209及びS210の処理と同様である。
以上のように、処理回路(B)402は、OB領域711及び712の単位画素200の像信号Pabを基に、開口領域713の単位画素200の像信号Pabを補正する。また、処理回路(B)402は、OB領域711及び712の単位画素200の像信号Paを基に、開口領域713の単位画素200の像信号Paを補正する。また、処理回路(B)402は、OB領域711及び712の単位画素200の像信号Pbを基に、開口領域713の単位画素200の像信号Pbを補正する。
これにより、像信号Pabと像信号Pa又は像信号Pbの間に生じるオフセット差をキャンセルし、水平OB領域712を使用したOBクランプ処理では像信号Pab/Pa/Pbに関わらず低い敏感度(時定数ab3)で処理を行うことができる。その結果、後述するように、画像処理部106は、同一行の像信号PaとPbを加算して像信号Pab相当のデータを生成した場合でも、領域Region_i及びRegion_cの不連続性がない良好な画像を提供することができる。また、像信号Paや像信号Pbに対するOBクランプ処理が垂直方向のダークシェーディングにも追従して精度よく補正でき、良好な画質の画像を得ることができる。
以上の動作により、焦点検出用の信号取得による読み出し時間の増大を抑制しつつも、撮影条件に対応したOBクランプ処理に切り替えて適用することで、焦点検出用の信号取得に依存しない良好な画質の画像を得ることができる。また、撮影条件によって像信号Pa/Pbと像信号Pabのオフセット差が垂直方向に変化した場合でも対応することができる。
本実施形態では、処理回路(A)401での処理の後に、処理回路(B)402の水平OB領域712での処理を行う構成になっている。処理回路(A)401で像信号Pa/Pbと像信号Pabのオフセット差を予めキャンセルすることにより、その分、処理回路(B)402では水平OB領域712のクランプ処理を小さなフィードバックゲイン(時定数)で処理することができる。これにより、処理回路(B)402の処理の補正誤差を小さくし、画質を向上することができる。
(第3の実施形態)
本発明の第3の実施形態による撮像装置1000の構成について説明する。本実施形態による撮像装置1000は、第1の実施形態で述べた図1に示す撮像装置1000と同じ構成であるため、説明を省略する。
次に、本実施形態による撮像装置1000の動作について、図16のフローチャートを用いて説明する。ステップS300〜S315は、第1の実施形態で述べたステップS100〜ステップS106と同様のため、説明を省略する。
ステップS316では、CPU101は、これまでに設定されたシャッタスピード(Tv)に応じて、撮影条件が条件γ及びδのいずれであるのかを判定する。本実施形態では、CPU101は、図17に示すように、閾値t2より短いシャッタスピード(Tv)の場合(斜線部)には条件γであると判定し、それ以外の場合には条件δであると判定する。CPU101は、撮影条件が条件γであると判定した場合にはステップS317に処理を進め、撮影条件が条件δであると判定した場合にはステップS322に処理を進める。
ステップS317、S318、S319、S320、S321、S325の処理は、第1の実施形態で述べたステップS116、S118、S120、S121、S122、S123の処理と同様のため、説明を省略する。ステップS318では、CPU101は、処理回路(A)401内の処理回路401a及び401bを使用し、処理回路(B)402を使用しない設定を行う。ステップS319では、垂直走査回路209は、複数の単位画素200の一部の行に対して第1の読み出しモードで領域Region_cの読み出しを行い、複数の単位画素200の他の行に対して第2の読み出しモードで領域Region_iの読み出しを行う。この場合、処理回路401aは、OBクランプ処理回路であり、OB領域711及び712の単位画素200の像信号Pab及び像信号Paとの差を基に、開口領域713の単位画素200の像信号Paを補正する。また、処理回路401aは、遮光領域711及び712の単位画素200の像信号Pab及び像信号Pbとの差を基に、開口領域713の単位画素200の像信号Pbを補正する。処理回路401bは、遮光領域711及び712の単位画素200の信号とダークレベル目標値419との誤差量を基に、開口領域713の単位画素200の信号を補正する。
ステップS322では、CPU101は、撮像装置100に対して、分割読み出しをオフにする設定を行う。ここでは、CPU101は、図18に示すように、画素領域234の全ての単位画素200の領域を領域Region_cとして読み出す設定にする。
その後、ステップS323では、CPU101は、処理回路(A)401の処理回路401bを使用し、かつ処理回路401aの補正を無効にする設定を行う。処理回路401aは動作せず、処理回路401bが動作する。CPU101は、セレクタ412に対して、入力端子0即ち0値を選択する設定を行い、処理回路401aの補正が無効になる設定を行う。さらに、CPU101は、セレクタ403に対して、入力端子0即ち処理回路(A)401の出力値を選択する設定を行い、OBクランプ処理部400の出力として、処理回路(A)401の出力を選択する。その後、CPU101は、ステップS324に処理を進める。
ステップS324では、CPU101は、撮像素子100に対して、静止画像の読み出しを開始する。垂直走査回路209は、複数の単位画素200の全行に対して第1の読み出しモードで領域Region_cの読み出しを行う。ここでは、OBクランプ処理部400は、ステップS323にて設定された設定に基づき、OBクランプ処理を行う。この時のOBクランプ処理部400に入力される信号とOBクランプ処理部400の動作を、図19を用いて説明する。図19は、OBクランプ処理部400に入力される信号と前述した処理回路(A)401の動作を時系列状に示したものである。縦方向は、撮像素子100の垂直座標に対応する。
y=0は、垂直OB領域711であり、領域Region_cの行である。このy=0の行では、図4に示した動作によって、1行分の像信号Pabが出力される。この間、撮像素子100からの出力に関わらず、処理回路401aの補正値は0になっている(補正が無効になっている)。y=1〜3も同様である。
y=4から1行分の信号には、水平OB領域712の信号と開口領域713の信号が含まれる。y=4は、領域Region_cであり、水平OB領域712と開口領域713では、像信号Pabが出力される。処理回路401aの補正値は0になっている。その後、処理回路401bは、時定数ab2相当の低い時定数でOBクランプ処理を行う。
その後、y=5〜12は、領域Region_cであり、水平OB領域712と開口領域713では、像信号Pabが出力される。処理回路401aの補正値は0になっている。その後、処理回路401bは、時定数ab2相当の低い時定数でOBクランプ処理を行う。その後、CPU101は、ステップS301に処理を戻す。
以上のように、処理回路401bは、OBクランプ処理回路であり、OB領域711及び712の単位画素200の信号とダークレベル目標値419との誤差量を基に、開口領域713の単位画素200の信号を補正する。なお、処理回路401aは、補正値が0であり、補正を行わない。
以上の動作により、焦点検出用の信号取得による読み出し時間の増大を抑制しつつも、撮影条件に対応した分割読み出し行の設定とOBクランプ処理の切替えを適用することで、焦点検出用の信号取得に依存しない良好な画質の画像を得ることができる。また、蓄積時間が長いシャッタスピード(Tv)の時には分割読み出しをオフにして合算読み出しのみすることで、垂直OBクランプで積分する画素数が多くなる。これにより、暗電流が発生してクランプするオフセット量が大きくなった場合でも対応することができる。また、OBクランプ処理の動作を切り替えることで、OBクランプ処理が分割読み出しなしの場合にも対応することができる。
第1〜第3の実施形態によれば、焦点検出用の信号取得による読み出し時間の増大を抑制しつつ、撮像素子100の信号を撮影条件に合わせて補正し良好な画質を得ることができる。
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。