Opened 12 years ago Closed 12 years ago #925 closed defect (fixed)bug in derivation of temporal motion vectors for merge mode
Description
According to the spec, section 8.5.3.1.1 Derivation process for luma motion vectors for merge mode:
, 8.5.3.1.7 is invoked independently and unconditionally for both L0 and L1.
But in TComDataCU::getInterMergeCandidates(), 8.5.3.1.7 is only invoked for L1 if availableFlagL0Col is true: bExistMV = uiLCUIdx >= 0 && xGetColMVP( REF_PIC_LIST_0, uiLCUIdx, uiAbsPartAddr, cColMv, iRefIdx ); if( bExistMV == false ) { bExistMV = xGetColMVP( REF_PIC_LIST_0, uiCurLCUIdx, uiPartIdxCenter, cColMv, iRefIdx ); } if( bExistMV ) // <- only if availableFlagL0Col is true { // ... if ( getSlice()->isInterB() ) { iRefIdx = 0; bExistMV = uiLCUIdx >= 0 && xGetColMVP( REF_PIC_LIST_1, uiLCUIdx, uiAbsPartAddr, cColMv, iRefIdx);
The inter prediction mode for temporal merge mode motion vectors can therefore only be Pred_L0 or Pred_BI but never Pred_L1. Change History (5)comment:1 Changed 12 years ago by DefaultCC Plugin
comment:2 Changed 12 years ago by fbossencomment:3 Changed 12 years ago by Vadim
According to my understanding, TMVP can be Pred_L1.
8.5.3.1.7 Derivation process for temporal luma motion vector prediction
...
So according to this check, MV from L0 can be unavailable. If this is correct, we need to fix TMVP derivation in the software. comment:4 Changed 12 years ago by stefane
Yes, the case occurs when the collocated MV for L0 is rejected because of reference picture marking mismatch, as quoted by Vadim. comment:5 Changed 12 years ago by fbossen
Fixed in r3278 Note: See
TracTickets for help on using
tickets. | This list contains all users that will be notified about changes made to this ticket. These roles will be notified: Reporter, Owner, Subscriber, Participant
|
You say: The inter prediction mode for temporal merge mode motion vectors can therefore only be Pred_L0 or Pred_BI but never Pred_L1.
Can you provide an example where the text would produce the Pred_L1 case? If there is no such case, then there is no bug.