1 傳統(tǒng)圖像并行處理技術(shù)
1.1 圖像并行處理系統(tǒng)概述
目前,用于嵌入式圖像處理系統(tǒng)的高速器件主要是DSP和FPGA。處理核心的合理選用是影響并行系統(tǒng)處理能力的一個(gè)關(guān)鍵因素。
并行處理的目的是通過采用多個(gè)處理單元同時(shí)處理輸入信息來縮短任務(wù)的執(zhí)行時(shí)間。在任務(wù)和算法確定的情況下,Amdahl定律可表明:加速比與任務(wù)并行度和處理單元個(gè)數(shù)密切相關(guān)。在任務(wù)并行度一定的情況下,增加處理單元所獲得的加速比有一個(gè)極限值,任務(wù)的并行度制約著并行處理機(jī)的性能。
在實(shí)際應(yīng)用中,還必須考慮各個(gè)處理單元之間的數(shù)據(jù)交換和同步時(shí)間。由于比串行程序執(zhí)行增加了數(shù)據(jù)通信和同步等待等開銷,因此當(dāng)加速比Sp<p(p為處理單元個(gè)數(shù))時(shí),并行效率Eff<1。為使任務(wù)執(zhí)行時(shí)間縮短而Sp增大,增加處理單元個(gè)數(shù)p成為首要手段,同時(shí)要將任務(wù)進(jìn)行更細(xì)粒度的劃分以增加任務(wù)的并行度。
如圖1所示,在增加處理單元和任務(wù)細(xì)粒度化的同時(shí)將帶來總通信量的增加,影響了Sp的增加并導(dǎo)致Eff呈下降趨勢(shì)。
1.2 并行計(jì)算硬件體系結(jié)構(gòu)
并行計(jì)算處理單元之間的網(wǎng)絡(luò)結(jié)構(gòu)大致可分為2種:一種是共享總線或共享存儲(chǔ)器系統(tǒng),稱為“緊耦合式并行系統(tǒng)”,如圖2所示;另一種是各處理單元有獨(dú)立的數(shù)據(jù)存儲(chǔ)器而通過通信口相連的分布式并行系統(tǒng),稱為“松耦合式系統(tǒng)”,如圖3所示。
兩種并行計(jì)算體系結(jié)構(gòu)的比較如表1所列。
1.3 并行算法到并行結(jié)構(gòu)的映射
一個(gè)任務(wù)要在多處理機(jī)系統(tǒng)上得到處理,首先必須將其分解成一些子任務(wù),再由多處理系統(tǒng)中的各處理機(jī)分別處理這些子任務(wù),協(xié)同完成該任務(wù)。如圖4所示,并行算法在并行硬件系統(tǒng)上的應(yīng)用是一個(gè)映射過程。一類并行算法依賴于適合的并行網(wǎng)絡(luò)結(jié)構(gòu)才能高效率地運(yùn)行。
[!--empirenews.page--]
導(dǎo)致并行算法與并行結(jié)構(gòu)不匹配的原因主要有2個(gè):一是欲把一個(gè)系統(tǒng)上開發(fā)的并行算法用于另一個(gè)系統(tǒng)上;二是由于問題內(nèi)在的并行性,使并行算法與并行結(jié)構(gòu)不匹配。
常用圖像處理算法的特點(diǎn)及適用的并行處理結(jié)構(gòu)分析如表2所列。
綜上所述,傳統(tǒng)的共享總線系統(tǒng)與分布式并行系統(tǒng)分別適用于不同的圖像并行處理算法。分布式并行系統(tǒng)的不同連接方式之間也有較大的差異。并行算法的高效率運(yùn)行依賴于并行硬件拓?fù)浣Y(jié)構(gòu)的支持,某種硬件結(jié)構(gòu)只適合一類并行算法。一般情況,一個(gè)圖像處理任務(wù)是多個(gè)算法的集合,并行系統(tǒng)單靠某種固定結(jié)構(gòu)無法適應(yīng)所有的并行算法,這就給圖像處理系統(tǒng)帶來了問題。當(dāng)并行硬件拓?fù)浣Y(jié)構(gòu)不適合并行算法時(shí),系統(tǒng)的性能和算法執(zhí)行效率都會(huì)受到影響,需要對(duì)并行硬件結(jié)構(gòu)做出改進(jìn)和完善。
2 可重構(gòu)數(shù)字圖像并行處理系統(tǒng)
2.1 可重構(gòu)處理系統(tǒng)的組成
可重構(gòu)計(jì)算是指基于可改變(可動(dòng)態(tài)改變)的硬件,以硬件適應(yīng)算法(即可重構(gòu)特性)、硬件定制和硬件并行的方式實(shí)現(xiàn)計(jì)算。可重構(gòu)處理系統(tǒng)結(jié)合了可重構(gòu)硬件處理單元和軟件可編程處理器,系統(tǒng)允許對(duì)可重構(gòu)處理單元進(jìn)行配置以滿足不同應(yīng)用的具體計(jì)算要求。
如圖5所示,可重構(gòu)處理系統(tǒng)的組成基本相同,即通用處理器(陣列)、可重構(gòu)資源(陣列)、存儲(chǔ)器(陣列)、公用存儲(chǔ)器、系統(tǒng)接口等。面向圖像處理的可重構(gòu)系統(tǒng)在器件選用上通用處理器可采用適合圖像處理的高性能DSP陣列。
[!--empirenews.page--]
2.2 可重構(gòu)數(shù)字圖像并行處理系統(tǒng)的優(yōu)點(diǎn)
可重構(gòu)數(shù)字圖像并行處理系統(tǒng)有以下優(yōu)點(diǎn):
①FPGA內(nèi)部的邏輯功能可以在系統(tǒng)運(yùn)行過程中動(dòng)態(tài)重載,使系統(tǒng)可以實(shí)現(xiàn)多DSP之間拓?fù)涞撵`活改變以適應(yīng)各種并行算法的需求,使算法執(zhí)行效率達(dá)到最高。靜態(tài)重構(gòu)和動(dòng)態(tài)重構(gòu)使系統(tǒng)相比傳統(tǒng)固定系統(tǒng)具有很強(qiáng)的通用性和適應(yīng)性。
②系統(tǒng)的“多DSP+FPGA”結(jié)構(gòu)能將系統(tǒng)任務(wù)劃分成適合FPGA處理的低層信號(hào)處理和圖像預(yù)處理部分及適合DSP處理的算法,便于發(fā)揮兩者的優(yōu)勢(shì);且FPGA可通過軟件適應(yīng)不同時(shí)序格式的數(shù)字圖像,使得系統(tǒng)具有很高的性能和靈活性。
3 系統(tǒng)設(shè)計(jì)實(shí)例
3.1 系統(tǒng)硬件結(jié)構(gòu)
基于TI公司C6000系列DSP和Xilinx公司Spartan一3系列FPGA,構(gòu)建基于圖像的點(diǎn)源目標(biāo)識(shí)別系統(tǒng),對(duì)在線可重構(gòu)數(shù)字圖像并行處理系統(tǒng)的可實(shí)現(xiàn)性和性能進(jìn)行驗(yàn)證。
硬件結(jié)構(gòu)如圖6所示。圖像輸入FPGA—P,各DSP分別外擴(kuò)一片雙口RAM,且將總線EMIFA接到FPGA—P。FPGA—P可用來完成圖像時(shí)序處理、圖像數(shù)據(jù)的轉(zhuǎn)換、圖像濾波等預(yù)處理工作,且可以靈活地將處理后的圖像數(shù)據(jù)保存到大容量公用數(shù)據(jù)存儲(chǔ)器SRAM中,并將各DSP訪問的仲裁邏輯或分配保存到各DSP外擴(kuò)的雙口RAM中。這種結(jié)構(gòu)使系統(tǒng)可以輕松地適應(yīng)多路圖像輸入。
DSP陣列可以并行完成各種圖像處理算法。FPGA-C建立起DSP間的通信鏈路且暫存各DSP的處理結(jié)果。構(gòu)建通信鏈路的方法有:用FPGA—C在兩DSP之間構(gòu)造FIF0或小容量雙口RAM,構(gòu)建EMIF—HPI通路等。DSP-M可以根據(jù)算法需求通過McBSP在線配置FPGA—C,F(xiàn)PGA—C的配置文件存放在DSP—M外擴(kuò)的Flash中,這樣就實(shí)現(xiàn)了DSP對(duì)FPGA的在線可重構(gòu)。同時(shí),DSP-M擴(kuò)展了USB、PCI、McBSP等多種接口用來輸出圖像處理結(jié)果。
3.2 實(shí)驗(yàn)及結(jié)果分析
系統(tǒng)用于實(shí)現(xiàn)4路分辨率為256×256、幀頻為50 Hz的8位圖像(如圖7所示)的移動(dòng)點(diǎn)源目標(biāo)識(shí)別。
處理過程包括圖像時(shí)序采集、轉(zhuǎn)換,圖像濾波,去除噪聲,姿態(tài)融合和目標(biāo)識(shí)別等環(huán)節(jié)。圖像分配和算法執(zhí)行所需平均時(shí)間僅為9.5 ms。
若用共享總線系統(tǒng)來實(shí)現(xiàn),則多路圖像數(shù)據(jù)的存儲(chǔ)和分配以及處理器之間的通信將消耗大量時(shí)間,大大降低系統(tǒng)效率。若用分布式并行系統(tǒng)來實(shí)現(xiàn),則姿態(tài)和多路圖像的綜合處理會(huì)給某一個(gè)處理器帶來很大的通信量和運(yùn)算量。將實(shí)驗(yàn)中的圖像處理任務(wù)在同等規(guī)模的3種系統(tǒng)上分別實(shí)現(xiàn),執(zhí)行時(shí)間如圖8所示。
如圖9所示,這些不同形式的計(jì)算系統(tǒng)是性能和通用性的不同折衷??芍貥?gòu)算系統(tǒng)代表了介于ASIC和通用處理器之間的計(jì)算途徑,在通用性和性能上都優(yōu)于傳統(tǒng)的硬件系統(tǒng)。圖像處理中數(shù)據(jù)量大、算法復(fù)雜,與其他計(jì)算技術(shù)相比,可重構(gòu)計(jì)算能充分發(fā)揮出效率優(yōu)勢(shì)。可重構(gòu)系統(tǒng)具有很多優(yōu)點(diǎn),但重構(gòu)延遲和軟硬件劃分問題是應(yīng)用中需要重點(diǎn)考慮的問題。
結(jié) 語
傳統(tǒng)固定結(jié)構(gòu)并行圖像處理系統(tǒng)不能適應(yīng)多種圖像處理并行算法。而可重構(gòu)數(shù)字圖像并行處理系統(tǒng)數(shù)據(jù)流和結(jié)構(gòu)組織靈活,適于模塊化設(shè)計(jì),能大大提高并行算法的執(zhí)行效率;有較強(qiáng)的通用性,同時(shí)其開發(fā)周期較短,易于維護(hù)和擴(kuò)展??芍貥?gòu)數(shù)字圖像并行處理系統(tǒng)為多媒體圖像處理提供了一個(gè)非常有價(jià)值的發(fā)展方向。
經(jīng)過幾十年發(fā)展,嵌入式技術(shù)已經(jīng)用在了我們生活中的方方面面,但是嵌入式始終都帶有小眾,專業(yè)性強(qiáng)的屬性,讓很多非嵌入式領(lǐng)域的同學(xué)望而卻步。近十幾年的發(fā)展,物聯(lián)網(wǎng)覆蓋了越來越多領(lǐng)域,包括了家居,商業(yè),工業(yè),農(nóng)業(yè)等領(lǐng)域,不僅吸引...
關(guān)鍵字: 嵌入式 物聯(lián)網(wǎng) 技術(shù)隨著IT技術(shù)飛速發(fā)展,互聯(lián)網(wǎng)已經(jīng)進(jìn)入了“物聯(lián)網(wǎng)”時(shí)代。物聯(lián)網(wǎng)中需要的大量設(shè)備不在依賴人與人之間的交互產(chǎn)生聯(lián)系,更多通過協(xié)議、通信、程序設(shè)計(jì)等方式連接到一處。即 “物聯(lián)網(wǎng)”的目的則是讓所有的物品都具有計(jì)算機(jī)的智能但并不以通...
關(guān)鍵字: 嵌入式 物聯(lián)網(wǎng) 計(jì)算機(jī)萬物智聯(lián)時(shí)代,嵌入式技術(shù)及其應(yīng)用的形態(tài)將更加豐富和多元,同時(shí)也將日益呈現(xiàn)深度物理融合、混合架構(gòu)共存、群體智能協(xié)同、網(wǎng)絡(luò)安全攸關(guān)等諸多新的計(jì)算特性。顯然,經(jīng)典的嵌入式系統(tǒng)體系結(jié)構(gòu)、軟硬件技術(shù)和開發(fā)方法都已很難應(yīng)對(duì)新趨勢(shì)下的...
關(guān)鍵字: 嵌入式 物聯(lián)網(wǎng) 計(jì)算機(jī)物聯(lián)網(wǎng)是新一代信息技術(shù)的重要組成部分,是互聯(lián)網(wǎng)與嵌入式系統(tǒng)發(fā)展到高級(jí)階段的融合。通用計(jì)算機(jī)經(jīng)歷了從智慧平臺(tái)到互聯(lián)網(wǎng)的獨(dú)立發(fā)展道路;嵌入式系統(tǒng)則經(jīng)歷了智慧物聯(lián)到局域智慧物聯(lián)的獨(dú)立發(fā)展道路。
關(guān)鍵字: 嵌入式 物聯(lián)網(wǎng) 計(jì)算機(jī)隨著工業(yè)4.0、醫(yī)療電子、智能家居、物流管理和電力控制等快速的發(fā)展和推進(jìn),嵌入式系統(tǒng)利用自身的技術(shù)特點(diǎn),逐漸成為眾多行業(yè)的標(biāo)配產(chǎn)品。嵌入式系統(tǒng)具有可控制、可編程、成本低等,它在未來的工業(yè)和生活中有著廣闊的應(yīng)用前景。在現(xiàn)在...
關(guān)鍵字: 嵌入式 物聯(lián)網(wǎng) 人工智能長(zhǎng)久來看,嵌入式只會(huì)越來越火,隨著人工智能時(shí)代的發(fā)展,嵌入式必定又將迎來一次浪潮和技術(shù)的巨大變革。人工智能越是想要表達(dá)智能水平,就越要依靠嵌入式技術(shù),嵌入式技術(shù)將朝著自動(dòng)化控制和人機(jī)交互發(fā)展。嵌入式因其體積小、可靠性高、...
關(guān)鍵字: 嵌入式 物聯(lián)網(wǎng) 人工智能