JP2001311692A - 外観検査装置及び外観検査方法 - Google Patents

外観検査装置及び外観検査方法

Info

Publication number
JP2001311692A
JP2001311692A JP2000129041A JP2000129041A JP2001311692A JP 2001311692 A JP2001311692 A JP 2001311692A JP 2000129041 A JP2000129041 A JP 2000129041A JP 2000129041 A JP2000129041 A JP 2000129041A JP 2001311692 A JP2001311692 A JP 2001311692A
Authority
JP
Japan
Prior art keywords
processing
image data
thread
threads
inspection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2000129041A
Other languages
English (en)
Other versions
JP4693074B2 (ja
Inventor
Yoshihiro Sasaki
義浩 佐々木
Masahiko Nagao
政彦 長尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2000129041A priority Critical patent/JP4693074B2/ja
Priority to US09/841,096 priority patent/US6987894B2/en
Priority to KR10-2001-0022894A priority patent/KR100380909B1/ko
Publication of JP2001311692A publication Critical patent/JP2001311692A/ja
Application granted granted Critical
Publication of JP4693074B2 publication Critical patent/JP4693074B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/302Contactless testing
    • G01R31/308Contactless testing using non-ionising electromagnetic radiation, e.g. optical radiation
    • G01R31/311Contactless testing using non-ionising electromagnetic radiation, e.g. optical radiation of integrated circuits
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L22/00Testing or measuring during manufacture or treatment; Reliability measurements, i.e. testing of parts without further processing to modify the parts as such; Structural arrangements therefor
    • H01L22/10Measuring as part of the manufacturing process
    • H01L22/12Measuring as part of the manufacturing process for structural parameters, e.g. thickness, line width, refractive index, temperature, warp, bond strength, defects, optical inspection, electrical measurement of structural dimensions, metallurgic measurement of diffusions

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Electromagnetism (AREA)
  • Toxicology (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】簡単な構成であるにも拘わらず外観検査を高速
に実行できる外観検査装置及び外観検査方法を提供す
る。 【解決手段】検査対象物の外観の画像データを格納する
メモリ14と、このメモリ14に格納された画像データ
を独立に処理してメモリ14に格納する手順が記述され
たスレッドを生成するスレッド生成手段と、このスレッ
ド生成手段で生成された複数のスレッドの少なくとも一
部を並列して実行する複数のCPU10〜13、とを備
えている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、大量の画像データ
を処理することにより外観検査を行う外観検査装置及び
外観検査方法に関し、特に画像データを並列に処理する
技術に関する。
【0002】
【従来の技術】従来、集積回路(IC)を撮像すること
により得られた画像データを用いて該ICの外観を検査
する外観検査装置が知られている。このような外観検査
装置として、例えば、特開平11−259434号公報
は、「並列データ処理装置とそれを用いた外観検査装
置」(以下、「第1先行技術」という)を開示してい
る。この外観検査装置では、駆動信号バスからの同期パ
ルスによって駆動されるデータ入力部は、画像データを
入力してデータバスを介して転送する。処理分配部とプ
ロセッサエレメントは、駆動信号バスの状態を監視し、
同期パルスのパルス期間に、これらの間で通信バスを介
して通信を行う。
【0003】処理分配部は、プロセッサエレメントの状
態を監視しており、同期パルスのパルス期間に、その次
にデータ入力部から転送される単位画像データを処理す
るプロセッサエレメントを決定する。この決定を受けた
プロセッサエレメントはデータバスから単位画像データ
を取り込んで処理し、また、このパルス期間に、処理分
配部に処理中であることを通知する。処理が終わると、
次の同期パルス期間に、待機中であることを処理分配部
に通知する。上記の構成により、各プロセッサエレメン
トの稼働率を高めることができるので、特に画像データ
等の大量に連続入力されるデータの高速処理が可能にな
る。
【0004】また、特開平11−135054号公報
は、「並列画像処理プロセッサを備えた荷電子ビーム装
置」(以下、「第2先行技術」という)を開示してい
る。この装置では、画像処理部に、データ転送を制御す
る1つのマスタCPUとデータの演算処理を行う複数の
スレーブCPUとから構成される並列画像処理プロセッ
サが付加されている。画像処理のための演算プログラム
は、制御用計算機よりマスタCPU及びスレーブCPU
へダウンロードされる。並列画像処理プロセッサの数を
可変にし、処理の内容に応じて事前に最適な並列CPU
の数を求める。また、処理する画像データの分割方法を
画像処理の種類や処理内容に応じて可変にする。この装
置によれば、基本的な画像処理のみならず高度な演算を
必要とする画像処理をも高速に実行することができる。
【0005】更に、特開平10−304184号公報
は、「画像処理装置および画像処理方法」(以下、「第
3先行技術」という)を開示している。この第3先行技
術では、画像データの分割領域データが複数の分割入力
手段に入力され、入力された分割領域データ各々に対し
て、分割領域毎に独立に処理可能な画像処理がパイプラ
イン処理により実行され、このパイプライン処理の結果
が統合される。
【0006】このような処理は第1統合処理部の制御に
より行われる。即ち、第1統合処理部は、パイプライン
に指示を与えて処理を開始させる。また、パイプライン
から出力された処理済みの部分画像データを受け取り、
位置合わせを行って全体の画像データを作成し、画像記
憶部へ記憶する。
【0007】また、例えば画像の回転といった広い領域
を参照する必要がある画像処理のために、複数の画像処
理部とこれらを制御する第2統合処理部を備えている。
この第2統合処理部は、複数の画像処理部で処理された
結果を統合し、画像記憶部へ記憶する。これら分割領域
毎に独立に行う画像処理と広い領域を参照する画像処理
とを任意の順序で実行することにより高速な画像処理が
達成される。
【0008】
【発明が解決しようとする課題】上述した第1先行技術
では、画像データが入力される都度、分配処理部がエレ
メントプロセッサを割り当てるので割り当てのためのオ
ーバーヘッドが大きく処理の高速化に限界がある。ま
た、詳細は開示されていないが、各エレメントプロセッ
サで処理された結果を統合するための処理が必要なこと
が予想される。
【0009】また、上述した第2先行技術も上記第1先
行技術と同様に、マスタCPUの制御の下にスレーブC
PUが順次割り当てられ、各スレーブCPUによって画
像データが並列処理される。従って、この第2先行技術
も上述した第1先行技術と同様の問題を含んでいる。
【0010】更に、上述した第3先行技術では、第1及
び第2統合処理部によって画像処理の開始や処理済みの
画像データの統合等が行われるのでオーバーヘッドが大
きく画像処理の高速化に限界がある。また、分割領域毎
の画像処理を行う部分と広い領域を参照する画像処理を
行う部分といった2種類が必要があるので、画像処理装
置の構成が複雑且つ大規模になる。
【0011】そこで、本発明の目的は、簡単な構成であ
るにも拘わらず外観検査を高速に実行できる外観検査装
置及び外観検査方法を提供することを目的とする。
【0012】
【課題を解決するための手段】本発明の第1の態様に係
る外観検査装置は、上記目的を達成するために、検査対
象物の外観の画像データを格納するメモリと、前記メモ
リに格納された画像データを独立に処理して前記メモリ
に格納する手順が記述されたスレッドを生成するスレッ
ド生成手段と、前記スレッド生成手段で生成された複数
のスレッドの少なくとも一部を並列して実行する複数の
CPU、とを備えている。
【0013】この第1の態様に係る外観検査装置では、
メモリに格納された画像データを独立に処理するための
複数のスレッドが複数のCPUでそれぞれ実行される。
ここで、独立に処理するとは、各スレッドが自己完結的
に処理すること、換言すれば、自己が保有している情報
に従って処理し、その処理結果を自己が保有している情
報に従った位置に書き込んで処理を完結することをい
う。従って、従来の画像処理装置のように、外部から与
えられる情報に応答して処理し、その処理結果を外部で
更に統合する必要はない。その結果、外観検査装置の構
成が簡単になり、しかも処理の高速化を図れる。
【0014】また、この第1の態様に係る外観検査装置
の前記スレッド生成手段は、前記メモリに記憶された画
像データ上に設定された1つの検査領域が分割されるこ
とにより得られるn個(nは2以上の整数)の領域の画
像データをそれぞれ処理する手順が記述されたnの整数
倍個のスレッドを生成し、前記複数のCPUは、前記ス
レッド生成手段で生成された少なくとも前記n個のスレ
ッドを並列して実行する、ように構成できる。
【0015】また、この第1の態様に係る外観検査装置
の前記スレッド生成手段は、前記メモリに記憶された画
像データ上に設定された1つの検査領域が分割されるこ
とにより得られるn個(nは2以上の整数)の領域の画
像データをそれぞれ処理する手順が記述されたnの整数
倍個のスレッドと、前記n個の領域の画像データを一括
して処理する手順が記述されたm個(mは正の整数)の
スレッドとを生成し、前記複数のCPUは、前記スレッ
ド生成手段で生成された少なくとも前記n個のスレッド
を並列して実行し、前記複数のCPUの何れかは前記ス
レッド生成手段で生成された前記m個のスレッドを単独
で実行する、ように構成できる。
【0016】この場合、前記n及びmは、画像処理の種
類又は前記検査領域のサイズに基づいて決定するように
構成できる。また、前記n及びmは、該n及びmの任意
の組合せの下で前記複数のCPUに処理させた時間を実
測した結果に基づいて決定するように構成できる。ま
た、前記n個のスレッドの各々には、所定種類の画像処
理と他の種類の画像処理とを続けて実行する手順が記述
するように構成できる。
【0017】更に、この第1の態様に係る外観検査装置
の前記スレッド生成手段は、前記メモリに記憶された画
像データ上に設定されたn個(nは2以上の整数)の検
査領域の画像データをそれぞれ処理する手順が記述され
た少なくともn個のスレッドを生成し、前記複数のCP
Uは、前記スレッド生成手段で生成された前記n個のス
レッドを並列して実行する、ように構成できる。
【0018】また、本発明の第2の態様に係る外観検査
方法は、上記と同様の目的で、検査対象物の外観の画像
データをメモリに格納し、該メモリに格納された画像デ
ータを独立に処理して前記メモリに格納する手順が記述
されたスレッドを生成し、該生成された複数のスレッド
の少なくとも一部を並列して実行する、ように構成ささ
れている。
【0019】この第2の態様に係る外観検査方法におけ
る前記スレッドを生成するステップでは、前記メモリに
記憶された画像データ上に設定された1つの検査領域が
分割されることにより得られるn個(nは2以上の整
数)の領域の画像データをそれぞれ処理する手順が記述
されたnの整数倍個のスレッドを生成し、前記実行する
ステップでは、前記生成された少なくとも前記n個のス
レッドを並列して実行する、ように構成できる。
【0020】また、この第2の態様に係る外観検査方法
における前記スレッドを生成するステップでは、前記メ
モリに記憶された画像データ上に設定された1つの検査
領域が分割されることにより得られるn個(nは2以上
の整数)の領域の画像データをそれぞれ処理する手順が
記述されたnの整数倍個のスレッドと、前記n個の領域
の画像データを一括して処理する手順が記述されたm個
(mは正の整数)のスレッドとを生成し、前記実行する
ステップでは、前記生成された少なくとも前記n個のス
レッドは並列して実行され、前記生成された前記m個の
スレッドを単独で実行される、ように構成できる。
【0021】この場合、前記n及びmは、画像処理の種
類又は前記検査領域のサイズに基づいて決定できる。ま
た、前記n及びmは、該n及びmの任意の組合せの下で
行われた処理の時間を実測した結果に基づいて決定でき
る。更に、前記n個のスレッドの各々には、所定種類の
画像処理と他の種類の画像処理とを続けて実行する手順
を記述するように構成できる。
【0022】更に、この第2の態様に係る外観検査方法
における前記スレッドを生成するステップでは、前記メ
モリに記憶された画像データ上に設定されたn個(nは
2以上の整数)の検査領域の画像データをそれぞれ処理
する手順が記述された少なくともn個のスレッドを生成
し、前記実行するステップでは、前記生成された前記n
個のスレッドを並列して実行する、ように構成できる。
【0023】
【発明の実施の形態】以下、本発明の実施の形態を、図
面を参照しながら説明する。
【0024】図1は本発明の実施の形態1〜3に係る外
観検査装置の概略構成を示すブロック図である。この外
観検査装置は、複数のCPUを有するパーソナルコンピ
ュータ、ワークステーション、サーバといった汎用のコ
ンピュータを利用して構成できる。この場合、コンピュ
ータを動作させるソフトウェアとして、例えばWind
owsNT(R)、Windows2000(R)、U
NIX(登録商標)といったマルチスレッド対応のオペ
レーティングシステム(OS)を使用できる。
【0025】この外観検査装置は、第1CPU10、第
2CPU11、第3CPU12、第4CPU13、メモ
リ14、ハードディスク装置15、表示部16及びデー
タ入力部18といった構成要素がシステムバス20に接
続されることにより構成されている。システムバス20
は、上記各構成要素間のデータ転送を行うために使用さ
れる。また、上記表示部16にはディスプレイ装置17
が接続されており、データ入力部18にはカメラ19が
接続されている。
【0026】第1CPU10、第2CPU11、第3C
PU12及び第4CPU13の各々は、OSの制御の下
で、独立して同時動作する。これら第1CPU10、第
2CPU11、第3CPU12及び第4CPU13は、
OSから渡される、スレッドと呼ばれる小さなプログラ
ムモジュールに従って動作する。なお、このOSは、単
にスレッドをCPUに渡す制御を行うだけであり、従来
技術の欄で説明した分配処理部、マスタCPU、統合処
理部のように、各CPUに処理内容を指示したり、各C
PUによる処理結果を統合して全体の画像データを作成
する作業は行わない。
【0027】第1CPU10、第2CPU11、第3C
PU12及び第4CPU13は、それぞれメモリ10
a、11a、12a及び13aを備えている。これらの
メモリ10a、11a、12a及び13aの各々は、上
述したスレッドを格納する。
【0028】各スレッドには、画像処理を行うための手
順、つまりプログラムが記述されている。第1CPU1
0、第2CPU11、第3CPU12及び第4CPU1
3は、メモリ10a、11a、12a及び13aに格納
されたスレッドに従って画像処理をそれぞれ実行する。
例えば、第1CPU10〜第4CPU13の各々は、メ
モリ14から画像データを読み出し、読み出した画像デ
ータに所定の処理を施し、処理結果をメモリ14に格納
するという動作を並行して実行する。
【0029】メモリ14は、カメラ19からデータ入力
部18を介して入力される画像データ、この画像データ
を処理した結果等を記憶する。このメモリ14の具体的
な使用方法は後述する。
【0030】ハードディスク(HD)装置15は、この
外観検査装置の全体を制御するためのプログラム、外観
検査に使用される検査データを記憶する。このハードデ
ィスク装置15から読み出されたプログラムが実行され
ることによりスレッドが生成され、第1CPU10、第
2CPU11、第3CPU12及び第4CPU13のメ
モリ10a、11a、12a及び13aにそれぞれ転送
される。
【0031】表示部16はディスプレイ装置17を制御
する。このディスプレイ装置17は、例えばカメラ19
から得られた画像データに基づくICの外観の画像や処
理結果を表すメッセージ等を表示する。
【0032】カメラ19は、ICの外観を撮像するため
に使用される。このカメラ19は、例えばCCDカメラ
で構成することができる。このカメラ19でICの外観
を撮像することにより得られたアナログ画像データは、
データ入力部18に供給される。
【0033】データ入力部18は、カメラ19からのア
ナログ画像データを、例えば256階調の画素の集まり
から成るデジタル画像データ(以下、単に「画像デー
タ」という)に変換する。このデータ入力部18で得ら
れたデジタル画像データは、例えば図示しないDMAユ
ニットの制御の下に、システムバス20を介してメモリ
14に転送される。
【0034】以上のように構成される外観検査装置は、
ICパッケージを形成するモールドにボイドが存在する
かどうかを検査するボイド検査、リードに異物が付着し
ていないことを検査するリード間異物検査、リードが異
形であるかどうかを検査するリード検査、モールドの異
形が存在するかどうかを検査するモールド検査、捺印が
正常であるかどうかを検査する捺印検査といった種々の
検査に使用される。
【0035】次に、以上のように構成される外観検査装
置の動作を説明する。
【0036】(実施の形態1)この実施の形態1に係る
外観検査装置では、画像データ上に設定された1つの検
査領域が4つに分割され、各領域の画像データを4個の
CPUで並行して処理する。以下では、ボイド検査を行
う場合を例に挙げて説明する。
【0037】このボイド検査では、カメラ19からデー
タ入力部18及びシステムバス20を経由してメモリ1
4に格納された画像データを2値化する「2値化処
理」、2値化された画像データを反転する「反転処
理」、反転された画像データの面積を計測する「面積計
測処理」、及び計測された面積を合計してボイドの有無
を判定する「検査判定処理」が順次行われる。
【0038】このボイド検査を実行する時に、先ず、ス
レッドが生成される。図2は、メモリ14に格納される
ICの画像データのイメージを示す。ボイド検査では、
この画像データのパッケージ部分にボイド検査領域が設
定される。そして、設定されたボイド検査領域は、第1
領域、第2領域、第3領域及び第4領域といった4つの
領域に分割される。そして、各領域の画像データを処理
するためのスレッドが生成される。
【0039】図3は、ボイド検査用に生成されるスレッ
ドの一例を示す。各スレッドは、コマンド及びアドレス
を含む。コマンドは、実行すべき画像処理の内容を指示
する。アドレスは、画像データのメモリ14上の位置を
指定する。このスレッドに保有するアドレスとしては、
処理すべき画像データが格納されているメモリ14の位
置を示す読み出しアドレスのみ、読み出しアドレスと処
理済みの画像データを格納すべきメモリ14の位置を示
す書き込みアドレスの両方、書き込みアドレスのみ、の
何れであってもよい。
【0040】なお、読み出しアドレスのみをスレッドに
保有する場合は、この読み出しアドレスとコマンドとに
基づいて書き込みアドレスが算出される。同様に、書き
込みアドレスのみをスレッドに保有する場合は、この書
き込みアドレスとコマンドとに基づいて読み出しアドレ
スが算出される。
【0041】スレッド1〜4には、第1〜4領域の画像
データを2値化するための手順がそれぞれ記述されてい
る。スレッド5〜8には、第1〜4領域の2値化された
画像データを反転させるための手順がそれぞれ記述され
ている。スレッド9〜12には、第1〜4領域の反転さ
れた画像データの面積を計測するための手順が記述され
ている。スレッド13には、第1〜4領域の計測された
面積を合計してボイドの有無を判定するための手順が記
述されている。
【0042】以上のようにして生成されたスレッドは、
OSによって第1CPU10、第2CPU11、第3C
PU12及び第4CPU13の何れかに順次割り当てら
れる。即ち、OSは空いているCPUのメモリにスレッ
ドを転送する。これにより、ボイド検査が開始される。
【0043】図4は、ボイド検査の動作を説明するため
の図である。以下では、各スレッドは、アドレスとし
て、読み出しアドレス及び書き込みアドレスを保有して
いるものとする。また、カメラ19から取り込まれた画
像データは、メモリ14の原画記憶領域に記憶されてい
るものとする。
【0044】初期状態では、第1CPU10、第2CP
U11、第3CPU12及び第4CPU13は何れも空
き状態である。従って、OSは、スレッド1を第1CP
U10のメモリ10aに、スレッド2を第2CPU11
のメモリ11aに、スレッド3を第3CPU12のメモ
リ12aに、スレッド4を第4CPU13のメモリ13
aに、それぞれ転送する。
【0045】スレッド1を受け取った第1CPU10
は、該スレッド1に記述された手順で処理を実行する。
即ち、メモリ14の原画記憶領域の読み出しアドレスで
指定された位置(第1領域の先頭に対応する位置)から
画像データA1を順次読み出して2値化する。即ち、読
み出した画像データを構成する各画素を、該画像データ
に好適なスレッショルドレベルでスライスし、以て
「0」又は「1」のデータに変換する。この2値化され
た画像データA2は、メモリ14の反転画像記憶領域の
書き込みアドレスで指定される位置(第1領域の先頭に
対応する位置)に順次格納される。
【0046】同様に、第2CPU11は、メモリ14の
原画記憶領域の読み出しアドレスで指定された位置(第
2領域の先頭に対応する位置)から画像データB1を読
み出して2値化し、2値化された画像データB2を、メ
モリ14の反転画像記憶領域の書き込みアドレスで指定
される位置(第2領域の先頭に対応する位置)に格納す
る。第3CPU12及び第4CPU13についても同様
である。以上の第1CPU10、第2CPU11、第3
CPU12及び第4CPU13による2値化処理は並行
して実行される。各CPUが2値化処理を完了した時点
では、メモリ14の反転画像記憶領域に2値化された画
像データが格納されている。
【0047】次いで、OSは、2値化処理を完了したC
PUから順次スレッド5、6、7及び8をそのCPUの
メモリに転送する。これにより、各CPUは反転処理を
開始する。今、第1CPU10→第2CPU11→第3
CPU12→第4CPUの順番で2値化処理が完了した
ものとすると、第1CPU10は、メモリ14の反転記
憶領域の読み出しアドレスで指定された位置(第1領域
の先頭に対応する位置)から画像データA2を順次読み
出して反転する。この反転された画像データA3は、メ
モリ14の領域別面積計測値記憶領域の書き込みアドレ
スで指定される位置(第1領域の先頭に対応する位置)
に順次格納される。
【0048】同様に、第2CPU11は、メモリ14の
反転記憶領域の読み出しアドレスで指定された位置(第
2領域の先頭に対応する位置)から画像データB2を順
次読み出して反転し、反転された画像データB3を、メ
モリ14の領域別面積計測値記憶領域の書き込みアドレ
スで指定される位置(第2領域の先頭に対応する位置)
に格納する。第3CPU12及び第4CPU13につい
ても同様である。以上の第1CPU10、第2CPU1
1、第3CPU12及び第4CPU13による反転処理
は並行して実行される。各CPUが反転処理を完了した
時点では、メモリ14の領域別面積計測値記憶領域には
反転された画像データが格納されている。
【0049】次いで、OSは、反転処理を完了したCP
Uから順次スレッド9、10、11及び12をそのCP
Uのメモリに転送する。これにより、各CPUは面積計
測処理を開始する。今、第1CPU10→第2CPU1
1→第3CPU12→第4CPUの順番で反転処理が完
了したものとすると、第1CPU10は、メモリ14の
領域別面積計測値記憶領域の読み出しアドレスで指定さ
れた位置(第1領域の先頭に対応する位置)から画像デ
ータA3を順次読み出して面積を計算する。この計算結
果は、メモリ14の面積合計領域の書き込みアドレスで
指定される位置に格納される。
【0050】同様に、第2CPU11は、メモリ14の
領域別面積計測値記憶領域の読み出しアドレスで指定さ
れた位置(第2領域の先頭に対応する位置)から画像デ
ータB3を読み出して面積を計算する。この計算結果
は、メモリ14の面積合計領域の書き込みアドレスで指
定される位置に格納される。第3CPU12及び第4C
PU13についても同様である。以上の第1CPU1
0、第2CPU11、第3CPU12及び第4CPU1
3による面積計測処理は並行して実行される。各CPU
が面積計測処理を完了した時点では、メモリ14の面積
合計領域にはボイド検査領域の第1領域、第2領域、第
3領域及び第4領域の面積が格納されている。
【0051】全てのCPUが面積計測処理を完了する
と、次いで、OSは、第1CPU10、第2CPU1
1、第3CPU12及び第4CPU13の何れかを選択
し、選択されたCPUのメモリに、スレッド13を転送
する。これにより、選択されたCPUは、メモリ14の
面積合計領域の読み出しアドレスで指定された位置から
領域別面積計測値を読み出して合計し、予め設定されて
いる判定値と比較する。この比較の結果、面積の合計値
が判定値より大きければボイド不良であることを判断
し、その旨のメッセージをディスプレイ装置17に表示
する。以上により、ボイド検査を終了する。
【0052】この実施の形態1において、第1CPU1
0、第2CPU11、第3CPU12及び第4CPU1
3の性能が同等であり、且つ第1領域、第2領域、第3
領域及び第4領域のサイズが同じであれば、各CPUが
2値化処理、反転処理及び面積計測処理に要する時間は
同じである。従って、2値化処理、反転処理及び面積計
測処理に要する時間は、1台のCPUでこれらの処理を
行う場合の略1/4で済み画像処理の高速化が実現でき
る。
【0053】また、各スレッドの書き込みアドレスは、
原画記憶領域の画像データ、反転画像記憶領域の画像デ
ータ及び領域別面積計測値記憶領域の画像データがそれ
ぞれ対応するように決定されるので、従来の画像処理装
置のように、各CPUで処理された画像データの位置合
わせといった統合処理を行う必要がない。その結果、処
理が簡単になると共に処理の高速化を図ることができ
る。
【0054】更に、この実施の形態1に係る外観検査装
置は、汎用のコンピュータを利用し、このコンピュータ
を動作させるソフトウェアも市販のOSを使用できるの
で、装置を安価に構成できるという利点がある。
【0055】なお、上述した実施の形態1では、ボイド
検査領域を4分割し、各領域毎に2値化処理、反転処理
及び面積計測処理をそれぞれ実行するスレッドを作成し
たが、これらの各処理では1つの画素に基づいて他の1
つの画素が作成されるので、2値化処理、反転処理及び
面積計測処理を連続して実行するようなスレッドを領域
毎に作成し、これを複数のCPUで並列して処理させる
ように構成することもできる。
【0056】また、上述した実施の形態1では、ボイド
検査領域を4つの領域に分割し、各領域に1台のCPU
を対応させて合計4台のCPUで画像処理を行う構成と
したが、上記ボイド検査領域の分割数及びCPUの数は
「4」に限定されず任意に決定できる。
【0057】この場合、ボイド検査時に実行されるスレ
ッド生成時に、当該外観検査装置に搭載されているCP
Uの数を取得し、処理毎にCPUの数の分のスレッドを
生成するように構成できる。この構成によれば、搭載さ
れているCPUの数が異なるコンピュータを外観検査装
置として利用した場合であっても、1つのソフトウェア
でスレッドを生成することが可能になるので、CPUの
数毎にソフトウェアを作成しなくてもよいという利点が
ある。
【0058】更に、上述した実施の形態1では、ボイド
検査を行う場合を例に挙げて説明したが、ボイド検査に
限らず、その他の種々の外観検査にも適用できることは
勿論である。
【0059】(実施の形態2)次に、実施の形態2に係
る外観検査装置を説明する。上述した実施の形態1に係
る外観検査装置では、2値化処理、反転処理及び面積計
測処理といった全ての処理を複数のスレッドで並列して
実行するように構成したが、この実施の形態2に係る外
観検査装置では、上記複数の処理の中の特定の処理を単
一のスレッドで実行するように構成されている。
【0060】ボイド検査時に実行されるスレッド生成処
理では、先ず、ボイド検査領域のサイズが算出される。
そして、この算出されたサイズが予め決められた設定値
αより大きいかどうかが調べられる。そして、設定値α
より大きいことが判断されると、実施の形態1で説明し
たと同様に、ボイド検査領域を4つに分割し、図3に示
すように、2値化処理、反転処理及び面積計測処理は各
領域の画像データ毎に実行し、検査判定処理は単一のス
レッドで実行するように13個のスレッドが生成され
る。
【0061】一方、算出されたサイズが予め決められた
設定値α以下であることが判断されると、図5(A)に
示すように、2値化処理及び反転処理は各領域の画像デ
ータ毎に実行し、面積計測処理及び検査判定処理は単一
のスレッドで実行するように9個のスレッドが生成され
る。そして、このようにして生成された9個のスレッド
は、実施の形態1で説明したと同様の手順で実行され
る。
【0062】この実施の形態2に係る外観検査装置によ
れば、ボイド検査領域のサイズが決められた設定値α以
下であれば、面積計測処理を4つのスレッドで実行し、
その後検査判定処理を1つのスレッドで実行するより
も、面積計測処理及び検査判定処理を1つのスレッドで
実行するほうが処理時間が短くて済むので、全体として
外観検査時間を短縮できる。
【0063】また、上述した外観検査装置では、上記複
数の処理の中の特定の処理を単一のスレッドで実行する
ように構成されているが、全ての処理を単一のスレッド
で実行するように変形することができる。
【0064】この変形例に係る外観検査装置において
は、ボイド検査時に実行されるスレッド生成処理では、
先ず、ボイド検査領域のサイズが算出される。そして、
この算出されたサイズが予め決められた設定値βより大
きいかどうかが調べられる。そして、設定値βより大き
いことが判断されると、実施の形態1で説明したと同様
に、ボイド検査領域を4つに分割し、図3に示すよう
に、2値化処理、反転処理及び面積計測処理は各領域の
画像データ毎に実行し、検査判定処理は単一のスレッド
で実行するように13個のスレッドが生成される。
【0065】一方、算出されたサイズが予め決められた
設定値β以下であることが判断されると、図5(B)に
示すように、2値化処理、反転処理、面積計測処理及び
検査判定処理の全てを単一のスレッドで実行するように
1個のスレッドが生成される。そして、このようにして
生成された1個のスレッドは、実施の形態1で説明した
と同様の手順で実行される。
【0066】この変形例に係る外観検査装置によれば、
ボイド検査領域のサイズが決められた設定値β以下であ
れば、全ての処理を1つのスレッドで実行するほうが最
も処理時間が短くて済むので、外観検査時間を高速に行
うできる。この変形例に係る外観検査装置は、小さなサ
イズのボイド検査領域が複数存在する場合に有効であ
る。
【0067】なお、この外観検査装置においては、ボイ
ド検査領域のサイズが設定値αより大きい場合は、実施
の形態1で説明したと同様に、ボイド検査領域を4つに
分割し、2値化処理、反転処理及び面積計測処理は各領
域の画像データ毎に実行し、検査判定処理は単一のスレ
ッドで実行するように13個のスレッドを生成し、ボイ
ド検査領域のサイズが設定値α以下で設定値βより大き
い(α>β)場合は、2値化処理及び反転処理は各領域
の画像データ毎に実行し、面積計測処理及び検査判定処
理は単一のスレッドで実行するように9個のスレッドを
生成し、ボイド検査領域のサイズが設定値β以下である
場合は、2値化処理、反転処理、面積計測処理及び検査
判定処理の全てを単一のスレッドで実行するように1個
のスレッドを生成するように構成できる。
【0068】以上説明した外観検査装置では、ボイド検
査時に、ボイド検査領域のサイズが予め決められた設定
値より大きいかどうかを調べることにより、生成すべき
スレッドを決定しているが、最も短時間で外観検査を行
うことができるスレッドの組合せを予め実測し、検査デ
ータとしてハードディスク装置15に格納しておくよう
に構成することもできる。
【0069】例えば、先ず、所定の処理を4台のCPU
及び4つのスレッドを用いて実行し、その実行時間が計
測される。次いで、その所定の処理を1台のCPU及び
1つのスレッドを用いて実行し、その実行時間が計測さ
れる。そして、これらを比較し、当該所定の処理を行う
場合のCPU及びスレッド数が決定されて、検査データ
としてハードディスク装置15に格納される。この検査
データは、上記所定の処理が実行される際にハードディ
スク装置15から読み出され、スレッド生成時に参照さ
れる。
【0070】この構成によれば、ボイド検査時のスレッ
ド生成処理では、実測により最も短時間で外観検査を行
うことができることが実証されているスレッドが生成さ
れるので、外観検査を最も短時間で行うことができる。
【0071】なお、上記所定の処理は、2値化処理、反
転処理、面積計測処理及び検査判定処理の各々であって
もよいし、これらの処理の幾つかを組み合わせた処理で
あってもよいし、これらの全ての処理であってもよい。
要は、これらの中から外観検査を最も短時間で行うこと
ができるケースを見出し、検査データを作成すればよ
い。
【0072】(実施の形態3)この実施の形態3に係る
外観検査装置は、例えばヒストグラム処理、投影処理と
いった並列処理が困難な処理を行う場合に、検査領域が
複数存在すれば各領域を1つのスレッドで処理するよう
に構成されている。
【0073】図6は、この実施の形態3で使用されるI
Cの画像データのイメージを示す。ボイド検査では、実
施の形態1及び2で説明したように、ICのパッケージ
部分にボイド検査領域が設定される。
【0074】リード間異物検査では、ICのリード部分
に、各辺毎に第1〜第4リード間異物検査領域が設定さ
れる。そして、第1〜第4リード間異物検査領域に対応
する4つのスレッドが生成される。各スレッドには、リ
ード間異物検査を行うための手順がそれぞれ記述されて
いる。
【0075】このようにして生成された4つのスレッド
は、OSによって第1CPU10、第2CPU11、第
3CPU12及び第4CPU13にそれぞれ割り当てら
れる。即ち、OSは空いているCPUのメモリにスレッ
ドを転送する。これにより、リード間異物検査が開始さ
れる。このリード間異物検査の詳細は、例えば特開平7
−128249号公報(特許第2500649号)に説
明されている。
【0076】このリード間異物検査で実行される処理内
容は、リード間異物検査領域を複数に分割して複数のC
PUで並列処理することが難しい内容である。そこで、
上述したように、ICの4つの辺のそれぞれにリード間
異物検査領域を設定し、4台のCPUでリード間異物検
査を行うことにより、CPUの使用効率を高めることが
できると共に、処理の高速化を実現できる。
【0077】また、リード検査では、図6に示すよう
に、各リードの先端部に、第1〜第100リード検査領
域が設定される。そして、第1〜第100リード検査領
域毎に100個のスレッドが生成される。各スレッドに
は、リード検査を行うための手順がそれぞれ記述されて
いる。
【0078】このようにして生成された100個のスレ
ッドは、OSによって第1CPU10、第2CPU1
1、第3CPU12及び第4CPU13に順次割り当て
られる。即ち、OSは空いているCPUのメモリにスレ
ッドを順次転送する。これにより、リード検査が開始さ
れる。このリード検査は、例えば、リード先端部の画像
をテンプレート画像として、各リード先端部に設けられ
たリード検査領域をサーチし、以てリード座標を検出す
る方法により行われる。
【0079】このリード検査で使用されるリード検査領
域のサイズは非常に小さい。従って、リード検査領域を
複数に分割して複数のCPUで並列処理すると処理時間
が却って増加することがある。そこで、各リードの先端
部にリード検査領域を設定し、4台のCPUで合計10
0のリード検査を順次行うことにより、CPUの使用効
率を高めることができると共に、処理の高速化を実現で
きる。
【0080】(実施の形態4)検査領域を複数に分割し
て複数のCPUで処理することが難しい処理として、例
えば、画像の全体又は一部を回転させる回転処理があ
る。この回転処理では、画像データの全体を参照する必
要があるが、読み出しアドレスと書き込みアドレスとを
指定する方法、読み出しアドレスのみを指定する方法、
書き込みアドレスのみを指定する方法の何れかを用いる
ことで、複数のCPUによる並列処理を実現することが
できる。
【0081】この実施の形態4で行われる回転処理を、
右90度回転する場合を例に挙げて図7を参照しながら
説明する。なお、図7では、説明を簡単にするために4
行×4列の16画素の画像データを右90度回転させる
例を示しているが、本実施の形態で取り扱うことのでき
る画素数は上記に限定されず任意である。
【0082】この回転処理のためのスレッド生成処理で
は、原画記憶領域又は回転画像記憶領域の行又は列毎に
スレッドが生成される。以下、アドレスの指定方法毎に
回転処理の動作を説明する。
【0083】先ず、アドレスとして読み出しアドレス及
び書込アドレスの双方がスレッドに保有される場合の動
作を、図7(A)を参照しながら説明する。この場合、
原画記憶領域のY4行処理用のスレッド1、Y3行処理
用のスレッド2、Y2行処理用のスレッド3及びY1行
処理用のスレッド4といった4個のスレッドが生成され
る。
【0084】そして、スレッド1に保有される読み出し
アドレスは原画記憶領域の座標(X1、Y4)のアドレ
スであり、書き込みアドレスは回転画像記憶領域の座標
(X4、Y4)のアドレスである。また、スレッド2に
保有される読み出しアドレスは原画記憶領域の座標(X
1、Y3)のアドレスであり、書き込みアドレスは回転
画像記憶領域の座標(X3、Y4)のアドレスである。
スレッド3及び4に保有される読み出しアドレス及び書
込アドレスも上記と同様の規則によって決められる。
【0085】以上のようにして生成されたスレッド1〜
4は、OSによって第1CPU10、第2CPU11、
第3CPU12及び第4CPU13の何れかに割り当て
られる。即ち、OSは空いているCPUのメモリにスレ
ッドを転送する。これにより、4台のCPUで同時に回
転処理が開始される。以下では、スレッド1、2、3及
び4が第1CPU10、第2CPU11、第3CPU1
2及び第4CPU13にそれぞれ割り当てられたと仮定
する。
【0086】スレッド1を受け取った第1CPU10
は、該スレッド1に記述された手順で処理を実行する。
即ち、メモリ14の原画記憶領域の読み出しアドレスで
指定された位置、即ち座標(X1、Y4)から画像デー
タB1が読み出され、回転画像記憶領域の書き込みアド
レスで指定された位置、即ち座標(X4、Y4)に書き
込まれる。以下、原画記憶領域の座標(X2、Y4)か
ら読み出された画像データB2が回転画像記憶領域の座
標(X4、Y3)に、原画記憶領域の座標(X3、Y
4)から読み出された画像データB3が回転画像記憶領
域の座標(X4、Y2)に、原画記憶領域の座標(X
4、Y4)から読み出された画像データB4が回転画像
記憶領域の座標(X4、Y1)に、順次書き込まれる。
【0087】また、スレッド2を受け取った第2CPU
11は、該スレッド2に記述された手順で処理を実行す
る。即ち、メモリ14の原画記憶領域の読み出しアドレ
スで指定された位置、即ち座標(X1、Y3)から画像
データが読み出され、回転画像記憶領域の書き込みアド
レスで指定された位置、即ち座標(X3、Y4)に書き
込まれる。以下、原画記憶領域の座標(X2、Y3)か
ら読み出された画像データが回転画像記憶領域の座標
(X3、Y3)に、原画記憶領域の座標(X3、Y3)
から読み出された画像データが回転画像記憶領域の座標
(X3、Y2)に、原画記憶領域の座標(X4、Y3)
から読み出された画像データが回転画像記憶領域の座標
(X3、Y1)に、順次書き込まれる。スレッド3を受
け取った第3CPU12及びスレッド4を受け取った第
4CPU13の動作も上記と同様である。
【0088】次に、アドレスとして読み出しアドレスの
みがスレッドに保有されている場合の動作を図7(B)
を参照しながら説明する。この場合、原画記憶領域のY
4行処理用のスレッド1、Y3行処理用のスレッド2、
Y2行処理用のスレッド3及びY1行処理用のスレッド
4といった4個のスレッドが生成される。
【0089】そして、スレッド1に保有される読み出し
アドレスは原画記憶領域の座標(X1、Y4)のアドレ
スであり、スレッド2に保有される読み出しアドレスは
原画記憶領域の座標(X1、Y3)のアドレスであり、
スレッド3に保有される読み出しアドレスは原画記憶領
域の座標(X1、Y2)のアドレスであり、スレッド4
に保有される読み出しアドレスは原画記憶領域の座標
(X1、Y1)のアドレスである。
【0090】今、以上のようにして生成されたスレッド
1〜4が、上記と同様に、OSによって第1CPU1
0、第2CPU11、第3CPU12及び第4CPU1
3の何れかに割り当てられたと仮定する。
【0091】スレッド1を受け取った第1CPU10
は、該スレッド1に記述された手順で処理を実行する。
ここでは、先ず書き込みアドレスが算出される。即ち、
メモリ14の原画記憶領域の座標(X1、Y4)を90
度右回転させた場合の座標は座標(X4、Y4)である
ことが算出され、回転画像記憶領域の座標(X4、Y
4)のアドレスが書き込みアドレスとして算出される。
次いで、メモリ14の原画記憶領域の読み出しアドレス
で指定された位置、即ち座標(X1、Y4)から画像デ
ータB1が読み出され、回転画像記憶領域の、算出され
た書き込みアドレスで指定された位置、即ち座標(X
4、Y4)に書き込まれる。以下同様にして、原画記憶
領域の座標(X2、Y4)から読み出された画像データ
B2が回転画像記憶領域の座標(X4、Y3)に、原画
記憶領域の座標(X3、Y4)から読み出された画像デ
ータB3が回転画像記憶領域の座標(X4、Y2)に、
原画記憶領域の座標(X4、Y4)から読み出された画
像データB4が回転画像記憶領域の座標(X4、Y1)
に、順次書き込まれる。
【0092】また、スレッド2を受け取った第2CPU
11は、該スレッド2に記述された手順で処理を実行す
る。ここでは、先ず書き込みアドレスが算出される。即
ち、メモリ14の原画記憶領域の座標(X1、Y3)を
90度右回転させた場合の座標は座標(X3、Y4)で
あることが算出され、回転画像記憶領域の座標(X3、
Y4)のアドレスが書き込みアドレスとして算出され
る。次いで、メモリ14の原画記憶領域の読み出しアド
レスで指定された位置、即ち座標(X1、Y3)から画
像データが読み出され、回転画像記憶領域の、算出され
た書き込みアドレスで指定された位置、即ち座標(X
3、Y4)に書き込まれる。以下同様にして、原画記憶
領域の座標(X2、Y3)から読み出された画像データ
が回転画像記憶領域の座標(X3、Y3)に、原画記憶
領域の座標(X3、Y3)から読み出された画像データ
が回転画像記憶領域の座標(X3、Y2)に、原画記憶
領域の座標(X4、Y3)から読み出された画像データ
が回転画像記憶領域の座標(X3、Y1)に、順次書き
込まれる。スレッド3を受け取った第3CPU12及び
スレッド4を受け取った第4CPU13の動作も上記と
同様である。
【0093】次に、アドレスとして書き込みアドレスの
みがスレッドに保有されている場合の動作を図7(C)
を参照しながら説明する。この場合、回転画像記憶領域
のY4行処理用のスレッド1、Y3行処理用のスレッド
2、Y2行処理用のスレッド3及びY1行処理用のスレ
ッド4といった4個のスレッドが生成される。
【0094】そして、スレッド1に保有される書き込み
ドレスは回転画像記憶領域の座標(X1、Y4)のアド
レスであり、スレッド2に保有される書き込みアドレス
は回転画像記憶領域の座標(X1、Y3)のアドレスで
あり、スレッド3に保有される書き込みアドレスは回転
画像記憶領域の座標(X1、Y2)のアドレスであり、
スレッド4に保有される書き込みアドレスは回転画像記
憶領域の座標(X1、Y1)のアドレスである。
【0095】今、以上のようにして生成されたスレッド
1〜4が、上記と同様に、OSによって第1CPU1
0、第2CPU11、第3CPU12及び第4CPU1
3の何れかに割り当てられたと仮定する。
【0096】スレッド1を受け取った第1CPU10
は、該スレッド1に記述された手順で処理を実行する。
ここでは、先ず読み出しアドレスが算出される。即ち、
メモリ14の回転画像記憶領域の座標(X1、Y4)を
90度左回転させた場合の座標は座標(X1、Y1)で
あることが算出され、原画記憶領域の座標(X1、Y
1)のアドレスが読み出しアドレスとして算出される。
次いで、メモリ14の原画記憶領域の、算出された読み
出しアドレスで指定された位置、即ち座標(X1、Y
1)から画像データB1が読み出され、回転画像記憶領
域の書き込みアドレスで指定された位置、即ち座標(X
1、Y4)に書き込まれる。以下同様にして、原画記憶
領域の座標(X1、Y2)から読み出された画像データ
B2が回転画像記憶領域の座標(X2、Y4)に、原画
記憶領域の座標(X1、Y3)から読み出された画像デ
ータB3が回転画像記憶領域の座標(X3、Y4)に、
原画記憶領域の座標(X1、Y4)から読み出された画
像データB4が回転画像記憶領域の座標(X4、Y4)
に、順次書き込まれる。
【0097】また、スレッド2を受け取った第2CPU
11は、該スレッド2に記述された手順で処理を実行す
る。ここでは、先ず読み出しアドレスが算出される。即
ち、メモリ14の回転画像記憶領域の座標(X1、Y
3)を90度左回転させた場合の座標は座標(X2、Y
1)であることが算出され、原画記憶領域の座標(X
2、Y1)のアドレスが読み出しアドレスとして算出さ
れる。次いで、メモリ14の原画記憶領域の、算出され
た読み出しアドレスで指定された位置、即ち座標(X
2、Y1)から画像データが読み出され、回転画像記憶
領域の書き込みアドレスで指定された位置、即ち座標
(X1、Y3)に書き込まれる。以下同様にして、原画
記憶領域の座標(X2、Y2)から読み出された画像デ
ータが回転画像記憶領域の座標(X2、Y3)に、原画
記憶領域の座標(X2、Y3)から読み出された画像デ
ータが回転画像記憶領域の座標(X3、Y3)に、原画
記憶領域の座標(X2、Y4)から読み出された画像デ
ータが回転画像記憶領域の座標(X4、Y3)に、順次
書き込まれる。スレッド3を受け取った第3CPU12
及びスレッド4を受け取った第4CPU13の動作も上
記と同様である。
【0098】以上のように、この実施の形態4によれ
ば、画像データの全体を参照する必要がある処理であっ
ても、複数のCPU(スレッド)で並行して処理を行う
ことができるので、処理の高速化を図ることができる。
また、上述した第3先行技術のような、画像全体を参照
する処理のための統合処理部を別途設ける必要がないの
で外観検査装置の構成を簡単且つ安価に構成できる。
【0099】本発明に係る外観検査装置では、以上説明
した実施の形態1〜3の処理が連続して実行される。こ
の外観検査装置の全体的な処理の流れを図8に示す。
【0100】外観検査では、先ず、使用されるCPUの
数が決定される(ステップS10)。このCPUの数
は、予め決められた固定値を用いるように構成してもよ
いし、ユーザが任意の値を入力するように構成してもよ
いし、プログラムによって当該外観検査装置に搭載され
ているCPUの数を自動的に取得するように構成しても
よい。
【0101】次いで、ハードディスク装置15から検査
データが読み込まれる(ステップS11)。次いで、カ
メラ19から画像データが取り込まれる(ステップS1
2)。そして、上記検査データと画像データとに基づい
てボイド検査用のスレッドが生成される(ステップS1
3)。即ち、実施の形態1及び2で説明したように、ボ
イド検査を実行するための13個のスレッドが生成され
る。ここで生成されたスレッドは、OSの制御の下に、
第1CPU10、第2CPU11、第3CPU12及び
第4CPU13に送られる。これにより、ボイド検査が
実行される。
【0102】次いで、上記検査データと画像データとに
基づいてリード間異物検査用のスレッドが生成される
(ステップS14)。即ち、実施の形態3で説明したよ
うに、リード間異物検査を実行するための4個のスレッ
ドが生成される。ここで生成されたスレッドは、OSの
制御の下に、第1CPU10、第2CPU11、第3C
PU12及び第4CPU13に送られる。これにより、
リード間異物検査が実行される。
【0103】次いで、上記検査データと画像データとに
基づいてリード検査用のスレッドが生成される(ステッ
プS15)。即ち、実施の形態3で説明したように、リ
ード検査を実行するための400個のスレッドが生成さ
れる。ここで生成されたスレッドは、OSの制御の下
に、第1CPU10、第2CPU11、第3CPU12
及び第4CPU13に送られる。これにより、リード検
査が実行される。
【0104】以上の処理が終了すると、ボイド検査、リ
ード間異物検査及びリード検査の各結果が出力される
(ステップS16)。その後、シーケンスはステップS
12に戻り、次のICに対する外観検査が実行される。
【0105】以上説明したように、実施の形態1〜4に
係る外観検査装置は、画像データを記憶するメモリとし
て唯一のメモリを備えており、全てのCPUがこのメモ
リにアクセスするように構成されている。この構成によ
り、従来のように複数のCPUの各々に対応して設けら
れた複数のメモリに、画像データを分割して格納する必
要がない。その結果、画像データを分割する処理が不要
になるので、処理速度が向上する。また、複数のメモリ
を設ける必要がないので、外観検査装置を簡単且つ安価
に構成できる。
【0106】また、この外観検査装置では、各CPU
は、OSにより割り当てられたスレッドを処理するだけ
で全体の処理が完了するので、従来の技術の欄で説明し
たような、処理分配部、マスタCPU、統合管理部とい
ったシステム全体を管理するための構成要素は不要であ
る。その結果、その構成要素が動作するための時間も不
要になるので外観検査装置の高速化が可能であり、ま
た、外観検査装置を簡単且つ安価に構成できる。
【0107】
【発明の効果】以上詳述したように、本発明によれば、
高速に画像を処理できる外観検査装置及び外観検査方法
を提供できる。
【図面の簡単な説明】
【図1】本発明の実施の形態1〜4に係る外観検査装置
の概略構成を示すブロック図である。
【図2】本発明の実施の形態1及び2に係る外観検査装
置において、メモリに格納されるICの画像データのイ
メージを示す図である。
【図3】本発明の実施の形態1に係る外観検査装置にお
いて、ボイド検査用に生成されるスレッドの一例を示す
図である。
【図4】本発明の実施の形態1に係る外観検査装置にお
けるボイド検査の動作を説明するための図である。
【図5】本発明の実施の形態2に係る外観検査装置にお
いて、ボイド検査用に生成されるスレッドの一例を示す
図である。
【図6】本発明の実施の形態3に係る外観検査装置にお
いて、メモリに格納されるICの画像データのイメージ
を示す図である。
【図7】本発明の実施の形態4に係る外観検査装置にお
いて、回転処理の動作を説明するための図である。
【図8】本発明の実施の形態1〜3に係る外観検査装置
にける全体的な処理の流れを示すフローチャートであ
る。
【符号の説明】
10 第1CPU 10a、10b、10c、10d メモリ 11 第2CPU 12 第3CPU 13 第4CPU 14 メモリ 15 ハードディスク装置 16 表示部 17 ディスプレイ装置 18 データ入力部 19 カメラ 20 システムバス
フロントページの続き Fターム(参考) 2G051 AA61 AA62 AB01 AB20 CA03 CA04 EA11 EA12 EA14 EA19 EA20 EB01 EB02 EC02 ED07 ED12 FA10 5B045 AA01 GG11 5B057 AA03 CA02 CA08 CA12 CA16 CB02 CB06 CB12 CB16 CC02 CE12 CE20 CH04 CH11 DB02 DB08 DC04 DC36

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 検査対象物の外観の画像データを格納す
    るメモリと、 前記メモリに格納された画像データを独立に処理して前
    記メモリに格納する手順が記述されたスレッドを生成す
    るスレッド生成手段と、 前記スレッド生成手段で生成された複数のスレッドの少
    なくとも一部を並列して実行する複数のCPU、とを備
    えた外観検査装置。
  2. 【請求項2】 前記スレッド生成手段は、前記メモリに
    記憶された画像データ上に設定された1つの検査領域が
    分割されることにより得られるn個(nは2以上の整
    数)の領域の画像データをそれぞれ処理する手順が記述
    されたnの整数倍個のスレッドを生成し、 前記複数のCPUは、前記スレッド生成手段で生成され
    た少なくとも前記n個のスレッドを並列して実行する、
    請求項1に記載の外観検査装置。
  3. 【請求項3】 前記スレッド生成手段は、前記メモリに
    記憶された画像データ上に設定された1つの検査領域が
    分割されることにより得られるn個(nは2以上の整
    数)の領域の画像データをそれぞれ処理する手順が記述
    されたnの整数倍個のスレッドと、前記n個の領域の画
    像データを一括して処理する手順が記述されたm個(m
    は正の整数)のスレッドとを生成し、 前記複数のCPUは、前記スレッド生成手段で生成され
    た少なくとも前記n個のスレッドを並列して実行し、前
    記複数のCPUの何れかは前記スレッド生成手段で生成
    された前記m個のスレッドを単独で実行する、請求項1
    に記載の外観検査装置。
  4. 【請求項4】 前記n及びmは、画像処理の種類又は前
    記検査領域のサイズに基づいて決定される請求項3に記
    載の外観検査装置。
  5. 【請求項5】 前記n及びmは、該n及びmの任意の組
    合せの下で前記複数のCPUに処理させた時間を実測し
    た結果に基づいて決定される請求項3に記載の外観検査
    装置。
  6. 【請求項6】 前記n個のスレッドの各々には、所定種
    類の画像処理と他の種類の画像処理とを続けて実行する
    手順が記述されている、請求項2又は3に記載の外観検
    査装置。
  7. 【請求項7】 前記スレッド生成手段は、前記メモリに
    記憶された画像データ上に設定されたn個(nは2以上
    の整数)の検査領域の画像データをそれぞれ処理する手
    順が記述された少なくともn個のスレッドを生成し、 前記複数のCPUは、前記スレッド生成手段で生成され
    た前記n個のスレッドを並列して実行する、請求項1に
    記載の外観検査装置。
  8. 【請求項8】 検査対象物の外観の画像データをメモリ
    に格納し、 該メモリに格納された画像データを独立に処理して前記
    メモリに格納する手順が記述されたスレッドを生成し、 該生成された複数のスレッドの少なくとも一部を並列し
    て実行する、外観検査方法。
  9. 【請求項9】 前記スレッドを生成するステップでは、
    前記メモリに記憶された画像データ上に設定された1つ
    の検査領域が分割されることにより得られるn個(nは
    2以上の整数)の領域の画像データをそれぞれ処理する
    手順が記述されたnの整数倍個のスレッドを生成し、 前記実行するステップでは、前記生成された少なくとも
    前記n個のスレッドを並列して実行する、請求項8に記
    載の外観検査方法。
  10. 【請求項10】 前記スレッドを生成するステップで
    は、前記メモリに記憶された画像データ上に設定された
    1つの検査領域が分割されることにより得られるn個
    (nは2以上の整数)の領域の画像データをそれぞれ処
    理する手順が記述されたnの整数倍個のスレッドと、前
    記n個の領域の画像データを一括して処理する手順が記
    述されたm個(mは正の整数)のスレッドとを生成し、 前記実行するステップでは、前記生成された少なくとも
    前記n個のスレッドは並列して実行され、前記生成され
    た前記m個のスレッドを単独で実行される、請求項8に
    記載の外観検査方法。
  11. 【請求項11】 前記n及びmは、画像処理の種類又は
    前記検査領域のサイズに基づいて決定される請求項10
    に記載の外観検査方法。
  12. 【請求項12】 前記n及びmは、該n及びmの任意の
    組合せの下で行われた処理の時間を実測した結果に基づ
    いて決定される請求項10に記載の外観検査方法。
  13. 【請求項13】 前記n個のスレッドの各々には、所定
    種類の画像処理と他の種類の画像処理とを続けて実行す
    る手順が記述されている、請求項9又は10に記載の外
    観検査方法。
  14. 【請求項14】 前記スレッドを生成するステップで
    は、前記メモリに記憶された画像データ上に設定された
    n個(nは2以上の整数)の検査領域の画像データをそ
    れぞれ処理する手順が記述された少なくともn個のスレ
    ッドを生成し、 前記実行するステップでは、前記生成された前記n個の
    スレッドを並列して実行する、請求項8に記載の外観検
    査方法。
JP2000129041A 2000-04-28 2000-04-28 外観検査装置及び外観検査方法 Expired - Fee Related JP4693074B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2000129041A JP4693074B2 (ja) 2000-04-28 2000-04-28 外観検査装置及び外観検査方法
US09/841,096 US6987894B2 (en) 2000-04-28 2001-04-25 Appearance inspection apparatus and method in which plural threads are processed in parallel
KR10-2001-0022894A KR100380909B1 (ko) 2000-04-28 2001-04-27 외형 검사 장치 및 외형 검사 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000129041A JP4693074B2 (ja) 2000-04-28 2000-04-28 外観検査装置及び外観検査方法

Publications (2)

Publication Number Publication Date
JP2001311692A true JP2001311692A (ja) 2001-11-09
JP4693074B2 JP4693074B2 (ja) 2011-06-01

Family

ID=18638377

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000129041A Expired - Fee Related JP4693074B2 (ja) 2000-04-28 2000-04-28 外観検査装置及び外観検査方法

Country Status (3)

Country Link
US (1) US6987894B2 (ja)
JP (1) JP4693074B2 (ja)
KR (1) KR100380909B1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008065815A (ja) * 2006-08-08 2008-03-21 Juki Corp 画像処理装置
JP2009544105A (ja) * 2006-07-17 2009-12-10 コグネックス・テクノロジー・アンド・インベストメント・コーポレーション 多重シンボルデコーディングのための方法及び装置
KR101088588B1 (ko) 2010-12-03 2011-12-06 삼성전자주식회사 멀티 칩 패키지 테스트 장치 및 테스트 방법
JP2016119111A (ja) * 2016-01-21 2016-06-30 国立大学法人 東京大学 並列データ処理システム、計算機および並列データ処理方法
JP2016177716A (ja) * 2015-03-23 2016-10-06 横河電機株式会社 冗長化pcシステム

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7963448B2 (en) 2004-12-22 2011-06-21 Cognex Technology And Investment Corporation Hand held machine vision method and apparatus
US9552506B1 (en) 2004-12-23 2017-01-24 Cognex Technology And Investment Llc Method and apparatus for industrial identification mark verification
KR100740250B1 (ko) * 2005-12-26 2007-07-18 (주) 인텍플러스 비전 검사 시스템 및 그를 이용한 검사 방법
US8108176B2 (en) 2006-06-29 2012-01-31 Cognex Corporation Method and apparatus for verifying two dimensional mark quality
CA2640884C (en) * 2006-07-20 2010-02-23 Optosecurity Inc. Methods and systems for use in security screening, with parallel processing capability
US8169478B2 (en) 2006-12-14 2012-05-01 Cognex Corporation Method and apparatus for calibrating a mark verifier
US8462369B2 (en) * 2007-04-23 2013-06-11 International Business Machines Corporation Hybrid image processing system for a single field of view having a plurality of inspection threads
US8675219B2 (en) * 2007-10-24 2014-03-18 International Business Machines Corporation High bandwidth image processing with run time library function offload via task distribution to special purpose engines
US9734376B2 (en) 2007-11-13 2017-08-15 Cognex Corporation System and method for reading patterns using multiple image frames
US20090132582A1 (en) * 2007-11-15 2009-05-21 Kim Moon J Processor-server hybrid system for processing data
US9135073B2 (en) 2007-11-15 2015-09-15 International Business Machines Corporation Server-processor hybrid system for processing data
US9332074B2 (en) * 2007-12-06 2016-05-03 International Business Machines Corporation Memory to memory communication and storage for hybrid systems
US20090150556A1 (en) * 2007-12-06 2009-06-11 Kim Moon J Memory to storage communication for hybrid systems
US8553040B2 (en) 2009-06-30 2013-10-08 Apple Inc. Fingerprinting of fragment shaders and use of same to perform shader concatenation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0616855U (ja) * 1992-08-06 1994-03-04 株式会社エルム マルチcpuラインセンサコントローラ
JP2000047995A (ja) * 1998-07-28 2000-02-18 Hitachi Ltd 並列処理方法及び装置、並びにそれを用いた外観検査装置
JP2000047887A (ja) * 1998-07-30 2000-02-18 Toshiba Corp 投機的マルチスレッド処理方法および投機的マルチスレッド処理装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5293481A (en) * 1987-02-18 1994-03-08 Canon Kabushiki Kaisha Data parallel processing apparatus
US5179702A (en) * 1989-12-29 1993-01-12 Supercomputer Systems Limited Partnership System and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling
JP2500649B2 (ja) 1993-11-04 1996-05-29 日本電気株式会社 Ic異物検査装置
JP3231571B2 (ja) * 1994-12-20 2001-11-26 日本電気株式会社 順序付きマルチスレッド実行方法とその実行装置
US5936224A (en) * 1996-12-11 1999-08-10 Intermec Ip Corporation Method and apparatus for reading machine-readable symbols by employing a combination of multiple operators and/or processors
JP2836617B2 (ja) * 1997-03-12 1998-12-14 株式会社日立製作所 レンダリングプロセッサ
JPH10304184A (ja) 1997-05-02 1998-11-13 Fuji Xerox Co Ltd 画像処理装置および画像処理方法
JP3581242B2 (ja) 1997-10-30 2004-10-27 株式会社日立製作所 並列画像処理プロセッサを備えた荷電粒子ビーム装置
JP3893210B2 (ja) 1998-03-13 2007-03-14 株式会社日立製作所 並列データ処理装置とそれを用いた外観検査装置
US6272437B1 (en) * 1998-04-17 2001-08-07 Cae Inc. Method and apparatus for improved inspection and classification of attributes of a workpiece
JPH11328383A (ja) * 1998-05-20 1999-11-30 Hitachi Ltd 画像処理装置
US6728419B1 (en) * 2000-02-17 2004-04-27 Xerox Corporation Multi-tasking multi-threaded image processing system and method for image capture devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0616855U (ja) * 1992-08-06 1994-03-04 株式会社エルム マルチcpuラインセンサコントローラ
JP2000047995A (ja) * 1998-07-28 2000-02-18 Hitachi Ltd 並列処理方法及び装置、並びにそれを用いた外観検査装置
JP2000047887A (ja) * 1998-07-30 2000-02-18 Toshiba Corp 投機的マルチスレッド処理方法および投機的マルチスレッド処理装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009544105A (ja) * 2006-07-17 2009-12-10 コグネックス・テクノロジー・アンド・インベストメント・コーポレーション 多重シンボルデコーディングのための方法及び装置
JP2008065815A (ja) * 2006-08-08 2008-03-21 Juki Corp 画像処理装置
KR101088588B1 (ko) 2010-12-03 2011-12-06 삼성전자주식회사 멀티 칩 패키지 테스트 장치 및 테스트 방법
JP2016177716A (ja) * 2015-03-23 2016-10-06 横河電機株式会社 冗長化pcシステム
US10268484B2 (en) 2015-03-23 2019-04-23 Yokogawa Electric Corporation Redundant PC system
JP2016119111A (ja) * 2016-01-21 2016-06-30 国立大学法人 東京大学 並列データ処理システム、計算機および並列データ処理方法

Also Published As

Publication number Publication date
US6987894B2 (en) 2006-01-17
JP4693074B2 (ja) 2011-06-01
US20010042065A1 (en) 2001-11-15
KR20010098929A (ko) 2001-11-08
KR100380909B1 (ko) 2003-04-18

Similar Documents

Publication Publication Date Title
JP2001311692A (ja) 外観検査装置及び外観検査方法
CN102648449B (zh) 一种用于处理干扰事件的方法和图形处理单元
US8144167B2 (en) Monitoring graphics processing
US9996386B2 (en) Mid-thread pre-emption with software assisted context switch
KR102356705B1 (ko) 커널 퓨징, 리사이징 및 인터리빙 자동 연산 방법
US9164931B2 (en) Clamping of dynamic capacitance for graphics
US8212825B1 (en) System and method for geometry shading
US7760205B2 (en) Information processing apparatus for efficient image processing
US11243795B2 (en) CPU overcommit with guest idle polling
JPH03139777A (ja) グラフイツク表示システム及び方法
US20060164419A1 (en) Image drawing device and image drawing method
US20240045787A1 (en) Code inspection method under weak memory ordering architecture and corresponding device
US7199799B2 (en) Interleaving of pixels for low power programmable processor
US7644214B2 (en) Information processing apparatus and task execution method
US20060061579A1 (en) Information processing apparatus for efficient image processing
JP2013506898A (ja) 複数の入力/出力コントローラと補助演算ユニットとを備えるマルチプロセッサアーキテクチャにおけるソフトウェアアプリケーションの実行を最適化するための方法および装置
CN107148619B (zh) 用于多线程图形流水线的自由排序线程模型
GB2527088A (en) Executing debug program instructions on a target apparatus processing pipeline
US12019498B2 (en) Core off sleep mode with low exit latency
JP2009086789A (ja) 並列型画像処理装置
CN113010281A (zh) 多相机检测系统的线程处理方法、装置、存储介质和终端
JP2002278753A (ja) データ処理システム
JP2001051674A (ja) 描画処理装置及び描画処理方法
CN113360192A (zh) 热缓存识别方法、装置、存储介质及电子设备
EP1246068A2 (en) System and method for monitoring data, computer program and data storage therefore

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091001

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100610

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100809

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110218

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110218

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140304

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees