Opened 5 years ago

Closed 4 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

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.

comment:2 Changed 4 years ago by bbross

  • Version changed from VVC D6 vE to VVC D7 vC

comment:3 Changed 4 years ago by bbross

  • Version changed from VVC D7 vC to VVC D7 vD

comment:4 Changed 4 years ago by bbross

  • Version changed from VVC D7 vD to VVC D7 vE

comment:5 Changed 4 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.

Note: See TracTickets for help on using tickets.