于成業(yè),何小海,滕奇志,鐘國韻,李 元
(四川大學(xué)電子信息學(xué)院,四川成都610064)
隨著高清、超高清視頻的應(yīng)用,目前主流的H.264/AVC[1]視頻編碼技術(shù)已經(jīng)逐漸不能滿足高壓縮率的要求。面向高清視頻應(yīng)用的新一代國際視頻標(biāo)準(zhǔn)HEVC(High Efficiency Video Coding)[2]最終草案已經(jīng)于2013年1月發(fā)布,在保持H.264/AVC標(biāo)準(zhǔn)視頻質(zhì)量的基礎(chǔ)上,基本完成了使碼率降低一半,即壓縮率提高了一倍的目標(biāo)。
HEVC視頻編碼標(biāo)準(zhǔn)在H.264/AVC視頻編碼技術(shù)的基礎(chǔ)上做了很多方面的技術(shù)改進(jìn)。相對于H.264/AVC中劃分的宏塊和子宏塊,HEVC中定義了3種編碼單元:編碼單元(CU)、預(yù)測單元(PU)和變換單元(TU)。一個CU又可以劃分為多種PU,HEVC中最多有8種不同的幀間PU預(yù)測模式。HEVC中的幀間預(yù)測由不同尺寸CU預(yù)測模式和不同的PU模式組合而得,PU尺寸包括64×64、32×32、16×16、8×8和4×4,并且其PU 的分割方式包括對稱PU模式和非對稱PU模式。通過這些更精細(xì)的劃分,提高了幀間預(yù)測的塊匹配精度。另外,HEVC還定義了一種稱為融合模式的方法,該方法利用時域上或者空域上相鄰的塊直接復(fù)制數(shù)據(jù)來對當(dāng)前塊進(jìn)行編碼,該方法極大地降低了編碼數(shù)據(jù)量,從而提高了編碼壓縮率。
HEVC中幀間預(yù)測保留了H.264中基于塊匹配的運(yùn)動估計技術(shù),而塊匹配運(yùn)動估計的思想是利用矩形塊對運(yùn)動物體進(jìn)行運(yùn)動估計,具體到HEVC中就是利用不同的PU形狀和尺寸對視頻圖像進(jìn)行匹配估計,然而在實際的視頻圖像中,運(yùn)動物體的運(yùn)動邊界是規(guī)則的并不多,如果視頻中多數(shù)幀都是此種情況,運(yùn)動估計發(fā)生偏差的可能性就較大,造成幀間預(yù)測的殘差較大,最終導(dǎo)致編碼碼率較高[3]。如果采用非規(guī)則分塊的方式,運(yùn)動估計塊匹配的精度就會更高,幀間預(yù)測的殘差也會更小,編碼碼率就能夠得到一定程度的降低。因此,本文提出了非規(guī)則PU模式方法,為實現(xiàn)該方法在幀間預(yù)測方面做了改進(jìn),最后為降低非規(guī)則PU模式判決過程的計算復(fù)雜度設(shè)計了一種快速算法。
目前的HEVC標(biāo)準(zhǔn)中定義了8種不同的PU預(yù)測模式,如圖1所示,但這些都是相對規(guī)則PU預(yù)測模式。基于引言中所述,在HEVC視頻編碼框架下采用非規(guī)則分塊方式可以有效地提高幀間預(yù)測的塊匹配精度,從而相應(yīng)地可以減小幀間預(yù)測殘差。部分文獻(xiàn)也提出了HEVC視頻編碼框架下的一些非規(guī)則PU模式算法。文獻(xiàn)[4-5]提出了加入一定數(shù)量的非規(guī)則PU模式的方法來降低碼率,但是由于加入較多的PU預(yù)測模式,導(dǎo)致計算復(fù)雜度增加。文獻(xiàn)[6]提出了一種自適應(yīng)分塊方式將CU分成兩種非規(guī)則PU,該方法定義了兩個參數(shù)r、d來確定PU的分割邊界,通過這兩個參數(shù)來確定非規(guī)則PU的劃分方式,如圖2所示,實驗數(shù)據(jù)顯示采用這種方法降低了4%左右的編碼碼率,但計算復(fù)雜度卻升高了100%左右。文獻(xiàn)[7]提出了如圖3所示的6種非規(guī)則PU模式,但只是在CU尺寸為8×8時才進(jìn)行遍歷,實驗數(shù)據(jù)顯示在計算復(fù)雜度升高20%的情況下,編碼碼率降低了1%左右。
圖1 HEVC中8種PU模式
圖2 文獻(xiàn)[6]中的非規(guī)則PU分塊方式
圖3 文獻(xiàn)[7]中的非規(guī)則PU分塊方式
結(jié)合以上文獻(xiàn)已有的非規(guī)則分塊方法,提出如圖4所示的兩種非規(guī)則PU模式;從圖中可以看出,采用的非規(guī)則PU模式與文獻(xiàn)[7]中的兩種PU模式相同,如圖3中的標(biāo)號5,6。區(qū)別是將這兩種PU模式加入到各種CU尺寸的遍歷中去,而文獻(xiàn)[7]中的非規(guī)則PU模式只在CU尺寸為8×8時才會遍歷。HEVC的CU采用四叉樹劃分機(jī)制,因此文獻(xiàn)[7]中的其他4種模式(圖3中標(biāo)號1,2,3,4)與兩種非規(guī)則PU模式在四叉樹遍歷的機(jī)制下,會出現(xiàn)較多的重復(fù),所以不再加入文獻(xiàn)[7]中的另外4種PU模式。另外,8×8尺寸的CU已經(jīng)足夠精細(xì)地表現(xiàn)視頻圖像中的紋理細(xì)節(jié),如果在8×8尺寸的CU中加入非常詳細(xì)的非等分非規(guī)則PU模式,反而只會增加計算復(fù)雜度,得不到很好的效果。綜合以上分析可知,只需將圖4中的PU模式加入到各種CU尺寸的遍歷中去,在充分降低HEVC編碼碼率的情況下,避免計算復(fù)雜度不必要的上升。
圖4 非規(guī)則PU模式
國內(nèi)外的一些學(xué)者和研究機(jī)構(gòu)也在致力于非規(guī)則運(yùn)動估計方法研究,普林斯頓大學(xué)、臺灣國立大學(xué)等[8-9]提出了基于內(nèi)容的自適應(yīng)運(yùn)動搜索方法,通過判斷前一幀的搜索范圍,來確定當(dāng)前幀的搜索范圍。密蘇里大學(xué)[10]提出了一種在解碼端學(xué)習(xí)的方法,實驗結(jié)果表明該方法能夠得到較好的視頻圖像質(zhì)量。美國加州大學(xué)[11]提出了通過比較當(dāng)前幀與參考幀之間的相位相關(guān)性確定初始搜索點(diǎn),減少了幀間預(yù)測過程中運(yùn)動估計所用的時間。以上文獻(xiàn)的運(yùn)動估計方法都是針對運(yùn)動物體的運(yùn)動邊界是規(guī)則的情況,這些方法并不完全適合非規(guī)則的運(yùn)動估計。因此,需要深入研究非規(guī)則塊運(yùn)動估計方法,來降低幀間預(yù)測運(yùn)動估計過程的計算復(fù)雜度。
基于兩種非規(guī)則PU模式方法,對MV預(yù)測過程也做了相應(yīng)改進(jìn),把一個CU分成兩個非規(guī)則PU,并分別對這兩個PU分塊進(jìn)行運(yùn)動估計,這樣通過運(yùn)動補(bǔ)償?shù)玫降臍埐顢?shù)據(jù)就會更小,運(yùn)動估計也會更準(zhǔn)確。HEVC標(biāo)準(zhǔn)中定義了不同的PU模式運(yùn)動方向,由于把一個CU分成兩個非規(guī)則PU,并分別進(jìn)行運(yùn)動估計,則這兩個PU分塊的MV運(yùn)動信息不相同。因此,對當(dāng)前的PU分塊進(jìn)行運(yùn)動估計時就不用參考與之在同一個CU里的相鄰PU的MV了。
HEVC標(biāo)準(zhǔn)中的運(yùn)動向量融合技術(shù)利用時域上或者空域上相鄰的塊直接復(fù)制數(shù)據(jù)來對當(dāng)前塊進(jìn)行編碼,并不需要對宏塊進(jìn)行運(yùn)動估計,直接使用選出的最佳運(yùn)動估計信息(運(yùn)動矢量、參考幀序號)對當(dāng)前PU進(jìn)行幀間預(yù)測。由于加入了非規(guī)則PU模式方式,為適應(yīng)該算法,幀間預(yù)測中運(yùn)動向量融合方式也要做相應(yīng)改進(jìn),對比HEVC中規(guī)則PU模式的融合方式,本文使HEVC中空域上原有的融合方式保持不變,增加了如圖5所示的融合方式。由于處于同一個CU分塊中的兩個非規(guī)則PU模式具有不同的MV信息,而兩個非規(guī)則PU的MV信息是基于相鄰重建塊的MV信息參考而得的,圖5a、圖5b、圖5c中當(dāng)前PU分塊分別與1,3及5相鄰塊之間了間隔了一個相鄰PU分塊,而當(dāng)前PU的相鄰PU的MV信息與1,3,5相鄰塊相近,則當(dāng)前PU分塊的MV信息不會和這些相鄰塊相同。因此圖5中的3種情況下不再進(jìn)行融合。
圖5 增加的非規(guī)則PU的融合方式
由圖2可知HEVC的幀間預(yù)測PU模式包括4種對稱PU模式和4種非對稱幀間PU模式,共8種規(guī)則的PU模式。如引言中所述HEVC還定義了一種稱為融合模式的方法。因此HEVC中每種非對稱PU模式對應(yīng)非對稱PU模式預(yù)測過程和非對稱PU融合模式預(yù)測過程。為了去除冗余的預(yù)測模式,HEVC也定義了相應(yīng)的針對對稱和非對稱PU模式的快速算法[12-14],在保證編碼質(zhì)量的情況下省去不必要的計算量,同樣在每一種尺寸的CU中加入非規(guī)則PU模式的遍歷,雖然可以增加幀間預(yù)測的準(zhǔn)確度降低碼率,但同時也會增加編碼計算復(fù)雜度。因此,有必要找到一種可以自適應(yīng)跳過非規(guī)則PU模式的幀間預(yù)測快速算法。本文設(shè)計了一種針對非規(guī)則PU模式的快速算法,分為下面的兩種情況,算法如下:
1)非規(guī)則PU模式
(1)當(dāng)CU尺寸為64×64或最佳PU預(yù)測模式(遍歷當(dāng)前CU所有的PU模式,取其中率失真代價值最小的一種PU模式)為融合模式時跳過兩種非規(guī)則PU模式。由于當(dāng)前CU(64×64)尺寸太大,此時不可能達(dá)到CU的最佳劃分,使用過多的PU模式只會增加計算復(fù)雜度,因此跳過兩種非規(guī)則PU模式,當(dāng)最佳PU預(yù)測模式為融合模式時,則可知當(dāng)前CU的預(yù)測參考了周邊CU運(yùn)動估計信息,為避免不必要的計算復(fù)雜度,同樣跳過兩種非規(guī)則PU模式。
(2)當(dāng)最佳PU預(yù)測模式不為融合模式時,由于非規(guī)則PU模式和PU模式三大分割類中的任何一類都不相同,直接遍歷兩種非規(guī)則PU模式。
2)非規(guī)則PU融合模式
(1)當(dāng)最佳PU預(yù)測模式為skip模式時,當(dāng)前CU基本是采用融合模式,但不分割類的融合模式的預(yù)測精度不是很理想,采用兩種非規(guī)則PU融合模式能夠有效提高預(yù)測精度,因此遍歷兩種非規(guī)則PU融合模式。
(2)當(dāng)前CU上一層CU的最佳PU預(yù)測模式為幀內(nèi)PU模式且其最佳PU預(yù)測模式為非對稱分割類的橫向分割類或豎向分割類的PU模式時,當(dāng)前CU基本是采用融合模式,而且可能處在像素紋理詳細(xì)或運(yùn)動特性比較復(fù)雜的區(qū)域,由于非規(guī)則PU模式和PU模式三大分割類中的任何一類都不相同;則遍歷兩種非規(guī)則PU融合模式。
(3)其他情況跳過兩種非規(guī)則PU融合模式。
本文將所提方法與HM8.0測試模型進(jìn)行比較,實驗平臺為HM8.0標(biāo)準(zhǔn)測試環(huán)境,為體現(xiàn)算法的普適性,采用了8種視頻序列。測試其中的前100幀,圖像組結(jié)構(gòu)(GoP)設(shè)為“IPPP”,CU 尺寸為64×64,32×32,16×16和8×8等4種。QP值取22,27,32和37。為了比較本文算法和HM8.0算法之間的性能,將不采用快速算法的非規(guī)則PU模式算法和采用快速算法的非規(guī)則PU模式算法分別與HM8.0測試模型進(jìn)行對比,其計算公式為
式中:ΔP,ΔB和ΔT分別表示本文算法與HM8.0測試模型算法在PSNR(峰值信噪比)、編碼碼率和編碼時間三項數(shù)值上的差值;PPRO和PREF分別表示所提出的算法和HM8.0測試模型算法的PSNR;BPRO和BREF分別表示所提出的算法和HM8.0測試模型算法的編碼碼率;TPRO和TREF分別表示所提出的算法和HM8.0測試模型算法的編碼時間。算法實驗結(jié)果如表1所示,從表中可以看出,在不使用快速算法的情況下使用非規(guī)則PU模式可以節(jié)省2.24%的碼率,編碼時間上升37.26%,PSNR波動較小。在加入快速算法之后,碼率節(jié)省雖然下降了1.09%,但編碼的時間大幅節(jié)省,與HEVC原始算法相比只上升了10.91%,同時PSNR波動較小,由于HEVC視頻編碼標(biāo)準(zhǔn)中碼率的降低相對比較困難,文獻(xiàn)[6]在編碼時間升高一倍的情況下,碼率降低了4%左右;文獻(xiàn)[7]在編碼時間升高20%的情況下,碼率降低了1%左右,故通過比較可知,本文算法實驗結(jié)果是非常理想的。
表1 非規(guī)則PU模式算法與HM8.0測試模型算法比較結(jié)果
本文從降低HEVC編碼碼率的角度,提出了兩種非規(guī)則PU模式,為適應(yīng)該非規(guī)則模式重新設(shè)計了部分幀間預(yù)測過程,最后為降低非規(guī)則PU模式判決過程計算復(fù)雜度設(shè)計了一種快速算法。實驗結(jié)果顯示,相比已有的HEVC編碼方法,基于非規(guī)則PU模式的HEVC編碼方式在時間上升高37.26%,在PSNR波動很小的情況下,平均節(jié)省碼率2.24%。在加入快速算法的情況下,計算復(fù)雜度大幅降低,平均節(jié)省碼率1.09%,編碼時間只上升了10.91%。
[1]WIEGAND T,SULLIVAN G,BJONTEGAARD G,et al.Overview of the H.264/AVC video coding standard[J].IEEE Trans.Circuits Syst.Video Technol.,2003,13(7):560-576.
[2]UGUR K,ANDERSSON K,F(xiàn)ULDSETH A,et al.High performance,low complexity video coding and the emerging HEVC standard[J].IEEE Trans.Circuits Syst.Video Technol.,2010,20(12):1688-1697.
[3]何小海,王正勇.數(shù)字圖像通信及其應(yīng)用[M].成都:四川大學(xué)出版社,2006.
[4]ZHENG Xiaozhen,YU Haoping.Huawei& HiSilicon report on flexible motion partitioning coding[EB/OL].[2013-10-02].http://phenix.int-evry.fr/jct/.
[5]ZHENG Xiaozhen,YU Haoping.Huawei& HiSilicon report on flexible motion partitioning[EB/OL].[2013-10-02].http://phenix.int-evry.fr/jct/.
[6]EDOUARD F,PHILIPPE B,GUO L.Simplified geometry block partitioning[EB/OL].[2013-10-02].http://phenix.int-evry.fr/jct/.
[7]ZHENG Xiaozhen,YU Haoping,LI Shao,et al.Non-rectangular motion partitioning[EB/OL].[2013-10-02].http://phenix.int-evry.fr/jct/.
[8]SU Yeping,SUN Mingting.Fast multiple reference frame motion estimation for H.264/AVC[J].IEEE Trans.Circuits Syst.Video Technol.,2006,16(3):447-452.
[9]HUANG Y,HSIEH B,CHIEN S,et al.Analysis and complexity reduction of multiple reference frames motion estimation in H.264/AVC[J].IEEE Trans.Circuits Syst.Video Technol.,2006,16(3):507-522.
[10]LIU Wei,DONG Lina,ZENG Wenjun.Motion refinement based progressive side-information estimation for wyner-ziv video coding[J].IEEE Trans.Circuits Syst.Video Technol.,2010,20(12):1863-1875.
[11]PAUL M,LIN W,LAU C,et al.Direct inter mode selection for H.264 video coding using phase correlation[J].IEEE Trans.Image Processing,2011,20(2):461-473.
[12]CHOI K,PARK S,JANG E.Coding tree pruning based CU early termination[EB/OL].[2013-10-02].http://phenix.int-evry.fr/jct/.
[13]ZHONG Guoyun,HE Xiaohai,QING Linbo,et al.Fast inter-mode decision algorithm for high-efficiency video coding based on similarity of coding unit segmentation and partition mode between two temporally adjacent frames[J].Journal of Electronic Imaging,2013,22(2):1-19.
[14]李元,何小海,鐘國韻,等.一種基于時域相關(guān)性的高性能視頻編碼快速幀間預(yù)測單元模式判決算法[J].電子與信息學(xué)報,2013,35(10):2365-2370.