HEVC-帧间预测
-
?AMVP
主要是利用相鄰塊的相關(guān)性,因?yàn)檫\(yùn)動(dòng)向量不會(huì)突變。
-
AMVP對(duì)象列表的構(gòu)造
最初5個(gè)向量來(lái)自三類:
1.來(lái)空間相鄰的3個(gè)運(yùn)動(dòng)向量
2.3個(gè)空間相鄰向量的中值
3.一個(gè)來(lái)自co-located縮放的向量
對(duì)這個(gè)5個(gè)向量,還要重新排序,最有可能的放到第0個(gè)位置,還要去除一些冗余的對(duì)象。大量實(shí)驗(yàn)
最終,只有兩個(gè)對(duì)象,來(lái)自:
1.從相鄰5個(gè)中選出兩個(gè)
2.當(dāng)相鄰空間5個(gè)不可用或者是一樣的時(shí)候,從兩個(gè)時(shí)間co-lated的向量中選擇一個(gè)
3. zero motion vectors when the spatial, the temporal or both candidates are not
available
-
Spatial Candidates
向量的縮放僅僅當(dāng)當(dāng)前圖像的參考圖像和這個(gè)candidate圖像的參考圖像同時(shí)是短期參考圖像是,才進(jìn)行。?向量需要根據(jù)時(shí)間上參考圖像和當(dāng)前圖像的距離(POC值差),進(jìn)行縮放??s放的公式如下:
-
?Temporal Candidate
?原理:由于當(dāng)前塊的右邊和下面還沒(méi)有解碼,所以無(wú)法參考。就利用參考幀相同位置co-located的右邊和下面的塊的向量。
通過(guò)(sps/slice_temporal_mvp_enabled_flag)來(lái)決定是否使用時(shí)間參考向量。
上圖c0代碼右下,c1是中間。
-
AMVP的碼流信息
1.inter_pred_idc,表明是否使用一個(gè)list0或者list1,或者都使用
2.ref_idx_l0/1, 表明使用的參考幀。
3.mvp_l0/1_flag, and its MVD,用來(lái)計(jì)算MV
4.MV (x; y),是一個(gè)candidates的index,預(yù)測(cè)參考向量
-
Inter-picture Prediction Block Merging
why:為什么要有這個(gè)模式?
answer:對(duì)于突然運(yùn)動(dòng)的物體,如果不引入無(wú)效的邊界話,4分法塊劃分無(wú)法捕捉的運(yùn)動(dòng)向量。
-
?Merge Candidate List Construction
來(lái)自如下的兩個(gè):
1.從5個(gè)空間block中,選擇4個(gè)作為merge candidates.
2. 從兩個(gè)時(shí)間co-located塊中,選擇一個(gè)作為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.?
進(jìn)行冗余檢查,從如下的兩個(gè)方面:
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).
如果不遵循上述規(guī)則,這會(huì)形成2Nx2N的PU,帶有相同的運(yùn)動(dòng)向量。
-
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的碼流語(yǔ)法
?merge_flag:表明是否是Merge Motion
merge_idx :表明使用哪一個(gè)candidate
(five_minus_max_num_merge_cand):表明最多有多少個(gè)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).
為了計(jì)算一個(gè)PU的運(yùn)動(dòng)信息,在同一個(gè)MER中其他的PU的運(yùn)行信息不被使用。
-
?Fractional Sample Interpolation
為什么要進(jìn)行分?jǐn)?shù)像素的差值,因?yàn)檫\(yùn)行在整數(shù)像素的位置是不準(zhǔn)確的。HEVC對(duì)于半像素采用對(duì)稱的8抽頭濾波器,對(duì)于1/4像素采用非對(duì)稱的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
?
?
總結(jié)
- 上一篇: Openg-三角形绘制
- 下一篇: In-Loop Filters in H