Abstract not available in document
JVET-M0404 CE4: History based spatial-temporal MV prediction (Test 4.2.4) [X. Xu, X. Li, S. Liu (Tencent)]
The proposed method derives a new candidate using last two history MVs and one collocated merge candidate (referred as HMVP-TMVP). The new candidate is inserted after A1, B1, B0 and A0 candidates, as follows:
i = 0
if( availableFlagA1 )
mergeCandList[ i++ ] = A1
if( availableFlagB1 )
mergeCandList[ i++ ] = B1
if( availableFlagB0 )
mergeCandList[ i++ ] = B0
if( availableFlagA0 )
mergeCandList[ i++ ] = A0
if( availableFlagSbCol )
mergeCandList[ i++ ] = HMVP+TMVP
if( availableFlagB2 )
mergeCandList[ i++ ] = B2
if( availableFlagCol )
mergeCandList[ i++ ] = Col
For the two MVs from HMVP, the last coded and second to last coded MVs in the buffer are used (referred as A and B). For the temporal candidate, the same position as VTM-3.0 collocated position (referred as C) is used.
If three candidates, of which the reference indices are equal to zero, are available, the following apply.
mvLX[0] = (mvLX_A[0] * 3 + mvLX_B[0] * 3 + mvLX_C[0] * 2 ) / 8
mvLX[1] = (mvLX_A[1] * 3 + mvLX_B[1] * 3 + mvLX_C[1] * 2 ) / 8
If two motion information, of which the reference indices are equal to zero, is available, the following apply
mvLX[0] = (mvLX_A[0] + mvLX_C[0] ) / 2
mvLX[1] = (mvLX_A[1] + mvLX_C[1] ) / 2
or
mvLX[0] = (mvLX_B[0] + mvLX_C[0] ) / 2
mvLX[1] = (mvLX_B[1] + mvLX_C[1] ) / 2
Note: If the temporal candidate is unavailable, the HMVP-TMVP mode is off.