H.264的技術優勢及其在H.323系統中的應用
一、引言
近年來,隨著我國通訊網路基礎設施的快速建設,視訊業務由於可以為處於多點的與會者提供音視訊等多種資訊,節省大量費用,提高工作效率,因而發 展迅速,並有望成為NGN的主要業務。視訊會議系統從產生至今,發展了多種適於各類通訊網路的系統,目前傳輸多媒體資訊的主要有H.323、H.324和 H.320等系統。IP技術的開放性特點使得它非常適合承載多種業務,隨著IP的安全和QoS等問題的逐步解決,以IP作為承載網的優勢將更加明顯,下一 代網路也將採用IP技術作為承載網技術。因此,本文以適用於在IP網上提供多媒體業務的H.323系統為主進行闡述。H.264是由JVT為實現視訊的更 高壓縮比,更好的影象質量和良好的網路適應性而提出的新的視訊編解碼標準。事實證明,H.264編碼更加節省碼流,它內在的抗丟包、抗誤碼能力和良好網路 適應性使它非常適於IP傳輸,H.264有望成為H.323系統中首選的視訊標準。
H.323系統對視訊編解碼標準提出了以下三個主要要求:
(1)一些IP網路接入方式如xDSL可提供的頻寬有限,除去音訊、資料佔用的頻寬,傳輸視訊的可用頻寬就更少,這就要求視訊編解碼壓縮率高,這樣就可以在一定的位元率下具有更好的影象質量。
(2)抗丟包效能和抗誤碼效能好,適應各種網路環境,包括丟包和誤碼嚴重的無線網路。
(3)網路適應性好,便於視訊流在網路中傳輸。
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script> |
二、H.264適於H.323系統的三個技術優勢
H.264在制定時充分考慮了多媒體通訊對視訊編解碼的各種要求,並借鑑了以往視訊標準的研究成果,因而具有明顯的優勢。以下將結合H.323系統對視訊編解碼技術的要求,闡述H.264的三個優勢。
1. 壓縮率和影象質量方面
對傳統的幀內預測、幀間預測、變換編碼和熵編碼等演算法的改進,使H.264的編碼效率和影象質量在以往標準的基礎上進一步提高。
(1)可變塊大小:幀間預測時可以靈活選擇塊的大小。在巨集塊(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適合影象中細節豐富的區域,而 Intra_16×16模式更適合粗糙的影象區域。
(2)高精度運動估值:在H.264中亮度訊號運動補償預測的精度是1/4畫素。如果運動向量指向參考影象的整畫素位置,預測值就是該位置上參 考影象畫素的值;否則使用6階FIR濾波器的線性內插獲得1/2畫素位置的預測值,通過取整數和1/2畫素位置畫素值均值的方式獲得1/4畫素位置的值。 顯然採用高精度運動估計會進一步減小幀間預測誤差。
(3)多參考幀運動估值:每一個M×N亮度塊都要經過運動補償預測得到運動向量和參考影象索引,子巨集塊中的每個子巨集塊劃分都會有不同的運動矢 量。選擇參考影象過程是在子巨集塊層次上進行的,因而一個子巨集塊中的多個子巨集塊劃分在預測時使用相同的參考影象,而同一個slice的多個子巨集塊之間選擇的 參考影象可以不同,這就是多參考幀運動估值。
(4)參考影象的選取更加靈活:參考影象甚至可以是採用雙向預測編碼方式的影象,這就允許選取與當前影象更加匹配的影象為參考影象進行預測,從而可以減小預測誤差。
(5)加權預測:允許編碼器以一定的係數對運動補償預測值進行加權,從而在一定的場景下可以提高影象質量。
(6)運動補償迴圈內的消除塊效應濾波器:為消除在預測和變換過程中引入的塊效應,H.264也採用了消除塊效應濾波器,但不同的是H.264的消除塊效應濾波器位於運動估計迴圈內部,因而可以利用消除塊效應以後的影象去預測其他影象的運動,從而進一步提高預測精度。
2. 抗丟包和抗誤碼方面
引數集、片的使用、FMO、冗餘片等關鍵技術的使用可以大大提高系統的抗丟包和抗誤碼效能。
(1)引數集:引數集及其靈活的傳送方式會大大降低因關鍵的頭資訊丟失而造成錯誤發生的可能。為保證引數集可靠地到達解碼器端,可以採用重發的方式多次傳送同一引數集,或傳送多個引數集。
(2)片(slice)的使用:影象可以劃分成一個或幾個片。將影象劃分為多個片,當某一片不能正常解碼時的空間視覺影響就會大大降低,而且片還提供了重同步點。
(3)PAFF和MBAFF:當對隔行掃描影象進行編碼時,由於兩個場之間存在較大的掃描間隔,這樣,對運動影象來說幀中相鄰兩行的空間相關性 相對於逐行掃描時就會減小,這時對兩個場分別進行編碼會更節省碼流。對幀來說,存在三種可選的編碼方式,將兩場合並作為一幀進行編碼或將兩場分別編碼或將 兩場合並起來作為一幀,但不同的是將幀中垂直相鄰的兩個巨集塊合併為巨集塊對進行編碼。前兩種稱為PAFF編碼,對運動區域進行編碼時場方式有效,非運動區域 由於相鄰兩行有較大的相關性,因而幀方式會更有效。當影象同時存在運動區域和非運動區域時,在MB層次上,對運動區域採取場方式,對非運動區域採取幀方式 會更加有效,這種方式就稱為MBAFF。
(4)FMO:通過FMO可以進一步提高片的差錯恢復能力。通過片組(slice group)的使用,FMO改變了影象劃分為片和巨集塊的方式。巨集塊到片組的對映定義了巨集塊屬於哪一個片組。利用FMO技術,H.264定義了七種巨集塊掃描模式。
(1)幀內預測:H.264借鑑了以往視訊編解碼標準在幀內預測上的經驗,值得注意的是,在H.264中,IDR影象可以使參考影象快取無效, 之後的影象在解碼時不再參考IDR影象之前的影象,因而IDR影象具有很好的重同步作用。在一些丟包和誤碼嚴重的通道中,可以採取不定期傳送IDR影象的 方式進一步提高H.264的抗誤碼和抗丟包效能。
(2)冗餘影象:為提高H.264的解碼器在發生資料丟失時的頑健性,可以採用傳送冗餘影象的方式。當基本影象丟失時,可以通過冗餘影象重構原影象。
(3)資料劃分:由於運動向量和巨集塊型別等資訊相對於其他資訊具有更高的重要性,因而在H.264中引入了資料劃分的概念,將片中語義彼此相關 的語法元素放在同一個劃分中。在H.264中有三類不同的資料劃分,三類資料劃分分開傳送,若第二類或第三類劃分的資訊丟失,使用差錯恢復工具仍然可以通 過第一類劃分中的資訊對丟失資訊進行適當恢復。
(4)多參考幀運動估值:多參考幀運動估值不但可以提高編碼器的編碼效率,還可以提高差錯恢復能力。在H.323系統中,通過使用RTCP,當編碼器得知有參考影象丟失時,可以選擇解碼器已經正確接收的影象作為參考影象。
(5)為阻止錯誤在空間上的蔓延,解碼器端可以指定當P片或B片中的巨集塊在做幀內預測時不使用相鄰的非幀內編碼巨集塊作為參考。
3. 網路適應性方面
為適應各種網路環境和應用場合,H.264定義了視訊編碼層(VCL)和網路提取層(NAL)。其中VCL功能是進行視訊編解碼,包括運動補償預測,變換編碼和熵編碼等功能;NAL用於採用適當的格式對VCL視訊資料進行封裝打包。
(1)NAL Units:視訊資料封裝在整數字節的NALU中,它的第一個位元組標誌該單元中資料的型別。H.264定義了兩種封裝格式。基於包交換的網路(如 H.323系統)可以使用RTP封裝格式封裝NALU。而另外一些系統可能要求將NALU作為順序位元流傳送,為此H.264定義了一種位元流格式的傳輸 機制,使用start_code_prefix將NALU封裝起來,從而確定NAL邊界。
(2)引數集:以往視訊編解碼標準中GOB/GOP/影象等頭資訊是至關重要的,包含這些資訊的包的丟失常導致與這些資訊相關的影象不能解碼。 為此H.264將這些很少變化並且對大量VCL NALU起作用的資訊放在引數集中傳送。引數集分為兩種,即序列引數集和影象引數集。為適應多種網路環境,引數集可以帶內傳送,也可以採用帶外方式傳送。
三、在H.323系統中實現H.264
由於H.264是一種新的視訊編解碼標準,在H.323體系中應用H.264存在一些問題,比如如何在H.245能力協商過程中定義實體的 H.264能力,因此必須對H.323標準進行必要的補充和修改。為此,ITU-T制定了H.241標準。本文僅介紹與H.323相關的修改。
首先,要規定如何在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中影象的組織結構與傳統的標準不同,一些原有的H.245信令不在適用於H.264,如MiscellaneousCommand中的videoFastUpdateGOB等,因此H.241重新定義了幾個信令提供相應功能。
最後,H.264的RTP封裝參考RFC 3550,載荷型別(PT)域未作規定。
四、結束語
作為一種新的國際標準,H.264在編碼效率、影象質量、網路適應性和抗誤碼方
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script> |
面都取得了成功。但隨著終端和網路的快速發展,對視訊編解碼的要求在不斷提高,因此H.264仍在繼續地完善和發展以適應新的要求。現在對H.264的研
究主要集中在如何進一步降低編解碼時延、演算法優化和進一步提高影象質量上。目前,使用H.264進行編解碼的視訊會議系統越來越多,大多數做到了在
Baseline Profile上的互通。隨著H.264自身的不斷完善和視訊通訊的不斷普及,相信H.264的應用將越來越廣泛。
■ 參考文獻
[1] I TU-T H.241.Extended video procedures and control signals for H.300 series terminals.July 2003
[2]
Wiegand T,Sullivan G J,BjΦntegaard G.Overview of the H.264/AVC video
coding standard.IEEE Trans,Circuits,Syst Video Technol,2003,13(7)