(57)【特許請求の範囲】
【請求項１】
画像信号を生成する複数の画素を２次元マトリックス状に配列した第１の領域と第２の領域とを有する画素アレイを有し、所定行ごとに画像信号が読み出される撮像素子と、
前記第１の領域および前記第２の領域の画素から画像信号を読み出す読み出し手段と、
前記読み出し手段により前記第１の領域の画素から読み出された画像信号に基づいて補正データを生成する生成手段と、
メモリを有し、前記生成手段で生成された補正データを、前記読み出された前記第１の領域の画素の水平方向の位置に対応したメモリのアドレスに記憶する記憶手段と、
少なくとも前記第２の領域において、画像信号を読み出す画素の第１の列範囲をフレーム単位で設定する設定手段と、
前記メモリから読み出した前記第２の領域の前記第１の列範囲に対応する補正データで、前記第２の領域の前記第１の列範囲の画素から読み出された画像信号を補正する補正手段と、
前記メモリの所定のアドレスの範囲に記憶されている補正データを、前記第２の領域の前記第１の列範囲の設定に拘わらず、前記第１の領域に第２の列範囲で予め設定されている複数の第３の領域をフレーム単位で順次当該第３の領域ごとに画像信号を読み出して更新する更新手段とを備えることを特徴とする撮像装置。
【請求項２】
前記更新手段は、前記読み出し手段が前記第２の領域に設定された前記第１の列範囲の画素の画像信号を読み出すごとに、前記所定のアドレスの範囲を前記複数の第３の領域の間で順次変更することを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記設定手段が前記第２の領域に設定されている前記第１の列範囲を変更したときは、前記補正手段は、当該変更された第２の領域の前記第１の列範囲に対応する前記メモリのアドレスから補正データを読み出し、前記更新手段は前記所定のアドレスの範囲をさらに変更することを特徴とする請求項２に記載の撮像装置。
【請求項４】
前記画素は複数の光電変換手段を有し、前記読み出し手段は前記第２の領域の画素に対して、当該第２の領域に設定された前記第１の列範囲の画素の所定の光電変換手段から第１の画像信号を読み出すとともに、当該第２の領域の各画素の前記複数の光電変換手段から第２の画像信号を読み出し、前記生成手段は、前記第１の領域の画素の所定の光電変換手段から読み出された画像信号に基づいて第１の補正データを生成し、前記第１の領域の画素の前記複数の光電変換手段から読み出された画像信号に基づいて第２の補正データを生成し、前記記憶手段は前記生成された第１の補正データのメモリアドレスを当該第１の補正データの生成のために画像信号を読み出した前記第１の領域の画素の水平方向の位置に対応させるとともに、前記生成された第２の補正データのメモリアドレスを当該第２の補正データの生成のために画像信号を読み出した前記第１の領域の画素の水平方向の位置に対応させることを特徴とする請求項１乃至３のいずれか一項に記載の撮像装置。
【請求項５】
前記補正手段は、前記第２の領域に設定された前記第１の列範囲に対応されたアドレスに記憶されている前記第１の補正データを用いて前記第１の画像信号を補正し、前記第２の領域の各画素の位置に対応するアドレスに記憶されている前記第２の補正データを用いて前記第２の画像信号を補正することを特徴とする請求項４に記載の撮像装置。
【請求項６】
前記第１の画像信号と前記第２の画像信号とを用いて焦点検出を行なう焦点検出手段を備え、前記焦点検出手段が焦点検出を行なっているときに前記補正手段は前記第１の画像信号および前記第２の画像信号を補正し、前記更新手段は前記第１の補正データおよび前記第２の補正データを更新することを特徴とする請求項４または５に記載の撮像装置。
【請求項７】
前記設定手段はさらに前記撮像素子の読み出しモードを設定し、前記設定手段が前記読み出しモードを変更したときは、前記読み出しモードの変更後に前記第１の領域の画素から読み出された画像信号に基づいて補正データを生成し、前記記憶手段は既に前記メモリに記憶している補正データを消去した後に当該生成された補正データを当該メモリに記憶することを特徴とする請求項１乃至６のいずれか一項に記載の撮像装置。
【請求項８】
前記更新手段は、前記記憶手段に記憶されている補正データの更新ゲインを設定する手段を備え、当該更新ゲインを設定する手段は、前記生成手段が生成した補正データを前記記憶手段が前記メモリに記憶したのちに当該補正データを前記更新手段が更新するごとに前記更新ゲインの値を変更することを特徴とする請求項１乃至７のいずれか一項に記載の撮像装置。
【請求項９】
前記第１の領域に配列されている画素は遮光された画素であり、前記第２の領域に配列されている画素は開口画素であり、被写体の光学像を光電変換して画像信号を生成することを特徴とする請求項１乃至８のいずれか一項に記載の撮像装置。
【請求項１０】
撮像装置における画像信号の補正方法において、
画像信号を生成する複数の画素を２次元マトリックス状に配列した第１の領域と第２の領域とを有する画素アレイを有し、所定行ごとに画像信号が読み出される撮像素子に対して、
前記第１の領域および前記第２の領域の画素から画像信号を読み出し手段により読み出す読み出しステップと、
前記読み出しステップで前記第１の領域の画素から読み出された画像信号に基づいて補正データを生成する生成ステップと、
前記生成ステップで生成された補正データを、前記読み出された前記第１の領域の画素の水平方向の位置に対応したメモリのアドレスに記憶する記憶ステップと、
少なくとも前記第２の領域において、画像信号を読み出す画素の第１の列範囲をフレーム単位で設定する設定ステップと、
前記メモリから読み出した前記第２の領域の前記第１の列範囲に対応する補正データで、前記第２の領域の前記第１の列範囲の画素から読み出された画像信号を補正する補正ステップと、
前記メモリの所定のアドレスの範囲に記憶されている補正データを、前記第２の領域の前記第１の列範囲の設定に拘わらず、前記第１の領域に第２の列範囲で予め設定されている複数の第３の領域をフレーム単位で順次当該第３の領域ごとに画像信号を読み出して更新する更新ステップを備えることを特徴とする補正方法。
【請求項１１】
コンピュータを、
画像信号を生成する複数の画素を２次元マトリックス状に配列した第１の領域と第２の領域とを有する画素アレイを有し、所定行ごとに画像信号が読み出される撮像素子を備える撮像装置の制御方法において、
前記第１の領域および前記第２の領域の画素から画像信号を読み出す読み出し手段、
前記読み出し手段により前記第１の領域の画素から読み出された画像信号に基づいて補正データを生成する生成手段、
メモリを有し、前記生成手段で生成された補正データを、前記読み出された前記第１の領域の画素の水平方向の位置に対応したメモリのアドレスに記憶する記憶手段、
少なくとも前記第２の領域において、画像信号を読み出す画素の第１の列範囲をフレーム単位で設定する設定手段、
前記メモリから読み出した前記第２の領域の前記第１の列範囲に対応する補正データで、前記第２の領域の前記第１の列範囲の画素から読み出された画像信号を補正する補正手段、
前記メモリの所定のアドレスの範囲に記憶されている補正データを、前記第２の領域の前記第１の列範囲の設定に拘わらず、前記第１の領域に第２の列範囲で予め設定されている複数の第３の領域をフレーム単位で順次当該第３の領域ごとに画像信号を読み出して更新する更新手段として機能させるプログラム。
【請求項１２】
請求項１１のプログラムを記録したコンピュータが読み取り可能な記憶媒体。
【請求項１３】
コンピュータを、請求項１乃至９のいずれか一項に記載された撮像装置の各手段として機能させるプログラム。
【請求項１４】
コンピュータを、請求項１乃至９のいずれか一項に記載された撮像装置の各手段として機能させるプログラムを格納した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルカメラなどの撮像装置に関し、特に、撮影の際に撮像素子から取得した補正データ生成用のデータから生成した補正データによって撮像データを補正する撮像装置ならびにその制御方法およびプログラムに関する。
【背景技術】
【０００２】
一般に、デジタルカメラ又はデジタルビデオカメラなどの撮像装置では、撮像素子の出力を補正する補正データを予めカメラに保持し、当該補正データを用いて画像データを補正して良好な画像を得るようにしている。ところが、長時間に亘って撮像素子を連続して駆動すると、撮像素子の温度が上昇し、その特性が変化する。そして、撮像素子の特性が変化すると、予め保持された補正データではもはや良好な補正を行うことができなくなってしまう。
【０００３】
上記のような問題を解決するため、例えば、温度など撮影の際の条件が変化すると、補正データを再生成する構成の撮像装置がある（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−５７６９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところが、特許文献１に記載の撮像装置においては次のような問題点がある。
撮像条件が変化した際に補正データを再生成するため、例えば、動画像のように連続して画像データを取得する場合には画像データの取得を一旦中断する必要がある。このため、補正データの再生成の際に画像が途切れてしまうといった問題点がある。
【０００６】
従って、本発明の目的は、動画像を撮影する際に、撮像条件が変化した場合であっても画像データの取得を中断せずに撮像データの補正を行うことのできる撮像装置ならびにその制御方法およびプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の撮像装置は、複数の画素を２次元マトリックス状に配列した画素アレイを有する撮像素子を備え、当該画素アレイは第１の領域と第２の領域を有し、撮像装置はさらに、少なくとも第２の領域において、画像信号を読み出す画素の水平方向の範囲を設定する設定手段と、設定手段による設定に従って、第１および第２の領域の画素から画像信号を選択的に読み出す読み出し手段と、第１の領域の画素から読み出された画像信号に基づいて補正データを生成する生成手段と、メモリを有し、生成された補正データを、読し出された第１の領域の画素の水平位置に対応したメモリのアドレスに記憶する記憶手段と、設定手段により設定された第２の領域の水平方向の範囲に対応するメモリのアドレスから補正データを読み出し、当該読み出した補正データを用いて第２の領域に設定された範囲の画素から読み出された画像信号を補正する補正手段と、メモリの所定のアドレスの範囲に記憶されている補正データを、当該所定のアドレスの範囲に対応した第１の領域の水平方向の範囲にある画素から読み出した画像信号に基づいて更新する更新手段とを備える。
【発明の効果】
【０００８】
本発明によれば、動画像の撮影の際に撮像条件が変化した場合であっても、撮像データの取得を中断せずに補正データを生成して画像補正を行うことができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の第１の実施形態に係わる撮像装置の構成を示すブロック図である。
【図２】本発明の第１の実施形態に係わる撮像素子の構成を概念的に示す図である。
【図３】本発明の第１および２の実施形態に係わる画像補正部の構成を示すブロック図である。
【図４】本発明の第１、２の実施形態に係わる画像補正部のメモリ構成を模式的に示す図である。
【図５】本発明の第１の実施形態に係わる撮像装置の動作のフローチャートを示す図である。
【図６】本発明の第１の実施形態に係わる撮像素子の読出し領域の配置を概念的に示す図である。
【図７】本発明の第１の実施形態に係わる撮像素子から読出される領域を概念的に示す図である。
【図８】本発明の第１の実施形態に係わる画像補正部における補正データの記憶の際のメモリアクセスを模式的に示す図である。
【図９】本発明の第１の実施形態に係わる画像補正部における補正データの読み出しの際のメモリアクセスを模式的に示す図である。
【図１０】本発明の第１の実施形態に係わる撮像素子から読出される領域を概念的に示す図である。
【図１１】本発明の第１の実施形態に係わる画像補正部における補正データの記憶の際のメモリアクセスを模式的に示す図である。
【図１２】本発明の第１の実施形態に係わる画像補正部における補正データの読み出しの際のメモリアクセスを模式的に示す図である。
【図１３】本発明の第２の実施形態に係わる撮像装置の構成を示すブロック図である。
【図１４】本発明の第２の実施形態に係わる撮像素子の構成を概念的に示す図である。
【図１５】本発明の第２の実施形態に係わる撮像装置の動作のフローチャートを示す図である。
【図１６】本発明の第２の実施形態に係わる撮像素子の読出し領域の配置を概念的に示す図である。
【図１７】本発明の第２の実施形態に係わる撮像素子から読出される領域を概念的に示す図である。
【図１８】本発明の第２の実施形態に係わる画像補正部における補正データの記憶の際のメモリアクセスを模式的に示す図である。
【図１９】本発明の第２の実施形態に係わる画像補正部における補正データの読み出しの際のメモリアクセスを模式的に示す図である。
【図２０】本発明の第２の実施形態に係わる撮像素子から読出される領域を概念的に示す図である。
【図２１】本発明の第２の実施形態に係わる画像補正部における補正データの記憶の際のメモリアクセスを模式的に示す図である。
【図２２】本発明の第２の実施形態に係わる画像補正部における補正データの読み出しの際のメモリアクセスを模式的に示す図である。
【図２３】本発明の第３の実施形態に係わる画像補正部の補正データ更新回路の構成を示すブロック図である。
【図２４】本発明の第３の実施形態に係わる撮像装置の動作のフローチャートを示す図である。
【図２５】本発明の第３の実施形態に係わる撮像素子の読出し領域の配置を概念的に示す図である。
【図２６】本発明の第３の実施形態に係わる撮像装置のモード変更動作を概念的に示す図である。
【図２７】本発明の第３の実施形態に係わる撮像素子から読出される領域を概念的に示す図である。
【図２８】本発明の第３の実施形態に係わる画像補正部における補正データの記憶の際のメモリアクセスを模式的に示す図である。
【図２９】本発明の第３の実施形態に係わる画像補正部における補正データの読み出しの際のメモリアクセスを模式的に示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【実施例１】
【００１１】
図１は、本発明の第１の実施形態に係わる撮像装置の構成を示すブロック図である。
図示の撮像装置は動画像を撮影する機能を有し、被写体を撮像して画像信号を取得する撮像素子１００を備えている。即ち、この撮像素子１００は被写体の光学像を光電変換により電気信号（アナログ信号、つまり、画像信号）に変換する。
【００１２】
同図において、撮像素子１００から出力されたアナログ信号は、アナログフロントエンド（ＡＦＥ）１０２でゲインが調整されるとともに、所定の量子化ビットに応じてデジタル信号（画像データ）に変換される。なお、撮像素子１００およびＡＦＥ１０２はタイミングジェネレータ（ＴＧ）１０１によって駆動タイミングが制御され、ＴＧ１０１自体はＣＰＵ１０３が制御プログラムを実行することによって制御される。
【００１３】
ＲＡＭ１０７は、ＡＦＥ１０２から出力される画像データおよび後述する画像処理部１０８で処理された画像データを記憶するためのメモリ（画像メモリ）であり、さらに、ＲＡＭ１０７は後述するＣＰＵ１０３によってワークメモリとしても用いられる。なお、ここでは、画像メモリおよびワークメモリとしてＲＡＭ１０７を用いているが、アクセス速度が問題ないレベルのメモリであれば、他のメモリを用いるようにしてもよい。
【００１４】
ＲＯＭ１０５には、ＣＰＵ１０３上で動作するプログラムが格納される。本実施形態では、ＲＯＭ１０５としてフラッシュＲＯＭを用いることとするが、アクセス速度が問題ないレベルのメモリであれば、フラッシュＲＯＭ以外の他のメモリを用いるようにしてもよい。
【００１５】
ＣＰＵ１０３は、ＲＯＭ１０５に記憶されたプログラムをロードして実行することにより撮像装置を統括的に制御する。画像処理部１０８は撮影の結果得られた画像データの補正や圧縮等の処理を行い、後述する画像補正部３００を含む。
【００１６】
記録部１０９は、例えば、不揮発性メモリ又はハードディスク等の記録媒体を有し、静止画像データおよび動画像データなどの画像データや、それらに関連する情報などを記録媒体に記録する。図示の例では、記録部１０９が撮像装置に含まれているが、コネクタを介して着脱可能な不揮発性メモリ又はハードディスク等の記録媒体を含む外部記録装置であってもよい。
【００１７】
操作部１０４は、撮影命令および撮像条件等の設定をＣＰＵ１０３に対して行う際にユーザの指示や設定情報を入力するために用いられる。表示部１０６は、ＣＰＵ１０３の制御下で、撮影の結果得られた静止画像および動画像やメニュー画面等の表示を行う。
【００１８】
図２は、上記撮像素子１００の構成を概念的に示す。図２において撮像素子は、光電変換素子である画素を２次元マトリックス状に配列した画素アレイ１００ａ、画素アレイ１００ａの行を選択する垂直選択回路１００ｄ、および画素アレイ１００ａの列を選択する水平選択回路１００ｃを持つ。また、撮像素子１００は、画素アレイ１００ａに配列されている画素のうち、垂直選択回路１００ｄ及び水平選択回路１００ｃによって選択される画素の信号を読み出す読み出し回路１００ｂを持つ。
【００１９】
画素アレイ１００ａは、遮光された画素（Ｏｐｔｉｃａｌ  Ｂｌａｃｋ，ＯＢ）の配列からなる第１の領域と開口されている画素の配列からなる第２の領域を有する。垂直選択回路１００ｄは画素アレイ１００ａの行を選択して、ＣＰＵ１０３から出力される水平同期信号に基づいてＴＧ１０１から出力される読出しパルスを、選択行において有効にする。読出し回路１００ｂは列毎にアンプやメモリを含み、選択された行の画素信号が列単位でアンプを介してメモリに格納される。メモリに格納された１行分の画素信号は、水平選択回路１００ｃによって列方向に順に選択され、アンプ１００ｅを介して外部に出力される。これにより、画素アレイ１００ａの画素を選択的に読み出すことができる。
【００２０】
この動作を画素アレイ１００ａの行の数だけ繰り返して、全ての画素の信号を外部に出力する。
【００２１】
なお、本実施形態における撮像素子１００の水平選択回路１００ｃは、設定に基づくＣＰＵ１０３による制御の下で、画像信号を読み出す画素の列の範囲を複数選択することができる。例えば、第０〜第ｎ列まである画素アレイにおいて、第０〜第ｋ列、第ｍ〜第ｎ列のみ読み出すことができる。同様に、垂直選択回路１００ｄも画像信号を読み出すが画素の垂直方向の領域、即ち行の範囲を選択することができる。本実施例では、ＯＢ領域と遮光されていない画素領域それぞれについて読み出す範囲を別個に設定する構成とする。この設定は、予めＣＰＵ１０３に設置しておくことも可能であり、また操作部１０４により適宜設定、変更するように構成することも可能であるが、本実施形態では、遮光されていない画素の読み出し領域について操作部１０４による設定ができるものとする。
【００２２】
また、垂直選択回路１００ｄは、ＴＧ１０１から入力される不図示のＯＢ画素選択パルスがハイレベル（Ｈｉｇｈ）である場合は、ＯＢ画素の画素行を順次選択して最終行を選択後に、再びＯＢ画素の最初の行を選択するよう制御される（巡回動作）。例えば、５行目から１４行目がＯＢ画素である場合、ＯＢ画素選択パルスがＨｉｇｈになると、５、６、…、１４行目が順次選択され、その後再び５、６、…、１４行目が選択されるという動作が繰り返される。そして、このような動作（巡回）を１０回繰り返せば、１００行分のＯＢ画素信号が出力されることとなる。これらの動作は、上述したようにＣＰＵ１０３によるプログラムの実行によって制御される。
【００２３】
図３は、図１に示す画像処理部１０８に含まれる画像補正部３００の構成の一例を示すブロック図である。
【００２４】
図３において、メモリ３０１は、画像の列毎の補正データを格納する。補正データ生成回路３０４はデータ入力（画像データ）と一時的にメモリ３０１に記憶されている計算過程のデータ（計算過程データ）を用いて画素配列の列毎の補正データを生成する。そして、各列に対して補正データの生成工程が繰り返され、既にメモリ３０１に記憶されている補正データが消去された後に最終的な補正データがメモリ３０１に書き込まれる。
【００２５】
アドレス指定回路３０３は、画像位置指定回路３０２から出力される画像位置情報に基づき、メモリ３０１に対してアドレスを出力する。メモリ３０１は入力されるアドレス位置に格納されているデータを出力する。これらの動作により、画像データの補正時や、補正データの生成・更新時の画像データの列と補正データのアドレスとの対応をとる。
【００２６】
図４に撮像素子１００の画素アレイ１００ａ列と補正データのアドレスとの対応の一例を示す。画像位置指定回路３０２は、画像補正部３００に入力される画像データが画素アレイ１００ａの第Ｋ〜Ｌ列に対応するという情報をアドレス指定回路３０３に対して出力する。アドレス指定回路は入力される情報に基づき、メモリ３０１に対してアドレスＡ０〜Ａ１を出力する。メモリ３０１は入力されたアドレスＡ０〜Ａ１に格納されるデータを入出力し、第Ｋ〜Ｌ列の各列について補正データの生成・更新や画像データの補正を行う。
【００２７】
同様に、画像補正部３００に第Ｍ〜Ｎ列のデータが入力された場合、画像補正部３００に入力される画像データが画素アレイ１００ａの第Ｍ〜Ｎ列に対応するという情報をアドレス指定回路３０３に対して出力する。アドレス指定回路は入力される情報に基づき、メモリ３０１に対してアドレスＡ２〜Ａ３を出力する。メモリ３０１は入力されたアドレスＡ２〜Ａ３に格納されるデータを入出力し、第Ｍ〜Ｎ列の各列について補正データの生成・更新や画像データの補正を行う。
【００２８】
補正データ更新の際には、補正データ更新回路３０５にデータ入力が与えられるとともに、更新対象となる列に対応するアドレスに格納される補正データが入力される。そして、補正データ更新回路３０５は所定の処理に基づいて補正データの更新を実行する。更新処理が終了すると、セレクタ３０７により補正データ更新回路から出力されるデータが選択され、更新対象となる補正データが格納されていたアドレスに再格納される。
【００２９】
画像データの補正の際には、補正対象となる列に対応するアドレスに格納される補正データが補正回路３０６に入力される。補正回路３０６は補正データを用いて画像データに所定の処理を行って画像データを補正し、補正画像データ（データ出力）として出力する。
【００３０】
図５は、本実施形態に係わる撮像装置の動作のフローチャートを示す。図５を用いて、以下に本実施形態に係わる撮像装置の動作を説明する。
【００３１】
なお、本実施形態では、ユーザーによって動画撮影モードとして画面の一部を切り出して表示するクロップモードが選択されているとする。
【００３２】
操作部１０４の操作によって動画像の撮影が開始されると、ステップＳ５０１にて、ＣＰＵ１０３はＴＧ１０１に対して画像信号の読み出し期間内で所定時間だけＯＢ画素選択パルスをハイレベルにする設定を行う（巡回設定）。
【００３３】
次にステップＳ５０２にて、ＣＰＵ１０３は、水平選択回路１００ｃにたいして水平方向の読み出し領域（列の範囲）を設定する。
【００３４】
図６（ａ）は撮像素子１００の画素アレイ１００ａの画素構成と読出し領域の配置を模式的に示す図である。なお、図の斜線部は遮光画素が配列されている画素領域である。水平方向の範囲Ｈ２〜Ｈ７、垂直方向の範囲Ｖ０〜Ｖ１で定義（設定）されている領域はＶＯＢ領域であり、ＶＯＢ（ａ）、ＶＯＢ（ｂ）、ＶＯＢ（ｃ）の３つの領域（複数の第３の領域）に分けられている。また、水平方向Ｈ０〜Ｈ１、垂直方向Ｖ０〜Ｖ２で定義される領域はＨＯＢ領域であり、ＨＯＢ（０）と、後述するクロップ領域と同じ行範囲であるＨＯＢ（１）がある（複数の第３の領域）。
【００３５】
前述した様に撮像素子１００は画素アレイ１００ａから読み出す行と列の範囲を選択することができ、ステップＳ５０２では読み出す行および列の範囲をＨＯＢ領域とＶＯＢ（ａ）に設定する。
【００３６】
その後ステップＳ５０３にてＣＰＵ１０３は画素アレイ１００ａからの画像信号の読み出し動作を開始する。読出し時にはＯＢ画素選択パルスが所定期間ハイレベルになり、垂直方向Ｖ０〜Ｖ１の領域が繰り返し読み出される（巡回動作）。その結果読み出される画像は図７（ａ）に示す様にＨＯＢ（０）が繰り返されるＨＯＢ巡回領域と、ＶＯＢ（ａ）巡回領域から読み出された画像信号で構成される。
【００３７】
この画像はＡＦＥ１０２でデジタル信号に変換された後、画像補正部３００に入力される。画像補正部３００では、補正データ生成回路３０４に画像データが入力され、所定の処理に基づき列毎に補正データが生成される。
【００３８】
図８は補正データ生成時にアクセスされるメモリのアドレスを模式的に示した図である。生成されたＨ０〜Ｈ１の各列の補正データは図８（ａ）の斜線部に示すアドレスｈ０〜ｈ１に格納される。また、ＶＯＢ（ａ）領域のＨ２〜Ｈ３の範囲の各列の補正データはアドレスｈ２〜ｈ３に格納される。なお、アドレスｈ０と画素アレイ１００ａのＨ０列が、アドレスｈ２とＨ２列が対応しており、アドレスｈ０〜ｈ１の補正データの数と、Ｈ０〜Ｈ１の列数は同じになっている。同様に、アドレスｈ２〜ｈ３の補正データの数と、Ｈ２〜Ｈ３の列数は同じになっている。
【００３９】
次にステップＳ５０４にて補正データ生成が終了したかをＣＰＵ１０３は判断する。この時点で、撮像素子１００のＨ０〜Ｈ３の列の補正データは終了しており、Ｈ４〜Ｈ７の列の補正データは未生成なのでステップＳ５０２に戻る。
【００４０】
ステップＳ５０２では、ＣＰＵ１０３は画素アレイ１００ａから画像信号を読み出す列の範囲をＨＯＢ領域とＶＯＢ（ｂ）に設定する。
【００４１】
その後ステップＳ５０３にてＣＰＵ１０３は撮像素子１００に画像信号の読み出し動作を開始させる。読出し時にはＯＢ画素選択パルスが所定期間ハイレベルになり、垂直方向Ｖ０〜Ｖ１の領域が繰り返し読み出される（巡回動作）。その結果読み出される画像信号は、図７（ｂ）に示すようにＨＯＢ（０）が繰り返されるＨＯＢ巡回領域とＶＯＢ（ｂ）巡回領域から読み出された画像信号で構成される。
【００４２】
この画像信号はＡＦＥ１０２でデジタル信号に変換された後、画像補正部３００に入力される。画像補正部３００では、補正データ生成回路３０４に画像データが入力され、所定の処理に基づき補正データが生成される。なお、Ｈ０〜Ｈ１の列の補正データはすでに生成しているので、このステップでは生成しない。
今回生成された補正データは、ＶＯＢ（ｂ）領域のＨ４〜Ｈ５の列に対応するアドレスｈ４〜ｈ５（図８（ｂ）の斜線部）に格納される。アドレスｈ４〜ｈ５の補正データの数と、Ｈ４〜Ｈ５に含まれる列の数は同じになっている。
【００４３】
次にステップＳ５０４にて補正データ生成が終了したかをＣＰＵ１０３は判断する。この時点で、撮像素子１００のＨ０〜Ｈ５の列の補正データは終了しており、Ｈ６〜Ｈ７の列の補正データは未生成なのでステップＳ５０２に戻る。
その後、上記の動作と同様にして、ＶＯＢ（ｃ）領域のＨ６〜Ｈ７の列の補正データが、メモリのアドレスｈ６〜ｈ７に格納される。
【００４４】
これで画素アレイの全ての列の補正データの生成が終了したので、ステップＳ５０４での判定で処理をステップＳ５０５に進める。
【００４５】
ステップＳ５０５では、ＣＰＵ１０３はＴＧ１０１に対して、ＯＢ画素選択パルスを読み出し期間内で所定時間ローレベルにする設定を行う（非巡回設定）。
【００４６】
次にステップＳ５０６にて、遮光されていない画素（開口画素）のうち、読み出す画素の範囲を選択する。上述のように、本実施形態では、事前にユーザーによる操作部１０４の操作で画像信号を読み出す画素の範囲（クロップ領域）が指定されている。ＣＰＵ１０３はその指定に基づいて、撮像素子１００に対して図６（ａ）に示す列範囲Ｈ８〜Ｈ９、行範囲Ｖ３〜Ｖ４にて定義されるクロップ（Ａ）領域を読み出す設定を行う。
【００４７】
その後ステップＳ５０７にて、ＶＯＢの読み出す範囲をＶＯＢ（ａ）領域に設定する。この設定は、後述するように、メモリに記憶された補正データを更新するための画像信号を取得するための設定である。具体的には、ＨＯＢ（０）、ＨＯＢ（１）、ＶＯＢ（ａ）、クロップ（Ａ）領域が設定される。
【００４８】
設定後、ステップＳ５０８にてＣＰＵ１０３は撮像素子１００に読出し動作を開始させる。読み出される画像信号は図７（ｄ）に示す様にＨＯＢ（０）、ＨＯＢ（１）、ＶＯＢ（ａ）、クロップ（Ａ）領域から読み出された画像信号からなる。
【００４９】
この画像信号は、ＡＦＥ１０２でデジタル信号に変換された後、画像補正部３００に入力される。画像補正部３００では、ＨＯＢ（０）、ＶＯＢ（ａ）領域の画像データが、補正データ更新回路３０５に入力され、所定の処理に基づき補正データの更新が行なわれる。図８（ｄ）に更新時にアクセスされるメモリアドレスを示す。ＨＯＢ（０）領域のデータを更新する場合は、アドレスｈ０〜ｈ１に格納される補正データがメモリ３０１から出力され、補正データを更新した後にアドレスｈ０〜ｈ１に再格納される。ＶＯＢ（ａ）領域の補正データを更新する場合は、アドレスｈ２〜ｈ３に格納される補正データがメモリ３０１から出力され、補正データを更新した後にアドレスｈ２〜ｈ３に再格納される。
【００５０】
クロップ（Ａ）領域の画像データは、前述した様に、更新された補正データで列毎に補正される。図９（ｄ）に、補正時にアクセスされるメモリアドレスを示す。ＨＯＢ（１）領域のデータを補正する場合には、アドレスｈ０〜ｈ１に格納される補正データがメモリ２０１から出力され、画像データが列毎に補正される。クロップ（Ａ）領域のデータを補正する場合には、アドレスｈ８〜ｈ９に格納される補正データがメモリ３０１から出力され、画像データが列毎に補正される。なお、アドレスｈ８と画素アレイ１００ａのＨ８列が、アドレスｈ９と画素アレイのＨ９列が対応しており、アドレスｈ８〜ｈ９の補正データの数と、Ｈ８〜Ｈ９に含まれる画素列の数は同じになっている。
【００５１】
上記動作により、１回の読出し（１フレーム）の中で、ＶＯＢ領域（ａ）の補正データを更新後、クロップ（Ａ）領域の画像データを補正することができる。
【００５２】
次にステップＳ５０９にて撮影終了をＣＰＵ１０３が判断する。終了していない場合はステップＳ５１０に進む。ステップＳ５１０ではクロップ領域がユーザーによって変更されたかどうかを判断する。クロップ領域が変更されていない場合には、ステップＳ５０７に戻って次のフレームの読み出しを行なう。
【００５３】
ステップＳ５０７では次のフレームで読み出すＶＯＢ領域としてＶＯＢ（ｂ）設定する。この設定は、ＶＯＢ領域の補正データ（アドレスｈ４〜ｈ５）を更新するための設定である。具体的には、ＨＯＢ（０）、ＨＯＢ（１）、ＶＯＢ（ｂ）、クロップ（Ａ）領域が設定される。
【００５４】
設定後、ステップＳ５０８にてＣＰＵ１０３は撮像素子１００に画素の読出し動作を開始させる。読み出される画像信号は、図７（ｅ）に示すように、ＨＯＢ（０）、ＨＯＢ（１）、ＶＯＢ（ｂ）、クロップ（Ａ）領域から読み出された画像信号からなる。
【００５５】
この画像信号はＡＦＥ１０２でデジタル信号に変換された後、画像補正部３００に入力される。画像補正部３００では、ＨＯＢ（０）、ＶＯＢ（ｂ）領域の画像データが補正データ更新回路３０５に入力され、所定の処理に基づき補正データが更新される。図８（ｅ）に更新時にアクセスされるメモリアドレスを示す。ＨＯＢ（０）領域のデータを更新する場合には、アドレスｈ０〜ｈ１に格納される補正データがメモリ３０１から出力され、補正データを更新した後にアドレスｈ０〜ｈ１に再格納される。ＶＯＢ（ｂ）領域のデータを更新する場合には、アドレスｈ４〜ｈ５に格納される補正データがメモリ３０１から出力され、補正データを更新した後にアドレスｈ４〜ｈ５に再格納される。
【００５６】
クロップ（Ａ）領域の画像は、前述したように更新された補正データで列毎に補正される。図９（ｅ）に補正時にアクセスされるメモリアドレスを示す。ＨＯＢ（１）領域のデータを補正する場合には、アドレスｈ０〜ｈ１に格納される補正データがメモリ３０１から出力され、画像データが列毎に補正される。クロップ（Ａ）領域のデータを補正する場合には、アドレスｈ８〜ｈ９に格納される補正データがメモリ３０１から出力され、画像データが列毎に補正される。
【００５７】
同様にして、クロップ領域の変更が無い場合は、次のフレームではＶＯＢ（ｃ）が選択され、図７（ｆ）に示すように読み出されて補正データの更新（図８（ｆ））、画像データの補正（図９（ｆ））が行われる。
【００５８】
ユーザーによってクロップ領域が変更されるまでは、図７（ｇ）〜（ｉ）に示される様に補正データを更新するＶＯＢ領域を順次変更して設定されて画像信号の読出し動作が繰り返され、補正データの更新と画像データの補正が行われる。
【００５９】
ステップＳ５１０にて、クロップ領域が変更されたと判断された場合にはステップＳ５０６に戻り、ＣＰＵ１０３は撮像素子１００に対して、読み出す開口画素領域を再設定する。図６（ｂ）にその場合の領域を示す。変更されたクロップ領域は水平方向の範囲がＨ１０〜Ｈ１１、垂直方向の範囲がＶ３〜Ｖ４であるとする。
【００６０】
図１０（ｃ）に示す時点で、ステップＳ５０６にてクロップ領域の変更が判断されたとする。その前は、前述する動作を繰り返し行っている。なお、図１０（ａ）〜（ｆ）と後述する図１１（ａ）〜（ｆ）、図１２（ａ）〜（ｆ）がそれぞれ対応する。
【００６１】
その後ステップＳ５０７にてＶＯＢの読み出す列として、ＶＯＢ（ｃ）領域を読み出す設定を行う。この設定は、前のフレームの読み出しでＶＯＢ（ｂ）の補正データが更新されたことに続いて次のＶＯＢ（ｃ）の補正データを更新するための設定である。具体的には、ＨＯＢ（０）、ＨＯＢ（１）、ＶＯＢ（ｃ）、クロップ（Ｂ）領域が読み出し領域として設定される。
【００６２】
設定後、ステップＳ５０８にてＣＰＵ１０３は撮像素子１００に画像信号の読出し動作を開始させる。読み出される画像信号は、図１０（ｃ）に示すようにＨＯＢ（０）、ＨＯＢ（１）、ＶＯＢ（ｃ）、クロップ（Ｂ）領域から読み出された画像信号となる。
【００６３】
この画像信号はＡＦＥ１０２でデジタル信号に変換された後、画像補正部３００に入力される。画像補正部３００では、ＨＯＢ（０）、ＶＯＢ（ｃ）領域の画像データは、補正データ更新回路３０５に入力され、所定の処理に基づき補正データの更新が行なわれる。図１１（ｃ）に更新時にアクセスされるメモリアドレスを示す。ＨＯＢ（０）領域のデータを更新する場合には、アドレスｈ０〜ｈ１に格納される補正データがメモリ３０１から出力され、補正データを更新した後にアドレスｈ０〜ｈ１に再格納される。ＶＯＢ（ｃ）領域のデータを更新する場合には、アドレスｈ６〜ｈ７に格納される補正データがメモリ３０１から出力され、補正データを更新した後にアドレスｈ６〜ｈ７に再格納される。
【００６４】
クロップ（Ｂ）領域の画像データは、前述した様に更新された補正データで列毎に補正される。図１２（ｃ）に補正時にアクセスされるメモリアドレスを示す。ＨＯＢ（１）領域のデータを補正する場合には、アドレスｈ０〜ｈ１に格納される補正データがメモリ３０１から出力され、画像データが列毎に補正される。クロップ（Ｂ）領域のデータを補正する場合には、アドレスｈ１０〜ｈ１１に格納される補正データがメモリ３０１から出力され、画像データが列毎に補正される。
【００６５】
その後はクロップ領域が変更されない場合は、ステップＳ５０９、ステップＳ５１０を経てフレームの読出しが繰り返される（図１０（ｄ）〜（ｆ））。読み出されて補正された各フレームの画像データは、ＲＡＭ１０７に格納された後、画像処理部１０８にて圧縮等が行われ、動画として記録部１０９に記録される。
【００６６】
この様に、各フレームの読出し時に読み出すＶＯＢ領域をＶＯＢ（ａ）、ＶＯＢ（ｂ）、ＶＯＢ（ｃ）と順次変化させ、各ＶＯＢ領域から読み出された画像データを使用して補正データを生成・更新して各領域に対応するメモリのアドレスに格納している。これにより、常に撮像素子１００の画素アレイ１００ａの全ての列の補正データを更新しながらメモリに保持することができる。また、画像データを補正する時は、補正される画像データの画素アレイ上での列に対応するメモリのアドレスにアクセスすることで、画像データを列毎に補正することができる。
【００６７】
以上の構成により、クロップ領域が変わった場合でも、変更されたクロップ領域の各画素列に対応するメモリアドレスにアクセスするだけで画像データの列に対応した補正データで補正をすることができる。これにより、補正データの再生成による画像データのフレーム消失を防ぐことができる。
【実施例２】
【００６８】
次に、本発明の第２の実施形態を説明する。
図１３は、本発明の第２の実施形態に係わる撮像装置の構成を示すブロック図である。
【００６９】
図示の撮像装置は、オートフォーカス（ＡＦ）機能（焦点検出手段）を用いて動画像を撮影する機能を有し、被写体を撮像して画像信号を取得する撮像素子１３００を備える。この撮像素子１３００は被写体の光学像を光電変換により電気信号（アナログ信号、つまり、画像信号）に変換する画素配列を有する。本実施形態の撮像装置の撮像素子は、ＡＦ機能を行なうための画像信号を読み出せるように、後述するような２つの光電変換素子（Ａ、Ｂ）を含む画素構造を有する。これにより、撮像素子は、光電変換素子Ａの画像信号（Ａ像信号）または光電変換素子Ｂの画像信号（Ｂ像信号）、またはＡ＋Ｂ像信号を出力することができる構成となっている。本実施形態では、Ａ＋Ｂ像信号とＡ像信号を読み出せば、所定の処理によりＢ像信号を算出することができるので、Ａ像信号（第１の画像信号）とＡ＋Ｂ像信号(第２の画像信号)を読み出す。そして、Ａ＋Ｂ像信号が画像信号として使用され、Ａ＋Ｂ像信号から対応する画素のＡ像信号を減算してＢ像信号が作成され、Ａ像信号とともにＡＦの演算に使用される。従って、補正データ（第１の補正データ、第２の補正データ）は、Ａ像信号とＡ＋Ｂ像信号それぞれについて生成、更新される構成となる。
【００７０】
同図において、撮像素子１３００から出力されたアナログ信号は、アナログフロントエンド（ＡＦＥ）１３０２でゲインが調整されるとともに、所定の量子化ビットに応じてデジタル信号（画像データ）に変換される。なお、撮像素子１３００およびＡＦＥ１３０２はタイミングジェネレータ（ＴＧ）１３０１によって駆動タイミングが制御され、ＴＧ１３０１自体はＣＰＵ１３０３が制御プログラムを実行することによって制御される。
【００７１】
ＲＡＭ１３０７は、ＡＦＥ１３０２から出力される画像データおよび後述する画像処理部１３０８で処理された画像データを記憶するためのメモリ（画像メモリ）であり、さらに、ＲＡＭ１３０７は後述するＣＰＵ１３０３によってワークメモリとしても用いられる。なお、ここでは、画像メモリおよびワークメモリとしてＲＡＭ１３０７を用いているが、アクセス速度が問題ないレベルのメモリであれば、他のメモリを用いるようにしてもよい。
【００７２】
ＲＯＭ１３０５には、ＣＰＵ１３０３上で動作するプログラムが格納される。本実施形態では、ＲＯＭ１３０５としてフラッシュＲＯＭを用いることとするが、アクセス速度が問題ないレベルのメモリであれば、フラッシュＲＯＭ以外の他のメモリを用いるようにしてもよい。
【００７３】
ＣＰＵ１３０３は、ＲＯＭ３１０５に記憶されているプログラムをロードして実行することにより撮像装置を統括的に制御する。画像処理部１３０８は撮影の結果得られた画像データの補正や圧縮等の処理を行い、後述する画像補正部３００を含む。
【００７４】
記録部１３０９は、例えば、不揮発性メモリ又はハードディスク等の記録媒体を有し、静止画像データおよび動画像データなどの画像データや、それらに関連する情報などを記録媒体に記録する。図示の例では、記録部１３０９が撮像装置に含まれているが、コネクタを介して着脱可能な不揮発性メモリ又はハードディスク等の記録媒体を含む外部記録装置であってもよい。
【００７５】
操作部３０４は、撮影命令および撮像条件等の設定をＣＰＵ１３０３に対して行う際にユーザーの指示や設定情報を入力するために用いられる。表示部１３０６はＣＰＵ１３０３の制御下で、撮影の結果得られた静止画像および動画像やメニュー画面等の表示を行う。
【００７６】
１３１９は撮影光学系（結像光学系）の先端に配置された第１レンズ群で、光軸方向に進退可能に保持される。１３１８は絞りで、その開口径を調節することで撮影時の光量調節を行う。１３１７は第２レンズ群である。そして前記絞り１３１８及び第２レンズ群１３１７は一体となって光軸方向に進退し、前記第１レンズ群１３１９の進退動作との連動させることにより、変倍作用（ズーム機能）をなす。
【００７７】
１３１６は第３レンズ群で、光軸方向の進退により焦点調節を行う。
【００７８】
１３１１は静止画撮影時に露光秒時を調節するフォーカルプレーンシャッタである。本実施形態では、フォーカルプレーンシャッタにて撮像素子１３００の露光秒時を調節する構成であるが、この限りではない。撮像素子１３００が電子シャッタ機能を有し、ＣＰＵ１３０３の制御により制御パルスで露光秒時を調節する構成であってもよい。
【００７９】
１３１２はフォーカス駆動回路で、ＡＦ演算部１３１０の焦点検出結果に基づいてフォーカスアクチュエータ１３１４を駆動制御し、第３レンズ群１３１６を光軸方向に進退駆動して焦点調節を行なう。１３１３は絞り駆動回路で、絞りアクチュエータ１３１５を駆動制御して絞り１３１８の開口を制御する。
【００８０】
図１４（ａ）に撮像素子１３００の構成を概念的に示す。図１４（ａ）において撮像素子は、光電変換素子である画素を２次元に配列した画素アレイ１３００ａ、画素アレイ１３００ａの行を選択する垂直選択回路１３００ｄ、および画素アレイ１３００ａの列を選択する水平選択回路１３００ｃを持つ。また、撮像素子１３００は、画素アレイ１３００ａに半列されている画素のうち、垂直選択回路１３００ｄ及び水平選択回路１３００ｃによって選択される画素の信号を読み出す読み出し回路３００ｂを持つ。
【００８１】
画素アレイ１３００ａの画素配列の一部には、遮光された画素（ＯＢ）の配列を含む。垂直選択回路１３００ｄは画素アレイ１３００ａの行を選択して、ＣＰＵ１３０３から出力される水平同期信号に基づいてＴＧ１３０１から出力される読出しパルスを、選択行において有効にする。読出し回路１３００ｂは列毎にアンプやメモリを含み、選択された行の画素信号が列単位でアンプを介してメモリに格納される。メモリに格納された１行分の画素信号は、水平選択回路１３００ｃによって列方向に順に選択され、アンプ１３００ｅを介して外部に出力される。
【００８２】
この動作を画素アレイ１３００ａの行の数だけ繰り返して、全ての画素の信号を外部に出力する。
【００８３】
また、垂直選択回路１３００ｄは、ＴＧ１３０１から入力される不図示のＯＢ画素選択パルスがハイレベル（Ｈｉｇｈ）である場合は、ＯＢ画素の画素行を順次選択して最終行を選択後に、再びＯＢ画素の最初の行を選択するよう制御される（巡回動作）。例えば、５行目から１４行目がＯＢ画素である場合、ＯＢ画素選択パルスがＨｉｇｈになると、５、６、…、１４行目が順次選択され、その後再び５、６、…、１４行目が選択されるという動作が繰り返される。そして、このような動作（巡回）を１０回繰り返せば、１００行分のＯＢ画素データが出力されることとなる。これらの動作は、上述したようにＣＰＵ１３０３によるプログラムの実行によって制御される。
【００８４】
ところで、本実施形態に係わる撮像素子１３００は、図１４（ｂ）に示す画素アレイの構造に関連して、画像出力と共に位相差測距をするためのデータを出力することができる。
【００８５】
図１４（ｂ）は、画素アレイ１３００ａの画素の配列構成を概念的に示す。画素アレイ１３００ａは、２次元の画像を提供するために、複数の画素を２次元に配列して構成される。同図において、１３００ｆはマイクロレンズ、１３００ｇ、１３００ｈはそれぞれ光電変換を行うフォトダイオード（ＰＤ）である。各画素は２つのＰＤからなり、１つの画素に対して１つのマイクロレンズが上部に配置される構成となっている。この画素が水平、垂直方向に並んで配置される。
【００８６】
以下、１３００ｇのように左側ＰＤの信号をＡ像データ、１３００ｈのように左側ＰＤの信号をＢ像データとする。上述のように、撮像素子１３００は、Ａ像データまたはＢ像データ、またはＡ＋Ｂ像データを出力することができるよう画素読み出しを制御できる構成となっている。Ａ＋Ｂ像信号とＡ像信号を読み出せば、所定の処理によりＢ像信号を算出することができるので、Ａ像信号とＡ＋Ｂ像信号を読み出す。
【００８７】
画像信号としては、Ａ＋Ｂ像信号が使用される。Ａ＋Ｂ像信号から対応する画素のＡ像信号を減算してＢ像信号を作成し、Ａ像信号とともに後述するオートフォーカス（ＡＦ）の演算に使用する。
【００８８】
またＡ像信号を読み出す画素領域（ＡＦ領域）の列は、ユーザーによる操作部１３０４の操作により撮像素子１３００への設定を変更することができる。さらには、ＯＢ部のＡ像信号の読出し領域は開口画素領域とは別個に設定することができる。この設定は、予めＣＰＵ１３０３に設置しておくことも可能であり、また操作部１３０４により適宜設定、変更するように構成することも可能であるが、本実施形態では、遮光されていない画素の読み出し領域について操作部１３０４による設定ができるものとする。
【００８９】
画像処理部１３０８は、第１の実施形態で述べた画像補正部３００を含む。従って、以下の説明において、生成または更新された補正データをメモリに記憶するときの格納アドレスと画素アレイの各列との対応関係の制御構成は第１の実施形態と同様である。
【００９０】
図１５は、本実施形態に係わる撮像装置の動作のフローチャートを示す図である。図１５を用いて、以下に本実施形態に係わる撮像装置の動作を説明する。
【００９１】
操作部１３０４の操作によって動画像の撮影が開始されると、ステップＳ１５０１にて、ＣＰＵ１３０３はＴＧ１３０１に対して画像信号の読み出し期間内で所定時間だけＯＢ画素選択パルスをハイレベルにする設定を行う（巡回設定）。
【００９２】
次にステップＳ１５０２にて、ＣＰＵ１３０３は、水平選択回路１３００ｃに対して水平方向の読み出し領域(列の範囲)を設定する。
【００９３】
画像信号の読み出しは画素アレイの１行単位で行なわれる。本実施形態では、画像信号の読出し時には、水平方向に列領域が設定されたＡ像信号を読み出した後に、Ａ＋Ｂ像信号を読み出す構成とする。ここではＡ像信号のＶＯＢ領域に関する設定を行う。Ａ＋Ｂ像の読み出し領域は、開口画素領域全体である。
【００９４】
図１６（ａ）は、画素アレイ１３００ａの画素配列構成と読出し領域の配置を概念的に示す図である。水平方向の範囲Ｈ０〜Ｈ５、垂直方向の範囲Ｖ０〜Ｖ１で定義されている領域はＶＯＢ領域であり、ＶＯＢ（ａ）、ＶＯＢ（ｂ）、ＶＯＢ（ｃ）の３領域に分けられて(設定されて)いる。
【００９５】
前述した様に撮像素子１３００は画素アレイ１３００ａから読み出す列の範囲を選択することができ、ステップＳ１５０２では、ＣＰＵ１３０３は撮像素子１３００に対して、ＶＯＢ領域に関するＡ像信号の読み出す列の範囲をＶＯＢ（ａ）に設定する。具体的には、Ａ像信号のＶＯＢ（ａ）巡回領域と、Ａ＋Ｂ像信号のＶＯＢ（ａ）、ＶＯＢ（ｂ）およびＶＯＢ（ｃ）巡回領域が設定される。
【００９６】
その後ステップＳ１５０３にてＣＰＵ１３０３は撮像素子１３００に画像信号の読み出し動作を開始させる。読出し時にはＯＢ画素選択パルスが所定期間ハイレベルになり、垂直方向Ｖ０〜Ｖ１の領域が繰り返し読み出される（巡回動作）。その結果読み出される画像信号は、図１７（ａ）に示すように、Ａ像信号のＶＯＢ（ａ）巡回領域と、Ａ＋Ｂ像信号のＶＯＢ（ａ）、ＶＯＢ（ｂ）、ＶＯＢ（ｃ）巡回領域で構成される。
【００９７】
なお、図１７（ａ）〜（ｉ）と後述する図１８（ａ）〜（ｉ）、図１９（ａ）〜（ｉ）がそれぞれ対応する。
【００９８】
この画像はＡＦＥ１３０２でデジタル信号に変換された後、画像補正部３００に入力される。画像補正部３００では、補正データ生成回路３０４に画像データが入力され、所定の処理に基づき、画素アレイの各列の補正データが生成される。
【００９９】
図１８（ａ）は補正データ生成時にアクセスされるメモリ３０１のアドレスを模式的に示した図である。生成されたＶＯＢ（ａ）領域であるＨ０〜Ｈ１列のＡ像データの補正データは、アドレスａ０〜ａ１に格納される。また、ＶＯＢ（ａ）、ＶＯＢ（ｂ）、ＶＯＢ（ｃ）領域であるＨ０〜Ｈ５列のＡ＋Ｂ像データの補正データはアドレスａ６〜ａ１１に格納される。
【０１００】
次にステップＳ３０４にて補正データ生成が終了したかをＣＰＵ１３０３は判断する。この時点で、撮像素子１３００のＨ０〜Ｈ１列のＡ像データの補正データは終了しており、Ｈ２〜Ｈ５列のＡ像データの補正データは未生成なのでステップＳ１５０２に戻る。
【０１０１】
ステップＳ１５０２では、ＣＰＵ１３０３は撮像素子１３００に対して、ＶＯＢ領域に関するＡ像信号を読み出す列の範囲をＶＯＢ（ｂ）に設定する。具体的には、Ａ像信号のＶＯＢ（ｂ）巡回領域と、Ａ＋Ｂ像信号のＶＯＢ（ａ）、ＶＯＢ（ｂ）およびＶＯＢ（ｃ）巡回領域を設定する。
【０１０２】
その後ステップＳ１５０３にてＣＰＵ１３０３は撮像素子１３００に画像データの読み出し動作を開始させる。読出し時にはＯＢ画素選択パルスが所定期間ハイレベルになり、垂直方向のＶ０〜Ｖ１の領域が繰り返し読み出される（巡回動作）。その結果読み出される画像は図１７（ｂ）に示すように、Ａ像信号のＶＯＢ（ｂ）巡回領域と、Ａ＋Ｂ像信号のＶＯＢ（ａ）、ＶＯＢ（ｂ）およびＶＯＢ（ｃ）巡回領域から読み出された画像信号で構成される。
【０１０３】
この画像はＡＦＥ１３０２でデジタル信号に変換された後、画像補正部３００に入力される。画像補正部３００では、補正データ生成回路３０４に画像データが入力され、所定の処理に基づき補正データが生成される。
【０１０４】
図１８（ｂ）は補正値生成時にアクセスされるメモリアドレスを模式的に示した図である。生成されたＶＯＢ（ｂ）領域であるＨ２〜Ｈ３列のＡ像データの補正データはアドレスａ２〜ａ３に格納される。また、ここではＨ０〜Ｈ５のＡ＋Ｂ像データの補正データは既に生成されているので、補正データの生成・格納は行われない。
【０１０５】
次にステップＳ１５０４にて補正データ生成が終了したかをＣＰＵ１３０３は判断する。この時点で、画素アレイ１３００ａのＨ０〜Ｈ３列のＡ像信号の補正データは終了しており、Ｈ４〜Ｈ５列のＡ像信号の補正データは未生成なのでステップＳ１５０２に戻る。
【０１０６】
その後、同様の動作により、ＶＯＢ（ｃ）領域であるＨ４〜Ｈ５列のＡ像データの補正データが生成されて、メモリのアドレスａ４〜ａ５に格納される。
【０１０７】
その後ステップＳ１５０４では全ての列の補正データの生成の終了が確認され、ステップＳ１５０５に進む。
【０１０８】
ステップＳ１５０５では、ＣＰＵ１３０３はＴＧ１３０１に対して、ＯＢ画素選択パルスを読み出し期間内で所定時間ローレベルにする設定を行う（非巡回設定）。
【０１０９】
次にステップＳ１５０６にて、遮光されていない画素（開口画素）のうち、Ａ像信号を読み出す画素の領域を選択する。上述のように、本実施形態では事前にユーザーによる操作部１３０４の操作でオートフォーカスを行う領域（ＡＦ領域）が指定されている。ＣＰＵ１３０３はその指定に基づいて、撮像素子１３００に対して図１６（ａ）に示す列範囲Ｈ６〜Ｈ７および行範囲Ｖ２〜Ｖ３で定義されるＡ像信号を読み出す領域の設定を行う。
【０１１０】
その後ステップＳ１５０７にて、ＣＰＵ１３０３は撮像素子１３００に対して、ＶＯＢ領域に関するＡ像信号の読み出し列の範囲をＶＯＢ（ａ）に設定する。この設定は、メモリに記憶されたＡ像信号用の補正データを更新するための設定である。
【０１１１】
これらの設定に加えてＡ＋Ｂ像用に、Ａ＋Ｂ像信号のＶＯＢ（ａ）、ＶＯＢ（ｂ）およびＶＯＢ（ｃ）領域とＡ＋Ｂ像信号の開口領域であるＡ＋Ｂ像領域が設定される。
【０１１２】
設定後、ステップＳ１５０８にてＣＰＵ１３０３は撮像素子１３００に読出し動作を開始させる。
【０１１３】
読み出される画像信号は図１７（ｄ）に示すように設定された各領域から読み出された画像信号から構成される。即ち、Ａ像データのＶＯＢ（ａ）領域、Ａ＋Ｂ像データのＶＯＢ（ａ）、ＶＯＢ（ｂ）およびＶＯＢ（ｃ）領域、Ａ像データの開口画素領域であるＡ像（Ａ）領域、およびＡ＋Ｂ像データの開口領域であるＡ＋Ｂ像領域から読み出された画像信号で構成される。
【０１１４】
この画像はＡＦＥ１３０２でデジタル信号に変換された後、画像補正部３００に入力される。画像補正部３００では、ＶＯＢ（ａ）領域のＡ像データは、補正データ更新回路３０５に入力され、所定の処理に基づき補正データが更新される。図１８（ｄ）に更新時にアクセスされるメモリのアドレスを模式的に示す。Ａ像データの補正データの更新では、アドレスａ０〜ａ１に格納される補正データがメモリ３０１から出力され、補正データを更新した後にアドレスａ０〜ａ１に再格納される。また、Ａ＋Ｂ像データの補正データの更新では、アドレスａ６〜ａ１１に格納される補正データがメモリ３０１から出力され、補正データを更新した後にアドレスａ６〜ａ１１に再格納される。
【０１１５】
開口画素領域のＡ像（Ａ）領域の画像データは、前述したように更新された補正データで列毎に補正される。図１９（ｄ）に補正時にアクセスされるメモリのアドレスを模式的に示す。アドレスａ１２〜ａ１３に格納される補正データがメモリ３０１から出力され、開口画素領域のＡ像（Ａ）領域の画像データが列毎に補正される。なお、アドレスａ１２と撮像素子１３００のＨ６列が、またアドレスａ１３とＨ７列がそれぞれ対応しており、アドレスａ１２〜ａ１３の補正データの数と、Ｈ６〜Ｈ７の範囲の列の数は同じになっている。
【０１１６】
また、開口画素領域のＡ＋Ｂ像領域の画像データは、前述したように更新された補正データで列毎に補正される。図１９（ｄ）に示されるアドレスａ６〜ａ１１に格納される補正データがメモリ３０１から出力され、開口画素領域のＡ＋Ｂ像領域の画像データが列毎に補正される。なお、アドレスａ６と画素アレイ１３００ａのＨ０列が、またアドレスａ１１とＨ５列がそれぞれ対応しており、アドレスａ６〜ａ１１の補正データの数と、Ｈ０〜Ｈ５の範囲の列の数は同じになっている。
【０１１７】
上記動作により、１回の読出し（１フレーム）の中で、ＶＯＢ領域の画像信号で補正データを更新後、画像データを補正することができる。
【０１１８】
次にステップＳ１５０９にてＡＦ動作を行う。
【０１１９】
補正された画像データはＡＦ演算部１３１０に入力され、Ａ像データとＡ＋Ｂ像データからＢ像データを生成し、Ａ像データとＢ像データから所定の演算を行ってピントのずれ量を算出する。ＡＦ演算部１３１０は、フォーカス駆動回路１３１２に算出したピントのずれ量を出力する。フォーカス駆動回路１３１２はＡＦ演算部１３１０から取得したすれ量に基づき第３レンズ群１３１６を動かす量を算出し、フォーカスアクチュエータ１３１４に駆動命令を出力する。第３レンズ群１３１６はフォーカスアクチュエータ１３１４によりピントが合う位置まで移動され、撮像素子１３００の撮影光学系においてピントが合った状態を達成する。
【０１２０】
次にステップＳ１５１０にて撮影終了をＣＰＵ１３０３が判断する。終了していない場合にはステップＳ１５１１に進む。ステップＳ１５１１ではＡＦ領域がユーザーによって変更されたかをどうか判断する。ＡＦ領域が変更されていない場合には、ステップＳ１５０７に戻る。
【０１２１】
その後ステップＳ１５０７にて、ＣＰＵ１３０３は撮像素子１３００に対して、ＶＯＢ領域に関するＡ像データを読み出す列をＶＯＢ（ｂ）に設定する。この設定も先のフレームに続いてメモリに記憶されたＡ像信号用の補正データを更新するための設定である。
【０１２２】
これらの設定に加えてＡ＋Ｂ像用に、Ａ＋Ｂ像信号のＶＯＢ（ａ）、ＶＯＢ（ｂ）およびＶＯＢ（ｃ）領域とＡ＋Ｂ像信号の開口領域であるＡ＋Ｂ像領域が設定される。
【０１２３】
設定後、ステップＳ１５０８にてＣＰＵ１３０３は撮像素子１３００に読出し動作を開始させる。
【０１２４】
読み出される画像信号は図１７（ｅ）に示す様に、上記設定された各領域から読み出された画像信号から構成される。即ち、Ａ像データのＶＯＢ（ｂ）領域と、Ａ＋Ｂ像データのＶＯＢ（ａ）、ＶＯＢ（ｂ）、ＶＯＢ（ｃ）領域、さらにＡ像データの開口画素領域であるＡ像（Ａ）領域、Ａ＋Ｂ像データの開口領域であるＡ＋Ｂ像領域から読み出された画像信号で構成される。
【０１２５】
この画像信号は、ＡＦＥ１３０２でデジタル信号に変換された後、画像補正部３００に入力される。画像補正部３００では、ＶＯＢ（ｂ）領域のＡ像データが補正データ更新回路３０５に入力され、所定の処理に基づき補正データが更新される。図１８（ｅ）に更新時にアクセスされるメモリのアドレスを示す。Ａ像データの補正データの更新では、アドレスａ２〜ａ３に格納される補正データがメモリ３０１から出力され、補正データを更新した後にアドレスａ２〜ａ３に再格納される。また、Ａ＋Ｂ像データの補正データの更新では、アドレスａ６〜ａ１１に格納される補正データがメモリ３０１から出力され、補正データを更新した後にアドレスａ６〜ａ１１に再格納される。
【０１２６】
開口画素領域のＡ像（Ａ）領域の画像データは、前述した様に更新された補正データで列毎に補正される。図１９（ｅ）に補正時にアクセスされるメモリのアドレスを示す。アドレスａ１２〜ａ１３に格納される補正データがメモリ３０１から出力され、開口画素領域のＡ像（Ａ）領域の画像データを列毎に補正するために使用される。
【０１２７】
また、開口画素領域のＡ＋Ｂ像領域の画像データは、前述した様に更新された補正データで列毎に補正される。図１９（ｄ）に示されるアドレスａ６〜ａ１１に格納される補正データがメモリ３０１から出力され、開口画素領域のＡ＋Ｂ像領域の画像データが列毎に補正される。
【０１２８】
その後、ステップＳ１５０９において前述した動作と同様にしてＡＦ動作を行う。
【０１２９】
同様にして、次のフレームではＶＯＢ領域に関するＡ像データを読み出す列としてＶＯＢ（ｃ）が選択され、図１７（ｆ）の様に読み出されて補正データの更新（図１８（ｆ））、画像データの補正（図１９（ｆ））が行われる。その後ＡＦ動作が行われる。
【０１３０】
ユーザーによってＡＦ領域が変更されるまでは、図１７（ｇ）〜（ｉ）に示される様に読出しが繰り返され、補正データの更新と画像データの補正、ＡＦ動作が順次行われる。
【０１３１】
ステップＳ１５１１にて、ＡＦ領域が変更されたことが判断された場合にはステップＳ１５０６に戻り、ＣＰＵ１３０３は撮像素子１３００に対して、読み出すＡ像データの開口画素領域を再設定する。図１６（ｂ）に変更されたＡＦ領域を示す。ＡＦ領域は水平方向の範囲がＨ８〜Ｈ９、垂直方向の範囲がＶ２〜Ｖ３であるとする。
【０１３２】
図２０（ｃ）に示す時点で、ステップＳ１５１１にてＡＦ領域が変更されたとする。その前は、前述する動作を繰り返し行っている。なお、図２０（ａ）〜（ｆ）と後述する図２１（ａ）〜（ｆ）、図２２（ａ）〜（ｆ）がそれぞれ対応する。
【０１３３】
その後ステップＳ１５０７にて、ＣＰＵ１３０３は撮像素子１３００に対して、ＶＯＢ領域に関するＡ像データを読み出す列をＶＯＢ（ｃ）に設定する。この設定は、前のフレームの読み出しでＶＯＢ（ｂ）の補正データが更新されたことに続いて次のＶＯＢ（ｃ）の補正データを更新するための設定である。
これらの設定に加えてＡ＋Ｂ像用に、Ａ＋Ｂ像信号のＶＯＢ（ａ）、ＶＯＢ（ｂ）およびＶＯＢ（ｃ）領域とＡ＋Ｂ像信号の開口領域であるＡ＋Ｂ像領域が設定される。
【０１３４】
設定後、ステップＳ１５０８にてＣＰＵ１３０３は撮像素子１３００に読出し動作を開始させる。
【０１３５】
読み出される画像信号は図２０（ｃ）に示す様に、上記設定された各領域から読み出された画像信号から構成される。即ち、Ａ像データのＶＯＢ（ｃ）領域、Ａ＋Ｂ像データのＶＯＢ（ａ）、ＶＯＢ（ｂ）およびＶＯＢ（ｃ）領域、Ａ像データの開口画素領域であるＡ像（Ｂ）領域、およびＡ＋Ｂ像データの開口領域であるＡ＋Ｂ像領域から読み出された画像信号で構成される。
【０１３６】
この画像信号は、ＡＦＥ１３０２でデジタル信号に変換された後、画像補正部３００に入力される。画像補正部３００では、ＶＯＢ（ｃ）領域のＡ像データは、補正データ更新回路３０５に入力され、所定の処理に基づき補正データが更新される。図２１（ｃ）に更新時にアクセスされるメモリのアドレスを示す。Ａ像データの補正データの更新では、アドレスａ４〜ａ５に格納される補正データがメモリ３０１から出力され、補正データを更新した後にアドレスａ４〜ａ５に再格納される。また、Ａ＋Ｂ像データの補正データの更新では、アドレスａ６〜ａ１１に格納される補正データがメモリ３０１から出力され、補正データを更新した後にアドレスａ６〜ａ１１に再格納される。
【０１３７】
開口画素領域のＡ像（Ｂ）領域の画像データは、前述した様に更新された補正データで列毎に補正される。図２２（ｃ）に、補正時にアクセスされるメモリのアドレスを示す。アドレスａ１３〜ａ１４に格納される補正データがメモリ３０１から出力され、開口画素領域のＡ像（Ｂ）領域の画像データが列毎に補正される。なお、アドレスａ１３と画素アレイ１３００ａのＨ８列が、またアドレスａ１４とＨ９列がそれぞれ対応しており、アドレスａ１３〜ａ１４の補正データの数と、Ｈ８〜Ｈ９の範囲の列の数は同じになっている。
【０１３８】
また、開口画素領域のＡ＋Ｂ像領域の画像は、前述した様に更新された補正データで列毎に補正される。図２２（ｃ）に示すアドレスａ６〜ａ１１に格納される補正データがメモリ３０１から出力され、開口画素領域のＡ＋Ｂ像領域の画像データが列毎に補正される。
【０１３９】
その後は、ステップＳ１５０９でＡＦ動作を行った後、ステップＳ１５１０、Ｓ１５１１を経て、ＡＦ領域が変更しない場合のフレームの読出しが繰り返される（図２０（ｄ）〜（ｆ））。
【０１４０】
読み出された各フレームの画像データ（Ａ＋Ｂ像データ）は、ＲＡＭ１３０７に格納された後、画像処理部１３０８にて圧縮等が行われ、動画データとして記録部１３０９に記録される。
【０１４１】
この様に、フレームの読出し時に読み出すＡ像信号のＶＯＢ領域をＶＯＢ（ａ）、ＶＯＢ（ｂ）、ＶＯＢ（ｃ）と順次変化させ、各ＶＯＢ領域から読み出された画像信号を使用して補正データを生成・更新して各領域に対応するメモリアドレスに格納している。これにより、常に撮像素子１３００の画素アレイ１３００ａの全ての列のＡ像データの補正データを保持することができる。また、画像データを補正する時は、補正される画像データの画素アレイ上での列に対応するメモリのアドレスにアクセスすることにより、列毎の補正を行うことができる。
【０１４２】
また、ＡＦ領域が変わった場合でも、変更されたＡ像データの各画素列に対応するメモリアドレスにアクセスするだけで画像データの画素アレイ上の列に対応した補正データを用いて補正をすることができる。これにより、補正データの再生成による画像データのフレーム消失を防ぐことができる。また、ＡＦ領域変更後もフレーム毎のＡＦ動作を中断することなく、直後から補正された画像データを用いてＡＦ動作をすることができる。
【実施例３】
【０１４３】
本実施形態では、撮像装置が画像信号の読み出しモードを設定、変更できる構成を有し、また画像補正部の補正データ更新回路が、更新量にゲインをかけるとともに、このゲインを更新経過に応じて変更する構成を有する。なお、本実施形態による撮像装置のブロック構成は、第２の実施形態の撮像装置と同様であるため、ここでの説明を省略する。また、動作においても上記ゲイン設定と読み出しモードの変更に関連するもの以外は、第２の実施形態と同様であるので、以下の説明において適宜ことわりを記載して省略する。
【０１４４】
最初に、本実施形態に係わる画像補正部３００を説明する。
【０１４５】
図２３は、本実施例における画像補正部３００の、補正データ更新回路３０５の構成を示すブロック図である。図において、更新量算出回路２３００は、メモリ３０１に格納される補正データと画像データが入力され、それらの入力データから補正データの更新量を算出する。更新量は乗算器２３０２に入力され、乗算器で設定されたゲインをかけられて、演算結果はデータ更新回路２３０１に入力される。データ更新回路２３０１は入力された補正データと前記演算結果から、新たな補正データを算出して出力する。乗算器に入力されるゲインは、ＣＰＵ１３０３によってその値が設定される。
【０１４６】
本実施形態における撮像素子１３００は、読み出しモードとして、水平方向の画素の加算機能を有する。ＣＰＵ１３０３により、水平３画素加算の設定がなされると、隣接する３画素の信号を加算して出力する。例えば、加算読み出しモードは、ユーザーが操作部１３０４を操作して表示部１３０６に表示される動画像を図２６（ａ）のように設定した状態に対応し、非加算読み出しモードは、図２６（ｂ）に示すように拡大表示設定を行った場合に対応する。
【０１４７】
図２４は、本実施形態に係わる撮像装置の動作のフローチャートを示す。なお、同図において、図１５と同様の処理ステップは同じ符号を付して示す。
【０１４８】
以下、図２４を参照して本実施形態に係わる撮像装置の動作を説明する。
【０１４９】
操作部１３０４の操作によって動画像の撮影が開始されると、ステップＳ２４０１にてＣＰＵ１３０３は撮像素子１３００に対して、加算モードの設定を行う。ここでは水平３画素加算モードの設定を行う。
【０１５０】
次に、補正データの生成を行なうが、ステップＳ１５０１からステップ１５０４で補正データの生成終了が判断されるまでは第２の実施形態と同様の処理であるので、ここでの詳細な説明は省略する。
【０１５１】
なお、水平３画素加算の読み出しモードでの画素アレイの読み出し領域を図２５（ａ）に示す。水平方向の範囲(列の範囲)Ｈａ０〜Ｈａ５、垂直方向の範囲(行の範囲)Ｖａ０〜Ｖａ１で定義されている領域はＶＯＢ領域であり、ＶＯＢ（ａ）、ＶＯＢ（ｂ）、ＶＯＢ（ｃ）の３領域に分けられている。
【０１５２】
次に、画像信号の読み出しのための設定を行なうが、ステップＳ１５０５からステップＳ１５０７まので領域設定は第２の実施形態と同様なのでその説明を省略する。なお、ここで設定される読み出し領域は、Ａ像データのＶＯＢ（ａ）領域とＡ像データの開口画素領域に加えて、Ａ＋Ｂ像データのＶＯＢ（ａ）、ＶＯＢ（ｂ）およびＶＯＢ（ｃ）領域とＡ＋Ｂ像データの開口領域であるＡ＋Ｂ像領域である。
【０１５３】
この領域設定後、本実施形態ではステップＳ２４０２において、ＣＰＵ１３０３は更新ゲインの設定を行う。これまでの動作で、メモリ３０１に補正データが生成されて格納されている場合には、ノイズ等の影響で更新量が誤算出された場合でも補正データに与える影響を小さくするためのゲインＡ値を設定する。
【０１５４】
設定後、ステップＳ１５０８にてＣＰＵ１３０３は撮像素子１３００に読出し動作を開始させる。
【０１５５】
読み出される画像信号は、Ａ像データのＶＯＢ（ａ）領域、Ａ＋Ｂ像データのＶＯＢ（ａ）、ＶＯＢ（ｂ）、ＶＯＢ（ｃ）領域、Ａ像データの開口画素領域であるＡ像領域、およびＡ＋Ｂ像データの開口領域であるＡ＋Ｂ像領域からの読み出し信号で構成される。ここでの補正データの更新と画像データの補正は、第２の実施形態と同様であるのでその説明は省略する。
【０１５６】
ステップＳ１５０８での動作により、１回の読出し（１フレーム）の中で、ＶＯＢ領域で補正データを更新後、画像データを補正することができる。
【０１５７】
次にステップＳ１５０９にてＡＦ動作を行う。この動作も第２の実施形態と同様であるのでここでの説明を省略する。
【０１５８】
次にステップＳ１５１０にて撮影終了をＣＰＵ１３０３が判断する。終了していない場合にはステップＳ２４０３に進む。ステップＳ２４０３では後述する読出しモードがユーザーによって変更されたかどうかを判断する。ここでは読出しモードの変更がされなかったとし、ステップＳ１５１１へ進む。
【０１５９】
ステップＳ１５１１ではＡＦ領域が変更されたかを判断する。ＡＦ領域が変更されていない場合には、ステップＳ１５０７に戻る。
【０１６０】
その後のステップＳ１５０７以降の動作は、第２の実施形態と同様に、ＶＯＢ領域に関するＡ像データの読み出す列をフレーム毎に変えていき、ステップＳ１５０７〜Ｓ１５１１の動作を同様に繰り返す。
【０１６１】
読み出された各フレーム画像（Ａ＋Ｂ像データ）は、ＲＡＭ１３０７に格納された後、画像処理部１３０８にて圧縮等が行われ、動画として記録部１３０９に記録される。
【０１６２】
次に、ステップＳ２４０３で読出しモードが変更された場合を説明する。
【０１６３】
ユーザーが表示部１３０６に表示される動画像を図２６（ａ）の状態から、操作部１３０４を操作して図２６（ｂ）に示す拡大表示の設定を行ったとする。すると、ステップＳ２４０３では、表示設定が変更されたので、ＣＰＵ１３０３は読出しモードの変更と判断し、動作をステップＳ２４０１へと進める。
【０１６４】
ステップＳ２４０１では、ＣＰＵ１３０３は撮像素子１３００に対して、図２６（ｂ）に示す拡大表示の設定に対応して非加算モードの設定を行う。
【０１６５】
次のステップＳ１５０１とＳ１５０２での設定動作は第２の実施形態と同様であるのでここでの説明は省略する。
【０１６６】
なお、非加算の読み出しモードでの画素アレイの読み出し領域は図２５（ｂ）に示すとおりである。同図に示すように、水平方向の範囲（列範囲）Ｈｂ０〜Ｈｂ５、垂直方向の範囲(行範囲)Ｖｂ０〜Ｖｂ１で定義されている領域がＶＯＢ領域であり、ＶＯＢ（ｅ）、ＶＯＢ（ｄ）、ＶＯＢ（ｆ）の３領域に分けられている。
【０１６７】
図２７（ｃ）に示す時点で、ステップＳ２４０３にて読出しモードが変更されたとする。その前は、前述した動作を繰り返し行っている。なお、図２７（ａ）〜（ｆ）と後述する図２８（ａ）〜（ｆ）、図２９（ａ）〜（ｆ）がそれぞれ対応する。
【０１６８】
第２の実施形態で述べたように、撮像素子１３００は水平方向に読み出す列を選択することができる。ステップＳ１５０２では、ＣＰＵ１３０３は撮像素子１３００に対して、ＶＯＢ領域に関するＡ像データを読み出す列をＶＯＢ（ｅ）に設定する。
【０１６９】
なお、ここでＶＯＢ（ｅ）領域を設定したのは、読出しモード変更直後は図２５（ｂ）に示す開口画素のＡ像データ領域をＡＦ領域として使用するためである。読出しモード変更直後に他の領域を最初のＡＦ領域として使用する場合は、読み出す開口画素のＡ像データと同じ列のＶＯＢ領域を設定すればよい。
【０１７０】
その後ステップＳ１５０３にてＣＰＵ１３０３は、撮像素子１３００からの画像信号の読み出し動作を開始する。読出し時にはＯＢ画素選択パルスが所定期間ハイレベルになり、垂直方向の範囲Ｖｂ０〜Ｖｂ１の領域が繰り返し読み出される（巡回動作）。その結果読み出される画像信号は、図２７（ｃ）に示す様にＡ像データのＶＯＢ（ｅ）巡回領域と、Ａ＋Ｂ像データのＶＯＢ（ｄ）、ＶＯＢ（ｅ）、ＶＯＢ（ｆ）巡回領域から読み出された画像信号で構成される。
【０１７１】
この画像信号は、ＡＦＥ１３０２でデジタル信号に変換された後、画像補正部３００に入力される。画像補正部３００では、補正データ生成回路３０４に画像データが入力される。新たに補正データを生成するので、メモリ３０１をリセットした後に、所定の処理に基づいて補正データを生成する。
【０１７２】
生成された、ＶＯＢ（ｅ）領域であるＨｂ２〜Ｈｂ３列のＡ像データの補正データは、図２８（ｃ）に示す様に、メモリのアドレスｂ２〜ｂ３に格納される。また、ＶＯＢ（ｄ）、ＶＯＢ（ｅ）、ＶＯＢ（ｆ）領域であるＨｂ０〜Ｈｂ５のＡ＋Ｂ像データの補正データは、アドレスｂ６〜ｂ１１に格納される。
【０１７３】
次にステップＳ１５０４にて補正データ生成が終了したかどうかをＣＰＵ１３０３は判断する。この時点で、ＡＦ領域であるＨｂ２〜Ｈｂ３列の補正データは生成されているので、ステップＳ１５０５に進む。
【０１７４】
ステップＳ１５０６では、ＣＰＵ１３０３がＴＧ１３０１に対して、ＯＢ画素選択パルスを読み出し期間内で所定時間ローレベルにする設定を行う（非巡回設定）。
【０１７５】
次にステップＳ１５０６にて、遮光されていない画素（開口画素）のうち、Ａ像データを読み出す領域を選択する。前述したように、ここでは図２５（ｂ）に示す、水平方向の範囲Ｈｂ２〜Ｈｂ３、垂直方向の範囲Ｖｂ２〜Ｖｂ３にて定義される領域のＡ像信号を読み出す設定を行う。
【０１７６】
その後ステップＳ１５０７にて、ＣＰＵ１３０３は撮像素子１３００に対して、ＶＯＢ領域に関するＡ像データを読み出す列の範囲をＶＯＢ（ｄ）に設定する。これは、Ａ像データ用の補正データを更新するための設定である。
【０１７７】
これらの設定に加えてＡ＋Ｂ像用に、Ａ＋Ｂ像信号のＶＯＢ（ｄ）、ＶＯＢ（ｅ）およびＶＯＢ（ｆ）領域とＡ＋Ｂ像信号の開口領域であるＡ＋Ｂ像領域が設定される。
【０１７８】
次に、ステップＳ２４０２にて更新ゲインの設定を行う。ステップＳ１５０３でのメモリのリセットにより、ＶＯＢ（ｄ）領域に対応する列の補正データはメモリ３０１に格納されていないので、ゲインＡ値より大きなゲインＢ値を設定する。
【０１７９】
設定後、ステップＳ１５０８にてＣＰＵ１３０３は撮像素子１３００に読出し動作を開始させる。
【０１８０】
読み出される画像信号は、図２７（ｄ）に示すように、上記設定された各領域から読み出された画像信号である。即ち、Ａ像データのＶＯＢ（ｄ）領域、Ａ＋Ｂ像データのＶＯＢ（ｄ）、ＶＯＢ（ｅ）、ＶＯＢ（ｆ）領域、Ａ像データの開口画素領域であるＡ像領域、およびＡ＋Ｂ像データの開口領域であるＡ＋Ｂ像領域から読み出された画像信号で構成される。
【０１８１】
この画像信号は、ＡＦＥ１３０２でデジタル信号に変換された後、画像補正部３００に入力される。画像補正部３００では、ＶＯＢ（ｄ）領域のＡ像データが補正データ更新回路３０５に入力され、所定の処理に基づいて補正データが更新される。Ａ像データの補正データは、図２８（ｄ）に示す様に、補正データがない状態から上記補正データの更新をした後にアドレスｂ０〜ｂ１に格納される。また、Ａ＋Ｂ像データの補正データは、アドレスｂ６〜ｂ１１に格納される補正データがメモリ３０１から出力され、補正データを更新した後にアドレスｂ６〜ｂ１１に再格納される。
【０１８２】
この段階では、Ａ像データの補正データは、Ｈｂ０〜Ｈｂ１の範囲の列を補正する補正データの計算過程のデータである。
【０１８３】
開口画素領域のＡ像領域の画像データは、前述したように更新された補正データで列毎に補正される。図２９（ｄ）に示す様に、アドレスｂ２〜ｂ３に格納される補正データがメモリ３０１から出力され、画像データが列毎に補正される。なお、アドレスｂ２と画素アレイ１３００ａのＨｂ２列が、アドレスｂ３とＨｂ３列がそれぞれ対応しており、アドレスｂ２〜ｂ３の補正データの数と、Ｈｂ２〜Ｈｂ３の範囲の列の数は同じになっている。
【０１８４】
また、開口画素領域のＡ＋Ｂ像領域の画像データは、前述したように更新された補正データで列毎に補正される。アドレスｂ６〜ｂ１１に格納される補正データがメモリ３０１から出力され、画像データが列毎に補正される。なお、アドレスｂ６と画素アレイ１３００ａのＨｂ０列が、アドレスｂ１１とＨｂ５列がそれぞれ対応しており、アドレスｂ６〜ｂ１１の補正データの数と、Ｈｂ０〜Ｈｂ５の範囲の列の数は同じになっている。
【０１８５】
次にステップＳ１５０９にてＡＦ動作をした後にステップＳ１５０１にて撮影の続行が判断される。
【０１８６】
その後ステップＳ２４０３で読出しモードの変更がなければ、ステップＳ１５１１に進み、ＡＦ領域の変更がなければステップＳ１５０７に進む。
【０１８７】
ステップＳ１５０７以降は、フレームの読出しを図２７（ｅ）〜（ｉ）の様に行なう。
【０１８８】
図２７（ｅ）のステップＳ２４０２では、ゲインの大きさが、ゲインＡ＜ゲインＣ＜ゲインＢとなるゲインＣを設定する。この時点でアドレスｂ０〜ｂ１に格納される補正データは、計算過程である。
【０１８９】
図２７（ｆ）のステップＳ２４０２では、ゲインの大きさが先のＣより小さいゲインＡを設定する。この時点でアドレスｂ０〜ｂ１に格納される補正データは、補正データとして算出される。
【０１９０】
この様に、同じＡ像データのＶＯＢ領域を連続して読出して補正データを順次更新していく過程において、更新ゲインを高い値から低い値に変えていくことにより、限られたＶＯＢ領域のデータ数で早く補正データを生成することができる。なお、本実施形態では、３つの異なる値のゲインを用いているが、これに限るものではない。
【０１９１】
まだ補正データを生成していない領域ＶＯＢ（ｆ）についても、上記と同様なゲイン設定と読出しにより補正データを生成して更新する（図２７（ｇ）〜（ｉ）、図２８（ｇ）〜（ｉ））。
【０１９２】
各領域の補正データが生成された後には、ゲインはゲインＡに設定され、Ａ像データに関して各ＶＯＢ領域が順に読み出される動作となる。
【０１９３】
上記のような動作により、加算・非加算等の読出しモードが切り替えられて補正データが一度リセットされた場合でも、ＡＦに使用する領域のＡ像データの補正データを生成し、次のフレームからＡＦ動作を行うことができる。また、このとき、限られたＶＯＢ領域から更新ゲインを変更させて補正データを生成することができるので、巡回動作をするフレーム数を最小限にすることができ、画像フレームの消失を最小限にすることができる。
【０１９４】
なお、上述した読み出しモードの設定変更に伴う補正データの生成、更新動作および更新ゲインの変更制御は、第２および本実施形態のように焦点検出用の画素を有する撮像素子を備えた撮像装置に限られるものではない。第１の実施形態の撮像装置の動作にも適用可能である。
【０１９５】
前述した本発明の実施形態に係わる撮像装置を構成する各手段並び制御方法の各工程は、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記憶したコンピュータ読み取り可能な記憶媒体は本発明に含まれる。
【０１９６】
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【０１９７】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システムまたは装置に直接、または遠隔から供給する場合も含む。そして、そのシステムまたは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【０１９８】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【０１９９】
プログラムを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスクなどがある。さらに、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ）などもある。
【０２００】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する方法がある。そして、前記ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０２０１】
また、その他の方法として、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０２０２】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０２０３】
さらに、その他の方法として、まず記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。そして、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【０２０４】
上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【図１】
0005921239.tif 000002
【図２】
0005921239.tif 000003
【図３】
0005921239.tif 000004
【図４】
0005921239.tif 000005
【図５】
0005921239.tif 000006
【図６】
0005921239.tif 000007
【図７】
0005921239.tif 000008
【図８】
0005921239.tif 000009
【図９】
0005921239.tif 000010
【図１０】
0005921239.tif 000011
【図１１】
0005921239.tif 000012
【図１２】
0005921239.tif 000013
【図１３】
0005921239.tif 000014
【図１４】
0005921239.tif 000015
【図１５】
0005921239.tif 000016
【図１６】
0005921239.tif 000017
【図１７】
0005921239.tif 000018
【図１８】
0005921239.tif 000019
【図１９】
0005921239.tif 000020
【図２０】
0005921239.tif 000021
【図２１】
0005921239.tif 000022
【図２２】
0005921239.tif 000023
【図２３】
0005921239.tif 000024
【図２４】
0005921239.tif 000025
【図２５】
0005921239.tif 000026
【図２６】
0005921239.tif 000027
【図２７】
0005921239.tif 000028
【図２８】
0005921239.tif 000029
【図２９】
0005921239.tif 000030