Opened 9 years ago

Closed 7 years ago

#312 closed defect (fixed)

Redundant cbf_cb and cbf_cr flags when log2MaxTrafoSize is set to two

Reported by: zhyang Owned by:
Priority: minor Milestone: HM-16.3
Component: HM Version: HM-5.1
Keywords: Cc: fbossen, ksuehring, davidf, jct-vc@…

Description

There are three redundant cbf_cb and cbf_cr flags for each 4x4 chroma TU when log2MaxTrafoSize is set to two.

When log2MaxTrafoSize is set to two, there are only 4x4 luma TUs and 4x4 chroma TUs and every four luma TUs correspond to one cb TU and one cr TU. So only one set of cbf_cb and cbf_cr flags should be coded corresponding to every four cbf_luma flags.

However, HM 5.1 software still codes one cbf_cb and cbf_cr flags corresponding to each cbf_luma when log2MaxTrafoSize is set to two, which causes three redundant cbf_cb and cbf_cr flags for each 4x4 chroma TU.

The relevant code causing this behavior is in TDecEntropy::xDecodeTransformSubdiv

Bool bFirstCbfOfCU = uiLog2TrafoSize == pcCU->getSlice()->getSPS()->getQuadtreeTULog2MaxSize() || uiTrDepth == 0

It does not consider the case when log2MaxTrafoSize is set to two. So for each 4x4 luma TU, bFirstCbfOfCU is always true and there will always be a set of cbf_cb and cbf_cr coded.

Attachments (2)

TDecEntropy_t312.patch (1.3 KB) - added by zhyang123 9 years ago.
TEncEntropy_t312.patch (819 bytes) - added by zhyang123 9 years ago.

Download all attachments as: .zip

Change History (5)

comment:1 Changed 9 years ago by DefaultCC Plugin

  • Cc fbossen ksuehring davidf jct-vc@… added

Changed 9 years ago by zhyang123

Changed 9 years ago by zhyang123

comment:2 Changed 9 years ago by zhyang123

Fix the bug by checking the inner block index uiInnerQuadIdx when uiLog2TrafoSize is equal to two. bFirstCbfOfCU is set to be true only when uiInnerQuadIdx is equal to three bFirstCbfOfCU in that case.

comment:3 Changed 7 years ago by karlsharman

  • Milestone set to HM-16.3
  • Resolution set to fixed
  • Status changed from new to closed

This was fixed in HM7.1_dev (r2512).

Note: See TracTickets for help on using tickets.

This list contains all users that will be notified about changes made to this ticket.

These roles will be notified: Reporter, Owner, Subscriber, Participant

  • David Flynn(Subscriber)
  • Frank Bossen(Subscriber)
  • jct-vc@…(Subscriber)
  • Karl Sharman(Participant)
  • karl.sharman@…(Always)
  • Karsten Suehring(Subscriber, Always)
  • Zhijie Yang(Participant)