當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]AVS(Audio Video Coding STandard)是由我國(guó)數(shù)字音視頻標(biāo)準(zhǔn)工作組制定的具有自主知識(shí)產(chǎn)權(quán)的第二代音視頻壓縮準(zhǔn)。AVS實(shí)行1 元專利費(fèi)用的原則,相比其它音視頻編解碼標(biāo)準(zhǔn)具有編碼效率高、專利費(fèi)用低、授權(quán)模式簡(jiǎn)單等優(yōu)勢(shì)。AVS解碼器的結(jié)構(gòu)復(fù)雜、運(yùn)算量較大,要在嵌入式平臺(tái)上實(shí)現(xiàn)實(shí)時(shí)解碼具有較大難度。在對(duì)解碼器性能優(yōu)化的過(guò)程中可以依據(jù)使用平臺(tái)對(duì)其進(jìn)行匯編指令集的優(yōu)化或者針對(duì)解碼器的關(guān)鍵算法模塊進(jìn)行改良,以上方法對(duì)解碼器性能的提高均有一定作用,本文提出一種利用嵌入式平臺(tái)的L1P Cache高

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

1 高速緩存Cache的應(yīng)用

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

以TI的C64x DSP為例,存儲(chǔ)器系統(tǒng)由片內(nèi)存儲(chǔ)器和片外存儲(chǔ)器兩部分組成。其中,片內(nèi)存儲(chǔ)器采用兩級(jí)緩存結(jié)構(gòu),第1級(jí)L1距離DSP核最近,數(shù)據(jù)訪問(wèn)速度最快,可以達(dá)到每秒600Mbyte,只能作為不能尋址的Cache使用,由相互獨(dú)立的L1P和L1D 組成。

L1P Cache是處理器訪問(wèn)程序代碼的高速緩沖存儲(chǔ)器,大小為16 kbyte,采用直接映射方式,每行大小32byte;L1D Cache是處理器訪問(wèn)數(shù)據(jù)的高速緩沖存儲(chǔ)器,大小為16 kbyte,采用2路映射,每行大小為64byte。第2級(jí)L2是一個(gè)統(tǒng)一的程序/數(shù)據(jù)空間,可以整體作為SRAM映射到存儲(chǔ)空間,也可以作為Cache和SRAM按比例的一種組合。L2與L1之間的數(shù)據(jù)交互速率為每秒300 Mbyte,L2與SDRAM之間的數(shù)據(jù)交換速率為每秒100 Mbyte。片外存儲(chǔ)器是第3級(jí),一般由SDRAM構(gòu)成。L1、L2和片外SDRAM構(gòu)成了整個(gè)存儲(chǔ)器系統(tǒng)的層次結(jié)構(gòu)。C64X的兩級(jí)緩存結(jié)構(gòu)若能運(yùn)用恰當(dāng),將能極大地提高程序性能。

根據(jù)圖1的三層次的存儲(chǔ)器系統(tǒng), C64X讀取程序代碼時(shí),先查看1級(jí)緩存L1,若L1已緩存了所需代碼,則直接從L1讀取;若L1沒(méi)有該代碼的緩存,則訪問(wèn)2級(jí)緩存L2;若L2也沒(méi)有,則通過(guò)EMIF接口訪問(wèn)外部SDRAM,把所需代碼從外部SDRAM拷貝到L2緩存區(qū),再?gòu)腖2緩存區(qū)拷貝到L1,最后由DSP內(nèi)核取得?!?/p>


圖1 三層次的存儲(chǔ)器系統(tǒng)(圖中B代表byte)

研究表明,采用這種多級(jí)緩存的架構(gòu)可以達(dá)到采用完全片上存儲(chǔ)器結(jié)構(gòu)的系統(tǒng)約80%的執(zhí)行效率。本文致力于更深入地研究Cache的機(jī)制,對(duì)算法的數(shù)據(jù)結(jié)構(gòu)、處理流程以及程序結(jié)構(gòu)等進(jìn)行優(yōu)化,以提高Cache的命中率,更有效地發(fā)揮Cache的作用,從而達(dá)到提高解碼器運(yùn)行效率的目的。

2 基于Cache的視頻解碼算法實(shí)現(xiàn)

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

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

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

圖2 解碼算法流程


如圖3所示,本文以一個(gè)宏塊行為處理單位,在進(jìn)行解碼時(shí),首先執(zhí)行模塊A將整個(gè)宏塊行讀入高圖3 處理一個(gè)宏塊行的新流程速緩存中,執(zhí)行完畢模塊A后,讀入模塊B的代碼,該部分代碼將會(huì)沖掉模塊A 的代碼。執(zhí)行完畢模塊B后,讀入模塊C的代碼,該部分代碼將會(huì)沖掉模塊B 的代碼。依此類推,當(dāng)執(zhí)行完畢模塊D后,再重復(fù)執(zhí)行以對(duì)下一個(gè)宏塊行進(jìn)行解碼。

圖3 處理一個(gè)宏塊行的新流程

每個(gè)模塊在執(zhí)行一個(gè)宏塊行的解碼過(guò)程中,會(huì)被反復(fù)執(zhí)行N 次,在此期間程序代碼保留在L1P中不被沖刷,直到第二個(gè)模塊執(zhí)行的時(shí)候第一個(gè)模塊的代碼才被沖刷。所以此方法解碼一個(gè)宏塊行才發(fā)生四次沖刷,完成一幀圖像的解碼共發(fā)生4 ×M 次代碼沖刷,較改進(jìn)之前減少?zèng)_刷次數(shù)4 ×M ×(N - 1)。

表1中的測(cè)試序列分辨率為720 ×576,調(diào)整結(jié)構(gòu)后解碼速率均有不同程度的提高,通過(guò)對(duì)統(tǒng)計(jì)結(jié)果的平均得知,效率提高20%左右。

表1 實(shí)驗(yàn)結(jié)果

3 結(jié)論

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


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉