便攜式移動(dòng)電視接收系統(tǒng)淺析
⑥為提高抗數(shù)據(jù)丟失的能力,允許編碼器發(fā)送圖像區(qū)的冗余表示,當(dāng)圖像區(qū)的主表示丟失時(shí)仍可以正確解碼。
⑦可以根據(jù)每個(gè)像條語法元素的范疇,將像條語法劃分為3部分,分開傳送。
下面就的幾個(gè)重要特性進(jìn)行詳細(xì)介紹:
1、幀內(nèi)預(yù)測(cè)
對(duì)I幀的編碼是利用空間相關(guān)性而非時(shí)間相關(guān)性而實(shí)現(xiàn)的。以前的標(biāo)準(zhǔn)只利用了一個(gè)宏塊內(nèi)部的相關(guān)性,而忽視了宏塊之間的相關(guān)性,所以編碼后的數(shù)據(jù)量較大。為了進(jìn)一步利用空間相關(guān)性,引入了幀內(nèi)預(yù)測(cè)以提高壓縮效率。簡(jiǎn)單地說,幀內(nèi)預(yù)測(cè)編碼就是用周圍鄰近的象素值來預(yù)測(cè)當(dāng)前的象素值,然后對(duì)預(yù)測(cè)誤差進(jìn)行編碼。這種預(yù)測(cè)是基于塊的,對(duì)于亮度分量,塊的大小可以在16×16和4×4之間選擇,16×16塊有4種預(yù)測(cè)模式16×16 、 16×8 、 8×16 和 8×8,4×4塊有9種
預(yù)測(cè)模式;對(duì)于色度分量,預(yù)測(cè)是對(duì)整個(gè)8×8塊進(jìn)行的,有4種預(yù)測(cè)模式。除了DC預(yù)測(cè)外,其他每種預(yù)測(cè)模式對(duì)應(yīng)不同方向上的預(yù)測(cè)。
1)預(yù)測(cè)時(shí)所用塊的大小可變
假設(shè)基于塊的運(yùn)動(dòng)模型塊內(nèi)所有象素都做了相同的平移,在運(yùn)動(dòng)比較劇烈時(shí)或者在運(yùn)動(dòng)物體的邊緣處,這一假設(shè)會(huì)與實(shí)際出入較大,導(dǎo)致較大的預(yù)測(cè)誤差,這時(shí)減小塊的大小可以使假設(shè)在小的塊中依然成立。同時(shí),小的塊所造成的塊效應(yīng)相對(duì)也小,從而提高預(yù)測(cè)的效果。
一 共采用了7種方式對(duì)一個(gè)宏塊進(jìn)行分割,每種方式下塊的大小和形狀都不相同,這就使編碼器可以根據(jù)圖像的內(nèi)容選擇最好的預(yù)測(cè)模式以提高預(yù)測(cè)效果。與僅使用16×16塊進(jìn)行預(yù)測(cè)相比,使用不同大小和形狀的塊可以使碼率降低15%以上。
(2)更精細(xì)的預(yù)測(cè)精度
在中,亮度分量的運(yùn)動(dòng)矢量使用1/4象素精度。色度分量的運(yùn)動(dòng)矢量由亮度運(yùn)動(dòng)矢量導(dǎo)出,由于色度分量的分辨率是亮度分量的一半(對(duì)4∶2∶0),所以其運(yùn)動(dòng)矢量精度將為1/8。既一個(gè)單位的色度分量的運(yùn)動(dòng)矢量所代表的位移僅為色度分量取樣點(diǎn)間距離的1/8。如此精細(xì)的預(yù)測(cè)精度,比整數(shù)精度可使碼率降低20%以上。
(3)多參考幀
支持多參考幀預(yù)測(cè),即可以有多于一個(gè)(最多5個(gè))在當(dāng)前幀之前的解碼幀作為參考幀,產(chǎn)生對(duì)當(dāng)前幀的預(yù)測(cè)。這適用于視頻序列中含有周期性運(yùn)動(dòng)的情況。這種技術(shù),可以改善運(yùn)動(dòng)估計(jì)的性能,提高解碼器的錯(cuò)誤恢復(fù)能力;但它也增加了緩存的容量,加大了編解碼器的復(fù)雜性。與只使用一個(gè)參考幀相比,使用5個(gè)參考幀可以使碼率降低5~10%。
(4)去塊效應(yīng)濾波器
它的作用是消除經(jīng)反量化和反變換后重建圖像中由于預(yù)測(cè)誤差產(chǎn)生的塊效應(yīng),即消除塊邊緣處的象素值跳變,從而改善圖像的主觀質(zhì)量,并減小預(yù)測(cè)誤差。中的去塊效應(yīng)濾波器還可以根據(jù)圖像內(nèi)容做出判斷,只對(duì)由于塊效應(yīng)產(chǎn)生的象素值跳變進(jìn)行平滑,而對(duì)圖像中物體邊緣處的象素值不連續(xù)給予保留,以免造成邊緣模糊。與以往的去塊效應(yīng)濾波器同的是,經(jīng)過濾波后的圖像將根據(jù)需要放在緩存中用于幀間預(yù)測(cè),而不是僅僅在輸出重建圖像時(shí)用來改善主觀質(zhì)量。對(duì)于幀內(nèi)預(yù)測(cè),使用的是未經(jīng)過濾波的重建圖像。
3、整數(shù)變換
對(duì)幀內(nèi)或幀間預(yù)測(cè)的殘差進(jìn)行DCT編碼。為了避免舍入誤差造成的編碼器和解碼器之間不匹配的問題,對(duì)DCT的定義做了修改,使得變換僅用整數(shù)加減法和移位操作即可實(shí)現(xiàn),這樣在不考慮量化影響的情況下,解碼端的輸出可以準(zhǔn)確地恢復(fù)編碼端的輸入。當(dāng)然,這樣做的代價(jià)是壓縮性能略微下降。此外,該變換是針對(duì)4×4塊進(jìn)行的,這也有助于減小塊效應(yīng)。
為了進(jìn)一步利用圖像的空間相關(guān)性,在對(duì)色度分量的預(yù)測(cè)殘差和16×16幀內(nèi)預(yù)測(cè)的預(yù)測(cè)殘差進(jìn)行上述整數(shù)DCT之后,標(biāo)準(zhǔn)還將每個(gè)4×4變換系數(shù)塊中的DC系數(shù)組成2×2或4×4大小的塊,進(jìn)一步做哈達(dá)瑪(Hadamard)變換。
4、熵編碼
對(duì)于Slice層以上的數(shù)據(jù),采用Exp-Golomb碼,這是一種沒有自適應(yīng)能力的VLC。而對(duì)于Slice層(含)以下的數(shù)據(jù),如果是殘差,有兩種熵編碼方式:基于上下文的自適應(yīng)變長(zhǎng)碼(CAVLC)和基于上下文的自適應(yīng)二進(jìn)制算術(shù)編碼(CABAC);如果不是殘差,采用Exp-Golomb碼或CABAC編碼,視編碼器的設(shè)置而定。
(1)CAVLC
VLC的基本思想就是對(duì)出現(xiàn)頻率高的符號(hào)使用較短的碼字,而對(duì)出現(xiàn)頻率低的符號(hào)采用較長(zhǎng)的碼字。這樣可以使得平均碼長(zhǎng)最小。
在CAVLC中,采用若干VLC碼表,不同的碼表對(duì)應(yīng)不同的概率模型。編碼器能夠根據(jù)上下文,如周圍塊的非零系數(shù)或系數(shù)的絕對(duì)值大小,在這些碼表中自動(dòng)地選擇,盡可能地與當(dāng)前數(shù)據(jù)的概率模型匹配,從而實(shí)現(xiàn)上下文自適應(yīng)的功能。
(2)CABAC
算術(shù)編碼是一種高效的熵編碼方案,其每個(gè)符號(hào)所對(duì)應(yīng)的碼長(zhǎng)被認(rèn)為是分?jǐn)?shù)。由于對(duì)每一個(gè)符號(hào)的編碼都與以前編碼的結(jié)果有關(guān), 所以它考慮的是信源符號(hào)序列整體的概率特性,而不是單個(gè)符號(hào)的概率特性,從而能夠更大程度地逼近信源的極限熵,降低碼率。
中的CABAC實(shí)現(xiàn)了繞開算術(shù)編碼中無限精度小數(shù)的表示問題和對(duì)信源符號(hào)概率進(jìn)行估計(jì)的問題。在CABAC中,每編碼一個(gè)二進(jìn)制符號(hào),編碼器就會(huì)自動(dòng)調(diào)整對(duì)信源概率模型(用一個(gè)“狀態(tài)”來表示)的估計(jì),隨后的二進(jìn)制符號(hào)就在這個(gè)新的概率模型基礎(chǔ)上進(jìn)行編碼。這樣的編碼器不需要信源統(tǒng)計(jì)特性的先驗(yàn)知識(shí),而是在編碼過程中自適應(yīng)地估計(jì)。這使得CABAC有更大的靈活性,可以獲得更好的編碼性能—碼率降低大約10%。
5、SP Slice
SP Slice的主要目的是用于不同碼流的切換,也可用于碼流的隨機(jī)訪問、快進(jìn)/快退和錯(cuò)誤恢復(fù)。這里指的不同碼流,是指在不同比特率限制下對(duì)同一信源進(jìn)行編碼所產(chǎn)生的碼流。設(shè)切換前傳輸碼流中最后一幀為Al,切換后的目標(biāo)碼流第一幀為B2(假設(shè)是P幀),由于B2的參考幀不存在,直接切換顯然會(huì)導(dǎo)致嚴(yán)重失真,而且這種失真會(huì)向后傳遞。簡(jiǎn)單的解決方法就是傳輸幀內(nèi)編碼的B2,但是一般I幀的數(shù)據(jù)量很大,這種方法會(huì)造成傳輸碼率陡然增大。根據(jù)前面的假設(shè),由于是對(duì)同一信源進(jìn)行編碼,盡管比特率不同,但切換前后的兩幀必然有相當(dāng)大的相關(guān)性,所以編碼器可以將Al作為B2的參考幀,對(duì)B2進(jìn)行幀間預(yù)測(cè),預(yù)測(cè)誤差就是SP Slice,然后通過傳遞SP Slice完成碼流的切換。與常規(guī)P幀不同的是,生成SP Slice所進(jìn)行的預(yù)測(cè)是在Al和B2的變換域中進(jìn)行的。SP Slice要求切換后B2的圖像和直接傳送目標(biāo)碼流時(shí)一樣。當(dāng)然,如果切換的目標(biāo)是毫不相關(guān)的另一碼流,SP Slice就不適用了。
評(píng)論