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:
- mtt_split_cu_vertical_flag is used to compute MttSplitMode
- MttSplitMode is used to compute ModeTypeCondition
- ModeTypeCondition is used to compute modeType
- modeType is used to compute treeType
- 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
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).
Thanks and this needs indeed clarification. Will look for a solution and update the post when I have cone up with one.