Recently, I was studying the Inter Prediction of High Efficiency Video Coding.
So I found many Interesting things to share with you guys.
First, the two most interesting things of the inter prediction are the [Merge] procedure and the [AMVP].
Let's talk about the Merge procedure. It's something like Skip and Direct Mode in H.264.
As many people know, Inter prediction uses the conception of MV to predict next picture. It calculates the residual between the reconstructed picture and the current picture.
So when the motion moves, especailly in the condition that all the pixel in the picture has the same MV, it's obviously that we never need to transfer the information of the MV again. The only thing we need to transfer is the index of the block using the same MV. Oh, of course, we need to transfer the merge_flag to let the decoder know that we are using Merge Mode.
As a result, the picture will be divided into several regions with the same MV.
For Video Encoding, the most exciting thing is that it can result in around 3% overall bitrate reduction relative to direct mode!
After giving some review of Merge, Let's talk about the merge procedure in detail.
The merge procedure also uses the temporal and spatial information of the picture.
First, We search the candidates from bottom-left to top-left to check if A0 and A1 are AVAILABLE
Second, We search the candidates from top-right to top-left to check if B0 and B1 are AVAILABLE
if A0 or A1 are NOT AVAILABLE, we use B2 instead.
If B0 or B1 are NOT AVAILABLE and B2 is AVAILABLE, we use B2 instead
After all, we search T0 From RefList(0 or 1). I'm not so clear about this part.
After that, we check all the candidates and using the MV of them to do motion compensation.
All we've done have the same purpose: get the lowest RDCost.
Once we find that, we record all the information needed. And Do normal inter prediction
So much for these, there must be many misunderstanding about Merge Mode. But I will go farther. Thank you.
Maybe I will try to explain the AMVP next time.