基于DSP的MPEG-4視頻編碼技術研究與實現(xiàn)獲獎科研報告_第1頁
基于DSP的MPEG-4視頻編碼技術研究與實現(xiàn)獲獎科研報告_第2頁
基于DSP的MPEG-4視頻編碼技術研究與實現(xiàn)獲獎科研報告_第3頁
基于DSP的MPEG-4視頻編碼技術研究與實現(xiàn)獲獎科研報告_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基于DSP的MPEG-4視頻編碼技術研究與實現(xiàn)獲獎科研報告

【摘要】隨著社會不斷發(fā)展進步,視頻技術廣泛應用于日常生活與專業(yè)領域之中。MPEG-4視頻編碼技術為其中一種常用技術,本文闡述應用BF561處理器完成MPEG-4SP框架層次下視頻編碼系統(tǒng)的實現(xiàn)過程。首先,運用純C語言實現(xiàn)編碼功能,可通過建立的軟件完成算法研究、修改,并將其作為DSP移植的根本,實現(xiàn)在DSP的開發(fā)。其次,應用集成調試環(huán)境VisualDSP4.5++完成后續(xù)開發(fā),最終達到編碼目標。

【關鍵詞】DSP;MPEG-4;編碼

1.VisualDSP4.5++

VisualDSP4.5++擁有強大的編輯功能與高效的工程管理能力,還具有優(yōu)秀的調試控制能力與可視效果。其調試媒介能夠應用軟件進行模擬,也能夠用硬件應用JTAG在EZKIT評估板上,還能夠應用USB口實現(xiàn)調試。VisualDSP4.5++調試器具有優(yōu)秀的繪圖功能,能夠清晰展現(xiàn)數(shù)據(jù),促進工作效率。此外,其統(tǒng)計學特性能夠實現(xiàn)在不中斷程序的情況下獲取代碼運行情況,更精準的改進程序性能。

2.MPEG-4SP編碼系統(tǒng)整體設計

MPEG-4SP框架結構高效、容錯高的特點,十分適合運用在數(shù)字電視、多媒體監(jiān)控等低功耗系統(tǒng)中,屬嵌入式系統(tǒng)開發(fā)的主要技術。本次設計MPEG-4SP應用混合編碼框架,編碼原理框架如圖1。

系統(tǒng)的硬件平臺如圖2

設計開發(fā)流程如下,第一,應用VC6.0新建“encode-PC”,利用Xvidcorl.0.2構建編碼器。第二,構建純C代碼,實現(xiàn)源代碼修改。注意,輸入為.yuv文件,輸出為.m4v文件。第三,于PC平臺,刪減不需要的代碼,調節(jié)函數(shù)數(shù),將常用小函數(shù)寫入,完成準備工作。第四,于VisualDSP4.5++,架構工程組,調節(jié)函數(shù)存放位置。第五,反復完成編譯、修繕、調試,構建可應用于DSP的程序。第六,將輸入轉變?yōu)閿z像頭,輸出轉變?yōu)镾DRAM緩存。第七,應用VisualDSP4.5++M優(yōu)化方案,選擇正確的編譯選項。第八,結合統(tǒng)計窗口,調整LDF中的存儲器規(guī)模,重設L1存儲SRAM于Cache大小,再對相應變量的位置進行調節(jié)。第九,實現(xiàn)BF561在宏塊層上的并行處理。第十,完善匯編級代碼。第十一,將處理好的二進制文件轉移到Flash完成調試。

3.軟件移植

主要目的在于調整代碼適用于BF561,使其能夠應用于DSP。流程如下,第一,于VisualDSP4.5++,新建項目組,并構建corea、coreb、sml2、sml3四個項目,分別代表內核A、B與存儲空間L1、L2。第二,將源代碼轉移到對應項目,隨后反復進行編譯修改。第三,于VisualDSP4.5++進行數(shù)據(jù)讀寫,確保程序正常運行,再改寫輸入輸出模式,除去不需要函數(shù),輸入轉為從PPI0由A/D轉成的數(shù)據(jù),輸出轉為輸出緩沖區(qū)。

4.雙核DSP宏塊層并行結構設計

4.1并行性分析

視頻編碼算法中并行性分析分兩種,其一,可并行計算,其數(shù)據(jù)流明確、運算簡便、相關性弱。其二,不可并行計算,其運算控制與數(shù)據(jù)相關性強。通過并行處理視頻壓縮能夠有效應對計算量大的情況。以下對MPEG-4進行并行分析,優(yōu)化設計,MPEG-4圖像編碼囊括I、P、B-VOP,其中B-VOP未應用于MPEG-4SP。MPEG-4的層次由上至下分作塊層、宏塊層、條層、視頻對象層、視頻對象平面組層,按照上述次序進行編碼,于宏塊以外的各層添加起始碼與頭標,構建MPEG-4基本碼流。結合并行特點,從塊層開始考慮并行性,塊層兩核之間進行運動補償將產(chǎn)生強烈的相關特性,需傳遞信息量巨大,效率不高;而宏塊層與并行粒度最適,在16*16宏塊,實現(xiàn)并行性能夠達到很好的效率,但編碼依賴于前一宏塊,所以需采用科學通信方式,解決該問題;條層能取得媒體并行運算處理機制,通過MPEG引進SLICE,是指能夠單獨進行編碼;以更粗糙層進行考慮,能夠用VOG實現(xiàn)并行處理,不過,GOP無法徹底排除I-VOP、P-VOP、B-VOP間的強依靠性,若設VOP為IBBPBBPBBPBB能夠得知,最終幀的編碼一定會依靠下一VOG的首幀,因此同樣產(chǎn)生相關性,綜上,采取宏塊層實現(xiàn)并行性處理是最有效的方式。

4.2BF561并行性算法

BF561雙核有大量硬件資源支持,可單獨運行,避免BF561兩個核通信頻繁降低效率,結合MPEG-4編碼標準,應用宏塊層進行并行處理。依據(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強大功能,設計有效的編碼流程,具體流程如圖4。該流程特點在于核A進行流程操控,核B實現(xiàn)運算,結構相對簡潔,利于編寫與維護。為了充分發(fā)揮雙核性能,采用L2傳遞信息與數(shù)據(jù),A核增加控制DMA與處理全局信息的功能。

4.3并行編碼存在問題及解決方法

(1)宏塊編碼相關性

宏塊編碼中,DC值根據(jù)上一宏塊DC值當作偏量,不影響A核,其所需DC值已經(jīng)記錄在前一循環(huán)中。B核不相同,其相對的B、C、D亮度塊不受影響。不過,E、F色差塊需要的DC值存儲在A核,且處于運算中,因此,可以在L2劃分3個儲存變量,只要A核實現(xiàn)A、E、F編碼,將DC值記錄到相應變量,編到B核對應位置,就能從L2傳遞。由于,A核編碼起始時間早,兩核運算能力差不多,相對于L1,L2讀取速度下降1/2,犧牲速率存在限制,但能更有效地完成編碼。另一種解決方式為,B核直接應用前循環(huán)儲存的DC,相關度強,DC偏差自然小,不會降低運算效率,不過會產(chǎn)生一定的偏差,降低質量。

(2)同步信號

兩個核同時處理宏塊的過程中,應用儲存于L2的變量作為同步的信號。其中,由于兩個核可能隨時處理上述變量,當另一個核讀取時,可能產(chǎn)生讀取的內容為儲存在核里的變量的副本,導致讀取值與實際值不同,運行處理錯誤的問題,因此,變量儲存類別需要采用volatile限定符進行處理。如添加volatile限定詞,每當讀取變量值,轉而讀取L2儲存空間的實際值,保障并行工作運行無誤。

5.結束語

綜上所述,實現(xiàn)MPEG-4編碼技術在DSP上的運用,需要充分結合應用VisualDSP4.5++環(huán)境實現(xiàn)初步的設計編碼,需要了解并掌握MPEG-4SP框架編碼程序原理,從而實現(xiàn)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論