Opened 5 years ago
Closed 5 years ago
#485 closed defect (wontfix)
Editorial: Splitting slice_alf_chroma_idc into two flags
Reported by: | ksuehring | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | spec | Version: | VVC D7 vE |
Keywords: | ALF, HLS | Cc: | ksuehring, bbross, XiangLi, fbossen, jvet@… |
Description
For improved clarity I would suggest to split slice_alf_chroma_idc into two flags: slice_alf_cb_flag and slice_alf_cr_flag
The low bit of the idc already indicates ALF usage in Cr, while the high bit indicates usage in Cb:
slice_alf_chroma_idc equal to 0 specifies that the adaptive loop filter is not applied to Cb and Cr colour components. slice_alf_chroma_idc equal to 1 indicates that the adaptive loop filter is applied to the Cb colour component. slice_alf_chroma_idc equal to 2 indicates that the adaptive loop filter is applied to the Cr colour component. slice_alf_chroma_idc equal to 3 indicates that the adaptive loop filter is applied to Cb and Cr colour components. When slice_alf_chroma_idc is not present, it is inferred to be equal to 0.
This be split without technical change into:
slice_alf_cb_flag equal to 0 specifies that the adaptive loop filter is not applied to Cb colour components. slice_alf_cb_flag equal to 1 indicates that the adaptive loop filter is applied to the Cb colour component. When slice_alf_cb_flag is not present, it is inferred to be equal to 0.
slice_alf_cr_flag equal to 0 specifies that the adaptive loop filter is not applied to Cr colour components. slice_alf_cr_flag equal to 1 indicates that the adaptive loop filter is applied to the Cr colour component. When slice_alf_cr_flag is not present, it is inferred to be equal to 0.
The depending syntax conditions:
if( slice_alf_chroma_idc = = 1 | | slice_alf_chroma_idc = = 3 ) { alf_ctb_flag[ 1 ][ xCtb >> CtbLog2SizeY ][ yCtb >> CtbLog2SizeY ] if( alf_ctb_flag[ 1 ][ xCtb >> CtbLog2SizeY ][ yCtb >> CtbLog2SizeY ] && aps_alf_chroma_num_alt_filters_minus1 > 0 ) alf_ctb_filter_alt_idx[ 0 ][ xCtb >> CtbLog2SizeY ][ yCtb >> CtbLog2SizeY ] } if( slice_alf_chroma_idc = = 2 | | slice_alf_chroma_idc = = 3 ) { alf_ctb_flag[ 2 ][ xCtb >> CtbLog2SizeY ][ yCtb >> CtbLog2SizeY ] if( alf_ctb_flag[ 2 ][ xCtb >> CtbLog2SizeY ][ yCtb >> CtbLog2SizeY ] && aps_alf_chroma_num_alt_filters_minus1 > 0 ) alf_ctb_filter_alt_idx[ 1 ][ xCtb >> CtbLog2SizeY ][ yCtb >> CtbLog2SizeY ] }
can be simplified to
if( slice_alf_cb_flag ) { alf_ctb_flag[ 1 ][ xCtb >> CtbLog2SizeY ][ yCtb >> CtbLog2SizeY ] if( alf_ctb_flag[ 1 ][ xCtb >> CtbLog2SizeY ][ yCtb >> CtbLog2SizeY ] && aps_alf_chroma_num_alt_filters_minus1 > 0 ) alf_ctb_filter_alt_idx[ 0 ][ xCtb >> CtbLog2SizeY ][ yCtb >> CtbLog2SizeY ] } if( slice_alf_cr_flag ) { alf_ctb_flag[ 2 ][ xCtb >> CtbLog2SizeY ][ yCtb >> CtbLog2SizeY ] if( alf_ctb_flag[ 2 ][ xCtb >> CtbLog2SizeY ][ yCtb >> CtbLog2SizeY ] && aps_alf_chroma_num_alt_filters_minus1 > 0 ) alf_ctb_filter_alt_idx[ 1 ][ xCtb >> CtbLog2SizeY ][ yCtb >> CtbLog2SizeY ] }
Change history (5)
comment:1 Changed 5 years ago by yk
comment:2 Changed 5 years ago by bbross
- Version changed from VVC D6 vE to VVC D7 vC
comment:3 Changed 5 years ago by bbross
- Version changed from VVC D7 vC to VVC D7 vD
comment:4 Changed 5 years ago by bbross
- Version changed from VVC D7 vD to VVC D7 vE
comment:5 Changed 5 years ago by bbross
- Resolution set to wontfix
- Status changed from new to closed
Since this is purely editorial and I would need some time to confirm and check that this is purely editorial, I would close the ticket for now.
To me, this looks like a technical improvement, not a bug fix, not purely editorial, thus it'd be better to submit a proposal IMO.