新聞中心

EEPW首頁(yè) > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 基于H.264解碼器的軟件優(yōu)化

基于H.264解碼器的軟件優(yōu)化

作者: 時(shí)間:2010-08-11 來(lái)源:網(wǎng)絡(luò) 收藏



3.2 流水新型算法

很多設(shè)計(jì)中,解碼參數(shù)準(zhǔn)備、解碼和DMA的數(shù)據(jù)輸出等過(guò)程按順序串行執(zhí)行的,該設(shè)計(jì)有條理安排這3個(gè)過(guò)程并行執(zhí)行,充分利用DSP-BF533的指令并行執(zhí)行特點(diǎn),減少各模塊之間的等待時(shí)間。

下面以4×4的宏塊矩陣為例,首先給4×4矩陣標(biāo)上4行4列的坐標(biāo),然后把程序處理分成5個(gè)階段.其狀態(tài)分別按順序?qū)?yīng)1、2、4、8、16,以便狀態(tài)機(jī)運(yùn)算,如表1所列。CAVLC為解析讀入的數(shù)據(jù)并為后續(xù)的圖像整合重建提供參數(shù)和參考圖像等數(shù)據(jù)的過(guò)程,hl_decode是高級(jí)解碼過(guò)程,即根據(jù)準(zhǔn)備好的條件綜合重建圖像的過(guò)程。DMA是對(duì)已解碼數(shù)據(jù)的傳送過(guò)程。對(duì)照表1和表2分析:當(dāng)新的一幀圖像到來(lái)時(shí),當(dāng)前狀態(tài)標(biāo)號(hào)為1,此時(shí)只有CAVLC執(zhí)行;當(dāng)運(yùn)行到坐標(biāo)為x=1,y=0時(shí),進(jìn)入第2個(gè)狀態(tài),當(dāng)前狀態(tài)標(biāo)號(hào)為2,CAVLC和hl_decode并行執(zhí)行;當(dāng)運(yùn)行到坐標(biāo)x=1,y=1時(shí),進(jìn)入第3個(gè)狀態(tài),標(biāo)號(hào)為4,3個(gè)模塊同時(shí)并行執(zhí)行;到坐標(biāo)y>4時(shí),進(jìn)入第4個(gè)狀態(tài),標(biāo)號(hào)為8,只有hl_decode和DMA兩個(gè)并行執(zhí)行,CAVLC已經(jīng)完成對(duì)所有宏塊的解碼前準(zhǔn)備工作;再判斷x>0,進(jìn)入第5個(gè)狀態(tài)。標(biāo)號(hào)為16,此時(shí)只運(yùn)行DMA模塊。



因此,解碼第1個(gè)宏塊時(shí)處在狀態(tài)1,之后連續(xù)4個(gè)宏塊是狀態(tài)2,再連續(xù)11個(gè)宏塊進(jìn)入狀態(tài)3,隨后1個(gè)宏塊是狀態(tài)4,最后3個(gè)宏塊進(jìn)入狀態(tài)5。

如果假設(shè)CAVLC的執(zhí)行時(shí)間A,hl_decode的執(zhí)行時(shí)間B,DMA的執(zhí)行時(shí)間C,普通算法的執(zhí)行總時(shí)間T=16A+16B+16C;本文提出的方法時(shí)間T2=A+16B+3C,因此,明顯縮短了程序執(zhí)行時(shí)間。

4 測(cè)試結(jié)果

在DSP-BF533測(cè)試平臺(tái)上測(cè)試Claire.cif和Pairs.cif,從測(cè)試分析的結(jié)果看來(lái):后的結(jié)果提高解碼速率,達(dá)到實(shí)時(shí)應(yīng)用要求。結(jié)果如表3所列。



5 結(jié)束語(yǔ)

針對(duì)移動(dòng)視頻終端應(yīng)用,根據(jù)DSP的特點(diǎn),提出一個(gè)新型的流水算法,使得模塊問(wèn)的協(xié)作更緊密,更好利用程序運(yùn)行的空余時(shí)間,減少程序等待時(shí)間,提高解碼速率。實(shí)驗(yàn)測(cè)試該程序已達(dá)到對(duì)CIF圖像的實(shí)時(shí)解碼要求,以后進(jìn)一步,以達(dá)到更高更可靠的解碼效率,使得DSP-BF533的設(shè)計(jì)完全可擴(kuò)展到從無(wú)線3G網(wǎng)絡(luò)、數(shù)字電視,到IP網(wǎng)絡(luò),媒體的存儲(chǔ)格式等不同領(lǐng)域。

上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉