999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

AVS解碼器在DSP平臺上的優化*

2010-12-21 06:27:36李向榮
電子器件 2010年1期

劉 微,李向榮

(1.海信集團有限公司,山東 青島 266071;2.青島科技大學機電學院, 山東 青島266061)

AVS(Audio Video Coding Standard)是由我國數字音視頻標準工作組制定的具有自主知識產權的第二代音視頻壓縮準[1]。 AVS實行1 元專利費用的原則,相比其它音視頻編解碼標準具有編碼效率高、專利費用低、授權模式簡單等優勢。 AVS解碼器的結構復雜、運算量較大,要在嵌入式平臺上實現實時解碼具有較大難度[2]。在對解碼器性能優化的過程中可以依據使用平臺對其進行匯編指令集的優化[3-4]或者針對解碼器的關鍵算法模塊進行改良[5-7],以上方法對解碼器性能的提高均有一定作用,本文提出一種利用嵌入式平臺的L1P Cache高速緩沖功能實現處理器對程序代碼的高效率訪問的方法,從而達到提高AVS解碼器性能的目的。

1 高速緩存Cache的應用

目前越來越多的編解碼算法采用DSP的方式實現,隨著DSP芯片主頻的不斷攀升,存儲器的訪問速度日益成為系統性能提升的瓶頸。在現有的制造工藝下,片上存儲單元的增加將導致數據線負載電容的增加,影響到數據線上信號的開關時間,這意味著片上高速存儲單元的增加將是十分有限的。為了解決存儲器速度與CPU內核速度不匹配的問題,高性能的CPU普遍采用高速緩存(Cache)機制。

以TI的C64x DSP為例,存儲器系統由片內存儲器和片外存儲器兩部分組成。其中,片內存儲器采用兩級緩存結構,第1級L1距離DSP核最近,數據訪問速度最快,可以達到每秒600 Mbyte,只能作為不能尋址的Cache使用,由相互獨立的L1P和L1D組成。L1PCache是處理器訪問程序代碼的高速緩沖存儲器,大小為16 kbyte,采用直接映射方式,每行大小32 byte;L1D Cache是處理器訪問數據的高速緩沖存儲器,大小為16 kbyte,采用2路映射,每行大小為64 byte。第2級L2是一個統一的程序/數據空間,可以整體作為SRAM映射到存儲空間,也可以作為Cache和SRAM按比例的一種組合。L2與L1之間的數據交互速率為每秒300 Mbyte, L2與SDRAM之間的數據交換速率為每秒100 Mbyte。片外存儲器是第3級,一般由SDRAM構成。 L1、L2和片外SDRAM構成了整個存儲器系統的層次結構。 C64X的兩級緩存結構若能運用恰當,將能極大地提高程序性能。

根據圖1的三層次的存儲器系統, C64X讀取程序代碼時,先查看1級緩存L1,若L1已緩存了所需代碼,則直接從L1讀?。蝗鬖1沒有該代碼的緩存,則訪問2級緩存L2;若L2也沒有,則通過EMIF接口訪問外部SDRAM,把所需代碼從外部SDRAM拷貝到L2 緩存區,再從L2緩存區拷貝到L1,最后由DSP內核取得。

圖1 三層次的存儲器系統(圖中B代表byte)

研究表明,采用這種多級緩存的架構可以達到采用完全片上存儲器結構的系統約80%的執行效率。本文致力于更深入地研究Cache的機制,對算法的數據結構、處理流程以及程序結構等進行優化,以提高Cache的命中率,更有效地發揮Cache的作用,從而達到提高解碼器運行效率的目的。

2 基于Cache的視頻解碼算法實現

為了克服上述不足,本文通過更改視頻解碼算法的實現架構,充分利用Cache中L1P,減少CPU讀取程序代碼的缺失次數,提高解碼程序的執行效率。

在具體實施過程中,本文根據L1P的容量和程序中各個功能單元代碼的大小,將圖2中的功能單元分為四個模塊,每個模塊代碼大小均小于16 kbyte,各模塊所包含的功能單元為:模塊A,讀入一個宏塊;模塊B,熵解碼、反掃描、反量化、反變換;模塊C,重建;模塊D,環路濾波。

一個視頻宏塊只有遍歷這四個模塊之后才算最終完成解碼,各個模塊之間傳遞的中間數據如果放置在片外SDRAM中,勢必影響下一個模塊獲取數據的速度,如果數據放置在片內SRAM中,由于片內RAM空間有限不能存儲整幀數據。所以權衡考慮,每個模塊完成一個宏塊行(假設一幅圖像包含有M個宏塊行,每行有N個宏塊)的解碼后再交給下一個模塊處理,這樣既可以將中間數據放置在片內又可以充分利用L1P,減少各個模塊之間的代碼沖刷,直到M個宏塊行全部處理完畢,這樣就得到一幀數據的解碼圖像。

圖2 解碼算法流程

如圖3所示,本文以一個宏塊行為處理單位,在進行解碼時,首先執行模塊A將整個宏塊行讀入高速緩存中,執行完畢模塊A后,讀入模塊B的代碼,該部分代碼將會沖掉模塊A的代碼。執行完畢模塊B后,讀入模塊C的代碼,該部分代碼將會沖掉模塊B的代碼。依此類推,當執行完畢模塊D后,再重復執行以對下一個宏塊行進行解碼。

圖3 處理一個宏塊行的新流程

每個模塊在執行一個宏塊行的解碼過程中,會被反復執行N次,在此期間程序代碼保留在L1P中不被沖刷,直到第二個模塊執行的時候第一個模塊的代碼才被沖刷。所以此方法解碼一個宏塊行才發生四次沖刷,完成一幀圖像的解碼共發生4×M次代碼沖刷,較改進之前減少沖刷次數4×M×(N-1)。

表1中的測試序列分辨率為720×576,調整結構后解碼速率均有不同程度的提高,通過對統計結果的平均得知,效率提高20%左右。

表1 實驗結果

3 結論

本文解碼器優化充分利用了處理器的程序Cache功能,模塊分配方式依據Cache大小而定,針對不同處理器的不同Cache, 可以有不同的模塊劃分方式,只需要保證每個模塊代碼量小于程序Cache容量即可。處理器對于數據的讀取同樣可以采用類似方法,以達到充分利用數據Cache的目的。此方法不僅可以應用于AVS解碼器,也可應用于AVS編碼器,還可以應用于與之擁有類似結構的 H.264、MPEG、VC1等編解碼算法。

[ 1] 中國科學院計算技術研究所, 清華大學, 浙江大學.GB/T 20090.2-2006信息技術 先進音視頻編碼 第2部分;視頻[ S] .國家質檢總局(SBTS), 2006.

[ 2] 梁凡.AVS視頻標準的技術特點[J] .電視技術, 2005, (07).

[ 3]Texas Instruments.TMS320C6000 Optimizing Compiler User' s Guide[ S] .2004 04.

[ 4]Texas Instruments.Optimizing C Compiler User' s Guide[ S] .2001 04,

[ 5] 張欣佑.AVS幀內預測技術研究及其在DSP上的實現[ D] .北京交通大學, 2007.

[ 6] 伍仲祥.MPEG-4 視頻編解碼在DM642上的移植與優化[ D] .哈爾濱理工大學, 2006.

[ 7] 裴雷.基于DSP的AVS實時解碼器的研究與實現[ D] .中國海洋大學, 2007.

主站蜘蛛池模板: 高h视频在线| 国产在线日本| 国产欧美日韩一区二区视频在线| 亚洲精品国产精品乱码不卞| 国产成人av一区二区三区| 国产男女免费完整版视频| 国产成人高清精品免费| 韩日免费小视频| 香蕉久久国产超碰青草| 国产成人午夜福利免费无码r| 国产成人综合久久| av免费在线观看美女叉开腿| 老司国产精品视频91| 亚洲一区波多野结衣二区三区| 亚洲无码视频喷水| 日韩国产黄色网站| 亚洲国产成人精品青青草原| 婷婷六月激情综合一区| 国产亚洲欧美日韩在线一区二区三区| 91蝌蚪视频在线观看| 国产精品太粉嫩高中在线观看| 国产亚洲精品自在久久不卡| 日韩一区二区三免费高清| 97国产精品视频自在拍| 中文天堂在线视频| 久久久久夜色精品波多野结衣| 欧美国产日韩在线播放| 91啪在线| 激情视频综合网| 在线观看欧美国产| 欧美有码在线| 国产小视频在线高清播放| 在线精品视频成人网| 亚洲va在线观看| 国产在线精品香蕉麻豆| 视频国产精品丝袜第一页| 亚洲欧洲国产成人综合不卡| 亚洲高清无码久久久| 漂亮人妻被中出中文字幕久久| 欧美性精品| 精品少妇三级亚洲| 日韩毛片在线播放| 久久毛片免费基地| 欧美怡红院视频一区二区三区| 亚洲毛片一级带毛片基地| 制服丝袜亚洲| 韩日免费小视频| 精品国产香蕉在线播出| 亚洲国产综合自在线另类| 中文字幕亚洲精品2页| 婷婷亚洲天堂| 久久一日本道色综合久久| 国产97区一区二区三区无码| 婷婷在线网站| 成年人福利视频| 97国产精品视频自在拍| 国产一区三区二区中文在线| 在线综合亚洲欧美网站| 国产精品手机在线播放| 国产成人乱无码视频| 精品91在线| 99精品视频九九精品| 亚洲色图欧美视频| 国产无码在线调教| 青草午夜精品视频在线观看| 欧美笫一页| 欧美精品高清| 亚洲爱婷婷色69堂| 国产午夜福利亚洲第一| 精品剧情v国产在线观看| 国产乱论视频| 无码专区国产精品一区| 国产精品欧美在线观看| 美女国内精品自产拍在线播放| 全部免费毛片免费播放| 国产精品自在拍首页视频8 | 国产91丝袜在线播放动漫 | 久久久久青草大香线综合精品| 国产在线观看精品| 九色视频一区| 成人午夜精品一级毛片| 亚洲视频免费在线看|