莫偉健,任志健,萬智萍
(中山大學 新華學院信息科學系,廣東廣州510520)
隨著信息時代的飛速發(fā)展,物聯(lián)網(wǎng)的使用也逐漸地進入各行各業(yè),安全監(jiān)控更是社會上的熱點話題。目前校園內(nèi)由于有線視頻監(jiān)控的局限性和為了降低成本,基本上都是安裝在校園的關(guān)鍵區(qū)域而疏忽了很多盜竊與犯罪經(jīng)常出現(xiàn)的地方,嚴重地威脅了校園廣大師生的安全。為提高校園安全的視頻監(jiān)控力度、降低建立監(jiān)控視頻的成本和維護學校廣大師生的安全,本文把物聯(lián)網(wǎng)引進校園,利用圖像處理技術(shù)、Zigbee 獨特的無線傳輸特性和優(yōu)異的H.26 圖像編碼壓縮技術(shù),在高性能的ARM11 處理器的控制下設計了無線視頻監(jiān)控系統(tǒng)。
校園內(nèi)的無線視頻監(jiān)控系統(tǒng)由視頻采集模塊、無線傳輸模塊和系統(tǒng)的總控制端模塊構(gòu)成,利用了模塊的搭建模式,降低了無線視頻監(jiān)控系統(tǒng)的搭建成本和復雜性,采用模塊化的系統(tǒng)功能搭建,有利于減少零散設備部件的損壞帶來的系統(tǒng)的崩潰的威脅,降低了系統(tǒng)平臺的構(gòu)建難度,優(yōu)化了系統(tǒng)的總體功能。無線視頻監(jiān)控系統(tǒng)總體架構(gòu)的構(gòu)建如圖1 所示。
本設計中用到了ARM11的處理芯片,其中的接口包括有三星高傳送速率的USB 接口OTG,它集齊了高速(HS,480 Mb/s)、全速(FS,12 Mb/s,這個只用于設備)、以及低速(LS,1.5 Mb/s,這個只用于主機)轉(zhuǎn)換等特點[1]。該接口運用了OTG 技術(shù)。OTG 技術(shù)即是應對這種相對于USB 接口的瓶頸發(fā)展起來的技術(shù),OTG 即On-T he-Go 技術(shù)的簡稱,其作用就是在沒有主設備的情況下實現(xiàn)從設備之間的數(shù)據(jù)傳送[2-4]。OTG 技術(shù)非常適用于嵌入式系統(tǒng)[5]。一個高速的USB2.0OTG 可以作為設備的控制器來使用,可以通過DMA 模式或者是Slave 模式對設備進行操作鏈接。設計使用的是DMA 模式,就是說USB2.0 OTG 設備控制器使用AHB master 接口,來對數(shù)據(jù)包進行轉(zhuǎn)換和對接收的數(shù)據(jù)進行及時的更新,而且AHB master 接口對數(shù)據(jù)緩沖區(qū)的訪問是通過可程式化的DMA 地址來實現(xiàn)的。高速的USB2.0 OTG 設備控制器主要由USB2.0 OTG 鏈接核心和USB2.0 PHY 控制兩部分組成。對于這兩個部分,各自都有一個AHB slave,設備控制器就是通過這個接口來實現(xiàn)對控制寄存器和狀態(tài)寄存器的訪問;對于AHB master 這個接口主要是為了進行數(shù)據(jù)交換。USB2.0 OTG 的系統(tǒng)級框圖如圖2 所示。
圖1 系統(tǒng)總體架構(gòu)圖
圖2 USB2.0 OTG 系統(tǒng)級框圖
本設計中ARM11 是基于linux 操作系統(tǒng)下進行開發(fā),對于usb2. 0 OTG 的攝像頭的視頻采集,調(diào)用了open()函數(shù)來打開監(jiān)控攝像頭,再次通過調(diào)用函數(shù)mmap()函數(shù)對內(nèi)存進行映射的方式來讀取攝像頭設備的數(shù)據(jù)信息,也就是說linux 操作系統(tǒng)通過調(diào)用mmap()函數(shù)來讓ARM11 處理器的內(nèi)核跟攝像頭實現(xiàn)內(nèi)存的共享,攝像頭拍攝的視頻圖像文件被映射到linux 系統(tǒng)的進程地址空間后,就直接訪問系統(tǒng)的內(nèi)存就可以達到了訪問視頻圖像數(shù)據(jù)的目的。相應的視頻圖像數(shù)據(jù)采集的程序如下:
ZigBee 是基于IEEE802.15.4 無線標準而且有關(guān)組網(wǎng)、安全和應用軟件方面的通信技術(shù),ZigBee 技術(shù)體系主要由物理層(PHY)、媒體接入控制層(MAC)、網(wǎng)絡/安全層(NWK)以及應用框架層(APS)組成[6]。它的各個簡化標準是由層來量化的。其中每一層負責完成所規(guī)定的任務,并且向上層提供服務。各層之間的接口通過所定義的邏輯鏈路來實現(xiàn)[7]。而且和CDMA和GSM 網(wǎng)絡有相似之處。ZigBee 網(wǎng)絡是短距離的無線傳感網(wǎng)絡,但是由于ZigBee 數(shù)傳模塊的特性,它可以看作為一個移動的網(wǎng)絡基站,ZigBee 的每個數(shù)傳模塊的標準距離為75 m,經(jīng)過多個的網(wǎng)絡節(jié)點的傳輸,ZigBee 網(wǎng)絡的傳輸距離可達到幾百甚至無限遠。本文中通過ARM11 處理器來控制CC2530 芯片來控制ZigBee 無線傳感網(wǎng)絡的數(shù)據(jù)的發(fā)送;所用到的Zigbee傳輸協(xié)議運行的是TI 公司新開發(fā)的ZigBee2007/pro協(xié)議?!猌Stack-2.0.0-1.2.0;Zigbee2007/pro 協(xié)議突破了傳統(tǒng)一貫的思想,在應用層新加入了分割傳輸功能和在有效載荷中加入了安全key,提高了ZigBee無線網(wǎng)絡的傳輸功能和數(shù)據(jù)傳送的安全性。ZigBee 支持3 種拓撲結(jié)構(gòu):星形網(wǎng)、網(wǎng)狀網(wǎng)和樹型網(wǎng)[8]。拓撲圖如圖3 所示。
圖3 zigbee 網(wǎng)絡拓撲圖
ZigBee 網(wǎng)絡分別提供協(xié)調(diào)器、路由器和終端節(jié)點三種網(wǎng)絡設備類型。一個完整的Zigbee 網(wǎng)絡需要至少需要一個協(xié)調(diào)器、一個路由器或終端節(jié)點,協(xié)調(diào)器是一個網(wǎng)絡中的關(guān)鍵也是網(wǎng)絡的開端,整個網(wǎng)絡只能有一個協(xié)調(diào)器,如果需要延長距離可以向網(wǎng)絡中加入路由器進行延伸。
發(fā)送數(shù)據(jù)協(xié)議函數(shù):
本設計中以S3C6410 作為控制端的微處理器,S3C6410 微處理器體積小,主頻為800 MHz,而且S3C6410 的擴展總線最大頻率能夠達到133 MHz,S3C6410 的接口豐富多樣,集成了32 bit 數(shù)據(jù)總線和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 串口,主要用來研發(fā)主機與S3C6410 開發(fā)平臺進行相關(guān)的通信,而且配置有存放嵌入式系統(tǒng)、程序與數(shù)據(jù)的NANDFLASH,128 MB 的DDR 內(nèi)存,用于運行相應的程序[10]。本設計擴展了ZigBee 無線傳感模塊,目的是傳輸安全監(jiān)控系統(tǒng)采集到的視頻數(shù)據(jù),作為安全視頻監(jiān)控數(shù)據(jù)的傳輸媒介。利用USB2.0 OTG 傳輸數(shù)據(jù)的高速性能,對視頻監(jiān)控的攝像頭進行搭建。USB2. 0 OTG 在S3C6410 芯片的外圍電路用軟件protel 的設計圖,如圖4 所示。
在目前視頻壓縮領(lǐng)域中,H.264/AVC 是目前最新的視頻編解碼標準,和以前的標準例如MPEG-2 相比,H.264 的壓縮比能夠減低超過50%,而H.264 的高壓縮率也使得其解碼器的復雜度是MPEG-2 的4倍,MPEG-4 visual simple profile (VSP)的2 倍[11]。H.264 具有低碼率、容錯能力強、網(wǎng)絡適應性強和高質(zhì)量圖像的優(yōu)勢,占據(jù)的地位很高,是一種高性能的數(shù)字視頻編解碼技術(shù)。H.264 的編解碼流程主要包括:幀間和幀內(nèi)預測(Estimation)、變換(Transform)和反變換、量化(Quantization)和反量化、環(huán)路濾波(Loop Filter)、熵編碼(Entropy Coding)。ARM11 處理器解碼時主要涉及FFmpeg 下的libavcodec 庫、libswscale 庫和libavformat 庫[12]。對視頻編碼器中H.264 的初始化:
圖4 USB2.0 OTG 原理圖
基于ARM11 的H.264 的圖像壓縮效率相當高;例如,1 個90 GB 的視頻,經(jīng)過H.264 壓縮后,剩下了904 MB 左右,然而一般的壓縮技術(shù)僅僅壓縮到4 GB左右,很明顯H.264 的壓縮效率比一般的壓縮技術(shù)要高出1 ~3 倍。在H.264 標準中,為了增加視頻圖像編碼壓縮的效率,是通過減少運算量的方法,在很多地方中應用到了層次化運算,把數(shù)據(jù)宏塊分為小塊運算,以簡化計算來提高壓縮比。ARM11 處理器本身自帶的H.264 的層次化運算能夠達到4* 4 塊。
本設計中對ARM11 的H.264 標準的圖像編碼壓縮進行再次的優(yōu)化,把他層次化運算簡化到2* 2 像素塊,并通過加快DCT 變換的運算,利用FFT 簡化運算再次提高圖像的壓縮率。在對圖像壓縮的設計中,從幀間預測入手,在幀間預測的過程中,我們用到了多幀預測和可變塊大小的運動估計,并且在編碼模式選擇的那部分選擇一個最佳的預測模式來優(yōu)化編碼預測。在預測完后就馬上用原始的輸入幀減去預測幀來求得殘差數(shù)據(jù)塊。把數(shù)據(jù)塊中的亮度殘差塊做4* 4 的整數(shù)DCT 變換,然后對其中的色度殘差塊進行2* 2 的整數(shù)DCT 變換,接著的流程是把變換后的系數(shù)進行量化,量化后就開始熵編碼,最后是演變成了碼流的輸出。對于層次化后的DCT 運算,也就是把8* 8 的像素塊層次化為小型的2* 2 像素塊。由于DCT 的運算量比較大[13-14],為了更簡化的,更快速的對DCT 變換進行計算,本設計中對DCT 變換利用了FFT 來對DCT變換進行快速計算。
例如:對2* 2 像素塊進行計算:二維數(shù)字圖像f(i,j);(i,j=0,1)的DCT 變換與逆變換[15]:
DCT 變換;
DCT 逆變換;
下面用FFT 對DCT 變換進行簡化,快速運算:根據(jù)Euler 公式可以得出:
視頻監(jiān)控的軟件部分主要功能有:登錄與退出模塊、監(jiān)視控制模塊、檢索與回放模塊、報警處理模塊、系統(tǒng)維護以及用戶權(quán)限管理模塊。登錄/退出模塊主要是管理視頻監(jiān)控系統(tǒng)的開啟與關(guān)閉,認證與區(qū)分管理者的身份。監(jiān)視控制模塊主要是控制監(jiān)控視頻的信息的傳送與安全中心對監(jiān)控環(huán)境的監(jiān)測。檢索與回放模塊是為了方便對過去監(jiān)控信息的查找和播放。報警處理模塊是為了把異常的監(jiān)控信息進行恰當?shù)奶幚聿⑶覍芾韱T進行通知報警。系統(tǒng)維護和用戶權(quán)限管理模塊主要是為了管理人員對系統(tǒng)的維護和管理,防止系統(tǒng)的崩潰與系統(tǒng)相關(guān)信息泄漏。系統(tǒng)軟件模塊的組成與詳解如圖7 所示。
圖5 原圖和DCT 變換后的圖像
圖6 原圖和DCT 逆變換后像素重組圖
圖7 系統(tǒng)的組成與詳解圖
系統(tǒng)設計并搭建完成,在實驗室進行相關(guān)的測試,經(jīng)測試,系統(tǒng)的相應功能得以實現(xiàn),并取得相關(guān)的視頻監(jiān)控系統(tǒng)的畫面。
本設計降低了系統(tǒng)設計的成本,在無線網(wǎng)絡用到了ZigBee 網(wǎng)絡進行傳輸,采用了H.264 國際標準的視頻圖像編碼壓縮技術(shù),并基于ARM11 本身支持的H.264,對H.264 進一步進行層次性的優(yōu)化,加快了DCT變換的運算速度提高圖像編碼壓縮的速率??梢栽诒驹O計的平臺上進行擴展,可以應用到倉庫的防盜、事故發(fā)生的實時監(jiān)控和銀行監(jiān)控等。
[1] 王 芃,董景新,趙長德. 基于USB2.0 位置控制系統(tǒng)接口卡的實現(xiàn)[J]. 實驗技術(shù)與管理,2011,28(8):90-92.
[2] 楊智君,田 地,余青松. USB On-The-Go 技術(shù)概述[J]. 電子技術(shù)應用,2003(6):44-49.
[3] 劉思邦,溫陽東,高震宇. 基于LPC2468 的嵌入式USB OTG 技術(shù)研究[J].合肥工業(yè)大學學報(自然科學版),2011,34(2):192-195,204.
[4] 白立朋,李秋紅,程 磊,王太宏.嵌入式ARM 下的USB 攝像頭監(jiān)控系統(tǒng)[J].計算機系統(tǒng)應用,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 傳感網(wǎng)的一種新型安全方案[J],計算機系統(tǒng)應用,2011,20(8):204-207.
[7] 王建剛,王福豹,段渭軍. 加權(quán)最小二乘估計在無線傳感器網(wǎng)絡定位中的應用[J].計算機應用研究,2006,(9):41-43.
[8] 董慶賀,何 倩. 基于ZigBee 的無線溫度監(jiān)測系統(tǒng)設計[J].計算機應用,2011,31(2):206-208.
[9] 王 剛,毛劍飛,田 青,等. 基于ARM11 的無線視頻監(jiān)控系統(tǒng)[J].計算機應用系統(tǒng),2011,20(8):18-22.
[10] 馬文強,章 專. 基于S3C6410 的無線視頻傳輸節(jié)點設計[J].傳感器與微系統(tǒng),2011,30(10):96-98.
[11] 陸曉鳳,劉 鋒,佟 冬,等. 一種支持H.264 High Profile 的高效可重構(gòu)反變換VLSI 結(jié)構(gòu)[J]. 電子學報,2011,39(5):1072-1076.
[12] 張宏祥,李宇成. 基于ARM11 的嵌入式無線視頻終端的設計[J]. 計算機測量與控制,2011,19(11):2778-2880.
[13] 王炳錫,彭天強. 信息隱藏技術(shù)[M]. 北京:國防工業(yè)出版社,2007:16-27.
[14] 王新年,張 濤.數(shù)字圖像壓縮技術(shù)實用教程[M].北京:機械工業(yè)出版社,2009:21-146.
[15] 劉方明,潘曉中,楊曉元,等. 數(shù)字圖像DCT 變換的FPGA 實現(xiàn)[J].計算機工程與應用,2012,48(6):65-68.