李水明,蘇建歡,張銀君,王小亮
(1.廣西工學院電子信息與控制工程系,廣西 柳州 545006;2.河池學院,廣西 宜州 643006)
視頻監控已經廣泛應用到各行各業,在家居安防、設備監控、產品質量的監管等方面發揮了重要作用。視頻監控系統主要包括圖像采集、視頻編碼、視頻數據傳輸、視頻解碼[1]等部分。視頻數據傳輸可以使用無線傳輸和有線傳輸方式。無線網絡數據傳輸具有組網方便的優點,但對于在輪船鋼板的阻隔、倉庫中多層墻體的隔離中,有數據傳輸不可靠的缺點。有線網絡傳輸具有數據傳輸可靠、帶寬大等優點。對多個視頻監控節點都進行布線,必然造成布線復雜、建造成本高等缺點。采用電力載波技術,利用電力線傳輸視頻信號,免除布線的費用,節省開支。本文設計并實現了視頻監控服務器,以嵌入式處理器S3C6410為控制核心,電力載波作為視頻數據傳輸通道。實驗表明,視頻數據傳輸速率高、圖像清晰、穩定。
本系統的總體設計如圖1所示。視頻監控服務器端的硬件部分由攝像頭模塊、主控模塊、電力載波通信模塊組成。

圖1 系統總體結構框架圖
主控模塊是整個視頻監控服務器的核心部分。主要負責視頻圖像的采集、H.264視頻格式編碼、視頻數據發送給電力載波傳輸模塊。主控模塊的核心芯片采用Samsung公司的S3C6410嵌入式處理器。它是一款低成本、高性能的通用處理器。主頻最高可以達到667 MHz,內置硬件編解碼器,支持 H.264,H.263,MPEG -4等編解碼格式。主控模塊通過USB Host接口與攝像頭連接,通過網卡DM9000以太網與電力載波模塊連接通信。
圖像采集模塊采用國順實業有限公司A10型號USB紅外夜視視頻監控攝像頭。該攝像頭采用Altir公司的控制芯片。該攝像頭最大圖像解像度為VGA(640×480),接口為USB2.0,視頻圖像輸出格式為YUV2,帶紅外拍攝功能。圖像最高幀率為30幀/秒(f/s)。主控模塊ARM通過USB接口進行視頻圖像數據的采集。V4L2是Linux系統內核關于視頻采集設備API,Linux2.6.32內核已包含該攝像頭的驅動,應用程序可使用V4L2的統一API函數對視頻設備進行操作[2]。本系統中,對視頻設備進行操作的系統文件為“/dev/video2”。對攝像頭的圖像數據進行采集,大部分操作函數通過對ioctl函數調動完成的。對視頻進行采集主要由以下步驟組成:
1)打開視頻設備,主要通過open()函數完成,代碼為:

V4L2支持3種視頻數據讀取模式,分別為直接讀模式、用戶指針模式、mmap映射模式。本設計采用的是mmap模式,該模式將每個數據緩沖區映射到用戶空間,應用程序在獲取視頻數據的時候,共享這些緩沖區,提高讀取數據的效率。在循環讀取視頻圖像中,只需要重復步驟6)、步驟7)即可,每次讀取視頻數據后,必須再次將緩沖入列,以準備下一次的數據讀取。
攝像頭采集到的視頻圖像數據量比較大,對于有限的通信帶寬來說,必須進行視頻的編碼壓縮。H.264是新一代視頻編碼標準,是一種高性能、高效率的編碼方式。它具有較強的編碼糾錯能力,能在保證圖像有較高清晰度的同時,對視頻數據具有更高的壓縮率[3]。嵌入式處理器S3C6410內嵌硬件編解碼器,能夠使用硬件進行編碼,提高工作效率。視頻編碼模塊的驅動直接采用三星公司提供的編解碼驅動,在應用程序中只需要調用API操作函數即可完成。對視頻進行H.264編碼主要由以下步驟完成:
1)打開編碼設備,對H.264的初始化參數的設置,分別設置視頻的長、寬、幀率、比特率、影響測量的編碼質量因子,代碼為:

3)關閉視頻編碼設備。
本模塊采用ATHEROS公司的INT6400和INT1400組成,INT6400為主要電力線通信控制芯片,INT6400內部包含有A/D和D/A轉換器,通過以太網接口接收主控模塊的視頻數據,然后將視頻信號進行調制。INT1400作為模擬前端,對模擬信號進行放大。通信協議為Home-Plug1.0,其最高通信速率達到200 Mbit/s,能滿足多路視頻信號的傳輸。圖2為電力載波傳輸模塊。

圖2 電力載波傳輸模塊
主控ARM模塊主要是通過UDP網絡協議與INT6400進行通信。UDP協議是面向非連接的網絡協議,不必與對方建立連接,可以直接發送和接收數據。由于UDP協議省略各種網絡校驗,傳輸的速度得到很大的提高,同時支持多組數據并發通信[4-5]。圖3視頻信號UDP通信方式。

圖3 視頻數據UDP通信方式
主控網絡進行視頻傳輸主要由以下主要步驟:
1)建立UDP協議通信,代碼為:

在UDP中采用sendto函數來發送數據。本設計中每次發送數據1000個字符型視頻數據。
本視頻監控服務器發送的視頻分辨力為320×240。主控模塊與電力傳輸模塊的通信方式為UDP協議,電力載波通信協議為HomePlug1.0。視頻接收解碼客戶端為PC機。視頻監控服務器發送視頻數據幀頻率為20 f/s。設置視頻監控服務器端IP地址,在客戶端PC機上編寫一個顯示測試程序,圖4為視頻播放圖像。在實驗環境下,表1為服務器與客戶端在不同的距離,電力載波的通信速率。測試中視頻圖像清晰,穩定、幀間無抖動。由通信數據可知,在實驗環境的情況下,通信的速率能滿足多路視頻的監控。在距離不長的情況下,能夠很好地適應環境,實現視頻監控功能。

圖4 視頻播放圖像

表1 實驗數據
基于電力載波視頻監控,采用電力載波技術傳輸視頻數據,利用S3C6410硬件編碼器,能夠快速地進行視頻編碼。本設計實現即插即用,不需要布設視頻傳輸數據線,安裝方便,節省綜合成本。進一步設計可以將電力載波接收一端連接到主干光纖服務器端,可以實現遠程視頻監控。實驗結果表明,該方案可行,視頻圖像清晰,性能穩定,可以應用于家庭、銀行、小型超市等領域,具有廣泛的市場前景。
[1]馬文強,章專.基于S3C6410的無線視頻傳輸節點設計[J].傳感器與微系統,2011,30(10):96-98.
[2]劉升,趙晶晶.基于V4L2的嵌入式視頻監控系統[J].微計算機應用,2011,32(1):38-42.
[3]劉玲,魏立峰.基于ADI H.264編碼庫的視頻壓縮系統設計與實現[J].現代電子技術,2010,33(4):83-85.
[4]李建強.一種基于UDP協議的可靠傳輸機制研究[J].計算機光盤軟件與應用,2011(13):55-56.
[5]王精華,徐昌彪,鮮永菊,等.認知網絡下TCP協議性能分析[J].電視技術,2011,35(19):72-75.