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