,
(南京航空航天大學(xué) 民航學(xué)院,南京 211106)
二維離散傅里葉變換作為頻域分析的重要工具之一,廣泛應(yīng)用于數(shù)字圖像處理的各個(gè)領(lǐng)域。隨著數(shù)字圖像數(shù)據(jù)量的增長(zhǎng),傳統(tǒng)基于處理器實(shí)現(xiàn)的軟件算法逐漸遇到實(shí)時(shí)性不足的問(wèn)題,尤其是在一些對(duì)體積與功耗有嚴(yán)格限制的嵌入式應(yīng)用場(chǎng)合中,處理器的性能大幅受限。
近年來(lái)人們不斷嘗試使用新的硬件結(jié)構(gòu)來(lái)加速這一算法的實(shí)現(xiàn)過(guò)程。例如,參考文獻(xiàn)[2]針對(duì)GPU多核處理器架構(gòu),分析合并內(nèi)存訪問(wèn)事務(wù)大小與占用率之間的關(guān)系,優(yōu)化使用GPU存儲(chǔ)器資源,對(duì)小數(shù)據(jù)量2次冪二維復(fù)數(shù)FFT在GPU上的實(shí)現(xiàn)進(jìn)行改進(jìn)[2]。而相對(duì)于GPU的高功耗,低主頻低功耗的FPGA加速具有更大的實(shí)用價(jià)值,參考文獻(xiàn)[3-4]分別嘗試使用FPGA邏輯資源獨(dú)立完成二維FFT[3]與卷積神經(jīng)網(wǎng)絡(luò)算法的實(shí)現(xiàn)[4],并將結(jié)果與GPU、DSP等方式進(jìn)行了對(duì)比,驗(yàn)證了顯著的加速效果。為了便于在利用邏輯資源加速后引入復(fù)雜算法,人們也逐漸嘗試在使用FPGA加速的同時(shí)結(jié)合CPU來(lái)進(jìn)行任務(wù)調(diào)度,如在大鄰域圖像加速設(shè)計(jì)中使用NIOS II軟核處理器[5],在結(jié)合片內(nèi)硬核ARM處理器與FPGA的SoC器件上分別嘗試對(duì)閾值分割[6]、LS-SVM[7]或車(chē)輛識(shí)別[8]等算法進(jìn)行加速,均取得了一定成效。
綜上,純粹利用專(zhuān)用集成電路(ASIC)或可編程邏輯門(mén)陣列(FPGA)來(lái)實(shí)現(xiàn)算法的方式雖然能滿足速度需求,但也存在著開(kāi)發(fā)周期長(zhǎng),且不利于后期動(dòng)態(tài)調(diào)整的缺點(diǎn)。針對(duì)這一問(wèn)題,本文基于近年來(lái)流行的集成高性能ARM與FPGA的片上系統(tǒng)(System on Chip, SoC)平臺(tái),嘗試一種同時(shí)兼顧軟件開(kāi)發(fā)靈活與硬件實(shí)現(xiàn)效率高的二維傅里葉變換新方法。……