專利名稱:內(nèi)嵌式指紋重構(gòu)加速器和動(dòng)態(tài)指紋重構(gòu)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及指紋重構(gòu)和SoC單芯片系統(tǒng)集成電路領(lǐng)域,主要是一種內(nèi)嵌式指紋重構(gòu)加速器和動(dòng)態(tài)指紋重構(gòu)方法。
背景技術(shù):
每個(gè)人的指紋皮膚紋路在圖案、斷點(diǎn)和交叉點(diǎn)上各不相同,呈現(xiàn)惟一性且終生不變。計(jì)算機(jī)指紋識(shí)別技術(shù)就是根據(jù)這一特性并利用計(jì)算機(jī)或者嵌入式處理器實(shí)現(xiàn)身份鑒別的一種技術(shù)。目前,嵌入式指紋識(shí)別設(shè)備在刑偵、安防及金融安全等領(lǐng)域都得到了廣泛的應(yīng)用。
指紋圖像的獲取是實(shí)現(xiàn)嵌入式指紋識(shí)別設(shè)備的關(guān)鍵步驟,也是影響嵌入式指紋識(shí)別設(shè)備性能的關(guān)鍵因素之一。
指紋圖像的獲取是靠指紋圖像傳感器來(lái)完成的。目前,主要的指紋圖像傳感器包括兩類,即按壓式指紋傳感器和括擦式指紋傳感器。由于括擦式指紋傳感器具有體積小、成本低、無(wú)指紋殘留等優(yōu)點(diǎn),這類傳感器已經(jīng)成為目前嵌入式指紋識(shí)別設(shè)備的首選。
括擦式指紋傳感器采集的指紋圖像是連續(xù)的指紋片斷,這些圖像片段無(wú)法直接進(jìn)入后續(xù)的指紋增強(qiáng)和比對(duì)流程。處理器必需經(jīng)過(guò)特殊的算法或處理手段將這些連續(xù)的指紋片斷重新恢復(fù)為完整聯(lián)系的指紋圖像(即指紋重構(gòu));而快速獲取指紋片斷、高效提取重構(gòu)參數(shù)是指紋重構(gòu)技術(shù)的兩個(gè)關(guān)鍵步驟。
目前公知的指紋重構(gòu)技術(shù),大都采用軟件算法實(shí)現(xiàn)指紋片斷的獲取、計(jì)算重構(gòu)參數(shù),進(jìn)而完成指紋片斷的粘接。一副完整的指紋圖像通常由300~2000幀不等的指紋片斷組成,每幀指紋片斷的數(shù)據(jù)量為1~2KB。軟件算法在承擔(dān)大量指紋圖像片段的采集、參數(shù)計(jì)算和圖像拼接時(shí),運(yùn)算量繁雜、速度慢、效率低,給處理器造成很大的負(fù)擔(dān),以及主頻、內(nèi)存空間等苛刻要求。為了克服這一問(wèn)題,需要從總體構(gòu)架上加以改進(jìn),增添專用硬件資源,分擔(dān)主處理器用作圖像拼接的運(yùn)算開銷,提高SoC單芯片系統(tǒng)的整體功能和效率。
發(fā)明內(nèi)容
本發(fā)明的目的是為了解決上述技術(shù)的不足,而提供一種內(nèi)嵌式指紋重構(gòu)加速器,在SoC主處理器系統(tǒng)中,內(nèi)嵌一種指紋重構(gòu)加速器,采用硬件方式進(jìn)行指紋片斷的獲取及重構(gòu)參數(shù)計(jì)算,以降低主處理器、內(nèi)存等系統(tǒng)資源的過(guò)度開銷。使指紋識(shí)別SoC的軟硬件系統(tǒng)資源得到源平衡配置,實(shí)現(xiàn)系統(tǒng)整體優(yōu)化。
本發(fā)明的另一目的是提供一種在實(shí)時(shí)處理過(guò)程中動(dòng)態(tài)實(shí)現(xiàn)指紋重構(gòu)的方法,配合硬件系統(tǒng)高效完成指紋重構(gòu)處理。
為了達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的 本發(fā)明所述的這種內(nèi)嵌式指紋重構(gòu)加速器,包括幀圖采集器、幀圖緩存單元、指紋重構(gòu)單元和全局控制邏輯,幀圖采集器與幀圖緩存單元之間通過(guò)寫入地址總線組、寫入數(shù)據(jù)總線組連接,幀圖緩存單元與指紋重構(gòu)單元之間通過(guò)讀出地址總線組、讀出數(shù)據(jù)總線組連接,全局控制邏輯通過(guò)控制總線分別與幀圖采集器、幀圖緩存單元、指紋重構(gòu)單元連接,圖像緩沖區(qū)通過(guò)內(nèi)部總線與指紋重構(gòu)單元連接其中 1)幀圖采集器用于指紋片段采集,包括一個(gè)采集控制寄存器組和串行接口,在全局控制邏輯控制下,通過(guò)串行接口向指紋傳感器發(fā)送控制信號(hào)、并接收采集到的指紋幀圖數(shù)據(jù); 2)幀圖緩存單元用于對(duì)采集到的幀圖數(shù)據(jù)進(jìn)行緩存處理,包括緩存器和緩存邏輯電路,緩存邏輯電路用于指示緩存器的存儲(chǔ)狀態(tài); 3)指紋重構(gòu)單元包括用于配置重構(gòu)參數(shù)的重構(gòu)寄存器組,負(fù)責(zé)計(jì)算相鄰兩幀圖的偏移量,并將來(lái)自緩存器的有效幀圖搬移到圖像緩沖區(qū); 4)全局控制邏輯包括一個(gè)全局控制寄存器組,通過(guò)控制總線監(jiān)控幀圖緩存單元、指紋重構(gòu)單元的工作狀態(tài),以此狀態(tài)信息控制幀圖采集器的啟閉,當(dāng)整幅指紋圖像重構(gòu)處理完成后產(chǎn)生中斷。
較佳地,所述緩存器由A、B兩個(gè)高速數(shù)據(jù)緩沖存儲(chǔ)器,即緩存器A和緩存器B組成,用來(lái)存放相鄰兩幀圖像,緩存器A和緩存器B各自擁有兩組獨(dú)立的地址/數(shù)據(jù)總線,使幀圖采集器和指紋重構(gòu)單元能夠分別對(duì)緩存器A和緩存器B進(jìn)行寫數(shù)據(jù)和讀數(shù)據(jù)操作所述寫入地址總線組由兩條寫地址總線A_ADDR_WR、B_ADDR_WR組成,所述寫入數(shù)據(jù)總線組由兩條寫數(shù)據(jù)總線A_DATA_WR、B_DATA_WR組成,以上四條總線,構(gòu)成幀圖緩存單元的數(shù)據(jù)寫入通道,其中A_ADDR_WR、A_DATA_WR與緩存器A寫入端相連,B_ADDR_WR、B_DATA_WR與緩存器B寫入端相連;所述讀出地址總線組由兩條讀地址總線A_ADDR_RD、B_ADDR_RD組成,所述讀出數(shù)據(jù)總線組由兩條讀數(shù)據(jù)總線A_DATA_RD、B_DATA_RD組成,以上四條總線,構(gòu)成幀圖緩存單元的數(shù)據(jù)讀出通道,其中A_ADDR_RD、A_DATA_RD與緩存器A讀出端相連,B_ADDR_RD、B_DATA_RD與緩存器B讀出端相連。
可以在所述幀圖采集器包含采集寄存器組的基礎(chǔ)作上進(jìn)一步完善,增加位移寄存器、譯碼器、時(shí)鐘發(fā)生器、寫操作總線選擇器和寫操作地址發(fā)生器電路,位移寄存器分別與指紋傳感器、寫操作總線選擇器相連,時(shí)鐘發(fā)生器分別與位移寄存器、指紋傳感器相連,譯碼器與寫操作總線選擇器、寫操作地址發(fā)生器相連,采集寄存器組分別與時(shí)鐘發(fā)生器、寫操作地址發(fā)生器相連;其中 1)時(shí)鐘發(fā)生器按照采集寄存器組中的串行接口速率設(shè)定時(shí)鐘; 2)移位寄存器的運(yùn)行與暫止,由控制邏輯寄存器組、重構(gòu)寄存器組的設(shè)定共同控制;移位寄存器在時(shí)鐘發(fā)生器時(shí)鐘信號(hào)的激勵(lì)下(主模式),將來(lái)自指紋傳感器的串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù),并送往寫操作總線選擇器;移位寄存器也可采用外部時(shí)鐘信號(hào)激勵(lì)(從模式)進(jìn)行數(shù)據(jù)位移操作; 3)譯碼器對(duì)來(lái)自緩存邏輯的緩存狀態(tài)信號(hào)進(jìn)行解析,動(dòng)態(tài)選擇緩存器A和緩存器B作為幀圖緩存目的,并將選擇信號(hào)向?qū)懖僮骺偩€選擇器和寫操作地址發(fā)生器發(fā)送; 4)寫操作總線選擇器按照譯碼器發(fā)來(lái)的選擇信號(hào),選通恰當(dāng)?shù)倪B接緩存器A的寫數(shù)據(jù)總線A_DATA_WR或緩存器B的B_DATA_WR; 5)寫操作地址發(fā)生器按照譯碼器發(fā)來(lái)的選擇信號(hào),選通恰當(dāng)?shù)木彺嫫鰽的寫地址總線A_ADDR_WR或者緩存器B的B_ADDR_WR,同時(shí)采集控制寄存器組的控制參數(shù),計(jì)算緩存操作的地址 6)采集控制寄存器組中至少含有幀圖寬、幀圖高、和串行接口參數(shù)三類控制參數(shù)。
可以在所述指紋重構(gòu)單元內(nèi)含重構(gòu)寄存器組的基礎(chǔ)作上進(jìn)一步完善,比較器、重組器、讀操作總線選擇器、讀操作地址發(fā)生器和譯碼器B,比較器分別與讀操作總線選擇器、讀操作地址發(fā)生器相連,重組器分別與比較器、讀操作總線選擇器、讀操作地址發(fā)生器相連,譯碼器B分別與讀操作總線選擇器、讀操作地址發(fā)生器相連,重構(gòu)寄存器組分別與比較器、重組器相連,其中 1)比較器采用矩陣窗口互相關(guān)性算法,計(jì)算出相鄰兩幀圖像的最大相關(guān)偏移量,確定兩幀圖像的重構(gòu)參量off_x和off_y,發(fā)送給重組器,當(dāng)比較器運(yùn)行時(shí),通過(guò)控制總線分別對(duì)幀圖緩存單元、幀圖采集器發(fā)送控制信號(hào),以暫止幀圖采集; 2)重組器根據(jù)比較器發(fā)送的重構(gòu)參量off_x和off_y,以及重構(gòu)寄存器組設(shè)置的目標(biāo)圖像地址,計(jì)算源地址和目的地址后,將幀圖數(shù)據(jù)搬移到目的地址,當(dāng)重組器運(yùn)行時(shí),通過(guò)控制總線分別對(duì)幀圖緩存單元、幀圖采集器發(fā)送控制信號(hào),以暫止幀圖采集; 3)譯碼器B對(duì)來(lái)自緩存邏輯的緩存狀態(tài)信號(hào)進(jìn)行解析,動(dòng)態(tài)選擇緩存器A和緩存器B作為幀圖緩存目的,并將選擇信號(hào)向讀操作總線選擇器和讀操作地址發(fā)生器發(fā)送; 4)讀操作總線選擇器按照譯碼器B發(fā)來(lái)的選擇信號(hào),選通恰當(dāng)?shù)倪B接緩存器A的讀數(shù)據(jù)總線A_DATA_RD或者緩存器B的讀數(shù)據(jù)總線B_DATA_RD; 5)讀操作地址發(fā)生器按照譯碼器B發(fā)來(lái)的選擇信號(hào),選通恰當(dāng)?shù)倪B接緩存器A的讀地址總線A_ADDR_RD或者緩存器B的讀地址總線B_ADDR_RD。
本發(fā)明提供一種動(dòng)態(tài)指紋重構(gòu)方法,包括如下步驟 1)在幀圖緩存單元內(nèi)開辟兩個(gè)大小相等的緩存器A和緩存器B; 2)幀圖采集器采集到的像數(shù)據(jù)通過(guò)寫入數(shù)據(jù)總線組,對(duì)幀圖緩存單元形成輸入數(shù)據(jù)流; 3)在第1緩存周期,全局控制邏輯通過(guò)寫入地址總線組,將輸入數(shù)據(jù)流導(dǎo)入緩存器A; 4)在第2緩存周期,全局控制邏輯將輸入數(shù)據(jù)流切換到緩存器B,同時(shí)將第1緩存周期暫存在緩存器A的圖像數(shù)據(jù)送入指紋重構(gòu)單元的比較器中,進(jìn)行下列運(yùn)算 1_偏移量計(jì)算; 2_去除重疊圖像運(yùn)算處理; 3_保留有效圖像; 4_通過(guò)內(nèi)部總線,發(fā)送給圖像緩沖區(qū)。
5)在第3緩存周期全局控制邏輯將輸入數(shù)據(jù)流切換到緩存器A,同時(shí)將第2緩存周期暫存在緩存器B的圖像數(shù)據(jù)送入指紋重構(gòu)單元的比較器中,進(jìn)行下列運(yùn)算 1_偏移量計(jì)算; 2_去除重疊圖像運(yùn)算處理; 3_保留有效圖像; 4_通過(guò)內(nèi)部總線,發(fā)送給圖像緩沖區(qū)。
6)如此循環(huán)直至輸入數(shù)據(jù)流處理完畢。
所述偏移量計(jì)算,包含下列步驟 1)設(shè)前幀圖像為Fi,后幀圖像為Fj; 2)開辟一個(gè)面積小于傳感器感測(cè)幀圖的取樣窗口W; 3)令取樣窗口W處于前幀圖像Fi基準(zhǔn)位置,其坐標(biāo)為L(zhǎng)b; 4)計(jì)算Fi落入該取樣窗口W中n個(gè)像素灰度值的方差其中 1/Si為取樣窗口W處于Fi基準(zhǔn)位置時(shí),所取第i個(gè)像素灰度值; 2/S0為取樣窗口W處于Fi基準(zhǔn)位置時(shí),所有n個(gè)像素灰度值的均值。
5)令取樣窗口W以一個(gè)像素為步長(zhǎng),遍歷后幀圖像Fj,同時(shí)計(jì)算每一步落入取樣窗口W內(nèi)n個(gè)像素灰度值的方差; 1_當(dāng)遍歷至第k步時(shí),F(xiàn)j落入取樣窗口W內(nèi)的像素灰度值方差為其中 1/Si為取樣窗口W遍歷Fj至第k步時(shí),第i個(gè)像素灰度值; 2/Sk為取樣窗口W遍歷Fj至第k步時(shí),所有n個(gè)像素灰度值的均值。
6)若遍歷至m步,遍歷完成。算得方差共有m個(gè) …… 7)在m個(gè)遍歷方差中,找出與方差D0最為接近的方差Dp所屬區(qū)塊,即為局部相關(guān)性匹配區(qū)域Zp; 8)取局部相關(guān)性匹配區(qū)域Zp的坐標(biāo)Lp; 9)計(jì)算前后幀圖像Fi、Fj之間的偏移量,即(off_x,off_y)=Lb-Lp。
所述去除重疊圖像運(yùn)算處理,包含下列步驟 1)在取樣窗口W頂端中心位置,設(shè)定基準(zhǔn)點(diǎn)P; 2)當(dāng)取樣窗口W處于前幀圖像Fi基準(zhǔn)位置Lb時(shí),基準(zhǔn)點(diǎn)P在圖像Fi上投射出基準(zhǔn)點(diǎn)Pi; 3)取樣窗口W遍歷后幀圖像Fj,找出局部相關(guān)性匹配區(qū)域Zp時(shí),基準(zhǔn)點(diǎn)P在圖像Fj上投射出基準(zhǔn)點(diǎn)Pj; 4)以定寬像素為取樣邊界,計(jì)算基準(zhǔn)點(diǎn)Pj與左右邊界的距離,切除圖像Fj溢出左右邊界部分; 5)將溢出切除后的后幀圖像Fj,按照偏移量off_x,off_y平移到前幀圖像Fi上,使Pi、Pj兩點(diǎn)重合。
為了提高偏移量計(jì)算中的遍歷處理速度,可以增添無(wú)效遍歷步驟剔除機(jī)制對(duì)遍歷計(jì)算進(jìn)行優(yōu)化。方法是將指紋劃擦運(yùn)動(dòng)方向與指紋傳感器軸對(duì)稱線的偏角在±45°之內(nèi)所形成的后續(xù)幀圖視為有效幀圖,其余則排除在遍歷步驟之外。具體步驟是 6)設(shè)取樣窗口W的基準(zhǔn)點(diǎn)P處于前幀圖像Fi基準(zhǔn)位置Lb時(shí),在圖像Fi上投射出基準(zhǔn)點(diǎn)A對(duì)于原點(diǎn)O的坐標(biāo)為A(a,b); 7)當(dāng)取樣窗口W遍歷后幀圖像Fj至某一位置,基準(zhǔn)點(diǎn)P在圖像Fj上投射出基準(zhǔn)點(diǎn)B對(duì)于原點(diǎn)O的坐標(biāo)為B(a’,b’); 8)其位移向量
為 9)偏角θ為 10)設(shè)定有效后續(xù)幀圖的偏角區(qū)間為 11)作遍歷判斷 1_當(dāng)時(shí),為有效遍歷。繼續(xù)該遍歷步驟中的后續(xù)運(yùn)算; 2_否則,為無(wú)效遍歷。停止本遍歷步驟中的后續(xù)運(yùn)算,開始下一遍歷步驟。
本發(fā)明有益的效果本發(fā)明將指紋圖像重構(gòu)由公知的軟件技術(shù)實(shí)現(xiàn),提升為由便件技術(shù)實(shí)現(xiàn),節(jié)省了處理器開銷,大幅度提高了指紋重構(gòu)效率,同時(shí)節(jié)省了內(nèi)存空間,還改善了有效圖像面積的精確控制。本發(fā)明在提高指紋重構(gòu)效率前提下,降低主處理器、內(nèi)存等系統(tǒng)資源的過(guò)度開銷,使SoC系統(tǒng)構(gòu)架中的軟硬件資源平衡配置,實(shí)現(xiàn)系統(tǒng)整體優(yōu)化。
圖1是本發(fā)明提供的一種內(nèi)嵌于處理器系統(tǒng)的指紋重構(gòu)加速器的體系結(jié)構(gòu)圖; 圖2是本發(fā)明幀圖緩存單元緩存器內(nèi)部的具體配置示意圖; 圖3是本發(fā)明關(guān)于幀圖采集器一種較佳的內(nèi)部電路連接示意圖。
圖4是本發(fā)明關(guān)于指紋重構(gòu)單元內(nèi)部結(jié)構(gòu)功能示意圖。
圖5是本發(fā)明的流程示意圖。
具體實(shí)施例方式 下面通過(guò)實(shí)施例結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步的描述。
圖1是本發(fā)明提供的一種內(nèi)嵌于處理器系統(tǒng)的指紋重構(gòu)加速器的體系結(jié)構(gòu)圖,本發(fā)明所述的這種內(nèi)嵌式指紋重構(gòu)加速器,包括幀圖采集器22、幀圖緩存單元24、指紋重構(gòu)單元26和全局控制邏輯28,幀圖采集器22與幀圖緩存單元24之間通過(guò)寫入地址總線組202、寫入數(shù)據(jù)總線組203連接,幀圖緩存單元24與指紋重構(gòu)單元26之間通過(guò)讀出地址總線組204、讀出數(shù)據(jù)總線組205連接,全局控制邏輯28通過(guò)控制總線201分別與幀圖采集器22、幀圖緩存單元24、指紋重構(gòu)單元26連接,圖像緩沖區(qū)40通過(guò)內(nèi)部總線206與指紋重構(gòu)單元26連接;其中幀圖采集器22用于指紋片段采集,包括一個(gè)采集控制寄存器組221和串行接口222,在全局控制邏輯28控制下,通過(guò)串行接口222向指紋傳感器30發(fā)送控制信號(hào)、并接收采集到的指紋幀圖數(shù)據(jù);幀圖緩存單元24用于對(duì)采集到的幀圖數(shù)據(jù)進(jìn)行緩存處理,包括緩存器241和緩存邏輯電路242,緩存邏輯電路242用于指示緩存器241的存儲(chǔ)狀態(tài);指紋重構(gòu)單元26包括用于配置重構(gòu)參數(shù)的重構(gòu)寄存器組261,負(fù)責(zé)計(jì)算相鄰兩幀圖的偏移量,并將來(lái)自緩存器241的有效幀圖搬移到圖像緩沖區(qū)40;全局控制邏輯28包括一個(gè)全局控制寄存器組281,通過(guò)控制總線201監(jiān)控幀圖緩存單元24、指紋重構(gòu)單元26的工作狀態(tài),以此狀態(tài)信息控制幀圖采集器22的啟閉,當(dāng)整幅指紋圖像重構(gòu)處理完成后產(chǎn)生中斷。
本實(shí)施例中采用硬件邏輯完成指紋片斷采集、重構(gòu)參數(shù)提取、圖像重構(gòu)全過(guò)程,無(wú)需軟件干預(yù),專門設(shè)計(jì)了指紋片斷采集器(FrmCap)和指紋重構(gòu)器(Restructor),并通過(guò)全局控制邏輯(GlobalControl)以及雙倍幀圖像緩沖器等器件使之有效結(jié)合,實(shí)現(xiàn)了指紋片斷的自動(dòng)采集和指紋重構(gòu)的自動(dòng)完成,整個(gè)過(guò)程只需要預(yù)先設(shè)定好相關(guān)參數(shù),硬件就能夠自動(dòng)完成指紋重構(gòu)的全部過(guò)程,并將重構(gòu)好的完整指紋圖像存放在預(yù)先指定好的用戶緩存中,開通過(guò)中斷或者狀態(tài)指示的方法通知處理器。
1)指紋片斷采集器FrmCap的作用是負(fù)責(zé)采集指紋片斷。由于大部分指紋傳感器都是采用SPI串行接口,因此FrmCap采用SPI串行接口作為同指紋傳感器的硬件接口。FrmCap_Reg是FrmCap的控制寄存器組,包括FrmCap_FrmW、FrmCap_FrmH及FrmCap_SpiCntl三個(gè)寄存器。這些寄存器被用來(lái)配置SPI的傳輸模式、傳輸速率及圖像規(guī)格等參數(shù)。指紋片斷采集器采集到的幀圖像數(shù)據(jù)在控制邏輯的控制下被送到相應(yīng)的幀緩沖區(qū)FrameBufferA或FrameBufferA。
2)指紋重構(gòu)器Restuctor負(fù)責(zé)計(jì)算相鄰兩幀圖像的偏移量off_x及off_y并將有效圖像搬移到用戶指定的圖像緩存。Res_Reg是指紋重構(gòu)器的控制寄存器組,包括Res_WinH、Res_WinW、Res_WinOffset及Img_Start四個(gè)寄存器。這些寄存器被用來(lái)配置參考矩陣窗口的規(guī)格、窗口的最大偏移量以及圖像的目標(biāo)地址等參數(shù)。
Res_WinH BIT16-BIT0 參考矩陣窗口的高度1~16 Res_WinW BIT16-BIT0 參考矩陣窗口的高度32~128 Res_WinOffset BIT16-BIT0 參考矩陣窗口的左右偏移量 Img_Start BIT31-BIT0 目標(biāo)圖像地址 3)雙倍幀圖像緩沖器FrameBufferA和FrameBufferB用來(lái)緩存FrmCap采集到的幀圖像數(shù)據(jù)。雙倍幀圖像緩沖器包括FrameBufferA和FrameBufferB兩個(gè)同等大小的高速數(shù)據(jù)緩存存儲(chǔ)器。每個(gè)緩沖存儲(chǔ)器可以單獨(dú)控制,用來(lái)存放相鄰的兩幀圖像片斷。緩存邏輯BufLogic負(fù)責(zé)監(jiān)控FrameBufferA和FrameBufferB的存儲(chǔ)狀態(tài),并給出BufStat[1:0]信號(hào)。
4)全局控制邏輯GlobalControl負(fù)責(zé)模塊同處理器的接口,用戶可以通過(guò)該接口控制整個(gè)模塊的行為。全局控制邏輯含有一個(gè)寄存器組,包括Global_Cntl和Global_State兩個(gè)寄存器。
通過(guò)這些寄存器用戶可以了解模塊的運(yùn)行狀態(tài),并設(shè)定模塊運(yùn)行完成之后的中斷機(jī)制。具體設(shè)置如下 ◆全局控制寄存器Global_Cntl BIT15-BIT2BIT1BIT0 RESERVE INTESTART BIT0START為1啟動(dòng)模塊;START為0停止模塊運(yùn)行,默認(rèn)為0。
BIT1INTE為1時(shí),當(dāng)整副圖像重構(gòu)成功后,產(chǎn)生中斷,默認(rèn)為0。
◆全局狀態(tài)寄存器Global_State BIT15-BIT3BIT2 BIT1BIT0 RESERVE ReadyBufBBufA BIT0BufA指示FrameBufferA的狀態(tài),1為有效。默認(rèn)為0。
BIT1BufB指示FrameBufferB的狀態(tài),1為有效。默認(rèn)為0。
BIT2READY為1表示一副完整指紋圖像已經(jīng)存放至用戶緩沖區(qū),默認(rèn)為0。
圖2表示了幀圖緩存單元緩存器內(nèi)部的具體配置,以及緩存器A、B與各種類型總線的連接方式。專門設(shè)計(jì)的雙倍幀圖像緩沖器FrameBufferA和FrameBufferB及緩存邏輯電路,不僅能高速存取數(shù)據(jù),開且返回緩沖區(qū)的存儲(chǔ)狀態(tài)。
1)所述緩存器241由A、B兩個(gè)大小同等的高速數(shù)據(jù)緩沖存儲(chǔ)器,即緩存器A 24a和緩存器B24b組成,用來(lái)存放相鄰兩幀圖像。緩存器A 24a和緩存器B 24b各自擁有兩組獨(dú)立的地址/數(shù)據(jù)總線,使幀圖采集器22和指紋重構(gòu)單元26能夠分別對(duì)緩存器A 24a和緩存器B 24b進(jìn)行寫數(shù)據(jù)和讀數(shù)據(jù)操作。
2)所述寫入地址總線組202由兩條寫地址總線A_ADDR_WR、B_ADDR_WR組成,所述寫入數(shù)據(jù)總線組203由兩條寫數(shù)據(jù)總線A_DATA_WR、B_DATA_WR組成,以上四條總線,構(gòu)成幀圖緩存單元24數(shù)據(jù)寫入通道,其中A_ADDR_WR、A_DATA_WR與緩存器A 24a寫入端相連,B_ADDR_WR、B_DATA_WR與緩存器B 24b寫入端相連;所述讀出地址總線組204由兩條讀地址總線A_ADDR_RD、B_ADDR_RD組成,所述讀出數(shù)據(jù)總線組205由兩條讀數(shù)據(jù)總線A_DATA_RD、B_DATA_RD組成,以上四條總線,構(gòu)成幀圖緩存單元24數(shù)據(jù)讀出通道,其中A_ADDR_RD、A_DATA_RD與緩存器A 24a讀出端相連B_ADDR_RD、B_DATA_RD與緩存器B 24b讀出端相連。
3)緩存邏輯電路BufLogic可以將存儲(chǔ)器的狀態(tài)進(jìn)行編碼,并通過(guò)BufStat[1:0]信號(hào)加以指示。
BufStat[1:0]狀態(tài)轉(zhuǎn)換 00 初始狀態(tài),A內(nèi)數(shù)據(jù)無(wú)效,B內(nèi)數(shù)據(jù)無(wú)效 01 A內(nèi)數(shù)據(jù)更新完畢 11 A內(nèi)數(shù)據(jù)有效,B內(nèi)數(shù)據(jù)更新完畢 10 A內(nèi)數(shù)據(jù)失效,B內(nèi)數(shù)據(jù)有效 11 A內(nèi)數(shù)據(jù)更新,B內(nèi)數(shù)據(jù)有效 01 A內(nèi)數(shù)據(jù)有效,B內(nèi)數(shù)據(jù)失效 11 A內(nèi)數(shù)據(jù)有效,B內(nèi)數(shù)據(jù)更新 … … 注BufStat[1:0]對(duì)應(yīng)狀態(tài)轉(zhuǎn)換表。A/B分別代表FrameBufferA/B 圖3是關(guān)于幀圖采集器一種較佳的內(nèi)部電路的擴(kuò)充以及相互之間的連接關(guān)系。專門設(shè)計(jì)的指紋片斷采集器FrmCap無(wú)需軟件干預(yù),能自動(dòng)地、高效地完成幀圖像的采集。節(jié)省了處理器升銷。
所述幀圖采集器22在包含采集寄存器組的基礎(chǔ)上,還包括位移寄存器223、譯碼器224、時(shí)鐘發(fā)生器225、寫操作總線選擇器226和寫操作地址發(fā)生器227電路,位移寄存器223分別與指紋傳感器30、寫操作總線選擇器226相連,時(shí)鐘發(fā)生器225分別與位移寄存器223、指紋傳感器30相連,譯碼器224與寫操作總線選擇器226、寫操作地址發(fā)生器227相連,采集寄存器組221分別與時(shí)鐘發(fā)生器225、寫操作地址發(fā)生器227相連;其中 1)時(shí)鐘發(fā)生器225按照采集寄存器組221中的串行接口速率設(shè)定時(shí)鐘,時(shí)鐘發(fā)生器按照FrmCap_SpiCntl.SPEED[5:0]的配置,來(lái)產(chǎn)生CLK時(shí)鐘并提供給移位寄存器。
2)移位寄存器223的運(yùn)行與暫止,由控制邏輯寄存器組281、重構(gòu)寄存器組261的設(shè)定共同控制;移位寄存器223采用時(shí)鐘發(fā)生器224產(chǎn)生的CLK信號(hào)激勵(lì)SPI主模式或者是外部CLK信號(hào)激勵(lì)SPI從模式,將來(lái)自指紋傳感器30的串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù),并送至總線選擇器A。Start信號(hào)、StateHold信號(hào)共同控制移位寄存器是否運(yùn)行。Start信號(hào)是來(lái)自Global_Cntl寄存器的控制信號(hào),用于啟動(dòng)模塊;StateHold是來(lái)自指紋重構(gòu)器的握手信號(hào),其高電平表示指紋緩沖區(qū)的數(shù)據(jù)正被使用,禁止操作Buffer。
3)譯碼器224對(duì)來(lái)自緩存邏輯242的緩存狀態(tài)信號(hào)進(jìn)行解析(負(fù)責(zé)解析BufStat[1:0]信號(hào)),動(dòng)態(tài)選擇緩存器A24a和緩存器B24b作為幀圖緩存目的,并根據(jù)不同的信號(hào)狀態(tài)給出控制信號(hào)Addr_select,用以控制總線選擇器選擇正確的地址和數(shù)據(jù)總線(寫操作總線選擇器226和寫操作地址發(fā)生器),從而將數(shù)據(jù)存儲(chǔ)到緩存器A24a或者是緩存器B24b。
4)寫操作總線選擇器226按照譯碼器224發(fā)來(lái)的選擇信號(hào),選通恰當(dāng)?shù)倪B接緩存器A24a的寫數(shù)據(jù)總線A_DATA_WR或緩存器B24b的B_DATA_WR;寫操作總線選擇器按照控制信號(hào)Addr_select選通正確的數(shù)據(jù)總線,Addr_select為高時(shí),選擇BufA_DATA_W;Addr_select為低時(shí),選擇BufB DATA W。
5)寫操作地址發(fā)生器227按照譯碼器224發(fā)來(lái)的選擇信號(hào),選通恰當(dāng)?shù)木彺嫫鰽24a的寫地址總線A_ADDR_WR或者緩存器B24b的B_ADDR_WR,同時(shí)采集控制寄存器組221的控制參數(shù),計(jì)算緩存操作的地址; 6)采集控制寄存器組221包括FrmCap_FrmW、FrmCap_FrmH及FrmCap_SpiCntl三個(gè)寄存器。
FrmCap_SpiCntl BIT15-BIT6BIT5BIT[4:0] RESERVE ModeSpeed ModeSPI主從模式選擇。Mode為1為主模式。默認(rèn)為0。
Speed分頻系數(shù)。SPI Baudrate=Mclk/Speed。Speed默認(rèn)為24 FrmCap_FrmW BIT16-BIT0 指紋片斷圖像的寬度 FrmCap_FrmH BIT16-BIT0 指紋片斷圖像的高度 圖4是一種較佳的對(duì)指紋重構(gòu)單元進(jìn)一步進(jìn)行改進(jìn)的內(nèi)部結(jié)構(gòu)圖。專門設(shè)計(jì)的指紋重構(gòu)器Restructor,無(wú)需軟件干預(yù),能快速高效地完成重構(gòu)參數(shù)的提取和圖像重組。
所述指紋重構(gòu)單元26還包括比較器262、重組器263、讀操作總線選擇器264、讀操作地址發(fā)生器265和譯碼器B266,比較器分別262與讀操作總線選擇器264、讀操作地址發(fā)生器265相連,重組器263分別與比較器262、讀操作總線選擇器264、讀操作地址發(fā)生器265相連,譯碼器B266分別與讀操作總線選擇器264、讀操作地址發(fā)生器265相連,重構(gòu)寄存器組261分別與比較器262、重組器263相連,其中 1)比較器262(CMP)采用計(jì)算矩陣窗口互相關(guān)性的方法來(lái)尋找相鄰兩幀圖像的最大相關(guān)偏移量,比較器262運(yùn)行時(shí),StateHold信號(hào)有效,該信號(hào)通知幀圖采集器22掛起(暫止幀圖采集),防止采集的數(shù)據(jù)沖掉有效數(shù)據(jù)。
2)重組器263(Mover)負(fù)責(zé)根據(jù)比較器傳來(lái)的重構(gòu)參量off_x和off_y及Img_Start參數(shù)計(jì)算正確的源地址和目的地址,并將有效數(shù)據(jù)搬移到目的地址。重組器運(yùn)行時(shí),StateHold信號(hào)有效,該信號(hào)通知圖像采集器掛起,防止采集的數(shù)據(jù)沖掉有效數(shù)據(jù)。
3)譯碼器B266對(duì)來(lái)自緩存邏輯242的緩存狀態(tài)信號(hào)進(jìn)行解析,動(dòng)態(tài)選擇緩存器A24a和緩存器B24b作為幀圖緩存目的,并將選擇信號(hào)向讀操作總線選擇器264和讀操作地址發(fā)生器265發(fā)送; 4)讀操作總線選擇器264按照譯碼器B266發(fā)來(lái)的選擇信號(hào),選通恰當(dāng)?shù)倪B接緩存器A24a的讀數(shù)據(jù)總線A_DATA_RD或者緩存器B24b的讀數(shù)據(jù)總線B_DATA_RD; 5)讀操作地址發(fā)生器265按照譯碼器B266發(fā)來(lái)的選擇信號(hào),選通恰當(dāng)?shù)倪B接緩存器A24a的讀地址總線A_ADDR_RD或者緩存器B24b的讀地址總線B_ADDR_RD。
6)總線選擇器B/C同指紋片斷采集器FrmCap中的總線選擇器A作用相同。
7)譯碼器B同指紋片斷采集器FrmCap中的譯碼器A作用相同。
本發(fā)明提供一種動(dòng)態(tài)指紋重構(gòu)方法,包括如下步驟 1)在幀圖緩存單元內(nèi)開辟兩個(gè)大小相等的緩存器A和緩存器B; 2)幀圖采集器采集到的像數(shù)據(jù)通過(guò)寫入數(shù)據(jù)總線組,對(duì)幀圖緩存單元形成輸入數(shù)據(jù)流; 3)在第1緩存周期,全局控制邏輯通過(guò)寫入地址總線組,將輸入數(shù)據(jù)流導(dǎo)入緩存器A; 4)在第2緩存周期,全局控制邏輯將輸入數(shù)據(jù)流切換到緩存器B,同時(shí)將第1緩存周期暫存在緩存器A的圖像數(shù)據(jù)送入指紋重構(gòu)單元的比較器中,進(jìn)行下列運(yùn)算 1_偏移量計(jì)算; 2_去除重疊圖像運(yùn)算處理; 3_保留有效圖像; 4_通過(guò)內(nèi)部總線,發(fā)送給圖像緩沖區(qū)。
5)在第3緩存周期全局控制邏輯將輸入數(shù)據(jù)流切換到緩存器A,同時(shí)將第2緩存周期暫存在緩存器B的圖像數(shù)據(jù)送入指紋重構(gòu)單元的比較器中,進(jìn)行下列運(yùn)算 1_偏移量計(jì)算; 2_去除重疊圖像運(yùn)算處理; 3_保留有效圖像; 4_通過(guò)內(nèi)部總線,發(fā)送給圖像緩沖區(qū)。
6)如此循環(huán)直至輸入數(shù)據(jù)流處理完畢。
所述偏移量計(jì)算,包含下列步驟 1)設(shè)前幀圖像為Fi,后幀圖像為Fj; 2)開辟一個(gè)面積小于傳感器感測(cè)幀圖的取樣窗口W; 3)令取樣窗口W處于前幀圖像Fi基準(zhǔn)位置,其坐標(biāo)為L(zhǎng)b; 4)計(jì)算Fi落入該取樣窗口W中n個(gè)像素灰度值的方差其中 1/Si為取樣窗口W處于Fi基準(zhǔn)位置時(shí),所取第i個(gè)像素灰度值; 2/S0為取樣窗口W處于Fi基準(zhǔn)位置時(shí),所有n個(gè)像素灰度值的均值。
5)令取樣窗口W以一個(gè)像素為步長(zhǎng),遍歷后幀圖像Fj,同時(shí)計(jì)算每一步落入取樣窗口W內(nèi)n個(gè)像素灰度值的方差; 1_當(dāng)遍歷至第k步時(shí),F(xiàn)j落入取樣窗口W內(nèi)的像素灰度值方差為其中 1/Si為取樣窗口W遍歷Fj至第k步時(shí),第i個(gè)像素灰度值; 2/Sk為取樣窗口W遍歷Fj至第k步時(shí),所有n個(gè)像素灰度值的均值。
6)若遍歷至m步,遍歷完成。算得方差共有m個(gè) ...... 7)在m個(gè)遍歷方差中,找出與方差D0最為接近的方差Dp所屬區(qū)塊,即為局部相關(guān)性匹配區(qū)域Zp; 8)取局部相關(guān)性匹配區(qū)域Zp的坐標(biāo)Lp; 9)計(jì)算前后幀圖像Fi、Fj之間的偏移量,即off_x,off_y=Lb-Lp。
所述去除重疊圖像運(yùn)算處理,包含下列步驟 1)在取樣窗口W頂端中心位置,設(shè)定基準(zhǔn)點(diǎn)P; 2)當(dāng)取樣窗口W處于前幀圖像Fi基準(zhǔn)位置Lb時(shí),基準(zhǔn)點(diǎn)P在圖像Fi上投射出基準(zhǔn)點(diǎn)Pi; 3)取樣窗口W遍歷后幀圖像Fj,找出局部相關(guān)性匹配區(qū)域Zp時(shí),基準(zhǔn)點(diǎn)P在圖像Fj上投射出基準(zhǔn)點(diǎn)Pj; 4)以定寬像素為取樣邊界,計(jì)算基準(zhǔn)點(diǎn)Pj與左右邊界的距離,切除圖像Fj溢出左右邊界部分; 5)將溢出切除后的后幀圖像Fj,按照偏移量off_x,off_y平移到前幀圖像Fi上,使Pi、Pj兩點(diǎn)重合。
為了提高偏移量計(jì)算中的遍歷處理速度,可以增添無(wú)效遍歷步驟剔除機(jī)制對(duì)遍歷計(jì)算進(jìn)行優(yōu)化。方法是將指紋劃擦運(yùn)動(dòng)方向與指紋傳感器軸對(duì)稱線的偏角在±45°之內(nèi)所形成的后續(xù)幀圖視為有效幀圖,其余則排除在遍歷步驟之外。具體步驟是 6)設(shè)取樣窗口W的基準(zhǔn)點(diǎn)P處于前幀圖像Fi基準(zhǔn)位置Lb時(shí),在圖像Fi上投射出基準(zhǔn)點(diǎn)A對(duì)于原點(diǎn)O的坐標(biāo)為Aa,b; 1)當(dāng)取樣窗口W遍歷后幀圖像Fj至某一位置,基準(zhǔn)點(diǎn)P在圖像Fj上投射出基準(zhǔn)點(diǎn)B對(duì)于原點(diǎn)O的坐標(biāo)為Ba’,b’; 2)其位移向量
為 3)偏角θ為 4)設(shè)定有效后續(xù)幀圖的偏角區(qū)間為 5)作遍歷判斷 1_當(dāng)時(shí),為有效遍歷。繼續(xù)該遍歷步驟中的后續(xù)運(yùn)算; 2_否則,為無(wú)效遍歷。停止本遍歷步驟中的后續(xù)運(yùn)算,開始下一遍歷步驟。
圖5是本發(fā)明掛接SW6888傳感器的實(shí)現(xiàn)流程。
本示例以掛接SW6888指紋傳感器為例,說(shuō)明該發(fā)明的使用及配置過(guò)程。
整體流程分為初始化配置、模塊啟動(dòng)及圖像獲取三個(gè)步驟。
初始化配置階段的任務(wù)是確定模塊的狀態(tài)、對(duì)參數(shù)進(jìn)行正確的配置。在這個(gè)階段首先將模塊至于停止?fàn)顟B(tài),在參數(shù)設(shè)置之前禁止所有中斷的使能,以保證參數(shù)設(shè)置的過(guò)程穩(wěn)定,同時(shí)將狀態(tài)寄存器清空;然后,根據(jù)SW6888傳感器的特點(diǎn)對(duì)SPI工作模式、幀圖像格式、采集窗口大小等寄存器進(jìn)行設(shè)置。
上述初始化配置過(guò)程結(jié)束后,通過(guò)對(duì)Global_Cntl.Start置位的操作來(lái)啟動(dòng)模塊。
檢測(cè)狀態(tài)位Global_state_Ready狀態(tài),當(dāng)該位置位時(shí),表明模塊已經(jīng)采集到一副完整的指紋圖像并已經(jīng)存放到用戶指定的地址。
表A是本發(fā)明掛接SW6888傳感器實(shí)施例中,與傳統(tǒng)指紋重構(gòu)方法所做的處理效果參數(shù)對(duì)比。
表A 上表是采用同一種傳感器并使用同一種重構(gòu)算法時(shí),采用本模塊和純軟件實(shí)現(xiàn)的效果對(duì)比??梢悦黠@看出,本發(fā)明較傳統(tǒng)的純軟件實(shí)現(xiàn)方法在重構(gòu)效率和內(nèi)存使用效率上都有了明顯的提高。
除上述實(shí)施例外,本發(fā)明還可以有其他實(shí)施方式。凡采用等同替換或等效變換形成的技術(shù)方案,均落在本發(fā)明要求的保護(hù)范圍。
權(quán)利要求
1、一種內(nèi)嵌式指紋重構(gòu)加速器,其特征是包括幀圖采集器(22)、幀圖緩存單元(24)、指紋重構(gòu)單元(26)和全局控制邏輯(28),幀圖采集器(22)與幀圖緩存單元(24)之間通過(guò)寫入地址總線組(202)、寫入數(shù)據(jù)總線組(203)連接,幀圖緩存單元(24)與指紋重構(gòu)單元(26)之間通過(guò)讀出地址總線組(204)、讀出數(shù)據(jù)總線組(205)連接,全局控制邏輯(28)通過(guò)控制總線(201)分別與幀圖采集器(22)、幀圖緩存單元(24)、指紋重構(gòu)單元(26)連接,圖像緩沖區(qū)(40)通過(guò)內(nèi)部總線(206)與指紋重構(gòu)單元(26)連接;其中
1)幀圖采集器(22)用于指紋片段采集,包括一個(gè)采集控制寄存器組(221)和串行接口(222),在全局控制邏輯(28)控制下,通過(guò)串行接口(222)向指紋傳感器(30)發(fā)送控制信號(hào)、并接收采集到的指紋幀圖數(shù)據(jù);
2)幀圖緩存單元(24)用于對(duì)采集到的幀圖數(shù)據(jù)進(jìn)行緩存處理,包括緩存器(241)和緩存邏輯電路(242),緩存邏輯電路(242)用于指示緩存器(241)的存儲(chǔ)狀態(tài);
3)指紋重構(gòu)單元(26)包括用于配置重構(gòu)參數(shù)的重構(gòu)寄存器組(261),負(fù)責(zé)計(jì)算相鄰兩幀圖的偏移量,并將來(lái)自緩存器(241)的有效幀圖搬移到圖像緩沖區(qū)(40);
4)全局控制邏輯(28)包括一個(gè)全局控制寄存器組(281),通過(guò)控制總線(201)監(jiān)控幀圖緩存單元(24)、指紋重構(gòu)單元(26)的工作狀態(tài),以此狀態(tài)信息控制幀圖采集器(22)的啟閉,當(dāng)整幅指紋圖像重構(gòu)處理完成后產(chǎn)生中斷。
2、根據(jù)權(quán)利要求1所述的內(nèi)嵌式指紋重構(gòu)加速器,其特征是所述緩存器(241)由A、B兩個(gè)高速數(shù)據(jù)緩沖存儲(chǔ)器,即緩存器A(24a)和緩存器B(24b)組成,用來(lái)存放相鄰兩幀圖像,緩存器A(24a)和緩存器B(24b)各自擁有兩組獨(dú)立的地址/數(shù)據(jù)總線,使幀圖采集器(22)和指紋重構(gòu)單元(26)能夠分別對(duì)緩存器A(24a)和緩存器B(24b)進(jìn)行寫數(shù)據(jù)和讀數(shù)據(jù)操作;所述寫入地址總線組(202)由兩條寫地址總線A_ADDR_WR、B_ADDR_WR組成,所述寫入數(shù)據(jù)總線組(203)由兩條寫數(shù)據(jù)總線A_DATA_WR、B_DATA_WR組成,以上四條總線,構(gòu)成幀圖緩存單元(24)的數(shù)據(jù)寫入通道,其中A_ADDR_WR、A_DATA_WR與緩存器A(24a)寫入端相連,B_ADDR_WR、B_DATA_WR與緩存器B(24b)寫入端相連;所述讀出地址總線組(204)由兩條讀地址總線A_ADDR_RD、B_ADDR_RD組成,所述讀出數(shù)據(jù)總線組(205)由兩條讀數(shù)據(jù)總線A_DATA_RD、B_DATA_RD組成,以上四條總線,構(gòu)成幀圖緩存單元(24)的數(shù)據(jù)讀出通道,其中A_ADDR_RD、A_DATA_RD與緩存器A(24a)讀出端相連,B_ADDR_RD、B_DATA_RD與緩存器B(24b)讀出端相連。
3、根據(jù)權(quán)利要求2所述的內(nèi)嵌式指紋重構(gòu)加速器,其特征是所述幀圖采集器(22)還包括位移寄存器(223)、譯碼器(224)、時(shí)鐘發(fā)生器(225)、寫操作總線選擇器(226)和寫操作地址發(fā)生器(227)電路,位移寄存器(223)分別與指紋傳感器(30)、寫操作總線選擇器(226)相連,時(shí)鐘發(fā)生器(225)分別與位移寄存器(223)、指紋傳感器(30)相連,譯碼器(224)與寫操作總線選擇器(226)、寫操作地址發(fā)生器(227)相連,采集寄存器組(221)分別與時(shí)鐘發(fā)生器(225)、寫操作地址發(fā)生器(227)相連;其中
1)時(shí)鐘發(fā)生器(225)按照采集寄存器組(221)中的串行接口速率設(shè)定時(shí)鐘;
2)移位寄存器(223)的運(yùn)行與暫止,由控制邏輯寄存器組(281)、重構(gòu)寄存器組(261)的設(shè)定共同控制;移位寄存器(223)在時(shí)鐘發(fā)生器(224)時(shí)鐘信號(hào)的激勵(lì)下,將來(lái)自指紋傳感器(30)的串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù),并送往寫操作總線選擇器(226);
3)譯碼器(224)對(duì)來(lái)自緩存邏輯(242)的緩存狀態(tài)信號(hào)進(jìn)行解析,動(dòng)態(tài)選擇緩存器A(24a)和緩存器B(24b)作為幀圖緩存目的,并將選擇信號(hào)向?qū)懖僮骺偩€選擇器(226)和寫操作地址發(fā)生器(227)發(fā)送;
4)寫操作總線選擇器(226)按照譯碼器(224)發(fā)來(lái)的選擇信號(hào),選通恰當(dāng)?shù)倪B接緩存器A(24a)的寫數(shù)據(jù)總線A_DATA_WR或緩存器B(24b)的B_DATA_WR;
5)寫操作地址發(fā)生器(227)按照譯碼器(224)發(fā)來(lái)的選擇信號(hào),選通恰當(dāng)?shù)木彺嫫鰽(24a)的寫地址總線A_ADDR_WR或者緩存器B(24b)的B_ADDR_WR,同時(shí)采集控制寄存器組(221)的控制參數(shù),計(jì)算緩存操作的地址;
6)采集控制寄存器組(221)中至少含有幀圖寬、幀圖高、和串行接口參數(shù)三類控制參數(shù)。
4、根據(jù)權(quán)利要求2所述的內(nèi)嵌式指紋重構(gòu)加速器,其特征是所述指紋重構(gòu)單元(26)還包括比較器(262)、重組器(263)、讀操作總線選擇器(264)、讀操作地址發(fā)生器(265)和譯碼器B(266),比較器分別(262)與讀操作總線選擇器(264)、讀操作地址發(fā)生器(265)相連,重組器(263)分別與比較器(262)、讀操作總線選擇器(264)、讀操作地址發(fā)生器(265)相連,譯碼器B(266)分別與讀操作總線選擇器(264)、讀操作地址發(fā)生器(265)相連,重構(gòu)寄存器組(261)分別與比較器(262)、重組器(263)相連,其中
1)比較器(262)采用矩陣窗口互相關(guān)性算法,計(jì)算出相鄰兩幀圖像的最大相關(guān)偏移量,確定兩幀圖像的重構(gòu)參量off_x和off_y,發(fā)送給重組器(263),當(dāng)比較器(262)運(yùn)行時(shí),通過(guò)控制總線(201)分別對(duì)幀圖緩存單元(24)、幀圖采集器(22)發(fā)送控制信號(hào),以暫止幀圖采集;
2)重組器(263)根據(jù)比較器(262)發(fā)送的重構(gòu)參量off_x和off_y,以及重構(gòu)寄存器組(261)設(shè)置的目標(biāo)圖像地址,計(jì)算源地址和目的地址后,將幀圖數(shù)據(jù)搬移到目的地址,當(dāng)重組器(263)運(yùn)行時(shí),通過(guò)控制總線(201)分別對(duì)幀圖緩存單元(24)、幀圖采集器(22)發(fā)送控制信號(hào),以暫止幀圖采集;
3)譯碼器B(266)對(duì)來(lái)自緩存邏輯(242)的緩存狀態(tài)信號(hào)進(jìn)行解析,動(dòng)態(tài)選擇緩存器A(24a)和緩存器B(24b)作為幀圖緩存目的,并將選擇信號(hào)向讀操作總線選擇器(264)和讀操作地址發(fā)生器(265)發(fā)送;
4)讀操作總線選擇器(264)按照譯碼器B(266)發(fā)來(lái)的選擇信號(hào),選通恰當(dāng)?shù)倪B接緩存器A(24a)的讀數(shù)據(jù)總線A_DATA_RD或者緩存器B(24b)的讀數(shù)據(jù)總線B_DATA_RD;
5)讀操作地址發(fā)生器(265)按照譯碼器B(266)發(fā)來(lái)的選擇信號(hào),選通恰當(dāng)?shù)倪B接緩存器A(24a)的讀地址總線A_ADDR_RD或者緩存器B(24b)的讀地址總線B_ADDR_RD。
5、一種動(dòng)態(tài)指紋重構(gòu)方法,其特征在于,包括如下步驟
1)在幀圖緩存單元(24)內(nèi)開辟兩個(gè)緩存器A(24a)和緩存器B(24b);
2)幀圖采集器(22)采集到的像數(shù)據(jù)通過(guò)寫入數(shù)據(jù)總線組(203),對(duì)幀圖緩存單元(24)形成輸入數(shù)據(jù)流;
3)在第1緩存周期,全局控制邏輯(28)通過(guò)寫入地址總線組(202),將輸入數(shù)據(jù)流導(dǎo)入緩存器A(24a);
4)在第2緩存周期,全局控制邏輯(28)將輸入數(shù)據(jù)流切換到緩存器B(24b),同時(shí)將第1緩存周期暫存在緩存器A(24a)的圖像數(shù)據(jù)送入指紋重構(gòu)單元(26)的比較器(262)中,進(jìn)行下列運(yùn)算
1_偏移量計(jì)算;
2_去除重疊圖像運(yùn)算處理;
3_保留有效圖像;
4_通過(guò)內(nèi)部總線(206),發(fā)送給圖像緩沖區(qū)(40)。
5)在第3緩存周期全局控制邏輯(28)將輸入數(shù)據(jù)流切換到緩存器A(24a),同時(shí)將第2緩存周期暫存在緩存器B(24b)的圖像數(shù)據(jù)送入指紋重構(gòu)單元(26)的比較器(262)中,進(jìn)行下列運(yùn)算
1_偏移量計(jì)算;
2_去除重疊圖像運(yùn)算處理;
3_保留有效圖像;
4_通過(guò)內(nèi)部總線(206),發(fā)送給圖像緩沖區(qū)(40)。
6)如此循環(huán)直至輸入數(shù)據(jù)流處理完畢。
6、根據(jù)權(quán)利要求5所述動(dòng)態(tài)指紋重構(gòu)方法,其特征在于所述偏移量計(jì)算包含下列步驟
1)設(shè)前幀圖像為Fi,后幀圖像為Fj;
2)開辟一個(gè)面積小于傳感器感測(cè)幀圖的取樣窗口W;
3)令取樣窗口W處于前幀圖像Fi基準(zhǔn)位置,其坐標(biāo)為L(zhǎng)b;
4)計(jì)算Fi落入該取樣窗口W中n個(gè)像素灰度值的方差其中
1/Si為取樣窗口W處于Fi基準(zhǔn)位置時(shí),所取第i個(gè)像素灰度值;
2/S0為取樣窗口W處于Fi基準(zhǔn)位置時(shí),所有n個(gè)像素灰度值的均值;
5)令取樣窗口W以一個(gè)像素為步長(zhǎng),遍歷后幀圖像Fj,同時(shí)計(jì)算每一步落入取樣窗口W內(nèi)n個(gè)像素灰度值的方差;
1_當(dāng)遍歷至第k步時(shí),F(xiàn)j落入取樣窗口W內(nèi)的像素灰度值方差為其中
1/Si為取樣窗口W遍歷Fj至第k步時(shí),第i個(gè)像素灰度值;
2/Sk為取樣窗口W遍歷Fj至第k步時(shí),所有n個(gè)像素灰度值的均值;
6)若遍歷至m步,遍歷完成。算得方差共有m個(gè)
......
7)在m個(gè)遍歷方差中,找出與方差D0最為接近的方差Dp所屬區(qū)塊,即為局部相關(guān)性匹配區(qū)域Zp;
8)取局部相關(guān)性匹配區(qū)域Zp的坐標(biāo)Lp;
9)計(jì)算前后幀圖像Fi、Fj之間的偏移量,即(off_x,off_y)=Lb-Lp。
7、根據(jù)權(quán)利要求5所述動(dòng)態(tài)指紋重構(gòu)方法,其特征在于所述去除重疊圖像運(yùn)算處理包含下列步驟
1)在取樣窗口W頂端中心位置,設(shè)定基準(zhǔn)點(diǎn)P;
2)當(dāng)取樣窗口W處于前幀圖像Fi基準(zhǔn)位置Lb時(shí),基準(zhǔn)點(diǎn)P在圖像Fi上投射出基準(zhǔn)點(diǎn)Pi;
3)取樣窗口W遍歷后幀圖像Fj,找出局部相關(guān)性匹配區(qū)域Zp時(shí),基準(zhǔn)點(diǎn)P在圖像Fj上投射出基準(zhǔn)點(diǎn)Pj;
4)以定寬像素為取樣邊界,計(jì)算基準(zhǔn)點(diǎn)Pj與左右邊界的距離,切除圖像Fj溢出左右邊界部分;
5)將溢出切除后的后幀圖像Fj,按照偏移量off_x,off_y平移到前幀圖像Fi上,使Pi、Pj兩點(diǎn)重合。
8、根據(jù)權(quán)利要求6所述動(dòng)態(tài)指紋重構(gòu)方法,其特征在于所述遍歷計(jì)算還包括無(wú)效遍歷步驟剔除機(jī)制,將指紋劃擦運(yùn)動(dòng)方向與指紋傳感器軸對(duì)稱線的偏角在±45°之內(nèi)所形成的后續(xù)幀圖視為有效幀圖,步驟是
i.設(shè)取樣窗口W的基準(zhǔn)點(diǎn)P處于前幀圖像Fi基準(zhǔn)位置Lb時(shí),在圖像Fi上投射出基準(zhǔn)點(diǎn)A對(duì)于原點(diǎn)O的坐標(biāo)為A(a,b);
ii.當(dāng)取樣窗口W遍歷后幀圖像Fj至某一位置,基準(zhǔn)點(diǎn)P在圖像Fj上投射出基準(zhǔn)點(diǎn)B對(duì)于原點(diǎn)O的坐標(biāo)為B(a’,b’);
iii.其位移向量
為
iv.偏角θ為
v.設(shè)定有效后續(xù)幀圖的偏角區(qū)間為
vi.作遍歷判斷
1.當(dāng)時(shí),為有效遍歷。繼續(xù)該遍歷步驟中的后續(xù)運(yùn)算;
a)否則,為無(wú)效遍歷,停止本遍歷步驟中的后續(xù)運(yùn)算,開始下一遍歷步驟。
全文摘要
本發(fā)明公開了一種內(nèi)嵌式指紋重構(gòu)加速器,包括幀圖采集器、幀圖緩存單元、指紋重構(gòu)單元和全局控制邏輯,幀圖采集器與幀圖緩存單元之間通過(guò)寫入地址總線組、寫入數(shù)據(jù)總線組連接,幀圖緩存單元與指紋重構(gòu)單元之間通過(guò)讀出地址總線組、讀出數(shù)據(jù)總線組連接,全局控制邏輯通過(guò)控制總線分別與幀圖采集器、幀圖緩存單元、指紋重構(gòu)單元連接,圖像緩沖區(qū)通過(guò)內(nèi)部總線與指紋重構(gòu)單元連接;同時(shí)提供一種在處理過(guò)程中實(shí)現(xiàn)動(dòng)態(tài)重構(gòu)的方法。本發(fā)明有益的效果在提高指紋重構(gòu)效率前提下,降低主處理器、內(nèi)存等系統(tǒng)資源的過(guò)度開銷,使SoC系統(tǒng)構(gòu)架中的軟硬件資源平衡配置,實(shí)現(xiàn)系統(tǒng)整體優(yōu)化。
文檔編號(hào)G06K9/00GK101408934SQ200810162110
公開日2009年4月15日 申請(qǐng)日期2008年11月12日 優(yōu)先權(quán)日2008年11月12日
發(fā)明者育 裴 申請(qǐng)人:杭州晟元芯片技術(shù)有限公司