楊 軍,陳東升
(1. 重慶師范大學(xué),重慶 401520;2. 重慶師范大學(xué)數(shù)學(xué)與計算機(jī)學(xué)院,重慶 401520)
人們對財產(chǎn)及自身安全更加重視,因此,對監(jiān)控系統(tǒng)的需求也逐漸增高?,F(xiàn)階段視頻監(jiān)控系統(tǒng)已經(jīng)廣泛應(yīng)用于我國生產(chǎn)生活的各個方面。數(shù)字監(jiān)控系統(tǒng)的出現(xiàn)解決了傳統(tǒng)模擬視頻系統(tǒng)中視頻清晰度較低的問題,但是由于其視頻采集系統(tǒng)的構(gòu)成較為復(fù)雜,且穩(wěn)定性和擴(kuò)展性較差,導(dǎo)致其實用性較差,于是嵌入式監(jiān)控系統(tǒng)應(yīng)運而生,該系統(tǒng)克服了傳統(tǒng)數(shù)字系統(tǒng)的大部分缺點,且可靠性和穩(wěn)定性較高,更便于后期的安裝和維護(hù)管理。
文獻(xiàn)[1]提出了一種基于ARM平臺的實驗室視頻監(jiān)控系統(tǒng)設(shè)計。該方法以ARM SSPV210嵌入平臺作為監(jiān)控系統(tǒng)的控制器,將Linux操作系統(tǒng)與雙頻段RFID信號采集融合,對實驗室人員和設(shè)備進(jìn)行管理;系統(tǒng)的視頻圖像采集端為外接USB高清攝像頭,采集的視頻圖像通過硬件編碼后上傳至服務(wù)器,并且在本地SD卡內(nèi)備份,完成對實驗室監(jiān)控系統(tǒng)設(shè)計。實驗表明該方法的穩(wěn)定性較高,能夠滿足對實驗室安防管控的基本需求,但是由于視頻數(shù)據(jù)過大,傳輸過程信號丟失,導(dǎo)致其監(jiān)控畫面不清晰。文獻(xiàn)[2]提出一種基于云控制系統(tǒng)的監(jiān)控系統(tǒng)。該系統(tǒng)采用重構(gòu)技術(shù)以API形式將控件集成于監(jiān)控系統(tǒng)中,實現(xiàn)自定義監(jiān)控界面的功能,并基于TCP/IP協(xié)議實現(xiàn)同云節(jié)點的雙向通信,從而達(dá)到連續(xù)監(jiān)控的目的。對比分析實驗表明該方法的監(jiān)控效果較為清晰,但是傳輸效率較低,不能實現(xiàn)同步性。
為了更好地實現(xiàn)嵌入型監(jiān)控的同步性能,提高視頻信號的傳輸效率,滿足市場對雙路監(jiān)控的需求,本文提出了一種基于嵌入式Web的雙路遠(yuǎn)程視頻同步監(jiān)控方法。主要分為三個步驟完成雙路遠(yuǎn)程視頻的同步監(jiān)控,首先監(jiān)控前端通過FPGA(Field-Programmable Gate Array)模塊對雙路監(jiān)控目標(biāo)的視頻信號采集,然后使用運動補(bǔ)償技術(shù)和軟閾值小波變換技術(shù)融合法將監(jiān)控前端采集到的視頻信號壓縮,最后為了實現(xiàn)同步監(jiān)控,對傳統(tǒng)的TCP/IP傳輸協(xié)議改進(jìn),改進(jìn)后的TCP/IP協(xié)議為多鏈路通信,能夠有效提高數(shù)據(jù)的傳輸速度,并且在網(wǎng)絡(luò)狀態(tài)較差時能向視頻壓縮器進(jìn)行反饋,使其重新更改參數(shù),再次壓縮以適應(yīng)當(dāng)前的網(wǎng)絡(luò)環(huán)境的數(shù)據(jù)傳輸能力。
基于嵌入式Web的雙路遠(yuǎn)程視頻同步監(jiān)控方法主要工作原理為:將現(xiàn)場攝像機(jī)內(nèi)設(shè)置一個嵌入式Web服務(wù)器[3]和一個視頻圖像數(shù)據(jù)壓縮器。監(jiān)控前端通過FPGA模塊[4]對攝像頭采集到的圖像進(jìn)行處理完成監(jiān)控目標(biāo)的視頻信號采集,然后通過圖像壓縮器對獲取的視頻信息進(jìn)行壓縮,最后數(shù)據(jù)由內(nèi)嵌的Web服務(wù)器處理后,通過端口將視頻信號發(fā)送至監(jiān)控端。監(jiān)控示意圖如圖1所示。
圖1 遠(yuǎn)程監(jiān)控總體結(jié)構(gòu)
監(jiān)控前端的FPGA模塊用來實現(xiàn)視頻信號的采集與信號輸出控制,其主要功能為以下幾點:
1)從兩個攝像頭獲得的視頻信號內(nèi)采集到有效像素單元。
2)對兩路視頻信號進(jìn)行合并,并將其交替存儲至兩個隨機(jī)儲存器內(nèi)SRAM(static random aces memory)[5]內(nèi)。
3)將SRAM內(nèi)儲存的視頻數(shù)據(jù)讀出,經(jīng)接口傳輸至視頻信號壓縮器。
圖2為雙路視頻采集流程圖。
圖2 雙路的視頻采集流程圖
如2所示,將經(jīng)過解碼后的兩路視頻信號同時輸入FPGA模塊內(nèi),解碼后的兩路視頻信號頻率相同,但是由于二者來自不同芯片,導(dǎo)致其相位不同,不能使用同一時鐘同時采集,因此將兩路視頻數(shù)據(jù)暫存至兩個臨時儲存器內(nèi),使用一個全局時鐘對兩路信號進(jìn)行并行采集至FPGA模塊內(nèi)。兩個儲存器的大小均為16bit,恰好能夠完整對一個格式為RGB5:6:5的像素值進(jìn)行儲存。FPGA則在全局時鐘的控制下從鎖存器內(nèi)并行讀出兩路數(shù)據(jù),全局時鐘的頻率為像素時鐘的8倍,F(xiàn)PGA每經(jīng)過8個全局時鐘周期從鎖存器內(nèi)采集數(shù)據(jù)一次。因此,鎖存器內(nèi)的數(shù)據(jù)就不會由于寫入或取出速率不一致而發(fā)生丟失的情況。
視頻信息中包含了巨大的數(shù)據(jù)量,增加了傳輸和儲存的困難,因此,需要將原始圖像進(jìn)行壓縮[6],提高視頻數(shù)據(jù)的傳輸速度,實現(xiàn)同步監(jiān)控。視頻信號為運動圖像信號,其幀內(nèi)相鄰像素的灰度相關(guān)性較高,且不同幀之間的相關(guān)性更高,若可以消除視頻幀間的視覺冗余度,即可以提升編碼效率,實現(xiàn)圖像壓縮。將運動補(bǔ)償技術(shù)和軟閾值小波變換技術(shù)進(jìn)行融合即可以更有效地對圖像幀內(nèi)和幀間進(jìn)行統(tǒng)一量化和編碼。
運動補(bǔ)償法以最小均方差準(zhǔn)則為基礎(chǔ),在上一幀圖像中對與當(dāng)前幀的匹配塊進(jìn)行篩選,將篩選出的圖像作為預(yù)測塊,并計算出預(yù)測誤差[7]。隨后對預(yù)測誤差的幀內(nèi)編碼進(jìn)行壓縮,為了使兩種方法融合效果更好,對運動補(bǔ)償技術(shù)進(jìn)行改進(jìn),使用相鄰塊的匹配塊預(yù)測獲得的加權(quán)值作為當(dāng)前塊的預(yù)測模型,以避免圖像塊之間由于不連續(xù)而導(dǎo)致塊效應(yīng)的發(fā)生。同時在算法中引入灰度變換因子以減小各個圖像塊間灰度的差異性,即
(1)
視頻圖像幀間運動是由于視頻中場景變換導(dǎo)致的,如果監(jiān)控的輸入端為原始灰度圖像,圖像的兩個連續(xù)幀為In(x)和In+1(x),則可根據(jù)視頻的幀間運動規(guī)則,模型化運動參數(shù)U。運動參數(shù)的確定可通過兩個步驟完成,首先定義一個誤差函數(shù)如下
(2)
通過式(2)修正運動參數(shù)U,其表達(dá)式如下
Uk+1=Uk+J(U)
(3)
通過式(3)即可完成運動圖像的運動參數(shù)估計。
設(shè)D(λ)表示閾值的λ算子,則小波的軟閾值操作能夠定義為
D(U,λ)=sgn(U)max(0,|U|-λ)
(4)
為了使視頻信號的變化較為平緩,使用非線性化處理對軟閾值化進(jìn)行改進(jìn),改進(jìn)后的處理方法如圖3所示。
圖3 非線性軟閾值處理
基于非線性的軟閾值處理方法的變換函數(shù)為一條光滑曲線,能夠使變換后的系數(shù)盡可能平緩,從而提高視頻圖像質(zhì)量。設(shè)T為閾值處理函數(shù),則非線性軟閾值處理可以表示為
(5)
將非線性軟閾值處理法融入視頻圖像編碼,結(jié)合運動補(bǔ)償技術(shù)的圖像壓縮方法流程圖如圖4所示。
圖4 圖像壓縮流程
其具體實現(xiàn)過程為:
1)對輸入視頻進(jìn)行小波變換分解處理,并對分解后的子圖像進(jìn)行閾值量化處理,完成幀內(nèi)圖像的編碼壓縮。
2)利用信號的頻帶系數(shù)特征,采用改進(jìn)后的運動補(bǔ)償方法對視頻中的低頻子圖像進(jìn)行幀間預(yù)測,計算出預(yù)測誤差。
3)使用軟閾值小波變換對預(yù)測誤差的幀內(nèi)編碼進(jìn)行壓縮,同時根據(jù)運動參數(shù)估計出當(dāng)前幀與下一幀之間的相關(guān)性,從而確定壓縮下一幀圖像的方法,減少幀間的冗余度。
4)合成兩種方法的壓縮結(jié)果,并且輸出合成結(jié)果。
服務(wù)器由視頻輸入模塊、視頻編碼模塊和Web服務(wù)器組成。視頻輸入模塊主要作用是將攝像機(jī)輸入的圖像信息轉(zhuǎn)換成數(shù)字圖像信號,并且將信號發(fā)送至視頻編碼模塊。視頻編碼模塊主要作用是對輸入的數(shù)字圖像信號通過上文方法進(jìn)行壓縮編碼。Web服務(wù)器主要是由存儲器、單片機(jī)控制器[8]、以太網(wǎng)控制器[9]和以太網(wǎng)接口[10]組成,其整體框架如圖5所示。
圖5 Web服務(wù)器框架
Web服務(wù)器同時負(fù)責(zé)響應(yīng)監(jiān)控端的服務(wù)請求,當(dāng)監(jiān)控端發(fā)出指令時,客戶端即和服務(wù)器建立連接,并將控制指令發(fā)送至服務(wù)器,令服務(wù)器回傳視頻碼流,該通信流程是通過TCP/IP接口完成的。圖6為服務(wù)器的執(zhí)行流程圖。
圖6 服務(wù)器的執(zhí)行流程圖
分析圖6可知,當(dāng)服務(wù)器開始運行時主進(jìn)程會立即建立一個套接口,將其和主機(jī)地址進(jìn)行捆綁,進(jìn)入被動監(jiān)聽狀態(tài),準(zhǔn)備執(zhí)行客戶端的連接請求。該過程中采用SOCKET()建立套接口,由LISTEN()完成監(jiān)聽,最后通過ACCEPT()負(fù)責(zé)信息接收。當(dāng)ACCEPT()接收到一個連接請求時,立即會返回一個套接口描述符,從而使服務(wù)器能夠同時接受多個請求。子進(jìn)程主要作用為處理各個細(xì)化請求,分為以下幾個模塊:通用函數(shù)模塊、CGI錯誤處理模塊、靜態(tài)文本處理模塊。單片機(jī)的數(shù)據(jù)處理流程如圖7所示。
圖7 單片機(jī)處理流程圖
若要實現(xiàn)遠(yuǎn)程同步監(jiān)控,則數(shù)據(jù)傳輸就要具有一定的實時性、同步性和分布性的特點。在使用Internet傳輸數(shù)據(jù)的過程中,傳輸層存在兩個協(xié)議:傳輸控制協(xié)議(TCP)和用戶數(shù)據(jù)報協(xié)議(UDP),UDP為一種不可靠、無鏈接的協(xié)議,TCP為一種以鏈接為基礎(chǔ),能夠提供可靠數(shù)據(jù)傳輸?shù)膮f(xié)議??紤]到同步遠(yuǎn)程監(jiān)控圖像傳輸?shù)闹匾院蛯嶋H操作性,本文采用可靠性更高且更易實現(xiàn)的TCP/IP協(xié)議。并且為了提高數(shù)據(jù)傳輸效率,實現(xiàn)同步監(jiān)控,對傳統(tǒng)TCP/IP協(xié)議進(jìn)行改進(jìn),即在客戶端和服務(wù)器之間建立多個鏈接,并對所建鏈接進(jìn)行通路測試,選擇傳輸速度較快的鏈接作為實際數(shù)據(jù)傳輸?shù)耐?,具體操作方法如下:
對于中國農(nóng)民而言,“糾紛寶塔理論”所刻畫的由下至上的糾紛解決層級結(jié)構(gòu)并非是一個需要“攀爬”的實體[14],而是一個可以靈活選擇而跳躍達(dá)至的扁平結(jié)構(gòu)。鄉(xiāng)土正義系統(tǒng)是糾紛解決過程中以農(nóng)民的法律資源選擇為主的法律秩序公共品集合體。就本文的分析所及,鄉(xiāng)土正義供給系統(tǒng)看似具有層級性,但在農(nóng)民進(jìn)行法律資源選擇的過程中,正義系統(tǒng)中的部件結(jié)構(gòu)卻是扁平化的,農(nóng)民既可以找村干部調(diào)解糾紛,也可以向派出所尋求幫助,也可以綜合利用鄉(xiāng)鎮(zhèn)政府的熟人關(guān)系網(wǎng)絡(luò)來促成糾紛的解決。
1)根據(jù)實際情況設(shè)計同時傳輸?shù)逆溄觽€數(shù),每個鏈接均由一個固定線程進(jìn)行管理,并且各個線程之間能夠互相通信。當(dāng)服務(wù)器與客戶端之間開始通信時,只允許一個鏈接進(jìn)行數(shù)據(jù)傳輸,其余鏈接則不斷進(jìn)行通路測試,當(dāng)正在傳輸數(shù)據(jù)鏈接發(fā)生阻礙或速度較慢時,則將傳輸任務(wù)交給通路測試中速度最快的那個鏈接,傳輸示意圖如圖8所示。
圖8 多連接數(shù)據(jù)傳輸示意圖
2)當(dāng)網(wǎng)絡(luò)狀態(tài)較差導(dǎo)致所有鏈接都不能夠進(jìn)行傳輸時,則傳輸模塊會立即將信息傳送至壓縮模塊,壓縮模塊根據(jù)實際的網(wǎng)絡(luò)狀況,重新調(diào)整壓縮參數(shù),獲得數(shù)據(jù)更小的視頻流,適應(yīng)由于網(wǎng)絡(luò)狀態(tài)而導(dǎo)致的傳輸能力不足的情況。
綜上所述,在各模塊共同作用下,以改進(jìn)的多連接TCP/IP協(xié)議作為數(shù)據(jù)傳輸通道,實現(xiàn)對遠(yuǎn)程視頻的同步監(jiān)控。
為驗證所提方法的有效性,首先對同步監(jiān)控的視頻壓縮功能進(jìn)行測試,測試之前首先將壓縮模塊初始化,壓縮后視頻圖像呈現(xiàn)效果如圖9所示。
圖9 壓縮后視頻圖像呈現(xiàn)效果圖
從圖9中可以看出,壓縮后的圖像質(zhì)量與原始圖像相比并沒有下降,說明所提方法能夠較好地保持原始圖像的真實性與圖像細(xì)節(jié),能夠較為完整地還原真實場景信息。這是由于所提方法采用運動補(bǔ)償技術(shù)和軟閾值小波變換技術(shù)相結(jié)合,對圖像幀內(nèi)和幀間進(jìn)行統(tǒng)一量化和編碼,從而實現(xiàn)對視頻圖像數(shù)據(jù)的有效壓縮。
隨后對視頻傳輸性能進(jìn)行測試,視頻傳輸即為將壓縮后的視頻數(shù)據(jù)發(fā)送至視頻終端的過程,該過程要求傳輸程序占用的帶寬不能過大,傳輸?shù)男时M可能更高。測試之前先將相關(guān)網(wǎng)絡(luò)參數(shù)初始化,然后根據(jù)實際情況對傳輸函數(shù)進(jìn)行設(shè)定,再對壓縮后的視頻信號進(jìn)行傳輸,測試結(jié)果如表1所示。
表1 視頻信號傳輸效果測試結(jié)果
從表1中可以看出,所提方法的傳輸效率較高,能夠滿足視頻監(jiān)控的同步性要求。這是由于該方法在監(jiān)控前端設(shè)置了兩個攝像機(jī),兩個攝像機(jī)同時進(jìn)行監(jiān)控目標(biāo)的視頻圖像采集工作,從而提高了數(shù)據(jù)采集效率,進(jìn)而提升了視頻信號傳輸效率。
本文對嵌入式Web的雙路遠(yuǎn)程視頻同步監(jiān)控方法進(jìn)行了設(shè)計,實驗表明本文監(jiān)控系統(tǒng)的效率較高、視頻畫面較為清晰,能夠滿足實時監(jiān)控的基本要求。但是由于時間和精力有限,本文方法還有所欠缺,如:①視頻監(jiān)控方法中沒有設(shè)置信息回放模塊,不具備信息回訪功能;②在視頻顯示畫面出現(xiàn)問題時,沒有設(shè)置問題報警機(jī)制。在未來的工作過程中,還需要在以上方面做進(jìn)一步研究,對監(jiān)控方法進(jìn)行優(yōu)化。