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