Mixed NAL unit picture constraints in video coding
A video coding mechanism is disclosed. The mechanism includes receiving a bitstream comprising a current picture including a plurality of video coding layer (VCL) network abstraction layer (NAL) units that do not have a same NAL unit type. Active entries of reference picture lists are obtained for slices positioned in a sub-picture A (subpicA) in subsequent pictures following the current picture in decoding order. The active entries do not refer to any reference picture preceding the current picture in decoding order when the subpicA at the current picture is associated with an intra-random access point (IRAP) NAL unit type. The subsequent pictures are decoded based on the reference picture list active entries. The subsequent pictures are forwarded for display as part of a decoded video sequence.
1. A method implemented by a decoder, the method comprising:
receiving a bitstream comprising a current picture that has more than one video coding layer (VCL) network abstraction layer (NAL) units that do not have a same NAL unit type;
obtaining active entries of reference picture lists for slices positioned in a sub-picture A (subpicA) in subsequent pictures following the current picture in decoding order, wherein the active entries do not include a reference to any reference picture preceding the current picture in decoding order when the subpicA at the current picture is associated with an intra-random access point (IRAP) NAL unit type, wherein all slices of the current picture positioned in subpicA are associated with the same NAL unit type; and
decoding the subsequent pictures based on the reference picture list active entries.
2. The method of claim 1 , wherein the IRAP NAL unit type is a clean random access (CRA) NAL unit type.
3. The method of claim 1 , wherein the IRAP NAL unit type is an instantaneous decoder refresh (IDR) NAL unit type.
4. The method of claim 1 , further comprising determining a first NAL unit type value for the VCL NAL units of the current picture is different than a second NAL unit type value for VCL NAL units of the current picture based on a flag.
5. The method of claim 4 , wherein the bitstream includes a picture parameter set (PPS), and wherein the flag is obtained from the PPS.
6. The method of claim 5 , wherein the flag is a mixed_nalu_types_in_pic_flag, and 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).
7. A method implemented by an encoder, the method comprising:
determining that a current picture includes a plurality of video coding layer (VCL) network abstraction layer (NAL) units that do not have a same NAL unit type;
determining that a sub-picture A (subpicA) at the current picture is associated with an intra-random access point (IRAP) NAL unit type;
generating active entries of reference picture lists for slices positioned in the subpicA in subsequent pictures following the current picture in decoding order, wherein the active entries do not include a reference to any reference picture preceding the current picture in decoding order when the subpicA at the current picture is associated with the IRAP NAL unit type, wherein all slices of the current picture positioned in subpicA are associated with the same NAL unit type; and
encoding the subsequent pictures into a bitstream based on the reference picture lists.
8. The method of claim 7 , wherein the IRAP NAL unit type is a clean random access (CRA) NAL unit type.
9. The method of claim 7 , wherein the IRAP NAL unit type is an instantaneous decoder refresh (IDR) NAL unit type.
10. The method of claim 7 , further comprising encoding into the bitstream, by the encoder, a flag indicating a first NAL unit type value for the VCL NAL units of the current picture is different than a second NAL unit type value for VCL NAL units of the current picture.
11. The method of claim 10 , wherein the flag is encoded into a picture parameter set (PPS) in the bitstream.
12. The method of claim 11 , wherein the flag is a mixed_nalu_types_in_pic_flag, and wherein the mixed_nalu_types_in_pic_flag is set 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).
13. A video coding device comprising:
a receiver configured to receive a bitstream comprising a current picture that has more than one video coding layer (VCL) network abstraction layer (NAL) units that do not have a same NAL unit type;
a processor coupled to the receiver and configured to:
obtain active entries of reference picture lists for slices positioned in a sub-picture A (subpicA) in subsequent pictures following the current picture in decoding order, wherein the active entries do not include a reference to any reference picture preceding the current picture in decoding order when the subpicA at the current picture is associated with an intra-random access point (IRAP) NAL unit type, wherein all slices of the current picture positioned in subpicA are associated with the same NAL unit type; and
decode the subsequent pictures based on the reference picture list active entries.
14. The video coding device of claim 13 , wherein the IRAP NAL unit type is a clean random access (CRA) NAL unit type.
15. The video coding device of claim 13 , wherein the IRAP NAL unit type is an instantaneous decoder refresh (IDR) NAL unit type.
16. The video coding device of claim 13 , wherein the processor is further configured to determine a first NAL unit type value for the VCL NAL units of the current picture is different than a second NAL unit type value for VCL NAL units of the current picture based on a flag.
17. The video coding device of claim 16 , wherein the bitstream includes a picture parameter set (PPS), and wherein the flag is obtained from the PPS.
18. The video coding device of claim 17 , wherein the flag is a mixed_nalu_types_in_pic_flag, and 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).