一種基于Hadamard變換的幀內預測的快速模式選擇和PU劃分的方法
【專利摘要】本發明公開一種基于Hadamard變換的幀內預測快速模式選擇和PU劃分的方法,包括:1、根據圖像紋理的復雜情況來減少計算量和遍歷PU;2、對當前PU塊進行Hadamard變換,得到當前PU塊的復雜度;3根據當前PU塊的復雜度作為圖像塊紋理的度量,判斷當前PU塊紋理是否復雜;4、若當前PU塊紋理復雜,則對于PU,需要遍歷4*4的劃分模式;對于模式選擇,需要遍歷35種候選模式;5、若當前PU塊平緩、光滑,則對于PU,更可能被劃為較大塊,不需要遍歷4*4的劃分模式;對于模式選擇,只需要遍歷較少候選模式即可。本發明減少了許多計算量,大大減少了編碼時間,性能下降也在可以接收的范圍內,提高了HM的實時性。
【專利說明】
一種基于Hadamard變換的幀內預測的快速模式選擇和PU劃分 的方法
技術領域
[0001 ] 本發明涉及了新一代視頻編碼標準HEVC的領域,具體涉及一種基于Hadamard變換 的幀內預測的快速模式選擇和PU劃分的方法。本發明基于軟件實現,并且不局限于特定的 視頻序列、分辨率,可以大大減少幀內預測的編碼時間,提高HEVC編碼的實時性,同時不會 因此而造成性能的太大下降。 技術背景
[0002] HEVC(High Efficiency Video Coding)是繼H. 264之后的新一代視頻編碼標準, 其核心目的是在H. 264的基礎上,將視頻壓縮效率提高一倍,滿足人們對高質量視頻越來越 強烈的需求。然而編碼性能的提升的同時帶來了很高的計算復雜度,高計算復雜度直接影 響了編碼速率。因此,降低HEVC的編碼復雜度,減少編碼時間,也就成了當前的研究熱點。
[0003] HEVC仍然采用混合編碼框架,但與Η. 264相比,HEVC采用了很多新技術。對于幀內 預測部分來說,采用了更靈活的塊劃分技術,更精細的角度劃分,具體如下:
[0004] 1、塊劃分。幀內預測過程中,HEVC中的塊結構有CU、PU兩種,分別為編碼塊和預測 塊。其中,CU的大小可以為64*64、32*32、16*16、8*8,對應的分割深度從0到3。〇]可以被進一 步分為一個或多個PU,而PU是幀內預測中的最小單元。在CU大小為8*8時,CU可以被劃分為4 個4*4的PU;在CU為其他大小塊時,PU大小與CU大小相同。這樣,在圖像平滑區域就可以選用 較大尺寸塊進行編碼,而在圖像復雜區域可以選用小尺寸塊進行編碼,使得預測結果更加 準確。
[0005] 2、更精確的預測模式。與H. 264的9種幀內預測模式相比,HEVC中一共有35種模式, 包括33種角度模式、DC模式和Planar模式。多種角度模式及Planar模式的增加,使得幀內預 測更加準確,性能得到提升。
[0006] 從以上的分析中,我們可以看出,在進行幀內預測的過程中,需要遍歷所有的PU的 劃分方式以及35種候選模式,從中選出最佳PU劃分和最佳模式。這個過程的計算量是很大 的,占用了很大一部分時間。為此,HEVC的官方測試軟件HM中給出了一種快速模式選擇算 法,該算法包括三個步驟:
[0007] 首先,利用下式計算粗略計算率失真代價,并從中選出N種率失真代價最小的模式 (N與PU的大小有關,PU為4*4或8*8時,N為8,否則為3)。
[0008] J = SATD(s,p)+V)de XRmode
[0009] 其中,SATD如下式,X為殘差信號方陣,Η為歸一化的MxM的Hadamard矩陣,Μ為方陣 的大小:
[0010] ATD= ΣμΣμ|ΗΧΗ
[0011] 其次,根據相鄰塊的最佳模式得到MPMs(Most Probability Mode),再檢測MPMs是 否在上面所得到的N個候選模式中,如果不在,將其加入。
[0012]最后,利用下式計算真正的率失真代價,并從N種模式中選出率失真代價最小的一 種,即得到最佳模式。
[0013] J = SSD(s,c)+AmodeXRaii
[0014] 式中SSD(s,c)表示原始像素與重構像素誤差的平方和,Rall表示編碼當前模式下 所有信息所需要的比特數。
[0015] HM中雖然采用了一種模式快速選擇算法然,減少了一些計算量,但是計算復雜度 還是非常高。因此,繼續對幀內預測的復雜度進行研究,降低編碼時間,還是十分必要的。
【發明內容】
[0016] 有鑒于現有技術的上述缺陷,本發明所要解決的技術問題是提供一種基于 Hadamard變換的模式快速選擇和PU提前終止算法。該算法可以與HM中的快速算法相結合, 有效的減少編碼時間,并且不會造成編碼質量大幅度下降。
[0017] 為實現上述目的,為了實現上述目的,本發明提供一種基于Hadamard變換的幀內 預測快速模式選擇和PU劃分的方法,該算法嵌套在HM16.0的模式快速選擇算法中,所述方 法包括以下步驟:
[0018] S1、利用Haddmard變換獲取當前PU塊的復雜度,記為N1;同時記當前所在的64*64 的塊的復雜度為N2;
[0019] S2、判斷當前PU是否為8*8塊?是,則執行S3,否則執行S4;
[0020] S3、將N1與閾值ζ比較,若Ν1〈ζ,則不再遍歷當前塊中的4*4的PU塊,而是進行下一 個8*8的PU劃分;若Ν1>ζ,則繼續遍歷4*4的PU塊,之后都執行S4;
[0021] 其中 ξ = Ν2/64
[0022] S4、將Ν1與當前PU深度的復雜度閾值ε相比;若Ν1〈ε,執行S5,否則執行S6,其中ε = 12500、2500、800,?1]大小分別為16*16、8*8、4*4;
[0023 ] S5、不再遍歷35種候選模式,而是對新的候選模式列表mode 1 i st進行遍歷,從中選 出 Μ 種最佳候選模式,之后執行 S7,其中 modelist={0,l,5,6,9,10,ll,15,16,18,20,21, 25,26,27,31,32};
[0024] S6、執行HM中的快速模式選擇算法,但是若在粗選過程中,有相鄰兩個候選模式的 率失真代價是相等的,則可以跳過下一個候選模式,選出N種最佳候選模式,則執行S7; [0025] S7、對N/M+MPMs種模式計算其真正的率失真代價,選出最佳模式。
[0026] 進一步地,S1步驟中對當前PU塊進行Hadamard變換,然后計算其復雜度,復雜度可 以表示為:
[0028] 式中,其中Μ為方陣的大小,Η為歸一化的MxM的Hadamard矩陣,而X為當前PU塊的像 素矩陣,其中IΗΧΗI表示的是求矩陣中各元素的絕對值之和,而不是矩陣的模。
[0029] 設仏是一個2mX 2m的矩陣,其通項式表達為:
[0031]以4*4的PU塊大小為例說明計算復雜度的過程:
[0032] 給定以下4x4矩陣X,對其做Hadamard變換,求其complexity
[0037] 貝!Jcomplexity = IYI =98。
[0038] 進一步地,如何判斷當前塊紋理是復雜還是平緩,也就是對閾值ζ和ε的選取,這里 ζ = Ν1/64,而ε與PU大小有關,ε分別為12500、2500、800,對應?1]大小分別為16*16、8*8、4*4, 這里的(和 £都是由大量實驗測試數據統計而來的。
[0039] 進一步地,S5中所得的新的模式候選列表,即modelist = {0,1,5,6,9,10,11,15, 16,18,20,21,25,26,27,31,32},該模式列表也是測試了大量的視頻序列,統計了最常被選 為最佳模式的候選模式,再加上其余方向的幾個代表性模式所組成的。
[0040] 進一步地,S6所提的跳過一些模式的方法,是在實驗測試中發現的,之后用大量的 視頻序列對其進行了測試。
[0041 ] 進一步地,首先,記當前64*64的PU塊的復雜度為N2,則對于該PU塊中8*8的PU塊的 平均復雜度為N2/64;其次,當遍歷至8*8的PU塊時,得到該8*8的復雜度complexity;最后, 比較complexity與N2/64,若complexi ty〈N2/64,則認為TO較平滑、紋理不復雜,則PU不用再 遍歷4*4的?11;若〇〇11^|]^;^>吧/64,則認為?1]紋理較復雜,貝1|需要遍歷4*4的?1]。
[0042]本發明的有益效果是:
[0043]本發明相比ΗΜ16.0中的幀內預測模式快速選擇和PU劃分,減少了選擇模式的計算 復雜度,同時也會在一定條件下提前終止4x4的PU的劃分,大大減少了編碼時間,性能下降 也在可以接收的范圍內,提高了 ΗΜ的實時性。本發明中的參數都是經過大量測試而得到的, 所以本發明中的算法對所有視頻序列都是有效的,但對平緩、紋理復雜度不高的視頻序列 效果最好,編碼時間減少最多,而性能下降較小。
[0044]以下將結合附圖對本發明的構思、具體結構及產生的技術效果作進一步說明,以 充分地了解本發明的目的、特征和效果。
【附圖說明】
[0045] 圖1是HEVC幀內預測的3 5種候選模式
[0046] 圖2是HM16.0中的幀內模式快速選擇算法示意圖。
[0047] 圖3是本發明實施例提供的幀內預測快速模式選擇的流程圖。
[0048]圖4是本發明實施例提供的提前終止PU劃分的流程圖。
[0049]圖5是本發明的對不同視頻序列的效果測試數據圖。
【具體實施方式】
[0050 ] 如圖2、3、4所示,一種基于Ha damar d變換的幀內預測快速模式選擇和PU劃分的方 法,該算法嵌套在HM16.0的模式快速選擇算法中,所述方法包括以下步驟:
[00511 S1、利用Haddmard變換獲取當前PU塊的復雜度,記為NI;同時記當前所在的64*64 的塊的復雜度為N2;
[0052] S2、判斷當前PU是否為8*8塊?是,則執行S3,否則執行S4;
[0053] S3、將N1與閾值ζ比較,若Ν1〈ζ,則不再遍歷當前塊中的4*4的PU塊,而是進行下一 個8*8的PU劃分;若Ν1>ζ,則繼續遍歷4*4的PU塊,之后都執行S4;
[0054] 其中 ξ = Ν2/64
[0055] S4、將Ν1與當前PU深度的復雜度閾值ε相比;若Ν1〈ε,執行S5,否則執行S6,其中ε = 12500、2500、800,?1]大小分別為16*16、8*8、4*4;
[0056] S5、不再遍歷35種候選模式,而是對新的候選模式列表mode 1 i st進行遍歷,從中選 出 Μ 種最佳候選模式,之后執行 S7,其中 modelist={0,l,5,6,9,10,ll,15,16,18,20,21, 25,26,27,31,32};
[0057] S6、執行HM中的快速模式選擇算法,但是若在粗選過程中,有相鄰兩個候選模式的 率失真代價是相等的,則可以跳過下一個候選模式,選出N種最佳候選模式,則執行S7; [0058] S7、對N/M+MPMs種模式計算其真正的率失真代價,選出最佳模式。
[0059]本實施例中,S1步驟中對當前PU塊進行Hadamard變換,然后計算其復雜度,復雜度 可以表示為:
[0061 ] 式中,其中Μ為方陣的大小,Η為歸一化的MxM的Hadamard矩陣,而X為當前PU塊的像 素矩陣,其中IΗΧΗI表示的是求矩陣中各元素的絕對值之和,而不是矩陣的模。
[0062] 設仏是一個2mX 2m的矩陣,其通項式表達為:
[0064]以4*4的PU塊大小為例說明計算復雜度的過程:
[0065] 給定以下4x4矩陣X,對其做Hadamard變換,求其complexity
[0067] 則Hadamard變換的系數矩陣為:
[0070] 貝!Jcomplexity = IYI =98。
[0071] 本實施例中,如何判斷當前塊紋理是復雜還是平緩,也就是對閾值ζ和ε的選取,這 里ζ = Ν1/64,而ε與PU大小有關,ε分別為12500、2500、800,對應?1]大小分別為16*16、8*8、4* 4,這里的ζ和ε都是由大量實驗測試數據統計而來的。
[0072] 本實施例中,55中所得的新的模式候選列表,即111〇(16118七={0,1,5,6,9,10,11, 15,16,18,20,21,25,26,27,31,32},該模式列表也是測試了大量的視頻序列,統計了最常 被選為最佳模式的候選模式,再加上其余方向的幾個代表性模式所組成的。這里只提前終 止了 4*4的PU塊的劃分,而未提前終止其余大小的PU劃分。這是因為,遍歷4*4的PU的所需時 間較多,而最佳PU為4*4的情況相對不多。因此,只對4*4的PU劃分進行改進,便能達到減少 時間的目的。
[0073] 本實施例中,S6所提的跳過一些模式的方法,是在實驗測試中發現的,之后用大量 的視頻序列對其進行了測試。S5、S6種的Μ、Ν的大小是與PU的大小有關的。具體為當PU為8* 8、4*4大小時,Μ為4,Ν為8;當PU為16*16時,Μ為2,Ν為3;當PU為32*32、64*64大小時,Μ與Ν均 為3。
[0074] 本實施例中,首先,記當前64*64的PU塊的復雜度為Ν2,則對于該PU塊中8*8的PU塊 的平均復雜度為Ν2/64;其次,當遍歷至8*8的PU塊時,得到該8*8的復雜度complexity;最 后,比較。〇11^)161;^7與呢/64,若。〇11^|161;^7〈呢/64,則認為1 31]較平滑、紋理不復雜,則?1]不 用再遍歷4*4的?1];若(:〇11^|]^;^>吧/64,貝11認為?1]紋理較復雜,貝11需要遍歷4*4的?1]。
[0075]本實施例中,從以上例子中我們可以看出,Hadamard變換只有加減法,計算簡單, 因此使用其計算復雜度不會引入大量的計算量。
[0076]本實施例中,紋理復雜度不高、平坦區域較多的視頻序列,較容易滿足本發明中的 提前終止PU劃分,快速模式選擇的條件,其時間減少更多,性能下降也不多。
[0077]本發明的方法是在HM中的快速模式選擇算法的基礎上進行改進的。通過大量實驗 統計不同大小的PU的復雜度分布,對不同的大小,設置不同的復雜度閾值。同時統計其最 常選擇的17種候選模式,得到新的候選模式列表。在復雜度低于閾值的時候,用新的17種候 選模式代替原來的35種候選模式。同時,對于HM中原有的算法中,在對35種候選模式進行粗 略選擇時,有時相鄰的幾種候選模式的率失真代價是相同的,這時候,其實是可以跳過一些 相鄰模式的。
[0078]對于幀內預測的PU來說,PU較平滑、紋理不復雜時,最佳PU通常會是大塊。而只有 當PU紋理復雜的時候,才會被劃分小塊。因此,當利用Hadamard變換計算的復雜度較低時, 我們便可以提前終止PU的劃分,從而減少時間。本發明在HEVC中的編碼質量下降不多的條 件下,降低了HEVC的計算復雜度,減少了HEVC的編碼時間,并且不局限于視頻序列,不同的 視頻序列,分辨率對本發明的效果都影響不大。
[0079] 如圖5所示,經過大量的測試,我們的改進算法平均減少時間25.96%,而BD-rate 增加了 1.45%,BD-PSNR下降了-0.0743,視頻質量損失不大。同時我們也可以發現,該算法 不局限于視頻序列,對不同的視頻序列,分辨率的有明顯的效果,節省了時間。此外,該算法 對1280x720的視頻序列效果較好,即減少時間最多,視頻編碼質量下降不多。
[0080]以上詳細描述了本發明的較佳具體實施例。應當理解,本領域的普通技術人員無 需創造性勞動就可以根據本發明的構思做出諸多修改和變化。因此,凡本技術領域中技術 人員依本發明的構思在現有技術的基礎上通過邏輯分析、推理或者有限的實驗可以得到的 技術方案,皆應在由權利要求書所確定的保護范圍內。
【主權項】
1. 一種基于Hadamard變換的幀內預測快速模式選擇和PU劃分的方法,該算法嵌套在 HM16.0的模式快速選擇算法中,所述方法包括以下步驟: 51、 利用Haddmard變換獲取當前PU塊的復雜度,記為NI;同時記當前所在的64*64的PU 塊的復雜度為N2; 52、 判斷當前PU是否為8*8塊,若是,則執行S3,否則執行S4; 53、 將Nl與閾值ζ比較,若Ν1〈ζ,則不再遍歷當前塊中的4*4的PU塊,而是進行下一個8*8 的HJ劃分;若Nl >ζ,則繼續遍歷4*4的PU塊,之后都執行S4; 其中ξ = Ν2/64 54、 將NI與當前PU深度的復雜度閾值ε相比;若Ν1〈ε,執行S5,否則執行S6,其中ε = 12500、2500、800,?1]大小分別為16*16、8*8、4*4; 55、 不再遍歷35種候選模式,而是對新的候選模式列表modeIist進行遍歷,從中選出M 種最佳候選模式,之后執行 S7,其中 modelist={0,l,5,6,9,10,ll,15,16,18,20,21,25, 26,27,31,32}; 56、 執行HM中的快速模式選擇算法,但是若在粗選過程中,有相鄰兩個候選模式的率失 真代價是相等的,則跳過下一個候選模式,選出N種最佳候選模式,則執行S7; 57、 對N/M+MPMs種模式計算其真正的率失真代價,選出最佳模式。2. 根據權利要求1所述的基于Hadamard變換的幀內預測快速模式選擇和PU劃分的方 法,其特征在于,Sl步驟中對當前PU塊進行Hadamard變換,然后計算其復雜度,復雜度表示 為:式中,其中M為方陣的大小,H為歸一化的MxM的Hadamard矩陣,而X為當前PU塊的像素矩 陣,其中IHXHl表示的是求矩陣中各元素的絕對值之和,而不是矩陣的模,設Hm是一個2mx2 m 的矩陣,其通項式表達為:以4*4的RJ塊大小為例說明計算復雜度的過程: 給定以下4x4矩陣X,對其做Hadamard變換,求其complexityY=HXH則complexity= I Y| =98〇3. 根據權利要求1或2所述的基于Hadamard變換的幀內預測快速模式選擇和PU劃分的 方法,其特征在于,如何判斷當前塊紋理是復雜還是平緩,也就是對閾值ζ和ε的選取,這里ζ = Ν1/64,而ε與PU大小有關,ε分別為12500、2500、800,對應?1]大小分別為16*16、8*8、4*4, 這里的(和 £都是由大量實驗測試數據統計而來的。4. 根據權利要求1所述的基于Hadamard變換的幀內預測快速模式選擇和PU劃分的方 法,其特征在于,S5中所得的新的模式候選列表,即modelist={0,l,5,6,9,10,ll,15,16, 18,20,21,25,26,27,31,32},該模式列表也是測試了大量的視頻序列,統計了最常被選為 最佳模式的候選模式,再加上其余方向的幾個代表性模式所組成的。5. 根據權利要求1所述的基于Hadamard變換的幀內預測快速模式選擇和PU劃分的方 法,其特征在于,S6所提的跳過一些模式的方法,是在實驗測試中發現的,之后用大量的視 頻序列對其進行了測試。6. 根據權利要求1所述的基于Hadamard變換的幀內預測快速模式選擇和PU劃分的方 法,其特征在于,首先,記當前64*64的PU塊的復雜度為N2,則對于該PU塊中8*8的PU塊的平 均復雜度為N2/64;其次,當遍歷至8*8的PU塊時,得到該8*8的復雜度complexity;最后,比 較complexi ty與N2/64,若complexi ty〈N2/64,則認為PU較平滑、紋理不復雜,則PU不用再遍 歷4*4的PU;若complexity >N2/64,則認為PU紋理較復雜,則需要遍歷4*4的PU。
【文檔編號】H04N19/61GK106028047SQ201610348075
【公開日】2016年10月12日
【申請日】2016年5月24日
【發明人】宋銳, 李璐, 李云松, 王養利, 趙園偉
【申請人】西安電子科技大學