HEVC-帧间预测
-
?AMVP
主要是利用相鄰塊的相關性,因為運動向量不會突變。
-
AMVP對象列表的構造
最初5個向量來自三類:
1.來空間相鄰的3個運動向量
2.3個空間相鄰向量的中值
3.一個來自co-located縮放的向量
對這個5個向量,還要重新排序,最有可能的放到第0個位置,還要去除一些冗余的對象。大量實驗
最終,只有兩個對象,來自:
1.從相鄰5個中選出兩個
2.當相鄰空間5個不可用或者是一樣的時候,從兩個時間co-lated的向量中選擇一個
3. zero motion vectors when the spatial, the temporal or both candidates are not
available
-
Spatial Candidates
向量的縮放僅僅當當前圖像的參考圖像和這個candidate圖像的參考圖像同時是短期參考圖像是,才進行。?向量需要根據時間上參考圖像和當前圖像的距離(POC值差),進行縮放。縮放的公式如下:
-
?Temporal Candidate
?原理:由于當前塊的右邊和下面還沒有解碼,所以無法參考。就利用參考幀相同位置co-located的右邊和下面的塊的向量。
通過(sps/slice_temporal_mvp_enabled_flag)來決定是否使用時間參考向量。
上圖c0代碼右下,c1是中間。
-
AMVP的碼流信息
1.inter_pred_idc,表明是否使用一個list0或者list1,或者都使用
2.ref_idx_l0/1, 表明使用的參考幀。
3.mvp_l0/1_flag, and its MVD,用來計算MV
4.MV (x; y),是一個candidates的index,預測參考向量
-
Inter-picture Prediction Block Merging
why:為什么要有這個模式?
answer:對于突然運動的物體,如果不引入無效的邊界話,4分法塊劃分無法捕捉的運動向量。
-
?Merge Candidate List Construction
來自如下的兩個:
1.從5個空間block中,選擇4個作為merge candidates.
2. 從兩個時間co-located塊中,選擇一個作為merge candidate.
? additional merge candidates including combined bi-predictive candidates and
zero motion vector candidates
-
Spatial Candidates
如上圖,A1 is added to the list if available. Then, the candidates at the positions B1, B0, A0, and B2 are processed in that order.?
進行冗余檢查,從如下的兩個方面:
1.avoid having candidates with redundant motion data in the list
?Given the order of
{A1, B1, B0, A0, B2}, B0 only checks B1, A0 only A1 and B2 only A1 and B1
給定的順序,B0檢查B1,A0檢查A1,B2僅僅與A1和B1比較。
2.prevent merging two partitions that could be expressed by other means which
would create redundant syntax
A1:
A1 can only be added into the list if the current PB, corresponding to X in Fig. 5(a), is not the left block of a CB vertically split into two partitions (PART?N×2N or PART?nL×2N or PART?nR×2N partitions in Fig. 2).
B1:
the candidate at position B1 can only be added into the list if the current PB is not the bottom block of a CB horizontally split into two partitions (PART?2N×N or PART?2N×nU or PART?2N×nD partitions in Fig. 2).
如果不遵循上述規則,這會形成2Nx2N的PU,帶有相同的運動向量。
-
temporal Candidates
The temporal merge candidate includes one or two MVs depending on their availability in the collocated PU. The position of the temporal PB associated with the collocated PU is derived the same way as for AMVP
-
Additional Candidates
? Combined bi-predictive candidates
? Zero motion vector candidates
-
?Merge Motion Data的碼流語法
?merge_flag:表明是否是Merge Motion
merge_idx :表明使用哪一個candidate
(five_minus_max_num_merge_cand):表明最多有多少個candidate
Skip模式:
? the CU only contains one PU (2Nx2N partition type)
? the merge mode is used to derive the motion data (merge_flag equal to 1)
? no residual data is present in the bitstream
-
Motion Estimation Regions
Typically, parallel motion estimation is performed such that all the MVs of PUs inside a region are estimated in parallel. Let us call these regions used for parallel motion estimation motion estimation regions (MER).
為了計算一個PU的運動信息,在同一個MER中其他的PU的運行信息不被使用。
-
?Fractional Sample Interpolation
為什么要進行分數像素的差值,因為運行在整數像素的位置是不準確的。HEVC對于半像素采用對稱的8抽頭濾波器,對于1/4像素采用非對稱的7抽頭濾波器。
-
Weighted Sample Prediction
?In principle, WP replaces the inter prediction signal P by a linearly
weighted prediction signal PO D w P C o, where w is an Illumination
Compensation weight and o is an offset
?
?
總結
- 上一篇: Openg-三角形绘制
- 下一篇: In-Loop Filters in H