Mixed NAL unit type picture constraints
A video coding mechanism is disclosed. The mechanism includes receiving a bitstream comprising a flag and a plurality of sub-pictures associated with a picture. The plurality of sub-pictures are contained in a plurality of video coding layer (VCL) network abstraction layer (NAL) units. The mechanism determines that VCL NAL units of one or more of the sub-pictures of the picture all have a first particular value of NAL unit type and other VCL NAL units in the picture all have a different second particular value of NAL unit type based on a value of the flag. One or more of the sub-pictures are decoded based on the first particular value of NAL unit type and the second particular value of NAL unit type. One or more of the sub-pictures are forwarded for display as part of a decoded video sequence.
1. A method implemented in a decoder, the method comprising:
receiving a bitstream comprising a picture partitioned into a plurality of sub-pictures, wherein the sub-pictures are contained in a plurality of video coding layer (VCL) network abstraction layer (NAL) units, wherein the bitstream includes a picture parameter set (PPS) containing a mixed_nalu_types_in_pic_flag specifying whether the VCL NAL units of the picture have different NAL unit types, and wherein when the mixed_nalu_types_in_pic_flag is equal to one, a constraint requires that when a VCL NAL unit of the picture has a NAL unit type (nal_unit_type) equal to instantaneous decoding refresh (IDR) with random access decodable leading picture (IDR_W_RADL), IDR with no leading pictures (IDR_N_LP), or clean random access (CRA) NAL unit type (CRA_NUT), other VCL NAL units of the picture shall have a trailing picture NAL unit type (TRAIL_NUT) nal_unit_type;
determining the VCL NAL units of one or more of the sub-pictures of the picture all have a first value of NAL unit type and other VCL NAL units of the picture all have a second value of NAL unit type; and
decoding one or more of the sub-pictures based on the first value of NAL unit type or the second value of NAL unit type.
2. The method of claim 1 , wherein the first value of NAL unit type indicates the picture contains a single type of intra-random access point (IRAP) sub-picture, and wherein the second value of NAL unit type indicates the picture contains a single type of non-IRAP sub-picture.
3. The method of claim 1 , wherein the mixed_nalu_types_in_pic_flag is equal to one when specifying that each picture referring to the PPS has more than one VCL NAL unit and the VCL NAL units do not have the same value of NAL unit type (nal_unit_type), and wherein the mixed_nalu_types_in_pic_flag is equal to zero when specifying that each picture referring to the PPS has one or more VCL NAL units and the VCL NAL units of each picture referring to the PPS have the same value of nal_unit_type.
4. A method implemented in an encoder, the method comprising:
determining a picture contains a plurality of sub-pictures of different types;
encoding the sub-pictures of the picture into a plurality of video coding layer (VCL) network abstraction layer (NAL) units in a bitstream;
encoding a picture parameter set (PPS) into the bitstream;
encoding into the PPS a mixed_nalu_types_in_pic_flag specifying whether VCL NAL units of one or more of the sub-pictures of the picture all have a first particular value of NAL unit type and other VCL NAL units in the picture all have a second particular value of NAL unit type, wherein when the mixed_nalu_types_in_pic_flag is equal to one, a constraint requires that when a VCL NAL unit of the picture has a NAL unit type (nal_unit_type) equal to instantaneous decoding refresh (IDR) with random access decodable leading picture (IDR_W_RADL), IDR with no leading pictures (IDR_N_LP), or clean random access (CRA) NAL unit type (CRA_NUT), other VCL NAL units of the picture shall have a trailing picture NAL unit type (TRAIL_NUT) nal_unit_type; and
storing the bitstream for communication toward a decoder.
5. The method of claim 4 , wherein the first particular value of NAL unit type indicates the picture contains a single type of intra-random access point (IRAP) sub-picture, and wherein the second particular value of NAL unit type indicates the picture contains a single type of non-IRAP sub-picture.
6. The method of claim 4 , wherein the mixed_nalu_types_in_pic_flag is equal to one when specifying that each picture referring to the PPS has more than one VCL NAL unit and the VCL NAL units do not have the same value of NAL unit type (nal_unit_type), and wherein mixed_nalu_types_in_pic_flag is equal to zero when each picture referring to the PPS has one or more VCL NAL units and the VCL NAL units of each picture referring to the PPS have the same value of nal_unit_type.
7. A decoder comprising:
a receiver configured to receive a bitstream comprising a picture partitioned into a plurality of sub-pictures, wherein the sub-pictures are contained in a plurality of video coding layer (VCL) network abstraction layer (NAL) units, wherein the bitstream includes a picture parameter set (PPS) containing a mixed_nalu_types_in_pic_flag specifying whether the VCL NAL units of the picture have different NAL unit types, and wherein when the mixed_nalu_types_in_pic_flag is equal to one, a constraint requires that when a VCL NAL unit of the picture has a NAL unit type (nal_unit_type) equal to instantaneous decoding refresh (IDR) with random access decodable leading picture (IDR_W_RADL), IDR with no leading pictures (IDR_N_LP), or clean random access (CRA) NAL unit type (CRA_NUT), other VCL NAL units of the picture shall have a trailing picture NAL unit type (TRAIL_NUT) nal_unit_type; and
a processor coupled to the receiver and configured to:
determine the VCL NAL units of one or more of the sub-pictures of the picture all have a first value of NAL unit type and other VCL NAL units of the picture all have a second value of NAL unit type; and
decode one or more of the sub-pictures based on the first value of NAL unit type or the second value of NAL unit type.
8. The decoder of claim 7 , wherein the mixed_nalu_types_in_pic_flag is equal to one when specifying that each picture referring to the PPS has more than one VCL NAL unit and the VCL NAL units do not have the same value of NAL unit type (nal_unit_type), and wherein mixed_nalu_types_in_pic_flag is equal to zero when specifying that each picture referring to the PPS has one or more VCL NAL units and the VCL NAL units of each picture referring to the PPS have the same value of nal_unit_type.