一種適用于hevc標準的幀內預測塊大小劃分的快速算法
【技術領域】
[0001] 本發明屬于數字高清視頻壓縮編解碼技術領域,具體涉及一種適用于ffiVC視頻 編碼標準的、加速幀內預測塊大小劃分過程的快速算法。
【背景技術】
[0002] 作為下一代視頻編解碼標準,HEVC (High Efficiency Video Coding)是于 2013 年 由國際電信組織(ITU)和運動圖像專家組(MPEG)聯合成立的組織JCTVC所提出。其目標 是,與上一代標準H. 264/AVC相比,在相同的視覺效果的前提下,比特率減少50%。
[0003] 在HEVC中,一幀圖像會劃分成一個個IXU塊,其大小可以為64x64,也可以為 32x32或其他。然后LCU會依據四叉樹劃分方法劃分成更小的編碼單元(CU),其大小從8x8 到64x64,且不大于IXU大小。與H. 264/AVC類似,HEVC使用基于塊的預測變換編碼方式, 使用幀內預測的方式壓縮視頻的空間冗余。ffiVC幀內預測過程基于預測單元(PU)進行預 測,對大小為16xl6、32x32、64x64的CU塊,PU與CU大小相等,當CU塊大小為8x8時,PU大 小可在4x4和8x8中選擇,因此PU塊有4x4、8x8、16xl6、32x32、64x64共五種可選大小(且 不大于LCU大小)。在幀內預測過程中需要尋找最佳的塊大小劃分方式以獲得最佳性能,尋 找最佳塊大小劃分方式的過程稱為塊大小劃分(partition,參見圖1)。
[0004] 在標準參考軟件HM10. 0中,幀內預測模塊的塊大小劃分過程通過迭代完成。首先 計算出4x4塊的優化結果,接著計算出8x8塊的優化結果,最后將四個4x4塊的結果之和與 其組成的8x8塊進行比較,取更為優化的結果。以此類推,可以得到16xl6、32x32、64x64塊 的比較結果,最終得到當前LCU的最優塊大小劃分方案。這樣的塊大小劃分方式運算量極 大,不適合硬件實現,因此需要引入快速算法加速塊大小劃分過程。
【發明內容】
[0005] 本發明的目的在于提出一種可適用于HEVC標準的幀內預測塊大小劃分的快速算 法。
[0006] HEVC幀內預測單元有5種可選塊大小,即4x4、8x8、16xl6、32x32以及64x64。本 發明通過引入梯度算法,可以大致獲得當前PU的圖像復雜度,基于這一圖像復雜度信息可 以大致判斷最有可能的塊大小劃分方式,從而大大加速塊大小劃分過程。具體步驟如下: (1) 首先,在原始視頻流中,把一幀圖像劃分為若干ffiVC標準的最大編碼單元(LCU), 將最大編碼單元(LCU)內部可進行操作的點進行梯度計算,得到當前點周邊像素值的變化 情況; (2) 然后,將某一預測單元(PU)內所有點的梯度計算結果相加,得到當前預測單元 (PU)的圖像復雜度; (3) 最后,根據計算得到的圖像復雜度進行塊大小劃分。
[0007] 本發明中,所述HEVC標準的最大編碼單元(IXU),其大小可以為64x64,也可以為 32x32,或其他。
[0008] 本發明中,所述HEVC標準的幀內預測單元(PU),其大小為4x4、8x8、16x16、32x32 或64x64中的一種,且不大于IXU大小。
[0009] 本發明中,所述的梯度計算,是基于sobel算子的計算,或者是基于其他類型的梯 度計算,獲得當前像素點在X、Y兩個不同方向上的梯度值。
[0010] 本發明中,計算獲得的圖像復雜度越高,即圖像越復雜,則塊大小劃分結果越趨向 于小塊,反之則趨向于大塊。
【附圖說明】
[0011]圖1 :HEVC幀內預測的塊大小劃分。其中,(a)為劃分示例(b)為相對應的四叉樹 劃分結構。
[0012] 圖2 :基于sobel算子的梯度計算。
【具體實施方式】
[0013] 下面結合附圖,對本發明做進一步的描述。
[0014] 本發明提出的適用于HEVC標準的幀內預測塊大小劃分的快速算法,使用了梯度 算法,大大加速了幀內預測塊大小劃分的速度。
[0015] 首先,進行梯度計算。這一步期望獲得當前點在x及y方向上的梯度變化情況。 [0016]如附圖2所示,以基于sobel算子的梯度計算為例,為獲得在X方向的梯度變化情 況(Gx),將當前像素點左側和右側的3個點像素值按1:2:1加權后相減,得到X方向的梯度 變化情況,同理,為得到Y方向的梯度變化情況(Gy),可將上下兩側3個點像素值按1:2:1 加權后相減。Gx及Gy的計算公式如公式(1)所示。
[0017]
式中,Px,y代指不同像素點的數值,下標i,j分別代表其在X、Y軸方向上與中心點的 位置關系。
[0018] 接著,對某一個預測單元PU,將其中所有點的梯度值相加得到當前PU的圖像復雜 度(K),其公式如公式(2)所示。
[0019] 最后,依據圖像復雜度信息,得出最有可能的塊大小劃分方法。這里的判斷可以根 據經驗閾值完成,下面給出一種基于經驗閾值,從大塊到小塊依次判斷的劃分方法。
[0020] 以64x64塊為例,如果64x64塊中每一個32x32子塊的圖像復雜度均小于某一閾 值,則可認為這個64x64塊圖像復雜度較低,不需要劃分,此時選用64x64作為最有可能的 塊大小劃分;若不滿足,則將64x64塊劃分為4個32x32子塊,并對四個32x32子塊依次進 行圖像復雜度分析。依次類推,可以完成32x32、16xl6、8x8塊的劃分選擇,并最后得到最有 可能的塊大小劃分方案。這里的經驗閾值與圖像特性相關,一個可能的經驗閾值方案如下 表所示。
[0021] 這樣,通過梯度算法,可以快速得出PU的圖像復雜度,繼而依據圖像復雜度數據 可以完成一個最大編碼單元(LCU)的塊大小劃分,從而大大加速幀內預測的塊大小劃分過 程。
【主權項】
1. 一種適用于HEVC標準的幀內預測塊大小劃分的快速算法,HEVC幀內預測單元有5 種可選塊大小,即4x4、8x8、16xl6、32x32、64x64,其特征在于引入梯度算法,大致獲得當前 預測單元(PU)的圖像復雜度信息,基于這一復雜度信息大致判斷最有可能的塊大小劃分方 案,從而大大加速模式判決過程;具體步驟如下: (1) 首先,在原始視頻流中,把一幀圖像劃分為若干HEVC標準的最大編碼單元(LCU), 將最大編碼單元(LCU)內部可進行操作的點進行梯度計算,得到當前點周邊像素值的變化 情況; (2) 然后,將某一預測單元(PU)內所有點的梯度計算結果相加,得到當前預測單元 (PU)的圖像復雜度; (3) 最后,根據計算得到的圖像復雜度進行塊大小劃分。2. 根據權利要求1所述的快速算法,其特征在于所述HEVC標準的最大編碼單元 (LCU),其大小為32x32或64x64中的一種。3. 根據權利要求1或2所述的快速算法,其特征在于所述HEVC標準的預測單元(PU), 其大小為4x4、8x8、16xl6、32x32、64x64中的一種,且預測單元必定小于編碼單元。4. 根據權利要求3所述的快速算法,其特征在于所述的梯度計算,是基于sobel算子的 計算,或者是基于其他類型的梯度計算,獲得當前像素點在X、Y兩個不同方向上的梯度值。5. 根據權利要求4所述的快速算法,其特征在于所述基于sobel算子的梯度計算步驟 為: 將當前像素點左側和右側的3個點像素值按1:2:1加權后相減,得到X方向的梯度變 化情況Gx,將當前像素點上下兩側3個點像素值按1:2: 1加權后相減,得到Y方向的梯度 變化情況Gy,Gx及Gy的計算公式如公式(1)所示:式中,Px,y指不同像素點的數值,下標i,j分別代表其在X、Y軸方向上與中心點的位 置關系; 對某一個預測單元PU,將其中所有點的梯度值相加得到當前的圖像復雜度K,其公 式如公式(2)所示:最后,依據圖像復雜度信息,確定最有可能的塊大小劃分方法。6. 根據權利要求5所述的快速算法,其特征在于所述依據圖像復雜度信息,確定最有 可能的塊大小劃分方法,判斷的根據為經驗閾值,具體如下: 如果64x64塊中每一個32x32子塊的圖像復雜度均小于某一閾值,則認為這個64x64 塊圖像復雜度較低,不需要劃分,此時選用64x64作為最有可能的塊大小劃分;若不滿足, 則將64x64塊劃分為4個32x32子塊,并對四個32x32子塊依次進行圖像復雜度分析;依次 類推,可以完成32x32、16xl6、8x8塊的劃分選擇,并最后得到最有可能的塊大小劃分方案; 這里的經驗閾值與圖像特性相關,一組可行的經驗閾值如下表所示:
【專利摘要】本發明屬于數字高清視頻壓縮編解碼技術領域,具體為一種適用于HEVC標準的幀內預測塊大小劃分的快速算法。在HEVC標準中,可以選擇使用幀內預測的方式進行視頻壓縮,幀內預測單元大小有4x4、8x8、16x16、32x32、64x64五種,在編碼時需要根據圖像選擇合適的塊大小劃分方式。本發明基于最大編碼單元進行處理,首先是梯度計算:將LCU內部可進行操作的點進行梯度計算;接著將某一預測單元塊范圍內所有點梯度計算結果相加得到這一預測單元的圖像復雜度;最后根據計算獲得的每一個預測單元的復雜度值進行塊大小劃分。本發明通過快速算法得到預測單元的最優塊大小劃分方式,加速了幀內預測塊大小劃分過程。
【IPC分類】H04N19/176, H04N19/119
【公開號】CN104883566
【申請號】CN201510277356
【發明人】范益波, 陸彥珩, 程魏, 黃磊磊, 曾曉洋
【申請人】復旦大學
【公開日】2015年9月2日
【申請日】2015年5月27日