Video signal processing method and device

The video signal processing method optimizes coding efficiency by using GCI syntax to manage encoding techniques, addressing inefficiencies in existing methods and improving compression and decoding performance.

JP2025010444AActive Publication Date: 2025-01-20WILUS INSTITUTE OF STANDARDS & TECHNOLOGY INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2024194447
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2019-07-22
Filing Date
2024-11-06
Publication Date
2025-01-20
Estimated Expiration
2040-07-20

AI Technical Summary

Technical Problem

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

Method used

A video signal processing method that utilizes General Constraint Information (GCI) syntax to control the use of specific encoding techniques such as intra prediction, transform types, and motion vector methods, thereby optimizing the encoding process.

Benefits of technology

Enhances coding efficiency by selectively disabling or enabling certain encoding techniques based on GCI syntax, leading to improved compression and decoding performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025010444000001_ABST
    Figure 2025010444000001_ABST
Patent Text Reader

Abstract

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

Description

[Technical field]

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

[0002] Compression coding refers to a series of signal processing techniques for transmitting digitized information via a communication line or storing it in a form suitable for a storage medium. The objects of compression coding include voice, video, text, etc., and the technology for compressing and coding video in particular is called video compression. Compression coding of video signals is performed by removing redundant information by considering spatial correlation, temporal correlation, probabilistic correlation, etc. However, with the recent development of various media and data transmission media, there is a demand for more efficient video signal processing methods and devices. Summary of the Invention [Problem to be solved by the invention]

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

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

[0005] This specification provides a method for processing a video signal utilizing a quadratic transformation.

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

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

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

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

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

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

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

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

[0014] In the present specification, a video signal encoding apparatus includes a processor, and the processor acquires a general constraint information (GCI) syntax and encodes a bitstream including the GCI syntax, and the GCI syntax is included in at least one of a decoding parameter set (DPS) RBSP (Raw Byte Sequence Payload) syntax, a sequence parameter set (SPS) RBSP syntax, and a video parameter set (VPS) RBSP syntax, and the DPS RBSP syntax and the VPS RBSP syntax are upper level syntaxes of the GCI syntax and include syntax elements for video decoding, and the SPS RBSP syntax is an upper level syntax of the GCI syntax and includes syntax elements related to a sequence, which is a set of pictures, and the GCI syntax includes a palette mode (palette mode) included in the SPS RBSP syntax. In accordance with another aspect of the present invention, the present invention further includes a GCI syntax element that sets a value of an SPS syntax element indicating whether or not a palette mode (palette mode) is used, and if the value of the GCI syntax element is 1, the value of the SPS syntax element is set to 0, which is a value indicating that the palette mode is not used.

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

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

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

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

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

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

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

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

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

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

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

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

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

[0028] The terms used in this specification are selected from currently widely used general terms as much as possible while taking into consideration the functions in the present invention, but this may vary depending on the intentions of the engineers in this field, customs, or the emergence of new technologies. In addition, in certain cases, the applicant may arbitrarily select terms, and in this case, the meanings of the terms will be described in the corresponding embodiment of the invention. Therefore, it is made clear that the terms used in this specification should be interpreted based on the substantial meanings of the terms and the contents of this specification as a whole, rather than simply the names of the terms.

[0029] In this specification, some terms are interpreted as follows. Coding may be interpreted as encoding or decoding depending on the circumstances. In this specification, an apparatus for encoding a video signal to generate a video signal bitstream is referred to as an encoding apparatus or encoder, and an apparatus for decoding a video signal bitstream to restore a video signal is referred to as a decoding apparatus or decoder. In this specification, a video signal processing apparatus is used as a term including both an encoder and a decoder. Information is a term including values, parameters, coefficients, elements, etc., and may be interpreted differently depending on the circumstances, so the present invention is not limited thereto. A 'unit' is used to mean a basic unit of image processing or a specific position of a picture, and refers to an image area including at least one of a luma component and a chroma component. In addition, a 'block' refers to an image area including a specific component of a luminance component and a chrominance component (i.e., Cb and Cr). However, depending on the embodiment, the terms 'unit', 'block', 'partition', and 'area' may be used interchangeably. In this specification, a unit is used as a concept including a coding unit, a prediction unit, and a transform unit, and a picture refers to a field or a frame, and the terms are used interchangeably depending on the embodiment.

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

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

[0032] In order to improve coding efficiency, instead of coding the picture signal as it is, a method is used in which a picture is predicted using a pre-coded area through the prediction unit 150, and a residual value between the original picture and the predicted picture is added to the predicted picture to obtain a reconstructed picture. In order to prevent mismatch between the encoder and the decoder, when the encoder performs prediction, information that can also be used by the decoder should be used. For this purpose, the encoder performs a process of further reconstructing the current block that has been coded. The inverse quantization unit 120 inversely quantizes the transform coefficient values, and the inverse transform unit 125 reconstructs the residual values ​​using the inversely quantized transform coefficient values. Meanwhile, the filtering unit 130 performs a filtering operation to improve the quality of the reconstructed picture and the coding efficiency. For example, the filtering unit 130 may include a deblocking filter, a sample adaptive offset (SAO), an adaptive loop filter, and the like. The filtered picture is stored in a decoded picture buffer (DPB) 156 to be output or used as a reference picture.

[0033] In order to improve coding efficiency, a method is used in which a picture signal is not coded as it is, but a picture is predicted using an already coded area in the prediction unit 150, and a residual value between the original picture and the predicted picture is added to the predicted picture to obtain a restored picture. The intra prediction unit 152 performs intra prediction within the current picture, and the inter prediction unit 154 predicts the current picture using a reference picture stored in the decoded picture buffer 156. The intra prediction unit 152 performs intra prediction from a restored area in the current picture, and transmits intra coding information to the entropy coding unit 160. The inter prediction unit 154 may further include a motion estimation unit 154a and a motion compensation unit 154b. The motion estimation unit 154a obtains a motion vector value of the current area by referring to a specific restored area. The motion estimation unit 154a transmits position information (reference frame, motion vector, etc.) of the reference area to the entropy coding unit 160 so that it can be included in the bitstream. Using the motion vector values ​​transmitted from the motion estimation unit 154a, the motion compensation unit 154b performs inter-frame motion compensation.

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

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

[0036] When the above-mentioned picture prediction is performed, the transform unit 110 converts residual values ​​between the original picture and the predicted picture to obtain transform coefficient values. At this time, the transform is performed in units of specific blocks within the picture, and the size of the specific blocks varies within a preset range. The quantization unit 115 quantizes the transform coefficient values ​​generated by the transform unit 110 and transfers the quantized values ​​to the entropy coding unit 160.

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

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

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

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

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

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

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

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

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

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

[0047] The inter prediction unit 254 obtains a current reference block using a motion vector and a reference picture index. The reference block exists in a reference picture corresponding to the reference picture index. In addition, a sample value of a block identified by the motion vector or an interpolated value thereof is used as a predictor of the current block. For motion prediction with pixel accuracy in sub-pel units, for example, an 8-tab interpolation filter is used for a luminance signal, and a 4-tab interpolation filter is used for a chrominance signal. However, the interpolation filter for sub-pel unit motion prediction is not limited thereto. In this way, the inter prediction unit 254 performs motion compensation to predict the texture of the current unit from a previously restored picture. In this case, the inter prediction unit uses a motion information set.

[0048] According to a further 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 in the current picture. The intra BC prediction unit obtains intra BC coding information for the current region from the entropy decoding unit 210. The intra BC prediction unit obtains block vector values ​​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 values. The intra BC coding information may include block vector information.

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

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

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

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

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

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

[0055] 4 shows an embodiment of a method for signaling the split of a quadtree and a multitype tree. In order to signal the split of a quadtree and a multitype tree as described above, a previously set flag may be used. Referring to FIG. 4, at least one of a flag 'split_cu_flag' indicating whether a node is split, a flag 'split_qt_flag' indicating whether a quadtree node is split, a flag 'mtt_split_cu_vertical_flag' indicating the split direction of a multitype tree node, or a flag 'mtt_split_cu_binary_flag' indicating the split form of a multitype tree node may be used.

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

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

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

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

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

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

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

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

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

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

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

[0067] According to an embodiment, the basic angle mode may be a mode corresponding to an angle used in intra prediction of the existing High Efficiency Video Coding (HEVC) standard, and the extended angle mode may be a mode corresponding to an angle newly added in intra prediction of the next-generation video codec standard. More specifically, the basic angle mode may be an angle mode corresponding to any one of intra prediction modes {2, 4, 6, ..., 66}, and the extended angle mode may be an angle mode corresponding to any one of intra 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 may be determined based on the angle indicated by the basic angle mode.

[0068] According to another embodiment, the basic angle mode may be a mode corresponding to an angle within a first angle range that has already been set, and the extension 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 intra prediction modes {2, 3, 4, ..., 66}, and the extension angle mode may be an angle mode corresponding to any one of intra prediction modes {-10, -9, ..., -1} and {67, 68, ..., 76}. An angle indicated by the extension angle mode may be determined as an angle opposite to an angle indicated by the corresponding basic angle mode. Thus, an angle indicated by the extension angle mode may be determined based on an angle indicated by the basic angle mode. Meanwhile, the number of extension angle modes is not limited thereto, and further extension angles may be defined according to the size and / or shape of the current block. For example, the extension angle mode may be defined as an angle mode corresponding to any one of intra prediction modes {-14, -13, ..., -1} and {67, 68, ..., 80}. Meanwhile, the total number of intra prediction modes included in the intra prediction mode set may vary depending on the configuration of the base angle mode and the extended angle mode.

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

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

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

[0072] FIG. 7 is a diagram illustrating a Network Abstract Layer (NAL) unit, which is a basic unit constituting a bitstream according to an embodiment of the present invention. When a video image is encoded as a bitstream through an encoder and stored, the bitstream may be composed of Network Abstraction Layer units. The NAL unit may be defined in various forms according to its purpose and may be classified by a unique ID. The NAL unit may be roughly classified into a part including actual video data information and a part including information required for decoding the video image. FIG. 7 is a diagram illustrating some of various NAL units. The NAL unit may be composed based on a predefined order, and the information included in the NAL unit may also be composed based on a predefined order. Each NAL unit may have a mutual reference relationship. As shown in FIG. 7, the NAL unit DPS indicates a decoding parameter set (DPS) RBSP syntax. The NAL unit VPS indicates a video parameter set (VPS) RBSP syntax. NAL unit SPS stands for Sequence Parameter Set (SPS) RBSP syntax. NAL unit PPS stands for Picture Parameter Set (PPS) RBSP syntax. DPS RBSP syntax is a syntax that contains information (syntax elements) required for a decoder to perform video decoding. DPS RBSP syntax may be described as Decoding capability information (DCI) RBSP syntax. VPS RBSP syntax is a syntax that contains information (syntax elements) commonly used to decode base layer and enhancement layer coded data.The SPS RBSP syntax is a syntax including syntax elements transmitted at the level of a sequence unit. The SPS RBSP syntax may include information (syntax elements) commonly used to decode pictures with reference to a VPS. In this case, a sequence means a set of one or more pictures. The PPS RBSP syntax is a syntax including information (syntax elements) commonly used to decode one or more pictures. The above-mentioned RBSP may be a Raw Byte Sequence Payload (RBSP), which means a syntax encapsulated in a byte aligned NAL unit. The above-mentioned syntax will be described below.

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

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

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

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

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

[0078] - no_qtbtt_dual_tree_intra_constraint_flag

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

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

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

[0082]

number

[0083] - no_partition_constraints_override_constraint_flag

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

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

[0086] -no_sao_constraint_flag

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

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

[0089] -no_alf_constraint_flag

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

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

[0092] - no_joint_cbcr_constraint_flag

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

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

[0095] - no_ref_wraparound_constraint_flag

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

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

[0098] - no_temporal_mvp_constraint_flag

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

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

[0101] -no_sbtmvp_constraint_flag

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

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

[0104] -no_amvr_constraint_flag

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

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

[0107] -no_bdof_constraint_flag

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

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

[0110] -no_dmvr_constraint_flag

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

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

[0113] -no_cclm_constraint_flag

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

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

[0116] -no_mts_constraint_flag

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

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

[0119] In this case, sps_explicit_mts_intra_enabled_flag and sps_explicit_mts_inter_enabled_flag are flags indicating whether mts_idx 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. On the other hand, sps_explicit_mts_intra_enabled_flag / sps_explicit_mts_inter_enabled_flag may not be present, in which case the value of sps_explicit_mts_intra_enabled_flag / sps_explicit_mts_inter_enabled_flag may be inferred to be 0.

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

[0121] -no_sbt_constraint_flag

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

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

[0124] - no_affine_motion_constraint_flag

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

[0126] At this time, sps_affine_enabled_flag is a flag indicating whether affine model based motion compensation used in decoding a picture in CLVS is activated. Also, 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, affine model based motion compensation is activated, indicating that affine model based motion compensation may be used in decoding a picture in CLVS. Also, if the value of sps_affine_enabled_flag is 1, indicating that inter_affine_flag and cu_affine_type_flag may be present in the coding unit syntax of CLVS. If the value of sps_affine_enabled_flag is 0, affine model based motion compensation is deactivated, indicating that affine model based motion compensation is not used in decoding a picture in CLVS. A value of 0 for sps_affine_enabled_flag indicates that inter_affine_flag and cu_affine_type_flag are not present in the CLVS coding unit syntax.

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

[0128] -no_bcw_constraint_flag

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

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

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

[0132] -no_ibc_constraint_flag

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

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

[0135] -no_ciip_constraint_flag

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

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

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

[0139] - no_fpel_mmvd_constraint_flag

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

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

[0142] -no_triangle_constraint_flag

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

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

[0145] -no_ladf_constraint_flag

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

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

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

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

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

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

[0152] - no_transform_skip_constraint_flag

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

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

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

[0156] -no_bdpcm_constraint_flag

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

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

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

[0160] -no_qp_delta_constraint_flag

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

[0162] At this time, cu_qp_delta_enabled_flag is a flag indicating whether or not syntax elements ph_cu_qp_delta_subdiv_intra_slice and ph_cu_qp_delta_subdiv_inter_slice are present in the PH that refers to the PPS. Also, cu_qp_delta_enabled_flag indicates whether or not syntax elements cu_qp_delta_abs and cu_qp_delta_sign_flag included in the transform unit syntax and palette coding syntax are present. For example, if the value of cu_qp_delta_enabled_flag is 1, it indicates that syntax elements ph_cu_qp_delta_subdiv_intra_slice and ph_cu_qp_delta_subdiv_inter_slice may be present in the PH that refers to the PPS. Also, 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 may be present in the transform unit syntax and 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 that refers to the PPS. 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 palette coding syntax.

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

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

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

[0166] - no_dep_quant_constraint_flag

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

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

[0169] - no_sign_data_hiding_constraint_flag

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

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

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

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

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

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

[0176] Therefore, the GCI syntax requires a signaling structure in the same manner as the SPS RBSP syntax. For example, if the value of no_transform_skip_coanstraint_flag is 1, sps_transform_skip_enabled_flag has a value of 0, and thus transform skip is deactivated. In this case, setting no_bdpcm_constraint_flag to 1 or 0 is a meaningless use of 1 bit. In other words, when transform skip is activated (sps_transform_skip_enabled_flag == 1), a syntax element (sps_bdpcm_enabled_flag) for indicating whether bdpcm is activated is signaled, so when transform skip is deactivated, signaling a flag (no_bdpcm_constraint_flag) that constrains bdpcm is a waste of extra bits.

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

[0178]

number

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

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

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

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

[0183]

number

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

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

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

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

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

[0189] Therefore, if the value of no_mmvd_constraint_flag is 1, the value of sps_mmvd_enabled_flag is set to 0 and deactivated, and sps_fpel_mmvd_enabled_flag is not signaled, so no_fpel_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, the value of sps_mmvd_enabled_flag is not constrained, so sps_fpel_mmvd_enabled_flag may be signaled, and therefore no_fpel_mmvd_constraint_flag that indicates whether sps_fpel_mmvd_enabled_flag is activated may be signaled. This can be expressed as the following equation 4.

[0190]

number

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

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

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

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

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

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

[0197]

number

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

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

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

[0201]

number

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

[0203] The above-mentioned no_mts_constraint_flag, sps_explicit_mts_intra_enabled_flag, and sps_explicit_mts_inter_enabled_flag will be described in more detail with reference to Fig. 11 and Fig. 18. The SPS RBSP syntax has a structure that signals sps_explicit_mts_intra_enabled_flag and sps_explicit_mts_inter_enabled_flag when the value of sps_mts_enabled_flag is 1. For example, when the value of sps_mts_enabled_flag is 0, only DCT2-DCT2 can be used as the transformation kernel. When the value of sps_mts_enabled_flag is 1, it can be indicated 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 all 1, in addition to implicitly indicating a multiple transform set, it is also possible to indicate a multiple transform set for intra mode and to separately indicate a multiple transform set for inter mode.

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

[0205]

number

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

[0207] -no_smvd_constraint_flag

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

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

[0210] -no_isp_constraint_flag

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

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

[0213] -no_mrl_constraint_flag

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

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

[0216] -no_mip_constraint_flag

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

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

[0219] -no_lfnst_constraint_flag

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

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

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

[0223] -no_lmcs_constraint_flag

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

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

[0226] -no_palette_constraint_flag

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

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

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

[0230] More specifically, in order for no_palette_constraint_flag to be signaled, the variable value of chroma_format_idc must be obtained in advance. chroma_format_idc indicates chroma sampling relative to luma sampling. Therefore, the syntax element chroma_format_idc must be included in 'general_constraint_info()', which is a GCI syntax. In this case, it is a required structure in DPS syntax and VPS syntax. In other cases, when a profile tier level syntax (profile_tier_level syntax) included in an SPS syntax includes a GCI syntax, the GCI syntax included in the profile tier level syntax may be parsed and the chroma_format_idc syntax element may be parsed again later, so that chroma_format_idc may be called redundantly. In other words, the GCI syntax included in the DPS syntax or VPS syntax includes chroma_format_idc, and the GCI syntax included in the profile tier level syntax includes chroma_format_idc, and chroma_format_idc may be parsed redundantly. Therefore, if the profile tier level syntax includes GCI syntax, the chroma_format_idx syntax element does not need to be signaled. Alternatively, in a system in which the decoder always parses the GCI syntax, the SPS RBSP syntax may be configured not to include the chroma_format_idc syntax element.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[0248]

number

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[0276] The scope of the present invention is indicated by the claims set forth below rather than by the above detailed description, and all modifications and variations derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present invention. [Explanation of symbols]

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

Claims

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

13. A video signal decoding device comprising:

2. The GCI syntax structure includes a third GCI syntax element that constrains a value of a third SPS syntax element included in the SPS RBSP syntax structure, the third SPS syntax element indicating whether intra prediction with subpartitions is enabled; 2. The video signal decoding device of claim 1, characterized in that if the value of the third GCI syntax element is 1, the value of the third SPS syntax element is set to 0, which indicates that intra prediction using the sub-partition is disabled.

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

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

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

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

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

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

1. A video signal encoding device comprising:

9. The GCI syntax structure includes a third GCI syntax element that constrains a value of a third SPS syntax element included in the SPS RBSP syntax structure, the third SPS syntax element indicating whether intra prediction with subpartitions is enabled; 9. The video signal encoding device of claim 8, characterized in that if the value of the third GCI syntax element is 1, the value of the third SPS syntax element is set to 0, which indicates that intra prediction using the sub-partition is disabled.

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

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

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

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

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

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

16. The GCI syntax structure includes a third GCI syntax element that constrains a value of a third SPS syntax element included in the SPS RBSP syntax structure, the third SPS syntax element indicating whether intra prediction with subpartitions is enabled; The method of claim 15, characterized in that if 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 intra prediction using the sub-partition is disabled.

17. The GCI syntax structure includes a fourth GCI syntax element that constrains a value of a fourth SPS syntax element included in the SPS RBSP syntax structure, the fourth SPS syntax element indicating whether or not metric-based intra prediction is enabled; 16. The method of claim 15, wherein if the value of the fourth GCI syntax element is 1, then the value of the fourth SPS syntax element is set to 0, a value indicating that the metric-based intra prediction is disabled.

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

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

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

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

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

Citation Information

Patent Citations

  • Palette predictor initialization and merging for video coding

    JP2018530962A

  • Constrains for high level syntax elements

    WO2021170091A1