基于Web的區(qū)域聯(lián)網視頻監(jiān)控系統(tǒng)設計與實現(xiàn)
3 ESMS流媒體服務器的設計
對于路段的模擬視頻監(jiān)控系統(tǒng), 嵌入式流媒體服務器ESMS是模擬路段監(jiān)控系統(tǒng)實現(xiàn)區(qū)域聯(lián)網的關鍵。流媒體服務器需要完成模擬視頻的編碼傳輸和聯(lián)網控制功能。其硬件設計采用了Atmel公司的ARM920T內核的嵌入式處理器AT91RM9200 和WIS公司的G07007實時MPEG/MJPEG硬件編碼器的方案。ESMS 的硬件系統(tǒng)結構如圖2 所示。

圖2 ESMS 硬件系統(tǒng)結構圖
攝像機的模擬視頻信號經視頻A/D 轉芯片SAA7113進行視頻采樣量化, 與此同時, 音頻A/D/A編解碼芯片UDA1344將輸入的模擬聲音信號采用量化一起送入音視頻編碼芯片G07007進行MPEG-4 格式的圖像壓縮。實時產生D1分辨率的PAL制每秒25幀的MPEG-4視頻流, G07007通過16位的HPI接口與AT91RM9200 交互。AT91RM9200將采集的視頻數據流, 按RTP/UDP/IP協(xié)議打包,通過以太網接口實現(xiàn)視頻流的實時傳輸。
網絡處理器自帶兩個RS-232 串口。一個主要功能是根據用戶需要設置IP編碼器的各種工作參數, 例如網絡的IP地址, 碼的幀率、編碼效率、圖像質量等。另一個串口用來擴展RS-422/485 等多種接口, 進而實現(xiàn)遠程控制目的, 例如攝像機的鏡頭焦距控制、光圈控制、云臺控制、報警輸入/輸出等。ESMS采用遵循GPL協(xié)議的嵌入式Linux 操作系統(tǒng)。Linux 操作系統(tǒng)具有任務調度、存儲管理、消息隊列、中斷處理等功能; 這里進行了裁減, 保留了進程管理、視頻設備驅動、TCP/IP 協(xié)議棧以及TTY 字符設備驅動等模塊, ESMS軟件系統(tǒng)結構如圖3所示。硬件驅動程序位于嵌入式Linux 操作系統(tǒng)之中, 是上層應用軟件和下層嵌入式硬件之間的唯一橋梁。G07007的驅動程序按照Video for Linux (V 4L )視頻驅動標準規(guī)范實現(xiàn), 用于驅動視頻采集/壓縮硬件。該驅動提供了一組API函數, 使得A T91RM 9200 服務能夠以比較一般的方式獲取壓縮視頻數據, 設置硬件參數。當G07007 的FIFO 緩存達到門限值時, 會產生G07007 硬件中斷。G07007的V4L驅動會響應該中斷請求并維護視頻緩存, 同時發(fā)消息給網絡處理芯片服務進程, 通知其打包視頻數據并傳輸出去。

圖3 ESMS軟件系統(tǒng)結構圖
4 視頻流帶寬的自適應處理
區(qū)域聯(lián)網視頻監(jiān)控中, 各路段接入骨干網的方式不一, 網絡結構復雜, 網絡的擁塞、延遲、丟幀等勢必會影響圖像的質量。而監(jiān)控視頻流往往具有嚴格的時延和抖動要求。重傳機制不利于視頻傳輸的實時性, 因此, 系統(tǒng)應能及時的評估網絡的狀況, 結合MPEG-4 視頻編碼的容錯特性, 通過增加或減少傳輸碼率來保證數據的實時傳送, 實現(xiàn)跨地域的帶寬自適應的視頻網絡傳輸。
監(jiān)控視頻流首先以RTP協(xié)議進行封裝, 再用UDP協(xié)議對RTP數據包進行封裝, 最后由IP網絡層封裝為IP數據包, 經網絡進行傳輸。RTP本身也不提供可靠的傳送機制以及流量控制或擁塞控制, 它依靠RTCP提供這些服務。在RTP會話期間, 各接收端周期性地傳送RTCP。RTCP中含有已發(fā)送的數據包的數量、丟失的數據包的數量等統(tǒng)計資料?;赗TCP 的反饋機制, 發(fā)送端可以評估網絡狀態(tài)和接收端情況, 及時調整傳送方式, 盡可能地解決網絡實時數據傳輸中出現(xiàn)的不可預測的延遲、抖動等問題?;诎l(fā)送端的碼率控制主要有改變編碼器的量化參數、丟幀和幀率控制三種方法。增大量化參數, 則發(fā)送端的視頻流碼率下降, 反之亦然。丟幀處理利用視頻編碼的特點, 例如在MPEG-4編碼幀分為: I 幀(幀內編碼)、P幀(前向預測編碼)和B幀(雙向時間預測) , I幀具有空間相關性, P 幀和B 幀同時具有空間和時間相關性。只有I幀和P幀可以作為參考幀, 因此在需要降低視頻數據發(fā)送碼率時, 可以根據幀的重要程度, 先拋棄一定數目的B幀, 再拋棄P幀來降低視頻流碼率。結果是圖像分辨率降低, 但整體幀連續(xù), 無停頓感。幀率控制方式則是通過拋棄某些視頻圖像幀, 改變圖像幀發(fā)送速率, 如將原先30 幀/秒降為15 幀/秒來降低視頻流碼率, 結果是監(jiān)控圖像細節(jié)清晰, 但因圖像幀的缺少造成幀間抖動和畫面停頓。在區(qū)域聯(lián)網視頻監(jiān)控應用中, 需根據實際需要選用相應方法。碼率調整過程中采取加法提高、乘法降低策略, 即緩升快降方法。
5 結束語
該設計方案深入探討了基于B/S 模式的區(qū)域聯(lián)網視頻監(jiān)控系統(tǒng)的架構和技術實現(xiàn), 充分考慮了高速公路管理的體制和現(xiàn)狀, 以及網絡的安全性和異構性。其中Web方式操作簡單、維護方便, 便于擴展; 基于帶寬自適應的流碼率控制在相當程度上改善了網絡擁塞、時延等對監(jiān)控視頻流質量的影響; 設計的基于ARM和專用視頻編碼芯片的嵌入式流媒體服務器, 具有很高的可靠性和性價比, 作為視頻監(jiān)控的一個發(fā)展方向,具有廣闊的應用前景。
參考文獻:
[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.
評論