丁嘉霖 張立鵬 龐翔 陸波亮 謝藝
【摘 要】隨著社會不斷發(fā)展進步,視頻技術(shù)廣泛應(yīng)用于日常生活與專業(yè)領(lǐng)域之中。MPEG-4視頻編碼技術(shù)為其中一種常用技術(shù),本文闡述應(yīng)用BF561處理器完成MPEG-4 SP框架層次下視頻編碼系統(tǒng)的實現(xiàn)過程。首先,運用純C語言實現(xiàn)編碼功能,可通過建立的軟件完成算法研究、修改,并將其作為DSP移植的根本,實現(xiàn)在DSP的開發(fā)。其次,應(yīng)用集成調(diào)試環(huán)境Visual DSP 4.5++完成后續(xù)開發(fā),最終達到編碼目標(biāo)。
【關(guān)鍵詞】DSP;MPEG-4;編碼
1.Visual DSP 4.5++
Visual DSP 4.5 ++擁有強大的編輯功能與高效的工程管理能力,還具有優(yōu)秀的調(diào)試控制能力與可視效果。其調(diào)試媒介能夠應(yīng)用軟件進行模擬,也能夠用硬件應(yīng)用JTAG在EZKIT評估板上,還能夠應(yīng)用USB口實現(xiàn)調(diào)試。Visual DSP4.5++調(diào)試器具有優(yōu)秀的繪圖功能,能夠清晰展現(xiàn)數(shù)據(jù),促進工作效率。此外,其統(tǒng)計學(xué)特性能夠?qū)崿F(xiàn)在不中斷程序的情況下獲取代碼運行情況,更精準(zhǔn)的改進程序性能。
2.MPEG-4 SP編碼系統(tǒng)整體設(shè)計
MPEG-4 SP框架結(jié)構(gòu)高效、容錯高的特點,十分適合運用在數(shù)字電視、多媒體監(jiān)控等低功耗系統(tǒng)中,屬嵌入式系統(tǒng)開發(fā)的主要技術(shù)。本次設(shè)計MPEG-4 SP應(yīng)用混合編碼框架,編碼原理框架如圖1。
系統(tǒng)的硬件平臺如圖2
設(shè)計開發(fā)流程如下,第一,應(yīng)用VC 6.0新建“encode-PC”,利用Xvidcorl.0.2構(gòu)建編碼器。第二,構(gòu)建純C代碼,實現(xiàn)源代碼修改。注意,輸入為.yuv文件,輸出為.m4v 文件。第三,于PC平臺,刪減不需要的代碼,調(diào)節(jié)函數(shù)數(shù),將常用小函數(shù)寫入,完成準(zhǔn)備工作。第四,于Visual DSP 4.5++,架構(gòu)工程組,調(diào)節(jié)函數(shù)存放位置。第五,反復(fù)完成編譯、修繕、調(diào)試,構(gòu)建可應(yīng)用于DSP的程序。第六,將輸入轉(zhuǎn)變?yōu)閿z像頭,輸出轉(zhuǎn)變?yōu)镾DRAM緩存。第七,應(yīng)用Visual DSP4.5++M優(yōu)化方案,選擇正確的編譯選項。第八,結(jié)合統(tǒng)計窗口,調(diào)整LDF中的存儲器規(guī)模,重設(shè)L1存儲SRAM于Cache大小,再對相應(yīng)變量的位置進行調(diào)節(jié)。第九,實現(xiàn)BF561在宏塊層上的并行處理。第十,完善匯編級代碼。第十一,將處理好的二進制文件轉(zhuǎn)移到Flash完成調(diào)試。
3.軟件移植
主要目的在于調(diào)整代碼適用于BF561,使其能夠應(yīng)用于DSP。流程如下,第一,于VisualDSP4.5++,新建項目組,并構(gòu)建corea、coreb、sml2、sml3四個項目,分別代表內(nèi)核A、B與存儲空間L1、L2。第二,將源代碼轉(zhuǎn)移到對應(yīng)項目,隨后反復(fù)進行編譯修改。第三,于VisualDSP 4.5++進行數(shù)據(jù)讀寫,確保程序正常運行,再改寫輸入輸出模式,除去不需要函數(shù),輸入轉(zhuǎn)為從PPI0由A/D轉(zhuǎn)成的數(shù)據(jù),輸出轉(zhuǎn)為輸出緩沖區(qū)。
4.雙核DSP宏塊層并行結(jié)構(gòu)設(shè)計
4.1并行性分析
視頻編碼算法中并行性分析分兩種,其一,可并行計算,其數(shù)據(jù)流明確、運算簡便、相關(guān)性弱。其二,不可并行計算,其運算控制與數(shù)據(jù)相關(guān)性強。通過并行處理視頻壓縮能夠有效應(yīng)對計算量大的情況。以下對MPEG-4進行并行分析,優(yōu)化設(shè)計,MPEG-4圖像編碼囊括I、P、B-VOP,其中B-VOP未應(yīng)用于MPEG-4 SP。MPEG-4的層次由上至下分作塊層、宏塊層、條層、視頻對象層、視頻對象平面組層,按照上述次序進行編碼,于宏塊以外的各層添加起始碼與頭標(biāo),構(gòu)建MPEG-4基本碼流。結(jié)合并行特點,從塊層開始考慮并行性,塊層兩核之間進行運動補償將產(chǎn)生強烈的相關(guān)特性,需傳遞信息量巨大,效率不高;而宏塊層與并行粒度最適,在16*16宏塊,實現(xiàn)并行性能夠達到很好的效率,但編碼依賴于前一宏塊,所以需采用科學(xué)通信方式,解決該問題;條層能取得媒體并行運算處理機制,通過MPEG引進SLICE,是指能夠單獨進行編碼;以更粗糙層進行考慮,能夠用VOG實現(xiàn)并行處理,不過,GOP無法徹底排除I-VOP、P-VOP、B-VOP間的強依靠性,若設(shè)VOP為IBBPBBPBBPBB能夠得知,最終幀的編碼一定會依靠下一VOG的首幀,因此同樣產(chǎn)生相關(guān)性,綜上,采取宏塊層實現(xiàn)并行性處理是最有效的方式。
4.2BF561并行性算法
BF561雙核有大量硬件資源支持,可單獨運行,避免BF561兩個核通信頻繁降低效率,結(jié)合MPEG-4編碼標(biāo)準(zhǔn),應(yīng)用宏塊層進行并行處理。依據(jù)MPEGY編碼步驟,處理視頻數(shù)據(jù),并存在SDRAM,由BF561經(jīng)過DMA讀取16*16個宏塊相對的Y、Cb、Cr,如圖3,根據(jù)4:2:0格式實現(xiàn)雙核編碼,最后輸入至存儲空間。
綜合BF561雙核對稱特性及Ⅲ級存儲優(yōu)點,發(fā)揮DMA強大功能,設(shè)計有效的編碼流程,具體流程如圖4。該流程特點在于核A進行流程操控,核B實現(xiàn)運算,結(jié)構(gòu)相對簡潔,利于編寫與維護。為了充分發(fā)揮雙核性能,采用L2傳遞信息與數(shù)據(jù),A核增加控制DMA與處理全局信息的功能。
4.3并行編碼存在問題及解決方法
(1)宏塊編碼相關(guān)性
宏塊編碼中,DC值根據(jù)上一宏塊DC值當(dāng)作偏量,不影響A核,其所需DC值已經(jīng)記錄在前一循環(huán)中。B核不相同,其相對的B、C、D亮度塊不受影響。不過,E、F色差塊需要的DC值存儲在A核,且處于運算中,因此,可以在L2劃分3個儲存變量,只要A核實現(xiàn)A、E、F編碼,將DC值記錄到相應(yīng)變量,編到B核對應(yīng)位置,就能從L2傳遞。由于,A核編碼起始時間早,兩核運算能力差不多,相對于L1,L2讀取速度下降1/2,犧牲速率存在限制,但能更有效地完成編碼。另一種解決方式為,B核直接應(yīng)用前循環(huán)儲存的DC,相關(guān)度強,DC偏差自然小,不會降低運算效率,不過會產(chǎn)生一定的偏差,降低質(zhì)量。
(2)同步信號
兩個核同時處理宏塊的過程中,應(yīng)用儲存于L2的變量作為同步的信號。其中,由于兩個核可能隨時處理上述變量,當(dāng)另一個核讀取時,可能產(chǎn)生讀取的內(nèi)容為儲存在核里的變量的副本,導(dǎo)致讀取值與實際值不同,運行處理錯誤的問題,因此,變量儲存類別需要采用volatile限定符進行處理。如添加volatile限定詞,每當(dāng)讀取變量值,轉(zhuǎn)而讀取L2儲存空間的實際值,保障并行工作運行無誤。
5.結(jié)束語
綜上所述,實現(xiàn)MPEG-4編碼技術(shù)在DSP上的運用,需要充分結(jié)合應(yīng)用Visual DSP 4.5++環(huán)境實現(xiàn)初步的設(shè)計編碼,需要了解并掌握MPEG-4 SP框架編碼程序原理,從而實現(xiàn)編碼系統(tǒng)的整體設(shè)計,通過語言的轉(zhuǎn)換將軟件移植入DSP,實現(xiàn)基礎(chǔ)的技術(shù)構(gòu)建。結(jié)合實際情況,了解到視頻編碼運行計算量龐大,通過對比分析,得出采用宏塊層并行結(jié)構(gòu)能夠更有效地實現(xiàn)視頻編碼技術(shù)目標(biāo),并對編碼過程中產(chǎn)生的問題提出相應(yīng)的處理辦法、采取對應(yīng)的解決措施,以完成視頻編碼技術(shù)的實現(xiàn)。
參考文獻:
[1]張小華,占妮.MPEG-4視頻編碼技術(shù)的研究及實現(xiàn)[J].自動化與儀器儀表,2009,{4}(04):97-98+114.
[2]石獻. 基于DSP的MPEG-4視頻編碼技術(shù)研究與實現(xiàn)[D].中南大學(xué),2008.
[3]張立東,熊磊,張雄,畢篤彥. MPEG-4標(biāo)準(zhǔn)中的視頻編碼關(guān)鍵技術(shù)及軟件實現(xiàn)[A]. 中國體視學(xué)學(xué)會圖像分析分會、中國航空學(xué)會信號與信息處理分會、陜西省圖象與圖形學(xué)學(xué)會、陜西省信號處理學(xué)會.信號與信息處理技術(shù)——第一屆信號與信息處理聯(lián)合學(xué)術(shù)會議論文集[C].中國體視學(xué)學(xué)會圖像分析分會、中國航空學(xué)會信號與信息處理分會、陜西省圖象與圖形學(xué)學(xué)會、陜西省信號處理學(xué)會:中國體視學(xué)學(xué)會,2002:5.