基于MPEG-4的視頻編解碼技術已經成為當前多媒體技術發展的熱點。本文提出了一種以多DSP為核心的MPEG-4編解碼系統,并設計出了具體的硬件平臺方案。 隨著互聯網的飛速發展,消費類電子、電視電影廣播、計算機技術日益緊密地結合起來。人們不再滿足于只用簡單的文字、聲音進行交流,逐漸趨向于用圖、文、聲、動畫、視頻等多種媒體進行綜合交流。 MPEG-4作為新一代多媒體標準提供了一整套能同時滿足制作者、服務商和終端用戶的編解碼技術。它為數字化的多媒體數據的通信、訪問和操作提供了新的方法,并且提供了一個靈活的框架和一套開發工具來支持新的和傳統的性能。其基于對象的數據壓縮、靈活的碼流伸縮性以及可交互性的優點使其可以適應多媒體數據壓縮技術的發展趨勢。 基于MPEG4標準的解決方案紛紛推出,有的為硬件方案,有的為軟件方案。前者設計一個MPEG-4專用編解碼芯片,后者方式是基于通用視頻DSP芯片的軟件實現. 采用專用芯片的優點是系統實時性好,壓縮率高,且圖像質量也好。缺點是一旦編解碼方案固定,就較難對其進行升級與更新,且此種系統成本造價高,不易在市場上推廣。后一種方式利用DSP的高速信號處理功能,使用軟件實現的算法在其上運行時可以大大縮短執行時間,獲得較高的壓縮率,同時該方案易升級,算法易更新。 近幾年隨著通用DSP芯片的價格下降,使得以DSP芯片為核心加上適當的外圍部件形成的MPEG-4音視頻編解碼系統將成為主流。本系統就是基于TI 公司的DSP平臺上對MPEG-4編解碼算法的實現。 1.方案設計 在開發MPEG-4編解碼系統時,總的來說其難點在于對MPEG-4視頻編解碼算法的實現上。這是由于視頻圖像數據量巨大,對其處理和壓縮需占用較多的芯片資源和處理時間,在單獨的一片DSP芯片很難實現。舉例來說,在視頻編碼中通常的實現方式是由單片的DSP芯片加上一定的片外擴展資源(如EPROM、SDRAM等)來實現編碼算法,但是在實際算法的執行中,對外接器件中的數據讀寫的速度遠小于對DSP芯片內部資源的讀寫速度,這使得整個系統的運行速度就比較慢。如果要求一片DSP芯片同時實現編解碼算法則開發難度就更大了。實際的開發經驗也證明在單片DSP上實現視頻的編解碼算法較為困難,開發周期較長,其圖像效果也不佳。而在實際應用中,用戶對圖像顯示效果的要求越來越高,這就對圖像的顯示速度和清晰度提出了更高的要求。 本方案中是采用多DSP來實現MPEG-4的編解碼算法,多DSP的好處不言而喻,多DSP的協同處理可以極大得提高信號處理的速度。雖然多DSP帶來成本上提升,但是主流通用DSP芯片TMS320C5000、TMS320C6000系列芯片價格的逐年下降,使得多DSP的應用已經步入實用化階段。 2.系統實現 具體的系統實現方案是采用三片DSP作為音視頻的協處理器:一片TMS320C5402(以下簡稱為TMS5402)實現音頻編解碼,一片TMS320C6204(以下簡稱為TMS6204)實現視頻編碼,另一片TMS6204實現視頻的解碼。為了實現對系統的控制,同時擴展其網絡功能,另外采用了一片ATMEL公司的AT75C220芯片,通過在其上嵌入式操作系統,來實現對DSP芯片及其外圍電路的控制。具體的系統硬件結構圖如下圖1所示: 系統上電后,通過自引導程序進行初始化,AT75C220自動從Flash Disk中植入嵌入式操作系統,各DSP芯片也分別自引導入相應的編解碼算法。同時此操作系統還向用戶提供一個友好的操作界面,用戶通過此界面來控制DSP芯片的編解碼過程、系統與網絡的連接,以及常用的功能(關機、播放音視頻、上網等)。 2.1 音視頻編碼 視頻編碼模塊框圖如下: 視頻編碼工作過程:視頻圖像經過采集存儲于幀緩存器中,采集完成后FPGA(可編程邏輯器件)向TMS6204發出接收信號。TMS6204接收到“圖像已采集好”的信號后,就通過DMA方式將圖像寫至片外存儲器SDRAM中,并開始運行MPEG-4視頻編碼算法對片外存儲器中的圖像進行編碼。編碼輸出信號通過HPI(Host Port Interface)口送至AT75C220,AT75C220將視頻信號與音頻進行同步打包后經由網絡模塊發往接收主機處。 音頻編解碼模塊框圖如下: 音頻編碼的過程與視頻類似,不同的是由TMS5402來執行編碼算法,這主要是考慮到系統的性價比。由于音頻編碼的運算量要比視頻編碼小得多,這使得TMS5402的芯片資源足夠完成音頻編碼,并且其價格要比TMS6204低的多。 音頻編碼工作過程:信號通過MIC(Microphone)送到A/D轉換器中,A/D轉換器將收到的模擬信號轉換成為離散信號,未壓縮的離散信號被送到DSP后,DSP將其存儲起來,每收夠一幀處理一次,即調用音頻編碼算法一次,編碼后得到的離散信號被DSP發送至AT75C220,由其打包經由網絡發至主機處。 音頻解碼和音頻編碼都在同一塊DSP芯片TMS5402中完成,這是因為音頻的編解碼過程沒有視頻那么復雜,占用的資源相對較少。以TMS5402的芯片資源是可以同時完成音頻的編解碼算法的。 2.2 音視頻解碼 音頻解碼工作過程:TMS5402接收到MPEG-4音頻已編碼信號后就開始進行解碼算法,每解碼出一幀音頻信號,就直接將其進行D/A轉換發送到耳機或是音箱中播放。 視頻解碼模塊框圖如下: 視頻解碼工作過程:AT75C220將接收到的MPEG-4視頻編碼信號直接送往TMS6204。當其運行解碼算法得到第一幀的圖像數據后,就將其拷貝到片外的SDRAM中,同時向FPGA發送一個初始化信號,然后FPGA調用中斷通過DMA方式將SDRAM中的圖像轉移到FIFO里,經D/A轉換合成為RGB信號后送往顯示器顯示出圖像。 2.系統特點 根據仿真的結果,在352*240(NTSC制式),視頻輸出35幀/秒以上,碼率可控制在100kbps"1000kbps之間,完全可以滿足實際需要。近年來,隨著FPGA技術的日益成熟,利用FPGA的特殊結構和特性,很多復雜數字算法開始使用PPCA完成,使它可以更加高速和高效地完成這些算法,但相應的是其開發難度變大,周期變長。由于本系統是基于DSP來實現的,與上述方式相比具有設計周期短,成本低的特點。同時具有很強的通用性和擴展性,可根據實際需求形成豐富的產品系列。 3.結束語 MPEG4的應用前景將是非常廣闊的。 它的出現將對以下各方面產生較大的推動作用:實時通信、數字電視、廣播電視、實時多媒體監控、移動多媒體通信、內容存儲和檢索多媒體系統、基于Internet/Intranet的數字碼流視頻、基于面部表情模擬的虛擬會議、DVD上的交互多媒體應用、基于計算機網絡的可視化合作實驗室場景應用等。 |