Adaptation parameter set identifier value spaces in video coding
A video coding mechanism is disclosed. The mechanism includes receiving a bitstream comprising a slice and a plurality of adaptation parameter sets (APSs) including a plurality of APS types, wherein each APS includes an APS identifier (ID), and wherein APS IDs for the APS types are assigned in sequence over a plurality of different value spaces. The mechanism further includes decoding the slice using parameters from the plurality of APSs. The mechanism further includes forwarding the slice for display as part of a decoded video sequence.
1. A method implemented by a decoder, the method comprising:
receiving a bitstream comprising a plurality of adaptation parameter sets (APSs) each including a corresponding APS identifier (ID), the APSs including a plurality of APS types each using a separate value space for the APS IDs, wherein the plurality of APSs are referenced by a coded slice, wherein each of the separate value spaces extends over a predefined range, wherein the predefined ranges are determined based on the APS types, wherein each APS includes an APS parameter type (aps_params_type) set to a predefined value specifying a parameter type of each APS, the parameter type specifying adaptive loop filter (ALF) parameters or luma mapping with chroma scaling (LMCS) parameters, and wherein the bitstream further comprises a sequence parameter set (SPS) including a LMCS enabled flag set to one when LMCS is enabled and set to zero when LMCS is disabled; and
decoding the coded slice using parameters obtained from the plurality of APSs based on the APS IDs.
2. The method of claim 1 , wherein the separate value spaces are overlapping.
3. The method of claim 1 , wherein a current APS includes a current APS ID selected from a range across a current value space, wherein the current APS ID is related to a previous APS ID associated with a previous APS of a same type as the current APS, and wherein the current APS ID is not related to another previous APS ID associated with another previous APS of a different type than the current APS.
4. The method of claim 1 , wherein each APS is identified by a combination of a current APS type and a current APS ID.
5. A method implemented by an encoder, the method comprising:
encoding a slice into a bitstream as a coded slice;
determining, a plurality of types of parameters employed for encoding the coded slice;
encoding into the bitstream the plurality of types of parameters in a plurality of adaptation parameter sets (APSs) by including the plurality of types of parameters in a plurality of APS types and a sequence parameter set (SPS);
assigning a corresponding APS identifier (ID) to each of the APSs such that each of the APS types uses a separate value space for the APS IDs, wherein each of the separate value spaces extends over a predefined range, wherein the predefined ranges are determined based on the APS types, wherein each APS includes an APS parameter type (aps_params_type) set to a predefined value specifying a parameter type of each APS, the parameter type specifying adaptive loop filter (ALF) parameters or luma mapping with chroma scaling (LMCS) parameters, and wherein the SPS includes a LMCS enabled flag set to one when LMCS is enabled and set to zero when LMCS is disabled;
encoding each APS ID into the plurality of APSs; and
storing the bitstream for communication toward a decoder.
6. The method of claim 5 , wherein the separate value spaces are overlapping.
7. The method of claim 5 , wherein a current APS includes a current APS ID selected from a range across a current value space, wherein the current APS ID is related to a previous APS ID associated with a previous APS of a same type as the current APS, and wherein the current APS ID is not related to another previous APS ID associated with another previous APS of a different type than the current APS.
8. The method of claim 5 , wherein each APS is identified by a combination of a current APS type and a current APS ID.
9. A video coding device comprising:
a receiver configured to receive a bitstream comprising a plurality of adaptation parameter sets (APSs) each including a corresponding APS identifier (ID), the APSs including a plurality of APS types each using a separate value space for the APS IDs, wherein the plurality of APSs are referenced by a coded slice, wherein each of the separate value spaces extends over a predefined range, wherein the predefined ranges are determined based on the APS types, and wherein each APS includes an APS parameter type (aps_params_type) set to a predefined value specifying a parameter type of each APS, the parameter type specifying adaptive loop filter (ALF) parameters or luma mapping with chroma scaling (LMCS) parameters, and wherein the bitstream further comprises a sequence parameter set (SPS) including a LMCS enabled flag set to one when LMCS is enabled and set to zero when LMCS is disabled; and
a processor configured to decode the coded slice using parameters obtained from the plurality of APSs based on the APS IDs.
10. The video coding device of claim 9 , wherein a current APS includes a current APS ID selected from a range across a current value space, wherein the current APS ID is related to a previous APS ID associated with a previous APS of a same type as the current APS, and wherein the current APS ID is not related to another previous APS ID associated with another previous APS of a different type than the current APS.
11. The video coding device of claim 9 , wherein each APS is identified by a combination of a current APS type and a current APS ID.