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

          新聞中心

          EEPW首頁 > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 嵌入式視頻圖像系統(tǒng)壓縮算法的實(shí)現(xiàn)和優(yōu)化

          嵌入式視頻圖像系統(tǒng)壓縮算法的實(shí)現(xiàn)和優(yōu)化

          作者:張春光 吉林市人民廣播電臺 劉化彤 長春光學(xué)科技發(fā)展有限責(zé)任公司 時間:2009-03-17 來源: 收藏

            DOPTPU4是個計(jì)算 4對 8位數(shù)據(jù)乘積求和的運(yùn)算。兩個 DOPTPU4可在單周期內(nèi)并行 , 所以可極大地提高 SAD的計(jì)算速度。具體步驟如下:

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

            1)兩個 LDNDW指令從當(dāng)前幀和參考幀取 8個像素;

            2)兩個 SUBABS4計(jì)算 8個像素的差值;

            3)兩個 DOTPU4計(jì)算 8個像素乘積求和。

            像素插值也是個計(jì)算量大的模塊。AVG4指令可執(zhí)行 4個 8位數(shù)值平均值計(jì)算。AVG2可以執(zhí)行 2個 16位數(shù)據(jù)的平均計(jì)算。SHRMB(Shift Right andMerge Byte) 右移第 2個寄存器 , 把第 1個寄存器的低位作為高字節(jié)。AVG4計(jì)算平均值,SHRMB處理結(jié)果。

            此外筆者參考 提供的 IMGLIB支持庫 該庫中還包括了許多常用的圖像和視頻處理的函數(shù) ,以完成 DCT、 IDCT (Inverse Direct Cosine Transform)、中值濾波等功能 , 這些函數(shù)都是經(jīng)過匯編。完全能夠?qū)崿F(xiàn)軟件流水, 執(zhí)行效率很高。采用標(biāo)準(zhǔn)序列 Coastguard.yuv編碼 5幀數(shù)據(jù),主要函數(shù)前后性能比較,如表 1所示。

            表 1 各個函數(shù)性能比較

           

            Tab1Performance of functions by analysis

            利用 EDMA進(jìn)行數(shù)據(jù)搬移, 提高存儲速度

            TMS320C6455DSP支持 EDMA功能 , 是在沒有 CPU介入的情況下 , 訪問存儲器的一種工作方式。它可以直接通過 EDMA通道 , 提前把外設(shè)或片外存儲器中的數(shù)據(jù)直接搬移到片上內(nèi)存。對 CPU來說 , 所訪問的數(shù)據(jù)總是在片內(nèi)的 , 沒有阻塞的情況發(fā)生 , 減少了 CPU等待時間[8]。

            使用 的 CSL (Chip SupportLibrary )支持功能[9,10]。它有專門的 DMA模塊 , 便于對 DMA的各個存儲器控制。主要使用 DAT函數(shù) , 進(jìn)行 DMA存儲器間數(shù)據(jù)傳送。其中使用 DAT copy ( )和DAT fill ( )。



          評論


          相關(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); })();