H.266:幀內角度預測
本文譯自提案JVET-D1001的2.2.1節內容,對應的軟體版本為最新的JEM4.0。
為了更好地捕獲展現在自然視訊中的邊緣方向,方向性的幀內角度模式從HEVC的33種拓展到65種。新的角度模式如下圖中的紅色虛線箭頭所示,Planar和DC模式保持不變。這些更加密集的角度預測模式適用於任何的塊大小以及亮度和色度的幀內預測。
圖1 67種幀內預測模式
為了與數量增加後的角度幀內模式相適應,幀內模式編碼使用6個MPM(Most Probable Modes )。兩個主要的技術方面被涉及到:1、6個MPM的產生,2、6個MPM以及非MPM模式的熵編碼。
在JEM中,MPM列表中的模式分為三類:
1、相鄰的幀內模式
2、派生的幀內模式
3、預設的幀內模式
五個相鄰的幀內預測模式用來產生MPM列表。這5個相鄰塊的位置與merge模式的相同,也就是下圖所示的左(L)、上(A)、左下(AR)、右上(AR)、左上(AL)。初始的MPM列表通過插入五個相鄰幀內模式、planar模式、DC模式產生。然後通過一個剪枝的過程移除重複的模式,使得MPM列表裡面的模式都是唯一的。初始MPM列表插入模式時的順序為:左、上、planar、DC、左下、右上、左上。
用於產生MPM模式的五個相鄰塊
如果MPM列表未滿(列表中少於6個MPM候選模式),則加入派生的模式。這些派生的幀內預測模式通過給MPM列表中的角度模式加1或減1得到的。派生的過程不應用於非角度模式(DC或planar)
最後,如果MPM列表仍然不完整,則按順序加入預設模式:垂直、水平、模式2、對角模式。這個過程後,6個唯一的MPM模式產生了。
對於6個MPM的熵編碼,使用截斷一元碼進行二值化。前三個bins的編碼受當前位標記的MPM模式的上下文模型影響。MPM模式分為三種類型:是否為水平類(MPM模式小於對角模式)、是否為垂直類(MPM模式大於對角模式)、是否為非角度模式(DC或planar)。相應的三個上下文用來標記MPM索引。
剩餘的61個非MPM模式的編碼如下。首先,61種非MPM模式非為兩個集合:被選模式集、非被選模式集。當前模式所屬的模式集在位元流中用一個記號顯示。然後,若當前模式屬於被選模式集,當前模式用4位元的定長碼編碼,否則,用截斷二進位制碼編碼。被選的模式集由61個非MPM模式索引通過下采樣得到,如下:
被選模式集 = {0, 4, 8, 12, 16, 20 …60}
非被選模式集 = {1, 2, 3, 5, 6, 7, 9, 10… 59}
在編碼端,有與HM相似的兩個階段幀內模式判決過程。第一階段(預判決階段),使用較低複雜度的SATD失真度量從所有可能的模式中預選出N個最佳的模式。第二階段,使用更高複雜度的率失真程式碼從N個候選模式選擇最佳的幀內預測模式。然而,使用67種幀內預測模式,模式總數量幾乎翻倍,如果直接使用與HM編碼器相同的模式判決過程,幀內模式預選階段的複雜度也會增加。為了最小化編碼器複雜度的增加,使用一種二階段的幀內模式預選過程。第一步,從原來的35種幀內預測模式(圖1中的實線標示)通過SATD代價選出最佳的N(N跟幀內預測塊大小有關)個模式;第二步,被選的N個模式左右兩邊的模式(圖1中的虛線標示的新增的角度模式)進一步通過SATD來選擇,然後所選的N個被選列表也被更新。最終,最初的M個MPM也被加到N個模式中(如果不包含的話),並且最終的幀內模式候選列表也為第二階段的率失真代價檢驗產生了,方式與HM相同。M的值比原來HM的設定多1,N的值稍微減少,以優化67種預測模式的效能,N的值如下表所示。
表1:幀內模式預選階段最佳模式候選數量
Intra prediction block size |
4x4 |
8x8 |
16x16 |
32x32 |
64x64 |
>64x64 |
HM |
8 |
8 |
3 |
3 |
3 |
3 |
HM with 67 Intra prediction modes |
7 |
7 |
2 |
2 |
2 |
2 |