国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

新一代視頻編碼標(biāo)準(zhǔn)H,264/AVC的關(guān)鍵技術(shù)研究

發(fā)布時(shí)間:2010-10-11 11:49    發(fā)布者:eetech
關(guān)鍵詞: AVC , 編碼 , 視頻
2001年12月,ITU-T和ISO/IEC成立了JVT(JointVideoTeam,視頻聯(lián)合工作組),以H.26L作為平臺(tái),致力于制定下一代視頻編碼標(biāo)準(zhǔn)。2003年5月,正式推出H.264/AVC新標(biāo)準(zhǔn),該標(biāo)準(zhǔn)的正式名稱為H.264/MPEG-4part10AVC。H.264/AVC標(biāo)準(zhǔn)的主要目標(biāo)是力求設(shè)計(jì)簡(jiǎn)單有效的編碼技術(shù),并具有高效的壓縮性能和易于網(wǎng)絡(luò)傳輸?shù)哪芰Γ詽M足日益增長(zhǎng)的“對(duì)話型”(移動(dòng)視頻電話、會(huì)議)、“非對(duì)話型”(視頻存儲(chǔ)、廣播以及流媒體等)以及數(shù)碼影院、視頻監(jiān)控等視頻應(yīng)用的場(chǎng)合。

1 H.264/AVC的基本編碼結(jié)構(gòu)

與早期的視頻編碼標(biāo)準(zhǔn)相同,H.264/AVC標(biāo)準(zhǔn)沒有明確定義一對(duì)完整的編解碼器,而是定義了編碼碼流的語法和對(duì)碼流進(jìn)行解碼的方法。H.264/AVC采用了與以往標(biāo)準(zhǔn)類似的運(yùn)動(dòng)估計(jì)/補(bǔ)償+分塊DCT變換的混合編碼框架。

H.264/AVC采用“返回基本”的思想去開發(fā)高性能的視頻編碼標(biāo)準(zhǔn),即采用現(xiàn)有的基本算法和結(jié)構(gòu),通過精心優(yōu)化計(jì)算流程和方法來取得更好的視頻編碼性能。與現(xiàn)有的H.261,H.263標(biāo)準(zhǔn)相比,H.264保持了編碼器的系統(tǒng)結(jié)構(gòu)不變,主要包括四個(gè)步驟:

(1)把一幀圖像劃分為小塊(Macro.Block及Block),每個(gè)小塊包含很多像素點(diǎn),把對(duì)整幅圖像的編碼分成對(duì)許多小塊的處理。

(2)通過對(duì)圖像塊的變換、量化和熵編碼(或變長(zhǎng)編碼),消除圖像中的空間冗余。

(3)由于相鄰的各幀圖像存在很大的相似性(即時(shí)間冗余),所以只需要將相鄰幀圖像間的變化進(jìn)行編碼傳送即可,這是通過運(yùn)動(dòng)搜索和運(yùn)動(dòng)補(bǔ)償實(shí)現(xiàn)的。對(duì)每一個(gè)編碼塊,通過搜索上一編碼幀(或之前的幾幀)的相應(yīng)位置來找到一個(gè)運(yùn)動(dòng)向量,這一向量將和幀間差值一起傳送,用于這一圖像塊的編解碼。

(4)殘余編碼:對(duì)于原始?jí)K和相應(yīng)的預(yù)測(cè)塊之間的差值進(jìn)行變換、量化和熵編碼,以去除當(dāng)前幀剩下的空間冗余。

但是與以前的編碼算法H.263相比,H.264加入了一些新的特性,以提高編碼效率。這些特征如下:

(1)對(duì)于進(jìn)行幀內(nèi)編碼的圖像,不是直接對(duì)原始圖像進(jìn)行變換、量化和編碼,而是首先采用多種不同的預(yù)測(cè)方法對(duì)圖像進(jìn)行預(yù)測(cè),然后對(duì)差值進(jìn)行上述處理,以取得更佳的編碼效率。

(2)在運(yùn)動(dòng)搜索和運(yùn)動(dòng)補(bǔ)償方面,H.264采用了從4x4到16×16共13種搜索塊進(jìn)行運(yùn)動(dòng)搜索,以提高匹配程度,采用1/4像素精度進(jìn)行搜索,以提高搜索精度。另外,根據(jù)對(duì)編碼延時(shí)的不同要求,H.264還可以對(duì)以前多個(gè)已編碼幀進(jìn)行運(yùn)動(dòng)搜索,以達(dá)到最佳效果。

(3)在變換編碼方面,H.264采用了4×4的整數(shù)變換(ICT)代替DCT變換,整數(shù)變換的效果接近DCT,但運(yùn)算量要少,而且在反變換過程中不會(huì)因計(jì)算精度的問題而引入誤差。

(4)在熵編碼過程中,H.264使用單一的變長(zhǎng)編碼(UVLC)和基于內(nèi)容的上下文變長(zhǎng)編碼(CAVLC)進(jìn)行編碼。

2 編碼結(jié)構(gòu)的分層處理

H.264的編碼結(jié)構(gòu)在概念上分為兩層。視頻編碼層(VideoCodingLayer,VCL)負(fù)責(zé)高效率的視頻壓縮能力;網(wǎng)絡(luò)適配層(NetworkAdaptionLayer,NAL)負(fù)責(zé)網(wǎng)絡(luò)的適配,即對(duì)不同網(wǎng)絡(luò)要有不同的適應(yīng)能力,例如以恰當(dāng)方式對(duì)數(shù)據(jù)進(jìn)行打包和傳送。H.264編碼器分層結(jié)構(gòu)如圖1所示。在VCL和NAL之間定義了一個(gè)基于分組方式的接口,打包和相應(yīng)的信令屬于NAL的一部分。這樣,高效率編碼和網(wǎng)絡(luò)適應(yīng)性的任務(wù)則分別由VCL,和NAL來完成。


VCL包括基于塊的運(yùn)動(dòng)補(bǔ)償混合編碼和一些新特性。NAL負(fù)責(zé)針對(duì)下層網(wǎng)絡(luò)的特性對(duì)數(shù)據(jù)進(jìn)行封裝,包括成幀,發(fā)信號(hào)給邏輯信道,利用同步信息等。NAL從VCL獲得數(shù)據(jù),包括頭信息、段結(jié)構(gòu)信息和實(shí)際凈荷信息(如果采用數(shù)據(jù)分割技術(shù),凈荷數(shù)據(jù)可能由幾部分組成)。NAL的任務(wù)就是要正確地將它們映射到傳輸協(xié)議上。NAL下面是各種具體的協(xié)議,如H.323,H.324等。NAL層的引入大大提高了H.264適應(yīng)復(fù)雜信道的能力。

JVT標(biāo)準(zhǔn)中的NAL定義了視頻編解碼器本身和外部的接口。它的基本單元是NALUs(NerworkAb-stractionLayerUnits)。這對(duì)實(shí)現(xiàn)許多現(xiàn)行網(wǎng)絡(luò)包的傳輸方式提供了很好的支持。

一個(gè)NALU由一個(gè)一字節(jié)的頭和包含特定類型句法元素的可變長(zhǎng)度比特串組成。一個(gè)NALU可以包含slice的編碼信息、隨機(jī)訪問點(diǎn)、參數(shù)集信息或補(bǔ)充增強(qiáng)信息等。NALU頭結(jié)構(gòu)如下:

NALU類型(T)是一個(gè)5比特的子段,指出該NALU單元是32種不同類型中的哪一種。類型1~12已被H.264定義,類型24~31可由H.264以外的其他標(biāo)準(zhǔn)使用。RTP載荷規(guī)范將采用其中的某些值來表示包聚合和包分割。其他值被保留待將來使用。

nal_reference_idc(R)用來標(biāo)記該NALU在重建過程中的重要程度。0表示該NALU不會(huì)被用作參考幀,因此允許解碼器或網(wǎng)關(guān)將之丟棄而不會(huì)引起錯(cuò)誤傳播。該值越高,表示該NALU中數(shù)據(jù)越重要。這就允許網(wǎng)絡(luò)節(jié)點(diǎn)根據(jù)該值有力保護(hù)重要數(shù)據(jù)。

forbidden_zero_bit(F)在編碼過程中置為0,當(dāng)網(wǎng)絡(luò)節(jié)點(diǎn)鑒別出NALU中的比特錯(cuò)誤時(shí),可以將該位置1。由于網(wǎng)絡(luò)環(huán)境不同,解碼器可能對(duì)包含比特錯(cuò)誤的NALU采取不同的操作,有的則干脆丟棄。for-biddenzerobit為這種操作提供了便利。

一些使用包傳輸?shù)木W(wǎng)絡(luò)能夠直接使用NALUs,把他們直接作為H.223AL3SDUs或RTP包的載荷即可。然而,在一些面向碼流的系統(tǒng)面前,如ITU-T的視頻會(huì)議建議H.320和數(shù)字電視中的MPEG-2傳輸流等,需要比特或字節(jié)流的格式。因此,JVT標(biāo)準(zhǔn)定義了一種從NALUs到碼流格式的變換,即把NALUs用起始碼字封裝起來,非常符合傳統(tǒng)的視頻編碼標(biāo)準(zhǔn),起始碼的字長(zhǎng)可以是16b或24b,這依賴于該NALU載荷的重要性。起始碼字僅會(huì)出現(xiàn)在十字節(jié)對(duì)準(zhǔn)的位置上,因此解碼器可以掃描起始碼字,用一種簡(jiǎn)單的u1向字節(jié)的內(nèi)存復(fù)制操作把NALUs提取出來。

為了防止字節(jié)流格式中的起始碼字發(fā)生競(jìng)爭(zhēng)現(xiàn)象,許多視頻編碼標(biāo)準(zhǔn)都非常謹(jǐn)慎地采用熵編碼方式。由于JVT標(biāo)準(zhǔn)包含兩種不同的熵編碼模式,所以這種起始碼字很少發(fā)生競(jìng)爭(zhēng)現(xiàn)象。JVT依靠一種字節(jié)填充機(jī)制,即通過在NALU中可能產(chǎn)生起始碼字競(jìng)爭(zhēng)的位置上插入非零字節(jié)來避免出現(xiàn)競(jìng)爭(zhēng)現(xiàn)象。為方便網(wǎng)關(guān)設(shè)計(jì),在一些看起來不必要的環(huán)境,尤其是包傳輸網(wǎng)絡(luò)中仍然執(zhí)行字節(jié)填充。由于VCL-NAL接口僅僅是概念上的,所以為防止起始碼字競(jìng)爭(zhēng),操作習(xí)慣上將其作為VCL熵編碼的一部分執(zhí)行。

H.264視頻流在誤碼、丟包多發(fā)的IP網(wǎng)絡(luò)上傳輸,增強(qiáng)了H.264視頻流的魯棒性。為了減少傳輸差錯(cuò),H.264視頻流中的時(shí)間同步可以通過采用幀內(nèi)圖像刷新來完成。空間同步由條結(jié)構(gòu)編碼(SliceStruc-turedCoding)來支持,同時(shí)為了便于誤碼以后的再同步,在一幀的視頻數(shù)據(jù)中還提供了一定的重同步點(diǎn)。另外,幀內(nèi)宏塊刷新和多參考幀模式可以使編碼器在決定宏塊模式時(shí)不僅考慮編碼效率,還考慮傳輸信道的特性。H.264中還定義了數(shù)據(jù)分割模式:圖像首先進(jìn)行分段,段內(nèi)宏塊數(shù)據(jù)劃分為宏塊頭信息、運(yùn)動(dòng)矢量和DCT系數(shù)三部分,且三部分之間由標(biāo)識(shí)符分隔。這樣,解碼器可較方便地檢測(cè)出受損數(shù)據(jù)的類型,減少誤碼對(duì)圖像質(zhì)量造成的損傷。這種數(shù)據(jù)分割的模式也利于信道編碼時(shí)進(jìn)行不等保護(hù),即對(duì)重要的數(shù)據(jù)進(jìn)行等級(jí)較高的保護(hù)。快速碼率控制可通過在宏塊層改變量化精度予以實(shí)現(xiàn)。

3nH.264的性能分析

通過實(shí)驗(yàn)來測(cè)試H.264的編碼性能,并通過與H.263的比較,觀察H.264的編碼效率。

3.1nH.264與H.263編碼性能比較

本試驗(yàn)對(duì)Grenadier Guards序列進(jìn)行測(cè)試,分別對(duì)H.264和H.263編碼的保真度、PSNR、宏塊編碼比特?cái)?shù)進(jìn)行比較,結(jié)果如下:

(1)保真度測(cè)試

通過殘差比較可以很清楚地看出,H.264重構(gòu)幀和參考幀的殘差比較平滑,基本沒有斑點(diǎn);而H.263的殘差比較明顯,尤其是在人物附近,由于運(yùn)動(dòng)量大,H.263使用半像素運(yùn)動(dòng)矢量估計(jì),而H.264提高到1/4像素,在1/4像素的基礎(chǔ)上再內(nèi)插,得到1/8像素精度的運(yùn)動(dòng)矢量,大大提高了圖像編碼的質(zhì)量,如圖2所示。



(2)PSNR測(cè)試(如圖2)

相對(duì)于H.263視頻編碼標(biāo)準(zhǔn),H.264在其增強(qiáng)預(yù)測(cè)編碼內(nèi)容的方法上做了改進(jìn),如場(chǎng)、幀編碼的自適應(yīng)選擇;變尺寸方塊的運(yùn)動(dòng)補(bǔ)償;高精度的運(yùn)動(dòng)補(bǔ)償;多參考幀運(yùn)動(dòng)補(bǔ)償;加權(quán)預(yù)測(cè);整數(shù)變換;自適應(yīng)熵編碼;環(huán)路去塊濾波等,這些大大提高了H.264的PSNR。由圖2可以看出,無論是亮度信號(hào),還是色差信號(hào),H.264的PSNR都比H.263的高。

(3)宏塊編碼比特?cái)?shù)

下面對(duì)H.264和H.263進(jìn)行更直觀的比較,如圖3所示,色條從藍(lán)到紅變化,表示比特?cái)?shù)的逐漸增加。比較結(jié)果如圖4,圖5所示。



對(duì)GrerladieGuards序列中第3幀圖像的宏塊進(jìn)行4×8編碼,每一個(gè)宏塊所用的比特?cái)?shù)都可以清楚地看出。通過比較發(fā)現(xiàn),H.264對(duì)宏塊編碼所用的比特?cái)?shù)比H.263平均少50%。尤其在運(yùn)動(dòng)物體附近,效果更加明顯,H.264使用了很多偏紅的色塊,而H.264更多的是偏藍(lán)色塊。基本靜止的背景圖案,兩者也有很多的差別。由此可見,H.264中很多是深藍(lán)色的宏塊,所用的比特?cái)?shù)在10比特左右,而H.263則偏向綠色,比特?cái)?shù)在20比特左右。通過比較還發(fā)現(xiàn),H.264的編碼效率比H.263高很多。

3.2 H.264編碼性能

3.2.1 多參考幀預(yù)測(cè)模式

對(duì)于多種類型的視頻序列來說,多參考幀預(yù)測(cè)模式可以有效地提高編碼性能,它通過在運(yùn)動(dòng)矢量中增加一個(gè)時(shí)域部分,而允許在宏塊級(jí)下從若干參考幀中選擇其中的一個(gè)。由于需要保持一個(gè)參考幀緩沖區(qū)域,因此增加了在編解碼器中對(duì)內(nèi)存的需求量。另外,額外參考幀的引入也使得搜索區(qū)域擴(kuò)大,從而顯著提高了編碼器端在運(yùn)動(dòng)估計(jì)過程中計(jì)算的復(fù)雜度。本實(shí)驗(yàn)中Foreman視頻序列使用UVLC熵編碼,1/4像素運(yùn)動(dòng)矢量精度,搜索范圍為16像素。

圖6為使用不同參考幀數(shù)M對(duì)亮度分量峰值信噪比的影響。




試驗(yàn)表明,多參考幀的使用,能平均節(jié)省10%的比特率。同樣,多參考幀的使用也與具體的序列內(nèi)容有關(guān),高比特率的序列將大大提高圖像的PSNR。

3.2.2 雙向預(yù)測(cè)模式

H.264以前的視頻編碼標(biāo)準(zhǔn)一般都采用多假設(shè)預(yù)測(cè)模式,而H.264使用的雙向預(yù)測(cè)模式,它是一對(duì)前向/后向預(yù)測(cè)幀的線性組合。前后向預(yù)測(cè)又都可以包含多個(gè)參考幀,同時(shí),它又分為雙向預(yù)測(cè)信號(hào)的獨(dú)立估計(jì)和聯(lián)合估計(jì)。其中,聯(lián)合估計(jì)可以大大改進(jìn)編碼的效率。

本實(shí)驗(yàn)中Foreman視頻序列使用UVLC熵編碼,1/4像素運(yùn)動(dòng)矢量精度,搜索范圍為16像素。圖7為使用獨(dú)立估計(jì)和聯(lián)合估計(jì)對(duì)亮度分量峰值信噪比的影響。圖7是重構(gòu)B幀時(shí)幀比特率與亮度分量峰值信噪比的關(guān)系,選擇5個(gè)前向預(yù)測(cè)幀和3個(gè)后向預(yù)測(cè)幀,則由圖可以看出,聯(lián)合估計(jì)的性能比獨(dú)立估計(jì)的高。線性雙向預(yù)測(cè)模式不僅利用了抑止噪聲的組件,還提供了消除波峰的功能。假設(shè)當(dāng)前幀中有一個(gè)物體將在后續(xù)幀中出現(xiàn),而未在前面的幀中出現(xiàn),那么,增加前向參考幀就不能提高編碼效率,而增加后向參考幀就能大大提高編碼效率。



3.2.3 熵編碼

H.264有兩種不同的熵編碼模式:通用可變長(zhǎng)編碼(UVLC)和基于上下文的自適應(yīng)二進(jìn)制算術(shù)編碼(CABAC)。UVLC只使用一個(gè)可變長(zhǎng)的代碼去編碼所有二進(jìn)制的語法元素,而CABAC則采用上下文模式和基于條件概率與符號(hào)統(tǒng)計(jì)的自適應(yīng)算法。UVLC算法簡(jiǎn)單,在付出很低的計(jì)算成本時(shí)就能取得很好的壓縮效率。CABAC計(jì)算復(fù)雜度高,但它能夠大大節(jié)省比特率。

本實(shí)驗(yàn)中Foreman視頻序列使用1/4像素運(yùn)動(dòng)矢量精度,搜索范圍為16像素。圖8為使用UVLC和CABAC對(duì)亮度分量峰值信噪比的影響。



試驗(yàn)表明,CABAC能大大降低比特率,在取得相同的亮度分量峰值信噪比時(shí),CABAC比UVCL平均節(jié)省15%的比特率。在高比特率的序列中,常使用多參考幀和CABAC聯(lián)合編碼,多參考幀能提高運(yùn)動(dòng)估計(jì)補(bǔ)償?shù)男剩珻ABLC能自適應(yīng)地根據(jù)上下文進(jìn)行熵編碼,從而大大提高編碼器的性能。

4 結(jié)語

文章對(duì)新一代視頻編碼標(biāo)準(zhǔn)H.264/AVC進(jìn)行全面的分析和研究,總體上按照H.264/AVC結(jié)構(gòu)化的編碼思想,對(duì)分視頻編碼層和網(wǎng)絡(luò)適配層進(jìn)行了分析,特別對(duì)H.264/AVC的編碼中所采用的新技術(shù)進(jìn)行了仿真研究,如編碼的效率、多參考幀、通用可變長(zhǎng)編碼(UVLC)和基于上下文的自適應(yīng)二進(jìn)制算術(shù)編碼(CABAC)、運(yùn)動(dòng)補(bǔ)償?shù)龋⒔o出實(shí)驗(yàn)結(jié)果,充分說明了新一代視頻編碼標(biāo)準(zhǔn)H.264/AVc的編碼效率比以前的編碼標(biāo)準(zhǔn)(如H.263)在編碼效率上提高了很多。當(dāng)然,新一代視頻編碼標(biāo)準(zhǔn)H.264/AVc雖然優(yōu)點(diǎn)明顯,但許多優(yōu)點(diǎn)是以犧牲計(jì)算復(fù)雜度換來的。因此在降低計(jì)算復(fù)雜度的同時(shí),能達(dá)到更高的編碼效率將是下一步研究的重點(diǎn)。
本文地址:http://m.qingdxww.cn/thread-31477-1-1.html     【打印本頁(yè)】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專區(qū)
  • 使用SAM-IoT Wx v2開發(fā)板演示AWS IoT Core應(yīng)用程序
  • 使用Harmony3加速TCP/IP應(yīng)用的開發(fā)培訓(xùn)教程
  • 集成高級(jí)模擬外設(shè)的PIC18F-Q71家族介紹培訓(xùn)教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)在線工具

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 成人一级黄色毛片 | 在线观看免费精品国自产 | 久久精品99精品免费观看 | 欧美的高清视频在线观看 | 99久久久国产精品免费播放器 | 在线免费观看毛片 | 看一级毛片免费观看视频 | 国产性大片黄在线观看在线放 | 日韩黑丝| 春日迟迟再出发最新一期在线观看 | 在线精品视频成人网 | 国产永久免费爽视频在线 | wwxx在线观看免费 | 在线观看成年美女黄网色视频 | 亚洲天堂男人在线 | 亚洲第一区精品日韩在线播放 | 在线日本中文字幕 | 2021国产精品视频一区 | 一级骚片超级骚在线观看 | 青青草香蕉 | 级毛片久久久毛片精品毛片 | 九九视频九九热 | 欧美日韩片| 99久久影视 | 国产大片中文字幕 | 国产一级一片免费播放i | 国产高清一级在线观看 | 中文字幕日韩wm二在线看 | 国产福利小视频在线播放观看 | 亚洲国产乱码在线精品 | 日本在线观看的免费 | 亚洲影视久久 | 国产精品久久久香蕉 | 欧美日韩精品国产一区在线 | 男女羞羞的视频网站在线观看 | 成人亚洲欧美日韩中文字幕 | 久热免费在线观看 | 国产一级 黄 片 | 精东影业精东影业果冻传媒 | 毛片福利 | 厚颜无耻韩国动漫免费观看5 |