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