Opened 3 years ago

Closed 3 years 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@…

Description

In the section 8.5.6.3.1 General of 8.5.6.3 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 3 years 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 3 years ago by bbross

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

comment:3 Changed 3 years 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 3 years 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 3 years 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 years ago by jlchen

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

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

comment:7 Changed 3 years ago by Vadim

Thank you for checking it.

comment:8 Changed 3 years ago by jlchen

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