許東旭,林其偉
(華僑大學(xué)信息與工程學(xué)院,福建廈門361021)
多策略的HEVC幀內(nèi)快速預(yù)測算法
許東旭,林其偉
(華僑大學(xué)信息與工程學(xué)院,福建廈門361021)
為降低高效視頻編碼(HEVC)幀內(nèi)預(yù)測過程的計(jì)算復(fù)雜度,提出一種利用灰度直方圖結(jié)合自相關(guān)函數(shù)的快速深度選擇算法。統(tǒng)計(jì)每個(gè)最大編碼單元(CU)的灰度值分布,生成其灰度直方圖,利用灰度直方圖的自相關(guān)函數(shù)排除不必要的深度計(jì)算。同時(shí)針對幀內(nèi)預(yù)測模式的優(yōu)化,給出3個(gè)減少幀內(nèi)候選模式數(shù)量的有效策略。應(yīng)用梯度邊緣檢測進(jìn)一步減少8×8 CU的候選模式數(shù)量,使用模式相關(guān)以及當(dāng)前CU的紋理特征,對滿足一定條件的CU只選取2種預(yù)測模式進(jìn)行率失真優(yōu)化計(jì)算。實(shí)驗(yàn)結(jié)果表明,與原始HM10.1相比,該算法平均可以節(jié)省約48%的編碼時(shí)間,同時(shí)又能保持較高的視頻質(zhì)量。
高效視頻編碼;幀內(nèi)預(yù)測;編碼單元;快速模式選擇;自相關(guān);梯度邊緣檢測
高效視頻編碼(High Efficient Video Coding, HEVC)作為新一代高效的視頻編碼標(biāo)準(zhǔn),引進(jìn)了大量的技術(shù)創(chuàng)新。比如允許更大尺寸的編碼單元,最大尺寸可到64×64,同時(shí)允許更多的幀內(nèi)預(yù)測模式的選擇。并且引入了3種編碼單元的概念:編碼單元(Coding Unit,CU),預(yù)測單元(Prediction Unit, PU),變換單元(Transformation Unit,TU)。引入的這些創(chuàng)新技術(shù)使得HEVC相比于H.264,在保證相同視頻質(zhì)量的條件下,可以提高50%的編碼效率[1]。但與此同時(shí)也引入了巨大的計(jì)算復(fù)雜度,比如為了得到最優(yōu)的CU,HEVC需要窮盡地遞歸計(jì)算各種各樣的CU,PU,TU的組合,而且對于每個(gè)CU又需要進(jìn)行高達(dá)35種預(yù)測模式的遍歷選擇。因此,很多學(xué)者圍繞CU的提前判決和減少需要進(jìn)行率失真優(yōu)化(Rate Distortion Optimization,RDO)計(jì)算的模式數(shù)量這2個(gè)角度,做了大量的研究。其中,文獻(xiàn)[2-5]主要從CU的快速分割上進(jìn)行優(yōu)化,而文獻(xiàn)[6-8]主要對幀內(nèi)35種預(yù)測模式的選擇過程進(jìn)行優(yōu)化。文獻(xiàn)[2]通過利用4個(gè)模板的濾波系數(shù)對當(dāng)前CU進(jìn)行4個(gè)方向的濾波來提取當(dāng)前CU的紋理復(fù)雜度,提前判定它是否分割。文獻(xiàn)[3]基于貝葉斯決策準(zhǔn)則,將CU的分割與不分割看作一個(gè)分類問題,按照之前在線更新的特征值提前將當(dāng)前CU是否分割進(jìn)行分類。但該方法主要針對幀間的CU,而對于幀內(nèi)的CU便失去了效用。文獻(xiàn)[4]考察當(dāng)前最大編碼單元(Largest Coding Unit,LCU)與周圍LCU深度之間存在的相關(guān),并根據(jù)與當(dāng)前LCU相關(guān)程度的大小分配不同的權(quán)值而求得當(dāng)前LCU的預(yù)測深度值,之后按該值的取值區(qū)間進(jìn)行深度的自適應(yīng)選擇。文獻(xiàn)[5]利用率失真代價(jià)(RD-cost)結(jié)合設(shè)置的閾值,對于滿足條件的CU,即結(jié)束其分割過程。但該方法存在著一個(gè)不足,對于紋理復(fù)雜的序列,該方法減少的編碼時(shí)間相當(dāng)有限。文獻(xiàn)[6]利用Sobel算子生成的梯度直方圖排除一些概率小的預(yù)測模式。文獻(xiàn)[7]采用模式分組的策略優(yōu)化模式選擇過程。文獻(xiàn)[8]利用DCT變換后系數(shù)之間的關(guān)系對當(dāng)前編碼塊進(jìn)行邊緣檢測,以此來減少模式數(shù)量。上述這些工作都在一定程度上減少了HEVC的編碼復(fù)雜度,但HEVC的復(fù)雜度仍然相當(dāng)大,不利于實(shí)時(shí)應(yīng)用。所以有必要繼續(xù)進(jìn)一步研究高效準(zhǔn)確的算法來優(yōu)化HEVC編碼器。本文利用改進(jìn)的灰度直方圖自相關(guān)法[9]判斷當(dāng)前LCU的紋理特征,提出了一種高效的快速深度決策算法,同時(shí)針對幀內(nèi)35種模式的優(yōu)化,提出了3個(gè)有效的策略來縮減需要進(jìn)行RDO計(jì)算的模式數(shù)量。
HEVC創(chuàng)新性地提出了編碼單元四叉樹的遞歸分割技術(shù),如圖1所示。
圖1 HEVC的CU遞歸劃分過程
其中最大的CU稱為LCU。首先進(jìn)行LCU的分割,其四叉樹的劃分過程如下:當(dāng)不劃分時(shí),尺寸為64×64的CU,此時(shí)深度為0。接著對其進(jìn)行預(yù)測編碼,得RD-cost,接著對該CU進(jìn)行分割,分為4個(gè)子CU,每個(gè)子CU的尺寸為32×32,此時(shí)深度為1,接著對這4個(gè)子CU分別進(jìn)行預(yù)測編碼,同樣得RD -cost,如此遞歸地劃分下去。若當(dāng)前CU的尺寸為8×8時(shí),即此時(shí)深度為3時(shí),結(jié)束分割過程。接著對分割的CU進(jìn)行修剪,即依此比較求得的各個(gè)CU的代價(jià),從而決定當(dāng)前LCU最優(yōu)的編碼分割選擇。比較4個(gè)8×8子CU的代價(jià)和是否小于其對應(yīng)的16× 16的CU的代價(jià),如果小于,則選擇8×8的CU分割類型,否則選擇16×16的分割類型。如此比較下去,直到當(dāng)前CU的深度為0。
對于HEVC的幀內(nèi)預(yù)測,每個(gè)深度級上的CU對應(yīng) PU的尺寸只允許為2N×2N或者N×N。而N×N的PU尺寸只在CU的尺寸為8×8時(shí)才被允許。
如圖2所示,HEVC中每個(gè)PU的最優(yōu)預(yù)測模式需在包括模式2~34之間的33種角度預(yù)測模式以及planar和 DC模式共35種預(yù)測模式之間進(jìn)行RDO計(jì)算,比較其RD-cost后選取具有最小RD-csot對應(yīng)的模式作為最終的預(yù)測模式,可見其計(jì)算復(fù)雜度相當(dāng)大。因此,為了緩解編碼器的計(jì)算復(fù)雜度, HEVC首先進(jìn)行粗糙模式選擇(Rough Mode Decision,RMD)處理,即對35種預(yù)測模式分別求其對應(yīng)的Hadamard代價(jià),從中選出N個(gè)代價(jià)最小的模式,并考慮了當(dāng)前 CU的最有可能模式(Most Probable Modes,MPMs)。接著對這可能的N~N+ 2個(gè)候選模式進(jìn)行RDO計(jì)算,從中選出最優(yōu)的預(yù)測模式[10]。
圖2 HEVC的35種幀內(nèi)預(yù)測模式
本文對HEVC幀內(nèi)預(yù)測的優(yōu)化是基于2個(gè)算法的疊加。算法1是在CU分割的層面上進(jìn)行優(yōu)化,利用當(dāng)前LCU基于組的灰度直方圖自相關(guān)法排除不需要計(jì)算的深度層。算法2針對幀內(nèi)35種模式的優(yōu)化提出了3個(gè)有效的縮減策略。
3.1 算法1
算法1為基于組的灰度直方圖自相關(guān)法的快速深度決策算法。通?;叶戎狈綀D是統(tǒng)計(jì)某幅圖像各個(gè)灰度值出現(xiàn)的次數(shù)或者概率,可以從該幅圖像的灰度直方圖得出很多信息。比如如果該幅圖像僅有幾個(gè)灰度值組成,說明該幅圖像的細(xì)節(jié)不是特別豐富,因?yàn)楸舜碎g灰度值幾乎相同。而如果一幅圖像的灰度值組成幾乎覆蓋了全部的灰度值范圍,說明該幅圖像的細(xì)節(jié)相當(dāng)豐富??梢酝ㄟ^統(tǒng)計(jì)當(dāng)前LCU灰度值的組成來判斷當(dāng)前LCU的紋理復(fù)雜度,因?yàn)橹庇^上如果一個(gè)LCU的紋理非常復(fù)雜,那么該LCU一般要分割到很小的尺寸。相反如果當(dāng)前LCU紋理相當(dāng)平坦,那么該LCU一般不可能分割到太小的尺寸。為了證明假設(shè),選取了2個(gè)典型的LCU作為例子。
考慮到HEVC亮度的預(yù)測模式對色度的預(yù)測模式影響很大,本文只考慮亮度預(yù)測模式。為了減少計(jì)算量,首先對當(dāng)前64×64的CU,分成16×16個(gè)4×4的子塊,同時(shí)對每個(gè)4×4的子塊求出其對應(yīng)的平均亮度灰度值,并且利用該平均亮度灰度值代表該4×4的子塊。計(jì)算完16×16個(gè)子塊后,就組成了16×16= 256個(gè)亮度灰度值。接著將0~255這256個(gè)不同的灰度級按每5個(gè)灰度級劃分成一組,比如灰度級0~4屬于第1組,5~9屬于第2組,依此類推。然后將之前得到的當(dāng)前LCU的256個(gè)灰度值按此規(guī)則進(jìn)行統(tǒng)計(jì)。最后得出能夠表征當(dāng)前LCU紋理特征的基于組的亮度直方圖。該算法過程如下所示,其中pix()為存著當(dāng)前LCU 256個(gè)灰度值的數(shù)組。
圖3是HEVC中當(dāng)前LCU屬于紋理復(fù)雜的基于組的典型亮度直方圖,該LCU經(jīng)過RDO計(jì)算后最終分割到深度3。
圖3 紋理復(fù)雜LCU基于組的典型亮度直方圖
圖4是HEVC中平坦LCU基于組的典型亮度直方圖,該LCU最終選取深度0作為最優(yōu)深度。由此可見,按上述規(guī)則設(shè)計(jì)的當(dāng)前LCU的基于組的亮度直方圖分布確實(shí)能在一定程度上反映出該LCU需要分割到的深度層。
圖4 紋理平坦LCU基于組的典型亮度直方圖
此外,從圖3、圖4還可觀察出,對于平坦LCU的能量十分集中,而對于紋理復(fù)雜LCU的能量比較分散。如果對平坦LCU的亮度直方圖進(jìn)行平移,得出的直方圖與原直方圖基本是正交的。而對于紋理較為復(fù)雜的LCU對直方圖進(jìn)行平移后,還保留與原直方圖較強(qiáng)的相關(guān)性。所以可以利用求LCU亮度直方圖的自相關(guān)函數(shù)來判別當(dāng)前LCU是屬于紋理平坦的還是復(fù)雜的,進(jìn)而設(shè)計(jì)出需要進(jìn)行計(jì)算的深度級。
考慮信號自相關(guān)函數(shù)表達(dá)式,如式(1)所示:
其中,x(m)是原始亮度直方圖函數(shù);x(m+n)是原始亮度直方圖函數(shù)平移n位后的亮度直方圖函數(shù);Rxx(n)是最后得到的自相關(guān)函數(shù)。
由于平坦LCU的亮度直方圖右移一定的位數(shù)后,基本與原直方圖正交,而復(fù)雜的LCU右移某些位數(shù)后基本上還保留與原直方圖有較強(qiáng)的相關(guān)性。因此,可以進(jìn)一步簡化求自相關(guān)函數(shù)的計(jì)算式,如式(2)所示:
通過對當(dāng)前LCU的亮度直方圖右移某些位數(shù)后,并通過對式(2)0或非0的判斷,就可以判斷當(dāng)前LCU是否平坦,從而決定當(dāng)前LCU需要進(jìn)行RDO計(jì)算的深度級。但如何確定該右移的合適位數(shù),使得能精確地判定當(dāng)前LCU需要分割的深度級,這便成了問題的關(guān)鍵??紤]到HEVC編碼單元尺寸比H.264復(fù)雜得多,如果像文獻(xiàn)[9]那樣,只采用右移某個(gè)特定的位數(shù)后,對式(2)進(jìn)行非0或0的判斷,就決定當(dāng)前LCU是否平坦,很容易造成誤判,從而使碼率增加太多。所以為了探求Rxx(n)與n以及當(dāng)前LCU的分割深度三者之間的關(guān)系,首先進(jìn)行了大量的實(shí)驗(yàn)。通過實(shí)驗(yàn)發(fā)現(xiàn),當(dāng)原直方圖函數(shù)右移20位后,如果Rxx(20)不等于0,則當(dāng)前LCU基本上需要分割到深度2或深度3的級別,對于此類LCU可排除掉深度0跟深度1的RDO計(jì)算。而如果右移8位后,Rxx(8)不為0,則當(dāng)前LCU基本上不可能以深度0作為最優(yōu)的深度,對于此類LCU,可排除掉深度0的RDO計(jì)算。而如果右移3位后,Rxx(3)=0,表示當(dāng)前LCU紋理平坦,通過實(shí)驗(yàn)同樣可發(fā)現(xiàn)該類LCU基本上不可能分割到深度2或深度3的級別,所以對于此類LCU可舍棄深度2跟深度3的RDO計(jì)算。
綜上,本文提出的基于組的亮度直方圖自相關(guān)法的快速深度選擇算法如下:
Step 1 對當(dāng)前LCU分成16×16個(gè)4×4的子塊,對每個(gè)4×4子塊求其平均灰度值,得到該LCU的256個(gè)灰度值,對這256個(gè)灰度值從0~255灰度級之間按每5個(gè)灰度級為一組的方法進(jìn)行統(tǒng)計(jì),得出當(dāng)前LCU基于組的灰度直方圖。
Step 2 由式(2),首先判斷Rxx(20)是否為0。如果不等于0,則當(dāng)前LCU最小深度級設(shè)置為2,跳轉(zhuǎn)到Step5,否則跳轉(zhuǎn)到Step 3。
Step 3 判斷Rxx(8)是否為0。如果不等于0,則當(dāng)前LCU最小深度級設(shè)置為1,跳轉(zhuǎn)到Step5,否則跳轉(zhuǎn)到Step4。
Step 4 判斷Rxx(3)是否為0。如果等于0,則當(dāng)前LCU最大深度級設(shè)置為1,跳轉(zhuǎn)到Step5,否則當(dāng)前LCU最大深度級設(shè)置為2,跳轉(zhuǎn)到Step5。
Step 5 繼續(xù)進(jìn)行下一個(gè) LCU的處理,轉(zhuǎn)到Step1。
為了說明該算法的合理性,取6個(gè)序列,量化參數(shù)分別選取22,27,32,37,統(tǒng)計(jì)其命中率,結(jié)果如表1所示。通過表1,可發(fā)現(xiàn)本文基于組的灰度直方圖自相關(guān)法的快速深度選擇算法對于測試序列命中率高達(dá)80%以上,說明本文算法可精確排除不必要的深度計(jì)算。
表1 基于組的灰度直方圖自相關(guān)快速深度決策算法命中率
3.2 算法2
算法2為多策略的快速模式提前決策。
策略1 基于梯度方向檢測的快速模式選擇
HEVC在進(jìn)行RMD處理后,對PU尺寸為8×8以及4×4仍有8種模式需要進(jìn)行RDO計(jì)算,復(fù)雜度還是相當(dāng)巨大。對于8×8和4×4的PU采用梯度方向檢測[11]來對其搜索模式進(jìn)行優(yōu)化。以4×4為例,詳細(xì)說明該梯度方向檢測算法過程。
對當(dāng)前4×4的PU采用如圖5所示的分割,其中標(biāo)注的字母代表該塊的像素值。定義如式(3)與式(4)的垂直與水平梯度方向描述子。
圖5 4×4塊到2×2塊的分割過程
式(3)與式(4)中的floor為向下取整函數(shù),S為比例因子,取值與量化參數(shù)QP有關(guān),如式(5)所示。
由fv與fh的不同取值情況,定義了7種主要邊緣方向。以圖2所示的預(yù)測模式方向?yàn)槔?表2給出了這7種主要的邊緣方向及其對應(yīng)的候選模式集合。其中,0(planar模式),1(DC模式)是非角度的預(yù)測模式,所以其始終包含在候選模式集合里。接著,由式(3)與式(4)計(jì)算出的主要梯度方向?qū)?yīng)的候選模式集合進(jìn)行RMD。對于8×8的PU方法類似,只不過ABCD子塊不像4×4的PU那樣求取,而是每個(gè)子塊對16個(gè)像素進(jìn)行累加。
表2 主要邊緣梯度方向及其對應(yīng)的模式集合
從表2可看出,對于屬于前5種梯度方向或者后2種梯度方向的8×8和4×4 PU,分別只需要求取11種模式和18種模式的Hadamard代價(jià),相對HEVC 35種模式,其數(shù)量已大大縮減。由于進(jìn)行RMD處理的候選模式數(shù)量已大大減少,因此可以進(jìn)一步縮減需要進(jìn)行RDO計(jì)算的模式數(shù)量,本文從8種減為5種。
策略2 基于模式相關(guān)的快速模式選擇
由于變換絕對差值和 (Sum of Absolute Transformed Difference,SATD)與RD-cost之間存在緊密的相關(guān)性,因此經(jīng)RMD處理后的前幾位候選模式成為最優(yōu)或者次優(yōu)的概率很大。從文獻(xiàn)[4]可以進(jìn)一步得出,通過RMD后的第1位、第2位候選模式以及當(dāng)前CU的MPM成為最優(yōu)模式的概率很高??梢酝ㄟ^添加一些條件,來進(jìn)一步減少需要進(jìn)行RDO計(jì)算的候選模式數(shù)量。采用3.1節(jié)的測試條件,序列統(tǒng)一編碼30幀,表3表示當(dāng)MPM與mode[0]相等時(shí),bestmode=mode[0]或者 bestmode= mode[1]的概率。通過表3,發(fā)現(xiàn)當(dāng)MPM等于mode[0](第1位候選模式)時(shí),mode[0]或者mode[1](第2位候選模式)成為bestmode(最優(yōu)模式)的概率高達(dá)80%以上。所以對于幀內(nèi)模式優(yōu)化提出的第2個(gè)策略是,當(dāng)MPM與mode[0]相等時(shí),則只進(jìn)行mode[0]與mode[1]的RDO計(jì)算,從中選出具有最小RD-cost的模式作為最優(yōu)的預(yù)測模式。
表3 bestmode=mode[0]或mode[1]的概率 %
策略3 基于紋理的快速模式選擇
對于尺寸32×32以及64×64的PU,經(jīng)RMD后,有3個(gè)候選模式以及對應(yīng)的MPM進(jìn)入最終的RDO計(jì)算。改進(jìn)的空間似乎很小,但可以充分利用3.1節(jié)提取的當(dāng)前LCU的紋理復(fù)雜度以及DC與planar模式的特征來進(jìn)一步減少候選模式的數(shù)量。如表4所示,按照3.1節(jié)的測試條件,同樣對不同序列的統(tǒng)計(jì),發(fā)現(xiàn)對于紋理平坦的大塊 PU,當(dāng)mode[0]為DC(模式1)或planar(模式0)時(shí),該塊PU很大概率上會選擇DC或planar模式作為最終的bestmode。所以針對幀內(nèi)模式優(yōu)化提出的第3個(gè)策略是,對于當(dāng)前的PU,若其所屬的LCU滿足3.1節(jié)介紹的Rxx(3)=0,則檢查該塊PU經(jīng)RMD后的模式列表,若第1位候選模式為planar或DC模式,則只進(jìn)行DC與planar模式的RDO計(jì)算,從中選取具有最小RD-cost的模式作為最優(yōu)的預(yù)測模式。表4表示當(dāng)Rxx(3)=0時(shí),當(dāng)前 PU若mode[0]為0或1時(shí),bestmode也為0或1的概率。其中“-”表示滿足條件的CU塊數(shù)很少,基本不會影響編碼器的速度與率失真性能。
表4 mode[0]為0或1時(shí)bestmode也為0或1的概率
3.3 總的算法流程
對3.1節(jié)以及3.2節(jié)提出的算法進(jìn)行了整合,總的算法流程描述如下:
Step 1 根據(jù)3.1節(jié)描述的基于組的灰度直方圖自相關(guān)法對當(dāng)前LCU選擇需要進(jìn)行RDO計(jì)算的深度范圍,對當(dāng)前LCU深度范圍內(nèi)的每個(gè)深度級轉(zhuǎn)到Step2進(jìn)行處理。
Step 2 判斷當(dāng)前PU尺寸是否為8×8或4× 4,若是,則轉(zhuǎn)到Step 3;否則,轉(zhuǎn)到Step 4。
Step 3 根據(jù)3.2.1節(jié)描述的梯度方向檢測算法判斷當(dāng)前PU的主要梯度方向,根據(jù)表2給出的對應(yīng)邊緣方向的候選模式集合選出前5個(gè)具有最小Hadamard代價(jià)的模式,轉(zhuǎn)到Step5。
Step 4 判斷Rxx(3)是否為0,若為0,轉(zhuǎn)到Step6,否則轉(zhuǎn)Step5。
Step 5 判斷mode[0]是否等于MPM,若等于,轉(zhuǎn)到Step8,否則轉(zhuǎn)到Step9。
Step 6 判斷mode[0]是否為DC或者planar,若是,轉(zhuǎn)到Step7,否則轉(zhuǎn)到Step 5。
Step 7 對DC跟planar模式進(jìn)行RDO,選出具有最小RD-cost的模式作為最終的最優(yōu)預(yù)測模式,轉(zhuǎn)到Step10。
Step 8 對 mode[0]與 mode[1]模式進(jìn)行RDO,選出具有最小RD-cost的模式作為最終的最優(yōu)預(yù)測模式,轉(zhuǎn)到Step10。
Step 9 對全部由RMD后的模式進(jìn)行RDO,選出具有最小RD-cost的模式作為最終的最優(yōu)預(yù)測模式,轉(zhuǎn)到Step10。
Step 10 繼續(xù)下一個(gè)PU的處理,轉(zhuǎn)到Step2。
總的算法流程如圖6所示。
圖6 總的算法流程
把3.1節(jié)與3.2節(jié)提出的算法分別稱為AO1與AO2,AO1結(jié)合AO2的算法稱為本文AO算法。由于文獻(xiàn)[4]也同樣提出了快速深度決策算法,所以也實(shí)現(xiàn)了文獻(xiàn)[4]的快速深度決策算法部分,以用來跟本文的AO1算法進(jìn)行比較。因?yàn)槲墨I(xiàn)[4]中有關(guān)模式數(shù)量縮減的算法用到的 MPM選取方法,隨著HEVC標(biāo)準(zhǔn)的制作,現(xiàn)在已有較大改變,不利于比較。所以另外實(shí)現(xiàn)了文獻(xiàn)[5]算法以用來跟本文AO算法進(jìn)行對比。實(shí)驗(yàn)采用HM10.1測試模型,測試的環(huán)境為具有 Intel(R)Core(TM)2 Quad CPUQ9400@2.66 GHz,4.0 GB內(nèi)存的計(jì)算機(jī),采用VS2008編譯器。因?yàn)楸疚闹会槍瑑?nèi)編碼進(jìn)行優(yōu)化,所以采用的編碼配置為全幀內(nèi)編碼模式,量化參數(shù)分別選取22,27,32,37,序列全部統(tǒng)一編碼50幀,其余為默認(rèn)配置。選取了ABCDE等級的分辨率共13個(gè)序列進(jìn)行測試。只采用AO1以及文獻(xiàn)[4]提出的深度決策算法分別與原始HM10.1比較的實(shí)驗(yàn)結(jié)果如表5所示。
表5 2種算法與原始HM10.1比較的實(shí)驗(yàn)結(jié)果1
本文 AO算法以及文獻(xiàn)[5]分別與原始HM10.1比較的實(shí)驗(yàn)結(jié)果如表6所示。其中,BDBR與BDPSNR是文獻(xiàn)[12]中提出的評價(jià)準(zhǔn)則,分別表示在同樣的客觀質(zhì)量下,2種方法的碼率節(jié)省情況以及在給定的同等碼率下,2種方法的Y-PSNR差異。
△Time定義如下式所示:
其中,TimeHM10.1(QPi),Timepro(QPi)分別是原始HM10.1以及提出的算法在不同QP值下的編碼時(shí)間。
通過表5,可看出本文提出的AO1算法與原始HM10.1相比,平均BDPSNR僅降了0.04 dB,平均BDBR僅增加 0.906%,而同時(shí)可以平均節(jié)省25.42%的編碼時(shí)間。與文獻(xiàn)[4]提出的深度決策算法相比,兩者編碼性能幾乎相近,但本文AO1算法的編碼時(shí)間比文獻(xiàn)[4]減少的幅度更大。而且本文的AO1算法是基于當(dāng)前LCU塊內(nèi)部的紋理復(fù)雜度,而文獻(xiàn)[4]的深度決策算法是基于當(dāng)前塊與周圍已編碼塊深度之間存在的相關(guān)性,即這2個(gè)算法是互相獨(dú)立的,可以進(jìn)一步融合,以更大地減少編碼時(shí)間。
表6是本文AO算法的實(shí)驗(yàn)結(jié)果。通過表6,可看出綜合AO1與AO2算法后可使得編碼時(shí)間進(jìn)一步減少,同原始算法相比,平均減少了48.2%的編碼時(shí)間,而率失真性能僅有微小的損失。同文獻(xiàn)[5]相比,本文AO算法平均下降的編碼時(shí)間比其多了將近一倍。而且從表中可進(jìn)一步看出,對于等級E的序列,本文AO算法的率失真性能比文獻(xiàn)[5]更好。
表6 2種算法與原始HM10.1比較的實(shí)驗(yàn)結(jié)果2
圖7給出了本文AO算法與原始算法分別適用于ParkScene(Class B 1 920×1 080)序列的率失真曲線。從圖中可看出本文AO算法與HEVC原始算法的率失真曲線幾乎重合,即在不同比特率上本文AO算法與原始算法幾乎取得相同的PSNR。
圖8給出了ParkScene(Class B 1 920×1 080)序列分別采用本文AO算法與文獻(xiàn)[5]算法在不同QP下減少的編碼時(shí)間百分比。從圖8可看出,本文AO算法減少的編碼時(shí)間幅度基本不受QP的影響,即在不同QP下本文AO算法可取得幾乎連續(xù)相同的編碼時(shí)間增益。而文獻(xiàn)[5]減少的編碼時(shí)間百分比受QP影響很大,基本隨著QP的增加呈線性增長。這是因?yàn)?在QP較大時(shí),HEVC會傾向于選擇大塊的CU。
圖7 ParkScene序列的率失真曲線
圖8 ParkScene序列減少的編碼時(shí)間下降比例
而文獻(xiàn)[5]算法是首先統(tǒng)計(jì)RD-cost的分布,得出一組閾值,在滿足當(dāng)前CU的RD-cost小于對應(yīng)的閾值條件下便結(jié)束當(dāng)前CU的分割??梢娫赒P較大時(shí),若采用文獻(xiàn)[5]算法,會使更多的CU在大尺寸條件下滿足結(jié)束分割的條件,從而節(jié)省的編碼時(shí)間也就更多。從圖8中可進(jìn)一步看出,文獻(xiàn)[5]算法在QP小于22的條件下,基本起不到減少編碼復(fù)雜度的作用。
本文通過判斷當(dāng)前LCU的紋理復(fù)雜度,提出了一種高效的深度決策算法,同時(shí)對于幀內(nèi)預(yù)測模式的優(yōu)化,提出了3個(gè)有效的縮減策略。實(shí)驗(yàn)結(jié)果表明,本文算法在保證與原始算法幾乎相同的率失真性能上,平均可以減少48.2%的編碼時(shí)間,大幅降低了編碼復(fù)雜度,適用于對實(shí)時(shí)性要求較高的場合。下一步將嘗試研究更高效的梯度方向檢測算法來對幀內(nèi)預(yù)測模式進(jìn)行優(yōu)化,融合多種方法以減少編碼復(fù)雜度。
[1] Sullivan G J,Ohm J R,Han W J,et al.Overview of the High Efficiency Video Coding(HEVC)Standard[J].IEEE Transactions on Circuits and Systems for Video Technology,2012,22(12):1649-1668.
[2] Zhang Yongfei,Li Zhe,Li Bo.Gradient-based Fast Decision for Intra Prediction in HEVC[C]//Proc.of Conferenceon VisualCommunicationsand Image Processing.Piscataway,USA:IEEE Press,2012:1-6.
[3] Shen Xiaolin,Yu Lu,Chen Jie.Fast Coding Unit Size Selection for HEVC Based on Bayesian Decision Rule[C]//Proc.of Picture Coding Symposium.Piscataway, USA:IEEE Press,2012:453-456.
[4] Shen Liquan,Zhang Zhaoyang,An Ping.Fast CU Size Decision and Mode Decision Algorithm for HEVC Intra Coding [J].IEEE Transactions on Consumer Electronics,2013,59(1):207-213.
[5] Kim J,Choe Y,Kim Y G.Fast Coding Unit Size Decision Algorithm for Intra Coding in HEVC[C]// Proc.of IEEE International Conference on Consumer Electronics.[S.l.]:IEEE Press,2013:637-638.
[6] Jiang Wei,Ma Hanjie,Chen Yaowu.Gradient Based Fast Mode Decision Algorithm for Intra Prediction in HEVC[C]//Proc.of the 2nd International Conference on Consumer Electronics, Communications and Networks.Piscataway,USA:IEEE Press,2012: 1836-1840.
[7] Yan Shunqing,Hong Liang,He Weifeng,et al.Groupbased Fast Mode Decision Algorithm for Intra Prediction in HEVC[C]//Proc.of the 8th International Conference on SignalImage Technology and InternetBased Systems.[S.l.]:IEEE Press,2012:225-229.
[8] Ting Y C,Chang T S.Fast Intra Prediction Algorithm with Transform Domain Edge Detection for HEVC[C]//Proc.of Asia Pacific Conference on Circuits and Systems.[S.l.]:IEEE Press,2012:144-147.
[9] 賈克斌,謝 晶,方 晟.一種基于自相關(guān)法的H.264/ AVC高效幀內(nèi)預(yù)測算法[J].電子學(xué)報(bào),2006,34(1): 152-154.
[10] Zhao Liang,Zhang Li,Ma Siwei,et al.Fast Mode Decision Algorithm for Intra Prediction in HEVC[C]// Proc.of Conference on Visual Communications and Image Processing.Piscataway,USA:IEEE Press,2011: 1-4.
[11] Zhang Yongdong,Dai Feng,Lin Shouxun.Fast 4×4 Intra-prediction Mode Selection for H.264[C]//Proc.of International Conference on Multimedia and Expo.[S.l.]:IEEE Press,2004:1151-1154.
[12] Bjontegard G.Calculation of Average PSNR Differences Between RD-curves[C]//Proc.of the 13th Video Coding Experts Group Meeting.Austin,USA:[s.n.], 2001:1-4.
編輯 顧逸斐
Fast Intra Prediction Algorithm for HEVC with Multi-strategy
XU Dongxu,LIN Qiwei
(College of Information Science and Engineering,Huaqiao University,Xiamen 361021,China)
In order to further reduce the great computational complexity for High Efficient Video Coding(HEVC),two novel algorithms are proposed in this paper.It figures out the distribution of each LCU's gray values in advance so that a gray histogram can be generated.By using the self-correlation of the gray histogram,some unnecessary depth levels can be skipped.Meanwhile,it also proposes three strategies to reduce the number of intra modes which are based on edge detection,intra modes correlation,texture features,respectively.Experimental results show that the proposed algorithm can save 48% of encoding time on average with negligible loss of coding efficiency compared with HM10.1.
High Efficient Video Coding(HEVC);intra prediction;Coding Unit(CU);fast mode decision;selfcorrelation;gradient edge detection
1000-3428(2014)11-0310-08
A
TN919.81
10.3969/j.issn.1000-3428.2014.11.061
福建省自然科學(xué)基金資助項(xiàng)目(2012J01275)。
許東旭(1989-),男,碩士研究生,主研方向:視頻編碼,網(wǎng)絡(luò)通信;林其偉,副教授。
2013-10-29
2013-12-18E-mail:807614322@qq.com
中文引用格式:許東旭,林其偉.多策略的HEVC幀內(nèi)快速算法[J].計(jì)算機(jī)工程,2014,40(11):310-317.
英文引用格式:Xu Dongxu,Lin Qiwei.Fast Intra Prediction Algorithm for HEVC with Multi-strategy[J].Computer Engineering,2014,40(11):310-317.