Video signal processing method and device

By integrating General Constraint Information (GCI) syntax to manage video decoding and encoding processes, the method optimizes coding efficiency by disabling unnecessary operations, thus enhancing video signal processing methods and devices.

JP2025170036APending Publication Date: 2025-11-14WILUS INSTITUTE OF STANDARDS & TECHNOLOGY INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2025142423
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2019-07-22
Filing Date
2025-08-28
Publication Date
2025-11-14

AI Technical Summary

Technical Problem

Existing video signal processing methods lack efficiency in coding, particularly in handling various video signal processing techniques that do not effectively utilize spatial and temporal correlations.

Method used

Incorporation of General Constraint Information (GCI) syntax elements to control the use of specific video decoding and encoding processes, such as palette mode, intra prediction, and transform types, ensuring they are not used when the GCI syntax element is set to 1, thereby optimizing coding efficiency.

Benefits of technology

Enhances coding efficiency by restricting unnecessary processes, leading to improved video signal processing methods and devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025170036000001_ABST
    Figure 2025170036000001_ABST
Patent Text Reader

Abstract

To provide a video signal decoding device.SOLUTION: The device comprises a processor. The processor decodes a general constraint information (GCI) syntax included in a bitstream of a video signal, and decodes the bitstream on the basis of the result of decoding the GCI syntax, where the GCI syntax includes a GCI syntax element for configuring the value of an SPS syntax element indicating whether to use a palette mode included in a sequence parameter set (SPS) raw byte sequence payload (RBSP) syntax.SELECTED DRAWING: Figure 19
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a video signal processing method and apparatus, and more particularly to a video signal processing method and apparatus for encoding or decoding a video signal. [Background technology]

[0002] Compression coding refers to a series of signal processing techniques for transmitting digitized information over a communication line or storing it in a form suitable for a storage medium. Compression coding can be used to encode audio, video, text, and other data, but video compression is the technology that specifically targets video. Video signal compression is performed by removing redundant information by taking into account spatial correlation, temporal correlation, and stochastic correlation. However, with the recent development of various media and data transmission media, more efficient video signal processing methods and devices are needed. Summary of the Invention [Problem to be solved by the invention]

[0003] An object of the present invention is to increase the coding efficiency of video signals.

[0004] The present invention has an object to improve video signal coding efficiency by configuring general constraint information. [Means for solving the problem]

[0005] This specification provides a video signal processing method that utilizes a quadratic transform.

[0006] Specifically, the video signal decoding apparatus includes a processor that decodes a General Constraint Information (GCI) syntax included in a bitstream of a video signal and decodes the bitstream based on a decoding result of the GCI syntax. The GCI syntax is included in at least one of a Decoding Parameter Set (DPS) RBSP (Raw Byte Sequence Payload) syntax, a Sequence Parameter Set (SPS) RBSP syntax, and a Video Parameter Set (VPS) RBSP syntax. The DPS RBSP syntax and the VPS RBSP syntax are upper level syntaxes of the GCI syntax and include syntax elements for video decoding. The SPS RBSP syntax is upper level syntax of the GCI syntax and includes syntax elements related to a sequence, which is a set of pictures. The GCI syntax includes at least one of a Decoding Parameter Set (DPS) RBSP (Raw Byte Sequence Payload) syntax, a Sequence Parameter Set (SPS) RBSP syntax, and a Video Parameter Set (VPS) RBSP syntax. The present invention is characterized in that it includes a GCI syntax element that sets the value of an SPS syntax element indicating whether a palette mode included in the RBSP syntax is used, and if the value of the GCI syntax element is 1, the value of the SPS syntax element is set to 0, which is a value indicating that the palette mode is not used.

[0007] In addition, in this specification, the GCI syntax includes a GCI syntax element that sets the value of an SPS syntax element that indicates whether intra prediction using multiple reference lines included in the SPS RBSP syntax is used, and if the value of the GCI syntax element is 1, the value of the SPS syntax element is set to 0, which is a value indicating that intra prediction using multiple reference lines is not used.

[0008] In addition, in this specification, the GCI syntax includes an SPS syntax element that sets the value of a syntax element indicating whether intra prediction using subpartitions included in the SPS RBSP syntax is used, and if the value of the GCI syntax element is 1, the value of the SPS syntax element is set to 0, which is a value indicating that intra prediction using the subpartitions is not used.

[0009] In addition, in this specification, the GCI syntax includes a GCI syntax element that sets a value of an SPS syntax element indicating whether or not metric-based intra prediction included in the SPS RBSP syntax is used, and if the value of the GCI syntax element is 1, the value of the SPS syntax element is set to 0, which is a value indicating that the metric-based intra prediction is not used.

[0010] Furthermore, in this specification, the GCI syntax includes a GCI syntax element that sets a value of an SPS syntax element indicating whether a low-frequency non-separable transform included in the SPS RBSP syntax is used, and if the value of the GCI syntax element is 1, the value of the SPS syntax element is set to 0, which is a value indicating that a low-frequency non-separable transform is not used.

[0011] In addition, in this specification, the GCI syntax includes a GCI syntax element that sets a value of an SPS syntax element indicating whether a merge mode with motion vector difference included in the SPS RBSP syntax is used, and if the value of the GCI syntax element is 1, the value of the SPS syntax element is set to 0, which is a value indicating that a merge mode with motion vector difference is not used.

[0012] In addition, in this specification, the GCI syntax element included in the GCI syntax sets the value of the SPS syntax element indicating whether or not a symmetric motion vector difference included in the SPS RBSP syntax is used, and if the value of the GCI syntax element is 1, the value of the SPS syntax element is set to 0, which is a value indicating that a symmetric motion vector difference is not used.

[0013] In addition, in this specification, the GCI syntax element included in the GCI syntax sets the value of the SPS syntax element indicating whether luma mapping with chroma scaling included in the SPS RBSP syntax is used, and if the value of the GCI syntax element is 1, the value of the SPS syntax element is set to 0, which is a value indicating that luma mapping with chroma scaling is not used.

[0014] Also, in this specification, a video signal encoding apparatus includes a processor, and the processor acquires a General Constraint Information (GCI) syntax and encodes a bitstream including the GCI syntax. The GCI syntax is included in at least one of a Decoding Parameter Set (DPS) RBSP (Raw Byte Sequence Payload) syntax, a Sequence Parameter Set (SPS) RBSP syntax, and a Video Parameter Set (VPS) RBSP syntax. The DPS RBSP syntax and the VPS RBSP syntax are upper level syntaxes of the GCI syntax and include syntax elements for video decoding. The SPS RBSP syntax is an upper level syntax of the GCI syntax and includes syntax elements related to a sequence, which is a set of pictures. The GCI syntax is based on a palette mode (palette mode) included in the SPS RBSP syntax. The present invention is characterized in that it includes a GCI syntax element that sets the value of an SPS syntax element indicating whether the palette mode is used, and if the value of the GCI syntax element is 1, the value of the SPS syntax element is set to 0, which indicates that the palette mode is not used.

[0015] In addition, in this specification, the GCI syntax includes a GCI syntax element that sets the value of an SPS syntax element that indicates whether intra prediction using multiple reference lines included in the SPS RBSP syntax is used, and if the value of the GCI syntax element is 1, the value of the SPS syntax element is set to 0, which is a value indicating that intra prediction using multiple reference lines is not used.

[0016] In addition, in this specification, the GCI syntax includes an SPS syntax element that sets the value of a syntax element indicating whether intra prediction using subpartitions included in the SPS RBSP syntax is used, and if the value of the GCI syntax element is 1, the value of the SPS syntax element is set to 0, which is a value indicating that intra prediction using the subpartitions is not used.

[0017] In addition, in this specification, the GCI syntax includes a GCI syntax element that sets a value of an SPS syntax element indicating whether or not metric-based intra prediction included in the SPS RBSP syntax is used, and if the value of the GCI syntax element is 1, the value of the SPS syntax element is set to 0, which is a value indicating that the metric-based intra prediction is not used.

[0018] Furthermore, in this specification, the GCI syntax includes a GCI syntax element that sets a value of an SPS syntax element indicating whether a low-frequency non-separable transform included in the SPS RBSP syntax is used, and if the value of the GCI syntax element is 1, the value of the SPS syntax element is set to 0, which is a value indicating that a low-frequency non-separable transform is not used.

[0019] In addition, in this specification, the GCI syntax includes a GCI syntax element that sets a value of an SPS syntax element indicating whether a merge mode with motion vector difference included in the SPS RBSP syntax is used, and if the value of the GCI syntax element is 1, the value of the SPS syntax element is set to 0, which is a value indicating that a merge mode with motion vector difference is not used.

[0020] In addition, in this specification, the GCI syntax element included in the GCI syntax sets the value of the SPS syntax element indicating whether or not a symmetric motion vector difference included in the SPS RBSP syntax is used, and if the value of the GCI syntax element is 1, the value of the SPS syntax element is set to 0, which is a value indicating that a symmetric motion vector difference is not used.

[0021] In addition, in this specification, the GCI syntax element included in the GCI syntax sets the value of the SPS syntax element indicating whether luma mapping with chroma scaling included in the SPS RBSP syntax is used, and if the value of the GCI syntax element is 1, the value of the SPS syntax element is set to 0, which is a value indicating that luma mapping with chroma scaling is not used.

[0022] Also, in this specification, a non-transitory computer-readable medium storing a bitstream of a video signal is provided, wherein the bitstream is encoded by an encoding method including the steps of: obtaining a General Constraint Information (GCI) syntax; and encoding the bitstream including the GCI syntax; the GCI syntax is included in at least one of a Decoding Parameter Set (DPS) Raw Byte Sequence Payload (RBSP) syntax, a Sequence Parameter Set (SPS) RBSP syntax, and a Video Parameter Set (VPS) RBSP syntax, and the DPS RBSP syntax and the VPS RBSP syntax are upper level syntaxes of the GCI syntax and include syntax elements for video decoding, and the SPS RBSP syntax is included in at least one of a Decoding Parameter Set (DPS) Raw Byte Sequence Payload (RBSP) syntax, a Sequence Parameter Set (SPS) RBSP syntax, and a Video Parameter Set (VPS) RBSP syntax, and the DPS RBSP syntax and the VPS RBSP syntax are upper level syntaxes of the GCI syntax and include syntax elements for video decoding, and the SPS The RBSP syntax is a higher level syntax of the GCI syntax and includes syntax elements related to sequences, which are a set of pictures. The GCI syntax includes a GCI syntax element that sets a value of an SPS syntax element indicating whether a palette mode included in the SPS RBSP syntax is used or not. If the value of the GCI syntax element is 1, the value of the SPS syntax element is set to 0, which indicates that the palette mode is not used.

[0023] In addition, in this specification, the GCI syntax includes a GCI syntax element that sets the value of an SPS syntax element that indicates whether intra prediction using multiple reference lines included in the SPS RBSP syntax is used, and if the value of the GCI syntax element is 1, the value of the SPS syntax element is set to 0, which is a value indicating that intra prediction using multiple reference lines is not used.

[0024] In addition, in this specification, the GCI syntax includes an SPS syntax element that sets the value of a syntax element indicating whether intra prediction using subpartitions included in the SPS RBSP syntax is used, and if the value of the GCI syntax element is 1, the value of the SPS syntax element is set to 0, which is a value indicating that intra prediction using the subpartitions is not used.

[0025] In addition, in this specification, the GCI syntax includes a GCI syntax element that sets a value of an SPS syntax element indicating whether or not metric-based intra prediction included in the SPS RBSP syntax is used, and if the value of the GCI syntax element is 1, the value of the SPS syntax element is set to 0, which is a value indicating that the metric-based intra prediction is not used. [Effects of the Invention]

[0026] One embodiment of the present invention provides a video signal processing method and apparatus that utilizes general constraint information. [Brief explanation of the drawings]

[0027] [Figure 1] 1 is a schematic block diagram of a video signal encoding apparatus according to an embodiment of the present invention; [Figure 2] 1 is a schematic block diagram of a video signal decoding device according to an embodiment of the present invention; [Figure 3] FIG. 1 illustrates an example of how coding tree units are divided into coding units within a picture. [Figure 4] FIG. 1 illustrates an embodiment of a method for signaling the splitting of quadtrees and multi-type trees. [Figure 5] 2 is a diagram illustrating in more detail an intra-prediction method according to an embodiment of the present invention; [Figure 6] 2 is a diagram illustrating in more detail an intra-prediction method according to an embodiment of the present invention; [Figure 7] FIG. 1 is a diagram showing a network abstraction layer unit, which is a basic unit constituting a bitstream in one embodiment of the present invention. [Figure 8] 10 is a diagram specifically illustrating how an encoder and a decoder inversely transform transform coefficients to obtain a residual signal, and a diagram illustrating syntax according to an embodiment of the present invention. [Figure 9] FIG. 10 is a diagram illustrating syntax according to an embodiment of the present invention. [Figure 10] FIG. 10 is a diagram illustrating syntax according to an embodiment of the present invention. [Figure 11] FIG. 10 is a diagram illustrating syntax according to an embodiment of the present invention. [Figure 12] FIG. 10 is a diagram illustrating a sequence parameter set RBSP syntax according to one embodiment of the present invention. [Figure 13] FIG. 10 is a diagram illustrating a general constraint information syntax according to one embodiment of the present invention. [Figure 14] FIG. 10 is a diagram illustrating a general constraint information syntax according to one embodiment of the present invention. [Figure 15] FIG. 10 is a diagram illustrating a general constraint information syntax according to one embodiment of the present invention. [Figure 16] FIG. 10 is a diagram illustrating a general constraint information syntax according to one embodiment of the present invention. [Figure 17] FIG. 10 is a diagram illustrating syntax according to an embodiment of the present invention. [Figure 18] FIG. 10 is a diagram illustrating a general constraint information syntax according to one embodiment of the present invention. [Figure 19] FIG. 10 is a diagram illustrating a general constraint information syntax according to one embodiment of the present invention. [Figure 20] FIG. 10 is a diagram illustrating a general constraint information syntax according to one embodiment of the present invention. [Figure 21] FIG. 10 is a diagram illustrating a general constraint information syntax according to one embodiment of the present invention. [Figure 22] FIG. 10 is a diagram illustrating a coding tree unit syntax according to one embodiment of the present invention. [Figure 23] 1 is a diagram illustrating a positional relationship for deriving MPM (Most Probable Modes) required for an intra-frame prediction mode according to an embodiment of the present invention. [Figure 24] FIG. 10 illustrates the relationship between corresponding luma blocks required for chroma DM mode guidance according to one embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION

[0028] The terms used in this specification are generally used as widely as possible while taking into consideration the functions of the present invention, but these may vary depending on the intentions of engineers in the field, customs, or the emergence of new technologies. In addition, in certain cases, the applicant may have arbitrarily selected terms, and in such cases, the meanings of these terms will be described in the relevant mode for carrying out the invention. Therefore, it is made clear that the terms used in this specification should be interpreted not simply as terms, but based on the substantive meanings of the terms and the overall content of this specification.

[0029] In this specification, some terms may be interpreted as follows. "Coding" may be interpreted as "encoding" or "decoding" in some cases. In this specification, a device that encodes a video signal to generate a video signal bitstream is referred to as an encoding device or encoder, and a device that decodes a video signal bitstream to restore a video signal is referred to as a decoding device or decoder. In this specification, "video signal processing device" is used as a conceptual term that encompasses both an encoder and a decoder. "Information" is a term that encompasses values, parameters, coefficients, elements, etc., and may be interpreted differently in some cases, so the present invention is not limited thereto. "Unit" is used to represent a basic unit of image processing or a specific location in a picture, and refers to an image region including at least one of a luma component and a chroma component. "Block" refers to an image region including a specific component of a luminance component and a chrominance component (i.e., Cb and Cr). However, depending on the embodiment, the terms "unit," "block," "partition," and "region" may be used interchangeably. In this specification, the term "unit" is used as a concept including a coding unit, a prediction unit, and a transform unit, and the term "picture" refers to a field or a frame, and these terms may be used interchangeably depending on the embodiment.

[0030] 1 is a schematic block diagram of a video signal encoding apparatus 100 according to an embodiment of the present invention. Referring to FIG. 1, the encoding apparatus 100 of the present specification includes a transform unit 110, a quantization unit 115, an inverse quantization unit 120, an inverse transform unit 125, a filtering unit 130, a prediction unit 150, and an entropy coding unit 160.

[0031] The transform unit 110 transforms a residual signal, which is the difference between the input video signal and the prediction signal generated by the prediction unit 150, to obtain a transform coefficient value. For example, a discrete cosine transform (DCT), a discrete sine transform (DST), or a wavelet transform may be used. The discrete cosine transform and the discrete sine transform divide the input picture signal into blocks and then transform the block. During the transform, coding efficiency may vary depending on the distribution and characteristics of values ​​within the transform domain. The quantization unit 115 quantizes the transform coefficient values ​​output from the transform unit 110.

[0032] To improve coding efficiency, instead of directly coding the picture signal, the prediction unit 150 predicts a picture using a pre-coded region and adds the residual value between the original picture and the predicted picture to obtain a reconstructed picture. To avoid mismatch between the encoder and decoder, the encoder should use information available to the decoder when making predictions. To achieve this, the encoder performs a process of further reconstructing the coded current block. The inverse quantization unit 120 inversely quantizes the transform coefficient values, and the inverse transform unit 125 reconstructs the residual values ​​using the inversely quantized transform coefficient values. Meanwhile, the filtering unit 130 performs filtering operations to improve the quality of the reconstructed picture and the coding efficiency. For example, the filtering unit 130 may include a deblocking filter, a sample adaptive offset (SAO), an adaptive loop filter, etc. The filtered picture is stored in the decoded picture buffer (DPB) 156 for output or use as a reference picture.

[0033] To improve coding efficiency, instead of directly coding a picture signal, the prediction unit 150 predicts a picture using an already coded region and adds a residual value between the original picture and the predicted picture to the predicted picture to obtain a reconstructed picture. The intra prediction unit 152 performs intra prediction within the current picture, and the inter prediction unit 154 predicts the current picture using a reference picture stored in the decoded picture buffer 156. The intra prediction unit 152 performs intra prediction from a reconstructed region within the current picture and transmits the intra coding information to the entropy coding unit 160. The inter prediction unit 154 may further include a motion estimation unit 154a and a motion compensation unit 154b. The motion estimation unit 154a obtains a motion vector value for the current region by referring to a specific reconstructed region. The motion estimation unit 154a transmits position information of the reference region (e.g., reference frame, motion vector) to the entropy coding unit 160 so that it can be included in the bitstream. Using the motion vector values ​​transmitted from the motion estimation unit 154a, the motion compensation unit 154b performs inter-frame motion compensation.

[0034] The prediction unit 150 includes an intra prediction unit 152 and an inter prediction unit 154. The intra prediction unit 152 performs intra prediction within the current picture, and the inter prediction unit 154 performs inter prediction to predict the current picture using a reference buffer stored in the decoded picture buffer 156. The intra prediction unit 152 performs intra prediction from reconstructed samples within the current picture and transmits intra coding information to the entropy coding unit 160. The intra coding information includes at least one of an intra prediction mode, an MPM (Most Probable Mode) flag, and an MPM index. The intra coding information may include information about reference samples. The inter prediction unit 154 includes a motion estimation unit 154a and a motion compensation unit 154b. The motion estimation unit 154a obtains a motion vector value for the current region by referring to a specific region of the reconstructed reference signal picture. The motion estimation unit 154a transmits a motion information set (reference picture index, motion vector information) for the reference region to the entropy coding unit 160. The motion compensation unit 154b performs motion compensation using the motion vector values ​​transmitted from the motion compensation unit 154a. The inter prediction unit 154 transmits inter coding information including the motion information for the reference region to the entropy coding unit 160.

[0035] According to a further embodiment, the prediction unit 150 includes an intra block copy (BC) prediction unit (not shown). The intra BC prediction unit performs intra BC prediction from reconstructed samples in the current picture and transmits intra BC coding information to the entropy coding unit 160. The intra BC prediction unit obtains block vector values ​​indicating a reference region to be used for predicting the current region by referring to a specific region in the current picture. The intra BC prediction unit performs intra BC prediction using the obtained block vector values. The intra BC prediction unit transmits the intra BC coding information to the entropy coding unit 160. The intra BC prediction unit includes the block vector information.

[0036] After the picture prediction is performed, the transform unit 110 converts residual values ​​between the original picture and the predicted picture to obtain transform coefficient values. The transform is performed in units of specific blocks within the picture, and the size of the specific blocks varies within a predetermined range. The quantization unit 115 quantizes the transform coefficient values ​​generated by the transform unit 110 and transmits the quantized values ​​to the entropy coding unit 160.

[0037] The entropy coding unit 160 generates a video signal bitstream by entropy coding information indicating quantized transform coefficients, intra-coding information, and inter-coding information. The entropy coding unit 160 uses a variable length coding (VLC) scheme and an arithmetic coding scheme. The variable length coding (VLC) scheme converts input symbols into consecutive codewords, but the length of the codewords is variable. For example, frequently occurring symbols are represented by short codewords, and infrequently occurring symbols are represented by long codewords. The variable length coding scheme used is a context-based adaptive variable length coding (CAVLC). Arithmetic coding converts consecutive data symbols into a single prime number, and arithmetic coding obtains the optimal prime number bits required to represent each symbol. The arithmetic coding scheme used is a context-based adaptive binary arithmetic coding (CABAC). For example, the entropy coding unit 160 may binarize information indicating quantized transform coefficients, and may arithmetically code the binarized information to generate a bitstream.

[0038] The generated bitstream is encapsulated in Network Abstraction Layer (NAL) units as basic units. An NAL unit includes an integer number of coded coding tree units. In order for a video decoder to decode the bitstream, the bitstream must first be separated into NAL units and then each separated NAL unit must be decoded. Meanwhile, information required for decoding the video signal bitstream may be transmitted in the Raw Byte Sequence Payload (RBSP) of higher level sets such as a Picture Parameter Set (PPS), a Sequence Parameter Set (SPS), a Video Parameter Set (VPS), and Decoding Capability Information (DCI).

[0039] 1 illustrates an encoding device 100 according to one embodiment of the present invention, with separate blocks illustrating logically distinct elements of encoding device 100. Therefore, the elements of encoding device 100 described above may be implemented on a single chip or multiple chips depending on the device design. According to one embodiment, the operation of each element of encoding device 100 described above is performed by a processor (not shown).

[0040] 2 is a schematic block diagram of a video signal decoding apparatus 200 according to an embodiment of the present invention. Referring to FIG. 2, the decoding apparatus 200 of the present invention includes an entropy decoding unit 210, an inverse quantization unit 220, an inverse transform unit 225, a filtering unit 230, and a prediction unit 250.

[0041] The entropy decoding unit 210 entropy decodes the video signal bitstream to extract transform coefficient information, intra-coding information, inter-coding information, etc. for each region. For example, the entropy decoding unit 210 may obtain a binary code for transform coefficient information of a specific region from the video signal bitstream. The entropy decoding unit 210 also de-binarizes the binary code to obtain quantized transform coefficients. The inverse quantization unit 220 de-quantizes the quantized transform coefficients, and the inverse transform unit 225 restores residual values ​​using the de-quantized transform coefficients. The video signal processing device 200 restores original pixel values ​​by combining the residual values ​​obtained from the inverse transform unit 225 with predicted values ​​obtained from the prediction unit 250.

[0042] Meanwhile, the filtering unit 230 performs filtering on the picture to improve image quality. This includes a deblocking filter to reduce block distortion and / or an adaptive loop filter to remove distortion from the entire picture. The filtered picture is output or stored in the decoded picture buffer (DPB) 256 to be used as a reference picture for the next picture.

[0043] The prediction unit 250 includes an intra prediction unit 252 and an inter prediction unit 254. The prediction unit 250 generates a predicted picture using the coding type, transform coefficients for each region, intra / inter coding information, etc. decoded by the entropy decoding unit 210. To reconstruct the current block to be decoded, the current picture including the current block or a decoded region of another picture can be used. A picture (or tile / slice) that uses only the current picture for reconstruction, i.e., performs intra prediction or intra BC prediction, is called an intra picture or I picture (or tile / slice), and a picture (or tile / slice) that can perform all of intra prediction, inter prediction, and intra BC prediction is called an inter picture (or tile / slice). Among interpictures (or tiles / slices), a picture (or tile / slice) that uses at most one motion vector and reference picture index to predict sample values ​​for each block is called a predictive picture or P picture (or tile / slice), and a picture (or tile / slice) that uses at most two motion vectors and reference picture indexes is called a bi-predictive picture or B picture (or tile / slice). In other words, a P picture (or tile / slice) uses at most one motion information set to predict each block, and a B picture (or tile / slice) uses at most two motion information sets to predict each block. Here, a motion information set includes one or more motion vectors and one reference picture index.

[0044] The intra prediction unit 252 generates a prediction block using intra coding information and reconstructed samples in the current picture. As described above, the intra coding information includes at least one of an intra prediction mode, a Most Probable Mode (MPM) flag, and an MPM index. The intra prediction unit 252 predicts sample values ​​of the current block using reconstructed samples located to the left and / or above the current block as reference samples. In the present disclosure, the reconstructed samples, reference samples, and samples of the current block refer to pixels. Furthermore, sample values ​​refer to pixel values.

[0045] In one embodiment, the reference samples are samples included in neighboring blocks of the current block. For example, the reference samples are samples adjacent to the left boundary and / or the top boundary of the current block. Furthermore, the reference samples are samples located on a line within a predetermined distance from the left boundary of the current block and / or samples located on a line within a predetermined distance from the top boundary of the current block, among samples in neighboring blocks of the current block. In this case, the neighboring blocks of the current block include at least one of the left (L) block, the top (A) block, the below left (BL) block, the above right (AR) block, and the above left (AL) block adjacent to the current block.

[0046] The inter prediction unit 254 generates a prediction block using reference pictures and inter coding information stored in the decoded picture buffer 256. The inter coding information includes a motion information set (e.g., reference picture index, motion vector, etc.) of the current block relative to the reference block. Inter prediction includes L0 prediction, L1 prediction, and bi-prediction. L0 prediction is prediction using one reference picture included in the L0 picture list, and L1 prediction is prediction using one reference picture included in the L1 picture list. This requires one set of motion information (e.g., motion vector and reference picture index). The bi-prediction method uses up to two reference regions, and these two reference regions may exist in the same reference picture or in different pictures. That is, the bi-prediction method uses up to two sets of motion information (e.g., motion vector and reference picture index), and two motion vectors may correspond to the same reference picture index or different reference picture indexes. In this case, the reference picture may be displayed (or output) either temporally before or after the current picture. According to one embodiment, in a bi-predictive scheme, the two reference regions used may be regions selected from the L0 picture list and the L1 picture list, respectively.

[0047] The inter prediction unit 254 obtains a current reference block using a motion vector and a reference picture index. The reference block exists in a reference picture corresponding to the reference picture index. Furthermore, sample values ​​of a block identified by the motion vector or their interpolated values ​​are used as a predictor for the current block. For motion prediction with sub-pel pixel accuracy, for example, an 8-tab interpolation filter is used for the luma signal and a 4-tab interpolation filter is used for the chroma signal. However, the interpolation filters for sub-pel motion prediction are not limited thereto. In this way, the inter prediction unit 254 performs motion compensation, which predicts the texture of the current unit from a previously reconstructed picture. In this case, the inter prediction unit uses a motion information set.

[0048] According to a further embodiment, the predictor 250 may include an intra BC predictor (not shown). The intra BC predictor may reconstruct the current region by referring to a specific region including reconstructed samples in the current picture. The intra BC predictor obtains intra BC coding information for the current region from the entropy decoding unit 210. The intra BC predictor obtains block vector values ​​of the current region indicating the specific region in the current picture. The intra BC predictor may perform intra BC prediction using the obtained block vector values. The intra BC coding information may include block vector information.

[0049] A reconstructed video picture is generated by adding together the predicted value output from the intra prediction unit 252 or the inter prediction unit 254 and the residual value output from the inverse transform unit 225. That is, the video signal decoding apparatus 200 reconstructs a current block using the predicted block generated by the prediction unit 250 and the residual value obtained from the inverse transform unit 225.

[0050] 2 illustrates a decoding device 200 according to one embodiment of the present invention, with separate blocks logically separating elements of the decoding device 200. Thus, the elements of the decoding device 200 described above may be implemented on a single chip or multiple chips depending on the device design. According to one embodiment, the operation of each element of the decoding device 200 described above is performed by a processor (not shown).

[0051] FIG. 3 illustrates an example in which a coding tree unit (CTU) is divided into coding units (CUs) within a picture. During video signal coding, a picture is divided into a sequence of coding tree units (CTUs). A coding tree unit consists of an NXN block of luma samples and two blocks of corresponding chroma samples. A coding tree unit is divided into multiple coding units. A coding tree unit may be a leaf node without being divided. In this case, the coding tree unit itself may be a coding unit. A coding unit refers to a basic unit for processing a picture during the above-mentioned video signal processing, i.e., intra / inter prediction, transform, quantization, and / or entropy coding. Within a picture, the size and shape of coding units are not constant. Coding units have a square or rectangular shape. A rectangular coding unit (or rectangular block) includes a vertical coding unit (or vertical block) and a horizontal coding unit (or horizontal block). In this specification, a vertical block is a block whose height is greater than its width, and a horizontal block is a block whose width is greater than its height. In addition, in this specification, non-square blocks refer to rectangular blocks, but the present invention is not limited to this.

[0052] Referring to Figure 3, a coding tree unit is first divided into a quad tree (QT) structure. That is, in the quad tree structure, one node having a size of 2N x 2N is divided into four nodes having a size of N x N. In this specification, a quad tree is also referred to as a quaternary tree. The quad tree division is performed recursively, and all nodes do not need to be divided to the same depth.

[0053] Meanwhile, the leaf node of the above-mentioned quad tree is further divided into a multi-type tree (MTT) structure. According to an embodiment of the present invention, in the multi-type tree structure, one node is divided into a horizontally or vertically divided binary or ternary tree structure. That is, there are four division structures in the multi-type tree structure: vertical binary division, horizontal binary division, vertical ternary division, and horizontal ternary division. According to an embodiment of the present invention, in each of the tree structures, the width and height of the node are both powers of 2. For example, in a binary tree (BT) structure, a node of size 2N×2N is divided into two N×2N nodes by vertical binary division and into two 2N×N nodes by horizontal binary division. In addition, in a ternary tree (TT) structure, a node of size 2Nx2N is divided into (N / 2)x2N, Nx2N, and (N / 2)x2N nodes by vertical ternary division, and into 2Nx(N / 2), 2NxN, and 2Nx(N / 2) nodes by horizontal ternary division. Such multi-type tree division is performed recursively.

[0054] The leaf nodes of a multi-type tree may be coding units. If a coding unit is not larger than the maximum transform length, the coding unit may be used as a unit of prediction and / or transformation without further division. In one embodiment, if the width or height of a current coding unit is larger than the maximum transform length, the current coding unit may be divided into multiple transform units without explicit signaling regarding division. Meanwhile, in the above-mentioned quad tree and multi-type tree, at least one of the following parameters is predefined or transmitted via the RBSP of a higher level set such as PPS, SPS, VPS, etc. 1) CTU size: The size of the root node of the quadtree, 2) Min QT size (MinQtSize): The size of the smallest QT leaf node allowed, 3) Max BT size (MaxBtSize): The size of the largest BT root node allowed, 4) Max TT size (MaxTtSize): The size of the largest TT root node allowed, 5) Max MTT depth (MaxMttDepth): The maximum allowed depth of MTT split from the QT leaf node, 6) Min BT size (MinBtSize): The size of the smallest BT leaf node allowed, 7) Min TT size: The size of the smallest TT leaf node allowed.

[0055] 4 illustrates an embodiment of a method for signaling the split of a quadtree or a multitype tree. To signal the split of the quadtree or multitype tree, a previously set flag may be used. Referring to FIG. 4, at least one of a flag 'split_cu_flag' indicating whether a node is split, a flag 'split_qt_flag' indicating whether a quadtree node is split, a flag 'mtt_split_cu_vertical_flag' indicating the split direction of a multitype tree node, or a flag 'mtt_split_cu_binary_flag' indicating the split type of a multitype tree node may be used.

[0056] According to an embodiment of the present invention, a flag 'split_cu_flag' indicating whether the current node is split may be signaled first. If the value of 'split_cu_flag' is 0, it indicates that the current node is not split, and the current node becomes a coding unit. If the current node is a coding tree unit, the coding tree unit contains one unsplit coding unit. If the current node is a quad tree node 'QT node', the current node is a leaf node 'QT leaf node' of the quad tree and becomes a coding unit. If the current node is a multitype tree node 'MTT node', the current node is a leaf node 'MTT leaf node' of the multitype tree and becomes a coding unit.

[0057] If the value of 'split_cu_flag' is 1, the current node may be split into quadtree or multitype tree nodes depending on the value of 'split_qt_flag'. A coding tree unit is the root node of a quadtree and may be first split into a quadtree structure. In the quadtree structure, 'split_qt_flag' is signaled for each node ('QT node'). If the value of 'split_qt_flag' is 1, the node is split into four square nodes. If the value of 'qt_split_flag' is 0, the node becomes a leaf node ('QT leaf node') of the quadtree and is split into a multitype node. According to an embodiment of the present invention, quadtree splitting may be restricted depending on the type of the current node. If the current node is a coding tree unit (root node of a quadtree) or a quadtree node, quadtree splitting may be allowed. However, if the current node is a multitype tree node, quadtree splitting may not be allowed. Each quadtree leaf node 'QT leaf node' may be further split into a multitype tree structure. As described above, if 'split_qt_flag' is 0, the current node may be split into multitype nodes. 'mtt_split_cu_vertical_flag' and 'mtt_split_cu_binary_flag' may be signaled to indicate the split direction and split type. If 'mtt_split_cu_vertical_flag' is 1, it indicates a vertical split of the node 'MTT node', and if 'mtt_split_cu_vertical_flag' is 0, it indicates a horizontal split of the node 'MTT node'. Also, if 'mtt_split_cu_binary_flag' is 1, the node 'MTT node' is split into two rectangular nodes, and if 'mtt_split_cu_binary_flag' is 0, it is split into three rectangular nodes.

[0058] Picture prediction (motion compensation) for coding is performed on coding units that cannot be further divided (i.e., leaf nodes of the coding unit tree). Such a basic unit for prediction is hereinafter referred to as a prediction unit or a prediction block.

[0059] Hereinafter, the term "unit" used in this specification is used as an alternative term to the prediction unit, which is a basic unit for performing prediction, but the present invention is not limited thereto and can be understood as a concept including the coding unit in a broader sense.

[0060] 5 and 6 are diagrams illustrating in more detail an intra prediction method according to an embodiment of the present invention. As described above, the intra prediction unit predicts sample values ​​of the current block using reconstructed samples located to the left and / or above the current block as reference samples.

[0061] First, Figure 5 shows an example of reference samples used to predict a current block in intra prediction mode. According to one example, the reference samples are samples adjacent to the left boundary and / or the top boundary of the current block. As shown in Figure 5, if the size of the current block is W x H and samples of a single reference line adjacent to the current block are used for intra prediction, the reference samples are set using up to 2W + 2H + 1 neighboring samples located to the left and / or above the current block.

[0062] Furthermore, if at least some samples to be used as reference samples have not yet been restored, the intra prediction unit performs a reference sample padding process to obtain reference samples. The intra prediction unit also performs a reference sample filtering process to reduce intra prediction errors. That is, the intra prediction unit performs filtering on the neighboring samples and / or the reference samples obtained by the reference sample padding process to obtain filtered reference samples. The intra prediction unit predicts samples of the current block using the reference samples obtained in this manner. The intra prediction unit predicts samples of the current block using unfiltered reference samples or filtered reference samples. In the present disclosure, the neighboring samples may include samples on at least one reference line. For example, the neighboring samples may include neighboring samples on a line adjacent to the boundary of the current block.

[0063] Next, Figure 6 illustrates an embodiment of prediction modes used in intra prediction. For intra prediction, intra prediction mode information indicating the intra prediction direction can be signaled. The intra prediction mode information indicates one of a plurality of intra prediction modes constituting an intra prediction mode set. If the current block is an intra predicted block, the decoder receives the intra prediction mode information of the current block from the bitstream. An intra prediction unit of the decoder performs intra prediction on the current block based on the extracted intra prediction mode information.

[0064] According to an embodiment of the present invention, the intra prediction mode set includes all intra prediction modes used in intra prediction (e.g., a total of 67 intra prediction modes). More specifically, the intra prediction mode set includes a planar mode, a DC mode, and a plurality of (e.g., 65) angle modes (i.e., directional modes). Each intra prediction mode is indicated by a predetermined index (i.e., intra prediction mode index). For example, as shown in FIG. 6, intra prediction mode index 0 indicates a planar mode, and intra prediction mode index 1 indicates a DC mode. In addition, intra prediction mode indexes 2 to 66 indicate different angle modes. Each angle mode indicates a different angle within a predetermined angle range. For example, the angle mode may indicate an angle within an angle range of 45° to −135° clockwise (i.e., a first angle range). The angle modes may be defined based on the 12 o'clock direction. In this case, intra prediction mode index 2 indicates horizontal diagonal (HDIA) mode, intra prediction mode index 18 indicates horizontal (HOR) mode, intra prediction mode index 34 indicates diagonal (DIA) mode, intra prediction mode index 50 indicates vertical (VER) mode, and intra prediction mode index 66 indicates vertical diagonal (VDIA) mode.

[0065] Meanwhile, the preset angle range may be individually set according to the shape of the current block. For example, if the current block is a rectangular block, a wide angle mode indicating an angle greater than 45° or less than −135° in a clockwise direction may be additionally used. If the current block is a horizontal block, the angle mode may indicate an angle within an angle range of (45 + offset 1)° to (−135 + offset 1)° in a clockwise direction (i.e., a second angle range). In this case, angle modes 67 to 76 outside the first angle range may be additionally used. Also, if the current block is a vertical block, the angle mode may indicate an angle within an angle range of (45 − offset 2)° to (−135 − offset 2)° in a clockwise direction (i.e., a third angle range). In this case, angle modes −10 to −1 outside the first angle range may be additionally used. According to an embodiment of the present invention, the values ​​of offset 1 and offset 2 may be individually determined according to the ratio of the width to the height of the rectangular block. Additionally, offset 1 and offset 2 may be positive numbers.

[0066] According to a further embodiment of the present invention, the plurality of angle modes constituting the intra prediction mode set may include a base angle mode and an extended angle mode, wherein the extended angle mode may be determined based on the base angle mode.

[0067] According to one embodiment, the basic angle mode may be a mode corresponding to an angle used in intra prediction of the existing High Efficiency Video Coding (HEVC) standard, and the extended angle mode may be a mode corresponding to an angle newly added in intra prediction of the next-generation video codec standard. More specifically, the basic angle mode may be an angle mode corresponding to one of the intra prediction modes {2, 4, 6, ..., 66}, and the extended angle mode may be an angle mode corresponding to one of the intra prediction modes {3, 5, 7, ..., 65}. That is, the extended angle mode may be an angle mode between the basic angle modes within a first angle range. Therefore, the angle indicated by the extended angle mode may be determined based on the angle indicated by the basic angle mode.

[0068] According to another embodiment, the base angle mode may be a mode corresponding to an angle within a pre-defined first angle range, and the extension angle mode may be a wide-angle mode outside the first angle range. That is, the base angle mode may be an angle mode corresponding to one of the intra-prediction modes {2, 3, 4, ..., 66}, and the extension angle mode may be an angle mode corresponding to one of the intra-prediction modes {-10, -9, ..., -1} and {67, 68, ..., 76}. The angle indicated by the extension angle mode may be determined to be the angle opposite to the angle indicated by the corresponding base angle mode. Therefore, the angle indicated by the extension angle mode may be determined based on the angle indicated by the base angle mode. However, the number of extension angle modes is not limited thereto, and additional extension angles may be defined depending on the size and / or shape of the current block. For example, the extension angle mode may be defined as an angle mode corresponding to one of the intra-prediction modes {-14, -13, ..., -1} and {67, 68, ..., 80}. Meanwhile, the total number of intra prediction modes included in the intra prediction mode set may vary depending on the configuration of the basic angle mode and the extended angle mode.

[0069] In the above embodiment, the spacing between extension angle modes may be set based on the spacing between corresponding basic angle modes. For example, the spacing between extension angle modes {3, 5, 7, ..., 65} may be determined based on the spacing between corresponding basic angle modes {2, 4, 6, ..., 66}. Furthermore, the spacing between extension angle modes {-10, -9, ..., -1} may be determined based on the spacing between corresponding opposite basic angle modes {56, 57, ..., 65}, and the spacing between extension angle modes {67, 68, ..., 76} may be determined based on the spacing between corresponding opposite basic angle modes {3, 4, ..., 12}. The angular spacing between extension angle modes may be set to be the same as the angular spacing between corresponding basic angle modes. Furthermore, the number of extension angle modes in the intra prediction mode set may be set to be equal to or less than the number of basic angle modes.

[0070] According to an embodiment of the present invention, an extension angle mode may be signaled based on a base angle mode. For example, a wide angle mode (i.e., an extension angle mode) may replace at least one angle mode (i.e., a base angle mode) within a first angle range. The replaced base angle mode may be an angle mode corresponding to the opposite side of the wide angle mode. That is, the replaced base angle mode may be an angle mode corresponding to an angle opposite to the angle indicated by the wide angle mode or an angle that differs from the opposite angle by a pre-set offset index. According to an embodiment of the present invention, the pre-set offset index is 1. An intra-prediction mode index corresponding to the replaced base angle mode may be re-mapped to the wide angle mode to signal the wide angle mode. For example, wide angle modes {-10, -9, ..., -1} may be signaled by intra-prediction mode indexes {57, 58, ..., 66}, respectively, and wide angle modes {67, 68, ..., 76} may be signaled by intra-prediction mode indexes {2, 3, ..., 11}, respectively. By signaling the extended angular mode using the intra-prediction mode index for the base angular mode in this way, even if the configurations of the angular modes used for intra-prediction of each block are different, the same set of intra-prediction mode indexes may be used to signal the intra-prediction mode, thereby minimizing signaling overhead due to changes in the intra-prediction mode configuration.

[0071] Meanwhile, whether to use the extended angle mode may be determined based on at least one of the shape and size of the current block. According to one embodiment, if the size of the current block is larger than a predetermined size, the extended angle mode may be used for intra prediction of the current block, and if not, only the basic angle mode may be used for intra prediction of the current block. According to another embodiment, if the current block is a non-square block, the extended angle mode may be used for intra prediction of the current block, and if the current block is a square block, only the basic angle mode may be used for intra prediction of the current block.

[0072] FIG. 7 illustrates a Network Abstract Layer (NAL) unit, which is a basic unit constituting a bitstream according to an embodiment of the present invention. When a video image is encoded and stored as a bitstream through an encoder, the bitstream may be composed of Network Abstract Layer (NAL) units. NAL units may be defined in various forms depending on their purpose and may be distinguished by a unique ID. NAL units can be broadly divided into a portion containing actual video data information and a portion containing information necessary for decoding such video images. FIG. 7 illustrates some of various NAL units. NAL units are arranged in a predefined order, and the information included in each NAL unit may also be arranged in a predefined order. NAL units may have a mutual reference relationship. As shown in FIG. 7, NAL unit DPS indicates a decoding parameter set (DPS) RBSP syntax. NAL unit VPS indicates a video parameter set (VPS) RBSP syntax. The NAL unit SPS represents the Sequence Parameter Set (SPS) RBSP syntax. The NAL unit PPS represents the Picture Parameter Set (PPS) RBSP syntax. The DPS RBSP syntax is a syntax that contains information (syntax elements) required by a decoder to perform video decoding. The DPS RBSP syntax may also be described as the Decoding Capability Information (DCI) RBSP syntax. The VPS RBSP syntax is a syntax that contains information (syntax elements) commonly used to decode base layer and enhancement layer coded data.The SPS RBSP syntax is a syntax including syntax elements transmitted at the sequence unit level. The SPS RBSP syntax can include information (syntax elements) commonly used to decode pictures with reference to the VPS. In this case, a sequence refers to a set of one or more pictures. The PPS RBSP syntax is a syntax including information (syntax elements) commonly used to decode one or more pictures. The above-mentioned RBSP may refer to a Raw Byte Sequence Payload (RBSP), which is a syntax encapsulated in a byte-aligned NAL unit. The above-mentioned syntax will be described below.

[0073] FIG. 8 is a diagram illustrating syntax according to an embodiment of the present invention.

[0074] Figure 8(a) is a diagram illustrating a decoding parameter set (DPS) RBSP syntax, Figure 8(b) is a diagram illustrating a sequence parameter set (SPS) RBSP syntax, and Figure 8(c) is a diagram illustrating a profile tier level syntax 'profile_tier_level()'.

[0075] As shown in Figures 8(a) and 8(b), profile tier level syntax may be included (called) in the DPS RBSP syntax and the SPS RBSP syntax. The profile tier level syntax may include information related to the profile, tier, and level. In this case, the profile tier level syntax may include a syntax 'general_constraint_info()' for general constraint information (GCI). The syntax for GCI (hereinafter, GCI syntax) may control the disabling of tools and / or functions included in the GCI syntax and / or other syntaxes (e.g., DPS RBSP syntax, VPS RBSP syntax, SPS RBSP syntax, PPS RBSP syntax, Sliceheader syntax, etc.) for interoperability. When the GCI syntax indicates that a tool and / or function is to be deactivated, the tool and / or function declared in the lower syntax may be deactivated. In this case, whether the tool and / or function deactivated by the GCI syntax is applied to the entire bitstream or to a partial bitstream may be determined depending on the position of the NAL unit parsed by the decoder. For example, the profile tier level syntax 'profile_tier_level()' may be included in the DPS RBSP syntax and / or the SPS RBSP syntax, and when the profile tier level syntax is included in the DPS RBSP syntax, the GCI syntax included in the profile tier level syntax may be applied to the entire bitstream.As yet another example, if a profile tier level syntax is included in the SPS RBSP syntax, the GCI syntax included in the profile tier level syntax may be applied to a coded layer video sequence (CLVS).

[0076] 9 to 11 are diagrams showing syntax according to an embodiment of the present invention.

[0077] FIG. 9(a) is a diagram illustrating a video parameter set (VPS) RBSP syntax according to an embodiment of the present invention, and FIG. 9(b) is a diagram illustrating a general constraint information (GCI) syntax according to an embodiment of the present invention. As shown in FIG. 9(a), the GCI syntax 'general_constraint_info()' may be included in the VPS syntax. Also, although not shown in FIG. 9(a), the above-mentioned profile tier level syntax may be included in the VPS syntax, and the GCI syntax may be included in the profile tier level syntax included in the VPS syntax. The GCI syntax may include one or more syntax elements. FIGS. 10 and 11 are diagrams illustrating a sequence parameter set (SPS) RBSP syntax according to an embodiment of the present invention. Hereinafter, a constraint flag, which is a syntax element included in the GCI syntax, will be described with reference to FIGS. 9 to 11.

[0078] - no_qtbtt_dual_tree_intra_constraint_flag

[0079] no_qtbtt_dual_tree_intra_constraint_flag is a flag that controls qtbtt_dual_tree_intra_flag. For example, if the value of no_qtbtt_dual_tree_intra_constraint_flag is 1, the value of qtbtt_dual_tree_intra_flag may be set to 0. On the other hand, if the value of no_qtbtt_dual_tree_intra_constraint_flag is 0, there is no constraint on the value of qtbtt_dual_tree_intra_flag. In other words, the value of qtbtt_dual_tree_intra_flag may be determined by the passing result of the SPS RBSP syntax.

[0080] Here, qtbtt_dual_tree_intra_flag is a flag indicating whether an I-slice is used in the coding_tree syntax structure. For example, if the value of qtbtt_dual_tree_intra_flag is 1, each coding tree unit (CTU) for an I-slice may be divided into coding units (CTUs) having 64x64 luma samples by implicit quadtree division, and in this case, the coding unit is the root node (top coding unit) of a separate coding_tree syntax structure for luma and two chroma. If the value of qtbtt_dual_tree_intra_flag is 0, it indicates that a coding_tree syntax structure is not used for an I-slice. The above-mentioned qtbtt_dual_tree_intra_flag can be referred to as sps_qtbtt_dual_tree_intra_flag.

[0081] Referring to FIG. 10, log2_ctu_size_minus5 is a syntax element indicating size information of the luma coding tree block of each coding tree unit. Adding 5 to log2_ctu_size_minus5 gives the size of the luma coding tree block at the log2 level (CtbLog2SizeY). This is expressed as Equation 1 below. In Equation 1 below, CtbSizeY represents the size of each luma coding tree block.

[0082]

number

[0083] - no_partition_constraints_override_constraint_flag

[0084] no_partition_constraints_override_constraint_flag is a flag that controls partition_constraints_override_enabled_flag. For example, if the value of no_partition_constraints_override_constraint_flag is 1, the value of partition_constraints_override_enabled_flag may be set to 0. On the other hand, if the value of no_partition_constraints_override_constraint_flag is 0, there is no constraint on the value of partition_constraints_override_enabled_flag. In other words, the value of partition_constraints_override_enabled_flag may be determined by the passing result of the SPS RBSP syntax.

[0085] In this case, partition_constraints_override_enabled_flag is a flag indicating whether ph_partition_constraints_override_flag exists in the picture header (PH). If the value of partition_constraints_override_enabled_flag is 1, it indicates that ph_partition_constraints_override_flag exists, and if the value of partition_constraints_override_enabled_flag is 0, it indicates that ph_partition_constraints_override_flag does not exist. The above-mentioned partition_constraints_override_enabled_flag can be called sps_partition_constraints_override_enabled_flag.

[0086] -no_sao_constraint_flag

[0087] no_sao_constraint_flag is a flag that controls sps_sao_enabled_flag. For example, if the value of no_sao_constraint_flag is 1, the value of sps_sao_enabled_flag may be set to 0. On the other hand, if the value of no_sao_constraint_flag is 0, there is no constraint on the value of sps_sao_enabled_flag. In other words, the value of sps_sao_enabled_flag may be determined by the parsing result of the SPS RBSP syntax.

[0088] In this case, sps_sao_enabled_flag is a flag indicating whether a sample adaptive offset process is applied to a picture reconstructed after a deblocking filter process for a coded layer video sequence (CLVS). For example, if the value of sps_sao_enabled_flag is 1, the sample adaptive offset process is activated for a picture reconstructed after a deblocking filter process for a coded layer video sequence (CLVS), indicating that the sample adaptive offset process is applied to a picture reconstructed after a deblocking filter process for a coded layer video sequence (CLVS). If the value of sps_sao_enabled_flag is 0, the sample adaptive offset process is deactivated for a picture reconstructed after a deblocking filter process for a coded layer video sequence (CLVS), indicating that the sample adaptive offset process is not applied to a picture reconstructed after a deblocking filter process for a coded layer video sequence (CLVS).

[0089] - no_alf_constraint_flag

[0090] no_alf_constraint_flag is a flag that controls sps_alf_enabled_flag. For example, if the value of no_alf_constraint_flag is 1, the value of sps_alf_enabled_flag may be set to 0. On the other hand, if the value of no_alf_constraint_flag is 0, there is no constraint on the value of sps_alf_enabled_flag. In other words, the value of sps_alf_enabled_flag may be determined by the parsing result of the SPS RBSP syntax.

[0091] Here, sps_alf_enabled_flag is a flag indicating whether an adaptive loop filter applied to picture decoding in CLVS is activated. For example, if the value of sps_alf_enabled_flag is 1, the adaptive loop filter is activated, indicating that the adaptive loop filter may be applied to picture decoding in CLVS. If the value of sps_alf_enabled_flag is 0, the adaptive loop filter is deactivated, indicating that the adaptive loop filter is not applied to picture decoding in CLVS.

[0092] - no_joint_cbcr_constraint_flag

[0093] no_joint_cbcr_constraint_flag is a flag that controls sps_joint_cbcr_enabled_flag. For example, if the value of no_joint_cbcr_constraint_flag is 1, the value of sps_joint_cbcr_enabled_flag may be set to 0. On the other hand, if the value of no_joint_cbcr_constraint_flag is 0, there is no constraint on the value of sps_joint_cbcr_enabled_flag. In other words, the value of sps_joint_cbcr_enabled_flag may be determined by the parsing result of the SPS RBSP syntax.

[0094] In this case, sps_joint_cbcr_enabled_flag is a flag indicating whether joint coding of chroma residuals used in decoding a picture in CLVS is activated. For example, if the value of sps_joint_cbcr_enabled_flag is 1, joint coding of chroma residuals is activated, indicating that joint coding of chroma residuals may be used in decoding a picture in CLVS. If the value of sps_joint_cbcr_enabled_flag is 0, joint coding of chroma residuals is deactivated, indicating that joint coding of chroma residuals is not used in decoding a picture in CLVS. On the other hand, sps_joint_cbcr_enabled_flag may not be present, and in this case, the value of sps_joint_cbcr_enabled_flag may be inferred to be 0.

[0095] - no_ref_wraparound_constraint_flag

[0096] no_ref_wraparound_constraint_flag is a flag that controls sps_ref_wraparound_enabled_flag. For example, if the value of no_ref_wraparound_constraint_flag is 1, the value of sps_ref_wraparound_enabled_flag may be set to 0. On the other hand, if the value of no_ref_wraparound_constraint_flag is 0, there is no constraint on the value of sps_ref_wraparound_enabled_flag. In other words, the value of sps_ref_wraparound_enabled_flag may be determined by the parsing result of the SPS RBSP syntax.

[0097] In this case, sps_ref_wraparound_enabled_flag is a flag indicating whether horizontal wrap-around motion compensation, which is applied to decoding of a picture in CLVS, is activated. For example, if the value of sps_ref_wraparound_enabled_flag is 1, horizontal wrap-around motion compensation is activated, indicating that horizontal wrap-around motion compensation may be applied to decoding of a picture in CLVS. If the value of sps_ref_wraparound_enabled_flag is 0, horizontal wrap-around motion compensation is deactivated, indicating that horizontal wrap-around motion compensation is not applied to decoding of a picture in CLVS.

[0098] - no_temporal_mvp_constraint_flag

[0099] no_temporal_mvp_constraint_flag is a flag that controls sps_temporal_mvp_enabled_flag. For example, if the value of no_temporal_mvp_constraint_flag is 1, the value of sps_temporal_mvp_enabled_flag may be set to 0. On the other hand, if the value of no_temporal_mvp_constraint_flag is 0, there is no constraint on the value of sps_temporal_mvp_enabled_flag. In other words, the value of sps_temporal_mvp_enabled_flag may be determined by the parsing result of the SPS RBSP syntax.

[0100] In this case, sps_temporal_mvp_enabled_flag is a flag indicating whether a temporal motion vector predictor used in decoding a picture in CLVS is activated. For example, if the value of sps_temporal_mvp_enabled_flag is 1, the temporal motion vector predictor is activated, indicating that the temporal motion vector predictor may be used in decoding a picture in CLVS. If the value of sps_temporal_mvp_enabled_flag is 0, the temporal motion vector predictor is deactivated, indicating that the temporal motion vector predictor is not used in decoding a picture in CLVS.

[0101] -no_sbtmvp_constraint_flag

[0102] no_sbtmvp_constraint_flag is a flag that controls sps_sbtmvp_enabled_flag. For example, if the value of no_sbtmvp_constraint_flag is 1, the value of sps_sbtmvp_enabled_flag may be set to 0. On the other hand, if the value of no_sbtmvp_constraint_flag is 0, there is no constraint on the value of sps_sbtmvp_enabled_flag. In other words, the value of sps_sbtmvp_enabled_flag may be determined by the parsing result of the SPS RBSP syntax.

[0103] Here, sps_sbtmvp_enabled_flag is a flag indicating whether subblock-based temporal motion vector predictors used in decoding a picture in CLVS are activated. For example, if the value of sps_sbtmvp_enabled_flag is 1, the subblock-based temporal motion vector predictors are activated, indicating that the subblock-based temporal motion vector predictors may be used in decoding a picture in CLVS. In this case, the slice type of the picture may be a type other than an I slice (e.g., a B slice or a P slice). If the value of sps_sbtmvp_enabled_flag is 0, the subblock-based temporal motion vector predictors are deactivated, indicating that the subblock-based temporal motion vector predictors are not used in decoding a picture in CLVS.

[0104] -no_amvr_constraint_flag

[0105] no_amvr_constraint_flag is a flag that controls sps_amvr_enabled_flag. For example, if the value of no_amvr_constraint_flag is 1, the value of sps_amvr_enabled_flag may be set to 0. On the other hand, if the value of no_amvr_constraint_flag is 0, there is no constraint on the value of sps_amvr_enabled_flag. In other words, the value of sps_amvr_enabled_flag may be determined by the parsing result of the SPS RBSP syntax.

[0106] Here, sps_amvr_enabled_flag is a flag indicating whether motion vector difference resolution used for decoding pictures in CLVS is activated. For example, if the value of sps_amvr_enabled_flag is 1, motion vector difference resolution is activated, indicating that motion vector difference resolution may be used for decoding pictures in CLVS. If the value of sps_amvr_enabled_flag is 0, motion vector difference resolution is deactivated, indicating that motion vector difference resolution is not used for decoding pictures in CLVS.

[0107] -no_bdof_constraint_flag

[0108] no_bdof_constraint_flag is a flag that controls sps_bdof_enabled_flag. For example, if the value of no_bdof_constraint_flag is 1, the value of sps_bdof_enabled_flag may be set to 0. On the other hand, if the value of no_bdof_constraint_flag is 0, there is no constraint on the value of sps_bdof_enabled_flag. In other words, the value of sps_bdof_enabled_flag may be determined by the parsing result of the SPS RBSP syntax.

[0109] In this case, sps_bdof_enabled_flag is a flag indicating whether bi-directional optical flow inter prediction used for decoding pictures in CLVS is activated. For example, if the value of sps_bdof_enabled_flag is 1, bi-directional optical flow inter prediction is activated, indicating that bi-directional optical flow inter prediction may be used for decoding pictures in CLVS. If the value of sps_bdof_enabled_flag is 0, bi-directional optical flow inter prediction is deactivated, indicating that bi-directional optical flow inter prediction is not used for decoding pictures in CLVS.

[0110] - no_dmvr_constraint_flag

[0111] no_dmvr_constraint_flag is a flag that controls sps_dmvr_enabled_flag. For example, if the value of no_dmvr_constraint_flag is 1, the value of sps_dmvr_enabled_flag may be set to 0. On the other hand, if the value of no_dmvr_constraint_flag is 0, there is no constraint on the value of sps_dmvr_enabled_flag. In other words, the value of sps_dmvr_enabled_flag may be determined by the parsing result of the SPS RBSP syntax.

[0112] In this case, sps_dmvr_enabled_flag is a flag indicating whether bi-prediction based on decoder motion vector refinement used for decoding pictures in CLVS is activated. For example, if the value of sps_dmvr_enabled_flag is 1, bi-prediction based on decoder motion vector refinement is activated, indicating that bi-prediction based on decoder motion vector refinement may be used for decoding pictures in CLVS. If the value of sps_dmvr_enabled_flag is 0, bi-prediction based on decoder motion vector refinement is deactivated, indicating that bi-prediction based on decoder motion vector refinement is not used for decoding pictures in CLVS.

[0113] - no_cclm_constraint_flag

[0114] no_cclm_constraint_flag is a flag that controls sps_cclm_enabled_flag. For example, if the value of no_cclm_constraint_flag is 1, the value of sps_cclm_enabled_flag may be set to 0. On the other hand, if the value of no_cclm_constraint_flag is 0, there is no constraint on the value of sps_cclm_enabled_flag. In other words, the value of sps_cclm_enabled_flag may be determined by the parsing result of the SPS RBSP syntax.

[0115] In this case, sps_cclm_enabled_flag is a flag indicating whether cross-component linear model intra prediction from luma components to chroma components used in decoding a picture in CLVS is activated. For example, if the value of sps_cclm_enabled_flag is 1, cross-component linear model intra prediction from luma components to chroma components is activated, indicating that cross-component linear model intra prediction from luma components to chroma components may be used in decoding a picture in CLVS. If the value of sps_cclm_enabled_flag is 0, cross-component linear model intra prediction from luma components to chroma components is deactivated, indicating that cross-component linear model intra prediction from luma components to chroma components is not used in decoding a picture in CLVS. Meanwhile, sps_cclm_enabled_flag may not be present, and in this case, the value of sps_cclm_enabled_flag may be inferred to be 0.

[0116] - no_mts_constraint_flag

[0117] no_mts_constraint_flag is a flag that controls sps_mts_enabled_flag. For example, if the value of no_mts_constraint_flag is 1, the value of sps_mts_enabled_flag may be set to 0. On the other hand, if the value of no_mts_constraint_flag is 0, there is no constraint on the value of sps_mts_enabled_flag. In other words, the value of sps_mts_enabled_flag may be determined by the parsing result of the SPS RBSP syntax.

[0118] In this case, sps_mts_enabled_flag is a flag indicating whether sps_explicit_mts_intra_enabled_flag and sps_explicit_mts_inter_enabled_flag are present in the sequence parameter set (SPS). For example, if the value of sps_mts_enabled_flag is 1, it indicates that sps_explicit_mts_intra_enabled_flag and sps_explicit_mts_inter_enabled_flag are present in the SPS. If the value of sps_mts_enabled_flag is 0, it indicates that sps_explicit_mts_intra_enabled_flag and sps_explicit_mts_inter_enabled_flag are not present in the SPS.

[0119] In this case, sps_explicit_mts_intra_enabled_flag and sps_explicit_mts_inter_enabled_flag are flags indicating whether mts_idx is present in the CLVS intra-coding unit syntax. For example, if the value of sps_explicit_mts_intra_enabled_flag / sps_explicit_mts_inter_enabled_flag is 1, it indicates that mts_idx may be present in the CLVS intra- / inter-coding unit syntax. If the value of sps_explicit_mts_intra_enabled_flag / sps_explicit_mts_inter_enabled_flag is 0, it indicates that mts_idx is not present in the CLVS intra- / inter-coding unit syntax. On the other hand, sps_explicit_mts_intra_enabled_flag / sps_explicit_mts_inter_enabled_flag may not be present, but in this case the value of sps_explicit_mts_intra_enabled_flag / sps_explicit_mts_inter_enabled_flag may be inferred to be 0.

[0120] The above-mentioned mts_idx is a syntax element that indicates the transform kernels to be applied along the horizontal and vertical directions of the associated luma transform block in the current coding unit.

[0121] - no_sbt_constraint_flag

[0122] no_sbt_constraint_flag is a flag that controls sps_sbt_enabled_flag. For example, if the value of no_sbt_constraint_flag is 1, the value of sps_sbt_enabled_flag may be set to 0. On the other hand, if the value of no_sbt_constraint_flag is 0, there is no constraint on the value of sps_sbt_enabled_flag. In other words, the value of sps_sbt_enabled_flag may be determined by the parsing result of the SPS RBSP syntax.

[0123] In this case, sps_sbt_enabled_flag is a flag indicating whether sub-block transforms for inter-predicted coding units (CUs) used in decoding a picture in CLVS are activated. For example, if the value of sps_sbt_enabled_flag is 1, sub-block transforms for inter-predicted coding units are activated, indicating that sub-block transforms for inter-predicted coding units may be used in decoding a picture in CLVS. If the value of sps_sbt_enabled_flag is 0, sub-block transforms for inter-predicted coding units are deactivated, indicating that sub-block transforms for inter-predicted coding units are not used in decoding a picture in CLVS.

[0124] - no_affine_motion_constraint_flag

[0125] no_affine_motion_constraint_flag is a flag that controls sps_affine_enabled_flag. For example, if the value of no_affine_motion_constraint_flag is 1, the value of sps_affine_enabled_flag may be set to 0. On the other hand, if the value of no_affine_motion_constraint_flag is 0, there is no constraint on the value of sps_affine_enabled_flag. In other words, the value of sps_affine_enabled_flag may be determined by the parsing result of the SPS RBSP syntax.

[0126] Here, sps_affine_enabled_flag is a flag indicating whether affine model-based motion compensation used for decoding pictures in CLVS is activated. sps_affine_enabled_flag also indicates whether inter_affine_flag and cu_affine_type_flag are present in the coding unit syntax of CLVS. For example, if the value of sps_affine_enabled_flag is 1, affine model-based motion compensation is activated, indicating that affine model-based motion compensation may be used for decoding pictures in CLVS. If the value of sps_affine_enabled_flag is 1, it indicates that inter_affine_flag and cu_affine_type_flag may be present in the coding unit syntax of CLVS. If the value of sps_affine_enabled_flag is 0, affine model-based motion compensation is deactivated, indicating that affine model-based motion compensation is not used for decoding pictures in CLVS. If the value of sps_affine_enabled_flag is 0, it indicates that inter_affine_flag and cu_affine_type_flag are not present in the coding unit syntax of CLVS.

[0127] Here, inter_affine_flag is a flag indicating whether affine model-based motion compensation is used to generate a predicted sample of the current coding unit when decoding the current coding unit, and cu_affine_type_flag is a flag indicating whether affine model-based motion compensation using four parameters or affine model-based motion compensation using six parameters is used when decoding the current coding unit.

[0128] -no_bcw_constraint_flag

[0129] no_bcw_constraint_flag is a flag that controls sps_bcw_enabled_flag. For example, if the value of no_bcw_constraint_flag is 1, the value of sps_bcw_enabled_flag may be set to 0. On the other hand, if the value of no_bcw_constraint_flag is 0, there is no constraint on the value of sps_bcw_enabled_flag. In other words, the value of sps_bcw_enabled_flag may be determined by the parsing result of the SPS RBSP syntax.

[0130] Here, sps_bcw_enabled_flag is a flag indicating whether bidirectional prediction using coding unit weights used in decoding a picture in CLVS is activated. sps_bcw_enabled_flag may also indicate whether bcw_idx is present in the coding unit syntax of CLVS. For example, if the value of sps_bcw_enabled_flag is 1, bidirectional prediction using coding unit weights is activated, indicating that bidirectional prediction using coding unit weights may be used in decoding a picture in CLVS. Also, if the value of sps_bcw_enabled_flag is 1, it indicates that bcw_idx may be present in the coding unit syntax of CLVS. If the value of sps_bcw_enabled_flag is 0, it indicates that bidirectional prediction using coding unit weights is deactivated, indicating that bidirectional prediction using coding unit weights is not used in decoding a picture in CLVS. Also, if the value of sps_bcw_enabled_flag is 0, it indicates that bcw_idx does not exist in the CLVS coding unit syntax.

[0131] In this case, bcw_idx is a syntax element indicating an index associated with bidirectional prediction using a coding unit weight.

[0132] - no_ibc_constraint_flag

[0133] no_ibc_constraint_flag is a flag that controls sps_ibc_enabled_flag. For example, if the value of no_ibc_constraint_flag is 1, the value of sps_ibc_enabled_flag may be set to 0. On the other hand, if the value of no_ibc_constraint_flag is 0, there is no constraint on the sps_ibc_enabled_flag value. In other words, the value of sps_ibc_enabled_flag may be determined by the parsing result of the SPS RBSP syntax.

[0134] Here, sps_ibc_enabled_flag is a flag indicating whether an IBC (intra block copy) prediction mode used for decoding a picture in CLVS is activated. For example, if the value of sps_ibc_enabled_flag is 1, the IBC prediction mode is activated, indicating that the IBC prediction mode may be used for decoding a picture in CLVS. If the value of sps_ibc_enabled_flag is 0, the IBC prediction mode is deactivated, indicating that the IBC prediction mode is not used for decoding a picture in CLVS.

[0135] -no_ciip_constraint_flag

[0136] no_ciip_constraint_flag is a flag that controls sps_ciip_enabled_flag. For example, if the value of no_ciip_constraint_flag is 1, the value of sps_ciip_enabled_flag may be set to 0. On the other hand, if the value of no_ciip_constraint_flag is 0, there is no constraint on the value of sps_ciip_enabled_flag. In other words, the value of sps_ciip_enabled_flag may be determined by the parsing result of the SPS RBSP syntax.

[0137] In this case, sps_ciip_enabled_flag is a flag indicating whether ciip_flag is present in the coding unit syntax for an inter-coding unit. For example, if the value of sps_ciip_enabled_flag is 0, it indicates that ciip_flag is not present in the coding unit syntax for an inter-coding unit. If the value of sps_ciip_enabled_flag is 1, it indicates that ciip_flag may be present in the coding unit syntax for an inter-coding unit.

[0138] ciip_flag is a flag that indicates whether combined inter-picture merge and intra-picture prediction is applied to the current coding unit.

[0139] - no_fpel_mmvd_constraint_flag

[0140] no_fpel_mmvd_constraint_flag is a flag that controls sps_fpel_mmvd_enabled_flag. For example, if the value of no_fpel_mmvd_constraint_flag is 1, the value of sps_fpel_mmvd_enabled_flag may be set to 0. On the other hand, if the value of no_fpel_mmvd_constraint_flag is 0, there is no constraint on the value of sps_fpel_mmvd_enabled_flag. In other words, the value of sps_fpel_mmvd_enabled_flag may be determined by the parsing result of the SPS RBSP syntax.

[0141] In this case, sps_fpel_mmvd_enabled_flag is a flag indicating the type of sample precision used in the merge mode using motion vector difference. For example, if the value of sps_fpel_mmvd_enabled_flag is 1, it indicates that the sample precision used in the merge mode using motion vector difference is integer sample precision. If the value of sps_fpel_mmvd_enabled_flag is 0, it indicates that the sample precision used in the merge mode using motion vector difference is fractional sample precision. On the other hand, sps_fpel_mmvd_enabled_flag may not be present, and in this case, the value of sps_fpel_mmvd_enabled_flag may be inferred to be 0. sps_fpel_mmvd_enabled_flag may also be called sps_mmvd_fullpel_only_flag.

[0142] -no_triangle_constraint_flag

[0143] no_triangle_constraint_flag is a flag that controls sps_triangle_enabled_flag. For example, if the value of no_triangle_constraint_flag is 1, the value of sps_triangle_enabled_flag may be set to 0. On the other hand, if the value of no_triangle_constraint_flag is 0, there is no constraint on the value of sps_triangle_enabled_flag. In other words, the value of sps_triangle_enabled_flag may be determined by the parsing result of the SPS RBSP syntax.

[0144] Here, sps_triangle_enabled_flag is a flag indicating whether triangle shape-based motion compensation is applied. The triangle shape-based motion compensation prediction method may be divided into two triangle models based on the diagonal of the inter-coding unit. The motion information set of each triangle region may be different, and motion compensation may be performed based on this to generate a prediction sample.

[0145] -no_ladf_constraint_flag

[0146] no_ladf_constraint_flag is a flag that controls sps_ladf_enabled_flag. For example, if the value of no_ladf_constraint_flag is 1, the value of sps_ladf_enabled_flag may be set to 0. On the other hand, if the value of no_ladf_constraint_flag is 0, there is no constraint on the value of sps_ladf_enabled_flag. In other words, the value of sps_ladf_enabled_flag may be determined by the parsing result of the SPS RBSP syntax.

[0147] In this case, sps_ladf_enabled_flag is a flag indicating whether sps_num_ladf_intervals_minus2, sps_ladf_lowest_interval_qp_offset, sps_ladf_qp_offset[i], and sps_ladf_delta_threshold_minus1[i] are present in the SPS. For example, if the value of sps_ladf_enabled_flag is 1, it indicates that sps_num_ladf_intervals_minus2, sps_ladf_lowest_interval_qp_offset, sps_ladf_qp_offset[i], and sps_ladf_delta_threshold_minus1[i] are present in the SPS. If the value of sps_ladf_enabled_flag is 0, it indicates that sps_num_ladf_intervals_minus2, sps_ladf_lowest_interval_qp_offset, sps_ladf_qp_offset[i], and sps_ladf_delta_threshold_minus1[i] are not present in the SPS.

[0148] sps_num_ladf_intervals_minus2 is a syntax element that indicates the number of sps_ladf_delta_threshold_minus1[i] and sps_ladf_qp_offset[i] syntax elements present in the SPS. sps_num_ladf_intervals_minus2 may have a value in the range of 0 to 3.

[0149] sps_ladf_lowest_interval_qp_offset is a syntax element that indicates an offset used to derive a quantization parameter (QP), which is a variable. sps_ladf_lowest_interval_qp_offset may have a value in the range of -63 to 63.

[0150] sps_ladf_qp_offset[i] is a syntax element that indicates an offset array used to derive a variable quantization parameter. sps_ladf_qp_offset[i] may have a value in the range of −63 to 63.

[0151] sps_ladf_delta_threshold_minus1[i] is a syntax element used to calculate the value of SpsLadfIntervalLowerBound[i], which is a syntax element that specifies the lower limit of the i-th luma intensity level interval. sps_ladf_delta_threshold_minus1[i] is a value between 0 and 2. BitDepth The value may range from -3. BitDepth indicates the bit depth, and means the number of bits required to express the brightness of an image.

[0152] - no_transform_skip_constraint_flag

[0153] no_transform_skip_constraint_flag is a flag that controls sps_transform_skip_enabled_flag. For example, if the value of no_transform_skip_constraint_flag is 1, the value of sps_transform_skip_enabled_flag may be set to 0. On the other hand, if the value of no_transform_skip_constraint_flag is 0, there is no constraint on the value of sps_transform_skip_enabled_flag. In other words, the value of sps_transform_skip_enabled_flag may be determined by the parsing result of the SPS RBSP syntax.

[0154] In this case, sps_transform_skip_enabled_flag is a flag indicating whether or not transform_skip_flag is present in the transform unit syntax. For example, if the value of sps_transform_skip_enabled_flag is 1, it indicates that transform_skip_flag may be present in the transform unit syntax. If the value of sps_transform_skip_enabled_flag is 0, it indicates that transform_skip_flag is not present in the transform unit syntax.

[0155] transform_skip_flag is a flag that indicates whether a transform has been applied to the transform block.

[0156] -no_bdpcm_constraint_flag

[0157] no_bdpcm_constraint_flag is a flag that controls sps_bdpcm_enabled_flag. For example, if the value of no_bdpcm_constraint_flag is 1, the value of sps_bdpcm_enabled_flag may be set to 0. On the other hand, if the value of no_bdpcm_constraint_flag is 0, there is no constraint on the value of sps_bdpcm_enabled_flag. In other words, the value of sps_bdpcm_enabled_flag may be determined by the parsing result of the SPS RBSP syntax.

[0158] In this case, sps_bdpcm_enabled_flag is a flag indicating whether intra_bdpcm_luma_flag and intra_bdpcm_chroma_flag are present in the coding unit syntax for the intra coding unit. For example, if the value of sps_bdpcm_enabled_flag is 1, it indicates that intra_bdpcm_luma_flag and intra_bdpcm_chroma_flag may be present in the coding unit syntax for the intra coding unit. If the value of sps_bdpcm_enabled_flag is 0, it indicates that intra_bdpcm_luma_flag and intra_bdpcm_chroma_flag are not present in the coding unit syntax for the intra coding unit. On the other hand, sps_bdpcm_enabled_flag may not be present, and in this case, the value of sps_bdpcm_enabled_flag may be inferred to be 0.

[0159] The intra_bdpcm_luma_flag / intra_bdpcm_chroma_flag are flags indicating whether or not bdpcm (Block-based Delta Pulse Code Modulation) is applied to a luma / chroma coding block at a specific position (x0, y0).

[0160] - no_qp_delta_constraint_flag

[0161] no_qp_delta_constraint_flag is a flag that controls cu_qp_delta_enabled_flag. For example, if the value of no_qp_delta_constraint_flag is 1, the value of cu_qp_delta_enabled_flag may be set to 0. On the other hand, if the value of no_qp_delta_constraint_flag is 0, there is no constraint on the value of cu_qp_delta_enabled_flag. In other words, the value of cu_qp_delta_enabled_flag may be determined by the parsing result of the SPS RBSP syntax.

[0162] In this case, cu_qp_delta_enabled_flag is a flag indicating whether the syntax elements ph_cu_qp_delta_subdiv_intra_slice and ph_cu_qp_delta_subdiv_inter_slice are present in the PH that references the PPS. Also, cu_qp_delta_enabled_flag indicates whether the syntax elements cu_qp_delta_abs and cu_qp_delta_sign_flag included in the transform unit syntax and palette coding syntax are present. For example, a value of 1 for cu_qp_delta_enabled_flag indicates that the syntax elements ph_cu_qp_delta_subdiv_intra_slice and ph_cu_qp_delta_subdiv_inter_slice may be present in the PH that references the PPS. Also, a value of 1 in cu_qp_delta_enabled_flag indicates that the syntax elements cu_qp_delta_abs and cu_qp_delta_sign_flag may be present in the transform unit syntax and palette coding syntax. A value of 0 in cu_qp_delta_enabled_flag indicates that the syntax elements ph_cu_qp_delta_subdiv_intra_slice and ph_cu_qp_delta_subdiv_inter_slice are not present in the PH that references the PPS. A value of 0 in cu_qp_delta_enabled_flag indicates that the syntax elements cu_qp_delta_abs and cu_qp_delta_sign_flag are not present in the transform unit syntax and palette coding syntax.

[0163] ph_cu_qp_delta_subdiv_intra_slice / ph_cu_qp_delta_subdiv_inter_slice are syntax elements that indicate the maximum value 'cbSubdiv' of a coding unit in an intra / inter slice that conveys cu_qp_delta_abs and cu_qp_delta_sign_flag, where 'cbSubdiv' represents a subdivision value of a block.

[0164] Cu_qp_delta_abs is a syntax element that indicates the absolute value of the difference 'CuQpDeltaVal' between the quantization parameter of the current coding unit and the predicted value of the quantization parameter of the current coding unit.

[0165] Cu_qp_delta_sign_flag is a flag indicating the sign of the 'CuQpDeltaVal'.

[0166] - no_dep_quant_constraint_flag

[0167] no_dep_quant_constraint_flag is a flag that controls sps_dep_quant_enabled_flag. For example, if the value of no_dep_quant_constraint_flag is 1, the value of sps_dep_quant_enabled_flag may be set to 0. On the other hand, if the value of no_dep_quant_constraint_flag is 0, there is no constraint on the value of sps_dep_quant_enabled_flag. In other words, the value of sps_dep_quant_enabled_flag may be determined by the parsing result of the SPS RBSP syntax.

[0168] In this case, sps_dep_quant_enabled_flag is a flag indicating whether dependent quantization used for pictures referencing SPS is activated. For example, if the value of sps_dep_quant_enabled_flag is 1, dependent quantization is activated, indicating that dependent quantization may be used for pictures referencing SPS. If the value of sps_dep_quant_enabled_flag is 0, dependent quantization is deactivated, indicating that dependent quantization is not used for pictures referencing SPS.

[0169] - no_sign_data_hiding_constraint_flag

[0170] no_sign_data_hiding_constraint_flag is a flag that controls sps_sign_data_hiding_enabled_flag. For example, if the value of no_sign_data_hiding_constraint_flag is 1, the value of sps_sign_data_hiding_enabled_flag may be set to 0. On the other hand, if the value of no_sign_data_hiding_constraint_flag is 0, there is no constraint on the value of sps_sign_data_hiding_enabled_flag. In other words, the value of sps_sign_data_hiding_enabled_flag may be determined by the parsing result of the SPS RBSP syntax.

[0171] In this case, sps_sign_data_hiding_enabled_flag is a flag indicating whether sign bit hiding used in pictures that reference an SPS is activated. For example, if the value of sps_sign_data_hiding_enabled_flag is 1, sign bit hiding used in pictures that reference an SPS is activated, indicating that sign bit hiding may be used in pictures that reference an SPS. If the value of sps_sign_data_hiding_enabled_flag is 0, sign bit hiding used in pictures that reference an SPS is deactivated, indicating that sign bit hiding is not used in pictures that reference an SPS.

[0172] FIG. 12 is a diagram illustrating a sequence parameter set (SPS) RBSP syntax according to one embodiment of the present invention.

[0173] 12, the SPS RBSP syntax structure includes sps_scaling_list_enabled_flag, parameter information related to high dynamic range (hdr), and an extension space for adding sps parameters (described later). The if clause following hrd_parameters_present_flag shown in FIG. 12 may be parameter information related to hdr.

[0174] 13 is a diagram illustrating a general constraint information (GCI) syntax according to an embodiment of the present invention. As shown in FIG. 13, the GCI syntax can include flags related to transform skip and bdpcm (Block-based Delta Pulse Code Modulation) and can signal the flags.

[0175] The above-mentioned no_transform_skip_constraint_flag and no_bdpcm_constraint_flag will be described in more detail with reference to Figures 11 and 13. As shown in Figure 11, the SPS RBSP syntax has a structure that signals sps_bdpcm_enabled_flag when the value of sps_transform_skip_enabled_flag is 1. This structure means that the activation condition for transform skip must precede the activation of bdpcm.

[0176] Therefore, the GCI syntax also requires a signaling structure similar to that of the SPS RBSP syntax. For example, if the value of no_transform_skip_coanstraint_flag is 1, the value of sps_transform_skip_enabled_flag is 0, and thus the transform skip is deactivated. In this case, setting no_bdpcm_constraint_flag to 1 or 0 means using 1 bit meaninglessly. In other words, when the transform skip is activated (sps_transform_skip_enabled_flag == 1), the syntax element (sps_bdpcm_enabled_flag) indicating whether the bdpcm is activated is signaled. Therefore, when the transform skip is deactivated, signaling the flag (no_bdpcm_constraint_flag) that constrains the bdpcm is a waste of an extra bit.

[0177] 13, no_bdpcm_constraint_flag may be signaled when the value of no_transform_skip_constraint_flag is 0. This may be expressed as Equation 2 below.

[0178]

number

[0179] 14 is a diagram illustrating a general constraint information (GCI) syntax according to an embodiment of the present invention. As shown in FIG. 14, the GCI syntax can include flags associated with temporal motion vector predictors (temporal mvp) and subblock-based temporal motion vector predictors (sbtmvp), and can signal the flags.

[0180] The above-mentioned no_temporal_mvp_constraint_flag and no_sbtmvp_constraint_flag will be described in more detail with reference to Figures 11 and 14. As shown in Figure 11, the SPS RBSP syntax has a structure that signals sps_sbtmvp_enabled_flag when the value of sps_temporal_mvp_enabled_flag is 1. This structure means that the activation condition of the temporal motion vector predictor (temporal MVP) should precede the indication of the sub-block-based temporal motion vector predictor (sbtmvp).

[0181] 9, if the value of no_temporal_mvp_constraint_flag is 1, the value of sps_temporal_mvp_enabled_flag is set to 0 and deactivated, and sps_sbtmvp_enabled_flag is not signaled, so no_sbtmvp_constraint_flag, which controls sps_sbtmvp_enabled_flag, does not need to be signaled. On the other hand, if the value of no_temporal_mvp_constraint_flag is 0, the value of sps_temporal_mvp_enabled_flag is not constrained, so sps_sbtmvp_enabled_flag may be signaled, and therefore no_sbtmvp_constraint_flag, which indicates whether sps_sbtmvp_enabled_flag is activated, may be signaled. This can be expressed as Equation 3 below.

[0182] 14, no_sbtmvp_constraint_flag may be signaled when the value of no_temporal_mvp_constraint_flag is 0. This can be expressed as Equation 3 below.

[0183]

number

[0184] 15 is a diagram illustrating the general constraint information (GCI) syntax. As shown in FIG. 15, the GCI syntax can include a merge mode using motion vector difference (merge with motion vector difference, mmvd) and a flag related to full PEL (full pel, fpel) mmvd, and can signal the flag.

[0185] The above-mentioned no_mmvd_constraint_flag and no_fpel_mmvd_constraint_flag will be described in more detail with reference to Figures 11 and 15. Specifically, as shown in Figure 11, the SPS RBSP syntax has a structure that signals sps_fpel_mmvd_enabled_flag when the value of sps_mmvd_enabled_flag is 1. This structure means that the mmvd activation condition must precede in order to indicate the entire PEL mmvd.

[0186] The sps_mmvd_enabled_flag may indicate whether a merge mode using motion vector difference (mmvd) in inter prediction is activated. For example, if the value of the sps_mmvd_enabled_flag is 1, the merge mode using motion vector difference is activated and may be used for decoding pictures in CLVS. If the value of the sps_mmvd_enabled_flag is 0, the merge mode using motion vector difference is deactivated and is not used for decoding pictures in CLVS.

[0187] Also, as mentioned above, sps_fpel_mmvd_enabled_flag can indicate whether motion vector difference with integer sample precision is used when using mmvd.

[0188] In this case, no_mmvd_constraint_flag is a flag that controls sps_mmvd_enabled_flag. For example, if the value of no_mmvd_constraint_flag is 1, the value of sps_mmvd_enabled_flag may be set to 0. On the other hand, if the value of no_mmvd_constraint_flag is 0, there is no constraint on the value of sps_mmvd_enabled_flag. In other words, the value of sps_mmvd_enabled_flag may be determined by the parsing result of the SPS RBSP syntax.

[0189] Therefore, if the value of no_mmvd_constraint_flag is 1, the value of sps_mmvd_enabled_flag is set to 0 and is deactivated, and sps_fpel_mmvd_enabled_flag is not signaled, so no_fpel_mmvd_constraint_flag, which controls sps_fpel_mmvd_enabled_flag, does not need to be signaled. On the other hand, if the value of no_mmvd_constraint_flag is 0, the value of sps_mmvd_enabled_flag is not constrained, so sps_fpel_mmvd_enabled_flag may be signaled, and therefore no_fpel_mmvd_constraint_flag, which indicates whether sps_fpel_mmvd_enabled_flag is activated, may be signaled. This can be expressed as Equation 4 below.

[0190]

number

[0191] 16 is a diagram illustrating a general constraint information (GCI) syntax. As shown in FIG. 16, the GCI syntax may include a flag related to affine model based motion compensation and may signal the flag. Examples of flags related to affine model based motion compensation may include sps_affine_enabled_flag, sps_affine_type_flag, sps_affine_amvr_enabled_flag, sps_affine_prof_enabled_flag, etc.

[0192] Specifically, as shown in Figure 11, the SPS RBSP syntax has a structure that signals sps_affine_type_flag, sps_affine_amvr_enabled_flag, and sps_affine_prof_enabled_flag when the value of sps_affine_enabled_flag is 1. This structure means that the activation condition for affine model-based motion compensation must precede in order for sps_affine_type_flag, sps_affine_amvr_enabled_flag, and sps_affine_prof_enabled_flag to be signaled.

[0193] sps_affine_type_flag is a flag indicating whether or not affine model-based motion compensation using six parameters is used, and if the value of sps_affine_type_flag is 0, affine model-based motion compensation using six parameters is not used. If the value of sps_affine_type_flag is 1, it can indicate that affine model-based motion compensation using six parameters may be used.

[0194] sps_affine_amvr_enabled_flag is a flag that indicates whether adaptive motion vector resolution used in affine model-based motion compensation is used.

[0195] sps_affine_prof_enabled_flag is a flag that indicates whether correction that applies optical flow to affine model-based motion compensation is used.

[0196] Therefore, as explained in Figure 9, if the value of no_affine_motion_constraint_flag is 1, the value of sps_affine_enabled_flag is set to 0 and deactivated, and sps_affine_type_flag, sps_affine_amvr_enabled_flag, and sps_affine_prof_enabled_flag are not signaled, so no_affine_type_constraint_flag, no_affine_amvr_constraint_flag, and no_affine_prof_constraint_flag, which control sps_affine_type_flag, sps_affine_amvr_enabled_flag, and sps_affine_prof_enabled_flag, respectively, do not need to be signaled. On the other hand, if the value of no_affine_motion_constraint_flag is 0, the value of sps_affine_enabled_flag is not constrained, so sps_affine_type_flag, sps_affine_amvr_enabled_flag, and sps_affine_prof_enabled_flag may be signaled, and therefore no_affine_type_constraint_flag, no_affine_amvr_constraint_flag, and no_affine_prof_constraint_flag, which indicate whether sps_affine_type_flag, sps_affine_amvr_enabled_flag, and sps_affine_prof_enabled_flag are signaled, may be signaled. This can be expressed as in Equation 5 below.

[0197]

number

[0198] FIG. 17 is a diagram illustrating syntax according to an embodiment of the present invention.

[0199] FIG. 17(a) illustrates slice header syntax, and FIG. 17(b) illustrates general constraint information (GCI) syntax. Referring to FIG. 17(b), the GCI syntax may include a flag related to dependent quantization and a flag related to sign data hiding, and may signal these flags. FIG. 17(a) illustrates a structure for signaling a flag related to dependent quantization (dep_quant_enabled_flag) and a flag related to sign data hiding (sign_data_hiding_enabled_flag) in slice header syntax. As shown in FIG. 17(a), sign_data_hiding_enabled_flag may be signaled only when dep_quant_enabled_flag is deactivated (not used).

[0200] Therefore, as described in FIG. 9, if the value of no_dep_quant_constraint_flag is 1, the value of dep_quant_enabled_flag is set to 0 and is deactivated, and sign_data_hiding_enabled_flag may be signaled. If the value of no_dep_quant_constraint_flag is 0, the value of dep_quant_enabled_flag is not constrained, so no_sign_data_hiding_constraint_flag, which indicates whether sign_data_hiding_enabled_flag is activated, needs to be signaled. This can be expressed as in Equation 6 below. The above-mentioned sps_dep_quant_enabled_flag may be the same as dep_quant_enabled_flag, and sps_sign_data_hiding_enabled_flag may be the same as sign_data_hiding_enabled_flag.

[0201]

number

[0202] 18 is a diagram illustrating a general constraint information (GCI) syntax. As shown in FIG. 18, the GCI syntax can include flags related to multiple transform sets (mts) and can signal the flags. Examples of flags related to multiple transform sets include sps_mts_enabled_flag, sps_explicit_mts_intra_enabled_flag, sps_explicit_mts_inter_enabled_flag, etc.

[0203] The above-mentioned no_mts_constraint_flag, sps_explicit_mts_intra_enabled_flag, and sps_explicit_mts_inter_enabled_flag will be explained in more detail using Figures 11 and 18. The SPS RBSP syntax has a structure that signals sps_explicit_mts_intra_enabled_flag and sps_explicit_mts_inter_enabled_flag when the value of sps_mts_enabled_flag is 1. For example, when the value of sps_mts_enabled_flag is 0, only DCT2-DCT2 transform kernels can be used. When the value of sps_mts_enabled_flag is 1, it can be indicated that kernels other than DCT2 should be implicitly used. In addition, if the value of sps_mts_enabled_flag is 1 and the values ​​of sps_explicit_mts_intra_enabled_flag and sps_explicit_mts_inter_enabled_flag are both 1, a multiple transform set is implicitly indicated, and a multiple transform set can also be indicated for intra mode, and a multiple transform set can also be indicated separately for inter mode.

[0204] 9, if the value of no_mts_constraint_flag is 1, the value of sps_mts_enabled_flag is set to 0 to be deactivated, and sps_explicit_mts_intra_enabled_flag and sps_explicit_mts_inter_enabled_flag are not signaled. On the other hand, if the value of no_mts_constraint_flag is 0, the value of sps_mts_enabled_flag is not constrained, so sps_explicit_mts_intra_enabled_flag and sps_explicit_mts_inter_enabled_flag may be signaled. This can be expressed as Equation 7 below.

[0205]

number

[0206] 19 is a diagram illustrating a general constraint information (GCI) syntax according to an embodiment of the present invention. As shown in FIG. 19, syntax elements that control some of the syntax elements related to tools / functions defined in the sequence parameter set (SPS) RBSP syntax illustrated in FIG. 11 can be added to the GCI syntax to extend its functionality. The added syntax elements are as follows:

[0207] -no_smvd_constraint_flag

[0208] no_smvd_constraint_flag is a flag that controls sps_smvd_enabled_flag. For example, if the value of no_smvd_constraint_flag is 1, the value of sps_smvd_enabled_flag may be set to 0. On the other hand, if the value of no_smvd_constraint_flag is 0, there is no constraint on the value of sps_smvd_enabled_flag. In other words, the value of sps_smvd_enabled_flag may be determined by the parsing result of the SPS RBSP syntax.

[0209] In this case, sps_smvd_enabled_flag is a flag indicating whether symmetric motion vector difference used for decoding a picture in CLVS is activated. For example, if the value of sps_smvd_enabled_flag is 1, the symmetric motion vector used for decoding a picture in CLVS is activated, indicating that the symmetric motion vector may be used for decoding the picture in CLVS. If the value of sps_smvd_enabled_flag is 0, the symmetric motion vector used for decoding a picture in CLVS is deactivated, indicating that the symmetric motion vector is not used for decoding the picture in CLVS.

[0210] - no_isp_constraint_flag

[0211] no_isp_constraint_flag is a flag that controls sps_isp_enabled_flag. For example, if the value of no_isp_constraint_flag is 1, the value of sps_isp_enabled_flag may be set to 0. On the other hand, if the value of no_isp_constraint_flag is 0, there is no constraint on the value of sps_isp_enabled_flag. In other words, the value of sps_isp_enabled_flag may be determined by the parsing result of the SPS RBSP syntax.

[0212] Here, sps_isp_enabled_flag is a flag indicating whether intra prediction using subpartitions used for decoding a picture in CLVS is activated. For example, if the value of sps_isp_enabled_flag is 1, intra prediction using subpartitions used for decoding a picture in CLVS is activated, indicating that intra prediction using subpartitions may be used for decoding a picture in CLVS. If the value of sps_isp_enabled_flag is 0, intra prediction using subpartitions used for decoding a picture in CLVS is deactivated, indicating that intra prediction using subpartitions is not used for decoding a picture in CLVS.

[0213] - no_mrl_constraint_flag

[0214] no_mrl_constraint_flag is a flag that controls sps_mrl_enabled_flag. For example, if the value of no_mrl_constraint_flag is 1, the value of sps_mrl_enabled_flag may be set to 0. On the other hand, if the value of no_mrl_constraint_flag is 0, there is no constraint on the value of sps_mrl_enabled_flag. In other words, the value of sps_mrl_enabled_flag may be determined by the parsing result of the SPS RBSP syntax.

[0215] Here, sps_mrl_enabled_flag is a flag indicating whether intra prediction using multiple reference lines used for decoding a picture in CLVS is activated. For example, if the value of sps_mrl_enabled_flag is 1, intra prediction using multiple reference lines used for decoding a picture in CLVS is activated, indicating that intra prediction using multiple reference lines may be used for decoding a picture in CLVS. If the value of sps_mrl_enabled_flag is 0, intra prediction using multiple reference lines used for decoding a picture in CLVS is deactivated, indicating that intra prediction using multiple reference lines is not used for decoding a picture in CLVS.

[0216] -no_mip_constraint_flag

[0217] no_mip_constraint_flag is a flag that controls sps_mip_enabled_flag. For example, if the value of no_mip_constraint_flag is 1, the value of sps_mip_enabled_flag may be set to 0. On the other hand, if the value of no_mip_constraint_flag is 0, there is no constraint on the value of sps_mip_enabled_flag. In other words, the value of sps_mip_enabled_flag may be determined by the parsing result of the SPS RBSP syntax.

[0218] Here, sps_mip_enabled_flag is a flag indicating whether or not metric-based intra prediction used for decoding pictures in CLVS is activated. For example, if the value of sps_mip_enabled_flag is 1, metric-based intra prediction used for decoding pictures in CLVS is activated, indicating that metric-based intra prediction may be used for decoding pictures in CLVS. If the value of sps_mip_enabled_flag is 0, metric-based intra prediction used for decoding pictures in CLVS is deactivated, indicating that metric-based intra prediction is not used for decoding pictures in CLVS.

[0219] - no_lfnst_constraint_flag

[0220] no_lfnst_constraint_flag is a flag that controls sps_lfnst_enabled_flag. For example, if the value of no_lfnst_constraint_flag is 1, the value of sps_lfnst_enabled_flag may be set to 0. On the other hand, if the value of no_lfnst_constraint_flag is 0, there is no constraint on the value of sps_lfnst_enabled_flag. In other words, the value of sps_lfnst_enabled_flag may be determined by the parsing result of the SPS RBSP syntax.

[0221] In this case, sps_lfnst_enabled_flag is a flag indicating whether lfnst_idx is present in the intra-coding unit syntax. For example, if the value of sps_lfnst_enabled_flag is 1, it indicates that lfnst_idx may be present in the intra-coding unit syntax. If the value of sps_lfnst_enabled_flag is 0, it indicates that lfnst_idx is not present in the intra-coding unit syntax.

[0222] In this case, lfnst_idx is a syntax element that indicates whether a low frequency non-separable transform is applied to the current block.

[0223] -no_lmcs_constraint_flag

[0224] no_lmcs_constraint_flag is a flag that controls sps_lmcs_enabled_flag. For example, if the value of no_lmcs_constraint_flag is 1, the value of sps_lmcs_enabled_flag may be set to 0. On the other hand, if the value of no_lmcs_constraint_flag is 0, there is no constraint on the value of sps_lmcs_enabled_flag. In other words, the value of sps_lmcs_enabled_flag may be determined by the parsing result of the SPS RBSP syntax.

[0225] In this case, sps_lmcs_enabled_flag is a flag indicating whether chroma scaling and luma mapping used for decoding pictures in CLVS are activated. For example, if the value of sps_lmcs_enabled_flag is 1, the chroma scaling and luma mapping used for decoding pictures in CLVS are activated, indicating that chroma scaling and luma mapping may be used for decoding pictures in CLVS. If the value of sps_lmcs_enabled_flag is 0, the chroma scaling and luma mapping used for decoding pictures in CLVS are deactivated, indicating that chroma scaling and luma mapping are not used for decoding pictures in CLVS.

[0226] - no_palette_constraint_flag

[0227] no_palette_constraint_flag is a flag that controls sps_palette_enabled_flag. For example, if the value of no_palette_constraint_flag is 1, the value of sps_palette_enabled_flag may be set to 0. On the other hand, if the value of no_palette_constraint_flag is 0, there is no constraint on the value of sps_palette_enabled_flag. In other words, the value of sps_palette_enabled_flag may be determined by the parsing result of the SPS RBSP syntax.

[0228] In this case, sps_palette_enabled_flag is a flag indicating whether pred_mode_plt_flag is present in the CLVS coding unit syntax. For example, if the value of sps_palette_enabled_flag is 1, it indicates that pred_mode_plt_flag may be present in the CLVS coding unit syntax. If the value of sps_palette_enabled_flag is 0, it indicates that pred_mode_plt_flag is not present in the CLVS coding unit syntax.

[0229] At this time, pred_mode_plt_flag is a flag indicating whether the palette mode is applied to the current coding unit.

[0230] More specifically, for no_palette_constraint_flag, the variable value of chroma_format_idc must be obtained before no_palette_constraint_flag can be signaled. chroma_format_idc indicates chroma sampling relative to luma sampling. Therefore, the syntax element chroma_format_idc must be included in the GCI syntax 'general_constraint_info()'. This is a required structure in the DPS syntax and VPS syntax. In other cases, if the GCI syntax is included in the profile tier level syntax (profile_tier_level syntax) included in the SPS syntax, the GCI syntax included in the profile tier level syntax may be parsed, and the chroma_format_idc syntax element may be parsed again later, resulting in duplicate calls to chroma_format_idc. In other words, if the GCI syntax included in the DPS syntax or VPS syntax includes chroma_format_idc, and the GCI syntax included in the profile tier-level syntax includes chroma_format_idc, the chroma_format_idc syntax element may be parsed redundantly. Therefore, if the profile tier-level syntax includes GCI syntax, the chroma_format_idx syntax element does not need to be signaled. Alternatively, in a system where the decoder always parses the GCI syntax, the SPS RBSP syntax may be configured not to include the chroma_format_idc syntax element.

[0231] Each constraint flag described in FIG. 19 can control the SPS activation flag (sps_x_enabled_flag) corresponding to the constraint flag (no_x_constraint) flag.

[0232] Figure 20 is a diagram illustrating a general constraint information (GCI) syntax according to an embodiment of the present invention. As shown in Figure 20, the GCI syntax can include syntax elements related to cclm. The no_cclm_constraint_flag described in Figure 9 will be described in more detail with reference to Figure 20.

[0233] The no_cclm_constraint_flag may be signaled if the value of the variable ChromaArrayType is not equal to 0 (ChromaArrayType !=0). ChromaArrayType is responsible for specifying the format values ​​of the luma and chroma components of the decoded video data. As mentioned above, the no_cclm_constraint_flag may be responsible for controlling the sps_cclm_enabled_flag.

[0234] no_cclm_colocated_chroma_constraint_flag may be signaled when the value of no_cclm_constraint_flag is equal to 0 or the value of chroma_format_idc is equal to 1. In this case, no_cclm_colocated_chroma_constraint_flag is a flag that serves to control sps_cclm_colocated_chroma_flag.

[0235] As detailed in FIG. 9, sps_cclm_enabled_flag is a flag indicating whether cross-component linear model intra prediction from the luma component to the chroma component used in decoding a picture in CLVS is activated.

[0236] sps_cclm_colocated_chroma_flag is a flag indicating whether the top-left downsampled luma sample in cross-component linear model intra prediction is at the same position as the top-left luma sample or at another specified position. Information about the variable ChromaArrayType is required to signal sps_cclm_colocated_chroma_flag. The value of the variable ChromaArrayType may be obtained by combining information about chroma_format_idc and information about separate_colour_plane_flag. Therefore, the syntax elements chroma_format_idc and separate_colour_plane_flag may be defined to be included in the SPS RBSP syntax.

[0237] The separate_colour_plane_flag is a flag that indicates whether the three individual components (Y, Cb, Cr) are coded separately when coding a picture.

[0238] 21 is a diagram illustrating a general constraint information (GCI) syntax according to an embodiment of the present invention. As shown in FIG. 21, the GCI syntax may include a syntax element no_palette_constraint_flag.

[0239] The syntax element no_palette_constraint_flag described in Fig. 19 will be specifically described below with reference to Fig. 21. As shown in Fig. 11, if the value of chroma_format_idc is 3 (chroma_format_idc==3), sps_palette_enabled_flag may be transmitted.

[0240] The sps_palette_enabled_flag, a syntax element controlled by the no_palette_constraint_flag, which is related to whether palette mode can be applied to the current coding unit, may be included in the SPS RBSP syntax. Palette mode is a method of configuring color information as a table in advance and then mapping actual pixel values ​​to index values ​​in the table. If the value of chroma_format_idc is equal to 3, the chroma format may be 4:4:4. When the GCI syntax is parsed, the syntax elements included in the GCI syntax can individually control functions related to the corresponding syntax elements. As shown in FIG. 19, the no_palette_constraint_flag, which corresponds to the sps_palette_enabled_flag, i.e., controls the sps_palette_enabled_flag, may be included in the GCI syntax. As described above, when the GCI syntax is parsed and the value of no_palette_constraint_flag included in the GCI syntax is 1, sps_palette_enabled_flag may be set to 0. In other words, even if sps_palette_enabled_flag is set to 1 and activated, if the value of no_palette_constraint_flag is 1, the value of sps_palette_enabled_flag may be set to 0. On the other hand, if the value of no_palette_constraint_flag is 0, sps_palette_enabled_flag may have a set value, and a decoding operation may be performed accordingly. In addition, a condition for sps_palette_enabled_flag to be signaled or parsed may be when the value of chroma_format_idc is 3 (chroma_format_idc==3).

[0241] FIG. 22 is a diagram illustrating a coding tree unit syntax according to an embodiment of the present invention.

[0242] As shown in FIG. 22, a palette coding syntax may be included in the coding tree unit syntax. If pred_mode_plt_flag is true, the decoder can parse the palette coding syntax 'palette_coding()'. In other words, if the value of pred_mode_plt_flag is 1, it indicates that the current coding block is coded in palette mode. pred_mode_plt_flag may be signaled / parsed if the current block is not an ibc-coded block and sps_plt_enabled_flag is true (has a value of 1). In this case, sps_plt_enabled_flag is the same as sps_palette_enabled_flag described in FIG. 19, etc. Palette mode is a method of configuring color information as a table in advance and then mapping actual pixel values ​​to index values ​​of the table, which differs from general intra prediction methods. As shown in FIG. 19, sps_plt_enabled_flag may be signaled / parsed if the value of chroma_format_idc is 3 (such as when chroma_format_idc==3), i.e., when the chroma format is 4:4:4.

[0243] FIG. 23 is a diagram illustrating a positional relationship for deriving MPM (Most Probable Modes) required for an intra prediction mode according to an embodiment of the present invention.

[0244] The MPM may be derived based on the luma prediction modes of positions L and A, which are neighbors of the current coding block in FIG. 23. When palette mode is activated, a block coded in palette mode may exist as a neighboring block of the current coding block. As shown in FIG. 23, if the value of pred_mode_plt_flag for the neighboring block at position A is equal to 1, the neighboring block at position A indicates a block coded in palette mode. Meanwhile, since the neighboring block at position A is not coded in a general prediction mode, there may be no stored intra prediction mode value. In this case, the intra prediction mode value may be set to a previously set prediction mode. For example, the previously set prediction mode may be a planar mode. However, the previously set prediction mode may be set to any one of direct current (DC), vertical, horizontal, and angular mode, without being limited thereto.

[0245] An example of MPM (IntraPredModeY[xCb][yCb]) induction will now be described.

[0246] - If the value of intra_luma_not_planar_flag[xCb][yCb] is 0, then IntraPredModeY[xCb][yCb] is set to planar mode.

[0247] If the value of BdpcmFlag[xCb][yCb] is 1, IntraPredModeY[xCb][yCb] may be set as shown in the following Equation 8.

[0248]

number

[0249] If the value of intra_luma_not_planar_flag[xCb][yCb] is 1, the mode of intra_luma_not_planar_flag[xCb][yCb] may be set according to the steps described below.

[0250] (Step 1) The positions (xNbA, yNbA) and (xNbB, yNbB) of the neighboring blocks may be set to (xCb-1, yCb+cbHeight-1) and (xCb+cbWidth-1, yCb-1), respectively, where xCb is the x coordinate of the current block, yCb is the y coordinate of the current block, cbHeight is the height of the current block, and cbWidth is the width of the current block.

[0251] (Step 2) When X is replaced with either A or B, candIntraPredModeX may be set according to the steps described below.

[0252] (Step 2-1) In the availability derivation process for a block, the input position (xCurr, yCurr) is set to (xCb, yCb), and the surrounding block position (xNbY, yNbY) is set to (xNbX, yNbX) and assigned to the available output.

[0253] (Step 2-2) The intra prediction mode candidate candIntraPredModeX may be set as follows:

[0254] (Step 2-2-1) If one or more of the following conditions are true, candIntraPredModeX may be set to planar mode.

[0255] (Condition 1) The variable availableX is set to FALSE.

[0256] (Condition 2) CuPredMode[xNbX][yNbX” is not set to intra mode.

[0257] (Condition 3) The value of intra_mip_flag[xNbX][yNbX] is equal to 1.

[0258] (Condition 4) The value of pred_mode_plt_flag[xNbX][yNbX] is equal to 1.

[0259] (Condition 5) X is the same as B, and yCb-1 is smaller than ((yCb >> CtbLog2SizeY) << CtbLog2SizeY).

[0260] (Step 2-2-2) Alternatively, candIntraPredModeX may be set the same as IntraPredModeY[xNbX][yNbX].

[0261] FIG. 24 illustrates a relationship between a luma block and a corresponding luma block required for chroma DM mode induction according to an embodiment of the present invention. FIG. 24(a) illustrates division of a luma block having a dual tree structure, and FIG. 24(b) illustrates division of a chroma block having a dual tree structure. Referring to FIGS. 24(a) and 24(b), the division of luma and chroma blocks having a dual tree structure may be different. In the case of a chroma format of 4:4:4, luma and chroma samples are configured in a 1:1 ratio. Therefore, the block sizes are the same. For example, the luma block corresponding to the block corresponding to A in the chroma block structure of FIG. 24(b) may be the block corresponding to A in FIG. 24(a). The width and height of block A in FIGS. 24(a) and 24(b) are W / 2×H. In the dual tree structure, the chroma prediction method and the luma prediction method may be different. When the chroma prediction method is a DM mode that uses the luma intra prediction mode as is, the chroma mode signaling may be determined based on the luma mode at a pre-set position of the corresponding luma block. In this case, the pre-set position may be [xCb+cbWidth / 2][yCb+cbHeight / 2] or (xCb, yCb). (xCb, yCb) may be the position of the upper left corner of the corresponding luma. cbWidth and cbHeight represent the width and height of the corresponding luma. Therefore, in the luma block of FIG. 24(a), if the pred_mode_plt_flag value is 1 at the pre-set position corresponding to the position of C, the prediction method of the chroma block may be set to the pre-set mode. In this case, the pre-set mode may be any one of planar, DC, vertical, horizontal, and angular modes.

[0262] The DM mode induction process for chroma blocks will be described below. Also, the position of the block for checking the mip flag and ibc flag may be set to the previously set [xCb+cbWidth / 2][yCb+cbHeight / 2].

[0263] Chroma prediction mode IntraPredModeC[xCb][yCb] derivation process:

[0264] The variable CclmEnabled may invoke a cross-component chroma intra prediction mode checking process using the luma position (xCb, yCb) as input, and the chroma prediction mode may be derived.

[0265] The process of deriving the luma intra prediction mode lumaIntraPredMode of the luma block corresponding to the chroma block:

[0266] (Step 1) If the value of intra_mip_flag[xCb+cbWidth / 2][yCb+cbHeight / 2] is 1, then lumaIntraPredMode is set to planar mode.

[0267] (Step 2) Otherwise, if the value of pred_mode_plt_flag[xCb+cbWidth / 2][yCb+cbHeight / 2] is 1, lumaIntraPredMode is set to the already set mode (PRE_DEFINED_MODE).

[0268] (Step 3) Otherwise, if CuPredMode[xCb+cbWidth / 2][yCb+cbHeight / 2] is IBC mode, lumaIntraPredMode is set to DC mode.

[0269] (Step 4) Otherwise, lumaIntraPredMode is set equal to IntraPredModeY[xCb+cbWidth / 2][yCb+cbHeight / 2].

[0270] Although this specification has been described primarily from the perspective of a decoder, the same operation may also be performed in an encoder. Although the term "parsing" in this specification has been described with emphasis on the process of obtaining information from a bitstream, from the perspective of an encoder, it may be interpreted as configuring the information in a bitstream. Therefore, the term "parsing" is not limited to the decoder operation, but may also be interpreted as the act of configuring a bitstream in an encoder. That is, an encoder may obtain flags (syntax elements) included in the above-mentioned GCI syntax and configure a bitstream including the flags. Furthermore, such a bitstream may be stored and configured in a computer-readable recording medium.

[0271] The above-described embodiments of the present invention may be implemented in various ways, for example, in hardware, firmware, software, or a combination thereof.

[0272] In the case of a hardware implementation, the method according to an embodiment of the present invention may be implemented by one or more ASICs (Application Specific Integrated Circuits), DSPs (Digital Signal Processors), DSDPs (Digital Signal Processing Devices), PDLs (Programmable Logic Devices), FPGAs (Field Programmable Gate Arrays), processors, controllers, microcontrollers, microprocessors, etc.

[0273] In the case of implementation by firmware or software, the methods according to the embodiments of the present invention may be implemented in the form of modules, procedures, or functions that perform the functions or operations described above. The software code is stored in a memory and executed by a processor. The memory may be located inside or outside the processor and exchange data with the processor through various means known in the art.

[0274] Some embodiments may also be embodied in the form of a recording medium containing computer-executable instructions, such as program modules, executed by a computer. Computer-readable media are any available media that can be accessed by a computer, including both volatile and non-volatile media, and both detachable and non-detachable media. Computer-readable media also include both storage media and communication media. Computer storage media include both volatile and non-volatile media, and both detachable and non-detachable media embodied in any method or technology for storage of information, such as computer-readable instructions, data structures, program modules, or other data. Communication media typically include computer-readable instructions, data structures, or other data in a modulated data signal, such as a program module, or other transmission mechanism, and include any information delivery media.

[0275] The above description of the present invention is for illustrative purposes only, and those skilled in the art will understand that the present invention can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. Therefore, it should be understood that the above-described embodiments are illustrative in all respects and are not limiting. For example, each component described as a single component may be implemented in a distributed form, and components described as distributed may also be implemented in a combined form.

[0276] The scope of the present invention is indicated by the claims that follow rather than by the above detailed description, and all modifications and variations that fall within the meaning and scope of the claims and their equivalents should be interpreted as being included within the scope of the present invention. [Explanation of symbols]

[0277] 100 Encoding Device 110 Conversion unit 115 Quantization section 120 Inverse quantization section 125 Inverse conversion unit 130 Filtering section 150 Prediction Department 152 Intra prediction unit 154 Inter Prediction Unit 154a Motion estimation unit 154b Motion Compensation Unit 156 Decoded Picture Buffer 160 Entropy Coding Unit

Claims

1. 1. A video signal decoding device, comprising: a processor; The processor: Decoding a General Constraint Information (GCI) syntax structure included in a bitstream of a video signal; Decoding the bitstream based on the decoding result of the GCI syntax structure. It is configured as follows: The GCI syntax structures are contained in profile, tier, and level syntax structures; The profile, tier, and level syntax structures are contained in a Sequence Parameter Set (SPS) Raw Byte Sequence Payload (RBSP) syntax structure; The GCI syntax structure includes a first GCI syntax element that constrains a value of a first SPS syntax element included in the SPS RBSP syntax structure, the first SPS syntax element indicating whether a palette mode is enabled; The GCI syntax structure includes a second GCI syntax element that constrains a value of a second SPS syntax element included in the SPS RBSP syntax structure, and the second SPS syntax element indicates whether intra prediction using multiple reference lines is enabled; If the value of the first GCI syntax element is 1, the value of the first SPS syntax element is set to 0, which is a value indicating that the palette mode is disabled; If the value of the second GCI syntax element is 1, the value of the second SPS syntax element is set to 0, which is a value indicating that intra prediction using the multiple reference lines is disabled; The GCI syntax structure includes a third GCI syntax element that constrains a value of a third SPS syntax element included in the SPS RBSP syntax structure, and the third SPS syntax element indicates whether intra prediction with subpartitions is enabled; When the value of the third GCI syntax element is 1, the value of the third SPS syntax element is set to 0, which indicates that intra prediction using the sub-partition is disabled. Video signal decoding device.

2. The GCI syntax structure includes a fourth GCI syntax element that constrains a value of a fourth SPS syntax element included in the SPS RBSP syntax structure, the fourth SPS syntax element indicating whether metric-based intra prediction is enabled; 2. The video signal decoding apparatus of claim 1, wherein, when the value of the fourth GCI syntax element is 1, the value of the fourth SPS syntax element is set to 0, which indicates that the metrics-based intra prediction is disabled.

3. The GCI syntax structure includes a fifth GCI syntax element that constrains a value of a fifth SPS syntax element included in the SPS RBSP syntax structure, the fifth SPS syntax element indicating whether a low-frequency non-separable transform is enabled; 2. The video signal decoding device of claim 1, wherein if the value of the fifth GCI syntax element is 1, the value of the fifth SPS syntax element is set to 0, which indicates that the low-band non-separable transform is disabled.

4. The GCI syntax structure includes a sixth GCI syntax element that constrains a value of a sixth SPS syntax element included in the SPS RBSP syntax structure, and the sixth SPS syntax element indicates whether a merge mode with motion vector difference is enabled; 2. The video signal decoding device of claim 1, wherein, when the value of the sixth GCI syntax element is 1, the value of the sixth SPS syntax element is set to 0, which indicates that the merge mode using the motion vector difference is disabled.

5. The GCI syntax structure includes a seventh GCI syntax element that constrains the value of a seventh SPS syntax element included in the SPS RBSP syntax structure, the seventh SPS syntax element indicating whether a symmetric motion vector difference is valid; 2. The video signal decoding device of claim 1, wherein if the value of the seventh GCI syntax element is 1, the value of the seventh SPS syntax element is set to 0, which indicates that the symmetric motion vector difference is invalid.

6. The GCI syntax structure includes an eighth GCI syntax element that constrains a value of an eighth SPS syntax element included in the SPS RBSP syntax structure, and the eighth SPS syntax element indicates whether luma mapping with chroma scaling is enabled; 2. The video signal decoding device of claim 1, wherein, if the value of the 8th GCI syntax element is 1, the value of the 8th SPS syntax element is set to 0, which indicates that the luma mapping using chroma scaling is disabled.

7. 1. A video signal encoding device, comprising: a processor; The processor: Obtaining a General Constraint Information (GCI) syntax structure; Encoding a bitstream including the GCI syntax structure It is configured as follows: The GCI syntax structures are contained in profile, tier, and level syntax structures; The profile, tier, and level syntax structures are contained in a Sequence Parameter Set (SPS) Raw Byte Sequence Payload (RBSP) syntax structure; The GCI syntax structure includes a first GCI syntax element that constrains a value of a first SPS syntax element included in the SPS RBSP syntax structure, the first SPS syntax element indicating whether a palette mode is enabled; The GCI syntax structure includes a second GCI syntax element that constrains a value of a second SPS syntax element included in the SPS RBSP syntax structure, and the second SPS syntax element indicates whether intra prediction using multiple reference lines is enabled; If the value of the first GCI syntax element is 1, the value of the first SPS syntax element is set to 0, which is a value indicating that the palette mode is disabled; If the value of the second GCI syntax element is 1, the value of the second SPS syntax element is set to 0, which is a value indicating that intra prediction using the multiple reference lines is disabled; The GCI syntax structure includes a third GCI syntax element that constrains a value of a third SPS syntax element included in the SPS RBSP syntax structure, and the third SPS syntax element indicates whether intra prediction with subpartitions is enabled; When the value of the third GCI syntax element is 1, the value of the third SPS syntax element is set to 0, which indicates that intra prediction using the sub-partition is disabled. Video signal encoding device.

8. The GCI syntax structure includes a fourth GCI syntax element that constrains a value of a fourth SPS syntax element included in the SPS RBSP syntax structure, the fourth SPS syntax element indicating whether metric-based intra prediction is enabled; 8. The video signal encoding device of claim 7, wherein, when the value of the fourth GCI syntax element is 1, the value of the fourth SPS syntax element is set to 0, which indicates that the metrics-based intra prediction is disabled.

9. The GCI syntax structure includes a fifth GCI syntax element that constrains a value of a fifth SPS syntax element included in the SPS RBSP syntax structure, the fifth SPS syntax element indicating whether a low-frequency non-separable transform is enabled; 8. The video signal encoding device of claim 7, wherein when the value of the fifth GCI syntax element is 1, the value of the fifth SPS syntax element is set to 0, which indicates that the low-band non-separable transform is disabled.

10. The GCI syntax structure includes a sixth GCI syntax element that constrains a value of a sixth SPS syntax element included in the SPS RBSP syntax structure, and the sixth SPS syntax element indicates whether a merge mode with motion vector difference is enabled; 8. The video signal encoding device of claim 7, wherein, when the value of the sixth GCI syntax element is 1, the value of the sixth SPS syntax element is set to 0, which indicates that the merge mode using the motion vector difference is disabled.

11. The GCI syntax structure includes a seventh GCI syntax element that constrains the value of a seventh SPS syntax element included in the SPS RBSP syntax structure, the seventh SPS syntax element indicating whether a symmetric motion vector difference is valid; 8. The video signal encoding device of claim 7, wherein, when the value of the seventh GCI syntax element is 1, the value of the seventh SPS syntax element is set to 0, which indicates that the symmetric motion vector difference is invalid.

12. The GCI syntax structure includes an eighth GCI syntax element that constrains a value of an eighth SPS syntax element included in the SPS RBSP syntax structure, and the eighth SPS syntax element indicates whether luma mapping with chroma scaling is enabled; 8. The video signal encoding device of claim 7, wherein, when the value of the 8th GCI syntax element is 1, the value of the 8th SPS syntax element is set to 0, which indicates that the luma mapping using chroma scaling is disabled.

13. 1. A method for obtaining a bitstream, the method comprising: Obtaining a General Constraint Information (GCI) syntax structure; obtaining a bitstream by encoding the GCI syntax structure; The GCI syntax structures are contained in profile, tier, and level syntax structures; The profile, tier, and level syntax structures are contained in a Sequence Parameter Set (SPS) Raw Byte Sequence Payload (RBSP) syntax structure; The GCI syntax structure includes a first GCI syntax element that constrains a value of a first SPS syntax element included in the SPS RBSP syntax structure, the first SPS syntax element indicating whether a palette mode is enabled; The GCI syntax structure includes a second GCI syntax element that constrains a value of a second SPS syntax element included in the SPS RBSP syntax structure, and the second SPS syntax element indicates whether intra prediction using multiple reference lines is enabled; If the value of the first GCI syntax element is 1, the value of the first SPS syntax element is set to 0, which is a value indicating that the palette mode is disabled; If the value of the second GCI syntax element is 1, the value of the second SPS syntax element is set to 0, which is a value indicating that intra prediction using the multiple reference lines is disabled; The GCI syntax structure includes a third GCI syntax element that constrains a value of a third SPS syntax element included in the SPS RBSP syntax structure, and the third SPS syntax element indicates whether intra prediction with subpartitions is enabled; If the value of the third GCI syntax element is 1, the value of the third SPS syntax element is set to 0, which indicates that intra prediction using the sub-partition is disabled.

14. The GCI syntax structure includes a fourth GCI syntax element that constrains a value of a fourth SPS syntax element included in the SPS RBSP syntax structure, the fourth SPS syntax element indicating whether metric-based intra prediction is enabled; 14. The method of claim 13, wherein if the value of the fourth GCI syntax element is 1, the value of the fourth SPS syntax element is set to 0, which indicates that the metrics-based intra prediction is disabled.

15. The GCI syntax structure includes a fifth GCI syntax element that constrains a value of a fifth SPS syntax element included in the SPS RBSP syntax structure, the fifth SPS syntax element indicating whether a low-frequency non-separable transform is enabled; 14. The method of claim 13, wherein if the value of the fifth GCI syntax element is 1, the value of the fifth SPS syntax element is set to 0, which indicates that the low-band non-separable transform is disabled.

16. The GCI syntax structure includes a sixth GCI syntax element that constrains a value of a sixth SPS syntax element included in the SPS RBSP syntax structure, and the sixth SPS syntax element indicates whether a merge mode with motion vector difference is enabled; 14. The method of claim 13, wherein if the value of the sixth GCI syntax element is 1, the value of the sixth SPS syntax element is set to 0, which indicates that the merge mode using the motion vector difference is disabled.

17. The GCI syntax structure includes a seventh GCI syntax element that constrains the value of a seventh SPS syntax element included in the SPS RBSP syntax structure, the seventh SPS syntax element indicating whether a symmetric motion vector difference is valid; 14. The method of claim 13, wherein if the value of the seventh GCI syntax element is 1, the value of the seventh SPS syntax element is set to 0, a value indicating that the symmetric motion vector difference is invalid.

18. The GCI syntax structure includes an eighth GCI syntax element that constrains a value of an eighth SPS syntax element included in the SPS RBSP syntax structure, and the eighth SPS syntax element indicates whether luma mapping with chroma scaling is enabled; 14. The method of claim 13, wherein if the value of the 8th GCI syntax element is 1, the value of the 8th SPS syntax element is set to 0, which is a value indicating that the luma mapping using chroma scaling is disabled.

19. 1. A method for processing a video signal, said method comprising: Decoding a General Constraint Information (GCI) syntax structure included in a bitstream of the video signal; decoding the bitstream based on the decoding result of the GCI syntax structure; Including, The GCI syntax structures are contained in profile, tier, and level syntax structures; The profile, tier, and level syntax structures are contained in a Sequence Parameter Set (SPS) Raw Byte Sequence Payload (RBSP) syntax structure; The GCI syntax structure includes a first GCI syntax element that constrains a value of a first SPS syntax element included in the SPS RBSP syntax structure, the first SPS syntax element indicating whether a palette mode is enabled; The GCI syntax structure includes a second GCI syntax element that constrains a value of a second SPS syntax element included in the SPS RBSP syntax structure, and the second SPS syntax element indicates whether intra prediction using multiple reference lines is enabled; If the value of the first GCI syntax element is 1, the value of the first SPS syntax element is set to 0, which is a value indicating that the palette mode is disabled; If the value of the second GCI syntax element is 1, the value of the second SPS syntax element is set to 0, which is a value indicating that intra prediction using the multiple reference lines is disabled; The GCI syntax structure includes a third GCI syntax element that constrains a value of a third SPS syntax element included in the SPS RBSP syntax structure, and the third SPS syntax element indicates whether intra prediction with subpartitions is enabled; If the value of the third GCI syntax element is 1, the value of the third SPS syntax element is set to 0, which indicates that intra prediction using the sub-partition is disabled.

Citation Information

Patent Citations

  • Palette predictor initialization and merging for video coding

    JP2018530962A

  • Video signal processing method and apparatus

    JP7740763B2

  • Constrains for high level syntax elements

    WO2021170091A1