(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-05
(54)【発明の名称】ハイブリッドイメージングシステムを使用する自動光学検査
(51)【国際特許分類】
G01N 21/88 20060101AFI20240227BHJP
G06T 7/00 20170101ALI20240227BHJP
G01N 21/956 20060101ALN20240227BHJP
【FI】
G01N21/88 J
G06T7/00 610
G06T7/00 350B
G01N21/956 B
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023546061
(86)(22)【出願日】2022-02-21
(85)【翻訳文提出日】2023-08-24
(86)【国際出願番号】 IL2022050201
(87)【国際公開番号】W WO2022180625
(87)【国際公開日】2022-09-01
(32)【優先日】2021-02-23
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】501005438
【氏名又は名称】オルボテック リミテッド
(74)【代理人】
【識別番号】110001210
【氏名又は名称】弁理士法人YKI国際特許事務所
(72)【発明者】
【氏名】ラベ ゴネン
【テーマコード(参考)】
2G051
5L096
【Fターム(参考)】
2G051AA65
2G051AB02
2G051AC02
2G051CA03
2G051CA04
2G051EB05
5L096CA02
5L096DA02
5L096HA11
5L096KA04
(57)【要約】
ハイブリッドイメージングシステムを使用する、自動光学検査(AOI)のための、方法、製品、およびシステム。方法は、製品の低品質画像に基づいて製品の改善品質画像を予測するように構成された予測モデルを得ることを含み、予測モデルは、低品質スキャニングシステムと高品質スキャニングシステムとを含むデュアルスキャニングシステムによって得られる画像に基づいて生成される。低品質スキャニングシステムを使用してキャプチャされた製品の低品質画像に基づいて、予測モデルを使用して、製品の改善品質画像が予測され、欠陥検出に利用される。
【特許請求の範囲】
【請求項1】
予測モデルを得ることであって、前記予測モデルが、製品の低品質画像に基づいて前記製品の改善品質画像を予測するように構成され、前記予測モデルが、低品質スキャニングシステムと高品質スキャニングシステムとを含むデュアルスキャニングシステムによって得られる画像の対に基づいて生成される、予測モデルを得ることと、
製品の低品質画像をキャプチャするために、前記低品質スキャニングシステムを利用することと、
前記製品の前記低品質画像に基づいて、前記予測モデルを使用して、前記製品の改善品質画像を予測することであって、前記改善品質画像が前記低品質画像の品質よりも高い品質を有する、改善品質画像を予測することと、
前記改善品質画像に対して欠陥検出を実施することであって、そのことによって、前記高品質スキャニングシステムを利用することなく欠陥を検出する、欠陥検出を実施することと、
を含むことを特徴とする方法。
【請求項2】
請求項1に記載の方法であって、前記低品質スキャニングシステムが、前記高品質スキャニングシステムよりも高速であり、そのことによって、前記高品質スキャニングシステムを使用して得られる高品質画像に基づく欠陥検出と比較して、より短時間で欠陥を検出することを特徴とする方法。
【請求項3】
請求項1に記載の方法であって、前記利用することと、前記予測することと、前記欠陥検出を前記実施することとが、生徒モジュールによって実施され、前記生徒モジュールが、前記低品質スキャニングシステムを備え、前記高品質スキャニングシステムを欠いていることを特徴とする方法。
【請求項4】
請求項1に記載の方法であって、前記利用することと、前記予測することと、前記欠陥検出を前記実施することとが、教師モジュールによって実施され、前記教師モジュールが、前記低品質スキャニングシステムと前記高品質スキャニングシステムとを含む前記デュアルスキャニングシステムを備えることを特徴とする方法。
【請求項5】
請求項4に記載の方法であって、前記教師モジュールが、前記欠陥検出の結果評価を実施することをさらに含み、結果評価を前記実施することが
前記製品の高品質画像をキャプチャするために、前記高品質スキャニングシステムを利用することと、
前記高品質画像に対して欠陥検出を実施することと、
前記高品質画像に対して欠陥検出を前記実施することと、前記改善品質画像に対して欠陥検出を前記実施することとの結果同士を比較することと、
を含むことを特徴とする方法。
【請求項6】
請求項5に記載の方法であって、結果同士を前記比較することが、前記高品質画像を使用して検出された欠陥と、前記改善品質画像を使用して検出された欠陥との実質的な差異を識別することを含むことを特徴とする方法。
【請求項7】
請求項6に記載の方法であって、実質的な差異を前記識別することが、欠陥の2つの異なる非空集合を検出したことに応答して、実質的な差異がないと判断することを含むことを特徴とする方法。
【請求項8】
請求項5に記載の方法であって、前記結果同士の差異を判断したことに応答して、前記低品質画像および前記高品質画像を、前記予測モデルを再訓練するために使用される訓練データセットに追加することをさらに含むことを特徴とする方法。
【請求項9】
請求項1に記載の方法であって、前記予測モデルを前記得ることが、
前記デュアルスキャニングシステムを使用して得られた、製品の低品質画像と高品質画像との対の集合を得ることであって、前記対の集合を前記得ることが顧客サイトにおいて実施される、対の集合を得ることと、
製品の低品質画像と高品質画像との対の前記集合を使用して前記予測モデルを訓練することであって、そのことによって、前記予測モデルを生成する、前記予測モデルを訓練することと、
を含み、前記製品の前記低品質画像をキャプチャするために、前記低品質スキャニングシステムを前記利用することが、前記顧客サイトにおいて実施されることを特徴とする方法。
【請求項10】
請求項1に記載の方法であって、前記改善品質画像が、前記高品質スキャニングシステムによって得られた画像の品質よりも低い品質を有することを特徴とする方法。
【請求項11】
1つまたは複数の教師モジュールであって、各教師モジュールが、スキャンされる製品の低品質画像および高品質画像をそれぞれ得るように構成された、低品質スキャニングシステムと高品質スキャニングシステムとを含むデュアルスキャニングシステムを含む、1つまたは複数の教師モジュールと、
複数の生徒モジュールであって、各生徒モジュールが、前記低品質スキャニングシステムを含む、複数の生徒モジュールと、
予測モデルを生成するように構成されたモデル生成器であって、前記予測モデルが、製品の低品質画像に基づいて、前記製品の改善品質画像を予測するように構成され、前記改善品質画像が、前記低品質画像の品質よりも高い品質を有する、モデル生成器と、
製品の画像の自動化された光学検査を使用して欠陥を検出するように構成された欠陥検出器であって、前記欠陥検出器が、前記予測モデルによって予測される改善品質画像における欠陥を検出するように構成される、欠陥検出器と
を備えることを特徴とするシステム。
【請求項12】
請求項11に記載のシステムであって、前記1つまたは複数の教師モジュールの数が、前記複数の生徒モジュールの数よりも少ないことを特徴とするシステム。
【請求項13】
請求項11に記載のシステムであって、前記1つまたは複数の教師モジュールおよび前記複数の生徒モジュールが、顧客サイトにデプロイされることを特徴とするシステム。
【請求項14】
請求項11に記載のシステムであって、前記低品質スキャニングシステムが、前記高品質スキャニングシステムよりも高速であることを特徴とするシステム。
【請求項15】
請求項11に記載のシステムであって、前記1つまたは複数の教師モジュールが、前記モデル生成器によって使用される訓練データセットを収集するために利用されるように構成され、前記複数の生徒モジュールが、前記低品質スキャニングシステムによって得られる画像を使用して前記自動化された光学検査を実施するために利用されるように構成されることを特徴とするシステム。
【請求項16】
請求項15に記載のシステムであって、前記1つまたは複数の教師モジュールが、前記高品質スキャニングシステムを利用することなく、前記低品質スキャニングシステムによって得られる画像を使用して前記自動化された光学検査を実施するために利用されるように構成されることを特徴とするシステム。
【請求項17】
プログラム命令を保持する非一時的なコンピュータ可読記憶媒体を含むコンピュータプログラム製品であって、前記プログラム命令は、プロセッサによって読み出されると、前記プロセッサに
予測モデルを得ることであって、前記予測モデルが、製品の低品質画像に基づいて前記製品の改善品質画像を予測するように構成され、前記予測モデルが、低品質スキャニングシステムと高品質スキャニングシステムとを含むデュアルスキャニングシステムによって得られる画像の対に基づいて生成される、予測モデルを得ることと、
製品の低品質画像をキャプチャするために、前記低品質スキャニングシステムを利用することと、
前記製品の前記低品質画像に基づいて、前記予測モデルを使用して、前記製品の改善品質画像を予測することであって、前記改善品質画像が前記低品質画像の品質よりも高い品質を有する、改善品質画像を予測することと、
前記改善品質画像に対して欠陥検出を実施することであって、そのことによって、前記高品質スキャニングシステムを利用することなく欠陥を検出する、欠陥検出を実施することと
を実施させることを特徴とするコンピュータプログラム製品。
【請求項18】
請求項17に記載のコンピュータプログラム製品であって、前記低品質スキャニングシステムが、前記高品質スキャニングシステムよりも高速であり、そのことによって、前記高品質スキャニングシステムを使用して得られる高品質画像に基づく欠陥検出と比較して、より短時間で欠陥を検出することを特徴とするコンピュータプログラム製品。
【請求項19】
請求項17に記載のコンピュータプログラム製品であって、前記利用することと、前記予測することと、前記欠陥検出を前記実施することとが、生徒モジュールによって実施され、前記生徒モジュールが、前記低品質スキャニングシステムを備え、前記高品質スキャニングシステムを欠いていることを特徴とするコンピュータプログラム製品。
【請求項20】
請求項17に記載のコンピュータプログラム製品であって、前記利用することと、前記予測することと、前記欠陥検出を前記実施することとが、教師モジュールによって実施され、前記教師モジュールが、前記低品質スキャニングシステムと前記高品質スキャニングシステムとを含む前記デュアルスキャニングシステムを備えることを特徴とするコンピュータプログラム製品。
【請求項21】
請求項17に記載のコンピュータプログラム製品であって、前記予測モデルを前記得ることが、
前記デュアルスキャニングシステムを使用して得られた、製品の低品質画像と高品質画像との対の集合を得ることであって、前記対の集合を前記得ることが顧客サイトにおいて実施される、対の集合を得ることと、
製品の低品質画像と高品質画像との対の前記集合を使用して前記予測モデルを訓練することであって、そのことによって、前記予測モデルを生成する、前記予測モデルを訓練することと
を含み、前記製品の前記低品質画像をキャプチャするために、前記低品質スキャニングシステムを前記利用することが、前記顧客サイトにおいて実施されることを特徴とするコンピュータプログラム製品。
【請求項22】
請求項17に記載のコンピュータプログラム製品であって、前記改善品質画像が、前記高品質スキャニングシステムによって得られた画像の品質よりも低い品質を有することを特徴とするコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般には自動光学検査に関し、より詳細にはハイブリッドイメージングシステムを使用して実施される自動光学検査に関する。
【背景技術】
【0002】
自動化された光学検査(AOI)は、製作プロセスの生産物の自動化された視覚検査である。自動化された光学検査は、例えばフラットパネルディスプレイ(FPD)製造、プリント基板(PCB)製造などにおいて実施される場合がある。
【0003】
自動化された光学検査は、試験中のデバイスを、致命的な障害(例えば、コンポーネントの欠落)および品質欠陥(例えば、フィレットのサイズまたは形状、コンポーネントの傾き)について、自律的にスキャンするカメラを利用することがある。自動化された光学検査は、非接触の試験方法であり、そのため製品自身を傷つけるリスクを低減させ得る。自動化された光学検査は、ベアボード検査、はんだペースト検査(SPI)、リフロー前後などを含め、製造プロセスを通じて多くの行程で実施することができる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】米国特許出願公開第2020/211178号
【特許文献2】米国特許出願公開第2020/018944号
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示の主題によって扱われる技術的課題は、コストと品質を低下させたハードウェアを使用しながらも高品質結果を伴うAOIシステムを提供することである。
【課題を解決するための手段】
【0006】
本開示の主題の例示的な一実施形態は、予測モデルを得ることであって、予測モデルが、製品の低品質画像に基づいて製品の改善品質画像を予測するように構成され、予測モデルが、低品質スキャニングシステムと高品質スキャニングシステムとを含むデュアルスキャニングシステムによって得られる画像の対に基づいて生成される、予測モデルを得ることと、製品の低品質画像をキャプチャするために、低品質スキャニングシステムを利用することと、製品の低品質画像に基づいて、予測モデルを使用して、製品の改善品質画像を予測することであって、改善品質画像が低品質画像の品質よりも高い品質を有する、改善品質画像を予測することと、改善品質画像に対して欠陥検出を実施することであって、そのことによって、高品質スキャニングシステムを利用することなく欠陥を検出する、欠陥検出を実施することを含む方法である。
【0007】
任意選択で、低品質スキャニングシステムは、高品質スキャニングシステムよりも高速であり、そのことによって、高品質スキャニングシステムを使用して得られる高品質画像に基づく欠陥検出と比較して、より短時間で欠陥を検出する。
【0008】
任意選択で、前記利用することと、前記予測することと、前記欠陥検出を実施することとは、生徒モジュールによって実施され、生徒モジュールは、低品質スキャニングシステムを備え、高品質スキャニングシステムを欠いている。
【0009】
任意選択で、前記利用することと、前記予測することと、前記欠陥検出を実施することとは、教師モジュールによって実施され、教師モジュールは、低品質スキャニングシステムと高品質スキャニングシステムとを含むデュアルスキャニングシステムを備える。
【0010】
任意選択で、方法は、教師モジュールが、欠陥検出の結果評価を実施することをさらに含み、結果評価を前記実施することが、製品の高品質画像をキャプチャするために、高品質スキャニングシステムを利用することと、高品質画像に対して欠陥検出を実施することと、高品質画像に対して欠陥検出を前記実施することと、改善品質画像に対して欠陥検出を前記実施することとの結果同士を比較することとを含む。
【0011】
任意選択で、結果同士を前記比較することは、高品質画像を使用して検出された欠陥と、改善品質画像を使用して検出された欠陥との実質的な差異を識別することを含む。
【0012】
任意選択で、実質的な差異を前記識別することは、欠陥の2つの異なる非空集合を検出したことに応答して、実質的な差異がないと判断することを含む。
【0013】
任意選択で、方法は、結果同士の差異を判断したことに応答して、低品質画像および高品質画像を、予測モデルを再訓練するために使用される訓練データセットに追加することをさらに含む。
【0014】
任意選択で、予測モデルを前記得ることは、デュアルスキャニングシステムを使用して得られた、製品の低品質画像と高品質画像との対の集合を得ることであって、対の集合を前記得ることが顧客サイトにおいて実施される、対の集合を得ることと、製品の低品質画像と高品質画像との対の集合を使用して予測モデルを訓練することであって、そのことによって、予測モデルを生成する、予測モデルを訓練することとを含み、製品の低品質画像をキャプチャするために、低品質スキャニングシステムを前記利用することは、顧客サイトにおいて実施される。
【0015】
任意選択で、改善品質画像は、高品質スキャニングシステムによって得られた画像の品質よりも低い品質を有する。
【0016】
本開示の主題の別の例示的な実施形態は、プログラム命令を保持する非一時的なコンピュータ可読記憶媒体を含むコンピュータプログラム製品であって、このプログラム命令は、プロセッサによって読み出されると、プロセッサに、予測モデルを得ることであって、予測モデルが、製品の低品質画像に基づいて製品の改善品質画像を予測するように構成され、予測モデルが、低品質スキャニングシステムと高品質スキャニングシステムとを含むデュアルスキャニングシステムによって得られる画像の対に基づいて生成される、予測モデルを得ることと、製品の低品質画像をキャプチャするために、低品質スキャニングシステムを利用することと、製品の低品質画像に基づいて、予測モデルを使用して、製品の改善品質画像を予測することであって、改善品質画像が低品質画像の品質よりも高い品質を有する、改善品質画像を予測することと、改善品質画像に対して欠陥検出を実施することであって、そのことによって、高品質スキャニングシステムを利用することなく欠陥を検出する、欠陥検出を実施することとを実施させる、コンピュータプログラム製品である。
【0017】
本開示の主題のさらに別の例示的な実施形態は、1つまたは複数の教師モジュールであって、各教師モジュールが、スキャンされる製品の低品質画像および高品質画像をそれぞれ得るように構成された、低品質スキャニングシステムと高品質スキャニングシステムとを含むデュアルスキャニングシステムを含む、1つまたは複数の教師モジュールと、複数の生徒モジュールであって、各生徒モジュールが、低品質スキャニングシステムを含む、複数の生徒モジュールと、予測モデルを生成するように構成されたモデル生成器であって、予測モデルが、製品の低品質画像に基づいて、製品の改善品質画像を予測するように構成され、改善品質画像が、低品質画像の品質よりも高い品質を有する、モデル生成器と、製品の画像の自動化された光学検査を使用して欠陥を検出するように構成された欠陥検出器であって、前記欠陥検出器は、予測モデルによって予測される改善品質画像における欠陥を検出するように構成される、欠陥検出器とを備えるシステムである。
【0018】
任意選択で、前記1つまたは複数の教師モジュールの数は、複数の生徒モジュールの数よりも少ない。
【0019】
任意選択で、前記1つまたは複数の教師モジュールおよび前記複数の生徒モジュールは、顧客サイトにデプロイされる。
【0020】
任意選択で、低品質スキャニングシステムは、高品質スキャニングシステムよりも高速である。
【0021】
任意選択で、前記1つまたは複数の教師モジュールは、前記モデル生成器によって使用される訓練データセットを収集するために利用されるように構成され、前記複数の生徒モジュールは、低品質スキャニングシステムによって得られる画像を使用して自動化された光学検査を実施するために利用されるように構成される。
【0022】
任意選択で、前記1つまたは複数の教師モジュールは、高品質スキャニングシステムを利用することなく、低品質スキャニングシステムによって得られる画像を使用して自動化された光学検査を実施するために利用されるように構成される。
【0023】
本開示の主題は、図面と併せて以下の詳細な説明からより十分に理解および認識されるであろう。図面では、対応するまたは同一の数字または記号は、対応するまたは同一の構成要素を示す。そうではないと示されない限り、図面は、本開示の例示的な実施形態または態様を与えるものであり、本開示の範囲を限定するものではない。
【図面の簡単な説明】
【0024】
【
図1】本開示の主題の、いくつかの例示的な実施形態による、方法のフローチャート図である。
【
図2A】本開示の主題の、いくつかの例示的な実施形態による、方法のフローチャート図である。
【
図2B】本開示の主題の、いくつかの例示的な実施形態による、方法のフローチャート図である。
【
図3A】本開示の主題の、いくつかの例示的な実施形態による、装置のブロック図である。
【
図3B】本開示の主題の、いくつかの例示的な実施形態による、装置のブロック図である。
【
図4】本開示の主題の、いくつかの例示的な実施形態による、コンピュータ化された環境の図である。
【発明を実施するための形態】
【0025】
本開示の主題によって扱われる技術的課題は、コストと品質を低下させたハードウェアを使用しながらも高品質結果を伴うAOIシステムを提供することである。追加的に、または代替的に、検査プロセスを高速化して、所定の時間ウィンドウ内で検査することができる製品の全体的な数を増加させることができるAOIシステムを提供することが、望ましい場合がある。
【0026】
本開示の主題によって提供される技術的解決策の1つは、ハイブリッドAOIシステムを含むことができる。ハイブリッドAOIシステムは、教師モデルおよび生徒モデルを含むことができる。教師モジュールは、高品質スキャニングシステムおよび低品質スキャニングシステムを含むことができるが、生徒モジュールは低品質スキャニングシステムを含むことができ、高品質スキャニングシステムを含んではいけない。
【0027】
いくつかの例示的な実施形態では、高解像スキャニングシステムおよび低解像スキャニングシステムは、それぞれハイエンドなイメージングハードウェアおよびローエンドなイメージングハードウェアのカメラであり、それぞれ高解像画像および低解像画像を取得することなどができる。いくつかの例示的な実施形態では、高品質スキャニングシステムは、例えば、ビデオセンサであってもよく、一方で低品質スキャニングシステムは光学スキャナであってもよい。いくつかの例示的な実施形態では、高品質スキャニングシステムは、小さいピクセルサイズのピクセル値を取得することができ、一方で低品質スキャニングシステムは、より大きいサイズのピクセルについて値を取得することができる。一例として、ピクセルサイズの差異は、大きさであってもよく、例えば、より大きいピクセルサイズは、小さいピクセルサイズより約5倍大きい、約10倍大きい、約20倍大きいなどであってもよい。低品質および高品質という用語は互いに相対的であり、低品質スキャニングシステムは、高品質スキャニングシステムよりも品質が低いシステムであり得るが、300Dots Per Inch(DPI)、2540DPI、4000DPI、8000DPIなど、絶対的な観点から高品質であると考えられる画像を作り出すことができることに留意されたい。別の例として、低品質スキャニングシステムは、720p、1080p、4K、8K、Ultra HDなどの高精細(HD)映像を取得するように構成されたスキャニング機器を利用することができる。
【0028】
いくつかの例示的な実施形態では、高品質スキャニングシステムは、低品質スキャニングシステムのスキャン速度よりも遅いスキャン速度を有する場合がある。いくつかの例示的な実施形態では、スキャン速度には、物理的なスキャン時間、スキャンされる製品のデジタル画像を取得する時間などが含まれ得る。低解像画像は、有する情報量が減少し得るため、それに応じて高解像画像よりも高速でメモリ内に得ることができる。追加的に、または代替的に、画像解像度が低減すれば、デジタルストレージ内で表現される情報が低減されるため、必要となるデジタルストレージの量も低減することができる。
【0029】
いくつかの例示的な実施形態では、教師モジュールは、工場内、製作プラント内などにおいて、製作プロセスにデプロイすることができる。教師モジュールは、高品質スキャン画像および低品質スキャン画像の両方の、顧客サイトに関連付けられる画像を取得することができる。機械学習技法を使用して、低品質画像と高品質画像との間で、画像対画像マッピングを実施することができる。例えば、また一般性を失わずに、人工ニューラルネットワーク(ANN)を使用する深層学習は、低解像画像に基づいて高解像画像の予測を可能にするために利用することができ、Pix2Pix、敵対的生成ネットワーク(GAN)、条件付きGAN、CycleGAN(商標)などがある。
【0030】
いくつかの例示的な実施形態では、教師モジュールは、同一製品の低解像画像と高解像画像との対の集合の、比較的大きなデータセットを得ることができる。比較的大きなデータセットは、例えば、10,000超の対の集合、50,000超の対の集合、100,000超の対の集合、500,000超の対の集合、1,000,000超の対の集合などを含むことができる。画像の対は、対象が位置揃えされるように、イメージングされる製品(例えば、PCB、FPBなど)の同一位置において撮ることができる。
【0031】
訓練行程を終えた後、予測モデルが生成され、使用することができる。予測モデルは、低品質スキャニングモジュールによって与えられる品質よりも高く、高品質スキャニングシステムによって与えられる品質よりも低い、中間的な品質を有する画像を予測するように訓練することができることに留意されたい。例えば、低品質スキャニングシステムが5ミクロンのピクセルサイズを有することができ、高品質スキャニングシステムが0.5ミクロンのピクセルサイズを有することができると考えると、予測モデルは、ピクセルサイズが1ミクロン~3ミクロンの間、1.25ミクロン~2.5ミクロンの間などの画像を予測するように構成することができる。
【0032】
いくつかの例示的な実施形態では、訓練データセットは、実際の例を使用して顧客サイトにおいてなど、製作中に得られる場合がある。各顧客サイトは、例えば同一のハードウェアによって類似の特性を有して作られるなど、類似の製品を有する傾向があり得るため、比較的高い予測の精度を達成するために、サイト固有の訓練データセットが、予測モデルを訓練するための基準を用意する場合がある。
【0033】
いくつかの例示的な実施形態では、低解像画像のみを取得するために、製作において生徒モジュールが採用される場合がある。このような画像は、中間的な品質を有するなどの改善品質画像を予測するために、予測モジュールに供給される。改善品質画像は、欠陥を識別するために、光学スキャン欠陥検出アルゴリズムに与えることができる。予測された改善品質画像に基づく欠陥検出は、人工知能(AI)ベースの検出プロセスと称される場合がある。
【0034】
いくつかの例示的な実施形態では、教師モジュールは、AIベースの検出プロセスを実行するために、生徒モジュールと類似のやり方で製作において採用することができるが、低品質スキャニングシステムのみを利用し、高品質スキャニングシステムを使用しない。
【0035】
追加的に、または代替的に、教師モジュールは、評価目的で利用することができる。このようなモデルの予測品質は、イメージング技法の違い、センサの劣化、照明条件の違い、顧客プロセスの違い、異なる材料の使用、データ生成プロセスの違い、生成される製品の違いなど、いくつかの要素によって影響を受け得ることに留意されたい。一例として、FPDまたはPCB製造では、画像ピクセルは、製造されるFPDまたはPCBの色の違いによって、製作において異なる材料を使用することによって、などで変わる。このような違いは、分類対象の画像の反射率、透過率などに影響を及ぼし得る。別の例として、FPDまたはPCB製造では、製品を顧客ニーズに適合するため、新しい設計特徴に適合するためなど、生成される製品に対して小さいとは言え絶えず素早い変更が行われ得る。結果として、画像予測は、経時的に改善および更新を必要とする場合がある。改善品質画像に頼るべきでないときを識別するために、評価を実施することができる。評価は、低品質スキャニングシステムおよび高品質スキャニングシステムの両方を使用してサンプルをスキャンすることと、低品質スキャニングシステムに基づいた改善品質画像を使用して識別される欠陥が、高品質スキャニングシステムの製品に基づいて識別された欠陥と同一かどうかを判断することとを含むことができる。評価プロセスが、欠陥が未検出とされると識別する事例では、予測モデルが改善され、十分に高い精度のしきい値の達成に使用することができるまで、予測モデルの使用は一時停止されてもよい(例えば、100万サンプルの場合、100万サンプル当たり1エラー未満、各欠陥項目が少なくとも1つの欠陥(本当の欠陥とは違っていても)を伴って検出されるなど)。一例として、顧客は、本当の欠陥の最大0.05%、0.1%、0.15%などのエラーは未検出とされてもよいと定義することができる。このようなユーザ定義のしきい値の観点から評価が性能低下すると、予測モデルは、再使用される前に再訓練することができる。いくつかの例示的な実施形態では、評価が問題を識別する事例では、評価中に得たデータ、および具体的には異なる欠陥検出に関連付けられたデータは、予測モデルの再訓練に利用することができる。
【0036】
評価の間、場合によっては、種々の欠陥検出が許容できると考えられる場合があることに留意されたい。一例として、欠陥が識別された場合、製品は破棄されることがある。このような場合、AIベースの検出が、偽の欠陥や、欠陥の偽の数などを識別したとしても、AIベースの検出は欠陥あり/欠陥なしの製品を正しく分類できれば十分な場合がある。しかしながら、再訓練目的では、分類は正しかったがAIベースの検出がすべての欠陥を正しく検出しきれなかった(真の欠陥のみを検出した)低解像画像と高解像画像との対であっても、AIベースの検出プロセスの精度を改善するための再訓練に利用することができる。いくつかの例示的な実施形態では、再訓練は、アダプティブ訓練を使用して実施することができる。
【0037】
本開示の主題を利用する技術上の効果は、AI分析を使用して低品質スキャニングシステムを有するAOIマシンのシステム機能を強化することであり得る。場合によっては、教師モジュールは、より安価でより広範に利用可能な生徒モジュールよりも、高価であまり利用可能ではない場合がある。本開示の主題を使用して、単一の教師モジュールは、その単一の教師モジュールを使用して生成される予測モデルに依拠する複数の生徒モジュールと共に利用することができる。
【0038】
本開示の主題を利用する別の技術上の効果は、AOIシステムによってスキャン速度を改善することであり得る。場合によっては、速度は、追加的な教師モジュールを導入することによってなど、デバイスの数を増やすことによって改善されることもある。追加的に、または代替的に、速度は、より低速だがより高い品質の高品質スキャニングシステムをアクティブ化することなく製品を迅速にスキャンしてAIベースの検出を利用するために、低品質スキャニングシステムを利用することによって、デュアルスキャニングシステム(高品質スキャニングシステムおよび低品質スキャニングシステム)を有する教師モジュールの速度を改善することによって改善してもよい。
【0039】
本開示の主題を利用するさらに別の技術上の効果は、外部のコンピューティングおよびデータベースから切り離され、顧客サイト条件に適合した訓練プロセスを提供することである。本開示の主題は、AOIシステムのデベロッパまたは他の外部関係者にAIベースの検出を利用する工場または製作プラントのデータを明らかにすることなく、改善品質画像の精度を高めることを可能にする。
【0040】
本開示の主題を利用するさらに別の技術上の効果は、製品が着想されてから販売可能となるまでに必要なタイムツーマーケット(TTM:Time To Market)を短縮することである。TTMは、製品がすぐに時代遅れになる業界、特にFPD、PCBなどマイクロエレクトロニクスの世界では重要な場合がある。同一予算当たり、より多数のモジュールを採用し得ることを考えると、TTMを短縮することができる。追加的に、または代替的に、TTMは、教師モジュールなど、デュアルシステムのスキャン速度を大きくすることによって短縮することができる。
【0041】
本開示の主題は、あらゆる既存の技法および以前は当技術でルーチンまたは慣例となっていた技法を上回る、1つまたは複数の技術的改善を提供することができる。追加的な技術的課題、解決策、および効果は、本開示を考慮すれば当業者には明らかであろう。
【0042】
次に
図1を参照すると、本開示の主題のいくつかの例示的な実施形態による、方法のフローチャート図が示されている。
【0043】
ステップ100では、訓練データセットが得られる。いくつかの例示的な実施形態では、訓練データセットは、(low,high)としても表記される、画像の対(同一製品の低品質画像および高品質画像)を含むことができる。いくつかの例示的な実施形態では、低品質画像は、製品をスキャンする低品質スキャニングシステムを使用して得ることができ、高品質画像は、同一製品をスキャンする高品質スキャニングシステムを使用して得ることができる。いくつかの例示的な実施形態では、2つの画像は、互いに一致するように位置揃えすることができる。画像をキャプチャするために使用されるセンサは、教師モジュールとも称される同一のデバイスに設置することができるが、異なる場所に配置され、異なる角度で位置付けられることなどがあることに留意されたい。いくつかの例示的な実施形態では、1つの画像は、もう一方の画像と位置揃えされるように事前処理されてもよい。例えば、低品質画像は、1つまたは複数の線形変換を使用して、高品質画像で描かれる位置に変換されてもよい。別の例として、高品質画像は、低品質画像における位置と一致するように変換されてもよい。適用される変換は、自動的に、または手動で決定することができることに留意されたい。変換は、教師モジュール(またはそのタイプ)ごとに一貫していてもよい。いくつかの例示的な実施形態では、変換は、所定のものであってもよく、モジュール内での場所、センサ間の距離、視野角など、センサの設置パラメータに基づいていてもよい。
【0044】
いくつかの例示的な実施形態では、(low,high)対は、顧客サイトにおいて教師モジュールによって得ることができる。追加的に、または代替的に、訓練データセットは、複数のデプロイされた教師モジュールから、同一サイトにおいて集約することができる。場合によっては、それぞれ異なるサイトは、その電子製品の異なる特性を有し得ることに留意されたい。それに応じて、サイトごとの訓練データセットは異なっており、同一サイトからの、または製品が同一特性を共有するサイトからのサンプルを含む場合がある。
【0045】
いくつかの例示的な実施形態では、訓練データセットは、顧客サイトで作製されてAOIシステムによって分析される電子製品を表現する、顧客サイトで得られたデータセットを含むことができる。追加的に、または代替的に、訓練データセットは、教師モジュールの製造者によって提供され得る、AOIシステムの一般的なユースケースを表現する、初期基本データセットから成る場合がある。
【0046】
ステップ110では、ステップ100の訓練データセットは、予測モデルを訓練するために利用され得る。いくつかの例示的な実施形態では、訓練は、教師モジュールによってオンプレミスで実施することができる。追加的に、または代替的に、訓練は、サーバ、コンピュータなどの異なるデバイスによって、オンプレミスで実施されてもよい。追加的に、または代替的に、訓練は、クラウドなどリモートの場所で、リモートサーバによってクラウドコンピューティングプラットフォームなどを使用して実施されてもよい。訓練は、決定木ベースのモデル、ANNベースのモデル、深層畳み込みニューラルネットワークなど、モデルの訓練であってもよい。いくつかの例示的な実施形態では、訓練は、限定はしないが、Pix2Pix(商標)、敵対的生成ネットワーク(GAN)、条件付きGAN、CycleGAN(商標)などの技法に基づいていてもよい。
【0047】
ステップ120では、ステップ110で生成された予測モデルは、低品質スキャニングシステムに基づいてAOIで使用するためにモジュールに転送される。いくつかの例示的な実施形態では、予測モデルは、訓練データセットが得られたのと同一サイトで動作する生徒モジュールに転送されてもよい。追加的に、または代替的に、予測モジュールは、訓練データセットを収集するために使用された教師モジュールなど、1つまたは複数の教師モジュールに転送されてもよい。教師モジュールは、自身の高品質スキャニングシステムを利用することなく、低品質スキャニングシステムに基づいてAOIを実施するための予測モデルを利用することができる。追加的に、または代替的に、1つまたは複数の教師モジュールは、予測モデルのパフォーマンスを評価することができる。いくつかの例示的な実施形態では、評価は、AIベースの検出プロセスが十分精密な結果を与えることを保証するために、経時的に実施してもよい。
【0048】
次に
図2Aを参照すると、本開示の主題の、いくつかの例示的な実施形態による、方法のフローチャート図が示されている。
図2Aの方法は、生徒モジュールなどの低品質スキャニングシステムを含むコンピュータ化されたシステムによって実施することができる。追加的に、または代替的に、
図2Aの方法は、教師モジュールなどのデュアル品質スキャニングシステム(例えば、高品質スキャニングシステムおよび低品質スキャニングシステム)を有するコンピュータ化されたシステムによって実施することができる。そのような場合、コンピュータ化されたシステムは、両方のスキャニングシステムを利用することを避け、低品質スキャニングシステムのみに頼ることができる。
【0049】
ステップ200では、予測モデルが得られる。予測モデルが
図1で生成された後、予測モデルを得ることができる。いくつかの例示的な実施形態では、予測モデルは、有線接続、無線接続、コンピュータ化されたネットワークなど、コンピュータ化された通信媒体上でモデルを受信することによって得られてもよい。追加的に、または代替的に、予測モデルは、ローカルのストレージから得られる場合がある。予測モデルは、同一のデバイスで生成されてもよいし(例えば、教師モジュールの場合)、または別のデバイス(異なる教師モジュール、サーバ、クラウドコンピューティングプラットフォームなど)で生成されてもよい。
【0050】
ステップ210では、画像は、低品質スキャニングシステムを使用して得られる。いくつかの例示的な実施形態では、低品質スキャニングシステムは、AOIシステムによってレビューされている製品の画像を取得するために呼び出すことができる。例えば、低品質画像は、そのサイトで製造されたPCBまたはFPDを描画するカメラセンサによってキャプチャすることができる。
【0051】
ステップ220では、改善品質画像が生成される。改善品質画像は、予測モデルを使用して生成することができる。予測モデルは、改善品質画像を予測するために、ステップ210で得られた画像に適用することができる。いくつかの例示的な実施形態では、画像を予測モデルの期待値にしたがって位置揃えするために、低品質画像の前処理が、予測モデルの適用に先立って実施されてもよい(例えば、訓練データセットが類似のやり方で位置揃えされた場合)。加えて、または代替的に、モデルの予測される画像は、訓練データセットの高品質画像に対して実施された変換とは逆の変換を実施することなどによって、処理および変換されて、改善品質画像を与えてもよい。
【0052】
ステップ230では、改善品質画像に対して欠陥検出を適用することができる。欠陥検出は、限定はしないが、専用の、ユーザ仕様のアルゴリズムを利用すること、分類エンジンを適用すること、AIベースの分類技法を利用すること、機械学習モデルを適用することなど、あらゆる手段によって実施することができる。欠陥検出の結果に基づいて、AOIシステムは、欠陥のある製品を示すこと、製品における欠陥のログを提供すること、欠陥がある製品および欠陥のない製品を示すことなど、関連出力をユーザに提供することができる。いくつかの例示的な実施形態では、欠陥があると識別された製品は、自動的に、手動で、半自動的になどで、廃棄することができる。
【0053】
次に
図2Bを参照すると、本開示の主題の、いくつかの例示的な実施形態による、方法のフローチャート図が示されている。
図2Bの方法は、教師モジュールなどのデュアル品質スキャニングシステム(例えば、高品質スキャニングシステムおよび低品質スキャニングシステム)を有するコンピュータ化されたシステムによって実施することができる。
【0054】
ステップ215では、ステップ210で低品質画像を得たのと同一製品の高品質画像を、得ることができる。高品質画像は、高品質スキャニングシステムを使用して得ることができる。
【0055】
ステップ240では、ステップ215で得られた高品質画像に対して欠陥検出を適用することができる。いくつかの例示的な実施形態では、欠陥検出は、ステップ230で利用された欠陥検出と同一の欠陥検出、異なる欠陥検出メカニズムなどであってもよい。ステップ230で検出された欠陥のリストは、Listl={d1,d2,…,dn}として表記することができ、ステップ240で検出された欠陥のリストは、Listh={d1,d2,…dm}として表記することができる。各リストは異なる欠陥(di)を含み得ることに留意されたい。追加的に、または代替的に、リストは空集合であってもよい。
【0056】
ステップ250では、ステップ230および240で識別された欠陥を、比較することができる。同一の欠陥が検出された場合(Listl=Listh)は、両方の画像で欠陥が検出されなかった場合を含め、方法を終了してもよい。しかしながら、リストに差異がある場合(Listl≠Listh)、ステップ260を実施することができる。
【0057】
ステップ260では、ステップ210とステップ215とで得られた画像の対を、訓練データセットに追加することができる。欠陥検出システムが異なる欠陥を検出したため、2つの画像は、訓練データセットに追加されて、予測モデルを改善して将来的により精密なAIベースの欠陥検出を可能とするように、再訓練の際に使用することができる。再訓練は、元の訓練データセットを利用する場合があること、その一部を利用する場合があること、またはそれを完全に破棄する場合があることに留意されたい。
【0058】
ステップ270では、評価目的で、両方の場合で検出された欠陥同士に実質的な差異があるかどうかを判断することができる。いくつかの例示的な実施形態では、あらゆる差異を実質的な差異と考えてもよい。そのような場合、(ステップ250で行った決定を考慮して)270のステップは省略してもよい。追加的に、または代替的に、実質的な差異とは、1つの欠陥リストが空であり、かつもう一方が空でない場合の差異であってもよい(例えば、Listl=φ∧Listh≠φ、またはListh=φ∧Listl≠φ)。追加的に、または代替的に、いくつかの欠陥は、同一クラスの欠陥と考えてもよく、同一クラスを有する欠陥を含む2つのリストは、実質的に同一であると考えることができる(例えば、∀di∈Listl,∃dj∈Listh,s.t.class(di)=class(dj)∧∀dj∈Listh,∃di∈Listl,s.t.class(di)=class(dj))。追加的に、または代替的に、2つのリストがPCBパネル空間の画像空間内で同一(x,y)位置において同一数の欠陥を含む場合(|Listh|=|Listl|)のみ、これらのリストを実質的に同一であると考えることができる。追加的に、または代替的に、2つのリストが、しきい値内で類似の数の欠陥を含む(||Listh|-|Listl||≦しきい値)場合のみ、これらのリストを実質的に同一であると考えることができる。上述の例の組合せ、追加的なメトリクスなどに基づいて、実質的な類似性を判断するための追加的なメトリクスを利用してもよい。いくつかの例示的な実施形態では、2つのリスト間の実質的な差異は、製品に関する異なる結果または製品に関して実施される動作に相当する場合がある。そのため、AIベースの検出は、高品質画像に基づいて与えられるのとは異なる結果を生み出す。いくつかの例示的な実施形態では、実質的な差異は、単に偽陰性のタイプの差異と考えられる場合がある。偽陰性のシナリオでは、AIベースの検出は、高品質画像によれば製品に少なくとも1つの欠陥があっても、製品には欠陥がないと間違って示すことがある。そのような場合、AOIシステムは、欠陥のある製品の使用を防止することができない場合がある。場合によっては、偽陽性(例えば、欠陥のない製品を、欠陥があるものとして誤って示す)は、いくつかのシナリオでは、または幾分の割合では、許容可能と考えられる場合があるが、偽陰性は、まったく許容できないか、または、許容できる割合が低いことがある。
【0059】
いくつかの例示的な実施形態では、実質的な差異がある場合、ステップ280を実施することができる。カウンタは増分することができ、予測モデルを再訓練するかどうかの決定が行われてもよい。いくつかの例示的な実施形態では、実質的な差異のしきい値を特定した後、予測モデルは、誤った結果を防止するように再訓練することができる。再訓練は、
図1の方法または類似の方法を使用して実施することができる。
【0060】
次に
図3Aを参照すると、本開示の主題の、いくつかの例示的な実施形態による、装置が示されている。
【0061】
いくつかの例示的な実施形態では、教師モジュールとも称される装置300aは、1つまたは複数のプロセッサ302を含むことができる。プロセッサ302は、中央処理装置(CPU)、マイクロプロセッサ、電子回路、集積回路(IC)などであってもよい。プロセッサ302は、装置300aまたはそのサブコンポーネントのいずれかによって必要とされる計算を実施するために利用することができる。
【0062】
本開示の主題の、いくつかの例示的な実施形態では、装置300aは、入力/出力(I/O)モジュール(図示せず)を含むことができる。I/Oモジュールは、ユーザに出力を与えるために利用することができる。追加的に、または代替的に、I/Oモジュールは、ユーザからの入力を受け取るために利用することができる。追加的に、または代替的に、I/Oモジュールは、
図3Bの生徒モジュール300b、他の教師モジュール、リモートサーバなど他のデバイスと通信するために利用されてもよい。
【0063】
いくつかの例示的な実施形態では、装置300aは、高品質スキャニングシステム360および低品質スキャニングシステム370を含むことができる。いくつかの例示的な実施形態では、スキャニングシステム360、370は、AOIプロセスによって検査される電子製品をスキャンし、それぞれ高品質画像および低品質画像を提供するように構成することができる。「高品質」および「低品質」という用語は、互いに相対的であり得ることに留意されたい。いくつかの例示的な実施形態では、スキャニングシステムは、同一タイプのシステムであってもよく、例えば、両方とも光学カメラセンサ、両方ともビデオカメラなどであってもよい。追加的に、または代替的に、スキャニングシステムは、高品質スキャニングシステム360はHDビデオカメラであり得るが、低品質スキャニングシステム370は光学カメラであり得るなど、異なるタイプのシステムであってもよい。
【0064】
いくつかの例示的な実施形態では、装置300aは、メモリユニット307を含むことができる。メモリユニット307は、ハードディスクドライブ、フラッシュディスク、ランダムアクセスメモリ(RAM)、メモリチップなどであってもよい。いくつかの例示的な実施形態では、メモリユニット307は、プロセッサ302に装置300aのサブコンポーネントのいずれかに関連付けられる動作を実施させる働きをするプログラムコードを保持することができる。メモリユニット307は、以下で詳述するように、実行可能ファイル、ライブラリ、静的ライブラリ、関数、またはあらゆる他の実行可能コンポーネントとして実装される、1つまたは複数のコンポーネントを含むことができる。いくつかの例示的な実施形態では、メモリユニット307は、予測モデル315、訓練データセット、学習フェーズ中、製作中などに得られた同一製品の低解像画像と高解像画像との対の集合、それらによって生成された改善品質画像378などのために構成することができる。いくつかの例示的な実施形態では、高品質スキャニングシステム360によって得られる高品質画像365は、メモリユニット307によって保持することができる。追加的に、または代替的に、低品質スキャニングシステム370によって得られる低品質画像375は、メモリユニット307によって保持することができる。
【0065】
いくつかの例示的な実施形態では、モデル生成器310は、異なる品質を有する同一製品の画像の対の集合(例えば、高品質画像365、低品質画像375)を含む訓練セットを得て、予測モデル315を生成するために利用することができる。いくつかの例示的な実施形態では、モデル生成器310は、訓練データセットを考慮して予測モデル315を訓練するように構成することができる。追加的に、または代替的に、モデル生成器310は、予測モデル315を訓練するために機械学習ベースの技法を利用することができる。
【0066】
いくつかの例示的な実施形態では、予測モデル315は、訓練の後、低品質画像375に基づいて改善品質画像378を予測するように構成することができる。
【0067】
いくつかの例示的な実施形態では、欠陥検出器320は、製品の画像内の欠陥を検出するように構成することができる。いくつかの例示的な実施形態では、欠陥検出器320は、高品質画像365、低品質画像375、改善品質画像378などに適用することができる。いくつかの例示的な実施形態では、欠陥検出器320は、専用の、ユーザ仕様のアルゴリズム、分類エンジン、AIベースの分類技法、機械学習モデルなどを利用して、欠陥を検出してもよい。
【0068】
いくつかの例示的な実施形態では、結果比較器330は、欠陥検出器320によって検出された欠陥を、高品質画像365と改善品質画像378など異なる品質を有する同一製品の2つの画像に対して比較するように構成することができる。
【0069】
いくつかの例示的な実施形態では、モデル生成器310が予測モデル315を生成したことに応答して、予測モデル315は、他の教師モジュール、生徒モジュールなどの他のデバイスに配布されてもよい。
【0070】
次に
図3Bを参照すると、本開示の主題の、いくつかの例示的な実施形態による、装置が示されている。
【0071】
いくつかの例示的な実施形態では、生徒モジュールとも称される装置300bは、プロセッサ302、低品質スキャニングシステム370、およびメモリユニット307を含むことができる。いくつかの例示的な実施形態では、教師モジュール300aのデュアルスキャニングシステムとは対照的に、生徒モジュール300bは、比較的低品質の単一のスキャニングシステム(370)を含むことができる。いくつかの例示的な実施形態では、生徒モジュール300bは、教師モジュール300aによって収集されたデータに基づいて訓練された予測モデル315を受け取り、予測モデル315を利用して、スキャンした画像の品質を低品質画像375から改善品質画像378に高めることができる。欠陥は、欠陥検出器320を、低品質画像375ではなくて改善品質画像378に適用することによって検出することができる。
【0072】
次に
図4を参照すると、本開示の主題の、いくつかの例示的な実施形態による、コンピュータ化された環境の図が示されている。
【0073】
コンピュータ化された環境は、
図3Aの300aなどの教師モジュール410、および300bなどの複数の生徒モジュール420を含む。複数の教師モジュール410が存在してもよいことに留意されたい。いくつかの例示的な実施形態では、教師モジュール410の数は、同一環境内で利用される、より低コストの生徒モジュール420の数よりも少なくてもよい。
【0074】
いくつかの例示的な実施形態では、教師モジュール410は、予測モデルを生成するために利用される訓練データを得るために利用することができる。予測モデルは、教師モジュール410上で、ローカルで利用可能な画像の対を利用して生成することができる。いくつかの例示的な実施形態では、他の教師モジュール(図示せず)は、それらによって集めたデータを、予測モデルの生成で利用されるように教師モジュール410に伝送することができる。追加的に、または代替的に、予測モデルの生成は、サーバ415によって実施されてもよく、このサーバは、ローカルサーバでもよいし、リモートサーバであってもよい。サーバ415は、ネットワーク405を介してなどにより、教師モジュール410によって集められたデータを受信し、予測モデルを生成するためにこのようなデータを利用することができる。
【0075】
いくつかの例示的な実施形態では、(例えば、教師モジュール410によって、またはサーバ415によって)予測モデルが生成された後、予測モデルは、他の教師モジュール、生徒モジュール420など、環境内の他のモジュールに配布されてもよい。
【0076】
いくつかの例示的な実施形態では、製作プロセスの間、予測の品質の評価が、教師モジュール410の一部、すべての教師モジュール410などによって、実施されてもよい。いくつかの例示的な実施形態では、高品質画像と改善品質画像とを用いた検出画像同士の不一致は、訓練目的で保持されてもよい。いくつかの例示的な実施形態では、再訓練は、両方の場合で検出された欠陥同士の実質的な差異を判断すること、分析対象の製品の数と比較して実質的な差異が識別された製品の数がしきい値を上回る割合を検出すること、両方の場合で検出された欠陥同士の実質的な差異がある製品の絶対数を検出することなど、ある条件が満たされた後に、呼び出される場合がある。
【0077】
いくつかの例示的な実施形態では、教師モジュール410および生徒モジュール420は、同一顧客サイトにデプロイしてもよい。追加的に、または代替的に、すべてのモジュール410、420は、同一タイプの電子製品のAOIプロセスの一部として利用することができる。
【0078】
本発明は、システム、方法、および/またはコンピュータプログラム製品であることができる。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体を含むことができる。
【0079】
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のための命令を保持および記憶することができる有形のデバイスであり得る。コンピュータ可読記憶媒体は、例えば、電子ストレージデバイス、磁気ストレージデバイス、光学ストレージデバイス、電磁気ストレージデバイス、半導体ストレージデバイス、または前述のあらゆる好適な組合せであってもよいが、それに限定はしない。コンピュータ可読記憶媒体のより具体的な例の非網羅的な列挙としては、以下が挙げられる。それらは:ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュメモリ)、静的ランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスク読み取り専用メモリ(CD-ROM)、デジタルバーサタイルディスク(DVD)、メモリスティック、フロッピー(登録商標)ディスク、命令が記録されたパンチカードまたは溝に刻まれた構造などの機械的にエンコードされたデバイス、および前述のあらゆる好適な組合せ、である。本明細書において使用される場合、コンピュータ可読記憶媒体は、電波もしくは他の自由に伝搬する電磁波、導波路もしくは他の伝送媒体を介して伝搬する電磁波(例えば、光ファイバケーブルを通過する光パルス)、または電線を介して伝送される電気的信号など、一過性の信号そのものであると解釈されてはならない。
【0080】
本明細書において説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から個別のコンピューティング/処理デバイスに、または、例えばインターネット、ローカルエリアネットワーク、ワイドエリアネットワークおよび/もしくは無線ネットワークなどのネットワークを介して、外部のコンピュータもしくは外部のストレージデバイスに、ダウンロードすることができる。ネットワークは、銅の伝送ケーブル、光学伝送ファイバ、無線伝送、ルータ、ファイヤウォール、スイッチ、ゲートウェイコンピュータおよび/またはエッジサーバを備えることができる。それぞれのコンピューティング/処理デバイスのネットワークアダプタカードまたはネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、個別のコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶するためにコンピュータ可読プログラム命令を転送する。
【0081】
本発明の動作を実施するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、あるいはSmalltalk、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語などの従来の手続き型プログラミング言語もしくは同様のプログラミング言語を含む1つまたは複数のプログラミング言語のあらゆる組合せで記述された、ソースコードまたはオブジェクトコードのいずれかであってもよい。コンピュータ可読プログラム命令は、すべてユーザのコンピュータ上で、一部はユーザのコンピュータ上でスタンドアロンのソフトウェアパッケージとして、一部はユーザのコンピュータ上で一部はリモートコンピュータ上で、またはすべてリモートコンピュータ上もしくはサーバ上で、実行することができる。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)もしくはワイドエリアネットワーク(WAN)を含むあらゆるタイプのネットワークを介してユーザのコンピュータに接続することができ、または接続は(例えば、インターネットサービスプロバイダを使用してインターネットを介して)外部のコンピュータに対してなされてもよい。いくつかの実施形態において、例えば、プログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)、またはプログラマブル論理アレイ(PLA)を含む電子回路は、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用することによって、コンピュータ可読プログラム命令を実行して電子回路を個別化することができる。
【0082】
本発明の態様は、本明細書では、本発明の実施形態による方法、装置(システム)、およびコンピュータプログラム製品のフローチャート図および/またはブロック図を参照しながら説明される。フローチャート図および/またはブロック図のそれぞれのブロック、およびフローチャート図および/またはブロック図におけるブロックの組合せは、コンピュータ可読プログラム命令によって実装され得ることが理解されよう。
【0083】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブルデータ処理装置のプロセッサを介して実行する命令が、フローチャートおよび/またはブロック図の1つまたは複数のブロックに指定される機能/作用を実施する手段を作成すべく、汎用コンピュータ、専用コンピュータ、または他のプログラマブルデータ処理装置のプロセッサに提供されてマシンを作るものであってよい。これらのコンピュータ可読プログラム命令はまた、命令を記憶して有するコンピュータ可読記憶媒体が、フローチャートおよび/またはブロック図の1つまたは複数のブロックに指定される機能/動作の態様を実施する命令を含む製造物品を備えるべく、コンピュータ可読記憶媒体に記憶され、コンピュータ、プログラマブルデータ処理装置、および/または他のデバイスに特定のやり方で機能するように指示するものであってもよい。
【0084】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブル装置、または他のデバイスで実行する命令が、フローチャートおよび/またはブロック図の1つまたは複数のブロックに指定される機能/動作を実施するように、コンピュータ実装プロセスを作るべく、コンピュータ、他のプログラマブルデータ処理装置、または他のデバイス上にロードされ、コンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作可能なステップを実行させるものであってもよい。
【0085】
図面中のフローチャートおよびブロック図は、本発明の様々な実施形態にしたがって、システム、方法、およびコンピュータプログラム製品の可能な実装形態の、アーキテクチャ、機能、および動作を図示している。この点において、フローチャートまたはブロック図のそれぞれのブロックは、指定される論理機能を実装するための1つまたは複数の実行可能な命令を含む、命令のモジュール、セグメント、または部分を表現することができる。いくつかの代替的な実装形態において、ブロックで示される機能は図面で示した順とは異なって発生してもよい。例えば、連続して示される2つのブロックは、実際には、実質的に同時に実行されてもよく、またはブロックは関与する機能によっては、時に逆の順で実行されてもよい。ブロック図および/またはフローチャート図のそれぞれのブロック、ならびにブロック図および/またはフローチャート図のブロックの組合せは、指定される機能もしくは作用を実施する、または専用ハードウェアとコンピュータ命令との組合せを実行する、専用ハードウェアベースのシステムによって実装され得ることにも留意されたい。
【0086】
本明細書において使用される用語は、単に特定の実施形態を説明することを目的としており、本発明を限定することは意図されていない。本明細書で使用される場合、単数形「1つの(a)」、「1つの(an)」および「その(the)」は、文脈が明らかにそうではないと示さない限り、複数形を含むことが意図されている。「~を含む(comprises)」および/または「~を含んでいる(comprising)」という用語は、本明細書で使用される場合、述べられる特徴、整数、ステップ、動作、要素、および/またはコンポーネントの存在を明らかにするが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、コンポーネント、および/またはそれらの群の存在または追加を排除するものではないことをさらに理解されたい。
【0087】
以下の特許請求の範囲におけるすべてのミーンズまたはステッププラスファンクション要素の対応する構造、材料、作用、および等価物は、具体的に特許請求される他の特許請求要素と組み合わせて、その機能を実行するための、あらゆる構造、材料、または作用を含むよう意図されている。本発明の説明を図示および説明の目的で提示してきたが、網羅的であること、または開示された発明の形態に限定することは意図されていない。本発明の範囲および思想から逸脱することなく、多くの変形およびバリエーションが当業者にとって明らかとなろう。実施形態は、本発明の原理および実践的な用途を最良に説明するため、ならびに企図される特定の使用に好適な、様々な変形を伴う様々な実施形態について、本発明を他の当業者が理解できるように、選ばれ、説明されたものである。
【国際調査報告】