Decoding device, encoding device, and transmitting device

By deriving a quantization parameter table based on quantization parameter data flags of chroma type, a reconstructed image is generated, which solves the problem of high transmission and storage costs of high-resolution, high-quality images and improves coding efficiency.

CN116828176BActive Publication Date: 2026-07-10LG ELECTRONICS INC

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
LG ELECTRONICS INC
Filing Date
2020-06-11
Publication Date
2026-07-10

Smart Images

  • Figure CN116828176B_ABST
    Figure CN116828176B_ABST
Patent Text Reader

Abstract

Decoding device, encoding device, and transmitting device. An image decoding method performed by a decoding device according to the present document includes the steps of obtaining, based on a chroma type, a flag indicating whether there is quantization parameter data for combined chroma coding; obtaining, based on the flag, quantization parameter data for combined chroma coding; deriving, based on the quantization parameter data, a chroma quantization parameter table; deriving, based on the chroma quantization parameter table, a quantization parameter for combined chroma coding; deriving, based on the quantization parameter, a residual sample; and generating, based on the residual sample, a reconstructed picture.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the original invention patent application No. 202080055923.0 (International Application No.: PCT / KR2020 / 007584, Application Date: June 11, 2020, Invention Title: Image Decoding Method and Device Based on Colorimetric Parameter Data). Technical Field

[0002] This document relates to image coding technology, and more specifically, to an image decoding method and device for encoding image information based on chromaticity component quantization parameter data in an image coding system. Background Technology

[0003] Recently, there has been a growing demand for high-resolution, high-quality images, such as HD (high-definition) and UHD (ultra-high-definition) images, across various fields. Because image data is high-resolution and high-quality, the amount of information or bits to be transmitted increases compared to traditional image data. Therefore, transmission and storage costs increase when using media such as traditional wired / wireless broadband lines to transmit image data or when storing image data using existing storage media.

[0004] Therefore, there is a need for efficient image compression technology to effectively transmit, store, and reproduce information from high-resolution, high-quality images. Summary of the Invention

[0005] Technical issues

[0006] The technical objective of this disclosure is to provide a method and apparatus for improving image coding efficiency.

[0007] Another objective of this document is to provide a method and apparatus for improving the efficiency of data encoding by deriving quantization parameters for chromaticity components.

[0008] Technical solution

[0009] According to embodiments of this document, an image decoding method performed by a decoding device is provided. The method includes the following steps: obtaining a flag indicating the presence of quantization parameter data for combining chroma encoding based on chroma type; obtaining quantization parameter data for combining chroma encoding based on the flag; deriving a chroma quantization parameter table based on the quantization parameter data; deriving quantization parameters for combining chroma encoding based on the chroma quantization parameter table; deriving residual samples based on the quantization parameters; and generating a reconstructed image based on the residual samples.

[0010] According to another embodiment of this document, a decoding apparatus for performing image decoding is provided. The decoding apparatus includes: an entropy decoder configured to obtain, based on chroma type, a flag indicating the presence of quantization parameter data for combining chroma encoding, and based on the flag, obtain quantization parameter data for combining chroma encoding; a residual processor configured to derive a chroma quantization parameter table based on the quantization parameter data, derive quantization parameters for combining chroma encoding based on the chroma quantization parameter table, and derive residual samples based on the quantization parameters; and an adder configured to generate a reconstructed image based on the residual samples.

[0011] According to another embodiment of this document, a video coding method performed by an encoding device is provided. The method includes the following steps: deriving residual samples of chroma components; generating quantization parameter data for combined chroma coding of the residual samples based on the chroma type of the chroma components; generating a flag indicating whether quantization parameter data for combined chroma coding exists; and encoding the quantization parameter data and the flag.

[0012] According to another embodiment of this document, a video encoding apparatus is provided. The encoding apparatus includes: a residual processor configured to derive residual samples of chroma components, generate quantization parameter data for combined chroma coding of the residual samples based on the chroma type of the chroma components, and generate a flag indicating the presence of quantization parameter data for combined chroma coding; and an entropy encoder configured to encode the quantization parameter data and the flag.

[0013] Beneficial effects

[0014] According to this disclosure, a quantization parameter table for quantization parameter derivation can be determined based on a flag indicating whether quantization parameter data for deriving chromaticity components has been sent, and coding efficiency can be improved by performing coding based on quantization parameters according to the characteristics of the image.

[0015] According to this disclosure, a quantization parameter table for chromaticity components can be determined based on chromaticity quantization data notified by a signal, and coding efficiency can be improved by performing coding based on the quantization parameters according to the characteristics of the image. Attached Figure Description

[0016] Figure 1 Examples of video / image encoding apparatuses to which embodiments of the present disclosure may be applied are briefly illustrated.

[0017] Figure 2 This is a schematic diagram illustrating the configuration of a video / image encoding device to which embodiments of the present disclosure can be applied.

[0018] Figure 3This is a schematic diagram illustrating the configuration of a video / image decoding device to which embodiments of the present disclosure can be applied.

[0019] Figure 4 An image encoding method according to the encoding device of this document is illustrated schematically.

[0020] Figure 5 An encoding device for performing an image encoding method according to this document is illustrated schematically.

[0021] Figure 6 An image decoding method according to the decoding device of this document is illustrated schematically.

[0022] Figure 7 A decoding device for performing an image decoding method according to this document is illustrated schematically.

[0023] Figure 8 A structural diagram of a content streaming system applying this disclosure is shown. Detailed Implementation

[0024] This disclosure can be modified in various forms, and specific embodiments thereof will be described and illustrated in the accompanying drawings. However, the embodiments are not intended to limit this disclosure. The terminology used in the following description is for the purpose of describing particular embodiments only and is not intended to limit this disclosure. Singular expressions include plural expressions, provided that they are clearly understood in different ways. Terms such as “comprising” and “having” are intended to indicate the presence of the features, quantities, steps, operations, elements, components, or combinations thereof used in the following description, and therefore it should be understood that the possibility of having or adding one or more different features, quantities, steps, operations, elements, components, or combinations thereof is not excluded.

[0025] Furthermore, the elements in the accompanying drawings described in this disclosure are drawn independently for ease of explanation of different specific functions and do not imply that these elements are specifically implemented by independent hardware or independent software. For example, two or more elements may be combined to form a single element, or a single element may be divided into multiple elements. Embodiments of combining and / or dividing elements are part of this disclosure and do not depart from the concept of this disclosure.

[0026] In the following, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. Furthermore, throughout the drawings, similar reference numerals are used to indicate similar elements, and identical descriptions of similar elements will be omitted.

[0027] Figure 1 Examples of video / image encoding apparatuses to which embodiments of the present disclosure may be applied are briefly illustrated.

[0028] Reference Figure 1A video / image encoding system may include a first device (source device) and a second device (receiving device). The source device may transmit encoded video / image information or data to the receiving device in the form of a file or stream via a digital storage medium or network.

[0029] The source device may include a video source, an encoding device, and a transmitter. The receiving device may include a receiver, a decoding device, and a renderer. The encoding device may be referred to as a video / image encoding device, and the decoding device may be referred to as a video / image decoding device. The transmitter may be included in the encoding device. The receiver may be included in the decoding device. The renderer may include a display, and the display may be configured as a separate device or an external component.

[0030] Video sources can acquire video / images through processes that capture, synthesize, or generate video / images. Video sources may include video / image capture devices and / or video / image generation devices. Video / image capture devices may include, for example, one or more cameras, video / image archives including previously captured video / images, etc. Video / image generation devices may include, for example, computers, tablets, and smartphones, and can generate video / images (electronically). For example, virtual video / images can be generated by computers, etc. In this case, the video / image capture process can be replaced by a process that generates related data.

[0031] Encoding devices can encode input video / images. They can perform a series of processes such as prediction, transformation, and quantization to achieve compression and encoding efficiency. The encoded data (encoded video / image information) can be output as a bitstream.

[0032] A transmitter can send encoded video / image information or data, output as a bitstream, to a receiver in a receiving device in the form of a file or stream via a digital storage medium or network. The digital storage medium can include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. The transmitter can include elements for generating media files according to a predetermined file format and may include elements for transmission via a broadcast / communication network. The receiver can receive / extract the bitstream and send the received bitstream to a decoding device.

[0033] Decoding devices can decode video / images by performing a series of processes, such as dequantization, inverse transform, and prediction, that correspond to the operations of encoding devices.

[0034] The renderer can render decoded video / images. Rendered video / images can then be displayed on a monitor.

[0035] This disclosure relates to video / image coding. For example, the methods / implementations disclosed in this disclosure can be applied to methods disclosed in Multifunctional Video Coding (VVC), EVC (Essential Video Coding) standard, AOMedia Video 1 (AV1) standard, AVS2 (Audio Video Coding 2) standard, or next-generation video / image coding standards (e.g., H.267, or H.268, etc.).

[0036] This disclosure presents various implementations of video / image encoding, and unless otherwise stated, the implementations may be combined with each other.

[0037] In this disclosure, video can refer to a series of images over time. Generally, a frame refers to a unit representing an image within a specific time region, and sub-frames / slices / tiles are units that constitute part of a frame in encoding. Sub-frames / slices / tiles may include one or more coding tree units (CTUs). A frame may consist of one or more sub-frames / slices / tiles. A frame may consist of one or more tile groups. A tile group may include one or more tiles. A brick can represent a rectangular area of ​​a CTU row within a tile in a frame. A tile can be divided into multiple bricks, each brick consisting of one or more CTU rows within the tile. A tile that is not divided into multiple bricks may also be referred to as a brick. Tile scanning is a specific sequential ordering of the CTUs used to segment the frame, wherein CTUs are sequentially ordered by CTU raster scan within a tile, bricks within a tile are sequentially ordered by raster scan of the tiles of a tile, and tiles in a frame are sequentially ordered by raster scan of the tiles of a frame. Additionally, a sub-picture can represent a rectangular area of ​​one or more slices within a picture. That is, a sub-picture contains one or more slices that collectively cover a rectangular area of ​​the picture. A tile is a rectangular area of ​​a CTU within a specific tile column and a specific tile row in the picture. A tile column is a rectangular area of ​​a CTU whose height is equal to the height of the picture and whose width is specified by a syntax element in the picture parameter set. A tile row is a rectangular area of ​​a CTU whose height is specified by a syntax element in the picture parameter set and whose width is equal to the width of the picture. A tile scan is a specific sequential ordering of CTUs that divide the picture, wherein CTUs can be ordered consecutively by CTU raster scan within a tile, and tiles in the picture can be ordered consecutively by raster scan of the picture's tiles. A slice comprises an integer number of tiles in the picture that can be exclusively contained in a single NAL unit. A slice can consist of multiple complete tiles or only a consecutive sequence of complete tiles of a single tile. In this disclosure, tile groups and slices can be used interchangeably. For example, in this disclosure, a tile group / tile group header may be referred to as a slice / slice header.

[0038] A pixel, or pelin, can represent the smallest unit that makes up a picture (or image). Additionally, "sample" can be used as the term corresponding to a pixel. A sample can typically represent a pixel or a pixel value, and can represent only the pixel / pixel value of the luminance component or only the pixel / pixel value of the chrominance component.

[0039] A unit can represent the basic unit of image processing. A unit may include a specific region of the image and at least one of the information associated with that region. A unit may include a luminance block and two chrominance (e.g., cb, cr) blocks. In some cases, the term "unit" may be used interchangeably with terms such as "block" or "region". In general, an M×N block may include a set (or array) of samples (or sample arrays) or transform coefficients in M ​​columns and N rows.

[0040] In this specification, “A or B” can mean “A only”, “B only”, or “A and B”. In other words, in this specification, “A or B” can be interpreted as “A and / or B”. For example, “A, B or C” in this document means “A only”, “B only”, “C only”, or “any one and any combination of A, B and C”.

[0041] The forward slash ( / ) or comma used in this specification can mean "and / or". For example, "A / B" can mean "A and / or B". Therefore, "A / B" can mean "A only", "B only", or "A and B". For example, "A,B,C" can mean "A, B, or C".

[0042] In this specification, "at least one of A and B" can mean "A only", "B only" or "both A and B". Furthermore, in this specification, the expression "at least one of A or B" or "at least one of A and / or B" can be interpreted as the same as "at least one of A and B".

[0043] Additionally, in this specification, "at least one of A, B, and C" means "A only", "B only", "C only" or "any combination of A, B, and C". Furthermore, "at least one of A, B, or C" or "at least one of A, B, and / or C" can mean "at least one of A, B, and C".

[0044] Furthermore, the parentheses used in this specification may refer to "for example". Specifically, when "prediction (intra-frame prediction)" is indicated, "intra-frame prediction" may be given as an example of "prediction". In other words, "prediction" in this specification is not limited to "intra-frame prediction", and "intra-frame prediction" may be given as an example of "prediction". Moreover, even when "prediction (i.e., intra-frame prediction)" is indicated, "intra-frame prediction" may be given as an example of "prediction".

[0045] In this specification, the technical features described individually in a single figure may be implemented individually or simultaneously.

[0046] The following figures were created to illustrate specific examples of this specification. Since the names of specific devices or signals / messages / fields described in the figures are presented by way of example, the technical features of this specification are not limited to the specific names used in the following figures.

[0047] Figure 2 This is a schematic diagram illustrating the configuration of a video / image encoding apparatus to which embodiments of the present disclosure may be applied. In the following, the video encoding apparatus may include an image encoding apparatus.

[0048] Reference Figure 2 The encoding device 200 includes an image segmenter 210, a predictor 220, a residual processor 230, an entropy encoder 240, an adder 250, a filter 260, and a memory 270. The predictor 220 may include an inter-frame predictor 221 and an intra-frame predictor 222. The residual processor 230 may include a transformer 232, a quantizer 233, a dequantizer 234, and an inverse transformer 235. The residual processor 230 may also include a subtractor 231. The adder 250 may be referred to as a reconstructor or a reconstruction block generator. According to embodiments, the image segmenter 210, predictor 220, residual processor 230, entropy encoder 240, adder 250, and filter 260 may be constituted by at least one hardware component (e.g., an encoder chipset or a processor). Additionally, the memory 270 may include a decoded frame buffer (DPB) or may be constituted by a digital storage medium. The hardware component may also include the memory 270 as an internal / external component.

[0049] Image segmenter 210 can segment an input image (or picture or frame) input to encoding device 200 into one or more processors. For example, a processor may be referred to as a coding unit (CU). In this case, coding units can be recursively segmented from coding tree units (CTUs) or maximum coding units (LCUs) according to a quadtree-binary-trinary tree (QTBTTT) structure. For example, a coding unit can be segmented into multiple deeper coding units based on a quadtree structure, a binary tree structure, and / or a ternary structure. In this case, for example, a quadtree structure can be applied first, followed by a binary tree structure and / or a ternary structure. Alternatively, a binary tree structure can be applied first. The encoding process according to this disclosure can be performed based on the final coding unit that is no longer segmented. In this case, the maximum coding unit can be used as the final coding unit based on encoding efficiency according to image characteristics, or, if necessary, the coding unit can be recursively segmented into deeper coding units, and the coding unit with the optimal size can be used as the final coding unit. Here, the encoding process may include prediction, transformation, and reconstruction processes, which will be described later. As another example, the processor may also include a prediction unit (PU) or a transform unit (TU). In this case, the prediction unit and the transform unit can be separated or divided from the final encoding unit described above. The prediction unit may be a unit for predicting samples, and the transform unit may be a unit for deriving transform coefficients and / or a unit for deriving residual signals from transform coefficients.

[0050] In some cases, a unit can be used interchangeably with terms such as a block or region. Generally, an M×N block can represent a set of samples or transform coefficients consisting of M columns and N rows. A sample can typically represent a pixel or pixel value, and can represent only the pixel / pixel value of the luminance component, or only the pixel / pixel value of the chrominance component. A sample can be used as a term corresponding to a frame (or image) of pixels or cells.

[0051] In encoding device 200, a prediction signal (prediction block, prediction sample array) output from inter-frame predictor 221 or intra-frame predictor 222 is subtracted 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 sent to converter 232. In this case, as shown, the unit in encoding device 200 used to subtract the prediction signal (prediction block, prediction sample array) from the input image signal (original block, original sample array) can be called subtractor 231. The predictor can perform prediction on the block to be processed (hereinafter referred to as the current block) and generate a prediction block including the prediction samples of the current block. The predictor can determine whether to apply intra-frame prediction or inter-frame prediction on a unit of the current block or CU. As described later in the description of each prediction mode, the predictor can generate various information related to the prediction (such as prediction mode information) and send the generated information to entropy encoder 240. The information about the prediction can be encoded in entropy encoder 240 and output as a bitstream.

[0052] Intra-predictor 222 can predict the current block by referencing samples in the current frame. Depending on the prediction mode, the referenced samples may be located near or far from the current block. In intra-prediction, the prediction mode can include multiple non-directional modes and multiple directional modes. Non-directional modes can include, for example, DC mode and planar mode. Depending on the level of detail in the prediction direction, the directional modes can include, for example, 33 or 65 directional prediction modes. However, this is just an example, and more or fewer directional prediction modes may be used depending on the settings. Intra-predictor 222 can determine the prediction mode to be applied to the current block by using the prediction modes applied to neighboring blocks.

[0053] Inter-frame predictor 221 can deduce the predicted block of the current block based on a reference block (reference sample array) specified by motion vectors on a reference frame. Here, to reduce the amount of motion information transmitted in inter-frame prediction mode, motion information can be predicted on a block, sub-block, or sample basis based on the correlation between motion information between neighboring blocks and the current block. Motion information may include motion vectors and reference frame indices. Motion information may also include inter-frame prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.) information. In the case of inter-frame prediction, neighboring blocks may include spatially adjacent blocks existing in the current frame and temporally adjacent blocks existing in the reference frame. The reference frame including the reference block and the reference frame including the temporally adjacent block may be the same or different. The temporally adjacent block may be called a co-located reference block, a co-located CU (colCU), etc., and the reference frame including the temporally adjacent block may be called a co-located frame (colPic). For example, inter-frame predictor 221 can configure a motion information candidate list based on neighboring blocks and generate information indicating which candidate to use to deduce the motion vector and / or reference frame index of the current block. Inter-frame prediction can be performed based on various prediction modes. For example, in skip mode and merge mode, the inter-frame predictor 221 can use motion information from neighboring blocks as motion information for the current block. In skip mode, unlike merge mode, residual signals may not be transmitted. In motion vector prediction (MVP) mode, motion vectors from neighboring blocks can be used as motion vector predictors, and the motion vector of the current block can be indicated by signaling the motion vector difference.

[0054] Predictor 220 can generate a prediction signal based on various prediction methods described below. For example, the predictor can not only apply intra-frame prediction or inter-frame prediction to predict a block, but can also apply both intra-frame prediction and inter-frame prediction simultaneously. This can be referred to as Inter-intra-frame Combined Prediction (CIIP). Alternatively, the predictor can predict blocks based on an Intra-Block Copy (IBC) prediction mode or a palette mode. IBC prediction mode or palette mode can be used for content image / video coding such as games, for example, Screen Content Coding (SCC). IBC essentially performs prediction within the current frame, but can be performed similarly to inter-frame prediction because the reference block is derived within the current frame. That is, IBC can use at least one of the inter-frame prediction techniques described in this disclosure. Palette mode can be considered as an example of intra-frame coding or intra-frame prediction. When applying palette mode, sample values ​​within the frame can be signaled based on information about the palette table and palette index.

[0055] The predicted signal generated by the predictor (including inter-frame predictor 221 and / or intra-frame predictor 222) can be used to generate a reconstructed signal or a residual signal. Transformer 232 can generate transform coefficients by applying transform techniques to the residual signal. For example, the transform technique can include at least one of Discrete Cosine Transform (DCT), Discrete Sine Transform (DST), Karhunen-Loève Transform (KLT), Graph-Based Transform (GBT), or Conditional Nonlinear Transform (CNT). Here, GBT refers to a transform obtained from a graph when the relationship information between pixels is represented by a graph. CNT refers to a transform generated based on the predicted signal generated using all previously reconstructed pixels. Furthermore, the transform processing can be applied to square pixel blocks of the same size, or it can be applied to blocks of variable size that are not square.

[0056] Quantizer 233 quantizes the transform coefficients and sends them to entropy encoder 240, which encodes the quantized signal (information about the quantized transform coefficients) and outputs a bitstream. This information about the quantized transform coefficients can be called residual information. Quantizer 233 can rearrange the block-type quantized transform coefficients into a one-dimensional vector form based on the coefficient scan order and generate information about the quantized transform coefficients based on this one-dimensional vector form. Entropy encoder 240 can perform various encoding methods, such as Golomb, Context Adaptive Variable Length Coding (CAVLC), and Context Adaptive Binary Arithmetic Coding (CABAC). Entropy encoder 240 can encode information required for video / image reconstruction other than the quantized transform coefficients (e.g., values ​​of syntax elements) together or separately. Encoded information (e.g., encoded video / image information) can be sent or stored in units of NAL (Network Abstraction Layer) in the form of a bitstream. The video / image information may also include information about various parameter sets such as Adaptive Parameter Set (APS), Picture Parameter Set (PPS), Sequence Parameter Set (SPS), or Video Parameter Set (VPS). Additionally, the video / image information may also include general constraint information. In this disclosure, information and / or syntax elements transmitted / signed from the encoding device to the decoding device can be included in the video / picture information. The video / image information can be encoded by the encoding process described above and included in a bitstream. The bitstream can be transmitted over a network or stored in a digital storage medium. The network may include broadcast networks and / or communication networks, and the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. A transmitter (not shown) that transmits a signal output from the entropy encoder 240 and / or a storage unit (not shown) that stores the signal may be included as internal / external components of the encoding device 200; alternatively, the transmitter may be included in the entropy encoder 240.

[0057] The quantized transform coefficients output from quantizer 233 can be used to generate a prediction signal. For example, the residual signal (residual block or residual sample) can be reconstructed by applying dequantization and inverse transform to the quantized transform coefficients using dequantizer 234 and inverse transformer 235. Adder 250 adds the reconstructed residual signal to the prediction signal output from inter-frame predictor 221 or intra-frame predictor 222 to generate a reconstructed signal (reconstructed frame, reconstructed block, reconstructed sample array). If the block to be processed has no residual (such as when a skip mode is applied), the prediction block can be used as a reconstructed block. Adder 250 can be called a reconstructor or reconstructed block generator. The generated reconstructed signal can be used for intra-frame prediction of the next block to be processed in the current frame, and can be used for inter-frame prediction of the next frame by filtering as described below.

[0058] In addition, Luminance Mapping and Chroma Scaling (LMCS) can be applied during image encoding and / or reconstruction.

[0059] Filter 260 can improve subjective / objective image quality by applying filtering to the reconstructed signal. For example, filter 260 can generate a modified reconstructed image by applying various filtering methods to the reconstructed image and store the modified reconstructed image in memory 270 (specifically, the DPB of memory 270). Various filtering methods may include, for example, deblocking filtering, sample adaptive offset, adaptive loop filtering, bilateral filtering, etc. Filter 260 can generate various filtering-related information and send the generated information to entropy encoder 240, as described later in the description of various filtering methods. The filtering-related information can be encoded by entropy encoder 240 and output as a bitstream.

[0060] The modified reconstructed frame sent to memory 270 can be used as a reference frame in inter-frame predictor 221. When inter-frame prediction is applied via the encoding device, prediction mismatch between the encoding device 200 and the decoding device can be avoided, and encoding efficiency can be improved.

[0061] The DPB of memory 270 can store a modified reconstructed frame that serves as a reference frame in inter-frame predictor 221. Memory 270 can store motion information of blocks from which motion information in the current frame is derived (or encoded) and / or motion information of reconstructed blocks in the frame. The stored motion information can be sent to inter-frame predictor 221 and used as motion information for spatially adjacent blocks or temporally adjacent blocks. Memory 270 can store reconstructed samples of reconstructed blocks in the current frame and can transmit these reconstructed samples to intra-frame predictor 222.

[0062] Figure 3 This is a schematic diagram illustrating the configuration of a video / image decoding device to which embodiments of the present disclosure can be applied.

[0063] Reference Figure 3 The decoding device 300 may include an entropy decoder 310, a residual processor 320, a predictor 330, an adder 340, a filter 350, and a memory 360. The predictor 330 may include an inter-frame predictor 332 and an intra-frame predictor 331. The residual processor 320 may include a dequantizer 321 and an inverse transformer 322. According to embodiments, the entropy decoder 310, residual processor 320, predictor 330, adder 340, and filter 350 may be constructed from hardware components (e.g., a decoder chipset or processor). Additionally, the memory 360 may include a decoded picture buffer (DPB) or may be constructed from a digital storage medium. The hardware components may also include the memory 360 as an internal / external component.

[0064] When the input includes a bitstream containing video / image information, the decoding device 300 can interact with... Figure 2 The processing of video / image information in the encoding device correspondingly reconstructs the image. For example, the decoding device 300 can deduce units / blocks based on block segmentation information obtained from the bitstream. The decoding device 300 can use a processor applied in the encoding device to perform decoding. Therefore, the decoding processor can be, for example, an encoding unit, and the encoding unit can be segmented from the encoding tree unit or the maximum encoding unit according to a quadtree structure, binary tree structure, and / or ternary tree structure. One or more transform units can be derived from the encoding unit. The reconstructed image signal decoded and output by the decoding device 300 can be reproduced by a reproduction device.

[0065] Decoding device 300 can receive data in bitstream form from... Figure 2The signal output by the encoding device can be decoded by the entropy decoder 310. For example, the entropy decoder 310 can parse the bitstream to derive information (e.g., video / image information) required for image reconstruction (or picture reconstruction). The video / image information may also include information about various parameter sets such as Adaptive Parameter Set (APS), Picture Parameter Set (PPS), Sequence Parameter Set (SPS), or Video Parameter Set (VPS). In addition, the video / image information may also include general constraint information. The decoding device can also decode the picture based on the information about the parameter sets and / or general constraint information. The signaled / received information and / or syntax elements described later in this disclosure can be decoded and obtained from the bitstream through the decoding process. For example, the entropy decoder 310 decodes the information in the bitstream based on encoding methods such as Exponential Golomb coding, CAVLC, or CABAC, and outputs the quantized values ​​of the syntax elements and transform coefficients of the residuals required for image reconstruction. More specifically, the CABAC entropy decoding method can receive a bin corresponding to each syntax element in the bitstream, determine the context model using information about the target syntax element, decoding information about the target block, or information about symbols / bins decoded in previous stages, and perform arithmetic decoding on the bin by predicting the occurrence probability of the bin based on the determined context model, generating symbols corresponding to the value of each syntax element. In this case, 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. The prediction-related information in the information decoded by the entropy decoder 310 can be provided to the predictors (inter-frame predictor 332 and intra-frame predictor 331), and the residual values ​​(i.e., quantization transform coefficients and related parameter information) from which entropy decoding has been performed in the entropy decoder 310 can be input to the residual processor 320. The residual processor 320 can derive the residual signals (residual blocks, residual samples, residual sample arrays). Additionally, the filtering information in the information decoded by the entropy decoder 310 can be provided to the filter 350. Furthermore, the receiver (not shown) for receiving the signal output from the encoding device can be further configured as an internal / external element of the decoding device 300, or the receiver can be a component of the entropy decoder 310. Additionally, the decoding device according to this disclosure can be referred to as a video / image / picture decoding device, and the decoding device can be classified as an information decoder (video / image / picture information decoder) and a sample decoder (video / image / picture sample decoder). The information decoder may include the entropy decoder 310, and the sample decoder may include at least one of a dequantizer 321, an inverse transformer 322, an adder 340, a filter 350, a memory 360, an inter-frame predictor 332, and an intra-frame predictor 331.

[0066] Dequantizer 321 can dequantize the quantized transform coefficients and output the transform coefficients. Dequantizer 321 can rearrange the quantized transform coefficients in the form of two-dimensional blocks. In this case, the rearrangement can be performed based on the coefficient scan order performed in the encoding device. Dequantizer 321 can perform dequantization on the quantized transform coefficients using quantization parameters (e.g., quantization step size information) and obtain the transform coefficients.

[0067] The inverse transformer 322 performs an inverse transformation on the transformation coefficients to obtain the residual signal (residual block, residual sample array).

[0068] The predictor can perform prediction on the current block and generate a prediction block that includes the prediction samples of the current block. The predictor can determine whether to apply intra-frame prediction or inter-frame prediction to the current block based on the prediction information output from the entropy decoder 310, and can determine the specific intra-frame / inter-frame prediction mode.

[0069] Predictor 330 can generate a prediction signal based on various prediction methods described below. For example, the predictor can not only apply intra-frame prediction or inter-frame prediction to predict a block, but can also apply intra-frame prediction and inter-frame prediction simultaneously. This can be referred to as Inter-Frame Intra-Frame Combined Prediction (CIIP). Alternatively, the predictor can predict blocks based on an Intra-Frame Block Copy (IBC) prediction mode or a palette mode. The IBC prediction mode or palette mode can be used for content image / video coding such as games, for example, Screen Content Coding (SCC). IBC essentially performs prediction in the current frame, but can be performed similarly to inter-frame prediction because a reference block is derived in the current frame. That is, IBC can use at least one of the inter-frame prediction techniques described in this disclosure. The palette mode can be considered as an example of intra-frame coding or intra-frame prediction. When applying a palette mode, sample values ​​within the frame can be signaled based on information about the palette table and palette index.

[0070] Intra-predictor 331 can predict the current block by referencing samples in the current frame. Depending on the prediction mode, the referenced samples may be located near or far from the current block. In intra-prediction, the prediction mode can include multiple non-directional modes and multiple directional modes. Intra-predictor 331 can determine the prediction mode applied to the current block by using prediction modes applied to neighboring blocks.

[0071] Inter-frame predictor 332 can deduce the prediction block of the current block based on reference blocks (reference sample arrays) specified by motion vectors on a reference frame. In this case, to reduce the amount of motion information transmitted in the inter-frame prediction mode, motion information can be predicted on a block, sub-block, or sample basis based on the correlation of motion information between neighboring blocks and the current block. Motion information may include motion vectors and reference frame indices. Motion information may also include inter-frame prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.) information. In the case of inter-frame prediction, neighboring blocks may include spatially adjacent blocks existing in the current frame and temporally adjacent blocks existing in the reference frame. For example, inter-frame predictor 332 can configure a motion information candidate list based on neighboring blocks and deduce the motion vector and / or reference frame index of the current block based on received candidate selection information. Inter-frame prediction can be performed based on various prediction modes, and the information about the prediction may include information indicating the mode of inter-frame prediction for the current block.

[0072] Adder 340 can generate a reconstruction signal (reconstructed frame, reconstruction block, reconstruction sample array) by adding the obtained residual signal to the prediction signal (prediction block, prediction sample array) output from the predictor (including inter-frame predictor 332 and / or intra-frame predictor 331). If the block to be processed has no residual (e.g., when a skip mode is applied), the prediction block can be used as the reconstruction block.

[0073] Adder 340 can be called a reconstructor or reconstruction block generator. The generated reconstructed signal can be used for intra-frame prediction of the next block to be processed in the current frame, and can be filtered and output as described below, or it can be used for inter-frame prediction of the next frame.

[0074] In addition, Luminance Mapping and Chromaticity Scaling (LMCS) can be applied during the image decoding process.

[0075] Filter 350 can improve subjective / objective image quality by applying filtering to the reconstructed signal. For example, filter 350 can generate a modified reconstructed image by applying various filtering methods to the reconstructed image and store the modified reconstructed image in memory 360 (specifically, the DPB of memory 360). Various filtering methods may include, for example, deblocking filtering, sample adaptive shifting, adaptive loop filtering, bilateral filtering, etc.

[0076] The (modified) reconstructed frame stored in the DPB of memory 360 can be used as a reference frame in inter-frame predictor 332. Memory 360 can store motion information of blocks from which motion information in the current frame is derived (or decoded) and / or motion information of reconstructed blocks in the frame. The stored motion information can be sent to inter-frame predictor 332 for use as motion information of spatially adjacent blocks or temporally adjacent blocks. Memory 360 can store reconstructed samples of reconstructed blocks in the current frame and can transmit the reconstructed samples to intra-frame predictor 331.

[0077] In this disclosure, the embodiments described in the filter 260, inter-frame predictor 221, and intra-frame predictor 222 of the encoding device 200 can be the same as, or applied to, the filter 350, inter-frame predictor 332, and intra-frame predictor 331 of the decoding device 300, respectively. The same content can also be applied to the inter-frame predictor 332 and intra-frame predictor 331.

[0078] In this disclosure, at least one of quantization / inverse quantization and / or transformation / inverse transformation may be omitted. When quantization / inverse quantization is omitted, the transformation coefficients of the quantization may be referred to as transformation coefficients. When transformation / inverse transformation is omitted, the transformation coefficients may be referred to as coefficients or residual coefficients, or for the sake of consistency, they may still be referred to as transformation coefficients.

[0079] In this disclosure, quantization transform coefficients and transform coefficients can be referred to as transform coefficients and scaling transform coefficients, respectively. In this case, residual information can include information about the transform coefficients, and this information can be signaled using residual coding syntax. Transform coefficients can be derived based on residual information (or information about the transform coefficients), and scaling transform coefficients can be derived by inverse transforming (scaling) the transform coefficients. Residual samples can be derived based on the inverse transform (scaling) of the scaling transform coefficients. This can also be applied / expressed in other parts of this disclosure.

[0080] Furthermore, as mentioned above, the quantizer of the encoding device can derive the quantized transform coefficients by applying quantization to the transform coefficients. Similarly, the dequantizer of the encoding device or the dequantizer of the decoding device can derive the transform coefficients by applying dequantization to the quantized transform coefficients.

[0081] In video / image coding, the quantization ratio can typically be changed, and the compression ratio can be adjusted using the changed quantization ratio. In terms of implementation, considering complexity, quantization parameters (QPs) can be used instead of directly using the quantization ratio. For example, quantization parameters with integer values ​​from 0 to 63 can be used, and each quantization parameter value can correspond to the actual quantization ratio. Furthermore, for example, the quantization parameter QP for the luma component...Y Quantization parameter QP of chromaticity components C Different configurations are possible.

[0082] During quantization, the transform coefficient C can be an input, and the quantization ratio (Q) can be an input. step The quantization ratio (QP) can be divided, and the quantized transform coefficients C' can be obtained based on the quantization ratio. In this case, the quantization ratio can be generated in integer form by multiplying the quantization ratio by the scale, taking into account computational complexity, and a shift operation can be performed using the value corresponding to the scale value. The quantization scale can be derived based on the product of the quantization ratio and the scale value. That is, the quantization scale can be derived based on QP. For example, the quantization scale can be applied to the transform coefficients C', and the quantized transform coefficients C' can be derived based on the result of the application.

[0083] Dequantization is the inverse process of quantization. In this process, the quantization transformation coefficients C' can be related to the quantization ratio (Q). step The transform coefficients C'' are multiplied, and the reconstructed transform coefficients C'' can be derived from the result of the multiplication. In this case, the level scale can be derived based on the quantization parameters, and the level scale can be applied to the quantized transform coefficients C'', thus deriving the reconstructed transform coefficients C''. Due to losses during the transform and / or quantization process, the reconstructed transform coefficients C'' may differ somewhat from the first transform coefficients C. Therefore, dequantization is performed in the encoding device as in the decoding device.

[0084] Furthermore, adaptive frequency-weighted quantization (IFQ) can be applied to adjust the quantization intensity based on frequency. IFQ is a method that applies different quantization intensities to different frequencies. In IFQ, a predefined quantization scaling matrix can be used to apply different quantization intensities to each frequency. That is, the quantization / dequantization process described above can be performed based on the quantization scaling matrix. For example, to generate the size of the current block and / or the residual signal of the current block, different quantization scaling matrices can be used depending on whether the prediction mode applied to the current block is inter-frame prediction or intra-frame prediction. The quantization scaling matrix can be referred to as the quantization matrix or the scaling matrix. The quantization scaling matrix can be predefined. Furthermore, for frequency-adaptive scaling, the quantization scaling information for each frequency of the quantization scaling matrix can be constructed / encoded in the encoding device and signaled to the decoding device. The quantization scaling information for each frequency can be referred to as quantization scaling information. The quantization scaling information for each frequency can include scaling list data. The (modified) quantization scaling matrix can be derived based on the scaling list data. Additionally, the quantization scaling information for each frequency can include presence flags indicating the presence of scaling list data. Alternatively, if the scaling list data is signaled at a higher level (e.g., SPS), information indicating whether the scaling list data is modified at a lower level (e.g., PPS or tile group header, etc.) of the higher level may also be included.

[0085] As mentioned above, quantization / dequantization can be applied to the luminance and chrominance components based on quantization parameters.

[0086] The quantization parameters of the coding unit can be determined based on information communicated by signals at the frame and / or slice level. For example, the quantization parameters can be derived as described later.

[0087] For example, information related to the derivation of quantization parameters can be signaled using a sequence parameter set (SPS) as shown in the table below.

[0088] [Table 1]

[0089]

[0090] The semantics of the syntactic elements in Table 1 can be the same as those in the table below.

[0091] [Table 2]

[0092]

[0093] For example, the syntax element bit_depth_luma_minus8 can represent BitDepth. Y (i.e., the bit depth of the samples in the brightness array) and QpBdOffset Y(That is, the range offset of the luminance quantization parameter). For example, BitDepth can be derived based on the syntax element bit_depth_luma_minus8. Y and QpBdOffset Y For example, BitDepth Y It can be deduced that the value is obtained by adding 8 to the value of the syntax element bit_depth_luma_minus8. QpBdOffset Y It can be deduced as the value obtained by multiplying the value of the syntax element bit_depth_luma_minus8 by 6. Furthermore, bit_depth_luma_minus8 can be in the range of 0 to 8.

[0094] Furthermore, for example, the syntax element bit_depth_chroma_minus8 can represent BitDepth. c (i.e., the bit depth of the chroma array samples) and QpBdOffset c (That is, the offset of the chroma quantization parameter range). For example, BitDepth can be derived based on the syntax element bit_depth_chroma_minus8. c and QpBdOffset c For example, BitDepth c It can be deduced that this value is obtained by adding 8 to the value of the syntax element bit_depth_chroma_minus8. QpBdOffset c It can be deduced as the value obtained by multiplying the value of the syntax element bit_depth_chroma_minus8 by 6. Furthermore, bit_depth_chroma_minus8 can be in the range of 0 to 8.

[0095] Furthermore, information related to the derivation of quantization parameters can be signaled, for example, through the Picture Parameter Set (PPS) as shown in the table below. This information may include chroma Cb offset, chroma Cr offset, joint chroma offset, and initial quantization parameters. That is, this information may include syntax elements for chroma Cb offset, chroma Cr offset, joint chroma offset, and initial quantization parameters.

[0096] [Table 3]

[0097]

[0098] The semantics of the syntactic elements in Table 3 can be the same as those in the table below.

[0099] [Table 4]

[0100]

[0101]

[0102] For example, the value obtained by adding 26 to the syntax element init_qp_minus26 can represent the SliceQp of each slice of the reference PPS. Y The initial value of `slice_qp_delta`. If a non-zero value of `slice_qp_delta` is decoded, the initial value of `SliceQpY` can be modified in the slice layer. `init_qp_minus26 0` can be used in -(26+QpBdOffset) Y The range is from +37 to +37.

[0103] Furthermore, for example, the syntax elements pps_cb_qp_offset and pps_cr_qp_offset can respectively represent the elements used to derive Qp′. Cb and Qp′ Cr Brightness quantization parameter Qp' Y The offsets are pps_cb_qp_offset and pps_cr_qp_offset, which can be in the range of -12 to +12. Furthermore, when ChromaArrayType is 0, pps_cb_qp_offset and pps_cr_qp_offset can be omitted during decoding, and the decoding device can ignore the values ​​of syntax elements.

[0104] Furthermore, for example, the syntax element pps_joint_cbcr_qp_offset can represent the derivation of Qp′. CbCr Brightness quantization parameter Qp' Y The offset. pps_joint_cbcr_qp_offset can be in the range of -12 to +12. Furthermore, when ChromaArrayType is 0, pps_joint_cbcr_qp_offset can be omitted during decoding, and the decoding device can ignore the values ​​of syntax elements.

[0105] Furthermore, for example, the syntax element `pps_slice_chroma_qp_offsets_present_flag` can indicate whether the syntax elements `slice_cb_qp_offset` and `slice_cr_qp_offset` exist in the slice header associated with the syntax elements `slice_cb_qp_offset` and `slice_cr_qp_offset`. For instance, a value of 1 for `pps_slice_chroma_qp_offsets_present_flag` indicates that the syntax elements `slice_cb_qp_offset` and `slice_cr_qp_offset` exist in the slice header associated with the syntax elements `slice_cb_qp_offset` and `slice_cr_qp_offset`. Furthermore, for example, a value of 0 for pps_slice_chroma_qp_offsets_present_flag can indicate that the syntax elements slice_cb_qp_offset and slice_cr_qp_offset do not exist in the slice header associated with them. Additionally, when ChromaArrayType is 0, pps_slice_chroma_qp_offsets_present_flag can be the same as 0 during decoding.

[0106] As mentioned above, the syntax elements parsed in PPS can be init_qp_minus26, pps_cb_qp_offset_pps_cr_qp_offset, pps_joint_cbcr_qp_offset, and pps_slice_chroma_qp_offsets_present_flag. The syntax element init_qp_minus26 can represent the SliceQp that references each slice of PPS. Y The initial value. Furthermore, the syntax elements pps_cb_qp_offset, pps_cr_qp_offset, and pps_joint_cbcr_qp_offset can represent the luminance quantization parameter Qp'. Y The offset. Additionally, the syntax element pps_slice_chroma_qp_offsets_present_flag can indicate whether an offset parameter exists in the slice header.

[0107] In addition, for example, information related to the derivation of quantization parameters can be signaled through the slice header as shown in the table below.

[0108] [Table 5]

[0109]

[0110] The semantics of the syntactic elements in Table 5 can be the same as those in the table below.

[0111] [Table 6]

[0112]

[0113]

[0114] For example, slice_qp_delta can represent the Qp to be used in the coded blocks within a slice. Y The initial value is maintained until it is modified by the value of CuQpDeltaVal in the coding unit layer. For example, the Qp of the slice. Y The initial value of SliceQp Y This can be deduced as 26 + init_qp_minus26 + slice_qp_delta. SliceQp Y The value can be found in -QpBdOffset Y Within the range of +63.

[0115] Furthermore, for example, slice_cb_qp_offset can represent the value when the quantization parameter Qp' is determined. Cb The value of slice_cb_qp_offset is the difference between the slice_offset and the value of pps_cb_qp_offset. The value of slice_cb_qp_offset can be in the range of -12 to +12. Furthermore, for example, if slice_cb_qp_offset does not exist, then slice_cb_qp_offset can be inferred to be 0. The value of pps_cb_qp_offset + slice_cb_qp_offset can be in the range of 12 to +12.

[0116] Furthermore, for example, slice_cr_qp_offset can represent the value when the quantization parameter Qp' is determined. Cr The value of slice_cr_qp_offset is the difference between the slice_offset and the value of pps_cr_qp_offset. The value of slice_cr_qp_offset can be in the range of -12 to +12. Furthermore, for example, if slice_cr_qp_offset does not exist, then slice_cr_qp_offset can be inferred to be 0. The value of pps_cr_qp_offset + slice_cr_qp_offset can be in the range of 12 to +12.

[0117] Furthermore, for example, slice_cbcr_qp_offset can represent the value when the quantization parameter Qp' is determined.CbCr The value of slice_cbcr_qp_offset is the difference between the slice_offset and the value of pps_cbcr_qp_offset. The value of slice_cbcr_qp_offset can be in the range of -12 to +12. Furthermore, for example, if slice_cbcr_qp_offset does not exist, then slice_cbcr_qp_offset can be inferred to be 0. The value of pps_cbcr_qp_offset + slice_cbcr_qp_offset can be in the range of 12 to +12.

[0118] The derivation of the luminance quantization and chrominance quantization parameters can begin with the fact that the inputs to the process are the luminance position, parameters specifying the width and height of the current coding block, and parameters specifying whether it is a single-tree or dual-tree system. Furthermore, as described above, the luminance quantization parameter, chrominance quantization parameter, and joint chrominance quantization parameter can be represented as Qp′. Y Qp′ Cb Qp′ Cr and Qp′ CbCr .

[0119] Furthermore, for example, the syntax element cu_qp_delta_sign_flag representing the symbol of CuQpDeltaVal can be resolved. For instance, cu_qp_delta_sign_flag can represent the symbol of CuQpDeltaVal as follows.

[0120] For example, when cu_qp_delta_sign_flag is 0, the CuQpDeltaVal corresponding to cu_qp_delta_sign_flag can have a positive value. Alternatively, for example, when cu_qp_delta_sign_flag is 1, the CuQpDeltaVal corresponding to cu_qp_delta_sign_flag can have a negative value. Furthermore, if cu_qp_delta_sign_flag does not exist, then cu_qp_delta_sign_flag can be inferred to be 0.

[0121] Furthermore, for example, if cu_qp_delta_abs exists, the parameter IsCuQpDeltaCoded can be deduced to be 1. The parameter CuQpDeltaVal can be deduced as cu_qp_delta_abs * (1 - 2 * cu_qp_delta_sign_flag). CuQpDeltaVal can be in the range of -(32 + QpBdOffsetY / 2) to +(31 + QpBdOffsetY / 2).

[0122] Subsequently, for example, the brightness quantization parameter Qp′Y It can be derived from the following formula.

[0123] [Formula 1]

[0124] Qp Y =((qP) Y_PRED +CuQpDeltaVal+64+2*QpBdOffset Y )%(64+QpBdOffset Y ))QpBdOffset Y

[0125] In addition, if ChromaArrayType is not 0 and treeType is SINGLE_TREE or DUAL_TREE_CHROMA, the following can be applied.

[0126] - When treeType equals DUAL_TREE_CHROMA, parameter Qp Y The luminance quantization parameter Qp can be used with the luminance coding unit, which includes the luminance position (xCb+cbWidth / 2, yCb+cbHeight / 2). Y Set the same way.

[0127] -Parameter qP Cb qP Cr and qP CbCr The following derivation can be made.

[0128] [Equation 2]

[0129] qPi Cb =Clip3(-QpBdOffset) C 69, Qp Y +pps_cb_qp_offset+slice_cb_qp_offset)

[0130] qPi Cr =Clip3(-QpBdOffset) C 69, Qp Y +pps_cr_qp_offset+slice_cr_qp_offset)

[0131] qPi CbCr =Clip3(-QpBdOffsct C 69, Qp Y +pps_joint_cbcr_qp_offsct+slice_joint_cbcr_qp_offset)

[0132] For example, when ChromaArrayType is 1, the parameter qP Cb qP Cr and qP CbCr It can be based on qPi respectively Cb qPi Cr and qPi CbCr The same index qPi is set in the same way as the QpC value specified in Table 7.

[0133] [Table 7]

[0134] qpi <30 30 31 32 33 34 35 36 37 38 39 40 41 42 43 >43 <![CDATA[Qp C ]]> =qPi 29 30 31 32 33 33 34 34 35 35 36 36 37 37 =qPi-6

[0135] Alternatively, when ChromaArrayType is not 1, the parameter qP Cb qP Cr and qP CbCr It can be based on qPi respectively Cb qPi Cr and qPi CbC The same index qPi is set in the same way as Min(qPi, 63).

[0136] - The colorimetric parameters Qp′ for the Cb and Cr components Cb and Qp′ Cr and the colorimetric parameter Qp′ used for joint Cb-Cr encoding CbCr The following derivation can be made.

[0137] [Formula 3]

[0138] Qp′ Cb =qP Cb +QpBdOffset C

[0139] Qp′ Cr =qP Cr +QpBdOffset C

[0140] Qp′ CbCr =qP CbCr +QpBdOffset C

[0141] Furthermore, this paper proposes a scheme to improve coding efficiency during the quantization / dequantization process.

[0142] In its implementation, this document proposes a method for defining and using a user-defined chroma quantization map when ChromaArrayType is not 0 (e.g., when ChromaArrayType is 1), instead of obtaining chroma quantization parameter values ​​from luma quantization parameter values ​​through predefined chroma quantization maps in existing VVCDraft5 v.7. In the VVC specification text (e.g., VVC Draft5 v.7), when qPi (luma quantization parameter value) is given, Qpc (chroma quantization parameter value) is derived through predefined chroma quantization tables (e.g., Table 7). However, this document proposes a method for deriving Qpc from qPi based on a user-defined chroma quantization map. According to the implementation of this document, a method is proposed where Qpc values ​​can be derived through a functional relationship of qPi values. This function can be signaled via a user-defined functional method as a syntax such as APS, SPS, or PPS, which includes a functional relationship of predefined syntax elements sending values, and the user defines the chroma quantization map based on the sent values. For example, since the Qpc value can be derived from the functional relationship of the qPi value, if the syntax element value representing the corresponding function is sent, the user-defined colorimetric mapping table can be derived in a form such as Table 7.

[0143] In the implementation, a scheme is proposed to signal information about the syntax elements (Qpc_data) representing the colorimetric mapping correlation function, as described later in the table below in the Adaptive Parameter Set (APS).

[0144] [Table 8]

[0145]

[0146] Referring to Table 8, if aps_params_type represents Qpc_APS, for example, when the value of aps_params_type is 2, Qpc_data() can be notified by a signal.

[0147] The semantics of the syntactic elements in Table 8 can be the same as those in the following table.

[0148] [Table 9]

[0149]

[0150] For example, the syntax element adaptation_parameter_set_id can provide an identifier for the APS that is referenced by other syntax elements.

[0151] Furthermore, for example, the syntax element `aps_extension_flag` can indicate whether the `aps_extension_data_flag` syntax element exists in the APS RBSP syntax structure. For instance, a value of 1 for `aps_extension_flag` indicates that the `aps_extension_data_flag` syntax element exists in the APS RBSP syntax structure, while a value of 0 indicates that the `aps_extension_data_flag` syntax element does not exist in the APS RBSP syntax structure.

[0152] Furthermore, for example, the syntax element `aps_extension_data_flag` can have any value. The presence (existence and value) of `aps_extension_data_flag` does not affect the decoding suitability of the profile specified in this version of the standard. For example, decoding devices conforming to this version of the standard may ignore all syntax elements `aps_extension_data_flag`.

[0153] In addition, for example, the syntax element aps_params_type can indicate the type of APS parameters included in the APS, as shown in Table 10.

[0154] [Table 10]

[0155] aps_params_type The name of aps_params_type Types of APS parameters 0 ALF_APS ALF parameters 1 LMCS_APS LMCS parameters 2 <![CDATA[Qp C _APS]]> Qpc data parameters 3..7 Reserved Reserved

[0156] For example, referring to Table 10, when the value of the syntax element `aps_params_type` is 0, the syntax element `aps_params_type` can indicate that the APS parameter is of type ALF parameter. When the value of the syntax element `aps_params_type` is 1, the syntax element `aps_params_type` can indicate that the APS parameter is of type LMCS parameter. When the value of the syntax element `aps_params_type` is 2, the syntax element `aps_params_type` can indicate that the APS parameter is of type Qpc data parameter. Qpc data parameter can represent colorimetric data parameter.

[0157] In addition, this document proposes another implementation method that uses signals to notify information about quantization parameters.

[0158] For example, this embodiment proposes a method to notify the user-defined Qp in the Picture Parameter Set (PPS) using a signal. CData scheme. As an example of implementing the scheme proposed in this embodiment, a flag indicating whether the PPS includes user-defined data can be introduced in the SPS. That is, the flag indicating whether the PPS includes user-defined data can be signaled in the SPS. Furthermore, according to this embodiment, user-defined data can be signaled in the PPS. Alternatively, user-defined data can be signaled centrally at the slice head and / or the other end.

[0159] The flag indicating whether PPS includes user-defined data can be indicated by signals as shown in the table below.

[0160] [Table 11]

[0161]

[0162] For example, the syntax element `Qpc_data_default_flag` can be a syntax element of the aforementioned flags. The syntax element `Qpc_data_default_flag` can indicate whether the `Qpc_data()` parameter exists in the PPS RBSP syntax structure. For example, `Qpc_data_default_flag` being 0 indicates that the `Qpc_data()` parameter does not exist in the PPS RBSP syntax structure and a default table is used to help determine color quantization. In this case, the default table can be the same as Table 7. Furthermore, for example, `Qpc_data_default_flag` being 1 indicates that the `Qpc_data()` parameter may exist in the PPS RBSP syntax structure.

[0163] Furthermore, the user-defined data notified by signal in PPS according to this embodiment can be the same as the table below.

[0164] [Table 12]

[0165]

[0166] In addition, for example, when ChromaArrayType is 1, Qpc_data() can include the information required for chromaticity derivation.

[0167] In addition, this document proposes another implementation method that uses signals to notify information about quantization parameters.

[0168] For example, this embodiment proposes a flexible structure for deriving chromaticity quantification parameters (QPs) and combined chromaticity QPs. This embodiment also proposes a scheme that uses a signal to indicate the presence of an initial flag indicating the existence of a user-defined mode, in which parameters representing the function used to derive the chromaticity quantification parameters (QPs) in SPS and / or PPS can be used.

[0169] For example, the flag information notified by signals using high-level syntax as proposed in this embodiment can be the same as the table described later.

[0170] [Table 13]

[0171]

[0172] For example, `Qpc_data_present_flag` can indicate whether a parameter used to derive colorimetric parameters exists in the high-level RBSP syntax structure. For instance, a `Qpc_data_present_flag` value of 0 indicates that the colorimetric parameter does not exist in the high-level RBSP syntax structure. Conversely, a `Qpc_data_present_flag` value of 1 indicates that the colorimetric parameter exists in the high-level RBSP syntax structure.

[0173] Alternatively, the syntax element Qpc_data_present_flag can be used to indicate the scheme for using colorimetric derivation in the bitstream. For example, the syntax element Qpc_data_present_flag can indicate the use of a tool or user-defined pattern for colorimetric derivation as follows.

[0174] For example, `Qpc_data_present_flag` can indicate whether a user-defined colorimetric is used in the bitstream. For instance, a `Qpc_data_present_flag` value of 0 indicates that the user-defined colorimetric is not used in the bitstream. Furthermore, a `Qpc_data_present_flag` value of 1 indicates that the user-defined colorimetric is used alone or in conjunction with another flag.

[0175] In addition, this document proposes another implementation method that uses signals to notify information about quantization parameters.

[0176] For example, this embodiment proposes how to derive the colorimetric parameter (QP) using user-defined information signaled in a function, i.e., Qp` Cb Qp` Cr and Qp` CbCr The implementation method is as follows. For example, according to this implementation method, data representing the function used to derive the colorimetric quantization parameter (QP) can be signaled, and the colorimetric quantization parameter can be derived based on the colorimetric quantization data. The data (or a user-defined QP mapping table) used for deriving the colorimetric quantization parameter can be signaled in the table below.

[0177] [Table 14]

[0178]

[0179] The semantics of the syntax elements in Table 14 can be the same as those in the following table.

[0180] [Table 15]

[0181]

[0182]

[0183] For example, the syntax element qPi_min_idx can represent the minimum qPi index used in chrominance quantization.

[0184] In addition, for example, the syntax element qPi_delta_max_idx can represent the incremental value between Qpi_min_idx and the maximum qPi index used in the chrominance Qp c derivation. The value of qPiMaxIdx can be greater than or equal to qPi_min_idx. For example, the maximum index qPiMaxIdx used for Qp c derivation can be derived as follows.

[0185] [Equation 4]

[0186] qPiMaxIdx = qPi_min_idx + qPi_delta_max_idx

[0187] In addition, for example, the syntax element Qp C _qPi_val[i] can represent the Qp value of the i-th index C .

[0188] In addition, for example, the syntax element QpOffset C can represent the offset value used for deriving Qp C .

[0189] In addition, for example, the parameter Qp of qPi C Idx[qPi] can be derived as follows. In this case, qPi can be from 0 to qPiMaxIdx.

[0190] - When qPi < qPi_min_idx, Qp C Idx[qPi] can be set the same as qPi.

[0191] - When qPi = qPi_min_idx…qPiMaxIdx, Qp C Idx[qPi] can be set the same as Qp C _qPi_val[qPi].

[0192] - When qPi > qPiMaxIdx, Qp CIdx[qPi] can be set to qPi - QpOffset C .

[0193] After that, Qp C The value can be derived as Qp C Idx[qPi].

[0194] For example, according to this embodiment, if the process of deriving the quantization parameters is described in a standard format, the process can be represented in the table below.

[0195] [Table 16]

[0196]

[0197]

[0198]

[0199] Referring to Table 16, the derivation of the luminance quantization parameters and chrominance quantization parameters can begin with the fact that the input to this process is the luminance position (xCb, yCb), the parameters cbWidth and cbHeight specifying the width and height of the current coding block, and the parameter treeType specifying whether it is a single tree or a dual tree. Furthermore, as described above, the luminance quantization parameters and chrominance quantization parameters can be represented as Qp'. Y 、Qp' Cb and Qp' Cr .

[0200] In addition, this document proposes another implementation method that uses signals to notify information about quantization parameters.

[0201] For example, this embodiment presents an example where the flag within SPS has a user-defined mode or a default mode, using syntax elements that can be used to control the derivation of quantization parameters. Examples of syntax elements that can be used to derive quantization parameters can be the same as those in the table below. Furthermore, for example, the structure of the syntax elements is not limited to the structure shown in the table below.

[0202] [Table 17]

[0203]

[0204] [Table 18]

[0205]

[0206] [Table 19]

[0207]

[0208] For example, the syntax element `Qpc_data_default_flag` can indicate whether a user-defined pattern is used for quantization parameter derivation. For instance, a `Qpc_data_default_flag` value of 0 indicates that the user-defined pattern is used for quantization parameter derivation. Furthermore, a `Qpc_data_default_flag` value of 1 indicates that a default table is used for colorimetric quantization parameter derivation. In this case, the default table can be the same as Table 7. Additionally, if the syntax element `Qpc_data_default_flag` does not exist, it can be inferred to be 1.

[0209] Furthermore, if a user-defined mode is used, the corresponding slice header, tile group / header, or another appropriate header can be used to signal the APS ID. For example, as shown in Table 18, the syntax elements representing the APS ID via the slice header can be signaled.

[0210] For example, the syntax element slice_Qp c _aps_id can represent the Qp referenced by the slice. c The APS's `adaptation_parameter_set_id`. It has an `adaptation_parameter_set_id` (e.g., `slice_Qp`). c Qp of _aps_id) c The TemporalId of an APS NAL unit can be less than or equal to the TemporalId of a coded slice NAL unit. If multiple Qp have the same adaptation_parameter_set_id value... c If an APS is referenced by two or more slices of the same frame, then multiple QPs with the same value in `adaptation_parameter_set_id` will have this effect. c APSs can have the same content.

[0211] Furthermore, the APS structure for transmitting colorimetric data proposed in this embodiment can be the same as that in Table 19.

[0212] For example, the syntax element adaptation_parameter_set_id can provide an identifier for the APS that is referenced by other syntax elements.

[0213] Furthermore, for example, the syntax element `aps_extension_flag` can indicate whether the `aps_extension_data_flag` syntax element exists in the APS RBSP syntax structure. For instance, a value of 1 for `aps_extension_flag` indicates that the `aps_extension_data_flag` syntax element exists in the APS RBSP syntax structure. A value of 0 for `aps_extension_flag` indicates that the `aps_extension_data_flag` syntax element does not exist in the APS RBSP syntax structure.

[0214] Furthermore, for example, the syntax element `aps_extension_data_flag` can have any value. The presence (existence and value) of `aps_extension_data_flag` does not affect the decoding suitability of the profile specified in this version of the standard. For example, decoding devices conforming to this version of the standard may ignore all syntax elements `aps_extension_data_flag`.

[0215] In addition, for example, the syntax element aps_params_type can indicate the type of APS parameters included in the APS, as shown in Table 10.

[0216] The Qpc_data() function disclosed in Table 19 can be signaled as shown in the following table.

[0217] [Table 20]

[0218]

[0219] For example, the syntax element qPi_min_idx can represent the minimum qPi index used in colorimetric quantization.

[0220] Furthermore, for example, the syntax element qPi_delta_max_idx can represent Qpi_min_idx and the chroma Qp. c The derived incremental value between the maximum qPi indices. The value of qPiMaxIdx can be greater than or equal to qPi_min_idx. For example, for Qp c The derived maximum index qPiMaxIdx can be derived similarly to Equation 4.

[0221] Furthermore, for example, by combining 1 with the syntax element Qp c The value obtained by adding _prec_minus1 can represent the number of bits used to represent the syntax lmcs_delta_abs_cw[i]. Qp c The value of _prec_minus1 can be between 0 and BitDepth.Y within the range of -2.

[0222] In addition, for example, the syntax element Qp c _init_val can represent Qp corresponding to qPi_min_idx C value.

[0223] In addition, for example, the syntax element Qp C _qPi_delta_val[i] can represent the increment of the Qp value at the i-th index C value.

[0224] In addition, for example, the syntax element QpOffset C can represent the offset value used to derive Qp c value.

[0225] For example, the parameter Qp of qPi C Idx[qPi] can be derived as follows. In this case, qPi can be from 0 to qPiMaxIdx.

[0226] - When qPi < qPi_min_idx, Qp C Idx[qPi] can be set the same as qPi.

[0227] - When qPi = qPi_min_idx... qPiMaxIdx, Qp C Idx[qPi] can be set to Qp c _qPi_delta_val[qPi] + Qp C Idx[qPi - 1].

[0228] - When qPi > qPiMaxIdx, Qp C Idx[qPi] can be set to qPi - QpOffset C .

[0229] Thereafter, the value of Qp C can be derived as Qp C Idx[qPi].

[0230] Similar to the above-described embodiment, the chrominance quantization parameters, i.e., Qp`Cb, Qp`Cr, and Qp`CbCr, can be derived using the user-defined information signaled or the default values shown in the default table (e.g., Table 7).

[0231] For example, in this embodiment, if the process of deriving the quantization parameters is written in a standard format, the process can be represented as in the following table.

[0232] [Table 21]

[0233]

[0234]

[0235]

[0236]

[0237] Referring to Table 21, when ChromaArrayType is 1 and Qp c _data_default_flag indicates false (i.e., for example, when Qp c When _data_default_flag is 0, parameter qP Cb qP Cr and qP CbCr This can be derived based on user-defined information notified by signals as presented in this embodiment. When ChromaArrayType is 1 and Qp c _data_default_flag indicates true (i.e., for example, when Qp c When _data_default_flag is 1, parameter qP Cb qP Cr and qP CbCr They can be based on the same index qPi. Cb qPi Cr and qPi CbCr Inferring from the default table.

[0238] In addition, this document proposes another implementation method that uses signals to notify information about quantization parameters.

[0239] For example, this embodiment proposes a syntax element that can be used to control the derivation of quantization parameters by indicating a user-defined mode or a default mode via a flag in the SPS. Specifically, this embodiment proposes a scheme for signaling syntax elements for the following syntax structures. Furthermore, the structure of the syntax element is illustrative and is not limited to the structure shown in the table below.

[0240] [Table 22]

[0241]

[0242] For example, the syntax element qPi_min_idx can represent the minimum qPi index used in colorimetric quantization.

[0243] Furthermore, for example, the syntax element qPi_delta_max_idx can represent Qpi_min_idx and the chroma Qp. cThe derived incremental value between the maximum qPi indices. The value of qPiMaxIdx can be greater than or equal to qPi_min_idx. For example, for Qp c The derived maximum index qPiMaxIdx can be derived similarly to Equation 4.

[0244] In addition, for example, the syntax element Qp C _qPi_delta_val[i] can represent the Qp at index i. C The increment of the value.

[0245] In addition, for example, the syntax element QpOffset C This can be used to derive Qp c The offset value (as mentioned above).

[0246] As in the embodiments described above, the colorimetric parameters, namely Qp`Cb, Qp`Cr, and Qp`CbCr, can be derived using user-defined information notified by signals or default values ​​used in default tables such as Table 7.

[0247] For example, in this embodiment, if the process of deriving the quantization parameters is written in a standard format, the process can be represented in the table below.

[0248] [Table 23]

[0249]

[0250]

[0251]

[0252]

[0253] Referring to Table 23, when ChromaArrayType is 1 and Qp c _data_default_flag indicates false (i.e., for example, when Qp c When _data_default_flag is 0, parameter qP Cb qP Cr and qP CbCr This can be derived based on user-defined information notified by signals as presented in this embodiment. For example, when ChromaArrayType is 1 and Qp c _data_default_flag indicates false (i.e., for example, when Qp c When _data_default_flag is 0, parameter qP Cb qP Cr and qPCbCr can be derived separately as follows based on the same index qPi as qPi Cb 、qPi Cr and qPi CbCr and Qp C to have the same value.

[0254] For example, the parameter Qp C Idx[i] can be derived as follows.

[0255] - When i < qPi_min_idx, Qp C Idx[qPi] can be set the same as qPi.

[0256] - When i = qPi_min_idx…qPiMaxIdx, Qp C Idx[i] can be set to Qp C _qPi_delta_val[i] + Qp C Idx[i - 1].[[]END]]

[0257] - When i > qPiMaxIdx, Qp C Idx[i] can be set to qPi - QpOffset C .

[0258] Thereafter, Qp C can be set to Qp C Idx[i].[[]END]]

[0259] In addition, referring to Table 23, when ChromaArrayType is 1 and Qp c _data_default_flag indicates true (i.e., for example, when Qp c _data_default_flag is 1), the parameters qP Cb , qP Cr and qP CbCr can be derived separately through a default table based on the same index qPi as qPi Cb , qPi Cr and qPi CbCr respectively.

[0260] In addition, this document proposes another implementation for signaling information of quantization parameters.

[0261] For example, this implementation proposes chroma quantization (Qp CSyntax elements for deducing parameters. For example, the APS ID can be signaled in the slice header. Furthermore, for example, a flag can be proposed within the Picture Parameter Set (PPS) indicating whether to use a default table or a table deduced from information signaled from the APS. Additionally, for example, if the default table is not used, it supports access to Qp... C Additional control schemes for the APS of the data can be added to the slice header.

[0262] Furthermore, according to existing video / image standards, chroma QP can be derived from luminance QP and can be updated by additionally signaling a chroma QP offset. Existing chroma quantization parameter Qp C The table can be a default table (e.g., Table 7).

[0263] This implementation proposes adding a function as an index qPi to notify the colorimetric parameter Qp using a signal. C APS functions. APS can be used to integrate Qp. C Signaling scheme for value.

[0264] For example, the APS according to this embodiment can be the same as the table below.

[0265] [Table 24]

[0266]

[0267] For example, the syntax element adaptation_parameter_set_id can provide an identifier for the APS that is referenced by other syntax elements.

[0268] In addition, for example, the syntax element aps_params_type can indicate the type of APS parameters included in the APS, as shown in Table 10.

[0269] Furthermore, for example, the syntax element `aps_extension_flag` can indicate whether the `aps_extension_data_flag` syntax element exists in the APS RBSP syntax structure. For instance, a value of 1 for `aps_extension_flag` indicates that the `aps_extension_data_flag` syntax element exists in the APS RBSP syntax structure, while a value of 0 indicates that the `aps_extension_data_flag` syntax element does not exist in the APS RBSP syntax structure.

[0270] Furthermore, for example, the syntax element `aps_extension_data_flag` can have any value. The presence (existence and value) of `aps_extension_data_flag` does not affect the decoding suitability of the profile specified in this version of the standard. For example, decoding devices conforming to this version of the standard may ignore all syntax elements `aps_extension_data_flag`.

[0271] The Qp disclosed in Table 24 c _data() can be signaled as shown in the table below.

[0272] [Table 25]

[0273]

[0274] For example, the syntax element qPi_min_idx can represent the minimum qPi index used in colorimetric quantization. The value of qPi_min_idx can be in the range of 0 to 63.

[0275] Furthermore, for example, the syntax element qPi_delta_max_idx can represent Qpi_min_idx and the chroma Qp. c The derived incremental value between the maximum qPi indices. The value of qPiMaxIdx can be greater than or equal to qPi_min_idx. Furthermore, for example, the value of qPi_delta_max_idx can be in the range of 0 to 63. For example, for Qp... c The derived maximum index qPiMaxIdx can be derived similarly to Equation 4.

[0276] In addition, for example, the syntax element Qp C _qPi_delta_val[i] can represent the Qp at index i. C The difference between values. This difference can also be called the increment.

[0277] In addition, for example, the syntax element Qp C Offset C _present_flag can indicate whether QpOffset exists in the bitstream. C For example, Qp with a value of 1 C Offset C _present_flag can indicate the presence of QpOffset in the bitstream. C Furthermore, for example, Qp with a value of 0. C Offset C _present_flag can indicate that QpOffset does not exist in the bitstream. C When QpC Offset C When _present_flag does not exist, Qp C Offset C _present_flag can be inferred as 0.

[0278] In addition, for example, the syntax element QpOffset C can represent the offset value used to derive Qp c value.

[0279] For example, the parameter Qp of qPi C Idx[qPi] can be derived as follows. In this case, qPi can be 0 to 63.

[0280] - When qPi < qPi_min_idx, Qp C Idx[qPi] can be set the same as qPi.

[0281] - When qPi = qPi_min_idx…qPiMaxIdx, Qp C Idx[qPi] can be set to Qp C _qPi_delta_val[qPi] + Qp C Idx[qPi - 1].

[0282] - If qPi > qPiMaxIdx, then when Qp C Offset C _present_flag is 1, Qp C Idx[qPi] can be set to qPi - QpOffset C . If Qp C Offset C _present_flag is not 1, that is, if Qp C Offset C _present_flag is 0, then Qp C Idx[qPi] can be set to qPi - (qPiMaxIdx - Qp C Idx[qPiMaxIdx]).

[0283] Thereafter, the value of Qp C can be derived as Qp C Idx[qPi].

[0284] In addition, this embodiment proposes the flags notified as PPS signals in the following table.

[0285] [Table 26]

[0286]

[0287] For example, the syntax element Qp c The `_data_default_flag` flag indicates whether a user-defined pattern is used for quantization parameter derivation. For example, a value of 0 for `Qp`... c `_data_default_flag` can represent a user-defined pattern used for quantization parameter derivation. Additionally, for example, a value of 1 for `Qp`... c `_data_default_flag` indicates that the above default table is used for quantization parameter derivation. The default table can be the same as Table 7. If Qp c If _data_default_flag does not exist, then Qp c _data_default_flag can be inferred to be 1.

[0288] In addition, this embodiment proposes syntax elements as signal notifications for slice headers, as shown in the table below.

[0289] [Table 27]

[0290]

[0291] For example, the syntax element slice_Qp c _aps_id can represent the Qp referenced by the slice. c The APS's `adaptation_parameter_set_id`. It has an `adaptation_parameter_set_id` (e.g., `slice_Qp`). c Qp of _aps_id) c The TemporalId of an APS NAL unit can be less than or equal to the TemporalId of a coded slice NAL unit. If multiple Qp have the same adaptation_parameter_set_id value... c If an APS is referenced by two or more slices of the same frame, then multiple QPs with the same value in `adaptation_parameter_set_id` will have this effect. c APSs can have the same content.

[0292] For example, in this embodiment, if the process of deriving the quantization parameters is written in a standard format, the process can be represented in the table below.

[0293] [Table 28]

[0294]

[0295]

[0296]

[0297] Referring to Table 28, when ChromaArrayType is 1 and Qp c _data_default_flag indicates false (i.e., for example, when Qp c When _data_default_flag is 0, parameter qP Cb qP Cr and qP CbCr This can be derived based on user-defined information notified by signals as presented in this embodiment. Furthermore, for example, when ChromaArrayType is 1 and Qp... c _data_default_flag indicates true (i.e., for example, when Qp c When _data_default_flag is 1, parameter qP Cb qP Cr and qP CbCr It can be based on qPi respectively Cb qPi Cr and qPi CbCr The same index qPi is derived through the default table.

[0298] In addition, this document proposes another implementation method that uses signals to notify information about quantization parameters.

[0299] For example, in this embodiment, a user-defined derivation for signaling colorimetric quantization in SPS is proposed as follows. For example, this embodiment proposes a user-defined colorimetric quantization (Qp) C For example, the SPS flag can indicate whether the default table is used for colorimetric derivation or whether the contents of the table used for colorimetric derivation are derived from information notified by signals in the SPS.

[0300] For example, this implementation proposes a scheme to perform colorimetric quantization using the syntax elements shown in the table below as the index qPi.

[0301] [Table 29]

[0302]

[0303] For example, the syntax element qPi_min_idx can represent the minimum qPi index used in colorimetric quantization. The value of qPi_min_idx can be in the range of 0 to 63.

[0304] In addition, for example, the syntax element qPi_delta_max_idx may represent the incremental value between Qpi_min_idx and the maximum qPi index used for chrominance Qp c The value of qPiMaxIdx may be greater than or equal to qPi_min_idx. The value of qPi_delta_max_idx may be in the range of 0 to 63. For example, the maximum index qPiMaxIdx used for Qp c derivation may be derived similarly to Equation 4.

[0305] In addition, for example, the syntax element Qp C _qPi_delta_val[i] may represent the increment of the Qp value at the i-th index. C

[0306] For example, the parameter Qp C Idx[qPi] may be derived as follows.

[0307] - When qPi < qPi_min_idx, Qp C Idx[qPi] may be set the same as qPi.

[0308] - When qPi = qPi_min_idx... qPiMaxIdx, Qp C Idx[qPi] may be set to Qp C _qPi_delta_val[qPi] + Qp C Idx[qPi - 1].

[0309] - When qPi > qPiMaxIdx, Qp C Idx[qPi] may be set to qPi - (qPiMaxIdx - Qp C Idx[qPiMaxIdx]).

[0310] Thereafter, Qp C may be set to Qp C Idx[qPi].

[0311] In addition, the flag in the SPS that indicates whether the default table is used for chrominance quantization derivation or whether the information signaled is used for chrominance quantization derivation proposed in this embodiment may be the same as the following table.

[0312] [Table 30]

[0313]

[0314] For example, the syntax element Qp c`_data_default_flag` indicates whether a user-defined pattern is used for quantization parameter derivation. For example, a value of 0 for `Qp`... c `_data_default_flag` can represent a user-defined pattern used for deriving quantization parameters. Additionally, for example, a value of 1 for `Qp`... c `_data_default_flag` indicates the default table used for quantization parameter derivation. The default table can be the same as Table 7. Furthermore, if Qp... c If _data_default_flag does not exist, then Qp c _data_default_flag can be inferred to be 1.

[0315] For example, according to this embodiment, if the process of deriving the quantization parameters is written in a standard format, the process can be represented in the table below.

[0316] [Table 31]

[0317]

[0318]

[0319]

[0320] Referring to Table 31, when ChromaArrayType is 1 and Qp c _data_default_flag indicates false (i.e., for example, when Qp c When _data_default_flag is 0, parameter qP Cb qP Cr and qP CbCr This can be derived based on user-defined information notified by signals as presented in this embodiment. Furthermore, for example, when ChromaArrayType is 1 and Qp... c _data_default_flag indicates true (i.e., for example, when Qp c When _data_default_flag is 1, parameter qP Cb qP Cr and qP CbCr It can be based on qPi respectively Cb qPi Cr and qPi CbCr The same index qPi is derived through the default table.

[0321] In addition, this document proposes another implementation method that uses signals to notify information about quantization parameters.

[0322] For example, the present embodiment proposes to signal the chrominance quantization parameter Qp as a function of the index qPi C function. For example, a scheme for signaling a syntax element of a user-defined table for quantization parameter derivation in the PPS can be proposed. Therefore, flexibility regarding changing the user-defined table and the default table in each picture of the reference PPS can be provided.

[0323] The syntax element of the user-defined table signaled in the PPS proposed in the present embodiment can be the same as the following table.

[0324] [Table 32]

[0325]

[0326] For example, the syntax element qPi_min_idx can represent the minimum qPi index used in chrominance quantization. The value of qPi_min_idx can be in the range of 0 to 63.

[0327] In addition, for example, the syntax element qPi_delta_max_idx can represent the increment value between Qpi_min_idx and the maximum qPi index used for chrominance Qp c derivation. The value of qPiMaxIdx can be 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 similarly to Equation 4.

[0328] In addition, for example, the syntax element Qp C _qPi_delta_val[i] can represent the increment of the Qp value of the i-th index C value.

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

[0330] - When qPi < qPi_min_idx, Qp C Idx[qPi] can be set the same as qPi.

[0331] - When qPi = qPi_min_idx…qPiMaxIdx, Qp C Idx[qPi] can be set to Qp C _qPi_delta_val[qPi] + Qp C Idx[qPi - 1].

[0332] - When qPi > qPiMaxIdx, QpC Idx[qPi] can be set to qPi - (qPiMaxIdx - Qp) C Idx[qPiMaxIdx]).

[0333] After that, Qp C It can be set to Qp C Idx[qPi].

[0334] Furthermore, the flags for the SPS proposed in this embodiment, indicating whether the default table is used for colorimetric derivation or whether the information notified by the signal is used for colorimetric derivation, can be the same as those in the table below.

[0335] [Table 33]

[0336]

[0337] For example, the syntax element Qp c `_data_default_flag` indicates whether a user-defined pattern is used for quantization parameter derivation. For example, a value of 0 for `Qp`... c `_data_default_flag` can represent the user-defined pattern used for quantization parameter derivation. That is, for example, a value of 0 for `Qp`. c _data_default_flag can indicate the use of colorimetric parameter data Qp. c _data(). When Qp c When _data_default_flag is 0, the colorimetric quantization parameter data Qp can be notified via a signal. c _data(). Additionally, for example, Qp with a value of 1. c `_data_default_flag` indicates the default table used for quantization parameter derivation. The default table can be the same as Table 7. Furthermore, if Qp... c If _data_default_flag does not exist, then Qp c _data_default_flag can be inferred to be 1.

[0338] For example, in this embodiment, if the process of deriving the quantization parameters is written in a standard format, the process can be represented in the table below.

[0339] [Table 34]

[0340]

[0341]

[0342]

[0343] Referring to Table 34, when ChromaArrayType is 1 and Qp c _data_default_flag indicates false (i.e., for example, when Qp c When _data_default_flag is 0, parameter qP Cb qP Cr and qP CbCr This can be derived based on user-defined information notified by signals as presented in this embodiment. Furthermore, for example, ChromaArrayType is 1 and Qp... c _data_default_flag indicates true (i.e., for example, when Qp c When _data_default_flag is 1, parameter qP Cb qP Cr and qP CbCr It can be based on qPi respectively Cb qPi Cr and qPi CbCr The same index qPi is derived through the default table.

[0344] In addition, this document proposes another implementation method that uses signals to notify information about quantization parameters.

[0345] For example, this embodiment proposes to derive and signal the colorimetric quantization parameter Qp. C The public model.

[0346] The colorimetric parameter data Qp of the colorimetric parameter proposed in this embodiment c _data() can be signaled as shown in the table below.

[0347] [Table 35]

[0348]

[0349] For example, the syntax element qPi_min_idx can represent the minimum qPi index used in colorimetric quantization. The value of qPi_min_idx can be in the range of 0 to 63.

[0350] Furthermore, for example, the syntax element qPi_delta_max_idx can represent Qpi_min_idx and the chroma Qp. c The derived incremental value between the maximum qPi indices. The value of qPiMaxIdx can be 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, for Qp c The derived maximum index qPiMaxIdx can be derived similarly to Equation 4.

[0351] In addition, for example, the syntax element Qp C _qPi_delta_val[i] can represent the increment of the Qp value at the i-th index. C The increment of the value.

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

[0353] - When qPi < qPi_min_idx, Qp C Idx[qPi] can be set the same as qPi.

[0354] - When qPi = qPi_min_idx... qPiMaxIdx, Qp C Idx[qPi] can be set to Qp C _qPi_delta_val[qPi] + Qp C Idx[qPi - 1].

[0355] - When qPi > qPiMaxIdx, Qp C Idx[qPi] can be set to qPi - (qPiMaxIdx - Qp C Idx[qPiMaxIdx]).

[0356] Thereafter, Qp C can be set to Qp C Idx[qPi].

[0357] In addition, this embodiment proposes a scheme for signaling a flag indicating whether a default table is used for chrominance quantization derivation or whether the signaled information is used for chrominance quantization derivation. This flag can be signaled through an advanced syntax such as a Sequence Parameter Set (SPS) or a Picture Parameter Set (PPS). The flag signaled through the advanced syntax can be the same as the following table.

[0358] [Table 36]

[0359]

[0360] For example, the syntax element Qp c _data_default_flag can represent whether a user-defined mode is used for the derivation of quantization parameters. For example, a Qp c _data_default_flag with a value of 0 can represent that a user-defined mode is used for the derivation of quantization parameters. That is, for example, a Qp c _data_default_flag with a value of 0 can represent that chrominance quantization parameter data Qp is usedc _data(). When Qp c When _data_default_flag is 0, the colorimetric quantization parameter data Qp can be notified via a signal. c _data(). Additionally, for example, Qp with a value of 1. c `_data_default_flag` indicates the default table used for quantization parameter derivation. The default table can be the same as Table 7. Furthermore, if Qp... c If _data_default_flag does not exist, then Qp c _data_default_flag can be inferred to be 1.

[0361] For example, in this embodiment, if the process of deriving the quantization parameters is written in a standard format, the process can be represented in the table below.

[0362] [Table 37]

[0363]

[0364]

[0365]

[0366]

[0367] Referring to Table 37, when ChromaArrayType is 1 and Qp c _data_default_flag indicates false (i.e., for example, when Qp c When _data_default_flag is 0, parameter qP Cb qP Cr and qP CbCr This can be derived based on user-defined information notified by signals as presented in this embodiment. Furthermore, for example, when ChromaArrayType is 1 and Qp... c _data_default_flag indicates true (i.e., for example, when Qp c When _data_default_flag is 1, parameter qP Cb qP Cr and qP CbCr It can be based on qPi respectively Cb qPi Cr and qPi CbCr The same index qPi is derived through the default table.

[0368] In addition, this document proposes another implementation for signaling information of quantization parameters.

[0369] For example, this implementation proposes a scheme for deriving the chrominance quantization parameter Qp without offset. C This implementation can be proposed for use together with APS or independently. For example, the syntax structure of APS integrated with chrominance quantization data can be the same as the following table.

[0370] [Table 38]

[0371]

[0372] For example, the syntax element qPi_min_idx can represent the minimum qPi index used in chrominance quantization. The value of qPi_min_idx can be in the range of 0 to 63.

[0373] In addition, for example, the syntax element qPi_delta_max_idx can represent the incremental value between Qpi_min_idx and the maximum qPi index used for chrominance Qp c derivation. The value of qPiMaxIdx can be 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 similar to Equation 4.

[0374] In addition, for example, the syntax element Qp C _qPi_delta_val[i] can represent the difference between the Qp C values at the i-th index. This difference can also be referred to as an increment.

[0375] For example, the parameter Qp C Idx[qPi] can be derived as follows. In this case, qPi can be 0 to 63.

[0376] - When qPi < qPi_min_idx, Qp C Idx[qPi] can be set the same as qPi.

[0377] - When qPi = qPi_min_idx…qPiMaxIdx, Qp C Idx[qPi] can be set to Qp <000036​​​​​​​Idx[qPi] can be set to qPi - (qPiMaxIdx - Qp) C Idx[qPiMaxIdx]).

[0379] After that, Qp C It can be set to Qp C Idx[qPi].

[0380] In addition, this document proposes another implementation method that uses signals to notify information about quantization parameters.

[0381] For example, this implementation presents a continuous Qp as an example. C A scheme in which the increment (or difference) between values ​​is limited to 1.

[0382] For example, this implementation proposes a method that additionally includes user-defined colorimetric quantization (Qp) in existing image / video standards. C The scheme can be described as follows: For example, the flag of the Sequence Parameter Set (SPS) proposed in this embodiment can indicate whether the existing default table is used for chromaticity parameter derivation or whether the table content is derived based on information notified by signals in the SPS. A suitable scheme for encoding the image can be selected by adapting the user-defined chromaticity according to this embodiment, and encoding efficiency can be improved.

[0383] For example, this implementation proposes using the syntax elements in the table below to add a function as an index qPi to signal the colorimetric quantization Qp. C The function.

[0384] [Table 39]

[0385]

[0386] For example, the syntax element qPi_min_idx can represent the minimum qPi index used in colorimetric quantization. The value of qPi_min_idx can be in the range of 1 to 63.

[0387] Furthermore, for example, the syntax element qPi_delta_max_idx can represent Qpi_min_idx and the chroma Qp. c The derived incremental value between the maximum qPi indices. The value of qPiMaxIdx can be 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, for Qp c The derived maximum index qPiMaxIdx can be derived similarly to Equation 4.

[0388] Furthermore, for example, the syntax element QpC_qPi_flag[i] can represent Qp CWhether the value is incremented by 1. That is, for example, the syntax element QpC_qPi_flag[i] can represent the i-th Qp C value and the (i - 1)-th Qp C value compared whether it has been incremented by 1. For example, QpC_qPi_flag[i] with a value of 1 can represent Qp C value has been incremented by 1. QpC_qPi_flag[i] with a value of 0 can represent Qp C value has not been incremented.

[0389] For example, the parameter Qp C Idx[qPi] can be derived as follows. In this case, qPi can be 0 to 63.

[0390] - When qPi < qPi_min_idx, Qp C Idx[qPi] can be set the same as qPi.

[0391] - When qPi = qPi_min_idx...qPiMaxIdx, Qp C Idx[qPi] can be set to Qp C _qPi_flag[qPi] + Qp C Idx[qPi - 1].

[0392] - When qPi > qPiMaxIdx, Qp C Idx[qPi] can be set to qPi - (qPiMaxIdx - Qp C Idx[qPiMaxIdx]).

[0393] Thereafter, Qp C can be set to Qp C Idx[qPi].

[0394] In addition, this embodiment proposes a scheme for signaling a flag indicating whether a default table is used for chrominance quantization derivation or whether the signaled information is used for chrominance quantization derivation. This flag can be signaled through an advanced syntax such as a sequence parameter set (SPS) or a picture parameter set (PPS). The flag signaled through the advanced syntax can be the same as the following table.

[0395] [Table 40]

[0396]

[0303] 7>

[0397] For example, the syntax element Qp c _data_default_flag can represent whether a user-defined mode is used for the derivation of quantization parameters.For example, Qp with a value of 0 c`_data_default_flag` can represent the user-defined pattern used for quantization parameter derivation. That is, for example, a value of 0 for `Qp`. c _data_default_flag can indicate the use of colorimetric parameter data Qp. c _data(). When Qp c When _data_default_flag is 0, the colorimetric quantization parameter data Qp can be notified via a signal. c _data(). Additionally, for example, Qp with a value of 1. c `_data_default_flag` indicates the default table used for quantization parameter derivation. The default table can be the same as Table 7. Furthermore, if Qp... c If _data_default_flag does not exist, then Qp c _data_default_flag can be inferred to be 1.

[0398] For example, in this embodiment, if the process of deriving the quantization parameters is written in a standard format, the process can be represented in the table below.

[0399] [Table 41]

[0400]

[0401]

[0402]

[0403]

[0404] Referring to Table 41, when ChromaArrayType is 1 and Qp c _data_default_flag indicates false (i.e., for example, when Qp c When _data_default_flag is 0, parameter qP Cb qP Cr and qP CbCr This can be derived based on user-defined information notified by signals as presented in this embodiment. Furthermore, for example, when ChromaArrayType is 1 and Qp... c _data_default_flag indicates true (i.e., for example, when Qp c When _data_default_flag is 1, parameter qP Cb qP Cr and qP CbCr It can be based on qPi respectively Cb qPiCr and qPi CbCr The same index qPi is derived through the default table.

[0405] Figure 4 An image encoding method of the encoding device according to this document is illustrated schematically. Figure 4 The method disclosed in the article can be derived from Figure 2 The encoding device disclosed in the document executes the code. Specifically, for example, Figure 4 S400 to S420 can be executed by the residual processor of the encoding device. S430 can be executed by the entropy encoder of the encoding device. Furthermore, although not shown, the process of generating reconstructed samples and reconstructed images based on residual samples and predicted samples can be executed by the adder of the encoding device.

[0406] The encoding device derives residual samples of the chroma components (S400). For example, the encoding device can derive residual samples by subtracting the original samples from the predicted samples for the current block in the current frame.

[0407] Furthermore, the coding device can derive the prediction samples for the current block based on the prediction pattern. In this case, various prediction methods disclosed in this document, such as inter-frame prediction or intra-frame prediction, can be used.

[0408] For example, the coding device can determine whether to perform inter-frame prediction or intra-frame prediction for the current block, and can determine a detailed inter-frame prediction mode or a detailed intra-frame prediction mode based on the RD cost. The coding device can then derive prediction samples for the current block based on the determined mode.

[0409] The encoding device generates quantization parameter data for combined chroma encoding of residual samples based on the chroma type of the chroma components (S410). The encoding device can generate quantization parameter data for combined chroma encoding of residual samples based on the chroma type. In this case, the chroma type can refer to the aforementioned ChromaArrayType. For example, if the value of the chroma type is not 0, the encoding device can generate quantization parameter data for combined chroma encoding. For example, when the value of the chroma type is 1, the decoding device can generate quantization parameter data for combined chroma encoding. In this case, when the value of the chroma type is 0, the chroma type can be a monochrome format. When the value of the chroma type is 1, the chroma type can be a 4:2:0 format. When the value of the chroma type is 2, the chroma type can be a 4:2:2 format. When the value of the chroma type is 3, the chroma type can be a 4:4:4 format. Furthermore, combined chroma encoding can also be referred to as joint encoding of chroma components. Chroma components may include Cb components and / or Cr components.

[0410] Furthermore, for example, the encoding device can determine whether to perform combined chroma coding on the residual samples of the chroma components based on the chroma type (e.g., when the value of the chroma type is not 0). If combined chroma coding is performed on the residual samples, quantization parameter data for the combined chroma coding of the residual samples can be generated. For example, the quantization parameter data can be signaled using high-level syntax. For example, the quantization parameter data can be signaled using a sequence parameter set (SPS), a picture parameter set (PPS), a slice header, or an adaptive parameter set (APS).

[0411] For example, quantization parameter data may include syntax elements representing the starting index of a chroma quantization parameter table used for combined chroma encoding and / or syntax elements representing the difference between the starting and ending indices of the chroma quantization parameter table. The syntax element representing the starting index may be qPi_min_idx as described above. Furthermore, the syntax element representing the difference between the starting and ending indices may be qPi_delta_max_idx. Additionally, the chroma quantization parameter table may also be called a chroma quantization parameter map or a user-defined quantization parameter map. Furthermore, the starting index may also be called the minimum index. Furthermore, for example, the syntax elements representing the starting index and / or the difference between the starting and ending indices can be signaled using high-level syntax. For example, the syntax elements representing the starting index and / or the difference between the starting and ending indices can be signaled using a Sequence Parameter Set (SPS), Picture Parameter Set (PPS), Slice Header, or Adaptive Parameter Set (APS).

[0412] Furthermore, for example, the quantization parameter data may include syntax elements of the quantization parameter values ​​for the indices of the colorimetric quantization parameter table. That is, for example, the quantization parameter data may include syntax elements of the quantization parameter values ​​for the respective indices of the colorimetric quantization parameter table. The syntax element of the quantization parameter value for the index may be the Qp mentioned above. C _qPi_val[i]. Furthermore, for example, syntax elements whose quantization parameter values ​​are indexed can be signaled using high-level syntax. For example, syntax elements whose quantization parameter values ​​are indexed can be signaled using sequence parameter sets (SPS), picture parameter sets (PPS), slice headers, or adaptive parameter sets (APS).

[0413] Furthermore, for example, the quantization parameter data may include syntax elements representing offsets used to derive quantization parameters for combined chroma encoding. The syntax element representing the offset could be QpOffset as described above. C Furthermore, for example, syntax elements indicating offsets can be signaled using high-level syntax. For instance, syntax elements indicating offsets can be signaled using Sequence Parameter Set (SPS), Picture Parameter Set (PPS), Slice Header, or Adaptive Parameter Set (APS).

[0414] Furthermore, for example, the encoding device can derive the quantization parameters used for combining chroma encoding based on quantization parameter data. The quantization parameters used for combining chroma encoding can represent the aforementioned QP`. CbCr .

[0415] For example, as described above, a chromaticity quantization parameter table can be derived based on syntax elements representing the starting index of the chromaticity quantization parameter table, syntax elements representing the difference between the starting and ending indices of the chromaticity quantization parameter table, and / or syntax elements representing the quantization parameter values ​​of the indices of the chromaticity quantization parameter table. That is, for example, a chromaticity quantization parameter table for combined chromaticity coding can be derived based on quantization parameter data. Subsequently, indices for combined chromaticity coding can be derived based on the quantization parameters of the luminance components. Quantization parameters for combined chromaticity coding can be derived based on the quantization parameters of the indices of the chromaticity quantization parameter table. That is, for example, quantization parameters for combined chromaticity coding can be derived based on the quantization parameters of indices in the chromaticity quantization parameter table that are the same as the quantization parameters of the luminance components.

[0416] Additionally, for example, quantization parameters used for combining chroma encoding (e.g., QP'). CbCr This can be achieved by combining the offset with the quantization parameter (e.g., QP) of the colorimetric quantization parameter table. CbCr The offset can be derived by adding them together. The offset can be derived based on the syntax elements that represent the offsets used to derive the quantization parameters used for combining chroma codes.

[0417] The encoding device generates a flag indicating whether quantization parameter data for combining chroma encoding exists (S420). For example, the encoding device can generate the flag based on the chroma type. For example, when the chroma type value is not 0, the encoding device can generate a flag indicating whether quantization parameter data for combining chroma encoding exists. For example, when the chroma type value is 1, the encoding device can generate a flag indicating whether quantization parameter data for combining chroma encoding exists. For example, the syntax element of this flag can be the Qp described above. C _data_present_flag.

[0418] For example, a value of 0 indicates that the quantization parameter data used for combining chroma encoding does not exist. A value of 1 indicates that the quantization parameter data used for combining chroma encoding exists.

[0419] Furthermore, the flag can be signaled using advanced syntax, for example. For instance, the flag can be signaled using a Sequence Parameter Set (SPS), Picture Parameter Set (PPS), Slice Header, or Adaptive Parameter Set (APS).

[0420] The encoding device encodes the quantization parameter data and the marker (S430). The encoding device can encode the quantization parameter data and the marker. Image information may include quantization parameter data and the marker.

[0421] Encoding devices can encode image information, including quantization parameter data and markers.

[0422] Furthermore, for example, the encoding device can generate and encode prediction information for the current block. The prediction information may include prediction mode information for the current block. Image information may include the prediction information.

[0423] Furthermore, for example, the encoding device can encode the residual information of the residual samples. Image information may include residual information. Furthermore, for example, the encoding device can output the image information as a bitstream by encoding the image information.

[0424] Furthermore, a bitstream including image information can be transmitted to the decoding device via a network or (digital) storage medium. In this case, the network may include broadcast networks and / or communication networks. Digital storage media may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD.

[0425] Figure 5 An encoding device for performing an image encoding method according to this document is illustrated schematically. Figure 4 The method disclosed in the article can be derived from Figure 5 The encoding device disclosed in the document executes the code. Specifically, for example, Figure 5 The residual processor of the encoding device can execute S400 to S420. The entropy encoder of the encoding device can execute S430. Furthermore, although not shown, the process of generating reconstructed samples and reconstructed images based on residual samples and predicted samples can be executed by the adder of the encoding device.

[0426] Figure 6 An image decoding method according to the decoding device of this document is illustrated schematically. Figure 6 The method disclosed in the article can be derived from Figure 3 The decoding device disclosed in the document performs the operation. Specifically, for example, Figure 6 The S600 in the decoding device can be executed by the entropy decoder. Figure 6 S610 to S640 in the decoding device can be executed by the residual processor. Figure 6 The S650 in the decoding device can be executed by the adder.

[0427] The decoding device obtains quantization parameter data indicating the presence of quantization parameters for combining chroma encoding based on the chroma type (S600). The decoding device can obtain image information through a bitstream. For example, the image information may include information about chroma quantization parameters. For example, the image information may include a flag indicating the presence of quantization parameter data for combining chroma encoding. For example, the decoding device can obtain the flag indicating the presence of quantization parameter data for combining chroma encoding based on the chroma type. In this case, the chroma type may refer to the aforementioned ChromaArrayType. For example, when the value of the chroma type is not 0, the decoding device can obtain the flag indicating the presence of quantization parameter data for combining chroma encoding. For example, when the value of the chroma type is 1, the decoding device can obtain the flag indicating the presence of quantization parameter data for combining chroma encoding. In this case, when the value of the chroma type is 0, the chroma type can be a monochrome format. When the value of the chroma type is 1, the chroma type can be a 4:2:0 format. When the value of the chroma type is 2, the chroma type can be a 4:2:2 format. When the value of the chroma type is 3, the chroma type can be a 4:4:4 format. Furthermore, combined chroma encoding can also be called joint encoding of chroma components. Chroma components can include Cb components and / or Cr components. For example, the syntax element of this flag can be the Qp mentioned above. C _data_present_flag.

[0428] For example, a value of 0 indicates that the quantization parameter data used for combining chroma encoding does not exist. A value of 1 indicates that the quantization parameter data used for combining chroma encoding exists.

[0429] Furthermore, the flag can be signaled using advanced syntax, for example. For instance, the flag can be signaled using a Sequence Parameter Set (SPS), Picture Parameter Set (PPS), Slice Header, or Adaptive Parameter Set (APS).

[0430] The decoding device obtains quantization parameter data for combining chroma encoding based on the flag (S610). The decoding device can obtain the quantization parameter data for combining chroma encoding based on the flag. For example, the decoding device can obtain the quantization parameter data for combining chroma encoding based on a flag indicating the presence of such data. That is, for example, when the value of the flag is 1, the decoding device can obtain the quantization parameter data for combining chroma encoding. Furthermore, for example, the quantization parameter data can be notified by a signal using an advanced syntax. For example, the quantization parameter data can be notified by a sequence parameter set (SPS), picture parameter set (PPS), slice header, or adaptive parameter set (APS).

[0431] For example, quantization parameter data may include syntax elements representing the starting index of a chroma quantization parameter table used for combined chroma encoding and / or syntax elements representing the difference between the starting and ending indices of the chroma quantization parameter table. The syntax element representing the starting index may be qPi_min_idx as described above. Furthermore, the syntax element representing the difference between the starting and ending indices may be qPi_delta_max_idx. Additionally, the chroma quantization parameter table may also be called a chroma quantization parameter map or a user-defined quantization parameter map. Furthermore, the starting index may also be called the minimum index. Furthermore, for example, the syntax elements representing the starting index and / or the difference between the starting and ending indices can be signaled using high-level syntax. For example, the syntax elements representing the starting index and / or the difference between the starting and ending indices can be signaled using a Sequence Parameter Set (SPS), Picture Parameter Set (PPS), Slice Header, or Adaptive Parameter Set (APS).

[0432] Furthermore, for example, the quantization parameter data may include syntax elements of the quantization parameter values ​​for the indices of the colorimetric quantization parameter table. That is, for example, the quantization parameter data may include syntax elements of the quantization parameter values ​​for the respective indices of the colorimetric quantization parameter table. The syntax element of the quantization parameter value for the index may be the Qp mentioned above. C _qPi_val[i]. Furthermore, for example, syntax elements whose quantization parameter values ​​are indexed can be signaled using high-level syntax. For example, syntax elements whose quantization parameter values ​​are indexed can be signaled using sequence parameter sets (SPS), picture parameter sets (PPS), slice headers, or adaptive parameter sets (APS).

[0433] Additionally, for example, the quantization parameter data may include syntax elements representing offsets used to derive quantization parameters for combined chroma encoding. The syntax element representing the offset could be QpOffset as described above. C Furthermore, for example, syntax elements indicating offsets can be signaled using high-level syntax. For instance, syntax elements indicating offsets can be signaled using Sequence Parameter Set (SPS), Picture Parameter Set (PPS), Slice Header, or Adaptive Parameter Set (APS).

[0434] The decoding device derives a colorimetric parameter table based on the quantization parameter data (S620). The decoding device can derive a colorimetric parameter table used for combining colorimetric encoding based on the quantization parameter data. This colorimetric parameter table can be called a colorimetric parameter mapping table or a user-defined quantization parameter mapping table.

[0435] For example, as described above, a colorimetric quantization parameter table can be derived based on syntax elements representing the starting index of the colorimetric quantization parameter table, syntax elements representing the difference between the starting and ending indices of the colorimetric quantization parameter table, and / or syntax elements representing the quantization parameter values ​​of the indices of the colorimetric quantization parameter table. That is, for example, a colorimetric quantization parameter table used for combining colorimetric encoding can be derived based on quantization parameter data.

[0436] The decoding device derives the quantization parameters used for combining chroma encoding based on the chroma quantization parameter table (S630). The quantization parameters used for combining chroma encoding can represent the aforementioned QP`. CbCr .

[0437] For example, the index for combined chroma coding can be derived based on the quantization parameters of the luminance component. The quantization parameters for combined chroma coding can be derived based on the quantization parameters of the index in the chroma quantization parameter table. That is, for example, the quantization parameters used for combined chroma coding can be derived based on the quantization parameters of the index in the chroma quantization parameter table that are the same as the quantization parameters of the luminance component.

[0438] Furthermore, for example, the quantization parameters used for combining chroma encoding (e.g., QP') CbCr This can be achieved by combining the offset with the quantization parameter (e.g., QP) of the colorimetric quantization parameter table. CbCr The offset can be derived by adding them together. The offset can be derived based on the syntax elements that represent the offsets used to derive the quantization parameters used for combining chroma codes.

[0439] The decoding device derives the residual samples based on quantization parameters (S640). The decoding device can derive the residual samples based on quantization parameters. For example, the decoding device can derive the transform coefficients based on residual information by dequantizing the transform coefficients to derive the residual samples. Alternatively, for example, the decoding device can derive the transform coefficients based on residual information by performing an inverse transform on the transform coefficients to derive the transform coefficients of the inverse transform, and can derive the residual samples by dequantizing the transform coefficients of the inverse transform.

[0440] The decoding device generates a reconstructed image based on the residual samples (S650). For example, the decoding device can generate a reconstructed image based on the residual samples.

[0441] Furthermore, for example, the decoding device can derive prediction samples by performing inter-frame prediction mode or intra-frame prediction mode on the current block based on prediction information received through the bit stream, and can generate reconstructed samples by adding the prediction samples and residual samples.

[0442] Subsequently, if necessary, to improve the subjective / objective image quality, loop filtering processes such as unblocking filtering, SAO, and / or ALF processes can be applied to the reconstructed samples as described above.

[0443] Figure 7 A decoding device for performing the image decoding method according to this document is illustrated schematically. Figure 6 The method disclosed in the article can be derived from Figure 7 The decoding device disclosed in the document performs the operation. Specifically, for example, Figure 7 The entropy decoder of the decoding device can perform Figure 6 The S600 in the series. Figure 7 The residual processor of the decoding device can perform Figure 6 S610 to S640. Figure 7 The adder of the decoding device can perform Figure 6 The S650 in the series.

[0444] According to this disclosure, a chromaticity quantization parameter table for quantization parameter derivation can be determined based on a flag indicating whether quantization parameter data for quantization parameter derivation for chromaticity components is sent. Encoding efficiency can be improved by performing encoding based on the quantization parameters according to the characteristics of the image.

[0445] Furthermore, according to this disclosure, a chromaticity parameter table for chromaticity components can be determined based on chromaticity quantization data notified by a signal. Encoding efficiency can be improved by performing encoding based on quantization parameters according to the characteristics of the image.

[0446] In the above embodiments, the method is described based on a flowchart having a series of steps or blocks. This disclosure is not limited to the order of the above steps or blocks. Some steps or blocks may be performed in a different order than the other steps or blocks described above, or may be performed simultaneously. Furthermore, those skilled in the art will understand that the steps shown in the flowchart are not exclusive, and may include other steps, or one or more steps in the flowchart may be deleted without affecting the scope of this disclosure.

[0447] The embodiments described in this specification can be executed by being implemented on a processor, microprocessor, controller, or chip. For example, the functional units shown in each figure can be executed by being implemented on a computer, processor, microprocessor, controller, or chip. In this case, the information for implementation (e.g., information about instructions) or algorithms can be stored in a digital storage medium.

[0448] Furthermore, the decoding and encoding devices using this disclosure can be included in the following devices: multimedia broadcasting transmitting / receiving devices, mobile communication terminals, home theater video devices, digital cinema video devices, surveillance cameras, video chat devices, real-time communication devices such as video communication, mobile streaming devices, storage media, portable video cameras, VoD service providing devices, over-the-top (OTT) video devices, internet streaming service providing devices, three-dimensional (3D) video devices, teleconferencing video devices, transportation user equipment (e.g., vehicle user equipment, aircraft user equipment, and ship user equipment), and medical video devices; and the decoding and encoding devices using this disclosure can be used to process video signals or data signals. For example, over-the-top (OTT) video devices can include game consoles, Blu-ray players, internet-access televisions, home theater systems, smartphones, tablet computers, digital video recorders (DVRs), etc.

[0449] Furthermore, the processing methods of this disclosure can be generated in the form of a computer-executable program and can be stored in a computer-readable recording medium. Multimedia data with data structures according to this disclosure can also be stored in a computer-readable recording medium. A computer-readable recording medium includes all types of storage devices in which computer-readable data is stored. Computer-readable recording media can include, for example, BD, Universal Serial Bus (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage devices. Additionally, computer-readable recording media include media implemented in the form of a carrier wave (e.g., transmission via the Internet). Furthermore, bitstreams generated by encoding methods can be stored in a computer-readable recording medium or transmitted via wired / wireless communication networks.

[0450] Furthermore, embodiments of this disclosure can be implemented using computer program products based on program code, and the program code can be executed on a computer using embodiments of this disclosure. The program code can be stored on a computer-readable medium.

[0451] Figure 8 A structural diagram of a content streaming system applying this disclosure is shown.

[0452] The content streaming system using the embodiments of this disclosure may mainly include an encoding server, a streaming server, a network server, a media storage device, a user device, and a multimedia input device.

[0453] An encoding server compresses content input from multimedia input devices such as smartphones, cameras, or camcorders into digital data to generate a bitstream, which is then sent to a streaming server. As another example, when multimedia input devices such as smartphones, cameras, or camcorders generate bitstreams directly, the encoding server can be omitted.

[0454] A bitstream can be generated by an encoding method or bitstream generation method that applies the embodiments of this disclosure, and the stream server can temporarily store the bitstream during the sending or receiving of the bitstream.

[0455] The streaming server sends multimedia data to the user device via a web server based on user requests, and the web server acts as a medium for notifying the user of services. When a user requests a desired service from the web server, the web server transmits the request to the streaming server, and the streaming server sends the multimedia data to the user. In this scenario, the content streaming system may include a separate control server. In this case, the control server is used to control the commands / responses between devices within the content streaming system.

[0456] A streaming server can receive content from media storage devices and / or encoding servers. For example, when receiving content from an encoding server, the content can be received in real time. In this case, to provide a smooth streaming service, the streaming server can store the bitstream for a predetermined period of time.

[0457] Examples of user devices may include mobile phones, smartphones, laptops, digital broadcast terminals, personal digital assistants (PDAs), portable multimedia players (PMPs), navigators, touchscreen PCs, tablet PCs, ultrabooks, wearable devices (e.g., smartwatches, smart glasses, and head-mounted displays), digital TVs, desktop computers, and digital signage. Each server within the content streaming system can operate as a distributed server, in which case data received from each server can be distributed.

[0458] The claims described in this disclosure can be combined in various ways. For example, the technical features of the method claims of this disclosure can be combined to implement a device, and the technical features of the device claims of this disclosure can be combined to implement a method. Furthermore, the technical features of the method claims and the device claims of this disclosure can be combined to implement a device, and the technical features of the method claims and the device claims of this disclosure can be combined to implement a method.

Claims

1. A decoding device for image decoding, the decoding device comprising: Memory; as well as At least one processor connected to the memory, the at least one processor being configured to: Based on the chroma type, a flag is obtained indicating whether quantization parameter data for combining chroma encoding exists; The quantization parameter data used for the combined chroma coding is obtained based on the flag; The colorimetric parameter table is derived based on the quantization parameter data. The quantization parameters used for the combined chromaticity coding are derived based on the chromaticity quantization parameter table. The residual samples are derived based on the quantization parameters. as well as The reconstructed image is generated based on the residual samples. The quantization parameter data includes syntax elements for the initial quantization parameters of the colorimetric quantization parameter table and syntax elements for the number of quantization parameters in the colorimetric quantization parameter table.

2. An encoding device for image encoding, the encoding device comprising: Memory; as well as At least one processor connected to the memory, the at least one processor being configured to: Derive the residual samples of the chromaticity components; Quantization parameter data for combined chromaticity encoding of the residual samples is generated based on the chromaticity type of the chromaticity components. Generate a flag indicating whether the quantization parameter data is used for the combined chroma encoding; as well as The quantization parameter data and the flag are encoded. The quantization parameter data includes syntax elements for the initial quantization parameters of the colorimetric quantization parameter table and syntax elements for the number of quantization parameters in the colorimetric quantization parameter table.

3. A data transmitting device for an image, the transmitting device comprising: At least one processor configured to obtain a bitstream, wherein the bitstream is generated based on the following operations: deriving residual samples of chroma components; generating quantization parameter data for combined chroma encoding of the residual samples based on the chroma type of the chroma components; generating a flag indicating the presence of the quantization parameter data for the combined chroma encoding; and encoding the quantization parameter data and the flag; and A transmitter configured to send the data including the bit stream. The quantization parameter data includes syntax elements for the initial quantization parameters of the colorimetric quantization parameter table and syntax elements for the number of quantization parameters in the colorimetric quantization parameter table.