新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于SoC的MPEG-4視頻解碼加速器

基于SoC的MPEG-4視頻解碼加速器

作者: 時(shí)間:2012-12-13 來源:網(wǎng)絡(luò) 收藏

1.3 算法的優(yōu)化

1.3.1 長乘法的處理

在圖1的虛線中, 前一級(jí)乘加運(yùn)算的結(jié)果要與C4相乘, 如果輸入數(shù)據(jù)F(k ) 和系數(shù)Ci都是16位數(shù)據(jù), 為了保證精度就要使用32 位乘16 位的乘法器,這必然成為整個(gè)電路中的關(guān)鍵路徑, 影響其性能。若用下面的式(4) 對(duì)虛線內(nèi)的條路徑做變換, 雖然增加了乘法數(shù)目, 但是不僅去除掉32 位乘16 位的乘法器, 而且有利于下文將要提及的OnlyDC 和Halfzero情況的加速。

變換后的虛線內(nèi)的算法流程如圖2 所示。

圖2 chen 算法變換Ci= cos( iπ/16)

1.31. OnlyDC 和Halfzero

本文將F(k )分為三種情況:

(1) F(k )只有F(0)為非零數(shù)據(jù), 我們稱這種情況為OnlyDC;

(2) F(k )中F(0) , F(1) , F(2) 和F(3) 為非零數(shù)據(jù), 其他四個(gè)數(shù)據(jù)都為零, 這種情況稱為Halfzero;

(3) 其它情況都?xì)w入普通情況。我們用軟件直接的方法對(duì)典型素材作了統(tǒng)計(jì)(見表1) , 發(fā)現(xiàn)OnlyDC 和Halfzero的情況占了很大比例, 加速這兩種情況的計(jì)算對(duì)加速整個(gè)的IDCT 運(yùn)算有重要意義。

由一維IDCT 式(5) 可以看出, 對(duì)于OnlyDC 情況, f ( i) 就是F (0)/1.414 。

其中c (0) =1/1.414 ,c ( i) = 1, i= 1, 2....N - 1。如果我們把每次行和列的一維IDCT 結(jié)果放大2 倍得到f ′( i) , 對(duì)于 OnlyDC, F(0) 就是f ′( i) , 不需任何計(jì)算。這樣兩次一維IDCT 運(yùn)算后得到的結(jié)果f ′(x , y ) 將為f (x , y ) 的2 倍, 故只要將f ′(x , y ) 右移一位就可以得到正確的f (x , y )。由圖1 和圖2 可以看出, 在所有的F (k ) 到f ( i) 的計(jì)算路徑上, 都出現(xiàn)了且僅出現(xiàn)一次F (k ) 乘Ci, 這樣我們對(duì)常數(shù)Ci 取值時(shí)直接取2cos( iπ/16), 就達(dá)到了將一維IDCT結(jié)果放大1.414倍的目的。



關(guān)鍵詞: 解碼 加速器 視頻 MPEG-4 SoC 基于

評(píng)論


相關(guān)推薦

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

關(guān)閉