A method implemented in a decoder, the method comprising: receiving, by a receiver of the decoder, a bitstream comprising a first adaptation parameter set, APS, network abstraction layer, NAL, unit with an adaptive loop filter, ALF, type associated with a coded slice; obtaining, by a processor of the decoder, ALF parameters from the first APS NAL unit; and decoding, by the processor, the coded slice using the ALF parameters; wherein the bitstream further comprises a third APS NAL unit with a luma mapping with chroma scaling, LMCS, type, wherein the method further comprises obtaining, by the processor, LMCS parameters from the third APS NAL unit, and wherein the coded slice is further decoded using the LMCS parameters; wherein the bitstream comprises an ALF APS assigned to the first APS NAL and a LMCS APS assigned to the third APS NAL, wherein each APS includes an APS ID from a predefined range which is determined based on a parameter type of the each APS, wherein the APS is a syntax structure used to signal information for slices, wherein the LMCS parameters are used for a LMCS which is a process that scale chroma values based on luma mappings, and wherein the ALF parameters are used for an ALF which is a filter that is controlled by parameters included in the ALF APS; and wherein APSs of a particular parameter type share the same predefined range for the APS IDs, and different parameter types of APSs use different predefined ranges of the APS ID; wherein the bitstream further comprises a sequence parameter set, SPS, including a flag set to indicate LMCS is enabled for an encoded video sequence including the coded slice, and wherein the LMCS parameters from the third APS NAL unit are obtained based on the flag; wherein each APS includes an APS parameter type, aps_params_type, set to a predefined value indicating the parameter type of each APS, and the parameter type indicates the ALF parameters or the LMCS parameters. receiving, by a receiver of the decoder, a bitstream comprising a first adaptation parameter set, APS, network abstraction layer, NAL, unit with an adaptive loop filter, ALF, type associated with a coded slice; obtaining, by a processor of the decoder, ALF parameters from the first APS NAL unit; and decoding, by the processor, the coded slice using the ALF parameters; wherein the bitstream further comprises a third APS NAL unit with a luma mapping with chroma scaling, LMCS, type, wherein the method further comprises obtaining, by the processor, LMCS parameters from the third APS NAL unit, and wherein the coded slice is further decoded using the LMCS parameters; wherein the bitstream comprises an ALF APS assigned to the first APS NAL and a LMCS APS assigned to the third APS NAL, wherein each APS includes an APS ID from a predefined range which is determined based on a parameter type of the each APS, wherein the APS is a syntax structure used to signal information for slices, wherein the LMCS parameters are used for a LMCS which is a process that scale chroma values based on luma mappings, and wherein the ALF parameters are used for an ALF which is a filter that is controlled by parameters included in the ALF APS; and wherein APSs of a particular parameter type share the same predefined range for the APS IDs, and different parameter types of APSs use different predefined ranges of the APS ID; wherein the bitstream further comprises a sequence parameter set, SPS, including a flag set to indicate LMCS is enabled for an encoded video sequence including the coded slice, and wherein the LMCS parameters from the third APS NAL unit are obtained based on the flag; wherein each APS includes an APS parameter type, aps_params_type, set to a predefined value indicating the parameter type of each APS, and the parameter type indicates the ALF parameters or the LMCS parameters.