Subpicture sub-bitstream extraction improvements
Embodiments for video processing, including video coding, video decoding and video transcoding are described. One example method includes performing a conversion between a video having one or more layers having one or more video pictures having one or more subpictures and a bitstream of the video according to a rule, wherein the rule defines network abstraction layer (NAL) units to be extracted from a bitstream during a sub-bitstream extraction process to output a sub-bitstream, wherein the rule further specifies that one or more inputs to the sub-bitstream extraction process include a target output layer set (OLS) index (targetOlsIdx) that identifies an OLS index of a target OLS and is equal to an index to a list of OLSs specified by a video parameter set, and wherein the one or more inputs satisfy a set of conditions.
1. A method of processing video data, comprising:
performing a conversion between a video comprising one or more layers comprising one or more video pictures comprising one or more subpictures and a bitstream of the video according to a rule,
wherein the rule defines network abstraction layer (NAL) units to be extracted from a bitstream during a subpicture sub-bitstream extraction process to output a sub-bitstream,
wherein the rule specifies that one or more inputs to the subpicture sub-bitstream extraction process include a target output layer set (OLS) index (targetOlsIdx) that identifies an OLS index of a target OLS and is equal to an index to a list of OLSs specified by a video parameter set,
wherein the one or more inputs satisfy a set of conditions,
wherein the rule specifies that the one or more inputs further include a target highest temporal identifier value (tIdTarget),
wherein the target highest temporal identifier value is in a range of 0 to a maximum number of temporal sublayers that are allowed to be present in a layer specified by the video parameter set,
wherein the maximum number of the temporal sublayers is indicated by a syntax element vps_max_sublayers_minus1 included in the video parameter set,
wherein the rule specifies that the one or more inputs further include a list of target subpicture index values denoted by subpicIdxTarget[i] for i from 0 to NumLayersInOls[targetOLsIdx]−1, whereby NumLayerInOls[i] specifies a number of layers in an i-th OLS.
2. The method of claim 1 , wherein the set of conditions comprises a value of subpicIdxTarget[i] being equal to a value in a range of 0 to sps_num_subpics_minus1, such that sps_subpic_treated_as_pic_flag[subpicIdxTarget[i]] is equal to 1,
wherein_sps_num_subpics_minus1 and sps_subpic_treated_as_pic_flag[subpicIdxTarget[i]] are found in or inferred based on a sequence parameter set (SPS) referred to by a layer with nuh_layer_id equal to LayerIdInOls[targetOLsIdx][i],
wherein sps_num_subpics_minus1 plus 1 specifies a number of subpictures in each picture in a particular layer video sequence, and
wherein sps_subpic_treated_as_pic_flag[subpicIdxTarget[i]] equal to 1 specifies that an i-th subpicture of each coded picture in a layer is treated as a picture in a decoding process excluding in-loop filtering operations.
3. The method of claim 2 , wherein when the sps_num_subpics_minus1 for the layer with nuh_layer_id equal to LayerIdInOls[targetOlsIdx][i] is equal to 0, the value of subpicIdxTarget[i] is equal to 0.
4. The method of claim 1 , wherein the set of conditions comprises that, for any two different integer values of m and n, when sps_num_subpics_minus1 is greater than 0 for both layers with nuh_layer_id equal to LayerIdInOls[targetOlsIdx][m] and LayerIdInOls[targetOlsIdx][n], respectively, subpicIdxTarget[m] is equal to subpicIdxTarget[n].
5. The method of claim 1 , wherein the rule further specifies that, during the subpicture sub-bitstream extraction process, for each value of i in a range of 0 to NumLayersInOls[targetOlsIdx]−1, remove from the output sub-bitstream all video coding layer (VCL) NAL units with nuh_layer_id equal to LayerIdInOls[targetOlsIdx][i] and sh_subpic_id not equal to SubpicIdVal[subpicIdxTarget[i]], associated filler data NAL units, and associated supplemental enhancement information (SEI) NAL units that contain filler payload SEI messages.
6. The method of claim 1 , wherein the rule further specifies that, during the subpicture sub-bitstream extraction process, remove all NAL units with nal_unit_type equal to FD_NUT and SEI NAL units containing filler payload SEI messages in a case that sli_cbr_constraint_flag is equal to 0.
7. The method of claim 1 , wherein the rule specifies that the output sub-bitstream contains at least one video coding layer (VCL) NAL unit with nuh layer id equal to each of nuh_layer_id values in a list of LayerIdInOls[targetOlsIdx], whereby nuh_layer_id is a NAL unit header identifier and LayerIdInOls[targetOlsIdx] specifies the nuh_layer_id value in an OLS with the targetOLsIdx.
8. The method of claim 1 , wherein the rule specifies that the output sub-bitstream contains at least one video coding layer (VCL) NAL unit with Temporand equal to tIdTarget, whereby TemporalId indicates a target highest temporal identifier and tIdTarget is a value of TemporalId that is provided as one or more inputs to the sub-bitstream extraction process, and
wherein the bitstream contains one or more coded slice NAL units with TemporalId equal to 0 without needing to contain coded slice NAL units with nuh_layer_id equal to 0, whereby nuh_layer_id specifies a NAL unit header identifier.
9. The method of claim 1 , wherein the output sub-bitstream contains at least one video coding layer (VCL) NAL unit with a NAL unit header identifier, nuh_layer_id, equal to a layer identifier, LayerIdInOls[targetOlsIdx][i] and with a subpicture identifier, sh_subpic_id, equal to SubpicIdVal[subpicIdxTarget[i]] for each i in a range of 0 to NumLayersInOls[targetOlsIdx]−1, whereby where NumLayerInOls[i] specifies a number of layers in an i-th OLS and i is an integer.
10. The method of claim 1 , wherein the conversion includes encoding the video into the bitstream.
11. The method of claim 1 , wherein the conversion includes decoding the video from the bitstream.
12. An apparatus for processing video data comprising a processor and a non-transitory memory with instructions thereon, wherein the instructions upon execution by the processor, cause the processor to:
perform a conversion between a video comprising one or more layers comprising one or more video pictures comprising one or more subpictures and a bitstream of the video according to a rule,
wherein the rule defines network abstraction layer (NAL) units to be extracted from a bitstream during a subpicture sub-bitstream extraction process to output a sub-bitstream,
wherein the rule specifies that one or more inputs to the subpicture sub-bitstream extraction process include a target output layer set (OLS) index (targetOlsIdx) that identifies an OLS index of a target OLS and is equal to an index to a list of OLSs specified by a video parameter set,
wherein the one or more inputs satisfy a set of conditions,
wherein the rule specifies that the one or more inputs further include a target highest temporal identifier value (tIdTarget),
wherein the target highest temporal identifier value is in a range of 0 to a maximum number of temporal sublayers that are allowed to be present in a layer specified by the video parameter set,
wherein the maximum number of the temporal sublayers is indicated by a syntax element vps_max_sublayers_minus1 included in the video parameter set, and
wherein the rule specifies that the one or more inputs further include a list of target subpicture index values denoted by subpicIdxTarget[i] for i from 0 to NumLayersInOls[targetOLsIdx]−1, whereby NumLayerInOls[i] specifies a number of layers in an i-th OLS.
13. The apparatus of claim 12 , wherein the set of conditions comprises a value of subpicIdxTarget[i] being equal to a value in a range of 0 to sps_num_subpics_minus1, such that sps_subpic_treated_as_pic_flag[subpicIdxTarget[i]] is equal to 1,
wherein sps_num_subpics_minus1 and sps_subpic_treated_as_pic_flag[subpicIdxTarget[i]] are found in or inferred based on a sequence parameter set (SPS) referred to by a layer with nuh_layer_id equal to LayerIdInOls[targetOLsIdx][i],
wherein sps_num_subpics_minus1 plus 1 specifies a number of subpictures in each picture in a particular layer video sequence, and
wherein sps_subpic_treated_as_pic_flag[subpicIdxTarget[i]] equal to 1 specifies that an i-th subpicture of each coded picture in a layer is treated as a picture in a decoding process excluding in-loop filtering operations.
14. A non-transitory computer-readable storage medium storing instructions that cause a processor to:
perform a conversion between a video comprising one or more layers comprising one or more video pictures comprising one or more subpictures and a bitstream of the video according to a rule,
wherein the rule defines network abstraction layer (NAL) units to be extracted from a bitstream during a subpicture sub-bitstream extraction process to output a sub-bitstream,
wherein the rule specifies that one or more inputs to the subpicture sub-bitstream extraction process include a target output layer set (OLS) index (targetOlsIdx) that identifies an OLS index of a target OLS and is equal to an index to a list of OLSs specified by a video parameter set,
wherein the one or more inputs satisfy a set of conditions,
wherein the rule specifies that the one or more inputs further include a target highest temporal identifier value (tIdTarget),
wherein the target highest temporal identifier value is in a range of 0 to a maximum number of temporal sublayers that are allowed to be present in a layer specified by the video parameter set,
wherein the maximum number of the temporal sublayers is indicated by a syntax element vps_max_sublayers_minus1 included in the video parameter set, and
wherein the rule specifies that the one or more inputs further include a list of target subpicture index values denoted by subpicIdxTarget[i] for i from 0 to NumLayersInOls[targetOLsIdx]−1, whereby NumLayerInOls[i] specifies a number of layers in an i-th OLS.
15. The non-transitory computer-readable storage medium of claim 14 , wherein the set of conditions comprises a value of subpicIdxTarget[i] being equal to a value in a range of 0 to sps_num_subpics_minus1, such that sps_subpic_treated_as_pic_flag[subpicIdxTarget[i]] is equal to 1,
wherein sps_num_subpics_minus1 and sps_subpic_treated_as_ pic_flag[subpicIdxTarget[i]] are found in or inferred based on a sequence parameter set (SPS) referred to by a layer with nuh_layer_id equal to LayerIdInOls[targetOLsIdx][i],
wherein sps_num_subpics_minus1 plus 1 specifies a number of subpictures in each picture in a particular layer video sequence, and
wherein sps_subpic_treated_as_pic_flag[subpicIdxTarget[i]] equal to 1 specifies that an i-th subpicture of each coded picture in a layer is treated as a picture in a decoding process excluding in-loop filtering operations.
16. The non-transitory computer-readable storage medium of claim 15 , wherein when the sps_num_subpics_minus1 for the layer with nuh_layer_id equal to LayerIdInOls[targetOlsIdx][i] is equal to 0, the value of subpicIdxTarget[i] is equal to 0.
17. The non-transitory computer-readable storage medium of claim 14 , wherein the set of conditions comprises that, for any two different integer values of m and n, when sps_num_subpics_minus1 is greater than 0 for both layers with nuh_layer_id equal to LayerIdInOls[targetOlsIdx][m] and LayerIdInOls[targetOlsIdx][n], respectively, subpicIdxTarget[m] is equal to subpicIdxTarget[n].