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