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 Version 1

Reported by: zhaoyin Owned by:
Priority: minor Milestone:
Component: VTM Version: VTM-5.0
Keywords: cbf Cc: ksuehring, XiangLi, fbossen, jvet@…

Description (last modified by ksuehring)

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%.

Change history (1)

comment:1 Changed 5 years ago by ksuehring

  • Description modified (diff)
Note: See TracTickets for help on using tickets.