(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0016】
図1は実施の形態に係るデータ処理装置1の構成を示す図である。データ処理装置1は、例えば、画像データに対して処理を行う画像処理装置である。本実施の形態に係るデータ処理装置1は、例えば、CMOS(Complementary Metal Oxide Semiconductor)イメージセンサーあるいはCCD (Charge Coupled Device)センサー等の撮像素子に含まれる欠陥画素から得られる画素データを補正する画素欠陥補正を行う。
【0017】
図1に示されるように、データ処理装置1は、画素欠陥補正部2と、記憶部3と、書き込み部4と、判定回路5と、出力回路6と、バッファ選択部7とを備えている。データ処理装置1を構成する各構成要素は、図示しない動作クロック信号に同期して動作する。データ処理装置1には、撮像素子が有する複数の画素からそれぞれ得られた複数の画素データ(画像データ)が入力される。
【0018】
画素欠陥補正部2は、データ処理装置1の外部から入力される画素データが欠陥画素から得られた画素データである場合には、当該画素データを補正して適切な画素データを生成して出力する。画素欠陥補正部2は、欠陥画素から得られた画素データを、当該欠陥画素の周辺に位置する、欠陥が生じていない少なくとも一つの画素の画素データを用いて生成した画素データに置き換えることによって、当該欠陥画素の画素データを補正する。一方で、画素欠陥補正部2は、データ処理装置1に入力される画素データが、欠陥が生じていない画素から得られた画素データである場合には、当該画素データを補正せずに出力する。
【0019】
以後、欠陥画素から得られる画素データを「欠陥画素データ」と呼ぶことがある。また、補正後の欠陥画素データを「補正画素データ」と呼ぶことがある。また欠陥が生じていない画素から得られる画素データを「正常画素データ」と呼ぶことがある。
【0020】
本実施の形態では、画素欠陥補正部2は、複数種類の補正方法を用いて欠陥画素データを補正することができる。この複数種類の補正方法の間では、補正画素データを生成する際に使用される画素データの数、当該画素データに対応する画素の位置、当該画素データを使用した補正画素データの算出式などが互いに異なっている。画素欠陥補正部2は、欠陥画素についての欠陥画素データが入力されると、当該欠陥画素に対応する補正方法を用いて、当該欠陥画素データを補正する。欠陥画素データを補正する際にどの種類の補正方法を使用するかを特定する情報については、後述するように出力回路6から画素欠陥補正部2に入力される。
【0021】
記憶部3は、データ処理装置1の外部から入力される画素欠陥データ(画素欠陥情報)を記憶する。画素欠陥データには、欠陥画素の位置を示すアドレスデータと、当該欠陥画素の画素データを補正する際に使用する補正方法を特定するための補正方法特定データとが含まれている。本実施の形態では、撮像素子の各画素の位置が、水平方向(行方向)及び垂直方向(列方向)をそれぞれx軸方向及びy軸方向とし、ある隅に位置する画素の位置を原点(x座標値=0、y座標値=0)とするxy座標系で表される。画素欠陥データには、欠陥画素のx座標値がアドレスデータとして含まれている。以後、画素欠陥データに含まれるアドレスデータ(x座標値)を「x座標データ」と呼ぶことがある。また、画素欠陥データを「欠陥データ」と呼ぶことがある。
【0022】
データ処理装置1には、撮像素子に含まれる各欠陥画素についての欠陥データが入力される。欠陥データについてのデータ処理装置1への入力方法として様々な方法が考えられる。例えば、欠陥データがDRAM(Dynamic Random Access Memory)等の記憶装置に記憶されている場合には、当該記憶装置からDMA転送によってデータ処理装置1に入力される。欠陥データについてのデータ処理装置1への入力方法についてはこの限りではない。
【0023】
書き込み部4は、データ処理装置1の外部から入力される欠陥データを記憶部3に書き込む。バッファ選択部7は、記憶部3が備える後述の複数のバッファから、データの書き込み対象のバッファを決定したり、データの読み出し対象のバッファを決定したりする。
【0024】
判定回路5は、記憶部3から、欠陥データに含まれるアドレスデータ(x座標データ)を読み出して、当該アドレスデータを用いた所定の判定処理を行う。出力回路6は、判定回路5での判定処理の結果に基づいて、記憶部3内の補正方法特定データを画素欠陥補正部2に出力する。判定回路5及び出力回路6の働きにより、画素欠陥補正部2に欠陥画素データが入力されるタイミングに応じて、当該欠陥画素データの補正方法を示す補正方法特定データが画素欠陥補正部2に入力される。したがって、画素欠陥補正部2は、入力される欠陥画素データを、それに応じた補正方法で補正することが可能となる。
【0025】
<画素データの入力態様>
本実施の形態では、データ処理装置1に対して1ライン単位で画素データが入力される。さらに、撮像素子の各ラインが複数の部分領域に分割されて、当該複数の部分領域の画素データが並列的にデータ処理装置1に入力される。本実施の形態では、各ラインは2つの部分領域11A,11Bに分割される。
図2はその様子を示す図である。
【0026】
図2に示されるように、1つのライン10は、先頭の画素を含む部分領域11Aと、最後の画素を含む部分領域11Bとに分割されている。部分領域11Aと部分領域11Bとは部分的に重複している。部分領域11Aの先頭及び末尾のx座標値をそれぞれxAst及びxAendとし、部分領域11Bの先頭及び末尾のx座標値をそれぞれxBst及びxBendとすると、以下の式(1)〜(3)が成立する。なお、xAst=0である。
【0027】
xAst<xBst ・・・(1)
xAend>xBst ・・・(2)
xAend<xBend ・・・(3)
ここで、1ライン10の基準点のx座標値をxref(xBst<xref<xAend)とすると、xBst−xref=xref−xAend=L(Lは1以上の整数)となっている。つまり、部分領域11Aの末尾のx座標値は、ライン10の基準点のx座標値よりもLだけ後方に位置し、部分領域11Bの先頭のx座標値は、ライン10の基準点のx座標値よりもLだけ前方に位置している。以後、部分領域11Aにおける、xrefからxAendまでの部分を「拡張部分110A」と呼ぶ。また、部分領域11Bにおける、xBstからxrefまでの部分を「拡張部分110B」と呼ぶ。
【0028】
このように、本実施の形態では、部分領域11Aは拡張部分110Aを有していることから、部分領域11Aにおいて基準点よりも少し前方に存在する欠陥画素の画素データを、基準点よりも後方の画素の画素データ(拡張部分110Aの画素の画素データ)を用いて補正することができる。また、部分領域11Bにおいて基準点よりも少し後方に存在する欠陥画素の画素データを、基準点よりも前方の画素の画素データ(拡張部分110Bの画素の画素データ)を用いて補正することができる。
【0029】
拡張部分110A,110Bの長さを示すLは、画素欠陥補正部2が画素欠陥補正を行う際に、x軸方向において欠陥画素からどの程度離れた画素の画素データを使用するかによって決定される。例えば、画素欠陥補正部2がx軸方向において欠陥画素から3画素離れた画素の画素データを使用する場合には、L=3に設定される。
【0030】
データ処理装置1には、部分領域11Aを構成する複数の画素の画素データが、動作クロック信号に同期して、x座標値の小さいものから順に1つずつ入力される。また、データ処理装置1には、部分領域11Bを構成する複数の画素の画素データが、動作クロック信号に同期して、x座標値の小さいものから順に1つずつ入力される。そして、データ処理装置1には、部分領域11Aに属する1つの画素の画素データと、部分領域11Bに属する1つの画素の画素データとが並列的に入力される。
【0031】
具体的には、データ処理装置1には、動作クロック信号のある立ち上がりにおいて、部分領域11Aのある画素の画素データと、部分領域11Bのある画素の画素データとが並列的に入力され、動作クロック信号の次の立ち上がりにおいて、部分領域11Aの次の画素の画素データと、部分領域11Bの次の画素の画素データとが並列的に入力され、動作クロック信号のさらに次の立ち上がりにおいて、部分領域11Aのさらに次の画素の画素データと、部分領域11Bのさらに次の画素の画素データとが並列的に入力される。以後、同様にして、データ処理装置1には、部分領域11Aに属する1つの画素の画素データと、部分領域11Bに属する1つの画素の画素データとが並列的に入力される。
【0032】
このように、本実施の形態では、データ処理装置1には、部分領域11Aから得られる画素データと、部分領域11Bから得られる画素データとが並列的に入力される。画素欠陥補正部2は、部分領域11Aから得られる欠陥画素データに対する補正と、部分領域11Bから得られる欠陥画素データに対する補正とを並列的に行う。これにより、処理時間が短縮する。以後、部分領域11A,11Bを特に区別する必要がない場合には、それぞれを「部分領域11」と呼ぶ。
【0033】
<画素欠陥補正部の構成>
図3は画素欠陥補正部2の構成を示す図である。画素欠陥補正部2は、補正部20A,20Bと、調整部21A,21Bと、選択回路22A,22Bと、削除部23A,23Bとを備えている。補正部20A、調整部21A、選択回路22A及び削除部23Aは、部分領域11Aから得られる画素データを処理する回路である。補正部20B、調整部21B、選択回路22B、削除部23Bは、部分領域11Bから得られる画素データを処理する回路である。
【0034】
補正部20Aは、出力回路6から出力される後述の補正方法特定データ100Aが示す補正方法を用いて、部分領域11Aから得られる欠陥画素データの補正を行う。補正部20Bは、出力回路6から出力される後述の補正方法特定データ100Bが示す補正方法を用いて、部分領域11Bから得られる欠陥画素データの補正を行う。調整部21Aは、部分領域11Aから得られる画素データを所定時間だけ遅延させて出力する。調整部21Bは、部分領域11Bから得られる画素データを所定時間だけ遅延させて出力する。
【0035】
選択回路22Aは、調整部21Aの出力データと補正部20Aの出力データのどちらか一方を選択して出力する。具体的には、選択回路22Aは、データ処理装置1に部分領域11Aから得られた欠陥画素データが入力されるときには、補正部20Aから出力される、補正後の当該欠陥画素データを出力する。一方で、データ処理装置1に部分領域11Aから得られた正常画素データが入力されるときには、調整部21Aから出力される当該正常画素データを出力する。
【0036】
同様に、選択回路22Bは、データ処理装置1に部分領域11Bから得られた欠陥画素データが入力されるときには、補正部20Bから出力される、補正後の当該欠陥画素データを出力する。一方で、データ処理装置1に部分領域11Bから得られた正常画素データが入力されるときには、調整部21Bから出力される当該正常画素データを出力する。
【0037】
削除部23Aは、選択回路22Aから出力される、部分領域11Aを構成する複数の画素にそれぞれ対応する複数の画素データ(補正後の欠陥画素データも含む)のうち、拡張部分110Aに含まれる複数の画素の画素データを削除し、残りの複数の画素データを出力する。これにより、画素欠陥補正部2からは、1ラインの前半部分の画素データが出力される。
【0038】
削除部23Bは、選択回路22Bから出力される、部分領域11Bを構成する複数の画素にそれぞれ対応する複数の画素データ(補正後の欠陥画素データも含む)のうち、拡張部分110Bに含まれる複数の画素の画素データを削除し、残りの複数の画素データを出力する。これにより、画素欠陥補正部2からは、1ラインの後半部分の画素データが出力される。
【0039】
削除部23Aから、あるラインの前半部分の画素データが出力される際には、削除部23Bから、当該あるラインの後半部分の画素データが出力される。これにより、データ処理装置1からは、1ライン分の画素データが出力される。
【0040】
なお、画素欠陥補正部2には削除部23A,23Bが設けられなくても良い。この場合には、画素欠陥補正部2よりも後段において、拡張部分110Aに含まれる複数の画素の画素データと拡張部分110Bに含まれる複数の画素の画素データが削除される。以後、補正部20A,20Bを特に区別する必要がないときには、それぞれを「補正部20」と呼ぶ。
【0041】
<記憶部及び判定回路の構成>
<記憶部について>
図4は記憶部3及び判定回路5の構成を示す図である。
図4に示されるように、記憶部3は、複数のバッファ30α,30βで構成されている。バッファ30α,30βのそれぞれは例えば複数のフリップフロップで構成されている。なお、バッファ30α,30βはフリップフロック以外で構成されても良い。バッファ30α,30βのそれぞれには、データ処理装置1に入力される欠陥データが書き込み部4によって書き込まれる。またバッファ30α,30β内の欠陥データは判定回路5によって読み出される。バッファ30αに対して欠陥データが書き込まれる際には、バッファ30βから欠陥データが読み出される。また、バッファ30βに対して欠陥データが書き込まれる際には、バッファ30αから欠陥データが読み出される。以後、バッファ30α,30βを特に区別する必要がない場合には、それぞれを「バッファ30」と呼ぶ。
【0042】
各バッファ30は、例えばN個(Nは正の整数)の記憶領域を有している。例えばN=128である。バッファ30が有するN個の記憶領域には、0から(N−1)までのアドレスがそれぞれ付与されている。各バッファ30では、一つの記憶領域には、一つの欠陥画素に対応する欠陥データが記憶される。また各バッファ30に対して、1ライン分の欠陥データが書き込まれる。以後、バッファ30の各記憶領域のアドレスを「バッファアドレス」と呼ぶ。また単に「記憶領域」と言えば、バッファ30の記憶領域を意味する。
【0043】
<判定回路について>
判定回路5は、複数のカウンタ50A,50Bと、複数の判定部51A,51Bとを備えている。カウンタ50A及び判定部51Aは部分領域11Aに対応する回路であって、カウンタ50B及び判定部51Bは部分領域11Bに対応する回路である。
【0044】
カウンタ50A,50Bのそれぞれはアップカウンタである。カウンタ50A,50Bのそれぞれは、動作クロック信号に同期して、初期値から1つずつカウントアップを行い、カウント値(カウントデータ)を出力する。
【0045】
部分領域11Aに対応するカウンタ50Aは、部分領域11Aの先頭のx座標値xAst(=0)から、部分領域11Aの末尾のx座標値xAendまで1つずつカウントアップを行う。そして、カウンタ50Aは、部分領域11Aの末尾のx座標値xAendまでカウントすると、カウント値cntAがリセットされて、再度、部分領域11Aの先頭のx座標値xAstから末尾のx座標値xAendまで1つずつカウントアップを行う。
【0046】
同様に、部分領域11Bに対応するカウンタ50Bは、部分領域11Bの先頭のx座標値xBstから、部分領域11Bの末尾のx座標値xBendまで1つずつカウントアップを行う。そして、カウンタ50Bは、部分領域11Bの末尾のx座標値xBendまでカウントすると、カウント値cntBがリセットされて、再度、部分領域11Bの先頭のx座標値xBstから末尾のx座標値xBendまで1つずつカウントアップを行う。
【0047】
このように、カウンタ50Aからは、部分領域11Aを構成する複数の画素のx座標値が先頭から順に一つずつ出力される。したがって、カウンタ50Aのカウント値cntAは、部分領域11Aに属する画素のx座標値を示していると言える。カウンタ50Aは、部分領域11Aに属する画素の画素データがデータ処理装置1(画素欠陥補正部2)に対して入力されるタイミングに応じて、当該画素のx座標値を出力する。
【0048】
同様に、カウンタ50Bからは、部分領域11Bを構成する複数の画素のx座標値が先頭から順に一つずつ出力される。したがって、カウンタ50Bのカウント値cntBは、部分領域11Bに属する画素のx座標値を示していると言える。カウンタ50Bは、部分領域11Bに属する画素の画素データがデータ処理装置1に対して入力されるタイミングに応じて、当該画素のx座標値を出力する。
【0049】
本実施の形態では、カウンタ50Aが部分領域11Aの先頭のx座標値xAstをカウントするときには、カウンタ50Bが部分領域11Bの先頭のx座標値xBstをカウントする場合を例に挙げて説明するが、カウンタ50Aがx座標値xAstをカウントするときに、カウンタ50Bがx座標値xBst以外の値をカウントしても良い。以後、カウンタ50A,50Bを特に区別する必要がないときには、それぞれを「カウンタ50」と呼ぶ。
【0050】
判定部51Aは、カウンタ50Aから出力されるカウント値cntAと一致するx座標データがバッファ30内に存在するか否かを判定する。つまり、判定部51Aは、現在のカウント値cntAがバッファ30内の欠陥画素のx座標データと一致するか否かを判定する。判定部51Aは、カウント値cntAがバッファ30内の欠陥画素のx座標データと一致する場合にはヒット信号hitAを出力する。カウント値cntAは、データ処理装置1に入力される、部分領域11Aでの画素データに係る画素のx座標値を示していることから、判定部51Aは、データ処理装置1に入力される部分領域11Aでの画素データが欠陥画素データである場合にヒット信号hitAを出力すると言える。
【0051】
同様に、判定部51Bは現在のカウント値cntBがバッファ30内の欠陥画素のx座標データと一致するか否かを判定する。判定部51Bは、カウント値cntBがバッファ30内の欠陥画素のx座標データと一致する場合にはヒット信号hitBを出力する。つまり、判定部51Bは、データ処理装置1に入力される部分領域11Bでの画素データが欠陥画素データである場合にヒット信号hitBを出力する。
【0052】
判定部51Aは、比較部510Aと、読み出し部511Aと、選択回路512Aとを備えている。選択回路512Aは、バッファ選択部7から出力されるリード選択信号RSに基づいて、バッファ30α,30βのどちらか一方を選択する。リード選択信号RSは、バッファ30α,30βのどちらが現在読み出し対象となっているかを示す信号である。選択回路512Aは、バッファ30α,30βのうち、リード選択信号RSが示すバッファ30、つまり読み出し対象となっているバッファ30(以後、「読み出しバッファ30」と呼ぶ)を選択する。リード選択信号RSは、例えば“0”あるいは“1”を示す。リード選択信号RSが“0”を示すときには、読み出しバッファ30がバッファ30αであることを意味し、リード選択信号RSが“1”を示すときには、読み出しバッファ30がバッファ30βであることを意味する。
【0053】
読み出し部511Aは、バッファアドレスを示すリードポインタrpAを有している。読み出し部511Aは、選択回路512Aが選択する読み出しバッファ30における、リードポインタrpAが示すバッファアドレスを有する記憶領域に格納されている欠陥データに含まれるx座標データを当該記憶領域から読み出す。比較部510Aは、カウンタ50Aから出力されるカウント値と、読み出し部511Aから読み出されたx座標データとを比較し、両者が一致するとヒット信号hitAを出力する。ヒット信号hitAは、例えば、所定時間だけHighレベルとなる2値信号である。ヒット信号hitAは、現在のカウント値cntAが読み出しバッファ30内のx座標データと一致していることを示している。
【0054】
同様に、判定部51Bは、比較部510Bと、読み出し部511Bと、選択回路512Bとを備えている。選択回路512Bは、バッファ30α,30βのうち、リード選択信号が示すバッファ30、つまり読み出しバッファ30を選択する。読み出し部511Bは、バッファアドレスを示すリードポインタrpBを有している。読み出し部511Bは、選択回路512Bが選択する読み出しバッファ30における、リードポインタrpBが示すバッファアドレスを有する記憶領域に格納されている欠陥データに含まれるx座標データを当該記憶領域から読み出す。比較部510Bは、カウンタ50Bから出力されるカウント値と、読み出し部511Bから読み出されたx座標データとを比較し、両者が一致するとヒット信号hitBを出力する。ヒット信号hitBは、例えば、所定時間だけHighレベルとなる2値信号である。ヒット信号hitBは、現在のカウント値cntBが読み出しバッファ30内のx座標データと一致していることを示している。
【0055】
以後、判定部51A,51Bを特に区別する必要がないときには、それぞれを「判定部51」と呼ぶ。判定回路5の動作については後で詳細に説明する。
【0056】
<出力回路の構成>
図5は出力回路6の構成を示す図である。
図5に示されるように、出力回路6は、複数の出力部60Aα,60Bα,60Aβ,60Bβと、複数の選択回路62A,62Bとを備えている。出力部60Aα,60Bαはバッファ30αに対応し、出力部60Aβ,60Bβはバッファ30βに対応している。また、出力部60Aα,60Aβと選択回路62Aは部分領域11Aに対応し、出力部60Bα,60Bβと選択回路62Bは部分領域11Bに対応している。
【0057】
出力部60Aαは、選択回路600Aαと保持回路601Aαとを備えている。選択回路600Aαは、バッファ30αに含まれる複数の記憶領域から、判定部51AでのリードポインタrpAが示すバッファアドレスを有する記憶領域を選択する。そして、選択回路600Aαは、選択した記憶領域に格納されている欠陥データ(部分領域11Aの欠陥画素についての欠陥データ)に含まれる補正方法特定データを出力する。保持回路601Aαは、ヒット信号hitAが入力されると、選択回路600Aαから出力される補正方法特定データを保持して出力する。
【0058】
出力部60Bαは、選択回路600Bαと保持回路601Bαとを備えている。選択回路600Bαは、バッファ30αに含まれる複数の記憶領域から、判定部51BでのリードポインタrpBが示すバッファアドレスを有する記憶領域を選択する。そして、選択回路600Bαは、選択した記憶領域に格納されている欠陥データ(部分領域11Bの欠陥画素についての欠陥データ)に含まれる補正方法特定データを出力する。保持回路601Bαは、ヒット信号hitBが入力されると、選択回路600Bαから出力される補正方法特定データを保持して出力する。
【0059】
出力部60Aβは、選択回路600Aβと保持回路601Aβとを備えている。選択回路600Aβは、バッファ30βに含まれる複数の記憶領域から、リードポインタrpAが示すバッファアドレスを有する記憶領域を選択する。そして、選択回路600Aβは、選択した記憶領域に格納されている欠陥データに含まれる補正方法特定データを出力する。保持回路601Aβは、ヒット信号hitAが入力されると、選択回路600Aβから出力される補正方法特定データを保持して出力する。
【0060】
出力部60Bβは、選択回路600Bβと保持回路601Bβとを備えている。選択回路600Bβは、バッファ30βに含まれる複数の記憶領域から、リードポインタrpBが示すバッファアドレスを有する記憶領域を選択する。そして、選択回路600Bβは、選択した記憶領域に格納されている欠陥データに含まれる補正方法特定データを出力する。保持回路601Bβは、ヒット信号hitBが入力されると、選択回路600Bβから出力される補正方法特定データを保持して出力する。
【0061】
以後、出力部60Aα,60Aβを特に区別する必要がないときには、それぞれを「出力部60A」と呼ぶ。また、出力部60Bα,60Bβを特に区別する必要がないときには、それぞれを「出力部60B」と呼ぶ。
【0062】
選択回路62Aは、部分領域11Aに対応する出力部60Aα,60Aβのうち、リード選択信号RSが示す読み出しバッファ30に対応する出力部60Aを選択し、当該出力部60Aから出力される補正方法特定データを出力する。つまり、選択回路62Aは、リード選択信号RSが“0”を示すときには、バッファ30αに対応する出力部60Aαからの補正方法特定データを出力し、リード選択信号RSが“1”を示すときには、バッファ30βに対応する出力部60Aβからの補正方法特定データを出力する。部分領域11Aに対応する選択回路62Aからは、当該部分領域11Aから得られる欠陥画素データを補正する方法を示す補正方法特定データが出力される。選択回路62Aから出力される補正方法特定データを「補正方法特定データ100A」と呼ぶ。
【0063】
選択回路62Bは、部分領域11Bに対応する出力部60Bα,60Bβのうち、リード選択信号RSが示す読み出しバッファ30に対応する出力部60Bを選択し、当該出力部60Bから出力される補正方法特定データを出力する。つまり、選択回路62Bは、リード選択信号RSが“0”を示すときには、バッファ30αに対応する出力部60Bαからの補正方法特定データを出力し、リード選択信号RSが“1”を示すときには、バッファ30βに対応する出力部60Bβからの補正方法特定データを出力する。部分領域11Bに対応する選択回路62Bからは、当該部分領域11Bから得られる欠陥画素データを補正する方法を示す補正方法特定データが出力される。選択回路62Bから出力される補正方法特定データを「補正方法特定データ100B」と呼ぶ。
【0064】
なお、上記の例では、判定回路5が、リードポインタrpAが示すバッファアドレスを有する記憶領域からx座標データを取得し、出力回路6が、当該記憶領域から補正方法特定データを取得していたが、当該記憶領域から欠陥データが取得され、その欠陥データに含まれるx座標データ及び補正方法特定データが判定回路5及び出力回路6のそれぞれで使用されても良い。
【0065】
<書き込み部の動作>
図6は書き込み部4の動作を示すタイミングチャートである。
図6は、記憶部3が有するバッファ30α,30βのうち、現在書き込み対象となっているバッファ30(以後、「書き込みバッファ30」と呼ぶ)に対して書き込み部4が欠陥データを書き込む際の当該書き込み部4の動作が示されている。
【0066】
本実施の形態では、書き込み部4に対しては、欠陥データがラインごとに入力される。また書き込み部4に対しては、ラインごとの欠陥データが、それに対応するラインのy座標値が小さいものから順に入力される。さらに書き込み部4に対しては、ラインに含まれる複数の欠陥画素の欠陥データ(当該ラインに対応する複数の欠陥データ)が、それに含まれるx座標データ(欠陥画素のx座標値)が小さいものから順に動作クロック信号に同期して入力される。
【0067】
例えば、あるラインについて複数の欠陥データが、それに含まれるx座標データが小さいもの順から書き込み部4に入力されると、当該あるラインのy座標値よりも一つ大きいy座標値のラインについての複数の欠陥データが、それに含まれるx座標データが小さいもの順から書き込み部4に入力される。以後、説明の対象のラインを「対象ライン」と呼ぶ。
【0068】
図6には、対象ラインについての欠陥データが書き込みバッファ30に書き込まれる場合の書き込み部4の動作が示されている。
図6に示される「入力タイミング」は、対象ラインの欠陥データが書き込み部4に入力されるタイミングを示している。また
図6に示される「書き込みタイミング」は、書き込み部4が入力された欠陥データを書き込みバッファ30に書き込むタイミングを示している。
【0069】
また本実施の形態では、書き込みバッファ30に対しては、バッファアドレスが小さい記憶領域から順に(バッファアドレス0の記憶領域から順に)、対象ラインの複数の欠陥データが書き込み部4に入力される順で動作クロック信号に同期して書き込まれる。したがって、対象ラインの欠陥データのうち、K(Kは0以上の整数)番目に書き込み部4に入力される欠陥データが、書き込みバッファ30のバッファアドレスKの記憶領域に書き込まれる。
図6に示される[K]は、書き込みバッファ30のバッファアドレスKの記憶領域に書き込まれる欠陥データを示している。
【0070】
図6に示されるように、書き込み部4は、K番目の欠陥データが入力されると、その次の(K+1)番目の欠陥データが入力されるタイミングで(動作クロック信号の次の立ち上がりで)、K番目の欠陥データを、書き込みバッファ30のバッファアドレスKの記憶領域に書き込む。
【0071】
書き込み部4は、部分領域11Aに対応するライトポインタwpAと、部分領域11Bに対応するライトポインタwpBとを有している。書き込み部4は、対象ラインの最初の欠陥データが入力されるタイミングでライトポインタwpA,wpBの値を“0”に初期化する。
【0072】
また、書き込み部4は、対象ラインについての欠陥データが入力されると、当該欠陥データに含まれるx座標データと、部分領域11Bの先頭のx座標値xBst(
図2参照)とを比較し、x座標データがx座標値xBstよりも小さければ、当該欠陥データを書き込みバッファ30に書き込むタイミングで、言い換えれば次の欠陥データが入力されるタイミングで、ライトポインタwpBの値を1つ増加する。一方で、書き込み部4は、x座標データがx座標値xBst以上であると、ライトポインタwpBの現在の値を維持する。本実施の形態では、対象ラインの複数の欠陥データが、それに含まれるx座標データが小さいものから順に書き込み部4に入力されることから、欠陥データのx座標データがx座標値xBst以上になると、それ以降に入力される欠陥データのx座標データは必ずx座標値xBst以上となる。
図6の例では、p番目の欠陥データに含まれるx座標データがx座標値xBst以上となっており、ライトポインタwpBの値は“p”に維持されている。なお、ライトポインタwpAの値は常に“0”を維持する。
【0073】
書き込み部4が、対象ラインの最後の欠陥データを書き込みバッファ30に書き込み、対象ラインのすべての欠陥データの書き込みバッファ30への書き込みが完了すると、判定回路5は、その時点でのライトポインタwpA,wpBの値をそれぞれリードポインタrpA,rpBの初期値とする。
図6の例では、[z]で示される、z番目の欠陥データが、対象ラインの最後の欠陥データとなっており、リードポインタrpA,rpBの初期値はそれぞれ“0”及び“p”となる。
【0074】
書き込み部4は、あるライン(「第1のライン」と呼ぶ)の各欠陥データを一方のバッファ30に対して書き込むと、第1のラインの次のライン(「第2のライン」と呼ぶ)の欠陥データを他方のバッファ30に書き込む。書き込み部4が、他方のバッファ30に対して第2のラインの欠陥データを書き込んでいる際には、判定回路5が、一方のバッファ30から第1のラインの欠陥データを読み出す。書き込み部4が、第2のラインの各欠陥データを他方のバッファ30に対して書き込むと、第2のラインの次のライン(「第3のライン」と呼ぶ)の欠陥データを一方のバッファ30に書き込む。書き込み部4が、一方のバッファ30に対して第3のラインの欠陥データを書き込んでいる際には、判定回路5が、他方のバッファ30から第2のラインの欠陥データを読み出す。以後、書き込み部4及び判定回路5は同様に動作する。
【0075】
このように、本実施の形態では、一方のバッファ30に対して書き込まれた、あるラインの欠陥データが、その次のラインの欠陥データが他方のバッファ30に書き込まれている間に、当該一方のバッファ30から読み出される。そして、各バッファ30は、読み出し対象になることと書き込み対象になることとを交互に繰り返す。
【0076】
書き込み部4が以上のように動作することによって、リードポインタrpAの初期値は、部分領域11Aに含まれる欠陥画素のうちx座標値が最小の欠陥画素、つまり部分領域11Aでの先頭の欠陥画素の欠陥データが書き込まれた記憶領域のバッファアドレスを示すことになる。本実施の形態では、書き込み部4に対しては、ラインに含まれる複数の欠陥画素の欠陥データが、それに含まれるx座標データが小さいものから順に入力され、さらに書き込みバッファ30に対しては、バッファアドレスが小さい記憶領域から順に、ラインの複数の欠陥データが書き込み部4に入力される順で書き込まれる。つまり、書き込みバッファ30に対しては、バッファアドレスが小さい記憶領域から順に、ラインの複数の欠陥データがそれに含まれるx座標データが小さいもの順で書き込まれる。したがって、部分領域11Aの先頭の欠陥画素の欠陥データは、バッファアドレス0の記憶領域に書き込まれる。
図6の例では、リードポインタrpAの初期値は、“0”となっており、部分領域11Aの先頭の欠陥画素の欠陥データが書き込まれた記憶領域のバッファアドレスを示している。
【0077】
また、書き込み部4が以上のように動作することによって、リードポインタrpBの初期値は、部分領域11Bに含まれる欠陥画素のうちx座標値が最小の欠陥画素、つまり部分領域11Bでの先頭の欠陥画素の欠陥データが書き込まれた記憶領域のバッファアドレスを示すことになる。本実施の形態では、上述のように、書き込みバッファ30に対しては、バッファアドレスが小さい記憶領域から順に、ラインの複数の欠陥データがそれに含まれるx座標データが小さいもの順で書き込まれる。そして、書き込み部4は、部分領域11Bの先頭のx座標値xBst以上のx座標データを含む欠陥データが入力されるまで、つまり、部分領域11Bでの先頭の欠陥画素の欠陥データが入力されるまで、ライトポインタwpBを欠陥データが入力されるたびに1つ増加させ、部分領域11Bでの先頭の欠陥画素の欠陥データが入力された以降は、ライトポインタwpBの値を維持している。したがって、1ライン分の欠陥データのバッファ30への書き込みが完了した時点でのライトポインタwpBの値、つまりリードポインタrpBの初期値は、部分領域11Bの先頭の欠陥画素の欠陥データが書き込まれた記憶領域のバッファアドレスを示すようになる。
図6の例では、部分領域11Bでの先頭の欠陥画素の欠陥データは、p番目に入力される欠陥データであって、バッファアドレスpの記憶領域に書き込まれる。リードポインタrpBの初期値“p”は、部分領域11Bでの先頭の欠陥画素の欠陥データが書き込まれた記憶領域のバッファアドレスを示している。
【0078】
<判定回路及び出力回路の動作>
図7は判定回路5の動作を示すタイミングチャートである。
図7には、上述の
図6の例のように対象ラインの欠陥データが書き込まれたバッファ30が、読み出し対象となり、当該バッファ30から欠陥データが読み出される際の判定回路5の動作が示されている。
図7での「読み出しデータ(51A)」は、判定部51Aの読み出し部511Aによって読み出しバッファ30から読み出されるデータを示している。また
図7での「読み出しデータ(51B)」は、判定部51Bの読み出し部511Bによって読み出しバッファ30から読み出されるデータを示している。
【0079】
本実施の形態では、データ処理装置1に対して、ラインの先頭の画素の画素データが入力されるタイミングに応じて、ラインごとに水平同期信号が入力される。水平同期信号は所定期間だけLowレベルを示す2値信号である。データ処理装置1に対しては、各ラインについて、当該ラインを構成する複数の画素の画素データは水平同期信号に続いて入力される。判定回路5は、データ処理装置1への画素データの入力に同期して(動作クロック信号に同期して)、読み出しバッファ30から欠陥データを読み出す。
【0080】
図7に示されるように、データ処理装置1に水平同期信号が入力されると、当該水平同期信号の立ち上がりでカウンタ50A,50Bのカウント値が初期化される。具体的には、カウント値cntAは“0”に初期化され、カウント値cntBは“xBst”に初期化される。
【0081】
カウンタ50A,50Bは、カウント値cntA,cntBを初期化すると、所定タイミングごとに(動作クロック信号の立ち上がりごとに)カウント値cntA,cntBを1つずつカウントアップする。このとき、カウンタ50Aは、部分領域11Aに属する画素の画素データがデータ処理装置1に対して入力されるタイミングに応じてカウント値cntAをカウントアップする。これにより、カウンタ50Aは、部分領域11Aに属する画素の画素データがデータ処理装置1に対して入力されるタイミングに応じて、当該画素のx座標値を出力する。一方で、カウンタ50Bは、部分領域11Bに属する画素の画素データがデータ処理装置1に対して入力されるタイミングに応じてカウント値cntBをカウントアップする。これにより、カウンタ50Bは、部分領域11Bに属する画素の画素データがデータ処理装置1に対して入力されるタイミングに応じて、当該画素のx座標値を出力する。
【0082】
データ処理装置1に水平同期信号が入力されると、判定部51Aでは、読み出し部511Aが、リードポインタrpAの初期値が示すバッファアドレス(0)を有する、読み出しバッファ30の記憶領域に格納されている欠陥データに含まれるx座標データを当該記憶領域から読み出す。つまり、読み出し部511Aは、部分領域11Aでの先頭の欠陥画素のx座標値を記憶領域から読み出す。
図7でのrd[K]は、バッファアドレスKの記憶領域から読み出されたx座標データを示している。比較部510Aは、カウンタ50Aのカウント値cntAの初期値“0”と、読み出し部511Aが読み出したx座標データとを比較する。比較部510Aは、両者が一致する場合にはヒット信号hitAを出力する。比較部510Aからヒット信号hitAが出力されると、読み出し部511Aは、当該ヒット信号hitAの立ち下がりでリードポインタrpAの値を1つ増加させる。
【0083】
その後、カウンタ50Aのカウント値cntAが1つ増加すると、判定部51Aでは、読み出し部511Aが、リードポインタrpAの現在の値が示すバッファアドレスを有する記憶領域に格納されている欠陥データに含まれるx座標データを当該記憶領域から読み出す。比較部510Aは、カウント値cntAと、読み出し部511Aが読み出したx座標データとを比較する。比較部510Aは、両者が一致する場合にはヒット信号hitAを出力する。比較部510Aからヒット信号hitAが出力されると、読み出し部511Aは、当該ヒット信号hitAの立ち下がりでリードポインタrpAの値を1つ増加させる。以後、判定部51Aは、カウント値cntAが1つ増加するたびに同様に動作する。
【0084】
図7の例では、カウント値cntAが“x0”のときに、バッファアドレスkの記憶領域から読み出されたx座標データ(rd[k])とカウント値cntAとが一致してヒット信号hitAが出力されている。そして、当該ヒット信号hitAの立ち上がりでリードポインタrpAの値が1つ増加して“k+1”となっている。判定部51Aは、カウント値cntAが“x0+1”となると、バッファアドレス(k+1)の記憶領域から読み出されたx座標データ(rd[k+1])と“x0+1”とを比較する。
【0085】
判定部51Bは判定部51Aと同様に動作する。データ処理装置1に水平同期信号が入力されると、判定部51Bでは、読み出し部511Bが、リードポインタrpBの初期値(p)が示すバッファアドレスを有する記憶領域からx座標データを読み出す。つまり、読み出し部511Bは、部分領域11Bでの先頭の欠陥画素のx座標値を記憶領域から読み出す。比較部510Bは、カウント値cntBの初期値“xBst”と、読み出し部511Bが読み出したx座標データとを比較する。比較部510Bは、両者が一致する場合にはヒット信号hitBを出力する。比較部510Bからヒット信号hitBが出力されると、読み出し部511Bは、当該ヒット信号hitBの立ち下がりでリードポインタrpBの値を1つ増加させる。
【0086】
その後、カウンタ50Bのカウント値cntBが1つ増加すると、判定部51Bでは、読み出し部511Bが、リードポインタrpBの現在の値が示すバッファアドレスを有する記憶領域からx座標データを読み出す。比較部510Bは、カウント値cntBと、読み出し部511Bが読み出したx座標データとを比較する。比較部510Aは、両者が一致する場合にはヒット信号hitBを出力する。比較部510Bからヒット信号hitBが出力されると、読み出し部511Bは、当該ヒット信号hitBの立ち下がりでリードポインタrpBの値を1つ増加させる。以後、判定部51Bは、カウント値cntBが1つ増加するたびに同様に動作する。
【0087】
図7の例では、カウント値cntBが“x1”のときに、バッファアドレスpの記憶領域から読み出されたx座標データ(rd[p])とカウント値cntBとが一致してヒット信号hitBが出力されている。そして、当該ヒット信号hitBの立ち上がりでリードポインタrpBの値が1つ増加して“p+1”となっている。判定部51Bは、カウント値cntBが“x1+1”となると、バッファアドレス(p+1)の記憶領域から読み出されたx座標データ(rd[p+1])と“x1+1”とを比較する。
【0088】
比較部510Aからヒット信号hitAが出力されると、出力回路6では、読み出しバッファ30に接続された出力部60Aが、リードポインタrpAが示すバッファアドレスの記憶領域が記憶する欠陥データに含まれる補正方法特定データを出力する。つまり、出力部60Aは、カウント値cntAと一致すると判定されたx座標データと同じ記憶領域に記憶されている補正方法特定データ、言い換えれば、当該x座標データに関連する補正方法特定データを出力する。この補正方法特定データは選択回路62Aから補正方法特定データ100Aとして補正部20Aに入力される。
【0089】
ここで、ヒット信号hitAは、カウント値cntAと、リードポインタrpAが示すバッファアドレスを有する記憶領域内のx座標データとが一致する場合、つまり、カウント値cntAが、部分領域11Aの欠陥画素のx座標値を示す場合に出力される。そして、カウント値cntAは、画素データがデータ処理装置1に入力されるタイミングに応じて、当該画素データに対応する画素のx座標値を示す。したがって、ヒット信号hitAは、部分領域11Aの欠陥画素の画素データがデータ処理装置1に入力されるタイミングに応じて出力されることになる。そして、ヒット信号hitAが出力されると、リードポインタrpAが示すバッファアドレスの記憶領域内の補正方法特定データ、つまりカウント値cntAと一致するx座標値を有する欠陥画素の画素データの補正方法を示す補正方法特定データが出力されることから、部分領域11Aの欠陥画素の画素データが補正部20Aに入力されるタイミングに応じて、当該画素データの補正方法を示す補正方法特定データ100Aが補正部20Aに入力される。したがって、補正部20Aには、部分領域11Aの欠陥画素データが入力されるとともに、当該欠陥画素データの補正方法を示す補正方法特定データ100Aが入力される。よって、補正部20Aは、入力される部分領域11Aの欠陥画素データを、それに対応する補正方法で適切に補正することができる。
【0090】
同様にして、比較部510Bからヒット信号hitBが出力されると、出力回路6では、読み出しバッファ30に接続された出力部60Bが、リードポインタrpBが示すバッファアドレスの記憶領域が記憶する欠陥データに含まれる補正方法特定データを出力する。この補正方法特定データは選択回路62Bから画素欠陥補正部2に入力される。出力回路6からは、部分領域11Bの欠陥画素の画素データがデータ処理装置1に入力されるタイミングに応じて、当該画素データの補正方法を示す補正方法特定データが出力される。したがって、画素欠陥補正部2には、部分領域11Bの欠陥画素データが入力されるとともに、当該欠陥画素データの補正方法を示す補正方法特定データが入力される。よって、画素欠陥補正部2は、入力される部分領域11Bの欠陥画素データを、それに対応する補正方法で適切に補正することができる。
図7の例では、カウント値cntBが“x1”を示すときにヒット信号hitBが出力されていることから、画素欠陥補正部2には、部分領域11Bに属する、x座標値が“x1”である欠陥画素の画素データが入力されるとともに、当該画素データの補正方法を示す補正方法特定データ100B(リードポインタrpBが示すバッファアドレスpの記憶領域内の補正方法特定データ)が入力される。
【0091】
このように、本実施の形態では、入力されるデータがバッファ30内のデータと一致するか否かを判定する判定部51に対して、ラインの部分領域11を構成する複数の画素についてのx座標値(カウント値)が昇順でカウンタ50から入力される。つまり、判定部51に対して、画素に関連する複数の入力データ(x座標値)が所定の規則(昇順)に基づく順序で入力される。また、バッファ30は、部分領域11を構成する複数の画素についてのx座標値のうち、当該複数の画素に含まれる少なくとも一つの欠陥画素のx座標値(x座標データ)を記憶している。つまり、バッファ30は、判定部51に入力される複数の入力データの少なくとも一部と一致する複数のデータを記憶している。そして、判定部51は、バッファ30からx座標値を昇順で読み出している。つまり、判定部51は、入力データが入力される際の規則と同じ規則に基づく順序でバッファ30からデータを読み出している。判定部51は、バッファ30から読み出したx座標データ(x座標値)と、カウンタ50から入力されるカウント値(x座標値)とを比較し、両者が一致しないときには、当該x座標データと、カウンタ50から次に入力されるカウント値(x座標値)とを比較する。一方で、判定部51は、両者が一致するときには、バッファ30から読み出した次のx座標データ(
図7の例では、バッファアドレス(k+1)あるいはバッファアドレス(p+1)の記憶領域内のx座標データ)と、カウンタ50から次に入力されるカウント値(
図7の例では、“x0+1”あるいは“x1+1”)とを比較する。
【0092】
ここで、判定部51は、本実施の形態とは異なり、カウンタ50から入力されるカウント値と、バッファ30内のすべてのx座標データとを比較することによって、当該カウント値がバッファ30内のx座標データと一致するか否かを判定することができる。しかしながら、この場合には、判定部51は、カウンタ50からカウント値が入力されるたびに(カウンタ50のカウント値が変化するたびに)、当該カウント値とバッファ30内のすべてのx座標データとを比較する必要があり、処理時間の増大あるいは回路構成の複雑化を招くことになる。特に、1ライン分の画素数が多い場合には、この問題は顕著になる。
【0093】
これに対して、本実施の形態では、判定部51にカウンタ50からデータが順に入力される際の規則(上記の例では昇順)と同じ規則に基づく順序でバッファ30からx座標データが読み出されることから、判定部51は、カウンタ50からのカウント値と、バッファ30から読み出された一つのx座標データとを比較するだけで、当該カウント値がバッファ30内のx座標データと一致するか否か、つまり、当該カウント値と一致するx座標データがバッファ30内に存在するか否かを判定することができる。本実施の形態では、カウント値が、バッファ30から読み出された一つのx座標データと一致しないときには、当該カウント値がバッファ30内のx座標データと一致しないことになり、カウント値が、バッファ30から読み出された一つのx座標データと一致するときには、当該カウント値がバッファ30内のx座標データと一致することになる。つまり、カウント値が、バッファ30から読み出された一つのx座標データと一致しないときには、当該カウント値と一致するx座標データがバッファ30内に存在しないことになり、カウント値が、バッファ30から読み出された一つのx座標データと一致するときには、当該カウント値と一致するx座標データがバッファ30内に存在することになる。よって、判定部51は、カウント値とバッファ30内のすべてのx座標データとを比較することなく、当該カウント値がバッファ30内のx座標データと一致するか否かを簡単に判定することができる。よって、処理時間の減少あるいは回路構成の簡素化が可能となる。
【0094】
また本実施の形態では、上述のように、書き込みバッファ30に対しては、バッファアドレスが小さい記憶領域から順に、ラインの複数の欠陥データがそれに含まれるx座標データが小さいもの順で書き込まれる。そして、判定部51Aは、バッファ30に記憶されている、部分領域11Aに含まれる複数の欠陥画素のx座標データを昇順で読み出している。したがって、バッファ30における、部分領域11Aに含まれる複数の欠陥画素のx座標データをそれぞれ記憶する複数の記憶領域のバッファアドレスを昇順に見ていった際には、当該複数の欠陥画素のx座標データは、判定部51Aによって読み出される順に並んでいる。
【0095】
図8は、バッファ30に記憶されている、部分領域11Aに含まれる複数の欠画素のx座標データの一例を示す図である。
図8の例では、バッファ30における、バッファアドレス0からバッファドレスsの複数の記憶領域300Mに、部分領域11Aに含まれる複数の欠陥画素のx座標データがそれぞれ記憶されている。当該複数の記憶領域300Mのバッファアドレスを昇順に見ていった際には、当該複数の記憶領域300Mがそれぞれ記憶する複数のx座標データは昇順、つまり判定部51Aによって読み出される順に並んでいる。
【0096】
このように、本実施の形態では、バッファ30における、部分領域11Aに含まれる複数の欠陥画素のx座標データをそれぞれ記憶する複数の記憶領域のバッファアドレスを昇順に見ていった際には、当該複数の欠陥画素のx座標データは、判定部51Aによって読み出される順に並んでいるため、判定部51Aは、読み出し対象の記憶領域のバッファアドレスを示すリードポインタrpAを次の値に増加させるだけで(上記の例では+1するだけで)バッファ30から次のx座標データを読み出すことができる。よって、リードポインタrpAの制御が簡単となる。
【0097】
同様に、バッファ30における、部分領域11Bに含まれる複数の欠陥画素のx座標データをそれぞれ記憶する複数の記憶領域のバッファアドレスを昇順に見ていった際には、当該複数の欠陥画素のx座標データは、判定部51Bによって読み出される順に並んでいる。よって、判定部51Bは、リードポインタrpBを次の値に増加させるだけでバッファ30から次のx座標データを読み出すことができる。よって、リードポインタrpBの制御が簡単となる。
【0098】
また本実施の形態では、判定部51Aと判定部51Bには、カウンタ50Aのカウント値cntAとカウンタ50Bのカウント値cntBとが並列的に入力されることから、判定部51Aと判定部51Bは並列的に動作することができる。よって、処理時間を短くすることができる。
【0099】
また本実施の形態では、出力部60Aと出力部60Bが並列的に動作することから、処理時間を短くすることができる。
【0100】
また本実施の形態では、判定部51に入力される入力データがカウンタ50によって生成されているため、カウンタ50の初期値を調整することによって、あるいはカウンタ50のカウント開始タイミングを調整することによって、出力回路6から補正方法特定データを補正部20に入力するタイミングを簡単に調整することができる。
【0101】
ここで、補正部20においては、そこで使用される補正方法によっては、欠陥画素データが入力されてから数クロック経過した後に、当該欠陥画素データの方法を示す補正方法特定データが必要となることがある。このような場合に、補正部20に対して、欠陥画素データが入力されるタイミングと同じタイミングで、当該欠陥画素データの補正方法を示す補正方法特定データが出力回路6から出力される場合には、補正部20において、当該補正方法特定データをしばらく保持する回路を設ける必要がある。
【0102】
本実施の形態では、カウンタ50の初期値を調整することによって、あるいはカウンタ50のカウント開始タイミングを調整することによって、出力回路6から補正方法特定データを補正部20に入力するタイミングを簡単に調整することができることから、補正部20において、補正方法特定データをしばらく保持する回路を設ける場合と比較して、回路構成を簡素化することができる。上述の
図7の例において、例えばカウンタ50Aのカウント値cntAの初期値を“−2”に設定すると、カウンタ50Aが2つカウントする時間(2クロック分)だけ、補正方法特定データ100Aを補正部20Aに入力するタイミングを遅らせることができる。また、カウンタ50Aを、水平同期信号の代わりに、当該水平同期信号よりも後に発生する信号でリセットすることによって、補正方法特定データ100Aを補正部20Aに入力するタイミングを遅らせることができる。
【0103】
なお、上記の例では、水平同期信号の立ち上がりで各カウンタ50のカウント値が初期化されていたが、各カウンタ50のカウント値は他のタイミングで初期化されても良い。また、カウンタ50A,50Bのカウント値cntA,cntBは互いに異なるタイミングで初期化されても良い。
【0104】
また、バッファ30のレイテンシが大きく、バッファ30の記憶領域からすぐにデータを読み出すことができない場合には、リードポイントrpA,rpBが現在示すバッファアドレスを有する記憶領域からデータを読み出すだけではなく、リードポインタrpA,rpBがそれよりも後に示すバッファアドレスを有する少なくとも一つの記憶域からもデータを事前に読み出しておくことが望ましい。これにより、リードポインタrpA,rpBが現在示すバッファアドレスを有する記憶領域からのx座標データとカウンタ50のカウント値とが一致した場合に、次のカウント値と、リードポインタrpA,rpBが次に示すバッファアドレスを有する記憶領域からのx座標データとをすぐに比較することが可能となる。
【0105】
<各種変形例>
<第1変形例>
上述のように、判定部51は、バッファ30から読み出したx座標データとカウンタ50のカウント値とが一致するときには、バッファ30から読み出した次のx座標データとカウンタ50からの次のカウント値とを比較する。バッファ30から読み出した次のx座標データを参照すれば、カウンタ50があとどの程度カウントすれば、カウンタ50のカウント値と、当該次のx座標データとが一致するかを特定することができる。
【0106】
例えば、バッファ30から読み出されたx座標データ及びカウンタ50Aのカウント値cntAがともに“100”であって、両者が一致するとき、バッファ30から読み出された次のx座標データが“200”であるとする。この場合には、カウンタ50Aがあと“100”カウントすると、カウンタ50Aのカウント値cntAと、当該次のx座標データである“200”とが一致する。つまり、この場合には、バッファ30から読み出したx座標データとカウンタ50Aのカウント値cntAとが一致してから、カウンタ50Aがあと“100”カウントするまでは、補正部20Aには、部分領域11Aの欠陥画素データの補正で使用される新たな補正方法特定データが入力されず、補正部20Aでは画素欠陥補正が行われない。補正部20Aにおいて、画素欠陥補正が行われないときには、消費電力を低減するために、補正部20Aの動作を停止することができる。
【0107】
そこで、本変形例では、判定部51がバッファ30から読み出したx座標値データとカウンタ50のカウント値とが一致する場合に当該バッファ30から次のx座標値データを読み出したときに、当該次のx座標値データに基づいて、当該カウンタ50が対応する部分領域11の欠陥画素データを補正する補正部20の動作を停止するか否かを決定する。
図9は本変形例に係るデータ処理装置1の一部の構成を示す図である。本変形例に係るデータ処理装置1は、
図1及び3に示される実施の形態に係るデータ処理装置1において、画素欠陥補正部2の動作を制御する動作制御部8がさらに設けられたものである。動作制御部8は、補正部20A,20Bの動作をそれぞれ制御する制御部80A,80Bを備えている。制御部80A,80Bを特に区別する必要がないときには、それぞれを「制御部80」と呼ぶ。
【0108】
制御部80Aは、判定部51Aが読み出しバッファ30から読み出したx座標データとカウンタ50Aのカウント値cntAとが一致する場合に読み出しバッファ30から次のx座標データを読み出したときに、当該次のx座標データに基づいて補正部20Aの動作を停止するか否かを決定する。
【0109】
具体的には、制御部80Aは、判定部51Aが、読み出しバッファ30から読み出したx座標データとカウンタ50Aの現在のカウント値cntAとが一致する場合に読み出しバッファ30から次のx座標データを読み出すと、当該次のx座標データから現在のカウント値cntAを差し引いて、それらの間の差分値を求める。そして、制御部80Aは、求めた差分値がしきい値よりも大きい場合には、つまり、当該次のx座標データとカウント値cntAとが一致するまである程度時間があるときには、補正部20Aの動作を停止することを決定して、補正部20Aの動作を停止する。このとき、制御部80Aは、補正部20Aの動作を再開する再開タイミングを、当該次のx座標データに基づいて決定する。制御部80Aは、例えば、カウント値cntAが当該次のx座標データと一致するタイミングよりも数クロック前を再開タイミングとする。制御部80Aは、再開タイミングになると、補正部20Aの動作を再開する。
【0110】
一方で、制御部80Aは、求めた差分値がしきい値以下の場合には、つまり、当該次のx座標データとカウント値cntAとが一致するまであまり時間がないときには、補正部20Aの動作の停止を行わない。
【0111】
同様に、制御部80Bは、判定部51Bが読み出しバッファ30から読み出したx座標データとカウンタ50Bのカウント値cntBとが一致する場合に読み出しバッファ30から次のx座標データを読み出したときに、当該次のx座標データに基づいて補正部20Bの動作を停止するか否かを決定する。
【0112】
補正部20の動作の停止は、例えば、補正部20への動作クロック信号の供給を停止することによって行われる。補正部20の動作の停止は、補正部20への動作クロック信号の供給を停止する方法以外の方法で行っても良い。
【0113】
このように、本変形例では、制御部80は、判定部51がバッファ30から読み出したx座標データとカウンタ50のカウント値とが一致する場合に当該バッファ30から次のx座標データを読み出したときに、当該次のx座標データに基づいて、当該カウンタ50が対応する部分領域11の欠陥画素データを補正する補正部20の動作を停止するか否かを決定するため、当該補正部20での処理に影響を与えることなく消費電力を低減することができる。
【0114】
<第2変形例>
上記の例では、
図2に示されるように、各ライン10を2つの部分領域11A,11Bに分割していたが、各ライン10を3つ以上の部分領域に分割しても良い。この場合には、当該3つ以上の部分領域についての欠陥画素データに対する補正処理が並列的に実行される。以下に、一例として、各ライン10が3つの部分領域に分割される場合のデータ処理装置1の構成及び動作について説明する。
【0115】
図10は各ライン10が3つの部分領域11A,11B,11Cに分割されている様子を示す図である。本変形例に係る部分領域11A,11Bの大きさは、
図2に示される部分領域11A,11Bの大きさとは異なっている。
【0116】
図10に示されるように、1つのライン10は、先頭の画素を含む部分領域11Aと、先頭の画素と最後の画素との間の画素を含む部分領域11Bと、最後の画素を含む部分領域11Cとに分割されている。部分領域11Aと部分領域11Bとは部分的に重複している。また部分領域11Bと部分領域11Cとは部分的に重複している。部分領域11Aの先頭及び末尾のx座標値をそれぞれxAst及びxAendとし、部分領域11Bの先頭及び末尾のx座標値をそれぞれxBst及びxBendとし、部分領域11Cの先頭及び末尾のx座標値をそれぞれxCst及びxCendとすると、以下の式(4)〜(9)が成立する。なお、xAst=0である。
【0117】
xAst<xBst ・・・(4)
xAend>xBst ・・・(5)
xAend<xBend ・・・(6)
xBst<xCst ・・・(7)
xBend>xCst ・・・(8)
xBend<xCend ・・・(9)
ここで、1ライン10における第1基準点のx座標値をxref1(xBst<xref1<xAend)とし、1ライン10における第2基準点のx座標値をxref2(xCst<xref2<xBend)とすると、xBst−xref1=xref1−xAend、xCst−xref2=xref2−xBendとなっている。以後、部分領域11Aにおける、xref1からxAendまでの部分を「拡張部分110A」と呼ぶ。部分領域11Bにおける、xBstからxref1までの部分を「前方拡張部分110B1」と呼ぶ。部分領域11Bにおける、xref2からxBendまでの部分を「後方拡張部分110B2」と呼ぶ。部分領域11Cにおける、xCstからxref2までの部分を「拡張部分110C」と呼ぶ。
【0118】
このように、本変形例は、部分領域11Aは拡張部分110Aを有していることから、部分領域11Aにおいて第1基準点よりも少し前方に存在する欠陥画素の画素データを、拡張部分110Aの画素の画素データを用いて補正することができる。また、部分領域11Bにおいて第1基準点よりも少し後方に存在する欠陥画素の画素データを、前方拡張部分110B1の画素の画素データを用いて補正することができる。また、部分領域11Bにおいて第2基準点よりも少し前方に存在する欠陥画素の画素データを、後方拡張部分110B2の画素の画素データを用いて補正することができる。そして、部分領域11Cにおいて第2基準点よりも少し後方に存在する欠陥画素の画素データを、拡張部分110Cの画素の画素データを用いて補正することができる。
【0119】
本変形例に係るデータ処理装置1には、部分領域11Aを構成する複数の画素の画素データが、x座標値の小さいものから順に1つずつ入力される。また、データ処理装置1には、部分領域11Bを構成する複数の画素の画素データが、x座標値の小さいものから順に1つずつ入力される。また、データ処理装置1には、部分領域11Cを構成する複数の画素の画素データが、x座標値の小さいものから順に1つずつ入力される。そして、データ処理装置1には、部分領域11Aに属する1つの画素の画素データと、部分領域11Bに属する1つの画素の画素データと、部分領域11Cに属する1つの画素の画素データとが並列的に入力される。
【0120】
具体的には、データ処理装置1には、動作クロック信号のある立ち上がりにおいて、部分領域11Aのある画素の画素データと、部分領域11Bのある画素の画素データと、部分領域11Cのある画素の画素データとが並列的に入力され、動作クロック信号の次の立ち上がりにおいて、部分領域11Aの次の画素の画素データと、部分領域11Bの次の画素の画素データと、部分領域11Cの次の画素の画素データとが並列的に入力される。以後、同様にして、データ処理装置1には、部分領域11Aに属する1つの画素の画素データと、部分領域11Bに属する1つの画素の画素データと、部分領域11Cに属する1つの画素の画素データとが並列的に入力される。
【0121】
このように、本変形例では、データ処理装置1には、部分領域11Aから得られる画素データと、部分領域11Bから得られる画素データと、部分領域11Cから得られる画素データとが並列的に入力される。本変形例では、画素欠陥補正部2は、部分領域11Aから得られる欠陥画素データに対する補正と、部分領域11Bから得られる欠陥画素データに対する補正と、部分領域11Cから得られる欠陥画素データに対する補正とを並列的に行う。これにより、処理時間がさらに短縮する。以後、部分領域11A,11B,11Cを特に区別する必要がない場合には、それぞれを「部分領域11」と呼ぶ。
【0122】
<本変形例に係る画素欠陥補正部の構成>
図11は本変形例に係る画素欠陥補正部2の構成を示す図である。本変形例に係る画素欠陥補正部2は、
図3に示される画素欠陥補正部2において、部分領域11Cの画素データを処理する回路をさらに設けたものである。具体的には、画素欠陥補正部2には、補正部20C、調整部21C、選択回路22C及び削除部23Cがさらに設けられている。
【0123】
補正部20Cは、出力回路6から出力される後述の補正方法特定データ100Cが示す補正方法を用いて、部分領域11Cから得られる欠陥画素データの補正を行う。調整部21Cは、部分領域11Cから得られる画素データを所定時間だけ遅延させて出力する。選択回路22Cは、データ処理装置1に部分領域11Cから得られた欠陥画素データが入力されるときには、補正部20Cから出力される、補正後の当該欠陥画素データを出力する。一方で、選択回路22Cは、データ処理装置1に部分領域11Cから得られた正常画素データが入力されるときには、調整部21Cから出力される当該正常画素データを出力する。
【0124】
削除部23Cは、選択回路22Cから出力される、部分領域11Cを構成する複数の画素にそれぞれ対応する複数の画素データ(補正後の欠陥画素データも含む)のうち、拡張部分110Cに含まれる複数の画素の画素データを削除し、残りの複数の画素データを出力する。これにより、削除部23Cからは、1ラインの第2基準点xref2よりも後方の画素データが出力される。また本変形例に係る削除部23Bは、上記の削除部23Bとは異なり、選択回路22Bから出力される、部分領域11Bを構成する複数の画素にそれぞれ対応する複数の画素データ(補正後の欠陥画素データも含む)のうち、前方拡張部分110B1と後方拡張部分110B2に含まれる複数の画素の画素データを削除し、残りの複数の画素データを出力する。これにより、削除部23Bからは、1ラインの第1基準点xref1から第2基準点xref2までの画素データが出力される。なお、削除部23Aからは、1ラインの第1基準点xref1よりも前方の画素データが出力される。
【0125】
削除部23Aから、あるラインの第1基準点xref1よりも前方の画素データが出力される際には、削除部23Bから、当該あるラインの第1基準点xref1から第2基準点xref2までの画素データが出力され、削除部23Cから、当該あるラインの第2基準点xref2よりも後方の画素データが出力される。これにより、データ処理装置1からは、1ライン分の画素データが出力される。
【0126】
なお、画素欠陥補正部2には削除部23A,23B,23Cが設けられなくても良い。この場合には、画素欠陥補正部2よりも後段において、拡張部分110Aに含まれる複数の画素の画素データと、前方拡張部分110B1に含まれる複数の画素の画素データと、後方拡張部分110B2に含まれる複数の画素の画素データと、拡張部分110Cに含まれる複数の画素の画素データとが削除される。以後、補正部20A,20B,20Cを特に区別する必要がないときには、それぞれを「補正部20」と呼ぶ。
【0127】
<本変形例に係る判定回路の構成>
図12は本変形例に係る判定回路5の構成を示す図である。本変形例に係る判定回路5は、
図4に示される判定回路5において、部分領域11Cに対応するカウンタ50C及び判定部51Cをさらに設けたものである。
【0128】
カウンタ50Cは、アップカウンタであって、動作クロック信号に同期して、初期値から1つずつカウントアップを行い、カウント値cntCを出力する。カウンタ50Cは、部分領域11Cの先頭のx座標値xCstから、部分領域11Cの末尾のx座標値xCendまで1つずつカウントアップを行う。そして、カウンタ50Cは、部分領域11Cの末尾のx座標値xCendまでカウントすると、カウント値cntCがリセットされて、再度、部分領域11Cの先頭のx座標値xCstから末尾のx座標値xCendまで1つずつカウントアップを行う。カウンタ50Cは、部分領域11Cに属する画素の画素データがデータ処理装置1に対して入力されるタイミングに応じて、当該画素のx座標値を出力する。以後、カウンタ50A,50B,50Cを特に区別する必要がないときには、それぞれを「カウンタ50」と呼ぶ。
【0129】
判定部51Aは、現在のカウント値cntCがバッファ30内のx座標データと一致するか否かを判定する。判定部51Cは、カウント値cntCがバッファ30内のx座標データと一致する場合にはヒット信号hitCを出力する。カウント値cntCは、データ処理装置1に入力される、部分領域11Cでの画素データに係る画素のx座標値を示していることから、判定部51Cは、データ処理装置1に入力される部分領域11Cでの画素データが欠陥画素データである場合にヒット信号hitCを出力すると言える。
【0130】
判定部51Cは、上記の判定部51B,51Cと同様の構成を有している。判定部51Cは、バッファ選択部7から出力されるリード選択信号RSに基づいて、バッファ30α,30βのうちの読み出しバッファ30を選択する。
【0131】
判定部51Cは、バッファアドレスを示すリードポインタrpCを有している。判定部51Cは、選択した読み出しバッファ30における、リードポインタrpCが示すバッファアドレスを有する記憶領域に格納されている欠陥データに含まれるx座標データを当該記憶領域から読み出す。そして、判定部51Cは、カウンタ50Cから出力されるカウント値cntCと、読み出しバッファ30から読み出したx座標データとを比較し、両者が一致するとヒット信号hitCを出力する。ヒット信号hitCは、例えば、所定時間だけHighレベルとなる2値信号である。ヒット信号hitCは、現在のカウント値cntCが読み出しバッファ30内のx座標データと一致していることを示している。以後、判定部51A,51B,51Cを特に区別する必要がないときには、それぞれを「判定部51」と呼ぶ。
【0132】
<本変形例に係る出力回路の構成について>
図13は本変形例に係る出力回路6の構成を示す図である。
図13に示されるように、本変形例に係る出力回路6は、
図5に示される出力回路6において、部分領域11Cに対応する出力部60Cα,60Cβ及び選択回路62Cをさらに設けたものである。
【0133】
出力部60Cα,60Cβは、上記の出力部60Aα等と同様の構成を有している。出力部60Cαは、バッファ30αに含まれる複数の記憶領域から、判定部51CでのリードポインタrpCが示すバッファアドレスを有する記憶領域を選択する。そして、出力部60Cαは、ヒット信号hitCが入力されると、選択した記憶領域に格納されている欠陥データ(部分領域11Cの欠陥画素についての欠陥データ)に含まれる補正方法特定データを出力する。出力部60Cβは、バッファ30βに含まれる複数の記憶領域から、リードポインタrpCが示すバッファアドレスを有する記憶領域を選択する。そして、出力部60Cβは、ヒット信号hitCが入力されると、選択した記憶領域に格納されている欠陥データに含まれる補正方法特定データを出力する。以後、出力部60Cα,60Cβを特に区別する必要がないときには、それぞれを「出力部60C」と呼ぶ。
【0134】
選択回路62Cは、部分領域11Cに対応する出力部60Cα,60Cβのうち、リード選択信号RSが示す読み出しバッファ30に対応する出力部60Cを選択し、当該出力部60Cから出力される補正方法特定データを出力する。つまり、選択回路62Cは、リード選択信号RSが“0”を示すときには、バッファ30αに対応する出力部60Cαからの補正方法特定データを出力し、リード選択信号RSが“1”を示すときには、バッファ30βに対応する出力部60Cβからの補正方法特定データを出力する。部分領域11Cに対応する選択回路62Cからは、当該部分領域11Cから得られる欠陥画素データを補正する方法を示す補正方法特定データが出力される。選択回路62Cから出力される補正方法特定データを「補正方法特定データ100C」と呼ぶ。
【0135】
<本変形例に係る書き込み部の動作>
図14は本変形例に係る書き込み部4の動作を示すタイミングチャートである。
図14には、対象ラインについての欠陥データが書き込みバッファ30に書き込まれる場合の書き込み部4の動作が示されている。以下では、
図14に示される動作について上述の
図6と相違する点だけを説明する。
【0136】
書き込み部4は、ライトポインタwpA,wpBだけではなく、部分領域11Cに対応するライトポインタwpCを有している。書き込み部4は、対象ラインの最初の欠陥データが入力されるタイミングでライトポインタwpCの値を“0”に初期化する。
【0137】
書き込み部4は、対象ラインについての欠陥データが入力されると、当該欠陥データに含まれるx座標データと、部分領域11Cの先頭のx座標値xCstとを比較し、x座標データがx座標値xCstよりも小さければ、当該欠陥データを書き込みバッファ30に書き込むタイミングで、ライトポインタwpCの値を1つ増加する。一方で、書き込み部4は、x座標データがx座標値xCst以上であると、ライトポインタwpCの現在の値を維持する。対象ラインの複数の欠陥データが、それに含まれるx座標データが小さいものから順に書き込み部4に入力されることから、欠陥データのx座標データがx座標値xCst以上になると、それ以降に入力される欠陥データのx座標データは必ずx座標値xCst以上となる。
図14の例では、q番目の欠陥データに含まれるx座標データがx座標値xCst以上となっており、ライトポインタwpCの値は“q”に維持されている。
【0138】
書き込み部4が、対象ラインの最後の欠陥データを書き込みバッファ30に書き込み、対象ラインのすべての欠陥データの書き込みバッファ30への書き込みが完了すると、判定回路5は、その時点でのライトポインタwpCの値をリードポインタrpCの初期値とする。
図14の例では、[z]で示される、z番目の欠陥データが、対象ラインの最後の欠陥データとなっており、リードポインタrpCの初期値は“q”となる。リードポインタrpCの初期値は、部分領域11Cに含まれる欠陥画素のうちx座標値が最小の欠陥画素、つまり部分領域11Cでの先頭の欠陥画素の欠陥データが書き込まれた記憶領域のバッファアドレスを示す。
【0139】
<本変形例に係る判定回路及び出力回路の動作について>
図15は本変形例に係る判定回路5の動作を示すタイミングチャートである。
図15には、上述の
図14の例のように対象ラインの欠陥データが書き込まれたバッファ30が読み出し対象となり、当該バッファ30から欠陥データが読み出される際の判定回路5の動作が示されている。
図15での「読み出しデータ(51C)」は、判定部51Cによって読み出しバッファ30から読み出されるデータを示している。以下では、
図15に示される動作について
図7との相違点だけを説明する。
【0140】
データ処理装置1に水平同期信号が入力されると、当該水平同期信号の立ち上がりで、カウンタ50Cは、カウント値cntCを“xCst”に初期化する。カウンタ50Cは、カウント値cntCを初期化すると、所定タイミングごとに(動作クロック信号の立ち上がりごとに)カウント値cntCを1つずつカウントアップする。このとき、カウンタ50Cは、部分領域11Cに属する画素の画素データがデータ処理装置1に対して入力されるタイミングに応じてカウント値cntCをカウントアップする。これにより、カウンタ50Cは、部分領域11Cに属する画素の画素データがデータ処理装置1に対して入力されるタイミングに応じて、当該画素のx座標値を出力する。
【0141】
データ処理装置1に水平同期信号が入力されると、判定部51Cは、リードポインタrpCの初期値が示すバッファアドレス(q)を有する、読み出しバッファ30の記憶領域からx座標データを読み出す。つまり、判定部51Cは、部分領域11Cでの先頭の欠陥画素のx座標値を記憶領域から読み出す。そして、判定部51Cは、カウンタ50Cのカウント値cntAの初期値“xCst”と、読み出したx座標データとを比較する。判定部51Cは、両者が一致する場合にはヒット信号hitCを出力する。判定部51Cは、ヒット信号hitCを出力すると、当該ヒット信号hitCの立ち下がりでリードポインタrpCの値を1つ増加させる。
【0142】
その後、カウンタ50Cのカウント値cntCが1つ増加すると、判定部51Cは、リードポインタrpCの現在の値が示すバッファアドレスを有する記憶領域からx座標データを読み出す。そして、判定部51Cは、カウンタ50Cのカウント値cntCと、読み出し部511Aが読み出したx座標データとを比較する。判定部51Cは、両者が一致する場合にはヒット信号hitCを出力する。判定部51Cは、ヒット信号hitCを出力すると、当該ヒット信号hitCの立ち下がりでリードポインタrpCの値を1つ増加させる。以後、判定部51Cは、カウンタ50Cのカウント値cntCが1つ増加するたびに同様に動作する。
【0143】
図15の例では、カウント値cntCが“x2”のときに、バッファアドレスvの記憶領域から読み出されたx座標データ(rd[v])とカウント値cntCとが一致してヒット信号hitCが出力されている。そして、当該ヒット信号hitCの立ち上がりでリードポインタrpCの値が1つ増加して“v+1”となっている。判定部51Cは、カウント値cntCが“x2+1”となると、バッファアドレス(v+1)の記憶領域から読み出したx座標データ(rd[v+1])と“x2+1”とを比較する。
【0144】
判定部51Cからヒット信号hitCが出力されると、出力回路6では、読み出しバッファ30に接続された出力部60Cが、リードポインタrpCが示すバッファアドレスの記憶領域が記憶する欠陥データに含まれる補正方法特定データを出力する。つまり、出力部60Cは、カウント値cntCと一致すると判定されたx座標データと同じ記憶領域に記憶されている補正方法特定データを出力する。この補正方法特定データは選択回路62Cから補正方法特定データ100Cとして補正部20Cに入力される。
【0145】
補正部20Cには、部分領域11Cの欠陥画素データが入力されるとともに、当該欠陥画素データの補正方法を示す補正方法特定データ100Cが入力される。したがって、補正部20Cは、入力される部分領域11Cの欠陥画素データを、それに対応する補正方法で適切に補正することができる。
【0146】
このように、本変形例に係るデータ処理装置1では、1ラインが3つの部分領域11A〜11Cに分割され、部分領域11Aから得られる欠陥画素データに対する補正と、部分領域11Bから得られる欠陥画素データに対する補正と、部分領域11Cから得られる欠陥画素データに対する補正とが並列的に行われるため、実施の形態に係るデータ処理装置1と比較して処理時間がさらに短縮する。
【0147】
なお、本変形例では、
図7の例と同様に、水平同期信号の立ち上がりで各カウンタ50のカウント値が初期化されていたが、各カウンタ50のカウント値は他のタイミングで初期化されても良い。また、カウンタ50A,50B,50Cのカウント値cntA,cntB,cntCは互いに異なるタイミングで初期化されても良い。
【0148】
<第3変形例>
図16は本変形例に係るデータ処理装置1の一部の構成を示す図である。
図16には、本変形例に係るデータ処理装置1が備える判定回路5及び記憶部3が示されている。以下では、本変形例に係るデータ処理装置1について、上記の実施の形態に係るデータ処理装置1と相違する点を中心に説明する。
【0149】
<本変形例に係る記憶部の構成>
図16に示されるように、本変形例では、記憶部3は、バッファ30α,30βに加えてバッファ30γを備えている。バッファ30α,30βと同様に、バッファ30βには欠陥データが書き込み部4によって書き込まれ、バッファ30βに書き込まれた欠陥データは判定回路5によって読み出される。バッファ30βは、例えばN個の記憶領域を有している。このN個の記憶領域には、0から(N−1)までのバッファアドレスがそれぞれ付与されている。バッファ30γでは、一つの記憶領域には、一つの欠陥画素に対応する欠陥データが記憶される。またバッファ30γに対して、1ライン分の欠陥データが書き込まれる。以後、バッファ30α,30β,30γを特に区別する必要がない場合には、それぞれを「バッファ30」と呼ぶ。
【0150】
本変形例では、バッファ選択部7は、3つのバッファ30のうち、1つのバッファ30を書き込みバッファとし、2つのバッファ30を読み出しバッファとする。バッファ選択部7は、バッファ30αを書き込みバッファとする場合には、バッファ30β,30γを読み出しバッファとし、バッファ30βを書き込みバッファとする場合にはバッファ30α,30γを読み出しバッファとし、バッファ30γを書き込みバッファとする場合にはバッファ30α,30βが読み出しバッファとする。
【0151】
また、バッファ30α,30β,30γに含まれる2つの読み出しバッファ30については、一方の読み出しバッファ30には、あるラインについての欠陥データが記憶され、他方の読み出しバッファ30には、当該あるラインの次のラインについての欠陥データが記憶されている。
【0152】
図17は撮像素子の各ラインについての欠陥データが各バッファ30に対してどのように書き込まれるかを説明するための図である。図中の「α」、「β」及び「γ」は、バッファ30α、バッファ30β及びバッファ30γをそれぞれ意味している。図中の「ライン位置(補正対象画素データ)」は、データ処理装置1に入力される、画素欠陥補正の対象のラインのy座標値を示している。図中の「ライン位置(欠陥データ)」は、データ処理装置1に入力される欠陥データに対応するラインのy座標値を示している。
【0153】
本変形例では、y座標値“0”のライン、つまり先頭のラインについての欠陥データは、当該先頭のラインの画素データがデータ処理装置1に入力されるタイミングよりも2ライン分前のタイミングで、データ処理装置1に入力される。つまり、先頭のラインについての欠陥データは、当該先頭のラインに対応する水平同期信号よりも2ライン分前の水平同期信号の後にデータ処理装置1に入力される。
【0154】
図17に示されるように、y座標値“0”のライン(先頭のライン)の欠陥データがデータ処理装置1に入力されると、書き込み部4は、当該欠陥データをバッファαに書き込む。次に、y座標値“1”のラインの欠陥データがデータ処理装置1に入力されると、書き込み部4は、当該欠陥データをバッファβに書き込む。次に、y座標値“2”のラインの欠陥データがデータ処理装置1に入力されると、書き込み部4は、当該欠陥データをバッファγに書き込む。以後、書き込み部4は同様に動作して、欠陥データを書き込む対象を、ライン単位で、バッファ30α、バッファ30β、バッファ30γと順番に変えていく。
【0155】
y座標値“2”のラインの欠陥データがデータ処理装置1に入力される際には、y座標値“0”のライン(先頭のライン)の画素データがデータ処理装置1に入力され、y座標値“0”のラインの画素データが画素欠陥補正部2において画素欠陥補正の対象とされる。このとき、バッファ30αには、y座標値“0”のライン、つまり画素欠陥補正の対象のライン(以後、単に「補正ライン」と呼ぶことがある)の欠陥データが記憶されている。書き込み部4が、y座標値“2”のラインの欠陥データをバッファ30γに書き込んでいる際には、判定回路5は、バッファ30αから、補正ラインであるy座標値“0”のラインの欠陥データを読み出す。さらに判定回路5は、バッファ30βから、補正ラインの次のライン(以後、単に「次ライン」と呼ぶことがある)であるy座標値“1”のラインの欠陥データを読み出す。
【0156】
書き込み部4が、y座標値“3”のラインの欠陥データをバッファ30αに書き込んでいる際には、判定回路5は、バッファ30βから、補正ラインであるy座標値“1”のラインの欠陥データを読み出し、バッファ30γから、次ラインであるy座標値“2”のラインの欠陥データを読み出す。
【0157】
また、書き込み部4が、y座標値“4”のラインの欠陥データをバッファ30βに書き込んでいる際には、判定回路5は、バッファ30γから、補正ラインであるy座標値“2”のラインの欠陥データを読み出し、バッファ30αから、次ラインであるy座標値“3”のラインの欠陥データを読み出す。
【0158】
このように、本変形例に係るデータ処理装置1では、対象ラインについての画素欠陥補正が行われる際には、2つの読み出しバッファ30のうち、一方の読み出しバッファ30からは、対象ラインの欠陥データが読み出され、他方の読み出しバッファ30からは、対象ラインの次のラインの欠陥データが読み出される。
【0159】
<本変形例での画素データの入力態様>
本変形例では、
図18に示されるように、部分領域11Aが、0、2等の偶数のx座標値を有する複数の画素から成る偶数グループ11Aevと、1、3等の奇数のx座標値を有する複数の画素から成る奇数グループ11Aodとの2つに分けられる。同様に、部分領域11Bが、偶数のx座標値を有する複数の画素から成る偶数グループ11Bevと、1、3等の奇数のx座標値を有する複数の画素から成る奇数グループ11Bodとの2つに分けられる。
図18では、説明の便宜上、部分領域11Aを示す四角形に、当該部分領域11Aの画素のx座標値を示している。また、部分領域11Bを示す四角形に、当該部分領域11Bの画素のx座標値を示している。
図18の例では、部分領域11Bの先頭のx座標値xBstが偶数となっているが、奇数であっても良い。
【0160】
データ処理装置1には、偶数グループ11Aevを構成する複数の画素の画素データが、動作クロック信号に同期して、x座標値の小さいものから順に1つずつ入力され、奇数グループ11Aodを構成する複数の画素の画素データが、動作クロック信号に同期して、x座標値の小さいものから順に1つずつ入力される。データ処理装置1には、偶数グループ11Aevにおける、あるx座標値を有する画素の画素データと、奇数グループ11Aodにおける、当該あるx座標値の次のx座標値を有する画素の画素データとが対を成して入力される。
【0161】
また、データ処理装置1には、偶数グループ11Bevを構成する複数の画素の画素データが、動作クロック信号に同期して、x座標値の小さいものから順に1つずつ入力され、奇数グループ11Bodを構成する複数の画素の画素データが、動作クロック信号に同期して、x座標値の小さいものから順に1つずつ入力される。データ処理装置1には、偶数グループ11Bevにおける、あるx座標値を有する画素の画素データと、奇数グループ11Bodにおける、当該あるx座標値の次のx座標値を有する画素の画素データとが対を成して入力される。
【0162】
そして、データ処理装置1には、偶数グループ11Aevに属する1つの画素の画素データと、奇数グループ11Aodに属する1つの画素の画素データと、偶数グループ11Bevに属する1つの画素の画素データと、奇数グループ11Bodに属する1つの画素の画素データとが並列的に入力される。
【0163】
具体的には、データ処理装置1には、動作クロック信号のある立ち上がりにおいて、偶数グループ11Aevのある画素の画素データと、当該画素データと対を成す、奇数グループ11Aodから得られる画素データと、偶数グループ11Bevのある画素の画素データと、当該画素データと対を成す、奇数グループ11Bodから得られる画素データとが並列的に入力される。そして、動作クロック信号の次の立ち上がりにおいて、偶数グループ11Aevの次の画素の画素データと、当該画素データと対を成す、奇数グループ11Aodから得られる画素データと、偶数グループ11Bevの次の画素の画素データと、当該画素データと対を成す、奇数グループ11Bodから得られる画素データとが並列的に入力される。
【0164】
このように、本変形例では、データ処理装置1に対して、部分領域11Aの偶数グループ11Aev及び奇数グループ11Aodから得られる画素データと、部分領域11Bの偶数グループ11Bev及び奇数グループ11Bodから得られる画素データとが並列的に入力される。そして、画素欠陥補正部2は、偶数グループ11Aevから得られる欠陥画素データに対する補正と、奇数グループ11Aodから得られる欠陥画素データに対する補正と、偶数グループ11Bevから得られる欠陥画素データに対する補正と、奇数グループ11Bodから得られる欠陥画素データに対する補正とを並列的に行う。これにより、処理時間がさらに短縮する。
【0165】
また本変形例では、データ処理装置1に対して、補正ラインの画素データと、次ラインの画素データとが並列的に入力される。したがって、データ処理装置1には、補正ラインの部分領域11Aの偶数グループ11Aev及び奇数グループ11Aodから得られる画素データと、補正ラインの部分領域11Bの偶数グループ11Bev及び奇数グループ11Bodから得られる画素データと、次ラインの部分領域11Aの偶数グループ11Aev及び奇数グループ11Aodから得られる画素データと、次ラインの部分領域11Bの偶数グループ11Bev及び奇数グループ11Bodから得られる画素データとが並列的に入力される。
【0166】
<本変形例に係る判定回路の構成>
図16に示されるように、本変形例に係る判定回路5は、偶数奇数カウンタ150A,150Bと、補正ライン用判定回路161と、次ライン用判定回路162とを備えている。補正ライン用判定回路161は、補正ライン用判定部161A,161Bを備えている。次ライン用判定回路162は、次ライン用判定部162A,162Bを備えている。偶数奇数カウンタ150A、補正ライン用判定部161A及び次ライン用判定部162Aは、部分領域11Aの欠陥データを処理する回路であって、偶数奇数カウンタ150B、補正ライン用判定部161B及び次ライン用判定部162Bは、部分領域11Bの欠陥データを処理する回路である。
【0167】
偶数奇数カウンタ150Aは、偶数を示すカウント値cntAev(偶数カウント値cntAev)と奇数を示すカウント値cntAod(奇数カウント値cntAod)とを並列的に出力する。補正ライン用判定部161Aは、バッファ30α,30β,30γのうち、現在の補正ラインの欠陥データを記憶するバッファ30から、補正ラインの部分領域11Aのx座標データを読み出して、当該x座標データと、偶数奇数カウンタ150Aから出力される偶数カウント値cntAev及び奇数カウント値cntAodとを比較する。次ライン用判定部162Aは、バッファ30α,30β,30γのうち、現在の補正ラインの次のラインである次ラインの欠陥データを記憶するバッファ30から、次ラインの部分領域11Aのx座標データを読み出して、当該x座標データと偶数カウント値cntAev及び奇数カウント値cntAodとを比較する。
【0168】
偶数奇数カウンタ150Bは、偶数奇数カウンタ150Aと同様に、偶数カウント値cntBevと奇数カウント値cntBodとを並列的に出力する。補正ライン用判定部161Bは、バッファ30α,30β,30γのうち、現在の補正ラインの部分領域11Bの欠陥データを記憶するバッファ30から、補正ラインの部分領域11Bのx座標データを読み出して、当該x座標データと、偶数奇数カウンタ150Bから出力される偶数カウント値cntBev及び奇数カウント値cntBodとを比較する。次ライン用判定部162Bは、バッファ30α,30β,30γのうち、現在の補正ラインの次のラインである次ラインの欠陥データを記憶するバッファ30から、次ラインの部分領域11Bのx座標データを読み出して、当該x座標データと偶数カウント値cntBev及び奇数カウント値cntBodとを比較する。
【0169】
図19は偶数奇数カウンタ150Aと補正ライン用判定部161Aの構成を示す図である。偶数奇数カウンタ150A,150Bは同じ構成を有しているため、代表的に偶数奇数カウンタ150Aの構成を詳細に説明する。また、補正ライン用判定部161A,161B及び次ライン用判定部162A,162Bは同じ構成を有しているため、代表的に補正ライン用判定部161Aの構成を詳細に説明する。
【0170】
図19に示されるように、偶数奇数カウンタ150Aは、カウンタ151と、偶数生成部152と、奇数生成部153とを備えている。カウンタ151と偶数生成部152とで、偶数カウント値cntAevを生成する偶数カウンタが構成され、カウンタ151と奇数生成部153とで、奇数カウント値cntAodを生成する奇数カウンタが構成される。
【0171】
カウンタ151は、上記のカウンタ50と同様に、アップカウンタであって、動作クロック信号に同期して、初期値から1つずつカウントアップを行い、カウント値cntAを出力する。部分領域11Aに対応するカウンタ151は“0”から1つずつカウントアップを行う。
【0172】
偶数生成部152は、カウンタ151からのカウント値cntAを2倍し、2倍のカウント値cntAを偶数カウント値cntAevとして出力する。偶数生成部152が出力する偶数カウント値cntAevは“0”から順に偶数の値を示す。奇数生成部153は、カウンタ151からのカウント値cntAを2倍して得られる値に“1”を加算し、それによって得られた値を奇数カウント値cntAodとして出力する。奇数生成部153が出力する奇数カウント値cntAodは“1”から順に奇数の値を示す。偶数生成部152から偶数カウント値cntAev“0”が出力されるときには、奇数生成部153から奇数カウント値cntAod“1”が出力される。また、偶数生成部152から偶数カウント値cntAev“2”が出力されるときには、奇数生成部153から奇数カウント値cntAod“3”が出力される。
【0173】
上記の説明から理解できるように、偶数奇数カウンタ150Aからは、補正ラインあるいは次ラインの部分領域11Aの偶数グループ11Aevを構成する複数の画素のx座標値が先頭から順に一つずつ出力される。したがって、カウンタ150Aの偶数カウント値cntAevは、補正ラインあるいは次ラインの部分領域11Aの偶数グループ11Aevに属する画素のx座標値を示していると言える。同様に、カウンタ150Aの奇数カウント値cntAodは、補正ラインあるいは次ラインの部分領域11Aの奇数グループ11Aodに属する画素のx座標値を示していると言える。
【0174】
偶数奇数カウンタ150Aは、補正ライン及び次ラインの部分領域11Aの偶数グループ11Aevに属する画素の画素データが並列的にデータ処理装置1に入力されるタイミングに応じて、当該画素のx座標値を出力する。また、偶数奇数カウンタ150Aは、補正ライン及び次ラインの部分領域11Aの奇数グループ11Aodに属する画素の画素データが並列的にデータ処理装置1に入力されるタイミングに応じて、当該画素のx座標値を出力する。
【0175】
補正ライン用判定部161Aは、偶数奇数カウンタ150Aから出力される偶数カウント値cntAevが、補正ラインの欠陥データを記憶するバッファ30内のx座標データと一致するか否かを判定する。また補正ライン用判定部161Aは、偶数奇数カウンタ150Aから出力される奇数カウント値cntAodが、補正ラインの欠陥データを記憶するバッファ30内のx座標データと一致するか否かを判定する。
【0176】
補正ライン用判定部161Aは、偶数カウント値cntAevがバッファ30内のx座標データと一致する場合には偶数ヒット信号hitAev1を出力する。また、補正ライン用判定部161Aは、奇数カウント値cntAodがバッファ30内のx座標データと一致する場合には奇数ヒット信号hitAod1を出力する。偶数カウント値cntAevは、データ処理装置1に入力される、補正ラインの部分領域11Aの偶数グループ11Aevでの画素データに係る画素のx座標値を示していることから、補正ライン用判定部161Aは、データ処理装置1に入力される、補正ラインの部分領域11Aの偶数グループ11Aevでの画素データが欠陥画素データである場合に偶数ヒット信号hitAev1を出力すると言える。同様に、補正ライン用判定部161Aは、データ処理装置1に入力される、補正ラインの部分領域11Aの奇数グループ11Aodでの画素データが欠陥画素データである場合に奇数ヒット信号hitAod1を出力する。
【0177】
また、補正ライン用判定部161Aは、偶数奇数カウンタ150Aが同じタイミングで出力する偶数カウント値cntAev及び奇数カウント値cntAodの両方が、補正ラインの欠陥データを記憶するバッファ30内の2つのx座標データとそれぞれ一致する場合には、偶数奇数ヒット信号hitAeo1を出力する。つまり、補正ライン用判定部161Aは、データ処理装置1に対して同じタイミングで入力される、補正ラインの部分領域11Aの偶数グループ11Aev及び奇数グループ11Aodでの画素データが、ともに欠陥画素データである場合には、偶数奇数ヒット信号hitAeo1を出力する。
【0178】
図19に示されるように、補正ライン用判定部161Aは、読み出し部171と、選択回路172と、偶数比較部173と、第1奇数比較部174と、第2奇数比較部175と、信号生成部176とを備えている。
【0179】
選択回路172は、バッファ選択部7から出力される補正ライン用リード選択信号RS1に基づいて、バッファ30α,30β,30γのいずれか一つを選択する。補正ライン用リード選択信号RS1は、バッファ30α,30β,30γのうち、どのバッファ30が補正ラインの欠陥データを記憶しているかを示す信号である。選択回路172は、バッファ30α,30β,30γのうち、補正ライン用リード選択信号RS1が示すバッファ30、つまり、補正ラインの欠陥データを記憶するバッファ30(以後、「補正ライン用読み出しバッファ30」と呼ぶ)を選択する。補正ライン用リード選択信号RS1は、例えば、“0”、“1”及び“2”のいずれか一つを示す。補正ライン用リード選択信号RS1が“0”を示すときには、補正ライン用読み出しバッファ30がバッファ30αであることを意味し、“1”を示すときにはバッファ30βであることを意味し、“2”を示すときにはバッファ30γであることを意味する。
【0180】
読み出し部171は、バッファアドレスを示すリードポインタrpA1を有している。読み出し部171は、選択回路172が選択する補正ライン用読み出しバッファ30における、リードポインタrpA1が示すバッファアドレスを有する記憶領域に格納されている補正ラインの欠陥データに含まれるx座標データを当該記憶領域から読み出す。さらに、読み出し部171は、リードポインタrpA1が示すバッファアドレスよりも1つ大きいバッファアドレスを有する記憶領域に格納されている補正ラインの欠陥データに含まれるx座標データを当該記憶領域から読み出す。以後、リードポインタrpA1を「補正ライン用リードポインタrpA1」と呼ぶことがある。
【0181】
偶数比較部173は、偶数奇数カウンタ150Aから出力される偶数カウント値cntAevと、リードポインタrpA1が示すバッファアドレスを有する記憶領域から読み出されたx座標データとを比較し、両者が一致すると偶数ヒット信号hitAev1を出力する。偶数ヒット信号Aev1は、現在の偶数カウント値cntAevが補正ライン用読み出しバッファ30内のx座標データと一致していることを示している。
【0182】
第1奇数比較部174は、偶数奇数カウンタ150Aから出力される奇数カウント値cntAodと、リードポインタrpA1が示すバッファアドレスを有する記憶領域から読み出し部171によって読み出されたx座標データとを比較し、両者が一致すると奇数ヒット信号hitAod1を出力する。奇数ヒット信号Aod1は、現在の奇数カウント値cntAodが補正ライン用読み出しバッファ30内のx座標データと一致していることを示している。
【0183】
第2奇数比較部175は、偶数奇数カウンタ150Aから出力される奇数カウント値cntAodと、リードポインタrpA1が示すバッファアドレスよりも1つ大きいバッファアドレスを有する記憶領域から読み出し部171によって読み出されたx座標データとを比較し、両者が一致すると奇数ヒット信号hit0を出力する。信号生成部176は、偶数比較部173から偶数ヒット信号hitAev1が出力され、かつ第2奇数比較部175から奇数ヒット信号hit0が出力されると、偶数奇数ヒット信号hitAeo1を出力する。偶数奇数ヒット信号hitAeo1は、現在の偶数カウント値cntAev及び奇数カウント値cntAodの両方が補正ライン用読み出しバッファ30内のx座標データと一致していることを示している。
【0184】
偶数ヒット信号hitAev1、奇数ヒット信号hitAod1、奇数ヒット信号hit0及び偶数奇数ヒット信号hitAeo1のそれぞれは、例えば、所定時間だけHighレベルとなる2値信号である。
【0185】
なお、偶数奇数ヒット信号hitAeo1が生成されるときには、偶数ヒット信号hitAev1は生成されるものの、奇数ヒット信号hitAod1は生成されない。つまり、現在の偶数カウント値cntAev及び奇数カウント値cntAodの両方が、補正ライン用読み出しバッファ30内のx座標データと一致する場合には、偶数ヒット信号hitAev1及び偶数奇数ヒット信号hitAeo1が生成され、奇数ヒット信号hitAod1は生成されない。
【0186】
このように、補正ライン用判定部161Aは、補正ラインの部分領域11Aについての欠陥データを記憶するバッファ30における、リードポインタrpA1が示すバッファアドレスの記憶領域からx座標データを読み出す。つまり、補正ライン用判定部161Aは、補正ライン用リードポインタrpA1が示すバッファアドレスの記憶領域から、補正ラインの部分領域11Aでの欠陥画素のx座標データ(x座標値)を読み出す。さらに、補正ライン用判定部161Aは、補正ラインの部分領域11Aについての欠陥データを記憶するバッファ30における、リードポインタrpA1が示す値よりも1つ大きいバッファアドレスの記憶領域からx座標データを読み出す。そして、補正ライン用判定部161Aは、リードポインタrpA1が示すバッファアドレスの記憶領域から読み出したx座標データと、補正ラインの部分領域11Aの偶数グループ11Aevのx座標値を示す偶数カウント値cntAevとが一致する場合には、偶数ヒット信号hitAev1を出力する。また、補正ライン用判定部161Aは、リードポインタrpA1が示すバッファアドレスの記憶領域から読み出したx座標データと、補正ラインの部分領域11Aの奇数グループ11Aodのx座標値を示す奇数カウント値cntAodとが一致する場合には、奇数ヒット信号hitAod1を出力する。そして、補正ライン用判定部161Aは、リードポインタrpA1が示すバッファアドレスの記憶領域から読み出したx座標データと偶数カウント値cntAevとが一致、かつリードポインタrpA1が示す値よりも1つ大きいバッファアドレスの記憶領域から読み出したx座標データと奇数カウント値cntAodとが一致する場合には、偶数奇数ヒット信号hitAeo1を出力する。
【0187】
部分領域11Bに対応する偶数奇数カウンタ150Bは、偶数奇数カウンタ150Aと同様の構成を有している。偶数奇数カウンタ150Bから出力される偶数カウント値cntBevは、補正ラインあるいは次ラインの部分領域11Bの偶数グループ11Bevに属する画素のx座標値を示している。偶数カウント値cntBevが、偶数グループ11Bevの先頭の画素のx座標値から2つずつカウントアップすることによって、偶数奇数カウンタ150Bからは、偶数グループ11Bevを構成する複数の画素のx座標値が先頭から順に一つずつ出力される。
【0188】
偶数奇数カウンタ150Bから出力される奇数カウント値cntBodは、補正ラインあるいは次ラインの部分領域11Bの奇数グループ11Bodに属する画素のx座標値を示している。奇数カウント値cntBodが、奇数グループ11Bodの先頭の画素のx座標値から2つずつカウントアップすることによって、偶数奇数カウンタ150Bからは、奇数グループ11Bodを構成する複数の画素のx座標値が先頭から順に一つずつ出力される。
【0189】
偶数奇数カウンタ150Bは、補正ライン及び次ラインの部分領域11Bの偶数グループ11Bevに属する画素の画素データが並列的にデータ処理装置1に入力されるタイミングに応じて、当該画素のx座標値を出力する。また、偶数奇数カウンタ150Bは、補正ライン及び次ラインの部分領域11Bの奇数グループ11Bodに属する画素の画素データが並列的にデータ処理装置1に入力されるタイミングに応じて、当該画素のx座標値を出力する。
【0190】
部分領域11Bに対応する補正ライン用判定部161Bは、補正ライン用判定部161Aと同様の構成を有している。補正ライン用判定部161Bは、部分領域11Bに対応する、補正ライン用のリードポインタrpB1を有している。補正ライン用判定部161Bは、補正ラインの部分領域11Bについての欠陥データを記憶するバッファ30における、リードポインタrpB1が示すバッファアドレスの記憶領域からx座標データを読み出す。さらに、補正ライン用判定部161Bは、補正ラインの部分領域11Bについての欠陥データを記憶するバッファ30における、リードポインタrpB1が示す値よりも1つ大きいバッファアドレスの記憶領域からx座標データを読み出す。そして、補正ライン用判定部161Bは、リードポインタrpB1が示すバッファアドレスの記憶領域から読み出したx座標データと、補正ラインの部分領域11Bの偶数グループ11Bevのx座標値を示す偶数カウント値cntBevとが一致する場合には、偶数ヒット信号hitBev1を出力する。また、補正ライン用判定部161Bは、リードポインタrpB1が示すバッファアドレスの記憶領域から読み出したx座標データと、補正ラインの部分領域11Bの奇数グループ11Bodのx座標値を示す奇数カウント値cntBodとが一致する場合には、奇数ヒット信号hitBod1を出力する。そして、補正ライン用判定部161Bは、リードポインタrpB1が示すバッファアドレスの記憶領域から読み出したx座標データと偶数カウント値cntBevとが一致し、かつリードポインタrpB1が示す値よりも1つ大きいバッファアドレスの記憶領域から読み出したx座標データと奇数カウント値cntBodとが一致する場合には、偶数奇数ヒット信号hitBeo1を出力する。
【0191】
部分領域11Aに対応する次ライン用判定部162Aは、補正ライン用判定部161A,161Bと同様の構成を有している。次ライン用判定部162Aは、部分領域11Aに対応する、次ライン用のリードポインタrpA2を有している。次ライン用判定部162Aは、次ラインの部分領域11Aについての欠陥データを記憶するバッファ30における、リードポインタrpA2が示すバッファアドレスの記憶領域からx座標データを読み出す。さらに、次ライン用判定部162Aは、次ラインの部分領域11Aについての欠陥データを記憶するバッファ30における、リードポインタrpA2が示す値よりも1つ大きいバッファアドレスの記憶領域からx座標データを読み出す。そして、次ライン用判定部162Aは、リードポインタrpA2が示すバッファアドレスの記憶領域から読み出したx座標データと、次ラインの部分領域11Aの偶数グループ11Aevのx座標値を示す偶数カウント値cntAevとが一致する場合には、偶数ヒット信号hitAev2を出力する。また、次ライン用判定部162Aは、リードポインタrpA2が示すバッファアドレスの記憶領域から読み出したx座標データと、次ラインの部分領域11Aの奇数グループ11Aodのx座標値を示す奇数カウント値cntAodとが一致する場合には、奇数ヒット信号hitAod2を出力する。そして、次ライン用判定部162Aは、リードポインタrpA2が示すバッファアドレスの記憶領域から読み出したx座標データと偶数カウント値cntAevとが一致し、かつリードポインタrpA2が示す値よりも1つ大きいバッファアドレスの記憶領域から読み出したx座標データと奇数カウント値cntAodとが一致する場合には、偶数奇数ヒット信号hitAeo2を出力する。
【0192】
部分領域11Bに対応する次ライン用判定部162Bは、補正ライン用判定部161A,161B及び次ライン用判定部162Aと同様の構成を有している。次ライン用判定部162Bは、部分領域11Bに対応する、次ライン用のリードポインタrpB2を有している。次ライン用判定部162Bは、次ラインの部分領域11Bについての欠陥データを記憶するバッファ30における、リードポインタrpB2が示すバッファアドレスの記憶領域からx座標データを読み出す。さらに、次ライン用判定部162Bは、次ラインの部分領域11Bについての欠陥データを記憶するバッファ30における、リードポインタrpB2が示す値よりも1つ大きいバッファアドレスの記憶領域からx座標データを読み出す。そして、次ライン用判定部162Bは、リードポインタrpB2が示すバッファアドレスの記憶領域から読み出したx座標データと、次ラインの部分領域11Bの偶数グループ11Bevのx座標値を示す偶数カウント値cntBevとが一致する場合には、偶数ヒット信号hitBev2を出力する。また、次ライン用判定部162Bは、リードポインタrpB2が示すバッファアドレスの記憶領域から読み出したx座標データと、次ラインの部分領域11Bの奇数グループ11Bodのx座標値を示す奇数カウント値cntBodとが一致する場合には、奇数ヒット信号hitBod2を出力する。そして、次ライン用判定部162Bは、リードポインタrpB2が示すバッファアドレスの記憶領域から読み出したx座標データと偶数カウント値cntBevとが一致し、かつリードポインタrpB2が示す値よりも1つ大きいバッファアドレスの記憶領域から読み出したx座標データと奇数カウント値cntBodとが一致する場合には、偶数奇数ヒット信号hitBeo2を出力する。
【0193】
以後、リードポインタrpA1,rpA2,rpB1,rpB2が示す値よりも1つ大きい値を示す信号をそれぞれ次リードポインタrpA1n,rpA2n,rpB1n,rpB2nと呼ぶ。
【0194】
<本変形例に係る出力回路の構成>
図20,21は出力回路6の構成を示す図である。
図20,21に示されるように、出力回路6は、補正ライン用出力部261α,261β,261γ(
図20)と、次ライン用出力部262α,262β,262γ(
図20)と、補正ライン用選択回路271Aev,271Aod,271Bev,271Bod(
図21)と、次ライン用選択回路272Aev,272Aod,272Bev,272Bod(
図21)とを備えている。
【0195】
補正ライン用出力部261α及び次ライン用出力部262αはバッファ30α内の補正方法特定データを処理する回路であって、補正ライン用出力部261β及び次ライン用出力部262βはバッファ30β内の補正内容特定データ処理する回路であって、補正ライン用出力部261γ及び次ライン用出力部262γはバッファ30γ内の補正方法特定データを処理する回路である。
【0196】
図22は、補正ライン用出力部261αの構成を示す図である。補正ライン用出力部261α,261β,261γ及び次ライン用出力部262α,262β,262γは同じ構成を有しているため、代表的に、補正ライン用出力部261αの構成を詳細に説明する。
【0197】
補正ライン用出力部261αは、出力部300Aev,300Aod,300Bev,300Bodを備えている。出力部300Aevは、選択回路301Aevと保持回路302Aevとを備えている。選択回路301Aevは、バッファ30αに含まれる複数の記憶領域から、補正ライン用判定部161AでのリードポインタrpA1が示すバッファアドレスを有する記憶領域を選択する。そして、選択回路301Aevは、選択した記憶領域に格納されている欠陥データ(補正ラインの部分領域11Aの欠陥画素についての欠陥データ)に含まれる補正方法特定データを出力する。保持回路302Aevは、補正ライン用判定部161Aから偶数ヒット信号hitAev1が入力されると、選択回路301Aevから出力される補正方法特定データを保持して出力する。保持回路302Aevから出力される補正方法特定データを「補正方法特定データcdAev1α」と呼ぶ。補正方法特定データcdAev1αは、バッファ30α内に補正ラインの欠陥データが記憶されているときには、補正ラインの部分領域11Aの偶数グループ11Aevでの欠陥画素の補正方法を示すデータである。
【0198】
出力部300Aodは、選択回路301Aod及び保持回路302Aodを備えている。選択回路301Aodは、補正ライン用判定部161Aから奇数ヒット信号hitAod1が入力されると、バッファ30αに含まれる複数の記憶領域から、補正ライン用判定部161AでのリードポインタrpA1が示すバッファアドレスを有する記憶領域を選択する。そして、選択回路301Aodは、選択した記憶領域に格納されている欠陥データに含まれる補正方法特定データを出力する。一方で、選択回路301Aodは、補正ライン用判定部161Aから偶数奇数ヒット信号hitAeo1が入力されると、バッファ30αに含まれる複数の記憶領域から、補正ライン用判定部161Aでの次リードポインタrpA1nが示すバッファアドレスを有する記憶領域を選択する。そして、選択回路301Aodは、選択した記憶領域に格納されている欠陥データに含まれる補正方法特定データを出力する。保持回路302Aodは、補正ライン用判定部161Aから奇数ヒット信号hitAod1及び偶数奇数ヒット信号hitAeo1のどちらか一方が入力されると、選択回路301Aodから出力される補正方法特定データを保持して出力する。保持回路302Aodから出力される補正方法特定データを「補正方法特定データcdAod1α」と呼ぶ。補正方法特定データcdAod1αは、バッファ30α内に補正ラインの欠陥データが記憶されているときには、補正ラインの部分領域11Aの奇数グループ11Aodでの欠陥画素の補正方法を示すデータである。
【0199】
出力部300Bevは、選択回路301Bevと保持回路302Bevとを備えている。選択回路301Bevは、バッファ30αに含まれる複数の記憶領域から、補正ライン用判定部161BでのリードポインタrpB1が示すバッファアドレスを有する記憶領域を選択する。そして、選択回路301Bevは、選択した記憶領域に格納されている欠陥データ(補正ラインの部分領域11Bの欠陥画素についての欠陥データ)に含まれる補正方法特定データを出力する。保持回路302Bevは、補正ライン用判定部161Bから偶数ヒット信号hitBev1が入力されると、選択回路301Bevから出力される補正方法特定データを保持して出力する。保持回路302Bevから出力される補正方法特定データを「補正方法特定データcdBev1α」と呼ぶ。補正方法特定データcdBev1αは、バッファ30α内に補正ラインの欠陥データが記憶されているときには、補正ラインの部分領域11Bの偶数グループ11Bevでの欠陥画素の補正方法を示すデータである。
【0200】
出力部300Bodは、選択回路301Bod及び保持回路302Bodを備えている。選択回路301Bodは、補正ライン用判定部161Bから奇数ヒット信号hitBod1が入力されると、バッファ30αに含まれる複数の記憶領域から、補正ライン用判定部161BでのリードポインタrpB1が示すバッファアドレスを有する記憶領域を選択する。そして、選択回路301Bodは、選択した記憶領域に格納されている欠陥データに含まれる補正方法特定データを出力する。一方で、選択回路301Bodは、補正ライン用判定部161Bから偶数奇数ヒット信号hitBeo1が入力されると、バッファ30αに含まれる複数の記憶領域から、補正ライン用判定部161Bでの次リードポインタrpB1nが示すバッファアドレスを有する記憶領域を選択する。そして、選択回路301Bodは、選択した記憶領域に格納されている欠陥データに含まれる補正方法特定データを出力する。保持回路302Bodは、補正ライン用判定部161Bから奇数ヒット信号hitBod1及び偶数奇数ヒット信号hitBeo1のどちらか一方が入力されると、選択回路301Bodから出力される補正方法特定データを保持して出力する。保持回路302Bodから出力される補正方法特定データを「補正方法特定データcdBod1α」と呼ぶ。補正方法特定データcdBod1αは、バッファ30α内に補正ラインの欠陥データが記憶されているときには、補正ラインの部分領域11Bの奇数グループ11Bodでの欠陥画素の補正方法を示すデータである。
【0201】
このように、補正ライン用出力部261αは、偶数ヒット信号hitAev1が入力されると、バッファ30αに含まれる、リードポインタrpA1が示すバッファアドレスを有する記憶領域内の補正方法特定データを補正方法特定データcdAev1αとして出力する。また、補正ライン用出力部261αは、奇数ヒット信号hitAod1が入力されると、バッファ30αに含まれる、リードポインタrpA1が示すバッファアドレスを有する記憶領域内の補正方法特定データを補正方法特定データcdAod1αとして出力し、偶数奇数ヒット信号hitAeo1が入力されると、バッファ30αに含まれる、次リードポインタrpA1nが示すバッファアドレスを有する記憶領域内の補正方法特定データを補正方法特定データcdAod1αとして出力する。また、補正ライン用出力部261αは、偶数ヒット信号hitBev1が入力されると、バッファ30αに含まれる、リードポインタrpB1が示すバッファアドレスを有する記憶領域内の補正方法特定データを補正方法特定データcdBev1αとして出力する。そして、補正ライン用出力部261αは、奇数ヒット信号hitBod1が入力されると、バッファ30αに含まれる、リードポインタrpB1が示すバッファアドレスを有する記憶領域内の補正方法特定データを補正方法特定データcdBod1αとして出力し、偶数奇数ヒット信号hitBeo1が入力されると、バッファ30αに含まれる、次リードポインタrpB1nが示すバッファアドレスを有する記憶領域内の補正方法特定データを補正方法特定データcdBod1αとして出力する。
【0202】
補正ライン用出力部261β,261γは補正ライン用出力部261αと同様に動作する。補正ライン用出力部261βは、偶数ヒット信号hitAev1が入力されると、バッファ30βに含まれる、リードポインタrpA1が示すバッファアドレスを有する記憶領域内の補正方法特定データを補正方法特定データcdAev1βとして出力する。また、補正ライン用出力部261βは、奇数ヒット信号hitAod1が入力されると、バッファ30βに含まれる、リードポインタrpA1が示すバッファアドレスを有する記憶領域内の補正方法特定データを補正方法特定データcdAod1βとして出力し、偶数奇数ヒット信号hitAeo1が入力されると、バッファ30βに含まれる、次リードポインタrpA1nが示すバッファアドレスを有する記憶領域内の補正方法特定データを補正方法特定データcdAod1βとして出力する。また、補正ライン用出力部261βは、偶数ヒット信号hitBev1が入力されると、バッファ30βに含まれる、リードポインタrpB1が示すバッファアドレスを有する記憶領域内の補正方法特定データを補正方法特定データcdBev1βとして出力する。そして、補正ライン用出力部261βは、奇数ヒット信号hitBod1が入力されると、バッファ30βに含まれる、リードポインタrpB1が示すバッファアドレスを有する記憶領域内の補正方法特定データを補正方法特定データcdBod1βとして出力し、偶数奇数ヒット信号hitBeo1が入力されると、バッファ30βに含まれる、次リードポインタrpB1nが示すバッファアドレスを有する記憶領域内の補正方法特定データを補正方法特定データcdBod1βとして出力する。
【0203】
補正ライン用出力部261γは、偶数ヒット信号hitAev1が入力されると、バッファ30γに含まれる、リードポインタrpA1が示すバッファアドレスを有する記憶領域内の補正方法特定データを補正方法特定データcdAev1γとして出力する。また、補正ライン用出力部261γは、奇数ヒット信号hitAod1が入力されると、バッファ30γに含まれる、リードポインタrpA1が示すバッファアドレスを有する記憶領域内の補正方法特定データを補正方法特定データcdAod1γとして出力し、偶数奇数ヒット信号hitAeo1が入力されると、バッファ30γに含まれる、次リードポインタrpA1nが示すバッファアドレスを有する記憶領域内の補正方法特定データを補正方法特定データcdAod1γとして出力する。また、補正ライン用出力部261γは、偶数ヒット信号hitBev1が入力されると、バッファ30γに含まれる、リードポインタrpB1が示すバッファアドレスを有する記憶領域内の補正方法特定データを補正方法特定データcdBev1γとして出力する。そして、補正ライン用出力部261γは、奇数ヒット信号hitBod1が入力されると、バッファ30γに含まれる、リードポインタrpB1が示すバッファアドレスを有する記憶領域内の補正方法特定データを補正方法特定データcdBod1γとして出力し、偶数奇数ヒット信号hitBeo1が入力されると、バッファ30γに含まれる、次リードポインタrpB1nが示すバッファアドレスを有する記憶領域内の補正方法特定データを補正方法特定データcdBod1γとして出力する。
【0204】
次ライン用出力部262α,262β,262γは、補正ライン用出力部261α,261β,261γと同様に動作する。次ライン用出力部262αは、偶数ヒット信号hitAev2が入力されると、バッファ30αに含まれる、リードポインタrpA2が示すバッファアドレスを有する記憶領域内の補正方法特定データを補正方法特定データcdAev2αとして出力する。また、次ライン用出力部262αは、奇数ヒット信号hitAod2が入力されると、バッファ30αに含まれる、リードポインタrpA2が示すバッファアドレスを有する記憶領域内の補正方法特定データを補正方法特定データcdAod2αとして出力し、偶数奇数ヒット信号hitAeo2が入力されると、バッファ30αに含まれる、次リードポインタrpA2nが示すバッファアドレスを有する記憶領域内の補正方法特定データを補正方法特定データcdAod2αとして出力する。また、次ライン用出力部262αは、偶数ヒット信号hitBev2が入力されると、バッファ30αに含まれる、リードポインタrpB2が示すバッファアドレスを有する記憶領域内の補正方法特定データを補正方法特定データcdBev2αとして出力する。そして、次ライン用出力部262αは、奇数ヒット信号hitBod2が入力されると、バッファ30αに含まれる、リードポインタrpB2が示すバッファアドレスを有する記憶領域内の補正方法特定データを補正方法特定データcdBod2αとして出力し、偶数奇数ヒット信号hitBeo2が入力されると、バッファ30αに含まれる、次リードポインタrpB2nが示すバッファアドレスを有する記憶領域内の補正方法特定データを補正方法特定データcdBod2αとして出力する。
【0205】
次ライン用出力部262βは、偶数ヒット信号hitAev2が入力されると、バッファ30βに含まれる、リードポインタrpA2が示すバッファアドレスを有する記憶領域内の補正方法特定データを補正方法特定データcdAev2βとして出力する。また、次ライン用出力部262βは、奇数ヒット信号hitAod2が入力されると、バッファ30βに含まれる、リードポインタrpA2が示すバッファアドレスを有する記憶領域内の補正方法特定データを補正方法特定データcdAod2βとして出力し、偶数奇数ヒット信号hitAeo2が入力されると、バッファ30βに含まれる、次リードポインタrpA2nが示すバッファアドレスを有する記憶領域内の補正方法特定データを補正方法特定データcdAod2βとして出力する。また、次ライン用出力部262βは、偶数ヒット信号hitBev2が入力されると、バッファ30βに含まれる、リードポインタrpB2が示すバッファアドレスを有する記憶領域内の補正方法特定データを補正方法特定データcdBev2βとして出力する。そして、次ライン用出力部262βは、奇数ヒット信号hitBod2が入力されると、バッファ30βに含まれる、リードポインタrpB2nが示すバッファアドレスを有する記憶領域内の補正方法特定データを補正方法特定データcdBod2βとして出力し、偶数奇数ヒット信号hitBeo2が入力されると、バッファ30βに含まれる、次リードポインタrpB2nが示すバッファアドレスを有する記憶領域内の補正方法特定データを補正方法特定データcdBod2βとして出力する。
【0206】
次ライン用出力部262γは、偶数ヒット信号hitAev2が入力されると、バッファ30γに含まれる、リードポインタrpA2が示すバッファアドレスを有する記憶領域内の補正方法特定データを補正方法特定データcdAev2γとして出力する。また、次ライン用出力部262γは、奇数ヒット信号hitAod2が入力されると、バッファ30γに含まれる、リードポインタrpA2が示すバッファアドレスを有する記憶領域内の補正方法特定データを補正方法特定データcdAod2γとして出力し、偶数奇数ヒット信号hitAeo2が入力されると、バッファ30γに含まれる、次リードポインタrpA2nが示すバッファアドレスを有する記憶領域内の補正方法特定データを補正方法特定データcdAod2γとして出力する。また、次ライン用出力部262γは、偶数ヒット信号hitBev2が入力されると、バッファ30γに含まれる、リードポインタrpB2が示すバッファアドレスを有する記憶領域内の補正方法特定データを補正方法特定データcdBev2γとして出力する。そして、次ライン用出力部262γは、奇数ヒット信号hitBod2が入力されると、バッファ30γに含まれる、リードポインタrpB2が示すバッファアドレスを有する記憶領域内の補正方法特定データを補正方法特定データcdBod2γとして出力し、偶数奇数ヒット信号hitBeo2が入力されると、バッファ30γに含まれる、次リードポインタrpB2nが示すバッファアドレスを有する記憶領域内の補正方法特定データを補正方法特定データcdBod2γとして出力する。
【0207】
補正ライン用選択回路271Aevは、
図21に示されるように、バッファ選択部7から出力される補正ライン用リード選択信号RS1に基づいて、補正方法特定データcdAev1α、補正方法特定データcdAev1β及び補正方法特定データcdAev1γのいずれか一つを選択して出力する。
【0208】
具体的には、補正ライン用選択回路271Aevは、補正ライン用リード選択信号RS1が“0”を示すときは、つまり補正ライン用読み出しバッファ30がバッファ30αであるときには、補正方法特定データcdAev1αを出力する。補正ライン用選択回路271Aevは、補正ライン用リード選択信号RS1が“1”を示すときは、つまり補正ライン用読み出しバッファ30がバッファ30βであるときには、補正方法特定データcdAev1βを出力する。補正ライン用選択回路271Aevは、補正ライン用リード選択信号RS1が“2”を示すときは、つまり補正ライン用読み出しバッファ30がバッファ30γであるときには、補正方法特定データcdAev1γを出力する。補正ライン用選択回路271Aevから出力されるデータを「補正方法特定データcdAev10」とすると、補正方法特定データcdAev10は、補正ラインの部分領域11Aの偶数グループ11Aevでの欠陥画素の補正方法を示すデータである。データ処理装置1に対して、補正ラインの部分領域11Aの偶数グループ11Aevでの欠陥画素の画素データが入力されるタイミングで、当該欠陥画素の方法を示す補正方法特定データcdAev10が出力回路6から出力される。
【0209】
補正ライン用選択回路271Aod,271Bev,271Bodは、補正ライン用選択回路271Aevと同様に動作する。補正ライン用選択回路271Aodは、補正ライン用リード選択信号RS1が“0”を示すときは補正方法特定データcdAod1αを、“1”を示すときは補正方法特定データcdAod1βを、“2”を示すときは補正方法特定データcdAod1γを出力する。補正ライン用選択回路271Aodから出力されるデータを「補正方法特定データcdAod10」とすると、補正方法特定データcdAod10は、補正ラインの部分領域11Aの奇数グループ11Aodでの欠陥画素の補正方法を示すデータである。データ処理装置1に対して、補正ラインの部分領域11Aの奇数グループ11Aodでの欠陥画素の画素データが入力されるタイミングで、当該欠陥画素の方法を示す補正方法特定データcdAod10が出力回路6から出力される。
【0210】
補正ライン用選択回路271Bevは、補正ライン用リード選択信号RS1が“0”を示すときは補正方法特定データcdBev1αを、“1”を示すときは補正方法特定データcdBev1βを、“2”を示すときは補正方法特定データcdBev1γを出力する。補正ライン用選択回路271Bevから出力されるデータを「補正方法特定データcdBev10」とすると、補正方法特定データcdBev10は、補正ラインの部分領域11Bの偶数グループ11Bevでの欠陥画素の補正方法を示すデータである。データ処理装置1に対して、補正ラインの部分領域11Bの偶数グループ11Bevでの欠陥画素の画素データが入力されるタイミングで、当該欠陥画素の方法を示す補正方法特定データcdBev10が出力回路6から出力される。
【0211】
補正ライン用選択回路271Bodは、補正ライン用リード選択信号RS1が“0”を示すときは補正方法特定データcdBod1αを、“1”を示すときは補正方法特定データcdBod1βを、“2”を示すときは補正方法特定データcdBod1γを出力する。補正ライン用選択回路271Bodから出力されるデータを「補正方法特定データcdBod10」とすると、補正方法特定データcdBod10は、補正ラインの部分領域11Bの奇数グループ11Bodでの欠陥画素の補正方法を示すデータである。データ処理装置1に対して、補正ラインの部分領域11Bの奇数グループ11Bodでの欠陥画素の画素データが入力されるタイミングで、当該欠陥画素の方法を示す補正方法特定データcdBod10が出力回路6から出力される。
【0212】
次ライン用選択回路272Aevは、バッファ選択部7から出力される次ライン用リード選択信号RS2に基づいて、補正方法特定データcdAev2α、補正方法特定データcdAev2β及び補正方法特定データcdAev2γのいずれか一つを選択して出力する。
【0213】
ここで、次ライン用リード選択信号RS2とは、バッファ30α,30β,30γのうち、どのバッファ30が次ラインの欠陥データを記憶しているかを示す信号である。次ライン用リード選択信号RS2が“0”を示すときには、次ラインの欠陥データを記憶するバッファ30(以後、「次ライン用読み出しバッファ30」と呼ぶことがある)がバッファ30αであることを意味し、“1”を示すときにはバッファ30βであることを意味し、“2”を示すときにはバッファ30γであることを意味する。
【0214】
次ライン用選択回路272Aevは、次ライン用リード選択信号RS2が“0”を示すときは補正方法特定データcdAev2αを、“1”を示すときは補正方法特定データcdAev2βを、“2”を示すときは補正方法特定データcdAev2γを出力する。次ライン用選択回路272Aevから出力されるデータを「補正方法特定データcdAev20」とすると、補正方法特定データcdAev20は、次ラインの部分領域11Aの偶数グループ11Aevでの欠陥画素の補正方法を示すデータである。データ処理装置1に対して、次ラインの部分領域11Aの偶数グループ11Aevでの欠陥画素の画素データが入力されるタイミングで、当該欠陥画素の方法を示す補正方法特定データcdAev20が出力回路6から出力される。
【0215】
次ライン用選択回路272Aodは、次ライン用リード選択信号RS2が“0”を示すときは補正方法特定データcdAod2αを、“1”を示すときは補正方法特定データcdAod2βを、“2”を示すときは補正方法特定データcdAod2γを出力する。次ライン用選択回路272Aodから出力されるデータを「補正方法特定データcdAod20」とすると、補正方法特定データcdAod20は、次ラインの部分領域11Aの奇数グループ11Aodでの欠陥画素の補正方法を示すデータである。データ処理装置1に対して、次ラインの部分領域11Aの奇数グループ11Aodでの欠陥画素の画素データが入力されるタイミングで、当該欠陥画素の方法を示す補正方法特定データcdAod20が出力回路6から出力される。
【0216】
次ライン用選択回路272Bevは、次ライン用リード選択信号RS2が“0”を示すときは補正方法特定データcdBev2αを、“1”を示すときは補正方法特定データcdBev2βを、“2”を示すときは、補正方法特定データcdBev2γを出力する。次ライン用選択回路272Bevから出力されるデータを「補正方法特定データcdBev20」とすると、補正方法特定データcdBev20は、次ラインの部分領域11Bの偶数グループ11Bevでの欠陥画素の補正方法を示すデータである。データ処理装置1に対して、次ラインの部分領域11Bの偶数グループ11Bevでの欠陥画素の画素データが入力されるタイミングで、当該欠陥画素の方法を示す補正方法特定データcdBev20が出力回路6から出力される。
【0217】
次ライン用選択回路272Bodは、次ライン用リード選択信号RS2が“0”を示すときは補正方法特定データcdBod2αを、“1”を示すときは補正方法特定データcdBod2βを、“2”を示すときは補正方法特定データcdBod2γを出力する。次ライン用選択回路272Bodから出力されるデータを「補正方法特定データcdBod20」とすると、補正方法特定データcdBod20は、次ラインの部分領域11Bの奇数グループ11Bodでの欠陥画素の補正方法を示すデータである。データ処理装置1に対して、次ラインの部分領域11Bの奇数グループ11Bodでの欠陥画素の画素データが入力されるタイミングで、当該欠陥画素の方法を示す補正方法特定データcdBod20が出力回路6から出力される。
【0218】
<本変形例に係る書き込み部の動作>
本変形例に係る書き込み部4は、上記の実施の形態と同様に動作する(
図6参照)。書き込み部4は、部分領域11Aに対応するライトポインタwpAと、部分領域11Bに対応するライトポインタwpBとを有している。書き込み部4は、対象ラインの最初の欠陥データが入力されるタイミングでライトポインタwpA,wpBの値を“0”に初期化する。
【0219】
書き込み部4は、対象ラインについての欠陥データが入力されると、当該欠陥データに含まれるx座標データと、部分領域11Bの先頭のx座標値xBstとを比較し、x座標データがx座標値xBstよりも小さければ、当該欠陥データを書き込みバッファ30に書き込むタイミングで、ライトポインタwpBの値を1つ増加する。一方で、書き込み部4は、x座標データがx座標値xBst以上であると、ライトポインタwpBの現在の値を維持する。
【0220】
書き込み部4が、対象ラインの最後の欠陥データを書き込みバッファ30に書き込み、対象ラインのすべての欠陥データの書き込みバッファ30への書き込みが完了すると、その時点でのライトポインタwpAの値は、対象ラインが補正ラインのときに使用されるリードポインタrpA1の初期値とされるとともに、対象ラインが次ラインのときに使用されるリードポインタrpA2の初期値とされる。また、その時点でのライトポインタwpBの値は、対象ラインが補正ラインのときに使用されるリードポインタrpB1の初期値とされるとともに、対象ラインが次ラインのときに使用されるリードポインタrpB2の初期値とされる。
図6の例では、対象ラインが補正ラインのときのリードポインタrpA1,rpB1の初期値はそれぞれ“0”及び“p”となり、対象ラインが次ラインのときのリードポインタrpA2,rpB2の初期値はそれぞれ“0”及び“p”となる。
【0221】
補正ライン用のリードポインタrpA1の初期値(“0”)は、補正ラインの部分領域11Aに含まれる欠陥画素のうちx座標値が最小の欠陥画素の欠陥データ、つまり補正ラインの部分領域11Aでの先頭の欠陥画素の欠陥データが書き込まれた記憶領域のバッファアドレスを示すことになる。また、次ライン用のリードポインタrpA2の初期値(“0”)は、次ラインの部分領域11Aに含まれる欠陥画素のうちx座標値が最小の欠陥画素の欠陥データが書き込まれた記憶領域のバッファアドレスを示すことになる。また、補正ライン用のリードポインタrpB1の初期値は、補正ラインの部分領域11Bに含まれる欠陥画素のうちx座標値が最小の欠陥画素の欠陥データが書き込まれた記憶領域のバッファアドレスを示すことになる。そして、次ライン用のリードポインタrpB2の初期値は、次ラインの部分領域11Bに含まれる欠陥画素のうちx座標値が最小の欠陥画素の欠陥データが書き込まれた記憶領域のバッファアドレスを示すことになる。
【0222】
<本変形例に係る判定回路及び出力回路の動作>
図23は本変形例に係る判定回路5の動作を示すタイミングチャートである。
図23には、偶数奇数カウンタ150A,150Bと補正ライン用判定回路161の動作が示されている。次ライン用判定回路162は補正ライン用判定回路161と同様に動作することから、以下では、代表的に補正ライン用判定回路161の動作を詳細に説明する。
【0223】
図23には、上述の
図6の例のように対象ラインの欠陥データが書き込まれたバッファ30が補正ライン用読み出しバッファ30となって、当該補正ライン用読み出しバッファ30から欠陥データが読み出される際の補正ライン用判定回路161の動作が示されている。
図23において、「読み出しデータ(rpA1)」は、補正ライン用読み出しバッファ30における、リードポインタrpA1が示すバッファアドレスの記憶領域から、補正ライン用判定部161Aが読み出すx座標データを示している。「読み出しデータ(rpA1n)」は、補正ライン用読み出しバッファ30における、次リードポインタrpA1nが示すバッファアドレスの記憶領域から、補正ライン用判定部161Aが読み出すx座標データを示している。「読み出しデータ(rpB1)」は、補正ライン用読み出しバッファ30における、リードポインタrpB1が示すバッファアドレスの記憶領域から、補正ライン用判定部161Bが読み出すx座標データを示している。「読み出しデータ(rpB1n)」は、補正ライン用読み出しバッファ30における、次リードポインタrpB1nが示すバッファアドレスの記憶領域から、補正ライン用判定部161Bが読み出すx座標データを示している。
【0224】
図23に示されるように、データ処理装置1に水平同期信号が入力されると、当該水平同期信号の立ち上がりで偶数奇数カウンタ150A,150Bのカウンタ151が初期化される。これにより、偶数カウント値cntAevが“0”に初期化され、奇数カウント値cntAodが“1”に初期化され、偶数カウント値cntBevが“xBst”に初期化され、奇数カウント値cntBodが“xBst+1”に初期化される。
【0225】
偶数カウント値cntAev,cntBev及び奇数カウント値cntAod,cntBodは、初期化されると、その後、所定タイミングごとに(動作クロック信号の立ち上がりごとに)、2つずつカウントアップする。このとき、偶数カウント値cntAevは、補正ラインの部分領域11Aの偶数グループ11Aevに属する画素の画素データがデータ処理装置1に対して入力されるタイミングに応じてカウントアップする。これにより、偶数カウント値cntAevは、補正ラインの部分領域11Aの偶数グループ11Aevに属する画素の画素データがデータ処理装置1に対して入力されるタイミングに応じて、当該画素のx座標値を示す。同様に、奇数カウント値cntAodは、補正ラインの部分領域11Aの奇数グループ11Aodに属する画素の画素データがデータ処理装置1に対して入力されるタイミングに応じて、当該画素のx座標値を示す。また、偶数カウント値cntBevは、補正ラインの部分領域11Bの偶数グループ11Bevに属する画素の画素データがデータ処理装置1に対して入力されるタイミングに応じて、当該画素のx座標値を示す。そして、奇数カウント値cntBodは、補正ラインの部分領域11Bの奇数グループ11Bodに属する画素の画素データがデータ処理装置1に対して入力されるタイミングに応じて、当該画素のx座標値を示す。
【0226】
データ処理装置1に水平同期信号が入力されると、補正ライン用判定部161Aは、リードポインタrpA1が現在示すバッファアドレスを有する、補正ライン用読み出しバッファ30の記憶領域からx座標データを読み出す。さらに、補正ライン用判定部161Aは、次リードポインタrpA1nが現在示すバッファアドレス(リードポインタrpA1が示す値よりも1つ大きいバッファアドレス)を有する、補正ライン用読み出しバッファ30の記憶領域からx座標データを読み出す。そして、補正ライン用判定部161Aは、リードポインタrpA1が示すバッファアドレスの記憶領域から読み出したx座標データ(以後、「x座標データ(rpA1)」と呼ぶ)と、偶数カウント値cntAevの現在の値と奇数カウント値cntAodの現在の値と比較する。さらに、補正ライン用判定部161Aは、次リードポインタrpA1nが示すバッファアドレスの記憶領域から読み出したx座標データ(以後、「x座標データ(rpA1n)」と呼ぶ)と、奇数カウント値cntAodの現在の値とを比較する。補正ライン用判定部161Aは、x座標データ(rpA1)と、偶数カウント値cntAevとが一致する場合には、偶数ヒット信号hitAev1を出力する。また、補正ライン用判定部161Aは、x座標データ(rpA1)と、奇数カウント値cntAodとが一致する場合には、奇数ヒット信号hitAod1を出力する。そして、補正ライン用判定部161Aは、x座標データ(rpA1)と偶数カウント値cntAevとが一致し、かつx座標データ(rpA1n)と奇数カウント値cntAodが一致する場合には、偶数奇数ヒット信号hitAeo1を出力する。
【0227】
補正ライン用判定部161Aは、偶数奇数ヒット信号hitAeo1を出力する際には、その立ち上がりでリードポインタrpA1の値を2つ増加する。一方で、補正ライン用判定部161Aは、偶数奇数ヒット信号hitAeo1を出力せずに偶数ヒット信号hitAev1を出力する際には、偶数ヒット信号hitAev1の立ち上がりでリードポインタrpA1の値を1つ増加する。また、補正ライン用判定部161Aは、偶数奇数ヒット信号hitAeo1を出力せずに奇数ヒット信号hitAod1を出力する際には、奇数ヒット信号hitAod1の立ち上がりでリードポインタrpA1の値を1つ増加する。
【0228】
その後、偶数カウント値cntAev及び奇数カウント値cntAodが2つ増加すると、補正ライン用判定部161Aは、リードポインタrpA1が現在示すバッファアドレスを有する、補正ライン用読み出しバッファ30の記憶領域からx座標データを読み出し、次リードポインタrpA1nが現在示すバッファアドレスを有する、補正ライン用読み出しバッファ30の記憶領域からx座標データを読み出す。以後、補正ライン用判定部161Aは同様に動作する。補正ライン用判定部161Aは、偶数カウント値cntAev及び奇数カウント値cntAodが2つ増加するたびに同様に動作する。
【0229】
図23の例では、偶数カウント値cntAevが“2”のときに、x座標データ(rpA1)(rd[0])と偶数カウント値cntAevとが一致して偶数ヒット信号hitAev1が生成されている。また、奇数カウント値cntAodが“7”のときに、x座標データ(rpA1)(rd[1])と奇数カウント値cntAodとが一致して奇数ヒット信号hitAod1が生成されている。そして、偶数カウント値cntAevが“34”であって奇数カウント値cntAodが“35”のときに、x座標データ(rpA1)(rd[2])と偶数カウント値cntAevとが一致し、かつx座標データ(rpA1n)(rd[3])と奇数カウント値cntAodとが一致して、偶数奇数ヒット信号hitAeo1が生成されている。
【0230】
このように、補正ライン用判定部161Aは、補正ライン用読み出しバッファ30から読み出したx座標データ(rpA1)と、偶数奇数カウンタ150Aから入力される偶数カウント値cntAev及び奇数カウント値cntAodとを比較している。そして、補正ライン用判定部161Aは、読み出したx座標データ(rpA1)が、偶数カウント値cntAev及び奇数カウント値cntAodのそれぞれと一致しないときには、当該x座標データと、偶数奇数カウンタ150Aから次に入力される偶数カウント値cntAev及び奇数カウント値cntAodとを比較している。また、補正ライン用判定部161Aは、読み出したx座標データ(rpA1)が、偶数カウント値cntAev及び奇数カウント値cntAodの一つと一致するときには、補正ライン用読み出しバッファ30から読み出した次のx座標データ(rpA1)と、偶数奇数カウンタ150Aから次に入力される偶数カウント値cntAev及び奇数カウント値cntAodとを比較している。
【0231】
部分領域11Bに対応する補正ライン用判定部161Bは、補正ライン用判定部161Aと同様に動作する。補正ライン用判定部161Aの上記の動作説明において、偶数カウント値cntAev、奇数カウント値cntAod、リードポインタrpA1、次リードポインタrpA1n、偶数ヒット信号hitAev1、奇数ヒット信号hitAod1、偶数奇数ヒット信号hitAeo1を、それぞれ偶数カウント値cntBev、奇数カウント値cntBod、リードポインタrpB1、次リードポインタrpB1n、偶数ヒット信号hitBev1、奇数ヒット信号hitBod1、偶数奇数ヒット信号hitBeo1に置き換えれば、補正ライン用判定部161Bの動作説明となる。
【0232】
図23の例では、偶数カウント値cntBevが“xBst+32”のときに、リードポインタrpB1の記憶領域から読み出されたx座標データ(rd[p])と偶数カウント値cntBevとが一致して偶数ヒット信号hitBev1が生成されている。また、奇数カウント値cntBodが“xBst+35”のときに、リードポインタrpB1の記憶領域から読み出されたx座標データ(rd[p+1])と奇数カウント値cntBodとが一致して奇数ヒット信号hitBod1が生成されている。そして、偶数カウント値cntBevが“xBst+62”であって奇数カウント値cntBodが“xBst+63”のときに、リードポインタrpB1の記憶領域から読み出されたx座標データ(rd[p+2])と偶数カウント値cntBevとが一致し、かつ次リードポインタrpB1nの記憶領域から読み出されたx座標データ(rd[p+3])と奇数カウント値cntBodとが一致して、偶数奇数ヒット信号hitBeo1が生成されている。
【0233】
次ライン用判定部162A,162Bは、補正ライン用判定部161Aと同様に動作する。補正ライン用判定部161Aの上記の動作説明において、補正ライン用読み出しバッファ30、リードポインタrpA1、次リードポインタrpA1n、偶数ヒット信号hitAev1、奇数ヒット信号hitAod1、偶数奇数ヒット信号hitAeo1を、それぞれ次ライン用読み出しバッファ30、リードポインタrpA2、次リードポインタrpA2n、偶数ヒット信号hitAev2、奇数ヒット信号hitAod2、偶数奇数ヒット信号hitAeo2に置き換えれば、次ライン用判定部162Aの動作説明となる。また、補正ライン用判定部161Aの上記の動作説明において、補正ライン用読み出しバッファ30、偶数カウント値cntAev、奇数カウント値cntAod、リードポインタrpA1、次リードポインタrpA1n、偶数ヒット信号hitAev1、奇数ヒット信号hitAod1、偶数奇数ヒット信号hitAeo1を、それぞれ次ライン用読み出しバッファ30、偶数カウント値cntBev、奇数カウント値cntBod、リードポインタrpB2、次リードポインタrpB2n、偶数ヒット信号hitBev2、奇数ヒット信号hitBod2、偶数奇数ヒット信号hitBeo2に置き換えれば、次ライン用判定部162Bの動作説明となる。
【0234】
なお、上記の例では、水平同期信号の立ち上がりで偶数奇数カウンタ150A,150Bのカウンタ151が初期化されていたが、当該カウンタ151は他のタイミングで初期化されても良い。また、偶数奇数カウンタ150A,150Bのカウンタ151は互いに異なるタイミングで初期化されても良い。
【0235】
<本変形例に係る画素欠陥補正部の動作>
本変形例では、画素欠陥補正部2には、補正ラインの部分領域11Aに含まれる偶数グループ11Aevの欠陥画素データと、当該欠陥画素データの補正方法を示す補正方法特定データcdAev10とが並列的に入力される。画素欠陥補正部2は、当該欠陥画素データを、当該補正方法特定データcdAev10が示す補正方法で補正する。さらに、画素欠陥補正部2には、補正ラインの部分領域11Aに含まれる奇数グループ11Aodの欠陥画素データと、当該欠陥画素データの補正方法を示す補正方法特定データcdAod10とが並列的に入力される。画素欠陥補正部2は、当該欠陥画素データを、当該補正方法特定データcdAod10が示す補正方法で補正する。
【0236】
また、画素欠陥補正部2には、補正ラインの部分領域11Bに含まれる偶数グループ11Bevの欠陥画素データと、当該欠陥画素データの補正方法を示す補正方法特定データcdBev10とが並列的に入力される。画素欠陥補正部2は、当該欠陥画素データを、当該補正方法特定データcdBev10が示す補正方法で補正する。さらに、画素欠陥補正部2には、補正ラインの部分領域11Bに含まれる奇数グループ11Bodの欠陥画素データと、当該欠陥画素データの補正方法を示す補正方法特定データcdBod10とが並列的に入力される。画素欠陥補正部2は、当該欠陥画素データを、当該補正方法特定データcdBod10が示す補正方法で補正する。
【0237】
画素欠陥補正部2には、補正ラインの部分領域11Aに含まれる偶数グループ11Aevの画素データと、補正ラインの部分領域11Aに含まれる奇数グループ11Aodの画素データと、補正ラインの部分領域11Bに含まれる偶数グループ11Bevの画素データと、補正ラインの部分領域11Bに含まれる奇数グループ11Bodの画素データとが並列的に入力されることから、画素欠陥補正部2においては、偶数グループ11Aevに対する画素欠陥補正と、奇数グループ11Aodに対する画素欠陥補正と、偶数グループ11Bevに対する画素欠陥補正と、奇数グループ11Bodに対する画素欠陥補正とが並列的に実行される。
【0238】
また、本変形例に係る画素欠陥補正部2は、補正ラインに対して画素欠陥補正を行うとともに、補正ラインの画素データのうち次ラインの画素欠陥補正で必要となる画素データを、次ラインの補正方法特定データを使用して特定して記憶する。これにより、画素欠陥補正部2は、次ラインの画素欠陥補正のために、補正ラインのすべての画素データを記憶する必要がなくなり、画素欠陥補正部2の構成を簡素化できる。
【0239】
具体的には、画素欠陥補正部2は、次ラインの部分領域11Aに含まれる偶数グループ11Aevの欠陥画素データと、当該欠陥画素データの補正方法を示す補正方法特定データcdAev20とが入力されると、当該欠陥画素データに対応する画素のx座標値と、当該補正方法特定データcdAev20が示す補正方法とに基づいて、当該欠陥画素データの補正で必要となる、補正ラインの画素データを特定し、入力された当該画素データを記憶する。
【0240】
同様に、画素欠陥補正部2は、次ラインの部分領域11Aに含まれる奇数グループ11Aodの欠陥画素データと、当該欠陥画素データの補正方法を示す補正方法特定データcdAod20とが入力されると、当該欠陥画素データに対応する画素のx座標値と、当該補正方法特定データcdAod20が示す補正方法とに基づいて、当該欠陥画素データの補正で必要となる、補正ラインの画素データを特定し、入力された当該画素データを記憶する。
【0241】
また、画素欠陥補正部2は、次ラインの部分領域11Bに含まれる偶数グループ11Bevの欠陥画素データと、当該欠陥画素データの補正方法を示す補正方法特定データcdBev20とが入力されると、当該欠陥画素データに対応する画素のx座標値と、当該補正方法特定データcdBev20が示す補正方法とに基づいて、当該欠陥画素データの補正で必要となる、補正ラインの画素データを特定し、入力された当該画素データを記憶する。
【0242】
また、画素欠陥補正部2は、次ラインの部分領域11Bに含まれる奇数グループ11Bodの欠陥画素データと、当該欠陥画素データの補正方法を示す補正方法特定データcdBod20とが入力されると、当該欠陥画素データに対応する画素のx座標値と、当該補正方法特定データcdBod20が示す補正方法とに基づいて、当該欠陥画素データの補正で必要となる、補正ラインの画素データを特定し、入力された当該画素データを記憶する。
【0243】
このように、画素欠陥補正部2は、補正ラインの画素データと、次ラインの画素データ及び次ラインの補正方法特定データが並列的に入力されることから、補正ラインの画素データのうち次ラインの画素欠陥補正で必要となる画素データを特定して記憶することができる。これにより、画素欠陥補正部2は、次ラインの画素欠陥補正のために、補正ラインのすべての画素データを記憶する必要がなくなり、画素欠陥補正部2の構成を簡素化できる。
【0244】
以上説明したように、本変形例では、補正ライン用判定部161Aに対して、部分領域11Aを構成する複数の画素についてのx座標値が2つずつデータグループを成してデータグループごとかつ昇順で偶数奇数カウンタ150Aから入力される。また、バッファ30は、部分領域11Aを構成する複数の画素についてのx座標値のうち、当該複数の画素に含まれる少なくも一つの欠陥画素のx座標値(x座標データ)を記憶している。つまり、バッファ30は、補正ライン用判定部161Aに入力される複数の入力データの少なくとも一部と一致する複数のデータを記憶している。そして、補正ライン用判定部161Aは、バッファ30からx座標値を昇順で読み出している。つまり、補正ライン用判定部161Aは、入力データが入力される際の規則と同じ規則に基づく順序でバッファ30からデータを読み出している。補正ライン用判定部161Aは、バッファ30から読み出したx座標データ(x座標値)と、偶数奇数カウンタ150Aから入力される偶数カウント値及び奇数カウント値とを比較し、当該x座標データが当該偶数カウント値及び当該奇数カウント値のそれぞれと一致しないときには、当該x座標データと、偶数奇数カウンタ150Aから次に入力される偶数カウント値及び奇数カウント値とを比較する。一方で、補正ライン用判定部161Aは、当該x座標データが当該偶数カウント値及び当該奇数カウント値の一方と一致するときには、バッファ30から読み出した次のx座標データと、偶数奇数カウンタ150Aから次に入力される偶数カウント値及び奇数カウント値とを比較する。
【0245】
本変形例では、補正ライン用判定部161Aに対して偶数奇数カウンタ150Aからデータが順に入力される際の規則(上記の例では昇順)と同じ規則に基づく順序でバッファ30からx座標データが読み出されることから、偶数奇数カウンタ150Aからの偶数カウント値及び奇数カウント値と、バッファ30から読み出された一つのx座標データとを比較するだけで、当該偶数カウント値及び当該奇数カウント値がバッファ30内のx座標データと一致するか否かを判定することができる。本変形例では、偶数カウント値及び奇数カウント値のそれぞれが、バッファ30から読み出された一つのx座標データと一致しないときには、当該偶数カウント値及び当該奇数カウント値がバッファ30内のx座標データと一致しないことになる。また、偶数カウント値及び奇数カウント値の一方の値が、バッファ30から読み出された一つのx座標データと一致するときには、当該一方の値がバッファ30内のx座標データと一致することになる。よって、偶数カウント値及び奇数カウント値とバッファ30内のすべてのx座標データとを比較することなく、当該偶数カウント値及び当該奇数カウント値がバッファ30内のx座標データと一致するか否かを簡単に判定することができる。よって、処理時間の減少あるいは回路構成の簡素化が可能となる。
【0246】
なお、補正ライン用判定部161B、次ライン用判定部162A及び次ライン用判定部162Bについても同様である。
【0247】
<その他の変形例>
上記の例では、データ処理装置1に対してラインを構成する複数の画素の画素データが、x座標値の昇順で入力されていたが、x座標値の降順で入力されても良い。この場合には、カウンタ50からカウント値が降順で出力され、判定部51はバッファ30から降順でx座標データを読み出す。また、偶数奇数カウンタ150A,150Bから偶数カウント値及び奇数カウント値が降順で出力され、補正ライン用判定部161A,161B及び次ライン用判定部162A,162Bはバッファ30から降順でx座標データを読み出す。
【0248】
また、上記の例では、部分領域11A,11Bの画素データがともにx座標値の昇順で入力されていたが、部分領域11A,11Bの一方の画素データがx座標値の昇順で入力され、部分領域11A,11Bの他方の画素データがx座標値の降順で入力されても良い。
【0249】
また、上記の例では、判定回路5は画素のx座標値を処理していたが、画素に関する他のデータを処理しても良い。
【0250】
以上のように、データ処理装置1は詳細に説明されたが、上記した説明は、全ての局面において例示であって、この発明がそれに限定されるものではない。また、上述した各種変形例は、相互に矛盾しない限り組み合わせて適用可能である。そして、例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。