新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > 航空圖像壓縮系統(tǒng)的DSP設(shè)計及實現(xiàn)

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

作者:王玉晶 高學強 楊日杰 楊春英 時間:2008-08-05 來源:電子技術(shù)應用 收藏

   由于可以提供大量豐富的直觀信息,因而在軍事偵察、搶險救災、氣象探測等領(lǐng)域得到了廣泛應用。由于是遠距離成像,所以分辨率較低且數(shù)據(jù)量很大。如果要把拍攝的實時回傳,就必須對其進行壓縮編碼。由于算法復雜,因此決定了回傳系統(tǒng)必須采用高速數(shù)字信號處理芯片來實現(xiàn)。作為當前運算性能最高的信號處理芯片,成為實現(xiàn)系統(tǒng)方案的最佳選擇。

本文引用地址:http://m.butianyuan.cn/article/86629.htm

  目前進行的方法很多,主要集中在小波變換、分形壓縮、神經(jīng)網(wǎng)絡編碼等幾個領(lǐng)域。其中小波變換編碼憑借其優(yōu)良的時頻特性和多分辨率特性成為最熱門的研究方向之一,并在領(lǐng)域占據(jù)了主導地位。但傳統(tǒng)的小波變換計算復雜,且都是在頻域進行。1994年,W.Sweldens提出了一種新的小波構(gòu)造方案——。它可以進行原位運算,硬件實現(xiàn)時較為容易,且可以節(jié)省內(nèi)存空間,這一點對于提高系統(tǒng)性能、降低系統(tǒng)成本非常重要;和傳統(tǒng)的小波變換相比,它可以把計算復雜度減小一半,運算速度非???;此外,提升方案適合用SIMD(單指令多數(shù)據(jù)流)來實現(xiàn),這和的多總線讀寫結(jié)構(gòu)是一致的[1]。鑒于提升方案的諸多優(yōu)點,本系統(tǒng)在具體實現(xiàn)時其小波變換部分采用提升算法來實現(xiàn)。

  Shaprio于1992年提出了零樹編碼方案,它采用全新的零樹結(jié)構(gòu)來表征小波系數(shù),使小波變換應用于圖像壓縮的優(yōu)越性得到了充分的體現(xiàn)[2]。由于零樹法高效的性能,人們在其基礎(chǔ)上又提出了各種改進方法。1996年,Said和Pearlman提出了基于等級樹集合分割的算法——SPIHT算法[3]。該算法也是基于零樹思想,但采用集合劃分來進行編碼,在系數(shù)組織方面更有效,壓縮效率也更高。SPIHT算法已經(jīng)成為公認的編碼效率最高的算法之一,即使不采用算術(shù)編碼進行熵編碼,編碼效率仍然很高,優(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 邊界處理問題

  在圖像壓縮的工程應用時,邊界處理問題是關(guān)鍵技術(shù)之一。如果處理不好,信號將不能完全重構(gòu),會直接影響重構(gòu)圖像的質(zhì)量。對此,提升方案原文中介紹的做法是采用插值細分算法,在邊界點重新計算濾波器的系數(shù)值,這樣就無需對信號進行邊界處理[5]。但通過對插值細分算法實現(xiàn)過程的深入研究發(fā)現(xiàn),這樣會帶來浮點計算等額外的計算量,并且破壞了提升方案原本多讀單寫的結(jié)構(gòu)特點,使邊界處理問題變得非常復雜。此外,對于二維圖像處理而言,無需考慮不規(guī)則面的情況,在邊界點的處理上可以采用相對簡單的邊界延拓法。經(jīng)過比較發(fā)現(xiàn),采用邊界延拓法處理問題更為簡單,不僅計算量大大減少,而且保留了多讀單寫的結(jié)構(gòu),效果也不錯。因此,本系統(tǒng)在具體實現(xiàn)時用邊界延拓法代替提升方案原文中的插值細分算法,實際使用的是全對稱延拓方式。

  1.3 SPIHT算法的具體實現(xiàn)

  對SPIHT算法進行編程實現(xiàn)時,為了提高執(zhí)行效率,對具體實現(xiàn)過程做了部分改進。

  假設(shè)LIS為非顯著點集鏈表,每個鏈表的元素為坐標值(i,j)和類型標志;LIP為非顯著點鏈表,每個鏈表的元素為坐標值(i,j);LSP為顯著點鏈表,每個鏈表的元素為坐標值(i,j)。

  用C語言對該算法進行實現(xiàn)時,LIP和LSP結(jié)構(gòu)存儲了像素點在圖像中的坐標位置,根據(jù)它可從圖像中檢索出相應的像素值。對于C6x,這樣做需要用多條取數(shù)指令輾轉(zhuǎn)訪問內(nèi)存才能獲得像素值。但經(jīng)過分析知道,在編碼程序中,僅當對LIS鏈表中元素進行零樹判斷和子節(jié)點處理時才需要根據(jù)坐標進行像素點訪問,像素點被放入LIP或者LSP后,只需對像素值進行訪問、修改,沒有必要再通過坐標進行像素值的訪問,可直接在LIP和LSP結(jié)構(gòu)中存儲像素值,從而提高編碼速度。

  在解碼時,因為在LIP和LSP的掃描過程中需根據(jù)輸入位流的0、1值對像素值進行更新,所以必須存儲像素點的坐標,由于圖像可以改為用一維線性數(shù)組存儲,故只需在LIP和LSP中存儲像素點在圖像中的偏移。


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉