#750 closed defect (invalid)
Mismatch with spec regarding delta QP signaling
Reported by: | emora | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | VTM | Version: | VTM-7.0 |
Keywords: | Cc: | ksuehring, XiangLi, fbossen, jvet@… |
Description
The VVC draft spec defines quantization groups by checking the following condition: cbSubdiv <= cu_qp_delta_subdiv
When this condition is true, cu_qp_delta_abs and potentially cu_qp_delta_sign_flag are read from the bitstream (of course, if the CU is a luma CU and if it has coefficients...)
When splitting a CU in TT, the spec indicates the following increments for cbSubDiv: +2, +1, +2 respectively for the three partitions that form the TT. However, in VTM, the function splitCurrArea() increments cbSubDiv by 2, and disables qgEnable when the cbSubDiv gets higher than cu_qp_delta_subdiv. All three partitions share qgEnable, and thus, the middle partition is rendered unable to hold a quantization group, while according to the spec it could have because the value of cbSubDiv on it could be <= cu_qp_delta_subdiv
Change history (3)
comment:1 Changed 5 years ago by delagrangep
comment:2 Changed 5 years ago by emora
- Resolution set to invalid
- Status changed from new to closed
Right. I guess another solution would be to increment subdiv by 2 in center partition of TT, and remove "qgOn" concept as subdiv does not seem to be used for anything else in the spec. But that is debatable as subdiv allows to easily compute the surface of a block. Anyways, I am closing this ticket and marking it as invalid. Thanks.
comment:3 Changed 5 years ago by delagrangep
FYI: it could not, since the center partition can be ok (qgOn still true), and further splits (e.g. binary in the other direction) must get the right subdiv value.
That feature is by design (see explanation in JVET-M0113). qgEnable is "qgOn" in the spec (see coding_tree in §7.3.9.4).
By "mismatch with spec" what do you mean ?