?
1 DVR的發(fā)展現(xiàn)狀及MPEG-4在嵌入式DVR中的優(yōu)勢(shì)
1. 1 DVR的發(fā)展
DVR的發(fā)展大體上經(jīng)過(guò)了兩個(gè)階段:以PC為平臺(tái)的DVR和嵌入式DVR。傳統(tǒng)的以PC為平臺(tái)的DVR采用的是存儲(chǔ)在硬磁盤(pán)中的Windows操作系統(tǒng),這種開(kāi)放式的系統(tǒng)有著用戶友好的圖形用戶接口GUI等優(yōu)點(diǎn),但它也有如Windows固有的不穩(wěn)定性及支持CPU受到限制等缺點(diǎn)。嵌入式DVR采用能嵌入ROM/Flash存儲(chǔ)器中的實(shí)時(shí)操作系統(tǒng)RTOS,布控區(qū)域廣泛、可組成非常復(fù)雜的監(jiān)控網(wǎng)絡(luò)、性能穩(wěn)定可靠,從而很好地彌補(bǔ)了這種缺陷。
在嵌入式DVR中,視頻壓縮技術(shù)是其關(guān)鍵的核心技術(shù),現(xiàn)在DVR采用的壓縮技術(shù)的主流是MPEG-1。MPEG-1 的核心是離散余弦變換及雙向運(yùn)動(dòng)補(bǔ)償算法,主要思想是通過(guò)減少圖像間時(shí)間及空間的冗余性和相關(guān)性信息來(lái)減少數(shù)據(jù)量。MPEG-1在800kbps~2Mbps的傳輸速率下圖像能達(dá)到較好的清晰效果。但是采用MPEG-1的嵌入式DVR也有很多不利的地方: ①硬盤(pán)耗費(fèi)量大; ②由于數(shù)據(jù)量大,不適合網(wǎng)絡(luò)傳輸; ③不夠靈活,適應(yīng)性差,不能根據(jù)網(wǎng)絡(luò)情況自適應(yīng)地調(diào)節(jié)傳輸率。而MPEG-4的出現(xiàn)克服了以上種種缺陷,是現(xiàn)代嵌入式DVR的發(fā)展趨勢(shì)。
1. 2 MPEG-4在嵌入式DVR中的優(yōu)勢(shì)
MPEG-4在壓縮方法上遠(yuǎn)遠(yuǎn)優(yōu)于MPEG-1,MPEG-4基于場(chǎng)景描述和面向帶設(shè)計(jì)的要領(lǐng)使MPEG-4在視頻監(jiān)控錄像領(lǐng)域中在以下幾個(gè)方面具有巨大的優(yōu)勢(shì):
(1)節(jié)約存儲(chǔ)空間。
(2)較高的錄像清晰度,盡管MPEG-4是瞄準(zhǔn)在低帶寬上的音/視頻解決方案,但是它獨(dú)特的壓縮方式同樣也適合CIF或更高清晰度(768 ×576、640 ×480)的視頻壓縮。這樣它就有效突破了MPEG-1最大清晰度CIF(352 ×288)限制,獲得更好的視頻壓縮質(zhì)量。
(3)錄像幀率可調(diào)。
(4)比MPEG-1更利于網(wǎng)絡(luò)傳輸。MPEG-4優(yōu)越的視頻壓縮方式,也決定了其在低帶寬網(wǎng)上具有優(yōu)秀的表現(xiàn)。
2 MPEG-4核心思想和關(guān)鍵技術(shù)在DVR中的應(yīng)用
MPEG-4代表了基于模型/對(duì)象的第二代壓縮編碼技術(shù),它充分利用了人眼視覺(jué)特性,抓住了圖像信息的本質(zhì),從輪廓、紋理思路出發(fā),支持基于視覺(jué)內(nèi)容的交互功能,適應(yīng)了多媒體信息的應(yīng)用由播放型轉(zhuǎn)向基于內(nèi)容的訪問(wèn)、檢索及操作的發(fā)展趨勢(shì),尤其適合應(yīng)用在嵌入式DVR中。
2.1 MPEG-4核心思想———基于對(duì)象編碼
AV對(duì)象(Audio Visual Object)是MPEG-4提出的重要概念,它是在一個(gè)場(chǎng)景中能夠訪問(wèn)和操縱的實(shí)體,具體到一幅圖像中,對(duì)象是能表征有含義的實(shí)體的一組區(qū)域(Region) ,對(duì)象的劃分可以其獨(dú)特的紋理、運(yùn)動(dòng)、形狀、模型和高層語(yǔ)義為依據(jù)。MPEG-4的編碼就是基于AV對(duì)象的, AV對(duì)象是視聽(tīng)內(nèi)容的表示單元,其基本單位是原始AV對(duì)象。原始AV對(duì)象可以是自然或者合成的聲音、圖像。它具有時(shí)域和空域的靈活性,可以根據(jù)對(duì)象重要性,進(jìn)行比特的科學(xué)分配,從而使圖像的主觀質(zhì)量得到保證。因此,MPEG-4具有高效編碼、高效存儲(chǔ)和傳輸以及可交互操作的特性,AV對(duì)象編碼就是MPEG-4的核心思想。在DVR的應(yīng)用中,這種基于AV對(duì)象的編碼的高效壓縮必然能節(jié)省大量的存儲(chǔ)資源,也可以靈活地根據(jù)現(xiàn)場(chǎng)帶寬和誤碼率的客觀條件進(jìn)行擴(kuò)展,充分利用帶寬。從下面的MPEG-4采用的核心技術(shù)的分析中將會(huì)更加清楚地看到這種基于AV對(duì)象編碼所帶來(lái)的好處。
2. 2 MPEG-4的關(guān)鍵技術(shù)
(1) 視頻對(duì)象的提取技術(shù)。MPEG-4實(shí)現(xiàn)基于內(nèi)容的編碼首先就要把視頻、圖像分割成一個(gè)個(gè)靜止的對(duì)象或運(yùn)動(dòng)的對(duì)象,然后針對(duì)不同對(duì)象采用相應(yīng)的編碼方法,以實(shí)現(xiàn)高效壓縮。目前視頻對(duì)象分割的一般步驟是: ①對(duì)原始視頻/圖像數(shù)據(jù)通過(guò)低通濾波、中值濾波、形態(tài)濾波等來(lái)進(jìn)行簡(jiǎn)化,以利于分割;②對(duì)視頻/圖像數(shù)據(jù)進(jìn)行諸如顏色、紋理、運(yùn)動(dòng)、幀差、位移幀差和語(yǔ)義等特征提取; ③基于某種均勻性指標(biāo)來(lái)確定分割決策;④進(jìn)行相關(guān)的后處理,濾除噪聲并準(zhǔn)確提取邊界。
運(yùn)用于嵌入式DVR中的MPEG-4,視頻對(duì)象的提取相對(duì)比其他運(yùn)用來(lái)說(shuō),簡(jiǎn)單了許多,在嵌入式DVR的視頻/圖像中不會(huì)有太多太復(fù)雜的視頻內(nèi)容。基本上可分為一個(gè)靜止的對(duì)象:背景和若干個(gè)運(yùn)動(dòng)的對(duì)象。
(2) VOP (Video Object Plane)編碼技術(shù)。VOP是視頻對(duì)象(VO)在某一時(shí)刻的采樣,它也是MPEG-4視頻編碼的核心概念之一。MPEG-4在編碼過(guò)程中針對(duì)不同VO采用不同的編碼策略,即對(duì)前景VO的壓縮編碼盡可能保留細(xì)節(jié)和平滑;對(duì)背景VO則采用高壓縮率的編碼策略,甚至不予傳輸而在解碼端由其他背景拼接而成。這種基于對(duì)象的視頻編碼不僅克服了第一代視頻編碼中高壓縮率編碼所產(chǎn)生的方塊效應(yīng),而且使用戶可與場(chǎng)景交互,從而既提高了壓縮比,又實(shí)現(xiàn)了基于內(nèi)容的交互,為視頻編碼提供了廣闊的發(fā)展空間。而且MPEG-4支持任意形狀圖像與視頻的編解碼。對(duì)于任意形狀視頻對(duì)象,MPEG-4則采用VLBV (Very Low Bit rate Video,極低比特率視頻)核進(jìn)行編碼。
在嵌入式DVR應(yīng)用的場(chǎng)合中有一個(gè)很大的特點(diǎn):背景對(duì)象是靜止不動(dòng)或者是極少運(yùn)動(dòng)的。因此對(duì)背景對(duì)象可以根據(jù)實(shí)際情況,或采取高壓縮率編碼,或只在較少的幀中出現(xiàn),這樣可以極大地降低對(duì)存儲(chǔ)和傳輸?shù)膲毫ΑI厦孢@種方法就是MPEG-4中的Sprite編碼思想, Sprite稱為鑲嵌圖或背景全景圖。一個(gè)Sprite是由一個(gè)視頻對(duì)象在視頻序列中所有出現(xiàn)部分經(jīng)拼接而成的一幅圖像。通過(guò)Sprite編碼,先將背景Sprite送到解碼端并生成背景圖,其后就只需要傳輸少量的參數(shù)即可,可以減少整個(gè)視頻傳輸過(guò)程中的數(shù)據(jù)量,實(shí)現(xiàn)高壓縮比。而且對(duì)于Sprite圖像為了減少延遲,還可以使用MPEG-4的分級(jí)傳輸功能,進(jìn)行分層逐塊傳輸。
(3) 可擴(kuò)展編碼技術(shù)。擴(kuò)展性編碼也是可分級(jí)性編碼,視頻的可分級(jí)性( Scalability)是指碼率的可調(diào)整性,即視頻數(shù)據(jù)只壓縮一次,卻能根據(jù)實(shí)際情況以不同的幀率、空間分辨率或視頻質(zhì)量進(jìn)行解碼,從而可支持多種不同的應(yīng)用要求。擴(kuò)展性編碼分為空域擴(kuò)展和時(shí)域擴(kuò)展編碼。MPEG-4通過(guò)視頻對(duì)象層(VOL)數(shù)據(jù)結(jié)構(gòu)來(lái)實(shí)現(xiàn)分級(jí)編碼,在擴(kuò)展性編碼中視頻序列分為兩層:基本層和增強(qiáng)層。基本層提供了視頻序列的基本信息,增強(qiáng)層提供了視頻序列更高的分辨率和細(xì)節(jié)。在嵌入式DVR中,采用MPEG-4的基于對(duì)象的分層傳輸思想,使用空域和時(shí)域的擴(kuò)展編碼調(diào)節(jié)空間分辨率和幀率。這樣,一方面可以方便地實(shí)現(xiàn)碼率控制,可以很好地使網(wǎng)絡(luò)帶寬發(fā)生變化;另一方面,也可以實(shí)現(xiàn)用戶與DVR的交互性能,用戶可以方便地選擇分辨率和幀率,以得到滿意的視頻效果。
(4) 運(yùn)動(dòng)估計(jì)與運(yùn)動(dòng)補(bǔ)償技術(shù)。MPEG-4采用I幀、P幀和B幀三種幀格式來(lái)表征不同的運(yùn)動(dòng)補(bǔ)償類型。I幀使用幀內(nèi)壓縮,只利用空間相關(guān)性,不使用運(yùn)動(dòng)補(bǔ)償,所以不依賴于其他幀,是解碼的基準(zhǔn)幀。I幀圖像周期性出現(xiàn)在圖像序列中。P幀和B幀圖像采用幀間編碼方式,同時(shí)利用了空間和時(shí)間上的相關(guān)性。P幀采用前向時(shí)間預(yù)測(cè),可以提高壓縮效率和圖像質(zhì)量,B幀采用雙向時(shí)間預(yù)測(cè),更大地提高壓縮倍數(shù),但是B幀不能作為其他圖像編碼的參考幀,不能進(jìn)行隨機(jī)存取。因此,在嵌入式DVR的應(yīng)用中,當(dāng)用戶可用帶寬比較低的情況下,可以只轉(zhuǎn)發(fā)I幀和盡可能少的P幀,可以降低傳輸?shù)拇a率,還可以得到可以接受的視頻質(zhì)量。
3 基于MPEG-4的嵌入式DVR中的實(shí)現(xiàn)
3. 1 硬件實(shí)現(xiàn)
基于MPEG-4的嵌入式DVR硬件實(shí)現(xiàn)如圖1所示,采用如下的方案:
(1) DSP選用TI公司推出的TMS320C6416,工作頻率達(dá)750MHz,運(yùn)算速度可達(dá)到4000MIPS。
(2) ARM 板采用ARM 嵌入式系統(tǒng)擴(kuò)展板( CY-ARM4510B) 。
(3) PCI接口板(CY-PCI2.2) 。
3. 2 軟件實(shí)現(xiàn)
軟件部分用ANSI C編寫(xiě),用GNU Make-3.74或更高版本的GCC編譯器進(jìn)行編譯。MPEG-4編解碼部分是在MPEG-4提供的框架下根據(jù)嵌入式DVR應(yīng)用的實(shí)際情況進(jìn)行了一些簡(jiǎn)化和優(yōu)化后實(shí)現(xiàn)的。主要從下面三個(gè)方面對(duì)代碼進(jìn)行優(yōu)化:
(1)盡量降低代碼量,提高數(shù)據(jù)結(jié)構(gòu)的有效性。因此需要去除對(duì)DVR應(yīng)用中基本不用的結(jié)構(gòu)及處理部分。
(2)并且盡量是執(zhí)行控制趨于合理,減少不必要的存儲(chǔ)分配和釋放,盡量減少對(duì)外部存儲(chǔ)器的訪問(wèn)。
(3)改進(jìn)ME/MC ( FastMotion Estimation and Motion Compensation)來(lái)提高編碼效率。
程序分為三個(gè)部分:編解碼公用的部分、編碼部分和解碼部分。根據(jù)上面提到的優(yōu)化思想,我們對(duì)程序進(jìn)行了優(yōu)化。經(jīng)過(guò)優(yōu)化后,VOP的結(jié)構(gòu)體進(jìn)行了很大的改變,保留了基本的語(yǔ)法元素項(xiàng),對(duì)Sp rite進(jìn)行了一些簡(jiǎn)化,定義如下:
struct vop
{
/* VOP的語(yǔ)法元素* /
Int p rediction_type; /* VOP類型* /
Intmod_time_base; /* VOP絕對(duì)基本時(shí)間* /
Float time_inc; /* VOP相對(duì)mod_time_base時(shí)間* /
Int vop_coded;
Int rounding_type;
Int width; /* VOP寬度* /
Int height; /* VOP高度* /
.
/* 運(yùn)動(dòng)估計(jì)元素* /
.
/* 部分從VOL中傳過(guò)來(lái)的sp rite coding元素* /
Int sp rite_hdim;
Int sp rite_vdim;
Int sp rite_left_edge;
Int sp rite_top_edge;
Int warp ing_accuracy; /3 變形精度(2, 4, 8, 16) 3 /
Int sp rite_usage; /3 0:不用; 1:靜態(tài); 3 /
Int no_of_sp rite_points;
/3 0:固定, 1:平移, 2:旋轉(zhuǎn)、縮放, 3:仿射, 4:透視畫(huà)法3 /
TrajPoint 3 ref_point_coord;
/3 position of reference points sp rite 3 /
TrajPoint 3 traj_point_coord;
/3 position of reference points aftermotion compensation 3 /
TrajPoint 3 difftraj_point_coord;
/3 ( dui, dvj) trajectory coordinates, to be transmitted 3 /
Int brightness_change_in_sp rite;
Float brightness_change_factor;
Int low_latency_sp rite_enable;
/3 0:基本sp rite, 1:節(jié)省的sp rite 3 /
struct vop 3 rec_sp rite; /3 當(dāng)前解碼sp rite指針3 /
Sp rite_motion 3 warp_param; /3 全局運(yùn)動(dòng)向量3 /
.......
}
在VOP中, sprite _ usage為1則圖像中只處理靜態(tài)的Sprite; sprite_hdim、sprite_vdim與靜態(tài)的Sprite的像素相對(duì)應(yīng),它隨Macroblocks數(shù)的變化而作相應(yīng)的變化,對(duì)于一個(gè)環(huán)境穩(wěn)定的DVR 的應(yīng)用,它們可以有一個(gè)確定的值; n Number of Sprite Points當(dāng)為o時(shí)zero運(yùn)動(dòng).......同時(shí)在image, sprite_motion, vol, video _object, motion等結(jié)構(gòu)體和編解碼的函數(shù)中也進(jìn)行了相應(yīng)的類似的一些優(yōu)化,以適應(yīng)DVR的特點(diǎn),提高編碼的效率。
(2) 軟件支持空域可擴(kuò)展和空域可擴(kuò)展,設(shè)置參數(shù)可支持五種類型: 0為時(shí)域擴(kuò)展類型0; 1為空域擴(kuò)展; 2為時(shí)域空域擴(kuò)
展; 3為時(shí)域擴(kuò)展類型1; 4為時(shí)域擴(kuò)展類型2對(duì)于空域擴(kuò)展。
Enhanece P B B B . . .
Base I P P P . . .
對(duì)于時(shí)域擴(kuò)展, base層的幀率變?yōu)?fps和enhance層的幀率也為5fps。支持三種類型:
Case0 I-VOP在base層中周期出現(xiàn)和P-VOP在base層和enhance層中,而B(niǎo)-VOP不出現(xiàn)
Enhance layer P P P P P . . .
Base layer I P P P P . . .
Case1 I-VOP和P-VOP在base層中編解碼, enhance層中只有B-VOP
Enhance layer B B B B B B . . .
Base layer I P P P . . .
Case3 base層中包含I-VOP, P-VOP和B-VOP, enhance層中只有B-VOP
Enhance layer P B B B B B . . .
Base layer IB P B P B P . . .
4 結(jié)束語(yǔ)
MPEG-4基于內(nèi)容的壓縮,是信息處理的高級(jí)階段,更加向人自身的信息處理方式靠近。本文著重分析了將MPEG-4編碼方法應(yīng)用于嵌入式DVR的種種優(yōu)點(diǎn),論述了這種DVR實(shí)現(xiàn)方法。實(shí)踐表明,這種應(yīng)用是對(duì)DVR是一次有效的優(yōu)化,能夠在多個(gè)方面提高DVR的性能,MPEG-4編碼必將是下一代DVR的發(fā)展趨勢(shì)。
評(píng)論
查看更多