基于Web的區(qū)域聯(lián)網(wǎng)視頻監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
3 ESMS流媒體服務(wù)器的設(shè)計(jì)
對(duì)于路段的模擬視頻監(jiān)控系統(tǒng), 嵌入式流媒體服務(wù)器ESMS是模擬路段監(jiān)控系統(tǒng)實(shí)現(xiàn)區(qū)域聯(lián)網(wǎng)的關(guān)鍵。流媒體服務(wù)器需要完成模擬視頻的編碼傳輸和聯(lián)網(wǎng)控制功能。其硬件設(shè)計(jì)采用了Atmel公司的ARM920T內(nèi)核的嵌入式處理器AT91RM9200 和WIS公司的G07007實(shí)時(shí)MPEG/MJPEG硬件編碼器的方案。ESMS 的硬件系統(tǒng)結(jié)構(gòu)如圖2 所示。
圖2 ESMS 硬件系統(tǒng)結(jié)構(gòu)圖
攝像機(jī)的模擬視頻信號(hào)經(jīng)視頻A/D 轉(zhuǎn)芯片SAA7113進(jìn)行視頻采樣量化, 與此同時(shí), 音頻A/D/A編解碼芯片UDA1344將輸入的模擬聲音信號(hào)采用量化一起送入音視頻編碼芯片G07007進(jìn)行MPEG-4 格式的圖像壓縮。實(shí)時(shí)產(chǎn)生D1分辨率的PAL制每秒25幀的MPEG-4視頻流, G07007通過(guò)16位的HPI接口與AT91RM9200 交互。AT91RM9200將采集的視頻數(shù)據(jù)流, 按RTP/UDP/IP協(xié)議打包,通過(guò)以太網(wǎng)接口實(shí)現(xiàn)視頻流的實(shí)時(shí)傳輸。
網(wǎng)絡(luò)處理器自帶兩個(gè)RS-232 串口。一個(gè)主要功能是根據(jù)用戶需要設(shè)置IP編碼器的各種工作參數(shù), 例如網(wǎng)絡(luò)的IP地址, 碼的幀率、編碼效率、圖像質(zhì)量等。另一個(gè)串口用來(lái)擴(kuò)展RS-422/485 等多種接口, 進(jìn)而實(shí)現(xiàn)遠(yuǎn)程控制目的, 例如攝像機(jī)的鏡頭焦距控制、光圈控制、云臺(tái)控制、報(bào)警輸入/輸出等。ESMS采用遵循GPL協(xié)議的嵌入式Linux 操作系統(tǒng)。Linux 操作系統(tǒng)具有任務(wù)調(diào)度、存儲(chǔ)管理、消息隊(duì)列、中斷處理等功能; 這里進(jìn)行了裁減, 保留了進(jìn)程管理、視頻設(shè)備驅(qū)動(dòng)、TCP/IP 協(xié)議棧以及TTY 字符設(shè)備驅(qū)動(dòng)等模塊, ESMS軟件系統(tǒng)結(jié)構(gòu)如圖3所示。硬件驅(qū)動(dòng)程序位于嵌入式Linux 操作系統(tǒng)之中, 是上層應(yīng)用軟件和下層嵌入式硬件之間的唯一橋梁。G07007的驅(qū)動(dòng)程序按照Video for Linux (V 4L )視頻驅(qū)動(dòng)標(biāo)準(zhǔn)規(guī)范實(shí)現(xiàn), 用于驅(qū)動(dòng)視頻采集/壓縮硬件。該驅(qū)動(dòng)提供了一組API函數(shù), 使得A T91RM 9200 服務(wù)能夠以比較一般的方式獲取壓縮視頻數(shù)據(jù), 設(shè)置硬件參數(shù)。當(dāng)G07007 的FIFO 緩存達(dá)到門(mén)限值時(shí), 會(huì)產(chǎn)生G07007 硬件中斷。G07007的V4L驅(qū)動(dòng)會(huì)響應(yīng)該中斷請(qǐng)求并維護(hù)視頻緩存, 同時(shí)發(fā)消息給網(wǎng)絡(luò)處理芯片服務(wù)進(jìn)程, 通知其打包視頻數(shù)據(jù)并傳輸出去。
圖3 ESMS軟件系統(tǒng)結(jié)構(gòu)圖
4 視頻流帶寬的自適應(yīng)處理
區(qū)域聯(lián)網(wǎng)視頻監(jiān)控中, 各路段接入骨干網(wǎng)的方式不一, 網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜, 網(wǎng)絡(luò)的擁塞、延遲、丟幀等勢(shì)必會(huì)影響圖像的質(zhì)量。而監(jiān)控視頻流往往具有嚴(yán)格的時(shí)延和抖動(dòng)要求。重傳機(jī)制不利于視頻傳輸?shù)膶?shí)時(shí)性, 因此, 系統(tǒng)應(yīng)能及時(shí)的評(píng)估網(wǎng)絡(luò)的狀況, 結(jié)合MPEG-4 視頻編碼的容錯(cuò)特性, 通過(guò)增加或減少傳輸碼率來(lái)保證數(shù)據(jù)的實(shí)時(shí)傳送, 實(shí)現(xiàn)跨地域的帶寬自適應(yīng)的視頻網(wǎng)絡(luò)傳輸。
監(jiān)控視頻流首先以RTP協(xié)議進(jìn)行封裝, 再用UDP協(xié)議對(duì)RTP數(shù)據(jù)包進(jìn)行封裝, 最后由IP網(wǎng)絡(luò)層封裝為IP數(shù)據(jù)包, 經(jīng)網(wǎng)絡(luò)進(jìn)行傳輸。RTP本身也不提供可靠的傳送機(jī)制以及流量控制或擁塞控制, 它依靠RTCP提供這些服務(wù)。在RTP會(huì)話期間, 各接收端周期性地傳送RTCP。RTCP中含有已發(fā)送的數(shù)據(jù)包的數(shù)量、丟失的數(shù)據(jù)包的數(shù)量等統(tǒng)計(jì)資料?;赗TCP 的反饋機(jī)制, 發(fā)送端可以評(píng)估網(wǎng)絡(luò)狀態(tài)和接收端情況, 及時(shí)調(diào)整傳送方式, 盡可能地解決網(wǎng)絡(luò)實(shí)時(shí)數(shù)據(jù)傳輸中出現(xiàn)的不可預(yù)測(cè)的延遲、抖動(dòng)等問(wèn)題?;诎l(fā)送端的碼率控制主要有改變編碼器的量化參數(shù)、丟幀和幀率控制三種方法。增大量化參數(shù), 則發(fā)送端的視頻流碼率下降, 反之亦然。丟幀處理利用視頻編碼的特點(diǎn), 例如在MPEG-4編碼幀分為: I 幀(幀內(nèi)編碼)、P幀(前向預(yù)測(cè)編碼)和B幀(雙向時(shí)間預(yù)測(cè)) , I幀具有空間相關(guān)性, P 幀和B 幀同時(shí)具有空間和時(shí)間相關(guān)性。只有I幀和P幀可以作為參考幀, 因此在需要降低視頻數(shù)據(jù)發(fā)送碼率時(shí), 可以根據(jù)幀的重要程度, 先拋棄一定數(shù)目的B幀, 再拋棄P幀來(lái)降低視頻流碼率。結(jié)果是圖像分辨率降低, 但整體幀連續(xù), 無(wú)停頓感。幀率控制方式則是通過(guò)拋棄某些視頻圖像幀, 改變圖像幀發(fā)送速率, 如將原先30 幀/秒降為15 幀/秒來(lái)降低視頻流碼率, 結(jié)果是監(jiān)控圖像細(xì)節(jié)清晰, 但因圖像幀的缺少造成幀間抖動(dòng)和畫(huà)面停頓。在區(qū)域聯(lián)網(wǎng)視頻監(jiān)控應(yīng)用中, 需根據(jù)實(shí)際需要選用相應(yīng)方法。碼率調(diào)整過(guò)程中采取加法提高、乘法降低策略, 即緩升快降方法。
5 結(jié)束語(yǔ)
該設(shè)計(jì)方案深入探討了基于B/S 模式的區(qū)域聯(lián)網(wǎng)視頻監(jiān)控系統(tǒng)的架構(gòu)和技術(shù)實(shí)現(xiàn), 充分考慮了高速公路管理的體制和現(xiàn)狀, 以及網(wǎng)絡(luò)的安全性和異構(gòu)性。其中Web方式操作簡(jiǎn)單、維護(hù)方便, 便于擴(kuò)展; 基于帶寬自適應(yīng)的流碼率控制在相當(dāng)程度上改善了網(wǎng)絡(luò)擁塞、時(shí)延等對(duì)監(jiān)控視頻流質(zhì)量的影響; 設(shè)計(jì)的基于ARM和專(zhuān)用視頻編碼芯片的嵌入式流媒體服務(wù)器, 具有很高的可靠性和性價(jià)比, 作為視頻監(jiān)控的一個(gè)發(fā)展方向,具有廣闊的應(yīng)用前景。
參考文獻(xiàn):
[1].ARM920Tdatasheethttp://www.dzsc.com/datasheet/ARM920T_139814.html.
[2].SAA7113datasheethttp://www.dzsc.com/datasheet/SAA7113_596303.html.
[3].UDA1344datasheethttp://www.dzsc.com/datasheet/UDA1344_670499.html.
[4].RS-232 datasheethttp://www.dzsc.com/datasheet/RS-232+_584855.html.
評(píng)論