Opened 6 years ago

Closed 5 years ago

#338 closed defect (fixed)

transform depth 0 is used in coding tu_cbf_cb for CU using SBT

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 (5)

comment:1 Changed 5 years ago by ksuehring

  • Description modified (diff)

comment:2 Changed 5 years ago by ksuehring

  • Milestone VTM-5.1 deleted

comment:4 Changed 5 years ago by ksuehring

It was mentioned in the MR that JVET-O0596 resolves this issue.

Closing the merge request, keeping this ticket open until JVET-O0596 is available and merged.

comment:5 Changed 5 years ago by fbarbier

  • Resolution set to fixed
  • Status changed from new to closed

I confirm it is fixed by JVET-O0596 that is merged.

Note: See TracTickets for help on using tickets.