Signaling of slice type and video layer

The VVC design is enhanced by revising signaling constraints and syntax elements to address inefficiencies in existing VVC designs, particularly in slice_type and HRD parameter handling, resulting in improved video coding efficiency and flexibility.

CN114868399BActive Publication Date: 2025-03-25DOUYIN CO LTD

Patent Information

Application Number
CN202080090401.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-12-30
Filing Date
2020-12-24
Publication Date
2025-03-25
Estimated Expiration
2040-12-24

AI Technical Summary

Technical Problem

The existing VVC design faces issues such as unnecessary signaling constraints, missing deductions for certain syntax elements, and inefficient handling of HRD parameters, particularly in the context of slice_type, PTL information, and layer usage within output layer sets, which affect the flexibility and efficiency of video coding.

Method used

Modifying the VVC signaling constraints and syntax elements to allow for more flexible handling of slice_type, PTL information, and HRD parameters, including deductions for missing elements and optimizing layer usage within output layer sets, such as setting slice_type=2 when vps_independent_layer_flag is 1, and adjusting vps_num_dpb_params and vps_ptl_byte_alignment_zero_bit conditions to reduce unnecessary signaling.

Benefits of technology

The modifications enhance the flexibility and efficiency of video coding by reducing unnecessary signaling, improving layer usage, and ensuring consistent handling of HRD parameters, thereby optimizing video processing and compression.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114868399B_ABST
    Figure CN114868399B_ABST
Patent Text Reader

Abstract

A video processing method includes performing conversion between a video including one or more scalable video layers and a bitstream of the video. The video includes one or more video pictures, and the video pictures include one or more slices. The bitstream complies with a format rule. The format rule stipulates that when a corresponding network abstraction layer unit type is within a predetermined range and a corresponding video layer flag indicates that a video layer containing the slice does not use inter-layer prediction, a value of a field indicating a slice type of a slice is set to indicate a type of an intra-frame slice.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application is an application entering the Chinese national phase of International Patent Application No. PCT / US2020 / 067011 filed on December 24, 2020, which claims priority to U.S. Provisional Application No. 62 / 953,854 filed on December 26, 2019 and U.S. Provisional Application No. 62 / 954,907 filed on December 30, 2019. The entire disclosure of the above application is incorporated by reference as part of the disclosure of this application. Technical Field

[0003] This patent document relates to image encoding and decoding and video encoding and decoding. Background Art

[0004] Digital video accounts for the largest use of bandwidth on the Internet and other digital communications networks. As the number of connected user devices capable of receiving and displaying video increases, it is expected that bandwidth requirements for digital video usage will continue to grow. Summary of the invention

[0005] This document discloses techniques that can be used by video encoders and video decoders to perform video encoding or decoding.

[0006] In one example aspect, a video processing method is disclosed. The method includes performing conversion between a video including one or more scalable video layers and a bitstream of the video. The video includes one or more video pictures, and the video pictures include one or more slices. The bitstream conforms to a format rule. The format rule provides that, when a corresponding network abstraction layer unit type is within a predetermined range and a corresponding video layer flag indicates that the video layer corresponding to the slice does not use inter-layer prediction, a value of a field indicating a slice type of the slice is set to indicate a type of an intra-frame slice.

[0007] In another example aspect, a video processing method is disclosed. The method includes performing conversion between a video including multiple video layers and a bitstream of the video, wherein the bitstream includes multiple output layer sets (OLSs), each output layer set includes one or more of multiple scalable video layers, and the bitstream conforms to a format rule, wherein the format rule specifies that, for an OLS having a single layer, a profile-tier-level (PTL) syntax structure indicating a profile, layer, and level of the OLS is included in a video parameter set of the bitstream, and the PTL syntax structure of the OLS is also included in a sequence parameter set encoded and decoded in the bitstream.

[0008] In another example aspect, a video processing method is disclosed. The method includes performing conversion between a video including multiple video layers and a bitstream of the video, wherein the bitstream includes multiple output layer sets (OLSs), each output layer set includes one or more of the multiple video layers, and the bitstream conforms to a format rule, wherein the format rule specifies a relationship between multiple profile-layer-level (PTL) syntax structures appearing in a video parameter set of the bitstream and byte-aligned syntax fields in the video parameter set; wherein each PTL syntax structure indicates a profile, layer, and level of one or more of the multiple OLSs.

[0009] In another example aspect, a video processing method is disclosed. The method includes performing conversion between a video including multiple scalable video layers and a bitstream of the video, wherein the bitstream includes multiple output layer sets (OLS), each output layer set includes one or more of the multiple scalable video layers, and the bitstream conforms to a format rule, wherein the format rule specifies that during encoding, if the value of an index to a syntax structure describing a profile, layer, and level of one or more of the multiple OLSs is zero, a syntax element indicating the index is excluded from a video parameter set of the bitstream, or during decoding, if the syntax element is not present in the bitstream, the value is inferred to be zero.

[0010] In another example aspect, a video processing method is disclosed. The method includes performing conversion between a video including multiple video layers and a bitstream of the video, wherein the bitstream includes multiple output layer sets (OLSs), each output layer set includes one or more of the multiple video layers, and the bitstream conforms to a format rule, wherein the format rule specifies that for layer i, where i is an integer, the bitstream includes a first set of syntax elements indicating a first variable, the first variable indicating whether layer i is included in at least one of the multiple OLSs.

[0011] In another example aspect, a video processing method is disclosed. The method includes performing conversion between a video and a bitstream of the video, wherein the bitstream includes one or more output layer sets, each output layer set including one or more video layers; wherein the bitstream conforms to a format rule, wherein the format rule specifies that, in the case where each output layer set includes a single video layer, the number of decoded picture buffer parameter syntax structures included in a video parameter set of the bitstream is equal to zero; or, in the case where each output layer set includes a single layer, the number is equal to one plus the value of the syntax element.

[0012] In another example aspect, a video processing method is disclosed. The method includes performing conversion between a video and a bitstream of the video, wherein the bitstream includes a codec video sequence (CVS) including one or more codec video pictures of one or more video layers; and wherein the bitstream conforms to a format rule that specifies that one or more sequence parameter sets (SPSs) indicating conversion parameters referenced by one or more codec pictures of the CVS have the same reference video parameter set (VPS) identifier, the VPS identifier indicating the reference VPS.

[0013] In another example aspect, a video processing method is disclosed. The method includes performing conversion between a video and a bitstream of the video, wherein the bitstream includes one or more output layer sets (OLS), each output layer set includes one or more video layers, wherein the bitstream conforms to a format rule; wherein the format rule specifies whether or how a first syntax element is included in a video parameter set (VPS) of the bitstream, the first syntax element indicating whether a first syntax structure describing parameters of a hypothetical reference decoder (HRD) is used for conversion.

[0014] In another example aspect, a video processing method is disclosed. The method includes performing conversion between a video and a bitstream of the video, wherein the bitstream includes one or more output layer sets (OLS), each output layer set includes one or more video layers, wherein the bitstream conforms to a format rule; wherein the format rule specifies whether or how to include a first syntax structure describing a general hypothetical reference decoder (HRD) parameter and a plurality of second syntax structures describing OLS-specific HRD parameters in a video parameter set (VPS) of the bitstream.

[0015] In yet another exemplary aspect, a video encoder apparatus is disclosed. The video encoder includes a processor configured to implement the above method.

[0016] In another exemplary aspect, a video decoder apparatus is disclosed. The video decoder includes a processor configured to implement the above method.

[0017] In yet another exemplary aspect, a computer readable medium having code stored thereon is disclosed. The code embodies one of the methods described herein in the form of processor executable code.

[0018] In yet another example aspect, a method of writing a bitstream generated according to one of the above methods to a computer-readable medium is disclosed.

[0019] In another example aspect, a computer-readable medium storing a bitstream of a video generated according to the above method is disclosed.

[0020] These features and others are described throughout this document. BRIEF DESCRIPTION OF THE DRAWINGS

[0021] Figure 1 is a block diagram illustrating a video encoding and decoding system according to some embodiments of the present disclosure.

[0022] Figure 2 is a block diagram of an example hardware platform for video processing.

[0023] Figure 3 is a flow chart of an example method of video processing.

[0024] Figure 4 is a block diagram illustrating an example video codec system.

[0025] Figure 5 is a block diagram illustrating an encoder according to some embodiments of the present disclosure.

[0026] Figure 6 is a block diagram illustrating a decoder according to some embodiments of the present disclosure.

[0027] Figure 7A-Figure 7I is a flowchart of examples of various video processing methods. DETAILED DESCRIPTION

[0028] The section titles used in this document are for ease of understanding and do not limit the techniques and embodiments disclosed in each section to only apply to that section. In addition, the use of H.266 terminology in some specifications is only for ease of understanding and is not intended to limit the scope of the disclosed technology. Thus, the techniques described herein are also applicable to other video codec protocols and designs.

[0029] 1. Summary

[0030] This document is about video codec technology. Specifically, it is about various improvements to scalable video codecs, where a video bitstream can contain more than one layer. These ideas can be applied, alone or in various combinations, to any video codec standard or non-standard video codec that supports multi-layer video codecs, such as the Versatile Video Codec (VVC) under development.

[0031] 2. Abbreviations

[0032] APS Adaptive Parameter Set

[0033] AU Access Unit

[0034] AUD Access Unit Delimiter

[0035] AVC Advanced Video Codec

[0036] CLVS Codec Layer Video Sequence

[0037] CPB codec picture buffer

[0038] CRA Clean Random Access

[0039] CTU Codec Tree Unit

[0040] CVS codec video sequence

[0041] DPB decoded picture buffer

[0042] DPS Decoding Parameter Set

[0043] EOB End of bitstream

[0044] EOS sequence end

[0045] GDR Gradual Decode Refresh

[0046] HEVC High Efficiency Video Codec

[0047] HRD Hypothesized Reference Decoder

[0048] IDR Instant Decode Refresh

[0049] JEM Joint Exploration Model

[0050] MCTS motion constraint patches

[0051] NAL Network Abstraction Layer

[0052] OLS output layer set

[0053] PH Image Header

[0054] PPS picture parameter set

[0055] PTL grades, tiers and levels

[0056] PU Picture Unit

[0057] RBSP Raw Byte Sequence Payload

[0058] SEI Supplemental Enhancement Information

[0059] SPS sequence parameter set

[0060] SVC Scalable Video Codec

[0061] VCL video codec layer

[0062] VPS Video Parameters Collection

[0063] VTM VVC test model

[0064] VUI Video Availability Information

[0065] VVC Multi-functional Video Codec

[0066] 3. Preliminary Discussion

[0067] Video codec standards have been developed mainly through the development of the well-known ITU-T and ISO / IEC standards. ITU-T produced H.261 and H.263, ISO / IEC produced MPEG-1 and MPEG-4 Visual, and the two organizations jointly produced the H.262 / MPEG-2 Video standard and the H.264 / MPEG-4 Advanced Video Codec (AVC) standard and the H.265 / HEVC[1] standard. Since H.262, video codec standards are based on a hybrid video codec structure, in which temporal prediction plus transform codec is used. In order to explore future video codec technologies beyond HEVC, VCEG and MPEG jointly established the Joint Video Exploration Team (JVET) in 2015. Since then, many new methods have been adopted by JVET and applied to the reference software called Joint Exploration Model (JEM)[2]. JVET meetings are held simultaneously every quarter, and the goal of the new codec standard is to reduce the bit rate by 50% compared to HEVC. At the JVET meeting in April 2018, the new video codec standard was officially named the Versatile Video Codec (VVC), and the first version of the VVC Test Model (VTM) was released at that time. With the continuous efforts to standardize VVC, each JVET meeting adopts new codec technologies for the VCC standard. The VVC working draft and test model VTM are then updated after each meeting. The VVC project currently aims to achieve technical completion (FDIS) at the July 2020 meeting.

[0068] 3.1. General Scalable Video Codec (SVC)

[0069] Scalable Video Coding (SVC) refers to a video codec in which a base layer (BL) (sometimes referred to as a reference layer (RL)) and one or more scalable enhancement layers (EL) are used. In SVC, the base layer can carry video data with a basic quality level. One or more enhancement layers can carry additional video data to support, for example, a higher spatial level, temporal level, and / or signal-to-noise ratio (SNR) level. The enhancement layer can be defined relative to the previously coded layer. For example, the bottom layer can serve as the BL, and the top layer can serve as the EL. The middle layer can serve as the EL or the RL, or both. For example, an intermediate layer (e.g., a layer that is neither the lowest layer nor the highest layer) can be the EL of the layer below the intermediate layer (e.g., the base layer or any intermediate enhancement layer), and at the same time serve as the RL of one or more enhancement layers above the intermediate layer. Similarly, in the multi-view or 3D extension of the HEVC standard, there can be multiple views, and the information of one view can be used to encode (e.g., encode or decode) the information of another view (e.g., motion estimation, motion vector prediction, and / or other redundancy).

[0070] In SVC, parameters used by an encoder or decoder are grouped into parameter sets based on the codec level at which they can be used (e.g., video level, sequence level, picture level, slice level, etc.). For example, parameters that can be used by one or more codec video sequences of different layers in a bitstream can be included in a video parameter set (VPS), and parameters used by one or more pictures in a codec video sequence can be included in a sequence parameter set (SPS). Similarly, parameters used by one or more slices in a picture can be included in a picture parameter set (PPS), and other parameters specific to a single slice can be included in a slice header. Similarly, an indication of which parameter set a particular layer uses at a given time can be provided at various codec levels.

[0071] 3.2. Parameter Collection

[0072] AVC, HEVC, and VVC specify parameter sets. Types of parameter sets include SPS, PPS, APS, VPS, and DPS. All AVC, HEVC, and VVC support SPS and PPS. VPS was introduced since HEVC and is included in HEVC and VVC. APS and DPS are not included in AVC or HEVC, but are included in the latest VVC draft text.

[0073] SPS is designed to carry sequence-level header information, and PPS is designed to carry picture-level header information that does not change frequently. Using SPS and PPS, there is no need to repeat information that does not change frequently for each sequence or picture, so redundant signaling of this information can be avoided. In addition, the use of SPS and PPS enables out-of-band transmission of important header information, thus not only avoiding the need for redundant transmission but also improving error resilience.

[0074] VPS is introduced to carry sequence-level header information common to all layers in a multi-layer bitstream.

[0075] APS was introduced to carry such picture-level information or slice-level information, which requires quite a lot of bits to encode and decode, can be shared by multiple pictures, and can have quite a lot of different variations in one sequence.

[0076] DPS was introduced to carry bitstream-level information that indicates the highest capability required to decode the entire bitstream.

[0077] 3.3. VPS Syntax and Semantics in VVC

[0078] VVC supports scalability, also known as scalable video codec, where multiple layers can be encoded in one codec video bitstream.

[0079] In the latest VVC text, scalability information is signaled in VPS, and the syntax and semantics are as follows.

[0080] 7.3.2.2 Video parameter set syntax

[0081]

[0082]

[0083]

[0084] 7.4.3.2 Video Parameter Set RBSP Semantics

[0085] The VPS RBSP shall be available to the decoding process before being referenced, included in at least one AU with TemporalId equal to 0 or provided by external means.

[0086] All VPS NAL units in CVS with a specific value of vps_video_parameter_set_id shall have the same content.

[0087] vps_video_parameter_set_id provides an identifier for the VPS for reference by other syntax elements. The value of vps_video_parameter_set_id should be greater than 0.

[0088] vps_max_layers_minus1 plus 1 specifies the maximum number of layers allowed in each CVS of the reference VPS.

[0089] vps_max_sublayers_minus1 plus 1 specifies the maximum number of temporal sublayers that may be present in each CVS of the reference VPS. The value of vps_max_sublayers_minus1 should be in the range of 0 to 6, inclusive.

[0090] vps_all_layers_same_num_sublayers_flag equal to 1 specifies that for all layers in each CVS of the reference VPS, the number of temporal sublayers is the same. vps_all_layers_same_num_sublayers_flag equal to 0 specifies that the layers in each CVS of the reference VPS may or may not have the same number of temporal sublayers. When not present, the value of vps_all_layers_same_num_sublayers_flag is inferred to be equal to 1.

[0091] vps_all_independent_layers_flag equal to 1 specifies that all layers in the CVS are independently coded and not using inter-layer prediction. vps_all_independent_layers_flag equal to 0 specifies that one or more layers in the CVS may use inter-layer prediction. When not present, the value of vps_all_independent_layers_flag is inferred to be equal to 1. When vps_all_independent_layers_flag is equal to 1, the value of vps_independent_layer_flag[i] is inferred to be equal to 1. When vps_all_independent_layers_flag is equal to 0, the value of vps_independent_layer_flag[0] is inferred to be equal to 1.

[0092] vps_layer_id[i] specifies the nuh_layer_id value of layer i. For any two non-negative integer values ​​of m and n, when m is less than n, the value of vps_layer_id[m] shall be less than vps_layer_id[n].

[0093] vps_independent_layer_flag[i] equal to 1 specifies that the layer with index i does not use inter-layer prediction. vps_independent_layer_flag[i] equal to 0 specifies that the layer with index i may use inter-layer prediction, and the syntax element vps_direct_ref_layer_flag[i][j] (j in the range 0 to i-1, inclusive) is present in the VPS. When not present, the value of vps_independent_layer_flag[i] is inferred to be equal to 1.

[0094] vps_direct_ref_layer_flag[i][j] equal to 0 specifies that the layer with index j is not the direct reference layer of the layer with index i. vps_direct_ref_layer_flag[i][j] equal to 1 specifies that the layer with index j is the direct reference layer of the layer with index i. When vps_direct_ref_layer_flag[i][j] is not present (for i and j in the range of 0 to vps_max_layers_minus1, inclusive), it is inferred to be equal to 0. When vps_independent_layer_flag[i] is equal to 0, there shall be at least one value of j in the range of 0 to i-1, inclusive, such that the value of vps_direct_ref_layer_flag[i][j] is equal to 1.

[0095] The variables NumDirectRefLayers[i], DirectRefLayerIdx[i][d], NumRefLayers[i], RefLayerIdx[i][r], and LayerUsedAsRefLayerFlag[j] are derived as follows:

[0096]

[0097]

[0098] The variable GeneralLayerIdx[i], which specifies the layer index of the layer whose nuh_layer_id is equal to vps_layer_id[i], is derived as follows:

[0099] for(i=0;i<=vps_max_layers_minus1;

[0100] i++) (38)

[0101] GeneralLayerIdx[vps_layer_id[i]]=i

[0102] each_layer_is_an_ols_flag equal to 1 specifies that each output layer set contains only one layer, and that each layer in the bitstream is itself an output layer set, where the single contained layer is the only output layer. each_layer_is_an_ols_flag equal to 0 specifies that the output layer set may contain multiple layers. If vps_max_layers_minus1 is equal to 0, the value of each_layer_is_an_ols_flag is inferred to be equal to 1. Otherwise, when vps_all_independent_layers_flag is equal to 0, the value of each_layer_is_an_ols_flag is inferred to be equal to 0.

[0103] ols_mode_idc equal to 0 specifies that the total number of OLSs specified by the VPS is equal to vps_max_layers_minus1+1, the i-th OLS includes layers with layer indices from 0 to i (including 0 and i), and for each OLS, only the highest layer in the OLS is output.

[0104] ols_mode_idc equal to 1 specifies that the total number of OLSs specified by the VPS is equal to vps_max_layers_minus1+1, the i-th OLS includes layers with layer indices from 0 to i (including 0 and i), and for each OLS, all layers in the OLS are output.

[0105] ols_mode_idc equal to 2 specifies that the total number of OLSs specified by the VPS is explicitly signaled, and for each OLS, the output layer is explicitly signaled, while the other layers are direct or indirect reference layers of the output layer of the OLS.

[0106] The value of ols_mode_idc shall be in the range of 0 to 2, inclusive. The value 3 of ols_mode_idc is reserved for future use by ITU-T | ISO / IEC.

[0107] When vps_all_independent_layers_flag is equal to 1 and each_layer_is_an_ols_flag is equal to 0, the value of ols_mode_idc is inferred to be equal to 2.

[0108] num_output_layer_sets_minus1 plus 1 specifies the total number of OLSs specified by the VPS when ols_mode_idc is equal to 2.

[0109] The variable TotalNumOlss, which specifies the total number of OLSs specified by the VPS, is derived as follows:

[0110]

[0111] ols_output_layer_flag[i][j] equal to 1 specifies that when ols_mode_idc is equal to 2, the layer with nuh_layer_id equal to vps_layer_id[j] is the output layer of the i-th OLS. ols_output_layer_flag[i][j] equal to 0 specifies that when ols_mode_idc is equal to 2, the layer with nuh_layer_id equal to vps_layer_id[j] is not the output layer of the i-th OLS.

[0112] The variable NumOutputLayersInOls[i], which specifies the number of output layers in the ith OLS, and the variable OutputLayerIdInOls[i][j], which specifies the value of nuh_layer_id for the jth output layer in the ith OLS, are derived as follows:

[0113]

[0114]

[0115] For each OLS, there should be at least one layer as an output layer. In other words, for any value of i in the range of 0 to TotalNumOlss-1 (including 0 and TotalNumOlss-1), the value of NumOutputLayersInOls[i] should be greater than or equal to 1.

[0116] The variable NumLayersInOls[i], which specifies the number of layers in the i-th OLS, and the variable LayerIdInOls[i][j], which specifies the nuh_layer_id value of the j-th layer in the i-th OLS, are derived as follows:

[0117]

[0118]

[0119] NOTE 1 - The 0th OLS contains only the lowest layer (i.e., the layer with nuh_layer_id equal to vps_layer_id[0]), and for the 0th OLS, only the included layers are output.

[0120] The variable OlsLayerIdx[i][j] that specifies the OLS layer index of the layer whose nuh_layer_id is equal to LayerIdInOls[i][j] is derived as follows:

[0121] for(i=0;i <TotalNumOlss;i++)

[0122] for j=0;j <NumLayersInOls[i];j++) (42)

[0123] OlsLayeIdx[i][LayerIdInOls[i][j]]=j

[0124] The lowest layer in each OLS shall be an independent layer. In other words, for each i in the range of 0 to TotalNumOlss-1 (including 0 and TotalNumOlss-1), the value of vps_independent_layer_flag[GeneralLayerIdx[LayerIdInOls[i][0]] shall be equal to 1.

[0125] Each layer shall be included in at least one OLS specified by the VPS. In other words, for each layer with a specific value of nuh_layer_id nuhLayerId (equal to one of vps_layer_id[k], for k in the range 0 to vps_max_layers_minus1 (inclusive)), there shall be at least one pair of values ​​of i and j, where i is in the range 0 to TotalNumOlss-1 (inclusive) and j is in the range NumLayersInOls[i]-1 (inclusive), such that the value of LayerIdInOls[i][j] is equal to nuhLayerId.

[0126] vps_num_ptls specifies the number of profile_tier_level() syntax structures in the VPS.

[0127] pt_present_flag[i] equal to 1 specifies that profile, tier, and general constraint information is present in the i-th profile_tier_level() syntax structure in the VPS. pt_present_flag[i] equal to 0 specifies that profile, tier, and general constraint information is not present in the i-th profile_tier_level() syntax structure in the VPS. The value of pt_present_flag[0] is inferred to be equal to 0. When pt_present_flag[i] is equal to 0, the profile, tier, and general constraint information of the i-th profile_tier_level() syntax structure in the VPS is inferred to be the same as the profile, tier, and general constraint information of the (i-1)-th profile_tier_level() syntax structure in the VPS.

[0128] ptl_max_temporal_id[i] specifies the TemporalId of the highest sublayer representation for which level information is present in the i-th profile_tier_level() syntax structure in the VPS. The value of ptl_max_temporal_id[i] shall be in the range of 0 to vps_max_sublayers_minus1, inclusive. When vps_max_sublayers_minus1 is equal to 0, the value of ptl_max_temporal_id[i] is inferred to be equal to 0. When vps_max_sublayers_minus1 is greater than 0 and vps_all_layers_same_num_sublayers_flag is equal to 1, the value of ptl_max_temporal_id[i] is inferred to be equal to vps_max_sublayers_minus1.

[0129] vps_ptl_byte_alignment_zero_bit should be equal to 0.

[0130] ols_ptl_idx[i] specifies the index into the list of profile_tier_level() syntax structures in the VPS of the profile_tier_level() syntax structure that applies to the i-th OLS. When present, the value of ols_ptl_idx[i] shall be in the range of 0 to vps_num_ptls-1, inclusive.

[0131] When NumLayersInOls[i] is equal to 1, the profile_tier_level() syntax structure applied to the i-th OLS exists in the SPS referenced by the layers in the i-th OLS.

[0132] vps_num_dpb_params specifies the number of dpb_parameters() syntax structures in the VPS. The value of vps_num_dpb_params shall be in the range of 0 to 16, inclusive. When not present, the value of vps_num_dpb_params is inferred to be equal to 0.

[0133] same_dpb_size_output_or_nonoutput_flag equal to 1 specifies that the layer_nonoutput_dpb_params_idx[i] syntax element is not present in the VPS. same_dpb_size_output_or_nonoutput_flag equal to 0 specifies that the layer_nonoutput_dpb_params_idx[i] syntax element may or may not be present in the VPS.

[0134] vps_sublayer_dpb_params_present_flag is used to control the presence of max_dec_pic_buffering_minus1[], max_num_reorder_pics[], and max_latency_increase_plus1[] syntax elements in the dpb_parameters() syntax structure in the VPS. When not present, vps_sub_dpb_params_info_present_flag is inferred to be equal to 0.

[0135] dpb_size_only_flag[i] equal to 1 specifies that the max_num_reorder_pics[] and max_latency_increase_plus1[] syntax elements are not present in the i-th dpb_parameters() syntax structure in the VPS. dpb_size_only_flag[i] equal to 1 specifies that the max_num_reorder_pics[] and max_latency_increase_plus1[] syntax elements may be present in the i-th dpb_parameters() syntax structure in the VPS.

[0136] dpb_max_temporal_id[i] specifies the TemporalId of the highest sublayer representation in the i-th dpb_parameters() syntax structure that may be present for the DPB parameter in the VPS. The value of dpb_max_temporal_id[i] shall be in the range of 0 to vps_max_sublayers_minus1, inclusive. When vps_max_sublayers_minus1 is equal to 0, the value of dpb_max_temporal_id[i] is inferred to be equal to 0. When vps_max_sublayers_minus1 is greater than 0 and vps_all_layers_same_num_sublayers_flag is equal to 1, the value of dpb_max_temporal_id[i] is inferred to be equal to vps_max_sublayers_minus1.

[0137] layer_output_dpb_params_idx[i] specifies the index into the list of dpb_parameters() syntax structures in the VPS that applies to the i-th layer when it is an output layer in the OLS. When present, the value of layer_output_dpb_params_idx[i] shall be in the range of 0 to vps_num_dpb_params-1, inclusive.

[0138] If vps_independent_layer_flag[i] is equal to 1, then when the i-th layer is the output layer, the dpb_parameters() syntax structure applied to the i-th layer is the dpb_parameters() syntax structure present in the SPS referenced by the layer.

[0139] Otherwise (vps_independent_layer_flag[i] is equal to 0), the following applies:

[0140] - When vps_num_dpb_params is equal to 1, the value of layer_output_dpb_params_idx[i] is inferred to be equal to 0.

[0141] - A requirement for bitstream conformance is that the value of layer_output_dpb_params_idx[i] shall be such that dpb_size_only_flag[layer_output_dpb_params_idx[i]] is equal to 0.

[0142] layer_nonoutput_dpb_params_idx[i] specifies the index into the list of dpb_parameters() syntax structures in the VPS that applies to the i-th layer when it is a non-output layer in the OLS. When present, the value of layer_nonoutput_dpb_params_idx[i] shall be in the range of 0 to vps_num_dpb_params-1, inclusive.

[0143] If same_dpb_size_output_or_nonoutput_flag is equal to 1, the following applies:

[0144] - If vps_independent_layer_flag[i] is equal to 1, then when the i-th layer is a non-output layer, the dpb_parameters() syntax structure applied to this layer is the dpb_parameters() syntax structure present in the SPS referenced by this layer.

[0145] Otherwise (vps_independent_layer_flag[i] is equal to 0), the value of layer_nonoutput_dpb_params_idx[i] is inferred to be equal to layer_output_dpb_params_idx[i].

[0146] Otherwise (same_dpb_size_output_or_nonoutput_flag is equal to 0), when vps_num_dpb_params is equal to 1, the value of layer_output_dpb_params_idx[i] is inferred to be equal to 0.

[0147] vps_general_hrd_params_present_flag equal to 1 specifies that the syntax structure general_hrd_parameters() and other HRD parameters are present in the VPS RBSP syntax structure. vps_general_hrd_params_present_flag equal to 0 specifies that the syntax structure general_hrd_parameters() and other HRD parameters are not present in the VPS RBSP syntax structure.

[0148] vps_sublayer_cpb_params_present_flag equal to 1 specifies that the i-th ols_hrd_parameters() syntax structure in the VPS contains HRD parameters for sublayer representation, where TemporalId is in the range of 0 to hrd_max_tid[i] (including 0 and hrd_max_tid[i]). vps_sublayer_cpb_params_present_flag equal to 0 specifies that the i-th ols_hrd_parameters() syntax structure in the VPS contains HRD parameters for sublayer representation, where TemporalId is equal to hrd_max_tid[i] only. When vps_max_sublayers_minus1 is equal to 0, the value of vps_sublayer_cpb_params_present_flag is inferred to be equal to 0.

[0149] When vps_sublayer_cpb_params_present_flag is equal to 0, the HRD parameters of the sublayer representation with TemporalId in the range of 0 to hrd_max_tid[i]-1, inclusive, are inferred to be the same as the HRD parameters of the sublayer representation with TemporalId equal to hrd_max_tid[i]. These include such HRD parameters starting from the fixed_pic_rate_general_flag[i] syntax element until the sublayer_hrd_parameters(i) syntax structure under the "if (general_vcl_hrd_params_present_flag)" condition in the ols_hrd_parameters syntax structure.

[0150] num_ols_hrd_params_minus1 plus 1 specifies the number of ols_hrd_parameters() syntax structures present in the general_hrd_parameters() syntax structure. The value of num_ols_hrd_params_minus1 shall be in the range of 0 to 63, inclusive. When TotalNumOlss is greater than 1, the value of num_ols_hrd_params_minus1 is inferred to be equal to 0.

[0151] hrd_max_tid[i] specifies the TemporalId of the highest sublayer representation for which the HRD parameters are contained in the i-th ols_hrd_parameters() syntax structure. The value of hrd_max_tid[i] shall be in the range of 0 to vps_max_sublayers_minus1, inclusive. When vps_max_sublayers_minus1 is equal to 0, the value of hrd_max_tid[i] is inferred to be equal to 0.

[0152] ols_hrd_idx[i] specifies the index of the ols_hrd_parameters() syntax structure that applies to the i-th OLS. The value of ols_hrd_idx[[i]] shall be in the range of 0 to num_ols_hrd_params_minus1, inclusive. When not present, the value of ols_hrd_idx[[i]] is inferred to be equal to 0.

[0153] vps_extension_flag equal to 0 specifies that the vps_extension_data_flag syntax element is not present in the VPS RBSP syntax structure. vps_extension_flag equal to 1 specifies that the vps_extension_data_flag syntax element is present in the VPS RBSP syntax structure.

[0154] The vps_extension_data_flag may have any value. Its presence and value do not affect the conformance of a decoder to the profiles specified in this version of this specification. Decoders conforming to this version of this specification shall ignore all vps_extension_data_flag syntax elements.

[0155] 3.4. SPS Syntax and Semantics in VVC

[0156] In the latest VVC draft text in JVET-P2001-v14, the SPS syntax and semantics most relevant to the invention of this article are shown below.

[0157] 7.3.2.3 Sequence parameter set RBSP syntax

[0158]

[0159] 7.4.3.3 Sequence parameter set RBSP semantics

[0160] The SPS RBSP shall be available to the decoding process before being referenced, included in at least one AU (with TemporalId equal to 0), or provided by external means.

[0161] All SPS NAL units in a CVS with a particular value of sps_seq_parameter_set_id shall have the same content.

[0162] When sps_decoding_parameter_set_id is greater than 0, it specifies the value of dps_decoding_parameter_set_id of the DPS referenced by the SPS. When sps_decoding_parameter_set_id is equal to 0, the SPS does not reference the DPS, and the DPS is not referenced when decoding each CLVS that references the SPS. The value of sps_decoding_parameter_set_id should be the same in all SPSs referenced by codec pictures in the bitstream.

[0163] When sps_video_parameter_set_id is greater than 0, it specifies the value of vps_video_parameter_set_id of the VPS referenced by the SPS.

[0164] When sps_video_parameter_set_id is equal to 0, the following applies:

[0165] -SPS does not refer to VPS.

[0166] - When decoding each CLVS that references the SPS, the VPS is not referenced.

[0167] - The value of vps_max_layers_minus1 is inferred to be equal to 0.

[0168] - A CVS shall contain only one layer (ie all VCL NAL units in a CVS shall have the same nuh_layer_id value).

[0169] -The value of GeneralLayerIdx[nuh_layer_id] is inferred to be equal to 0.

[0170] - The value of vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]] is inferred to be equal to 1.

[0171] When vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]] is equal to 1, the SPS referenced by the CLVS with a specific nuh_layer_id value nuhLayerId shall have nuh_layer_id equal to nuhLayerId.

[0172] sps_max_sublayers_minus1 plus 1 specifies the maximum number of time domain sublayers that may exist in the CLVS for each reference SPS. The value of sps_max_sublayers_minus1 shall be in the range of 0 to vps_max_sublayers_minus1, inclusive.

[0173] sps_reserved_zero_4bits shall be equal to 0 in bitstreams conforming to this version of this specification. Other values ​​of sps_reserved_zero_4bits are reserved for future use by ITU-T | ISO / IEC.

[0174] sps_ptl_dpb_hrd_params_present_flag equal to 1 specifies that the profile_tier_level() syntax structure and the dpb_parameters() syntax structure are present in the SPS, and the general_hrd_parameters() syntax structure and the ols_hrd_parameters() syntax structure may also be present in the SPS. sps_ptl_dpb_hrd_params_present_flag equal to 0 specifies that these syntax structures are not present in the SPS. The value of sps_ptl_dpb_hrd_params_present_flag shall be equal to vps_independent_layer_flag[nuh_layer_id].

[0175] If vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]] is equal to 1, the variable MaxDecPicBuffMinus1 shall be set to max_dec_pic_buffering_minus1[sps_max_sublayers_minus1] in the dpb_parameters() syntax structure in the SPS. Otherwise, MaxDecPicBuffMinus1 is set equal to max_dec_pic_buffering_minus1[sps_max_sublayers_minus1] in the layer_nonoutput_dpb_params_idx[GeneralLayerIdx[nuh_layer_id]]th dpb_parameters() syntax structure in the VPS.

[0176] 3.5. Slice Header Syntax and Semantics in VVC

[0177] In the latest VVC draft text in JVET-P2001-v14, the slice header syntax and semantics most relevant to the present invention are as follows.

[0178] 7.3.7.1 Generic Strip Header Syntax

[0179]

[0180] 7.4.8.1 Generic Strip Header Semantics

[0181] …

[0182] slice_type specifies the codec type of the slice according to Table 9

[0183] Table 9 - Names associated with slice_type

[0184] slice_type The name of slice_type 0 B (B band) 1 P(P stripe) 2 I(I strip)

[0185] When nal_unit_type is a value of nal_unit_type in the range of IDR_W_RADL to CRA_NUT (including IDR_W_RADL and CRA_NUT), and the current picture is the first picture in the access unit, slice_type shall be equal to 2.

[0186] …

[0187] 4. The technical problem solved by the described technical solution

[0188] The existing scalable design in VVC has the following problems:

[0189] 1) The latest VVC draft text includes the following constraints on slice_type:

[0190] When nal_unit_type is a nal_unit_type value in the range of IDR_W_RADL to CRA_NUT (including IDR_W_RADL and CRA_NUT) and the current picture is the first picture in the AU, slice_type shall be equal to 2.

[0191] For a slice, a slice_type value equal to 2 means that the slice is intra-coded without using inter-prediction from reference pictures.

[0192] However, in an AU, not only the first picture in the AU that is an IRAP picture needs to contain only intra-coded slices, but all IRAP pictures in all independent layers also need to contain only intra-coded slices. Therefore, the above constraints do need to be updated.

[0193] 2) When the syntax element ols_ptl_idx[i] does not exist, the value still needs to be used. However, when ols_ptl_idx[i] does not exist, there is no inference about its value.

[0194] 3) When the i-th layer is not used as an output layer in any OLS, signaling of the syntax element layer_output_dpb_params_idx[i] is unnecessary.

[0195] 4) The value of the syntax element vps_num_dpb_params may be equal to 0. However, when vps_all_independent_layers_flag is equal to 0, there needs to be at least one dpb_parameters() syntax structure in the VPS.

[0196] 5) In the latest VVC draft text, the PTL information for OLS contains only one layer, which is an independent codec layer that does not refer to any other layer and is only signaled in SPS. However, for the purpose of session negotiation, it is expected that PTL information is signaled for all OLS in the bitstream in VPS.

[0197] 6) When the number of PTL syntax structures signaled in the VPS is zero, the vps_ptl_byte_alignment_zero_bit syntax element is signaled unnecessarily.

[0198] 7) In the semantics of sps_video_parameter_set_id, there are the following constraints:

[0199] When sps_video_parameter_set_id is equal to 0, the CVS shall contain only one layer (ie, all VCL NAL units in the CVS shall have the same nuh_layer_id value).

[0200] However, this constraint does not allow including independent layers in a multi-layer bitstream that do not reference the VPS.Since sps_video_parameter_set_id equal to 0 means that the SPS (and the layers) do not reference the VPS.

[0201] 8) When each_layer_is_an_ols_flag is equal to 1, the value of vps_general_hrd_params_present_flag may be equal to 1. However, when each_layer_is_an_ols_flag is equal to 1, HRD parameters are only signaled in the SPS, so the value of vps_general_hrd_params_present_flag should not be equal to 1.

[0202] 9) Signaling HRD parameters for OLS containing only one layer in both VPS and SPS. However, for OLS containing only one layer, it is useless to repeat the HRD parameters in VPS.

[0203] 5. Example Embodiments and Techniques

[0204] In order to solve the above problems and other problems, the following summarized methods are disclosed. These inventions should be regarded as examples to explain general concepts and should not be interpreted narrowly. In addition, these inventions can be applied alone or in combination in any way.

[0205] 1) To solve the first problem, the following constraints are specified:

[0206] When nal_unit_type is in the range of IDR_W_RADL to CRA_NUT (inclusive) and vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]] is equal to 1, slice_type shall be equal to 2.

[0207] 2) To address the second problem, for each possible value of i, when the syntax element is not present, the value of ols_ptl_idx[i] is inferred to be equal to 0.

[0208] 3) To solve the third problem, a variable LayerUsedAsOutputLayerFlag[i] is defined to indicate whether the i-th layer is used as an output layer in any OLS, and when this variable is equal to 0, signaling of the variable layer_output_dpb_params_idx[i] is avoided.

[0209] a. In addition, the following constraint may be additionally specified: For each value of i in the range of 0 to vps_max_layers_minus1 (including 0 and vps_max_layers_minus1), the values ​​of LayerUsedAsRefLayerFlag[i] and LayerUsedAsOutputLayerFlag[i] shall not both be equal to 0. In other words, there shall be no layer that is neither a direct reference layer of any other layer nor an output layer of at least one OLS.

[0210] 4) To solve the fourth problem, change vps_num_dpb_params to vps_num_dpb_params_minus1, and define VpsNumDpbParams as follows:

[0211] if (!vps_all_independent_layers_flag)

[0212] VpsNumDpbParams=vps_num_dpb_params_minus1+1

[0213] otherwise

[0214] VpsNumDpbParams=0

[0215] And replace vps_num_dpb_params used in syntax conditions and semantics with VpsNumDpbParams.

[0216] a. In addition, the following constraint is additionally specified: When not present, the value of same_dpb_size_output_or_nonoutput_flag is inferred to be equal to 1.

[0217] 5) To solve the fifth problem, for the purpose of session negotiation, it is allowed to repeat the PTL information of the OLS containing only one layer in the VPS. This can be achieved by changing vps_num_ptls to vps_num_ptls_minus1.

[0218] a. Alternatively, keep vps_num_ptls (do not make it vps_num_ptls_minus1), but remove "NumLayersInOls[i]>1&&" from the syntax condition of ols_ptl_idx[i].

[0219] a. Alternatively, keep vps_num_ptls (do not make it vps_num_ptls_minus1), but set the vps_num_ptls condition to "if (!each_layer_is_an_ols_flag)" or "if (vps_max_layers_minus1>0&& !vps_all_independent_layers_flag)".

[0220] b. Alternatively, it is also allowed to repeat the DPB parameter information (only the DPB size or all DPB parameters) for an OLS containing only one layer in a VPS.

[0221] 6) To address the sixth issue, the vps_ptl_byte_alignment_zero_bit syntax element will not be signaled as long as the number of PTL syntax structures signaled in the VPS is zero. This can be achieved by setting the vps_ptl_byte_alignment_zero_bit condition to "if (vps_num_ptls>0)", or by changing vps_num_ptls to vps_num_ptls_minus1, which effectively does not allow the number of PTL syntax structures signaled in the VPS to be equal to zero.

[0222] 7) To solve the seventh problem, remove the following constraints:

[0223] When sps_video_parameter_set_id is equal to 0, the CVS shall contain only one layer (ie, all VCL NAL units in the CVS shall have the same nuh_layer_id value).

[0224] And add the following constraints:

[0225] The value of sps_video_parameter_set_id should be the same in all SPSs referenced by codec pictures in the CVS, and sps_video_parameter_set_id should be greater than 0.

[0226] a. Alternatively, keep the following constraints:

[0227] When sps_video_parameter_set_id is equal to 0, the CVS shall contain only one layer (ie, all VCL NAL units in the CVS shall have the same nuh_layer_id value).

[0228] The following constraints are specified:

[0229] The value of sps_video_parameter_set_id should be the same in all SPSs referenced by codec pictures in the CVS.

[0230] 8) To address the eighth issue, when vps_general_hrd_params_present_flag is equal to 1, the syntax element vps_general_hrd_params_present_flag is not signaled, and when not present, the value of vps_general_hrd_params_present_flag is inferred to be equal to 0.

[0231] a. Alternatively, when each_layer_is_an_ols_flag is equal to 1, the value of vps_general_hrd_params_present_flag is constrained to be equal to 0.

[0232] b. In addition, since the syntax condition of the syntax element num_ols_hrd_params_minus1, "if (TotalNumOlss>1)", is not needed, it will be removed. This is because when TotalNumOlss is equal to 1, the value of each_layer_is_an_ols_flag will be equal to 1, and then the value of vps_general_hrd_params_present_flag will be equal to 0, and then no HRD parameters will be signaled in the VPS.

[0233] 9) To solve the ninth problem, HRD parameters of an OLS including only one layer are signaled only in the SPS and not in the VPS.

[0234] 6. Examples

[0235] The following are some example embodiments of the aspects summarized in Section 5 above, which may be applied to the VVC specification. The modified text is based on the latest VVC text in JVET-P2001-v14. Most of the relevant sections that have been added or modified are are highlighted, and some deleted parts are shown with There are other changes that are editorial in nature and therefore are not highlighted.

[0236] 6.1. First embodiment

[0237] 6.1.1. VPS Syntax and Semantics

[0238] 7.3.2.2 Video parameter set syntax

[0239]

[0240]

[0241]

[0242] 7.4.3.2 Video Parameter Set RBSP Semantics ...

[0243] ols_output_layer_flag[i][j] equal to 1 specifies that when ols_mode_idc is equal to 2, the layer with nuh_layer_id equal to vps_layer_id[j] is the output layer of the i-th OLS. ols_output_layer_flag[i][j] equal to 0 specifies that when ols_mode_idc is equal to 2, the layer with nuh_layer_id equal to vps_layer_id[j] is not the output layer of the i-th OLS.

[0244] The variable NumOutputLayersInOls[i], which specifies the number of output layers in the ith OLS, and the variable OutputLayerIdInOls[i][j], which specifies the value of nuh_layer_id for the jth output layer in the ith OLS, are derived as follows:

[0245]

[0246]

[0247]

[0248] For each OLS, there should be at least one layer that is an output layer. In other words, for any value of i in the range of 0 to TotalNumOlss-1 (including 0 and TotalNumOlss-1), the value of NumOutputLayersInOls[i] should be greater than or equal to 1.

[0249] The variable NumLayersInOls[i], which specifies the number of layers in the i-th OLS, and the variable LayerIdInOls[i][j], which specifies the nuh_layer_id value of the j-th layer in the i-th OLS, are derived as follows:

[0250]

[0251]

[0252] NOTE - The 0th OLS only includes the lowest layer (i.e., the layer with nuh_layer_id equal to vps_layer_id[0]), and only the included layers are output for the 0th OLS.

[0253] The variable OlsLayeIdx[i][j] that specifies the OLS layer index of the layer whose nuh_layer_id is equal to LayerIdInOls[i][j] is derived as follows:

[0254] for(i=0;i <TotalNumOlss;i++)

[0255] for j=0;j <NumLayersInOls[i];j++) (42)

[0256] OlsLayeIdx[i][LayerIdInOls[i][j]]=j

[0257] The lowest layer in each OLS shall be an independent layer. In other words, for each i in the range of 0 to TotalNumOlss-1 (including 0 and TotalNumOlss-1), the value of vps_independent_layer_flag[GeneralLayerIdx[LayerIdInOls[i][0]] shall be equal to 1.

[0258] Each layer shall be included in at least one OLS specified by the VPS. In other words, for each layer with a specific value of nuh_layer_id nuhLayerId equal to one of vps_layer_id[k] (for each layer in the range of 0 to vps_max_layers_minus1, inclusive), there shall be at least one pair of values ​​of i and j, where i is in the range of 0 to TotalNumOlss-1, inclusive, and j is in the range of NumLayersInOls[i]-1, inclusive, such that the value of LayerIdInOls[i][j] is equal to nuhLayerId.

[0259] vps_num_ptls_ Specifies the number of profile_tier_level() syntax structures in the VPS.

[0260] pt_present_flag[i] equal to 1 specifies that profile, tier, and general constraint information is present in the i-th profile_tier_level() syntax structure in the VPS. pt_present_flag[i] equal to 0 specifies that profile, tier, and general constraint information is not present in the i-th profile_tier_level() syntax structure in the VPS. The value of pt_present_flag[0] is inferred to be equal to 1. When pt_present_flag[i] is equal to 0, the profile, tier, and general constraint information of the i-th profile_tier_level() syntax structure in the VPS is inferred to be the same as the profile, tier, and general constraint information of the (i-1)-th profile_tier_level() syntax structure in the VPS.

[0261] ptl_max_temporal_id[i] specifies the TemporalId of the highest sublayer representation for which level information is present in the i-th profile_tier_level() syntax structure in the VPS. The value of ptl_max_temporal_id[i] shall be in the range of 0 to vps_max_sublayers_minus1, inclusive. When vps_max_sublayers_minus1 is equal to 0, the value of ptl_max_temporal_id[i] is inferred to be equal to 0. When vps_max_sublayers_minus1 is greater than 0 and vps_all_layers_same_num_sublayers_flag is equal to 1, the value of ptl_max_temporal_id[i] is inferred to be equal to vps_max_sublayers_minus1.

[0262] vps_ptl_byte_alignment_zero_bit should be equal to 0.

[0263] ols_ptl_idx[i] specifies the index of the profile_tier_level() syntax structure list in the VPS that applies to the i-th OLS. When present, the value of ols_ptl_idx[i] shall be between 0 and The range of (including 0 and vps_num_ptls_minus1) is 0.

[0264] When NumLayersInOls[i] is equal to 1, the profile_tier_level() syntax structure applied to the i-th OLS also exists in the SPS referenced by the layer in the ith OLS.

[0265] vps_num_dpb_params Add 1 to specify the number of dpb_parameters() syntax structures in the VPS. When present, The value of should be in the range of 0 to 15 (inclusive).

[0266]

[0267] same_dpb_size_output_or_nonoutput_flag equal to 1 specifies that the layer_nonoutput_dpb_params_idx[i] syntax element is not present in the VPS. same_dpb_size_output_or_nonoutput_flag equal to 0 specifies that the layer_nonoutput_dpb_params_idx[i] syntax element may or may not be present in the VPS.

[0268] vps_sublayer_dpb_params_present_flag is used to control the presence of max_dec_pic_buffering_minus1[], max_num_reorder_pics[], and max_latency_increase_plus1[] syntax elements in the dpb_parameters() syntax structure in the VPS. When not present, vps_sub_dpb_params_info_present_flag is inferred to be equal to 0.

[0269] dpb_size_only_flag[i] equal to 1 specifies that the max_num_reorder_pics[] and max_latency_increase_plus1[] syntax elements are not present in the i-th dpb_parameters() syntax structure in the VPS. dpb_size_only_flag[i] equal to 0 specifies that the max_num_reorder_pics[] and max_latency_increase_plus1[] syntax elements may be present in the i-th dpb_parameters() syntax structure in the VPS.

[0270] dpb_max_temporal_id[i] specifies the TemporalId of the highest sublayer representation for which the DPB parameters may be present in the i-th dpb_parameters() syntax structure in the VPS. The value of dpb_max_temporal_id[i] shall be in the range of 0 to vps_max_sublayers_minus1, inclusive. When vps_max_sublayers_minus1 is equal to 0, the value of dpb_max_temporal_id[i] is inferred to be equal to 0. When vps_max_sublayers_minus1 is greater than 0 and vps_all_layers_same_num_sublayers_flag is equal to 1, the value of dpb_max_temporal_id[i] is inferred to be equal to vps_max_sublayers_minus1.

[0271] layer_output_dpb_params_idx[i] specifies the index of the dpb_parameters() syntax structure in the VPS that applies to the i-th layer as the output layer in the OLS. When present, the value of layer_output_dpb_params_idx[i] shall be between 0 and The range of VpsNumDpbParams-1 is inclusive.

[0272] If vps_independent_layer_flag[i] is equal to 1, then when the i-th layer is the output layer, the dpb_parameters() syntax structure applied to the i-th layer is the dpb_parameters() syntax structure present in the SPS referenced by the layer.

[0273] Otherwise (vps_independent_layer_flag[i] is equal to 0), the following applies:

[0274] -when When equal to 1, the value of layer_output_dpb_params_idx[i] is inferred to be equal to 0.

[0275] - A requirement for bitstream conformance is that the value of layer_output_dpb_params_idx[i] shall be such that dpb_size_only_flag[layer_output_dpb_params_idx[i]] is equal to 0.

[0276] layer_nonoutput_dpb_params_idx[i] specifies the index of the dpb_parameters() syntax structure list in the VPS that applies to the i-th layer as a non-output layer in the OLS. When present, the value of layer_nonoutput_dpb_params_idx[i] shall be in the range of 0 to VpsNumDpbParams-1, inclusive.

[0277] If same_dpb_size_output_or_nonoutput_flag is equal to 1, the following applies:

[0278] - If vps_independent_layer_flag[i] is equal to 1, then when the i-th layer is a non-output layer, the dpb_parameters() syntax structure applied to this layer is the dpb_parameters() syntax structure present in the SPS referenced by this layer.

[0279] Otherwise (vps_independent_layer_flag[i] is equal to 0), the value of layer_nonoutput_dpb_params_idx[i] is inferred to be equal to layer_output_dpb_params_idx[i].

[0280] Otherwise (same_dpb_size_output_or_nonoutput_flag is equal to 0), when VpsNumDpbParams is equal to 1, the value of layer_output_dpb_params_idx[i] is inferred to be equal to 0.

[0281] vps_general_hrd_params_present_flag equal to 1 specifies that the syntax structure general_hrd_parameters() and other HRD parameters are present in the VPS RBSP syntax structure. vps_general_hrd_params_present_flag equal to 0 specifies that the syntax structure general_hrd_parameters() and other HRD parameters are not present in the VPS RBSP syntax structure.

[0282] vps_sublayer_cpb_params_present_flag equal to 1 specifies that the i-th ols_hrd_parameters() syntax structure in the VPS contains HRD parameters for sublayer representation, where TemporalId is in the range of 0 to hrd_max_tid[i] (including 0 and hrd_max_tid[i]). vps_sublayer_cpb_params_present_flag equal to 0 specifies that the i-th ols_hrd_parameters() syntax structure in the VPS contains HRD parameters for sublayer representation, where TemporalId is equal to hrd_max_tid[i] only. When vps_max_sublayers_minus1 is equal to 0, the value of vps_sublayer_cpb_params_present_flag is inferred to be equal to 0.

[0283] When vps_sublayer_cpb_params_present_flag is equal to 0, HRD parameters of the sublayer representation with TemporalId in the range 0 to hrd_max_tid[i]-1, inclusive, are inferred to be the same as the HRD parameters of the sublayer representation with TemporalId equal to hrd_max_tid[i]. These include such HRD parameters starting from the fixed_pic_rate_general_flag[i] syntax element until the sublayer_hrd_parameters(i) syntax structure immediately following the "if (general_vcl_hrd_params_present_flag)" condition in the ols_hrd_parameters syntax structure.

[0284] num_ols_hrd_params_minus1 plus 1 requirement The number of ols_hrd_parameters() syntax structures present in the general_hrd_parameters() syntax structure. The value of num_ols_hrd_params_minus1 shall be in the range of 0 to 63, inclusive.

[0285]

[0286] hrd_max_tid[i] specifies the TemporalId of the highest sublayer representation for which the HRD parameters are contained in the i-th ols_hrd_parameters() syntax structure. The value of hrd_max_tid[i] shall be in the range of 0 to vps_max_sublayers_minus1, inclusive. When vps_max_sublayers_minus1 is equal to 0, the value of hrd_max_tid[i] is inferred to be equal to 0. When vps_max_sublayers_minus1 is greater than 0 and vps_all_layers_same_num_sublayers_flag is equal to 1, the value of hrd_max_tid[i] is inferred to be equal to vps_max_sublayers_minus1.

[0287] ols_hrd_idx[i] specifies The syntax of ols_hrd_parameters() for the ith OLS When present, the value of ols_hrd_idx[[i]] shall be in the range of 0 to num_ols_hrd_params_minus1, inclusive. , the value of ols_hrd_idx[[i]] is inferred to be equal to 0.

[0288] vps_extension_flag equal to 0 specifies that the vps_extension_data_flag syntax element is not present in the VPS RBSP syntax structure. vps_extension_flag equal to 1 specifies that the vps_extension_data_flag syntax element is present in the VPS RBSP syntax structure.

[0289] The vps_extension_data_flag may have any value. Its presence and value do not affect the conformance of a decoder to the profiles specified in this version of this specification. Decoders conforming to this version of this specification shall ignore all vps_extension_data_flag syntax elements.

[0290] 6.1.2.SPS Semantics

[0291] 7.4.3.3 Sequence parameter set RBSP semantics

[0292] The SPS RBSP shall be available to the decoding process before being referenced, included in at least one AU (with TemporalId equal to 0), or provided by external means.

[0293] All SPS NAL units in a CVS with a particular value of sps_seq_parameter_set_id shall have the same content.

[0294] When sps_decoding_parameter_set_id is greater than 0, it specifies the value of dps_decoding_parameter_set_id of the DPS referenced by the SPS. When sps_decoding_parameter_set_id is equal to 0, the SPS does not reference the DPS, and no DPS is referenced when decoding each CLVS that references the SPS. The value of sps_decoding_parameter_set_id should be the same in all SPSs referenced by a codec picture in the bitstream.

[0295] When sps_video_parameter_set_id is greater than 0, it specifies the value of vps_video_parameter_set_id of the VPS referenced by the SPS.

[0296] When sps_video_parameter_set_id is equal to 0, the following applies:

[0297] -SPS does not refer to VPS.

[0298] - When decoding each CLVS that references the SPS, the VPS is not referenced.

[0299] - The value of vps_max_layers_minus1 is inferred to be equal to 0.

[0300]

[0301] -The value of GeneralLayerIdx[nuh_layer_id] is inferred to be equal to 0.

[0302] - The value of vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]] is inferred to be equal to 1.

[0303] When vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]] is equal to 1, the SPS referenced by a CLVS with a specific nuh_layer_id value nuhLayerId shall have nuh_layer_id equal to nuhLayerId.

[0304] 6.1.3. Stripe Header Semantics

[0305] 7.4.8.1 Generic Strip Header Semantics ...

[0306] slice_type specifies the codec type of the slice according to Table 9.

[0307] Table 9 - Names associated with slice_type

[0308] slice_type The name of slice_type 0 B (B band) 1 P(P stripe) 2 I(I strip)

[0309] When nal_unit_type is in the range of IDR_W_RADL to CRA_NUT (including IDR_W_RADL and CRA_NUT),

[0310]

[0311] slice_type should be equal to 2.

[0312] Figure 1 1 is a block diagram illustrating an example video processing system 1900 in which various techniques disclosed herein may be implemented. Various implementations may include some or all of the components of system 1900. System 1900 may include an input 1902 for receiving video content. The video content may be received in a raw or uncompressed format (e.g., 8-bit or 10-bit multi-component pixel values), or may be received in a compressed or encoded format. Input 1902 may represent a network interface, a peripheral bus interface, or a storage interface. Examples of network interfaces include wired interfaces (e.g., Ethernet, passive optical network (PON), etc.), and wireless interfaces (e.g., Wi-Fi or cellular interfaces).

[0313] System 1900 may include a codec component 1904, which may implement various encoding or encoding methods described in this document. Codec component 1904 may reduce the average bit rate of a video from input 1902 to the output of codec component 1904 to generate a codec representation of the video. Therefore, codec technology is sometimes referred to as video compression or video transcoding technology. The output of codec component 1904 may be stored or transmitted via a communication connected by component 1906. The stored or transmitted bitstream (or codec) representation of the video received at input 1902 may be used by component 1908 to generate pixel values ​​or displayable video sent to display interface 1910. The process of generating a user-viewable video according to a bitstream is sometimes referred to as video decompression. In addition, although some video processing operations are referred to as "codec" operations or tools, it will be understood that codec tools or operations are used at the encoder, and the corresponding decoding tools or operations of the inverse encoding result will be performed by the decoder.

[0314] Examples of peripheral bus interfaces or display interfaces may include Universal Serial Bus (USB) or High Definition Multimedia Interface (HDMI) or Displayport, etc. Examples of storage interfaces include SATA (Serial Advanced Technology Attachment), PCI, IDE interfaces, etc. The technology described in this document may be embodied in various electronic devices, such as mobile phones, laptop computers, smart phones, or other devices capable of performing digital data processing and / or video display.

[0315] Figure 2 is a block diagram of a video processing device 3600. Device 3600 may be used to implement one or more methods described herein. Device 3600 may be embodied in a smartphone, a tablet computer, a computer, an Internet of Things (IoT) receiver, etc. Device 3600 may include one or more processors 3602, one or more memories 3604, and video processing hardware 3606. Processor(s) 3602 may be configured to implement one or more methods described in this document. One or more memories 3604 may be used to store data and code for implementing the methods and techniques described herein. Video processing hardware 3606 may be used to implement some of the techniques described in this document in hardware circuits, partially or completely in a processor.

[0316] Figure 4 is a block diagram illustrating an example video coding system 100 that may utilize the techniques of this disclosure.

[0317] like Figure 4As shown, the video codec system 100 may include a source device 110 and a destination device 120. The source device 110 generates encoded video data, which may be referred to as a video encoding device. The destination device 120 may decode the encoded video data generated by the source device 110, which may be referred to as a video decoding device.

[0318] Source device 110 may include a video source 112 , a video encoder 114 , and an input / output (I / O) interface 116 .

[0319] The video source 112 may include a source such as a video capture device, an interface for receiving video data from a video content provider, and / or a computer graphics system for generating video data, or a combination of these sources. The video data may include one or more pictures. The video encoder 114 encodes the video data from the video source 112 to generate a bit stream. The bit stream may include a bit sequence that forms a codec representation of the video data. The bit stream may include a codec picture and associated data. The codec picture is a codec representation of the picture. The associated data may include a sequence parameter set, a picture parameter set, and other grammatical structures. The I / O interface 116 may include a modulator / demodulator (modem) and / or a transmitter. The encoded video data may be directly sent to the destination device 120 via the network 130a via the I / O interface 116. The encoded video data may also be stored on a storage medium / server 130b for access by the destination device 120.

[0320] Destination device 120 may include an I / O interface 126 , a video decoder 124 , and a display device 122 .

[0321] The I / O interface 126 may include a receiver and / or a modem. The I / O interface 126 may obtain the encoded video data from the source device 110 or the storage medium / server 130b. The video decoder 124 may decode the encoded video data. The display device 122 may display the decoded video data to the user. The display device 122 may be integrated with the destination device 120, or may be located outside the destination device 120, and the destination device 120 is configured to interface with an external display device.

[0322] The video encoder 114 and the video decoder 124 may operate according to a video compression standard, such as the High Efficiency Video Codec (HEVC) standard, the Versatile Video Codec (VVM) standard, and other current and / or future standards.

[0323] Figure 5 is a block diagram showing an example of a video encoder 200, which may be Figure 4 The video encoder 114 in the system 100 is shown.

[0324] Video encoder 200 may be configured to perform any or all of the techniques of this disclosure. Figure 5 In the example of , video encoder 200 includes multiple functional components. The techniques described in this disclosure can be shared between the various components of video encoder 200. In some examples, a processor can be configured to perform any or all of the techniques described in this disclosure.

[0325] The functional components of the video encoder 200 may include a segmentation unit 201, a prediction unit 202 which may include a mode selection unit 203, a motion estimation unit 204, a motion compensation unit 205 and an intra-frame prediction unit 206, a residual generation unit 207, a transform unit 208, a quantization unit 209, an inverse quantization unit 210, an inverse transform unit 211, a reconstruction unit 212, a buffer 213 and an entropy coding unit 214.

[0326] In other examples, the video encoder 200 may include more, fewer, or different functional components. In one example, the prediction unit 202 may include an intra-block copy (IBC) unit. The IBC unit may perform prediction in an IBC mode, where at least one reference picture is a picture where the current video block is located.

[0327] Furthermore, some components (such as the motion estimation unit 204 and the motion compensation unit 205) may be highly integrated, but for the purpose of explanation, they are not described in detail in the following sections. Figure 5 In the example, they are respectively represented.

[0328] The partitioning unit 201 may partition a picture into one or more video blocks. The video encoder 200 and the video decoder 300 may support various video block sizes.

[0329] The mode selection unit 203 may, for example, select one of the coding modes (intra or inter) based on the error result, and provide the resulting intra or inter coded block to the residual generation unit 207 to generate residual block data, and to the reconstruction unit 212 to reconstruct the coded block for use as a reference picture. In some examples, the mode selection unit 203 may select a combination of intra prediction and inter prediction (CIIP) modes, where the prediction is based on an inter prediction signal and an intra prediction signal. The mode selection unit 203 may also select a resolution of motion vectors for the block in the case of inter prediction (e.g., sub-pixel precision or integer pixel precision).

[0330] To perform inter-frame prediction on the current video block, the motion estimation unit 204 may generate motion information of the current video block by comparing the current video block with one or more reference frames from the buffer 213. The motion compensation unit 205 may determine a predicted video block of the current video block based on the motion information of pictures other than the picture associated with the current video block from the buffer 213 and decoded samples.

[0331] For example, motion estimation unit 204 and motion compensation unit 205 may perform different operations on the current video block depending on whether the current video block is in an I slice, a P slice, or a B slice.

[0332] In some examples, the motion estimation unit 204 may perform unidirectional prediction on the current video block, and the motion estimation unit 204 may search for a reference video block of the current video block in the reference picture of list 0 or list 1. The motion estimation unit 204 may then generate a reference index indicating a reference picture in list 0 or list 1 containing the reference video block, and a motion vector indicating a spatial displacement between the current video block and the reference video block. The motion estimation unit 204 may output the reference index, the prediction direction indicator, and the motion vector as motion information of the current video block. The motion compensation unit 205 may generate a predicted video block of the current block based on the reference video block indicated by the motion information of the current video block.

[0333] In other examples, the motion estimation unit 204 may perform bidirectional prediction on the current video block, and the motion estimation unit 204 may search for a reference video block of the current video block in the reference pictures in list 0, and may also search for another reference video block of the current video block in the reference pictures in list 1. Then, the motion estimation unit 204 may generate a reference index indicating the reference pictures in list 0 and list 1 containing the reference video block, and a motion vector indicating a spatial displacement between the reference video block and the current video block. The motion estimation unit 204 may output the reference index and the motion vector of the current video block as the motion information of the current video block. The motion compensation unit 205 may generate a predicted video block of the current video block based on the reference video block indicated by the motion information of the current video block.

[0334] In some examples, motion estimation unit 204 may output a complete set of motion information for use in the decoding process of a decoder.

[0335] In some examples, motion estimation unit 204 may not output a complete set of motion information for the current video. Instead, motion estimation unit 204 may reference motion information of another video block to determine the motion information of the current video.

[0336] Notify the motion information of the current video block. For example, the motion estimation unit 204 may determine that the motion information of the current video block is sufficiently similar to the motion information of the neighboring video blocks.

[0337] In one example, motion estimation unit 204 may indicate, in a syntax structure associated with the current video block, a value that indicates to video decoder 300 that the current video block has the same motion information as another video block.

[0338] In another example, the motion estimation unit 204 may identify another video block and a motion vector difference (MVD) in a syntax structure associated with the current video block. The motion vector difference indicates the difference between the motion vector of the current video block and the motion vector of the indicated video block. The video decoder 300 may use the motion vector of the indicated video block and the motion vector difference to determine the motion vector of the current video block.

[0339] As discussed above, the video encoder 200 may predictively signal motion vectors. Two examples of predictive signaling techniques that may be implemented by the video encoder 200 include advanced motion vector prediction (AMVP) and merge mode signaling.

[0340] The intra prediction unit 206 may perform intra prediction on the current video block. When the intra prediction unit 206 performs intra prediction on the current video block, the intra prediction unit 206 may generate prediction data for the current video block based on decoded samples of other video blocks in the same picture. The prediction data for the current video block may include a prediction video block and various syntax elements.

[0341] The residual generation unit 207 can generate residual data of the current video block by subtracting (eg, indicated by a minus sign) the predicted video block of the current video block from the current video block. The residual data of the current video block may include residual video blocks corresponding to different sample components of the samples in the current video block.

[0342] In other examples, for the current video block, there may be no residual data of the current video block, for example, in skip mode, the residual generation unit 207 may not perform a subtraction operation.

[0343] Transform processing unit 208 may generate one or more transform coefficient video blocks for a current video block by applying one or more transforms to the residual video block associated with the current video block.

[0344] After transform processing unit 208 generates a transform coefficient video block associated with the current video block, quantization unit 209 may quantize the transform coefficient video block associated with the current video block based on one or more quantization parameter (QP) values ​​associated with the current video block.

[0345] The inverse quantization unit 210 and the inverse transform unit 211 may apply inverse quantization and inverse transform to the transform coefficient video block, respectively, to reconstruct the residual video block from the transform coefficient video block. The reconstruction unit 212 may add the reconstructed residual video block to the corresponding samples of one or more predicted video blocks generated by the prediction unit 202 to generate a reconstructed video block associated with the current block to be stored in the buffer 213.

[0346] After the reconstruction unit 212 reconstructs the video block, a loop filtering operation may be performed to reduce video block artifacts in the video block.

[0347] The entropy coding unit 214 may receive data from other functional components of the video encoder 200. When the entropy coding unit 214 receives the data, the entropy coding unit 214 may perform one or more entropy coding operations to generate entropy-coded data and output a bitstream including the entropy-coded data.

[0348] Figure 6 is a block diagram showing an example of a video decoder 300, which may be Figure 4 The video decoder 114 in the system 100 is shown.

[0349] Video decoder 300 may be configured to perform any or all of the techniques of this disclosure. Figure 5 In the example of , video decoder 300 includes multiple functional components. The techniques described in this disclosure can be shared between the various components of video decoder 300. In some examples, a processor can be configured to perform any or all of the techniques described in this disclosure.

[0350] exist Figure 6 In the example of FIG. 3 , the video decoder 300 includes an entropy decoding unit 301, a motion compensation unit 302, an intra prediction unit 303, an inverse quantization unit 304, an inverse transform unit 305, a reconstruction unit 306, and a buffer 307. In some examples, the video decoder 300 may perform encoding passes generally described with respect to the video encoder 200 ( Figure 5 )The opposite decoding pass.

[0351] The entropy decoding unit 301 may retrieve a coded bitstream. The coded bitstream may include entropy coded video data (e.g., coded blocks of video data). The entropy decoding unit 301 may decode the entropy coded video data, and the motion compensation unit 302 may determine motion information based on the entropy decoded video data, the motion information including motion vectors, motion vector precision, reference picture list index, and other motion information. For example, the motion compensation unit 302 may determine such information by performing AMVP and merge modes.

[0352] The motion compensation unit 302 may generate a motion compensated block, possibly performing interpolation based on an interpolation filter. An identifier for an interpolation filter to be used with sub-pixel precision may be included in the syntax element.

[0353] The motion compensation unit 302 may calculate interpolation of sub-integer pixels of the reference block using the interpolation filter used by the video encoder 20 during encoding of the video block. The motion compensation unit 302 may determine the interpolation filter used by the video encoder 200 according to the received syntax information and use the interpolation filter to generate a prediction block.

[0354] The motion compensation unit 302 may use some syntax information to determine the size of blocks used to encode frames and / or slices of the coded video sequence, partition information describing how each macroblock of a picture of the coded video sequence is partitioned, a mode indicating how each partition is encoded, one or more reference frames (and reference frame lists) for each inter-frame coded block, and other information used to decode the coded video sequence.

[0355] The intra prediction unit 303 may form a prediction block from spatially adjacent blocks using, for example, an intra prediction mode received in the bitstream. The inverse quantization unit 303 inversely quantizes (i.e., dequantizes) the quantized video block coefficients provided in the bitstream and decoded by the entropy decoding unit 301. The inverse transform unit 303 applies an inverse transform.

[0356] The reconstruction unit 306 may add the residual block to the corresponding prediction block generated by the motion compensation unit 202 or the intra prediction unit 303 to form a decoded block. If necessary, a deblocking filter may also be applied to filter the decoded block to remove blockiness artifacts. The decoded video block is then stored in a buffer 307, which provides reference blocks for subsequent motion compensation / intra prediction and also produces decoded video for presentation on a display device.

[0357] A list of some preferred solutions for some embodiments is provided below.

[0358] The following solution illustrates an example implementation of the technique discussed in the previous section (eg, item 1).

[0359] 1. A video processing method (eg, Figure 3 Method 600 in ), comprising: performing conversion between a video comprising one or more scalable video layers and a codec representation of the video, wherein the codec representation conforms to a format rule, wherein the format rule specifies that when a corresponding network abstraction layer unit type is within a predetermined range and a corresponding video layer flag indicates that the video layer corresponding to the fragment does not use inter-layer prediction, the value of a field indicating a fragment type of the fragment is set to indicate a type of an intra-frame fragment.

[0360] 2. The method of solution 1, wherein the stripe type of the stripe is set to 2.

[0361] 3. The method of solution 1, wherein the predetermined range is from IDR_W_RADL to CRA_NUT, both inclusive.

[0362] 4. A method for video processing, comprising: performing conversion between a video including one or more scalable video layers and a codec representation of the video, wherein the codec representation complies with format rules, wherein the format rules specify that when an index to a syntactic structure describing a grade and layer, level of one or more scalable video layers is excluded from the codec representation, an indication of the index is inferred to be equal to 0.

[0363] 5. The method of solution 4, wherein the indication comprises an ols_ptl_idx[i] syntax element, where i is an integer.

[0364] 6. A method for video processing, comprising: performing conversion between a video comprising one or more scalable video layers and a codec representation of the video, wherein the codec representation contains multiple output layer sets (OLS), wherein each OLS is a set of layers in the codec representation, wherein the set of layers is specified to be output, wherein the codec representation conforms to a format rule, wherein the format rule specifies that, in the case where the OLS includes a single layer, the video parameter set of the codec representation is allowed to have repeated information about the profile, layer and level of the OLS.

[0365] 7. The method of solution 6, wherein the format rule specifies a signaling numeric field indicating a total number of information sets about profiles, layers, and levels of the plurality of OLSs, wherein the total number is at least one.

[0366] 8. The method of any of solutions 1-7, wherein performing the conversion includes encoding the video to generate a codec representation.

[0367] 9. The method of any of solutions 1-7, wherein performing the conversion includes parsing and decoding the codec representation to generate the video.

[0368] 10. A video decoding device, comprising a processor, configured to implement the method described in one or more of solutions 1 to 9.

[0369] 11. A video encoding device, comprising a processor, configured to implement the method described in one or more of solutions 1 to 9.

[0370] 12. A computer program product having computer codes stored thereon, which, when executed by a processor, causes the processor to implement the method described in any one of solutions 1 to 9.

[0371] 13. The methods, apparatus, or systems described in this document.

[0372] about 7A to 7I , the solutions listed below can be preferably implemented in some embodiments.

[0373] For example, the following solution can be implemented based on item 1 in the previous section.

[0374] 1. A method of video processing (eg, Fig. 7A The method 710 described in ), includes performing (712) conversion between a video including one or more scalable video layers and a bitstream of the video, wherein the video includes one or more video pictures including one or more slices; wherein the bitstream conforms to a format rule, wherein the format rule specifies that when a corresponding network abstraction layer unit type is within a predetermined range and a corresponding video layer flag indicates that the video layer corresponding to the slice does not use inter-layer prediction, the value of a field indicating a slice type of the slice is set to indicate a type of an intra-frame slice.

[0375] 2. The method of solution 1, wherein the stripe type of the stripe is set to 2.

[0376] 3. The method of solution 1, wherein the predetermined range is from IDR_W_RADL to CRA_NUT, both inclusive, wherein IDR_W_RADL indicates a slice with an instantaneous decoding refresh type, and wherein CRA_NUT indicates a slice with a clean random access type.

[0377] 4. The method of any one of solutions 1-3, wherein the corresponding video layer flag corresponds to vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]], wherein nuh_layer_id corresponds to an identifier of the video layer, GeneralLayerIdx[] is an index of the video layer, and vps_independent_layer_flag corresponds to the video layer flag.

[0378] 5. The method of any of solutions 1-4, wherein performing the conversion includes encoding the video into a bitstream.

[0379] 6. The method of any of solutions 1-4, wherein performing the conversion includes parsing and decoding the video from a bitstream.

[0380] 7. A method for storing a video bitstream, comprising: generating a bitstream based on a video including one or more scalable video layers; and storing the bitstream in a non-temporary computer-readable storage medium; wherein the video includes one or more video pictures, and the video pictures include one or more slices; wherein the bitstream complies with a format rule, wherein the format rule stipulates that when the corresponding network abstraction layer unit type is within a predetermined range and the corresponding video layer flag indicates that the video layer corresponding to the slice does not use inter-layer prediction, the value of the field indicating the slice type of the slice is set to indicate the type of an I slice.

[0381] For example, the following solution can be implemented based on item 5 in the previous section.

[0382] 1. A video processing method (eg, Figure 7B The method 720 shown includes: performing (722) conversion between a video including multiple video layers and a bitstream of the video, wherein the bitstream includes multiple output layer sets (OLS), each output layer set (OLS) includes one or more of multiple scalable video layers, and the bitstream conforms to a format rule, wherein the format rule stipulates that for an OLS having a single layer, a profile-layer-level (PTL) syntax structure indicating the profile, layer and level of the OLS is included in a video parameter set of the bitstream, and the PTL syntax structure of the OLS is also included in a sequence parameter set encoded and decoded in the bitstream.

[0383] 2. The method of solution 1, wherein the format rule specifies that the syntax element is included in a video parameter set indicating a plurality of PTL syntax structures encoded or decoded in the video parameter set.

[0384] 3. The method of solution 2, wherein the number of PTL syntax structures encoded and decoded in the video parameter set is equal to the value of the syntax element plus one.

[0385] 4. The method of solution 2, wherein the number of PTL syntax structures encoded and decoded in the video parameter set is equal to the value of the syntax element.

[0386] 5. The method of solution 4, wherein the format rule specifies that when it is determined that one or more of the plurality of OLSs contain more than one video layer, the syntax elements are encoded or decoded in a video parameter set during encoding, or the syntax elements are parsed from a video parameter set during decoding.

[0387] 6. The method of solution 4, wherein the format rule specifies that when it is determined that the number of video layers is greater than 0 and one or more video layers use inter-layer prediction, syntax elements are encoded and decoded in a video parameter set during encoding, or syntax elements are parsed from a video parameter set during decoding.

[0388] 7. The method of any one of solutions 1 to 6, wherein the format rule further stipulates that, for an OLS with a single layer, a decoded picture buffer size parameter of the OLS is included in a video parameter set of the bitstream, and the decoded picture buffer size parameter of the OLS is also included in a sequence parameter set encoded and decoded in the bitstream.

[0389] 8. The method of any one of solutions 1 to 6, wherein the format rule further stipulates that, for an OLS with a single layer, parameter information of a decoded picture buffer of the OLS is included in a video parameter set of a bitstream, and parameter information of a decoded picture buffer of the OLS is also included in a sequence parameter set encoded and decoded in the bitstream.

[0390] For example, the following solution can be implemented based on item 6 in the previous section.

[0391] 9. A video processing method (eg, Figure 7C The method 730 shown includes: performing (732) conversion between a video including multiple video layers and a bitstream of the video, wherein the bitstream includes multiple output layer sets (OLS), each output layer set (OLS) includes one or more of the multiple video layers, and the bitstream conforms to a format rule, wherein the format rule specifies a relationship between multiple profile-layer-level (PTL) syntax structures appearing in a video parameter set of the bitstream and byte-aligned syntax fields in the video parameter set; wherein each PTL syntax structure indicates a profile, layer and level of one or more of the multiple OLSs.

[0392] 10. The method of solution 9, wherein the format rule specifies that at least one PTL syntax structure is included in the video parameter set, and due to the inclusion of the at least one PTL syntax structure, one or more instances of the byte-aligned syntax field are included in the video parameter set.

[0393] 11. The method of solution 10, wherein the byte alignment syntax field is one bit.

[0394] 12. The method of solution 11, wherein the value of each of the one or more instances of the byte alignment syntax field has a value of 0.

[0395] For example, the following solution can be implemented based on item 2 in the previous section.

[0396] 13. A video processing method (eg, Fig.7DThe method 740 shown comprises: performing (742) conversion between a video comprising multiple scalable video layers and a bitstream of the video, wherein the bitstream comprises multiple output layer sets (OLS), each output layer set (OLS) comprises one or more of the multiple scalable video layers, and the bitstream conforms to a format rule, wherein the format rule specifies that during encoding, if the value of the index is zero, a syntax element indicating an index to a syntax structure describing a profile, layer, and level of one or more of the multiple OLSs is excluded from a video parameter set of the bitstream, or during decoding, if the syntax element is not present in the bitstream, the value is inferred to be zero.

[0397] 14. The method of solution 13, wherein the index is to a syntax structure indicating a profile, a layer and a level of at least one OLS.

[0398] 15. A method for storing a bitstream of a video, comprising: generating a bitstream from a video including multiple video layers, and storing the bitstream in a non-temporary computer-readable storage medium; wherein the bitstream includes multiple output layer sets (OLS), each output layer set includes one or more of the multiple video layers, and the bitstream complies with format rules, wherein the format rules stipulate that for an OLS having a single layer, a profile-layer-level (PTL) syntax structure indicating the profile, layer and level of the OLS is included in a video parameter set of the bitstream, and the PTL syntax structure of the OLS is also included in a sequence parameter set encoded and decoded in the bitstream.

[0399] 16. The method of any of solutions 1-14, wherein performing the conversion comprises encoding the video into a bitstream; and the method further comprises storing the bitstream in a non-transitory computer-readable storage medium.

[0400] For example, the following solution can be implemented based on item 3 in the previous section.

[0401] 1. A video processing method (eg, Fig. 7E The method 750 shown comprises: performing (752) conversion between a video comprising multiple video layers and a bitstream of the video, wherein the bitstream comprises multiple output layer sets (OLS), each output layer set (OLS) comprises one or more of the multiple video layers, and the bitstream conforms to a format rule, wherein the format rule stipulates that for layer i, where i is an integer, the bitstream comprises a set of first syntax elements indicating a first variable, wherein the first variable indicates whether layer i is included in at least one of the multiple OLSs.

[0402] 2. The method of solution 1, wherein the format rule stipulates that when the first variable of layer i is equal to zero, meaning that layer i is not included in any of the multiple OLSs, the bitstream excludes a second set of syntax elements indicating decoded picture buffer parameters of layer i.

[0403] 3. A method according to any one of solutions 1-2, wherein the format rule further specifies that the bitstream includes a third set of syntax elements indicating a second variable indicating whether layer i is used as a reference layer for at least one of a plurality of video layers, and wherein the format rule does not allow the first variable and the second variable to have a zero value.

[0404] 4. The method of solution 3, wherein the formatting rules do not allow the values ​​of the first variable and the second variable to be both equal to 0, which indicates that no layer is neither a direct reference layer of any other layer nor an output layer of at least one OLS.

[0405] 5. The method of any one of solutions 1-4, wherein the first variable is a one-bit flag denoted as LayerUsedAsOutputLayerFlag.

[0406] 6. The method of solution 5, wherein the first variable is determined based on repeatedly checking a value of a third variable for each of the plurality of video layers, the value indicating a relationship between the plurality of layers included in the plurality of OLSs.

[0407] 7. The method of solution 6, wherein a third variable indicating the relationship between multiple layers included in the multiple OLSs is allowed to have a value of 0, 1, or 2.

[0408] 8. The method of any of solutions 1-7, wherein performing the conversion comprises encoding the video into a bitstream; and the method further comprises storing the bitstream in a non-transitory computer-readable storage medium.

[0409] 9. A method for storing a video bitstream, comprising: generating a bitstream based on a video including multiple video layers, and storing the bitstream in a non-temporary computer-readable storage medium; wherein the bitstream includes multiple output layer sets (OLS), each output layer set includes one or more of the multiple video layers, and the bitstream conforms to a format rule, wherein the format rule stipulates that for layer i (where i is an integer), the bitstream includes a set of first syntax elements indicating a first variable, which first variable indicates whether layer i is included in at least one of the multiple OLSs.

[0410] For example, the following solution can be implemented based on item 4 in the previous section.

[0411] 1. A video processing method (eg, Figure 7FThe method 760 shown includes: performing (762) conversion between video and a bitstream of the video, wherein the bitstream includes one or more output layer sets, each output layer set including one or more video layers; wherein the bitstream conforms to a format rule, wherein the format rule stipulates that, in the case where each output layer set includes a single video layer, the number of decoded picture buffer parameter syntax structures included in the video parameter set of the bitstream is equal to: zero; or in the case where it is not true that each output layer set includes a single layer, the number of decoded picture buffer parameter syntax structures included in the video parameter set of the bitstream is equal to: one plus the value of the syntax element.

[0412] 2. The method of solution 1, wherein the syntax element corresponds to the vps_num_dpb_params_minus1 syntax element.

[0413] 3. A method of any of solutions 1-2, wherein the format rule provides that in the absence of another syntax element in the video parameter set (the syntax element indicating whether the same size is used to indicate the decoded picture buffer syntax structure of video layers that are included and not included in one or more output layer sets), the value of the other syntax element is inferred to be equal to 1.

[0414] 4. The method of any of solutions 1-3, wherein performing the conversion comprises encoding the video into a bitstream; and the method further comprises storing the bitstream in a non-transitory computer-readable storage medium.

[0415] 5. A method for storing a bitstream of a video, comprising: generating a bitstream based on a video; and storing the bitstream in a non-temporary computer-readable storage medium; wherein the bitstream includes one or more output layer sets, each output layer set including one or more video layers; wherein the bitstream complies with a format rule, wherein the format rule stipulates that, in the case where each output layer set includes a single video layer, the number of decoded picture buffer parameter syntax structures included in the video parameter set of the bitstream is equal to: zero; or in the case where it is not true that each output layer set includes a single layer, the number of decoded picture buffer parameter syntax structures included in the video parameter set of the bitstream is equal to: one plus the value of the syntax element.

[0416] For example, the following solution can be implemented based on item 7 in the previous section.

[0417] 1. A video processing method (eg, Figure 7GThe method 770 shown includes: performing (772) conversion between a video and a bitstream of the video, wherein the bitstream includes a codec video sequence (CVS), the codec video sequence including one or more codec video pictures of one or more video layers; and wherein the bitstream conforms to a format rule that specifies that one or more sequence parameter sets (SPS) indicating conversion parameters referenced by one or more codec pictures of the CVS have the same reference video parameter set (VPS) identifier indicating a reference to the VPS.

[0418] 2. The method of solution 1, wherein the format rule further stipulates that the same reference VPS identifier has a value greater than 0.

[0419] 3. The method of any of solutions 1-2, wherein the format rule further specifies that a value of zero for the SPS identifier is used responsive to and only when the CVS includes a single video layer.

[0420] 4. The method of any of solutions 1-3, wherein performing the conversion comprises encoding the video into a bitstream; and the method further comprises storing the bitstream in a non-transitory computer-readable storage medium.

[0421] 5. A method for storing a bitstream of a video, comprising: generating a bitstream based on a video and storing the bitstream in a non-transitory computer-readable storage medium; wherein the video includes one or more video pictures, and the video pictures include one or more slices; wherein the bitstream includes a codec video sequence (CVS), and the codec video sequence includes one or more codec video pictures of one or more video layers; and wherein the bitstream conforms to a format rule, which specifies that one or more sequence parameter sets (SPS) indicating conversion parameters referenced by one or more codec pictures of the CVS have the same reference video parameter set (VPS) identifier indicating a reference to the VPS.

[0422] For example, the following solution can be implemented based on item 8 in the previous section.

[0423] 1. A video processing method (eg, Figure 7H The method 780 shown comprises: performing (782) conversion between a video and a bitstream of the video, wherein the bitstream comprises one or more output layer sets (OLS), each output layer set (OLS) comprising one or more video layers, wherein the bitstream complies with a format rule; wherein the format rule specifies whether or how a first syntax element is included in a video parameter set (VPS) of the bitstream, the first syntax element indicating whether a first syntax structure describing parameters of a hypothetical reference decoder (HRD) is used for the conversion.

[0424] 2. The method of solution 1, wherein the first syntax structure includes a set of common HRD parameters.

[0425] 3. The method of solution 1-2, wherein the format rule stipulates that since each of the one or more video layers is included in the OLS of one or more OLSs, when the first syntax element is not present in the VPS, the first syntax element is ignored from the VPS and is inferred to have a zero value, and wherein each of the one or more OLSs includes a single video layer.

[0426] 4. The method of solution 1-2, wherein the format rule stipulates that since each of one or more video layers is included in the OLS of one or more OLSs, when the first syntax element appears in the VPS, the first syntax element has a zero value in the VPS, and wherein each of the one or more OLSs includes a single video layer.

[0427] 5. The method of any one of solutions 1-4, wherein the format rule further specifies whether or how to include a second syntax element in the VPS, the second syntax element indicating a plurality of syntax structures describing OLS-specific HRD parameters.

[0428] 6. The method of solution 5, wherein the format rule further stipulates that when the first syntax element has a value of 1, the second syntax element is included in the VPS regardless of whether a total number of OLSs in the one or more OLSs is greater than 1.

[0429] For example, the following solution can be implemented based on items 9 and 10 in the previous section.

[0430] 7. A video processing method (e.g., Fig.7I The method 790 shown comprises: performing (792) conversion between a video and a bitstream of the video, wherein the bitstream comprises one or more output layer sets (OLS), each output layer set (OLS) comprising one or more video layers, wherein the bitstream complies with a format rule; wherein the format rule specifies whether or how to include a first syntax structure describing a common hypothetical reference decoder (HRD) parameter and a plurality of second syntax structures describing OLS-specific HRD parameters in a video parameter set (VPS) of the bitstream.

[0431] 8. The method of solution 7, wherein the format rule provides that the first syntax structure is omitted from the VPS if the second syntax structure is not included in the VPS.

[0432] 9. The method of solution 7, wherein, for an OLS including only one video layer, the format rule excludes the first syntax structure and the second syntax structure from being included in the VPS, and wherein the format rule allows the first syntax structure and the second syntax structure to be included in the OLS including only one video layer.

[0433] 10. A method for storing a bitstream of a video, comprising: generating a bitstream based on a video; storing the bitstream in a non-temporary computer-readable storage medium; wherein the bitstream includes one or more output layer sets (OLS), each output layer set (OLS) includes one or more video layers, wherein the bitstream complies with format rules; wherein the format rules specify whether or how a first syntax element is included in a video parameter set (VPS) of the bitstream, the first syntax element indicating whether a first syntax structure describing parameters of a hypothetical reference decoder (HRD) is used for conversion.

[0434] The solutions listed above can be further expanded to include:

[0435] In some embodiments, in the solutions listed above, performing the conversion includes encoding the video into a bitstream.

[0436] In some embodiments, in the solutions listed above, performing the conversion includes parsing and decoding the video from a bitstream.

[0437] In some embodiments, in the solutions listed above, performing the conversion includes encoding the video into a bitstream; and the method further includes storing the bitstream in a non-transitory computer-readable storage medium.

[0438] In some embodiments, a video decoding device includes a processor configured to implement the method described in one or more of the solutions listed above.

[0439] In some embodiments, a video encoding device includes a processor configured to implement the method described in one or more of the solutions listed above.

[0440] In some embodiments, a non-transitory computer-readable storage medium may store instructions for causing a processor to implement the methods described in one or more of the solutions listed above.

[0441] In some embodiments, a non-transitory computer-readable storage medium stores a bitstream of a video, where the bitstream is generated by a method described in one or more of the solutions listed above.

[0442] In some embodiments, the encoding method described above may be implemented by a device, and the device may further write a bit stream generated by implementing the method into a computer-readable medium.

[0443] The disclosed solutions and other solutions, examples, embodiments, modules and functional operations described in this document may be implemented in the following: digital electronic circuits, or computer software, firmware or hardware, including the structures disclosed in this document and their structural equivalents, or a combination of one or more of the above. The disclosed embodiments and other embodiments may be implemented as one or more computer program products, i.e., one or more modules of computer program instructions encoded on a computer-readable medium, for execution or control of its operation by a data processing device. The computer-readable medium may be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter that affects a machine-readable propagation signal, or one or more combinations thereof. The term "data processing device" encompasses all devices, equipment and machines for processing data, including, for example, a programmable processor, a computer or multiple processors or computers. In addition to hardware, the device may also include code that creates an execution environment for the computer program in question, for example, code that constitutes a processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more thereof. A propagation signal is an artificially generated signal, for example, a machine-generated electrical, optical or electromagnetic signal, which is generated to encode information for transmission to a suitable receiver device.

[0444] A computer program (also referred to as a program, software, software application, script, or code) may be written in any form of programming language, including compiled or interpreted languages, and may also be deployed in any form, including as a standalone program or a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program may be stored in a file portion that holds other programs or data (e.g., one or more scripts stored in a markup language document), a single file dedicated to a related program, or multiple coordinated files (e.g., files storing one or more modules, subroutines, or code portions). A computer program may be deployed to execute on a single computer, or on multiple computers located at one site or distributed across multiple sites and interconnected by a communications network.

[0445] The processes and logic flows described in this document may be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows may also be performed by, and the apparatus may also be implemented as, special purpose logic circuitry, such as an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).

[0446] For example, processors suitable for executing computer programs include general and special purpose microprocessors, and any one or more processors of any type of digital computer. Typically, the processor will receive instructions and data from a read-only memory or a random access memory or both. The basic elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. Typically, a computer will also include or be operatively coupled to receive data from or transfer data to one or more mass storage devices (e.g., magnetic disks, magneto-optical disks, or optical disks) for storing data. However, a computer does not require such a device. Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and memory devices, including, for example, semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks, such as internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM optical disks. The processor and memory can be supplemented by or incorporated into a dedicated logic circuit.

[0447] Although this patent document contains many details, these details should not be interpreted as limitations on the scope of any subject matter or claimed content, but should be interpreted as descriptions of features peculiar to specific embodiments of specific technologies. Certain features described in the context of separate embodiments in this patent document may also be implemented in combination in a single embodiment. Conversely, the various features described in the context of a single embodiment may also be implemented in multiple embodiments individually or in any suitable sub-combination. In addition, although the above-mentioned features may be described as working in a specific combination, or even initially claimed to be so, in some cases, one or more features may be deleted from the claimed combination, and the claimed combination may point to a variant of a sub-combination or a sub-combination.

[0448] Similarly, although the operations are described in a particular order in the drawings, this should not be understood as requiring that such operations be performed in the particular order or sequential order shown, or that all of the operations shown be performed to achieve the desired results. In addition, the separation of various system components in the embodiments described in this patent document should not be understood as requiring such separation in all embodiments.

[0449] Only a few implementations and examples are described, and other implementations, enhancements, and variations may be made based on what is described and illustrated in this patent document.

Claims

1. A video processing method, comprising: performing conversion between a video comprising one or more scalable video layers and a bitstream of the video, The video includes one or more video pictures, and the video picture includes one or more strips; wherein the bit stream complies with the format rules, The format rule specifies that, when the corresponding network abstraction layer unit type is within a predetermined range and the corresponding video layer flag indicates that the video layer corresponding to the slice does not use inter-layer prediction, the value of the field indicating the slice type of the slice is set to indicate the type of the intra-frame slice, wherein the predetermined range is from IDR_W_RADL to CRA_NUT, inclusive, wherein IDR_W_RADL indicates a stripe with an instantaneous decoding refresh type, and wherein CRA_NUT indicates a stripe with a clean random access type, The corresponding video layer flag corresponds to vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]], wherein nuh_layer_id corresponds to the identifier of the video layer, GeneralLayerIdx[] is the index of the video layer, and vps_independent_layer_flag corresponds to the video layer flag.

2. The method according to claim 1, wherein: The value of the field indicating the stripe type of the stripe is set to 2.

3. The method according to claim 1, wherein: Performing the conversion includes encoding the video into the bitstream.

4. The method according to claim 1, wherein: Performing the conversion includes parsing and decoding the video from the bitstream.

5. An apparatus for processing video data, comprising a processor and a non-transitory memory having instructions thereon, wherein: The instructions, when executed by the processor, cause the processor to: performing conversion between a video comprising one or more scalable video layers and a bitstream of the video, The video includes one or more video pictures, and the video picture includes one or more strips; wherein the bit stream complies with the format rules, The format rule specifies that, when the corresponding network abstraction layer unit type is within a predetermined range and the corresponding video layer flag indicates that the video layer corresponding to the slice does not use inter-layer prediction, the value of the field indicating the slice type of the slice is set to indicate the type of the intra-frame slice, wherein the predetermined range is from IDR_W_RADL to CRA_NUT, inclusive, wherein IDR_W_RADL indicates a stripe with an instantaneous decoding refresh type, and wherein CRA_NUT indicates a stripe with a clean random access type, The corresponding video layer flag corresponds to vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]], wherein nuh_layer_id corresponds to the identifier of the video layer, GeneralLayerIdx[] is the index of the video layer, and vps_independent_layer_flag corresponds to the video layer flag.

6. The device according to claim 5, wherein: The value of the field indicating the stripe type of the stripe is set to 2.

7. The device according to claim 5, wherein: The device is a video encoder.

8. The device according to claim 5, wherein: The device is a video decoder.

9. A non-transitory computer-readable storage medium storing instructions that cause a processor to: performing conversion between a video comprising one or more scalable video layers and a bitstream of the video, in, The video includes one or more video pictures, and the video picture includes one or more strips; wherein the bit stream complies with the format rules, The format rule specifies that, when the corresponding network abstraction layer unit type is within a predetermined range and the corresponding video layer flag indicates that the video layer corresponding to the slice does not use inter-layer prediction, the value of the field indicating the slice type of the slice is set to indicate the type of the intra-frame slice, wherein the predetermined range is from IDR_W_RADL to CRA_NUT, inclusive, wherein IDR_W_RADL indicates a stripe with an instantaneous decoding refresh type, and wherein CRA_NUT indicates a stripe with a clean random access type, The corresponding video layer flag corresponds to vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]], wherein nuh_layer_id corresponds to the identifier of the video layer, GeneralLayerIdx[] is the index of the video layer, and vps_independent_layer_flag corresponds to the video layer flag.

10. The non-transitory computer-readable storage medium of claim 9, wherein: The value of the field indicating the stripe type of the stripe is set to 2.

11. A non-transitory computer-readable storage medium storing a bitstream of a video, the bitstream being generated by a method performed by a video processing device, wherein: The method comprises: generating a bitstream of video comprising one or more scalable video layers, The video includes one or more video pictures, and the video picture includes one or more strips; wherein the bit stream complies with the format rules, The format rule specifies that, when the corresponding network abstraction layer unit type is within a predetermined range and the corresponding video layer flag indicates that the video layer corresponding to the slice does not use inter-layer prediction, the value of the field indicating the slice type of the slice is set to indicate the type of the intra-frame slice, wherein the predetermined range is from IDR_W_RADL to CRA_NUT, inclusive, wherein IDR_W_RADL indicates a stripe with an instantaneous decoding refresh type, and wherein CRA_NUT indicates a stripe with a clean random access type, The corresponding video layer flag corresponds to vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]], wherein nuh_layer_id corresponds to the identifier of the video layer, GeneralLayerIdx[] is the index of the video layer, and vps_independent_layer_flag corresponds to the video layer flag.

12. The non-transitory computer-readable storage medium of claim 11, wherein: The value of the field indicating the stripe type of the stripe is set to 2.

13. A method for storing a bit stream of a video, comprising: generating a bitstream of video comprising one or more scalable video layers, storing the bitstream in a non-transitory computer-readable storage medium, The video includes one or more video pictures, and the video picture includes one or more strips; wherein the bit stream complies with the format rules, The format rule specifies that, when the corresponding network abstraction layer unit type is within a predetermined range and the corresponding video layer flag indicates that the video layer corresponding to the slice does not use inter-layer prediction, the value of the field indicating the slice type of the slice is set to indicate the type of the intra-frame slice, wherein the predetermined range is from IDR_W_RADL to CRA_NUT, inclusive, wherein IDR_W_RADL indicates a stripe with an instantaneous decoding refresh type, and wherein CRA_NUT indicates a stripe with a clean random access type, The corresponding video layer flag corresponds to vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]], wherein nuh_layer_id corresponds to the identifier of the video layer, GeneralLayerIdx[] is the index of the video layer, and vps_independent_layer_flag corresponds to the video layer flag.

14. The method according to claim 13, wherein: The value of the field indicating the stripe type of the stripe is set to 2.

15. A video decoding device, comprising a processor, wherein the processor is configured to implement the method according to any one of claims 1 to 4. 16 . A video encoding apparatus, comprising a processor, wherein the processor is configured to implement the method according to claim 1 .

Citation Information

Patent Citations

  • Conformance parameters for bitstream partitions

    CN106416258A

  • Video encoding and decoding

    US20150156501A1

Cited By

  • Processing of filler data units in video streams

    US12506903B2