Opened 11 years ago

Closed 11 years ago

Last modified 11 years ago

#100 closed defect (fixed)

Bug with the selection of MVs for L1 references when AMVP is used

Reported by: nsprljan Owned by:
Priority: minor Milestone:
Component: HM Version:
Keywords: Cc: fbossen, ksuehring, davidf, jct-vc@…

Description

In the function predInterSearch() for some cases motion estimation is bypassed (if (iRefList && iRefIdxTemp != iRefIdx[0])). Value of uiBits[iRefList] then does not include the rate of the MV, while uiCostTemp is set to MAX_UINT. The search for the best MVP is called in this case as well (function xCheckBestMVP()) and it can happen that it returns a negative value in uiBitsTemp and this causes integer overflow in uiCostTemp, which wraps around to small values. This leads to cases where this value (that should be MAX_UINT) is smaller than uiCost[0] and a L1 MV wrongly appears to be of a lower cost than L0 MV.

This wrap-around small value is in the range of 0xFFFF, so it creates problems in very few cases - only a minor effect on performance, but needs to be tested with a fix. Fix could be simple - just bypass the function xCheckBestMVP() or check whether ME was bypassed when calculating cost.

Change History (6)

comment:1 Changed 11 years ago by nsprljan

Note that this bug occurs only for GPB coding (low delay coding, with generalised B instead of P), when both L0 and L1 lists are used. My understanding is that this will be changed and a single list will be used when L0==L1, so this bug will go away with that change. As a side note - a great part of the reported 0.9dB gain for this change is probably due to AMVP using more MVs - previously the MVs of partitions referencing the other list could not be used.

comment:2 Changed 11 years ago by nsprljan

  • Resolution set to fixed
  • Status changed from new to closed

comment:3 Changed 11 years ago by nsprljan

Obsolete

comment:4 Changed 10 years ago by davidf

  • Component set to HM

Updating component after adding WD (Text) tickets

comment:5 Changed 10 years ago by davidf

  • Cc fbossen ksuehring davidf added

comment:6 Changed 10 years ago by davidf

  • Cc jct-vc@… added
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

  • David Flynn(Subscriber, Participant)
  • Frank Bossen(Subscriber)
  • jct-vc@…(Subscriber)
  • karl.sharman@…(Always)
  • Karsten Suehring(Subscriber, Always)
  • Nikola Sprljan(Reporter, Participant)