H.264/AVC的重要技術進展
NGN及3G、3G演進和NGBW發(fā)展的一個主要目標即為包括視頻在內(nèi)的多媒體應用。對此,H.264/AVC定義了3種視頻服務類型,即會話型服務(如可視電話、視頻會議等)、現(xiàn)場或先期錄制的視頻流型服務和多媒體消息類服務MMS。
為適應NGN IP網(wǎng)絡及帶寬資源有限的時變型移動/無線信道的傳輸需要,H.264/AVC無論從網(wǎng)絡層匹配自適應能力、提高源壓縮編碼效率及信道抗干擾能力等方面均進行了較精心的設計,有較大幅度的性能增強與改進。
1.1 視頻編譯碼結構的分層設計
視頻編譯碼結構從功能和算法上分為兩層設計,即視頻編碼層(VCL)及網(wǎng)絡適配層(NAL)。VCL負責高效率視頻編碼壓縮;NAL負責網(wǎng)絡的適配,即提供對不同網(wǎng)絡性能匹配的自適應處理能力,它針對下層網(wǎng)絡的特性對數(shù)據(jù)進行封裝,包括成幀、發(fā)送相應信號給邏輯信道、利用同步信息進行處理等。NAL從VCL獲得數(shù)據(jù)信息,包括頭信息、段結構信息及實際凈荷信息,進而將它們映射到下層的各傳輸協(xié)議上。這些協(xié)議諸如H.320、H.323、H.324、MPEG-2等。NAL單元按RTP序列號順序傳送,序列號設置可發(fā)現(xiàn)丟失的是哪一個VCL單元,即使基本編碼圖像丟失,借助冗余編碼圖像,仍可獲得較“粗糙”的圖像恢復。同時,借助圖像的片(Slice)、片組、宏塊(MB)結構及黑白宏塊非掃描順序的靈活宏塊順序(FMO),安排與切換P幀(SP)、切換I幀(SI)的流切換、流拼接、隨機接入與差錯恢復等,都有利于提高其誤碼掩蓋及抗干擾能力,并有助于壓縮效率的提高。NAL層的引入,大大提高了H.264/AVC對不同網(wǎng)絡及復雜信道的適應能力。
1.2 高效率視頻編碼設計
1.2.1 統(tǒng)一的可變長度編碼(UVLC)碼表
以往標準的熵編碼通常采用變長度的哈夫曼編碼,其碼表不統(tǒng)一,不能適應變化多端的視頻內(nèi)容,從而影響編碼效率的提高。在此,即對H.263不同系數(shù)采用不同碼表進行VLC作了改進,采用了一個統(tǒng)一碼表的UVLC,同時,又對H.26L中的VCL方法進行了改進,使量化后的DCT變換系數(shù)使用基于內(nèi)容的自適應可變長度編碼(CAVLC),此外還定義了一種基于上下文內(nèi)容的自適應二進制算術編碼(CABAC),其性能比CAVLC更好,當然計算更復雜。從而,借助UVLC、CAVLC及CABAC較好地提高了壓縮編碼效率。
1.2.2 自適應幀、場編碼(AFFC)
如眾所知,幀中鄰行空間相關性強,場中鄰行時間相關性較強,從而幀編碼可用于運動性較小圖像編碼,而場編碼可用于運動性較大圖像編碼。按此根據(jù)圖像運動狀況選擇編碼模式即構成圖像自適應幀、場編碼(PAFFC),以提高編碼效率。進而,若一幀內(nèi)包含一些運動快慢不同的區(qū)域,還可將此區(qū)域劃分為“宏塊對”進行AFFC,此時即稱為宏塊自適應幀、場編碼(MBAFFC)。
1.2.3 4×4塊的整數(shù)變換
H.264/AVC中的DCT變換與H.263中的情況不同,它采用的變換單位不是8×8塊,而是4×4塊,且變換是整數(shù)操作,而不是實數(shù)操作。其優(yōu)點為:運算速度快、精度高并占用較少內(nèi)存。整數(shù)操作,編譯碼有嚴格的反變換,避免了截取誤差,減少了運動邊緣塊的編碼噪聲。同時,4×4變換比8×8變換產(chǎn)生的方塊效應亦要小。
為進一步利用圖像的空間相關性,在對色度分量預測殘差及16×16幀內(nèi)預測的預測殘差進行DCT變換后,還對每個4×4變換系數(shù)塊中的DC系數(shù)組成的2×2和4×4大小的塊進一步做哈達瑪(Hadamard)變換,以更好改善性能。
1.2.4 動目標估值(ME)算法的改進
a) 搜索精度增強:首先,進一步增強了動目標估值的搜索精度,在半像素預測后的生成矩陣基礎上,內(nèi)插一次擴展至1/4像素精度矢量,在1/4像素基礎上再內(nèi)插一次,獲得1/8像素更高精度的運動矢量。
b) 宏塊(MB)更精細與多樣化分解:對每一個MB,進行更精細與多樣化分解,此時MB擁有和此類小塊數(shù)相對應的運動矢量。這種多模式的靈活細致的分塊劃分,更切合實際動目標形狀,大大提高了動目標估值精度。
c) 多參考幀模式預測:采取多參考幀模式,進行多于一幀的先前幀(最多5幀)動目標估值。此時對某個MB進行動目標估值時,會從過去的2個或3個剛編碼過的參考幀中選一幀作參考,以改善動目標估值性能,提高譯碼器的誤碼恢復能力,取得更好的預測效果。
d) 變尺寸塊運動補償(MC):例如平坦區(qū)可取16×16尺寸塊,而細節(jié)區(qū)可采用8×8甚至4×4等更精細尺寸塊,此時MC預測精度更高、靈活性更好,更符合視頻內(nèi)容不斷變化的實際情況。
e) 加權預測:H.264/AVC還允許對MC預測信號進行加權預測,可較大幅度改善無線信道衰落之類信道變化時的編碼效率。
f) MC時的環(huán)路去方塊濾波:H.264/AVC把去方塊濾波引入MC預測環(huán)路中,既可去除方塊效應,又能保護圖像細節(jié)邊緣,同時亦改善了圖像的主、客觀評定質(zhì)量。而且經(jīng)過濾波后的圖像根據(jù)需要放在緩存中用于幀間預測,此濾波器位于譯碼環(huán)中而非譯碼環(huán)外,從而又稱環(huán)路濾波。
1.2.5 幀內(nèi)方向空間預測
由于單個圖像幀內(nèi)有較高空間冗余度,在空間域上進行幀內(nèi)方向空間預測可獲得更高壓縮效率。對亮度預測通常取INTRA-4×4及INTRA-16×16兩種方式,對圖像中較平坦部分采用INTRA-16×16方式,對細化圖像部分用INTRA-4×4塊預測。預測前,應對當前塊相鄰的左、上重構塊進行分類,根據(jù)不同分類,選擇不同預測模式。INTRA-4×4共有9種預測模式,INTRA-16×16共有4種預測模式,對色度預測按INTRA-8×8塊進行,亦共有4種預測模式。從而,精細的幀內(nèi)方向空間預測可有效提高預測質(zhì)量。
這樣,H.264/AVC的精細數(shù)字壓縮編碼技術取得了優(yōu)良的壓縮效率。測試結果表明:它比H.263++的平均編碼比特率要少48.80%,比MPEG-4 ASP要少38.62%,相對H.263約提高了一倍壓縮效率,很具吸引力。