Opened 22 months ago

Last modified 3 weeks ago

#1629 new defect

mtt_split_cu_vertical_flag context uses undefined variable chType

Reported by: peterderivaz Owned by:
Priority: minor Milestone: H.266/VVC v4
Component: spec Version: H.266/VVC v3
Keywords: Cc: ksuehring, bbross, XiangLi, fbossen, jvet@…, yekui.wang@…, yin.zhao@…

Description

The context derivation for mtt_split_cu_vertical_flag says it has an input of "the dual tree channel type chType" but it is not clear where this comes from.

mtt_split_cu_vertical_flag is read in the coding tree syntax which does not mention chType.

chType is mentioned in a different clause (the coding unit syntax), but it seems unlikely this is the value to be used because it has an apparent dependency on mtt_split_cu_vertical_flag via:

  1. mtt_split_cu_vertical_flag is used to compute MttSplitMode
  2. MttSplitMode is used to compute ModeTypeCondition
  3. ModeTypeCondition is used to compute modeType
  4. modeType is used to compute treeType
  5. treeType is used to compute chType.

What value should be used for chType when reading the mtt_split_cu_vertical_flag syntax element?

Change history (5)

comment:1 Changed 19 months ago by bbross

  • Milestone set to H.266/VVC v4
  • Version set to H.266/VVC v3

Thanks and this needs indeed clarification. Will look for a solution and update the post when I have cone up with one.

comment:2 Changed 3 weeks ago by XiangLi

  • Cc yekui.wang@… yin.zhao@… added

chType is defined as follows in 9.3.4.2.2

The dual tree channel type chType is set equal to 1 if the variable treeType in the associated coding tree syntax is equal to DUAL_TREE_CHROMA, and set equal to 0 otherwise. The colour component cIdx is set equal to chType.

In 6.4.1, treeType is defined as follows

a variable treeType specifying whether a single tree (SINGLE_TREE) or a dual tree is used to partition the coding tree node and, when a dual tree is used, whether the luma (DUAL_TREE_LUMA) or chroma components (DUAL_TREE_CHROMA) are currently processed

The confusing part seems in the case of local dual tree (related SCIPU: smallest chroma intra prediction unit) in inter slices. In an inter slice, SINGLE_TREE is used as the initial value at coding_tree_unit(). So at CTU level, chType should be set to 0 as input for decoding mtt_split_cu_vertical_flag, until the SCIPU condition is met. The idea of SCIPU is that when a CU in an inter slices reaches a certain condition, the chroma block of the CU cannot further split while the luma block can further split, the so-call local dual tree. When decoding mtt_split_cu_vertical_flag in this case, chType can only be 0 (luma). Therefore, I think there is no real recursive dependency.

I put Yin on Cc. He may know more if further clarification is needed.

comment:3 Changed 3 weeks ago by yk

Thanks Xiang! Just to confirm: so in your opinion there is no need for a change herein?

comment:4 Changed 3 weeks ago by XiangLi

To me, a text improvement would be better but not be very necessary.

comment:5 Changed 3 weeks ago by yk

OK. So unless there is a good text suggestion soon, this ticket can probably be closed (after waiting a bit to see whether there is a concrete text change suggestion).

Last edited 3 weeks ago by yk (previous) (diff)
Note: See TracTickets for help on using tickets.