基于MPEG-4編碼的近距離無線視頻傳輸系統(tǒng)實(shí)現(xiàn)
摘要:為實(shí)現(xiàn)近距離無線視頻傳輸,提出了一種基于MPEG-4編碼的近距離無線視頻傳輸方案。由CMOS攝像頭OV7620采集到的數(shù)據(jù),通過專用MPEG-4編碼器,ML86410得到速率低于2Mbit·s-1的MPEG-4數(shù)據(jù)流,在FPGA控制器的控制下,通過nRF24L01無線發(fā)送;接收端利用同系列芯片nRF24LU1接收無線數(shù)據(jù),其自帶USB協(xié)議和接口,再把數(shù)據(jù)流送入PC顯示。通過仿真板電路測試,獲得了良好的圖像,證明電路可以實(shí)現(xiàn)視頻無線傳輸?shù)慕Y(jié)論。
無線視頻通信作為第三代移動通信關(guān)鍵技術(shù)得到了廣泛關(guān)注。但其是為遠(yuǎn)距離多用戶服務(wù)的,開發(fā)難度大,需要眾多輔助技術(shù)支持。然而,近距離無線視頻通信可以采用較為成熟的技術(shù)實(shí)現(xiàn),它可以應(yīng)用于視頻監(jiān)控中不易連線的部分以及近距離巡視,它不同于3G技術(shù)中的視頻傳輸,具有易于開發(fā)、傳輸距離近等特點(diǎn)。要實(shí)現(xiàn)無線視頻傳輸,就要應(yīng)用大壓縮比的視頻壓縮編碼滿足無線傳輸速率的苛刻要求,MPEG-4編碼是基于圖像內(nèi)容的第二代視頻編碼方案,并將對象合成的編碼方案也結(jié)合在標(biāo)準(zhǔn)中,它根據(jù)圖像的內(nèi)容將圖像分割為不同的視頻對象(VO)。在編碼過程中,前景和背景對像采用不同的編碼策略:前景對像的編碼壓縮盡可能保留壓縮對像的細(xì)節(jié)和平滑性;對背景視頻對像,采用大壓縮比的編碼策略,而在解碼端用其他的背景拼成新的的背景。因此它可以實(shí)現(xiàn)大壓縮比的視頻編碼,不僅解決了塊效應(yīng),同時解決了無線傳輸時的帶寬限制問題,因此MPEG-4被作為無線通信系統(tǒng)中主要的視頻編碼標(biāo)準(zhǔn)。
1 系統(tǒng)硬件總體方案
圖1所示為無線視頻傳輸系統(tǒng)框圖。采用專用MPEG-4編碼器,可以獲得良好的性價比,因此采用日本OKI公司的ML86410芯片是較好的MPEG-4視頻壓縮解決方案;同時采用挪威Nordic公司的nRF24L01和nRF24LU1芯片實(shí)現(xiàn)無線傳輸,它們不僅具有高達(dá)2Mbit·s-1的無線空中速率,而且后者帶有增強(qiáng)型8051內(nèi)核和USB2.0協(xié)議的無線Soc芯片,較好地解決了與PC機(jī)的連接問題;控制器采用廣泛使用的低功耗FPGA來協(xié)調(diào)控制視頻流的無線傳輸以及對OV7620和ML86410進(jìn)行控制和模式配置,F(xiàn)PGA準(zhǔn)確地邏輯性保證了傳輸?shù)目煽啃浴?/p>
從圖中可以看出,在視頻采集電路中,F(xiàn)PGA是整個系統(tǒng)的核心控制器。它的作用是無線接收配置參數(shù),對圖像CMOS傳感器和ML86410進(jìn)行初始化配置;當(dāng)開始圖像采集后,其負(fù)責(zé)接收MPEG-4視頻數(shù)據(jù),并進(jìn)行無線傳輸。設(shè)計(jì)重點(diǎn)是實(shí)現(xiàn)了視頻的無線傳輸,采用具有nRF24系列芯片,具有2Mbit·s-1的空中速率;這樣的速率對一般視頻數(shù)據(jù)流是不能實(shí)現(xiàn)無線傳輸?shù)模砸扇【哂懈邏嚎s率的MPEG-4視頻編碼,其要求的傳輸速率較低,當(dāng)圖像分辨率為176×144時,速率為4800~64000 bit·s-1。
1.1 視頻采集模塊電路
1.1.1 OV7620
OV7620是一種CMOS圖像傳感器,被廣泛應(yīng)用于網(wǎng)絡(luò)攝像頭、攝像手機(jī)等產(chǎn)品中。它是一種CMOS彩色/黑白圖像傳感器,支持連續(xù)和隔行兩種掃描方式,VGA和QVGA兩種圖像格式;最高像素為664×492,幀速率為30f·s-1;數(shù)據(jù)輸出格式包括YUV、YcrCb和RGB這3種,能夠滿足一般圖像采集系統(tǒng)的要求。OV7620內(nèi)部具有可編程功能寄存器,設(shè)置有上電模式和SCCB編程模式,設(shè)計(jì)中采用了SCCB編程控制協(xié)議,連續(xù)掃描,8位YUV數(shù)據(jù)輸出。
1.1.2 ML86410壓縮芯片
ML86410是日本OKI公司面向監(jiān)視攝像機(jī)、網(wǎng)絡(luò)攝像機(jī)等圖像監(jiān)控設(shè)備開發(fā)的一種能夠?qū)崟r進(jìn)行MPEG-4圖像壓縮(編碼)處理的單芯片。以往面向網(wǎng)絡(luò)監(jiān)視攝像機(jī)的視頻編碼方式一般采用Motion-JPEG方式,存在著壓縮率低的問題。在網(wǎng)絡(luò)上進(jìn)行視頻傳輸時,受網(wǎng)絡(luò)帶寬的影響,使得傳輸圖像的尺寸縮小,并帶來畫質(zhì)下降和動畫圖像的幀率降低等限制。于是,OKI采用MPEG-4視頻編碼國際標(biāo)準(zhǔn),開發(fā)了具有高壓縮率的高畫質(zhì)視頻MPEG-4編碼器芯片ML86410。它采用了獨(dú)創(chuàng)的專用加速器,無需高速CPU、DSP,與以往方式相比實(shí)現(xiàn)了低功耗,并大幅度降低了產(chǎn)品成本。
ML86410由視頻接口、MPEG-4編碼器、主機(jī)接口電路、鎖相環(huán)PLL和DRAM存儲器控制組成。其特性如表1所示。
1.1.3 SDRAM存儲器
SDRAM存儲器在電路中主要完成對攝像頭采集到的大量數(shù)據(jù)進(jìn)行緩存,以使ML86410的。MPEG-4編碼器部分進(jìn)行有序編碼。設(shè)計(jì)中采用三星公司K4S643232F系列SDRAM實(shí)現(xiàn),它是2×32 MbitSDRAM存儲器,采用32位數(shù)據(jù)總線進(jìn)行存取,工作頻率最高166MHz,可以滿足ML86410對緩存的要求。它是一個具有67108864bit的同步高數(shù)據(jù)率的動態(tài)RAM存儲器,由4塊512×32 kbit組成。
1.1.4 連接電路
ML86410和OV7620、SDRAM的連接電路圖如圖3所示。
1.2 無線傳輸方案
1.2.1 nRF24L01及其連接電路
下位機(jī)的無線連接采用Nordic Semiconductor公司的nRF24L01。它是一款新型單片射頻收發(fā)器件,工作于2.4~2.5 GHz ISM頻段,采用GFSK調(diào)制,硬件集成OSI鏈路層,最高空中速率達(dá)到2Mbit·s-1,采用SPI接口連接控制器。內(nèi)置頻率合成器、功率放大器、晶體振蕩器和調(diào)制器等功能模塊并融合了增強(qiáng)型ShockBurst技術(shù),其輸出功率和通信頻道可通過程序進(jìn)行配置,有125個頻道。nRF24L01功耗低,在以功率為-6dBm發(fā)射時,工作電流只有9mA;接收時,工作電流為12.3mA。
采用SPI接口與控制器FPGA進(jìn)行連接,負(fù)責(zé)開機(jī)時接收各個器件的配置信息,完成配置后進(jìn)行視頻數(shù)據(jù)流的無線發(fā)送。其中,CE是發(fā)射和接收切換引腳,CSN為片選,IRQ為中斷信號輸出引腳,連接電路圖如圖4所示。
1.2.2 nRF24LU1及其應(yīng)用電路
nRF24LU1+是Nordic推出的一款將高性能射頻收發(fā)器與單片USBdongle功能結(jié)合起的無線收發(fā)芯片,它可實(shí)現(xiàn)無線數(shù)據(jù)到USB數(shù)據(jù)形式的轉(zhuǎn)換,這樣就實(shí)現(xiàn)了與PC機(jī)的連接。nRF24LU1+內(nèi)含1個增強(qiáng)型8051MCU內(nèi)核、無線收發(fā)模塊、符合全速USB2.0標(biāo)準(zhǔn)的器件控制器。nRF2ALU1+顯著地增強(qiáng)了抗寬帶干擾和互調(diào)失真(IMD)性能。nRF24LU1+芯片需要的外部元件只是低成本的16MHz晶振、去耦電路、匹配網(wǎng)絡(luò)和天線。USB工作電源電壓范圍4.0~5.25 V。nRF24LU1+是單片結(jié)構(gòu),外形尺寸5mm×5mm。它的最高速率2Mbit·s-1,兼容所有nRF24系列芯片;使用Enhanced ShockedBust技術(shù)可以實(shí)現(xiàn)數(shù)據(jù)包的自動打包/解包和傳輸處理;使用MultiCeiver技術(shù)可同時支持6個無線裝置,頻段、輸出能量和其他射頻參數(shù)可通過射頻寄存器進(jìn)行編程調(diào)節(jié),電路圖如圖5所示。
1.2.3 PA和LNA
單獨(dú)只采用nRF芯片只能近距離的無線通信,為增加無線視頻傳輸?shù)木嚯x,需要加入PA。從增加數(shù)據(jù)通信距離考慮,還需要增加芯片輸入端的接收靈敏度,選用合適的LNA和濾波器成為必然。設(shè)計(jì)選用Maxim公司的MAX2240和MAX2644,連接電路如圖6所示。
MAX224O專為2.4~2.5 GHz頻段的應(yīng)用而設(shè)計(jì),符合Bluetooth、HomeRF、802.11標(biāo)準(zhǔn)以及其他FSK調(diào)制系統(tǒng)的要求。MAX2644是一款專為WLAN,Bluetooth等工作在2.4GHz頻段內(nèi)的設(shè)備設(shè)計(jì)的高三階交調(diào)點(diǎn)的低噪聲放大器。放大電路中,微波開關(guān)采用Hittite公司生產(chǎn)的低成本SPDT微波開關(guān),型號HMC545,該開關(guān)特別為3G和ISM頻段工作的設(shè)備設(shè)計(jì),其插入損耗僅有0.25dB,采用SOT封裝、體積小,可用CMOS或TTL電平控制。利用nRF芯片的VDD_PA引腳控制無線發(fā)送和接收的切換。
2 控制器FPGA設(shè)計(jì)
FPGA選用Altrea公司的EP2C8208。其硬件連接電路如圖7所示。
3 初始化配置及工作流程
(1)初始化配置方式。
1)OV7620配置。OV7620的控制采用SCCB(Serial Camera Control Bus)協(xié)議。它是簡化的I2C協(xié)議,SIO-1是串行時鐘輸入線,SIO-0是串行雙向數(shù)據(jù)線,分別相當(dāng)于I2C協(xié)議的SCL和SDA。SCCB的總線時序與I2C基本相同。OV7620功能寄存器的地址為0x00~0x7C。通過設(shè)置相應(yīng)的寄存器,可以使OV7620工作于不同模式。
2)ML86410配置。對ML86410進(jìn)行配置需要對其寄存器進(jìn)行配置,通過地址生成器產(chǎn)生地址XA0~9,然后通過數(shù)據(jù)總線XD0~15對相應(yīng)寄存器進(jìn)行寫值。由于無線速率最高為2Mbit·s-1,所以一定要對Bits Rate Setting Register(0x18C)進(jìn)行設(shè)置,有可變速率壓縮和固定速率壓縮兩種方式。
3)nRF24L01配置。對nRF24L01進(jìn)行配置通過對其內(nèi)部的寄存器進(jìn)行寫值完成,通過SPI總線完成數(shù)據(jù)的寫入。其需要用戶配置的寄存器地址為00~17,共18個8bit寄存器,當(dāng)要進(jìn)行發(fā)送和接收的切換時,同樣要寫入相應(yīng)的寄存器值。
(2)工作流程。
1)開機(jī)配置:首先測試無線連接,連接成功后由PC端下傳參數(shù)模式配置命令;下位機(jī)接到命令后,由配置參數(shù)配置邏輯解析到參數(shù)模式后,通過控制邏輯對ML86410和OV7620進(jìn)行初始化配置,成功后即開始視頻采集,失敗發(fā)送錯誤到PC端。
2)視頻無線發(fā)送:視頻采集開始后,視頻流在ML86410的控制下有序進(jìn)入FPGA緩沖,緩沖采用乒乓緩沖操作,然后數(shù)據(jù)經(jīng)過并串轉(zhuǎn)換,再通過SPI口送入nRF24L01無線發(fā)送。
3)視頻無線接收:nRF24LU1+接收到視頻流后,經(jīng)過緩沖,即送入USB2.0協(xié)議槽通過USB接口傳入PC進(jìn)行顯示。
4)視頻顯示:PC采用VC++編寫程序調(diào)用Windows自帶的視頻播放器,同時調(diào)入MPEG-4視頻流,解碼后顯示。
4 上位機(jī)軟件設(shè)計(jì)
上位機(jī)采用VC++編寫成熟的視頻監(jiān)控軟件,和通用的視頻監(jiān)控軟件相同,接收來自USB端口的數(shù)據(jù)進(jìn)行解壓縮顯示即可。效果圖如圖9所示。
5 結(jié)束語
采用具有可靠邏輯功能的FPGA協(xié)調(diào)MPEG-4視頻流到無線數(shù)據(jù)流的轉(zhuǎn)換和發(fā)送,可以保證無線視頻傳輸?shù)男阅?;同時在終端采用帶有無線功能和USB2.0協(xié)議的SOC芯片來實(shí)現(xiàn)與PC連接,不僅保證了無線傳輸?shù)目煽啃?,還使得電路小型化,方便使用。測試表明,無線速率低于2Mbit·s-1時,可以實(shí)現(xiàn)無線視頻的可靠傳輸。
作者:關(guān)曉磊 李志強(qiáng) 來源:《電子科技》2011年06期