以下、図面を参照し、本発明の実施形態を説明する。
(第1の実施形態)
まず、本発明の第1の実施形態を説明する。図1は、本実施形態による(C)MOS撮像装置の構成の一例を示している。図1に示す撮像装置1は、撮像部2、垂直選択部12、読出電流源部5、アナログ部6、主カウント部18(第1のカウント部)、ランプ部19(参照信号生成部)、カラム処理部15、水平選択部14、出力部17、制御部20で構成されている。
撮像部2は、入射される電磁波の大きさに応じた信号を生成し出力する単位画素3が複数、行列状に配置されている。垂直選択部12は、撮像部2の各行を選択する。読出電流源部5は、撮像部2からの信号を電圧信号として読み出す。アナログ部6は、詳細な説明は省略するが、必要に応じて信号増幅機能を持つAGC(=Auto Gain Control)回路などを有する。主カウント部18は、制御部20から出力されるクロック信号をカウントクロックとしてカウントを行い、カウント結果を示すデジタル(バイナリ)値であるカウント値を出力する。
ランプ部19は、時間の経過とともに増加または減少する参照信号(ランプ波)を生成する。カラム処理部15は、ランプ部19と参照信号線を介して接続される。水平選択部14は、AD変換されたデータを水平信号線に読み出す。出力部17は、水平信号線に接続されている。制御部20は各部を制御する。
図1では、簡単のため4行×6列の単位画素3から構成される撮像部2の場合について説明しているが、現実には、撮像部2の各行や各列には、数十から数万の単位画素3が配置されることになる。尚、図示を割愛するが、撮像部2を構成する単位画素3は、フォトダイオード/フォトゲート/フォトトランジスタなどの光電変換素子、およびトランジスタ回路によって構成されている。
以下では、主要な各部のより詳細な説明を行う。撮像部2は、単位画素3が4行6列分だけ2次元に配置されるとともに、この4行6列の画素配列に対して行ごとに行制御線11が配線されている。行制御線11の各一端は、垂直選択部12の各行に対応した各出力端に接続されている。垂直選択部12は、シフトレジスタあるいはデコーダなどによって構成され、撮像部2の各単位画素3の駆動に際して、行制御線11を介して撮像部2の行アドレスや行走査の制御を行う。また、撮像部2の画素配列に対して列ごとに垂直信号線13が配線されている。
カラム処理部15は、例えば撮像部2の画素列ごと、即ち垂直信号線13ごとに設けられた列AD変換部16を有し、撮像部2の各単位画素3から画素列ごとに垂直信号線13を通して読み出されるアナログの画素信号をデジタルデータに変換する。尚、本例では、撮像部2の画素列に対して1対1の対応関係をもって列AD変換部16を配置する構成をとっているが、これは一例に過ぎず、この配置関係に限定されるものではない。例えば、複数の画素列に対して列AD変換部16を1つ配置し、この1つの列AD変換部16を複数の画素列間で時分割にて使用する構成をとることも可能である。カラム処理部15は、後述するランプ部19および主カウント部18と共に、撮像部2の選択画素行の単位画素3から読み出されるアナログの画素信号をデジタルの画素データに変換するアナログ-デジタル変換手段を構成している。列AD変換部16の詳細については後述する。
ランプ部19は、例えば積分回路によって構成され、制御部20による制御に従って、時間が経過するにつれてレベルが傾斜状に変化する、いわゆるランプ波を生成し、参照信号線を介して比較部109の入力端子の一方に供給する。尚、ランプ部19としては、積分回路を用いたものに限られるものではなく、DAC回路を用いても構わない。ただし、DAC回路を用いてデジタル的にランプ波を生成する構成をとる場合には、ランプ波のステップを細かくする、あるいはそれと同等な構成をとる必要がある。
水平選択部14は、シフトレジスタあるいはデコーダなどによって構成され、カラム処理部15の列AD変換部16の列アドレスや列走査の制御を行う。この水平選択部14による制御に従って、列AD変換部16でAD変換されたデジタルデータは順に水平信号線に読み出される。
主カウント部18は、ダウンカウントモードを有するバイナリカウンタ回路で構成され、バイナリカウンタ回路でカウントを行い、カウント値を出力する。カウント値が例えば6ビットで構成される場合、主カウント部18はD[0]、D[1]、D[2]、D[3]、D[4]、D[5]を出力する。
出力部17は、デジタルデータを出力する。出力部17は、バッファリング機能以外に、例えば黒レベル調整、列バラツキ補正、色処理などの信号処理機能を内蔵しても構わない。更に、nビットパラレルのデジタルデータをシリアルデータに変換して出力するようにしても構わない。
制御部20は、ランプ部19、主カウント部18、垂直選択部12、水平選択部14、出力部17などの各部の動作に必要なクロックや所定タイミングのパルス信号を供給するTG(=Timing Generator:タイミングジェネレータ)の機能ブロックと、このTGと通信を行うための機能ブロックとを備える。
次に、列AD変換部16の構成について説明する。列AD変換部16は各々、撮像部2の各単位画素3から垂直信号線13を介して読み出されるアナログの画素信号を、ランプ部19から与えられる、AD変換するためのランプ波と比較することにより、リセットレベル(基準レベル)や信号レベルの各大きさに対応した時間軸方向の大きさ(パルス幅)を持つパルス信号を生成する。そして、このパルス信号のパルス幅の期間に対応したデータを画素信号の大きさに応じたデジタルデータとすることによってAD変換を行う。
以下では、列AD変換部16の構成の詳細について説明する。列AD変換部16は列ごとに設けられており、図1では6個の列AD変換部16が設けられている。各列の列AD変換部16は同一の構成となっている。列AD変換部16は、比較部109、ラッチ部108、列カウント部103(第2のカウント部)で構成される。ここで、列カウント部103は、論理状態を保持するラッチ機能を合わせ持つバイナリカウンタ回路を想定している。
比較部109は、撮像部2の単位画素3から垂直信号線13を介して出力されるアナログの画素信号に応じた信号電圧と、ランプ部19から供給されるランプ波(ランプ電圧)とを比較することによって、画素信号の大きさを時間軸方向の情報(パルス信号のパルス幅)に変換する。比較部109の比較出力は、例えばランプ電圧が信号電圧よりも大なるときにはHighレベル(Hレベル)になり、ランプ電圧が信号電圧以下のときにはLowレベル(Lレベル)になる。
ラッチ部108は、比較部109の比較出力を受けて、この比較出力が反転するタイミングで、主カウント部18から出力されたカウント値をラッチ(保持/記憶)する。列カウント部103は、ラッチ部108にラッチされたカウント値に基づいて、減算(CDS処理)を行う。
ここで、ラッチ部108にラッチされたカウント値は、例えば6ビットのデータである。その場合、列カウント部103は6ビットのカウンタ回路で構成される。尚、これらは一例であって、これに限る必要はない。
次に、本例の動作について説明する。ここでは、単位画素3の具体的な動作については説明を省略するが、周知のように単位画素3ではリセットレベルと信号レベルとが出力される。
AD変換は、以下のようにして行われる。例えば所定の傾きで下降するランプ波と、単位画素3からの画素信号であるリセットレベルあるいは信号レベルの各電圧とを比較し、この比較処理で用いるランプ波が生成された時点から、リセットレベルや信号レベルの各電圧とランプ波(ランプ電圧)とが一致するまでの期間に相当するカウント値をラッチ部108に保持することによって、リセットレベルあるいは信号レベルの各大きさに対応したデジタルデータを得る。
ここで、撮像部2の選択行の各単位画素3からは、アナログの画素信号として、1回目の読出し動作で画素信号の雑音を含むリセットレベルが読み出され、その後、2回目の読出し動作で信号レベルが読み出される。そして、リセットレベルと信号レベルとが垂直信号線13を通して列AD変換部16に時系列で入力される。尚、1回目の読出し動作で信号レベルが読み出され、その後の2回目の読出し動作でリセットレベルが読み出されても構わない。以下では、1回目および2回目の各読出し動作とその後の減算(CDS処理)の詳細について説明する。ここでは、主カウント部18のカウントモードはダウンカウントモード、列カウント部103のカウントモードはアップカウントモードであるものとし、主カウント部18および列カウント部103はカウントクロックの立下りエッジのタイミングでカウントを行うものとする。
<1回目の読出し>
任意の画素行の単位画素3から垂直信号線13への1回目の読出しが安定した後、制御部20は、ランプ部19に対して、ランプ波生成の制御データを供給する。これを受けてランプ部19は、比較部109の一方の入力端子に与える比較電圧として、波形が全体として時間的にランプ状に変化するランプ波を出力する。比較部109は、このランプ波とリセットレベルとを比較する。この間、主カウント部18は、ダウンカウントモードでカウントを行い、カウント値を出力する。尚、主カウント部18でのカウント動作開始のタイミングと、ランプ波の出力開始のタイミングとは略同時であることが好ましいが、これに限らない。
比較部109は、ランプ部19から与えられるランプ波と、リセットレベルとを比較し、双方の電圧が略一致したとき(第1のタイミング)に、比較出力を反転させる。この第1のタイミングにおいて、ラッチ部108は、主カウント部18から出力されたカウント値を第1のカウント値として保持する。制御部20は、所定の期間を経過すると、ランプ部19への制御データの供給と、主カウント部18でのカウント動作とを停止する。これにより、ランプ部19は、ランプ波の生成を停止する。
続いて、ラッチ部108に保持された第1のカウント値を構成する各ビットを列カウント部103の各ビットにセットする。その後、列カウント部103の各ビットの値が反転される。これにより、列カウント部103の初期値が設定される。
<2回目の読出し>
続いて、2回目の読出し時には、単位画素3毎の入射光量に応じた信号レベルを読み出し、1回目の読出しと同様な動作を行う。任意の画素行の単位画素3から垂直信号線13への2回目の読出しが安定した後、制御部20は、ランプ部19に対して、ランプ波生成の制御データを供給する。これを受けてランプ部19は、比較部109の一方の入力端子に与える比較電圧として、波形が全体として時間的にランプ状に変化するランプ波を出力する。比較部109は、このランプ波と信号レベルとを比較する。この間、主カウント部18は、ダウンカウントモードでカウントを行い、カウント値を出力する。尚、主カウント部18でのカウント動作開始のタイミングと、ランプ波の出力開始のタイミングとは略同時であることが好ましいが、これに限らない。
比較部109は、ランプ部19から与えられるランプ波と、信号レベルとを比較し、双方の電圧が略一致したとき(第2のタイミング)に、比較出力を反転させる。この第2のタイミングにおいて、ラッチ部108は、主カウント部18から出力されたカウント値を第2のカウント値として保持する。制御部20は、所定の期間を経過すると、ランプ部19への制御データの供給と、主カウント部18でのカウント動作とを停止する。これにより、ランプ部19は、ランプ波の生成を停止する。
続いて、ラッチ部108に保持された第2のカウント値を構成する各ビットを順次列カウント部103が加算する。これにより、第1のカウント値と第2のカウント値との減算(CDS処理)が行われる。上記のようにして、リセットレベルと信号レベルとの差分に応じたデジタルデータが得られる。最後に、列カウント部103が保持しているデジタルデータを構成する各ビットの値が反転され、水平選択部14により水平信号線を介して出力部17に転送される。
次に、列AD変換部16の各構成の詳細について説明する。図2は、図1の列AD変換部16について更に説明するための詳細構成の一例を示している。以下では、図2に示す構成について説明する。図2に示す各構成は、図1に示した列AD変換部16内の各構成に対応しており、比較部109と、ラッチ部108を構成するラッチ回路D_0〜D_5と、列カウント部103を構成する切換え部MUX_1〜MUX_5およびカウンタ回路C_0〜C_5とが設けられている。本例では、6ビットのラッチ回路とカウンタ回路を用いる場合を説明する。尚、各ビットに対応した回路B[*](*:0〜5の整数)は、ラッチ回路D_*、切換え部MUX_*、及び、カウンタ回路C_*を基本単位として構成される。尚、最下位ビットに対応した回路B[0]のみ、ラッチ回路D_0及びカウンタ回路C_0を基本単位として構成されている。図1のランプ部19、主カウント部18と図2に示す列AD変換部16が本発明のAD変換回路の一例である。
ラッチ回路D_0〜D_5は、比較部109の比較出力COに基づいて、主カウント部18から出力されるカウント値D[0]〜D[5]をラッチする。カウンタ回路C_0〜C_5は、ラッチ回路D_0〜D_5に保持されている各ビットの値に基づいてカウントを行う。切換え部MUX_1〜MUX_5は、カウンタ回路C_1〜C_5にカウントクロックとして入力される信号を、カウンタ回路C_0〜C_4の出力とラッチ回路D_0〜D_4の出力との間で切り換える。
カウンタ回路C_0〜C_5には、制御信号CNTEN_0〜CNTEN_5および制御信号CMODE_0〜CMODE_5が入力される。制御信号CNTEN_0〜CNTEN_5は、ラッチ回路D_0〜D_5に保持された値をカウンタ回路C_0〜C_5にセットするための信号である。制御信号CMODE_0〜CMODE_5は、カウンタ回路C_0〜C_5の動作を、カウントを行うカウントモードと、カウントを停止しカウント値を保護するデータ保護モードとの間で切り換える信号である。本例においては、列カウント部103に、正/負を判断するためのフラグ用カウンタ回路を設けても構わない。カウンタ回路C_0〜C_5の詳細については、図10を参照して後述する。切換え部MUX_1〜MUX_5には、制御信号SEL_1〜SEL_5が入力される。制御信号SEL_1〜SEL_5は、カウンタ回路C_1〜C_5に入力される信号の切換えを行うための信号である。
次に、図2に示した構成の動作について具体例を用いて説明する。本説明では、主カウント部18として6ビットのダウンカウンタ回路、列カウント部103として6ビットのアップカウンタ回路を用いた場合で説明する。ダウンカウントモードでカウントした場合、例えば0カウントであればカウント値は6’b00_000(0に相当)、例えば7カウントであればカウント値は6’b11_1001(-7に相当)となる。アップカウントモードでカウントした場合、例えば0カウントであればカウント値は6’b00_0000(0に相当)、例えば7カウントであればカウント値は6’b00_0111(7に相当)となる。
上記の計数値の表記について説明する。“6’b”はカウント値が6ビットの2進数であることを示す。“00_0000”は主カウント部18のカウント値を示す。列カウント部103のカウント値についても同様の表記を使用する。
以下では、第1の画素信号(リセットレベル)とそれに続く第2の画素信号(信号レベル)との減算(CDS処理)を行う例を説明する。図3は、本実施形態におけるAD変換に係る信号処理期間を概略的に示している。本実施形態におけるAD変換は、第1の画素信号の処理を行う第1の画素信号処理期間と、第2の画素信号の処理を行う第2の画素信号処理期間とに分けて行われる。第1の画素信号処理期間は、単位画素3から第1の画素信号を読み出す信号読出し期間と、第1の画素信号に応じて主カウント部18が計数(カウント)を行う計数期間と、主カウント部18のカウント値を列カウント部103の初期値に設定する初期値設定期間とを含む。第2の画素信号処理期間は、単位画素3から第2の画素信号を読み出す信号読出し期間と、第2の画素信号に応じて主カウント部18が計数(カウント)を行う計数期間と、主カウント部18のカウント値に応じて列カウント部103が計数(カウント)を行うことで第1の画素信号と第2の画素信号との減算を行う減算期間とを含む。
本例では、2の補数を用いた2進数の減算を行う。第1の画素信号をAD変換して得られるデジタル値をA、第2の画素信号をAD変換して得られるデジタル値をBとすると、減算結果はB-Aとなる。主カウント部18がダウンカウントモードでカウントを行うため、主カウント部18が第1の画素信号処理期間の計数期間でカウントを行った結果(第1のカウント値)は-Aであり、主カウント部18が第2の画素信号処理期間の計数期間でカウントを行った結果(第2のカウント値)は-Bである。列カウント部103の初期値に、第1のカウント値の符号を反転した値であるAを設定し、第2のカウント値である-Bを加算した後、符号を反転することによって、減算結果であるB-Aを得ることができる。
図4〜図9は、1回目および2回目の読出し時の各信号の波形を示している。尚、図4〜図9において、Q[0]〜Q[5]は列カウント部103のラッチ回路D_0〜D_5の出力を示し、OUT[0]〜OUT[5]は列カウント部103のカウンタ回路C_0〜C_5の出力を示している。ここで、第1の画素信号は31カウント、第2の画素信号は43カウントとし、第2の画素信号から第1の画素信号を減算(CDS処理)した値12を求める場合について説明する。
<<1回目の読出し>>
図4および図5は、第1の画素信号に係る信号読出し期間と、計数期間と、初期値設定期間との動作を示している。制御信号SEL_1〜SEL_5がL状態、制御信号CNTEN_0〜CNTEN_5がL状態、制御信号CMODE_0〜CMODE_5がL状態であるとする。制御信号SEL_1〜SEL_5がL状態であるため、切換え部MUX_1〜MUX_5はカウンタ回路C_0〜C_4の出力を選択する。制御信号CMODE_0〜CMODE_5がL状態であるため、カウンタ回路C_0〜C_5の動作モードはカウントモードに設定される。また、カウンタ回路C_0〜C_5およびラッチ回路D_0〜D_5は、図示していない制御信号によりリセットされるものとする。
比較処理の開始時点で、ラッチ部108が保持している値は6’b00_0000(0に相当)、列カウント部103が保持している値は6’b00_0000(0に相当)である。信号読出し期間において、任意の画素行の単位画素3から垂直信号線13への1回目の読出しが安定した後、計数期間において、ランプ部19がランプ波の出力を開始すると同時に、制御部20から主カウント部18へのカウントイネーブル信号clkenがL状態からH状態となり、主カウント部18が制御部20からのクロック信号clkのカウントを開始する。
続いて、所定の条件を満足する第1のタイミング(前述した動作では、ランプ部19から与えられるランプ波とリセットレベルとの比較に係る第1のタイミング)で、比較出力COが反転し、その時点の主カウント部18からの出力D[0]〜D[5]がラッチ部108に保持される(第1のカウント値)。この時点で、ラッチ部108が保持している値は6’b10_0001(-31に相当)、列カウント部103が保持している値は6’b00_0000(0に相当)である。
制御部20から主カウント部18へのカウントイネーブル信号clkenがL状態となり、計数期間が終了した後、初期値設定期間において、ラッチ部108に保持された第1のカウント値を構成する各ビットの値が、列カウント部103を構成するカウンタ回路C_0〜C_5の各ビットにセットされる。具体的には、制御信号CMODE_0〜CMODE_5がL状態からH状態となった後、制御信号SEL_1〜SEL_5がL状態からH状態となり、更に制御信号CMODE_0〜CMODE_5がH状態からL状態となる。つまり、カウンタ回路C_0〜C_5の動作モードがデータ保護モードに設定された後、切換え部MUX_1〜MUX_5がラッチ回路D_1〜D_5の出力を選択し、更にカウンタ回路C_0〜C_5の動作モードがカウントモードに設定される。
続いて、制御信号CNTEN_0〜CNTEN_5がL状態からH状態となり、更にL状態となる。これにより、ラッチ部108に保持された第1のカウント値が列カウント部103に保持される。この時点で、ラッチ部108が保持している値は6’b10_0001(-31に相当)、列カウント部103が保持している値は6’b10_0001(-31に相当)である。
その後、列カウント部103に保持されている値が反転される。この時点で、ラッチ部108が保持している値は6’b10_0001(-31に相当)、列カウント部103が保持している値は6’b01_1110(30に相当)である。値を反転した後に1を加算することで、ラッチ部108が保持している値の符号を反転した値を列カウント部103の初期値に設定することができるが、後述するように、2回目の読出し時にも値を反転しているため、各反転後に1を加算することによる値の変化が相殺される。したがって、本例では、値を反転した後に1を加算していない。
<<2回目の読出し>>
図6および図7は、第2の画素信号に係る信号読出し期間と計数期間との動作を示している。制御信号SEL_1〜SEL_5がL状態、制御信号CNTEN_0〜CNTEN_5がL状態、制御信号CMODE_0〜CMODE_5がL状態であるものとする。制御信号SEL_1〜SEL_5がL状態であるため、切換え部MUX_1〜MUX_5はカウンタ回路C_0〜C_4の出力を選択する。制御信号CMODE_0〜CMODE_5がL状態であるため、カウンタ回路C_0〜C_5の動作モードはカウントモードに設定される。尚、カウンタ回路C_0〜C_5はリセットされない。
比較処理の開始時点で、ラッチ部108が保持している値は6’b00_0000(0に相当)、列カウント部103が保持している値は6’b01_1110(30に相当)である。信号読出し期間において、任意の画素行の単位画素3から垂直信号線13への2回目の読出しが安定した後、計数期間において、ランプ部19がランプ波の出力を開始すると同時に、制御部20から主カウント部18へのカウントイネーブル信号clkenがL状態からH状態となり、主カウント部18が制御部20からのクロック信号clkのカウントを開始する。
続いて、所定の条件を満足する第2のタイミング(前述した動作では、ランプ部19から与えられるランプ波とリセットレベルとの比較に係る第2のタイミング)で、比較出力COが反転し、その時点の主カウント部18からの出力D[0]〜D[5]がラッチ部108に保持される(第2のカウント値)。この時点で、ラッチ部108が保持している値は6’b01_0101(-43に相当)、列カウント部103が保持している値は6’b01_1110(30に相当)である。
続いて、減算期間において、ラッチ部108に保持された第2のカウント値を構成する各ビットを順次列カウント部103が加算する。図8および図9は、第2の画素信号に係る減算期間の動作を示している。制御信号CMODE_0〜CMODE_5がL状態からH状態となり、カウンタ回路C_0〜C_5の動作モードがデータ保護モードとなった後、制御信号CNTEN_0〜CNTEN_5がL状態からH状態となる。続いて、制御信号CMODE_0〜CMODE_5がH状態からL状態となり、カウンタ回路C_0〜C_5の動作モードがカウントモードとなる。これにより、ラッチ回路D_0の出力Q[0]がカウンタ回路C_0に入力されるとともに、カウンタ回路C_0〜C_4の出力がそれぞれカウンタ回路C_1〜C_5に入力される。その後、制御信号CNTEN_0がH状態からL状態となる。これにより、ラッチ回路D_0が保持している値(1’b1)が加算される。この時点で、ラッチ部108が保持している値は6’b01_0101(-43に相当)、列カウント部103が保持している値は6’b01_1111である。
続いて、制御信号CMODE_1がL状態からH状態となり、カウンタ回路C_1の動作モードがデータ保護モードとなる。更に、制御信号SEL_1がL状態からH状態となった後、制御信号CMODE_1がH状態からL状態となる。つまり、切換え部MUX_1がラッチ回路D_1の出力を選択した後、カウンタ回路C_1の動作モードがカウントモードとなる。制御信号CNTEN_1〜CNTEN_5がH状態であるため、ラッチ回路D_1の出力Q[1]がカウンタ回路C_1に入力されるとともに、カウンタ回路C_1〜C_4の出力がそれぞれカウンタ回路C_2〜C_5に入力される。その後、制御信号CNTEN_1がH状態からL状態となる。これにより、ラッチ回路D_1が保持している値(1’b0)が加算される。この時点で、ラッチ部108が保持している値は6’b01_0101(-43に相当)、列カウント部103が保持している値は6’b01_1111である。
続いて、制御信号CMODE_2がL状態からH状態となり、カウンタ回路C_2の動作モードがデータ保護モードとなる。更に、制御信号SEL_2がL状態からH状態となった後、制御信号CMODE_2がH状態からL状態となる。つまり、切換え部MUX_2がラッチ回路D_2の出力を選択した後、カウンタ回路C_2の動作モードがカウントモードとなる。制御信号CNTEN_2〜CNTEN_5がH状態であるため、ラッチ回路D_2の出力Q[2]がカウンタ回路C_2に入力されるとともに、カウンタ回路C_2〜C_4の出力がそれぞれカウンタ回路C_3〜C_5に入力される。その後、制御信号CNTEN_2がH状態からL状態となる。これにより、ラッチ回路D_2が保持している値(1’b1)が加算される。この時点で、ラッチ部108が保持している値は6’b01_0101(-43に相当)、列カウント部103が保持している値は6’b10_0011である。
続いて、制御信号CMODE_3がL状態からH状態となり、カウンタ回路C_3の動作モードがデータ保護モードとなる。更に、制御信号SEL_3がL状態からH状態となった後、制御信号CMODE_3がH状態からL状態となる。つまり、切換え部MUX_3がラッチ回路D_3の出力を選択した後、カウンタ回路C_3の動作モードがカウントモードとなる。制御信号CNTEN_3〜CNTEN_5がH状態であるため、ラッチ回路D_3の出力Q[3]がカウンタ回路C_3に入力されるとともに、カウンタ回路C_3〜C_4の出力がそれぞれカウンタ回路C_4〜C_5に入力される。その後、制御信号CNTEN_3がH状態からL状態となる。これにより、ラッチ回路D_3が保持している値(1’b0)が加算される。この時点で、ラッチ部108が保持している値は6’b01_0101(-43に相当)、列カウント部103が保持している値は6’b10_0011である。
続いて、制御信号CMODE_4がL状態からH状態となり、カウンタ回路C_4の動作モードがデータ保護モードとなる。更に、制御信号SEL_4がL状態からH状態となった後、制御信号CMODE_4がH状態からL状態となる。つまり、切換え部MUX_4がラッチ回路D_4の出力を選択した後、カウンタ回路C_4の動作モードがカウントモードとなる。制御信号CNTEN_4〜CNTEN_5がH状態であるため、ラッチ回路D_4の出力Q[4]がカウンタ回路C_4に入力されるとともに、カウンタ回路C_4の出力がカウンタ回路C_5に入力される。その後、制御信号CNTEN_4がH状態からL状態となる。これにより、ラッチ回路D_4が保持している値(1’b1)が加算される。この時点で、ラッチ部108が保持している値は6’b01_0101(-43に相当)、列カウント部103が保持している値は6’b11_0011である。
続いて、制御信号CMODE_5がL状態からH状態となり、カウンタ回路C_5の動作モードがデータ保護モードとなる。更に、制御信号SEL_5がL状態からH状態となった後、制御信号CMODE_5がH状態からL状態となる。つまり、切換え部MUX_5がラッチ回路D_5の出力を選択した後、カウンタ回路C_5の動作モードがカウントモードとなる。制御信号CNTEN_5がH状態であるため、ラッチ回路D_5の出力Q[5]がカウンタ回路C_5に入力される。その後、制御信号CNTEN_5がH状態からL状態となる。これにより、ラッチ回路D_5が保持している値(1’b0)が加算される。この時点で、ラッチ部108が保持している値は6’b01_0101(-43に相当)、列カウント部103が保持している値は6’b11_0011(-13に相当)である。
最後に、列カウント部103のカウント値が反転される(図8では省略)。この時点で、ラッチ部108が保持している値は6’b01_0101(-43に相当)、列カウント部103が保持している値は6’b00_1100(12に相当)である。前述したように、1回目の読出し時にも値を反転し、1を加算していないため、本例では、値を反転した後に1を加算していない。
第1のカウント値と第2のカウント値を減算(CDS処理)したデジタルデータは、水平選択部14により水平信号線を介して出力部17に転送される。尚、2回目の読出し時におけるデジタルデータの反転は、デジタルデータが出力部17に転送された後でも構わない。上記の動作により、第1の画素信号と第2の画素信号との差分に応じた2進化データが得られる。
次に、列カウント部103に使用されるバイナリカウンタ回路の詳細を説明する。図10は、列カウント部103を構成する1ビット分のカウンタ回路C_*(*:0〜5)の構成の一例を示している。図10に示すカウンタ回路C_*は、フリップフロップDFF、AND回路AND1、OR回路OR1、切換えスイッチSWで構成されている。
フリップフロップ回路DFFはDフリップフロップで構成されている。AND回路AND1は、前段のカウンタ回路C_*の出力信号CK[*-1]と制御信号CNTEN_*のAND演算を行うことにより、例えば加減算における計数パルスや例えば反転動作におけるカウントクロックを有効/無効にするためのパルスを出力する。OR回路OR1は、AND回路AND1の出力信号と制御信号REVのOR演算を行うことにより、ビットを反転するためのパルスを生成する。切換えスイッチSWは、ビット値を保護するため、制御信号CMODE_*に基づいて、入力端子Dと出力端子Qが接続された状態と、入力端子Dと反転出力端子QBが接続された状態とを切り換える。カウンタ回路C_*がn個接続されるとnビットのカウンタ回路が構成される。尚、この構成は一例であり、これに限らない。
次に、カウンタ回路C_*の動作、特にビットの反転動作について説明する。図11のタイミングチャートは、カウンタ回路C_*の動作に係る各信号の波形、特にビットの反転動作を中心とした動作に係る各信号の波形を示している。尚、カウント動作時の制御信号CMODE_*はL状態、制御信号CNTEN_*はL状態、制御信号REVはL状態である。
カウント動作後に、制御信号CMODE_*がH状態となる。これにより、カウンタ回路C_*の出力端子Qと入力端子Dが接続されるため、カウンタ回路C_*の出力は変化せずに一定の状態を保ち、各ビット値が保護される。例えば、このタイミングで制御信号SEL_*(図示せず)の論理状態がH状態からL状態となる。
続いて、制御信号CMODE_*がL状態となり、カウンタ回路C_*の反転出力端子QBと入力端子Dが接続される。これにより、入力端子Dに入力される信号の状態が反転する。その後、制御信号REVがL状態からH状態に変化し、更にL状態に変化する。制御信号REVがH状態からL状態に変化した時点でフリップフロップ回路DFFは、入力端子Dに入力される信号を保持し、出力端子Qから出力する。上記のように、制御信号CMODE_*がL状態となった時点で入力端子Dに入力される信号の状態が反転しているため、制御信号REVがH状態からL状態に変化することにより、カウンタ回路C_*の出力、即ち各ビット値が反転される。
その後、制御信号CMODE_*がH状態となる。これにより、カウンタ回路C_*の出力端子Qと入力端子Dが接続されるため、カウンタ回路C_*の出力は変化せずに一定の状態を保ち、各ビット値が保護される。最後に、制御信号CMODE_*がL状態となり、カウンタ回路C_*の反転出力端子QBと入力端子Dが接続される。上記の動作により、各ビット値を反転した値を初期値として、再びカウント動作を行うことが可能となる。
上述したように、本実施形態によれば、ラッチ部108に保持された第1のカウント値を構成する各ビットの値に基づいて列カウント部103に初期値を設定した後、ラッチ部108に保持された第2のカウント値を構成する各ビットの値に基づいて列カウント部103がカウントを行うことによって、列カウント部103のカウント値として、第1の画素信号と第2の画素信号との差分に応じたデジタルデータを得ることが可能となる。このため、撮像装置のカラム部内でアナログ信号の減算(CDS処理)を行うことができ、高画質な画像を得ることができる。
また、ラッチ部108に保持された第1のカウント値を構成する各ビットの値を反転した値を列カウント部103の初期値に設定することによって、単一のカウントモードを有するカウンタ回路で列カウント部103を構成することができる。
(第2の実施形態)
次に、本発明の第2の実施形態を説明する。本実施形態による(C)MOS撮像装置の構成は、第1の実施形態で説明した構成と略同様であるので、説明を省略する。
以下、本例の動作について、第1の実施形態と異なる動作を中心に説明する。以下では、1回目および2回目の各読出し動作とその後の減算(CDS処理)の詳細について説明する。説明を容易にするため、主カウント部18のカウントモードはアップカウントモードとし、列カウント部103のカウントモードはダウンカウントモードであるものとする。また、主カウント部18および列カウント部103はカウントクロックの立下りエッジのタイミングでカウントを行うものとする。また、前述した動作と同様の動作については、適宜、説明を省略する。
<1回目の読出し>
任意の画素行の単位画素3から垂直信号線13への1回目の読出しが安定した後、ランプ部19はランプ波を出力する。比較部109は、このランプ波とリセットレベルとを比較する。この間、主カウント部18は、アップカウントモードでカウントを行い、カウント値を出力する。
比較部109は、ランプ部19から与えられるランプ波と、リセットレベルとを比較し、双方の電圧が略一致したとき(第1のタイミング)に、比較出力を反転させる。この第1のタイミングにおいて、ラッチ部108は主カウント部18からの出力を第1のカウント値として保持する。所定の期間を経過すると、主カウント部18はカウント動作を停止し、ランプ部19はランプ波の生成を停止する。
続いて、ラッチ部108に保持された第1のカウント値を構成する各ビットを順次列カウント部103が減算する。その後、列カウント部103の各ビットの値が反転される。これにより、列カウント部103の初期値が設定される。
<2回目の読出し>
続いて、2回目の読出し時には、単位画素3毎の入射光量に応じた信号レベルを読み出し、1回目の読出しと同様な動作を行う。任意の画素行の単位画素3から垂直信号線13への2回目の読出しが安定した後、ランプ部19はランプ波を出力する。比較部109は、このランプ波と信号レベルとを比較する。この間、主カウント部18は、アップカウントモードでカウントを行い、カウント値を出力する。
比較部109は、ランプ部19から与えられるランプ波と、信号レベルとを比較し、双方の電圧が略一致したとき(第2のタイミング)に、比較出力を反転させる。この第2のタイミングにおいて、ラッチ部108は主カウント部18からの出力を第2のカウント値として保持する。所定の期間を経過すると、主カウント部18がカウント動作を停止し、ランプ部19はランプ波の生成を停止する。
続いて、ラッチ部108に保持された第2のカウント値を構成する各ビットを順次列カウント部103が減算する。これにより、第1のカウント値と第2のカウント値との減算(CDS処理)が行われる。上記のようにして、リセットレベルと信号レベルとの差分に応じたデジタルデータが得られる。最後に、列カウント部103が保持しているデジタルデータを構成する各ビットの値が反転され、水平選択部14により水平信号線を介して出力部17に転送される。
次に、本例の動作について具体例を用いて説明する。本説明では、主カウント部18として6ビットのアップカウンタ回路、列カウント部103として6ビットのダウンカウンタ回路を用いた場合で説明する。ダウンカウントモードでカウントした場合、例えば0カウントであればカウント値は6’b00_000(0に相当)、例えば7カウントであればカウント値は6’b11_1001(-7に相当)となる。アップカウントモードでカウントした場合、例えば0カウントであればカウント値は6’b00_0000(0に相当)、例えば7カウントであればカウント値は6’b00_0111(7に相当)となる。
以下では、第1の画素信号とそれに続く第2の画素信号との減算(CDS処理)を行う例を説明する。本実施形態におけるAD変換は、第1の実施形態と同様に、第1の画素信号の処理を行う第1の画素信号処理期間と、第2の画素信号の処理を行う第2の画素信号処理期間とに分けて行われる。第1の画素信号処理期間は、単位画素3から第1の画素信号を読み出す信号読出し期間と、第1の画素信号に応じて主カウント部18が計数(カウント)を行う計数期間と、主カウント部18のカウント値を列カウント部103の初期値に設定する初期値設定期間とを含む。第2の画素信号処理期間は、単位画素3から第2の画素信号を読み出す信号読出し期間と、第2の画素信号に応じて主カウント部18が計数(カウント)を行う計数期間と、主カウント部18のカウント値に応じて列カウント部103が計数(カウント)を行うことで第1の画素信号と第2の画素信号との減算を行う減算期間とを含む。
本例では、2の補数を用いた2進数の減算を行う。第1の画素信号をAD変換して得られるデジタル値をA、第2の画素信号をAD変換して得られるデジタル値をBとすると、減算結果はB-Aとなる。主カウント部18がアップカウントモードでカウントを行うため、主カウント部18が第1の画素信号処理期間の計数期間でカウントを行った結果(第1のカウント値)はAであり、主カウント部18が第2の画素信号処理期間の計数期間でカウントを行った結果(第2のカウント値)はBである。列カウント部103の初期値に、第1のカウント値であるAを設定し、第2のカウント値であるBを減算した後、符号を反転することによって、減算結果であるB-Aを得ることができる。
図12〜図19は、1回目および2回目の読出し時の各信号の波形を示している。尚、図12〜図19において、Q[0]〜Q[5]は列カウント部103のラッチ回路D_0〜D_5の出力を示し、OUT[0]〜OUT[5]は列カウント部103のカウンタ回路C_0〜C_5の出力を示している。ここで、第1の画素信号は31カウント、第2の画素信号は43カウントとし、第2の画素信号から第1の画素信号を減算(CDS処理)した値12を求める場合について説明する。
<<1回目の読出し>>
図12および図13は、第1の画素信号に係る信号読出し期間と計数期間との動作を示している。制御信号SEL_1〜SEL_5がL状態、制御信号CNTEN_0〜CNTEN_5がL状態、制御信号CMODE_0〜CMODE_5がL状態であるとする。制御信号SEL_1〜SEL_5がL状態であるため、切換え部MUX_1〜MUX_5はカウンタ回路C_0〜C_4の出力を選択する。制御信号CMODE_0〜CMODE_5がL状態であるため、カウンタ回路C_0〜C_5の動作モードはカウントモードに設定される。また、カウンタ回路C_0〜C_5およびラッチ回路D_0〜D_5は、図示していない制御信号によりリセットされるものとする。
比較処理の開始時点で、ラッチ部108が保持している値は6’b00_0000(0に相当)、列カウント部103が保持している値は6’b00_0000(0に相当)である。信号読出し期間において、任意の画素行の単位画素3から垂直信号線13への1回目の読出しが安定した後、計数期間において、ランプ部19がランプ波の出力を開始すると同時に、制御部20から主カウント部18へのカウントイネーブル信号clkenがL状態からH状態となり、主カウント部18が制御部20からのクロック信号clkのカウントを開始する。
所定の条件を満足する第1のタイミング(前述した動作では、ランプ部19から与えられるランプ波とリセットレベルとの比較に係る第1のタイミング)で、比較出力COが反転し、その時点の主カウント部18からの出力D[0]〜D[5]がラッチ部108に保持される(第1のカウント値)。この時点で、ラッチ部108が保持している値は6’b01_1111(31に相当)、列カウント部103が保持している値は6’b00_0000(0に相当)である。
制御部20から主カウント部18へのカウントイネーブル信号clkenがL状態となり、計数期間が終了した後、初期値設定期間において、ラッチ部108に保持された第1のカウント値を構成する各ビットの値を、列カウント部103を構成するカウンタ回路C_0〜C_5がカウントする。図14および図15は、第1の画素信号に係る初期値設定期間の動作を示している。
制御信号CMODE_0〜CMODE_5がL状態からH状態となり、カウンタ回路C_0〜C_5の動作モードがデータ保護モードとなった後、制御信号CNTEN_0〜CNTEN_5がL状態からH状態となる。続いて、制御信号CMODE_0〜CMODE_5がH状態からL状態となり、カウンタ回路C_0〜C_5の動作モードがカウントモードとなる。これにより、ラッチ回路D_0の出力Q[0]がカウンタ回路C_0に入力されるとともに、カウンタ回路C_0〜C_4の出力がそれぞれカウンタ回路C_1〜C_5に入力される。その後、制御信号CNTEN_0がH状態からL状態となる。これにより、ラッチ回路D_0が保持している値(1’b1)が減算される。この時点で、ラッチ部108が保持している値は6’b01_1111(31に相当)、列カウント部103が保持している値は6’b11_1111(-1に相当)、である。
続いて、制御信号CMODE_1がL状態からH状態となり、カウンタ回路C_1の動作モードがデータ保護モードとなる。更に、制御信号SEL_1がL状態からH状態となった後、制御信号CMODE_1がH状態からL状態となる。つまり、切換え部MUX_1がラッチ回路D_1の出力を選択した後、カウンタ回路C_1の動作モードがカウントモードとなる。制御信号CNTEN_1〜CNTEN_5がH状態であるため、ラッチ回路D_1の出力Q[1]がカウンタ回路C_1に入力されるとともに、カウンタ回路C_1〜C_4の出力がそれぞれカウンタ回路C_2〜C_5に入力される。その後、制御信号CNTEN_1がH状態からL状態となる。これにより、ラッチ回路D_1が保持している値(1’b1)が減算される。この時点で、ラッチ部108が保持している値は6’b01_1111(31に相当)、列カウント部103が保持している値は6’b11_1101(-3に相当)である。
続いて、制御信号CMODE_2がL状態からH状態となり、カウンタ回路C_2の動作モードがデータ保護モードとなる。更に、制御信号SEL_2がL状態からH状態となった後、制御信号CMODE_2がH状態からL状態となる。つまり、切換え部MUX_2がラッチ回路D_2の出力を選択した後、カウンタ回路C_2の動作モードがカウントモードとなる。制御信号CNTEN_2〜CNTEN_5がH状態であるため、ラッチ回路D_2の出力Q[2]がカウンタ回路C_2に入力されるとともに、カウンタ回路C_2〜C_4の出力がそれぞれカウンタ回路C_3〜C_5に入力される。その後、制御信号CNTEN_2がH状態からL状態となる。これにより、ラッチ回路D_2が保持している値(1’b1)が減算される。この時点で、ラッチ部108が保持している値は6’b01_1111(31に相当)、列カウント部103が保持している値は6’b11_1001(-7に相当)である。
続いて、制御信号CMODE_3がL状態からH状態となり、カウンタ回路C_3の動作モードがデータ保護モードとなる。更に、制御信号SEL_3がL状態からH状態となった後、制御信号CMODE_3がH状態からL状態となる。つまり、切換え部MUX_3がラッチ回路D_3の出力を選択した後、カウンタ回路C_3の動作モードがカウントモードとなる。制御信号CNTEN_3〜CNTEN_5がH状態であるため、ラッチ回路D_3の出力Q[3]がカウンタ回路C_3に入力されるとともに、カウンタ回路C_3〜C_4の出力がそれぞれカウンタ回路C_4〜C_5に入力される。その後、制御信号CNTEN_3がH状態からL状態となる。これにより、ラッチ回路D_3が保持している値(1’b1)が減算される。この時点で、ラッチ部108が保持している値は6’b01_1111(31に相当)、列カウント部103が保持している値は6’b11_0001(-15に相当)である。
続いて、制御信号CMODE_4がL状態からH状態となり、カウンタ回路C_4の動作モードがデータ保護モードとなる。更に、制御信号SEL_4がL状態からH状態となった後、制御信号CMODE_4がH状態からL状態となる。つまり、切換え部MUX_4がラッチ回路D_4の出力を選択した後、カウンタ回路C_4の動作モードがカウントモードとなる。制御信号CNTEN_4〜CNTEN_5がH状態であるため、ラッチ回路D_4の出力Q[4]がカウンタ回路C_4に入力されるとともに、カウンタ回路C_4の出力がカウンタ回路C_5に入力される。その後、制御信号CNTEN_4がH状態からL状態となる。これにより、ラッチ回路D_4が保持している値(1’b1)が減算される。この時点で、ラッチ部108が保持している値は6’b01_1111(31に相当)、列カウント部103が保持している値は6’b10_0001(-31に相当)である。
続いて、制御信号CMODE_5がL状態からH状態となり、カウンタ回路C_5の動作モードがデータ保護モードとなる。更に、制御信号SEL_5がL状態からH状態となった後、制御信号CMODE_5がH状態からL状態となる。つまり、切換え部MUX_5がラッチ回路D_5の出力を選択した後、カウンタ回路C_5の動作モードがカウントモードとなる。制御信号CNTEN_5がH状態であるため、ラッチ回路D_5の出力Q[5]がカウンタ回路C_5に入力される。その後、制御信号CNTEN_5がH状態からL状態となる。これにより、ラッチ回路D_5が保持している値(1’b0)が減算される。この時点で、ラッチ部108が保持している値は6’b01_1111(31に相当)、列カウント部103が保持している値は6’b10_0001(-31に相当)である。
その後、列カウント部103のカウント値が反転される。この時点で、ラッチ部108が保持している値は6’b01_1111(31に相当)、列カウント部103が保持している値は6’b01_1110(30に相当)である。列カウント部103が第1のカウント値を減算しているため、列カウント部103のカウント値を反転した後に1を加算することで、ラッチ部108が保持している第1のカウント値と同じ値を列カウント部103の初期値に設定することができるが、後述するように、2回目の読出し時にも値を反転しているため、各反転後に1を加算することによる値の変化が相殺される。したがって、本例では、値を反転した後に1を加算していない。
<<2回目の読出し>>
図16および図17は、第2の画素信号に係る信号読出し期間と計数期間との動作を示している。制御信号SEL_1〜SEL_5がL状態、制御信号CNTEN_0〜CNTEN_5がL状態、制御信号CMODE_0〜CMODE_5がL状態であるものとする。制御信号SEL_1〜SEL_5がL状態であるため、切換え部MUX_1〜MUX_5はカウンタ回路C_0〜C_4の出力を選択する。制御信号CMODE_0〜CMODE_5がL状態であるため、カウンタ回路C_0〜C_5の動作モードはカウントモードに設定される。尚、カウンタ回路C_0〜C_5はリセットされない。
比較処理の開始時点で、ラッチ部108が保持している値は6’b00_0000(0に相当)、列カウント部103が保持している値は6’b01_1110(30に相当)である。信号読出し期間において、任意の画素行の単位画素3から垂直信号線13への2回目の読出しが安定した後、計数期間において、ランプ部19がランプ波の出力を開始すると同時に、制御部20から主カウント部18へのカウントイネーブル信号clkenがL状態からH状態となり、主カウント部18が制御部20からのクロック信号clkのカウントを開始する。
所定の条件を満足する第2のタイミング(前述した動作では、ランプ部19から与えられるランプ波とリセットレベルとの比較に係る第2のタイミング)で、比較出力COが反転し、その時点の主カウント部18からの出力D[0]〜D[5]がラッチ部108に保持される(第2のカウント値)。この時点で、ラッチ部108が保持している値は6’b10_1011(43に相当)、列カウント部103が保持している値は6’b01_1110(30に相当)である。
続いて、ラッチ部108に保持された第2のカウント値を構成する各ビットを順次列カウント部103が減算する。図18および図19は、第2の画素信号に係る減算期間の動作を示している。制御信号CMODE_0〜CMODE_5がL状態からH状態となり、カウンタ回路C_0〜C_5の動作モードがデータ保護モードとなった後、制御信号CNTEN_0〜CNTEN_5がL状態からH状態となる。続いて、制御信号CMODE_0〜CMODE_5がH状態からL状態となり、カウンタ回路C_0〜C_5の動作モードがカウントモードとなる。これにより、ラッチ回路D_0の出力Q[0]がカウンタ回路C_0に入力されるとともに、カウンタ回路C_0〜C_4の出力がそれぞれカウンタ回路C_1〜C_5に入力される。その後、制御信号CNTEN_0がH状態からL状態となる。これにより、ラッチ回路D_0が保持している値(1’b1)が減算される。この時点で、ラッチ部108が保持している値は6’b10_1011(43に相当)、列カウント部103が保持している値は6’b01_1101(29に相当)である。
続いて、制御信号CMODE_1がL状態からH状態となり、カウンタ回路C_1の動作モードがデータ保護モードとなる。更に、制御信号SEL_1がL状態からH状態となった後、制御信号CMODE_1がH状態からL状態となる。つまり、切換え部MUX_1がラッチ回路D_1の出力を選択した後、カウンタ回路C_1の動作モードがカウントモードとなる。制御信号CNTEN_1〜CNTEN_5がH状態であるため、ラッチ回路D_1の出力Q[1]がカウンタ回路C_1に入力されるとともに、カウンタ回路C_1〜C_4の出力がそれぞれカウンタ回路C_2〜C_5に入力される。その後、制御信号CNTEN_1がH状態からL状態となる。これにより、ラッチ回路D_1が保持している値(1’b1)が減算される。この時点で、ラッチ部108が保持している値は6’b10_1011(43に相当)、列カウント部103が保持している値は6’b01_1011(27に相当)である。
続いて、制御信号CMODE_2がL状態からH状態となり、カウンタ回路C_2の動作モードがデータ保護モードとなる。更に、制御信号SEL_2がL状態からH状態となった後、制御信号CMODE_2がH状態からL状態となる。つまり、切換え部MUX_2がラッチ回路D_2の出力を選択した後、カウンタ回路C_2の動作モードがカウントモードとなる。制御信号CNTEN_2〜CNTEN_5がH状態であるため、ラッチ回路D_2の出力Q[2]がカウンタ回路C_2に入力されるとともに、カウンタ回路C_2〜C_4の出力がそれぞれカウンタ回路C_3〜C_5に入力される。その後、制御信号CNTEN_2がH状態からL状態となる。これにより、ラッチ回路D_2が保持している値(1’b0)が減算される。この時点で、ラッチ部108が保持している値は6’b10_1011(43に相当)、列カウント部103が保持している値は6’b01_1011(27に相当)である。
続いて、制御信号CMODE_3がL状態からH状態となり、カウンタ回路C_3の動作モードがデータ保護モードとなる。更に、制御信号SEL_3がL状態からH状態となった後、制御信号CMODE_3がH状態からL状態となる。つまり、切換え部MUX_3がラッチ回路D_3の出力を選択した後、カウンタ回路C_3の動作モードがカウントモードとなる。制御信号CNTEN_3〜CNTEN_5がH状態であるため、ラッチ回路D_3の出力Q[3]がカウンタ回路C_3に入力されるとともに、カウンタ回路C_3〜C_4の出力がそれぞれカウンタ回路C_4〜C_5に入力される。その後、制御信号CNTEN_3がH状態からL状態となる。これにより、ラッチ回路D_3が保持している値(1’b1)が減算される。この時点で、ラッチ部108が保持している値は6’b10_1011(43に相当)、列カウント部103が保持している値は6’b01_0011(19に相当)である。
続いて、制御信号CMODE_4がL状態からH状態となり、カウンタ回路C_4の動作モードがデータ保護モードとなる。更に、制御信号SEL_4がL状態からH状態となった後、制御信号CMODE_4がH状態からL状態となる。つまり、切換え部MUX_4がラッチ回路D_4の出力を選択した後、カウンタ回路C_4の動作モードがカウントモードとなる。制御信号CNTEN_4〜CNTEN_5がH状態であるため、ラッチ回路D_4の出力Q[4]がカウンタ回路C_4に入力されるとともに、カウンタ回路C_4の出力がカウンタ回路C_5に入力される。その後、制御信号CNTEN_4がH状態からL状態となる。これにより、ラッチ回路D_4に保持された値(1’b0)が減算される。この時点で、ラッチ部108が保持している値は6’b10_1011(43に相当)、列カウント部103が保持している値は6’b01_0011(19に相当)である。
続いて、制御信号CMODE_5がL状態からH状態となり、カウンタ回路C_5の動作モードがデータ保護モードとなる。更に、制御信号SEL_5がL状態からH状態となった後、制御信号CMODE_5がH状態からL状態となる。つまり、切換え部MUX_5がラッチ回路D_5の出力を選択した後、カウンタ回路C_5の動作モードがカウントモードとなる。制御信号CNTEN_5がH状態であるため、ラッチ回路D_5の出力Q[5]がカウンタ回路C_5に入力される。その後、制御信号CNTEN_5がH状態からL状態となる。これにより、ラッチ回路D_5に保持された値(1’b1)が減算される。この時点で、ラッチ部108が保持している値は6’b10_1011(43に相当)、列カウント部103が保持している値は6’b11_0011(-13に相当)である。
最後に、列カウント部103のカウント値が反転される(図18では省略)。この時点で、ラッチ部が保持している値は6’b10_1011(43に相当)、列カウント部103が保持している値は6’b00_1100(12に相当)である。前述したように、1回目の読出し時にも値を反転し、1を加算していないため、本例では、値を反転した後に1を加算していない。
第1のカウント値と第2のカウント値を減算(CDS処理)したデジタルデータは、水平選択部14により水平信号線を介して出力部17に転送される。尚、2回目の読出し時におけるデジタルデータの反転は、デジタルデータが出力部17に転送された後でも構わない。上記の動作により、第1の画素信号と第2の画素信号との差分に応じた2進化データが得られる。
上述したように、本実施形態によれば、ラッチ部108に保持された第1のカウント値を構成する各ビットの値に基づいて列カウント部103に初期値を設定した後、ラッチ部108に保持された第2のカウント値を構成する各ビットの値に基づいて列カウント部103がカウントを行うことによって、列カウント部103のカウント値として、第1の画素信号と第2の画素信号との差分に応じたデジタルデータを得ることが可能となる。このため、撮像装置のカラム部内でアナログ信号の減算(CDS処理)を行うことができ、高画質な画像を得ることができる。
また、ラッチ部108に保持された第1のカウント値を構成する各ビットの値を列カウント部103が順次カウントしてカウント値(第3のカウント値)を得た後、カウント値を更に反転した値を列カウント部103の初期値に設定することによって、単一のカウントモードを有するカウンタ回路で列カウント部103を構成することができる。
(第3の実施形態)
次に、本発明の第3の実施形態を説明する。本実施形態による(C)MOS撮像装置の構成は、第1の実施形態で説明した構成と略同様であるが、主カウント部18の構成が異なる。主カウント部18は、カウントモードとしてアップカウントモードおよびダウンカウントモードを有するアップダウンカウンタ回路で構成され、カウント値を出力する。カウント値が例えば6ビットで構成される場合、主カウント部18はD[0]、D[1]、D[2]、D[3]、D[4]、D[5]を出力する。それ以外は、第1の実施形態と略同様である。
次に、本例の動作について、第1の実施形態と異なる動作を中心に説明する。以下では、1回目および2回目の各読出し動作とその後の減算(CDS処理)の詳細について説明する。説明を容易にするため、主カウント部18のカウントモードは、1回目の読出しではダウンカウントモード、2回目の読出しではアップカウントモードとし、列カウント部103のカウントモードはアップカウントモードであるものとする。また、主カウント部18および列カウント部103はカウントクロックの立下りエッジのタイミングでカウントを行うものとする。また、前述した動作と同様の動作については、適宜、説明を省略する。
<1回目の読出し>
任意の画素行の単位画素3から垂直信号線13への1回目の読出しが安定した後、ランプ部19はランプ波を出力する。比較部109は、このランプ波とリセットレベルとを比較する。この間、主カウント部18は、ダウンカウントモードでカウントを行い、カウント値を出力する。尚、主カウント部18でのカウント動作開始のタイミングと、ランプ波の出力開始のタイミングとは略同時であることが好ましいが、これに限らない。
比較部109は、ランプ部19から与えられるランプ波と、リセットレベルとを比較し、双方の電圧が略一致したとき(第1のタイミング)に、比較出力を反転させる。この第1のタイミングにおいて、ラッチ部108は主カウント部18からの出力を第1のカウント値として保持する。所定の期間を経過すると、主カウント部18はカウント動作を停止し、ランプ部19はランプ波の生成を停止する。続いて、ラッチ部108に保持された第1のカウント値を構成する各ビットが列カウント部103の各ビットにセットされる。これにより、列カウント部103の初期値が設定される。
<2回目の読出し>
続いて、2回目の読出し時には、単位画素3毎の入射光量に応じた信号レベルを読み出し、1回目の読出しと同様な動作を行う。任意の画素行の単位画素3から垂直信号線13への2回目の読出しが安定した後、ランプ部19はランプ波を出力する。比較部109は、このランプ波と信号レベルとを比較する。この間、主カウント部18は、アップカウントモードでカウントを行い、カウント値を出力する。尚、主カウント部18でのカウント動作開始のタイミングと、ランプ波の出力開始のタイミングとは略同時であることが好ましいが、これに限らない。
比較部109は、ランプ部19から与えられるランプ波と、信号レベルとを比較し、双方の電圧が略一致したとき(第2のタイミング)に、比較出力を反転させる。この第2のタイミングにおいて、ラッチ部108は主カウント部18からの出力を第2のカウント値として保持する。所定の期間を経過すると、主カウント部18はカウント動作を停止し、ランプ部19はランプ波の生成を停止する。
続いて、ラッチ部108に保持された第2のカウント値を構成する各ビットを順次列カウント部103で加算する。これにより、第1のカウント値と第2のカウント値との減算(CDS処理)が行われる。上記のようにして、リセットレベルと信号レベルとの差分に応じたデジタルデータが得られる。最後に、列カウント部103が保持しているデジタルデータを、水平選択部14により水平信号線を介して出力部17に転送される。
次に、本例の動作について具体例を用いて説明する。本説明では、主カウント部18として6ビットのアップダウンカウンタ回路、列カウント部103として6ビットのアップカウンタ回路を用いた場合で説明する。ダウンカウントモードでカウントした場合、例えば0カウントであればカウント値は6’b00_000(0に相当)、例えば7カウントであればカウント値は6’b11_1001(-7に相当)となる。アップカウントモードでカウントした場合、例えば0カウントであればカウント値は6’b00_0000(0に相当)、例えば7カウントであればカウント値は6’b00_0111(7に相当)となる。
以下では、第1の画素信号とそれに続く第2の画素信号との減算(CDS処理)を行う例を説明する。本実施形態におけるAD変換は、第1の実施形態と同様に、第1の画素信号の処理を行う第1の画素信号処理期間と、第2の画素信号の処理を行う第2の画素信号処理期間とに分けて行われる。第1の画素信号処理期間は、単位画素3から第1の画素信号を読み出す信号読出し期間と、第1の画素信号に応じて主カウント部18が計数(カウント)を行う計数期間と、主カウント部18のカウント値を列カウント部103の初期値に設定する初期値設定期間とを含む。第2の画素信号処理期間は、単位画素3から第2の画素信号を読み出す信号読出し期間と、第2の画素信号に応じて主カウント部18が計数(カウント)を行う計数期間と、主カウント部18のカウント値に応じて列カウント部103が計数(カウント)を行うことで第1の画素信号と第2の画素信号との減算を行う減算期間とを含む。
第1の画素信号をAD変換して得られるデジタル値をA、第2の画素信号をAD変換して得られるデジタル値をBとすると、減算結果はB-Aとなる。主カウント部18が1回目の読出し時にダウンカウントモードでカウントを行うため、主カウント部18が第1の画素信号処理期間の計数期間でカウントを行った結果(第1のカウント値)は-Aである。また、主カウント部18が2回目の読出し時にアップカウントモードでカウントを行うため、主カウント部18が第2の画素信号処理期間の計数期間でカウントを行った結果(第2のカウント値)はBである。列カウント部103の初期値に、第1のカウント値である-Aを設定し、第2のカウント値であるBを加算することによって、減算結果であるB-Aを得ることができる。
図20〜図25は、1回目および2回目の読出し時の各信号の波形を示している。尚、図20〜図25において、Q[0]〜Q[5]は列カウント部103のラッチ回路D_0〜D_5の出力を示し、OUT[0]〜OUT[5]は列カウント部103のカウンタ回路C_0〜C_5の出力を示している。ここで、第1の画素信号は31カウント、第2の画素信号は43カウントとし、第2の画素信号から第1の画素信号を減算(CDS処理)した値12を求める場合について説明する。
<<1回目の読出し>>
図20および図21は、第1の画素信号に係る信号読出し期間と、計数期間と、初期値設定期間との動作を示している。制御信号SEL_1〜SEL_5がL状態、制御信号CNTEN_0〜CNTEN_5がL状態、制御信号CMODE_0〜CMODE_5がL状態であるとする。制御信号SEL_1〜SEL_5がL状態であるため、切換え部MUX_1〜MUX_5はカウンタ回路C_0〜C_4の出力を選択する。制御信号CMODE_0〜CMODE_5がL状態であるため、カウンタ回路C_0〜C_5の動作モードはカウントモードに設定される。また、カウンタ回路C_0〜C_5およびラッチ回路D_0〜D_5は、図示していない制御信号によりリセットされるものとする。
比較処理の開始時点で、ラッチ部108が保持している値は6’b00_0000(0に相当)、列カウント部103が保持している値は6’b00_0000(0に相当)である。信号読出し期間において、任意の画素行の単位画素3から垂直信号線13への1回目の読出しが安定した後、計数期間において、ランプ部19がランプ波の出力を開始すると同時に、制御部20から主カウント部18へのカウントイネーブル信号clkenがL状態からH状態となり、主カウント部18が制御部20からのクロック信号clkのカウントを開始する。
所定の条件を満足する第1のタイミング(前述した動作では、ランプ部19から与えられるランプ波とリセットレベルとの比較に係る第1のタイミング)で、比較出力COが反転し、その時点の主カウント部18から出力D[0]〜D[5]がラッチ部108に保持される(第1のカウント値)。この時点で、ラッチ部108が保持している値は6’b10_0001(-31に相当)、列カウント部103が保持している値は6’b00_0000(0に相当)である。
制御部20から主カウント部18へのカウントイネーブル信号clkenがL状態となり、計数期間が終了した後、初期値設定期間において、ラッチ部108に保持された第1のカウント値を構成する各ビットの値が、列カウント部103を構成するカウンタ回路C_0〜C_5の各ビットにセットされる。具体的には、制御信号CMODE_0〜CMODE_5がL状態からH状態となった後、制御信号SEL_1〜SEL_5がL状態からH状態となり、更に制御信号CMODE_0〜CMODE_5がH状態からL状態となる。つまり、カウンタ回路C_0〜C_5の動作モードがデータ保護モードに設定された後、切換え部MUX_1〜MUX_5がラッチ回路D_1〜D_5の出力を選択し、更にカウンタ回路C_0〜C_5の動作モードがカウントモードに設定される。
続いて、制御信号CNTEN_0〜CNTEN_5がL状態からH状態となり、更にL状態となる。これにより、ラッチ部108に保持された第1のカウント値が列カウント部103に保持される。この時点で、ラッチ部108が保持している値は6’b10_0001(-31に相当)、列カウント部103が保持している値は6’b10_0001(-31に相当)である。
<<2回目の読出し>>
図22および図23は、第2の画素信号に係る信号読出し期間と計数期間との動作を示している。制御信号SEL_1〜SEL_5がL状態、制御信号CNTEN_0〜CNTEN_5がL状態、制御信号CMODE_0〜CMODE_5がL状態であるものとする。制御信号SEL_1〜SEL_5がL状態であるため、切換え部MUX_1〜MUX_5はカウンタ回路C_0〜C_4の出力を選択する。制御信号CMODE_0〜CMODE_5がL状態であるため、カウンタ回路C_0〜C_5の動作モードはカウントモードに設定される。尚、カウンタ回路C_0〜C_5はリセットされない。
比較処理の開始時点で、ラッチ部108が保持している値は6’b00_0000、列カウント部103が保持している値は6’b10_0001(-31に相当)、である。信号読出し期間において、任意の画素行の単位画素3から垂直信号線13への2回目の読出しが安定した後、計数期間において、ランプ部19がランプ波の出力を開始すると同時に、制御部20から主カウント部18へのカウントイネーブル信号clkenがL状態からH状態となり、主カウント部18が制御部20からのクロック信号clkのカウントを開始する。
続いて、所定の条件を満足する第2のタイミング(前述した動作では、ランプ部19から与えられるランプ波とリセットレベルとの比較に係る第2のタイミング)で、比較出力COが反転し、その時点の主カウント部18からの出力D[0]〜D[5]がラッチ部108に保持される(第2のカウント値)。この時点で、ラッチ部108が保持している値は6’b10_1011(43に相当)、列カウント部103が保持している値は6’b10_0001(-31に相当)である。
続いて、減算期間において、ラッチ部108に保持された第2のカウント値を構成する各ビットを順次列カウント部103が加算する。図24および図25は、第2の画素信号に係る減算期間の動作を示している。制御信号CMODE_0〜CMODE_5がL状態からH状態となり、カウンタ回路C_0〜C_5の動作モードがデータ保護モードとなった後、制御信号CNTEN_0〜CNTEN_5がL状態からH状態となる。続いて、制御信号CMODE_0〜CMODE_5がH状態からL状態となり、カウンタ回路C_0〜C_5の動作モードがカウントモードとなる。これにより、ラッチ回路D_0の出力Q[0]がカウンタ回路C_0に入力されるとともに、カウンタ回路C_0〜C_4の出力がそれぞれカウンタ回路C_1〜C_5に入力される。その後、制御信号CNTEN_0がH状態からL状態となる。これにより、ラッチ回路D_0が保持している値(1’b1)が加算される。この時点で、ラッチ部108が保持している値は6’b10_1011(43に相当)、列カウント部103が保持している値は6’b10_0010(-30に相当)である。
続いて、制御信号CMODE_1がL状態からH状態となり、カウンタ回路C_1の動作モードがデータ保護モードとなる。更に、制御信号SEL_1がL状態からH状態となった後、制御信号CMODE_1がH状態からL状態となる。つまり、切換え部MUX_1がラッチ回路D_1の出力を選択した後、カウンタ回路C_1の動作モードがカウントモードとなる。制御信号CNTEN_1〜CNTEN_5がH状態であるため、ラッチ回路D_1の出力Q[1]がカウンタ回路C_1に入力されるとともに、カウンタ回路C_1〜C_4の出力がそれぞれカウンタ回路C_2〜C_5に入力される。その後、制御信号CNTEN_1がH状態からL状態となる。これにより、ラッチ回路D_1が保持している値(1’b1)が加算される。この時点で、ラッチ部108が保持している値は6’b10_1011(43に相当)、列カウント部103が保持している値は6’b10_0100(-28に相当)である。
続いて、制御信号CMODE_2がL状態からH状態となり、カウンタ回路C_2の動作モードがデータ保護モードとなる。更に、制御信号SEL_2がL状態からH状態となった後、制御信号CMODE_2がH状態からL状態となる。つまり、切換え部MUX_2がラッチ回路D_2の出力を選択した後、カウンタ回路C_2の動作モードがカウントモードとなる。制御信号CNTEN_2〜CNTEN_5がH状態であるため、ラッチ回路D_2の出力Q[2]がカウンタ回路C_2に入力されるとともに、カウンタ回路C_2〜C_4の出力がそれぞれカウンタ回路C_3〜C_5に入力される。その後、制御信号CNTEN_2がH状態からL状態となる。これにより、ラッチ回路D_2が保持している値(1’b0)が加算される。この時点で、ラッチ部108が保持している値は6’b10_1011(43に相当)、列カウント部103が保持している値は6’b10_0100(-28に相当)である。
続いて、制御信号CMODE_3がL状態からH状態となり、カウンタ回路C_3の動作モードがデータ保護モードとなる。更に、制御信号SEL_3がL状態からH状態となった後、制御信号CMODE_3がH状態からL状態となる。つまり、切換え部MUX_3がラッチ回路D_3の出力を選択した後、カウンタ回路C_3の動作モードがカウントモードとなる。制御信号CNTEN_3〜CNTEN_5がH状態であるため、ラッチ回路D_3の出力Q[3]がカウンタ回路C_3に入力されるとともに、カウンタ回路C_3〜C_4の出力がそれぞれカウンタ回路C_4〜C_5に入力される。その後、制御信号CNTEN_3がH状態からL状態となる。これにより、ラッチ回路D_3が保持している値(1’b1)が加算される。この時点で、ラッチ部108が保持している値は6’b10_1011(43に相当)、列カウント部103が保持している値は6’b10_1100(-20に相当)である。
続いて、制御信号CMODE_4がL状態からH状態となり、カウンタ回路C_4の動作モードがデータ保護モードとなる。更に、制御信号SEL_4がL状態からH状態となった後、制御信号CMODE_4がH状態からL状態となる。つまり、切換え部MUX_4がラッチ回路D_4の出力を選択した後、カウンタ回路C_4の動作モードがカウントモードとなる。制御信号CNTEN_4〜CNTEN_5がH状態であるため、ラッチ回路D_4の出力Q[4]がカウンタ回路C_4に入力されるとともに、カウンタ回路C_4の出力がカウンタ回路C_5に入力される。その後、制御信号CNTEN_4がH状態からL状態となる。これにより、ラッチ回路D_4が保持している値(1’b0)が加算される。この時点で、ラッチ部108が保持している値は6’b10_1011(43に相当)、列カウント部103が保持している値は6’b10_1100(-20に相当)である。
続いて、制御信号CMODE_5がL状態からH状態となり、カウンタ回路C_5の動作モードがデータ保護モードとなる。更に、制御信号SEL_5がL状態からH状態となった後、制御信号CMODE_5がH状態からL状態となる。つまり、切換え部MUX_5がラッチ回路D_5の出力を選択した後、カウンタ回路C_5の動作モードがカウントモードとなる。制御信号CNTEN_5がH状態であるため、ラッチ回路D_5の出力Q[5]がカウンタ回路C_5に入力される。その後、制御信号CNTEN_5がH状態からL状態となる。これにより、ラッチ回路D_5が保持している値(1’b1)が加算される。この時点で、ラッチ部108が保持している値は6’b10_1011(43に相当)、列カウント部103が保持している値は6’b00_1100(12に相当)である。
第1のカウント値と第2のカウント値を減算(CDS処理)したデジタルデータは、水平選択部14により水平信号線を介して出力部17に転送される。上記の動作により、第1の画素信号と第2の画素信号との差分に応じた2進化データが得られる。
上述したように、本実施形態によれば、ラッチ部108に保持された第1のカウント値を構成する各ビットの値に基づいて列カウント部103に初期値を設定した後、ラッチ部108に保持された第2のカウント値を構成する各ビットの値に基づいて列カウント部103がカウントを行うことによって、列カウント部103のカウント値として、第1の画素信号と第2の画素信号との差分に応じたデジタルデータを得ることが可能となる。このため、撮像装置のカラム部内でアナログ信号の減算(CDS処理)を行うことができ、高画質な画像を得ることができる。
また、主カウント部18がダウンカウントモードでカウントを行って第1のカウント値を取得し、アップカウントモードでカウントを行って第2のカウント値を取得することによって、列カウント部103での反転動作を不要にすることができる。尚、1回目の読出し時に信号レベルが読み出され、2回目の読出し時にリセットレベルが読み出される場合には、主カウント部18がアップカウントモードでカウントを行って第1のカウント値を取得し、ダウンカウントモードでカウントを行って第2のカウント値を取得すればよい。
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。例えば、非特許文献1(Figure 23.11.2参照)のような固体撮像装置の下位カウント部に上記の実施形態を適用することで、上位カウント部と合わせて容易に減算(CDS処理)を実現することができる。