Image decoding method and its apparatus

By determining a quantization parameter table based on signaled chroma quantization data and using it to code image information, the method improves image coding efficiency, addressing the challenge of high-resolution and high-quality image transmission and storage costs.

JP7684353B2Active Publication Date: 2025-05-27LG ELECTRONICS INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2023124023
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-06-11
Filing Date
2023-07-31
Publication Date
2025-05-27
Estimated Expiration
2040-06-11

AI Technical Summary

Technical Problem

The increasing demand for high-resolution and high-quality images has led to a need for more efficient image coding technologies to reduce transmission and storage costs.

Method used

The proposed method and apparatus improve image coding efficiency by determining a quantization parameter table based on signaled chroma quantization data and using it to code image information, optimizing coding according to image characteristics.

Benefits of technology

This approach enhances coding efficiency by allowing for adaptive quantization based on image characteristics, thereby reducing the amount of data required for high-resolution and high-quality image transmission and storage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007684353000078
    Figure 0007684353000078
  • Figure 0007684353000079
    Figure 0007684353000079
  • Figure 0007684353000080
    Figure 0007684353000080
Patent Text Reader

Abstract

To provide an image decoding method performed by a decoding device.SOLUTION: An image decoding method comprises the steps of: determining a chroma type related to a reconstructed image; acquiring a flag indicating whether or not quantization parameter data with respect to combined chroma coding exists on the basis of the chroma type whose value is other than 0; and acquiring the quantization parameter data. The quantization parameter data includes a syntax element. A chroma quantization parameter mapping table is derived on the basis of the quantization parameter data. The quantization parameter with respect to the combined chroma coding is derived on the basis of the quantization parameter corresponding to the quantization parameter of a luminance component in the chroma quantization parameter mapping table. The chroma type whose value is 0 indicates a monochromatic format, and the chroma type whose value is other than 0 indicates a chroma format other than monochrome.SELECTED DRAWING: Figure 12
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This document relates to image coding technology, and more particularly, to an image decoding method and apparatus for coding image information based on chroma quantization parameter data signaled via high-level syntax in an image coding system.

Background Art

[0002] Recently, there has been an increasing demand for high-resolution and high-quality images such as HD (High Definition) images and UHD (Ultra High Definition) images in various fields. As the image data becomes higher in resolution and quality, the amount of information or bits to be transmitted relatively increases compared to existing image data. Therefore, when transmitting image data using a medium such as an existing wired or wireless broadband line, or storing image data using an existing storage medium, the transmission cost and storage cost increase.

[0003] Thus, in order to effectively transmit, store, and reproduce information of high-resolution and high-quality images, a highly efficient image compression technology is required.

Summary of the Invention

Problems to be Solved by the Invention

[0004] The technical problem of this document is to provide a method and apparatus for increasing image coding efficiency.

[0005] Another technical problem of this document is to provide a method and apparatus for increasing the efficiency of data coding for deriving quantization parameters for chroma components.

Means for Solving the Problems

[0006] According to one embodiment of this document, an image decoding method executed by a decoding device is provided. The method includes the steps of acquiring image information and generating a reconstructed picture based on the image information. According to another embodiment of this document, a decoding device for executing image decoding is provided. The decoding device includes an entropy decoding unit for acquiring image information and a residual processing unit for generating a reconstructed picture based on the image information.

[0007]

[0008] According to still another embodiment of this document, a video encoding method executed by an encoding device is provided. The method includes the steps of encoding image information and generating a bitstream including the image information.

[0009] According to still another embodiment of this document, a video encoding device is provided. The encoding device includes an entropy encoding unit for encoding image information and generating a bitstream including the image information.

Advantages of the Invention

[0010] According to this document, based on a flag indicating whether quantization parameter data for deriving a quantization parameter for a chroma component can be transmitted, a quantization parameter table for deriving a quantization parameter can be determined, coding can be executed based on the quantization parameter according to the characteristics of the image, and the coding efficiency can be improved.

[0011] According to this document, based on the signaled chroma quantization data, a quantization parameter table for the chroma component can be determined, and coding can be performed based on the quantization parameters according to the characteristics of the image, thereby improving the coding efficiency.

Brief Description of the Drawings

[0012]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

Figure 14

Embodiments for Carrying Out the Invention

[0013] This document can be modified in various ways and can have various embodiments. Specific embodiments will be illustrated in the drawings and described in detail. However, this is not intended to limit this document to specific embodiments. The terms commonly used in this specification are merely used to describe specific embodiments and are not used with the intention of limiting the technical idea of this document. Singular expressions include plural expressions unless the context clearly indicates otherwise. Terms such as "including" or "having" in this specification are intended to specify that there exist features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, and it should be understood that the existence or addition possibility of one or more other features, numbers, steps, operations, components, parts,

[0014] or combinations thereof are not precluded in advance. On the other hand, each configuration in the drawings described in this document is independently illustrated for the convenience of explaining different characteristic functions, and it does not mean that each configuration is realized by separate hardware or separate software. For example, among each configuration, two or more configurations can be combined to form one configuration, and one configuration can also

[0015] Hereinafter, with reference to the accompanying drawings, preferred embodiments of the present document will be described in more detail. Hereinafter, for the same components on the drawings, the same reference numerals will be used, and duplicate descriptions for the same components can be omitted.

[0016] FIG. 1 schematically shows an example of a video / image coding system to which embodiments of the present document can be applied. Briefly shown.

[0017] As shown in FIG. 1, the video / image coding system can include a first device (source device) and a second device (receiving device). The source device can transmit encoded video / image information or data to the receiving device via a digital storage medium or a network in file or streaming form. The source device can include a video source, an encoding device, and a transmitting unit. The receiving device can include a receiving unit, a decoding device, and a renderer. The encoding device can be called a video / image encoding device, and the decoding

[0018] device can be called a video / image decoding device. The transmitter can be included in the encoding device. The receiver can be included in the decoding device. The renderer can include a display unit, and the display unit can be composed of a separate device or an external component. The encoding device can be called a video / image encoding device, and the decoding device can be called a video / image decoding device. The transmitter can be included in the encoding device. The receiver can be included in the decoding device. The renderer can include a display unit, and the display unit can be composed of a separate device or an external component.

[0019] The video source can obtain video / image through processes such as video / image capture, synthesis, or generation. The video source can be a video / image capture device and so on. and / or may include a video / image generation device. The video / image capture device may include, for example, one or more cameras, a video / image archive including previously captured video / images, etc. The video / image generation device may include, for example, a computer, a tablet, a smartphone, etc., and can (electronically) generate a video / image. For example, a virtual video / image can be generated via a computer or the like, in which case the video / image capture process can be replaced during the process of generating the relevant data.

[0020] The encoding device can encode the input video / image. The encoding device can perform a series of procedures such as prediction, transformation, quantization, etc. for compression and coding efficiency. The encoded data (encoded video / image information) can be output in the form of a bitstream.

[0021] The transmission unit can transmit the encoded video / image information output in the form of a bitstream or the data to the receiving unit of the receiving device via a digital storage medium or a network in file or streaming form. The digital storage medium can include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. The transmission unit can include elements for generating a media file via a predetermined file format and can include elements for transmission via a broadcast / communication network. The receiving unit can receive / extract the bitstream and decode it. ​​​​​​​​​​​​It can be transmitted to the encoder device.

[0022] The decoder can execute a series of procedures such as inverse quantization, inverse transformation, and prediction corresponding to the operation of the encoder device to decode the video / image.

[0023] The renderer can render the decoded video / image. The rendered video / image can be displayed via the display unit. .

[0024] This document relates to video / image coding. For example, the methods / embodiments disclosed in this document can be applied to the methods disclosed in the VVC (versatile video coding) standard, EVC (essential video coding) standard, AV1 (AOMedia Video 1) standard, AVS2 (2nd generation of audio video coding standard), or next-generation video / image coding standards (e.g., H.267 or H.268, etc.). o video coding standard), or next-generation video / image coding ing standards (e.g., H.267 or H.268, etc.).

[0025] This document presents various embodiments related to video / image coding. Unless otherwise stated, the above embodiments can also be executed in combination with each other.

[0026] In this document, video can mean a set of a series of images (image ) over time. A picture generally means a unit representing one image in a specific time period, and subpicture / slice ​​​​​​​) / A tile is a unit that constitutes a part of a picture in coding. A sub-picture / slice / tile may include one or more CTUs (coding tree units). One picture may be composed of one or more sub-pictures / slices / tiles. One picture may be composed of one or more groups of tiles. One group of tiles may include one or more tiles. A brick represents a rectangular region of CTU rows within a tile in a picture. A tile may be partitioned into multiple bricks, each of which consisting of one or more CTU rows within the tile. A tile that is not partitioned into multiple bricks may be also referred to as a brick. A brick scan indicates a specific sequential ordering of CTUs that partition a picture, wherein the CTUs are aligned in a CTU raster scan within a brick, bricks within a tile are continuously aligned in a raster scan of the bricks of the tile, and tiles within a picture are continuously aligned in a raster scan of the tiles of the picture. A brick scan indicates a specific sequential ordering of CTUs that partition a picture, wherein the CTUs are aligned in a CTU raster scan within a brick, bricks within a tile are continuously aligned in a raster scan of the bricks of the tile, and tiles within a picture are continuously aligned in a raster scan of the tiles of the picture. ck scan is a specific sequential orderin g of CTUs partitioning a picture in whic h the CTUs are ordered consecutively in CTU raster scan in a brick, bricks withi n a tile are ordered consecutively in a raster scan of the bricks of the tile, a nd tiles in a picture are ordered consec utively in a raster scan of the tiles of the picture). Also, a subpicture may repre sent a rectangular region of one or more slices within a picture (a subpicture may represent a rectangular region of one or more slices within a picture). That is, a subpicture contains one or more slices that collectively cover a rectangular region of a picture. A tile is a rectangul ar region of CTUs within a particular tile column and a particular tile row in a picture. The tile column is a column of It is a rectangular region, and the rectangular region has the same height as the height of the picture, and the width is specified by the syntax elements in the picture parameter set. The tile column is a rectangular region of CTUs having a height equal to the height of the picture and a width specified by syntax elements in the picture parameter set. The tile column is a rectangular region of CTUs having a height equal to the height of the picture and a width specified by syntax elements in the picture parameter set. umn is a rectangular region of CTUs havi ng a height equal to the height of the p icture and a width specified by syntax e lements in the picture parameter set). The tile row is a rectangular region of CTUs, and the rectangular region has a width specified by the syntax elements in the picture parameter set and a height that can be the same as the height of the picture. The tile row is a rectangular region of CTUs having a width specified by the syntax elements in the picture parameter set and a height that can be the same as the height of the picture. n of CTUs having a height specified by s yntax elements in the picture parameter set and a width equal to the width of th e picture). The tile scan indicates a specific sequential ordering of CTUs partitioning a picture, in which the CTUs are ordered consecutively in CTU raster scan in a tile whereas e picture). The tile scan indicates a specific sequential ordering of CTUs partitioning a picture, in which the CTUs are ordered consecutively in CTU raster scan in a tile whereas the CTUs are ordered consecutively in CTU raster scan in a tile whereas the tiles in a picture are ordered consecutively in the raster scan of the tiles of the picture. A tile scan is a specific sequential o rdering of CTUs partitioning a picture i n which the CTUs are ordered consecutive ly in CTU raster scan in a tile whereas tiles in a picture are ordered consecuti very in a raster scan of the tiles of th A slice contains an integer number of bricks of a picture, and the integer number of bricks A slice contains an NAL unit. integer number of bricks of a picture th at maybe exclusively contained in a sing A slice may consist of several complete tiles or a single A slice may be a continuous sequence of complete bricks of a tile. onsists of either a number of complete t iles or only a consecutive sequence of c complete bricks of one tile. In this document, the tile group Groups and slices may be mixed. For example, in this document, tile group / tile e group header may be called slice / slice header stomach.

[0027] A pixel or pel is a unit of a picture. It can also mean the smallest unit that constitutes a pixel. A "sample" can be used. A sample is generally a pixel or or pixel value, and only the pixel / pixel value of the luma component It is also possible to show only the chroma component pixel / pixel values. It is also possible.

[0028] A unit can indicate the basic unit of image processing. A unit can include at least one of a specific region of a pixel and information related to the region. One unit can include one luma block and two chroma (e.g., cb, cr) blocks. A unit can, in some cases, be used interchangeably with terms such as a block or an area. In general, an M×N block can include a sample (or, a sample array) consisting of M columns and N rows, or a set (or, an array) of transform coefficients . In this specification, "A or B" can mean "only A", "only B", or "both A and B". In other words, in this specification, "A or B" can be understood as "A and / or B". For example, in this specification, "A, B, or C" can mean "only A", "only B", "only C", or "any combination of A, B, and C".

[0029] The slashes ( / ) and commas used in this specification can mean "and / or". For example, "A / B" can mean "A and / or B". Thus, "A / B" can mean "only A", "only B", or "both A and B". For example, "A, B, C" can mean "A, B, or C".

[0030]

[0031] In this specification, "at least one of A and B" can mean "only A", "only B", or "both A and B". Also in this specification, expressions such as "at least one of A or B" and "at least one of A and / or B" can be interpreted in the same way as "at least one of A and B". In this specification, "at least one of A or B" and "at least one of A and / or B" can be interpreted in the same way as "at least one of A and B". In this specification, expressions such as "at least one of A or B" and "at least one of A and / or B" can be interpreted in the same way as "at least one of A and B". In this specification, expressions such as "at least one of A or B" and "at least one of A and / or B" can be interpreted in the same way as "at least one of A and B". In this specification, expressions such as "at least one of A or B" and "at least one of A and / or B" can be interpreted in the same way as "at least one of A and B".

[0032] Also, in this specification, "at least one of A, B, and C" can mean "only A", "only B", "only C", or "any combination of A, B and C". Also, "at least one of A, B, or C" and "at least one of A, B, and / or C" can mean "at least one of A, B, and C". In this specification, "at least one of A, B, or C" and "at least one of A, B, and / or C" can mean "at least one of A, B, and C". In this specification, "at least one of A, B, or C" and "at least one of A, B, and / or C" can mean "at least one of A, B, and C". In this specification, "at least one of A, B, or C" and "at least one of A, B, and / or C" can mean "at least one

[0033] In this specification, the parentheses used can mean "for example". Specifically, when it is indicated as "prediction (intra-prediction)", "intra-prediction" can be proposed as an example of "prediction". In other words, "prediction" in this specification is not limited to "intra-prediction", and "intra-prediction" is an example of "prediction". In this specification, the parentheses used can mean "for example". Specifically, when it is indicated as "prediction (intra-prediction)", "intra-prediction" can be proposed as an example of "prediction". In other words, "prediction" in this specification is not limited to "intra-prediction", and "intra-prediction" is an example of "prediction". In this specification, the parentheses used can mean "for example". Specifically, when it is indicated as "prediction (intra-prediction)", "intra-prediction" can be proposed as an example of "prediction". In other words, "prediction" in this specification is not limited to "intra-prediction", and "intra-prediction" is an example of "prediction". In this specification, "prediction" is not limited to "intra-prediction", and "intra-prediction" is an example of "prediction". It can be proposed as an example. Also, when "prediction (i.e., intra prediction)" is displayed, "intra prediction" is proposed as an example of "prediction". It can be so.

[0034] The technical features individually described within one drawing in this specification may be well realized individually or may be realized simultaneously.

[0035] The following drawings are created to explain a specific example of this specification. The names of specific devices and the names of specific signals / messages / fields described in the drawings are presented exemplarily. Therefore, the technical features of this specification are not limited by the specific names used in the following drawings.

[0036] FIG. 2 is a diagram schematically explaining the configuration of a video / image encoding device to which the embodiments of this document can be applied. Hereinafter, the video encoding device can include an image encoding device.

[0037] As shown in FIG. 2, the encoding device 200 can be configured to include an image partitioning unit (image partitioner) 210, a prediction unit (predictor) 220, a residual processing unit (residual processor) 230, an entropy encoding unit (entrop y encoder) 240, an adder 250, a filtering unit (fil ter) 260, and a memory 270. The prediction unit 220 can include an inter prediction unit 221 and an intra prediction unit 222. The residual processing unit 230 includes a transformation unit (transformer) 232, a quantization unit ( (quantizer) 233, dequantizer 234, inverse transformer 235 can be provided. The residual processing unit 230 can further include a subtractor 231. The adder 250 can be called a reconstructor or a reconstructed block generator. As described above, the image segmentation unit 210, prediction unit 220, residual processing unit 230, entropy encoder 240, adder 250, and filtering unit 260 can be configured by one or more hardware components (e.g., an encoder chipset or a processor) according to an embodiment. Also, the memory 270 can include a DPB (decoded picture buffer) and can also be configured by a digital storage medium. The hardware components can further include the memory 270 as an internal / external component. The image segmentation unit 210 can divide an input image (or a picture, a frame) input to the encoding device 200 into one or more processing units. As an example, the processing unit can be called a coding unit (CU). In this case, the coding unit can be a coding tree unit (CTU) or a largest coding unit (LCU) in a QTBTT (Quad-tree binary-tree ternary-tree) structure.

[0038] The image segmentation unit 210 can divide an input image (or a picture, a frame) input to the encoding device 200 into one or more processing units (processing unit). As an example, the processing unit can be called a coding unit (coding unit, CU). In this case, the coding unit can be a coding tree unit (coding tree unit, CTU) or the largest coding unit (largest coding unit, LCU) from a QTBTT (Quad-tree binary-tree ternary-tree) structure to. Therefore, it can be recursively divided. For example, one coding unit can be divided into multiple coding units with a deeper depth based on a quad-tree structure, a binary-tree structure, and / or a ternary structure. In this case, for example, a quad-tree structure can be applied first, and a binary-tree structure and / or a ternary structure can be applied later. Or, a binary-tree structure can also be applied first. The coding procedure according to this document can be executed based on the final coding unit that cannot be further divided. In this case, based on the coding efficiency according to the image characteristics, etc., the maximum coding unit can be directly used as the final coding unit, or, if necessary, the coding unit can be recursively divided into coding units with a deeper depth, and a coding unit with an optimal size can be used as the final coding unit. Here, the coding procedure can include procedures such as prediction, transformation, and restoration, which will be described later. As another example, the processing unit can further include a prediction unit (PU: Prediction Unit) or a transformation unit (TU: Transfor m Unit). In this case, the prediction unit and the transformation unit can each be divided or partitioned from the aforementioned final coding unit. The prediction unit is a unit of sample prediction, and the transformation unit is a unit for deriving transformation coefficients and / or a unit for deriving a residual signal from the

[0039] The unit can be used interchangeably with terms such as block or area in some cases. In general, an M×N block can represent a set of samples or transform coefficients consisting of M columns and N rows. Samples can generally represent pixels or pixel values, and can represent only the pixels / pixel values of the luma component, or only the pixels / pixel values of the chroma component. Samples can be used as a term corresponding to pixels or pels in one picture (or image). The encoding device 200 can subtract the prediction signal (predicted block, predicted sample array) output from the inter prediction unit 221 or the intra prediction unit 222 from the input image signal (original block, original sample array) to generate a residual signal (residual block, residual sample array), and the generated residual signal is transmitted to the conversion unit 232. In this case, as shown in the figure, the unit that subtracts the prediction signal (predicted block, predicted sample array) from the input image signal (original block, original sample array) within the encoder 200 can be called the subtraction unit 231. The prediction unit performs a prediction on the block to be processed (hereinafter referred to as the current block) and can generate a predicted block including the predicted samples for the current block. The prediction unit can be in units of the current block or CU

[0040] The encoding device 200 can subtract the prediction signal (predicted block, predicted sample array) output from the inter prediction unit 221 or the intra prediction unit 222 from the input image signal (original block, original sample array) to generate a residual signal (residual signal, residual block, residual sample array), and the generated residual signal is transmitted to the conversion unit 232. In this case, as shown in the figure, the unit that subtracts the prediction signal (predicted block, predicted sample array) from the input image signal (original block, original sample array) within the encoder 200 can be called the subtraction unit 231. The prediction unit performs a prediction on the block to be processed (hereinafter referred to as the current block) and can generate a predicted block including the predicted samples for the current block. The prediction unit can be in units of the current block or CU ​​​​​​​​​​​​​​​It is possible to determine whether intra prediction is applied or inter prediction is applied. As will be described later in the explanation of each prediction mode, the prediction unit can generate various pieces of information related to prediction, such as prediction mode information, and transmit it to the entropy encoding unit 240. The information related to prediction can be encoded by the entropy encoding unit 240 and output in the form of a bit stream. The intra prediction unit 222 can predict the current block by referring to samples within the current picture. The samples to be referred to can be located at the side (neighbor) of the current block depending on the prediction mode, or can be located remotely. In intra prediction, the prediction mode can include a plurality of non-directional modes and a plurality of directional modes. The non-directional modes can include, for example, the DC mode and the planar mode. The directional modes can include, for example, 33 directional prediction modes or 65 directional prediction modes depending on the degree of fineness of the prediction direction. However, this is merely an example, and a greater or lesser number of directional prediction modes can be used depending on the setting. The intra prediction unit 222 can also determine the prediction mode to be applied to the current block using the prediction mode applied to the adjacent block. The inter prediction unit 221 can derive a predicted block for the current block based on a reference block (reference sample array) specified by a motion vector on the reference picture. At this time, in order to reduce the amount of motion information transmitted in the inter prediction mode, it is possible to perform processing such as motion vector prediction and motion vector difference encoding.

[0041] The intra prediction unit 222 can predict the current block by referring to samples within the current picture. The samples to be referred to can be located at the side (neighbor) of the current block depending on the prediction mode, or can be located remotely. The samples to be referred to can be located at the side (neighbor) of the current block depending on the prediction mode, or can be located remotely. In intra prediction, the prediction mode can include a plurality of non-directional modes and a plurality of directional modes. The non-directional modes can include, for example, the DC mode and the planar mode. The directional modes can include, for example, 33 directional prediction modes or 65 directional prediction modes depending on the degree of fineness of the prediction direction. However, this is merely an example, and a greater or lesser number of directional prediction modes can be used depending on the setting. The intra prediction unit 222 can also determine the prediction mode to be applied to the current block using the prediction mode applied to the adjacent block. In intra prediction, the prediction mode can include a plurality of non-directional modes and a plurality of directional modes. The non-directional modes can include, for example, the DC mode and the planar mode. The directional modes can include, for example, 33 directional prediction modes or 65 directional prediction modes depending on the degree of fineness of the prediction direction. However, this is merely an example, and a greater or lesser number of directional prediction modes can be used depending on the setting. The intra prediction unit 222 can also determine the prediction mode to be applied to the current block using the prediction mode applied to the adjacent block. It is possible. The intra prediction unit 222 can also determine the prediction mode to be applied to the current block using the prediction mode applied to the adjacent block. It is possible.

[0042] The inter prediction unit 221 can derive a predicted block for the current block based on a reference block (reference sample array) specified by a motion vector on the reference picture. At this time, in order to reduce the amount of motion information transmitted in the inter prediction mode, processing such as motion vector prediction and motion vector difference encoding can be performed. Thus, motion information can be predicted at the block, sub-block, or sample level based on the correlation of motion information between adjacent blocks and the current block. The motion information can include a motion vector and a reference picture index. The motion information can further include inter-prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.) information. In the case of inter-prediction, the adjacent blocks can include spatial neighboring blocks existing within the current picture and temporal neighboring blocks existing in the reference picture. The reference picture including the reference block and the reference picture including the temporal neighboring block may be the same or different. The temporal neighboring block can be called by names such as collocated reference block and collocated CU (colCU), and the reference picture including the temporal neighboring block can also be called collocated picture (colPic). For example, the inter-prediction unit 221 can construct a motion information candidate list based on adjacent blocks and generate information indicating which candidates are used to derive the motion vector and / or reference picture index of the current block. Inter-prediction can be performed based on various prediction modes. For example, in the skip mode and merge mode, the inter-prediction unit 221 can use the motion information of adjacent blocks as the motion information of the current block. In the skip mode, unlike the merge mode, a residual signal may not be transmitted. Motion information prediction can be performed at the block, sub-block, or sample level based on the correlation of motion information between adjacent blocks and the current block. The motion information can include a motion vector and a reference picture index. The motion information can further include inter-prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.) information. In the case of inter-prediction, the adjacent blocks can include spatial neighboring blocks existing within the current picture and temporal neighboring blocks existing in the reference picture. The reference picture including the reference block and the reference picture including the temporal neighboring block may be the same or different. The temporal neighboring block can be called by names such as collocated reference block and collocated CU (colCU), and the reference picture including the temporal neighboring block can also be called collocated picture (colPic). For example, the inter-prediction unit 221 can construct a motion information candidate list based on adjacent blocks and generate information indicating which candidates are used to derive the motion vector and / or reference picture index of the current block. Inter-prediction can be performed based on various prediction modes. For example, in the skip mode and merge mode, the inter-prediction unit 221 can use the motion information of adjacent blocks as the motion information of the current block. In the skip mode, unlike the merge mode, a residual signal may not be transmitted. Motion information prediction can include a motion vector and a reference picture index. The motion information can further include inter-prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.) information. In the case of inter-prediction, the adjacent blocks can include spatial neighboring blocks existing within the current picture and temporal neighboring blocks existing in the reference picture. The reference picture including the reference block and the reference picture including the temporal neighboring block may be the same or different. The temporal neighboring block can be called by names such as collocated reference block and collocated CU (colCU), and the reference picture including the temporal neighboring block can also be called collocated picture (colPic). For example, the inter-prediction unit 221 can construct a motion information candidate list based on adjacent blocks and generate information indicating which candidates are used to derive the motion vector and / or reference picture index of the current block. Inter-prediction can be performed based on various prediction modes. For example, in the skip mode and merge mode, the inter-prediction unit 221 can use the motion information of adjacent blocks as the motion information of the current block. In the skip mode, unlike the merge mode, a residual signal may not be transmitted. Motion information prediction can further include inter-prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.) information. In the case of inter-prediction, the adjacent blocks can include spatial neighboring blocks existing within the current picture and temporal neighboring blocks existing in the reference picture. The reference picture including the reference block and the reference picture including the temporal neighboring block may be the same or different. The temporal neighboring block can be called by names such as collocated reference block and collocated CU (colCU), and the reference picture including the temporal neighboring block can also be called collocated picture (colPic). For example, the inter-prediction unit 221 can construct a motion information candidate list based on adjacent blocks and generate information indicating which candidates are used to derive the motion vector and / or reference picture index of the current block. Inter-prediction can be performed based on various prediction modes. For example, in the skip mode and merge mode, the inter-prediction unit 221 can use the motion information of adjacent blocks as the motion information of the current block. In the skip mode, unlike the merge mode, a residual signal may not be transmitted. Motion information prediction In the case of inter-prediction, the adjacent blocks can include spatial neighboring blocks existing within the current picture and temporal neighboring blocks existing in the reference picture. The reference picture including the reference block and the reference picture including the temporal neighboring block may be the same or different. The temporal neighboring block can be called by names such as collocated reference block and collocated CU (colCU), and the reference picture including the temporal neighboring block can also be called collocated picture (colPic). For example, the inter-prediction unit 221 can construct a motion information candidate list based on adjacent blocks and generate information indicating which candidates are used to derive the motion vector and / or reference picture index of the current block. Inter-prediction can be performed based on various prediction modes. For example, in the skip mode and merge mode, the inter-prediction unit 221 can use the motion information of adjacent blocks as the motion information of the current block. In the skip mode, unlike the merge mode, a residual signal may not be transmitted. Motion information prediction In the case of inter-prediction, the adjacent blocks can include spatial neighboring blocks existing within the current picture and temporal neighboring blocks existing in the reference picture. The reference picture including the reference block and the reference picture including the temporal neighboring block may be the same or different. The temporal neighboring block can be called by names such as collocated reference block and collocated CU (colCU), and the reference picture including the temporal neighboring block can also be called collocated picture (colPic). For example, the inter-prediction unit 221 can construct a motion information candidate list based on adjacent blocks and generate information indicating which candidates are used to derive the motion vector and / or reference picture index of the current block. Inter-prediction can be performed based on various prediction modes. For example, in the skip mode and merge mode, the inter-prediction unit 221 can use the motion information of adjacent blocks as the motion information of the current block. In the skip mode, unlike the merge mode, a residual signal may not be transmitted. Motion information prediction In the case of inter-prediction, the adjacent blocks can include spatial neighboring blocks existing within the current picture and temporal neighboring blocks existing in the reference picture. The reference picture including the reference block and the reference picture including the temporal neighboring block may be the same or different. The temporal neighboring block can be called by names such as collocated reference block and collocated CU (colCU), and the reference picture including the temporal neighboring block can also be called collocated picture (colPic). For example, the inter-prediction unit 221 can construct a motion information candidate list based on adjacent blocks and generate information indicating which candidates are used to derive the motion vector and / or reference picture index of the current block. Inter-prediction can be performed based on various prediction modes. For example, in the skip mode and merge mode, the inter-prediction unit 221 can use the motion information of adjacent blocks as the motion information of the current block. In the skip mode, unlike the merge mode, a residual signal may not be transmitted. Motion information prediction In the case of inter-prediction, the adjacent blocks can include spatial neighboring blocks existing within the current picture and temporal neighboring blocks existing in the reference picture. The reference picture including the reference block and the reference picture including the temporal neighboring block may be the same or different. The temporal neighboring block can be called by names such as collocated reference block and collocated CU (colCU), and the reference picture including the temporal neighboring block can also be called collocated picture (colPic). For example, the inter-prediction unit 221 can construct a motion information candidate list based on adjacent blocks and generate information indicating which candidates are used to derive the motion vector and / or reference picture index of the current block. Inter-prediction can be performed based on various prediction modes. For example, in the skip mode and merge mode, the inter-prediction unit 221 can use the motion information of adjacent blocks as the motion information of the current block. In the skip mode, unlike the merge mode, a residual signal may not be transmitted. Motion information prediction The reference picture including the reference block and the reference picture including the temporal neighboring block may be the same or different. The temporal neighboring block can be called by names such as collocated reference block and collocated CU (colCU), and the reference picture including the temporal neighboring block can also be called collocated picture (colPic). For example, the inter-prediction unit 221 can construct a motion information candidate list based on adjacent blocks and generate information indicating which candidates are used to derive the motion vector and / or reference picture index of the current block. Inter-prediction can be performed based on various prediction modes. For example, in the skip mode and merge mode, the inter-prediction unit 221 can use the motion information of adjacent blocks as the motion information of the current block. In the skip mode, unlike the merge mode, a residual signal may not be transmitted. Motion information prediction The temporal neighboring block can be called by names such as collocated reference block and collocated CU (colCU), and the reference picture including the temporal neighboring block can also be called collocated picture (colPic). For example, the inter-prediction unit 221 can construct a motion information candidate list based on adjacent blocks and generate information indicating which candidates are used to derive the motion vector and / or reference picture index of the current block. Inter-prediction can be performed based on various prediction modes. For example, in the skip mode and merge mode, the inter-prediction unit 221 can use the motion information of adjacent blocks as the motion information of the current block. In the skip mode, unlike the merge mode, a residual signal may not be transmitted. Motion information prediction The temporal neighboring block can be called by names such as collocated reference block and collocated CU (colCU), and the reference picture including the temporal neighboring block can also be called collocated picture (colPic). For example, the inter-prediction unit 221 can construct a motion information candidate list based on adjacent blocks and generate information indicating which candidates are used to derive the motion vector and / or reference picture index of the current block. Inter-prediction can be performed based on various prediction modes. For example, in the skip mode and merge mode, the inter-prediction unit 221 can use the motion information of adjacent blocks as the motion information of the current block. In the skip mode, unlike the merge mode, a residual signal may not be transmitted. Motion information prediction The reference picture including the temporal neighboring block can also be called collocated picture (colPic). For example, the inter-prediction unit 221 can construct a motion information candidate list based on adjacent blocks and generate information indicating which candidates are used to derive the motion vector and / or reference picture index of the current block. Inter-prediction can be performed based on various prediction modes. For example, in the skip mode and merge mode, the inter-prediction unit 221 can use the motion information of adjacent blocks as the motion information of the current block. In the skip mode, unlike the merge mode, a residual signal may not be transmitted. Motion information prediction For example, the inter-prediction unit 221 can construct a motion information candidate list based on adjacent blocks and generate information indicating which candidates are used to derive the motion vector and / or reference picture index of the current block. Inter-prediction can be performed based on various prediction modes. For example, in the skip mode and merge mode, the inter-prediction unit 221 can use the motion information of adjacent blocks as the motion information of the current block. In the skip mode, unlike the merge mode, a residual signal may not be transmitted. Motion information prediction For example, the inter-prediction unit 221 can construct a motion information candidate list based on adjacent blocks and generate information indicating which candidates are used to derive the motion vector and / or reference picture index of the current block. Inter-prediction can be performed based on various prediction modes. For example, in the skip mode and merge mode, the inter-prediction unit 221 can use the motion information of adjacent blocks as the motion information of the current block. In the skip mode, unlike the merge mode, a residual signal may not be transmitted. Motion information prediction For example, the inter-prediction unit 221 can construct a motion information candidate list based on adjacent blocks and generate information indicating which candidates are used to derive the motion vector and / or reference picture index of the current block. Inter-prediction can be performed based on various prediction modes. For example, in the skip mode and merge mode, the inter-prediction unit 221 can use the motion information of adjacent blocks as the motion information of the current block. In the skip mode, unlike the merge mode, a residual signal may not be transmitted. Motion information prediction Inter-prediction can be performed based on various prediction modes. For example, in the skip mode and merge mode, the inter-prediction unit 221 can use the motion information of adjacent blocks as the motion information of the current block. In the skip mode, unlike the merge mode, a residual signal may not be transmitted. Motion information prediction For example, in the skip mode and merge mode, the inter-prediction unit 221 can use the motion information of adjacent blocks as the motion information of the current block. In the skip mode, unlike the merge mode, a residual signal may not be transmitted. Motion information prediction In the skip mode, unlike the merge mode, a residual signal may not be transmitted. Motion information prediction In the skip mode, unlike the merge mode, a residual signal may not be transmitted. Motion information prediction In the case of the motion vector prediction (MVP) mode, the motion vector of an adjacent block is used as a motion vector predictor, and the motion vector of the current block can be indicated by signaling the motion vector difference. The prediction unit 220 can generate a prediction signal based on various prediction methods described later. For example, for the prediction of one block, the prediction unit can apply intra prediction or inter prediction, and can also apply intra prediction and inter prediction simultaneously. This can be called combined inter and intra prediction (CIIP). In addition, for the prediction of a block, the prediction unit can also be based on the intra block copy (IBC) prediction mode, or can be based on the palette mode.

[0043] The IBC prediction mode or the palette mode can be used for coding content images / moving images such as games, for example, like SCC (screen content coding). IBC basically performs prediction within the current picture, but can be executed similarly to inter prediction in terms of deriving a reference block within the current picture. That is, IBC can utilize at least one of the inter prediction techniques described in this document. The palette mode can be regarded as an example of intra coding or intra prediction. The prediction unit 220 can generate a prediction signal based on various prediction methods described later. For example, for the prediction of one block, the prediction unit can apply intra prediction or inter prediction, and can also apply intra prediction and inter prediction simultaneously. This can be called combined inter and intra prediction (CIIP). In addition, for the prediction of a block, the prediction unit can also be based on the intra block copy (IBC) prediction mode, or can be based on the palette mode. The IBC prediction mode or the palette mode can be used for coding content images / moving images such as games, for example, like SCC (screen content coding). IBC basically performs prediction within the current picture, but can be executed similarly to inter prediction in terms of deriving a reference block within the current picture. That is, IBC can utilize at least one of the inter prediction techniques described in this document. The palette mode can be regarded as an example of intra coding or intra prediction. The prediction unit 220 can generate a prediction signal based on various prediction methods described later. For example, for the prediction of one block, the prediction unit can apply intra prediction or inter prediction, and can also apply intra prediction and inter prediction simultaneously. When the intra mode is applied, information regarding the palette table and palette index can be used to signal sample values within a picture.

[0044] The prediction signal generated via the prediction unit (including the inter prediction unit 221 and / or the intra prediction unit 222) is used to generate a reconstructed signal or can be used to generate a residual signal. The conversion unit 232 can apply a conversion technique to generate transform coefficients . For example, the conversion technique can include at least one of DCT (Discrete Cosine Transform), DST (Discrete Sine Transform), KLT (Karhunen-Loeve Transform), GBT (Graph-Based Transform), or CNT (Conditionally Non-linear Transform). Here , when GBT represents relationship information between pixels in a graph, it means the transform obtained from this graph. CNT means generating a prediction signal using all previously reconstructed pixels and the transform obtained based on that . Also, the conversion process can be applied to pixel blocks having the same size of a square, and can also be applied to non-square, variable-size blocks . The quantization unit 233 quantizes the transform coefficients and transmits them to the entropy encoding unit 240 . . . . . . .

[0045] . , the entropy encoding unit 240 can encode the quantized signal (information regarding the quantized transform coefficients) and output it as a bitstream. The information regarding the quantized transform coefficients can be called residual information. The quantization unit 233 can reorder the block-shaped quantized transform coefficients in a one-dimensional vector form based on the coefficient scan order, and can also generate the information regarding the quantized transform coefficients based on the one-dimensional vector form of the quantized transform coefficients. The entropy encoding unit 240 can execute various encoding methods such as, for example, exponential Golomb, CAVLC (context-adaptive variable length coding), CABAC (context-adaptive binary arithmetic coding), etc. The entropy encoding unit 240 can encode, together or separately, in addition to the quantized transform coefficients, information necessary for video / image restoration (for example, values of syntax elements, etc.). The encoded information (for example, encoded video / image information) can be transmitted or stored in units of NAL (network abstraction layer) units in a bitstream form. The video / image information can further include information regarding various parameter sets such as an adaptation parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). Also, the video / image information is subject to general restrictions. regarding the quantized transform coefficients can be called residual information. The quantization unit 23 3 can reorder the block-shaped quantized transform coefficients in a one-dimensional vector form based on the coefficient scan order, and the information regarding the quantized transform coefficients can also be generated based on the one-dimensional vector form of the quantized transform coefficients. The entropy encoding unit 240 can execute various encoding methods such as, for example, exponential Golomb, CAVLC (context-adaptive variable length coding), CABAC (context-adaptive binary arithmetic coding), etc. The entropy encoding unit 240 can encode, together or separately, in addition to the quantized transform coefficients, information necessary for video / image restoration (for example, values of syntax elements, etc.). The encoded information (for example, encoded video / image information) can be transmitted or stored in units of NAL (network abstraction layer) units in a bitstream form. The video / image information can further include information regarding various parameter sets such as an adaptation parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). Also, the video / image information is subject to general restrictions. The entropy encoding unit 240 can execute various encoding methods such as, for example, exponential Golomb, CAVLC (context-adaptive variable length coding), CABAC (context-adaptive binary arithmetic coding), etc. The entropy encoding unit 240 can encode, together or separately, in addition to the quantized transform coefficients, information necessary for video / image restoration (for example, values of syntax elements, etc.). The encoded information (for example, encoded video / image information) can be transmitted or stored in units of NAL (network abstraction layer) units in a bitstream form. The video / image information can further include information regarding various parameter sets such as an adaptation parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). Also, the video / image information is subject to general restrictions. The entropy encoding unit 240 can execute various encoding methods such as, for example, exponential Golomb, CAVLC (context-adaptive variable length coding), CABAC (context-adaptive It can further include a report (general constraint information). In this document, the information and / or syntax elements transmitted / signaled from the encoding device to the decoding device can be included in the video / image information. The video / image information can be encoded through the encoding procedure described above and included in the bitstream. The bitstream can be transmitted through a network or stored in a digital storage medium. Here, the network can include a broadcast network and / or a communication network, etc., and the digital storage medium can include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. The signal output from the entropy encoding unit 240 can be configured as an internal / external element of the encoding device 200 by a transmission unit (not shown) for transmission and / or a storage unit (not shown) for storage, or the transmission unit can also be included in the entropy encoding unit 240. The quantized transform coefficients output from the quantization unit 233 can be used to generate a prediction signal. For example, by applying inverse quantization and inverse transformation to the quantized transform coefficients through the inverse quantization unit 234 and the inverse transformation unit 235, a residual signal (residual block or residual sample) can be restored. The addition unit 250 can generate a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array) by adding the restored residual signal to the prediction signal output from the inter prediction unit 221 or the intra prediction unit 222. The skip mode is applied

[0046] ​​​​​​​​​​​​ If there is no residual for the block to be processed, as in the case where it has been processed, the predicted block can be used as the restored block. The adder 250 can be called the restoration unit or the restored block generation unit. The generated restored signal can be used for intra prediction of the next block to be processed within the current picture, and as will be described later, can also be used for inter prediction of the next picture after passing through filtering.

[0047] On the other hand, LMCS (luma mapping with chroma scaling) can also be applied during picture encoding and / or restoration process.

[0048] The filtering unit 260 can apply filtering to the restored signal to improve subjective / objective image quality. For example, the filtering unit 260 can apply various filtering methods to the restored picture to generate a modified restored picture, and store the modified restored picture in the memory 270, specifically, in the DP of the memory 270. The various filtering methods can include, for example, deblocking filtering, sample adaptive offset, adaptive loop filter, bilateral filter, etc. The filtering unit 260 can generate various information related to filtering and transmit it to the entropy encoding unit 240, as will be described later in the description of each filtering method. The information related to filtering is encoded by the entropy encoding unit 240. unit 240. and can be output in bitstream form.

[0049] The corrected reconstructed picture transmitted to the memory 270 can be used as a reference picture in the inter prediction unit 221. The encoding device can avoid prediction mismatches between the encoding device 200 and the decoding device 300 and improve the encoding efficiency when inter prediction is applied through this. When applied, it can avoid prediction mismatches between the encoding device 200 and the decoding device 300 and improve the encoding efficiency. The encoding efficiency can also be improved.

[0050] The memory 270DPB can store the corrected reconstructed picture for use as a reference picture in the inter prediction unit 221. The memory 270 can store the motion information of the blocks for which the motion information in the current picture has been derived (or encoded) and / or the motion information of the blocks in the already reconstructed pictures. The stored motion information can be transmitted to the inter prediction unit 221 for utilization as the motion information of spatially adjacent blocks or temporally adjacent blocks. The memory 270 can store the reconstructed samples of the reconstructed blocks in the current picture and can transmit them to the intra prediction unit 222. The stored motion information can be transmitted to the inter prediction unit 221 for utilization as the motion information of spatially adjacent blocks or temporally adjacent blocks. The memory 270 can store the reconstructed samples of the reconstructed blocks in the current picture and can transmit them to the intra prediction unit 222. The stored motion information can be transmitted to the inter prediction unit 221 for utilization as the motion information of spatially adjacent blocks or temporally adjacent blocks. The memory 270 can store the reconstructed samples of the reconstructed blocks in the current picture and can transmit them to the intra prediction unit 222. The stored motion information can be transmitted to the inter prediction unit 221 for utilization as the motion information of spatially adjacent blocks or temporally adjacent blocks. The memory 270 can store the reconstructed samples of the reconstructed blocks in the current picture and can transmit them to the intra prediction unit 222. The stored motion information can be transmitted to the inter prediction unit 221 for utilization as the motion information of spatially adjacent blocks or temporally adjacent blocks. The memory 270 can store the reconstructed samples of the reconstructed blocks in the current picture and can transmit them to the intra prediction unit 222. The stored motion information can be transmitted to the inter prediction unit 221 for utilization as the motion information of spatially adjacent blocks or temporally adjacent blocks. The memory 270 can store the reconstructed samples of the reconstructed blocks in the current picture and can transmit them to the intra prediction unit 222. The stored motion information can be transmitted to the inter prediction unit 221 for utilization as the motion information of spatially adjacent blocks or temporally adjacent blocks. The memory 270 can store the reconstructed samples of the reconstructed blocks in the current picture and can transmit them to the intra prediction unit 222.

[0051] FIG. 3 is a diagram schematically explaining the configuration of a video / image decoding device to which the embodiments of this document can be applied. FIG. 3 is a diagram schematically explaining the configuration of a video / image decoding device to which the embodiments of this document can be applied.

[0052] As shown in FIG. 3, the decoding device 300 includes an entropy decoder 310, a residual processor 320, a predictor 330, an adder 340, a filter decoder)310, a residual processor (residual processo r)320, a predictor 330, an adder 340, a filter configured to include a filtering unit 350 and a memory 360 The prediction unit 330 can include an inter prediction unit 331 and an intra prediction unit 332 The residual processing unit 320 can include a dequantizer 321 and an inverse transformer 322 The entropy decoding unit 310, the residual processing unit 320, the prediction unit 330, the addition unit 340, and the filtering unit 350 described above can be configured by one hardware component (e.g., a decoder chipset or a processor) according to an embodiment The memory 360 can include a decoded picture buffer (DPB) and can also be configured by a digital storage medium The hardware component can further include the memory 360 as an internal / external component

[0053] When a bitstream including video / image information is input, the decoding device 300 can restore an image corresponding to the process in which the video / image information was processed by the encoding device in FIG. 2 For example, the decoding device 300 can derive units / blocks based on block partitioning related information obtained from the bitstream The decoding device 300 can perform decoding using the processing units applied in the encoding device Therefore, the processing unit for decoding is, for example, a coding unit, and the coding unit is split according to a quadtree structure, a binary tree structure, and / or a ternary tree structure from a coding tree unit or a maximum coding unit ​​​​​​​​​ It can be done. One or more conversion units can be derived from the coding unit. And the restored image signal decoded and output via the decoding device 300 can be played back via a playback device.

[0054] The decoding device 300 can receive the signal output from the encoding device in FIG. 2 in the form of a bitstream. The received signal can be decoded via the entropy decoding unit 310. For example, the entropy decoding unit 310 can parse the bitstream to derive information (e.g., video / image information) necessary for image restoration (or picture restoration). The video / image information can further include information related to various parameter sets such as an adaptation parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). Also, the video / image information can further include general constraint information. The decoding device can further decode the picture based on the information related to the parameter set and / or the general constraint information. The signaling / received information and / or syntax elements described later in this document can be decoded via the decoding procedure and obtained from the bitstream. For example, the entropy decoding unit 310 decodes the information in the bitstream based on a coding method such as exponential Golomb coding, CAVLC, or CABAC, and obtains the syntax elements necessary for image restoration. It is possible to output values of elements, quantized values of conversion coefficients related to residuals, etc. More specifically, the CABAC entropy decoding method receives bins corresponding to each syntax element in a bitstream, and uses the syntax element information to be decoded, the decoding information of surrounding and decoding target blocks, or the information of symbols / bins decoded in the previous step to determine a context model, predicts the occurrence probability of a bin according to the determined context model, and can execute arithmetic decoding of the bin to generate a symbol corresponding to the value of each syntax element. At this time, after determining the context model, the CABAC entropy decoding method can update the context model by using the information of the decoded symbols / bins for the context model of the next symbol / bin. Among the information decoded by the entropy decoding unit 310, the information related to prediction is provided to the prediction unit (inter prediction unit 332 and intra prediction unit 331), and the residual value obtained by performing entropy decoding by the entropy decoding unit 310, that is, the quantized conversion coefficient and related parameter information can be input to the residual processing unit 320. The residual processing unit 320 can derive a residual signal (residual block, residual sample, residual sample array). In addition, among the information decoded by the entropy decoding unit 310, the information related to filtering can be provided to the filtering unit 350. On the other hand, a receiving unit (not shown) that receives a signal output from the encoding device can be further configured as an internal / external element of the decoding device 300, or the receiving unit is the entropy decoding unit 31 That is, the quantized conversion coefficient and related parameter information can be input to the residual processing unit 320. The residual processing unit 320 can derive a residual signal (residual block, residual sample, residual sample array). In addition, among the information decoded by the entropy decoding unit 310, the information related to filtering can be provided to the filtering unit 350. On the other hand, a receiving unit (not shown) that receives a signal output from the encoding device can be further configured as an internal / external element of the decoding device 300, or the receiving unit is the entropy decoding unit 31 Output from the encoding device, and the receiving unit (not shown) that receives the signal can be further configured as an internal / external element of the decoding device 300, or the receiving unit is the entropy decoding unit 31 is a component of 0. On the other hand, the decoding device according to this document can be called a video / image / picture decoding device, and the decoding device can be divided into an information decoder (video / image / picture information decoder) and a sample decoder (video / image / picture sample decoder). ). The information decoder can include the entropy decoding unit 310, and the sample decoder can include at least one of the inverse quantization unit 321, the inverse transformation unit 322, the addition unit 340, the filtering unit 350, the memory 360, the inter prediction unit 332, and the intra prediction unit 331. In the inverse quantization unit 321, the quantized transform coefficients can be inverse quantized to output transform coefficients. The inverse quantization unit 321 can reorder the quantized transform coefficients in a two-dimensional block form. In this case, the reordering can be performed based on the coefficient scan order executed by the encoding device. The inverse quantization unit 321 can use quantization parameters (for example, quantization step size information) to perform inverse quantization on the quantized transform coefficients to obtain transform coefficients.

[0055] In the inverse quantization unit 321, the quantized transform coefficients can be inverse quantized to output transform coefficients. The inverse quantization unit 321 can reorder the quantized transform coefficients in a two-dimensional block form. In this case, the reordering can be performed based on the coefficient scan order executed by the encoding device. The inverse quantization unit 321 can use quantization parameters (for example, quantization step size information) to perform inverse quantization on the quantized transform coefficients to obtain transform coefficients.

[0056] In the inverse transformation unit 322, the transform coefficients are inverse transformed to obtain a residual signal (residual block, residual sample array).

[0057] The prediction unit can perform prediction on the current block and generate a predicted block including prediction samples for the current block. ​​​​​​​​​​​​The prediction unit performs a prediction based on the prediction information output from the entropy decoding unit 310. Based on the result, intra prediction or inter prediction is applied to the current block. It is possible to determine the specific intra / inter prediction mode. can.

[0058] The prediction unit 320 can generate a prediction signal based on various prediction methods, which will be described later. For example, the prediction unit may use intra prediction or inter prediction for a block. Not only can it apply 1-prediction, but it can also apply intra-prediction and inter-prediction simultaneously. This is a combined inter and intra pr The prediction unit can be called the CIIP (Complementary Interpolated Prediction) (CIIP) for a block. For prediction, intra block copy (IB) is used. C) It can be based on prediction mode or palette mode The IBC prediction mode or palette mode can be based on, for example, SC C (screen content coding), etc. IBC can be used for image / video coding. Prediction is performed within a picture, but is differentiated in that it derives reference blocks within the current picture. The IBC can be performed similarly to the center forecast described in this document. At least one of the inter prediction techniques described below can be used. A palette can be seen as an example of intra-coding or intra-prediction. If the mode is applied, the information about the palette table and palette index is It can be signaled and included in the recorded video / image information.

[0059] The intra prediction unit 331 can predict the current block by referring to samples within the current picture. The samples to be referred to can be located on the periphery (neighbor) of the current block depending on the prediction mode, or can be located remotely. In intra prediction, the prediction mode can include a plurality of non - directional modes and a plurality of directional modes. The intra prediction unit 331 can also determine the prediction mode to be applied to the current block by using the prediction mode applied to the adjacent block.

[0060] The inter prediction unit 332 can derive a predicted block for the current block based on a reference block (reference sample array) specified by a motion vector on a reference picture. At this time, in order to reduce the amount of motion information transmitted from the inter prediction mode, the motion information can be predicted in units of blocks, sub - blocks, or samples based on the correlation of the motion information between the adjacent block and the current block. The motion information can include a motion vector and a reference picture index. The motion information can further include inter prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.) information. In the case of inter prediction, the adjacent blocks can include spatial neighboring blocks existing within the current picture and temporal neighboring blocks existing in the reference picture. For example, the inter prediction unit 332 can generate a motion information candidate list based on the adjacent blocks. It constitutes a prediction, and based on the received candidate selection information, the motion vector and / or the reference picture index of the current block can be derived. Inter prediction can be performed based on various prediction modes, and the information regarding the prediction can include information indicating the mode of inter prediction for the current block.

[0061] The adder 340 can generate a restored signal (restored picture, restored block, restored sample array) by adding the obtained residual signal to the prediction signal (predicted block, predicted sample array) output from the prediction unit (including the inter prediction unit 332 and / or the intra prediction unit 331). When there is no residual for the processing target block, such as when the skip mode is applied, the predicted block can be used as the restored block.

[0062] The adder 340 can also be called a restoration unit or a restored block generation unit. The generated restored signal can be used for the intra prediction of the next processing target block within the current picture, can be output after filtering as described later, or can also be used for the inter prediction of the next picture.

[0063] On the other hand, LMCS (luma mapping with chroma scaling) can also be applied during the picture decoding process.

[0064] The filtering unit 350 can apply filtering to the restored signal to improve the subjective / objective image quality. For example, the filtering unit 350 can apply various filters to the restored picture. Generate a modified restored picture by applying a filtering method and can transmit the modified restored picture to the memory 360, specifically, D of the memory 360 PB. The various filtering methods can include, for example, deblocking filtering, sample adaptive offset, adaptive loop filter, bilateral filter, etc. The (modified) restored picture stored in the DPB of the memory 360 can be used as a reference picture by the inter prediction unit 3

[0065] 32. The memory 360 can store the motion information of the blocks for which the motion information in the current picture has been derived (or decoded) and / or the motion information of the blocks in the already restored picture. The stored motion information can be transmitted to the inter prediction unit 260 for utilization as the motion information of spatially adjacent blocks or temporally adjacent blocks. The memory 360 can store the restored samples of the restored blocks in the current picture and can transmit them to the intra prediction unit 33 1. In this specification, the embodiments described in the filtering unit 260, inter prediction unit 221, and intra prediction unit 222 of the encoding device 200 can also be applied identically or correspondingly to the filtering unit 350, inter prediction unit 332, and intra prediction unit 331 of the decoding device 300 respectively.

[0066]

[0067] ​​​​​​In this document, at least one of quantization / inverse quantization and / or transformation / inverse transformation can be omitted. When the quantization / inverse quantization is omitted, the quantized transformation coefficients can be referred to as transformation coefficients. When the transformation / inverse transformation is omitted, the transformation coefficients can be referred to as coefficients or residual coefficients, or, for the sake of uniformity of representation, can still be referred to as transformation coefficients.

[0068] In this document, the quantized transformation coefficients and the transformation coefficients can be respectively referred to as transformation coefficients and scaled transformation coefficients. In this case, the residual information can include information about the transformation coefficients (etc.), and the information about the transformation coefficients (etc.) can be signaled via the residual coding syntax. Based on the above-mentioned residual information (or the information about the transformation coefficients (etc.)), the transformation coefficients can be derived, and the scaled transformation coefficients can be derived via the inverse transformation (scaling) for the transformation coefficients. Based on the inverse transformation (transformation) for the scaled transformation coefficients, the residual samples can be derived. This can be applied / expressed in the same way in other parts of this document.

[0069] As described above, in performing video coding, prediction is performed to improve the compression efficiency. Through this, a predicted block including prediction samples for the current block, which is the block to be coded, can be generated. Here, the predicted block includes prediction samples in the spatial domain main (or pixel domain). The predicted block is derived identically in the encoding device and the decoding device, and the encoding device is the original block ​ information regarding the residual between the original block and the predicted block that is not the original sample value of the lock signaling information regarding the residual (residual information) to a decoding device can improve the image coding efficiency. The decoding device derives a residual block including residual samples based on the residual information, and can generate a restored block including restored samples by combining the residual block and the predicted block, and can generate a restored picture including the restored block.

[0070] The residual information can be generated through conversion and quantization procedures. For example the encoding device derives a residual block between the original block and the predicted block, performs a conversion procedure on the residual samples (residual sample array) included in the residual block to derive conversion coefficients, performs a quantization procedure on the conversion coefficients to derive quantized conversion coefficients, and can signal related residual information (via a bitstream ) to the decoding device. Here, the residual information can include information such as value information, position information, conversion technique, conversion kernel, quantization parameter, etc. of the quantized conversion coefficients. The decoding device performs an inverse quantization / inverse conversion procedure based on the residual information to derive residual samples (or a residual block). The decoding device can generate a restored picture based on the predicted block and the residual block. The encoding device further inverse quantizes / inverse converts the quantized conversion coefficients for reference for inter prediction of subsequent pictures to obtain a residual sample (or a residual block). The decoding device can generate a restored picture based on the predicted block and the residual block. The encoding device further inverse quantizes / inverse converts the quantized conversion coefficients for reference for inter prediction of subsequent pictures to obtain a residual sample (or a residual block). The decoding device can generate a restored picture based on the predicted block and the residual A dual block can be derived, and a reconstructed picture can be generated based on this.

[0071] Intra prediction can represent a prediction that generates prediction samples for a current block based on reference samples within a picture (hereinafter referred to as the current picture) to which the current block belongs. When intra prediction is applied to the current block, peripheral reference samples used for intra prediction of the current block can be derived. The peripheral reference samples of the current block can include a total of 2×nH samples adjacent to the left boundary of the current block of size nW×nH and adjacent to the bottom-left, a total of 2×nW samples adjacent to the top boundary of the current block and adjacent to the top-right, and 1 sample adjacent to the top-left of the current block. Or, the peripheral reference samples of the current block can also include a plurality of rows of upper peripheral samples and a plurality of columns of left peripheral samples. Also, the peripheral reference samples of the current block can include a total of nH samples adjacent to the right boundary of the current block of size nW×nH, a total of nW samples adjacent to the bottom boundary of the current block, and 1 sample adjacent to the bottom-right of the current block. When intra prediction is applied to the current block, peripheral reference samples used for intra prediction of the current block can be derived. The peripheral reference samples of the current block can include a total of 2×nH samples adjacent to the left boundary of the current block of size nW×nH and adjacent to the bottom-left, a total of 2×nW samples adjacent to the top boundary of the current block and adjacent to the top-right, and 1 sample adjacent to the top-left of the current block. The peripheral reference samples of the current block can include a total of 2×nH samples adjacent to the left boundary of the current block of size nW×nH and adjacent to the bottom-left, a total of 2×nW samples adjacent to the top boundary of the current block and adjacent to the top-right, and 1 sample adjacent to the top-left of the current block. The peripheral reference samples of the current block can include a total of 2×nH samples adjacent to the left boundary of the current block of size nW×nH and adjacent to the bottom-left, a total of 2×nW samples adjacent to the top boundary of the current block and adjacent to the top-right, and 1 sample adjacent to the top-left of the current block. The peripheral reference samples of the current block can include a total of 2×nW samples adjacent to the top boundary of the current block and adjacent to the top-right, and 1 sample adjacent to the top-left of the current block. The peripheral reference samples of the current block can include a total of 2×nW samples adjacent to the top boundary of the current block and adjacent to the top-right, and 1 sample adjacent to the top-left of the current block. The peripheral reference samples of the current block can include a total of 2×nW samples adjacent to the top boundary of the current block and adjacent to the top-right, and 1 sample adjacent to the top-left of the current block. The peripheral reference samples of the current block can also include a plurality of rows of upper peripheral samples and a plurality of columns of left peripheral samples. The peripheral reference samples of the current block can include a total of nH samples adjacent to the right boundary of the current block of size nW×nH, a total of nW samples adjacent to the bottom boundary of the current block, and 1 sample adjacent to the bottom-right of the current block. The peripheral reference samples of the current block can include a total of nH samples adjacent to the right boundary of the current block of size nW×nH, a total of nW samples adjacent to the bottom boundary of the current block, and 1 sample adjacent to the bottom-right of the current block. The peripheral reference samples of the current block can include a total of nH samples adjacent to the right boundary of the current block of size nW×nH, a total of nW samples adjacent to the bottom boundary of the current block, and 1 sample adjacent to the bottom-right of the current block. The peripheral reference samples of the current block can include a total of nH samples adjacent to the right boundary of the current block of size nW×nH, a total of nW samples adjacent to the bottom boundary of the current block, and 1 sample adjacent to the bottom-right of the current block.

[0072] However, some of the peripheral reference samples of the current block may not have been decoded yet or may not be available. In this case, the decoder substitutes samples that are not available with available samples and uses them as peripheral reference samples for prediction. However, some of the peripheral reference samples of the current block may not have been decoded yet or may not be available. In this case, the decoder substitutes samples that are not available with available samples and uses them as peripheral reference samples for prediction. However, some of the peripheral reference samples of the current block may not have been decoded yet or may not be available. In this case, the decoder substitutes samples that are not available with available samples and uses them as peripheral reference samples for prediction. A pull can be configured. Or, peripheral reference samples for prediction can be configured through interpolation of available samples. through which peripheral reference samples for prediction can be configured.

[0073] When peripheral reference samples are derived, (i) prediction samples can be derived based on the average or interpolation of the neighboring reference samples of the current block, and (ii) the prediction samples can also be derived based on the reference samples that exist in a specific (prediction) direction with respect to the prediction samples among the neighboring reference samples of the current block. In the case of (i), it can be called a non-directional mode or a non-angular mode, and in the case of (ii), it can be called a directional mode or an angular mode. ng) reference samples, and (ii) the prediction samples can also be derived based on the reference samples that exist in a specific (prediction) direction with respect to the prediction samples among the neighboring reference samples of the current block. In the case of (i), it is a non-directional rpolation) of the neighboring reference samples of the current block. In the case of (i), it is a non-directional block, and (ii) the prediction samples can also be derived based on the reference samples that exist in a specific (prediction) direction with respect to the prediction samples among the neighboring reference samples of the current block. In the case of (i), it is a non-directional (non-directional) mode or a non-angular mode, and in the case of (ii), it is a directional mode or an angular mode. (non-directional) mode or a non-angular mode, and in the case of (ii), it is a directional mode or an angular mode. ular) mode, and in the case of (ii), it is a directional mode or an angular mode. ular) mode.

[0074] Also, among the peripheral reference samples, the prediction samples can be generated by interpolation between a first peripheral sample located in the prediction direction of the intra prediction mode of the current block and a second peripheral sample located in the opposite direction of the prediction direction with respect to the prediction sample of the current block. In the case described above, it can be called linear interpolation intra prediction (LIP). Also, a chroma prediction sample can be generated based on a luma sample using a linear model (LM). In this case, it can be called an LM mode or a CLM (chroma component LM) mode. current block, a first peripheral sample located in the prediction direction of the intra prediction mode of the current block, and a second peripheral sample located in the opposite direction of the prediction direction. prediction samples can be generated by interpolation between a first peripheral sample located in the prediction direction of the intra prediction mode of the current block and a second peripheral sample located in the opposite direction of the prediction direction with respect to the prediction sample of the current block. prediction samples can be generated by interpolation between a first peripheral sample located in the prediction direction of the intra prediction mode of the current block and a second peripheral sample located in the opposite direction of the prediction direction with respect to the prediction sample of the current block. In the case described above, it can be called linear interpolation intra prediction (LIP). polation intra prediction, LIP). Also, a chroma prediction sample can be generated based on a luma sample using a linear model (LM). In this case, it can be called linear interpolation intra prediction (LIP). Also, a chroma prediction sample can be generated based on a luma sample using a linear model (LM). In this case, it can be called an LM mode or a CLM (chroma component LM) mode. In this case, it can be called an LM mode or a CLM (chroma component LM) mode.

[0075] Also, perform a temporary prediction of the current block based on the filtered neighboring reference samples to derive samples, and perform a weighted sum of the existing neighboring reference samples, i.e., at least one of the neighboring reference samples that have not been filtered and that are derived by the intra prediction mode, and the temporary prediction samples to derive the prediction samples of the current block described above. In the case described above, it can be called PDPC (Position dependent intra prediction).

[0076] Also, among the neighboring multiple reference sample lines of the current block, select the reference sample line with the highest prediction accuracy, and use the reference samples located in the prediction direction on this line to derive prediction samples. At this time, intra prediction coding can be performed by a method of instructing (signaling) the used reference sample line to the decoding device. In the case described above, it can be called multi-reference line intra prediction or MRL-based intra prediction

[0077] Also, divide the current block into vertical or horizontal sub-partitions and perform intra prediction based on the same intra prediction mode, but neighboring reference samples can be derived and used in units of the sub-partitions. That is, in this case, although the intra prediction mode for the current block is similarly applied to the sub-partitions, by deriving and using neighboring reference samples in units of the sub-partitions, intra prediction performance can be improved in some cases. Such a prediction method is called ISP (intra sub-partition) ​​​​​​​​​​​​​​It can be called the intra prediction based on the

[0078] The above-mentioned intra prediction method, etc. can be classified as an intra prediction type separate from the intra prediction mode. The intra prediction type can be called by various terms such as an intra prediction technique or an additional intra prediction mode. For example, the intra prediction type (or an additional intra prediction mode, etc.) can include at least one of the above-mentioned LIP, PDPC, MRL, and ISP. The general intra prediction method excluding specific intra prediction types such as the above-mentioned LIP, PDPC, MRL, and ISP can be called a normal intra prediction type. The normal intra prediction type can be generally applied when the above-mentioned specific intra prediction types are not applicable, and predictions can be made based on the above-mentioned intra prediction mode. On the other hand, post-processing filtering can also be performed on the predicted samples derived as needed.

[0079] Specifically, the intra prediction procedure can include an intra prediction mode / type determination step, a peripheral reference sample derivation step, and an intra prediction mode / type-based predicted sample derivation step. Also, as needed, a post-processing filtering step can be performed on the derived predicted samples.

[0080] FIG. 4 shows an example of a video / image encoding method based on intra prediction.

[0081] As shown in FIG. 4, the encoding device performs intra prediction on the current block (S 400). The encoding device derives the intra prediction mode / type for the current block and can derive the surrounding reference samples of the current block, and generates prediction samples within the current block based on the intra prediction mode / type and the surrounding reference samples. Here , the intra prediction mode / type determination, surrounding reference sample derivation, and prediction sample generation procedures can be performed simultaneously, and any one of the procedures can be performed prior to the other procedures. The encoding device can determine the mode / type applied to the current block among a plurality of intra prediction modes / types. The encoding device compares the RD cost for the intra prediction mode / type and can determine the optimal intra prediction mode / type for the current block.

[0082] On the other hand, the encoding device can also perform a prediction sample filtering procedure. The prediction sample filtering can be referred to as post-filtering. Some or all of the prediction samples can be filtered by the prediction sample filtering procedure. In some cases, the prediction sample filtering procedure can be omitted.

[0083] The encoding device generates residual samples for the current block based on the (filtered) prediction samples (S410). The encoding device compares the prediction samples with the original samples of the current block on a phase basis and can derive the residual samples.

[0084] The encoding device encodes the information (prediction information) related to the intra prediction and the residual ​​​​​​​It is possible to encode image information including residual information regarding a sample (S4 20). The prediction information can include the intra prediction mode information and the intra prediction type information. The encoding device can output the encoded image information in a bitstream form. The output bitstream can be transmitted to a decoding device via a storage medium or a network.

[0085] The residual information can include a residual coding syntax described later. The encoding device can convert / quantize the residual samples to derive quantized transform coefficients. The residual information can include information regarding the quantized transform coefficients.

[0086] On the other hand, as described above, the encoding device can generate a reconstructed picture (including reconstructed samples and reconstructed blocks). For this purpose, the encoding device can perform inverse quantization / inverse transformation processing on the quantized transform coefficients again to derive (corrected) residual samples. The reason for performing inverse quantization / inverse transformation again after converting / quantizing the residual samples is to derive the same residual samples as the residual samples derived from the decoding device, as described above. The encoding device can generate a reconstructed block including reconstructed samples for the current block based on the prediction samples and the (corrected) residual samples. Based on the reconstructed block, a reconstructed picture for the current picture can be generated. As described above, loop filtering procedures and the like can be further applied to the reconstructed picture. ​​​​​​

[0087] FIG. 5 shows an example of a video / image encoding method based on an intra prediction basis.

[0088] The decoding device can perform operations corresponding to the operations performed by the encoding device .

[0089] Prediction information and residual information can be obtained from the bitstream. Based on the residual information, residual samples for the current block can be derived. Specifically, based on the quantized transform coefficients derived based on the residual information, inverse quantization is performed to derive transform coefficients, inverse transform is performed on the transform coefficients, and residual samples for the current block can be derived. Specifically, the decoding device can derive an intra prediction mode / type for the current block based on the received prediction information (intra prediction mode / type information) (S500). The decoding device can derive peripheral reference samples of the current block (S510). The decoding device can generate prediction samples within the current block based on the intra prediction mode / type and the peripheral reference samples (S520). In this case, the decoding device can perform a prediction sample filtering procedure. The prediction sample filtering can be called post-filtering. Some or all of the prediction samples can be filtered by the prediction sample filtering procedure. In some cases, the prediction sample filtering procedure can be omitted. The decoding device can derive residual samples for the current block based on the received residual information.

[0090] Specifically, the decoding device can derive an intra prediction mode / type for the current block based on the received prediction information (intra prediction mode / type information) (S500). The decoding device can derive an intra prediction mode / type for the current block based on the received prediction information (intra prediction mode / type information) (S500). The decoding device can derive peripheral reference samples of the current block (S510). The decoding device can generate prediction samples within the current block based on the intra prediction mode / type and the peripheral reference samples (S520). In this case, the decoding device can perform a prediction sample filtering procedure. The prediction sample filtering can be called post-filtering. Some or all of the prediction samples can be filtered by the prediction sample filtering procedure. In some cases, the prediction sample filtering procedure can be omitted. The decoding device can derive peripheral reference samples of the current block (S510). The decoding device can generate prediction samples within the current block based on the intra prediction mode / type and the peripheral reference samples (S520). In this case, the decoding device can perform a prediction sample filtering procedure. The prediction sample filtering can be called post-filtering. Some or all of the prediction samples can be filtered by the prediction sample filtering procedure. In some cases, the prediction sample filtering procedure can be omitted. The decoding device can generate prediction samples within the current block based on the intra prediction mode / type and the peripheral reference samples (S520). In this case, the decoding device can perform a prediction sample filtering procedure. The prediction sample filtering can be called post-filtering. Some or all of the prediction samples can be filtered by the prediction sample filtering procedure. In some cases, the prediction sample filtering procedure can be omitted. In this case, the decoding device can perform a prediction sample filtering procedure. The prediction sample filtering can be called post-filtering. Some or all of the prediction samples can be filtered by the prediction sample filtering procedure. In some cases, the prediction sample filtering procedure can be omitted. The decoding device can perform a prediction sample filtering procedure. The prediction sample filtering can be called post-filtering. Some or all of the prediction samples can be filtered by the prediction sample filtering procedure. In some cases, the prediction sample filtering procedure can be omitted. The prediction sample filtering can be called post-filtering. Some or all of the prediction samples can be filtered by the prediction sample filtering procedure. In some cases, the prediction sample filtering procedure can be omitted. Some or all of the prediction samples can be filtered by the prediction sample filtering procedure. In some cases, the prediction sample filtering procedure can be omitted. In some cases, the prediction sample filtering procedure can be omitted.

[0091] The decoding device can derive residual samples for the current block based on the received residual information. Generate a dual sample (S530). The decoding device generates a restored sample for the current block based on the prediction sample and the residual sample recorded above, and can derive a restored block including the recorded restored sample (S540). A restored picture for the current picture can be generated based on the restored block. As described above, an in-loop filtering procedure or the like can be further applied to the restored picture. As described above, an in-loop filtering procedure or the like can be further applied to the restored picture.

[0092] The intra prediction mode information can include, for example, flag information (ex. intra_luma_mpm_flag) indicating whether MPM (most probable mode) is applied to the current block or whether the remaining mode (remaining mode) is applied. When MPM is applied to the current block, the prediction mode information can further include index information (ex. intra_luma_mpm_idx) indicating one of the intra prediction mode candidates (MPM candidates). The intra prediction mode candidates (MPM candidates) can be composed of an MPM candidate list or an MPM list. Also, when MPM is not applied to the current block, the intra prediction mode information can further include remaining mode information (ex. intra_luma_mpm_remainder) indicating one of the remaining intra prediction modes excluding the intra prediction mode candidates (MPM candidates). The decoding device can determine the intra prediction of the current block based on the intra prediction mode information. de) is applied to the current block or whether the remaining mode (remaining mode) is applied. When MPM is applied to the current block, the prediction mode information can further include index information (ex. intra_luma_mpm_idx) indicating one of the intra prediction mode candidates (MPM candidates). The intra prediction mode candidates (MPM candidates) can be composed of an MPM candidate list or an MPM list. Also, when MPM is not applied to the current block, the intra prediction mode information can further include remaining mode information (ex. intra_luma_mpm_remainder) indicating one of the remaining intra prediction modes excluding the intra prediction mode candidates (MPM candidates). The decoding device can determine the intra prediction of the current block based on the intra prediction mode information. ning mode) is applied. When MPM is applied to the current block, the prediction mode information can further include index information (ex. intra_luma_mpm_idx) indicating one of the intra prediction mode candidates (MPM candidates). The intra prediction mode candidates (MPM candidates) can be composed of an MPM candidate list or an MPM list. Also, when MPM is not applied to the current block, the intra prediction mode information can further include remaining mode information (ex. intra_luma_mpm_remainder) indicating one of the remaining intra prediction modes excluding the intra prediction mode candidates (MPM candidates). The decoding device can determine the intra prediction of the current block based on the intra prediction mode information. ma_mpm_flag) indicating whether MPM (most probable mode) is applied to the current block or whether the remaining mode (remaining mode) is applied. When MPM is applied to the current block, the prediction mode information can further include index information (ex. intra_luma_mpm_idx) indicating one of the intra prediction mode candidates (MPM candidates). The intra prediction mode candidates (MPM candidates) can be composed of an MPM candidate list or an MPM list. Also, when MPM is not applied to the current block, the intra prediction mode information can further include remaining mode information (ex. intra_luma_mpm_remainder) indicating one of the remaining intra prediction modes excluding the intra prediction mode candidates (MPM candidates). The decoding device can determine the intra prediction of the current block based on the intra prediction mode information. to the current block, the prediction mode information can further include index information (ex. intra_luma_mpm_idx) indicating one of the intra prediction mode candidates (MPM candidates). The intra prediction mode candidates (MPM candidates) can be composed of an MPM candidate list or an MPM list. Also, when MPM is not applied to the current block, the intra prediction mode information can further include remaining mode information (ex. intra_luma_mpm_remainder) indicating one of the remaining intra prediction modes excluding the intra prediction mode candidates (MPM candidates). The decoding device can determine the intra prediction of the current block based on the intra prediction mode information. indicating one of the intra prediction mode candidates (MPM candidates). The intra prediction mode candidates (MPM candidates) can be composed of an MPM candidate list or an MPM list. Also, when MPM is not applied to the current block, the intra prediction mode information can further include remaining mode information (ex. intra_luma_mpm_remainder) indicating one of the remaining intra prediction modes excluding the intra prediction mode candidates (MPM candidates). The decoding device can determine the intra prediction of the current block based on the intra prediction mode information. The intra prediction mode candidates (MPM candidates) can be composed of an MPM candidate list or an MPM list. Also, when MPM is not applied to the current block, the intra prediction mode information can further include remaining mode information (ex. intra_luma_mpm_remainder) indicating one of the remaining intra prediction modes excluding the intra prediction mode candidates (MPM candidates). The decoding device can determine the intra prediction of the current block based on the intra prediction mode information. The intra prediction mode candidates (MPM candidates) can be composed of an MPM candidate list or an MPM list. Also, when MPM is not applied to the current block, the intra prediction mode information can further include remaining mode information (ex. intra_luma_mpm_remainder) indicating one of the remaining intra prediction modes excluding the intra prediction mode candidates (MPM candidates). The decoding device can determine the intra prediction of the current block based on the intra prediction mode information. to the current block, the intra prediction mode information can further include remaining mode information (ex. intra_luma_mpm_remainder) indicating one of the remaining intra prediction modes excluding the intra prediction mode candidates (MPM candidates). The decoding device can determine the intra prediction of the current block based on the intra prediction mode information. The intra prediction mode candidates (MPM candidates) can be composed of an MPM candidate list or an MPM list. Also, when MPM is not applied to the current block, the intra prediction mode information can further include remaining mode information (ex. intra_luma_mpm_remainder) indicating one of the remaining intra prediction modes excluding the intra prediction mode candidates (MPM candidates). The decoding device can determine the intra prediction of the current block based on the intra prediction mode information. intra_luma_mpm_remainder) indicating one of the remaining intra prediction modes excluding the intra prediction mode candidates (MPM candidates). The decoding device can determine the intra prediction of the current block based on the intra prediction mode information. The decoding device can determine the intra prediction of the current block based on the intra prediction mode information. ode of the current block.

[0093] In addition, the intra prediction type information can be realized in various forms. As an example, the intra prediction type information includes intra prediction type index information indicating any one of the intra prediction types. As another example, the intra prediction type information includes reference sample line information (e.g., intra_luma_ref_idx) indicating whether the MRL is applied to the current block and, if applied, which reference sample line is used, ISP flag information (e.g., intra_subpartitions_mode_flag) indicating whether the ISP is applied to the block, ISP type information (e.g., intra_subpartitions_split_flag) indicating the split type of the subpartition when the ISP is applied, at least one of flag information indicating whether PDCP is applicable or flag information indicating whether LIP is applicable. In addition, the intra prediction type information includes an MIP flag indicating whether MIP (matrix-based intra prediction) is applied to the current block. (ex.intra_subpartitions_mode_flag), the ISP .intra_subpartitions_split_flag), PDCP applicability

[0094]

[0095]

[0096] The intra prediction mode information and / or the intra prediction type information can be encoded / decoded by the coding method described in this document. For example, the intra prediction mode information and / or the intra prediction type information can be encoded / decoded via entropy coding (e.g., CABAC, CAVLC).

[0095]

[0096] FIG. 6 exemplarily shows the intra prediction procedure.

[0096] Referring to FIG. 6, as described above, the intra prediction procedure includes an intra prediction mode / type determination step, a peripheral reference sample derivation step, and an intra prediction execution (prediction sample generation) step. The intra prediction procedure can be performed by the encoding device and the decoding device as described above. In this document, the coding device can include an encoding device and / or a decoding device.

[0097] As shown in FIG. 6, the coding device determines the intra prediction mode / type (S 600).

[0098] The encoding device can determine the intra prediction mode / type applied to the current block among the various intra prediction modes / types described above, and can generate prediction-related information. The prediction-related information can include intra prediction mode information representing the intra prediction mode applied to the current block and / or intra prediction type information representing the intra prediction type applied to the current block. The decoding device can determine the intra prediction mode / type applied to the current block based on the prediction-related information. The intra prediction mode information can include, for example, flag information (e.g., intra_luma_mpm_flag) indicating whether MPM (most probable mode) is applied to the current block or whether the remaining mode is applied. When MPM is applied to the current block, the prediction mode information is one of the intra prediction mode candidates (MPM candidates)

[0099] ​​​​​​​​further includes index information (ex.intra_luma_mpm_idx) indicating this. The intra prediction mode candidates (MPM candidates) can be configured by an MPM candidate list or an MPM list. Also, when the MPM cannot be applied to the current block, the intra prediction mode information can further include remaining mode information (ex.intra_luma_mpm_remainder) indicating one of the remaining intra prediction modes excluding the intra prediction mode candidates (MPM candidates). The decoder can determine the intra

[0100] prediction of the current block based on the intra prediction mode information. Also, the intra prediction type information can be realized in various forms. As an example, the intra prediction type information includes intra prediction type index information indicating any one of the intra prediction types. As another example, the intra prediction type information includes reference sample line information (ex.intra_luma_r ef_idx) indicating whether the MRL is applied to the current block and which reference sample line is used if it is applied, ISP flag information (ex.intra_subpartitions_mode_flag) indicating whether the ISP is applied to the current block, ISP type information ( MIP indicating whether x-based intra prediction is applied includes a flag.

[0101] For example, when intra prediction is applied, the intra prediction mode of the current block can be determined using the intra prediction modes of neighboring blocks. For example, the coding device can select one of the MPM candidates in the MPM (most probable mode) list derived based on the intra prediction modes of neighboring blocks (e.g., left and / or upper neighboring blocks) of the current block and / or additional candidate modes, based on the received MPM index, or select one of the remaining intra prediction modes not included in the MPM candidates (and the planar mode) based on the MPM reminder information (remaining intra prediction mode information). The MPM list can be configured to include or not include the planar mode as a candidate. For example, when the MPM list includes the planar mode as a candidate, the MPM list can have 6 candidates, and when the MPM list does not include the planar mode as a candidate, the MPM list can have 5 candidates. When the MPM list does not include the planar mode as a candidate, a not planar flag (e.g., intra_luma_not_planar_flag) indicating whether the intra prediction mode of the current block is not the planar mode can be signaled. For example, the MPM flag can be signaled first, and the MPM index and the not planar flag can be signaled when the value of the MPM flag is 1. Also, the MPM index can be the ... (the original text seems incomplete here, but I'm translating based on what's provided) ... (continuing the translation of the incomplete part) ... (continuing the translation of the incomplete part) ... (continuing the translation of the incomplete part) ... (continuing the translation of the incomplete part) ... (continuing the translation of the incomplete part) ... (continuing the translation of the incomplete part) ... (continuing the translation of the incomplete part) ... (continuing the translation of the incomplete part) ... (continuing the translation of the incomplete part) ... (continuing the translation of the incomplete part) ... (continuing the translation of the incomplete part) ... (continuing the translation of the incomplete part) It can be signaled when the value of the t - planner flag is 1. Here, the fact that the MPM list is configured not to include the planner mode as a candidate means that rather than the planner mode not being an MPM, the planner mode is always considered as an MPM so that the flag (not planar flag) is signaled first to check whether it is the planner mode first. For example, whether the intra - prediction mode currently applied to the block is among the MPM candidates (and the planner mode), or among the remaining modes, can be indicated based on the MPM flag (e x.intra_luma_mpm_flag). A value of 1 for the MPM flag can indicate that the intra - prediction mode for the current block is within the MPM candidates (and the planner mode), and a value of 0 for the MPM flag can indicate that the intra - prediction mode for the current block is not within the MPM candidates (and the planner mode). A value of 0 for the not planar flag (ex.intra_luma_

[0102] not_planar_flag) can indicate that the intra - prediction mode for the current block is the planner mode, and a value of 1 for the not planar flag can indicate that the intra - prediction mode for the current block is not the planner mode. The MPM index can be signaled in the form of the mpm_idx or intra_luma a_mpm_idx syntax element, and the remaining intra - prediction mode information can be signaled in the form of the rem_intra_luma_pred_mode or intra_luma_mpm_remainder syntax element. For the current block, a value of 0 for the MPM flag can indicate that the intra - prediction mode is not within the MPM candidates (and the planner mode). A value of 0 for the not planar flag (ex.intra_luma_ not_planar_flag) can indicate that the intra - prediction mode for the current block is the planner mode, and a value of 1 for the not planar flag can indicate that the intra - prediction mode for the current block is not the planner mode. The MPM index can be signaled in the form of the mpm_idx or intra_luma a_mpm_idx syntax element, and the remaining intra - prediction mode information can be signaled in the form of the rem_intra_luma_pred_mode or intra_luma_mpm_remainder syntax element. A value of 0 for the not planar flag can indicate that the intra - prediction mode for the current block is the planner mode, and a value of 1 for the not planar flag can indicate that the intra - prediction mode for the current block is not the planner mode. The MPM index can be signaled in the form of the mpm_idx or intra_lum a_mpm_idx syntax element, and the remaining intra - prediction mode information can be signaled in the form of the rem_intra_luma_pred_mode or intra_luma_mpm_remainder syntax element. The MPM index can be signaled in the form of the mpm_idx or intra_lum a_mpm_idx syntax element, and the remaining intra - prediction mode information can be signaled in the form of the rem_intra_luma_pred_mode or intra_luma_mpm_remainder syntax element. It can be enumerated. For example, the remaining intra prediction mode information is all Among the body intra prediction modes, the remaining Intra prediction modes not included in the MPM candidates (and the planner mode) are indexed in the order of prediction mode numbers, and one of them can be pointed to. The intra prediction mode can be an intra prediction mode for the luma component (sample). Hereinafter, the intra prediction mode information includes at least one of the MPM flag (e.g., intra_luma_mpm_flag), the not planar flag (e.g., x.intra_luma_not_planar_flag), the MPM index (e.g., mpm_idx or intra_luma_mpm_idx), and the remaining intra prediction mode information (rem_intra_luma_pred_mode or intra_luma_mpm_remainder). In this document, the MPM list can be called by various terms such as the MPM candidate list, candMode List, etc. When MIP is applied to the current block, a separate MPM flag (e.g., x.intra_mip_mpm_flag), MPM index (e.g., intra _mip_mpm_idx), and remaining intra prediction mode information (e.g., intra _mip_mpm_remainder) can be signaled, and the not pl

[0103] anar flag can be not signaled. x.intra_mip_mpm_idx), and the remaining intra prediction mode information (e.g., intra _mip_mpm_remainder) can be signaled, and the not pl anar flag can be not signaled. That is, generally when block division is performed on an image, the coding target

[0104] In other words, generally when block division is performed on an image, the coding target The current block and neighboring blocks come to have similar image characteristics Therefore, the current block and neighboring blocks are either identical to each other or have a high probability of having similar intra prediction modes. Thus, the encoder can use the intra prediction mode of neighboring blocks to encode the intra prediction mode of the current block.

[0105] The coding device can construct an MPM (most probable modes) list for the current block. The MPM list can also be referred to as an MPM candidate list. Here, MPM means a mode used to improve coding efficiency by considering the similarity between the current block and neighboring blocks during intra prediction mode coding As described above, the MPM list can be configured to include the planar mode or can be configured excluding the planar mode. For example, when the MPM list includes the planar mode, the number of candidates in the MPM list can be six And when the MPM list does not include the planar mode, the number of candidates in the MPM list can be five. As described above, the MPM list can be configured to include the planar mode or can be configured excluding the planar mode. For example, when the MPM list includes the planar mode, the number of candidates in the MPM list can be six And when the MPM list does not include the planar mode, the number of candidates in the MPM list can be five. The encoding device can perform prediction based on various intra prediction modes and can determine the optimal intra prediction mode based on RDO (rate - distortion optimization) based on this In this case, the encoding device can determine the optimal intra prediction mode using only the MPM candidates and the planar mode configured in the MPM list, or the MPM candidates and

[0106] The encoding device can perform prediction based on various intra prediction modes and can determine the optimal intra prediction mode based on RDO (rate - distortion optimization) based on this Based on this, it can determine the optimal intra prediction mode based on RDO (rate - distortion optimization). In this case, the encoding device can use only the MPM candidates and the planar mode configured in the MPM list to determine the optimal intra prediction mode, or the MPM candidates and the planar mode configured in the MPM list to determine the optimal intra prediction mode, or the MPM candidates configured in the MPM list and the planar mode configured in the MPM list to determine the optimal intra prediction mode, or the MPM candidates configured in the MPM list and Not only the planar mode, but also the remaining intra prediction modes can be further used to determine the optimal intra prediction mode. Specifically, for example, if the intra prediction type of the current block is a specific type (e.g., LIP, M RL, or ISP) that is not the normal intra prediction type, the encoding device may consider only the MPM candidates and the planar mode as intra prediction mode candidates for the current block to determine the optimal intra prediction mode. That is, in this case, the intra prediction mode for the current block can be determined among the MPM candidates and the planar mode, and in this case, the MPM flag may not be encoded / signaled. The decoding device can presume that the MPM flag is 1 even if it is not signaled separately in this case.

[0107] On the other hand, generally, when the intra prediction mode of the current block is not the planar mode and is one of the MPM candidates within the MPM list, the encoding device generates an MPM index (mpm idx) indicating one of the MPM candidates. If the intra prediction mode of the current block is not within the MPM list, MPM remainder information (remaining intra prediction mode information) indicating the same mode as the intra prediction mode of the current block is generated from among the remaining intra prediction modes not included in the MPM list (and the planar mode). The MPM remainder information may include, for example, an intra_luma_mpm_remainder syntax element.

[0108] ​​​​​​​​​​​​The decoding device acquires intra prediction mode information from the bitstream. The intra prediction mode information can include at least one of the MPM flag, not planar flag, MPM index, and MPM remainder information (remaining intra prediction mode information), as described above. The decoding device can configure an MPM list. The MPM list configured above is configured in the same way as the MPM list configured by the encoding device. That is, the MPM list can include the intra prediction modes of surrounding blocks and can further include specific intra prediction modes by a predetermined method.

[0109] The decoding device can determine the intra prediction mode of the current block based on the MPM list and the intra prediction mode information. As an example, when the value of the MPM flag is 1, the decoding device derives the planar mode as the intra prediction mode of the current block (based on the not planar flag), or derives the candidate pointed to by the MPM index among the MPM candidates in the MPM list as the intra prediction mode of the current block. Here, the MPM candidate can represent only the candidates included in the MPM list, or can include not only the candidates included in the MPM list but also the planar mode that can be applied when the value of the MPM flag is 1. As another example, when the value of the MPM flag is 0, the decoding device selects the

[0110] remainder intra prediction mode that is not included in the MPM list and the planar mode, and selects the candidate pointed to by the MPM index among them as the intra prediction mode of The intra prediction mode indicated by the ring-in intra prediction mode information (which can be called mpm remainder information) is derived as the intra prediction mode of the current block. ) can be done. On the other hand, as yet another example, when the intra prediction type of the current block is a specific type (e.g., LIP, MRL, or ISP, etc.), the decoding device can, without parsing / decoding / verifying the MPM flag, also derive the candidate indicated by the MPM flag in the planner mode or the MPM list as the intra prediction mode of the current block.

[0111] The coding device derives the surrounding reference samples of the current block (S610). When intra prediction is applied to the current block, the surrounding reference samples used for intra prediction of the current block can be derived. The surrounding reference samples of the current block include samples adjacent to the left boundary of the current block of size nW×nH, and a total of 2×nH samples adjacent to the bottom-left ), samples adjacent to the top boundary of the current block, and a total of 2xnW samples adjacent to the top-right ), and 1 sample adjacent to the top-left of the current block. ), or the surrounding reference samples of the current block can also include a plurality of rows of upper surrounding samples and a plurality of columns of left surrounding samples. Also, the surrounding reference samples of the current block include a total of nH samples adjacent to the right boundary of the current block of size nW×nH, a total of nW samples adjacent to the bottom boundary of the current block, ), and 1 sample adjacent to the bottom-right of the current block. ​​​​​​​It may also include samples.

[0112] On the other hand, when the MRL is applied (that is, when the value of the MRL index is greater than 0), the peripheral reference samples can be located on lines 1 or 2 other than line 0 adjacent to the current block on the left / upper side. In this case, the number of peripheral reference samples can further increase. On the other hand, when the ISP is applied, the peripheral reference samples can be derived in units of sub-partitions. On the other hand, when the MRL is applied (i.e., when the value of the MRL index is greater than 0), the peripheral reference samples can be located on lines other than line 0 adjacent to the current block on the left / upper side, such as lines 1 or 2. In this case, the number of peripheral reference samples can be further increased. On the other hand, when the ISP is applied, the peripheral reference samples can be derived in units of sub-partitions. On the other hand, when the MRL is applied (i.e., when the value of the MRL index is greater than 0), the peripheral reference samples can be located on lines other than line 0 adjacent to the current block on the left / upper side, such as lines 1 or 2. In this case, the number of peripheral reference samples can be further increased. On the other hand, when the ISP is applied, the peripheral reference samples can be derived in units of sub-partitions. On the other hand, when the MRL is applied (i.e., when the value of the MRL index is greater than 0), the peripheral reference samples can be located on lines other than line 0 adjacent to the current block on the left / upper side, such as lines 1 or 2. In this case, the number of peripheral reference samples can be further increased. On the other hand, when the ISP is applied, the peripheral reference samples can be derived in units of sub-partitions. On the other hand, when the MRL is applied (i.e., when the value of the MRL index is greater than 0), the peripheral reference samples can be located on lines other than line 0 adjacent to the current block on the left / upper side, such as lines 1 or 2. In this case, the number of peripheral reference samples can be further increased. On the other hand, when the ISP is applied, the peripheral reference samples can be derived in units of sub-partitions.

[0113] The coding device performs intra prediction on the current block to derive prediction samples (S620). The coding device can derive the prediction samples based on the intra prediction mode / type and the peripheral samples. The coding device can derive the reference samples according to the intra prediction mode of the current block among the peripheral reference samples of the current block, and can derive the prediction samples of the current block based on the reference samples. The coding device performs intra prediction on the current block to derive prediction samples (S620). The coding device can derive the prediction samples based on the intra prediction mode / type and the peripheral samples. The coding device can derive the reference samples according to the intra prediction mode of the current block among the peripheral reference samples of the current block, and can derive the prediction samples of the current block based on the reference samples. The coding device performs intra prediction on the current block to derive prediction samples (S620). The coding device can derive the prediction samples based on the intra prediction mode / type and the peripheral samples. The coding device can derive the reference samples according to the intra prediction mode of the current block among the peripheral reference samples of the current block, and can derive the prediction samples of the current block based on the reference samples. The coding device performs intra prediction on the current block to derive prediction samples (S620). The coding device can derive the prediction samples based on the intra prediction mode / type and the peripheral samples. The coding device can derive the reference samples according to the intra prediction mode of the current block among the peripheral reference samples of the current block, and can derive the prediction samples of the current block based on the reference samples. The coding device performs intra prediction on the current block to derive prediction samples (S620). The coding device can derive the prediction samples based on the intra prediction mode / type and the peripheral samples. The coding device can derive the reference samples according to the intra prediction mode of the current block among the peripheral reference samples of the current block, and can derive the prediction samples of the current block based on the reference samples.

[0114] On the other hand, when inter prediction is applied, the prediction unit of the encoding device / decoding device can perform inter prediction in units of blocks to derive prediction samples. Inter prediction can represent a prediction derived in a manner that depends on data elements (e.g., sample values or motion information) of pictures other than the current picture (etc.). On the other hand, when inter prediction is applied, the prediction unit of the encoding device / decoding device can perform inter prediction in units of blocks to derive prediction samples. Inter prediction can represent a prediction derived in a manner that depends on data elements (e.g., sample values or motion information) of pictures other than the current picture (etc.). On the other hand, when inter prediction is applied, the prediction unit of the encoding device / decoding device can perform inter prediction in units of blocks to derive prediction samples. Inter prediction can represent a prediction derived in a manner that depends on data elements (e.g., sample values or motion information) of pictures other than the current picture (etc.). On the other hand, when inter prediction is applied, the prediction unit of the encoding device / decoding device can perform inter prediction in units of blocks to derive prediction samples. Inter prediction can represent a prediction derived in a manner that depends on data elements (e.g., sample values or motion information) of pictures other than the current picture (etc.). On the other hand, when inter prediction is applied, the prediction unit of the encoding device / decoding device can perform inter prediction in units of blocks to derive prediction samples. Inter prediction can represent a prediction derived in a manner that depends on data elements (e.g., sample values or motion information) of pictures other than the current picture (etc.). On the other hand, when inter prediction is applied, the prediction unit of the encoding device / decoding device can perform inter prediction in units of blocks to derive prediction samples. Inter prediction can represent a prediction derived in a manner that depends on data elements (e.g., sample values or motion information) of pictures other than the current picture (etc.). On the other hand, when inter prediction is applied, the prediction unit of the encoding device / decoding device can perform inter prediction in units of blocks to derive prediction samples. Inter prediction can represent a prediction derived in a manner that depends on data elements (e.g., sample values or motion information) of pictures other than the current picture (etc.). ture(s) other than the current picture). When inter prediction is applied to the current block, the reference picture pointed to by the reference picture index Based on the reference block (reference sample array) specified by the motion vector on the reference picture The predicted block (predicted sample array) for the current block can be derived. At this time, in order to reduce the amount of motion information transmitted in the inter prediction mode, based on the correlation of the motion information between the neighboring block and the current block The motion information of the current block can be predicted in units of blocks, sub-blocks, or samples. The motion information Can include a motion vector and a reference picture index. The motion information Can further include inter-prediction type (L0 prediction, L1 prediction, Bi prediction, etc.) information. When inter Prediction is applied, the neighboring blocks include spatial neighboring blocks existing within the current picture And temporal neighboring blocks existing in the reference picture Can be provided. The reference picture including the reference block and the reference picture including the temporal neighboring block Can be the same or different. The temporal neighboring block Can be called by names such as collocated reference block, collocated CU (colCU), etc. The reference picture including the temporal Neighboring block can also be called collocated picture (colPic). For example, a motion information candidate list can be constructed based on the neighboring blocks of the current block, and the motion vector of the current block Of the current block Can be called by names such as block, and the reference picture including the temporal Neighboring block can also be called collocated picture (colPic). For example, a motion information candidate list can be constructed based on the neighboring blocks of the current block, and the motion vector of the current block Of the current block Based on the neighboring blocks of the current block, a motion information candidate list can be constructed, and the motion vector of the current block And / or a flag or index information indicating which candidate is selected (used) may be signaled to derive the reference picture index. Inter prediction can be performed based on various prediction modes. For example, in the case of skip mode and merge mode, the motion information of the current block can be the same as the motion information of the selected neighboring block. In the case of skip mode, unlike merge mode, the residual signal can be not transmitted. In the case of motion vector prediction (MVP) mode, the motion vector of the selected neighboring block is used as a motion vector predictor, and the motion vector difference can be signaled. In this case, the motion vector of the current block can be derived using the sum of the motion vector predictor and the motion vector difference. And / or a flag or index information indicating which candidate is selected (used) may be signaled to derive the reference picture index. Inter prediction can be performed based on various prediction modes. For example, in the case of skip mode and merge mode, the motion information of the current block can be the same as the motion information of the selected neighboring block. In the case of skip mode, unlike merge mode, the residual signal can be not transmitted. In the case of motion vector prediction (MVP) mode, the motion vector of the selected neighboring block is used as a motion vector predictor, and the motion vector difference can be signaled. In this case, the motion vector of the current block can be derived using the sum of the motion vector predictor and the motion vector difference. And / or a flag or index information indicating which candidate is selected (used) may be signaled to derive the reference picture index. Inter prediction can be performed based on various prediction modes. For example, in the case of skip mode and merge mode, the motion information of the current block can be the same as the motion information of the selected neighboring block. In the case of skip mode, unlike merge mode, the residual signal can be not transmitted. In the case of motion vector prediction (MVP) mode, the motion vector of the selected neighboring block is used as a motion vector predictor, and the motion vector difference can be signaled. In this case, the motion vector of the current block can be derived using the sum of the motion vector predictor and the motion vector difference. And / or a flag or index information indicating which candidate is selected (used) may be signaled to derive the reference picture index. Inter prediction can be performed based on various prediction modes. For example, in the case of skip mode and merge mode, the motion information of the current block can be the same as the motion information of the selected neighboring block. In the case of skip mode, unlike merge mode, the residual signal can be not transmitted. In the case of motion vector prediction (MVP) mode, the motion vector of the selected neighboring block is used as a motion vector predictor, and the motion vector difference can be signaled. In this case, the motion vector of the current block can be derived using the sum of the motion vector predictor and the motion vector difference. And / or a flag or index information indicating which candidate is selected (used) may be signaled to derive the reference picture index. Inter prediction can be performed based on various prediction modes. For example, in the case of skip mode and merge mode, the motion information of the current block can be the same as the motion information of the selected neighboring block. In the case of skip mode, unlike merge mode, the residual signal can be not transmitted. In the case of motion vector prediction (MVP) mode, the motion vector of the selected neighboring block is used as a motion vector predictor, and the motion vector difference can be signaled. In this case, the motion vector of the current block can be derived using the sum of the motion vector predictor and the motion vector difference. And / or a flag or index information indicating which candidate is selected (used) may be signaled to derive the reference picture index. Inter prediction can be performed based on various prediction modes. For example, in the case of skip mode and merge mode, the motion information of the current block can be the same as the motion information of the selected neighboring block. In the case of skip mode, unlike merge mode, the residual signal can be not transmitted. In the case of motion vector prediction (MVP) mode, the motion vector of the selected neighboring block is used as a motion vector predictor, and the motion vector difference can be signaled. In this case, the motion vector of the current block can be derived using the sum of the motion vector predictor and the motion vector difference. And / or a flag or index information indicating which candidate is selected (used) may be signaled to derive the reference picture index. Inter prediction can be performed based on various prediction modes. For example, in the case of skip mode and merge mode, the motion information of the current block can be the same as the motion information of the selected neighboring block. In the case of skip mode, unlike merge mode, the residual signal can be not transmitted. In the case of motion vector prediction (MVP) mode, the motion vector of the selected neighboring block is used as a motion vector predictor, and the motion vector difference can be signaled. In this case, the motion vector of the current block can be derived using the sum of the motion vector predictor and the motion vector difference. And / or a flag or index information indicating which candidate is selected (used) may be signaled to derive the reference picture index. Inter prediction can be performed based on various prediction modes. For example, in the case of skip mode and merge mode, the motion information of the current block can be the same as the motion information of the selected neighboring block. In the case of skip mode, unlike merge mode, the residual signal can be not transmitted. In the case of motion vector prediction (MVP) mode, the motion vector of the selected neighboring block is used as a motion vector predictor, and the motion vector difference can be signaled. In this case, the motion vector of the current block can be derived using the sum of the motion vector predictor and the motion vector difference. And / or a flag or index information indicating which candidate is selected (used) may be signaled to derive the reference picture index. Inter prediction can be performed based on various prediction modes. For example, in the case of skip mode and merge mode, the motion information of the current block can be the same as the motion information of the selected neighboring block. In the case of skip mode, unlike merge mode, the residual signal can be not transmitted. In the case of motion vector prediction (MVP) mode, the motion vector of the selected neighboring block is used as a motion vector predictor, and the motion vector difference can be signaled. In this case, the motion vector of the current block can be derived using the sum of the motion vector predictor and the motion vector difference. And / or a flag or index information indicating which candidate is selected (used) may be signaled to derive the reference picture index. Inter prediction can be performed based on various prediction modes. For example, in the case of skip mode and merge mode, the motion information of the current block can be the same as the motion information of the selected neighboring block. In the case of skip mode, unlike merge mode, the residual signal can be not transmitted. In the case of motion vector prediction (MVP) mode, the motion vector of the selected neighboring block is used as a motion vector predictor, and the motion vector difference can be signaled. In this case, the motion vector of the current block can be derived using the sum of the motion vector predictor and the motion vector difference. And / or a flag or index information indicating which candidate is selected (used) may be signaled to derive the reference picture index. Inter prediction can be performed based on various prediction modes. For example, in the case of skip mode and merge mode, the motion information of the current block can be the same as the motion information of the selected neighboring block. In the case of skip mode, unlike merge mode, the residual signal can be not transmitted. In the case of motion vector prediction (MVP) mode, the motion vector of the selected neighboring block is used as a motion vector predictor, and the motion vector difference can be signaled. In this case, the motion vector of the current block can be derived using the sum of the motion vector predictor and the motion vector difference.

[0115] The motion information may include L0 motion information and / or L1 motion information according to an inter prediction type (L0 prediction, L1 prediction, Bi prediction, etc.). The motion vector in the L0 direction can be called an L0 motion vector or MVL0, and the motion vector in the L1 direction can be called an L1 motion vector or MVL1. The prediction based on the L0 motion vector can be called L0 prediction, the prediction based on the L1 motion vector can be called L1 prediction, and the prediction based on both the L0 motion vector and the L1 motion vector can be called Bi prediction. Here, the L0 motion vector is a reference picture. The motion information may include L0 motion information and / or L1 motion information according to an inter prediction type (L0 prediction, L1 prediction, Bi prediction, etc.). The motion vector in the L0 direction can be called an L0 motion vector or MVL0, and the motion vector in the L1 direction can be called an L1 motion vector or MVL1. The prediction based on the L0 motion vector can be called L0 prediction, the prediction based on the L1 motion vector can be called L1 prediction, and the prediction based on both the L0 motion vector and the L1 motion vector can be called Bi prediction. Here, the L0 motion vector is a reference picture. The motion information may include L0 motion information and / or L1 motion information according to an inter prediction type (L0 prediction, L1 prediction, Bi prediction, etc.). The motion vector in the L0 direction can be called an L0 motion vector or MVL0, and the motion vector in the L1 direction can be called an L1 motion vector or MVL1. The prediction based on the L0 motion vector can be called L0 prediction, the prediction based on the L1 motion vector can be called L1 prediction, and the prediction based on both the L0 motion vector and the L1 motion vector can be called Bi prediction. Here, the L0 motion vector is a reference picture. The motion information may include L0 motion information and / or L1 motion information according to an inter prediction type (L0 prediction, L1 prediction, Bi prediction, etc.). The motion vector in the L0 direction can be called an L0 motion vector or MVL0, and the motion vector in the L1 direction can be called an L1 motion vector or MVL1. The prediction based on the L0 motion vector can be called L0 prediction, the prediction based on the L1 motion vector can be called L1 prediction, and the prediction based on both the L0 motion vector and the L1 motion vector can be called Bi prediction. Here, the L0 motion vector is a reference picture. The motion information may include L0 motion information and / or L1 motion information according to an inter prediction type (L0 prediction, L1 prediction, Bi prediction, etc.). The motion vector in the L0 direction can be called an L0 motion vector or MVL0, and the motion vector in the L1 direction can be called an L1 motion vector or MVL1. The prediction based on the L0 motion vector can be called L0 prediction, the prediction based on the L1 motion vector can be called L1 prediction, and the prediction based on both the L0 motion vector and the L1 motion vector can be called Bi prediction. Here, the L0 motion vector is a reference picture. The motion information may include L0 motion information and / or L1 motion information according to an inter prediction type (L0 prediction, L1 prediction, Bi prediction, etc.). The motion vector in the L0 direction can be called an L0 motion vector or MVL0, and the motion vector in the L1 direction can be called an L1 motion vector or MVL1. The prediction based on the L0 motion vector can be called L0 prediction, the prediction based on the L1 motion vector can be called L1 prediction, and the prediction based on both the L0 motion vector and the L1 motion vector can be called Bi prediction. Here, the L0 motion vector is a reference picture. The motion information may include L0 motion information and / or L1 motion information according to an inter prediction type (L0 prediction, L1 prediction, Bi prediction, etc.). The motion vector in the L0 direction can be called an L0 motion vector or MVL0, and the motion vector in the L1 direction can be called an L1 motion vector or MVL1. The prediction based on the L0 motion vector can be called L0 prediction, the prediction based on the L1 motion vector can be called L1 prediction, and the prediction based on both the L0 motion vector and the L1 motion vector can be called Bi prediction. Here, the L0 motion vector is a reference picture. It can represent a motion vector associated with the reference picture list L0 (L0), and the L1 motion vector can represent a motion vector associated with the reference picture list L1 (L1). The reference pic ture list L0 can include a previous picture as a reference picture in the output order from the current picture and the reference picture list L1 can include a subsequent picture in the output order from the current picture . The previous picture can be called a forward (reference) picture, and the subsequent picture can be called a backward (reference) picture . The reference picture list L0 can further include a subsequent picture as a reference picture in the output order from the current picture . In this case, the previous picture is indexed first in the reference picture list L0, and the subsequent picture can be indexed next . The reference picture list L1 can further include a previous picture as a reference picture in the output order from the current picture . In this case, the subsequent picture is indexed first in the reference picture list 1, and the previous pic ture can be indexed next. Here, the output order can correspond to the POC ( picture order count) order (order) . The video / image encoding procedure based on inter prediction can generally include, for example, the following . .

[0116] The video / image encoding procedure based on inter prediction can generally include, for example, the following .

[0117] FIG. 7 shows an example of a video / image encoding method based on inter prediction.

[0118] The encoding device performs inter prediction on the current block (S700). Encoding The encoding device derives the inter prediction mode and motion information of the current block, and can generate a prediction sample of the current block. Here, the inter prediction mode determination, motion information derivation, and prediction sample generation procedures can be performed simultaneously, and any one of the procedures can be performed prior to the other procedures. For example, the inter prediction unit of the encoding device can include a prediction mode determination unit, a motion information derivation unit, and a prediction sample derivation unit. The prediction mode determination unit determines the prediction mode for the current block, the motion information derivation unit derives the motion information of the current block, and the prediction sample derivation unit can derive the prediction sample of the current block. For example, the inter prediction unit of the encoding device searches for a block similar to the current block within a certain area (search area) of the reference picture through motion estimation, and can derive a reference block whose difference from the current block is the smallest or below a certain criterion. Based on this, a reference picture index indicating the reference picture where the reference block is located is derived, and a motion vector can be derived based on the positional difference between the reference block and the current block. The encoding device can determine the mode applied to the current block among various prediction modes. The encoding device compares the RD costs for the various prediction modes and can determine the optimal prediction mode for the current block. For example, when the skip mode or merge mode is applied to the current block, the encoding device constructs a merge candidate list described later, and among the reference blocks pointed to by the merge candidates included in the merge candidate list, the difference between the current block and the current block can be performed. For example, the inter prediction unit of the encoding device can include a prediction mode determination unit, a motion information derivation unit, and a prediction sample derivation unit. The prediction mode determination unit determines the prediction mode for the current block, the motion information derivation unit derives the motion information of the current block, and the prediction sample derivation unit can derive the prediction sample of the current block. For example, the inter prediction unit of the encoding device searches for a block similar to the current block within a certain area (search area) of the reference picture through motion estimation, and can derive a reference block whose difference from the current block is the smallest or below a certain criterion. Based on this, a reference picture index indicating the reference picture where the reference block is located is derived, and a motion vector can be derived based on the positional difference between the reference block and the current block. The encoding device can determine the mode applied to the current block among various prediction modes. The encoding device compares the RD costs for the various prediction modes and can determine the optimal prediction mode for the current block. For example, the inter prediction unit of the encoding device can include a prediction mode determination unit, a motion information derivation unit, and a prediction sample derivation unit. The prediction mode determination unit determines the prediction mode for the current block, the motion information derivation unit derives the motion information of the current block, and the prediction sample derivation unit can derive the prediction sample of the current block. For example, the inter prediction unit of the encoding device searches for a block similar to the current block within a certain area (search area) of the reference picture through motion estimation, and can derive a reference block whose difference from the current block is the smallest or below a certain criterion. Based on this, a reference picture index indicating the reference picture where the reference block is located is derived, and a motion vector can be derived based on the positional difference between the reference block and the current block. The encoding device can determine the mode applied to the current block among various prediction modes. The encoding device compares the RD costs for the various prediction modes and can determine the optimal prediction mode for the current block. For example, the inter prediction unit of the encoding device can include a prediction mode determination unit, a motion information derivation unit, and a prediction sample derivation unit. The prediction mode determination unit determines the prediction mode for the current block, the motion information derivation unit derives the motion information of the current block, and the prediction sample derivation unit can derive the prediction sample of the current block. For example, the inter prediction unit of the encoding device searches for a block similar to the current block within a certain area (search area) of the reference picture through motion estimation, and can derive a reference block whose difference from the current block is the smallest or below a certain criterion. Based on this, a reference picture index indicating the reference picture where the reference block is located is derived, and a motion vector can be derived based on the positional difference between the reference block and the current block. The encoding device can determine the mode applied to the current block among various prediction modes. The encoding device compares the RD costs for the various prediction modes and can determine the optimal prediction mode for the current block. For example, the inter prediction unit of the encoding device can include a prediction mode determination unit, a motion information derivation unit, and a prediction sample derivation unit. The prediction mode determination unit determines the prediction mode for the current block, the motion information derivation unit derives the motion information of the current block, and the prediction sample derivation unit can derive the prediction sample of the current block. For example, the inter prediction unit of the encoding device searches for a block similar to the current block within a certain area (search area) of the reference picture through motion estimation, and can derive a reference block whose difference from the current block is the smallest or below a certain criterion. Based on this, a reference picture index indicating the reference picture where the reference block is located is derived, and a motion vector can be derived based on the positional difference between the reference block and the current block. The encoding device can determine the mode applied to the current block among various prediction modes. The encoding device compares the RD costs for the various prediction modes and can determine the optimal prediction mode for the current block. For example, the inter prediction unit of the encoding device can include a prediction mode determination unit, a motion information derivation unit, and a prediction sample derivation unit. The prediction mode determination unit determines the prediction mode for the current block, the motion information derivation unit derives the motion information of the current block, and the prediction sample derivation unit can derive the prediction sample of the current block. For example, the inter prediction unit of the encoding device searches for a block similar to the current block within a certain area (search area) of the reference picture through motion estimation, and can derive a reference block whose difference from the current block is the smallest or below a certain criterion. Based on this, a reference picture index indicating the reference picture where the reference block is located is derived, and a motion vector can be derived based on the positional difference between the reference block and the current block. The encoding device can determine the mode applied to the current block among various prediction modes. The encoding device compares the RD costs for the various prediction modes and can determine the optimal prediction mode for the current block. For example, when the skip mode or merge mode is applied to the current block, the encoding device constructs a merge candidate list described later, and among the reference blocks pointed to by the merge candidates included in the merge candidate list, the difference between the current block and the current block For example, the inter prediction unit of the encoding device can include a prediction mode determination unit, a motion information derivation unit, and a prediction sample derivation unit. The prediction mode determination unit determines the prediction mode for the current block, the motion information derivation unit derives the motion information of the current block, and the prediction sample derivation unit can derive the prediction sample of the current block. For example, the inter prediction unit of the encoding device searches for a block similar to the current block within a certain area (search area) of the reference picture through motion estimation, and can derive a reference block whose difference from the current block is the smallest or below a certain criterion. Based on this, a reference picture index indicating the reference picture where the reference block is located is derived, and a motion vector can be derived based on the positional difference between the reference block and the current block. The encoding device can determine the mode applied to the current block among various prediction modes. The encoding device compares the RD costs for the various prediction modes and can determine the optimal prediction mode for the current block. For example, the inter prediction unit of the encoding device can include a prediction mode determination unit, a motion information derivation unit, and a prediction sample derivation unit. The prediction mode determination unit determines the prediction mode for the current block, the motion information derivation unit derives the motion information of the current block, and the prediction sample derivation unit can derive the prediction sample of the current block. For example, the inter prediction unit of the encoding device searches for a block similar to the current block within a certain area (search area) of the reference picture through motion estimation, and can derive a reference block whose difference from the current block is the smallest or below a certain criterion. Based on this, a reference picture index indicating the reference picture where the reference block is located is derived, and a motion vector can be derived based on the positional difference between the reference block and the current block. The encoding device can determine the mode applied to the current block among various prediction modes. The encoding device compares the RD costs for the various prediction modes and can determine the optimal prediction mode for the current block. For example, the inter prediction unit of the encoding device can include a prediction mode determination unit, a motion information derivation unit, and a prediction sample derivation unit. The prediction mode determination unit determines the prediction mode for the current block, the motion information derivation unit derives the motion information of the current block, and the prediction sample derivation unit can derive the prediction sample of the current block. For example, the inter prediction unit of the encoding device searches for a block similar to the current block within a certain area (search area) of the reference picture through motion estimation, and can derive a reference block whose difference from the current block is the smallest or below a certain criterion. Based on this, a reference picture index indicating the reference picture where the reference block is located is derived, and a motion vector can be derived based on the positional difference between the reference block and the current block. The encoding device can determine the mode applied to the current block among various prediction modes. The encoding device compares the RD costs for the various prediction modes and can determine the optimal prediction mode for the current block. For example, the inter prediction unit of the encoding device can include a prediction mode determination unit, a motion information derivation unit, and a prediction sample derivation unit. The prediction mode determination unit determines the prediction mode for the current block, the motion information derivation unit derives the motion information of the current block, and the prediction sample derivation unit can derive the prediction sample of the current block. For example, the inter prediction unit of the encoding device searches for a block similar to the current block within a certain area (search area) of the reference picture through motion estimation, and can derive a reference block whose difference from the current block is the smallest or below a certain criterion. Based on this, a reference picture index indicating the reference picture where the reference block is located is derived, and a motion vector can be derived based on the positional difference between the reference block and the current block. The encoding device can determine the mode applied to the current block among various prediction modes. The encoding device compares the RD costs for the various prediction modes and can determine the optimal prediction mode for the current block. For example, the inter prediction unit of the encoding device can include a prediction mode determination unit, a motion information derivation unit, and a prediction sample derivation unit. The prediction mode determination unit determines the prediction mode for the current block, the motion information derivation unit derives the motion information of the current block, and the prediction sample derivation unit can derive the prediction sample of the current block. For example, the inter prediction unit of the encoding device searches for a block similar to the current block within a certain area (search area) of the reference picture through motion estimation, and can derive a reference block whose difference from the current block is the smallest or below a certain criterion. Based on this, a reference picture index indicating the reference picture where the reference block is located is derived, and a motion vector can be derived based on the positional difference between the reference block and the current block. The encoding device can determine the mode applied to the current block among various prediction modes. The encoding device compares the RD costs for the various prediction modes and can determine the optimal prediction mode for the current block. For example, the inter prediction unit of the encoding device can include a prediction mode determination unit, a motion information derivation unit, and a prediction sample derivation unit. The prediction mode determination unit determines the prediction mode for the current block, the motion information derivation unit derives the motion information of the current block, and the prediction sample derivation unit can derive the prediction sample of the current block. For example, the inter prediction unit of the encoding device searches for a block similar to the current block within a certain area (search area) of the reference picture through motion estimation, and can derive a reference block whose difference from the current block is the smallest or below a certain criterion. Based on this, a reference picture index indicating the reference picture where the reference block is located is derived, and a motion vector can be derived based on the positional difference between the reference block and the current block. The encoding device can determine the mode applied to the current block among various prediction modes. The encoding device compares the RD costs for the various prediction modes and can determine the optimal prediction mode for the current block. For example, the inter prediction unit of the encoding device can include a prediction mode determination unit, a motion information derivation unit, and a prediction sample derivation unit. The prediction mode determination unit determines the prediction mode for the current block, the motion information derivation unit derives the motion information of the current block, and the prediction sample derivation unit can derive the prediction sample of the current block. For example, the inter prediction unit of the encoding device searches for a block similar to the current block within a certain area (search area) of the reference picture through motion estimation, and can derive a reference block whose difference from the current block is the smallest or below a certain criterion. Based on this, a reference picture index indicating the reference picture where the reference block is located is derived, and a motion vector can be derived based on the positional difference between the reference block and the current block. The encoding device can determine the mode applied to the current block among various prediction modes. The encoding device compares the RD costs for the various prediction modes and can determine the optimal prediction mode for the current block. For example, when the skip mode or merge mode is applied to the current block, the encoding device constructs a merge candidate list described later, and among the reference blocks pointed to by the merge candidates included in the merge candidate list, the difference between the current block and the current block

[0119] For example, when the skip mode or merge mode is applied to the current block, the encoding device constructs a merge candidate list described later, and among the reference blocks pointed to by the merge candidates included in the merge candidate list, the difference between the current block and the current block For example, when the skip mode or merge mode is applied to the current block, the encoding device constructs a merge candidate list described later, and among the reference blocks pointed to by the merge candidates included in the merge candidate list, the difference between the current block and the current block For example, when the skip mode or merge mode is applied to the current block, the encoding device constructs a merge candidate list described later, and among the reference blocks pointed to by the merge candidates included in the merge candidate list, the difference between the current block and the current block It is possible to derive a reference block that is less than or equal to a minimum or fixed criterion. In this case, the derived merge candidate associated with the reference block is selected, and merge index information indicating the selected merge candidate can be generated and signaled to the decoding device. The motion information of the currently processed block can be derived using the motion information of the selected merge candidate.

[0120] As another example, when the (A)MVP mode is applied to the currently processed block, the (A)MVP candidate list described later is configured, and among the mvp (motion vector predictor) candidates included in the (A)MVP candidate list, the motion vector of the selected mvp candidate can be used as the mvp of the currently processed block. In this case, for example, the motion vector indicating the reference block derived by the above-described motion estimation can be used as the motion vector of the currently processed block, and among the mvp candidates, the mvp candidate having the motion vector with the smallest difference from the motion vector of the currently processed block can be the selected mvp candidate. An MVD (motion vector difference ), which is the difference obtained by subtracting the mvp from the motion vector of the currently processed block, can be derived. In this case, information regarding the MVD can be signaled to the decoding device. In addition, when the (A)MVP mode is applied, the value of the reference picture index is composed of reference picture index information and can be separately signaled to the decoding device.

[0121] The encoding device can derive a residual sample based on the predicted sample. (S710). The encoding device can derive the residual sample through comparison between the original sample of the current block and the predicted sample.

[0122] (S720). The encoding device encodes image information including prediction information and residual information. The encoding device can output the encoded image information in the form of a bitstream. The prediction information can include prediction mode information (e.g., skip flag, merge flag, or mode index, etc.) and information related to motion information as information related to the prediction procedure. (ex. skip flag, merge flag or mode index etc.) and can include information related to motion information. The information related to the motion information is candidate selection information (ex. merge index, mv p flag or mvp index) for deriving a motion vector. Also, the information related to the motion information can include information related to the MVD described above and / or reference picture index information. Also, the information related to the motion information can include information indicating whether L0 prediction, L1 prediction, or bi-prediction is applied. The residual information is information related to the residual sample. The residual information can include information related to quantized transform coefficients for the residual sample.

[0123] The output bitstream can be stored in a (digital) storage medium and transmitted to the decoding device, or can also be transmitted to the decoding device via a network.

[0124] On the other hand, as described above, the encoding device uses the reference sample and the residual sample. Based on the sample, a restored picture (including a restored sample and a restored block) can be generated. This is for deriving, in the encoding device, the same prediction result as that performed in the decoding device and for increasing the coding efficiency through this. Therefore, the encoding device can store the restored picture (or the restored sample, the restored block) in the memory and can utilize it as a reference picture for inter prediction. As described above, loop filtering procedures and the like can be further applied to the restored picture.

[0125] The video / image decoding procedure based on inter prediction can generally include, for example, the following .

[0126] FIG. 8 shows an example of a video / image decoding method based on inter prediction.

[0127] As shown in FIG. 8, the decoding device can perform operations corresponding to the operations performed in the encoding device. The decoding device can perform a prediction on the current block based on the received prediction information and derive a predicted sample. Specifically, the decoding device can determine a prediction mode for the current block based on the received prediction information (S800). The decoding device can determine which inter prediction mode is applied to the current block based on the prediction mode information within the prediction information.

[0128] For example, based on the merge flag, it can be determined whether the merge mode is applied to the current block or whether the (A) MVP mode is determined. Or .

[0129] ​One of various inter prediction mode candidates can be selected based on the mode index. The inter prediction mode candidates can include a skip mode, a merge mode, and / or an (A ) MVP mode, or can include various inter prediction modes described later.

[0130] The decoding device derives motion information of the current block based on the determined inter prediction mode (S810). For example, when a skip mode or a merge mode is applied to the current block, the decoding device constructs a merge candidate list described later and can select one merge candidate from the merge candidates included in the merge candidate list. The selection can be performed based on the selection information (merge index) described above. The motion information of the selected merge candidate can be used to derive the motion information of the current block. The motion information of the selected merge candidate can be used as the motion information of the current block. For another example, when an (A) MVP mode is applied to the current block, the decoding device constructs an (A) MVP candidate list described later and, among the mvp (motion vector predictor) candidates included in the (A) MVP candidate list, the motion vector of the selected mvp candidate can be used as the mvp of the current block. The selection can be performed based on the selection information (mvp flag or mvp index) described above. In this case, the MVD of the current block can be derived based on the information regarding the MVD, and the MVD of the current block can be derived based on the mvp of the current block and the MVD.

[0131] ​​​​​​​​​​​​​The motion vector of CU can be derived. Also, based on the reference picture index information, the reference picture index of the current block can be derived. The picture pointed to by the reference picture index within the reference picture list for the current block can be derived as the reference picture to be referred to for the inter prediction of the current block. On the other hand, as will be described later, the motion information of the current block can be derived without constructing a candidate list. In this case, the motion information of the current block can be derived by the procedure disclosed in the prediction mode described later. In this case, the candidate list configuration as described above can be omitted. The decoding device can generate a prediction sample for the current block based on the motion information of the current block (S820). In this case, the reference picture is derived based on the reference picture index of the current block, and the prediction sample of the current block can be derived using the samples of the reference block pointed to by the motion vector of the current block on the reference picture. In this case, as will be described later, in some cases, a prediction sample filtering procedure for all or part of the prediction samples of the current block can be further performed. For example, the inter prediction unit of the decoding device can include a prediction mode determination unit, a motion information derivation unit, and a prediction sample derivation unit. Based on the prediction mode information received by the prediction mode determination unit, the prediction mode for the current block is determined. Based on the information related to the motion information received by the motion information derivation unit, the motion information (motion vector and / or reference) of the current block

[0132] On the other hand, as will be described later, the motion information of the current block can be derived without constructing a candidate list. In this case, the motion information of the current block can be derived by the procedure disclosed in the prediction mode described later. In this case, the candidate list configuration as described above can be omitted. The decoding device can generate a prediction sample for the current block based on the motion information of the current block (S820). In this case, the reference picture is derived based on the reference picture index of the current block, and the prediction sample of the current block can be derived using the samples of the reference block pointed to by the motion vector of the current block on the reference picture. In this case, as will be described later, in some cases, a prediction sample filtering procedure for all or part of the prediction samples of the current block can be further performed. For example, the inter prediction unit of the decoding device can include a prediction mode determination unit, a motion information derivation unit, and a prediction sample derivation unit. Based on the prediction mode information received by the prediction mode determination unit, the prediction mode for the current block is determined. Based on the information related to the motion information received by the motion information derivation unit, the motion information (motion vector and / or reference) of the current block

[0133] The decoding device can generate a prediction sample for the current block based on the motion information of the current block (S820). In this case, the reference picture is derived based on the reference picture index of the current block, and the prediction sample of the current block can be derived using the samples of the reference block pointed to by the motion vector of the current block on the reference picture. In this case, as will be described later, in some cases, a prediction sample filtering procedure for all or part of the prediction samples of the current block can be further performed. For example, the inter prediction unit of the decoding device can include a prediction mode determination unit, a motion information derivation unit, and a prediction sample derivation unit. Based on the prediction mode information received by the prediction mode determination unit, the prediction mode for the current block is determined. Based on the information related to the motion information received by the motion information derivation unit, the motion information (motion vector and / or reference) of the current block The decoding device can generate a prediction sample for the current block based on the motion information of the current block (S820). In this case, the reference picture is derived based on the reference picture index of the current block, and the prediction sample of the current block can be derived using the samples of the reference block pointed to by the motion vector of the current block on the reference picture. In this case, as will be described later, in some cases, a prediction sample filtering procedure for all or part of the prediction samples of the current block can be further performed. For example, the inter prediction unit of the decoding device can include a prediction mode determination unit, a motion information derivation unit, and a prediction sample derivation unit. Based on the prediction mode information received by the prediction mode determination unit, the prediction mode for the current block is determined. Based on the information related to the motion information received by the motion information derivation unit, the motion information (motion vector and / or reference) of the current block The decoding device can generate a prediction sample for the current block based on the motion information of the current block (S820). In this case, the reference picture is derived based on the reference picture index of the current block, and the prediction sample of the current block can be derived using the samples of the reference block pointed to by the motion vector of the current block on the reference picture. In this case, as will be described later, in some cases, a prediction sample filtering procedure for all or part of the prediction samples of the current block can be further performed. For example, the inter prediction unit of the decoding device can include a prediction mode determination unit, a motion information derivation unit, and a prediction sample derivation unit. Based on the prediction mode information received by the prediction mode determination unit, the prediction mode for the current block is determined. Based on the information related to the motion information received by the motion information derivation unit, the motion information (motion vector and / or reference) of the current block

[0134] For example, the inter prediction unit of the decoding device can include a prediction mode determination unit, a motion information derivation unit, and a prediction sample derivation unit. Based on the prediction mode information received by the prediction mode determination unit, the prediction mode for the current block is determined. Based on the information related to the motion information received by the motion information derivation unit, the motion information (motion vector and / or reference) of the current block For example, the inter prediction unit of the decoding device can include a prediction mode determination unit, a motion information derivation unit, and a prediction sample derivation unit. Based on the prediction mode information received by the prediction mode determination unit, the prediction mode for the current block is determined. Based on the information related to the motion information received by the motion information derivation unit, the motion information (motion vector and / or reference) of the current block For example, the inter prediction unit of the decoding device can include a prediction mode determination unit, a motion information derivation unit, and a prediction sample derivation unit. Based on the prediction mode information received by the prediction mode determination unit, the prediction mode for the current block is determined. Based on the information related to the motion information received by the motion information derivation unit, the motion information (motion vector and / or reference) of the current block of the current block is derived.​​ derive a picture index or the like, and the prediction sample derivation unit can derive the prediction sample of the current block.

[0135] The decoding device generates a residual sample for the current block based on the received residual information (S830). The decoding device generates a restored sample for the current block based on the prediction sample and the recorded residual sample, and can generate a restored picture based on this (S840). Thereafter, as described above, an in-loop filtering procedure or the like can be further applied to the restored picture.

[0136] FIG. 9 exemplarily shows an inter prediction procedure.

[0137] Referring to FIG. 9, as described above, the inter prediction procedure can include an inter prediction mode determination step, a motion information derivation step according to the determined prediction mode, and a prediction execution (prediction sample generation) step based on the derived motion information. The inter prediction procedure can be performed by an encoding device and a decoding device as described above. In this document, the coding device can include an encoding device and / or a decoding device.

[0138] As shown in FIG. 9, the coding device determines an inter prediction mode for the current block (S900). For predicting the current block within a picture, various inter prediction modes can be used. For example, merge mode, skip mode, MVP (motion vector prediction) mode, Affine mode, ​​​​​​​​​​​​​Various modes such as sub-block merge mode, MMVD (merge with MVD) mode, etc. can be used. DMVR (Decoder side motion vector refinement) mode, AMVR (adaptive motion vector resolution) mode, Bi-prediction with CU-level weight (BCW), Bi-directional optical flow (BDOF), etc. can be used further or alternatively as accompanying modes. The affine mode can also be called the affine motion prediction mode. The MVP mode can also be called the AMVP (advanced motion vector prediction) mode. In this document, some motion information candidates derived by some modes and / or some modes can be included as one of the motion information related candidates of other modes. For example, the HMVP candidate can be added as a merge candidate of the merge / skip mode, or can be added as an mvp candidate of the MVP mode. When the HMVP candidate is used as a motion information candidate of the merge mode or skip mode, the HMVP candidate can be called an HMVP merge candidate. arious modes can be used. ctor refinement) mode, AMVR (adaptive motion vector resolution) mode, Bi-prediction wit h CU-level weight (BCW), Bi-directional o ptical flow (BDOF), etc. can be used further or alternatively as accompanying modes. The affine mode can also be called the affine motion prediction (affine motion prediction) mode. The MVP mode can also be called the AMVP (advanced motion vector prediction ) mode. In this document, some motion information candidates derived by some modes and / or some modes can be included as one of the motion information related candidates of other modes. For example, the HMVP candidate can be added as a merge candidate of the merge / skip mode or can be added as an mvp candidate of the MVP mode. When the HMVP candidate is used as a motion information candidate of the merge mode or skip mode , the HMVP candidate can be called an HMVP merge candidate . The prediction mode information indicating the inter prediction mode of the current block can be signaled from the encoding device to the decoding device. The prediction mode information can be included in the bitstream and received by the decoding device. The prediction mode information is a plurality of candidate modes .

[0139] The prediction mode information indicating the inter prediction mode of the current block can be signaled from the encoding device to the decoding device. The prediction mode information can be included in the bitstream and received by the decoding device. The prediction mode information is a plurality of candidate modes and can be received by the decoding device. It can include index information indicating one of the modes. Or, the inter prediction mode can also be indicated via hierarchical signaling. In this case, the previous prediction mode information can include one or more flags. For example, a skip flag is signaled to indicate whether the skip mode can be applied. When the skip mode is not applied a merge flag is signaled to indicate whether the merge mode can be applied. When the merge mode is not applied, it can be indicated that the MVP mode is to be applied, or additional flags for further classification can also be signaled. The affine mode can be signaled as an independent mode, or it can also be signaled as a mode dependent on the merge mode or the MVP mode, etc. For example, the affine mode can include an affine merge mode and an affine MVP mode.

[0140] The coding device derives motion information for the current block (S910). The above motion information derivation can be derived based on the inter prediction mode.

[0141] The coding device can perform inter prediction using the motion information of the current block. The encoding device can derive optimal motion information for the current block via a motion estimation procedure. For example, the encoding device can search for a highly correlated similar reference block within a determined search range in the reference picture using the original block in the original picture for the current block in fractional pixel units, and derive motion information through this. The similarity of the blocks is based on the phase It can be derived based on the difference of sample values. For example, the similarity of blocks can be calculated based on the SAD between the current block (or the template of the current block) and the reference block (or the template of the reference block). In this case, the motion information can be derived based on the reference block with the smallest SAD in the search area. The derived motion information can be signaled to the decoding device in various ways based on the inter prediction mode. The coding device performs inter prediction based on the motion information for the current block (S920). The coding device can derive prediction samples (etc.) for the current block based on the motion information. The current block including the prediction samples can be called the predicted block. The coding device can perform inter prediction based on the motion information for the current block (S920). The coding device can derive prediction samples (etc.) for the current block based on the motion information. The current block including the prediction samples can be called the predicted block. The coding device can perform inter prediction based on the motion information for the current block (S920). The coding device can derive prediction samples (etc.) for the current block based on the motion information. The current block including the prediction samples can be called the predicted block. The coding device can perform inter prediction based on the motion information for the current block (S920). The coding device can derive prediction samples (etc.) for the current block based on the motion information. The current block including the prediction samples can be called the predicted block. The coding device can perform inter prediction based on the motion information for the current block (S920). The coding device can derive prediction samples (etc.) for the current block based on the motion information. The current block including the prediction samples can be called the predicted block.

[0142] The coding device can perform inter prediction based on the motion information for the current block (S920). The coding device can derive prediction samples (etc.) for the current block based on the motion information. The current block including the prediction samples can be called the predicted block. The coding device can perform inter prediction based on the motion information for the current block (S920). The coding device can derive prediction samples (etc.) for the current block based on the motion information. The current block including the prediction samples can be called the predicted block. The coding device can perform inter prediction based on the motion information for the current block (S920). The coding device can derive prediction samples (etc.) for the current block based on the motion information. The current block including the prediction samples can be called the predicted block. The coding device can perform inter prediction based on the motion information for the current block (S920). The coding device can derive prediction samples (etc.) for the current block based on the motion information. The current block including the prediction samples can be called the predicted block.

[0143] On the other hand, as described above, the quantization unit of the encoding device applies quantization to the transform coefficients to derive quantized transform coefficients, and the inverse quantization unit of the encoding device or the inverse quantization unit of the decoding device can apply inverse quantization to the quantized transform coefficients to derive the transform coefficients. On the other hand, as described above, the quantization unit of the encoding device applies quantization to the transform coefficients to derive quantized transform coefficients, and the inverse quantization unit of the encoding device or the inverse quantization unit of the decoding device can apply inverse quantization to the quantized transform coefficients to derive the transform coefficients. On the other hand, as described above, the quantization unit of the encoding device applies quantization to the transform coefficients to derive quantized transform coefficients, and the inverse quantization unit of the encoding device or the inverse quantization unit of the decoding device can apply inverse quantization to the quantized transform coefficients to derive the transform coefficients.

[0144] Generally, in video / image coding, the quantization rate can be changed, and the compression rate can be adjusted using the changed quantization rate. From the perspective of implementation, instead of directly using the quantization rate considering complexity, a quantization parameter (QP) is used. For example, quantization parameters with integer values from 0 to 63 are used, and each quantization parameter value can correspond to the actual quantization rate. Also, for example, Generally, in video / image coding, the quantization rate can be changed, and the compression rate can be adjusted using the changed quantization rate. From the perspective of implementation, instead of directly using the quantization rate considering complexity, a quantization parameter (QP) is used. For example, quantization parameters with integer values from 0 to 63 are used, and each quantization parameter value can correspond to the actual quantization rate. Also, for example, Generally, in video / image coding, the quantization rate can be changed, and the compression rate can be adjusted using the changed quantization rate. From the perspective of implementation, instead of directly using the quantization rate considering complexity, a quantization parameter (QP) is used. For example, quantization parameters with integer values from 0 to 63 are used, and each quantization parameter value can correspond to the actual quantization rate. Also, for example, Generally, in video / image coding, the quantization rate can be changed, and the compression rate can be adjusted using the changed quantization rate. From the perspective of implementation, instead of directly using the quantization rate considering complexity, a quantization parameter (QP) is used. For example, quantization parameters with integer values from 0 to 63 are used, and each quantization parameter value can correspond to the actual quantization rate. Also, for example, Generally, in video / image coding, the quantization rate can be changed, and the compression rate can be adjusted using the changed quantization rate. From the perspective of implementation, instead of directly using the quantization rate considering complexity, a quantization parameter (QP) is used. For example, quantization parameters with integer values from 0 to 63 are used, and each quantization parameter value can correspond to the actual quantization rate. Also, for example, For example, the quantization parameter (QP Y ) and chroma components ( Quantization parameter (QP) for roma samples C ) can be set differently.

[0145] The quantization process takes the transform coefficients (C) as input and the quantization rate (Q step ) and based on this In this case, the quantized transform coefficients (C') can be obtained by using the Multiply the quantization rate by the scale to convert it to an integer, and shift it by the value corresponding to the scale value. The quantization scale (qua) can be calculated based on the product of the quantization rate and the scale value. That is, the quantization scale can be derived by QP. For example, the quantization scale can be derived by applying the quantization scale to the transform coefficients (C). Based on this, the quantized transform coefficients (C') can be derived.

[0146] The inverse quantization process is the inverse process of the quantization process, and it applies the quantization rate (Q step ) to obtain the reconstructed conversion coefficient (C'') based on this. In this case, the level scale is determined by the quantization parameter. ) is derived, and the level scale is applied to the quantized transform coefficients (C') to obtain Based on this, the restored transform coefficients (C'') are derived. ) is multiplied by the initial transform coefficient (C) due to losses during the transform and / or quantization process. Therefore, the encoding device performs inverse quantization in the same way as the decoding device. conduct.

[0147] On the one hand, an adaptive frequency weighting quantization technology that adjusts quantization strength according to frequency can be applied. That is, the adaptive frequency weighting quantization technology is a method of applying different quantization strengths for different frequencies. The adaptive frequency weighting quantization can apply different quantization strengths for different frequencies using a predefined quantization scaling metric. That is, the aforementioned quantization / inverse quantization process can be performed based on the quantization scaling metric. For example, depending on whether the prediction mode applied to the current block is inter-prediction or intra-prediction in order to generate the residual signal of the current block and / or the size of the current block, different quantization scaling metrics are used. The quantization scaling metric may be referred to as a quantization metric or a scaling metric. The quantization scaling metric may be predefined. Also, for frequency adaptive scaling, frequency-specific quantization scale information for the quantization scaling metric is configured / encoded in the encoding device and signaled to the decoding device. The frequency-specific quantization scale information may be referred to as quantization scale information. The frequency-specific quantization scale information includes scaling list data. Based on the scaling list data, the (modified) quantization scaling metric is derived. Also, the frequency-specific quantization scale information includes presence flag information indicating the presence or absence of the scaling list data. Alternatively, the scaling list data is up ​​​​​​ When signaled at the bit level (e.g., SPS), the lower level of the upper level In the level (e.g., PPS or tile group header, etc.), information indicating whether the scheduling list data is modified or not is further included.

[0148] As described above, quantization / inverse quantization is applied to the luma component and the chroma component based on the quantization parameter. is applied.

[0149] The quantization parameter for a coding unit is determined based on information signaled at the picture and / or slice level. For example , the quantization parameter can be derived as described below.

[0150] For example, information regarding the derivation of the quantization parameter is signaled via SPS (sequence parameter set) as shown in the following table. is signaled as follows.

[0151] [Table 1]

[0152] The semantics for the syntax elements in Table 1 above are as follows. is as shown in the following table.

[0153] [Table 2]

[0154] For example, the syntax element bit_depth_luma_minus8 is the bit depth of the samples in the luma array BitDepth Y and luma quantization parameter range offset (luma qua ntization parameter range offset) Offset Y That is, for example, the syntax element bit_dep Based on th_luma_minus8, the BitDepth Y and the QpBdOf fset Y For example, the BitDepth Y The above-mentioned sintering The value is calculated by adding 8 to the value of the bit_depth_luma_minus8 element. The QpBdOffset Y The syntax element bit_de It is derived as a value obtained by multiplying the value of pth_luma_minus8 by 6. it_depth_luma_minus8 can range from 0 to 8.

[0155] For example, the syntax element bit_depth_chroma_minu s8 is the bit depth of the samples in the chroma array BitDepth c and chroma quantization parameter range offset (chroma quantization parameter range off set) c That is, for example, the syntax expression Element bit_depth_chroma_minus8 based on the BitDep th c and the QpBdOffset c For example, the BitD epthc is derived as a value obtained by adding 8 to the value of the syntax element bit_depth_chroma_minu s8, and the QpBdOffset c is the syntax element bit_depth_chroma_minus8 multiplied by 6 derived as a value. Also, the bit_depth_chroma_minus8 can be in the range of 0 to 8.

[0156] Also, for example, information regarding the derivation of quantization parameters is signaled as shown in the following table via a PPS (picture parameter set). The information includes the Chroma Cb offset, the Chroma Cr offset, the joint chroma offset, and the initial quantization parameter. That is, the information includes the syntax elements for the Chroma Cb offset, the Chroma Cr offset, the joint chroma offset, and the initial quantization parameter. offset), the Chroma Cr offset (Chroma Cr offset), the joint chroma offset, and the initial quantization parameter.

[0157] [Table 3]

[0158] The semantics for the syntax elements in Table 3 above are as shown in the following table.

[0159] [Table 4]

[0160] ​​​ For example, the value obtained by adding 26 to the syntax element init_qp_minus26 is the initial value of SliceQp for each slice that refers to the PPS Y (initial value). When a non-zero value of slice_qp_delta is decoded, the initial value of the SliceQp can be modified in the slice layer. The init_qp_minus26 0 can be in the range of -(26 Y + QpBdOffset ) to +37. + QpBdOffset Y ) may be in the range of - (26

[0161] Also, for example, the syntax elements pps_cb_qp_offset and pps _cr_qp_offset are used for deriving the offset for the luma quantization parameter Qp’ Cb and Qp' Cr respectively. The pps_cb _qp_offset and pps_cr_qp_offset may be in the range of -12 to +12. Also, when ChromaArrayType is 0, pps_cb_qp_offset and pps_cr_qp_offset may not be used in the decoding process Y , and the decoding device can ignore (ignore ) the values of the syntax elements. range. Also, when ChromaArrayType is 0, pps_cb_qp_offset and pps_cr_qp_offset may not be used in the decoding process , and the decoding device can ignore (ignore ) the values of the syntax elements. ) them.

[0162] Also, for example, the syntax element pps_joint_cbcr_qp_off set indicates the offset for the luma quantization parameter Qp’ CbCr used for deriving Qp' Y . The pps_joint_cbcr_qp_offset indicates the offset (offset) for the luma quantization parameter Qp’ used for deriving Qp'. The pps_joint_cbcr_qp_offset is It can be in the range of -12 to +12. Also, when ChromaArrayType is 0, pps_joint_cbcr_qp_offset may not be used in the decoding process, and the decoding device can ignore the value of the syntax element. In some cases, the decoding device can ignore the value of the syntax element. When it is not used, the decoding device can ignore the value of the syntax element.

[0163] For example, the syntax element pps_slice_chroma_qp_offsets_present_flag indicates whether the syntax elements slice_cb_qp_offset and slice_cr_qp_offset are present in the relevant slice header. For example, a value of 1 for pps_slice_chroma_qp_offsets_present_flag indicates that slice_cb_qp_offset and slice_cr_qp_offset are present in the relevant slice header. Also, for example, a value of 0 for pps_slice_chroma_qp_offsets_present_flag indicates that slice_cb_qp_offset and slice_cr_qp_offset are not present in the relevant slice header. Also, when ChromaArrayType is 0, pps_slice_chroma_qp_offsets_present_flag seems to be 0 in the decoding process.

[0164] As described above, the syntax elements parsed in PPS are init_qp_minus26, pps_cb_qp_offset_pps_cr_qp_off set, pps_joint_cbcr_qp_offset, and pps_slice_ can be chroma_qp_offsets_present_flag. The syntax element init_qp_minus26 indicates the initial value of SliceQpY for each slice that refers to the PPS. Also, the syntax element pps_cb_qp _offset, pps_cr_qp_offset, and pps_joint_cbcr _qp_offset indicate the offset for the luma quantization parameter Qp’ Y . Also, the syntax element pps_slice_chroma_qp_offsets _present_flag indicates whether the offset parameter is present in the slice header or not.

[0165] Also, for example, information regarding the derivation of the quantization parameter can be signaled as follows in the following table via the slice header.

[0166]

Table 5

[0167] The semantics for the syntax elements in Table 5 above are as follows in the following table.

[0168]

Table 6

[0169] For example, slice_qp_delta is CuQ in the coding unit layer. The Qp used for the coding block within the slice until it is modified by the value of pDeltaVal is shown by the initial value. For example, the initial value of Qp Y for the slice, SliceQp Y the initial value, is derived as 26 + init_qp_minus26 + slice_qp_ Y delta. The value of SliceQp can be in the range of -QpBdOffset Y to Y or +63.

[0170] Also, for example, slice_cb_qp_offset indicates the difference Cb that is added to the value of pps_cb_qp_offset when determining the value of the quantization parameter Qp' . The value of slice_cb_qp_offset can be in the range of -12 to +12 . Also, for example, when slice_cb_qp_offset does not exist , the slice_cb_qp_offset is considered (inferred) to be 0. The value of pps_cb_qp_offset + slice_cb_qp_offset can be in the range of 12 to +12.

[0171] Also, for example, slice_cr_qp_offset indicates the difference Cr that is added to the value of pps_cr_qp_offset when determining the value of the quantization parameter Qp' . The value of slice_cr_qp_offset can be in the range of -12 to +1 2. Also, for example, when slice_cr_qp_offset does not exist , the slice_cr_qp_offset is considered (inferred) d) The value of pps_cr_qp_offset+slice_cr_qp_offset can range from 12 to +12.

[0172] For example, slice_cbcr_qp_offset is the quantization parameter Qp ' CbCr The difference ( The value of slice_cbcr_qp_offset is - It can be in the range of 12 to +12. Also, for example, slice_cbcr_qp_of If fset does not exist, slice_cbcr_qp_offset is assumed to be 0. pps_cbcr_qp_offset+slice_c The value of bcr_qp_offset can range from 12 to +12.

[0173] The derivation process for the luma and chroma quantization parameters is is the luma location, and the width and height of the current coding block. The variables to be specified and whether to use a single tree or dual tree On the other hand, as mentioned above, In addition, the luma quantization parameter, the chroma quantization parameter, and the joint chroma quantization parameter The data is Qp' Y , Qp' Cb , Qp' Cr and Qp' CbCr It can be shown that:

[0174] On the other hand, for example, the syntax element indicating the sign of CuQpDeltaVal is The statement cu_qp_delta_sign_flag is parsed. For example, The cu_qp_delta_sign_flag can indicate the sign (si gn) of CuQpDeltaVal as follows.

[0175] For example, when the cu_qp_delta_sign_flag is 0, the CuQpDeltaVal corresponding to the cu _qp_delta_sign_flag has a positive value ( positive value). Or, for example, when the cu_qp_delt a_sign_flag is 1, the CuQpDeltaVal corresponding to the cu_qp_delta_sign_fl ag has a negative value. Also, when the cu_qp_delta_sign_flag does not exist, the cu_qp_delta_sign_flag is regarded as 0.

[0176] Also, for example, when cu_qp_delta_abs exists, the variable IsCuQpD eltaCoded is derived as 1, and the variable CuQpDeltaVal is cu_qp_ delta_abs * (1 - 2 * cu_qp_delta_sign_flag) is derived. The CuQpDeltaVal can be in the range of -(32 + QpBdOffsetY / 2) to +(31 + QpBdOffsetY / 2).

[0177] After that, for example, the luma quantization parameter Qp' Y is derived as follows.

[0178]

Equation

[0179] Also, when ChromaArrayType is not 0 and treeType is SINGL When it is E_TREE or DUAL_TREE_CHROMA, the following applies.

[0180] - If treeType seems to be DUAL_TREE_CHROMA, the variable Qp Y can be set the same as the luma quantization parameter Qp of the luma coding unit including the luma position (xCb + cbWidth / 2, yCb + cbHeight / 2). of the luma coding unit Y can be set to be the same.

[0181] - The variables qP Cb , qP Cr and qP CbCr are derived as follows.

[0182]

Equation

[0183] For example, if ChromaArrayType is 1, the variables qP Cb , qP Cr and qP CbCr can each be set the same as the QpC value specified in Table 7 below based on the same index qPi Cb , qPi Cr and qPi CbCr based on the index qPi. can be set to be the same as the QpC value specified in Table 7 below.

[0184]

Table 7

[0185] Or, if ChromaArrayType is not 1, the variables qP Cb , qP Cr and qP CbCr can each be set the same as the QpC value specified in Table 7 below based on the same index qPi Cb , qPi Cr and qPi CbCr based on the index qPi. It can be set to be the same as Min(qPi, 63).

[0186] - Chroma quantization parameters for Cb and Cr components, Qp' Cb and Qp' Cr , Joe For the Chroma quantization parameter Qp'CbCr for Intra Cb - Cr coding, it is derived as follows. as follows.

[0187] [Number]

[0188] On the other hand, this document proposes a solution to improve the coding efficiency in the quantization / inverse quantization process. to propose.

[0189] As an embodiment, when ChromaArrayType is not 0 (for example, when ChromaArrayType is 1), instead of obtaining the chroma quantization parameter value from the luma quantization parameter value through the pre - defined chroma quantization mapping table in the existing VVC draft 5v.7 , this document proposes a method for the user to define a user - defined Chroma Quantization Table (user defined Chroma Quantization Table ) and use it. In the VVC specification text (for example, VVC draft 5v.7), when qPi( luma quantization parameter value) is given, the Qpc (chroma quantization parameter value) is derived through the pre - defined chroma quantization table (for example, the aforementioned Table 7), but this document proposes that the user obtain Q from qPi based on the newly defined chroma quantization mapping table luma quantization parameter value), when given, the Qpc (chroma quantization parameter value) is derived through the pre - defined chroma quantization table (for example, such as the aforementioned Table 7), but this document states that based on the newly defined chroma quantization mapping table by the user, from qPi to Q A method for deriving pc is proposed. According to the embodiments of this document, the Qpc value is a function of the qPi value (function) derived from the relationship, and the function can be signaled to syntaxes such as APS, SPS, or PPS by a user defined functionality method. The functional relationship sends the values of predefined syntax elements, and based on the sent values, a method for the user to define chroma quantization table mapping is proposed. As an example, since the Qpc value can be derived from the function (functio n) relationship of the qPi value, when the syntax element value indicating the function is sent , the chroma quantization mapping table (a user define d Chroma Quantization Table) defined by the user can be derived in the form shown in Table 7 . In one embodiment, a scheme for signaling information about the syntax element (Qpc_data) indicating the chroma quantization mapping related function as shown in the table to be described later in APS (adaptation parameter set) is proposed .

[0190] As one embodiment, regarding APS (adaptation parameter set), a syntax element indicating the chroma quantization mapping related function as shown in the table to be described later (Qpc_data) is proposed to signal the relevant information

[0191]

Table 8

[0192] Referring to the above Table 8, when the aps_params_type indicates Qpc_APS , for example, when the value of the aps_params_type is 2, Qpc_ data() is signaled

[0193] For the syntax elements in the above Table 8​ The semantics are as shown in the following table.

[0194]

Table 9

[0195] For example, the syntax element adaptation_parameter_set _id provides an identifier (identifier) of the APS that is referenced by other syntax elements. fier).

[0196] Also, for example, the syntax element aps_extension_flag indicates whether the aps_extension_data_flag syntax element exists in the APS RBSP syntax structure. For example, the syntax element aps_extension_flag with a value of 1 indicates that the aps_extension_data_flag syntax element exists in the APS RBSP syntax structure, and the syntax element aps_extension_flag with a value of 0 indicates that the aps_extension_data_flag syntax element does not exist in the APS RBSP syntax structure. S RBSP syntax structure has the aps_extension_data_flag syntax element. tax element. nt aps_extension_flag s_extension_data_flag syntax element exists. PS RBSP syntax structure indicates that the PS RBSP syntax structure does not have the aps_extension_data_flag syntax element. indicate.

[0197] Also, for example, the syntax element aps_extension_data_fl ag can have any value. The presence and value of the aps_extension_data_f lag may not affect the decoder compliance for the profile specified in this version of the standard. For example This may not affect the decoder compliance for the profile specified in this version of the standard. For example For example, a decoding device that conforms to this standard version can ignore all syntax elements ap s_extension_data_flag.

[0198] Also, for example, the syntax element aps_params_type indicates the type of APS parameters included in APS, as shown in Table 10 below.

[0199]

Table 10

[0200] For example, referring to Table 10, when the value of the syntax element aps_params_typ e is 0, the syntax element aps_params_type indicates that the type of APS parameter is an ALF parameter. When the value of the syntax element aps_params_type is 1, the syntax element aps_params_type indicates that the type of APS parameter is an LMCS parameter. When the value of the syntax element aps_params_type is 2, the syntax element aps_params_type indicates that the type of APS parameter is a Qpc parameter. The Qpc data parameter can indicate a chroma quantization data parameter. Also, this document proposes another embodiment for signaling information related to quantization parameters. For example, in this embodiment, in PPS (picture parameter se t), user-defined Qp is used.

[0201]

[0202] C ​​​​Data (user defined Qp C data) is proposed to signal a solution. As an example for executing the solution proposed in this embodiment, a flag indicating whether PPS includes user-defined data may be introduced in SPS . That is, a flag indicating whether PPS includes user-defined data may be signaled in SPS . Also, according to this embodiment, the user-defined data is signaled in PPS . Or the user-defined data may be signaled in a slice header (slice header ) and / or other header sets .

[0203] The flag indicating whether PPS includes user-defined data is signaled as shown in the following table .

[0204]

Table 11

[0205] For example, the syntax element Qpc_data_default_flag may be the syntax element of the above-mentioned flag . The syntax element Qpc_ data_default_flag indicates whether the Qpc_ data() parameter exists in the PPS RBSP syntax structure. For example, a Qpc_data_de fault_flag of 0 indicates that the Qpc_data() parameter does not exist in the PPS RBSP syntax structure and the default table is used to assist in determining chroma quantization . ​​is shown. Here, the default table is as shown in Table 7 above. Also, for example, 1's Qpc_data_default_flag indicates that there is a Qpc_data() parameter in the PPS RBSP syntax structure.

[0206] Also, the user-defined data signaled in the PPS according to this embodiment is as shown in the following table.

[0207]

Table 12

[0208] On the other hand, for example, Qpc_data() contains information necessary for chroma quantization derivation when ChromaArrayType is 1 .

[0209] Also, this document proposes another embodiment for signaling information regarding quantization parameters.

[0210] For example, in this embodiment, a flexible structure for chroma quantization parameter (Quantization Parameter: QP) derivation and combined chroma QP derivation is proposed. This embodiment proposes a scheme for signaling an initial flag indicating the presence or absence of a user-defined mode in which parameters that can be used to indicate functions used to derive chroma quantization coefficients (QP) in SPS and / or PPS can be used. ).

[0211] For example, the high-level syntax proposed in this embodiment ​​The flag information signaled in the RFC 3236 header information (Flag information) is as shown in the table below.

[0212] [Table 13]

[0213] For example, Qpc_data_present_flag is a high-level syntax for Whether the BSP syntax structure has parameters to derive the chroma quantization coefficients For example, a Qpc_data_present_flag of 0 indicates a high-level signal. Indicates that no chroma quantization parameters are present in the RBSP syntax structure. For example, a Qpc_data_present_flag of 1 indicates high-level synth Indicates the presence of chroma quantization parameters in the Tax RBSP syntax structure.

[0214] Or, the syntax element Qpc_data_present_flag is It may also be used to indicate the use of chroma quantization derivation in the bitstream. For example, Qpc_data_present_flag is the chroma quantization derivative as follows: It can indicate the tool used for extraction or the use of a user-defined mode. .

[0215] For example, Qpc_data_present_flag is User defined chroma quantization tion) is used. For example, a Qpc_data_present_ The flag indicates that user-defined chroma quantization is not used in the bitstream. Yes. Also, for example, the Qpc_data_present_flag of 1 indicates that chroma quantization is used alone or together with other flags. Indicates that chroma quantization is used alone or together with other flags.

[0216] This document also proposes another embodiment for signaling information related to quantization parameters. Propose.

[0217] For example, in this embodiment, user-defined information signaled in one function is used to determine the chroma quantization parameter (QP), that is, Qp'. Use user defined Information signaled in one function To determine the chroma quantization parameter (QP), that is, Qp' Cb Qp' Cr And Qp' CbCr And proposes an embodiment of how Qp' Is derived. For example, according to this embodiment, data indicating a function for deriving the chroma quantization parameter (QP) is signaled, and the chroma quantization parameter is derived based on the chroma quantization data. The data for deriving the chroma quantization coefficient (or the user-defined QP mapping table) is signaled as shown in the following table. Data indicating a function for deriving the chroma quantization parameter (QP) is signaled, and the chroma quantization parameter is derived based on the chroma quantization data. Based on the chroma quantization data, the chroma quantization parameter is derived. Data for deriving the chroma quantization coefficient (or the user-defined QP mapping table) Is signaled as follows in the following table.

[0218]

Table 14

[0219] The semantics for the syntax elements in Table 14 above are as follows in the following table. Are as follows in the following table.

[0220]

Table 15

[0221] For example, the syntax element qPi_min_idx indicates the minimum qPi index used for chroma quantization.

[0222] Also, for example, the syntax element qPi_delta_max_idx indicates the delta value between qPi_min_idx and the maximum qPi index used for Qp C derivation. The value of qPiMaxIdx is greater than or equal to qPi_min_idx. For example, the maximum index qPiMaxIdx used for Qp derivation can be derived as follows. C

[0223]

Equation

[0224] Also, for example, the syntax element QpC_qPi_val[i] indicates the Qp value for the i-th index. C

[0225] Also, for example, the syntax element QpOffset C indicates the offset value used for Qp C derivation.

[0226] Also, for example, the variable QpIdx[qPi] for qPi can be derived as follows C . Here, the qPi can be from 0 to qPiMaxIdx.

[0227] When -qPi < qPi_min_idx, QpIdx[qPi] is set to be the same as qPi. C

[0228] -When qPi = qPi_min_idx ··· qPiMaxIdx, Qp C Id x[qPi] is set to be the same as QpC_qPi_val[qPi].

[0229] -When -qPi > qPiMaxIdx, Qp C Idx[qPi] is qPi - QpO ffset C is set to it.

[0230] After that, Qp C 's value is derived as Qp C Idx[qPi].[[]END]

[0231] For example, when describing the process of deriving quantization parameters according to this embodiment in standard form it is as shown in the following table.

[0232]

Table 16

[0233] Referring to Table 16 above, the derivation process for luma and chroma quantization parameters starts from the fact that the input to the process is the luma position (xCb, yCb), the variables cbWidth and cbHeight specifying the width and height of the current coding block and the variable treeType specifying whether it is a single tree (single tree) or a dual tree (dual tree). On the other hand, as described above, the luma quantization parameter and the chroma quantization parameter are Qp' , Qp' Y , Qp' Cb and Qp' Cris shown as

[0234] This document also proposes another embodiment for signaling information regarding quantization parameters. proposes.

[0235] For example, in this embodiment, a syntax element that can be used to control the derivation of quantization parameters by having a flag in the SPS in user defined mode or default mode is used. ed mode) or default mode is used. An example of a syntax element that can be used to control the derivation of quantization parameters is proposed. An example of a syntax element that can be used to derive quantization parameters is as follows. On the other hand, the structure of the syntax element is an example, and the structure is not limited to the structure shown in the following table. One example of a syntax element that can be used to derive quantization parameters is as follows. The structure of the syntax element is an example, and the structure is not limited to the structure shown in the following table.

[0236] [Table 17]

[0237] [Table 18]

[0238] [Table 19]

[0239] For example, the syntax element Qpc_data_default_flag indicates whether the user defined mode is used for the derivation of quantization parameters. For example, a Qpc_data_default_flag of 0 indicates that the user defined mode is used for the derivation of quantization parameters. Also, for example, a Qpc_data_def of 1 indicates that the user defined mode is used for the derivation of quantization parameters. Also, for example, a Qpc_data_def of 1 indicates that the user defined mode is used for the derivation of quantization parameters. Also, for example, a Qpc_data_def of 1 The ault_flag indicates that the default table is used to derive the chroma quantization parameter. Here, the default table is as described in Table 7 above. Also, when the syntax element Qpc_data_default_flag does not exist, the syntax element Qpc_data_default_flag is regarded as 1. On the other hand, when the user-defined mode is used, the corresponding slice header, tile group / header, or other appropriate header is used for signaling the APS ID. For example, a syntax element indicating the APS ID can be signaled via a slice header as shown in Table 18. For example, the syntax element slice_Qp _aps_id indicates the adaptation_parameter_set_id of the Qp APS to which the slice refers. The TemporalId of a Qp

[0240] APS NAL unit having an adaptation_parameter_set_id such as slice_Qp is less than or equal to the TemporalId of the coded slice NAL unit. When multiple Qp APSs having the same value of adaptation_parameter_set_id are referred to by two or more slices of the same picture, the multiple Qp APSs can have the same content.

[0241] For example, the syntax element slice_Qp C _aps_id indicates the adaptation_parameter_set_id of the Qp APS to which the slice refers. The TemporalId of a Qp C APS NAL unit having an adaptation_parameter_set_id such as slice_Qp _aps_id indicates the adaptation_parameter_set_id of the Qp C APS to which the slice refers. The TemporalId of a Qp APS NAL unit having an adaptation_parameter_set_id such as slice_Qp C _aps_id is less than or equal to the TemporalId of the coded slice NAL unit. When multiple Qp APSs having the same value of adaptation_parameter_set_id are referred to by two or more slices of the same picture, the multiple Qp APSs can have the same content. The TemporalId of a Qp C APS NAL unit having an adaptation_parameter_set_id such as slice_Qp _aps_id is less than or equal to the TemporalId of the coded slice NAL unit. When multiple Qp C A PSs having the same value of adaptation_parameter_set_id are referred to by two or more slices of the same picture, the multiple Qp

[0242] Also, the APS structure for transmitting the chroma quantization data proposed in this embodiment is as described in the above Table 19. That is as described above in Table 19.

[0243] For example, the syntax element adaptation_parameter_set _id can provide an identifier of the APS referenced by other syntax elements. That is, it can provide an identifier (identifier) of the APS referenced by other syntax elements.

[0244] Also, for example, the syntax element aps_extension_flag indicates whether the aps_extension_data_flag syntax element exists in the APS RBSP syntax structure. For example, the syntax element aps_extension_flag with a value of 1 indicates that the aps_extension_data_flag syntax element exists in the APS RBSP syntax structure, and the syntax element aps_extension_flag with a value of 0 indicates that the aps_extension_data_flag syntax element does not exist in the APS RBSP syntax structure. That is, the syntax element aps_extension_flag indicates whether the aps_extension_data_flag syntax element exists in the APS RBSP syntax structure. For example, the syntax element aps_extension_flag with a value of 1 indicates that the aps_extension_data_flag syntax element exists in the APS RBSP syntax structure, and the syntax element aps_extension_flag with a value of 0 indicates that the aps_extension_data_flag syntax element does not exist in the APS RBSP syntax structure. That is, it indicates whether the aps_extension_data_flag syntax element exists in the APS RBSP syntax structure. For example, the syntax element aps_extension_flag with a value of 1 indicates that the aps_extension_data_flag syntax element exists in the APS RBSP syntax structure, and the syntax element aps_extension_flag with a value of 0 indicates that the aps_extension_data_flag syntax element does not exist in the APS RBSP syntax structure. That is, the syntax element aps_extension_flag indicates whether the aps_extension_data_flag syntax element exists in the APS RBSP syntax structure. For example, the syntax element aps_extension_flag with a value of 1 indicates that the aps_extension_data_flag syntax element exists in the APS RBSP syntax structure, and the syntax element aps_extension_flag with a value of 0 indicates that the aps_extension_data_flag syntax element does not exist in the APS RBSP syntax structure. That is, it indicates that the aps_extension_data_flag syntax element exists in the APS RBSP syntax structure. That is, the syntax element aps_extension_flag with a value of 1 indicates that the aps_extension_data_flag syntax element exists in the APS RBSP syntax structure, and the syntax element aps_extension_flag with a value of 0 indicates that the aps_extension_data_flag syntax element does not exist in the APS RBSP syntax structure. That is, the syntax element aps_extension_flag with a value of 1 indicates that the aps_extension_data_flag syntax element exists in the APS RBSP syntax structure, and the syntax element aps_extension_flag with a value of 0 indicates that the aps_extension_data_flag syntax element does not exist in the APS RBSP syntax structure. That is, the syntax element aps_extension_flag with a value of 0 indicates that the aps_extension_data_flag syntax element does not exist in the APS RBSP syntax structure.

[0245] Also, for example, the syntax element aps_extension_data_flag can have any value. The presence and value of the aps_extension_data_flag may not affect decoder compliance for the profiles specified in this version of the standard. For example, a decoding device conforming to this version of the standard may handle all syntax elements ap That is, the syntax element aps_extension_data_flag can have any value. The presence and value of the aps_extension_data_flag may not affect decoder compliance for the profiles specified in this version of the standard. For example, a decoding device conforming to this version of the standard may handle all syntax elements ap That is, the presence and value of the aps_extension_data_flag may not affect decoder compliance for the profiles specified in this version of the standard. For example, a decoding device conforming to this version of the standard may handle all syntax elements ap That is, the presence and value of the aps_extension_data_flag may not affect decoder compliance for the profiles specified in this version of the standard. For example, a decoding device conforming to this version of the standard may handle all syntax elements ap That is, for example, a decoding device conforming to this version of the standard may handle all syntax elements ap The s_extension_data_flag can be ignored.

[0246] Also, for example, the syntax element aps_params_type indicates the type of APS parameters included in APS, as shown in the aforementioned table 10.

[0247] The Qp C _data() disclosed in the aforementioned Table 19 is signaled as follows .

[0248]

Table 20

[0249] For example, the syntax element qPi_min_idx indicates the minimum qPi index used for chroma quantization.

[0250] Also, for example, the syntax element qPi_delta_max_idx indicates the delta value between the Qp C i_min_idx and the maximum qPi index used for chroma Qp derivation. The value of qPiMaxIdx is greater than or equal to qPi_min_idx. For example, the maximum index qPiMaxId x used for Qp C derivation can be derived as shown in the aforementioned Equation 4.

[0251] Also, for example, the value obtained by adding 1 to the syntax element Qp C _prec_minus1 indicates the number of bits used for the representation of the syntax lmcs_delta_abs_cw[i]. The Qp _prec_ C The value of minus1 can be in the range of 0 to BitDepthY-2.

[0252] Also, for example, the syntax element Qp C _init_val is qPi_min corresponding to idx indicates the Qp C value.

[0253] Also, for example, the syntax element Qp C _qPi_delta_val[i] is the delta of the Qp value for the i-th index C and indicates the value.

[0254] Also, for example, the syntax element QpOffset C is the C offset value used for the derivation of Qp and indicates the offset value.

[0255] For example, the variable Qp for qPi C Idx[qPi] is derived as follows. Here the qPi can be from 0 to qPiMaxIdx.

[0256] When -qPi < qPi_min_idx, Qp C Idx[qPi] is set to be the same as qPi and is set to be the same.

[0257] When -qPi = qPi_min_idx ··· qPiMaxIdx, Qp C Id x[qPi] is Qp C _qPi_delta_val[qPi] + Qp C Idx[qPi - 1] and is set to that value.

[0258] When -qPi > qPiMaxIdx, Qp C Idx[qPi] is qPi - QpO ffsetC is set to

[0259] After that, the value of Qp C can be derived from Qp C Idx[qPi].

[0260] As in the foregoing embodiments, the chroma quantization parameters, namely, Qp'Cb, Qp'Cr and Qp'CbCr can be derived using user-defined information that is signaled or using default values shown in a default table such as the foregoing Table 7 . .

[0261] For example, when describing the process of deriving quantization parameters according to this embodiment in a standard format it is as shown in the following table.

[0262]

Table 21

[0263] Referring to the foregoing Table 21, when ChromaArrayType is 1 and Qp C _d ata_default_flag indicates negative (FALSE) (i.e., for example when Qp C _data_default_flag is 0), the variables qP Cb , qP Cr and qP CbCr are derived based on user-defined information signaled as proposed in this embodiment and when ChromaArrayType is 1 and Qp C _data When the _default_flag indicates positive (TRUE) (i.e., for example, Qp C when _data_default_flag is 1), the variable qP Cb , qP Cr and qP CbCr are respectively qPi Cb , qPi Cr and qPi CbCr derived from the default table based on the same index qPi .

[0264] In addition, this document proposes another embodiment for signaling information regarding quantization parameters .

[0265] For example, this embodiment proposes a syntax element that can be used to control the derivation of quantization parameters by indicating that the SPS flag is in user-defined mode or default mode . Specifically, this embodiment proposes a scheme for signaling a syntax element with the following syntax structure. On the other hand, the structure of the syntax element is an example, and the structure is not limited to the structure shown in the following table .

[0266]

Table 22

[0267] For example, the syntax element qPi_min_idx indicates the minimum qPi index used for chroma quantization .

[0268] Also, for example, the syntax element qPi_delta_max_idx is the delta between qPi_min_idx and the maximum qPi index used for chroma Qp i_min_idx and chroma Qp C derivation Indicates a (delta value). The value of qPiMaxIdx is qPi_min_id Greater than or equal to x. For example, Qp C The maximum index qPiMaxI used for derivation dx can be derived as in the above-mentioned Equation 4.

[0269] Also, for example, the syntax element Qp C _qPi_delta_val[i] is The delta of the Qp value for the i-th index C Indicates.

[0270] Also, for example, the syntax element QpOffset C Is the offset value (offset value) used for the derivation of Qp as described above C Of Indicates.

[0271] As in the foregoing embodiment, the chroma quantization parameters, namely, Qp'Cb, Qp'Cr And Qp‘CbCr can be derived using user-defined information to be signaled or using default values shown in a default table as in Table 7 above As follows.

[0272] For example, when describing the process of deriving quantization parameters according to this embodiment in a standard format It is as shown in the following table.

[0273]

Table 23

[0274] Referring to Table 23 above, when ChromaArrayType is 1 and Qp C _d ata_default_flag indicates negative (FALSE) (i.e., for example when Qp C _data_default_flag is 0), the variables qP Cb qP Cr and qP CbCr can be derived based on the user - defined information signaled as proposed in this embodiment. For example, when ChromaArrayType is 1 and Qp C _data_default_flag indicates negative (FALSE) (i.e., for example, when Qp C _data_default_flag is 0), the variables qP Cb qP Cr and qP CbCr are respectively derived to be the same as the value of Qp Cb qPi Cr and qPi CbCr based on the same index qPi as Qp C and can be derived.

[0275] For example, the variable Qp C Idx[i] is derived as follows.

[0276] - When i < qPi_min_idx, Qp C Idx[qPi] is set to be the same as qPi - When i = qPi_min_idx···qPiMaxIdx, Qp

[0277] Idx C i] is set to Qp _qPi_delta_val[i]+Qp C Idx[i - 1] C is set to .

[0278] - If i>qPiMaxIdx, then Qp C Idx[i] is qPi-QpOffset t C is set to.

[0279] Then, the Qp C is the Qp C It can be set to Idx[i].

[0280] Also, referring to Table 23, ChromaArrayType is 1 and Qp C _d If ata_default_flag is TRUE (i.e., for example, Qp C _data_default_flag is 1), variable qP Cb , qP Cr Reach and qP CbCr are qPi Cb , qPi Cr , qPi CbCr Based on the same index qPi as It is derived from the default table based on the

[0281] This document also describes another embodiment for signaling information about quantization parameters. suggest.

[0282] For example, this embodiment uses APS (Adaptation Parameter Set) In chroma quantization (Qp C ) Proposal of a syntax element for derived parameters For example, the APS ID can be signaled in the slice header. Also, for example, if a default table is used or signaled in the APS PPS (picture param) indicates whether a table derived from the information in the A flag within the [eter set] is proposed. Also, for example, when the default table is not used, additional control schemes for supporting access to APS containing Qp C data (ac cess) are added.

[0283] On the other hand, according to existing video / image standards, the chroma QP is derived from the luma QP and can be updated by the additionally signaled chroma QP offset. The existing chroma quantization parameter QpC table can be a default table as shown in Table 7 above.

[0284] This embodiment proposes adding a function for signaling the chroma quantization parameter Qp C as a function of the index qPi. The APS is used for the integration of the Qp value signaling C scheme.

[0285] For example, the APS according to this embodiment is as follows.

[0286]

Table 24

[0287] For example, the syntax element adaptation_parameter_set _id provides an identifier (identi fier) of the APS referenced by other syntax elements.

[0288] Also, for example, the syntax element aps_params_type indicates the type of APS parameters included in the APS, as shown in Table 10 above. ​​

[0289] Also, for example, the syntax element aps_extension_flag is A indicates whether the aps_extension_data_flag syntax element exists in the PS RBSP syntax structure. For example, the syntax element aps_extension_flag with a value of 1 indicates that the aps_extension_data_flag syntax element exists in the APS RBSP syntax structure, and the syntax element aps_extension_flag with a value of 0 indicates that the aps_extension_data_flag syntax element does not exist in the APS RBSP syntax structure. ag

[0290] Also, for example, the syntax element aps_extension_data_fl ag has an arbitrary value. The presence and value of the aps_extension_data_flag may not affect the decoder compliance for the profile specified in this version of the standard. For example, a decoding device that complies with this version of the standard can ignore all syntax elements aps_exte nsion_data_flag.

[0291] The Qp C _data() disclosed in Table 24 above is signaled as follows :

[0292] [Table 25]

[0293] ​​​​For example, the syntax element qPi_min_idx is used for chroma quantization and indicates the minimum qPi index. The value of qPi_min_idx can be in the range of 0 to 63 .

[0294] Also, for example, the syntax element qPi_delta_max_idx is the delta value between the Qp C i_min_idx and the maximum qPi index used for chroma Qp derivation. The value of qPiMaxIdx is greater than or equal to qPi_min_id x. Also, for example, the value of qPi_delta_max_idx can be in the range of 0 to 63. For example, the maximum index qPiMa xIdx used for Qp C derivation is derived as shown in Equation 4 above .

[0295] Also, for example, the syntax element Qp C _qPi_delta_val[i] indicates the difference in Qp C value for the i-th index. The said difference may be referred to as delta

[0296] Also, for example, the syntax element Qp C Offset C _present_fla g indicates whether QpOffset C exists in the bitstream. For example, a Q p C Offset C _present_flag of 1 indicates that QpOffset C exists in the bitstream. Also, for example, a Qp C Offset C _present_fl ag indicates the absence of QpOffset in the bitstream. C This indicates the absence of Qp C Offs et C If _present_flag does not exist, Qp C Offset C _prese nt_flag is considered 0.

[0297] Also, for example, the syntax element QpOffset C is used for the derivation of Qp C and indicates the offset value. For example, the variable Qp

[0298] Idx[qPi] for qPi is derived as follows. Here C where qPi can be from 0 to 63. If -qPi < qPi_min_Idx, Qp

[0299] Idx[qPi] is set to be the same as qPi. C If -qPi = qPi_min_idx ··· qPiMaxIdx, Qp Idx[qPi] is set to Qp

[0300] _qPi_delta_val[qPi] + Qp C Id x[qPi - C 1]. C If -qPi > qPiMaxIdx and Qp Offset

[0301] _present_f C Offset C _present_f lag is 1, then Qp C Idx[qPi] is set to qPi - QpOffset C and Qp C Offset CIf _present_flag is not 1, that is, Qp C Off set C If _present_flag is 0, Qp C Idx[qPi] is qPi - ( qPiMaxIdx - Qp C Idx[qPiMaxIdx]) is set.

[0302] After that, the value of Qp C is derived from Qp C Idx[qPi].

[0303] In addition, this embodiment proposes a flag signaled by PPS as shown in the following table.

[0304]

Table 26

[0305] For example, the syntax element Qp C _data_default_flag indicates whether the user defined mode ( user defined mode ) is used for the derivation of quantization parameters. For example, Qp of 0 C _data_default_fla g indicates that the user defined mode is used for deriving quantization parameters. Also for example, Qp of 1 C _data_default_flag indicates that the default table described above is used for deriving quantization parameters. The default table is as shown in Table 7 above. If Qp C _data_default_flag does not exist, Qp _data_default_flag is regarded as 1. C

[0306] In addition, this embodiment proposes a syntax element signaled by a slice header as shown in the following table. suelement.

[0307]

Table 27

[0308] For example, the syntax element slice_Qp C _aps_id refers to the Qp that the slice references. C Indicates the adaptation_parameter_set_id of the APS . slice_Qp C Qp with an adaptation_paramet er_set_id such as slice_Qp C The TemporalId of the APS NAL unit is less than or equal to the TemporalId of the coded slice NAL unit. When multiple Qp C APs with the same value of adaptation_parameter_set_id are referenced by two or more slices of the same picture, multiple Qp with the same value of adaptation_parameter_set_id C AP S can have the same content.

[0309] For example, when the process of deriving the quantization parameter according to this embodiment is described in a standard format it can be shown as in the following table.

[0310]

Table 28

[0311] Referring to Table 28 above, when ChromaArrayType is 1 and Qp C _d ata_default_flag indicates negative (FALSE) (i.e., for example , when Qp C _data_default_flag is 0), the variables qP Cb , qP Cr and qP CbCr are derived based on the user - defined information signaled as proposed in this embodiment. Also, for example, when ChromaArrayType is 1 and Qp C _data_default_flag indicates positive (TRUE) (i.e., for example , when Qp C _data_default_flag is 1), the variables qP C b , qP Cr and qP CbCr can be derived by a default table based on the same indices qPi Cb , qPi Cr and qPi CbCr respectively. That is, they can be derived from the default table based on the indices qPi.

[0312] In addition, this document proposes another embodiment for signaling information related to quantization parameters. Propose.

[0313] For example, in this embodiment, the user - defined derivation of chroma quantization in the SPS is as follows It is proposed to signal as follows. For example, in this embodiment, a user-defined chroma amount quantization (Qp C ) is proposed. For example, it can be indicated whether the SPS flag uses a default lookup table for chroma quantization derivation or derives the content of the table for chroma quantization derivation from the information signaled in the SPS .

[0314] For example, this embodiment proposes a scheme for performing chroma quantization as a function of the index qPi using the syntax elements shown in the following table.

[0315] [Table 29]

[0316] For example, the syntax element qPi_min_idx indicates the minimum qPi index used for chroma quantization. The value of qPi_min_idx can be in the range of 0 to 63.

[0317] Also, for example, the syntax element qPi_delta_max_idx indicates the delta value between qPi_min_idx and the maximum qPi index used for chroma Qp C derivation. The value of qPiMaxIdx is greater than or equal to qPi_min_id x. The value of qPi_delta_max_idx can be in the range of 0 to 63. For example, the maximum index qPiMaxIdx used for Qp derivation can be derived as in Equation 4 above. C

[0318] Also, for example, the syntax element Qp C ​​​​​​_qPi_delta_val[i] represents the delta of the Qp value for the i-th index. C

[0319] For example, the variable Qp C Idx[qPi] is derived as follows.

[0320] When -qPi < qPi_min_Idx, Qp C Idx[qPi] is set to be the same as qPi.

[0321] When -qPi = qPi_min_idx ··· qPiMaxIdx, Qp C Id x[qPi] is set to Qp C _qPi_delta_val[qPi] + Qp C Idx[qPi - 1].

[0322] When -qPi > qPiMaxIdx, Qp C Idx[qPi] is set to qPi - (qP iMaxIdx - Qp C Idx[qPiMaxIdx]).

[0323] After that, the said Qp C is set to the said Qp C Idx[qPi].

[0324] Also, the SPS flag indicating whether to use the default table for chroma quantization derivation proposed in this embodiment or the information signaled for chroma quantization derivation is as follows in the following table.

[0325]

Table 30

[0326] For example, syntax element Qp C _data_default_flag indicates the quantity whether the user-defined mode is used for deriving quantization parameters. For example, 0 for Qp C _data_default_flag indicates that the user-defined mode is used for deriving quantization parameters For example, for Qp of 1. Also, for example, Qp C _data_def ault_flag indicates that the default table is used for deriving quantization parameters The default table is as shown in Table 7 above. Also, for Qp C _d If _data_default_flag does not exist, the Qp C _data_defa ult_flag is regarded as 1.

[0327] For example, when describing the process of deriving quantization parameters according to this embodiment in standard form it is as shown in the following table.

[0328]

Table 31

[0329] Referring to Table 31 above, when ChromaArrayType is 1 and Qp C _d ata_default_flag indicates negative (FALSE) (that is, for example when Qp C _data_default_flag is 0), variable qP Cb qP Cr and qP CbCr can be derived based on the user-defined information signaled as proposed in this embodiment. Also, for example, when ChromaArrayType is 1 and Qp _data_default_flag indicates affirmative (TRUE) (i.e., for example, when Qp C _data_default_flag is 1), the variables qP , qP C and qP can be derived by a default table based on the same index qPi Cb , qP Cr and qP CbCr respectively. Cb , qPi Cr , qPi CbCr and qPi The present document also proposes another embodiment for signaling information regarding quantization parameters.

[0330] For example, this embodiment proposes adding a function for signaling the chroma quantization parameter Qp as a function of the index qPi. For example, a scheme is proposed for signaling syntax elements for a user-defined table for deriving quantization parameters in the PPS, thereby

[0331] providing flexibility to switch between a user-defined table and a default table for each picture referring to the PPS. C For example, in the PPS proposed in this embodiment, the syntax elements for the user-defined table (user defined table) signaled are as follows in the table and can be signaled, providing flexibility to switch between a user-defined table and a default table for each picture referring to the PPS. and can be signaled, providing flexibility to switch between a user-defined table and a default table for each picture referring to the PPS. and can be signaled, providing flexibility to switch between a user-defined table and a default table for each picture referring to the PPS.

[0332] The syntax elements for the user-defined table signaled in the PPS proposed in this embodiment (user defined table) are as follows in the table It is as follows.

[0333]

Table 32

[0334] For example, the syntax element qPi_min_idx indicates the minimum qPi index used for chroma quantization. The value of qPi_min_idx can be in the range of 0 to 63. It can be within the range of 0 to 63.

[0335] Also, for example, the syntax element qPi_delta_max_idx indicates the delta value between qPi_min_idx and the maximum qPi index used for Qp C derivation. The value of qPiMaxIdx is greater than or equal to qPi_min_idx. The value of qPi_delta_max_idx can be in the range of 0 to 63. For example, the maximum index qPiMaxIdx used for Qp C derivation can be derived as shown in the above formula 4. It can be derived as shown in the above formula 4.

[0336] Also, for example, the syntax element QpC_qPi_delta_val[i] indicates the delta value of the Qp C value for the i-th index.

[0337] For example, the variable Qp C Idx[qPi] can be derived as follows.

[0338] When -qPi < qPi_min_Idx, Qp C Idx[qPi] is set to be the same as qPi. It is set to be the same as qPi.

[0339] -qPi = qPi_min_idx ··· qPiMaxIdx, then Qp C Id x[qPi] is Qp C _qPi_delta_val[qPi] + Qp C Idx[qPi - 1] is set to

[0340] -qPi > qPiMaxIdx, then Qp C Idx[qPi] is qPi - (qP iMaxIdx - Qp C Idx[qPiMaxIdx]) is set to

[0341] Then, the said Qp C is the said Qp C Idx[qPi] is set to

[0342] Also, the flag in the SPS indicating whether to use the default table for the chroma quantization derivation proposed in this embodiment or the information signaled for the chroma quantization derivation is as follows in the following table indicating whether to use the default table for the chroma quantization derivation or the information signaled for the chroma quantization derivation is as follows in the following table is as shown in the following table

[0343]

Table 33

[0344] For example, the syntax element Qp C _data_default_flag indicates whether the user - defined mode is used for the derivation of the quantization parameter. For example, a Qp of 0 _data_default_flag indicates that the user - defined mode is used for the derivation of the quantization parameter. That is, for example, a Qp C of 0 _data_default_flag indicates that the user - defined mode is used for the derivation of the quantization parameter. That is, for example, a Qp C _data_d efault_flag indicates that the above chroma quantization parameter data Qp C _data() indicates that it is used. The Qp C _data_default_flag is 0 In the case, the chroma quantization parameter data Qp C _data() is signaled as follows and can be. Also, for example, Qp of 1 C _data_default_flag indicates that the default table is used for the derivation of the quantization parameter. The default table is as shown in Table 7 above. Also, when Qp _data_default_f C lag does not exist, the Qp _data_default_flag is regarded as 1 C and is considered.

[0345] For example, when describing the process of deriving the quantization parameter according to this embodiment in a standard format it is as shown in the following table.

[0346]

Table 34

[0347] Referring to Table 34 above, when ChromaArrayType is 1 and Qp C _d ata_default_flag indicates negative (FALSE) (that is, for example when Qp C _data_default_flag is 0), the variables qP Cb qP Cr and qP CbCr are signaled as user-defined as proposed in this embodiment. It can be derived based on semantic information. Also, for example, ChromaArrayTy pe is 1, and Qp C _data_default_flag indicates affirmative (TRUE) In the case (i.e., for example, when Qp C _data_default_flag is 1) the variables qP Cb qP Cr and qP CbCr can each be derived from a default table based on the same index qPi Cb qPi Cr qPi CbCr respectively. It can be derived from a default table based on the same index qPi.

[0348] This document also proposes another embodiment for signaling information regarding quantization parameters. Propose.

[0349] For example, this embodiment proposes a general mode for deriving and signaling the chroma quantization parameter Qp C . Propose a general mode.

[0350] In this embodiment, the chroma quantization parameter data for the chroma quantization parameter proposed in this embodiment, Qp _data() is signaled as shown in the following table. C For example, the syntax element qPi_min_idx indicates the minimum qPi index used for chroma quantization. The value of qPi_min_idx can be in the range of 0 to 63.

[0351]

Table 35

[0352] For example, the syntax element qPi_min_idx indicates the minimum qPi index used for chroma quantization. The value of qPi_min_idx can be in the range of 0 to 63. be in the range of 0 to 63. It can be possible.

[0353] Also, for example, the syntax element qPi_delta_max_idx is the delta between i_min_idx and the maximum qPi index used in Qp C derivation. The value of qPiMaxIdx is greater than or equal to qPi_min_id x. The value of qPi_delta_max_idx can be in the range of 0 to 63. For example, Qp The maximum index qPiMaxIdx used in the derivation can be derived as described in the above formula 4. For example, the syntax element QpC_qPi_delta_val[i] represents the delta C of the Qp value for the i-th index. For example, the variable Qp

[0354] Also, for example, the syntax element QpC_qPi_delta_val[i] represents the delta of the Qp value for the i-th index. C For example, the variable Qp

[0355] For example, the variable Qp C Idx[qPi] can be derived as follows.

[0356] If -qPi < qPi_min_Idx, then Qp C Idx[qPi] is set to the same as qPi. If -qPi = qPi_min_idx ··· qPiMaxIdx, then Qp

[0357] Idx[qPi] is set to Qp C Id x[qPi] is set to Qp C _qPi_delta_val[qPi] + Qp C Idx[qPi - 1].

[0358] If -qPi > qPiMaxIdx, then Qp C Idx[qPi] is set to qPi - (qP iMaxIdx - Qp C Idx[qPiMaxIdx]).

[0359] After that, the Qp C is the Qp C is set to Idx[qPi].

[0360] Also, this embodiment proposes a scheme of signaling a flag indicating whether to use a default table for chroma quantization derivation or information signaled for chroma quantization derivation is used. The flag is signaled through a high-level syntax such as SPS (sequence parameter set), or PPS (picture parameter set). The flag signaled through the high-level syntax is as follows in the following table. The flag signaled through the high-level syntax is as follows in the following table.

[0361]

Table 36

[0362] For example, the syntax element Qp C _data_default_flag indicates whether a user-defined mode is used for the derivation of quantization parameters. For example, 0 of Qp _data_default_flag indicates that a user-defined mode is used for the derivation of quantization parameters. That is, for example, 0 of Qp C _data_default_flag indicates that the user-defined mode is used for the derivation of quantization parameters. That is, for example, 0 of Qp _data_default_flag indicates that the above chroma quantization parameter data Qp C _data_d efault_flag indicates that the above chroma quantization parameter data Qp C _data() is used. When the Qp C _data_default_flag is 0 the above chroma quantization parameter data Qp C_data() can be signaled and so on. Also, for example, when Qp of 1 C _data_default_flag indicates that the default table is used for deriving quantization parameters. The above-mentioned default table is as shown in Table 7 above. Also, when Qp _data_default_ C does not exist, the Qp _data_default_flag is regarded as 1 C and done.

[0363] For example, when describing the process of deriving quantization parameters according to this embodiment in a standard format it is as shown in the following table.

[0364]

Table 37

[0365] Referring to Table 37 above, when ChromaArrayType is 1 and Qp C _d ata_default_flag indicates negative (FALSE) (that is, for example when Qp C _data_default_flag is 0), the variables qP Cb qP Cr and qP CbCr are derived based on the user-defined information signaled as proposed in this embodiment. Also, for example, when ChromaArrayType is 1 and Qp is CWhen the _data_default_flag indicates positive (TRUE) (i.e., for example, when Qp C _data_default_flag is 1), the variables q P Cb , qP Cr and qP CbCr can each be derived from the default table based on the index qPi Cb , qPi Cr and qPi CbCr which are the same. It can be derived from the default table based on the index qPi.

[0366] In addition, this document proposes another embodiment for signaling information regarding quantization parameters. Propose.

[0367] For example, this embodiment proposes a scheme for deriving a chroma quantization parameter Qp C table without offset. This embodiment can be used with APS or can also be proposed to be used independently. For example, the syntax structure of APS integrated with chroma quantization data is as follows in the following table. For example, the syntax element qPi_min_idx indicates the minimum qPi index used for chroma quantization. The value of qPi_min_idx can be in the range of 0 to 63. For example, the syntax element qPi_delta_max_idx is the delta between Qp

[0368]

Table 38

[0369] For example, the syntax element qPi_min_idx indicates the minimum qPi index used for chroma quantization. The value of qPi_min_idx can be in the range of 0 to 63. The value of qPi_min_idx can be in the range of 0 to 63. It can be.

[0370] Also, for example, the syntax element qPi_delta_max_idx is the delta between Qp i_min_idx and the maximum qPi index used for chroma Qp C derivation. Indicates a value (delta value). The value of qPiMaxIdx is qPi_min_id is greater than or equal to x. The value of qPi_delta_max_idx is in the range of 0 to 63 and can be. For example, Qp C The maximum index qPiMaxIdx used for derivation can be derived as in the above formula 4 as follows.

[0371] Also, for example, the syntax element QpC_qPi_delta_val[i] represents the difference in the Qp value for the i-th index. The said difference C may be called a delta.

[0372] For example, the variable Qp C Idx[qPi] is derived as follows. Here, the qPi can be from 0 to 63.

[0373] When -qPi < qPi_min_Idx, Qp C Idx[qPi] is set to be the same as qPi

[0374] When -qPi = qPi_min_idx ··· qPiMaxIdx, Qp C Id x[qPi] is Qp C _qPi_delta_val[qPi] + Qp C Idx[qPi - 1]

[0375] When -qPi > qPiMaxIdx, Qp C Idx[qPi] is set to qPi - (qP iMaxIdx - Qp C Idx[qPiMaxIdx])

[0376] After that, the said Qp C is the said QpC It is set to Idx[qPi].

[0377] Also, this document proposes another embodiment for signaling information regarding quantization parameters. Propose.

[0378] For example, in this embodiment, the delta (or difference) between consecutive Qp C values is limited to 1 as an example. Present as an example.

[0379] For example, this embodiment proposes a scheme to add user - defined chroma quantization (Qp C ) to an existing image / video standard. For example, the flag of the SPS (sequence parameter set) proposed in this embodiment indicates whether to use an existing default table for chroma quantization parameter derivation or to derive the content of the table based on the information signaled in the SPS. According to this embodiment, a scheme suitable for the image coded with user - defined chroma quantization can be selected, and the coding efficiency can be improved. For chroma quantization parameter derivation whether to use an existing default table or to derive the content of the table based on the information signaled in the SPS. According to this embodiment, a scheme suitable for the image coded with user - defined chroma quantization can be selected, and the coding efficiency can be improved. signaled in the SPS. According to this embodiment, a scheme suitable for the image coded with user - defined chroma quantization can be selected, and the coding efficiency can be improved. quantization can be selected, and the coding efficiency can be improved. coding efficiency can be improved.

[0380] For example, this embodiment proposes to add a function to signal chroma quantization (Chroma Quantization) Qp as a function of the index sqPi using syntax elements as shown in the following table. C Propose to add a function to signal chroma quantization (Chroma Quantization) Qp

[0381]

Table 39

[0382] For example, the syntax element qPi_min_idx is used for chroma quantization indicates the minimum qPi index. The value of qPi_min_idx can be in the range of 1 to 63. It can be.

[0383] Also, for example, the syntax element qPi_delta_max_idx is the delta between the minimum qPi index qPi_min_idx and the maximum qPi index used for Qp C derivation. The value of qPiMaxIdx is greater than or equal to qPi_min_idx. The value of qPi_delta_max_idx can be in the range of 1 to 63. For example, the maximum index qPiMaxIdx used for Qp derivation can be derived as shown in the above formula 4. Also, for example, the syntax element Qp C _qPi_flag[i] indicates whether the Qp value increases by 1. That is, for example, the syntax element Qp

[0384] _qPi_flag[i] can indicate whether the i-th Qp C value increases by 1 compared to the (i - 1)-th Qp C value. For example, a Qp _qPi_flag[i] of 1 indicates that the Qp C _qPi_ value increases by 1, and a Qp C _qPi_flag[i] of 0 indicates that the Qp C value does not increase. For example, a Qp C _qPi_flag[i] of 1 indicates that the Qp C value increases by 1, and a Qp C _qPi_flag[i] of 0 indicates that the Qp C value does not increase. .

[0385] For example, the variable Qp C Idx[qPi] can be derived as follows. Here , the qPi can be from 0 to 63.

[0386] - When -qPi < qPi_min_Idx, Qp C Idx[qPi] is set the same as qPi to one.

[0387] - When -qPi = qPi_min_idx ··· qPiMaxIdx, Qp C Id x[qPi] is Qp C _qPi_flag[qPi] + Qp C set to Idx[qPi - 1] is set.

[0388] - When -qPi > qPiMaxIdx, Qp C Idx[qPi] is qPi - (qP iMaxIdx - Qp C set to Idx[qPiMaxIdx]).

[0389] Then, the said Qp C is set to the said Qp C Idx[qPi].

[0390] Also, this embodiment proposes a scheme of signaling a flag indicating whether to use a default table for chroma quantization derivation or information signaled for chroma quantization derivation is used. The said flag can be signaled through a high level syntax such as SPS (sequence parameter set), or PPS (picture parameter set). The said flag signaled through the high level syntax is as follows in the following table. The said flag signaled through the high level syntax is as shown in the following table.

[0391]

Table 40

[0392] For example, the syntax element Qp C _data_default_flag indicates whether a user-defined mode is used for deriving quantization parameters. For example, for Qp of 0 of Qp C _data_default_flag indicates that a user-defined mode is used for deriving quantization parameters. That is, for example, for Qp of 0 C _data_d efault_flag indicates that the above chroma quantization parameter data Qp C _data() is used. For the above Qp C _data_default_flag being 0 in the case, the above chroma quantization parameter data Qp C _data() can be signaled C For Qp of 1, _data_default_flag indicates that a default table is used for deriving quantization parameters. The default table is as described in Table 7 above. Also, when Qp _data_default_flag does not exist, the above Qp C _data_default_f lag is regarded as 1 C

[0393] For example, when the process of deriving quantization parameters according to this embodiment is described in a standard format it is as shown in the following table.

[0394]

Table 41

[0395] Referring to Table 41 above, when ChromaArrayType is 1 and Qp C _d ata_default_flag indicates negative (FALSE) (i.e., for example 、Qp C _data_default_flag is 0), qP Cb 、the variable qP Cr and qP CbCr can be derived based on the user-defined information signaled as proposed in this embodiment. Also, for example, when ChromaArrayTy pe is 1 and Qp C _data_default_flag indicates positive (TRUE) in the case (i.e., for example, when Qp C _data_default_flag is 1) ), the variables qP Cb 、qP Cr and qP CbCr can each be derived by a default table based on the same index qPi Cb 、qPi Cr 、qPi CbCr 。 That is, they can be derived by the default table based on the same index qPi.

[0396] FIG. 10 schematically shows an image encoding method by an encoding device according to this document. The method disclosed in FIG. 10 can be executed by the encoding device disclosed in FIG. 2. Specifically, for example, S1000 to S1010 in FIG. 10 are the above-mentioned encoding device can be executed by the entropy encoding unit of. Although not shown generate a restored sample and a restored picture based on the residual sample and the predicted sample The process of doing so can be executed by the addition unit of the encoding device.

[0397] The encoding device encodes image information (S1000). For example, the encoding de vice can generate quantization parameter data for combined chroma coding based on the chroma type of the current chroma block, and can generate a flag indicating whether or not the quantization parameter data for the combined chroma coding exists, and can encode the image information including the quantization parameter data and the flag.

[0398] Specifically, for example, the encoding device can derive a predicted sample of the current chroma block based on a prediction mode. In this case, various prediction methods disclosed in this document such as inter prediction or intra prediction can be applied.

[0399] For example, the encoding device can determine whether to perform inter prediction or intra prediction on the current chroma block, and can determine a specific inter prediction mode or a specific intra prediction mode based on the RD cost. According to the determined mode, the encoding device can derive a predicted sample for the current chroma block.

[0400] Also, for example, the encoding device can use the original sample for the current chroma block and the previous ​​​​​​​​​​Through subtraction of the predicted samples, the residual samples can be derived.

[0401] Also, for example, the encoding device may select the residual sample based on the chroma type. It is possible to generate quantization parameter data for combined chroma coding of the Here, the chroma type means the above-mentioned ChromaArrayType. For example, if the value of the chroma type is not 0, the encoding device may: Quantization parameter data for combined chroma coding For example, if the chroma type value is 1, the decoding device , quantization parameter data for combined chroma coding Here, if the value of the chroma type is 0, The type may be in Monochrome format, If the value of chroma_type is 1, the chroma type may be in 4:2:0 format, If the chroma type value is 2, the chroma type may be in 4:2:2 format. If the value of the chroma type is 3, the chroma type is in 4:4:4 format. In addition, the combined chroma coding may be This is sometimes called joint coding of the components. The chroma components may include a Cb component and / or a Cr component.

[0402] Also, for example, the encoding device may select the chroma type based on the chroma type (for example, for the residual sample for that chroma component, if the Determining whether to perform combined chroma coding is possible, and when performing combined chroma coding on the residual sample it is possible to generate quantization parameter data for the combined chroma coding of the residual sample. For example, the quantization parameter data can be signaled via high level syntax. For example, the quantization parameter data can be signaled via SPS (sequence parameter set), PPS (picture parameter set), slice header , or APS (adaptation parameter set), etc. can be signaled. For example, the quantization parameter data may include a syntax element indicating the start index of the chroma quantization parameter table for the combined chroma coding and / or a syntax element indicating the difference between the start index and the last index of the chroma quantization parameter table. The syntax element indicating the start index may be the aforementioned qPi_min_idx. Also, the syntax element indicating the difference between the start index and the last index

[0403] may be qPi_delta_max_idx. Furthermore, the chroma quantization parameter table is a chroma quantization parameter mapping table (chroma quantization parameter mapping table) (chroma quantization parameter mapping table). The syntax element indicating the start index may be the aforementioned qPi_min_idx. Also, the syntax element indicating the difference between the start index and the last index may be qPi_delta_max_idx. The syntax element indicating the difference between the start index and the last index may be qPi_delta_max_idx. Furthermore, the chroma quantization parameter table is a chroma quantization parameter mapping table (chroma quantization parameter mapping table). (g table) or a user - defined quantization parameter mapping table (user de fined quantization parameter mapping tab le), which may also be called. Also, the start index may be called the minimum index as well. Further, for example, the syntax element indicating the start index and / or the syntax element indicating the difference between the start index and the last index can be signaled via a high - level syntax. For example, the syntax element indicating the start index and / or the syntax element indicating the difference between the start index and the last index can be signaled via an SPS (sequence parameter s et), PPS (picture parameter set), slice header (s lice header), or APS (adaptation parameter set), etc.

[0404] Also, for example, the quantization parameter data can include a syntax element for the quantization parameter value of the index of the chroma quantization parameter table That is, for example, the quantization parameter data can include a syntax element for the quantization parameter value of each index of the chroma quantization parameter table The syntax element for the quantization parameter value of the index can be the Qp _qPi_val[i] as described above. Also, for example, the index C ​​​The syntax element for the quantization parameter value can be signaled via high level syntax (h igh level syntax). For example , the syntax element for the quantization parameter value of the index can be SPS ( sequence parameter set), PPS (picture para meter set), slice header, or APS (a daptation parameter set), etc., and can be signaled .

[0405] Also, for example, the quantization parameter data may include a syntax element indicating an offset for deriving the quantization parameter for the combined chroma coding . The syntax element indicating the offset may be the aforementioned QpOffset C . Further, for example, the syntax element indicating the offset can be signaled via high level syntax . For example, the syntax element indicating the offset can be SPS (sequence parameter set), PPS (pic ture parameter set), slice header (slice header ), or APS (adaptation parameter set), etc., and can be sig naled

[0406] On the other hand, for example, the encoding device can derive the quantization parameter for the combined chroma coding based on the quantization parameter data . The con The quantization parameter for the combined chroma coding is the QP` described above. CbCr It can be shown. It can be done.

[0407] For example, as described above, the chroma quantization parameter table is based on a syntax element indicating the start index of the chroma quantization parameter table, a syntax element indicating the difference between the start index and the last index of the chroma quantization parameter table, and / or a syntax element for the quantization parameter value of the index of the chroma quantization parameter table. It can be derived. That is, for example, based on the quantization parameter data, a chroma quantization parameter table for the combined chroma coding can be derived. Then, based on the quantization parameter for the luma component, an index for the combined chroma coding can be derived, and based on the quantization parameter for the index of the chroma quantization parameter table, the quantization parameter for the combined chroma coding can be derived. That is, for example, based on the quantization parameter for the same index as the quantization parameter of the luma component in the chroma quantization parameter table, the quantization parameter for the combined chroma coding can be derived. For example, an offset is added to the quantization parameter (e.g., QP ) for the index of the chroma quantization parameter table to derive the quantization parameter (e.g., QP` ) for the combined chroma coding. The offset is For example, the quantization parameter for the combined chroma coding can be derived. for the combined chroma coding can be derived. for the combined chroma coding can be derived. index for the combined chroma coding can be derived, and based on the quantization parameter for the index of the chroma quantization parameter table, the quantization parameter for the combined chroma coding can be derived. quantization parameter for the combined chroma coding can be derived. parameter for the combined chroma coding can be derived. parameter for the combined chroma coding can be derived. parameter for the combined chroma coding can be derived.

[0408] For example, an offset is added to the quantization parameter (e.g., QP ) for the index of the chroma quantization parameter table to derive the quantization parameter (e.g., QP` CbCr ) for the combined chroma coding. for the combined chroma coding. CbCr ) can be derived. The offset is and can be derived based on a syntax element indicating an offset for deriving quantization parameters for the combined chroma coding.

[0409] Also, for example, an encoding device can generate a flag indicating whether the quantization parameter data for the combined chroma coding exists based on the chroma type. For example, when the value of the chroma type is not 0, the encoding device can generate a flag indicating whether quantization parameter data for combined chroma coding exists. For example, when the value of the chroma type is 1, the encoding device can generate a flag indicating whether quantization parameter data for combined chroma coding exists. For example, when the value of the chroma type is 2, the encoding device can generate a flag indicating whether quantization parameter data for combined chroma coding exists. For example, the syntax element for the flag can be the aforementioned Qp_dat_present_flag. C _dat

[0410] For example, when the value of the flag is 0, the flag can indicate that the quantization parameter data for the combined chroma coding does not exist, and when the value of the flag is 1, the flag can indicate that the quantization parameter data for the combined chroma coding exists.

[0411] Also, for example, the flag can be signaled via high level syntax. For example, the flag can be in the SPS ( (sequence parameter set), PPS (picture parameter set), slice header, or APS (adaptation parameter set), etc., can be signaled. meter set), slice header, or APS (a daptation parameter set), etc., can be signaled through it.

[0412] Also, for example, the encoding device can encode image information including prediction information, residual information, the quantization parameter data, and / or the flag for the current chroma block. The encoding device can encode the image information. The image information can include prediction information, residual information, the quantization parameter data, and / or the flag for the current chroma block.

[0413] For example, the encoding device can generate and encode prediction information for the current block. The prediction information can include prediction mode information indicating the prediction mode of the current block. The image information can include the prediction information.

[0414] Also, for example, the encoding device can encode residual information for the residual samples. For example, the encoding device can derive transform coefficients based on the residual samples, and generate the residual information based on the transform coefficients. The image information can include the residual information. For example, the residual information can include syntax elements for the transform coefficients of the current chroma block. For example, the syntax element can be code d_sub_block_flag, sig_coeff_flag, coeff_si gn_flag, abs_level_gt1_flag, par_level_fla g, abs_level_gtX_flag, abs_remainder and / or c Syntax elements such as oeff_sign_flag (syntax eleme nts) can be included.

[0415] Also, for example, the encoding device includes the quantization parameter data and the flag and can encode the image information.

[0416] The encoding device generates a bitstream including the image information (S1010). For example, the encoding device can output, in a bitstream, image information including prediction information, residual information, the quantization parameter data and / or the flag. The bitstream can include prediction information, residual information, the quantization parameter data and / or the flag.

[0417] On the other hand, the bitstream can be transmitted to a decoding device via a network or a (digital) storage medium. Here, the network can include a broadcast network and / or a communication network etc., and the digital storage medium can include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc.

[0418] Also, for example, the encoding device can encode the image information and output it in the form of a bitstream.

[0419] ​​Meanwhile, the bitstream containing the image information is transmitted over a network or (digital) storage. The signal can be transmitted to a decoding device via a medium, where the network is a broadcast network. and / or a communication network, and the digital storage medium may include a USB, SD, CD, D It can include various storage media such as DVD, Blu-ray, HDD, SSD, etc.

[0420] FIG. 11 shows a schematic diagram of an encoding device for carrying out the image encoding method according to the present document. The method disclosed in FIG. 10 is implemented by an encoding device disclosed in FIG. Specifically, for example, the entropy of the encoding device of FIG. The encoding unit can execute steps S1000 to S1010. However, the residual samples and predicted samples are used to calculate the reconstructed samples and the reconstructed peaks. The process of generating the texture may be performed by an adder of the encoding device. .

[0421] FIG. 12 shows a schematic diagram of an image decoding method by a decoding device according to this document. The method disclosed in the above can be performed by the decoding device disclosed in FIG. Specifically, for example, S1200 in FIG. 12 is an entropy decoder of the decoding device. S1210 in FIG. 12 is performed by the residual processing unit of the decoding device. This is carried out.

[0422] The decoding device obtains image information (S1200). Image information can be acquired via the camera.

[0423] For example, the image information may include information for chroma quantization parameters. For example, the image information can include a flag indicating whether quantization parameter data for combined chroma coding exists. For example, the encoding device can obtain a flag indicating whether quantization parameter data for combined chroma coding exists based on the chroma type. Here, the chroma type can mean the ChromaArrayType described above. For example, when the value of the chroma type is not 0, the decoding device can obtain a flag indicating whether quantization parameter data for combined chroma coding exists. For example, when the value of the chroma type is 1, the decoding device can obtain a flag indicating whether quantization parameter data for combined chroma coding exists. Here, when the value of the chroma type is 0, the chroma type can be in the Monochrome format, and when the value of the chroma type is 1, the chroma type can be in the 4:2:0 format, when the value of the chroma type is 2, the chroma type can be in the 4:2:2 format, and when the value of the chroma type is 3, the chroma type can be in the 4:4:4 format. Also, the combined chroma coding is sometimes called joint coding of chroma components. The chroma components can include the Cb component and / or the Cr component. For example, the syntax element for the flag is the Qp described above as mentioned above. Here, when the value of the chroma type is 0, the chroma type can be in the Monochrome format, and when the value of the chroma type is 1, the chroma type can be in the 4:2:0 format, when the value of the chroma type is 2, the chroma type can be in the 4:2:2 format, and when the value of the chroma type is 3, the chroma type can be in the 4:4:4 format. Also, the combined chroma coding is sometimes called joint coding of chroma components. The chroma components can include the Cb component and / or the Cr component. For example, the syntax element for the flag is the Qp described above as mentioned above. Here, when the value of the chroma type is 0, the chroma type can be in the Monochrome format, and when the value of the chroma type is 1, the chroma type can be in the 4:2:0 format, when the value of the chroma type is 2, the chroma type can be in the 4:2:2 format, and when the value of the chroma type is 3, the chroma type can be in the 4:4:4 format. Also, the combined chroma coding is sometimes called joint coding of chroma components. The chroma components can include the Cb component and / or the Cr component. For example, the syntax element for the flag is CIt may be the _data_present_flag.

[0424] For example, when the value of the flag is 0, the flag can indicate that there is no quantization parameter data for the combine chroma coding, and when the value of the flag is 1, the flag can indicate that there is quantization parameter data for the combine chroma coding.

[0425] Also, for example, the flag can be signaled via high level syntax. For example, the flag can be signaled via SPS ( sequence parameter set), PPS (picture para meter set), slice header, or APS (a daptation parameter set), etc.

[0426] Also, for example, when the value of the flag is 1, the image information can include the quantization parameter data for the combine chroma coding. That is, for example, the decoding device can obtain the quantization parameter data for the combine chroma coding based on the flag. For example, the decoding device can obtain the quantization parameter data for the combine chroma coding based on the flag indicating that there is quantization parameter data for the combine chroma coding. That is, for example, when the value of the flag is 1, ​​​​​​​​​In this case, the decoding device For example, the quantization parameter data can be obtained by Signaled via high level syntax For example, the quantization parameter data can be SPS (sequence p (parameter set), PPS (picture parameter set) , slice header, or APS (adaptation The request can be signaled via a ping command, a ping request, a ping request parameter set, or the like.

[0427] For example, the quantization parameter data is A syntax element (s The syntax element and / or the chroma quantization parameter table It may contain a syntax element that indicates the difference between the start and end indexes. The syntax element indicating the start index can be the above-mentioned qPi_m Also, the difference between the start index and the end index may be in_idx. The syntax element to indicate may be qPi_delta_max_idx. The chroma quantization parameter table is a chroma quantization parameter mapping table. Chroma quantization parameter mapping table) or user-defined quantization parameter mapping table (user def ined quantization parameter mapping tabl It may also be referred to as e). Further, the start index may be referred to as the minimum index. Furthermore, for example, the syntax element indicating the start index and / or the syntax element indicating the difference between the start index and the last index can be signaled via high level syntax. For example, the syntax element indicating the start index and / or the syntax element indicating the difference between the start index and the last index can be signaled via SPS (sequence parameter set), PPS (picture parameter set), slice header, or APS (adaptation parameter set), etc.

[0428] Also, for example, the quantization parameter data can include a syntax element for the quantization parameter value corresponding to the index of the chroma quantization parameter table. That is, for example, the quantization parameter data can include syntax elements for the quantization parameter values corresponding to each index of the chroma quantization parameter table. The syntax element for the quantization parameter value corresponding to the index can be Qp_qPi_val[i] as described above. Also, for example, the syntax element for the quantization parameter value corresponding to the index can be signaled via high level syntax. For example C ​​​​, the syntax element for the quantization parameter value of the index can be signaled via SPS ( sequence parameter set), PPS (picture para meter set), slice header, or APS (a daptation parameter set), etc. It can be done.

[0429] Also, for example, the quantization parameter data can include a syntax element indicating an offset for deriving the quantization parameter for the combined chroma coding. The syntax element indicating the offset can be the aforementioned QpOffset C It can be. Furthermore, for example, the syntax element indicating the offset can be signaled via high level syntax. For example, the syntax element indicating the offset can be signaled via SPS (sequence parameter set), PPS (pi cture parameter set), slice heade r, or APS (adaptation parameter set), etc. r), or APS (adaptation parameter set), etc. It can be signaled.

[0430] On the other hand, for example, the image information can include prediction information and / or residual information for the current chroma block. For example, the image information can include prediction information for the current block, and the prediction information can include the prediction mode information. The prediction mode information indicates whether inter prediction is applied to the current block or intra It is possible to indicate whether the prediction is applicable. Also, for example, the residual information can include syntax elements for the conversion coefficients of the current chroma block. For example, the syntax elements can be coded_sub_block_flag, sig_coeff_flag, coeff_sign_flag, abs_level _gt1_flag, par_level_flag, abs_level_gtX_f lag, abs_remainder and / or syntax elements such as coeff_sign_flag, etc. can be included.

[0431] The decoding device generates a restored picture based on the image information (S1210).

[0432] For example, the decoding device can derive the conversion coefficients of the current chroma block based on the image information, derive a chroma quantization parameter table based on the quantization parameter data, (chroma quantization parameter table ), derive the quantization parameter for the current chroma block based on the chroma quantization parameter table, inverse-quantize the conversion coefficients based on the quantization parameter to derive residual samples, and generate the restored picture based on the residual samples.

[0433] For example, the decoding device can derive the conversion coefficients of the current chroma block based on the residual information included in the image information. The residual information is the It can include coefficient level information and sign flag information for the conversion coefficient.

[0434] For example, the absolute level of the conversion coefficient can be derived from the value indicated by the coefficient level information included in the residue information, and the sign of the conversion coefficient (s ign) can be derived from the sign indicated by the sign flag information.

[0435] Also, for example, the decoding device can derive a chroma quantization parameter table based on the quantization parameter data. table).

[0436] For example, as described above, the chroma quantization parameter table indicates the start index of the chroma quantization parameter table for the combined chroma coding, the syntax element indicating the difference between the start index and the last index of the chroma quantization parameter table, and / or the syntax element for the quantization parameter value of the index of the chroma quantization parameter table. That is, for example, based on the quantization parameter data the chroma quantization parameter table for the combined chroma coding can be derived. Based on the quantization parameter data, the chroma quantization parameter table for the combined chroma coding can be derived. table).

[0437] Thereafter, the decoding device can derive the quantization parameter for the combined chroma coding based on the chroma quantization parameter table. The quantization parameter for the combined chroma coding is the QP` CbCr described above. It is possible.

[0438] For example, based on the quantization parameter for the luma component, an index for the current chroma block can be derived, and based on the quantization parameter for the index in the chroma quantization parameter table, the quantization parameter for the current chroma block can be derived. That is, for example, based on the quantization parameter for the index that is the same as the quantization parameter for the luma component in the chroma quantization parameter table, the quantization parameter for the combined chroma coding can be derived. For example, based on the quantization parameter for the luma component, an index for the current chroma block can be derived, and based on the quantization parameter for the index in the chroma quantization parameter table, the quantization parameter for the current chroma block can be derived. That is, for example, based on the quantization parameter for the index that is the same as the quantization parameter for the luma component in the chroma quantization parameter table, the quantization parameter for the combined chroma coding can be derived. For example, based on the quantization parameter for the luma component, an index for the current chroma block can be derived, and based on the quantization parameter for the index in the chroma quantization parameter table, the quantization parameter for the current chroma block can be derived. That is, for example, based on the quantization parameter for the index that is the same as the quantization parameter for the luma component in the chroma quantization parameter table, the quantization parameter for the combined chroma coding can be derived. For example, based on the quantization parameter for the luma component, an index for the current chroma block can be derived, and based on the quantization parameter for the index in the chroma quantization parameter table, the quantization parameter for the current chroma...

Claims

1. An image decoding method performed by a decoding device, comprising: acquiring image information; deriving a quantization parameter for combined chroma coding based on the image information; deriving residual samples based on the quantization parameter for combined chroma coding; generating a reconstructed image based on the residual samples, wherein acquiring the image information comprises: determining a chroma type related to the reconstructed image; acquiring a flag indicating whether quantization parameter data for combined chroma coding exists based on the chroma type having a value other than 0; acquiring the quantization parameter data for combined chroma coding based on the flag, wherein the quantization parameter data includes a syntax element related to a start quantization parameter of a chroma quantization parameter mapping table and a syntax element related to a quantization parameter within the chroma quantization parameter mapping table; wherein the chroma quantization parameter mapping table is derived based on the quantization parameter data; wherein the quantization parameter for combined chroma coding is derived based on a quantization parameter corresponding to a quantization parameter of a luminance component within the chroma quantization parameter mapping table; wherein the chroma type having a value of 0 indicates a monochrome format, and the chroma type having a value other than 0 indicates a chroma format other than monochrome. An image decoding method.

2. An image encoding method performed by an encoding device, comprising: deriving residual samples based on a quantization parameter for combined chroma coding; encoding image information including quantization parameter data for combined chroma coding; generating a bitstream including the image information, wherein encoding the image information comprises: determining a chroma type related to the reconstructed image; generating the quantization parameter data for combined chroma coding based on the chroma type having a value other than 0; generating a flag indicating whether quantization parameter data for combined chroma coding exists. encoding image information including the quantization parameter data and the flag, wherein the quantization parameter data includes a syntax element regarding a start quantization parameter of a chroma quantization parameter mapping table and a syntax element regarding a quantization parameter within the chroma quantization parameter mapping table; wherein the chroma quantization parameter mapping table is derived based on the quantization parameter data; wherein the quantization parameter for combined chroma coding is derived based on a quantization parameter corresponding to a quantization parameter of a luminance component within the chroma quantization parameter mapping table; An image encoding method, wherein a chroma type having a value of 0 indicates a monochrome format, and a chroma type having a value other than 0 indicates a chroma format other than monochrome.

3. A method for transmitting image data, comprising: obtaining a bitstream of image information including quantization parameter data for combined chroma coding and a flag; transmitting data including the bitstream of image information including the quantization parameter data and the flag; wherein the flag indicates whether quantization parameter data for combined chroma coding exists; wherein the quantization parameter data includes a syntax element regarding a start quantization parameter of a chroma quantization parameter mapping table and a syntax element regarding a quantization parameter within the chroma quantization parameter mapping table; wherein the chroma quantization parameter mapping table is derived based on the quantization parameter data; wherein the quantization parameter for combined chroma coding is derived based on a quantization parameter corresponding to a quantization parameter of a luminance component within the chroma quantization parameter mapping table; A method for transmitting image data, wherein a chroma type having a value of 0 indicates a monochrome format, and a chroma type having a value other than 0 indicates a chroma format other than monochrome.

Citation Information

Patent Citations

  • Value limiting filter device, video encoding device, and video decoding device

    WO2019065487A1

  • Method and apparatus for signaling of mapping function of chroma quantization parameter

    WO2020216375A1