(57)【特許請求の範囲】
【請求項１】
行列状に配置された複数の画素と、前記複数の画素の各列にそれぞれ複数設けられ前記複数の画素から画像信号が出力される読み出し回路とを備え、各列における複数の画素が複数の読み出し回路のいずれかに接続された撮像素子と、
複数の撮影モードのいずれかに設定可能なモード設定手段と、
前記複数の読み出し回路および前記複数の撮影モードにそれぞれ対応した複数の補正値が格納された記憶手段と、
前記記憶手段に格納されている複数の補正値のなかで各列において画像信号が出力される読み出し回路および前記モード設定手段により設定された撮影モードに対応した補正値を用いて前記撮像素子から出力された画像データを補正する補正手段と、
を有することを特徴とする撮像装置。
【請求項２】
前記モード設定手段は、前記各列における複数の画素の出力信号を混合する第１の撮影モードと、前記各列における複数の画素の出力信号を混合しない第２の撮影モードのいずれかの撮影モードを設定することを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記複数の補正値を生成する生成手段を有することを特徴とする請求項１または２に記載の撮像装置。
【請求項４】
前記生成手段による前記複数の補正値の生成は、画像の撮影前に行われることを特徴とする請求項３に記載の撮像装置。
【請求項５】
行列状に配置された複数の画素と、前記複数の画素の各列にそれぞれ複数設けられ前記複数の画素から画像信号が出力される読み出し回路とを備え、各列における複数の画素が複数の読み出し回路のいずれかに接続された撮像素子と、
前記複数の読み出し回路および前記撮像素子から出力される画像データの用途にそれぞれ対応した複数の補正値が格納された記憶手段と、
前記記憶手段に格納されている複数の補正値のなかで各列において画像信号が出力される読み出し回路および前記画像データの用途に対応した補正値を用いて前記撮像素子から出力された画像データを補正する補正手段と、
を有することを特徴とする撮像装置。
【請求項６】
前記画像データは、撮影画像を生成するために用いられる第１の画像データと、焦点検出を行うために用いられる第２の画像データを含むことを特徴とする請求項５に記載の撮像装置。
【請求項７】
前記第２の画像データを用いて前記焦点検出を行う際に隣接する複数画素のデータが混合されることを特徴とする請求項６に記載の撮像装置。
【請求項８】
前記補正手段は、前記撮像素子から出力された画像データのシェーディングを補正することを特徴とする請求項１乃至７のいずれか１項に記載の撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置に関する。
【背景技術】
【０００２】
撮像装置に使用されるＣＭＯＳセンサー等の撮像素子では、画素の不均一性による垂直方向、水平方向のシェーディングが存在する。特に、水平方向においては、列毎の読み出し回路、メモリの不均一性あるいはメモリから出力線を介して信号が出力されるまでの距離に応じて水平方向のシェーディングが存在する。例えば、下記特許文献１では、撮像素子が出力する信号を撮像装置が有する補正処理によって補正することで均一にする撮像装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２６３５５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示された技術では、高速読み出しのために各列に複数の読み出し回路を有する撮像素子を使用する場合、読み出し回路毎のシェーディングを適切に補正することができない。本発明の目的は、各列に複数の読み出し回路を有する撮像素子のシェーディングを適切に補正することを可能にした撮像装置を提供することである。
【課題を解決するための手段】
【０００５】
本発明に係る撮像装置は、行列状に配置された複数の画素と、前記複数の画素の各列にそれぞれ複数設けられ前記複数の画素から画像信号が出力される読み出し回路とを備え、各列における複数の画素が複数の読み出し回路のいずれかに接続された撮像素子と、複数の撮影モードのいずれかに設定可能なモード設定手段と、前記複数の読み出し回路および前記複数の撮影モードにそれぞれ対応した複数の補正値が格納された記憶手段と、前記記憶手段に格納されている複数の補正値のなかで各列において画像信号が出力される読み出し回路および前記モード設定手段により設定された撮影モードに対応した補正値を用いて前記撮像素子から出力された画像データを補正する補正手段と、を有することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、各列に複数の読み出し回路を有する撮像素子のシェーディングを適切に補正することを可能にした撮像装置を提供することができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施形態による撮像装置の構成例を示す図である。
【図２Ａ】本実施形態による撮像素子の回路構成の例を示す図である。
【図２Ｂ】本実施形態による撮像素子の回路構成の例を示す図である。
【図２Ｃ】第１及び第３の実施形態による画素の構成例を示す図である。
【図３】本実施形態による撮像素子のメモリの構成例を示す図である。
【図４】第１の実施形態による画像処理部が有する補正回路の例を示す図である。
【図５】図４に示す補正回路の動作例を示す図である。
【図６】第１の実施形態による撮像装置の動作例を示すフローチャートである。
【図７】第１及び第３の実施形態による撮像素子の動作例を示す図である。
【図８】第１及び第３の実施形態による撮像素子の動作例を示す図である。
【図９】第１の実施形態による画像処理部が有する補正回路の動作例を示す図である。
【図１０】第１及び第３の実施形態による撮像素子の動作例を示す図である。
【図１１】第１及び第３の実施形態による撮像素子の動作例を示す図である。
【図１２】第１の実施形態による画像処理部が有する補正回路の動作例を示す図である。
【図１３】第２の実施形態による画素の構成例を示す図である。
【図１４】第２の実施形態による画像処理部の構成例を示す図である。
【図１５】第２の実施形態による画像処理部が有する補正回路の例を示す図である。
【図１６】第２の実施形態による撮像装置の動作例を示すフローチャートである。
【図１７】第２の実施形態による撮像素子の動作例を示す図である。
【図１８】第２の実施形態による撮像素子の動作例を示す図である。
【図１９】第２の実施形態による撮像素子の動作を説明するための図である。
【図２０】第２の実施形態による画像処理部が有する補正回路の動作例を示す図である。
【図２１】第３の実施形態による画像処理部が有する補正回路の例を示す図である。
【図２２】第３の実施形態による撮像装置の動作例を示すフローチャートである。
【図２３】第３の実施形態による画像処理部が有する補正回路の動作例を示す図である。
【図２４】第３の実施形態による画像処理部が有する補正回路の動作例を示す図である。
【図２５】第３の実施形態による撮像装置の動作を説明するための図である。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態を図面に基づいて説明する。
【０００９】
（第１の実施形態）
本発明の第１の実施形態について説明する。
図１は、本発明の実施形態による撮像装置の構成例を示すブロック図である。本実施形態による撮像装置１００は、例えばデジタルカメラであり、静止画像撮影機能及び動画像撮影機能を有している。撮像装置１００は、撮像装置１００を統括的に制御するＣＰＵ（Central Processing Unit）１０２、及び撮影レンズ（図示せず）を通過した光学像が結像する撮像素子１０１を有する。撮像素子１０１は、これに結像された光学像を電気信号（アナログ画素信号）に変換後、所定の量子化ビット数に応じてデジタル画像データに変換して出力する。
【００１０】
ＲＡＭ（Random Access Memory）１０５は、撮像素子１０１から出力される画像データ及び画像処理部１０７で処理された画像データを記憶するための画像メモリである。ＲＡＭ１０５は、ＣＰＵ１０２のワークメモリとしても用いられる。本例では、画像メモリ及びワークメモリとしてＲＡＭ１０５を用いるが、アクセス速度に問題ないものであれば、他のメモリを用いてもよい。ＲＯＭ（Read Only Memory）１０６には、ＣＰＵ１０２で動作するプログラムが格納される。本例では、ＲＯＭ１０６としてフラッシュＲＯＭが用いられるが、アクセス速度に問題がないものであれば、他のメモリを用いてもよい。
【００１１】
画像処理部１０７は、本実施形態に係る静止画像及び動画像の補正処理や、画像の圧縮処理等を行う。操作部１０３は、ユーザーが撮像装置１００に静止画や動画の撮影命令を行う撮影スイッチを含み、撮像条件等を設定する際に用いられる。表示部１０４は、ＣＰＵ１０２の制御下で、画像データに応じた静止画像又は動画像の表示を行うとともに、メニュー等の表示を行う。インターフェース部（Ｉ／Ｆ）１０８は、外部記録部１１１とのインターフェースである。バス１１０は、ＣＰＵ１０２等の撮像装置１００内の機能部が接続されたバスである。
【００１２】
外部記録部１１１は、Ｉ／Ｆ１１２、記録媒体１１３及びコネクタ１１４を有する。記録媒体１１３は、例えば、不揮発性メモリ又はハードディスクであり、画像データ等が記録される。外部記録部１１１は、コネクタ１１４と撮像装置１００に備えられたコネクタ１０９とを介してＩ／Ｆ１０８と接続される。本実施形態では、コネクタ１０９、１１４によって撮像装置１００に対して着脱可能な外部記録部１１１に記録媒体１１３を設けているが、撮像装置１００に不揮発性メモリ又はハードディスク等の記録媒体を内蔵するようにしてもよい。
【００１３】
図２Ａ及び図２Ｂは、撮像素子１０１の回路構成の一例を示す図である。画素部２１０には、複数の画素２００が画素Ｒ１＿１〜Ｂｍ＿ｎ（ｍ、ｎは任意の整数）のように行列状に配置されている。画素２００に示すＲは赤色、Ｇは緑色、Ｂは青色のカラーフィルタが画素上に配置されることを意味する。また、Ｒ（Ｇ，Ｂ）ｉ＿ｊは、画素部２１０における第ｉ行第ｊ列の画素であることを示す。
【００１４】
ここで、画素２００の１画素毎の構成について図２Ｃを用いて説明する。フォトダイオード（ＰＤ）２０１は、入射した光信号を光電変換し、露光量に応じた電荷を蓄積する。制御信号ｔｘをハイレベルにすることで転送ゲート２０２がオン（導通状態）になり、ＰＤ２０１に蓄積されている電荷がフローティングディフュージョン部（ＦＤ部）２０３に転送される。ＦＤ部２０３は、増幅ＭＯＳトランジスタ２０４のゲートに接続されている。増幅ＭＯＳトランジスタ２０４は、ＰＤ２０１からＦＤ部２０３に転送されてきた電荷量に応じた電圧信号を出力する。
【００１５】
リセットスイッチ２０５は、ＦＤ部２０３やＰＤ２０１の電荷をリセットするためのスイッチである。制御信号ｒｅｓをハイレベルにすることでリセットスイッチ２０５がオン（導通状態）になり、ＦＤ部２０３がリセットされる。また、ＰＤ２０１の電荷をリセットする場合には、制御信号ｔｘ及び制御信号ｒｅｓを同時にハイレベルにすることで、転送ゲート２０２及びリセットスイッチ２０５を両方オンし、ＦＤ部２０３経由でＰＤ２０１をリセットする。画素選択スイッチ２０６は、制御信号ｓｅｌをハイレベルとすることでオン（導通状態）になり、増幅ＭＯＳトランジスタ２０４と画素２００の出力端子ｖｏｕｔとを接続する。これにより、増幅ＭＯＳトランジスタ２０４で電圧に変換された画素信号が画素２００の出力端子ｖｏｕｔに出力される。
【００１６】
図２Ａ及び図２Ｂに戻り、垂直走査回路４０４は、駆動信号ｒｅｓ＿１、ｔｘ＿１、ｓｅｌ＿１等を各画素２００に供給する。これらの駆動信号は、それぞれ各画素２００の端子ｒｅｓ、ｔｘ、ｓｅｌに供給される。各画素の出力端子ｖｏｕｔは、列出力線（垂直出力線）３００ａ〜３００ｄに接続される。画素Ｒ１＿１が配置される列（１列目）を例に説明すると、図２Ｂに示すように１行目の画素Ｒ１＿１から１２行目の画素Ｇ１２＿１までの画素と列出力線３００ａ〜３００ｄとの接続パターンが、１３行目以降の画素において繰り返される。この接続パターンは、各列同様である。
【００１７】
列出力線３００ａ〜３００ｄは、それぞれＡＤ変換器（ＡＤ変換部）３０１ａ〜３０１ｄの入力へ接続される。ＡＤ変換器３０１ａ〜３０１ｄは、画素部２１０から出力される光信号とノイズ信号の差分をアナログ−デジタル変換する。列出力線３００ａ〜３００ｄには、それぞれ電流源３０２ａ〜３０２ｄが接続されている。電流源３０２ａ〜３０２ｄと列出力線３００ａ〜３００ｄに接続された画素部２００の増幅ＭＯＳトランジスタ２０４によってソースフォロア回路が構成される。
【００１８】
メモリ４００ａ、４００ｂは、ＡＤ変換器３０１ａ〜３０１ｄの出力データを、タイミングジェネレータ（ＴＧ）４０５ａ、４０５ｂから出力される書き込み信号ｍｅｍｗｒに従って保持する。メモリ４００ａ、４００ｂに保持されたデータは、水平走査回路４０１ａ、４０１ｂの走査により出力部４０２ａ、４０３ａ、４０２ｂ、４０３ｂへ順次転送される。出力部４０２ａ、４０３ａ、４０２ｂ、４０３ｂは、ＬＶＤＳ（Low Voltage Differential Signaling）等の伝送方式により、撮像素子１０１の外部へデータを出力する。
【００１９】
図３を参照して、メモリ４００ａの構成について説明する。メモリ４００ａは、撮像素子１０１の水平画素数であるｎ画素分の画素データをそれぞれ格納するラインメモリ４１０ａ〜４１０ｄを有する。ラインメモリ４１０ａ〜４１０ｄには、ＡＤ変換器３０１ａ、３０１ｃの出力が接続される。書き込み制御部４１３は、ＴＧ４０５ａから入力される書き込み信号ｍｅｍｗｒが入力され、書き込み信号ｍｅｍｗｒを基に後述するタイミングでラインメモリ４１０ａ〜４１０ｄの各書き込み信号ｍｅｍｗｒ＿ａ〜ｍｅｍｗｒ＿ｄを出力する。ラインメモリ４１０ａ〜４１０ｄには書き込み信号ｍｅｍｗｒ＿ａ〜ｍｅｍｗｒ＿ｄに従ってＡＤ変換器３０１ａ、３０１ｃから出力されるデータが格納される。
【００２０】
ラインメモリ４１０ａ〜４１０ｄは、水平走査回路４０１ａからの水平走査信号に基づき、水平方向１〜ｎ列の画素のデータが順次出力される。ラインメモリ４１０ａの出力とラインメモリ４１０ｄの出力はセレクタ４１１に接続され、ラインメモリ４１０ｂの出力とラインメモリ４１０ｃの出力はセレクタ４１２に接続される。セレクタ４１１は、出力制御部４１４から出力される制御信号に従い、ラインメモリ４１０ａの出力又はラインメモリ４１０ｄの出力を出力部４０２ａに出力する。また、セレクタ４１２は、出力制御部４１４から出力される制御信号に従い、ラインメモリ４１０ｂの出力又はラインメモリ４１０ｃの出力を出力部４０３ａに出力する。なお、メモリ４００ｂの構成は、接続するＡＤ変換器、水平走査回路、ＴＧ、出力部が異なるだけで、メモリ４００ａの構成と同様である。
【００２１】
次に、図４を用いて、本実施形態による画像処理部１０７が有する補正回路について説明する。図４は、画像処理部１０７が有する補正回路の構成例を示す図である。ＲＡＭ５００には、撮像素子１０１の列出力線３００ａ〜３００ｄ、ＡＤ変換器３０１ａ〜３０１ｄを含む読み出し回路毎の補正値が格納される。
【００２２】
補正値ａ〜ｄは、それぞれ列方向の画素の画素信号を独立に読み出すとき（後述する静止画モードのとき）に、列出力線３００ａ〜３００ｄを含む読み出し回路毎の補正値である。補正値ａ〜ｄは、それぞれ水平画素数分、図４に示すアドレスに格納される。また、補正値Ａ〜Ｄは、それぞれ列方向の画素の画素信号を混合して読み出すとき（後述する動画モードのとき）に、列出力線３００ａ〜３００ｄを含む読み出し回路毎の補正値である。補正値Ａ〜Ｄは、それぞれ水平画素数分、図４に示すアドレスに格納される。
【００２３】
カウンタ５０１は、入力される画像データから水平方向（行方向）又は垂直方向（列方向）の画素数をカウントし、垂直カウンタ値を出力する。位相制御部５０２は、カウンタ５０１からの垂直カウンタ値とＣＰＵ１０２によって設定される設定値（Ｐ）とに基づき、行毎の位相コードを生成する。位相コードは、設定された値Ｐの周期で繰り返される。また、位相制御部５０２は、ＣＰＵ１０２によって、アドレスオフセットＡ１〜Ａ４が設定され、生成した位相コード毎に出力するアドレスオフセットを設定する。メモリコントローラ５０３には、位相コードに対応したアドレスオフセットが行毎に出力される。
【００２４】
図５に、位相制御部５０２の動作例を示す。設定値Ｐ＝４が設定され、位相コードＰ１〜Ｐ４に対して、Ｐ１のときにＡ１、Ｐ２のときにＡ２、Ｐ３のときにＡ３、Ｐ４のときにＡ４がアドレスオフセットとして出力されるように設定されたとする。画像データが入力されると、垂直カウンタ値に同期して位相コードはＰ１から始まり、Ｐ２、Ｐ３、Ｐ４の順序で変化し、以降Ｐ１からＰ４までを順に繰り返す。位相制御部５０２は、生成した位相コードＰ１、Ｐ２、Ｐ３、Ｐ４に対応して、アドレスオフセットＡ１、Ａ２、Ａ３、Ａ４を出力する。
【００２５】
メモリコントローラ５０３は、カウンタを有し、入力される画像データの行毎に０〜（ｎ−１）（ｎは本実施形態での水平画素数）のインクリメントをする。メモリコントローラ５０３は、インクリメントされるカウンタ値と位相制御部５０２から入力されるアドレスオフセット値とを加算し、アドレスとしてＲＡＭ５００へ出力する。ＲＡＭ５００は、メモリコントローラ５０３から入力されるアドレスに格納している補正値を補正部５０４に出力する。補正部５０４は、入力される画像データに対応する補正値で列毎のシェーディング補正を行う。本実施形態では、補正部５０４はオフセット補正を行うものとするが、この限りではなく、ゲイン補正等の別の補正も適用可能である。
【００２６】
次に、第１の実施形態による撮像装置の動作について説明する。図６は、第１の実施形態による撮像装置１００の撮影動作を説明するためのフローチャートである。ユーザーが図１に示した操作部１０３の動画撮影スイッチを押下すると、動画撮影が開始される。動画撮影が開始されると、ステップＳ１００にて、動画用の読み出し設定が行われ、ＣＰＵ１０２は、撮像素子１０１に対して、動画モードで駆動するための設定を行う。
【００２７】
次に、ステップＳ１０１にて、ＣＰＵ１０２は、画像処理部１０７に対して、動画モード時の補正設定を行う。本例では、位相制御部５０２に対して設定値Ｐ＝４の設定を行い、アドレスオフセットＡ１〜Ａ４として、Ａ１＝４ｎ、Ａ２＝５ｎ、Ａ３＝６ｎ、Ａ４＝７ｎの設定を行う。また、位相コードＰ１〜Ｐ４に対して、Ｐ１のときにＡ１、Ｐ２のときにＡ２、Ｐ３のときにＡ３、Ｐ４のときにＡ４がアドレスオフセット値として出力されるように設定する。
【００２８】
その後、ステップＳ１０２にて、動画の画像信号読み出しが行われる。ステップＳ１０２での動画の画像信号読み出し時の撮像素子１０１の動作について、図７を用いて説明する。図７に示す時刻ｔａ１にて、垂直走査回路４０４は、駆動信号ｓｅｌ＿１〜ｓｅｌ＿１２をハイレベルとして、１行目〜１２行目の画素２００の画素選択スイッチ２０６をオンする。これにより、増幅ＭＯＳトランジスタ２０４と電流源３０２ａ〜３０２ｄによって構成されるソースフォロア回路が動作状態となる。このとき、駆動信号ｒｅｓ＿１〜ｒｅｓ＿１２はハイレベルになっており、リセットスイッチ２０５がオンになりＦＤ部２０３がリセットされる。
【００２９】
時刻ｔａ２にて、垂直走査回路４０４は、駆動信号ｒｅｓ＿１〜ｒｅｓ＿１２をローレベルにネゲートする。このとき、各画素２００の出力端子ｖｏｕｔにはノイズレベルが出力され、列出力線３００ａには１、３、５行目の画素のノイズレベルの混合信号が出力され、列出力線３００ｂには２、４、６行目の画素のノイズレベルの混合信号が出力される。同様に、列出力線３００ｃには７、９、１１行目の画素のノイズレベルの混合信号が出力され、列出力線３００ｄには８、１０、１２行目の画素のノイズレベルの混合信号が出力される。
【００３０】
次に、時刻ｔａ３にて、ＴＧ４０５ａはＡＤ変換器３０１ａ、３０１ｃを駆動し、ＴＧ４０５ｂはＡＤ変換器３０１ｂ、３０１ｄを駆動して、ＡＤ変換を開始する。ここで各列直出力線に出力されるノイズレベルの混合信号がＡＤ変換される。時刻ｔａ４にて、ＡＤ変換が終了されると、ＡＤ変換器３０１ａ〜３０１ｄは、それぞれＡＤ変換されたノイズレベルを保持する。
【００３１】
時刻ｔａ５にて、垂直走査回路４０４は、駆動信号ｔｘ＿１〜ｔｘ＿１２をハイレベルにし、１行目〜１２行目の画素２００の転送ゲート２０２をオンする。そして、各画素のＰＤ２０１に蓄積されている信号電荷が増幅ＭＯＳトランジスタ２０４で構成されるソースフォロアのゲートに転送される。ソースフォロアは転送された信号電荷に見合う分だけリセットレベルから電位が変動して信号レベルが確定する。このとき、各画素２００の出力端子ｖｏｕｔには信号レベルが出力され、列出力線３００ａには１、３、５行目の画素の信号レベルの混合信号が出力され、列出力線３００ｂには２、４、６行目の画素の信号レベルの混合信号が出力される。同様に、列出力線３００ｃには７、９、１１行目の画素の信号レベルの混合信号が出力され、列出力線３００ｄには８、１０、１２行目の画素の信号レベルの混合信号が出力される。
【００３２】
次に、時刻ｔａ６にて、ＴＧ４０５ａはＡＤ変換器３０１ａ、３０１ｃを駆動し、ＴＧ４０５ｂはＡＤ変換器３０１ｂ、３０１ｄを駆動して、ＡＤ変換を開始する。ここで各列出力線に出力される信号レベルの混合信号がＡＤ変換される。時刻ｔａ７にて、ＡＤ変換が終了されると、ＡＤ変換器３０１ａ〜３０１ｄは、それぞれＡＤ変換された信号レベルを保持する。
【００３３】
時刻ｔａ８にて、駆動信号ｔｘ＿１〜ｔｘ＿１２がローレベルにネゲートされた後、時刻ｔａ９にて、書き込み信号ｍｅｍｗｒがハイレベルになる。書き込み信号ｍｅｍｗｒがハイレベルになると、ＡＤ変換器３０１ａ〜３０１ｄに保持される信号レベルの混合信号からノイズレベルの混合信号を減算したデータが、メモリ４００ａ又はメモリ４００ｂに格納される。
【００３４】
時刻ｔａ１０にて、書き込み信号ｍｅｍｗｒがローレベルにネゲートされるとメモリ４００ａ、４００ｂへのデータの格納が終了し、時刻ｔａ１１にて、駆動信号ｒｅｓ＿１〜ｒｅｓ＿１２がハイレベルになる。同時に、メモリからデータの転送（水平転送）が開始される。時刻ｔａ１２にて、駆動信号ｓｅｌ＿１〜ｓｅｌ＿１２がローレベルにネゲートされると垂直転送が完了する。その後、すべての水平画素の出力が時刻ｔａ１４で終了する。
【００３５】
前述した時刻ｔａ１〜時刻ｔａ１４の動作を次の１２行分（１３行目〜２４行目）の画素についても行い、以降ｍ行まで１２行単位で同様に繰り返す。
【００３６】
このときの出力部４０２ａ、４０３ａ、４０２ｂ、４０３ｂの出力について説明する。図８は、メモリ４０１ａ、４０１ｂの動作と出力部４０２ａ、４０３ａ、４０２ｂ、４０３ｂの出力との関係を示す図である。前述したようにメモリ４００ａ、４００ｂは図３に示した構成である。ここでは、メモリ４００ａに含まれるラインメモリ４１０ａをラインメモリ１、ラインメモリ４１０ｂをラインメモリ３、ラインメモリ４１０ｃをラインメモリ５、ラインメモリ４１０ｄをラインメモリ７とする。また、メモリ４００ｂに含まれるラインメモリ４１０ａをラインメモリ２、ラインメモリ４１０ｂをラインメモリ４、ラインメモリ４１０ｃをラインメモリ６、ラインメモリ４１０ｄをラインメモリ８とする。ラインメモリ１〜８は、図８に示すラインメモリ１〜８にそれぞれ対応する。また、図８に示す時刻ｔａ１、ｔａ１０、ｔａ１１、ｔａ１４は、それぞれ図７に示した時刻に対応する。
【００３７】
時刻ｔａ１０において、ラインメモリ１には１、３、５行目の画素の混合データ（Ｄ（１＋３＋５））が書き込まれる。以降、ｋ、（ｋ＋２）、（ｋ＋４）行目の画素の混合データをＤ（ｋ＋（ｋ＋２）＋（ｋ＋４））とする。ラインメモリ２にはＤ（２＋４＋５）が、ラインメモリ３にはＤ（７＋９＋１１）が、ラインメモリ４にはＤ（８＋１０＋１２）がそれぞれ書き込まれる。図８において、斜線部はデータがラインメモリに格納されていることを示す。
【００３８】
時刻ｔａ１１では、出力制御部４１４は、セレクタ４１１、４１２に対してラインメモリ４１０ａ、４１０ｂの出力を出力させるセレクト信号を出力する。時刻ｔａ１４までの水平転送（ＨＳＲ）期間でラインメモリ１〜４のデータが水平画素分だけ出力部４０２ａ、４０３ａ、４０２ｂ、４０３ｂから順次出力される。これまでの動作により、同じ色のカラーフィルタが配置される画素信号が列方向に３行ずつ混合された結果１行分の信号とされ、４行ずつ出力されることとなる。以降、これを繰り返すことにより、（ｍ／３）行分のデータが出力される（動画モード）。撮像素子１０１から読み出されたデータは、ＲＡＭ１０５に格納される。
【００３９】
図６に戻り、次に、ステップＳ１０３にて、画像の補正を行う。ＣＰＵ１０２は、ＲＡＭ１０５に格納されている画像データを画像処理部１０７に画素部２１０における上の行から順次送信する。図９に、入力される画像データ、位相コード、ＲＡＭ５００へ入力されるアドレス、及びＲＡＭ５００から出力される補正値の関係を示す。位相制御部５０２には設定値Ｐ＝４が設定されているので、位相コードはＰ１〜Ｐ４を繰り返す。それにより、アドレスオフセットはＡ１〜Ａ４が繰り返され、その結果アドレスは図９に示すようになる。これにより、画像データの１、２、３、４行目のときに、それぞれ補正値Ａ、Ｂ、Ｃ、Ｄが出力されることとなる。以降、４行毎に補正値Ａ、Ｂ、Ｃ、Ｄが繰り返され、対応する補正値を使用して補正部５０４にて行毎の補正がなされる。その後、画像処理部１０７内で不図示の圧縮回路での圧縮等を行い、外部記録部１１１に動画として記録される。
【００４０】
その後、ステップＳ１０４にて、ＣＰＵ１０２は、操作部１０３の静止画撮影スイッチが押下されたかを判断する。静止画撮影スイッチが押下されていない場合には（ステップＳ１０４のＮＯ）、ステップＳ１１１へ進む。ステップＳ１１１では、ＣＰＵ１０２は、動画撮影スイッチが押下されているかを判断し、動画撮影スイッチが押下されている場合には（ステップＳ１１１のＹＥＳ）、撮影を終了する。動画撮影スイッチが押下されていなかった場合には（ステップＳ１１１のＮＯ）、ステップＳ１０２へ戻り、ステップＳ１０２以降の処理を行う。
【００４１】
ステップＳ１０４において静止画撮影スイッチが押下されていた場合には（ステップＳ１０４のＹＥＳ）、ステップＳ１０５へ進む。ステップＳ１０５では、静止画用の読み出し設定が行われ、ＣＰＵ１０２は、撮像素子１０１に対して、静止画モードで駆動するための設定を行う。
【００４２】
次に、ステップＳ１０６にて、ＣＰＵ１０２は、画像処理部１０７に対して、静止画モード時の補正設定を行う。本例では、位相制御部５０２に対して設定値Ｐ＝１２の設定を行い、アドレスオフセットＡ１〜Ａ４として、Ａ１＝０、Ａ２＝ｎ、Ａ３＝２ｎ、Ａ４＝３ｎの設定を行う。また、位相コードＰ１〜Ｐ１２に対して、Ｐ１、Ｐ３、Ｐ５のときにＡ１、Ｐ２、Ｐ４、Ｐ６のときにＡ２、Ｐ７、Ｐ９、Ｐ１１のときにＡ３、Ｐ８、Ｐ１０、Ｐ１２のときにＡ４がアドレスオフセット値として出力されるように設定を行う。
【００４３】
その後、ステップＳ１０７にて、静止画の画像信号読み出しが行われる。ステップＳ１０７での静止画の画像信号読み出し時の撮像素子１０１の動作について、図１０を用いて説明する。図１０に示す時刻ｔｂ１にて、垂直走査回路４０４は、駆動信号ｓｅｌ＿１、ｓｅｌ＿２、ｓｅｌ＿７、ｓｅｌ＿８をハイレベルとして、１、２、７、８行目の画素２００の画素選択スイッチ２０６をオンする。これにより、増幅ＭＯＳトランジスタ２０４と電流源３０２ａ〜３０２ｄによって構成されるソースフォロア回路が動作状態となる。このとき、駆動信号ｒｅｓ＿１、ｒｅｓ＿２、ｒｅｓ＿７、ｒｅｓ＿８はハイレベルになっており、リセットスイッチ２０５がオンになりＦＤ部２０３がリセットされる。
【００４４】
時刻ｔｂ２にて、垂直走査回路４０４は、駆動信号ｒｅｓ＿１、ｒｅｓ＿２、ｒｅｓ＿７、ｒｅｓ＿８をローレベルにネゲートする。このとき、各画素２００の出力端子ｖｏｕｔにはノイズレベルが出力され、列出力線３００ａには１行目の画素のノイズレベルが出力され、列出力線３００ｂには２行目の画素のノイズレベルが出力される。同様に、列出力線３００ｃには７行目の画素のノイズレベルが出力され、列出力線３００ｄには８行目の画素のノイズレベルが出力される。
【００４５】
次に、時刻ｔｂ３にて、ＴＧ４０５ａはＡＤ変換器３０１ａ、３０１ｃを駆動し、ＴＧ４０５ｂはＡＤ変換器３０１ｂ、３０１ｄを駆動して、ＡＤ変換を開始する。ここで各列出力線に出力されるノイズレベルがＡＤ変換される。時刻ｔｂ４にて、ＡＤ変換が終了されると、ＡＤ変換器３０１ａ〜３０１ｄは、それぞれＡＤ変換されたノイズレベルを保持する。
【００４６】
時刻ｔｂ５にて、垂直走査回路４０４は、駆動信号ｔｘ＿１、ｔｘ＿２、ｔｘ＿７、ｔｘ＿８をハイレベルにし、１、２、７、８行目の画素２００の転送ゲート２０２をオンする。そして、各画素のＰＤ２０１に蓄積されている信号電荷が増幅ＭＯＳトランジスタ２０４で構成されるソースフォロアのゲートに転送される。ソースフォロアは転送された信号電荷に見合う分だけリセットレベルから電位が変動して信号レベルが確定する。このとき、各画素２００の出力端子ｖｏｕｔには信号レベルが出力され、列出力線３００ａには１行目の画素の信号レベルが出力され、列出力線３００ｂには２行目の画素の信号レベルが出力される。同様に、列出力線３００ｃには７行目の画素の信号レベルが出力され、列出力線３００ｄには８行目の画素の信号レベルが出力される。
【００４７】
次に、時刻ｔｂ６にて、ＴＧ４０５ａはＡＤ変換器３０１ａ、３０１ｃを駆動し、ＴＧ４０５ｂはＡＤ変換器３０１ｂ、３０１ｄを駆動して、ＡＤ変換を開始する。ここで各列出力線に出力される信号レベルがＡＤ変換される。時刻ｔｂ７にて、ＡＤ変換が終了されると、ＡＤ変換器３０１ａ〜３０１ｄは、それぞれＡＤ変換された信号レベルを保持する。
【００４８】
時刻ｔｂ８にて、駆動信号ｔｘ＿１、ｔｘ＿２、ｔｘ＿７、ｔｘ＿８がローレベルにネゲートされた後、時刻ｔｂ９にて、書き込み信号ｍｅｍｗｒがハイレベルになる。書き込み信号ｍｅｍｗｒがハイレベルになると、ＡＤ変換器３０１ａ〜３０１ｄに保持される信号レベルからノイズレベルを減算したデータが、メモリ４００ａ又はメモリ４００ｂに格納される。
【００４９】
時刻ｔｂ１０にて、書き込み信号ｍｅｍｗｒがローレベルにネゲートされるとメモリ４００ａ、４００ｂへのデータの格納が終了し、時刻ｔｂ１１にて、駆動信号ｒｅｓ＿１、ｒｅｓ＿２、ｒｅｓ＿７、ｒｅｓ＿８がハイレベルになる。同時に、メモリからデータの転送（水平転送）が開始される。時刻ｔｂ１２にて、駆動信号ｓｅｌ＿１、ｓｅｌ＿２、ｓｅｌ＿７、ｓｅｌ＿８がローレベルにネゲートされると垂直転送が完了する。その後、すべての水平画素の出力が時刻ｔｂ１４で終了する。
【００５０】
前述した時刻ｔｂ１〜時刻ｔｂ１４までと同様の動作を３、４、９、１０行目についても行い（時刻ｔｂ１５〜ｔｂ１８）、その後５、６、１１、１２行目について行う（時刻ｔｂ１９〜ｔｂ２２）。その後、この１２行単位の動作をｍ行目まで繰り返す。
【００５１】
このときの出力部４０２ａ、４０３ａ、４０２ｂ、４０３ｂの出力について説明する。図１１は、メモリ４０１ａ、４０１ｂの動作と出力部４０２ａ、４０３ａ、４０２ｂ、４０３ｂの出力との関係を示す図である。図１１に示す時刻は、それぞれ図１０に示した時刻に対応する。
【００５２】
時刻ｔｂ１０において、ラインメモリ１には１行目の画素のデータ（Ｄ１）が書き込まれる。以降、ｋ行目の画素のデータをＤｋとする。ラインメモリ２にはＤ２が、ラインメモリ５にはＤ７が、ラインメモリ６にはＤ８がそれぞれ書き込まれる。Ｄ１、Ｄ２は時刻ｔｂ１７まで保持され、Ｄ７、Ｄ８は時刻ｔｂ２１まで保持される。時刻ｔｂ１６では、ラインメモリ３にはＤ３が、ラインメモリ４にはＤ４が、ラインメモリ７にはＤ９が、ラインメモリ８にはＤ１０がそれぞれ書き込まれる。Ｄ９、Ｄ１０は時刻ｔｂ２５まで保持される。
【００５３】
時刻ｔｂ１７では、出力制御部４１４は、セレクタ４１１、４１２に対してラインメモリ４１０ａ、４１０ｂの出力を出力させるセレクト信号を出力する。時刻ｔｂ１８までの水平転送（ＨＳＲ）期間でラインメモリ１〜４のデータが水平画素分だけ出力部４０２ａ、４０３ａ、４０２ｂ、４０３ｂから順次出力される。この動作により、１〜４行目のデータ（Ｄ１〜Ｄ４）が出力される。
【００５４】
次に、時刻ｔｂ１０において、ラインメモリ１にはＤ５が、ラインメモリ２にはＤ６が、ラインメモリ３にはＤ１１が、ラインメモリ４にはＤ１２がそれぞれ書き込まれる。Ｄ１１、Ｄ１２は時刻ｔｂ２５まで保持される。時刻ｔｂ２１では、出力制御部４１４は、セレクタ４１１、４１２に対してラインメモリ４１０ａ、４１０ｃの出力を出力させるセレクト信号を出力する。時刻ｔｂ２２までの水平転送（ＨＳＲ）期間でラインメモリ１、２、５、６のデータが水平画素分だけ出力部４０２ａ、４０３ａ、４０２ｂ、４０３ｂから順次出力される。この動作により、５〜８行目のデータ（Ｄ５〜Ｄ８）が出力される。
【００５５】
時刻ｔｂ２５では、出力制御部４１４は、セレクタ４１１、４１２に対してラインメモリ４１０ｄ、４１０ｂの出力を出力させるセレクト信号を出力する。時刻ｔｂ２６までの水平転送（ＨＳＲ）期間でラインメモリ９、１０、１１、１２のデータが水平画素分だけ出力部４０２ａ、４０３ａ、４０２ｂ、４０３ｂから順次出力される。この動作により、９〜１２行目のデータ（Ｄ９〜Ｄ１２）が出力される。
【００５６】
以降、これを繰り返すことにより、ｍ行のデータが出力される（静止画モード）。撮像素子１０１から読み出されたデータは、ＲＡＭ１０５に格納される。
【００５７】
図６に戻り、次に、ステップＳ１０８にて、画像の補正を行う。ＣＰＵ１０２は、ＲＡＭ１０５に格納されている画像データを画像処理部１０７に画素部２１０における上の行から順次送信する。図１２に、入力される画像データ、位相コード、ＲＡＭ５００へ入力されるアドレス、及びＲＡＭ５００から出力される補正値の関係を示す。位相制御部５０２には設定値Ｐ＝１２が設定されているので、位相コードはＰ１〜Ｐ１２を繰り返す。それにより位相コードに対応するアドレスオフセットＡ１〜Ａ４が出力され、その結果アドレスは図１２に示すようになる。これにより、画像データの１〜１２行目のときに、それぞれ補正値ａ、ｂ、ａ、ｂ、ａ、ｂ、ｃ、ｄ、ｃ、ｄ、ｃ、ｄが出力されることとなる。以降、１２行毎に１〜１２行目と同様の動作が繰り返され、対応する補正値を使用して補正部５０４にて行毎の補正がなされる。その後、画像処理１０７内で不図示の圧縮回路での圧縮等を行い、外部記録部１１１に静止画として記録される。
【００５８】
その後、ステップＳ１０９にて、ＣＰＵ１０２は、操作部１０３の静止画撮影スイッチが押下された状態かを判断する。静止画撮影スイッチが押下されていなかった場合には（ステップＳ１０９のＮＯ）、ステップＳ１１０へ進む。ステップＳ１１０では、ＣＰＵ１０２は、動画撮影スイッチが押下されているかを判断し、動画撮影スイッチが押下されている場合には（ステップＳ１１０のＹＥＳ）、撮影を終了する。動画撮影スイッチが押下されていなかった場合には（ステップＳ１１０のＮＯ）、ステップＳ１００へ戻り、ステップＳ１００以降の処理を行い、動画の撮影を行う。
【００５９】
ステップＳ１０９において、操作部１０３の静止画撮影スイッチが押下された状態である場合には（ステップＳ１０９のＹＥＳ）、ステップＳ１０７以降の処理を行い、再び静止画の撮影を行う。
【００６０】
第１の実施形態によれば、使用した読み出し回路に対応した補正値を画像の行毎に切り換えてシェーディング補正を行うため、行毎に適切な補正を行うことができる。また、行毎の補正値の切り換えパターンを変更することにより、撮像素子の読み出しモードによって行毎の使用した読み出し回路のパターンが変わった場合でも対応することができる。
【００６１】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。なお、第２の実施形態における撮像装置の構成は、図１に示した撮像装置１００と同様であり、第２の実施形態における撮像装置の構成は、図２Ａ及び図２Ｂに示した撮像素子１０１の構成と同様である。
【００６２】
第２の実施形態における画素２００の１画素毎の構成について図１３を用いて説明する。図１３（Ａ）において、フォトダイオード（ＰＤ）６０１、６０７は、入射した光信号を光電変換し、露光量に応じた電荷を蓄積する。図１３（Ｂ）にＰＤ６０１、６０７の配置を示す。図１３（Ｂ）において、６０９はマイクロアレイを構成するマイクロレンズである。マイクロレンズ６０９は、ＰＤ６０１、６０７の２つのＰＤに対して一つが上部に配置される構成となっている。このＰＤ６０１、６０７の信号を独立に使用することにより、後述する焦点検出に使用する。本実施形態では、ＰＤ６０１の信号を単独で読み出した画像データをＡ像データ、ＰＤ６０１、６０７の信号を加算して読み出した画像データをＡＢ像データとする。
【００６３】
制御信号ｔｘａをハイレベルにすることで転送ゲート６０２がオンになり、ＰＤ６０１に蓄積されている電荷がフローティングディフュージョン部（ＦＤ部）６０３に転送される。また、制御信号ｔｘｂをハイレベルにすることで転送ゲート６０８がオンになり、ＰＤ６０７に蓄積されている電荷がＦＤ部６０３に転送される。なお、本実施形態では、垂直走査回路４０４は、制御信号ｔｘａ、ｔｘｂをそれぞれ出力する。ＦＤ部６０３は、増幅ＭＯＳトランジスタ６０４のゲートに接続されている。増幅ＭＯＳトランジスタ６０４は、ＰＤ６０１、６０７からＦＤ部６０３に転送されてきた電荷量に応じた電圧信号を出力する。
【００６４】
リセットスイッチ６０５は、ＦＤ部６０３やＰＤ６０１、６０７の電荷をリセットするためのスイッチである。制御信号ｒｅｓをハイレベルにすることでリセットスイッチ６０５がオンになり、ＦＤ部６０３がリセットされる。また、ＰＤ６０１、６０７の電荷をリセットする場合には、制御信号ｔｘａ、ｔｘｂ及び制御信号ｒｅｓを同時にハイレベルにする。これにより、転送ゲート６０２、６０８及びリセットスイッチ６０５を両方オンし、ＦＤ部６０３経由でＰＤ６０１、６０７をリセットする。画素選択スイッチ６０６は、制御信号ｓｅｌをハイレベルとすることでオンになり、増幅ＭＯＳトランジスタ６０４と画素２００の出力端子ｖｏｕｔとを接続する。これにより、増幅ＭＯＳトランジスタ６０４で電圧に変換された画素信号が画素部２００の出力端子ｖｏｕｔに出力される。
【００６５】
本実施形態による画像処理部１０７の構成例について、図１４を用いて説明する。加算回路８００は、画素データを加算する。加算回路８００は、後述する動作により読み出されたＡ像データ又はＡＢ像データにおいて、図１９において破線に示すように隣接するＲ、Ｇ、Ｇ、Ｂの４つの画素に対応するＡ像データ又はＡＢ像データを加算平均してデータを圧縮する。補正回路８０１は、加算平均されたＡ像データとＡＢ像データに対してシェーディング補正を行う。圧縮回路８０２は、外部記録部１１１に記録するための圧縮処理を行う。Ｂ像生成回路８０３は、ＡＢ像データからＡ像データを減算し、Ｂ像データを生成する。セレクタ８０４は、ＣＰＵ１０２によるセレクト命令により入力データをセレクトし、外部へデータを出力する。
【００６６】
次に、図１５を用いて、本実施形態に係る補正回路について説明する。図４と同じ符号が付される回路については同様の機能であり、説明を省略する。ＲＡＭ８０４には、列出力線３００ａ〜３００ｄを含む読み出し回路毎の補正値が、それぞれ水平画素数分、図１５に示すアドレスに格納される。また、補正値Ｅ、Ｆは、それぞれ加算回路８００にて加算平均されたＡ像データの補正値である。補正値Ｅは、列出力線３００ａを含む読み出し回路の補正値と列出力線３００ｂを含む読み出し回路の補正値との平均値である。補正値Ｆは、列出力線３００ｃを含む読み出し回路の補正値と列出力線３００ｄを含む読み出し回路の補正値との平均値である。加算平均されたＡ像データの補正値であるので、（水平画素数／２）の個数のデータが図１５に示すアドレスに格納される。
【００６７】
次に、第２の実施形態による撮像装置の動作について説明する。図１６は、第２の実施形態による撮像装置１００の撮影動作を説明するためのフローチャートである。ユーザーが図１に示した操作部１０３の動画撮影スイッチを押下すると、動画撮影が開始される。動画撮影が開始されると、ステップＳ２００にて、動画用の読み出し設定が行われ、ＣＰＵ１０２は、撮像素子１０１に対して、動画モードで駆動するための設定を行う。
【００６８】
次に、ステップＳ２０１にて、ＣＰＵ１０２は、画像処理部１０７に対して、ＡＢ像の補正設定を行う。本例では、位相制御部５０２に対して設定値Ｐ＝４の設定を行い、アドレスオフセットＡ１〜Ａ４として、Ａ１＝０、Ａ２＝ｎ、Ａ３＝２ｎ、Ａ４＝３ｎの設定をする。また、位相コードＰ１〜Ｐ４に対して、Ｐ１のときにＡ１、Ｐ２のときにＡ２、Ｐ３のときにＡ３、Ｐ４のときにＡ４がアドレスオフセット値として出力されるように設定する。
【００６９】
その後、ステップＳ２０２にて、動画の画像信号読み出しが行われる。ステップＳ２０２での動画の画像信号読み出し時の撮像素子１０１の動作について、図１７を用いて説明する。図１７に示す時刻ｔｃ１にて、垂直走査回路４０４は、駆動信号ｓｅｌ＿１〜ｓｅｌ＿１２をハイレベルとして、１行目〜１２行目の画素２００の画素選択スイッチ６０６をオンする。これにより、増幅ＭＯＳトランジスタ６０４と電流源３０２ａ〜３０２ｄによって構成されるソースフォロア回路が動作状態となる。このとき、駆動信号ｒｅｓ＿１〜ｒｅｓ＿１２はハイレベルになっており、リセットスイッチ６０５がオンになりＦＤ部６０３がリセットされる。
【００７０】
時刻ｔｃ２にて、垂直走査回路４０４は、駆動信号ｒｅｓ＿１〜ｒｅｓ＿１２をローレベルにネゲートする。このとき、各画素２００の出力端子ｖｏｕｔにはノイズレベルが出力され、列出力線３００ａには１、３、５行目の画素のノイズレベルの混合信号が出力され、列出力線３００ｂには２、４、６行目の画素のノイズレベルの混合信号が出力される。同様に、列出力線３００ｃには７、９、１１行目の画素のノイズレベルの混合信号が出力され、列出力線３００ｄには８、１０、１２行目の画素のノイズレベルの混合信号が出力される。
【００７１】
次に、時刻ｔｃ３にて、ＴＧ４０５ａはＡＤ変換器３０１ａ、３０１ｃを駆動し、ＴＧ４０５ｂはＡＤ変換器３０１ｂ、３０１ｄを駆動して、ＡＤ変換を開始する。ここで各列出力線に出力されるノイズレベルの混合信号がＡＤ変換される。時刻ｔｃ４にて、ＡＤ変換が終了されると、ＡＤ変換器３０１ａ〜３０１ｄは、それぞれＡＤ変換されたノイズレベルを保持する。
【００７２】
時刻ｔｃ５にて、垂直走査回路４０４は、駆動信号ｔｘａ＿１〜ｔｘａ＿１２をハイレベルにし、１行目〜１２行目の画素２００の転送ゲート６０２をオンする。そして、各画素のＰＤ６０１に蓄積されている信号電荷が増幅ＭＯＳトランジスタ６０４で構成されるソースフォロアのゲートに転送される。ソースフォロアは転送された信号電荷に見合う分だけリセットレベルから電位が変動して信号レベルが確定する。このとき、各画素２００の出力端子ｖｏｕｔには信号レベルが出力され、列出力線３００ａには１、３、５行目のＡ像の信号レベルの混合信号が出力され、列出力線３００ｂには２、４、６行目のＡ像の信号レベルの混合信号が出力される。同様に、列出力線３００ｃには７、９、１１行目のＡ像の信号レベルの混合信号が出力され、列出力線３００ｄには８、１０、１２行目のＡ像の信号レベルの混合信号が出力される。
【００７３】
次に、時刻ｔｃ６にて、ＴＧ４０５ａはＡＤ変換器３０１ａ、３０１ｃを駆動し、ＴＧ４０５ｂはＡＤ変換器３０１ｂ、３０１ｄを駆動して、ＡＤ変換を開始する。ここで各列出力線に出力されるＡ像の信号レベルの混合信号がＡＤ変換される。時刻ｔｃ７にて、ＡＤ変換が終了されると、ＡＤ変換器３０１ａ〜３０１ｄは、それぞれＡＤ変換されたＡ像の信号レベルを保持する。
【００７４】
時刻ｔｃ８にて、駆動信号ｔｘａ＿１〜ｔｘａ＿１２がローレベルにネゲートされた後、時刻ｔｃ９にて、書き込み信号ｍｅｍｗｒがハイレベルになる。書き込み信号ｍｅｍｗｒがハイレベルになると、ＡＤ変換器３０１ａ〜３０１ｄに保持されるＡ像の信号レベルの混合信号からノイズレベルの混合信号を減算したデータが、メモリ４００ａ又はメモリ４００ｂに格納される。
【００７５】
時刻ｔｃ１０にて、書き込み信号ｍｅｍｗｒがローレベルにネゲートされるとメモリ４００ａ、４００ｂへのデータの格納が終了し、時刻ｔｃ１１にて、メモリからＡ像データの転送（水平転送）が開始される。時刻ｔｃ１２でＡ像データの水平転送が終了すると、時刻ｔｃ１３で垂直走査回路４０４は、駆動信号ｔｘａ＿１〜ｔｘａ＿１２と駆動信号ｔｘｂ＿１〜ｔｘｂ＿１２をハイレベルにし、１行目〜１２行目の画素２００の転送ゲート６０２、６０８をオンする。そして、各画素のＰＤ６０１、６０７に蓄積されている信号電荷が増幅ＭＯＳトランジスタ６０４で構成されるソースフォロアのゲートに転送される。ソースフォロアは転送された信号電荷に見合う分だけリセットレベルから電位が変動して信号レベルが確定する。このとき、各画素２００の出力端子ｖｏｕｔには信号レベルが出力され、列出力線３００ａには１、３、５行目のＡＢ像の信号レベルの混合信号が出力され、列出力線３００ｂには２、４、６行目のＡＢ像の信号レベルの混合信号が出力される。同様に、列出力線３００ｃには７、９、１１行目のＡＢ像の信号レベルの混合信号が出力され、列出力線３００ｄには８、１０、１２行目のＡＢ像の信号レベルの混合信号が出力される。
【００７６】
次に、時刻ｔｃ１４にて、ＴＧ４０５ａはＡＤ変換器３０１ａ、３０１ｃを駆動し、ＴＧ４０５ｂはＡＤ変換器３０１ｂ、３０１ｄを駆動して、ＡＤ変換を開始する。ここで各列出力線に出力されるＡＢ像の信号レベルの混合信号がＡＤ変換される。時刻ｔｃ１５にて、ＡＤ変換が終了されると、ＡＤ変換器３０１ａ〜３０１ｄは、それぞれＡＤ変換されたＡＢ像の信号レベルを保持する。
【００７７】
時刻ｔｃ１６にて、駆動信号ｔｘａ＿１〜ｔｘａ＿１２、ｔｘｂ＿１〜ｔｘｂ＿１２がローレベルにネゲートされた後、時刻ｔｃ１７にて、書き込み信号ｍｅｍｗｒがハイレベルになる。書き込み信号ｍｅｍｗｒがハイレベルになると、ＡＤ変換器３０１ａ〜３０１ｄに保持されるＡＢ像の信号レベルの混合信号からノイズレベルの混合信号を減算したデータが、メモリ４００ａ又はメモリ４００ｂに格納される。
【００７８】
時刻ｔｃ１８にて、書き込み信号ｍｅｍｗｒがローレベルにネゲートされるとメモリ４００ａ、４００ｂへのデータの格納が終了し、時刻ｔｃ１９にて、メモリからＡＢ像データの転送（水平転送）が開始される。時刻ｔｃ２２にて、ＡＢ像データの水平転送が終了する。また、時刻ｔｃ２０で駆動信号ｒｅｓ＿１〜ｒｅｓ＿１２がハイレベルになり、時刻ｔｃ２２で駆動信号ｓｅｌ＿１〜ｓｅｌ＿１２がローレベルにネゲートされると、垂直転送が完了する。その後、すべての水平画素の出力が時刻ｔｃ２２で終了する。
【００７９】
前述した時刻ｔｃ１〜時刻ｔｃ２２の動作を次の１２行分の画素についても行い、以降ｍ行まで１２行単位で同様に繰り返す。
【００８０】
このときの出力部４０２ａ、４０３ａ、４０２ｂ、４０３ｂの出力について説明する。図１８は、メモリ４０１ａ、４０１ｂの動作と出力部４０２ａ、４０３ａ、４０２ｂ、４０３ｂの出力との関係を示す図である。図１８に示す時刻は、それぞれ図１７に示した時刻に対応する。
【００８１】
時刻ｔｃ１０において、ラインメモリ１には１、３、５行目のＡ像の混合データ（Ａ（１＋３＋５））が書き込まれる。以降、ｋ、（ｋ＋２）、（ｋ＋４）行目のＡ像の混合データをＡ（ｋ＋（ｋ＋２）＋（ｋ＋４））とする。ラインメモリ２にはＡ（２＋４＋６）が、ラインメモリ３にはＡ（７＋９＋１１）が、ラインメモリ４にはＡ（８＋１０＋１２）がそれぞれ書き込まれる。図１８において、斜線部はデータがラインメモリに格納されていることを示す。
【００８２】
時刻ｔｃ１１では、出力制御部４１４は、セレクタ４１１、４１２に対してラインメモリ４１０ａ、４１０ｂの出力を出力させるセレクト信号を出力する。時刻ｔｃ１４までの水平転送（ＨＳＲ）期間でラインメモリ１〜４のデータが水平画素分だけ出力部４０２ａ、４０３ａ、４０２ｂ、４０３ｂから順次出力される。これまでの動作により、同じ色のカラーフィルタが配置される画素のＡ像信号が列方向に３行ずつ混合された結果１行分の信号とされ、４行ずつ出力されることとなる。同様にして、時刻ｔｃ１９からｔｃ２２まででは、ＡＢ像の水平転送を行い、同じ色のカラーフィルタが配置される画素のＡＢ像信号が列方向に３行ずつ混合された結果１行分の信号とされ、４行ずつ出力される。以降、これを繰り返すことにより、（ｍ／３）行のデータが出力される（動画モード）。撮像素子１０１から読み出されたデータは、ＲＡＭ１０５に格納される。
【００８３】
図１６に戻り、次に、ステップＳ２０３にて、ＡＢ像の補正を行う。ＣＰＵ１０２は、ＲＡＭ１０５に格納されているＡＢ像データを補正回路８０１に送信する。ここでのＡＢ像の補正は、図６に示した第１の実施形態のステップＳ１０３と同様の処理を行い、ＲＡＭ８０４のアドレス０〜（４ｎ−１）に格納される補正値で行毎のシェーディング補正を行う。
【００８４】
その後、ステップＳ２０４にて、ＣＰＵ１０２は、画像処理部１０７に対して、Ａ像の補正設定を行う。本例では、位相制御部５０２に対して設定値Ｐ＝２の設定を行い、アドレスオフセットＡ１、Ａ２として、Ａ１＝４ｎ、Ａ２＝４ｎ＋（ｎ／２）の設定を行う。また、位相コードＰ１、Ｐ２に対して、Ｐ１のときにＡ１、Ｐ２のときにＡ２がアドレスオフセット値として出力されるように設定する。補正設定が終了した後、ステップＳ２０５にて、ＣＰＵ１０２は、ＲＡＭ１０５に格納されているＡ像データを加算回路８００に送信する。加算回路８００では、Ａ像データを図１９に破線により示す組み合わせの４つのＡ像データを１単位として加算平均を行った後に、ＲＡＭ１０５へ格納する。
【００８５】
ステップＳ２０６にて、ＣＰＵ１０２は、ＲＡＭ１０５に格納されているＡ像データを画像処理部１０７に上の行から順次送信する。図２０に、入力される画像データ、位相コード、ＲＡＭ８０４へ入力されるアドレス、及びＲＡＭ８０４から出力される補正値の関係を示す。位相制御部５０２には設定値Ｐ＝２が設定されているので、位相コードはＰ１〜Ｐ２を繰り返す。それにより、アドレスオフセットはＡ１〜Ａ２が繰り返され、その結果アドレスは図２０に示すようになる。これにより、加算平均されたＡ像データの１、２行目のときに、それぞれ補正値Ｅ、Ｆが出力されることとなる。以降、２行毎に補正値Ｅ、Ｆが繰り返され、対応する補正値を使用して補正部５０４にて行毎の補正がなされ、ＲＡＭ１０５へ格納される。
【００８６】
次に、ステップＳ２０７にて、Ｂ像が生成される。ＣＰＵ１０２は、ＲＡＭ１０５に格納されているＡＢ像を加算回路８００に送信する。加算回路８００では、ＡＢ像を図１９に破線により示す組み合わせの４つのＡ像データを１単位として加算平均を行った後に、ＲＡＭ１０５へ格納する。その後、ＲＡＭ１０５に格納されている加算平均されたＡ像データとＡＢ像データをＢ像生成回路８０３へ送信し、Ｂ像生成回路８０３がＡＢ像データからＡ像データを減算してＢ像データを生成する。生成されたＢ像データは、ＲＡＭ１０５へ格納される。その後、ステップＳ２０８にて、ＣＰＵ１０２は、Ａ像データと生成されたＢ像データを用いて焦点検出を行い、不図示の光学レンズの位置を調整し焦点調整を行う。
【００８７】
その後、ステップＳ２０９にて、ＣＰＵ１０２は、操作部１０３の動画撮影スイッチが押下されているかを判断し、押下されている場合には（ステップＳ２０９のＹＥＳ）、撮影を終了する。動画撮影スイッチが押下されていなかった場合には（ステップＳ２０９のＮＯ）、ステップＳ２０１へ戻り、ステップＳ２０１以降の処理を行う。
【００８８】
第２の実施形態によれば、焦点検出用データと画像データの補正時に行毎のシェーディング補正値の切り換えパターンを変更することができるので、焦点検出用データと画像データのそれぞれに対して適切な補正を行うことができる。なお、本実施形態では、１フレームのＡＢ像データの補正後に、１フレームのＡ像データの補正を行う構成としたが、この限りではない。Ａ像、ＡＢ像の行毎の転送中にＡ像データのみ加算平均し、補正を適用する場合などは、Ａ像データ補正用とＡＢ像データ補正用の両方の切り換えパターン設定を予め設定しておき、１行の中で設定を切り換えればよい。これによりＡ像データとＡＢ像データを補正する構成も適用することができる。
【００８９】
（第３の実施形態）
次に、本発明の第３の実施形態について説明する。なお、第３の実施形態による撮像装置、撮像素子、及び画素の構成は、第１の実施形態による撮像装置、撮像素子、及び画素の構成と同様である。
【００９０】
図２１を用いて、第３の実施形態による画像処理部１０７が有する補正回路について説明する。図２１において、図４と同じ符号が付される回路については同様の機能であり、説明を省略する。位相制御部９００の機能は、図４に示した位相制御部５０２と同様の機能であるが、アドレスオフセット値をメモリコントローラ９０２と補正値生成部９０１へ出力する。メモリコントローラ９０２は、カウンタを有し、入力される画像データの行毎に０〜（ｎ−１）（ｎは本実施形態での水平画素数）のインクリメントをする。メモリコントローラ９０２は、インクリメントされるカウンタ値と位相制御部９００から入力されるアドレスオフセット値とを加算し、リードアドレス又はライトアドレスとしてＲＡＭ９０３へ出力する。後述する補正値生成時には、ライトアドレスはリードアドレスに対して所定のレイテンシを持ち、動作する。補正時にはリードアドレスのみ動作する。
【００９１】
ＲＡＭ９０３は、列出力線３００ａ〜３００ｄを含む読み出し回路毎の補正値を格納する。補正値生成部９０１は、後述する基準データ（ＯＢ巡回データ）を積分して補正値を生成する。本実施形態では、シェーディング補正はオフセット補正であり、補正値生成は積分を用いているが、この限りではない。
【００９２】
また、本実施形態における撮像装置は、全画面モードとクロップモードを持つ。全画面モードでは、０〜ｍ行の画素信号を同色のカラーフィルタで列方向に３画素分混合して読み出す。クロップモードでは、ｈ〜ｊ行の画素信号を独立に読み出す。さらに、本実施形態における撮像素子１０１は、画素領域の上部に遮光されたｐ行分の遮光領域（オプティカルブラック領域、ＯＢ領域）を有する。ここで、ｐ行は１２行の倍数の行とする。
【００９３】
図２２に、第３の実施形態による撮像装置１００の動作を示す。ユーザーが図１に示した操作部１０３の動画撮影スイッチを押下すると、動画撮影が開始される。動画撮影が開始されると、ステップＳ３００にて、ＣＰＵ１０２は、全画面モードで撮像素子１０１に対して、基準データを読み出す設定を行う。ＯＢ領域のｐ行を繰り返し読み出すことで基準データとする。
【００９４】
その後、ステップＳ３０１にて、ＣＰＵ１０２は、画像処理部１０７に対して、基準データから補正値を生成する設定を行う。本例では、位相制御部９００に対して設定値Ｐ＝４の設定を行い、アドレスオフセットＡ１〜Ａ４として、Ａ１＝０、Ａ２＝ｎ、Ａ３＝２ｎ、Ａ４＝３ｎの設定を行う。また、位相コードＰ１〜Ｐ４に対して、Ｐ１のときにＡ１、Ｐ２のときにＡ２、Ｐ３のときにＡ３、Ｐ４のときにＡ４が出力されるように設定する。また、メモリコントローラ９０２にリードアドレスとライトアドレスが動作するように設定する。
【００９５】
その後、ステップＳ３０２にて、全画面モードでのＯＢ領域を繰り返し読み出す。ＯＢ領域の１２行の読み出しは、第１の実施形態での動画モードの読み出しと同様のため、説明を省略する。読み出したデータは、画像処理部１０７へ送信され、補正値生成が行われる。図２３に、補正値生成時の入力データ、位相コード、ＲＡＭ９０３へ入力されるリードアドレスとライトアドレスの関係を示す。なお、図２３において、ＯＢ（１＋３＋５）はＯＢ領域の１、３、５行目の画素信号の混合信号であることを示す。位相制御部９００には設定値Ｐ＝４が設定されているので、位相コードはＰ１〜Ｐ４を繰り返す。それにより、アドレスオフセットはＡ１〜Ａ４が繰り返され、その結果リードアドレス又はライトアドレスは図２３に示すようになる。補正値生成部９０１では、リードアドレスに従って出力された補正値に、入力された画像データを列毎に加算し、ライトアドレスに従って元のアドレスに補正値を書き込む動作を行う。これを所定行について行うことにより、図２１（Ｂ）に示すようにＲＡＭ９０３に補正値Ａ、Ｂ、Ｃ、Ｄを生成する。
【００９６】
その後、ステップＳ３０３にて、ＣＰＵ１０２は、全画面モードでの画像データ読み出し設定を行った後、ステップＳ３０４にて、全画面モードの補正設定を画像処理部１０７に対して行う。ここではメモリコントローラ９０２にリードアドレスのみ動作するように設定する。次に、ステップＳ３０５にて、全画面モードでの画像データ読み出しを行う。その後、読み出された画像データは、画像処理部１０７にて補正処理がなされる。画像読み出しと補正処理については、第１の実施形態で説明した動画モードと同様である。
【００９７】
次に、ステップＳ３０６にて、ＣＰＵ１０２は、ユーザーが操作部１０３を操作してモードをクロップモードにしたかを判断する。モード変更がされていない場合には（ステップＳ３０６のＮＯ）、ステップＳ３１４に進む。ステップＳ３１４では、ＣＰＵ１０２は、動画撮影スイッチが押下されているかを判断し、押されていなかった場合には（ステップＳ３１４のＮＯ）、ステップＳ３０５へ進む。動画撮影スイッチが押下されていた場合には（ステップＳ３１４のＹＥＳ）、撮影を終了する。
【００９８】
ここで、モード変更がされていた場合には、ステップＳ３０７へ進む。ステップＳ３０７にて、ＣＰＵ１０２は、クロップモードで撮像素子１０１に対して基準データを読み出す設定を行う。ＯＢ領域のｐ行を繰り返し読み出すことで基準データとする。その後、ステップＳ３０８にて、ＣＰＵ１０２は、画像処理部１０７に対して、基準データから補正値を生成する設定を行う。本例では、位相制御部９００に対して設定値Ｐ＝１２の設定を行い、アドレスオフセットＡ１〜Ａ４として、Ａ１＝０、Ａ２＝ｎ、Ａ３＝２ｎ、Ａ４＝３ｎの設定を行う。また、位相コードＰ１〜Ｐ１２に対して、Ｐ１、Ｐ３、Ｐ５のときにＡ１が、Ｐ２、Ｐ４、Ｐ６のときにＡ２が、Ｐ７、Ｐ９、Ｐ１１のときにＡ３が、Ｐ８、Ｐ１０、Ｐ１２のときにＡ４がアドレスオフセットとして出力されるように設定を行う。また、メモリコントローラ９０２にリードアドレスとライトアドレスが動作するように設定する。
【００９９】
その後、ステップＳ３０９にて、クロップモードでのＯＢ領域を繰り返し読み出す。ＯＢ領域の１２行の読み出しは、第１の実施形態での動画モードの読み出しと同様のため、説明を省略する。読み出したデータは、画像処理部１０７へ送信され、補正値生成が行われる。図２４に、補正値生成時の入力データ、位相コード、ＲＡＭ９０３へ入力されるリードアドレスとライトアドレスの関係を示す。なお、図２４において、ＯＢ１はＯＢ領域の１行目の画素信号であることを示す。位相制御部９００には設定値Ｐ＝１２が設定されているので、位相コードはＰ１〜Ｐ１２を繰り返す。それにより、アドレスオフセットＡ１〜Ａ４が、図２４のように出力され、その結果リードアドレス又はライトアドレスは図２４に示すようになる。補正値生成部９０１では、リードアドレスに従って出力された補正値に、入力された画像データを列毎に加算し、ライトアドレスに従って元のアドレスに補正値を書き込む動作を行う。これを所定行について行うことにより、図２１（Ｃ）に示すようにＲＡＭ９０３に補正値ａ、ｂ、ｃ、ｄを生成する。
【０１００】
その後、ステップＳ３１０にて、ＣＰＵ１０２は、クロップモードでの画像データ読み出し設定を行った後、ステップＳ３１１にて、クロップモードの補正設定を画像処理部１０７に対して行う。ここではメモリコントローラ９０２にリードアドレスのみ動作するように設定する。次に、ステップＳ３１２にて、クロップモードでの画像データ読み出しを行う。その後、読み出された画像データは、画像処理部１０７にて補正処理がなされる。画像読み出しと補正処理については、第１の実施形態で説明した静止画モードと同様である。
【０１０１】
その後、ステップＳ３１３にて、ＣＰＵ１０２は、ユーザーが操作部１０３を操作してモードを全画面モードにしたかを判断する。モード変更がされていない場合には（ステップＳ３１３のＮＯ）、ステップＳ３１５に進む。ステップＳ３１５では、ＣＰＵ１０２は、動画撮影スイッチが押下されているかを判断し、押されていなかった場合には（ステップＳ３１５のＮＯ）、ステップＳ３１２へ進む。動画撮影スイッチが押下されていた場合には（ステップＳ３１５のＹＥＳ）、撮影を終了する。ここで、モード変更がされていた場合には、ステップＳ３００へ進む。
【０１０２】
以上の動作を続けると、読み出されたデータは図２５に示すようになる。ＯＢ領域のフレームで補正値を生成した後に、画像データのフレームが続く。モード変更がされるとＯＢのフレームで補正値を再び生成した後に、モード変更後の画像データのフレームが続く。
【０１０３】
第３の実施形態によれば、画像の撮影前に撮像素子から基準データを出力し、使用した読み出し回路に対応した補正値を生成して画像の補正に適用することで、予め撮像装置内に補正値を記憶する必要がなくなる。また、温度変化などで必要な補正量が変化した場合でも対応することができる。さらには、撮影モードが変更になった場合でも、行毎の補正値を再生成するので行毎の使用した読み出し回路のパターンが変わった場合でも対応することができる。
【０１０４】
本実施形態では、１種類の画像データの補正値生成と補正について述べたが、その限りではない。第２の実施形態で述べたように２種類の画像データがある場合にも、それぞれに対応した補正値を生成し、補正を行うような構成にも適用することができる。
【０１０５】
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１０６】
１００：撮像装置  １０１：撮像素子  １０２：ＣＰＵ  １０７：画像処理装置  ５０１：カウンタ  ５０２：位相制御部  ５０３：メモリコントローラ  ５００：ＲＡＭ  ５０４：補正部
【図１】
0006579782.tif 000002
【図２Ａ】
0006579782.tif 000003
【図２Ｂ】
0006579782.tif 000004
【図２Ｃ】
0006579782.tif 000005
【図３】
0006579782.tif 000006
【図４】
0006579782.tif 000007
【図５】
0006579782.tif 000008
【図６】
0006579782.tif 000009
【図７】
0006579782.tif 000010
【図８】
0006579782.tif 000011
【図９】
0006579782.tif 000012
【図１０】
0006579782.tif 000013
【図１１】
0006579782.tif 000014
【図１２】
0006579782.tif 000015
【図１３】
0006579782.tif 000016
【図１４】
0006579782.tif 000017
【図１５】
0006579782.tif 000018
【図１６】
0006579782.tif 000019
【図１７】
0006579782.tif 000020
【図１８】
0006579782.tif 000021
【図１９】
0006579782.tif 000022
【図２０】
0006579782.tif 000023
【図２１】
0006579782.tif 000024
【図２２】
0006579782.tif 000025
【図２３】
0006579782.tif 000026
【図２４】
0006579782.tif 000027
【図２５】
0006579782.tif 000028