成益龍,滕國(guó)偉,2,石旭利,王國(guó)中,2
(1.上海大學(xué)通信與信息工程學(xué)院,上海 200072;2.上海國(guó)茂數(shù)字技術(shù)有限公司,上海 201204)
HEVC(High Efficiency Video Coding)是由ISO/IEC(MPEG)和ITU-T(VCEG)正在規(guī)劃的新一代視頻編碼標(biāo)準(zhǔn),它的核心目標(biāo)是在 H.264/AVC High Profile[1]的基礎(chǔ)上,壓縮效率提高1倍,即在保證相同視頻圖像質(zhì)量的前提下,視頻流的碼率減少50%。HEVC部分繼承了現(xiàn)有的視頻編碼標(biāo)準(zhǔn)H.264/AVC的技術(shù),同時(shí)對(duì)一些相關(guān)的技術(shù)進(jìn)行了改進(jìn),其中包括幀內(nèi)預(yù)測(cè)技術(shù)[2-5]。
為了對(duì)高分辨力的視頻進(jìn)行有效壓縮,HEVC采用CU(Code Unit),PU(Prediction Unit)以及 TU(Transform Unit)進(jìn)行編碼、預(yù)測(cè)和變換等操作。CU和H.264/AVC中宏塊以及子宏塊的概念類似,但是其尺寸更加靈活。CU的尺寸按四叉樹(shù)遞歸的方式,根據(jù)深度的不同可以分為64×64,32×32,16×16,8×8。在每個(gè)深度的CU 中,多個(gè)不同尺寸的PU進(jìn)行幀內(nèi)預(yù)測(cè)編碼,從高達(dá)34個(gè)預(yù)測(cè)方向中選取最佳預(yù)測(cè)方向。在所有不同深度的CU遍歷完成之后,根據(jù)計(jì)算得到的率失真代價(jià)值確定CU的最佳劃分尺寸以及幀內(nèi)預(yù)測(cè)方向。
由于更加靈活的編碼塊CU的采用以及高達(dá)34個(gè)的幀內(nèi)預(yù)測(cè)方向,HEVC的幀內(nèi)預(yù)測(cè)十分精準(zhǔn),但是這也帶來(lái)了極大的計(jì)算量。HEVC的幀內(nèi)預(yù)測(cè)過(guò)程比H.264/AVC更為復(fù)雜,復(fù)雜度可達(dá)其數(shù)倍以上,這將極大影響HEVC標(biāo)準(zhǔn)的實(shí)際應(yīng)用,因此提高HEVC幀內(nèi)預(yù)測(cè)處理速度是十分必要的。
HM(Tmuc)是JCT-VC采用的HEVC的標(biāo)準(zhǔn)測(cè)試模型[6],該模型采用樹(shù)型結(jié)構(gòu)編碼單元CU,對(duì)于亮度像素CU,其尺寸可以從64×64一直遞歸劃分至8×8。圖1表示CU的劃分結(jié)構(gòu)。
每一深度的CU可以被劃分稱為較小的CU,例如,對(duì)于depth=n的CU,如果它的劃分標(biāo)志位(split flag)為1,那么它將繼續(xù)劃分為depth=n+1的4個(gè)較小CU,每個(gè)較小CU的尺寸是上一深度CU的1/4。
PU(Prediction Unit)是預(yù)測(cè)單元,它是定義在一個(gè)CU中的,對(duì)于幀間預(yù)測(cè)、幀內(nèi)預(yù)測(cè)以及SKIP模式,PU具有不同的劃分結(jié)構(gòu)。
TU(Transform Unit)是變換以及量化的單元。TU的尺寸必須小于或等于CU的尺寸,但是需要大于PU的尺寸。TU的尺寸可以分為2N×2N,N×N或者N/2×N/2。
圖1 CU的樹(shù)型結(jié)構(gòu)
和H.264/AVC一樣,HEVC也采用RDO準(zhǔn)則進(jìn)行最佳幀內(nèi)預(yù)測(cè)方向的選取,但是不同于前者的是,在HEVC的參考模型HM中,預(yù)測(cè)方向多達(dá)34個(gè),對(duì)于不同的PU尺寸,預(yù)測(cè)方向的數(shù)目不同。
在HEVC的參考代碼HM2.0中,尺寸為4×4,8×8,16×16,32×32,64×64的 PU,其對(duì)應(yīng)的幀內(nèi)方向個(gè)數(shù)分別為17,34,34,34,3。結(jié)合不同尺寸 PU 的特點(diǎn),預(yù)測(cè)方向分別不同。如此多的預(yù)測(cè)方向極大地提高了幀內(nèi)預(yù)測(cè)的準(zhǔn)確性,但也急劇增加了預(yù)測(cè)的復(fù)雜度。
目前對(duì)于HEVC快速幀內(nèi)預(yù)測(cè)算法的研究工作還處于起步階段,HEVC的參考模型HM2.0采用了三星公司提出的幀內(nèi)快速算法[7]來(lái)減少預(yù)測(cè)方向,取得了良好的效果。三星的快速幀內(nèi)預(yù)測(cè)算法流程[7-8]是:
1)確定最大候選預(yù)測(cè)方向個(gè)數(shù)。對(duì)于不同尺寸的PU,最大的候選預(yù)測(cè)方向個(gè)數(shù)不同,其中對(duì)于16×16,32×32,64×64的PU只有3個(gè)預(yù)測(cè)方向,對(duì)于4×4和8×8的PU有8個(gè)預(yù)測(cè)方向。
2)對(duì)于每個(gè)可用的PU進(jìn)行預(yù)測(cè),對(duì)殘差進(jìn)行Hadamard變換得到HSATD(Hadamard Sum Absolute Transform Difference),選擇使公式(1)最小的幾個(gè)預(yù)測(cè)模式作為候選模式
3)將上一步得到的幾個(gè)候選模式加上最可能模式之后利用公式(2)選取使RDCost最小的方向?yàn)樽罴杨A(yù)測(cè)方向。其中最可能方向是當(dāng)前PU左方以及上方的預(yù)測(cè)模式的最小值,若左方以及上方均不可用,則將最可能模式設(shè)為DC模式。
經(jīng)過(guò)三星公司快速算法選擇后,預(yù)測(cè)方式的數(shù)量可以有效降低,但相對(duì)而言候選預(yù)測(cè)方向仍然較多,可以進(jìn)一步優(yōu)化。
實(shí)際上,考慮到幀內(nèi)預(yù)測(cè)方向的時(shí)間相關(guān)性,相鄰幀共同位置處的最佳預(yù)測(cè)方向可以為當(dāng)前幀最佳預(yù)測(cè)方向的確定提供參考。另外,最佳CU尺寸亦存在時(shí)間上的相關(guān)性。由于視頻序列的連續(xù)性,相鄰兩幀相同位置處CU的尺寸不會(huì)相差太大。例如對(duì)于相鄰的兩個(gè)圖像A和B,若A中x位置處的CU最佳尺寸為64×64,那么B圖像x處的CU的最佳尺寸也應(yīng)多為64×64或者32×32;若A中y位置處的CU最佳尺寸為8×8,那么B中y處的CU的最佳尺寸也應(yīng)多為8×8或者16×16,如圖2所示。因此可以利用這一特性對(duì)當(dāng)前幀最佳CU尺寸進(jìn)行提前判定。
圖2 當(dāng)前幀與前一幀共同位置的CU
本文提出的算法從兩個(gè)層面對(duì)HEVC的幀內(nèi)預(yù)測(cè)技術(shù)進(jìn)行優(yōu)化,首先在CU層,然后在PU層:在CU層利用前后幀CU尺寸的相關(guān)性,根據(jù)前幀相同位置以及周圍CU尺寸來(lái)減少當(dāng)前幀CU的劃分;在PU層在已有的三星快速算法[7]基礎(chǔ)上結(jié)合CU層相關(guān)性進(jìn)一步減少了幀內(nèi)預(yù)測(cè)的模式數(shù)。
最佳CU尺寸存在時(shí)間上的相關(guān)性,相鄰幀共同位置處CU以及共同位置處周圍的CU可以用來(lái)預(yù)測(cè)當(dāng)前幀CU的最佳尺寸。CU層快速算法基于這一思想來(lái)提前終止CU的劃分或者跳過(guò)某些深度的CU編碼,具體算法如下:
1)第一幀圖像進(jìn)行正常編碼,存儲(chǔ)編碼后各位置的CU深度(Depth)。
2)若當(dāng)前CU的深度等于前一幀相同位置處、相同位置處上方、相同位置處左方CU的深度,則僅對(duì)當(dāng)前深度CU編碼并結(jié)束CU的劃分;若當(dāng)前CU的深度僅等于前一幀相同位置處CU深度,則對(duì)當(dāng)前CU以及下一深度進(jìn)行編碼,隨后結(jié)束CU的劃分。
3)否則,若當(dāng)前CU的深度Depth(Cur)小于前一幀相同位置處CU的深度減1,跳過(guò)當(dāng)前CU的編碼,進(jìn)入下一深度的CU。
4)否則,對(duì)當(dāng)前CU進(jìn)行編碼和劃分。
三星公司的快速算法雖然能取得較好效果,但是它沒(méi)有考慮到視頻圖像間的空間和時(shí)間的相關(guān)性,因此需要計(jì)算的預(yù)測(cè)方向仍很多,尤其對(duì)于4×4和8×8尺寸的PU而言,數(shù)量較大。
實(shí)際上對(duì)于時(shí)間相鄰的兩幀,其相同位置處的預(yù)測(cè)方向是存有較大的相關(guān)性,如表1針對(duì)各種序列的統(tǒng)計(jì)結(jié)果所示。
表1 相鄰幀預(yù)測(cè)方向的相關(guān)性
由表1可見(jiàn),56.36%的當(dāng)前幀的預(yù)測(cè)方向是前一幀相同位置處預(yù)測(cè)方向或者該方向周圍的4個(gè)方向。因此可以在選出候選模式之后,考察各個(gè)候選模式(HCost最小的候選塊除外)是否是前一幀共同位置CU預(yù)測(cè)方向或者左右的各兩個(gè)方向,若候選模式不在此范圍中,且其HCost大于最小HCost(min)的a倍,則將其排除出候選模式。其中a是經(jīng)驗(yàn)值,經(jīng)實(shí)驗(yàn)驗(yàn)證取1.2為宜??紤]到4×4以及8×8尺寸PU的候選模式為要明顯多于其他尺寸的,因此改進(jìn)算法只應(yīng)用于4×4以及8×8的PU,具體流程如圖3所示。
1)對(duì)第一幀圖像正常編碼。
2)利用三星的快速算法得到候選模式集合,確定HCost最小的候選模式。
3)考察除了HCost最小的候選模式,若候選模式不在前一幀共同位置CU預(yù)測(cè)方向周圍,且其HCost>1.2×HCost(min),則將其排除出候選模式集。重復(fù)步驟3),直到所有候選模式考察完畢。
4)從由步驟3)得到的候選模式集中選出最佳的預(yù)測(cè)模式。
圖3 PU層快速算法流程
本文的快速幀內(nèi)預(yù)測(cè)算法在HEVC的測(cè)試模型HM 2.0已經(jīng)實(shí)現(xiàn),編碼格式為全I(xiàn)幀??紤]到HEVC未來(lái)會(huì)應(yīng)用到高分辨力圖像中去,因此測(cè)試序列以高清和標(biāo)清為主,具體為1920×1088p,1280×720p和720×576p,共6個(gè)序列。每個(gè)序列的QP分別為26,32和38,HM2.0采用低復(fù)雜度檔次,最大CU的尺寸為64×64,最大劃分深度為4。
表2給出本文算法相對(duì)于HM2.0中三星公司算法的改進(jìn)結(jié)果。由表2可見(jiàn),本文算法相對(duì)于三星公司的算法可節(jié)省最小27%、最大可達(dá)81%的時(shí)間,碼率最大增加0.1%,PSNR降低最大僅有0.1 dB,相對(duì)于節(jié)省的計(jì)算代價(jià)而言,性能降低幾乎可以忽略。
進(jìn)一步分析實(shí)驗(yàn)結(jié)果可以看到,本文算法對(duì)于高分辨力、大尺寸視頻的編碼時(shí)間降低得尤為明顯,主要是因?yàn)榉直媛试礁叩囊曨l圖像采用大尺寸CU的數(shù)目編碼的數(shù)目較多,通過(guò)較早地提前判斷CU的尺寸,省去繼續(xù)劃分以及編碼的時(shí)間。因此本文算法具有較高的實(shí)際應(yīng)用價(jià)值,未來(lái)可應(yīng)用于HEVC的實(shí)時(shí)高清編碼中。
本文在分析了HEVC中幀內(nèi)預(yù)測(cè)算法和已有快速算法的基礎(chǔ)上,提出了一種基于時(shí)域相關(guān)性的幀內(nèi)模式快速選擇算法。該算法從CU層和PU層兩個(gè)層面進(jìn)行優(yōu)化,通過(guò)利用相鄰幀之間CU尺寸以及預(yù)測(cè)模式的相關(guān)性,減少了CU的劃分深度以及PU的預(yù)測(cè)方向。相比于HEVC中已有的快速算法,本文提出的算法在編碼效率損失非常小的情況下,顯著提高了編碼速度,取得了良好的實(shí)際應(yīng)用效果。
表2 實(shí)驗(yàn)結(jié)果
[1]JCT-VC.Architectural outline of proposed high efficiency video coding design elements,A202[R].Dresden,Germany:JCT-VC,2010.
[2]MARPE D,WIEGAND T,SULLIVAN G J.The H.264/MPEG4 advanced video coding standard and its applications[J].IEEE Communications Magazine,2006,44(8):134-143.
[3]王海勇,孫雁飛,吳啟宗.H.264編碼中幀內(nèi)預(yù)測(cè)算法研究[J].電視技術(shù),2009,33(8):11-12.
[4]CHANG K,MEN A D,ZHANG W H.Fast intra-Prediction mode decision for H.264/AVC[J].ISECS International Colloquium on Computing,Communication,Control and Management,2009,3(14):69-73.
[5]霍利嶺,張有會(huì),王志巍,等.一種新的H.264/AVC幀內(nèi)模式快速選擇算法[J].電視技術(shù),2010,34(12):39-42.
[6]MIN J H,LEE S,HAN W J,et al.Unification of the directional intra prediction methods in TMuC,B100[R].Geneva,CH:JCT-VC,2010.
[7]PIAO Y J,MIN J,CHEN J L.Encoder improvement of unified intra prediction,C207[R].Guangzhou,CN:JCT-VC,2010.
[8]KEN M C,HAN W J,KIM K.Samsung's response to the call for proposals on video compression technology ,A124[R].Dresden,Germany:JCT-VC,2010.