《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動態(tài) > 基于DSP+FPGA結(jié)構(gòu)的小波圖像處理系統(tǒng)設(shè)計

基于DSP+FPGA結(jié)構(gòu)的小波圖像處理系統(tǒng)設(shè)計

2008-06-17
作者:陸海東, 吳明贊

  摘 要: 介紹了一種基于DSP+FPGA結(jié)構(gòu)的小波" title="小波">小波圖像處理" title="圖像處理">圖像處理系統(tǒng)設(shè)計方案,以高性能數(shù)字信號處理器ADSP-BF535" title="ADSP-BF535">ADSP-BF535作為核心,結(jié)合現(xiàn)場可編程門陣列FPGA,實現(xiàn)了實時數(shù)字圖像處理。
  關(guān)鍵詞: 數(shù)字信號處理 FPGA 圖像處理 小波變換


  小波分析是近年迅速發(fā)展起來的新興學(xué)科,與Fourier分析和Gabor變換相比,小波變換" title="小波變換">小波變換是時間(空間)頻率的局部化分析,它通過伸縮平移運算對信號逐步進(jìn)行多尺度細(xì)化,最終達(dá)到高頻處時間細(xì)分和低頻處頻率細(xì)分,能自動適應(yīng)時頻信號分析的要求,從而可聚焦到信號的任意細(xì)節(jié),解決了Fourier分析不能解決的許多問題[1~2]。目前許多小波算法的軟件實現(xiàn)已經(jīng)很成熟了,但是很難達(dá)到實時性的效果。而在硬件方面,隨著數(shù)字信號處理器(DSP)和現(xiàn)場可編程門陣列器件(FPGA)的發(fā)展,采用DSP+FPGA的數(shù)字硬件系統(tǒng)顯示出其優(yōu)越性,可以把二者的優(yōu)點結(jié)合在一起,兼顧速度和靈活性,因此DSP+FPGA結(jié)構(gòu)正愈來愈得到人們的重視,應(yīng)用的領(lǐng)域也越來越廣泛[1][3]。DSP+FPGA系統(tǒng)最大的優(yōu)點是結(jié)構(gòu)靈活,有較強的通用性,適合于模塊化設(shè)計,從而能夠提高算法效率;同時其開發(fā)周期較短,系統(tǒng)容易維護(hù)和擴(kuò)展,適合實時信號處理。所以本文介紹的系統(tǒng)設(shè)計就是基于DSP+FPGA結(jié)構(gòu)的小波圖像處理系統(tǒng)。
1 圖像處理系統(tǒng)的組成
1.1 系統(tǒng)整體硬件構(gòu)架

  DSP+FPGA系統(tǒng)的核心由DSP芯片和現(xiàn)場可編程門陣列FPGA以及外圍的輔助電路,如存儲器、先進(jìn)先出(FIFO)器件及Flash ROM等組成。外圍電路輔助核心電路進(jìn)行工作。DSP和FPGA各自帶有RAM,用于存放處理過程所需要的數(shù)據(jù)及中間結(jié)果。Flash ROM中存儲DSP執(zhí)行程序和FPGA的配置數(shù)據(jù)。FIFO器件則用于實現(xiàn)信號處理中常用的一些操作,如延時線、順序存儲等。
  系統(tǒng)方案考慮了系統(tǒng)處理的實時性、硬件系統(tǒng)的規(guī)模及系統(tǒng)調(diào)試的難度等因素,其整體框架如圖1所示。


1.2 處理器簡介
  ADSP-BF535(簡稱BF535)是美國AD公司和Intel公司于2001年底聯(lián)合推出的一款定點DSP,屬于Blackfin系列產(chǎn)品。BF535具有RISC指令結(jié)構(gòu),運作高效,性能優(yōu)異,主頻最高工作在350MHz,有兩個40位的乘加器和兩個32位的算術(shù)邏輯單元,四個8位的視頻處理單元,十六個地址尋址單元。DSP內(nèi)部集成了308KB的RAM,并有豐富的外部接口,如SDRAM、PCI、USB、SPI、同步和異步串口" title="串口">串口等。芯片內(nèi)部設(shè)計了“看門狗”和多種定時器,可充分滿足軟件工程的穩(wěn)定性設(shè)計要求。而且BF535可動態(tài)地控制電壓輸入,調(diào)整運行頻率,減少芯片功耗,十分適合于移動產(chǎn)品的設(shè)計[3]。
1.3 外部存儲器的設(shè)計
  Blackfin DSP的結(jié)構(gòu)體系將存儲器構(gòu)造成統(tǒng)一的4GB地址空間,用32位地址尋址。包括內(nèi)部存儲器、外部存儲器、PCI地址空間和I/O控制寄存器在內(nèi)的所有資源,在這個統(tǒng)一的地址空間中獨自占據(jù)各自的一段[3][4]。
  外部存儲器通過外部接口總線進(jìn)行讀取。該接口提供一個無縫連接,最多可接4個SDRAM和4個異步存儲裝置(Flash、EPROM、ROM、SRAM)及存儲映射I/O裝置。
  存儲器的設(shè)計首先要考慮存儲器的速度、類型、容量是否能滿足運算要求以及性價比如何。本系統(tǒng)中擴(kuò)展了外部存儲器,用到了SDRAM(用來在算法運算過程中對圖像數(shù)據(jù)的緩存)。與PC133兼容的SDRAM控制器最多可以設(shè)置為四個地址空間相連的SDRAM存儲塊,每個存儲塊的大小可為16~128MB,所以最高可訪問512MB的RAM。每個存儲塊都可以獨立配置,并且與鄰近塊連續(xù)而不必考慮存儲塊的大小和位置。這使得內(nèi)核可以把所有SDRAM都看作有單一、連續(xù)的物理地址空間。本系統(tǒng)中ADSP-BF535與SDRAM的接口如圖2所示。


  異步存儲器接口選用了雙端口RAM作為圖像數(shù)據(jù)從FPGA到DSP之間的傳輸,通過對DMA控制寄存器的設(shè)定,圖像數(shù)據(jù)以DMA方式向DSP傳輸。選用Flash作為程序存儲器。BF535與Flash的接口如圖3所示,系統(tǒng)上電后程序從Flash以DMA方式自舉到內(nèi)部程序RAM中,應(yīng)用程序在內(nèi)部程序RAM全速運行。


1.4 模/數(shù)轉(zhuǎn)換部分
  高速A/D變換對采集到的信號數(shù)字化后,將模擬圖像信號轉(zhuǎn)換為數(shù)字圖像信號,存入圖像存儲器中。A/D變換器采用AD9042,其最高采樣頻率可達(dá)40MHz,精度為12位,輸入信號范圍為±2V。
1.5 通信接口部分
  BF535的UART是與PC機的標(biāo)準(zhǔn)異步串口兼容的全雙工外設(shè),它有兩個相互獨立的UART,UART在串行和并行格式之間轉(zhuǎn)換數(shù)據(jù),通信接口部分由一個RS422和一個RS232串口組成。中心控制器通過串口發(fā)送指控指令,實時數(shù)字圖像處理系統(tǒng)對目標(biāo)處理數(shù)據(jù)進(jìn)行修正和規(guī)范化處理,并送出符合規(guī)定格式的處理數(shù)據(jù)。
1.6 FPGA在系統(tǒng)中的使用
  系統(tǒng)采用Xilinx公司的SpartanⅡ系列的FPGA芯片,并且用FPGA實現(xiàn)FIFO及擴(kuò)展串口的功能。時序控制由現(xiàn)場可編程門陣列FPGA實現(xiàn),其實現(xiàn)的主要功能有: (1)產(chǎn)生DSP訪問的地址譯碼與控制。(2)產(chǎn)生DMA端口訪問DSP所需的控制信號。(3)產(chǎn)生DSP的復(fù)位信號。(4)產(chǎn)生A/D轉(zhuǎn)換器的轉(zhuǎn)換控制時序,包括SCLK(串行時鐘)和CONV(轉(zhuǎn)換控制)。(5)產(chǎn)生串口的接收幀同步信號。
  系統(tǒng)使用FPGA可以減少外圍芯片的數(shù)量,而且可以比較方便地修改設(shè)計方案,為以后系統(tǒng)的擴(kuò)展提供了空間。
2 二維小波分析在圖像處理中的應(yīng)用
  數(shù)字圖像處理的目的就是對數(shù)字化后的圖像進(jìn)行某些運算或處理,以提高圖像的質(zhì)量或達(dá)到人們所要求的預(yù)期結(jié)果。小波變換用于圖像處理是小波變換應(yīng)用比較多的領(lǐng)域之一。由于圖像是二維信號,因此,應(yīng)用的小波分析工具是二維小波變換。小波變換在圖像處理上的應(yīng)用主要是將空間或時間域上的信號(數(shù)據(jù))變換到小波域上,成為多層次的小波系數(shù)。然后根據(jù)小波基的特性,分析小波系數(shù)特點,針對不同需求,結(jié)合常規(guī)的圖像處理方法或更符合小波特點的方法來處理小波系數(shù),再對處理后的小波系數(shù)進(jìn)行逆變換,得到所需的目標(biāo)圖像。
2.1 二維離散小波變換的一般形式
  二維離散小波變換的一般形式可以表達(dá)為:


2.2 二維圖像的小波分解與重構(gòu)
  從一幅N×N的圖像開始,N是2的冪。若j=0,尺度2j=20=1,即為原始圖像的尺度,j的值每次增大都使尺度加倍,而使分辨率減半。圖像可以依據(jù)二維小波按如下方式擴(kuò)展:在變換的每一層次上,圖像都被分解為四個1/4大小的圖像,這四個圖像中的每一個都是由原圖與一個小波基圖像的內(nèi)積后,再經(jīng)過在x1、x2方向都進(jìn)行了兩倍的間隔抽樣后而生成的。
  圖4為分解的實際計算框圖,圖中cA為低頻系數(shù),cD(h)、cD(v)、cD(d)為高頻系數(shù),LD為低通分解濾波器,HD為高通分解濾波器,向下的箭頭表示隔行或隔列抽樣,保留偶數(shù)行或列,行列以0開始。


  重構(gòu)的過程是分解的逆過程,與分解的過程類似。圖5為DWT圖像重構(gòu)的實際計算框圖,其中向上的箭頭表示列插樣或行插樣,即在奇數(shù)列或奇數(shù)行插入0值。


2.3 小波算法在BF535上的實現(xiàn)
  圖像處理的小波算法在BF535上實現(xiàn)。AD公司提供了一套完整的ADSP-BF535軟硬件開發(fā)工具,包括仿真器、評估板和Visual DSP++開發(fā)環(huán)境。小波算法在BF535上實現(xiàn)的主要步驟如下:
  (1) 用C語言編程實現(xiàn)算法。
  (2) 使用Visual DSP++的C/C++編譯器,將C源程序編譯成目標(biāo)文件。
  (3) 根據(jù)產(chǎn)生的目標(biāo)文件,分析結(jié)果及源程序結(jié)構(gòu),并優(yōu)化源代碼。
  (4) 應(yīng)用ADSP-BF535評估板進(jìn)行運算時間評估。
  (5) 重復(fù)上述步驟,直至達(dá)到系統(tǒng)實時性的要求為止,然后下載到目標(biāo)板。
  在實驗中,用小波算法對256×256像素的圖像進(jìn)行邊緣特征提取、增強、融合、銳化、平滑等處理,算法分析結(jié)果如表1所示。可得出結(jié)論,使用BF535可以實現(xiàn)小波圖像算法,并且其速度滿足實時性的要求。


2.4 小波變換在數(shù)字圖像處理中的應(yīng)用
  小波變換在圖像處理中的應(yīng)用主要有圖像壓縮、圖像的去噪、圖像的增強、圖像分割、圖像特征描述和圖像重建等 [4]。
  本文介紹了應(yīng)用數(shù)字信號處理器ADSP-BF535和現(xiàn)場可編程門陣列FPGA,設(shè)計了小波圖像處理系統(tǒng),并用ADSP-BF535實現(xiàn)了小波算法。分析DSP片上資源和運行時間的結(jié)果表明,其速度可滿足實時性的要求,可以在本系統(tǒng)中使用小波算法來處理實時圖像信號,為硬件系統(tǒng)的設(shè)計提供了保證。小波分析由于具有良好的時頻局部化性能,已經(jīng)在信號分析、圖像處理、語音合成、故障診斷、地質(zhì)勘探等領(lǐng)域取得一系列重要應(yīng)用。而且各種快速有效的算法也促進(jìn)了小波分析在實際系統(tǒng)中的應(yīng)用。由于DSP速度越來越快,成本越來越低,F(xiàn)PGA的容量越來越大,使得DSP+FPGA組成的系統(tǒng)成為解決系統(tǒng)設(shè)計的重要選擇方案之一,應(yīng)用領(lǐng)域非常廣泛。
參考文獻(xiàn)
1 陳武凡.小波分析及其在圖像處理中的應(yīng)用.北京:科學(xué)出版社,2003
2 虞湘賓,董 濤,畢光國.小波變換的快速算法研究及其在圖像處理中的應(yīng)用.電路與系統(tǒng)學(xué)報,2002;7(2)
3 陳 峰.Blackfin系列DSP原理及系統(tǒng)設(shè)計.北京:電子工業(yè)出版社,2004
4 AD Inc. ADSP-BF535 Blackfin DSP Hardware Reference.2002
5 戴逸民.DSP+FPGA數(shù)字硬件系統(tǒng)設(shè)計與實現(xiàn). 半導(dǎo)體設(shè)計,2002;(4)
6 朱 明,魯劍鋒.基于DSP+FPGA結(jié)構(gòu)圖像處理系統(tǒng)設(shè)計與實現(xiàn).計算機測量與控制,2004;12(9)

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。