Opened 4 weeks ago

Last modified 4 weeks ago

#706 new defect

Minor editorial issue for CclmEnabled derivation in 8.4.4

Reported by: chiaming Owned by:
Priority: minor Milestone:
Component: spec Version: VVC D7 vE
Keywords: Cc: ksuehring, bbross, XiangLi, fbossen, jvet@…

Description

In 8.4.4, the CclmEnabled derivation is described as:

The variable, CclmEnabled is derived as follows:
– If sps_cclm_enabled_flag is equal to 0, CclmEnabled is set equal to 0.
– Otherwise, if one of the following conditions is true, CclmEnabled is set equal to 1:

– qtbtt_dual_tree_intra_flag is equal to 0.
– slice_type is not equal to I.
– CtbLog2SizeY is less than 6.

– Otherwise the following applies:

– The variables xCb64, yCb64, yCb32 are derived as follows:
...
– If one of the following conditions is true, the variable CclmEnabled is set equal to 1:

– CbWidth[ 1 ][ xCb64 ][ yCb64 ] is equal to 64 and CbHeight[ 1 ][ xCb64 ][ yCb64 ] is equal to 64.
– CqtDepth[ 1 ][ xCb64 ][ yCb64 ] is equal to CtbLog2SizeY − 6, MttSplitMode[ xCb64 ][ yCb64 ][ 0 ] is equal to SPLIT_BT_HOR, CbWidth[ 1 ][ xCb64 ][ yCb32 ] is equal to 64 and CbHeight[ 1 ][ xCb64 ][ yCb32 ] is equal to 32.
– CqtDepth[ 1 ][ xCb64 ][ yCb64 ] is greater than CtbLog2SizeY − 6.
– CqtDepth[ 1 ][ xCb64 ][ yCb64 ] is equal to CtbLog2SizeY − 6, MttSplitMode[ xCb64 ][ yCb64 ][ 0 ] is equal to SPLIT_BT_HOR, and MttSplitMode[ xCb64 ][ yCb32 ][ 1 ] is equal to SPLIT_BT_VER.

– Otherwise, the variable CclmEnabled is set equal to 0.

When CclmEnabled is equal to 1 and one of the following conditions is true, CclmEnabled is set equal to 0:
– CbWidth[ 0 ][ xCb64 ][ yCb64 ] and CbHeight[ 0 ][ xCb64 ][ yCb64 ] are both equal to 64, and intra_subpartitions_mode_flag[ xCb64 ][ yCb64 ] is equal to 1.
– CbWidth[ 0 ][ xCb64 ][ yCb64 ] or CbHeight[ 0 ][ xCb64 ][ yCb64 ] is less than 64, and CqtDepth[ 0 ][ xCb64 ][ yCb64 ] is equal to CtbLog2SizeY − 6.

The above condition "When CclmEnabled is equal to 1 and..." (i.e., condition marked in red) should align with the condition "– If one of the following conditions is true, the variable CclmEnabled is set equal to 1:" (i.e., condition marked in blue). Two feasible editorial suggestions are given below:
(1) Add a indent in front of the condition "When CclmEnabled is equal to 1 and...". For example:

– Otherwise the following applies:

– The variables xCb64, yCb64, yCb32 are derived as follows:
...
– If one of the following conditions is true, the variable CclmEnabled is set equal to 1:

– CbWidth[ 1 ][ xCb64 ][ yCb64 ] is equal to 64 and CbHeight[ 1 ][ xCb64 ][ yCb64 ] is equal to 64.
– CqtDepth[ 1 ][ xCb64 ][ yCb64 ] is equal to CtbLog2SizeY − 6, MttSplitMode[ xCb64 ][ yCb64 ][ 0 ] is equal to SPLIT_BT_HOR, CbWidth[ 1 ][ xCb64 ][ yCb32 ] is equal to 64 and CbHeight[ 1 ][ xCb64 ][ yCb32 ] is equal to 32.
– CqtDepth[ 1 ][ xCb64 ][ yCb64 ] is greater than CtbLog2SizeY − 6.
– CqtDepth[ 1 ][ xCb64 ][ yCb64 ] is equal to CtbLog2SizeY − 6, MttSplitMode[ xCb64 ][ yCb64 ][ 0 ] is equal to SPLIT_BT_HOR, and MttSplitMode[ xCb64 ][ yCb32 ][ 1 ] is equal to SPLIT_BT_VER.

– Otherwise, the variable CclmEnabled is set equal to 0.
When CclmEnabled is equal to 1 and one of the following conditions is true, CclmEnabled is set equal to 0:
– CbWidth[ 0 ][ xCb64 ][ yCb64 ] and CbHeight[ 0 ][ xCb64 ][ yCb64 ] are both equal to 64, and intra_subpartitions_mode_flag[ xCb64 ][ yCb64 ] is equal to 1.
– CbWidth[ 0 ][ xCb64 ][ yCb64 ] or CbHeight[ 0 ][ xCb64 ][ yCb64 ] is less than 64, and CqtDepth[ 0 ][ xCb64 ][ yCb64 ] is equal to CtbLog2SizeY − 6.

(2) Integrate conditions of "When CclmEnabled is equal to 1 and..." and "– If one of the following conditions is true, the variable CclmEnabled is set equal to 1:". For example:

– Otherwise the following applies:

– The variables xCb64, yCb64, yCb32 are derived as follows:
...
- If one of the following conditions is true, CclmEnabled is set equal to 0:

– CbWidth[ 0 ][ xCb64 ][ yCb64 ] and CbHeight[ 0 ][ xCb64 ][ yCb64 ] are both equal to 64, and intra_subpartitions_mode_flag[ xCb64 ][ yCb64 ] is equal to 1.
– CbWidth[ 0 ][ xCb64 ][ yCb64 ] or CbHeight[ 0 ][ xCb64 ][ yCb64 ] is less than 64, and CqtDepth[ 0 ][ xCb64 ][ yCb64 ] is equal to CtbLog2SizeY − 6.

– Otherwise, if one of the following conditions is true, the variable CclmEnabled is set equal to 1:

– CbWidth[ 1 ][ xCb64 ][ yCb64 ] is equal to 64 and CbHeight[ 1 ][ xCb64 ][ yCb64 ] is equal to 64.
– CqtDepth[ 1 ][ xCb64 ][ yCb64 ] is equal to CtbLog2SizeY − 6, MttSplitMode[ xCb64 ][ yCb64 ][ 0 ] is equal to SPLIT_BT_HOR, CbWidth[ 1 ][ xCb64 ][ yCb32 ] is equal to 64 and CbHeight[ 1 ][ xCb64 ][ yCb32 ] is equal to 32.
– CqtDepth[ 1 ][ xCb64 ][ yCb64 ] is greater than CtbLog2SizeY − 6.
– CqtDepth[ 1 ][ xCb64 ][ yCb64 ] is equal to CtbLog2SizeY − 6, MttSplitMode[ xCb64 ][ yCb64 ][ 0 ] is equal to SPLIT_BT_HOR, and MttSplitMode[ xCb64 ][ yCb32 ][ 1 ] is equal to SPLIT_BT_VER.

– Otherwise, the variable CclmEnabled is set equal to 0.

Change history (1)

comment:1 Changed 4 weeks ago by bbross

  • Version changed from VVC D7 vD to VVC D7 vE
Note: See TracTickets for help on using tickets.