《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業(yè)界動態(tài) > 航空圖像壓縮系統(tǒng)的DSP設計及實現(xiàn)

航空圖像壓縮系統(tǒng)的DSP設計及實現(xiàn)

2008-08-05
作者:王玉晶1, 高學強2, 楊

  摘 要: 根據(jù)航空圖像壓縮" title="圖像壓縮">圖像壓縮系統(tǒng)的特點和要求,選擇提升小波" title="小波">小波+SPIHT算法作為系統(tǒng)的實現(xiàn)方案。為了提高算法的執(zhí)行效率,,對提升小波" title="提升小波">提升小波中的邊界處理問題進行了合理簡化,同時對SPIHT算法的實現(xiàn)進行了改進,。根據(jù)系統(tǒng)的實時性要求,選擇TI公司的TMS320C6416 DSP芯片作為系統(tǒng)的實現(xiàn)內核,,并采用優(yōu)化設計對關鍵代碼進行優(yōu)化,,最后給出了系統(tǒng)的硬件實現(xiàn)框圖。
  關鍵詞:圖像壓縮 DSP 提升小波 SPIHT算法


  航空圖像由于可以提供大量豐富的直觀信息,,因而在軍事偵察,、搶險救災、氣象探測等領域得到了廣泛應用。航空圖像由于是遠距離成像,,所以分辨率較低且數(shù)據(jù)量很大,。如果要把拍攝的航空圖像實時回傳,就必須對其進行壓縮編碼,。由于圖像壓縮算法復雜,,因此決定了回傳系統(tǒng)必須采用高速數(shù)字信號處理芯片來實現(xiàn)。DSP作為當前運算性能最高的信號處理芯片,,成為實現(xiàn)系統(tǒng)方案的最佳選擇,。
  目前進行圖像壓縮的方法很多,主要集中在小波變換" title="小波變換">小波變換,、分形壓縮,、神經(jīng)網(wǎng)絡編碼等幾個領域。其中小波變換編碼憑借其優(yōu)良的時頻特性和多分辨率特性成為最熱門的研究方向之一,,并在圖像壓縮領域占據(jù)了主導地位。但傳統(tǒng)的小波變換計算復雜,,且都是在頻域進行,。1994年,W.Sweldens提出了一種新的小波構造方案——提升小波,。它可以進行原位運算,,硬件實現(xiàn)時較為容易,且可以節(jié)省內存空間,,這一點對于提高系統(tǒng)性能,、降低系統(tǒng)成本非常重要;和傳統(tǒng)的小波變換相比,,它可以把計算復雜度減小一半,,運算速度非常快,;此外,,提升方案適合用SIMD(單指令多數(shù)據(jù)流)來實現(xiàn),這和DSP的多總線讀寫結構是一致的[1],。鑒于提升方案的諸多優(yōu)點,,本系統(tǒng)在具體實現(xiàn)時其小波變換部分采用提升算法來實現(xiàn)。
  Shaprio于1992年提出了零樹編碼方案,,它采用全新的零樹結構來表征小波系數(shù),,使小波變換應用于圖像壓縮的優(yōu)越性得到了充分的體現(xiàn)[2]。由于零樹法高效的性能,,人們在其基礎上又提出了各種改進方法,。1996年,Said和Pearlman提出了基于等級樹集合分割的算法——SPIHT算法[3]。該算法也是基于零樹思想,,但采用集合劃分來進行編碼,,在系數(shù)組織方面更有效,壓縮效率也更高,。SPIHT算法已經(jīng)成為公認的編碼效率最高的算法之一,,即使不采用算術編碼進行熵編碼,編碼效率仍然很高,,優(yōu)于前面的零樹編碼,。因此,本系統(tǒng)在具體實現(xiàn)時采用SPIHT算法對小波系數(shù)進行編碼,。
1 軟件實現(xiàn)
1.1提升小波的實現(xiàn)
  由于圖像的非平穩(wěn)統(tǒng)計特性,,任何一組小波基都不可能同時最優(yōu)地刻畫所有的圖像特征,因此存在小波基的選取問題,。從熵,、峰-峰比PPR、廣義編碼增益,、抗誤差性能分析等幾個方面綜合比較,,本系統(tǒng)采用Antini9/7作為提升方案的小波基[4]。該小波提升方案的實現(xiàn)過程如下:
  Antini9/7的分析濾波器為:
  

????
  首先對圖像進行行變換,,然后進行列變換,,最后對圖像系數(shù)按圖1所示的規(guī)則進行重新排列。


1.2 邊界處理問題
  在圖像壓縮的工程應用時,,邊界處理問題是關鍵技術之一,。如果處理不好,信號將不能完全重構,,會直接影響重構圖像的質量,。對此,提升方案原文中介紹的做法是采用插值細分算法,,在邊界點重新計算濾波器的系數(shù)值,,這樣就無需對信號進行邊界處理[5]。但通過對插值細分算法實現(xiàn)過程的深入研究發(fā)現(xiàn),這樣會帶來浮點計算等額外的計算量,,并且破壞了提升方案原本多讀單寫的結構特點,,使邊界處理問題變得非常復雜。此外,,對于二維圖像處理而言,,無需考慮不規(guī)則面的情況,在邊界點的處理上可以采用相對簡單的邊界延拓法,。經(jīng)過比較發(fā)現(xiàn),,采用邊界延拓法處理問題更為簡單,,不僅計算量大大減少,而且保留了多讀單寫的結構,,效果也不錯,。因此,本系統(tǒng)在具體實現(xiàn)時用邊界延拓法代替提升方案原文中的插值細分算法,,實際使用的是全對稱延拓方式,。
1.3 SPIHT算法的具體實現(xiàn)
  對SPIHT算法進行編程實現(xiàn)時,為了提高執(zhí)行效率,對具體實現(xiàn)過程做了部分改進,。
  假設LIS為非顯著點集鏈表" title="鏈表">鏈表,,每個鏈表的元素為坐標值(i,j)和類型標志;LIP為非顯著點鏈表,,每個鏈表的元素為坐標值(i,j),;LSP為顯著點鏈表,每個鏈表的元素為坐標值(i,j),。
  用C語言對該算法進行實現(xiàn)時,,LIP和LSP結構存儲了像素點在圖像中的坐標位置,根據(jù)它可從圖像中檢索出相應的像素值,。對于C6xDSP,,這樣做需要用多條取數(shù)指令輾轉訪問內存才能獲得像素值。但經(jīng)過分析知道,,在編碼程序中,僅當對LIS鏈表中元素進行零樹判斷和子節(jié)點處理時才需要根據(jù)坐標進行像素點訪問,,像素點被放入LIP或者LSP后,,只需對像素值進行訪問、修改,,沒有必要再通過坐標進行像素值的訪問,,可直接在LIP和LSP結構中存儲像素值,從而提高編碼速度,。
  在解碼時,,因為在LIP和LSP的掃描過程中需根據(jù)輸入位流的0、1值對像素值進行更新,,所以必須存儲像素點的坐標,,由于圖像可以改為用一維線性數(shù)組存儲,故只需在LIP和LSP中存儲像素點在圖像中的偏移,。
1.4 試驗結果
  采用標準圖像Zelda對本系統(tǒng)算法和Shaprio的零樹法(EZW)進行測試比較,。小波變換分解級數(shù)采用六級,試驗結果見表1,。


  從表1可以看出,,本系統(tǒng)算法重構圖像的信噪比比零樹法平均高0.3dB,,其性能的優(yōu)越性是顯而易見的。
2 軟件優(yōu)化
  本系統(tǒng)算法采用C語言編程實現(xiàn)后,,首先在ATEME公司的NVDK6416開發(fā)板上進行算法調試和代碼優(yōu)化,,主要采用如下優(yōu)化手段。
2.1基于C語言環(huán)境的優(yōu)化
  為了提高程序的執(zhí)行效率,,在編程實現(xiàn)算法時,,應采用一些具體的優(yōu)化手段。在SPIHT編解碼中門限值的初始化和逐步降階中,,對于2次冪整數(shù)的乘除運算可采用比特的移位操作來代替,;盡量少使用局部變量,多使用全局變量和static變量,;對于多次重復訪問的變量,,如for循環(huán)中的變量,可設置為register變量,;函數(shù)調用時,,盡量避免傳遞結構參數(shù),一般用結構指針代替,,如果結構是不可修改的,,可用常量結構指針代替。
2.2 基于CCS的優(yōu)化
  CCS集成開發(fā)環(huán)境提供了很多現(xiàn)成的優(yōu)化方法,,可以直接為開發(fā)人員所用,,常用的有編譯器法、使用字訪問短型數(shù)據(jù),、合理采用Const關鍵字,、使用內聯(lián)函數(shù)、循環(huán)展開以及編寫線性匯編等,。
2.3 基于TMS320C6416硬件特征的優(yōu)化
  TMS320C6416的片內存儲器容量較小,,總共為1Mbit,采用了兩級緩存結構,。在編制程序和存儲數(shù)據(jù)時,,在內存滿足的情況下,應使用片內RAM和高速緩存,,將核心代碼存儲在片內的高速緩存或RAM內,;若片內內存容量不足,則把使用次數(shù)較少的數(shù)據(jù)放在片外RAM中進行存儲,。
  采用DMA/EDMA傳輸數(shù)據(jù)是系統(tǒng)高速采集數(shù)據(jù)的一個重要手段,,在圖像實時采集中應用非常廣泛。TMS320C6416的EDMA有多種地址生成方式,,通過設置各個控制寄存器,,可以方便地實現(xiàn)數(shù)據(jù)重排,、一對多和多對一的數(shù)據(jù)交換等操作,利用這些操作可以大大提高程序效率,。
  對算法的關鍵代碼部分綜合采用上面的各種優(yōu)化措施,,經(jīng)過反復實驗、測試,、優(yōu)化,,算法的執(zhí)行效率得到了明顯的提高。優(yōu)化前后的時間結果比較見表2,。


  從表中可以看出,,優(yōu)化后系統(tǒng)的執(zhí)行效率提高了近20倍,較好地滿足了系統(tǒng)的實時性要求,。
3 硬件實現(xiàn)
  本系統(tǒng)采用TI公司的定點芯片TMS320C6416作為核心處理器,。此芯片采用了VelociTI.2TM甚長指令字(VLIW)結構,最高工作頻率達到720MHz,,運算能力達5760 MIPS,,是目前性能最高的DSP芯片,特別適合圖像壓縮等具有較大運算量的場合,。由于數(shù)據(jù)的輸入速率和輸入量都非常大,,因此將高速FIFO用于圖像數(shù)據(jù)緩存非常適合。FIFO只需數(shù)據(jù)總線和控制信號就可以對其進行讀寫,,開發(fā)十分方便,;并且可以與TMS320C6416 DSP的同步FIFO進行無縫接口。
  圖2所示是系統(tǒng)壓縮板卡的設計原理框圖,。


  從CCD高分辨率相機送出的數(shù)據(jù),,經(jīng)過預處理后由時鐘信號控制存儲在同步FIFO中,當FIFO出現(xiàn)半滿標志時立即以中斷方式通知DSP到FIFO中讀取數(shù)據(jù),,同時在FIFO的另一端繼續(xù)存儲原圖像數(shù)據(jù),并一直以這種方式存取數(shù)據(jù),。DSP收到中斷后立即從FIFO中讀取數(shù)據(jù),,然后對圖像進行壓縮處理,處理完畢后送到雙口RAM(DPRAM)中,,進行調制處理后由發(fā)射機發(fā)射出去,。
  接收端首先利用接收機接收信號,然后進行信號解調,、小波反變換和SPIHT解碼,,這可以通過PC機或地面工作站來進行,這時只需相應的解壓縮軟件即可實現(xiàn),。
  經(jīng)過實際測試,,結果表明本系統(tǒng)在保持良好的重構圖像的情況下較好地滿足了系統(tǒng)的實時性要求,,并且其它設計指標也均滿足設計要求。本系統(tǒng)已經(jīng)在某航空圖像回傳系統(tǒng)中得到實際應用,。
參考文獻
1 劉 泉, 周祖德.基于小波變換的JPEG2000圖像壓縮研究[J].華中科技大學學報,2002;30(2):75~77
2 J. M. Shaprio. Embedded Image Coding Using Zerotree of Wavelet Cefficients[A]. IEEE Trans on Signal Proc, 1993;41(12):3445~3462
3 A. Said, W. Pearlman. A New, Fast, and Efficient Image Codec Based on Set Partitioning in Hierachical Trees[A]. IEEE Trans On Circuits and Systems for Video Technology, 1993; 6(9): 243~250
4 楊小明.小波變換及其在航空偵察圖像回傳系統(tǒng)中的應用研究:[碩士學位論文].煙臺:海軍航空工程學院,,1999
5 W.Swedens. The lifting Scheme: A Construction of Second Generation Wavelets. Tech. Rep, 1995;6(2): 511~546

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