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