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