基于DSP+FPGA+ASIC的實(shí)時(shí)圖像處理系統(tǒng)
1.引言
隨著紅外焦平面陣列技術(shù)的快速發(fā)展,紅外成像系統(tǒng)實(shí)現(xiàn)了高幀頻、高分辨率、高可靠性及微型化,在目標(biāo)跟蹤、智能交通監(jiān)控中得到了越來越多的應(yīng)用,并向更加廣泛的軍事及民用領(lǐng)域擴(kuò)展。實(shí)時(shí)紅外圖像處理系統(tǒng)一般會(huì)包括非均勻校正、圖像增強(qiáng)、圖像分割、區(qū)域特征提取、目標(biāo)檢測及跟蹤等不同層次的實(shí)時(shí)圖像處理算法,由于圖像處理的數(shù)據(jù)量大,數(shù)據(jù)處理相關(guān)性高,因此實(shí)時(shí)紅外圖像處理系統(tǒng)必須具有強(qiáng)大的運(yùn)算能力。目前有些紅外圖像處理系統(tǒng)使用FPGA實(shí)現(xiàn)可重構(gòu)計(jì)算系統(tǒng)[1],運(yùn)算速度快,但對于復(fù)雜算法的實(shí)現(xiàn)難度比較高,且靈活性差。大多數(shù)紅外圖像處理系統(tǒng)則采用DSP+FPGA的硬件架構(gòu)[2],其中DSP負(fù)責(zé)實(shí)現(xiàn)圖像處理算法,F(xiàn)PGA負(fù)責(zé)實(shí)現(xiàn)各種接口電路,但諸如圖像多級濾波等處理算法復(fù)雜度高,只使用DSP處理會(huì)耗費(fèi)大量時(shí)間,一般采用并行多DSP系統(tǒng)以滿足實(shí)時(shí)性要求[3],但系統(tǒng)比較復(fù)雜,體積和功耗也不好控制,實(shí)現(xiàn)成本高。因此需要在硬件結(jié)構(gòu)上合理分配處理任務(wù),比如FPGA可以完成輸入圖像的預(yù)處理工作,減輕DSP的負(fù)擔(dān),本實(shí)驗(yàn)室自主研制的ASIC芯片可以對輸入紅外圖像進(jìn)行多級濾波處理,進(jìn)一步解放DSP。本文針對紅外圖像處理系統(tǒng)的實(shí)時(shí)性要求,提出了基于DSP+FPGA+ASIC的圖像處理架構(gòu)。
2.實(shí)時(shí)紅外圖像處理系統(tǒng)
由于實(shí)時(shí)紅外小目標(biāo)檢測算法的前端處理數(shù)據(jù)量大、實(shí)時(shí)性強(qiáng)且算法復(fù)雜度高,我們的系統(tǒng)結(jié)構(gòu)需要保證靈活性,能夠適應(yīng)各種復(fù)雜的算法,同時(shí)又要保證高速處理能力,因此實(shí)時(shí)紅外圖像處理系統(tǒng)采用DSP+ FPGA+ASIC的架構(gòu)來滿足設(shè)計(jì)的要求。其中,DSP具有高度的可編程性,可以完成比較復(fù)雜的任務(wù)。FPGA的處理速度稍遜于ASIC,但具有一定的靈活性,它可以實(shí)時(shí)接收紅外小目標(biāo)檢測算法前端的數(shù)據(jù),完成輸入圖像的一些預(yù)處理工作。ASIC芯片處理速度快、性能強(qiáng)且可靠性好,可以完成圖像濾波等特定的任務(wù)。
一種實(shí)時(shí)紅外圖像處理系統(tǒng)結(jié)構(gòu)框圖如圖1所示:
FPGA采用ALTERA公司的Stratix系列的EP1S10芯片。該芯片提供多達(dá)10,570個(gè)邏輯單元(LEs),存儲器容量為920,448016 bits,同時(shí)提供了高速DSP模塊以及乘法器,專用乘法器適合于作協(xié)處理器,可以分擔(dān)DSP復(fù)雜和耗時(shí)的算術(shù)運(yùn)算,提升系統(tǒng)的性能。
DSP選用TI公司的TMS320C6414芯片[4]。該芯片主頻為600MHz,數(shù)據(jù)處理能力峰值可達(dá)4800MIPS(每秒48億條指令)。由8個(gè)相互獨(dú)立的功能單元構(gòu)成。包含兩組通用寄存器組,每組含有32個(gè)32位寄存器。片內(nèi)采用2級存儲器結(jié)構(gòu)。
ASIC使用本實(shí)驗(yàn)室自主研制的多級濾波芯片[5]。該芯片采用SMIC 0.35mm工藝,芯片內(nèi)部工作頻率可達(dá)50MHz。有三個(gè)數(shù)據(jù)通道,分別級連不同數(shù)量的1*3基本濾波模板,每路數(shù)據(jù)通道采用流水線結(jié)構(gòu)。采用定點(diǎn)運(yùn)算,計(jì)算精度為8位二進(jìn)制小數(shù),可處理位寬為8-16位的數(shù)據(jù),吞吐量為5M-10M像素/秒,支持128*128,256*256,320*240三種幀格式的圖像濾波。
3.處理任務(wù)的合理分配
紅外探測器輸出圖像數(shù)據(jù)到信號處理板,先進(jìn)入FPGA進(jìn)行預(yù)處理,預(yù)處理包括非均勻性校正和圖像增強(qiáng)等。ASIC對輸入圖像數(shù)據(jù)進(jìn)行多級濾波處理。FPGA在后續(xù)算法中也能協(xié)同DSP工作,算法中對運(yùn)行速度要求很高,而算法結(jié)構(gòu)不太復(fù)雜的處理均可在FPGA 中實(shí)現(xiàn),從而使得該FPGA 成為DSP 的協(xié)處理器。經(jīng)過預(yù)處理后的紅外圖像數(shù)據(jù)輸出到DSP中進(jìn)行后續(xù)算法處理,DSP的處理包括紅外潛在小目標(biāo)檢測算法。DSP 處理后的潛在小目標(biāo)和圖像數(shù)據(jù)通過FPGA傳輸?shù)紻PRAM中存儲。
該實(shí)時(shí)紅外圖像處理系統(tǒng)主要由三部分組成:FPGA模塊,DSP模塊和ASIC模塊。在滿足紅外圖像數(shù)據(jù)處理的實(shí)時(shí)性和高速可靠性要求的前提下,各處理模塊所處理的任務(wù)要盡量達(dá)到平衡。
從資源角度看,算法用硬件處理速度快,占內(nèi)存空間小,但靈活性差;用軟件剛好相反,處理速度慢,但靈活性好。由于設(shè)計(jì)要滿足實(shí)時(shí)性要求,希望硬件承擔(dān)的任務(wù)越多越好。PGA作為一種可編程的硬件資源,雖然它有相當(dāng)強(qiáng)的設(shè)計(jì)靈活性,但是考慮到設(shè)計(jì)、實(shí)現(xiàn)調(diào)試的難度,不適合做全局、復(fù)雜的操作。ASIC芯片處理速度快,但靈活性差,只適合處理一些特定的占用大量處理器資源的運(yùn)算。DSP作為軟件資源,特點(diǎn)是靈活性好,適合復(fù)雜的算法,但速度慢。
從算法角度考慮,一個(gè)完整的算法在處理上是有層次的,算法對原始數(shù)據(jù)的操作是簡單的、規(guī)則的,對后續(xù)數(shù)據(jù)的處理往往比較復(fù)雜,同時(shí)算法在實(shí)現(xiàn)前會(huì)被預(yù)先分成幾個(gè)相互獨(dú)立的功能模塊。因此低層的、簡單的操作可以由FPGA中的邏輯單元模塊或ASIC芯片硬件來完成,高層的、復(fù)雜的操作則由DSP軟件來完成。
根據(jù)上述分析,本設(shè)計(jì)中FPGA主要完成與各個(gè)外部設(shè)備的接口控制邏輯,同時(shí)完成一些數(shù)據(jù)量大、運(yùn)算結(jié)構(gòu)簡單、速度要求高的算法;DSP完成后續(xù)結(jié)構(gòu)復(fù)雜的目標(biāo)檢測算法;ASIC芯片對輸入圖像進(jìn)行多級濾波處理。此方案保證了系統(tǒng)有足夠的處理速度,能夠達(dá)到紅外圖像處理系統(tǒng)的實(shí)時(shí)性要求。
3.1 FPGA模塊
FPGA內(nèi)部邏輯結(jié)構(gòu)框圖如圖2所示。
FPGA主要完成以下幾方面的工作:圖像數(shù)據(jù)接收邏輯,圖像數(shù)據(jù)預(yù)處理模塊,輸入緩存FIFO,DSP接口控制邏輯,ASIC接口控制邏輯,DPRAM接口控制邏輯,算法處理模塊。
(1) 圖像數(shù)據(jù)接收邏輯:根據(jù)探測器輸出的數(shù)字視頻信號的場同步,行同步以及時(shí)鐘信號,發(fā)送控制信號接收圖像數(shù)據(jù)。
(2) 圖像數(shù)據(jù)預(yù)處理模塊:對接收的圖像數(shù)據(jù)進(jìn)行非均勻性校正和圖像增強(qiáng)等預(yù)處理。
(3) 輸入緩存FIFO:由FPGA內(nèi)部配置輸入緩沖存儲器FIFO。預(yù)處理后的圖像數(shù)據(jù)可以連續(xù)不間斷地寫入FIFO中,以供DSP讀取進(jìn)行后續(xù)的圖像處理。
(4) DSP接口控制邏輯:DSP 接口時(shí)序控制邏輯必須嚴(yán)格按照TMS320C6414的EMIFA
可編程同步接口的時(shí)序來編寫,并且滿足相應(yīng)的建立保持時(shí)間要求。DSP啟動(dòng)EDMA通道
讀取紅外圖像數(shù)據(jù),通過FPGA的內(nèi)部FIFO進(jìn)行連續(xù)的圖像傳輸。
(5) ASIC接口控制邏輯:按照ASIC芯片的時(shí)序編寫其控制邏輯,將圖像數(shù)據(jù)導(dǎo)入ASIC
芯片進(jìn)行圖像多級濾波處理。
(6) DPRAM接口控制邏輯:編寫DPRAM的控制邏輯,將DSP 處理后的數(shù)據(jù)通過FPGA傳輸?shù)紻PRAM中存儲。
(7) 算法處理模塊:根據(jù)具體算法的需要,協(xié)同DSP完成算法中速度要求高,結(jié)構(gòu)不太復(fù)雜的運(yùn)算。
3.2 DSP模塊
DSP主要完成紅外小目標(biāo)的檢測和跟蹤算法,功能如下:
(1) 啟動(dòng)EDMA通道不斷讀取FPGA輸出的紅外圖像數(shù)據(jù)。
(2) 對輸入的紅外圖像數(shù)據(jù),運(yùn)行目標(biāo)檢測和跟蹤算法,檢測運(yùn)動(dòng)目標(biāo),并確定其方位。
(3) 與FPGA建立連接,將算法中比較規(guī)則的運(yùn)算交給FPGA處理。
(4) DSP將處理后的運(yùn)算結(jié)果通過FPGA傳輸至DPRAM中存儲。
3.3 ASIC模塊
ASIC芯片從FPGA中接收預(yù)處理后的圖像數(shù)據(jù)進(jìn)行處理,處理后的三路數(shù)據(jù)同步寫入內(nèi)部三個(gè)同步FIFO,DSP可以根據(jù)需要選擇輸出多級濾波處理后的結(jié)果,進(jìn)行后續(xù)算法的處理。
4.實(shí)驗(yàn)結(jié)果與分析
實(shí)時(shí)紅外圖像處理板已成功應(yīng)用于多個(gè)紅外探測系統(tǒng)中,效果良好。圖3為實(shí)驗(yàn)時(shí)采用
高德IR108D探測器獲得的原始紅外圖像,圖4為經(jīng)過多級濾波處理后標(biāo)識的圖像,圖5為經(jīng)過目標(biāo)檢測算法處理后輸出的跟蹤圖像??梢钥吹剑撓到y(tǒng)能夠?qū)崟r(shí)檢測并跟蹤紅外圖像中的運(yùn)動(dòng)小目標(biāo)。
5.結(jié)語
本文使用高性能的DSP(TMS320C6414),可編程邏輯器件FPGA(Stratix系列的EP1S10)
和專用ASIC多級濾波芯片,提出了DSP + FPGA + ASIC的圖像處理平臺架構(gòu),設(shè)計(jì)了處理
能力強(qiáng)、接口可靠穩(wěn)定的紅外圖像處理系統(tǒng),并在系統(tǒng)中實(shí)現(xiàn)了非均勻性校正、小目標(biāo)檢測等算法。實(shí)驗(yàn)測試表明,該實(shí)時(shí)紅外圖像處理系統(tǒng)對每場320×240有效像素,每個(gè)像素14bit,場頻50Hz的輸出數(shù)字視頻信號能夠進(jìn)行實(shí)時(shí)處理,對視場中的運(yùn)動(dòng)小目標(biāo)完成檢測和跟蹤功能,滿足系統(tǒng)主要性能指標(biāo)要求,成功應(yīng)用于紅外探測系統(tǒng)中。
本文作者創(chuàng)新點(diǎn):采用自主研制的ASIC芯片對紅外圖像進(jìn)行多級濾波處理,速度快,可靠性好,為DSP后續(xù)的目標(biāo)檢測跟蹤算法節(jié)約時(shí)間。