資料介紹
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內核取得。

圖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 個宏塊行全部處理完畢,這樣就得到一幀數據的解碼圖像。
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內核取得。

圖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 個宏塊行全部處理完畢,這樣就得到一幀數據的解碼圖像。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- BCH編解碼器在NAND Flash主控中的研究與優化實現
- 立體聲解碼器的基本原理技術文檔分享 6次下載
- C64x視頻設備的差異基于DSP平臺運行的不同的TMS320C64x+編碼解碼器 4次下載
- AVS視頻編解碼在TMS320C6455上的實現 2次下載
- 基于定點DSP的MP3實時解碼器的設計與實現 8次下載
- 基于CEVA平臺的WMV視頻解碼器優化 0次下載
- 基于MIPS處理器的AMR-WB語音解碼器優化 13次下載
- AVS游程解碼反掃描反量化和反變換優化設計 0次下載
- 應用于AVS視頻解碼器的VLD設計 41次下載
- 有效的golomb解碼器設計 29次下載
- AVS游程解碼、反掃描、反量化和反變換優化設計
- NEON音頻編解碼器優化技術
- 國標AVS解碼軟件源代碼
- 基于DTMF的解碼器設計
- TD-SCDMA Turbo 解碼器設計
- 無線網解碼器怎么連接 501次閱讀
- 解碼器和控制器區別是什么 575次閱讀
- 控制器解碼器的使用方法 648次閱讀
- 遙控器解碼器怎么使用 1028次閱讀
- 全景聲解碼器 449次閱讀
- 神經編碼器-解碼器模型的歷史 922次閱讀
- 基于 Transformers 的編碼器-解碼器模型 928次閱讀
- 基于 RNN 的解碼器架構如何建模 847次閱讀
- 基于VPM642板卡和DSP實現AVS解碼軟件的優化應用 3945次閱讀
- 二進制解碼器到底是什么 6269次閱讀
- ADC和DAC、DSP!解碼器和獨立DAC 2.7w次閱讀
- 什么是視頻解碼器_有什么用 3w次閱讀
- 分析了各主流編解碼器的優勢與不足,并對編解碼器的選擇給出建議 1.4w次閱讀
- dmx512解碼器怎么接線?dmx512解碼器接線圖 8.8w次閱讀
- 音頻編解碼器技術 5015次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1489次下載 | 免費
- 2單片機典型實例介紹
- 18.19 MB | 91次下載 | 1 積分
- 3S7-200PLC編程實例詳細資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關電源原理及各功能電路詳解
- 0.38 MB | 9次下載 | 免費
- 6基于AT89C2051/4051單片機編程器的實驗
- 0.11 MB | 4次下載 | 免費
- 7基于單片機和 SG3525的程控開關電源設計
- 0.23 MB | 3次下載 | 免費
- 8基于單片機的紅外風扇遙控
- 0.23 MB | 3次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30319次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關電源設計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537791次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論