Video signal processing method and device

By configuring the general constraint information syntax and adjusting the encoding and decoding process of the video signal, the problem of insufficient encoding efficiency in the prior art is solved, and more efficient video signal processing is achieved.

CN114128266BActive Publication Date: 2025-09-26WILUS INSTITUTE OF STANDARDS & TECHNOLOGY INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202080052114.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-07-22
Filing Date
2020-07-20
Publication Date
2025-09-26
Estimated Expiration
2040-07-20

AI Technical Summary

Technical Problem

Existing video signal processing methods have shortcomings in coding efficiency, and more efficient processing methods are needed.

Method used

The encoding and decoding processes of video signals are adjusted by configuring the General Constraint Information (GCI) syntax, including syntax elements in the decoding parameter set, sequence parameter set, and video parameter set, to control whether specific prediction and transform modes are used during the encoding and decoding processes of video signals.

Benefits of technology

The coding efficiency of video signals is improved, the coding process is optimized, and the coding quality and efficiency are improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114128266B_ABST
    Figure CN114128266B_ABST
Patent Text Reader

Abstract

A video signal decoding device includes a processor that: decodes a general constraint information (GCI) syntax included in a bit stream of a video signal; and decodes the bit stream based on a result of decoding the GCI syntax, wherein the GCI syntax includes a GCI syntax element for configuring a value of an SPS syntax element, the value of the SPS syntax element indicating whether a palette mode included in a sequence parameter set (SPS) raw byte sequence payload (RBSP) syntax may be used.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a video signal processing method and device, and more particularly, to a video signal processing method and device for encoding or decoding a video signal. Background Art

[0002] Compression coding refers to a series of signal processing techniques used to transmit digitized information over communication lines or store information in a form suitable for storage media. Compression coding targets include objects such as voice, video, and text, and in particular, techniques for performing compression coding on images are referred to as video compression. Compression coding of video signals is performed by removing excess information, taking into account spatial, temporal, and random correlations. 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

[0003] Technical issues

[0004] The object of the present invention is to increase the coding efficiency of video signals.

[0005] The present invention aims to increase video signal coding efficiency by configuring general constraint information.

[0006] Technical Solution

[0007] This specification provides a method for processing a video signal using a quadratic transform.

[0008] Specifically, a video signal decoding device includes a processor, wherein the processor 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, and 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, the DPS RBSP syntax and the VPS RBSP syntax being higher-level syntaxes of the GCI syntax and including syntax elements for video decoding, the SPS RBSP syntax being higher-level syntaxes of the GCI syntax and including syntax elements related to a sequence as a picture set, the GCI syntax including a GCI syntax element for configuring a value of an SPS syntax element indicating whether a palette mode included in the SPS RBSP syntax may be used, and when 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.

[0009] Also in this specification, the GCI syntax includes a GCI syntax element for configuring the value of the SPS syntax element indicating whether intra-frame prediction with multiple reference lines included in the SPS RBSP syntax may be used, and when 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-frame prediction with multiple reference lines is not used.

[0010] Also in this specification, the GCI syntax includes a GCI syntax element for configuring the value of the SPS syntax element indicating whether intra-frame prediction with subpartitions included in the SPS RBSP syntax may be used, and when 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-frame prediction with subpartitions is not used.

[0011] In addition, in the present specification, the GCI syntax includes a GCI syntax element for configuring the value of the SPS syntax element indicating whether matrix-based intra-frame prediction included in the SPS RBSP syntax may be used, and when 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 matrix-based intra-frame prediction is not used.

[0012] Also in this specification, the GCI syntax includes a GCI syntax element for configuring the value of the SPS syntax element indicating whether the low-frequency inseparable transform included in the SPS RBSP syntax may be used, and when 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 low-frequency inseparable transform is not used.

[0013] In addition, in the present specification, the GCI syntax includes a GCI syntax element for configuring the value of the SPS syntax element indicating whether the merge mode with motion vector difference included in the SPS RBSP syntax may be used, and when 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 merge mode with motion vector difference is not used.

[0014] Also in this specification, the GCI syntax element configuration included in the GCI syntax indicates whether it is possible to use the value of the SPS syntax element of the symmetric motion vector difference included in the SPS RBSP syntax, and when 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 symmetric motion vector difference is not used.

[0015] Also in this specification, a GCI syntax element configuration included in the GCI syntax indicates whether the value of the SPS syntax element including the luminance mapping with chroma scaling in the SPS RBSP syntax may be used, and when 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 luminance mapping with chroma scaling is not used.

[0016] In addition, a video signal encoding device includes a processor, wherein the processor obtains a general constraint information (GCI) syntax and encodes a bitstream including the GCI syntax, and 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, the DPS RBSP syntax and the VPS RBSP syntax being higher-level syntaxes of the GCI syntax and including syntax elements for video decoding, the SPS RBSP syntax being higher-level syntaxes of the GCI syntax and including syntax elements related to a sequence as a picture set, the GCI syntax including a GCI syntax element for configuring a value of an SPS syntax element indicating whether a palette mode included in the SPS RBSP syntax may be used, and when 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.

[0017] Also in this specification, the GCI syntax includes a GCI syntax element for configuring the value of the SPS syntax element indicating whether intra-frame prediction with multiple reference lines included in the SPS RBSP syntax may be used, and when 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-frame prediction with multiple reference lines is not used.

[0018] Also in this specification, the GCI syntax includes a GCI syntax element for configuring the value of the SPS syntax element indicating whether intra-frame prediction with subpartitions included in the SPS RBSP syntax may be used, and when 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-frame prediction with subpartitions is not used.

[0019] In addition, in the present specification, the GCI syntax includes a GCI syntax element for configuring the value of the SPS syntax element indicating whether matrix-based intra-frame prediction included in the SPS RBSP syntax may be used, and when 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 matrix-based intra-frame prediction is not used.

[0020] Also in this specification, the GCI syntax includes a GCI syntax element for configuring the value of the SPS syntax element indicating whether the low-frequency inseparable transform included in the SPS RBSP syntax may be used, and when 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 low-frequency inseparable transform is not used.

[0021] In addition, in the present specification, the GCI syntax includes a GCI syntax element for configuring the value of the SPS syntax element indicating whether the merge mode with motion vector difference included in the SPS RBSP syntax may be used, and when 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 merge mode with motion vector difference is not used.

[0022] Also in this specification, the GCI syntax element configuration included in the GCI syntax indicates whether it is possible to use the value of the SPS syntax element of the symmetric motion vector difference included in the SPS RBSP syntax, and when 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 symmetric motion vector difference is not used.

[0023] Also in this specification, a GCI syntax element configuration included in the GCI syntax indicates whether the value of the SPS syntax element including the luminance mapping with chroma scaling in the SPS RBSP syntax may be used, and when 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 luminance mapping with chroma scaling is not used.

[0024] Also in the present specification, a non-transitory computer-readable medium for storing a bitstream encodes the bitstream by an encoding method, the encoding method including the steps of obtaining a general constraint information (GCI) syntax and encoding a bitstream including the GCI syntax, wherein 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, wherein the DPS RBSP syntax and the VPS RBSP syntax are higher-level syntaxes of the GCI syntax and include syntax elements for video decoding, the SPS RBSP syntax is higher-level syntax of the GCI syntax and includes syntax elements related to a sequence as a picture set, the GCI syntax includes a GCI syntax element for configuring a value of an SPS syntax element indicating whether a palette mode included in the SPS RBSP syntax may be used, and when 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.

[0025] Also in this specification, the GCI syntax includes a GCI syntax element for configuring the value of the SPS syntax element indicating whether intra-frame prediction with multiple reference lines included in the SPS RBSP syntax may be used, and when 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-frame prediction with multiple reference lines is not used.

[0026] Also in this specification, the GCI syntax includes a GCI syntax element for configuring the value of the SPS syntax element indicating whether intra-frame prediction with subpartitions included in the SPS RBSP syntax may be used, and when 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-frame prediction with subpartitions is not used.

[0027] In addition, in the present specification, the GCI syntax includes a GCI syntax element for configuring the value of the SPS syntax element indicating whether matrix-based intra-frame prediction included in the SPS RBSP syntax may be used, and when 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 matrix-based intra-frame prediction is not used.

[0028] Effects of the present invention

[0029] Embodiments of the present invention provide a video signal processing method and apparatus using general constraint information. BRIEF DESCRIPTION OF THE DRAWINGS

[0030] Figure 1 is a schematic block diagram of a video signal encoding apparatus according to an embodiment of the present invention.

[0031] Figure 2 is a schematic block diagram of a video signal decoding apparatus according to an embodiment of the present invention.

[0032] Figure 3 An embodiment in which a coding tree unit is divided into coding units in a picture is shown.

[0033] Figure 4 An embodiment of a method for signaling partitioning of quadtrees and multi-type trees is shown.

[0034] Figure 5 and Figure 6 The intra prediction method is illustrated in more detail according to an embodiment of the present disclosure.

[0035] Figure 7 is a diagram illustrating a network abstraction layer unit, which is a basic unit for configuring a bitstream, according to an embodiment of the present invention.

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

[0037] Figures 9 to 11 is a diagram illustrating syntax according to an embodiment of the present invention.

[0038] Figure 12 is a diagram illustrating a sequence parameter set RBSP syntax according to an embodiment of the present invention.

[0039] Figures 13 to 16 is a diagram illustrating a general constraint information syntax according to an embodiment of the present invention.

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

[0041] Figures 18 to 21 is a diagram illustrating a general constraint information syntax according to an embodiment of the present invention.

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

[0043] Figure 23 is a diagram illustrating a positional relationship of most probable modes (MPMs) required for deriving intra prediction modes according to an embodiment of the present invention.

[0044] Figure 24 is a diagram illustrating a relationship with a corresponding luma block required for deriving a chroma DM mode according to an embodiment of the present invention. DETAILED DESCRIPTION

[0045] The terms used in this specification may be general terms that are currently widely used, taking into account the functions in the present disclosure, but may be changed according to the intentions of those skilled in the art, customs, or the emergence of new technologies. In addition, in some cases, there may be terms arbitrarily selected by the applicant, and in such cases, their meanings are described in the corresponding description sections of the present disclosure. Therefore, the terms used in this specification should be interpreted based on the substantive meaning of the terms and content throughout the specification.

[0046] In this specification, some terms may be interpreted as follows. In some cases, coding may be interpreted as encoding or decoding. In this specification, a device that generates a video signal bitstream by performing coding (coding) of a video signal is referred to as a coding device or encoder, and a device that performs decoding (decoding) of a video signal bitstream to reconstruct a video signal is referred to as a decoding device or decoder. In addition, in this specification, a video signal processing device is used as a term that includes the concepts of both encoders and decoders. Information is a term that includes all values, parameters, coefficients, elements, etc. In some cases, the meaning is interpreted differently, and thus the present disclosure is not limited thereto. "Unit" is used to refer to the basic unit of image processing or a specific location of a picture, and refers to an image area that includes both luminance and chrominance components. In addition, "block" refers to an image area that includes a specific component among luminance and chrominance components (i.e., Cb and Cr). However, depending on the embodiment, terms such as "unit", "block", "partition" and "area" may be used interchangeably. In addition, in this specification, a unit may be used as a concept that includes all coding units, prediction units and transform units. A picture indicates a field or a frame, and according to an embodiment, these terms may be used interchangeably.

[0047] Figure 1 1 is a schematic block diagram of a video signal encoding apparatus according to an embodiment of the present invention. Figure 1 The encoding apparatus 100 of the present invention 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 .

[0048] The transform unit 110 obtains the value of the transform coefficient by transforming the residual signal, which is the difference between the input video signal and the prediction signal generated by the prediction unit 150. For example, a discrete cosine transform (DCT), a discrete sine transform (DST), or a wavelet transform can be used. DCT and DST perform a transform by dividing the input picture signal into a plurality of blocks. During the transform, the coding efficiency may vary depending on the distribution and characteristics of the values ​​in the transform area. The quantization unit 115 quantizes the value of the transform coefficient value output from the transform unit 110.

[0049] In order to improve coding efficiency, instead of coding the picture signal as is, a method is used that uses the area that has been encoded by the prediction unit 150 to predict the picture, and obtains a reconstructed picture by adding the residual value between the original picture and the predicted picture to the predicted picture. In order to prevent mismatches between the encoder and the decoder, when performing prediction in the encoder, information that can be used in the decoder should be used. To this end, the encoder performs the process of reconstructing the encoded current block again. The inverse quantization unit 120 inverse quantizes the value of the transform coefficient, and the inverse transform unit 125 reconstructs the residual value using the inverse quantized transform coefficient value. At the same time, the filtering unit 130 performs a filtering operation to improve the quality of the reconstructed picture and improve coding efficiency. For example, it may include a deblocking filter, sample adaptive offset (SAO), and an adaptive loop filter. The filtered picture is output or stored in the decoded picture buffer (DPB) 156 to be used as a reference picture.

[0050] To improve coding efficiency, the picture signal is not encoded as is. Instead, a method is used in which the picture is predicted by prediction unit 150 using a coded region and adding the residual value between the original picture and the predicted picture to the predicted picture, thereby obtaining a reconstructed picture. The intra-frame prediction unit 152 performs intra-frame prediction within the current picture, and the inter-frame prediction unit 154 predicts the current picture using a reference picture stored in the decoded picture buffer 156. The intra-frame prediction unit 152 performs intra-frame prediction based on the reconstructed region in the current picture and transmits the intra-frame coding information to the entropy coding unit 160. The inter-frame prediction unit 154 may 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 referencing a specific reconstructed region. The motion estimation unit 154a transmits the location information (reference frame, motion vector, etc.) of the reference region to the entropy coding unit 160 so that this location information is included in the bitstream. The motion compensation unit 154b performs inter-frame motion compensation using the motion vector value transmitted from the motion estimation unit 154a.

[0051] 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 picture stored in the DBP 156. The intra-prediction unit 152 performs intra-prediction based on reconstructed samples in the current picture and transmits intra-encoding information to the entropy coding unit 160. The intra-encoding information may include at least one of an intra-prediction mode, a most probable mode (MPM) flag, and an MPM index. The intra-encoding information may include information about the reference sample. The inter-prediction unit 154 may include a motion estimation unit 154a and a motion compensation unit 154b. The motion estimation unit 154a obtains a motion vector value for a specific region of the current region by referring to a reconstructed reference picture. The motion estimation unit 154a transmits a motion information set (reference picture index, motion vector information, etc.) for the reference region to the entropy coding unit 160. The motion compensating unit 154b performs motion compensation by using the motion vector value passed from the motion estimating unit 154a. The inter-prediction unit 154 passes inter-encoding information including motion information about the reference region to the entropy coding unit 160.

[0052] According to another embodiment, the prediction unit 150 may include an intra block copy (BC) prediction unit (not shown). The intra BC prediction unit performs intra BC prediction based on reconstructed samples in the current picture and transmits intra BC coding information to the entropy coding unit 160. The intra BC prediction unit obtains a block vector value indicating a reference region for predicting the current region with reference to a specific region in the current picture. The intra BC prediction unit may perform intra BC prediction using the obtained block vector value. The intra BC prediction unit transmits the intra BC coding information to the entropy coding unit 160. The intra BC coding information may include block vector information.

[0053] When performing the above-described picture prediction, the transform unit 110 transforms the residual value between the original picture and the predicted picture to obtain a transform coefficient value. In this case, the transform can be performed in units of specific blocks within the picture, and the size of the specific block can be changed within a preset range. The quantization unit 115 quantizes the transform coefficient value generated in the transform unit 110 and sends it to the entropy coding unit 160.

[0054] The entropy coding unit 160 performs entropy coding on information indicating quantized transform coefficients, intra-frame coding information, inter-frame coding information, etc. to generate a video signal bitstream. In the entropy coding unit 160, a variable length coding (VLC) scheme, an arithmetic coding scheme, etc. can be used. The variable length coding (VLC) scheme includes converting input symbols into continuous codewords, and the length of the codewords can be variable. For example, frequently occurring symbols are represented by short codewords, while rarely occurring symbols are represented by long codewords. The context-based adaptive variable length coding (CAVLC) scheme can be used as a variable length coding scheme. Arithmetic coding can convert continuous data symbols into a single prime number, wherein arithmetic coding can obtain the optimal bits required to represent each symbol. Context-based adaptive binary arithmetic coding (CABAC) can be used as arithmetic coding. For example, the entropy coding unit 160 can binarize the information indicating the quantized transform coefficients. The entropy coding unit 160 can generate a bitstream by arithmetically coding the binary information.

[0055] The generated bitstream is encapsulated using the Network Abstraction Layer (NAL) unit as the basic unit. The NAL unit includes an integer number of coded coding tree units. In order to decode the bitstream in the video decoder, first, the bitstream must be separated into NAL units, and then each separated NAL unit must be decoded. At the same time, the information required to decode the video signal bitstream can be sent through the raw byte sequence payload (RBSP) of the high-level set such as the picture parameter set (PPS), sequence parameter set (SPS), video parameter set (VPS) and decoding capability information (DCI).

[0056] at the same time, Figure 1 The block diagram shows an encoding device 100 according to an embodiment of the present invention, and the blocks shown separately logically distinguish and illustrate the elements of the encoding device 100. Therefore, depending on the design of the device, the elements of the encoding device 100 described above may be installed as one chip or multiple chips. According to an embodiment, the operation of each element of the encoding device 100 described above may be performed by a processor (not shown).

[0057] Figure 2 FIG is a schematic block diagram of a video signal decoding apparatus 200 according to an embodiment of the present invention. Figure 2 The decoding device 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.

[0058] The entropy decoding unit 210 performs entropy decoding on the video signal bitstream to extract transform coefficient information, intra-frame coding information, inter-frame coding information, and the like for each region. For example, the entropy decoding unit 210 can obtain a binary code for the transform coefficient information for a specific region from the video signal bitstream. The entropy decoding unit 210 obtains quantized transform coefficients by debinarizing the binary code. The inverse quantization unit 220 dequantizes the quantized transform coefficients, and the inverse transform unit 225 restores residual values ​​using the dequantized transform coefficients. The video signal processing device 200 restores the original pixel value by adding the residual value obtained by the inverse transform unit 225 to the predicted value obtained by the prediction unit 250.

[0059] At the same time, the filtering unit 230 performs filtering on the picture to improve image quality. This may include a deblocking filter for reducing block distortion and / or an adaptive loop filter for removing distortion from the entire picture. The filtered picture is output or stored in the DPB 256 to be used as a reference picture for the next picture.

[0060] 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, and intra / inter coding information decoded by the entropy decoding unit 210. To reconstruct the current block in which decoding is performed, the decoded region of the current picture or another picture including the current block can be used. During reconstruction, only the current picture, that is, a picture (or tile / slice) for which only intra prediction or intra BC prediction is performed, is referred to as an intra picture or I picture (or tile / slice), and a picture (or tile / slice) for which all intra prediction, inter prediction, and intra BC prediction can be performed is referred to as an inter picture (or tile / slice). To predict the sample values ​​of each block in an inter-frame picture (or tile / slice), a picture (or tile / slice) that uses up to one motion vector and a reference picture index is called a predicted picture or P-picture (or tile / slice), and a picture (or tile / slice) that uses up to two motion vectors and a reference picture index is called a bidirectionally predicted picture or B-picture (or tile / slice). In other words, a P-picture (or tile / slice) uses up to one motion information set to predict each block, and a B-picture (or tile / slice) uses up to two motion information sets to predict each block. Here, a motion information set includes one or more motion vectors and a reference picture index.

[0061] The intra-frame prediction unit 252 uses the intra-frame coding information and the reconstructed samples in the current picture to generate a prediction block. As described above, the intra-frame coding information may include at least one of the intra-frame prediction mode, the most probable mode (MPM) flag, and the MPM index. The intra-frame prediction unit 252 predicts the sample values ​​of the current block by using the 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 may represent pixels. Furthermore, the sample values ​​may represent pixel values.

[0062] According to an embodiment, the reference sample may be a sample included in a neighboring block of the current block. For example, the reference sample may be a sample adjacent to the left boundary of the current block and / or the sample may be a sample adjacent to the upper boundary. Furthermore, the reference sample may be a sample located on a line within a predetermined distance from the left boundary of the current block and / or a sample located on a line within a predetermined distance from the upper boundary of the current block among the samples of the neighboring blocks of the current block. In this case, the neighboring blocks of the current block may include a left (L) block, an upper (A) block, a lower left (BL) block, an upper right (AR) block, or an upper left (AL) block.

[0063] The inter-frame prediction unit 254 uses the reference pictures and inter-frame coding information stored in the DPB 256 to generate a prediction block. The inter-frame coding information may include a set of motion information (reference picture index, motion vector information, etc.) for the current block of the reference block. Inter-frame prediction may include L0 prediction, L1 prediction, and bidirectional prediction. L0 prediction means prediction using a reference picture included in the L0 picture list, while L1 prediction means prediction using a reference picture included in the L1 picture list. To achieve this, a set of motion information (e.g., motion vector and reference picture index) may be required. In bidirectional prediction methods, up to two reference regions may be used, and the two reference regions may exist in the same reference picture or in different pictures. That is, in bidirectional prediction methods, up to two sets of motion information (e.g., motion vector and reference picture index) may be used, and the two motion vectors may correspond to the same reference picture index or different reference picture indexes. In this case, the reference pictures may be displayed (or output) before and after the current picture in terms of time. Depending on the embodiment, the two reference regions used in the bidirectional prediction scheme may be regions selected from picture list L0 and picture list L1, respectively.

[0064] The inter-frame prediction unit 254 can use the motion vector and the reference picture index to obtain a reference block for the current block. The reference block is in the reference picture corresponding to the reference picture index. Moreover, the sample value of the block specified by the motion vector or its interpolated value can be used as a predictor for the current block. For motion prediction with sub-pel unit pixel accuracy, for example, an 8-tap interpolation filter for luminance signals and a 4-tap interpolation filter for chrominance signals can be used. However, the interpolation filter for motion prediction in sub-pixel units is not limited to this. In this way, the inter-frame prediction unit 254 performs motion compensation to predict the texture of the current unit based on the motion picture previously reconstructed using motion information. In such a case, the inter-frame prediction unit can use a motion information set.

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

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

[0067] at the same time, Figure 2 The block diagram shows a decoding device 200 according to an embodiment of the present invention, and the blocks shown separately logically distinguish and illustrate the elements of the decoding device 200. Therefore, depending on the design of the device, the elements of the decoding device 200 described above can be installed as one chip or multiple chips. According to an embodiment, the operation of each element of the decoding device 200 described above can be performed by a processor (not shown).

[0068] Figure 3The diagram illustrates an embodiment in which a coding tree unit (CTU) in a picture is partitioned into coding units (CUs). During the encoding process of a video signal, a picture may be partitioned into a series of coding tree units (CTUs). A coding tree unit consists of an NxN block of luma samples and two blocks of chroma samples corresponding thereto. A coding tree unit may be partitioned into multiple coding units. A coding tree unit may not be partitioned and may be a leaf node. In this case, the coding tree unit itself may be a coding unit. A coding unit refers to a basic unit used to process a picture in the above-mentioned video signal processing process, i.e., intra / inter prediction, transform, quantization, and / or entropy coding. The size and shape of a coding unit in a picture may not be constant. A coding unit may have a square or rectangular shape. Rectangular coding units (or rectangular blocks) include vertical coding units (or vertical blocks) and horizontal coding units (or horizontal blocks). 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, a non-square block may refer to a rectangular block, but the present disclosure is not limited thereto.

[0069] refer to Figure 3 First, the coding tree unit is split into a quadtree (QT) structure. That is, a node with a size of 2N×2N in the quadtree structure can be split into four nodes with a size of N×N. In this specification, a quadtree may also be referred to as a quadtree. Quadtree splitting can be performed recursively, and not all nodes need to be split at the same depth.

[0070] At the same time, the leaf nodes of the above-mentioned quadtree can be further divided into a multi-type tree (MTT) structure. According to an embodiment of the present invention, in the multi-type tree structure, a node can be divided into a binary or ternary tree structure divided horizontally or vertically. That is, in the multi-type tree structure, there are four segmentation structures, such as vertical binary segmentation, horizontal binary segmentation, vertical ternary segmentation and horizontal ternary segmentation. According to an embodiment of the present invention, in each tree structure, the width and height of the node can have a power of 2. For example, in a binary tree (BT) structure, a node of 2N×2N size can be split into two NX2N nodes by vertical binary segmentation, and split into two 2N×N nodes by horizontal binary segmentation. In addition, in a ternary tree (TT) structure, a node of 2N×2N size can be split into (N / 2)×2N, NX2N and (N / 2)×2N nodes by vertical ternary segmentation, and split into 2N×(N / 2), 2N×N and 2N×(N / 2) nodes by horizontal ternary segmentation. This multi-type tree splitting can be performed recursively.

[0071] The leaf nodes of the multi-type tree can be coding units. When the coding unit is not larger than the maximum transform length, the coding unit can be used as a unit of prediction and / or transform without further segmentation. As an embodiment, when the width or height of the current coding unit is larger than the maximum transform length, the current coding unit can be split into multiple transform units without explicit signaling regarding the segmentation. On the other hand, at least one of the following parameters in the above-mentioned quadtree and multi-type tree can be predefined or signaled via RBSPs of higher-level sets such as PPS, SPS, and VPS. 1) CTU size: the root node size of the quadtree, 2) Minimum QT size MinQtSize: the minimum allowed QT leaf node size, 3) Maximum BT size MaxBtSize: the maximum allowed BT root node size, 4) Maximum TT size MaxTtSize: the maximum allowed TT root node size, 5) Maximum MTT depth MaxMttDepth: the maximum allowed depth of the MTT split from the leaf node of the QT, 6) Minimum BT size MinBtSize: the minimum allowed BT leaf node size, 7) Minimum TT size MinTtSize: the minimum allowed TT leaf node size.

[0072] Figure 4 The figure shows an embodiment of a method for signaling the partitioning of a quadtree and a multi-type tree. A preset flag can be used to signal the partitioning of the quadtree and the multi-type tree. Figure 4 , at least one of the flag "split_cu_flag" indicating whether to split a node, the flag "split_qt_flag" indicating whether to split a quadtree node, the flag "mtt_split_cu_vertical_flag" indicating the split direction of a multi-type tree node, or the flag "mtt_split_cu_binary_flag" indicating the split shape of a multi-type tree node may be used.

[0073] According to an embodiment of the present invention, a "split_cu_flag" as a flag indicating whether to split the current node can be first signaled. When 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. When the current node is a coding tree unit, the coding tree unit includes one unsplit coding unit. When the current node is a quadtree node "QT node", the current node is a leaf node "QT leaf node" of the quadtree and becomes a coding unit. When the current node is a multi-class tree node "MTT node", the current node is a leaf node "MTT leaf node" of the multi-class tree and becomes a coding unit.

[0074] When the value of "split_cu_flag" is 1, the current node can be split into nodes of a quadtree or a multi-type tree according to the value of "split_qt_flag". The coding tree unit is the root node of the quadtree and can be first split into a quadtree structure. In the quadtree structure, "split_qt_flag" is sent with a signal for each node "QT node". When the value of "split_qt_flag" is 1, the corresponding node is split into 4 square nodes, and when the value of "qt_split_flag" is 0, the corresponding node becomes a "QT leaf node" of the quadtree, and the corresponding node is split into multiple types of nodes. According to an embodiment of the present invention, the splitting of the quadtree can be restricted according to the type of the current node. Quadtree splitting can be allowed when the current node is a coding tree unit (the root node of the quadtree) or a quadtree node, and quadtree splitting is not allowed when the current node is a multi-type tree node. Each quadtree leaf node "QT leaf node" can be further split into a multi-type tree structure. As described above, when "split_qt_flag" is 0, the current node can be split into multiple types of nodes. In order to indicate the split direction and split shape, "mtt_split_cu_vertical_flag" and "mtt_split_cu_binary_flag" can be sent with signals. When the value of "mtt_split_cu_vertical_flag" is 1, it indicates the vertical split of the node "MTT node", and when the value of "mtt_split_cu_vertical_flag" is 0, it indicates the horizontal split of the node "MTT node". In addition, when the value of "mtt_split_cu_binary_flag" is 1, the node "MTT node" is split into two rectangular nodes, and when the value of "mtt_split_cu_binary_flag" is 0, the node "MTT node" is split into three rectangular nodes.

[0075] Picture prediction (motion compensation) for encoding is performed on coding units that are no longer divided (ie, leaf nodes of the coding unit tree). Hereinafter, a basic unit for performing prediction will be referred to as a "prediction unit" or a "prediction block."

[0076] Hereinafter, the term "unit" used herein may replace a prediction unit, which is a basic unit for performing prediction. However, the present disclosure is not limited thereto, and "unit" may be understood as broadly encompassing the concept of a coding unit.

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

[0078] first, Figure 5 An embodiment of reference samples used for prediction of a current block in an intra prediction mode is shown. According to an embodiment, the reference samples may be samples adjacent to the left boundary and / or samples adjacent to the upper boundary of the current block. Figure 5 As shown in , when the size of the current block is WXH and samples of a single reference line adjacent to the current block are used for intra prediction, a maximum of 2W+2H+1 neighboring samples located on the left and top of the current block can be used to configure reference samples.

[0079] When at least some samples to be used as reference samples have not yet been recovered, the intra-frame prediction unit may obtain reference samples by performing a reference sample filling process. The intra-frame prediction unit may perform a reference sample filtering process to reduce errors in the intra-frame prediction. That is, filtering may be performed on the adjacent samples and / or reference samples obtained by the reference sample filling process to obtain filtered reference samples. The intra-frame prediction unit predicts samples of the current block by using the reference samples obtained as described above. The intra-frame prediction unit predicts samples of the current block by using unfiltered reference samples or filtered reference samples. In the present disclosure, adjacent samples may include samples on at least one reference line. For example, adjacent samples may include adjacent samples on a line adjacent to the boundary of the current block.

[0080] Next, Figure 6 An embodiment of a prediction mode for intra-frame prediction is shown. For intra-frame prediction, intra-frame prediction mode information indicating an intra-frame prediction direction may be signaled. The intra-frame prediction mode information indicates one of multiple intra-frame prediction modes included in an intra-frame prediction mode set. When a current block is an intra-frame prediction block, the decoder receives the intra-frame prediction mode information for the current block from the bitstream. The intra-frame prediction unit of the decoder performs intra-frame prediction on the current block based on the extracted intra-frame prediction mode information.

[0081] According to an embodiment of the present invention, the intra-frame prediction mode set may include all intra-frame prediction modes used in intra-frame prediction (for example, a total of 67 intra-frame prediction modes). More specifically, the intra-frame prediction mode set may include a planar mode, a DC mode, and a plurality of (for example, 65) angular modes (i.e., directional modes). Each intra-frame prediction mode may be indicated by a preset index (i.e., an intra-frame prediction mode index). For example, Figure 6As shown, intra-frame prediction mode index 0 indicates planar mode, and intra-frame prediction mode index 1 indicates DC mode. In addition, intra-frame prediction mode indexes 2 to 66 can respectively indicate different angle modes. The angle modes respectively indicate angles that are different from each other within a preset angle range. For example, the angle mode may indicate an angle within an angle range (i.e., a first angle range) between 45 degrees and -135 degrees in a clockwise direction. The angle mode can be defined based on the 12 o'clock direction. In this case, intra-frame prediction mode index 2 indicates a horizontal diagonal (HDIA) mode, intra-frame prediction mode index 18 indicates a horizontal (horizontal, HOR) mode, intra-frame prediction mode index 34 indicates a diagonal (DIA) mode, intra-frame prediction mode index 50 indicates a vertical (VER) mode, and intra-frame prediction mode index 66 indicates a vertical diagonal (VDIA) mode.

[0082] At the same time, the preset angle range can be set differently depending on 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 degrees or less than -135 degrees in the clockwise direction can be additionally used. When the current block is a horizontal block, the angle mode can indicate an angle within an angle range between (45+offset1) degrees and (-135+offset1) degrees in the clockwise direction (i.e., a second angle range). In this case, angle modes 67 to 76 outside the first angle range can be additionally used. In addition, if the current block is a vertical block, the angle mode can indicate an angle within an angle range between (45-offset2) degrees and (-135-offset2) degrees in the clockwise direction (i.e., a third angle range). In this case, angle modes -10 to -1 outside the first angle range can be additionally used. According to an embodiment of the present disclosure, the values ​​of offset 1 (offset1) and offset 2 (offset2) can be determined differently depending on the ratio between the width and height of the rectangular block. In addition, offset1 and offset2 can be positive numbers.

[0083] According to another embodiment of the present invention, the multiple angle modes configuring the intra prediction mode set may include a basic angle mode and an extended angle mode. In this case, the extended angle mode may be determined according to the basic angle mode.

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

[0085] According to another embodiment, the basic angle mode may be a mode corresponding to an angle within a preset first angle range, and the extended angle mode may be a wide-angle mode outside the first angle range. That is, the basic angle mode may be an angle mode corresponding to any one of the intra-prediction modes {2, 3, 4, ..., 66}, and the extended angle mode may be an angle mode corresponding to any one of the intra-prediction modes {-10, -9, ..., -1} and {67, 68, ..., 76}. The angle indicated by the extended angle mode may be determined as the angle on the opposite side of the angle indicated by the corresponding basic angle mode. Therefore, the angle indicated by the extended angle mode may be determined based on the angle indicated by the basic angle mode. The number of extended angle modes is not limited to this, and additional extended angles may be defined based on the size and / or shape of the current block. For example, the extended angle mode may be defined as an angle mode corresponding to any one of the intra-prediction modes {-14, -13, ..., -1} and {67, 68, ..., 80}. 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.

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

[0087] According to an embodiment of the present invention, an extended angle mode can be signaled based on a basic angle mode. For example, a wide-angle mode (i.e., an extended angle mode) can replace at least one angle mode (i.e., a basic angle mode) within a first angle range. The basic angle mode to be replaced can be a corresponding angle mode on the side opposite to the wide-angle mode. That is, the basic angle mode to be replaced is an angle mode corresponding to an angle in the opposite direction to the angle indicated by the wide-angle mode, or an angle mode corresponding to an angle that differs from the angle in the opposite direction by a preset offset index. According to one embodiment of the present invention, the preset offset index is 1. The intra-frame prediction mode index corresponding to the basic angle mode to be replaced can be remapped to the wide-angle mode to signal the corresponding wide-angle mode. For example, the wide-angle modes {-10, -9, ..., -1} can be respectively signaled by the intra-frame prediction mode indexes {57, 58, ..., 66}, and the wide-angle modes {67, 68, ..., 76} can be respectively signaled by the intra-frame prediction mode indexes {2, 3, ..., 11}. In this way, the intra-frame prediction mode index for the basic angular mode is used to signal the extended angular mode. Therefore, even if the configuration of the angular mode for intra-frame prediction of each block is different from each other, the intra-frame prediction mode can be signaled using the same set of intra-frame prediction mode indexes. Therefore, the signaling overhead caused by the change of the intra-frame prediction mode configuration can be minimized.

[0088] At the same time, whether to use the extended angle mode can be determined based on at least one of the shape and size of the current block. According to an embodiment, when the size of the current block is larger than a preset size, the extended angle mode can be used for intra prediction of the current block, otherwise the basic angle mode can be used only for intra prediction of the current block. According to another embodiment, when the current block is a block other than a square, the extended angle mode can be used for intra prediction of the current block, and when the current block is a square block, only the basic angle mode can be used for intra prediction of the current block.

[0089] Figure 7 This figure illustrates a network abstraction layer (NAL) unit according to an embodiment of the present invention, which is a basic unit for configuring a bitstream. When a video image is encoded and stored as a bitstream by an encoder, the bitstream can be configured in units of a network abstraction layer. NAL units can be defined in various forms depending on their purpose and can be distinguished by a unique ID. NAL units can be roughly divided into a portion including actual video image data information and a portion including information required for decoding such video images. Figure 7 1 is a diagram illustrating some of the various types of NAL units. NAL units are configured based on a predefined order, and the information included in the corresponding NAL units can also be configured based on a preset order. NAL units can be cross-referenced to each other. Figure 7 As shown in the figure, the NAL unit DPS represents the decoding parameter set (DPS) RBSP syntax. The NAL unit VPS (NAL unit VPS) represents the 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 includes information (syntax elements) required for the decoder to perform video decoding. The DPS RBSP syntax can be described as the decoding capability information (DCI) RBSP syntax. The VPS RBSP syntax is a syntax that includes information (syntax elements) commonly used to decode base layer and enhancement layer coded data. The SPS RBSP syntax is a syntax that includes syntax elements sent at the sequence unit level. The SPS RBSP syntax may include information (syntax elements) commonly used to decode pictures with reference to the VPS. In this case, a sequence means a set of one or more pictures. The PPS RBSP syntax is a syntax that includes information (syntax elements) commonly used to decode one or more pictures. The RBSP described above is a raw byte sequence payload (RBSP) and may refer to a syntax that is byte-aligned and encapsulated in a NAL unit. Hereinafter, the above syntax will be described.

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

[0091] 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 the profile tier level syntax "profile_tier_level()".

[0092] like Figure 8 As shown in (a) and (b), profile tier syntax can be included (called) in the DPS RBSP syntax and the SPS RBSP syntax. The profile tier syntax can include information related to profiles, layers, and levels. In this case, the profile tier syntax can include the syntax "general_constraint_info()" for general constraint information (GCI). The syntax for GCI (hereinafter referred to as GCI syntax) can control whether tools and / or functions included in the GCI syntax and / or other syntax (e.g., DPS RBSP syntax, VPS RBSP syntax, SPS RBSP syntax, PPS RBSP syntax, Sliceheader syntax, etc.) are disabled for interoperability. When the GCI syntax indicates the disabling of tools and / or functions, the tools and / or functions declared in the lower syntax can be disabled. In this case, the application of tools and / or functions disabled by the GCI syntax to the entire bitstream or a portion of the bitstream can be determined based on the position of the NAL unit parsed by the decoder. For example, the profile tier syntax "profile_tier_level()" can be included in the DPS RBSP syntax and / or the SPS RBSP syntax. When the profile-level syntax is included in the DPS RBSP syntax, the GCI syntax included in the profile-level syntax can be applied to the entire bitstream. As another example, when the profile-level syntax is included in the SPS RBSP syntax, the GCI syntax included in the profile-level syntax can be applied to the coding layer video sequence (CLVS).

[0093] Figures 9 to 11 is a diagram illustrating syntax according to an embodiment of the present invention.

[0094] Figure 9 (a) is a diagram illustrating a video parameter set (VPS) RBSP syntax according to an embodiment of the present invention, and Figure 9 (b) is a diagram illustrating the syntax of general constraint information (GCI) according to an embodiment of the present invention. Figure 9 As shown in (a), the GCI syntax "general_constraint_info()" can be included in the VPS syntax. Figure 9Although not shown in (a), the above-mentioned profile-level syntax may be included in the VPS syntax, and the GCI syntax may be included in the profile-level syntax included in the VPS syntax. The GCI syntax may include one or more syntax elements. Figure 10 and Figure 11 is a diagram illustrating a sequence parameter set (SPS) RBSP syntax according to an embodiment of the present invention. Figures 9 to 11 Describes the constraint flag as a syntax element included in the GCI syntax.

[0095] -no_qtbtt_dual_tree_intra_constraint_flag

[0096] no_qtbtt_dual_tree_intra_constraint_flag is a flag that controls the 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 can be set to 0. On the other hand, if the value of no_qtbtt_dual_tree_intra_constraint_flag is 0, there is no restriction on the value of qtbtt_dual_tree_intra_flag. In other words, the value of qtbtt_dual_tree_intra_flag can be determined based on the parsing results of the SPS RBSP syntax.

[0097] In this case, qtbtt_dual_tree_intra_flag is a flag indicating whether I slices are used in the coding_tree syntax structure. For example, if the value of qtbtt_dual_tree_intra_flag is 1, for I slices, each coding tree unit (CTU) can be partitioned into coding units with 64×64 luma samples by implicit quadtree partitioning. In this case, the coding unit is indicated to be the root node (the highest level coding unit) of a separate coding_tree syntax structure for two luma and two chroma. If the value of qtbtt_dual_tree_intra_flag is 0, it indicates that the coding_tree syntax structure is not used for I slices. The above-mentioned qtbtt_dual_tree_intra_flag may be referred to as sps_qtbtt_dual_tree_intra_flag.

[0098] refer to Figure 10log2_ctu_size_minus5 is a syntax element that indicates the size of the luma coding tree block for each coding tree unit. Adding 5 to log2_ctu_size_minus5 yields the size of the luma coding tree block, CtbLog2SizeY, in log2 units. This is expressed as Formula 1 below. In Formula 1, CtbSizeY refers to the size of each luma coding tree block.

[0099] [Formula 1]

[0100] CtbLog2SizeY=log2_ctu_size_minus5+5

[0101] CtbSizeY=1<<CtbLog2SizeY

[0102] -no_partition_constraints_override_constraint_flag

[0103] 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 can be set to 0. On the other hand, if the value of no_partition_constraints_override_constraint_flag is 0, there is no restriction on the value of partition_constraints_override_enabled_flag. In other words, the value of partition_constraints_override_enabled_flag can be determined based on the parsing results of the SPS RBSP syntax.

[0104] In this case, partition_constraints_override_enabled_flag is a flag indicating whether ph_partition_constraints_override_flag in the picture header (PH) exists. 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 partition_constraints_override_enabled_flag may be referred to as sps_partition_constraints_override_enabled_flag.

[0105] -no_sao_constraint_flag

[0106] 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 can be set to 0. On the other hand, if the value of no_sao_constraint_flag is 0, there is no restriction on the value of sps_sao_enabled_flag. In other words, the value of sps_sao_enabled_flag can be determined based on the parsing result of the SPS RBSP syntax.

[0107] In this case, sps_sao_enabled_flag is a flag indicating whether to apply the sample adaptive offset process to the picture reconstructed after the deblocking filter process for the coding layer video sequence (CLVS). For example, if the value of sps_sao_enabled_flag is 1, it indicates that the sample adaptive offset process is enabled for the picture reconstructed after the deblocking filter process for CLVS, and the sample adaptive offset process is applied to the picture reconstructed after the deblocking filter process for CLVS. If the value of sps_sao_enabled_flag is 0, it indicates that the sample adaptive offset process is disabled for the image reconstructed after the deblocking filter process for CLVS, and the sample adaptive offset process is not applied to the image reconstructed after the deblocking filter process for CLVS.

[0108] -no_alf_constraint_flag

[0109] 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 can be set to 0. On the other hand, if the value of no_alf_constraint_flag is 0, there is no restriction on the value of sps_alf_enabled_flag. In other words, the value of sps_alf_enabled_flag can be determined based on the parsing results of the SPS RBSP syntax.

[0110] In this case, sps_alf_enabled_flag is a flag indicating whether the adaptive loop filter is enabled for decoding of pictures in the CLVS. For example, if the value of sps_alf_enabled_flag is 1, it indicates that the adaptive loop filter is enabled and can be applied to decoding of pictures in the CLVS. If the value of sps_alf_enabled_flag is 0, it indicates that the adaptive loop filter is disabled and is not applied to decoding of pictures in the CLVS.

[0111] -no_joint_cbcr_constraint_flag

[0112] 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 can be set to 0. On the other hand, if the value of no_joint_cbcr_constraint_flag is 0, there is no restriction on the value of sps_joint_cbcr_enabled_flag. In other words, the value of sps_joint_cbcr_enabled_flag can be determined based on the parsing results of the SPS RBSP syntax.

[0113] In this case, sps_joint_cbcr_enabled_flag is a flag indicating whether joint coding of chroma residuals is enabled for decoding pictures in CLVS. For example, if the value of sps_joint_cbcr_enabled_flag is 1, it indicates that joint coding of chroma residuals is enabled, and joint coding of chroma residuals can be used to decode pictures in CLVS. If the value of sps_joint_cbcr_enabled_flag is 0, it indicates that joint coding of chroma residuals is disabled, and joint coding of chroma residuals is not used to decode pictures in CLVS. Meanwhile, sps_joint_cbcr_enabled_flag may not exist, and in such a case, it can be inferred that the value of sps_joint_cbcr_enabled_flag is equal to 0.

[0114] -no_ref_wraparound_constraint_flag

[0115] 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 can be set to 0. On the other hand, if the value of no_ref_wraparound_constraint_flag is 0, there is no restriction on the value of sps_ref_wraparound_enabled_flag. In other words, the value of sps_ref_wraparound_enabled_flag can be determined based on the parsing results of the SPS RBSP syntax.

[0116] In this case, sps_ref_wraparound_enabled_flag is a flag indicating whether horizontal wrap motion compensation is enabled for decoding pictures in the CLVS. For example, if the value of sps_ref_wraparound_enabled_flag is 1, it indicates that horizontal wrap motion compensation is enabled and can be applied to pictures in the CLVS. If the value of sps_ref_wraparound_enabled_flag is 0, it indicates that horizontal wrap motion compensation is disabled and horizontal wrap motion compensation is not applied to pictures in the CLVS.

[0117] -no_temporal_mvp_constraint_flag

[0118] 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 can be set to 0. On the other hand, if the value of no_temporal_mvp_constraint_flag is 0, there is no restriction on the value of sps_temporal_mvp_enabled_flag. In other words, the value of sps_temporal_mvp_enabled_flag can be determined based on the parsing results of the SPS RBSP syntax.

[0119] In this case, sps_temporal_mvp_enabled_flag is a flag indicating whether the use of temporal motion vector prediction for decoding pictures in CLVS is enabled. For example, if the value of sps_temporal_mvp_enabled_flag is 1, it indicates that the temporal motion vector predictor is enabled and the temporal motion vector predictor can be used to decode pictures in CLVS. If the value of sps_temporal_mvp_enabled_flag is 0, it indicates that the temporal motion vector predictor is disabled and the temporal motion vector predictor is not used to decode pictures in CLVS.

[0120] -no_sbtmvp_constraint_flag

[0121] 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 can be set to 0. On the other hand, if the value of no_sbtmvp_constraint_flag is 0, there is no restriction on the value of sps_sbtmvp_enabled_flag. In other words, the value of sps_sbtmvp_enabled_flag can be determined based on the parsing results of the SPS RBSP syntax.

[0122] In this case, sps_sbtmvp_enabled_flag is a flag indicating whether the sub-block-based temporal motion vector predictor is enabled for decoding pictures in the CLVS. For example, if the value of sps_sbtmvp_enabled_flag is 1, it indicates that the sub-block-based temporal motion vector predictor is enabled and the sub-block-based temporal motion vector predictor can be used to decode pictures in the CLVS. In this case, the slice type of the picture can be a type other than an I slice (for example, a B slice and a P slice). If the value of sps_sbtmvp_enabled_flag is 0, it indicates that the sub-block-based temporal motion vector predictor is disabled and the sub-block-based temporal motion vector predictor is not used for decoding pictures in the CLVS.

[0123] -no_amvr_constraint_flag

[0124] 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 can be set to 0. On the other hand, if the value of no_amvr_constraint_flag is 0, there is no restriction on the value of sps_amvr_enabled_flag. In other words, the value of sps_amvr_enabled_flag can be determined based on the parsing results of the SPS RBSP syntax.

[0125] In this case, sps_amvr_enabled_flag is a flag indicating whether motion vector differential resolution is enabled for decoding pictures in CLVS. For example, if the value of sps_amvr_enabled_flag is 1, it indicates that motion vector differential resolution is enabled and pictures in CLVS can be decoded using motion vector differential resolution. If the value of sps_amvr_enabled_flag is 0, it indicates that motion vector differential resolution is disabled and pictures in CLVS are not decoded using motion vector differential resolution.

[0126] -no_bdof_constraint_flag

[0127] 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 can be set to 0. On the other hand, if the value of no_bdof_constraint_flag is 0, there is no restriction on the value of sps_bdof_enabled_flag. In other words, the value of sps_bdof_enabled_flag can be determined based on the parsing result of the SPS RBSP syntax.

[0128] In this case, sps_bdof_enabled_flag is a flag indicating whether bidirectional optical flow inter-frame prediction is enabled for decoding pictures in CLVS. For example, if the value of sps_bdof_enabled_flag is 1, it indicates that bidirectional optical flow inter-frame prediction is enabled and bidirectional optical flow inter-frame prediction can be used to decode pictures in CLVS. If the value of sps_bdof_enabled_flag is 0, it indicates that bidirectional optical flow inter-frame prediction is disabled and bidirectional optical flow inter-frame prediction is not used to decode pictures in CLVS.

[0129] -no_dmvr_constraint_flag

[0130] 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 can be set to 0. On the other hand, if the value of no_dmvr_constraint_flag is 0, there is no restriction on the value of sps_dmvr_enabled_flag. In other words, the value of sps_dmvr_enabled_flag can be determined based on the parsing results of the SPS RBSP syntax.

[0131] In this case, sps_dmvr_enabled_flag is a flag indicating whether bidirectional prediction based on decoder motion vector refinement is enabled for decoding pictures in CLVS. For example, if the value of sps_dmvr_enabled_flag is 1, it indicates that bidirectional prediction based on decoder motion vector refinement is enabled, and bidirectional prediction based on decoder motion vector refinement can be used to decode pictures in CLVS. If the value of sps_dmvr_enabled_flag is 0, it indicates that bidirectional prediction based on decoder motion vector refinement is disabled, and bidirectional prediction based on decoder motion vector refinement is not used to decode pictures in CLVS.

[0132] -no_cclm_constraint_flag

[0133] 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 can be set to 0. On the other hand, if the value of no_cclm_constraint_flag is 0, there is no restriction on the value of sps_cclm_enabled_flag. In other words, the value of sps_cclm_enabled_flag can be determined based on the parsing results of the SPS RBSP syntax.

[0134] In this case, sps_cclm_enabled_flag is a flag indicating whether cross-component linear model intra-frame prediction from the luma component to the chroma component is enabled for decoding pictures in the CLVS. For example, if the value of sps_cclm_enabled_flag is 1, it indicates that cross-component linear model intra-frame prediction from the luma component to the chroma component is enabled, and cross-component linear model intra-frame prediction from the luma component to the chroma component can be used for decoding pictures in the CLVS. If the value of sps_cclm_enabled_flag is 0, it indicates that cross-component linear model intra-frame prediction from the luma component to the chroma component is disabled, and cross-component linear model intra-frame prediction from the luma component to the chroma component is not used for decoding pictures in the CLVS. Meanwhile, sps_cclm_enabled_flag may not exist, and in this case, it can be inferred that the value of sps_cclm_enabled_flag is equal to 0.

[0135] -no_mts_constraint_flag

[0136] 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 can be set to 0. On the other hand, if the value of no_mts_constraint_flag is 0, there is no restriction on the value of sps_mts_enabled_flag. In other words, the value of sps_mts_enabled_flag can be determined based on the parsing results of the SPS RBSP syntax.

[0137] 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.

[0138] In this case, sps_explicit_mts_intra_enabled_flag and sps_explicit_mts_inter_enabled_flag are flags indicating whether mts_idx exists in the intra coding unit syntax of CLVS. 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 exist in the intra / inter coding unit syntax of CLVS. If the value of sps_explicit_mts_intra_enabled_flag / sps_explicit_mts_inter_enabled_flag is 0, it indicates that mts_idx does not exist in the intra / inter coding unit syntax of CLVS. At the same time, sps_explicit_mts_intra_enabled_flag / sps_explicit_mts_inter_enabled_flag may not exist. In this case, the value of sps_explicit_mts_intra_enabled_flag / sps_explicit_mts_inter_enabled_flag may be inferred to be equal to 0.

[0139] The above-mentioned mts_idx is a syntax element indicating a transform kernel applied along the horizontal and vertical directions of an associated luma transform block in the current coding unit.

[0140] -no_sbt_constraint_flag

[0141] 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 can be set to 0. On the other hand, if the value of no_sbt_constraint_flag is 0, there is no restriction on the value of sps_sbt_enabled_flag. In other words, the value of sps_sbt_enabled_flag can be determined based on the parsing results of the SPS RBSP syntax.

[0142] In this case, sps_sbt_enabled_flag is a flag indicating whether the sub-block transform of the inter-frame prediction coding unit (CU) is enabled for decoding the picture in the CLVS. For example, if the value of sps_sbt_enabled_flag is 1, it indicates that the sub-block transform of the inter-frame prediction coding unit is enabled, and the sub-block transform of the inter-frame prediction coding unit can be used to decode the picture in the CLVS. If the value of sps_sbt_enabled_flag is 0, it indicates that the sub-block transform of the inter-frame prediction coding unit is disabled, and the sub-block transform of the inter-frame prediction coding unit is not used for decoding the picture in the CLVS.

[0143] -no_affine_motion_constraint_flag

[0144] 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 can be set to 0. On the other hand, if the value of no_affine_motion_constraint_flag is 0, there is no restriction on the value of sps_affine_enabled_flag. In other words, the value of sps_affine_enabled_flag can be determined based on the results of parsing the SPSR BSP syntax.

[0145] In this case, sps_affine_enabled_flag is a flag indicating whether affine model-based motion compensation is enabled for decoding pictures in CLVS. In addition, sps_affine_enabled_flag 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, it indicates that affine model-based motion compensation is enabled, and affine model-based motion compensation can be used to decode pictures in CLVS. In addition, if the value of sps_affine_enabled_flag is 1, it indicates that inter_affine_flag and cu_affine_type_flag can be present in the coding unit syntax of CLVS. If the value of sps_affine_enabled_flag is 0, it indicates that affine model-based motion compensation is disabled, and affine model-based motion compensation is not used to decode pictures in CLVS. If the value of sps_affine_enabled_flag is 0, it indicates that inter_affine_flag and cu_affine_type_flag do not exist in the coding unit syntax of CLVS.

[0146] In this case, inter_affine_flag is a flag indicating whether affine model-based motion compensation is used to generate prediction samples of the current coding unit when decoding the current coding unit. cu_affine_type_flag is a flag indicating whether four-parameter affine model-based motion compensation or six-parameter affine model-based motion compensation is used when decoding the current coding unit.

[0147] -no_bcw_constraint_flag

[0148] 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 can be set to 0. On the other hand, if the value of no_bcw_constraint_flag is 0, there is no restriction on the value of sps_bcw_enabled_flag. In other words, the value of sps_bcw_enabled_flag can be determined based on the parsing results of the SPS RBSP syntax.

[0149] In this case, sps_bcw_enabled_flag is a flag indicating whether bidirectional prediction using coding unit weights is enabled for decoding pictures in CLVS. In addition, sps_bcw_enabled_flag can indicate whether bcw_idx exists in the coding unit syntax of CLVS. For example, if the value of sps_bcw_enabled_flag is 1, it indicates that bidirectional prediction using coding unit weights is enabled, and bidirectional prediction using coding unit weights can be used to decode pictures in CLVS. In addition, if the value of sps_bcw_enabled_flag is 1, it indicates that bcw_idx can exist 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 disabled, and bidirectional prediction using coding unit weights is not used to decode pictures in CLVS. In addition, when the value of sps_bcw_enabled_flag is 0, it indicates that bcw_idx does not exist in the coding unit syntax of CLVS.

[0150] In this case, bcw_idx is a syntax element indicating an index related to bidirectional prediction using coding unit weight.

[0151] -no_ibc_constraint_flag

[0152] 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 can be set to 0. On the other hand, if the value of no_ibc_constraint_flag is 0, there is no restriction on the value of sps_ibc_enabled_flag. In other words, the value of sps_ibc_enabled_flag can be determined based on the parsing results of the SPS RBSP syntax.

[0153] In this case, sps_ibc_enabled_flag is a flag indicating whether the intra block copy (IBC) prediction mode is enabled for decoding pictures in the CLVS. For example, if the value of sps_ibc_enabled_flag is 1, it indicates that the IBC prediction mode is enabled and pictures in the CLVS can be decoded using the IBC prediction mode. If the value of sps_ibc_enabled_flag is 0, it indicates that the IBC prediction mode is disabled and pictures in the CLVS are not decoded using the IBC prediction mode.

[0154] -no_ciip_constraint_flag

[0155] 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 can be set to 0. On the other hand, if the value of no_ciip_constraint_flag is 0, there is no restriction on the value of sps_ciip_enabled_flag. In other words, the value of sps_ciip_enabled_flag can be determined based on the parsing results of the SPS RBSP syntax.

[0156] In this case, sps_ciip_enabled_flag is a flag indicating whether ciip_flag is present in the coding unit syntax for the 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 of the 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 of the inter coding unit.

[0157] ciip_flag is a flag indicating whether combined inter-picture merging and intra-picture prediction are applied to the current coding unit.

[0158] -no_fpel_mmvd_constraint_flag

[0159] 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 can be set to 0. On the other hand, if the value of no_fpel_mmvd_constraint_flag is 0, there is no restriction on the value of sps_fpel_mmvd_enabled_flag. In other words, the value of sps_fpel_mmvd_enabled_flag can be determined based on the results of parsing the SPSRBSP syntax.

[0160] In this case, sps_fpel_mmvd_enabled_flag is a flag indicating the type of sample precision used in merge mode using motion vector differences. For example, if the value of sps_fpel_mmvd_enabled_flag is 1, it indicates that the sample precision used in merge mode using motion vector differences is integer sample precision. If the value of sps_fpel_mmvd_enabled_flag is 0, it indicates that the sample precision used in merge mode using motion vector differences is fractional sample precision. Meanwhile, sps_fpel_mmvd_enabled_flag may not exist, and in such a case, the value of sps_fpel_mmvd_enabled_flag may be inferred to be equal to 0. sps_fpel_mmvd_enabled_flag may be referred to as sps_mmvd_fullpel_only_flag.

[0161] -no_triangle_constraint_flag

[0162] 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 can be set to 0. On the other hand, if the value of no_triangle_constraint_flag is 0, there is no restriction on the value of sps_triangle_enabled_flag. In other words, the value of sps_triangle_enabled_flag can be determined based on the results of parsing the SPSR BSP syntax.

[0163] In this case, sps_triangle_enabled_flag is a flag indicating whether triangle-based motion compensation can be applied. The triangle-shaped motion compensation prediction method can be divided into two triangle models based on the diagonal line of the inter-frame coding unit, and the motion information set of each triangle area can be different, and motion compensation is performed based on this to generate prediction samples.

[0164] -no_ladf_constraint_flag

[0165] 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 can be set to 0. On the other hand, if the value of no_ladf_constraint_flag is 0, there is no restriction on the value of sps_ladf_enabled_flag. In other words, the value of sps_ladf_enabled_flag can be determined based on the parsing results of the SPS RBSP syntax.

[0166] 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] exist 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] exist 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] do not exist in the SPS.

[0167] sps_num_ladf_intervals_minus2 is a syntax element indicating the number of syntax elements sps_ladf_delta_threshold_minus1[i] and sps_ladf_qp_offset[i] present in the SPS. The value of sps_num_ladf_intervals_minus2 may be between 0 and 3.

[0168] sps_ladf_lowest_interval_qp_offset is a syntax element indicating an offset for deriving a quantization parameter (QP) as a variable. The value of sps_ladf_lowest_interval_qp_offset may be between -63 and 63.

[0169] sps_ladf_qp_offset[i] is a syntax element indicating an offset array used to derive a quantization parameter as a variable. The value of sps_ladf_qp_offset[i] can be between -63 and 63.

[0170] 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 bound of the i-th luma strong level interval. The value of sps_ladf_delta_threshold_minus1[i] can be between 0 and (2 BitDepth –3). BitDepth indicates the bit depth and means the number of bits required to express the brightness of an image.

[0171] -no_transform_skip_constraint_flag

[0172] 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 can be set to 0. On the other hand, if the value of no_transform_skip_constraint_flag is 0, there is no restriction on the value of sps_transform_skip_enabled_flag. In other words, the value of sps_transfrom_skip_enabled_flag can be determined based on the parsed results of the SPS RBSP syntax.

[0173] In this case, sps_transform_skip_enabled_flag is a flag indicating whether 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.

[0174] transform_skip_flag is a flag indicating whether transform is applied to a transform block.

[0175] -no_bdpcm_constraint_flag

[0176] 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 can be set to 0. On the other hand, if the value of no_bdpcm_constraint_flag is 0, there is no restriction on the value of sps_bdpcm_enabled_flag. In other words, the value of sps_bdpcm_enabled_flag can be determined based on the parsing results of the SPS RBSP syntax.

[0177] 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 of 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 of 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 of the intra coding unit. At the same time, sps_bdpcm_enabled_flag may not exist. In this case, the value of sps_bdpcm_enabled_flag can be inferred to be equal to 0.

[0178] intra_bdpcm_luma_flag / intra_bdpcm_chroma_flag is a flag indicating whether block-based delta pulse code modulation (bdpcm) is applied to the luma / chroma coding block at a specific position (x0, y0).

[0179] -no_qp_delta_constraint_flag

[0180] 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 can be set to 0. On the other hand, if the value of no_qp_delta_constraint_flag is 0, there is no restriction on the value of cu_qp_delta_enabled_flag. In other words, the value of cu_qp_delta_enabled_flag can be determined based on the parsing results of the SPS RBSP syntax.

[0181] In this case, cu_qp_delta_enabled_flag is a flag indicating whether ph_cu_qp_delta_subdiv_intra_slice and ph_cu_qp_delta_subdiv_inter_slice, which are syntax elements, are present in the PH of the reference PPS. Furthermore, cu_qp_delta_enabled_flag indicates whether cu_qp_delta_abs and cu_qp_delta_sign_flag, which are syntax elements included in the transform unit syntax and palette coding syntax, are present. For example, if the value of cu_qp_delta_enabled_flag is 1, it indicates that ph_cu_qp_delta_subdiv_intra_slice and ph_cu_qp_delta_subdiv_inter_slice, which are syntax elements, can be present in the PH of the reference PPS. In addition, if the value of cu_qp_delta_enabled_flag is 1, it indicates that the syntax elements cu_qp_delta_abs and cu_qp_delta_sign_flag can be present in the transform unit syntax and the palette coding syntax. If the value of cu_qp_delta_enabled_flag is 0, it indicates that the syntax elements ph_cu_qp_delta_subdiv_intra_slice and ph_cu_qp_delta_subdiv_inter_slice do not exist in the PH of the reference PPS. In addition, if the value of cu_qp_delta_enabled_flag is 0, it indicates that the syntax elements cu_qp_delta_abs and cu_qp_delta_sign_flag do not exist in the transform unit syntax and the palette coding syntax.

[0182] ph_cu_qp_delta_subdiv_intra_slice / ph_cu_qp_delta_subdiv_inter_slice is a syntax element that indicates the maximum value of "cbSubdiv" for coding units in intra / inter slices that convey cu_qp_delta_abs and cu_qp_delta_sign_flag. In this case, "cbSubdiv" indicates the subdivision value of the block.

[0183] cu_qp_delta_abs is a syntax element indicating the absolute value of a difference value 'CuQpDeltaVal' between a quantization parameter of a current coding unit and a predicted value of the quantization parameter of the current coding unit.

[0184] cu_qp_delta_sign_flag is a flag indicating the sign of "CuQpDeltaVal".

[0185] -no_dep_quant_constraint_flag

[0186] 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 can be set to 0. On the other hand, if the value of no_dep_quant_constraint_flag is 0, there is no restriction on the value of sps_dep_quant_enabled_flag. In other words, the value of sps_dep_quant_enabled_flag can be determined based on the results of parsing the SPSR BSP syntax.

[0187] In this case, sps_dep_quant_enabled_flag is a flag indicating whether dependent quantization for pictures referencing the SPS is enabled. For example, if the value of sps_dep_quant_enabled_flag is 1, it indicates that dependent quantization is enabled and can be used for pictures referencing the SPS. If the value of sps_dep_quant_enabled_flag is 0, it indicates that dependent quantization is disabled and is not used for pictures referencing the SPS.

[0188] -no_sign_data_hiding_constraint_flag

[0189] 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 can be set to 0. On the other hand, if the value of no_sign_data_hiding_constraint_flag is 0, there is no restriction on the value of sps_sign_data_hiding_enabled_flag. In other words, the value of sps_sign_data_hiding_enabled_flag can be determined based on the parsed results of the SPS RBSP syntax.

[0190] In this case, sps_sign_data_hiding_enabled_flag is a flag indicating whether sign bit hiding for pictures referencing the SPS is enabled. For example, if the value of sps_sign_data_hiding_enabled_flag is 1, it indicates that sign bit hiding for pictures referencing the SPS is enabled and sign bit hiding can be used for pictures referencing the SPS. If the value of sps_sign_data_hiding_enabled_flag is 0, it indicates that sign bit hiding for pictures referencing the SPS is disabled and sign bit hiding is not used for pictures referencing the SPS.

[0191] Figure 12 is a diagram illustrating a sequence parameter set (SPS) RBSP syntax according to an embodiment of the present invention.

[0192] refer to Figure 12 The SPS RBSP syntax structure also includes parameter information related to high dynamic range (hdr) including sps_scaling_list_enabled_flag and an extension space for adding SPS parameters described later. Figure 12 The if clause below hrd_parameters_present_flag disclosed in may be parameter information related to HDR.

[0193] Figure 13 : is a diagram illustrating a syntax of general constraint information (GCI) according to an embodiment of the present invention. Figure 13 As illustrated in , the GCI syntax may include flags related to transform skipping and block-based delta pulse code modulation (bdpcm), and these flags may be signaled.

[0194] Will refer to Figure 11 and Figure 13 The above no_transform_skip_constraint_flag and no_bdpcm_constraint_flag are described in more detail. Figure 11 As illustrated in , the SPS RBSP syntax has a structure for signaling sps_bdpcm_enabled_flag when the value of sps_transform_skip_enabled_flag is 1. This structure means that the enabling condition for transform skipping should precede in order to indicate whether bdpcm is enabled.

[0195] Therefore, a signaling structure using the same method as the SPS RBSP syntax is also required in the GCI 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 transform skipping is therefore disabled. In this case, setting no_bdpcm_constraint_flag to 1 or 0 without any meaning is equivalent to using 1 bit. In other words, when transform skipping is enabled (sps_transform_skip_enabled_flag == 1), since the syntax element sps_bdpcm_enabled_flag indicating whether bdpcm is enabled is signaled, if the flag no_bdpcm_constraint_flag that constrains bdpcm is signaled when transform skipping is disabled, unnecessary bits are wasted.

[0196] Therefore, if Figure 13 As illustrated in , when the value of no_transform_skip_constraint_flag is 0, no_bdpcm_constraint_flag may be signaled. This can be expressed as the following Formula 2.

[0197] [Formula 2]

[0198] If(!no_transform_skip_constraint_flag)

[0199] no_bdpcm_constraint_flag

[0200] Figure 14 : is a diagram illustrating a syntax of general constraint information (GCI) according to an embodiment of the present invention. Figure 14As illustrated in , the GCI syntax may include flags related to a temporal motion vector predictor (temporal mvp) and a sub-block based temporal motion vector predictor (sbtmvp), and these flags may be signaled.

[0201] Will refer to Figure 11 and Figure 14 The above-mentioned no_temporal_mvp_constraint_flag and no_sbtmvp_constraint_flag are described in more detail. Figure 11 As shown in FIG, when the value of sps_temporal_mvp_enabled_flag is 1, the SPS RBSP syntax has a structure for signaling sps_sbtmvp_enabled_flag. This structure means that the enabling condition of the temporal motion vector predictor (temporal mvp) should be ahead in order to indicate the sub-block based temporal motion vector predictor (sbtmvp).

[0202] Therefore, as in Figure 9 As described in [ 15 ], if the value of no_temporal_mvp_constraint_flag is 1, the value of sps_temporal_mvp_enabled_flag is set to 0 and disabled, and sps_sbtmvp_enabled_flag is not signaled, and therefore no_sbtmvp_constraint_flag controlling 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, since the value of sps_temporal_mvp_enabled_flag is not constrained, sps_sbtmvp_enabled_flag can be signaled. Therefore, no_sbtmvp_flag indicating whether sps_sbtmvp_enabled_flag is enabled can be signaled. This can be expressed as the following formula 3.

[0203] Therefore, if Figure 14 As illustrated in , when the value of no_temporal_mvp_constraint_flag is 0, no_sbtmvp_constraint_flag may be signaled. This can be expressed as the following Formula 3.

[0204] [Formula 3]

[0205] If(!no_temporal_mvp_constraint_flag)

[0206] no_sbtmvp_constraint_flag

[0207] Figure 15 is a diagram illustrating the syntax of General Constraint Information (GCI). Figure 15 As illustrated in , the GCI syntax may include flags related to merge with motion vector difference (mmvd) and full pixel (fpel) mmvd using motion vector difference, and these flags may be signaled.

[0208] Will refer to Figure 11 and Figure 15 The above no_mmvd_constraint_flag and nofpel_mmvd_constraint_flag are described in more detail. Specifically, Figure 11 As shown in FIG, when the value of sps_mmvd_enabled_flag is 1, the SPSR BSP syntax has a structure for signaling sps_fpel_mmvd_enabled_flag. This structure means that it should be before the enabling condition of mmvd in order to indicate full pixel mmvd.

[0209] sps_mmvd_enabled_flag may indicate whether the merge mode using motion vector difference in inter prediction (merge with motion vector difference, mmvd) is enabled. For example, if the value of sps_mmvd_enabled_flag is 1, it indicates that the merge mode using motion vector difference is enabled and can be used for picture decoding in CLVS. If the value of sps_mmvd_enabled_flag is 0, it indicates that the merge mode using motion vector difference is disabled and is not used for picture decoding in CLVS.

[0210] Additionally, as described above, sps_fpel_mmvd_enabled_flag may indicate whether to use motion vector differences with integer sample precision when mmvd is used.

[0211] 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 can be set to 0. On the other hand, if the value of no_mmvd_constraint_flag is 0, there is no restriction on the value of sps_mmvd_enabled_flag. In other words, the value of sps_mmvd_enabled_flag can be determined based on the parsing result of the SPS RBSP syntax.

[0212] Therefore, if the value of no_mmvd_constraint_flag is 1, the value of sps_mmvd_enabled_flag is set to 0 and disabled, and sps_fpel_mmvd_enabled_flag is not signaled, and therefore nofpel_mmvd_constraint_flag that 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, since the value of sps_mmvd_enabled_flag is not constrained, sps_fpel_mmvd_enabled_flag can be signaled. Therefore, nofpel_mmvd_constraint_flag indicating whether sps_fpel_mmvd_enabled_flag is enabled can be signaled. This can be expressed as the following formula 4.

[0213] [Formula 4]

[0214] If(!no_mmvd_constraint_flag)

[0215] no_fpel_mmvd_constraint_flag

[0216] Figure 16 is a diagram illustrating the syntax of General Constraint Information (GCI). Figure 16As shown in FIG, the GCI syntax may include flags related to affine model-based motion compensation and these flags may be signaled. As examples of flags related to affine model-based motion compensation, there may be sps_affine_enabled_flag, sps_affine_type_flag, sps_affine_amvr_enabled_flag, sps_affine_prof_enabled_flag, etc.

[0217] Specifically, if Figure 11 , when the value of sps_affine_enabled_flag is 1, the SPS RBSP syntax has a structure for signaling sps_affine_type_flag, sps_affine_amvr_enabled_flag, and sps_affine_prof_enabled_flag. This structure means that for signaling sps_affine_type_flag, sps_affine_amvr_enabled_flag, and sps_affine_prof_enabled_flag, the enabling condition of affine model-based motion compensation should be first.

[0218] sps_affine_type_flag is a flag indicating whether motion compensation based on an affine model using six parameters is used. If the value of sps_affine_type_flag is 0, motion compensation based on an affine model using six parameters is not used. If the value of sps_affine_type_flag is 1, it indicates that motion compensation based on an affine model using six parameters can be used.

[0219] sps_affine_amvr_enabled_flag is a flag indicating whether adaptive motion vector resolution used for affine model-based motion compensation is used.

[0220] sps_affine_prof_enabled_flag is a flag indicating whether correction of applying optical flow to affine model-based motion compensation is performed.

[0221] Therefore, if Figure 9As illustrated in , if the value of the flag is 1, the value of sps_affine_enabled_flag is set to 0 and is disabled, and sps_affine_type_flag, sps_affine_amvr_enabled_flag, and sps_affine_prof_enabled_flag are not signaled, and thus no_affine_type_constraint_flag, no_affine_amvr_constraint_flag, and no_affine_prof_constraint_flag for respectively controlling sps_affine_type_flag, sps_affine_amvr_enabled_flag, and sps_affine_prof_enabled_flag do not need to be signaled. On the other hand, if the value of no_affine_motion_constraint_flag is 0, since the value of sps_affine_enabled_flag is not constrained, sps_affine_type_flag, sps_affine_amvr_enabled_flag, and sps_affine_prof_enabled_flag may be signaled. Therefore, no_affine_type_constraint_flag, no_affine_amvr_constraint_flag, and no_affine_prof_constraint_flag may be signaled to indicate whether sps_affine_type_flag, sps_affine_amvr_enabled_flag, and sps_affine_prof_enabled_flag are signaled. This can be expressed as the following formula 5.

[0222] [Formula 5]

[0223] If(!no_affine_motion_constraint_flag){

[0224] no_affine_type_constraint_flag

[0225] no_affine_amvr_constraint_flag

[0226] no_affine_prof_constraint_flag

[0227] }

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

[0229] Figure 17 (a) is a diagram indicating the syntax of a slice header, and Figure 17 (b) is a diagram illustrating the syntax of General Constraint Information (GCI). Figure 17 (b) The GCI syntax may include flags related to dependency quantization and flags related to symbolic data hiding, and these flags may be signaled. Figure 17 (a) is a diagram illustrating a structure for signaling a flag dep_quant_enabled_flag related to dependency quantization and a flag sign_data_hiding_enabled_flag related to sign data hiding in a slice header syntax. Figure 17 As shown in (a), sign_data_hiding_enabled_flag can be signaled only when dep_quant_enabled_flag is disabled (not used).

[0230] Therefore, if Figure 9 As described above, if the value of no_dep_quant_constraint_flag is 1, the value of dep_quant_enabled_flag is set to 0 and disabled, and the sign_data_hiding_enabled_flag can be signaled. If the value of no_dep_quant_constraint_flag is 0, since the value of dep_quant_enabled_flag is not constrained, it is necessary to signal no_sign_data_hiding_constraint_flag to indicate whether the sign_data_hiding_enabled_flag is enabled. This can be expressed as the following formula 6. The above-mentioned sps_dep_quant_enabled_flag can be the same as dep_quant_enabled_flag, and sps_sign_data_hiding_enabled_flag can be the same as sign_data_hiding_enabled_flag.

[0231] [Formula 6]

[0232] If(!no__dep_quant_constraint_flag)

[0233] no_sign_data_hiding_constraint_flag

[0234] Figure 18 is a diagram illustrating the syntax of General Constraint Information (GCI). Figure 18 As shown in FIG, the GCI syntax may include flags related to multiple transform sets (mts), and these flags may be signaled. As examples of flags related to multiple transform sets, there may be sps_mts_enabled_flag, sps_explicit_mts_intra_enabled_flag, sps_explicit_mts_inter_enabled_flag, etc.

[0235] Will refer to Figure 11 and Figure 18 The above-mentioned no_mts_constraint_flag, sps_explicit_mts_intra_enabled_flag, and sps_explicit_mts_inter_enabled_flag are described in more detail. When the value of sps_mts_enabled_flag is 1, the SPS RBSP syntax has a structure for signaling sps_explicit_mts_intra_enabled_flag and sps_explicit_mts_inter_enabled_flag. For example, if the value of sps_mts_enabled_flag is 0, only DCT2-DCT2 can be used as a transform kernel. If the value of sps_mts_enabled_flag is 1, it indicates that a kernel other than DCT2 is 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, multiple transform sets as well as multiple transform sets of intra mode may be implicitly indicated, and multiple transform sets of inter mode may also be separately indicated.

[0236] Therefore, if Figure 9As described in [ ], when the value of no_mts_constraint_flag is 1, the value of sps_mts_enabled_flag is set to 0 and disabled, 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, since the value of sps_mts_enabled_flag is not constrained, sps_explicit_mts_intra_enabled_flag and sps_explicit_mts_inter_enabled_flag can be signaled. This can be expressed by the following formula 7.

[0237] [Formula 7]

[0238] If(!no_mts_constraint_flag){

[0239] sps_explicit_mts_intra_enabled_flag

[0240] sps_explicit_mts_inter_enabled_flag

[0241] }

[0242] Figure 19 : is a diagram illustrating a syntax of general constraint information (GCI) according to an embodiment of the present invention. Figure 19 As shown in the figure, control and Figure 11 Some of the tool / function related syntax elements defined in the sequence parameter set (SPS) RBSP syntax illustrated in FIG can be added to the GCI syntax to extend the functionality. The syntax elements to be added are as follows.

[0243] -no_smvd_constraint_flag

[0244] 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 can be set to 0. On the other hand, if the value of no_smvd_constraint_flag is 0, there is no restriction on the value of sps_smvd_enabled_flag. In other words, the value of sps_smvd_enabled_flag can be determined based on the parsing results of the SPS RBSP syntax.

[0245] In this case, sps_smvd_enabled_flag is a flag indicating whether the symmetric motion vector difference is enabled for decoding pictures in CLVS. For example, if the value of sps_smvd_enabled_flag is 1, it indicates that the symmetric motion vector difference is enabled for decoding pictures in CLVS, and the symmetric motion vector difference can be used for decoding pictures in CLVS. If the value of sps_smvd_enabled_flag is 0, it indicates that the symmetric motion vector difference is disabled for decoding pictures in CLVS, and the symmetric motion vector difference is not used for decoding pictures in CLVS.

[0246] -no_isp_constraint_flag

[0247] 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 can be set to 0. On the other hand, if the value of no_isp_constraint_flag is 0, there is no restriction on the value of sps_isp_enabled_flag. In other words, the value of sps_isp_enabled_flag can be determined based on the parsed results of the SPS RBSP syntax.

[0248] In this case, sps_isp_enabled_flag is a flag indicating whether the intra prediction of the sub-partition used for decoding the picture in the CLVS is enabled. For example, if the value of sps_isp_enabled_flag is 1, it indicates that the intra prediction of the sub-partition used for decoding the picture in the CLVS is enabled, and the intra prediction of the sub-partition used for decoding the picture in the CLVS can be used. If the value of sps_isp_enabled_flag is 0, it indicates that the intra prediction of the sub-partition used for decoding the picture in the CLVS is disabled, and the intra prediction of the sub-partition used for decoding the picture in the CLVS is not used.

[0249] -no_mrl_constraint_flag

[0250] 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 can be set to 0. On the other hand, if the value of no_mrl_constraint_flag is 0, there is no restriction on the value of sps_mrl_enabled_flag. In other words, the value of sps_mrl_enabled_flag can be determined based on the parsing result of the SPS RBSP syntax.

[0251] In this case, sps_mrl_enabled_flag is a flag indicating whether intra prediction using multiple reference lines for decoding pictures in CLVS is enabled. For example, if the value of sps_mrl_enabled_flag is 1, it indicates that intra prediction using multiple reference lines for decoding pictures in CLVS is enabled, and intra prediction using multiple reference lines for decoding pictures in CLVS is used. If the value of sps_mrl_enabled_flag is 0, it indicates that intra prediction using multiple reference lines for decoding pictures in CLVS is disabled, and intra prediction using multiple reference lines for decoding pictures in CLVS is not used.

[0252] -no_mip_constraint_flag

[0253] 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 can be set to 0. On the other hand, if the value of no_mip_constraint_flag is 0, there is no restriction on the value of sps_mip_enabled_flag. In other words, the value of sps_mip_enabled_flag can be determined based on the parsed results of the SPS RBSP syntax.

[0254] In this case, sps_mip_enabled_flag is a flag indicating whether matrix-based intra prediction is enabled for decoding pictures in CLVS. For example, if the value of sps_mip_enabled_flag is 1, it indicates that matrix-based intra prediction is enabled for decoding pictures in CLVS, and matrix-based intra prediction can be used for decoding pictures in CLVS. If the value of sps_mip_enabled_flag is 0, it indicates that matrix-based intra prediction is disabled for decoding pictures in CLVS, and matrix-based intra prediction is not used for decoding pictures in CLVS.

[0255] -no_lfnst_constraint_flag

[0256] 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 can be set to 0. On the other hand, if the value of no_lfnst_constraint_flag is 0, there is no restriction on the value of sps_lfnst_enabled_flag. In other words, the value of sps_lfnst_enabled_flag can be determined based on the parsing result of the SPS RBSP syntax.

[0257] In this case, sps_lfnst_enabled_flag is a flag indicating whether lfnst_idx exists in the intra coding unit syntax. For example, if the value of sps_lfnst_enabled_flag is 1, it indicates that lfnst_idx can exist in the intra coding unit syntax. If the value of sps_lfnst_enabled_flag is 0, it indicates that lfnst_idx does not exist in the intra coding unit syntax.

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

[0259] -no_lmcs_constraint_flag

[0260] 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 can be set to 0. On the other hand, if the value of no_lmcs_constraint_flag is 0, there is no restriction on the value of sps_lmcs_enabled_flag. In other words, the value of sps_lmcs_enabled_flag can be determined based on the parsing results of the SPS RBSP syntax.

[0261] In this case, sps_lmcs_enabled_flag is a flag indicating whether chroma scaling and luma mapping are enabled for decoding pictures in CLVS. For example, if the value of sps_lmcs_enabled_flag is 1, it indicates that chroma scaling and luma mapping are enabled for decoding pictures in CLVS, and chroma scaling and luma mapping can be used for decoding pictures in CLVS. If the value of sps_lmcs_enabled_flag is 0, it indicates that chroma scaling and luma mapping are disabled for decoding pictures in CLVS, and chroma scaling and luma mapping are not used for decoding pictures in CLVS.

[0262] -no_palette_constraint_flag

[0263] 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 can be set to 0. On the other hand, if the value of no_palette_constraint_flag is 0, there is no restriction on the value of sps_palette_enabled_flag. In other words, the value of sps_palette_enabled_flag can be determined based on the parsing results of the SPS RBSP syntax.

[0264] In this case, sps_palette_enabled_flag is a flag indicating whether pred_mode_plt_flag exists in the coding unit syntax of CLVS. For example, if the value of sps_palette_enabled_flag is 1, it indicates that pred_mode_plt_flag can exist in the coding unit syntax of CLVS. If the value of sps_palette_enabled_flag is 0, it indicates that pred_mode_plt_flag does not exist in the coding unit syntax of CLVS.

[0265] In this case, pred_mode_plt_flag is a flag indicating whether the palette mode is applied to the current coding unit.

[0266] More specifically, referring to no_palette_constraint_flag, in order to signal no_palette_constraint_flag, the variable value of chroma_format_idc should be obtained in advance. Chroma_format_idc indicates the chroma samples relative to the luma samples. Therefore, it is necessary to include the syntax element chroma_format_idc in "general_constraint_info()" which is the GCI syntax. In this case, it is a necessary structure in the DPS syntax and the VPS syntax. In another case, when the GCI syntax is included in the profile_tier_level syntax included in the SPS syntax, the GCI syntax included in the profile_tier_level syntax can be parsed, and then the chroma_format_idc syntax element can be parsed again, and thus chroma_format_idc can be redundantly called. In other words, the GCI syntax included in the DPS syntax or the VPS syntax includes chroma_format_idc, and chroma_format_idc is included in the GCI syntax included in the profile_tier_level syntax, and thus chroma_format_idc can be redundantly parsed. To this end, when the GCI syntax is included in the profile level syntax, the chroma_format_idx syntax element may not be signaled. Alternatively, in a system where the decoder always parses the GCI syntax, the chroma_format_idc syntax element may be configured not to be included in the SPS RBSP syntax.

[0267] exist Figure 19Each constraint flag described in can control the SPS enable flag sps_x_enabled_flag corresponding to the constraint flag no_x_constraint_flag.

[0268] Figure 20 : is a diagram illustrating a syntax of general constraint information (GCI) according to an embodiment of the present invention. Figure 20 As shown in FIG, the GCI syntax may include syntax elements related to ccm. Figure 20 , which will be described in more detail with reference to Figure 9 Description of no_cclm_constraint_flag.

[0269] When the value of the variable ChromaArrayType is not equal to 0 (ChromaArrayType!=0), no_cclm_constraint_flag can be signaled. ChromaArrayType is used to specify the format values ​​of the luminance and chrominance components of the decoded video data. As mentioned above, no_cclm_constraint_flag can be used to control sps_cclm_enabled_flag.

[0270] 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 used to control sps_cclm_colocated_chroma_flag.

[0271] As above Figure 9 As described in

[0066] , sps_cclm_enabled_flag is a flag indicating whether cross-component linear model intra prediction from luma components to chroma components is enabled for decoding pictures in CLVS.

[0272] sps_cclm_colocated_chroma_flag is a flag that indicates whether the left and right top and bottom sampled luma samples in cross-component linear model intra prediction are in the same position as the top left luma sample or a specified different position. In order to signal sps_cclm_colocated_chroma_flag, information about the variable ChromaArrayType is required. The value of the variable ChromaArrayType can 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 can be defined to be included in the SPS RBSP syntax.

[0273] separate_colour_plane_flag is a flag indicating whether the three separate components Y, Cb, and Cr are to be separately coded when coding a picture.

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

[0275] In the following, reference will be made to Figure 21 Describe the reference in more detail Figure 19 The syntax element no_palette_constraint_flag is described. Figure 11 As shown in , if the value of chroma_format_idc is 3 (chroma_format_idc == 3), sps_palette_enabled_flag may be transmitted.

[0276] sps_palette_enabled_flag, which is related to whether the palette mode can be applied to the current coding unit, can be included in the SPS RBSP syntax as a syntax element controlled by no_palette_constraint_flag. The palette mode is a method of mapping actual pixel values ​​to index values ​​of a table after color information is pre-configured in a table. If the value of chroma_format_idc is equal to 3, the chroma format can be 4:4:4. When parsing the GCI syntax, the syntax elements included in the GCI syntax can individually control the functions related to the corresponding syntax elements. As shown in Figure 19In the GCI syntax, a no_palette_constraint_flag corresponding to sps_palette_enabled_flag, that is, a flag that controls sps_palette_enabled_flag, may be included in the GCI syntax. As described above, if 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. That is, even if sps_palette_enabled_flag is set to 1 and enabled, 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 thus a decoding operation may be performed. In addition, a condition for allowing the sps_palette_enabled_flag to be signaled or parsed may be a case where the value of chroma_format_idc is 3 (chroma_format_idc == 3).

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

[0278] like Figure 22 As shown in , palette coding syntax can 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. If the current block is not an ibc coded block and sps_plt_enabled_flag is true (if its value is 1), pred_mode_plt_flag can be signaled / parsed. In this case, sps_plt_enabled_flag is not used with Figure 9 The palette mode is a method of mapping actual pixel values ​​to index values ​​of a table after configuring color information into a table in advance, and is different from the general intra prediction method. Figure 19As illustrated in , when the value of chroma_format_idc is 3 (in case of chroma_format_idc == 3), that is, when the chroma format is 4:4:4, sps_plt_enabled_flag may be signaled / parsed.

[0279] Figure 23 is a diagram illustrating a positional relationship of most probable modes (MPMs) required for deriving intra prediction modes according to an embodiment of the present invention.

[0280] Can be based on Figure 23 The MPM is derived by the brightness prediction mode of the L position and A position around the current coding block. When the palette mode is enabled, the blocks coded in the palette mode can exist in the neighboring blocks of the current coding block. Figure 23 As shown in FIG, when the value of pred_mode_plt_flag of the neighboring block at position A is equal to 1, the neighboring block at position A means a block coded in palette mode. At the same time, because the neighboring block at position A is not a block coded in general prediction mode, there may not be a stored intra-frame prediction mode value. In this case, the intra-frame prediction mode value can be set to a preset prediction mode. For example, the preset prediction mode can be a planar mode. However, the present invention is not limited to this, and can be set to any one of direct current (DC), vertical, horizontal, and angle modes.

[0281] Hereinafter, an embodiment of MPM (IntraPredModeY[xCb][yCb]) derivation will be described.

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

[0283] - If the value of BdpcmFlag[xCb][yCb] is 1, IntraPredModeY[xCb][yCb] may be set as in Formula 8 below.

[0284] [Formula 8]

[0285] BdpcmDir[xCb][yCb]? INTRA_ANGULAR50: INTRA_ANGULAR18.

[0286] – If the value of intra_luma_not_planar_flag[xCb][yCb] is 1, the mode of intra_luma_not_planar_flag[xCb][yCb] can be set according to the steps described later.

[0287] (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. In this case, 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.

[0288] (Step 2) When X is replaced with A or B, candIntraPredModeX can be set according to the steps described later.

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

[0290] (Step 2-2) Candidates of the intra prediction mode, candIntraPredModeX, can be set as follows.

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

[0292] (Condition 1) The variable availableX is set to false.

[0293] (Condition 2) CuPredMode[xNbX][yNbX] is not set to intra mode

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

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

[0296] (Condition 5) X is equal to B, and yCb-1 is less than ((yCb>>CtbLog2SizeY)< <CtbLog2SizeY)。

[0297] (Step 2-2-2) Otherwise, candIntraPredModeX may be set equal to IntraPredModeY[xNbX][yNbX].

[0298] Figure 24is a diagram illustrating a relationship with a corresponding luma block required for deriving a chroma DM mode according to an embodiment of the present invention. Figure 24 (a) is a diagram illustrating segmentation of a luminance block having a dual-tree structure, and Figure 24 (b) is a diagram illustrating the partitioning of chroma blocks with a dual-tree structure. Figure 24 (a) and Figure 24 (b), the partitioning of the luminance block and the chrominance block with the dual tree structure can be performed differently. In the case of the chrominance format 4:4:4, the samples are configured with luminance and chrominance in a 1:1 ratio. Therefore, the luminance block and the chrominance block have the same block size. For example, with Figure 24 The luminance block corresponding to the block A in the chrominance block structure (a) may be the block corresponding to Figure 24 (a) Block of A. Figure 24 (a) and Figure 24 The width x length of block A in (b) is W / 2x H. In the dual tree structure, the prediction method for chrominance and the prediction method for luminance may be different. When the prediction method for chrominance is to use the intra-frame prediction mode DM mode of luminance as it is, the chrominance mode signaling may be determined based on the luminance mode of the preset position of the corresponding luminance block. In this case, the preset 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 luminance. cbWidth and cbHeight mean the width and height of the corresponding luminance. Therefore, if the pred_mode_plt_flag value is in the range corresponding to Figure 24 The preset position of position C in the luma block of (a) is 1, and the chroma block prediction method can be set to a preset mode. In this case, the preset mode can be any one of planar, DC, vertical, horizontal, and angle modes.

[0299] Hereinafter, the DM mode derivation process of the chroma block will be described. In addition, the position of the block for checking the mip flag and the ibc flag can be set to a preset [xCb+cbWidth / 2][yCb+cbHeight / 2].

[0300] Chroma prediction mode IntraPredModeC[xCb][yCb] export process:

[0301] The variable CclmEnabled may be derived by calling the cross-component chroma intra prediction check process with the luma position (xCb, yCb) as input.

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

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

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

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

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

[0307] Although this specification has been described primarily in terms of a decoder, it can also operate in an encoder. Although the term parsing in this specification has been described as focusing on the process of obtaining information from a bitstream, from the perspective of an encoder, it can be interpreted as configuring the corresponding information in the bitstream. Therefore, the term parsing is not limited to decoder operation, and can also be understood as the act of configuring a bitstream in an encoder. That is, the encoder can obtain the flags (syntax elements) included in the above-mentioned GCI syntax and configure a bitstream including the flags. In addition, the bitstream can be configured by storing the bitstream in a computer-readable recording medium.

[0308] The above-mentioned embodiments of the present invention may be implemented by various means, for example, by hardware, firmware, software or a combination thereof.

[0309] For the case of implementation through hardware, the method according to the embodiment of the present invention can be implemented by one or more of an application-specific integrated circuit (ASIC), a digital signal processor (DSP), a digital signal processing device (DSPD), a programmable logic device (PLD), a field programmable gate array (FPGA), a processor, a controller, a microcontroller, a microprocessor, etc.

[0310] In the case of implementation by firmware or software, the method according to the embodiment of the present invention can be implemented in the form of a module, process or function that performs the above-mentioned functions or operations. The software code can be stored in a memory and driven by a processor. The memory can be located inside or outside the processor and can exchange data with the processor through various known methods.

[0311] Certain embodiments may also be implemented in the form of a recording medium including computer-executable instructions, such as a program module executed by a computer. Computer-readable media can be any available media that can be accessed by a computer, and can include all volatile, non-volatile, removable and non-removable media. In addition, computer-readable media may include computer storage media and communication media. Computer storage media includes all volatile, non-volatile, removable and non-removable media implemented in any method or technology for storing information such as computer-readable instructions, data structures, program modules or other data. Typically, communication media includes computer-readable instructions, other data (such as data structures or program modules) modulated data signals or other transmission mechanisms, and includes any information transmission media.

[0312] The above description of the present invention is for illustrative purposes only, and it will be understood that those skilled in the art to which the present invention pertains may make changes to the present invention without changing the technical concept or essential features of the present invention, and that the present invention may be easily modified in other specific forms. Therefore, the above embodiments are illustrative and not limiting in all respects. For example, each component described as a single entity may be distributed and implemented, and similarly, components described as distributed may also be implemented in an associated manner.

[0313] The scope of the present invention is defined by the appended claims rather than the detailed description above, and all changes or modifications derived from the meaning and scope of the appended claims and their equivalents should be construed as being included in the scope of the present invention.

Claims

1. A video signal decoding device, comprising a processor, in, The processor is configured to: Decoding a General Constraint Information (GCI) syntax included in a bitstream of a video signal, decoding the bitstream based on a result of decoding the GCI syntax, wherein 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, The DPS RBSP syntax and the VPS RBSP syntax are higher-level syntaxes of the GCI syntax and include syntax elements for video decoding, wherein the SPS RBSP syntax is a higher-level syntax of the GCI syntax and includes syntax elements related to a sequence as a picture set, The GCI syntax includes a first GCI syntax element for configuring a value of a first SPS syntax element included in the SPS RBSP syntax, the first SPS syntax element indicating whether palette mode is enabled, and When 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.

2. The video signal decoding device according to claim 1, in, The GCI syntax includes a second GCI syntax element for configuring a value of a second SPS syntax element included in the SPS RBSP syntax, the second SPS syntax element indicating whether intra prediction with multiple reference lines is enabled, and When 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 the intra prediction with multiple reference lines is disabled.

3. The video signal decoding device according to claim 1, in, The GCI syntax includes a third GCI syntax element for configuring a value of a third SPS syntax element included in the SPS RBSP syntax, the third SPS syntax element indicating whether intra prediction with subpartitions is enabled, and When the value of the third GCI syntax element is 1, the value of the third SPS syntax element is set to 0, which is a value indicating that the intra prediction with sub-partitions is disabled.

4. The video signal decoding device according to claim 1, in, The GCI syntax includes a fourth GCI syntax element for configuring a value of a fourth SPS syntax element included in the SPS RBSP syntax, the fourth SPS syntax element indicating whether matrix-based intra prediction is enabled, and When the value of the fourth GCI syntax element is 1, the value of the fourth SPS syntax element is set to 0, which is a value indicating that the matrix-based intra prediction is disabled.

5. The video signal decoding device according to claim 1, in, The GCI syntax includes a fifth GCI syntax element for configuring a value of a fifth SPS syntax element included in the SPS RBSP syntax, the fifth SPS syntax element indicating whether a low-frequency non-separable transform is enabled, and When the value of the fifth GCI syntax element is 1, the value of the fifth SPS syntax element is set to 0, which is a value indicating that low-frequency inseparable transform is disabled.

6. The video signal decoding device according to claim 1, in, The GCI syntax includes a sixth GCI syntax element for configuring a value of a sixth SPS syntax element included in the SPS RBSP syntax, the sixth SPS syntax element indicating whether merge mode with motion vector difference is enabled, and When the value of the sixth GCI syntax element is 1, the value of the sixth SPS syntax element is set to 0, which is a value indicating that the merge mode with motion vector difference is disabled.

7. The video signal decoding device according to claim 1, in, The GCI syntax includes a seventh GCI syntax element for configuring a value of a seventh SPS syntax element included in the SPS RBSP syntax, the seventh SPS syntax indicating whether symmetric motion vector difference is enabled, and When the value of the seventh GCI syntax element is 1, the value of the seventh SPS syntax element is set to 0, which is a value indicating that the symmetric motion vector difference is disabled.

8. The video signal decoding device according to claim 1, in, The GCI syntax includes an eighth GCI syntax element that configures a value of an eighth SPS syntax element included in the SPS RBSP syntax, the eighth SPS syntax element indicating whether luma mapping with chroma scaling is enabled, and When the value of the eighth GCI syntax element is 1, the value of the eighth SPS syntax element is set to 0, which is a value indicating that the luma mapping with chroma scaling is disabled.

9. A video signal encoding device comprising a processor, in, The processor is configured to: Get the General Constraint Information (GCI) syntax, and encoding a bitstream including the GCI syntax, and wherein 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, The DPS RBSP syntax and the VPS RBSP syntax are higher-level syntaxes of the GCI syntax and include syntax elements for video decoding, wherein the SPS RBSP syntax is a higher-level syntax of the GCI syntax and includes syntax elements related to a sequence as a picture set, wherein the GCI syntax includes a first GCI syntax element for configuring a value of a first SPS syntax element included in the SPS RBSP syntax, the first SPS syntax element indicating whether palette mode is enabled, and When 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.

10. The video signal encoding device according to claim 9, in, The GCI syntax includes a second GCI syntax element for configuring a value of a second SPS syntax element included in the SPS RBSP syntax, the second SPS syntax element indicating whether intra prediction with multiple reference lines is enabled, and When 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 the intra prediction with multiple reference lines is disabled.

11. The video signal encoding device according to claim 9, in, The GCI syntax includes a third GCI syntax element for configuring a value of a third SPS syntax element included in the SPS RBSP syntax, the third SPS syntax element indicating whether intra prediction with subpartitions is enabled, and When the value of the third GCI syntax element is 1, the value of the third SPS syntax element is set to 0, which is a value indicating that the intra prediction with sub-partitions is disabled.

12. The video signal encoding device according to claim 9, in, The GCI syntax includes a fourth GCI syntax element for configuring a value of a fourth SPS syntax element included in the SPS RBSP syntax, the fourth SPS syntax element indicating whether matrix-based intra prediction is enabled, and When the value of the fourth GCI syntax element is 1, the value of the fourth SPS syntax element is set to 0, which is a value indicating that the matrix-based intra prediction is disabled.

13. The video signal encoding device according to claim 9, in, The GCI syntax includes a fifth GCI syntax element for configuring a value of a fifth SPS syntax element included in the SPS RBSP syntax, the fifth SPS syntax element indicating whether a low-frequency non-separable transform is enabled, and When the value of the fifth GCI syntax element is 1, the value of the fifth SPS syntax element is set to 0, which is a value indicating that low-frequency inseparable transform is disabled.

14. The video signal encoding device according to claim 9, in, The GCI syntax includes a sixth GCI syntax element for configuring a value of a sixth SPS syntax element included in the SPS RBSP syntax, the sixth SPS syntax element indicating whether merge mode with motion vector difference is enabled, and When the value of the sixth GCI syntax element is 1, the value of the sixth SPS syntax element is set to 0, which is a value indicating that the merge mode with motion vector difference is disabled.

15. The video signal encoding device according to claim 9, in, The GCI syntax includes a seventh GCI syntax element for configuring a value of a seventh SPS syntax element included in the SPS RBSP syntax, the seventh SPS syntax element indicating whether symmetric motion vector difference is enabled, and When the value of the seventh GCI syntax element is 1, the value of the seventh SPS syntax element is set to 0, which is a value indicating that the symmetric motion vector difference is disabled.

16. The video signal encoding device according to claim 9, in, The GCI syntax includes an eighth GCI syntax element that configures a value of an eighth SPS syntax element included in the SPS RBSP syntax, the eighth SPS syntax element indicating whether luma mapping with chroma scaling is enabled, and When the value of the eighth GCI syntax element is 1, the value of the eighth SPS syntax element is set to 0, which is a value indicating that the luma mapping with chroma scaling is disabled.

17. A method for obtaining a bitstream, the method comprising: Get the General Constraint Information (GCI) syntax; as well as A bitstream is obtained by encoding the GCI syntax, and wherein 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, The DPS RBSP syntax and the VPS RBSP syntax are higher-level syntaxes of the GCI syntax and include syntax elements for video decoding, wherein the SPS RBSP syntax is a higher-level syntax of the GCI syntax and includes syntax elements related to a sequence as a picture set, wherein the GCI syntax includes a first GCI syntax element for configuring a value of a first SPS syntax element included in the SPS RBSP syntax, the first SPS syntax element indicating whether palette mode is enabled, and When 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.

18. The method according to claim 17, in, The GCI syntax includes a second GCI syntax element for configuring a value of a second SPS syntax element included in the SPS RBSP syntax, the second SPS syntax element indicating whether intra prediction with multiple reference lines is enabled, and When 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 the intra prediction with multiple reference lines is disabled.

19. The method according to claim 17, in, The GCI syntax includes a third GCI syntax element for configuring a value of a third SPS syntax element included in the SPS RBSP syntax, the third SPS syntax element indicating whether intra prediction with subpartitions is enabled, and When the value of the third GCI syntax element is 1, the value of the third SPS syntax element is set to 0, which is a value indicating that the intra prediction with sub-partitions is disabled.

20. The method according to claim 17, in, The GCI syntax includes a fourth GCI syntax element for configuring a value of a fourth SPS syntax element included in the SPS RBSP syntax, the fourth SPS syntax element indicating whether matrix-based intra prediction is enabled, and When the value of the fourth GCI syntax element is 1, the value of the fourth SPS syntax element is set to 0, which is a value indicating that the matrix-based intra prediction is disabled.

21. A method for processing a video signal, the method comprising: Decoding a General Constraint Information (GCI) syntax included in a bitstream of a video signal, decoding the bitstream based on a result of decoding the GCI syntax, wherein 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, The DPS RBSP syntax and the VPS RBSP syntax are higher-level syntaxes of the GCI syntax and include syntax elements for video decoding, wherein the SPS RBSP syntax is a higher-level syntax of the GCI syntax and includes syntax elements related to a sequence as a picture set, The GCI syntax includes a first GCI syntax element for configuring a value of a first SPS syntax element included in the SPS RBSP syntax, the first SPS syntax element indicating whether palette mode is enabled, and When 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.