摘 要:隨著視頻壓縮編碼技術和圖像采集技術的發展,視頻處理的網絡帶寬也在不斷增加。MPEG-4具有優越的壓縮性能和圖像效果,日益成為人們關注的焦點。給出一種基于Vweb公司的Vw2010的MPEG-4視頻解碼系統的解決方案。簡單介紹Vw2010工作原理,配置方法。研究結果表明,提出的關于MPEG-4傳輸流播放設計方案是切實可行的。設計了一套基于Vw2010硬件可以實現的MPEG-4解碼系統。
關鍵詞:MPEG-4;視頻解碼;Vw2010;硬件電路
中圖分類號:TP368.1 文獻標識碼:B 文章編號:1004-373X(2008)02-058-03
Design for the Hardware Circuit of MPEG-4 Decoding System
XU Xiaoyao,LI Bingbing
(State Key Laboratory of ISN,Xidian University,Xi′an,710071,China)
Abstract:With development ofvideo compression coding and image acquisition technique,the network bandwidth of video signal processing is increasing continuously.MPEG-4has superior compressive properties and sensing images,it has already become increasingly attention problem.A research about the system of decode MPEG-4 is carried on in this paper.The collocation method and operating principle of Vw2010 is introduced briefly.The result shows that the design scheme is feasible on the playing of TS of MPEG-4.It also illustrates the application of Vw2010 in the MPEG-4 decoding system.
Keywords:MPEG-4;video decoding;Vw2010;hardware circuit
1 引 言
現代的視頻監控系統廣泛地應用的現代生活的各個方面,比如道路監控、樓道監控和軍事圖像信息的監控等。多媒體和網絡技術的飛速發展,使人們對視頻圖像處理提出了更加高的要求。傳統的監控設備采用的磁盤記錄的方式有很多方面的缺點,比如畫面質量較差、存儲設備要求比較多,現代的數字壓縮編碼技術,比如MPEG-1,可以克服部分缺點,但是也存在著數據量比較大、圖像比較差的缺點。MPEG-4是為了提高數字壓縮的性能而提出,并且于2000年初正式成為國際標準。MPEG-4具有更加優秀的壓縮技術,獲得比MPEG-1等壓縮標準更加優秀的畫面質量,因而日益成為人們對數字視頻壓縮的標準。現在壓縮和解壓MPEG-4的硬件和軟件方案都比較成熟。軟件方案對DSP等處理器要求比較高,硬件的實現方面則沒有這個要求,所以硬件的方案日益成為人們的選擇。采用硬件實現的方法,設計的成本比較低,可擴展性好。
現在市場上具有很多款可以實現MPEG-4壓縮編碼和解碼的芯片,Vweb公司出的Vw2010可以同時實現編碼和解碼,而且是其中比較優秀的一款。Vw2010的視頻可以達到25幀左右,其監控效果良好,實踐證明,這個系統是可實現的,而且具有良好的音視頻效果。本系統采用這款Vw2010芯片實現解碼,有著很好的應用前景。
2 MPEG-4的特點介紹
MPEG-4是一種面向多媒體應用的視頻壓縮標準,采用了基于對象的壓縮編碼技術,在編碼前首先對視頻序列進行分析,從原始圖像中分割出各個視頻對象,然后對各個視頻對象的形狀信息、運動信息、紋理信息單獨編碼,并通過比MPEG-2更加優秀的運動預測和運動補償去除連續幀之間的時間冗余。其核心是基于內容尺度可變性。內容尺度可變性意味著可以給圖像中的各個對象分配不同的優先級。其中,比較重要的對象用較高的空間和(或)時間分辨力表示。對于比較低的比特率應用系統提供了自適應可用資源的能力。MPEG-4提出對象的概念。通過對不同的音視頻對象做不同的處理,可以實現對不同對象共用不同算法的壓縮;對不同對象分配不同TS流,以及用戶交互式的音視頻對象操作等功能。MPEG-4支持空間、時間及信噪比的可分級性。用戶可根據自己的帶寬、處理能力等對相應的TS流進行處理。優質的圖像效果和較低的碼率日益成為對圖像處理和壓縮的要求。MPEG-4在應用方面,由于他以較少的帶寬傳輸高質量的畫面,并將多種多媒體通信加以綜合,滿足了人們對傳輸畫面質量的要求和碼率的要求。
3 系統設計
為了實現比較好的壓縮的圖像質量和比較大的動態壓縮比,滿足在現實的設計中經常沒有計算機的要求,這里設計利用DSP作為主機和FPGA仿時序,完成Vw2010初始化和控制、MPEG-4播放的功能。
3.1 Vw2010介紹
Vw2010是本系統中完成音視頻編解碼的主要芯片。Vw2010是實時MPEG-1,MPEG-2和MPEG-4音視頻系統編解碼芯片,支持同時壓縮、解壓處理,兼容多種視頻標準。視頻編碼部分接收未壓縮的ITU-R.BT.656數字視頻信號,壓縮后為網絡應用提供TS(MPEG)傳輸流。視頻解碼部分接收符合標準的MPEG或其他數據TS流,輸出ITU-R.BT.656數字視頻。音頻編碼部分接收未壓縮的I2S數字音頻信號,壓縮到MPEG中;音頻解碼部分接收MPEG數據,分離出音頻信號并輸出I2S數字音頻信號。
Vw2010支持3種啟動碼導入模式:ROM導入,I2C導入(SE2PROM協助)和主機導入。所有3種模式向主RISC處理器、編解碼器CPU導入的微碼都是先置于解碼器的SDRAM中。本系統設計中采用主機導入模式。外部主機(host)通過主機接口能夠訪問Vw2010芯片內部硬件寄存器和編解碼器SDRAM。主機接口(HIU)內部擁有中斷控制器用于管理來自芯片內部各個獨立工作模塊的中斷信號,片內A/V緩存器和各個FIFO,以及允許外部主機來確定中斷源。主機接口還允許外部主機重置芯片內部編解碼器和主RISC處理器等各個獨立模塊。主機接口能夠靈活響應DMA請求,而且主機接口內部包含一系列內部寄存器,這些內部寄存器保存著用于A/V捕獲和編碼處理的相關參數,可用于啟動和停止編解碼器操作等。
主機接口具有讀寫芯片內部硬件寄存器的I/O通道。主機通過發送寄存器讀寫命令獲得訪問權限。訪問寄存器命令由2部份構成,HIU命令碼和寄存器地址碼。微碼下載: 主機接口提供了往芯片內編解碼器的CPU和主RISC處理器下載微碼的通道。微碼的下載類似于寄存器訪問和SDRAM訪問,他需要HIU的命令,而且HIU提供的帶寬必須能區分出寫入帶寬(16 b)和內部寄存器帶寬(16 b)間指令長度存在的差異。
本系統所有的微代碼都通過HIU下載Vw2010通過HIU與外部主機通信。設置芯片rom_data [6:0]引腳為0000011,即rom_data[2]- rom_data[6]引腳接下拉電阻10 k置低位, rom_data[0],rom_data[1]引腳懸空置高位,系統中無需外部ROM或SE2PROM協助。在此模式下,外部主機負責所有的下載程序。Vw2010芯片的Vweb固件是用默認值對系統進行配置的。A/V 參數(解碼器的啟動/停止狀態等)的設置必須根據特定的應用來配置。在固件下載完后,通過往共享存儲區寫IOCTL碼和相關參數值來直接設置。DSP向Vw芯片發送的IOCTL命令由3個基本步驟構成:
(1) 獲得Vw設備處理句柄;
(2) 發送IOCTL命令;
(3) 釋放設備處理句柄。
一旦所有的微碼被下載,且所有模塊都被初始化后,外部主機可啟動編解碼器和主RISC處理器。
3.2 系統設計方案
對Vw2010來說,他必須與CPU互相進行通信才能進行工作。初始化工作必須由CPU控制執行,而本系統的設計沒有外部的計算機作為主機,所以選用了TI公司的TMS320VC5416作為主機進行控制和初始化。其系統設計框圖如圖1所示。
DSP接收到前端傳送的指令以后分析認為要求接收數據,要求FPGA按照事先約定的傳輸協議接收到傳送過的已經壓縮成為MPEG-4的格式數據流。DSP在硬盤上建立相對應的文檔,并且將FPGA接收到的MPEG-4數據存入硬盤上。DSP接收到前端傳送的指令以后分析認為要求開始解碼,控制FPGA將存儲的MPEG-4數據流從相應的硬盤目錄上以塊的形式取出,將MPEG-4的碼流通過FPGA仿Intel的模式輸入到Vw2010中進行解碼。比特流輸入到分解器(DEMUX)后,分解器將壓縮的數據輸入中的視頻、音頻等數據分離,把視頻數據單獨提取出來存入解碼器SDRAM,進行運動補償(MCU)、可變長解碼(VLD)、反量化/反離散余弦變換(IQ/IDCT)等。這樣就完成了視頻數據的解壓縮。
經視頻輸出模塊輸出格式為ITU-R.BT.656的8位數字視頻信號,這8位視頻信號直接連接到SAA7129,將8位數字視頻信號轉化為PAL或VGA制式的模擬電視信號。音頻信號經過Vw2010從MPEG的碼流中分流為符合I2S標準的數字音頻流,輸出的D/A變化采用CRYSTAL公司的4334,將輸入的I2S數字信號,轉化為左右聲道的模擬信號輸出。
3.3 控制軟件的設計
將所有的程序都放在DSP的FLASH中。整個編解碼電路正常工作前,需要對各部分器件進行必要的初始化。DSP讀取FLASH中的程序完成的初始化,然后將Vw2010和SAA7129的初始化程序的數據傳送給FPGA,FPGA接收到傳輸過來的程序以后,按照Intel的模式,對Vw2010進行初始化。Vw2010以I2C總線將SAA7129進行初始化,并且DSP程序要完成硬盤的初始化配置和數據的讀取。如圖2所示。
3.4 Vw2010的軟件配置要求
Vw2010提供了3種與host通信的機制:直接訪問內部寄存器、共享存儲區(shared memory)和DMA。Vw2010允許host直接訪問其內部寄存器和外部存儲單元,寄存器方式主要用于調試目的和下載固件程序;DMA方式則負責Vw2010芯片和應用緩沖區之間的數據傳輸(如MPEG數據流);共享存儲區機制是設備驅動程序和Vw2010間的主要通信方式。在這里主要采用host模式進行固件的下載和初始化。如圖3所示。
在系統上電/復位時,視頻解碼器的固件程序可由外部主機(host)載入專用的SDRAM;而片內CPU的固件程序則可載入Vw2010外掛的SDRAM。VW2010固件主要包括2部分:一個是boot.sre;另一個是pscodec.sre(PS流)或tscodec.sre(TS流)。固件下載的模塊的資料在Vweb公司的資料中已經詳細的給出。在傳遞控制指令時,需要ALE,WR,RD信號同時滿足Intel總線傳輸時序。在發送成功1個16位控制指令后,Vw2010會通過其輸出信號INTEL-DTACK發送1個有效響應。在解壓數據傳輸過程中,主要是通過CDO-REQ,CDO-ACK以及INTEL-DTACK信號來控制傳輸。INTEL-DTACK的有效響應證明了一個字節的壓縮數據的成功發送(接收),同時,也可以通過調整CDI-ACK(CDO-ACK)的頻率來控制壓縮數據的傳輸速率,也可以根據INTEL-DTACK信號的變化次數對壓縮數據包進行計數。
通過I2C總線,將SAA7129的參數設置成設計所需的PAL復合視頻信號或標準VGA信號,Vw2010解碼輸
出符合ITU-656格式的4∶2∶2的YUV信號,具有自動鉗位和自動增益控制功能。這樣SAA7129在接收到Vw2010解碼輸出ITU-656格式的YUV信號后解碼輸出PAL復合視頻信號或標準VGA信號。
4 結 語
文中的方案可以成功地完成對Vw2010芯片的初始化配置和進行解碼。系統設計的MPEG-4解碼通過采用Vw2010,FPGA和DSP三款核心芯片來構造,融合3者各自應用特點,具有高效的圖像處理能力、交互性能強、靈活的應用性和穩定性高、可擴展性強等特點,具有較廣闊的應用前景。其可以廣泛地應用到現代社會的視頻監控方面。DSP作為主要控制設備,在系統中起到核心作用,而FPGA利用其可編程性完成時序任務,Vw2010作為系統的核心,完成的是解碼的任務。利用文中的方案,可以使用硬盤等作為MPEG-4碼流的存儲設備,可以獨立的進行MPEG-4的解碼。其可以廣泛的應用安全監控、網絡視頻會議、軍事監控等方面。具有廣闊的市場和發展的空間。
參 考 文 獻
[1]VW2010 A/V/S CODEC Chip Hardware Description Manu-al 2003.
[2]江國星,周光祥.基于VW2010芯片的嵌入式多媒體監控系統壓縮/解壓卡設計\\[J\\].國外電子元器件,2004(7):4-7.
[3]VW2010 SDK2 Programmer′s Reference Manual Complete (Parts 1-5) 2005.
[4]路錦正.基于DM642DSP的MPEG-4視頻解碼算法優化設計\\[J\\].現代電子技術,2007,30(4):80-82,91.
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。