Signaling of General Constraint Flags

JP7686725B2Active Publication Date: 2025-06-02DOUYIN VISION CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2023189121
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-05-24
Filing Date
2023-11-06
Publication Date
2025-06-02
Estimated Expiration
2041-05-24

AI Technical Summary

Technical Problem

Existing video coding standards face challenges in efficiently managing and aligning syntax elements within bitstreams to ensure compliance with profile, tier, and level constraints, particularly in multi-layer video coding, which can lead to inefficiencies and compatibility issues.

Method used

The implementation of a video processing method that includes rules for converting between videos and bitstreams, aligning syntax structures to byte boundaries, and applying constraints on syntax elements to ensure compliance with profile, tier, and level information, including specific handling of I-slices and reserved bits.

Benefits of technology

This approach enhances the efficiency and compatibility of video coding by ensuring proper alignment and constraint adherence, improving the decoding process and reducing errors in multi-layer video coding.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000242_0000
    Figure 00000242_0000
  • Figure 00000242_0001
    Figure 00000242_0001
  • Figure 00000243_0000
    Figure 00000243_0000
Patent Text Reader

Abstract

To provide a method, system and device for video processing.SOLUTION: A video processing method comprising encoding, decoding or transcoding includes executing conversion between a video and a bit stream of the video according to a rule, wherein the rule specifies that a syntax element is included in a profile, tier, level information syntax structure so as to show whether one or a plurality of general restriction information syntax elements are included in a general restriction information syntax structure and / or whether the general restriction information syntax structure is included in the profile, tier, level information syntax structure.SELECTED DRAWING: Figure 7
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] [CROSS-REFERENCE TO RELATED APPLICATIONS] This application is a divisional application of Japanese Patent Application No. 2022-571100. Japanese Patent Application No. 2022-571100 is a national stage application of International Patent Application No. PCT / CN2021 / 095386 filed on May 24, 2021, and claims priority to and the benefit of International Patent Application No. PCT / CN2020 / 091740 filed on May 22, 2020. The entire disclosures of the aforementioned patent applications are incorporated by reference as part of the disclosure of this application.

[0002] [Technical field] This patent document relates to image and video coding and decoding. [Background technology]

[0003] Digital video accounts for the largest bandwidth usage on the Internet and other digital communication networks, and with the increasing number of connected user devices capable of receiving and displaying video, the bandwidth demands for digital video usage are expected to continue to increase. Summary of the Invention

[0004] This document discloses techniques that can be used by video encoders and decoders to process coded representations of video using control information that is useful for decoding the coded representations.

[0005] In one exemplary aspect, a video processing method is disclosed that includes performing a conversion between a video and a video bitstream according to rules, the rules specifying syntax elements to be included in a profile, tier, level information syntax structure to indicate whether one or more general constraint information syntax elements are included in the general constraint information syntax structure and / or whether the general constraint information syntax structure is included in the profile, tier, level information syntax structure.

[0006] In another exemplary aspect, another video processing method is disclosed. The method includes performing a conversion between video and a video bitstream according to rules, wherein a syntax structure is included in the bitstream and includes information of one or more video coding layers corresponding to one or more output layer sets, and the rules specify that start positions of syntax elements in the syntax structure that specify level information to which the one or more output layer sets conform are constrained to align on a byte boundary.

[0007] In another exemplary aspect, another video processing method is disclosed that includes performing a conversion between video and a video bitstream according to rules, the rules specifying that syntax structures indicate constraint information about the bitstream, the rules specifying that the syntax structures are allowed to contain syntax elements without aligning to byte boundaries.

[0008] In another exemplary aspect, another video processing method is disclosed that includes performing a conversion between a video and a video bitstream according to rules that specify where and how reserved bits are to be included in a syntax structure that indicates one or more coding constraints applicable to the conversion.

[0009] In another exemplary aspect, another video processing method is disclosed. The method includes, for a conversion between a video including one or more pictures including one or more slices and a bitstream of the video, determining that only I-slices are enabled for conversion according to rules, and performing the conversion according to the determining, the rules specifying that in response to only I-slices being enabled, the bitstream conforms to one or more additional constraints.

[0010] In another exemplary aspect, another video processing method is disclosed. The method includes performing a conversion between a video and a video bitstream according to rules, the rules specifying that one or more syntax elements in a sequence parameter set, a picture parameter set, a picture header, or a sequence header are constrained according to general constraint information syntax elements that indicate constraints applicable to the conversion.

[0011] In another exemplary aspect, another video processing method is disclosed. The method includes performing a conversion between a video and a video bitstream according to rules, the rules specifying that whether or how a first syntax element in a syntax structure indicating one or more constraints applicable to the conversion is indicated depends on whether or how a second syntax element is indicated in the syntax structure.

[0012] In another exemplary aspect, another video processing method is disclosed that includes performing a conversion between video and a bitstream of video according to rules that specify whether or how syntax elements indicating general constraints on the conversion are included in the bitstream, depending on a profile and / or level used for the conversion.

[0013] In yet another exemplary aspect, a video encoder apparatus is disclosed, the video encoder comprising a processor configured to perform the method described above.

[0014] In yet another exemplary aspect, a video decoder apparatus is disclosed, the video decoder comprising a processor configured to perform the method described above.

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

[0016] These and other features are described throughout this document. [Brief explanation of the drawings]

[0017] [Figure 1] FIG. 1 is a block diagram of an exemplary video processing system. [Figure 2] FIG. 1 is a block diagram of a video processing device. [Figure 3] 1 is a flowchart for an exemplary method of video processing. [Figure 4] 1 is a block diagram illustrating a video coding system in accordance with some embodiments of the disclosed technology. [Figure 5] 1 is a block diagram illustrating an encoder in accordance with some embodiments of the disclosed technology. [Figure 6] FIG. 2 is a block diagram illustrating a decoder in accordance with some embodiments of the disclosed technology. [Figure 7] 1 is a flowchart of an exemplary method of video processing consistent with some implementations of the disclosed technology. [Figure 8A] 1 is a flowchart of an exemplary method of video processing consistent with some implementations of the disclosed technology. [Figure 8B] 1 is a flowchart of an exemplary method of video processing consistent with some implementations of the disclosed technology. [Figure 9A] 1 is a flowchart of an exemplary method of video processing consistent with some implementations of the disclosed technology. [Figure 9B] 1 is a flowchart of an exemplary method of video processing consistent with some implementations of the disclosed technology. [Figure 9C] 1 is a flowchart of an exemplary method of video processing consistent with some implementations of the disclosed technology. [Figure 9D] 1 is a flowchart of an exemplary method of video processing consistent with some implementations of the disclosed technology. [Figure 9E] 1 is a flowchart of an exemplary method of video processing consistent with some implementations of the disclosed technology. DETAILED DESCRIPTION OF THE INVENTION

[0018] Section headings are used in this document for ease of understanding and do not limit the applicability of the techniques and embodiments disclosed in each section to only that section. Furthermore, H.266 terminology is used in some descriptions for ease of understanding only, and not to limit the scope of the disclosed techniques. As such, the techniques described herein are applicable to other video codec protocols and designs.

[0019] 1. Introduction This document relates to video coding technology. Specifically, it relates to the design of constraint flag related syntax in video coding. The concepts can be applied individually or in various combinations to any video coding standard or non-standard video codec that supports multi-layer video coding, such as Versatile Video Coding (VVC), which is under development.

[0020] 2. Abbreviation APS adaptive parameter set AU Access Unit AUD Access Unit Delimiter AVC Advanced Video Coding CLVS coding layer video sequence CPB Coded Picture Buffer CRA Clean Random Access CTU Coding Tree Unit CVS coded video sequences DPB Decoded Picture Buffer DPS Decoding Parameter Set EOB End of bitstream EOS End of sequence GDR Gradual Decoding Refresh HEVC High Efficiency Video Coding HRD Hypothetical Reference Decoder IDR Instantaneous Decryption Refresh JEM Collaborative Exploration Model MCTS Motion Constraint Tile Set NAL Network Abstraction Layer OLS output layer set PH Picture Header PPS Picture Parameter Set PTL Profiles, Tiers, and Levels PU Picture Unit RBSP Raw Byte Sequence Payload SEI Additional Extended Information SH slice header SPS Sequence Parameter Set SVC Scalable Video Coding VCL Video Coding Layer VPS Video Parameter Set VTM VVC test model VUI Video Usability Information VVC General Purpose Video Coding

[0021] 3.Background Video coding standards have evolved primarily through the development of well-known ITU-T and ISO / IEC standards. ITU-T developed H.261 and H.263, while ISO / IEC developed MPEG-1 and MPEG-4 Visual. These two organizations jointly developed the H.262 / MPEG-2 Video, H.264 / MPEG-4 Advanced Video Coding (AVC), and H.265 / HEVC standards. Since H.262, video coding standards have been based on a hybrid video coding architecture that utilizes temporal prediction and transform coding. To explore future video coding technologies beyond HEVC, the Joint Video Exploration Team (JVET) was jointly established by VCEG and MPEG in 2015. Since then, many new methods have been adopted by the JVET and implemented in reference software called the Joint Exploration Model (JEM). Concurrently, JVET meetings are held quarterly, and the new coding standard aims to achieve a 50% bitrate reduction compared to HEVC. The new video coding standard was officially named VVC (Versatile Video Coding) at the April 2018 JVET meeting, when the first version of the VVC Test Model (VTM) was released. As VVC standardization is an ongoing effort, new coding techniques are adopted for the VVC standard at every JVET meeting. The VVC Working Draft and Test Model VTM are updated after each meeting. The VVC project is currently aiming for Technical Finalization (FDIS) at the July 2020 meeting.

[0022] 3.1. General Profile, Tier, and Level Syntax and Semantics In the latest VVC draft text, the syntax and semantics of general profiles, tiers and levels are as follows: [Table 1] The profile_tier_level( ) syntax structure provides level information and, optionally, profile, tier, subprofile, and general constraint information. When the profile_tier_level() syntax structure is included in a VPS, OlsInScope is one or more OLSs specified by the VPS. When the profile_tier_level() syntax structure is included in an SPS, OlsInScope is an OLS that includes only the layer that is the lowest layer among the layers that reference the SPS, and this lowest layer is an independent layer. general_profile_idc indicates the profile to which OlsInScope conforms, as specified in Annex A. Bitstreams shall not contain values ​​of general_profile_idc other than those specified in Annex A. Other values ​​of general_profile_idc are reserved for future use by ITU-T|ISO / IEC. general_tier_flag specifies the tier context for the interpretation of general_level_idc, as specified in Annex A. general_level_idc indicates the level to which OlsInScope conforms, as specified in Annex A. The bitstream shall not contain values ​​of general_level_idc other than those specified in Annex A. Other values ​​of general_level_idc are reserved for future use by ITU-T|ISO / IEC. NOTE 1 - A larger value of general_level_idc indicates a higher level. The maximum level signaled in a DCI NAL unit for OlsInScope may be higher, but not lower, than the level signaled in an SPS for a CLVS contained within OlsInScope. NOTE 2 - When OlsInScope conforms to multiple profiles, general_profile_idc SHOULD indicate the profile that provides the preferred decoding result or preferred bitstream identification, as determined by the encoder (in a manner not specified in this specification). NOTE 3 - When the CVSs of OlsInScope conform to different profiles, multiple profile_tier_level( ) syntax structures may be included in the DCI NAL unit such that for each CVS of OlsInScope, there is at least one set of indicated profile, tier, and level for decoders capable of decoding the CVS. num_sub_profiles specifies the number of general_sub_profile_idc[i] syntax elements. general_sub_profile_idc[i] indicates the ith interoperability metadata registered as specified in Rec. ITU-T T.35, and its content is not specified by this specification. sublayer_level_present_flag[i] equal to 1 specifies that level information is present in the profile_tier_level( ) syntax structure of the sublayer representation with TemporalId equal to i. sublayer_level_present_flag[i] equal to 0 specifies that level information is not present in the profile_tier_level( ) syntax structure of the sublayer representation with TemporalId equal to i. ptl_alignment_zero_bits shall be equal to 0. The semantics of the syntax element sublayer_level_idc[i], apart from the specification of inferring non-existent values, are the same as the syntax element general_level_idc, but it applies to sublayer expressions whose TemporalId is equal to i. When not present, the value of sublayer_level_idc[i] is inferred as follows: - sublayer_level_idc[maxNumSubLayersMinus1] is inferred to be equal to general_level_idc of the same profile_tier_level() structure. - For i from maxNumSubLayersMinus1-1 to 0, inclusive (in descending order of i), sublayer_level_idc[i] is inferred to be equal to sublayer_level_idc[i+1].

[0023] 3.2. Syntax and Semantics of General Constraint Information In the latest VVC draft text, the syntax and semantics of the general constraint information are as follows: [Table 2] TIFF2024012516000004.tif201166general_progressive_source_flag and general_interlaced_source_flag are interpreted as follows: - If general_progressive_source_flag is equal to 1 and general_interlaced_source_flag is equal to 0, the source scan type of the picture in OlsInScope shall be interpreted as progressive only. - Otherwise, if general_progressive_source_flag is equal to 0 and general_interlaced_source_flag is equal to 1, the source scan type of the picture in OlsInScope shall be interpreted as interlaced only. - Otherwise, if general_progressive_source_flag is equal to 0 and general_interlaced_source_flag is equal to 0, the source scan type of the picture in OlsInScope shall be interpreted as unknown or unspecified. - Otherwise (general_progressive_source_flag is equal to 1 and general_interlaced_source_flag is equal to 1), the source scan type of each picture in the OlsInScope is indicated at the picture level using the syntax element source_scan_type in the Frame-Field Information SEI message. It is a bitstream conformance requirement that when general_progressive_source_flag is equal to 1 and general_interlaced_source_flag is equal to 1, a Frame-Field Information SEI message should be present in each AU. NOTE 1 - A decoder may ignore the values ​​of general_progressive_source_flag and general_interlaced_source_flag. Furthermore, the actual source scan type of a picture is outside the scope of this specification, and it is unspecified how an encoder selects the values ​​of general_progressive_source_flag and general_interlaced_source_flag. general_non_packed_constraint_flag equal to 1 specifies that no frame packing alignment SEI messages shall be present in the bitstream of OlsInScope. general_non_packed_constraint_flag equal to 0 imposes no such constraint. NOTE 2 - Decoders may ignore the value of general_non_packed_constraint_flag, as there are no decoding process requirements associated with the presence or interpretation of the frame packing arrangement SEI message. general_frame_only_constraint_flag equal to 1 specifies that OlsInScope carries pictures that represent frames. general_frame_only_constraint_flag equal to 0 specifies that OlsInScope carries pictures whether they represent frames or not. NOTE 3 - A decoder may ignore the value of general_frame_only_constraint_flag, as there are no decoding process requirements associated with that value. general_non_projected_constraint_flag equal to 1 specifies that neither equirectangular projection SEI messages nor generalized cubemap projection SEI messages should be present in the OlsInScope bitstream. general_non_projected_constraint_flag equal to 0 imposes no such constraint. NOTE 4 - Decoders may ignore the value of general_non_projected_constraint_flag, as there are no decoding process requirements associated with the presence or interpretation of the equirectangular projection SEI message and the generalized cubemap projection SEI message. An intra_only_constraint_flag equal to 1 specifies that slice_type must be equal to I. An intra_only_constraint_flag equal to 0 imposes no such constraint. max_bitdepth_constraint_idc specifies that bit_depth_minus8 must be in the range 0 to max_bitdepth_constraint_idc, inclusive. max_chroma_format_constraint_idc specifies that chroma_format_idc is in the range 0 to max_chroma_format_constraint_idc, inclusive. no_res_change_in_clvs_constraint_flag equal to 1 specifies that res_change_in_clvs_allowed_flag must be equal to 0. no_res_change_in_clvs_constraint_flag equal to 0 imposes no such constraint. one_tile_per_pic_constraint_flag equal to 1 specifies that each picture contains only one tile. one_tile_per_pic_constraint_flag equal to 0 imposes no such constraint. one_slice_per_pic_constraint_flag equal to 1 specifies that each picture contains only one slice. one_slice_per_pic_constraint_flag equal to 0 imposes no such constraint. one_subpic_per_pic_constraint_flag equal to 1 specifies that each picture contains only one subpicture. one_subpic_per_pic_constraint_flag equal to 0 imposes no such constraint. When one_slice_per_pic_constraint_flag is equal to 1, the value of one_subpic_per_pic_constraint_flag shall be equal to 1. no_qtbtt_dual_tree_intra_constraint_flag equal to 1 specifies that qtbtt_dual_tree_intra_flag must be equal to 0. no_qtbtt_dual_tree_intra_constraint_flag equal to 0 imposes no such constraint. no_partition_constraints_override_constraint_flag equal to 1 specifies that partition_constraints_override_enabled_flag must be equal to 0. no_partition_constraints_override_constraint_flag equal to 0 imposes no such constraint. no_sao_constraint_flag equal to 1 specifies that sps_sao_enabled_flag must be equal to 0. no_sao_constraint_flag equal to 0 imposes no such constraint. no_alf_constraint_flag equal to 1 specifies that sps_alf_enabled_flag must be equal to 0. no_alf_constraint_flag equal to 0 imposes no such constraint. no_ccalf_constraint_flag equal to 1 specifies that sps_ccalf_enabled_flag must be equal to 0. no_ccalf_constraint_flag equal to 0 imposes no such constraint. no_joint_cbcr_constraint_flag equal to 1 specifies that sps_joint_cbcr_enabled_flag must be equal to 0. no_joint_cbcr_constraint_flag equal to 0 imposes no such constraint. no_ref_wraparound_constraint_flag equal to 1 specifies that sps_ref_wraparound_enabled_flag must be equal to 0. no_ref_wraparound_constraint_flag equal to 0 imposes no such constraint. no_temporal_mvp_constraint_flag equal to 1 specifies that sps_temporal_mvp_enabled_flag must be equal to 0. no_temporal_mvp_constraint_flag equal to 0 imposes no such constraint. no_sbtmvp_constraint_flag equal to 1 specifies that sps_sbtmvp_enabled_flag must be equal to 0. no_sbtmvp_constraint_flag equal to 0 imposes no such constraint. no_amvr_constraint_flag equal to 1 specifies that sps_amvr_enabled_flag must be equal to 0. no_amvr_constraint_flag equal to 0 imposes no such constraint. no_bdof_constraint_flag equal to 1 specifies that sps_bdof_enabled_flag must be equal to 0. no_bdof_constraint_flag equal to 0 imposes no such constraint. no_dmvr_constraint_flag equal to 1 specifies that sps_dmvr_enabled_flag must be equal to 0. no_dmvr_constraint_flag equal to 0 imposes no such constraint. no_cclm_constraint_flag equal to 1 specifies that sps_cclm_enabled_flag must be equal to 0. no_cclm_constraint_flag equal to 0 imposes no such constraint. no_mts_constraint_flag equal to 0 equal to 1 imposes no such constraint. no_mts_constraint_flag specifies that sps_mts_enabled_flag must be equal to 0. no_sbt_constraint_flag equal to 1 specifies that sps_sbt_enabled_flag must be equal to 0. no_sbt_constraint_flag equal to 0 imposes no such constraint. no_affine_motion_constraint_flag equal to 1 specifies that sps_affine_enabled_flag must be equal to 0. no_affine_motion_constraint_flag equal to 0 imposes no such constraint. no_bcw_constraint_flag equal to 1 specifies that sps_bcw_enabled_flag must be equal to 0. no_bcw_constraint_flag equal to 0 imposes no such constraint. no_ibc_constraint_flag equal to 1 specifies that sps_ibc_enabled_flag must be equal to 0. no_ibc_constraint_flag equal to 0 imposes no such constraint. no_ciip_constraint_flag equal to 1 specifies that sps_ciip_enabled_flag must be equal to 0. no_cipp_constraint_flag equal to 0 imposes no such constraint. no_fpel_mmvd_constraint_flag equal to 1 specifies that sps_fpel_mmvd_enabled_flag must be equal to 0. no_fpel_mmvd_constraint_flag equal to 0 imposes no such constraint. no_gpm_constraint_flag equal to 1 specifies that sps_gpm_enabled_flag must be equal to 0. no_gpm_constraint_flag equal to 0 imposes no such constraint. no_ladf_constraint_flag equal to 1 specifies that sps_ladf_enabled_flag must be equal to 0. no_ladf_constraint_flag equal to 0 imposes no such constraint. no_transform_skip_constraint_flag equal to 1 specifies that sps_transform_skip_enabled_flag must be equal to 0. no_transform_skip_constraint_flag equal to 0 imposes no such constraint. no_bdpcm_constraint_flag equal to 1 specifies that sps_bdpcm_enabled_flag must be equal to 0. no_bdpcm_constraint_flag equal to 0 imposes no such constraint. no_qp_delta_constraint_flag equal to 1 specifies that it is a bitstream conformance requirement that cu_qp_delta_enabled_flag must be equal to 0. no_qp_delta_constraint_flag equal to 0 imposes no such constraint. no_dep_quant_constraint_flag equal to 1 specifies that it is a bitstream conformance requirement that sps_dep_quant_enabled_flag must be equal to 0. no_dep_quant_constraint_flag equal to 0 imposes no such constraint. no_sign_data_hiding_constraint_flag equal to 1 specifies that it is a bitstream conformance requirement that sps_sign_data_hiding_enabled_flag must be equal to 0. no_sign_data_hiding_constraint_flag equal to 0 imposes no such constraint. no_mixed_nalu_types_in_pic_constraint_flag equal to 1 specifies that it is a bitstream conformance requirement that mixed_nalu_types_in_pic_flag must be equal to 0. no_mixed_nalu_types_in_pic_constraint_flag equal to 0 imposes no such constraint. no_trail_constraint_flag equal to 1 specifies that NAL units with nuh_unit_type equal to TRAIL_NUT must not be present in OlsInScope. no_trail_constraint_flag equal to 0 imposes no such constraint. no_stsa_constraint_flag equal to 1 specifies that NAL units with nuh_unit_type equal to STSA_NUT must not be present in OlsInScope. no_stsa_constraint_flag equal to 0 imposes no such constraint. no_rasl_constraint_flag equal to 1 specifies that NAL units with nuh_unit_type equal to RASL_NUT must not be present in OlsInScope. no_rasl_constraint_flag equal to 0 imposes no such constraint. no_radl_constraint_flag equal to 1 specifies that NAL units with nuh_unit_type equal to RADL_NUT must not be present in OlsInScope. no_radl_constraint_flag equal to 0 imposes no such constraint. no_idr_constraint_flag equal to 1 specifies that NAL units with nuh_unit_type equal to IDR_W_RADL or IDR_N_LP must not be present in OlsInScope. no_idr_constraint_flag equal to 0 imposes no such constraint. no_cra_constraint_flag equal to 1 specifies that NAL units with nuh_unit_type equal to CRA_NUT must not be present in OlsInScope. no_cra_constraint_flag equal to 0 imposes no such constraint. no_gdr_constraint_flag equal to 1 specifies that NAL units with nuh_unit_type equal to GDR_NUT must not be present in OlsInScope. no_gdr_constraint_flag equal to 0 imposes no such constraint. no_aps_constraint_flag equal to 1 specifies that NAL units with nuh_unit_type equal to PREFIX_APS_NUT or SUFFIX_APS_NUT must not be present in OlsInScope. no_aps_constraint_flag equal to 0 imposes no such constraint. gci_alignment_zero_bits shall be equal to 0. num_reserved_constraint_bytes specifies the number of reserved constraint bytes. The value of num_reserved_constraint_bytes shall be 0. Other values ​​of num_reserved_constraint_bytes are reserved for future use by ITU-T|ISO / IEC and shall not be present in bitstreams conforming to this version of this specification. gci_reserved_constraint_byte[i] may have any value. Its presence and value do not affect a decoder's conformance to the profile specified in this version of this specification. Decoders conforming to this version of this specification shall ignore the values ​​of all gci_reserved_constraint_byte[i] syntax elements.

[0024] 3.3. DCI Syntax and Semantics In the latest VVC draft text, the syntax and semantics of DCI are as follows: [Table 3] The DCI RBSP may be made available to the decoder either by being present in the bitstream, by being included in at least the first AU of the bitstream, or by being provided through external means. NOTE 1 – The information contained in the DCI RBSP is not necessary for the operation of the decoding process specified in clauses 2 through 9 of this specification. If present, all DCI NAL units in the bitstream shall have the same content. dci_max_sublayers_minus1+1 specifies the maximum number of temporal sublayers that may be present in a layer in each CVS of the bitstream. The value of dci_max_sublayers_minus1 shall be in the range 0 to 6, inclusive. dci_reserved_zero_bit shall be equal to 0 in bitstreams conforming to this version of this specification. A value of 1 for dci_reserved_zero_bit is reserved for future use by ITU-T|ISO / IEC. dci_num_ptls_minus1+1 specifies the number of profile_tier_level( ) syntax structures in a DCI NAL unit. It is a requirement of bitstream conformance that each OLS in a CVS in a bitstream must conform to at least one of the profile_tier_level( ) syntax structures in the DCI NAL unit. NOTE 2 - A DCI NAL unit may contain PTL information that applies collectively to multiple OLSs, possibly carried in multiple profile_tier_level( ) syntax structures, and does not need to contain PTL information for each of the OLSs individually. dci_extension_flag equal to 0 specifies that the dci_extension_data_flag syntax element is not present in the DCI RBSP syntax structure. dci_extension_flag equal to 1 specifies that the dci_extension_data_flag syntax element is present in the DCI RBSP syntax structure. dci_extension_data_flag may have any value. Its presence and value do not affect a decoder's conformance to the profile specified in Annex A. Decoders conforming to this version of this specification shall ignore all dci_extension_data_flag syntax elements.

[0025] 3.4. VPS Syntax and Semantics In the latest VVC draft text, the syntax and semantics of VPS are as follows: [Table 4] TIFF2024012516000007.tif232161TIFF2024012516000008.tif232161TIFF2024012516000009.tif27161The VPS RBSP shall be available to the decoding process before it is referenced, or shall be contained in at least one AU with TemporalId equal to 0, or provided through external means. All VPS NAL units with a particular value of vps_video_parameter_set_id in the CVS shall have the same content. vps_video_parameter_set_id provides an identifier for the VPS for reference by other syntax elements. The value of vps_video_parameter_set_id shall be greater than 0. vps_max_layers_minus1+1 specifies the maximum number of layers allowed in each CVS that references the VPS. vps_max_sublayers_minus1+1 specifies the maximum number of temporal sublayers that may exist in a layer in each CVS that references the VPS. The value of vps_max_sublayers_minus1 must be in the range 0 to 6, inclusive. vps_all_layers_same_num_sublayers_flag equal to 1 specifies that the number of temporal sublayers is the same for all layers in each CVS that references the VPS. vps_all_layers_same_num_sublayers_flag equal to 0 specifies that layers in each CVS that references the VPS may not have the same number of temporal sublayers. When not present, the value of vps_all_layers_same_num_sublayers_flag is inferred to be equal to 1. vps_all_independent_layers_flag equal to 1 specifies that all layers in the CVS are coded independently, without using inter-layer prediction. vps_all_independent_layers_flag equal to 0 specifies that one or more of the layers in the CVS may use inter-layer prediction. When not present, the value of vps_all_independent_layers_flag is inferred to be equal to 1. vps_layer_id[i] specifies the nuh_layer_id value of the i-th layer. For any two non-negative integer values ​​m and n, when m is less than n, the value of vps_layer_id[m] shall be less than vps_layer_id[n]. vps_independent_layer_flag[i] equal to 1 specifies that the layer with index i does not use inter-layer prediction. vps_independent_layer_flag[i] equal to 0 specifies that the layer with index i may use inter-layer prediction and that the syntax element vps_direct_ref_layer_flag[i][j] for j in the range of 0 to i-1, inclusive, is present in the VPS. When not present, the value of vps_independent_layer_flag[i] is inferred to be equal to 1. vps_direct_ref_layer_flag[i][j] equal to 0 specifies that the layer with index j is not a direct reference layer for the layer with index i. vps_direct_ref_layer_flag[i][j] equal to 1 specifies that the layer with index j is a direct reference layer for the layer with index i. When vps_direct_ref_layer_flag[i][j] is not present for i and j in the range from 0 to vps_max_layers_minus1, inclusive, it is inferred to be equal to 0. When vps_independent_layer_flag[i] is equal to 0, there shall be at least one value of j in the range from 0 to i-1, inclusive, such that the value of vps_direct_ref_layer_flag[i][j] is equal to 1. The variables NumDirectRefLayers[i], DirectRefLayerIdx[i][d], NumRefLayers[i], RefLayerIdx[i][r], and LayerUsedAsRefLayerFlag[j] are derived as follows:

number

number

number

number

number

number

[0026] 3.5. SPS Syntax and Semantics In the latest VVC draft text, the syntax and semantics of SPS are as follows: [Table 5] TIFF2024012516000018.tif232161TIFF2024012516000019.tif232161TIFF2024012516000020.tif232161TIFF2024012516000021.tif233161TIFF2024012516000022.tif233161TIFF2024012516000023.tif233161TIFF2024012516000024.tif149161The SPS RBSP shall be available to the decoding process before it is referenced, or shall be contained in at least one AU with TemporalId equal to 0, or provided through external means. All SPS NAL units with a particular value of sps_seq_parameter_set_id in the CVS shall have the same content. The sps_seq_parameter_set_id provides an identifier for the SPS for reference by other syntax elements. SPS NAL units share the same value space for sps_seq_parameter_set_id regardless of the nuh_layer_id value. Let spsLayerId be the value of nuh_layer_id of a particular SPS NAL unit, and vclLayerId be the value of nuh_layer_id of a particular VCL NAL unit. A particular VCL NAL unit shall not reference a particular SPS NAL unit unless its spsLayerId is less than or equal to vclLayerId and the layer whose nuh_layer_id equals spsLayerId is contained in at least one OLS that contains a layer whose nuh_layer_id equals vclLayerId. When sps_video_parameter_set_id is greater than 0, it specifies the value of vps_video_parameter_set_id of the VPS referenced by the SPS. When sps_video_parameter_set_id is equal to 0, the following applies: - SPS does not refer to VPS. - When decoding each CLVS that references an SPS, the VPS is not referenced. - The value of vps_max_layers_minus1 is inferred to be equal to 0. A CVS shall contain only one layer (i.e., all VCL NAL units in a CVS shall have the same value of nuh_layer_id). - The value of GeneralLayerIdx[nuh_layer_id] is inferred to be equal to 0. - The value of vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]] is inferred to be equal to 1. When vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]] is equal to 1, any SPS referenced by a CLVS with a particular nuh_layer_id value nuhLayerId shall have nuh_layer_id equal to nuhLayerId. The value of sps_video_parameter_set_id shall be the same in all SPSs referenced by CLVS in a CVS. sps_max_sublayers_minus1+1 specifies the maximum number of temporal sublayers that may exist in each CLVS that references an SPS. The value of sps_max_sublayers_minus1 shall be in the range 0 to vps_max_sublayers_minus1, inclusive. sps_reserved_zero_4bits shall be equal to 0 in bitstreams conforming to this version of this specification. Other values ​​of sps_reserved_zero_4bits are reserved for future use by ITU-T|ISO / IEC. sps_ptl_dpb_hrd_params_present_flag equal to 1 specifies that the profile_tier_level() and dpb_parameters() syntax structures are present in the SPS, and that the general_hrd_parameters() and ols_hrd_parameters() syntax structures may also be present in the SPS. sps_ptl_dpb_hrd_params_present_flag equal to 0 specifies that none of these four syntax structures are present in the SPS. The value of sps_ptl_dpb_hrd_params_present_flag shall be equal to vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]. A gdr_enabled_flag equal to 1 specifies that GDR pictures may be present in the CLVS that references the SPS. A gdr_enabled_flag equal to 0 specifies that GDR pictures are not present in the CLVS that references the SPS. chroma_format_idc specifies chroma sampling relative to luma sampling, as specified in Section 6.2. separate_colour_plane_flag equal to 1 specifies that the three color components of the 4:4:4 chroma format are coded separately. separate_colour_plane_flag equal to 0 specifies that the color components are not coded separately. When separate_colour_plane_flag is not present, it is inferred to be equal to 0. When separate_colour_plane_flag is equal to 1, the coded picture consists of three separate components, each consisting of coded samples of one color plane (Y, Cb, or Cr), and uses monochrome coding syntax. In this case, each color plane is associated with a specific color_plane_id value. NOTE 1 - There is no dependency in the decoding process between color planes with different colour_plane_id values, e.g., the decoding process of a monochrome picture with one value of colour_plane_id does not use any data from a monochrome picture with a different value of colour_plane_id for inter prediction. Depending on the value of separate_colour_plane_flag, the value of the variable ChromaArrayType is assigned as follows: - If separate_colour_plane_flag is equal to 0, ChromaArrayType is set equal to chroma_format_idc. - Otherwise (separate_colour_plane_flag is equal to 1), ChromaArrayType is set equal to 0. res_change_in_clvs_allowed_flag equal to 1 specifies that picture spatial resolution may change within a CLVS that references an SPS. res_change_in_clvs_allowed_flag equal to 0 specifies that picture spatial resolution may not change within any CLVS that references an SPS. pic_width_max_in_luma_samples specifies the maximum width, in units of luma samples, of each decoded picture that references an SPS. pic_width_max_in_luma_samples SHALL not be equal to 0 and SHALL be an integer multiple of Max(8,MinCbSizeY). It is a bitstream conformance requirement that for any OLS with OLS index i that contains one or more layers that reference an SPS, the value of pic_width_max_in_luma_samples must be less than or equal to the value of ols_dpb_pic_width[i]. pic_height_max_in_luma_samples specifies the maximum height, in units of luma samples, of each decoded picture that references an SPS. pic_height_max_in_luma_samples SHALL not be equal to 0 and SHALL be an integer multiple of Max(8,MinCbSizeY). It is a bitstream conformance requirement that for any OLS with OLS index i that contains one or more layers referencing an SPS, the value of pic_height_max_in_luma_samples must be less than or equal to the value of ols_dpb_pic_height[i]. sps_conformance_window_flag equal to 1 indicates that a conformance cropping window offset parameter follows in the SPS. sps_conformance_window_flag equal to 0 indicates that a conformance cropping window offset parameter is not present in the SPS. sps_conf_win_left_offset, sps_conf_win_right_offset, sps_conf_win_top_offset, and sps_conf_win_bottom_offset specify the cropping window to be applied to pictures with pic_width_in_luma_samples equal to pic_width_max_in_luma_samples and pic_height_in_luma_samples equal to pic_height_max_in_luma_samples. When sps_conformance_window_flag is equal to 0, the values ​​of sps_conf_win_left_offset, sps_conf_win_right_offset, sps_conf_win_top_offset, and sps_conf_win_bottom_offset are inferred to be equal to 0. The adaptive cropping window includes luma samples with horizontal picture coordinates from SubWidthC*sps_conf_win_left_offset to pic_width_max_in_luma_samples-(SubWidthC*sps_conf_win_right_offset+1), inclusive, and vertical picture coordinates from SubHeightC*sps_conf_win_top_offset to pic_height_max_in_luma_samples-(SubHeightC*sps_conf_win_bottom_offset+1), inclusive. The value of SubWidthC*(sps_conf_win_left_offset+sps_conf_win_right_offset) shall be less than pic_width_max_in_luma_samples, and the value of SubHeightC*(sps_conf_win_top_offset+sps_conf_win_bottom_offset) shall be less than pic_height_max_in_luma_samples. When ChromaArrayType is not equal to 0, the corresponding specified samples of the two chroma arrays are samples with picture coordinates (x / SubWidthC, y / SubHeightC), where (x, y) are the picture coordinates of the specified luma sample. NOTE 2 – The adaptive cropping window offset parameter is applied only at output. All internal decoding processes are applied to the uncropped picture size. sps_log2_ctu_size_minus5+5 specifies the luma coding tree block size of each CTU. The value of sps_log2_ctu_size_minus5 shall be in the range of 0 to 2, inclusive. The value 3 for sps_log2_ctu_size_minus5 is reserved for future use by ITU-T|ISO / IEC. The variables CtbLog2SizeY and CtbSizeY are derived as follows:

number

number

number

number

number

number

number

number

number

number

number

number

number

number

number

[0027] 3.6. PPS Syntax and Semantics In the latest VVC draft text, the syntax and semantics of PPS are as follows: [Table 6] TIFF2024012516000042.tif232161TIFF2024012516000043.tif233161TIFF2024012516000044.tif232161TIFF2024012516000045.tif35161The PPS RBSP shall be available to the decoding process before it is referenced, or shall be contained in at least one AU whose TemporalId is less than or equal to the TemporalId of the PPS NAL unit, or shall be provided through external means. All PPS NAL units with a particular value of pps_pic_parameter_set_id within a PU shall have the same content. The pps_pic_parameter_set_id identifies the PPS for reference by other syntax elements. The value of pps_pic_parameter_set_id shall be in the range 0 to 63, inclusive. PPS NAL units share the same value space for pps_pic_parameter_set_id regardless of the nuh_layer_id value. Let ppsLayerId be the value of nuh_layer_id of a particular PPS NAL unit, and vclLayerId be the value of nuh_layer_id of a particular VCL NAL unit. A particular VCL NAL unit shall not reference a particular PPS NAL unit unless its ppsLayerId is less than or equal to vclLayerId and the layer whose nuh_layer_id equals ppsLayerId is contained in at least one OLS that contains a layer whose nuh_layer_id equals vclLayerId. pps_seq_parameter_set_id specifies the value of sps_seq_parameter_set_id for the SPS. The value of pps_seq_parameter_set_id shall be in the range of 0 to 15, inclusive. The value of pps_seq_parameter_set_id shall be the same in all PPSs referenced by coded pictures in the CLVS. mixed_nalu_types_in_pic_flag equal to 1 specifies that each picture that references a PPS has two or more VCL NAL units, no VCL NAL units have the same value of nal_unit_type, and the picture is not an IRAP picture. mixed_nalu_types_in_pic_flag equal to 0 specifies that each picture that references a PPS has one or more VCL NAL units, and the VCL NAL units of each picture that references a PPS have the same value of nal_unit_type. When no_mixed_nalu_types_in_pic_constraint_flag is equal to 1, the value of mixed_nalu_types_in_pic_flag shall be equal to 0. For each slice with a nal_unit_type value nalUnitTypeA in the range IDR_W_RADL to CRA_NUT inclusive, in picture picA that also contains one or more slices with a different value of nal_unit_type (i.e., if the value of mixed_nalu_types_in_pic_flag of picture picA is equal to 1), the following applies: - The slice shall belong to subpicA, whose corresponding subpic_treated_as_pic_flag[i] has a value equal to 1. - The slice shall not belong to a subpicture of picA that contains a VCL NAL unit whose nal_unit_type is not equal to nalUnitTypeA. - If nalUnitTypeA is equal to CRA, then for all subsequent PUs that follow the current picture in CLVS in decoding order and output order, neither RefPicList[0] nor RefPicList[1] of slices in subpicA in those PUs shall contain pictures that precede picA in decoding order in their active entries. - Otherwise (i.e., if nalUnitTypeA is equal to IDR_W_RADL or IDR_N_LP), for all PUs in the CLVS that follow the current picture in decoding order, neither RefPicList[0] nor RefPicList[1] of slices in subpicA of those PUs shall contain a picture that precedes picA in decoding order in the active entry. mixed_nalu_types_in_pic_flag equal to NOTE 1-1 indicates that the picture referencing the PPS contains slices with different NAL unit types, e.g., coded pictures resulting from sub-picture bitstream merging operations, for which the encoder must ensure a match in bitstream structure and further alignment of parameters with the original bitstreams. An example of such alignment is as follows: when the value of sps_idr_rpl_flag is equal to 0 and mixed_nalu_types_in_pic_flag is equal to 1, the picture referencing the PPS cannot have slices with nal_unit_type equal to IDR_W_RADL or IDR_N_LP. pic_width_in_luma_samples specifies the width of each decoded picture that references the PPS, in units of luma samples. pic_width_in_luma_samples shall not be equal to 0, shall be an integer multiple of Max(8,MinCbSizeY), and shall be less than or equal to pic_width_max_in_luma_samples. When res_change_in_clvs_allowed_flag is equal to 0, the value of pic_width_in_luma_samples shall be equal to pic_width_max_in_luma_samples. pic_height_in_luma_samples specifies the height of each decoded picture referencing the PPS, in units of luma samples. pic_height_in_luma_samples shall not be equal to 0, shall be an integer multiple of Max(8,MinCbSizeY), and shall be less than or equal to pic_height_max_in_luma_samples. When res_change_in_clvs_allowed_flag is equal to 0, the value of pic_height_in_luma_samples shall be equal to pic_height_max_in_luma_samples. The variables PicWidthINctbsY, PicHeightINctbsY, PicSizeINctbsY, PicWidthInMinCbsY, PicHeightInMinCbsY, PicSizeInMinCbsY, PicSizeInSamplesY, PicWidthInSamplesC and PicHeightInSamplesC are derived as follows:

number

number

number

number

[0028] 3.7. APS Syntax and Semantics In the latest VVC draft text, the syntax and semantics of APS are as follows: [Table 7] The APS RBSP contains the ALF syntax structure, i.e., alf_data( ). [Table 8] TIFF2024012516000052.tif240166APS RBSP contains the LMCS syntax structure, i.e., lmcs_data( ). [Table 9] The APS RBSP includes a scaling list data syntax structure, scaling_list_data( ). [Table 10] TIFF2024012516000055.tif37166 Each APS RBSP shall be available to the decoding process before it is referenced, and shall be contained in at least one AU with a TemporalId less than or equal to the TemporalId of the coded slice NAL unit that references it, or provided through external means. All APS NAL units with a particular value of adaptation_parameter_set_id and a particular value of aps_params_type within a PU shall have the same content, regardless of whether they are prefix or suffix APS NAL units. The adaptation_parameter_set_id provides an identifier for the APS for reference by other syntax elements. When aps_params_type is equal to ALF_APS or SCALING_APS, the value of adaptation_parameter_set_id shall be in the range of 0 to 7, inclusive. When aps_params_type is equal to LMCS_APS, the value of adaptation_parameter_set_id shall be in the range of 0 to 3, inclusive. Let apsLayerId be the value of nuh_layer_id of a particular APS NAL unit, and vclLayerId be the value of nuh_layer_id of a particular VCL NAL unit. A particular VCL NAL unit shall not reference a particular APS NAL unit unless its apsLayerId is less than or equal to vclLayerId and the layer whose nuh_layer_id equal to apsLayerId is contained in at least one OLS that contains a layer whose nuh_layer_id equal to vclLayerId. aps_params_type specifies the type of APS parameters carried in the APS, as specified in Table 6. [Table 11] All APS NAL units with a particular value of aps_params_type share the same value space for adaptation_parameter_set_id, regardless of the nuh_layer_id value. APS NAL units with different values ​​of aps_params_type use distinct value spaces for adaptation_parameter_set_id. NOTE 1 - APS NAL units (with particular values ​​of adaptation_parameter_set_id and aps_params_type) may be shared across pictures, and different slices in a picture may reference different ALF APSs. NOTE 2 - A suffix APS NAL unit associated with a particular VCL NAL unit (which precedes the suffix APS NAL unit in decoding order) is not used by the particular VCL NAL unit, but by the VCL NAL unit that follows the suffix APS NAL unit in decoding order. aps_extension_flag equal to 0 specifies that the aps_extension_data_flag syntax element is not present in the APS RBSP syntax structure. aps_extension_flag equal to 1 specifies that the aps_extension_data_flag syntax element is present in the APS RBSP syntax structure. aps_extension_data_flag may have any value. Its presence and value do not affect a decoder's conformance to the profile specified in this version of this specification. Decoders conforming to this version of this specification shall ignore all aps_extension_data_flag syntax elements. alf_luma_filter_signal_flag equal to 1 specifies that the luma filter set is signaled. alf_luma_filter_signal_flag equal to 0 specifies that the luma filter set is not signaled. alf_chroma_filter_signal_flag equal to 1 specifies that the chroma filters are signaled. alf_chroma_filter_signal_flag equal to 0 specifies that the chroma filters are not signaled. When ChromaArrayType is equal to 0, alf_chroma_filter_signal_flag shall be equal to 0. At least one of the values ​​of alf_luma_filter_signal_flag, alf_chroma_filter_signal_flag, alf_cc_cb_filter_signal_flag, and alf_cc_cr_filter_signal_flag shall be equal to 1. The variable NumAlfFilters, which specifies the number of different adaptive loop filters, is set equal to 25. alf_luma_clip_flag equal to 0 specifies that linear adaptive loop filtering is applied to the luma component. alf_luma_clip_flag equal to 1 specifies that non-linear adaptive loop filtering may be applied to the luma component. alf_luma_num_filters_signalled_minus1+1 specifies the number of adaptive loop filter classes for which luma coefficients can be signaled. The value of alf_luma_num_filters_signalled_minus1 shall be in the range from 0 to NumAlfFilters-1, inclusive. alf_luma_coeff_delta_idx[filtIdx] specifies the index of the signaled adaptive loop filter luma coefficient delta for the filter class indicated by filtIdx in the range of 0 to NumAlfFilters-1. When alf_luma_coeff_delta_idx[filtIdx] is not present, it is inferred to be equal to 0. The length of alf_luma_coeff_delta_idx[filtIdx] is Ceil(Log2(alf_luma_num_filters_signalled_minus1+1)) bits. The value of alf_luma_coeff_delta_idx[filtIdx] shall be in the range of 0 to alf_luma_num_filters_signalled_minus1, inclusive. alf_luma_coeff_abs[sfIdx][j] specifies the absolute value of the jth coefficient of the signaled luma filter indicated by sfIdx. When alf_luma_coeff_abs[sfIdx][j] is absent, it is inferred to be equal to 0. The value of alf_luma_coeff_abs[sfIdx][j] shall be in the range of 0 to 128, inclusive. alf_luma_coeff_sign[sfIdx][j] specifies the sign of the jth luma coefficient of the filter indicated by sfIdx as follows: If alf_luma_coeff_sign[sfIdx][j] is equal to 0, the corresponding luma filter coefficient has a positive value. Otherwise (if alf_luma_coeff_sign[sfIdx][j] is equal to 1), the corresponding luma filter coefficient has a negative value. When alf_luma_coeff_sign[sfIdx][j] is not present, it is inferred to be equal to 0. The variable filtCoeff[sfIdx][j], where sfIdx=0..alf_luma_num_filters_signalled_minus1, j=0..11, is initialized as follows:

number

number

number

number

number

number

number

number

number

number

number

number

number

number

number

number

[0029] 3.8.PH Syntax and Semantics In the latest VVC draft text, the syntax and semantics of PH are as follows: [Table 13] The PH RBSP contains the PH syntax structure, namely picture_header_structure( ). [Table 14] TIFF2024012516000078.tif232161TIFF2024012516000079.tif233161TIFF2024012516000080.tif232161TIFF2024012516000081.tif232161TIFF2024012516000082.tif80161The PH syntax structure contains information common to all slices of the coded picture associated with the PH syntax structure. gdr_or_irap_pic_flag equal to 1 specifies that the current picture is a GDR picture or an IRAP picture. gdr_or_irap_pic_flag equal to 0 specifies that the current picture may be a GDR or IRAP picture, or neither. gdr_pic_flag equal to 1 specifies that the picture associated with the PH is a GDR picture. gdr_pic_flag equal to 0 specifies that the picture associated with the PH is not a GDR picture. When not present, the value of gdr_pic_flag is inferred to be equal to 0. When gdr_enabled_flag is equal to 0, the value of gdr_pic_flag shall be equal to 0. ph_inter_slice_allowed_flag equal to 0 specifies that all coded slices of the picture have slice_type equal to 2. ph_inter_slice_allowed_flag equal to 1 specifies that one or more coded slices may or may not be present in the picture with slice_type equal to 0 or 1. ph_intra_slice_allowed_flag equal to 0 specifies that all coded 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 coded slices may or may not be present in a picture with slice_type equal to 2. When not present, the value of ph_intra_slice_allowed_flag is inferred to be equal to 1. NOTE 1 - For bitstreams that are supposed to do sub-picture based bitstream merging without needing to modify the PH NAL units, the encoder is expected to set the values ​​of both ph_inter_slice_allowed_flag and ph_intra_slice_allowed_flag equal to 1. non_reference_picture_flag equal to 1 specifies that the picture associated with PH is never used as a reference picture. non_reference_picture_flag equal to 0 specifies that the picture associated with PH may or may not be used as a reference picture. ph_pic_parameter_set_id specifies the value of pps_pic_parameter_set_id for the PPS in use. The value of ph_pic_parameter_set_id shall be in the range 0 to 63, inclusive. It is a bitstream conformance requirement that the value of TemporalId of a PH be greater than or equal to the value of TemporalId of a PPS with pps_pic_parameter_set_id equal to ph_pic_parameter_set_id. ph_pic_order_cnt_lsb specifies the picture order count modulo MaxPicOrderCntLsb for the current picture. The length of the ph_pic_order_cnt_lsb syntax element is log2_max_pic_order_cnt_lsb_minus4 + 4 bits. The value of ph_pic_order_cnt_lsb shall be in the range 0 to MaxPicOrderCntLsb-1, inclusive. The no_output_of_prior_pics_flag, as specified in Annex C, affects the output of previously decoded pictures in the DPB after decoding of a CLVSS picture that is not the first picture in the bitstream. recovery_poc_cnt specifies the recovery point of a decoded picture in output order. If the current picture is a GDR picture associated with a PH, and there is a picture picA that follows the current GDR picture in decoding order in the CLVS with a PicOrderCntVal equal to the PicOrderCntVal of the current GDR picture plus the value of recovery_poc_cnt, then picture picA is called the recovery point picture. Otherwise, the first picture in output order with a PicOrderCntVal greater than the PicOrderCntVal of the current picture plus the value of recovery_poc_cnt is called the recovery point picture. A recovery point picture shall not precede the current GDR picture in decoding order. The value of recovery_poc_cnt shall be in the range from 0 to MaxPicOrderCntLsb-1, inclusive. When the current picture is a GDR picture, the variable RpPicOrderCntVal is derived as follows:

number

number

number

number

number

number

number

number

[0030] 3.9.SH Syntax and Semantics In the latest VVC draft text, the syntax and semantics of SH are as follows: [Table 15] TIFF2024012516000092.tif231161TIFF2024012516000093.tif232161TIFF2024012516000094.tif162161The variable CuQpDeltaVal, which specifies the difference between the luma quantization parameter and its prediction for the coding unit that includes cu_qp_delta_abs, is set equal to 0. The variable CuQpDeltaVal specifies the difference between the luma quantization parameter and its prediction for the coding unit that includes cu_chroma_qp_offset_flag. Cb , Qp' Cr , and Qp' CbCr The variable CuQpOffset specifies the value that should be used when determining each value of the quantization parameter. Cb , CuQpOffset Cr , and CuQpOffset CbCr are all set equal to 0. picture_header_in_slice_header_flag equal to 1 specifies that the PH syntax structure is present in the slice header. picture_header_in_slice_header_flag equal to 0 specifies that the PH syntax structure is not present in the slice header. It is a bitstream conformance requirement that the value of picture_header_in_slice_header_flag be the same for all coded slices in a CLVS. It is a bitstream conformance requirement that when picture_header_in_slice_header_flag is equal to 1 for a coded slice, there are no VCL NAL units in CLVS with nal_unit_type equal to PH_NUT. When picture_header_in_slice_header_flag is equal to 0, all coded slices in the current picture shall have picture_header_in_slice_header_flag equal to 0, and the current PU shall have a PH NAL unit. slice_subpic_id specifies the subpicture ID of the subpicture that contains the slice. If slice_subpic_id is present, the value of the variable CurrSubpicIdx is derived so that SubpicIdVal[CurrSubpicIdx] is equal to slice_subpic_id. Otherwise (slice_subpic_id is not present), CurrSubpicIdx is derived so that it is equal to 0. The length of slice_subpic_id is sps_subpic_id_len_minus1+1 bits. slice_address specifies the slice address of the slice. When not present, the value of slice_address is inferred to be equal to 0. When rect_slice_flag is equal to 1 and NumSlicesInSubpic[CurrSubpicIdx] is equal to 1, the value of slice_address is inferred to be equal to 0. If rect_slice_flag is equal to 0, the following applies: - The slice address is the raster scan tile index. - slice_address is Ceil(Log2(NumTilesInPic)) bits in length. - The value of slice_address shall be in the range 0 to NumTilesInPic-1, inclusive. Otherwise (rect_slice_flag equals 1), the following applies: - The slice address is the sub-picture level slice index of the slice. - The length of slice_address is Ceil(Log2(NumSlicesInSubpic[CurrSubpicIdx])) bits. - The value of slice_address shall be in the range 0 to NumSlicesInSubpic[CurrSubpicIdx]-1, inclusive. It is a requirement for bitstream conformance that the following constraints apply: - If rect_slice_flag is equal to 0 or subpic_info_present_flag is equal to 0, the value of slice_address shall not be equal to the value of slice_address of any other coded slice NAL unit of the same coded picture. Otherwise, the pair of slice_subpic_id and slice_address values ​​shall not be equal to the pair of slice_subpic_id and slice_address values ​​of any other coded slice NAL unit of the same coded picture. The shape of the slices of a picture shall be such that each CTU, when decoded, has its entire left and top boundaries consisting of the picture boundary or the boundaries of previously decoded CTU(s). sh_extra_bit[i] may be equal to 1 or 0. Decoders conforming to this version of this specification shall ignore the value of sh_extra_bit[i]; its value does not affect decoder conformance to the profile specified in this version of this specification. num_tiles_in_slice_minus1+1, if present, specifies the number of tiles in the slice. The value of num_tiles_in_slice_minus1 shall be in the range 0 to NumTilesInPic-1, inclusive. The variable NumCtusInCurrSlice, which specifies the number of CTUs in the current slice, and the list CtbAddrInCurrSlice[i], for i in the range 0 to NumCtusInCurrSlice-1, inclusive, which specifies the picture raster scan address of the ith CTB in the slice, are derived as follows:

number

number

number

number

number

number

number

number

number

[0031] 3.10. Reference Picture List Syntax In the latest VVC draft text, the syntax structure ref_pic_lists() and semantics are as follows: [Table 17] The ref_pic_lists( ) syntax structure can be present in the PH syntax structure or the slice header. rpl_sps_flag[i] equal to 1 specifies that reference picture list i in ref_pic_lists( ) is derived based on one of the ref_pic_list_struct(listIdx, rplsIdx) syntax structures with listIdx equal to i in the SPS. rpl_sps_flag[i] equal to 0 specifies that reference picture list i of picture i is derived based on the ref_pic_list_struct(listIdx, rplsIdx) syntax structure with listIdx equal to i that is directly included in ref_pic_lists( ). If rpl_sps_flag[i] is not present, the following applies: - If num_ref_pic_lists_in_sps[i] is equal to 0, the value of rpl_sps_flag[i] is inferred to be equal to 0. - Otherwise (if num_ref_pic_lists_in_sps[i] is greater than 0), when rpl1_idx_present_flag is equal to 0 and i is equal to 1, the value of rpl_sps_flag[1] is inferred to be equal to rpl_sps_flag[0]. rpl_idx[i] specifies the index of the ref_pic_list_struct(listIdx,rplsIdx) syntax structure with listIdx equal to i that is used to derive the reference picture list i of the current picture into the list of ref_pic_list_struct(listIdx,rplsIdx) syntax structures with listIdx equal to i contained in the SPS. The syntax element rpl_idx[i] is represented by Ceil(Log2(num_ref_pic_lists_in_sps[i])) bits. When absent, the value of rpl_idx[i] is inferred to be equal to 0. The value of rpl_idx[i] shall be in the range from 0 to num_ref_pic_lists_in_sps[i]-1, inclusive. When rpl_sps_flag[i] is equal to 1 and num_ref_pic_lists_in_sps[i] is equal to 1, the value of rpl_idx[i] is inferred to be equal to 0. When rpl_sps_flag[i] is equal to 1 and rpl1_idx_present_flag is equal to 0, the value of rpl_idx[1] is inferred to be equal to rpl_idx[0]. The variable RplsIdx[i] is derived as follows:

number

number

number

[0032] 3.11. Reference Picture List Structure Syntax In the latest VVC draft text, the syntax structure ref_pic_lists() and semantics are as follows: [Table 18] The ref_pic_list_struct(listIdx, rplsIdx) syntax structure can be present in the SPS, in the PH syntax structure, or in the slice header. Depending on whether the syntax structure is included in the SPS, in the PH syntax structure, or in the slice header, the following applies: - If present in a PH syntax structure or a slice header, the ref_pic_list_struct(listIdx,rplsIdx) syntax structure specifies the reference picture list listIdx of the current picture (the picture containing the slice). - Otherwise (if present in the SPS), the ref_pic_list_struct(listIdx,rplsIdx) syntax structure specifies candidates for the reference picture list listIdx, and the term "current picture" in the semantics specified in the rest of this section refers to each picture that 1) has a PH syntax structure with ph_rpl_idx[listIdx] equal to an index into the list of ref_pic_list_struct(listIdx,rplsIdx) syntax structures contained in the SPS, or one or more slices with slice_rpl_idx[listIdx] equal to an index into the list of ref_pic_list_struct(listIdx,rplsIdx) syntax structures contained in the SPS, and 2) is in a CVS that references the SPS. num_ref_entries[listIdx][rplsIdx] specifies the number of entries in the ref_pic_list_struct(listIdx,rplsIdx) syntax structure. The value of num_ref_entries[listIdx][rplsIdx] shall be in the range 0 to MaxDpbSize+13, inclusive, where MaxDpbSize is as specified in Section A.4.2. ltrp_in_header_flag[listIdx][rplsIdx] equal to 0 specifies that the POC LSB of the LTRP entry in the ref_pic_list_struct(listIdx,rplsIdx) syntax structure is present in the ref_pic_list_struct(listIdx,rplsIdx) syntax structure. ltrp_in_header_flag[listIdx][rplsIdx] equal to 1 specifies that the POC LSB of the LTRP entry in the ref_pic_list_struct(listIdx,rplsIdx) syntax structure is not present in the ref_pic_list_struct(listIdx,rplsIdx) syntax structure. inter_layer_ref_pic_flag[listIdx][rplsIdx][i] equal to 1 specifies that the i-th entry in the ref_pic_list_struct(listIdx,rplsIdx) syntax structure is an ILRP entry. inter_layer_ref_pic_flag[listIdx][rplsIdx][i] equal to 0 specifies that the i-th entry in the ref_pic_list_struct(listIdx,rplsIdx) syntax structure is not an ILRP entry. When not present, the value of inter_layer_ref_pic_flag[listIdx][rplsIdx][i] is inferred to be equal to 0. st_ref_pic_flag[listIdx][rplsIdx][i] equal to 1 specifies that the i-th entry in the ref_pic_list_struct(listIdx,rplsIdx) syntax structure is a STRP entry. st_ref_pic_flag[listIdx][rplsIdx][i] equal to 0 specifies that the i-th entry in the ref_pic_list_struct(listIdx,rplsIdx) syntax structure is an LTRP entry. When inter_layer_ref_pic_flag[listIdx][rplsIdx][i] equals 0 and st_ref_pic_flag[listIdx][rplsIdx][i] is not present, the value of st_ref_pic_flag[listIdx][rplsIdx][i] is inferred to be equal to 1. The variables NumLtrpEntries[listIdx][rplsIdx] are derived as follows:

number

number

number

[0033] 4. Examples of technical problems solved by the disclosed techniques The existing design of constraint flags has the following problems: 1) Currently, whenever a PTL syntax structure exists with profileTierPresentFlag equal to 1, all general constraint flags / fields are signaled within that PTL syntax structure (SS). Considering that PTL syntax structures may be included in DCI (one or more times, with profileTierPresentFlag equal to 1 each time), VPS (one or more times, with profileTierPresentFlag equal to 1 the first time and either 0 or 1 otherwise), and SPS (zero or one time, with profileTierPresentFlag equal to 1), there may be a lot of redundant signaling of general constraint flags / fields. Furthermore, it is possible that none of the general constraints apply, in which case at least one set of general constraint flags / fields is still signaled for each OLS bitstream. 2) In the latest VVC draft text, general constraint flags are used to constrain the values ​​of some SPS / PH / SH syntax elements (SEs) or their combinations via bitstream constraints in the semantics. However, they can also be used to regulate the presence of such related SPS / PH / SH SEs, which allows skipping the signaling of bits whose values ​​are known, thus avoiding bit wastage. a. In the general_constraint_info() syntax in the latest VVC draft text, syntax elements such as no_aps_constraint_flag affect groups of techniques such as ALF, CCALF, LMCS, scaling lists, etc. However, the current design does not cover all cases (e.g., with regard to specifying constraints on the values ​​of the associated syntax elements or conditioning on the presence of the associated syntax elements). 3) In the latest VVC draft text, some PPS SEs related to general constraint flags can only have specific values ​​depending on the value of a specific general constraint flag. However, some semantic constraints are missing to disallow invalid values ​​of such PPS SEs. 4) In the general_constraint_info() syntax in the latest VVC draft text, a set of general constraint flags interact with each other, i.e., the specific value of a general constraint flag depends on the values ​​of other general constraint flags. However, constraints are missing to disallow invalid values ​​of such general constraint flags, either through bitstream constraints or syntax adjustments. 5) Some syntax elements may be added to the SPS and / or PPS to condition the presence of some SPS / PPS / PH / SH syntax elements to save bits. 6) The general_constraint_info( ) syntax in the latest VVC draft text includes constraint flags for a subset of coding tools and features. However, there are other coding tools (e.g., WPP, entropy coding synchronization, weighted prediction, weighted bi-prediction, SMVD, MMVD, ISP, MRL, MIP, LFNST, palette, ACT, scaling list, etc.) and features (e.g., single layer only, one sub-picture only, no inter-layer prediction, no virtual border, no long-term reference, no 32x32 maximum luma transform size, no MER, etc.) that do not have corresponding constraint flags. 7) In the latest VVC draft text, APS does not refer to PPS, SPS, or VPS. However, the semantics of some APS SEs depend on the value of VPS, SPS, or SE of PPS. Either all such dependencies should be removed, or PPS or SPS or VPS IDs should be added to the APS syntax, allowing reference to PPS or SPS or VPS, thus allowing such semantic dependencies. 8) When feature-related information becomes available to be signaled in either the PH or the SH, a flag (called X_info_in_ph_flag) can be signaled in the PPS to specify whether it will be signaled in the PH or the SH. In the current VVC specification, the flag X_info_in_ph_flag is always signaled in the PPS unconditionally. However, if there is only one slice in a picture, there is no need to signal this X_info_in_ph_flag in the PPS. It is proposed to conditionally signal the PPS flag X_info_in_ph_flag (for any existing feature or future potential feature) based on a known picture partition flag in the bitstream (e.g., no_pic_partition_flag in the PPS). 9) Currently, the values ​​of some APS syntax elements are constrained based on the ChromaArrayType derived from the SPS syntax elements chroma_format_idc and separate_colour_plane_flag. However, this would cause a semantic dependency since there is no PPS / SPS ID in the APS syntax structure. Therefore, this semantic dependency of APS on SPS should not occur. 10) Currently, a GCI syntax structure is signaled as long as the profileTierPresentFlag associated with the profile_tier_level( ) syntax structure is equal to 1. In such a case, multiple GCI syntax structures with different content may be signaled for the same profile ID, which may be confusing and inefficient. Additionally, reserved GCI syntax elements are counted in bytes, which may be undesirable. 11) Currently, GCI fields / SE are used to constrain other SEs, but not all cases have been fully considered, which may cause unintended problems in codec design. For example, the current draft text has the following problems: a. RPL-related SEs and some GCI SEs are not constrained by the value of intra_only_constraint_flag. b. SEs in an SPS / PPS / PH / SH are not fully constrained by GCI SEs, e.g., partition / tile / slice related SEs in an SPS / PPS / PH / SH are not constrained by the values ​​of one_tile_per_pic_constraint_flag and / or one_slice_per_pic_constraint_flag. c.sps_ccalf_enabled_flag, ph_num_alf_aps_ids_luma, slice_num_alf_aps_ids_luma, ph_alf_cb_flag, ph_alf_cr_flag, sh_alf_cb_flag, and sh_alf_cr_flag should be constrained by the value of no_aps_constraint_flag. d. Some GCI SEs may need to be constrained by other GCI SEs, for example, inter-layer SEs are not constrained by the value of all_layers_independent_constraint_flag, and no_bdpcm_constraint_flag is not constrained by the value of no_transform_skip_constraint_flag. The definition of e.intra_only_constraint_flag may need to take into account the nuh_layer_type of each coded slice NAL unit. 12) Currently, aps_chroma_present_flag is signaled in the APS syntax structure and is used to adjust the signaling of the chroma scaling list SE in the scaling_list_data() syntax structure. aps_chroma_present_flag is required to be equal to 1 for non-4:0:0 and non-separated color plane (e.g., ChromaArrayType equal to 1) coding. However, aps_chroma_present_flag may be equal to 0 for ChromaArrayType equal to 1 coding. Additionally, currently the scaling list APS ID is signaled for both luma and chroma, which may not be efficient.

[0034] 5. Exemplary Embodiments and Techniques In order to solve the above problems and some other problems not mentioned, the methods summarized below are disclosed. The present invention should be regarded as an example to illustrate the general concept and should not be interpreted narrowly. Furthermore, these inventions can be applied alone or in any combination. 1. Generally, one or more of the following approaches are disclosed regarding signaling of general constraint flags / fields to solve the first problem: 1) A presence flag can be added to the PTL syntax structure to specify whether the general_constraint_info( ) syntax structure is present in the PTL syntax structure. In one example, when the general_constraint_info( ) syntax structure is not present for OLS, default values ​​are inferred for each of the general constraint flags / fields. i. In one example, when the general_constraint_info( ) syntax structure is not present for an OLS, each of the general constraint flags / fields is inferred to be a value that specifies that the particular constraint is not imposed on the OLS bitstream. For example, the values ​​of intra_only_constraint_flag, no_res_change_in_clvs_constraint_flag, and one_tile_per_pic_constraint_flag are all inferred to be equal to 0. b. In one example, a DCI may require that when there are two or more PTL syntax structures in it, at most one of those PTL syntax structures contains a general_constraint_info( ) syntax structure, and when present, that general_constraint_info( ) syntax structure applies to the entire bitstream. i. Furthermore, only the first PTL syntax structure in a DCI may include the general_constraint_info( ) syntax structure, and it may be required that the general constraint information associated with the first DCI PTL syntax structure in a DCI (explicitly signaled or inferred) be considered as the general constraint information associated with the DCI that applies to the entire bitstream. c. In one example, when DCI is present in a bitstream, it may be required that the PTL syntax structures present in a VPS or SPS must not contain the general_constraint_info( ) syntax structure, and the general constraint information associated with the DCI (explicitly signaled or inferred) applies to each OLS of each CVS in the bitstream. i. Alternatively, when DCI is present in the bitstream, it may be required that the PTL syntax structures present in the VPS must not contain the general_constraint_info( ) syntax structure, and the general constraint information associated with the DCI (explicitly signaled or inferred) applies to each OLS containing two or more layers in each CVS in the bitstream. d. In one example, in a VPS, when there are two or more PTL syntax structures in it, only one of those PTL syntax structures may contain a general_constraint_info( ) syntax structure, and that general_constraint_info( ) syntax structure may be required to be applied to each OLS of each CVS in the bitstream. i. Alternatively, in a VPS, when there are two or more PTL syntax structures in it, only the first PTL syntax structure in the VPS may contain the general_constraint_info( ) syntax structure, and the general constraint information associated with the first PTL syntax structure (explicitly signaled or inferred) may be required to apply to each OLS of each CVS in the bitstream. e. In one example, when two or more PTL (and / or general_constraint_info( )) syntax structures are signaled in the DCI and / or SPS and / or VPS, those PTL (and / or general_constraint_info( )) syntax structures must have the same content in a conforming bitstream. i. In one example, when two or more PTL (and / or general_constraint_info( )) syntax structures are signaled for OLS, those PTL (and / or general_constraint_info( )) syntax structures must have the same content in a conforming bitstream. ii. In one example, when two or more PTL (and / or general_constraint_info( )) syntax structures are signaled for CVS, those PTL (and / or general_constraint_info( )) syntax structures must have the same content in a conforming bitstream. f. In one example, at most one PTL (and / or general_constraint_info( )) syntax structure is allowed to be signaled in the DCI and / or SPS and / or VPS in a conforming bitstream. i. In one example, at most one PTL (and / or general_constraint_info( )) syntax structure is allowed to be signaled for OLS in a conforming bitstream. ii. In one example, at most one PTL (and / or general_constraint_info( )) syntax structure is allowed to be signaled for CVS in a conforming bitstream. g. In one example, when multiple PTL syntax structures are signaled in a DCI that targets multiple OLSs, a syntax element may be added to the DCI syntax structure to specify the index into the list of PTL syntax structures in the DCI of the PTL syntax structure that applies to the i-th OLS. i. Additionally, if there is only one OLS in the bitstream, the signaling of the above syntax elements may be skipped and / or the values ​​of the syntax elements may be inferred to a specific value (such as 0). h. In one example, when there are multiple general_constraint_info( ) syntax structures in the DCI and / or SPS and / or VPS, and the values ​​of a particular general constraint flag / field are different for an OLS, the particular constraint will apply to this OLS as long as any of the general constraint flags imposes the particular constraint. i. In one example, when any of the general constraint flags in the VPS / SPS specify that certain constraints are imposed on the OLS and the corresponding general constraint flag in the DCI specifies that certain constraints are not imposed on the OLS, the OLS may conform to the stricter constraints (e.g., impose such certain constraints on the OLS as indicated in the VPS / SPS). 1. Alternatively, when any of the general constraint flags in the VPS / SPS specify that no specific constraints are imposed on the OLS, and the corresponding general constraint flags in the DCI specify that specific constraints are imposed on the OLS, the OLS may conform to the stricter constraints (e.g., impose such specific constraints on the OLS as indicated in the DCI). ii. In one example, for any particular aspect associated with a general constraint syntax element that imposes a constraint on the OLS, the corresponding general constraint syntax element conveyed in the DCI must have a value that indicates that it may be looser, but not stricter, than the value of the same constraint for that aspect indicated in the VPS / SPS. 1. In one example, if any of the general constraint flags / fields in the VPS / SPS specify that a particular constraint is not imposed on an OLS, then bitstream conformance may be added to require that the value of the corresponding general constraint flag in the DCI be equal to 0 for that OLS (in this case, the value of the corresponding general constraint flag in the DCI is never equal to 1). 2. In one example, if any of the general constraint flags / fields in the VPS / SPS specify that a particular constraint is imposed on an OLS, the value of the corresponding general constraint flag in the DCI may be equal to 0 or 1 for that OLS. iii. Alternatively, and conversely, for any particular aspect associated with a general constraint syntax element that imposes a constraint on the OLS, the corresponding general constraint syntax element conveyed in the DCI must have a value that indicates that it may be stricter, but not looser, than the value of the same constraint for that aspect indicated in the VPS / SPS. 1. In one example, if any of the general constraint flags / fields in the VPS / SPS specify that a particular constraint is imposed on an OLS, bitstream compatibility may be added to require that the value of the corresponding general constraint flag in the DCI be equal to 1 for that OLS (in this case, the value of the corresponding general constraint flag in the DCI cannot be equal to 0). 2. In one example, if any of the general constraint flags / fields in the VPS / SPS specifies that a particular constraint is not imposed for an OLS, the value of the corresponding general constraint flag in the DCI may be equal to 0 or 1 for that OLS. i. In one example, multiple sets of different default values ​​for general constraint flags / fields may be predefined. i. Alternatively, an indication of one set of multiple sets may also be signaled in the DCI / VPS / SPS. ii. Alternatively, only one set is predefined. 1. Alternatively, there may also be one flag in the DCI / VPS / SPS to specify whether one set is used. iii. In one example, for one of the sets, each of the general constraint flags / fields is inferred to be a value that specifies that the particular constraint is not imposed on the OLS bitstream. For example, the values ​​of intra_only_constraint_flag, no_res_change_in_clvs_constraint_flag, and one_tile_per_pic_constraint_flag are all inferred to be equal to 0. iv. In one example, for one or more of the multiple sets, the value of max_bitdepth_constraint_idc may be inferred to be equal to a particular value, for example, 2. 2. Regarding signaling of SPS / PH / SH syntax elements based on general constraint flags to solve the second problem: 1) Depending on the value of the general constraint flag, the signaling of the corresponding syntax element in the SPS / PH / SH may be skipped, for example, as in the first embodiment. In one example, the signaling of some SPS syntax elements may be skipped according to some general constraint flags. i. For example, if the value of the general constraint field max_chroma_format_constraint_idc is equal to 0, the signaling of the corresponding SPS syntax element chroma_format_idc may be skipped. a) Additionally, when max_chroma_format_constraint_idc is equal to 0, the value of chroma_format_idc is inferred to be equal to 0. ii. For example, if the value of the general constraint field max_bitdepth_constraint_idc is equal to 0, the signaling of the corresponding SPS syntax element bit_depth_minus8 may be skipped. a) Additionally, when max_bitdepth_constraint_idc is equal to 0, the value of bit_depth_minus8 is inferred to be equal to 0. iii. For example, if the value of the general constraint flag no_aps_constraint_flag is equal to 1, the signaling of APS-related SPS syntax elements (sps_lmcs_enabled_flag, sps_scaling_list_enabled_flag, sps_alf_enabled_flag, sps_ccalf_enabled_flag, etc.) may be skipped. a) Additionally, when no_aps_constraint_flag is equal to 1, the value of each of the above-mentioned APS-related SPS syntax elements is inferred to be equal to 0. b) Alternatively, and further, if the value of the general constraint flag no_aps_constraint_flag is equal to 1, then the NAL unit type is not allowed to be equal to PREFIX_APS_NUT or SUFFIX_APS_NUT. iv. For example, if the value of the general constraint flag intra_only_constraint_flag is equal to 1, then (sps_weighted_pred_flag, sps_weighted_bipred_flag, long_term_ref_pics_flag, sps_idr_rpl_present_flag, rpl1_same_as_rpl0_flag, gdr_enabled_flag, res_change_in_clvs_allowed_flag, sps_ref_wraparound_enabled_flag, sps_temporal_mvp_enabled_flag, The signaling of one or more of the inter-related SPS syntax elements (such as flag, sps_sbtmvp_enabled_flag, sps_amvr_enabled_flag, sps_bdof_enabled_flag, sps_dmvr_enabled_flag, sps_sbt_enabled_flag, sps_affine_enabled_flag, sps_bcw_enabled_flag, sps_ciip_enabled_flag, sps_fpel_mmvd_enabled_flag, sps_gpm_enabled_flag, etc.) may be skipped. a) Additionally, when intra_only_constraint_flag is equal to 1, the value of each of the above inter-related SPS syntax elements is inferred to be equal to 0. v. For example, the signaling of the corresponding SPS syntax element Y1 may be skipped if the value of the general constraint flag Y2 is equal to 1. a) Additionally, when not present (general constraint flag Y2 is equal to 1), the value of the corresponding SPS syntax element Y1 is inferred to be equal to 0. b) For example, Y1 is sps_ladf_enabled_flag and Y2 is no_ladf_constraint_flag. c) For example, Y1 is gdr_enabled_flag and Y2 is no_gdr_constraint_flag. d) For example, Y1 is res_change_in_clvs_allowed_flag and Y2 is no_res_change_in_clvs_constraint_flag. e) For example, Y1 is qtbtt_dual_tree_intra_flag and Y2 is no_qtbtt_dual_tree_intra_constraint_flag. f) For example, Y1 is partition_constraints_override_enabled_flag and Y2 is no_partition_constraints_override_constraint_flag. g) For example, Y1 is sps_joint_cbcr_enabled_flag and Y2 is no_joint_cbcr_constraint_flag. h) For example, Y1 is sps_sao_enabled_flag and Y2 is no_sao_constraint_flag. i) For example, Y1 is sps_alf_enabled_flag and Y2 is no_alf_constraint_flag. j) For example, Y1 is sps_ccalf_enabled_flag and Y2 is no_ccalf_constraint_flag. k) For example, Y1 is sps_transform_skip_enabled_flag and Y2 is no_transform_skip_constraint_flag. l) For example, Y1 is sps_bdpcm_enabled_flag and Y2 is no_bdpcm_constraint_flag. m) For example, Y1 is sps_ref_wraparound_enabled_flag and Y2 is no_ref_wraparound_constraint_flag. n) For example, Y1=sps_temporal_mvp_enabled_flag, Y2=no_temporal_mvp_constraint_flag. o) For example, Y1 is sps_sbtmvp_enabled_flag and Y2 is no_sbtmvp_constraint_flag. p) For example, Y1 is sps_amvr_enabled_flag and Y2 is no_amvr_constraint_flag. q) For example, Y1 is sps_bdof_enabled_flag and Y2 is no_bdof_constraint_flag. r) For example, Y1 is sps_dmvr_enabled_flag and Y2 is no_dmvr_constraint_flag. s) For example, Y1 is sps_cclm_enabled_flag and Y2 is no_cclm_constraint_flag. t) For example, Y1 is sps_mts_enabled_flag and Y2 is no_mts_constraint_flag. u) For example, Y1 is sps_sbt_enabled_flag and Y2 is no_sbt_constraint_flag. v) For example, Y1 is sps_affine_enabled_flag and Y2 is no_affine_motion_constraint_flag. w) For example, Y1 is sps_bcw_enabled_flag and Y2 is no_bcw_constraint_flag. x) For example, Y1 is sps_ibc_enabled_flag and Y2 is no_ibc_constraint_flag. y) For example, Y1 is sps_ciip_enabled_flag and Y2 is no_ciip_constraint_flag. z) For example, Y1 is sps_fpel_mmvd_enabled_flag and Y2 is no_fpel_mmvd_constraint_flag. aa) For example, Y1 is sps_dep_quant_enabled_flag and Y2 is no_dep_quant_constraint_flag. bb) For example, Y1 is sps_sign_data_hiding_enabled_flag and Y2 is no_sign_data_hiding_constraint_flag. cc) For example, Y1 is sps_gpm_enabled_flag and Y2 is no_gpm_constraint_flag. vi. Alternatively, bitstream constraints may be added to require that the value of an associated syntax element in the SPS be equal to a specific value based on the value of the corresponding general constraint flag. a) In one example (where the above-mentioned SPS syntax element Y1 is signaled or inferred), a bitstream constraint may be added such that when the general constraint flag Y2 is equal to 1, the value of the corresponding SPS syntax element Y1 is required to be equal to 0. b) In one example (where APS-related SPS syntax elements are signaled or inferred), a bitstream constraint may be added that when no_aps_constraint_flag is equal to 1, the value of each of the APS-related SPS syntax elements (sps_lmcs_enabled_flag, sps_scaling_list_enabled_flag, sps_alf_enabled_flag, sps_ccalf_enabled_flag, etc.) is required to be equal to 0. c) In one example (where inter-related SPS syntax elements are signaled or inferred), when intra_only_constraint_flag is equal to 1, the above inter-related SPS syntax elements (sps_weighted_pred_flag, sps_weighted_bipred_flag, long_term_ref_pics_flag, sps_idr_rpl_present_flag, rpl1_same_as_rpl0_flag, gdr_enabled_flag, res_change_in_clvs_allowed_flag, sps_ref_wraparound_enabled_flag, A bitstream constraint may be added requiring the value of each of the following flags to be equal to 0: sps_lag, sps_temporal_mvp_enabled_flag, sps_sbtmvp_enabled_flag, sps_amvr_enabled_flag, sps_bdof_enabled_flag, sps_dmvr_enabled_flag, sps_sbt_enabled_flag, sps_affine_enabled_flag, sps_bcw_enabled_flag, sps_ciip_enabled_flag, sps_fpel_mmvd_enabled_flag, sps_gpm_enabled_flag, etc. b. In one example, the signaling of one or more PH syntax elements may be skipped according to the values ​​of some general constraint flags. i. For example, when intra_only_constraint_flag is equal to 1, signaling of inter-related PH syntax elements such as ph_inter_slice_allowed_flag may be skipped. a) Additionally, when intra_only_constraint_flag is equal to 1, the value of each of the inter-related PH syntax elements, such as ph_inter_slice_allowed_flag, is inferred to be equal to 0. ii. For example, when the intra_only_constraint flag is equal to 1, the signaling of the PH syntax elements in the syntax structure ref_pic_lists( ) and the syntax structure ref_pic_list_struct(listIdx, rplsIdx) included in the PH may be skipped. a) For example, when intra_only_constraint_flag is equal to 1, syntax elements such as rpl_sps_flag[ ], rpl_idx[ ], poc_lsb_lt[ ][ ], delta_poc_msb_present_flag[ ][ ], and delta_poc_msb_cycle_lt[ ][ ] in the syntax structure ref_pic_lists() included in the PH may be skipped. b) For example, when intra_only_constraint_flag is equal to 1, syntax elements such as num_ref_entries[ ][ ], ltrp_in_header_flag[ ][ ], inter_layer_ref_pic_flag[ ][ ][ ], st_ref_pic_flag[ ][ ][ ], abs_delta_poc_st[ ][ ][ ], strp_entry_sign_flag[ ][ ][ ], rpls_poc_lsb_lt[ ][ ][ ], and ilrp_idx[ ][ ][ ] in the syntax structure ref_pic_list_struct(listIdx,rplsIdx) included in the PH may be skipped. iii. Alternatively (in which case the corresponding syntax element in the PH is not conditionally signaled or skipped depending on the value of the associated general constraint flag / field), in one example, a bitstream constraint may be added to require that the value of the associated syntax element in the PH be equal to a specific value based on the value of the corresponding general constraint flag. a) In one example (where the PH syntax element ph_inter_slice_allowed_flag is signaled or inferred), a bitstream constraint may be added such that when intra_only_constraint_flag is equal to 1, the value of each of the inter-related PH syntax elements, such as ph_inter_slice_allowed_flag, is required to be equal to 0. b) In one example (where syntax elements in ref_pic_lists( ) and ref_pic_list_struct(listIdx, rplsIdx) included in the PH are signaled or inferred), a bitstream constraint may be added that requires that syntax elements in the reference picture lists included in the PH are never used. c. In one example, signaling of one or more SH syntax elements may be skipped according to the values ​​of some general constraint flags. i. For example, if the value of intra_only_constraint_flag is equal to 1, the signaling of the RPL-related SH syntax element num_ref_idx_active_override_flag may be skipped. a) Additionally, when intra_only_constraint_flag is equal to 1, the value of num_ref_idx_active_override_flag is inferred to be equal to 0. ii. For example, if intra_only_constraint_flag is equal to 1, signaling of RPL-related syntax elements in the syntax structure ref_pic_lists( ) and syntax structure ref_pic_list_struct(listIdx, rplsIdx) included in SH may be skipped. a) For example, when intra_only_constraint_flag is equal to 1, syntax elements such as rpl_sps_flag[ ], rpl_idx[ ], poc_lsb_lt[ ][ ], delta_poc_msb_present_flag[ ][ ], and delta_poc_msb_cycle_lt[ ][ ] in the syntax structure ref_pic_lists() included in SH may be skipped. b) For example, when intra_only_constraint_flag is equal to 1, syntax elements such as num_ref_entries[ ][ ], ltrp_in_header_flag[ ][ ], inter_layer_ref_pic_flag[ ][ ][ ], st_ref_pic_flag[ ][ ][ ], abs_delta_poc_st[ ][ ][ ], strp_entry_sign_flag[ ][ ][ ], rpls_poc_lsb_lt[ ][ ][ ], and ilrp_idx[ ][ ][ ] in the syntax structure ref_pic_list_struct(listIdx,rplsIdx) included in SH may be skipped. iii. Alternatively (in which case the corresponding syntax elements in the SH are not conditionally signaled or skipped depending on the value of the associated general constraint flag / field), in one example, a bitstream constraint may be added to require that the value of each of the associated syntax elements in the SH be equal to a specific value according to the value of the corresponding general constraint flag. a) In one example (where the SH syntax element num_ref_idx_active_override_flag is signaled or inferred), a bitstream constraint may be added such that when intra_only_constraint_flag is equal to 1, the syntax element num_ref_idx_active_override_flag in SH is required to be equal to 0. b) In one example (where the SH syntax elements in ref_pic_lists( ) and ref_pic_list_struct(listIdx, rplsIdx) included in the SH are signaled or inferred), a bitstream constraint may be added such that when intra_only_constraint_flag is equal to 1, the syntax elements in the reference picture lists included in the SH are never used. d. In the above example, the general constraint flag / field used to determine whether the signaling of one or more SH syntax elements is skipped may be replaced by new syntax elements in SPS / PPS / PH / SH. e. In the above example, the general constraint flag / field used to determine whether the signaling of one or more PH syntax elements is skipped may be replaced by a new syntax element in the SPS / PPS / PH. f. In the above example, the general constraint flag / field used to determine whether the signaling of one or more SPS syntax elements is skipped may be replaced by a new syntax element in the SPS. 3. Regarding the constraints on PPS syntax elements based on the general constraint flag to solve the third problem: 1) Depending on the value of the general constraint flag, the value of the corresponding syntax element in the PPS may be constrained, for example, as in the second embodiment. In one example, bitstream constraints may be added such that, depending on the value of a general constraint flag, the value of a syntax element in a PPS is required to be equal to a particular value. i. For example, when one_tile_per_pic_constraint_flag is equal to 1, the values ​​of num_exp_tile_columns_minus1, and / or num_exp_tile_rows_minus1, and / or rect_slice_flag are required to be equal to 0. ii. For example, when one_slice_per_pic_constraint_flag is equal to 1, the value of rect_slice_flag is required to be equal to 1. iii. For example, when both one_tile_per_pic_constraint_flag and one_slice_per_pic_constraint flag are equal to 1, the value of no_pic_partition_flag is required to be equal to 1. iv. For example, when the intra_only_constraint flag is equal to 1, the values ​​of rpl1_idx_present_flag and num_ref_idx_default_active_minus1[ ] are required to be equal to 0. 4. To solve the fourth problem, regarding the constraints on the general constraint flags to disallow invalid values ​​of the general constraint flags: 1) In the syntax general_constraint_info( ), the value of one general constraint flag may depend on the value of another general constraint flag, as in the third embodiment, for example. In one example, depending on the value of a previously signaled general constraint flag, the signaling of some general constraint flags in the syntax general_constraint_info( ) may be skipped. i. In one example, if the value of one_slice_per_pic_constraint_flag is equal to 1, the signaling of the syntax element one_subpic_per_pic_constraint_flag in the syntax general_constraint_info( ) may be skipped. 1. Additionally, when one_slice_per_pic_constraint_flag is equal to 1, the value of one_subpic_per_pic_constraint_flag is inferred to be equal to 1. ii. In one example, if the value of no_transform_skip_constraint_flag is equal to 1, the signaling of the syntax element no_bdpcm_constraint_flag in the syntax general_constraint_info( ) may be skipped. 1. Additionally, when no_transform_skip_constraint_flag is equal to 1, the value of no_bdpcm_constraint_flag is inferred to be equal to 1. iii. For example, if the value of intra_only_constraint_flag is equal to 1, signaling of inter-related syntax elements in the general_constraint_info( ) syntax structure (no_res_change_in_clvs_constraint_flag, no_ref_wraparound_constraint_flag, no_temporal_mvp_constraint_flag, no_sbtmvp_constraint_flag, no_amvr_constraint_flag, no_bdof_constraint_flag, no_dmvr_constraint_flag, no_sbt_constraint_flag, no_affine_motion_constraint_flag, no_bcw_constraint_flag, no_ciip_constraint_flag, no_fpel_mmvd_constraint_flag, no_gpm_constraint_flag, etc.) may be skipped. 2. Additionally, when intra_only_constraint_flag is equal to 1, the value of each of the above inter-related syntax elements in the general_constraint_info( ) syntax structure is inferred to be equal to 1. b. In one example, alternatively (in which case general constraint flags are not conditionally signaled or skipped depending on the value of previous general constraint flags), a bitstream constraint may be added such that the value of one general constraint flag is required to be equal to a specific value depending on the value of the associated previous general constraint flag(s). i. In one example, when intra_only_constraint_flag is equal to 1, the value of each of the inter-related general constraint flags mentioned in the bullet above is required to be equal to 1. ii. In one example, when intra_only_constraint_flag is equal to 1, at least one of the values ​​of no_idr_constraint_flag and no_cra_constraint_flag is required to be equal to 0. iii. In one example, when no_transform_skip_constraint_flag is equal to 1, the value of no_bdpcm_constraint_flag is required to be equal to 1. iv. In one example, when no_aps_constraint_flag is equal to 1, the value of no_alf_constraint_flag is required to be equal to 1. c. In one example, additionally, bitstream constraints may be added to require the values ​​of some general constraint flags to be equal to specific values, if necessary, under certain conditions. i. In one example, a bitstream constraint may be added to constrain the value of a combination of multiple general constraint flags, for example, requiring that at least one of the values ​​of no_gdr_constraint_flag, no_idr_constraint_flag, and no_cra_constraint_flag be equal to 0. ii. In one example, a bitstream constraint may be added to constrain the range of the general constraint field. 1. For example, max_bitdepth_constraint_idc is required to be in the range 0 to X (e.g., X=8), inclusive. 2. For example, when general_profile_idc is equal to A (eg, A=1), max_bitdepth_constraint_idc is required to be in the range of 0 to B (eg, B=2), inclusive. 5. Regarding adding new SPS / PPS syntax elements to solve problem number 5: 1) For example, as in the fourth embodiment, new SPS and / or PPS syntax elements may be added to condition the associated syntax elements in the SPS / PPS / PH / SH. a. In one example, a new SPS syntax element (e.g., sps_intra_only_flag) and / or a new PPS syntax element (e.g., pps_intra_only_flag) may be added to condition inter-prediction related syntax elements in SPS / PPS / PH / SH. i. In one example, when the general constraint flag intra_only_constraint_flag is equal to 1, the signaling of the new SPS syntax element sps_intra_only_flag and / or the new PPS syntax element pps_intra_only_flag may be skipped. 1. Additionally, when intra_only_constraint_flag is equal to 1, the value of the new SPS syntax element sps_intra_only_flag is inferred to be equal to 1, and / or the value of the new PPS syntax element pps_intra_only_flag is inferred to be equal to 1. ii. In one example, if the value of a new SPS syntax element (e.g., sps_intra_only_flag) is equal to 1, then (sps_weighted_pred_flag, sps_weighted_bipred_flag, long_term_ref_pics_flag, sps_idr_rpl_present_flag, rpl1_same_as_rpl0_flag, gdr_enabled_flag, res_change_in_clvs_allowed_flag, sps_ref_wraparound_enabled_flag, sps_temporal_mvp Signaling of inter-related SPS syntax elements (such as sps_enabled_flag, sps_sbtmvp_enabled_flag, sps_amvr_enabled_flag, sps_bdof_enabled_flag, sps_dmvr_enabled_flag, sps_sbt_enabled_flag, sps_affine_enabled_flag, sps_bcw_enabled_flag, sps_ciip_enabled_flag, sps_fpel_mmvd_enabled_flag, sps_gpm_enabled_flag, etc.) may be skipped. 2. Additionally, when the new SPS syntax element sps_intra_only_flag is equal to 1, the value of each of the inter-related SPS syntax elements is inferred to be equal to a specific value (such as 0 or 1). iii. In one example, if the value of a new SPS / PPS syntax element (e.g., sps_intra_only_flag and / or pps_intra_only_flag) is equal to 1, signaling of the corresponding inter-related syntax elements and RPL-related syntax elements included in the PH and / or SH may be skipped. 1. In one example, the inter-related PH syntax element mentioned above may be ph_inter_slice_allowed_flag. 2. In one example, the RPL-related SH syntax element mentioned above may be num_ref_idx_active_override_flag. 3. As an example, the corresponding RPL-related syntax elements mentioned above may be syntax elements in the syntax structure ref_pic_lists( ) and syntax structure ref_pic_list_struct(listIdx, rplsIdx) included in the PH and / or SH. 4. Additionally, when the new syntax elements sps_intra_only_flag and / or pps_intra_only_flag are equal to 1, the value of each of the corresponding inter-related and RPL-related syntax elements in PH and / or SH is inferred to be equal to a particular value (e.g., 0 or 1). iv. In one example, if the value of a new PPS syntax element (eg, pps_intra_only_flag) is equal to 1, signaling of the corresponding PPS syntax element may be skipped. 1. For example, the corresponding PPS syntax element mentioned above can be rpl1_idx_present_flag. 2. For example, the corresponding PPS syntax element mentioned above can be num_ref_idx_default_active_minus1[ ]. 3. Additionally, when the new PPS syntax element pps_intra_only_flag is equal to 1, the value of the corresponding PPS syntax element is inferred to be equal to a particular value (such as 0 or 1). v. Alternatively (in which case the new SPS and / or PPS syntax elements sps_intra_only_flag and / or pps_intra_only_flag are conditionally signaled or skipped depending on the value of intra_only_constraint_flag), in one example, a bitstream constraint may be added to require that the value of the new SPS and / or PPS syntax elements sps_intra_only_flag and / or pps_intra_only_flag be equal to 1 when intra_only_constraint_flag is equal to 1. vi. Alternatively (in which case the SPS / PPS / PH / SH syntax elements associated with the new SPS / PPS syntax element are not conditionally signaled or skipped depending on the value of the new SPS / PPS syntax element), in one example a bitstream constraint may be added that requires that the value of each of the associated syntax elements in the SPS / PPS / PH / SH be equal to a particular value (such as 0 or 1) depending on the value of the new SPS / PPS syntax element. 1. In one example (where the new PPS syntax element pps_intra_only_flag is signaled or inferred), additionally, a bitstream constraint may be added such that when the new PPS syntax element sps_intra_only_flag is equal to 1, the value of the new PPS syntax element pps_intra_only_flag is required to be equal to 1. 2. In one example (where SPS syntax elements related to a new SPS syntax element are signaled or inferred), a bitstream constraint may be added such that when the new SPS syntax element sps_intra_only_flag is equal to 1, the value of the inter-related SPS syntax element is required to be equal to 0. 3. In one example (where the PPS syntax elements associated with the new SPS / PPS syntax elements are signaled or inferred), a bitstream constraint may be added such that when the new SPS syntax element sps_intra_only_flag is equal to 1 or when the new PPS syntax element pps_intra_only_flag is equal to 1, the value of the inter-associated PPS syntax element is required to be equal to 0. 4. In one example (where PH / SH syntax elements associated with new SPS / PPS syntax elements are signaled or inferred), a bitstream constraint may be added such that when the new SPS syntax element sps_intra_only_flag is equal to 1 and / or the new PPS syntax element pps_intra_only_flag is equal to 1, the values ​​of the corresponding inter-related and / or RPL-related syntax elements included in the PH / SH are required to be equal to a particular value (e.g., 0 or 1). 6. Regarding adding new general constraint flags / fields to solve issue 6: 1) In the syntax general_constraint_info( ), new general constraint flags can be added, and these new general constraint flags can be used, for example, as in the fifth embodiment, to condition related syntax elements in SPS / PPS / PH / SH, or to constrain the values ​​of related syntax elements in SPS / PPS / PH / SH through bitstream constraints. For example, new general constraint flags may be added to accomplish one or more functions, as described below. i. Adding a new general constraint flag, e.g., a new syntax element no_inter_layer_prediction_constraint_flag, for example to disable inter-layer prediction and / or allow only one layer. Furthermore, this new syntax element can be used to condition the signaling of the SPS syntax element inter_layer_ref_pics_present_flag or to constrain its value. ii. Add a new general constraint flag to disable long term references, e.g., a new syntax element no_long_term_ref_pics_constraint_flag. Furthermore, this new syntax element can be used to condition the signaling of the SPS syntax element long_term_ref_pics_flag or to constrain its value. iii. Add a new general constraint flag, e.g., a new syntax element no_max_luma_transform_size 64_constraint_flag, for disabling the maximum transform size equal to, for example, 32x32. Furthermore, this new syntax element can be used to condition the signaling of the SPS syntax element sps_max_luma_transform_size_64_flag or to constrain its value. iv. Add a new general constraint flag, e.g., to disable MER, e.g., a new syntax element no_parallel_merge_level_constraint_flag. Furthermore, this new syntax element can be used to condition the signaling of the SPS syntax element log2_parallel_merge_level_minus2 or to constrain its value. v. Add a new general constraint flag to disable the presence of wavefront parallel processing entry offsets, e.g., a new syntax element no_wpp_entry_point_offset_present_constraint_flag. Furthermore, this new syntax element can be used to condition the signaling of the SPS syntax element sps_wpp_entry_point_offsets_present_flag or to constrain its value. vi. Add a new general constraint flag for disabling entropy coding synchronization points (i.e., wavefront parallelism), e.g., the no_entropy_coding_sync_constraint_flag syntax element. Furthermore, this new syntax element can be used to condition the signaling of, or constrain the value of, the SPS syntax element sps_entropy_coding_sync_enabled_flag. b. For example, new general constraint flags may be added to control one or more of the coding tools, as described below. i. Add a new general constraint flag, e.g., a new syntax element no_weighted_pred_constraint_flag, for disabling weighted prediction for P slices. Furthermore, this new syntax element can be used to condition the signaling of the SPS syntax element sps_weighted_pred_flag or to constrain its value. ii. Add a new general constraint flag, e.g., a new syntax element no_weighted_bipred_constraint_flag, for disabling weighted bi-prediction, for example, for B slices. Furthermore, this new syntax element can be used to condition the signaling of or constrain the value of the SPS syntax element sps_weighted_bipred_flag. iii. Add a new general constraint flag, e.g., to disable SMVD, e.g., a new syntax element no_smvd_constraint_flag. Furthermore, this new syntax element can be used to condition the signaling of the SPS syntax element sps_smvd_enabled_flag or to constrain its value. iv. Add a new general constraint flag, e.g., to disable MMVD, e.g., a new syntax element no_mmvd_constraint_flag. Furthermore, this new syntax element can be used to condition the signaling of the SPS syntax element sps_mmvd_enabled_flag or to constrain its value. v. Add a new general constraint flag, e.g., for disabling ISP, e.g., a new syntax element no_isp_constraint_flag. Furthermore, this new syntax element can be used to condition the signaling of the SPS syntax element sps_isp_enabled_flag or to constrain its value. vi. Add a new general constraint flag, e.g., for disabling MRL, e.g., a new syntax element no_mrl_constraint_flag. Furthermore, this new syntax element can be used to condition the signaling of the SPS syntax element sps_mrl_enabled_flag or to constrain its value. vii. Add a new general constraint flag, e.g., for disabling MIP, e.g., a new syntax element no_mip_constraint_flag. Furthermore, this new syntax element can be used to condition the signaling of the SPS syntax element sps_mip_enabled_flag or to constrain its value. viii. Add a new general constraint flag, e.g., for disabling PLT, e.g., a new syntax element no_palette_constraint_flag. Furthermore, this new syntax element can be used to condition the signaling of the SPS syntax element sps_palette_enabled_flag or to constrain its value. ix. Add a new general constraint flag, e.g., to disable ACT, e.g., a new syntax element no_act_constraint_flag. Furthermore, this new syntax element can be used to condition the signaling of the SPS syntax element sps_act_enabled_flag or to constrain its value. x. Add a new general constraint flag, e.g., to disable LMCS, e.g., a new syntax element no_lmcs_constraint_flag. Furthermore, this new syntax element can be used to condition the signaling of the SPS syntax element sps_lmcs_enabled_flag or to constrain its value. xi. Add a new general constraint flag, e.g., a new syntax element no_lfnst_constraint_flag, for disabling LFNST. Furthermore, this new syntax element can be used to condition the signaling of the SPS syntax element sps_lfnst_enabled_flag or to constrain its value. xii. Add a new general constraint flag, e.g., for disabling the scaling list, e.g., a new syntax element no_scaling_list_constraint_flag. Furthermore, this new syntax element can be used to condition the signaling of the SPS syntax element sps_scaling_list_enabled_flag or to constrain its value. xiii. Add a new general constraint flag, e.g., for disabling virtual boundaries, e.g., a new syntax element no_virtual_boundaries_constraint_flag. Furthermore, this new syntax element can be used to condition the signaling of the SPS syntax element sps_virtual_boundaries_enabled_flag or to constrain its value. c. For example, as described below, new general constraint flags may be added to control groups of syntax elements (i.e., to condition the signaling of or constrain the values ​​of groups of syntax elements). i. Add a new general constraint flag, for example, to disable weighted prediction and weighted bi-prediction. Furthermore, this new syntax element may be used to control the SPS syntax elements sps_weighted_pred_flag and sps_weighted_bipred_flag. d. For example, when the new general constraint syntax is equal to 1, the signaling of the corresponding SPS / PH / SH syntax element may be skipped. ii. Additionally, if a corresponding SPS / PH / SH syntax element does not exist (if the corresponding new general constraint syntax element is 1), the value of the corresponding SPS / PH / SH syntax element is inferred to be a specific value (e.g., 0 or 1). iii. Alternatively (in this case where the corresponding SPS / PH / SH syntax element is signaled or inferred), in one example, a bitstream constraint may be added such that when the new general constraint syntax element is equal to 1, the value of the corresponding SPS / PH / SH syntax element is required to be equal to a particular value (e.g., 0 or 1). i. Alternatively, in one example, when no_aps_cosntraint_flag is equal to 1, the values ​​of the APS-related newly added constraint flags (e.g., no_scaling_list_constraint_flag and no_lmcs_constraint_flag) are required to be equal to 1. ii. Alternatively, in one example, when intra_only_cosntraint_flag is equal to 1, the values ​​of the APS-related newly added constraint flags (e.g., no_weighted_pred_constraint_flag, no_weighted_bipred_constraint_flag, no_long_term_ref_pics_constraint_flag, no_inter_layer_prediction_constraint_flag, no_smvd_constraint_flag, and no_mmvd_constraint_flag) are required to be equal to 1. iii. Alternatively, in one example, when vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]] is equal to 1, the value of no_inter_layer_prediction_constraint_flag is required to be equal to 1. 7. Regarding the connection of APS syntax elements to syntax elements in other parameter sets to solve problem number seven: 1) In one example, as in the sixth embodiment, the VPS ID and / or SPS ID and / or PPS ID may be added to the APS syntax structure, ie, adaptation_parameter_set_rbsp( ). 2) In one example, as in the sixth embodiment, APS syntax elements (e.g., alf_luma_filter_signal_flag, alf_chroma_filter_signal_flag, alf_cc_cb_filter_signal_flag, and alf_cc_cr_filter_signal_flag) may depend on the value of the general constraint flag. For example, when no_aps_constraint_flag is equal to 0, at least one of the values ​​of alf_luma_filter_signal_flag, alf_chroma_filter_signal_flag, alf_cc_cb_filter_signal_flag, and alf_cc_cr_filter_signal_flag shall be equal to 1. b. For example, when sps_alf_enabled_flag is equal to 1, at least one of the values ​​of alf_luma_filter_signal_flag, alf_chroma_filter_signal_flag, alf_cc_cb_filter_signal_flag, and alf_cc_cr_filter_signal_flag shall be equal to 1. When c.no_aps_constraint_flag is equal to 0 and sps_alf_enabled_flag is equal to 1, at least one of the values ​​of alf_luma_filter_signal_flag, alf_chroma_filter_signal_flag, alf_cc_cb_filter_signal_flag, and alf_cc_cr_filter_signal_flag shall be equal to 1. d. Alternatively, the values ​​of alf_luma_filter_signal_flag, alf_chroma_filter_signal_flag, alf_cc_cb_filter_signal_flag, and alf_cc_cr_filter_signal_flag may depend on whether there are APS NAL units with aps_params_type equal to ALF_APS. 3) In one example, the APS syntax element may depend on the value of the syntax element associated with the corresponding SPS / PPS according to the SPS / PPS ID. a. For example, the values ​​of chroma-related APS syntax elements (such as alf_chroma_filter_signal_flag, alf_cc_cb_filter_signal_flag, alf_cc_cr_filter_signal_flag, scaling_list_chroma_present_flag) will not be constrained according to variables derived by SPS syntax elements (such as ChromaArrayType). 4) In one example, when no_aps_constraint_flag is equal to 1, a bitstream constraint may be added that syntax elements associated with the syntax structures alf_data( ), lmcs_data( ), and scaling_list_data( ) cannot be sent. 8. Regarding redundant signaling of general constraint flags: 1) In one example, an indicator may be included in the syntax structure of profile_tier_level() and / or general_constraint_info( ) to indicate which profile and / or which tier and / or which level the current general constraint information applies to. 2) In one example, the syntax structure general_constraint_info( ) may be the SPS syntax structure seq_parameter_set_rbsp( ) and may be included only in the SPS syntax structure seq_parameter_set_rbsp( ). 3) If a VPS exists, bitstream constraints can be added that the general_constraint_info( ) syntax element contained in the VPS is used in the CVS. 4) If no VPS exists, a bitstream constraint can be added in which the general_constraint_info( ) syntax element contained in the SPS is used for the current CLVS. 9. In one example, whether and / or how to signal a general constraint structure may depend on the profile and / or sub-profile and / or level and / or tier values. a. In one example, each general_constraint_info( ) syntax structure is specified to be associated with one set of general_profile_idc and subprofile_sub_profile_idc[i] for all i values ​​signaled in the same profile_tier_level( ) syntax structure as the general_constraint_info( ) syntax structure. That is, each general_constraint_info( ) syntax structure is specified to be associated with a profile_tier_level( ) syntax structure that contains the general_constraint_info( ) syntax structure. b. In one example, the information conveyed in the general_constraint_info( ) syntax structure may impose more constraints on which coding tools may be applied than the profile and subprofile indicated in the profile_tier_level( ) syntax structure that contains the general_constraint_info( ) syntax structure. This means that in addition to all constraints imposed by the profile and subprofile, more aspects may be constrained by the general constraint information. c. In one example, for any particular aspect associated with a general constraint syntax element, the corresponding general constraint syntax element must have a value that indicates either a stricter constraint for that aspect than is indicated by the profile and sub-profile, or the same constraint for that aspect as is indicated by the profile and sub-profile. i. In one example, if either the profile or the sub-profile indicates that all slices are intra slices, then intra_only_constraint_flag shall be equal to 1, and if neither the profile nor the sub-profile indicates that all slices are intra slices, then intra_only_constraint_flag may be equal to either 1 or 0. d. In one example, for any particular aspect associated with a general constraint syntax element, the most stringent constraint indicated by the profile, sub-profile, and corresponding general constraint syntax element applies. i. In one example, when either the profile or the sub-profile indicates that all slices are intra slices, the value of intra_only_constraint_flag can be equal to either 1 or 0, but all slices are still required to be intra slices; when neither the profile nor the sub-profile indicates that all slices are intra slices and the value of intra_only_constraint_flag is equal to 1, again, all slices are required to be intra slices. e. In one example, general constraint information is not signaled for a particular profile and / or sub-profile and / or level and / or tier, and the general constraint flag / field is inferred to be a predefined value based on the particular profile and / or level and / or tier. f. In one example, general constraint information may be signaled but ignored for a particular profile and / or sub-profile and / or level and / or tier, and the general constraint flag is inferred to be a predefined value based on the particular profile and / or level and / or tier. g. In one example, general constraint information may be signaled for a particular profile and / or sub-profile and / or level and / or tier, where the general constraint flag must be equal to a predefined value based on the particular profile and / or level and / or tier in the conforming bitstream. h. In one example, general constraint information may be signaled for a particular profile and / or subprofile and / or level and / or tier, and whether and / or how to apply the coding tools may be determined by the corresponding general constraint flag(s), ignoring the specifications in the profile and / or level and / or tier. i. In one example, if a coding tool is specified to be turned off in a profile and / or subprofile and / or level and / or tier, the general constraint flag associated with the coding tool must be set equal to 1 (meaning turned off). j. In one example, if a coding tool is specified to be turned off in a profile and / or subprofile and / or level and / or tier, the general constraint flag associated with the coding tool may be ignored and inferred to be 1 (meaning turned off). k. In one example, if a coding tool is specified to be turned off in a profile and / or subprofile and / or level and / or tier, the general constraint flag associated with the coding tool may be skipped and inferred to be 1 (meaning turned off). l. In one example, if the profile and / or sub-profile indicates all intra coding, then intra_only_constraint_flag must be equal to 1. Alternatively, if the profile and / or sub-profile indicates all intra-coding, the intra_only_constraint_flag is skipped or ignored and inferred to be 1. 10. To solve the eighth problem, regarding the presence and value of syntax elements (e.g., X_info_in_ph_flag in PPS): a. It is proposed that the presence of a syntax element (e.g., X_info_in_ph_flag in a PPS) that specifies whether related information for a particular feature is signaled in the PH or SH is conditional on whether there is a picture partition / split that references the PPS (e.g., whether no_pic_partition_flag is equal to 1). i. Alternatively, the presence of X_info_in_ph_flag in a PPS may be conditional on whether there is only one slice in the picture that references the PPS. ii. Additionally, when not present, X_info_in_ph_flag is inferred to be equal to a particular value (such as 0 or 1). 1. Alternatively, when not present, if feature X depends on an APS syntax element, then infer X_info_in_ph_flag to be equal to 1. 2. Alternatively, when not present, if feature X does not depend on any APS syntax element, then X_info_in_ph_flag is inferred to be equal to 0. b. Additionally, the value of X_info_in_ph_flag may be constrained based on whether a PH syntax structure is present in the slice header. i. For example, when picture_header_in_slice_header_flag is equal to 1, it is required that the value of X_info_in_ph_flag is equal to a specific value (such as 0 or 1). c. For example, X may be a chroma QP offset (assuming a flag called chroma_qp_offset_info_in_ph_flag is signaled in the PPS to control whether the chroma QP offset should be signaled in the PH or SH). d. For example, X can be any feature whose associated information can be signaled in either PH or SH. 11. Regarding removing the semantic dependency of APS on SPS to solve problem number 9: a. In one example, a syntax element (eg, referred to as aps_chroma_present_flag) that specifies whether chroma-related APS syntax elements are signaled may be signaled in an APS syntax structure (eg, adaptation_parameter_set_rbsp( )). b. For example, the ChromaArrayType derived by the SPS syntax element is achievable through the SPS / PPS ID associated with the PH / SH syntax element. c. In one example, the constraints of an APS syntax element (e.g., aps_chroma_present_flag) may depend on a variable derived from a PH or SH syntax element (e.g., ChromaArrayType). d. In one example, the constraints and signaling apply similarly to the seventh embodiment. e. In one example, the constraints and signaling apply similarly to the eighth embodiment. f. For example, when chromaArrayType is not equal to 0, it is required that the value of aps_chroma_present_flag must be equal to 1 for APS NAL units having aps_params_type equal to ALF_APS and adaptation_parameter_set_id equal to ph_alf_aps_id_luma[i]. i. Alternatively, when chromaArrayType is not equal to 0, it is required that the value of aps_chroma_present_flag must be equal to 1 for APS NAL units with aps_params_type equal to ALF_APS and adaptation_parameter_set_id equal to ph_alf_aps_id_chroma. ii. Alternatively, when chromaArrayType is not equal to 0, it is additionally required that the value of aps_chroma_present_flag of an APS NAL unit having aps_params_type equal to ALF_APS and adaptation_parameter_set_id equal to ph_cc_alf_cb_aps_id must be equal to 1. iii. Alternatively, when chromaArrayType is not equal to 0, it is additionally required that the value of aps_chroma_present_flag of an APS NAL unit having aps_params_type equal to ALF_APS and adaptation_parameter_set_id equal to ph_cc_alf_cr_aps_id must be equal to 1. g. Additionally, when chromaArrayType is equal to 0, it is required that the value of aps_chroma_present_flag of an APS NAL unit having aps_params_type equal to ALF_APS and adaptation_parameter_set_id equal to ph_alf_aps_id_luma[i] must be equal to 0. h. Additionally, when chromaArrayType is not equal to 0, it is required that the value of aps_chroma_present_flag of an APS NAL unit having aps_params_type equal to ALF_APS and adaptation_parameter_set_id equal to slice_alf_aps_id_luma[i] must be equal to 1. i. Alternatively, when chromaArrayType is not equal to 0, it is required that the value of aps_chroma_present_flag must be equal to 1 for APS NAL units with aps_params_type equal to ALF_APS and adaptation_parameter_set_id equal to slice_alf_aps_id_chroma. ii. Alternatively, when chromaArrayType is not equal to 0, it is additionally required that the value of aps_chroma_present_flag of an APS NAL unit having aps_params_type equal to ALF_APS and adaptation_parameter_set_id equal to slice_cc_alf_cb_aps_id must be equal to 1. iii. Alternatively, when chromaArrayType is not equal to 0, it is additionally required that the value of aps_chroma_present_flag of an APS NAL unit having aps_params_type equal to ALF_APS and adaptation_parameter_set_id equal to slice_cc_alf_cr_aps_id must be equal to 1. i. Additionally, when chromaArrayType is equal to 0, it is required that the value of aps_chroma_present_flag of an APS NAL unit having aps_params_type equal to ALF_APS and adaptation_parameter_set_id equal to slice_alf_aps_id_luma[i] must be equal to 0. 12. It is proposed that an SE (e.g., called "general_pic_header_in_slice_header_constraint_flag") be signaled in a general constraint syntax structure (such as general_constraint_info( ) in VVC) to indicate whether picture header information should be signaled in the slice header. a. For example, when general_pic_header_in_slice_header_constraint_flag is equal to 0, it is required that picture header information must be signaled in the slice header. b. For example, when general_pic_header_in_slice_header_constraint_flag is equal to 1, it is required that picture header information must be signaled in the slice header. When c.general_pic_header_in_slice_header_constraint_flag is equal to 0, it is required that the SE (such as one_slice_per_pic_constraint_flag) indicating whether each picture must contain only one slice must be equal to 1. d. When general_pic_header_in_slice_header_constraint_flag is equal to 1, it is required that the SE (such as one_slice_per_pic_constraint_flag) indicating whether each picture must contain only one slice must be equal to 1. 13. It is proposed that whether it should be possible to partition a picture into rectangular or non-rectangular slices may be constrained by bitstream compatibility. a. Alternatively, whether a picture header should be signaled in a slice header may be constrained by bitstream compatibility depending on whether the picture should be partitioned into rectangular or non-rectangular slices. b. For example, when a picture is partitioned into rectangular slices (eg, rect_slice_flag is equal to 1), an SE (such as picture_header_in_slice_header_flag) indicating whether a picture header should be signaled in the slice header should be equal to 1. c. For example, when signaling a picture header in a slice header (eg, picture_header_in_slice_header_flag is equal to 1), SE(rect_slice_flag), which indicates whether the picture should be partitioned into rectangular slices, should be equal to 1. 14. Regarding GCI syntax structure signaling to solve the tenth problem, for example, as in the ninth embodiment, one or more of the following approaches are disclosed: a. A new syntax element (e.g., a flag called gci_present_flag) is signaled in the profile_tier_level( ) syntax structure to indicate the presence of a GCI SE in a GCI syntax structure (e.g., general_constraint_info( )) and / or the presence of the GCI syntax structure (e.g., general_constraint_info( )) itself in a PTL syntax structure (e.g., profile_tier_level( )). i. In one example, whether a GCI SE in a GCI syntax structure is signaled depends on the value of gci_present_flag. ii. In one example, if a syntax element specifies that GCI is not present (e.g., gci_present_flag is equal to 0), then the GCI syntax structure (e.g., general_constraint_info( )) is not signaled in the current profile_tier_level( ) syntax structure. iii. In one example, when a GCI syntax structure is not present in the profile_tier_level( ) syntax structure or when a GCI SE in the GCI syntax structure is not present, each GCI SE is inferred to have a value such that the corresponding constraint is not imposed, e.g., the value of intra_only_constraint_flag is inferred to be equal to 0. 1. In one example, the following inferences are specified: for a profile_tier_level( ) syntax structure with profileTierPresentFlag equal to 1 (and therefore no GCI syntax structures are present in the profile_tier_level( ) syntax structure), when gci_present_flag is equal to 0, the value of max_bitdepth_constraint_idc is inferred to be equal to 8, the value of max_chroma_format_constraint_idc is inferred to be equal to 3, and the values ​​of each of the other syntax elements in the general_constraint_info( ) syntax structure, starting from general_non_packed_constraint_flag up to and including no_aps_constraint_flag, are inferred to be equal to 0. iv. In one example, when the GCI SE is not signaled, it may be inferred to be a default value such as 0 or 1. 1. The default value may depend on the profile and / or level. v. In one example, the signaling of gci_present_flag may be conditional on profile and / or level. 1. When gci_present_flag is not signaled, it may be inferred to be a default value such as 0 or 1. vi. In one example, gci_present_flag is u(1) coded. b. The start position of a syntax element (e.g., general_level_idc) that specifies the level to which OlsInScope conforms is always byte-aligned. i. In one example, if the current position in the bitstream is not on a byte boundary, i.e., if the next bit in the bitstream is not the first bit in the byte, one or more syntax elements (e.g., ptl_alignment_zero_bit) are signaled immediately before the general_level_idc until the starting position is byte-aligned. 1. In one example, a zero-valued syntax element (e.g., ptl_alignment_zero_bit) is coded with a fixed-pattern bit sequence using n bits (where n=1) written left-bit first (left to right), i.e., f(1) coded. c. GCI syntax structures do not have to be byte-aligned. i. In one example, the general constraint flag is signaled in the GCI syntax structure without checking whether it is byte-aligned or not. d. The reserved bit is signaled in the GCI syntax structure. i. In one example, the number of reserved bits is signaled in the GCI syntax structure, for example referred to as gci_num_reserved_bits. ii. In one example, the number of reserved bits signaled in the GCI syntax structure is u(N) coded, such as N=11. iii. In one example, the number of reserved bits signaled in the GCI syntax structure is ue(v) coded. iv. In one example, a reserved GCI syntax element (eg, referred to as gci_reserved_bit[i]) is signaled, where i ranges from 0 to gci_num_reserved_bits-1, inclusive. v. In one example, reserved GCI syntax elements are u(X) coded, such as X=1. vi. In one example, the reserved bits must be byte-aligned. 1. In one example, the number of bytes of reserved bits is signaled. 15. Regarding semantic constraints on general constraint flags / fields to solve the 11th problem, for example, as in the 9th embodiment, one or more of the following approaches are disclosed: a. In one example, when only slice_type equal to I_SLICE is allowed (e.g., intra_only_constraint_flag equals 1), one or more constraints on the following may be specified: i. RPL related SEs are constrained to certain values ​​that specify that RPL is required not to be used. ii. It is requested that long-term reference pictures are not allowed (eg, the value of long_term_ref_pics_flag shall be equal to 0). iii. It is requested that RPL is not allowed for IDR pictures (eg, the value of sps_idr_rpl_present_flag shall be equal to 0). iv. The number of reference picture lists is required to be equal to 0 (e.g., the value of sps_num_ref_pic_lists[i] shall be equal to 0). v. All layers are independent layers (e.g., the value of all_layers_independent_constraint_flag is equal to 1). vi. It is requested that RPR is not allowed (e.g., the value of no_ref_pic_resampling_constraint_flag shall be equal to 1). vii. It is requested that resolution changes are not allowed (e.g., the value of no_res_change_in_clvs_constraint_flag shall be equal to 1). viii. It is required that weighted prediction of P slices is not allowed. 1. A new syntax element (eg, called no_weighted_pred_constraint_flag) can be signaled in the GCI syntax structure to indicate whether weighted prediction of P slices should be allowed or not. 2. In one example, when only slice_type equal to I_SLICE is allowed (e.g., intra_only_constraint_flag equals 1), the value of no_weighted_bipred_constraint_flag shall be equal to 1. ix. It is required that weighted prediction of B slices is not allowed. 1. A new syntax element (eg, called no_weighted_bipred_constraint_flag) can be signaled in the GCI syntax structure to indicate whether weighted prediction of B slices should be allowed or not. 2. In one example, when only slice_type equal to I_SLICE is allowed (eg, intra_only_constraint_flag equals 1), the value of no_weighted_bipred_constraint_flag shall be equal to 1. It is required that weighted prediction of both xP slices and B slices is not allowed. 1. A new syntax element (eg, called no_weighted_pred_constraint_flag) may be signaled in the GCI syntax structure to indicate whether weighted prediction of P slices and B slices should be allowed or not. 2. In one example, when only slice_type equal to I_SLICE is allowed (e.g., intra_only_constraint_flag equals 1), the value of no_weighted_pred_constraint_flag shall be equal to 1. xi. SBT is not permitted (e.g., the value of no_sbt_constraint_flag is equal to 1). xii. It is requested that GDR is not allowed (e.g., the value of no_gdr_constraint_flag shall be equal to 1). xiii. Coding tool X that applies only to interpictures is not allowed. For example, the value of the constraint flag no_X_constraint_flag shall be equal to 1. For example, X_flag can be one of the following: 1.no_ref_wraparound_constraint_flag 2.no_temporal_mvp_constraint_flag 3.no_sbtmvp_constraint_flag 4.no_amvr_constraint_flag 5.no_bdof_constraint_flag 6.no_dmvr_constraint_flag 7.no_affine_motion_constraint_flag 8.no_mmvd_constraint_flag 9.no_smvd_constraint_flag 10.no_prof_constraint_flag 11.no_bcw_constraint_flag 12.no_ciip_constraint_flag 13.no_gpm_constraint_flag b. SE in SPS / PPS / PH / SH can be constrained by GCI SE. i. In one example, when each picture contains only one tile (e.g., one_tile_per_pic_constraint_flag is equal to 1), one or more constraints on the following may be specified: 1. The number of tile columns is required to be 1 (e.g., the value of pps_num_exp_tile_columns_minus1 shall be equal to 0). 2. The number of tile rows is required to be 1 (e.g., the value of pps_num_exp_tile_rows_minus1 is inferred to be equal to 0). 3. The slice is required to be a rectangular slice other than a raster scan slice (e.g., the value of pps_rect_slice_flag is equal to 1). ii. In one example, when it is requested that APS not be allowed (e.g., no_aps_constraint_flag is equal to 1), one or more constraints on the following may be specified: 1. It is requested that CCALF is not allowed (e.g., sps_ccalf_enabled_flag is equal to 0). 2. The number of ALF luma APS is required to be equal to 1 (e.g., ph_num_alf_aps_ids_luma, slice_num_alf_aps_ids_luma shall be equal to 0). 3. Chroma ALF is requested not to be allowed (e.g., ph_alf_cb_flag, ph_alf_cr_flag, sh_alf_cb_flag, and sh_alf_cr_flag shall be equal to 0). iii. In one example, when each picture contains only one slice (e.g., one_slice_per_pic_constraint_flag is equal to 1), the slices are required to be rectangular slices other than raster scan slices (e.g., the value of pps_rect_slice_flag is equal to 1). iv. In one example, when each picture contains only one tile and each picture contains only one slice (e.g., one_tile_per_pic_constraint_flag and one_slice_per_pic_constraint_flag are both equal to 1), there shall be no picture partition (e.g., the value of pps_no_pic_partition_flag shall be equal to 1). v. In one example, when each picture contains only one slice and the slice is a rectangular slice (e.g., one_slice_per_pic_constraint_flag and rect_slice_flag are both equal to 1), the number of slices in the picture is required to be equal to 1 (e.g., the value of pps_num_slices_in_pic_minus1 shall be equal to 0). vi. In one example, when each picture contains only one subpicture (e.g., one_subpic_per_pic_constraint_flag is equal to 1), it specifies that the number of subpictures is required to be equal to 1 (e.g., sps_num_subpics_minus1 is equal to 0). c. Some GCI SEs can be constrained by other GCI SEs. i. In one example, when all_layers_independent_constraint_flag is equal to 1, the value of sps_inter_layer_ref_pics_present_flag shall be equal to 0. ii. When no_transform_skip_constraint_flag is equal to 1, the value of no_bdpcm_constraint_flag shall be equal to 1. iii. When no_lmcs_constraint_flag or no_explicit_scaling_list_...

Claims

1. 1. A method of video processing, comprising: Performing a conversion between a video and a bitstream of said video according to rules. Including, The rule specifies that a first syntax element is included in the profile, tier, level information syntax structure when a value of a profile tier present flag is equal to 1 indicating that the presence of profile, tier, and general constraint information is allowed; a value of the first syntax element indicates whether one or more general constraint information syntax elements are included in the general constraint information syntax structure; when the value of the first syntax element is equal to 0, the one or more general constraint information syntax elements are not included in the general constraint information syntax structure, and the general constraint information syntax structure does not impose any constraints. method.

2. The method of claim 1 , wherein the first syntax element is coded as an unsigned integer using N bits, where N is equal to 1.

3. A second syntax element specifying level information to which one or more output layer sets conform is included in the profile, tier, level information syntax structure; the rule specifies that a starting position of the second syntax element in the profile, tier, level information syntax structure is constrained to be aligned on a byte boundary. The method according to claim 1 or 2.

4. The method of claim 1 , wherein the rule specifies that a third syntax element is included in the general constraint information syntax structure, the third syntax element indicating a number of reserved bits in the general constraint information syntax structure.

5. The method of claim 4 , wherein the third syntax element is coded as an unsigned integer using M bits, where M is an integer.

6. The reserved general constraint information syntax element is included in the general constraint information syntax structure, the reserved general constraint information syntax element is gci_reserved_zero_bit[i], where i ranges from 0 to the value of the third syntax element minus 1; The method according to claim 4 or 5.

7. The method of claim 6 , wherein the reserved general constraint information syntax element is coded as an unsigned integer using S bits, where S is equal to one.

8. The rule specifies that one or more syntax elements in a sequence parameter set, a picture parameter set, a picture header, or a slice header are constrained according to a fourth syntax element included in the general constraint information syntax structure, the fourth syntax element specifying whether a Network Abstraction Layer (NAL) unit having a NAL unit type equal to PREFIX_APS_NUT or SUFFIX_APS_NUT is absent; When the value of the fourth syntax element is equal to 1 and specifies that there are no NAL units whose NAL unit type is equal to PREFIX_APS_NUT or SUFFIX_APS_NUT, a value of a fifth syntax element in the sequence parameter set is constrained to be equal to 0 to specify that a cross-component adaptive loop filter is disabled; a value of a sixth syntax element in the picture header is constrained to be equal to 0 to specify that the number of adaptive loop filter (ALF) adaptation parameter sets (APS) referenced by the picture is equal to 0; the value of a seventh syntax element in the slice header is constrained to be equal to 0, specifying that the number of ALF APSs referenced by the slice is equal to 0; a value of an eighth syntax element in the picture header is constrained to be equal to 0 to specify that the adaptive loop filter is disabled for a Cb color component of a picture; a value of a ninth syntax element in the picture header is constrained to be equal to 0 to specify that the adaptive loop filter is disabled for a Cr color component of a picture; a value of a tenth syntax element in the slice header is constrained to be equal to 0 to specify that the adaptive loop filter is disabled for a Cb color component of a slice; The value of an eleventh syntax element in the slice header is constrained to be equal to 0 to specify that the adaptive loop filter is disabled for the Cr color component of the slice.

8. The method according to any one of claims 1 to 7.

9. The method of claim 1 , wherein the conversion comprises encoding the video into the bitstream.

10. The method of claim 1 , wherein the converting comprises decoding the video from the bitstream.

11. 16. An apparatus for processing video data, comprising: a processor; and a non-transitory memory having instructions that, when executed by the processor, cause the processor to: performing a conversion between a video and a bitstream of said video according to rules; The rule specifies that a first syntax element is included in the profile, tier, level information syntax structure when a value of a profile tier present flag is equal to 1 indicating that the presence of profile, tier, and general constraint information is allowed; a value of the first syntax element indicates whether one or more general constraint information syntax elements are included in the general constraint information syntax structure; when the value of the first syntax element is equal to 0, the one or more general constraint information syntax elements are not included in the general constraint information syntax structure, and the general constraint information syntax structure does not impose any constraints. Device.

12. A non-transitory computer readable storage medium storing instructions, the instructions causing a processor to: performing a conversion between a video and a bitstream of said video according to rules; The rule specifies that a first syntax element is included in the profile, tier, level information syntax structure when a value of a profile tier present flag is equal to 1 indicating that the presence of profile, tier, and general constraint information is allowed; a value of the first syntax element indicates whether one or more general constraint information syntax elements are included in the general constraint information syntax structure; when the value of the first syntax element is equal to 0, the one or more general constraint information syntax elements are not included in the general constraint information syntax structure, and the general constraint information syntax structure does not impose any constraints. A non-transitory computer-readable storage medium.

13. 1. A non-transitory computer-readable recording medium for recording a bitstream of video generated by a method performed by a video processing device, the method comprising: generating said bitstream of said video according to rules Including, The rule specifies that a first syntax element is included in the profile, tier, level information syntax structure when a value of a profile tier present flag is equal to 1 indicating that the presence of profile, tier, and general constraint information is allowed; a value of the first syntax element indicates whether one or more general constraint information syntax elements are included in the general constraint information syntax structure; when the value of the first syntax element is equal to 0, the one or more general constraint information syntax elements are not included in the general constraint information syntax structure, and the general constraint information syntax structure does not impose any constraints. A non-transitory computer-readable recording medium.