論文簡(jiǎn)介
Computer Engineering and Applications計(jì)算機(jī)工程與應(yīng)用2008 ,44(20) 93AVS變長(zhǎng)解碼的DSP優(yōu)化于新濤',張宏波1,馬磊1.2YU Xin- -tao',ZHANG Hong- -be' ,MA Leil21.山東大學(xué)信息科學(xué)與工程學(xué)院,濟(jì)南2501002.山大魯能信息科技有限公司,濟(jì)南2501001.School of Information Science and Engineering, Shandong University ,Ji' nan 250100, China2.Shanda Luneng Infomation Technology Co. ,Ldd,Ji' nan 250100,ChinaE-mail:yxt433@126.comYU Xin -tao,ZHANG Hong -bo,MA Lel.Optimization of AVS variable length decoding on DSP .Computer Engineeringand Applications ,2008,44(20):93-95.Abstract: The part of AVS variable length decoding is optimized based on DM642.The accessing method is changed accordingto the property of Exp-Golomb code.By altering the loop structure and assigning the registers appropriately ,the compiler canprocess an efctive software pipeline.The executive time is deduced by 30% afer optimization, which satisfies the requirements ofreal-time decoding of standard definition video sequences.Key words: Audio Video coding Standard(AVS);variable lengh decoding;Exp- Golomb;software pipeline摘要:在 DM642上對(duì)AVS變長(zhǎng)解碼部分進(jìn)行了優(yōu)化。針對(duì)指數(shù)哥倫布碼的特性調(diào)整了存儲(chǔ)器訪問的方式,并通過對(duì)循環(huán)結(jié)構(gòu)的調(diào)整及寄存器資源的合理分配使編譯器能夠進(jìn)行高效的軟件流水編排。經(jīng)過優(yōu)化后代碼執(zhí)行時(shí)間降低了70%以上,達(dá)到了標(biāo)清尺寸實(shí)時(shí)解碼要求。關(guān)鍵詞:AVS;變長(zhǎng)解碼;指數(shù)哥倫布碼;軟件流水DOI: 10778/jis.100 8331.2008.20.029文 章編號(hào):1002- 8331(2008)20-0093-03文獻(xiàn)標(biāo)識(shí)碼:A 圖分類 號(hào):TP301.61引言databits.其中k為階數(shù)。對(duì)于k階指數(shù)哥倫布碼,根據(jù)下式進(jìn)行AVS標(biāo)準(zhǔn)(Audio Video coding Standard)是我國(guó)制定的擁解析:有自主知識(shí)產(chǎn)權(quán)的音視頻編解碼標(biāo)準(zhǔn),在IPTV、視頻監(jiān)控等領(lǐng)CodeNum=2"* -2 +databits(1)域有著廣泛的應(yīng)用。AVS編碼效率是MPEG- 2的2~3倍,優(yōu)于在AVS標(biāo)準(zhǔn)中規(guī)定了19個(gè)變長(zhǎng)碼表",不同的碼表決定國(guó)際上的MPEC-4 AVCH.264. 而且方案簡(jiǎn)沽,復(fù)雜度低于了ce(v )所用的指數(shù)哥倫布碼的階數(shù)。H.264,在高清部分處于領(lǐng)先地位。AVS 基本類標(biāo)準(zhǔn)于2006年2.2變長(zhǎng)碼解碼2月正式成為中國(guó)國(guó)家標(biāo)準(zhǔn)".目前處于產(chǎn)業(yè)化階段,其中AVS由CodeNum做索引生成Level .Run的過程如圖1所示。標(biāo)清/高清芯片的研發(fā)與實(shí)現(xiàn)是其中重要的工作。從碼流中讀取并解析CodeNum得到變換系數(shù)(rans_ coef-本文在TI公司的DM642平臺(tái)上對(duì)AVS解碼器中的變長(zhǎng)ficient)。 如果變換系數(shù)的值小于59,則以該系數(shù)為索引查表求解碼部分進(jìn)行了優(yōu)化,并且給出了Emulator. 上的仿真結(jié)果。得Level、Run的值并分別存入buf_ Jevel .buf run數(shù)組中。否則,需要解析下一個(gè)CodeNum,得到轉(zhuǎn)逸系數(shù)差值(es-2 AVS 變長(zhǎng)解碼的主要流程cape_ Jevel dif)。在AVS變長(zhǎng)解碼中,采用了基于指數(shù)哥倫布的自適應(yīng)變由變換系數(shù)確定Run的值:長(zhǎng)編碼技術(shù)。對(duì)于宏塊編碼數(shù)據(jù),解碼器首先用0階.1階.2階n= trans. coff-59(2)或3階指數(shù)哥倫布碼進(jìn)行ce(v )解析.然后根據(jù)所得語法元素查表得到量化系數(shù)值( level)和游程( Run)。Lervel的模值由轉(zhuǎn)逸系數(shù)和RefAbsLevel確定,Level的符號(hào)由2.1指數(shù)哥倫布碼及 ce(v )語法元素解析變換系數(shù)的奇偶決定:指數(shù)哥倫布碼的比特串分為前綴和后綴兩部分。前綴由mlevel=中國(guó)煤化工”rons cof為奇數(shù))(3)個(gè)“0"和1個(gè)分隔符"I"組成,后綴有mth個(gè)比特,記作二s_ cof為偶數(shù))MYHCNMHG作者簡(jiǎn)介:于新濤( 1981-),男,碩上研究生,主要研究領(lǐng)域?yàn)橐曨l編解碼與DSP應(yīng)用:張宏波(1984-),男,碩士研究生,主要研究領(lǐng)域?yàn)橐曨l編解碼;馬磊( 1960-).男.教授,研究生導(dǎo)師,主要研究領(lǐng)域?yàn)樾盘?hào)處理及嵌入式開發(fā)。收稿日期:007-10-09修回 日期:208 -01-2194 2008 ,44(20)Computer Engineering and Applications計(jì)算機(jī)工程與應(yīng)用初始3.2.2變長(zhǎng)解碼部分軟件流水的優(yōu)化軟件流水線技術(shù)用來對(duì)一個(gè)循環(huán)結(jié)構(gòu)的指令進(jìn)行調(diào)度安。解析排,使之成為多重迭代循環(huán)并行執(zhí)行。在編譯代碼時(shí),可以選擇CodeNum編譯器的-o2或o3選項(xiàng),使編澤器將根據(jù)程序盡可能地安排traons. cofficient軟件流水線。' CodeNum(2)堿少冗余計(jì)算。對(duì)于幀內(nèi)幀間或亮度塊的系數(shù)提取thile(trans coef?] =EOB)fran_ cof EOB其循環(huán)的公共操作如計(jì)算哥倫布階數(shù)等,放到循環(huán)外部執(zhí)行。END一方面避免了重復(fù)的運(yùn)算,另-方面減少了循環(huán)內(nèi)部的代碼長(zhǎng)度,有利于軟件流水的編排。圍1宏塊系敷變長(zhǎng)碼解碼的流程圖(3)改變程序結(jié)構(gòu),拆分for循環(huán)。其中RefAbsLevel與式(2)中求得的Run有關(guān),當(dāng)Run大于由于亮度系數(shù)的復(fù)朵性以及塊系數(shù)個(gè)數(shù)的不確定性,對(duì)變MaxRun時(shí),RefAbsLevel等于1;否則以Run為索引查表求得長(zhǎng)解碼流程中的循環(huán)往往難以進(jìn)行流水編排。 造成流水失敗的RefAbsLevelo原因有以下幾種:保存Level .Run之后,更新碼表的表號(hào),繼續(xù)解析下一個(gè)圖I所示的變長(zhǎng)碼解碼的循環(huán)中,判斷變換系數(shù)是否小于塊系數(shù),直到變換系數(shù)值等于EOB時(shí)跳出循環(huán)。59處出現(xiàn)了i-.se..分*支語句。由于每個(gè)跳轉(zhuǎn)指令有5個(gè)延遲間隙,使得程序執(zhí)行時(shí)間延長(zhǎng);另外循環(huán)內(nèi)跳轉(zhuǎn)也使軟件流3AVS變長(zhǎng)解碼的DSP實(shí)現(xiàn)與優(yōu)化水受到阻塞。3.1 DSP 實(shí)現(xiàn)平臺(tái)同時(shí),由于循環(huán)中的代碼過長(zhǎng),而且在碼表切換等處多次變長(zhǎng)解碼所采用的DSP平臺(tái)為TI公司的TMS320DM642/用到條件寄存器,使得循環(huán)體內(nèi)寄存器不夠分配,?從而導(dǎo)致系C64x系列芯片,具有第二代高性能的超長(zhǎng)指令字結(jié)構(gòu)Veloei-統(tǒng)編譯器無法實(shí)現(xiàn)循環(huán)的pipelineoTI.2,在8個(gè)功能單元里擴(kuò)展了88條新的指令以增強(qiáng)其在視對(duì)于大部分的AVS編碼碼流,其宏塊殘差系數(shù)中變換系頻圖像應(yīng)用中的性能,并提高了視頻處理的并行性。數(shù)小于59的比例占了90%以上,如表1所示。將AVS工作組提供的參考代碼m52j移植到DM642上,表1 不同碼流中亮度塊(幀內(nèi)、幀間)系數(shù)<59的概率統(tǒng)計(jì)并通過以太網(wǎng)口傳送解碼輸出圖像。在優(yōu)化的過程中,主要是IntraInler發(fā)揮C64x芯片的并行性特點(diǎn)對(duì)數(shù)據(jù)進(jìn)行處理,并且通過對(duì)數(shù)測(cè)試序列<59≥59<59 ≥59據(jù)存儲(chǔ)結(jié)構(gòu)以及程序架構(gòu)的調(diào)整,使編譯器更好地進(jìn)行軟件流fobll 94.21% 5.79% 93.77% 6.239cctv. live 97.24% 2.76% 96.65% 3.35%水,以提高解碼的效率。mobile96.86% 3.14% 96.90% 3.10%3.2 DSP 優(yōu)化凹Morvie 1800k 98.52% 1.48% 97.57% 2.43%.2.1 指數(shù)哥倫布解碼的優(yōu)化對(duì)指數(shù)哥倫布解碼部分的優(yōu)化主要基于兩點(diǎn):( 1)存儲(chǔ)器當(dāng)變換系數(shù)大于等于59時(shí),計(jì)算其對(duì)應(yīng)的Level.Run以及更新碼表的操作都要比小于59時(shí)的情況復(fù)雜得多。根據(jù)這訪問的優(yōu)化;(2 )使用內(nèi)聯(lián)指令(intrinsic)。在AVS工作組參考代碼中,指數(shù)哥倫布解碼部分的碼流-特點(diǎn),本文把 trans. coff<59 的情況單獨(dú)拆分出來,即從復(fù)雜讀取是逐比特進(jìn)行的。而對(duì)C6000的存儲(chǔ)器進(jìn)行訪問是很費(fèi)循環(huán)中拆分出一個(gè)較小的簡(jiǎn)單循環(huán)。用偽代碼表示如下:時(shí)的,要提高數(shù)據(jù)處理效率,應(yīng)使1條Load/Store指令能夠訪d問多個(gè)數(shù)據(jù)。所以,在DSP程序中,對(duì)變長(zhǎng)解碼部分的碼流讀for( ;trans. coff<59 && != EOB;)取部分進(jìn)行了改進(jìn)。對(duì)于每個(gè)要解碼的系數(shù),一次讀入32 bit到寄存器中進(jìn)行處理(itle Edian 模式下還要進(jìn)行4字節(jié)倒序中國(guó)煤化工的操作)。使用內(nèi)聯(lián)指令. Jmbd(Ox1 ,buf[. _bits )來判斷前綴“0”YHCNMHG的個(gè)數(shù),然后通過移位操作讀取dabits,按照公式(1 )進(jìn)行指Processing:escpe- Jevel. dif數(shù)哥倫布解析。使用內(nèi)聯(lián)指令加以改編,可以大幅度減少循環(huán))while(rans_ coff!= EOB)體執(zhí)行的指令周期數(shù)。(4)用邏輯判斷語句替代f-.語句,減少跳轉(zhuǎn)語句。把于新濤,張宏波,馬磊:AVS變長(zhǎng)解碼的 DSP優(yōu)化2008 ,44(20)95if結(jié)構(gòu)用條件運(yùn)算表達(dá)式進(jìn)行改寫,最后使循環(huán)可以pipeline。進(jìn)行03級(jí)別的優(yōu)化(STEP- -3)。此時(shí)觀察asm反饋信息,得知(5)減少中間變量。避免對(duì)存儲(chǔ)器的冗余存取,減少寄存器編譯器多次嘗試軟件流水均未成功。通過3.2.2中(3)(4)的方的使用數(shù)目,利于對(duì)循環(huán)做出更進(jìn)一一步的優(yōu)化。法調(diào)整循環(huán)結(jié)構(gòu),可以實(shí)現(xiàn)流水編排(STEP- 4)。(5)(6)進(jìn)步降(6)利用數(shù)據(jù)打包解包減少存取時(shí)間。Level Run分別保低了循環(huán)體內(nèi)部的數(shù)據(jù)存取時(shí)間,使編譯器做出了更好的優(yōu)化。存在兩個(gè)數(shù)組中.增加了寄存器的存儲(chǔ)時(shí)間。現(xiàn)將二者打包存變長(zhǎng)解碼的優(yōu)化為解碼器最終達(dá)到實(shí)時(shí)解碼奠定了基礎(chǔ)。放在一個(gè)int32型的數(shù)組中,在反]描反量化時(shí)再進(jìn)行解包。經(jīng)對(duì)于當(dāng)前網(wǎng)絡(luò)帶寬條件下所能傳送的大部分碼流,變長(zhǎng)解碼占測(cè)試,存儲(chǔ)所用時(shí)間有所降低,而后續(xù)進(jìn)程中(反掃描部分)讀解碼理想總時(shí)間的比例都能夠控制在2%以下,達(dá)到了預(yù)期的取所耗費(fèi)的時(shí)間基本不變。經(jīng)過上述調(diào)整,可以使編譯器對(duì)占變換系數(shù)絕大部分比例目標(biāo)。同時(shí),對(duì)于更高碼率的碼流,仍需要進(jìn)-步地優(yōu)化,以適應(yīng)未來IPTV技術(shù)的發(fā)展需求。的小于59循環(huán)內(nèi)進(jìn)行軟件流水,提高了解碼效率。表3不同碼嗽測(cè)汰序列變 長(zhǎng)解碼所占比例4實(shí)驗(yàn)結(jié)果及結(jié)論測(cè)試序列NSCC Ad Muvie CCTV Jive Foball幀數(shù)50本文在CCS2.21環(huán)境下對(duì)AVS變長(zhǎng)解碼部分的程序進(jìn)行尺寸720x576 720>x576 720x576 702x480優(yōu)化,并且在XDS510 Emulator. 上進(jìn)行了仿真,測(cè)試序列選用碼率/(Mb/s)1.471.761.3910.88了從I Mb/s到15 Mb/s的不同碼率的標(biāo)清尺寸AVS碼流。解碼達(dá)實(shí)時(shí)(30 fs)所需總時(shí)間/ms26672933 2 867表2記錄了foball序列( 704x480,碼率10.88 Mb/s,50幀)變長(zhǎng)解碼時(shí)間/ms_79.5121.9 91.6198.9各優(yōu)化階段的變長(zhǎng)解碼函數(shù)占用時(shí)間。參考文獻(xiàn): .表2各階段優(yōu)化后的變長(zhǎng)解碼部分喃數(shù)時(shí)間[1] AVS工作組CB1200090.2 -2006信息技術(shù)一先 進(jìn)音視頻編碼STEPCPU時(shí)鐘周期Clk函數(shù)時(shí)間/ms第2部分:視頻S].2006.1.使用-01 優(yōu)化406252.284677.1[2]陳光法.姚立敏,虞露.AVS熵解碼與DSP實(shí)現(xiàn)[小電視技術(shù),20042.指數(shù)哥倫布優(yōu)化300,578.6255009(10):43-46.3.使用-03編譯選項(xiàng)260,613.528434.44.使循環(huán)pipline196,977 ,493328.3(3]李方慧:TMS320C6000系列DSPs原理與應(yīng)用[M].2版北京:電子工5.其他軟件流水優(yōu)化119.342.005業(yè)出版社2005.[4]楊陽.基于OMAP平臺(tái)的AVS解碼實(shí)現(xiàn)![小J電子設(shè)計(jì)應(yīng)用,2006(4):通過3.2.1中的方法對(duì)哥倫布解碼部分的優(yōu)化(STEP-2),90-93.使得解碼器對(duì)變長(zhǎng)編碼數(shù)據(jù)的處理效率大為提高。再經(jīng)過3.2.[51]畢厚杰新-代視頻壓縮編碼標(biāo)準(zhǔn)- H.264/AVC[M.北京:人民郵電2中的(1)(2)處理,使循環(huán)滿足使用軟件流水的條件,對(duì)程序出版社,2005.(上接50頁)i3 仿真結(jié)果達(dá)到最優(yōu)解未達(dá)到最優(yōu)解仿真最優(yōu)解送代次數(shù)用時(shí)/___達(dá)到最優(yōu)解次數(shù)_ 最差次優(yōu)解最好次優(yōu)解QEAQAIQEAHQAHQA IQEA HQAIQEA HQA7 0387.801.240.2320Car2 7166 94.53 9.95 17.75 0.35 173767226Car37312 114.00 23.93 20.20 0.83 2157491 7 3997328 7 366Can4800386.7219.8019.950.768008772090.2910.89 14.300.31197732Carf6 8505 65.23 8.79 8.22 0.22 131S570 8570 8570 857Car76590 15.165.951.500.1266458 36635.5511.424.060.29_2084248 424項(xiàng)指標(biāo)上突出,就得在別的指標(biāo)上付出代價(jià),相對(duì)而言,HQA參考文獻(xiàn):性能最好,各項(xiàng)指標(biāo)都比較穩(wěn)定。[1]陸曉亮,胡蘇太量子計(jì)算機(jī)的發(fā)展現(xiàn)狀和趨勢(shì)J]高性能計(jì)算發(fā)展與應(yīng)用, 2006(1):7-11.[2] Kuk -Hyun Han,Jong -Hwan Kim.Genetic quantum algorithm and5結(jié)束語its application to combinatorial optimization problem[CV/Proceed-采用具有并行性的量子比特的編碼方式,借鑒微粒群算法ngs of the 2000 IEEE Congress on Evolutionary Computation,的搜索特性,引進(jìn)經(jīng)典進(jìn)化計(jì)算的優(yōu)化理念,合成了一種新型00的自適應(yīng)算法一混合 量子算法。從原理上說明了該算法在尋[3]麥克中國(guó)煤化工北京:中國(guó)水利水電出優(yōu)方面的可用性,以及在組合優(yōu)化問題中的實(shí)用性,并將其應(yīng)YHCNMH G,4]云慶復(fù)進(jìn)化異次[]孔爾;舊五工業(yè)出版性, 2000: 148-151.用于置換flow shop 問題,其測(cè)試結(jié)果表明該算法具有種群小、[5]楊溆?jì)?,劉?焦李成.量子進(jìn)化策略[小電子學(xué)報(bào),2001 ,29(12):迭代次數(shù)少.用時(shí)少等優(yōu)點(diǎn),并且克服了QEA的不足之處,具1873-1877.有實(shí)用價(jià)值。6]曾建潮,介婧,崔志華,微粒群算法(M]北京:科學(xué)出版社2004:3- 4.
論文截圖
版權(quán):如無特殊注明,文章轉(zhuǎn)載自網(wǎng)絡(luò),侵權(quán)請(qǐng)聯(lián)系cnmhg168#163.com刪除!文件均為網(wǎng)友上傳,僅供研究和學(xué)習(xí)使用,務(wù)必24小時(shí)內(nèi)刪除。