一種MPEG4視頻壓縮和傳輸系統(tǒng)
在重要場所安全監(jiān)控或工業(yè)現(xiàn)場控制系統(tǒng)中,直觀、方便且內(nèi)容豐富的視頻實時采集是信息采集的重要部分,也是人們關(guān)注的應(yīng)用技術(shù)熱點。由于高精度實時視頻信息量巨大,在傳輸時需丟棄大量數(shù)據(jù)幀,否則必須壓縮。最常用的是軟件壓縮法,但對復雜的壓縮格式編程工作量大、設(shè)備要求高、應(yīng)用受限制。而硬件實現(xiàn)法,采用專用芯片按即定格式高速壓縮視頻,實時性好,可靠性高。
本文介紹的視頻數(shù)據(jù)實時壓縮和傳輸系統(tǒng),采用可編程視頻采集芯片采集模擬視頻,通過MPEG4/2/1專用編碼芯片對采集后的數(shù)字視頻數(shù)據(jù)進行編碼壓縮,生成MPEG4碼流,微控制器的在片以太網(wǎng)卡端口外接網(wǎng)絡(luò)物理層芯片,MPEG4碼流由此輸出到視頻終端PC機,整個系統(tǒng)由微控制器調(diào)度管理。終端PC上應(yīng)用程序播放視頻進行監(jiān)控。
2 系統(tǒng)總體結(jié)構(gòu)
系統(tǒng)主要包括兩部分。一是數(shù)字視頻數(shù)據(jù)采集和編碼子系統(tǒng)。二是視頻碼流以太網(wǎng)發(fā)送子系統(tǒng)。此外還有電源子系統(tǒng)、JTAG調(diào)試子系統(tǒng)等。圖1所示為系統(tǒng)框圖。
視頻采集芯片選用Philips公司SAA711lA。該芯片的工作時鐘為24.576MHz,由此1/2行輸出鎖定時鐘LLC2為13,5 MHz。設(shè)定輸出數(shù)據(jù)色彩格式為4:2:2,輸入模擬視頻采用S-Video端子的PAL格式視頻信號,分辨率為720X 576,每秒25幀。設(shè)定抗混疊濾波、AD轉(zhuǎn)換、自動鉗位、自動增益變換、PAL和NTSC制式之間自動切換等功能。微控制器通過12C總線初始配置SAA711lA。
數(shù)字視頻數(shù)據(jù)編碼壓縮工作由INTIME公司設(shè)計的IME6410單片視、音頻MPEG4/2/1碼流壓縮引擎完成。同SAA711lA一致,一幀圖像分辨率設(shè)置為720X 576,輸入數(shù)據(jù)色彩格式為4;2:2。IME6410具有符合工業(yè)標準的視頻數(shù)字編碼器無縫接口,16b的復合主機接口,分別用來與視頻采集芯片和微控制器芯片通信。微控制器通過主機接口實現(xiàn)IME6410的初始配置,也由此接收壓縮得到的視頻碼流。
微控制器是本系統(tǒng)的核心部件,選用ATMEL公司的基于ARM920T核的32b微控制器ATglRM9200。他包含豐富的系統(tǒng)接口和外圍應(yīng)用接口,如10/100BaseTMAC和主機接口HDI,可靈活配置片上和片外存儲器,向各種的高速計算應(yīng)用提供了一個單片解決方案。在系統(tǒng)中的主要作用是在系統(tǒng)上電時配置其他芯片的功能寄存器,正常工作狀態(tài)下調(diào)度控制系統(tǒng)工作,存儲編碼得到的MPEG4碼流,通過在片以太網(wǎng)端口控制物理層芯片發(fā)送碼流。
以太網(wǎng)發(fā)送的物理層芯片選用REALTEK出品的單片、單端口10/100 M以太網(wǎng)物理層芯片RTL8201。RTL8201應(yīng)用與在片MAC通信的獨立媒體接口MII。PHYAD0-PHYAD3置高,PHYAD4置低,則物理層地址為0x10。芯片符合IEEE802.3/802.3u規(guī)則。標準的IEEE802.3數(shù)據(jù)幀由以下幾個部分組成:前導位(preamble)、幀起始位(SFD)、目的地地址(destination)、來源地址(source)、數(shù)據(jù)長度(1ength)、數(shù)據(jù)(data)、幀校驗字(FCS)。數(shù)據(jù)字段大小可從46B到1 500B,如一組要傳送的數(shù)據(jù)不足46B,就用零補足;超過l 500B時,需要拆成多個幀傳送。數(shù)據(jù)在發(fā)送之前按此格式進行封裝。
系統(tǒng)獨立運行的程序存儲在FLASH中,采用ATMEL公司生產(chǎn)的AT49BV322A,容量為2MXl6b。系統(tǒng)上電后,首先進行程序的自舉加載,程序加載到SDRAM中運行,進行系統(tǒng)的初始化,隨后進入正常的工作狀態(tài)。運行程序和存儲碼流要求較大的動態(tài)存儲空間,采用SAMSUNG公司的K4S561632E SDRAM,容量為16 MXl6b。
3.數(shù)字視頻數(shù)據(jù)采集和編碼子系統(tǒng)
子系統(tǒng)硬件電路圖如圖2所示。
SAA711lA的A1模擬輸入口與模擬攝像頭輸出端連接,向視頻處理芯片傳送模擬視頻信號。IME6410具有符合工業(yè)標準的視頻數(shù)字編碼器無縫接口,可方便地與SAATlllA通信。SAA711lA對模擬視頻信號采樣處理后得到的數(shù)字視頻信號按1/2行輸出鎖定時鐘LLC2從VP00一VP015引腳送到IME6410,數(shù)據(jù)在LLC2上升沿時有效,IME6410在PCLK引腳接收的象素點輸入時鐘信號LLC2的上升沿抓取VD端口數(shù)據(jù),如圖3所示。SAA711lA可分離場同步脈沖和行同步脈沖,每視場的數(shù)字視頻信號有效之前,SAA71llA會輸出場同步脈沖,并使能垂直參考信號VREF置高;而在每行信號有效之前,也會輸出行同步脈沖,并使能水平參考信號HREF置高。奇偶場識別信號RTS0與奇、偶場指示信號FIELD引腳連接,高電平指示奇場,低電平指示偶場。IME6410首先判斷奇、偶場,隨后當VREF和HREF有效時何時開始接收一行的數(shù)據(jù),當一行數(shù)據(jù)接收完畢后HREF被置低,一場數(shù)據(jù)接收完畢后VREF被置低,避免在黑電平期間接收無用數(shù)據(jù),同時翻轉(zhuǎn)奇偶場識別信號電子。IME6410接收數(shù)據(jù)的同時,芯片內(nèi)部視頻處理器對數(shù)據(jù)進行MPEG4編碼并輸出到緩沖器。
IME6410通過主機接口和AT91RM9200通信,AT91RM9200將IME6410的寄存器、存儲空間等資源作為SRAM尋址訪問。IME6410通過與AT91RM9200的SRAM端口數(shù)據(jù)線DO-D15連接的主機接口數(shù)據(jù)線HD0一HDl5向AT91RM9200傳送編碼壓縮后得到的MPEG4碼流。AT91RM9200由SRAM選通線NCS7選通IME6410芯片,其存儲空間在AT91RM9200尋址空間中地址段為0X80000000到0X8FFFFFFF。地址線A0~A4與IME6410的主機口地址線HA0~HA4連接,尋址訪問IME6410的寄存器,其13個內(nèi)部寄存器均為16B,偏移地址從0x00到0xle。通過對ADDR,DATA和CONTROL寄存器的讀寫等一系列操作,可以訪問IME6410系統(tǒng)存儲空間。IME6410數(shù)據(jù)流緩沖器標志信號NFULL從配置為通用I/O引腳的PC20輸入,當緩沖器滿或豐滿時,NFULL引腳置低提示AT91RM9200提取編碼數(shù)據(jù)。編碼后視頻數(shù)據(jù)讀過程和IME6410與主機通信過程具體由AT91RM9200讀信號NRD和寫信號NWE控制。
評論