<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 消費電子 > 設(shè)計應(yīng)用 > 基于ADSP-BF5619處理的H.264視頻編碼器設(shè)計

          基于ADSP-BF5619處理的H.264視頻編碼器設(shè)計

          作者: 時間:2009-12-02 來源:網(wǎng)絡(luò) 收藏

          在ADSP-BF561開發(fā)板上實現(xiàn)這個編碼算法時,其主要的難點是兩個核之間如何通信以及協(xié)調(diào)工作。雙核同時運行一個編碼程序時,需要對數(shù)據(jù)進行共享和交換。雖然,使用片外內(nèi)存或者L2共享存儲器來進行宏塊數(shù)據(jù)交換的實現(xiàn)方法比較簡單,且不需要進行數(shù)據(jù)的拷貝,但是,大量訪問低速率存儲器的操作將極大地影響程序執(zhí)行的速率,進而影響的編碼效率,所以,不能采用共享內(nèi)存來進行宏塊數(shù)據(jù)的交換。本文采用的是IMDMA在雙核各自的L1數(shù)據(jù)段直接進行數(shù)據(jù)交換,而且在編碼的同時進行內(nèi)存數(shù)據(jù)的交換,從而避免了大量訪問低速率的存儲空間操作,減少了程序執(zhí)行的時間。而由于消息交換數(shù)據(jù)量很小,可以使用共享存儲器,因此,可以采用訪問速率相對較快的L2存儲器來進行存取。事實上,筆者已經(jīng)經(jīng)過優(yōu)化編程在BF561開發(fā)板上實現(xiàn)了上述編碼算法。其雙核編碼主流程如圖5所示。

          本文引用地址:http://www.ex-cimer.com/article/166848.htm

          3 試驗結(jié)果與數(shù)據(jù)分析
          經(jīng)過優(yōu)化,H.264的編碼性能有了較大的提升,實現(xiàn)了在BF561芯片上對4CIF格式的實時編碼。同時,筆者還在VisualDSP++5.0編譯環(huán)境下分別對原和雙核實現(xiàn)的編碼結(jié)果進行了測試,其結(jié)果如表1所列。事實上,編碼速度基本取決于圖像畫面的運動情況和顏色是否豐富。從上面的數(shù)據(jù)可以看出,對于不同序列,其編碼速度也不同。Claire序列的編碼速度之所以很快,是因為圖像背景靜止,只有肩部和頭部有運動,所以編碼數(shù)據(jù)量較表1對不同序列的優(yōu)化結(jié)果(25f/s CIF格式)少,編碼速度較高。另外,如果圖像比較簡單,其編碼速度也會較高,從而節(jié)約編碼時間。

          試驗結(jié)果表明,采用本文的優(yōu)化方法可以節(jié)約大量的H.264編碼數(shù)據(jù)的時間,能較好地滿足4CIF視頻序列實時編碼的要求。而對于很復(fù)雜的圖像,也可以在一定的量化參數(shù)下實現(xiàn)4CIF的實時編碼。


          4 結(jié)束語
          本文重點研究了ADSP-BF561雙核處理器的H.264視頻編碼算法的優(yōu)化及其實現(xiàn)方法。同時針對ADSP-BF561雙核處理器的體系結(jié)構(gòu),對編碼的關(guān)鍵部分進行了算法流程的調(diào)整,并通過BF561雙核之間的數(shù)據(jù)交換和協(xié)調(diào)工作,在雙核上實現(xiàn)了4CIF格式視頻數(shù)據(jù)的實時編碼。實踐證明,使用VisualDSP++5.0仿真軟件,在ADSP-BF561開發(fā)板上實現(xiàn)25f/s的H.264 4CIF視頻編碼系統(tǒng),可以滿足人們對視頻傳輸?shù)男枨蟆?br />


          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();