新聞中心

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

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

        作者: 時間:2012-12-13 來源:網絡 收藏

        1.3 算法的優(yōu)化

        1.3.1 長乘法的處理

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

        變換后的虛線內的算法流程如圖2 所示。

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

        1.31. OnlyDC 和Halfzero

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

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

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

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

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

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



        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 南召县| 绥宁县| 盐池县| 梧州市| 含山县| 深州市| 肃宁县| 修武县| 台中县| 新昌县| 皮山县| 双鸭山市| 留坝县| 巴里| 二连浩特市| 菏泽市| 连城县| 思南县| 绥宁县| 开封县| 栖霞市| 东至县| 敦化市| 阿拉善盟| 余姚市| 新巴尔虎右旗| 来凤县| 宁安市| 怀仁县| 上林县| 栾城县| 普定县| 宜阳县| 建水县| 凤阳县| 凌云县| 邢台县| 托克托县| 高雄县| 黄骅市| 绥芬河市|