Video processing method, device and medium
By adding syntax elements to the video encoding and decoding standard to control the strip type in the picture, the problem of lack of clear instructions for the processing of B stripes in the prior art is solved, and a more efficient and flexible video encoding and decoding process is achieved.
Patent Information
- Application Number
- CN202180028190.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-04-12
- Filing Date
- 2021-04-09
- Publication Date
- 2025-05-02
- Estimated Expiration
- 2041-04-09
AI Technical Summary
In the latest advances in existing VVC text and JVET, high-level control over the types of stripes allowed within the picture is lacking, especially when determining whether B-stripes are included, the decoder lacks clear indications, resulting in unnecessary parameter transmission and decoding complexity.
By adding syntax elements to parameter sets (such as SPS, PPS, APS, DCI) and general constraint information syntax, it indicates whether only specific types of strip type collections, such as I, B, or P, are allowed in the picture. These syntax elements can be used to control the content of signaling notifications in the picture header or stripe header, ensuring that the decoder can efficiently process and decode the video stream.
It realizes clear control of the allowed strip types in the picture, reduces unnecessary parameter transmission, simplifies the decoding process, and improves the efficiency and flexibility of video encoding and decoding.
Smart Images

Figure CN115398901B_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application is an application entering the Chinese national phase of International Patent Application No. PCT / US2021 / 026534 filed on April 9, 2021, which claims priority to U.S. Provisional Patent Application No. US 63 / 008,799 filed on April 12, 2020. 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 encoding and decoding of images and videos. 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 decoders to process a codec representation of a video using control information useful for decoding the codec representation.
[0006] In one example aspect, a video processing method is disclosed. The method includes performing conversion between a video including one or more layers and a codec representation of the video according to a format rule, the one or more layers including one or more video regions, wherein the format rule specifies including one or more syntax elements in the codec representation at one or more video region levels corresponding to allowed slice types for the corresponding video regions.
[0007] In another example aspect, another video processing method is disclosed. The method includes: performing conversion between a video including one or more layers and a codec representation of the video according to a format rule, the one or more layers including one or more video pictures including one or more video slices, wherein the format rule specifies that a syntax element related to enabling or using a codec mode at a slice level is included at most once between a picture header or a slice header according to a second rule.
[0008] In another example aspect, another video processing method is disclosed. The method includes: performing conversion between a video including one or more video pictures and a codec representation of the video according to a format rule, the one or more video pictures including one or more video slices, wherein the format rule specifies that allowed slice types in the video pictures control whether a reference picture list is signaled in the codec representation or can be generated from the codec representation.
[0009] In another example aspect, another video processing method is disclosed. The method includes: performing conversion between a video including one or more video pictures and a codec representation of the video, the one or more video pictures including one or more sub-pictures, wherein the codec representation conforms to a format rule, wherein the format rule specifies processing of non-codec sub-pictures of the video pictures.
[0010] In another example aspect, another video processing method is disclosed. The method includes: performing conversion between a video including one or more pictures and a bitstream of the video, the one or more pictures including one or more sub-pictures, wherein the one or more pictures and / or the one or more sub-pictures are included in the bitstream according to an order rule, wherein the order rule specifies a relationship between a position of a current instantaneous decoder refresh (IDR) picture or a current IDR sub-picture in the bitstream relative to another picture referenced by an entry in a reference picture list of a current slice of the current IDR picture or the current IDR sub-picture.
[0011] In another example aspect, another video processing method is disclosed. The method includes: performing conversion between a video including one or more pictures and a bitstream of the video according to a format rule, the one or more pictures including one or more sub-pictures and / or one or more slices, and wherein the format rule allows including an indication of an access unit to indicate whether the access unit is an intra random access point (IRAP) access unit or a gradual decoding refresh (GDR) access unit for each access unit in the video.
[0012] In another example aspect, another video processing method is disclosed. The method includes: performing conversion between a video including one or more pictures and a bitstream of the video according to a format rule, the one or more pictures including one or more sub-pictures and / or one or more slices, and wherein the format rule specifies whether to selectively include an indication of allowed slice types in a picture in the bitstream based on a picture condition of the picture.
[0013] In another example aspect, another video processing method is disclosed. The method includes: performing conversion between a video including one or more pictures and a bitstream of the video, the one or more pictures including one or more sub-pictures and / or one or more slices, wherein the format rule specifies setting one of at least two or four syntax elements to a specific value of an adaptive loop filter (ALF) adaptation parameter set.
[0014] In another example aspect, another video processing method is disclosed. The method includes: performing conversion between a video including one or more pictures and a bitstream of the video according to a format rule, and wherein the format rule specifies whether and / or how to signal a filter presence flag and / or an indication of filter coefficients depends on previous codec information having a syntax element in an adaptive parameter set RBSP (raw byte sequence payload) syntax and / or an adaptive loop filtering data structure.
[0015] In another example aspect, another video processing method is disclosed. The method includes: performing conversion between a video including one or more pictures and a bitstream of the video according to a format rule, and wherein the format rule allows reference to a plurality of adaptive parameter sets (APSs) of a codec tool corresponding to side information included in the APS for a video region smaller than a picture.
[0016] In another example aspect, another video processing method is disclosed. The method includes: performing conversion between a video including one or more pictures and a bitstream of the video according to a format rule, the one or more pictures including one or more sub-pictures, and wherein the format rule specifies how to derive a value of a first variable depending on a second variable, the first variable indicating whether a sub-picture of a coded picture is considered as a picture in a decoding process that does not include a loop filtering operation, and the second variable indicating the presence of sub-picture information in the bitstream.
[0017] In another example aspect, another video processing method is disclosed. The method includes: performing conversion between a video including one or more pictures and a bitstream of the video according to a format rule, the one or more pictures including one or more sub-pictures, and wherein the format rule provides that in response to one or more conditions being satisfied, a variable indicating applicability of a deblocking filter to a picture of a reference picture parameter set has a first value or a second value, the first value being used to indicate that the deblocking filter is applied to a slice of the reference picture parameter set, and the second value being used to indicate that the deblocking filter is disabled for the slice of the reference picture parameter set.
[0018] In another example aspect, another video processing method is disclosed. The method includes: performing conversion between a video including one or more video units and a bitstream of the video according to a format rule, the one or more video units including one or more slices, wherein the format rule specifies that a quantization parameter offset value for joint chroma residual coding is included at one or more video unit levels greater than a slice level.
[0019] In another example aspect, another video processing method is disclosed. The method includes: performing conversion between a video including one or more pictures and a bitstream of the video according to a format rule, and wherein the format rule specifies: (i) a fixed or variable length of one or more bits for encoding and decoding a variable indicating a LMCS (luminance mapping with chroma scaling) mode identification in a picture header level, and (ii) a range of values of the variable.
[0020] In another example aspect, another video processing method is disclosed. The method includes: performing conversion between a video including one or more pictures and a bitstream of the video according to a format rule, and wherein the format rule specifies: (i) a fixed or variable length of one or more bits used to encode and decode a variable indicating a scaling list mode flag in a picture header level, and (ii) a range of values of the variable.
[0021] In yet another example aspect, a video encoder apparatus is disclosed. The video encoder includes a processor configured to implement the above method.
[0022] In yet another exemplary aspect, a video decoder apparatus is disclosed. The video decoder includes a processor configured to implement the above method.
[0023] 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.
[0024] These and other features are described throughout this document. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] Figure 1 is a block diagram of an example video processing system.
[0026] Figure 2 is a block diagram of a video processing device.
[0027] Figure 3 is a flow chart of an example method of video processing.
[0028] Figure 4 is a block diagram illustrating a video encoding and decoding system according to some embodiments of the present disclosure.
[0029] Figure 5 is a block diagram illustrating an encoder according to some embodiments of the present disclosure.
[0030] Figure 6 is a block diagram illustrating a decoder according to some embodiments of the present disclosure.
[0031] FIG. 7A to FIG. 7Kis a flow chart of an example method of video processing based on some implementations of the disclosed technology. DETAILED DESCRIPTION
[0032] The section headings used in this document are for ease of understanding and do not limit the applicability of the techniques and embodiments disclosed in each section to only that section. In addition, the use of H.266 terminology in some descriptions is only for ease of understanding and is not intended to limit the scope of the disclosed technology. Therefore, the techniques described herein are also applicable to other video codec protocols and designs. In this document, certain embodiments are shown as changes to the current VVC specification, with new text shown in bold italics added and deleted text marked with double brackets (e.g., [[a]] represents the deletion of the character "a").
[0033] 1. Preface
[0034] This document is about video codec technology. Specifically, it is about improvements to the signaling of allowed slice types and related codec tools that apply only to bi-predicted slices and support non-codec sub-pictures. 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, for example, the Versatile Video Codec (VVC) under development.
[0035] 2. Abbreviations
[0036] ALF Adaptive Loop Filter
[0037] APS Adaptive Parameter Set
[0038] AU Access Unit
[0039] AUD Access Unit Delimiter
[0040] AVC Advanced Video Codec
[0041] CLVS Codec Layer Video Sequence
[0042] CPB codec picture buffer
[0043] CRA Clean Random Access
[0044] CTU Codec Tree Unit
[0045] CVS codec video sequence
[0046] CVSS codec video sequence starts
[0047] DCI decoding capability information
[0048] DPB decoded picture buffer
[0049] DU Decoding Unit
[0050] EOB End of bitstream
[0051] EOS sequence ends
[0052] GDR Gradual Decode Refresh
[0053] HEVC High Efficiency Video Codec
[0054] HRD Hypothesized Reference Decoder
[0055] IDR Instantaneous Decode Refresh
[0056] JEM Joint Exploration Model
[0057] LMCS Luminance Mapping with Chroma Scaling
[0058] MCTS motion constraint patch set
[0059] NAL Network Abstraction Layer
[0060] OLS output layer set
[0061] PH Image Header
[0062] PPS picture parameter set
[0063] PTL grades, tiers and levels
[0064] PU Picture Unit
[0065] RADL Random Access Decodable Preamble (Image)
[0066] RAP Random Access Point
[0067] RASL Random Access Skip Preamble (picture)
[0068] RBSP Raw Byte Sequence Payload
[0069] RPL Reference Image List
[0070] SAO Sample Adaptive Offset
[0071] SEI Supplemental Enhancement Information
[0072] SPS sequence parameter set
[0073] STSA Stepwise Temporal Sublayer Access
[0074] SVC Scalable Video Codec
[0075] VCL video codec layer
[0076] VPS Video Parameters Collection
[0077] VTM VVC test model
[0078] VUI Video Availability Information
[0079] VVC Multi-functional Video Codec
[0080] 3. Preliminary Discussion
[0081] 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 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 named Joint Exploration Model (JEM). 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 dedicated to VVC standardization, 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 latest VVC working draft JVET-Q2001_vE can be downloaded from the following URL: http: / / phenix.it-sudparis.eu / jvet / doc_end_user / documents / 17_Brussels / wg11 / JVET-Q2001-v15.zip. The goal of the VVC project is to achieve technical completion (FDIS) at the meeting in July 2020.
[0082] 3.1. Parameter Collection
[0083] AVC, HEVC, and VVC specify parameter sets. Types of parameter sets include SPS, PPS, APS, and VPS. All AVC, HEVC, and VVC support SPS and PPS. VPS was introduced since HEVC and is included in HEVC and VVC. APS is not included in AVC or HEVC, but is included in the latest VVC draft text.
[0084] 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, information that does not change frequently does not need to be repeated 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.
[0085] VPS is introduced to carry sequence level header information common to all layers in a multi-layer bitstream.
[0086] 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 a sequence.
[0087] 3.1.1. Video Parameter Set (VPS)
[0088] The syntax tables and semantics of multiple syntax elements in the latest VVC draft text (JVET-Q2001-vE / v15) are defined as follows:
[0089] 7.3.2.2 Video Parameter Set RBSP Syntax
[0090]
[0091]
[0092] 3.1.2. Sequence Parameter Set (SPS)
[0093] The syntax tables and semantics of multiple syntax elements in the latest VVC draft text (JVET-Q2001-vE / v15) are defined as follows:
[0094] 7.3.2.3 Sequence Parameter Set RBSP Syntax
[0095]
[0096]
[0097] 3.1.3. General Constraint Flags
[0098] 7.3.3.2 General Constraint Information Syntax
[0099]
[0100]
[0101] Equal to 1 It is specified that sps_bdof_enabled_flag shall be equal to 0. no_bdof_constraint_flag equal to 0 imposes no such constraint.
[0102] Equal to 1 It is specified that sps_dmvr_enabled_flag shall be equal to 0. no_dmvr_contraint_flag equal to 0 imposes no such constraint.
[0103] Equal to 1 It is specified that sps_bcw_enabled_flag shall be equal to 0. no_bcw_constraint_flag equal to 0 imposes no such constraint.
[0104] Equal to 1 It is specified that sps_ciip_enabled_flag shall be equal to 0. no_cipp_constraint_flag equal to 0 imposes no such constraint.
[0105] Equal to 1 It is specified that sps_gpm_enabled_flag shall be equal to 0. no_gpm_constraint_flag equal to 0 imposes no such constraint.
[0106] 3.1.4. Picture Parameter Set (PPS)
[0107] The syntax tables and semantics of multiple syntax elements in the latest VVC draft text (JVET-Q2001-vE / v15) are defined as follows:
[0108] 7.3.2.4 Picture parameter set RBSP syntax
[0109]
[0110] [i] increments by 1, and when i is equal to 0, specifies the inferred value of the variable NumRefIdxActive[0] for P or B slices with num_ref_idx_active_override_flag equal to 0, and when i is equal to 1, specifies the inferred value of NumRefIdxActive[1] for B slices with num_ref_idx_active_override_flag equal to 0. The value of num_ref_idx_default_active_minus1[i] shall be in the range of 0 to 14, inclusive.
[0111] Equal to 0 Specifies that display weighted prediction is not applied for B slices referencing a PPS. pps_weighted_bipred_flag equal to 1 specifies that display weighted prediction is applied for B slices referencing a PPS. When sps_weighted_bipred_flag is equal to 0, the value of pps_weighted_bipred_flag shall be equal to 0.
[0112] 3.1.5.DPB parameter syntax
[0113] The syntax tables and semantics of multiple syntax elements in the latest VVC draft text (JVET-Q2001-vE / v15) are defined as follows.
[0114] 7.3.4 DPB parameter syntax
[0115]
[0116] 7.4.5 DPB parameter semantics
[0117] The dpb_parameters() syntax structure provides information about the DPB size, maximum number of picture reorderings, and maximum delay for one or more OLSs.
[0118] When the dpb_parameters() syntax structure is included in the VPS, the OLS to which the dpb_parameters() syntax structure applies is specified by the VPS. When the dpb_parameters() syntax structure is included in the SPS, it applies to the OLS including only the lowest layer among the layers that reference the SPS, and this lowest layer is an independent layer.
[0119] [i] plus 1 specifies the maximum required size of the DPB in units of picture storage buffers when Htid is equal to i. The value of max_dec_pic_buffering_minus1[i] shall be in the range of 0 to MaxDpbSize-1, inclusive, where MaxDpbSize is as specified in clause A.4.2. When i is greater than 0, max_dec_pic_buffering_minus1[i] shall be greater than or equal to max_dec_pic_buffering_minus1[i-1]. When max_dec_pic_buffering_minus1[i] is not present (for i in the range of 0 to maxSubLayersMinus1-1, inclusive), it is inferred to be equal to max_dec_pic_buffering_minus1[maxSubLayersMinus1] since subLayerInfoFlag is equal to 0.
[0120] [i] Specifies the maximum allowed number of pictures of the OLS that may precede any picture in the OLS in decoding order and follow that picture in output order when Htid is equal to i. The value of max_num_reorder_pics[i] shall be in the range of 0 to max_dec_pic_buffering_minus1[i], inclusive. When i is greater than 0, max_num_reorder_pics[i] shall be greater than or equal to max_num_reorder_pics[i-1]. When max_num_reorder_pics[i] is not present (for i in the range of 0 to maxSubLayersMinus1-1, inclusive), it is inferred to be equal to max_num_reorder_pics[maxSubLayersMinus1] since subLayerInfoFlag is equal to 0.
[0121] Not equal to 0 [i] is used to calculate the value of MaxLatencyPictures[i], which specifies the maximum number of pictures in the OLS that can precede any picture in the OLS in output order and follow it in decoding order when Htid is equal to i. When max_latency_increase_plus1[i] is not equal to 0, the value of MaxLatencyPictures[i] is specified as follows:
[0122] MaxLatencyPictures[i]=max_num_reorder_pics[i]+max_latency_increase_plu s1[i]-1 (7-110)
[0123] When max_latency_increase_plus1[i] is equal to 0, no corresponding restriction is indicated.
[0124] The value of max_latency_increase_plus1[i] should be between 0 and 2. 32 When max_latency_increase_plus1[i] is not present (for i in the range of 0 to maxSubLayersMinus1-1, inclusive), since subLayerInfoFlag is equal to 0, it is inferred to be equal to max_latency_increase_plus1[maxSubLayersMinus1].
[0125] 3.2. Picture Header (PH) and Slice Header (SH) in VVC
[0126] Similar to HEVC, the slice header in VVC conveys information about a specific slice. This includes slice address, slice type, slice QP, picture order count (POC) least significant bit (LSB), RPS and RPL information, weighted prediction parameters, loop filter parameters, WPP and slice entry offset, etc.
[0127] VVC introduces a picture header (PH), which contains header parameters for a specific picture. Each picture must have one or only one PH. The PH basically carries those parameters that would appear in the slice header if the PH was not introduced, but each parameter has the same value for all slices of the picture. These include IRAP / GDR picture indication, inter-slice / intra-slice permission flags, POC LSB and optional POC MSB, information about RPL, deblocking, SAO, ALF, QP increment, and weighted prediction, codec block partitioning information, virtual boundaries, co-located picture information, etc. Normally, each picture in the entire picture sequence contains only one slice. In order to allow each picture to not have at least two NAL units in this case, the PH syntax structure is allowed to be included in the PH NAL unit or slice header.
[0128] In VVC, information about collocated pictures used for temporal motion vector prediction is signaled in a picture header or a slice header.
[0129] 3.2.1. Picture Header (PH)
[0130] The syntax tables and semantics of multiple syntax elements in the latest VVC working draft are defined as follows:
[0131] 7.3.2.7 Picture header structure syntax
[0132]
[0133] 3.2.2. Strip Header (SH)
[0134] The syntax tables and semantics of multiple syntax elements in the latest VVC working draft are defined as follows:
[0135] 7.3.7.1 Generic Strip Header Syntax
[0136]
[0137]
[0138]
[0139] Specifies the codec type for the slice according to Table 9.
[0140] Table 9 - Names associated with slice_type
[0141]
[0142] When not present, the value of slice_type is inferred to be equal to 2.
[0143] When ph_intra_slice_allowed_flag is equal to 0, the value of slice_type shall be equal to 0 or 1. 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.
[0144] 3.3. Recent Progress in JVET-R0052
[0145] In JVET-R0052 method #2, it is proposed to add an allowed type index (ie, ph_allowed_slice_types_idc), and whether B slices are used in a picture can be derived from the newly added syntax element.
[0146]
[0147] In addition, another new syntax element ph_multiple_slice_types_in_pic_flag is added to the PH structure to specify whether there are multiple slice types in the current picture. ph_multiple_slice_types_in_pic_flag equal to 1 specifies that the codec slices of the picture can have different slice_type values. ph_multiple_slice_types_in_pic_flag equal to 0 specifies that all codec slices of the picture have the same slice_type value. When ph_multiple_slice_types_in_pic_flag is equal to 0, ph_slice_type is further signaled to specify the value of slice_type for all slices of the picture, and the slice_type in the slice header is not coded and is inferred to be equal to the value of ph_slice_type.
[0148] 7.3.2.7 Picture header structure syntax
[0149]
[0150]
[0151]
[0152] 7.3.7.1 Generic Strip Header Syntax
[0153]
[0154]
[0155]
[0156] 7.4.3.7 Image header structure semantics
[0157]
[0158] Table X - Allowed values for slice_type as specified by ph_allowed_slice_types_idc
[0159]
[0160]
[0161] [[Equal to 0 Specifies that all codec slices of a picture have slice_type equal to 2. ph_inter_slice_allowed_flag equal to 1 specifies that a picture may or may not have one or more codec slices with slice_type equal to 0 or 1. [Ed.(YK): For those syntax elements restricted by this flag equal to 0, double-check the necessity / correctness of the inference rules.]
[0162] Equal to 0 Specifies that all codec slices of a picture have slice_type equal to 0 or 1. ph_intra_slice_allowed_flag equal to 1 specifies that the picture may or may not have one or more codec slices with slice_type equal to 2. When absent, the value of ph_intra_slice_allowed_flag is inferred to be equal to 1. [Ed.(YK): For those syntax elements restricted by this flag equal to 1, double-check the necessity / correctness of the inference rules. ]]]
[0163] NOTE 2 – For bitstreams that should be subjected to sub-picture based bitstream merging without changing the PH NAL units, the encoder needs to set the values of [[ph_inter_slice_allowed_flag and ph_intra_slice_allowed_flag]] to Set equal to 1.
[0164] 7.4.8.1 Generic Strip Header Semantics
[0165] Specifies the codec type for the slice according to Table 9.
[0166] Table 9 - Names associated with slice_type
[0167]
[0168] When not present, the value of slice_types is [[derived to be equal to 2]] as follows:
[0169]
[0170] [[When ph_intra_slice_allowed_flag is equal to 0, the value of slice_type shall be equal to 0 or 1. ]] 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.
[0171] 7.4.8.2 Weighted Prediction Parameter Semantics
[0172] When pps_weighted_bipred_flag and wp_info_in_ph_flag are both equal to 1, Specifies the number of weights signaled for entries in reference picture list 1. The value of num_11_weights shall be in the range of 0 to Min(15, num_ref_entries[1][RplsIdx[1]]), inclusive.
[0173] The variable NumWeightsL1 is derived as follows:
[0174]
[0175]
[0176] New syntax elements can be further signaled in the PPS When pps_multiple_slice_types_in_pic_flag is equal to 0, ph_multiple_slice_types_in_pic_flag is inferred to be equal to 0 for all PHs referencing a PPS.
[0177] The relevant changes to VVC Draft 8 are written in red and highlighted in yellow, and are provided as follows:
[0178] 7.3.2.4 Picture parameter set RBSP syntax
[0179]
[0180] Method 1 PH
[0181] 7.3.2.7 Picture header structure syntax
[0182]
[0183]
[0184] Method 2 PH
[0185]
[0186] 7.4.3.4 Picture parameter set RBSP semantics
[0187]
[0188] 3.4. Uncoded sub-images in JVET-R0151 and potential applications
[0189] In this document, it is shown how to extend VVC by enabling a mechanism for uncoded sub-pictures. Uncoded sub-pictures can be used for efficient codecs by providing completely unused areas when the sub-picture does not completely fill the picture. Examples are shown for OMAF use cases as well as 360° video codecs for 4x3 cube mapping. Additionally, uncoded sub-pictures can be used to reserve space that is not filled with codec data but rather with content generated from already coded content. Here, an example of high-level, efficient geometry filling for 360° video is shown.
[0190] 3.5.APS
[0191] 7.3.2.5 Adaptation Parameter Set RBSP Syntax
[0192]
[0193] ALF APS data syntax table
[0194] 7.3.2.19 Adaptive Loop Filter Data Syntax
[0195]
[0196]
[0197] Syntax table for displaying zoom list APS data:
[0198] 7.3.2.21 Scaling List Data Syntax
[0199]
[0200] 7.3.2.20 Luma Mapping Using Chroma Scaling Data Syntax
[0201]
[0202]
[0203] The use of ALF APS (on / off control and one or more APS indexes, if needed) is signaled in PH or SH, but not in both. For a picture / slice, multiple ALF APSs can be signaled. For explicit scaling lists and LMCS, in PH, a flag is signaled to indicate the explicit scaling table and LMCS is enabled for at least one slice. And if LMCS is enabled, an APS index is further signaled.
[0204] 7.3.2.7 Picture header structure syntax
[0205]
[0206]
[0207] 4. Technical problems solved by public technical solutions
[0208] The current VVC text and the latest progress of JVET have the following problems:
[0209] 1. In the latest VVC draft text (JVET-Q2001-vE / v15), two PH syntax elements related to the allowed slice types are included, namely ph_inter_slice_allowed_flag and ph_intra_slice_allowed_flag, as shown in the table of picture header structure syntax. With these two flags, syntax elements related to I-slice codec are signaled only when ph_intra_slice_allowed_flag is true, and syntax elements related to inter-slice codec are signaled only when ph_inter_slice_allowed_flag is true. However, when ph_inter_slice_allowed_flag is equal to 1, the decoder does not know whether the picture contains B slices. Some applications (such as online games, video conferencing, video surveillance) usually use only P slices and I slices. Therefore, if there is an indication whether B slices are allowed, the decoder of such applications will be able to choose to only request / use bitstreams that do not include B slices, and furthermore, the indication can be used to avoid sending multiple unnecessary parameters.
[0210] 2. In JVET-R0052, the proposed changes apply only to PH and SH. There is no higher level control on whether there can only be the same slice type within a picture and / or what allowed slice types are enabled in a picture. In addition, when certain syntax elements that are only relevant for bi-prediction are not present, it is not described how to infer these values.
[0211] 3. In item 1 of JVET-R0191, it is proposed to replace the constraint that the value of sps_ptl_dpb_hrd_params_present_flag should be equal to vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]] with the following:
[0212] The value of sps_ptl_dpb_hrd_params_present_flag shall be equal to 1 when there is an OLS containing only one layer with layer ID equal to nuh_layer_id of the SPS.
[0213] However, the change introduces a VPS dependency through the condition "when there is an OLS containing only one layer". Another issue is that for a single-layer bitstream, the value of sps_ptl_dpb_hrd_params_present_flag should be equal to 1, and this is not captured by the changed constraint.
[0214] 4. In JVET-R0267, the following constraint is proposed: When the current picture is an IDR picture and sps_idr_rpl_present_flag is equal to 1, there should be no pictures referenced by entries in RefPicList[0] or RefPicList[1] that precede any preceding IRAP picture in the decoding order (if any) in the output order or decoding order.
[0215] However, this constraint only applies to single-layer bitstreams.
[0216] 5. In JVET-R0042, changes were proposed to VVC as summarized below:
[0217] 1) For each image type, a corresponding sub-image type is defined.
[0218] 2) The terms "associated GDR sub-picture" and "associated IRAP sub-picture" are also defined.
[0219] 3) The content of a NAL unit with nal_unit_type equal to CRA_NUT is referred to as "a codec slice of a CRA picture or sub-picture" instead of "a codec slice of a CRA picture". Similarly for other VCL NAL unit types.
[0220] 4) It is required that any two adjacent sub-pictures with different NAL unit types within a picture shall both have subpic_treated_as_pic_flag[] equal to 1.
[0221] 5) For sub-pictures of different types and sub-pictures of the same layer with the same sub-picture index in the previous AU and the next AU, similar constraints on the relative decoding order, output order and prediction relationship of sub-pictures of different types and the same layer in the previous AU and the next AU are specified in the sub-picture field. However, there are no constraints on the RPL entries of IDR sub-pictures.
[0222] 6. JVET-R0065 proposes the following changes to VVC:
[0223] 1) Each GDR AU is required to be complete (i.e., it must have pictures of each layer present in the CVS). This means that an incomplete AU consisting of GDR pictures is not a GDR AU, similar to the incomplete AU consisting of IRAP pictures in the current VVC text is not an IRAP AU.
[0224] 2) A flag named irap_or_gdr_au_flag is added to AUD to specify whether the AU is an IRAP or GDRAU, and to enforce the presence of AUD NAL units in each IRAP or GDR AU when vps_max_layers_minus1 is greater than 0.
[0225] However, if the IRAP or GDR AU is not required to be complete, but each picture in the AU is required to be an IRAP or GDR picture, there still needs to be an indication of whether the AU is an IRAP or GDR AU so that the decoder can determine whether the AU is an IRAP or GDR AU after receiving the first VCL NAL unit of the first picture. In the absence of such an indication, the decoder cannot know this until the last picture of the AU is received (when the last picture received is at the highest layer of the OLS) or until the first NAL unit of the next AU is received (when the last picture received is not at the highest layer of the OLS).
[0226] 7. JVET-R0063 proposes to replace the PH flag ph_lmcs_enabled_flag with a 2-bit ph_lmcs_mode_idc, and specifies 3 modes: disabled (mode 0), used for all slices (mode 1), and enabled (mode 2). In mode 1, LMCS is used for all slices of the picture, and signaling of the LMCS control flag is not required in the SH. The semantics of slice_lmcs_enabled_flag are also modified accordingly. In addition, it is proposed to fix the semantics of ph_chroma_residual_scale_flag to reflect the intention to enable / disable chroma residual scaling for a picture or slice. However, the ph_lmcs_mode_idc proposed in JVET-R0063 can also be ue(v) coded and decoded.
[0227] 8. JVET-R0064 proposes to replace the PH flag ph_explicit_scaling_list_enabled_flag with a 2-bit ph_explicit_scaling_list_mode_idc, and specifies 3 modes: disabled (mode 0), used for all slices (mode 1), and enabled (mode 2). In mode 1, the explicit scaling list is used for all slices of the picture, and scaling list signaling is not required in SH. However, the ph_explicit_scaling_list_mode_idc proposed in JVET-R0064 can also be ue(v) coded and decoded.
[0228] 5. List of example solutions and embodiments
[0229] In order to solve the above problems, the method summarized as follows is disclosed. The following items should be considered as examples to explain the general concept and should not be interpreted in a narrow sense. In addition, these items can be applied alone or in combination in any way.
[0230] One or more syntax elements may be added to a parameter set (e.g., SPS, VPS, PPS, APS, DCI) and / or general constraint information syntax to indicate whether only X (e.g., I, B, or P) slices are allowed within a picture; and / or to indicate a set of slice types allowed in a picture.
[0231] In parameter set and general constraint information syntax
[0232] 1. In a video unit such as SPS or PPS, add one or more syntax elements (eg, sps_allowed_slice_idc) to specify the slice types allowed in a picture of a CLVS.
[0233] 1) In one example, a first syntax element (e.g., sps_allowed_slice_idc) is added, and its semantics may be defined as: sps_allowed_slice_idc equal to X specifies that a picture can only be
[0234] The following allowed stripe types or any combination of them are allowed:
[0235] i.{all I},{all P},{all B},{I,P},{I,B},{P,B},{I,B,P}
[0236] ii. In one example, the first syntax element may be encoded using a fixed length codec (eg, u(1), u(2), or u(3)), a unary codec, a truncated unary codec, or an EG codec.
[0237] iii. Alternatively, furthermore, the signaling and / or semantics and / or inference of one or more syntax elements signaled in the SPS or PPS may be modified such that they are signaled only if the first syntax element meets certain conditions.
[0238] a. In one example, the one or more syntax elements are syntax elements for enabling codec tools that require more than one prediction signal, such as bi-prediction or hybrid intra- and inter-coding, or prediction with linear / non-linear weighting from multiple prediction blocks.
[0239] b. In one example, one or more syntax elements may include, but are not limited to:
[0240] a)sps_weighted_bipred_flag
[0241] b)sps_bdof_enabled_flag
[0242] c)sps_smvd_enabled_flag
[0243] d)sps_dmvr_enabled_flag
[0244] e)sps_bcw_enabled_flag
[0245] f)sps_ciip_enabled_flag
[0246] g)sps_gpm_enabled_flag
[0247] c. In one example, one or more syntax elements may be signaled only if the first syntax element specifies that the CLVS associated with the video unit may contain one or more B slices. Otherwise, signaling is skipped and the value of the syntax element is inferred.
[0248] d. In one example, when sps_b_slice_allowed_flag is equal to 0, the syntax elements sps_weighted_bipred_flag, sps_bdof_enabled_flag, sps_smvd_enabled_flag, sps_dmvr_enabled_flag, sps_bcw_enabled_flag, sps_ciip_enabled_flag, and sps_gpm_enabled_flag are not signaled and their values are inferred.
[0249] a) In one example, when not present, they are all inferred to be 0.
[0250] iv. Alternatively, in addition, a second syntax element, such as no_b_slice_constraint_flag, may be signaled in the general constraint information syntax to indicate whether the first syntax element should be equal to 0.
[0251] a. In one example, the semantics of no_b_slice_constraint_flag is defined as follows: It is specified that sps_allowed_slice_idc should be equal to X (eg, indicating that the allowed slice types are {I, B, P} or {B, P}, {all B}).
[0252] no_b_slice_constraint_flag equal to 0 does not impose this constraint.
[0253] v. Alternatively, in addition, it is required that if the first syntax element specifies that the CLVS does not contain B slices (e.g., only sps_allowed_slice_idc is equal to X, which means {I, P}, {all I}, {all P}), then one or more syntax elements signaled in the general constraint information syntax should be equal to 1.
[0254] a. In one example, one or more syntax elements may include, but are not limited to:
[0255] a)
[0256] b)
[0257] c)
[0258] d)
[0259] e)
[0260] vi. Alternatively, furthermore, the signaling and semantics of one or more syntax elements signaled in dpb_parameters() may be modified such that they are signaled only if the first syntax element meets certain conditions.
[0261] a. In one example, one or more syntax elements may include, but are not limited to:
[0262] a)max_num_reorder_pics
[0263] b. In one example, when the first syntax element signals that no B slices are allowed, max_num_reorder_pics is not signaled and is inferred to be 0.
[0264] In PH / SH
[0265] 2. In PH / SH, the variable X is used to indicate whether B slices are allowed / used in a picture / slice, and the variable can be derived from the SPS syntax element and / or the new PH syntax element (e.g., ph_allowed_slice_idc) to specify the allowed slice types and / or other syntax elements (e.g., ph_allowed_slice_idc used in JVET-R0052). ).
[0266] 1) In one example, a new PH syntax element is added, and how this syntax element is signaled may depend on the allowed slice types in the SPS.
[0267] 2) Alternatively, furthermore, the signaling and / or semantics and / or inference of one or more syntax elements signaled in the PH may be modified according to the variable.
[0268] i. In one example, the one or more syntax elements are those for enabling codec tools that require more than one prediction signal, such as bi-prediction or hybrid intra- and inter-coding, or prediction with linear / non-linear weighting from multiple prediction blocks.
[0269] ii. In one example, the one or more syntax elements may include, but are not limited to:
[0270] a)ph_collocated_from_l0_flag
[0271] b)mvd_l1_zero_flag
[0272] c)ph_disable_bdof_flag
[0273] d)ph_disable_dmvr_flag
[0274] e)num_l1_weights
[0275] iii. In one example, one or more syntax elements may be signaled only if the first syntax element specifies that a picture may contain one or more B slices. Otherwise, signaling is skipped and the value of the syntax element is inferred.
[0276] a) Alternatively, whether one or more syntax elements are signaled may depend on the first syntax element in bullet points 1.1) and 2.1), for example (X is true or 1).
[0277] b) Only if (sps_bdof_pic_present_flag ) is true, ph_disable_bdof_flag can be signaled.
[0278] c) Only if (sps_dmvr_pic_present_flag ) is true, ph_disable_dmvr_flag can be signaled.
[0279] iv. In one example, when X is equal to 0 (or false), mvd_l1_zero_flag is not signaled and its value is inferred to be 1.
[0280] v. In one example, inference of one or more syntax elements depends on the value of the first syntax element.
[0281] a) In one example, for ph_disable_bdof_flag, the following applies:
[0282] If sps_bdof_enabled_flag is equal to 1, The value of ph_disable_bdof_flag is inferred to be equal to 0.
[0283] Otherwise (sps_bdof_enabled_flag is equal to ), the value of ph_disable_bdof_flag is inferred to be equal to 1.
[0284] b) In one example, for ph_disable_dmvr_flag, the following applies:
[0285] If sps_dmvr_enabled_flag is equal to The value of ph_disable_dmvr_flag is inferred to be equal to 0.
[0286] Otherwise (sps_dmvr_enabled_flag is equal to ), the value of ph_disable_dmvr_flag is inferred to be equal to 1.
[0287] c) In one example, when ph_temporal_mvp_enabled_flag and rpl_info_in_ph_flag are both equal to 1 and X is equal to 0 (or false), the value of ph_collocated_from_l0_flags is inferred to be equal to 1.
[0288] d) In one example, when X is equal to 0 (or false), num_l1_weights is not signaled and its value is inferred to be 0, and thus, the weighted prediction parameters of reference picture list 1 are not signaled in the PH or SH of the picture.
[0289] Inference of grammatical elements
[0290] 3. For syntax elements related to codec tool X and / or syntax element groups, these syntax elements may be present in A (e.g. PH) or B (e.g. SH), but not both. If A is included in B, then at least one indication of the presence of those syntax elements may not be signaled and may be inferred to be 0, i.e., present in B.
[0291] 1) In one example, the encoding tool X may include one of the following:
[0292] i. Loop filtering technology, such as deblocking filter, ALF, SAO
[0293] ii. Weighted prediction
[0294] iii.QP increment information
[0295] iv.RPL Information
[0296] 2) In one example, the condition "A is included in B" may be defined as "the slice header of the reference PPS contains the PH syntax structure" or "the current picture consists of only one slice".
[0297] 3) In one example, the "indication of the presence of those syntax elements" may be defined as one or more of the following syntax elements:
[0298] i.qp_delta_info_in_ph_flag, rpl_info_in_ph_flag, dbf_info_in_ph_flag, sao_info_in_ph_flag, wp_info_in_ph_flag, alf_info_in_ph_flag
[0299] 4) In one example, one or more of the following changes are proposed. Specifies that the reference picture list information is present in the PH syntax structure and not in the slice header referencing a PPS that does not contain the PH syntax structure. rpl_info_in_ph_flag equal to 0 specifies that the reference picture list information is not present in the PH syntax structure and may be present in the slice header referencing a PPS that does not contain the PH syntax structure.
[0300] Equal to 1 Specifies that deblocking filter information is present in the PH syntax structure and not in slice headers referencing a PPS that does not contain a PH syntax structure. dbf_info_in_ph_flag equal to 0 specifies that deblocking filter information is not present in the PH syntax structure and may be present in slice headers referencing a PPS that does not contain a PH syntax structure. When not present, the value of dbf_info_in_ph_flag is inferred to be equal to 0.
[0301] sao_info_in_ph_flag equal to 1 specifies that SAO filter information is present in the PH syntax structure and not in slice headers referencing PPSs that do not contain the PH syntax structure. sao_info_in_ph_flag equal to 0 specifies that SAO filter information is not present in the PH syntax structure and may be present in slice headers referencing PPSs that do not contain the PH syntax structure.
[0302] Equal to 1 Specifies that ALF information is present in the PH syntax structure and not in slice headers referencing a PPS that does not contain a PH syntax structure. alf_info_in_ph_flag equal to 0 specifies that ALF information is not present in the PH syntax structure and may be present in slice headers referencing a PPS that does not contain a PH syntax structure.
[0303] Equal to 1 Specifies that weighted prediction information may be present in the PH syntax structure but not in the slice headers referencing a PPS that does not contain a PH syntax structure. wp_info_in_ph_flag equal to 0 specifies that weighted prediction information may not be present in the PH syntax structure but may be present in the slice headers referencing a PPS that does not contain a PH syntax structure. When not present, the value of wp_info_in_ph_flag is inferred to be equal to 0.
[0304] Equal to 1 Specifies that QP delta information is present in the PH syntax structure and not in slice headers referencing a PPS that does not contain a PH syntax structure. qp_delta_info_in_ph_flag equal to 0 specifies that QP delta information is not present in the PH syntax structure and may be present in slice headers referencing a PPS that does not contain a PH syntax structure.
[0305] 4. The conforming bitstream shall follow the following rule, i.e., when its POC value is greater than the POC value of the previous picture, for the splicing point picture as a CLVS AU in the spliced bitstream, the setting of NoOutputOfPriorPicsFlag is required to be equal to 1.
[0306] 1) When the current AU is a Codec Video Sequence Start (CVSS) AU and the PicOrderCntVal of the current AU is greater than the PicOrderCntVal of the previous picture in decoding order, the value of NoOutputOfPriorPicsFlag is set equal to 1 regardless of other conditions (for example, regardless of the value of no_output_of_prior_pics_flag of the picture in the current AU).
[0307] 5. Whether to signal a syntax element indicating that inter slices / B slices / P slices are allowed in a picture and / or RPL / WP information, and / or an indication of the presence of RPL / WP information may depend on the picture type and whether layer independence is enabled.
[0308] 1) Whether to signal a syntax element indicating that inter-frame slices / B-slices / P-slices are allowed in a picture and / or RPL / WP information, and / or an indication of the presence of RPL / WP information, may depend on the picture type and whether the layer is an independent layer and whether the CLVS contains only one of the layers.
[0309] 2) In one example, the syntax elements may be signaled in the picture header (PH) or PPS.
[0310] 3) In one example, whether a syntax element is signaled may depend on one or more syntax elements signaled in a higher-level video unit (eg, SPS).
[0311] 4) In one example, no syntax elements are signaled for IRAP pictures and layer independence is enabled.
[0312] i. Alternatively, for IRAP pictures or slices in independent layers, no syntax elements are signaled.
[0313] ii. In one example, ph_inter_slice_allowed_flag in VVC is not signaled for IRAP pictures, and layer independence is enabled.
[0314] iii. In one example, slice_type in VVC is not signaled for IRAP pictures and layer independence is enabled.
[0315] iv. In one example, ph_slice_type in JVET-R0052 is not signaled for IRAP pictures, and layer independence is enabled.
[0316] v. In one example, ph_inter_slice_allowed_flag in VVC is not signaled for IRAP pictures (i.e., pictures with nal_unit_type equal to IDR_W_RADL, IDR_N_LP, or CRA_NUT for all codec slice NAL units) in independent layers (i.e., layers with vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]] equal to 1), and ph_inter_slice_allowed_flag is inferred to be equal to 0.
[0317] vi. In one example, slice_type in VVC is not signaled for IRAP slices in independent layers (ie, codec slice NAL units with nal_unit_type equal to IDR_W_RADL, IDR_N_LP, or CRA_NUT) and is inferred to be equal to 2.
[0318] vii. In one example, ph_slice_type in JVET-R0052 is not signaled for IRAP pictures in independent layers and is inferred to be equal to 2.
[0319] 5) In one example, syntax elements are not signaled for IRAP pictures or slices in a single-layer CLVS.
[0320] i. In one example, when the CLVS contains only one layer (i.e., when sps_video_parameter_set_id is equal to 0), ph_inter_slice_allowed_flag in VVC is not signaled for IRAP pictures (i.e., pictures with all codec slice NAL units whose nal_unit_type is equal to IDR_W_RADL, IDR_N_LP, or CRA_NUT) and is inferred to be equal to 0.
[0321] ii. In one example, when the CLVS contains only one layer, the slice_type in the VVC is not signaled for IRAP slices (ie, codec slice NAL units with nal_unit_type equal to IDR_W_RADL, IDR_N_LP, or CRA_NUT).
[0322] iii. In one example, when the CLVS contains only one layer, ph_slice_type in JVET-R0052 is not signaled for IRAP pictures.
[0323] 6) In one example, syntax elements are not signaled for IRAP pictures and layer independence is enabled, even though the presence of such information indicates that they are in PH.
[0324] i. In one example, syntax elements are not signaled for IRAP pictures in independent layers, even though the presence of such information indicates that they are in PH.
[0325] ii. When gdr_or_irap_pic_flag is equal to 1 and gdr_pic_flag is equal to 0, a new flag named idr_pic_flag is proposed to specify whether the picture associated with the picture header is an IDR picture. And the following may apply:
[0326] a. When sps_idr_rpl_present_flag is equal to 0, layer independence is enabled, and idr_pic_flag is equal to 1, there is no RPL signaling notification in the PH even when the value of rpl_info_in_ph_flag is equal to 1.
[0327] b. When sps_idr_rpl_present_flag is equal to 0, layer independence is enabled, and idr_pic_flag is equal to 1, there is no WP signaling notification in the PH even when the value of wp_info_in_ph_flag is equal to 1.
[0328] c. When sps_idr_rpl_present_flag is equal to 0, the current layer is an independent layer (ie, vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]] is equal to 1), and idr_pic_flag is equal to 1, even when the value of rpl_info_in_ph_flag is equal to 1, there is no RPL signaling notification in the PH.
[0329] d. When sps_idr_rpl_present_flag is equal to 0, the current layer is an independent layer, and idr_pic_flag is equal to 1, even when the value of wp_info_in_ph_flag is equal to 1, there is no WP signaling notification in the PH.
[0330] 7) In one example, syntax elements are not signaled for IRAP pictures in a single-layer CLVS even when the presence of such information indicates that they are in the PH.
[0331] i. When gdr_or_irap_pic_flag is equal to 1 and gdr_pic_flag is equal to 0, a new flag named idr_pic_flag is proposed to specify whether the picture associated with the picture header is an IDR picture. The following may apply:
[0332] a. When sps_idr_rpl_present_flag is equal to 0, the CLVS contains only one layer (ie, sps_video_parameter_set_id is equal to 0), and idr_pic_flag is equal to 1, even when the value of rpl_info_in_ph_flag is equal to 1, there is no RPL signaling notification in the PH.
[0333] b. When sps_idr_rpl_present_flag is equal to 0, the CLVS contains only one layer, and idr_pic_flag is equal to 1, even when the value of wp_info_in_ph_flag is equal to 1, there is no WP signaling notification in the PH.
[0334] 6. It is proposed that the value of sps_ptl_dpb_hrd_params_present_flag shall be equal to 1 when sps_video_parameter_set_id is greater than 0 and there is an OLS containing only one layer with nuh_layer_id equal to nuh_layer_id of the SPS, or when sps_video_parameter_set_id is equal to 0.
[0335] Reference list related
[0336] 7. Signaling and / or generation of reference picture lists may depend on the allowed slice types in a picture of the CLVS.
[0337] 1) For example, if B slices are not allowed in CLVS, one or more syntax elements used to construct reference list 1 may not be signaled.
[0338] 2) For example, if B slices are not allowed in CLVS, one or more processes for constructing reference list 1 may not be performed.
[0339] APS related
[0340] 8. It is required that two APSs shall not have the same APS_id in a sequence, CLVS or bitstream.
[0341] 1) Alternatively, it is required that two APSs with the same APS type (eg, ALF APS or LMCS APS) should not have the same APS_id in a sequence, CLVS or bitstream.
[0342] 2) Alternatively, two APSs with the same APS type (eg, ALF APS or LMCS APS) are allowed to have the same APS_id, but they must have the same content in a sequence, CLVS, or bitstream.
[0343] 3) Alternatively, two APSs with the same APS type (eg, ALF APS or LMCS APS) are allowed to have the same APS_id, and the previously signaled APS is replaced by the later signaled APS.
[0344] 4) Alternatively, two APSs of the same APS type (eg ALF APS or LMCS APS) are allowed to have the same APS_id. The latter signaled APS is ignored.
[0345] 9. Two different parameter sets (e.g., APS and SPS) may be dependent on each other, and a syntax element or variable derived from a syntax element in a first parameter set may be used to conditionally signal another syntax element in a second parameter set.
[0346] 1) Alternatively, a syntax element or variable derived from a syntax element in a first parameter set may be used to derive a value of another syntax element in a second parameter set.
[0347] Non-encoded sub-picture correlation
[0348] 10. It is proposed that the boundaries of non-coded sub-pictures must be treated as picture boundaries.
[0349] 11. It is proposed that loop filtering (such as ALF / deblocking / SAO) cannot cross the boundary of non-coded sub-pictures.
[0350] 12. If there is only one sub-picture, it cannot be a non-coded sub-picture.
[0351] 13. Sub-pictures that require non-codec cannot be extracted.
[0352] 14. It is proposed that information related to non-coded sub-pictures can be signaled in SEI messages.
[0353] 15. It is required that a non-coded sub-picture can have only one slice.
[0354] 16. The sub-picture on the top left cannot be a non-coded sub-picture.
[0355] 17. It is required that at least one of the sub-pictures is not a non-coded sub-picture.
[0356] 18. Whether and / or how to encode and decode a sub-picture associated with side information may depend on whether the sub-picture is a non-encoded sub-picture.
[0357] 1) In one example, if it is a non-coded sub-picture, no side information needs to be signaled.
[0358] 19. Alternatively, in addition to the above requirements, they may be modified to be conditionally signaled according to the above examples.
[0359] IDR picture and IDR sub-picture correlation
[0360] 20. The following constraints are proposed:
[0361] When the current picture (nuh_layer_id is equal to the specific value layerId) is an IDR picture and sps_idr_rpl_present_flag is equal to 1, there shall not be any pictures referenced by entries in RefPicList[0] or RefPicList[1] preceding any previous IRAP picture in output order or decoding order, where nuh_layer_id is equal to layerId (when present) in decoding order.
[0362] 21. The following constraints are proposed:
[0363] When the current sub-picture (nuh_layer_id equal to a specific value layerId and subpicture index equal to a specific value subpicIdx) is an IDR sub-picture and sps_idr_rpl_present_flag is equal to 1, there shall be no pictures referenced by entries in RefPicList[0] or RefPicList[1] that precede, in output order or decoding order, any pictures contained in a preceding IRAP sub-picture in decoding order with nuh_layer_id equal to layerId and subpicture index equal to subpicIdx (if any).
[0364] IDR or GDR AU related
[0365] 22. IRAP AU is not required to be complete, GDR AU is not required to be complete, and it can be signaled that the AU is an IRAP or GDR AU in the AUD, the PH of the picture in the lowest layer specified by the VPS, or the SEI message for each IRAP or GDR AU.
[0366] 1) In one example, signaling of the indication is optional.
[0367] 2) In one example, the following changes are proposed to VVC (added or modified parts are highlighted in italics and bold, and deleted parts are marked with double brackets (e.g., [[a]] indicates deletion of the character "a")):
[0368] An AU where [[each layer in the CVS has a PU and]] the codec picture in each PU is a CLVSS picture.
[0369] An AU in which [[each layer in the CVS has a PU and]] the codec picture in each PU is an IRAP picture.
[0370] Change the AUD syntax and semantics as follows:
[0371]
[0372] The AU delimiter is used to indicate the start of an AU. and the type of slices present in the coded picture of the AU containing the AU delimiter NAL unit. There is no standard decoding process associated with the AU delimiter.
[0373] ...
[0374] Change the order of AUs and their association with CVS as follows:
[0375] A bitstream consists of one or more CVSs.
[0376] A CVS consists of one or more AUs. The order of PUs and their association with AUs is described in clause 7.4.2.4.3.
[0377] The first AU of CVS is the CVSS AU, where each existing PU is a CLVSS PU, which is either an IRAP PU with NoOutputBeforeRecoveryFlag equal to 1 or a GDR PU with NoOutputBeforeRecoveryFlag equal to 1.
[0378] [[Each CVSS AU shall be equipped with a PU for each layer present in the CVS. ]]
[0379] About allowed stripe types
[0380] 23. Whether the indication of allowed X (eg, X is Intra / Inter / B / P) slice types is signaled within a picture may depend on the layout of slices within a picture and / or whether the current picture is an IRAP and whether inter-layer dependencies are enabled or disabled.
[0381] 1) In one example, whether to signal an indication of the allowed slice types within a picture (e.g. ) may depend on whether the PPS indicates that only slices are applied to each picture and / or that picture partitioning and / or rectangular slices are not used and only one slice is used per picture and / or that the picture is partitioned into rectangular slices.
[0382] i. In one example, whether the signaling notification indication may depend on Conditional checks
[0383] ii. Alternatively, furthermore, if no indication is signaled, the inference of the indication may further depend on whether the PPS indicates that only slices are applied per picture and / or that picture partitioning and / or rectangular slices are not used and only one slice is used per picture.
[0384] a. In one example, ph_intra_slice_allowed_flag equal to 1 specifies that one or more codec slices with slice_type equal to 2 may or may not be present in the picture.
[0385] The value of ph_intra_slice_allowed_flag is inferred to be equal to
[0386] b. Alternatively, when not present, the value of ph_intra_slice_allowed_flag is inferred to be equal to [[1]]
[0387] 2) In one example, whether to signal an indication of the allowed slice types within a picture (e.g. ) may depend on one or more syntax elements signaled in a higher-level video unit (e.g., SPS).
[0388] i. Alternatively, furthermore, if there is no indication of allowed slice types, the inferred value of the indication of allowed slice types depends on those syntax elements signaled in the higher level video unit.
[0389] 3) In one example, whether to signal an indication of the allowed slice types within a picture (e.g. ) may depend on whether the current picture is an IRAP picture and all slices within the picture have inter-layer dependencies disabled.
[0390] i. Alternatively, furthermore, if the current picture is an IRAP picture and inter-layer dependencies are disabled for all slices within the picture, the inferred value of ph_inter_slice_allowed_flag is set to 0 / false.
[0391] 24. Whether to signal an indication of the allowed X (e.g., X is inter / B / P) slice types within a picture and / or the inferred value of the indication may depend on the number of reference pictures (e.g., num_ref_entries[0][RplsIdx[0]] and / or num_ref_entries[1][RplsIdx[1]).
[0392] 1) In one example, if num_ref_entries[0][RplsIdx[0]] and / or num_ref_entries[1][RplsIdx[1]] are both equal to 0, then an indication of allowed X (eg, X is inter / B / P) slice types is not signaled and / or is further inferred to be false.
[0393] 2) In one example, if num_ref_entries[0][RplsIdx[0]] and / or num_ref_entries[1][RplsIdx[1]] are both equal to 0, then a constraint is added that the indication of the allowed signaling of X (e.g., X is inter / B / P) slice types should be equal to 0.
[0394] 3) In one example, if num_ref_entries[1][RplsIdx[1]] is equal to 0, then an indication of an allowed X (eg, X is B) slice type is not signaled and / or is further inferred to be false.
[0395] 4) In one example, if num_ref_entries[1][RplsIdx[1]] is equal to 0, a constraint is added that the indication of allowed signaling of X (eg, X is B) slice types should be equal to 0.
[0396] 5) In one example, if num_ref_entries[1][RplsIdx[1]] is equal to 0, then add a constraint that and / or and / or and / or Should be equal to 1.
[0397] About ALF APS
[0398] 25. A constraint may be added to the ALF APS that at least one of the four syntax elements (alf_luma_filter_signal_flag, alf_chroma_filter_signal_flag, alf_cc_cb_filter_signal_flag, alf_cc_cr_filter_signal_flag in VVC) shall be equal to 1.
[0399] 1) Alternatively, a constraint may be added to the ALF APS that at least one of the two syntax elements (alf_luma_filter_signal_flag, alf_chroma_filter_signal_flag) should be equal to 1.
[0400] 26. Whether / how to signal the filter current flag and / or the indication of the filter coefficients may depend on the previous codec information with the alf_data() structure and / or syntax elements in the Adaptation Parameter Set (APS) RBSP syntax.
[0401] 1) Alternatively, furthermore, if no indication and / or filter coefficients are present, the inferred values may also depend on previously encoded solution information with the alf_data() structure.
[0402] 2) In one example, whether to signal alf_cc_cr_filter_signal_flag may depend on whether all three syntax elements (alf_luma_filter_signal_flag, alf_chroma_filter_signal_flag, alf_cc_cb_filter_signal_flag in VVC) are equal to 0.
[0403] i. Alternatively, furthermore, if all three are equal to 0, the signaling of alf_cc_cr_filter_signal_flag is skipped and / or further inferred to be true.
[0404] 3) In one example, whether to signal alf_chroma_filter_signal_flag may depend on whether alf_luma_filter_signal_flag is equal to 0 in the VVC.
[0405] i. Alternatively, furthermore, if alf_luma_filter_signal_flag is equal to 0, the signaling of alf_chroma_filter_signal_flag is skipped and / or further inferred to be true.
[0406] About Zoom List / LMCS APS
[0407] 27. It is proposed to allow the use of multiple X (e.g., X is an explicit scaling list and / or LMCS and / or other codec tools whose side information is signaled using APS) APSs within a picture / slice / slice / sub-picture / brick / other video unit that is smaller than a picture.
[0408] 1) Alternatively, furthermore, the number of X APSs to be used may be signaled in the bitstream (eg, in PH / SH).
[0409] 2) Alternatively, furthermore, the index of the X APS to be used may be signaled in the bitstream (eg, in the PH / SH).
[0410] 28. It is proposed to use X (eg, X is an explicit scaling list and / or LMCS and / or other codec tools whose side information is signaled using APS) APS may depend on the color component.
[0411] 1) In one example, different X APS may be selected for luma and chroma color components.
[0412] 2) In one example, the number of X APSs to be used for luma and chroma components may be signaled separately in the bitstream (eg, in PH / SH).
[0413] i. Alternatively, furthermore, whether the number of chroma components is signaled may depend on whether prediction / inheritance from APS is enabled for the luma component.
[0414] ii. Alternatively, furthermore, whether to signal the number of chrominance components may depend on whether the APS number of the luma component is not equal to 0 or greater than 0.
[0415] 3) In one example, the index of the X APS to be used for luma and chroma components may be signaled separately in the bitstream (eg, in PH / SH).
[0416] 29. How to signal X to be used (eg X is ALF / CC-ALF / explicit scaling list and / or LMCS and / or other codec tools whose side information is signaled with APS) APS may depend on the sub-picture.
[0417] 1) In one example, for each sub-picture, it can select its on / off control and the corresponding X APS to be used.
[0418] i. Alternatively, furthermore, for each sub-picture, the on / off control and / or X APS to be used may be signaled.
[0419] About sub-images
[0420] 30. How to infer the proposal The value of (in VVC) may depend on whether sub-picture information is present.
[0421] 1) In one example, the revision is as follows Semantics: equal to 1 Specifies that the i-th subpicture of each codec picture in the CLVS is to be treated as a picture in the decoding process that does not include loop filtering operations. subpic_treated_as_pic_flag[i] equal to 0 specifies that the i-th subpicture of each codec picture in the CLVS is not to be treated as a picture in the decoding process that does not include loop filtering operations. When not present, the value of subpic_treated_as_pic_flag[i] is inferred to be equal to [[sps_independent_subpics_flag]]
[0422] About Deblocking Filter
[0423] 31. It is proposed that for the following situations, Specifies to disable the deblocking filter operation for the slice, or equal to 0 Specifies that the operation of the deblocking filter is disabled for slices of the reference PPS.
[0424] 1) slice_deblocking_filter_disabled_flag and ph_deblocking_filter_disabled_flag do not exist;
[0425] 2) deblocking_filter_override_enabled_flag equals 0;
[0426] 3) deblocking_filter_override_enabled_flag is equal to 1, dbf_info_in_ph_flag is equal to 1, ph_deblocking_filter_disabled_flag is equal to 1;
[0427] 4)deblocking_filter_override_enabled_flag is equal to 1, dbf_info_in_ph_flag is equal to 0, and slice_deblocking_filter_disabled_flag is equal to 1.
[0428] 32. It is proposed that for the following situations, Specifies the operation of applying the deblocking filter to the slice of the reference PPS, or equal to 0 Specifies that the operation of the deblocking filter is enabled for the slices of the reference PPS.
[0429] 1) slice_deblocking_filter_disabled_flag and ph_deblocking_filter_disabled_flag do not exist;
[0430] 2) deblocking_filter_override_enabled_flag equals 0;
[0431] 3) deblocking_filter_override_enabled_flag is equal to 1, dbf_info_in_ph_flag is equal to 1, ph_deblocking_filter_disabled_flag is equal to 0;
[0432] 4)deblocking_filter_override_enabled_flag is equal to 1, dbf_info_in_ph_flag is equal to 0, and slice_deblocking_filter_disabled_flag is equal to 1.
[0433] About JCCR
[0434] 33. It is proposed that the QP offset for JCCR (Joint Chroma Residual Codec) can be signaled in video units (larger than slices) instead of only in slice level (ie, slice_joint_cbcr_qp_offset in VVC).
[0435] 1) In one example, it can be signaled at the sequence / picture level (e.g., in SPS / VPS / DCI / PPS / PH).
[0436] 2) In one example, it can be signaled in multiple levels (eg, at picture and slice levels).
[0437] i. Alternatively, furthermore, whether to signal in the second level may depend on whether to signal in the first level.
[0438] a. In one example, it can only be signaled in one of the multiple levels.
[0439] b. In one example, it may be signaled in the bitstream which level is used to signal an indication of the QP offset.
[0440] ii. Alternatively, in addition, an override mechanism is applied, i.e. it is signaled at the first level (higher level), and an override flag may be further signaled to indicate whether to signal at the second level (lower level, e.g. slice level) to override the signaled value in the first level (e.g. in picture level).
[0441] a. In one example, the override flag may be signaled in the first level and / or the second level.
[0442] About LMCS and zoom list signaling control
[0443] 34. It is proposed that UE(V) codec can be performed on ph_lmcs_mode_idc in JVET-R0063, and the value of ph_lmcs_mode_idc can be specified to be in the range of 0 to 2 (inclusive). The semantics of the case where ph_lmcs_mode_idc is equal to 0, 1 or 2 is the same as in JVET-R0063.
[0444] 1) Alternatively, ph_lmcs_mode_idc in JVET-R0063 may be ue(v) coded, and if it is known that the picture contains only one slice, the value of ph_lmcs_mode_idc may be specified to be in the range of 0 to 1 (inclusive), otherwise, it is specified to be in the range of 0 to 2 (inclusive). The semantics of the case where ph_lmcs_mode_idc is equal to 0, 1, or 2 is the same as in JVET-R0063.
[0445] 2) Alternatively, if it is known that the picture contains only one slice, the ph_lmcs_mode_idc in JVET-R0063 can be coded and decoded using u(1), that is, only one bit is used as a flag so that the value is equal to 0 or 1; otherwise, the ph_lmcs_mode_idc in JVET-R0063 can be ue(v) coded and the value of ph_lmcs_mode_idc can be specified in the range of 0 to 2 (inclusive). The semantics of the case where ph_lmcs_mode_idc is equal to 0, 1 or 2 is the same as in JVET-R0063.
[0446] 35. It is proposed that UE(V) codec can be used for ph_explicit_scaling_list_mode_idc in JVET-R0064, and the value of ph_explicit_scaling_list_mode_idc can be specified in the range of 0 to 2 (inclusive). The semantics of the case where ph_explicit_scaling_list_mode_idc is equal to 0, 1 or 2 is the same as in JVET-R0064.
[0447] 1) Alternatively, ph_explicit_scaling_list_mode_idc in JVET-R0064 may be ue(v) coded, and the value of ph_explicit_scaling_list_mode_idc may be specified in the range of 0 to 1 (inclusive) if it is known that the picture contains only one slice, otherwise in the range of 0 to 2 (inclusive). The semantics of the case where ph_explicit_scaling_list_mode_idc is equal to 0, 1, or 2 is the same as in JVET-R0064.
[0448] 2) Alternatively, if it is known that the picture contains only one slice, the ph_explicit_scaling_list_mode_idc in JVET-R0064 can be coded and decoded using u(1), that is, only one bit is used as a flag so that the value is equal to 0 or 1; otherwise, the ph_explicit_scaling_list_mode_idc in JVET-R0064 can be ue(v) coded and the value of ph_explicit_scaling_list_mode_idc can be specified in the range of 0 to 2 (inclusive). The semantics of the case where ph_explicit_scaling_list_mode_idc is equal to 0, 1 or 2 is the same as in JVET-R0064.
[0449] 6. Examples
[0450] 6.1. Example #1
[0451] 7.3.2.3 Sequence parameter set RBSP syntax
[0452]
[0453]
[0454] …
[0455]
[0456] Equal to 1 Specifies that explicit weighted prediction may be applied to B slices referencing an SPS. sps_weighted_bipred_flag equal to 0 specifies that explicit weighted prediction is not applied to B slices referencing an SPS.
[0457] Equal to 0 Specifies disabling of bidirectional optical flow inter prediction. sps_bdof_enabled_flag equal to 1 specifies enabling of bidirectional optical flow inter prediction.
[0458] Equal to 1 Specifies that symmetric motion vector differences may be used in motion vector decoding. sps_smvd_enabled_flag equal to 0 specifies that symmetric motion vector differences may not be used in motion vector encoding and decoding.
[0459] Equal to 1 Specifies enabling of inter bi-prediction based on decoder motion vector refinement. sps_dmvr_enabled_flag equal to 0 specifies disabling of inter bi-prediction based on decoder motion vector refinement.
[0460] Specifies whether bi-prediction with CU weights can be used for inter prediction. If sps_bcw_enabled_flag is equal to 0, the syntax should be constrained so that bi-prediction with CU weights is not used in CLVS and bcw_idx is not present in the codec unit syntax of CLVS. Otherwise (sps_bcw_enabled_flag is equal to 1), bi-prediction with CU weights can be used in CLVS. ...
[0461] 7.3.2.7 Picture header structure syntax
[0462]
[0463] ...
[0464] Equal to 0 Specifies that all codec slices of a picture have slice_type equal to 0 or 1. ph_intra_slice_allowed_flag equal to 1 specifies that one or more codec slices with slice_type equal to 2 may or may not be present in the picture. When not present, the value of ph_intra_slice_allowed_flag is inferred to be equal to
[0465] Alternatively, when not present, the value of ph_intra_slice_allowed_flag is inferred to be equal to
[0466]
[0467] ...
[0468] Equal to 1 Specifies that the collocated picture used for temporal motion vector prediction is derived from reference picture list 0. ph_collocated_from_10 equal to 0 specifies that the collocated picture used for temporal motion vector prediction is derived from reference picture list 1. Specifies the reference index of the co-located picture used for temporal motion vector prediction.
[0469] When ph_collocated_from_l0_flag is equal to 1, ph_collocated_ref_idx refers to the entry in reference picture list 0, and the value of ph_collocated_ref_idx shall be in the range of 0 to num_ref_entries[0][RplsIdx[0]]-1, inclusive.
[0470] When ph_collocated_from_l0_flag is equal to 0, ph_collocated_ref_idx refers to the entry in reference picture list 1, and the value of ph_collocated_ref_idx shall be in the range of 0 to num_ref_entries[1][RplsIdx[1]]-1 (inclusive).
[0471] When not present, the value of ph_collocated_ref_idx is inferred to be equal to 0. ...
[0472] Equal to 1 Indicates that the mvd_coding(x0, y0, 1) syntax structure is not parsed and for compIdx=0..1 and cpIdx=0..2, MvdL1[x0][y0][compIdx] and MvdCpL1[x0][y0][cpIdx][compIdx] are set equal to 0. mvd_l1_zero_flag equal to 0 indicates that the mvd_coding(x0, y0, 1) syntax structure is parsed.
[0473] ...
[0474] A preferred exemplary list of some embodiments is provided below.
[0475] The first set of clauses illustrates example embodiments of the techniques discussed in the previous section.The following clauses illustrate example embodiments of the techniques discussed in the previous section (eg, Item 1).
[0476] 1. A video processing method (eg, Figure 3 ), comprising performing (3002) a conversion between a video comprising one or more layers and a codec representation of the video according to a format rule, the one or more layers comprising one or more video regions, wherein the format rule specifies including one or more syntax elements in the codec representation of one or more video region levels corresponding to allowed slice types for the corresponding video regions.
[0477] 2. A method according to clause 1, wherein the format rule specifies that the one or more syntax elements include a first syntax element whose value indicates the allowed slice type combinations in the corresponding video region.
[0478] The following items illustrate example embodiments of the techniques discussed in the previous section (eg, item 2).
[0479] 3. A method according to any of clauses 1-2, wherein the format rule provides for including a syntax element in a picture header or a slice header to indicate whether bi-directionally predicted (B) slices are allowed or used for the corresponding picture or slice.
[0480] 4. A method as described in clause 3, wherein the syntax elements in the sequence parameter set control the presence of syntax elements included in a picture header or a slice header.
[0481] The following items illustrate example embodiments of the techniques discussed in the previous section (eg, item 3).
[0482] 5. A video processing method, comprising: performing conversion between a video including one or more layers and a codec representation of the video according to a format rule, the one or more layers including one or more video pictures, the one or more video pictures including one or more video slices, wherein the format rule stipulates that according to a second rule, a syntax element related to enabling or using a codec mode at a slice level is included at most once between a picture header or a slice header.
[0483] 6. The method of clause 5, wherein the codec mode comprises a loop filter, a weighted prediction mode or a quantization parameter increment mode.
[0484] The following items illustrate example embodiments of the techniques discussed in the previous section (eg, item 7).
[0485] 7. A video processing method, comprising: performing conversion between a video including one or more video pictures and a codec representation of the video according to a format rule, the one or more video pictures including one or more video slices, wherein the format rule specifies that the allowed slice types in the video picture control whether a reference picture list is signaled in the codec representation or generated from the codec representation.
[0486] 8. A method as described in clause 7, wherein the format rule specifies that syntax elements corresponding to reference picture list 1 are omitted from the codec representation due to the exclusion of allowed slice types of bidirectional slices (B-slices).
[0487] 9. A method according to clause 7, wherein the format rule specifies that the process of generating reference picture list 1 is disabled for the video picture due to the exclusion of allowed slice types of bidirectional slices (B-slices).
[0488] The following items illustrate example embodiments of the techniques discussed in the previous section (eg, items 10-15).
[0489] 10. A video processing method, comprising: performing conversion between a video including one or more video pictures and a codec representation of the video, the one or more video pictures including one or more sub-pictures, wherein the codec representation complies with format rules, wherein the format rules specify processing of non-codec sub-pictures of the video pictures.
[0490] 11. A method according to clause 10, wherein the format rules specify that boundaries of non-codec sub-pictures are treated as picture boundaries during conversion.
[0491] 12. The method of clause 10, wherein the format rules specify disabling loop filtering across boundaries of non-codec pictures.
[0492] 13. A method as described in clause 10, wherein the format rules do not allow the non-codec sub-picture to be the only sub-picture of the video picture.
[0493] 14. A method according to any of clauses 10-13, wherein the format rule specifies that information for decoding assistance for non-codec sub-pictures is included in a supplemental enhancement information syntax element of the codec representation.
[0494] 15. A method according to clause 10, wherein the format rules specify that a non-codec sub-picture is allowed to have at most one slice.
[0495] The following items illustrate example embodiments of the techniques discussed in the previous section (eg, items 20-22).
[0496] 16. A video processing method, comprising: performing conversion between a video including one or more video pictures and a codec representation of the video, the one or more video pictures including one or more sub-pictures; wherein the one or more video pictures and / or one or more sub-pictures are inserted into the codec representation according to a sequence rule, wherein the sequence rule specifies the relationship between the position of a current instantaneous decoder refresh picture (IDR) or a current IDR sub-picture in the codec representation.
[0497] 17. A method according to clause 16, wherein the order rule provides that the codec representation does not include any picture referenced by an entry in the reference picture list of the current IDR picture that precedes the preceding intra random access point picture in the order.
[0498] 18. A method according to clauses 16-17, wherein the order rule provides that the codec representation does not include any picture referenced by an entry in the reference picture list of the current IDR picture, which picture is located before the previous intra-frame random access point picture in the order and has a sub-picture with the same layer id and sub-picture index as the current IDR sub-picture.
[0499] The following items illustrate example embodiments of the techniques discussed in the previous section (eg, items 23-24).
[0500] 19. A video processing method, comprising: performing conversion between a video including one or more video pictures and a codec representation of the video, the one or more video pictures including one or more sub-pictures and / or one or more slices, wherein the codec representation complies with a format rule, wherein the format rule specifies selectively including an indication of whether a slice type is allowed in a picture in the codec representation based on a picture condition of the picture.
[0501] 20. The method of clause 19, wherein the picture condition comprises a layout of stripes in the picture.
[0502] 21. A method according to clauses 19-20, wherein the picture condition comprises whether the picture is an intra random access point picture and whether inter layer dependencies are allowed for conversion.
[0503] 22. A method according to any of clauses 19-21, wherein the picture condition comprises a number of reference pictures used for encoding and decoding the picture.
[0504] 23. The method of any of clauses 19-22, wherein the slice type comprises an intra-coded slice, an inter-coded slice, a B-slice, or a P-slice.
[0505] The following items illustrate example embodiments of the techniques discussed in the previous section (eg, item 25).
[0506] 24. A video processing method, comprising: performing conversion between a video including one or more video pictures and a codec representation of the video, the one or more video pictures including one or more sub-pictures and / or one or more slices, wherein the codec representation complies with a format rule, wherein the format rule stipulates that in the case of signaling an adaptive loop filter in an adaptive parameter set in the codec representation, one of at least four syntax elements is set to 1.
[0507] 25. A method according to clause 24, wherein the at least four syntax elements include a luma filter signal flag, a chroma filter signal flag, a cc and cb filter signal flags, and a cc and cr signal flags.
[0508] The following items illustrate example embodiments of the techniques discussed in the previous section (eg, item 33).
[0509] 26. A video processing method, comprising: performing conversion between a video including one or more video units and a codec representation of the video, the one or more video units including one or more slices, wherein the codec representation conforms to a format rule, wherein the format rule specifies a quantization parameter offset value for a joint chroma residual codec for one or more slices at the video unit level in the codec representation.
[0510] 27. The method of clause 26, wherein the video unit corresponds to a video picture, a video sequence, a sequence parameter set, a video parameter set, a picture header, a picture parameter set, or a decoding capability information syntax structure.
[0511] 28. A method according to the preceding clause, wherein the video area comprises a video picture or a video strip.
[0512] 29. A method as described in any of clauses 1 to 28, wherein converting includes encoding the video into a codec representation.
[0513] 30. A method as described in any of clauses 1 to 28, wherein converting comprises decoding the codec representation to generate pixel values of the video.
[0514] 31. A video decoding apparatus comprising a processor configured to implement the method of one or more of clauses 1 to 30.
[0515] 32. A video encoding apparatus comprising a processor configured to implement the method of one or more of clauses 1 to 30.
[0516] 33. A computer program product having computer code stored thereon which, when executed by a processor, causes the processor to implement the method of any one of clauses 1 to 30.
[0517] 34. The methods, apparatus, or systems described in this document.
[0518] The second set of items illustrates example embodiments of the techniques discussed in the previous section (eg, items 20-35).
[0519] 1. A video processing method (e.g., Fig. 7A , comprising:
[0520] Perform 702 conversion between a video including one or more pictures and a bitstream of the video, the one or more pictures including one or more sub-pictures, and wherein the one or more pictures and / or the one or more sub-pictures are included in the bitstream according to an order rule, and wherein the order rule specifies a relationship between a position of a current instantaneous decoder refresh (IDR) picture or a current IDR sub-picture in the bitstream relative to another picture referenced by an entry in a reference picture list of a current slice of the current IDR picture or the current IDR sub-picture.
[0521] 2. A method according to clause 1, wherein the order rule provides that, in response to a condition being met, the bitstream does not include any picture referenced by an entry in a reference picture list of the current slice, the picture preceding an intra random access point (IRAP) picture in output order or decoding order, and the IRAP picture preceding the current IDR picture in decoding order.
[0522] 3. A method as described in clause 2, wherein the condition includes the presence of a flag indicating that a reference picture list (RPL) syntax element is allowed to be present in a slice header of a slice with a network abstraction layer (NAL) unit type equal to IDR_N_LP or IDR_W_RADL.
[0523] 4. A method as described in clause 2, wherein the condition includes the presence of a flag indicating that a reference picture list (RPL) syntax element is not present in a slice header of a slice having a network abstraction layer (NAL) unit type equal to IDR_N_LP or IDR_W_RADL.
[0524] 5. A method according to any of clauses 2 to 4, wherein the current IDR picture and the IRAP picture have a network abstraction layer (NAL) unit header layer identifier equal to a specific value.
[0525] 6. A method according to clause 1, wherein the order rule specifies that the bitstream does not include any picture referenced by the second entry in the second reference picture list of the second slice of the clean random access picture, the picture being located before the second intra-frame random access point IRAP picture in the output order or decoding order, and the second IRAP picture being located before the clean random access picture in the decoding order.
[0526] 7. A method according to clause 1, wherein the order rule provides that, in response to the condition being met, the bitstream does not include any picture referenced by an entry in the reference picture list of the current slice, the picture being located in output order or decoding order before any picture that contains an intra random access point (IRAP) sub-picture and that is located in decoding order before the picture that contains the current IDR sub-picture.
[0527] 8. A method as described in clause 7, wherein the condition includes the presence of a flag indicating that a reference picture list (RPL) syntax element is allowed to be present in a slice header of a slice with a network abstraction layer (NAL) unit type equal to IDR_N_LP or IDR_W_RADL.
[0528] 9. A method as described in clause 7, wherein the condition includes the presence of a flag indicating that the reference picture list (RPL) syntax element is not present in the slice header of a slice with a network abstraction layer (NAL) unit type equal to IDR_N_LP or IDR_W_RADL.
[0529] 10. A method according to any of clauses 7 to 9, wherein the IRAP sub-picture and the current IDR sub-picture have a network abstraction layer NAL unit header layer identifier equal to a specific identification value and a sub-picture index equal to a specific index value.
[0530] 11. A method according to clause 1, wherein the order rule provides that the bitstream does not include any picture referenced by the third entry in the reference picture list of the third slice of the clean random access picture sub-picture, which is located in output order or decoding order before any picture containing the third intra-frame random access point IRAP sub-picture and in decoding order before the picture containing the clean random access picture sub-picture.
[0531] 12. A video processing method (e.g., Figure 7B , comprising:
[0532] performing 712 conversion between a video including one or more pictures and a bitstream of the video according to the format rules, the picture including one or more sub-pictures and / or one or more slices, and
[0533] Therein, the format rules allow for including an indication of an access unit, the indication indicating whether the access unit is an intra random access point (IRAP) access unit or a gradual decoding refresh (GDR) access unit for each access unit in the video.
[0534] 13. A method according to clause 12, wherein an IRAP access unit need not be complete and comprises at least one IRAP picture.
[0535] 14. A method according to clause 12, wherein a GDR access unit need not be complete and comprises at least one GDR picture.
[0536] 15. A method according to clause 12, wherein the format rule specifies that an indication in a picture header of a picture in the lowest layer specified by the video parameter set is included in the access unit delimiter.
[0537] 16. A video processing method (e.g., Figure 7C , comprising:
[0538] performing 722 conversion between a video including one or more pictures and a bitstream of the video according to the format rules, the picture including one or more sub-pictures and / or one or more slices, and
[0539] Among them, the format rule stipulates that whether an indication of a slice type is allowed in a picture is selectively included in the bitstream based on a picture condition of the picture.
[0540] 17. The method of clause 16, wherein the slice type comprises an intra-coded slice, an inter-coded slice, a B-slice, or a P-slice.
[0541] 18. A method according to clause 16 or 17, wherein the picture condition comprises the layout of strips in the picture.
[0542] 19. A method according to any of clauses 16 to 18, wherein the picture condition comprises whether the picture is an intra random access point (IRAP) picture and whether inter layer dependencies are allowed for conversion.
[0543] 20. A method according to any of clauses 16 to 19, wherein the picture condition comprises: i) whether the picture parameter set indicates that only slices are applied to each picture, and / or ii) picture partitioning is not used, and / or iii) rectangular slices are used and only one slice is used per picture, and / or iv) the picture is partitioned into rectangular slices.
[0544] 21. A method according to any of clauses 16 to 19, wherein the picture condition comprises signalling one or more syntax elements in a higher level video unit.
[0545] 22. A method according to clause 16 or 17, wherein the picture condition comprises a number of reference pictures used for encoding and decoding the picture.
[0546] 23. A method according to clause 22, wherein the number of reference pictures is based on a first field indicating the number of entries in a first reference picture list syntax structure and / or a second field indicating the number of entries in a second reference picture list syntax structure.
[0547] 24. A video processing method (e.g., Fig.7D 730), comprising:
[0548] performing 732 conversion between a video including one or more pictures and a bitstream of the video, the picture including one or more sub-pictures and / or one or more slices, and
[0549] The format rule stipulates that one of at least two or four syntax elements is set to a specific value of an adaptive loop filter ALF adaptation parameter set.
[0550] 25. A method according to clause 24, wherein the at least four syntax elements include a luma filter signal flag that specifies whether a luma filter set is signaled, a chroma filter signal flag that specifies whether a chroma filter is signaled, cc and cb filter signal flags that specify whether a cross component filter of a Cb color component is signaled, and cc and cr filter signal flags that specify whether a cross component filter of a Cr color component is signaled.
[0551] 26. A video processing method (e.g., Fig. 7E 740), comprising:
[0552] performing 742 conversion between a video including one or more pictures and a bitstream of the video according to the format rules, and
[0553] Among them, the format rules specify whether and / or how to signal the filter presence flag and / or the indication of the filter coefficient depends on the previously coded information, and the previously coded information has the syntax elements and / or the adaptive loop filter data structure in the adaptive parameter set raw byte sequence payload RBSP syntax.
[0554] 27. A method according to clause 26, wherein the format rules further provide that, in the absence of an indication, the value of the indication is derived based on information previously encoded with the adaptive loop filtering data structure.
[0555] 28. A method according to clause 26, wherein the format rule further specifies whether to signal cc and cr filter signal flags, the cc and cr filter signal flags specifying whether to signal the cross component filter of the Cr color component depends on whether all three syntax elements are equal to certain values, the three syntax elements including a luminance filter signal flag specifying whether to signal the luminance filter set, a chroma filter signal flag specifying whether to signal the chroma filter, and cc and cb filter signal flags specifying whether to signal the cross component filter of the Cb color component.
[0556] 29. A method according to clause 26, wherein the format rule further specifies whether a chroma filter signal flag specifying whether a chroma filter is signaled is dependent on the value of a luma filter signal flag specifying whether a luma filter set is signaled.
[0557] 30. A video processing method (e.g., Figure 7F 750), comprising:
[0558] performing 752 conversion between a video including one or more pictures and a bitstream of the video according to the format rules, and
[0559] Among other things, the format rules allow for, for a video region smaller than a picture, reference to multiple adaptive parameter sets APSs corresponding to codec tools whose side information is included in the APS.
[0560] 31. The method of clause 30, wherein the plurality of APSs comprises a scaled APS, a luma-mapped LMCS APS with chroma scaling, and / or an APS corresponding to other codec tools.
[0561] 32. A method according to clause 30, wherein the format rule specifies that the bitstream comprises a number of the plurality of APSs to be referenced.
[0562] 33. A method according to clause 30, wherein the format rule specifies that the bitstream comprises indices of a plurality of APSs to be referenced.
[0563] 34. The method of clause 30, wherein the format rules further specify that the number of APSs to be used for conversion depends on the color components of the video.
[0564] 35. A method according to clause 34, wherein the format rules further specify the use of different APSs for luma and chroma components of the video.
[0565] 36. A method according to clause 34, wherein the format rule further provides for signalling in the bitstream the number and / or index of a plurality of APSs to be used for luma components and chroma components, respectively.
[0566] 37. A method according to clause 30, wherein the format rule further specifies how to signal the number of APSs to be used depending on a sub-picture of the picture.
[0567] 38. A method according to clause 30, wherein the format rule further specifies the selection or signalling of an on / off control and / or a number of APSs to be used for each sub-picture.
[0568] 39. A video processing method (e.g., Figure 7G 760), comprising:
[0569] performing 762 conversion between a video including one or more pictures and a bitstream of the video according to the format rules, the picture including one or more sub-pictures, and
[0570] The format rule specifies how to derive the value of a first variable indicating whether a sub-picture of a coded picture is regarded as a picture not including a loop filtering operation during decoding, depending on a second variable indicating that sub-picture information exists in a bitstream.
[0571] 40. A method according to clause 39, wherein the format rule provides that in the absence of the first variable, the value of the first variable is derived to be equal to the value of the second variable.
[0572] 41. A video processing method (e.g., Figure 7H 770), comprising:
[0573] performing 772 conversion between a video including one or more pictures and a bitstream of the video according to the format rules, the picture including one or more sub-pictures, and
[0574] The format rule provides that, in response to one or more conditions being met, a variable indicating applicability of a deblocking filter to a picture of a reference picture parameter set has a first value or a second value, the first value being used to indicate that the deblocking filter is applied to a slice of the reference picture parameter set, and the second value being used to indicate that the deblocking filter is disabled for the slice of the reference picture parameter set.
[0575] 42. The method of clause 41, wherein the first value is 1 and the second value is 0.
[0576] 43. A method according to clause 42, wherein the one or more conditions include: 1) there is no deblocking filter disable flag in the slice level and the picture header level indicating the disablement of the deblocking filter, 2) the deblocking filter override enable flag indicates that the deblocking behavior of the picture of the reference picture parameter set is not overridden, 3) the deblocking filter override enable flag indicates that the deblocking behavior of the picture of the reference picture parameter set is allowed to be overridden, the deblocking filter presence flag indicates that the deblocking filter information is present in the picture header syntax structure, and the deblocking filter disable flag in the picture header level indicates that the deblocking filter is disabled for the picture, or 4) the deblocking filter override enable flag indicates that the deblocking behavior of the picture of the reference picture parameter set is allowed to be overridden, the deblocking filter presence flag indicates that the deblocking filter information is present in the picture header syntax structure, and the deblocking filter disable flag in the slice level indicates that the deblocking filter is disabled for the picture.
[0577] 44. The method of clause 41, wherein the first value is 0 and the second value is 0.
[0578] 45. A method according to clause 44, wherein the one or more conditions include: 1) there is no deblocking filter disable flag in the slice level and the picture header level indicating the disablement of the deblocking filter, 2) the deblocking filter override enable flag indicates that the deblocking behavior of the picture of the reference picture parameter set is not overridden, 3) the deblocking filter override enable flag indicates that the deblocking behavior of the picture of the reference picture parameter set is allowed to be overridden, the deblocking filter presence flag indicates that the deblocking filter information is present in the picture header syntax structure, and the deblocking filter disable flag in the picture header level indicates that the deblocking filter is enabled for the current picture, or 4) the deblocking filter override enable flag indicates that the deblocking behavior for the picture of the reference picture parameter set is allowed to be overridden, the deblocking filter presence flag indicates that the deblocking filter information is not present in the picture header syntax structure, and the deblocking filter disable flag in the slice level indicates that the deblocking filter is enabled for the picture.
[0579] 46. A video processing method (e.g., Fig.7I 780), comprising:
[0580] performing 782 conversion between a video including one or more video units and a bitstream of the video according to the format rules, the video unit including one or more slices, and
[0581] The format rule specifies that the quantization parameter offset value for joint chroma residual coding and decoding is included in one or more video unit levels greater than the slice level.
[0582] 47. A method according to clause 46, wherein the one or more video units correspond to a video picture, a video sequence, a sequence parameter set, a video parameter set, a picture header, a picture parameter set or a decoding capability information syntax structure.
[0583] 48. A method according to clause 46, wherein the one or more video unit levels include a first level and a second level, and wherein the format rule further specifies whether the quantization parameter offset value is signaled in the second level depends on whether the quantization parameter offset value is signaled in the first level.
[0584] 49. A method according to clause 46, wherein the one or more video unit levels include a first level and a second level lower than the first level, and wherein the format rule further provides for signaling a quantization parameter offset value in the first level and a signaling override flag to indicate whether the quantization parameter offset value is signaled in the second level to override the signaled value in the first level.
[0585] 50. A video processing method (e.g., Figure 7J 790), comprising:
[0586] performing 792 conversion between a video including one or more pictures and a bitstream of the video according to the format rules, and
[0587] The format rules specify: (i) a fixed or variable length of one or more bits used to encode and decode a variable indicating a luma mapping with chroma scaling LMCS mode identifier in a picture header level, and (ii) a range of values for the variable.
[0588] 51. A method according to clause 50, wherein the format rule specifies that the variable is encoded and decoded using ue(v), and the value of the variable ranges between 0 and 2, inclusive.
[0589] 52. A method according to clause 50, wherein the format rule specifies that the variable is encoded and decoded using ue(v), and the value of the variable ranges from 0 to 1, inclusive, when the picture contains only one slice, and otherwise ranges from 0 to 2, inclusive.
[0590] 53. A method according to clause 50, wherein the format rule stipulates that when the picture contains only one slice, the variable is encoded or decoded using u(1) so that the value of the variable is 0 or 1, otherwise the variable is encoded or decoded using ue(v) so that the value of the variable ranges between 0 and 2, including 0 and 2.
[0591] 54. A video processing method (e.g., Figure 7K 800), comprising:
[0592] performing conversion between a video including one or more pictures and a bitstream of the video according to the format rules, and
[0593] Among them, the format rules specify: (i) a fixed or variable length of one or more bits used to encode and decode a variable indicating a scaling list mode flag in a picture header level, and (ii) a range of values for the variable.
[0594] 55. A method according to clause 54, wherein the format rule specifies that the variable is encoded and decoded using ue(v), and the value of the variable ranges between 0 and 2, inclusive.
[0595] 56. A method according to clause 54, wherein the format rule specifies that the variable is encoded and decoded using ue(v), and the value of the variable ranges from 0 to 1, inclusive, when the picture contains only one slice, and otherwise ranges from 0 to 2, inclusive.
[0596] 57. A method according to clause 54, wherein the format rule specifies that when the picture contains only one slice, the variable is encoded or decoded using u(1) so that the value of the variable is 0 or 1, otherwise the variable is encoded or decoded using ue(v) so that the value of the variable ranges between 0 and 2, including 0 and 2.
[0597] 58. A method according to any one of clauses 1 to 57, wherein converting comprises encoding the video into a bitstream.
[0598] 59. A method according to any of clauses 1 to 57, wherein converting comprises decoding the video from a bitstream.
[0599] 60. A method according to any one of clauses 1 to 57, wherein converting comprises generating a bitstream from the video, and the method further comprises storing the bitstream in a non-transitory computer-readable recording medium.
[0600] 61. A video processing apparatus comprising a processor configured to implement the method of any one or more of clauses 1 to 60.
[0601] 62. A method of storing a bitstream of a video, comprising the method of any one of clauses 1 to 60, and further comprising storing the bitstream to a non-transitory computer-readable recording medium.
[0602] 63. A computer readable medium storing program code which, when executed, causes a processor to implement the method of any one or more of clauses 1 to 60.
[0603] 64. A computer-readable medium storing a bitstream generated according to any one of the above methods.
[0604] 65. A video processing device storing a bitstream representation, wherein the video processing device is configured to implement the method of any one or more of clauses 1 to 60.
[0605] In this document, the term "video processing" may refer to video encoding, video decoding, video compression, or video decompression. For example, a video compression algorithm may be applied during conversion from a pixel representation of a video to a corresponding bitstream representation, or vice versa. For example, a bitstream representation of a current video block may correspond to bits that are co-located or distributed at different locations within the bitstream, as defined by the syntax. For example, a macroblock may be encoded based on transformed and coded error residual values, or may be encoded using bits in a header and other fields in the bitstream. In addition, during the conversion process, the decoder may parse the bitstream and know that some fields may or may not be present based on the determination as described in the above solution. Similarly, the encoder may determine whether to include certain syntax fields and generate the codec representation accordingly by including the syntax fields or excluding the syntax fields from the codec representation.
[0606] The disclosed and other solutions, examples, embodiments, modules and functional operations described in this document may be implemented in digital electronic circuits, or in computer software, firmware or hardware, including the structures disclosed in this document and their structural equivalents, or in a combination of one or more thereof. The disclosed 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 by a data processing device or for controlling the operation of the 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 a combination of one or more thereof. The term "data processing device" includes all devices, equipment and machines for processing data, including, for example, a programmable processor, a computer or a multiprocessor or a computer. In addition to hardware, the device may also include code that creates an execution environment for the computer program, for example, code that constitutes 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, such as a machine-generated electrical, optical or electromagnetic signal, which is generated to encode information for transmission to a suitable receiver device.
[0607] A computer program (also referred to as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, and can be deployed in any form, including as a stand-alone program or as 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 stores 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 run on a single computer or on multiple computers located at a site or distributed across multiple sites and interconnected by a communication network.
[0608] The processes and logic flows described in this document can be performed by one or more programmable processors that run one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by special purpose logic circuits, and the apparatus can also be implemented as special purpose logic circuits, such as FPGAs (field programmable gate arrays) or ASICs (application specific integrated circuits).
[0609] For example, processors suitable for executing computer programs include general-purpose microprocessors and special-purpose microprocessors, as well as 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 operably 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-temporary 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.
[0610] Although this patent document contains many details, these details should not be interpreted as limitations on the scope of any subject matter or claims, but should be interpreted as descriptions of features unique to specific embodiments of specific technologies. Certain features described in this patent document in the context of separate embodiments 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 individually or in any suitable sub-combination in multiple embodiments. In addition, although features may be described as working in a particular combination, or even initially claimed to be so, in some cases, one or more features from the claimed combination may be deleted from the claimed combination, and the claimed combination may be directed to a sub-combination or a variant of the sub-combination.
[0611] Similarly, although 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 illustrated operations be performed, in order to achieve the desired results. Furthermore, 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.
[0612] 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 pictures and a bitstream of said video, wherein the one or more pictures are included in the bitstream according to a first order rule, and wherein the first order rule provides that, in response to satisfying the first condition, the bitstream does not include any picture referenced by an entry in a reference picture list for a current slice of a current instantaneous decoding refresh (IDR) picture and preceding an intra random access point (IRAP) picture in an output order or a decoding order, wherein the IRAP picture precedes the current IDR picture in a decoding order; The first condition includes: an existence flag in a sequence parameter set level associated with an IDR reference picture list syntax element is equal to a predefined value; The current IDR picture includes one or more IDR sub-pictures, wherein the bitstream complies with a second order rule, wherein the second order rule stipulates that in response to satisfying a second condition, the bitstream does not include any picture that is referenced by an entry in a reference picture list of a current slice of the current IDR sub-picture and is located before a picture containing an IRAP sub-picture in output order or decoding order and is located before a picture containing the current IDR sub-picture in decoding order.
2. The method according to claim 1, wherein: The predefined value is 1.
3. The method according to claim 1, wherein: The first condition includes: the presence of a flag indicating that a reference picture list (RPL) syntax element is allowed to be present in a slice header of a slice whose network abstraction layer (NAL) unit type is equal to IDR_N_LP or IDR_W_RADL.
4. The method according to claim 1, wherein: The current IDR picture and the IRAP picture have a network abstraction layer NAL unit header layer identifier equal to a specific value.
5. The method according to claim 1, wherein: The first order rule specifies that the bitstream does not include any picture referenced by the second entry in the second reference picture list for the second slice of the clean random access picture, which is located before the second intra-frame random access point IRAP picture in the output order or the decoding order, and the second IRAP picture is located before the clean random access picture in the decoding order.
6. The method according to claim 1, wherein: The second condition includes: a presence flag in a sequence parameter set level associated with an IDR reference picture list syntax element is equal to a predefined value.
7. The method according to claim 6, wherein: The predefined value is 1.
8. The method according to claim 1, wherein: The second condition includes: a presence flag indicating that a reference picture list (RPL) syntax element is allowed to be present in a slice header of a slice whose network abstraction layer (NAL) unit type is equal to IDR_N_LP or IDR_W_RADL.
9. The method according to claim 1, wherein: The IRAP sub-picture and the current IDR sub-picture have a network abstraction layer NAL unit header layer identifier equal to a specific identification value and a sub-picture index equal to a specific index value.
10. The method according to claim 1, wherein: The second order rule specifies that the bitstream does not include any picture referenced by the third entry in the third reference picture list for the third slice of the clean random access sub-picture, which is located in output order or decoding order before the picture containing the third IRAP sub-picture and in decoding order before the picture containing the clean random access sub-picture.
11. The method according to any one of claims 1 to 10, wherein: The converting includes encoding the video into the bitstream.
12. The method according to any one of claims 1 to 10, wherein: The converting includes decoding the video from the bitstream.
13. A video data processing apparatus 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 pictures and a bitstream of said video, wherein the one or more pictures are included in the bitstream according to a first order rule, and wherein the first order rule provides that, in response to satisfying the first condition, the bitstream does not include any picture referenced by an entry in a reference picture list for a current slice of a current instantaneous decoding refresh (IDR) picture that precedes an intra random access point (IRAP) picture in output order or decoding order, the IRAP picture preceding the current IDR picture in decoding order; The first condition includes: an existence flag in a sequence parameter set level associated with an IDR reference picture list syntax element is equal to a predefined value; The current IDR picture includes one or more IDR sub-pictures, wherein the bitstream complies with a second order rule, wherein the second order rule stipulates that in response to satisfying a second condition, the bitstream does not include any picture that is referenced by an entry in a reference picture list of a current slice of the current IDR sub-picture and is located before a picture containing an IRAP sub-picture in output order or decoding order and is located before a picture containing the current IDR sub-picture in decoding order.
14. The device according to claim 13, wherein: The first condition includes: the presence of a flag indicating that a reference picture list (RPL) syntax element is allowed to be present in a slice header of a slice whose network abstraction layer (NAL) unit type is equal to IDR_N_LP or IDR_W_RADL.
15. The device according to claim 13, wherein: The current IDR picture and the IRAP picture have a network abstraction layer NAL unit header layer identifier equal to a specific value.
16. The device according to claim 13, wherein: The second condition includes: the presence of a flag indicating that a reference picture list RPL syntax element is allowed to be present in a slice header of a slice whose network abstraction layer NAL unit type is equal to IDR_N_LP or IDR_W_RADL; The IRAP sub-picture and the current IDR sub-picture have a network abstraction layer NAL unit header layer identifier equal to a specific identification value and a sub-picture index equal to a specific index value.
17. A non-transitory computer-readable storage medium having stored therein instructions that cause a processor to: performing conversion between a video comprising one or more pictures and a bitstream of said video, in, including the one or more pictures in the bitstream according to a first ordering rule, and wherein the first order rule provides that, in response to satisfying the first condition, the bitstream does not include any picture referenced by an entry in a reference picture list for a current slice of a current instantaneous decoding refresh (IDR) picture that precedes an intra random access point (IRAP) picture in output order or decoding order, the IRAP picture preceding the current IDR picture in decoding order; The first condition includes: an existence flag in a sequence parameter set level associated with an IDR reference picture list syntax element is equal to a predefined value; The current IDR picture includes one or more IDR sub-pictures, wherein the bitstream complies with a second order rule, wherein the second order rule stipulates that in response to satisfying a second condition, the bitstream does not include any picture that is referenced by an entry in a reference picture list of a current slice of the current IDR sub-picture and is located before a picture containing an IRAP sub-picture in output order or decoding order and is located before a picture containing the current IDR sub-picture in decoding order.
18. A non-transitory computer-readable recording medium storing a bit stream of a video generated by a method executed by a video processing device, wherein: The method comprises: generating a bitstream of the video comprising one or more pictures, wherein the one or more pictures are included in the bitstream according to a first order rule, and wherein the first order rule provides that, in response to satisfying the first condition, the bitstream does not include any picture referenced by an entry in a reference picture list for a current slice of a current instantaneous decoding refresh (IDR) picture that precedes an intra random access point (IRAP) picture in output order or decoding order, the IRAP picture preceding the current IDR picture in decoding order; The first condition includes: an existence flag in a sequence parameter set level associated with an IDR reference picture list syntax element is equal to a predefined value; The current IDR picture includes one or more IDR sub-pictures, wherein the bitstream complies with a second order rule, wherein the second order rule stipulates that in response to satisfying a second condition, the bitstream does not include any picture that is referenced by an entry in a reference picture list of a current slice of the current IDR sub-picture and is located before a picture containing an IRAP sub-picture in output order or decoding order and is located before a picture containing the current IDR sub-picture in decoding order.
19. A method for storing a bit stream of a video, comprising: generating a bitstream of the video comprising one or more pictures, and storing the bitstream in a non-transitory computer-readable recording medium, wherein the one or more pictures are included in the bitstream according to a first order rule, and wherein the first order rule provides that, in response to satisfying the first condition, the bitstream does not include any picture referenced by an entry in a reference picture list for a current slice of a current instantaneous decoding refresh (IDR) picture that precedes an intra random access point (IRAP) picture in output order or decoding order, the IRAP picture preceding the current IDR picture in decoding order; The first condition includes: an existence flag in a sequence parameter set level associated with an IDR reference picture list syntax element is equal to a predefined value; The current IDR picture includes one or more IDR sub-pictures, wherein the bitstream complies with a second order rule, wherein the second order rule stipulates that in response to satisfying a second condition, the bitstream does not include any picture that is referenced by an entry in a reference picture list of a current slice of the current IDR sub-picture and is located before a picture containing an IRAP sub-picture in output order or decoding order and is located before a picture containing the current IDR sub-picture in decoding order.
20. A video processing device, comprising a processor configured to implement the method according to any one of claims 2, 5-7, 10-12.
21. A method of storing a bitstream of a video, comprising the method of any one of claims 2 to 12, and further comprising storing the bitstream to a non-transitory computer-readable recording medium.
22. A computer readable medium storing program code, which, when executed, causes a processor to implement the method of any one of claims 2 to 12.
Citation Information
Patent Citations
Signalling of video content including sub-picture bitstreams for video coding
CN110431849A
Modification of unification of intra block copy and inter signaling related syntax and semantics
US20160255359A1
Cited By
Coding of instantaneous decoding refresh subpictures
US12652400B2