Opened 5 years ago
Closed 4 years ago
#1114 closed defect (fixed)
Address the editor's note on 4x4 affine MC for chroma components.
Reported by: | zhangkai | Owned by: | |
---|---|---|---|
Priority: | blocker | Milestone: | VVC D10 |
Component: | spec | Version: | VVC D9 vB |
Keywords: | Cc: | ksuehring, bbross, XiangLi, fbossen, jvet@… |
Description
There is an editor's note in 8.5.5.9 of JVET-R2001-v10.
[Ed. (BB): This way four 2×2 chroma subblocks (4×4 chroma block) share the same motion vector which is derived from the average of two 4×4 luma subblock motion vectors. In the decoding process motion compensation is still performed on 2×2 chroma blocks which is however a motion compensation on a chroma 4×4 block because all chroma MVs inside a 4×4 chroma block are the same. I would prefer an editorial change that makes it more clear that affine chroma MC is performed on 4×4 chroma blocks.]
To address this note, changes can be made to 8.5.6.1 as below the attached.
Attachments (3)
Change history (8)
Changed 5 years ago by zhangkai
comment:1 Changed 4 years ago by bbross
- Milestone set to VVC D10
- Version set to VVC D9 vB
Changed 4 years ago by zhangkai
comment:2 Changed 4 years ago by zhangkai
There will be a mismatch between spec and SW for the RPR case though no issue for the non-RPR case, due to the 2x2 chroma subblock MC manner in the spec.
From eq.(935) and eq.(936), we can find that for the top-left position of each sub-block, we keep a precision of 14 bit + 5 bit = 19 bits (14 scaling window + 5 MV), as shown in (935). But for other positions, the calculated precision is 10 bits. That's why we have ( ( Sign( refxSbC ) * ( ( Abs( refxSbC ) + 256 ) >> 9 ) in eq. (936).
As a results of rounding, for a specific position, whether it is calculated as the top-left sample of a subblock, or it is calculated as an inner sample, the results may be different. Attached is an example to show such a difference.
Changed 4 years ago by zhangkai
comment:3 Changed 4 years ago by bbross
- Priority changed from minor to blocker
comment:4 Changed 4 years ago by zhou
Because of the RPR, the calculation of reference sample locations is PU size dependent in the VVC motion compensation in general (not just in the affine MC), so the original PU size and top-left PU corner coordinate must be used to avoid mismatches that can be caused by rounding errors. Since the affine chroma MC is defined to be 4x4 based, but the 2x2 based MC is still used in the spec text, a mismatch between the spec text and SW needs to be fixed. The spec text should be changed to do 4x4 based chroma affine MC to resolve the issue. The suggested spec text fix looks good to me.
comment:5 Changed 4 years ago by bbross
- Resolution set to fixed
- Status changed from new to closed
Thanks for providing the spec text and confirming, this is fixed in JVET-S2001-v9.
An example of mismatch between 2x2 or 4x4 chroma subblocks