劉力維+付強(qiáng)
摘要:無(wú)線視頻系統(tǒng)在智能社區(qū)、安防、智能農(nóng)業(yè)及環(huán)境監(jiān)控等領(lǐng)域有著廣泛的應(yīng)用[1]。移動(dòng)無(wú)線視頻系統(tǒng)的技術(shù)基礎(chǔ)是移動(dòng)互聯(lián)網(wǎng)通信技術(shù)、視頻數(shù)據(jù)采集處理與傳輸技術(shù)。本文論述了移動(dòng)無(wú)線視頻系統(tǒng)的研究背景、具體研究方法和取得的成果,在開發(fā)和整合各功能模塊的基礎(chǔ)上,構(gòu)建了完整的移動(dòng)無(wú)線視頻系統(tǒng),實(shí)現(xiàn)了整個(gè)系統(tǒng)小型化和可移動(dòng)的優(yōu)點(diǎn),使系統(tǒng)的部署實(shí)施和維護(hù)更加簡(jiǎn)便。
關(guān)鍵詞:視頻系統(tǒng);操作系統(tǒng);平臺(tái)移植;應(yīng)用開發(fā)
中圖分類號(hào):TP39 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2017)01-0078-02
1 移動(dòng)無(wú)線視頻系統(tǒng)研究的背景及目標(biāo)
近年來(lái)移動(dòng)互聯(lián)技術(shù)獲得了快速發(fā)展,新的寬帶接入技術(shù)不斷涌現(xiàn)并走向成熟,移動(dòng)通信與各種寬帶接入技術(shù)和短距離無(wú)線技術(shù)呈現(xiàn)融合發(fā)展的態(tài)勢(shì),這為移動(dòng)無(wú)線視頻技術(shù)的發(fā)展創(chuàng)造了良好的條件。本系統(tǒng)的研究目標(biāo)是將無(wú)線網(wǎng)絡(luò)通信技術(shù)與視頻處理技術(shù)有機(jī)結(jié)合,構(gòu)建完整的遠(yuǎn)程無(wú)線視頻傳輸系統(tǒng)。
2 移動(dòng)無(wú)線視頻系統(tǒng)可行性分析
移動(dòng)無(wú)線視頻系統(tǒng)的核心技術(shù)難點(diǎn)在于嵌入式LINUX系統(tǒng)下各功能模塊的整合設(shè)計(jì)[2],需要充分考慮嵌入式系統(tǒng)資源的限制與系統(tǒng)復(fù)雜性之間的矛盾,包括CPU處理能力的限制、內(nèi)外存容量的限制、網(wǎng)絡(luò)傳輸帶寬的限制。
系統(tǒng)平臺(tái)的CPU為MIPS 24KEc內(nèi)核,主頻360MHz,片上包含32KB的指令CACHE和16KB的數(shù)據(jù)CACHE,支持16位寬64MB SDRAM。系統(tǒng)平臺(tái)支持16MB FLASH,經(jīng)過(guò)編譯驗(yàn)證,支持系統(tǒng)平臺(tái)基本功能的LINUX內(nèi)核映像大小為6MB,經(jīng)過(guò)評(píng)估,增加了各模塊驅(qū)動(dòng)及應(yīng)用程序后,內(nèi)核映像大小不會(huì)超過(guò)外存限制。
視頻數(shù)據(jù)傳輸采用MJPEG格式。MJPEG是一種基于靜態(tài)圖像壓縮技術(shù)JPEG發(fā)展起來(lái)的動(dòng)態(tài)圖像壓縮技術(shù),可以生成序列化的運(yùn)動(dòng)圖像。其主要特點(diǎn)是只單獨(dú)對(duì)一幀圖像進(jìn)行壓縮,不進(jìn)行幀間圖像壓縮。其壓縮倍數(shù)為20~80倍,適合靜態(tài)畫面的壓縮,分辨率可從352×288到704×576。因?yàn)镸JPEG格式保證了單幀圖像數(shù)據(jù)的獨(dú)立性,可以任意剪接。本課題中視頻數(shù)據(jù)傳輸分辨率為 QVGA(320×240),單幅圖像的數(shù)據(jù)約為6Kbyte。傳輸速率為25幀每秒,可以計(jì)算出MJPEG碼流需要的網(wǎng)絡(luò)傳輸帶寬為150KB/s,換算為位傳輸速率大約為1.2MBps左右。無(wú)線網(wǎng)絡(luò)傳輸模塊的傳輸帶寬為20MBps,能夠滿足無(wú)線視頻傳輸?shù)膸捯蟆?/p>
3 移動(dòng)無(wú)線視頻系統(tǒng)硬件設(shè)計(jì)
移動(dòng)無(wú)線視頻系統(tǒng)由視頻采集傳輸系統(tǒng)和運(yùn)行在手機(jī)上的視頻接收播放系統(tǒng)兩部分構(gòu)成。
視頻采集傳輸系統(tǒng)由處理器平臺(tái)、無(wú)線網(wǎng)絡(luò)傳輸模塊、視頻采集處理模塊組成。系統(tǒng)框圖如圖1所示。
無(wú)線視頻接收系統(tǒng)通過(guò)WiFi接收無(wú)線視頻采集系統(tǒng)發(fā)送的視頻信號(hào),并還原為顯示屏視頻。
視頻采集傳輸系統(tǒng)的處理器平臺(tái)選用雷凌公司的SOC芯片RT5350,其功能框圖如圖2所示。RT5350集成了MIPS處理器,最小系統(tǒng)集成為一個(gè)模塊,包括8兆字節(jié)FLASH、32兆字節(jié)RAM,支持CPU最高工作主頻為360兆赫茲,片上包含32KB的指令CACHE和16KB的數(shù)據(jù)CACHE。RT5350SOC提供無(wú)線寬帶協(xié)議IEEE 802.11n的支持,同時(shí)集成了以太網(wǎng)口和USB2.0接口。
視頻采集處理模塊采用沛成科技的集成USB攝像頭模塊IP2970,其功能框圖如圖3所示。該模塊支持最高30幀/秒的視頻信號(hào)采集處理,圖像分辨率最高支持640×480。支持視頻信號(hào)的自動(dòng)對(duì)焦、自動(dòng)增益控制和自動(dòng)白平衡功能。模塊集成了JPEG編碼器,通過(guò)USB接口將JPEG格式的圖像數(shù)據(jù)傳送給主控板。
整個(gè)視頻采集傳輸系統(tǒng)采用單電源5伏供電,支持鋰電池作為系統(tǒng)電源。本系統(tǒng)在實(shí)現(xiàn)視頻數(shù)據(jù)無(wú)線傳輸功能的基礎(chǔ)上,設(shè)計(jì)上保證了視頻采集傳輸設(shè)備和視頻接收播放設(shè)備的小型化和可移動(dòng)性。使系統(tǒng)的部署實(shí)施和維護(hù)更加簡(jiǎn)便,以便適應(yīng)無(wú)線視頻系統(tǒng)應(yīng)用復(fù)雜的外部環(huán)境。
4 移動(dòng)無(wú)線視頻系統(tǒng)軟件設(shè)計(jì)
本系統(tǒng)軟件設(shè)計(jì)主要內(nèi)容為無(wú)線視頻采集系統(tǒng)和接收系統(tǒng)的方案設(shè)計(jì)以及各功能模塊軟件的開發(fā)及調(diào)試。最終構(gòu)建移動(dòng)無(wú)線視頻系統(tǒng)來(lái)實(shí)現(xiàn)視頻數(shù)據(jù)無(wú)線傳輸功能。主要任務(wù)有:
(1)操作系統(tǒng)平臺(tái)移植。視頻采集傳輸系統(tǒng)的操作系統(tǒng)平臺(tái)使用SDK提供的基于2.6.21內(nèi)核的LINUX操作系統(tǒng)。SDK中對(duì)內(nèi)核配置文件進(jìn)行了改寫,支持開發(fā)者使用內(nèi)核配置工具進(jìn)行雷凌公司特定的產(chǎn)品配置。包括產(chǎn)品平臺(tái)的選擇,無(wú)線模塊工作方式(AP或STA)的選擇和內(nèi)外存大小的配置等。此外,針對(duì)RT5350模塊具體的硬件實(shí)現(xiàn),需要對(duì)內(nèi)核進(jìn)行裁剪及上板調(diào)試,保證內(nèi)核映像符合硬件模塊的要求。
(2)無(wú)線路由模塊的移植調(diào)試。RT5350芯片內(nèi)部集成了一個(gè)五端口百兆以太網(wǎng)交換機(jī),同時(shí)提供了IEEE802.11n無(wú)線網(wǎng)絡(luò)協(xié)議的支持。通過(guò)軟件配置,可以直接作為無(wú)線路由器使用。根據(jù)無(wú)線路由模塊工作方式的不同加載兩套獨(dú)立的驅(qū)動(dòng),分別是rt2860v2_ap和rt2860v2_sta。軟件移植工作包括:修改配置文件將無(wú)線模塊配置為無(wú)線路由模式,配置LINUX內(nèi)核提供NAT協(xié)議的支持,支持無(wú)線路由模塊配置(SSID、密碼等)的保存。
(3)基于USB2.0接口的USB Video驅(qū)動(dòng)的移植。視頻采集模塊IP2970與主控板處理器平臺(tái)間采用USB接口進(jìn)行連接,視頻采集模塊設(shè)備驅(qū)動(dòng)采用Linux內(nèi)核支持的V4L2視頻設(shè)備驅(qū)動(dòng)程序。V4L2遵循Linux設(shè)備驅(qū)動(dòng)規(guī)范,提供視頻設(shè)備的打開關(guān)閉、格式設(shè)置、視頻數(shù)據(jù)處理功能,以及用于視頻設(shè)備控制的ioctl函數(shù)。IP2970針對(duì)V4L2驅(qū)動(dòng)進(jìn)行了硬件適配修改,因此,需要將IP2970對(duì)V4L2驅(qū)動(dòng)的適配修改移植到RT5350軟件開發(fā)包提供的Linux內(nèi)核中。具體工作包括:驅(qū)動(dòng)設(shè)備查詢時(shí)對(duì)IP2970芯片ID的支持,驅(qū)動(dòng)數(shù)據(jù)處理中針對(duì)IP2970硬件的修改,LINUX驅(qū)動(dòng)編譯文件makefile的修改等。
(4)視頻數(shù)據(jù)網(wǎng)絡(luò)傳輸應(yīng)用程序的移植。視頻數(shù)據(jù)的網(wǎng)絡(luò)傳輸應(yīng)用程序基于開源程序uvc_stream實(shí)現(xiàn)。uvc_stream是一個(gè)開源的Linux視頻服務(wù)應(yīng)用程序。基于USB視頻驅(qū)動(dòng)V4L2,實(shí)現(xiàn)視頻數(shù)據(jù)的采集和網(wǎng)絡(luò)傳輸。應(yīng)用程序作為服務(wù)器,通過(guò)SOCKET進(jìn)行網(wǎng)絡(luò)連接偵聽,當(dāng)客戶端通過(guò)特定端口進(jìn)行連接時(shí),啟動(dòng)連接線程,將攝像頭采集的視頻數(shù)據(jù)按照設(shè)定的幀速率傳輸給客戶端。視頻數(shù)據(jù)采用MJPEG數(shù)據(jù)格式,圖像分辨率和每秒傳輸圖像幀數(shù)可調(diào)整。在本課題中需要完成的工作包括:通過(guò)啟動(dòng)參數(shù)進(jìn)行圖像分辨率和圖像傳輸幀速率的設(shè)置,以及將應(yīng)用程序添加到內(nèi)核文件系統(tǒng)中。
(5)視頻數(shù)據(jù)接收顯示安卓應(yīng)用程序的開發(fā)。視頻數(shù)據(jù)接收設(shè)備采用支持WLAN的標(biāo)準(zhǔn)Android平臺(tái),開發(fā)基于MJPEG解碼顯示的Android應(yīng)用程序[3]。其中MJPEG視頻數(shù)據(jù)解碼部分采用開源程序MjpegInputStream。該程序提供了MJPEG格式網(wǎng)絡(luò)視頻數(shù)據(jù)碼流的獲取和顯示相關(guān)方法。在此基礎(chǔ)上,視頻數(shù)據(jù)接收顯示安卓應(yīng)用實(shí)現(xiàn)了數(shù)據(jù)源網(wǎng)絡(luò)地址和端口號(hào)的設(shè)置功能,并完成了應(yīng)用的相關(guān)UI設(shè)計(jì)。終端用戶可以在任何Android設(shè)備上安裝App來(lái)實(shí)現(xiàn)無(wú)線視頻接收顯示。增加了系統(tǒng)的靈活性。
5 研究成果
通過(guò)本課題的研究,完成了無(wú)線路由、視頻數(shù)據(jù)采集處理、視頻數(shù)據(jù)網(wǎng)絡(luò)傳輸?shù)裙δ艿恼显O(shè)計(jì),實(shí)現(xiàn)了研制無(wú)線視頻系統(tǒng)樣機(jī),構(gòu)建無(wú)線視頻傳輸演示系統(tǒng)的預(yù)期目標(biāo)。整個(gè)系統(tǒng)具有低成本、高可移植性、應(yīng)用部署靈活簡(jiǎn)便等優(yōu)點(diǎn)。
系統(tǒng)技術(shù)參數(shù)如下:
(1)整個(gè)系統(tǒng)采用單電源5V供電,系統(tǒng)設(shè)計(jì)上支持鋰電池作為系統(tǒng)電源。
(2)系統(tǒng)的無(wú)線網(wǎng)絡(luò)傳輸模塊支持IEEE 802.11n協(xié)議,可以作為無(wú)線AP單獨(dú)使用。
(3)無(wú)線視頻傳輸最小距離不小于20米。
(4)攝像頭采用CMOS攝像頭,支持焦距可調(diào),支持自動(dòng)增益控制和動(dòng)態(tài)白平衡。
(5)網(wǎng)絡(luò)傳輸?shù)囊曨l格式為MJPEG壓縮編碼格式,圖像分辨率為320*240,每秒傳輸圖像為25幀。
6 存在問(wèn)題及研究展望
目前系統(tǒng)的視頻壓縮采用的是視頻處理引擎提供的硬件JPEG壓縮編碼,與之相對(duì)應(yīng),視頻網(wǎng)絡(luò)傳輸采用的編碼格式為MJPEG。其優(yōu)點(diǎn)是可以保持圖像的高質(zhì)量,同時(shí)便于視頻的逐幀處理,缺點(diǎn)是視頻傳輸占用的網(wǎng)絡(luò)帶寬較大??紤]到無(wú)線視頻傳輸系統(tǒng)的規(guī)模應(yīng)用,為了在有限的網(wǎng)絡(luò)帶寬下傳輸盡可能多路視頻信號(hào),需要對(duì)圖像的壓縮編解碼方法進(jìn)行優(yōu)化,可以考慮采用圖像壓縮比更高的算法進(jìn)行圖像的軟件編解碼。
參考文獻(xiàn)
[1]張秀玲.視頻監(jiān)控系統(tǒng)研究現(xiàn)狀與發(fā)展趨勢(shì)[J].科技信息(學(xué)術(shù)研究),2008(36).
[2]鄭磊.基于嵌入式Linux的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)研究[D].武漢理工大學(xué),2009.
[3]曹曉芳,王超,李杰.一種基于Android智能手機(jī)的遠(yuǎn)程視頻監(jiān)控的設(shè)計(jì)[J].電子器件,2011.