MPEG-4技術(shù)的演進(jìn)與應(yīng)用
活動(dòng)圖像專家組(MPEG)針對(duì)數(shù)字音頻和視頻的編碼原則制定了MPEG標(biāo)準(zhǔn),通過(guò)MPEG壓縮引擎,實(shí)現(xiàn)了以經(jīng)濟(jì)的成本為消費(fèi)者提供高質(zhì)量的數(shù)字多媒體內(nèi)容的理想,也為多媒體市場(chǎng)帶來(lái)了無(wú)限商機(jī)。最新開(kāi)發(fā)的MPEG-4,旨在為機(jī)頂盒、互聯(lián)網(wǎng)、移動(dòng)設(shè)備等應(yīng)用實(shí)現(xiàn)更高質(zhì)量的壓縮和更靈活的格式,提供更加豐富的選擇。
MPEG-4標(biāo)準(zhǔn)目前已發(fā)展為ISO/IEC-14496第一版和第二版。隨著MPEG-4 第十部分H.264/先進(jìn)的視頻編碼(AVC)的提出,MPEG標(biāo)準(zhǔn)進(jìn)一步演進(jìn)。與此同時(shí),中國(guó)自主知識(shí)產(chǎn)權(quán)的數(shù)字音視頻編解碼標(biāo)準(zhǔn)(AVS)的制定也為便攜式多媒體技術(shù)開(kāi)創(chuàng)了新的發(fā)展空間。
高質(zhì)量有效傳輸數(shù)字多媒體內(nèi)容
MPEG-4可同時(shí)處理各種“媒體對(duì)象(視頻和音頻內(nèi)容的統(tǒng)稱)”,形成視聽(tīng)場(chǎng)景,為整套工具包提供互動(dòng)和個(gè)性化媒體內(nèi)容的視聽(tīng)數(shù)據(jù),同時(shí),還可壓縮/解壓其他媒體對(duì)象,如文本、圖像、語(yǔ)音、動(dòng)畫(huà)、2D和3D對(duì)象等。為實(shí)現(xiàn)該標(biāo)準(zhǔn)的有效實(shí)施,MPEG-4系統(tǒng)對(duì)子集、視頻和音頻工具集都進(jìn)行了定義,以應(yīng)用于各種特殊應(yīng)用,為音頻/視頻對(duì)象的編碼提供更豐富的工具。
圖1 H.264/AVC宏塊視頻編碼層框圖
H.264/AVC打造MPEG-4新特性
MPEG-4 第十部分H.264/AVC在本質(zhì)上與MPEG-2等其他標(biāo)準(zhǔn)類似,是由時(shí)間預(yù)測(cè)和空間預(yù)測(cè)的綜合體與編碼轉(zhuǎn)換共同組成的,但這一新標(biāo)準(zhǔn)并不會(huì)取代現(xiàn)有的MPEG-4 第二部分“編碼解碼器”,也不與其兼容。
除此之外,H.264/AVC還采用了視頻編碼領(lǐng)域的最新研究成果。由于采用了幀內(nèi)預(yù)測(cè)、整數(shù)轉(zhuǎn)換、可變的塊尺寸運(yùn)動(dòng)評(píng)估/補(bǔ)償和去塊過(guò)濾等現(xiàn)有先進(jìn)技術(shù),H.264/AVC與之前的標(biāo)準(zhǔn)相比又增加了新的特性,在幫助其他現(xiàn)有的標(biāo)準(zhǔn)在維持相同視頻質(zhì)量的同時(shí),還可平均降低50%的位率。
表1 H.264/AVC與其他標(biāo)準(zhǔn)的比較
幀間預(yù)測(cè)功能
H.264/AVC可根據(jù)每個(gè)宏塊片編碼類型的不同,以幾種編碼類型中的一種進(jìn)行傳輸,并且所有片編碼類型可支持INTRA-4×4和INTRA-16×16兩種類別的幀內(nèi)編碼類型。在以往的視頻編碼標(biāo)準(zhǔn)中,預(yù)測(cè)操作都是在轉(zhuǎn)換域中進(jìn)行的,而在H.264/AVC標(biāo)準(zhǔn)中,這一操作往往是根據(jù)已編碼塊中的相鄰樣本,在空間域中進(jìn)行的。幀內(nèi)預(yù)測(cè)不能跨越片邊界,以保持片與片之間的相互獨(dú)立性。
P片中的活動(dòng)補(bǔ)償
除幀內(nèi)宏塊編碼類型外,H.264/AVC還包含多種針對(duì)P片宏塊的預(yù)測(cè)性或活動(dòng)補(bǔ)償性的編碼類型。宏塊被分割在用于活動(dòng)描述的大小固定的塊中,每個(gè)P類宏塊對(duì)應(yīng)一個(gè)特定的宏塊分區(qū)。活動(dòng)補(bǔ)償?shù)木葹橐粋€(gè)樣本距離的四分之一。
一般情況下,H.264/AVC的語(yǔ)法可支持無(wú)限制的活動(dòng)矢量,即活動(dòng)矢量可以超出畫(huà)面區(qū)域,但活動(dòng)矢量元件預(yù)測(cè)不能跨越片邊界。
整數(shù)轉(zhuǎn)換
此外,與以往的視頻編碼標(biāo)準(zhǔn)相似,H.264/AVC也采用預(yù)測(cè)剩余的轉(zhuǎn)換編碼,但這種轉(zhuǎn)換僅應(yīng)用于4×4塊,而且計(jì)算中采用了與4×4離散余弦轉(zhuǎn)換(DCT)特性基本相同的分離整數(shù)轉(zhuǎn)換,以此取代了4×4DCT。由于整個(gè)逆轉(zhuǎn)換過(guò)程由精確整數(shù)運(yùn)算定義,因此避免了逆轉(zhuǎn)換過(guò)程中的不錯(cuò)配現(xiàn)象。而對(duì)于轉(zhuǎn)換系數(shù)的量化,H.264/AVC運(yùn)用了標(biāo)量化的方法。塊中的量化轉(zhuǎn)換系數(shù)通常按照之字形順序進(jìn)行掃描,并采用平均信息量編碼的方式傳輸。只要16位整數(shù)值相加,并在16位整數(shù)值的基礎(chǔ)上進(jìn)行位移操作,H.264/AVC 中的所有轉(zhuǎn)換就都能實(shí)現(xiàn)。
圖2 一個(gè)H.264的P片宏塊的分區(qū)結(jié)構(gòu)
圖3 多畫(huà)面活動(dòng)補(bǔ)償預(yù)測(cè)
平衡信息量編碼
為實(shí)現(xiàn)量化轉(zhuǎn)換系數(shù)的傳輸,H.264/AVC采用了更先進(jìn)的前后自適應(yīng)可變長(zhǎng)度編碼(CAVLC),與僅采用單個(gè)VLC列表的方法相比,這一技術(shù)能進(jìn)一步改善平均信息量編碼質(zhì)量。此外H.264/AVC還支持前后自適應(yīng)二進(jìn)制算術(shù)編碼(CABAC),與CAVLC相比,CABAC在進(jìn)行相同質(zhì)量的電視信號(hào)編碼時(shí),通常能夠節(jié)約10%到15% 的位率,從而進(jìn)一步提升了平均信息量編碼效率。
多基準(zhǔn)幀
H.264/AVC 還支持多畫(huà)面活動(dòng)補(bǔ)償預(yù)測(cè)。如圖3所示,H.264/AVC可提供不止一個(gè)的預(yù)先編碼畫(huà)面作為活動(dòng)補(bǔ)償預(yù)測(cè)基準(zhǔn)。然而,無(wú)論是編碼器還是解碼器都必須存儲(chǔ)基準(zhǔn)畫(huà)面,以實(shí)現(xiàn)多畫(huà)面緩沖器中的畫(huà)面間預(yù)測(cè)。
基于以上特別的先進(jìn)技術(shù),與其他現(xiàn)有標(biāo)準(zhǔn)相比,H.264/AVC所帶來(lái)的益處顯而易見(jiàn)。例如,與MPEG-2、MPEG-4 ASP 和H.263 HLP等現(xiàn)有的編碼標(biāo)準(zhǔn)相比,在使用H.264/AVC播放DVD品質(zhì)的電視或進(jìn)行HD視頻編碼時(shí),相關(guān)的位率可節(jié)省2.25 到2.5,如表1所示。
AVS開(kāi)創(chuàng)MEPG-4發(fā)展新境界
隨著中國(guó)數(shù)字音頻/視頻多媒體設(shè)備和系統(tǒng)市場(chǎng)的發(fā)展,為建立全國(guó)性的壓縮、處理和數(shù)字版權(quán)管理標(biāo)準(zhǔn),中國(guó)數(shù)字音視頻編解碼技術(shù)標(biāo)準(zhǔn)工作組(中國(guó)AVS工作組)開(kāi)發(fā)了數(shù)字音視頻編解碼標(biāo)準(zhǔn)(AVS),并于2002年6月由中國(guó)信息產(chǎn)業(yè)部科學(xué)技術(shù)司批準(zhǔn)通過(guò)。2003年12月,AVS工作組針對(duì)高清和高質(zhì)量數(shù)字廣播、數(shù)字存儲(chǔ)媒體及其他相關(guān)應(yīng)用制定的首個(gè)AVS視頻標(biāo)準(zhǔn)問(wèn)世。
由于采用的模塊相同,AVS與H.264/AVC編碼器的架構(gòu)看起來(lái)比較類似。但是,考慮到目標(biāo)應(yīng)用與MPEG-2的向后兼容性以及解碼復(fù)雜程度等因素, AVS音視頻編碼解碼器中模塊還是采用了獨(dú)到的技術(shù),實(shí)現(xiàn)了編碼效率的進(jìn)一步大幅提升。
AVS需要對(duì)輸入宏塊進(jìn)行預(yù)測(cè),圖4所示的開(kāi)關(guān)S0 用于選擇幀間和幀內(nèi)宏塊所需的正確預(yù)測(cè)方法。幀內(nèi)預(yù)測(cè)源自左上方塊中的相鄰像素。由于采用的是8×8整數(shù)轉(zhuǎn)換,因此空間預(yù)測(cè)的單元大小也是8×8。幀間預(yù)測(cè)則源自解碼幀和解碼場(chǎng)。AVS支持16×16、16×8、8×16和8×8這4種尺寸的塊,但總體而言,高分辨率視頻很少使用小尺寸的塊。AVS幀間塊的活動(dòng)矢量精度為四分之一像素。
在AVS中,預(yù)測(cè)剩余誤差需通過(guò)8×8整數(shù)轉(zhuǎn)換方法進(jìn)行轉(zhuǎn)換。漸進(jìn)塊仍然按照之字形順序進(jìn)行掃描,與MPEG-2中的掃描順序相似。但AVS卻通過(guò)自適應(yīng)VLC編碼技術(shù)在逐行掃描塊中定義了一種新的掃描順序,四種不同類型的Exp-Golomb密碼本也分別對(duì)應(yīng)不同的分配方式。此外,AVS還定義了一些映射表,可將編碼符號(hào)映射到特殊編碼及其成分中。
預(yù)測(cè)與當(dāng)前重建錯(cuò)誤圖像的總數(shù)構(gòu)成了重建基準(zhǔn)。AVS在活動(dòng)補(bǔ)償環(huán)路中使用了一個(gè)去塊濾波器,能夠根據(jù)塊的工作情況與QP參數(shù)進(jìn)行自動(dòng)調(diào)節(jié)。
由于MPEG-2編碼解碼器與系統(tǒng)在現(xiàn)有的廣播系統(tǒng)中得到了廣泛的運(yùn)用,因此AVS的語(yǔ)法結(jié)構(gòu)也特別采用了與MPEG-2類似的設(shè)計(jì),因此能夠直接應(yīng)用于現(xiàn)有的MPEG-2系統(tǒng)。
目前,AVS可支持YUV 4:2:0和YUV 4:2:2采樣結(jié)構(gòu),以及8位樣本精度,用于色度格式的2位無(wú)正負(fù)整數(shù)則為諸如YUV 4:4:4 或RGB 4:4:4之類的其他順序格式保留了應(yīng)用空間。
圖4 AVS 視頻編碼器框圖
圖5 PR8185單芯片解決方案
實(shí)現(xiàn)AVS視頻標(biāo)準(zhǔn)的主要技術(shù)
平均信息量編碼
首先,AVS 采用了 序列Exp-Golomb編碼表 (k=0, 1, 2, 3)、CBP、宏塊編碼模式和活動(dòng)矢量, 并通過(guò) 序列 Exp-Golomp 編碼表進(jìn)行解碼。由于對(duì)Exp-Golomp 編碼表進(jìn)行了調(diào)整,AVS解碼器并不需要存儲(chǔ)這些編碼表。而語(yǔ)法元素可以利用帶有可選擇查找表的簡(jiǎn)單分析進(jìn)行解碼。 AVS定義的19 個(gè)映射表盡管只占用了不到2k 字節(jié)的空間,卻能很好地適應(yīng)不同的分配,并具有很高的編碼能力。
轉(zhuǎn)換和量化
與 H.264/AVC 和 MPEG-2不同的是, AVS 采用8×8 整數(shù)轉(zhuǎn)換。為了減少解量化和逆轉(zhuǎn)換中的取整誤差,AVS還專門(mén)設(shè)置了一種特殊程序,并且各種操作均可在16 位內(nèi)完成。
幀內(nèi)預(yù)測(cè)
AVS 視頻標(biāo)準(zhǔn)采用了幀內(nèi)預(yù)測(cè)技術(shù),改進(jìn)了幀內(nèi)編碼的宏塊性能。與AVC/H.264相比, AVS 定義了5種用于8×8亮度塊的模式和 4種用于8×8 色度塊的模式。