Opened 4 months ago

Closed 36 hours ago

#467 closed defect (fixed)

Using refMvLX in sample interpolation process

Reported by: Vadim Owned by:
Priority: minor Milestone:
Component: spec Version:
Keywords: Cc: ksuehring, bbross, XiangLi, fbossen, jvet@…


In the section General of Fractional sample interpolation process, for luma interpolation refMvLX is used, while chroma uses mvLX, where mvLX = refMvLX − mvOffset.
It seems that refMvLX should be used in both cases.

A typo in equation (8-769)
xFracC = refyC & 31, it should be xFracC = refxC & 31

Change history (8)

comment:1 Changed 4 months ago by hanhuang

It looks like the following is not necessary, and mvOffset can be removed from the input.
"The motion vector mvLX is set equal to ( refMvLX − mvOffset )."
The reference sample padding should use the refMvLX instead of mvLX.

comment:2 Changed 5 weeks ago by bbross

Thanks for brining that up.
Can someone confirm that in " General", mvLX needs to be replaced by refMvLX and mvOffset can be removed from the input of this process?

comment:3 Changed 5 weeks ago by jlchen

mvLX (equal to refMvLX - mvOffset) can not be removed since the original MV is used to identify the bounding block boundaries for DMVR padding process.

comment:4 Changed 5 weeks ago by bbross

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

Ok thanks. Jianle and I kept mvOffset and just replaced mvLX with refMcLX where necessary.

This will be fixed JVET-P2001-vC.

comment:5 Changed 4 weeks ago by Vadim

  • Resolution fixed deleted
  • Status changed from closed to reopened

Would it be possible to double check whether refMvLX should be used for chroma or refMvCLX? It is probably correct for 4:2:0, but maybe not for other formats. Coordinate range is the same as luma in that cases, but shift is larger by 1.

refMvCLX[ 0 ] = refMvLX [ 0 ] * 2 / SubWidthC
refMvCLX[ 1 ] = refMvLX[ 1 ] * 2 / SubHeightC

Same for bounding block, where mvLX is always used, maybe it should be mvCLX too.

comment:6 Changed 3 days ago by jlchen

After further check, it seems the current spec text is correct. The inputs of, mvLX and refMvLX, are actually MVs of chroma components when cIdx is not equal to 0.

Last edited 3 days ago by jlchen (previous) (diff)

comment:7 Changed 3 days ago by Vadim

Thank you for checking it.

comment:8 Changed 36 hours ago by jlchen

  • Resolution set to fixed
  • Status changed from reopened to closed
Note: See TracTickets for help on using tickets.