《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > JPEG2000小波提升在DSP上的緩存管理
JPEG2000小波提升在DSP上的緩存管理
辛慶勛 金偉正 顧益芳
摘要: 提出一種采用高效的內(nèi)存管理實現(xiàn)的基于塊的小波提升方案,。該方法通過減少緩存失敗增強(qiáng)緩存性能。實驗結(jié)果表明該方法比現(xiàn)有的快速方法要快兩倍多,。
Abstract:
Key words :

  摘 要: 提出一種采用高效的內(nèi)存管理" title="內(nèi)存管理">內(nèi)存管理實現(xiàn)的基于塊的小波提升" title="小波提升">小波提升方案,。該方法通過減少緩存失敗" title="緩存失敗">緩存失敗增強(qiáng)緩存性能,。實驗結(jié)果表明該方法比現(xiàn)有的快速方法要快兩倍多,。
  關(guān)鍵詞: 內(nèi)存管理 小波提升 緩存失敗


  JPEG2000" title="JPEG2000">JPEG2000壓縮標(biāo)準(zhǔn)與JPEG相比有更高的壓縮效率,盡管如此,,它在執(zhí)行時間上還存在一些問題,。為縮短執(zhí)行時間,必須對小波變換編碼進(jìn)行優(yōu)化,。小波提升方案與傳統(tǒng)的卷積濾波相比需要更小的內(nèi)存和計算量,。可是,,提升方案在執(zhí)行垂直小波濾波時仍存在嚴(yán)重的緩存失敗問題,。
  Meerwald 曾經(jīng)提出過行擴(kuò)展和聚合的方法,Chatterjee 和 Brooks也提出了條采集和遞歸數(shù)據(jù)設(shè)計來改善提升方案的緩存處理,。盡管這些方法可以降低緩存失敗率,,卻不能完全消除緩存失敗問題。緩存失敗問題在一個內(nèi)存有限的嵌入式系統(tǒng)中變得較為突出,,尤其是在DSP" title="DSP">DSP中更為嚴(yán)重,。為解決這一問題,筆者提出了一種新的方法與DSP相匹配,。
1 主要方法
  圖1是該方法的內(nèi)存結(jié)構(gòu)圖,。它由一個有兩個64字節(jié)塊聯(lián)合的16KB數(shù)據(jù)緩沖存儲器L1,、直接映射到SRAM上的數(shù)據(jù)存儲器L2、直接映射到DRAM上的外部存儲器和一個DMA控制器組成,。


  通常,,為執(zhí)行提升方案,圖像的行先在水平方向濾波,,然后經(jīng)水平濾波的圖像再進(jìn)行垂直濾波,。提出的新方法采用一個改進(jìn)的按塊執(zhí)行的提升方案,塊大小與L1緩存中的塊大小相同,。圖1描述了該方法,。在小波提升變換開始前,在輸入圖像內(nèi)存中塊1的數(shù)據(jù)已通過DMA傳輸?shù)絃2,,然后L2中塊1的第一行被取到L1緩存中在水平方向提升,。以相同方式對塊1下面的行進(jìn)行處理。注意在塊1的最后一行濾波后,,L1緩存中包含輸入圖像內(nèi)存中塊1的數(shù)據(jù),;其次,塊1的垂直方向的濾波在L1緩存中完成,。這樣,,垂直提升就不需要取數(shù)據(jù),因為L1緩存包含塊1的數(shù)據(jù),。因此,,塊1在水平和垂直方向的濾波只在CPU需要下一水平行時才可能有緩存失敗。這就是筆者提出的方法有顯著性能的原因所在,。
  塊1完全濾波后,,塊2被取到L1緩存的1路中;然后,,塊2的濾波完成后,,塊3被從L2取到L1的0路中。同時,,0路中濾波過的塊1 一行一行移到L2,。圖2描述了濾波過的塊1的移動,每個子帶分別稱為LL,、 LH,、HL和HH,已經(jīng)由小波提升算法形成。每個子帶中的數(shù)據(jù)從L2通過DMA傳送到輸出圖像內(nèi)存中的恰當(dāng)位置,。


  L2與外部存儲器之間的數(shù)據(jù)傳遞是獨立于L1與L2間的數(shù)據(jù)傳遞進(jìn)行的,。這意味著通過DMA的塊復(fù)制不影響CPU的運轉(zhuǎn)。因此,,通過小波提升序列的重新排序和控制DMA,,在沒有額外CPU負(fù)載的情況下增大了緩存成功率,。
  該方法完全去除了緩存失敗的問題, 但還存在一個問題,,因為小波濾波在邊界需要一些鄰近塊的系數(shù)才能獲得正確的濾波結(jié)果,。而這一方法中,垂直提升處理與這一問題不相關(guān),,因為垂直的兩個鄰近塊總是同時裝載于L1緩存中,。但對于水平提升處理,筆者用下面的方法來解決:區(qū)1和區(qū)3都取到濾波器區(qū)域1,,如圖3所示,。對于濾波器區(qū)2,區(qū)2和區(qū)3都是必需的,。然而,,當(dāng)達(dá)到改進(jìn)性能時,重疊處理的開銷是可忽略的,。


2 仿真結(jié)果
  為檢驗所提出方法的效率,,在TMS320C6416 DSP上用Jasper1.700.2版進(jìn)行了仿真。所有數(shù)據(jù)都對灰度圖像的第一級分解并且所有圖像的寬度2倍放大,。
  表1顯示了用本文方法產(chǎn)生的緩存失敗數(shù)目,。其中,在水平濾波上產(chǎn)生的緩存失敗是由塊重疊引起的,。然而,,在垂直濾波中,算法完全去除了緩存失敗,,因此,,算法減少了98%的緩存失敗率,。


  表2顯示了用現(xiàn)有兩種方法與提出方法的DWT處理時間比較,,對于所有的圖像大小,在水平濾波上都沒有改進(jìn),,但是所有三種方法在垂直濾波中是有效的,。在垂直濾波中,行擴(kuò)展,、聚合及兩種方法的聯(lián)合處理時間減少分別為78%,、88%和90%;條采集,、遞歸數(shù)據(jù)設(shè)計與兩種方法結(jié)合的處理時間減少分別為73%,、66%和82%。筆者提出的方法在垂直濾波中減少處理時間為98%,。注意,,水平濾波的速度與垂直濾波基本相同,。這意味著筆者提出的算法在垂直濾波中消除了最多的緩存失敗。


  筆者已經(jīng)驗證了JPEG 2000的小波提升算法的性能及其在存儲系統(tǒng)中的執(zhí)行,。實驗結(jié)果表明提出的方法與現(xiàn)有的快速方法相比要快2~3.5倍,。
參考文獻(xiàn)
1 Rabbani, M., Joshi, R. An overview of the JPEG 2000 still image compression standard,Signal Process. Image Com-mun, 2002;17(1):3~48
2 Taubman,D.S.,,Marcellin,M.W. JPEG2000: Image com-pression fundamentals, Standards and practice. Kluwer Aca-demic Publishers,2002
3 Daubechies, I.,, Sweldens, W. Factoring wavelet trans-forms into lifting schemes, J.Fourier Anal.Appl,1998;4:247~269
4 Meerwald,P. Norcen,R.,Uhl,A.Cache issues woth JPEG2000 wavelet lifting, Proc. SPIE, Electron. Imaging, Vis.Commun. Image Process, 2002,;4671:626~634
5 Chatterjee,S.,, Brooks,C.D.Cache-efficient wavelet lifting in JPEG2000. IEEE Int.Conf. on Multimedia and Expo,2002;(1)797~800
6 張旭東,,盧國棟,,馮健.圖像編碼基礎(chǔ)和小波壓縮技術(shù)-原理、算法和標(biāo)準(zhǔn).北京:清華大學(xué)出版社,,2004

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。