JPEG2000的近距離無(wú)線視頻傳輸系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:采用現(xiàn)有的3G移動(dòng)通信網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)無(wú)線視頻傳輸的方法適合遠(yuǎn)距離使用,在近距離時(shí)使用這種傳輸方式不僅費(fèi)用高,而且?guī)挼貌坏奖WC。針對(duì)以上問(wèn)題設(shè)計(jì)了一種近距離無(wú)線視頻傳輸系統(tǒng)。系統(tǒng)采用專(zhuān)用的JPEG2000視頻壓縮器件ADV212來(lái)實(shí)現(xiàn)視頻壓縮;基于多外部接口和低功耗的考慮,選用Cortex-M3內(nèi)核的嵌入式處理器LPC1768對(duì)整個(gè)系統(tǒng)進(jìn)行控制;無(wú)線傳輸采用nRF24LU1+來(lái)實(shí)現(xiàn)。
關(guān)鍵詞:無(wú)線視頻傳輸;JPEG2000;圖像采集;LPC1768
引言
隨著移動(dòng)通信技術(shù)的發(fā)展,無(wú)線視頻通信已經(jīng)在第三代移動(dòng)通信系統(tǒng)中得到應(yīng)用。但是移動(dòng)通信網(wǎng)絡(luò)是大眾應(yīng)用型網(wǎng)絡(luò),適用于遠(yuǎn)距離視頻通信,對(duì)于近距離視頻通信(幾十米到幾百米),不僅費(fèi)用高,而且?guī)捒赡軙?huì)受到限制,傳輸可靠性不能得到保證。因此,我們可以采用較為成熟的近距離無(wú)線視頻通信技術(shù)。設(shè)計(jì)中采用了JPEG2000專(zhuān)用壓縮芯片來(lái)進(jìn)行視頻壓縮,能實(shí)現(xiàn)較高壓縮比。
1 無(wú)線視頻傳輸系統(tǒng)的組成
無(wú)線視頻傳輸系統(tǒng)主要由視頻圖像采集模塊、JPEG2000實(shí)時(shí)壓縮模塊、控制模塊和通信模塊等組成。無(wú)線視頻傳輸結(jié)構(gòu)框圖如圖1所示。
主要模塊介紹如下:
①視頻圖像采集模塊,由CMOS圖像傳感器OV7670構(gòu)成,完成圖像的采集和濾波處理;
②JPEG2000實(shí)時(shí)壓縮模塊,主要由JPEG2000編解碼芯片ADV212完成視頻的實(shí)時(shí)壓縮;
③控制模塊(LPC1768),處理紅外觸發(fā)信號(hào)及視頻的存儲(chǔ)和發(fā)送;
④通信模塊,包括無(wú)線傳輸模塊和網(wǎng)絡(luò)適配器(可擴(kuò)展);
⑤存儲(chǔ)器,SD存儲(chǔ)卡。
2 系統(tǒng)模塊設(shè)計(jì)
系統(tǒng)主要包括視頻圖像采集模塊、JPEG2000實(shí)時(shí)壓縮模塊、控制模塊和無(wú)線傳輸模塊。
2.1 視頻圖像采集模塊
視頻圖像采集由OmniVision公司的OV7670圖像傳感器完成,JPEG2000實(shí)時(shí)壓縮模塊采用ADI公司的ADV212實(shí)時(shí)壓縮芯片來(lái)實(shí)現(xiàn)。
2.1.1 OV7670
OV7670是30萬(wàn)像素CMOS VGA圖像傳感器。它具有體積小、工作電壓低等特點(diǎn),可提供單片VGA攝像頭和影像處理器的所有功能;通過(guò)SC CB總線控制,可以輸出整幀、子采樣、取窗口等方式的各種分辨率8位影像數(shù)據(jù);最高幀率可達(dá)30 fps,用戶可以完全控制圖像質(zhì)量、數(shù)據(jù)格式和傳輸方式;所有圖像處理功能如伽瑪曲線、白平衡、飽和度、色度等,都可以通過(guò)I2C總線以SCCB方式進(jìn)行配置;感光陣列為640x480,可以輸出YCbCr(4:2:2)的格式數(shù)據(jù)。
2.1.2 ADV212
ADV212是ADI公司推出的一款用于實(shí)現(xiàn)靜態(tài)圖像壓縮最新算法標(biāo)準(zhǔn)JPEG2000的專(zhuān)用圖像壓縮編解碼芯片。它采用SRAM工藝構(gòu)造,延遲小、功耗低、成本低。工作模式可通過(guò)設(shè)置內(nèi)部寄存器來(lái)靈活控制,適用于多種視頻和靜止圖像格式數(shù)據(jù)的壓縮處理。它主要由像素接口、小波變換引擎、熵編解碼器、嵌入式處理器、存儲(chǔ)器系統(tǒng)、內(nèi)部DMA引擎和外部DMA引擎等組成。單片ADV212單次壓縮最大能處理的數(shù)據(jù)量為1 MB,設(shè)計(jì)中采用YCbCr(4:2:2)格式,單幀數(shù)據(jù)量為600 KB,完全可以滿足要求。視頻圖像采集與控制結(jié)構(gòu)框圖如圖2所示。
OV7670的初始化配置由控制器LPC1768通過(guò)I2C總線以SCCB方式進(jìn)行配置,可以進(jìn)行讀寫(xiě)的寄存器地址范圍是00~C9H,其中很多不用進(jìn)行改寫(xiě),只需默認(rèn)值;使能信號(hào)為ENABLE=1,非使能信號(hào)為DISABLE=0;從地址0x42是寫(xiě),0x43是讀。常用的寄存器COM7(12H)是輸出格式寄存器,COM10(15H)是行場(chǎng)設(shè)置寄存器以及其他COM類(lèi)通用控制寄存器。
LPC1678通過(guò)設(shè)置引腳PWDN為高電平使其進(jìn)入睡眠狀態(tài)。如果有觸發(fā)信號(hào),則進(jìn)行視頻圖像采集;視頻采集由OV7670和ADV212來(lái)完成。其中引腳PCLK為像素時(shí)鐘信號(hào),HREF為行同步信號(hào),VSYNC為幀同步信號(hào),數(shù)據(jù)格式采用YCbCr(4:2:2)(8位)。這正好符合ADV212芯片要求的格式,通過(guò)OV7670的D[7:0]引腳與ADV212的VDATA[11:4]引腳來(lái)完成數(shù)據(jù)傳輸。
2.2 無(wú)線傳輸模塊
2.2.1 nRF24LU1+無(wú)線收發(fā)芯片
nRF24LU1+是Nordic公司推出的一款將高性能射頻收發(fā)器和單片USBdongle功能結(jié)合起來(lái)的無(wú)線收發(fā)芯片。它可實(shí)現(xiàn)無(wú)線數(shù)據(jù)到USB數(shù)據(jù)形式的轉(zhuǎn)換,這樣就實(shí)現(xiàn)了芯片與PC機(jī)的連接。nRF24LU1+內(nèi)含1個(gè)增強(qiáng)型的8051內(nèi)核、無(wú)線收發(fā)模塊以及符合全速USB 2.0標(biāo)準(zhǔn)的器件控制器。VBUS(USB工作電源)工作電壓范圍為4.0~5.25 V。nRF24LU1+是單片結(jié)構(gòu),外形尺寸為5 mm×5 mm。它的最高速率可達(dá)2 Mbps,兼容所有nRF24系列芯片;使用Enhanced Shocked Bust技術(shù)可以實(shí)現(xiàn)數(shù)據(jù)包的自動(dòng)打包、解包和傳輸處理(應(yīng)答/重傳)功能。nRF24LU1+外圍電路如圖3所示。
2.2.2 功率放大器PA和低噪接收放大器LNA
單獨(dú)采用nRF24LU1+芯片只能實(shí)現(xiàn)近距離的無(wú)線通信,范圍最多幾十米。為了增加無(wú)線視頻傳輸?shù)木嚯x,大約幾百米的無(wú)線通信就需要加入功率放大器PA。從數(shù)據(jù)通信距離考慮,還需要增加芯片輸入端的接收靈敏度,選用合適的低噪接收放大器LNA和濾波器就成為必然。設(shè)計(jì)中選擇Maxim公司生產(chǎn)的MAX2240和MAX2644。功放和低噪接收電路如圖4所示。
MAX2240芯片是專(zhuān)為2.4~2.5 GHz頻段的應(yīng)用設(shè)計(jì)而開(kāi)發(fā)的,它符合Bluetooth、HomeRF、IEEE802.11b標(biāo)準(zhǔn)以及其他FSK調(diào)制系統(tǒng)的要求。MAX2644是一款專(zhuān)門(mén)為WLAN、Bluetooth等工作在2.4 GHz頻段內(nèi)的設(shè)備而設(shè)計(jì)的高三階交調(diào)點(diǎn)的低噪聲放大器。放大電路中,微波開(kāi)關(guān)采用的是Hittite公司生產(chǎn)的低成本SPDT微波開(kāi)關(guān),型號(hào)為HMC545。該開(kāi)關(guān)特別為3G和ISM頻段工作的設(shè)備設(shè)計(jì),其插入損耗非常小只有0.25 dB。HMC545采用SOT封裝,體積小,可采用CMOS或TTL電平控制。利用nRF24LU1+芯片的VDD_PA引腳可控制無(wú)線發(fā)送和接收功能的切換。
2.3 核心控制器LPC1768
2.3.1 LPC1768功能介紹
系統(tǒng)的主控制器采用LPC1768,它采用Cortex-M3內(nèi)核,可提供系統(tǒng)增強(qiáng)型特性,用于滿足要求高度集成和低功耗的嵌入式應(yīng)用。Cortex -M3控制器的操作頻率可達(dá)100 MHz,具有三級(jí)流水線和哈佛結(jié)構(gòu);帶有獨(dú)立本地指令、數(shù)據(jù)總線以及用于外設(shè)的性能稍低的第3條總線,還包含一個(gè)支持隨機(jī)跳轉(zhuǎn)的內(nèi)部預(yù)取值單元。LPC1768系列Cortex-M3微控制器的外設(shè)組件包括512 KB的Flash存儲(chǔ)器、64 KB數(shù)據(jù)存儲(chǔ)器、以太網(wǎng)MAC、USB主機(jī)/從機(jī)/OTG接口、8通道的通用DMA控制器、4個(gè)UART接口、2條CAN通道、2個(gè)SSP控制器、SPI接口、3個(gè)I2C接口、2輸入和2輸出的I2S接口、8通道的12位ADC、10位DAC、電機(jī)控制PWM、正交編碼器接口、4個(gè)通用定時(shí)器、6輸出的通用PWM、帶獨(dú)立電池供電的超低功耗RTC和多達(dá)70個(gè)通用I/O引腳。nRF24LU1+具有SPI口,可以方便實(shí)現(xiàn)與LPC1768的連接。
2.3.2 LPC1768與ADV212的連接
①控制總線:ADV212支持16位和32位的總線控制。LPC1768是32位ARM控制器,所以采用32位控制總線實(shí)現(xiàn)對(duì)ADV212的配置和控制;通過(guò)LPC1768的高速GPIO口控制引腳P1[31:0]。其中ADDR[3:0]引腳為地址總線,對(duì)ADV212的直接型寄存器進(jìn)行讀寫(xiě);ADV212接收到OV7670的幀數(shù)據(jù)后對(duì)其進(jìn)行JPEG2000壓縮,壓縮后的數(shù)據(jù)存放在ADV212內(nèi)部的CODE FIFO中。LPC1768與ADV212之間的連接采用32位正常主機(jī)模式的異步SRAM接口通信,其16個(gè)直接寄存器映射到控制器的寄存器進(jìn)行固件加載和參數(shù)配置,并從CODEFIFO中讀取壓縮視頻數(shù)據(jù)。
②數(shù)據(jù)總線:當(dāng)ADV212工作在JDATA模式下時(shí),由HDATA[31:28]~JDATA[7:4]和HDATA[27:24]~JDATA[3:0]總線輸出壓縮后的JPEG20 00數(shù)據(jù)。
③其他:包括中斷信號(hào)、讀寫(xiě)信號(hào)、復(fù)位信號(hào)、睡眠信號(hào)都與LPC1768的GPIO口相連。
2.3.3 LPC1768與SD卡的連接
SD卡具有耐用、可靠、安全、容量大、體積小、便于攜帶和兼容性好的優(yōu)點(diǎn)。SD卡支持SD和SPI兩種模式通信方式。采用SPI模式時(shí),占用較少的I/O資源。設(shè)計(jì)中采用直接與LPC1768的SPI接口的通信方式。通過(guò)4條信號(hào)線即可完成數(shù)據(jù)的傳輸,分別包括時(shí)鐘SCLK、主機(jī)輸入從機(jī)輸出MISO、主機(jī)輸出從機(jī)輸入MOIS和片詵CS。實(shí)際討程中,還需要考慮到中斷控制、電源供電控制、寫(xiě)保護(hù)和卡插入位置檢測(cè)4個(gè)方面,因此還需要額外的4根通用I/O引腳來(lái)滿足該需要。LPC1768外圍電路結(jié)構(gòu)框圖如圖5所示。
3 系統(tǒng)程序設(shè)計(jì)
系統(tǒng)硬件設(shè)計(jì)完成之后,要進(jìn)行軟件的設(shè)計(jì)。整個(gè)設(shè)計(jì)過(guò)程中的功能器件很多,但是都進(jìn)行了模塊化設(shè)計(jì),所以軟件方面也要進(jìn)行模塊化設(shè)計(jì)。主要分為主程序、初始化配置模塊、圖像采集壓縮控制模塊、存儲(chǔ)模塊和無(wú)線傳輸模塊。系統(tǒng)工作程序流程如圖6所示。
ADV212對(duì)每個(gè)視頻幀獨(dú)立進(jìn)行JPEG2000幀內(nèi)壓縮,這樣就能方便地進(jìn)行基于幀的操作,如幀的抽取。ADV212對(duì)每幀圖像壓縮后,壓縮數(shù)據(jù)頭部都有一個(gè)特有的header標(biāo)志段,其中包含有圖像編號(hào)索引,因此LPC1768通過(guò)header可以方便地抽取該幀。程序中最為關(guān)鍵的是ADV212的初始化,也是最為復(fù)雜的,它可以配置為執(zhí)行壓縮或解壓處理,這取決于芯片復(fù)位后初始化階段所加載的固件(壓縮固件或解壓固件)。設(shè)計(jì)中是視頻壓縮,進(jìn)行壓縮編碼配置,包括壓縮算法的固件加載和編碼參數(shù)的設(shè)置。ADV212初始化流程如圖7所示。
4 視頻壓縮結(jié)果與分析
原始圖像與JPEG2000壓縮后的圖像對(duì)比如圖8所示。
通過(guò)圖8可以看出,基于ADV212的JPEG2000視頻壓縮系統(tǒng)可以在大壓縮比下保持較好的視頻質(zhì)量。在壓縮比為50時(shí),圖像質(zhì)量沒(méi)有明顯下降;壓縮比為100時(shí)略有下降;在壓縮比為200時(shí),圖像質(zhì)量有明顯下降。壓縮比為100時(shí),800×480的一張圖像壓縮后為9.06 KB,視頻傳輸流暢的最小幀數(shù)一般為24 fps,傳輸速率最小為1.728 Mb/s,低于2 Mb/s,說(shuō)明nRF24LU1+能夠滿足其需要。如果圖像質(zhì)量急劇下降,可以采用自適應(yīng)幀率的方法來(lái)適時(shí)降低幀率,以提高圖像質(zhì)量;也可以通過(guò)隔行掃描的方法來(lái)降低每幀的數(shù)據(jù)量,最后在顯示終端通過(guò)奇偶幀合成重復(fù)播放的機(jī)制來(lái)降低無(wú)線傳輸速率。
5 總結(jié)
實(shí)驗(yàn)表明,實(shí)時(shí)JPEG2000壓縮器可以用于無(wú)線視頻傳輸的實(shí)時(shí)壓縮,nRF24LU1+能夠?qū)崿F(xiàn)壓縮后視頻數(shù)據(jù)的無(wú)線傳輸。以專(zhuān)用的JPEG20 00壓縮編碼處理芯片ADV212為基礎(chǔ)構(gòu)建圖像壓縮處理是加快推廣JPEG2000圖像壓縮標(biāo)準(zhǔn)硬件化的有效途徑。