H.264標準及其在視頻會(huì )議系統應用
2005/03/25
1、引言
圖1 宏塊劃分和子宏塊劃分
(2)1/4像素精度的運動(dòng)估值。在H.264中通過(guò)6階FIR濾波器的內插獲得1/2像素位置的預測值。當1/2像素值獲得后,通過(guò)取整數像素位置和1/2像素位置像素值均值的方式獲得1/4像素位置的值。采用高精度運動(dòng)估計會(huì )進(jìn)一步減小幀間預測誤差,減少了經(jīng)變換和量化后的非O比特數,提高了編碼效率。
(3)多參考幀運動(dòng)估值。以往的編解碼技術(shù)在對P幀(場(chǎng))圖像進(jìn)行幀間預測時(shí),只允許以前一個(gè)I圖像或P圖像為參考幀,對B圖像進(jìn)行預測時(shí)只允許以前后兩個(gè)I圖像或P圖像為參考圖像。H.264則打破了這些限制,允許在Reference
Buffer中的多個(gè)圖像中選取一個(gè)(P預測方式)或兩個(gè)(B預測方式)圖像作為參考圖像,參考圖像甚至可以是采用雙向預測編碼方式的圖像。
(4)參考圖像的選取與其編碼方式無(wú)關(guān)。允許選取與當前圖像更加匹配的圖像為參考圖像進(jìn)行預測,減小了預測誤差,提高編碼效率。
(5)加權預測。允許編碼器以一定的系數對運動(dòng)補償預測值進(jìn)行加權,從而在一定的場(chǎng)景下可以提高圖像質(zhì)量。
(6)Intra_4×4模式的幀間預測。在這種模式下,每個(gè)4×4塊都可以利用其上方和左側的17個(gè)最接近的像素進(jìn)行預測。
(7)循環(huán)內的消除塊效應濾波器。為消除在預測和變換過(guò)程中引入的塊效應,H.264也采用了消除塊效應濾波器,但與以往標準不同的是,H.264的消除塊效應濾波器位于運動(dòng)估計循環(huán)內部,可以利用消除塊效應以后的圖像去預測其它圖像的運動(dòng),進(jìn)一步提高預測精度。濾波強度取決于宏塊的預測方式、量化參數、運動(dòng)矢量等。量化步長(cháng)減小時(shí),濾波器的作用也會(huì )相應降低。
(8)更好的熵編碼算法CAVLC和CABAC。
3.2 網(wǎng)絡(luò )適應性方面
為了方便地在各種系統中靈活有效的應用H.264,H.264編解碼系統(見(jiàn)圖2)定義了視頻編碼層VCL和網(wǎng)絡(luò )提取層NAL。其中,VCL用于視頻編解碼,包括運動(dòng)補償,變換編碼和熵編碼等單元,NAL用于采用統一的格式對VCL視頻數據的進(jìn)行封裝打包。
圖2 H.264編碼器結構
(1)NAL Units。視頻數據封裝在整數字節的NALU中,它的第一個(gè)字節標志該單元中數據的類(lèi)型。H.264定義了兩種封裝格式。基于包交換的網(wǎng)絡(luò )系統可以使用RTP封裝格式封裝NALU,并且可以通過(guò)在NALU后面增加一個(gè)16位的信息域的方式將多個(gè)NALU放在一個(gè)RTP中傳輸。另一些系統,如H.320系統或MPEG-2系統可能會(huì )要求將NALU作為順序比特流傳送,為方便在這些系統中使用H.264,H.264定義了一種比特流格式的傳輸機制,使用頭編碼前綴(start
code prefix)將NALU封裝起來(lái),并用一個(gè)有限狀態(tài)機來(lái)保證頭編碼前綴不會(huì )出現在它封裝的NALU中,防止了錯誤定界的發(fā)生。
(2)參數集。在以往視頻編解碼標準中,GOB\GOP\圖像頭信息是至關(guān)重要的,包含這些信息的包的丟失將直接導致與這些信息相關(guān)的數據不可用,因此這些標準大都采用了冗余編碼技術(shù)來(lái)保護這些頭信息。為解決這些問(wèn)題,H.264將這些很少變化并且對大量VCL
NALU起作用的信息放在參數集中傳送。參數集分為兩種,即序列參數集sequence parameter set和圖像參數集picture parameter
set,前者對一系列連續編碼圖像起作用,后者對連續編碼圖像序列中的單獨圖像起作用。VCL NALU通過(guò)標識位來(lái)指定它所參考的參數集。為適應多種網(wǎng)絡(luò )環(huán)境,參數集可以帶內傳送,也可以采用帶外方式傳送。
3.3 抗丟包和抗誤碼方面
在H.264中,參數集,片的使用,FMO,冗余片等關(guān)鍵技術(shù)的使用可以大大提高系統的抗丟包和抗誤碼性能。
(1)參數集的使用。參數集及其靈活傳送方式的使用本身會(huì )大大降低因關(guān)鍵的頭信息丟失而造成錯誤發(fā)生的可能。為保證參數集可靠的到達解碼器端,可以采用重發(fā)的方式多次發(fā)送同一參數集,傳送多個(gè)參數集或將參數集固化在解碼器中。
(2)片(slice)的使用。在不使用FMO時(shí),片是一系列宏塊按照光柵掃描順序的組合。圖像可以劃分成一個(gè)或幾個(gè)片。片是獨立的,也就是說(shuō),在編碼器和解碼器使用的參考圖像一致的情況下,只要給定序列參數集和圖像參數集,片的語(yǔ)法元素和該片圖像采樣值就可以從碼流中解析出來(lái),而不需要其他片的數據(片邊緣消除塊效應濾波過(guò)程可能會(huì )需要其他相鄰片的數據)。將圖像劃分為多個(gè)片,當某一片不能正常解碼時(shí)的空間視覺(jué)影響就會(huì )大大降低,而且片的頭部還提供了重同步點(diǎn)。
(3)FMO技術(shù)。通過(guò)FMO可以進(jìn)一步提高片的差錯恢復能力。通過(guò)片組(slice group)的使用,FMO改變了圖像劃分為片和宏塊的方式。宏塊到片組的映射定義了宏塊屬于哪一個(gè)片組。利用FMO技術(shù),H.264定義了7種宏塊掃描模式。
如圖3所示,陰影部分宏塊屬于片組0,白色部分屬于片組1。假設片組O在傳輸過(guò)程中丟失,由于丟失宏塊的相鄰宏塊都屬于片組1,這樣差錯恢復工具就會(huì )有更多的可利用信息來(lái)恢復丟失片的數據。
圖3 一種宏塊掃描模式
(4)幀內預測。H.264借鑒了以往視頻編解碼標準在幀內預測上的經(jīng)驗,值得注意的是,在H.264中,IDR圖像可以使短期參考圖像緩存無(wú)效,之后的圖像解碼時(shí)不再參考IDR圖像之前的圖像,因而IDR圖像具有強壯的重同步性能。在一些丟包和誤碼嚴重的信道中,可以采取不定期傳送IDR圖像的方式進(jìn)一步提高H.264的抗誤碼和抗丟包性能。
(5)冗余片。為提高H.264的解碼器在發(fā)生數據丟失時(shí)的健壯性,可以采用傳送冗余片的方式。這些冗余片可以是基本圖像的一部分。冗余片和基本片可以采用不同的編碼參數,當基本片丟失時(shí),可以通過(guò)冗余片重構原圖像。
(6)數據劃分。由于運動(dòng)矢量和宏塊類(lèi)型等信息相對于其他信息具有更高的重要性,因而在H.264中引入了數據劃分的概念,將片中語(yǔ)義彼此相關(guān)的語(yǔ)法元素放在同一個(gè)劃分中。在H.264中有三種不同的數據劃分。第一類(lèi)劃分中包含頭信息等重要信息,如宏塊類(lèi)型、量化參數和運動(dòng)矢量等,稱(chēng)為A類(lèi)劃分。第二類(lèi)劃分包含幀內CPB和幀內系數,稱(chēng)為B類(lèi)劃分。第三類(lèi)劃分包含幀間CBPs和幀間系數,稱(chēng)為C類(lèi)劃分。若解碼器發(fā)現幀內信息或幀間信息丟失,由于宏塊類(lèi)型和運動(dòng)矢量等重要信息的存在,仍然可以使差錯恢復工具具有良好的性能。
(7)多參考幀運動(dòng)估值。多參考幀運動(dòng)估值的一個(gè)作用是可以提高編碼器的編碼效率,另一個(gè)作用是提高差錯恢復能力。在有反饋的系統(如采用RTP/RTCP作為應用層傳輸協(xié)議的通信系統)中,當編碼器得知有圖像丟失時(shí),可以選擇解碼器已經(jīng)正確接收的圖像作為參考圖像。
(8)為阻止錯誤在空間上的蔓延,解碼器端可以指定當P片或B片中的宏塊在做幀內預測時(shí)不使用相鄰的非幀內編碼宏塊作為參考。
4、在H.323系統中實(shí)現H.264
由于H.264是一種新的視頻編解碼標準,與以往標準在體系結構等方面有諸多差異,在H.323體系中應用H.264存在一些問(wèn)題,比如如何在H.245能力協(xié)商過(guò)程中正確協(xié)商端點(diǎn)之間的H.264能力和參數,因此必須對H.323標準的進(jìn)行必要補充和修改。為此,ITU-T制定了H.241標準。H.241標準定義了如何在原有的H.300系列終端間應用H.264視頻編解碼標準進(jìn)行通信,廢除了一一些不再適合H.264使用的信令,重新定義了一些擴展信令來(lái)支持H.264。本文僅介紹與H.323相關(guān)的修改。
(1)如何在H.245能力協(xié)商過(guò)程中協(xié)商H.264能力。H.264能力集是一個(gè)包含一個(gè)或多個(gè)H.264能力的列表,每一個(gè)H.264能力都包含Profile和Level兩個(gè)必選參數和CustomMaxMBPS,CustomMaxFS等幾個(gè)可選參數。在H.264中,Profile用于定義生成比特流的編碼工具和算法,Level則定義一些關(guān)鍵的參數。H.264能力包含在GenericCapability結構中,其中CapabilityIdentifier的類(lèi)型為standard,值為0.O.8.241.O.O.1,用于標識H.241能力。MaxBitRate用于定義最大比特率。Collapsing字段包含H.264能力參數。
泰爾網(wǎng)
國外IPTV如火如荼與國內雷大雨小的反思 2005-03-25 |
電視與網(wǎng)絡(luò )優(yōu)勢互補的最佳傳媒結合體 2005-03-25 |
3G基礎知識及3G/視頻產(chǎn)品應用 2005-03-24 |
移動(dòng)視頻發(fā)展的誤區 2005-03-21 |
視訊技術(shù)與視訊業(yè)務(wù)分析 2005-03-04 |