(57)【要約】【課題】高速かつ低コストで検査対象物の表面の不良や欠陥を検査することのできる画像検査装置および画像検査プログラムを提供する。【解決手段】画像上で見て複数方向それぞれに隣接する複数の数値に基づいた２次元的な差分が所定程度に達しているときに、その画像中でのこの差分を求めた箇所をエッジ部分と判定し、エッジ部分と判定された箇所を含む領域については圧縮データを記録媒体に記録し、その箇所を含まない領域についてはその圧縮データを破棄する。【選択図】        図３
2010021882.tif 000002
【特許請求の範囲】
【請求項１】
数値の連続で２次元的な画像を表した被圧縮データに可逆圧縮処理を施す可逆圧縮部と、
前記被圧縮データを構成する数値の連続について、前記画像上で見てその数値に複数方向それぞれに隣接する複数の数値に基づいた２次元的な差分を求め、該差分が所定程度に達しているときに、該画像中での該差分を求めた箇所をエッジ部分と判定する判定部と、
前記画像が分けられてなる領域のうち、前記判定部でエッジ部分と判定された箇所を含む領域については、前記可逆圧縮部で得られた圧縮データを記録媒体に記録し、該箇所を含まない領域については該圧縮データを破棄するデータ記録部とを備えたことを特徴とする画像検査装置。
【請求項２】
前記判定部が、前記２次元的な差分として、判定可能なエッジ方向が異なる複数種類の差分を前記画像上の同一の箇所について求め、それら複数種類の差分に基づいて該箇所がエッジ部分であるか否かを判定するものであることを特徴とする請求項１記載の画像検査装置。
【請求項３】
前記判定部が、前記２次元的な差分として、判定可能なエッジ方向が異なる複数種類の差分を前記画像上の同一の箇所について求め、それら複数種類の差分のうち少なくとも１つの差分が所定程度に達している場合に該箇所をエッジ部分と判定するものであることを特徴とする請求項１または２記載の画像検査装置。
【請求項４】
前記被圧縮データが、前記画像上で縦横に配列された各画素に付与された画素値の連続からなるデータであり、
前記判定部が、前記２次元的な差分として、前記画像上で互いに縦横に隣接した４つの画素毎に、縦方向に並んだ画素どうしにおける画素値の和を横方向に差し引いた第１差分と、横方向に並んだ画素どうしにおける画素値の和を縦方向に差し引いた第２差分と、対角に並んだ画素どうしにおける画素値の和の一方から他方を差し引いた第３差分とを求め、それら第１差分、第２差分、および第３差分のうち少なくとも１つの差分が所定程度に達している場合に該４つの画素の箇所をエッジ部分と判定するものであることを特徴とする請求項１から３のうちいずれか１項記載の画像検査装置。
【請求項５】
前記判定部が、前記２次元的な差分として、判定可能なエッジ方向が異なる複数種類の差分を前記画像上の同一の箇所について求め、それら複数種類の差分の何れもが所定程度に達している場合に該箇所をエッジ部分と判定するものであることを特徴とする請求項１または２記載の画像検査装置。
【請求項６】
前記被圧縮データが、前記画像上で縦横に配列された各画素に付与された画素値の連続からなるデータであり、
前記判定部が、前記２次元的な差分として、前記画像上で互いに縦横に隣接した４つの画素毎に、縦方向に並んだ画素どうしにおける画素値の和を横方向に差し引いた第１差分と、横方向に並んだ画素どうしにおける画素値の和を縦方向に差し引いた第２差分と、対角に並んだ画素どうしにおける画素値の和の一方から他方を差し引いた第３差分とを求め、それら第１差分、第２差分、および第３差分の何れもが所定程度に達している場合に該４つの画素の箇所をエッジ部分と判定するものであることを特徴とする請求項１、２、５のうちいずれか１項記載の画像検査装置。
【請求項７】
前記被圧縮データが、所定の単位ビット数で表わされる数値の連続で前記画像を表現したものであり、
前記可逆圧縮部が、
前記被圧縮データを構成する数値の連続について隣接する数値どうしの差分を求めることにより該差分を表わす数値の連続からなる新たな被圧縮データを生成する差分生成部と、
前記差分生成部によって生成された新たな被圧縮データを構成する各数値を所定値だけオフセットさせるオフセット部と、
前記オフセット部によって数値がオフセットされた被圧縮データの各数値を、前記単位ビット数よりも小さい所定の分割ビット数のところで上位ビット部分と下位ビット部分とに分けることによって、該被圧縮データを、各数値における上位ビット部分の連続からなる上位データと各数値の下位ビット部分の連続からなる下位データとに分割する分割部と、
前記分割部によって分割された上位データに対して可逆圧縮処理を施す上位データ圧縮部とを備えたものであることを特徴とする請求項１から６のうちいずれか１項記載の画像検査装置。
【請求項８】
前記差分生成部が、前記被圧縮データを構成する数値について、前記画像上で見てその数値に複数方向それぞれに隣接する複数の数値に基づいた２次元的な差分を求めるものであることを特徴とする請求項７記載の画像検査装置。
【請求項９】
前記上位データ圧縮部が、上位データ中、１つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、該圧縮対象数値と、該圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第１の符号化部を備えたものであることを特徴とする請求項７または８記載の画像検査装置。
【請求項１０】
前記上位データ圧縮部が、
上位データ中、１つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、該圧縮対象数値と、該圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第１の符号化部と、
符号と数値を対応づけるテーブルを用いて、前記第１の符号化部で符号化された後のデータにエントロピー符号化を施す第２の符号化部を備えたものであることを特徴とする請求項７から９のうちいずれか１項記載の画像検査装置。
【請求項１１】
前記上位データ圧縮部が、
上位データ中、１つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、該圧縮対象数値と、該圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第１の符号化部と、
ハフマンテーブルを用いて、前記第１の符号化部で符号化された後のデータにハフマン符号化を施す第２の符号化部を備えたものであることを特徴とする請求項７から１０のうちいずれか１項記載の画像検査装置。
【請求項１２】
前記上位データ圧縮部が、
上位データ中、１つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、該圧縮対象数値と、該圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第１の符号化部と、
前記第１の符号化部で符号化された後のデータ中に出現する数値のヒストグラムを求めるヒストグラム算出部と、
前記ヒストグラム算出部で求められたヒストグラムに基づき、符号と数値を対応づけるテーブルに、出現頻度の高い数値ほど符号長の短かい符号を割り当てる符号割当部と、
前記符号割当部で符号が割り当てられたテーブルを用いて、前記第１の符号化部で符号化された後のデータにエントロピー符号化を施す第２の符号化部を備えたものであることを特徴とする請求項７から１１のうちいずれか１項記載の画像検査装置。
【請求項１３】
前記分割部によって分割された下位データに対して可逆圧縮処理を施す下位データ圧縮部を備えたことを特徴とする請求項７から１２のうちいずれか１項記載の画像検査装置。
【請求項１４】
前記下位データ圧縮部が、符号と数値を対応づけるテーブルを用いて下位データにエントロピー符号化を施すものであることを特徴とする請求項１３記載の画像検査装置。
【請求項１５】
前記下位データ圧縮部が、ハフマンテーブルを用いて下位データにハフマン符号化を施すものであることを特徴とする請求項１３または１４記載の画像検査装置。
【請求項１６】
前記下位データ圧縮部が、圧縮省略の指示を受けて下位データを無圧縮で出力するものであることを特徴とする請求項１３から１５のうちいずれか１項記載の画像検査装置。
【請求項１７】
プログラムを実行する情報処理装置内に組み込まれて該情報処理装置に画像検査処理を実行させる画像検査プログラムにおいて、
前記情報処理装置上に、
数値の連続で２次元的な画像を表した被圧縮データに可逆圧縮処理を施す可逆圧縮部と、
前記被圧縮データを構成する数値の連続について、前記画像上で見てその数値に複数方向それぞれに隣接する複数の数値に基づいた２次元的な差分を求め、該差分が所定程度に達しているときに、該画像中での該差分を求めた箇所をエッジ部分と判定する判定部と、
前記画像が分けられてなる領域のうち、前記判定部でエッジ部分と判定された箇所を含む領域については、前記可逆圧縮部で得られた圧縮データを記録媒体に記録し、該箇所を含まない領域については該圧縮データを破棄するデータ記録部とを構築することを特徴とする画像検査プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検査対象物の表面の不良や欠陥を検査する画像検査装置および画像検査プログラムに関する。
【背景技術】
【０００２】
従来より、連続して搬送される紙やフィルムなどといった長尺な製品の製造工程における不良や欠陥を検査する装置について種々の提案がなされている。例えば、製造工程で検査対象物をラインセンサで読み込んだりカメラで撮影して画像を得て、得られた画像をソフトウェアや専用のハードウェアを用いて画像処理することによって、検査対象物の表面のキズ等を検査する装置が知られている。
【０００３】
また、そのような検査で応用可能な画像処理の一例として、例えば、第１の画像データと第２の画像データを同一の分割パターンで複数のエリアに分割し、画素単位ではなくエリア単位のエリア画素値で比較して画像の変化を検出することにより、微細な変化は検出せずに大きな変化のみを効率よく検出する画像処理（例えば、特許文献１参照。）や、１つの静止画像を構成する画素のうち予め設定された１本の線分上にある画素のみに対応する画像信号を用いて濃度が連続的に変化している部分画像を検出することにより静止画像内のグラデーション部分を検出する画像処理（例えば、特許文献２参照。）が提案されている。
【特許文献１】特開２００４−２８０６９７号公報
【特許文献２】特開２００１−３０９３７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来提案されている画像処理は、複雑な演算を要するものが多く、ソフトウェアを用いて画像処理を実行すると多くの時間を要し、ソフトウェアを用いて画像処理することによって検査対象物の表面のキズ等を検査する従来の装置に適用すると、その画像処理時間が製造工程におけるタクトタイムのボトルネックとなる。また、専用のハードウェアを用いて従来の画像処理を実行するにはそのハードウェアが高コストとなり、専用のハードウェアを用いて画像処理することによって検査対象物の表面のキズ等を検査する従来の装置に適用すると、コストの面で非常に不利である。
【０００５】
本発明は、上記事情に鑑み、高速かつ低コストで検査対象物の表面の不良や欠陥を検査することのできる画像検査装置および画像検査プログラムを提供することを目的とするものである。
【課題を解決するための手段】
【０００６】
上記目的を達成する画像検査装置は、
数値の連続で２次元的な画像を表した被圧縮データに可逆圧縮処理を施す可逆圧縮部と、
上記被圧縮データを構成する数値の連続について、上記画像上で見てその数値に複数方向それぞれに隣接する複数の数値に基づいた２次元的な差分を求め、この差分が所定程度に達しているときに、その画像中でのこの差分を求めた箇所をエッジ部分と判定する判定部と、
上記画像が分けられてなる領域のうち、上記判定部でエッジ部分と判定された箇所を含む領域については、上記可逆圧縮部で得られた圧縮データを記録媒体に記録し、その箇所を含まない領域についてはその圧縮データを破棄するデータ記録部とを備えたことを特徴とする。
【０００７】
ここで、上記の『画像が分けられてなる領域』における『領域』とは、具体的には、例えば、連続して搬送される紙やフィルムなどといった長尺な製品の画像をラインセンサで読み込んだ所定数ライン分の区間やそのような長尺な製品の画像をカメラで撮影した撮影領域等の意である。
【０００８】
ここで、本発明の画像検査装置は、
上記判定部が、上記２次元的な差分として、判定可能なエッジ方向が異なる複数種類の差分を上記画像上の同一の箇所について求め、それら複数種類の差分に基づいてその箇所がエッジ部分であるか否かを判定するものであることが好ましい。
【０００９】
また、本発明の画像検査装置は、
上記判定部が、上記２次元的な差分として、判定可能なエッジ方向が異なる複数種類の差分を上記画像上の同一の箇所について求め、それら複数種類の差分のうち少なくとも１つの差分が所定程度に達している場合にその箇所をエッジ部分と判定するものであることが、より好ましい。
【００１０】
また、本発明の画像検査装置は、
上記被圧縮データが、上記画像上で縦横に配列された各画素に付与された画素値の連続からなるデータであり、
上記判定部が、上記２次元的な差分として、上記画像上で互いに縦横に隣接した４つの画素毎に、縦方向に並んだ画素どうしにおける画素値の和を横方向に差し引いた第１差分と、横方向に並んだ画素どうしにおける画素値の和を縦方向に差し引いた第２差分と、対角に並んだ画素どうしにおける画素値の和の一方から他方を差し引いた第３差分とを求め、それら第１差分、第２差分、および第３差分のうち少なくとも１つの差分が所定程度に達している場合にそれら４つの画素の箇所をエッジ部分と判定するものであってもよい。
【００１１】
また、本発明の画像検査装置は、
上記判定部が、上記２次元的な差分として、判定可能なエッジ方向が異なる複数種類の差分を上記画像上の同一の箇所について求め、それら複数種類の差分の何れもが所定程度に達している場合にその箇所をエッジ部分と判定するものであることが、より好ましい。
【００１２】
また、本発明の画像検査装置は、
上記被圧縮データが、上記画像上で縦横に配列された各画素に付与された画素値の連続からなるデータであり、
上記判定部が、上記２次元的な差分として、上記画像上で互いに縦横に隣接した４つの画素毎に、縦方向に並んだ画素どうしにおける画素値の和を横方向に差し引いた第１差分と、横方向に並んだ画素どうしにおける画素値の和を縦方向に差し引いた第２差分と、対角に並んだ画素どうしにおける画素値の和の一方から他方を差し引いた第３差分とを求め、それら第１差分、第２差分、および第３差分の何れもが所定程度に達している場合にそれら４つの画素の箇所をエッジ部分と判定するものであってもよい。
【００１３】
また、本発明の画像検査装置は、
上記被圧縮データが、所定の単位ビット数で表わされる数値の連続で上記画像を表現したものであり、
上記可逆圧縮部が、
上記被圧縮データを構成する数値の連続について隣接する数値どうしの差分を求めることによりその差分を表わす数値の連続からなる新たな被圧縮データを生成する差分生成部と、
上記差分生成部によって生成された新たな被圧縮データを構成する各数値を所定値だけオフセットさせるオフセット部と、
上記オフセット部によって数値がオフセットされた被圧縮データの各数値を、上記単位ビット数よりも小さい所定の分割ビット数のところで上位ビット部分と下位ビット部分とに分けることによって、その被圧縮データを、各数値における上位ビット部分の連続からなる上位データと各数値の下位ビット部分の連続からなる下位データとに分割する分割部と、
上記分割部によって分割された上位データに対して可逆圧縮処理を施す上位データ圧縮部とを備えたものであることが好適である。
【００１４】
ここで、『隣接する数値どうしの差分』とは、１次元的な差分のみならず２次元以上の多次元的な差分も含む意である。以下においても同様である。
【００１５】
また、上記差分生成部を備えた画像検査装置は、
上記差分生成部が、上記被圧縮データを構成する数値について、上記画像上で見てその数値に複数方向それぞれに隣接する複数の数値に基づいた２次元的な差分を求めるものであることが、より好ましい。
【００１６】
また、上記上位データ圧縮部を備えた画像検査装置は、
上記上位データ圧縮部が、上位データ中、１つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、その圧縮対象数値と、その圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第１の符号化部を備えたものであることが好ましい。
【００１７】
また、上記上位データ圧縮部を備えた画像検査装置は、
上記上位データ圧縮部が、
上位データ中、１つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、その圧縮対象数値と、その圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第１の符号化部と、
符号と数値を対応づけるテーブルを用いて、上記第１の符号化部で符号化された後のデータにエントロピー符号化を施す第２の符号化部を備えたものであることが、より好ましい。
【００１８】
また、上記上位データ圧縮部を備えた画像検査装置は、
上記上位データ圧縮部が、
上位データ中、１つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、その圧縮対象数値と、その圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第１の符号化部と、
ハフマンテーブルを用いて、上記第１の符号化部で符号化された後のデータにハフマン符号化を施す第２の符号化部を備えたものであってもよい。
【００１９】
また、上記上位データ圧縮部を備えた画像検査装置は、
上記上位データ圧縮部が、
上位データ中、１つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、その圧縮対象数値と、その圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第１の符号化部と、
上記第１の符号化部で符号化された後のデータ中に出現する数値のヒストグラムを求めるヒストグラム算出部と、
上記ヒストグラム算出部で求められたヒストグラムに基づき、符号と数値を対応づけるテーブルに、出現頻度の高い数値ほど符号長の短かい符号を割り当てる符号割当部と、
上記符号割当部で符号が割り当てられたテーブルを用いて、上記第１の符号化部で符号化された後のデータにエントロピー符号化を施す第２の符号化部を備えたものであることが、より好ましい。
【００２０】
また、上記分割部を備えた画像検査装置は、
上記分割部によって分割された下位データに対して可逆圧縮処理を施す下位データ圧縮部を備えたことが好適である。
【００２１】
また、上記下位データ圧縮部を備えた画像検査装置は、
上記下位データ圧縮部が、符号と数値を対応づけるテーブルを用いて下位データにエントロピー符号化を施すものであることが好ましい。
【００２２】
また、上記下位データ圧縮部を備えた画像検査装置は、
上記下位データ圧縮部が、ハフマンテーブルを用いて下位データにハフマン符号化を施すものであってもよい。
【００２３】
また、上記下位データ圧縮部を備えた画像検査装置は、
上記下位データ圧縮部が、圧縮省略の指示を受けて下位データを無圧縮で出力するものであることも好適である。
【００２４】
また、本発明の画像検査プログラムは、
プログラムを実行する情報処理装置内に組み込まれてその情報処理装置に画像検査処理を実行させる画像検査プログラムにおいて、
上記情報処理装置上に、
数値の連続で２次元的な画像を表した被圧縮データに可逆圧縮処理を施す可逆圧縮部と、
上記被圧縮データを構成する数値の連続について、上記画像上で見てその数値に複数方向それぞれに隣接する複数の数値に基づいた２次元的な差分を求め、この差分が所定程度に達しているときに、その画像中でのこの差分を求めた箇所をエッジ部分と判定する判定部と、
上記画像が分けられてなる領域のうち、上記判定部でエッジ部分と判定された箇所を含む領域については、上記可逆圧縮部で得られた圧縮データを記録媒体に記録し、その箇所を含まない領域についてはその圧縮データを破棄するデータ記録部とを構築することを特徴とする。
【００２５】
なお、本発明にいう画像検査プログラムについては、ここではその基本形態のみを示すのにとどめるが、これは単に重複を避けるためであり、本発明にいう画像検査プログラムには、上記の基本形態のみではなく、前述した画像検査装置の各形態に対応する各種の形態が含まれる。
【００２６】
また、本発明の画像検査プログラムがコンピュータ上に構成する可逆圧縮部などといった要素は、１つの要素が１つのプログラム部品によって構築されるものであってもよく、１つの要素が複数のプログラム部品によって構築されるものであってもよく、複数の要素が１つのプログラム部品によって構築されるものであってもよい。また、これらの要素は、そのような作用を自分自身で実行するものとして構築されてもよく、あるいは、コンピュータに組み込まれている他のプログラムやプログラム部品に指示を与えて実行するものとして構築されても良い。
【発明の効果】
【００２７】
上記本発明の画像検査装置ないし画像検査プログラムによれば、画像上の２次元的な差分でエッジ部分を判定するので、高速かつ低コストで検査対象物の表面の不良や欠陥を検査することができる。この方式によるエッジ判定は、特にエッジの検知漏れを防ぐのに適している。
【００２８】
また、エッジ部分と判定された箇所を含む領域については圧縮データを記録媒体に記録し、その箇所を含まない領域についてはその圧縮データを破棄するので、エッジ判定の事後検証が可能である。このため、エッジの検知漏れが少なければある程度の誤検知は許容され、上記の２次元的な差分によるエッジ判定との相性がよい。
【００２９】
また、上記判定部が、上記２次元的な差分として、判定可能なエッジ方向が異なる複数種類の差分を上記画像上の同一の箇所について求めるものであると、エッジ部分が容易かつ正確に求められる。さらに、その判定部が、それら複数種類の差分のうち少なくとも１つの差分が所定程度に達している場合にその箇所をエッジ部分と判定するものであると、エッジ部分の検知漏れが少ない。一方、その判定部が、それら複数種類の差分の何れもが所定程度に達している場合にその箇所をエッジ部分と判定するものであると、エッジ部分の誤検知を抑えて無用なデータ記録を抑えることができる。
【００３０】
また、上記可逆圧縮部が、分割部などを備え上位データと下位データとを分けて処理する形態によれば、後で詳述するように、データ中の数値の分布傾向が顕著に異なっている上位データと下位データとで、各々に適した可逆な処理を施すことができ、高い圧縮率が実現できる。また、このような上位データおよび下位データは、アルゴリズムが単純な可逆圧縮処理で大幅な圧縮が期待できるため圧縮の処理時間が短い。
【００３１】
また、上記差分生成部が、被圧縮データを構成する数値の連続について差分を求める際に、２次元的な差分を求めるものであると、差分ゼロの頻度が増して可逆圧縮による圧縮がより一層効率よくなる。
【００３２】
また、上記の上位データ圧縮部が第１の符号化部を備えると、圧縮対象数値のみが、その圧縮対象数値と連続数とを表わす数値とに符号化されるため、原データよりも冗長度が増すという事態が回避され、圧縮率が向上する。
【００３３】
また、上記の上位データ圧縮部が第２の符号化部を備えると、エントロピー符号化（典型的にはハフマン符号化）による、圧縮率の更なる向上が見込まれる。
【００３４】
さらに、上記の上位データ圧縮部が、ヒストグラム算出部と符号割当部とを備え、第２の符号化部が、符号割当部で符号が割り当てられたテーブルを用いてエントロピー符号化（例えばハフマン符号化）を施すものであると、符号の割り当てが固定されたテーブルを用いたエントロピー符号化と比べ、圧縮率をさらに大きく向上させることができる。
【００３５】
また、上記可逆圧縮部が下位データ圧縮部を備えると、下位データについても適切な可逆圧縮が施されて圧縮率が向上する。
【００３６】
また、上記の下位データ圧縮部が、エントロピー符号化を施すものであると、エントロピー符号化（典型的にはハフマン符号化）による、圧縮率の更なる向上が見込まれる。
【００３７】
さらに、上記の下位データ圧縮部が、圧縮省略の指示を受けて下位データを無圧縮で出力するものであると、そのような指示によってより高速な圧縮処理を選択することができる。
【発明を実施するための最良の形態】
【００３８】
以下、本発明の実施形態について説明する。
【００３９】
図１は、本発明の一実施形態が適用される欠陥検出システム１の構成図である。
【００４０】
図１の欠陥検出システム１は、ラインセンサ２００とパーソナルコンピュータ１００とを有している。この欠陥検出システム１では、連続して搬送されるフィルム１０の画像がラインセンサ２００で読み込まれて画像を表す画像データが生成され、生成された画像データがインターフェースケーブル１５０を介してラインセンサ２００からパーソナルコンピュータ１００へ送られる。パーソナルコンピュータ１００では、送られてきた画像データに可逆圧縮処理が施されて圧縮データが生成されるとともに、送られてきた画像データに基づいてフィルム１０の表面の不良や欠陥が検出されて、不良や欠陥の箇所を含む領域については圧縮データが記録される。尚、ここでいう『領域』とは、パーソナルコンピュータ１００に送られてきた画像データにより表わされる画像が分けられてなる領域であって、具体的には、連続して搬送されるフィルム１０の画像をラインセンサ２００で読み込んだ所定数ライン分の区間の意である。また、このパーソナルコンピュータ１００は、圧縮データを伸長する機能も有しており、伸長したデータが表す画像は、上述した不良や欠陥の事後検証に用いられる。
【００４１】
図１の欠陥検出システム１においては、パーソナルコンピュータ１００が、本発明の画像検査装置の一実施形態として動作する。以下では、このパーソナルコンピュータ１００について説明する。
【００４２】
図２は、図１に示すパーソナルコンピュータ１００のハードウェア構成図である。
【００４３】
図１に示すパーソナルコンピュータ１００は、図２に示す構成のコンピュータシステムで構成されている。
【００４４】
この図２に示す、コンピュータシステムで構成されたパーソナルコンピュータ１００には、ＣＰＵ１１１、ＲＡＭ１１２、通信インターフェース１１３、ハードディスクコントローラ１１４、ＦＤドライブ１１５、ＣＤＲＯＭドライブ１１６、マウスコントローラ１１７、キーボードコントローラ１１８、ディスプレイコントローラ１１９、および通信用ボード１２０が備えられており、これらはバス１１０で相互に接続されている。
【００４５】
ハードディスクコントローラ１１４は、このパーソナルコンピュータ１００に内蔵されているハードディスク１０４のアクセスを制御するものであり、ＦＤドライブ１１５、ＣＤＲＯＭドライブ１１６は、このパーソナルコンピュータ１００に取出し自在に装填されるフレキシブルディスク（ＦＤ）１３０、ＣＤＲＯＭ１４０のアクセスを制御するものである。このハードディスク１０４は、本発明にいう記録媒体の一例に相当する。また、マウスコントローラ１１７、キーボードコントローラ１１８は、このパーソナルコンピュータ１００に備えられたマウス１０７、キーボード１０８の操作を検出してＣＰＵ１１１に伝達する役割を担っている。さらに、ディスプレイコントローラ１１９は、このＣＰＵ１１１の指示に基づいて、パーソナルコンピュータ１００に備えられた画像ディスプレイ１０９の表示画面上に画像を表示する役割を担っている。
【００４６】
通信用ボード１２０は、ＳＣＳＩ等の汎用インターフェースプロトコルに準拠した通信を担っており、ラインセンサ２００で読み込まれて生成された画像データをインターフェースケーブル１５０を介してこのパーソナルコンピュータ１００に入力する役割を担っている。
【００４７】
さらに、通信用インターフェース１１３は、インターネット等の汎用の通信を担っており、このパーソナルコンピュータ１００は、この通信用インターフェース１１３を経由して画像データを取り込むこともできる。
【００４８】
ＲＡＭ１１２には、ハードディスク１０４に格納されているプログラムが読み出されてＣＰＵ１１１での実行のために展開され、ＣＰＵ１１１では、そのＲＡＭ１１２に展開されたプログラムが読み出されて実行される。
【００４９】
図３は、本発明の画像検査装置の一実施形態に相当する画像検査装置を示すブロック構成図である。
【００５０】
この図３に示す画像検査装置５００Ａは、差分符号化部５１０、オフセット部５２０、プレーン分割部５３０、Ｌプレーン圧縮部５４０、Ｈプレーン圧縮部５５０、第１の判定部５６１、およびデータ記録部５７０を備えている。各部５１０〜５７０の詳細は後述するが、この画像検査装置５００Ａ内での処理の流れは以下のとおりである。
【００５１】
ラインセンサ２００で生成されインターフェースケーブル１５０を介してラインセンサ２００からパーソナルコンピュータ１００へ送られてくる画像データＤ０は、８ビットの数値の連続で２次元的な画像を表しており、この画像データＤ０が画像検査装置５００Ａに入力されると、画像検査装置５００Ａ内の差分符号化部５１０および第１の判定部５６１の双方に入力される。この画像データＤ０は、本発明にいう被圧縮データの一例に相当する。
【００５２】
先ず、画像データＤ０が差分符号化部５１０に入力された後の処理の流れを説明し、画像データＤ０が第１の判定部５６１に入力された後の処理の流れは後述する。
【００５３】
画像データＤ０が差分符号化部５１０に入力されると、２次元差分符号化処理、すなわち、入力されてきた画像データＤ０を構成する数値の連続について、画像上で見てその数値に複数方向それぞれに隣接する複数の数値に基づいた２次元的な差分を求めることによりその差分を表わす８ビットの数値の連続からなる画像データを生成する処理が行なわれる。この差分符号化部５１０は、本発明にいう差分生成部の一例に相当する。
【００５４】
差分符号化部５１０で生成された、差分を表わす数値の連続からなる画像データは、オフセット部５２０に入力されて所定値だけオフセットされる。その後、プレーン分割部５３０で、画像データ中の８ビットの各数値が下位４ビットと上位４ビットとに分けられることにより、画像データは、下位４ビットの数値の連続からなる下位サブプレーンＤ１Ｌと上位４ビットの数値の連続からなる上位サブプレーンＤ１Ｈに分割される。このオフセット部５２０は、本発明にいうオフセット部の一例に相当し、プレーン分割部５３０は、本発明にいう分割部の一例に相当する。また、下位サブプレーンＤ１Ｌおよび上位サブプレーンＤ１Ｈは、それぞれ、本発明にいう下位データおよび上位データの各一例に相当する。
【００５５】
プレーン分割部５３０で分割された下位サブプレーンＤ１Ｌおよび上位サブプレーンＤ１Ｈは、それぞれ、Ｌプレーン圧縮部５４０およびＨプレーン圧縮部５５０に入力されて可逆圧縮が施される。これらＬプレーン圧縮部５４０およびＨプレーン圧縮部５５０は、それぞれ、本発明にいう下位データ圧縮部および上位データ圧縮部の各一例に相当する。
【００５６】
Ｌプレーン圧縮部５４０にはハフマン符号化部５４１が備えられており、ハフマン符号化部５４１では、数値と符号とを対応づけるハフマンテーブルに従って、そのハフマン符号化部５４１に入力されてきた下位サブプレーンＤ１Ｌを構成する数値をそのハフマンテーブルに従う符号に置き換える符号化処理が行なわれる。このハフマン符号化は、エントロピー符号化の一種である。なお、Ｌプレーン圧縮部５４０にはモード切換部５４２が組み込まれており、このモード切換部５４２は、ユーザから、高速モードと通常モードとの切り換えを指示されて、上記のハフマン符号化部５４１によるハフマン符号化を経る通常モードと、ハフマン符号化を省略して下位サブプレーンＤ１Ｌをそのまま出力する高速モードとを切り換える。従って、最終的にＬプレーン圧縮部５４０からは、通常モードの場合には、下位サブプレーンＤ１Ｌがハフマン符号化により圧縮された下位圧縮データＤ２Ｌが出力され、高速モードの場合には、ハフマン符号化が施されていない下位圧縮データＤ２Ｌが出力されることになる。
【００５７】
一方、Ｈプレーン圧縮部５５０には、ランレングス符号化部５５１と、データスキャニング部５５２と、ハフマン符号化部５５３が備えられており、上位サブプレーンＤ１Ｈは、Ｈプレーン圧縮部５５０中のランレングス符号化部５５１に入力される。
【００５８】
Ｈプレーン圧縮部５５０中のランレングス符号化部５５１では、先ず、入力されてきた上位サブプレーンＤ１Ｈのデータの中から１つもしくは複数の圧縮対象数値の存在及び同一の圧縮対象数値の連続数が検出される。次いで、ランレングス符号化部５５１では、その検出結果を受けて、上位サブプレーンＤ１Ｈのデータ中、圧縮対象数値を除く数値についてはそのまま出力すると共に、圧縮対象数値については、その圧縮対象数値と、その圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力するという符号化処理が行なわれる。このランレングス符号化部５５１では、その符号化処理にあたっては、同一の圧縮対象数値の連続数に応じ、その連続数を異なるビット数で表現する符号化が行なわれる。ここでは、具体的には、同一の圧縮対象数値の連続数が所定数以下のときはその連続数を１単位ビット数で表現し、その連続数が所定数を越えるときは２単位ビット数で表現する符号化が行なわれる。本実施形態では、このランレングス符号化部５５１が、本発明にいう第１の符号化部の一例に相当する。
【００５９】
また、Ｈプレーン圧縮部５５０中のランレングス符号化部５５１での符号化後のデータは、次に、データスキャニング部５５２とハフマン符号化部５５３との双方に入力される。データスキャニング部５５２では、ランレングス符号化部５５１で符号化された後のデータの全てをスキャニングして、そのデータ中に出現する全ての数値の出現頻度（ヒストグラム）が求められる。ここで、この出現頻度を求める処理は、本実施形態では、図３に示す上位サブプレーンＤ１Ｈのデータ１つずつを単位として実行され、各上位サブプレーンＤ１Ｈの、ランレングス符号化部５５１で符号化された後のデータ中の数値の出現頻度が求められる。さらに、データスキャニング部５５２では、求められたデータヒストグラム（数値の出現頻度）に基づき、ハフマンテーブルに、出現頻度の高い数値ほど符号長の短かい符号を割り当てる。このデータスキャニング部５５２は、本発明にいうヒストグラム算出部および符号割当部の各一例を兼ね備えたものに相当する。
【００６０】
データスキャニング部５５２で数値に符号が割り当てられてなるハフマンテーブルは、ハフマン符号化部５５３に渡され、ハフマン符号化部５５３では、その渡されたハフマンテーブルに従って、そのハフマン符号化部５５３に入力されてきたデータを構成する数値を、そのハフマンテーブルに従う符号、すなわち、出現頻度の高い数値ほど短かいビット長で表わされる符号に置き換える符号化処理が行なわれる。このハフマン符号化部５５３は、本発明にいう第２の符号化部の一例に相当する。
【００６１】
ハフマン符号化部５５３でハフマン符号化された後のデータは、データスキャニング部５５２で割り当てられた数値と符号との割当テーブルを含む圧縮情報が添付され、上位サブプレーンＤ１Ｈが圧縮された上位圧縮データＤ２ＨとしてＨプレーン圧縮部５５０から出力される。
【００６２】
このようにＬプレーン圧縮部５４０およびＨプレーン圧縮部５５０のそれぞれから出力される下位圧縮データＤ２Ｌと上位圧縮データＤ２Ｈとの組で、元々の画像データに対する可逆圧縮が施された圧縮データが構成される。以上説明した差分符号化部５１０、オフセット部５２０、プレーン分割部５３０、Ｌプレーン圧縮部５４０、およびＨプレーン圧縮部５５０の組み合わせは、本発明にいう可逆圧縮部の一例に相当する。
【００６３】
次に、画像データＤ０が第１の判定部５６１に入力された後の処理の流れを説明する。
【００６４】
画像データＤ０が第１の判定部５６１に入力されると、画像データＤ０を構成する数値の連続について、画像上で見てその数値に複数方向それぞれに隣接する複数の数値に基づいた２次元的な差分を求め、この差分が所定程度に達しているときに、その画像中でのこの差分を求めた箇所をエッジ部分と判定する処理が行なわれる。具体的には、この第１の判定部５６１は、２次元的な差分として、判定可能なエッジ方向が異なる複数種類の差分を画像上の同一の箇所について求め、それら複数種類の差分のうち少なくとも１つの差分が所定程度に達している場合にその箇所をエッジ部分と判定する。この第１の判定部５６１は、本発明にいう判定部の一例に相当する。
【００６５】
第１の判定部５６１での判定結果は、データ記録部５７０に入力される。データ記録部５７０では、画像が分けられてなる領域のうち、第１の判定部５６１でエッジ部分と判定された箇所を含む領域については、上述した差分符号化部５１０、オフセット部５２０、プレーン分割部５３０、Ｌプレーン圧縮部５４０、およびＨプレーン圧縮部５５０を経ることで得られた圧縮データをパーソナルコンピュータ１００に内蔵されているハードディスク１０４（図２参照）に記録し、その箇所を含まない領域についてはその圧縮データを破棄する処理が行なわれる。尚、『画像が分けられてなる領域』における『領域』とは、上述したように、パーソナルコンピュータ１００に送られてきた画像データＤ０により表わされる画像が分けられてなる領域であって、具体的には、連続して搬送されるフィルム１０の画像をラインセンサ２００で読み込んだ所定数ライン分の区間の意である。このデータ記録部５７０は、本発明にいうデータ記録部の一例に相当する。
【００６６】
尚、上述したように、パーソナルコンピュータ１００は、圧縮データを伸長する機能も有しており、パーソナルコンピュータ１００においてデータ伸長処理が施される。ここで、このデータ伸長処理にあたっては、図３で説明した各種の符号化処理に対応する復号化処理が施される。そして、元の入力画像ファイル中の画像データと同一の画像データが復元される。このように復元された画像データは、キズ等の存在を人間の目等で確認する事後検証に用いられる。
【００６７】
図４は、本発明の画像検査プログラムの一実施形態に相当する画像検査プログラムの模式構成図である。
【００６８】
ここでは、この画像検査プログラム６００Ａは、ＣＤＲＯＭ１４０に記憶されている。
【００６９】
この画像検査プログラム６００Ａは、差分符号化部６１０、オフセット部６２０、プレーン分割部６３０、Ｌプレーン圧縮部６４０、Ｈプレーン圧縮部６５０、第１の判定部６６１、およびデータ記録部６７０から構成されている。このＣＤＲＯＭ１４０には、ここに示す画像検査プログラム６００Ａのほか、図１に示すパーソナルコンピュータ１００における一連の処理を実行するための各種プログラムが記憶されているが、それらについては従来と同様であるため図示および説明は省略する。
【００７０】
この図４に示すＣＤＲＯＭ１４０が、図２に示すパーソナルコンピュータ１００に装填されＣＤＲＯＭドライブ１１６でアクセスされてそのＣＤＲＯＭ１４０に記憶されている画像検査プログラム６００Ａがこのパーソナルコンピュータ１００にアップロードされ、ハードディスク１０４に記憶される。このハードディスク１０４に記憶されたプログラムがそのハードディスク１０４から読み出されてＲＡＭ１１２に展開され、ＣＰＵ１１１によって実行されることにより、このパーソナルコンピュータ１００は、図３に示す画像検査装置５００Ａとしての処理を含む各種処理を実行する装置として動作する。
【００７１】
ここで、図４に示す画像検査プログラム６００Ａは、パーソナルコンピュータ１００にインストールされてＣＰＵ１１１で実行されることにより、そのパーソナルコンピュータ１００内に図３に示す画像検査装置５００Ａを実現するものであり、差分符号化部６１０、オフセット部６２０、プレーン分割部６３０、Ｌプレーン圧縮部６４０、Ｈプレーン圧縮部６５０、第１の判定部６６１、およびデータ記録部６７０は、ＣＰＵ１１１で実行されることにより、そのパーソナルコンピュータ１００を、図３に示す画像検査装置５００Ａを構成する、それぞれ、差分符号化部５１０、オフセット部５２０、プレーン分割部５３０、Ｌプレーン圧縮部５４０、Ｈプレーン圧縮部５５０、第１の判定部５６１、およびデータ記録部５７０として動作させるプログラム部品である。つまり、これらのプログラム部品により、画像検査装置５００Ａの構成要素がパーソナルコンピュータ１００上に実質的に構築されることとなる。
【００７２】
図４の画像検査プログラム６００Ａを構成する各部６１０〜６７０の、ＣＰＵ１１１で実行されたときの作用は、それぞれ、図３の画像検査装置５００Ａを構成する各部５１０〜５７０の作用そのものである。したがって、図３の画像検査装置５００Ａの各部５１０〜５７０に関する、これまでの説明、および、以下に説明する詳細説明をもって、図４の画像検査プログラム６００Ａを構成する各部６１０〜６７０の説明を兼ねるものとする。
【００７３】
次に、図３に示す画像検査装置５００Ａ内での処理について詳しく説明する。
【００７４】
図５は、図３の画像検査装置５００Ａに入力される画像データＤ０の構造を示す図、図６は、この画像データＤ０に対して２次元差分符号化処理が施された後のデータの構造を示す図である。
【００７５】
画像データＤ０で表される画像は、所定の主走査方向に画素がＭ個並んでなるラインが、その主走査方向とは直角な副走査方向にＮライン並ぶことによって構成されており、このような構成を反映してその画像データＤ０も、図５に示すように、主走査方向（図の左右方向）に画素値がＭ個並んでなるラインが、副走査方向（図の上下方向）にＮライン並んでいるという構造を備えている。この図では、上からｎ番目のライン中の、左からｍ番目の画素値はＰｎ，ｍと表記されており、この表記法を用いて、副走査方向にｎ番目のラインについては、主走査方向に並ぶ各画素の画素値が、その並び順に、
Ｐｎ，１，Ｐｎ，２，…，Ｐｎ，ｍ−１，Ｐｎ，ｍ，…，Ｐｎ，Ｍ−２，Ｐｎ，Ｍ−１，Ｐｎ，Ｍ
と表されている。これらの画素値は、１６進表示で表された数値である。
【００７６】
ここで、図３に示す画像検査装置５００Ａを構成する差分符号化部５１０には、上記のような画像データＤ０が入力されて２次元差分符号化処理が施され、主走査方向に隣接する画素どうしの差分における副走査方向での更なる差分が求められる。
【００７７】
図６には、２次元差分符号化処理が施されたデータの構造が示されており、このデータも、２次元差分符号化後の画素値が主走査方向にＭ個並んでなるラインが、副走査方向にＮライン並んでいるという構造を備えている。この図では、上からｎ番目のライン中の、左からｍ番目の、２次元差分符号化後の画素値は、Ｘｎ，ｍと表記されており、この２次元差分符号化後の画素値Ｘｎ，ｍは、図５の中央部に示す、２次元差分符号化前の４つの画素値｛Ｐｎ−１，ｍ−１，Ｐｎ−１，ｍ，Ｐｎ，ｍ−１，Ｐｎ，ｍ｝から、下記の変換式によって得られる。
Ｘｎ，ｍ＝（Ｐｎ，ｍ−Ｐｎ，ｍ−１）−（Ｐｎ−１，ｍ−Ｐｎ−１，ｍ−１）                …（１）
ここで、ｎ＝１の場合やｍ＝１の場合には、右辺の２次元差分符号化前の画素値の添え字に０が現れることとなるが、添え字が０となる画素値については、下記のように定義する。
Ｐ０，０＝Ｐ０，ｍ＝００  （ｍ＝１〜Ｍ），  Ｐｎ，０＝Ｐｎ−１，Ｍ  （ｎ＝１〜Ｎ）…（２）  ここで、式（２）の「００」は、画素値を１６進表示で表したときに値がゼロであることを表している。以下、式（１）および式（２）の意味について簡単に説明する。
【００７８】
式（１）は、主走査方向に隣接する画素どうしの差分（すなわち、カッコの中の値）における副走査方向での更なる差分によって２次元差分符号化後の画素値Ｘｎ，ｍが得られることを表しており、２次元差分符号化前の画素値Ｐｎ，ｍが隣接する画素の画素値と相関が強い（すなわち同じような大きさの画素値である）場合には、２次元差分符号化後の画素値Ｘｎ，ｍは、ゼロに近い値となる。
【００７９】
式（２）は、副走査方向の仮想的な０番目のラインと、各ラインの左から０番目の仮想的な画素値とを新たに設けたときの各画素値の定義を表す式である。主走査方向については左端の画素値（左から０番目の画素値Ｐｎ，０）とそのラインより１ライン前のラインの右端の画素値Ｐｎ−１，Ｍとを同一視するという定義となっている。また、副走査方向については、図の一番上側の画素値（０番目のライン上の画素値）、すなわち、Ｐ０，０やＰ０，ｍが全て０に固定された定義となっている。
【００８０】
２次元差分符号化後のデータにおいて、１ライン目の画素値、および各ラインの１番目の画素値については、式（１）の変換式の右辺に、添え字が「０」である項が現れるため、式（２）の定義が適用されることとなる。具体的には上記の式（１）および式（２）により、２次元差分符号化後の１ライン目の画素値は、
Ｘ１，１＝Ｐ１，１，
Ｘ１，２＝Ｐ１，２−Ｐ１，１，
Ｘ１，３＝Ｐ１，３−Ｐ１，２，
…………
Ｘ１，Ｍ＝Ｐ１，Ｍ−Ｐ１，Ｍ−１
のように表される。
【００８１】
一方、２次元差分符号化後のデータにおいて、各ラインの１番目の画素値については、上記の式（２）により、
Ｘ１，１＝Ｐ１，１，
Ｘ２，１＝（Ｐ２，１−Ｐ１，Ｍ）−Ｐ１，１，
Ｘ３，１＝（Ｐ３，１−Ｐ２，Ｍ）−（Ｐ２，１−Ｐ１，Ｍ），
…………
ＸＮ，１＝（ＰＮ，１−ＰＮ−１，Ｍ）−（ＰＮ−１，１−ＰＮ−２，Ｍ）
のように表される。このように、１ライン目の画素値、および各ラインの１番目の画素値については、その変換の仕方がやや特殊であるが、これらの画素値以外の画素値については、式（２）の定義が適用されることなく、式（１）がそのまま適用される。例えば、２ライン目の画素値のうち一番左端を除いた画素値は、
Ｘ２，２＝（Ｐ２，２−Ｐ２，１）−（Ｐ１，２−Ｐ１，１），
Ｘ２，３＝（Ｐ２，３−Ｐ２，２）−（Ｐ１，３−Ｐ１，２），
…………
Ｘ２，Ｍ＝（Ｐ２，Ｍ−Ｐ２，Ｍ−１）−（Ｐ１，Ｍ−Ｐ１，Ｍ−１）
のように表される。
【００８２】
この２次元差分符号化処理を、具体的な数値を用いて説明する。
【００８３】
図７は、図３の画像検査装置５００Ａを構成する差分符号化部５１０における２次元差分符号化処理を例示して示す図である。
【００８４】
この図の左側（パート（Ａ））に示す各数値が画像データＤ０を構成する画素値であり、この図の右側（パート（Ｂ））に示す各数値が２次元差分符号化処理で出力される出力値である。この図の横方向が主走査方向であり、主走査方向に並んだ８つの数値の並びが上記のラインである。この図に示すデータにはこうした８つの数値が並んだラインが全部で８本あり、図５および図６のデータにおいてＮ＝８，Ｍ＝８の場合のデータに相当する。
【００８５】
図７のパート（Ａ）に示すデータの２次元差分符号化処理では、先ず、１ライン目の各画素値「９０  ８Ａ  ８Ａ  ７Ｂ  …」のうち、一番左の「９０」については、この値がそのまま上記のＸ１，１として出力され、それ以外のＸ１，２，Ｘ１，３，…については、主走査方向に隣接する画素値どうしの差分の値「８Ａ−９０＝ＦＡ」「８Ａ−８Ａ＝００」…が出力される。ここで、「８Ａ」から「９０」を引き算した結果は実際には負の数となり、９ビットで「１ＦＡ」と表されるが、ＭＳＢの１ビットである最上位の「１」は省略し、下位８ビットである「ＦＡ」のみを出力する。
【００８６】
２ライン目については、Ｘ２，１を求める式、
Ｘ２，１＝（Ｐ２，１−Ｐ１，Ｍ）−Ｐ１，１
において、Ｍ＝８としたときの右辺の｛Ｐ２，１，Ｐ１，８，Ｐ１，１｝に対し、図７のパート（Ａ）に示す数値が代入されて、「（８７−５８）−９０＝９Ｆ」がＸ２，１として出力される。それ以外のＸ２，２，Ｘ２，３，…については、２ライン目についての主走査方向に隣接する画素値どうしの差分と、１ライン目についての主走査方向に隣接する画素値どうしの差分とのさらなる差分の値「（８４−８７）−（８Ａ−９０）＝３」「（８８−８４）−（８Ａ−８Ａ）＝０４」…が出力される。
【００８７】
３ライン目については、Ｘ３，１を求める式、
Ｘ３，１＝（Ｐ３，１−Ｐ２，Ｍ）−（Ｐ２，１−Ｐ１，Ｍ）
において、Ｍ＝８としたときの右辺の｛Ｐ３，１，Ｐ２，８，Ｐ２，１，Ｐ１，８｝に、図７のパート（Ａ）に示す数値が代入されて、「（８Ｂ−４Ｃ）−（８７−５８）＝１０」がＸ３，１として出力される。それ以外のＸ３，２，Ｘ３，３，…については、３ライン目についての主走査方向に隣接する画素値どうしの差分と、２ライン目についての主走査方向に隣接する画素値どうしの差分とのさらなる差分の値「（８６−８Ｂ）−（８４−８７）＝ＦＥ」「（８Ａ−８６）−（８８−８４）＝００」…が出力される。
【００８８】
以下、４ライン目以降についても、３ライン目の演算と同じ演算を繰り返すことにより、図７のパート（Ｂ）に示す各数値が得られることとなる。
【００８９】
図１に示すパーソナルコンピュータ４では、このように２次元差分符号化されたデータに対してデータの復号化処理が行われる。この復号化処理では、２次元差分符号化されたデータの値からＰｎ，ｍを求める式が使用されており、この式は以下のようにして求めることができる。
【００９０】
２次元差分符号化後の画素値Ｘｉ，ｊを、ｉ＝１からｉ＝ｍまで足し上げ、さらにｊ＝１からｊ＝ｍについて足し上げた結果は、式（１）および式（２）を用いて下記の式（３）のように表される。
【００９１】
【数１】
2010021882.tif 000003
【００９２】
ここで、式の途中に現れる｛Ｐ０，０，Ｐｎ，０，Ｐ０，ｍ｝に対して、式（２）が適用されている。この式から、２次元差分符号化前の画素値Ｐｎ，ｍは、下記の式（４）のように表される。
【００９３】
【数２】
2010021882.tif 000004
【００９４】
図１に示すパーソナルコンピュータ４では、上記の式（４）により、先ず、１ライン目の画素値Ｐ１，１，Ｐ１，２，…，Ｐ１，Ｍが求められる。例えば、１ライン目の画素値のうち主走査方向にｍ番目の画素値は、上記の式（４）にｎ＝１を代入し、さらに式（２）のＰ０，Ｍ＝０を利用して、下記の式（５）のように表される。
【００９５】
【数３】
2010021882.tif 000005
【００９６】
このようにして、１ライン目の画素値、Ｐ１，１，Ｐ１，２，…，Ｐ１，Ｍがすべて求められる。
【００９７】
２ライン目の画素値Ｐ２，１，Ｐ２，１，…，Ｐ２，Ｍについては、同様に上記の式（４）にｎ＝２を代入し、さらに１ライン目の画素値の複合化で得られたＰ１，Ｍを用いることで求めることができる。例えば、２ライン目の画素値のうち主走査方向にｍ番目の画素値は、下記の式（６）のように表される。
【００９８】
【数４】
2010021882.tif 000006
【００９９】
３ライン目以降の画素値についても同様にして、上記の式（６）やそれ以降の計算で複合化された画素値を用いて求めることができる。図１に示すパーソナルコンピュータ４では、このような方式でデータの復号化処理が行われる。
【０１００】
図３の差分符号化部５１０では、以上説明したような２次元差分符号化が画像データＤ０に施される。この２次元差分符号化によって得られるデータは、図３のオフセット部５２０に入力され、そのデータの各数値について所定のオフセット値が加算される。
【０１０１】
ここで、このような２次元差分符号化およびオフセットの効果について、具体的な画像を表す画像データを例に用いて説明する。
【０１０２】
図８は、画像を表す画像データの例を示す図である。
【０１０３】
この図８のパート（Ａ）には、画像の一例としてモノクロの風景画像が示されており、本実施形態では、このような画像の各画素における色の濃度が８ビットの数値で表現された画像データが用いられる。図８のパート（Ｂ）には、パート（Ａ）に示す風景画像を表す画像データにおけるデータ値のヒストグラムが示されており、このヒストグラムの横軸はデータ値、縦軸はデータ数（画素数）を表している。通常の画像ではヒストグラムの幅が広く、ヒストグラム中でデータ数の山谷は生じてもヒストグラムの途中にデータ数が「０」の領域が生じることは極めてまれである。
【０１０４】
図９は、画像データに対する２次元差分符号化およびオフセットの効果を示す図である。
【０１０５】
この図９のパート（Ａ）には、図８に示した画像データに対して２次元差分符号化が施されて得られるデータのヒストグラムが示されており、このヒストグラムの横軸はデータ値、縦軸は出現頻度を表している。画像データに対して、図６および図７で説明した２次元差分符号化が施されると、データのヒストグラムは、一般に、この図９のパート（Ａ）に示すような、最小データ値と最大データ値の双方に鋭いピークを有するヒストグラムとなる。そして、このようなデータに対してオフセットが施されると、データのヒストグラムは、図９のパート（Ｂ）に示すような、オフセット値のところに鋭いピークを持つヒストグラムとなる。本実施形態ではオフセット値として「８」が用いられており、オフセットの結果、値が「１６」以上となるデータの頻度はほとんど「０」となっている。このように変形させたヒストグラムのピークが鋭いほど、この後の処理で高い圧縮率が期待される。
【０１０６】
このように２次元差分符号化およびオフセットによってヒストグラムが変形されたデータは、図３のプレーン分割部５３０によって下位サブプレーンＤ１Ｌと上位サブプレーンＤ１Ｈとに分割される。
【０１０７】
図１０は、プレーン分割部５３０によるデータ分割の効果を説明する図である。
【０１０８】
この図１０には、図９のパート（Ｂ）に示すヒストグラムがデータ値「１５」とデータ値「１６」との間で切り離されたヒストグラムが示されており、図３のプレーン分割部５３０によるデータ分割は、まさにこのようなヒストグラムの分割に相当する効果を生じる。すなわち、本実施形態では、データを構成している８ビットの各数値が上位４ビットと下位４ビットとに分割されることで、下位４ビットが表す数値の連続からなる下位サブプレーンＤ１Ｌと上位４ビットが表す数値の連続からなる上位サブプレーンＤ１Ｈとが得られる。そして、下位サブプレーンＤ１Ｌを構成する４ビットの数値が値「０」から値「１５」までの各数値をそのまま表現していて、上位サブプレーンＤ１Ｈを構成する４ビットの数値の場合は、値「１６」から値「２５６」までの、１６間隔１６種類の数値を表現していると解釈すると、下位サブプレーンＤ１Ｌのヒストグラムは、この図１０の左側に示されたヒストグラムとほぼ同じものとなり、上位サブプレーンＤ１Ｈのヒストグラムは、図１０の右側に示されたヒストグラムとほぼ同じものとなる。ただし、上位サブプレーンＤ１Ｈのヒストグラムについては、図１０の右側に示されたヒストグラムのデータ値「１６」のところに、図１０の左側に示されたヒストグラムの面積に等しい高さのピークが付加されたものとなる。
【０１０９】
以下では、上位サブプレーンＤ１Ｈと下位サブプレーンＤ１Ｌとに分割された後のデータの処理について説明する。
【０１１０】
まず、上位サブプレーンＤ１Ｈに対する処理について説明する。
【０１１１】
図１０の右側に示されたヒストグラムにおいて画素の出現頻度がほとんどゼロに近いことからわかるように、上位サブプレーンＤ１Ｈ中の数値は、ゼロに近い値（１６進数表示での「００」や「０１」や「ＦＦ」）の連続が多いことが予想される。このため、上位サブプレーンＤ１Ｈに圧縮を施すには、同一の数値の連続を符号化することで圧縮を行うランレングス符号化が有効であり、上位サブプレーンＤ１Ｈは、図３に示すＨプレーン圧縮部５５０の構成要素の１つであるランレングス符号化部５５１に入力される。
【０１１２】
本実施形態では、処理の都合上、ランレングス符号化部５５１で、上位サブプレーンＤ１Ｈを構成する連続した４ビットの数値が２つで１つの８ビットの数値として取り扱われ、１６進数表示で値「００」から値「ＦＦ」までの数値の連続に対して以下の符号化処理が適用される。
【０１１３】
この符号化処理では、複数の８ビットの数値のうちの特定の数値についてのみ符号化処理が行なわれる。このため、このランレングス符号化部５５１では、受け取ったデータの中から、符号化処理を行なう数値（ここでは、この数値を「圧縮対象数値」と称する）と、その圧縮対象数値の連続数が検出される。
【０１１４】
本実施形態では、一例として、「０１」、「ＦＦ」および「００」の３つの数値を圧縮対象数値としている。
【０１１５】
図１１は、図３に示すランレングス符号化部５５１での符号化の説明図である。
【０１１６】
図１１の上のラインは、上位サブプレーンＤ１Ｈを構成するデータ、下のラインは、ランレングス符号化部５５１での符号化処理を行なった後のデータである。
【０１１７】
ここでは、図１１の上のラインに示すように、プレーン分割部５３０からは、
「０６  ０２  ０２  ０２  ０１  ０１  ０１  ０１  ０４  ０５  ００  …  」
なるデータが入力されたものとする。このとき、図３のランレングス符号化部５５１では、先頭の「０６」は圧縮対象数値ではなく、次に続く「０２  ０２  ０２」も圧縮対象数値ではなく、次に、圧縮対象数値である「０１」が４つ連続していること、次に、圧縮対象数値ではない「０４」、「０５」を間に置いて、圧縮対象数値である「００」が３２７６７個連続していることが検出される。
【０１１８】
図１２は、ランレングス符号化部５５１における、圧縮対象数値を対象にした符号化のアルゴリズムを示す図である。
【０１１９】
この図１２中、Ｚは同一の圧縮対象数値の連続数、例えば図１１の上のラインの「０１」についてはＺ＝４、「００」についてはＺ＝３２７６７である。
【０１２０】
また、図１２中、「ＹＹ」は、１６進２桁で表わされた圧縮対象数値自体を表わしている。その「ＹＹ」に続く、「０」又は「１」は１ビットで表現された「０」又は「１」であり、さらにそれに続く「ＸＸＸ  ＸＸＸＸ…」は、１つの「Ｘ」が１ビットを表わしており、この「ＸＸＸ  ＸＸＸＸ…」でＺの値を表現している。
【０１２１】
すなわち、図１２は、圧縮対象数値「ＹＹ」がＺ＜１２８連続するときは、１バイト目で圧縮対象数値「ＹＹ」を表現し、それに続く１バイトで、先頭ビットが「０」、それに続く７ビットでＺの値を表現すること、また、圧縮対象数値「ＹＹ」がＺ≧１２８連続するときは、１バイト目で圧縮対象数値「ＹＹ」を表現し、それに続く２バイト（１６ビット）のうちの先頭の１ビットを「１」とすることで２バイトに跨って表現されていることを表現し、それに続く１５ビットで、Ｚの値を表現することを意味している。
【０１２２】
この図１２に示す規則に従って図１１に示す符号化の例について説明する。
【０１２３】
図３のプレーン分割部５３０から入力されてきた上位サブプレーンＤ１Ｈのデータ（上のライン）を構成する先頭の数値「０６」は圧縮対象数値ではないため、その「０６」のまま出力される。また、それに続く「０２  ０２  ０２」も、「０２」は圧縮対象数値ではなく、これら３つの「０２」もそのまま出力される。次に、圧縮対象数値である「０１」が４個連続するため、「０１  ０４」に符号化される。次の「０４」及び「０５」は圧縮対象数値ではないため、そのまま「０４  ０５」が出力される。
【０１２４】
次に「００」が３２７６７個連続しているため、「００」を置き、次の１バイトのうちの先頭の１ビットを「１」とし、次いで１５ビットで３２７６７−１２８を表現することにより、「００  ＦＦ  ７Ｆ」の３バイトで「００」が３２７６７個連続していることを表現する。すなわち、連続数１２８は、最初のビット「１」を除き、「００  ００」と表現される。
【０１２５】
図１３は、図３のランレングス符号化部５５１における、連続数に応じた符号化処理の例を示す図である。
・「００」が１２７個連続するときは、２バイトを用いて「００  ７Ｆ」に符号化され、
・「００」が３２７６７個連続するときは、３バイトを用いて「００  ＦＦ  ７Ｆ」に符号化され、
・「００」が３２８９５個連続するときは、３バイトを用いて「００  ＦＦ  ＦＦ」に符号化され、
「００」が１２８個連続するときは、３バイトを用いて「００  ８０  ００」に符号化され、
「０１」が１２９個連続するときは、３バイトを用いて「０１  ８０  ０１」に符号化され、
・「ＦＦ」が４０９６個連続するときは、３バイトを用いて「ＦＦ  ８Ｆ  ８０」に符号化される。
【０１２６】
図３に示すランレングス符号化部５５１では、上記のような符号化処理が行なわれる。
【０１２７】
本実施形態によるランレングス符号化部５５１によれば、最大圧縮率は、３／３２８９５＝１／１０，９６５にまで向上する。また、このランレングス符号化部５５１が符号化処理の対象としている上位サブプレーンＤ１Ｈのデータは、図１０のヒストグラムで説明したように、４ビットの数値のほとんどが、データ値「１６」を表現した数値「０」であり、その４ビットの数値から作られる８ビットの数値も、多くが、１６進数表示で数値「００」となる。このためランレングス符号化部５５１における符号化処理によって大幅なデータ圧縮が期待される。
【０１２８】
図３のＨプレーン圧縮部５５０内のランレングス符号化部５５１で上記の符号化処理の行なわれた後のデータは、次に図３のＨプレーン圧縮部５５０を構成するデータスキャニング部５５２とハフマン符号化部５５３に入力される。
【０１２９】
このデータスキャニング部５５２では、先ず、ランレングス符号化部５５１から出力されたデータの全体がスキャニングされてデータ値の出現頻度が求められる。
【０１３０】
図１４は、データスキャニング部５５２によるスキャニング結果の例を示す図である。
【０１３１】
ここでは、「Ａ１」の出現頻度が最も強く、以下順に、「Ａ２」、「Ａ３」、「Ａ４」、…の順であるとする。尚、これら「Ａ１」、「Ａ２」等は数値を直接表わしている訳ではなく、数値を表わす符号である。すなわち、「Ａ１」は例えば数値「００」、「Ａ２」は数値「ＦＦ」等である。また、ここでは、簡単のため、図３のランレングス符号化部５５１から送られてくるデータは全てのデータ値が「Ａ１」〜「Ａ１６」の１６個の数値のうちのいずれかの数値であるものとする。そして、このような１６個の数値それぞれに対して、データスキャニング部５５２では、出現頻度に応じた符号が割り当てられてハフマンテーブルが作成される。即ち、出現頻度の最も高い「Ａ１」には、２ビットで表わされた符号「００」が割り当てられ、次の「Ａ２」には、やはり２ビットで表わされた符号「０１」が割り当てられ、次の「Ａ３」、さらに次の「Ａ４」には、３ビットで表わされる、それぞれ、符号「１００」、符号「１０１」が割り当てられ、次の「Ａ５」〜「Ａ８」には、５ビットで表わされる各符号が割り当てられ、以下同様に、出現頻度が低い数値ほど多くのビット数で表わされた符号が割り当てられる。
【０１３２】
図１５は、ハフマンテーブルの一例を示す図である。
【０１３３】
このハフマンテーブルは、図１４と一致させてあり、出現頻度が高い数値ほど短かいビット数で表わされた符号に置き換えられるように並べられた、符号化前（置き換え前）の数値と符号化後（置き換え後）の数値との対応テーブルである。
【０１３４】
図３のＨプレーン圧縮部５５０を構成するハフマン符号化部５５３では、このようなハフマンテーブルに従ってデータの数値が符号化され、その結果、多くの数値が短かいビット数の符号に置き換えられることとなってデータ圧縮が実現される。
【０１３５】
図１６は、ハフマンテーブルに用意される符号列の具体例を示す図である。
【０１３６】
図１６に示す符号列では、各符号列中の「，」よりも右側の数値がビット長を意味しており、その「，」から左側に並ぶそのビット長分の２進符号が実際の符号を表わしている。例えば、図１６の左上の第１番目の符号は「１１」の２ビット、次の２番目の符号は「０１１」の３ビット、その次の３番目の符号は「０１０」の３ビット、さらにその次の４番目の符号は「１０１０」の４ビットである。このような符号列により、出現頻度が高い数値ほど短かいビット数で表わされた符号に置き換えられる。
【０１３７】
以上の図１１〜図１６で説明した処理により、図３のＨプレーン圧縮部５５０に入力される上位サブプレーンＤ１Ｈについては、ランレングス符号化部５５１による符号化とハフマン符号化部５５３による符号化が施されることにより高い圧縮率で圧縮されて上位圧縮データＤ２Ｈとなる。
【０１３８】
次に、下位サブプレーンＤ１Ｌに対する処理について説明する。プレーン分割部５３０で分割された下位サブプレーンＤ１Ｌは、Ｌプレーン圧縮部５４０を構成するハフマン符号化部５４１において、図１４〜図１６で説明したハフマン符号化処理が行われる。ハフマン符号化後の下位サブプレーンＤ１Ｌは、下位圧縮データＤ２ＬとしてＬプレーン圧縮部５４０から出力される。なお、上述したように、ユーザから、高速モードが指示された場合には、上記のハフマン符号化部５４１によるハフマン符号化処理は省略されて、Ｌプレーン圧縮部５４０から出力されることになる。
【０１３９】
次に、画像中のエッジ部分を判定して圧縮データを記録もしくは破棄する処理について詳しく説明する。
【０１４０】
図１７は、図３の第１の判定部５６１で行われるエッジ部分判定処理の概念を示す図である。
【０１４１】
図１７には、図３の第１の判定部５６１に入力される画像データＤ０のデータ構造も示されており、図１７に示す画像データＤ０のデータ構造は、実際には、図５に示す画像データＤ０のデータ構造と同じものであるが、図１７では、エッジ部分判定処理の概念を示すため、データ構造が図５とは異なる形式で表されている。
【０１４２】
図１７では、図１７の横方向が、図５で上述した主走査方向であり、その主走査方向とは直角な方向が副走査方向である。つまり、この主走査方向は、本発明にいう横方向の一例に相当し、この副走査方向は、本発明にいう縦方向の一例に相当する。上述したように主走査方向に並ぶ画素の列はラインと称され、ここでは６ライン分の画素が示されている。図１７では、各画素の位置は、画素値を表す符号Ｔに付された添え字で表現される。例えば２番目のラインについて、主走査方向に並ぶ各画素の画素値には、その並び順に、
２＿１，２＿２，２＿３，…
という添え字が付されている。
【０１４３】
図３に示す画像検査装置５００Ａを構成する第１の判定部５６１に、このように並んだ画素値からなる画像データＤ０が入力され、第１の判定部５６１は、画像データＤ０を構成する数値の連続について、画像上で見てその数値に複数方向それぞれに隣接する複数の数値に基づいた２次元的な差分を求め、この差分が所定程度に達しているときに、その画像中でのこの差分を求めた箇所をエッジ部分と判定する。
【０１４４】
以下、エッジ部分判定処理について具体的に説明する。
【０１４５】
図１７に示す画素の画素値をＴｎ＿ｋと表現した場合に、画像上でその画素に互いに縦横に隣接する画素の画素値は、Ｔｎ＿ｋ＋１，Ｔｎ＋１＿ｋ，Ｔｎ＋１＿ｋ＋１というように表現される。
【０１４６】
このような、画像上で互いに縦横に隣接した４つの画素毎に、２次元的な差分として、副走査方向に並んだ画素どうしにおける画素値の和を横方向に差し引いた第１差分と、主走査方向に並んだ画素どうしにおける画素値の和を縦方向に差し引いた第２差分と、対角に並んだ画素どうしにおける画素値の和の一方から他方を差し引いた第３差分とを求める。
【０１４７】
つまり、第１差分は、
（（Ｔｎ＿ｋ）＋（Ｔｎ＋１＿ｋ））−（（Ｔｎ＿ｋ＋１）＋（Ｔｎ＋１＿ｋ＋１））
の式によって求め、
第２差分は、
（（Ｔｎ＿ｋ）＋（Ｔｎ＿ｋ＋１））−（（Ｔｎ＋１＿ｋ）＋（Ｔｎ＋１＿ｋ＋１））
の式によって求め、
第３差分は、
（（Ｔｎ＿ｋ）＋（Ｔｎ＋１＿ｋ＋１））−（（Ｔｎ＿ｋ＋１）＋（Ｔｎ＋１＿ｋ））
の式によって求める。
【０１４８】
そして、第１差分、第２差分、および第３差分のうち少なくとも１つの差分が、第１の判定部５６１にあらかじめ入力されている閾値に達している場合にそれら４つの画素の箇所をエッジ部分と判定する。尚、第１差分が閾値に達している場合には縦エッジが検出され、第２差分が閾値に達している場合には横エッジが検出され、第３差分が閾値に達している場合には斜めエッジが検出される。
【０１４９】
この方式によるエッジ判定は、差分に基づいた単純な判定なので、エッジの検知漏れが少ない。一方で、多少の誤検知を生じる可能性があるが、誤検知は、記録された圧縮データに基づいた事後検証で取り除くことができる。また、画像上で互いに縦横に隣接した４つの画素毎にエッジの検知を行うことにより、画像上の全範囲におけるエッジ検出が確実に行われる。
【０１５０】
データ記録部５７０は、パーソナルコンピュータ１００に送られてきた画像データＤ０により表わされる画像における、連続して搬送されるフィルム１０の画像をラインセンサ２００で読み込んだ所定数ライン分の区間のうち、第１の判定部５６１でエッジ部分と判定された箇所を含む区間については、上述した差分符号化部５１０、オフセット部５２０、プレーン分割部５３０、Ｌプレーン圧縮部５４０、およびＨプレーン圧縮部５５０を経ることで得られた圧縮データをパーソナルコンピュータ１００に内蔵されているハードディスク１０４（図２参照）に記録し、その箇所を含まない区間についてはその圧縮データを破棄する。
【０１５１】
以下、本発明の別の実施形態を説明する。
【０１５２】
尚、以下説明する別の実施形態は、上述した実施形態の第１の判定部を、この第１の判定部とは異なる判定基準を有する第２の判定部に置き換えたものである。
【０１５３】
以下、上述した実施形態における要素と同じ要素については同じ符号を付して説明を省略し、上述した実施形態との相違点についてのみ説明する。
【０１５４】
図１８は、本発明の別の一実施形態が適用される画像検査装置を示すブロック構成図である。
【０１５５】
この図１８に示す画像検査装置５００Ｂは、差分符号化部５１０、オフセット部５２０、プレーン分割部５３０、Ｌプレーン圧縮部５４０、Ｈプレーン圧縮部５５０、第２の判定部５６２、およびデータ記録部５７０を備えている。
【０１５６】
画像データＤ０が第２の判定部５６２に入力されると、画像データＤ０を構成する数値の連続について、画像上で見てその数値に複数方向それぞれに隣接する複数の数値に基づいた２次元的な差分を求め、この差分が所定程度に達しているときに、その画像中でのこの差分を求めた箇所をエッジ部分と判定する処理が行なわれる。具体的には、この第１の判定部５６１は、２次元的な差分として、判定可能なエッジ方向が異なる複数種類の差分を画像上の同一の箇所について求め、それら複数種類の差分の何れもが所定程度に達している場合にその箇所をエッジ部分と判定する。この第２の判定部５６２は、本発明にいう判定部の一例に相当する。
【０１５７】
図１９は、本発明の別の一実施形態が適用される画像検査プログラムの模式構成図である。
【０１５８】
この画像検査プログラム６００Ｂは、差分符号化部６１０、オフセット部６２０、プレーン分割部６３０、Ｌプレーン圧縮部６４０、Ｈプレーン圧縮部６５０、第２の判定部６６２、およびデータ記録部６７０から構成されている。
【０１５９】
図１９に示す画像検査プログラム６００Ｂは、パーソナルコンピュータ１００にインストールされてＣＰＵ１１１で実行されることにより、そのパーソナルコンピュータ１００内に図１８に示す画像検査装置５００Ｂを実現するものであり、差分符号化部６１０、オフセット部６２０、プレーン分割部６３０、Ｌプレーン圧縮部６４０、Ｈプレーン圧縮部６５０、第２の判定部６６２、およびデータ記録部６７０は、ＣＰＵ１１１で実行されることにより、そのパーソナルコンピュータ１００を、図１８に示す画像検査装置５００Ｂを構成する、それぞれ、差分符号化部５１０、オフセット部５２０、プレーン分割部５３０、Ｌプレーン圧縮部５４０、Ｈプレーン圧縮部５５０、第２の判定部５６２、およびデータ記録部５７０として動作させるプログラム部品である。つまり、これらのプログラム部品により、画像検査装置５００Ｂの構成要素がパーソナルコンピュータ１００上に実質的に構築されることとなる。
【０１６０】
図１９の画像検査プログラム６００Ｂを構成する各部６１０〜６７０の、ＣＰＵ１１１で実行されたときの作用は、それぞれ、図１８の画像検査装置５００Ｂを構成する各部５１０〜５７０の作用そのものである。したがって、図１８の画像検査装置５００Ｂの各部５１０〜５７０に関する、これまでの説明、および、以下に説明する詳細説明をもって、図１９の画像検査プログラム６００Ｂを構成する各部６１０〜６７０の説明を兼ねるものとする。
【０１６１】
次に、図１８に示す画像検査装置５００Ｂ内での処理のうちの、画像中のエッジ部分を判定する処理について詳しく説明する。尚、図１８の第１の判定部５６１に入力される画像データＤ０のデータ構造は、図３の第１の判定部５６１に入力される画像データＤ０のデータ構造と同じものであるため、以下では、図１７を参照して、画像中のエッジ部分を判定する処理について説明する。
【０１６２】
図１８に示す画像検査装置５００Ｂを構成する第２の判定部５６２は、画像データＤ０を構成する数値の連続について、画像上で見てその数値に複数方向それぞれに隣接する複数の数値に基づいた２次元的な差分を求め、この差分が所定程度に達しているときに、その画像中でのこの差分を求めた箇所をエッジ部分と判定する。
【０１６３】
以下、エッジ部分判定処理について具体的に説明する。
【０１６４】
図１７に示す画素の画素値をＴｎ＿ｋと表現した場合に、画像上でその画素に互いに縦横に隣接する画素の画素値は、Ｔｎ＿ｋ＋１，Ｔｎ＋１＿ｋ，Ｔｎ＋１＿ｋ＋１というように表現される。
【０１６５】
このような、画像上で互いに縦横に隣接した４つの画素毎に、２次元的な差分として、副走査方向に並んだ画素どうしにおける画素値の和を横方向に差し引いた第１差分と、主走査方向に並んだ画素どうしにおける画素値の和を縦方向に差し引いた第２差分と、対角に並んだ画素どうしにおける画素値の和の一方から他方を差し引いた第３差分とを求める。
【０１６６】
つまり、第１差分は、
（（Ｔｎ＿ｋ）＋（Ｔｎ＋１＿ｋ））−（（Ｔｎ＿ｋ＋１）＋（Ｔｎ＋１＿ｋ＋１））
の式によって求め、
第２差分は、
（（Ｔｎ＿ｋ）＋（Ｔｎ＿ｋ＋１））−（（Ｔｎ＋１＿ｋ）＋（Ｔｎ＋１＿ｋ＋１））
の式によって求め、
第３差分は、
（（Ｔｎ＿ｋ）＋（Ｔｎ＋１＿ｋ＋１））−（（Ｔｎ＿ｋ＋１）＋（Ｔｎ＋１＿ｋ））
の式によって求める。
【０１６７】
そして、第１差分、第２差分、および第３差分の何れもが、第２の判定部５６２にあらかじめ入力されている閾値に達している場合にそれら４つの画素の箇所をエッジ部分と判定する。
【０１６８】
この方式によるエッジ判定は、エッジ部分の誤検知を抑えて無用なデータ記録を抑えることができる。
【０１６９】
以上が、本実施形態の説明である。
【０１７０】
なお、上記説明では、本発明にいう可逆圧縮部の一例として、差分符号化部、オフセット部、プレーン分割部、Ｌプレーン圧縮部、およびＨプレーン圧縮部を経る可逆圧縮処理を示したが、本発明にいう可逆圧縮部は、可逆圧縮処理を施すものであればよく、上記説明の方法に限定されない。
【０１７１】
また、上記説明では、本発明の画像検査装置をソフトウェアで実現する例が示されているが、本発明の画像検査装置は、専用のハードウェアを用いて実現してもよい。
【０１７２】
また、上記説明では、本発明にいう差分生成部の一例として、画像の縦横双方の差分を複合した２次元的な差分演算を用いて差分を求める例が示されているが、本発明にいう差分生成部は、主走査方向や副走査方向の１次元の差分を求めるものであってもよい。
【０１７３】
また、上記説明では、本発明にいう判定部の一例として、画像上で互いに縦横に隣接した４つの画素毎にエッジの検知を行う例が示されているが、本発明にいう判定部は、被圧縮データを構成する数値の連続について、画像上で見てその数値に複数方向それぞれに隣接する複数の数値に基づいた２次元的な差分を求め、この差分が所定程度に達しているときに、その画像中でのこの差分を求めた箇所をエッジ部分と判定するものであればよく、上記説明の方法に限定されない。
【図面の簡単な説明】
【０１７４】
【図１】本発明の一実施形態が適用される欠陥検出システムの構成図である。
【図２】図１に示すパーソナルコンピュータのハードウェア構成図である。
【図３】本発明の画像検査装置の一実施形態に相当する画像検査装置を示すブロック構成図である。
【図４】本発明の画像検査プログラムの一実施形態に相当する画像検査プログラムの模式構成図である。
【図５】図３の画像検査装置に入力される画像データの構造を示す図である。
【図６】図３の画像検査装置に入力される画像データに対して２次元差分符号化処理が施された後のデータの構造を示す図である。
【図７】図３の画像検査装置を構成する差分符号化部における２次元差分符号化処理を例示して示す図である。
【図８】画像を表す画像データの例を示す図である。
【図９】画像データに対する２次元差分符号化およびオフセットの効果を示す図である。
【図１０】プレーン分割部によるデータ分割の効果を説明する図である。
【図１１】図３に示すランレングス符号化部での符号化の説明図である。
【図１２】ランレングス符号化部における、圧縮対象数値を対象にした符号化のアルゴリズムを示す図である。
【図１３】図３のランレングス符号化部における、連続数に応じた符号化処理の例を示す図である。
【図１４】データスキャニング部によるスキャニング結果の例を示す図である。
【図１５】ハフマンテーブルの一例を示す図である。
【図１６】ハフマンテーブルに用意される符号列の具体例を示す図である。
【図１７】図３の第１の判定部で行われるエッジ部分判定処理の概念を示す図である。
【図１８】本発明の別の一実施形態が適用される画像検査装置を示すブロック構成図である。
【図１９】本発明の別の一実施形態が適用される画像検査プログラムの模式構成図である。
【符号の説明】
【０１７５】
１  欠陥検出システム
１０  フィルム
１００  パーソナルコンピュータ
１０４  ハードディスク
１０７  マウス、
１０８  キーボード
１０９  ディスプレイ
１１０  バス
１１１  ＣＰＵ
１１２  ＲＡＭ
１１３  通信インターフェース
１１４  ハードディスクコントローラ
１１５  ＦＤドライブ
１１６  ＣＤＲＯＭドライブ
１１７  マウスコントローラ
１１８  キーボードコントローラ
１１９  ディスプレイコントローラ
１２０  通信用ボード
１３０  フレキシブルディスク（ＦＤ）、
１４０  ＣＤＲＯＭ
１５０  インターフェースケーブル
２００  ラインセンサ
５００Ａ，５００Ｂ  画像検査装置
５１０  差分符号化部
５２０  オフセット部
５３０  プレーン分割部
５４０  Ｌプレーン圧縮部
５４１，５５３  ハフマン符号化部
５４２  モード切換部
５５０  Ｈプレーン圧縮部
５５１  ランレングス符号化部
５５２  データスキャニング部
５６１  第１の判定部
５７０  データ記録部
６００Ａ，６００Ｂ  画像検査プログラム
６１０  差分符号化部
６２０  オフセット部
６３０  プレーン分割部
６４０  Ｌプレーン圧縮部
６５０  Ｈプレーン圧縮部
６６１  第１の判定部
６７０  データ記録部
５６２  第２の判定部
６６２  第２の判定部
【図１】
2010021882.tif 000007
【図２】
2010021882.tif 000008
【図３】
2010021882.tif 000009
【図４】
2010021882.tif 000010
【図５】
2010021882.tif 000011
【図６】
2010021882.tif 000012
【図７】
2010021882.tif 000013
【図８】
2010021882.tif 000014
【図９】
2010021882.tif 000015
【図１０】
2010021882.tif 000016
【図１１】
2010021882.tif 000017
【図１２】
2010021882.tif 000018
【図１３】
2010021882.tif 000019
【図１４】
2010021882.tif 000020
【図１５】
2010021882.tif 000021
【図１６】
2010021882.tif 000022
【図１７】
2010021882.tif 000023
【図１８】
2010021882.tif 000024
【図１９】
2010021882.tif 000025