Network abstraction layer unit header
An approach for reconstructing a Network Abstraction Layer (NAL) unit for video decoding using at least one processor includes decoding a first syntax element included in a NAL unit header; determining, based on the first syntax element, a NAL unit class including a plurality of NAL unit types; decoding a second syntax element included in the NAL unit header; and based on the NAL unit class being a first NAL unit class, determining a NAL unit type from among the NAL unit types using a combination of the NAL unit class and the second syntax element, and reconstructing the NAL unit based on the determined NAL unit type; and based on the NAL unit class being a second NAL unit class, determining a temporal identifier (TID) based on the second syntax element, and reconstructing the NAL unit based on the determined TID.
1. A method of reconstructing a Network Abstraction Layer (NAL) unit for video decoding using at least one processor, the method comprising:
decoding a first syntax element comprising a first fixed length, binary-coded NAL unit syntax element included in a NAL unit header;
determining, based on the first syntax element, a NAL unit class comprising a plurality of NAL unit types;
decoding a second syntax element comprising a second fixed length, binary-coded NAL unit syntax element included in the NAL unit header, the second syntax element being different from the first syntax element; and
based on the NAL unit class being a first NAL unit class, determining a NAL unit type from among the plurality of NAL unit types using a combination of the NAL unit class and the second syntax element, and reconstructing the NAL unit based on the determined NAL unit type,
wherein the NAL unit type is determined by using a value of a forbidden zero bit included in the NAL unit header as a demultiplexing point,
wherein the first syntax element comprises a NAL unit class field,
wherein the second syntax element comprises a temporal identifier (TID) field, and
wherein the value of the forbidden zero bit, a value of the NAL unit class field, and a value of the TID field are used as demultiplexing points to determine the NAL unit type.
2. The method of claim 1 , wherein based on the NAL unit class being the first NAL unit class, a TID is determined to be zero.
3. The method of claim 1 , wherein the first NAL unit class indicates that a parameter set corresponding to the NAL unit relates to a plurality of temporal layers.
4. The method of claim 3 , wherein the parameter set comprises at least one from among a decoder parameter set, a video parameter set, and a sequence parameter set.
5. The method of claim 1 , wherein the first NAL unit class indicates that a parameter set corresponding to the NAL unit relates to a single coded picture.
6. The method of claim 5 , wherein the parameter set comprises at least one from among a picture parameter set, a slice parameter set, an adaptation parameter set, and a header parameter set.
7. The method of claim 1 , wherein the first NAL unit class indicates that the NAL unit relates to non-normative data.
8. The method of claim 7 , wherein the non-normative data comprises supplementary enhancement information, filler data, and picture delimiter data.
9. The method of claim 1 , wherein based on the NAL unit class being the first NAL unit class, a TID is not signaled for the NAL unit.
10. The method of claim 9 , wherein based on the NAL unit class being the first NAL unit class, bits reserved for the TID are used to signal information other than the TID.
11. The method of claim 1 , wherein based on the NAL unit class being the first NAL unit class, the NAL unit type is determined without using a TID, and
based on the NAL unit class being a second NAL unit class, the method further comprises determining the NAL unit type using the combination of the NAL unit class and the second syntax element, and reconstructing the NAL unit based on the determined NAL unit type and the TID.
12. The method of claim 1 , wherein the value of the forbidden zero bit is allowed to be non-zero.
13. A device for reconstructing a Network Abstraction Layer (NAL) unit for video decoding, the device comprising:
at least one memory configured to store program code; and
at least one processor configured to read the program code and operate as instructed by the program code, the program code including:
first decoding code configured to cause the at least one processor to decode a first syntax element comprising a first fixed length, binary-coded NAL unit syntax element included in a NAL unit header;
first determining code configured to cause the at least one processor to, based on the first syntax element, determine a NAL unit class comprising a plurality of NAL unit types;
second decoding code configured to cause the at least one processor to decode a second syntax element comprising a second fixed length, binary-coded NAL unit syntax element included in the NAL unit header, the second syntax element being different from the first syntax element; and
second determining code configured to cause the at least one processor to, based on the NAL unit class being a first NAL unit class, determine a NAL unit type from among the plurality of NAL unit types using a combination of the NAL unit class and the second syntax element, and reconstruct the NAL unit based on the determined NAL unit type,
wherein the NAL unit type is determined by using a value of a forbidden zero bit included in the NAL unit header as a demultiplexing point,
wherein the first syntax element comprises a NAL unit class field,
wherein the second syntax element comprises a temporal identifier (TID) field, and
wherein the value of the forbidden zero bit, a value of the NAL unit class field, and a value of the TID field are used as demultiplexing points to determine the NAL unit type.
14. The device of claim 13 , wherein based on the NAL unit class being the first NAL unit class, a TID is determined to be zero.
15. The device of claim 13 , wherein the first NAL unit class indicates that a parameter set corresponding to the NAL unit relates to a plurality of temporal layers.
16. The device of claim 15 , wherein the parameter set comprises at least one from among a decoder parameter set, a video parameter set, and a sequence parameter set.
17. The device of claim 13 , wherein the first NAL unit class indicates that a parameter set corresponding to the NAL unit relates to a single coded picture.
18. The device of claim 17 , wherein the parameter set comprises at least one from among a picture parameter set, a slice parameter set, an adaptation parameter set, and a header parameter set.
19. The device of claim 13 , wherein the first NAL unit class indicates that the NAL unit relates to non-normative data.
20. A non-transitory computer-readable medium storing instructions, the instructions comprising: one or more instructions that, when executed by one or more processors of a device for reconstructing a Network Abstraction Layer (NAL) unit for video decoding, cause the one or more processors to:
decode a first syntax element included in a NAL unit header;
determine, based on the first syntax element, a NAL unit class comprising a plurality of NAL unit types;
decode a second syntax element included in the NAL unit header, the second syntax element being different from the first syntax element; and
based on the NAL unit class being a first NAL unit class, determine a NAL unit type from among the plurality of NAL unit types using a combination of the NAL unit class and the second syntax element, and reconstruct the NAL unit based on the determined NAL unit type,
wherein the NAL unit type is determined by using a value of a forbidden zero bit included in the NAL unit header as a demultiplexing point,
wherein the first syntax element comprises a NAL unit class field,
wherein the second syntax element comprises a temporal identifier (TID) field, and
wherein the value of the forbidden-zero bit, a value of the NAL unit class field, and a value of the TID field are used as demultiplexing points to determine the NAL unit type.