基于A(yíng)DSP-BF5619處理的H.264視頻編碼器設計
在A(yíng)DSP-BF561開(kāi)發(fā)板上實(shí)現這個(gè)編碼算法時(shí),其主要的難點(diǎn)是兩個(gè)核之間如何通信以及協(xié)調工作。雙核同時(shí)運行一個(gè)視頻編碼程序時(shí),需要對數據進(jìn)行共享和交換。雖然,使用片外內存或者L2共享存儲器來(lái)進(jìn)行宏塊數據交換的實(shí)現方法比較簡(jiǎn)單,且不需要進(jìn)行數據的拷貝,但是,大量訪(fǎng)問(wèn)低速率存儲器的操作將極大地影響程序執行的速率,進(jìn)而影響編碼器的編碼效率,所以,不能采用共享內存來(lái)進(jìn)行宏塊數據的交換。本文采用的是IMDMA在雙核各自的L1數據段直接進(jìn)行數據交換,而且在編碼處理的同時(shí)進(jìn)行內存數據的交換,從而避免了大量訪(fǎng)問(wèn)低速率的存儲空間操作,減少了程序執行的時(shí)間。而由于消息交換數據量很小,可以使用共享存儲器,因此,可以采用訪(fǎng)問(wèn)速率相對較快的L2存儲器來(lái)進(jìn)行存取。事實(shí)上,筆者已經(jīng)經(jīng)過(guò)優(yōu)化編程在BF561開(kāi)發(fā)板上實(shí)現了上述編碼算法。其雙核編碼主流程如圖5所示。本文引用地址:http://dyxdggzs.com/article/166848.htm
3 試驗結果與數據分析
經(jīng)過(guò)優(yōu)化,H.264的編碼性能有了較大的提升,實(shí)現了在BF561芯片上對4CIF格式視頻的實(shí)時(shí)編碼處理。同時(shí),筆者還在VisualDSP++5.0編譯環(huán)境下分別對原編碼器和雙核編碼器實(shí)現的編碼結果進(jìn)行了測試,其結果如表1所列。事實(shí)上,編碼速度基本取決于圖像畫(huà)面的運動(dòng)情況和顏色是否豐富。從上面的數據可以看出,對于不同序列,其編碼速度也不同。Claire序列的編碼速度之所以很快,是因為圖像背景靜止,只有肩部和頭部有運動(dòng),所以編碼數據量較表1對不同序列的優(yōu)化結果(25f/s CIF格式)少,編碼速度較高。另外,如果圖像比較簡(jiǎn)單,其編碼速度也會(huì )較高,從而節約編碼時(shí)間。
試驗結果表明,采用本文的優(yōu)化方法可以節約大量的H.264視頻編碼數據處理的時(shí)間,能較好地滿(mǎn)足4CIF視頻序列實(shí)時(shí)編碼的要求。而對于很復雜的圖像,也可以在一定的量化參數下實(shí)現4CIF的實(shí)時(shí)編碼。
4 結束語(yǔ)
本文重點(diǎn)研究了基于ADSP-BF561雙核處理器的H.264視頻編碼算法的優(yōu)化及其實(shí)現方法。同時(shí)針對ADSP-BF561雙核處理器的體系結構,對編碼的關(guān)鍵部分進(jìn)行了算法流程的調整,并通過(guò)BF561雙核之間的數據交換和協(xié)調工作,在雙核上實(shí)現了4CIF格式視頻數據的實(shí)時(shí)編碼。實(shí)踐證明,使用VisualDSP++5.0仿真軟件,在A(yíng)DSP-BF561開(kāi)發(fā)板上實(shí)現25f/s的H.264 4CIF視頻編碼系統,可以滿(mǎn)足人們對視頻傳輸的需求。
評論