《電子技術應用》
您所在的位置:首頁 > 微波|射頻 > 設計應用 > AVS解碼器在DSP平臺上的優化
AVS解碼器在DSP平臺上的優化
摘要: 本文提出一種利用嵌入式平臺的L1P Cache高速緩沖功能實現處理器對程序代碼的高效率訪問的方法,從而達到提高AVS解碼器性能的目的。
Abstract:
Key words :

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

  1 高速緩存Cache的應用

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

  以TI的C64x DSP為例,存儲器系統由片內存儲器和片外存儲器兩部分組成。其中,片內存儲器采用兩級緩存結構,第1級L1距離DSP核最近,數據訪問速度最快,可以達到每秒600Mbyte,只能作為不能尋址的Cache使用,由相互獨立的L1P和L1D 組成。

  L1P Cache是處理器訪問程序代碼的高速緩沖存儲器,大小為16 kbyte,采用直接映射方式,每行大小32byte;L1D Cache是處理器訪問數據的高速緩沖存儲器,大小為16 kbyte,采用2路映射,每行大小為64byte。第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讀取;若L1沒有該代碼的緩存,則訪問2級緩存L2;若L2也沒有,則通過EMIF接口訪問外部SDRAM,把所需代碼從外部SDRAM拷貝到L2緩存區,再從L2緩存區拷貝到L1,最后由DSP內核取得。

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

圖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將整個宏塊行讀入高圖3 處理一個宏塊行的新流程速緩存中,執行完畢模塊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等編解碼算法。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久福利影视| 欧美激情精品久久久| 亚洲精品1区2区| 亚洲男人的天堂在线| 亚洲伦理久久| 亚洲狠狠丁香婷婷综合久久久| 国产区二精品视| 国产精品va在线播放| 欧美日韩国产成人在线91| 欧美a级片一区| 久久亚洲国产精品一区二区| 欧美在线视频一区二区三区| 亚洲欧美在线观看| 亚洲电影免费在线| 久久精品国产99| 久久国产精品网站| 性色av一区二区三区在线观看 | 亚洲国产mv| 久久精品一区二区三区中文字幕| 欧美在线3区| 欧美在线观看你懂的| 欧美亚洲在线观看| 欧美一乱一性一交一视频| 校园春色国产精品| 欧美一区二区三区视频免费播放| 亚洲欧美一区二区视频| 午夜精品短视频| 香蕉亚洲视频| 久久精品成人一区二区三区| 久久国产精品一区二区三区四区| 久久国产精品亚洲77777| 亚洲高清色综合| 亚洲人成77777在线观看网| 亚洲成人在线免费| 在线观看精品视频| 亚洲国产天堂久久综合网| 亚洲人成精品久久久久| 黄色亚洲大片免费在线观看| 在线电影院国产精品| 亚洲精品乱码久久久久| 99国产精品久久久久久久久久| 亚洲一区二区久久| 欧美一区二区| 亚洲人体一区| 这里只有精品视频| 欧美一区二区视频免费观看| 久久久久久午夜| 欧美高清在线视频| 欧美吻胸吃奶大尺度电影| 国产欧美精品一区aⅴ影院| 激情懂色av一区av二区av| 亚洲福利专区| 亚洲香蕉成视频在线观看 | 羞羞漫画18久久大片| 亚洲电影在线看| 日韩视频专区| 午夜视黄欧洲亚洲| 葵司免费一区二区三区四区五区| 欧美日韩国产美女| 国产日韩精品久久久| 在线观看日韩www视频免费| 一卡二卡3卡四卡高清精品视频| 欧美一级视频免费在线观看| 亚洲欧洲在线视频| 午夜视频一区二区| 免费日韩av电影| 国产精品每日更新| 亚洲第一区中文99精品| 亚洲图片欧美午夜| 亚洲精品黄色| 久久国产精品亚洲77777| 欧美片网站免费| 国产色综合网| av不卡免费看| 亚洲黄色成人网| 欧美在现视频| 欧美日韩精品免费观看视频| 国产一区二区三区在线观看视频| 亚洲精品综合精品自拍| 欧美专区在线播放| 亚洲永久免费视频| 麻豆精品一区二区av白丝在线| 国产精品高清在线| 亚洲激情在线观看视频免费| 久久av红桃一区二区小说| 亚洲一区二区三区乱码aⅴ蜜桃女 亚洲一区二区三区乱码aⅴ | 欧美多人爱爱视频网站| 国产日韩欧美日韩大片| 日韩视频在线观看国产| 久久精品久久综合| 久久不射中文字幕| 欧美午夜精品久久久久久孕妇| 在线观看日韩av| 羞羞漫画18久久大片| 亚洲在线一区二区三区| 欧美黄色免费网站| 欧美日韩在线观看一区二区| 一区二区三区在线免费观看| 亚洲影院免费| 一区二区三区 在线观看视频| 美日韩免费视频| 国产一区二区三区无遮挡| 亚洲影院在线观看| 亚洲一级片在线观看| 欧美精品啪啪| 亚洲电影在线观看| 久久精品91久久香蕉加勒比| 久久狠狠久久综合桃花| 国产精品日韩在线播放| 亚洲色图在线视频| 99这里只有精品| 欧美国产在线观看| 在线看成人片| 欧美在线视频一区| 久久久亚洲欧洲日产国码αv| 国产精品影院在线观看| 亚洲天堂偷拍| 亚洲综合精品| 国产精品成人在线| 在线视频一区观看| 亚洲影院免费| 国产精品免费久久久久久| 亚洲视频精品在线| 亚洲午夜性刺激影院| 久久精品亚洲热| 国产日韩精品视频一区二区三区| 亚洲性图久久| 欧美一区二区视频在线| 国产欧美在线播放| 欧美亚洲一区二区三区| 久久久久看片| 怡红院av一区二区三区| 亚洲第一毛片| 欧美大色视频| 亚洲免费观看高清完整版在线观看| 中文国产一区| 国产精品成人一区二区网站软件 | 亚洲国产成人porn| 亚洲精品欧美极品| 欧美精品在线一区二区三区| 日韩亚洲在线观看| 亚洲在线视频| 国产午夜精品久久久| 亚洲国产精品成人综合色在线婷婷| 麻豆乱码国产一区二区三区| 亚洲黄一区二区| 亚洲天堂成人| 国产日本欧美在线观看| 亚洲高清激情| 欧美日韩中文字幕在线视频| 亚洲午夜视频在线| 久久久蜜桃一区二区人| 亚洲国产精品美女| 亚洲一区二区在线播放| 国产乱码精品一区二区三区忘忧草| 欧美一区亚洲二区| 免费观看日韩av| 一区二区三区www| 久久成人18免费观看| 亚洲国产一二三| 亚洲女女做受ⅹxx高潮| 国内精品久久久| 99精品视频免费| 国产精品揄拍一区二区| 亚洲国产婷婷香蕉久久久久久| 欧美日韩人人澡狠狠躁视频| 亚洲欧美影音先锋| 麻豆国产精品va在线观看不卡| 99v久久综合狠狠综合久久| 久久福利资源站| 亚洲日本久久| 久久国产精品第一页| 最新国产成人av网站网址麻豆 | 久久精品国产99精品国产亚洲性色 | 久久亚洲综合色| 9国产精品视频| 久久久水蜜桃av免费网站| 亚洲乱码日产精品bd| 久久精品国产亚洲精品| 亚洲区在线播放| 久久精品国产999大香线蕉| 亚洲精品影院| 麻豆国产精品一区二区三区| 亚洲私人影吧| 欧美.www| 亚洲欧美综合国产精品一区| 欧美精品国产一区二区| 午夜精品久久久久久久男人的天堂| 免费在线成人av| 亚洲欧美国产另类| 欧美日韩精品伦理作品在线免费观看 | 亚洲一区二区不卡免费| 黄色成人av在线| 亚洲免费视频一区二区| 亚洲风情亚aⅴ在线发布| 欧美在线一二三| 一区二区av在线| 欧美精品亚洲精品| 久久www成人_看片免费不卡| 国产精品激情av在线播放|