Opened 5 years ago
Closed 5 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 5 years ago by hanhuang
comment:2 Changed 5 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 5 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 5 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 5 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 5 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.
comment:7 Changed 5 years ago by Vadim
Thank you for checking it.
comment:8 Changed 5 years ago by jlchen
- Resolution set to fixed
- Status changed from reopened to closed
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.