一種ASIC硬件圖像匹配最大互相關(guān)算法的設(shè)計(jì)和實(shí)現(xiàn)
LS9501[2]是西安微電子技術(shù)研究所根據(jù)圖像匹配的特點(diǎn)研制成功的一個(gè)高速[20M]二維具有3x3內(nèi)核的卷積器,它的主要功能是可同時(shí)對(duì)9對(duì)象素值實(shí)現(xiàn)乘加運(yùn)算,即實(shí)現(xiàn):.LS9501的輸入是二維無(wú)符號(hào)8位的圖像數(shù)據(jù),輸出是無(wú)符號(hào)20位卷結(jié)果和二維串行移位無(wú)符號(hào)8位的圖像數(shù)據(jù)。其內(nèi)部結(jié)構(gòu)采用流水線并行技術(shù),主要的功能單元有寄存器組、快速乘法器、加法器和控制電路,如圖2所示。電路中設(shè)置的兩組寄存器A和B由9個(gè)8位的移位寄存器構(gòu)成,可存放9個(gè)圖像象素?cái)?shù)據(jù)。9個(gè)快速乘法器可保證在每一個(gè)時(shí)鐘內(nèi)同時(shí)進(jìn)行9對(duì)圖像數(shù)據(jù)相乘。其工作原理為:向A寄存器輸入9個(gè)實(shí)時(shí)圖象素?cái)?shù)據(jù)后,再向B寄存器輸入入九個(gè)基準(zhǔn)圖像素?cái)?shù)據(jù),當(dāng)9對(duì)象素值輸入完后,經(jīng)過(guò)一定時(shí)間延遲,即可得到卷積結(jié)果。此后,如A寄存器的數(shù)據(jù)不變,B寄存器繼續(xù)輸入數(shù)據(jù),則每輸入一個(gè)數(shù)據(jù),即可獲得一個(gè)9個(gè)圖像象素?cái)?shù)據(jù)卷積結(jié)果。如果將多個(gè)LS9501卷積器級(jí)連起來(lái),可實(shí)現(xiàn)更多對(duì)象素?cái)?shù)據(jù)的卷積運(yùn)算。例如,將4個(gè)LS9501級(jí)連,可實(shí)現(xiàn)36對(duì)象素?cái)?shù)據(jù)的卷積,但要將4個(gè)卷積器的結(jié)果加起來(lái),才能得到最后的結(jié)果。為此,西安微電子技術(shù)研究所研制了級(jí)連加法器LS9502,它的功能是在60ns內(nèi)將4LS9501的輸出結(jié)果求和。
3 圖像匹配計(jì)算機(jī)結(jié)構(gòu)
將4個(gè)卷積器LS8501和級(jí)連加法器LS9501組合起來(lái)作為TMS320C30數(shù)字信號(hào)處理器的快速協(xié)處理器部件,可組成一種高速的單DSP+多ASIC系統(tǒng)結(jié)構(gòu)的嵌入式計(jì)算機(jī),如圖3所示。其工作過(guò)程為:首先TMS320C30按一定次序把36個(gè)實(shí)時(shí)圖象素?cái)?shù)據(jù)從實(shí)時(shí)圖存儲(chǔ)器中取出并輸入LS9501的A寄存器中,然后,從基準(zhǔn)圖存儲(chǔ)中將基準(zhǔn)圖像素?cái)?shù)據(jù)輸入B寄存器。輸入36個(gè)基準(zhǔn)圖像素?cái)?shù)據(jù)后,經(jīng)過(guò)一定時(shí)間延遲,即可讀出第一個(gè)36對(duì)圖像象素?cái)?shù)據(jù)卷積結(jié)果。此后即建立起流水,每輸入一個(gè)基準(zhǔn)圖數(shù)據(jù)可得到相應(yīng)36對(duì)圖像象素?cái)?shù)據(jù)卷積結(jié)果,直至對(duì)整個(gè)基準(zhǔn)圖匹配計(jì)算完。當(dāng)實(shí)時(shí)圖比較大時(shí),可把實(shí)時(shí)圖分成若干子圖,然后對(duì)每一個(gè)子圖分別進(jìn)行卷積運(yùn)算,最后再把它們的結(jié)果加在一起。這樣,工作量最大的匹配計(jì)算任務(wù)由LS8501完成,TMS320C30將各個(gè)圖匹配結(jié)果進(jìn)行累加,求最大互相關(guān)值,并對(duì)卷器控制輸入8位灰度圖像數(shù)據(jù)。
4 圖像匹配結(jié)果與討論
在上述圖像匹配計(jì)算機(jī)中,采用美國(guó)TI公司的TMS320C30(33M)DSP芯片主為處理器,4片關(guān)并行的LS9501和級(jí)連加法器LS9502組成圖像匹配協(xié)處理器,外部圖像存儲(chǔ)器讀寫為零等待狀態(tài)。根據(jù)組成的計(jì)算機(jī)系統(tǒng)結(jié)構(gòu),把36x36的實(shí)時(shí)圖分成36個(gè)4x9的子圖,然后計(jì)算每一子圖與相應(yīng)基準(zhǔn)圖子圖卷積,最后把各個(gè)子圖卷積結(jié)果累加在一起。通過(guò)編寫TMS320C30匯編程序,對(duì)不同大小實(shí)時(shí)圖和基準(zhǔn)圖進(jìn)行搜索(即匹配所有(M-N+1)2個(gè)子圖)最大互相差匹配運(yùn)算,運(yùn)算結(jié)果匹配位置正確。匹配運(yùn)算時(shí)間如表2所示(對(duì)基準(zhǔn)圖像素?cái)?shù)據(jù)預(yù)處理,不計(jì)運(yùn)算時(shí)間)。
表2 實(shí)時(shí)圖和基準(zhǔn)圖匹配運(yùn)算時(shí)間
圖像大小 | 運(yùn)算時(shí)間/ms | ||
實(shí)時(shí)較 | 基準(zhǔn)圖 | 由單DSP執(zhí)行 | 由DSP+ABIC執(zhí)行 |
36×36 | 128×128 | 3081 | 623 |
36×36 | 150×150 | 4645 | 946 |
從表2可看出,采用專用集成電路LS9501可大大加快圖像匹配運(yùn)算速度,而且編程比較簡(jiǎn)單,實(shí)現(xiàn)容易,實(shí)測(cè)結(jié)果令人滿意的。
本研究為國(guó)家九五預(yù)研項(xiàng)目高速數(shù)字信號(hào)處理機(jī)技術(shù)的一部分,已通過(guò)國(guó)家驗(yàn)收,并已應(yīng)用于高速圖像相關(guān)計(jì)算機(jī)中。這一研究的成功使我們看到了打破西方禁售策略的一種簡(jiǎn)單可行的方法。在實(shí)驗(yàn)中我們發(fā)現(xiàn)LS9501具有非常大的提高其實(shí)時(shí)性的潛力,現(xiàn)分析如下:
在實(shí)驗(yàn)中發(fā)現(xiàn),LS9501內(nèi)部圖像數(shù)據(jù)移位寄存器時(shí)鐘和3級(jí)加法器寄存器時(shí)鐘不為同一時(shí)鐘,這使得卷積模塊的并行效率大為降低。如果將其改進(jìn)為同一時(shí)鐘,那篤在圖3所示單機(jī)系統(tǒng)結(jié)構(gòu)中,對(duì)(36x36)實(shí)時(shí)圖與(128x128)或(150x150)基準(zhǔn)圖圖像匹配時(shí)間將分別為394ms和592ms,圖像匹配速度提高約1倍(軟件模擬)。另外在實(shí)驗(yàn)的單機(jī)系統(tǒng)結(jié)構(gòu)中,卷積模塊完全靠TMS320C30控制,其時(shí)鐘輸入依賴TMS320C30讀寫信號(hào),而且TMS329C30對(duì)外部存儲(chǔ)器連續(xù)時(shí)讀寫信號(hào)不變化[1],必須加NOP指令以使讀寫信號(hào)變化。這樣LS9501的性能沒(méi)有得到完全發(fā)揮,而且TMS320C30也不能處理其它任務(wù),二者依賴性太大,相互制約,并行度和實(shí)時(shí)性難以得到提高。卷積模塊發(fā)展為智能卷積處理器,那么硬件結(jié)構(gòu)右發(fā)展為主從式雙機(jī)計(jì)算機(jī)系統(tǒng)結(jié)構(gòu):主機(jī)為DSP,從機(jī)為卷積處理器。這種系統(tǒng)結(jié)構(gòu)可使DSP與卷積器的依賴 性降到最低,提高任務(wù)級(jí)并行性,也可最大限揮LS9501的性能,從而提高圖像匹配的速度。在不增加單芯片實(shí)現(xiàn)的卷積規(guī)模條件下,開(kāi)發(fā)更高速度的LS9501,同樣可提高圖像匹配的速度。不容質(zhì)疑,提高單芯片實(shí)現(xiàn)的卷積規(guī)模必將較大地提高圖像匹配的速度。
由實(shí)驗(yàn)結(jié)構(gòu)及以上分析可以預(yù)見(jiàn),圖像匹配最大互相關(guān)的專用ASIC實(shí)現(xiàn)方法是一個(gè)簡(jiǎn)單可行的方法,并具有很好的發(fā)展前景,完全可以開(kāi)發(fā)體積小、成本低、速度與TI公司C6000系列高性能DSP的速度相比美的卷積處理器。
評(píng)論