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