1 前言
隨著數字信號處理技術和網絡技術的快速發(fā)展,基于嵌入式架構的網絡視頻處理及應用需求不斷增加。視頻技術從傳統(tǒng)的模擬視頻到數字視頻,進而發(fā)展到網絡視頻并逐漸成為視頻應用發(fā)展的主流。傳統(tǒng)的數字視頻服務系統(tǒng)僅限于本地編解碼、存儲和顯示。攝像機采集的視頻數據通過線纜傳輸到后臺服務系統(tǒng)進行壓縮存儲,無法實現遠程網絡訪問。網絡攝像機的出現很好地解決了這個問題,在網絡攝像機中,視音頻數據的壓縮功能前移到攝像機端實現,這樣一方面能夠在帶寬有限的網絡中進行數據傳輸,另一方面也大大擴展了其應用。網絡攝像機已經不僅僅是應用于監(jiān)控系統(tǒng),而且正逐漸成為家庭數字娛樂和智能家居的重要組成部分。
當前國內市場上的網絡攝像機產品全部是基于國際主流視頻壓縮標準MPEG4和H.264的,其實現或采用專用集成芯片,或采用DSP實現。采用專用集成芯片的缺點是壓縮算法固定,難以擴展。采用DSP實現MPEG4或H.264壓縮算法存在專利問題。而AVS作為我國擁有自主知識產權的視頻壓縮標準,其與最先進的H.264標準相當的壓縮性能和“一元人民幣”的專利策略使其在網絡攝像機應用中具有無可比擬的優(yōu)勢。
基于此,我們開發(fā)了國內首款支持AVS標準的網絡攝像機,本文對該產品的系統(tǒng)結構、關鍵模塊實現進行分析和討論。
2 系統(tǒng)結構
支持AVS的網絡攝像機的總體結構如圖1所示。
在該網絡攝像機中,視頻采集采用了TI的5150視頻采集芯片。TVP5150 可支持諸如視頻采集設備及便攜式個人攝像機等新產品。它在正常工作時的功耗僅為 115 毫瓦 (mW) ,并具有業(yè)界最小尺寸的 32 引腳超薄四方扁平封裝 (TQFP) ,TVP5150 的應用范圍非常廣泛。音頻采集和處理芯片為TI的高性能立體聲編解碼器TLV320AIC23,AIC23與DM642的I/O電壓兼容,可以實現與DM642的McASP接口無縫連接。主處理芯片采用TI公司的TMS320DM642實現,TMS320DM642(以下簡稱DM642)是一款專門面向多媒體應用的專用DSP。該DSP時鐘高達600 MHz,8個并行運算單元,處理能力達4800MIPS;采用二級緩存結構;具有64位外接存儲器接口;集成有3個視頻端口、音頻McASP和以太網MAC等外設。視頻端口外設提供了視頻采集到DSP核心處理單元的無縫接口,可以支持多種視頻解決方案。鑒于DM642的上述優(yōu)點,本網絡攝像機系統(tǒng)就以DM642為核心,完成音頻信號的實時采集、壓縮及傳輸功能。內部功能結構如圖2所示。 [nextpage]
3 關鍵模塊實現
AVS網絡攝像機實現的主要功能模塊包括視音頻數據采集、視頻預處理、編碼、運動檢測、視頻加密、網絡收發(fā)、內嵌WEB服務器和系統(tǒng)配置等諸多模塊組成。下面就主要模塊的設計實現進行介紹。
3.1 視頻數據預處理和壓縮編碼
在視頻壓縮編碼之前,為提高壓縮比,首先進行視頻預處理。采用較為簡單的算法對攝像機采集進來的原始YUV數據進行濾波,去掉高頻信號 ,一方面可以減輕編碼器的壓力,降低碼率;另一方面,攝像機對 CCD以及攝像頭的質量要求降低,可以節(jié)約成本。濾波算法復雜度較低,對D1大小格式圖像進行濾波,運算時間在2ms以下。視頻數據采用AVS標準進行壓縮編碼,AVS編碼的技術框架如圖3所示。其基本框架如下圖所示。
編碼過程根據編碼模式的不同而有所區(qū)別。幀內預測幀(I幀)采用幀內預測編碼,原始輸入圖像中的宏塊首先經過幀內預測找到最匹配的預測塊(以8?8子塊為單位),然后與原始塊相減得到殘差塊,經過變換和量化處理后得到的系數矩陣經過熵編碼寫入到碼流中。在進行熵編碼的同時,對系數矩陣進行反量化和反變換,得到殘差塊估計并與預測塊相加得到重構塊,用于后續(xù)宏塊的編碼參考以及后續(xù)幀間預測幀(P幀)的編碼參考。除殘差塊外,每個塊的預測模式信息也經過編碼寫入碼流中,用于在解碼時得到參考塊。 [nextpage]
視頻序列的第一幀編碼必須是I幀模式。I幀可以在編碼序列中周期性插入。由于I幀編碼與其他視頻幀不相關,因此周期性插入I幀有助于抑制解碼端由于傳輸錯誤導致的解碼錯誤傳播。
P幀利用相鄰幀之間的相關性進行編碼。基本思想是宏塊或者子塊在已編碼重構的參考幀中在一定范圍內尋找(運動估計)最匹配的宏塊或者子塊(代價最?。┳鳛轭A測塊,類似地對殘差塊進行基于8×8的變換和量化、熵編碼,同時對量化結果進行反量化和反變換處理,得到相應的重構塊。AVS支持16?16、16?8、8?16和8?8等塊劃分。
3.2 音頻編碼
音頻編碼采用G.729A標準實現,主要包括預處理濾波、LP分析、量化、插值、基音分析、固定碼本搜索和增益量化幾部分組成。預處理主要是將數字語音信號經過截止頻率為140HZ的高通濾波器預處理,以消除低頻干擾,同時進行幅度調整,防止運算過程中的數值溢出。然后將每10ms的音頻數據作為一幀,用10階線性預測作短時分析,得到LPC參數并變換為LSP(線譜對)參數,然后將LSP參數用二級分裂式矢量量化,第1級用7bit表示,量化得到的最小均方誤差矢量分為2個子矢量,分別以5bit量化,在保證精度的同時減少碼本的搜索時間,量化的(非量化的)LP 參數用于第2子幀,對于第1子幀LP系數的獲得,是通過對其相鄰子幀的對應參數線性內插得到,用量化和未量化的LPC參數構成感知加權濾波器及合成濾波器,從感知加權語音信號中減去感知加權濾波器的零輸入響應,得到目標信號。短時語音的基音分析和固定碼本搜索都是基于對目標信號的分析得到的。在G.729算法中,采用開環(huán)和閉環(huán)相結合的方法。首先,利用語音的短時自相關特性對每幀語音信號的基音周期進行開環(huán)估計,然后在開環(huán)估計得到的基音周期附近的小范圍內分別對2個子幀進行閉環(huán)基音搜索。閉環(huán)基音搜索的準則是使原始語音和重構語音之間均方加權誤差最小。第1子幀的搜索結果以8bit表示,由于語音信號具有短時平穩(wěn)特性,第2子幀在第1幀搜索的基礎上,搜索本子幀最佳基音周期,采用差分量化的方法以5bit表示,提高了編碼效率。固定碼本搜索時碼本采用代數碼本結構,正負脈沖交錯設計,碼本中每個碼本矢量含有4個非零脈沖,每個脈沖的幅度或正或負。以加權語音和加權重構語音之間的均方誤差最小為搜索準則?;粼鲆婧凸潭ùa本增益用7bit矢量量化,用原始語音和重構語音之間的加權均方誤差最小為準則來搜索增益碼本。增益碼本采用共軛結構二級碼本矢量,每個碼本的第1個元素表示量化自適應碼本增益,第2個元素表示量化固定碼本增益的相關因子。
3.3 網絡收發(fā)模塊
網絡發(fā)送可以通過TCP或者UDP協議發(fā)送。以TCP發(fā)送為例,流程如圖4所示。
3.4 WEB服務器模塊
采用HTTP協議實現。HTTP協議是一個采用的請求/響應模型的協議。采用HTTP協議實現WEB服務器和WEB瀏覽器之間傳遞數據。 [nextpage]
模塊工作流程如下:
1)首先,CGI程序需要判斷字符串指針pArg指向的字符串是否為NULL:如果是,那么要處理的是一個POST方法,如果不是,那么要處理的是一個GET方法;
2)如果CGI程序要處理的是POST方法,那么按下列步驟編寫程序:a)動態(tài)分配字節(jié)數為ContentLength+1的緩沖區(qū);b)調用recv從套接字htmlSock上接收ContentLength個字節(jié)的數據到該緩沖區(qū);c)在把緩沖區(qū)的最后一個字節(jié)設置為'\0';如果CGI程序要處理的是GET方法,那么此步可以忽略;
3)解析、處理該接收到的數據(POST)或字符串指針pArg指向的字符串(GET);
4)向客戶端發(fā)送一個HTTP響應報文,其中HTTP包包頭:
a)HTTP報文報頭第一行必須是一個完整的Response-Line;
b)HTTP報文報頭最后一行必須是CRLF結束;
c)HTTP報文數據必須和包頭中指定的Content-Type保持一致(html、txt、gif等);
5)如果是處理POST方法,必須釋放動態(tài)分配的內存;
6)返回值必須是0或者1(0:關閉該套接字)。
3.5 其他模塊
視頻加密模塊:采用經典的數據加密算法和數字水印技術,為降低復雜性,在實現時進對包括序列頭、圖像頭、條帶頭以及I 幀的重要數據進行加密,確保非法訪問者無法正常解碼視頻數據。
運動檢測模塊:設計了多種運動檢測算法并根據視頻內容變化進行自適應選擇。實現的算法主要有背景減除、時域差分、背景統(tǒng)計分類以及光流場等算法。碼流控制模塊借鑒H.264標準組提供的推薦碼率控制算法。云臺控制通過RJ485接口電路實現。
4 性能
該AVS網絡攝像機實現的性能指標如下:
1)符合AVS標準,處于國內領先水平;
2)支持N制式和PAL制式;
3)支持QCIF、CIF、2CIF、Half D1、D1的實時編碼傳輸;
4)網絡自適應,根據網絡狀況自動調整碼率和幀率,支持碼率控制,支持CBR和VBR工作方式,碼率調整范圍為64Kbps—3Mbps;
5)支持幀率控制,控制范圍為0.1fps-25fps(PAL)/30fps(NTSC);
6)編碼延時小于200毫秒;
7)根據檢測結果產生聯動抓拍、報警;
8)檢測時間<70ms;
9)檢測正確率>90%;
10)支持移動偵測報警、事件聯動報警、視頻丟失報警;
11)支持TCP、UDP等多種網絡協議,適應不同網絡環(huán)境;
12)內置WEB服務器,支持IE瀏覽和設備配置;
13)最大支持10個用戶同時訪問;
14)整機功耗小、小于10瓦,發(fā)熱低
15)故障自動恢復,工作穩(wěn)定可靠;
16)支持網絡在線升級和參數調整;
17)控制軟件界面友好,易操作。
5 結束語
本網絡攝像機采用DM642 DSP芯片實現,支持AVS標準,實現了網絡攝像機的幾乎全部功能,能對音視頻進行實時的編解碼和實時的網絡傳輸。圖像質量高、易于升級,目前已成功應用于上海某企業(yè)內部網絡視頻服務系統(tǒng),并在吉林網通等多家應用企業(yè)進行測試和使用,是一種比較理想的網絡攝像機解決方案。