Signaling of picture header in video coding
A method of decoding is provided. The method includes receiving a video bitstream including a picture unit (PU), where the PU includes a picture header (PH) network abstraction layer (NAL) unit preceding a first video coding layer (VCL) NAL unit, and decoding a coded picture from the PU to obtain a decoded picture.
1. A method of decoding implemented by a video decoder, comprising:
receiving a video bitstream including a picture unit (PU), the PU including a picture header (PH) network abstraction layer (NAL) unit preceding a first video coding layer (VCL) NAL unit, wherein the first VCL NAL unit includes a slice of a coded picture, wherein the PH NAL unit is a non-VCL NAL unit, and wherein a value of a temporal identifier (TemporalId) for non-VCL NAL units is constrained as follows:
when a NAL unit type (nal_unit_type) is equal to dependency parameter set NAL unit type (DPS_NUT), video parameter set NAL unit type (VPS_NUT), or sequence parameter set NAL unit type (SPS_NUT), the temporal identifier for the non-VCL NAL units is equal to 0 and a temporal identifier of the PU containing the NAL unit shall be equal to 0, and
when the nal_unit type is equal to PH NAL unit type (PH_NUT), the temporal identifier for the non-VCL NAL units shall be equal to the temporal identifier of the PU containing the NAL unit; and
decoding the coded picture from the PU to obtain a decoded picture.
2. The method of claim 1 , wherein the PU includes only one picture header (PH), and wherein the coded picture is the only picture in the PU.
3. The method of claim 1 , wherein the PH NAL unit in the PU precedes each VCL NAL unit in the PU inclusive of the first VCL NAL unit of the PU.
4. The method of claim 1 , wherein the first VCL NAL unit includes a slice of the coded picture.
5. The method of claim 2 , wherein the PH NAL unit includes the only one PH.
6. The method of claim 5 , wherein the only one PH in the PH NAL unit includes syntax elements that apply to all slices of the coded picture.
7. The method of claim 1 , wherein the first VCL NAL unit is an initial VCL NAL unit in the PU.
8. The method of claim 1 , further comprising displaying the decoded picture on a display of an electronic device.
9. A method of encoding implemented by a video encoder, the method comprising:
generating a picture unit (PU) including a picture header (PH) network abstraction layer (NAL) unit preceding a first video coding layer (VCL) NAL unit, wherein the first VCL NAL unit includes a slice of a coded picture, wherein the PH NAL unit is a non-VCL NAL unit, and wherein a value of a temporal identifier (TemporalId) for non-VCL NAL units is constrained as follows:
when a NAL unit type (nal_unit_type) is equal to dependency parameter set NAL unit type (DPS_NUT), video parameter set NAL unit type (VPS_NUT), or sequence parameter set NAL unit type (SPS_NUT), the temporal identifier for the non-VCL NAL units is equal to 0 and a temporal identifier of the PU containing the NAL unit shall be equal to 0, and
when the nal_unit type is equal to PH NAL unit type (PH_NUT), the temporal identifier for the non-VCL NAL units shall be equal to the temporal identifier of the PU containing the NAL unit;
encoding the PU into a video bitstream; and
storing the video bitstream for communication toward a video decoder.
10. The method of claim 9 , wherein the PU includes only one picture header (PH) and the coded picture, and wherein the coded picture is the only picture in the PU.
11. The method of claim 9 , wherein the PH NAL unit in the PU precedes each VCL NAL unit in the PU inclusive of the first VCL NAL unit.
12. The method of claim 9 , wherein the first VCL NAL unit includes a slice of the coded picture.
13. A decoding device, comprising:
a receiver configured to receive a video bitstream including a picture unit (PU), the PU including a picture header (PH) network abstraction layer (NAL) unit preceding a first video coding layer (VCL) NAL unit, wherein the first VCL NAL unit includes a slice of a coded picture, wherein the PH NAL unit is a non-VCL NAL unit, and wherein a value of a temporal identifier (TemporalId) for non-VCL NAL units is constrained as follows:
when a NAL unit type (nal_unit_type) is equal to dependency parameter set NAL unit type (DPS_NUT), video parameter set NAL unit type (VPS_NUT), or sequence parameter set NAL unit type (SPS_NUT), the temporal identifier for the non-VCL NAL units is equal to 0 and a temporal identifier of the PU containing the NAL unit shall be equal to 0, and
when the nal_unit type is equal to PH NAL unit type (PH_NUT), the temporal identifier for the non-VCL NAL units shall be equal to the temporal identifier of the PU containing the NAL unit;
a memory coupled to the receiver, the memory storing instructions; and
one or more processors coupled to the memory, the one or more processors configured to execute the instructions to cause the decoding device to decode the coded picture from the PU to obtain a decoded picture.
14. The decoding device of claim 13 , wherein the PU includes only one picture header (PH), and wherein the coded picture is the only picture in the PU.
15. The decoding device of claim 13 , wherein the PH NAL unit in the PU precedes each VCL NAL unit in the PU inclusive of the first VCL NAL unit.
16. The decoding device of claim 13 , wherein the first VCL NAL unit includes a slice of the coded picture.
17. An encoding device, comprising:
a memory containing instructions;
one or more processors coupled to the memory, the one or more processors configured to implement the instructions to cause the encoding device to:
generate a picture unit (PU) including a picture header (PH) network abstraction layer (NAL) unit preceding a first video coding layer (VCL) NAL unit, wherein the first VCL NAL unit includes a slice of a coded picture, wherein the PH NAL unit is a non-VCL NAL unit, and wherein a value of a temporal identifier (Temporalld) for non-VCL NAL units is constrained as follows:
when a NAL unit type (nal_unit_type) is equal to dependency parameter set NAL unit type (DPS_NUT), video parameter set NAL unit type (VPS_NUT), or sequence parameter set NAL unit type (SPS_NUT), the temporal identifier for the non-VCL NAL units is equal to 0 and a temporal identifier of the PU containing the NAL unit shall be equal to 0, and
when the nal_unit type is equal to PH NAL unit type (PH_NUT), the temporal identifier for the non-VCL NAL units shall be equal to the temporal identifier of the PU containing the NAL unit;
encode the PU into a video bitstream; and
a transmitter coupled to the one or more processors, the transmitter configured to transmit the video bitstream toward a video decoder.
18. The encoding device of claim 17 , wherein the PU includes only one picture header (PH) and the coded picture, and wherein the coded picture is the only picture in the PU.
19. The encoding device of claim 17 , wherein the PH NAL unit in the PU precedes each VCL NAL unit in the PU inclusive of the first VCL NAL unit, and wherein the first VCL NAL unit includes a slice of the coded picture.