以下に添付図面を参照して、実施形態にかかる固体撮像装置を詳細に説明する。なお、これらの実施形態により本発明が限定されるものではない。
(第1の実施形態)
図1は、第1の実施形態の固体撮像装置のブロック構成を示す図である。図2は、図1に示す固体撮像装置を備えるカメラシステムのブロック構成を示す図である。
カメラシステム1は、カメラモジュール2を備える電子機器である。カメラシステム1は、例えばカメラ付き携帯端末である。カメラシステム1は、デジタルカメラ等の電子機器であっても良い。
カメラシステム1は、カメラモジュール2および後段処理部3を備える。カメラモジュール2は、撮像光学系4および固体撮像装置5を備える。後段処理部3は、イメージシグナルプロセッサ(ISP)6、記憶部7および表示部8を備える。
撮像光学系4は、被写体からの光を取り込む。撮像光学系4は、被写体像を結像させるレンズを備える。固体撮像装置5は、CMOSイメージセンサである。固体撮像装置5は、被写体像を撮像する。ISP6は、固体撮像装置5での撮像により得られた画像信号の信号処理を実施する。記憶部7は、ISP6での信号処理を経た画像を格納する。記憶部7は、ユーザの操作等に応じて、表示部8へ画像信号を出力する。
表示部8は、ISP6あるいは記憶部7から入力される画像信号に応じて、画像を表示する。表示部8は、例えば、液晶ディスプレイである。カメラシステム1は、ISP6での信号処理を経たデータに基づき、カメラモジュール2のフィードバック制御を実施する。
図1に示すように、固体撮像装置5は、画素領域11、制御回路12、行走査回路13、列走査回路14、カラム処理回路15および信号処理回路16を備える。制御回路12、行走査回路13、列走査回路14、カラム処理回路15および信号処理回路16は、画素領域11が実装されているチップ上に集積された周辺回路部を構成する。
画素領域11は、行列状に配列された画素を備える領域である。各画素は、光電変換素子であるフォトダイオードを備える。光電変換素子は、入射光量に応じた信号電荷を生成する。画素は、入射光量に応じて生成された信号電荷を蓄積する。
固体撮像装置5の駆動のための各種データおよびクロック信号は、チップ外部から制御回路12へ供給される。制御回路12は、固体撮像装置5の外部から供給されるクロック信号に応じて、周辺回路部の駆動を制御するための各種パルス信号を生成する。制御回路12は、駆動タイミングを指示するパルス信号を、行走査回路13、列走査回路14、カラム処理回路15および信号処理回路16のそれぞれに供給する。
行走査回路13は、シフトレジスタおよびアドレスデコーダ等を備える。画素駆動回路である行走査回路13は、画素領域11の画素へ駆動信号を供給する。制御回路12は、垂直同期信号に応じたパルス信号を、行走査回路13へ供給する。行走査回路13は、画素信号が読み出される画素行を、制御回路12からのパルス信号に応じて順次選択する。行走査回路13は、選択された画素行において画素ごとに順次読み出し信号を供給することによる読み出し走査を行う。読み出し信号は、入射光量に応じて生成された画素信号を画素から読み出すための駆動信号である。
行走査回路13は、画素ごとへの読み出し信号の供給に先行して、各画素へのリセット信号の供給による掃き出し走査を行う。リセット信号は、光電変換素子に残存されている電荷を排出させるための駆動信号である。各画素は、リセット信号が供給されたときから読み出し信号が供給されるまでの間、入射光量に応じて生成された信号電荷を蓄積する。
駆動信号は、行走査回路13から各画素へ、画素駆動線18を通じて伝送される。画素駆動線18は、画素領域11の画素行ごとに設けられている。画素行は、行方向(水平方向)へ配列された画素からなる。
画素信号は、各画素からカラム処理回路15へ、垂直信号線19を通じて伝送される。垂直信号線19は、画素領域11の画素列ごとに設けられている。画素列は、列方向(垂直方向)へ配列された画素からなる。
カラム処理回路15は、垂直信号線19を伝送した画素信号を、画素列ごとに設けられた単位回路(図示省略)にて処理する。カラム処理回路15は、画素信号へ、固定パターンノイズの低減のための相関二重サンプリング処理(CDS)を施す。カラム処理回路15は、画素信号へ、アナログ方式の信号からデジタル方式の信号への変換であるAD変換を施す。
カラム処理回路15は、画素からのアナログ信号の電位レベルと、VREFの電位レベルとを比較する。VREFは、電位レベルを所定の傾きで変化させたランプ波形の基準電圧である。カラム処理回路15は、かかる比較を開始してから、VREFおよびアナログ信号における電位レベルの大小関係が反転するまでのカウント値を得る。これにより、カラム処理回路15は、アナログ信号の電位レベルを、デジタル値であるカウント値へ変換する。なお、カラム処理回路15は、CDSおよびAD変換以外の処理を実施しても良い。カラム処理回路15は、CDSおよびAD変換を経た画素信号を、単位回路ごとに保持する。
列走査回路14は、シフトレジスタおよびアドレスデコーダ等を備える。制御回路12は、水平同期信号に応じたパルス信号を、列走査回路14へ供給する。列走査回路14は、画素信号を読み出す画素列を、制御回路12からのパルス信号に応じて順次選択する。カラム処理回路15は、列走査回路14による選択走査に応じて、各単位回路に保持されている画素信号を順次出力する。
信号処理回路16は、画素領域11から伝送された信号を処理する。信号処理回路16は、カラム処理回路15からの画素信号を成分とする画像信号に対し、各種の信号処理を実施する。固体撮像装置5は、信号処理回路16での処理を経た画像信号を出力する。
図3は、図1に示す信号処理回路のブロック構成を示す図である。信号処理回路16は、黒レベル補正回路20、キズ補正回路21、ノイズ低減回路22、シェーディング回路23、デジタルアンプ(AMP)回路24およびサイズ調整回路25を備える。
黒レベル補正回路20は、信号処理回路16へ入力された画像信号の黒レベルを補正する補正回路である。黒レベルは、輝度のレベルを階調として表す際の基準とする信号レベルである。
キズ補正回路21は、画像信号へのキズ補正を実施する。キズは、画素からの信号の相対的な異常である。ノイズ低減回路22は、画像信号へのノイズ低減処理を実施する。ノイズ低減回路22は、温度等の条件変動に伴う暗電流の変動によるノイズ、あるいは電源変動に伴う低周波変動によるノイズ等を低減させる。
シェーディング回路23は、被写体像のシェーディング補正のためのシェーディング補正係数を算出する。デジタルAMP回路24は、シェーディング回路23で算出されたシェーディング補正係数を基に、デジタルAMP係数を算出する。デジタルAMP回路24は、ノイズ低減回路22からの画像信号にデジタルAMP係数を乗算する。
サイズ調整回路25は、画像のサイズを調整する。サイズ調整回路25は、線形フィルタを用いるスケーリング処理を実施する。サイズ調整回路25は、画像の所定の領域を切り出すクロップ処理を実施しても良い。
カメラシステム1は、実施形態において信号処理回路16が実施するものとした信号処理の少なくともいずれかを、後段処理部3のISP6が実施することとしても良い。カメラシステム1は、信号処理の少なくともいずれかを、信号処理回路16およびISP6の双方が実施しても良い。信号処理回路16およびISP6は、実施形態で説明する信号処理以外の信号処理を実施することとしても良い。黒レベル補正回路20の機能は、信号処理回路16およびISP6で分担しても良い。
図4は、図1に示す画素領域の平面模式図である。画素領域11は、感光領域31および遮光領域32を備える。
感光領域31は、光が入射する画素が行列状に配列された第1領域である。感光領域31の各画素は、入射する光を通過させる開口(図示省略)を備える。感光領域31のうち、有効画素領域33は、有効画素が配列された領域である。有効画素は、被写体からの光を取り込むための画素である。有効画素は、入射光量に応じたレベルのアナログ信号である有効画素信号を出力する。感光領域31のうち有効画素領域33の周囲の領域にある画素の信号は、有効画素領域33の端部にある有効画素の信号へのキズ補正あるいはノイズ低減処理等において使用される。
遮光領域32は、感光領域31の垂直方向上側に設けられている。遮光領域32は、遮光画素が行列状に配列された第2領域である。遮光画素は、遮光された画素である。遮光画素は、暗時におけるレベルを示すアナログ信号であるオプティカルブラック(OB)信号を出力する。各遮光画素には、光を遮蔽する遮光膜(図示省略)が設けられている。遮光膜は、アルミニウム等の金属材料からなる。
遮光領域32は、黒レベル調整領域34およびクランプ領域35を備える。黒レベル調整回路34は、遮光領域32のうち感光領域31に隣接する位置に設けられている。黒レベル補正回路20は、遮光領域32からのOB信号を基に、各有効画素の信号値を補正する。
固体撮像装置5は、カラム処理回路15および黒レベル補正回路20による二段階の黒レベル補正を実施する。カラム処理回路15は、クランプ領域35の遮光画素に由来するOB値が所定の黒レベル基準値となるように、VREFのクランプ電圧を調整する。OB値は、遮光画素から読み出されたOB信号へのAD変換により得られた信号値とする。制御回路12は、OB値が黒レベル基準値に収束するまで、カラム処理回路15から出力される信号に応じて、クランプ電圧をフィードバック制御する。
黒レベル補正回路20は、黒レベル調整領域34の遮光画素に由来するOB値に基づいて、有効画素信号の黒レベルをフレームごとに補正する。
図5は、図3に示す黒レベル補正回路のブロック構成を示す図である。黒レベル補正回路20は、各種論理回路と、演算結果および各種データの保持のための記憶素子を適宜組み合わせて構成されている。記憶素子は、レジスタおよびメモリのいずれであっても良い。
黒レベル補正回路20は、行平均回路41−1,41−2,41−3、行データ選択回路42−1,42−2,42−3、エリア平均回路43−1,43−2,43−3、エリア選択回路44、減算器45および加算器46を備える。
図6は、図4に示す黒レベル調整領域の平面模式図である。黒レベル調整領域34には、8本の画素行(図示省略)が配置されている。画素行は、行方向(水平方向)へ配列された画素からなる。黒レベル調整領域34には、3つのエリアが設定されている。以下、3つのエリアをそれぞれAR1,AR2およびAR3と称する。
AR1,AR2およびAR3は、互いに間隔を介して、行方向へ配列されている。AR1,AR2およびAR3では、エリア内の行方向における遮光画素の数がいずれも同じとされている。エリア内の行方向における遮光画素の数は、2のn乗とされている。nは任意の整数とする。黒レベル調整領域34のうち行方向における両端と、エリア同士の間には、それぞれエリア外領域が設けられている。エリア外領域は、行方向における遮光画素の数がいずれも同じとされている。なお、黒レベル調整領域34は、少なくとも複数のエリアが設定されたものであれば良く、3つのエリアが設定されたものに限られない。黒レベル調整領域34の両端およびエリア同士の間におけるエリア外領域の少なくともいずれかは、省略されていても良い。
行平均回路41−1,41−2および41−3は、それぞれAR1,AR2およびAR3に対応して設けられた行平均算出部である。行平均回路41−1は、AR1内の各画素行についての行平均を求める。行平均回路41−2は、AR2内の各画素行についての行平均を求める。行平均回路41−3は、AR3内の各画素行についての行平均を求める。行平均は、行ごとにおける画素の信号値の平均である。
行平均回路41−1,41−2および41−3は、1行あたりの信号値の積算結果から、1つの遮光画素当たりの信号値である行平均を求める。行方向における画素数が2のn乗であるため、行平均回路41−1,41−2および41−3は、積算結果であるビット列の各桁をシフトさせる演算により行平均を求めることができる。行平均回路41−1,41−2および41−3は、簡易な回路構成での高速な演算により、行平均を求めることができる。行平均回路41−1,41−2および41−3は、行方向における画素数で積算結果を割ることにより行平均を求めることとしても良い。
行データ選択回路42−1,42−2および42−3は、それぞれAR1,AR2およびAR3に対応して設けられた行データ選択部である。行データ選択回路42−1,42−2および42−3は、行平均と保持値との差分を基に、行ごとのデータを選択する。
図7は、図5に示す行データ選択回路のブロック構成を示す図である。図7には、図5に示す行データ選択回路42−1,42−2および42−3のうち、行データ選択回路42−1を示している。行データ選択回路42−2および42−3は、行データ選択回路42−1と同様の構成を備える。
行データ選択回路42−1は、減算器51、比較器52、選択コントローラ53、セレクタ54、レジスタ55および更新判定回路56を備える。
行データ選択回路42−1には、行平均回路41−1で求めた行平均AVrが入力される。行データ選択回路42−1には、水平同期信号に応じたパルス信号Pが制御信号12から供給される。
減算器51は、行平均AVrと、レジスタ55に保持されている参照値との差分である絶対値を求める。参照値については後述する。比較器52は、あらかじめ設定された閾値Thと、減算器51で求めた差分とを比較する。行データ選択回路42−1は、閾値Thを保持するレジスタ(図示省略)を備える。比較器52は、比較結果を選択コントローラ53へ出力する。
選択コントローラ53は、比較器52における比較結果に応じた選択制御信号をセレクタ54へ供給する。選択コントローラ53は、パルス信号Pにより、行方向における画素数をカウントすることで、セレクタ54へ入力された行平均AVrが属するエリアを識別する。セレクタ54は、選択制御信号に基づいて、行平均AVrと、レジスタ55からの参照値とのいずれかを選択する。
例えば、選択コントローラ53は、差分が閾値Th以下である場合に選択制御信号「0」を出力し、差分が閾値Thより大きい場合に選択制御信号「1」を出力する。セレクタ54は、選択制御信号「0」に応じて行平均AVrを選択する。セレクタ54は、選択制御信号「1」に応じて参照値を選択する。行データ選択回路42−1は、セレクタ54における選択結果を、行ごとのデータとして出力する。
参照値は、行データ選択回路42−1にて先に算出された行平均であって、入射光などの外的な作用の影響が少なく信頼性が高いデータとして保持された値である。行データ選択回路42−1は、行平均回路41−1で求められた行平均AVrと参照値とのずれが閾値Th以下であれば、行ごとのデータとして当該行平均AVrを出力する。行データ選択回路42−1は、行平均AVrと参照値とのずれが閾値Thより大きければ、当該行平均AVrに代えて、参照値を出力する。行データ選択回路42−1は、参照値から大きくずれた信頼性の低い行平均AVrを除外し、当該行について行平均AVrから参照値へデータの置き換えを行う。このように、行データ選択回路42−1は、行平均回路41−1からの行平均AVrと、レジスタ55に保持されている参照値との差分に基づいて、行ごとのデータを選択する。
更新判定回路56は、レジスタ55からの参照値と、セレクタ54における選択結果である値とを比較し、レジスタ55における参照値の更新の可否を判定する。更新判定回路56は、選択結果が参照値以上である場合、更新を行わないと判定する。レジスタ55は、それまでと同じ参照値を保持する。一方、更新判定回路56は、選択結果の値が参照値より小さい場合、更新を行うと判定する。更新判定回路56は、選択結果の値を、新たな参照値としてレジスタ55に書き込む。
レジスタ55が保持する参照値の初期値は、エリアAR1の1行目の画素行における行平均AVrとする。1行目の画素行は、エリアAR1のうちフレーム期間において最初に黒レベル補正回路20へ信号値が読み込まれる画素行であり、かつエリアAR1内において感光領域31から最も離れた位置にある画素行である。
黒レベル調整領域34のうち1行目の遮光画素は、感光領域31から離れた位置にあることで、感光領域31への入射光による影響を受けにくい。行データ選択回路42−1は、かかる1行目の行平均AVrを、信頼性の高いデータとして参照値に採用している。2行目以降における行平均AVrが参照値より低い場合、更新判定回路56は、得られた行平均AVrがより信頼性が高いデータであるものと判断し、参照値を更新する。レジスタ55が保持する参照値は、1行目の画素行における行平均AVr、および更新された行平均AVrのいずれかである。
比較器52は、行平均AVrおよび参照値の差分である絶対値に代えて、行平均AVrおよび参照値の大小関係を表す符号を含む差分を求めることとしても良い。比較器52は、符号を含む差分および閾値Thを比較する。行データ選択回路42−1は、行平均AVrから参照値を差し引いた結果が閾値Th以下であれば、行ごとのデータとして当該行平均AVrを出力する。閾値Thをプラスの値とした場合、行データ選択回路42−1は、参照値より小さく信頼性の高い行平均AVrを、参照値との差分に関わらず選択可能となる。
なお、閾値Thは、一定値である場合に限られず、温度、アナログゲインあるいは露光時間等に連動して変化させたものであっても良い。行データ選択回路42−1は、条件に応じて閾値Thを調整する手段を備えていても良い。
エリア平均回路43−1,43−2および43−3は、それぞれAR1,AR2およびAR3に対応して設けられたエリア平均算出部である。エリア平均回路43−1は、行データ選択回路42−1からの行ごとのデータを積算する。エリア平均回路43−1は、AR1内の8つの画素行についてのデータの積算結果から、1つの遮光画素当たりの信号値であるエリア平均を求める。エリア平均は、エリアごとにおける画素の信号値の平均である。
エリア平均回路43−2は、行データ選択回路42−2からの行ごとのデータの積算結果から、AR2についてのエリア平均を求める。エリア平均回路43−3は、行データ選択回路42−3からの行ごとのデータの積算結果から、AR3についてのエリア平均を求める。エリア平均回路43−1,43−2および43−3は、求めたエリア平均をエリア選択回路44へ出力する。
エリアの画素行の数が8(=23)であるため、エリア平均回路43−1,43−2および43−3は、積算結果であるビット列の各桁をシフトさせる演算によりエリア平均を求めることができる。エリア平均回路43−1,43−2および43−3は、簡易な回路構成での高速な演算により、行平均を求めることができる。エリア平均回路43−1,43−2および43−3は、画素行の数で積算結果を割ることにより行平均を求めることとしても良い。
エリア選択回路44は、AR1,AR2およびAR3について求められた各エリア平均のうちの1つを選択するエリア平均選択部である。エリア選択回路44は、エリア平均回路43−1,43−2および43−3からのエリア平均を比較し、最小値である1つを選択する。黒レベル補正回路20は、黒レベル調整領域34内の複数のエリアのうち、入射光あるいは温度変化などの外的な作用による信号値の変動が最も少ない1つを、エリア選択回路44にて選択する。黒レベル補正回路20は、エリア選択回路44で選択されたエリア平均である黒レベル補正値を、フレーム期間ごとに生成する。黒レベル補正回路20は、生成された黒レベル補正値を、エリア選択回路44で保持する。
減算器45は、選択されたエリア平均と、有効画素領域33の有効画素の信号値とを演算する演算器である。減算器45は、エリア選択回路44からの黒レベル補正値を、有効画素領域33の各有効画素の信号値から減算する。加算器46は、減算器45における減算結果に、所定の黒レベル基準値BLを加算する、黒レベル基準値BLは、例えば64LSBである。黒レベル補正回路20は、加算器46による加算結果を出力する。以上により、黒レベル補正回路20は、遮光画素からの信号を基に、有効画素ごとの信号値を補正する。
黒レベル補正回路20は、エリア選択回路44にて選択されたエリア平均を黒レベル補正値とすることで、外的な作用の影響が抑制された高精度な黒レベル補正を実施できる。遮光領域32への光の入り込みを低減するために遮光領域32が感光領域31から離れて配置されていなくても、黒レベル補正回路20は、高精度な黒レベル補正が可能となる。画素領域11は、遮光領域32と感光領域31との間において、感光領域31から遮光領域32を離して設けるためのマージン領域を不要とする。固体撮像装置5は、画素領域11のマージン領域が不要となる分、チップサイズを削減できる。固体撮像装置5は、黒レベル補正回路20による高精度な黒レベル補正を可能とすることで、良好なダイナミックレンジを備える画像を得ることができる。
黒レベル調整領域34に設定されるエリアは3つである場合に限られない。エリアは複数であれば良いものとする。黒レベル補正回路20は、設定された各エリアに対して、それぞれ行平均算出部、行データ選択部およびエリア平均算出部が設けられる。
第1の実施形態によれば、黒レベル補正回路20は、複数のエリアからのエリア平均のうちの1つをエリア選択回路44において選択し、選択されたエリア平均を黒レベル補正値として使用する。黒レベル補正回路20は、エリア選択回路44での選択により、複数のエリアのうち外的な作用の影響が最も少ないエリアからのデータを用いて黒レベルを補正できる。黒レベル補正回路20は、エリアごとのエリア平均を求めるための行ごとのデータとして、行ごとに求められた行平均と参照値とのいずれかを、行データ選択回路42−1,42−2,42−3にて選択する。黒レベル補正回路20は、行データ選択回路42−1,42−2,42−3での選択により、信頼性の高いデータを使用してエリア平均を求めることができる。
以上により、固体撮像装置5は、画像信号の基準とする黒レベルの高精度な補正ができるという効果を奏する。
(第2の実施形態)
図8は、第2の実施形態の固体撮像装置に設けられた行データ選択回路のブロック構成を示す図である。第1の実施形態と同一の部分には同一の符号を付し、重複する説明を適宜省略する。
第2の実施形態の固体撮像装置5は、図5に示す行データ選択回路42−1,42−2,42−3に代えて、3つの行データ選択回路60が設けられている。3つの行データ選択回路60は、それぞれAR1,AR2およびAR3に対応して設けられた行データ選択部である。図8には、3つの行データ選択回路60のうち、行平均回路41−1からの行平均AVrが入力される1つの行データ選択回路60を示している。3つの行データ選択回路60は、いずれも同様の構成を備える。
行データ選択回路60は、図7に示す行データ選択回路42−1に備えられた各構成に加えて、比較器61が設けられている。行データ選択回路60には、水平同期信号に応じたパルス信号Pが制御信号12から供給される。
比較器61は、行データ選択回路60へ入力された行平均AVrと、予測値Xとを比較する第1比較部である。予測値Xは、遮光画素の信号値の平均値としてあらかじめ予測された値とする。行データ選択回路60は、予測値Xを保持するレジスタ(図示省略)を備える。比較器61は、比較結果を選択コントローラ53へ出力する。
比較器52は、あらかじめ設定された閾値Thと減算器51で求めた差分とを比較する第2比較部である。比較器52は、比較結果を選択コントローラ53へ出力する。選択コントローラ53は、比較器61における比較結果と、比較器52における比較結果とに応じた選択制御信号を、セレクタ54へ供給する。セレクタ54は、選択コントローラ53からの選択制御信号に応じて、行平均AVrと、レジスタ55からの参照値とのいずれかを選択する。
例えば、選択コントローラ53は、比較器61において行平均AVrが予測値X以下と判定され、かつ比較器52において差分が閾値Th以下と判定された場合に、選択制御信号「0」を出力する。選択コントローラ53は、比較器61において行平均AVrが予測値Xより大きいと判定された場合、あるいは比較器52において差分が閾値Thより大きいと判定された場合に、選択制御信号「1」を出力する。
セレクタ54は、選択制御信号「0」に応じて行平均AVrを選択する。セレクタ54は、選択制御信号「1」に応じて参照値を選択する。行データ選択回路60は、セレクタ54における選択結果を、行ごとのデータとして出力する。
レジスタ55は、参照値の初期値として、予測値Xを保持する。行データ選択回路60へ入力された行平均AVrが参照値より低い場合、更新判定回路56は、得られた行平均AVrがより信頼性が高いデータであるものと判断し、参照値を更新する。レジスタ55が保持する参照値は、予測値X、および更新された行平均AVrのいずれかである。
エリアAR1の全ての画素行において、外的な作用による信号値の変動があった場合に、行データ選択回路60は、比較器61における判定により、信頼性の低い各画素行からのデータを除外する。行データ選択回路60は、参照値の初期値として予測値Xを採用することで、全ての画素行が外的な作用の影響を受けている場合でも、エリア平均を求めるための行ごとのデータとして予測値Xを選択することができる。
なお、予測値Xは、一定値である場合に限られず、温度、アナログゲインあるいは露光時間等に連動して変化させたものであっても良い。例えば、アナログゲインが高い場合、画像のうち暗い部分の黒浮きが増幅されることを考慮し、予測値Xを高い値としても良い。行データ選択回路60は、条件に応じて予測値Xを調整する手段を備えていても良い。
第2の実施形態によれば、黒レベル補正回路20は、比較器61での判定により、外的な作用の影響が低減されたデータを用いて黒レベルを補正できる。第2の実施形態においても、固体撮像装置5は、画像信号の基準とする黒レベルの高精度な補正ができるという効果を奏する。
(第3の実施形態)
図9は、第3の実施形態の固体撮像装置に設けられた行データ選択回路のブロック構成を示す図である。第1および第2の実施形態と同一の部分には同一の符号を付し、重複する説明を適宜省略する。
第3の実施形態の固体撮像装置5は、図5に示す行データ選択回路42−1,42−2,42−3に代えて、3つの行データ選択回路70が設けられている。3つの行データ選択回路70は、それぞれAR1,AR2およびAR3に対応して設けられた行データ選択部である。図9には、3つの行データ選択回路70のうち、行平均回路41−1からの行平均AVrが入力される1つの行データ選択回路70を示している。3つの行データ選択回路70は、いずれも同様の構成を備える。
行データ選択回路70は、図8に示す行データ選択回路60に備えられた各構成に加えて、加算器71および乗算器72が設けられている。行データ選択回路70には、水平同期信号に応じたパルス信号Pが制御回路12から供給される。
加算器71は、行データ選択回路70へ入力された行平均AVrと、レジスタ55からの参照値とを加算する。乗算器72は、加算器71における加算結果に1/2を乗算する。加算器71および乗算器72は、行平均AVrと参照値との平均値を求める。
セレクタ54は、選択コントローラ53からの選択制御信号に応じて、行平均AVrと、レジスタ55からの参照値と、加算器71および乗算器72で得られた平均値とのいずれかを選択する。
例えば、選択コントローラ53は、比較器61において行平均AVrが予測値X以下と判定され、かつ比較器52において差分が閾値Th以下と判定された場合に、選択制御信号「0」を出力する。選択コントローラ53は、比較器61において行平均AVrが予測値X以下と判定され、かつ比較器52において差分が閾値Thより大きい判定された場合に、選択制御信号「1」を出力する。選択コントローラ53は、比較器61において行平均AVrが予測値Xより大きいと判定された場合、比較器52における比較結果に関わらず選択制御信号「2」を出力する。
セレクタ54は、選択制御信号「0」に応じて行平均AVrを出力する。セレクタ43は、選択制御信号「1」に応じて、行平均AVrおよび参照値の平均値を出力する。セレクタ54は、選択制御信号「2」に応じて、参照値を選択する。行データ選択回路70は、セレクタ54における選択結果を、行ごとのデータとして出力する。
第3の実施形態によれば、行データ選択回路70は、比較器61および比較器52での判定に応じて、行平均AVr、参照値、および平均値のいずれかを、行ごとのデータとして選択する。第3の実施形態においても、固体撮像装置5は、画像信号の基準とする黒レベルの高精度な補正ができるという効果を奏する。
(第4の実施形態)
図10は、第4の実施形態の固体撮像装置に設けられた黒レベル補正回路のブロック構成を示す図である。第1の実施形態と同一の部分には同一の符号を付し、重複する説明を適宜省略する。
第4の実施形態の黒レベル補正回路80は、3つのエリア平均回路43−1,43−2,43−3、エリア選択回路44、減算器45、乱数付加回路81および黒レベル加算回路82を備える。黒レベル補正回路80は、第1から第3の実施形態の黒レベル補正回路と同様に、行平均回路41−1,41−2,41−3および行データ選択回路42−1,42−2,42−3を備えるものであっても良い。
エリア平均回路43−1は、AR1内の各遮光画素の信号値を積算する。エリア平均回路43−1は、積算結果から、1つの遮光画素当たりの信号値であるエリア平均を求める。エリア平均回路43−2は、AR2内の各遮光画素の信号値を積算し、積算結果からエリア平均を求める。エリア平均回路43−3は、AR3内の各遮光画素の信号値を積算し、積算結果からエリア平均を求める。エリア選択回路44は、AR1,AR2およびAR3について求められた各エリア平均のうちの1つを選択する。
乱数付加回路81は、有効画素領域33の各有効画素の信号値のビット列に乱数を付加する乱数付加部である。減算器45は、エリア選択回路44からの黒レベル補正値を、乱数付加回路81で乱数が付加された信号値から減算する演算器である。黒レベル加算回路82は、減算器45における減算結果である信号値に黒レベル基準値を加算するとともに、信号値を調整する。黒レベル補正回路80は、黒レベル加算回路82からの信号値を出力する。
図11は、図10に示す乱数付加回路のブロック構成を示す図である。乱数付加回路81は、乱数生成器83および2つのラッチ回路84,85を備える。乱数生成器83は、有効画素の信号値を使用して乱数を生成する。2つのラッチ回路84,85は、有効画素の信号値のビット列のうち、それぞれ1ビットずつのデータを保持する。乱数生成器83は、2つのEXOR回路86,88および2つのラッチ回路87,89を備える。
乱数付加回路81には、有効画素の信号値である11ビットのデータが入力される。乱数生成器83には、11ビットのデータのうち、最下位の1ビットであるビット[0]のデータが入力される。EXOR回路86は、乱数生成器83へ入力されたビット[0]のデータと、ラッチ回路89からの出力との排他的論理和を求める。ラッチ回路87は、EXOR回路86における演算結果である1ビットのデータを保持する。
EXOR回路88は、ラッチ回路87からの出力と、ラッチ回路89からの出力との排他的論理和を求める。ラッチ回路89は、EXOR回路88における演算結果である1ビットのデータを保持する。乱数生成器83は、求めた乱数のデータを、入力されたデータとの論理演算へ循環させる循環経路を含む。
乱数付加回路81へ入力された11ビットのデータには、ラッチ回路84,85において2ビット分の遅延が施される。乱数付加回路81は、遅延を経た11ビットのデータの下位側に、ラッチ回路89から出力された1ビットのデータと、ラッチ回路87から出力された1ビットのデータとを順次連結する。ラッチ回路87からのデータは、13ビットのデータのうち最下位のビット[0]となる。ラッチ回路89からのデータは、13ビットのデータのうちビット[0]より1桁上位のビット[1]となる。
これにより、乱数付加回路81は、11ビットのデータに、乱数である2桁のデータが付加されてなる13ビットのデータを得る。13ビットのうち下位2桁のデータは、有効画素の信号値の小数値に相当する。乱数付加回路81は、有効画素の信号値の量子化精度より小さい桁の乱数を、信号値のビット列に付加する。
乱数付加回路81へ入力される有効画素の信号値のうちビット[0]のデータは、ノイズの影響による変動が生じる場合がある。乱数生成器83は、ランダムなノイズを含むデータを使用することで、ランダムな乱数を生成可能とする。乱数付加回路81は、量子化精度より小さくランダムな乱数を含むデータを得ることができる。
また、乱数付加回路81は、乱数生成器83で生成されたビット[0]およびビット[1]の各データを、黒レベル加算回路82へ出力する。
エリア平均回路43−1,43−2および43−3は、遮光画素の信号値である11ビットのデータに対し、ビット列の各桁をシフトさせる演算を実施する。エリア平均回路43−1,43−2および43−3は、かかる演算により、エリア平均である13ビットのデータを生成する。13ビットのうち下位2桁のデータは、遮光画素の信号値の小数値に相当する。このように、エリア平均回路43−1,43−2および43−3は、乱数と同じ桁のビット列を含むエリア平均を求める。
さらに、エリア平均回路43−1,43−2および43−3は、13ビットのデータのうち上位3ビットをクリップすることで、10ビットのデータであるエリア平均を得る。エリア選択回路44は、黒レベル補正値である10ビットのデータを出力する。
図12は、図10に示す黒レベル加算回路および減算器のブロック構成を示す図である。減算器45は、乱数が付加された信号値である13ビットのデータD1から、黒レベル補正値である10ビットのデータD2を減算する。減算器45は、減算結果として、符号付きの13ビットのデータを出力する。13ビットのうち最上位の1ビットは、符号を表す。有効画素の信号値が黒レベル補正値より小さい場合、減算器45の減算結果は負の値となる。
黒レベル加算回路82は、2つの乗算器91,94、2つの加算器92,95、2つのクリップ回路93,96、セレクタ97およびEXOR回路98を備える。
黒レベル加算回路82には、減算器45からの符号付き13ビットのデータが入力される。乗算器91は、黒レベル加算回路82へ入力されたデータに1/2を乗算する。乗算器91では、13ビットのデータのうち、小数値である最下位の1ビットが切り捨てられる。乗算器91は、符号付きの12ビットのデータを出力する。
加算器92は、乗算器91での乗算結果に、所定の黒レベル基準値BLを加算する。黒レベル基準値BLは、例えば64LSBである。クリップ回路93は、加算器92での加算結果である12ビットのデータのうち、最上位の1ビットをクリップする。クリップ回路93は、符号なしの11ビットのデータを出力する。
乗算器94は、クリップ回路93からのデータに1/2を乗算する。乗算器94では、11ビットのデータのうち、小数値である最下位の1ビットが切り捨てられる。乗算器94における小数値の切り捨てを経た10ビットのデータは、セレクタ97へ入力される。黒レベル加算回路82へ入力されたデータに含まれる2桁の小数値は、2つの乗算器91および94での乗算を経ることにより消去される。
加算器95は、乗算器94からの10ビットのデータに、乗算器94への入力前の11ビットのデータのうち最下位の1ビットであるビット[0]のデータが加算される。加算器95は、加算結果を出力する。
クリップ回路96は、加算器95での加算結果のうち、最上位の1ビットをクリップする。クリップ回路96は、10ビットのデータを出力する。これにより、加算器95およびクリップ回路96は、1ビットの小数値を含むデータに対する桁上げを実施する。加算器95およびクリップ回路96での桁上げを経た10ビットのデータは、セレクタ97へ入力される。
EXOR回路98は、図11に示す乱数生成器83から入力されたビット[0]およびビット[1]の2つのデータの排他的論理和を求める。セレクタ97は、EXOR回路98における演算結果である1ビットのデータを選択制御信号として、クリップ回路96からのデータと、乗算器94からのデータとのいずれか一方を選択する。黒レベル加算回路82は、セレクタ97における選択結果である10ビットのデータを出力する。
例えば、セレクタ97は、EXOR回路98から「1」が入力された場合、桁上げを経たクリップ回路96からのデータを選択する。セレクタ97は、EXOR回路98から「0」が入力された場合、切り捨てを経た乗算器94からのデータを選択する。セレクタ97は、乱数生成器83にて生成された乱数を用いることで、ランダムにデータを選択可能とする。
クリップ回路93からの11ビットのデータのうち小数値であるビット[0]の値が「1」であったとする。加算器95では、乗算器94からの10ビットのデータに、かかる小数値「1」が加算される。クリップ回路96からセレクタ97へは、小数値「1」が切り上げられた10ビットのデータが入力される。かかる小数の切り上げを経たデータと、乗算器94における小数の切り捨てを経たデータとは、互いに異なる値となる。セレクタ97は、互いに異なる2つの値のいずれかを選択する。
一方、クリップ回路93からの11ビットのデータのうち小数値であるビット[0]の値が「0」であったとする。この場合、クリップ回路96からセレクタ97へ入力されるデータと、乗算器94における小数の切り捨てを経たデータとは、互いに同じ値となる。セレクタ97は、EXOR回路98からの選択制御信号に関わらず同じ値を出力する。これにより、黒レベル加算回路82は、付与された乱数である小数値に応じて、セレクタ97からの出力をランダムに変化させることができる。
黒レベル補正では、最下位ビットの演算誤差が1フレーム全体の黒レベルに足されるか否かで、フレームごとに画像全体の輝度が変化することとなる。黒レベル補正回路80は、信号値の量子化精度未満の値をランダムに変化させることで、黒レベル補正の誤差の影響で画像全体の輝度が向上あるいは低下のいずれかに偏るという事態を少なくできる。黒レベル補正回路80は、小数を含むデータについて、小数の切り捨ておよび桁上げをランダムに変化させることによっても、画像全体における輝度変化の偏りを低減できる。黒レベル補正回路80は、信号値の量子化精度より小さい桁における演算精度を向上できることで、黒レベル補正の誤差による影響を低減できる。第4の実施形態の乱数付加回路81および黒レベル加算回路82は、第1から第3の実施形態の黒レベル補正回路20のいずれかに設けられていても良い。
第4の実施形態によれば、黒レベル補正回路80は、有効画素の信号値のビット列に乱数を付加して、黒レベル補正を実施する。黒レベル補正回路80は、信号値の量子化精度より小さい桁における演算精度を向上できることで、黒レベル補正の誤差による影響を低減できる。第4の実施形態においても、固体撮像装置5は、画像信号の基準とする黒レベルの高精度な補正ができるという効果を奏する。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。