以下に、本発明の好ましい実施の形態を、添付の図面に基づいて詳細に説明する。
<第1の実施形態>
図1は、本発明のデータ処理装置が適用される一例としての撮像装置の概略的な内部構成例を示す図である。本実施形態の撮像装置は、デジタルカメラやデジタルビデオカメラ、カメラ機能を備えたスマートフォンやタブレット端末などの各種携帯端末、工業用カメラ、車載カメラ、医療用カメラなどに適用可能である。
図1において、本実施形態の撮像装置は、レンズ101、撮像素子102、A/D変換器103、キズデータ生成部105、工程キズデータ保持部111、キズデータ統合部108、統合キズデータ保持部112、画像処理部110を有する。
レンズ101は、撮像光学系のレンズであり、被写体等の光学像を撮像素子102の撮像センサ上に結像させる。撮像素子102は、CCDやCMOS等からなる撮像センサとその周辺回路を有して構成されており、レンズ101により撮像センサ上に結像された光学像を電気信号(撮像信号)に変換してA/D変換器103に出力する。A/D変換器103は、撮像素子102にて取得されて供給された撮像信号を、デジタル画像データ(以下、画像データ104と表記する。)に変換する。A/D変換器103から出力された画像データ104は、画像処理部110とキズデータ生成部105に送られる。
ここで、撮像素子102の撮像センサには複数の画素が二次元配置されており、それら複数の画素の中には、正しく画素データを生成できない不良画素(キズ画素)となってしまったものがある。キズ画素には、例えば製品出荷後に宇宙線、静電破壊等の外部要因や経時変化等に起因して後発的に生ずる第1のキズ画素(後キズ画素)と、撮像センサの製造工程等の初期段階で生じた第2のキズ画素(工程キズ画素)とがある。また、工程キズ画素は、製造工程等で生じたキズ画素であるため、製品出荷前の検査等によりそのキズ画素の位置、キズ画素の状態や種類等が予め判っている。
キズデータ生成部105は、画像データ104から後キズ画素のキズデータである第1のキズデータ(以下、後キズデータ106と表記する。)を生成する。具体的には、キズデータ生成部105は、画像データ104の各画素データの中で、周囲の画素と著しく信号レベルの異なる(例えば周囲の画素との間の信号レベル差が閾値を超える)画素を、後キズ画素として検出する。そして、キズデータ生成部105は、検出した後キズ画素に対応した後キズデータ106を生成する。
後キズデータ106は、撮像センサにおけるキズ画素の位置情報の他、キズ画素の状態や種類、ISO感度やシャッター速度、温度等のパラメータ等の情報を含むデータである。本実施形態において、キズ画素の位置情報は、不良画素間(キズ画素間)の相対距離により表現される。また、キズ画素間の相対距離は、撮像センサから例えばラスタスキャン順のような所定の方向及び順序で各画素データが読み出される際の、読み出し画素数に相当する情報となされている。すなわち、撮像センサからラスタスキャン順に順次読み出しが行われる各画素のうち、或るキズ画素から次のキズ画素までの間の画素数が、キズ画素間の相対距離を表す情報となされる。ただし、実際には相対距離(画素数)の値を表す際に用いられるビット数には制限があり、そのためキズ画素間の相対距離も有限の距離しか表すことができない。例えば、距離を16bitのデータで表すような場合、その16bitで表せる範囲は"0〜65535"の有限範囲となり、相対距離もその有限の範囲内でしか表すことができない。したがって、キズ画素間の相対距離が有限範囲を超えるような場合には、例えばそれらキズ画素間に中継点となるダミーキズ画素を挿入するようにして、各キズ画素間の相対距離が有限範囲を超えないようにしている。以下、ダミーキズ画素のキズデータをダミーキズデータと表記する。キズデータ生成部105は、前述のようにして生成した後キズデータ106(ダミーキズデータを挿入した場合にはそれも含む)を、キズデータ統合部108に送る。
工程キズデータ保持部111は、例えば不揮発性メモリからなり、製造工程等において生じた既知の工程キズ画素のキズデータである第2のキズデータ(以下、工程キズデータ107と表記する。)を保持している。工程キズデータ107は、前述の後キズデータ106の場合と同様に、キズ画素の位置が、キズ画素間の画素数に相当する相対距離として表されている。また、工程キズデータ107においても、前述の後キズデータ106と同様、キズ画素間の相対距離が有限範囲を超えるような場合には、キズ画素間に中継点となるダミーキズ画素が挿入されて、キズ画素間の相対距離が有限範囲内に収まるようになされる。工程キズデータ保持部111は、それら工程キズ画素の位置(相対距離の情報)等を含む工程キズデータ107(ダミーキズデータが挿入されている場合にはそれも含む)を保持している。
キズデータ統合部108には、前述したキズデータ生成部105から出力された後キズデータ106と、工程キズデータ保持部111から読み出された工程キズデータ107とが供給される。そして、キズデータ統合部108は、後キズデータ106と工程キズデータ107とを統合(マージ)して第3のキズデータ(以下、統合キズデータ109と表記する。)を生成する。なお、本実施形態におけるキズデータの統合(マージ)とは、後キズデータ106と工程キズデータ107の両方を合わせたキズデータを生成することである。ただし、本実施形態の場合、詳細は後述するが、キズデータ統合部108は、統合の対象になっているキズデータがダミーキズデータである場合には、そのダミーキズデータが不要なダミーキズデータであるか否かを判定する。そして、キズデータ統合部108は、ダミーキズデータが不要なダミーキズデータであると判定した場合には、そのダミーキズデータを、統合キズデータ109として統合する対象から除外する。キズデータ統合部108の、より詳細な構成及び動作は後述する。このようにしてキズデータ統合部108にて生成された統合キズデータ109は、統合キズデータ保持部112に送られて保持される。
統合キズデータ保持部112は、画像処理部110からの要求に応じて、保持している統合キズデータ109を読み出して画像処理部110に供給する。
画像処理部110は、統合キズデータ保持部112から読み出された統合キズデータ109を用いて、画像データ104のキズ画素に対するキズ補正処理を行う。具体的には、画像処理部110は、統合キズデータ109に含まれている位置情報(相対距離の情報)を基に、キズ画素の位置(画像データ104の中のキズ画素の画素データ)を特定する。さらに、画像処理部110は、統合キズデータ109に含まれている、キズ画素の状態や種類、ISO感度、シャッター速度、温度等のパラメータの情報を用いて、キズ画素に対してキズ補間処理を行うかどうかを判断する。そして、画像処理部110は、特定したキズ画素についてキズ補間処理を行うと判断した場合、そのキズ画素の画素データに対してキズ補正処理を行う。具体的には、画像処理部110は、撮像センサに二次元配置されている各画素のなかで、キズ画素に対する周囲の画素の画素データ(キズ画素の周囲の正常な画素の画素データ)を用いて、そのキズ画素に対する補間等を行うようなキズ補正処理を行う。このようにして画像処理部110によりキズ補正等の画像処理がなされた画像データは、図示しない表示部や符号化部、記録部等に送られる。これら表示部や符号化部、記録部等の説明は省略する。
図2は、図1のキズデータ統合部108の詳細な構成例を示す図である。
キズデータ統合部108は、距離更新部201、距離比較部202、統合対象選択部205、不要ダミーキズ判定部207を有して構成されている。
距離更新部201には、前述のキズデータ生成部105にて生成された後キズデータ106と、工程キズデータ保持部111から読み出された工程キズデータ107とが、入力される。距離更新部201は、詳細は後述するが、距離比較部202による相対距離の比較結果に基づいて、後キズデータ106に含まれる相対距離と工程キズデータ107に含まれる相対距離の何れか一方に対して更新処理を行う。距離更新部201における相対距離の情報更新処理の詳細は後述する。距離更新部201により、何れか一方の相対距離が更新された後キズデータ203と工程キズデータ204は、統合対象選択部205と距離比較部202とに送られる。
距離比較部202は、距離更新部201から供給された後キズデータ203に含まれる相対距離と工程キズデータ204に含まれる相対距離とを比較する。距離比較部202における相対距離の比較処理の詳細は後述する。距離比較部202は、それら相対距離の比較結果の情報を、統合対象選択部205と不要ダミーキズ判定部207とに送り、また、距離更新部201にフィードバックする。
統合対象選択部205は、距離比較部202からの比較結果の情報に基づき、距離更新部201から供給された後キズデータ203と工程キズデータ204を適宜選択して、統合対象キズデータ206として出力する。本実施形態の場合、統合対象選択部205が統合処理手段に相当し、キズデータ統合部108から出力される統合キズデータ109は、統合対象選択部205により選出された統合対象キズデータ206により生成されることになる。ただし、本実施形態の場合、統合対象選択部205から選出された統合対象キズデータ206がダミーキズデータである場合には、後述する不要ダミーキズ判定部207において、そのダミーキズデータが不要なダミーキズデータであるか否か判定される。統合対象選択部205における統合対象キズデータ206の選出処理の詳細は後述する。統合対象選択部205により選出された統合対象キズデータ206は、不要ダミーキズ判定部207に送られる。
不要ダミーキズ判定部207は、距離比較部202による比較結果の情報と、統合対象選択部205により選出された統合対象キズデータ206に含まれる情報とを基に、その統合対象キズデータ206が統合後に不要なダミーキズデータであるか否か判定する。そして、不要ダミーキズ判定部207は、統合対象キズデータ206が不要なダミーキズデータであると判定した場合には、その統合対象キズデータ206(ダミーキズデータ)を、統合対象キズデータから除外する。不要ダミーキズ判定部207における判定処理及び不要ダミーキズデータの除外処理の詳細は後述する。この不要ダミーキズ判定部207により除外されなかった全ての統合対象キズデータが、統合キズデータ109として、図2のキズデータ統合部108から出力され、図1の統合キズデータ保持部112に保持される。
図3は、図2に示したキズデータ統合部108で行われる処理のフローチャートである。図3のフローチャートに示した処理は、本実施形態に係るプログラムを、例えばCPUが実行することにより実現されてもよい。本実施形態に係るプログラムは、例えば不図示のROM等に予め用意されていてもよく、また不図示の外部記憶媒体から読み出されたり、不図示のインターネット等のネットワークからダウンロードされたりして、不図示のRAM等にロードされてもよい。これらのことは後述する他のフローチャートにおいても同様である。なお、図3の各処理のステップS301〜ステップS314はS301〜S314と略記する。また、以下の説明では、後キズデータ106(203)をキズデータA、その相対距離を相対距離aとし、工程キズデータ107(204)をキズデータB、その距離情報を相対距離b、統合キズデータ109をキズデータMとする。
キズデータ統合部108は、S301においてキズデータA(後キズデータ106)とキズデータB(工程キズデータ107)とが入力されると、それらキズデータA,Bを、距離更新部201を介して距離比較部202に送る。S301の後、キズデータ統合部108は、S302に処理を進める。
S302では、距離比較部202は、キズデータAの相対距離aと、キズデータBの相対距離bとを比較し、相対距離aが相対距離b以下であるか否か判定する。距離比較部202において相対距離aが相対距離b以下であると判定された場合(Yes)、キズデータ統合部108の処理は、S303に進む。一方、距離比較部202において相対距離aが相対距離bより大きいと判定された場合(No)、キズデータ統合部108の処理は、S304に進む。S303とS304は、統合対象選択部205により行われる処理である。
S303では、統合対象選択部205は、キズデータAを統合対象キズデータとして選択し、一方、S304では、統合対象選択部205は、キズデータBを統合対象キズデータとして選択する。これらS303、S304の後、キズデータ統合部108は、S305に処理を進める。S305は、不要ダミーキズ判定部207により行われる処理である。
S305では、不要ダミーキズ判定部207は、距離比較部202による比較結果は相対距離aと相対距離bが等しい距離(同一距離)であったかどうか判定する。不要ダミーキズ判定部207は、相対距離aと相対距離bが等しい距離であった場合(Yes)にはS308に処理を進める。一方、不要ダミーキズ判定部207は、相対距離aと相対距離bが異なる距離であった場合(No)にはS306に処理を進める。
S306では、不要ダミーキズ判定部207は、S303又はS304で選択された統合対象キズデータがダミーキズデータであるか否かを判定する。不要ダミーキズ判定部207は、統合対象キズデータがダミーキズデータである場合(Yes)にはS307に処理を進め、一方、ダミーキズデータでない場合(No)にはS308に処理を進める。
S307では、不要ダミーキズ判定部207は、S303又はS304で選択された統合対象キズデータ(つまりダミーキズデータ)を、統合対象キズデータとして出力せずに破棄する。S307の後、キズデータ統合部108は、S309に処理を進める。
S308では、不要ダミーキズ判定部207は、S303又はS304で選択された統合対象キズデータ(つまりダミーキズデータではないキズデータ)を、統合対象キズデータとして残して出力する。S308の後、キズデータ統合部108は、S309に処理を進める。
S309では、キズデータ統合部108は、全てのキズデータA及びBに対する統合処理が完了したか否かを判定する。キズデータ統合部108は、全てのキズデータA,Bに対する統合処理が完了したと判定した場合(Yes)には図3のフローチャートの処理を終了する。一方、キズデータ統合部108は、全てのキズデータA,Bに対する統合処理が完了していない(キズデータが未だ残っている)と判定した場合(No)には、S310の処理に進む。S310は、距離更新部201にて行われる処理である。
S310では、距離更新部201は、距離比較部202による比較結果は相対距離aが相対距離b以下であったかどうか判定する。距離更新部201は、相対距離aが相対距離b以下であった場合(Yes)には、S311に処理を進める。一方、距離更新部201は、相対距離aが相対距離bより大きかった場合(No)には、S313に処理を進める。
S311では、距離更新部201は、S302〜S304で統合対象として選択されなかった方のキズデータの相対距離を、統合対象として選択されたキズデータの相対距離分だけ差し引いた値により更新する。すなわち、S311に進んだ場合、相対距離が大きかったために統合対象として選択されなかった方のキズデータはキズデータBであり、一方、相対距離が小さいため選択された統合対象キズデータはキズデータAである。したがって、この場合の距離更新部201は、キズデータBの相対距離bの値を、キズデータAの相対距離aの値分だけ差し引いた値により更新する。S311の後、キズデータ統合部108は、S312に処理を進める。S312では、キズデータ統合部108は、次のキズデータ(この場合は次のキズデータA)が入力されて、このキズデータAを、距離更新部201を介して距離比較部202に送る。S312の後、キズデータ統合部108は、S302の処理に戻る。
S313では、距離更新部201は、S302〜S304で統合対象として選択されなかった方のキズデータの相対距離を、統合対象として選択されたキズデータの相対距離分だけ差し引いた値で更新する。すなわち、S313に進んだ場合、統合対象として選択されなかったのはキズデータAであり、一方、選択された統合対象キズデータはキズデータBである。したがって、この場合の距離更新部201は、キズデータAの相対距離aの値を、キズデータBの相対距離bの分だけ差し引いた値により更新する。S313の後、キズデータ統合部108は、S314に処理を進める。S314では、キズデータ統合部108は、次のキズデータ(この場合は次のキズデータB)が入力されて、このキズデータBを、距離更新部201を介して距離比較部202に送る。S314の後、キズデータ統合部108は、S302の処理に戻る。
なお、S305とS306の処理は入れ替えられてもよい。この場合、S305において統合対象キズデータがダミーキズデータであるか否かの判定が行われ、S306において相対距離aと相対距離bの値が等しいか否かの判定が行われる。そして、S305において、統合対象キズデータがダミーキズデータであると判定された場合にS306の処理に進み、一方、ダミーキズデータでないと判定された場合にS308の処理に進む。また、S306において、相対距離aと相対距離bの値が等しい場合にはS308の処理に進み、等しくない(異なる)場合にはS307の処理に進む。
図4(a),図4(b)は、キズデータ統合部108で行われる統合処理前後のキズデータの状態の一例を示す図である。
図4(a)は、撮像センサの二次元画素配置に対応させた状態で、キズデータAのキズ画素xAの位置と、キズデータBのキズ画素xBの位置と、統合キズデータMの統合キズ画素xA,xBの位置の例を表している。また、図4(a)の例には、ダミーキズデータのダミーキズ画素dの位置も含まれている。
図4(b)は、キズデータA,キズデータB,統合キズデータMの各キズ画素xA,xB,dにそれぞれ対応したキズデータの一例を表している。図4(b)の例えばキズデータ"03_A"は、キズ画素の種別が後キズ画素であり、相対距離aが前述したラスタスキャン順において直前に読み出されたキズ画素との間で画素数"3"に相当する距離であることを示している。同様に、図4(b)の例えばキズデータ"01_B"は、キズ画素の種別が工程キズ画素であり、相対距離bが前述のラスタスキャン順において直前に読み出されたキズ画素との間で画素数"1"に相当する距離であることを示している。また、図4(b)の例えばキズデータ"15_D"は、キズ画素の種別がダミーキズ画素であり、相対距離がラスタスキャン順において直前に読み出されたキズ画素との間で画素数"15"に相当する距離であることを示している。他の各キズデータについても同様である。なお、前述したラスタスキャン順で最初のキズ画素の相対距離は、ラスタスキャン順に読み出される最初の画素(始点座標の画素)からの距離により表される。
これら図4(a),図4(b)に示すように、統合キズデータMのキズ画素xA,xB,dは、キズデータAのキズ画素xAと、キズデータBのキズ画素xBと、ダミーキズデータのダミーキズ画素dとが統合されたものとなる。
図5(a)〜図5(c)は、図4(a)及び図4(b)に示したキズデータの例を挙げて、キズデータ統合部108で行われる相対距離の情報更新処理の一例の説明に用いる図である。
図5(a)はキズデータAの各キズ画素に対応したキズデータ例を、図5(b)はキズデータBの各工程キズ画素に対応したキズデータ例を、図5(c)は統合キズデータMの各統合キズ画素に対応したキズデータ例を示している。これら各キズデータには、ダミーキズデータのダミーキズ画素に対応したキズデータも含まれている。図5(a)〜図5(c)の各キズデータの並び順は、前述したラスタスキャン順に対応している。また、図5(a)〜図5(c)の例えばキズデータ"03_A","01_B","15_D"等は、図4(b)で説明したのと同様である。
キズデータ統合部108では、先ず、キズデータAの先頭のキズデータ501の相対距離と、キズデータBの先頭のキズデータ502の相対距離とを、距離比較部202により比較する。そして、キズデータ統合部108は、距離比較部202による比較の結果、相対距離が小さい(短い)方のキズデータを、統合対象選択部205により統合対象キズデータとして選択する。図4(a),図4(b)及び図5(a)〜図5(c)の例では、キズデータAの先頭のキズデータ501(03_A)は、相対距離の値が"03"(画素数"3"に相当する距離)である。一方、キズデータBの先頭のキズデータ502(01_B)は、相対距離の値が"01"(画素数"1"に相当する距離)である。そして、これらの相対距離を比較すると、相対距離が小さいのはキズデータ502(01_B)の方である。このため、キズデータ統合部108では、統合対象選択部205において、キズデータBのキズデータ502(01_B)を、統合対象キズデータとして選択する。また、この統合対象キズデータとして選択されたキズデータ502は、キズデータBであってダミーキズデータではない。このため、不要ダミーキズ判定部207は、このキズデータ502を統合キズデータMとして出力する。これにより、統合キズデータMの先頭のキズデータは、キズデータ502(01_B)となる。
次に、キズデータ統合部108は、統合対象として選択された側(この場合はキズデータB側)については、ラスタスキャン順の次のキズデータを読み込むようにする。すなわち、図4(a),図4(b)及び図5(b)の例では、統合対象として選択されたキズデータBにおいてラスタスキャン順で次のキズデータ504は、キズデータ"05_B"となる。一方、キズデータ統合部108は、統合対象として選択されなかった側(この場合はキズデータA側)のキズデータの相対距離を、統合対象として選択されたキズデータの相対距離との差分の値により更新する。この例では、統合対象として選択されなかったキズデータAのキズデータ501(03_A)は相対距離の値が"03"で、統合対象として選択されたキズデータBのキズデータ502(01_B)は相対距離の値が"01"である。そして、それらキズデータ501(03_A)の相対距離の値"03"とキズデータ502(01_B)の相対距離の値"01"との差分は、"03"−"01"="02"となる。したがって、統合対象として選択されなかった側のキズデータAにおいて、ラスタスキャン順で次のキズデータ503は、キズデータ"02_A"に更新される。
以下同様の処理が繰り返され、例えば、距離比較部202によるキズデータAのキズデータ505(13_A)の相対距離とキズデータBのキズデータ506(00_D)の相対距離の比較が行われる段階まで進んだとする。図5(a),図5(b)の例では、キズデータ505(13_A)の相対距離の値が"13"で、キズデータ506(00_D)の相対距離の値が"00"である。このため、統合対象選択部205では、キズデータ506(00_D)が統合対象キズデータとして選択されることになる。また、これらキズデータ505(13_A)とキズデータ506(00_D)の相対距離の値は"13"と"00"であり等しくない。ただし、キズデータ506は、統合対象選択部205において統合対象キズデータとして選択されたものではあるが、ダミーキズデータ"00_D"である。したがって、この場合、不要ダミーキズ判定部207は、ダミーキズデータ"00_D"を統合せずに破棄して出力無し507とする。
その後は、前述同様に、キズデータ統合部108は、統合対象に選択されなかった側(この場合はキズデータB側)については、ラスタスキャン順の次のキズデータを読み込むようにする。すなわち、統合対象に選択された側のキズデータBにおいて、ラスタスキャン順で次のキズデータ509は、キズデータ"15_B"となる。一方、キズデータ統合部108は、統合対象に選択されなかったキズデータAのキズデータ508は、統合対象に選択された側のキズデータ506(00_D)の相対距離の値"00"との差分の値(13−00=13)により更新されたデータとなされる。この例の場合、統合対象に選択されなかったキズデータAのキズデータ505の相対距離の値は"13"で、統合対象に選択されたキズデータBのキズデータ506の相対距離の値は"00"である。したがって、統合対象に選択されなかった側のキズデータAにおいて、ラスタスキャン順で次のキズデータ508は、キズデータ"13_A"となる。これ以降は前述同様であるためその説明は省略する。
以上説明したように、第1の実施形態では、撮像センサのキズ画素位置がキズ画素間の相対距離で表され、キズ画素間の相対距離が所定ビット数で表せる有限範囲を超える場合にはその有限範囲内の相対距離で表せるダミーキズ画素が挿入される。また、本実施形態の撮像装置は、キズデータAとキズデータBの相対距離の比較結果に基づいて、統合対象キズデータを選択し、さらに統合対象キズデータがダミーキズデータかどうか判定する。そして、本実施形態の撮像装置は、キズデータAとキズデータBの相対距離が等しくなく、統合対象キズデータがダミーキズデータである場合には、ダミーキズデータを統合キズデータMとして統合せずに破棄するようにしている。これにより、本実施形態の撮像装置では、例えば、相対距離による位置情報を絶対位置(座標位置)に展開するような処理を要することなく、不要なダミーキズ画素を残さずにキズデータの統合が可能となっている。
<第2の実施形態>
以下、第2の実施形態について説明する。なお、第2の実施形態において、撮像装置の概略構成は図1と同様であり、それらの説明は省略する。
第2の実施形態では、ダミーキズデータの破棄を行った場合に、相対距離の情報更新を、ダミーキズデータの破棄直前のキズ画素位置に基づいて行うことが、第1の実施形態とは異なる。
図6は、第2の実施形態の場合のキズデータ統合部108の詳細な構成例を示す図である。なお、図6において、図2の構成と概ね同じものには、図2の各参照符号と同じ参照符号を付している。例えば、距離更新部201、距離比較部202、統合対象選択部205、不要ダミーキズ判定部207、後キズデータ106及び203、工程キズデータ107及び204、統合対象キズデータ206、統合キズデータ109は、図2の例と同様である。
図6の例において、距離情報保持部601は、不要ダミーキズ判定部207で統合対象キズデータ206が不要なダミーキズデータであると判定されて破棄された場合、その統合対象キズデータ206(ダミーキスデータ)に含まれる相対距離の情報を保持する。
距離調整部602は、距離情報保持部601に保持されている相対距離の情報(不要ダミーキズ判定部207で破棄されたダミーキズデータの相対距離の情報)を基に、統合対象キズデータ206の相対距離を調整する。具体的には、距離調整部602は、統合対象キズデータ206の相対距離の値に対し、直前の統合処理の際に距離情報保持部601に保持された相対距離の値(つまりダミーキズデータの相対距離の値)を加算するような調整処理を行う。なお、ここでは直前に破棄されたキズデータの相対距離の値を加算する調整処理を例に挙げているが、その他にも、他の調整方法を用いてもよい。第2の実施形態の場合、距離調整部602により相対距離の調整がなされた後の統合対象キズデータ603が、不要ダミーキズ判定部207に供給される。
図7は、第2の実施形態のキズデータ統合部108で行われる処理のフローチャートである。なお、図7のフローチャートにおいて、S301〜S314の各処理は、前述した図3のフローチャートのS301〜S314と同様の処理であるため、それらの説明は省略する。
第2の実施形態の場合、不要ダミーキズ判定部207は、S306において統合対象キズデータがダミーキズデータであると判定し、S307においてそのダミーキズデータを破棄した場合、S701の処理に進む。S701では、不要ダミーキズ判定部207は、そのダミーキズデータの相対距離の情報を距離情報保持部601に保持させる。
また第2の実施形態のキズデータ統合部108において、S303とS304の後は、S702の処理に進む。S702の処理は距離調整部602において行われる処理である。S702では、距離調整部602は、距離情報保持部601に保持された情報を基に、直前の統合処理で出力無し(前述の図5(c)で例示したような出力無し507)になされたか否か判定する。すなわち、距離情報保持部601に相対距離の情報が保持されていれば、直前の統合処理が出力無しであったと判定できる。そして、距離調整部602は、直前の統合処理が出力無しであった場合(Yes)にはS703に処理を進める。一方、出力が有った場合(No)には、キズデータ統合部108の処理は前述したS305の処理に進む。
S703では、距離調整部602は、距離情報保持部601に保持されている相対距離の値を、統合対象キズデータの相対距離に加算した後、S308に処理を進める。これ以降の処理は前述した図3のフローチャートと同様であるため説明を省略する。
図8(a)と図8(b)は、第2の実施形態において、キズデータ統合部108で行われる統合処理前後のキズデータの状態の一例を示した図である。図8(a)は、前述した図4(a)と同様に、キズデータAのキズ画素xA、キズデータBのキズ画素xB、統合キズデータMの統合キズ画素xA,xB、ダミーキズデータのダミーキズ画素dの位置の例を表している。図8(b)は、前述の図4(b)と同様に、キズデータA,キズデータB,統合キズデータMの各キズ画素xA,xB,dにそれぞれ対応したキズデータの一例を表している。
第2の実施形態においても、前述同様に、図8(a),図8(b)に示した統合キズデータMのキズ画素xA,xB,dは、キズデータAのキズ画素xAとキズデータBのキズ画素xBとダミーキズデータのダミーキズ画素dとを統合したものとなる。各キズ画素xA,xB,d、各キズデータは図4(a),図4(b)で説明したものと同様であるため、詳細な説明は省略する。
図9(a)〜図9(c)は、図8(a)及び図8(b)に示したキズデータの例において、第2の実施形態のキズデータ統合部108で行われる相対距離の調整処理と更新処理の一例の説明に用いる図である。図9(a)は、前述の図5(a)と同様に、キズデータAの各キズ画素に対応したキズデータ例を示している。また、図9(b)は、図5(b)と同様に、キズデータBの各工程キズ画素に対応したキズデータ例を、図9(c)は、図5(c)と同様に、統合キズデータMの各統合キズ画素に対応したキズデータ例を示している。これら各キズデータには、ダミーキズデータのダミーキズ画素に対応したキズデータも含まれている。
図9(a)〜図9(c)の例において、例えば、距離比較部202によるキズデータAのキズデータ901(13_D)の相対距離と、キズデータBのキズデータ902(15_D)の相対距離の比較が行われる段階まで進んでいるとする。この例の場合、キズデータAのキズデータ901(13_D)と、キズデータBのキズデータ902(15_D)とは、共にダミーキズデータである。またこの例の場合、キズデータ901(13_D)の相対距離の値が"13"で、キズデータ902(15_D)の相対距離の値が"15"であるため、統合対象選択部205では、キズデータ901(13_D)が統合対象キズデータとして選択される。ただし、キズデータ901(13_D)はダミーキズデータであり、また、キズデータ901(13_D)の相対距離とキズデータ902(15_D)の相対距離とは異なる。このため、不要ダミーキズ判定部207では、キズデータ901(13_D)が破棄されて出力無し903となされる。ここで、第2の実施形態の場合、不要ダミーキズ判定部207は、その破棄したダミーキズデータ(キズデータ901(13_D))の相対距離の値"13"の情報を、距離情報保持部601に保持させる。
次の統合処理として、キズデータ統合部108では、距離比較部202によるキズデータAのキズデータ904(04_A)の相対距離と、キズデータBのキズデータ905(02_D)の相対距離との比較が行われる。この場合、キズデータ904(04_A)の相対距離の値が"04"で、キズデータ905(02_D)の相対距離の値が"02"であるため、統合対象選択部205では、キズデータ905(02_D)が統合対象キズデータとして選択される。ただしこの場合、直前の統合処理においてキズデータが破棄されて出力無し903となっている。このため、距離調整部602は、キズデータ905(02_D)の相対距離の値"02"に対し、直前に距離情報保持部601に保持されたキズデータ901(13_D)の相対距離の値"13"を加算した値"15"を、相対距離の情報とする。これにより、距離調整部602からは、キズデータ905(02_D)の相対距離が値"15"に調整された新たなキズデータ"15_D"が、統合対象キズデータとして不要ダミーキズ判定部207に送られる。このときの不要ダミーキズ判定部207は、距離調整部602による相対距離の調整がなされた後の統合対象キズデータ906(15_D)を、統合キズデータMとして出力する。
その後、距離比較部202において、キズデータAのキズデータ907(12_A)の相対距離と、キズデータBのキズデータ908(13_D)の相対距離の比較が行われる段階まで進んだとする。また、直前の統合処理ではキズデータが破棄されて出力無しとなっており、距離情報保持部601には直前の距離情報として、例えばキズデータ909(02_D)の値"02"が保持されているとする。この例の場合、キズデータ907(12_A)の相対距離が"12"で、キズデータ908(13_D)の相対距離が"13"であるため、統合対象選択部205では、キズデータ907(12_A)が統合対象キズデータとして選択される。またこの例の場合、直前の統合処理ではキズデータが破棄されて出力無しとなっている。このため、距離調整部602は、キズデータ907(12_A)の相対距離の値"12"に対し、直前に距離情報保持部601に保持されたキズデータ909(02_D)の相対距離の値"02"を加算した値"14"を、相対距離の情報とする。これにより、距離調整部602からは、キズデータ907(12_A)の相対距離が値"14"に調整された新たなキズデータ"14_A"が、統合対象キズデータとして不要ダミーキズ判定部207に送られる。このときの不要ダミーキズ判定部207は、距離調整部602による相対距離の調整がなされた後の統合対象キズデータ910(14_A)を、統合キズデータMとして出力する。これ以降の説明は省略する。
以上説明したように、第2の実施形態では、統合処理の際にダミーキズデータが破棄された場合には、そのダミーキスデータの相対距離の情報を保持し、その保持した情報を用いて、次に選択された統合対象キズデータの相対距離の情報を調整している。これにより、第2の実施形態によれば、不要なダミーキズ画素を残さずにキズデータの統合が可能になるだけでなく、破棄されたダミーキズデータの相対距離を考慮した統合キズデータの生成が可能となる。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
上述の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明は、その技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。