以下、本発明の実施の形態を図面を参照して詳細に説明する。
〔第1の実施の形態〕
図1は、本発明の第1の実施の形態に係る撮像装置の要部構成を示すブロック図である。
図1に示す撮像装置は、光学ブロック11、ドライバ11a、CMOS型イメージセンサ(以下、CMOSセンサと略称する)12、タイミングジェネレータ(TG)12a、アナログフロントエンド(AFE)回路13、デジタル信号処理回路14、カメラ制御回路15、ヒューマンI/F(インタフェース)制御回路16、ユーザI/F17、および手ぶれセンサ18を具備する。
光学ブロック11は、被写体からの光をCMOSセンサ12に集光するためのレンズ、レンズを移動させてフォーカス合わせやズーミングを行うための駆動機構、シャッタ機構、アイリス機構などを具備している。ドライバ11aは、カメラ制御回路15からの制御信号に基づいて、光学ブロック11内の各機構の駆動を制御する。
CMOSセンサ12は、CMOS基板上に、フォトダイオード(フォトゲート)、転送ゲート(シャッタトランジスタ)、スイッチングトランジスタ(アドレストランジスタ)、増幅トランジスタ、リセットトランジスタ(リセットゲート)などからなる複数の画素が2次元状に配列されて形成されるとともに、垂直走査回路、水平走査回路、画像信号の出力回路などが形成されたものである。CMOSセンサ12は、TG12aから出力されるタイミング信号に基づいて駆動され、被写体からの入射光を電気信号に変換する。TG12aは、カメラ制御回路15の制御の下でタイミング信号を出力する。
このCMOSセンサ12は、画素信号を出力するための複数の出力チャネルを備え、それらの出力チャネルから画素信号を並行して出力することで、読み出し周波数を低減できるようになっている。さらに、例えば、1ライン分の画素信号を出力するときに、撮像素子上の隣接している同じフィルタ成分の画素の信号を加算して同時に出力することによって、画素信号を読み出す際の同期周波数を高めることなく、通常より高速な画面レートで画像信号を出力する機能を備えていてもよい。なお、この撮像素子としては、例えばCCDなど、CMOSセンサ以外のものが用いられてもよい。
AFE回路13は、例えば1つのIC(Integrated Circuit)として構成され、CMOSセンサ12から出力された画像信号に対して、CDS(Correlated Double Sampling)処理によりS/N(Signal/Noise)比を良好に保つようにサンプルホールドを行い、さらにAGC(Auto Gain Control)処理により利得を制御し、A/D変換を行ってデジタル画像信号を出力する。なお、CDS処理を行う回路は、CMOSセンサ12と同一基板上に形成されてもよい。
このAFE回路13はさらに、CMOSセンサ12から複数チャネルにより入力される画像信号を時分割多重化し、チャネル数を減らして出力する多重化(MUX)機能を備えている。例えば、CMOSセンサ12からのNチャネルの画像信号を受けて、N/2チャネルの信号として出力する。
デジタル信号処理回路14は、例えば1つのICとして構成され、AFE回路13からの画像信号に対するAF(Auto Focus)、AE(Auto Exposure)、ホワイトバランス調整、ガンマ補正などの各種カメラ信号処理やその制御のための検波処理、またはそれらの処理の一部を実行する。また、本実施の形態では特に、上記の各種処理ブロックに対して、AFE回路13からの複数チャネルの画像信号を並び替えて入力させる機能や、撮像素子のどの出力チャネルから出力された信号かを示すチャネルIDを生成する機能を備えている。また、カメラ信号処理機能として、チャネルIDを用いて処理する機能(例えば、デジタルクランプ、チャネル間のゲイン補正など)を備えている。
カメラ制御回路15は、例えば、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)などから構成されるマイクロコントローラであり、ROMなどに記憶されたプログラムを実行することにより、この撮像装置の各部を統括的に制御する。例えば、デジタル信号処理回路14による検波データや手ぶれセンサ18による検出信号に基づいて、現在の入力画像の状態を把握し、ヒューマンI/F制御回路16により指定される各種設定モードに応じて、撮影動作制御や画質補正制御を行う。
ユーザI/F17は、設定状態などをユーザに通知するための表示機能や、ユーザの操作入力用のキー、レバーなどからなる。ヒューマンI/F制御回路16は、ユーザにより選択されている撮影モードなどの設定状態を検知し、カメラ制御回路15に対して通知する。また、カメラ制御回路15を通じて得たカメラ制御情報(被写体距離やF値、シャッタスピード、ズーム倍率など)をユーザI/F17に表示させ、ユーザに通知する。
手ぶれセンサ18は、例えば2軸方向に対する加速度センサあるいは角度速度センサなどにより撮影時の手ぶれを検出して、検出信号をカメラ制御回路15に対して供給する。
この撮像装置では、CMOSセンサ12によって受光されて光電変換された信号が、順次AFE回路13に供給され、CDS処理やAGC処理が施された後、デジタル信号に変換される。デジタル信号処理回路14は、AFE回路13から供給されたデジタル画像信号を画質補正処理し、最終的に輝度信号(Y)と色差信号(C)に変換して出力する。
デジタル信号処理回路14から出力された画像データは、図示しないグラフィックI/Fに供給されて表示用の画像信号に変換され、これによりLCD(Liquid Crystal Display)などの表示部にカメラスルー画像が表示される。また、ユーザI/F17に対するユーザの入力操作などによりカメラ制御回路15に対して画像の記録が指示されると、デジタル信号処理回路14からの画像データは図示しないエンコーダに供給され、所定の圧縮符号化処理が施されて図示しない記録媒体に記録される。静止画像の記録の際には、デジタル信号処理回路14からは1フレーム分の画像データがエンコーダに供給され、動画像の記録の際には、デジタル信号処理回路14で処理された画像データがエンコーダに連続的に供給される。
次に、この撮像装置のCMOSセンサ12に適用されるフィルタコーディングについて説明する。図2は、CMOSセンサ12におけるカラーフィルタの配列を示す図である。
この図2に示すカラーフィルタ配列は、正方格子状の配列を45°傾けるとともに、RおよびBの各フィルタの周りをすべてGのフィルタで囲んだ構成となっている。この構成により、R・B成分について人間の視感度特性上必要十分な空間周波数特性が得られながらも、これらの成分より人間の感度の高いG成分の空間周波数特性を、従来のベイヤ配列より高めることが可能となる。G成分は輝度成分を生成する上で主成分となるものであり、これにより無彩色の被写体だけでなく、有彩色の被写体に対する輝度の解像度が高められ、画質が向上する。
なお、このカラーフィルタ配列では、図2中の点線矢印で示したように、1水平同期期間に、隣接する2行の画素を交互に読み出す方法を基本とする。すなわち、出力チャネルが1つだけのときはこのような順に走査して読み出しを行う。そして、このようなカラーフィルタ配列の撮像素子から、以下に示すように最大8つの出力チャネルを用いて、様々な方法で読み出しを行う。
図3は、CMOSセンサ12からの多チャネル読み出しとその信号の多重化のための構成を示す図である。
上述したように、AFE回路13は、CMOSセンサ12からのNチャネルの画素信号を多重化して、N/2チャネルの信号として出力する。以下の実施の形態の説明では、この図3に示すように、CMOSセンサ12からは最大8つの出力チャネルにより画素信号を並行して読み出し、AFE回路13に供給する場合を想定し、これらの出力チャネルをCh0〜Ch7とする。また、AFE回路13は、これらの8チャネル分の入力信号を受けて時分割多重化し、最大4チャネルの多重化信号Sig1〜Sig4としてデジタル信号処理回路14に供給する。
このような構成により、AFE回路13からの多重化信号Sig1〜Sig4の出力周波数は、CMOSセンサ12の読み出し周波数の2倍となる。CMOSセンサ12では、その画素数が数百万といった大きな値となっても、より多くの画素信号を並行して読み出すことで、読み出し周波数をアナログ信号処理の制約の範囲内に収めることができる。一方、AFE回路13からデジタル信号処理回路14への多重化信号Sig1〜Sig4はデジタル信号として転送されるため、その転送周波数をCMOSセンサ12の読み出し周波数より容易に高くすることができる。
図4は、CMOSセンサ12上の画素位置に対する出力チャネルの割り当ての例を示す図である。
本実施の形態では、図4に示すように、CMOSセンサ12上のカラーフィルタを、R、B、Gr、Gb、Ggo、Ggeの6種類のフィルタ成分に便宜的に分類する。これらのうち、Gr、Gb、Ggo、Ggeは、実際には同じ分光特性のカラーフィルタが使用されるが、デジタル信号処理回路14内ではそれぞれ個別の成分として処理されることから、以後、このような6種類の画素を個別のフィルタ成分として呼ぶことにする。また、各フィルタ成分の画素には、撮像素子上で先に読み出しが行われる側(図中左側)から水平方向に順に“R1”“R2”といったように数値を付して示す。
図4のように、CMOSセンサ12上においては、1行目にはRとGr、2行目にはGgoとGge、3行目にはGbとB、4行目にはGgoとGgeが、それぞれ交互に配置される。そして、このようなフィルタコーディングを持つ撮像素子からの読み出しのバリエーションの例として、8チャネル、6チャネル、4チャネル、2チャネルの同時読み出しを想定する。
8チャネルの同時読み出し時には、奇数行の画素を先頭から順に出力チャネルCh0,Ch1,Ch2,Ch3に割り当て、偶数行の画素を先頭から順に出力チャネルCh4,Ch5,Ch6,Ch7に割り当てて出力させる。6チャネルの同時読み出し時には、奇数行の画素を先頭から順に出力チャネルCh0,Ch1,Ch2に割り当て、偶数行の画素を先頭から順に出力チャネルCh3,Ch4,Ch5に割り当てて出力させる。
4チャネルの同時読み出し時には、奇数行の画素を先頭から順に出力チャネルCh0,Ch1に割り当て、偶数行の画素を先頭から順に出力チャネルCh2,Ch3に割り当てて出力させる。2チャネルの同時読み出し時には、奇数行の画素を出力チャネルCh0に割り当て、偶数行の画素を出力チャネルCh1に割り当てて出力させる。
図5は、AFE回路13における多重化のバリエーションの例を示す図である。
本実施の形態では、例として、図5(A)および(B)に示す2種類の多重化方法を想定する。図5(A)に示すMUXタイプAでは、出力チャネルCh0およびCh1を多重化して多重化信号Sig1を生成し、出力チャネルCh2およびCh3を多重化して多重化信号Sig2を生成し、出力チャネルCh4およびCh5を多重化して多重化信号Sig3を生成し、出力チャネルCh6およびCh7を多重化して多重化信号Sig4を生成する。すなわち、撮像素子上で水平方向に隣接する画素の信号を多重化する。
また、図5(B)に示すMUXタイプBでは、出力チャネルCh0およびCh4を多重化して多重化信号Sig1を生成し、出力チャネルCh1およびCh5を多重化して多重化信号Sig2を生成し、出力チャネルCh2およびCh6を多重化して多重化信号Sig3を生成し、出力チャネルCh3およびCh7を多重化して多重化信号Sig4を生成する。すなわち、撮像素子上で垂直方向に隣接する画素の信号を多重化する。
図6は、8チャネル読み出し時における多重化の例を示す図である。なお、ここでは例として、奇数回目の水平同期期間(以下、奇数H期間と呼ぶ)での色シーケンスを示す。
8チャネルでAFE回路13に入力された画素信号をMUXタイプAで多重化した場合、例えば、CMOSセンサ12から1クロックで同時に読み出された出力チャネルCh0およびCh1のR1,Gr1は、読み出しの2倍の転送クロックに同期して、多重化信号Sig1に順に時分割多重化される。一方、MUXタイプBの場合には、CMOSセンサ12から1クロックで同時に読み出された出力チャネルCh0およびCh4のR1,Ggo1が、多重化信号Sig1に順に時分割多重化される。
以上のような撮像素子からの出力チャネルの割り当てのバリエーションと、AFE回路13での多重化のバリエーションとにより、デジタル信号処理回路14に入力される画像信号の色シーケンスは、以下で説明するように多様なバリエーションが考えられることになる。さらに、撮像素子上のフィルタコーディングや画素数などが異なれば、さらなる多数の色シーケンスが考えられる。
後段のデジタル信号処理回路14は、入力される画像信号の色シーケンスを考慮して内部の処理を実行する必要があるが、このデジタル信号処理回路14を上記のような多数の色シーケンスに対して個別に設計し、製造していては効率が悪い。そこで、本実施の形態のデジタル信号処理回路14では、多様な色シーケンスにより入力された画像信号を並び替える機能を入力段に設け、この並び替え機能に対して色シーケンスごとにカメラ制御回路15からパラメータを設定するだけで、内部の回路構成を変えることなく、多様な色シーケンスに対応できるようにする。さらに、撮像素子のどの出力チャネルから出力された信号かを示すチャネルIDを生成する機能も設け、並び替えを行った場合にも出力チャネルを考慮した信号処理を容易に実行できるようにする。
図7は、デジタル信号処理回路14の内部構成を示すブロック図である。
図7に示すように、デジタル信号処理回路14は、並び替え処理部21、チャネルID生成部22、カメラ信号処理部23、通信I/F24、およびシグナルジェネレータ(SG)25を備える。
並び替え処理部21は、前段回路から前述したような多様な色シーケンスにより入力されるN/2チャネル(ここでは4チャネル)の画像信号を、各フィルタ成分が分離するSチャネルの信号となるように並び替え、カメラ信号処理部23に供給する。ここでは例として、R/Gbチャネル、Gr/Bチャネル、Ggoチャネル、Ggeチャネルの4チャネルの信号を出力する。
チャネルID生成部22は、カメラ制御回路15からの制御パラメータに基づき、並び替え処理部21による並び替え後の画像信号に対応するチャネルIDを生成し、対応する4チャネルの画像信号とともにタイミングを合わせてカメラ信号処理部23に出力する。
カメラ信号処理部23は、チャネルID生成部22を介して入力された画像信号を基に、従来からの一般的なカメラ信号処理を実行するブロックである。カメラ信号処理としては、例えば、デジタルクランプ、ノイズリダクション、欠陥画素補正、チャネル間のゲイン補正、デモザイク、ホワイトバランス調整、解像度変換などの処理が適用される。これらの処理では、カメラ制御回路15からの制御パラメータに応じて、入力画像信号がS(=4)チャネルごとに並行に処理され、最終的にY、C信号として後段のベースバンド処理系に出力される。また、デジタルクランプ、チャネル間のゲインバラツキ補正、欠陥画素補正の機能など、チャネルIDを考慮して処理すべきブロックは、チャネルID生成部22からのチャネルIDに基づいて処理を行う。
通信I/F24は、デジタル信号処理回路14内の各ブロックと、カメラ制御回路15との間のデータ入出力を制御するI/F回路である。カメラ信号処理部23による検波データは通信I/F24を介してカメラ制御回路15に供給され、カメラ制御回路15からは、カメラ信号処理用の制御パラメータが通信I/F24を介してカメラ信号処理部23に供給される。また、並び替え処理部21に対しては、並び替え制御用の制御パラメータが、カメラ制御回路15から通信I/F24を介して供給される。
SG25は、並び替え処理部21およびカメラ信号処理部23における処理の実行に必要な各種のタイミング信号を生成するブロックであり、例えば、画像信号の水平同期信号HDや、水平方向に対する有効期間を示すイネーブル信号H_ENなどを出力する。
次に、まず、並び替え処理部21について詳しく説明する。
図8は、並び替え処理部21による並び替え前および並び替え後の色シーケンスの例を示す図である。ここでは例として、8チャネル読み出し時にMUXタイプAにより多重化した場合の色シーケンスを示す。
奇数H期間においては、AFE回路13からの多重化信号Sig1には、RおよびGrのフィルタ成分が交互に現れる。同様に、多重化信号Sig2〜Sig4にも、異なるフィルタ成分が交互に現れる。並び替え処理部21は、このような画像信号を並び替えて、図中右側に示すようにR、Gr、Ggo、Ggeのフィルタ成分ごとにチャネルを振り分けて出力する。また、偶数H期間の場合には、多重化信号Sig1〜Sig4に対する並び替えにより、Gb、B、Ggo、Ggeのフィルタ成分ごとに出力チャネルが振り分けられる。これにより、カメラ信号処理部23では、図中右下に示すカラーフィルタ配列において空間的に隣接する画素の組み合わせ(例えばR1,Ggo1,Gr1,Gge1)を、1クロックで並列に処理することが可能となる。
ここで、AFE回路13からの出力信号には、読み出しに従ってある決まったパターンでフィルタ成分が繰り返し出現する。本実施の形態ではH期間ごとに同じ繰り返しパターンが現れる。例えば奇数H期間では、R,R,Ggo,Ggo,Gr,Gr,Gge,Ggeの組み合わせが1つの繰り返しパターンとなる。このような繰り返しパターンの1つに含まれるフィルタ成分の数(ここではR,Ggo,Gr,Ggeの4種、あるいはGb,Ggo,B,Ggeの4種)、あるいはその整数倍の数を、並び替え処理部21の出力チャネル数に一致させることにより、少なくともH期間ごとに、デジタル信号処理回路14に対する出力チャネルをフィルタ成分ごとに振り分けることが可能となる。これによりデジタル信号処理回路14では、空間的に近い位置に存在する異なるフィルタ成分の信号を並列処理できるようになり、デジタル信号処理回路14における処理手順およびその回路構成を単純化できる。
図9は、並び替え処理部21の内部構成を示すブロック図である。
並び替え処理部21は、図9に示すように、イネーブル信号生成部(以下、EN生成部と呼ぶ)30、並び替え用メモリ40、このメモリに対する書き込み制御部50および読み出し制御部60を具備する。
EN生成部30は、AFE回路13からの多重化信号Sig1〜Sig4のそれぞれについて、RまたはGb,GrまたはB,Ggo,Ggeの各成分に対応する信号が出現するタイミングを示すイネーブル信号を生成し、書き込み制御部50に出力する。多重化信号Sig1〜Sig4についてのRまたはGbの出現タイミングはイネーブル信号R_Gb_EN_Sig1〜R_Gb_EN_Sig4でそれぞれ示される。同様に、GrまたはBの出現タイミングはイネーブル信号Gr_B_EN_Sig1〜Gr_B_EN_Sig4、Ggoの出現タイミングはイネーブル信号Ggo_EN_Sig1〜Ggo_EN_Sig4、Ggeの出現タイミングはイネーブル信号Gge_EN_Sig1〜Gge_EN_Sig4で示される。
EN生成部30は、これらのイネーブル信号を、SG25からのイネーブル信号H_ENがHレベルとなる水平有効期間において、カメラ制御回路15から指定される制御パラメータ(EN生成パラメータ)に応じて設定する。これとともに、AFE回路13からの多重化信号Sig1〜Sig4を、イネーブル信号の生成に合わせて遅延させ、書き込み制御部50に出力する。
並び替え用メモリ40は、例えば、書き込み/読み出しを並行して実行可能なデュアルポート(Dual Port)型のSRAM(Static RAM)からなる。この並び替え用メモリ40の記憶領域は、G/Gb,Gr/B,Ggo,Ggeのフィルタ成分ごとの領域に分割されている。
書き込み制御部50は、EN生成部30からのイネーブル信号に基づいて、EN生成部30を介して入力された多重化信号Sig1〜Sig4を並び替え、フィルタ成分ごとに並び替えられた信号Sig_R_Gb,Sig_Gr_B,Sig_Ggo,Sig_Ggeを生成する。また、出力チャネルごとの書き込みイネーブル信号WEN_R_Gb,WEN_Gr_B,WEN_Ggo,WEN_Ggeと、書き込みアドレスWADRS_R_Gb,WADRS_Gr_B,WADRS_Ggo,WADRS_Ggeを生成して並び替え用メモリ40に出力し、信号Sig_R_Gb,Sig_Gr_B,Sig_Ggo,Sig_Ggeを、対応するフィルタ成分の記憶領域に書き込む。
読み出し制御部60は、読み出しイネーブル信号REN_R_Gb,REN_Gr_B,REN_Ggo,REN_Ggeと、読み出しアドレスRADRS_R_Gb,RADRS_Gr_B,RADRS_Ggo,RADRS_Ggeを、並び替え用メモリ40に出力して、フィルタ成分ごとに分離された信号Sig_R_Gb,Sig_Gr_B,Sig_Ggo,Sig_Ggeを、カメラ信号処理部23に読み出す。
以上の並び替え処理部21では、入力された複数チャネルの画像信号をフィルタ成分ごとに振り分けて並び替え用メモリ40に記憶させ、そのメモリの読み出し・書き込みのアドレスやタイミングを制御することで、後段のカメラ信号処理部23で必要とされる常に一定なシーケンスの画像信号を生成することが可能となっている。
図10は、EN生成部30の内部構成を示すブロック図である。
EN生成部30は、図10に示すように、カウンタ31、フラグ生成デコーダ32、フィルタ成分別のセレクタ群33a〜33d、およびディレイ調整部34を具備する。
カウンタ31は、イネーブル信号H_ENがHレベルとなる水平有効期間において、ピクセルIDを生成してセレクタ群33a〜33dに供給する。ピクセルIDは、多重化信号Sig1〜Sig4の画素の入力タイミングごとに割り当てられる識別番号であり、本実施の形態では“0”〜“3”の4値が繰り返される。すなわち、カウンタ31は、水平有効期間の開始時に“0”を起点にカウントアップを開始し、水平有効期間の終了までの間、多重化信号Sig1〜Sig4の画素クロックに同期して“0”〜“3”までのカウントアップを繰り返す。
ここで、ピクセルIDの繰り返し数は、多重化信号Sig1〜Sig4のそれぞれにおけるフィルタ成分の繰り返し数から決定する。本実施の形態では、後の図11や図12に示すように、フィルタ成分の繰り返し数が“2”または“4”となるため、ピクセルIDの繰り返し数を“4”としている。フィルタ成分の繰り返し数の異なる色シーケンスに対応できるようにするためには、それらの繰り返し数の共通の倍数をピクセルIDの繰り返し数とすればよい。あるいは、カメラ制御回路15からの設定により、色シーケンスごとにカウンタ31における繰り返し数を可変する構成としてもよい。
フラグ生成デコーダ32は、カメラ制御回路15からのEN生成パラメータに基づき、セレクタ群33a〜33dに対して、多重化信号Sig1〜Sig4のチャネルごと、かつピクセルIDごとのON/OFFフラグを出力する。ON/OFFフラグは、対応するフィルタ成分が現れる場合にHレベルとされる。
ここで、EN生成パラメータは、多重化信号Sig1〜Sig4におけるフィルタ成分を示す情報である。上述したように、多重化信号Sig1〜Sig4におけるフィルタ成分の繰り返し数がピクセルIDの繰り返し数に対応しているため、EN生成パラメータには、各信号のフィルタ成分を示す情報がピクセルIDの数だけ含まれる。
フラグ生成デコーダ32は、EN生成パラメータをデコードして、1つのフィルタ成分の出現の有無を示すON/OFFフラグをピクセルID別に生成し、R/Gb,Gr/B,Ggo,Ggeのフィルタ成分ごとにそれぞれセレクタ群33a〜33dに供給する。なお、カメラ制御回路15からのEN生成パラメータにより、各セレクタ群33a〜33dへのON/OFFフラグを多重化信号Sig1〜Sig4の色シーケンスに応じて設定することができれば、フラグ生成デコーダ32の構成はどのようなものであってもよい。例えば、ON/OFFフラグをカメラ制御回路15から直接制御できるようにしてもよい。
セレクタ群33a〜33dには、それぞれ4つのセレクタSEL0〜SEL3が設けられている。各セレクタSEL0〜SEL3は、同じフィルタ成分かつ同じ信号チャネル(多重化信号Sig1〜Sig4のいずれか)に対応するON/OFFフラグをピクセルID分だけ個別に受信し、カウンタ31からのピクセルIDに対応する入力信号を選択して出力する。
これにより、例えばセレクタ群33aのセレクタSEL0から出力されるイネーブル信号R_Gb_EN_Sig1は、多重化信号Sig1におけるピクセルIDのタイミングごとのR/Gb成分の出現の有無を示すことになる。同様に、セレクタSEL1〜SEL3からのイネーブル信号R_Gb_EN_Sig2〜R_Gb_EN_Sig4は、それぞれ多重化信号Sig2〜Sig4におけるピクセルIDのタイミングごとのR/Gb成分の出現の有無を示すことになる。さらに同様のGr/B,Ggo,Ggeの成分の有無を示すイネーブル信号が、それぞれセレクタ群33b〜33dから出力される。
ディレイ調整部34は、各セレクタ群33a〜33dから出力されるイネーブル信号が、多重化信号Sig1〜Sig4中の対応する画素の出力タイミングと一致するように、AFE回路13からの多重化信号Sig1〜Sig4を遅延させる。
図11は、例として、撮像素子の読み出しチャネル数が“8”で、MUXタイプAの場合の色シーケンスおよびイネーブル信号を示す図である。また、図12は、撮像素子の読み出しチャネル数が“6”で、MUXタイプAの場合の色シーケンスおよびイネーブル信号を示す図である。なお、これらの図では、説明を簡単にするために、水平有効期間内の画素数をすべて同じとしているが、実際にはその画素数に制限はない。
図11において、例えば多重化信号Sig1には、ピクセルIDが“0”および“2”のときにR(奇数H期間)またはGb(偶数H期間)が現れ、ピクセルIDが“1”および“3”のときにGr(奇数H期間)またはB(偶数H期間)が現れている。従って、イネーブル信号R_Gb_EN_Sig1はピクセルIDが“0”および“2”のときHレベルとなり、イネーブル信号Gr_B_EN_Sig1はピクセルIDが“1”および“3”のときHレベルとなる。また、多重化信号Sig1にはGgoおよびGgeの成分は現れないので、イネーブル信号Ggo_EN_Sig1およびGge_EN_Sig1は常にLレベルとなる。
また、図12に示すように、6チャネル読み出しの場合には、多重化後の画像信号は3チャネルとなり、多重化信号Sig4には画像信号が伝送されない。この図12の場合、多重化信号Sig1には、奇数H期間にはRおよびGrの2成分が2画素ごとに現れ、偶数H期間にはGbおよびBの2成分が2画素ごとに現れている。また、多重化信号Sig2には、R,Ggo,Gr,Ggeの4成分(奇数H期間の場合)が繰り返し現れているため、多重化信号Sig2に対応するイネーブル信号R_Gb_EN_Sig2,Gr_B_EN_Sig2,Ggo_EN_Sig2,Gge_EN_Sig2は、すべて4画素に1回ずつHレベルとなっている。
このように、撮像素子の読み出しチャネル数と多重化方法との組み合わせにより、多重化信号Sig1〜Sig4の色シーケンスは多種のものとなる。EN生成部30では、上記の回路構成とすることにより、このような多種の色シーケンスに対応するEN生成パラメータを設定して、フィルタ成分別の出現タイミングを示すパルス信号(イネーブル信号)を自在に出力することが可能となっている。
図13は、書き込み制御部50の内部構成を示すブロック図である。
書き込み制御部50は、図13に示すように、多重化信号Sig1〜Sig4にそれぞれ対応するディレイ調整部51a〜51dと、多重化信号Sig1〜Sig4をフィルタ成分ごとに振り分ける信号振り分け部52と、信号振り分け部52への入力信号のディレイ量を調整するディレイ調整部53と、並び替え用メモリ40に対する書き込みアドレスを生成するデコーダ54を具備する。
ディレイ調整部51aには、多重化信号Sig1と、この信号に対応するイネーブル信号R_Gb_EN_Sig1,Gr_B_EN_Sig1,Ggo_EN_Sig1,Gge_EN_Sig1とが、EN生成部30から入力される。同様に、ディレイ調整部51b〜51dには、それぞれ多重化信号Sig2〜Sig4と、それぞれに対応するイネーブル信号とが、EN生成部30から入力される。
ディレイ調整部51a〜51dは、カメラ制御回路15からの制御パラメータである並び替えパラメータに応じて、入力信号をそれぞれ一律の時間だけ遅延させる。これらの内部は、例えば、複数のフリップフロップ(FF)回路を直列に接続し、並び替えパラメータに応じて各段のFF回路の出力を選択できる構成となっている。これらのディレイ調整部51a〜51dは、多重化信号Sig1〜Sig4に同じタイミングで同じフィルタ成分が出現したときに、一方の信号を遅延させてずらすことで、並び替え用メモリ40に同じフィルタ成分の信号を連続的に書き込むことができるようにする。
信号振り分け部52は、各ディレイ調整部51a〜51dでのディレイ調整後、さらにディレイ調整部53を介して入力された多重化信号Sig1_adj〜Sig4_adjを、デコーダ54からの選択信号に応じて、フィルタ成分ごとに振り分けられた信号Sig_R_Gb,Sig_Gr_B,Sig_Ggo,Sig_Ggeを、並び替え用メモリ40に出力する。ディレイ調整部53は、多重化信号Sig1_adj〜Sig4_adjを所定量だけ遅延させて、信号振り分け部52とデコーダ54とを正しく同期させる。
デコーダ54は、ディレイ調整部51a〜51dから出力された遅延調整後のイネーブル信号を基に、信号振り分け部52に対する選択信号や、選択された信号を並び替え用メモリ40に書き込むためのアドレスおよびイネーブル信号を生成する。
図14は、信号振り分け部52の内部構成を示すブロック図である。
信号振り分け部52は、図14に示すように、R/Gb,Gr/B,Ggo,Ggeの各フィルタ成分に対応するセレクタ521〜524を備えている。各セレクタ521〜524には多重化信号Sig1_adj〜Sig4_adjが入力され、デコーダ54からの選択信号SEL_R_Gb,SEL_Gr_B,SEL_Ggo,SEL_Ggeに応じて、いずれか1つの信号を選択して出力する。
ここで、図14において各セレクタ521〜524の入力段に記載された4種の数値“1”“2”“4”“8”は、デコーダ54に入力されるイネーブル信号に基づくビット列の数値(十進数表記)を示している。デコーダ54は、後述するように、入力されるイネーブル信号に基づき、これらの数値に対応する入力チャネルを選択させ、これによりセレクタ521〜524からは、それぞれに対応するフィルタ成分の信号のみが出力される。
なお、入力される多重化信号Sig1_adj〜Sig4_adjは、ディレイ調整部51a〜51dにより同じタイミングで同じフィルタ成分が入力されないように調整されているので、信号振り分け部52では、単に入力信号を選択することで、すべてのフィルタ成分の信号を取りこぼすことなく、出力チャネルに振り分けることができる。
図15は、デコーダ54の内部構成を示すブロック図である。
デコーダ54は、図15に示すように、R/Gb,Gr/B,Ggo,Ggeの各フィルタ成分に対応する選択信号デコーダ541a〜541d、ORゲート542a〜542d、インバータ543a〜543d、カウンタ544a〜544dを備えている。
選択信号デコーダ541a〜541dは、ディレイ調整部51a〜51dからの各フィルタ成分に対応するイネーブル信号をビット列に見立て、そのビット列が示す数値に対応する入力チャネルが信号振り分け部52において選択されるように選択信号SEL_R_Gb,SEL_Gr_B,SEL_Ggo,SEL_Ggeを出力する。この選択信号のデコード処理については、後の図16および図17において具体的に説明する。
ORゲート542a〜542dは、それぞれR/Gb,Gr/B,Ggo,Ggeのフィルタ成分の信号に対応するディレイ調整部51a〜51dからのイネーブル信号が入力される。ORゲート542aの出力パルスはインバータ543aおよびカウンタ544aに入力され、インバータ543aの出力が、並び替え用メモリ40のR/Gb用領域に対する書き込みのイネーブル信号XWEN_R_Gb(ただし、ここではLレベルのときに書き込み可とする)となる。また、カウンタ544aはORゲート542aの出力パルスをカウントし、そのカウント値が並び替え用メモリ40のR/Gb用領域に対する書き込みアドレスとなる。他のフィルタ成分に対応する回路も同様であり、ORゲート542b〜542dの出力パルスがインバータ543b〜543dおよびカウンタ544b〜544dにそれぞれ入力され、これにより並び替え用メモリ40のGr/B用、Ggo用、Gge用の各領域に対する書き込みのイネーブル信号およびアドレスが生成される。
ここで、以下の図16および図17に、遅延調整後のイネーブル信号の具体例を示し、それぞれの場合における選択信号デコーダ541a〜541dの動作について説明する。図16は、撮像素子の読み出しチャネル数が“8”で、MUXタイプAの場合の選択信号のデコード動作を説明するための図である。
この場合には、図11で示したように、多重化信号Sig1およびSig2の間と、多重化信号Sig3およびSig4の間で、同じフィルタ成分の信号が現れる。このため、図16の例では、ディレイ調整部51bおよび51dにより、多重化信号Sig2およびSig4を1クロック分遅延させている。
ここで、遅延調整後のイネーブル信号を、多重化信号Sig1からSig4の方向に下位から上位に対してフィルタ成分別に割り当てたビット列を考える。例えば、図16において多重化信号Sig1_adj〜Sig4_adjにそれぞれR,Gr,Ggo,Gge(あるいは、Gb,B,Ggo,Gge)が現れるタイミングでは、R/Gb成分については“0001”、Gr/B成分については“0000”、Ggo成分については“0100”、Gge成分については“0000”となる。図16の下段には、これらのビット列の数値を十進数表記で示してある。
多重化信号Sig1_adj〜Sig4_adjは、同じタイミングでは同じフィルタ成分を含まないので、上記のビット列がとり得る値は十進数表記で“0”“1”“2”“4”“8”の5種類である。また、ビット列には多重化信号Sig1_adj〜Sig4_adjの各入力チャネルが下位から順に割り当てられているので、ビットの立っているチャネルに対応するフィルタ成分が出現していることがわかる。
従って、選択信号デコーダ541a〜541dは、入力されたイネーブル信号に基づくビット列の数値が“1”のとき、多重化信号Sig1_adjを選択し、“2”のときSig2_adjを選択し、“4”のときSig3_adjを選択し、“8”のときSig4_adjを選択するように指示する選択信号を生成して、信号振り分け部52に出力する。また、ビット列の数値が“0”のときはどの入力チャネルも選択させないようにする。
上記例のR,Gr,Ggo,Gge(あるいは、Gb,B,Ggo,Gge)が現れるタイミングでは、R/Gb、Gr/B,Ggo,Ggeの各成分についてのビット列は“1”“2”“4”“8”となるので、信号振り分け部52のセレクタ521には多重化信号Sig1_adjを、セレクタ522にはSig2_adjを、セレクタ523にはSig3_adjを、セレクタ524にはSig4_adjを、それぞれ選択させるように制御する。
また、他の例として、撮像素子の読み出しチャネルが“6”の場合について説明する。図17は、撮像素子の読み出しチャネル数が“6”で、MUXタイプAの場合の選択信号のデコード動作を説明するための図である。
この場合には、同じフィルタ成分が同時に現れないようにするために、ディレイ調整部51bで1クロック分、ディレイ調整部51cで2クロック分の遅延量がそれぞれ設定される。遅延調整後の多重化信号Sig1_adj〜Sig3_adjにおいて、例えばそれぞれにR,Gr,Ggoの成分が現れるタイミングでは、各フィルタ成分に対応するイネーブル信号に基づくビット列は、“1000”“0100”“0010”“0000”となる。従って、選択信号デコーダ541a〜541dからの選択信号により、信号振り分け部52のセレクタ521は多重化信号Sig1_adjを、セレクタ522はSig3_adjを、セレクタ523はSig2_adjを選択し、セレクタ524はどの入力信号も選択しない。
以上のように、選択信号デコーダ541a〜541dは、入力されたイネーブル信号を基にした上記のような簡単なデコード処理により、信号振り分け部52において画像信号をフィルタ成分ごとに個別のチャネルから出力させて、並び替え用メモリ40内のフィルタ別の記憶領域に記録させることができる。
ここで、以下の図18〜図24に、上記処理による並び替え前および並び替え後の画像信号の配列を、色シーケンス別に具体的に示す。図18および図19は、撮像素子の読み出しチャネル数がともに“8”で、MUXタイプAおよびBの場合の画像信号配列をそれぞれ示す図である。図20および図21は、撮像素子の読み出しチャネル数がともに“6”で、MUXタイプAおよびBの場合の画像信号配列をそれぞれ示す図である。図22および図23は、撮像素子の読み出しチャネル数がともに“4”で、MUXタイプAおよびBの場合の画像信号配列をそれぞれ示す図である。図24は、撮像素子の読み出しチャネル数が“2”で、MUXタイプAおよびBの場合の画像信号配列を示す図である。
図18〜図24に示すように、上記構成の書き込み制御部50により、撮像素子の読み出しチャネルや多重化の手法に関係なく、入力画像信号をフィルタ成分別に振り分けて、並び替え用メモリ40内の対応領域に書き込むことができる。例えば、撮像素子の出力チャネル数Nと、デジタル信号処理回路14において並列処理される画素信号のフィルタ成分の数(この実施の形態では、R,Gr,Ggo,Ggeの4つ、またはGb,B,Ggo,Ggeの4つ)とが一致しない場合、具体的には、例えば図20,図21のような6チャネル読み出しの場合などには、多重化後の1チャネルに3種類以上のフィルタ成分が伝送されることがあるが、このような場合にも、フィルタ成分ごとに振り分けることができる。
ところで、書き込み制御部50から出力される信号は、上記のようにフィルタ成分別に個別のチャネルから出力されているが、このままでは、各フィルタ成分の信号が、デジタル信号処理回路14での並列処理に適したタイミングで出力されている訳ではない。例えば、図19において、奇数H期間における並び替え後の信号にR2,Gr2,Ggo1,Gge1が同時に出力されるタイミングがあるが、これらの画素は、図4からわかるように、撮像素子上の空間位相が異なる画素を含むので、デジタル信号処理回路14で同時に処理されるべき画素ではない。また、多重化信号のチャネル数がフィルタ成分の種類より少ない場合(図20〜図24の場合)には、当然、デジタル信号処理回路14で必要なすべてのフィルタ成分の信号が同時に出力されることはない。
このような出力タイミングのずれを吸収して揃えるために、並び替え後の信号を並び替え用メモリ40を介して出力するようにしている。書き込み制御部50から出力された各フィルタ成分の画像信号は、その出力タイミングに関係なく、並び替え用メモリ40に隙間を開けることなく順次格納されていき、書き込み制御部50により生成された並び替え用メモリ40の書き込みアドレスと空間位相との関係は一致している。このため、並び替え用メモリ40に一旦蓄積した後は、アドレスの小さい順に読み出すことで、すべてのチャネルの出力タイミングを揃えることができる。
図25は、読み出し制御部60の内部構成を示すブロック図である。
図25に示す読み出し制御部60は、読み出しアドレス出力するカウンタ61と、読み出しのイネーブル信号の出力タイミングを合わせるためのディレイ調整部62とを具備する。カウンタ61は、イネーブル信号H_ENがHレベルとなる水平有効期間において画素クロックを昇順にカウントし、水平有効期間の終了時にカウント値をリセットする。カウント値は、フィルタ成分ごとの記憶領域に対する読み出しアドレスRADRS_R_Gb,RADRS_Gr_B,RADRS_Ggo,RADRS_Ggeとして、並び替え用メモリ40に出力される。また、ディレイ調整部62の遅延量はカウンタ61の動作遅延に応じて設定され、遅延調整されたイネーブル信号H_ENが、各記憶領域での読み出し許可を示すイネーブル信号REN_R_Gb,REN_Gr_B,REN_Ggo,REN_Ggeとして、並び替え用メモリ40に出力される。
以上のような単純な構成の読み出し制御部60を用いることで、フィルタ成分ごとに並び替えられた画像信号を正しいタイミングで出力することができる。すなわち、撮像素子上の空間位置が正しい組み合わせとなるように、各フィルタ成分の信号が出力されるようになる。従って、このような画像信号を受信したデジタル信号処理回路14は、AFE回路13からの出力される画像信号の色シーケンスに関係なく、常に同じ手順で入力画像信号を処理することができる。
なお、以上の実施の形態で示した色シーケンスは、撮像素子上の画素信号が空間的に左側の画素から先に出力されるものであった。しかし、実際には、必ずしもこのような条件が成立しない場合もある。例えば、撮像素子上で隣接している同じフィルタ成分の画素の信号を加算して同時に出力することによって、出力画素数を間引き、読み出し周波数を高めることなく、より高速な画面レートで画像信号を出力する機能を備えている場合などには、並び替え用メモリ40に出力される画像信号が、R2,R1,R4,R3……といったように、水平方向の順番通りにならない場合がある。このような場合には、空間的に左側の画素の信号が、並び替え用メモリ40上のアドレスの小さい方にあるとは限らないことになり、アドレス順に読み出すとデジタル信号処理回路14において正しい処理ができなくなってしまう。
このような場合には、例えば、読み出し制御部60のカウンタ61を、読み出しアドレスRADRS_R_Gb,RADRS_Gr_B,RADRS_Ggo,RADRS_Ggeのそれぞれに対して個別に設ける。そして、各カウンタについて、カメラ制御回路15からの設定により、それぞれのカウント動作を個別に制御できるようにしておく。水平方向の順番通りに出力されない色シーケンスであっても、通常は出力信号の空間位置に規則性があるため、そのような規則性に応じたカウント動作を各カウンタに実行させる。例えば、B成分について、並び替え用メモリ40に対してB2,B1,B4,B3……のように書き込まれる場合には、B成分に対応するカウンタ63bが、水平有効期間の開始時から1,0,3,2……のようなカウントを行うようにする。規則性のあるカウント動作を実行するカウンタであれば実装も容易であり、カウンタのそれぞれに複数種類のカウント動作を切り替えて実行できるようにしておくことで、対応可能な色シーケンスのバリエーションを一層増やすことができる。
以上説明したように、カメラ信号処理部23に対する画像信号の入力段に並び替え処理部21を設けたことにより、常に同じ規則により画像信号をカメラ信号処理部23に入力させることが可能となる。このため、カメラ信号処理部23での処理手順や回路構成を複雑にしたり、その回路規模を増大させることなく、多様な色シーケンスに対応できるようになる。特に、並び替え処理部21の出力チャネル数を、カメラ信号処理部23で並列処理されるフィルタ成分の種類の数、またはその整数倍とすることで、カメラ信号処理部23の構成、特にノイズリダクションや欠陥画素補正など、撮像素子上の空間位置を考慮して動作する処理ブロックの構成を単純化することができる。
また、並び替え処理部21は、入力画像信号の色シーケンスに応じて制御パラメータを設定するだけで、その回路構成を変更することなく、多様な色シーケンスに対応することができる。このため、デジタル信号処理回路14にそれらの多様な色シーケンスのそれぞれに対応する処理回路を設けた場合と比較して、大幅に回路規模を縮小できる。
従って、撮像素子からの読み出しチャネル数や、多チャネルで読み出された信号の多重化の方法、画素数の間引き方法、画素数、フィルタコーディングなどに対する組み合わせの自由度の高い、汎用性の高いデジタル信号処理回路14を実現することができ、将来の仕様変更時や製品バリエーションの拡張時における開発・製造コストを抑制できる。
次に、チャネルID生成部22について詳しく説明する。
図26は、並び替え処理の前後における色シーケンスの例を示す図である。この図を用いて、まず、並び替え処理部21による並び替え後の画像信号を処理する上での問題点について説明する。
図26では、例として、撮像素子からの読み出しチャネル数が“8”で、MUXタイプAの場合の色シーケンスを示している。この図からわかるように、並び替え処理部21から出力された信号Sig_R_Gb,Sig_Gr_B,Sig_Ggo,Sig_Ggeでは、各チャネルに同じフィルタ成分が出現し、色シーケンスが単純化されている。
一方、各信号が撮像素子の出力チャネルCh0〜Ch7のどれから出力されたものであるかを示す出身チャネルに着目すると、図中下段に示すように、並び替え前と並び替え後とでは出身チャネルのシーケンスも変化してしまう。実際には、並び替え前の信号では、読み出しチャネル数やMUXタイプに関係なく、各信号ともに2つの出身チャネル番号が交互に出現するのに対し、並び替え後では、色シーケンスの変化に応じて多様な出身チャネルシーケンスが存在することになる。
カメラ信号処理部23には、例えばデジタルクランプや、チャネル間のゲイン補正など、出身チャネルによって処理を切り替える、すなわち処理に利用する値を選択する必要がある処理ブロックが存在する。このような処理ブロックでは、色シーケンスの並びには関係なく、常に出身チャネルを意識して処理を行う必要がある。
並び替え処理部21がないシステムの場合は、図中左側の出身チャネルシーケンスのまま後段へと信号が流れていくため、出身チャネル別に処理するブロックでは、多重化がないシステムの場合は内部チャネルごとに、多重化があるシステムの場合は内部チャネルごと、かつ1画素クロックごとに、クランプ値、ゲイン値など処理に利用する値を切り替えればよかった。しかし、並び替え後の出身チャネルシーケンスは、出力チャネル数や多重化方法、画素数などに応じて変化してしまうので、それらのシーケンスにすべて対応できるようにすると、処理が複雑になり、回路規模も増大してしまう。逆に対応できるシーケンスを少なくしてしまうと、汎用性が低くなってしまう。
そこで、本実施の形態では、撮像素子の出身チャネルに対応するチャネルIDを生成するブロックを設け、カメラ制御回路15からの制御パラメータに応じて、色シーケンスの変化に応じた適切なチャネルIDのシーケンスを生成できるようにする。そして、生成したチャネルIDを参照してカメラ信号処理部23を動作させることにより、カメラ信号処理部23の回路規模を増大させることなく、並び替え処理部21のメリットを生かして多様な色シーケンスに対応できるようにする。
図27は、本実施の形態におけるチャネルIDの定義方法を示す図である。
本実施の形態では、例として、AFE回路13による多重化後の4チャネルの信号(多重化信号Sig1〜Sig4)に基づいて、チャネルIDを定義する。これらの4チャネルの各画像信号には、上述したように2つの出身チャネル番号が交互に現れる。そこで、図27に示すように、チャネルIDとして、多重化後の1チャネル目の奇数番目のクロックでの入力信号を“0”、偶数番目のクロックでの入力信号を“1”とし、2チャネル目の奇数番目、偶数番目のクロックでの入力信号をそれぞれ“2”“3”とし、3チャネル目の奇数番目、偶数番目のクロックでの入力信号をそれぞれ“4”“5”とし、4チャネル目の奇数番目、偶数番目のクロックでの入力信号をそれぞれ“6”“7”とする。
なお、チャネルIDを撮像素子からの出力チャネルを基準に定義してもよい。ただしその場合には、デジタル信号処理回路14への入力時点でのチャネルIDのシーケンスが多重化の方法に応じて変化してしまうので、以降の回路構成や制御パラメータの設定をそのシーケンスの変化に応じて変える必要が生じてしまう。これに対して図27の定義によれば、多重化の方法によらず同じ回路構成や制御パラメータで対応できるようになる。
図28は、撮像素子からの読み出しチャネル数が“8”および“6”の場合のチャネルIDシーケンスを示す図である。また、図29は、読み出しチャネル数が“4”および“2”の場合のチャネルIDシーケンスを示す図である。
図28および図29では、並び替え処理部21からのフィルタ成分ごとの信号の各画素に対応する出身チャネル、すなわちチャネルIDを示している。図28に示すように、撮像素子からの読み出しチャネル数が“8”の場合、並び替え処理部21からの各チャネルにはチャネルIDが2画素単位で繰り返し出現し、読み出しチャネル数が“6”の場合、3画素単位で出現する。また、図29に示すように、読み出しチャネル数が“4”および“2”の場合、各チャネルのチャネルIDはすべて同じ(すなわち、繰り返し単位が“1”)になる。
チャネルID生成部22は、このようなチャネルIDシーケンスを、カメラ制御回路15からのチャネルID生成パラメータを基に再現し、後段のカメラ信号処理部23に伝送する役割を担う。そのためにチャネルID生成部22は、図28および図29に示したように、各シーケンスにおける繰り返し単位内の画素信号の入力タイミングごとにピクセルIDを割り当て、ピクセルIDごとにチャネルIDを選択的に生成する。なお、このチャネルID生成部22で用いられるピクセルIDは、図10で説明したEN生成部30において生成されるピクセルIDとは無関係のものである。
図30は、チャネルID生成部22の内部構成を示すブロック図である。
チャネルID生成部22は、図30に示すように、カウンタ221a〜221d、セレクタ222、チャネルID生成デコーダ223、セレクタ224a〜224d、およびディレイ調整部225を具備する。
カウンタ221a〜221dは、カウント値の繰り返し数がそれぞれ“1”“2”“3”“4”となっており、SG25からの水平同期信号HDの受信時に、カウント値をリセットしてカウントアップを開始することで、水平同期期間ごとに上記各繰り返し数までのカウントを繰り返す。なお、カウントの期間を水平有効期間でなく水平同期期間としているのは、カメラ信号処理部23内のチャネルIDを利用するブロックで、撮像素子上のOPB(Optical Black)領域からの出力信号を必要とする場合があり、そのためにOPB領域の画素もチャネルIDを持つ必要があるからである。
セレクタ222は、カメラ制御回路15からのカウンタ切り替えパラメータに応じて、いずれかのカウンタ221a〜221dのカウント値を選択し、ピクセルIDとしてセレクタ224a〜224dに出力する。
ここで、繰り返し数の異なるカウンタ221a〜221dは、対応可能なチャネルIDの繰り返し単位に合わせて設けられ、カウンタ切り替えパラメータにより、撮像素子の読み出しチャネル数に応じたカウント値が、ピクセルIDとして選択的に出力されるようになっている。例えば、撮像素子の読み出しチャネル数が“8”のとき、繰り返し数が“4”であるカウンタ221dのカウント値がピクセルIDとして選択される。
チャネルID生成デコーダ223は、カメラ制御回路15からのチャネルID生成パラメータに基づき、セレクタ224aに対してR/Gbのフィルタ成分に対応するチャネルIDをピクセルIDごとに供給し、同様に、Gr/B,Ggo,Ggeの各フィルタ成分のチャネルに対応するピクセルIDごとのチャネルIDを、それぞれセレクタ224b〜224dに対して供給する。セレクタ224a〜224dは、R/Gb,Gr/B,Ggo,Ggeの各フィルタ成分に対応するチャネルIDをチャネルID生成デコーダ223からピクセルIDごとに個別に受信し、セレクタ222からのピクセルIDに対応する受信値を選択して、各成分のチャネルに対応するチャネルID(CHID_R_Gb,CHID_Gr_B,CHID_Ggo,CHID_Gge)を出力する。
ここで、チャネルID生成パラメータは、並び替え処理部21からの各チャネルの信号に対応するチャネルIDを指定する情報である。上述したように、各チャネルにおけるチャネルIDの繰り返し単位がピクセルIDの繰り返し数に対応しているため、チャネルID生成パラメータには、各信号のチャネルIDを示す情報がピクセルIDの数だけ含まれる。チャネルID生成デコーダ223は、チャネルID生成パラメータをデコードして、出力すべきチャネルIDをピクセルID別に生成し、R/Gb,Gr/B,Ggo,Ggeのチャネルごとにそれぞれセレクタ224a〜224dに供給する。
これにより、セレクタ224a〜224dでは、セレクタ222から指定されるピクセルIDに対応する受信値を選択して出力することで、ピクセルIDに対応するチャネルIDを各フィルタ成分のチャネルごとに出力できるようになる。図30では例として、撮像素子の読み出しチャネル数が“6”、MUXタイプAの場合のチャネルID生成デコーダ223からの出力値を記載している。このとき、チャネルIDの繰り返し単位は“3”となり、カウンタ221cのカウント値がセレクタ222により選択される。チャネルID生成デコーダ223からは、セレクタ224aのピクセルID“0”〜“3”にそれぞれ対応する入力端子に対して“0”“2”“1”のチャネルIDを出力する。セレクタ224aは、セレクタ222からのピクセルIDが“0”のとき“0”を、ピクセルIDが“1”のとき“2”を、ピクセルIDが“2”のとき“1”を、CHID_R_Gbとして出力する。
このような構成により、様々なチャネルIDシーケンスに応じたチャネルIDを生成できる。例えば、ピクセルIDを生成するカウンタ(ここではカウンタ221a〜221d)の繰り返し数の種類や、チャネルIDの出力段のセレクタ(ここではセレクタ224a〜224d)の入力端子の数が多いほど、より多様なチャネルIDシーケンスを生成することが可能となる。
なお、ディレイ調整部225は、セレクタ224a〜224dから出力されるチャネルIDが、フィルタ成分別に並び替えられた画像信号における対応画素の出力タイミングと一致するように、並び替え処理部21からの画像信号を遅延させる。
次に、カメラ信号処理部23においてチャネルIDを利用する処理ブロックの例として、デジタルクランプ、チャネル間のゲイン補正の各処理ブロックを挙げ、それらの構成および動作について説明する。
図31は、カメラ信号処理部23の内部構成を示すブロック図である。
カメラ信号処理部23は、図31に示すように、デジタルクランプ部110、チャネル間ゲイン補正部120、およびその他の処理ブロック130を具備している。
デジタルクランプ部110は、画像信号中の直流成分を一定レベルで再生し、低周波ノイズを低減させる処理ブロックである。このデジタルクランプ部110は、カメラ制御回路15からの制御パラメータとして、チャネルIDごとのクランプ制御値Clamp_CHID0〜Clamp_CHID7を受け取る。そして、チャネルID生成部22からのチャネルIDに対応するクランプ制御値を利用して、並び替え部21からチャネルID生成部22を介して入力される画像信号にクランプ処理を施す。
チャネル間ゲイン補正部120は、撮像素子の出力チャネル間に生じるゲインのバラツキを補正する処理ブロックである。このチャネル間ゲイン補正部120は、カメラ制御回路15からの制御パラメータとして、チャネルIDごとのゲイン制御値Gain_CHID0〜Gain_CHID7を受け取る。そして、チャネルID生成部22からデジタルクランプ部110を介して入力されたチャネルIDに対応するゲイン制御値を利用して、画像信号のゲインを調整し、その他の処理ブロック130に出力する。
図32は、デジタルクランプ部110の内部構成を示すブロック図である。
デジタルクランプ部110は、図32に示すように、R/Gb,Gr/B,Ggo,Ggeの各チャネルに対応するセレクタ111a〜111d、クランプ処理部112a〜112d、ディレイ調整部113a〜113dを備えている。
各セレクタ111a〜111dは、カメラ制御回路15からのクランプ制御値Clamp_CHID0〜Clamp_CHID7の入力を受け、チャネルID生成部22からのチャネルID(CHID_R_Gb,CHID_Gr_B,CHID_Ggo,CHID_Gge)にそれぞれ対応するクランプ制御値を選択して出力する。クランプ処理部112a〜112dは、セレクタ111a〜111dからそれぞれ出力されたクランプ制御値に応じて、対応するチャネルの画像信号に対してクランプ処理を施す。ディレイ調整部113a〜113dは、クランプ処理部112a〜112dからの画像信号の出力タイミングに合わせて、チャネルIDを遅延させてその出力タイミングを調整する。
ここで、デジタルクランプ処理のための検波は、撮像素子上に設けられた黒領域(OPB領域)の出力信号をチャネルIDごとに積分することで行われる。この検波を、並び替え処理部21による並び替え後の画像信号を基に行うと、前述した通り出身チャネルのシーケンスが複雑になってしまうため、並び替え前の画像信号からの方がより簡単な制御で検波を行うことができる。
本実施の形態では、並び替え前の画像信号からの検波値に応じて、カメラ制御回路15がチャネルIDごとのクランプ制御値を生成し、デジタルクランプ部110がチャネルIDに対応するクランプ制御値を適用する。これにより、簡単な制御で検波を行いながらも、出身チャネルのシーケンスが複雑化した並び替え後の画像信号に、正確にクランプ処理を施すことができるようになる。
図33は、チャネル間ゲイン補正部120の内部構成を示すブロック図である。
チャネル間ゲイン補正部120は、図33に示すように、R/Gb,Gr/B,Ggo,Ggeの各チャネルに対応するセレクタ121a〜121dおよびゲイン調整部122a〜122dを備えている。
各セレクタ121a〜121dは、カメラ制御回路15からのゲイン制御値Gain_CHID0〜Gain_CHID7の入力を受け、デジタルクランプ部110からのチャネルID(CHID_R_Gb,CHID_Gr_B,CHID_Ggo,CHID_Gge)にそれぞれ対応するゲイン制御値を選択して出力する。ゲイン調整部122a〜122dは、セレクタ121a〜121dからそれぞれ出力されたゲイン制御値に応じて、対応するチャネルの画像信号に対してゲイン調整を施す。
なお、チャネル間ゲイン補正部120の後段に、さらにチャネルIDを利用して処理を行うブロックが存在する場合には、デジタルクランプ部110からのチャネルIDを、ゲイン調整部122a〜122dからの画像信号の出力タイミングに合わせて遅延させて出力する機能を設けておく。
ここで、ゲイン制御値Gain_CHID0〜Gain_CHID7は、例えば製品出荷前に均一の被写体を撮像し、その有効領域をチャネルIDごとに積分してチャネル間の比をとることで求めることができ、そのような検出値をEEPROM(Electronically Erasable and Programmable ROM)などに保存し、カメラ制御回路15が読み出してチャネル間ゲイン補正部120に出力するようにする。
このように、ゲイン制御値の検出は並び替え処理部21による並び替え前の画像信号を基に行われる。これに対し、並び替え後の画像信号においては、出身チャネルのシーケンスが複雑化した状態となっているが、チャネル間ゲイン補正部120は、上記のようにチャネルIDに対応するゲイン値を適用することにより、ゲイン補正を正確に行うことができるようになる。
なお、この図33の説明では、説明を簡単にするために、ゲインのバラツキが画像信号レベルによらず一定であることを前提としていたが、例えばこのバラツキが明るさ(画像信号レベル)によって異なる場合には、ゲイン制御値を明るさ別に用意し、チャネル間ゲイン補正部120に設定してもよい。
以上説明したように、チャネルID生成部22では、カメラ制御回路15からの制御パラメータに応じて、並び替え後の画像信号に適合したチャネルIDを自在に生成できる。そして、後段のカメラ信号処理部23では、チャネルIDに基づいて信号処理を行うことで、並び替えによって生じ得る出身チャネルの多様なシーケンスを意識する必要がなくなる。従って、出身チャネルのシーケンスの変化に関係なく、同じ構成の回路で処理することが可能になり、処理手順を複雑にしたり、回路規模を増大させることなく、撮像素子や多重化方法などの組み合わせに対する汎用性が極めて高いデジタル信号処理回路14を実現できる。
〔第2の実施の形態〕
図34は、本発明の第2の実施の形態に係るデジタル信号処理回路の内部構成を示すブロック図である。なお、図34では、図7に示した構成に対応する機能ブロックについては同じ符号を付して示し、その説明を省略する。
図34に示すデジタル信号処理回路14では、画像信号の並び替えを行う並び替え処理部21aの前段に、チャネルIDを生成するチャネルID生成部22aを配置し、生成されたチャネルIDを画像信号とともに並び替え処理部21aで並び替えてしまう点が、図7の場合と異なる。
チャネルID生成部22aでは、生成するチャネルIDを図27と同様に定義する。このチャネルID生成部22aで生成されるチャネルID(CHID_1〜CHID_4)は、AFE回路13による多重化後の4チャネルの画像信号(多重化信号Sig1〜Sig4)のそれぞれに対応しており、並び替え処理部21aにより、それらの画像信号と同様の手順で、R/Gb,Gr/B,Ggo,Ggeのフィルタ成分ごとに並び替えられ、CHID_R_Gb,CHID_Gr_B,CHID_Ggo,CHID_Ggeとして出力される。
図35は、チャネルID生成部22aの内部構成を示すブロック図である。
チャネルID生成部22aは、図35に示すように、カウンタ226、セレクタ227a〜227d、およびディレイ調整部228を具備する。カウンタ226は、SG25からの水平同期信号HDの受信時に、カウント値をリセットしてカウントアップを開始することで、水平同期期間ごとに1ビットのカウント動作を行う。
セレクタ227a〜227dは、AFE回路13からの信号Sig1〜Sig4の出力チャネルにそれぞれ対応する。各セレクタ227a〜227dは、チャネルIDの定義に従ってあらかじめ決められた2つの数値の入力をそれぞれ受け、カウンタ226からのカウントに応じた入力値を選択し、それぞれCHID_1〜CHID_4として出力する。
前述したように、AFE回路13からの出力信号Sig1〜Sig4のそれぞれにおいては、2つの出身チャネル番号が交互に現れることから、チャネルID生成部22aは、カウンタ226からの2値のそれぞれに1つのチャネルIDを割り当てて出力すればよい。チャネルIDを図27と同様に定義したとすると、図35に示すように、セレクタ227aは“0”“1”、セレクタ227bは“2”“3”、セレクタ227cは“4”“5”、セレクタ227dは“6”“7”を、カウンタ226のカウント値に応じてそれぞれ交互に出力する。
なお、例えば3チャネル以上の多重化を行う場合など、出力信号Sig1〜Sig4のそれぞれに3つ以上の出身チャネル番号が繰り返し現れる場合には、その繰り返し数に応じてセレクタ227a〜227dの入力数、およびカウンタ226のカウント値の繰り返し数を増やすことで対応できる。また、カメラ制御回路15からの制御パラメータに応じて、各セレクタ227a〜227dへの入力値を変化させたり、繰り返し数の異なるカウンタを用意してそれらのカウント値をセレクタ227a〜227dに対して選択的に入力させるようにすることで、多重化の方法などのさらに多様な仕様に対応できるようになる。
ディレイ調整部228は、AFE回路13からの出力信号Sig1〜Sig4を、セレクタ227a〜227dの出力タイミングに合わせて遅延させ、後段の並び替え処理部21aに出力する。
図36は、並び替え処理部21aの内部構成を示すブロック図である。
図36に示す並び替え処理部21aの構成は、基本的には第1の実施の形態と変わりはない。ただし、多重化信号Sig1〜Sig4とともに、チャネルID生成部22aからのチャネルID(CHID_1〜CHID_4)も同じ手順で並び替えて出力する点が異なる。
EN生成部30aは、図9のEN生成部30と同様に、カメラ制御回路15からのEN生成パラメータに応じて、多重化信号Sig1〜Sig4のそれぞれについて、R/Gb,Gr/B,Ggo,Ggeの各フィルタ成分に対応する信号が出現するタイミングを示すイネーブル信号を生成し、書き込み制御部50aに出力する。また、イネーブル信号の出力タイミングに合わせて、多重化信号Sig1〜Sig4およびチャネルID(CHID_1〜CHID_4)を遅延させて出力する。
並び替え用メモリ40aは、G/Gb,Gr/B,Ggo,Ggeのフィルタ成分ごとの記憶領域を備えているが、図9の場合と異なり、各記憶領域にはフィルタ成分別の画像信号とともに、各信号に対応するチャネルID(CHID_R_Gb,CHID_Gr_B,CHID_Ggo,CHID_Gge)も記憶される。
書き込み制御部50aは、EN生成部30aからのイネーブル信号に基づいて、遅延調整後の多重化信号Sig1〜Sig4を並び替え、フィルタ成分ごとに並び替えられた信号Sig_R_Gb,Sig_Gr_B,Sig_Ggo,Sig_Ggeを生成する。そして、並び替え後の信号およびこれに対応するチャネルIDの書き込みアドレスWADRS_R_Gb,WADRS_Gr_B,WADRS_Ggo,WADRS_Ggeおよび書き込みイネーブル信号WEN_R_Gb,WEN_Gr_B,WEN_Ggo,WEN_Ggeを生成し、これらを用いて画像信号およびチャネルIDを並び替え用メモリ40aに書き込む。
読み出し制御部60aは、読み出しイネーブル信号REN_R_Gb,REN_Gr_B,REN_Ggo,REN_Ggeと、読み出しアドレスRADRS_R_Gb,RADRS_Gr_B,RADRS_Ggo,RADRS_Ggeを、並び替え用メモリ40aに出力して、フィルタ成分ごとに分離された信号Sig_R_Gb,Sig_Gr_B,Sig_Ggo,Sig_Ggeと、これらに対応するチャネルID(CHID_R_Gb,CHID_Gr_B,CHID_Ggo,CHID_Gge)を、カメラ信号処理部23に読み出す。
以上の構成により、画像信号における色シーケンスに合わせて並び替えられたチャネルIDがカメラ信号処理部23に出力され、カメラ信号処理部23では、入力されたチャネルIDを用いて処理することで、第1の実施の形態と同様に、デジタル信号処理回路14への入力シーケンスに関係なく、常に同じ手順で処理を行うことができるようになる。
以上の第2の実施の形態では、並び替え前の画像信号を基にチャネルIDを生成することにより、チャネルIDを生成するためのブロック(チャネルID生成部22a)の構成を単純化し、その回路規模を抑制できる。また、チャネルIDの並び替え方法は画像信号と同じであるので、チャネルIDの生成時にカメラ制御回路15からの制御パラメータが必要でなくなり、制御パラメータを保持するためのメモリ容量や、設定のための消費電力などを削減できる。ただし、並び替え処理部21aでは、画像信号に加えてチャネルIDを保持するための記憶領域や、その並び替えのための回路が必要となるので、回路規模が大きくなる。
〔第3の実施の形態〕
以下の第3の実施の形態では、チャネルIDを利用して処理する機能の一種として、欠陥画素補正機能が設けられた場合について説明する。図37は、第3の実施の形態に係るカメラ信号処理部の内部構成を示すブロック図である。なお、図37では、図31に示した構成に対応する機能ブロックについては同じ符号を付して示し、その説明を省略する。
図37に示すカメラ信号処理部23では、デジタルクランプ部110およびチャネル間ゲイン補正部120bに加えて、その他の処理ブロック130bとして欠陥画素補正部300が設けられている。なお、チャネル間ゲイン補正部120bは、図31に示したチャネル間ゲイン補正部120と同様の機能に加えて、ゲイン補正を施した画像信号の出力タイミングに合わせて、デジタルクランプ部110からのチャネルIDを遅延させて後段のその他の処理ブロック130bに出力する(欠陥画素補正部300に直接出力してもよい)機能を備えている。
なお、チャネルIDは、チャネル間ゲイン補正部120bからその他の処理ブロック130b内を伝搬して欠陥画素補正部300に入力されるまでに、その間の画像信号の伝搬遅延時間に合わせて遅延される必要がある。このとき、単純に画像信号の伝搬遅延時間と同じ時間だけチャネルIDを遅延させてもよいが、途中にチャネルIDを利用しない処理ブロックが多数ある場合にはその遅延量が大きくなり、遅延回路の規模が大きくなってしまう。
そこで、チャネルIDシーケンスの繰り返し性に着目して、その繰り返し数に応じた必要最小限の遅延回路(例えば4クロック分の遅延回路)を用意しておき、カメラ制御回路15からの指示信号により遅延の段数(クロック数)を切り替えられるようにしてもよい。
ここで、欠陥画素補正について説明する。撮像素子においては、暗電流の発生やフォトダイオードの異常などの様々な原因により欠陥画素が発生することがある。欠陥画素は異常なレベルの信号を出力するため、その周辺画素の信号を利用して欠陥画素の信号を補間することが一般的に行われている。
この欠陥画素については、出力レベルが異常に高くなる場合(いわゆる白欠陥)と低くなる場合(いわゆる黒欠陥)とがあるが、最近の撮像素子においては、前者の欠陥画素からの出力信号が巨大である場合に、その信号が欠陥でない他の画素に対して影響を与える“引きずり”現象が発生することが問題となっていた。“引きずり”現象には以下の2種類がある。
第1の現象は、撮像素子からの同じ出力チャネルにおいて発生するものである。近年の撮像素子では、画素数の増加により読み出し周波数が非常に高くなっているため、読み出した信号を処理するアナログ回路においては、アンプ性能のマージンやCDS/サンプルホールドのセトリング時間のマージンが十分でなくなっている。このような回路で、欠陥画素からのインパルス的な信号が入力されると、同じ出力チャネルを通過するその後の信号が前の巨大な信号に引きずられて、その信号に影響が加わる場合がある。
第2の現象は、多重化回路に入力される隣接チャネル間において発生するものである。アナログ回路の高集積化に従い、AFE回路13内の多重化回路に入力されるチャネル間が狭まっていることから、上記の巨大なレベルの信号により、多重化される隣接チャネルの信号が引きずられて異常な信号になる場合がある。
欠陥画素補正にあたっては、欠陥画素の信号補間だけでなく、上記のような“引きずり”によって影響が与えられた画素(以下、引きずり対象画素と呼ぶ)の信号も、その周囲の画素の信号を利用して補間しなければならない。ここで、上述したような画像信号の並び替えを行わないシステムであれば、引きずり対象画素は、巨大なレベルを発生する画素(以下、巨大欠陥画素と呼ぶ)の隣りに常に存在するため、補正処理がしやすい。しかし、並び替え後の画像信号においては、引きずり対象画素が巨大欠陥画素の隣りである保証はなくなり、多重化後の信号の色シーケンスに応じてそれらの位置関係が変化してしまう。このため、上述したデジタルクランプ部やチャネル間ゲイン補正部と同様に、欠陥画素補正部300をこれらのバリエーションにすべて対応できるような構成とすると、処理が複雑になり、回路規模が増大してしまう。
そこで、本実施の形態では、引きずり対象画素の補正処理時にもチャネルIDを利用することで、並び替え後の画像信号からも引きずり対象画素の位置を容易に特定し、常に単純な処理で補間処理を実行できるようにする。
図38は、欠陥画素補正部300の内部構成を示すブロック図である。
欠陥画素補正部300は、図38に示すように、欠陥検出部310、EEPROM320、メモリコントローラ330、補正信号生成部340、および信号補正部350を具備する。
欠陥検出部310は、カメラ制御回路15からの欠陥レベル設定値および巨大欠陥レベル設定値に基づき、欠陥画素補正部300に入力されたR/Gb,Gr/B,Ggo,Ggeの各チャネルの画像信号から、欠陥画素および巨大欠陥画素を検出し、その画素の位置を示すアドレスをメモリコントローラ330に出力する。欠陥レベル設定値および巨大欠陥レベル設定値は、通常の欠陥画素、および巨大欠陥画素をそれぞれ検出するための信号レベルのしきい値である。
欠陥画素の検出時には、カメラ制御回路15による制御の下で、信号レベルが突出して大きな欠陥画素(巨大欠陥画素を含む)を検出する場合にはアイリスが閉じられ、信号レベルが極端に小さい欠陥画素を検出する場合には露光時間が長くされる。欠陥検出部310は、このような状態での検波値と、欠陥レベル設定値および巨大欠陥レベル設定値とを比較して、欠陥画素であるか否か、および巨大欠陥画素であるか否かを判別する。欠陥画素および巨大欠陥画素と判別した場合には、その水平方向および垂直方向の位置を欠陥アドレスとしてラッチし、メモリコントローラ330にチャネルごとに出力する。その際に、巨大欠陥画素であるか否かを示す情報も付加する。
EEPROM320は、R/Gb,Gr/B,Ggo,Ggeのチャネルごとの個別の記憶領域を備えている。メモリコントローラ330は、欠陥検出部310からの欠陥アドレスを、対応する記憶領域に書き込む。そして、実際の撮像時において、補正信号生成部340からのメモリ制御信号に応じて、EEPROM320から欠陥アドレスを読み出し、補正信号生成部340に出力する。このとき、その画素が巨大欠陥であるか否かを示す巨大欠陥フラグもともに出力する。
なお、欠陥画素および巨大欠陥画素の検出、および欠陥アドレスのEEPROM320への書き込みの動作は、例えば製品出荷前の調整時に実行される。あるいは、出荷後においても、例えば電源投入時などに随時実行されてもよい。
補正信号生成部340は、実際の撮像時に、欠陥画素補正部300に対するR/Gb,Gr/B,Ggo,Ggeの各チャネルの画像信号の入力に従って、欠陥画素および巨大欠陥画素の出現タイミングを示す補正タイミング信号を出力する。この補正信号生成部340は、SG25から供給される補正用の水平同期信号および垂直同期信号を基に画面上のアドレスを計数し、EEPROM320から読み込んだ欠陥アドレスと一致した場合に補正タイミング信号をチャネルごとに出力する。また、引きずり対象画素の出現タイミングを生成する引きずり対象画素補正デコーダ400を備えており、メモリコントローラ330からの巨大欠陥フラグが立った場合には、その後に入力されるチャネルIDを走査して引きずり対象画素の出現タイミングを検出し、補正すべき画素として補正タイミング信号を出力する。
信号補正部350は、補正信号生成部340からの補正タイミング信号に応じて、R/Gb,Gr/B,Ggo,Ggeの各チャネルの画像信号を補正し、後段の回路に出力する。
図39は、信号補正部350の内部構成を示すブロック図である。
信号補正部350は、図39に示すように、R/Gb,Gr/B,Ggo,Ggeのチャネルにそれぞれ対応するディレイライン351a〜351dおよび補間処理部352a〜352dを具備している。
欠陥画素および巨大欠陥画素の信号補正は、基本的に、その周辺に存在する同じフィルタ成分の画素信号を用いた線形補間により行う。ただし、撮像した画像信号においては、シーンによっては、縦方向に相関を持つ、あるいは横方向に相関を持つなど様々な絵柄となる。そこで、信号補正部350では、補間対象の画素に隣接した上下2ラインの同フィルタ成分の画素を保持しておき、線形補間の方向を絵柄に応じて可変できるようにして、補間後にも絵柄に破綻をきたさないようにしている。
そのために、ディレイライン351a〜351dはそれぞれ4ライン分のラインメモリを備え、各チャネルにおける隣接する5ライン分の画像信号を同時に出力できるようになっている。ここで、入力画像信号においては、RおよびBの成分はラインごとに現れることから、各ディレイライン351a〜351dは3ラインでなく、5ライン分の画像信号を出力するようにしている。このため、GgoおよびGgeのチャネルのディレイライン351cおよび351dは、2ライン分のラインメモリのみ備えていてもよい。
各ディレイライン351a〜351dからの出力画像信号では、2H分だけ遅延した信号が補間対象となり、補間処理部352a〜352dは、補間対象画素の入力時に補正信号生成部340からの対応チャネルの補正タイミング信号が有効である(例えばHレベルである)とき、上下左右のうち相関の強い方向に存在する同フィルタ成分の隣接画素の信号を用いて線形補間を行い、補間対象画素の信号と置換する。
図40は、引きずり対象画素補正デコーダ400の内部構成を示すブロック図である。
引きずり対象画素補正デコーダ400は、図40に示すように、R/Gb,Gr/B,Ggo,Ggeのチャネルごとの補正タイミングデコーダ401〜404を具備している。各補正タイミングデコーダ401〜404は、対応するチャネルの巨大欠陥フラグの入力を受け、巨大欠陥フラグが立つと、その後に入力されるチャネルIDを走査して引きずり対象画素の入力タイミングを検出し、補正タイミング信号を出力する。
図41は、引きずり対象画素の検出について説明するための図である。この図41では、並び替え後の画像信号におけるチャネルIDシーケンスの一例として、撮像素子の読み出しチャネル数が“8”、MUXタイプAの場合を示している。
上述したように、巨大欠陥画素の信号の“引きずり”現象は2種類ある。これらのうち、撮像素子からの同じ出力チャネルでの“引きずり”の場合、巨大欠陥画素の信号は、撮像素子の出力信号において時間方向に隣接する次の画素に影響を与えるので、引きずり対象画素は、巨大欠陥画素の次に現れる同じチャネルIDの画素となる。
一方、隣接チャネル間での“引きずり”の場合は、巨大欠陥画素の信号は、AFE回路13の出力信号において時間方向に隣接する次の画素に影響を与える。このような関係は、図27でのチャネルIDの定義から、“0”と“1”、“2”と“3”、“4”と“5”、“6”と“7”の間の連番において成立することから、各組み合わせのうち、巨大欠陥画素の次に現れる他方のチャネルIDの画素が、引きずり対象画素となる。
従って、引きずり対象画素補正デコーダ400の各補正タイミングデコーダ401〜404は、巨大欠陥画素の出現後に入力されるチャネルIDを走査し、上記各条件に該当するチャネルIDの画素を引きずり対象画素と判別する。例えば、図41の例で、3クロック目のR/Gbチャネルに巨大欠陥画素が出現した場合、その画素のチャネルIDは“0”であるので、次に“0”が現れる画素と、次に“1”が現れる画素とを引きずり対象画素と判別すればよい。図41の場合、前者は5クロック目のR/Gbチャネルに現れ、後者は3クロック目のGr/Bチャネルに現れる。このように、チャネルIDを利用することで、並び替えによりチャネルIDシーケンスが様々に変化しても、引きずり対象の画素を容易に特定できるようになる。
図42は、補正タイミングデコーダ401の内部構成を示すブロック図である。
補正タイミングデコーダ401は、R/Gbチャネルの信号に巨大欠陥画素が出現したときに、その画素に対応する引きずり対象画素の出現タイミングを検出するためのデコーダである。この補正タイミングデコーダ401は、ラッチ部411、加減算部412、比較部413および414、ORゲート415を具備する。
ラッチ部411は、R/Gbチャネルの巨大欠陥フラグが立つと、そのときに入力されたR/Gbチャネルに対応するチャネルID(CHID_R_Gb)をラッチする。加減算部412は、ラッチ部411の出力値が偶数の場合にその値に“1”加算し、奇数の場合に“1”減算する。
比較部413は、撮像素子からの同じ出力チャネルでの引きずり対象画素を検出するためのブロックである。この比較部413は、R/Gbチャネルの巨大欠陥フラグが立つと動作を開始し、そのときのラッチ部411の出力値、すなわちR/Gbチャネルにおける巨大欠陥画素のチャネルIDと、その後に入力されるチャネルIDとを比較して、1つでも一致したときに引きずり対象画素と判別して、補正タイミング信号を出力し、比較動作を停止する。
ここでは、CHID_Gr_B,CHID_Ggo,CHID_Gge,CHID_R_Gbの順で繰り返し走査し、比較動作を実行する。そして、比較値が一致した入力チャネル(R/Gb,Gr/B,Ggo,Ggeのいずれか)に対応する補正タイミング信号のみをHレベルにする。例えば、図41の例の場合には、R/Gbチャネルに対応するチャネルID(CHID_R_Gb)が一致するので、R/Gbチャネルに対応する補正タイミング信号をHレベルにして、比較動作を停止する。R/Gbチャネルに対応する補正タイミング信号はORゲート415に出力され、Gr/B,Ggo,Ggeのチャネルにそれぞれ対応する補正タイミング信号は、対応するチャネルの補正タイミングデコーダ402〜404の備えるORゲート415に出力される。
一方、比較部414は、撮像素子からの隣接する出力チャネル間での引きずり対象画素を検出するためのブロックである。このような引きずり対象画素は、上述した組み合わせによる連番のチャネルIDとなり、そのチャネルIDが加減算部412において生成される。従って、比較部414は、R/Gbチャネルの巨大欠陥フラグが立つと動作を開始し、そのときの加減算部412の出力値と、その後に入力されるチャネルIDとを比較して、1つでも一致したときに引きずり対象画素と判別して補正タイミング信号を出力し、比較動作を停止する。
ここでは、比較部413と同様に、CHID_Gr_B,CHID_Ggo,CHID_Gge,CHID_R_Gbの順で繰り返し走査して比較動作を実行し、比較値が一致した入力チャネル(R/Gb,Gr/B,Ggo,Ggeのいずれか)に対応する補正タイミング信号のみをHレベルにする。例えば、図41の例の場合には、Gr/Bチャネルに対応するチャネルID(CHID_Gr_B)が一致するので、Gr/Bチャネルに対応する補正タイミング信号をHレベルにして、比較動作を停止する。R/Gbチャネルに対応する補正タイミング信号はORゲート415に出力され、Gr/B,Ggo,Ggeのチャネルにそれぞれ対応する補正タイミング信号は、対応するチャネルの補正タイミングデコーダ402〜404の備えるORゲート415に出力される。
ORゲート415には、巨大欠陥フラグと、比較部413および414からの補正タイミング信号と、他の補正タイミングデコーダ402〜404から出力された、R/Gbチャネルに対応する補正タイミング信号とが入力され、いずれかの信号がHレベルとなったときに、R/Gbチャネルに対応する最終的な補正タイミング信号を出力する。すなわち、ORゲート415からの出力信号は、R/Gbチャネルにおける巨大欠陥画素およびその画素に対応する引きずり対象画素の出現タイミングを表すことになる。
他の補正タイミングデコーダ402〜404の構成も、基本的には上記と同様である。ただし、メモリコントローラ330からのチャネルIDの入力端子の結線順が異なる。例えば図42の構成に対応づけて説明すると、Gr/Bチャネルに対応する補正タイミングデコーダ402では、ラッチ部411に対してCHID_Gr_Bが入力され、比較部413および414では、CHID_Ggo,CHID_Gge,CHID_R_Gb,CHID_Gr_Bの順で走査されるようにチャネルIDが入力される。
また、Ggoチャネルに対応する補正タイミングデコーダ403では、ラッチ部411に対してCHID_Ggoが入力され、比較部413および414では、CHID_Gge,CHID_R_Gb,CHID_Gr_B,CHID_Ggoの順で走査されるようにチャネルIDが入力される。Ggeチャネルに対応する補正タイミングデコーダ404では、ラッチ部411に対してCHID_Ggeが入力され、比較部413および414では、CHID_R_Gb,CHID_Gr_B,CHID_Ggo,CHID_Ggeの順で走査されるようにチャネルIDが入力される。なお、補正タイミングデコーダ402〜404には、それぞれGr/B,Ggo,Ggeのチャネルに対応する巨大欠陥フラグが入力される。
このような構成により、補正タイミングデコーダ401〜404では、それぞれR/Gb,Gr/B,Ggo,Ggeのチャネルに対応する補正タイミング信号が出力されるようになり、信号補正部350では、補正タイミング信号に応じて動作することで、通常の欠陥画素だけでなく、巨大欠陥画素およびその引きずり対象画素までも補間される。従って、並び替えによりチャネルIDシーケンスが様々に変化しても、同じ構成の回路により、すべての欠陥画素および引きずり対象画素を確実に補正できるようになる。
なお、比較部413および414における上記のようなスキャン順序は、図2や図4、図5に示した読み出しおよび多重化の方法を採った場合に特化したものである。従って、読み出しの順番や多重化の方法の異なるシステムに対応できるようにするためには、比較部413および414でのスキャン順序をカメラ制御回路15からの設定により変えられるようにしておけばよい。また、多重化後の画像信号ではなく、例えば撮像素子の出力チャネルに基づいてチャネルIDを定義した場合、隣接チャネル間での引きずり対象画素は必ずしも連番のチャネルIDの位置にはならず、多重化の方法に応じてその位置が変化する。しかし、この場合にも並び替え後の画像信号における引きずり対象画素の位置関係には法則性が存在するので、例えば加減算部412での加算数・減算数を可変とすることなどで対応できる。
さらに、欠陥画素補正部300においては、引きずり対象画素補正デコーダ400の機能を、補正信号生成部340の代わりに欠陥検出部310に設け、巨大欠陥画素が検出されたときに、その引きずり対象画素の位置を検出して、EEPROM320に記録しておくようにしてもよい。これにより、補正信号生成部340の構成および処理手順を単純化することができる。しかし、EEPROM320に必要な記憶容量が大きくなるので、記憶容量を節約するために、例えば、引きずり対象画素の検波タイミングとなったときには、通常の欠陥画素(すなわち巨大欠陥画素を除く欠陥画素)の欠陥検出動作を無効状態として、同じ画素のアドレスが欠陥画素および引きずり対象画素としてEEPROM320に重複して記録されないようにしてもよい。
なお、以上の各実施の形態では、図2に示したフィルタコーディングを用いた場合について説明したが、本発明はそれ以外のフィルタコーディングを用いた撮像装置に適用することもできる。例えばベイヤ配列の場合、一般的には、カメラ信号処理部は奇数H期間、偶数H期間ともにR,Gr,Gb,Bの4種類のフィルタ成分を並行に処理することが多い。このような場合でも、上記と同様の構成の並び替え処理部およびチャネルID生成部を用いることで、撮像素子の読み出しチャネル数や画素数、多重化の方法などの組み合わせに関係なく、カメラ信号処理部に合わせて4つの出力チャネルのそれぞれから常時、上記の4種類のフィルタ成分の画像信号を出力することができるとともに、後段のカメラ信号処理部において、並び替えによって生じ得る出身チャネルの多様なシーケンスを意識することなく処理することが可能となる。
また、本発明は、デジタルビデオカメラ、デジタルスチルカメラなどの固体撮像素子を用いた撮像装置、およびこのような撮像機能を具備する携帯電話機やPDA(Personal Digital Assistants)などの機器に対して適用することができる。また、撮像装置用の信号処理回路のみならず、特定のデータ配列を複数チャネルを通じて受け付けて処理する処理回路において、その入力データのシーケンスが多数想定されるような場合に、本発明を適用することができる。
また、上記の処理機能は、コンピュータによって実現することができる。その場合、この装置が有すべき機能(上記の並び替え処理部およびチャネルID生成部などに対応する機能)の処理内容を記述したプログラムが提供される。そして、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気ディスク、半導体メモリなどがある。
プログラムを流通させる場合には、例えば、そのプログラムが記録された光ディスクや半導体メモリなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
11……光学ブロック、11a……ドライバ、12……CMOS型イメージセンサ、12a……タイミングジェネレータ、13……アナログフロントエンド回路、14……デジタル信号処理回路、15……カメラ制御回路、16……ヒューマンI/F制御回路、17……ユーザI/F、18……手ぶれセンサ、21……並び替え処理部、22……チャネルID生成部、23……カメラ信号処理部、24……通信I/F、25……シグナルジェネレータ