莫偉健,任志健,萬智萍
(中山大學 新華學院信息科學系,廣東廣州510520)
隨著信息時代的飛速發展,物聯網的使用也逐漸地進入各行各業,安全監控更是社會上的熱點話題。目前校園內由于有線視頻監控的局限性和為了降低成本,基本上都是安裝在校園的關鍵區域而疏忽了很多盜竊與犯罪經常出現的地方,嚴重地威脅了校園廣大師生的安全。為提高校園安全的視頻監控力度、降低建立監控視頻的成本和維護學校廣大師生的安全,本文把物聯網引進校園,利用圖像處理技術、Zigbee 獨特的無線傳輸特性和優異的H.26 圖像編碼壓縮技術,在高性能的ARM11 處理器的控制下設計了無線視頻監控系統。
校園內的無線視頻監控系統由視頻采集模塊、無線傳輸模塊和系統的總控制端模塊構成,利用了模塊的搭建模式,降低了無線視頻監控系統的搭建成本和復雜性,采用模塊化的系統功能搭建,有利于減少零散設備部件的損壞帶來的系統的崩潰的威脅,降低了系統平臺的構建難度,優化了系統的總體功能。無線視頻監控系統總體架構的構建如圖1 所示。
本設計中用到了ARM11的處理芯片,其中的接口包括有三星高傳送速率的USB 接口OTG,它集齊了高速(HS,480 Mb/s)、全速(FS,12 Mb/s,這個只用于設備)、以及低速(LS,1.5 Mb/s,這個只用于主機)轉換等特點[1]。該接口運用了OTG 技術。OTG 技術即是應對這種相對于USB 接口的瓶頸發展起來的技術,OTG 即On-T he-Go 技術的簡稱,其作用就是在沒有主設備的情況下實現從設備之間的數據傳送[2-4]。OTG 技術非常適用于嵌入式系統[5]。一個高速的USB2.0OTG 可以作為設備的控制器來使用,可以通過DMA 模式或者是Slave 模式對設備進行操作鏈接。設計使用的是DMA 模式,就是說USB2.0 OTG 設備控制器使用AHB master 接口,來對數據包進行轉換和對接收的數據進行及時的更新,而且AHB master 接口對數據緩沖區的訪問是通過可程式化的DMA 地址來實現的。高速的USB2.0 OTG 設備控制器主要由USB2.0 OTG 鏈接核心和USB2.0 PHY 控制兩部分組成。對于這兩個部分,各自都有一個AHB slave,設備控制器就是通過這個接口來實現對控制寄存器和狀態寄存器的訪問;對于AHB master 這個接口主要是為了進行數據交換。USB2.0 OTG 的系統級框圖如圖2 所示。

圖1 系統總體架構圖

圖2 USB2.0 OTG 系統級框圖
本設計中ARM11 是基于linux 操作系統下進行開發,對于usb2. 0 OTG 的攝像頭的視頻采集,調用了open()函數來打開監控攝像頭,再次通過調用函數mmap()函數對內存進行映射的方式來讀取攝像頭設備的數據信息,也就是說linux 操作系統通過調用mmap()函數來讓ARM11 處理器的內核跟攝像頭實現內存的共享,攝像頭拍攝的視頻圖像文件被映射到linux 系統的進程地址空間后,就直接訪問系統的內存就可以達到了訪問視頻圖像數據的目的。相應的視頻圖像數據采集的程序如下:



ZigBee 是基于IEEE802.15.4 無線標準而且有關組網、安全和應用軟件方面的通信技術,ZigBee 技術體系主要由物理層(PHY)、媒體接入控制層(MAC)、網絡/安全層(NWK)以及應用框架層(APS)組成[6]。它的各個簡化標準是由層來量化的。其中每一層負責完成所規定的任務,并且向上層提供服務。各層之間的接口通過所定義的邏輯鏈路來實現[7]。而且和CDMA和GSM 網絡有相似之處。ZigBee 網絡是短距離的無線傳感網絡,但是由于ZigBee 數傳模塊的特性,它可以看作為一個移動的網絡基站,ZigBee 的每個數傳模塊的標準距離為75 m,經過多個的網絡節點的傳輸,ZigBee 網絡的傳輸距離可達到幾百甚至無限遠。本文中通過ARM11 處理器來控制CC2530 芯片來控制ZigBee 無線傳感網絡的數據的發送;所用到的Zigbee傳輸協議運行的是TI 公司新開發的ZigBee2007/pro協議棧——ZStack-2.0.0-1.2.0;Zigbee2007/pro 協議突破了傳統一貫的思想,在應用層新加入了分割傳輸功能和在有效載荷中加入了安全key,提高了ZigBee無線網絡的傳輸功能和數據傳送的安全性。ZigBee 支持3 種拓撲結構:星形網、網狀網和樹型網[8]。拓撲圖如圖3 所示。

圖3 zigbee 網絡拓撲圖
ZigBee 網絡分別提供協調器、路由器和終端節點三種網絡設備類型。一個完整的Zigbee 網絡需要至少需要一個協調器、一個路由器或終端節點,協調器是一個網絡中的關鍵也是網絡的開端,整個網絡只能有一個協調器,如果需要延長距離可以向網絡中加入路由器進行延伸。
發送數據協議函數:


本設計中以S3C6410 作為控制端的微處理器,S3C6410 微處理器體積小,主頻為800 MHz,而且S3C6410 的擴展總線最大頻率能夠達到133 MHz,S3C6410 的接口豐富多樣,集成了32 bit 數據總線和32 bit 外部地址總線,SROM 控制器、SRAM 控制器、NAND 閃存控制器、64 個中斷源的中斷控制器、5 個32 bit 定時器、4 個UART、4 個DMA 控制器、STN 與TFT LCD 控制器、看門狗、IIS 音頻接口、IIC-Bus 接口、2 個USB host 口、1 個USB device 口、2 個串行外圍接口電路、3 個SD 卡接口、camera_if 接口、TV_out 接口、MFC 接口、2 路SPI 和Touch Screen 接口[9]。S3C6410微處理器還引出了一個4 線RS-232 串口,主要用來研發主機與S3C6410 開發平臺進行相關的通信,而且配置有存放嵌入式系統、程序與數據的NANDFLASH,128 MB 的DDR 內存,用于運行相應的程序[10]。本設計擴展了ZigBee 無線傳感模塊,目的是傳輸安全監控系統采集到的視頻數據,作為安全視頻監控數據的傳輸媒介。利用USB2.0 OTG 傳輸數據的高速性能,對視頻監控的攝像頭進行搭建。USB2. 0 OTG 在S3C6410 芯片的外圍電路用軟件protel 的設計圖,如圖4 所示。
在目前視頻壓縮領域中,H.264/AVC 是目前最新的視頻編解碼標準,和以前的標準例如MPEG-2 相比,H.264 的壓縮比能夠減低超過50%,而H.264 的高壓縮率也使得其解碼器的復雜度是MPEG-2 的4倍,MPEG-4 visual simple profile (VSP)的2 倍[11]。H.264 具有低碼率、容錯能力強、網絡適應性強和高質量圖像的優勢,占據的地位很高,是一種高性能的數字視頻編解碼技術。H.264 的編解碼流程主要包括:幀間和幀內預測(Estimation)、變換(Transform)和反變換、量化(Quantization)和反量化、環路濾波(Loop Filter)、熵編碼(Entropy Coding)。ARM11 處理器解碼時主要涉及FFmpeg 下的libavcodec 庫、libswscale 庫和libavformat 庫[12]。對視頻編碼器中H.264 的初始化:


圖4 USB2.0 OTG 原理圖
基于ARM11 的H.264 的圖像壓縮效率相當高;例如,1 個90 GB 的視頻,經過H.264 壓縮后,剩下了904 MB 左右,然而一般的壓縮技術僅僅壓縮到4 GB左右,很明顯H.264 的壓縮效率比一般的壓縮技術要高出1 ~3 倍。在H.264 標準中,為了增加視頻圖像編碼壓縮的效率,是通過減少運算量的方法,在很多地方中應用到了層次化運算,把數據宏塊分為小塊運算,以簡化計算來提高壓縮比。ARM11 處理器本身自帶的H.264 的層次化運算能夠達到4* 4 塊。
本設計中對ARM11 的H.264 標準的圖像編碼壓縮進行再次的優化,把他層次化運算簡化到2* 2 像素塊,并通過加快DCT 變換的運算,利用FFT 簡化運算再次提高圖像的壓縮率。在對圖像壓縮的設計中,從幀間預測入手,在幀間預測的過程中,我們用到了多幀預測和可變塊大小的運動估計,并且在編碼模式選擇的那部分選擇一個最佳的預測模式來優化編碼預測。在預測完后就馬上用原始的輸入幀減去預測幀來求得殘差數據塊。把數據塊中的亮度殘差塊做4* 4 的整數DCT 變換,然后對其中的色度殘差塊進行2* 2 的整數DCT 變換,接著的流程是把變換后的系數進行量化,量化后就開始熵編碼,最后是演變成了碼流的輸出。對于層次化后的DCT 運算,也就是把8* 8 的像素塊層次化為小型的2* 2 像素塊。由于DCT 的運算量比較大[13-14],為了更簡化的,更快速的對DCT 變換進行計算,本設計中對DCT 變換利用了FFT 來對DCT變換進行快速計算。
例如:對2* 2 像素塊進行計算:二維數字圖像f(i,j);(i,j=0,1)的DCT 變換與逆變換[15]:

DCT 變換;

DCT 逆變換;
下面用FFT 對DCT 變換進行簡化,快速運算:根據Euler 公式可以得出:


視頻監控的軟件部分主要功能有:登錄與退出模塊、監視控制模塊、檢索與回放模塊、報警處理模塊、系統維護以及用戶權限管理模塊。登錄/退出模塊主要是管理視頻監控系統的開啟與關閉,認證與區分管理者的身份。監視控制模塊主要是控制監控視頻的信息的傳送與安全中心對監控環境的監測。檢索與回放模塊是為了方便對過去監控信息的查找和播放。報警處理模塊是為了把異常的監控信息進行恰當的處理并且對管理員進行通知報警。系統維護和用戶權限管理模塊主要是為了管理人員對系統的維護和管理,防止系統的崩潰與系統相關信息泄漏。系統軟件模塊的組成與詳解如圖7 所示。

圖5 原圖和DCT 變換后的圖像

圖6 原圖和DCT 逆變換后像素重組圖

圖7 系統的組成與詳解圖
系統設計并搭建完成,在實驗室進行相關的測試,經測試,系統的相應功能得以實現,并取得相關的視頻監控系統的畫面。
本設計降低了系統設計的成本,在無線網絡用到了ZigBee 網絡進行傳輸,采用了H.264 國際標準的視頻圖像編碼壓縮技術,并基于ARM11 本身支持的H.264,對H.264 進一步進行層次性的優化,加快了DCT變換的運算速度提高圖像編碼壓縮的速率。可以在本設計的平臺上進行擴展,可以應用到倉庫的防盜、事故發生的實時監控和銀行監控等。
[1] 王 芃,董景新,趙長德. 基于USB2.0 位置控制系統接口卡的實現[J]. 實驗技術與管理,2011,28(8):90-92.
[2] 楊智君,田 地,余青松. USB On-The-Go 技術概述[J]. 電子技術應用,2003(6):44-49.
[3] 劉思邦,溫陽東,高震宇. 基于LPC2468 的嵌入式USB OTG 技術研究[J].合肥工業大學學報(自然科學版),2011,34(2):192-195,204.
[4] 白立朋,李秋紅,程 磊,王太宏.嵌入式ARM 下的USB 攝像頭監控系統[J].計算機系統應用,2011,20(6):122-125.
[5] JHUANG H K,LEE C H,HSU C I. Design of compact micros-trip dualb and bandpass filters withλ/ 4 stepped im pedance resonators[J]. Microwave Optical Technology,2007,49:164-168.
[6] 施 鵬,趙華偉.ZigBee 傳感網的一種新型安全方案[J],計算機系統應用,2011,20(8):204-207.
[7] 王建剛,王福豹,段渭軍. 加權最小二乘估計在無線傳感器網絡定位中的應用[J].計算機應用研究,2006,(9):41-43.
[8] 董慶賀,何 倩. 基于ZigBee 的無線溫度監測系統設計[J].計算機應用,2011,31(2):206-208.
[9] 王 剛,毛劍飛,田 青,等. 基于ARM11 的無線視頻監控系統[J].計算機應用系統,2011,20(8):18-22.
[10] 馬文強,章 專. 基于S3C6410 的無線視頻傳輸節點設計[J].傳感器與微系統,2011,30(10):96-98.
[11] 陸曉鳳,劉 鋒,佟 冬,等. 一種支持H.264 High Profile 的高效可重構反變換VLSI 結構[J]. 電子學報,2011,39(5):1072-1076.
[12] 張宏祥,李宇成. 基于ARM11 的嵌入式無線視頻終端的設計[J]. 計算機測量與控制,2011,19(11):2778-2880.
[13] 王炳錫,彭天強. 信息隱藏技術[M]. 北京:國防工業出版社,2007:16-27.
[14] 王新年,張 濤.數字圖像壓縮技術實用教程[M].北京:機械工業出版社,2009:21-146.
[15] 劉方明,潘曉中,楊曉元,等. 數字圖像DCT 變換的FPGA 實現[J].計算機工程與應用,2012,48(6):65-68.