新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于TMS320DM6446的H.264編碼器的設(shè)計與優(yōu)化

        基于TMS320DM6446的H.264編碼器的設(shè)計與優(yōu)化

        作者: 時間:2011-03-05 來源:網(wǎng)絡(luò) 收藏

        2 對DSP數(shù)據(jù)搬移的優(yōu)化
        視頻編碼需要處理較大的數(shù)據(jù)量,如一幀CIF格式的YUV數(shù)據(jù)約有150K,而H.264除了要存儲當(dāng)前幀的信息外還必須存儲重建幀和參考幀的信息,為此必須使用DM6446的片外存儲器,即DDR。但是DSP的CPU對不同存儲器的訪問速度是不一樣的,訪問速度最快的是離DSP核最近的L1P和L1D,其次是二級緩存L2,訪問速度最慢的是DSP的片外存儲器。DSP對不同存儲器的訪問速度相差數(shù)倍。為了提高編碼器的運行效率,節(jié)省DSP核對各個模塊訪問所消耗的時鐘周期,需要啟用DSP的DMA作為數(shù)據(jù)在兩個存儲器之間的傳輸通路。DMA的特點是可以在不需要CPU干預(yù)的情況下,在后臺執(zhí)行數(shù)據(jù)的高速傳輸,能夠有效減輕CPU的負荷。

        本文引用地址:http://www.104case.com/article/150985.htm


        C64x+在外部存儲器與內(nèi)部存儲器之間的數(shù)據(jù)傳遞可以通過增強型DMA(EDMA)實現(xiàn)。EDMA傳輸?shù)陌l(fā)起方式有3種,包括手動觸發(fā)方式、外設(shè)事件發(fā)起方式及QDMA模式。在編碼算法中,每處理完一組宏塊就要向CPU提出DMA傳輸申請,因此采用QDMA模式的傳輸發(fā)起方式更適用于編碼算法。


        DSP核對兩級內(nèi)部存儲器L1和L2的訪問速度也不同,如果將外部存儲器的數(shù)據(jù)直接通過EDMA傳入L1D和L1P,這樣的傳輸方式雖然較快,但需要分配比較大的L1 SRAM,這意味著L1的Cache就會變小,過小的L1 Cache會影響L2和外部內(nèi)存中的代碼和數(shù)據(jù)的效率。出于上述考慮,可以將L2作為L1與外部存儲器之間的數(shù)據(jù)過渡區(qū)。L1和L2之間的數(shù)據(jù)傳遞采用C64x+新引入的IDMA,其原理跟EDMA相似,實現(xiàn)兩個內(nèi)部存儲器的高速數(shù)據(jù)傳遞。


        為了使EDMA可以不間斷的實現(xiàn)數(shù)據(jù)的搬移,本設(shè)計采用了二級乒乓傳輸?shù)姆绞剑紫仍贚1 SRAM和L2 SRAM中開辟兩個緩沖區(qū),CPU在處理一個當(dāng)前宏塊組數(shù)據(jù)之前先處理EDMA和IDMA的傳輸申請,當(dāng)CPU編碼完一個宏塊組時,IDMA已將數(shù)據(jù)搬移至離核最近的L1緩沖區(qū),當(dāng)CPU繼續(xù)處理下一個宏塊組前再次處理EDMA和IDMA的傳輸申請。如此以乒乓傳遞的方式搬移數(shù)據(jù)可以保證CPU處理數(shù)據(jù)時最短的等待時間。

        優(yōu)化結(jié)果及分析
        表2為優(yōu)化前后的H.264編碼器對3個測試序列在DM6446上編碼后的結(jié)果比較。在表2中,優(yōu)化后的幀頻率比優(yōu)化前有了較大幅度的提高,這是由于對編碼器的運動估計模塊進行優(yōu)化后,有效減少了這一模塊所消耗的時鐘周期。而對DSP數(shù)據(jù)搬移方式的優(yōu)化,減少了DSP核等待數(shù)據(jù)搬入所消耗的時鐘周期。表2中,PSNR的值在優(yōu)化前后并沒有明顯變化,說明優(yōu)化后編碼質(zhì)量未受大的影響。

        霍爾傳感器相關(guān)文章:霍爾傳感器工作原理


        電度表相關(guān)文章:電度表原理


        霍爾傳感器相關(guān)文章:霍爾傳感器原理

        上一頁 1 2 3 下一頁

        關(guān)鍵詞:

        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 晋州市| 隆昌县| 丰镇市| 齐河县| 集安市| 巴楚县| 惠水县| 宝坻区| 徐水县| 固始县| 鄄城县| 长垣县| 石阡县| 内江市| 纳雍县| 石渠县| 万宁市| 广汉市| 仪陇县| 万年县| 邯郸市| 宝鸡市| 仁化县| 寻乌县| 子洲县| 永吉县| 洛南县| 济源市| 秦安县| 平舆县| 北京市| 永吉县| 齐河县| 丁青县| 岳普湖县| 马鞍山市| 监利县| 安化县| 华宁县| 拉萨市| 汨罗市|