以下、図面を参照しながら、この発明の実施の形態について説明する。図1は、実施の形態としての撮像装置100の構成例を示している。この撮像装置100は、3板式のカラー撮像装置である。この撮像装置100は、CMOSイメージセンサ101R,101G,101Bと、補正回路102と、ゲイン調整回路103と、色調整回路104と、輝度調整回路105と、ガンマ補正回路106と、出力信号生成回路107とを有している。ここで、補正回路102、ゲイン調整回路103、色調整回路104、輝度調整回路105、ガンマ補正回路106および出力信号生成回路107は、ビデオ処理部108を構成している。
CMOSイメージセンサ101R,101G,101Bは、それぞれ、赤、緑、青の各画像用のイメージセンサである。このCMOSイメージセンサ101R,101G,101Bは、カラム毎にアンプやA/D変換器等の出力系統(カラム信号処理回路)を有するカラム型CMOSイメージセンサである。
図2は、イメージセンサ101(101R,101G,101B)の構成例を示している。イメージセンサ101は、マトリックス状に配置された画素(受光部)21と、出力する画素21を選択する垂直ラインセレクタ22および水平ラインセレクタ23と、垂直ラインセレクタ22を駆動する垂直アドレス駆動回路24と、水平ラインセレクタ23を駆動する水平アドレス駆動回路25と、カラムアンプ26と、A/D変換器(ADC)27と、シフトレジスタ28により構成されている。ここで、各カラムに対応したカラムアンプ26およびA/D変換器27は、各カラムの出力系統(カラム信号処理回路)を構成している。
イメージセンサ101に入射された被写体からの光は、各受光部21により光電変換される。各受光部21で光電変換された結果(電圧信号)は、垂直ラインセレクタ22および水平ラインセレクタ23により順次選択され、カラムアンプ26およびA/D変換器27を介してシフトレジスタ28に供給され、クロックに同期して出力される。ここで、カラムアンプ26は、光電変換された結果を適切なレベルに増幅し、A/D変換器27はカラムアンプ26の出力信号をアナログ信号からデジタル信号に変換する。
なお、図2のイメージセンサ101の構成例では、図面の簡単化のため、水平方向に4画素、垂直方向に4画素が配されている。しかし、実際には、例えば、ハイビジョン用のCMOSイメージセンサにあっては、有効画素として、水平方向に1920画素、垂直方向に1080画素が配されている。
図1に戻って、補正回路102は、イメージセンサ101R,101G,101Bから出力される赤、緑、青の色データR,G,Bに対して、画素欠陥の補正、シェーディングの補正等を行う他に、縦筋状の固定パターンノイズの除去を行う。この縦筋状の固定パターンノイズの除去に関しての詳細については後述する。
ゲイン調整回路103は、補正回路102で得られる各色データのゲインを調整し、ホワイトバランス調整等を行う。色調整回路104は、ゲイン調整回路103で得られる各色データのゲインをリニアマトリックスにより調整し、特定の色を強めたり、あるいは弱めたりする。輝度調整回路105は、映像信号を規定の範囲内に納めるために、色調整回路104で得られる各色データに対して輝度圧縮を行う。
ガンマ補正回路106は、CRT(CathodeRay Tube)等のモニタガンマに対応させるために、輝度調整回路105で得られる各色データのガンマ補正を行う。出力信号生成回路107は、ガンマ補正回路106で得られる赤、緑、青の色データを、最終的な映像出力形式に変換して出力する。例えば、出力信号生成回路107は、マトリクス回路を備え、赤、緑、青の色データを、輝度信号Y、赤色差信号Cr、青色差信号Cbの形式に変換して出力する。
図1に示す撮像装置100の動作を簡単に説明する。図示しない光学系により得られる被写体からの赤、緑、青の光はそれぞれイメージセンサ101R,101G,101Bの撮像面に入射され、当該撮像面に赤、緑、青の各色画像が結像される。イメージセンサ101R,101G,101Bでは、上述したように撮像面に色画像が結像された状態で撮像処理が行われ、被写体に対応した赤、緑、青の色データが得られる。
イメージセンサ101R,101G,101Bで得られる赤、緑、青の色データR,G,Bに対して、ビデオ処理部108の補正回路102、ゲイン調整回路103および色調整回路104により、縦筋状の固定パターンノイズの除去、欠陥補正、シェーディング補正等の補正処理、ホワイトバランス調整、色調整等の調整処理が行われる。さらに、ビデオ処理部108では、色調整回路104から出力される各色データに対して、輝度調整回路105およびガンマ補正回路106により、輝度圧縮、ガンマ補正等の処理が行われる。そして、ガンマ補正回路106で得られる各色データは出力信号生成回路107に供給されて最終的な映像信号出力形式(Y,Cr,Cb)に変換されて出力される。
上述したように、補正回路102は、縦筋状の固定パターンノイズを除去する固定パターンノイズ除去回路を含んでいる。なお、固定パターンノイズ除去回路をゲイン調整回路103以降の回路に含めることも考えられるが、当該固定パターンノイズ除去回路は、補正回路102に実装される形態が最適であると考える。なぜなら、縦筋状の固定パターンノイズはイメージセンサ101(101R,101G,101B)内で発生するものであり、ゲイン調整回路103等によって色データレベルが変化する前に除去する必要があるからである。なお、固定パターンノイズ除去回路は、赤、緑、青の各信号系にそれぞれ設けられる。
次に、固定パターンノイズ除去回路について説明する。まず、縦筋状の固定パターンノイズについて説明する。
縦筋状の固定パターンノイズは、イメージセンサ101(図2参照)の各カラムのアンプ26やA/D変換器27等の出力系統(カラム信号処理回路)の処理特性のばらつきにより、各画素が一様に露光されたとしてもカラム毎に出力がばらついてしまうことにより、発生する。
図3は、カラム型のCMOSイメージセンサ101の構造と、発生する縦筋(縦筋状の固定パターンノイズ)を模式的に示している。イメージセンサ101は、水平方向にH画素、垂直方向にV画素の有効画素部203の他に、水平遮光部(HOPB)201および垂直遮光部(VOPB)202を備えた構成となっている。このようなイメージセンサ101において、上述したように、各カラムの出力系統(カラム信号処理回路)の処理特性のばらつきがあると、各画素が一様に露光されたとしても、カラム毎に出力がばらつき、縦筋204が発生する。
ここで、縦筋状の固定パターンノイズ(以下、適宜、「縦筋ノイズ」という)は、オフセット成分と、光量依存成分とに、大別することができる。
各カラムのオフセット成分は、図4に示すように、遮光時において、各カラムの出力の、理想的な出力に対する差分である。この場合、各カラムの出力は、出力系統の処理特性により、理想的な出力に対して、レベルが高くなる場合もあり、またレベルが低くなる場合もある。各カラムのオフセット成分は、入射光量によらず、一定の値である。
また、遮光時には、図5(a)に示すように、各カラムの出力が理想的な出力にあったとしても、露光時には、図5(b)に示すに示すように、各カラムの出力が理想的な出力からずれたものとなることがある。各カラムのオフセット成分は、露光時において、各カラムの出力の、理想的な出力に対する差分である。各カラムの光量依存成分は、入射光量に応じて変化していく。
この実施の形態において、固定パターンノイズ除去回路では、基本的には、以下の、(1)式または(2)式に基づいて、入力信号Xから出力信号Yを得るものとされる。各式において、mはカラム番号を示し、nはロウ番号を示している。
Y(m,n)=A(m)*{X(m,n)+B(m)} ・・・(1)
Y(m,n)=C(m)*X(m,n)+D(m) ・・・(2)
(1)式において、A(m)は光量依存成分に対応した補正信号(第2の補正信号)であり、B(m)はオフセット成分に対応した補正信号(第1の補正信号)である。また、(2)式において、C(m)は光量依存成分に対応した補正信号(第1の補正信号)であり、D(m)はオフセット成分および光量依存成分に対応した補正信号(第2の補正信号)である。
(1)式および(2)式の補正信号A,B,C,Dは、例えば、以下に示すように、遮光時と露光時における出力信号のレベルに基づいて算出される。すなわち、図6に示すように、遮光時(状態1)と任意の光量による露光時(状態2)のイメージセンサ101の受光部21からの入力をそれぞれS1,S2とし、この入力S1,S2が出力系統(アンプ26、A/D変換器27等からなる信号処理回路)を通過して得られる、当該イメージセンサ101の縦筋ノイズが乗った出力をそれぞれT1,T2とする。さらに、入力S1,S2に対する理想的な出力をそれぞれU1,U2とする。なお、S1,S2,T1,T2は、任意のカラムの平均値とする。
縦筋ノイズが乗っていない理想的な出力をx、縦筋ノイズが乗った出力をyとし、xとyの関係を、(3)式で表すものとする。
y=a*x+b ・・・(3)
この直線は、(U1,T1)および(U2,T2)の点を通るので、(4)式および(5)式が得られる。
T1=a*U1+b ・・・(4)
T2=a*U2+b ・・・(5)
これら(4)式および(5)式から、a,bは、以下の(6)式および(7)式のように求められる。
a=(T1-T2)/(U1-U2) ・・・(6)
b={(T1(U1-U2)-U1(T1-T2)}/(U1-U2) ・・(7)
上述の(1)式および(2)式は、それぞれ、上述の(3)式における縦筋ノイズが乗った出力yを縦筋ノイズが乗っていない理想的な出力xに戻すためのものであり、以下の(8)式および(9)式の関係が成立する。
Y=A*(X+B)=x=(y−b)/a ・・・(8)
Y=C*X+D=x=y/a−b/a ・・・(9)
よって、上述の(1)式および(2)式における補正信号A,B,C,Dは、以下の(10)式、(11)式、(12)式、(13)式のように求められる。
A=1/a=(U1-U2)/(T1-T2) ・・・(10)
B=−b=-{(T1(U1-U2)-U1(T1-T2)}/(U1-U2) ・・・(11)
C=1/a=(U1-U2)/(T1-T2) ・・・(12)
D=−b/a
=-{(T1(U1-U2)-U1(T1-T2)}*(U1-U2)/{(U1-U2)*(T1-T2)} ・・・(13)
図7は、縦筋ノイズ除去回路110Aを示している。この縦筋ノイズ除去回路110Aは、上述の(1)式に基づいて、縦筋ノイズを除去する。縦筋ノイズ除去回路110Aは、減算器111、加算器112、乗算器113、加算器114、メモリ115、メモリコントロール部116およびメモリインタフェース(I/F)部117により構成されている。メモリ115、メモリコントロール部116およびメモリI/F部117は、補正信号出力部を構成している。また、減算器111、加算器112、乗算器113および加算器114は信号補正部を構成している。
メモリ115には、上述したように算出された、各出力系統の補正信号A(m)、B(m)が、予め記憶されている。ここで、図2に示すように、CMOSイメージセンサ101がカラムの一つ一つに対して出力系統(例えば、アンプ26、A/D変換器27等からなる信号処理回路)を持つ場合には、出力系統の数はカラムの数と同じとなる。これに対して、例えば、図8に示すように、CMOSイメージセンサ101が複数のカラム毎に1つの出力系統を持つ場合には、出力系統の数はカラムの数より少なくなる。
なお、図8のイメージセンサ101の構成例では、上述の図2のイメージセンサ101の構成例と同様に、水平方向に4画素、垂直方向に4画素が配されている。この図8の構成例では、2つのカラム毎に1つの出力系統を持つ場合を示している。この図8において、図2と対応する部分には同一符号を付し、その詳細説明は省略する。
メモリコントロール部116には、入力となるイメージセンサ101の出力信号に同期した、水平同期信号、画素クロック信号等の同期信号が供給される。メモリコントロール部116は、この同期信号に基づいて、メモリ115から、イメージセンサ101の出力信号が出力された出力系統に対応した補正信号A(m)、B(m)を読み出す。この場合、メモリ115から読み出される補正信号A(m)、B(m)は、まとまった1つの信号、例えば上位10ビットが補正信号A(m)であり、下位10ビットが補正信号B(m)である20ビット信号として出力される。
メモリI/F部117は、メモリ115の出力信号から補正信号A(m)、B(m)を分離し、補正信号B(m)を加算器112に供給し、補正信号A(m)を乗算器113に供給する。
減算器111は、入力(イメージセンサ101の出力信号)から黒レベルを減算する。黒レベルは、例えば、図示しないレジスタから供給される。加算器112は、減算器111の出力信号X(m,n)に補正信号B(m)を加算する。乗算器113は、加算器112の出力信号に補正信号A(m)を乗算する。加算器114は、乗算器113の出力信号に黒レベルを加算して出力を得る。
図7に示す縦筋ノイズ除去回路110Aの動作を説明する。ここでは、CMOSイメージセンサ101のアドレス(m,n)の出力信号が、当該縦筋ノイズ除去回路110Aに入力される場合について説明する。
この場合、メモリ115からは、メモリコントロール部116の制御により、CMOSイメージセンサ101のアドレス(m,n)の出力信号が出力された出力系統に対応した補正信号A(m)、B(m)が読み出される。そして、メモリI/F部117から、加算器112に補正信号B(m)が供給され、乗算器113に補正信号A(m)が供給される。
また、CMOSイメージセンサ101のアドレス(m,n)の出力信号は、減算器111の入力として供給される。この減算器111には黒レベルが供給される。減算器111では、入力から黒レベルが減算される。この減算器111の出力信号X(m,n)は加算器112に供給される。加算器112では、信号X(m,n)に補正信号B(m)が加算される。
この加算器112の出力信号{X(m,n)+B(m)}は、乗算器113に供給される。この乗算器113では、信号{X(m,n)+B(m)}に補正信号A(m)が乗算される。この乗算器113の出力信号Y(m,n)=A(m)*{X(m,n)+B(m)}は、加算器114に供給される。この場合、信号X(m,n)に縦筋ノイズが含まれていたとしても、信号Y(m,n)は当該縦筋ノイズが除かれたものとなる。加算器114では、信号Y(m,n)に黒レベルが足し戻され、縦筋ノイズ除去回路110Aの出力が得られる。
図7に示す縦筋ノイズ除去回路110Aによれば、CMOSイメージセンサ101の出力系統により発生する縦筋ノイズのオフセット成分だけでなく、光量依存成分にも対応した補正信号A(m),B(m)に基づいて、CMOSイメージセンサ101の出力信号から縦筋ノイズを除去するため、縦筋ノイズ(縦筋状の固定パターンノイズ)を効果的に除去できる。
また、図7に示す縦筋ノイズ除去回路110Aによれば、イメージセンサ101の出力信号から黒レベルを差し引いた状態で、補正信号A(m),B(m)を用いた演算を行って縦筋ノイズを除去し、その後に黒レベルを足し戻すものであり、黒レベルの影響を受けることなく、縦筋ノイズを良好に除去できる。
図7に示すノイズ除去回路110Aにおいては、CMOSイメージセンサ101の各出力系統の補正信号A(m),B(m)をメモリ115に記憶して用いるものを示した。しかし、CMOSイメージセンサ101の各出力系統の補正信号A(m),B(m)をレジスタに設定して用いることも考えられる。
図9は、CMOSイメージセンサ101の各出力系統の補正信号A(m),B(m)をレジスタに設定して用いる縦筋ノイズ除去回路110Bを示している。この図9において、図7と対応する部分には、同一符号を付して示す。
この縦筋ノイズ除去回路110Bは、減算器111、加算器112、乗算器113、加算器114、レジスタ121-1,121-2,123-1,123-2、セレクタ122,124、メモリ125、メモリコントロール部126およびメモリインタフェース(I/F)部127により構成されている。レジスタ121-1,121-2,123-1,123-2、セレクタ122,124、メモリ125、メモリコントロール部126およびメモリI/F部127は、補正信号出力部を構成している。また、減算器111、加算器112、乗算器113および加算器114は信号補正部を構成している。
レジスタ121-1,121-2にはCMOSイメージセンサ101の各出力系統の補正信号B(m)(B1,B2)が設定されている。同様に、レジスタ123-1,123-2にはCMOSイメージセンサ101の各出力系統の補正信号A(m)(A1,A2)が設定されている。図9に示す縦筋ノイズ除去回路110Bは、図8に示すように、出力系統(アンプ26およびA/D変換器27等の信号処理回路)を2つ持つCMOSイメージセンサ101に対応したものである。
メモリ125には、各出力系統に対応した出力選択信号が予め記憶されている。メモリコントロール部126には、入力となるイメージセンサ101の出力信号に同期した、水平同期信号、画素クロック信号等の同期信号が供給される。メモリコントロール部126は、この同期信号に基づいて、メモリ125から、イメージセンサ101の出力信号が出力された出力系統に対応した出力選択信号を読み出す。メモリI/F部127は、メモリ125から読み出される出力選択信号をセレクタ122,124に供給する。
セレクタ122は、メモリI/F部127からの出力選択信号に基づいて、レジスタ121-1,121-2から出力される補正信号B1,B2より、イメージセンサ101の出力信号が出力された出力系統の補正信号B(m)を選択的に取り出し、加算器112に供給する。また、セレクタ124は、メモリI/F部127からの出力選択信号に基づいて、レジスタ123-1,123-2から出力される補正信号A1,A2より、イメージセンサ101の出力信号が出力された出力系統の補正信号A(m)を選択的に取り出し、乗算器113に供給する。
図9に示す縦筋ノイズ除去回路110Bにおいて、その他は、図7に示す縦筋ノイズ除去回路110Aと同様に構成されている。
図9に示す縦筋ノイズ除去回路110Bの動作を説明する。ここでは、CMOSイメージセンサ101のアドレス(m,n)の出力信号が、当該縦筋ノイズ除去回路110Bに入力される場合について説明する。
この場合、メモリ125からは、メモリコントロール部126の制御により、CMOSイメージセンサ101のアドレス(m,n)の出力信号が出力された出力系統に対応した出力選択信号が読み出される。そして、この出力選択信号は、メモリI/F部127を介してセレクタ122,124に供給される。
そして、セレクタ122では、出力選択信号に基づいて、レジスタ121-1,121-2から出力される補正信号B1,B2より、イメージセンサ101の出力信号が出力された出力系統に対応した補正信号B(m)が取り出されて、加算器112に供給される。また、セレクタ124では、出力選択信号に基づいて、レジスタ123-1,123-2から出力される補正信号A1,A2より、イメージセンサ101の出力信号が出力された出力系統に対応した補正信号A(m)が取り出されて、乗算器113に供給される。
また、CMOSイメージセンサ101のアドレス(m,n)の出力信号は、減算器111の入力として供給される。この減算器111には黒レベルが供給される。減算器111では、入力から黒レベルが減算される。この減算器111の出力信号X(m,n)は加算器112に供給される。加算器112では、信号X(m,n)に補正信号B(m)が加算される。
この加算器112の出力信号{X(m,n)+B(m)}は、乗算器113に供給される。この乗算器113では、信号{X(m,n)+B(m)}に補正信号A(m)が乗算される。この乗算器113の出力信号Y(m,n)=A(m)*{X(m,n)+B(m)}は、加算器114に供給される。この場合、信号X(m,n)に縦筋ノイズが含まれていたとしても、信号Y(m,n)は当該縦筋ノイズが除かれたものとなる。加算器114では、信号Y(m,n)に黒レベルが足し戻され、縦筋ノイズ除去回路110Bの出力が得られる。
図9に示す縦筋ノイズ除去回路110Bによれば、図7に示す縦筋ノイズ除去回路110Aと同様の効果を得ることができる。また、この図9に示す縦筋ノイズ除去回路110Bによれば、メモリ125に、補正信号A(m)、B(m)に比べてビット幅の小さな出力選択信号を記憶しておくものであり、メモリ容量を削減できる。このように各出力系統に対応した補正信号A(m)、B(m)を出力する複数のレジスタを備えるものにあっては、出力系統の並列数が少ない場合に有効となる。
また、図9に示す縦筋ノイズ除去回路110Bにおいては、セレクタ122,124で使用される出力選択信号をメモリ125から読み出して使用するものを示したが、この出力選択信号として、カウンタのカウント値を用いることも考えられる。
図10は、出力選択信号としてカウンタのカウント値を用いる縦筋ノイズ除去回路110Cを示している。この図10において、図9と対応する部分には、同一符号を付して示す。
この縦筋ノイズ除去回路110Cは、減算器111、加算器112、乗算器113、加算器114、レジスタ121-1,121-2,123-1,123-2、セレクタ122,124およびカウンタ131により構成されている。レジスタ121-1,121-2,123-1,123-2、セレクタ122,124およびカウンタ131は、補正信号出力部を構成している。また、減算器111、加算器112、乗算器113および加算器114は信号補正部を構成している。
カウンタ131には、入力となるイメージセンサ101の出力信号に同期した、水平同期信号、画素クロック信号等の同期信号が供給される。カウンタ131は、例えば、水平同期信号によりリセットされると共に、画素クロック信号により順次カウントアップされる。そのため、カウンタ131のカウント値は、入力となるイメージセンサ101の出力信号のカラムアドレスmを示すものとなる。カウンタ131のカウント値は、セレクタ122,124に、出力選択信号として供給される。
セレクタ122は、カウンタ131からのカウント値に基づいて、レジスタ121-1,121-2から出力される補正信号B1,B2より、イメージセンサ101の出力信号が出力された出力系統の補正信号B(m)を選択的に取り出し、加算器112に供給する。また、セレクタ124は、カウンタ131からのカウント値に基づいて、レジスタ123-1,123-2から出力される補正信号A1,A2より、イメージセンサ101の出力信号が出力された出力系統の補正信号A(m)を選択的に取り出し、乗算器113に供給する。
図10に示す縦筋ノイズ除去回路110Cにおいて、その他は、図9に示す縦筋ノイズ除去回路110Bと同様に構成されている。また、この図10に示す縦筋ノイズ除去回路110Cにおいては、セレクタ122,124でカウンタ131からのカウント値を用いて取り出し動作を行う他は、図9に示す縦筋ノイズ除去回路110Bと同様に動作する。
図10に示す縦筋ノイズ除去回路110Cによれば、図9に示す縦筋ノイズ除去回路110Bと同様の効果を得ることができる。また、この図10に示す縦筋ノイズ除去回路110Cによれば、補正信号A(m)、B(m)をレジスタに設定しておくと共に、カウンタ131のカウント値を出力選択信号として用いるものであり、メモリが不要となる。
ところで、温度変化による出力系統の特性の変化、出力系統に含まれるアンプゲインの変化、イメージセンサのインターレースとプログレッシブの駆動の変化等により、出力系統で発生する縦筋ノイズが変化することがある。当該縦筋ノイズの変化に対処し得るように、補正信号A(m),B(m)のゲインを調整可能とすることが考えられる。
図11は、補正信号A(m),B(m)のゲインを調整可能とした縦筋ノイズ除去回路110Dを示している。この図11において、図7と対応する部分には、同一符号を付して示す。
この縦筋ノイズ除去回路110Dは、減算器111、加算器112、乗算器113、加算器114、メモリ115、メモリコントロール部116、メモリインタフェース(I/F)部117、レジスタ141,143および乗算器142,144により構成されている。メモリ115、メモリコントロール部116およびメモリI/F部117は、補正信号出力部を構成している。また、減算器111、加算器112、乗算器113および加算器114は、信号補正部を構成している。また、レジスタ141,143は、補正係数出力部を構成している。さらに、乗算器142,144は、ゲイン補正部を構成している。
レジスタ141には、補正信号B(m)のゲインを補正する補正係数Qが設定される。また、レジスタ143には、補正信号A(m)のゲインを補正する補正係数Pが設定される。これらレジスタ141,143に設定される補正係数Q,Pは、温度変化による出力系統の特性の変化、出力系統に含まれるアンプゲインの変化、イメージセンサのインターレースとプログレッシブの駆動の変化等に応じて、適宜変更される。
乗算器142は、メモリI/F部117から出力される補正信号B(m)に、レジスタ141から出力される補正係数Qを乗算してゲインを補正し、ゲイン補正された補正信号Q*B(m)を加算器112に供給する。また、乗算器144は、メモリI/F部117から出力される補正信号A(m)に、レジスタ143から出力される補正係数Pを乗算してゲインを補正し、ゲイン補正された補正信号P*A(m)を乗算器113に供給する。
図11に示す縦筋ノイズ除去回路110Dにおいて、その他は、図7に示す縦筋ノイズ除去回路110Aと同様に構成されている。
図11に示す縦筋ノイズ除去回路110Dの動作を説明する。ここでは、CMOSイメージセンサ101のアドレス(m,n)の出力信号が、当該縦筋ノイズ除去回路110Dに入力される場合について説明する。
この場合、メモリ115からは、メモリコントロール部116の制御により、CMOSイメージセンサ101のアドレス(m,n)の出力信号が出力された出力系統に対応した補正信号A(m)、B(m)が読み出される。そして、メモリI/F部117から出力される補正信号B(m),A(m)は、それぞれ、乗算器142,144に供給される。
乗算器142では、補正信号B(m)にレジスタ141から出力される補正係数Qが乗算されて、補正信号B(m)のゲイン補正が行われる。そして、ゲイン補正された補正信号Q*B(m)は、加算器112に供給される。また、乗算器144では、補正信号A(m)にレジスタ143から出力される補正係数Pが乗算されて、補正信号A(m)のゲイン補正が行われる。そして、ゲイン補正された補正信号P*A(m)は、乗算器113に供給される。
また、CMOSイメージセンサ101のアドレス(m,n)の出力信号は、減算器111の入力として供給される。この減算器111には黒レベルが供給される。減算器111では、入力から黒レベルが減算される。この減算器111の出力信号X(m,n)は加算器112に供給される。加算器112では、信号X(m,n)にゲイン補正された補正信号Q*B(m)が加算される。
この加算器112の出力信号{X(m,n)+Q*B(m)}は、乗算器113に供給される。この乗算器113では、信号{X(m,n)+Q*B(m)}に、ゲイン補正された補正信号P*A(m)が乗算される。この乗算器113の出力信号Y(m,n)=P*A(m)*{X(m,n)+Q*B(m)}は、加算器114に供給される。この場合、信号X(m,n)に縦筋ノイズが含まれていたとしても、信号Y(m,n)は当該縦筋ノイズが除かれたものとなる。加算器114では、信号Y(m,n)に黒レベルが足し戻され、縦筋ノイズ除去回路110Dの出力が得られる。
図11に示す縦筋ノイズ除去回路110Dによれば、図7に示す縦筋ノイズ除去回路110Aと同様の効果を得ることができる。また、この図11に示す縦筋ノイズ除去回路110Dによれば、補正信号B(m),A(m)にそれぞれ補正係数Q,Pが乗算されてゲイン補正された補正信号Q*B(m),P*A(m)が用いられるものであり、温度変化による出力系統の特性の変化、出力系統に含まれるアンプゲインの変化、イメージセンサのインターレースとプログレッシブの駆動の変化等による縦筋ノイズの変化に対処することができる。
なお、図11に示す縦筋ノイズ除去回路110Dにおいては、全ての出力系列に対して同一の補正係数P,Qを用いるものを示したが、温度変化による出力系統の特性の変化、出力系統に含まれるアンプゲインの変化、イメージセンサのインターレースとプログレッシブの駆動の変化等による縦筋ノイズの変化が、出力系列毎に異なることが予測される。したがって、出力系列毎に最適な補正係数P,Qを用いることも考えられる。
図12は、出力系列毎に最適な補正係数P,Qを用いるようにした縦筋ノイズ除去回路110Eを示している。この図12において、図11と対応する部分には、同一符号を付して示す。
この縦筋ノイズ除去回路110Eは、減算器111、加算器112、乗算器113、加算器114、メモリ115、メモリコントロール部116、メモリインタフェース(I/F)部117、乗算器142,144、メモリ151、メモリコントロール部152およびメモリインタフェース(I/F)部153により構成されている。メモリ115、メモリコントロール部116およびメモリI/F部117は、補正信号出力部を構成している。また、減算器111、加算器112、乗算器113および加算器114は、信号補正部を構成している。また、メモリ151、メモリコントロール部152およびメモリI/F部153は、補正係数出力部を構成している。さらに、乗算器142,144は、ゲイン補正部を構成している。
メモリ151には、各出力系統の補正係数P,Qが予め記憶されている。メモリコントロール部152には、入力となるイメージセンサ101の出力信号に同期した、水平同期信号、画素クロック信号等の同期信号が供給される。メモリコントロール部152は、この同期信号に基づいて、メモリ151から、イメージセンサ101の出力信号が出力された出力系統に対応した補正係数P,Qを読み出す。この場合、メモリ151から読み出される補正係数P、Qは、例えば、まとまった1つの信号、例えば上位ビット側が補正係数Pであり、下位ビット側が補正係数Qとされた信号である。メモリI/F部153は、メモリ151の出力信号から補正係数P,Qを分離し、補正係数Qを乗算器142に供給し、補正係数Pを乗算器144に供給する。
乗算器142は、メモリI/F部117から出力される補正信号B(m)に、メモリI/F部153から出力される補正係数Qを乗算してゲインを補正し、ゲイン補正された補正信号Q*B(m)を加算器112に供給する。また、乗算器144は、メモリI/F部117から出力される補正信号A(m)に、メモリI/F部153から出力される補正係数Pを乗算してゲインを補正し、ゲイン補正された補正信号P*A(m)を乗算器113に供給する。
図12に示す縦筋ノイズ除去回路110Eにおいて、その他は、図11に示す縦筋ノイズ除去回路110Dと同様に構成されている。
図12に示す縦筋ノイズ除去回路110Eの動作を説明する。ここでは、CMOSイメージセンサ101のアドレス(m,n)の出力信号が、当該縦筋ノイズ除去回路110Eに入力される場合について説明する。
この場合、メモリ115からは、メモリコントロール部116の制御により、CMOSイメージセンサ101のアドレス(m,n)の出力信号が出力された出力系統に対応した補正信号A(m)、B(m)が読み出される。そして、メモリI/F部117から出力される補正信号B(m),A(m)は、それぞれ、乗算器142,144に供給される。
また、メモリ151からは、メモリコントロール部152の制御により、CMOSイメージセンサ101のアドレス(m,n)の出力信号が出力された出力系統に対応した補正係数P,Qが読み出される。そして、メモリI/F部153から出力される補正係数Q,Pは、それぞれ、乗算器142,144に供給される。
乗算器142では、補正信号B(m)に補正係数Qが乗算されて、補正信号B(m)のゲイン補正が行われる。そして、ゲイン補正された補正信号Q*B(m)は、加算器112に供給される。また、乗算器144では、補正信号A(m)に補正係数Pが乗算されて、補正信号A(m)のゲイン補正が行われる。そして、ゲイン補正された補正信号P*A(m)は、乗算器113に供給される。
また、CMOSイメージセンサ101のアドレス(m,n)の出力信号は、減算器111の入力として供給される。この減算器111には黒レベルが供給される。減算器111では、入力から黒レベルが減算される。この減算器111の出力信号X(m,n)は加算器112に供給される。加算器112では、信号X(m,n)にゲイン補正された補正信号Q*B(m)が加算される。
この加算器112の出力信号{X(m,n)+Q*B(m)}は、乗算器113に供給される。この乗算器113では、信号{X(m,n)+Q*B(m)}に、ゲイン補正された補正信号P*A(m)が乗算される。この乗算器113の出力信号Y(m,n)=P*A(m)*{X(m,n)+Q*B(m)}は、加算器114に供給される。この場合、信号X(m,n)に縦筋ノイズが含まれていたとしても、信号Y(m,n)は当該縦筋ノイズが除かれたものとなる。加算器114では、信号Y(m,n)に黒レベルが足し戻され、縦筋ノイズ除去回路110Eの出力が得られる。
図12に示す縦筋ノイズ除去回路110Eによれば、図11に示す縦筋ノイズ除去回路110Dと同様の効果を得ることができる。また、この図12に示す縦筋ノイズ除去回路110Eによれば、出力系統毎に最適な補正係数Q,Pにより補正信号B(m),A(m)のゲインを補正することができる。
なお、図12に示す縦筋ノイズ除去回路110Eにおいては、CMOSイメージセンサ101の各出力系統の補正係数P,Qをメモリ151に記憶して用いるものを示した。しかし、CMOSイメージセンサ101の各出力系統の補正係数P,Qをレジスタに設定して用いることも考えられる。
図13は、CMOSイメージセンサ101の各出力系統の補正係数P,Qをレジスタに設定して用いる縦筋ノイズ除去回路110Fを示している。この図13において、図12と対応する部分には、同一符号を付して示す。
この縦筋ノイズ除去回路110Fは、減算器111、加算器112、乗算器113、加算器114、メモリ115、メモリコントロール部116、メモリインタフェース(I/F)部117、乗算器142,144、レジスタ161-1,161-2,163-1,163-2、セレクタ162,164、メモリ165、メモリコントロール部166およびメモリインタフェース(I/F)部167により構成されている。メモリ115、メモリコントロール部116およびメモリI/F部117は、補正信号出力部を構成している。また、減算器111、加算器112、乗算器113および加算器114は、信号補正部を構成している。また、レジスタ161-1,161-2,163-1,163-2、セレクタ162,164、メモリ165、メモリコントロール部166およびメモリI/F部167は、補正係数出力部を構成している。乗算器142,144は、ゲイン補正部を構成している。
レジスタ161-1,161-2にはCMOSイメージセンサ101の各出力系統の補正係数Q1,Q2が設定されている。同様に、レジスタ163-1,163-2にはCMOSイメージセンサ101の各出力系統の補正係数P1,P2が設定されている。図13に示す縦筋ノイズ除去回路110Fは、図8に示すように、出力系統(アンプ26およびA/D変換器27等の信号処理回路)を2つ持つCMOSイメージセンサ101に対応したものである。
メモリ165には、各出力系統に対応した出力選択信号が予め記憶されている。メモリコントロール部166には、入力となるイメージセンサ101の出力信号に同期した、水平同期信号、画素クロック信号等の同期信号が供給される。メモリコントロール部166は、この同期信号に基づいて、メモリ165から、イメージセンサ101の出力信号が出力された出力系統に対応した出力選択信号を読み出す。メモリI/F部167は、メモリ165から読み出される出力選択信号をセレクタ162,164に供給する。
セレクタ162は、メモリI/F部167からの出力選択信号に基づいて、レジスタ161-1,161-2から出力される補正係数Q1,Q2より、イメージセンサ101の出力信号が出力された出力系統の補正係数Qを選択的に取り出し、乗算器142に供給する。また、セレクタ164は、メモリI/F部167からの出力選択信号に基づいて、レジスタ163-1,163-2から出力される補正係数P1,P2より、イメージセンサ101の出力信号が出力された出力系統の補正係数Pを選択的に取り出し、乗算器144に供給する。
乗算器142は、メモリI/F部117から出力される補正信号B(m)に、セレクタ162から取り出される補正係数Qを乗算してゲインを補正し、ゲイン補正された補正信号Q*B(m)を加算器112に供給する。また、乗算器144は、メモリI/F部117から出力される補正信号A(m)に、セレクタ164から取り出される補正係数Pを乗算してゲインを補正し、ゲイン補正された補正信号P*A(m)を乗算器113に供給する。
図13に示す縦筋ノイズ除去回路110Fにおいて、その他は、図12に示す縦筋ノイズ除去回路110Eと同様に構成されている。
図13に示す縦筋ノイズ除去回路110Fの動作を説明する。ここでは、CMOSイメージセンサ101のアドレス(m,n)の出力信号が、当該縦筋ノイズ除去回路110Fに入力される場合について説明する。
この場合、メモリ115からは、メモリコントロール部116の制御により、CMOSイメージセンサ101のアドレス(m,n)の出力信号が出力された出力系統に対応した補正信号A(m)、B(m)が読み出される。そして、メモリI/F部117から出力される補正信号B(m),A(m)は、それぞれ、乗算器142,144に供給される。
また、メモリ165からは、メモリコントロール部166の制御により、CMOSイメージセンサ101のアドレス(m,n)の出力信号が出力された出力系統に対応した出力選択信号が読み出される。そして、この出力選択信号は、メモリI/F部167を介してセレクタ162,164に供給される。
そして、セレクタ162では、出力選択信号に基づいて、レジスタ161-1,161-2から出力される補正係数Q1,Q2より、イメージセンサ101の出力信号が出力された出力系統に対応した補正係数Qが取り出されて、乗算器142に供給される。また、セレクタ164では、出力選択信号に基づいて、レジスタ163-1,163-2から出力される補正係数P1,P2より、イメージセンサ101の出力信号が出力された出力系統に対応した補正係数Pが取り出されて、乗算器144に供給される。
乗算器142では、補正信号B(m)に補正係数Qが乗算されて、補正信号B(m)のゲイン補正が行われる。そして、ゲイン補正された補正信号Q*B(m)は、加算器112に供給される。また、乗算器144では、補正信号A(m)に補正係数Pが乗算されて、補正信号A(m)のゲイン補正が行われる。そして、ゲイン補正された補正信号P*A(m)は、乗算器113に供給される。
また、CMOSイメージセンサ101のアドレス(m,n)の出力信号は、減算器111の入力として供給される。この減算器111には黒レベルが供給される。減算器111では、入力から黒レベルが減算される。この減算器111の出力信号X(m,n)は加算器112に供給される。加算器112では、信号X(m,n)にゲイン補正された補正信号Q*B(m)が加算される。
この加算器112の出力信号{X(m,n)+Q*B(m)}は、乗算器113に供給される。この乗算器113では、信号{X(m,n)+Q*B(m)}に、ゲイン補正された補正信号P*A(m)が乗算される。この乗算器113の出力信号Y(m,n)=P*A(m)*{X(m,n)+Q*B(m)}は、加算器114に供給される。この場合、信号X(m,n)に縦筋ノイズが含まれていたとしても、信号Y(m,n)は当該縦筋ノイズが除かれたものとなる。加算器114では、信号Y(m,n)に黒レベルが足し戻され、縦筋ノイズ除去回路110Fの出力が得られる。
図13に示す縦筋ノイズ除去回路110Fによれば、図12に示す縦筋ノイズ除去回路110Eと同様の効果を得ることができる。また、この図13に示す縦筋ノイズ除去回路110Fによれば、メモリ165に、補正係数P,Qに比べてビット幅の小さな出力選択信号を記憶しておくものであり、メモリ容量を削減できる。このように各出力系統に対応した補正係数P,Qを出力する複数のレジスタを備えるものにあっては、出力系統の並列数が少ない場合に有効となる。
なお、図7の縦筋ノイズ除去回路110Aは、上述の(1)式に基づいて、縦筋ノイズを除去するものである。次に、上述の(2)式に基づいて、縦筋ノイズを除去する縦筋ノイズ除去回路について説明する。
図14は、上述の(2)式に基づいて、縦筋ノイズを除去する縦筋ノイズ除去回路110Gを示している。縦筋ノイズ除去回路110Gは、減算器171、乗算器172、加算器173、加算器174、メモリ175、メモリコントロール部176およびメモリインタフェース(I/F)部177により構成されている。メモリ175、メモリコントロール部176およびメモリI/F部177は、補正信号出力部を構成している。また、減算器171、乗算器172、加算器173および加算器174は信号補正部を構成している。
メモリ175には、上述したように算出された、各出力系統の補正信号C(m)、D(m)が、予め記憶されている。ここで、図2に示すように、CMOSイメージセンサ101がカラムの一つ一つに対して出力系統(例えば、アンプ、A/D変換器等からなる信号処理回路)を持つ場合には、出力系統の数はカラムの数と同じとなる。これに対して、例えば、図8に示すように、CMOSイメージセンサ101が複数のカラム毎に1つの出力系統を持つ場合には、出力系統の数はカラムの数より少なくなる。
メモリコントロール部176には、入力となるイメージセンサ101の出力信号に同期した、水平同期信号、画素クロック信号等の同期信号が供給される。メモリコントロール部176は、この同期信号に基づいて、メモリ175から、イメージセンサ101の出力信号が出力された出力系統に対応した補正信号C(m)、D(m)を読み出す。この場合、メモリ175から読み出される補正信号C(m)、D(m)は、まとまった1つの信号、例えば上位10ビットが補正信号C(m)であり、下位10ビットが補正信号D(m)である20ビット信号として出力される。
メモリI/F部177は、メモリ175の出力信号から補正信号C(m)、D(m)を分離し、補正信号C(m)を乗算器172に供給し、補正信号D(m)を加算器173に供給する。
減算器171は、入力(イメージセンサ101の出力信号)から黒レベルを減算する。黒レベルは、例えば、図示しないレジスタから供給される。乗算器172は、減算器171の出力信号X(m,n)に補正信号C(m)を乗算する。加算器173は、乗算器172の出力信号に補正信号D(m)を加算する。加算器174は、加算器173の出力信号に黒レベルを加算して出力を得る。
図14に示す縦筋ノイズ除去回路110Gの動作を説明する。ここでは、CMOSイメージセンサ101のアドレス(m,n)の出力信号が、当該縦筋ノイズ除去回路110Gに入力される場合について説明する。
この場合、メモリ175からは、メモリコントロール部176の制御により、CMOSイメージセンサ101のアドレス(m,n)の出力信号が出力された出力系統に対応した補正信号C(m)、D(m)が読み出される。そして、メモリI/F部177から、乗算器172に補正信号C(m)が供給され、加算器173に補正信号D(m)が供給される。
また、CMOSイメージセンサ101のアドレス(m,n)の出力信号は、減算器171の入力として供給される。この減算器171には黒レベルが供給される。減算器171では、入力から黒レベルが減算される。この減算器171の出力信号X(m,n)は乗算器172に供給される。乗算器172では、信号X(m,n)に補正信号C(m)が乗算される。
この乗算器172の出力信号C(m)*X(m,n)は、加算器173に供給される。この加算器173では、信号C(m)*X(m,n)に補正信号D(m)が加算される。この加算器173の出力信号Y(m,n)=C(m)*X(m,n)+D(m)は、加算器174に供給される。この場合、信号X(m,n)に縦筋ノイズが含まれていたとしても、信号Y(m,n)は当該縦筋ノイズが除かれたものとなる。加算器174では、信号Y(m,n)に黒レベルが足し戻され、縦筋ノイズ除去回路110Gの出力が得られる。
図14に示す縦筋ノイズ除去回路110Gによれば、CMOSイメージセンサ101の出力系統により発生する縦筋ノイズのオフセット成分だけでなく、光量依存成分にも対応した補正信号C(m),D(m)に基づいて、CMOSイメージセンサ101の出力信号から縦筋ノイズを除去するため、縦筋ノイズ(縦筋状の固定パターンノイズ)を効果的に除去できる。
また、図14に示す縦筋ノイズ除去回路110Gによれば、イメージセンサ101の出力信号から黒レベルを差し引いた状態で、補正信号C(m),D(m)を用いた演算を行って縦筋ノイズを除去し、その後に黒レベルを足し戻すものであり、黒レベルの影響を受けることなく、縦筋ノイズを良好に除去できる。
なお、詳細説明は省略するが、図14に示す縦筋ノイズ除去回路110Gのように、上述の(2)式に基づいて縦筋ノイズを除去するものにあっても、上述の図9〜図13に示す縦筋ノイズ除去回路110B〜110Fと同様の構成を考えることができる。
また、上述した縦筋ノイズ除去回路110A〜110Gは、ハードウェアで縦筋ノイズ除去の処理を行うものを示したが、同様の処理をソフトウェアで行うこともできる。図15は、ソフトウェアで処理を行うコンピュータ装置110Hの構成例を示している。このコンピュータ装置110Hは、CPU(Central Processing Unit)181、ROM(Read OnlyMemory)182、RAM(Random Access Memory)183、データ入出力部(データI/O)184および画像メモリ185により構成されている。
ROM182には、CPU181の処理プログラム、補正信号A(m),B(m)(あるいは補正係数C(m),D(m))、さらには、温度変化による出力系統の特性の変化、出力系統に含まれるアンプゲインの変化、イメージセンサのインターレースとプログレッシブの駆動の変化等に応じた複数種類の補正係数P,Qが格納されている。RAM183は、CPU181のワークエリアとして機能する。CPU181は、ROM182に格納されている処理プログラムを必要に応じて読み出し、読み出した処理プログラムをRAM183に転送して展開し、当該展開された処理プログラムを読み出して、縦筋ノイズ除去の処理を実行する。
このコンピュータ装置110Hにおいては、CMOSイメージセンサ101の出力信号は、データI/O184を介して入力され、画像メモリ185に蓄積される。この画像メモリ185に蓄積されたCMOSイメージセンサ101の出力信号に対して、CPU181により、縦筋ノイズ除去の処理が行われる。そして、処理後の信号は、画像メモリ185からデータI/O184を介して外部に出力される。
図16のフローチャートは、CPU181による縦筋ノイズ除去の処理手順を示している。なお、このフローチャートは1個の画素データの処理に対応しており、当該処理が各画素データに対して順次行われることになる。
CPU181は、まず、ステップST1において、処理を開始し、その後に、ステップST2に移る。このステップST2において、CPU181は、ROM182から、処理対象の画素データに対応した、つまり、当該画素データが出力されたCMOSイメージセンサ101の出力系統における補正信号A(m),B(m)(あるいは補正係数C(m),D(m))を取得する。
次に、CPU181は、ステップST3において、補正対象の画素データに対応した補正係数P,Qを、ROM182から取得する。この場合、CPU181は、温度変化による出力系統の特性の変化、出力系統に含まれるアンプゲインの変化、イメージセンサのインターレースとプログレッシブの駆動の変化等を考慮して、適切な補正係数P,Qを取得する。
そして、CPU181は、ステップST4において、ステップST2で取得した補正信号A(m),B(m)(あるいは補正係数C(m),D(m))のゲインを、ステップST3で取得した補正係数で補正する。CPU181は、ステップST5において、ステップST4でゲイン補正された補正信号により、補正対象の画素データを補正し、その後、ステップST6において、処理を終了する。
なお、上述実施の形態においては、CMOSイメージセンサを用いた撮像装置にこの発明を適用したものを示したが、この発明は、所定数のカラム毎に出力系統を有するイメージセンサを用いて構成され、当該出力系統のばらつきにより縦筋状の固定パターンノイズが発生する撮像装置に同様に適用できることは勿論である。