2003年,由IEO/IEC和ITU—T兩大國際標準化組織聯(lián)手推出的視頻標準H.264能更好地滿足了這一要求。H.264也稱為MPEG4-Part10,相較于以前的視頻編解碼,可以達到更低的碼率,更好的圖像質量,更好的IP和無線信道適應性,以下是H.264 Hihg Profile較其他視頻編解碼標準的六大優(yōu)勢:
1、支持更小的塊(最小可到4×4)和更細的運動矢量(Y分量為1/4像素)。宏塊被切分成更多尺寸更小的小塊,這樣使細小的運動可以更容易地被區(qū)分出來,使得運動矢量的精度得以提高,提高了編碼質量與效率,節(jié)省了碼流。
2、幀內預測。不適合運用運動估計的地方,就采用幀內估計用來消除空間冗余。幀內預測并不是H.264所獨有的,但是相對其它編碼標準中的幀內變換是在變換域中進行,而H.264的幀內預測是在空間域中進行的。首先根據(jù)其周圍的宏塊內部估計通過在一個預定義的集合上的不同方向的鄰近塊推測相鄰像素來預測當前塊。然后預測塊和真實塊之間的不同點被編碼。這種方法對于經(jīng)常存在空間冗余的平坦背景特別有用,可以節(jié)省碼流和提高編碼質量。
3、整數(shù)DCT4x4變換與量化。MPEG-2、MPEG-4、H.263使用浮點DCT8X8變換。H.264使用更小的4×4塊,可以減少塊效應和明顯的人工痕跡。整數(shù)系數(shù)消除了在MPEG-2、MPEG-4、H.263中進行浮點系數(shù)運算時導致的精度損失。在量化上,量化步長的變化不象以前視頻編解碼標準中的每次遞增一個常量,而是將量化步長的變化幅度控制在12.5%左右,即可以改善編碼質量,又提高對碼率的控制能力。
4、熵編碼。H.264提供了兩種可選方式的熵編碼模式:全局UVLC(即UVLC:Universal VLC)和基于語法的上下文自適應二值算術編碼CABAC(Context Adaptive Binary Arithmetic Coding)。UVLC使用一個相同的碼表進行編碼,而解碼器很容易識別碼字的前綴,UVLC 在發(fā)生比特錯誤時能快速獲得重同步。UVLC計算復雜度較低,主要針對對編碼時間要求很嚴格的應用,缺點就是效率低,壓縮率不高;CABAC其編碼性能比 UVLC有提升,但復雜度較高。
5、多參考幀的運動補償和加權預測。使用多幀運動補償可以提高編碼質量和效率,且有利于恢復丟包。加權預測可用于修正P幀或B幀內中的運動補償預測像素的方法,可以提高編碼質量。
6、環(huán)內濾波。視頻編解碼器中加入濾波器的方法有兩種:環(huán)外濾波器和環(huán)內濾波器。環(huán)外濾波器只處理編碼環(huán)路外的顯示緩沖器中的數(shù)據(jù),所以它不是標準化過程中的規(guī)范內容,在標準中只是可選項。相反,環(huán)路濾波器處理編碼環(huán)路中的數(shù)據(jù)。在編解碼器中,被濾波的圖像幀作為后續(xù)編解碼幀運動補償?shù)膮⒖紟?在解碼器中,濾波后的圖像輸出顯示。這要求所有與本標準一致的解碼器采用同一個濾波器以與編碼器同步。當然如果有必要,解碼器也還可以在使用環(huán)路濾波器的同時使用后置濾波器。由于考慮了塊數(shù)據(jù)的邊界等信息,環(huán)內濾波器的效果要好于環(huán)外濾波器。H.264采用了環(huán)內濾波器,通過對宏塊邊緣的平滑濾波, 減輕視頻編碼中的塊效應,既減弱“塊效應”的影響又避免濾掉圖像的客觀特征, 同時在相同主觀質量下使比特率減少 5%-10%。
2005年增加的H.264 high profile,由于其更高的編碼壓縮率和網(wǎng)絡適應性,被很多應用領域關注,其中包括高清視頻監(jiān)控、高清網(wǎng)絡攝像機、智能監(jiān)控、無線監(jiān)控等。
H.264 High Profile是目前H.264各種profile中編碼最高效的Profile。在H.264 Main Profile的基礎上增加了8×8幀內預測、自定義量化矩陣、無損視頻編碼、支持輸入圖像為YUV400格式。與其它標準相比,在相同失真率條件下H.264 High Profile的編碼效率提高了50%左右。其中對提升編碼壓縮率的主要有:CABAC編碼、多參考幀、8×8幀內預測、8×8DCT變換。