H.264的技術優(yōu)勢在H.323系統(tǒng)中的應用
本文以適用于在IP網上提供多媒體業(yè)務的H.323系統(tǒng)為主進行闡述。H.264是由JVT為實現視頻的更高壓縮比,更好的圖像質量和良好的網絡適應性而提出的新的視頻編解碼標準。事實證明,H.264編碼更加節(jié)省碼流,它內在的抗丟包、抗誤碼能力和良好網絡適應性使它非常適于IP傳輸,H.264有望成為H.323系統(tǒng)中首選的視頻標準。
本文引用地址:http://cafeforensic.com/article/166051.htmH.323系統(tǒng)對視頻編解碼標準提出了以下三個主要要求:
(1)一些IP網絡接入方式如xDSL可提供的帶寬有限,除去音頻、數據占用的帶寬,傳輸視頻的可用帶寬就更少,這就要求視頻編解碼壓縮率高,這樣就可以在一定的比特率下具有更好的圖像質量。
(2)抗丟包性能和抗誤碼性能好,適應各種網絡環(huán)境,包括丟包和誤碼嚴重的無線網絡。
(3)網絡適應性好,便于視頻流在網絡中傳輸。
二、H.264適于H.323系統(tǒng)的三個技術優(yōu)勢
H.264在制定時充分考慮了多媒體通信對視頻編解碼的各種要求,并借鑒了以往視頻標準的研究成果,因而具有明顯的優(yōu)勢。以下將結合H.323系統(tǒng)對視頻編解碼技術的要求,闡述H.264的三個優(yōu)勢。
1. 壓縮率和圖像質量方面
對傳統(tǒng)的幀內預測、幀間預測、變換編碼和熵編碼等算法的改進,使H.264的編碼效率和圖像質量在以往標準的基礎上進一步提高。
(1)可變塊大?。簬g預測時可以靈活選擇塊的大小。在宏塊(MB)劃分上H.264采用了16×16,16×8,8×16,8×8四種模式;當劃分為8×8模式時,又可進一步采用8×4、4×8、4×4三種子宏塊劃分模式進一步劃分,這樣可以使運動物體的劃分更加精確,減小預測誤差,提高編碼效率。幀內預測一般采取兩種亮度預測模式:Intra_4×4和Intra_16×16。Intra_4×4適合圖像中細節(jié)豐富的區(qū)域,而Intra_16×16模式更適合粗糙的圖像區(qū)域。
(2)高精度運動估值:在H.264中亮度信號運動補償預測的精度是1/4像素。如果運動矢量指向參考圖像的整像素位置,預測值就是該位置上參考圖像像素的值;否則使用6階FIR濾波器的線性內插獲得1/2像素位置的預測值,通過取整數和1/2像素位置像素值均值的方式獲得1/4像素位置的值。顯然采用高精度運動估計會進一步減小幀間預測誤差。
(3)多參考幀運動估值:每一個M×N亮度塊都要經過運動補償預測得到運動矢量和參考圖像索引,子宏塊中的每個子宏塊劃分都會有不同的運動矢量。選擇參考圖像過程是在子宏塊層次上進行的,因而一個子宏塊中的多個子宏塊劃分在預測時使用相同的參考圖像,而同一個slice的多個子宏塊之間選擇的參考圖像可以不同,這就是多參考幀運動估值。
(4)參考圖像的選取更加靈活:參考圖像甚至可以是采用雙向預測編碼方式的圖像,這就允許選取與當前圖像更加匹配的圖像為參考圖像進行預測,從而可以減小預測誤差。
(5)加權預測:允許編碼器以一定的系數對運動補償預測值進行加權,從而在一定的場景下可以提高圖像質量。
(6)運動補償循環(huán)內的消除塊效應濾波器:為消除在預測和變換過程中引入的塊效應,H.264也采用了消除塊效應濾波器,但不同的是H.264的消除塊效應濾波器位于運動估計循環(huán)內部,因而可以利用消除塊效應以后的圖像去預測其他圖像的運動,從而進一步提高預測精度。
2. 抗丟包和抗誤碼方面
參數集、片的使用、FMO、冗余片等關鍵技術的使用可以大大提高系統(tǒng)的抗丟包和抗誤碼性能。
(1)參數集:參數集及其靈活的傳送方式會大大降低因關鍵的頭信息丟失而造成錯誤發(fā)生的可能。為保證參數集可靠地到達解碼器端,可以采用重發(fā)的方式多次發(fā)送同一參數集,或傳送多個參數集。
(2)片(slice)的使用:圖像可以劃分成一個或幾個片。將圖像劃分為多個片,當某一片不能正常解碼時的空間視覺影響就會大大降低,而且片還提供了重同步點。
(3)PAFF和MBAFF:當對隔行掃描圖像進行編碼時,由于兩個場之間存在較大的掃描間隔,這樣,對運動圖像來說幀中相鄰兩行的空間相關性相對于逐行掃描時就會減小,這時對兩個場分別進行編碼會更節(jié)省碼流。對幀來說,存在三種可選的編碼方式,將兩場合并作為一幀進行編碼或將兩場分別編碼或將兩場合并起來作為一幀,但不同的是將幀中垂直相鄰的兩個宏塊合并為宏塊對進行編碼。前兩種稱為PAFF編碼,對運動區(qū)域進行編碼時場方式有效,非運動區(qū)域由于相鄰兩行有較大的相關性,因而幀方式會更有效。當圖像同時存在運動區(qū)域和非運動區(qū)域時,在MB層次上,對運動區(qū)域采取場方式,對非運動區(qū)域采取幀方式會更加有效,這種方式就稱為MBAFF。
(4)FMO:通過FMO可以進一步提高片的差錯恢復能力。通過片組(slice group)的使用,FMO改變了圖像劃分為片和宏塊的方式。宏塊到片組的映射定義了宏塊屬于哪一個片組。利用FMO技術,H.264定義了七種宏塊掃描模式。
(1)幀內預測:H.264借鑒了以往視頻編解碼標準在幀內預測上的經驗,值得注意的是,在H.264中,IDR圖像可以使參考圖像緩存無效,之后的圖像在解碼時不再參考IDR圖像之前的圖像,因而IDR圖像具有很好的重同步作用。在一些丟包和誤碼嚴重的信道中,可以采取不定期傳送IDR圖像的方式進一步提高H.264的抗誤碼和抗丟包性能。
(2)冗余圖像:為提高H.264的解碼器在發(fā)生數據丟失時的頑健性,可以采用傳送冗余圖像的方式。當基本圖像丟失時,可以通過冗余圖像重構原圖像。
(3)數據劃分:由于運動矢量和宏塊類型等信息相對于其他信息具有更高的重要性,因而在H.264中引入了數據劃分的概念,將片中語義彼此相關的語法元素放在同一個劃分中。在H.264中有三類不同的數據劃分,三類數據劃分分開傳送,若第二類或第三類劃分的信息丟失,使用差錯恢復工具仍然可以通過第一類劃分中的信息對丟失信息進行適當恢復。
(4)多參考幀運動估值:多參考幀運動估值不但可以提高編碼器的編碼效率,還可以提高差錯恢復能力。在H.323系統(tǒng)中,通過使用RTCP,當編碼器得知有參考圖像丟失時,可以選擇解碼器已經正確接收的圖像作為參考圖像。
(5)為阻止錯誤在空間上的蔓延,解碼器端可以指定當P片或B片中的宏塊在做幀內預測時不使用相鄰的非幀內編碼宏塊作為參考。
3. 網絡適應性方面
為適應各種網絡環(huán)境和應用場合,H.264定義了視頻編碼層(VCL)和網絡提取層(NAL)。其中VCL功能是進行視頻編解碼,包括運動補償預測,變換編碼和熵編碼等功能;NAL用于采用適當的格式對VCL視頻數據進行封裝打包。
(1)NAL Units:視頻數據封裝在整數字節(jié)的NALU中,它的第一個字節(jié)標志該單元中數據的類型。H.264定義了兩種封裝格式。基于包交換的網絡(如H.323系統(tǒng))可以使用RTP封裝格式封裝NALU。而另外一些系統(tǒng)可能要求將NALU作為順序比特流傳送,為此H.264定義了一種比特流格式的傳輸機制,使用start_code_prefix將NALU封裝起來,從而確定NAL邊界。
(2)參數集:以往視頻編解碼標準中GOBGOP圖像等頭信息是至關重要的,包含這些信息的包的丟失常導致與這些信息相關的圖像不能解碼。為此H.264將這些很少變化并且對大量VCL NALU起作用的信息放在參數集中傳送。參數集分為兩種,即序列參數集和圖像參數集。為適應多種網絡環(huán)境,參數集可以帶內傳送,也可以采用帶外方式傳送。
三、在H.323系統(tǒng)中實現H.264
由于H.264是一種新的視頻編解碼標準,在H.323體系中應用H.264存在一些問題,比如如何在H.245能力協商過程中定義實體的H.264能力,因此必須對H.323標準進行必要的補充和修改。為此,ITU-T制定了H.241標準。本文僅介紹與H.323相關的修改。
首先,要規(guī)定如何在H.245能力協商過程中定義H.264能力。H.264能力集是一個包含一個或多個H.264能力的列表,每一個H.264能力都包含Profile和Level兩個必選參數和CustomMaxMBPS、CustomMaxFS等幾個可選參數。在H.264中,Profile用于定義生成比特流的編碼工具和算法,Level則是對一些關鍵的參數要求。H.264能力包含在GenericCapability結構中,其中CapabilityIdentifier的類型為standard,值為0.0.8.241.0.0.1,用于標識H.264能力。MaxBitRate用于定義最大比特率。Collapsing字段包含H.264能力參數。Collapsing字段第一個條目是Profile,ParameterIdentifier類型為standard,值為41,用于標識Profile,ParameterValue類型為booleanArray,其值標識Profile,可以為64、32或16,這三個值依次表示Baseline、Main和Extended三個Profile;Collapsing字段第二個條目是Level,ParameterIdentifier類型為standard,值為42,用于標識Level,ParameterValue類型為unsignedMin,其值標識H.264 AnnexA中定義的15個可選的Level值。其他的幾個參數作為可選項出現.
其次,由于H.264中圖像的組織結構與傳統(tǒng)的標準不同,一些原有的H.245信令不在適用于H.264,如MiscellaneousCommand中的videoFastUpdateGOB等,因此H.241重新定義了幾個信令提供相應功能。
最后,H.264的RTP封裝參考RFC 3550,載荷類型(PT)域未作規(guī)定。
四、結束語
作為一種新的國際標準,H.264在編碼效率、圖像質量、網絡適應性和抗誤碼方面都取得了成功。但隨著終端和網絡的快速發(fā)展,對視頻編解碼的要求在不斷提高,因此H.264仍在繼續(xù)地完善和發(fā)展以適應新的要求。現在對H.264的研究主要集中在如何進一步降低編解碼時延、算法優(yōu)化和進一步提高圖像質量上。目前,使用H.264進行編解碼的視頻會議系統(tǒng)越來越多,大多數做到了在Baseline Profile上的互通。隨著H.264自身的不斷完善和視頻通信的不斷普及,相信H.264的應用將越來越廣泛。
評論