US-12627826-B2 - Picture header presence
Abstract
A method for decoding a picture from a bitstream. In one embodiment, The method includes: receiving a slice header for a slice of the picture, wherein the slice header comprises a state syntax element; decoding a state value from the state syntax element in the slice header, wherein a) if the state value is not equal to a first value, then the state value indicates that i) the bitstream includes for the picture a picture header comprising a set of picture syntax elements and ii) the slice header does not comprise the set of picture syntax elements and b) if the state value is equal to the first value, then the state value indicates that i) the slice header contains said set of picture syntax elements and ii) the bitstream does not include a picture header for the picture; and using the set of picture syntax elements to decode the slice of the picture.
Inventors
- Rickard Sjöberg
- Martin Pettersson
- Mitra Damghanian
Assignees
- TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
Dates
- Publication Date
- 20260512
- Application Date
- 20241007
Claims (20)
- 1 . A method for decoding a picture from a bitstream, the method comprising: obtaining a slice header for a slice of the picture, wherein the slice header comprises a state syntax element; decoding a state value from the state syntax element in the slice header, wherein a) if the state value is not equal to a first value, then the state value indicates that the bitstream includes for the picture a picture header comprising a set of picture syntax elements and b) if the state value is equal to the first value, then the state value indicates that i) the slice header contains said set of picture syntax elements and ii) the bitstream does not include a picture header for the picture; and using the set of picture syntax elements to decode the slice of the picture, wherein the bitstream comprises a coded layer video sequence (CLVS), the picture is a picture within the CLVS, the CLVS comprises a plurality of slice headers including the slice header, and each slice header included in the CLVS comprises the state syntax element.
- 2 . The method of claim 1 , wherein the state syntax element is a binary flag.
- 3 . The method of claim 1 , wherein the set of picture syntax elements comprises a picture parameter set (PPS) syntax element encoding a value for identifying a PPS.
- 4 . The method of claim 1 , wherein obtaining the slice header comprises obtaining a network abstraction layer (NAL) unit comprising the slice header and slice data.
- 5 . The method of claim 1 , wherein the state value is not equal to the first value and the state value indicates that the bitstream includes a picture header for the picture.
- 6 . The method of claim 5 , further comprising, prior to obtaining the slice header, obtaining the picture header.
- 7 . The method of claim 6 , wherein obtaining the picture header comprises obtaining a first network abstraction layer, NAL, unit comprising the picture header, obtaining the slice header comprises obtaining a second NAL unit comprising the slice header, and the first NAL unit comprising the picture header precedes the second NAL unit comprising the slice header in a decoding order.
- 8 . The method of claim 7 , wherein the first NAL unit is a non-video coding layer (non-VCL) NAL unit, and the second NAL unit a video coding layer (VCL) NAL unit.
- 9 . The method of claim 8 , wherein the first and second NAL units belong to the same access unit or picture unit.
- 10 . The method of claim 1 , wherein the bitstream comprises a parameter set, and the parameter set does not contain the state syntax element.
- 11 . A decoder, the decoder comprising: processing circuitry; and memory containing instructions executable by the processing circuitry, wherein the decoder is operative to perform a method comprising: obtaining a slice header for a slice of the picture, wherein the slice header comprises a state syntax element; decoding a state value from the state syntax element in the slice header, wherein a) if the state value is not equal to a first value, then the state value indicates that the bitstream includes for the picture a picture header comprising a set of picture syntax elements and b) if the state value is equal to the first value, then the state value indicates that i) the slice header contains said set of picture syntax elements and ii) the bitstream does not include a picture header for the picture; and using the set of picture syntax elements to decode the slice of the picture, wherein the bitstream comprises a coded layer video sequence (CLVS), the picture is a picture within the CLVS, the CLVS comprises a plurality of slice headers including the slice header, and each slice header included in the CLVS comprises the state syntax element.
- 12 . The decoder of claim 11 , wherein the state syntax element is a binary flag.
- 13 . The decoder of claim 11 , wherein the set of picture syntax elements comprises a picture parameter set (PPS) syntax element encoding a value for identifying a PPS.
- 14 . The decoder of claim 11 , wherein obtaining the slice header comprises obtaining a network abstraction layer (NAL) unit comprising the slice header and slice data.
- 15 . The decoder of claim 11 , wherein the state value is not equal to the first value and the state value indicates that the bitstream includes a picture header for the picture.
- 16 . The decoder of claim 15 , wherein the method further comprises, prior to obtaining the slice header, obtaining the picture header.
- 17 . The decoder of claim 16 , wherein obtaining the picture header comprises obtaining a first network abstraction layer, NAL, unit comprising the picture header, obtaining the slice header comprises obtaining a second NAL unit comprising the slice header, and the first NAL unit comprising the picture header precedes the second NAL unit comprising the slice header in a decoding order.
- 18 . The decoder of claim 17 , wherein the first NAL unit is a non-video coding layer (non-VCL) NAL unit, and the second NAL unit a video coding layer (VCL) NAL unit.
- 19 . The decoder of claim 18 , wherein the first and second NAL units belong to the same access unit or picture unit.
- 20 . The decoder of claim 11 , wherein the bitstream comprises a parameter set, and the parameter set does not contain the state syntax element.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS This application is a continuation of U.S. application Ser. No. 18/238,728, filed on 2023 Aug. 28 (now U.S. Pat. No. 12,143,619, issued on 2024 Nov. 12), which is a continuation of U.S. application Ser. No. 17/972,359, filed on 2022 Oct. 24 (now U.S. Pat. No. 11,778,221 issued on 2023 Oct. 3), which is a continuation of U.S. application Ser. No. 17/531,112, filed on 2021 Nov. 19 (now U.S. Pat. No. 11,490,106, issued on 2022 Nov. 1), which is a continuation of U.S. application Ser. No. 17/122,835, filed on 2020 Dec. 15 (now U.S. Pat. No. 11,190,792, issued on 2021 Nov. 30), which is a bypass continuation of International Patent Application No. PCT/EP2020/076815, filed on 2020 Sep. 24, which claims priority to U.S. provisional patent application No. 62/959,123, filed on 2020 Jan. 9. The above identified applications and patents are incorporated by this reference. TECHNICAL FIELD The present disclosure relates generally to methods and apparatuses for video encoding and decoding. BACKGROUND High Efficiency Video Coding (HEVC) is a block-based video codec standardized by ITU-T (International Telecommunication Union Telecommunication Standardization Sector) and MPEG (Moving Pictures Expert Group) that utilizes both temporal and spatial prediction. Spatial prediction is achieved using intra (I) prediction from within the current picture. Temporal prediction is achieved using uni-directional (P) or bi-directional inter (B) prediction on block level from previously decoded reference pictures. In the encoder, the difference between the original pixel data and the predicted pixel data, referred to as the residual, is transformed into the frequency domain, quantized and then entropy coded before transmitted together with necessary prediction parameters such as prediction mode and motion vectors, also entropy coded. The decoder performs entropy decoding, inverse quantization and inverse transformation to obtain the residual, and then adds the residual to an intra or inter prediction to reconstruct a picture. MPEG and ITU-T are working on the successor to HEVC within the Joint Video Exploratory Team (JVET). The name of this video codec under development is Versatile Video Coding (VVC). The current version of the VVC specification at the time of filing this application is JVET-Q0041-v2_DraftText.docx. NAL Units Both HEVC and VVC define a Network Abstraction Layer (NAL). All the data, i.e. both Video Coding Layer (VCL) or non-VCL data in HEVC and VVC is encapsulated in NAL units. A VCL NAL unit contains data that represents picture sample values. A non-VCL NAL unit contains additional associated data such as parameter sets and supplemental enhancement information (SEI) messages. The NAL unit in HEVC begins with a header which specifies the NAL unit type of the NAL unit that identifies what type of data is carried in the NAL unit, the layer ID and the temporal ID for which the NAL unit belongs to. The NAL unit type is transmitted in the nal_unit_type codeword in the NAL unit header and the type indicates and defines how the NAL unit should be parsed and decoded. The rest of the bytes of the NAL unit is payload of the type indicated by the NAL unit type. A bitstream consists of a series of concatenated NAL units. A bitstream consists of a series of concatenated NAL units. The syntax for the HEVC NAL unit and NAL unit header is shown in Table 1. TABLE 1HEVC NAL unit syntaxDescriptornal_unit_header( ) {forbidden_zero_bitf(1)nuh_reserved_zero_bitu(1)nuh_layer_idu(6)nal_unit_typeu(5)nuh_temporal_id_plus1u(3)} The NAL unit types of the current VVC draft are shown in Table 2. The decoding order is the order in which NAL units shall be decoded, which is the same as the order of the NAL units within the bitstream. The decoding order may be different from the output order, which is the order in which decoded pictures are to be output, such as for display, by the decoder. TABLE 2NAL unit types in VVCName ofContent of NAL unit and RBSPNAL unitnal_unit_typenal_unit_typesyntax structuretype class0TRAIL_NUTCoded slice of a trailing pictureVCLslice_layer_rbsp( )1STSA_NUTCoded slice of an STSA pictureVCLslice_layer_rbsp( )2RADL_NUTCoded slice of a RADL pictureVCLslice_layer_rbsp( )3RASL_NUTCoded slice of a RASL pictureVCLslice_layer_rbsp( )4 . . . 6RSV_VCL_4 . . .Reserved non-IRAP VCL NAL unitVCLRSV_VCL_6types7IDR_W_RADCoded slice of an IDR pictureVCL8IDR_N_LPslice_layer_rbsp( )9CRA_NUTCoded slice of a CRA pictureVCLsilce_layer_rbsp( )10GDR_NUTCoded slice of a GDR pictureVCLslice_layer_rbsp( )11RSV_IRAP_11Reserved IRAP VCL NAL unit typesVCL12RSV_IRAP_1213DPS_NUTDecoding parameter setnon-VCLdecoding_parameter_set_rbsp( )14VPS_NUTVideo parameter setnon-VCLvideo_parameter_set_rbsp( )15SPS_NUTSequence parameter setnon-VCLseq_parameter_set_rbsp( )16PPS_NUTPicture parameter setnon-VCLpic_parameter_set_rbsp( )17PREFIX_APS_NUTAdaptation parameter setnon-VCL18SUFFIX_APS_NUTadaptation_parameter_set_rbsp( )19PH_