加標(biāo)簽方法、加標(biāo)簽裝置以及缺陷檢查裝置制造方法
【專利摘要】一種加標(biāo)簽方法、加標(biāo)簽裝置以及缺陷檢查裝置,加標(biāo)簽方法包括:對(duì)各進(jìn)程設(shè)定相互不同的標(biāo)簽;針對(duì)每一進(jìn)程作為處理對(duì)象進(jìn)程,并判定是否有與處理對(duì)象進(jìn)程連接的第1連結(jié)進(jìn)程,當(dāng)有第1連結(jié)進(jìn)程時(shí),將處理對(duì)象進(jìn)程及第1連結(jié)進(jìn)程中的一者的標(biāo)簽更新為另一者的標(biāo)簽;在更新后,根據(jù)多個(gè)標(biāo)簽來(lái)搜索多個(gè)進(jìn)程中的相互連接的進(jìn)程并賦予同一標(biāo)簽,在更新標(biāo)簽時(shí),將多個(gè)進(jìn)程劃分為多組,并將各組中執(zhí)行的分別更新處理作為更新線程,基于排他控制一邊允許利用多個(gè)更新線程中的一個(gè)更新線程進(jìn)行標(biāo)簽的改寫(xiě),并禁止由一個(gè)更新線程改寫(xiě)的標(biāo)簽的利用其他更新線程進(jìn)行的改寫(xiě),一邊并列執(zhí)行多個(gè)更新線程。
【專利說(shuō)明】加標(biāo)簽方法、加標(biāo)簽裝置以及缺陷檢查裝置
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種對(duì)將二值圖像數(shù)據(jù)進(jìn)行進(jìn)程長(zhǎng)度化(run lengthening)制作而成 的多個(gè)進(jìn)程(line)賦予標(biāo)簽的加標(biāo)簽技術(shù)以及應(yīng)用該加標(biāo)簽技術(shù)的缺陷檢查裝置,尤其 涉及一種加標(biāo)簽方法、加標(biāo)簽裝置以及缺陷檢查裝置。
【背景技術(shù)】
[0002] 在半導(dǎo)體基板或印刷基板等的制造【技術(shù)領(lǐng)域】中,為了對(duì)制品中所含的缺陷進(jìn)行檢 測(cè)并對(duì)其進(jìn)行分析?評(píng)估,而經(jīng)由顯微鏡等對(duì)評(píng)估對(duì)象物進(jìn)行攝像,且從所獲得的圖像中抽 出包含缺陷部的圖像、所謂的缺陷圖像。然后,根據(jù)該缺陷圖像的二值圖像數(shù)據(jù)來(lái)計(jì)測(cè)缺 陷部的個(gè)數(shù)、面積或重心等。此時(shí),為了自動(dòng)地進(jìn)行該計(jì)測(cè),而廣泛利用加標(biāo)簽(labeling) (連結(jié)區(qū)域抽出)處理。例如,在日本專利特開(kāi)2008-186123號(hào)公報(bào)中,對(duì)將二值圖像數(shù)據(jù) 按照每一行而進(jìn)行進(jìn)程長(zhǎng)度化(run-lengthening)所生成的進(jìn)程執(zhí)行2段(pass)的標(biāo)簽 賦予處理,從而實(shí)現(xiàn)了加標(biāo)簽處理的高速化。
[0003] 然而,在所述日本專利特開(kāi)2008-1186123號(hào)公報(bào)中記載的發(fā)明(以下稱作"現(xiàn)有 發(fā)明")中,是以從上位的進(jìn)程數(shù)據(jù)開(kāi)始依次進(jìn)行調(diào)查為前提,從而這成為妨礙進(jìn)一步高速 化的因素之一。而且,所述現(xiàn)有發(fā)明中,必須另外設(shè)置記錄被提供了不同標(biāo)簽的進(jìn)程數(shù)據(jù)彼 此是否屬于相同的連結(jié)成分的標(biāo)簽表、以及針對(duì)每一標(biāo)簽而與該標(biāo)簽對(duì)應(yīng)的進(jìn)程數(shù)據(jù)的數(shù) 目建立關(guān)聯(lián)的進(jìn)程數(shù)表。因此,根據(jù)進(jìn)程的數(shù)目的增大或連結(jié)狀態(tài)的復(fù)雜化而所述標(biāo)簽表 及進(jìn)程數(shù)表的要素?cái)?shù)增大,這也成為妨礙加標(biāo)簽處理的高速化的另一因素。
【發(fā)明內(nèi)容】
[0004] [發(fā)明要解決的課題]
[0005] 本發(fā)明鑒于所述課題而完成,其目的在于提供一種能夠?qū)崿F(xiàn)二值圖像數(shù)據(jù)的加標(biāo) 簽處理的高速化的技術(shù),以及使用該技術(shù)而有效率地進(jìn)行缺陷檢查的技術(shù)。
[0006] [解決課題的手段]
[0007] 本發(fā)明的加標(biāo)簽方法對(duì)將二值圖像數(shù)據(jù)進(jìn)行進(jìn)程長(zhǎng)度化制作而成的多個(gè)進(jìn)程實(shí) 施加標(biāo)簽處理,所述加標(biāo)簽方法的特征在于包括:初始標(biāo)簽設(shè)定工序,對(duì)各進(jìn)程設(shè)定相互不 同的標(biāo)簽;更新工序,針對(duì)每一進(jìn)程,將所述進(jìn)程作為處理對(duì)象進(jìn)程,并且判定是否存在與 所述處理對(duì)象進(jìn)程連接的第1連結(jié)進(jìn)程,當(dāng)存在第1連結(jié)進(jìn)程時(shí),進(jìn)行將處理對(duì)象進(jìn)程及第 1連結(jié)進(jìn)程中的一者的標(biāo)簽更新為另一者的標(biāo)簽的分別更新處理;以及搜索工序,在更新 工序后,根據(jù)多個(gè)標(biāo)簽來(lái)搜索多個(gè)進(jìn)程中的相互連接的進(jìn)程并賦予同一標(biāo)簽,且在更新工 序中,將多個(gè)進(jìn)程劃分為多組,并且將各組中執(zhí)行的分別更新處理作為更新線程(thread), 基于排他控制一邊允許利用多個(gè)更新線程中的一個(gè)更新線程進(jìn)行標(biāo)簽的改寫(xiě),并且禁止由 一個(gè)更新線程改寫(xiě)的標(biāo)簽的利用其他更新線程進(jìn)行的改寫(xiě),一邊并列執(zhí)行多個(gè)更新線程。
[0008] 而且,本發(fā)明的加標(biāo)簽裝置對(duì)將二值圖像數(shù)據(jù)進(jìn)行進(jìn)程長(zhǎng)度化制作而成的多個(gè)進(jìn) 程實(shí)施加標(biāo)簽處理,所述加標(biāo)簽裝置的特征在于包括:存儲(chǔ)部,存儲(chǔ)各進(jìn)程的標(biāo)簽;處理器 部,具有多個(gè)進(jìn)行運(yùn)算處理的處理器核心;以及控制部,在對(duì)多個(gè)標(biāo)簽初始設(shè)定相互不同的 值后,針對(duì)每一進(jìn)程,將所述進(jìn)程作為處理對(duì)象進(jìn)程,并且判定是否存在與所述處理對(duì)象進(jìn) 程連接的第1連結(jié)進(jìn)程,當(dāng)存在第1連結(jié)進(jìn)程時(shí),進(jìn)行將處理對(duì)象進(jìn)程及第1連結(jié)進(jìn)程中的 一者的標(biāo)簽更新為另一者的標(biāo)簽的分別更新處理,并進(jìn)一步根據(jù)多個(gè)標(biāo)簽來(lái)搜索多個(gè)進(jìn)程 中的相互連接的進(jìn)程而賦予同一標(biāo)簽,多個(gè)進(jìn)程根據(jù)處理器核心的個(gè)數(shù)而劃分為多組,各 處理器核心針對(duì)所劃分的一個(gè)或多個(gè)進(jìn)程而將所述分別更新處理作為更新線程來(lái)執(zhí)行,控 制部基于排他控制,一邊允許利用多個(gè)更新線程中的一個(gè)更新線程進(jìn)行標(biāo)簽的改寫(xiě),并且 禁止由一個(gè)更新線程改寫(xiě)的標(biāo)簽的利用其他更新線程進(jìn)行的改寫(xiě),一邊并列執(zhí)行多個(gè)更新 線程,由此進(jìn)行針對(duì)每一進(jìn)程的分別更新處理。
[0009] 此外,本發(fā)明的缺陷檢查裝置的特征在于包括:圖像獲取部,獲取檢查對(duì)象圖像; 圖像抽出部,對(duì)檢查對(duì)象圖像進(jìn)行檢查而抽出包含缺陷部位的缺陷圖像;二值化處理部,對(duì) 缺陷圖像進(jìn)行二值化處理而生成二值圖像數(shù)據(jù);進(jìn)程生成部,將二值圖像數(shù)據(jù)進(jìn)程長(zhǎng)度化 而生成多個(gè)進(jìn)程;以及加標(biāo)簽單元,具有與所述加標(biāo)簽裝置相同的構(gòu)成,且對(duì)多個(gè)進(jìn)程中的 相互連接的進(jìn)程賦予同一標(biāo)簽。
[0010] 在如此構(gòu)成的發(fā)明中,初始設(shè)定針對(duì)每一進(jìn)程而具有相互不同的值的標(biāo)簽。而且, 針對(duì)每一進(jìn)程執(zhí)行分別更新處理,并根據(jù)是否存在與處理對(duì)象進(jìn)程連接的連結(jié)進(jìn)程來(lái)執(zhí)行 標(biāo)簽的更新。然后,根據(jù)多個(gè)標(biāo)簽來(lái)搜索多個(gè)進(jìn)程中的相互連接的進(jìn)程,并對(duì)其賦予同一標(biāo) 簽。就這樣利用更新工序與搜索工序這2段方式來(lái)進(jìn)行加標(biāo)簽處理的方面而言,與現(xiàn)有發(fā) 明相同,但本發(fā)明中,利用與進(jìn)程的個(gè)數(shù)為相同數(shù)量的標(biāo)簽來(lái)進(jìn)行二值圖像數(shù)據(jù)的加標(biāo)簽 處理,而不需要現(xiàn)有發(fā)明中所使用的標(biāo)簽表及進(jìn)程數(shù)表,從而加標(biāo)簽處理的高速化成為可 能。
[0011] 并且,在本發(fā)明的更新工序中,將多個(gè)進(jìn)程劃分為多組并且將各組中執(zhí)行的分別 更新處理作為更新線程,且并列執(zhí)行這些更新線程。即,針對(duì)每個(gè)進(jìn)程的分別更新處理得以 并列執(zhí)行。因此,關(guān)于標(biāo)簽更新,雖在更新線程間受到排他控制,但與從上位的進(jìn)程開(kāi)始依 次賦予標(biāo)簽的現(xiàn)有發(fā)明相比,可大幅縮短加標(biāo)簽處理所需的總時(shí)間。
[0012] 此處,在更新工序中,禁止由一個(gè)更新線程改寫(xiě)的標(biāo)簽的利用其他更新線程進(jìn)行 的改寫(xiě),但也可對(duì)該標(biāo)簽以外的標(biāo)簽,即不沖突的標(biāo)簽允許利用其他更新線程進(jìn)行的改寫(xiě)。 由此,可提高處理效率而進(jìn)一步縮短加標(biāo)簽處理所需的時(shí)間。
[0013] 而且,在分別更新處理中,也可構(gòu)成為在已更新第1連結(jié)進(jìn)程的標(biāo)簽時(shí),判定是否 存在除與第1連結(jié)進(jìn)程連接的處理對(duì)象進(jìn)程以外的第2連結(jié)進(jìn)程,當(dāng)存在第2連結(jié)進(jìn)程時(shí), 將第1連結(jié)進(jìn)程及第2連結(jié)進(jìn)程中的一者的標(biāo)簽更新為另一者的標(biāo)簽。這樣不僅對(duì)第1連 結(jié)進(jìn)程進(jìn)行標(biāo)簽更新,也對(duì)經(jīng)由該第1連結(jié)進(jìn)程而連接于處理對(duì)象進(jìn)程的第2連結(jié)進(jìn)程進(jìn) 行標(biāo)簽更新,由此可縮短在針對(duì)處理對(duì)象進(jìn)程的分別更新處理之后執(zhí)行的針對(duì)第2連結(jié)進(jìn) 程的分別更新處理所需的時(shí)間。結(jié)果,可縮短總的處理時(shí)間。
[0014] 而且,也可將具有與第1連結(jié)進(jìn)程的標(biāo)簽更新前的更新前標(biāo)簽為同一標(biāo)簽的進(jìn)程 來(lái)作為第2連結(jié)進(jìn)程,可通過(guò)利用更新前標(biāo)簽而容易且確實(shí)地找出第2連結(jié)進(jìn)程,從而優(yōu) 選。
[0015] 而且,也可將二值圖像數(shù)據(jù)針對(duì)每一行而進(jìn)程長(zhǎng)度化,該情況下,可將與處理對(duì)象 進(jìn)程的下行連接的進(jìn)程判定為第1連結(jié)進(jìn)程。
[0016] 而且,也可在2段中的搜索工序(搜索多個(gè)進(jìn)程中的相互連接的進(jìn)程并賦予同一 標(biāo)簽的工序)中,針對(duì)每一進(jìn)程而執(zhí)行分別搜索處理。該"分別搜索處理"是指如下的處 理,即,將一個(gè)進(jìn)程作為處理對(duì)象進(jìn)程,并且根據(jù)多個(gè)標(biāo)簽來(lái)找出與該處理對(duì)象進(jìn)程連接的 連結(jié)進(jìn)程而將處理對(duì)象進(jìn)程及連結(jié)進(jìn)程的標(biāo)簽改寫(xiě)為相同??蛇@樣通過(guò)針對(duì)每個(gè)進(jìn)程的分 別搜索處理來(lái)合理地進(jìn)行搜索工序。并且,與所述針對(duì)每一進(jìn)程的分別更新處理同樣地,將 多個(gè)進(jìn)程劃分為多組并且將各組中執(zhí)行的分別搜索處理作為搜索線程(thread),基于排他 控制而一邊允許利用多個(gè)搜索線程中的一個(gè)搜索線程進(jìn)行標(biāo)簽的改寫(xiě),并且禁止由一個(gè)搜 索線程改寫(xiě)的標(biāo)簽的利用其他搜索線程進(jìn)行的改寫(xiě),一邊并列執(zhí)行多個(gè)搜索線程。由此,搜 索工序中也可提高處理速度并進(jìn)一步推進(jìn)加標(biāo)簽處理的高速化。
[0017] [發(fā)明的效果]
[0018] 根據(jù)本發(fā)明,能夠并列執(zhí)行用以執(zhí)行加標(biāo)簽處理的處理的一部分,從而可縮短二 值圖像數(shù)據(jù)的加標(biāo)簽處理所需的總時(shí)間。
【專利附圖】
【附圖說(shuō)明】
[0019] 圖1是表示使用配備有本發(fā)明的加標(biāo)簽裝置的一實(shí)施方式的缺陷檢查裝置的檢 查系統(tǒng)的概略構(gòu)成的圖。
[0020] 圖2是表示圖像處理部的概略構(gòu)成的方框圖。
[0021] 圖3是表示與本發(fā)明的加標(biāo)簽裝置的一實(shí)施方式相當(dāng)?shù)募訕?biāo)簽部的概略構(gòu)成的 方框圖。
[0022] 圖4是表示加標(biāo)簽部的加標(biāo)簽動(dòng)作的流程圖。
[0023] 圖5是表示提供給加標(biāo)簽部的二值圖像數(shù)據(jù)的一例的圖。
[0024] 圖6 (a)?圖6 (c)是表示對(duì)圖5的二值圖像數(shù)據(jù)執(zhí)行進(jìn)程長(zhǎng)度化處理所得的進(jìn)程 的進(jìn)程數(shù)據(jù)及表示進(jìn)程彼此的連結(jié)關(guān)系的進(jìn)程連接數(shù)據(jù)的初始值的圖。
[0025] 圖7是表示由各處理器核心執(zhí)行的分別更新處理的流程圖。
[0026] 圖8是表示由各處理器核心執(zhí)行的分別更新處理的一例的示意圖。
[0027] 圖9是表示由各處理器核心執(zhí)行的分別搜索處理的流程圖。
[0028] 圖10是表示由各處理器核心執(zhí)行的分別搜索處理的一例的示意圖。
[0029] 附圖標(biāo)記:
[0030] 1 :檢查系統(tǒng)
[0031] 2 :攝像裝置
[0032] 3 :控制裝置
[0033] 4 :裝置控制部
[0034] 5:圖像獲取部
[0035] 6:圖像處理部
[0036] 7 :存儲(chǔ)部
[0037] 8 :輸入受理部
[0038] 9 :顯示部
[0039] 21 :攝像部
[0040] 22 :平臺(tái)(stage)
[0041] 23 :平臺(tái)(stage)驅(qū)動(dòng)部
[0042] 61 :濾波部
[0043] 62 :差分抽出部(圖像抽出部)
[0044] 63 :二值化處理部
[0045] 64 :加標(biāo)簽部
[0046] 65 :孤立去除處理部
[0047] 211 :照明部
[0048] 212 :光學(xué)系統(tǒng)
[0049] 213 :攝像元件
[0050] Ml :處理器核心
[0051] 642 :GPU
[0052] 643 :分別更新處理部
[0053] 644 :分別搜索處理部
[0054] 645 :加標(biāo)簽用存儲(chǔ)部
[0055] 646 :運(yùn)算處理部(控制部)
[0056] 647 :進(jìn)程生成部
[0057] 648 :并列處理控制部
[0058] 649 :數(shù)據(jù)初始設(shè)定部
[0059] Μ :基板檢測(cè)裝置
[0060] S :基板
[0061] S1 ?S4-n、S11 ?S21、S31 ?S38 :步驟
【具體實(shí)施方式】
[0062] 圖1是表示使用配備有本發(fā)明的加標(biāo)簽裝置的一實(shí)施方式的缺陷檢查裝置的檢 查系統(tǒng)的概略構(gòu)成的圖。該檢查系統(tǒng)1是進(jìn)行在作為檢查對(duì)象的半導(dǎo)體基板(以下稱作 "基板")s的外觀上所呈現(xiàn)的針孔或異物等缺陷檢查的檢查系統(tǒng)。檢查系統(tǒng)1包括對(duì)基板 S上的檢查對(duì)象區(qū)域進(jìn)行攝像的攝像裝置2,以及根據(jù)來(lái)自攝像裝置2的圖像數(shù)據(jù)進(jìn)行缺陷 檢查的控制裝置3。
[0063] 如果相對(duì)于本系統(tǒng)而另外設(shè)置于基板S的生產(chǎn)線上的基板檢測(cè)裝置Μ發(fā)現(xiàn)基板S 上有缺陷,則將該缺陷的位置座標(biāo)提供給該檢查系統(tǒng)1。裝在生產(chǎn)線上的基板檢測(cè)裝置Μ利 用預(yù)先規(guī)定的處理演算法來(lái)對(duì)基板S整體進(jìn)行檢查,如果基板表面有滿足作為缺陷的要件 的區(qū)域,則獲取該區(qū)域的位置座標(biāo)并加以輸出。因此,該基板檢測(cè)裝置Μ所具有的攝像部為 相對(duì)低的解析度,而處理演算法也為固定。
[0064] 另一方面,該檢查系統(tǒng)1經(jīng)由未圖示的接口而與基板檢測(cè)裝置Μ連接,并利用具有 更高解析度的攝像裝置2對(duì)作為缺陷而由基板檢測(cè)裝置Μ報(bào)告位置座標(biāo)的區(qū)域進(jìn)行攝像, 由控制裝置3對(duì)該圖像進(jìn)行細(xì)查而更詳細(xì)判定缺陷有無(wú)或其種類等,并且將缺陷部分的圖 像顯示于顯示部。
[0065] 攝像裝置2包括:通過(guò)對(duì)基板S上的檢查對(duì)象區(qū)域進(jìn)行攝像而獲取圖像數(shù)據(jù)的攝 像部21,保持基板S的平臺(tái)(stage) 22,及使平臺(tái)22對(duì)于攝像部21相對(duì)移動(dòng)的平臺(tái)驅(qū)動(dòng)部 23。而且,攝像部21包括出射照明光的照明部211,向基板S導(dǎo)引照明光并且供來(lái)自基板S 的光入射的光學(xué)系統(tǒng)212,及將由光學(xué)系統(tǒng)212成像的基板S的像轉(zhuǎn)換為電信號(hào)的攝像元 件213。平臺(tái)驅(qū)動(dòng)部23包含滾珠螺杠 (ball screw)、導(dǎo)軌及電動(dòng)機(jī),設(shè)置于控制裝置3的 裝置控制部4通過(guò)對(duì)平臺(tái)驅(qū)動(dòng)部23及攝像部21進(jìn)行控制,而對(duì)基板S上的檢查對(duì)象區(qū)域 進(jìn)行攝像。
[0066] 控制裝置3具有裝置控制部4,該裝置控制部4執(zhí)行預(yù)先讀入的控制程序,由此以 如下方式使圖1所示的控制裝置各部動(dòng)作??刂蒲b置3除所述的裝置控制部4外,還包括 圖像獲取部5及圖像處理部6。圖像獲取部5將從攝像部21輸出的電信號(hào)數(shù)據(jù)化,而獲取 與攝像圖像對(duì)應(yīng)的圖像數(shù)據(jù)。圖像處理部6對(duì)圖像獲取部5所獲取的圖像數(shù)據(jù)實(shí)施適當(dāng)?shù)?圖像處理,從而檢測(cè)圖像中所含的缺陷或制作缺陷部分的圖像(以下稱作"缺陷圖像")。另 夕卜,該圖像處理部6包含作為本發(fā)明的加標(biāo)簽裝置的一實(shí)施方式的加標(biāo)簽部,可高速地執(zhí) 行針對(duì)缺陷圖像的加標(biāo)簽處理。以后將對(duì)圖像處理部6特別是加標(biāo)簽部的構(gòu)成及動(dòng)作進(jìn)行 詳述。
[0067] 此外,控制裝置3包括用以存儲(chǔ)各種數(shù)據(jù)的存儲(chǔ)部7、受理來(lái)自使用者的操作輸入 的鍵盤及鼠標(biāo)等輸入受理部8及顯示操作順序或處理結(jié)果等面向使用者的視覺(jué)信息的顯 示部9等。而且,雖省略圖示,但具有從光盤、磁盤、光磁盤等電腦可讀取的記錄媒體讀取信 息的讀取裝置,且與在檢查系統(tǒng)1的其他構(gòu)成之間收發(fā)信號(hào)的通信部適當(dāng)?shù)亟?jīng)由接口(1/ F)等而連接。
[0068] 圖2是表示圖像處理部的概略構(gòu)成的方框圖。圖像處理部6包括濾波部61、差分 抽出部62、二值化處理部63、加標(biāo)簽部64及孤立去除處理部65。濾波部61中從圖像獲取 部5發(fā)送來(lái)攝像圖像,并且從存儲(chǔ)部7發(fā)送來(lái)參照?qǐng)D像。所述兩圖像中的攝像圖像為由攝 像裝置2攝像的基板S的圖像,相當(dāng)于作為缺陷檢測(cè)檢查的對(duì)象的檢查對(duì)象圖像。而且,參 照?qǐng)D像是與無(wú)缺陷的理想的基板對(duì)應(yīng)的圖像,該實(shí)施方式中,如以下說(shuō)明那樣,利用檢查對(duì) 象圖像與參照?qǐng)D像的比較而對(duì)檢查對(duì)象圖像進(jìn)行缺陷檢測(cè)。所述缺陷圖像及參照?qǐng)D像被存 儲(chǔ)在存儲(chǔ)部7中,且視需要而參照,但也可為視需要而讀入存儲(chǔ)在外部的存儲(chǔ)媒體中的圖 像數(shù)據(jù)的形態(tài)。
[0069] 濾波部61針對(duì)檢查對(duì)象圖像及參照?qǐng)D像的各個(gè),進(jìn)行用以去除圖像噪聲及與缺 陷無(wú)關(guān)的輕微的圖像的差異的濾波處理,并將各圖像發(fā)送至差分抽出部62。該差分抽出部 62相當(dāng)于本發(fā)明的"圖像抽出部"的一例,通過(guò)求出濾波處理后的檢查對(duì)象圖像及參照?qǐng)D像 的差分而抽出圖像內(nèi)容相互不同的區(qū)域,并將該差分圖像發(fā)送至二值化處理部63。而且,二 值化處理部63利用適宜的閾值將差分圖像二值化而生成二值圖像數(shù)據(jù)BFI,并發(fā)送至加標(biāo) 簽部64。該加標(biāo)簽部64將二值圖像數(shù)據(jù)BFI進(jìn)行進(jìn)程長(zhǎng)度化而生成多個(gè)進(jìn)程,對(duì)該多個(gè) 進(jìn)程賦予標(biāo)簽。此外,孤立去除處理部65從已加標(biāo)簽的二值圖像中去除殘留的孤立點(diǎn)。由 此,制作所求出的缺陷位置圖像,并從圖像處理部6輸出。
[0070] 圖3是表示相當(dāng)于本發(fā)明的加標(biāo)簽裝置的一實(shí)施方式的加標(biāo)簽部的概略構(gòu)成的 方框圖。該加標(biāo)簽部64包括具有多個(gè)處理器核心641的圖形處理器(Graphics Processing Unit,GPU) 642。該GPU642中,各處理器核心641作為分別更新處理部643及分別搜索處理 部644而發(fā)揮功能,并將針對(duì)每個(gè)進(jìn)程的分別更新處理及分別搜索處理分別作為一個(gè)線程 而加以執(zhí)行。本實(shí)施方式中,針對(duì)每個(gè)進(jìn)程的分別更新處理相當(dāng)于本發(fā)明的"更新線程"的 一例,針對(duì)每個(gè)進(jìn)程的分別搜索處理相當(dāng)于本發(fā)明的"搜索線程"的一例。另外,關(guān)于分別 更新處理及分別搜索處理,將于以后進(jìn)行詳述。
[0071] 而且,加標(biāo)簽部64包括加標(biāo)簽用存儲(chǔ)部645,該加標(biāo)簽用存儲(chǔ)部645存儲(chǔ)二值圖像 數(shù)據(jù)BFI、用以指定進(jìn)程r[m]的數(shù)據(jù)(以下稱作"進(jìn)程數(shù)據(jù)")、及進(jìn)程連接數(shù)據(jù)id[m]。關(guān) 于這些數(shù)據(jù),以后將一邊表示具體例一邊進(jìn)行詳述。
[0072] 此外,加標(biāo)簽部64中設(shè)置著包含中央處理器(Central Processing Unit, CPU)或 存儲(chǔ)器等的運(yùn)算處理部646。運(yùn)算處理部646中包括:進(jìn)程生成部647,通過(guò)CPU依據(jù)規(guī)定 的程序進(jìn)行運(yùn)算處理,將二值圖像數(shù)據(jù)BFI進(jìn)行進(jìn)程長(zhǎng)度化而生成進(jìn)程r[m];并列處理控 制部648,對(duì)GPU642內(nèi)的各處理器核心641所執(zhí)行的線程一邊進(jìn)行排他控制一邊并列執(zhí)行; 以及數(shù)據(jù)初始設(shè)定部649,將進(jìn)程r[m]及進(jìn)程連接數(shù)據(jù)id[m]中所含的標(biāo)簽編號(hào)初始化。 這樣,運(yùn)算處理部646作為本發(fā)明的"控制部"而發(fā)揮功能。
[0073] 然后,一邊參照?qǐng)D4至圖10 -邊對(duì)如所述般構(gòu)成的加標(biāo)簽部64的加標(biāo)簽動(dòng)作進(jìn) 行說(shuō)明。圖4是表示加標(biāo)簽部的加標(biāo)簽動(dòng)作的流程圖。如果由二值化處理部63制作的二 值圖像數(shù)據(jù)BFI被提供給加標(biāo)簽部64,則加標(biāo)簽部64的運(yùn)算處理部646對(duì)加標(biāo)簽部64的 各部進(jìn)行控制而執(zhí)行加標(biāo)簽處理。首先,該二值圖像數(shù)據(jù)BFI被暫時(shí)地記錄到加標(biāo)簽用存 儲(chǔ)部645中。而且,對(duì)二值圖像數(shù)據(jù)BFI,由進(jìn)程生成部647執(zhí)行進(jìn)程長(zhǎng)度化處理而生成多 個(gè)進(jìn)程r [m](步驟S1),且存儲(chǔ)在加標(biāo)簽用存儲(chǔ)部645中。另外,關(guān)于進(jìn)程長(zhǎng)度化處理,現(xiàn)有 周知技術(shù)中已提出有許多,本實(shí)施方式中也直接使用普通的進(jìn)程長(zhǎng)度化處理。因此,省略進(jìn) 程長(zhǎng)度化處理的說(shuō)明。
[0074] 圖5是表示提供給加標(biāo)簽部的二值圖像數(shù)據(jù)的一例的圖。而且,圖6(a)?圖6(c) 是表示對(duì)圖5的二值圖像數(shù)據(jù)執(zhí)行進(jìn)程長(zhǎng)度化處理所得的進(jìn)程的進(jìn)程數(shù)據(jù)及表示進(jìn)程彼 此的連結(jié)關(guān)系的進(jìn)程連接數(shù)據(jù)的初始值的圖。圖5及圖6(a)中的縱方向及橫方向的數(shù)值 (0、1、2、...)表示矩陣排列的像素的行方向及列方向的座標(biāo)位置,即行索引(index)及列 索引。而且,圖5中,被附加影線的像素表示為具有"1"的像素?cái)?shù)據(jù)的像素,另一方面,未被 附加影線的像素表示為具有"〇"的像素?cái)?shù)據(jù)的像素。如果對(duì)具有此種像素?cái)?shù)據(jù)的二值圖像 數(shù)據(jù)BFI施加針對(duì)每行的進(jìn)程長(zhǎng)度化處理,則獲得圖6 (a)所示的進(jìn)程。具體來(lái)說(shuō),在第0行 及第4行中,因不存在"1"的像素,所以不制作進(jìn)程,在第1行至第3行中,分別制作2個(gè)、2 個(gè)及1個(gè)進(jìn)程。該說(shuō)明書(shū)中,以"m"來(lái)表示由進(jìn)程長(zhǎng)度化處理制作而成的各進(jìn)程的進(jìn)程編 號(hào),按照進(jìn)程的制作順序取〇、1、2、...的值,且以r[m]來(lái)表示進(jìn)程編號(hào)m的進(jìn)程。
[0075] 而且,圖6(b)中圖示了將進(jìn)程r[0]?進(jìn)程r[4]的進(jìn)程數(shù)據(jù)按照進(jìn)程編號(hào)順序存 儲(chǔ)在加標(biāo)簽用存儲(chǔ)部645的進(jìn)程數(shù)據(jù)存儲(chǔ)區(qū)域中的狀態(tài),該進(jìn)程r[0]?進(jìn)程r [4]是將圖 5的二值圖像數(shù)據(jù)BFI進(jìn)行進(jìn)程長(zhǎng)度化處理制作而成。該圖6(b)中,"標(biāo)簽編號(hào)"表示賦予 至該進(jìn)程的標(biāo)簽,"始端像素位置"表示如下的列索引,即該列索引表示二值圖像數(shù)據(jù)BFI中 的該進(jìn)程的始端像素位置,"終端像素位置"表示如下的列索引,即該列索引表示二值圖像 數(shù)據(jù)BFI中的該進(jìn)程的終端像素位置,"行索引"表示二值圖像數(shù)據(jù)BFI中的該進(jìn)程的行索 弓丨。這些之中的"標(biāo)簽編號(hào)"是表示該進(jìn)程與該進(jìn)程以外的進(jìn)程的連結(jié)關(guān)系的值,通過(guò)執(zhí)行 以后將要說(shuō)明的更新處理(步驟S3)及搜索處理(步驟S4),而對(duì)圖5所示的二值圖像數(shù)據(jù) BFI中相互連結(jié)的進(jìn)程彼此賦予相同的值。另外,本實(shí)施方式中,為了有效率地執(zhí)行搜索處 理(步驟S4),而具有表示進(jìn)程彼此的連結(jié)關(guān)系的進(jìn)程連接表。該進(jìn)程連接表中,設(shè)置進(jìn)程 連接數(shù)據(jù)id[m]來(lái)作為表示進(jìn)程r[m]的連接狀態(tài)的數(shù)據(jù),且由標(biāo)簽編號(hào)來(lái)表示進(jìn)程r[m] 與其他進(jìn)程的連接狀態(tài),例如以圖6 (c)所示的表形式而存儲(chǔ)在加標(biāo)簽用存儲(chǔ)部645的進(jìn)程 連接數(shù)據(jù)存儲(chǔ)區(qū)域中。
[0076] 回到圖4中繼續(xù)說(shuō)明加標(biāo)簽處理。本實(shí)施方式中,在根據(jù)二值圖像數(shù)據(jù)BFI制作進(jìn) 程時(shí),針對(duì)每一進(jìn)程,設(shè)定相互不同的標(biāo)簽編號(hào)來(lái)作為表示該進(jìn)程與該進(jìn)程以外的進(jìn)程的 連結(jié)關(guān)系的標(biāo)簽(步驟S2)。本實(shí)施方式中,使進(jìn)程r[m]的標(biāo)簽編號(hào)及進(jìn)程連接數(shù)據(jù)id[m] 的標(biāo)簽編號(hào)與進(jìn)程編號(hào)m-致。即,將進(jìn)程 r[0]、進(jìn)程r[l]、...的標(biāo)簽編號(hào)分別初始設(shè)定 為..,并且對(duì)進(jìn)程連接數(shù)據(jù)id[0]、進(jìn)程連接數(shù)據(jù)id[l]、...的標(biāo)簽編號(hào)也分別 初始設(shè)定為。
[0077] 在下一步驟S3中執(zhí)行更新處理(步驟S3)。該更新處理中,針對(duì)每一進(jìn)程而執(zhí)行 分別更新處理。該"分別更新處理"是如下的處理:將一個(gè)進(jìn)程作為處理對(duì)象進(jìn)程,并且判 定是否存在在該處理對(duì)象進(jìn)程的下行且在縱方向及斜方向上連接的連結(jié)進(jìn)程,當(dāng)存在連結(jié) 進(jìn)程時(shí),將處理對(duì)象進(jìn)程及連結(jié)進(jìn)程中的進(jìn)程連接數(shù)據(jù)的標(biāo)簽編號(hào)中的較大的標(biāo)簽編號(hào)更 新為較小的標(biāo)簽編號(hào),本實(shí)施方式中對(duì)多個(gè)(例如η個(gè))進(jìn)程的各個(gè)執(zhí)行分別更新處理。此 處,也可串行地、例如按照進(jìn)程編號(hào)順序來(lái)進(jìn)行所述η個(gè)分別更新處理,但該情況下,更新 處理要耗費(fèi)大量時(shí)間。
[0078] 因此,本實(shí)施方式中,將針對(duì)每個(gè)進(jìn)程的分別更新處理作為一個(gè)線程,由GPU642 內(nèi)的各處理器核心641并列地執(zhí)行線程。即,如圖3所示,第0處理器核心641中將進(jìn)程 r[0]作為處理對(duì)象進(jìn)程而執(zhí)行分別更新處理,且與其并行地在第1處理器核心641中將進(jìn) 程r[l]作為處理對(duì)象進(jìn)程而執(zhí)行分別更新處理。而且,關(guān)于其他進(jìn)程r[2]、進(jìn)程r[3]..... 進(jìn)程r [η],也與所述分別更新處理并行地執(zhí)行。其中,在各分別更新處理中,因如后述那樣 伴有進(jìn)程連接數(shù)據(jù)中的標(biāo)簽編號(hào)的更新作業(yè),所以本實(shí)施方式中并列處理控制部648進(jìn)行 處理器核心641間的排他控制。
[0079] 圖7是表示由各處理器核心執(zhí)行的分別更新處理的流程圖。而且,圖8是表示由 各處理器核心執(zhí)行的分別更新處理的一例的示意圖。此處,首先一邊參照?qǐng)D7-邊說(shuō)明針 對(duì)進(jìn)程編號(hào)?(? = 〇、1、2、...或11)的進(jìn)程1'[?]的分別更新處理的基本動(dòng)作,然后,一邊參 照?qǐng)D8的具體例一邊說(shuō)明標(biāo)簽編號(hào)的更新例。
[0080] 進(jìn)程r[p]的分別更新處理是由第ρ處理器核心641按照以下的順序來(lái)執(zhí)行。步 驟S11中,將進(jìn)程r[p]作為處理對(duì)象進(jìn)程,并將與該處理對(duì)象進(jìn)程r[p]的下行連接的進(jìn)程 作為第1連結(jié)進(jìn)程而抽出。而且,在未抽出第1連結(jié)進(jìn)程的情況下(步驟S12中"否(N0) " 的情況下),結(jié)束該線程中的分別更新處理。
[0081] 另一方面,在已抽出第1連結(jié)進(jìn)程的情況下(步驟S12中"是(YES) "的情況下), 執(zhí)行以下的步驟S13?步驟S21而進(jìn)行標(biāo)簽編號(hào)的更新。另外,此處,繼續(xù)說(shuō)明將位于進(jìn)程 r[p]的下行的進(jìn)程r[q]作為第1連結(jié)進(jìn)程而抽出的情況。
[0082] 下一步驟S13中,從加標(biāo)簽用存儲(chǔ)部645中讀取與進(jìn)程r [ρ]、進(jìn)程r [q]分別對(duì)應(yīng) 的進(jìn)程連接數(shù)據(jù)id[p]、進(jìn)程連接數(shù)據(jù)id[q]。此處,在進(jìn)程連接數(shù)據(jù)id[p]、進(jìn)程連接數(shù)據(jù) id[q]設(shè)定為相同值,即同一標(biāo)簽編號(hào),而設(shè)定了連結(jié)關(guān)系的情況下(步驟S14中"YES"的 情況下),結(jié)束該分別更新處理。
[0083] 另一方面,在步驟S14中判定為"N0",即進(jìn)程連接數(shù)據(jù)id[p]、進(jìn)程連接數(shù)據(jù)id[q] 不同(設(shè)定相互不同的標(biāo)簽編號(hào))的情況下,進(jìn)行進(jìn)程連接數(shù)據(jù)的更新。如此般進(jìn)程連接 數(shù)據(jù)id[p]、進(jìn)程連接數(shù)據(jù)id[q]相互不同是指在進(jìn)程[P]與進(jìn)程[q]之間連結(jié)關(guān)系不成 立。然而,實(shí)際上連接關(guān)系成立,因而根據(jù)進(jìn)程連接數(shù)據(jù)id[p]、進(jìn)程連接數(shù)據(jù)id[q]的大小 關(guān)系而將一者的標(biāo)簽編號(hào)更新為另一者的標(biāo)簽編號(hào)(步驟S15?步驟S19)。
[0084] 步驟S15中對(duì)比進(jìn)程連接數(shù)據(jù)id[p]、進(jìn)程連接數(shù)據(jù)id[q],在根據(jù)該對(duì)比結(jié)果而 判明進(jìn)程連接數(shù)據(jù)id[p]為大于進(jìn)程連接數(shù)據(jù)id[q]的標(biāo)簽編號(hào)的情況下,將進(jìn)程連接數(shù) 據(jù)id[p]改寫(xiě)為進(jìn)程連接數(shù)據(jù)id[q],將進(jìn)程連接數(shù)據(jù)id[p]更新為更小的標(biāo)簽編號(hào)(步 驟S16)。而且,將如此般經(jīng)過(guò)變更的進(jìn)程r[p]的標(biāo)簽編號(hào)作為值(old_dum)而記錄,將變 更前的進(jìn)程連接數(shù)據(jù)id[p]作為值(old_id)而記錄,并且將變更后的進(jìn)程連接數(shù)據(jù)id[p] 作為值(new_id)而記錄(步驟S17)。
[0085] 相反,在判明進(jìn)程連接數(shù)據(jù)id[q]為比進(jìn)程連接數(shù)據(jù)id[p]大的標(biāo)簽編號(hào)的情況 下,將進(jìn)程連接數(shù)據(jù)id[q]改寫(xiě)為進(jìn)程連接數(shù)據(jù)id[p],將進(jìn)程連接數(shù)據(jù)id[q]更新為更小 的標(biāo)簽編號(hào)(步驟S18)。而且,將如此般為經(jīng)過(guò)變更的進(jìn)程r[q]的標(biāo)簽編號(hào)作為值(old_ dum)而記錄,將變更前的進(jìn)程連接數(shù)據(jù)id[q]作為值(old_id)而記錄,并且將變更后的進(jìn) 程連接數(shù)據(jù)id[q]作為值(new_id)而記錄(步驟S19)。
[0086] 而且,在值(old_dum)與值(old_id) -致的情況下(步驟S20中為"YES"的情況 下),結(jié)束該分別更新處理。另一方面,在兩者不一致的情況下(步驟S10中為"N0"的情況 下),作為更新了標(biāo)簽編號(hào)側(cè)的進(jìn)程(以下稱作"更新進(jìn)程")與處理對(duì)象進(jìn)程及所述第1連 結(jié)進(jìn)程以外的進(jìn)程(以下稱作"第2連結(jié)進(jìn)程")連結(jié)。因此,在存在此種第2連結(jié)進(jìn)程的 情況下,執(zhí)行步驟S21后回到步驟S13。也就是,步驟S21中將進(jìn)程編號(hào)p改寫(xiě)為值(old_ id)并且將進(jìn)程編號(hào)q改寫(xiě)為值(new_id)。由此,更新進(jìn)程設(shè)定為新的進(jìn)程r[p],且第2連 結(jié)進(jìn)程設(shè)定為新的進(jìn)程r[q],回到步驟S13中,檢查更新進(jìn)程與第2連結(jié)進(jìn)程之間標(biāo)簽編 號(hào)的異同(步驟S14),在標(biāo)簽編號(hào)不同的情況下將較大的標(biāo)簽編號(hào)更新為較小的標(biāo)簽編號(hào) (步驟S15?步驟S19)。
[0087] 如此在分別更新處理中,不僅對(duì)與處理對(duì)象進(jìn)程直接連接的直接連結(jié)進(jìn)程更新標(biāo) 簽編號(hào),也對(duì)經(jīng)由該直接連結(jié)進(jìn)程而與處理對(duì)象進(jìn)程間接連接的間接連結(jié)進(jìn)程更新標(biāo)簽編 號(hào)。
[0088] 然后,一邊參照對(duì)圖6(a)及圖6(b)所示的進(jìn)程r[0]?進(jìn)程r[4]執(zhí)行更新處理 的情況下的一例(圖8),一邊對(duì)更新處理(步驟S3)的內(nèi)容進(jìn)行更詳細(xì)說(shuō)明。另外,圖8中 的縱軸表示時(shí)間經(jīng)過(guò),在開(kāi)始時(shí)間點(diǎn)進(jìn)程連接數(shù)據(jù)id[0]?進(jìn)程連接數(shù)據(jù)id[4]分別設(shè)定 為初始值,即〇?4。進(jìn)程連接數(shù)據(jù)id[0]?進(jìn)程連接數(shù)據(jù)id[4]中的附上陰影線者表示 更新變更后的標(biāo)簽編號(hào)。而且,在"第〇線程"?"第4線程"的下方排列的項(xiàng)目("連結(jié)進(jìn) 程:存在","禁止改寫(xiě)"等)表示由各處理器核心641執(zhí)行的處理內(nèi)容。
[0089] 在η個(gè)處理器核心641中的5個(gè)處理器核心641中,分別并列地執(zhí)行進(jìn)程r [0]? 進(jìn)程r [4]的分別更新處理。這些之中的進(jìn)程r [3]、進(jìn)程r [4]的分別更新處理分別作為第 3線程及第4線程而執(zhí)行,但因均無(wú)下行,且不存在第1連結(jié)進(jìn)程,所以提前結(jié)束線程(步驟 S3-3、步驟S3-4),從而完成分別更新處理。另一方面,確認(rèn)進(jìn)程r[0]?進(jìn)程r[2]的分別更 新處理中存在連結(jié)進(jìn)程,進(jìn)行與這些進(jìn)程對(duì)應(yīng)的進(jìn)程連接數(shù)據(jù)的讀取、對(duì)比、改寫(xiě)等。此處, 例如第2線程(進(jìn)程r [2]的分別更新處理)中,讀取作為處理對(duì)象進(jìn)程的進(jìn)程r [2]、及與 其連接的連結(jié)進(jìn)程r[4]的進(jìn)程連接數(shù)據(jù)id[2]、進(jìn)程連接數(shù)據(jù)id[4]的值,即標(biāo)簽編號(hào)。此 處,
[0090] id[2] = 2,
[0091] id[4] = 4。
[0092] 將他們進(jìn)行對(duì)比的結(jié)果為,進(jìn)程連接數(shù)據(jù)id[4]為大于進(jìn)程連接數(shù)據(jù)id[2]的值, 因而必須將進(jìn)程連接數(shù)據(jù)id[4]的標(biāo)簽編號(hào)改寫(xiě)為進(jìn)程連接數(shù)據(jù)id[2]的標(biāo)簽編號(hào)。這樣 一來(lái),如果第2線程中的改寫(xiě)準(zhǔn)備最先完成,則在由并列處理控制部648暫時(shí)禁止第0線程 及第1線程的分別更新處理中的數(shù)據(jù)改寫(xiě)的狀態(tài)下,執(zhí)行進(jìn)程連接數(shù)據(jù)id[4]的改寫(xiě),進(jìn)程 連接數(shù)據(jù)id[4]的標(biāo)簽編號(hào)從"4"更新為"2"。而且,作為已更新的進(jìn)程r[4]的標(biāo)簽編號(hào) 的值(old_dum)與作為變更前的進(jìn)程連接數(shù)據(jù)id[4]的值(old_id)均為"4",因?yàn)槭窍嗤?的值,所以結(jié)束第2線程(步驟S3-2)。
[0093] 然后,如該圖所示,如果在第1線程中改寫(xiě)準(zhǔn)備完成,則在由并列處理控制部648 暫時(shí)禁止第0線程的分別更新處理中的數(shù)據(jù)改寫(xiě)的狀態(tài)下,執(zhí)行進(jìn)程連接數(shù)據(jù)id[2]、進(jìn)程 連接數(shù)據(jù)id[3]的改寫(xiě)。更具體來(lái)說(shuō),第1線程(進(jìn)程r[l]的分別更新處理)中,作為處 理對(duì)象進(jìn)程的進(jìn)程r[l]在下行與進(jìn)程r [2]、進(jìn)程r [3]連結(jié),從而將進(jìn)程r [2]、進(jìn)程r [3] 認(rèn)定為第1連結(jié)進(jìn)程。而且,讀取處理對(duì)象進(jìn)程r[l]的進(jìn)程連接數(shù)據(jù)id[l]、及連結(jié)進(jìn)程 r[2]、連結(jié)進(jìn)程r[3]的進(jìn)程連接數(shù)據(jù)id[2]、進(jìn)程連接數(shù)據(jù)id[3]。他們成為
[0094] id[l] = 1,
[0095] id[2] = 2,
[0096] id[3] = 3。
[0097] 對(duì)他們進(jìn)行對(duì)比的結(jié)果為,進(jìn)程連接數(shù)據(jù)id[2]、進(jìn)程連接數(shù)據(jù)id[3]均為大于進(jìn) 程連接數(shù)據(jù)id[l]的值,因而進(jìn)程連接數(shù)據(jù)id[2]、進(jìn)程連接數(shù)據(jù)id[3]的標(biāo)簽編號(hào)均改寫(xiě) 為進(jìn)程連接數(shù)據(jù)id[l]的標(biāo)簽編號(hào)。而且,關(guān)于已更新的進(jìn)程r[2],作為其標(biāo)簽編號(hào)的值 (old_dum)及作為變更前的進(jìn)程連接數(shù)據(jù)id[2]的值(old_id)均為"2"。而且,關(guān)于已更 新的進(jìn)程r[3],作為其標(biāo)簽編號(hào)的值(old_dum)與作為變更前的進(jìn)程連接數(shù)據(jù)id[3]的值 (old_id)均為"3"。這樣,關(guān)于進(jìn)程r[2]、進(jìn)程r[3]中的任一個(gè),值(old_dum)與值(old_ id)為相同的值,因而結(jié)束第1線程(步驟S3-1)。
[0098] 最后剩余的第0線程(進(jìn)程r[0]的分別更新處理)中,作為處理對(duì)象進(jìn)程的進(jìn)程 r[0]在下行與進(jìn)程r [2]連接,將進(jìn)程r [2]作為連結(jié)進(jìn)程而與所述第1線程及第2線程同 樣地將進(jìn)程連接數(shù)據(jù)id[2]的標(biāo)簽編號(hào)改寫(xiě)為進(jìn)程連接數(shù)據(jù)id[0]的標(biāo)簽編號(hào)。其中,所 更新的進(jìn)程連接數(shù)據(jù)id[2]已被改寫(xiě)1次而從初始值(進(jìn)程r[2]的初始標(biāo)簽編號(hào)=2)變 為"1",作為該進(jìn)程r[2]的標(biāo)簽編號(hào)的值(old_dum)與作為變更前的進(jìn)程連接數(shù)據(jù)id[2] 的值(〇ld_id)分別為而不同。因此,如圖7的步驟S21中執(zhí)行那樣,進(jìn)行進(jìn)程連 接數(shù)據(jù)id[0]、進(jìn)程連接數(shù)據(jù)id[l]的讀取、對(duì)比、改寫(xiě),且如圖8的下部分所示,將進(jìn)程連接 數(shù)據(jù)id[l]的標(biāo)簽編號(hào)改寫(xiě)為進(jìn)程連接數(shù)據(jù)id[0]的標(biāo)簽編號(hào)。這樣,作為已更新的進(jìn)程 r[l]的標(biāo)簽編號(hào)的值(old_dum)與作為變更前的進(jìn)程連接數(shù)據(jù)id[l]的值(old_id)均為 "1",因?yàn)槭窍嗤闹邓越Y(jié)束第〇線程(步驟S3-0)。這樣,進(jìn)程r[l]不與處理對(duì)象進(jìn)程 r[0]直接連接,而經(jīng)由進(jìn)程r[2]間接連接,從而對(duì)其也進(jìn)行進(jìn)程連接數(shù)據(jù)的更新。
[0099] 這樣一來(lái),如果所有線程結(jié)束,則更新處理(步驟S3)完成,通過(guò)對(duì)圖6(a)及圖 6(b)所示的進(jìn)程r[0]?進(jìn)程r[4]執(zhí)行更新處理而進(jìn)程連接數(shù)據(jù)id[0]?進(jìn)程連接數(shù)據(jù) id[4]從(0、1、2、3、4)更新為(0、0、0、1、2)。另外,根據(jù)所述說(shuō)明可知,因由1線程、1進(jìn)程 進(jìn)行并行處理,所以更新處理后的進(jìn)程連接數(shù)據(jù)id[0]?進(jìn)程連接數(shù)據(jù)id[4]的標(biāo)簽編號(hào) 根據(jù)哪一進(jìn)程先受到處理而取不同的值。
[0100] 然后,回到圖4中繼續(xù)說(shuō)明加標(biāo)簽處理。當(dāng)所述更新處理(步驟S3)結(jié)束時(shí),執(zhí)行 搜索處理(步驟S4)。該搜索處理也與更新處理同樣地,將針對(duì)每個(gè)進(jìn)程的分別搜索處理 作為一個(gè)線程,由并列處理控制部648 -邊控制改寫(xiě)時(shí)機(jī)一邊由GPU642內(nèi)的各處理器核心 641并列地執(zhí)行線程。即,如圖3所示,第0處理器核心641中將進(jìn)程r[0]作為處理對(duì)象 進(jìn)程而執(zhí)行分別搜索處理,與其并行地在第1處理器核心641中將進(jìn)程r[l]作為處理對(duì)象 進(jìn)程而執(zhí)行分別搜索處理。而且,關(guān)于其他進(jìn)程r [2]、進(jìn)程r [3].....進(jìn)程r [η],也與所述 分別搜索處理并行地執(zhí)行。另外,"分別搜索處理"是將一個(gè)進(jìn)程作為處理對(duì)象進(jìn)程并且根 據(jù)數(shù)據(jù)連接表(進(jìn)程連接數(shù)據(jù)id[0]、進(jìn)程連接數(shù)據(jù)id[l].....進(jìn)程連接數(shù)據(jù)id [η])來(lái)找 出與該處理對(duì)象進(jìn)程連接的連結(jié)進(jìn)程,而將處理對(duì)象進(jìn)程及連結(jié)進(jìn)程的標(biāo)簽編號(hào)改寫(xiě)為相 同。以下,一邊參照?qǐng)D9及圖10 -邊對(duì)分別搜索處理進(jìn)行詳述。
[0101] 圖9是表示由各處理器核心執(zhí)行的分別搜索處理的流程圖。而且,圖10是表示由 各處理器核心執(zhí)行的分別搜索處理的一例的示意圖。此處,也與分別更新處理的情況同樣 地,首先一邊參照?qǐng)D9 一邊說(shuō)明針對(duì)進(jìn)程r[p]的分別搜索處理的基本動(dòng)作,然后一邊參照 圖10的具體例一邊說(shuō)明標(biāo)簽編號(hào)的改寫(xiě)例。
[0102] 進(jìn)程r[p]的分別搜索處理由第p處理器核心641按照以下的順序來(lái)執(zhí)行。步 驟S31中,將進(jìn)程r[p]作為處理對(duì)象進(jìn)程,從進(jìn)程連接表中讀取并獲取與該處理對(duì)象進(jìn)程 r[p]對(duì)應(yīng)的進(jìn)程連接數(shù)據(jù)id[p]。然后,判定該進(jìn)程連接數(shù)據(jù)id[p]是否與處理對(duì)象進(jìn)程 r[p]的標(biāo)簽編號(hào)的初始值相等(步驟S32)。此處,在判定為相同的情況下,直接完成分別 搜索處理。另一方面,在判定為不同的情況下(步驟S32中為"N0"的情況下),執(zhí)行步驟 S33?步驟S38而進(jìn)行標(biāo)簽編號(hào)的改寫(xiě)。
[0103] 步驟S33中將進(jìn)程連接數(shù)據(jù)id[p]作為值(new_dum)而記錄后,從進(jìn)程連接表中 讀取進(jìn)程連接數(shù)據(jù)id[new_dum](步驟S34)。而且,判定進(jìn)程連接數(shù)據(jù)id[new_dum]與值 (new_dum)是否相等(步驟S35),在判定為他們并不相等的期間,將值(new_dum)改寫(xiě)為進(jìn) 程連接數(shù)據(jù)id[new_dum](步驟S36),回到步驟S34而重復(fù)進(jìn)行新的進(jìn)程連接數(shù)據(jù)id[new_ dum]的讀取。
[0104] 然后,在進(jìn)程連接數(shù)據(jù)id[new_dum]與值(new_dum) -致的時(shí)間點(diǎn)(步驟S35中 判定為"YES"的時(shí)間點(diǎn)),將進(jìn)程編號(hào)p的進(jìn)程r[p]的標(biāo)簽編號(hào)改寫(xiě)為值(new_dum)(步驟 S37)。而且,對(duì)于進(jìn)程連接數(shù)據(jù)id[p],也同樣地改寫(xiě)為值(neW_dum)(步驟S38),從而結(jié)束 該分別搜索處理。另外,該改寫(xiě)與分別更新處理的情況同樣地在由并列處理控制部648控 制改寫(xiě)時(shí)機(jī)的狀態(tài)下執(zhí)行。
[0105] 然后,一邊參照在由如圖8所示的更新處理將進(jìn)程連接表從初始狀態(tài)更新后繼而 執(zhí)行搜索處理的情況下的一例(圖10),一邊更詳細(xì)說(shuō)明搜索處理(步驟S4)的內(nèi)容。另 夕卜,此處,一邊參照?qǐng)D10 -邊說(shuō)明將進(jìn)程r[4]作為處理對(duì)象進(jìn)程的分別搜索處理。圖10中 的縱軸表示時(shí)間經(jīng)過(guò),進(jìn)程r[0]?進(jìn)程r[4]的標(biāo)簽編號(hào)的初始值分別設(shè)定為0?4。標(biāo)簽 編號(hào)中的附上梨皮花紋者表示成為搜索對(duì)象的標(biāo)簽編號(hào)。而且,在"第4線程"的下方排列 的項(xiàng)目("id[4]的獲取一id[4] =2"等)表示由第4處理器核心641執(zhí)行的處理內(nèi)容。
[0106] 第4處理器核心641中,將進(jìn)程r[4]作為處理對(duì)象進(jìn)程,從進(jìn)程連接表中讀取與 該處理對(duì)象進(jìn)程r [4]對(duì)應(yīng)的進(jìn)程連接數(shù)據(jù)id [4],在將該值(=2)與進(jìn)程r [4]的標(biāo)簽編 號(hào)的初始值(=4)進(jìn)行對(duì)比后,確認(rèn)兩者不一致。于是,將讀取對(duì)象移動(dòng)至進(jìn)程連接數(shù)據(jù) id[4]所示的標(biāo)簽編號(hào)(new_dum)的進(jìn)程連接數(shù)據(jù)id[new_dum]、即進(jìn)程連接數(shù)據(jù)id[2],并 從進(jìn)程連接表中讀取進(jìn)程連接數(shù)據(jù)id[2],將該值(=0)與進(jìn)程r[2]的標(biāo)簽編號(hào)的初始 值(=2)進(jìn)行對(duì)比。然后,如果確認(rèn)兩者不一致,則再次將讀取對(duì)象移動(dòng)至進(jìn)程連接數(shù)據(jù) id[2]所示的標(biāo)簽編號(hào)(new_dum)的進(jìn)程連接數(shù)據(jù)id[new_dum]、即進(jìn)程連接數(shù)據(jù)id[0],并 從進(jìn)程連接表中讀取進(jìn)程連接數(shù)據(jù)id[0],將該值(=0)與進(jìn)程r[0]的標(biāo)簽編號(hào)的初始 值(=〇)進(jìn)行對(duì)比。于是,確認(rèn)兩者一致,將處理對(duì)象進(jìn)程r[4]的標(biāo)簽編號(hào)改寫(xiě)為該值, 從而結(jié)束該線程。另外,關(guān)于其他線程也執(zhí)行相同的分別搜索處理,其結(jié)果,搜索相互連接 的進(jìn)程并賦予同一標(biāo)簽。例如對(duì)于將圖5所示的二值圖像數(shù)據(jù)進(jìn)行進(jìn)程長(zhǎng)度化處理所得的 進(jìn)程r[0]?進(jìn)程r [4](參照?qǐng)D6 (a)?圖6(c))賦予同一標(biāo)簽(=0)。
[0107] 如以上,本實(shí)施方式中,在初始設(shè)定針對(duì)每個(gè)進(jìn)程r[m]而具有相互不同的值的標(biāo) 簽編號(hào)后,執(zhí)行更新處理(步驟S3)及搜索處理(步驟S4)這2段工序。在這些之中的更 新處理(步驟S3)中,針對(duì)每個(gè)進(jìn)程r[m],執(zhí)行分別更新處理(步驟S3-0、步驟S3-1、···) 并根據(jù)是否存在與處理對(duì)象進(jìn)程連接的連結(jié)進(jìn)程而更新標(biāo)簽編號(hào)。而且,搜索處理(步驟 S4)中,針對(duì)每個(gè)進(jìn)程r[m],執(zhí)行分別搜索處理(步驟S4-0、步驟S4-1、...)并根據(jù)更新后 的標(biāo)簽編號(hào)來(lái)找出與處理對(duì)象進(jìn)程連接的連結(jié)進(jìn)程,將處理對(duì)象進(jìn)程及連結(jié)進(jìn)程的標(biāo)簽改 寫(xiě)為相同。這樣,可由與進(jìn)程的個(gè)數(shù)m為相同數(shù)量的標(biāo)簽編號(hào)進(jìn)行二值圖像數(shù)據(jù)BFI的加 標(biāo)簽處理,從而可使加標(biāo)簽處理高速化。
[0108] 而且,更新處理(步驟S3)及搜索處理(步驟S4)均由1進(jìn)程、1線程并列地進(jìn)行針 對(duì)每個(gè)進(jìn)程的分別更新處理及分別搜索處理,因而可大幅縮短加標(biāo)簽處理所需的總時(shí)間。
[0109] 此外,分別更新處理(步驟S3-0、步驟S3-1、...)中,構(gòu)成為在已更新與處理對(duì)象 進(jìn)程直接連接的第1連結(jié)進(jìn)程的標(biāo)簽編號(hào)時(shí),不僅對(duì)該第1連結(jié)進(jìn)程進(jìn)行標(biāo)簽更新,在存在 除與第1連結(jié)進(jìn)程連接的處理對(duì)象進(jìn)程以外的第2連結(jié)進(jìn)程的情況下,也對(duì)第2連結(jié)進(jìn)程 進(jìn)行標(biāo)簽更新。因此,可縮短在針對(duì)處理對(duì)象進(jìn)程的分別更新處理后執(zhí)行的針對(duì)第2連結(jié) 進(jìn)程的分別更新處理所需的時(shí)間。結(jié)果,可縮短總的處理時(shí)間。
[0110] 另外,本發(fā)明并不限于所述實(shí)施方式,只要不脫離其主旨則除所述以外還可進(jìn)行 各種變更。例如,所述實(shí)施方式中,由1進(jìn)程、1線程并列地進(jìn)行分別更新處理,但多個(gè)進(jìn)程 r[m]的劃分形態(tài)不限于此。即,也可根據(jù)處理器核心641的個(gè)數(shù)而適當(dāng)變更多個(gè)進(jìn)程r[m] 的劃分形態(tài),還可構(gòu)成為根據(jù)處理器核心641的個(gè)數(shù)將多個(gè)進(jìn)程r[m]劃分為多組,各處理 器核心對(duì)經(jīng)劃分的一個(gè)或多個(gè)進(jìn)程將分別更新處理作為更新線程而執(zhí)行。就這些方面而 言,在分別搜索處理中也完全相同。
[0111] 而且,所述實(shí)施方式中,為了執(zhí)行分別更新處理及分別搜索處理而使用具有多個(gè) 處理器核心641的GPU642,但也可構(gòu)成為代替GPU而設(shè)置多個(gè)CPU,由各CPU執(zhí)行一個(gè)線程。 而且,還可在GPU642內(nèi)設(shè)置運(yùn)算處理部646或加標(biāo)簽用存儲(chǔ)部645。
[0112] 而且,所述實(shí)施方式中,位于第0處理器核心641?第η處理器核心641的上位的 并列處理控制部648進(jìn)行加標(biāo)簽用存儲(chǔ)部645的訪問(wèn)(access)管理,在更新處理及搜索處 理的任一個(gè)中,根據(jù)利用一個(gè)線程進(jìn)行的數(shù)據(jù)改寫(xiě)而暫時(shí)地禁止利用其他線程進(jìn)行的數(shù)據(jù) 改寫(xiě)。即,在由一個(gè)線程例如進(jìn)行進(jìn)程連接數(shù)據(jù)id[m](其中η)的改寫(xiě)的情況下, 不僅暫時(shí)地禁止其他線程改寫(xiě)進(jìn)程連接數(shù)據(jù)id[m]而避免標(biāo)簽更新的沖突,而且除此以外 的進(jìn)程連接數(shù)據(jù)的改寫(xiě)也暫時(shí)禁止。所述訪問(wèn)管理未必為最佳,尚有改善的余地。例如為 了實(shí)現(xiàn)處理速度的進(jìn)一步的提高,理想的是以如下方式執(zhí)行并列處理控制部648對(duì)加標(biāo)簽 用存儲(chǔ)部645的訪問(wèn)管理。也就是,在由一個(gè)線程進(jìn)行進(jìn)程連接數(shù)據(jù)id[m]的改寫(xiě)時(shí),優(yōu)選 暫時(shí)禁止其他線程改寫(xiě)進(jìn)程連接數(shù)據(jù)id[m]而避免標(biāo)簽更新的沖突,另一方面,使對(duì)進(jìn)程 連接數(shù)據(jù)id[m]以外的進(jìn)程連接數(shù)據(jù)的訪問(wèn)自由化而允許數(shù)據(jù)改寫(xiě)。
[0113] 而且,所述實(shí)施方式中,將二值圖像數(shù)據(jù)BFI針對(duì)每一行進(jìn)行進(jìn)程長(zhǎng)度化而獲得 進(jìn)程r[m],并且將在處理對(duì)象進(jìn)程的下行且在縱方向及斜方向上連接的進(jìn)程判定為連結(jié)進(jìn) 程,但進(jìn)程長(zhǎng)度化的形態(tài)、連結(jié)進(jìn)程的判定形態(tài)均不限定于此,例如可對(duì)針對(duì)每列而進(jìn)行進(jìn) 程長(zhǎng)度化,且對(duì)由該進(jìn)程長(zhǎng)度化處理制作而成的進(jìn)程應(yīng)用本發(fā)明的加標(biāo)簽方法。而且,所述 實(shí)施方式中,如所述般由針對(duì)下行的進(jìn)程的8鄰域搜索來(lái)決定連結(jié)進(jìn)程,但也可由其他搜 索方法,例如4鄰域搜索來(lái)決定連結(jié)進(jìn)程。而且,所述實(shí)施方式的進(jìn)程長(zhǎng)度化處理中由圖像 整體一次性生成進(jìn)程,但也可將圖像切分為適當(dāng)尺寸區(qū)域,在各切分范圍內(nèi)生成進(jìn)程。然 而,該情況下,必須在切分區(qū)域彼此的邊界處進(jìn)行進(jìn)程的連接判定處理。
[0114] 而且,所述實(shí)施方式中,連續(xù)的標(biāo)簽編號(hào)(0、1、2、...)被用作本發(fā)明的"標(biāo)簽",但 也可將與其不同的編號(hào)或編號(hào)以外的值用作本發(fā)明的"標(biāo)簽"。而且,是改寫(xiě)為更小的編號(hào) 而進(jìn)行標(biāo)簽更新,但標(biāo)簽更新的形態(tài)并不限定于此。
[0115] 此外,所述實(shí)施方式中,是在裝置內(nèi)部將二值圖像數(shù)據(jù)BFI進(jìn)行進(jìn)程長(zhǎng)度化后,對(duì) 由該進(jìn)程長(zhǎng)度化處理制作而成的進(jìn)程實(shí)施加標(biāo)簽處理,但本發(fā)明中應(yīng)用對(duì)象并不限定于 此,本發(fā)明也可應(yīng)用于例如對(duì)將由外部裝置制作而成的進(jìn)程加標(biāo)簽的裝置或方法。
[0116] 本發(fā)明可優(yōu)選應(yīng)用于對(duì)將二值圖像數(shù)據(jù)進(jìn)行進(jìn)程長(zhǎng)度化制作而成的多個(gè)進(jìn)程賦 予標(biāo)簽的加標(biāo)簽技術(shù)。
【權(quán)利要求】
1. 一種加標(biāo)簽方法,對(duì)將二值圖像數(shù)據(jù)進(jìn)行進(jìn)程長(zhǎng)度化制作而成的多個(gè)進(jìn)程實(shí)施加標(biāo) 簽處理,所述加標(biāo)簽方法的特征在于包括 : 初始標(biāo)簽設(shè)定工序,對(duì)各進(jìn)程設(shè)定相互不同的標(biāo)簽; 更新工序,針對(duì)每一所述進(jìn)程,將所述進(jìn)程作為處理對(duì)象進(jìn)程,并且判定是否存在與所 述處理對(duì)象進(jìn)程連接的第1連結(jié)進(jìn)程,當(dāng)存在所述第1連結(jié)進(jìn)程時(shí),進(jìn)行將所述處理對(duì)象進(jìn) 程及所述第1連結(jié)進(jìn)程中的一者的標(biāo)簽更新為另一者的標(biāo)簽的分別更新處理;以及 搜索工序,在所述更新工序后,根據(jù)所述多個(gè)標(biāo)簽來(lái)搜索所述多個(gè)進(jìn)程中的相互連接 的進(jìn)程并賦予同一標(biāo)簽,且 在所述更新工序中,將所述多個(gè)進(jìn)程劃分為多組,并且將各組中執(zhí)行的所述分別更新 處理作為更新線程,基于排他控制一邊允許利用所述多個(gè)更新線程中的一個(gè)更新線程進(jìn)行 標(biāo)簽的改寫(xiě),并且禁止由所述一個(gè)更新線程改寫(xiě)的所述標(biāo)簽的利用其他更新線程進(jìn)行的改 寫(xiě),一邊并列執(zhí)行所述多個(gè)更新線程。
2. 根據(jù)權(quán)利要求1所述的加標(biāo)簽方法,其特征在于: 在所述更新工序中,允許由所述一個(gè)更新線程改寫(xiě)的所述標(biāo)簽以外的標(biāo)簽的利用所述 其他更新線程進(jìn)行的改寫(xiě)。
3. 根據(jù)權(quán)利要求1或2所述的加標(biāo)簽方法,其特征在于: 在所述分別更新處理中,將所述處理對(duì)象進(jìn)程及所述第1連結(jié)進(jìn)程中的更新了標(biāo)簽的 進(jìn)程作為更新進(jìn)程,判定是否對(duì)所述更新進(jìn)程連接有除所述處理對(duì)象進(jìn)程及所述第1連結(jié) 進(jìn)程以外的第2連結(jié)進(jìn)程,當(dāng)存在所述第2連結(jié)進(jìn)程時(shí),進(jìn)一步將所述更新進(jìn)程及所述第2 連結(jié)進(jìn)程中的一者的標(biāo)簽更新為另一者的標(biāo)簽。
4. 根據(jù)權(quán)利要求1或2所述的加標(biāo)簽方法,其特征在于: 所述多個(gè)進(jìn)程是將所述二值圖像數(shù)據(jù)針對(duì)每一行而進(jìn)行所述進(jìn)程長(zhǎng)度化所得的進(jìn)程, 在所述分別更新處理中,將與所述處理對(duì)象進(jìn)程的下行連接的進(jìn)程判定為所述第1連 結(jié)進(jìn)程。
5. 根據(jù)權(quán)利要求1或2所述的加標(biāo)簽方法,其特征在于: 在所述搜索工序中,針對(duì)每一所述進(jìn)程執(zhí)行如下的分別搜索處理, 將所述進(jìn)程作為所述處理對(duì)象進(jìn)程,并且根據(jù)所述多個(gè)標(biāo)簽來(lái)找出與所述處理對(duì)象進(jìn) 程連接的連結(jié)進(jìn)程,將所述處理對(duì)象進(jìn)程及所述連結(jié)進(jìn)程的標(biāo)簽改寫(xiě)為相同。
6. 根據(jù)權(quán)利要求5所述的加標(biāo)簽方法,其特征在于: 在所述搜索工序中,將所述多個(gè)進(jìn)程劃分為多組,并且將各組中執(zhí)行的所述分別搜索 處理作為搜索線程,基于所述排他控制一邊允許利用所述多個(gè)搜索線程中的一個(gè)搜索線程 進(jìn)行標(biāo)簽的改寫(xiě),并且禁止由所述一個(gè)搜索線程改寫(xiě)的所述標(biāo)簽的利用其他搜索線程進(jìn)行 的改寫(xiě),一邊并列執(zhí)行所述多個(gè)搜索線程。
7. 根據(jù)權(quán)利要求6所述的加標(biāo)簽方法,其特征在于: 在所述搜索工序中,允許由所述一個(gè)搜索線程改寫(xiě)的所述標(biāo)簽以外的標(biāo)簽的利用所述 其他搜索線程進(jìn)行的改寫(xiě)。
8. -種加標(biāo)簽裝置,對(duì)將二值圖像數(shù)據(jù)進(jìn)行進(jìn)程長(zhǎng)度化制作而成的多個(gè)進(jìn)程實(shí)施加標(biāo) 簽處理,所述加標(biāo)簽裝置的特征在于包括: 存儲(chǔ)部,存儲(chǔ)各進(jìn)程的標(biāo)簽; 處理器部,具有多個(gè)進(jìn)行運(yùn)算處理的處理器核心;以及 控制部,在對(duì)所述多個(gè)標(biāo)簽初始設(shè)定相互不同的值后,針對(duì)每一所述進(jìn)程,將所述進(jìn)程 作為處理對(duì)象進(jìn)程,并且判定是否存在與所述處理對(duì)象進(jìn)程連接的第1連結(jié)進(jìn)程,當(dāng)存在 所述第1連結(jié)進(jìn)程時(shí),進(jìn)行將所述處理對(duì)象進(jìn)程及所述第1連結(jié)進(jìn)程中的一者的標(biāo)簽更新 為另一者的標(biāo)簽的分別更新處理,并進(jìn)一步根據(jù)所述多個(gè)標(biāo)簽來(lái)搜索所述多個(gè)進(jìn)程中的相 互連接的進(jìn)程而賦予同一標(biāo)簽, 所述多個(gè)進(jìn)程根據(jù)所述處理器核心的個(gè)數(shù)而劃分為多組, 各處理器核心針對(duì)所劃分的一個(gè)或多個(gè)進(jìn)程而將所述分別更新處理作為更新線程來(lái) 執(zhí)行, 所述控制部基于排他控制,一邊允許利用所述多個(gè)更新線程中的一個(gè)更新線程進(jìn)行 標(biāo)簽的改寫(xiě),并且禁止由所述一個(gè)更新線程改寫(xiě)的所述標(biāo)簽的利用其他更新線程進(jìn)行的改 寫(xiě),一邊并列執(zhí)行所述多個(gè)更新線程,由此進(jìn)行針對(duì)每一所述進(jìn)程的所述分別更新處理。
9. 根據(jù)權(quán)利要求8所述的加標(biāo)簽裝置,其特征在于: 所述控制部針對(duì)每一所述進(jìn)程執(zhí)行如下的分別搜索處理, 將所述進(jìn)程作為所述處理對(duì)象進(jìn)程,并且根據(jù)所述多個(gè)標(biāo)簽來(lái)找出與所述處理對(duì)象進(jìn) 程連接的連結(jié)進(jìn)程,將所述處理對(duì)象進(jìn)程及所述連結(jié)進(jìn)程的標(biāo)簽改寫(xiě)為相同。
10. 根據(jù)權(quán)利要求9所述的加標(biāo)簽裝置,其特征在于: 所述各處理器核心針對(duì)所劃分的一個(gè)或多個(gè)進(jìn)程將所述分別搜索處理作為搜索線程 來(lái)執(zhí)行, 所述控制部基于所述排他控制,一邊允許利用所述多個(gè)搜索線程中的一個(gè)搜索線程進(jìn) 行標(biāo)簽的改寫(xiě),并且禁止由所述一個(gè)搜索線程改寫(xiě)的所述標(biāo)簽的利用其他搜索線程進(jìn)行的 改寫(xiě),一邊并列執(zhí)行所述多個(gè)搜索線程,由此進(jìn)行針對(duì)每一所述進(jìn)程的所述分別搜索處理。
11. 一種缺陷檢查裝置,其特征在于包括: 圖像獲取部,獲取檢查對(duì)象圖像; 圖像抽取部,對(duì)所述檢查對(duì)象圖像進(jìn)行檢查而抽出包含缺陷部位的缺陷圖像; 二值化處理部,對(duì)所述缺陷圖像進(jìn)行所述二值化處理而生成二值圖像數(shù)據(jù); 進(jìn)程生成部,將所述二值圖像數(shù)據(jù)進(jìn)行進(jìn)程長(zhǎng)度化而生成多個(gè)進(jìn)程;以及 加標(biāo)簽單元,具有與根據(jù)權(quán)利要求8至10中任一項(xiàng)所述的加標(biāo)簽裝置相同的構(gòu)成,且 對(duì)所述多個(gè)進(jìn)程中的相互連接的進(jìn)程賦予同一標(biāo)簽。
【文檔編號(hào)】G06T1/00GK104063270SQ201310751463
【公開(kāi)日】2014年9月24日 申請(qǐng)日期:2013年12月31日 優(yōu)先權(quán)日:2013年3月22日
【發(fā)明者】安田拓矢 申請(qǐng)人:大日本網(wǎng)屏制造株式會(huì)社