王 亞
(太原理工大學(xué)信息工程學(xué)院,山西太原030024)
物聯(lián)網(wǎng)以用戶體驗和應(yīng)用創(chuàng)新為核心,將人的眼、耳、口、手無限拓展,是看得見,聽得清,能做事的互聯(lián)網(wǎng),被視為繼計算機(jī)、互聯(lián)網(wǎng)之后世界信息產(chǎn)業(yè)發(fā)展的第三次浪潮[1]。針對地域分散的分布式生產(chǎn)企業(yè),物聯(lián)網(wǎng)視頻監(jiān)控有著極為緊迫的需求,成為目前研究開發(fā)的熱門。但是目前視頻監(jiān)控系統(tǒng)均采用國外音視頻標(biāo)準(zhǔn),潛在專利風(fēng)險巨大[2,3]。
針對分布式生產(chǎn)企業(yè)的視頻監(jiān)控需求,本文開發(fā)了一種不依賴國外音視頻標(biāo)準(zhǔn)和電信運營商的物聯(lián)網(wǎng)視頻監(jiān)控系統(tǒng),包括:自主 AVS標(biāo)準(zhǔn)[4]的 AVS視頻編碼傳感服務(wù)器[5,6],AVS 解碼[7]播放客戶端[8]和流媒體中間件[9,10]等。具體內(nèi)容有:雙核處理器平臺在DSP端實現(xiàn)AVS基準(zhǔn)檔次編碼算法[11],在ARM端實現(xiàn)視頻采集和物聯(lián)網(wǎng)傳輸協(xié)議,將視頻壓縮傳感器升級為視頻傳感服務(wù)器[12];客戶端實現(xiàn)了AVS實時解碼算法和多畫面顯示播放[13,14];研制開發(fā)流媒體中間件[15,16],在物聯(lián)網(wǎng)上m個服務(wù)器和 n個客戶端之間實現(xiàn)任意媒體流傳輸?shù)能浗粨Q系統(tǒng)。本文將上述獨立的部分成果組織在一起,集成優(yōu)化形成一種基于AVS標(biāo)準(zhǔn)的物聯(lián)網(wǎng)視頻監(jiān)控系統(tǒng)的完整解決方案。該項目得到2011年度國家科技型中小企業(yè)創(chuàng)新基金資助,于2013年底通過山西省科技廳組織的專家鑒定,評價為國際先進(jìn)水平。
本文采用國家發(fā)明專利[5]瘦服務(wù)器技術(shù),在DSP+ARM雙核架構(gòu)上實現(xiàn)了視頻傳感服務(wù),其基本結(jié)構(gòu)如圖1所示。
圖1 傳感服務(wù)器模塊劃分
其中DSP承擔(dān)AVS編碼,負(fù)責(zé)圖像采集、壓縮編碼和數(shù)據(jù)緩沖等視頻傳感器等任務(wù)。為了能夠提供流媒體數(shù)據(jù)服務(wù),ARM端引入流傳輸控制,使其成為流媒體傳感服務(wù)器。
流媒體傳感服務(wù)器的傳輸控制主要包括視頻采集、AVS編碼控制、RTP傳輸以及SIP信令控制4個主要模塊。其中視頻采集模塊采集YUV數(shù)據(jù)編碼壓縮后傳遞給視頻控制線程。視頻控制模塊依據(jù)主控函數(shù)傳入的碼率控制參數(shù)在循環(huán)編碼過程中修正QP值,確保目標(biāo)碼率。視頻傳輸模塊RTP,與視頻控制模塊和信令控制SIP模塊交互工作,獲得客戶端的IP和端口等信息后與客戶端建立RTP連接,并在視頻控制模塊中將編碼后的AVS視頻數(shù)據(jù)發(fā)送到建立連接的客戶端。信令控制SIP模塊實現(xiàn)物聯(lián)網(wǎng)流媒體傳輸?shù)幕緟f(xié)議,通過SIP協(xié)議完成包括注冊、應(yīng)答、響應(yīng)、握手等會話控制功能。
客戶端軟件包括AVS解碼器軟件和多畫面監(jiān)控播放軟件,已經(jīng)分別登記了軟件著作權(quán)。
AVS解碼器軟件采用C代碼編寫,并利用SIMD指令集的MMX和SSE2指令進(jìn)行代碼優(yōu)化,軟件結(jié)構(gòu)如圖2所示。
圖2 AVS解碼器結(jié)構(gòu)
解碼時首先初始化全局變量,之后查找碼流中的起始碼,并分配所需要的緩沖空間,以幀為單位循環(huán)處理。幀為條帶,不同的條帶對應(yīng)著不同的起始碼,根據(jù)起始碼判斷條帶類型,根據(jù)判斷結(jié)果進(jìn)入不同的解碼函數(shù)。當(dāng)解析出起始碼值為I圖像頭或者P、B圖像頭后,分別進(jìn)行I幀解碼、P幀解碼或B幀解碼程序,并更新參考幀。最后遇到序列結(jié)束碼時解碼終結(jié),釋放所占用的內(nèi)存空間。
多畫面監(jiān)控播放軟件功能主要包括:實現(xiàn)SIP協(xié)議的信令控制;支持RTP傳輸協(xié)議接收數(shù)據(jù)并解包;將接收到的碼流由GAVS解碼轉(zhuǎn)換為YUV格式并顯示;顯示界面的多畫面控制。客戶端軟件通過SIP協(xié)議棧庫eXosip2在服務(wù)器上注冊信息,成功注冊的用戶可以對多個編碼服務(wù)器呼叫并建立連接,開始接收碼流,進(jìn)行本地保存并解碼顯示。在Windows和Linux兩個平臺上分別使用MFC平臺和QT4平臺實現(xiàn)播放器,Windows客戶端需創(chuàng)建基于MFC對話框的應(yīng)用程序,以客戶端界面的控制選擇來編寫相關(guān)功能程序。
視頻傳感服務(wù)器與客戶端形成一對一的網(wǎng)絡(luò)通信,但對于m個視頻傳感服務(wù)器和n個客戶端組成的物聯(lián)網(wǎng)視頻系統(tǒng),采用點對點通信則需建立m×n個連接,顯然不合理。若通過運營商實現(xiàn)互聯(lián)會增加系統(tǒng)建設(shè)和運營費用。本項目研制開發(fā)了流媒體軟交換中間件,僅需建立m+n個連接,并且有效避免了碼流的重復(fù)緩存和傳輸,該軟件已經(jīng)登記了軟件著作權(quán)。
流媒體中間件首先集中緩存m個視頻傳感服務(wù)器提交的碼流,然后根據(jù)需要和權(quán)限分發(fā)給n個客戶端。系統(tǒng)在主線程中完成網(wǎng)上代理注冊,即向SIP注冊服務(wù)器登記自己的代理用戶名、IP地址、端口信息等??蛻舳巳缧枭暾埬陈芬曨l碼流,將呼叫請求發(fā)送到流媒體中間件。若請求的該路視頻信息尚未被任何客戶端申請,流媒體中間件先向該路視頻傳感服務(wù)器發(fā)出呼叫并建立會話通道;發(fā)送響應(yīng)信息到原發(fā)起呼叫的客戶端建立與客戶端的會話通路;從此通道獲取視頻流數(shù)據(jù)傳送到客戶端。若請求的該路視頻已經(jīng)被其它客戶端呼叫并建立了連接通道,流媒體中間件開辟一條新的線程并直接響應(yīng)呼叫的客戶端,并分發(fā)傳輸該路媒體流數(shù)據(jù)。
研制開發(fā)的流媒體中間件還負(fù)責(zé)客戶端的管理調(diào)度,涉及到權(quán)限、鑒權(quán)以及計費等機(jī)制。
本文的物聯(lián)網(wǎng)視頻監(jiān)控系統(tǒng)包括三個可獨立銷售的裝備,分別是視頻傳感服務(wù)器、客戶端解碼播放軟件和流媒體中間件軟交換應(yīng)用服務(wù)器。其中AVS編碼器能夠?qū)崟r采集D1分辨率每秒25幀圖像并進(jìn)行編碼壓縮,碼率500 k~2 Mbps可調(diào),信噪比PSNR:35~43 dB,主觀質(zhì)量清晰流暢,無馬賽克,無抖動,同時實現(xiàn)對AVS視頻流的數(shù)據(jù)打包、本地存儲和網(wǎng)絡(luò)傳輸。優(yōu)化后的AVS解碼器軟件在Pentium雙核處理器、1.86 GHz的CPU主頻、WindowsXP的操作系統(tǒng),Visual Studio 2008環(huán)境下進(jìn)行編譯,解碼圖像信噪比測試結(jié)果與AVS官方參考軟件結(jié)果完全一致,D1格式解碼速度為50.59fps,完全滿足實時要求。流媒體中間件可將注冊服務(wù)器部署在廣域網(wǎng)上支持廣域網(wǎng)的軟交換。與其他網(wǎng)絡(luò)交換解決方案相比,本文的流媒體軟交換中間件把對運營商的依賴降至最少,運行費用低廉。
[1]劉偉.物聯(lián)網(wǎng)發(fā)展與知識產(chǎn)權(quán)保護(hù)互動關(guān)系研究[D].湖南:中南大學(xué),2012.
[2]ISO/IEC JTC1/SC29/WG11.MPEG -4 Video Verification Model Version 10.0[S].MPEG98/N1992,San Jose,F(xiàn)ebruary 1998.
[3]Draft ITU-T Recommendation and Final Draft International Standard of Joint Video Specification(ITU-T Rec.H.264|ISO/IEC 14496-10 AVC)[C].Joint Video Team(JVT)of ISO/IEC MPEG and ITU-T VCEG,7th Meeting,Pattaya,Thailand,7-14 March 2003,JVT-G050.
[4]黃鐵軍,高文.AVS標(biāo)準(zhǔn)制定背景與知識產(chǎn)權(quán)狀況[J].電視技術(shù),2005(7):4 -7.
[5]常青,張剛,張勝,等.廋服務(wù)器[P].中國發(fā)明專利,200910074235.4[P].2009,9,7.
[6]山西達(dá)鑫核科技有限公司.視頻傳感服務(wù)器軟件[P].軟件著作權(quán)登記:2013SR136408.
[7]山西達(dá)鑫核科技有限公司.AVS解碼器軟件[P].軟件著作權(quán)登記:2013SR136419.
[8]山西達(dá)鑫核科技有限公司.監(jiān)控系統(tǒng)客戶端軟件[P].軟件著作權(quán)登記:2013SR136402.
[9]山西達(dá)鑫核科技有限公司.流媒體中間件軟件[P].軟件著作權(quán)登記:2013SR136413.
[10]王雷.AVS視頻監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[D].太原:太原理工大學(xué),2012.
[11]王瑞.SOA架構(gòu)下的AVS實時編碼器(D1)的關(guān)鍵技術(shù)研究[D].太原:太原理工大學(xué),2011.
[12]郝敏.流媒體中間件及基于以太網(wǎng)的視頻監(jiān)控系統(tǒng)應(yīng)用研究[D].太原:太原理工大學(xué),2013.
[13]關(guān)艷華,張剛.AVS視頻解碼器的PC實現(xiàn)[J].電視技術(shù),2013(3):8-10.
[14]高譽菊.支持時間索引的文件系統(tǒng)在流媒體存儲系統(tǒng)的應(yīng)用[D].太原:太原理工大學(xué),2014.
[15]展鵬飛.物聯(lián)網(wǎng)視頻監(jiān)控系統(tǒng)關(guān)鍵技術(shù)研究[D].太原:太原理工大學(xué),2014.
[16]呂鹍.物聯(lián)網(wǎng)視頻云系統(tǒng)架構(gòu)研究[D].太原:太原理工大學(xué),2014.