專利名稱:為了解碼嘗試而對(duì)圖像中的碼候選排序的方法和裝置的制作方法
為了解碼嘗試而對(duì)圖像中的碼候選排序的方法和裝置交叉引用甲請(qǐng)不適用關(guān)于聯(lián)邦資助研究或發(fā)展的聲明不適用
背景技術(shù):
本發(fā)明涉及讀碼器,并且更特別地涉及嘗試優(yōu)化將在所獲得的快速連續(xù)圖像中的碼候選解碼的解碼過(guò)程的讀碼器。對(duì)使用光碼的產(chǎn)品的自動(dòng)標(biāo)識(shí)在整個(gè)工業(yè)運(yùn)行和許多其他應(yīng)用中已被廣泛地實(shí)施了很多年。光碼是由具有不同光反射或發(fā)射的單元構(gòu)成的圖案,這些單元按照預(yù)定規(guī)則組合。光碼中的單元可以是線性條形碼中的條或者空,或者是二維矩陣碼中的開/關(guān)圖案。條形碼或符號(hào)能夠被打印在商品包裝上設(shè)置的標(biāo)簽上,或者通過(guò)直接部分標(biāo)記直接打印在商品自身上。在條形碼或符號(hào)中編碼的信息能夠通過(guò)使用固定安裝裝置或在便攜式手持設(shè)備中的光學(xué)讀取器被解碼。在固定安裝設(shè)備的情形中,通常提供傳輸線或類似物,其通過(guò)設(shè)備檢測(cè)器移動(dòng)標(biāo)有碼或符號(hào)的物體以便該檢測(cè)器能夠產(chǎn)生碼的圖像。至少一些讀取器設(shè)備包括能夠產(chǎn)生觀察域的二維圖像的照相機(jī)。例如,當(dāng)前許多系統(tǒng)裝備有二維CCD圖像傳感器,該傳感器獲得圖像并且產(chǎn)生提供給處理器的圖像數(shù)據(jù)。處理器被編程以檢查圖像數(shù)據(jù)來(lái)標(biāo)識(shí)碼候選(code candidate)(例如,條形碼或符號(hào)候選)并且嘗試將該碼候選解碼。至少一些讀取器設(shè)備被編程以獲得快速演變中的FOV的圖像并且嘗試盡快解碼在所獲得的圖像中的任何碼候選。為了解碼,處理器運(yùn)行一個(gè)或多個(gè)解碼算法。在圖像被獲得時(shí),物體通過(guò)傳輸線或者類似物移動(dòng)通過(guò)設(shè)備的F0V,在許多情況下,隨著物體和碼沿著通過(guò)FOV行進(jìn)的方向在不同的位置處,相同物體和被施加的碼的大量圖像被獲得。這里,圖像中的一些碼候選對(duì)于FOV將是新的(即在前一圖像期間,該碼候選位于FOV之外),并且一些碼將在后續(xù)圖像產(chǎn)生之前退出F0V。當(dāng)獲取碼的圖像時(shí),圖像的質(zhì)量取決于幾個(gè)因素,該因素包括關(guān)于被施加碼的表面的傳感器角度,被施加碼的表面的材料和質(zhì)地,碼標(biāo)記的質(zhì)量或者標(biāo)記后的損壞,周圍環(huán)境和設(shè)備照明特性,施加的符號(hào)的失真,傳輸線的速度,到被施加碼的表面的距離,光學(xué)斑點(diǎn),照相機(jī)分辨率等等。圖象質(zhì)量影響運(yùn)行用來(lái)將碼解碼的特定算法的處理器的能力。例如,在許多情況下,一個(gè)簡(jiǎn)單的解碼算法將不能成功地將圖像中的碼解碼,除非圖像采集的周圍環(huán)境是充分理想的。為了補(bǔ)償有缺陷的圖像采集,已開發(fā)出相對(duì)復(fù)雜的解碼算法。例如,已經(jīng)開發(fā)出若干解碼算法,它們能夠至少部分地補(bǔ)償有缺陷照明、碼施加在上面的被彎曲的表面、相對(duì)于碼施加在上面的表面的有缺陷的傳感器角度等等。盡管復(fù)雜的解碼算法在補(bǔ)償缺陷圖像方面運(yùn)轉(zhuǎn)良好,但一個(gè)缺點(diǎn)是復(fù)雜算法通常需要更大量處理功率和相當(dāng)長(zhǎng)的時(shí)間來(lái)執(zhí)行。盡管在一些應(yīng)用中更昂貴的算法不是問題,但在快速連續(xù)獲得圖像的應(yīng)用中,需要長(zhǎng)周期來(lái)完成的昂貴算法會(huì)導(dǎo)致遠(yuǎn)超過(guò)讀取器處理器能力的計(jì)算需求。更特別地,在一些情況中,圖像傳感器能夠迅速獲得并提供圖像,以致于讀取器設(shè)備處理器不能在接收下一圖像之前對(duì)圖像中的所有碼候選執(zhí)行復(fù)雜的算法。在處理器不能滿足為快速連續(xù)的圖像中的所有碼候選執(zhí)行復(fù)雜算法所要求的計(jì)算需求的情況下,一種解決方案是先行分析下一圖像的候選,直到讀取器設(shè)備已經(jīng)試圖解碼當(dāng)前圖像中的所有碼候選。因此,例如,如果在需要試圖解碼第一圖像中的所有碼候選的期間,第二到第四圖像被獲得,則當(dāng)?shù)谖鍒D像被獲得時(shí)第二到第四圖像將被丟棄,并且第四圖像中的碼候選將被檢查。盡管這個(gè)解決方案保證對(duì)于當(dāng)前或第一圖像中所有候選應(yīng)用復(fù)雜的算法,但在第一圖像的候選被處理時(shí),該解決方案簡(jiǎn)單的忽略第二至第四圖像中的碼候選,而不管后續(xù)圖像中的候選可能更適合被解碼。在這種情況下,最終結(jié)果可能是經(jīng)過(guò)觀察域的一些碼從未被成功地解碼。發(fā)明概述已經(jīng)被認(rèn)識(shí)到的是,為了解碼嘗試,所獲得圖像中的碼候選能夠按照各個(gè)因素的函數(shù)被排序在候選次序中,各個(gè)因素包括當(dāng)前被檢查的圖像中候選的位置、之前獲得的圖像中候選的位置、在之前圖像中解碼嘗試的結(jié)果、通過(guò)觀察域的物體/碼的行進(jìn)方向、通過(guò)觀察域的行進(jìn)速度、候選是否將可能出現(xiàn)在后續(xù)圖像中、候選是否重新被置于觀察域內(nèi)以及許多其他因素。這里,在候選次序被建立后,處理器嘗試按所建立的次序解碼候選直到下一圖像事件出現(xiàn),此時(shí)處理器丟棄或至少停止嘗試解碼當(dāng)前圖像中的候選并且開始下一圖像中碼候選的處理。這里,下一圖像事件可以是下一圖像的接收、超時(shí)周期的結(jié)束、被選擇以在下一圖像預(yù)期接收之前能夠完成的大量解碼嘗試的完成、在之前圖像中可能未被解碼的所有碼候選的解碼嘗試的完成,等等。例如,在至少一些實(shí)施例中,傳輸線按行進(jìn)方向移動(dòng)物體/碼通過(guò)設(shè)備觀察域,使得新的圖像沿著入口緣進(jìn)入觀察域并且沿著出口緣退出,處理器可以被編程以排序所獲得圖像中的碼候選,以便處理器嘗試首先解碼最接近入口緣的候選隨后解碼與入口緣距離稍遠(yuǎn)的候選,直到或者處理器已經(jīng)嘗試解碼所有候選,或者下一圖像事件(例如,下一圖像被獲得)發(fā)生。當(dāng)下一圖像事件在嘗試解碼所有候選之前發(fā)生時(shí),處理器丟棄或者先行處理處理器仍未開始嘗試解碼的候選,并且,在至少一些情況中,可以停止解碼當(dāng)前正被解碼的候選,并開始處理下一圖像。作為另一實(shí)例,處理器可以被編程為排序所獲得圖像中的碼候選,以便處理器嘗試首先解碼最接近出口緣然后解碼與出口緣距離稍遠(yuǎn)的候選,直到處理器已經(jīng)嘗試解碼所有候選,或者下一圖像事件(例如,下一圖像被獲得)出現(xiàn)。在其他情況下,處理器可以將FOV劃分成不同的興趣區(qū)域(ROI),并且隨后按照連續(xù)次序從第一 ROI中的候選開始,緊接著第二 ROI等等,嘗試解碼ROI中的候選,直到所有候選已經(jīng)被嘗試或者直到下一圖像事件發(fā)生。在其他實(shí)施例中,處理器可以被編程為基于當(dāng)前圖像中候選的行進(jìn)方向、速度和位置或者這些因素的子集標(biāo)識(shí)可能將不會(huì)出現(xiàn)在下一圖像中的候選,并且可以排序候選以使在下一圖像中將可能不會(huì)出現(xiàn)的候選在該順序中先被處理。在其他實(shí)施例中,處理器可以被編程為記錄之前圖像中成功被解碼的候選的位置,并且按照當(dāng)前圖像中哪些碼候選可能在之前圖像中被成功地解碼以及哪些不能被成功地解碼來(lái)排序用于解碼嘗試的候選。例如,在當(dāng)前圖像中十個(gè)候選中的兩個(gè)可能對(duì)應(yīng)于來(lái)自在之前圖像的兩個(gè)成功被解碼的候選的情況下,處理器可以將其他八個(gè)候選排序在前,并且僅在最后嘗試解碼那兩個(gè)可能在之前可能成功被解碼的候選(如果在獲得下一圖像之前還有時(shí)間的話)。仍在其他實(shí)施例中,處理器可以根據(jù)候選是否將可能出現(xiàn)在后續(xù)圖像中并且候選是否可能在之前圖像中被解碼,同時(shí)基于圖像中候選的位置或者其他因素來(lái)排序候選。一些實(shí)施例包括用于解碼施加于物體的碼的與照相機(jī)和傳送系統(tǒng)一同使用的方法,其中照相機(jī)包括具有二維觀察域(FOV)的圖像傳感器,而傳送系統(tǒng)按第一行進(jìn)方向穿過(guò)FOV移動(dòng)物體,這樣物體沿著入口緣進(jìn)入FOV并且沿著出口緣離開F0V,該方法包括提供處理器的步驟,該處理器被編程為執(zhí)行步驟:獲得FOV的圖像;對(duì)于每個(gè)圖像,標(biāo)識(shí)圖像至少一部分中的碼候選;排序碼候選的至少一子集以按候選次序解碼,其中候選順序至少部分根據(jù)通過(guò)FOV的第一行進(jìn)方向確定;嘗試按由行進(jìn)方向指定的次序?qū)⒋a候選解碼,并且當(dāng)新圖像事件出現(xiàn)時(shí),先行嘗試解碼被標(biāo)識(shí)的碼候選的至少一部分。在一些實(shí)施例中,排序碼候選的至少一子集的步驟包括標(biāo)識(shí)FOV中的至少第一和第二興趣區(qū)域(ROI),第一和第二興趣區(qū)域分別與FOV的入口緣和出口緣相鄰;標(biāo)識(shí)至少第一和第二 ROI的每個(gè)ROI中的碼候選;并且將第一和第二 ROI中的一個(gè)ROI中的碼候選排序在第一和第二ROI的另一個(gè)ROI中的碼候選之前進(jìn)行處理。在一些實(shí)施例中,第一ROI中的碼候選在候選次序中被排序在第二 ROI中的碼候選之前。在一些實(shí)施例中,第二 ROI中的碼候選在候選次序中被排序在第一 ROI的碼候選之前。在一些實(shí)施例中,排序碼候選的至少一子集的步驟進(jìn)一步包括步驟:標(biāo)識(shí)當(dāng)下一圖像被獲得時(shí)將可能在FOV之外的碼候選,并且將當(dāng)下一圖像被獲得時(shí)將可能在FOV之外的碼候選排序在候選次序開始處附近。在一些情況下,標(biāo)識(shí)將可能在FOV之外的碼候選的步驟進(jìn)一步包括步驟:對(duì)于當(dāng)下一圖像被獲得時(shí)將可能在FOV之外的碼候選,標(biāo)識(shí)已經(jīng)在之前圖像中可能被解碼的碼候選以及在之前圖像中可能未被解碼的碼候選,并且將在之前圖像中可能未被解碼的碼候選排序在在之前圖像中可能被解碼的碼候選之前。在一些情況下,排序碼候選的至少一子集的步驟進(jìn)一步包括步驟:標(biāo)識(shí)對(duì)于FOV可能是新的碼候選,并且標(biāo)識(shí)可能在之前圖像中并且當(dāng)后續(xù)圖像被獲得時(shí)將可能在FOV中的碼候選,以及將可能在之前圖像中并且當(dāng)后續(xù)圖像被獲得時(shí)將可能在FOV中的碼候選排序在候選次序的末尾附近,并且將可能在之前圖像中的碼候選排序在候選次序的大致中間附近。在一些實(shí)施例中,排序碼候選的至少一子集的步驟包括:標(biāo)識(shí)在候選次序開始處附近對(duì)于FOV是新的碼候選。在一些實(shí)施例中,排序碼候選的至少一子集的步驟包括:標(biāo)識(shí)當(dāng)下一圖像被獲得時(shí)可能在FOV之外并且在之前圖象中可能未被解碼的碼候選為第一候選子集;標(biāo)識(shí)當(dāng)下一圖像被獲得時(shí)可能在FOV之外并且在之前圖像中可能已經(jīng)被解碼的碼候選為第二候選子集;標(biāo)識(shí)當(dāng)下一圖像被獲得時(shí)可能在FOV中并且可能在之前圖像中可能未被解碼的碼候選為第三候選子集;標(biāo)識(shí)當(dāng)下一圖像被獲得時(shí)可能在FOV中并且在之前圖像中可能已經(jīng)被解碼的碼候選為第四候選子集;以及排序這些子集以使第一候選子集出現(xiàn)在第二候選子集之前,第二候選子集出現(xiàn)在第三候選子集之前,以及第三候選子集出現(xiàn)在第四候選子集之前。在一些情況下,當(dāng)新的圖像被獲得時(shí),該方法進(jìn)一步包括按候選次序丟棄碼候選,這樣沒有任何解碼的嘗試會(huì)發(fā)生。在一些情況下,傳送系統(tǒng)以傳送速度按第一行進(jìn)方向傳送物體,并且其中候選次序至少部分地根據(jù)傳送速度被確定。在一些實(shí)施例中,至少第一和第二不同的解碼算法可以被用來(lái)嘗試解碼任意碼候選,該方法進(jìn)一步包括步驟:將第一和第二解碼算法中的一個(gè)分配給候選次序中的至少一子集中的每個(gè)候選,其中被指定給每個(gè)候選的算法至少部分地根據(jù)候選次序?!?shí)施例進(jìn)一步包括步驟:標(biāo)識(shí)在之前圖象中可能被成功解碼的碼候選,以及在之前圖像中可能未被成功解碼的碼候選,指定第一和第二解碼算法的步驟包括至少部分地根據(jù)在之前圖像中碼候選是否可能被解碼來(lái)分配解碼算法。在一些實(shí)施例中,第一解碼算法需要比第二解碼算法更多的時(shí)間來(lái)完成。在一些情況下,當(dāng)新的圖像被獲得時(shí),新的圖像事件發(fā)生。在一些實(shí)施例中,當(dāng)圖像獲取期間已經(jīng)時(shí),新的圖像事件發(fā)生。一種用于解碼施加在物體上的碼并與照相機(jī)和傳送系統(tǒng)一同使用的方法,其中照相機(jī)包括具有二維觀察域(FOV)的圖像傳感器,并且傳送系統(tǒng)按第一行進(jìn)方向穿過(guò)FOV移動(dòng)物體,使得物體沿著入口緣進(jìn)入F0V,并且沿著出口緣離開F0V,該方法包括提供處理器的步驟,該處理器被編程為執(zhí)行步驟:標(biāo)識(shí)穿過(guò)FOV第一行進(jìn)方向;對(duì)于每個(gè)圖像,獲得FOV的圖像,其中最近獲得的圖像是當(dāng)前圖像;標(biāo)識(shí)圖像的至少部分中的碼候選;嘗試解碼接近FOV出口緣的碼候選;在嘗試解碼接近FOV出口緣的碼候選之后,嘗試解碼接近FOV的入口緣的碼候選,并且當(dāng)新的圖像事件發(fā)生時(shí),先行嘗試解碼被標(biāo)識(shí)的碼候選中的至少一部分。一些實(shí)施例包括一種用于解碼施加在物體上的碼并與照相機(jī)和傳送系統(tǒng)一同使用的方法,其中照相機(jī)包括具有二維觀察域(FOV)的圖像傳感器,傳送系統(tǒng)按第一方向穿過(guò)FOV移動(dòng)物體,使得物體沿著FOV的入口緣進(jìn)入F0V,并且沿著FOV的出口緣離開F0V,從而傳感器產(chǎn)生具有至少第一和第二不同興趣區(qū)域的圖像,上述興趣區(qū)域分別與入口緣和出口緣相鄰。該方法包括提供處理器的步驟,該處理器被編程用于執(zhí)行步驟:獲得FOV的圖像;對(duì)于每個(gè)圖像,標(biāo)識(shí)圖像中至少一部分的碼候選;在獲得的圖像中標(biāo)識(shí)至少第一和第二不同興趣區(qū)域(ROI);嘗試第一次解碼第一 ROI中的碼候選;在嘗試解碼第一 ROI中的候選之后,嘗試解碼第二 ROI中的碼候選,在嘗試解碼第二 ROI中的候選之后,嘗試第二次解碼第一 ROI中的碼候選,并且當(dāng)新的圖像事件發(fā)生時(shí),先行嘗試解碼所標(biāo)識(shí)的碼候選中的至少一部分。在一些實(shí)施例中,嘗試第一次解碼第一 ROI中的碼候選的步驟包括使用第一解碼算法,并且嘗試第二次解碼第一 ROI中的碼候選的步驟包括使用不同于第一解碼算法的第二解碼算法來(lái)嘗試將碼候選解碼。在一些實(shí)施例中,第一 ROI接近FOV的入口和出口緣中的一個(gè),并且第二 ROI接近FOV的入口和出口緣中的另一個(gè)。一些實(shí)施例進(jìn)一步包括將在第一 ROI中的碼候選按照候選次序排序的步驟,嘗試第一次解碼第一 ROI中的碼候選的步驟包括嘗試按由候選次序規(guī)定的次序?qū)⒋a候選解碼。一些情況進(jìn)一步包括:標(biāo)識(shí)第一 ROI中在至少一幅之前圖像中可能已經(jīng)被先前解碼的碼候選的步驟;排序碼候選的步驟,該步驟包括至少部分地根據(jù)哪個(gè)候選在至少一個(gè)之前的圖像中可能已經(jīng)被先行解碼來(lái)排序碼候選。其他實(shí)施例包括一種用于解碼施加于物體上的碼并與照相機(jī)和傳送系統(tǒng)一同使用的裝置,其中照相機(jī)包括具有二維觀察域(FOV)的圖像傳感器,而傳送系統(tǒng)按第一行進(jìn)方向穿過(guò)FOV移動(dòng)物體,這樣物體沿著入口緣進(jìn)入FOV并沿著出口緣離開F0V,該裝置包括處理器,該處理器被編程用于執(zhí)行步驟:獲得FOV的圖像;對(duì)于每個(gè)圖像,標(biāo)識(shí)在圖像的至少一部分中的碼候選;將碼候選的至少一子集排序以按照候選次序解碼,其中候選次序至少部分地根據(jù)穿過(guò)FOV第一行進(jìn)方向確定;嘗試按由行進(jìn)方向指定的次序?qū)⒋a候選解碼,以及當(dāng)新的圖像事件發(fā)生時(shí),先行嘗試解碼所標(biāo)識(shí)的碼候選中的至少一部分。在一些實(shí)施例中,處理器被編程為執(zhí)行步驟:通過(guò)標(biāo)識(shí)FOV中的至少第一和第二興趣區(qū)域(ROI)來(lái)排序碼候選的至少一子集,第一和第二興趣區(qū)域分別與FOV的入口緣和出口緣相鄰;標(biāo)識(shí)在至少第一和第二 ROI的每個(gè)中的碼候選,并且將第一和第二 ROI的一個(gè)ROI中的碼候選排序在第一和第二 ROI的另一個(gè)ROI中的碼候選之前進(jìn)行處理。在一些實(shí)施例中,處理器被編程為執(zhí)行步驟:通過(guò)標(biāo)識(shí)當(dāng)下一圖像被獲得時(shí)將可能在FOV之外的碼候選來(lái)排序碼候選的至少一子集,并且將當(dāng)獲得下一圖像時(shí)可能在FOV之外的碼候選排序在候選次序的開始處附近。在一些實(shí)施例中,處理器被編程為執(zhí)行步驟:通過(guò)標(biāo)識(shí)對(duì)于FOV是新的的碼候選來(lái)將碼候選的至少一子集排序在候選次序的開始處附近。其他實(shí)施例包括用于解碼施加在物體上的碼并與照相機(jī)和傳送系統(tǒng)一同使用的裝置,其中照相機(jī)包括具有二維觀察域(FOV)的圖像傳感器,而傳送系統(tǒng)按第一行進(jìn)方向穿過(guò)FOV移動(dòng)物體,這樣物體沿著入口緣進(jìn)入FOV并沿著出口緣退出F0V,該裝置包括處理器,該處理器被編程為執(zhí)行步驟:標(biāo)識(shí)穿過(guò)FOV的第一行進(jìn)方向;獲得FOV圖像;對(duì)于每個(gè)圖像,在最近獲得的圖像是當(dāng)前圖像的情況下,標(biāo)識(shí)在圖像的至少一部分中的碼候選;嘗試解碼接近FOV出口緣的碼候選;在嘗試解碼接近FOV出口緣的碼候選之后,嘗試解碼接近FOV入口緣的碼候選,并且當(dāng)新的圖像事件發(fā)生時(shí),先行嘗試解碼所標(biāo)識(shí)的碼候選的至少一部分。為實(shí)現(xiàn)前述以及相關(guān)的目標(biāo),本發(fā)明包括以下充分描述的特性。以下說(shuō)明書以及附圖詳細(xì)闡明本發(fā)明特定示例性方面。然而,這些方面僅僅表明本發(fā)明能夠?qū)崿F(xiàn)的多種方式中的一些。當(dāng)考慮到附圖時(shí),由本發(fā)明以下詳細(xì)說(shuō)明,本發(fā)明的其他方面、優(yōu)點(diǎn)以及新穎性將變得顯而易見。附圖簡(jiǎn)要說(shuō)明
圖1是示出機(jī)器視覺系統(tǒng)和傳輸線的示意性圖,其中機(jī)器視覺系統(tǒng)包括與本發(fā)明至少一些方面一致的特征;圖2示出示例性觀察域、觀察域中的示例性興趣區(qū)域以及觀察域中示例性碼候選;圖3與圖2類似,盡管示出處于相對(duì)于觀察域和興趣區(qū)域的不同相對(duì)位置中的碼候選;圖4是示出方法的流程圖,通過(guò)該方法根據(jù)通過(guò)觀察域的候選的行進(jìn)速度和行進(jìn)方向排序在所獲得的圖像中的碼候選以用于嘗試解碼;圖5是示出方法的流程圖,通過(guò)該方法根據(jù)所獲得的圖像中的碼候選出現(xiàn)在觀察域中的哪個(gè)興趣區(qū)域來(lái)將它們分組到子集中,并且處理器按與碼候選的興趣區(qū)域相關(guān)的次序來(lái)處理它們;
圖6是示出方法的流程圖,通過(guò)該方法處理器根據(jù)那些碼候選是否可能在之前圖像中被解碼來(lái)排序碼候選;以及圖7和8示出單個(gè)流程圖,其中處理器根據(jù)碼候選是否可能在之前獲得的圖像中被解碼以及碼候選是否將可能出現(xiàn)在后續(xù)圖像中來(lái)排序碼候選以用于解碼嘗試。發(fā)明的詳細(xì)描述現(xiàn)在參考附圖描述主題發(fā)明的各個(gè)方面,其中在全部幾幅視圖中相同的參考標(biāo)記對(duì)應(yīng)于相同的部件。然而,應(yīng)當(dāng)理解的是,以下相關(guān)附圖和詳細(xì)描述并非意圖將所要求的主題限制在公開的特定形式中。相反,本發(fā)明要覆蓋落在所要求主題的精神和范圍內(nèi)的所有修改、等價(jià)物和所有替代。如在此所使用的,術(shù)語(yǔ)“組件”、“系統(tǒng)”和類似用語(yǔ)意圖指示計(jì)算機(jī)相關(guān)實(shí)體,或者是硬件、硬件和軟件的組合,軟件,或者執(zhí)行中的軟件。例如,組件可以是但不限于處理器上運(yùn)行的過(guò)程、處理器、對(duì)象、可執(zhí)行的、執(zhí)行的線程、程序、和/或計(jì)算機(jī)。作為示例,運(yùn)行在計(jì)算機(jī)上的應(yīng)用和計(jì)算機(jī)都可以是組件。一個(gè)或多個(gè)組件可以駐留在進(jìn)程和/或執(zhí)行的線程內(nèi),并且組件可以位于一個(gè)計(jì)算機(jī)上和/或分布在兩個(gè)或多個(gè)計(jì)算機(jī)或處理器之間。單詞“示例性”在此被用來(lái)作為例子、實(shí)例或示例用。在此被描述為“示例性”的任何方面或設(shè)計(jì)對(duì)于解釋其他方面或設(shè)計(jì)的優(yōu)選或優(yōu)點(diǎn)并不是必需的。更進(jìn)一步,公開的主題可以被實(shí)現(xiàn)為系統(tǒng)、方法、裝置或者使用標(biāo)準(zhǔn)編程和/或工程技術(shù)來(lái)產(chǎn)生軟件、固件、硬件或任何它們的組合以控制基于設(shè)備的計(jì)算機(jī)或處理器來(lái)實(shí)現(xiàn)在此所描述的方面。在此使用的術(shù)語(yǔ)“制品”(或可替換地“計(jì)算機(jī)程序產(chǎn)品”)意在包括從任何計(jì)算機(jī)可讀設(shè)備、載體或介質(zhì)上可訪問的計(jì)算機(jī)程序。例如,計(jì)算機(jī)可讀介質(zhì)能夠包括但不限于磁存儲(chǔ)設(shè)備(例如,硬盤,軟盤,磁片...)、光盤(例如,光盤(CD),數(shù)字化多功能盤(DVD)),智能卡以及閃存設(shè)備(例如,卡,棒)。此外,應(yīng)當(dāng)意識(shí)到的是,載波能夠被使用來(lái)承載計(jì)算機(jī)可讀電子數(shù)據(jù),諸如那些用于發(fā)送和接收電子郵件或用來(lái)訪問諸如因特網(wǎng)或局域網(wǎng)(LAN)之類的網(wǎng)絡(luò)。當(dāng)然,本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到可以在不脫離所要求主題的范圍和精神下對(duì)該配置作出許多修改?,F(xiàn)在參考附圖,其中全部若干視圖中類似的參考標(biāo)記對(duì)應(yīng)于相似的部件,更特別地,參考圖1,本發(fā)明將被在示例性成像系統(tǒng)/傳輸線10的背景下被描述,其中傳輸線30沿著行進(jìn)方向25移動(dòng)物體26a、26b、26c等等。在當(dāng)前例子中,每個(gè)物體具有相似的物理特征,因此,只有物體26a將被詳細(xì)描述。特別地,物體26b包括表面27,當(dāng)物體26b被傳輸線30移動(dòng)時(shí)該表面通常朝上。為標(biāo)識(shí)目的,矩陣碼24a被施加在上表面27上。類似的矩陣碼24a被施加在物體26a和26c的每個(gè)的上表面上。仍然參考圖1,圖像處理系統(tǒng)包括照相機(jī)22,該照相機(jī)包括限定照相機(jī)22之下的觀察域28的光學(xué)器件24,生產(chǎn)線30移動(dòng)物體26a、26b、26c等等通過(guò)觀察域。因此,隨著物體沿著行進(jìn)方向25移動(dòng),每個(gè)上表面27進(jìn)入觀察域28。在當(dāng)前例子中,觀察域28足夠大,使得整個(gè)上表面27位于觀察域28之內(nèi)的一個(gè)或另一個(gè)點(diǎn)上,并且因此施加在物體的上表面27上的任何碼通過(guò)觀察域28,并且能夠被照相機(jī)22捕獲在圖像中。成像系統(tǒng)還包括計(jì)算機(jī)或處理器14 (或者多個(gè)處理器),該計(jì)算機(jī)或處理器接收來(lái)自照相機(jī)22的圖像,檢查圖像以將可包括矩陣碼的實(shí)例的圖像的子部分標(biāo)識(shí)為碼候選,并且然后努力嘗試解碼每個(gè)碼候選以標(biāo)識(shí)當(dāng)前觀察域28之內(nèi)的物體。為此,照相機(jī)22連接到處理器14。接口設(shè)備16/18也連接到處理器14以提供視頻和音頻輸出至系統(tǒng)用戶同時(shí)為用戶提供輸入以控制成像系統(tǒng)、設(shè)置成像系統(tǒng)運(yùn)行參數(shù)、解決成像系統(tǒng)的問題等等。在至少一些實(shí)施例中,成像系統(tǒng)還包括安置與傳輸線30相鄰的轉(zhuǎn)速計(jì)33,其可以用來(lái)標(biāo)識(shí)行進(jìn)方向25和/或傳輸線30運(yùn)輸物體通過(guò)觀察域的速度?,F(xiàn)在參考圖2,示出觀察域28的示例性圖像。在觀察域28之內(nèi),如所示,存在三個(gè)碼候選24a、24b、24c,其中只有碼候選24a對(duì)應(yīng)于實(shí)際矩陣碼。因此,碼候選24b和24c簡(jiǎn)單地表示圖像偽影,經(jīng)過(guò)圖像的初始分析,這些圖像偽影具有與要被解碼的實(shí)際矩陣碼的偽影一致的一些特征。在圖2中示出圖1所示的傳輸線30的行進(jìn)方向25為所示的從右到左。因此,進(jìn)入觀察域28的物體和其上標(biāo)記的碼從右側(cè)進(jìn)入觀察域并且通過(guò)至左側(cè)。因?yàn)檫@個(gè)原因,觀察域28的右側(cè)邊36被稱作入口緣,而左側(cè)邊38被稱作出口緣。再參考圖1和2,照相機(jī)22是高速照相機(jī),其非常迅速地獲得觀察域28的連續(xù)圖像,這樣,在許多情況下,隨著物體上的碼移動(dòng)通過(guò)觀察域28,照相機(jī)22將分別獲得在入口和出口緣36和38之間不同位置上碼的大量連續(xù)圖像,因此,例如,隨著碼24a移動(dòng)越過(guò)觀察域28,照相機(jī)22可以獲得20個(gè)單獨(dú)圖像,它們帶有出現(xiàn)在這20個(gè)圖像的每個(gè)中的碼24a。盡管處理器14是高速處理器,但在許多情況下,處理器14不能處理由照相機(jī)22產(chǎn)生的所有連續(xù)圖像中的所有數(shù)據(jù)。在大量假碼候選出現(xiàn)在所獲得的圖像中并且圖像中的假碼候選的數(shù)量通常取決于圖像被獲得的環(huán)境的情況下,尤其如此。例如,在觀察域照明不夠好的情況下,假碼候選的數(shù)量可能較大。作為另一個(gè)例子,傳輸線30移動(dòng)物體通過(guò)觀察域28的速度可能影響被標(biāo)識(shí)的假碼候選的數(shù)量。在當(dāng)前的說(shuō)明中,將假設(shè)在許多情況下,照相機(jī)22產(chǎn)生圖像很迅速以致于處理器14不能在至少一些時(shí)間內(nèi)處理所獲得的所有圖像中的所有碼候選。已經(jīng)認(rèn)識(shí)到的是,系統(tǒng)處理器14將至少一次并且在許多情況下是多次嘗試將在之前圖像中所獲得圖像中的許多碼候選解碼。例如,再次參考圖2并且現(xiàn)在還參考圖3,圖3示出在一個(gè)點(diǎn)處并且時(shí)間上稍稍在圖2所示的圖像被獲得之后的觀察域28,在此時(shí)碼候選24c已經(jīng)在觀察域28之內(nèi)沿著行進(jìn)方向25向不同的位置移動(dòng)。類似地,候選24a已經(jīng)沿著觀察域28之內(nèi)的行進(jìn)方向移動(dòng)。候選24b已經(jīng)移出觀察域28,并且因此不再出現(xiàn)在圖3中。在此時(shí),當(dāng)圖3的圖像被獲得時(shí),因?yàn)楹蜻x24a和24c出現(xiàn)在圖2所示的圖像中,并且可能出現(xiàn)在圖2和3的圖像被獲得的時(shí)間之間被獲得的許多其他圖像之內(nèi),所以處理器14有可能已經(jīng)嘗試至少一次并且在許多情況下嘗試若干次解碼候選24a和24c中的每一個(gè)。仍參考圖3,三個(gè)額外的碼候選24d、24e和24f出現(xiàn)在圖像中,它們沒有出現(xiàn)在圖2所示的圖像中。在此,導(dǎo)致候選24d-24f的偽影在圖2和3的圖像被獲得的時(shí)間之間已經(jīng)移動(dòng)到觀察域28之內(nèi)的位置。在這種情況下,處理器14可能不會(huì)嘗試解碼任何在之前圖像中的候選24d-24f,或者可能僅以最低限度嘗試解碼觀察域之內(nèi)相對(duì)較新的每個(gè)候選較少次,該次數(shù)小于處理器試圖解碼相對(duì)較早的候選24a和24c的次數(shù)。處理器14是否已經(jīng)嘗試解碼觀察域28的所獲得的圖像之內(nèi)的候選取決于行進(jìn)方向25、傳輸線30(再次參見圖1)移動(dòng)物體和其上標(biāo)記的碼通過(guò)觀察域28的速度、成像系統(tǒng)獲得圖像的速度以及處理器解碼所獲得的候選的速度。因此,在至少一些實(shí)施例中,處理器14可以被編程為高效排序所獲得圖像內(nèi)的碼候選以用于按候選次序解碼,其中對(duì)于觀察域28是新的候選首先被嘗試,隨后是已經(jīng)在觀察域28內(nèi)一段相對(duì)長(zhǎng)時(shí)間的候選?,F(xiàn)在參考附圖4,示出可以由處理器14執(zhí)行以排序圖像內(nèi)的碼候選的過(guò)程40,其中觀察域內(nèi)的新碼候選首先被處理。在框42,處理器14獲得來(lái)自照相機(jī)22的圖像。在框44,處理器14標(biāo)識(shí)通過(guò)觀察域28的行進(jìn)方向以及傳輸線30的速度。這里,傳輸線速度和行進(jìn)方向可以通過(guò)轉(zhuǎn)速計(jì)33確定。在其他實(shí)施例中,傳輸線速度和行進(jìn)方向可以被重編程以使轉(zhuǎn)速計(jì)不是必需的。在其他實(shí)施例中,處理器14可以進(jìn)一步被編程為控制傳輸線速度和行進(jìn)方向,并且因此可能已經(jīng)具有那些信息以用于處理目的。繼續(xù),在框46,在所獲得的圖像內(nèi)的碼候選被標(biāo)識(shí)。在框48,至少部分地基于行進(jìn)的方向/速度,處理器14創(chuàng)建候選次序,其中,與以上描述的內(nèi)容一致,觀察域28之內(nèi)相對(duì)較新的碼候選被置于候選次序的前端,而相對(duì)較舊的候選被置于該次序的末端附近。在框50,處理器14按候選次序嘗試解碼下一個(gè)碼候選。在第一次經(jīng)過(guò)框50時(shí),對(duì)于一圖像,處理器嘗試解碼候選次序內(nèi)的第一碼候選,在第二次經(jīng)過(guò)框50時(shí),對(duì)于一圖像,處理器14嘗試解碼該次序內(nèi)的第二碼候選,等等。在框52,處理器14確定碼候選是否被成功解碼。如果碼候選已經(jīng)被成功解碼,控制傳遞到框56,在框56,處理器14指示解碼嘗試已經(jīng)成功,之后控制傳遞到框58。再參考框52,如果碼候選沒有被成功解碼,則控制傳遞到框58。在框58,處理器14確定下一圖像是否已經(jīng)被獲得。如果下一圖像已經(jīng)被獲得,控制傳遞回到框46,在框46,處理器14再次標(biāo)識(shí)在所獲得圖像內(nèi)的所有碼候選,并且以上描述的過(guò)程繼續(xù)。這里,應(yīng)當(dāng)意識(shí)到的是,當(dāng)在處理器14嘗試解碼當(dāng)前圖像內(nèi)的所有碼候選之前在框58獲得下一圖像時(shí),在至少一些實(shí)施例中,處理器仍未嘗試解碼的候選被簡(jiǎn)單地丟棄。因此,例如,再參考圖3,可能是在處理器14獲得下一圖像之前,處理器14僅具有嘗試解碼相對(duì)較新的圖像24d、24e和24f的時(shí)間,在這種情況下圖3中的候選24a和24c將被丟棄。這里,應(yīng)當(dāng)認(rèn)識(shí)到的是,當(dāng)那些候選在候選次序中出現(xiàn)更早時(shí),處理器14可能已經(jīng)在之前圖像中嘗試解碼候選24a和24c每個(gè)若干次。在至少一些實(shí)施例中,處理器14可以被編程為,當(dāng)下一圖像被獲得時(shí),停止解碼當(dāng)前處理器正在嘗試解碼的碼候選。在其他實(shí)施例中,如果處理器基本完成執(zhí)行解碼算法,處理器可以繼續(xù)當(dāng)前解碼過(guò)程直到完成。再次參考圖4,如果在框58未獲得下一圖像,則控制向下傳遞到框60,在框60,處理器14確定在該次序中的所有碼候選是否都已經(jīng)被嘗試。如果處理器并未嘗試解碼該次序中的所有碼候選,則控制傳遞回框50,在框50,處理器嘗試解碼候選次序中的下一碼候選。在一些情況下,對(duì)于特定圖像,處理器能夠嘗試該次序中的所有碼候選。在這種情況下,在框60,控制傳遞回框42,在框42,處理器14等待獲得觀察域28的下一圖像。與本發(fā)明至少一些實(shí)施例的另一方面一致,已經(jīng)被認(rèn)識(shí)到的是,在觀察域28的任意圖像中,在圖像之內(nèi)的至少一些碼候選將可能不出現(xiàn)在后續(xù)圖像中,并且因此,將可能不出現(xiàn)在后續(xù)圖像中的碼候選放置在候選次序的頂端或者緊接頂端是有益的。例如,再參考圖2,候選24b接近觀察域28的出口緣38,并且因此,與候選24a和24c相比相對(duì)更不可能出現(xiàn)在觀察域28的后續(xù)圖像中。為此,參見圖3,在圖3中候選24a和24c出現(xiàn)在后續(xù)圖像中,而候選24b不再出現(xiàn)在該圖像中。這里,圖2所示圖像可以表示能夠作出解碼嘗試的候選24b的最后可能的實(shí)例。
因此,再參考圖4,在至少一些實(shí)施例中,在框48創(chuàng)建的候選次序?qū)⒁延^察域內(nèi)可能不會(huì)出現(xiàn)在后續(xù)圖像中的碼候選放置在候選次序頂端,并且觀察域28內(nèi)的新候選放在該次序后端。在圖2中,例如,這意味著候選24a至24c被排序?yàn)?4b、24a和24c。除了候選次序不同,關(guān)于圖4所描述的過(guò)程40將以上述方式執(zhí)行。在一些實(shí)施例中,替代產(chǎn)生候選次序,觀察域可以被劃分為不同的興趣區(qū)域,并且不同區(qū)域內(nèi)的碼候選可以按次序被處理,該次序根據(jù)碼候選將出現(xiàn)在哪個(gè)區(qū)域內(nèi)。例如,再次參考圖2,觀察域28被示出分別劃分為第一和第二興趣區(qū)域32和34,其中第一興趣區(qū)域32包括觀察域28與入口緣36相鄰或接近的第一半,而第二興趣區(qū)域34包括觀察域28與出口緣38相鄰或接近的第二半。這里,在對(duì)于觀察域28相對(duì)新的碼候選應(yīng)當(dāng)首先被處理的實(shí)施例中,處理器14可以在嘗試解碼第二興趣區(qū)域34中的候選之前,嘗試解碼第一興趣區(qū)域32中的候選。類似地,在更可能不出現(xiàn)在后續(xù)圖像中的碼候選應(yīng)當(dāng)被首先處理的實(shí)施例中,處理器14將在處理第一興趣區(qū)域32的任意候選之前,處理第二興趣區(qū)域34中的候選?,F(xiàn)在參考圖5,示例性過(guò)程170被示出,其中處理器14根據(jù)候選出現(xiàn)在觀察域的哪個(gè)興趣區(qū)域中來(lái)處理碼候選。在框172,處理器14獲得觀察域28的圖像。在框174,所獲得的圖像內(nèi)的碼候選被標(biāo)識(shí)。在框176,處理器14標(biāo)識(shí)圖像內(nèi)的興趣區(qū)域。再參考圖2,在圖2的例子中,在至少一些實(shí)施例中,處理器14分別標(biāo)識(shí)第一和第二興趣區(qū)域32和34。在框178,處理器14嘗試解碼第一興趣區(qū)域32中的下一碼候選。這里,在第一次經(jīng)過(guò)框178時(shí),對(duì)于一圖像,處理器14嘗試解碼第一興趣區(qū)域32內(nèi)的第一碼候選,第二次經(jīng)過(guò)框178,處理器14嘗試解碼該興趣區(qū)域32內(nèi)的第二碼候選,等等。在框180,處理器14確定碼候選是否已經(jīng)被成功解碼。如果碼候選已經(jīng)被成功解碼,則控制傳遞到框182,在框182,處理器14指示成功的解碼,在此之后控制傳遞到框186。在決策框180,如果碼候選未被成功解碼,則控制傳遞到框186。仍參考圖5,在框186,處理器14確定處理器14是否已經(jīng)接收到來(lái)自照相機(jī)22的下一圖像。如果下一圖像已經(jīng)被接收,則控制傳遞回到框174,在框174,處理器14標(biāo)識(shí)新圖像中的碼候選,并且上述過(guò)程繼續(xù)。這里,應(yīng)當(dāng)意識(shí)到的是,如果下一圖像在處理器14已經(jīng)嘗試解碼第一興趣區(qū)域32中的全部碼候選之前被獲得,則第一興趣區(qū)域內(nèi)處理器未嘗試解碼的碼候選被丟棄。此外,第二興趣區(qū)域34內(nèi)的所有碼候選也被丟棄,有利于開始嘗試解碼新圖像內(nèi)的候選。在其他實(shí)施例中,在新圖像被獲得之后,處理器14可以被編程為在處理新的或下一圖像之前,完成對(duì)第一區(qū)域內(nèi)任何候選的解碼嘗試。仍參考框186,如果下一圖像仍未被獲得,則控制傳遞到框184。在框184,處理器14確定處理器是否已經(jīng)嘗試解碼第一興趣區(qū)域內(nèi)的所有碼候選。如果在第一興趣區(qū)域內(nèi)存在未被嘗試的額外碼候選,控制傳遞回到框178,在框178上述過(guò)程繼續(xù)。一旦第一興趣區(qū)域的所有碼候選都已經(jīng)被嘗試,控制就傳遞到框188,在框188,處理器14接下來(lái)嘗試解碼第二興趣區(qū)域內(nèi)的下一碼候選。這里,在第一次經(jīng)過(guò)框188時(shí),對(duì)于一圖像,處理器14嘗試解碼第二興趣區(qū)域34內(nèi)的第一碼候選,第二次經(jīng)過(guò)框188,處理器14嘗試解碼該興趣區(qū)域內(nèi)的第二碼候選,等等。再次參考圖5,在框190,處理器14確定碼候選是否被成功解碼。如果候選被成功解碼,則控制傳遞到框192,在框192,處理器14指示成功解碼。在框192之后,控制傳遞到框193。如果在框190碼候選未被成功解碼,則控制向下傳遞到框193。在框193,處理器14確定下一圖像是否已被獲得。如果下一圖像已被獲得,控制傳遞回到框174,在框174上述過(guò)程繼續(xù)。這里,再次應(yīng)當(dāng)被意識(shí)到的是,如果下一圖像在處理器嘗試解碼第二興趣區(qū)域34內(nèi)的所有碼候選之前被獲得,則未被嘗試的碼候選被丟棄。再參考框193,如果下一圖像仍未被獲得,則控制向下傳遞到框194,在框194,處理器14確定處理器是否嘗試解碼第二興趣區(qū)域內(nèi)的所有碼候選。如果存在第二興趣區(qū)域內(nèi)的至少一個(gè)未被嘗試的碼候選,則控制傳遞回到框188,在框188上述過(guò)程繼續(xù)。一旦第二興趣區(qū)域內(nèi)的所有碼候選都已經(jīng)被嘗試,控制傳遞回到框172,在框172,處理器14等待接收來(lái)自照相機(jī)22的下一圖像。存在許多不同的算法能夠被用來(lái)嘗試解碼所獲得圖像內(nèi)的碼候選。其中一些算法相對(duì)簡(jiǎn)單,而另一些算法相對(duì)復(fù)雜,復(fù)雜的解碼算法通常在解碼候選時(shí)比簡(jiǎn)單的算法更成功。然而,在許多情況下,復(fù)雜的算法是計(jì)算極度密集的,并且因此需要比簡(jiǎn)單算法相對(duì)較多的時(shí)間完成。在至少一些實(shí)施例中,可以預(yù)期的是,不同的解碼算法可以被用于嘗試解碼圖像中的碼候選,其中使用的解碼算法可以根據(jù)碼出現(xiàn)在所獲得的圖像的何處、碼候選通過(guò)觀察域的行進(jìn)方向、行進(jìn)速度等等。例如,重新參考圖2,不同的解碼算法可以用于嘗試解碼不同的興趣區(qū)域32和34中的碼候選。例如,在一些情況下,簡(jiǎn)單的解碼算法可以被用來(lái)解碼第一興趣區(qū)域32內(nèi)的任意碼候選,并且第二較復(fù)雜的解碼算法可以被用來(lái)嘗試解碼第二興趣區(qū)域34內(nèi)的所有碼候選,直到下一圖像被獲得,此時(shí)處理器仍未嘗試解碼的任何碼候選將被丟棄。與該實(shí)施例一致,參考圖5,其中框178和188的括號(hào)內(nèi)分別指示第一和第二不同解碼算法被分別用于嘗試解碼第一和第二興趣區(qū)域內(nèi)的碼候選。在至少一些實(shí)施例中,處理器14可以被編程將所獲得圖像中的碼候選與之前被處理圖像中的碼候選相關(guān)聯(lián),并且尤其將所獲得圖像中的碼候選與先前圖像中被先行成功解碼的候選相關(guān)聯(lián),并且可以根據(jù)哪些候選已經(jīng)可能被先行解碼以及哪些候選未被先行解碼來(lái)排序候選以用于解碼嘗試。為此,已經(jīng)被認(rèn)識(shí)到的是,當(dāng)所獲得圖像中的碼候選可能已經(jīng)被先行解碼時(shí),該候選的另一成功解碼將簡(jiǎn)單地確認(rèn)之前成功解碼的結(jié)果。在至少一些實(shí)施例中,處理器被編程為在嘗試解碼可能已經(jīng)被先行解碼的碼之前嘗試解碼在前一圖像中已經(jīng)被成功解碼的碼?,F(xiàn)在參考圖6,示出過(guò)程240過(guò)程240可以由處理器14執(zhí)行以根據(jù)那些碼候選是否在先前圖像中被成功解碼來(lái)嘗試解碼碼候選。在框242,處理器14獲得來(lái)自相機(jī)22的觀察域的圖像。在框244,碼候選在圖像內(nèi)被標(biāo)識(shí)。在框246,基于傳輸線30的速度、傳輸線的行進(jìn)方向以及在先前圖像和當(dāng)前圖像中的碼候選的位置來(lái)標(biāo)識(shí)可能已經(jīng)在先前圖像中被解碼的碼候選。在框248,處理器14基于速度、行進(jìn)方向以及候選在先前圖像和當(dāng)前圖像中的位置來(lái)標(biāo)識(shí)可能在先前圖像中未被解碼的碼候選。在框252,處理器14創(chuàng)建候選次序,其中在先前圖像中可能未被嘗試的候選被放置在次序頂端附近。這里,如上,次序可以進(jìn)一步由當(dāng)前圖像中候選的位置確定。例如,在之前圖像中從未被標(biāo)識(shí)的新的碼候選可以被放置在比在之前圖像中已經(jīng)被標(biāo)識(shí)是未被成功解碼的候選更高的次序上。在框250,處理器14按次序嘗試解碼下一碼候選,其在至少一個(gè)先前圖像中未被解碼。在框254,如果碼候選被成功解碼,則控制向下傳遞到框255,在框255,處理器14將被解碼的碼候選的位置存儲(chǔ)在存儲(chǔ)器中,以備上述的框246后續(xù)使用。在框255之后,控制傳遞到框256,在框256,處理器14指示成功解碼,然后控制向下傳遞到?jīng)Q策框258。在框254,如果碼候選未被成功解碼,則控制向下傳遞到框258。在決策框258,處理器14確定下一圖像是否已經(jīng)從照相機(jī)22獲得。如果下一圖像已經(jīng)從照相機(jī)獲得,則控制傳遞回到框244,在框244下一圖像中的碼候選被標(biāo)識(shí),并且上述過(guò)程繼續(xù)。在框258,如果下一圖像仍未獲得,控制向上傳遞到框260,在框260,處理器14確定處理器是否已經(jīng)嘗試解碼在前一圖像中可能未被解碼的全部碼候選。如果處理器未嘗試解碼在前一圖像中可能未被解碼的全部碼候選,控制傳遞回到框250,在框250,處理器14嘗試解碼可能未被解碼的下一碼候選,并且上述過(guò)程繼續(xù)。在框260,如果處理器已嘗試解碼在前一圖像中可能未被解碼的全部碼候選,控制向下傳遞到框262,在框262,處理器14嘗試解碼在前一圖像中可能被解碼的下一碼候選。在決策框264,處理器14確定碼候選是否被成功解碼。如果碼候選被成功解碼,控制傳遞到框266,在框266,處理器14存儲(chǔ)被解碼的候選的位置,并且在框268,處理器14指示成功解碼。在框264,如果碼候選未被成功解碼,控制向下傳遞到框270。在框270,處理器14確定下一圖像是否已經(jīng)從照相機(jī)22獲得。如果下一圖像已經(jīng)被獲得,控制傳遞回到框244,在框244上述過(guò)程繼續(xù)。如果下一圖像未被獲得,控制向下傳遞到框272,在框272,處理器14確定處理器是否已經(jīng)嘗試解碼在先前圖象中可能被解碼的所有碼候選。如果處理器已經(jīng)嘗試了所有先前可能被解碼的候選,則控制傳遞回到框242,在框242上述過(guò)程繼續(xù)。如果存在在前一圖像中處理器已經(jīng)可能解碼并且在當(dāng)前圖象中處理器未嘗試解碼的至少還有一個(gè)碼候選,則控制向上傳遞回到框262,在框262上述過(guò)程繼續(xù)。仍參考圖6,在至少一些實(shí)施例中,被用于嘗試解碼可能先前被解碼的候選的解碼算法和用于解碼可能先前未被解碼的碼候選的解碼算法可能是不同的,并且可以被選擇來(lái)優(yōu)化解碼過(guò)程。例如,對(duì)于可能先前被解碼的碼候選,可使用第一相對(duì)復(fù)雜的解碼算法(參見框250中的括號(hào)),而對(duì)于在更早的圖像中可能先前被解碼的碼,可使用第二相對(duì)簡(jiǎn)單的解碼算法來(lái)嘗試解碼這些候選(參見框262中的括號(hào))。再次參考圖6,關(guān)于圖6的上述實(shí)施例根據(jù)碼候選在之前圖像中是否可能被成功解碼來(lái)將碼候選排序以用于嘗試解碼,然而在其他實(shí)施例中,可以根據(jù)處理器是否可能已經(jīng)嘗試解碼候選來(lái)排序碼候選。例如,如果處理器已經(jīng)嘗試解碼在前一圖像中的第一碼候選,并且未嘗試解碼在之前圖像中的第二碼候選,則處理器14可以不考慮在先前圖像中解碼第一碼候選的嘗試是否成功,在第一碼候選之前嘗試解碼第二碼候選。在其他實(shí)施例中,給定相同環(huán)境,處理器可以被編程為在第二碼候選之前嘗試解碼第一碼候選。為此,框246、248、250、260、262和272每個(gè)包括限定詞(嘗試)或(未嘗試)之一,在這些框里,它們可以分別被替換為短語(yǔ)“可能解碼”和“可能未解碼”。當(dāng)按照這種方式修改圖6時(shí),過(guò)程240對(duì)應(yīng)于一系統(tǒng),其中處理器14被編程為根據(jù)處理器是否已經(jīng)可能嘗試解碼在之前圖像中的碼候選來(lái)排序解碼嘗試。仍在其他實(shí)施例中,處理器14可以被編程為根據(jù)在之前圖像中碼是否可能被成功解碼以及碼候選是否將出現(xiàn)在后續(xù)圖像中來(lái)排序碼候選。為此,參考圖7,示出另一過(guò)程350,該過(guò)程由與本發(fā)明至少一些方面一致的處理器14執(zhí)行。在框352,處理器14從照相機(jī)22獲得圖像。在框354,該圖像中的碼候選被標(biāo)識(shí)。在框356,處理器14將在至少一個(gè)前一圖像中可能未被解碼并且可能將不出現(xiàn)在后續(xù)圖像中的碼候選標(biāo)識(shí)為第I組候選。在框358,處理器14將在前一圖像中可能未解碼并且可能將出現(xiàn)在后續(xù)圖像中的碼候選標(biāo)識(shí)為第2組候選。在框360,處理器14將在前一圖像中可能被解碼并且可能將不出現(xiàn)在后續(xù)圖像中的碼候選標(biāo)識(shí)為第3組候選。在框362,處理器14將在前一圖像中可能已被解碼的碼候選并且可能將出現(xiàn)在后續(xù)圖像中的碼候選標(biāo)識(shí)為第4組候選。繼續(xù)在框364,處理器14嘗試解碼下一第I組碼候選(即在前一圖像中可能未解碼并且可能將不出現(xiàn)在后續(xù)圖像中的下一碼候選)。在此,在第一次經(jīng)過(guò)框364時(shí),對(duì)于一圖像,處理器14嘗試解碼第一個(gè)第I組候選,在第二次經(jīng)過(guò)框364時(shí),處理器14嘗試解碼第二個(gè)第I組候選,等等。在框366,處理器14確定碼候選是否已經(jīng)被成功解碼。如果碼候選已經(jīng)被成功解碼,控制傳遞到框368,并且隨后到框370,在框370,處理器14存儲(chǔ)被解碼的候選的位置,并且指示成功解碼。在框370之后,控制傳遞到框372。在框366,如果碼候選未被成功解碼,控制向下傳遞到框372。在框372,處理器14確定下一圖像是否已經(jīng)被獲得。如果下一圖像已經(jīng)被獲得,控制傳遞回到框354,在框354上述過(guò)程被重復(fù)。這里,如果下一圖像在框372被獲得,在當(dāng)前圖像中的處理器未嘗試解碼的所有碼候選被丟棄。在框372,如果下一圖像未被獲得,控制傳遞到框374,在框374,處理器14確定是否所有第I組候選已經(jīng)被嘗試。如果不是所有第I組候選都已被嘗試,則控制傳遞回到框364,在框364上述過(guò)程繼續(xù)。在框374,一旦所有組候選已經(jīng)被嘗試,控制就傳遞到圖8的框380。現(xiàn)在參考圖8,在框380,處理器14嘗試解碼下一第2組候選。這里,在第一次經(jīng)過(guò)框380時(shí),處理器14嘗試解碼第一個(gè)第2組候選,在第二次經(jīng)過(guò)框380時(shí),處理器14嘗試解碼第二個(gè)第2組候選,等等。在框382,處理器14確定是否第2組候選已被成功解碼。如果第2組候選已經(jīng)被成功解碼,則控制傳遞到框384和386,在框386,處理器14存儲(chǔ)被解碼的候選的位置,并且指示成功解碼。在框386之后,控制傳遞到框388。在框382,如果碼候選未被成功解碼,則控制傳遞到框388。在框388,處理器14確定是否已經(jīng)從照相機(jī)22獲得下一圖像。如果已經(jīng)從照相機(jī)獲得下一圖像,則控制傳遞回到圖7中的框354,在框354,上述過(guò)程繼續(xù)。這里,如果在框388下一圖像被獲得,則當(dāng)前圖像中的處理器未嘗試解碼的碼候選被丟棄。在框388,如果下一圖像未被獲得,則控制傳遞到框390,在框390處理器14確定是否所有第2組候選被嘗試。如果至少一個(gè)第2組候選未被嘗試,則控制傳遞回到框380,在框380,上述過(guò)程繼續(xù)。如果在框390所有第2組候選已經(jīng)被嘗試,則控制向上傳遞到框392。在框392,處理器14嘗試解碼下一第3組候選。這里,在第一次經(jīng)過(guò)框392時(shí),處理器14嘗試解碼第一個(gè)第3組候選,在第二次經(jīng)過(guò)框392時(shí),處理器14嘗試解碼第二個(gè)第3組候選,等等。在框394,處理器14確定碼候選是否已經(jīng)被成功解碼。如果碼候選已經(jīng)被成功解碼,則控制傳遞到框396和398,在框396和398,過(guò)程14存儲(chǔ)被解碼候選的位置,并且指示成功解碼。在框398之后,控制傳遞到框400。在框400,處理器14確定是否已經(jīng)獲得下一圖像。如果下一圖像已經(jīng)被獲得,則控制傳遞回到圖7中框354,并且當(dāng)前圖像中的處理器未嘗試解碼的碼候選被丟棄。如果在框400未獲得下一圖像,則控制傳遞到框402。在框402,處理器14確定處理器是否已經(jīng)嘗試解碼所有第3組候選。如果至少一個(gè)第3組候選未被嘗試,控制傳遞回到框392,并且上述過(guò)程繼續(xù)。如果所有第3組候選已經(jīng)被嘗試,控制傳遞到框404。在框404,處理器14嘗試解碼下一第4組碼候選。這里,在第一次經(jīng)過(guò)框404時(shí),處理器14嘗試解碼第一個(gè)第4組碼候選,在第二次經(jīng)過(guò)框404時(shí),處理器14嘗試解碼第二個(gè)第4組碼候選,等等。在框406,處理器14確定碼候選是否被成功解碼。如果碼候選已經(jīng)被成功解碼,控制傳遞到框408和410,在框408和410處理器14存儲(chǔ)被解碼候選的位置,并且指示成功解碼。在框410之后,控制傳遞到框412。在框406,如果碼候選未被成功解碼,控制傳遞到框412。在框412,處理器14確定是否已經(jīng)從照相機(jī)22獲得下一圖像。如果下一圖像已經(jīng)被獲得,控制傳遞到圖7中的框354,在框354上述過(guò)程繼續(xù),并且處理器未嘗試解碼的第4組碼候選被丟棄。在框412,如果下一圖像未被獲得,控制向下傳遞到框414,在框414處理器414確定處理器是否已經(jīng)嘗試解碼所有第4組候選。如果至少一個(gè)第4組候選未被嘗試,則控制傳遞回到框404,在框404上述過(guò)程繼續(xù)。如果所有第4組候選已經(jīng)被嘗試,則控制傳遞到圖7中的框352,在框352處理器14等待接收來(lái)自照相機(jī)22的下一圖像。在一些實(shí)施例中,可構(gòu)想,處理器14可以被編程為,在獲得下一圖像之前,在可能時(shí)使用至少第一和第二不同解碼算法嘗試解碼圖像中的碼候選的至少一子集。例如,再次參考圖2,處理器14可以被編程為初始地使用相對(duì)簡(jiǎn)單的解碼算法首先嘗試解碼第二興趣區(qū)域34之內(nèi)的所有碼候選(即嘗試解碼與出口緣38相鄰的觀察域的第二半中的所有碼候選),并且然后,在下一新圖像事件出現(xiàn)之前,如果時(shí)間允許,使用相對(duì)簡(jiǎn)單并且消耗時(shí)間較少的解碼算法嘗試解碼第一興趣區(qū)域32之內(nèi)的所有碼候選,然后在下一圖像事件出現(xiàn)之前,如果時(shí)間允許,使用較復(fù)雜的解碼算法嘗試解碼第一興趣區(qū)域32中的碼候選??蓸?gòu)想以交織形式對(duì)不同的碼候選子集使用兩個(gè)或更多個(gè)不同解碼算法的其他順序。仍在其他實(shí)施例中,處理器14可以被編程為根據(jù)照相機(jī)觀察域中的位置來(lái)排序不同候選組中的碼候選。例如,在關(guān)于圖7和8的上述過(guò)程中,碼候選已經(jīng)基于碼候選是否已經(jīng)被線性解碼和候選是否將要出現(xiàn)在后續(xù)圖象中被分組成四個(gè)不同的候選組,第I組中的候選(即候選先前未被解碼并且可能將不會(huì)出現(xiàn)在后續(xù)圖像中)可以被排序?yàn)?靠近觀察域的入口緣的候選的次序比與入口緣相距更遠(yuǎn)的候選的次序更高。在其他第2組至第4組中的候選可以用類似方式排序。在其他實(shí)施例中,可構(gòu)想,在處理器嘗試解碼當(dāng)前圖像中的所有碼候選之前下一圖像事件發(fā)生時(shí),可以存儲(chǔ)未被嘗試的碼候選以供后續(xù)考慮。例如,假設(shè)在第一圖像中存在十個(gè)碼候選,并且在獲得第二圖像之前(即在下一圖像事件之前),處理器僅能夠嘗試解碼十個(gè)碼候選中的四個(gè),從而,至少在最初,處理器不嘗試解碼第一圖像中的十個(gè)碼候選中的六個(gè)。同樣假設(shè)在第二圖像中僅存在兩個(gè)碼候選,并且在獲得第三圖像之前,處理器完成兩個(gè)碼候選的解碼嘗試,從而在獲得第三圖像之前,處理器將有時(shí)間嘗試解碼第一圖像中額外的碼候選。在這種情況下,處理器可以被編程為從第一圖像中取回至少一碼候選子集并且在獲得第三圖像之前嘗試解碼那些候選。在之前圖像中選取的嘗試解碼的候選子集可以根據(jù)在后續(xù)圖像中出現(xiàn)的候選。例如,在以上例子中,如果僅有兩個(gè)碼候選出現(xiàn)在第二圖像中,則處理器14可以被編程為使來(lái)自第二圖像的兩個(gè)候選與在第一圖像中未被嘗試的六個(gè)候選中的兩個(gè)相關(guān),并且可以在接收到第三圖像之前嘗試解碼來(lái)自第一圖像的兩個(gè)候選。應(yīng)當(dāng)意識(shí)到的是,當(dāng)排序所獲得圖像中的碼候選以由處理器嘗試解碼時(shí),本發(fā)明不同的實(shí)施例考慮不同的因素。例如,處理器可以被編程為考慮以下因素的任意一個(gè)或子集:所獲得圖像中碼候選的位置、通過(guò)照相機(jī)的觀察域的碼候選的行進(jìn)方向、通過(guò)觀察域的碼候選的行進(jìn)速度、在前一圖像中解碼候選的之前嘗試、候選先前的成功解碼嘗試、碼候選在觀察域中是否是新的或者是否將要退出觀察域等等。雖然上述實(shí)施例的每個(gè)要求在新的圖像被獲得時(shí)處理器未嘗試解碼的碼候選被丟棄,但在至少一些實(shí)施例中,在至少一些情況下,可預(yù)期的是,新圖像可能未被接收,直到處理器嘗試解碼出現(xiàn)在圖像中的碼候選的至少一子集。例如,再參考圖7,如果第I組候選包括在前一圖像中可能未被解碼并且將可能不出現(xiàn)在下一圖像中的碼候選,處理器14可以被編程為在接收到用于處理的下一圖像之前完成所有第I組候選的解碼嘗試,即便在完成嘗試之前照相機(jī)產(chǎn)生下一圖像。替代地,如果在完成第I組候選的所有嘗試之前下一圖像被獲得,該下一圖像可以被存儲(chǔ)或者部分地處理,直到第I組候選都被嘗試。在其他實(shí)施例中,處理器可以被編程為在接收或處理下一圖像之前請(qǐng)求其他碼候選子集的解碼嘗試。盡管當(dāng)下一圖像被獲得時(shí),上述許多實(shí)施例停止嘗試解碼碼候選,但其他下一圖像事件也可以導(dǎo)致處理器停止嘗試解碼候選。例如,處理器14可以被編程為超時(shí)一個(gè)周期,在這個(gè)周期之后圖像的解碼嘗試被丟棄,而不是等待下一圖像被獲得。這里,超時(shí)周期被計(jì)算為一個(gè)周期,其類似于或者稍小于獲得下一圖像可能所需的周期。如另一個(gè)例子,處理器14可以被編程為僅嘗試解碼最大數(shù)量的碼候選,其中最大數(shù)量被計(jì)算為將在下一圖像被獲得之前完成。這里,超時(shí)周期和要解碼候選的最大數(shù)量以及下一圖像的獲得被統(tǒng)稱為下一圖像事件,其作為處理器觸發(fā)器運(yùn)行以在處理下一獲得的圖像之前丟棄處理器未嘗試解碼或者僅完成碼候選的一子集的碼候選。可構(gòu)想其他下一圖像事件。上述所有實(shí)施例包括順序一次一個(gè)地嘗試解碼碼候選的處理器14,應(yīng)當(dāng)理解的是,在至少一些實(shí)施例中,處理器14能夠同時(shí)處理兩個(gè)或更多碼候選。這里,例如,在至少一些實(shí)施例中,當(dāng)碼候選按照它們?cè)诓煌d趣區(qū)域中的位置或者根據(jù)其他特征被劃分到不同組中,處理器14可以同時(shí)嘗試解碼一組中的所有候選,然后嘗試以同時(shí)的方式解碼后續(xù)組內(nèi)所有候選。再一次參考圖2,盡管觀察域28在示出例子中被劃分為兩個(gè)不同的興趣區(qū)域32和34,但應(yīng)當(dāng)理解的是,觀察域28可以以任意形式被劃分為三個(gè)或更多觀察域,或者不規(guī)則形狀的觀察域。雖然上述過(guò)程的至少一些先行處理在先前圖像中可能已被解碼的碼候選,但在其他實(shí)施例中,處理器可能僅對(duì)先行解碼超過(guò)一次的碼先行解碼嘗試。例如,處理器14可以被編程為在先行嘗試后續(xù)圖像中相同的碼之前,要求碼被成功解碼兩次或更多次。在其他實(shí)施例中,處理器14可以被編程為先行嘗試解碼在一些圖像中的碼候選的至少一些實(shí)例,在這些實(shí)例中,處理器已經(jīng)嘗試解碼但未能解碼一個(gè)或多個(gè)先前圖像中的候選。例如,假設(shè)第一碼候選出現(xiàn)在第一和第二連續(xù)圖像中,并且未被成功解碼。在這種情況下,當(dāng)?shù)谝缓蜻x可能出現(xiàn)在第三、第四、第五和第六后續(xù)圖像中時(shí),處理器14可以被編程為先行嘗試解碼第三、第四和第五圖像中的第一碼候選以便處理器14接下來(lái)嘗試解碼第六圖像中的第一碼候選。由于候選經(jīng)常出現(xiàn)在具有相似特征的連續(xù)圖像中,這些特征是當(dāng)物體和碼在照相機(jī)的觀察域的不同位置上時(shí)在后續(xù)圖像中大幅改變的特征,跳過(guò)解碼嘗試可能是有益的。因此,通??赡苁窃谔幚砥鹘獯a第一和第二圖像中的實(shí)例失敗之后,第六圖像中的第一碼候選的實(shí)例比第三圖像中的實(shí)例更適合解碼。以上揭露的特定的實(shí)施例僅是示例性的,本發(fā)明可以按照獲得在此教導(dǎo)的益處的本領(lǐng)域技術(shù)人員顯而易見的不同但等價(jià)的方式被修改和實(shí)施。進(jìn)一步,除了在所附權(quán)利要求中的描述之外,對(duì)于在此示出的結(jié)構(gòu)或設(shè)計(jì)的細(xì)節(jié)的意圖是非限制性的。因此,顯然以上揭露的特定實(shí)施例可以被替換或修改,并且所有這樣的改變被認(rèn)為落在本發(fā)明的范圍和精神之內(nèi)。因此,本文請(qǐng)求的保護(hù)在所附權(quán)利要求書中闡明。因此,本發(fā)明覆蓋所有落在所附權(quán)利要求定義的本發(fā)明精神和范圍之內(nèi)的修改、等價(jià)物以及替換。為告知本發(fā)明公開的范圍,要求所附權(quán)利要求書中的權(quán)利。
權(quán)利要求
1.一種用于解碼施加在物體上的碼并與照相機(jī)和傳送系統(tǒng)一同使用的方法,其中照相機(jī)包括具有二維觀察域(FOV)的圖像傳感器并且傳送系統(tǒng)按通過(guò)FOV的第一行進(jìn)方向移動(dòng)物體,以使物體沿著入口緣進(jìn)入FOV并沿著出口緣離開F0V,所述方法包括步驟: 提供處理器,所述處理器被編程為執(zhí)行步驟: 獲得FOV的圖像; 對(duì)于每個(gè)圖像: (i)標(biāo)識(shí)在圖像的至少部分中的碼候選;· ( )排序碼候選的至少一子集以按照候選次序解碼,其中所述候選次序至少部分地根據(jù)通過(guò)FOV的第一行進(jìn)方向確定; (iii)嘗試按所述候選次序指定的次序來(lái)解碼碼候選;以及 (iv)當(dāng)新的圖像事件發(fā)生時(shí),先行嘗試解碼所標(biāo)識(shí)的碼候選中的至少一部分。
2.如權(quán)利要求1所述的方法,其特征在于,排序碼候選的至少一個(gè)子集的步驟包括:標(biāo)識(shí)FOV中的至少第一和第二興趣區(qū)域(ROI),它們分別與FOV的入口緣和出口緣相鄰;標(biāo)識(shí)至少第一和第二 ROI的每個(gè)中的碼候選;以及將第一和第二 ROI中的一個(gè)中的碼候選排序以在第一和第二 ROI中的另一個(gè)中的碼候選之前進(jìn)行處理。
3.如權(quán)利要求2所述的方法,其特征在于,第一ROI中的碼候選在候選次序中被排序在第二 ROI中的碼候選之前。
4.如權(quán)利要求2所述的方法,其特征在于,第二ROI中的碼候選在候選次序中被排序在第一 ROI中的碼候選之前。
5.如權(quán)利要求1所述的方法,其特征在于,排序碼候選的至少一子集的步驟進(jìn)一步包括步驟:標(biāo)識(shí)當(dāng)下一圖像被獲得時(shí)將可能在FOV之外的碼候選,并且將當(dāng)下一圖像被獲得時(shí)將可能在FOV之外的碼候選排序在候選次序的開始處附近。
6.如權(quán)利要求5所述的方法,其特征在于,標(biāo)識(shí)將可能在FOV之外的碼候選的步驟進(jìn)一步包括步驟:對(duì)于當(dāng)下一圖像被獲得時(shí)將可能在FOV之外的碼候選,標(biāo)識(shí)可能已經(jīng)在之前圖像中被解碼的碼候選以及可能在之前圖像中未被解碼的碼候選,并將在之前圖像中可能未被解碼的碼候選排序在在之前圖像中可能已經(jīng)被解碼的碼候選之前。
7.如權(quán)利要求5所述的方法,其特征在于,排序碼候選的至少一子集的步驟進(jìn)一步包括步驟:標(biāo)識(shí)對(duì)于FOV可能是新的碼候選,并且標(biāo)識(shí)可能在之前圖像中的碼候選以及當(dāng)后續(xù)圖像被獲得時(shí)可能在FOV中的碼候選,以及將在之前圖像中的和當(dāng)后續(xù)圖像被獲得時(shí)可能在FOV中的碼候選排序在候選次序的末尾附近,并將可能在之前圖像中的碼候選排序在候選次序的大致中間附近。
8.如權(quán)利要求1所述的方法,其特征在于,排序碼候選的至少一子集的方法包括:標(biāo)識(shí)候選次序中開始處附近對(duì)于FOV可能是新的碼候選。
9.如權(quán)利要求1所述的方法,其特征在于,排序碼候選的至少一子集的步驟包括: 標(biāo)識(shí)當(dāng)下一圖像被獲得時(shí)可能在FOV之外并且在之前圖像中可能未被解碼的碼候選,作為第一候選子集; 標(biāo)識(shí)當(dāng)下一圖像被獲得時(shí)可能在FOV之外并且在之前圖像中可能已經(jīng)被解碼的碼候選,作為第二候選子集; 標(biāo)識(shí)當(dāng)下一圖像被獲得時(shí)可能在FOV中并且在之前圖像中可能未被解碼的碼候選,作為第三候選子集; 標(biāo)識(shí)當(dāng)下一圖像被獲得時(shí)可能在FOV中并且在之前圖像中可能已經(jīng)被解碼的碼候選,作為第四候選子集;以及 排序子集以便第一候選子集出現(xiàn)在第二候選子集之前,第二候選子集出現(xiàn)在第三候選子集之前,并且第三候選子集出現(xiàn)在第四候選子集之前。
10.如權(quán)利要求1所述的方法,其特征在于,當(dāng)新的圖像被獲得時(shí),該方法進(jìn)一步包括丟棄候選次序中沒有發(fā)生嘗試解碼的碼候選。
11.如權(quán)利要求1所述的方法,其特征在于,傳送系統(tǒng)以傳送速度按第一行進(jìn)方向傳送物體,并且其中候選次序部分地根據(jù)傳送速度來(lái)確定。
12.如權(quán)利要求1所述的方法,其特征在于,至少第一和第二不同解碼算法可以被用來(lái)嘗試解碼任一碼候選,該方法進(jìn)一步包括步驟:將第一和第二解碼算法中的一個(gè)分配給候選次序中的碼候選的至少一子集的每一個(gè),其中被指定給每個(gè)候選的算法至少部分地根據(jù)候選次序。
13.如權(quán)利要求12所述的方法,其特征在于,進(jìn)一步包括標(biāo)識(shí)在之前圖像中可能被成功解碼的碼候選以及在之前圖像中可能未被成功解碼的碼候選的步驟,分配第一和第二解碼算法的步驟包括至少部分地根據(jù)在之前圖像中碼候選是否被解碼來(lái)分配解碼算法。
14.如權(quán)利要求12所述的方法,其特征在于,第一解碼算法需要比第二解碼算法更多的時(shí)間來(lái)完成;
15.如權(quán)利要求1所述的方法,其特征在于,當(dāng)新的圖像獲得時(shí),新的圖像事件發(fā)生。
16.如權(quán)利要求1所述的方法,其特 征在于,當(dāng)圖像獲得周期流逝時(shí),新的圖像事件發(fā)生。
17.一種用于解碼施加在物體上的碼并與照相機(jī)和傳送系統(tǒng)一同使用的方法,其中該照相機(jī)包括具有二維觀察域(FOV)的圖像傳感器,并且傳送系統(tǒng)按通過(guò)FOV的第一行進(jìn)方向移動(dòng)物體,以使物體沿著入口緣進(jìn)入FOV并沿著出口緣離開F0V,該方法包括步驟: 提供處理器,所述處理器被編程為執(zhí)行步驟: 標(biāo)識(shí)通過(guò)FOV的第一行進(jìn)方向; 獲得FOV的圖像; 對(duì)于每個(gè)圖像,其中最近獲得的圖像是當(dāng)前圖像: (i)標(biāo)識(shí)圖像的至少部分中的碼候選; ( )嘗試解碼接近FOV出口緣的碼候選; (iii)在嘗試解碼接近FOV出口緣的碼候選之后,嘗試解碼接近FOV入口緣的碼候選;以及 (iv)當(dāng)新的圖像事件發(fā)生時(shí),先行嘗試解碼被標(biāo)識(shí)的碼候選中的至少一部分。
18.一種用于解碼施加在物體上的碼并與照相機(jī)和傳送系統(tǒng)一同使用的方法,其中照相機(jī)包括具有二維觀察域(FOV)的圖像傳感器,并且傳送系統(tǒng)按通過(guò)FOV的第一方向移動(dòng)物體,使得物體沿著入口緣進(jìn)入FOV并沿著出口緣離開F0V,以使傳感器產(chǎn)生具有至少第一和第二不同興趣區(qū)域的圖像,第一和第二興趣區(qū)域分別與入口緣和出口緣相鄰,所述方法包括步驟: 提供處理器,所述處理器被編程為執(zhí)行步驟:獲得FOV的圖像; 對(duì)于每個(gè)圖像: (i)標(biāo)識(shí)在圖像的至少部分中的碼候選; ( )標(biāo)識(shí)所獲得圖像中的至少第一和第二不同興趣區(qū)域(ROI); (iii)嘗試第一次解碼第一ROI中的碼候選; (iv)在嘗試解碼第一ROI中的候選之后,嘗試解碼第二 ROI中的碼候選; (v)在嘗試解碼第二ROI中的碼候選之后,嘗試第二次解碼第一 ROI中的碼候選;以及 (vi)當(dāng)新的圖像事件發(fā)生時(shí),先行嘗試解碼所標(biāo)識(shí)碼候選的至少一部分。
19.如權(quán)利要求18所述的方法,其特征在于,嘗試第一次解碼第一ROI中的碼候選的步驟包括使用第一解碼算法,并且嘗試第二次解碼第一 ROI中的碼候選的步驟包括嘗試使用不同于第一解碼算法的第二解碼算法解碼碼候選。
20.如權(quán)利要求1所述的方法,其特征在于,第一ROI接近FOV的入口緣和出口緣中的一個(gè),并且第二 ROI接近FOV的入口緣和出口緣中的另一個(gè)。
21.如權(quán)利要求18所述的方法,其特征在于,進(jìn)一步包括在候選次序中排序第一ROI中的碼候選,嘗試第一次解碼第一 FOI中的碼候選的步驟包括嘗試按照由候選次序規(guī)定的次序解碼碼候選。
22.如權(quán)利要求21所 述的方法,其特征在于,進(jìn)一步包括標(biāo)識(shí)第一ROI中的在至少一個(gè)之前的圖像中可能先前被解碼的碼候選,排序碼候選的步驟包括至少部分地根據(jù)在至少一個(gè)之前的圖像中哪些候選被先解碼來(lái)排序碼候選。
23.一種用于解碼施加在物體上的碼并與照相機(jī)和傳送系統(tǒng)一同使用的方法,其中該照相機(jī)包括具有二維觀察域(FOV)的圖像傳感器,并且傳送系統(tǒng)按通過(guò)FOV的第一行進(jìn)方向移動(dòng)物體,從而物體沿著入口緣進(jìn)入FOV并沿著出口緣離開F0V,該方法包括步驟: 提供處理器,所述處理器被編程為執(zhí)行步驟: 獲得FOV的圖像; 對(duì)于每個(gè)圖像,其中最近獲得的圖像是當(dāng)前圖像: (i)標(biāo)識(shí)圖像的至少部分中的碼候選; ( )按照候選次序排序碼候選,其中所述候選次序至少部分地根據(jù)FOV中碼候選的位置、第一行進(jìn)方向、在之前圖像中碼候選被解碼的可能性以及物體通過(guò)FOV的行進(jìn)速度中的至少一個(gè)來(lái)確定; (iii)當(dāng)新的圖像事件發(fā)生時(shí),先行嘗試解碼被標(biāo)識(shí)的碼候選中的至少一部分。
24.一種用于解碼施加在物體上的碼并與照相機(jī)和傳送系統(tǒng)一同使用的裝置,其中照相機(jī)包括具有二維觀察域(FOV)的圖像傳感器并且傳送系統(tǒng)按通過(guò)FOV的第一行進(jìn)方向移動(dòng)物體,以便物體沿著入口緣進(jìn)入FOV并沿著出口緣離開F0V,該裝置包括步驟: 處理器,所述處理器被編程為執(zhí)行步驟: 獲得FOV的圖像; 對(duì)于每個(gè)圖像: (i)標(biāo)識(shí)在圖像的至少部分中的碼候選; ( )排序碼候選的至少一子集以按照候選次序解碼,其中碼候選至少部分地根據(jù)通過(guò)FOV的第一行進(jìn)方向來(lái)確定;(iii)嘗試按所述候選次序指定的次序解碼碼候選; (iv)當(dāng)新的圖像事件發(fā)生時(shí),先行嘗試解碼所標(biāo)識(shí)的碼候選中的至少一部分。
25.如權(quán)利要求24所述的裝置,其特征在于,所述處理器被編程為通過(guò)以下步驟執(zhí)行排序碼候選的至少一個(gè)子集的步驟:標(biāo)識(shí)FOV中的至少第一和第二興趣區(qū)域(ROI),它們分別與FOV的入口緣和出口緣相鄰;標(biāo)識(shí)至少第一和第二 ROI的每個(gè)中的碼候選;以及將第一和第二 ROI中的一個(gè)中的碼候選排序在第一和第二 ROI中的另一個(gè)中的碼候選之前進(jìn)行處理。
26.如權(quán)利要求24所述的裝置,其特征在于,所述處理器被編程為通過(guò)以下步驟執(zhí)行排序碼候選的至少一子集的步驟:標(biāo)識(shí)當(dāng)下一圖像被獲得時(shí)將可能在FOV之外的碼候選,并將當(dāng)下一圖像被獲得時(shí)將可能在FOV之外的碼候選排序在候選次序的開始處附近。
27.如權(quán)利要求24所述的裝置,其特征在于,所述處理器被編程為通過(guò)以下步驟執(zhí)行排序碼候選的至少一子集的步驟:標(biāo)識(shí)候選次序的開始處附近對(duì)于FOV可能是新的的碼候選。
28.一種用于解碼施加在物體上的碼并與照相機(jī)和傳送系統(tǒng)一同使用的裝置,其中該照相機(jī)包括具有二維觀察域(FOV)的圖像傳感器,并且傳送系統(tǒng)按通過(guò)FOV的第一行進(jìn)方向移動(dòng)物體,從而物體沿著入口緣進(jìn)入FOV并沿著出口緣離開F0V,所述裝置包括步驟: 處理器,所述被編程為執(zhí)行步驟: 標(biāo)識(shí)通過(guò)FOV的第一行進(jìn)方向; 獲得FOV的圖像; 對(duì)于每個(gè)圖像,其中最近獲得的圖像是當(dāng)前圖像: (i)標(biāo)識(shí)圖像的至少部分中的碼候選; ( )嘗試解碼接近FOV的出口緣的碼候選; (iii)在嘗試解碼接近FOV的出口緣的碼候選之后,嘗試解碼接近FOV的入口緣的碼候選;以及 (iv)當(dāng)新的圖像事件發(fā)生時(shí),先行嘗試解碼被標(biāo)識(shí)的碼候選的至少一部分。
29.一種用于解碼施加在物體上的碼并與照相機(jī)和傳送系統(tǒng)一同使用的裝置,其中照相機(jī)包括具有二維觀察域(FOV)的圖像傳感器,并且傳送系統(tǒng)按通過(guò)FOV的第一方向移動(dòng)物體,使得物體沿著入口緣進(jìn)入FOV并沿著出口緣離開F0V,以使傳感器產(chǎn)生具有至少第一和第二不同興趣區(qū)域的圖像,第一和第二興趣區(qū)域分別與入口緣和出口緣相鄰,所述裝置包括步驟: 處理器,所述處理器被編程為執(zhí)行步驟: 獲得FOV的圖像; 對(duì)于每個(gè)圖像: (i)標(biāo)識(shí)在圖像的至少部分中的碼候選; ( )標(biāo)識(shí)所獲得圖像中的至少第一和第二不同興趣區(qū)域(ROI); (iii)嘗試第一次解碼第一ROI中的碼候選; (iv)在嘗試解碼第一ROI中的候選之后,嘗試解碼第二 ROI中的碼候選; (v)在嘗試解碼第二ROI中的碼候選之后,嘗試第二次解碼第一 ROI中的碼候選;以及 (vi)當(dāng)新的圖像事件發(fā)生時(shí),先行嘗試解碼所標(biāo)識(shí)碼候選的至少一部分。
全文摘要
一種用于解碼施加在物體上的碼并與照相機(jī)和傳送系統(tǒng)一同使用的方法和裝置,其中照相機(jī)包括具有二維觀察域(FOV)的圖像傳感器并且傳送系統(tǒng)按通過(guò)FOV的第一行進(jìn)方向移動(dòng)物體,以便物體沿著入口緣進(jìn)入FOV并沿著出口緣退出FOV,該方法包括步驟提供處理器,其被編程為執(zhí)行步驟獲得FOV的圖像;對(duì)于每個(gè)圖像標(biāo)識(shí)在圖像的至少一部分中的碼候選;排序碼候選的至少一子集以按候選次序解碼,其中碼候選至少部分地根據(jù)通過(guò)FOV的第一行進(jìn)方向來(lái)確定;嘗試按候選次序指定的次序來(lái)解碼碼候選;并且當(dāng)新的圖像事件發(fā)生時(shí),先行嘗試解碼所標(biāo)識(shí)的碼候選中的至少一部分。
文檔編號(hào)G06K7/10GK103150536SQ20121059639
公開日2013年6月12日 申請(qǐng)日期2012年11月2日 優(yōu)先權(quán)日2011年11月3日
發(fā)明者J·A·內(nèi)格羅, J·F·基廷, M·C·莫德 申請(qǐng)人:康耐視公司