摘 要:針對(duì)目前AVS2幀內(nèi)預(yù)測(cè)編碼模式的選擇和計(jì)算過程相對(duì)復(fù)雜的問題,提出了一種基于零系數(shù)塊和底層角度判決的AVS2幀內(nèi)預(yù)測(cè)算法。該算法先判斷當(dāng)前子塊是否為零系數(shù)塊,避免對(duì)零系數(shù)塊進(jìn)行變換等幀內(nèi)編碼的復(fù)雜操作。對(duì)于非零系數(shù)塊,通過底層角度判決,從理論上排除了至少40%不可能的預(yù)測(cè)模式。實(shí)驗(yàn)表明,該算法對(duì)壓縮效率的影響很小,將PSNR下降控制在0.2dB內(nèi),平均比特?cái)?shù)增加少于2%,編碼時(shí)間至少減少26%,有效地降低幀內(nèi)編碼的復(fù)雜度。
關(guān)鍵詞:AVS2;幀內(nèi)預(yù)測(cè);零系數(shù)塊;編碼單元;底層角度判決
1 概述
AVS是我國(guó)第一個(gè)擁有自主知識(shí)產(chǎn)權(quán)的音視頻編碼標(biāo)準(zhǔn)[1]。在高清、超高清等應(yīng)用需求的推動(dòng)下,更高壓縮效率的視頻編碼技術(shù)迅速發(fā)展。在此基礎(chǔ)的背景上,2012年,工作組開始準(zhǔn)備新一代音視頻編碼標(biāo)準(zhǔn)的制定工作,截至2014年6月,制定工作基本完成,即(Audio Video coding StandardⅡ,AVS2)。經(jīng)過測(cè)試發(fā)現(xiàn),AVS2的編碼效率比第一代標(biāo)準(zhǔn)提高一倍以上,與最新國(guó)際標(biāo)準(zhǔn)HEVC(High Efficiency Video Coding)相當(dāng)[2]。
AVS2采用的關(guān)鍵技術(shù)主要有預(yù)測(cè)編碼、變換編碼和熵編碼等。統(tǒng)計(jì)并比較AVS2各部分的編碼時(shí)間可以發(fā)現(xiàn),幀內(nèi)預(yù)測(cè)部分消耗的時(shí)間(約35%)在各主要部分中占首位,新技術(shù)在提高壓縮效率的同時(shí),也顯著增加了編碼復(fù)雜度。
目前針對(duì)如何降低視頻編碼幀內(nèi)預(yù)測(cè)的計(jì)算復(fù)雜度的研究有, 雷海軍,危雄,楊張等提出一種基于邊緣方向強(qiáng)度檢測(cè)的快速幀內(nèi)預(yù)測(cè)模式?jīng)Q策算法[3],但該算法主要針對(duì)HEVC;陳云善,蘇宛新,王春霞等提出一種基于(Sum of Absolute Transformed Difference,SATD)準(zhǔn)則和空間相關(guān)性的快速幀內(nèi)預(yù)測(cè)算法[4]來優(yōu)化幀內(nèi)預(yù)測(cè)模式的選擇過程;PALOMINO D, CAVICHIOLI E, SUSIN A提出一種基于在編碼樹塊的新檢測(cè)順序的快速幀內(nèi)模式?jīng)Q策算法[5]。文章在結(jié)合零系數(shù)塊的基礎(chǔ)上,針對(duì)如何降低幀內(nèi)預(yù)測(cè)模式,提出一種基于零系數(shù)塊和底層角度判決的AVS2幀內(nèi)預(yù)測(cè)算法。
2 AVS2幀內(nèi)預(yù)測(cè)主要結(jié)構(gòu)
AVS2采用四叉樹編碼結(jié)構(gòu),從圖1中我們可以看到,將一幅圖像劃分為若干個(gè)最大編碼單元(Largest Coding Unit,LCU),其最大尺寸為64×64。然后按照四叉樹遞歸的方式可以將LCU劃分為各種尺寸的編碼單元CU,CU的尺寸可以表示成L×L的樣式,L的取值有8,16,32或64。
不同的編碼單元可以通過不同的方式劃分成預(yù)測(cè)單元(prediction unit,PU)進(jìn)行預(yù)測(cè)編碼,在劃分PU的形狀中,相比AVS1,AVS2增添了一種非對(duì)稱的劃分方法,它只適用于亮度子塊,對(duì)色度子塊則不適用,通過非方形劃分方式的引入,大大降低了相互之間的預(yù)測(cè)距離,使預(yù)測(cè)精度得到提高,因此又被稱為短距離幀內(nèi)預(yù)測(cè)(short distance intra predicion, SDIP),如圖2所示。
在預(yù)測(cè)方向上,與AVS1相比,AVS2增加了更多的預(yù)測(cè)模式。AVS2的每個(gè)亮度預(yù)測(cè)模塊運(yùn)用了33種幀內(nèi)預(yù)測(cè)模式,如圖3 所示,其中編號(hào)3~32屬于運(yùn)用于變化區(qū)域的角度預(yù)測(cè)模式,編號(hào)0~2屬于運(yùn)用于平滑區(qū)域的非角度預(yù)測(cè)模式,包括DC、Plane和bilinear三種模式。
為了確定AVS2幀內(nèi)任何一個(gè)LCU下所有的幀內(nèi)預(yù)測(cè)模式,不僅需要遍歷所有尺寸下的CU,還要對(duì)每個(gè)CU中任意劃分的所有PU進(jìn)行33種角度預(yù)測(cè)模式遍歷。從遍歷的過程可以發(fā)現(xiàn),AVS2的幀內(nèi)預(yù)測(cè)計(jì)算量非常龐大,同時(shí)也造成編碼復(fù)雜度的提高,如何減少遍歷的模式數(shù)量和簡(jiǎn)化計(jì)算過程成為研究的重點(diǎn)。
3 零系數(shù)塊
3.1 零系數(shù)塊的引出
在AVS2的參考軟件中,視頻原始信號(hào)先通過幀內(nèi)預(yù)測(cè)和幀間預(yù)測(cè)編碼獲取殘差信號(hào),而后通過編碼器對(duì)殘差信號(hào)進(jìn)行一系列的整數(shù)變換和量化,對(duì)得到的量化系數(shù)進(jìn)行最終的熵編碼,對(duì)視頻信號(hào)的編碼也隨之結(jié)束。經(jīng)實(shí)驗(yàn)檢驗(yàn),在全部視頻序列中存在著一種特殊的編碼模塊,其量化系數(shù)全部為零,這意味著對(duì)零系數(shù)塊編碼沒有任何意義,我們稱之為全零系數(shù)塊(Zero Block,ZB)[7]。
零系數(shù)塊的統(tǒng)計(jì)情況如表1所示,不同的碼流中零系數(shù)塊在各自宏塊中占有很大的比例,并且隨著量化步長(zhǎng)的增大而增大。因此尋找一種能夠在整數(shù)變換之前,利用殘差信號(hào)的相關(guān)信息提前判斷出當(dāng)前子塊為ZB的方法成為降低編碼復(fù)雜度的有效手段。