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