<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > JPEG2000核心算法的研究及DSP實(shí)現(xiàn)

          JPEG2000核心算法的研究及DSP實(shí)現(xiàn)

          作者: 時(shí)間:2009-06-18 來源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://www.ex-cimer.com/article/152456.htm

          圖3 位平面編碼三個(gè)通道系數(shù)編碼數(shù)量變化示意圖
          通過對(duì)壓縮性能發(fā)現(xiàn),在壓縮比較小時(shí)本文改進(jìn)比標(biāo)準(zhǔn)的壓縮性能約低0.4db左右,在壓縮比較大時(shí)兩者的壓縮性能相一致,保留了優(yōu)異的壓縮性能;從編解碼時(shí)間來看,在有損壓縮編碼執(zhí)行時(shí)間上,本文所給出的改進(jìn)比標(biāo)準(zhǔn)算法時(shí)間縮短8%到12%,解碼時(shí)間縮短2%到5%,提高了編碼效率,達(dá)到了改進(jìn)的目的。
          3 標(biāo)準(zhǔn)中改進(jìn)算法的
          3.1 硬件開發(fā)平臺(tái)
          本文使用評(píng)估板是北京聞亭公司的TDS642,板上的芯片是TMX ,BGA548封裝,內(nèi)部工作時(shí)鐘為600M,外部總線時(shí)鐘為100M,計(jì)算能力高達(dá)4.8億指令每秒。
          該平臺(tái)提供了豐富的外圍接口。板上有兩個(gè)復(fù)合視頻(PAL/NTSC/SECAMS)輸入和1個(gè)復(fù)合視頻輸出端口;立體聲輸入/出或單一麥克風(fēng)輸入端口;提供兩個(gè)UART、以太網(wǎng)接口、子板接口、PC104接口和JTAG接口[6][7]。板上還提供了4M Bytes的Flash存儲(chǔ)器,位于的CE1地址空間,寬度為8bits,F(xiàn)PGA擴(kuò)展了3根地址線,把Flash分成8頁,F(xiàn)lash 的第0頁的前半頁存放用戶的自啟動(dòng)程序,后半頁存放FPGA程序,第1頁尾用戶存放數(shù)據(jù)空間,第2頁至第8頁用于存放用戶程序。
          3.2 算法的DSP
          (1)算法總體框架。本文算法基于EVM時(shí)主要分為兩個(gè)大的模塊(如圖4),第一部分為變換模塊,它將輸入圖像數(shù)據(jù)變換為一系列的小波系數(shù);第二部分為算法模塊,將量化后的的小波系數(shù)編碼生成壓縮碼流。硬件開發(fā)平臺(tái)結(jié)構(gòu)框圖如圖5所示。

          圖4 算法框架圖

          圖5 算法硬件開發(fā)平臺(tái)結(jié)構(gòu)框圖
          (2)內(nèi)存分配。對(duì)于圖像數(shù)據(jù)的處理,往往涉及到大量的復(fù)雜的數(shù)據(jù)尋址計(jì)算,對(duì)于復(fù)雜的尋址計(jì)算,其耗費(fèi)CPU的計(jì)算量可能比實(shí)際數(shù)據(jù)操作的計(jì)算量還大。所以要加快CPU對(duì)數(shù)據(jù)的訪問速度,不但要求存儲(chǔ)器本身的速度快,而且還需要一個(gè)合理的數(shù)據(jù)結(jié)構(gòu)來簡化CPU對(duì)地址的計(jì)算。另外,DM642對(duì)數(shù)據(jù)的訪問技術(shù),如Cache、EDMA和寬bit數(shù)據(jù)直接讀寫等,都是基于存儲(chǔ)地址的連續(xù)性?;谝陨峡紤],本文在內(nèi)存分配及定位時(shí),依據(jù)以下大的原則:第一,在滿足精度要求的情況下,使用較短的數(shù)據(jù)類型;第二、大的數(shù)據(jù)塊,如原始圖像、重構(gòu)圖像存儲(chǔ)在片外SDRAM;第三、關(guān)鍵數(shù)據(jù)、小的數(shù)據(jù)塊,比如運(yùn)算時(shí)的系數(shù)、系統(tǒng)堆棧、三個(gè)通道掃描都需要頻繁的訪問數(shù)據(jù)區(qū)和上下文標(biāo)志區(qū)等,存放到片內(nèi)存儲(chǔ)器;第四、對(duì)L2級(jí)配置足夠的Cache以便CPU對(duì)數(shù)據(jù)的快速讀寫;第五、對(duì)于具有運(yùn)算相關(guān)性的數(shù)據(jù),應(yīng)在內(nèi)存中按序連續(xù)排放。當(dāng)涉及到片內(nèi)外數(shù)據(jù)塊的搬移操作時(shí),可由DM642的EDMA單元去完成,它可與CPU并行工作,不占用CPU的計(jì)算周期[8]。
          (3)圖像數(shù)據(jù)的讀寫。由于本文工作主要完成針對(duì)圖像的壓縮功能,不涉及圖像采集,所以在圖像數(shù)據(jù)的輸入輸出上做了適當(dāng)?shù)奶幚???紤]到CCS的Simulator完全支持C/C++語言,因此原始圖像數(shù)據(jù)的輸入采用C語言中的頭文件形式,小波變換模塊,算法模塊采用存放在PC機(jī)的數(shù)據(jù)文件形式。本文主要采用頭文件和二進(jìn)制數(shù)據(jù)文件的形式,將圖像的非文件頭部分的所有數(shù)據(jù)通過“fprintf(fp,“%3d,”,image_in [i][j])”語句寫到.h文件中。
          (4)的實(shí)現(xiàn)。由于DM642為定點(diǎn)處理器,不適合于浮點(diǎn)運(yùn)算,所以本文選擇LeGall(5,3)整數(shù)濾波器完成中的小波變換。在進(jìn)行小波變換時(shí),首先定義兩個(gè)與圖像塊大小相等的存儲(chǔ)緩沖器,一個(gè)是圖像片數(shù)據(jù)的輸入緩存Buf,一個(gè)是用來臨時(shí)存放圖像片數(shù)據(jù)經(jīng)小波變換后的結(jié)果緩存TempBuf。每經(jīng)過一級(jí)小波變換,圖像片數(shù)據(jù)都要先后兩次經(jīng)過integer(5,3)的低通和高通濾波。TempBuf中保存的高通濾波數(shù)據(jù)經(jīng)integer(5,3)濾波器處理后,得到HL子帶和HH子帶的小波變換系數(shù)。最后將變換結(jié)果存放到輸入緩存Buf中。若要進(jìn)行下一級(jí)分解,只需對(duì)Buf中LL子帶進(jìn)行同樣處理。



          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();