(57)【要約】【課題】複数のランデータ群の論理演算を短時間で行う。【解決手段】ランデータの始端座標に対応するラン展開メモリのアドレスに記憶されている値に既定値を加算する一方で当該ランデータの終端座標に対応するラン展開メモリのアドレスに記憶されている値から既定値を減算するデータ展開操作をランデータ毎に実行することで、複数のランデータをラン展開メモリのアドレス空間に展開して記憶させるラン展開工程と、アドレス空間のｍ番目のアドレスに対してラン展開工程を完了した時点でアドレス空間の０番目ないしｍ番目のアドレスにそれぞれ記憶された値の総和を書き込む、スキャン操作をアドレス空間の各アドレスについて実行して複数のランデータの重なり状態を示す重なり情報を取得する重なり情報取得工程と、重なり情報に基づいて複数のランデータ群を論理演算する論理演算工程とを備える。【選択図】図４
2015103226.tif 000002
【特許請求の範囲】
【請求項１】
二値画像データをランレングス化して得られる少なくとも１つ以上のランデータをランデータ群とし、互いに異なる複数のランデータ群の論理演算を行うデータ演算方法であって、
ランデータの始端座標に対応するラン展開メモリのアドレスに記憶されている値に既定値を加算する一方で当該ランデータの終端座標に対応する前記ラン展開メモリのアドレスに記憶されている値から前記既定値を減算するデータ展開操作を前記ランデータ毎に実行することで、前記複数のランデータを前記ラン展開メモリのアドレス空間に展開して記憶させるラン展開工程と、
前記アドレス空間のｍ番目のアドレスに対して前記ラン展開工程を完了した時点で前記アドレス空間の０番目ないし前記ｍ番目のアドレスにそれぞれ記憶された値の総和を書き込む、スキャン操作を前記アドレス空間の各アドレスについて実行して前記複数のランデータの重なり状態を示す重なり情報を取得する重なり情報取得工程と、
前記重なり情報に基づいて前記複数のランデータ群の論理積、論理和および排他的論理和のうちの少なくとも１つを求める論理演算工程と
を備えることを特徴とするデータ演算方法。
【請求項２】
請求項１に記載のデータ演算方法であって、
前記複数のランデータを複数組に分割するとともに各組に対して実行されるデータ展開操作を展開スレッドとし、
排他制御のもと前記複数の展開スレッドのうちの一の展開スレッドによる前記既定値の加減算を許可するとともに前記一の展開スレッドによる加減算の対象となるアドレスに対する他の展開スレッドによるアクセスを禁止しながら前記複数の展開スレッドを並列して実行するデータ演算方法。
【請求項３】
請求項２に記載のデータ演算方法であって、
前記展開スレッドの個数が前記ランデータの個数と一致するデータ演算方法。
【請求項４】
請求項２または３に記載のデータ演算方法であって、
前記ラン展開工程では、前記一の展開スレッドによる加減算の対象となるアドレス以外のアドレスに対し、他の展開スレッドによるアクセスを許可するデータ演算方法。
【請求項５】
請求項１ないし４のいずれか一項に記載のデータ演算方法であって、
前記アドレス空間のｍ番目のアドレスに記憶された値と（ｍ−１）番目のアドレスに記憶された値とに基づいて前記ｍ番目のアドレスが論理演算後のランの始端座標に対応するか否かを判定し、ｍ番目のアドレスに記憶された値と（ｍ＋１）番目のアドレスに記憶された値とに基づいて前記ｍ番目のアドレスが論理演算後のランの終端座標に対応するか否かを判定する操作を判定操作とし、
前記論理演算工程は、前記アドレス空間の各アドレスについて前記判定操作を実行する工程であるデータ演算方法。
【請求項６】
請求項５に記載のデータ演算方法であって、
前記アドレス空間を構成する複数のアドレスを複数組に分割するとともに各組に対する判定操作を判定スレッドとし、前記複数の判定スレッドを並列して実行するデータ演算方法。
【請求項７】
請求項６に記載のデータ演算方法であって、
前記論理演算工程では、前記判定スレッドの個数が前記アドレス空間の前記アドレスの個数と一致し、各アドレスに対して前記判定スレッドが実行されるデータ演算方法。
【請求項８】
請求項５ないし７のいずれか一項に記載のデータ演算方法であって、
前記既定値は１であるデータ演算方法。
【請求項９】
請求項８に記載のデータ演算方法であって、
前記ランデータ群の個数をＮとしたとき、
前記論理演算工程では、
前記アドレス空間のｍ番目のアドレスに記憶された値がＮであり（ｍ−１）番目のアドレスに記憶された値が（Ｎ−１）以下であるときに前記ｍ番目のアドレスが論理演算後のランの始端座標に対応すると判定し、前記アドレス空間のｍ番目のアドレスに記憶された値がＮであり、（ｍ＋１）番目のアドレスに記憶された値が（Ｎ−１）以下であるときに前記ｍ番目のアドレスが論理演算後のランの終端座標に対応すると判定する操作を前記判定操作とし、
前記判定操作を前記アドレス空間の各アドレスについて実行して前記複数のランデータの論理積を求めるデータ演算方法。
【請求項１０】
請求項８または９に記載のデータ演算方法であって、
前記論理演算工程では、
前記アドレス空間のｍ番目のアドレスに記憶された値が１以上であり（ｍ−１）番目のアドレスに記憶された値が０であるときに前記ｍ番目のアドレスが論理演算後のランの始端座標に対応すると判定し、前記アドレス空間のｍ番目のアドレスに記憶された値が１以上であり（ｍ＋１）番目のアドレスに記憶された値が０であるときに前記ｍ番目のアドレスが論理演算後のランの終端座標に対応すると判定する操作を前記判定操作とし、
前記判定操作を前記アドレス空間の各アドレスについて実行して前記複数のランデータの論理和を求めるデータ演算方法。
【請求項１１】
請求項８ないし１０のいずれか一項に記載のデータ演算方法であって、
前記論理演算工程では、
前記アドレス空間のｍ番目のアドレスに記憶された値が奇数であり（ｍ−１）番目のアドレスに記憶された値が偶数であるときに前記ｍ番目のアドレスが論理演算後のランの始端座標に対応すると判定し、前記アドレス空間のｍ番目のアドレスに記憶された値が奇数であり（ｍ＋１）番目のアドレスに記憶された値が偶数であるときに前記ｍ番目のアドレスが論理演算後のランの終端座標に対応すると判定する操作を前記判定操作とし、
前記判定操作を前記アドレス空間の各アドレスについて実行して前記複数のランデータの排他的論理和を求めるデータ演算方法。
【請求項１２】
二値画像データをランレングス化して得られる少なくとも１つ以上のランデータをランデータ群とし、互いに異なる複数のランデータ群の論理演算を行うデータ演算装置であって、
前記ランデータの始端座標および終端座標に関連する値を記憶するラン展開メモリと、
ランデータの始端座標に対応するラン展開メモリのアドレスに記憶されている値に既定値を加算する一方で当該ランデータの終端座標に対応する前記ラン展開メモリのアドレスに記憶されている値から前記既定値を減算するデータ展開操作を前記ランデータ毎に実行して前記複数のランデータを前記ラン展開メモリのアドレス空間に展開するラン展開処理部と、
前記複数のランデータが展開された前記ラン展開メモリにおける前記アドレス空間のｍ番目のアドレスに対して前記アドレス空間の０番目ないし前記ｍ番目のアドレスにそれぞれ記憶された値の総和を書き込む、スキャン操作を前記アドレス空間の各アドレスについて実行して前記複数のランデータの重なり状態を示す重なり情報を取得する重なり情報取得部と、
前記重なり情報に基づいて前記複数のランデータ群の論理積、論理和および排他的論理和のうちの少なくとも１つを求める論理演算部と
を備えることを特徴とするデータ演算装置。
【請求項１３】
検査対象画像を取得する画像取得部と、
前記検査対象画像を検査して欠陥部位が含まれる抽出画像を抽出する画像抽出部と、
前記抽出画像を行毎にランレングス化して得られる少なくとも１つ以上のランデータを有する抽出ランデータ群と、マスク画像を行毎にランレングス化して得られる少なくとも１つ以上のランデータを有するマスクランデータ群との論理演算を行うことで、前記抽出画像のうち前記欠陥部位以外の部位を前記マスク画像によりマスク処理して欠陥画像データを得るデータ演算部とを備え、
前記データ演算部は、
前記ランデータの始端座標および終端座標に関連する値を記憶するラン展開メモリと、
ランデータの始端座標に対応するラン展開メモリのアドレスに記憶されている値に既定値を加算する一方で当該ランデータの終端座標に対応する前記ラン展開メモリのアドレスに記憶されている値から前記既定値を減算するデータ展開操作を前記ランデータ毎に実行して前記複数のランデータを前記ラン展開メモリのアドレス空間に展開するラン展開処理部と、
前記複数のランデータが展開された前記ラン展開メモリにおける前記アドレス空間のｍ番目のアドレスに対して前記アドレス空間の０番目ないし前記ｍ番目のアドレスにそれぞれ記憶された値の総和を書き込む、スキャン操作を前記アドレス空間の各アドレスについて実行して前記複数のランデータの重なり状態を示す重なり情報を取得する重なり情報取得部と、
前記重なり情報に基づいて前記抽出ランデータ群および前記マスクランデータ群の論理積を演算して前記欠陥部位以外の部位を除去する論理演算処理部と
を有することを特徴とする欠陥検査装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数のランデータ群の論理演算を行うデータ演算技術ならびに当該データ演算技術を適用した欠陥検査装置に関するものである。
【背景技術】
【０００２】
半導体基板やプリント基板等の製造技術分野では、製品に含まれる欠陥を検出しこれを分析・評価するために、評価対象物を顕微鏡等により撮像し、得られた画像から欠陥部を含む画像を抽出している。そして、抽出した画像に対してマスク画像によるマスク処理を実行することで欠陥画像を正確に求めている。このマスク処理を行うために、例えば特許文献１に記載の論理演算が上記画像のランデータに対して実行される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７-２０３１７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の発明は、演算処理対象となる２つの画像のランデータ群をビットマップデータに変換することなく、２つの画像の論理積、論理和および排他的論理和を求めている。より具体的には、演算処理対象となる２つのランデータ群を一方端のランから順に接続判定し、重なっている部分に応じて論理積、論理和および排他的論理和の判定を行っている。したがって、ランデータ群を構成するランデータの本数が多くなるにしたがって接続判定が複雑となり、論理演算に要する時間が増大するという問題がある。また、３つ以上のランデータ群について論理演算する場合には、接続判定の複雑さはさらに飛躍的に上昇し、論理演算に要する時間も飛躍的に増大してしまう。
【０００５】
この発明は上記課題に鑑みなされたものであり、複数のランデータ群の論理演算を短時間で行うことができるデータ演算技術および当該データ演算技術を用いて欠陥検査を効率的に行う技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
この発明の第１態様は、二値画像データをランレングス化して得られる少なくとも１つ以上のランデータをランデータ群とし、互いに異なる複数のランデータ群の論理演算を行うデータ演算方法であって、ランデータの始端座標に対応するラン展開メモリのアドレスに記憶されている値に既定値を加算する一方で当該ランデータの終端座標に対応するラン展開メモリのアドレスに記憶されている値から既定値を減算するデータ展開操作をランデータ毎に実行することで、複数のランデータをラン展開メモリのアドレス空間に展開して記憶させるラン展開工程と、アドレス空間のｍ番目のアドレスに対してラン展開工程を完了した時点でアドレス空間の０番目ないしｍ番目のアドレスにそれぞれ記憶された値の総和を書き込む、スキャン操作をアドレス空間の各アドレスについて実行して複数のランデータの重なり状態を示す重なり情報を取得する重なり情報取得工程と、重なり情報に基づいて複数のランデータ群の論理積、論理和および排他的論理和のうちの少なくとも１つを求める論理演算工程とを備えることを特徴としている。
【０００７】
また、この発明の第２態様は、二値画像データをランレングス化して得られる少なくとも１つ以上のランデータをランデータ群とし、互いに異なる複数のランデータ群の論理演算を行うデータ演算装置であって、ランデータの始端座標および終端座標に関連する値を記憶するラン展開メモリと、ランデータの始端座標に対応するラン展開メモリのアドレスに記憶されている値に既定値を加算する一方で当該ランデータの終端座標に対応するラン展開メモリのアドレスに記憶されている値から既定値を減算するデータ展開操作をランデータ毎に実行して複数のランデータをラン展開メモリのアドレス空間に展開するラン展開処理部と、複数のランデータが展開されたラン展開メモリにおけるアドレス空間のｍ番目のアドレスに対してアドレス空間の０番目ないしｍ番目のアドレスにそれぞれ記憶された値の総和を書き込む、スキャン操作をアドレス空間の各アドレスについて実行して複数のランデータの重なり状態を示す重なり情報を取得する重なり情報取得部と、重なり情報に基づいて複数のランデータ群の論理積、論理和および排他的論理和のうちの少なくとも１つを求める論理演算部とを備えることを特徴としている。
【０００８】
このように構成された発明（データ演算方法およびデータ演算装置）では、ランデータ群をビットマップデータに変換することなく、ランデータ群の論理演算が実行される。しかも、ランデータ毎のデータ展開操作およびアドレス毎のスキャン操作により複数のランデータの重なり状態を示す重なり情報を取得した上で、当該重なり情報に基づいてランデータ群の論理積、論理和および排他的論理和のうちの少なくとも１つを求めている。このため、ランデータの個数やランデータ群の個数が少ない場合はもちろんのこと、これらの個数が増大しても、簡素なデータ処理によって論理演算を実行することができる。
【０００９】
また、この発明の第３態様は、欠陥検査装置であって、検査対象画像を取得する画像取得部と、検査対象画像を検査して欠陥部位が含まれる抽出画像を抽出する画像抽出部と、抽出画像を行毎にランレングス化して得られる少なくとも１つ以上のランデータを有する抽出ランデータ群と、マスク画像を行毎にランレングス化して得られる少なくとも１つ以上のランデータを有するマスクランデータ群との論理演算を行うことで、抽出画像のうち欠陥部位以外の部位をマスク画像によりマスク処理して欠陥画像データを得るデータ演算部とを備える欠陥検査装置であって、データ演算部が、ランデータの始端座標および終端座標に関連する値を記憶するラン展開メモリと、ランデータの始端座標に対応するラン展開メモリのアドレスに記憶されている値に既定値を加算する一方で当該ランデータの終端座標に対応するラン展開メモリのアドレスに記憶されている値から既定値を減算するデータ展開操作をランデータ毎に実行して複数のランデータをラン展開メモリのアドレス空間に展開するラン展開処理部と、複数のランデータが展開されたラン展開メモリにおけるアドレス空間のｍ番目のアドレスに対してアドレス空間の０番目ないしｍ番目のアドレスにそれぞれ記憶された値の総和を書き込む、スキャン操作をアドレス空間の各アドレスについて実行して複数のランデータの重なり状態を示す重なり情報を取得する重なり情報取得部と、重なり情報に基づいて抽出ランデータ群およびマスクランデータ群の論理積を演算して欠陥部位以外の部位を除去する論理演算処理部とを有することを特徴としている。
【００１０】
このように構成された発明（欠陥検査装置）では、上記したデータ演算技術によって抽出ランデータ群とマスクランデータ群の論理積が演算されて欠陥部位以外の部位が抽出画像から除去され、良好な欠陥画像データが得られる。
【発明の効果】
【００１１】
この発明によれば、ランデータの個数やランデータ群の個数にかかわりなく、ラン展開処理と重なり情報取得処理を実行することで全ランデータの重なり状態を示す重なり情報が得られ、当該重なり情報に基づいて全ランデータ群の論理積、論理和および排他的論理和のうちの少なくとも１つを求めることが可能となっている。したがって、ランデータ群の論理演算を短時間で行うことができる。
【００１２】
また、上記したデータ演算技術を用いることで欠陥部位以外の部位が抽出画像から除去され、良好な欠陥画像データが短時間で得られる。したがって、欠陥検査に要する時間を短縮することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明にかかるデータ演算装置の一実施形態を装備する欠陥検査装置の概略構成を示す図である。
【図２】画像処理部の概略構成を示すブロック図である。
【図３】本発明にかかるデータ演算装置の一実施形態に相当するデータ処理部の概略構成を示すブロック図である。
【図４】データ処理部によるデータ演算動作の一例を模式的に示す説明図である。
【図５】各プロセッサコアで実行されるデータ展開操作の内容を示す図である。
【図６】重なり情報取得処理の内容を示す図である。
【図７】プレフィクススキャンの動作概要を示す図である。
【図８】論理積判定処理の内容を示す図である。
【図９】データ処理部によるデータ演算動作の他の例を模式的に示す説明図である。
【図１０】論理和判定処理の内容を示す図である。
【図１１】データ処理部によるデータ演算動作の別の例を模式的に示す説明図である。
【図１２】排他的論理和判定処理の内容を示す図である。
【発明を実施するための形態】
【００１４】
図１は本発明にかかるデータ演算装置の一実施形態を装備する欠陥検査装置の概略構成を示す図である。この欠陥検査装置１は、検査対象である半導体基板（以下「基板」という。）Ｓの外観に現れたピンホールや異物等の欠陥検査を行う。欠陥検査装置１は、基板Ｓ上の検査対象領域を撮像する撮像装置２と、撮像装置２からの画像データに基づいて欠陥検査を行う制御装置３を有する。
【００１５】
上記欠陥検査装置１を装備する検査システムでは、欠陥検査装置１とは別に基板Ｓの製造ラインに設けられた基板検出装置Ｍにおいて基板Ｓに欠陥が発見されると、その欠陥の位置座標がこの欠陥検査装置１に与えられる。製造ラインに組み込まれた基板検出装置Ｍは、予め定められた処理アルゴリズムによって基板Ｓ全体を検査し、基板表面に欠陥としての要件を満たす領域があればその位置座標を取得して出力する。したがって、該基板検出装置Ｍが有する撮像部は比較的低解像度であり、処理アルゴリズムも固定的である。
【００１６】
一方、この欠陥検査装置１は、図示しないインターフェースを介して基板検出装置Ｍと接続されており、基板検出装置Ｍから欠陥として位置座標が報告された領域をより高い解像度を有する撮像装置２によって撮像するとともに、その画像を制御装置３が精査して欠陥の有無やその種類などをより詳しく判定するとともに、欠陥部分の画像を表示部に表示する。
【００１７】
撮像装置２は、基板Ｓ上の検査対象領域を撮像することにより画像データを取得する撮像部２１、基板Ｓを保持するステージ２２、および、撮像部２１に対してステージ２２を相対的に移動させるステージ駆動部２３を有している。また、撮像部２１は、照明光を出射する照明部２１１、基板Ｓに照明光を導くとともに基板Ｓからの光が入射する光学系２１２、および、光学系２１２により結像された基板Ｓの像を電気信号に変換する撮像デバイス２１３を有している。ステージ駆動部２３はボールねじ、ガイドレールおよびモータにより構成され、制御装置３に設けられた装置制御部４がステージ駆動部２３および撮像部２１を制御することにより、基板Ｓ上の検査対象領域が撮像される。
【００１８】
制御装置３は装置制御部４を有しており、この装置制御部４が予め読み込まれた制御プログラムを実行することにより、図１に示す制御装置各部を以下のように動作させる。制御装置３は、上記の装置制御部４のほか、画像取得部５および画像処理部６を備えている。画像取得部５は、撮像部２１から出力される電気信号をデータ化して、撮像画像に対応する画像データを取得する。画像処理部６は、画像取得部５が取得した画像データに対して適宜の画像処理を施して、画像に含まれる欠陥の検出や欠陥部分の画像（以下「欠陥画像」という）を作成する。なお、当該画像処理部６は本発明にかかるデータ演算装置の一実施形態であるデータ処理部を含んでおり、撮像装置２により撮像された画像（検査対象画像）から抽出した画像に対してマスク処理を施して欠陥部分の情報を導出可能となっている。画像処理部６、特にデータ処理部の構成および動作については、後で詳述する。
【００１９】
さらに、制御装置３は、各種データを記憶するための記憶部７、ユーザからの操作入力を受け付けるキーボードおよびマウスなどの入力受付部８および操作手順や処理結果等のユーザ向け視覚情報を表示する表示部９などを備えている。また、図示を省略しているが、光ディスク、磁気ディスク、光磁気ディスク等のコンピュータ読み取り可能な記録媒体から情報の読み取りを行う読取装置を有し、欠陥検査装置１の他の構成との間で信号を送受信する通信部が、適宜、インターフェイス（Ｉ／Ｆ）を介する等して接続される。
【００２０】
図２は画像処理部の概略構成を示すブロック図である。画像処理部６は、フィルタリング部６１、差分抽出部６２、二値化処理部６３およびデータ処理部６４を有している。フィルタリング部６１には、画像取得部５から撮像画像が送られてくるとともに、記憶部７から参照画像が送られてくる。これら両画像のうち撮像画像は、撮像装置２によって撮像された基板Ｓの画像であり、欠陥検出検査の対象となる検査対象画像に相当する。また、参照画像は欠陥のない理想的な基板に対応する画像であり、この実施形態では、次に説明するように、検査対象画像と参照画像との比較によって検査対象画像から欠陥検出が行われる。これらの欠陥画像および参照画像は記憶部７に記憶され、必要に応じて参照されるが、外部の記憶媒体に記憶された画像データを必要に応じて読み込む形態であってもよい。
【００２１】
フィルタリング部６１は、検査対象画像および参照画像のそれぞれについて、画像ノイズおよび欠陥と関係のない軽微な画像の差異を除去するためのフィルタリング処理を行い、各画像を差分抽出部６２に送る。この差分抽出部６２は、フィルタリング処理後の検査対象画像および参照画像の差分を求めることで画像内容が互いに異なる領域を抽出し、当該差分画像を二値化処理部６３に送る。そして、二値化処理部６３は適宜の閾値によって差分画像を二値化して抽出画像データを生成し、データ処理部６４に送る。このデータ処理部６４は抽出画像データをランレングス化して複数のランデータからなるランデータ群を生成するとともに、記憶部７から与えられるマスク画像データをランレングス化して複数のランデータからなるランデータ群を生成する。なお、本明細書では、抽出画像データをランレングス化して生成されるランデータを「抽出ランデータ」と称し、マスク画像データをランレングス化して生成されるランデータを「マスクランデータ」と称し、さらに後述するように抽出ランデータ群とマスクランデータ群の論理積により得られるランデータを「欠陥ランデータ」と称する。
【００２２】
図３は、本発明にかかるデータ演算装置の一実施形態に相当するデータ処理部の概略構成を示すブロック図である。このデータ処理部６４はＧＰＵ（Graphics Processing Unit）で構成されており、複数のプロセッサコア６４１を有している。各プロセッサコア６４１はラン展開処理部６４２、重なり情報取得処理部６４３および論理判定処理部６４４として機能し、ランデータ毎のラン展開メモリへのラン展開操作、当該ラン展開メモリのアドレス毎のスキャン操作および判定操作をそれぞれ一のスレッドとして実行する。本実施形態では、ランデータ毎のラン展開操作が本発明の「展開スレッド」の一例に相当し、アドレス毎の判定操作が本発明の「判定スレッド」の一例に相当している。なお、ラン展開操作、スキャン操作および判定操作については後で詳述する。
【００２３】
データ処理部６４は、上記した抽出ランデータ、マスクランデータおよび欠陥ランデータを一時的に記憶する記憶部６４５を有している。この記憶部６４５はラン展開操作により展開された値を記憶するアドレス空間を有しており、当該アドレス空間で規定されるメモリ空間が本発明の「ラン展開メモリ」として機能する。また、記憶部６４５には、ラン展開メモリの各アドレスについてスキャン操作を行うことで得られる値を記憶する始端位置メモリおよび終端位置メモリも設けられている。これらラン展開メモリ、始端位置メモリおよび終端位置メモリに関しても後で詳述する。
【００２４】
データ処理部６４は、さらにラン生成部６４７、並列処理制御部６４８、データ初期設定部６４９を有している。ラン生成部６４７は、抽出画像データをランレングス化処理して抽出ランデータ群を生成し、またマスク画像データをランレングス化処理してマスクランデータ群を生成し、それらを記憶部６４５に記憶させる。また、並列処理制御部６４８は、各プロセッサコア６４１で実行されるスレッドを排他制御しながら並列して実行させる。さらにデータ初期設定部６４９は適宜ラン展開メモリ、始端位置メモリや終端位置メモリのメモリ内容をゼロクリアする。なお、本実施形態では、マスク画像データからマスクランデータ群を生成しているが、予めマスクランデータ群を記憶部７に記憶させておき、記憶部７からのマスクランデータ群を用いてマスク処理を行うように構成してもよい。
【００２５】
次に、上記のように構成されたデータ処理部６４によるデータ演算動作について図４ないし図８を参照しつつ説明する。図４はデータ処理部によるデータ演算動作の一例を模式的に示す説明図である。ここでは、データ演算動作の理解を助けるために、二値化処理部６３により作成された抽出画像データとして図４中の符号Ｄｅで示す１×６画素の二値画像データがデータ処理部６４に与えられるとともにマスク画像データとして図４中の符号Ｄｍで示す１×６画素の二値画像データがデータ処理部６４に与えられた場合を例示して説明する。
【００２６】
データ処理部６４に入力された抽出画像データに対し、ランレングス化処理がラン生成部６４７で実行されて抽出ランデータが生成され、記憶部６４５に記憶される。ランレングス化処理については従来周知技術が数多く提案されており、本実施形態においても一般的なランレングス化処理をそのまま用いており、抽出画像データＤｅに対してランレングス化処理を施すことで１つの抽出ランデータｒｅ［０］が得られる。なお、同図中の符号「Ｘ０」は画像データにおける当該ランの始端画素位置を示す列インデクス（始端座標）を示し、符号「Ｘ１」は画像データにおける当該ランの終端画素位置を示す列インデクス（終端座標）を示し、符号「Ｙ」は画像データにおける当該ランの行インデクスを示している。
【００２７】
また、データ処理部６４では、抽出画像データ以外に、マスク画像データに対してもランレングス化処理が実行されてマスクランデータが生成され、記憶部６４５に記憶される。マスク画像データＤｍに対するランレングス化処理によって２つのマスクランデータｒｍ［０］、ｒｍ［１］が得られる。
【００２８】
こうして抽出ランデータｒｅ［０］からなる抽出ランデータ群と、マスクランデータｒｍ［０］、ｒｍ［１］からなるマスクランデータ群とが生成される。そして、「ラン展開処理」、「重なり情報取得処理」および「論理積判定処理」が実行され、これによって抽出ランデータ群とマスクランデータ群との論理積が演算される。
【００２９】
ラン展開処理は、ラン展開メモリのアドレスに記憶されている値をゼロにクリアした後で、ランデータ毎にデータ展開操作して両ランデータ群に含まれるランデータのすべてをラン展開メモリｓ１のアドレス空間に展開して記憶させるものであり、本発明の「ラン展開工程」の一例に相当する。ここで、データ展開操作をシリアルで行うことも可能であるが、この場合、ラン展開処理に多大な時間を費やしてしまう。
【００３０】
そこで、本実施形態では、ランデータ毎のデータ展開操作を一の「展開スレッド」とし、各プロセッサコア６４１により展開スレッドが並列的に実行される。つまり、図３および図５に示すように、第０プロセッサコア６４１ではランデータｒｅ［０］を処理対象ランデータとしてデータ展開操作が実行され、これに並行して第１プロセッサコア６４１ではランデータｒｍ［０］を処理対象ランとして、また第２プロセッサコア６４１ではランデータｒｍ［１］を処理対象ランとしてデータ展開操作が実行される。ただし、各データ展開操作では、次に説明するようにラン展開メモリｓ１の書換作業が伴うため、本実施形態では並列処理制御部６４８がプロセッサコア６４１間での排他制御を行う。
【００３１】
図５は各プロセッサコアで実行されるデータ展開操作の内容を示す図である。データ展開操作は、ランデータの始端座標に対応するラン展開メモリｓ１のアドレスに記憶されている値に既定値（本実施形態では「１」）を加算する一方で当該ランデータの終端座標に対応するラン展開メモリｓ１のアドレスに記憶されている値から既定値を減算する操作である。例えば第０スレッドはランデータｒｅ［０］の始端座標Ｘ０に対応するラン展開メモリｓ１のアドレス（図４中のアドレス［２］）に記憶されている値ｓ１［２］に１を加算する。つまり、ラン展開メモリｓ１のアドレス［２］に対して他のスレッドによる書換が行われる間待機する一方、書換禁止が解除されていることを条件に次式の加算処理
ｓ１［２］＝ｓ１［２］＋１
を実行する。それに続いて、ランデータｒｅ［０］の終端座標Ｘ１に対応するラン展開メモリｓ１のアドレス（図４中のアドレス［６］）に記憶されている値ｓ１［６］から１を減算する。つまり、ラン展開メモリｓ１のアドレス［６］に対して他のスレッドによる書換が行われる間待機する一方、書換禁止が解除されていることを条件に次式の減算処理
ｓ１［６］＝ｓ１［６］−１
を実行する。
【００３２】
このようなデータ展開操作をランデータ毎に行うことで、抽出ランデータ群のランデータおよびマスクランデータ群のランデータが全てラン展開メモリｓ１のアドレス空間［０］〜［６］に展開され記憶される。そして、こうして展開されたデータに対してプレフィクススキャン（prefixscan；「プリフィクススキャン」ともいう）を実行することで全ランデータの重なり状態を示す重なり情報を取得する（重なり情報取得処理）。
【００３３】
図６は重なり情報取得処理の内容を示す図であり、図７はプレフィクススキャンの動作概要を示す図である。ここで、「プレフィクススキャン」とは一次元配列の第ｍ番目に元の配列の０番目からｍ番目までの総和を入れる処理を意味している。そして、本実施形態では、アドレス毎のプレフィクススキャン操作をシリアルに行うのではなく、並列的に行っている。つまり、ラン展開メモリｓ１以外に別の２つのラン展開メモリｓ２、ｓ３が記憶部６４５に設けられ、図６および図７に示すように、アドレス毎のプレフィクススキャン操作を一の「スキャンスレッド」とし、各プロセッサコア６４１によりスキャンスレッドが並列的に実行される。
【００３４】
図４に示す具体例では、ラン展開メモリｓ１のアドレス空間［０］〜［６］の一次元配列｛１、−１、１、１、０、−１、−１｝は、アドレス毎のプレフィクススキャン操作によって配列｛１、０、１、２、２、１、０｝となり、各アドレスに記憶されている値、つまり画素毎の重なり状態を示す重なり情報に基づいて論理演算することが可能となる。本実施形態では、マスク処理を行うために２つのランデータ群の論理積を実行する必要があり、値「２」に着目して論理判定処理部６４４が論理演算判定として論理積判定処理を行う。ただし、値「２」は当該アドレス［ｍ］に対応する画素でランデータ群が重なっていることを示しているに過ぎず、始端座標であることを確認するためにはアドレス［ｍ−１］に記憶されている値ｓ１［ｍ−１］が「２」よりも小さい（１以下）であることを確認する必要がある。また、終端座標であることを確認するためにはアドレス［ｍ＋１］に記憶されている値ｓ１［ｍ＋１］が「２」よりも小さい（１以下）であることを確認する必要がある。なお、ランデータ群の数が３以上の場合であっても基本的に同じであり、ランデータ群の数Ｎ（２以上の自然数）に着目し、次に説明する論理積判定処理を行うことができる。
【００３５】
図８は論理積判定処理の内容を示す図である。この論理積判定処理は、重なり情報取得処理を実行した後のラン展開メモリｓ１の各アドレスに記憶される値に基づいて各アドレスに対応する画素が論理積処理により得られるランデータの始端座標あるいは終端座標であるか否かを判定するものである。本実施形態では、論理積判定処理に先立って始端位置メモリｓｓおよび終端位置メモリｓｅの各アドレスに記憶されている値をゼロにクリアする。そして、論理積判定処理においても、重なり情報取得処理と同様に一画素一スレッドで判定操作を行っている。つまり、アドレス空間のｍ番目のアドレスが論理演算後のランの始端座標あるいは終端座標に対応するか否かを判定する判定操作を図８に示すように一の「判定スレッド」とし、各プロセッサコア６４１により判定スレッドが並列的に実行される。
【００３６】
各判定スレッドは大きく分けて始端座標の判定と終端座標の判定とを順番に実行する。始端座標の判定は、アドレス空間のｍ番目のアドレスに記憶された値（＝ｓ１［ｍ］）と（ｍ−１）番目のアドレスに記憶された値（＝ｓ１［ｍ−１］）とに基づいてｍ番目のアドレスが論理積処理後のランの始端座標に対応するか否かにより行われる。より具体的には、以下の２つの条件（ＡＮＤ１）、（ＡＮＤ２）
（ＡＮＤ１）…値ｓ１［ｍ］がランデータ群の数Ｎと一致する、
（ＡＮＤ２）…値ｓ１［ｍ−１］が（Ｎ−１）以下である、
をともに満足するときに、始端位置メモリｓｓのアドレス［ｍ］に記憶される値を「１」にセットする。したがって、図４に示す具体例では、ランデータ数Ｎ＝２であり、ｍ＝３においてのみ上記条件（ＡＮＤ１）、（ＡＮＤ２）が満足されるために、値ｓｓ［３］のみが「１」となり、それ以外の値ｓｓ［０］〜ｓｓ［２］、ｓｓ［４］、ｓｓ［５］は「０」のまま維持される。
【００３７】
また、終端座標の判定は、アドレス空間のｍ番目のアドレスに記憶された値（＝ｓ１［ｍ］）と（ｍ＋１）番目のアドレスに記憶された値（＝ｓ１［ｍ＋１］）とに基づいてｍ番目のアドレスが論理積処理後のランの終端座標に対応するか否かにより行われる。より具体的には、上記した条件（ＡＮＤ１）とともに、条件（ＡＮＤ３）、つまり、
（ＡＮＤ３）…値ｓ１［ｍ＋１］が（Ｎ−１）以下である、
を満足するときに、終端位置メモリｓｅのアドレス［ｍ］に記憶される値を「１」にセットする。したがって、図４に示す具体例では、ランデータ数Ｎ＝２であり、ｍ＝４においてのみ上記条件（ＡＮＤ１）、（ＡＮＤ３）が満足されるために、値ｓｅ［４］のみが「１」となり、それ以外の値ｓｅ［０］〜ｓｅ［３］、ｓｅ［５］は「０」のまま維持される。
【００３８】
こうして抽出ランデータ群とマスクランデータ群との論理積後におけるランの始端座標および終端座標が求まる。それに続いて、始端位置メモリｓｓおよび終端位置メモリｓｅの記憶情報に基づいて欠陥ランデータｒｄ［ｍ］を取得する。例えば図４に示す具体例では、値ｓｓ［３］が「１」であり、値ｓｅ［４］が「１」であり、それ以外の値は「０」であることから欠陥ランデータｒｄ［ｍ］は、ランデータｒｄ［０］（始端座標Ｘ０＝３、終端座標Ｘ１＝５、行インデクスＹ＝０）となる。そして、当該欠陥ランデータｒｄ［ｍ］に基づいて欠陥画像データを作成し、出力する（欠陥画像データの作成処理：論理和画像データの作成処理）。
【００３９】
以上のように、本実施形態によれば、抽出ランデータ群およびマスクランデータ群をビットマップデータに変換することなく、２つのランデータ群の論理積を求めており、論理演算を短時間で行うことができる。ビットマップデータへの変換を不要とする点では、特許文献１に記載の発明と共通するが、次の点で大きく相違している。つまり、本実施形態では、ランデータ毎のデータ展開操作およびアドレス毎のスキャン操作により全ランデータの重なり状態を示す重なり情報を取得し、さらに当該重なり情報に基づいて抽出ランデータ群およびマスクランデータ群の論理積を求めている。したがって、特許文献１に記載の発明における論理演算方法、つまり一方端のランから順に接続判定し、重なっている部分に応じて論理演算を行う方法に比べて高速な演算処理が可能となり、演算時間を短縮することができる。特に、ランデータの個数が増大すると、本実施形態の優位性はさらに高まる。
【００４０】
また上記実施形態では、ラン展開処理を実行するにあたって、ランデータ毎のラン展開操作を展開スレッドとし、１ランデータ１展開スレッドでラン展開操作を並列的に実行しているため、ラン展開処理に要する時間を短縮している。なお、本実施形態では展開スレッドの個数とランデータの個数とを一致させているが、複数のランデータの分割態様はこれに限定されるものではない。つまり、プロセッサコア６４１の個数に応じて複数のランデータの分割態様を適宜変更してもよく、複数のランデータをプロセッサコア６４１の個数に応じて複数組に分割し、各プロセッサコアが分割された一または複数のランデータについてラン展開操作を展開スレッドとして実行するように構成してもよい。この点については、重なり情報取得処理および論理積判定処理においても同様である。
【００４１】
また上記実施形態では、ラン展開処理のみならず、重なり情報取得処理および論理積判定処理においても複数のプロセッサコア６４１による並列処理を行っており、処理時間の短縮に大きく寄与している。すなわち、重なり情報取得処理で行われるプレフィクススキャンでは、アドレス毎のプレフィクススキャン操作を一の「スキャンスレッド」とし、各プロセッサコア６４１によりスキャンスレッドを並列的に行っている。また、論理積判定処理では、一画素一判定スレッドで判定操作を行っている。つまり、アドレス空間のｍ番目のアドレスが論理演算後のランの始端座標あるいは終端座標に対応するか否かを判定する判定操作を一の「判定スレッド」とし、各プロセッサコア６４１により判定スレッドを並列的に行っている。したがって、重なり情報取得処理や論理積判定処理に要する時間を短縮することができる。
【００４２】
さらに、上記実施形態では、第０〜第ｎプロセッサコア６４１の上位に位置する並列処理制御部６４８がラン展開メモリｓ１のアクセス管理を行い、異なる複数のプロセッサコア６４１がラン展開メモリｓ１の同一アドレスに対してデータ書換を行うのを防止している。つまり、一の展開スレッドでラン展開メモリｓ１のアドレス［ｍ］に記憶されている値ｓ１［ｍ］の書換を行う時には、他の展開スレッドが値ｓ１［ｍ］を書き換えるのを一時的に禁止している。一方、アドレス［ｍ］以外のラン展開メモリｓ１を自由化してデータ書換を許可している。したがって、ラン展開処理の競合を回避しつつラン展開処理を高速に行うことが可能となっている。
【００４３】
ところで、上記実施形態ではマスク処理を行うために、重なり情報に基づく論理判定処理として論理積判定を行っているが、その他の処理、例えば検査結果の統合を行うために論理和判定処理を行うことができる。また、上記論理判定処理として排他的論和判定処理を行うことも可能であり、論理積判定処理の場合と同様の作用効果が得られる。以下、論理和判定処理および排他的論和判定処理について図面を参照しつつ説明する。
【００４４】
図９はデータ処理部によるデータ演算動作の他の例を模式的に示す説明図である。ここでは、データ演算動作の理解を助けるために、二値化処理部６３により作成された第１画像データとして図９中の符号Ｄ１で示す１×６画素の第１画像データがデータ処理部６４に与えられるとともに第２画像データとして図９中の符号Ｄ２で示す１×６画素の第２画像データがデータ処理部６４に与えられた場合を例示して説明する。なお、冗長な説明を回避するため、第１画像データＤ１は図４の抽出画像データＤｅと同一であり、第２画像データＤ２は図４のマスク画像データＤｍと同一である場合を例示している。したがって、重なり情報が得られるまでの処理は上記実施形態（図４）と同一である。これらの点については、後で説明する排他的論和判定処理の説明においても同一である。
【００４５】
図１０は論理和判定処理の内容を示す図である。この論理和判定処理は、重なり情報取得処理を実行した後のラン展開メモリｓ１の各アドレスに記憶される値に基づいて各アドレスに対応する画素が論理和処理により得られるランデータの始端座標あるいは終端座標であるか否かを判定するものである。本実施形態では、論理和判定処理においても、重なり情報取得処理と同様に一画素一スレッドで判定操作を行っている。つまり、アドレス空間のｍ番目のアドレスが論理和処理後のランの始端座標あるいは終端座標に対応するか否かを判定する判定操作を図１０に示すように一の「判定スレッド」とし、各プロセッサコア６４１により判定スレッドが並列的に実行される。
【００４６】
各判定スレッドは大きく分けて始端座標の判定と終端座標の判定とを順番に実行する。始端座標の判定は、アドレス空間のｍ番目のアドレスに記憶された値（＝ｓ１［ｍ］）と（ｍ−１）番目のアドレスに記憶された値（＝ｓ１［ｍ−１］）とに基づいてｍ番目のアドレスが論理演算後のランの始端座標に対応するか否かを判定するものである。より具体的には、以下の２つの条件（ＯＲ１）、（ＯＲ２）
（ＯＲ１）…値ｓ１［ｍ］が１以上である、
（ＯＲ２）…値ｓ１［ｍ−１］が「０」である、
をともに満足するときに、始端位置メモリｓｓのアドレス［ｍ］に記憶される値ｓｓ［ｍ］を「１」にセットする。したがって、図９に示す具体例では、ｍ＝０、２において上記条件（ＯＲ１）、（ＯＲ２）が満足されるために、値ｓｓ［０］、ｓｓ［２］が「１」となり、それ以外の値ｓｓ［１］、ｓｓ［３］〜ｓｓ［５］は「０」のまま維持される。
【００４７】
また、終端座標の判定は、アドレス空間のｍ番目のアドレスに記憶された値（＝ｓ１［ｍ］）と（ｍ＋１）番目のアドレスに記憶された値（＝ｓ１［ｍ＋１］）とに基づいてｍ番目のアドレスが論理和処理後のランの終端座標に対応するか否かを判定するものである。より具体的には、上記した条件（ＯＲ１）とともに、条件（ＯＲ３）、つまり、
（ＯＲ３）…値ｓ１［ｍ＋１］が「０」である、
を満足するときに、終端位置メモリｓｅのアドレス［ｍ］に記憶される値ｓｅ［ｍ］を「１」にセットする。したがって、図９に示す具体例では、ｍ＝０、５においてのみ上記条件（ＯＲ１）、（ＯＲ３）が満足されるために、値ｓｅ［０］、ｓｅ［５］が「１」となり、それ以外の値ｓｅ［１］〜ｓｅ［４］は「０」のまま維持される。
【００４８】
こうして第１ランデータ群と第２ランデータ群との論理和処理後におけるランの始端座標および終端座標が求まる。それに続いて、始端位置メモリｓｓおよび終端位置メモリｓｅの記憶情報に基づいて論理和処理のランデータｒｄ［ｍ］を取得する。例えば図９に示す具体例では、値ｓｓ［０］、ｓｓ［２］が「１」であり、値ｓｅ［０］、ｓｅ［５］が「１」であり、それ以外の値は「０」であることから論理和処理後のランデータｒｄ［ｍ］は、ランデータｒｄ［０］（始端座標Ｘ０＝３、終端座標Ｘ１＝１、行インデクスＹ＝０）と、ランデータｒｄ［１］（始端座標Ｘ０＝２、終端座標Ｘ１＝６、行インデクスＹ＝０）となる。そして、当該ランデータｒｄ［ｍ］に基づいて論理和画像データを作成し、出力する（論理和画像データの作成処理）。
【００４９】
図１１はデータ処理部によるデータ演算動作の別の例を模式的に示す説明図である。また、図１２は排他的論理和判定処理の内容を示す図である。この排他的論理和判定処理は、重なり情報取得処理を実行した後のラン展開メモリｓ１の各アドレスに記憶される値に基づいて各アドレスに対応する画素が排他的論理和処理により得られるランデータの始端座標あるいは終端座標であるか否かを判定するものである。本実施形態では、排他的論理和判定処理においても、重なり情報取得処理と同様に一画素一スレッドで判定操作を行っている。つまり、アドレス空間のｍ番目のアドレスが排他的論理和処理後のランの始端座標あるいは終端座標に対応するか否かを判定する判定操作を図１２に示すように一の「判定スレッド」とし、各プロセッサコア６４１により判定スレッドが並列的に実行される。
【００５０】
各判定スレッドは大きく分けて始端座標の判定と終端座標の判定とを順番に実行する。始端座標の判定は、アドレス空間のｍ番目のアドレスに記憶された値（＝ｓ１［ｍ］）と（ｍ−１）番目のアドレスに記憶された値（＝ｓ１［ｍ−１］）とに基づいてｍ番目のアドレスが論理演算後のランの始端座標に対応するか否かを判定するものである。より具体的には、以下の２つの条件（ＸＯＲ１）、（ＸＯＲ２）
（ＸＯＲ１）…値ｓ１［ｍ］が奇数である、
（ＸＯＲ２）…値ｓ１［ｍ−１］が偶数である、
をともに満足するときに、始端位置メモリｓｓのアドレス［ｍ］に記憶される値ｓｓ［ｍ］を「１」にセットする。したがって、図１１に示す具体例では、ｍ＝０、２、５において上記条件（ＸＯＲ１）、（ＸＯＲ２）が満足されるために、値ｓｓ［０］、ｓｓ［２］、ｓｓ［５］が「１」となり、それ以外の値ｓｓ［１］、ｓｓ［３］、ｓｓ［４］は「０」のまま維持される。
【００５１】
また、終端座標の判定は、アドレス空間のｍ番目のアドレスに記憶された値（＝ｓ１［ｍ］）と（ｍ＋１）番目のアドレスに記憶された値（＝ｓ１［ｍ＋１］）とに基づいてｍ番目のアドレスが排他的論理和処理後のランの終端座標に対応するか否かを判定するものである。より具体的には、上記した条件（ＸＯＲ１）とともに、条件（ＸＯＲ３）、つまり、
（ＸＯＲ３）…値ｓ１［ｍ＋１］が偶数である、
を満足するときに、終端位置メモリｓｅのアドレス［ｍ］に記憶される値ｓｅ［ｍ］を「１」にセットする。したがって、図１１に示す具体例では、ｍ＝０、２、５において上記条件（ＸＯＲ１）、（ＸＯＲ３）が満足されるために、値ｓｅ［０］、ｓｅ［２］、ｓｅ［５］が「１」となり、それ以外の値ｓｅ［１］、ｓｅ［３］、ｓｅ［４］は「０」のまま維持される。
【００５２】
こうして第１ランデータ群と第２ランデータ群との排他的論理和処理後におけるランの始端座標および終端座標が求まる。それに続いて、始端位置メモリｓｓおよび終端位置メモリｓｅの記憶情報に基づいて排他的論理和処理後のランデータｒｄ［ｍ］を取得する。例えば図１１に示す具体例では、値ｓｓ［０］、ｓｓ［２］、ｓｓ［５］が「１」であり、値ｓｅ［０］、ｓｅ［２］、ｓｅ［５］が「１」であり、それ以外の値は「０」であることから排他的論理和処理後のランデータｒｄ［ｍ］は、ランデータｒｄ［０］（始端座標Ｘ０＝０、終端座標Ｘ１＝１、行インデクスＹ＝０）と、ランデータｒｄ［１］（始端座標Ｘ０＝２、終端座標Ｘ１＝３、行インデクスＹ＝０）と、ランデータｒｄ［２］（始端座標Ｘ０＝５、終端座標Ｘ１＝６、行インデクスＹ＝０）となる。そして、当該ランデータｒｄ［ｍ］に基づいて排他的論理和画像データを作成し、出力する（排他的論理和画像データの作成処理）。
【００５３】
なお、本発明は上記した実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて上述したもの以外に種々の変更を行うことが可能である。例えば、上記実施形態では、ラン展開処理、重なり情報取得処理および論理判定処理（論理積判定、論理和判定、排他的論理和判定）を実行するために複数のプロセッサコア６４１を有するＧＰＵを用いているが、ＧＰＵの代わりに複数のＣＰＵを設け、各ＣＰＵで一のスレッドを実行するように構成してもよい。
【００５４】
また、上記実施形態では、マスク画像データＤｍ（図４）や第２画像データＤ２（図９、図１１）をデータ処理部６５でランレングス化してランデータ群を得ているが、これらの画像データＤｍ、Ｄ２に対応するランデータ群を予め記憶部７に記憶しておき、当該ランデータ群を記憶部７からデータ処理部６５に与えるように構成してもよい。
【００５５】
また、上記実施形態では、２つのランデータ群に対して論理演算を施しているが、３つ以上のランデータ群に対しても本発明にかかるデータ演算方法を適用することができる。このように３つ以上のランデータ群に対して論理演算する場合、本発明の優位性がさらに増す。すなわち、特許文献１に記載の発明ではランデータ群が３つ以上となると、接続判定の複雑さが飛躍的に上昇し、ランデータ群の増大に伴う処理時間の増加は不可避である。これに対し、本発明では、ランデータ群の増大により展開すべきランデータの個数が増えてラン展開処理に要する時間は２つのランデータ群の場合よりも長くなる可能性はある。しかしながら、重なり情報取得処理および論理判定処理（論理積判定、論理和判定、排他的論理和判定）に要する時間はランデータ群の個数に影響されない。したがって、ランデータの個数増大にもかかわらず、データ演算処理を短時間で行うことができる。
【００５６】
さらに、上記実施形態では、複数のランデータ群を論理演算するデータ演算技術を欠陥検査装置に適用しているが、本発明にかかるデータ演算方法および装置に適用対象はこれに限定されるものではなく、上記データ演算技術を利用する装置全般に適用することができる。
【産業上の利用可能性】
【００５７】
この発明は、複数のランデータ群の論理演算を行うデータ演算技術に対して好適に適用することができる。
【符号の説明】
【００５８】
１…検査システム
５…画像取得部
６…画像処理部
２１…撮像部
６２…差分抽出部（画像抽出部）
６３…二値化処理部
６４…データ処理部（データ演算装置）
６４１…プロセッサコア
６４２…ラン展開処理部
６４３…重なり情報取得処理部
６４４…論理判定処理部
６４５…記憶部
６４７…ラン生成部
６４８…並列処理制御部
６４９…データ初期設定部
【図１】
2015103226.tif 000003
【図２】
2015103226.tif 000004
【図３】
2015103226.tif 000005
【図４】
2015103226.tif 000006
【図５】
2015103226.tif 000007
【図６】
2015103226.tif 000008
【図７】
2015103226.tif 000009
【図８】
2015103226.tif 000010
【図９】
2015103226.tif 000011
【図１０】
2015103226.tif 000012
【図１１】
2015103226.tif 000013
【図１２】
2015103226.tif 000014