Opened 6 years ago
Last modified 5 years ago
#338 closed defect
transform depth 0 is used in coding tu_cbf_cb for CU using SBT — at Initial Version
Reported by: | zhaoyin | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | VTM | Version: | VTM-5.0 |
Keywords: | cbf | Cc: | ksuehring, XiangLi, fbossen, jvet@… |
Description
The removal of hierarchical signaling of cbf_cb and cbf_cr creates a bug in VTM5.0. When SBT is used for a CU, cbf_cb and cbf_cr is signaled at transform depth 0 in VTM5.0 (still in transform_tree()), but they shall be signaled at transform depth 1 according to the spec (in transform_unit()). Because the cbf_cb context modeling depends on transform depth, VTM5 is not equivalent to spec on cbf_cb when SBT is used.
To better understand this issue, a part of the fix is provided as follows.
#if FIX_SBT_CBF
if( !(cu.sbtInfo && (trDepth == 0
| | (trDepth == 1 && partitioner.currPartIdx() != cu.getSbtPos()))) )
#else
if (!(cu.sbtInfo && trDepth == 1))
#endif
chromaCbfs.Cb &= cbf_comp(cs, area.blocks[COMPONENT_Cb], cbfDepth);
By this fix, the CTC RA BD-rate change is 0.01% /-0.01% / -0.05%.