以下の用語は、先行技術文献に現れる任意の定義に基づいて、本明細書に基づいて、又は以下のように解釈することができる。
光ベースの画像処理欠陥検出−透過光と反射光の画像処理欠陥検出;対象物に対する欠陥検出の一変形であり、比較は、透過光(Tx)画像と別の反射光画像(Rf)との間で行われる。欠陥は、Tx画像かRf画像の一方又は両方で見いだすことができ、「欠点のない」参照物は、パターンがどのように見えるべきかを表すのに利用できない。
対象物:限定されるものではないが、レチクル、フォトマスク、及びウェハのようなパターニングされた対象物を含む。
「ダイ・ツー・ダイ」(D2D)−新しく検査されるダイに対して、以前に検査されたダイを「参照物」として利用することにより、同等なダイ間の比較が欠陥を検出するために使用される欠陥検出モード。
「ダイ・ツー・モデル」(D2M)−欠陥検出モードで、対象物に対する欠陥検出の一変形であり、そこでは隣のダイから参照画像を入手する代わりに、モデルと呼ばれる人工的に作成された欠陥の無い参照画像が使用される。この場合、欠陥検出はダイのモデルとの比較に基づく。
フレーム−限定されるものではないが、アプライドマテリアルズ社製のUVision(商標)ウェハ検査システム又は同社製のAera(商標)マスク検査システムのような適切な検査システムにより画像表示される対象物画像の一部分であり、前記システムは全てアプライドマテリアルズ社(3050 Bowers Avenue、P.O.Box 58039、Santa Clara、CA 95054−3299、USA)から入手可能である。
フレーム内(Intra Frame)−限定されるものではないが、一般的には、本明細書で示され説明されるパッチ・ツー・パッチ法のような、あるフレーム内の領域を同じフレーム内の領域と比較することを含む。
不規則な事象−高い(絶対的)差分信号を有する画素であり、一般的には差分信号に対して閾値を適用することにより検出される。
パッチ−画像の一部分。本発明は、繰り返しパターン構造を有する画像に適している。パッチは、同じ画像の別のパッチに現れるパターン構造を少なくとも1つ含む。繰り返しパターン構造は、周期的である必要はない。説明を容易にするために、本明細書では、本発明は5x5画素又は10x5画素から構成される矩形形状を有するパッチに関して説明されるが、本発明はこれに限定されるものではなく、パッチは多くの形状及びサイズで規定することができる。
用語「検査」は、データがマスク又はウェハの全体から、又は個々の疑わしい位置で取り込まれるか否かに関わらず、欠陥検出において有用な情報を提供する任意の種類のデータ取り込みに言及するために、本発明においては幅広く使用される。本発明は、ウェハ又はマスクを走査して疑わしい欠陥位置のリストを提供する検査システムによって特定される欠陥候補の分析に適用可能である。また、本発明は、検査ツールにより提供される疑わしい欠陥の位置に基づいて、レビューツール(又は検査とレビューツールを組み合わせたレビューユニット)により再検出される欠陥候補の分析に適用可能である。
図1は、本発明の実施形態による、半導体設計及び製造に関する例示的な作業フローを示す。図示のように、物品110は、工程パラメータ135のセットにより制御される製造工程130を介してデザイン120によって製造される。物品110の例として、限定されるものではないが、パターニングされた半導体ウェハ、集積回路ダイ、及び/又はチップを製造するためのマスク及びレチクルが含まれる。単純化するために、本明細書では、マスクが物品110の例として使用される。これらの工程パラメータは、例えば、リソグラフィパラメータ、エッチパラメータ、及び任意の別タイプのパラメータのような、多種多様なパラメータを含むことができる。
様々な要因により、マスク110で形成された構造体(例えば、別々ダイス)は、デザイン120とは厳密には一致しない。実際のマスクがどれだけデザイン120と異なっているかを決めるために、1つ又はそれ以上のマスク110は検査工程140を経る。検査工程140は、光学又は電子線検査システのような、任意の適切なタイプの検査システムを使用して実行することができる。光学検査システムの例は、米国カルフォルニア州サンタクララ所在のApplied Materials(登録商標)から入手可能なAera(商標)検査システムである。図1には別々の工程として示されているが、検査工程140は、製造工程130に対してインラインに実行することもできる。
検査工程140の一部として、マスク110の欠陥位置を特定する欠陥マップ145を生成することができる。マップ145に示される欠陥は、例えば、パーティクル又は要素の不規則な特徴を示す位置とすることができる。図示のように、検査結果(例えば、欠陥マップに取り込まれる)は、例えば、欠陥マップ及びデザイン120のコンピュータ自動設計(CAD)モデル(例えば、GDS、GDS−II等のようなグラフィクス形式)を利用することによって、欠陥分析工程によりデザイン120と関連付けすることができる。結果として、マップ145の欠陥は、実際には欠陥が生じている要素と共に有効に位置決めすることができる。欠陥分析工程150は、画像内でパッチ間比較を行うことで欠陥を検出するために、パッチ・ツー・パッチ欠陥検出モジュール107を含むことができる。
図示のように、本発明の実施形態は自動欠陥レビュー工程160を備えることができる。自動欠陥レビュー工程160は、設計工程相互作用(DPI)、つまり工程変動に対する特定の設計の検出感度を見抜くために使用される情報を抽出する目的で、比較的大量の欠陥データを処理する。
図2は、パッチ・ツー・パッチ欠陥検出モジュール200の1つの実施形態のブロック図である。パッチ・ツー・パッチ欠陥検出モジュール200は、図1にあるパッチ・ツー・パッチ欠陥検出モジュール107と同じとすることができる。パッチ・ツー・パッチ欠陥検出モジュール200は、検査サブモジュール201、参照サブモジュール203、及び欠陥識別子サブモジュール205を含む。別の実施形態では、検査サブモジュール201、参照サブモジュール203、及び欠陥識別子サブモジュール205の機能は結合すること、又は更に分割することができる。
検査サブモジュール201は、検査画像の検査フレーム内にある候補欠陥位置を特定することができる。検査画像内の検査フレームの1つの実施形態は、図3と併せて以下に詳細に説明される。検査サブモジュール201は、候補欠陥位置に基づいて候補パッチを規定することができる。例えば、検査サブモジュール201は、候補パッチを規定するために、候補パッチの形状を選択すること、候補パッチの寸法サイズを選択すること、候補パッチの領域を選択すること、及び/又は候補パッチが関連する位置を調整することができる。
検査サブモジュール201は、予め定義された類似度判定基準を使って、検査フレーム内の少なくとも1つの類似したパッチを特定することができる。予め定義された類似度判定基準の例は、限定されるものではないが、絶対グレーレベル差分、信号対ノイズ比、及び正規化相関の予め定義された閾値を含むことができる。少なくとも1つの類似したパッチを特定する1つの実施形態は、図3と併せて以下に詳細に説明される。参照フレームに基づいて検査フレーム内の少なくとも1つの類似したパッチを特定する1つの実施形態は、図4と併せて以下に詳細に説明される。1つの実施形態では、検査サブモジュール201は、統計的モデルを使って1つ又はそれ以上パッチを特定することができる。
欠陥識別サブモジュール205は、検査フレーム内の候補パッチの少なくとも一部を、検査フレーム内の少なくとも1つの類似パッチの対応する部分と比較することに基づいて、欠陥がフレーム内の欠陥候補位置に存在するか否かを判定することができる。欠陥識別サブモジュール205は、候補パッチと類似パッチとの間の差分を求めることができる。欠陥識別サブモジュール205は、その差分を閾値と比較することができ、その差分が閾値を満たす場合には、検査フレーム内の欠陥候補位置が欠陥を有すると判定することができる。
1つの実施形態では、検査サブモジュール201は、参照画像内の参照フレームに基づいて、検査フレーム内の少なくとも1つの類似パッチを特定する。参照サブモジュール203は、参照画像の参照フレームを受け取ることができる。1つの実施形態では、参照フレームは、検査フレームと類似したダイ位置を有する別のダイ内のフレームである。別の実施形態では、参照フレームは、設計データを使用して人工的に作成された検査フレームのモデルである。
1つの実施形態では、参照サブモジュール203は、設計データのデータベース202内に保存された設計データを使って検査フレームのモデルを生成することにより、参照フレームを作成する。1つの実施形態では、参照サブモジュール203は、設計データのデータベース202に連結される。以前にも説明したように、物品(例えば、マスク)は、物品設計(例えば、マスク設計)に従って、工程パラメータのセットにより制御される製造工程を用いて製造することができる。マスク設計データは、設計データのデータベース202に格納することができる。設計データのデータベース202は、設計レイアウト、設計レイアウトに関する経路情報等のような設計データを格納することができる。1つの実施形態では、設計データは、設計のコンピュータ自動設計(CAD)モデルの形態、例えばグラフィクス形式(GDS、GDS−II等のような)とすることができる。また、設計データのデータベース202は、以前に設計されたマスクに関する過去の設計データを格納することができる。
参照サブモジュール203は、参照フレーム内に第1の参照パッチを規定することができる。第1の参照パッチは、検査フレーム内の候補パッチに対応する。参照サブモジュール203は、第1の参照パッチ内の第1の参照位置を特定することができる。第1の参照位置は、検査フレーム内の候補欠陥位置に対応する。参照サブモジュール203は、参照類似度判定基準を使用して、参照フレーム内の参照画像の少なくとも1つの第2の参照パッチを選択することができる。類似度判定基準の例として、限定されるものではないが、絶対グレーレベル差分、信号対ノイズ比、及び正規化相関の予め定義された閾値を含むことができる。参照サブモジュール203は、第1の参照パッチに対する第1の参照位置の関係に基づいて、第2の参照パッチに対して第2参照位置を関連付けることができる。例えば、正方形又は長方形のパッチの場合には、参照サブモジュール203は、第2の参照パッチに対して第2参照位置を関連付けるために、パッチの中心点又はパッチのコーナ部の1つ(例えば、ダイのコーナ部を原点とするX、Y軸に関して最も小さいx、yの値)を選択することができる。
検査サブモジュール201は、参照フレーム内の第2の参照位置を検査フレーム内の対応する第2の位置と関連付けることができ、検査フレーム内の第2の位置と関連付けられたパッチを検査フレーム内の候補パッチに類似したパッチとして特定することができる。例えば、検査サブモジュール201は第2の参照パッチ内のある位置を選択し、検査画像内の対応する位置を特定することができる。例えば、正方形又は長方形のパッチの場合には、検査サブモジュール201は第2の参照パッチの中心点又は第2の参照パッチのコーナ部の1つを選択することができる。検査サブモジュール201は、検査画像内の対応する位置に基づいて、検査画像内の類似パッチを位置決めすることができる。
図3は画像内のパッチを比較することによる欠陥検出法300の実施形態を示す流れ図である。方法300は、ハードウェア(電気回路、専用論理回路、プログラム可能な論理回路、マイクロコード等)、ソフトウェア(命令が処理デバイス上で実行される)、又はそれらの組み合わせを備えることができる処理ロジックにより実行される。1つの実施形態では、方法300は、図1のパッチ・ツー・パッチ欠陥検出モジュール107により実行される。
ブロック301において、処理ロジックは検査フレーム内の少なくとも1つの候補欠陥位置を受け取る。候補欠陥位置は検査フレームを処理することで入手することができる。検査フレームは、物品上のパターンを示す信号を収集することにより生成される検査画像のフレームとすることができる。物品の例は、限定されるものではないが、パターニングされた半導体ウェハ、集積回路ダイ、及び/又はチップを製造するためのマスク及びレチクルを含む。1つの実施形態では、信号は物品(例えば、マスク)をコヒーレント光で照らすことでもたらされる。別の実施形態では、信号は物品(例えば、マスク)の方へ荷電粒子ビームを向けることによってもたらされる。検査画像の例として、限定されるものではないが、反射検査画像及び透過検査画像を含む。処理ロジックは、マスクから反射された信号を収集し、反射検査画像を生成することができる。処理ロジックは、マスクを透過した信号を収集して、透過検査画像を生成することができる。また、検査画像は、例えばコヒーレント光又は荷電粒子によりマスクを照らすことに応じてマスクから返ってくる信号を収集することによって生成される。
ブロック303において、各候補欠陥に対して、処理ロジックは候補欠陥位置に基づいて検査フレーム内の候補パッチを規定する。例えば、各候補欠陥位置に対して、処理ロジックは対応する候補欠陥位置の周りに候補パッチを開口することができる。処理ロジックは、候補パッチを規定するために、候補パッチの形状を選択すること、候補パッチの寸法サイズを選択すること、候補パッチの領域を選択すること、及び/又は候補パッチに関連する位置を調整することができる。
ブロック305において、処理ロジックは予め定義された類似度判定基準を使用して検査フレーム内に少なくとも1つの類似パッチを特定することができる。予め定義された類似度判定基準の例は、限定されるものではないが、絶対グレーレベル差分、信号対ノイズ比、及び正規化相関の予め定義された閾値を含むことができる。処理ロジックは、検査フレーム内の候補パッチと検査フレーム内の類似パッチとの間で画素を比較することにより、少なくとも1つの類似パッチを特定することができる。処理ロジックは、検査フレーム内の候補パッチと検査フレーム内の類似パッチとの間の比較において、1つ又はそれ以上の画素を除外することによって、少なくとも1つの類似パッチを特定することができる。1つ又はそれ以上の画素は、候補欠陥位置と関連付けることができる。1つの実施形態では、処理ロジックは、参照フレームを使用して検査フレーム内の少なくとも1つの類似パッチを特定する。参照フレームに基づいて検査フレーム内の少なくとも1つの類似パッチを特定する1つの実施形態は、図4と併せて以下に詳細に説明される。1つの実施形態では、処理ロジックは統計的モデルを使って、検査フレームの1つ又はそれ以上のパッチを特定することができる。1つの実施形態では、処理ロジックは、候補パッチに対する類似パッチの類似度を高めるために、候補欠陥位置に関して検査フレームの各類似パッチの位置を変え、及び/又は類似パッチの寸法を変え、及び/又は類似パッチの形状を変える。1つの実施形態では、処理ロジックは、検査画像内の各類似パッチを候補パッチに位置合わせし、類似パッチと候補パッチとの類似度(欠陥以外)を高めるために類似パッチに対して最適なフィルタを随意的に適用する。
ブロック307において、処理ロジックは、候補パッチの少なくとも一部を少なくとも1つの類似パッチの少なくとも対応する部分と比較することに基づいて、欠陥が候補欠陥位置に存在するか否かを判定する。処理ロジックは、候補パッチと類似パッチとの間の差分を求めることができる。処理ロジックはその差分を閾値と比較することができ、差分が閾値を満たす場合には、候補欠陥位置は欠陥を有すると識別することができる。
1つの実施形態では、類似パッチが位置合わせされ、随意的にフィルタ処理されると、処理ロジックは類似パッチを候補パッチと比較して、候補パッチが候補欠陥位置に欠陥を有しているか、又は欠陥を有していないかを判定する。候補パッチに対して1つ以上の類似パッチが見つかった場合、処理ロジックは、例えば、種々の類似パッチの各々を候補パッチと比較した結果の平均値の適切な組み合わせに基づいて、候補パッチが欠陥を有しているか又は欠陥を有していないかを判定することができる。
1つの実施形態において、欠陥が反射検査画像及び/又は透過検査画像内の候補欠陥位置に存在する場合には、処理ロジックは候補欠陥位置に欠陥が存在すると判定する。
図4は、参照フレームを使用して検査フレームの少なくとも1つの類似パッチを特定するための方法400の1つの実施形態の流れ図である。方法400は、ハードウェア(電気回路、専用論理回路、プログラム可能な論理回路、マイクロコード等)、ソフトウェア(命令が処理デバイス上で実行される)、又はそれらの組み合わせを備えることができる処理ロジックにより実行される。1つの実施形態では、方法400は、図1のパッチ・ツー・パッチ欠陥検出モジュール107により実行される。
ブロック401において、処理ロジックは検査フレームの少なくとも1つの候補欠陥位置を受け取る。ブロック403において、処理ロジックは、候補欠陥位置に基づいて検査フレームの候補パッチを規定する。例えば、処理ロジックは候補欠陥位置の周りにパッチを開口する。処理ロジックは、候補パッチを規定するために、候補パッチの形状を選択すること、候補パッチの寸法サイズを選択すること、候補パッチの領域を選択すること、及び/又は候補パッチに関連する位置を調整することができる。
ブロック405において、処理ロジックは参照画像の参照フレームを受け取る。1つの実施形態では、参照フレームは、検査フレームと類似したダイ位置を有する別のダイ内のフレームである。別の実施形態では、処理ロジックは、設計データを使って検査フレームのモデルを生成することにより参照フレームを作成する。ブロック407において、処理ロジックは、参照フレーム内に第1の参照パッチを規定する。第1の参照パッチは、検査フレームの候補パッチに対応する。ブロック409において、処理ロジックは第1の参照パッチの第1の参照位置を特定する。第1の参照位置は検査フレームの候補欠陥位置に対応する。
ブロック411において、処理ロジックは、参照フレーム内に参照画像の少なくとも1つの第2の参照パッチを選択する。処理ロジックは、参照類似度判定基準を使用することができる。類似度判定基準の実施例として、限定されるものではないが、絶対グレーレベル差分、信号対ノイズ比、及び正規化相関の予め定義された閾値を含むことができる。ブロック413において、処理ロジックは、第1の参照パッチに対する第1の参照位置の関係に基づいて、第2の参照パッチに対して第2の参照位置を関連付ける。例えば、正方形又は矩形のパッチの場合には、処理ロジックは第2の参照位置として第2の参照パッチの中心を選択することができる。別の実施例では、処理ロジックは、第2参照パッチのコーナ部の1つ(例えば、ダイのコーナ部を原点とするX、Y軸に関して最も小さいx、yの値)を選択することができる。
ブロック415において、処理ロジックは第2の参照位置を検査フレームの第2位置と関連付けして、ブロック417において、検査フレームの第2の位置と関連付けられたパッチを検査フレームの候補パッチに類似したパッチとして特定することができる。例えば、正方形又は矩形のパッチの場合には、第2の参照位置は第2の参照パッチの中心点又は第2の参照パッチのコーナ部とすることができ、処理ロジックは対応する位置を検査画像に位置決めすることができる。次に、処理ロジックは対応する位置と関連するパッチを特定する。対応する位置と関連するパッチは、検査画像において候補パッチの類似パッチとなる。
図5は、特定の実施形態による、例示的な画像の例示的なフレームにおける例示的なパッチを説明する。候補欠陥位置501は、検査画像の検査フレーム503に確認される。候補パッチ505は、候補欠陥位置501に基づいて規定される。第1の参照パッチ507は、参照フレーム509内に規定される。第1の参照パッチ507は、検査フレーム503の候補パッチ505に対応している。第1の参照位置515は、第1の参照パッチ内に確認される。第1の参照位置515は、検査フレーム503の候補欠陥位置501に対応する。少なくとも1つの第2の参照パッチ511は、参照フレーム509内の参照画像から選択される。第2の参照位置517は、第1の参照位置の第1の参照パッチに対する関係に基づいて、第2の参照パッチ511に関連付けされる。第2の参照位置517は、検査フレーム503の対応する第2の位置519に関連付けされる。パッチ513は、検査フレームの候補パッチ505に類似したパッチとして、検査フレームの第2の位置519と関連付けされる。
特定の実施形態に特有な利点は、欠陥検出が、多くの大量生産される微視的な対象物において頻繁に生じることになる非周期的な繰り返しを利用できる点にある。例えば、多くの「コンタクト」が100x100画素アレイでも存在できるので、コンタクトの近傍は類似しており、それゆえに反復的とすることができる。
欠陥は、非周期的であるが繰り返すパターンを比較することにより見つけることができる。これは、欠陥検出の基礎を周期的に繰り返すパターンに限定するよりも一般的には好ましい。チップの設計は、周期性の仮定に基づいた検出方法を使用するのでは取り扱うことができない、非周期的なパターンを含む場合が多いことが分かっている。
特定の実施形態の別な利点とは、候補欠陥に対して比較するための基礎として使用される、繰り返し(「類似した」)領域が、公知の周期性に依存することなく見出せる点にある。その代わりに、同じフレーム内の別の類似した大きさの領域上の特定の領域の全ての可能性のある移動を網羅的に検索したとしても、領域自体の分析は繰り返しを識別可能にする。マスクによっては全く周期性を欠いているものもあるが、それでもなお、欠陥検出の基礎となるフレーム内(Intra−frame)の繰り返しを一般的には有している。
随意的に、検査される物品は、ウェハ、マスク、及びレチクルのセットから選択され、本方法は、欠陥が比較により検出できた微視的対象物と欠陥が比較によっては検出できなかった微視的対象物とを識別する、自動化工程を少なくとも1つ実行する段階を含む。自動化工程は、例えば、「良品」(例えば、欠陥の無い又はほとんど欠陥の無い対象物)を自動的にパッキングする段階、及び特定レベル以上の欠陥を1つ又はそれ以上有する「不良品」を自動的に破棄する段階を含むことができる。一般的には、自動化工程は、例えば、比較結果に依存して対象物を自動的にグループに分類して、グループの差分の自動処理又は差分の自動分配を容易にする任意の方法を含むことができる。
随意的に、類似パッチが候補パッチに類似しているか否かを判定するために、候補パッチの一部は、類似パッチの対応する部分と比較されるが、対応する部分は候補パッチの少なくとも一部を含んでいない。例えば、候補位置にある又は候補位置近くにある選択された画素は、類似度チェックから除外される。パッチの類似度判定を、欠陥を含むと確信されるパッチの部分を類似パッチの対応する部分と比較することに基づくのを避けることが好都合であると考えられている。その代わりに、欠陥を含むことが確信される位置の近傍が類似判定を行うために使用される。
随意的に、検索により、1つ以上の類似パッチが見つかった場合、比較処理は、候補パッチの少なくとも一部を、多数の類似パッチの各々の対応する部分の少なくとも1つと比較して多数の比較結果を取得し、多数の比較結果を平均化して欠陥を検出する段階を含むことができる。
本発明の特定の実施形態に特有な利点は、いくつかの比較処理を平均化することにより欠陥を検出する能力であり、単一の比較処理(例えば、従来のダイ・ツー・ダイのような)に依存するのではなく、平均化によりノイズを低減する点にある。ダイ・ツー・ダイ法において、場合によっては1つ以上の比較処理に依存することが理論的には可能であるが、これは、相互に罹患した少なくとも2つのダイから構成される検査対象物の各部分の間の比較を含むが、欠陥が無い場合でも、検査対象物の異なる部分が類似していないとする傾向がある局所的な影響に起因して望ましくない。また、マスクが2つのダイを有するだけで、複数の比較処理を平均化することができないような場合も多い。
随意的に、検索は、検出された少なくとも1つの第1の類似パッチの少なくとも1つの特徴を適合させて、結果的に候補欠陥を含む修正された候補パッチに対応し、修正された候補パッチに対する類似度が第1の類似パッチと第1の候補パッチとの間の類似度を上回るより類似したパッチを規定する段階を含み、比較処理は、修正された候補パッチの少なくとも1つの部分を類似パッチの対応する部分と比較する段階を含む。
随意的に、この特徴は、第1の類似パッチの少なくとも1つの寸法長を含む。随意的に、この特徴は、候補欠陥と候補欠陥を含む候補パッチとの間の相対的な位置決めを含む。
前述のような類似パッチの特徴を適合させる特有な利点は、より類似したパッチが所定の類似度閾値に対して見つかる点にあり、検出方法が各候補欠陥に対して少なくとも1つの類似パッチを見つけることに成功する可能性が高くなる。初期の緩い類似度判定基準は、「候補」つまり、欠陥検出目的にはおそらく十分ではないにしても合理的に候補欠陥位置と類似した第1の類似パッチを特定するために使用される。これらの合理的に類似したパッチ、つまり「候補」が見つかると、見つかった合理的に類似した各パッチの1つ又はそれ以上の寸法は、本当に類似したパッチ、つまり欠陥検出目的に関して十分に類似したパッチを見つけるために変えることができる。別の方法として又は追加的に、合理的に類似したパッチの候補欠陥に対する相対的な位置は、本当に類似したパッチを見つけるために変えることができる。
例えば、50x50画素の類似パッチは、検査フレームの候補欠陥位置を中心として、初期類似度判定基準を満たすことができる。続いて、検査フレームに含まれる4つの異なる40x40画素の類似パッチは、各々厳しい類似度閾値を満たすことが見出される場合がある。代替的に又は追加的に、候補欠陥位置を含むが候補欠陥位置の中心に置かれてはいない、別の3つの50x50画素の類似パッチが各々厳しい類似度閾値を満たす可能性もある。例えば、3つの類似パッチは、右上コーナ部に候補欠陥位置を含む1つの類似パッチ、左下コーナ部に候補欠陥位置を含む1つの類似パッチ、及び2つの下側コーナ部のほぼ中間に候補欠陥位置を含む1つの候補パッチを含むことができる。7つの候補パッチの各々を候補パッチと比較することができ、結果的に得られた比較結果は、候補パッチが欠陥を含むか否かの最終判定を得るために平均化することができる。
実際には、類似度を判定するための試行錯誤実験の結果は、単純により高次のクラスター及びより低次のクラスターの中間に位置する値を使用することで2値化閾値を選び出し易いようにクラスター化うる傾向があることが分かっている。適切な閾値は、多くの用途に関して、約3.5SNR(信号対ノイズ比)であることが分かっている。
一般的に、画素はそのグレーレベルの値が少しだけ離れている場合、例えば、0−255ユニットの8ビットスケールで1−3ユニットだけ離れている場合、画素は類似していると見なされる。グレーレベルの値が少し以上離れている場合、例えば、8ビットスケールにおいて4−255ユニットだけ場合、画素は類似していないと見なされる。パッチの全ての画素(又はパッチの規定された部分)が相互に類似している場合、各パッチは類似していると見なされる。
随意的に、比較処理は、類似パッチに適用される場合に類似パッチとこれに類似した欠陥の無い候補パッチとの間の差分を低減するように機能する最適フィルタを準備する段階と、欠陥を見出するために候補パッチの少なくとも一部を少なくとも1つの類似パッチの少なくとも対応する部分と比較する前に、最適フィルタを少なくとも1つの第1の類似パッチに適用する段階とを更に含む。
随意的に、比較処理は、候補パッチを類似パッチに位置合わせする段階と、最適フィルタを適用する段階と、欠陥を検出するために、位置合わせされた候補パッチのそれぞれの画素をフィルタ処理され位置合わせされた類似パッチのそれぞれの画素から減算する段階とを含む。
最適フィルタは一般的に、候補パッチと類似パッチとの間の差分の2乗平均を最小にする。最適フィルタは多くの別の欠陥検出プロセスにおいて有用であり、適用範囲は本明細書で示され説明される特定のフレーム内「パッチ・ツー・パッチ」欠陥検出プロセスに限定されないことを理解されたい。一般的には、本発明は以下の実施形態を含む。
微視的な対象物の欠陥を検出するためのシステム又は方法であって、本システム又は方法は、候補欠陥位置を類似位置と比較することによって欠陥を検出する段階を含み、更に、類似位置に適用される場合に類似位置とこれに類似した欠陥の無い候補位置との間の差分を低減するように機能する最適フィルタを準備する段階と、候補欠陥位置と比較する前に最適フィルタを少なくとも1つの類似位置に適用する段階を含む。
随意的に、システム又は方法は、少なくとも1つの候補欠陥位置を特定するための候補分析を含む。随意的に、コンピュータ可読プログラムコードが組み込まれたコンピュータ使用可能媒体を備えるコンピュータプログラム製品が設けられ、コンピュータ可読プログラムコードは微視的対象物の欠陥を検出する方法を実施するために実行されるように構成され、本方法は、個々のフレーム内の少なくとも1つの候補欠陥位置に対して、表面が微視的パターンを有する少なくとも1つの製造対象物の一部を画像化する段階と、候補欠陥を含む第1の候補パッチに類似した個々のフレーム内の少なくとも1つの第1の類似パッチを検索するためにプロセッサを使用する段階と、候補パッチの少なくとも一部を少なくとも1つの類似パッチの少なくとも対応する部分と比較して、もし欠陥があれば候補欠陥位置において欠陥を検出する段階と含む。
マスク又は同様の微視的なパターニングされた対象物上の欠陥検出は、同一のダイを比較する段階を含む場合がある。2つの異なるダイ上の同じ位置に同じ欠陥を有する確率は実質的にゼロなので、2つのダイの間の有意な相違点は欠陥と見なされる。比較は、ダイ内の2つの対応するフレームの間で行われる。検出フローは非対称なので、比較は一般的に2度適用される。繰り返し#1:第1のダイ−画像、第2のダイ−参照であり、繰り返し#2:第1のダイ−参照、第2ダイ−画像である。しかしながら、検査画像と別のダイからの参照画像との間の差分はノイズが多く、欠陥をノイズと識別することは難しい。従って、本発明の特定の実施形態の目的は、ダイ間検出からダイ内検出への移行である。利点は、異なるダイ間のノイズはダイ内のノイズよりも強い点である。更に、フレーム内検出ではノイズが最小となるので、D2D感度は、フレーム内検出によって改善することができる。D2Dプロセスへの入力は、「画像」と「参照物」、及び「候補」つまり外部から提供される疑わしい位置を含むことができる。出力は、候補毎の「判定」、つまり欠陥か又は誤認警報(FA)かを含むことができる。一般的に、各候補に対して、本方法は候補の周りにパッチを開口し、参照物に対応するパッチを開口し、参照物において対応するパッチと類似したパッチを見つけ、画像に対応する類似パッチを開口し、画像の対応する類似パッチを画像の候補パッチと比較し、候補パッチが画像の類似パッチと異なっている場合には欠陥を報告する。
図6Aは、D2D又はD2Mの方法600の1つの実施形態の流れ図である。1つの実施形態では、方法600の一部は任意の適切なタイプの欠陥検査及び/又は欠陥分析システム(例えば、図1の欠陥分析工程150のシステム及び/又は図1の検査工程140のシステム)の処理ロジックにより実行され、方法600の一部は、図1のパッチ・ツー・パッチ欠陥検出モジュール107の処理ロジックにより実行される。処理ロジックは、ハードウェア(電気回路、専用論理回路、プログラム可能な論理回路、マイクロコード等)、ソフトウェア(命令が処理デバイス上で実行される)、又はそれらの組み合わせを含むことができる。例えば、方法600のブロック620及び630は、図1のパッチ・ツー・パッチ欠陥検出モジュール107により実行することができる。
ブロック601において、処理ロジックは任意の適切なタイプのダイ間(D2D用の)処理を使って、検査画像の前処理を行う。1つの実施形態では、処理ロジックは検査画像と参照画像を前処理する。前処理操作の実施例は、限定されるものではないが、検査画像と参照画像との間の登録、及び検査画像と参照画像との間のダイナミックレンジのマッチングを含むことができる。処理ロジックは、例えば、検査画像及び参照画像の最初の2つのモーメント(例えば、平均及びSTD)を計算することにより、検査画像と参照画像との間のダイナミックレンジをマッチングすることができ、他の画像のモーメントとマッチングさせるために1つの画像に適用されるゲイン及びオフセットを抽出することができる。処理ロジックは、任意の適切な画像−参照画像登録方法(例えば、濃度ベース対特徴ベース、変換モデルベース、空間対周波数に基づいた方法、単一対多様式方法、自動式対対話式方法)を使用することができる。処理ロジックは、画像登録のために、限定されるものではないが、多様式画像の登録のために適切な画像類似性尺度である相互情報及び正規化相互情報のような、任意の適切な類似性尺度を使用することができる。このような尺度は、クロス相関、濃度差の2乗和、及び画像均一性比を含むこともでき、これらは同一様式での画像登録に適切な画像類似性尺度である。
ブロック615において、処理ロジックは候補欠陥位置を提示するために、前処理された画像に対して特定用途ファンネル技術を適用する。ファンネルは、限定されるものではないが、単純なD2D差分及びより洗練されたダイ間比較のコンピュータ化処理のような、任意のダイ間比較のコンピュータ化処理である。処理ロジックは、限定されるものではないが、候補欠陥位置を特定するために、フレーム内の疑わしい欠陥位置を指摘するように作動するダイ間ファンネルのような任意の適切なファンネルアルゴリズムを使用することができる。例えば、処理ロジックは、単純な差分を求めるために、参照画像から検査画像を減算処理することができ、続いて、大きな差分をファンネルとして特定するために差分の閾値を使用する。処理ロジックは、候補欠陥位置を特定するために使用される、ファンネルスコアマップを生成することができる。ファンネルスコアマップは、各画素にこの画素が欠陥かもしれない疑惑度を示すファンネルスコアを有する、フレームサイズの画像を含むことができる。例えば、ファンネルが単純なD2D差分である場合、ファンネルマップは、フレーム内の各画素のD2D絶対差分信号の行列を含むことができる。特定された候補欠陥位置の数は、例えばブロック620においてパッチ・ツー・パッチの欠陥検出分析を受ける候補欠陥位置の数を示す特定用途パラメータとすることができる。候補の数は、ユーザー定義値(例えば、N=25)とすることができる。ファンネルマップを使用して、候補欠陥位置リストを求める1つの実施形態は、図6Bと併せて以下に詳細に説明される。
図6Bは、候補欠陥位置リストを求めるための方法650の実施形態を示す流れ図である。1つの実施形態では、方法650は、任意の適切なタイプの欠陥検査及び/又は欠陥分析システム(例えば、図1の欠陥分析工程150のシステム及び/又は図1の検査工程140のシステム)の処理ロジックにより実行される。処理ロジックは、ハードウェア(電気回路、専用論理回路、プログラム可能な論理回路、マイクロコード等)、ソフトウェア(命令が処理デバイス上で実行される)、又はそれらの組み合わせを備えることができる。別の実施形態では、方法650は、図1のパッチ・ツー・パッチ欠陥検出モジュール107によって実行される。
ブロック670において、処理ロジックはファンネルスコアマップを受け取る。ファンネルスコアマップは、各画素にこの画素が欠陥かもしれない疑惑度を示すファンネルスコアを有する、フレームサイズの画像を含むことができる。例えば、ファンネルが単純なD2D差分である場合、ファンネルマップはフレーム内の各画素のD2D絶対差分信号の行列を含むことができる。ブロック673において、処理ロジックは、ファンネルスコアマップの各画素におけるファンネルスコアに基づいて、候補欠陥位置のサブセットを特定する。特定された候補欠陥位置の数は、ユーザー定義数(例えば、N=25)とすることができる。ファンネルスコアマップに基づいて候補欠陥位置のサブセットを特定するための1つの実施形態は、図7と併せて以下に詳細に説明される。ブロック675において、処理ロジックは、前記サブセットの各候補欠陥位置に対して、境界ボックスを生成する。境界ボックスは、動的な境界ボックスとすることができる。特定の実施形態では、本明細書に記載されるように、「動的な境界ボックス」は、形状及び/又はサイズの少なくとも1つの寸法、及び/又は候補位置に関連する相対的位置のような、境界ボックスの少なくとも1つの特徴を修正することにより、境界ボックスから導出される。この修正は、より正確に欠陥を含むように選択される。候補欠陥位置に対して境界ボックスを生成する1つの実施形態は、図17と併せて以下に詳細に説明される。ブロック677において、処理ロジックは、ファンネルスコアマップに基づいて、最も有力な候補欠陥位置リストを生成する。処理ロジックは、ユーザー定義数(例えば、N=25の候補欠陥位置リスト)に基づいてリストを生成するように構成することができる。リストは、各候補欠陥位置に対して、対応する位置に関する境界ボックスを含むことができる。
図6Aに戻り、ブロック620において、処理ロジック(例えば、図1のパッチ・ツー・パッチ欠陥検出モジュール107の処理ロジック)は、欠陥が候補欠陥位置に存在するか否かを判定するために、検査画像、参照画像、及び欠陥候補位置のサブセット(例えば、リスト)を使用して検査フレームのパッチを比較するパッチ・ツー・パッチ欠陥検出を実行することができる。パッチ・ツー・パッチ欠陥検出を実行する1つの実施形態は、図3と併せて詳細に前述されている。
ブロック630において、処理ロジックは欠陥を報告する。処理ロジックは、現フレーム(検査フレーム)内の欠陥のある画素リストを生成し、各々の候補欠陥位置毎に判定結果を生成する。例えば、各候補欠陥位置に対して、リストは、対応する候補欠陥位置が欠陥か誤認警報(FA)か又は決定不能かを示すことができる。一般的には、検査フレーム内に欠陥がある場合、欠陥は高いファンネルスコアと相関があり、トップN候補(例えば、N=25)の中に入る可能性がある。一般的にフレーム内のパターンは反復性が高い。実際に使える仮定は、参照画像における2つの類似パッチは画像に欠陥がある場合を除いて画像において類似しているという仮定である。パッチが欠陥を含む場合、一般には画像内に類似パッチは見つからないはずである。
図7は、ファンネルスコアマップに基づいて候補欠陥位置のサブセットを特定する方法700の1つの実施形態の流れ図である。1つの実施形態では、方法700は、任意の適切なタイプの欠陥検査及び/又は欠陥分析システム(例えば、図1の欠陥分析工程150のシステム及び/又は図1の検査工程140のシステム)の処理ロジックにより実行される。処理ロジックは、ハードウェア(電気回路、専用論理回路、プログラム可能な論理回路、マイクロコード等)、ソフトウェア(命令が処理デバイス上で実行される)、又はそれらの組み合わせを含むことができる。別の実施形態では、方法700は、図1のパッチ・ツー・パッチ欠陥検出モジュール107によって実行される。
ブロック705で、処理ロジックはファンネルスコアマップを含む入力を受け取る。ファンネルスコアマップは、各画素にこの画素が欠陥かもしれない疑惑度を示すファンネルスコアを有する、フレームサイズの画像を含むことができる。ブロック710において、処理ロジックは、ファンネルスコアに基づいてファンネルスコアマップの予め定義された数の最も有力な画像を特定する。予め定義された数は、ユーザー定義数(例えば、N=25)とすることができる。1つの実施形態では、処理ロジックは各ピークの近傍をマスクする。ブロック715において、処理ロジックはファンネルスコアマップに閾値を適用することにより、有意なファンネルマップを生成する。ブロック720において、処理ロジックは、有意なファンネルマップを使用して最も有力な画素を再構成する。ブロック725において、処理ロジックは、欠陥位置及び最も有力な候補欠陥位置の各々に対する境界ボックスを含む、最も有力な候補(例えば、N=25)リストを生成する。
図8は、画像内の類似パッチを比較することにより欠陥を検出するための方法800の実施形態の流れ図である。方法800は、ハードウェア(電気回路、専用論理回路、プログラム可能な論理回路、マイクロコード等)、ソフトウェア(命令が処理デバイス上で実行される)、又はそれらの組み合わせを含むことができる処理ロジックにより実行することができる。1つの実施形態では、方法800は、図1のパッチ・ツー・パッチ欠陥検出モジュール107によって実行される。
ブロック801において、特定の実施形態によれば、処理ロジックは各候補欠陥位置に対して、類似パッチの候補を検索する。候補に指名された類似パッチは、対応する候補欠陥位置と関連する、候補パッチと潜在的に類似したパッチである。1つの実施形態では、処理ロジックは検査画像上で類似パッチの候補を検索する。別の実施形態では、処理ロジックは、参照画像上で類似パッチの候補を検索する。候補に指名された類似パッチの中から類似パッチを検索するための1つの実施形態は、図9と併せて以下に詳細に説明される。
ブロック803において、処理ロジックは、候補に指名された類似パッチと候補パッチとの間の最適な領域を見出す。最適領域は類似した画素のみを含むことができる。最適領域は、限定されるものではないが、長方形、円形、正方形、又は何らかの任意の形状といった、何らかの形状とすることができる。最適領域を見出すための1つの実施形態は、図10と併せて以下に詳細に説明される。ブロック805において、処理ロジックは、最適領域に基づいて候補に指名された類似パッチが候補パッチに類似するか否かを判定する。処理ロジックは、正規の領域(例えば、長方形)が見出されたか否かを判定する。正規領域は、最小の領域(例えば、200画素)を有して各軸上に最小数の画素(例えば、7画素)を有するといった判定基準を満たす領域を含むことができる。正規領域が見出された場合(ブロック805)、処理ロジックは、候補に指名された類似パッチが候補パッチ(最適領域の範囲内)と類似していると判定し、ブロック807においてパッチ・ツー・パッチ欠陥検出を実行する。正規領域が見出されなかった場合(ブロック805)、処理ロジックは、候補に指名された類似パッチが候補パッチと類似していないと判定し、ブロック815において処理する別の候補に指名された類似パッチがあるか否かを判定する。
ブロック807において、処理ロジックは、候補欠陥位置に欠陥があるか否かを判定するためにパッチ・ツー・パッチ欠陥検出を実行する。候補欠陥位置に欠陥があるか否かを判定するためにパッチ・ツー・パッチ欠陥検出を実行する1つの実施形態は、図11と併せて以下に詳細に説明される。欠陥が無い場合(ブロック809)、処理ロジックはブロック811で類似パッチを破棄する。破棄された類似パッチは、候補パッチを現類似パッチと比較しても非常に低い差分信号しか生じないという意味で、誤認警報を表す。処理ロジックは、類似パッチが誤認警報であると示すデータを記録する。欠陥がある場合(ブロック809)、処理ロジックはブロック813で、パッチ・ツー・パッチ欠陥検出モジュールと結合されたデータストアに欠陥の結果データを保存する。
ブロック815において、処理ロジックは、他の候補に指名された類似パッチがあるか否かを判定する。他の候補に指名された類似パッチがある場合、処理ロジックは、次の候補に指名された類似パッチと候補パッチとの間の最適領域を見出すためにブロック803に戻る。評価すべき他の候補に指名された類似パッチが無い場合(ブロック815)、処理ロジックはブロック817において、平均値を計算するために十分な保存されたデータがあるか否かを判定する。1つの実施形態では、2つ以上の類似パッチに対する保存されたデータがある場合、処理ロジックは保存された結果の平均値を計算する。平均値が計算できない場合(ブロック817)、処理ロジックはブロック823でその結果を報告する。処理ロジックは、候補パッチに対応する候補欠陥位置が決定不能であることを示すデータを記録すること及び/又はそのデータを報告することができる。
平均値が計算できる場合(ブロック817)、処理ロジックはブロック819で保存された結果の平均値を計算し、ブロック821で平均値に基づいて候補パッチに対応する候補欠陥位置に欠陥があるか否かを判定する。平均値に基づいて候補パッチに対応する候補欠陥位置に欠陥があるか否かを判定する1つの実施形態は、図12と併せて以下に詳細に説明される。
ブロック823において、処理ロジックは判定結果を報告する。例えば、平均値に基づいて候補パッチに対応する候補欠陥位置に欠陥がある場合、処理ロジックは、欠陥があることを示すデータを記録すること及び/又はそのデータを報告することができる。平均値に基づいて候補パッチに対応する候補欠陥位置に欠陥がない場合、処理ロジックは、誤認警報があることを示すデータを記録すること及び/又はそのデータを報告することができる。
図9は、候補に指名された類似パッチの中から類似パッチを検索するための方法900の実施形態の流れ図である。方法900は、ハードウェア(電気回路、専用論理回路、プログラム可能な論理回路、マイクロコード等)、ソフトウェア(命令が処理デバイス上で実行される)、又はそれらの組み合わせを備えることができる処理ロジックにより実行することができる。1つの実施形態では、方法900は、図1のパッチ・ツー・パッチ欠陥検出モジュール107によって実行される。
ブロック901において、最新の候補欠陥位置に対して、処理ロジックは、候補パッチを生成するために候補欠陥位置に対してパッチを規定する。1つの実施形態では、処理ロジックは、候補欠陥位置の周りに小さなパッチを規定する。処理ロジックは、絶対誤差平均(MAD)のような類似性評価基準を使ってパッチ環境内に類似パッチの候補者(例えば、M=30)を見出す。また、MAD(絶対誤差平均)の計算は本明細書ではSAD(絶対差分和)とも呼ばれる。見出すべき類似パッチの数は、ユーザー定義の値(例えば、M=30)とすることができる。ブロック903において、処理ロジックは、最新のROI(対象領域)上で候補パッチのテンプレートの位置をシフトする。ブロック905において、処理ロジックは、各シフト位置に対して絶対差分和(SAD)を計算する。1つの実施形態では、処理ロジックはSADを
(式1)
として計算する。
ブロック907において、処理ロジックは、テンプレートパッチに対して最も類似したパッチを表す最小SADの位置を出力する。最小SADの計算は、ROI(対象領域)における各画素を使った候補パッチ(「テンプレート」)の絶対差分和(SAD)を計算し、最小SAD値を有する位置(例えば、30個)を取得することを指す。ROIはフレームの特定部分とすることができ、フレーム全体とすることもできる。
図10は、候補に指名された類似パッチと候補パッチの間の最適領域を見出すための方法1000の実施形態の流れ図である。方法1000は、ハードウェア(電気回路、専用論理回路、プログラム可能な論理回路、マイクロコード等)、ソフトウェア(命令が処理デバイス上で実行される)、又はそれらの組み合わせを備えることができる処理ロジックにより実行することができる。1つの実施形態では、方法1000は、図1のパッチ・ツー・パッチ欠陥検出モジュール107によって実行される。
ブロック1001において、処理ロジックは、候補パッチを候補に指名された類似パッチと一緒に登録する。候補パッチを候補に指名された類似パッチと一緒に登録する1つの実施形態は、図14と併せて以下に詳細に説明される。ブロック1003において、処理ロジックは、候補パッチと候補に指名された類似パッチをより大きいパッチに拡大する。拡大されたサイズの例は、限定されるものではないが、50画素x50画素、30画素x30画素、及び70画素x70画素である。ブロック1005において、処理ロジックは候補パッチと候補に指名された類似パッチとの間の差分を計算する。ブロック1007において、処理ロジックは、各画素を閾値と比較することにより、各画素に対する類似性を示す2値マスキングを生成する。
ブロック1009において、処理ロジックは、類似するとタグ付けされた画素だけに内接する四角形を見出す。ブロック1011において、処理ロジックは、見出された四角形の2つの対辺に必ず接する最大領域(例えば、長方形)を特定する。この領域の実施例は、限定されるものではないが、長方形、正方形、円形、及び任意の形状である。処理ロジックは、全ての可能性のある領域(例えば、長方形)をチェックする代わりに、四角形の2つの対辺に接する特性を満たす領域(例えば、長方形)のみをチェックすることによって、最大領域(例えば、長方形)を見出す際の時間を節約することができる。ブロック1013において、処理ロジックは、四角形の2つの対辺に接する2つの対角を有する全ての可能性のある領域(例えば、長方形)を構築する。ブロック1015において、処理ロジックは、非正規領域(非正規な長方形)を捨てる。非正規領域は、最小領域(例えば、200画素)を有して各軸に最小数の画素(例えば、7画素)を有するといった、判定基準を満たさない領域を含むことができる。ブロック1017において、各領域(例えば、長方形)に対して、処理ロジックは候補境界ボックスと領域(例えば、長方形)の各端部(例えば、辺)との間の最小距離を見出し、端部から穴までの距離が最大となる領域を選択する。
ブロック1019において、処理ロジックは、選択された領域(例えば、長方形)の中で最大ものを最適領域(例えば、長方形)として特定する。最適領域(例えば、長方形)は類似画素のみを含む。特定の実施形態によれば、各ペアに対して(例えば、パッチ、候補に指名された類似パッチ)、処理ロジックは、パッチと類似パッチとの間の類似画素だけを含む領域(例えば、長方形)を検索する。この領域(例えば、長方形)は、2つのパッチが実際に類似している領域を示す。可能性のある領域(例えば、長方形)の中から、類似画素のみを含む「最適長方形」が一般的に選択される。「最適」とは、パッチの端部から候補境界ボックスまでの距離が、画像(例えば、2‐3画素)における類似性の大きな根拠を与えることが経験的に分かっており、これを超えて選択できない所定距離に至る最大の距離であることを意味する。これにより、境界ボックス内のできるだけ多くの画素で検出を行うことが可能になる。「最適」は、ロバストなノイズ予測を容易にするために最大である最適長方形の領域とすることができる。「最適」は、正規つまり最小領域(例えば、200画素)を有し、各軸に最小数の画素(例えば、7画素)を有するような、最小判定基準を満たす長方形とすることができる。
図11は、候補欠陥位置に欠陥があるか否かを判定するためにパッチ・ツー・パッチ欠陥検出を実行するための方法1100の実施形態の流れ図である。方法1100は、ハードウェア(電気回路、専用論理回路、プログラム可能な論理回路、マイクロコード等)、ソフトウェア(命令が処理デバイス上で実行される)、又はそれらの組み合わせを備えることができる処理ロジックにより実行することができる。1つの実施形態では、方法1100は、図1のパッチ・ツー・パッチ欠陥検出モジュール107によって実行される。
ブロック1101において、処理ロジックは、見出された最適領域(例えば、最適長方形)に従って、非類似領域をマスクする。ブロック1103において、処理ロジックは候補パッチを類似パッチと一緒に登録する。候補パッチを候補に指名された類似パッチと一緒に登録するための1つの実施形態は、図14と併せて以下に詳細に説明される。D2D/D2M用途での1つの実施形態において、所望であれば、処理ロジックは、パッチと類似パッチを登録(位置合わせ)する代わりに、参照画像からの登録結果を使用すること、又は参照画像結果を画像パッチに適用される適切な登録プロセスに対する初期設定として使用することができるので、画像パッチに関する登録がより短い時間で収束し、結果的に処理能力を節約することができる。ブロック1105において、処理ロジックは、類似パッチと候補パッチとの間の最適フィルタを見出す。例えば、処理ロジックは、最適フィルタを見出すために「最小2乗」解を使用することができる。サイズNxN画素の所定の2つのパッチ、R、I、及びフィルタhは以下の式を満たす。
(式2)
をフィルタhのサイズでのRにおける特定セルの画素とする。
をIにおけるセル中心に対応する画素とする。
処理ロジックは、次式を最小にする係数セットを求めることができる。
(式3)
同じことをパッチ内の各セルNxNに対して適用して方程式セットを決定することができる。
(式4)
ここに、各行AはセルNxNから取り込んだものであり、bはベクトル形式のパッチIであり、hはベクトル形式のフィルタ係数である。
最小2乗法による解は、次式で与えられる。
(式5)
最適フィルタは、パッチ間の差分を解消するように設計された、参照パッチと欠陥パッチとの間の線形フィルタを備えることができ、限定されるものではないが、焦点差分、FOV(視野)歪み、及び登録剰余の中の一部又は全てを含むことができる。所望であれば、処理ロジックは、最適フィルタサイズを見出した形状(例えば、長方形)の幾何形状に応じて動的に設定することができる。
図11に戻り、ブロック1107において、処理ロジックは最適フィルタを類似パッチに適用する。ブロック1109において、処理ロジックは、フィルタマージンのマスキングを含み、フィルタ処理された類似パッチから候補パッチを減算する。ブロック1111において、処理ロジックはノイズの標準偏差(STD)を推定する。1つの実施形態では、処理ロジックは、直接、境界ボックス外画素のSTDを計算することにより、ノイズSTDを推定する。別の実施形態では、ノイズSTDは、ノイズ推定のために設定段階でノイズの挙動をオフライン学習することにより生成される、予め学習されたLUT(ルックアップテーブル)によってもたらすことができる。
ブロック1113において、処理ロジックは、境界ボックス内の画素の信号対ノイズ比(SNR)の値を計算する。例えば、処理ロジックは、候補欠陥位置が欠陥を有するか否かを判定するために、SNR=Diff(GL)/noiseSTDを使用することができ、ここでGLはグレーレベルである。候補SNRを調べる代わりに、限定されるものではないが、処理ロジックは、候補欠陥位置が欠陥であるか否かを判定するために、正則のGL(グレーレベル)差分、エネルギー、サイズ、形状の中の一部又は全てといった別の属性を使用する。
図12は、平均値に基づいて候補パッチに対応する候補欠陥位置に欠陥があるか否かを判定するための方法1200の実施形態の流れ図である。方法1200は、ハードウェア(電気回路、専用論理回路、プログラム可能な論理回路、マイクロコード等)、ソフトウェア(命令が処理デバイス上で実行される)、又はそれらの組み合わせを備えることができる処理ロジックにより実行することができる。1つの実施形態では、方法1200は、図1のパッチ・ツー・パッチ欠陥検出モジュール107によって実行される。
方法1200は、処理ロジックが全ての候補に指名された類似パッチを処理し、類似パッチと見なされる、候補に指名された類似パッチを選択した後に実行される。また、類似パッチの各々は、候補パッチに登録することができ、随意的に適切な最適フィルタでフィルタ処理することができる。候補に指名された類似パッチを組み合わせて、例えば、単純平均及び/又は加重平均を使用して平均値を求めることができる。
ブロック1201において、処理ロジックは類似パッチの平均値を求める。1つの実施形態では、処理ロジックは全ての類似パッチの平均値を求めるが、各画素の平均は、関連するパッチの影響を受ける場合がある。別の実施形態では、処理ロジックは、見出された類似パッチの全ての平均値を求めない。処理ロジックは、例えば、十分に低いノイズをもたらす類似パッチ及び/又は十分に大きい類似パッチといった判定基準に基づいて、平均値を求めるために使用する類似パッチを選択することができる。
Pをパターン、
を独立したWGN〜(0、σ2)とする。
(式6A)
(式6B)
ブロック1203において、処理ロジックは平均化された類似パッチから候補パッチを減算する。
(式7)
ノイズ低減は平均化する際のパッチ数に依存する場合があるので、差分において各画素に一様なノイズレベルに対する因子を乗算することができる。1つの実施形態では、処理ロジックは計算因子を以下のように確定する。
計算因子は個々の画素に対して乗算されるが、ここでKは、個々の画素を含むことが分かっている類似パッチの数である。
1つの実施形態では、処理ロジックは、ブロック1203において、ノイズ挙動のオフライン学習のような任意の適切な別の方法によりノイズSTDを推定する。ブロック1205において、処理ロジックは、候補パッチの真の輪郭を推定する。ブロック1207において、処理ロジックは境界ボックス内の画素のSNR値を計算する。境界ボックスを見出す1つの実施形態は、図13と併せて以下に詳細に説明される。処理ロジックは、例えば、境界ボックスの外の画素のSTDを直接計算することによりノイズSTDを推定することができる。代替的に又は追加的に、ノイズSTD値はノイズ推定のために予め学習されたLUT(ルックアップテーブル)によりもたらすことができる。
ブロック1209において、処理ロジックは、候補欠陥位置が欠陥であるか否かを判定するために、エネルギー検出用のエネルギーSNRを並行して計算して候補欠陥位置のエネルギーを調べることができる。処理ロジックは以下のようにエネルギーSNRを計算する。
(式9)
1つの実施形態では、ブロック1209において、候補に欠陥であるか否かを判定するために候補SNR又はエネルギーを調べる代わりに、処理ロジックは、限定されるものではないが、以下の属性の中の一部又は全てといった、他の判定基準を使用することができる。属性は、従来のグレーレベル(GL)、差分、サイズ、形状である。
図13は、境界ボックスを見出すための方法1300の実施形態の流れ図である。方法1300は、ハードウェア(電気回路、専用論理回路、プログラム可能な論理回路、マイクロコード等)、ソフトウェア(命令が処理デバイス上で実行される)、又はそれらの組み合わせを備えることができる処理ロジックにより実行することができる。1つの実施形態では、方法1300は、図1のパッチ・ツー・パッチ欠陥検出モジュール107によって実行される。方法1300は、本発明の特定の実施形態によって、図12のブロック1205における輪郭推定を行う際に、及び図12のブロック1207で境界ボックス内のSNRを計算する際に有用である。
ブロック1301において、処理ロジックは、オフラインのノイズ推定を利用して、異なる画像内の不規則画素をマスクする。ブロック1303において、処理ロジックは見つかった全ての不規則画素をマスクして残った、つまり「正常な」(不規則でない)画素だけを使用して、例えば「正常な」画素のSTD(標準偏差)を計算することにより、ノイズ特性を再度推定する(オンライン)。ブロック1305において、処理ロジックは、閾値に基づいて画素を不規則なものとしてマスクする。処理ロジックは、学習されたノイズ特性と比較して不規則な画素(例えば、差分信号の絶対値がKxSTDより高い画素)を不規則なものとしてマスクする。Kは、3、又は2−5の範囲内のどれかといった任意の適切なパラメータである。ブロック1307において、処理ロジックは、閾値に基づいて選択された全ての不規則画素を最初の候補境界ボックスに関連させて、これらの不規則画素を欠陥に属すると見なす。ブロック1309において、処理ロジックは欠陥に属していると判明した全画素の境界ボックスを改めて推定することにより、境界ボックスを規定する。処理ロジックは、これらの画素を囲む(必ずしも長方形ではない)輪郭を欠陥の輪郭として規定する。
2つの非限定的な実施例が以下に説明される。実施例1:動的な境界ボックスのモチベーション。候補境界ボックスの精度はファンネルの性能に依存している。特定のファンネルは、欠陥、特に大きな欠陥に対して相対的に不正確な境界ボックスを生成する可能性がある。欠陥のスコア(SNR)を計算するための可能性のある方法は、次のとおりである。P2Pスコア=境界ボックス内の差分/境界ボックスの外の異なる画素のstd。欠陥は、本明細書に記載される候補分析ステップ210によって計算される境界ボックス内に完全には含まれない場合がある。従って、境界ボックス外に欠陥のある画素が存在する場合がある。差分信号が正則ノイズ画素よりも有意に高い欠陥のある画素によってノイズSTDを推定する場合、ノイズSTD(P2Pスコア計算における分母)の過大評価という結果につながる場合がある。従って、大きな欠陥のP2Pスコアは「真の」スコアより小さくなる傾向がある。
実施例2−別の実施例モチベーション:欠陥の各々に対して計算可能な属性はそのエネルギーであり、一般的には、欠陥画素の全てに対してSNR信号の2乗和として定義される。エネルギーのスコアリングはエネルギー検出(例えば、図12のブロック1209に説明される)で実行することができる。欠陥の輪郭が不正確な場合、真の欠陥画素をこの計算から外すことができ、又は欠陥の無い画素がこの計算に誤って含まれる場合がり、推定されたエネルギー信号の精度は最適とはいえない。従って、欠陥の真の輪郭は一般的にSNR信号を計算する前に求められる。これは、最初の境界ボックスに関連付けされた不規則な画素を見出すことにより行うことができ、結果的に、大きな欠陥の確実な検出を可能とするP2Pスコアを正確に求めることができる。
特定の実施形態において、浅い欠陥は相対的に弱いが、広い領域にわたって広がる傾向があることを理解されたい。最も有力な差分画素に基づいた検出機構は、浅い欠陥検出を難しくする場合がある。欠陥の全エネルギーを計算することは、これらの欠陥に対してはより好ましい場合がある。
図14は、候補パッチを候補に指名された類似パッチと一緒に登録するための方法1400の実施形態の流れ図である。方法1400は、ハードウェア(電気回路、専用論理回路、プログラム可能な論理回路、マイクロコード等)、ソフトウェア(命令が処理デバイス上で実行される)、又はそれらの組み合わせを備えることができる処理ロジックにより実行することができる。1つの実施形態では、方法1400は、図1のパッチ・ツー・パッチ欠陥検出モジュール107によって実行される。1つの実施形態では、候補パッチを候補に指名された類似パッチと一緒に登録するには、Lucas‐Kanade登録法を使用する。
ブロック1401において、処理ロジックは2つの画像の間の線形シフトでの差分を求める。T1とT2が2つの画像を表すとし、線形シフトでの差分はΔx、Δyで表す。処理ロジックはΔx、Δyを以下のように求めることができる。
(式10)
ブロック1403において、処理ロジックは第2の画像をその一次テイラー級数で置き換える。
(式11)
処理ロジックは
をΔx及びΔyにより導出することができ、それぞれを0と比較する。
(式12)
ブロック1405において、処理ロジックは線形シフトを導出するために2つの単純行列を構築する。処理ロジックは2つの単純行列を構築し、単純逆行列を求める。このプロセスは、(T2−T1)が各繰り返しの中で再計算される唯一の成分である場合に反復的に実行することができる。
図15は、光ベースの画像処理欠陥検出の方法1500の実施形態の流れ図である。1つの実施形態では、方法1500の一部は任意の適切なタイプの欠陥検査及び/又は欠陥分析システム(例えば、図1の欠陥分析工程150のシステム及び/又は図1の検査工程140のシステム)の処理ロジックにより実行され、また、方法1500の一部は、図1のパッチ・ツー・パッチ欠陥検出モジュール107の処理ロジックにより実行される。処理ロジックは、ハードウェア(電気回路、専用論理回路、プログラム可能な論理回路、マイクロコード等)、ソフトウェア(命令が処理デバイス上で実行される)、又はそれらの組み合わせを備えることができる。例えば、方法1500のブロック1505及び1507は、図1のパッチ・ツー・パッチ欠陥検出モジュール107によって実行される。
前述のように、図1の光ベースの画像処理欠陥検出モジュール107は、比較が透過光(Tx)の画像と反射光(Rf)の別画像との間で行われる、微視的対象物に対する欠陥検出の一変形である。光ベースの画像処理欠陥検出に関する方法1500は、図6Aの方法600に説明されるD2D/D2M欠陥検出法と一部類似した特徴を有することができる。
ブロック1510においれ、処理ロジックは、微視的対象物を透過した光を集めるセンサー(例えば、CCD)により生成されたデジタル透過光画像(Tx)、微視的対象物から反射した光を集めるセンサー(例えば、CCD)により生成されたデジタル反射光画像(Rf)、ファンネルスコアマップ、及び多数の候補の一部又は全てを入力として受け取る。ファンネルスコアマップは、Tx画像とRf画像を受け取り、それらから各画素に対してスコアを生成し(例えば、Tx+Rf=255GLと仮定して、処理ロジックは255からのTx+Rfの絶対差分を調べることができる)、その画素の疑念度の大きさを示す、任意のコンピュータ化されたプロセスにより作成することができる。「候補の数」はユーザーにより定義されたパラメータセットとすることができ、通常は処理能力を考慮して調整され、候補の数が少ないほど、コンピュータ化されたプロセスは速くなる。
ブロック1510において、処理ロジックは検査画像を前処理する。前処理操作の例は、限定されるものではないが、検査画像の登録を含むことができる。処理ロジックは、画像登録のために、限定されるものではないが、多重形式画像の登録に適する画像類似性尺度である相互情報及び正規化相互情報のような、任意の適切な類似性尺度を利用することができる。この尺度は、クロス相関、強度差分の2乗和、及び画像均一性比を含むこともでき、同じ様式の画像登録に適する画像類似性尺度である。
ブロック1520において、処理ロジックは、前処理された画像に対して特定用途向けのファンネル技術を適用し、透過画像(Tx)及び反射画像(Rf)に基づいて候補欠陥位置を提示するようになっている。処理ロジックは、候補欠陥位置を決定するために、限定されるものではないが、フレーム内の疑わしい欠陥位置を指摘するために作動するダイ間ファンネル(inter−die funnel)のような、任意の適切なファンネルアルゴリズムを使用することができる。例えば、処理ロジックは、単純差分を求めるために透過画像及び/又は反射画像から検査画像を減算することができ、続いて大きな差分をファンネルとして特定するために差分閾値を使用することができる。処理ロジックは、候補欠陥位置の特定に使用するファンネルスコアマップを生成することができる。ファンネルスコアマップは、フレームサイズであり、各画素に画素が欠陥である疑念度を示すファンネルスコアを有する画像を含むことができる。
ブロック1530において、処理ロジック(例えば、図1のパッチ・ツー・パッチ欠陥検出モジュール107の処理ロジック)は、欠陥が候補欠陥位置に存在するか否かを判定するために、検査画像、透過画像、反射画像、及び欠陥候補位置のサブセット(例えば、リスト)を使用して、検査フレーム内のパッチを比較する、パッチ・ツー・パッチ欠陥検出を実行することができる。パッチ・ツー・パッチ欠陥検出を実行する1つの実施形態は、図3と併せて詳細に前述されている。
ブロック1540において、処理ロジックは欠陥を報告する。処理ロジックは、最新のフレーム(検査フレーム)の欠陥のある画素のリスト、及び各々の候補欠陥毎の判定を生成する。例えば、各々の候補欠陥位置に関して、リストは、対応する候補欠陥位置が欠陥か、誤認警報(FA)か、又は決定不能であるのかを示すことができる。一般的には、検査フレーム内に欠陥がある場合、欠陥は高いファンネルスコアに関連し、トップN(例えば、N=25)に入る場合もある。一般的に、フレーム内のパターンは非常に反復度が高い。各々の中心に穴を有する2つのパッチを仮定すると、穴の外側の領域が十分に大きい場合は、穴の外側(例えば、穴の付近)の類似性は、穴の内側の類似性を示すことになる。従って、穴の内側の差異は欠陥を示すことになる。穴の外側で見つかる類似した領域がそれほど大きくない場合、2つのパッチは類似しているとは見なされない。このことによって、穴の外側の類似した領域が十分に大きいパッチだけが実際に検出に確実に使用される。
1つの実施形態では、透過画像、その後これとは別に反射画像の類似パッチを検索する代わりに、1つの様式(例えば、反射画像)は、別の様式(例えば、透過画像)から得られた類似性結果を使用することができるが、その理由は、多くの場合、透過画像の類似パッチは反射画像でも類似するので、反射画像及び透過画像の両方を検索する必要がないからである。
図16は、フレーム内(intra−frame)欠陥検出のための方法1600の実施形態の流れ図である。方法1600は、ハードウェア(電気回路、専用論理回路、プログラム可能な論理回路、マイクロコード等)、ソフトウェア(命令が処理デバイス上で実行される)、又はそれらの組み合わせを備えることができる処理ロジックにより実行することができる。1つの実施形態では、方法1600は、図1のパッチ・ツー・パッチ欠陥検出モジュール107によって実行される。
ブロック1610において、処理ロジックはファンネルスコアマップを受け取る。ファンネルスコアマップは、各画素にこの画素が欠陥かもしれない疑惑度を示すファンネルスコアを有する、フレームサイズの画像を含むことができる。ブロック1620において、処理ロジックは、ファンネルスコアマップの各画素のファンネルスコアに基づいて、候補欠陥位置のサブセットを特定する。特定される候補欠陥位置の数は、ユーザー定義数(例えば、N=25)とすることができる。ファンネルスコアマップに基づいて、候補欠陥位置のサブセットを特定するための1つの実施形態は、図7と併せて詳細に前述されている。ブロック1630において、最新の候補欠陥位置に関して、処理ロジックは、透過画像上でパッチ・ツー・パッチ欠陥検出を実行する。透過画像上でパッチ・ツー・パッチ欠陥検出を実行するための1つの実施形態は、図17と併せて以下に詳細に説明される。ブロック1640において、最新の候補欠陥位置に関して、処理ロジックは、反射画像上でパッチ・ツー・パッチ欠陥検出を実行する。反射画像上でパッチ・ツー・パッチ欠陥検出を実行するための1つの実施形態は、図18と併せて以下に詳細に説明される。ブロック1650において、処理ロジックは、透過画像に関する結果を反射画像に関する結果と組み合わせて、最新の候補欠陥位置に関する最終結果を作成する。透過画像に関する結果を反射画像に関する結果と組み合わせて、最新の候補欠陥位置に関する最終結果を作成するための1つの実施形態は、図19と併せて以下に詳細に説明される。ブロック1653において、処理ロジックは、処理すべき別の候補があるか否かを判定する。別の候補がある場合には、処理ロジックはブロック1630へ戻る。
図17は、透過画像内の類似パッチを比較することにより欠陥を検出するための方法1700の実施形態の流れ図である。方法1700は、ハードウェア(電気回路、専用論理回路、プログラム可能な論理回路、マイクロコード等)、ソフトウェア(命令が処理デバイス上で実行される)、又はそれらの組み合わせを備えることができる処理ロジックにより実行することができる。1つの実施形態では、方法1700は、図1のパッチ・ツー・パッチ欠陥検出モジュール107によって実行される。
特定の実施形態によれば、ブロック1701において、各候補欠陥位置に対して類似パッチの候補を検索する。候補欠陥位置は欠陥である可能性があるので、信頼性のあるパターンマッチング(例えば、MADベース)のために、その周りの広い領域を使用することが有利であることを理解されたい。ブロック1703において、処理ロジックは、候補に指名された類似パッチと候補パッチとの間の最適領域を見出す。最適領域は、限定されるものではないが、長方形、円形、正方形、又は任意の形状といった、何らかの形状とすることができる。最適領域を見出すための1つの実施形態は、図20と併せて以下に詳細に説明される。
ブロック1705において、処理ロジックは、最適領域に基づいて候補に指名された類似パッチが候補パッチに類似しているか否かを判定する。処理ロジックは、正規の領域(例えば、長方形)が見出されたか否かを判定する。正規領域は、最小の領域(例えば、200画素)を有して各軸上に最小数の画素(例えば、7画素)を有するといった判定基準を満たす領域を含むことができる。正規領域が見出された場合(ブロック1705)、処理ロジックは、候補に指名された類似パッチが候補パッチ(最適領域の範囲内)と類似していると判定し、ブロック1707においてパッチ・ツー・パッチ欠陥検出を実行する。正規領域が見出されなかった場合(ブロック1705)、処理ロジックは、候補に指名された類似パッチが候補パッチと類似していないと判定し、ブロック1715において処理する別の候補に指名された類似パッチがあるか否かを判定する。
ブロック1707において、処理ロジックは、候補欠陥位置に欠陥があるか否かを判定するためにパッチ・ツー・パッチ欠陥検出を実行する。候補欠陥位置に欠陥があるか否かを判定するためにパッチ・ツー・パッチ欠陥検出を実行する1つの実施形態は、図21と併せて以下に詳細に説明される。
欠陥が無い場合(ブロック1709)、処理ロジックはブロック1711において類似パッチを破棄する。信号対ノイズ比(SNR)が閾値を下回る場合、処理ロジックは欠陥がないと判定することができる。閾値は、差分信号が閾値を下回った場合に候補は欠陥ではないことを保証するように選択できる。例えば、閾値はユーザーが見出すことを期待する最小欠陥に準じて、ユーザーが設定することができる(例えば、約2−3SNR)。破棄された類似パッチは、候補パッチを最新の類似パッチと比較しても非常に低い差分信号しか生じないという意味で、誤認警報を表す。処理ロジックは、類似パッチが誤認警報であることを表すデータを記録することができる。欠陥がある場合(ブロック1709)、処理ロジックは、ブロック1713において、パッチ・ツー・パッチ欠陥検出モジュールに結合されたデータストアに欠陥の結果データを保存する。
ブロック1715において、処理ロジックは、別の候補に指名された類似パッチがあるか否かを判定する。別の候補に指名された類似パッチがある場合、処理ロジックは、次の候補に指名された類似パッチと候補パッチとの間の最適領域を見出すためにブロック1703に戻る。評価すべき別の候補に指名された類似パッチが無い場合(ブロック1715)、処理ロジックはブロック1717において、平均値を計算するために十分な保存されたデータがあるか否かを判定する。1つの実施形態では、2つ以上の類似パッチに対する保存されたデータがある場合、処理ロジックは保存された結果の平均値を計算する。平均値が計算できない場合(ブロック1717)、処理ロジックはブロック1723においてその結果を報告する。処理ロジックは、候補パッチに対応する候補欠陥位置が決定不能であることを示すデータを記録すること及び/又はそのデータを報告することができる。
平均値が計算できる場合(ブロック1717)、処理ロジックはブロック1719において保存された結果の平均値を計算し、ブロック1721において平均値に基づいて候補パッチに対応する候補欠陥位置に欠陥があるか否かを判定する。平均値に基づいて候補パッチに対応する候補欠陥位置に欠陥があるか否かを判定する1つの実施形態は、図12と併せて詳細に前述されている。
ブロック1723において、処理ロジックは判定結果を報告する。例えば、平均値に基づいて候補パッチに対応する候補欠陥位置に欠陥がある場合、処理ロジックは欠陥があることを示すデータを記録すること及び/又はこのデータを報告することができる。平均値に基づいて候補パッチに対応する候補欠陥位置に欠陥がない場合、処理ロジックは、誤認警報があることを示すデータを記録すること及び/又はこのデータを報告することができる。
図18は、反射画像内の類似パッチを比較することにより欠陥を検出するための方法1800の実施形態の流れ図である。方法1800は、ハードウェア(電気回路、専用論理回路、プログラム可能な論理回路、マイクロコード等)、ソフトウェア(命令が処理デバイス上で実行される)、又はそれらの組み合わせを備えることができる処理ロジックにより実行することができる。1つの実施形態では、方法1800は、図1のパッチ・ツー・パッチ欠陥検出モジュール107によって実行される。
特定の実施形態によれば、ブロック1801において、各候補欠陥位置に関して類似パッチの候補を検索する。候補欠陥位置は欠陥がある可能性があるので、信頼性のあるパターンマッチング(例えば、MADベース)のために、その周りの広い領域を使用することが有利であることを理解されたい。ブロック1803において、処理ロジックは、候補に指名された類似パッチと候補パッチとの間の最適領域を見出す。最適領域を見出すための1つの実施形態は、図20と併せて以下に詳細に説明される。
ブロック1805において、処理ロジックは、最適領域に基づいて候補に指名された類似パッチが候補パッチに類似しているか否かを判定する。処理ロジックは、正規の領域(例えば、長方形)が見出されたか否かを判定する。正規領域が見出された場合(ブロック1805)、処理ロジックは、候補に指名された類似パッチが候補パッチ(最適領域の範囲内)と類似していると判定し、ブロック1807においてパッチ・ツー・パッチ欠陥検出を実行する。正規領域が見出されなかった場合(ブロック1805)、処理ロジックは、候補に指名された類似パッチが候補パッチと類似していないと判定し、ブロック1815において処理する別の候補に指名された類似パッチがあるか否かを判定する。
ブロック1807において、処理ロジックは、候補欠陥位置に欠陥があるか否かを判定するためにパッチ・ツー・パッチ欠陥検出を実行する。候補欠陥位置に欠陥があるか否かを判定するためにパッチ・ツー・パッチ欠陥検出を実行する1つの実施形態は、図21と併せて以下に詳細に説明される。
欠陥が無い場合(ブロック1809)、処理ロジックはブロック1811において類似パッチを破棄する。信号対ノイズ比(SNR)が閾値を下回る場合、処理ロジックは欠陥がないと判定することができる。閾値は、差分信号が閾値を下回った場合に候補は欠陥ではないことを保証するように選択できる。例えば、閾値はユーザーが見出すことを期待する最小欠陥に準じて、ユーザーが設定することができる(例えば、約2‐3SNR)。破棄された類似パッチは、候補パッチを最新の類似パッチと比較しても非常に低い差分信号しか生じないという意味で、誤認警報を表す。処理ロジックは、類似パッチが誤認警報であることを示すデータを記録することができる。欠陥がある場合(ブロック1809)、処理ロジックはブロック1813において、パッチ・ツー・パッチ欠陥検出モジュールに結合されたデータストアに欠陥の結果データを保存する。
ブロック1815において、処理ロジックは、別の候補に指名された類似パッチがあるか否かを判定する。別の候補に指名された類似パッチがある場合、処理ロジックは、次の候補に指名された類似パッチと候補パッチとの間の最適領域を見出すためにブロック1803に戻る。評価すべき別の候補に指名された類似パッチが無い場合(ブロック1815)、処理ロジックはブロック1817において、平均値を計算するために十分な保存されたデータがあるか否かを判定する。1つの実施形態では、2つ以上の類似パッチに対する保存されたデータがある場合、処理ロジックは保存された結果の平均値を計算する。平均値が計算できない場合(ブロック1817)、処理ロジックはブロック1823でその結果を報告する。処理ロジックは、候補パッチに対応する候補欠陥位置が決定不能であることを示すデータを記録すること及び/又はそのデータを報告することができる。
平均値が計算できる場合(ブロック1817)、処理ロジックはブロック1819において保存された結果の平均値を計算し、ブロック1821において平均値に基づいて候補パッチに対応する候補欠陥位置に欠陥があるか否かを判定する。平均値に基づいて候補パッチに対応する候補欠陥位置に欠陥があるか否かを判定する1つの実施形態は、図12と併せて詳細に前述されている。
ブロック1823において、処理ロジックは判定結果を報告する。例えば、平均値に基づいて候補パッチに対応する候補欠陥位置に欠陥がある場合、処理ロジックは、欠陥があることを示すデータを記録すること及び/又はそのデータを報告することができる。平均値に基づいて候補パッチに対応する候補欠陥位置に欠陥がない場合、処理ロジックは、誤認警報があることを示すデータを記録すること及び/又はそのデータを報告することができる。
図19は、欠陥があるか否かを判定するために、透過画像及び反射画像からの結果を組み合わせるための方法1900の実施形態の流れ図である。方法1900は、ハードウェア(電気回路、専用論理回路、プログラム可能な論理回路、マイクロコード等)、ソフトウェア(命令が処理デバイス上で実行される)、又はそれらの組み合わせを備えることができる処理ロジックにより実行することができる。1つの実施形態では、方法1900は、図1のパッチ・ツー・パッチ欠陥検出モジュール107によって実行される。
ブロック1901において、処理ロジックは、組み合わせた結果が欠陥を示すか否かを判定する。透過画像の結果又は反射画像の結果が欠陥を示す場合、処理ロジックは欠陥があると判定する。透過画像の結果及び反射画像の結果がともに誤認警報を示す場合、処理ロジックは欠陥が無いと判定する。透過画像の結果及び反射画像の結果がともに決定不能を示す場合、処理ロジックは、欠陥は無いが決定不能であると判定する。
欠陥がある場合(ブロック1901)、処理ロジックはブロック1903においてユーザーへ報告する。欠陥が無い場合(ブロック1901)、処理ロジックはブロック1905で結果が誤認警報であるのか又は決定不能であるのかを判定する。処理ロジックが「決定不能」又は「誤認警報」という結論に至る場合、処理ロジックは候補欠陥位置をユーザーに報告しない。対照的に「欠陥」はブロック1903でユーザーに報告される。
ブロック1905において、処理ロジックは、結果が誤認警報であるのか又は決定不能であるのかを判定する。例えば、「決定不能」という決定がなされた場合、透過画像が決定不能であろうと、又は反射画像が決定不能であろうと、又はどちらも決定不能であろうとも、処理ロジックは最新のフレームを越えて類似パッチを検索することができる。処理ロジックは、類似パッチが見つかるまで、近傍のフレーム又は近傍でないフレームで類似パッチを検索することができる。別の実施例では、限定されるものではないが、処理ロジックは自動的に、D2D、D2M、及び/又は光ベース画像の欠陥検出のような検出プロセスへ戻ることができる。
結果が誤認警報である場合(ブロック1905)、処理ロジックはフィルタを適用する。例えば、本方法が欠陥を仮定しており、フレーム内に穴の外側は類似しており穴の内側は類似していない2つのパッチがある場合、この仮定が正しくないのであれば誤認警報を生じる可能性がある。例えば、マスク上の実パターンに関して、2つのパッチが特定の(欠陥でない)特徴部の外側では類似しているが、この特徴部では異なっている場合である。ブロック1905において、処理ロジックは誤認警報を以下のようにフィルタ処理することができる。
1つの実施形態では、本明細書に記載されるように1つの事象(例えば、欠陥)を検出した後に、処理ロジックは、透過画像及び反射画像における差分信号の様子を調べるために適当なロジックを適用して、事象を欠陥として報告するか又はフィルタ処理するかを決定する。このロジックは、種々のタイプの欠陥とは対照的にパターン誤認警報の異なる挙動を規定する事前知識に基づいて選択される。
別の実施形態では、処理ロジックは、本明細書に示され説明された欠陥検出方法により報告された全事象(例えば、欠陥)を集め、それから全マスクレベルでフィルタ除外処理がなされる。なぜならば、全マスクに亘って繰り返される事象(例えば、欠陥)はおそらく欠陥では無く、フィルタ除外処理が可能であるからである。
別の実施形態では、処理ロジックは結合フィルタ処理技術を実行する。
図20は、光ベース画像処理欠陥検出に関して、候補に指名された類似パッチと候補パッチとの間の最適領域を見出すための方法2000の実施形態の流れ図である。方法2000は、ハードウェア(電気回路、専用論理回路、プログラム可能な論理回路、マイクロコード等)、ソフトウェア(命令が処理デバイス上で実行される)、又はそれらの組み合わせを備えることができる処理ロジックにより実行することができる。1つの実施形態では、方法2000は、図1のパッチ・ツー・パッチ欠陥検出モジュール107によって実行される。
ブロック2001において、処理ロジックは候補パッチを候補に指名された類似パッチと一緒に登録する。候補パッチを候補に指名された類似パッチと一緒に登録するための1つの実施形態は、図14と併せて詳細に前述されている。ブロック2003において、処理ロジックは、候補パッチ及び候補に指名された類似パッチをより大きいパッチへと拡大する。ブロック2005において、処理ロジックは候補パッチと候補に指名された類似パッチとの間の差分を計算する。
ブロック2007において、処理ロジックは、各画素を閾値と比較することにより各画素の類似性を示す2値マスク(類似性マスク)を作成する。類似性マスクは、拡大された候補パッチと候補に指名された類似パッチとの間で類似している(例えば、絶対差分が閾値以下である)画素に対して「真」に設定される。ブロック2008において、マスクから処理ロジックは候補自体をマスクする。例えば、処理ロジックは、候補を構成する(含まれる)全画素に対して類似性マスクを「真」に設定する。本実施形態によれば、候補は、関連が無いのでマスクする必要があると想定される。図10のD2D/D2Mの実施形態とは異なり、候補境界ボックスの全画素は類似していると想定される。図10にあるような方法を実行する代わりに、類似パッチは、候補パッチを無視して検索される。類似パッチが見出された場合、パッチは候補画素においても類似していると見なされ、最新のパッチを見出された(各)類似パッチと比較することにより欠陥検出を実行し、結果的に事実上の光ベースの画像処理を提供する。処理ロジックは、候補の境界ボックスをマスクすることができ、本明細書では「穴」とも呼ばれる。処理ロジックは穴の外側に類似画素を有する四角形を見出しているので、穴の内側の画素は類似しているはずである。
ブロック2009において、処理ロジックは、類似しているとタグ付けされた画素だけに内接する四角形を見出す。ブロック2011で、処理ロジックは、見出された四角形の2つの対辺に必ず接する最大領域(例えば、長方形)を特定する。この領域の実施例は、限定されるものではないが、長方形、正方形、円形、及び任意の形状である。処理ロジックは、全ての可能性のある領域(例えば、長方形)をチェックする代わりに、四角形の2つの対辺に接する特性を満たす領域(例えば、長方形)のみをチェックすることによって、最大領域(例えば、長方形)を見出す際の時間を節約することができる。ブロック2013において、処理ロジックは、四角形の2つの対辺に接する2つの対角を有する全ての可能性のある領域(例えば、長方形)を構築する。ブロック2015において、処理ロジック、非正規な域(非正規な長方形)を捨てる。非正規領域は、最小領域(例えば、200画素)及び各軸に最小数の画素(例えば、7画素)を有するといった、判定基準を満たさない領域を含むことができる。ブロック2017において、各領域(例えば、長方形)に対して、処理ロジックは候補境界ボックスと領域(例えば、長方形)の各端部(例えば、辺)との間の最小距離を見出し、端部から穴までの距離が最大となる領域を選択する。ブロック2019において、処理ロジックは、選択された領域(例えば、長方形)の中で最大ものを最適領域(例えば、長方形)として特定する。最適領域(例えば、長方形)は類似画素のみを含む。
光ベース画像処理欠陥検出において、候補の境界ボックス(「穴」)のパッチ端部からの距離がこれを超えて選択されない最大限の特定の限界であることを保証することにより、穴の類似性に関する根拠を最大化することができる。光ベース画像処理欠陥検出において、一般に、長方形の正規性は、長方形の最も近い端部からの穴の最小距離を含む。最小値は、誤認警報を生じることがないことを保証するように、一般的には2−3画素に決めることができる。
図21は、候補欠陥位置に欠陥があるか否かを判定するためにパッチ・ツー・パッチ欠陥検出を実行するための方法2100の実施形態の流れ図である。方法2100は、ハードウェア(電気回路、専用論理回路、プログラム可能な論理回路、マイクロコード等)、ソフトウェア(命令が処理デバイス上で実行される)、又はそれらの組み合わせを備えることができる処理ロジックにより実行することができる。1つの実施形態では、方法2100は、図1のパッチ・ツー・パッチ欠陥検出モジュール107によって実行される。
非類似領域はマスク処理され、パッチは既に登録されていることを理解されたい。ブロック2105において、処理ロジックは、類似パッチと候補パッチとの間の最適フィルタを見出す。最適フィルタを見出す1つの実施形態は、図11と併せて詳細に前述されている。ブロック2107において、処理ロジックは最適フィルタを類似パッチに適用する。ブロック2109において、処理ロジックは、フィルタマージンのマスキングを含み、フィルタ処理された類似パッチから候補パッチを減算する。ブロック2111において、処理ロジックはノイズの標準偏差(STD)を推定する。1つの実施形態では、処理ロジックは、直接、境界ボックス外画素のSTDを計算することにより、ノイズSTDを推定する。別の実施形態では、ノイズSTDは、ノイズ推定のために設定段階でノイズの挙動をオフライン学習することにより生成される、予め学習されたLUT(ルックアップテーブル)によってもたらすことができる。ブロック2113において、処理ロジックは、境界ボックス内画素の信号対ノイズ比(SNR)の値を計算する。例えば、処理ロジックは、候補欠陥位置が欠陥を有するか否かを判定するために、SNR=Diff(GL)/noiseSTDを使用することができ、ここでGLはグレーレベルである。候補SNRを調べる代わりに、処理ロジックは、候補欠陥位置が欠陥であるか否かを判定するために、限定されるものではないが、正則のGL(グレーレベル)差分、エネルギー、サイズ、形状の中の一部又は全てといった別の属性を使用する。
図8、17、及び18の方法は単に例示的なものであることを理解されたい。候補がフレームの別のパッチに類似する場合、例えば、差分信号が極端に小さく2つのパッチが実質的に同一である場合、本方法は、この場所を欠陥が無いと決定する。この段階では、欠陥では無いことは明らかなので、実際に非常に低い信号を有する候補のみが無効になる。疑念のある他の全ての候補に関して、本方法は他の全ての類似パッチに続き、比較的ノイズの無い平均された信号に最終決定の基礎を置く。本実施形態は、処理能力を考慮することが重要である用途に適しているが、その理由は、他パッチに非常に類似していると分かると候補を無効にすることで、本方法は、他の候補をスキップして、場合によっては、この無効とされた候補のための多数の操作を節約できるからである。
処理能力がそれほど重要でない用途において、全ての候補を考慮して全ての類似パッチを平均化することができる。候補を無効にせずに全ての候補が平均化段階に至るように、前述の中間的な非常に低い閾値を0に設定することにより、例示の方法は本実施形態に縮退することができる。
もしくは、候補欠陥が候補に類似しているとしても、誤認警報であると即座に宣言されない。その代わりに、この類似情報は他の候補の情報と一緒に平均化される。もしくは、候補欠陥が(1つ又はそれ以上の)候補と異なっている場合、欠陥であると宣言され、そうでない場合、非欠陥情報は他の候補の情報と一緒に平均化される。
図22は、マシンに本明細書で説明した方法論の1つ又はそれ以上を実行させるための命令セットを実行することができるコンピュータシステム2200の例示的な形態のマシンを示す。代替的な実施形態では、マシンは、他のマシンとLAN、イントラネット、エクストラネット、又はインターネットで接続することができる(例えば、ネットワーク接続)。マシンは、クライアントサーバ環境におけるサーバー又はクライアントマシンとして作動すること、又はピアツーピア(つまり、分散型)のネットワーク環境でピアマシンとして作動することができる。マシンは、物品検査システムに収容されるか又は統合することができ、又はこのようなシステムに直接又は中間システム経由で接続することができる。マシンは、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、携帯型情報端末(PDA)、セルラーフォン、ウェブ機器、サーバー、ネットワークルータ、スイッチ回路又はブリッジ回路、又は、マシンが行う動作を特定する命令セット(逐次的又はそうでないもの)を実行する能力をもつ任意のマシンとすることができる。更に、単一のマシンだけを示すが、用語「マシン」は、本明細書で説明した方法論の1つ又はそれ以上を実行するための一組(又は多数の組)の命令を、個別で又は一緒に実行するマシンの何らかの集合を含むと見なすべきである。
例示的なコンピュータシステム2200は、処理装置(プロセッサ)2202、主記憶装置2204(例えば、読取り専用記憶装置(ROM)、フラッシュメモリ、同期式DRAM(SDRAM)又はダブルデータレートSDRAM(DDR SDRAM)又はラムバスDRAM(RDRAM)等のダイナミックランダムアクセスメモリ(DRAM))、スタティックメモリ2206(例えば、フラッシュメモリ、スタティックランダムアクセスメモリ(SRAM)等)、又はデータ記憶装置2218を含み、これらはバス2230経由で相互に通信を行う。
プロセッサ2202は、マイクロプロセッサ、中央処理装置等の、1つ又はそれ以上の汎用処理装置を表している。特に、プロセッサ2202は、複合命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セットコンピューティング(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、又は他の命令セット又は命令セットの組み合わせを実行するプロセッサとすることができる。また、プロセッサ2202は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタルシグナルプロセッサ(DSP)、ネットワークプロセッサ等の1つ又はそれ以上の専用処理装置とすることができる。プロセッサ2202は、本明細書で説明する動作又はステップを遂行するための命令2222を実行するように構成される。
コンピュータシステム2200は、ネットワークインターフェース装置2208を含むことができる。また、コンピュータシステム2200は、ビデオ表示ユニット2210(例えば、液晶ディスプレイ(LCD)又はブラウン管(CRT))、英数字入力装置2212(例えば、キーボード)、カーソル制御装置2214(例えば、マウス)、及び信号生成装置2216(例えば、スピーカ)を含むことができる。
データ記憶装置2218は、コンピュータ可読記憶媒体2228を含むことができ、本明細書に記載の1つ又はそれ以上の方法論又は機能を具体化する1つ又はそれ以上の命令セット2222(例えば、ソフトウェア)が保存される。また、命令2222は、コンピュータシステム2400による実行時に、完全に又は少なくとも部分的に主記憶装置2204内及び/又はプロセッサ2202内に存在することができ、主記憶装置2204及びプロセッサ2202はコンピュータ可読記憶媒体を構成する。更に、命令2222は、ネットワークインターフェース装置2208を介して、ネットワーク2220上で送受信することができる。
1つの実施形態では、命令2222はパッチ・ツー・パッチ欠陥検出モジュール(例えば、図2のパッチ・ツー・パッチ欠陥検出モジュール)に関する命令及び/又はパッチ・ツー・パッチ欠陥検出モジュールを呼び出す方法を含むソフトウェアライブラリを含む。例示的な実施形態では、コンピュータ可読記憶媒体2228(マシン可読記憶媒体)は、単一の媒体として示されているが、用語「コンピュータ可読記憶媒体」は、1つ又はそれ以上の命令セットを保存する、単一の媒体又は複数の媒体(例えば、集中型データベース又は分散型データベース、及び/又は関連のキャッシュ及びサーバー)を含むと見なすべきである。また、用語「コンピュータ可読記憶媒体」は、マシンによる実行のために命令セットを保存、符号化、又は伝達する能力を有する任意の媒体、及びマシンに対して本発明の1つ又はそれ以上の方法論を実行させることができ任意の媒体を含むと見なすできである。従って、用語「コンピュータ可読記憶媒体」は、半導体メモリ、光学式媒体、及び磁気式媒体を含むと見なすことができるが、これらに限定されるものではない。
前述の説明においで、数多くの詳細内容が説明される。しかしながら、本発明の開示により恩恵を受ける当業者であれば、これらの詳細内容が無くても本発明を実施できることを理解できるはずである。いくつかの実施例では、公知の構造及び装置は、詳細にというよりはむしろ、本発明を不明瞭にしないようにブロック図で示されている。
詳細な説明の一部は、コンピュータメモリ内のデータビット上の動作アルゴリズム及び記号表現を用いて示されている。これらのアルゴリズム的な説明及び表現は、データ処理の当業者へ作業結果の内容を最も効果的に伝達するために当業者が利用する手段である。本明細書では及び一般的には、アルゴリズムは、所望の結果に通じる自己矛盾の無い一連のステップであると考えられる。このステップは、物理量の物理的操作を必要とするステップである。必須ではないが、通常、これらの量は、保存、転送、結合、比較、及び別な方法で操作することができる、電気的又は磁気的信号の形態である。これらの信号に、ビット、値、シンボル、特性、期間、数等としての言及することは、共通使用のために時には好都合であることが分かっている。
しかしながら、これらの用語及び類似の用語の全ては、適切な物理量に関連しており、これらの物理量に付与される単なる便宜上のラベルであることに留意されたい。以下の説明から明らかなように、特別に説明しない限り、明細書全体にわたって、用語「受け取る」、「規定する」、「特定する」、「選択する」、「関連する」、「比較する」、「除く」、「集める」、「平均化する」、「適合させる」、「提供する」、「適用する」、「位置合わせする」、「減じる」、などを利用する説明は、コンピュータシステムのレジスタ及びメモリ内で物理的(例えば、電子的)な量で表現されるデータを操作して、コンピュータシステムのメモリ又はレジスタ、又は他のそのような情報記憶、転送、又は表示装置内の物理量として同様に表現される他のデータへ変換する、コンピュータシステム又は同様の電子計算装置の動作及びプロセスに言及することを理解されたい。
説明を簡単にするために、本方法は一連の動作として本明細書では示されて説明される。しかしながら、本発明の開示による動作は、種々の順番で及び/又は同時に、並びに本明細書に示され説明されていない動作と共に生じることができる。更に、全ての例示した動作が、開示された主題に従って本方法を実行するために必要とされる訳ではない。更に、当業者であれば、本方法は、状態図又は事象による一連の相関状態として代替的に表現できることを理解及び認識できるはずである。更に、本明細書に開示される方法は、これらの方法のコンピュータへの伝送及び転送を容易にするために、製品に保存可能であることを理解できるはずである。用語「製品」は、本明細書で使用する場合、任意のコンピュータ可読デバイス又は記憶媒体でアクセス可能なコンピュータプログラムを含むことが意図されている。
また、本発明の特定の実施形態は、本明細書に記載される操作を実行するための装置に関連する。この装置は、意図された目的を実現するように構成すること、又はコンピュータに保存されたコンピュータプログラムによって選択的に起動又は再構成される汎用コンピュータを備えるえることができる。このコンピュータプログラムは、コンピュータ可読記憶媒体に保存することができ、記憶媒体は、限定されるものではないが、フロッピーディスク、光学ディスク、CD−ROM、及び光磁気ディスクを含む任意のタイプのディスク、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気又は光学カード、又は電子的命令を記憶するのに適した任意のタイプの媒体とすることができる。
本明細書全体を通して「1つの実施形態」又は「ある実施形態」は、実施形態に関連して記載される特定の特徴、構造、又は特性が少なくとも1つの実施形態に含まれることを意味する。従って、本明細書全体を通して種々の場所での「1つの実施形態において」又は「ある実施形態において」という表現の出現は、必ずしも全てが同じ実施形態に言及している訳ではない。更に、用語「又は」は、排他的な「又は」というよりも包括的な「又は」を意味することが意図されている。更に、本明細書では、用語「例」又は「例示的」は、例、例証、又は実例として用いられることを意味するように使用されている。本明細書で「例示的」として記載される任意の態様又は設計は、必ずしも他の態様又は設計よりも好ましい又は有利であるとは見なされない。むしろ、「例」又は「例示的」という用語の使用は、具体的な様式で概念を表現することが意図されている。
前記の説明は例示的であることは意図されており限定的ではないことを理解されたい。当業者であれば、前記の説明を読んで理解することにより、他の多くの実施形態を理解できるはずである。従って、本発明の範囲は、特許請求の範囲及びその均等物の範囲を参照して決定される。