基于A(yíng)DSP-BF5619處理的H.264視頻編碼器設計
0 引言
H.264/AVC是ITU-TVCEG和ISO/IEC MPEG聯(lián)合制定的最新視頻編碼國際標準,是目前圖像通信研究領(lǐng)域的熱點(diǎn)問(wèn)題之一。H.264的視頻編碼層(VCL)采用了許多新技術(shù),因而使得編碼性能大幅度提高。與以往的視頻編解碼標準相比,在相同的碼率下,H.264具有更佳的圖像質(zhì)量,這使得H.264在無(wú)線(xiàn)通信和網(wǎng)絡(luò )傳輸等低碼率視頻應用領(lǐng)域得到了更為廣泛的應用。但這是以復雜度的成本增加為代價(jià)的,故使H.264在實(shí)時(shí)視頻編碼及傳輸應用中面臨巨大的挑戰。而用高性能數字信號處理器(DSP)來(lái)實(shí)現H.264實(shí)時(shí)編碼器是一種快速有效的方法,有助于H.264視頻標準的迅速推廣和應用。ADSP-BF561處理器性能卓越,具有600 MHz的主頻,且集成了一套通用的數字圖像處理外圍設備接口,從而為多媒體和圖像應用創(chuàng )建了一個(gè)完美的系統級片上解決方案。本文針對低碼率視頻傳輸的需要,研究并實(shí)現基于H.264標準的視頻編碼系統,同時(shí)探討H.264軟件編碼器在DSP上的實(shí)現及優(yōu)化方法。
1 H.264編碼算法及ADSP-BF561簡(jiǎn)介
在實(shí)際開(kāi)發(fā)過(guò)程中,針對H.264的算法特點(diǎn)和ADSP-BF561雙核處理器的結構特性,本文做了大量?jì)?yōu)化工作,從而在保證編碼精度的同時(shí),大幅度提高了編碼速度。下面簡(jiǎn)要介紹H.264視頻編碼算法和ADSP-BF561雙核處理器系統。
1.1 H.264編碼算法
H.264是ISO和ITU聯(lián)合制定的新一代視頻編碼標準,具有很高的壓縮比和很好的魯棒性。其整體框架如圖1所示。
在繼承了原有視頻編碼標準的基礎上,H.264作了多方面的改進(jìn),包括引入4×4子塊和16x16子塊共9種模式的幀內預測。幀內模式的引入是為了與變換編碼一起用于消除空間上的冗余,進(jìn)而大大提高編碼效率。在幀間模式中,H.264可支持多尺寸的運動(dòng)估計和補償。其幀間預測時(shí)塊的大小不是固定的8x8,而是可以從4×4到16x16,并且包括長(cháng)寬不等的塊(共7種類(lèi)型),同時(shí)支持多參考幀,故可大大提高預測性能。此外,H.264還采用整數DCT變換來(lái)降低計算量,同時(shí)采用自適應算術(shù)編碼來(lái)提高編碼效率,并可利用濾波器消除低比特量化帶來(lái)的塊效應等。事實(shí)上,H.264的效率比現有的編碼技術(shù)可提高50%。
1.2 ADSP-BF561芯片結構
ADSP-BF561是一種雙核750 MHz處理器,具有對稱(chēng)多處理(SMP)系統結構。其SMP結構在信號處理和控制功能的集成和分割方面能夠為用戶(hù)提供較高的性能和較大的設計靈活性。ADSP-BF561的系統結構如圖2所示,它包含coreA和coreB兩個(gè)核,每個(gè)核的處理頻率可達750MHz。兩個(gè)核都有各自獨立的32KB L1指令存儲器(16KB Cache/SRAM)和64KB L1數據存儲器(32KB Cache/SDRAM),并可共享128KB L2存儲器。兩內核訪(fǎng)問(wèn)不同內存時(shí),其速率有明顯差異,其中訪(fǎng)問(wèn)L1存儲器最快,L2次之,而訪(fǎng)問(wèn)片外內存和設備則最慢。
由于訪(fǎng)問(wèn)存儲器速率的差異。雙核之間進(jìn)行數據交換最好在L1段直接進(jìn)行,而且需要使用IMDMA控制器。這個(gè)DMA控制器的主要功能是在雙核之間的L1存儲器之間進(jìn)行數據交換。使用IMDMA控制器可以在訪(fǎng)問(wèn)速率比較慢的片外內存或者對L2進(jìn)行數據處理操作時(shí),提高數據處理的速率,進(jìn)而提高編碼效率。
2 H.264視頻編碼算法的優(yōu)化與實(shí)現
對編碼器的優(yōu)化主要是對P幀編碼流程的優(yōu)化和對ADSP-BF561雙核處理系統的優(yōu)化,合理的流程有利于各種模塊的獨立性和完整性,同時(shí)有利于以后只針對某個(gè)模塊的優(yōu)化或升級處理。而利用ADSP-BF561的雙核協(xié)調處理優(yōu)勢可以進(jìn)一步提高其速度。
評論