AVS與國(guó)際標(biāo)準(zhǔn)MPEG的區(qū)別
本文從技術(shù)角度對(duì)MPEG-2的視頻標(biāo)準(zhǔn)、MPEG-4 AVC/H.264和AVS視頻(GB/T 200090.2) 三個(gè)視頻標(biāo)準(zhǔn)進(jìn)行對(duì)比,包括技術(shù)方案、主觀測(cè)試、客觀測(cè)試、復(fù)雜度等四個(gè)方面。
一、技術(shù)對(duì)比
AVS視頻與MPEG標(biāo)準(zhǔn)都采用混合編碼框架(見(jiàn)圖1),包括變換、量化、熵編碼、幀內(nèi)預(yù)測(cè)、幀間預(yù)測(cè)、環(huán)路濾波等技術(shù)模塊,這是當(dāng)前主流的技術(shù)路線。AVS的主要?jiǎng)?chuàng)新在于提出了一批具體的優(yōu)化技術(shù),在較低的復(fù)雜度下實(shí)現(xiàn)了與國(guó)際標(biāo)準(zhǔn)相當(dāng)?shù)募夹g(shù)性能,但并未使用國(guó)際標(biāo)準(zhǔn)背后的大量復(fù)雜的專(zhuān)利。AVS-視頻當(dāng)中具有特征性的核心技術(shù)包括:8x8整數(shù)變換、量化、幀內(nèi)預(yù)測(cè)、1/4精度像素插值、特殊的幀間預(yù)測(cè)運(yùn)動(dòng)補(bǔ)償、二維熵編碼、去塊效應(yīng)環(huán)內(nèi)濾波等。
圖 1 典型視頻編碼框架
AVS視頻編碼器框圖如下圖所示。
圖 2 AVS視頻編碼器框圖
AVS視頻標(biāo)準(zhǔn)定義了I幀、P幀和B幀三種不同類(lèi)型的圖像,I幀中的宏塊只進(jìn)行幀內(nèi)預(yù)測(cè),P幀和B幀的宏塊則需要進(jìn)行幀內(nèi)預(yù)測(cè)或幀間預(yù)測(cè),圖中S0是預(yù)測(cè)模式選擇開(kāi)關(guān)。預(yù)測(cè)殘差進(jìn)行8?8整數(shù)變換(ICT)和量化,然后對(duì)量化系數(shù)進(jìn)行zig-zag掃描(隔行編碼塊使用另一種掃描方式),得到一維排列的量化系數(shù),最后對(duì)量化系數(shù)進(jìn)行熵編碼。AVS視頻標(biāo)準(zhǔn)的變換和量化只需要加減法和移位操作,用16位精度即可完成。
AVS視頻標(biāo)準(zhǔn)使用環(huán)路濾波器對(duì)重建圖像濾波,一方面可以消除方塊效應(yīng),改善重建圖像的主觀質(zhì)量;另一方面能夠提高編碼效率。濾波強(qiáng)度可以自適應(yīng)調(diào)整。
AVS標(biāo)準(zhǔn)支持多種視頻業(yè)務(wù),考慮到不同業(yè)務(wù)之間的互操作性,AVS標(biāo)準(zhǔn)定義了檔次(profile)和級(jí)別(level)。檔次是AVS定義的語(yǔ)法、語(yǔ)義及算法的子集;級(jí)別是在某一檔次下對(duì)語(yǔ)法元素和語(yǔ)法元素參數(shù)值的限定集合。為了滿(mǎn)足高清晰度/標(biāo)準(zhǔn)清晰度數(shù)字電視廣播、數(shù)字存儲(chǔ)媒體等業(yè)務(wù)的需要,AVS視頻標(biāo)準(zhǔn)定義了基準(zhǔn)檔次(Jizhun profile)和4個(gè)級(jí)別(4.0、4.2、6.0和6.2),支持的最大圖像分辨率從720?576到1920?1080,最大比特率從10 Mbit/s到30 Mbit/s。
表1 AVS與MPEG-2、MPEG-4 AVC/H.264使用的技術(shù)對(duì)比和性能差異估計(jì)
視頻編碼標(biāo)準(zhǔn) | MPEG-2視頻 | MPEG-4 AVC/H.264視頻 | AVS視頻 | AVS視頻與AVC/H.264性能差異估計(jì) (采用信噪比dB估算,括號(hào)內(nèi)的百分比為碼率差異) |
幀內(nèi)預(yù)測(cè) | 只在頻域內(nèi)進(jìn)行DC系數(shù)差分預(yù)測(cè) | 基于4×4塊,9種亮度預(yù)測(cè)模式,4種色度預(yù)測(cè)模式 | 基于8×8塊,5種亮度預(yù)測(cè)模式,4種色度預(yù)測(cè)模式 | 基本相當(dāng) |
多參考幀預(yù)測(cè) | 只有1幀 | 最多16幀 | 最多2幀 | 都采用兩幀時(shí)相當(dāng),幀數(shù)增加性能提高不明顯 |
變塊大小運(yùn)動(dòng)補(bǔ)償 | 16×16 16×8(場(chǎng)編碼) | 16×16、16×8、8×16、8×8、8×4、4×8、4×4 | 16×16、16×8、8×16、8×8 | 降低約0.1dB (2-4%) |
B幀宏塊直接編碼模式 | 無(wú) | 獨(dú)立的空域或時(shí)域預(yù)測(cè)模式,若后向參考幀中用于導(dǎo)出運(yùn)動(dòng)矢量的塊為幀內(nèi)編碼時(shí)只是視其運(yùn)動(dòng)矢量為0,依然用于預(yù)測(cè) | 時(shí)域空域相結(jié)合,當(dāng)時(shí)域內(nèi)后向參考幀中用于導(dǎo)出運(yùn)動(dòng)矢量的塊為幀內(nèi)編碼時(shí),使用空域相鄰塊的運(yùn)動(dòng)矢量進(jìn)行預(yù)測(cè) | 提高0.2-0.3dB (5%) |
B幀宏塊雙向預(yù)測(cè)模式 | 編碼前后兩個(gè)運(yùn)動(dòng)矢量 | 編碼前后兩個(gè)運(yùn)動(dòng)矢量 | 稱(chēng)為對(duì)稱(chēng)預(yù)測(cè)模式,只編碼一個(gè)前向運(yùn)動(dòng)矢量,后向運(yùn)動(dòng)矢量由前向?qū)С?O:P> | 基本相當(dāng) |
?像素運(yùn)動(dòng)補(bǔ)償 | 僅在半像素位置進(jìn)行雙線性插值 | ?像素位置采用6拍濾波,? 像素位置線性插值 | ?像素位置采用4拍濾波,?像素位置采用4拍濾波、線性插值 | 基本相當(dāng) |
變換與量化 | 8×8浮點(diǎn)DCT變換,除法量化 | 4×4整數(shù)變換,編解碼端都需要?dú)w一化,量化與變換歸一化相結(jié)合,通過(guò)乘法、移位實(shí)現(xiàn) | 8×8整數(shù)變換,編碼端進(jìn)行變換歸一化,量化與變換歸一化相結(jié)合,通過(guò)乘法、移位實(shí)現(xiàn) | 提高約0.1dB(2%) |
熵編碼 | 單一VLC表,適應(yīng)性差 | CAVLC:與周?chē)鷫K相關(guān)性高,實(shí)現(xiàn)較復(fù)雜 CABAC:計(jì)算較復(fù)雜 | 上下文自適應(yīng)2D-VLC,編碼塊系數(shù)過(guò)程中進(jìn)行多碼表切換 | 降低約0.5dB(10-15%) |
環(huán)路濾波 | 無(wú) | 基于4×4塊邊緣進(jìn)行,濾波強(qiáng)度分類(lèi)繁多,計(jì)算復(fù)雜 | 基于8×8塊邊緣進(jìn)行,簡(jiǎn)單的濾波強(qiáng)度分類(lèi),濾波較少的像素,計(jì)算復(fù)雜度低 | —— |
容錯(cuò)編碼 | 簡(jiǎn)單的條帶劃分 | 數(shù)據(jù)分割、復(fù)雜的FMO/ASO等宏塊、條帶組織機(jī)制、強(qiáng)制Intra塊刷新編碼、約束性幀內(nèi)預(yù)測(cè)等 | 簡(jiǎn)單的條帶劃分機(jī)制足以滿(mǎn)足廣播應(yīng)用中的錯(cuò)誤隱藏、恢復(fù)需求 | —— |
DCT(Discrete Cosine Transform):離散余弦變換
VLC(Variable Length Coding):變長(zhǎng)編碼
CAVLC(Context-based Adaptive Variable Length Coding):基于上下文的自適應(yīng)變長(zhǎng)碼
CABAC(Context-based Adaptive Binary Arithmetic Coding):基于上下文的自適應(yīng)二進(jìn)制算術(shù)編碼
FMO(Flexible Macroblock Ordering):靈活的宏塊排序
ASO(Arbitrary Slice Ordering):任意條帶排列
二、主觀評(píng)價(jià)和客觀測(cè)試
壓縮效果的評(píng)價(jià)標(biāo)準(zhǔn)有主觀評(píng)價(jià)和客觀評(píng)價(jià)兩種,各有優(yōu)缺點(diǎn)。主觀評(píng)判是聘請(qǐng)專(zhuān)門(mén)的評(píng)價(jià)人員來(lái)比較壓縮之后再恢復(fù)的視聽(tīng)效果和原始效果的差異,通常是在專(zhuān)門(mén)的視聽(tīng)環(huán)境中按照一定的規(guī)則進(jìn)行主觀評(píng)分??陀^評(píng)判則是通過(guò)一種具體的算法來(lái)統(tǒng)計(jì)多媒體數(shù)據(jù)壓縮結(jié)果的損失,例如信噪比SNR(即信號(hào)與噪聲之比的對(duì)數(shù))。主觀評(píng)判和客觀評(píng)判有時(shí)相差很大,因此衡量一個(gè)算法的好壞就需要在這二者之間找到一個(gè)平衡點(diǎn)。對(duì)一套標(biāo)準(zhǔn)的評(píng)價(jià),通
評(píng)論