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