(57)【要約】【課題】２次元の偏差を取り除くシェーディング補正方法を提供する。【解決手段】撮像された画像収差をリアルタインムで補正するシェーディング補正方法において、水平方向および垂直方向の２次元の補正用ブロックデータを備え、該２次元の補正用ブロックデータを２次元フィルタ５Ｄでスムージング処理し、処理後の信号を用いて、映像信号のシェーディング補正を行い、垂直方向フィルタの状態を格納するメモリを備えたことを特徴とする。【選択図】図１
2007116724.tif 000002
【特許請求の範囲】
【請求項１】
撮像された画像の収差をリアルタイムで補正するシェーディング補正方法において、ブロック単位に求められた水平方向および垂直方向の補正用ブロックデータを補正データ保管メモリに備え、前記補正データ保管メモリは垂直方向フィルタと水平方向フィルタと前記垂直方向フィルタの全レジスタの情報を前記ブロック単位で格納し、映像の同期信号に同期して前記補正データ保管メモリにブロック毎に格納したレジスタ値を前記垂直方向フィルタにロードおよび前記補正用ブロックデータを読み出し、前記垂直方向フィルタと前記水平方向フィルタでスムージング処理し、前記水平方向フィルタから出力される補正信号を減算回路に供給し、該減算回路に入力される映像信号から前記補正信号を減じることによって、映像信号のシェーディング補正を行うことを特徴とするシェーディング補正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はテレビジョンカメラを用いて撮像した場合の、レンズの光学系や、撮像素子の感度むら、および、光源の方向性など撮像条件によるむらを補正するシェーディング補正方法に関するものである。
【背景技術】
【０００２】
テレビジョンカメラを用いて撮像した映像には様々な理由で、収差が発生する。本発明で対象とする収差は、シェーディングと称される収差であり、ブラックシェーディングと変調シェーディングがある。発生の理由は、レンズの光学系や、撮像素子の感度むらや、テレビジョンカメラ内のアナログ処理回路における方向性不均一性による偏りや、光源の方向性など撮像条件によるむらなど様々である。
【０００３】
光源の方向性によるむらを例に取ると、画像計測などでカメラを用いて撮像する場合、計測対象とカメラは接近しており、光源は被写体に対し、斜めから照らす状態となり、画面上の光量に不均一性が発生する。これは変調シェーディングとして映像に悪影響をおよぼす。光源の方向性によるむらがある場合、画面全体に均一な白い画像を映した際、その映像に光量の不均一性による偏りが、変調シェーディングとして含まれる。
【０００４】
図１２にシェーディング信号の例を示す。図１２は垂直方向にのみ偏りがある場合を示している。この変調シェーディングを補正する方法として、従来は垂直方向に１次元の補正信号を発生させ、収差の補正を行っていた。
【０００５】
図１３に従来の構成と波形を示す。レンズなどの光学系１より取りこまれた映像は、ＣＣＤなどの撮像素子２、映像信号処理回路３を経て、電気的な映像信号となる。この段階での波形を７に示す。波形７では偏りが中心位置を１００％レベルとした場合、画面端のレベルが５０％であったと仮定する。この情報をブロック単位に測定する。但し、偏りは垂直方向のみで、水平方は一定とし、水平方向の特定の領域を代表として測定する。関係を図１２にも示す。
【０００６】
次に、この偏りを補正すべく、ブロック単位に補正信号を求める。補正信号は利得に相当する。この例では、画面中心に全体のレベルを合わせるとし、画面中心に相当するブロックの補正信号、つまり利得を１倍とすると、画面端に相当するブロックの利得Ｇは５０％×Ｇ＝１００％で、Ｇ＝２倍となる。ブロック単位に求められた補正データは、メモリ６に備えておく。メモリ６から、映像の垂直同期信号に同期してブロックデータを読み出す。波形を９に示す。
【０００７】
次にアナログフィルタ回路５でスムージングを行い、補正信号を得る。この補正信号の波形を８に示す。この補正信号を乗算回路４’で映像信号に乗ずると、信号は一律１００％となり、均一となる。このような方法でシェーディング補正を行っていた。
【０００８】
ここで、スムージングするフィルタの特性を説明する。図１３のフィルタ回路５のスムージング用フィルタ特性を図１４に示す。図１４において、丸印をつないだ曲線がフィルタ出力であり、階段状波形がフィルタ入力である。１ブロックがＮクロックであり、ブロック単位のサンプリング周期をＦｏとする。
【０００９】
ブロック信号の周波数成分は図１５となる。つまり、ブロック信号のサンプリング周波数をＦｓとすると、Ｆｏ＝Ｆｓ／Ｎとなり、Ｆｏの間隔でＦｏの整数倍周波数に高調波成分を持つことになる。スムージングして、ブロックの段差を取り除くことは、この高調波成分を取り除くことに他ならない。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
このように、従来のシェーディング補正は、１次元処理であるが、これに対して実際の偏りは、２次元の偏差を持っている。特に、光源の方向性による“むら”などは、複雑な偏差を含むことになり、従来の１次元補正方式偏差が残り、不充分であった。
【００１１】
本発明の目的は、２次元の偏差を取り除くシェーディング補正方法を提供することにある。
【課題を解決するための手段】
【００１２】
本発明は、撮像された画像の収差をリアルタイムで補正するシェーディング補正方法において、水平方向および垂直方向の２次元の補正用ブロックデータを備え、該２次元の補正用ブロックデータを２次元フィルタでスムージング処理し、処理後の信号を用いて、映像信号のシェーディング補正を行うことを特徴とするシェーディング補正方法である。
【００１３】
本発明は、前記２次元フィルタを、垂直方向フィルタおよび水平方向フィルタで構成し、且つ前記垂直方向フィルタのフィルタ状態を格納するバッファメモリを備えたことを特徴とするシェーディング補正方法である。
【００１４】
本発明は、前記２次元フィルタを、垂直方向フィルタおよび水平方向フィルタで構成し、且つ前記垂直方向フィルタをラインごとに前記垂直方向フィルタのタップ数分、前記垂直方向フィルタが更新された結果の状態を各タップに書きこむことを特徴とするシェーディング補正方法である。
【発明の効果】
【００１５】
本発明によれば、２次元の偏差を取り除くシェーディング補正方法を得ることができる。
【発明を実施するための最良の形態】
【００１６】
図１に本発明の実施の形態によるシェーディング補正方法を有する構成を示す。レンズなどの光学系１より取りこまれた映像は、ＣＣＤなどの撮像素子２、映像信号処理回路３を経て、電気的な映像信号となる。ブロック単位に求められた補正用ブロックデータを、メモリ６に備えておく。メモリ６から、映像の水平・垂直同期信号に同期して補正用ブロックデータを読み出し、２次元デジタルフィルタ回路５Ｄでスムージングを行い補正信号を得、この補正信号を減算回路４で入力される映像信号から減じてシェーディング補正を行なう。
【００１７】
本発明は、２次元の偏差を取り除くために、ブロックデータも２次元で備えるようにすることにある。２次元のブロックデータをスムージングするには、２次元フィルタが必要となる。これは原理的にはデジタルで２次元フィルタを構成すれば実現可能である。
【００１８】
図２は図１の２次元デジタルフィルタ回路５Ｄの第１の実施の形態の構成図である。図２において、２次元デジタルフィルタ回路は、ラインメモリ５１から５８０からなる８０個のラインメモリとフィルタ係数演算回路５８１とで構成された垂直方向フィルタ５９０と、レジスタ７１から７１３４からなる１３４個のレジスタとフィルタ係数演算回路７１３５とで構成された水平方向フィルタ７１４０とで構成される。
【００１９】
この構成は、画像計測にカメラを用いる場合の、画面サイズがＸＧＡと称されるサイズに対応した構成であるが、画面サイズがＸＧＡと称されるサイズであると、水平方向のサンプリング数は１３４４、垂直方向のライン数は８０６ラインになる。ブロックの間隔を全体の５％程度にすると、水平方向では１３４４×５％＝６７、垂直方向では８０６×５％＝４０ラインとなる。ブロックの数は２０×２０＝４００ブロックとなる。２次元フィルタを構成する上で、垂直方向のサンプリングピッチは４０ラインであり、垂直方向のフィルタのタップ数は４０×２＝８０タップ必要となる。
【００２０】
すなわち、８０個のラインメモリを必要とする。ラインメモリの総容量は、８０×１３４４＝１０７５２０ワードとなり、膨大になる。問題は容量だけでなく、フィルタを構成する上で夫々のタップの出力を取り出す必要がある点にある。つまり、フィールドメモリのように、一つのメモリとしてまとめることはできないため、８０個のメモリが必要となる。
【００２１】
そこで、改良として、サンプリングの間隔を狭めれば、フィルタのタップ数も減り、メモリも減るが、ブロックの数が増大する。例えば、サンプリングの間隔を２ラインとすると、垂直方向のフィルタのタップ数は２×２＝４タップとなり、実現可能な容量となるが、ブロックの数は、８０６÷２ライン＝４０３ブロック、２次元では水平×垂直＝２０×４０３＝８０６０ブロック分必要となる。これによってブロックデータを格納するメモリの容量が増大すると共に、ブロックごとの補正値を求める際、ＣＰＵの演算時間も増大する。またフィルタ特性として、サンプリングピッチが高過ぎるため、低域成分の偏差が取れなくなる。
【００２２】
このようなことから、サンプリング間隔を狭める手段も有効でない。サンプリング間隔を狭めず、所望のフィルタ特性を実現する手段として、ラインメモリの代わりに、バッファメモリを用いる方法を考える。
【００２３】
このバッファメモリを用いる方法はフィルタの状態をバッファメモリに格納するバッファ処理をすることで２次元フィルタを実現するものであり、ラインメモリを不要とする。
【００２４】
バッファメモリの容量としては、フィルタのタップ数×垂直ブロック数であり、上記例では８０タップ×２０ブロック＝１６００ワードとなり、これは１ラインメモリ程度であり、実現可能な容量である。
【００２５】
画素単位で変化する一般的な信号に対しては適用できないが、対象がブロック単位であること、つまりブロック幅分は信号が一定である点を利用したものである。
【００２６】
図３はバッファ処理を用いた２次元フィルタを示す構成と波形を示す図であり、補正データ保管メモリ６と、バッファメモリ５Ｄ―１と垂直方向フィルタ５Ｄ−２と水平方向フィルタ５Ｄ−３から構成される。ここで、図１との対応は、図１のメモリ６が補正データ保管メモリ６に該当し、図１のデジタルフィルタ５Ｄがバッファメモリ５Ｄ―１と垂直方向フィルタ５Ｄ−２と水平方向フィルタ５Ｄ−３から構成され、水平方向フィルタ５Ｄ−３の出力が図１の減算回路４に供給され、入力される映像信号から減ずるシェーディング補正を行う。
【００２７】
この構成にすれば、ラインメモリを用いず２次元フィルタを構成できるため、実装、価格、電力面で有利なシステムを構築できる。画面サイズＸＧＡ（水平方向：１３４４、垂直方向：８０６）の例では、ラインメモリ８０個が１個相当に軽減される。
【００２８】
図３に、垂直方向フィルタ５Ｄ−２の出力の波形例を示した。この波形例から分かるように、水平１ブロック幅に対する、垂直方向のブロックデータフィルタリング（(1)(2)(3)(4)）は、メモリを用いることなく、レジスタを用いて１次元のフィルタとして実現可能である。これは、仮に偏差が垂直方向のみにあり、水平方向の偏りが全くない場合を想定すれば理解し易い。
【００２９】
ここで、垂直方向と水平方向の位置を（Ｖ，Ｈ）と表現する。説明を簡単にするため、水平方向の全画素数を１０２４画素、垂直方向の全ライン数を２５６、ブロックの大きさを水平方向３２画素、垂直方向４ラインとすると、画面での画素位置は図７に示す通りである。すなわち、１ライン目の画素位置は順に（０，０）（０，１）（０，２）（０，３）（０，４）・・・・・・（０，１０２３）、２ライン目の画素位置は順に（１，０）（１，１）（１，２）（１，３）（１，４）・・・・・・（１，１０２３）となる。
【００３０】
仮に５ライン目の、９画素目の垂直フィルタ出力を考える。垂直方向のブロックの大きさは４ラインとしたため、タップ数は４＋１＋４＝９タップと考える。この時、垂直フィルタ出力を得るには、（０，８）（１，８）（２，８）（３，８）（４，８）（５，８）（６，８）（７，８）（８，８）の情報が必要である。一般的な画素単位で変化する信号の場合、画素ごとに、つまり水平サンプリング動作に合わせて、入力信号が変化するため、例えば次の５ライン目の、１０画素目の垂直フィルタ出力を得るためには、（０，９）（１，９）（２，９）（３，９）（４，９）（５，９）（６，９）（７，９）（８，９）の情報が必要である。結局全画素分の情報が必要となるため、９タップ分のラインメモリが必要となる。
【００３１】
これに対し、ブロック信号の場合、例えば上記例では、水平３２画素単位で水平方向に変化がないため、５ライン目の９画素目の垂直フィルタ出力と、５ライン目の１０画素目の垂直フィルタ出力とは同一である。すなわち、図８に示すように、水平３２画素目までは、（０，０）（１，０）（２，０）（３，０）（４，０）（５，０）（６，０）（７，０）（８，０）の情報を共通に利用できる。この点を利用して、ラインメモリを用いることなく、レジスタで１次元垂直フィルタを組むことができる。
【００３２】
ここで図２のラインメモリを用いた２次元フィルタで、構成を再度説明する。図２では８０個のラインメモリがあり、その出力を係数演算し、垂直方向フィルタ５９０を形成していた。垂直方向フィルタ５９０通過後の信号を１３４個のレジスタで構成した水平方向フィルタ７１４０に入力し、これを通過させることで、垂直・水平２次元のフィルタを実現している。
【００３３】
図３の実施の形態で実現しようとする構成は、この垂直フィルタを水平フィルタと同様、レジスタで構成するものである。前述の垂直方向９タップのフィルタの例では、フィルタ演算を３２画素単位で共通化できるが、それだけでは、メモリをレジスタに置き換えることはできない。仮に９個のメモリを９個のレジスタに置き換えたとする。レジスタの最初のタップに先ずデータが入る。画面の最初から考えると、最初に（０，０）が設定される。映像入力は水平操作を繰り返すため、次に入力される信号は（０，１）であるが、これは（０，０）と内容は同じである。次にデータが変化するのは、（０，３２）のポイントになる。ところがこれは水平方向フィルタの動作そのものである。
【００３４】
垂直フィルタはライン単位でサンプリングする必要がある。ライン単位でサンプリングすると、このサンプリング点を水平の端につまり０画素目に置くと入力されるデータは（０，０）（１，０）（２，０）（３，０）（４，０）（５，０）（６，０）（７，０）（８，０）となるが、この端の一列のみ取りこまれることになる。図３の(1)のみが取りこまれ、(2)(3)(4)・・・が取りこまれない。これでは２次元フィルタにならない。そこで、フィルタの状態を一旦バッファメモリへ格納することを考える。
【００３５】
図４に図３のバッファインタフェースを備えた垂直方向フィルタの構成を示す。フィルタはセレクタ８１，８２，８３，８４，８５，８６，８７，８８とタップレジスタ９１，９２，９３，９４，９５，９６，９７，９８と、フィルタ係数演算回路１００から構成される。ここで、セレクタ８１とタップレジスタ９１でタップ０を構成し、セレクタ８２とタップレジスタ９２でタップ１を構成し、セレクタ８３とタップレジスタ９３でタップ２を構成し、セレクタ８４とタップレジスタ９４でタップ３を構成し、セレクタ８５とタップレジスタ９５でタップ４を構成し、セレクタ８６とタップレジスタ９６でタップ５を構成し、セレクタ８７とタップレジスタ９７でタップ６を構成し、セレクタ８８とタップレジスタ９８でタップ７を構成する。
【００３６】
セレクタ８１，８２，８３，８４，８５，８６，８７，８８により、フィルタの各タップデータをシフトする通常のフィルタ処理を行うか、図３のバッファメモリ５Ｄ―１のデータを取りこむかを切り替える。
【００３７】
図５に図３のバッファメモリ５Ｄ―１のアドレス空間の概念を示す。バッファメモリ５Ｄ−１は垂直方向フィルタ５Ｄ−２の全レジスタの情報をブロック単位で格納できる構成とする。
【００３８】
次に、図４の動作を説明する。図４において、先ずセレクタ８１，８２，８３，８４，８５，８６，８７，８８を図３のバッファメモリ５Ｄ−１側に切り替え、タップ数分のデータをロードする。これは前ラインの情報を示す。ロード終了後、セレクタ８１は補正データ保管メモリ６側に切替、セレクタ８２，８３，８４，８５，８６，８７，８８は各タップデータをシフトする通常のフィルタ処理側に切替る。その後、垂直フィルタに図示していないが１発フィルタサンプリングクロックを入れ、フィルタの更新を行う。フィルタ更新後、フィルタ内全てのレジスタの値を図３のバッファメモリ５Ｄ−１へ再度格納する。この操作を３２画素以内の期間に行う。
【００３９】
以上の処理は、水平３２画素目までは、情報を共通に利用できるという性質を利用している。つまりタップ数８個分のロード処理では、少なくとも８サイクル＝８画素の期間が必要である。また、垂直フィルタに１発フィルタサンプリングクロックを入れ更新する処理では、１サイクル＝１画素の期間が必要である。また、フィルタ更新後、フィルタ内全てのレジスタの値をバッファメモリ５Ｄ−１へ再度格納する処理では８サイクル＝８画素の期間が必要である。
【００４０】
よって合計１７画素（＝８＋１＋８）の期間が必要であるが、これは３２画素以内であるため十分可能である。ブロックの大きさを、垂直フィルタタップ数×２＋１＜水平ブロック画素数とすれば、処理は可能となる。またバッファリングメモリのデータ幅を広く取れば、例えば１タップのデータが１０ビットとすると、バッファリングメモリのデータ幅を４０ビット取れば、上記処理は８÷４＋１＋８÷４＝５となり、必ずしも、垂直フィルタタップ数×２＋１＜水平ブロック画素数の条件が絶対でないことが容易に分かる。
【００４１】
一つの水平ブロックの処理が終了すると、次の３２画素のポイントでは、同様に、対応するバッファメモリアドレスより、前ラインの状態をロードする。つまり、前ラインの状態に戻す。その後、垂直フィルタに１発フィルタサンプリングクロックを入れ、フィルタの更新を行う。フィルタ更新後、フィルタ内全てのレジスタの値をバッファメモリ５Ｄ−１へ再度格納する。
【００４２】
この操作をブロック単位で繰り返すと、図３に示す垂直方向フィルタ５Ｄ−２の出力(1)(2)(3)(4)が得られる。このような方法を用いればラインメモリを用いることなく、レジスタで垂直１次元フィルタを構成することが可能となる。
【００４３】
図３における(1)と(2)のブロック列に着目し、図３，図４の垂直方向フィルタ５Ｄ−２を再度説明する。また図６に図４の垂直方向フィルタ５Ｄ−２の動作タイムチャートを示す。先ず、最初にバッファメモリ５Ｄ−１からロード処理を行うため、フィルタ内にはごみのデータが入る（Ｘ，Ｘ）。次にセレクタ８１，８２，８３，８４，８５，８６，８７，８８の状態を通常のフィルタ処理動作に切り替え、補正データ保管メモリ６からのデータを取りこみ、フィルタの動作を更新する。タップ２に（０，０）のデータが入る。これを一旦バッファメモリ５Ｄ−１のアドレス０〜７に格納する。
【００４４】
格納後、処理は隣のブロックに移動する。つまり(2)のブロック列に移る。移動後はバッファメモリ５Ｄ−１のアドレス８〜１５から、そのブロックのデータを垂直方向フィルタ５Ｄ−２にロードする。同様に最初のラインでは（Ｘ，Ｘ）ロード後、セレクタ８１，８２，８３，８４，８５，８６，８７，８８の状態を切り替え、１回分のフィルタの更新を実行する。タップ２に（０，３２）のデータが入る。そしてその状態を同様、一旦バッファメモリ５Ｄ−１のアドレス８〜１５に格納する。格納後、次のブロックの処理に移動する。
【００４５】
このような操作を繰り返し、再度水平方向の先頭に戻る。つまり、(1)のブロック列の操作に戻る。先ず、バッファメモリ５Ｄ−１のアドレス０〜７のデータをロードする。この内容はタップ２が（０，０）である。次に補正データ保管メモリ６からのデータを取りこみ、フィルタの動作を更新する。
【００４６】
垂直方向のブロック幅は４ラインであるため、４ラインまでは同一のデータであり、タップ２には同様に（０，０）のデータが入る。またタップ４にはタップ２のデータ（０，０）が送られる。この後この内容を再びバッファメモリ５Ｄ−１のアドレス０〜７に格納する。アドレス０には（０，０）アドレス１には（０，０）のデータが入る。
【００４７】
このような操作を８ライン繰り返すと、ブロック列(1)において、タップ２には（４，０）、タップ４には（４，０）、タップ６には（４，０）、タップ８には（４，０）、タップ１０には（０，０）、タップ１２には（０，０）、タップ１４には（０，０）、タップ１６には（０，０）のデータが入る。
【００４８】
またブロック列(2)においては、タップ２には（４，３２）、タップ４には（４，３２）、タップ６には（４，３２）、タップ８には（４，３２）、タップ１０には（０，３２）、タップ１２には（０，３２）、タップ１４には（０，３２）、タップ１６には（０，３２）のデータが入る。これは正にラインメモリを用いた場合と同じ動作である。
【００４９】
以上は、バッファメモリを用いて垂直フィルタを実現する方法について説明した。次の実施の形態では、バッファメモリを用いず、補正データ保管メモリの読み出し制御と、垂直フィルタの各タップへの書きこみ制御によって、フィルタの動作を実現する方法について説明する。
【００５０】
図９に本発明の実施の形態の補正データ取りこみ制御による２次元フィルタを含む構成と波形を示す。６は補正データ保管メモリ、５Ｄ−２は垂直方向フィルタ、５Ｄ−３は垂直方向フィルタ、１０はメモリリードアドレス制御回路であり、メモリリードアドレス制御回路１０の出力は補正データ保管メモリ６に接続される。図１０に図９における垂直方向フィルタ５Ｄ−２を含む構成を示す。図１１に図１０の垂直フィルタの動作タイムチャートを示す。
【００５１】
以下、図９，１０，１１を用いて、２次元シェーディングの補正を説明する。前述の実施の形態でも示したように、垂直フィルタはラインごとに更新される。また水平ブロックごとに切り替える必要がある。ラインメモリを用いることなく、フィルタを更新するために、前述の実施の形態では、フィルタの状態をバッファメモリへ一旦格納する方法を示した。本実施の形態では、バッファメモリへ格納する代わりに、補正データ保管メモリの読み出し制御と、垂直フィルタの各タップへの書きこみ制御によってこれを実現する。
【００５２】
図１０に図９の垂直方向フィルタ５Ｄ−２を含む構成を示すが、図２と異なる点は各タップが繋がっていないところにある。本来フィルタのタップはシフトレジスタとして、更新クロックが入るたびに、１つずつシフト動作をする構成を取る。本実施の形態では、シフト動作をフィルタでなくメモリの読み出しと、各タップへの書きこみ制御を工夫することで行う。あらためて図１０を説明する。
【００５３】
図１０は、タップ０のレジスタ１１１、タップ１のレジスタ１１２、タップ２のレジスタ１１３、タップ３のレジスタ１１４、タップ４のレジスタ１１５、タップ５のレジスタ１１６、タップ６のレジスタ１１７、タップ７のレジスタ１１８、フィルタ係数演算回路１２０、ホールドレジスタ１２１、各タップライト制御回路１２２から構成される。また補正データ保管メモリ６の出力は、各タップに平行に接続される。
【００５４】
ここで、前述の実施の形態の図３で示したブロック列(1)のデータをあらためて表現すると、図８に示すように、ライン１〜４＝（０，０）、ライン５〜８＝（４，０）、ライン９〜１２＝（８，０）・・・・・となる。
【００５５】
例えば、ライン８におけるフィルタの各タップの状態は、タップ０＝（４，０），タップ１＝（４，０），タップ２＝（４，０），タップ３＝（４，０），タップ４＝（０，０），タップ５＝（０，０），タップ６＝（０，０），タップ７＝（０，０）である。
【００５６】
次に、ライン９におけるフィルタの各タップの状態は、タップ０＝（８，０），タップ１＝（４，０），タップ２＝（４，０），タップ３＝（４，０），タップ４＝（４，０），タップ５＝（０，０），タップ６＝（０，０），タップ７＝（０，０）である。
【００５７】
さらに、ライン１０におけるフィルタの各タップの状態は、タップ０＝（８，０），タップ１＝（８，０），タップ２＝（４，０），タップ３＝（４，０），タップ４＝（４，０），タップ５＝（４，０），タップ６＝（０，０），タップ７＝（０，０）である。このシフト動作を、メモリ制御によって行う。
【００５８】
動作を図１１のタイムチャートに示す。ブロック０の期間中に８個のタップ０〜７に、それぞれ、対象ラインにおける位相のデータを補正データ保管メモリ６から読み出し、順番に書きこむ。１ブロック分の書きこみ終了後、フィルタ出力をホールドする。こうすれば、フィルタの出力には、図９に示すような、垂直フィルタ５Ｄ−２の出力結果が得られる。つまりラインメモリを用いた場合と同じ特性が得られる。
【図面の簡単な説明】
【００５９】
【図１】本発明の実施の形態によるシェーディング補正方法を有する構成を示す図である。
【図２】図１の２次元デジタルフィルタ回路の第１の実施の形態の構成図である。
【図３】図１の２次元デジタルフィルタ回路を含む第２の実施の形態の構成と波形を示す図である。
【図４】図３の垂直方向フィルタの構成を示す図である。
【図５】図３のバッファメモリのアドレス空間の概念を示す図である。
【図６】図４の垂直方向フィルタの動作タイムチャートを示す図である。
【図７】画面での画素位置を示す図である。
【図８】画面の画素位置のブロックデータの変化を示す図である。
【図９】図１の２次元デジタルフィルタ回路を含む第３の実施の形態の構成と波形を示す図である。
【図１０】図９における垂直方向フィルタを含む構成を示す図である。
【図１１】図１０の垂直フィルタの動作タイムチャートを示す図である。
【図１２】シェーディング信号の例を示す図である。
【図１３】従来の構成と波形を示す図である。
【図１４】図１３のフィルタ回路のスムージング用フィルタ特性を示す図である。
【図１５】ブロック信号の周波数成分を示す図である。
【符号の説明】
【００６０】
１：光学系、２：撮像素子、３：映像信号処理回路、４：減算回路、５Ｄ：２次元デジタルフィルタ回路、６：メモリ、５１から５８０：ラインメモリ、５８１：フィルタ係数演算回路、５９０：垂直方向フィルタ、７１から７１３４：レジスタ、７１３５：フィルタ係数演算回路、７１４０：水平方向フィルタ、５Ｄ−１：バッファメモリ、５Ｄ−２：垂直方向フィルタ、５Ｄ３：水平方向フィルタ、８１から８８：セレクタ、９１から９８：レジスタ、１００：フィルタ係数演算回路、１０：メモリリードアドレス制御回路、１１１から１１８：タップレジスタ、１２０：フィルタ係数演算回路、１２１：ホールドレジスタ、１２２：各タップライト制御回路。
【図１】
2007116724.tif 000003
【図２】
2007116724.tif 000004
【図３】
2007116724.tif 000005
【図４】
2007116724.tif 000006
【図５】
2007116724.tif 000007
【図６】
2007116724.tif 000008
【図７】
2007116724.tif 000009
【図８】
2007116724.tif 000010
【図９】
2007116724.tif 000011
【図１０】
2007116724.tif 000012
【図１１】
2007116724.tif 000013
【図１２】
2007116724.tif 000014
【図１３】
2007116724.tif 000015
【図１４】
2007116724.tif 000016
【図１５】
2007116724.tif 000017