夏振華,張正炳
(長江大學 電信學院,湖北 荊州 434023)
近年來,隨著網絡帶寬、微處理器處理能力的迅速提高以及各種實用視頻信息處理技術的出現,視頻監控產品逐步脫離了傳統的模擬視頻監控和基于PC的視頻監控,向小型化、數字化、網絡化和終端智能化的嵌入式系統發展。
TI公司的TMS320DM6446(簡稱DM6446)芯片是一款ARM+DM644x的雙核芯片,是實現高性能視頻監控、IPTV等網絡視頻應用的理想的解決方案[1]。筆者將介紹一種利用DM6446為核心,利用聯通的WCMDA進行網絡傳輸的無線視頻監控系統,該系統既具有多數嵌入式監控系統的體積小、成本低、維護方便、穩定性好等優點,同時由于采用了第三代移動通信(3G)的網絡傳輸方式,無須布線,傳輸速度高,監控畫面實時性好。
基于IP的網絡視頻監控系統包括兩大部分,視頻監控終端和視頻監控中心。視頻監控終端和視頻監控中心采用Client/Server(C/S)模式。監控中心運行在Client模式,主動向各監控終端發起網絡連接請求,各監控點的視頻終端接受監控中心軟件發送的網絡請求,并將監控畫面通過3G無線網絡傳送到監控中心進行顯示。整個系統的結構如圖1所示。

圖1 系統的結構圖
本系統利用TMS320DM6446芯片具有ARM和DSP雙核的特點,將監控終端的三大核心任務:視頻采集、壓縮編碼和網絡傳輸分配兩個核分別處理,這樣既能利用ARM核上運行的Linux系統具有的完備的TCP/IP協議棧實現復雜的網絡控制命令和視頻的傳輸,又能利用DSP的強大運算能力實現實時的視頻編碼。系統的工作流程框圖如圖2所示。

圖2 工作流程框圖
由圖2可知,視頻監控終端輸入部分由CCD攝像機通過S-Video端子接入視頻解碼器,視頻解碼器可以將攝像機得到的NTSC格式或者PAL格式的視頻信號轉換成包含有數字色差信號(YUV422)的BT656格式的視頻流,由DM6446的DSP核采集并從中提取YUV422格式的視頻信號,DSP核將YUV422格式的視頻轉換成YUV420格式,再將YUV420格式的視頻數據進行視頻壓縮編碼,編碼后的視頻在從DSP核傳送到DM6446的ARM核,運行在ARM核上的網絡傳輸軟件等待外部連接,一旦接收到合法的連接請求就開始向監控中心傳送視頻畫面。視頻監控中心向監控終端發出連接請求,被驗證合法后可以通過網絡查看監控終端所提供的監控畫面,當然壓縮的碼流需要經過解碼,然后再進行顯示,監控中心還可以通過網絡發出一些控制命令到終端,這些控制命令控制終端運行的一些參數,比如視頻圖像的壓縮比、畫面的亮度、視頻的幀率以及攝像機云臺的轉送等參數。
從圖2可以總結出,監控終端的軟件分為兩部分:DSP端視頻采集和壓縮編碼軟件,ARM端的網絡傳輸和控制調參軟件。
DSP端軟件的核心任務是視頻編碼,本系統采用M-JPEG作為視頻壓縮編碼算法,JPEG是靜態圖像壓縮編碼方法,在監控終端可以將視頻圖像當作單幀的靜態圖像來進行壓縮處理,在監控中心利用解碼器將壓縮碼流單幀地解壓播放,就能實現動態視頻效果。下面給出本系統的JPEG實現的方法。JPEG編碼算法的流程如圖3所示。

圖3 JPEG流程圖
在圖3所示的編碼流程中,二維DCT變換在整個過程中運算量最大。通過CCS實時性分析,發現DCT幾乎占用進行整個編碼耗時的70%以上,因此在實現DCT變換的過程中,需要著重考慮算法和程序的優化。JPEG編碼將圖像分成8×8塊,即DCT處理的基本單元是8×8的子塊[2]。因此,8點二維DCT變換定義如式(1),分解成2次一維DCT可以大大簡化運算,如式(2)~(3)

在進行DCT變換的各種快速算法中,Loeffler算法被證明已經達到了算法極限,是最優秀的算法,該DCT算法共使用11次乘法和29次加法[3]。它把整個DCT過程分成了4級,每級都是乘加運算[3]。DM6446非常適合做乘加,它可以達到每秒2.88×109次16位“乘加”運算,或5.76×109次8位乘加運算。本系統就是采用Loeffler快速算法來實現最為耗時的DCT變換。JPEG編碼中分塊、量化、Huffman編碼等部分實現起來比較簡單,耗時也很少。在充分考慮各個環節的優化后,對系統的編碼速度進行測試發現,本系統對352×288大小的視頻進行編碼的速度能夠達到80 f/s(幀/秒),可以滿足監控畫面的實時性要求。
ARM端軟件的核心任務是網絡傳輸和參數調節。ARM是目前主流的嵌入式系統解決方案所選擇的芯片,大多數嵌入式系統都能很方便的移植運行在ARM上,DM6446包含了一塊ARM9核,可以運行Linux系統,Linux內核包含有功能完備的TCP/IP協議棧,因此在進行網絡傳輸的軟件設計時,不需要自行實現TCP/IP協議,大大減少了代碼量[4]。ARM端軟件的工作原理是,首先利用PPP撥號程序通過WCDMA撥號接入互聯網,等待監控中心連接請求;接收來自DSP端編碼后的視頻數據,然后在收到監控中心的連接請求時,將這些數據通過互聯網傳送到監控中心。
聯通的WCDMA是國內3G移動通信的一種,具有技術成熟、帶寬大等優點。目前聯通的WCDMA都采用HSDPA技術,下行速率為7.2 Mbit/s,今后還會升級到14.4 Mbit/s,完全可以滿足視頻無線傳輸的實時性要求。本系統采用的西門子WCDMA模塊MC75i支持HSDPA模式,為了保證傳輸速度DM6446與MC75i通過數據總線連接,利用它進行網絡傳輸時,首先需要運行在ARM核上的Linux系統通過PPP協議撥號接入互聯網,然后才能進行信令和視頻碼流的傳輸。
為了實現局域網的穿透,本系統采用了自行設計的一個簡單的穿透協議來實現。具體原理是,在互聯網中的一臺擁有公網IP的機器上運行一個簡單的網守程序,該程序記錄監控中心和各個監控終端所使用的端口號和公網IP地址。監控中心和各監控終端一啟動就先向網守注冊自己的公網IP地址和端口信息,當監控中心要向終端發起網絡連接時,首先向網守服務器發起請求信令,網守服務器收到監控中心的連接請求,可以從中得知監控中心需要與哪些監控終端連接,接著網守會將選中的監控終端的公網IP地址和端口發送到監控中心,監控中心得到這些公網IP地址和端口后,再次向監控中心發起視頻連接請求,此時監控中心會收到請求,驗證合法后,向監控中心直接發送視頻碼流。整個工作過程如圖4所示。圖中IP1A,Port1A,IPSA,PortSA分別代表監控終端1和監控中心的內網IP地址和內網端口;IP1G,Port1G,IPSG,PortSG分別代表監控終端和監控中心的公網IP地址和公網端口。

圖4 網絡傳輸工作流程圖
雖然WCDMA網絡帶寬足夠滿足視頻傳輸的需求,但從節約流量費用的角度考慮,在設計系統時,需要盡可能地在保證圖像質量的前提下減少網絡流量。視頻傳輸系統中網絡流量取決于編碼方法。在相同的編碼方法中,網絡流量和圖像質量是存在著矛盾的,數據量大,圖像質量好,數據量小,圖像質量差。本系統在M-JPEG編碼基礎上增加了控制圖片質量的參數Q,通過調節該參數可以改變圖片質量,從而改變網絡數據量的大小。它的原理是通過參數Q改變量化時所用到的量化表中的量化步長來改變量化結果中“0”的數量。Q與量化表之間的關系由下列公式確定


其中,InitQtableY[i]和InitQtableUV[i]分別為標準亮度量化表和色度量化表,FinalQtableY[i]和FinalQtableUV[i]分別為本文系統用于對亮度分量和色度分量的DCT系數進行量化的量化表。從上式可以看出,Q值越大,mul_factor值越小,FinalQtableY[i]和FinalQtableUV[i]中各元素也越小,量化后的“0”的個數越少,壓縮后的圖像質量就越高[4]。本系統中監控中心可以設置參數Q,并將Q值通過網絡傳輸到監控終端,監控終端根據設定的Q值實時的改變圖像質量。表1給出了300 s在各種Q值下的流量統計,表中數據的測試條件為,視頻大小352×288,幀率為20 f/s。圖5給出了Q值等于95,50,25時的畫面。

表1 網絡流量統計

圖5 各種Q值畫面對比
從表1和圖5可以看出,Q=95時,每秒網絡數據流量較大,畫面質量最好,Q=50時,每秒網絡數據流量適中,并且畫面質量較Q=95時沒有大幅下降,Q=25時的圖像質量明顯下降。因此本系統將Q的初始值設置為50,在Q=50時,網絡流量較小,并且畫面質量也能滿足大多數場合的要求。
視頻監控中心效果如圖6所示。從圖可以看出,在默認參數下,該監控系統的畫面質量令人滿意。

圖6 監控中心效果圖
本文提出的基于3G的嵌入式視頻監控系統設計方案具有穩定性高、圖像質量較好、網絡傳輸性能好等特點。該系統操作簡單,系統的監控圖像質量能滿足大多數用戶對畫面質量的要求,另外,該視頻服務器對網絡帶寬的需求適中,完全適合局域網和互聯網上使用。
[1]唐健雄,陳力.基于TMS320DM6446的視頻會議終端硬件設計[J].電視技術,2008,32(3):93-95.
[2]鄧慧萍,張正炳,賈冬順.一種改進的2D-DCT的FPGA實現[J].微計算機信息,2007(35)∶214-215.
[3]LEOFFLER C,LIGTENBERG A,MOSCHYTZ G S.Practical fast 1D DCT algorithms with 11 multiplications[EB/OL].[2009-10-20].http∶//ieeexplore.ieee.org/Xplore/login.jsp?url=http%3A%2F%2Fieeexplore.ieee.org%2Fiel2%2F805%2F6677%2F00266596.pdf%3Farnumber%3D266596&authDecision=-203.
[4]梅曉蘭,張連發,梅啟斌.基于OMAP1510雙核架構的移動多媒體通信終端的設計與實現[J].電子技術應用,2004,30(8):20-24.