李 濤,田 松,許悅雷,郭 忠
(1.空軍工程大學(xué)航空航天工程學(xué)院,陜西 西安 710038;2.泰山醫(yī)學(xué)院,山東 泰安 271000)
合成孔徑雷達(dá)(Synthetic Aperture Radar)是一種高分辨力的微波成像雷達(dá),在軍事和民用等方面都有廣泛的應(yīng)用。SAR圖像是機(jī)載或星載的SAR對地面的探測成像,圖像數(shù)據(jù)量高、尺寸大,如此大的數(shù)據(jù)量將導(dǎo)致網(wǎng)絡(luò)實時傳輸效率的降低和龐大的在線存儲需要。所以對SAR圖像進(jìn)行有效的壓縮編碼,降低數(shù)據(jù)量,以利于存儲和實時傳輸成為SAR圖像研究的焦點。
SAR圖像中含有豐富的紋理信息和大量的均勻區(qū)域,且圖像灰度值動態(tài)范圍大。因此采用基于小波變換的JPEG2000編碼[1]與采用其他編碼方法相比,更具優(yōu)勢。但SAR圖像具有的相干斑(Speckle)噪聲會嚴(yán)重影響圖像的質(zhì)量,增加圖像識別難度、減小相鄰像素間相關(guān)性,導(dǎo)致SAR圖像壓縮效率降低[2]。因此,在進(jìn)行SAR圖像壓縮時,先對圖像進(jìn)行降斑處理,抑制相干斑噪聲,可增強(qiáng)圖像像素間相關(guān)性,提高圖像可壓縮性,使重建圖像更好地反映原始圖像信息。
本文設(shè)計實現(xiàn)了SAR圖像壓縮系統(tǒng),用于完成SAR圖像數(shù)據(jù)的實時壓縮任務(wù),是SAR成像偵察系統(tǒng)的組成部分。設(shè)計中系統(tǒng)采用FPGA和ADV212編解碼芯片,利用FPGA和空域增強(qiáng)Lee算法[3]實現(xiàn)圖像降斑預(yù)處理,實現(xiàn)高壓縮比情況下對圖像細(xì)節(jié)的有效保留和壓縮數(shù)據(jù)與通信信道間的高速傳輸,同時也達(dá)到了很好的實時性要求。
系統(tǒng)框架如圖1所示。系統(tǒng)中核心的芯片主要包括ADV212,F(xiàn)PGA,DSP及配置電路芯片,以PMC單板形式實現(xiàn)。主要有PCI橋路、圖像預(yù)處理、圖像壓縮、并串轉(zhuǎn)換和邏輯控制5個模塊,其中邏輯控制模塊主要實現(xiàn)對數(shù)據(jù)流的吞吐管理和接口控制等。
圖1 SAR圖像數(shù)據(jù)壓縮系統(tǒng)
來自主控系統(tǒng)的SAR圖像數(shù)據(jù),經(jīng)過PCI橋路寫入FPGA內(nèi)部RAM緩存;在邏輯控制模塊控制下,進(jìn)入圖像預(yù)處理模塊進(jìn)行降斑處理,后通過FPGA的I/O總線和壓縮模塊核心ADV212的HDATA總線,將數(shù)據(jù)送入ADV212內(nèi)部,進(jìn)行JPEG2000編碼,產(chǎn)生*.jp2格式碼流,壓縮得到的碼流經(jīng)FPGA內(nèi)部FIFO緩存和并串轉(zhuǎn)換模塊進(jìn)行同步輸出到串口信道,最后通過高速RS-422送至通信系統(tǒng)。
DSP主要配置ADV212內(nèi)直接和間接寄存器,同時設(shè)置ADV212的編碼參數(shù),并加載ADV212的固件(Firmware,編碼模式所需),DSP對ADV212的操作需要FPGA的總線切換控制。
由于數(shù)據(jù)緩存和暫存需大量空間,所以對FPGA的存儲空間用SDRAM進(jìn)行擴(kuò)展。為了以后對系統(tǒng)功能進(jìn)行拓展,進(jìn)一步開發(fā)通過外界串口信號對系統(tǒng)進(jìn)行指令控制,實現(xiàn)數(shù)據(jù)交互,系統(tǒng)在設(shè)計時預(yù)留了一路同步RS-422接口。
考慮到數(shù)據(jù)傳輸對帶寬的要求高,系統(tǒng)與主控的通信橋路設(shè)計采用PLX9054芯片。該芯片是PLX公司生產(chǎn)的一種性價比很高的PCI橋路芯片,作為一種接口芯片,數(shù)據(jù)可在PCI總線和LOCAL總線之間傳遞,支持DMA傳輸。利用PLX9054可降低PCI總線的復(fù)雜性,完成數(shù)據(jù)的順利傳輸。PCI橋路接收主控的圖像數(shù)據(jù),1幀圖像數(shù)據(jù)的典型有效像素點為4096×4096個,每個像素輸出精度為8位,圖像幀的速率為6 s/幅,所以要采用32位總線寬度傳輸,時鐘為33 MHz,接收的圖像數(shù)據(jù)存儲至RAM中進(jìn)行緩存。
整個系統(tǒng)需要5 V和3.3 V的電源。系統(tǒng)的5 V電源由外部提供,TI公司的TPS767D301芯片通過轉(zhuǎn)換提供3.3 V電源,同時該芯片也可產(chǎn)生系統(tǒng)復(fù)位信號。
SDRAM選用三星公司的K4S561632E,來配置FPGA的存儲單元,其存儲容量為4×4 M×16 bit。參照數(shù)據(jù)手冊,F(xiàn)PGA分配 給 SDRAM 39個 I/O。DSP選 用TMS320F2812完成對ADV212的初始化,并擴(kuò)展Flash芯片來存儲固件程序和配置數(shù)據(jù)。
考慮成本和設(shè)計需要,F(xiàn)PGA選用Altera公司的CycloneⅢ系列 EP4C115器件,其具有528個用戶 I/O、114480個可用邏輯單元、255個嵌入式乘法器單元和4個鎖相環(huán),其內(nèi)存資源豐富、速度等級高,完全可滿足功能需求。FPGA外掛了PLX9054,ADV212,2×SDRAM和DSP,主要實現(xiàn)數(shù)據(jù)流管理、圖像預(yù)處理、并串轉(zhuǎn)換等功能,同時通過對DSP控制來完成ADV212的初始化。
要實現(xiàn)系統(tǒng)數(shù)據(jù)高速協(xié)同工作,通過邏輯控制模塊管理數(shù)據(jù)流起著重要的作用。該模塊要對系統(tǒng)的各芯片接口進(jìn)行控制,同時還要控制數(shù)據(jù)高速接收、分塊緩存、乒乓讀寫、流水線處理和管理ADV212數(shù)據(jù)。
為了完成數(shù)據(jù)的無縫緩存與處理,提高數(shù)據(jù)處理速度,系統(tǒng)采用流水線式并行處理。采用流水線結(jié)構(gòu)在提高系統(tǒng)處理速度的同時會造成輸出延遲,且還需更多的寄存資源,因為FPGA中每個邏輯單元都有寄存器,所以可有效支撐流水線設(shè)計。
數(shù)據(jù)流的吞吐采用分塊緩存讀取的方式。對每一幅圖像的數(shù)據(jù)進(jìn)行處理之前,F(xiàn)PGA首先讀取存儲在緩存區(qū)的數(shù)據(jù)。每次處理的數(shù)據(jù)都是一個數(shù)據(jù)塊中的多個數(shù)據(jù),但FPGA一個周期只讀一個數(shù)據(jù)。這樣數(shù)據(jù)的串入并出就顯得很重要。數(shù)據(jù)塊的選取按照從上到下、從左往右的順序進(jìn)行。如3×3的處理模板,在進(jìn)行一次計算時,F(xiàn)PGA首先從緩存區(qū)連續(xù)先后地讀入3個數(shù)據(jù),然后將這3個數(shù)據(jù)和保留在模塊中其他6個數(shù)據(jù)一起輸出到后續(xù)的模塊。數(shù)據(jù)分塊吞吐測試如圖2所示。
圖2 數(shù)據(jù)分塊吞吐測試(截圖)
在控制輸入待壓縮數(shù)據(jù)時,按照圖像的大小和傳輸特性,將圖像進(jìn)行分塊,傳輸過來的數(shù)據(jù)被分成若干批次處理,每個批次分成4個圖像塊,依次送給ADV212壓縮。在實現(xiàn)時,將4個圖像塊通過乒乓讀寫模式,實現(xiàn)同時緩存和壓縮。
數(shù)據(jù)經(jīng)ADV212的HDATA總線吞吐。獲取ADV212產(chǎn)生的壓縮碼流時,系統(tǒng)通過設(shè)置ADV內(nèi)部編碼FIFO的門限值來實現(xiàn)碼流的讀取,當(dāng)編碼FIFO中的碼流達(dá)到設(shè)定門限時,中斷引腳IRQ產(chǎn)生中斷信號與FPGA內(nèi)部數(shù)據(jù)讀取模塊相連,一旦觸發(fā)FPGA即啟動讀取編碼FIFO中產(chǎn)生的碼流。發(fā)送原始數(shù)據(jù)給ADV212的過程與獲取壓縮碼流相似。
壓縮碼流寫入FPGA內(nèi)部的輸出FIFO后,輸出FIFO數(shù)據(jù)經(jīng)并串轉(zhuǎn)換模塊轉(zhuǎn)換成同步串口數(shù)據(jù)直接發(fā)送至信道。系統(tǒng)主要數(shù)據(jù)傳輸流程如圖3所示。
圖3 系統(tǒng)主要數(shù)據(jù)傳輸流程
系統(tǒng)內(nèi)為16 bit的并行數(shù)據(jù)。為了提高信道傳輸速率,滿足RS-422串口傳輸要求,在壓縮碼流輸出前要將并行的16 bit數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù),轉(zhuǎn)換過程在邏輯控制模塊的控制下也采用了分塊傳輸、分塊轉(zhuǎn)換的方法。并串轉(zhuǎn)換采用雙路恒流結(jié)構(gòu)[8],在一定程度上有效地解決了電路工作速度的瓶頸問題,可提高集成度、降低功耗,其工作頻率可達(dá)4 GHz以上。圖4是一個16 bit并串轉(zhuǎn)換接口電路的雙路恒流結(jié)構(gòu)工作原理圖。
圖4 16 bit并串轉(zhuǎn)換電路原理圖
考慮FPGA的數(shù)據(jù)處理速度、濾波算法的穩(wěn)定性和有效性,圖像預(yù)處理采用空域濾波中成熟的經(jīng)典增強(qiáng)Lee算法。該算法可實現(xiàn)高壓縮比情況下對圖像細(xì)節(jié)的有效保留,同時達(dá)到很好的實時性要求,還可改善SAR圖像的相關(guān)性,有助于提高壓縮性能。預(yù)處理算法通過FPGA編程實現(xiàn),在不需要時可旁路。
在SAR圖像相干斑噪聲為乘性噪聲[9]的條件下,圖像數(shù)據(jù)可表示為
式中:I是觀察到的圖像;R是未被相干斑污染的數(shù)據(jù);F是衰落過程所引起的相干斑噪聲。
經(jīng)增強(qiáng)Lee濾波后的表示為
圖5 增強(qiáng)Lee濾波FPGA實現(xiàn)流程圖
在進(jìn)行圖像數(shù)據(jù)壓縮前,通過FPGA的預(yù)處理模塊進(jìn)行增強(qiáng)Lee濾波可很好地抑制SAR圖像的相干斑,而且通過流水處理,在保證運算精度的同時,提高了在硬件上實現(xiàn)的實時性。經(jīng)實際測試在FPGA資源使用上,增強(qiáng)Lee濾波占用6%的邏輯單元、12439 bit的內(nèi)部存儲器、20個DSP單元。在濾波過程中不會給系統(tǒng)的整體速度和資源分配帶來太大影響。
ADV212[11]是ADI公司推出的一款用于視頻和高帶寬靜止圖像壓縮的單片JPEG2000編解碼芯片,具有可靠性好、配置靈活、支持格式多樣等優(yōu)點??紤]系統(tǒng)的穩(wěn)定性,圖像壓縮采用成熟的ADV212專用芯片實現(xiàn),相對軟件形式實現(xiàn)壓縮,利用ADV212可減少設(shè)計復(fù)雜度,將主要工作集中在外圍電路和軟件設(shè)計上。ADV212內(nèi)部功能框圖如圖6所示。
圖6 ADV212功能圖
ADV212可通過異步SRAM方式、DMA訪問方式或碼流方式直接和大多數(shù)主機(jī)處理器及ASIC器件相連接,提供有16位和32位控制總線及8,16和32位數(shù)據(jù)傳輸總線。FPGA通過I/O總線和ADV212的HDATA總線連接,通過DSP來配置、控制功能以及直接傳輸壓縮后的數(shù)據(jù)流,也可以在某種模式下傳送解壓的數(shù)據(jù),在某些格式中還可用作未壓縮數(shù)據(jù)流的傳輸。ADV212的工作模式是在初始化固件中通過HDATA總線進(jìn)行寫寄存器的狀態(tài)字來設(shè)定,訪問方式為異步RAM訪問方式。圖像壓縮倍數(shù)的選擇可以進(jìn)行配置,主要由FPGA通過DSP來實現(xiàn)。
系統(tǒng)軟件設(shè)計集中在FPGA和DSP上,主要有2個部分:1)FPGA,TMS320F2812,ADV212的初始化;2)圖像預(yù)處理、并串轉(zhuǎn)換及邏輯控制。
設(shè)計中DSP部分程序采用C語言和匯編混合編程實現(xiàn);對于FPGA內(nèi)的各功能模塊和時序用Verilog HDL編程[12]語言實現(xiàn)。ADV212初始化程序主要完成:1)配置和校驗ADV212內(nèi)部直接和間接寄存器;2)加載ADV212的編碼固件程序;3)配置固件配置寄存器,設(shè)置工作狀態(tài);4)檢驗應(yīng)用程序的ID;5)清除中斷,使ADV212開始運行。ADV212的后綴名為.sea的固件程序,可在ADI公司網(wǎng)站下載。
系統(tǒng)在上電后,首先完成FPGA,DSP的初始化,包括清除所有CPU中斷、使能外部中斷以及使能全局中斷等。DSP完成初始化后將存儲在Flash中ADV212的固件通過數(shù)據(jù)線讀出,然后便通過FPGA接口對ADV212進(jìn)行初始化。所有模塊初始化完成后,系統(tǒng)通過PCI9054橋路讀入原始數(shù)據(jù),在邏輯控制功能模塊控制下,原始數(shù)據(jù)經(jīng)降斑處理、壓縮處理,最后完成壓縮碼流數(shù)據(jù)的讀取及通過高速422串口向信道傳輸。系統(tǒng)軟件總流程如圖7所示。
圖7 系統(tǒng)軟件總體框圖
系統(tǒng)各模塊經(jīng)設(shè)計、綜合和布局布線,測試系統(tǒng)最終以PMC板形式實現(xiàn)。首先,系統(tǒng)采用分辨力為4096×4096的原始SAR圖像,輸入速率35 Mbyte/s,進(jìn)行了壓縮測試,在壓縮比為8∶1時,系統(tǒng)以恒定速率(2.5 Mbyte/s)實時輸出串行格式碼流,生成了.jp2格式的圖像文件,驗證了系統(tǒng)的可用性和正確性。其次,為了測試系統(tǒng)降斑效果,在測試時,又對圖像預(yù)處理功能進(jìn)行了旁路,得到了沒有經(jīng)降斑處理的.jp2格式的圖像文件。最后用JPEG200軟件[13]對其進(jìn)行解碼得到重建圖像,如圖8所示。對其等效視數(shù)(ENL)、邊緣保持指數(shù)(EPI)進(jìn)行了比較,如表1所示。主觀圖像和客觀數(shù)據(jù)表明,經(jīng)過降斑處理的圖像相干斑噪聲明顯減弱。
圖8 重建圖像降斑效果對比
表1 重建圖像(8∶1)降斑效果對比
對于ADV212的HDATA總線,在150 MHz主頻下,最大輸入吞吐率為65 Msample/s(兆采樣值/秒)。對于系統(tǒng)需壓縮的靜態(tài)圖像,以最大的分辨力4096×16384(10.7 Msample/s)為例進(jìn)行了測試,系統(tǒng)的最大需求小于ADV212的最大處理能力。因此,完全滿足系統(tǒng)實時壓縮的需求。
SAR圖像壓縮系統(tǒng)對壓縮比、失真度、實時性等都提出了較高的要求。本文設(shè)計并實現(xiàn)了一種基于降斑處理的壓縮系統(tǒng)。該系統(tǒng)具有很高的靈活性和擴(kuò)展性,系統(tǒng)留有一定的資源冗余和控制端口,且器件全部選用工業(yè)檔,允許日后對其進(jìn)行優(yōu)化。
[1]WALLACE G K.The JPEG still picture compression standard[J].IEEE Trans.Consumer Electronics,1992,38(1):18-34.
[2]余楚才.SAR圖像數(shù)據(jù)壓縮技術(shù)研究[D].成都:電子科技大學(xué),2009.
[3]LEE J S.Speckle suppression and analysis for synthetic aperture radar images[J].Optical Engineering,1986,25(5):636-643.
[4]李濤,許悅雷,田松,等.基于FPGA的室內(nèi)智能吸塵平臺設(shè)計與實現(xiàn)[J].電子技術(shù)應(yīng)用,2012(3):47-49.
[5]鄧宸偉,趙保軍.基于ADV212的實時圖像壓縮系統(tǒng)[J].電視技術(shù),2008,32(12):35-37.
[6]王德勝,康令州.基于FPGA的實時圖像采集與預(yù)處理[J].電視技術(shù),2011,35(3):32-35.
[7]藺志強(qiáng),孟令軍,彭晴晴.基于ADV7180的視頻圖像實時采集系統(tǒng)的設(shè)計[J].電視技術(shù),2011,35(17):36-39.
[8]楊毓軍,王永祿,周述濤.一種超高速并串轉(zhuǎn)換電路的新實現(xiàn)方式[J].微電子學(xué),2006,32(2):145-147.
[9]ARSENAULT H H,APRIL G.Properties of speckle integrated with a finite aperture and logarithmically transformed[J].Journal of the Optical Society of America,1976,66(11):1160-1163.
[10]韋海萍.基于FPGA的增強(qiáng)Lee濾波算法設(shè)計與實現(xiàn)[J].航天控制,2011,29(3):33-36.
[11]JPEG2000 Video Codec ADV212[EB/OL].[2012-01-02].http://www.analog.com/zh/audiovideo-products/video-compression /ADV212/products/product.html,2008.4.
[12]PALNITKAR S.Verilog HDL:a guide to digital design and synthesis[M].2版.北京:電子工業(yè)出版社,2004.
[13]ADAMS M.D.Adams.JasPer project homepage[EB/OL].[2012-01-02].http://www.ece.uvic/ca/mdadams/jasper.