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

下載本文檔

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

文檔簡介

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

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

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

1.VisualDSP4.5++

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

2.MPEG-4SP編碼系統整體設計

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

系統的硬件平臺如圖2

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

3.軟件移植

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

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

4.1并行性分析

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

4.2BF561并行性算法

BF561雙核有大量硬件資源支持,可單獨運行,避免BF561兩個核通信頻繁降低效率,結合MPEG-4編碼標準,應用宏塊層進行并行處理。依據MPEGY編碼步驟,處理視頻數據,并存在SDRAM,由BF561經過DMA讀取16*16個宏塊相對的Y、Cb、Cr,如圖3,根據4:2:0格式實現雙核編碼,最后輸入至存儲空間。

綜合BF561雙核對稱特性及Ⅲ級存儲優點,發揮DMA強大功能,設計有效的編碼流程,具體流程如圖4。該流程特點在于核A進行流程操控,核B實現運算,結構相對簡潔,利于編寫與維護。為了充分發揮雙核性能,采用L2傳遞信息與數據,A核增加控制DMA與處理全局信息的功能。

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

(1)宏塊編碼相關性

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

(2)同步信號

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

5.結束語

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

溫馨提示

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

評論

0/150

提交評論