Video signal processing method and apparatus therefor

By parsing the Sequence Parameter Set (SPS) syntax elements in the video signal bitstream, processing the boundaries based on the number of sub-pictures, and applying loop filtering, the problem of insufficient video signal coding efficiency in existing technologies is solved, achieving more efficient video signal processing.

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

Patent Information

Application Number
CN202511110391.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2020-04-24
Filing Date
2020-12-21
Publication Date
2025-11-14

AI Technical Summary

Technical Problem

Existing video signal processing methods are insufficient in terms of coding efficiency and cannot effectively utilize the spatial, temporal, and random correlations of video signals for optimization.

Method used

By decoding and encoding the Sequence Parameter Set (SPS) Raw Byte Sequence Payload (RBSP) syntax in the video signal bitstream, parsing syntax elements related to the number of sub-pictures, and determining whether to process boundaries based on the number of sub-pictures, loop filtering is applied to improve coding efficiency.

Benefits of technology

It improves the encoding efficiency of video signals and enables more efficient video signal processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120956890A_ABST
    Figure CN120956890A_ABST
Patent Text Reader

Abstract

The invention relates to a video signal processing method and an apparatus therefor. A video signal decoding apparatus includes a processor in which: the processor decodes a sequence parameter set (SPS) original byte sequence payload (RBSP) syntax included in a bitstream of a video signal, and decodes the bitstream based on a decoding result of the SPS RBSP syntax; the SPS RBSP syntax includes a first syntax element related to a number of one or more sub-pictures configuring one picture, and a second syntax element indicating whether to process boundaries of the one or more sub-pictures as boundaries of one picture based on the first syntax element; and parsing the second syntax element only when the number of the one or more sub-pictures is two or more.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of patent application No. 202080088858.1 (International Application No. PCT / KR2020 / 018793), filed on June 20, 2022, with an international application date of December 21, 2020, entitled "Video Signal Processing Method and Apparatus". Technical Field

[0002] This disclosure relates to video signal processing methods and apparatus, and more specifically, to video signal processing methods and apparatus for encoding or decoding video signals. Background Technology

[0003] Compression coding refers to a series of signal processing techniques used to transmit digitized information over communication lines or to store information in a form suitable for storage media. The objects of compression coding include objects such as voice, video, and text, and in particular, techniques used to perform compression coding on images are called video compression. Compression coding of video signals is performed by removing excess information, taking into account spatial, temporal, and random correlations. However, with the recent development of various media and data transmission media, there is a need for more efficient video signal processing methods and devices. Summary of the Invention

[0004] Technical issues

[0005] This disclosure aims to provide a video signal processing method and apparatus to increase the coding efficiency of video signals.

[0006] Technical solution

[0007] This disclosure provides a video signal processing method and apparatus.

[0008] In detail, the video signal decoding device includes a processor that decodes a Sequence Parameter Set (SPS) Raw Byte Sequence Payload (RBSP) syntax included in a bitstream of a video signal, and decodes the bitstream based on the decoding result of the SPS RBSP syntax, wherein the SPS RBSP syntax includes a first syntax element related to the number of at least one sub-picture constituting a picture, and a second syntax element including an indication of whether the boundaries of at least one sub-picture are processed like the boundaries of a picture based on the first syntax element, wherein the second syntax element is parsed only when the number of at least one sub-picture is at least 2.

[0009] Furthermore, in this disclosure, a video signal encoding apparatus includes a processor, wherein the processor obtains a Sequence Parameter Set (SPS) Raw Byte Sequence Payload (RBSP) syntax and encodes a bitstream including the SPS RBSP syntax, wherein the SPS RBSP syntax includes a first syntax element relating to the number of at least one sub-picture constituting a picture, and a second syntax element including an indication of whether the boundaries of the at least one sub-picture are processed as boundaries of a picture based on the first syntax element, wherein the second syntax element is parsed only when the number of at least one sub-picture is at least 2.

[0010] Furthermore, this disclosure provides a non-transitory computer-readable medium for storing a bitstream of a video signal, wherein the bitstream is encoded by an encoding method comprising: obtaining a Sequence Parameter Set (SPS) Raw Byte Sequence Payload (RBSP) syntax; and encoding a bitstream including the SPS RBSP syntax, wherein the SPS RBSP syntax includes a first syntax element relating to the number of at least one sub-picture constituting a picture, and a second syntax element including an indication of whether the boundaries of the at least one sub-picture are processed like the boundaries of a picture based on the first syntax element, wherein the second syntax element is parsed only when the number of at least one sub-picture is at least 2.

[0011] Furthermore, in this disclosure, the first syntax element indicates a value obtained by subtracting 1 from the number of at least one sub-image.

[0012] Furthermore, in this disclosure, the second syntax element further indicates whether loop filtering is applied to the boundaries of at least one sub-image.

[0013] Furthermore, in this disclosure, the value indicated by the first syntax element is greater than 0.

[0014] Furthermore, in this disclosure, when the number of at least one sub-image is 1, the second syntax element is inferred to be a preset value indicating a specific operation.

[0015] Furthermore, in this disclosure, the SPS RBSP syntax includes a third syntax element indicating whether information related to at least one sub-image exists, and a fourth syntax element indicating whether an ID mapping for at least one sub-image exists, wherein the fourth syntax element is parsed when the third syntax element indicates the existence of information related to at least one sub-image, and when the fourth syntax element indicates the existence of an ID mapping for at least one sub-image, an ID mapping value for at least one sub-image is signaled in the SPS RBSP syntax.

[0016] Furthermore, in this disclosure, when the fourth syntax element indicates the existence of an ID mapping for at least one sub-picture and the ID mapping value for at least one sub-picture is not signaled in the SPS RBSP syntax, the ID mapping value for at least one sub-picture is signaled in the Picture Parameter Set (PPS) RBSP syntax referencing the SPS RBSP syntax.

[0017] Beneficial effects

[0018] This disclosure provides a method for effectively processing video signals.

[0019] The effects obtained from this disclosure are not limited to those described above, and other effects will be clearly understood by those skilled in the art from the following description. Attached Figure Description

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

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

[0022] Figure 3 An embodiment is shown in which the coding tree unit is divided into coding units in the image.

[0023] Figure 4 An embodiment of a method for sending partitions of quadtrees and multi-type trees using signals is shown.

[0024] Figure 5 and Figure 6 The intra-frame prediction method according to an embodiment of the present invention is illustrated in more detail.

[0025] Figure 7 This is a diagram illustrating a portion of the high-level syntax structure according to an embodiment of the present invention.

[0026] Figure 8 This is a diagram illustrating a Network Abstraction Layer (NAL) unit type according to an embodiment of the present invention.

[0027] Figure 9 This is an illustration of dividing an image into CTUs, tiles, and slices according to an embodiment of the present invention.

[0028] Figure 10 This is a diagram illustrating how an image is divided into multiple sub-images according to an embodiment of the present invention.

[0029] Figure 11 This is a diagram illustrating the sequence parameter set RBSP syntax structure according to an embodiment of the present invention.

[0030] Figure 12 This is a diagram illustrating the RBSP syntax structure of the image parameter set according to an embodiment of the present invention.

[0031] Figure 13 This is a diagram illustrating the RBSP syntax structure of the image header according to an embodiment of the present invention.

[0032] Figure 14 This is a diagram illustrating the RBSP syntax structure of the image header according to an embodiment of the present invention.

[0033] Figure 15 This is a diagram illustrating the RBSP syntax structure of the image header according to an embodiment of the present invention.

[0034] Figure 16 The illustration shows the RBSP syntax structure and semantics of the image parameter set according to an embodiment of the present invention.

[0035] Figure 17 This is a diagram illustrating a method for determining the array variable SubpicIdList[i] according to an embodiment of the present invention.

[0036] Figure 18 This is a diagram illustrating the sequence parameter set RBSP syntax structure according to an embodiment of the present invention.

[0037] Figure 19 This is a diagram illustrating the sequence parameter set RBSP syntax structure according to an embodiment of the present invention.

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

[0039] Figure 21 This is a diagram illustrating the RBSP syntax structure of the image header according to an embodiment of the present invention.

[0040] Figure 22 This is a diagram illustrating the RBSP syntax structure of the image header according to an embodiment of the present invention.

[0041] Figure 23 This is a diagram illustrating the RBSP syntax structure of the image header according to an embodiment of the present invention.

[0042] Figure 24 This is a diagram illustrating the sequence parameter set RBSP syntax structure according to an embodiment of the present invention.

[0043] Figure 25 This is a diagram illustrating the sequence parameter set RBSP syntax structure according to an embodiment of the present invention.

[0044] Figure 26 This is a diagram illustrating the RBSP syntax structure of the image parameter set according to an embodiment of the present invention.

[0045] Figure 27 This is a diagram illustrating the syntax element subpic_id_mapping_in_pps_flag included in the image parameter set according to an embodiment of the present invention.

[0046] Figure 28 This is a diagram illustrating the RBSP syntax structure of the image parameter set according to an embodiment of the present invention.

[0047] Figure 29 This is a diagram illustrating a Network Abstraction Layer (NAL) unit, which is a basic unit constituting a bitstream, according to an embodiment of the present invention.

[0048] Figure 30 This is a diagram illustrating the decoding parameter set RBSP syntax structure, the sequence parameter set RBSP syntax structure, and the profile hierarchy syntax structure according to an embodiment of the present invention.

[0049] Figure 31 This is a diagram illustrating the video parameter set RBSP syntax and general constraint information syntax according to an embodiment of the present invention.

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

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

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

[0053] Figure 35 This is a diagram illustrating the sequence parameter set RBSP syntax structure according to an embodiment of the present invention.

[0054] Figure 36 This is a diagram illustrating the general constraint information syntax structure according to an embodiment of the present invention. Detailed Implementation

[0055] Considering the functions of this invention, the terminology used in this specification may be currently widely used general terms, but may be changed according to the intent, customs, or emergence of new technologies of those skilled in the art. Furthermore, in some cases, terms may be arbitrarily chosen by the applicant, and in such cases, their meanings are described in the corresponding descriptive sections of the invention. Therefore, the terminology used in this specification should be interpreted based on the substantive meaning of the terms and content throughout the specification.

[0056] In this specification, some terms may be interpreted as follows. In some cases, coding may be interpreted as encoding or decoding. In this specification, an apparatus for generating a video signal bitstream by performing encoding of a video signal is called an encoding apparatus or encoder, and an apparatus for reconstructing a video signal by performing decoding of the video signal bitstream is called a decoding apparatus or decoder. Additionally, in this specification, video signal processing apparatus is used as a term encompassing both the concepts of encoder and decoder. Information is a term that includes all values, parameters, coefficients, elements, etc. In some cases, the meaning is interpreted differently, therefore the invention is not limited thereto. "Unit" is used to refer to a basic unit of image processing or a specific location in an image, and refers to an image region including at least one of the luminance and chrominance components. Additionally, "block" refers to an image region including a specific component of the luminance and chrominance components (i.e., Cb and Cr). However, depending on the embodiment, terms such as "unit," "block," "partition," and "region" may be used interchangeably. Additionally, in this specification, the term "unit" can be used to refer to all concepts including encoding units, prediction units, and transformation units. Images refer to fields or frames, and these terms may be used interchangeably according to embodiments.

[0057] Figure 1 This is a schematic block diagram of a video signal encoding apparatus 100 according to an embodiment of the present invention. (See reference) Figure 1 The encoding device 100 of the present invention includes a transformation unit 110, a quantization unit 115, an inverse quantization unit 120, an inverse transformation unit 125, a filtering unit 130, a prediction unit 150, and an entropy encoding unit 160.

[0058] Transform unit 110 obtains the values ​​of transform coefficients by transforming the residual signal, which is the difference between the input video signal and the prediction signal generated by prediction unit 150. For example, discrete cosine transform (DCT), discrete sine transform (DST), or wavelet transform can be used. DCT and DST perform the transform by dividing the input image signal into multiple blocks. During the transform, the coding efficiency can vary depending on the distribution and characteristics of the values ​​in the transform region. Quantization unit 115 quantizes the values ​​of the transform coefficients output from transform unit 110.

[0059] To improve coding efficiency, instead of encoding the image signal as is, a method is used that predicts the image using the region already encoded by prediction unit 150, and obtains the reconstructed image by adding the residual value between the original image and the predicted image to the predicted image. To prevent mismatches in the encoder and decoder, information that can be used in the decoder should be used when performing prediction in the encoder. For this purpose, the encoder performs the processing of the current block of reconstruction encoding again. Inverse quantization unit 120 inverse quantizes the values ​​of the transform coefficients, and inverse transform unit 125 uses the inverse quantized transform coefficient values ​​to reconstruct the residual values. Simultaneously, filtering unit 130 performs filtering operations to improve the quality of the reconstructed image and improve coding efficiency. For example, it may include a deblocking filter, sample adaptive offset (SAO), and adaptive loop filter. The filtered image is output or stored in decoded image buffer (DPB) 156 for use as a reference image.

[0060] To increase coding efficiency, instead of encoding the image signal as is, a method for obtaining a reconstructed image is used. This method uses regions already encoded by prediction unit 150 to predict the image, and adds the residual value between the original image and the predicted image to the predicted image. Intra-frame prediction unit 152 performs intra-frame prediction within the current image, and inter-frame prediction unit 154 predicts the current image using a reference image stored in decoded image buffer 156. Intra-frame prediction unit 152 performs intra-frame prediction from the reconstructed region in the current image and sends intra-frame coding information to entropy coding unit 160. Again, inter-frame prediction unit 154 may include motion estimation unit 154a and motion compensation unit 154b. Motion estimation unit 154a obtains the motion vector value of the current region by referencing a specific reconstructed region. Motion estimation unit 154a can send the location information of the reference region (reference frame, motion vector, etc.) to entropy coding unit 160 to be included in the bitstream. Motion compensation unit 154b performs inter-frame motion compensation using the motion vector value sent from motion estimation unit 154a.

[0061] Prediction unit 150 includes intra-frame prediction unit 152 and inter-frame prediction unit 154. Intra-frame prediction unit 152 performs intra-frame prediction in the current image, and inter-frame prediction unit 154 performs inter-frame prediction to predict the current image using a reference image stored in DPB 156. Intra-frame prediction unit 152 performs intra-frame prediction based on reconstructed samples in the current image and sends intra-frame coding information to entropy coding unit 160. Intra-frame coding information may include at least one of intra-frame prediction mode, most probable mode (MPM) flag, and MPM index. Intra-frame coding information may include information about the reference samples. Inter-frame prediction unit 154 may include motion estimation unit 154a and motion compensation unit 154b. Motion estimation unit 154a references a specific region of the reconstructed reference image to obtain motion vector values ​​for the current region. Motion estimation unit 154a sends a set of motion information about the reference region (reference image index, motion vector information, etc.) to entropy coding unit 160. Motion compensation unit 154b uses the motion vector values ​​sent from motion estimation unit 154a to perform motion compensation. Inter-frame prediction unit 154 sends inter-frame coding information, including a set of motion information about the reference region, to entropy coding unit 160.

[0062] According to another embodiment, prediction unit 150 may include an intra-block copy (BC) prediction unit (not shown). The intra-BC prediction unit performs intra-BC prediction from reconstructed samples in the current image and sends intra-BC coding information to entropy coding unit 160. The intra-BC prediction unit references a specific region in the current image and obtains block vector values ​​indicating the reference region to be used for prediction of the current region. The intra-BC prediction unit can use the obtained block vector values ​​to perform intra-BC prediction. The intra-BC prediction unit sends intra-BC coding information to entropy coding unit 160. The intra-BC coding information may include block vector information.

[0063] When performing the image prediction described above, the transformation unit 110 transforms the residual value between the original image and the predicted image to obtain transformation coefficient values. In this case, the transformation can be performed on a unit of specific blocks within the image, and the size of the specific blocks can be changed within a preset range. The quantization unit 115 quantizes the transformation coefficient values ​​generated in the transformation unit 110 and sends them to the entropy coding unit 160.

[0064] Entropy coding unit 160 performs entropy coding on quantized transform coefficient information, intra-frame coding information, and inter-frame coding information to generate a video signal bitstream. In entropy coding unit 160, variable-length coding (VLC) methods, arithmetic coding methods, etc., can be used. The VLC method transforms input symbols into continuous codewords, and the length of the codewords can be variable. For example, frequently occurring symbols are represented as short codewords, while less frequently occurring symbols are represented as long codewords. Context-based adaptive variable-length coding (CAVLC) can be used as a VLC method. Arithmetic coding transforms continuous data symbols into single decimals, and arithmetic coding can obtain the optimal number of decimal places required to represent each symbol. Context-based adaptive arithmetic coding (CABAC) can be used as an arithmetic coding method. For example, entropy coding unit 160 can binarize the information representing the quantized transform coefficients. Furthermore, entropy coding unit 160 can generate a bitstream by performing arithmetic coding on binary information.

[0065] The generated bitstream is encapsulated using Network Abstraction Layer (NAL) units as the basic unit. An NAL unit comprises an integer number of encoded code tree units. To decode the bitstream in a video decoder, the bitstream must first be separated into NAL units, and then each separated NAL unit must be decoded. Simultaneously, the information required for decoding the video signal bitstream can be sent via Raw Byte Sequence Payload (RBSP) of higher-level sets such as Picture Parameter Sets (PPS), Sequence Parameter Sets (SPS), Video Parameter Sets (VPS), etc.

[0066] at the same time, Figure 1 The block diagram illustrates an encoding device 100 according to an embodiment of the present invention, and the separately displayed blocks logically distinguish and illustrate the elements of the encoding device 100. Therefore, depending on the device design, the elements of the encoding device 100 can be mounted as one or more chips. According to an embodiment, the operation of each element of the encoding device 100 can be performed by a processor (not shown).

[0067] Figure 2 This is a schematic block diagram of a video signal decoding apparatus 200 according to an embodiment of the present disclosure. (See reference...) Figure 2 The decoding device 200 disclosed herein includes an entropy decoding unit 210, a dequantization unit 220, an inverse transform unit 225, a filtering unit 230, and a prediction unit 250.

[0068] Entropy decoding unit 210 performs entropy decoding on the video signal bitstream to extract transform coefficient information, intra-frame coding information, inter-frame coding information, etc., for each region. For example, entropy decoding unit 210 can obtain binary code for transform coefficient information for a specific region from the video signal bitstream. Furthermore, entropy decoding unit 210 obtains quantized transform coefficients by inverse binarizing the binary code. Dequantization unit 220 dequantizes the quantized transform coefficients, and inverse transform unit 225 reconstructs the residual value using the dequantized transform coefficients. Video signal processing device 200 reconstructs the original pixel value by adding the residual value obtained by inverse transform unit 225 to the predicted value obtained by prediction unit 250.

[0069] Simultaneously, the filtering unit 230 performs filtering on the image to improve image quality. This may include a deblocking filter to reduce block distortion and / or an adaptive loop filter to remove distortion from the entire image. The filtered image is output or stored in the DPB 256 as a reference image for the next image.

[0070] Prediction unit 250 includes intra-frame prediction unit 252 and inter-frame prediction unit 254. Prediction unit 250 generates a prediction picture using the coding type decoded by the entropy decoding unit 210 described above, the transform coefficients of each region, and the intra / inter-frame coding information. To reconstruct the current block in which decoding is performed, the current picture or the decoded region of another picture including the current block can be used. The picture (or tile / slice) used only for reconstruction (i.e., performing intra-frame prediction or intra-frame BC prediction) is called an intra-frame picture or I-picture (or tile / slice), and the picture (or tile / slice) in which all intra-frame prediction, inter-frame prediction, and intra-frame BC prediction are performed is called an inter-frame picture (or tile / slice). To predict the sample value of each block within an inter-frame image (or tile / slice), an image (or tile / slice) using at most one motion vector and a reference image index is called a prediction image or P-image (or tile / slice), and an image (or tile / slice) using at most two motion vectors and a reference image index is called a bidirectional prediction image or B-image (or tile / slice). In other words, a P-image (or tile / slice) uses at most one set of motion information to predict each block, and a B-image (or tile / slice) uses at most two sets of motion information to predict each block. Here, the set of motion information includes one or more motion vectors and a reference image index.

[0071] Intra-prediction unit 252 generates prediction blocks using intra-coding information and recovered samples from the current image. As described above, the intra-coding information may include at least one of intra-prediction mode, most probable mode (MPM) flag, and MPM index. Intra-prediction unit 252 predicts sample values ​​for the current block by using recovered samples located to the left and / or above the current block as reference samples. In this disclosure, the recovered samples, reference samples, and samples of the current block can represent pixels. Moreover, sample values ​​can represent pixel values.

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

[0073] Inter-frame prediction unit 254 generates prediction blocks using reference images and inter-frame coding information stored in DPB 256. The inter-frame coding information may include a set of motion information (reference image index, motion vector information, etc.) for the current block used as the reference block. Inter-frame prediction may include L0 prediction, L1 prediction, and bidirectional prediction. L0 prediction means making a prediction using a reference image included in the L0 image list, and L1 prediction means making a prediction using a reference image included in the L1 image list. For this purpose, a set of motion information (e.g., motion vectors and reference image indexes) may be required. In the bidirectional prediction method, up to two reference regions can be used, and the two reference regions may exist in the same reference image or in different images. That is, in the bidirectional prediction method, up to two sets of motion information (e.g., motion vectors and reference image indexes) can be used, and the two motion vectors may correspond to the same reference image index or different reference image indices. In this case, the reference images may be displayed (or output) before and after the current image in terms of time. According to an embodiment, the two reference regions used in the bidirectional prediction scheme may be regions selected from each of the L0 image list and the L1 image list.

[0074] The inter-frame prediction unit 254 can obtain a reference block for the current block using motion vectors and a reference image index. The reference block is located in the reference image corresponding to the reference image index. Furthermore, the sample value of the block specified by the motion vector, or its interpolated value, can be used as a predictor for the current block. For motion prediction with sub-pellet unit pixel precision, for example, an 8-tap interpolation filter for the luma signal and a 4-tap interpolation filter for the chroma signal can be used. However, the interpolation filter for motion prediction at the sub-pellet level is not limited to this. In this way, the inter-frame prediction unit 254 performs motion compensation to predict the texture of the current unit based on a motion image previously reconstructed using motion information. In this case, the inter-frame prediction unit can use a set of motion information.

[0075] According to another embodiment, prediction unit 250 may include an intra-frame BC prediction unit (not shown). The intra-frame BC prediction unit can reconstruct a current region by referencing a specific region including reconstructed samples in the current image. The intra-frame BC prediction unit obtains intra-frame BC coding information about the current region from entropy decoding unit 210. The intra-frame BC prediction unit obtains block vector values ​​indicating a specific region in the current image. The intra-frame BC prediction unit can use the obtained block vector values ​​to perform intra-frame BC prediction. The intra-frame BC coding information may include block vector information.

[0076] The reconstructed video image is generated by adding the predicted value output from the intra-frame prediction unit 252 or the inter-frame prediction unit 254 to the residual value output from the inverse transform unit 225. That is, the video signal decoding device 200 uses the predicted block generated by the prediction unit 250 and the residual obtained from the inverse transform unit 225 to reconstruct the current block.

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

[0078] Figure 3The illustration shows an embodiment where a coding tree unit (CTU) in an image is segmented into coding units (CUs). During the encoding of a video signal, an image can be segmented into a sequence of coding tree units (CTUs). A coding tree unit consists of N×N blocks of luminance samples and two blocks of corresponding chrominance samples. A coding tree unit can be segmented into multiple coding units. A coding tree unit may not be segmented and may be a leaf node. In this case, the coding tree unit itself can be a coding unit. A coding unit refers to the basic unit used to process an image during the aforementioned video signal processing, i.e., intra / inter-frame prediction, transform, quantization, and / or entropy coding. The size and shape of a coding unit in an image may not be constant. A coding unit can have a square or rectangular shape. A rectangular coding unit (or rectangular block) includes vertical coding units (or vertical blocks) and horizontal coding units (or horizontal blocks). In this specification, a vertical block is a block whose height is greater than its width, and a horizontal block is a block whose width is greater than its height. Furthermore, in this specification, a non-square block may refer to a rectangular block, but the invention is not limited thereto.

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

[0080] Simultaneously, the leaf nodes of the aforementioned quadtree can be further divided into a multi-type tree (MTT) structure. According to embodiments of the present invention, in the MTT structure, a node can be divided into a horizontally or vertically partitioned binary or ternary tree structure. That is, in the MTT structure, there are four partitioning structures, such as vertical binary partitioning, horizontal binary partitioning, vertical ternary partitioning, and horizontal ternary partitioning. According to embodiments of the present invention, in each tree structure, the width and height of the node can both be powers of 2. For example, in a binary tree (BT) structure, a node of size 2×2N can be partitioned into two NX2N nodes through vertical binary partitioning, and further partitioned into two 2NXN nodes through horizontal binary partitioning. Additionally, in a ternary tree (TT) structure, a node of size 2×2N is partitioned into (N / 2)×2N, NX2N, and (N / 2)×2N nodes through vertical ternary partitioning, and further partitioned into 2NX(N / 2), 2NXN, and 2NX(N / 2) nodes through horizontal ternary partitioning. This multi-type tree split can be performed recursively.

[0081] Leaf nodes of a multi-type tree can be coding units. When a coding unit is not larger than the maximum transformation length, it can be used as a unit for prediction and / or transformation without further segmentation. In an embodiment, when the width or height of the current coding unit is greater than the maximum transformation length, the current coding unit can be segmented into multiple transformation units without explicit signaling regarding segmentation. Alternatively, at least one of the following parameters in the quadtree and multi-type tree described above can be predefined or sent via a higher-level set of RBSPs such as PPS, SPS, VPS, etc. 1) CTU size: Size of the root node of the quadtree; 2) Minimum QT size: Minimum allowed QT leaf node size; 3) Maximum BT size: Maximum allowed BT root node size; 4) Maximum TT size: Maximum allowed TT root node size; 5) Maximum MTT depth: Maximum allowed MTT depth from the leaf nodes of the QT; 6) Minimum BT size: Minimum allowed BT leaf node size; 7) Minimum TT size: Minimum allowed TT leaf node size.

[0082] Figure 4 The illustration shows an embodiment of a method for signaling quadtree and multi-type tree segmentation. Preset flags can be used to signal the aforementioned quadtree and multi-type tree segmentation. (Reference) Figure 4 At least one of the following flags can be used: "split_cu_flag" indicating whether a node has been split, "split_qt_flag" indicating whether a quadtree node has been split, "mtt_split_cu_vertical_flag" indicating the splitting direction of a multi-type tree node, or "mtt_split_cu_binary_flag" indicating the splitting shape of a multi-type tree node.

[0083] According to an embodiment of the present invention, a "split_cu_flag" signal can be sent first, which is a flag indicating whether the current node has been split. When the value of "split_cu_flag" is 0, it indicates that the current node has not been split, and the current node becomes an encoding unit. When the current node is an encoding tree unit, the encoding tree unit includes a non-splitting encoding unit. When the current node is a quadtree node "QT node", the current node is a leaf node of the quadtree "QT leaf node" and becomes an encoding unit. When the current node is a multi-type tree node "MTT node", the current node is a leaf node of the multi-type tree "MTT leaf node" and becomes an encoding unit.

[0084] When the value of "split_cu_flag" is 1, the current node can be split into nodes of a quadtree or a multi-type tree based on the value of "split_qt_flag". The encoding tree unit is the root node of the quadtree and can be initially split into a quadtree structure. In the quadtree structure, "split_qt_flag" is sent as a signal for each node, the "QT node". When the value of "split_qt_flag" is 1, the node is split into four square nodes, while when the value of "split_qt_flag" is 0, the node becomes a leaf node of the quadtree's "QT leaf node" and is split into multi-type tree nodes. According to embodiments of the present invention, quadtree splitting can be restricted based on the type of the current node. When the current node is an encoding tree unit (the root node of the quadtree) or a quadtree node, quadtree splitting is allowed, while when the current node is a multi-type tree node, quadtree splitting may not be allowed. Each quadtree leaf node, the "QT leaf node", can be further split into a multi-type tree structure. As described above, when "split_qt_flag" is 0, the current node can be split into multiple types of nodes. To indicate the splitting direction and shape, "mtt_split_cu_vertical_flag" and "mtt_split_cu_binary_flag" can be sent using signals. When the value of "mtt_split_cu_vertical_flag" is 1, it indicates a vertical split for the "MTT node," and when the value of "mtt_split_cu_vertical_flag" is 0, it indicates a horizontal split for the "MTT node." Additionally, when the value of "mtt_split_cu_binary_flag" is 1, the "MTT node" is split into two rectangular nodes, and when the value of "mtt_split_cu_binary_flag" is 0, the "MTT node" is split into three rectangular nodes.

[0085] Image prediction (motion compensation) for encoding is performed on the coding units that are no longer segmented (i.e., the leaf nodes of the coding unit tree). The basic unit that performs this prediction will be referred to as a prediction unit or prediction block in the following text.

[0086] In the following description, the term "unit" may be used in place of "prediction unit," which is the basic unit used to perform prediction. However, the invention is not limited thereto and can be more broadly understood to include the concept of an encoding unit.

[0087] Figure 5 and Figure 6The intra-frame prediction method according to an embodiment of the present invention is illustrated in more detail. As described above, the intra-frame prediction unit predicts the sample value of the current block by using the recovered sample located to the left and / or above the current block as a reference sample.

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

[0089] Additionally, if at least some of the samples to be used as reference samples have not yet been recovered, the intra-prediction unit can obtain reference samples by performing a reference sample padding process. Furthermore, the intra-prediction unit can perform reference sample filtering to reduce errors in intra-prediction. That is, filtering can be performed on the surrounding samples and / or reference samples obtained through the reference sample padding process to obtain filtered reference samples. The intra-prediction unit uses the thus obtained reference samples to predict samples for the current block. The intra-prediction unit predicts samples for the current block using either unfiltered or filtered reference samples. In this disclosure, surrounding samples may include samples on at least one reference line. For example, surrounding samples may include adjacent samples on lines adjacent to the boundary of the current block.

[0090] Next, Figure 6 An embodiment of a prediction mode for intra-frame prediction is illustrated. For intra-frame prediction, intra-frame prediction mode information indicating the direction of intra-frame prediction can be transmitted via signaling. The intra-frame prediction mode information indicates one of a plurality of intra-frame prediction modes included in the set of intra-frame prediction modes. When the current block is an intra-frame prediction block, the decoder receives the intra-frame prediction mode information of the current block from the bitstream. The decoder's intra-frame prediction unit performs intra-frame prediction on the current block based on the extracted intra-frame prediction mode information.

[0091] According to embodiments of the present invention, the intra-prediction mode set may include all intra-prediction modes used in intra-prediction (e.g., a total of 67 intra-prediction modes). More specifically, the intra-prediction mode set may include planar modes, DC modes, and multiple (e.g., 65) angle modes (i.e., orientation modes). Each intra-prediction mode can be indicated by a preset index (i.e., an intra-prediction mode index). For example, as... Figure 6As shown, intra-prediction mode index 0 indicates a planar mode, and intra-prediction mode index 1 indicates a DC mode. Furthermore, intra-prediction mode indices 2 through 66 can each indicate different angle modes. Each angle mode indicates an angle that differs from the others within a preset angle range. For example, an angle mode can indicate an angle within a clockwise angle range of 45 degrees and -135 degrees (i.e., a first angle range). An angle mode can be defined based on the 12 o'clock direction. In this case, intra-prediction mode index 2 indicates a horizontal diagonal (HDIA) mode, intra-prediction mode index 18 indicates a horizontal (horizontal, HOR) mode, intra-prediction mode index 34 indicates a diagonal (DIA) mode, intra-prediction mode index 50 indicates a vertical (VER) mode, and intra-prediction mode index 66 indicates a vertical diagonal (VDIA) mode.

[0092] Simultaneously, preset angle ranges can be set differently depending on the shape of the current block. For example, when the current block is a rectangular block, a wide-angle mode indicating a clockwise angle exceeding 45 degrees or less than -135 degrees can be additionally used. When the current block is a horizontal block, the angle mode can indicate an angle falling within the angle range (i.e., the second angle range) between (45 + offset1) degrees and (-135 + offset1) degrees in the clockwise direction. Here, angle modes 67 to 76, outside the first angle range, can also be used. Furthermore, when the current block is a vertical block, the angle mode can indicate an angle falling within the angle range (i.e., the third angle range) between (45 - offset2) degrees and (-135 - offset2) degrees in the clockwise direction. Here, angle modes -10 to -1, outside the first angle range, can also be used. According to embodiments of the present invention, the values ​​of offset1 and offset2 can be determined differently based on the aspect ratio of the rectangular block. Furthermore, offset1 and offset2 can be positive numbers.

[0093] According to an additional embodiment of the present invention, the multiple angle modes constituting the intra-frame prediction mode set may include a basic angle mode and an extended angle mode. Here, the extended angle mode can be determined based on the basic angle mode.

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

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

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

[0097] According to embodiments of the present invention, extended angle modes can be signaled based on a basic angle mode. For example, a wide-angle mode (i.e., an extended angle mode) can replace at least one angle mode (i.e., a basic angle mode) within a first angle range. The replaced basic angle mode can 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 the angle indicated by the wide-angle mode, or an angle mode corresponding to an angle that differs from the relative angle by a preset offset index. According to an embodiment of the present invention, the preset offset index is 1. The intra-frame prediction mode index corresponding to the replaced basic angle mode can be remapped to the wide-angle mode so that the wide-angle mode is signaled. For example, wide-angle modes {-10, -9, ..., -1} can be signaled by intra-frame prediction mode indices {57, 58, ..., 66}, and wide-angle modes {67, 68, ..., 76} can be signaled by intra-frame prediction mode indices {2, 3, ..., 11}, respectively. As described above, because the intra-prediction mode reference signal of the basic angle mode is used to transmit the extended angle mode, even if the angle modes used in intra-prediction of each block have different configurations, the same set of intra-prediction mode indices can be used to transmit the intra-prediction mode with signals. Therefore, the signaling overhead caused by changes in the intra-prediction mode configuration can be minimized.

[0098] Simultaneously, the use of the extended angle mode can be determined based on at least one of the shape and size of the current block. According to an embodiment, when the size of the current block is greater than a preset size, the extended angle mode can be used for intra-frame prediction of the current block; otherwise, only the basic angle mode can be used for intra-frame prediction of the current block. According to another embodiment, when the current block is a non-square block, the extended angle mode can be used for intra-frame prediction of the current block, and when the current block is a square block, only the basic angle mode can be used for intra-frame prediction of the current block.

[0099] The intra-prediction unit determines the reference samples and / or interpolated reference samples to be used in the intra-prediction of the current block based on the intra-prediction mode information of the current block. When the intra-prediction mode index indicates a specific angle mode, a reference sample or interpolated reference sample corresponding to a specific angle from the current sample of the current block is used in the prediction of the current pixel. Therefore, different sets of reference samples and / or interpolated reference samples can be used in intra-prediction according to the intra-prediction mode. After the intra-prediction of the current block has been performed using the reference samples and intra-prediction mode information, the decoder recovers the sample values ​​of the current block by adding the residual signal of the current block obtained from the inverse transform unit to the intra-prediction value of the current block.

[0100] Figure 7 This is a diagram illustrating a portion of a high-level syntax structure according to an embodiment of the present invention. (Reference) Figure 7 The decoder can decode an image from the bitstream, which is the result of video encoding, according to defined rules, and can output the image. Syntax elements are each piece of information contained in the bitstream according to a set of defined rules, and the syntax structure is the configuration of the syntax elements. Syntax elements can be aligned byte-by-byte and encapsulated into Network Abstraction Layer (NAL) units, and this is called Raw Byte Sequence Payload (RBSP). Syntax elements can be encoded and stored in the bitstream or transmitted as NAL units. Various types of NAL units can be defined. NAL units can be classified as Video Coding Layer (VCL) and non-VCL based on whether they contain information about the compression of the video data itself or additional information used for compression. NAL units classified as non-VCL can include VPS RBSP syntax, SPS RBSP syntax, PPS RBSP syntax, Picture Header (PH) RBSP syntax, slice layer RBSP syntax, etc. When generating or transmitting a bitstream as the result of image compression, NAL units can be configured in the order of VPS NAL units, SPS NAL units, PPS NAL units, PH NAL units, and slice layer NAL units. The number and order of NAL units can vary depending on the image compression environment. Access Unit Delimiter (AUD) NAL units and Decoding Capability Information (DCI) NAL units can precede the VPS RBSP syntax. Figure 7 The reference relationships between higher and lower syntaxes are illustrated. Specifically, syntax elements commonly used in video sequences, picture (lower picture) units, or slice units for decoding the first picture in the bitstream can have… Figure 7 The relationships are illustrated. As an example of reference relationships, parameters defined in the VPS RBSP syntax, based on the SPS_VPS_id defined in the SPSSRBSP syntax, can be applied together to the corresponding video sequences. Some parameters may be redefined / updated with a lower syntax. The terminology used herein regarding syntax structures can indicate syntax structures including partial names, even if these terms are mentioned as partial names rather than full names. Furthermore, the signaling / parsing of the syntax structures and syntax elements of this invention can be similarly applied during encoding / decoding.

[0101] Figure 8 This is a diagram illustrating a Network Abstraction Layer (NAL) unit type according to an embodiment of the present invention.

[0102] NAL units can be broadly classified into two categories. NAL units corresponding to video data information can be classified as VCL, and NAL units that include information that is not video data but is necessary for video decoding can be classified as non-VCL. Depending on the application method, NAL units classified as VCL can also have various NAL unit types. Information about the NAL unit type can be included in the NAL unit header information. The decoder can identify the NAL unit using the NAL unit type indicated in the header information at the transport / network layer. Figure 8 Within this information, you can identify the NAL unit type (nal_unit_type), the name of the NAL unit type (Name of nal_unit_type), the content of the NAL unit, the RBSP syntax structure, and the NAL unit type category. (See reference) Figure 8 It can be confirmed that... Figure 7 Information about the NAL unit shown.

[0103] Figure 9 This is an illustration of dividing an image into CTUs, tiles, and slices according to an embodiment of the present invention.

[0104] For various reasons, images / frames can be divided into coded blocks / units or combinations thereof of a preset size. A coded unit (CU) can be a coded block of luma samples and a coded block of samples corresponding to the two chroma components, and can have three sample arrays. A coded tree block (CTB) can be configured with coded tree units (CTUs) for luma and two chroma components. A tile is a rectangular region in the image and can be included within CTUs of a specific size in tile columns and tile rows. A slice can be configured with tiles of integer size or consecutive columns of CTUs of integer size. A slice can be sent as a single NAL unit.

[0105] In detail, Figure 9 The illustration shows an image configuration with 18×12 luminance CTUs and divided into 24 tiles and 9 rectangular slices according to an embodiment of the present invention. Figure 9 The image segmentation shown is merely an example, and images can be segmented in various ways, not limited to this. Figure 9 The example shown illustrates this. Images can be segmented not only into rectangular slices but also into raster scan-type slices. Furthermore, tiles can be segmented into shapes of different sizes.

[0106] Figure 10 This diagram illustrates how an image is divided into multiple sub-images according to an embodiment of the present invention.

[0107] In detail, Figure 10 The illustration shows an embodiment of the present invention where an image is divided into multiple sub-images (hereinafter referred to as sub-images). Reference Figure 10 An image can be configured by dividing it into 15 tiles and 24 slices, and can also be divided into 24 sub-images. When an image is divided into multiple sub-images, encoding / decoding can be performed on a per-sub-image basis. Furthermore, a new image can be configured with specific sub-images or multiple sub-images, and can also be configured with sub-images from another Video Coding Layer (VCL).

[0108] Figure 11 This is a diagram illustrating the sequence parameter set RBSP syntax structure according to an embodiment of the present invention.

[0109] Reference Figure 11 Describe the grammatical elements included in the SPS RBSP grammatical structure.

[0110] `sps_decoding_parameter_set_id` is a syntax element that indicates whether a DPS is referenced in the SPS. When the value of `sps_decoding_parameter_set_id` is greater than 0, this syntax element indicates the `dps_decoding_parameter_set_id` of the decoder parameter set (DPS) referenced in the SPS. Conversely, when the value of `sps_decoding_parameter_set_id` is 0, this syntax element indicates that the DPS is not referenced in the corresponding SPS. All SPSs referenced by the bitstream encoded image must have the same `sps_decoding_parameter_set_id` value.

[0111] `sps_video_parameter_set_id` is a syntax element indicating whether a VPS is referenced in the SPS. When the value of `sps_video_parameter_set_id` is greater than 0, it can indicate the `vps_video_parameter_set_id` of the VPS referenced in the SPS. Conversely, when the value of `sps_video_parameter_set_id` is 0, the corresponding SPS may not reference a VPS. Furthermore, when the value of `sps_video_parameter_set_id` is 0, the value of `vps_max_layers_minus1` can be inferred to be 0. Additionally, when the value of `sps_video_parameter_set_id` is 0, the encoded video sequence (CVS) may consist of only one layer.

[0112] sps_seq_parameter_set_id is a syntax element that provides an ID for SPS so that it can be referenced by other syntax elements. sps_seq_parameter_set_id can be used as information to be referenced in PPS.

[0113] `subpics_present_flag` indicates whether parameters associated with subpicks exist in the SPS RBSP syntax. A value of 1 indicates the presence of subpick-related parameters (syntax elements) in the SPS RBSP syntax, while a value of 0 indicates their absence.

[0114] When the value of subpics_present_flag is 1, parameters (syntax elements) related to the subpicks described below can be sent using signals.

[0115] sps_num_subpics_minus1 is a syntax element that indicates a value related to the number of sub - pictures. sps_num_subpics_minus1 indicates the value obtained by subtracting 1 from the number of sub - pictures. That is, the value obtained by adding 1 to the value of sps_num_subpics_minus1 can indicate the number of sub - pictures. The value of sps_num_subpics_minus1 may be between 0 and (MaxSlicesPerAu - 1). Here, MaxSlicesPerAu can have a value between 16 and 600 depending on the level. When sps_num_subpics_minus1 does not exist, the value of sps_num_subpics_minus1 can be inferred as 0.

[0116] Reference Figure 11 , when sps_num_subpics_minus1 exists, syntax elements defined for each sub - picture can be signaled. Syntax elements indicating the coordinate information of the top - left start point of the sub - picture, the width of the sub - picture, the height of the sub - picture, the information indicating whether the sub - picture is considered a picture, and the information indicating whether the loop filter is applied can be signaled.

[0117] subpic_ctu_top_left_x[i] is a syntax element that indicates the horizontal - axis position of the top - left CTU of the i - th sub - picture in units of CtbSizeY. Here, the horizontal - axis position can be indicated in coordinate form. CtbSizeY represents the size of the luminance - component CTB. CtbSizeY can be determined as 1<<CtbLog2SizeY, where CtbLog2SizeY can be determined as the value obtained by calculating sps_log2_ctu_size_minus5 + 5. CtbLog2SizeY represents the value obtained by taking the log2 of the CTB size of the luminance component. Here, the symbol "<<", as a left - shift operator, indicates that the operand input to this operator is binary - valued, and the binary - valued operand is shifted left by as many bits as the shift parameter. The number of bits of subpic_ctu_top_left_x[i] can be determined as the value obtained by calculating Ceil(Log2(pic_width_max_in_luma_samples / CtbSizeY)). Here, Ceil(A) is a function that returns the smallest number greater than the real number A. When subpic_ctu_top_left_x[i] does not exist, the value of subpic_ctu_top_left_x[i] can be inferred as 0.

[0118] `subpic_ctu_top_left_y[i]` is a syntax element that indicates the vertical axis position of the top-left CTU of the i-th subpicture, in units of `CtbSizeY`. Here, the vertical axis position can be indicated in coordinate form. The number of bits in `subpic_ctu_top_left_y[i]` can be determined by calculating `Ceil(Log2(pic_width_max_in_luma_samples / CtbSizeY))`. When `subpic_ctu_top_left_y[i]` does not exist, its value can be inferred to be 0. `pic_width_max_in_luma_samples` is a syntax element that indicates the maximum width of each decoded image referenced by the SPS.

[0119] `subpic_width_minus1[i]` is a syntax element indicating a value related to the width of the i-th subpicture. `subpic_width_minus1[i]` indicates the value obtained by subtracting 1 from the width of the i-th subpicture. That is, the value obtained by adding 1 to the value of `subpic_width_minus1[i]` can be the value indicating the width of the i-th subpicture. Here, the value indicating the width of the subpicture can be expressed in units of `CtbSizeY`. The number of bits in `subpic_width_minus1[i]` can be determined by calculating `Ceil(Log2(pic_width_max_in_luma_samples / CtbSizeY))`. When `subpic_width_minus1[i]` does not exist, the width of the subpicture can be inferred as `Ceil(pic_width_max_in_luma_samples / CtbSizeY)-1`.

[0120] `subpic_height_minus1[i]` is a syntax element indicating the value associated with the height of the i-th subpicture. `subpic_height_minus1[i]` indicates the value obtained by subtracting 1 from the height of the i-th subpicture. That is, the value obtained by adding 1 to the value of `subpic_height_minus1[i]` can be the value indicating the height of the i-th subpicture. Here, the value indicating the height of the subpicture can be expressed in units of `CtbSizeY`. The number of bits in `subpic_height_minus1[i]` can be determined by calculating `Ceil(Log2(pic_height_max_in_luma_samples / CtbSizeY))`. `pic_height_max_in_luma_samples` is a syntax element indicating the maximum height of each decoded picture from the reference SPS. When `subpic_height_minus1[i]` does not exist, the height of the subpicture can be inferred as `Ceil(pic_height_max_in_luma_samples / CtbSizeY)-1`.

[0121] `subpic_treated_as_pic_flag[i]` is a syntax element that indicates whether the decoder treats the i-th subpicture as a single picture for decoding. When `subpic_treated_as_pic_flag[i]` is 1, the i-th subpicture in a separately encoded picture within a Coding Layer Video Sequence (CLVS) can be treated as a single picture during decoding, except for loop filtering. When `subpic_treated_as_pic_flag[i]` is 0, it indicates that the i-th subpicture in a separately encoded picture within a CLVS is not treated as a single picture during decoding, except for loop filtering. When `subpic_treated_as_pic_flag[i]` is not present, its value can be inferred to be 0.

[0122] `Loop_filter_across_subpic_enabled_flag[i]` is a syntax element indicating whether the loop filter can operate at subpicte boundaries. When `Loop_filter_across_subpic_enabled_flag[i]` is 1, it indicates that the loop filter can operate at subpicte boundaries. The loop filter can be applied to the i-th subpicte of each encoding within the CLVS. When `Loop_filter_across_subpic_enabled_flag[i]` is 0, it indicates that the loop filter does not operate at subpicte boundaries. When `Loop_filter_across_subpic_enabled_flag[i]` does not exist, its value can be inferred to be 1.

[0123] In addition, parameters (syntax elements) related to the sub-pictures described below can be sent via signals.

[0124] `sps_subpic_id_present_flag` is a syntax element indicating whether a subpicked image ID mapping exists in SPS. When `sps_subpic_id_present_flag` is 1, it indicates that a subpicked image ID mapping exists in SPS. Subpicked image IDs can be reset / mapped to new ID values ​​instead of the default values. When `sps_subpic_id_present_flag` is 0, it indicates that a subpicked image ID mapping does not exist in SPS. The `sps_subpic_id_present_flag` described in this disclosure can be described as `sps_subpic_id_mapping_explicitly_signalled_flag`.

[0125] `sps_subpic_id_signalling_present_flag` is a syntax element indicating whether information related to the subpic ID mapping is signaled in the SPS. When the value of `sps_subpic_id_signalling_present_flag` is 1, information related to the subpic ID mapping (mapping values) is signaled in the SPS. When the value of `sps_subpic_id_signalling_present_flag` is 0, information related to the subpic ID mapping (mapping values) is not signaled in the SPS. When `sps_subpic_id_signalling_present_flag` does not exist, its value can be inferred to be 0. The `sps_subpic_id_signalling_present_flag` described in this disclosure can be described as `sps_subpic_id_mapping_present_flag`.

[0126] `sps_subpic_id_len_minus1` is a syntax element that indicates the number of bits used to express the value of `sps_subpic_id[i]` as described below. `sps_subpic_id_len_minus1` indicates the value obtained by subtracting 1 from the number of bits used to express the value of `sps_subpic_id[i]`. That is, the value obtained by adding 1 to `sps_subpic_id_len_minus1` indicates the number of bits used to express the value of `sps_subpic_id[i]`. The value of `sps_subpic_id_len_minus1` can be between 0 and 15.

[0127] `sps_subpic_id[i]` is a syntax element indicating the subpicture ID value of the i-th subpicture. The number of bits used to express the value of `sps_subpic_id[i]` can be calculated as `sps_subpic_id_len_minus1 + 1`. When `sps_subpic_id[i]` does not exist and the value of `sps_subpic_id_present_flag` is 0, the subpicture ID value of the i-th subpicture can be a value between 0 and the value of `sps_num_subpics_minus1`. (See reference) Figure 11Due to the for loop in the if(subpics_present_flag) syntax, the subpick ID value can be determined as the value of i incremented by 1. When sps_subpic_id[i] does not exist and the value of sps_subpic_id_present_flag is 0, the number of bits used to represent the value of sps_subpic_id[i] can be inferred as the value obtained by calculating Ceil(Log2(sps_num_subpics_minus1+1)).

[0128] exist Figure 11 In order to signal the syntax element `sps_subpic_id[i]`, the value of `sps_subpic_id_present_flag`, which indicates whether a subpicture ID mapping exists, needs to be 1. Additionally, the value of `sps_subpic_id_signalling_present_flag`, which indicates that the mapped subpicture ID value is signaled in SPS, needs to be 1. Then, the encoder / decoder can signal / parse `sps_subpic_id_len_minus1`, a syntax element indicating the number of bits used to express the subpicture ID value, and the encoder can inform the decoder that the value of `sps_subpic_id[i]` is the same as the number of subpictures previously signaled.

[0129] Figure 12 This is a diagram illustrating the RBSP syntax structure of the image parameter set according to an embodiment of the present invention.

[0130] refer to Figure 12 The following description includes the syntax elements in the PPS RBSP syntax structure.

[0131] `pps_pic_parameter_set_id` is a syntax element that distinguishes PPS so that it can be referenced by other syntax elements. The value of `pps_pic_parameter_set_id` can be between 0 and 63.

[0132] `pps_seq_parameter_set_id` is a syntax element that indicates the value corresponding to `sps_seq_parameter_set_id` used for reference in the SPS. The value of `pps_seq_parameter_set_id` must be the same across all PPSs referenced by the encoded image within CLVS.

[0133] `pic_width_in_luma_samples` is a syntax element that indicates the width of the image encoded with reference to PPS, in units of luminance samples. The value of `pic_width_in_luma_samples` is not 0 and must be a multiple of `Max(8, MinCbSizeY)`, and must be equal to or less than the value of `pic_width_max_in_luma_samples`. `pic_width_max_in_luma_samples` can indicate the maximum width of the image by the number of luminance samples. When `subpics_present_flag` is 1 or `ref_pic_resampling_enabled_flag` is 0, the value of `pic_width_in_luma_samples` must be equal to the value of `pic_width_max_in_luma_samples`. `Max(a, b)` is a function that returns the larger of "a" and "b".

[0134] `pic_height_in_luma_samples` is a syntax element that indicates the height of each decoded image of the reference PPS in units of luminance samples. The value of `pic_height_in_luma_samples` is not 0, and it must be expressed as a multiple of `Max(8, MinCbSizeY)`, and must be equal to or less than the value of `pic_height_max_in_luma_samples`.

[0135] The four syntax elements described below, pps_subpic_id_signalling_present_flag, pps_num_subpics_minus1, pps_subpic_id_len_minus1, and pps_subpic_id[i], are syntax elements in PPS associated with subpictures.

[0136] `pps_subpic_id_signalling_present_flag` is a syntax element that indicates whether subpicture ID mappings are signaled in PPS. When `pps_subpic_id_signalling_present_flag` is 1, it indicates that subpicture ID mappings are signaled in PPS. When `pps_subpic_id_signalling_present_flag` is 0, it indicates that subpicture ID mappings are not signaled in PPS. Furthermore, for `sps_subpic_id_present_flag` to be 0 or 1, the value of `pps_subpic_id_signalling_present_flag` must be 0.

[0137] `pps_num_subpics_minus1` is a syntax element indicating the number of subpicks in an image encoded with a reference PPS. The value of `pps_num_subpics_minus1` is obtained by subtracting 1 from the number of subpicks in the image encoded with the reference PPS. That is, the value obtained by adding 1 to `pps_num_subpics_minus1` indicates the number of subpicks in the image encoded with the reference PPS. As a bitstream matching condition, the value of `pps_num_subpics_minus1` must be equal to the value of `sps_num_subpics_minus1`.

[0138] `pps_subpic_id_len_minus1` is a syntax element indicating the value related to the number of bits used to express `pps_subpic_id[i]`. The value of `pps_subpic_id_len_minus1` indicates the value obtained by subtracting 1 from the number of bits used to express `pps_subpic_id[i]`. That is, the value obtained by adding 1 to the value of `pps_subpic_id_len_minus1` indicates the number of bits used to express `pps_subpic_id[i]`. The value of `pps_subpic_id_len_minus1` can range from 0 to 15. As a bitstream matching condition, the value of `pps_subpic_id_len_minus1` must be the same in all PPS referenced in the encoded picture within CLVS.

[0139] pps_subpic_id[i] is a syntax element that indicates the subpicture ID value of the i-th subpicture. The length (number of bits) of pps_subpic_id[i] can be equal to the value obtained by calculating pps_subpic_id_len_minus1+1.

[0140] Figure 13 This is a diagram illustrating the RBSP syntax structure of the image header according to an embodiment of the present invention.

[0141] refer to Figure 13 The following description includes syntax elements in the RBSP syntax structure of the image header.

[0142] `ph_pic_parameter_set_id` is a syntax element that indicates the value corresponding to `pps_pic_parameter_set_id` defined in PPS. The value of `ph_pic_parameter_set_id` can be between 0 and 63.

[0143] `ph_subpic_id_signalling_present_flag` is a syntax element that indicates whether subpicture ID mapping signaling can be sent in the picture header. When the value of `ph_subpic_id_signalling_present_flag` is 1, it indicates that subpicture ID mapping signaling can be sent in the picture header. When the value of `ph_subpic_id_signalling_present_flag` is 0, it indicates that subpicture-picture ID mapping signaling is not sent in the picture header.

[0144] `ph_subpic_id_len_minus1` is a syntax element indicating a value related to the number of bits used to express `ph_subpic_id[i]`. `ph_subpic_id_len_minus1` can indicate the value obtained by subtracting 1 from the number of bits used to express `ph_subpic_id[i]`. That is, the value obtained by adding 1 to the value of `ph_subpic_id_len_minus1` can be the number of bits used to express `ph_subpic_id[i]`. Here, the value of `ph_subpic_id_len_minus1` can be between 0 and 15. As a bitstream matching condition, the value of `ph_subpic_id_len_minus1` must be the same in all PHs referenced by the encoded picture within CLVS.

[0145] ph_subpic_id[i] is a syntax element that indicates the ID value of the i-th subpic. The number of bits used to express ph_subpic_id[i] can be calculated as ph_subpic_id_len_minus1+1.

[0146] SubpicIdList[i] is a syntax element used to determine the value of slice_subpic_id in the slice header.

[0147] The method for deriving SubpicIdList[i] is expressed by Equation 1.

[0148] [Equation 1]

[0149]

[0150] The question mark ("?") is a conditional operator, and A = B? C:D indicates that if condition B is true, then A becomes the value of C, and if condition B is false, then A becomes the value of D.

[0151] Referring to Equation 1, when the value of `sps_subpic_id_present_flag` is 1, the value of `SubpicIdList[i]` is determined based on the value of `sps_subpic_id_signalling_present_flag`. Here, when the value of `sps_subpic_id_signalling_present_flag` is 1, the value of `SubpicIdList[i]` is the same as the value of `sps_subpic_id[i]`. When the value of `sps_subpic_id_signalling_present_flag` is 0, the value of `SubpicIdList[i]` is determined based on the value of `ph_subpic_id_signalling_present_flag`. Here, when the value of `ph_subpic_id_signalling_present_flag` is 1, the value of `SubpicIdList[i]` is the same as the value of `ph_subpic_id[i]`. When the value of `ph_subpic_id_signalling_present_flag` is 0, the value of `SubpicIdList[i]` is the same as the value of `pps_subpic_id[i]`.

[0152] Meanwhile, when the value of sps_subpic_id_present_flag is 0, the value of SubpicIdList[i] is equal to the index i.

[0153] Figure 14 This is a diagram illustrating the RBSP syntax structure of the image header according to an embodiment of the present invention.

[0154] In detail, Figure 14 This shows that ph_subpic_id[i] is always sent / parsed using signals in the RBSP syntax structure of the image header.

[0155] according to Figure 13 The conditions for sending / resolving SubpicIdList[i] using signals, as described in [the document], may include cases where ph_subpic_id[i] does not exist. For example, as shown in Equation 1, when the value of sps_subpic_id_present_flag is 1, the value of sps_subpic_id_signalling_present_flag is 0, and when the value of ph_subpic_id_signalling_present_flag is 0, SubpicIdList[i] = pps_subpic_id[i]. However, there may be cases where the value of pps_subpic_id[i] does not exist. This is because the conditions (i.e., sps_subpic_id_present_flag && !sps_subpic_id_signalling_flag) are not considered when sending / resolving pps_subpic_id_signalling_flag using signals, so the value of pps_subpic_id_signalling_present_flag may be 0. When the value of pps_subpic_id_signalling_present_flag is 0, the subpic ID value may not be sent in PPS, and therefore the value of pps_subpic_id[i] may not exist. Figure 14 The diagram illustrates an example used to solve this problem. (Reference) Figure 14There exists a condition for signaling / resolving ph_subpic_id[i] in the RBSP syntax structure of the image header. Specifically, when sps_subpic_id_present_flag && ! sps_subpic_id_signalling_flag is true, ph_subpic_id_len_minus1 and ph_subpic_id[i] can be signaled / resolved. In the image header, when sps_subpic_id_present_flag is true (i.e., sps_subpic_id_present_flag is 1) and sps_subpic_id_signalling_flag is 0, a subpicked image ID value not signaled in SPS can be sent. Sending a subpicked image ID value in the image header may be independent of whether the subpicked image ID value exists in PPS.

[0156] Figure 15 This is a diagram illustrating the RBSP syntax structure of the image header according to an embodiment of the present invention.

[0157] Figure 15 The diagram illustrates another method for always signaling / parsing the value of ph_subpic_id[i] to resolve the aforementioned case where the value of SubpicIdList[i] does not exist according to the signaling / parsing condition.

[0158] When the conditions `sps_subpic_id_present_flag&&! sps_subpic_id_signalling_flag&&! pps_subpic_id_signalling_flag` are true, `ph_subpic_id_len_minus1` and `ph_subpic_id[i]` can be signaled / resolved. In other words, Figure 15 A format is proposed in which conditions related to pps_subpic_id_signalling_flag are added to the reference. Figure 14 The conditions described. (In addition to references) Figure 14 In addition to the conditions stated, when the value of pps_subpic_id_signalling_flag is 0, subpic_id[i] may not need to be signaled / parsed in both SPS RBSP and PPS RBSP syntax. In this case, it can be indicated that subpic_id[i] needs to be signaled / parsed in the image header.

[0159] Figure 16 The diagram illustrates the RBSP (Image Parameter Set) syntax structure and semantics according to an embodiment of the present invention.

[0160] Figure 16 The diagram illustrates another method for always signaling / parsing the value of ph_subpic_id[i] to resolve the aforementioned case where the value of SubpicIdList[i] does not exist according to the signaling / parsing condition.

[0161] Figure 16 The illustration shows the reference. Figure 13 The described image header RBSP syntax structure adds additional conditions to the semantics of the description pps_subpic_id_signalling_present_flag.

[0162] The following describes the additional condition: [When sps_subpic_id_present_flag equals 1 and sps_subpic_id_signalling_present_flag equals 0, pps_subpic_id_signalling_present_flag should equal 1]. In other words, when the value of sps_subpic_id_present_flag is 1 and the value of sps_subpic_id_signalling_present_flag is 0, the value of pps_subpic_id_signalling_present_flag can be set to 1. That is, in cases indicating the existence of a subpicture ID mapping in SPS but not signaling the subpicture ID value in SPS, the value of pps_subpic_id_signalling_present_flag can be set to 1 in PPS, and the subpicture ID value can be signaled / resolved in PPS. This is effective in terms of the degree of freedom in transmitting subpicture ID values, since the subpicture ID value can be sent in the picture header. When sending the subpic ID value in both the picture header and PPS as previously configured, the value of SubpicIdList[i] can be determined as the value of the picture header.

[0163] Figure 17 This is a diagram illustrating a method for determining the array variable SubpicIdList[i] according to an embodiment of the present invention.

[0164] In detail, Figure 17 This is a diagram illustrating a method for solving potential problems in Equation 1.

[0165] Figure 17This shows that when `sps_subpic_id_present_flag` is true (i.e., its value is 1), `sps_subpic_id_signalling_present_flag` is false (i.e., its value is 0), and `ph_subpic_id_signalling_present_flag` is false (i.e., its value is 0), the condition of `pps_subpic_id_signalling_present_flag` is checked again. The encoder / decoder can check the condition of `pps_subpic_id_signalling_present_flag` again, and can determine `SubpicIdList[i]` as `pps_subpic_id[i]` when `pps_subpic_id_signalling_present_flag` is true (i.e., its value is 1), and determine the value of index `i` of `SubpicIdList[i]` when `pps_subpic_id_signalling_present_flag` is false (i.e., its value is 0).

[0166] Additionally, as a bitstream matching condition, one could consider requiring at least one of the values ​​of sps_subpic_id_signalling_present_flag, pps_subpic_id_signalling_present_flag, and ph_subpic_id_signalling_present_flag to be 1 when the value of sps_subpic_id_present_flag is 1.

[0167] [A value of 1 for `sps_subpic_id_present_flag` indicates that the subpick ID mapping exists in the SPS. A value of 0 for `sps_subpic_id_present_flag` indicates that the subpick ID mapping does not exist in the SPS. Bitstream consistency requires that one of the following values ​​should be equal to 1: `sps_subpic_id_signalling_present_flag`, `pps_subpic_id_signalling_present_flag`, or `ph_subpic_id_signalling_present_flag`.]

[0168] Figure 18 This is a diagram illustrating the sequence parameter set RBSP syntax structure according to an embodiment of the present invention.

[0169] Figure 18This is a diagram illustrating the structure in the SPS RBSP syntax structure where `sps_subpic_id_present_flag` is sent / resolved using signals. `sps_subpic_id_present_flag` is a syntax element indicating whether a subpicture ID mapping exists, and is likely meaningful if a subpicture exists. References Figure 11 In SPS, `sps_subpic_id_present_flag` is sent / resolved using a signal, regardless of the resolution result of `subpics_present_flag` (which indicates whether a subpick exists in the image, regardless of whether it's true or false). Therefore, as mentioned above, when `subpics_present_flag` has a value of 0, `sps_subpic_id_present_flag` is no longer meaningful. In other words, if a subpick does not exist in the image, then `sps_subpic_id_present_flag`, as a syntax element indicating the existence of a subpick ID mapping, is unnecessary because the subpick ID mapping obviously does not exist. Therefore, according to... Figure 18 When subpics_present_flag is true, it can be sent / parsed using signals.

[0170] Figure 19 This is a diagram illustrating the sequence parameter set RBSP syntax structure according to an embodiment of the present invention.

[0171] In detail, Figure 19 This relates to syntax elements in connection with partitions in the SPS RBSP syntax structure according to embodiments of the present invention.

[0172] `log2_min_luma_coding_block_size_minus2` is a syntax element indicating a value related to the minimum luminance coding block size. `log2_min_luma_coding_block_size_minus2` indicates the value obtained by subtracting 2 from the minimum luminance coding block size. That is, the value obtained by adding 2 to the value of `log2_min_luma_coding_block_size_minus2` indicates the minimum luminance coding block size. Here, `log2_min_luma_coding_block_size_minus2` can have values ​​between 0 and (sps_log2_ctu_size_minus5 + 3). `sps_log2_ctu_size_minus5` is a syntax element indicating a value related to the size of the luminance coding tree block of the coding tree unit. `sps_log2_ctu_size_minus5` can be signaled / resolved in SPS and can have values ​​between 0 and 2.

[0173] Equation 2 can be used to calculate the variables MinCbLog2SizeY, MinCbSizeY, IbcBufWidthY, IbcBufWidthC, and Vsize that can be used in this invention.

[0174] [Equation 2]

[0175] MinCbLog2SizeY=log2_min_luma_coding_block_size_minus2+2

[0176] MinCbSizeY=1< <MinCbLog2SizeY

[0177] lbcBufWidthY=256*128 / CtbSizeY

[0178] lbcBufWidthC=IbcBufWidthY / SubWidthC

[0179] VSize = Min(64, CtbSizeY)

[0180] MinCbLog2SizeY represents the minimum luma coding block size in log2, MinCbSizeY represents the minimum coding block size, IbcBufWidthY represents the luma buffer size that can store the reference area necessary for intra-block copying, and IbcBufWidthC represents the chroma buffer size that can store the reference area necessary for intra-block copying.

[0181] Min(a, b) is a function that returns the smaller of "a" and "b". The variable MinCbSizeY must be equal to or less than VSize.

[0182] `partition_constraints_override_enabled_flag` is a syntax element indicating whether `partition_constraints_override_flag` exists in the image header of the reference SPS. This `partition_constraints_override_flag` is a partition constraint syntax element (flag). When the value of `partition_constraints_override_enabled_flag` is 1, it indicates that `partition_constraints_override_flag` may exist in the image header of the reference SPS. When the value of `partition_constraints_override_enabled_flag` is 0, it indicates that `partition_constraints_override_flag` does not exist in the image header of the reference SPS.

[0183] The Log2 described in this disclosure is the log2(A) operator.

[0184] `sps_log2_diff_min_qt_min_cb_intra_slice_luma` is a syntax element indicating the difference between the value obtained by taking the binary logarithm of the minimum size of the luminance samples of the luminance leaf blocks resulting from quadtree segmentation as a CTU, and the value obtained by taking the binary logarithm of the minimum coding block size of the luminance coding units in a slice of slice type 2 (I slice) of the reference SPS. When `partition_constraints_override_enabled_flag` is 1, `sps_log2_diff_min_qt_min_cb_luma` can be changed to the value of `pic_log2_diff_min_qt_min_cb_luma` if `pic_log2_diff_min_qt_min_cb_luma` exists in the image header of the reference SPS. The value of sps_log2_diff_min_qt_min_cb_intra_slice_luma may be between 0 and (CtbLog2SizeY - MinCbLog2SizeY). The value (MinQtLog2SizeIntraY), obtained by taking the binary logarithm of the minimum size of the luminance sample of the luminance leaf block as a result of the quadtree segmentation of the CTU, can be calculated as shown in Equation 3.

[0185] [Equation 3]

[0186] MinQtLog2SizeIntraYsps_log2_diff_min_qt_min_cb_intra_slice_luma+MinCbLog2SizeY

[0187] `sps_log2_diff_min_qt_min_cb_inter_slice` is a syntax element indicating the difference between the value obtained by taking the binary logarithm of the minimum size of the luminance samples from the luminance leaf blocks resulting from the quadtree segmentation of the CTU, and the value obtained by taking the binary logarithm of the minimum coding block size of the luminance coding unit in a slice of slice type 0 (B slice), 1 (P slice), or 2 (I slice) of the reference SPS. When `partition_constraints_override_enabled_flag` is 1, the value of `sps_log2_diff_min_qt_min_cb_inter_slice` can be changed to the value of `pic_log2_diff_min_qt_min_cb_luma` present in the image header of the reference SPS. The value of `sps_log2_diff_min_qt_min_cb_inter_slice` can be between 0 and (CtbLog2SizeY - MinCbLog2SizeY). The value (MinQtLog2SizeInterY) obtained by taking the binary logarithm of the minimum brightness sample size of the brightness leaf block, which is the result of the quadtree segmentation of CTU, can be calculated as shown in Equation 4.

[0188] [Equation 4]

[0189] MinQtLog2SizeInterY=sps_log2_diff_min_qt_min_cb_inter_slice+MinCbLog2SizeY

[0190] `sps_max_mtt_hierarchy_depth_inter_slice` is a syntax element indicating the basic maximum hierarchical depth of a coding unit. Here, a coding unit can be the result of multi-type segmentation of a quadruple leaf node in a slice of slice type 0 (B slice) or slice type 1 (P slice) of the reference SPS. In other words, `sps_max_mtt_hierarchy_depth_inter_slice` can be a syntax element indicating the maximum number of times a coding unit can be segmented in an inter-frame slice in a multi-type manner. When the value of `partition_constraints_override_enabled_flag` is 1, the value of `sps_max_mtt_hierarchy_depth_inter_slice` can be changed to the value of `pic_max_mtt_hierarchy_depth_inter_slice` present in the image header of the reference SPS.

[0191] The value of sps_max_mtt_hierarchy_depth_inter_slice can be between 0 and 2.

[0192] Between (CtbLog2SizeY-MinCbLog2SizeY).

[0193] `sps_max_mtt_hierarchy_depth_intra_slice_luma` is a syntax element indicating the basic maximum hierarchical depth of a coding unit. Here, a coding unit can be the result of multi-type segmentation of a quadruple leaf node in a slice of slice type 2 (I slice) of the reference SPS. That is, this can be a syntax element indicating the maximum number of times a coding unit can be further segmented in multi-type form within an intra-frame slice. When the value of `partition_constraints_override_enabled_flag` is 1, the value of `sps_max_mtt_hierarchy_depth_intra_slice_luma` can be changed to the value of `pic_max_mtt_hierarchy_depth_intra_slice_luma` present in the image header of the reference SPS.

[0194] sps_max_mtt_hierarchy_depth_intra_slice_luma can be a value between 0 and 2*(CtbLog2SizeY-MinCbLog2SizeY).

[0195] `sps_log2_diff_max_bt_min_qt_intra_slice_luma` can be a syntax element indicating the difference between the value obtained by taking the binary logarithm of the maximum size (width or height) of the luma coding block that can be binary-divided and the value obtained by taking the binary logarithm of the minimum size (width or height) of the luma leaf block resulting from quadtree partitioning of the CTU in a slice of slice type 2 (I slice) used as a reference SPS. When `partition_constraints_override_enabled_flag` is 1, the value of `sps_log2_diff_max_bt_min_qt_intra_slice_luma` can be changed to the value of `pic_log2_diff_max_bt_min_qt_luma` present in the image header of the reference SPS. The value of `sps_log2_diff_max_bt_min_qt_intra_slice_luma` can be between 0 and (CtbLog2SizeY - MinQtLog2SizeIntraY). When sps_log2_diff_max_bt_min_qt_intra_slice_luma does not exist, the value of sps_log2_diff_max_bt_min_qt_intra_slice_luma can be inferred to be 0.

[0196] `sps_log2_diff_max_tt_min_qt_intra_slice_luma` can be a syntax element indicating the difference between the value obtained by taking the binary logarithm of the maximum size (width or height) of the luma coding block that can be ternarily divided and the value obtained by taking the binary logarithm of the minimum size (width or height) of the luma leaf node resulting from quadtree segmentation of the CTU in a slice type 2 (I slice) slice used as a reference SPS. When `partition_constraints_override_enabled_flag` is 1, the value of `sps_log2_diff_max_tt_min_qt_intra_slice_luma` can be changed to the value of `pic_log2_diff_max_tt_min_qt_luma` present in the image header of the reference SPS. The value of `sps_log2_diff_max_tt_min_qt_intra_slice_luma` can be between 0 and (CtbLog2SizeY - MinQtLog2SizeIntraY). When sps_log2_diff_max_tt_min_qt_intra_slice_luma does not exist, the value of sps_log2_diff_max_tt_min_qt_intra_slice_luma can be inferred to be 0.

[0197] `sps_log2_diff_max_bt_min_qt_inter_slice` can be a syntax element indicating the difference between the value obtained by taking the binary logarithm of the maximum size (width or height) of the luma coding block that can be binary-divided and the value obtained by taking the binary logarithm of the minimum size of the luma leaf block resulting from quadtree partitioning of the CTU in a slice of slice type 0 (B slice) or 1 (P slice) used as a reference SPS. When `partition_constraints_override_enabled_flag` is 1, the value of `sps_log2_diff_max_bt_min_qt_inter_slice` can be changed to the value of `pic_log2_diff_max_bt_min_qt_luma` present in the image header of the reference SPS. The value of `sps_log2_diff_max_bt_min_qt_inter_slice` can be between 0 and (CtbLog2SizeY - MinQtLog2SizeInterY). When sps_log2_diff_max_bt_min_qt_inter_slice does not exist, the value of sps_log2_diff_max_bt_min_qt_inter_slice can be inferred to be 0.

[0198] sps_log2_diff_max_tt_min_qt_inter_slice can be a syntax element indicating the difference between the value obtained by taking the binary logarithm of the maximum size (width or height) of the luminance coding block that can be ternarily divided and the value obtained by taking the binary logarithm of the minimum size of the luminance leaf block resulting from quadtree segmentation of the CTU in a slice of slice type 0 (B slice) or 1 (P slice) as a reference SPS.

[0199] When `partition_constraints_override_enabled_flag` is 1, its value can be changed to the value of `pic_log2_diff_max_tt_min_qt_luma` present in the image header of the reference SPS. The value of `sps_log2_diff_max_tt_min_qt_inter_slice` may be between 0 and (CtbLog2SizeY - MinQtLog2SizeInterY). When `sps_log2_diff_max_tt_min_qt_inter_slice` does not exist, its value can be inferred to be 0.

[0200] `sps_log2_diff_min_qt_min_cb_intra_slice_chroma` can be a syntax element indicating the difference between the value obtained by taking the binary logarithm of the minimum size of the chroma leaf block resulting from a quadtree partition of a chroma CTU of tree type DUAL_TREE_CHROMA, and the value obtained by taking the binary logarithm of the minimum coding block size of a chroma CU of tree type DUAL_TREE_CHROMA in a slice of slice type 2 (I slice) of the reference SPS. When `partition_constraints_override_enabled_flag` is 1, the value of `sps_log2_diff_min_qt_min_cb_intra_slice_chroma` can be changed to the value of `pic_log2_diff_min_qt_min_cb_chroma` present in the image header of the reference SPS.

[0201] sps_log2_diff_min_qt_min_cb_intra_slice_chroma can have values ​​between 0 and (CtbLog2SizeY - MinCbLog2SizeY). When sps_log2_diff_min_qt_min_cb_intra_slice_chroma does not exist, the value of sps_log2_diff_min_qt_min_cb_intra_slice_chroma can be inferred to be 0. The value (MinQtLog2SizeIntraC) obtained by taking the binary logarithm of the minimum size of the chroma leaf block as a result of quadtree partitioning of a chroma CTU with tree type DUAL_TREE_CHROMA can be calculated as shown in Equation 5.

[0202] [Equation 5]

[0203] MinQtLog2SizeIntraC=sps_log2_diff_min_qt_min_cb_intra_slice_chroma+MinCbLog2SizeY

[0204] `sps_max_mtt_hierarchy_depth_intra_slice_chroma` can be a syntax element indicating the basic maximum hierarchical depth of a chroma coding unit resulting from multi-type segmentation of chroma quadrilateral leaf nodes with tree type `DUAL_TREE_CHROMA` in a slice of slice type 2 (I slice) of the reference SPS. When the value of `partition_constraints_override_enabled_flag` is 1, the value of `sps_max_mtt_hierarchy_depth_intra_slice_chroma` can be changed to the value of `pic_max_mtt_hierarchy_depth_intra_slice_chroma` present in the image header of the reference SPS. The value of `sps_max_mtt_hierarchy_depth_intra_slice_chroma` can be between 0 and 2 * (CtbLog2SizeY - MinCbLog2SizeY). When sps_max_mtt_hierarchy_depth_intra_slice_chroma does not exist, the value of sps_max_mtt_hierarchy_depth_intra_slice_chroma can be inferred to be 0.

[0205] `sps_log2_diff_max_bt_min_qt_intra_slice_chroma` can be a syntax element indicating the difference between the value obtained by taking the binary logarithm of the maximum size (width or height) of the chroma-coded block capable of binary partitioning and the value obtained by taking the binary logarithm of the minimum size (width or height) of the chroma leaf block resulting from a quadtree partition of the chroma CTU with tree type `DUAL_TREE_CHROMA` in a slice of slice type 2 (I slice) in the reference SPS. When `partition_constraints_override_enabled_flag` is 1, the value of `sps_log2_diff_max_bt_min_qt_intra_slice_chroma` can be changed to the value of `pic_log2_diff_max_bt_min_qt_chroma` present in the picture header of the reference SPS. The value of sps_log2_diff_max_bt_min_qt_intra_slice_chroma can be between 0 and (CtbLog2SizeY - MinQtLog2SizeIntraC). When sps_log2_diff_max_bt_min_qt_intra_slice_chroma does not exist, its value can be inferred to be 0.

[0206] `sps_log2_diff_max_tt_min_qt_intra_slice_chroma` can be a syntax element indicating the difference between the value obtained by taking the binary logarithm of the maximum size (width or height) of a chroma-coded block that can be ternarily divided and the value obtained by taking the binary logarithm of the minimum size (width or height) of a chroma leaf block resulting from a quadtree partition of a chroma CTU with tree type `DUAL_TREE_CHROMA` in a slice of slice type 2 (I slice) in the reference SPS. When `partition_constraints_override_enabled_flag` is 1, the value of `sps_log2_diff_max_tt_min_qt_intra_slice_chroma` can be changed to the value of `pic_log2_diff_max_tt_min_qt_chroma` present in the picture header of the reference SPS. The value of sps_log2_diff_max_tt_min_qt_intra_slice_chroma can be between 0 and (CtbLog2SizeY - MinQtLog2SizeIntraC). When sps_log2_diff_max_tt_min_qt_intra_slice_chroma does not exist, its value can be inferred to be 0.

[0207] The slice types described in this disclosure can include three types. Slice type 0 can be a B slice, slice type 1 can be a P slice, and slice type 2 can be an I slice. Slice types 0 and 1 can be encoded / decoded using inter-frame prediction and intra-frame prediction methods, and slice type 2 can be encoded / decoded using only intra-frame prediction.

[0208] The tree types described in this disclosure can include two types. These types can be broadly classified as single-tree and dual-tree. Here, dual-tree can be classified based on whether the blocks are luma (DUAL_TREE_LUMA) components or chroma (DUAL_TREE_CHROMA) components. In a single-tree, the same method can be used to segment the luma component blocks and the chroma component blocks when segmenting blocks. In a dual-tree, different methods can be used to segment the luma component blocks and the chroma component blocks when segmenting blocks.

[0209] Figure 20 This is a diagram illustrating the sequence parameter set RBSP syntax structure according to an embodiment of the present invention.

[0210] In detail, Figure 20This illustrates the structure in which syntax elements related to the coding block partitioning in the SPS RBSP syntax are signaled / parsed. Among the variables mentioned above, MinCbSizeY and CtbSizeY can have the same value. The value of log2_min_luma_coding_block_size_minus2 can be between 0 and (sps_log2_ctu_size_minus5+3). For example, when the value of sps_log2_ctu_size_minus5 is 0, the size of the CTU might be 32, and here, the value of log2_min_luma_coding_block_size_minus2 might be between 0 and 3. When the value of log2_min_luma_coding_block_size_minus2 is 3, according to Equation 2, the value of MinCbLog2SizeY is 5 and the value of MinCbSizeY is 32 (i.e., 1<<5). MinCbSizeY and CtbSizeY become equal. Even when `sps_log2_ctu_size_minus5` is 1, `MinCbSizeY` and `CtbSizeY` may become equal. However, when `sps_log2_ctu_size_minus5` is 2, `MinCbSizeY` and `CtbSizeY` may not be equal. When `MinCbSizeY` and `CtbSizeY` are equal... Figure 20 A portion of the partition-related syntax element can indicate a value of 0. Therefore, when MinCbSizeY and CtbSizeY are equal, the partition-related syntax element can be inferred to have a value of 0 and will not be signaled / parsed. For example, among the syntax elements, sps_log2_diff_min_qt_min_cb_intra_slice_luma, sps_log2_diff_min_qt_min_cb_inter_slice, sps_max_mtt_hierarchy_depth_inter_slice, sps_max_mtt_hierarchy_depth_intra_slice_luma, sps_log2_diff_min_qt_min_cb_intra_slice_chroma, and sps_max_mtt_hierarchy_depth_intra_slice_chroma, as syntax elements with values ​​between 0 and (CtbLog2SizeY - MinCbLog2SizeY), can be inferred to have a value of 0.

[0211] The syntax elements `sps_log2_diff_max_bt_min_qt_intra_slice_luma`, `sps_log2_diff_max_tt_min_qt_intra_slice_luma`, `sps_log2_diff_max_bt_min_qt_inter_slice`, and `sps_log2_diff_max_tt_min_qt_inter_slice` can have values ​​between 0 and (CtbLog2SizeY - MinQtLog2SizeIntraY). Since the value of `sps_log2_diff_min_qt_min_cb_inter_slice` is inferred to be 0, according to Equation 4, MinQtLog2SizeIntraY equals MinCbLog2SizeY. The value of CtbLog2SizeY can be 0, which is equal to the value of MinCbLog2SizeY.

[0212] The syntax elements `sps_log2_diff_max_bt_min_qt_intra_slice_chroma` and `sps_log2_diff_max_tt_min_qt_intra_slice_chroma` can have values ​​between 0 and (CtbLog2SizeY - MinQtLog2SizeIntraC). Since the value of `sps_log2_diff_min_qt_min_cb_intra_slice_chroma` is inferred to be 0, according to Equation 5, MinQtLog2SizeIntraC equals MinCbLog2SizeY. The value of `CtbLog2SizeY` can be 0, which is equal to the value of `MinCbLog2SizeY`.

[0213] Therefore, only when the values ​​of MinCbSizeY and CtbSizeY are not equal, Figure 20The syntax elements `partition_constraints_override_enabled_flag`, `sps_log2_diff_min_qt_min_cb_intra_slice_luma`, `sps_log2_diff_min_qt_min_cb_inter_slice`, `sps_max_mtt_hierarchy_depth_inter_slice`, and `sps_max_mtt_hierarchy_depth_intra_slice_luma` can only be sent / resolved using signals. In other words, these syntax elements can be sent / resolved using signals when the condition 'MinCbSizeY != CtbSizeY' is true. Furthermore, when parameters (syntax elements) related to coded block partitions exist in the image header referencing SPS, the values ​​of these partition-related parameters take precedence over the values ​​defined in SPS. In other words, the values ​​of the partition-related parameters are changed to the values ​​defined in the image header. Furthermore, the syntax elements `sps_log2_diff_min_qt_min_cb_intra_slice_chroma` and `sps_max_mtt_hierarchy_depth_intra_slice_chroma`, which are signaled / parsed when `qtbtt_dual_tree_intra_flag` is true, can only be signaled / parsed separately if the condition `(MinCbSizeY != CtbSizeY)` is true. `qtbtt_dual_tree_intra_flag` is a syntax element indicating that the coded block can be segmented for each tree type.

[0214] Figure 21 This is a diagram illustrating the RBSP syntax structure of the image header according to an embodiment of the present invention.

[0215] Figure 21 This section details the parameter overriding syntax elements related to block partitioning included in the RBSP syntax structure of the image header. (See references.) Figure 21 When the `partition_constraints_override_enabled_flag` of the SPS RBSP syntax referenced by the image header is true, the parameters (syntax elements) corresponding to the block partitioning-related parameters (syntax elements) defined in the SPS RBSP syntax exist in the image header. Here, values ​​defined in the image header can be used preferentially when partitioning blocks. The partitioning-related parameters defined in the image header may differ from those referenced above. Figure 20 The same question was raised. However, see reference Figure 20When MinCbSizeY and CtbSizeY are not equal, the syntax element partition_constraints_override_enabled_flag is signaled / resolved. Therefore, a new value can only be defined in the image header if the value of partition_constraints_override_enabled_flag is true (i.e., 1), and the newly defined value can be used preferentially when partitioning blocks.

[0216] Figure 22 This is a diagram illustrating the RBSP syntax structure of the image header according to an embodiment of the present invention.

[0217] For details, please refer to Figure 22 The syntax elements included in the RBSP syntax structure of the image header can be related to the information necessary to determine the quantization parameter (qp) value of the coding unit.

[0218] When the value of cu_qp_delta_enabled_flag is 1, it indicates that the syntax elements pic_cu_qp_delta_subdiv_intra_slice and pic_cu_qp_delta_subdiv_inter_slice can exist in the image header of the reference SPS. Furthermore, when the value of cu_qp_delta_enabled_flag is 1, it indicates that cu_qp_delta_abs may exist in the transform unit.

[0219] `pic_cu_qp_delta_subdiv_intra_slice` is a syntax element indicating the maximum `cbSubdiv` value of the coding unit within the intra-slice that communicates `cu_qp_delta_abs` and `cu_qp_delta_sign_flag`. The value of `pic_cu_qp_delta_subdiv_intra_slice` can be between 0 and 2 * (CtbLog2SizeY - MinQtLog2SizeIntraY + pic_max_mtt_hierarchy_depth_intra_slice_luma). When `pic_cu_qp_delta_subdiv_intra_slice` does not exist, its value can be inferred to be 0.

[0220] `pic_cu_qp_delta_subdiv_inter_slice` is a syntax element indicating the maximum `cbSubdiv` value of the coding unit in the inter-frame slice that conveys `cu_qp_delta_abs` and `cu_qp_delta_sign_flag`. The value of `pic_cu_qp_delta_subdiv_inter_slice` can be between 0 and 2 * (CtbLog2SizeY - MinQtLog2SizeInterY + pic_max_mtt_hierarchy_depth_inter_slice). When `pic_cu_qp_delta_subdiv_inter_slice` does not exist, its value can be inferred as 0.

[0221] `pic_cu_chroma_qp_offset_subdiv_intra_slice` is a syntax element indicating the maximum `cbSubdiv` value of the coding unit within the intra-slice that conveys the `cu_chroma_qp_offset_flag`. The value of `pic_cu_chroma_qp_offset_subdiv_intra_slice` can be between 0 and 2 * (CtbLog2SizeY - MinQtLog2SizeIntraY + pic_max_mtt_hierarchy_depth_intra_slice_luma). When `pic_cu_chroma_qp_offset_subdiv_intra_slice` does not exist, its value can be inferred to be 0.

[0222] `pic_cu_chroma_qp_offset_subdiv_inter_slice` is a syntax element indicating the maximum `cbSubdiv` value of the coding unit in the inter-slice that conveys the `cu_chroma_qp_offset_flag`. The value of `pic_cu_chroma_qp_offset_subdiv_inter_slice` can be between 0 and 2 * (CtbLog2SizeY - MinQtLog2SizeInterY + pic_max_mtt_hierarchy_depth_inter_slice). When `pic_cu_chroma_qp_offset_subdiv_inter_slice` does not exist, its value can be inferred to be 0.

[0223] Figure 23 This is a diagram illustrating the RBSP syntax structure of the image header according to an embodiment of the present invention.

[0224] In detail, Figure 23 The diagram shows that the quantization parameter-related syntax elements included in the RBSP syntax structure of the image header are sent / parsed using signals. (Reference) Figure 22 The quantization parameter-related syntax element `pic_cu_qp_delta_subdiv_intra_slice` can have values ​​between 0 and 2 * (CtbLog2SizeY - MinQtLog2SizeIntraY + pic_max_mtt_hierarchy_depth_intra_slice_luma). Also, as referenced above... Figure 20 As mentioned, MinCbSizeY and CtbSizeY may have the same value. In this case, the value of pic_max_mtt_hierarchy_depth_intra_slice_luma is 0. Additionally, MinQtLog2SizeIntraY has the same value as MinCbLog2SizeY and CtbLog2SizeY, and here, that value is 0. Therefore, the value of pic_cu_qp_delta_subdiv_intra_slice is only 0. Another syntax element, pic_cu_qp_delta_subdiv_inter_slice, may have a value between 0 and 2*(CtbLog2SizeY-MinQtLog2SizeInterY+pic_max_mtt_hierarchy_depth_inter_slice). Again, in this case, as referenced above... Figure 20 As mentioned, MinCbSizeY and CtbSizeY may have the same value. In this case, the value of pic_max_mtt_hierarchy_depth_inter_slice is 0. Additionally, the value of MinQtLog2SizeInterY is the same as the values ​​of MinCbLog2SizeY and CtbLog2SizeY, and here, that value is 0. Therefore, the value of pic_cu_qp_delta_subdiv_inter_slice is only 0. For the same reason, pic_cu_chroma_qp_offset_subdiv_intra_slice and pic_cu_chroma_qp_offset_subdiv_inter_slice can also have a value of 0. Therefore, because the quantization parameter-related syntax elements have a value of 0 when MinCbSizeY and CtbSizeY have the same value, when in Figure 23 When MinCbSizeY and CtbSizeY have different values ​​(i.e., CtbSizeY != MinCbSizeY), the quantization parameter related syntax elements present in the image header can be sent / parsed using signals.

[0225] Figure 24 This is a diagram illustrating the sequence parameter set RBSP syntax structure according to an embodiment of the present invention.

[0226] When the value of `sps_video_parameter_set_id` is greater than 0, it indicates the `vps_video_parameter_set_id` of the VPS referenced in the SPS. When the value of `sps_video_parameter_set_id` is 0, the SPS may not be referencing a VPS, and the value of `vps_max_layers_minus1` can be inferred to be 0. Here, the CVS may include only one layer.

[0227] `sps_seq_parameter_set_id` is a syntax element that provides an ID for the SPS so that it can be referenced by other syntax elements. Here, the ID used for the SPS can be used as information to be referenced in the PPS.

[0228] `subpics_present_flag` is a syntax element that indicates whether parameters (syntax elements) related to subpicks exist in the SPS RBSP syntax structure. When `subpics_present_flag` is 1, it indicates that parameters related to subpicks exist in the SPS RBSP syntax structure. When `subpics_present_flag` is 0, it indicates that parameters related to subpicks do not exist in the SPS RBSP syntax structure. When `subpics_present_flag` is 1, the subpicks-related parameters described below can be sent / resolved using signals. The `subpics_present_flag` described in this disclosure is related to... Figure 24 The same syntax elements as `subpic_info_present_flag` are used, and these elements are interchangeable in this disclosure. Here, in the subpick-related parameters sent / resolved using signals, the same syntax elements as `subpic_info_present_flag` will not be described. Figure 11 The parameters are the same.

[0229] `subpic_id_mapping_explicity_signalled_flag` is a syntax element indicating whether a subpicture ID map is explicitly signaled. Here, the subpicture ID map can be signaled in the SPS or PPS referenced by the CLVS encoded picture. When the value of `subpic_id_mapping_explicity_signalled_flag` is 1, it indicates that the subpicture ID map is explicitly signaled in CLVS. When the value of `subpic_id_mapping_explicity_signalled_flag` is 0, it indicates that the subpicture ID map is not explicitly signaled in CLVS. When `subpic_id_mapping_explicity_signalled_flag` does not exist, its value can be inferred to be 0.

[0230] `subpic_id_mapping_in_sps_flag` is a signaling-level syntax element that indicates the subpic ID mapping when `subpic_id_mapping_explicity_signalled_flag` is 1. When `subpic_id_mapping_in_sps_flag` is 1, it indicates that the subpic ID mapping is signaled in SPS. When `subpic_id_mapping_in_sps_flag` is 0, it indicates that the subpic ID mapping is signaled in PPS.

[0231] Figure 25 This is a diagram illustrating the sequence parameter set RBSP syntax structure according to an embodiment of the present invention.

[0232] In detail, Figure 25 This illustrates the SPS RBSP syntax structure, which includes syntax elements related to the number of sub-images. (Reference) Figure 25 ,when Figure 24 When the value of `subpic_info_present_flag` is 1, a signal can be sent / resolved to indicate the presence of subpicture information based on the basic information of the syntax element. A single image can be divided into multiple subpictures. Here, the number of subpictures can be obtained by adding 1 to the value of `sps_num_subpics_minus1`. The value indicating the number of subpictures can be between 0 and `Ceil(pic_width_max_in_luma_samples÷CtbSizeY)*Ceil(pic_height_max_in_luma_samples÷CtbSizeY)–1`. When the value of `sps_num_subpics_minus1` is 0, the number of subpictures is 1. That is, a single image having 1 subpicture has the same meaning as a single image not being divided into subpictures. When the value of sps_num_subpics_minus1 is 0, multiple pieces of information (syntax elements) can be inferred without being sent / parsed, taking into account various situations that may occur when there are multiple subpicks. Figure 25The syntax structure illustrated in the diagram indicates that when the value of `sps_num_subpics_minus1` is 0, the values ​​of `sps_independent_subpics_flag`, `sps_subpic_id_len_minus1`, and `subpic_id_mapping_explicitly_signalled_flag` can be inferred. Here, each inferred value can be 0. Furthermore, each inferred value can be inferred as a separate value for performing a preset operation. In other words, when the number of subpicks is at least 2 (i.e., `sps_num_subpics_minus1 > 0`), `sps_independent_subpics_flag`, `sps_subpic_id_len_minus1`, and `subpic_id_mapping_explicitly_signalled_flag` can be signaled / resolved. `sps_independent_subpics_flag` is a syntax element indicating whether the boundaries of all subpicks are considered as the boundaries of the image. Furthermore, `sps_independent_subpics_flag` can further indicate that loop filtering is not used at the boundaries of the subpicks. `sps_subpic_id_len_minus1` is a syntax element indicating the number of bits required when mapping subpic ID values. `subpic_id_mapping_explicitly_signalled_flag` is a syntax element indicating whether the subpic ID is explicitly signaled. When `sps_independent_subpics_flag` is 1, subpic boundaries can be considered as picture boundaries. Furthermore, it indicates that loop filtering cannot be used on subpic boundaries. When `sps_independent_subpics_flag` is 0, it indicates that there is no restriction on whether subpic boundaries are considered as picture boundaries. Furthermore, it indicates that there is no restriction on whether loop filtering is used on subpic boundaries. When `subpic_id_mapping_explicitly_signalled_flag` is 1, it indicates that the subpic ID can be explicitly signaled, and when `subpic_id_mapping_explicitly_signalled_flag` is 0, it indicates that the subpic ID value is not explicitly signaled.

[0233] Figure 26 This is a diagram illustrating the RBSP syntax structure of the image parameter set according to an embodiment of the present invention.

[0234] The following description Figure 26 The syntax elements shown. Here, in Figure 26 The syntax elements shown will not be described or referenced. Figure 12 The syntax elements described are the same as the syntax elements.

[0235] `subpic_id_mapping_in_pps_flag` is a syntax element that indicates whether subpicture ID mapping is signaled in PPS. A value of 1 indicates that subpicture ID mapping is signaled in PPS. A value of 0 indicates that subpicture ID mapping is not signaled in PPS. The value of `subpic_id_mapping_in_pps_flag` must be 0 if the value of `subpic_id_mapping_explicitly_signalled_flag` is 0 or `subpic_id_mapping_in_sps_flag` is 0. Otherwise (i.e., when the value of `subpic_id_mapping_explicitly_signalled_flag` is 1 and the value of `subpic_id_mapping_in_sps_flag` is 0), the value of `subpic_id_mapping_in_pps_flag` is required to be 1.

[0236] When the value of subpic_id_mapping_in_pps_flag is 1, the syntax elements pps_num_subpics_minus1, pps_subpic_id_len_minus, and pps_subpic_id[i] related to the subpic ID mapping can be signaled / resolved.

[0237] Figure 27 This is a diagram of the subpic_id_mapping_in_pps_flag included in the RBSP syntax structure of the image parameter set.

[0238] In detail, Figure 27 Showing the reference settings Figure 26 The method for defining the value of `subpic_id_mapping_in_pps_flag` has been referenced. Figure 25 This describes syntax elements that, when `sps_num_subpics_minus1` is 0, allow inference of various possible scenarios when multiple subpicks exist without signaling / parsing. Similarly, see [reference]. Figure 26The described subpicture-related syntax elements can be similarly signaled / parsed based on the value of `subpic_id_mapping_in_pps_flag` in the PPS referenced by SPS. Therefore, when referencing... Figure 25 When the value of `sps_num_subpics_minus1` is 0, the value of `subpic_id_mapping_in_pps_flag` can be set to 0, allowing the inference of syntax elements associated with subpicks without signal sending / parsing. See here for reference. Figure 27 The condition for setting the value of subpic_id_mapping_in_pps_flag to 0 can also include the case where the value of sps_num_subpics_minus1 is 0.

[0239] Figure 28 This is a diagram illustrating the RBSP syntax structure of the image parameter set according to an embodiment of the present invention.

[0240] In detail, Figure 28 The diagram illustrates the structure in which a flag indicating whether a loop filter is applied across tiles is sent / resolved using a signal. An image can be segmented into multiple sub-images, and an image / sub-image can be segmented into multiple tiles. Furthermore, an image / sub-image can be segmented into multiple slices, and a tile can also be segmented into multiple slices. Here, the width and height of a tile can be multiples of its CTB (Cost Per Second).

[0241] `no_pic_partition_flag` is a syntax element that indicates whether an individual image should undergo further segmentation. When `no_pic_partition_flag` is 1, it indicates that the individual image in the reference PPS should not undergo further segmentation. When `no_pic_partition_flag` is 0, it indicates that the individual image in the reference PPS can be segmented into more than one tile or slice.

[0242] `num_exp_tile_columns_minus1` is a syntax element that indicates a value related to the width of a tile column. `num_exp_tile_columns_minus1` indicates the value obtained by subtracting 1 from the tile column width. In other words, the value obtained by adding 1 to the value of `num_exp_tile_columns_minus1` indicates the width of the tile column. The value of `num_exp_tile_columns_minus1` can be between 0 and `PicWidthInCtbsY–1`. When the value of `no_pic_partition_flag` is 1, the value of `num_exp_tile_columns_minus1` can be inferred to be 0.

[0243] `num_exp_tile_row_minus1` is a syntax element that indicates a value related to the tile row height. `num_exp_tile_row_minus1` indicates the value obtained by subtracting 1 from the tile row height. In other words, the value obtained by adding 1 to `num_exp_tile_row_minus1` indicates the tile row height. The value of `num_exp_tile_rows_minus1` can be between 0 and `PicHeightInCtbsY–1`. When `no_pic_partition_flag` is 1, the value of `num_tile_rows_minus1` can be inferred to be 0.

[0244] It is possible that the values ​​of num_exp_tile_columns_minus1 and num_exp_tile_row_minus1 are both 0. Here, the variable NumTilesInPic can be determined by Equation 6.

[0245] [Equation 6]

[0246] NumTilesInPic=NumTileColumns*NumTileRows

[0247] NumTilesInPic represents the number of tiles in the image, NumTileColumns represents the number of tile rows in the image, and NumTileRows represents the number of tile columns in the image.

[0248] The variables NumTileColumns and NumTileRows can be introduced when determining colWidth[].

[0249] when Figure 28When the value of `loop_filter_across_tiles_enabled_flag` is 1, it indicates that loop filtering can be performed across tiles present in the image. When the value of `loop_filter_across_tiles_enabled_flag` is 0, it indicates that loop filtering is not performed across tiles present in the image. Loop filtering operations can include deblocking filters, sample adaptive offset filters, and adaptive loop filter operations. When `loop_filter_across_tiles_enabled_flag` is not present, its value can be inferred to be 1.

[0250] When an image, sub-image, or slice is configured with a tile, it is not necessary to indicate whether a loop filter is applied across tiles. Therefore, the value of no_pic_partition_flag can be inferred as the default value, where the default value can be 1.

[0251] Figure 29 This is a diagram illustrating the Network Abstraction Layer (NAL) unit, which serves as the basic unit constituting a bitstream.

[0252] When video images are encoded by an encoder and stored as a bitstream, the bitstream can be configured in units of Network Abstraction Layers (NALs). These NAL units are referred to below as NAL units. NAL units can be defined in various forms depending on their purpose and can be distinguished by a unique ID. An NAL unit can be divided into a portion containing the actual image data and a portion containing the information needed to decode such video images. Figure 29 This is a diagram illustrating a portion of various types of NAL units. NAL units can be configured based on a predefined order, and the multiple pieces of information included within a corresponding NAL unit can also be configured based on a preset order. Each NAL unit may have cross-references. For example... Figure 29As shown, the NAL unit DPS indicates the Decoding Parameter Set (DPS) RBSP syntax. The NAL unit VPS indicates the Video Parameter Set (VPS) RBSP syntax. The NAL unit SPS indicates the Sequence Parameter Set (SPS) RBSP syntax. The NAL unit PPS indicates the Picture Parameter Set (PPS) RBSP syntax. The DPS RBSP syntax is a syntax that includes information (syntax elements) required for the decoder to perform video decoding. The DPS RBSP syntax can be described as Decoding Capability Information (DCI) RBSP syntax. The VPS RBSP syntax is a syntax that includes information (syntax elements) typically used for decoding base layer and enhancement layer encoded data. The SPS RBSP syntax is a syntax that includes syntax elements sent at the sequence unit level. The SPS RBSP syntax can include information (syntax elements) typically used for decoding pictures by referencing the VPS. Here, a sequence represents a set of one or more pictures. The PPS RBSP syntax is a syntax that includes information (syntax elements) typically used for decoding at least one picture. The RBSP mentioned above is the Raw Byte Sequence Payload (RBSP), which can represent a byte-aligned syntax encapsulated as NAL units. The grammar mentioned above is described below.

[0253] Figure 30 This is a diagram illustrating the decoding parameter set RBSP syntax structure, the sequence parameter set RBSP syntax structure, and the profile hierarchy syntax structure according to an embodiment of the present invention.

[0254] Figure 30 (a) is a diagram illustrating the RBSP syntax of the Decoding Parameter Set (DPS). Figure 30 (b) is a graph illustrating the Sequence Parameter Set (SPS) RBSP syntax, and Figure 30 (c) is a diagram illustrating the profile tier level syntax "profile_tier_level()".

[0255] like Figure 30As shown in (a) and (b), the profile hierarchy level syntax can be included (called) in both DPS RBSP and SPS RBSP syntax. The profile hierarchy level syntax can include information related to profiles, hierarchies, and levels. Here, the profile hierarchy level syntax can include the syntax "general_constraint_info()" for General Constraint Information (GCI). The syntax used for GCI (hereinafter referred to as GCI syntax) can control the disabling of tools and / or functions included in the GCI syntax and / or other syntaxes (e.g., DPSRBSP syntax, VPS RBSP syntax, SPS RBSP syntax, PPS RBSP syntax, Sliceheader syntax, etc.) for interoperability. When the GCI syntax indicates the disabling of tools and / or functions, tools and / or functions declared in the lower syntax can be disabled. Here, depending on the location of the NAL unit parsed by the decoder, it can be determined whether the tools and / or functions disabled by the GCI syntax are applied to all or part of the bitstream. For example, the profile-level syntax "profile_tier_level()" can be included in DPS RBSP syntax and / or SPS RBSP syntax, and when the profile-level syntax is included in DPS RBSP syntax, the GCI syntax included in the profile-level syntax can be applied to all bitstreams. As another example, when the profile-level syntax is included in SPS RBSP syntax, the GCI syntax included in the profile-level syntax can be applied to Coding Layer Video Sequences (CLVS).

[0256] Figure 31 This is a diagram illustrating the video parameter set RBSP syntax and general constraint information syntax according to an embodiment of the present invention.

[0257] Figure 31 (a) is a diagram illustrating the Video Parameter Set (VPS) RBSP syntax according to an embodiment of the present invention, and Figure 31 (b) is a diagram illustrating the General Constraint Information (GCI) syntax according to an embodiment of the present invention. Figure 31 As shown in (a), the GCI syntax "general_constraint_info()" can be included in the VPS syntax. Furthermore, although not in... Figure 31 As shown in (a), however, the profile hierarchy syntax mentioned above can be included in the VPS syntax, and the GCI syntax can be included in the profile hierarchy syntax included in the VPS syntax. The GCI syntax can include at least one syntax element. Figure 32 and 33 This is a diagram illustrating the Sequence Parameter Set (SPS) RBSP syntax according to an embodiment of the present invention. In the following text, reference will be made to... Figures 31 to 33Describes the constraint flags as syntactic elements included in GCI grammar.

[0258] -no_qtbtt_dual_tree_intra_constraint_flag

[0259] `no_qtbtt_dual_tree_intra_constraint_flag` is a flag used to control `qtbtt_dual_tree_intra_flag`. For example, when `no_qtbtt_dual_tree_intra_constraint_flag` is set to 1, the value of `qtbtt_dual_tree_intra_flag` can be set to 0. Conversely, when `no_qtbtt_dual_tree_intra_constraint_flag` is set to 0, there is no constraint on the value of `qtbtt_dual_tree_intra_flag`. That is, the value of `qtbtt_dual_tree_intra_flag` can be determined based on the parsing results of the SPS RBSP syntax.

[0260] Here, `qtbtt_dual_tree_intra_flag` is a flag indicating whether I-slices are used in the `coding_tree` syntax structure. For example, when `qtbtt_dual_tree_intra_flag` is 1, it indicates that for an I-slice, each coding tree unit (CTU) can be partitioned into coding units with 64×64 luma samples via implicit quadtree partitioning, where the coding unit is the root node (highest coding unit) of a separate coding tree syntax structure for two elements, namely luma and chroma. When `qtbtt_dual_tree_intra_flag` is 0, it may indicate that the `coding_tree` syntax structure is not used for I-slices. The `qtbtt_dual_tree_intra_flag` mentioned above can be called `sps_qtbtt_dual_tree_intra_flag`.

[0261] refer to Figure 32 `log2_ctu_size_minus5` is a syntax element indicating the size of the luminance coding tree block for each coding tree unit. The size of the luminance coding tree block (CtbLog2SizeY) in log2 units can be found by adding 5 to `log2_ctu_size_minus5`. This is expressed as Equation 7 below. In Equation 7, `CtbSizeY` represents the size of each luminance coding tree block.

[0262] [Equation 7]

[0263] CtbLog2SizeY=log2_ctu_size_minus5+5

[0264] CtbSizeY = 1 <CtbLog2SizeY

[0265] -no_partition_constraints_override_constraint_flag

[0266] `no_partition_constraints_override_constraint_flag` is a flag used to control `partition_constraints_override_enabled_flag`. For example, when `no_partition_constraints_override_constraint_flag` is set to 1, `partition_constraints_override_enabled_flag` can be set to 0. Conversely, when `no_partition_constraints_override_constraint_flag` is set to 0, there are no constraints on the value of `partition_constraints_override_enabled_flag`. That is, the value of `partition_constraints_override_enabled_flag` can be determined based on the parsing results of the SPS RBSP syntax.

[0267] Here, `partition_constraints_override_enabled_flag` is a flag indicating whether `ph_partition_constraints_override_flag` exists in the image header (PH). A value of 1 indicates the presence of `ph_partition_constraints_override_flag`, and a value of 0 indicates its absence. The `partition_constraints_override_enabled_flag` mentioned above can be referred to as `sps_partition_constraints_override_enabled_flag`.

[0268] -no_sao_constraint_flag

[0269] `no_sao_constraint_flag` is a flag used to control `sps_sao_enabled_flag`. For example, when `no_sao_constraint_flag` is 1, `sps_sao_enabled_flag` can be set to 0. Conversely, when `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` can be determined based on the parsing results of the SPS RBSP syntax.

[0270] Here, `sps_sao_enabled_flag` is a flag indicating whether a sample adaptive offset process is applied to the reconstructed image after the deblocking filter process of the Coding Layer Video Sequence (CLVS). For example, when `sps_sao_enabled_flag` is 1, it indicates that the sample adaptive offset process is enabled for the reconstructed image after the deblocking filter process used for CLVS, and the sample adaptive offset process is applied to the reconstructed image after the deblocking filter process used for CLVS. When `sps_sao_enabled_flag` is 0, it indicates that the sample adaptive offset process is disabled for the reconstructed image after the deblocking filter process used for CLVS, and the sample adaptive offset process is not applied to the reconstructed image after the deblocking filter process used for CLVS.

[0271] -no_alf_constraint_flag

[0272] `no_alf_constraint_flag` is a flag used to control `sps_alf_enabled_flag`. For example, when `no_alf_constraint_flag` is 1, `sps_alf_enabled_flag` can be set to 0. Conversely, when `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` can be determined based on the parsing result of the SPS RBSP syntax.

[0273] Here, `sps_alf_enabled_flag` is a flag indicating whether the adaptive loop filter applied in image decoding within CLVS is enabled. For example, when `sps_alf_enabled_flag` is 1, the adaptive loop filter is enabled and can be applied in image decoding within CLVS. When `sps_alf_enabled_flag` is 0, it indicates that the adaptive loop filter is disabled and is not applied in image decoding within CLVS.

[0274] -no_joint_cbcr_constraint_flag

[0275] `no_joint_cbcr_constraint_flag` is a flag used to control `sps_joint_cbcr_enabled_flag`. For example, when `no_joint_cbcr_constraint_flag` is 1, the value of `sps_joint_cbcr_enabled_flag` can be set to 0. Conversely, when `no_joint_cbcr_constraint_flag` is 0, there is no constraint on the value of `sps_joint_cbcr_enabled_flag`. That is, the value of `sps_joint_cbcr_enabled_flag` can be determined based on the parsing results of the SPS RBSP syntax.

[0276] Here, `sps_joint_cbcr_enabled_flag` is a flag indicating whether joint encoding of chroma residuals used in image decoding within CLVS is enabled. For example, a value of 1 indicates that joint encoding of chroma residuals is enabled and can be used in image decoding within CLVS. A value of 0 indicates that joint encoding of chroma residuals is disabled and is not used in image decoding within CLVS. Furthermore, `sps_joint_cbcr_enabled_flag` may not exist, and in this case, its value can be inferred to be 0.

[0277] -no_ref_wraparound_constraint_flag

[0278] `no_ref_wraparound_constraint_flag` is a flag used to control `sps_ref_wraparound_enabled_flag`. For example, when `no_ref_wraparound_constraint_flag` is 1, the value of `sps_ref_wraparound_enabled_flag` can be set to 0. Conversely, when `no_ref_wraparound_constraint_flag` is 0, there is no constraint on the value of `sps_ref_wraparound_enabled_flag`. That is, the value of `sps_ref_wraparound_enabled_flag` can be determined based on the parsing results of the SPS RBSP syntax.

[0279] Here, `sps_ref_wraparound_enabled_flag` is a flag indicating whether horizontal wraparound motion compensation applied during image decoding in CLVS is enabled. For example, when `sps_ref_wraparound_enabled_flag` is 1, it indicates that horizontal wraparound motion compensation is enabled and can be applied during image decoding in CLVS. When `sps_ref_wraparound_enabled_flag` is 0, it indicates that horizontal wraparound motion compensation is disabled and is not applied during image decoding in CLVS.

[0280] -no_temporal_mvp_constraint_flag

[0281] `no_temporal_mvp_constraint_flag` is a flag used to control `sps_temporal_mvp_enabled_flag`. For example, when `no_temporal_mvp_constraint_flag` is 1, the value of `sps_temporal_mvp_enabled_flag` can be set to 0. Conversely, when `no_temporal_mvp_constraint_flag` is 0, there is no constraint on the value of `sps_temporal_mvp_enabled_flag`. That is, the value of `sps_temporal_mvp_enabled_flag` can be determined based on the parsing results of the SPS RBSP syntax.

[0282] Here, `sps_temporal_mvp_enabled_flag` is a flag indicating whether the temporal motion vector predictor used in image decoding within CLVS is enabled. For example, when `sps_temporal_mvp_enabled_flag` is 1, it indicates that the temporal motion vector predictor is enabled and can be used in image decoding within CLVS. When `sps_temporal_mvp_enabled_flag` is 0, it indicates that the temporal motion vector predictor is disabled and is not used in image decoding within CLVS.

[0283] -no_sbtmvp_constraint_flag

[0284] `no_sbtmvp_constraint_flag` is a flag used to control `sps_sbtmvp_enabled_flag`. For example, when `no_sbtmvp_constraint_flag` is set to 1, `sps_sbtmvp_enabled_flag` can be set to 0. Conversely, when `no_sbtmvp_constraint_flag` is set to 0, there is no constraint on the value of `sps_sbtmvp_enabled_flag`. That is, the value of `sps_sbtmvp_enabled_flag` can be determined based on the parsing results of the SPS RBSP syntax.

[0285] Here, `sps_sbtmvp_enabled_flag` is a flag indicating whether the sub-block-based temporal motion vector predictor used in image decoding within CLVS is enabled. For example, when `sps_sbtmvp_enabled_flag` is 1, it indicates that the sub-block-based temporal motion vector predictor is enabled and can be used in image decoding within CLVS. The image slice type can include types other than I-slices (e.g., B-slices, P-slices). When `sps_sbtmvp_enabled_flag` is 0, it indicates that the sub-block-based temporal motion vector predictor is disabled and is not used in image decoding within CLVS.

[0286] -no_amvr_constraint_flag

[0287] `no_amvr_constraint_flag` is a flag used to control `sps_amvr_enabled_flag`. For example, when `no_amvr_constraint_flag` is 1, `sps_amvr_enabled_flag` can be set to 0. Conversely, when `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` can be determined based on the parsing results of the SPS RBSP syntax.

[0288] Here, `sps_amvr_enabled_flag` is a flag indicating whether motion vector differential resolution used in image decoding within CLVS is enabled. For example, when `sps_amvr_enabled_flag` is 1, it indicates that motion vector differential resolution is enabled and can be used in image decoding within CLVS. When `sps_amvr_enabled_flag` is 0, it indicates that motion vector differential resolution is disabled and is not used in image decoding within CLVS.

[0289] -no_bdof_constraint_flag

[0290] `no_bdof_constraint_flag` is a flag used to control `sps_bdof_enabled_flag`. For example, when `no_bdof_constraint_flag` is 1, `sps_bdof_enabled_flag` can be set to 0. Conversely, when `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` can be determined based on the parsing result of the SPS RBSP syntax.

[0291] Here, `sps_bdof_enabled_flag` is a flag indicating whether bidirectional optical flow inter-frame prediction used in image decoding within CLVS is enabled. For example, when `sps_bdof_enabled_flag` is 1, it indicates that bidirectional optical flow inter-frame prediction is enabled and can be used in image decoding within CLVS. When `sps_bdof_enabled_flag` is 0, it indicates that bidirectional optical flow inter-frame prediction is disabled and is not used in image decoding within CLVS.

[0292] -no_dmvr_constraint_flag

[0293] `no_dmvr_constraint_flag` is a flag used to control `sps_dmvr_enabled_flag`. For example, when `no_dmvr_constraint_flag` is 1, `sps_dmvr_enabled_flag` can be set to 0. Conversely, when `no_dmvr_constraint_flag` is 0, there is no constraint on the value of `sps_dmvr_enabled_flag`. That is, the value of `sps_dmvr_enabled_flag` can be determined based on the parsing results of the SPS RBSP syntax.

[0294] Here, `sps_dmvr_enabled_flag` is a flag indicating whether bidirectional prediction based on decoder motion vector refinement used in image decoding in CLVS is enabled. For example, when `sps_dmvr_enabled_flag` is 1, it indicates that bidirectional prediction based on decoder motion vector refinement is enabled and can be used in image decoding in CLVS. When `sps_dmvr_enabled_flag` is 0, it indicates that bidirectional prediction based on decoder motion vector refinement is disabled and is not used in image decoding in CLVS.

[0295] -no_cclm_constraint_flag

[0296] `no_cclm_constraint_flag` is a flag used to control `sps_cclm_enabled_flag`. For example, when `no_cclm_constraint_flag` is 1, `sps_cclm_enabled_flag` can be set to 0. Conversely, when `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` can be determined based on the parsing results of the SPS RBSP syntax.

[0297] Here, `sps_cclm_enabled_flag` is a flag indicating whether intra-component linear model prediction (LCM) from luma to chroma is enabled in image decoding within CLVS. For example, when `sps_cclm_enabled_flag` is 1, it indicates that intra-component linear model prediction from luma to chroma is enabled and can be used in image decoding within CLVS. When `sps_cclm_enabled_flag` is 0, it indicates that intra-component linear model prediction from luma to chroma is disabled and is not used in image decoding within CLVS. Also, `sps_cclm_enabled_flag` may not exist, and in this case, its value can be inferred to be 0.

[0298] -no_mts_constraint_flag

[0299] `no_mts_constraint_flag` is a flag used to control `sps_mts_enabled_flag`. For example, when `no_mts_constraint_flag` is 1, `sps_mts_enabled_flag` can be set to 0. Conversely, when `no_mts_constraint_flag` is 0, there is no constraint on the value of `sps_mts_enabled_flag`. That is, the value of `sps_mts_enabled_flag` can be determined based on the parsing results of the SPS RBSP syntax.

[0300] Here, `sps_mts_enabled_flag` is a flag indicating whether `sps_explicit_mts_intra_enabled_flag` and `sps_explicit_mts_inter_enabled_flag` exist in the Sequence Parameter Set (SPS). For example, when 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` exist in the SPS. When 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` do not exist in the SPS.

[0301] Here, `sps_explicit_mts_intra_enabled_flag` and `sps_explicit_mts_inter_enabled_flag` are flags indicating whether `mts_idx` exists in the intra-frame coding unit syntax of CLVS. For example, when the value of `sps_explicit_mts_intra_enabled_flag` / `sps_explicit_mts_inter_enabled_flag` is 1, it indicates that `mts_idx` can exist in the intra / inter-frame coding unit syntax.

[0302] when

[0303] When 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 encoding unit syntax. At the same time, sps_explicit_mts_intra_enabled_flag / sps_explicit_mts_inter_enabled_flag may not exist, and in this case, the value of sps_explicit_mts_intra_enabled_flag / sps_explicit_mts_inter_enabled_flag can be inferred to be 0.

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

[0305] -no_sbt_constraint_flag

[0306] `no_sbt_constraint_flag` is a flag used to control `sps_sbt_enabled_flag`. For example, when `no_sbt_constraint_flag` is 1, `sps_sbt_enabled_flag` can be set to 0. Conversely, when `no_sbt_constraint_flag` is 0, there is no constraint on the value of `sps_sbt_enabled_flag`. That is, the value of `sps_sbt_enabled_flag` can be determined based on the parsing results of the SPS RBSP syntax.

[0307] Here, `sps_sbt_enabled_flag` is a flag indicating whether sub-block transforms for inter-frame predictive coding units (CUs) are enabled in image decoding within CLVS. For example, when `sps_sbt_enabled_flag` is 1, it indicates that sub-block transforms for CUs are enabled and can be used in image decoding within CLVS. When `sps_sbt_enabled_flag` is 0, it indicates that sub-block transforms for CUs are disabled and are not used in image decoding within CLVS.

[0308] -no_affine_motion_constraint_flag

[0309] `no_affine_motion_constraint_flag` is a flag used to control `sps_affine_enabled_flag`. For example, when `no_affine_motion_constraint_flag` is 1, `sps_affine_enabled_flag` can be set to 0. Conversely, when `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` can be determined based on the parsing results of the SPS RBSP syntax.

[0310] Here, `sps_affine_enabled_flag` is a flag indicating whether affine-based motion compensation used in image decoding in CLVS is enabled. Furthermore, `sps_affine_enabled_flag` indicates whether `inter_affine_flag` and `cu_affine_type_flag` exist in the CLVS coding unit syntax. For example, when `sps_affine_enabled_flag` is 1, it indicates that affine-based motion compensation is enabled and can be used in image decoding in CLVS. Additionally, when `sps_affine_enabled_flag` is 1, it indicates that `inter_affine_flag` and `cu_affine_type_flag` may exist in the CLVS coding unit syntax. When `sps_affine_enabled_flag` is 0, it indicates that affine-based motion compensation is disabled and is not used in image decoding in CLVS. When `sps_affine_enabled_flag` is 0, it indicates that `inter_affine_flag` and `cu_affine_type_flag` do not exist in the CLVS coding unit syntax.

[0311] Here, `inter_affine_flag` is a flag indicating whether to use affine-based motion compensation to generate the prediction samples for the current coding unit when decoding it. `cu_affine_type_flag` is a flag indicating whether to use affine-based motion compensation with 4 parameters or affine-based motion compensation with 6 parameters when decoding the current coding unit.

[0312] -no_bcw_constraint_flag

[0313] `no_bcw_constraint_flag` is a flag used to control `sps_bcw_enabled_flag`. For example, when `no_bcw_constraint_flag` is 1, `sps_bcw_enabled_flag` can be set to 0. Conversely, when `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` can be determined based on the parsing result of the SPS RBSP syntax.

[0314] Here, `sps_bcw_enabled_flag` is a flag indicating whether bidirectional prediction using coding unit weights is enabled in image decoding within CLVS. Furthermore, `sps_bcw_enabled_flag` can also indicate whether `bcw_idx` exists in the CLVS coding unit syntax. For example, when `sps_bcw_enabled_flag` is 1, it indicates that bidirectional prediction using coding unit weights is enabled and can be used in image decoding within CLVS. Additionally, when `sps_bcw_enabled_flag` is 1, it indicates that `bcw_idx` may exist in the CLVS coding unit syntax. When `sps_bcw_enabled_flag` is 0, it indicates that bidirectional prediction using coding unit weights is disabled and is not used in image decoding within CLVS. Furthermore, when `sps_bcw_enabled_flag` is 0, it indicates that `bcw_idx` does not exist in the CLVS coding unit syntax.

[0315] Here, bcw_idx is a syntax element that indicates an index related to bidirectional prediction using coding unit weights.

[0316] -no_ibc_constraint_flag

[0317] `no_ibc_constraint_flag` is a flag used to control `sps_ibc_enabled_flag`. For example, when `no_ibc_constraint_flag` is 1, `sps_ibc_enabled_flag` can be set to 0. Conversely, when `no_ibc_constraint_flag` is 0, there is no constraint on the value of `sps_ibc_enabled_flag`. That is, the value of `sps_ibc_enabled_flag` can be determined based on the parsing results of the SPS RBSP syntax.

[0318] Here, `sps_ibc_enabled_flag` is a flag indicating whether the Intra-Block Copy (IBC) prediction mode used in image decoding in CLVS is enabled. For example, when `sps_ibc_enabled_flag` is 1, it indicates that the IBC prediction mode is enabled and can be used in image decoding in CLVS. When `sps_ibc_enabled_flag` is 0, it indicates that the IBC prediction mode is disabled and is not used in image decoding in CLVS.

[0319] -no_ciip_constraint_flag

[0320] `no_ciip_constraint_flag` is a flag used to control `sps_ciip_enabled_flag`. For example, when `no_ciip_constraint_flag` is 1, `sps_ciip_enabled_flag` can be set to 0. Conversely, when `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` can be determined based on the parsing results of the SPS RBSP syntax.

[0321] Here, `sps_ciip_enabled_flag` is a flag indicating whether the `ciip_flag` exists in the coding unit syntax used for inter-frame coding units. For example, when `sps_ciip_enabled_flag` is 0, it indicates that the `ciip_flag` does not exist in the coding unit syntax of the inter-frame coding unit. When `sps_ciip_enabled_flag` is 1, it indicates that the `ciip_flag` may exist in the coding unit syntax of the inter-frame coding unit.

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

[0323] -no_fpel_mmvd_constraint_flag

[0324] `no_fpel_mmvd_constraint_flag` is a flag used to control `sps_fpel_mmvd_enabled_flag`. For example, when `no_fpel_mmvd_constraint_flag` is 1, the value of `sps_fpel_mmvd_enabled_flag` can be set to 0. Conversely, when `no_fpel_mmvd_constraint_flag` is 0, there is no constraint on the value of `sps_fpel_mmvd_enabled_flag`. That is, the value of `sps_fpel_mmvd_enabled_flag` can be determined based on the parsing results of the SPS RBSP syntax.

[0325] Here, `sps_fpel_mmvd_enabled_flag` is a flag indicating the type of sample precision used in the motion vector difference merge mode. For example, when `sps_fpel_mmvd_enabled_flag` is 1, it indicates that the sample precision used in the motion vector difference merge mode is integer sample precision. When `sps_fpel_mmvd_enabled_flag` is 0, it indicates that the sample precision used in the motion vector difference merge mode is fractional sample precision. `sps_fpel_mmvd_enabled_flag` may not exist, and in this case, its value can be inferred to be 0. `sps_fpel_mmvd_enabled_flag` can also be referred to as `sps_mmvd_fullpel_only_flag`.

[0326] -no_triangle_constraint_flag

[0327] `no_triangle_constraint_flag` is a flag used to control `sps_triangle_enabled_flag`. For example, when `no_triangle_constraint_flag` is 1, `sps_triangle_enabled_flag` can be set to 0. Conversely, when `no_triangle_constraint_flag` is 0, there is no constraint on the value of `sps_triangle_enabled_flag`. That is, the value of `sps_triangle_enabled_flag` can be determined based on the parsing results of the SPS RBSP syntax.

[0328] Here, `sps_triangle_enabled_flag` is a flag indicating whether triangle-based motion compensation can be applied. According to the triangle-based motion compensation prediction method, an inter-frame coding unit can be divided into two triangular shapes relative to its diagonal, and each triangular region can have a different set of motion information. Furthermore, by performing motion compensation based on this, prediction samples can be generated.

[0329] -no_ladf_constraint_flag

[0330] `no_ladf_constraint_flag` is a flag used to control `sps_ladf_enabled_flag`. For example, when `no_ladf_constraint_flag` is 1, `sps_ladf_enabled_flag` can be set to 0. Conversely, when `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` can be determined based on the parsing result of the SPS RBSP syntax.

[0331] Here, `sps_ladf_enabled_flag` is a flag indicating whether `sps_num_ladf_intervals_minus2`, `sps_ladf_lowest_interval_qp_offset`, `sps_ladf_qp_offset[i]`, and `sps_ladf_delta_threshold_minus1[i]` exist in the SPS. For example, when the value of `sps_ladf_enabled_flag` is 1, it indicates that `sps_num_ladf_intervals_minus2`, `sps_ladf_lowest_interval_qp_offset`, `sps_ladf_qp_offset[i]`, and `sps_ladf_delta_threshold_minus1[i]` exist in the SPS. When the value of sps_ladf_enabled_flag is 0, it indicates that sps_num_ladf_intervals_minus2, sps_ladf_lowest_interval_qp_offset, sps_ladf_qp_offset[i] and sps_ladf_delta_threshold_minus1[i] do not exist in SPS.

[0332] sps_num_ladf_intervals_minus2 is a syntax element that indicates the number of sps_ladf_delta_threshold_minus1[i] and sps_ladf_qp_offset[i] existing in SPS. The value of sps_num_ladf_intervals_minus2 may be between 0 and 3.

[0333] sps_ladf_lowest_interval_qp_offset is a syntax element that indicates the offset used to derive the quantization parameter (QP) as a variable. The value of sps_ladf_lowest_interval_qp_offset can be between -63 and 63.

[0334] sps_ladf_qp_offset[i] is a syntax element that indicates the offset array used to derive the quantization parameters as variables. The value of sps_ladf_qp_offset[i] can be between -63 and 63.

[0335] `sps_ladf_delta_threshold_minus1[i]` is a syntax element used to calculate the value of `SpsLadfIntervalLowerBound[i]`, which specifies the lower bound of the i-th brightness intensity level interval. `sps_ladf_delta_threshold_minus1[i]` can have values ​​between 0 and 2BitDepth - 3. `BitDepth` indicates the bit depth, representing the number of bits required to represent the image brightness.

[0336] -no_transform_skip_constraint_flag

[0337] `no_transform_skip_constraint_flag` is a flag used to control `sps_transform_skip_enabled_flag`. For example, when `no_transform_skip_constraint_flag` is 1, the value of `sps_transform_skip_enabled_flag` can be set to 0. Conversely, when `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` can be determined based on the parsing results of the SPS RBSP syntax.

[0338] Here, `sps_transform_skip_enabled_flag` is a flag indicating whether `transform_skip_flag` exists in the transform unit syntax. For example, when `sps_transform_skip_enabled_flag` is 1, it indicates that `transform_skip_flag` may exist in the transform unit syntax. When `sps_transform_skip_enabled_flag` is 0, it indicates that `transform_skip_flag` does not exist in the transform unit syntax.

[0339] The transform_skip_flag is a flag indicating whether a transformation has been applied to the transformation unit.

[0340] -no_bdpcm_constraint_flag

[0341] `no_bdpcm_constraint_flag` is a flag used to control `sps_bdpcm_enabled_flag`. For example, when `no_bdpcm_constraint_flag` is 1, the value of `sps_bdpcm_enabled_flag` can be set to 0. Conversely, when `no_bdpcm_constraint_flag` is 0, there is no constraint on the value of `sps_bdpcm_enabled_flag`. That is, the value of `sps_bdpcm_enabled_flag` can be determined based on the parsing result of the SPS RBSP syntax.

[0342] Here, `sps_bdpcm_enabled_flag` is a flag indicating whether `intra_bdpcm_luma_flag` and `intra_bdpcm_chroma_flag` exist in the coding unit syntax for intra coding units. For example, when `sps_bdpcm_enabled_flag` is 1, it indicates that `intra_bdpcm_luma_flag` and `intra_bdpcm_chroma_flag` may exist in the coding unit syntax of intra coding units. When `sps_bdpcm_enabled_flag` is 0, it indicates that `intra_bdpcm_luma_flag` and `intra_bdpcm_chroma_flag` do not exist in the coding unit syntax of intra coding units. Furthermore, `sps_bdpcm_enabled_flag` may not exist, and in this case, its value can be inferred to be 0.

[0343] The intra_bdpcm_luma_flag / intra_bdpcm_chroma_flag flags are flags indicating whether block-based incremental pulse code modulation (bdpcm) is applied to the luma / chroma coded block at a specific location (x0, y0).

[0344] -no_qp_delta_constraint_flag

[0345] `no_qp_delta_constraint_flag` is a flag used to control `cu_qp_delta_enabled_flag`. For example, when `no_qp_delta_constraint_flag` is set to 1, the value of `cu_qp_delta_enabled_flag` can be set to 0. Conversely, when `no_qp_delta_constraint_flag` is set to 0, there is no constraint on the value of `cu_qp_delta_enabled_flag`. That is, the value of `cu_qp_delta_enabled_flag` can be determined based on the parsing results of the SPS RBSP syntax.

[0346] Here, `cu_qp_delta_enabled_flag` is a flag indicating whether the syntax elements `ph_cu_qp_delta_subdiv_intra_slice` and `ph_cu_qp_delta_subdiv_inter_slice` exist in the PH of the reference PPS. Furthermore, `cu_qp_delta_enabled_flag` indicates whether `cu_qp_delta_abs` and `cu_qp_delta_sign_flag` exist as syntax elements included in the transform unit syntax and palette encoding syntax. For example, when the value of `cu_qp_delta_enabled_flag` is 1, it indicates that the syntax elements `ph_cu_qp_delta_subdiv_intra_slice` and `ph_cu_qp_delta_subdiv_inter_slice` may exist in the PH of the reference PPS. Furthermore, when 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 exist in the transform unit syntax and the palette encoding syntax. When the value of cu_qp_delta_enabled_flag is 0, it indicates that the syntax elements ph_cu_qp_delta_subdiv_intra_slice and ph_cu_qp_delta_subdiv_inter_slice do not exist in the PH of the reference PPS. Additionally, when the value of cu_qp_delta_enabled_flag is 0, it indicates that the syntax elements cu_qp_delta_abs and cu_qp_delta_sign_flag do not exist in the transform unit syntax and the palette encoding syntax.

[0347] `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`. Here, "cbSubdiv" indicates the lower-order segmentation value of the block.

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

[0349] cu_qp_delta_sign_flag is a flag indicating the symbol of 'CuQpDeltaVal'.

[0350] -no_dep_quant_constraint_flag

[0351] `no_dep_quant_constraint_flag` is a flag used to control `sps_dep_quant_enabled_flag`. For example, when `no_dep_quant_constraint_flag` is 1, `sps_dep_quant_enabled_flag` can be set to 0. Conversely, when `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` can be determined based on the parsing results of the SPS RBSP syntax.

[0352] Here, `sps_dep_quant_enabled_flag` is a flag indicating whether dependency quantization used in the reference SPS image is enabled. For example, when `sps_dep_quant_enabled_flag` is 1, it indicates that dependency quantization is enabled and can be used in the reference SPS image. When `sps_dep_quant_enabled_flag` is 0, it indicates that dependency quantization is disabled and is not used in the reference SPS image.

[0353] -no_sign_data_hiding_constraint_flag

[0354] `no_sign_data_hiding_constraint_flag` is a flag used to control `sps_sign_data_hiding_enabled_flag`. For example, when `no_sign_data_hiding_constraint_flag` is 1, the value of `sps_sign_data_hiding_enabled_flag` can be set to 0. Conversely, when `no_sign_data_hiding_constraint_flag` is 0, there is no constraint on the value of `sps_sign_data_hiding_enabled_flag`. That is, the value of `sps_sign_data_hiding_enabled_flag` can be determined based on the parsing results of the SPS RBSP syntax.

[0355] Here, `sps_sign_data_hiding_enabled_flag` is a flag indicating whether sign bit hiding used in the reference SPS image is enabled. For example, when `sps_sign_data_hiding_enabled_flag` is 1, it indicates that sign bit hiding used in the reference SPS image is enabled and can be used in the reference SPS image. When `sps_sign_data_hiding_enabled_flag` is 0, it indicates that sign bit hiding used in the reference SPS image is disabled and is not used in the reference SPS image.

[0356] Figure 34 This is a diagram illustrating the Sequence Parameter Set (SPS) RBSP syntax according to an embodiment of the present invention.

[0357] refer to Figure 34 The SPS RBSP syntax element includes `sps_scaling_list_enabled_flag`, which allows for the inclusion of extended space for adding parameter information related to high dynamic range (HDR) and the SPS parameters described below. Figure 34 The "if" clause under hrd_parameters_present_flag shown in the image can contain parameter information related to hdr.

[0358] Figure 35 This is a diagram illustrating the sequence parameter set RBSP syntax structure according to an embodiment of the present invention.

[0359] Reference Figure 35 Describe the grammatical elements included in the SPS RBSP grammatical structure.

[0360] When `sps_entropy_coding_sync_enabled_flag` is 1, a specific synchronization procedure can be applied to the content variables. This specific synchronization procedure is applied before decoding the first CTU, which includes the first CTB line of the CTB row present in individual tiles within individual images of the reference SPS. Furthermore, when `sps_entropy_coding_sync_enabled_flag` is 1, a specific stored procedure can be applied to the content variables. This specific stored procedure is applied after decoding the CTU, which includes the first CTB line of the CTB row present in individual tiles within individual images of the reference SPS. When `sps_entropy_coding_sync_enabled_flag` is 0, the specific synchronization procedure and the specific stored procedure may not be applied to the content variables. Determining not to apply the specific synchronization procedure is performed before decoding the first CTU, which includes the first CTB line of the CTB row present in individual tiles within individual images of the reference SPS. Determining not to apply the specific stored procedure is performed after decoding the CTU, which includes the first CTB line of the CTB row present in individual tiles within individual images of the reference SPS.

[0361] `same_qp_table_for_chroma` is a syntax element associated with chroma QP maps. When `same_qp_table_for_chroma` is 1, it indicates that only one chroma QP map is used, including one for the Cb, Cr residual signals and the joint Cb-Cr residual signal. When `same_qp_table_for_chroma` is 0, two chroma QP maps for Cb and Cr and one chroma QP map for the joint Cb-Cr are signaled in SPS. When `sps_joint_cbcr_enabled_flag` is 1, chroma QP maps can be signaled. If `same_qp_table_for_chroma` does not exist, its value can be inferred as 1.

[0362] `sps_explicit_mts_intra_enabled_flag` is a syntax element indicating whether `mtx_idx` exists in the intra-frame CU syntax. When `sps_explicit_mts_intra_enabled_flag` is 1, it indicates that `mtx_idx` may exist in the intra-frame CU syntax. When `sps_explicit_mts_intra_enabled_flag` is 0, it indicates that `mtx_idx` does not exist in the intra-frame CU syntax. When `sps_explicit_mts_intra_enabled_flag` is not present, its value can be inferred to be 0.

[0363] `sps_explicit_mts_inter_enabled_flag` is a syntax element indicating whether `mtx_idx` exists in the inter-frame CU syntax. When `sps_explicit_mts_inter_enabled_flag` is 1, it indicates that `mtx_idx` may exist in the inter-frame CU syntax. When `sps_explicit_mts_inter_enabled_flag` is 0, it indicates that `mtx_idx` does not exist in the inter-frame CU syntax. When `sps_explicit_mts_inter_enabled_flag` is not present, its value can be inferred to be 0.

[0364] `sps_affine_amvr_enabled_flag` is a syntax element that indicates whether adaptive motion vector differential resolution is used for motion vectors in affine inter-frame mode. When `sps_affine_amvr_enabled_flag` is 1, it indicates that adaptive motion vector differential resolution is used for motion vectors in affine inter-frame mode. When `sps_affine_amvr_enabled_flag` is 0, it indicates that adaptive motion vector differential resolution is not used for motion vectors in affine inter-frame mode. When `sps_affine_amvr_enabled_flag` does not exist, its value can be inferred to be 0.

[0365] `sps_affine_prof_enabled_flag` is a syntax element that indicates whether optical flow prediction refinement is used in affine motion compensation. When `sps_affine_prof_enabled_flag` is 1, affine motion compensation is refined using optical flow. When `sps_affine_prof_enabled_flag` is 0, affine motion compensation is not refined. When `sps_affine_prof_enabled_flag` is not present, its value can be inferred as 0.

[0366] `sps_explicit_scaling_list_enabled_flag` is a syntax element that indicates whether an explicit scaling list is used. When `sps_explicit_scaling_list_enabled_flag` is 1, it indicates that an explicit scaling list is used. Explicit scaling lists can be signaled in the scaling list of the Adaptive Parameter Set (APS). Here, when slice decoding is enabled for CLVS, the explicit scaling list can be used during scaling for transform coefficients. When `sps_explicit_scaling_list_enabled_flag` is 0, it indicates that an explicit scaling list was used during scaling for transform coefficients when slice decoding is not enabled for CLVS.

[0367] `sps_virtual_boundaries_enabled_flag` is a syntax element that indicates whether in-loop filtering is disabled. When `sps_virtual_boundaries_enabled_flag` is 1, it indicates that disabling in-loop filtering at virtual boundaries can be applied to the encoded image in CLVS. When `sps_virtual_boundaries_enabled_flag` is 0, it indicates that disabling in-loop filtering at virtual boundaries is not applied to the encoded image in CLVS. Loop filtering operations can include deblocking filters, sample adaptive offset filters, and adaptive loop filter operations.

[0368] Figure 36 This is a diagram illustrating the general constraint information syntax structure according to an embodiment of the present invention.

[0369] refer to Figure 36 The syntactic elements included in the described General Constraint Information (GCI) syntactic structure can enable / disable flags (syntactic elements) defined in the SPS RBSP syntactic. Here, a flag can be... Figure 35The symbols shown are used. The syntactic elements included in the GCI grammatical structures described below have mutually exclusive relationships and are not subject to... Figure 36 The names shown are subject to limitations. Furthermore, the tags (syntactic elements) included in the SPS grammar structure, which are subject to limitations imposed by the grammar elements included in the GCI grammar structure, will not be provided. Figure 35 The overlapping descriptions of the same or corresponding parts of the embodiments.

[0370] `no_weighted_pred_constraint_flag` is a flag that constrains the `sps_weighted_pred_flag` included in the SPS syntax structure. When `no_weighted_pred_constraint_flag` is 1, the value of `sps_weighted_pred_flag` is constrained to 0. When `no_weighted_pred_constraint_flag` is 0, the value of `sps_weighted_pred_flag` is unconstrained. `sps_weighted_pred_flag` is a syntax element that indicates whether weighted predictions are applied to the P-slice of the reference SPS. When `sps_weighted_pred_flag` is 1, weighted predictions are applied to the P-slice, and when `sps_weighted_pred_flag` is 0, weighted predictions are not applied to the P-slice.

[0371] `no_weighted_bipred_constraint_flag` is a flag that constrains the `sps_weighted_bipred_flag` included in the SPS syntactic structure. When `no_weighted_bipred_constraint_flag` is 1, the value of `sps_weighted_bipred_flag` is constrained to 0. When `no_weighted_bipred_constraint_flag` is 0, the value of `sps_weighted_bipred_flag` is unconstrained. `sps_weighted_bipred_flag` is a syntactic element that indicates whether weighted predictions are applied to the B-slice of the reference SPS. When `sps_weighted_bipred_flag` is 1, weighted predictions are applied to the B-slice, and when `sps_weighted_bipred_flag` is 0, weighted predictions are not applied to the B-slice.

[0372] `no_same_qp_table_for_chroma_constraint_flag` is a flag that constrains the `same_qp_table_for_chroma` parameter included in the SPS syntax structure. When `no_same_qp_table_for_chroma_constraint_flag` is set to 1, the value of `same_qp_table_for_chroma` is restricted to 0. When `no_same_qp_table_for_chroma_constraint_flag` is set to 0, the value of `same_qp_table_for_chroma` is unrestricted.

[0373] `no_explicit_mts_intra_constraint_flag` is a flag that constrains the `sps_explicit_mts_intra_enabled_flag` included in the SPS syntax structure. When `no_explicit_mts_intra_constraint_flag` is 1, the value of `sps_explicit_mts_intra_enabled_flag` is restricted to 0. When `no_explicit_mts_intra_constraint_flag` is 0, the value of `sps_explicit_mts_intra_enabled_flag` is unrestricted.

[0374] `no_explicit_mts_inter_constraint_flag` is a flag that constrains the `sps_explicit_mts_inter_enabled_flag` included in the SPS syntax structure. When `no_explicit_mts_inter_constraint_flag` is 1, the value of `sps_explicit_mts_inter_enabled_flag` is restricted to 0. When `no_explicit_mts_inter_constraint_flag` is 0, the value of `sps_explicit_mts_inter_enabled_flag` is unrestricted.

[0375] `no_affine_amvr_constraint_flag` is a flag that constrains the `sps_affine_amvr_enabled_flag` included in the SPS syntax structure. When `no_affine_amvr_constraint_flag` is 1, the value of `sps_affine_amvr_enabled_flag` is restricted to 0. When `no_affine_amvr_constraint_flag` is 0, the value of `sps_affine_amvr_enabled_flag` is unrestricted.

[0376] `no_affine_prof_constraint_flag` is a flag that constrains the `sps_affine_prof_enabled_flag` included in the SPS syntax structure. When `no_affine_prof_constraint_flag` is 1, the value of `sps_affine_prof_enabled_flag` is restricted to 0. When `no_affine_prof_constraint_flag` is 0, the value of `sps_affine_prof_enabled_flag` is unrestricted.

[0377] `no_explicit_scaling_list_constraint_flag` is a flag that constrains the `sps_explicit_scaling_list_enabled_flag` included in the SPS syntax structure. When `no_explicit_scaling_list_constraint_flag` is 1, the value of `sps_explicit_scaling_list_enabled_flag` is restricted to 0. When `no_explicit_scaling_list_constraint_flag` is 0, the value of `sps_explicit_scaling_list_enabled_flag` is unrestricted.

[0378] `no_virtual_boundaries_constraint_flag` is a flag that constrains the `sps_virtual_boundaries_enabled_flag` included in the SPS syntax structure. When `no_virtual_boundaries_constraint_flag` is 1, the value of `sps_virtual_boundaries_enabled_flag` is restricted to 0. When `no_virtual_boundaries_constraint_flag` is 0, the value of `sps_virtual_boundaries_enabled_flag` is unrestricted.

[0379] Although this disclosure is primarily concerned with decoder setup, encoders can perform the same operations. The term "parsing" as used herein is primarily used in connection with the process of obtaining information from a bitstream, but can be interpreted as configuring the corresponding information in the bitstream on the encoder side. Therefore, the term "parsing" can also be interpreted as the act of configuring the bitstream in the encoder, and not limited to the operation of the decoder. Furthermore, such a bitstream can be stored on a computer-readable recording medium.

[0380] The above embodiments of the present invention can be implemented by various means. For example, the embodiments of the present invention can be implemented by hardware, firmware, software, or a combination thereof.

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

[0382] When implemented via firmware or software, the method according to embodiments of the invention can be implemented in the form of modules, processes, or functions that perform the above-described functions or operations. Software code can be stored in memory and driven by a processor. The memory can be located inside or outside the processor and can exchange data with the processor in various known ways.

[0383] Some embodiments may also be implemented in the form of a recording medium including computer-executable instructions, such as a computer-executable program module. A computer-readable medium can be any available medium accessible to a computer and includes volatile and non-volatile media, removable and non-removable media. Furthermore, a computer-readable medium can include computer storage media and communication media. The computer storage medium includes volatile and non-volatile, removable and non-removable media implemented using any method or technique for storing information such as computer-readable instructions, data structures, program modules, or other data. Communication media typically include computer-readable instructions, data structures, other data in modulated data signals such as program modules, or other transmission mechanisms, and includes any information delivery medium.

[0384] The above description of the present invention is for illustrative purposes only, and it will be understood that those skilled in the art to which this invention pertains can make changes to the invention without altering its technical concept or essential characteristics, and that the invention can be readily modified in other specific forms. Therefore, the above embodiments are illustrative and not limiting in any way. For example, each component described as a single entity can be distributed and implemented, and similarly, components described as distributed can also be implemented in an associated manner.

[0385] The scope of this invention is defined by the appended claims rather than the foregoing detailed description, and

[0386] Furthermore, all changes or modifications derived from the meaning and scope of the appended claims and their equivalents.

[0387] All should be interpreted as being included within the scope of this invention.

Claims

1. A video signal decoding device, comprising: processor, The processor is configured as follows: The parsing function specifies the existence of a first syntax element that indicates whether information related to at least one sub-image included in each image exists. When the first syntax element indicates the existence of the information associated with the at least one sub-image, the parsing indicates whether to send a second syntax element for the sub-image ID mapping of the at least one sub-image. When the second syntax element indicates that the sub-image ID mapping for the at least one sub-image is signaled, a third syntax element is parsed, indicating whether the sub-image ID mapping for the at least one sub-image is signaled on the Sequence Parameter Set (SPS) Raw Byte Sequence Payload (RBSP) syntax, and Parse the fourth syntax element, which indicates whether to signal the sub-picture ID mapping for the at least one sub-picture on the Picture Parameter Set (PPS) RBSP syntax.

2. The video signal decoding device according to claim 1, When the third syntax element indicating that the sub-image ID mapping for the at least one sub-image is signaled on the SPSRBSP syntax: The sub-image ID mapping value associated with the at least one sub-image is sent using signals in the SPS RBSP syntax. When the second syntax element indicates whether the sub-image ID mapping for the at least one sub-image is signaled and the third syntax element indicates that the sub-image ID mapping value associated with the at least one sub-image is not signaled in the SPS RBSP syntax: The fourth syntax element indicates that the sub-image ID mapping for the at least one sub-image is signaled on the PPSRBSP syntax. The sub-image ID mapping value associated with the at least one sub-image is sent using signals in the PPS RBSP syntax.

3. The video signal decoding device according to claim 1, in, The first syntax element, the second syntax element, and the third syntax element are included in the SPSRBSP syntax. The fourth syntax element is included in the Picture Parameter Set (PPS) RBSP syntax that references the SPS RBSP syntax.

4. The video signal decoding device according to claim 1, Parse the fifth syntax element related to the number of the at least one sub-image. Based on the fifth syntax element, the sixth syntax element, which indicates whether the boundaries of the at least one sub-image should be treated like the boundaries of the image, is parsed. in, The sixth syntax element is parsed when the number of the at least one sub-image is at least 2.

5. The video signal decoding device according to claim 4, in, The fifth syntax element indicates a value obtained by subtracting 1 from the number of the at least one sub-picture.

6. The video signal decoding device according to claim 4, in, The sixth syntax element further indicates whether loop filtering is applied to the boundaries of the at least one sub-image.

7. The video signal decoding device according to claim 5, in, The value indicated by the fifth syntax element is greater than 0.

8. The video signal decoding device according to claim 4, in, When the number of the at least one sub-image is 1, the sixth syntax element is inferred to be a preset value indicating whether to apply loop filtering to the boundaries of the at least one sub-image.

9. A video signal encoding device, comprising: processor, The processor is configured as follows: Obtain the bitstream to be decoded by the decoder using the decoding method. The decoding method includes: The parsing function is a first syntax element that indicates whether there is information related to at least one sub-image included in each image; When the first syntax element indicates the existence of the information associated with the at least one sub-image, the second syntax element indicating whether to signal the sub-image ID mapping for the at least one sub-image is parsed. When the second syntax element indicates that the sub-image ID mapping for the at least one sub-image is signaled, a third syntax element is parsed, the third syntax element indicating whether the sub-image ID mapping for the at least one sub-image is signaled on the Sequence Parameter Set (SPS) Raw Byte Sequence Payload (RBSP) syntax; and Parse the fourth syntax element, which indicates whether to signal the sub-picture ID mapping for the at least one sub-picture on the Picture Parameter Set (PPS) RBSP syntax.

10. The video signal encoding device according to claim 9, When the third syntax element indicating that the sub-image ID mapping for the at least one sub-image is signaled on the SPSRBSP syntax: The sub-image ID mapping value associated with the at least one sub-image is sent using signals in the SPS RBSP syntax. When the second syntax element indicates whether the sub-image ID mapping for the at least one sub-image is signaled and the third syntax element indicates that the sub-image ID mapping value associated with the at least one sub-image is not signaled in the SPS RBSP syntax: The fourth syntax element indicates that the sub-image ID mapping for the at least one sub-image is signaled on the PPSRBSP syntax. The sub-image ID mapping value associated with the at least one sub-image is sent using signals in the PPS RBSP syntax.

11. The video signal decoding device according to claim 9, in, The first syntax element, the second syntax element, and the third syntax element are included in the SPSRBSP syntax. The fourth syntax element is included in the Picture Parameter Set (PPS) RBSP syntax that references the SPS RBSP syntax.

12. The video signal decoding device according to claim 9, in, The decoding method further includes: Parse the fifth syntax element related to the number of the at least one sub-image; Based on the fifth syntax element, the sixth syntax element, which indicates whether the boundaries of the at least one sub-image should be treated like the boundaries of the image, is parsed. Specifically, when the number of the at least one sub-image is at least 2, the sixth syntax element is parsed.

13. The video signal decoding device according to claim 12, in, The fifth syntax element indicates a value obtained by subtracting 1 from the number of the at least one sub-picture.

14. The video signal decoding device according to claim 12, in, The sixth syntax element further indicates whether loop filtering is applied to the boundaries of the at least one sub-image.

15. The video signal decoding device according to claim 13, in, The value indicated by the fifth syntax element is greater than 0.

16. The video signal decoding device according to claim 13, in, When the number of the at least one sub-image is 1, the sixth syntax element is inferred to be a preset value indicating whether to apply loop filtering to the boundaries of the at least one sub-image.

17. A non-transitory computer-readable medium for storing a bitstream, said bitstream being decoded by a decoding method. in, The decoding method includes: The parsing function is a first syntax element that indicates whether there is information related to at least one sub-image included in each image; When the first syntax element indicates the existence of the information associated with the at least one sub-image, the second syntax element indicating whether to signal the sub-image ID mapping for the at least one sub-image is parsed. When the second syntax element indicates that the sub-image ID mapping for the at least one sub-image is signaled, a third syntax element is parsed, the third syntax element indicating whether the sub-image ID mapping for the at least one sub-image is signaled on the Sequence Parameter Set (SPS) Raw Byte Sequence Payload (RBSP) syntax; and Parse the fourth syntax element, which indicates whether to signal the sub-picture ID mapping for the at least one sub-picture on the Picture Parameter Set (PPS) RBSP syntax.

18. The non-transitory computer-readable medium for storing the bitstream according to claim 17, When the third syntax element indicating that the sub-image ID mapping for the at least one sub-image is signaled on the SPSRBSP syntax: The sub-image ID mapping value associated with the at least one sub-image is sent using signals in the SPS RBSP syntax. When the second syntax element indicates whether the sub-image ID mapping for the at least one sub-image is signaled and the third syntax element indicates that the sub-image ID mapping value associated with the at least one sub-image is not signaled in the SPS RBSP syntax: The fourth syntax element indicates that the sub-image ID mapping for the at least one sub-image is signaled on the PPSRBSP syntax. The sub-image ID mapping value associated with the at least one sub-image is sent using signals in the PPS RBSP syntax.

19. The non-transitory computer-readable medium for storing the bitstream according to claim 17, in, The first syntax element, the second syntax element, and the third syntax element are included in the SPSRBSP syntax. The fourth syntax element is included in the Picture Parameter Set (PPS) RBSP syntax that references the SPS RBSP syntax.

20. The non-transitory computer-readable medium for storing the bitstream according to claim 17, in, The decoding method further includes: Parse the fifth syntax element related to the number of the at least one sub-image; Based on the fifth syntax element, the sixth syntax element, which indicates whether the boundaries of the at least one sub-image should be treated like the boundaries of the image, is parsed. Specifically, when the number of the at least one sub-image is at least 2, the sixth syntax element is parsed.

21. A video signal decoding method, comprising: The parsing function is a first syntax element that indicates whether there is information related to at least one sub-image included in each image; When the first syntax element indicates the existence of the information associated with the at least one sub-image, the second syntax element indicating whether to signal the sub-image ID mapping for the at least one sub-image is parsed. When the second syntax element indicates that the sub-image ID mapping for the at least one sub-image is signaled, the third syntax element is parsed, the third syntax element indicating whether the sub-image ID mapping for the at least one sub-image is signaled on the Sequence Parameter Set (SPS) Raw Byte Sequence Payload (RBSP) syntax; as well as Parse the fourth syntax element, which indicates whether to signal the sub-picture ID mapping for the at least one sub-picture on the Picture Parameter Set (PPS) RBSP syntax.