Image decoding method and device therefor
The image decoding method improves coding efficiency by deriving quantization parameters for chroma components based on image characteristics, addressing the high data volume challenge in high-resolution images and reducing transmission and storage costs.
Patent Information
- Application Number
- JP2025081844
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2019-06-11
- Filing Date
- 2025-05-15
- Publication Date
- 2025-08-13
- Estimated Expiration
- 2040-06-11
AI Technical Summary
The challenge of efficiently encoding high-resolution, high-quality images is exacerbated by the increased data volume, leading to higher transmission and storage costs, necessitating improved image coding efficiency, particularly in the derivation of quantization parameters for chroma components.
An image decoding method and apparatus that derives quantization parameters for joint chroma coding based on image characteristics, using a flag to determine the quantization parameter table, enabling efficient coding by accounting for image-specific traits.
This approach enhances coding efficiency by allowing for data compression that adapts to image characteristics, reducing transmission and storage costs while maintaining image quality.
Smart Images

Figure 2025118881000001_ABST
Abstract
Description
[Technical Field]
[0001] This document relates to image coding technology, and more particularly to image coding systems. Chroma quantization parameter data signaled via high-level syntax in The present invention relates to an image decoding method and apparatus for coding image information based on a data. [Background technology]
[0002] Recently, HD (High Definition) images and UHD (Ultra High Definition) images have become There is a wide range of demand for high-resolution, high-quality images such as (High Definition) images. The higher the resolution and quality of image data, the greater the cost compared to existing image data. The amount of information or bits transmitted will increase relative to the existing wired and wireless broadband lines. The image data is transmitted using a medium such as a Storing the data increases transmission and storage costs.
[0003] This allows for the efficient transmission, storage and reproduction of high-resolution, high-quality image information. Therefore, highly efficient image compression techniques are required. Summary of the Invention [Problem to be solved by the invention]
[0004] The technical problem of this document is to provide a method and apparatus for increasing image coding efficiency. be.
[0005] Another technical issue in this document is the data for quantization parameter derivation for chroma components. To provide a method and apparatus for improving coding efficiency. [Means for solving the problem]
[0006] According to one embodiment of the present document, an image decoding method to be executed by a decoding device is provided. The method includes steps of obtaining image information, and recovering the image information based on the image information. The method is characterized by including a step of generating an original picture.
[0007] According to another embodiment of the present document, there is provided a decoding device for performing image decoding. The decoding device includes an entropy decoding unit for acquiring image information, and a decoding unit for decoding the image information. The present invention is characterized by including a residual processing unit that generates a restored picture based on the
[0008] According to yet another embodiment of the present document, a video encoding device A coding method is provided, the method comprising the steps of encoding image information and The method includes the step of generating a bitstream containing the information.
[0009] According to yet another embodiment of the present document, there is provided a video encoding device. A coder encodes image information and generates a bitstream containing the image information. It is characterized by including an entropy encoding section. [Effects of the Invention]
[0010] According to this document, the quantization parameters for deriving the quantization parameters for the chroma components are Based on the flag indicating whether data is to be transmitted, the quantization parameter is derived. The parameter table can be determined based on the quantization parameters according to the image characteristics. Therefore, coding efficiency can be improved by performing coding using the
[0011] According to this document, the chroma components are quantized based on the chroma quantization data signaled. It is possible to determine the quantization parameter table for the image, and the quantization parameters according to the image characteristics can be Coding can be performed based on the data, improving coding efficiency. [Brief explanation of the drawings]
[0012] [Figure 1] 1 illustrates schematically an example of a video / image coding system to which embodiments of the present document may be applied. [Figure 2] 1 is a diagram illustrating a schematic configuration of a video / image encoding device to which embodiments of the present document can be applied; [Figure 3] 1 is a diagram illustrating the configuration of a video / image decoding device to which the embodiments of the present document can be applied; [Figure 4] 1 shows an example of an intra-prediction based video / image encoding method. [Figure 5] 1 shows an example of an intra-prediction based video / image encoding method. [Figure 6] 1 illustrates an exemplary intra-prediction procedure. [Figure 7] 1 shows an example of an inter-prediction based video / image encoding method. [Figure 8] 1 shows an example of an inter-prediction based video / image decoding method. [Figure 9] 1 illustrates an exemplary inter-prediction procedure. [Figure 10] 1 illustrates a schematic diagram of an image encoding method using an encoding device according to the present document. [Figure 11] 1 shows a schematic diagram of an encoding device for performing the image encoding method according to the present document; [Figure 12] 1 illustrates an image decoding method using a decoding device according to the present document. [Figure 13] 1 shows a schematic diagram of a decoding device for performing the image decoding method according to the present document; [Figure 14]1 exemplarily illustrates a structural diagram of a content streaming system to which an embodiment of the present document is applied. DETAILED DESCRIPTION OF THE INVENTION
[0013] This document may be modified in various ways and may have various embodiments, and specific The embodiments are illustrated in the drawings and will be described in detail. However, this does not necessarily mean that the present document is The term commonly used in this specification is not intended to limit the scope of the present invention to the specific embodiments. It is used to explain certain embodiments and is not intended to limit the technical idea of this document. The singular expressions are used only if the context clearly indicates otherwise. In this specification, terms such as "include" or "have" include plural expressions unless otherwise specified. does not refer to any feature, number, step, operation, component, part, or combination thereof described in the specification. It is intended to specify that there exists a combination of one or more any other feature, number, step, action, component, part, or combination thereof It should be understood that the existence or possibility of addition of such is not precluded.
[0014] On the other hand, each configuration on the drawings described in this document relates to a different characteristic function. For the convenience of explanation, the components are illustrated separately, and each component is a separate piece of hardware. This does not mean that each component is implemented by a separate software. Two or more of these can be combined to form one structure, and one structure can be combined into multiple structures. The embodiments in which the components are integrated and / or separated are also within the scope of this document. This document is within the scope of the rights of the user, provided that no deviation from the above is made.
[0015] Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the accompanying drawings. In the drawings, the same reference numerals are used for the same components, and the same components are referred to repeatedly. The explanation can be omitted.
[0016] FIG. 1 illustrates an example of a video / image coding system in which embodiments of this document may be applied. Schematically shown.
[0017] As shown in FIG. 1, the video / image coding system includes a first device (a source device) The source device may include a second device (the receiving device) and a third device (the encoding device). The downloaded video / image information or data can be saved as a file or Transmitted to a receiving device via a digital storage medium or network in streaming form It is possible.
[0018] The source device may include a video source, an encoding device, and a transmitting unit. The receiving device may comprise a receiver, a decoder, and a renderer. The encoding device may be called a video / image encoding device, and the decoding device may be called a The transmitter can be called a video / image decoding device. The receiver may be included in a decoding device. The display unit may be a separate device or an external device. It can also be composed of sub-components.
[0019] Video sources are those that provide video via video / image capture, synthesis, or generation processes. The video source can be a video / image capture device or and / or video / image generating devices. The source may be, for example, one or more cameras, video / images containing previously captured video / images The video / image generating device may comprise, for example, a computer It can be equipped with computers, tablets, and smartphones, and can be used to (electronically) For example, a virtual video / image can be generated via a computer. Images can be generated, in which case the video / image capture is performed during the process of generating the associated data. The capture process can be replaced.
[0020] An encoding device is capable of encoding an input video / image. performs a series of steps, such as prediction, transformation, and quantization, for compression and coding efficiency. The encoded data (encoded video / image information) can be It can be output in the form of a bitstream.
[0021] The transmitter receives encoded video / image information output in the form of a bitstream or The data is transferred in file or streaming form to a digital storage medium or network. The digital storage medium can be a USB, S, It can include various storage media such as DVD, Blu-ray, HDD, SSD, etc. The sending unit generates a media file in a predetermined file format. for transmission over a broadcast / communication network. The receiver may receive / extract the bitstream and decode it. The information can be transmitted to the device.
[0022] The decoder performs a series of operations, such as inverse quantization, inverse transform, and prediction, that correspond to the operations of the encoder. You can decode the video / image by following these steps.
[0023] The renderer is able to render the decoded video / image. The captured video / image can be displayed via the display unit. .
[0024] This document relates to video / image coding. The method / embodiment is based on the versatile video coding (VVC) standard, EVC (essential video coding) standard, AV1 (AOMedi) a Video 1) standard, AVS2 (2nd generation of audi video coding standard), or next generation video / image coding This applies to the methods disclosed in the encoding standards (e.g., H.267 or H.268, etc.). This can be done.
[0025] This document presents various embodiments relating to video / image coding and other references. Unless otherwise stated, the above embodiments can also be implemented in combination with each other.
[0026] In this document, a video is a sequence of images over time. A picture can generally refer to a single image at a particular time. It means a unit of image, and subpicture / slice A tile is a unit that constitutes part of a picture in coding. A subpicture / slice / tile consists of one or more CTUs (coding tree units). A picture may contain one or more sub-pictures / slices / tiles. A picture may be made up of one or more groups of tiles. A tile group may contain one or more tiles. A brick is a tile in a picture. (a brick may represent a rectangular area of a CTU row within a brick) rectangular region of CTU rows within a A tile is partitioned into multiple bricks. Each brick consists of one or more rows of CTUs within the tile (A tile may be partitioned into multiple bricks, each of which consists of one or more CTU rows within the tile). A tile that is not partitioned may also be called a brick. is not partitioned into multiple bricks may be also referred to as a brick). Bri A scan indicates a particular sequential ordering of CTUs that partition a picture. The CTUs are aligned within a brick by CTU raster scanning, and the bricks within a tile are aligned. The bricks are aligned consecutively in a raster scan of the bricks of the tile, and the picture The tiles in are aligned contiguously with a raster scan of the tiles of the picture (A bri ck scan is a specific sequential orderin g of CTUs partitioning a picture in whic h the CTUs are ordered consecutively in CTU raster scan in a brick, bricks withi na tiles are ordered consecutively in a raster scan of the bricks of the tile, a nd tiles in a picture are ordered consec utively in a raster scan of the tiles of A subpicture can also be one or more slides within the subpicture. (a subpicture may represent a rectangular area of the rectangular region of one or more slices within a picture), i.e., a subpicture is a rectangular area of a picture. Contains one or more slices that comprehensively cover the area (a subpicture con tains one or more slices that collective ly cover a rectangular region of a pictu re). A tile is a rectangular area of a specific tile row and a CTU within the specific tile row (A tile is a rectangular region of CTUs wit hin a particular tile column and a parti cular tile row in a picture). The tile row is a rectangular region, the rectangular region having a height equal to the height of the picture and a width equal to the height of the picture; The tile col is specified by a syntax element in the parameter set. umn is a rectangular region of CTUs havi ng a height equal to the height of the p picture and a width specified by syntax e lements in the picture parameter set). A tile row is a rectangular region of a CTU, and the rectangular region is a It has a width specified by a syntax element and a height equal to the height of the picture. Possible (The tile row is a rectangular region n of CTUs having a height specified by s yntax elements in the picture parameter set and a width equal to the width of th Tile scan is a feature of CTU that partitions the picture. The CTUs are sequentially ordered in a raster scan of the CTUs within a tile. The tiles in a picture are aligned contiguously in a raster scan of the tiles of the picture. (A tile scan is a specific sequential o rdering of CTUs partitioning a picture i n which the CTUs are ordered consecutively ly in CTU raster scan in a tile whereas tiles in a picture are ordered consecuti very in a raster scan of the tiles of th A slice contains an integer number of bricks of a picture, and A slice contains an NAL unit. integer number of bricks of a picture th at maybe exclusively contained in a sing A slice can consist of several complete tiles or a single NAL unit. A slice may be a continuous sequence of complete bricks of a tile. onsists of either a number of complete t iles or only a consecutive sequence of c complete bricks of one tile). In this document, the tile group Groups and slices may be mixed. For example, in this document, tile group / til e group header may also be called slice / slice header stomach.
[0027] A pixel or pel is a unit of a picture (or image). It can also mean the smallest unit that constitutes a pixel. A "sample" can be used. A sample is generally a pixel or It can show the value of a pixel or a pixel, and only the pixel / pixel value of the luma component It is also possible to show only the chroma component pixel / pixel values. It is also possible.
[0028] A unit can refer to the basic unit of image processing. It can include at least one of the specific area of the chat and information related to that area. One unit consists of one luma block and two chroma (e.g., cb, cr) blocks. A unit may contain a block or an area. It can be used interchangeably with terms such as area. In the general case, M × N blocks A block is a sample (or sample array) of M columns and N rows, or a variable Contains a set (or array) of transform coefficients. It can be done.
[0029] In this specification, "A or B" means "A only," "B only," or "A and In other words, in this specification, "both A and B" can mean "both A and B." ) can be interpreted as "A and / or B." For example, In this case, "A, B or C" means "A only," "B only," or "C only." or "any combination of A, B and C" A, B and C).
[0030] As used herein, a slash ( / ) or a comma means "and / or" can mean "and / or." For example, "A / B" means "A and / or B." This means that "A / B" can mean "A only," "B only," or "both A and B." For example, "A, B, C" can mean "A, B, or C."
[0031] As used herein, "at least one of A and B" "A and B" can mean "A only," "B only," or "both A and B." In the present specification, "at least one of A or B" or B)" or "at least one of A and / or B" The phrase "at least one of A and B" is used to mean "at least one of A and B" This can be interpreted in the same way as "one of A and B" (one of A and B).
[0032] In addition, in this specification, "at least one of A, B, and C" of A, B and C)" means "A only," "B only," "C only," or "A, Any combination of A, B and C and C)" and "at least one of A, B, or C (at least one of A, B, or C)" "at least one of A, B and / or C" or "at least one of A, B and / or C" (at least one of A, B and / or C) means "at least one of A, B and C" possible.
[0033] Also, parentheses used in this specification mean "for example." Specifically, when "Prediction (intra prediction)" is displayed, For example, "intra prediction" may be proposed. "Prediction" is not limited to "intra prediction", and "intra prediction" is "prediction" This can be proposed as an example of "prediction (i.e., intra-prediction)." Even when it is displayed, "intra prediction" is suggested as an example of "prediction." It is possible that.
[0034] Technical features described separately in one drawing in this specification may be realized separately. Alternatively, they may be realized simultaneously.
[0035] The following drawings are created to illustrate a specific example of the present specification. The names of specific devices and specific signal / message / field names are provided as examples only. Therefore, the technical features of this specification are not limited to the specific names used in the following drawings. It will not be done.
[0036] FIG. 2 shows a schematic diagram of a video / image encoding device to which the embodiments of this document can be applied. Hereinafter, the term "video encoding device" includes an image encoding device. can be done.
[0037] As shown in FIG. 2, the encoding device 200 includes an image partitioning unit. ioner 210, a predictor 220, a residual processing unit dual processor) 230, entropy encoding section (entrop y encoder) 240, an adder unit (adder) 250, and a filtering unit (fil The processor 260 may be configured with a memory 270 . The prediction unit 220 may include an inter prediction unit 221 and an intra prediction unit 222. The residual processing unit 230 includes a transformer 232, a quantization unit ( quantizer 233, inverse quantization unit (dequantizer) 234, inverse transform unit (inverse transformer) 235 can be equipped. The filter processing unit 230 may further include a subtractor 231. The adder 250 is a reconstructor or a reconstructed block generator ( recontructed block generator) The image division unit 210, the prediction unit 220, the residual processing unit 230, and the entropy The encoding unit 240, the adding unit 250, and the filtering unit 260 may be implemented in various ways depending on the embodiment. one or more hardware components (e.g., encoder chipset or processor) The memory 270 can be configured by a DPB (decode processor). d picture buffer) and is composed of a digital storage medium. The hardware component may also include a memory 270 as an internal / external component. It can also be provided as a component.
[0038] The image division unit 210 divides the input image (or picture) input to the encoding device 200. , frames) into one or more processing units In one example, the processing unit may be a coding unit. In this case, the coding unit can be called a coding unit (CU). coding tree unit (CTU) or maximum coding Largest coding unit (LCU) to QTBTT T (Quad-tree, binary-tree, ternary-tree) structure Therefore, it can be divided recursively. For example, The reading unit may be a quad tree structure, a binary tree structure, and / or a ternary tree structure. Divided into multiple coding units at deeper depths based on the structure In this case, for example, a quad tree structure can be applied first, and then a binary tree can be applied. A structure and / or ternary structure can be applied later. Or a binary tree The structure can be applied first to the final coding unit that is not further divided. In this case, the coding procedure according to the present document can be carried out based on the image characteristics Based on the coding efficiency etc., the maximum coding unit is immediately the final code. It can be used as a coding unit or as a coding unit as required. The unit recursively transforms into a lower depth coding unit. The coding unit with the optimal size is the final coding unit. Here, the coding procedure includes prediction, conversion, and decoding, which will be described later. In another example, the processing unit may include a prediction unit ( PU: Prediction Unit) or TU: Transform Unit In this case, the prediction unit and the transform unit may further comprise a transform unit (m transform unit). Each unit is divided or partitioned from the final coding unit described above. The prediction unit is a unit of sample prediction, and the transform unit The residual signal is derived from the units and / or conversion factors. al signal).
[0039] A unit is sometimes called a block or an area. In the general case, an MxN block consists of M columns and N rows of samples or transform coefficients ) A sample generally represents a pixel or a pixel value. It can only show the pixel / pixel value of the luminance (luma) component, and not the saturation It is also possible to show only the pixel / pixel values of the (chroma) components. A picture (or image) is divided into pixels or pels. It can be used as a term.
[0040] The encoding device 200 derives the following from an input image signal (original block, original sample array): A predicted signal (predicted signal) output from the inter prediction unit 221 or the intra prediction unit 222 block, prediction sample array) to obtain the residual signal The generated registers (signal, residual block, residual sample array) can be generated. The dual signal is sent to the converter 232. In this case, as shown, the encoder 200, the input image signal (original block, original sample array) is converted into a predicted signal (prediction The unit for subtracting the predicted sample array (measured block) is called the subtractor 231. The prediction unit performs prediction for the block to be processed (hereinafter referred to as the current block). and a predicted block (predicate) containing predicted samples for the current block is generated. The prediction unit generates a current block or CU unit. can determine whether intra or inter prediction is applied. As will be described later in the description of each prediction mode, the prediction unit Various information related to prediction can be generated and transmitted to the entropy encoding unit 240. The prediction information is encoded by the entropy encoding unit 240 into a bit stream. It can be output in stream form.
[0041] The intra prediction unit 222 predicts the current block by referring to samples in the current picture. The referenced samples may be the samples around the current block according to the prediction mode. They can be located in neighbors or far apart. In intra prediction, prediction modes include multiple non-directional modes and multiple directional modes. The non-directional mode can be, for example, a DC mode and a planar mode. The directional mode can include a directional mode (ar Mode). The directional mode can be set according to the degree of detail of the prediction direction. , for example, can include 33 directional prediction modes or 65 directional prediction modes. However, this is just an example, and more or less directions may be used depending on the settings. The intra prediction unit 222 applies the inter-prediction mode to the neighboring blocks. The prediction mode can be used to determine the prediction mode to be applied to the current block. do.
[0042] The inter prediction unit 221 predicts a reference block specified by a motion vector on a reference picture. Derives a predicted block for the current block based on the reference sample array In this case, in order to reduce the amount of motion information transmitted in inter prediction mode, To do this, the motion information is extracted from the block based on the correlation of the motion information between the neighboring block and the current block. The motion information can be predicted in units of blocks, sub-blocks, or samples. The motion information may include a reference picture index and a motion vector. It may further include information on the prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.). In the case of prediction, the neighboring blocks are spatial neighboring blocks (sp temporal neighboring block) and the temporal neighbors in the reference picture It may contain temporal neighboring blocks. A reference picture including the reference block and a reference picture including the temporally adjacent block can be The temporally adjacent blocks may be the same or different. collocated reference block, collocated CU (colCU), and the reference block including the temporally adjacent block. The picture is a collocated picture (colPic). For example, the inter-prediction unit 221 predicts a motion vector based on neighboring blocks. a motion vector and / or reference picture candidate list for the current block; Generate information that dictates what candidates are used to derive the index. Inter prediction can be performed based on various prediction modes, for example: In the skip mode and merge mode, the inter prediction unit 221 predicts the motion of adjacent blocks. In skip mode, the motion information of the current block can be used. Unlike merge mode, residual signals may not be transmitted. In motion vector prediction (MVP) mode, adjacent blocks The motion vectors of the block are calculated as the motion vector predictor. tor) and motion vector difference Indicating the motion vector of the current block by signaling can be done.
[0043] The prediction unit 220 can generate a prediction signal based on various prediction methods, which will be described later. For example, the prediction unit may use intra prediction or inter prediction for a block. Not only can intra-prediction be applied, but also intra-prediction and inter-prediction can be applied simultaneously. This can be done by combining inter and intra pr The prediction unit can be called a block-independent predictor (CIIP). For prediction, intra block copy (IB) C) It can also be based on prediction mode or palette mode The IBC prediction mode or palette mode can be based on, for example, S CC (screen content coding) and other similar technologies are used to IBC can be used for content / video coding. Prediction is performed within the current picture, but the reference blocks are derived within the current picture. IBC can be performed similarly to inter prediction. At least one of the inter prediction techniques described in the previous section can be used. The pareto mode can be seen as an example of intra-coding or intra-prediction. If pallet mode is applied, information about the pallet table and pallet index The sample values in the picture can be signaled based on
[0044] via the prediction unit (including the inter prediction unit 221 and / or the intra prediction unit 222) The predicted signal generated by the above method is used to generate the reconstructed signal or to generate the residual signal. The conversion unit 232 can be used to convert the residual signal. Applying techniques to generate transform coefficients For example, the transform technique can be DCT (Discrete Cosine Transform). nsform), DST (Discrete Sine Transform), KLT (Karhunen-Loeve Transform), GBT (Graph-Bas ed Transform), or CNT (Conditionally Non-l Inner Transform) where When the relationship information between pixels is expressed as a graph, the GBT is CNT means the transformation performed on all previously restored pixels. A prediction signal is generated using the (normally reconstructed pixel) The transformation process is performed by dividing the squares into two parts with the same size. It can also be applied to blocks of pixels that are not square, or to blocks of variable size. It can also be applied.
[0045] The quantization unit 233 quantizes the transform coefficients and transmits them to the entropy encoding unit 240. The entropy encoding unit 240 encodes the quantized signal (the quantized transform coefficients) The quantized information can be encoded and output as a bit stream. The information about the converted transform coefficients can be called residual information. 3 is quantized in block form based on the coefficient scan order. The transform coefficients can be rearranged in a one-dimensional vector form, and the quantities in the one-dimensional vector form can be and generating information about the quantized transform coefficients based on the quantized transform coefficients. The entropy encoding unit 240 may use, for example, an exponential Golomb algorithm. al Golomb), CAVLC (context-adaptive variab le length coding), CABAC(context-adaptive various encodings such as binary arithmetic coding The entropy encoding unit 240 can perform the method. Besides the number of frames, information required for video / image restoration (e.g., syntax elements) is also included. x elements) together or separately. Coded information (e.g., encoded video / image information) is stored in a bitstream In the form of NAL (network abstraction layer) units The video / image information can be transmitted or stored. Picture Parameter Set (APS), Picture Parameter Set (PPS), Sequence Parameter Set Various parameter sets, such as the Signal Processing System (SPS), or the Video Parameter Set (VPS) The video / image information may further include information regarding the general restriction information. It may also include general constraint information. In this document, the information transmitted / signaled from the encoding device to the decoding device is The information and / or syntax elements may be included in the video / image information. The video / image information is encoded through the encoding procedure described above and then stored in the bitstream. The bitstream can be transmitted over a network. It can be stored on a network or on a digital storage medium. The network may include a broadcast network and / or a communication network, and the digital storage medium may include a USB, It can include various storage media such as SD, CD, DVD, Blu-ray, HDD, SSD, etc. The signal output from the entropy encoding unit 240 is sent to a transmitting unit (not shown) for transmission. The encoding device 200 may have an internal / external element (not shown) and / or a storage unit (not shown) for storing the encoded data. The transmitter may be configured as a transmitter, or the transmitter may be included in the entropy encoding unit 240. It can also be used as a tool.
[0046] The quantized transform coefficients output from the quantization unit 233 are used to generate a prediction signal. For example, the quantized transform coefficients can be input to the inverse quantization unit 234 and the inverse transform unit 236. 235 to apply inverse quantization and inverse transform to the residual signal (residue The adder 250 can restore the original block or residual sample. The restored residual signal is output from the inter prediction unit 221 or the intra prediction unit 222. The reconstructed signal is obtained by adding it to the input predicted signal. picture, reconstruction block, reconstruction sample array) can be generated. Skip mode is applied. If there is no residual for the block being processed, as in the case of The adder 250 may be used as a restore block. The generated reconstructed signal is the next block in the current picture. can be used for intra prediction of the current block, as will be described later. It can also be used for inter prediction of the next picture after filtering.
[0047] Meanwhile, in the picture encoding and / or restoration process, LMCS (luma mapping coefficients) with chroma scaling) can also be applied.
[0048] The filtering unit 260 applies filtering to the restored signal to obtain subjective / objective image quality. For example, the filtering unit 260 may apply various filtering to the reconstructed picture. Applying a filtering method to generate a modified reconstructed picture The corrected restored picture can be stored in the memory 270, specifically, the D The various filtering methods can be stored in the PB. filtering, sample adaptive offset fset), adaptive loop filter, both It may include a bilateral filter. As will be described later in the description of each filtering method, the filtering unit 260 Various information related to the encoding can be generated and transmitted to the entropy encoding unit 240. The information about filtering is encoded by the entropy encoding unit 240. The data can be output in the form of a bitstream.
[0049] The corrected reconstructed picture sent to the memory 270 is used as a reference picture in the inter-prediction unit 221. The encoding device can perform inter prediction through this. When applicable, it is necessary to avoid prediction mismatch between the encoding device 200 and the decoding device 300. This makes it possible to improve the coding efficiency.
[0050] The memory 270DPB stores the corrected reconstructed picture as a reference picture in the inter-prediction unit 221. The memory 270 stores the motion in the current picture for use as a The motion information of the block from which the information is derived (or encoded) and / or the already restored The motion information of the blocks in the original picture can be stored. The information is used as motion information of spatially adjacent blocks or temporally adjacent blocks. The memory 270 stores the current picture. The intra prediction unit 22 can store the reconstructed samples of the reconstructed blocks in the 2.
[0051] FIG. 3 is a schematic diagram illustrating the configuration of a video / image decoding device to which the embodiments of this document can be applied. FIG.
[0052] As shown in FIG. 3, the decoding device 300 includes an entropy decoding unit. decoder) 310, residual processing unit (residual processing r) 320, a predictor 330, an adder 340, a filter The filter 350 and the memory 360 are included. The prediction unit 330 includes an inter prediction unit 331 and an intra prediction unit 332. The residual processing unit 320 may include a dequantization unit. er 321 and an inverse transformer 322 The entropy decoding unit 310, the residual processing unit 320, and the prediction unit 310 can be used. The measuring unit 330, the adding unit 340, and the filtering unit 350 may be integrated into one hardware unit according to the embodiment. hardware components (e.g., decoder chipset or processor) The memory 360 can also store DPB (decoded picture e buffer) and may be comprised of a digital storage medium. The hardware components include memory 360 as an internal / external component. It may also be equipped with more.
[0053] When a bitstream containing video / image information is input, the decoding device 300 performs the following steps: Restoring the image corresponding to the process in which the video / image information was processed by the encoding device in step 2 For example, the decoding device 300 may The decoding device 300 can derive the units / blocks based on the block division related information. Decoding can be performed using a processing unit applied in the encoding device. Therefore, the processing unit for decoding is, for example, a coding unit. A coding unit is a quad from a coding tree unit or a maximum coding unit. Split according to a hex tree structure, a binary tree structure, and / or a ternary tree structure One or more transform units may be derived from a coding unit. Then, the restored image signal decoded and output through the decoding device 300 is can be played back via a playback device.
[0054] The decoding device 300 converts the signal output from the encoding device of FIG. 2 into a bitstream. The received signal can be received in the form of an entropy decoder 310. For example, the entropy decoding unit 310 can decode the bitstream. The stream is parsed to extract information necessary for image restoration (or picture restoration) (e.g., The video / image information can be derived from the adaptation parameters Set (APS), Picture Parameter Set (PPS), Sequence Parameter Set (SPS), or Video Parameter Set (VPS) The video / image information may further include general restriction information ( general constraint information) The decoding device can receive the information about the parameter set and / or the general restriction information. The picture can then be further decoded based on the information. The signaled / received information and / or syntax elements are decoded through the decoding procedure. It can be decoded and obtained from the bitstream. For example, entropy The decoding unit 310 is a coding unit such as Exponential Golomb coding, CAVLC or CABAC. The information in the bitstream is decoded based on the encoding method, and the syntax elements required for image restoration are generated. It can output the values of the elements, the quantized values of the transform coefficients related to the residuals, etc. In more detail, the CABAC entropy decoding method performs entropy decoding for each syntax in the bitstream. Receives bins corresponding to elements, and receives syntax element information to be decoded and surrounding and block to be decoded. It uses the decoded information of the block or the symbol / bin information decoded in the previous step. The context model is determined by the context model, and the bins are determined by the determined context model. ) and perform arithmetic decoding of the bins. ) to generate symbols corresponding to the values of each syntax element. After determining the context model, the ABAC entropy decoding method uses the context model of the next symbol / bin. Update contextual model using decoded symbol / bin information for Dell Among the information decoded by the entropy decoding unit 310, the prediction can be performed. The information is provided to the prediction units (inter prediction unit 332 and intra prediction unit 331), The residual values entropy decoded by the entropy decoding unit 310 That is, the quantized transform coefficients and related parameter information are sent to the residual processor 320. The residual processing unit 320 receives the residual signal (residual residual blocks, residual samples, and residual sample arrays can be derived. , information regarding filtering among the information decoded by the entropy decoding unit 310 The information can be provided to the filtering unit 350. A receiving unit (not shown) for receiving the output signal is connected to the internal / external elements of the decoding device 300. Alternatively, the receiver may be further configured as an entropy decoding unit 31. On the other hand, the decoding device according to this document is a component of video / image / picture decoder. The decoding device can be called an information decoder (video / image / picture Image information decoder) and sample decoder (video / image / picture sample decoder) The information decoder may be divided into the entropy decoding unit 310. The sample decoder may include the inverse quantization unit 321, the inverse transform unit 322, The adder 340, the filtering unit 350, the memory 360, the inter-prediction unit 332, and the inter-prediction unit 333 are connected to the inter-prediction unit 334. The image processing unit 300 may include at least one of the intra-prediction units 331.
[0055] The inverse quantization unit 321 inversely quantizes the quantized transform coefficients and outputs the transform coefficients. The inverse quantization unit 321 rearranges the quantized transform coefficients in a two-dimensional block format. In this case, the reordering can be performed by the coefficient scan performed in the encoding device. The inverse quantization unit 321 can perform reordering based on the order of the quantization parameters. Inverse quantization of quantized transform coefficients using (e.g., quantization step size information) Perform the transformation and obtain the transform coefficients. can be done.
[0056] The inverse transform unit 322 inversely transforms the transform coefficients to generate a residual signal (residual block , residual sample array).
[0057] The prediction unit performs prediction on the current block and generates a prediction sample for the current block. A predicted block containing the The prediction unit performs the following based on the information about the prediction output from the entropy decoding unit 310. Depending on the result, intra prediction or inter prediction is applied to the current block. It is possible to determine the specific intra / inter prediction mode. can.
[0058] The prediction unit 320 can generate a prediction signal based on various prediction methods, which will be described later. For example, the prediction unit may use intra prediction or inter prediction for a block. Not only can intra-prediction be applied, but also intra-prediction and inter-prediction can be applied simultaneously. This can be done by combining inter and intra pr The prediction unit can be called a block-independent predictor (CIIP). For prediction, intra block copy (IB) C) It can be based on prediction mode or palette mode The IBC prediction mode or palette mode can be based on, for example, SC C (screen content coding), etc. IBC can be used for content image / video coding. Prediction is performed within a picture, but is differentiated in that it derives reference blocks within the current picture. IBC can be performed similarly to the center prediction described in this document. At least one of the inter-prediction techniques described below can be used. A palette can be seen as an example of intra-coding or intra-prediction. If the mode is applied, information about the pallet table and pallet index is It can be signaled by being included in the video / image information.
[0059] The intra prediction unit 331 predicts the current block by referring to samples in the current picture. The referenced samples may be the samples around the current block according to the prediction mode. They can be located in the neighborhood or far away. In intra-prediction, prediction modes include multiple non-directional modes and multiple directional modes. The intra prediction unit 331 can predict the block size using the prediction mode applied to the neighboring block. , it is also possible to determine the prediction mode to be applied to the current block.
[0060] The inter prediction unit 332 predicts a reference block identified by a motion vector on a reference picture. Derives a predicted block for the current block based on the reference sample array In this case, the amount of motion information transmitted from the inter prediction mode can be reduced. To achieve this, the motion information is filtered based on the correlation between the motion information of the neighboring blocks and the current block. The motion information can be predicted in units of blocks, sub-blocks, or samples. The motion information may include a motion vector and a reference picture index. The image may further include information on the direction of image prediction (such as L0 prediction, L1 prediction, or Bi prediction). In the case of super-prediction, the neighboring blocks are the spatial neighboring blocks (s spatial neighboring block) and the temporal neighboring block present in the reference picture Temporal neighboring blocks For example, the inter prediction unit 332 generates a motion information candidate list based on neighboring blocks. and constructing a motion vector and / or a motion vector of the current block based on the received candidate selection information. can derive reference picture indexes. Inter prediction is performed based on various prediction modes. The information about the prediction may be an inter-prediction for the current block. The information may include information indicating the mode of measurement.
[0061] The adder 340 outputs the obtained residual signal to a prediction unit (inter prediction unit 332 and / or or intra prediction unit 331) The reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array) is obtained by adding As if skip mode was applied, the processing If there is no residual for the target block, the predicted block is used as the reconstructed block. It can be used as follows.
[0062] The adder 340 can be called a reconstruction unit or a reconstruction block generator. The reconstructed signal is used for intra prediction of the next block to be processed in the current picture. As will be described later, it can be output after filtering or It can also be used for inter prediction of pictures.
[0063] On the other hand, in the picture decoding process, LMCS (luma mapping with channel roma scaling) may also be applied.
[0064] The filtering unit 350 applies filtering to the restored signal to obtain subjective / objective image quality. For example, the filtering unit 350 may apply various filtering to the reconstructed picture. Applying a filtering method to generate a modified reconstructed picture The corrected restored picture can be stored in the memory 360, specifically, in the D The various filtering methods can be, for example, deblocking. filtering, sample adaptive offset fset), adaptive loop filter, both It may include a bilateral filter, etc.
[0065] The (corrected) reconstructed picture stored in the DPB of the memory 360 is fed to the inter-prediction unit 3 32 can be used as a reference picture. The motion information of the block from which the motion information is derived (or decoded) and / or the block already decoded The motion information of the blocks in the original picture can be stored. The information is used as motion information of spatially adjacent blocks or temporally adjacent blocks. The memory 360 stores the current picture. The intra prediction unit 33 can store the reconstructed samples of the reconstructed blocks in the can be transmitted to 1.
[0066] In this specification, the filtering unit 260 and the inter-prediction unit 260 of the encoding device 200 The embodiments described for the intra prediction unit 221 and the intra prediction unit 222 are respectively The filtering unit 350, the inter prediction unit 332, and the intra prediction unit 331 also have the same or different filtering characteristics. or can be applied correspondingly.
[0067] In this document, at least one of quantization / dequantization and / or transformation / inverse transformation is omitted. If the quantization / dequantization is omitted, the quantized transform The coefficients may be referred to as transform coefficients. Conversion coefficients can be called coefficients or residual coefficients, or they are used to Therefore, they can also be called conversion factors.
[0068] In this document, quantized transform coefficients and scaled transform coefficients are referred to as transform coefficients and scaled transform coefficients, respectively. In this case, the residual information may include information about the transform coefficients (etc.), and the information about the transform coefficients (etc.) may be , can be signaled via the residual coding syntax. The conversion coefficients are calculated based on the residual information (or the information about the conversion coefficients (etc.)). can be derived and scaled via an inverse transform (scaling) on the transform coefficients. The scaled transform coefficients can be derived. The residual sample can be derived based on this, as well as in other parts of this document. Can be applied / expressed.
[0069] As mentioned above, in video coding, prediction is used to improve compression efficiency. Through this, a prediction sample for the current block, which is the block to be coded, is obtained. A predicted block may be generated that includes a spatial domain. The predicted block contains prediction samples in the main (or pixel domain). is derived in the same way in the encoding device and the decoding device, and the encoding device The difference between the original block and the predicted block is not the original sample value itself. Signaling residual information to a decoding device This can improve the efficiency of image coding. deriving a residual block including residual samples based on the information, A reconstructed block including reconstructed samples is obtained by combining the dual block and the predicted block. and a reconstructed picture including the reconstructed blocks can be generated.
[0070] The residual information can be generated through a transformation and quantization procedure. For example, the encoding device may generate a residue between the original block and the predicted block. The residual block is derived, and the residual samples (residual samples) included in the residual block are A transform procedure is performed on the dual sample array to derive transform coefficients, and the transform coefficients are quantized. A procedure is performed to derive the quantized transform coefficients and to store the associated residual information (bitstream). The residue can be signaled to a decoding device (via a stream). The data includes value information, position information, transformation technique, transformation kernel, and the like of the quantized transformation coefficients. The residual information may include information such as a quantization parameter. Based on the information, the inverse quantization / inverse transform procedure is performed to obtain the residual samples (or residual The decoding device can derive the predicted block and the residual block. The encoding device can then generate a reconstructed picture based on the block. For reference for inter prediction, the quantized transform coefficients are inverse quantized / inverse transformed to A dual block can be derived and a reconstructed picture can be generated based on this.
[0071] Intra prediction is performed using a reference sample within the picture to which the current block belongs (hereinafter referred to as the current picture). A prediction can be expressed that generates a predicted sample for the current block based on the pull. If intra prediction is applied to the current block, the The neighboring reference samples of the current block may be derived as follows: The samples adjacent to the left boundary and bottom left of the current block of size om-left) adjacent samples, total 2 × nH, on the top of the current block The samples adjacent to the boundary and the top-right adjacent samples are 2xnW in total. The current block contains a sample and one adjacent sample at the top-left. Alternatively, the peripheral reference samples of the current block may include upper peripheral samples of multiple columns. The current block may also include a sample and multiple rows of left-side neighboring samples. The edge reference sample is adjacent to the right boundary of the current block of size nW × nH. A total of nH samples are taken, and a total of nW samples are taken adjacent to the bottom boundary of the current block. samples and the one adjacent to the bottom-right of the current block It may also include a sample of
[0072] However, some of the surrounding reference samples of the current block may not be decoded yet. , may not be available. In this case, the decoder must use Substitution of non-standard samples to obtain the surrounding reference samples used for prediction. You can configure the pull or interpolation of the available samples. We can configure the surrounding reference samples to be used for prediction via
[0073] If the neighboring reference samples are derived, (i) the neighbors of the current block ng) average or interpolation of the reference sample (ii) predictive samples can be derived based on the current block Among the surrounding reference samples of the block, the reference samples that exist in a specific (prediction) direction with respect to the predicted sample are In case (i), the predicted sample can be derived based on the sample. Non-directional or non-angular mode mode, and in case (ii) the directional mode or angle This can be called a ular mode.
[0074] Also, the current block is selected based on the predicted sample of the current block among the neighboring reference samples. The first neighboring sample located in the prediction direction of the intra prediction mode of the current block and the first neighboring sample located in the prediction direction of the intra prediction mode of the current block. The predicted sample is generated by interpolating with a second neighboring sample located in the opposite direction. In the above case, linear interpolation intra prediction is used. This can be called polation intraprediction (LIP). In addition, a linear model (LM) is used to estimate the Chroma prediction samples can also be generated based on the LM mode or C It can be called CLM (chroma component LM) mode.
[0075] Also, the current block is subjected to interim prediction based on the filtered neighboring reference samples. samples and uses the existing surrounding reference samples, i.e., unfiltered samples. At least one of the neighboring reference samples derived by the intra prediction mode The reference sample and the temporary predicted sample are weighted together to obtain the previous It is also possible to derive predicted samples for the current block. This is called position-dependent intraprediction It is possible.
[0076] In addition, the reference line with the highest prediction accuracy among the multiple reference sample lines around the current block is selected. A sample line is selected, and a prediction sample is calculated using a reference sample located in the prediction direction on that line. At this time, the reference sample line used is indicated to the decoding device (signal In the above case, multiplexing is performed. Multi-reference line intra-prediction or MRL basis This can be called intra-panel prediction.
[0077] In addition, the current block is divided into vertical or horizontal subpartitions and the same intra prediction is performed. Intra prediction is performed based on the mode, but the surrounding reference sub-partitions are used for the sub-partition unit. In this case, the input for the current block can be derived and used. Although the tra prediction mode is applied to the sub-partitions in the same way, Intra prediction is sometimes performed by deriving and using neighboring reference samples in each section. This prediction method can improve the performance. This can be called rtitions-based intra prediction.
[0078] The above-mentioned intra prediction methods are classified into intra prediction modes and are called intra prediction types. The intra prediction type can be referred to as an intra prediction technique or an additional intra prediction technique. For example, the intra prediction mode may be referred to as an intra prediction mode. The types (or additional intra prediction modes, etc.) are the LIP, PDPC, MRL, and I The LIP, PDPC, MRL, and IS SP may be included. The general intra prediction method, excluding specific intra prediction types such as P, is normal intra prediction. The normal intra prediction type can be called the normal intra prediction type. If the intra prediction type is not applicable, it can be generally applied and the aforementioned intra prediction type can be applied. Prediction can be performed based on the prediction mode. Post-processing filtering on Ĥ can also be performed.
[0079] Specifically, the intra prediction procedure includes an intra prediction mode / type decision step, a neighboring reference step, and a neighboring reference step. Sample derivation step, intra prediction mode / type-based prediction sample derivation step Optionally, post-processing filters can be applied to the derived prediction samples. A post-filtering step may also be performed.
[0080] FIG. 4 shows an example of an intra-prediction based video / image encoding method.
[0081] As shown in FIG. 4, the encoding device performs intra prediction on the current block (S 400). The encoding device derives the intra prediction mode / type for the current block. The neighboring reference samples of the current block can be derived, and the intra prediction mode / type and A predicted sample in the current block is generated based on the neighboring reference samples, The intra prediction mode / type decision, neighbor reference sample derivation, and predicted sample generation procedures are as follows: can be performed simultaneously, and one step can precede the other. The encoding device may select one of a plurality of intra prediction modes / types for the current block. The encoding device can determine the mode / type to be applied to the intra prediction. Compare the RD cost for each mode / type and select the optimal interface for the current block. You can decide the trajectory prediction mode / type.
[0082] Alternatively, the encoding device may also perform a predictive sample filtering procedure. The sample filtering can be called post-filtering. A sample filtering procedure filters some or all of the predicted samples. In some cases, the predicted sample filtering step may be omitted. can.
[0083] The encoding device generates the current block based on the (filtered) predicted samples. The encoding device generates a residual sample for the current block (S410). The predicted samples are compared phase-based with the original samples of the block, and the residual samples are The rule can be derived.
[0084] The encoding device receives information about the intra prediction (prediction information) and the residual Image information containing residual information about the sample can be encoded (S4 20) The prediction information includes the intra-prediction mode information and the intra-prediction type information. The encoding device may include a bitstream of encoded image information. The output bitstream can be transmitted over a storage medium or a network. The data can be transmitted to the decoding device via the network.
[0085] The residual information may include a residual coding syntax, which will be described later. The encoding device transforms / quantizes the residual samples to produce quantized The residual information can be used to derive the quantized transform coefficients. It can contain information.
[0086] On the other hand, as mentioned above, the encoding device generates a reconstructed picture (reconstructed samples and reconstructed blocks). To this end, the encoding device can generate the quantized transform coefficients can be inversely quantized / inversely transformed again to derive the (corrected) residual samples. The reason why we transform / quantize the residual samples and then inverse-transform / inverse-transform them again is As mentioned above, the residual samples are the same as those derived from the decoding device. The encoding device derives the predicted sample and the (corrected) sample. and the residual sample (reconstructed) for the current block. A reconstruction block may be generated, and reconstruction for the current picture may be performed based on the reconstruction block. A picture can be generated by further performing an in-loop filtering procedure on the reconstructed picture. As mentioned above, the present invention can be applied to the above.
[0087] FIG. 5 illustrates an example of an intra-prediction based video / image encoding method.
[0088] The decoding device can perform operations corresponding to those performed by the encoding device. do.
[0089] Prediction and residual information can be obtained from the bitstream. Based on the residual information, a residual sample for the current block can be derived. Specifically, based on the quantized transform coefficients derived based on the residual information, deriving transform coefficients by performing inverse quantization; performing inverse transform on the transform coefficients; Residual samples for the lock can be derived.
[0090] Specifically, the decoding device receives prediction information (intra-prediction mode / type information) Based on this, the intra prediction mode / type for the current block can be derived (S500). The decoding device can derive neighboring reference samples of the current block (S510). The coding device performs a coding process based on the intra prediction mode / type and the surrounding reference samples. A predicted sample in the current block is generated (S520). In this case, the decoding device A predictive sample filtering procedure can be performed, which includes: This can be called post-filtering. Therefore, some or all of the predicted samples may be filtered. , the prediction sample filtering procedure can be omitted.
[0091] The decoding device receives residual information and then decodes the current block. The decoding device generates a dual sample (S530). generating a reconstructed sample for the current block based on the residual sample; A reconstruction block including the reconstruction samples can be derived (S540). A reconstructed picture for the current picture may be generated by interpolating the reconstructed picture. As mentioned above, further loop filtering procedures etc. may be applied.
[0092] The intra prediction mode information is, for example, MPM (Most Probable Mode Modification). Whether the remaining mode is applied to the current block or not. Flag information (ex.intra_lu) that indicates whether the ning mode is applied or not. ma_mpm_flag), and the MPM is applied to the current block. In this case, the prediction mode information is one of the intra prediction mode candidates (MPM candidates). It also contains index information (ex. intra_luma_mpm_idx) that points to The intra-prediction mode candidates (MPM candidates) can be listed in an MPM candidate list or It can be configured as an MPM list. In addition, the MPM is applied to the current block. If not, the intra prediction mode information is ) Remaining mode information (ex. intra_luma_mpm_remainder). The code device determines the intra prediction mode of the current block based on the intra prediction mode information. You can determine the code.
[0093] The intra prediction type information can be implemented in various forms. The intra prediction type information indicates one of the intra prediction types. In another example, the intra prediction type information includes type index information. Whether RL is applied to the current block and, if so, what reference sample Reference sample line information (ex. intra_luma_r) that indicates whether a line is used. ef_idx), ISP flag information indicating whether the ISP is applied to the block (ex. intra_subpartitions_mode_flag), the ISP If applicable, the subpartition has ISP type information (ex. .intra_subpartitions_split_flag), PDCP application The information includes at least one of flag information indicating whether or not the LIP is applicable or flag information indicating whether or not the LIP is applicable. In addition, the intra prediction type information is used to determine whether the current block is MIP (matrix-based interpolation) or not. MIP flag indicating whether or not the sed intra prediction is applied. include.
[0094] The intra-prediction mode information and / or the intra-prediction type information are referred to in this document as It can be encoded / decoded by the coding method described above. For example, , the intra prediction mode information and / or the intra prediction type information is an entropy It is encoded / decoded through coding (e.g. CABAC, CAVLC) This can be done.
[0095] FIG. 6 exemplarily illustrates the intra prediction procedure.
[0096] Referring to FIG. 6, as described above, the intra prediction procedure is performed by selecting an intra prediction mode / type. Decision step, neighboring reference sample derivation step, intra prediction execution (prediction sample generation) The intra prediction procedure may include steps of: In this document, a coding device is an encoding and decoding device. It may include a coding device and / or a decoding device.
[0097] As shown in FIG. 6, the coding device determines the intra prediction mode / type (S 600).
[0098] The encoding device selects the current block from among the various intra prediction modes / types described above. The intra prediction mode / type to be applied to the block can be determined, and prediction-related information can be generated. The prediction-related information is an intra prediction mode that is applied to the current block. Prediction mode information and / or an intra prediction type to be applied to the current block. The decoding device may include information about a prediction type based on the prediction-related information. The intra prediction mode / type to be applied to the current block can be determined.
[0099] The intra prediction mode information is, for example, MPM (Most Probable Mode Modification). Whether the remaining mode is applied to the current block or not. Flag information (ex.intra_lu) that indicates whether the ning mode is applied or not. ma_mpm_flag), and the MPM is applied to the current block. In this case, the prediction mode information is one of the intra prediction mode candidates (MPM candidates). It also contains index information (ex. intra_luma_mpm_idx) that points to The intra-prediction mode candidates (MPM candidates) can be listed in an MPM candidate list or It can be configured as an MPM list. In addition, the MPM is applied to the current block. If not, the intra prediction mode information is ) Remaining mode information (ex. intra_luma_mpm_remainder). The code device determines the intra prediction mode of the current block based on the intra prediction mode information. You can determine the code.
[0100] The intra prediction type information can be implemented in various forms. The intra prediction type information indicates one of the intra prediction types. In another example, the intra prediction type information includes type index information. Whether RL is applied to the current block and, if so, what reference sample Reference sample line information (ex. intra_luma_r) that indicates whether a line is used. ef_idx), an ISP flag indicating whether the ISP applies to the current block Information (ex. intra_subpartitions_mode_flag), I If SP is applied, the subpartition has ISP type information ( ex.intra_subpartitions_split_flag), PDCP At least one of flag information indicating whether or not the LIP is applicable In addition, the intra prediction type information includes MIP (matrix) MIP indicates whether x-based intraprediction is applicable. Contains flags.
[0101] For example, when intra prediction is applied, the intra prediction mode of the surrounding block is used. The intra prediction mode to be applied to the current block may be determined. The position is determined by the input of the neighboring blocks (e.g., left and / or upper neighboring blocks) of the current block. MPM (Most Predictive Mode) derived based on the prediction mode and / or additional candidate modes One of the MPM candidates in the (robust mode) list is selected as the MPM instance received. Alternatively, the MPM candidates (and planar modes) can be selected based on the index. ) is added to the MPM remainder information ( The MPM list can be selected based on the main intra-prediction mode information. The model can be configured to include or exclude planar modes as candidates. For example, if the MPM list includes a planar mode as a candidate, the MPM list may include: 6 candidates, and the MPM list does not include a planar mode as a candidate. If the MPM list is not a list of candidates, the list may have five candidates. If the lantern mode is not included as a candidate, the intra prediction mode of the current block is planar. Not planar flag (ex. intra_luma_not_p lanar_flag) can be signaled. For example, if the MPM flag is signaled first, The MPM index and the not planar flag are set when the MPM flag value is 1. In addition, the MPM index may be signaled when the This can be signaled when the value of the t-planar flag is 1. The MPM list is configured not to include planar modes as candidates. Rather than planar modes not being MPMs, planar modes are always considered MPMs. So, first signal the flag (not planar flag) and This is to first check whether the card is a valid one.
[0102] For example, if the intra prediction mode applied to the current block is an MPM candidate (and a planar model), Whether it is in the remaining mode or not is determined by the MPM flag (e x.intra_luma_mpm_flag). The value of the PM flag is 1 when the intra prediction mode for the current block is an MPM candidate (and A value of 0 in the MPM flag indicates that the current block is in planar mode. This indicates that the intra prediction mode for the block is not among the MPM candidates (and planar modes). The not planar flag (ex. intra_luma_ not_planar_flag) value 0 indicates that the intra prediction mode for the current block is The not planar flag can indicate that the mode is planar. A value of 1 indicates that the intra prediction mode for the current block is not planar mode. The MPM index can be mpm_idx or intra_lum. a_mpm_idx syntax element, and the remake The intra prediction mode information is rem_intra_luma_pred_mode or in the form of the intra_luma_mpm_remainder syntax element. For example, the remaining intra-prediction mode information may be nulled. The remaining field intra-prediction modes that are not included in the MPM candidates (and planar modes) The intra prediction modes are indexed in order of prediction mode number, and one of them is pointed to. The intra prediction mode can be an intra prediction mode for a luma component (sample). Hereinafter, the intra prediction mode information may be the MPM flag (e.g. intra_luma_mpm_flag), not planar flag(e x.intra_luma_not_planar_flag), the MPM index (ex. mpm_idx or intra_luma_mpm_idx), Rem_intra_luma_pred_mode or intra_luma_mpm_remainder) In this document, the MPM list is also referred to as the MPM candidate list, candMode It can be called various terms such as List.
[0103] If MIP is applied to the current block, a separate MPM flag (e x.intra_mip_mpm_flag), MPM index (ex.intra _mip_mpm_idx), remaining intra prediction mode information (ex.intra _mip_mpm_remainder) can be signaled, and the not pl The anar flag may not be signaled.
[0104] In other words, once an image is divided into blocks, it is possible to code it. The current block and its neighboring blocks have similar image characteristics. Therefore, the current block and the neighboring block are identical to each other. There is a high probability that the two frames have similar intra-prediction modes. To encode the intra prediction mode of a block, the intra prediction modes of the surrounding blocks are used. A code can be used.
[0105] The coding device calculates the most probable mean prime mover (MPM) for the current block. The MPM list can also be referred to as an MPM candidate list. Here, MPM is the ratio of the current block and its neighboring blocks when coding in intra prediction mode. A mode used to improve coding efficiency by taking into account block similarities. As mentioned above, the MPM list can be configured to include planar modes. It can be configured in a planar mode or without a planar mode. If the target includes a planar mode, the number of candidates in the MPM list can be six. And if the MPM list does not include planar modes, the number of candidates in the MPM list is , 5 pieces.
[0106] The encoding device can perform predictions based on various intra-prediction modes, Based on RDO (rate-distortion optimization) In this case, the encoding device can determine the optimal intra prediction mode based on the MP The optimal intra prediction is performed using only the MPM candidates and planar modes configured in the M list. The MPM candidate and the MPM candidate configured in the MPM list can be determined. In addition to the planar mode, the remaining intra prediction modes are further used to find the optimal intra prediction. Specifically, for example, if the current block is The intra prediction type is a specific type other than the normal intra prediction type (e.g., LIP, M RL, or ISP), the encoding device Only the mode is considered as an intra prediction mode candidate for the current block. In this case, the intra prediction mode for the current block can be determined. The intra prediction mode to be used can be determined from the MPM candidates and the planar mode. In this case, the MPM flag may not be encoded / signaled. In this case, the decoding device must be signaled with the MPM flag separately. It can be assumed that the MPM flag is 1.
[0107] Meanwhile, in general, the intra prediction mode of the current block is not a planar mode but a forward mode. If one of the MPM candidates in the MPM list is selected, the encoding device An MPM index (mpm idx) is generated to point to one of the complements. If the intra prediction mode of the current block is not in the MPM list, Among the remaining intra prediction modes not included in the initial prediction mode (and planar mode), MPM remainder information (remaining) that points to the same mode as the intra prediction mode of the block. The MPM remainder information is generated as, for example, It may contain the tra_luma_mpm_remainder syntax element.
[0108] The decoding device obtains the intra-prediction mode information from the bitstream. As mentioned above, the trajectory prediction mode information includes the MPM flag, the not planar flag, and the MPM Index, MPM remainder information (remaining intra-prediction mode information) , and at least one. The decoding device can configure the MPM list. The MPM list is configured in the same manner as the MPM list configured in the encoding device. That is, the MPM list may include intra prediction modes of surrounding blocks, A specific intra-prediction mode may also be included in a predetermined manner.
[0109] The decoding device selects the current block based on the MPM list and the intra-prediction mode information. For example, if the MPM flag is set to 1, If so, the decoding device may set the planar mode as the intra prediction mode of the current block. (based on the not planar flag) or the MPM candidate in the MPM list Among the candidates, the candidate pointed to by the MPM index is used as the intra prediction mode of the current block. Here, the MPM candidate is a candidate that is included in the MPM list. It can represent only the candidates included in the MPM list, or it can represent the candidates included in the MPM list as well as the candidates included in the MPM list. It also includes a planar mode that can be applied when the MPM flag has a value of 1. This can be done.
[0110] As another example, if the value of the MPM flag is 0, the decoding device Among the remaining intra prediction modes not included in the planar and stray modes, Intra prediction mode information (MPM remainder information) ) as the intra prediction mode of the current block. Meanwhile, as another example, when the intra prediction type of the current block is specified, If the MP is of a type (e.g., LIP, MRL, or ISP), the decoding device The planar mode or the MPM can be used without parsing / decoding / checking the M flag. The candidate indicated by the MPM flag in the list is used as the intra prediction mode of the current block. It can be derived.
[0111] The coding apparatus derives neighboring reference samples of the current block (S610). If intra prediction is applied to the block, the neighboring The reference samples of the current block are of size nW×nH. The samples adjacent to the left boundary of the current block of the image and the bottom -left) adjacent samples, the top boundary of the current block The sample adjacent to the right and the top-right adjacent sample (2xnW total) It includes one sample adjacent to the top-left of the current block. Alternatively, the peripheral reference samples of the current block may be a plurality of columns of upper peripheral samples. The left-side neighboring samples of the current block may also include multiple rows and multiple rows of left-side neighboring samples. The reference sample is the sum of the samples adjacent to the right boundary of the current block of size nW × nH. A total of nH samples, a total of nW samples adjacent to the bottom boundary of the current block The sample and one adjacent sample to the bottom-right of the current block It can also include samples.
[0112] On the other hand, if the MRL is applied (i.e., if the MRL index value is greater than 0), In this case, the neighboring reference sample is not the 0th line adjacent to the current block on the left / top side. , can be located on the first or second line, in which case the number of surrounding reference samples is On the other hand, when ISP is applied, the neighboring reference samples are It can be derived on a subpartition basis.
[0113] The coding device performs intra prediction on the current block to derive a predicted sample ( The coding device determines the intra prediction mode / type and the surrounding samples. The coding device can derive the predicted samples based on the surroundings of the current block. Among the reference samples, a reference sample according to the intra prediction mode of the current block is derived. and deriving predicted samples of the current block based on the reference samples.
[0114] On the other hand, when inter-prediction is applied, the prediction unit of the encoding device / decoding device Inter prediction can be performed in units of clocks to derive predicted samples. Depends on data elements (e.g., sample values or motion information) of pictures other than the image Interpretation c an be a prediction derived in a manner t hat is dependent on data elements(ex.sam ple values or motion information) of pic ture(s) other than the current picture). If inter prediction is applied to the current block, the reference picture index points to the reference picture. Based on the reference block (reference sample array) specified by the motion vector on the image, By using the above, a predicted block (prediction sample array) for the current block can be derived. In this case, to reduce the amount of motion information transmitted in inter prediction mode, The motion information of the current block is calculated based on the correlation of the motion information between the current block and the block. The motion information can be predicted in units of blocks, sub-blocks, or samples. The motion information may include a reference picture index and a motion vector. It may further include information on the prediction type (L0 prediction, L1 prediction, Bi prediction, etc.). When super prediction is applied, the surrounding blocks are spatially related to the surrounding blocks present in the current picture. The spatial neighboring block and the reference picture The temporal neighboring blocks The reference picture including the reference block and the temporally surrounding blocks may be provided. The reference pictures comprising the temporal period may be the same or different. Edge blocks are collocated reference blocks. lock), co-located CU (colCU), etc. The reference picture containing the surrounding blocks is a collocated picture. For example, the neighboring blocks of the current block A motion information candidate list may be constructed based on the motion vector of the current block. and / or which candidate is selected (used) to derive the reference picture index. A flag or index information may be signaled to indicate which prediction modes are used. Inter prediction can be performed based on the mode, for example, skip mode and merge mode. In this case, the motion information of the current block is similar to that of the selected neighboring block. In skip mode, unlike merge mode, the residual signal is transmitted. It is not possible to predict the motion vector. In the case of MVP mode, the motion vector of the selected surrounding block is used as the motion vector prediction. It is used as a motion vector predictor, and the motion vector difference The motion vector difference is signaled. In this case, the sum of the motion vector predictor and the motion vector differential can be used to The motion vector of the current block can be derived.
[0115] The motion information is calculated based on the inter prediction type (L0 prediction, L1 prediction, Bi prediction, etc.). The motion vector in the L0 direction can include L0 motion information and / or L1 motion information. The motion vector in the L1 direction can be called the L1 motion vector or MVL0. It can be called a motion vector or MVL1. Prediction based on L0 motion vector The prediction based on the L1 motion vectors can be called L0 prediction, and the prediction based on the L1 motion vectors can be called L1 prediction. A prediction based on both the L0 motion vector and the L1 motion vector can be obtained. The prediction can be called pairwise (Bi) prediction, where the L0 motion vector is the reference pixel. The motion vector associated with the L0 (L0) can be expressed as , the motion vector associated with the reference picture list L1 (L1) can be expressed. The picture list L0 is a reference picture that is an earlier picture than the current picture in output order. The reference picture list L1 may be provided as a reference picture list L2 in the output order from the current picture. , and subsequent pictures. The previous pictures are forward (reference) pictures and The picture may then be called a backward (reference) picture. The reference picture list L0 includes pictures following the current picture in output order. In this case, the reference picture list L The previous picture is indexed first in the table, and the next picture is indexed next. The reference picture list L1 can be extracted from the current picture. In the output order, a previous picture can be further provided as a reference picture. In the reference picture list 1, the subsequent picture is indexed first, and the previous picture is indexed second. The image can then be indexed, where the output order is POC( Picture order (count) can be used to .
[0116] A video / image encoding procedure based on inter prediction may generally include, for example: This can be done.
[0117] FIG. 7 illustrates an example of an inter-prediction based video / image encoding method.
[0118] The encoding device performs inter prediction on the current block (S700). The host device derives the inter prediction mode and motion information of the current block, Here, the inter prediction mode decision, motion information derivation, and prediction The measurement sample generation steps can be performed simultaneously, with one step taking precedence over the other. For example, the inter-prediction unit of the encoding device may determine the prediction mode. a motion information deriving unit, a prediction sample deriving unit, and A prediction mode for the current block is determined, and the motion information of the current block is calculated by a motion information deriving unit. The predicted sample derivation unit can derive predicted samples of the current block. For example, the inter-prediction unit of the encoding device performs motion estimation. n), a block similar to the current block is found within a certain region (search region) of the reference picture. A reference block whose difference from the current block is a minimum or equal to or less than a certain standard is searched for. Based on this, a reference block can be derived that points to the reference picture in which the reference block is located. A texture index is derived based on the position difference between the reference block and the current block. The encoding device can derive a motion vector by using the current block prediction mode. The encoding device can determine the mode to be applied to the various prediction modes. The RD cost for each block is compared to determine the optimal prediction mode for the current block. can.
[0119] For example, the encoding device may select whether the current block is in skip mode or merge mode. If applicable, a merge candidate list is constructed as described below, and the merge candidate list is Among the reference blocks pointed to by the merge candidate, the difference between the current block and the A reference block that is the minimum or equal to or less than a certain standard can be derived. A merge candidate associated with the reference block is selected, and a merge candidate pointing to the selected merge candidate is generated. Index information can be generated and signaled to a decoding device. The motion information of the current block can be derived using the motion information of the selected merge candidate.
[0120] In another example, the encoding device may determine whether the (A)MVP mode is applied to the current block. In this case, the (A) MVP candidate list described below will be created, and the candidates included in the (A) MVP candidate list will be The selected motion vector predictor (mvp) candidates are The motion vector of the MVP candidate can be used as the MVP of the current block. In this case, for example, a motion vector pointing to a reference block derived by the motion estimation described above is can be used as the motion vector of the current block, and among the MVP candidates, , the MVP candidate having the motion vector with the smallest difference from the motion vector of the current block. can be the selected MVP candidate. MVD (motion vector difference) is the difference obtained by subtracting p. In this case, information about the MVD is signaled to the decoding device. In addition, when (A) the MVP mode is applied, the reference picture input The value of the index is composed of reference picture index information and is stored separately in the decoding device. It can be signaled.
[0121] The encoding device can derive residual samples based on the predicted samples ( The encoding device performs the process of comparing the original samples of the current block with the predicted samples. The residual sample can be derived through a comparison of
[0122] The encoding device encodes image information including prediction information and residual information ( The encoding device outputs the encoded image information in the form of a bit stream. The prediction information can include prediction mode information as information related to the prediction procedure. information (ex.skip flag, merge flag or mode index, etc.) The information about the motion information may include information about the motion vector. Candidate selection information (e.g., merge index, mv p flag or mvp index). The information about the MVD and / or the reference picture index information is used. The information about the motion information may include L0 prediction, L1 prediction, or The residual information may include information indicating whether pairwise (bi) prediction is applied. The residual information is information about the residual sample. It may contain information about the quantized transform coefficients for the dual samples.
[0123] The output bitstream is stored on a (digital) storage medium and transmitted to a decoding device. It can be transmitted to a decoding device via a network. Cut.
[0124] Meanwhile, as described above, the encoding device Based on the sample, a reconstructed picture (including reconstructed samples and reconstructed blocks) can be generated. This is because the encoding device derives the same prediction results as those performed by the decoding device. This is because it can improve coding efficiency. The encoder stores the reconstructed picture (or reconstructed sample, or reconstructed block) in memory. The reconstructed picture can be used as a reference picture for inter-prediction. As mentioned above, further in-loop filtering procedures can be applied to the do.
[0125] The video / image decoding procedure based on inter prediction may generally include, for example: can be done.
[0126] FIG. 8 illustrates an example of an inter-prediction based video / image decoding method.
[0127] As shown in FIG. 8, the decoding device generates a motion image corresponding to the operation performed by the encoding device. The decoding device can perform the following operations on the current block based on the received prediction information. A prediction can be made for the sample and a predicted sample can be derived.
[0128] Specifically, the decoding device performs a prediction process for the current block based on the received prediction information. The decoding device determines a prediction mode (S800). determining which inter prediction mode is applied to the current block based on the information; This can be done.
[0129] For example, the merge mode of the current block is determined based on the merge flag. (A) Determines whether MVP mode is applied or not, or One of various inter prediction mode candidates can be selected based on the mode index. The inter prediction mode candidates include a skip mode, a merge mode, and / or an A ) MVP mode, or may include various inter-prediction modes as described below. This can be done.
[0130] The decoding device performs a motion estimation of the current block based on the determined inter-prediction mode. For example, the decoding device may derive skip information for the current block (S810). When a mode or merge mode is applied, a merge candidate list is constructed as described below, and One merge candidate can be selected from the merge candidates included in the merge candidate list. This can be done based on the selection information (merge index) mentioned above. The motion information of the current block can be derived using the motion information of the selected merge candidate. The motion information of the selected merging candidate is used as the motion information of the current block. It is possible.
[0131] In another example, the decoding device may be configured to apply the (A)MVP mode to the current block. In this case, the (A) MVP candidate list described below will be created, and the (A) MVP candidate list will be Among the MVP (motion vector predictor) candidates, the selected The motion vector of the MVP candidate can be used as the MVP of the current block. The selection is based on the selection information (MVP flag or MVP index) mentioned above. In this case, the current block may be determined based on the information about the MVD. The MVD of the current block can be derived, and the current block can be calculated based on the mvp of the current block and the MVD. Furthermore, the motion vector of the previous frame can be derived based on the reference picture index information. A reference picture index for the current block can be derived. The picture pointed to by the reference picture index in the reference picture list is the current block. can be derived as a reference picture referenced for inter prediction of
[0132] Meanwhile, as will be described later, the motion information of the current block is derived without constructing a candidate list. In this case, the motion of the current block is calculated according to the procedure disclosed in the prediction mode section below. In this case, the candidate list construction described above can be omitted. Cut.
[0133] The decoding device further includes a prediction unit for the current block based on the motion information of the current block. In this case, the reference picture of the current block is used as the reference picture input. the reference picture is derived based on the motion vector of the current block; A predicted sample of the current block using a sample of a reference block pointed to in the reference picture. In this case, as will be described later, the prediction sample of the current block may be derived. A further predictive sample filtering procedure is performed on all or part of the sample. It is possible.
[0134] For example, the inter-prediction unit of the decoding device includes a prediction mode determination unit, a motion information derivation unit, a prediction The sample derivation unit may include a prediction mode determination unit that determines the sample based on the received prediction mode information. The prediction mode for the current block is determined based on the motion information received from the motion information deriving unit. The motion information (motion vector and / or reference vector) of the current block is calculated based on the information. A prediction sample derivation unit derives a prediction sample of the current block. Pull can be derived.
[0135] The decoding device receives residual information and then decodes the current block. The decoding device generates a dual sample (S830). generating a reconstructed sample for the current block based on the residual sample; Based on this, a reconstructed picture can be generated (S840). As mentioned above, further in-loop filtering procedures etc. may be applied.
[0136] FIG. 9 exemplarily illustrates an inter prediction procedure.
[0137] Referring to FIG. 9, as described above, the inter prediction procedure includes an inter prediction mode decision step. a step of deriving motion information based on the determined prediction mode; The inter prediction procedure may include a step of performing prediction (generating a predicted sample) based on the inter prediction. This can be done in the encoding and decoding devices as described above. In this specification, the coding device may include an encoding device and / or a decoding device. Cut.
[0138] As shown in FIG. 9, the coding apparatus may set the inter prediction mode for the current block as The various inter prediction methods are used to predict the current block in the picture (S900). Modes can be used, such as merge mode, skip mode, MVP (motion vector prediction mode, Affine mode, Sub-block merge mode, MMVD (merge with MVD) mode, etc. Various modes can be used. DMVR (Decoder Side Motion Ve motion refinement) mode, AMVR (adaptive motion vector resolution) mode, Bi-prediction with h CU-level weight (BCW), Bi-directional o Additional or alternative modes include the axial flow (BDOF) and the axial flow (BDOF). Affine modes can be used for affine motion estimation. It can also be called MVP mode. is AMVP(advanced motion vector prediction) In this document, some modes and / or The motion information candidate derived by this method is not included as one of the motion information related candidates of other modes. For example, the HMVP candidate can be a merge candidate in the merge / skip mode. or can be added as an MVP candidate in the MVP mode The HMVP candidate may be the merge mode or skip mode motion information candidate. When used as a complement, the HMVP candidate can be called an HMVP merge candidate. Cut.
[0139] Prediction mode information indicating the inter prediction mode of the current block is decoded from the encoding device. The prediction mode information can be signaled to the bitstream. The prediction mode information may be received by a decoding device. It may contain index information that indicates one of the codes, or flag information. Inter prediction mode can also be indicated via hierarchical signaling. The prediction mode information may include one or more flags. For example, a skip flag may be set to Signaling indicates whether skip mode is applicable, and if skip mode is not applicable The merge flag is signaled to indicate whether or not the merge mode is applicable. If not used, indicate that MVP mode applies or specify additional classifications Flags can also be signaled. Affine mode is an independent mode. It can be signaled or subordinate to merge mode or MVP mode etc. Affine modes can also be signaled in affine modes. It can include merge mode and affine MVP mode.
[0140] The coding apparatus derives motion information for the current block (S910). The motion information derivation may be derived based on the inter prediction mode.
[0141] The coding device can perform inter prediction using the motion information of the current block. The encoding device can perform the motion estimation procedure. For example, the encoding device can derive optimal motion information for the current block. A similar reference block with high correlation is found using the original block in the original picture for the block. The block can be searched for in fractional pixel units within a given search range in the reference picture. , through which motion information can be derived. Block similarity is based on phase The similarity of a block can be derived based on the difference in sample values. The lock (or the template of the current block) and the reference block (or the reference block The search area can be calculated based on the SAD between the template and the search area. The motion information can be derived based on the reference block with the smallest SAD in the region. The information is signaled to the decoding device in various ways based on the inter-prediction mode. It can be used.
[0142] The coding apparatus performs inter prediction based on motion information for the current block. The coding apparatus then calculates a motion vector for the current block based on the motion information (S920). The current block containing the predicted sample can be derived from the predicted sample (and so on). These blocks can be called
[0143] On the other hand, as mentioned above, the quantization unit of the encoding device applies quantization to the transform coefficients to produce quantized images. and derives the dequantized transform coefficients, and can apply inverse quantization to the quantized transform coefficients to derive the transform coefficients.
[0144] Generally, in video / image coding, the quantization rate can be changed, and From the viewpoint of implementation, the complexity can be reduced by using the quantization rate. Instead of using the quantization rate directly, we use the quantization parameter parameter:QP) is used. For example, quantization of integer values from 0 to 63. A parameter is used, and each quantization parameter value can correspond to an actual quantization rate. For example, the quantization parameter (QP) for the luma component (luma sample) Y ) and chroma components ( Quantization parameter (QP) for roma samples C ) can be set differently.
[0145] The quantization process takes the transform coefficients (C) as input and the quantization rate (Q step ) and based on this In this case, the quantized transform coefficients (C') can be obtained by using the Multiply the quantization rate by the scale to make it an integer, and shift it by the value corresponding to the scale value. The quantization scale (qua) can be calculated based on the product of the quantization rate and the scale value. That is, the quantization scale can be derived by QP. For example, the quantization scale can be derived by applying the quantization scale to the transform coefficients (C). Based on this, the quantized transform coefficients (C') can be derived.
[0146] The inverse quantization process is the reverse of the quantization process, and it applies the quantization rate C' to the quantized transform coefficients (C'). (Q step ) and based on this we can obtain the restored conversion coefficients (C''). In this case, the level scale is determined by the quantization parameter. ) is derived, and the level scale is applied to the quantized transform coefficients (C') to obtain Based on this, the restored transform coefficients (C'') are derived. ) is multiplied by the initial transform coefficient (C) due to losses in the transform and / or quantization process. Therefore, the encoding device also needs to perform inverse quantization in the same way as the decoding device. conduct.
[0147] On the other hand, adaptive frequency weighting quantization (AWG) is a method for adjusting the quantization strength according to the frequency. ve frequency weighting quantization) technology is suitable. The adaptive frequency-dependent weighting technique can be used to weight different frequencies. The adaptive frequency weighting is a method of applying a predefined quantization scheme. Using scaling metrics, different quantization strengths can be applied to each frequency. That is, the quantization / dequantization process is performed based on the quantization scaling metrics. For example, the size of the current block and / or the length of the current block To generate a residual signal, the prediction mode applied to the current block is There are different quantization scaling metrics depending on whether it is intra- or intra-prediction. The quantization scaling metric is used. The quantization scaling metrics may be predefined. For frequency adaptive scaling, the quantization scaling metrics are The frequency-specific quantization scale information is generated / encoded in the encoding device. The frequency-specific quantization scale information is signaled to the quantization scaling device. The frequency-specific quantization scale information may be referred to as scaling list data. Based on the scaling list data, The (modified) quantization scaling metric is derived based on the frequency. The numerical quantization scale information is a presence / absence flag indicating whether the scaling list data exists or not. (present flag) information. Or, the scaling list data is When signaled at a higher level (e.g., SPS), the lower level of the higher level In a header (e.g., PPS or tile group header), Further included is information indicating whether the ring list data is to be modified.
[0148] As mentioned above, the luma and chroma components are quantized / dequantized based on the quantization parameters. The elimination applies.
[0149] The quantization parameter for a coding unit is The decision is based on information signaled at the channel and / or slice level, e.g. , the quantization parameters can be derived as described below.
[0150] For example, the quantization parameters are calculated via SPS (sequence parameter set). Information regarding the derivation of parameters is signaled as shown in the following table.
[0151] [Table 1]
[0152] The syntax elements in Table 1 above are The semantics are as follows:
[0153] [Table 2]
[0154] For example, the syntax element bit_depth_luma_minus8 The bit depth of the luma array samples. A BitDepth Y and luma quantization parameter range offset (luma qua ntization parameter range offset) QpBd Offset Y For example, the syntax element bit_dep th_luma_minus8 based on the BitDepth Y and the QpBdOf fset Y For example, the BitDepth Y The above-mentioned synthesis The value is calculated by adding 8 to the value of the bit_depth_luma_minus8 element. and the QpBdOffset Y is the syntax element bit_de It is derived as a value obtained by multiplying the value of pth_luma_minus8 by 6. it_depth_luma_minus8 can range from 0 to 8.
[0155] Also, for example, the syntax element bit_depth_chroma_minu s8 is the bit depth of the chroma array samples BitDepth c and chroma quantization parameter range offset (chroma quantization parameter range off set) c That is, for example, the syntax element Element bit_depth_chroma_minus8 based on BitDep th c and the QpBdOffset c For example, the BitD epthc is the syntax element bit_depth_chroma_minu It is derived as a value obtained by adding 8 to the value of s8, and c is the sinter The value of the bit_depth_chroma_minus8 element is multiplied by 6. The bit_depth_chroma_minus8 is derived as a value of 0. The range can be between 0 and 8.
[0156] Also, for example, quantum via PPS (picture parameter set) The information for the derivation of the optimization parameters is signaled as shown in the following table. Chroma Cb offset, Chroma Cr offset chroma Cr offset), joint chroma offset and initial quantization parameters, i.e., the information includes Chroma Cb offsets (Chroma Cb offset), Chroma Cr offset, Jo Syntax elements for the intrachroma offset and initial quantization parameters Includes
[0157] [Table 3]
[0158] The syntax elements in Table 3 above are The semantics are as follows:
[0159] [Table 4]
[0160] For example, the value obtained by adding 26 to the syntax element init_qp_minus26 is the SliceQp for each slice that references the PPS. Y Initial value of slice_qp_delta non-zero value value) is decoded, the SliceQp Y The initial value of is set to the slice layer. The init_qp_minus26 0 can be modified by -(26 +QpBdOffset Y ) to +37.
[0161] Also, for example, the syntax elements pps_cb_qp_offset and pps _cr_qp_offset is Qp' Cb and Qp' Cr The luma amount used to derive The child parameter Qp' Y The pps_cb indicates the offset to the _qp_offset and pps_cr_qp_offset are between -12 and +12. Also, if ChromaArrayType is 0, the decoding process pps_cb_qp_offset and pps_cr_qp_offset are used in In some cases, the value of the syntax element is not present, and the decoding device ignores the value of the syntax element. ) can be done.
[0162] Also, for example, the syntax element pps_joint_cbcr_qp_off set is Qp' CbCr The luma quantization parameter Qp' used to derive Y offset relative to (offset). The pps_joint_cbcr_qp_offset is It can range from -12 to +12. Also, if ChromaArrayType is 0, If pps_joint_cbcr_qp_offset is used in the decoding process, In some cases, the value of the syntax element is not present, and the decoding device ignores the value of the syntax element. ) can be done.
[0163] Also, for example, the syntax element pps_slice_chroma_qp_o ffsets_present_flag is the syntax element slice_cb _qp_offset and slice_cr_qp_offset are used to For example, a pps_sli with a value of 1 indicates whether the ce_chroma_qp_offsets_present_flag is slice Slice related to _cb_qp_offset and slice_cr_qp_offset It also indicates the presence of a pp s_slice_chroma_qp_offsets_present_flag is Regarding slice_cb_qp_offset and slice_cr_qp_offset indicates that the ChromaArrayType is not present in the associated slice header. If pps_slice_chroma_qp_offset is 0, the decoding process ts_present_flag appears to be 0.
[0164] As mentioned above, the syntax elements parsed in PPS are init_q p_minus26, pps_cb_qp_offset_pps_cr_qp_off set, pps_joint_cbcr_qp_offset and pps_slice_ chroma_qp_offsets_present_flag. The element init_qp_minus26 specifies the number of slices for each slice that references the PPS. The initial value of SliceQpY is also specified by the syntax element pps_cb_qp _offset, pps_cr_qp_offset and pps_joint_cbcr _qp_offset is the luma quantization parameter Qp' Y It indicates the offset to Also, the syntax element pps_slice_chroma_qp_offsets _present_flag indicates whether the offset parameter is present in the slice header. Indicates whether
[0165] Also, for example, the quantization parameters can be set via a slice header. Information regarding the derivation of the data can be signaled as shown in the following table.
[0166] [Table 5]
[0167] The syntax elements in Table 5 above are The semantics are as follows:
[0168] [Table 6] JPEG2025118881000008.jpg101156
[0169] For example, slice_qp_delta is CuQ in the coding unit layer. The code in the slice is Qp used for the feeding block Y For example, the initial value of Qp for a slice Y First Period price, SliceQp Y is 26+init_qp_minus26+slice_qp_ Derived as delta. SliceQp Y The value of -QpBdOffset Y Or It can be in the range of +63.
[0170] Also, for example, slice_cb_qp_offset is the quantization parameter Qp' Cb of The difference to be added to the value of pps_cb_qp_offset when determining the value The value of slice_cb_qp_offset is between -12 and +12. Also, for example, if slice_cb_qp_offset is not present, In this case, the slice_cb_qp_offset is inferred to be 0. The value of pps_cb_qp_offset+slice_cb_qp_offset is It can range from 12 to +12.
[0171] Also, for example, slice_cr_qp_offset is the quantization parameter Qp' Cr The difference (diffe) added to the value of pps_cr_qp_offset when determining the value of The value of slice_cr_qp_offset is -12 to +1 2. Also, for example, if slice_cr_qp_offset is not present, If not, the slice_cr_qp_offset is considered to be 0 (inferred d) Value of pps_cr_qp_offset+slice_cr_qp_offset can range from 12 to +12.
[0172] Also, for example, slice_cbcr_qp_offset is the quantization parameter Qp ' CbCr The difference ( The value of slice_cbcr_qp_offset is - It can be in the range of 12 to +12. Also, for example, slice_cbcr_qp_of If fset does not exist, slice_cbcr_qp_offset is considered to be 0. pps_cbcr_qp_offset+slice_c The value of bcr_qp_offset can range from 12 to +12.
[0173] The derivation process for the luma and chroma quantization parameters is is the luma location, the width and height of the current coding block The variables to specify and whether to use a single tree or dual tree On the other hand, as mentioned above, The luma quantization parameter, the chroma quantization parameter, and the joint chroma quantization parameter are The data is Qp' Y , Qp' Cb , Qp' Cr and Qp' CbCr It can be shown that:
[0174] On the other hand, for example, the syntax element indicating the sign of CuQpDeltaVal is The statement cu_qp_delta_sign_flag is parsed. For example, cu_qp_delta_sign_flag is the sign of CuQpDeltaVal (si gn) can be shown as follows:
[0175] For example, if the cu_qp_delta_sign_flag is 0, the cu CuQpDeltaVal corresponding to _qp_delta_sign_flag is a positive number ( positive value). If a_sign_flag is 1, the cu_qp_delta_sign_fl CuQpDeltaVal corresponding to ag has a negative value. In addition, if the cu_qp_delta_sign_flag does not exist, cu_qp_delta_sign_flag is considered to be 0.
[0176] Also, for example, if cu_qp_delta_abs exists, the variable IsCuQpD eltaCoded is derived as 1 and the variable CuQpDeltaVal is cu_qp_ as delta_abs*(1-2*cu_qp_delta_sign_flag) The CuQpDeltaVal is derived as -(32+QpBdOffsetY / 2) to +(31+QpBdOffsetY / 2).
[0177] Then, for example, the luma quantization parameter Qp′ Y is derived as follows:
[0178]
number
[0179] Also, ChromaArrayType is not 0 and treeType is SINGL If E_TREE or DUAL_TREE_CHROMA, the following applies:
[0180] -If treeType is DUAL_TREE_CHROMA, the variable Qp Y is the luma containing the luma position (xCb+cbWidth / 2, yCb+cbHeight / 2) Luma quantization parameter Qp of the coding unit Y can be set equal to
[0181] -variable qP Cb , qP Cr and qP CbCr is derived as follows:
[0182]
number
[0183] For example, if ChromaArrayType is 1, the variable qP Cb , qP Cr and qP CbCr are qPi Cb , qPi Cr and qPi CbCr Based on the same index qPi Therefore, it can be set to the same QpC value as specified in Table 7 below.
[0184] [Table 7]
[0185] Or, if ChromaArrayType is not 1, the variable qP Cb , qP Cr and qP CbCr are qPi Cb , qPi Cr and qPi CbCr Based on the same index qPi can be set equal to Min(qPi,63).
[0186] chroma quantization parameter Qp' for the Cb and Cr components Cb and Qp' Cr , Joe The chrominance quantization parameter Qp'CbCr for int Cb-Cr coding is It is derived as follows.
[0187]
number
[0188] Meanwhile, this paper aims to improve the coding efficiency in the quantization / dequantization process. We propose the following.
[0189] In one embodiment, this document specifies that if ChromaArrayType is not 0 (e.g. For example, if ChromaArrayType is 1), existing VVC draft 5v.7 from the luma quantization parameter value via a predefined chroma quantization mapping table to Instead of a way to obtain chroma quantization parameter values, the user can user defined Chroma Quantization Table ) and propose how to use it. fication text) (e.g., VVC draft 5v.7) luma quantization parameter value), a predefined chroma quantization table (e.g. For example, the Qpc (chroma quantization parameter value) is derived through the above-mentioned Table 7). The document converts qPi to Q based on a newly defined chroma quantization mapping table. We propose a method to derive pc. According to an embodiment of this document, the Qpc value is a function of the qPi value. (function) relations and user defined functions functionality) depending on how the function is structured, such as APS, SPS or PPS. The functional relationships can be signaled in a predefined syntax element. The user can set the chroma quantization table mapping based on the values sent. As an example, we propose a method to define Qpc as a function of qPi. n) Since it can be derived by the relation, a syntax element value indicating the function is transmitted If a user-defined chroma quantization mapping table is used, d Chroma Quantization Table) is derived in the format shown in Table 7. It can be done.
[0190] In one embodiment, APS (adaptation parameter set) Syntax elements that indicate chroma quantization mapping related functions as shown in the table below. We propose a method for signaling information about (Qpc_data).
[0191] [Table 8]
[0192] Referring to Table 8 above, the aps_params_type indicates Qpc_APS. For example, if the value of aps_params_type is 2, data() is signaled.
[0193] The syntax elements in Table 8 above are The semantics are as follows:
[0194] [Table 9]
[0195] For example, the syntax element adaptation_parameter_set _id is the identifier of the APS that is referenced by other syntax elements. fier).
[0196] For example, the syntax element aps_extension_flag is S The aps_extension_data_flag symbol is added to the RBSP syntax structure. Indicates whether a syntax element is present. For example, a syntax element with a value of 1 The aps_extension_flag is used to specify the APS RBSP syntax structure. The s_extension_data_flag syntax element is present. The syntax element aps_extension_flag with a value of 0 indicates The PS RBSP syntax structure includes the aps_extension_data_flag syntax. Indicates that the syntax element is not present.
[0197] Also, for example, the syntax element aps_extension_data_fl ag can have any value. The presence and value of lag are may not affect decoder conformance to the profile specified in the For example, a decoding device conforming to this version of the standard will interpret all syntax elements as s_extension_data_flag can be ignored.
[0198] For example, the syntax element aps_params_type is 10 indicates the type of APS parameters included in the APS.
[0199] [Table 10]
[0200] For example, referring to Table 10, the syntax element aps_params_typ If the value of e is 0, the syntax element aps_params_type is Indicates that the type of the APS parameter is an ALF parameter, and If the value of aps_params_type is 1, the syntax element ap s_params_type is the type of the APS parameter that is an LMCS parameter The syntax element aps_params_type has a value of 2. , the syntax element aps_params_type specifies the type of APS parameters. Indicates that the type is a Qpc parameter. The Qpc data parameter is a chroma quantization data. Data parameters can be indicated.
[0201] This document also describes another embodiment for signaling information about quantization parameters. suggest.
[0202] For example, in this embodiment, PPS (picture parameter set) t) user-defined Qp CData (user defined Qp C data) A signaling scheme is proposed. For example, a flag is introduced in the SPS to indicate whether the PPS contains user-defined data. That is, the SPS may indicate whether the PPS contains user-defined data. According to this embodiment, a flag is signaled to indicate that the user The definition data is signaled or the slice header ) and / or other header sets, wherein the user-defined data is signaled in the There are also.
[0203] The flag indicating whether the PPS contains user-defined data is signaled as shown in the following table. will be done.
[0204] [Table 11]
[0205] For example, the syntax element Qpc_data_default_flag is The syntax element Qpc_flag can be a flag syntax element as described above. data_default_flag is used to specify the Qpc_ Indicates whether the data() parameter is present. For example, a Qpc_data_de of 0 The fault_flag is a Qpc_data() parameter in the PPS RBSP syntax structure. parameter does not exist and the default table is the chroma quantizer. be used to help determine chroma quantization Here, the default table is as shown in Table 7. Qpc_data_default_flag is used in the PPS RBSP syntax structure. Indicates that a Qpc_data() parameter is present.
[0206] In addition, the user-defined data signaled in the PPS according to this embodiment is The table below shows the results.
[0207] [Table 12]
[0208] On the other hand, for example, Qpc_data() is used when ChromaArrayType is 1. It contains the information necessary to derive the chroma quantization when
[0209] This document also describes another embodiment for signaling information about quantization parameters. suggest.
[0210] For example, in this embodiment, the chroma quantization coefficient (Quantization Pa for parameter (QP) derivation and combined chroma QP derivation This embodiment proposes a flexible structure. The function used to derive the chroma quantization factor (QP) in S and / or PPS User-defined mode (user) that can use parameters indicating Initial flag indicating whether or not the defined mode is enabled. We propose a method for signaling this.
[0211] For example, the high level syntax proposed in this embodiment The flag information signaled in the RFC 2488 syntax is as shown in the table below.
[0212] [Table 13]
[0213] For example, Qpc_data_present_flag is a high-level syntax Whether the BSP syntax structure contains parameters for deriving chroma quantization coefficients. For example, a Qpc_data_present_flag of 0 indicates a high-level signal. Indicates that no chroma quantization parameters are present in the RBSP syntax structure. Also, for example, a Qpc_data_present_flag of 1 indicates high-level synchronization. Indicates the presence of chroma quantization parameters in the Tax RBSP syntax structure.
[0214] Alternatively, the syntax element Qpc_data_present_flag is It may also be used to indicate the use of chroma quantization derivation in the bitstream. For example, Qpc_data_present_flag is set to the chroma quantization derivative as follows: It can indicate the tool used for extraction or the use of a user-defined mode. .
[0215] For example, Qpc_data_present_flag is User defined chroma quantization Indicates whether Qpc_data_present_ is used. For example, a Qpc_data_present_ flag indicates that user-defined chroma quantization is not used in the bitstream. For example, a Qpc_data_present_flag of 1 indicates that the user-defined Indicates whether roma quantization is used, either alone or in conjunction with other flags.
[0216] This document also describes another embodiment for signaling information about quantization parameters. suggest.
[0217] For example, in this embodiment, signaling Using the user-defined information and the chroma quantization parameter (QP), i.e., Qp' Cb , Qp' Cr and Qp' CbCr But For example, according to this embodiment, the chroma quanta are derived as follows: Data indicating a function for deriving a quantization parameter (QP) is signaled, and A chroma quantization parameter is derived based on the chroma quantization data. Data for derivation (or user-defined QP mapping table) The QP mapping table) is signaled as shown in the following table.
[0218] [Table 14]
[0219] For the syntax elements in Table 14 above The semantics are as follows:
[0220] [Table 15]
[0221] For example, the syntax element qPi_min_idx indicates the minimum qPi index used for chroma quantization.
[0222] Also, for example, the syntax element qPi_delta_max_idx indicates the delta value between the minimum qPi index (qPi_min_idx) and the maximum qPi index used for Qp C derivation. The value of qPiMaxIdx is greater than or equal to qPi_min_idx. For example, the maximum index qPiMaxIdx used for Qp derivation can be derived as follows: C
[0223]
Equation
[0224] Also, for example, the syntax element QpC_qPi_val[i] indicates the Qp value for the i-th index. C
[0225] Also, for example, the syntax element QpOffset C indicates the offset value C used for Qp derivation.
[0226] Also, for example, the variable Qp C Idx[qPi] for qPi can be derived as follows . Here, the qPi can be from 0 to qPiMaxIdx.
[0227] When -qPi < qPi_min_idx, Qp C Idx[qPi] is set to be the same as qPi.
[0228] -If qPi=qPi_min_idx···qPiMaxIdx, then Qp C Id x[qPi] is set equal to QpC_qPi_val[qPi].
[0229] -If qPi>qPiMaxIdx, then Qp C Idx[qPi] is qPi-QpO ffset C is set to
[0230] Then, Qp C The value of Qp C It is derived as Idx[qPi].
[0231] For example, the process of deriving the quantization parameter according to this embodiment can be written in a standard format as follows: , as shown in the following table.
[0232] [Table 16] JPEG2025118881000023.jpg155161JPEG2025118881000024.jpg178158JPEG2025118881000025.jpg239159
[0233] Referring to Table 16 above, the derivation process for the luma and chroma quantization parameters is The input to the process is the luma position (xCb, yCb), the current coding block The variables cbWidth and cbHeight that specify the width and height of the block, and the single tree ( Specify whether it is a single tree or a dual tree. On the other hand, as mentioned above, the luma quantization parameter parameter, chroma quantization parameter is Qp' Y , Qp' Cb and Qp' CrIt is shown as follows.
[0234] This document also describes another embodiment for signaling information about quantization parameters. suggest.
[0235] For example, in this embodiment, a flag in the SPS is set to user defined mode. ed mode or default mode Use syntax elements that can be used to control the derivation of the quantization parameters. We present an example of syntax elements that can be used to derive the quantization parameters. An example is shown in the following table. Meanwhile, the structure of the syntax element is just an example. The structures are not limited to those shown in the table below.
[0236] [Table 17]
[0237] [Table 18]
[0238] [Table 19]
[0239] For example, the syntax element Qpc_data_default_flag specifies the quantity Indicates whether a user-defined mode is used for deriving child parameters. For example, 0 The Qpc_data_default_flag specifies the default value for the derivation of the quantization parameters. indicates that user-defined mode is used. For example, a Qpc_data_def of 1 ault_flag specifies whether the default table is used to derive the chroma quantization parameters. The default table is shown in Table 7. Also, the syntax element Qpc_data_default_flag is not present. If not present, the syntax element Qpc_data_default_flag is is considered to be 1.
[0240] On the other hand, when the user-defined mode is used, the corresponding slice header, tile group The loop / header or other appropriate header is used to signal the APS ID. Example: For example, the syntax for indicating the APS ID through the slice header as shown in Table 18 is The element can be signaled.
[0241] For example, the syntax element slice_Qp C _aps_id is the number of Illuminated Qp C APS adaptation_parameter_set_id slice_Qp C adaptation_parame like _aps_id Qp with ter_set_id C TemporalId of APS NAL unit is smaller than the TemporalId of the coded slice NAL unit, etc. Multiple sets with the same adaptation_parameter_set_id value Qp C If an APS is referenced by two or more slices of the same picture, the same value Multiple Qp with adaptation_parameter_set_id C A The PS can have the same content.
[0242] In addition, the APS structure for transmitting chroma quantization data proposed in this embodiment is This is as shown in Table 19 above.
[0243] For example, the syntax element adaptation_parameter_set _id is the identifier of the APS that is referenced by other syntax elements. fier) can be provided.
[0244] For example, the syntax element aps_extension_flag is A The PS RBSP syntax structure includes the aps_extension_data_flag syntax. Indicates whether a syntax element is present. For example, a syntax element with a value of 1 The aps_extension_flag member is used in the APS RBSP syntax structure. The aps_extension_data_flag syntax element must be present. The syntax element aps_extension_flag with a value of 0 indicates aps_extension_data_fl in the APS RBSP syntax structure Indicates the absence of the ag syntax element.
[0245] Also, for example, the syntax element aps_extension_data_fl ag can have any value. The presence and value of lag are may not affect decoder conformance to the profile specified in the For example, a decoding device conforming to this version of the standard will interpret all syntax elements as s_extension_data_flag can be ignored.
[0246] For example, the syntax element aps_params_type is 10 indicates the type of APS parameters contained in the APS.
[0247] Qp disclosed in Table 19 above C _data() is signaled as shown in the following table: do.
[0248] [Table 20]
[0249] For example, the syntax element qPi_min_idx is used for chroma quantization. indicates the minimum qPi index that can be achieved.
[0250] For example, the syntax element qPi_delta_max_idx specifies the maximum number of deltas per second (Qp i_min_idx and Chroma Qp C The delta between the maximum qPi indices used in the derivation (delta value). The value of qPiMaxIdx is qPi_min_idx Greater than or equal to, e.g., Qp C The maximum index used in the derivation, qPiMaxId x can be derived as in Equation 4 above.
[0251] Also, for example, the syntax element Qp C _prec_minus1 plus 1 The value is a representation of the syntax lmcs_delta_abs_cw[i]. Qp indicates the number of bits used for the C _prec_ The value of minus1 can be in the range of 0 to BitDepthY - 2.
[0252] Also, for example, the syntax element Qp C _init_val is qPi_min corresponding to idx indicates the Qp C value.
[0253] Also, for example, the syntax element Qp C _qPi_delta_val[i] is the delta of the Qp value for the i-th index C and indicates it.
[0254] Also, for example, the syntax element QpOffset C is the C offset value used for the derivation of Qp and indicates it.
[0255] For example, the variable Qp for qPi C Idx[qPi] is derived as follows. Here the qPi can be from 0 to qPiMaxIdx.
[0256] When -qPi < qPi_min_idx, Qp C Idx[qPi] is set to the same as qPi.
[0257] When -qPi = qPi_min_idx ··· qPiMaxIdx, Qp C Id x[qPi] is Qp C _qPi_delta_val[qPi] + Qp C Idx[qPi - 1] and is set.
[0258] When -qPi > qPiMaxIdx, Qp C Idx[qPi] is qPi - QpO ffsetC is set to
[0259] Then, Qp C The value of Qp C It can be derived as Idx[qPi].
[0260] As in the previous embodiment, the chroma quantization parameters, i.e., Qp'Cb, Qp'Cr and Qp'CbCr are signaled using user-defined information or as described in Table 7 above. can be derived using the default values shown in the default table such as .
[0261] For example, the process of deriving the quantization parameter according to this embodiment can be written in a standard format as follows: , as shown in the following table.
[0262] [Table 21] JPEG2025118881000031.jpg152155JPEG2025118881000032.jpg182159JPEG2025118881000033.jpg193158JPEG2025118881000034.jpg42155
[0263] Referring to Table 21 above, if ChromaArrayType is 1 and Qp C _d If ata_default_flag indicates a negative (FALSE) , Qp C _data_default_flag is 0), variable qP Cb , qP Cr and qP CbCr is the user-defined information signaled as proposed in this embodiment. Derived based on the information, ChromaArrayType is 1, and Qp C _data If _default_flag is TRUE (e.g., Qp C _data_default_flag is 1), variable qP Cb , qP Cr and qP CbCr are qPi Cb , qPi Cr and qPi CbCr Based on the same index qPi It is derived from the default table.
[0264] This document also describes another embodiment for signaling information about quantization parameters. suggest.
[0265] For example, in this embodiment, the flag of the SPS indicates the user-defined mode or the default mode. Syntax that can be used to control the derivation of the quantization parameters by Specifically, this embodiment proposes a syntax element with the following syntax structure: We propose a method for signaling the syntax element. The structure of the component is an example and is not limited to the structure shown in the table below.
[0266] [Table 22]
[0267] For example, the syntax element qPi_min_idx is used for chroma quantization. indicates the minimum qPi index that can be achieved.
[0268] For example, the syntax element qPi_delta_max_idx specifies the maximum number of deltas per second (Qp i_min_idx and Chroma Qp C Delta between maximum qPi indices used in the derivation The value of qPiMaxIdx is qPi_min_id. Greater than or equal to x. For example, Qp C The maximum index used in the derivation, qPiMaxI dx can be derived as shown in Equation 4 above.
[0269] Also, for example, the syntax element Qp C _qPi_delta_val[i] is , Qp for the i-th index C Indicates the delta of the value.
[0270] Also, for example, the syntax element QpOffset C is the Qp C Guidance Indicates the offset value used for output.
[0271] As in the previous embodiment, the chroma quantization parameters, i.e., Qp'Cb, Qp'Cr and Qp'CbCr are determined using user-defined information signaled or as per Table 7 above. The values can be derived using the default values shown in the default table.
[0272] For example, the process of deriving the quantization parameter according to this embodiment can be written in a standard format as follows: , as shown in the following table.
[0273] [Table 23] JPEG2025118881000037.jpg156158JPEG2025118881000038.jpg178157JPEG2025118881000039.jpg185160JPEG2025118881000040.jpg103157
[0274] Referring to Table 23 above, when ChromaArrayType is 1 and Qp C _d ata_default_flag indicates negative (FALSE) (i.e., for example when Qp C _data_default_flag is 0), the variables qP Cb qP Cr and qP CbCr can be derived based on the user - defined information signaled as proposed in this embodiment. For example, when ChromaArrayType is 1 and Qp C _data_default_flag indicates negative (FALSE) (i.e., for example, when Qp C _data_default_flag is 0), the variables qP Cb qP Cr and qP CbCr are respectively derived to be the same as the values of qPi Cb qPi Cr and qPi CbCr based on the same index qPi as Qp C and can be derived.
[0275] For example, the variable Qp C Idx[i] is derived as follows.
[0276] - When i < qPi_min_idx, Qp C Idx[qPi] is set to be the same as qPi .
[0277] - When i = qPi_min_idx ··· qPiMaxIdx, Qp C Idx i] is set to Qp C _qPi_delta_val[i]+Qp C Idx[i - 1] .
[0278] -If i>qPiMaxIdx, then Qp C Idx[i] is qPi-QpOffse t C is set to
[0279] Then, the Qp C is the Qp C It can be set to Idx[i].
[0280] Also, referring to Table 23, if ChromaArrayType is 1 and Qp C _d If ata_default_flag indicates positive (TRUE) (i.e., for example, Qp C _data_default_flag is 1), variable qP Cb , qP Cr Reach and qP CbCr are qPi Cb , qPi Cr , qPi CbCr Based on the same index qPi as It is derived from the default table based on the
[0281] This document also describes another embodiment for signaling information about quantization parameters. suggest.
[0282] For example, this embodiment uses APS (Adaptation Parameter Set) Chroma quantization (Qp C ) Proposes syntax elements for derived parameters For example, the APS ID can be signaled in the slice header. Also, for example, if a default table is used or signaled in APS PPS (picture parameter set) indicates whether a table derived from the information in the A flag in the default table is proposed. If not used, Qp in the slice header C Access to the APS containing the data (ac Additional control strategies are added to support the
[0283] On the other hand, according to existing video / image standards, the chroma QP is derived from the luma QP and is additive. Then, it can be updated by the signaled chroma QP offset. The existing chroma quantization parameter QpC table is the default table shown in Table 7 above. It can be.
[0284] This embodiment calculates the chroma quantization parameter Qp as a function of the index qPi. C Sig APS proposes adding a function for nulling Qp C Value Signaling Used for integrating strategies.
[0285] For example, the APS according to this embodiment is as shown in the following table.
[0286] [Table 24]
[0287] For example, the syntax element adaptation_parameter_set _id is the identifier of the APS that is referenced by other syntax elements. fier).
[0288] For example, the syntax element aps_params_type is 10 indicates the type of APS parameters contained in the APS.
[0289] For example, the syntax element aps_extension_flag is A The PS RBSP syntax structure includes the aps_extension_data_flag syntax. Indicates whether a syntax element is present. For example, a syntax element with a value of 1 The aps_extension_flag member is used in the APS RBSP syntax structure. The aps_extension_data_flag syntax element must be present. The syntax element aps_extension_flag with a value of 0 indicates aps_extension_data_fl in the APS RBSP syntax structure Indicates the absence of the ag syntax element.
[0290] Also, for example, the syntax element aps_extension_data_fl ag has any value. The presence of the aps_extension_data_flag Presence and value are specified in the version of this standard. This may not affect decoder conformance to the specified profile. A decoder conforming to the case version must interpret all syntax elements aps_exte nsion_data_flag can be ignored.
[0291] Qp disclosed in Table 24 above C _data() is signaled as shown in the following table: do.
[0292] [Table 25]
[0293] For example, the syntax element qPi_min_idx is used for chroma quantization. The value of qPi_min_idx ranges from 0 to 63. It is possible.
[0294] For example, the syntax element qPi_delta_max_idx specifies the maximum number of deltas per second (Qp i_min_idx and Chroma Qp C Delta between maximum qPi indices used in the derivation The value of qPiMaxIdx is qPi_min_id. x. Also, for example, the value of qPi_delta_max_idx is 0. For example, Qp C The maximum index used in the derivation, qPiMa xIdx is derived as shown in Equation 4 above.
[0295] Also, for example, the syntax element Qp C _qPi_delta_val[i] is , Qp for the i-th index C The difference between the values. may be called the delta.
[0296] Also, for example, the syntax element Qp C Offset C _present_fla g is the QpOffset in the bitstream C For example, Q of 1 indicates whether p C Offset C _present_flag is the QpOffset in the bitstream C Also, for example, Qp of 0 C Offset C _present_fl ag indicates the absence of QpOffset in the bitstream. Qp C If there is no C Offs et C _present_flag, Qp C Offset C _prese nt_flag is considered 0.
[0297] Also, for example, the syntax element QpOffset C is used for the derivation of Qp C and indicates the offset value. For example, the variable Qp
[0298] Idx[qPi] for qPi is derived as follows. Here C where qPi can be from 0 to 63.
[0299] - If -qPi < qPi_min_Idx, Qp C Idx[qPi] is set to the same as qPi
[0300] - If -qPi = qPi_min_idx ··· qPiMaxIdx, Qp Id C x[qPi] is set to Qp C _qPi_delta_val[qPi] + Qp C Idx[qPi - 1].
[0301] - If -qPi > qPiMaxIdx and Qp C Offset C _present_f lag is 1, Qp C Idx[qPi] is set to qPi - QpOffset C and Qp C Offset CIf _present_flag is not 1, i.e., Qp C Off set C If _present_flag is 0, Qp C Idx[qPi] is qPi-( qPiMaxIdx-Qp C Idx[qPiMaxIdx]).
[0302] Then, Qp C The value of Qp C It is derived as Idx[qPi].
[0303] Furthermore, this embodiment proposes flags to be signaled in the PPS as shown in the following table.
[0304] [Table 26]
[0305] For example, the syntax element Qp C _data_default_flag is the amount User defined mode for derivation of child parameters ) is used. For example, a Qp of 0 C _data_default_fla g indicates that a user-defined mode is used to derive the quantization parameters. For example, Qp of 1 C _data_default_flag sets the quantization parameter This indicates that the default table described above is used to derive the The table is as shown in Table 7 above. C _data_default_flag does not exist If not present, Qp C _data_default_flag is considered to be 1.
[0306] In addition, in this embodiment, the syntax signaled in the slice header is as shown in the following table. We propose the element.
[0307] [Table 27]
[0308] For example, the syntax element slice_Qp C _aps_id is the number of Reference Qp C Indicates the adaptation_parameter_set_id of the APS. slice_Qp C adaptation_paramet like _aps_id Qp with er_set_id C The TemporalId of an APS NAL unit is , less than or equal to the TemporalId of the coded slice NAL unit Multiple adaptation_parameter_set_ids with the same value Qp C If an APS is referenced by two or more slices of the same picture, the same value Multiple Qp with adaptation_parameter_set_id C AP S can have the same content.
[0309] For example, the process of deriving the quantization parameter according to this embodiment can be written in a standard format as follows: , can be shown as in the following table.
[0310] [Table 28] JPEG2025118881000046.jpg154160JPEG2025118881000047.jpg180159JPEG2025118881000048.jpg140158JPEG2025118881000049.jpg100158
[0311] Referring to Table 28 above, if ChromaArrayType is 1 and Qp C _d If ata_default_flag indicates a negative (FALSE) , Qp C _data_default_flag is 0), variable qP Cb , qP Cr and qP CbCr is a user-defined signal as proposed in this embodiment For example, if ChromaArrayType is 1, , Qp C If _data_default_flag is TRUE (i.e. For example, Qp C _data_default_flag is 1), variable qP C b , qP Cr and qP CbCr are qPi Cb , qPi Cr and qPi CbCr The same index as The value can be derived by a default table based on the qPi.
[0312] This document also describes another embodiment for signaling information about quantization parameters. suggest.
[0313] For example, in this embodiment, the user-defined guidance for chroma quantization in SPS is as follows: For example, this embodiment proposes to signal the user-defined chroma amount as follows: Childhood (Qp C For example, the flags in SPS are set to default for chroma quantization derivation. Use the default table or use the contents of the table for chroma quantization derivation in SPS. It can be shown how the information is derived from the signaled information.
[0314] For example, this embodiment uses the syntax elements shown in the following table to index: We propose a method for chroma quantization as a function of qPi.
[0315] [Table 29]
[0316] For example, the syntax element qPi_min_idx is used for chroma quantization. The value of qPi_min_idx ranges from 0 to 63. could be.
[0317] For example, the syntax element qPi_delta_max_idx specifies the maximum number of deltas per second (Qp i_min_idx and Chroma Qp C Delta between maximum qPi indices used in the derivation The value of qPiMaxIdx is qPi_min_id. Greater than or equal to x. The value of qPi_delta_max_idx is in the range 0 to 63. For example, Qp C The maximum index qPiMaxIdx used in the derivation is It can be derived as shown in Equation 4 above.
[0318] Also, for example, the syntax element Qp C_qPi_delta_val[i] represents the delta of the Qp value for the i-th index C .
[0319] For example, the variable Qp C Idx[qPi] is derived as follows
[0320] When -qPi < qPi_min_Idx, Qp C Idx[qPi] is set to the same value as qPi .
[0321] When -qPi = qPi_min_idx ··· qPiMaxIdx, Qp C Id x[qPi] is Qp C _qPi_delta_val[qPi] + Qp C Idx[qPi - 1].
[0322] When -qPi > qPiMaxIdx, Qp C Idx[qPi] is set to qPi - (qP iMaxIdx - Qp C Idx[qPiMaxIdx]).
[0323] After that, the said Qp C is set to the said Qp C Idx[qPi].
[0324] Also, the SPS flag indicating whether to use the default table for chroma quantization derivation proposed in this embodiment or the information signaled for chroma quantization derivation is as follows . The SPS flag indicating whether to use the default table for chroma quantization derivation proposed in this embodiment or the information signaled for chroma quantization derivation is as shown in the following table
[0325]
Table 30
[0326] For example, the syntax element Qp C _data_default_flag is the amount Indicates whether a user-defined mode is used for deriving child parameters. For example, 0 Qp C _data_default_flag is used to derive the quantization parameters. indicates that a user-defined mode is to be used. C _data_def ault_flag indicates whether a default table is used to derive the quantization parameters. The default table is as shown in Table 7 above. C _d If ata_default_flag is not present, C _data_defa ult_flag is considered to be 1.
[0327] For example, the process of deriving the quantization parameter according to this embodiment can be written in a standard format as follows: , as shown in the following table.
[0328] [Table 31] JPEG2025118881000053.jpg155157JPEG2025118881000054.jpg178157JPEG2025118881000055.jpg140159JPEG2025118881000056.jpg101156
[0329] Referring to Table 31 above, if ChromaArrayType is 1 and Qp C _d If ata_default_flag indicates a negative (FALSE) , Qp C _data_default_flag is 0), variable qP Cb , qP Cr and qP CbCr is the user definition signaled as proposed in this embodiment. It can be derived based on the definition information. pe is 1 and Qp C _data_default_flag indicates affirmative (TRUE) (i.e., for example, Qp C If _data_default_flag is 1, (if so), variable qP Cb , qP Cr and qP CbCr are qPi Cb , qPi Cr , qPi CbCr Same as It can be derived from a default table based on a single index qPi.
[0330] This document also describes another embodiment for signaling information about quantization parameters. suggest.
[0331] For example, the present embodiment calculates the chroma quantization parameter Qp as a function of the index qPi. C For example, we propose adding a function to signal quantum User defined table for deriving the parameter A method for signaling syntax elements for le) has been proposed, which allows Switch between user-defined and default tables for each picture that references the PPS This provides the flexibility to
[0332] User-defined table signaled in the PPS proposed in this embodiment The syntax elements for (user defined table) are as follows: is as follows.
[0333]
Table 32
[0334] For example, the syntax element qPi_min_idx indicates the minimum qPi index used for chroma quantization. The value of qPi_min_idx can be in the range of 0 to 63.
[0335] Also, for example, the syntax element qPi_delta_max_idx indicates the delta value between qPi_min_idx and the maximum qPi index used for Qp C derivation. The value of qPiMaxIdx is greater than or equal to qPi_min_idx. The value of qPi_delta_max_idx can be in the range of 0 to 63. For example, the maximum index qPiMaxIdx used for Qp derivation can be derived as shown in Equation 4 above. C
[0336] Also, for example, the syntax element QpC_qPi_delta_val[i] indicates the delta value of the Qp C value for the i-th index.
[0337] For example, the variable Qp C Idx[qPi] can be derived as follows.
[0338] - If -qPi < qPi_min_Idx, Qp C Idx[qPi] is set to be the same as qPi.
[0339] -If qPi=qPi_min_idx···qPiMaxIdx, then Qp C Id x[qPi] is Qp C _qPi_delta_val[qPi]+Qp C Idx[qPi- 1].
[0340] -If qPi>qPiMaxIdx, then Qp C Idx[qPi] is qPi-(qP iMaxIdx-Qp C Idx[qPiMaxIdx]).
[0341] Then, the Qp C is the Qp C It is set to Idx[qPi].
[0342] Also, the use of default tables for chroma quantization derivation proposed in this embodiment SPS indicates whether the signaled information is used for chroma quantization derivation or not. The flags are as follows:
[0343] [Table 33]
[0344] For example, the syntax element Qp C _data_default_flag is the amount Indicates whether a user-defined mode is used for deriving child parameters. For example, 0 Qp C _data_default_flag is used to derive the quantization parameters. indicates that user-defined mode is to be used, i.e., a Qp of 0 C _data_d The fault_flag is the chroma quantization parameter data Qp C _data() indicates that Qp is used. C _data_default_flag is 0 In this case, the chroma quantization parameter data Qp C _data() is signaled Also, for example, Qp of 1 C _data_default_flag is a quantum indicates that a default table is to be used for the derivation of the parameter. The table is as shown in Table 7 above. C _data_default_f If lag does not exist, Qp C _data_default_flag is considered to be 1 will be done.
[0345] For example, the process of deriving the quantization parameter according to this embodiment can be written in a standard format as follows: , as shown in the following table.
[0346] [Table 34] JPEG2025118881000060.jpg156160JPEG2025118881000061.jpg178158JPEG2025118881000062.jpg141160JPEG2025118881000063.jpg102157
[0347] Referring to Table 34 above, if ChromaArrayType is 1 and Qp C _d If ata_default_flag indicates a negative (FALSE) , Qp C _data_default_flag is 0), variable qP Cb , qP Cr and qP CbCr is the user definition signaled as proposed in this embodiment. It can be derived based on the definition information. pe is 1 and Qp C _data_default_flag indicates affirmative (TRUE) (i.e., for example, Qp C If _data_default_flag is 1, (if so), variable qP Cb , qP Cr and qP CbCr are qPi Cb , qPi Cr , qPi CbCr Same as It can be derived from a default table based on a single index qPi.
[0348] This document also describes another embodiment for signaling information about quantization parameters. suggest.
[0349] For example, in this embodiment, the chroma quantization parameter Qp C Deriving and signaling A general mode is proposed.
[0350] Chroma quantization parameters proposed in this embodiment Data, Qp C _data() is signaled as shown in the following table.
[0351] [Table 35]
[0352] For example, the syntax element qPi_min_idx is used for chroma quantization. The value of qPi_min_idx ranges from 0 to 63. could be.
[0353] Also, for example, the syntax element qPi_delta_max_idx is the delta between the maximum qPi index used in the Qp C derivation and the chroma Qp value (delta value). The value of qPiMaxIdx is greater than or equal to qPi_min_id x. The value of qPi_delta_max_idx can be in the range of 0 to 63. For example, the maximum index qPiMaxIdx used in the Qp derivation can be derived as described in the above equation (4). C Also, for example, the syntax element QpC_qPi_delta_val[i] represents the delta of the Qp value for the i-th index.
[0354] Also, for example, the variable Qp Idx[qPi] can be derived as follows. C When -qPi < qPi_min_Idx, Qp
[0355] Idx[qPi] is set to be the same as qPi. C When -qPi = qPi_min_idx ··· qPiMaxIdx, Qp
[0356] Idx[qPi] is set to Qp C _qPi_delta_val[qPi] + Qp Idx[qPi -
[0357] 1]. When -qPi > qPiMaxIdx, Qp C Idx[qPi] is set to qPi - (qP iMaxIdx - Qp C Idx[qPiMaxIdx]). C When -qPi = qPi_min_idx ··· qPiMaxIdx, Qp Idx[qPi] is set to Qp
[0358] _qPi_delta_val[qPi] + Qp C Idx[qPi - 1]. When -qPi > qPiMaxIdx, Qp C Idx[qPi] is set to qPi - (qP
[0359] Then, the Qp C is the Qp C It is set to Idx[qPi].
[0360] This embodiment also uses a default table for chroma quantization derivation or Signals a flag indicating whether the signaled information is used for chroma quantization derivation. The flag is used to indicate the SPS (sequence parameter er set), or PPS (picture parameter set) signaled via high level syntax The flags signaled via high level syntax are as follows: As shown in the table below.
[0361] [Table 36]
[0362] For example, the syntax element Qp C _data_default_flag is the amount Indicates whether a user-defined mode is used for deriving child parameters. For example, 0 Qp C _data_default_flag is used to derive the quantization parameters. indicates that user-defined mode is to be used, i.e., a Qp of 0 C _data_d The fault_flag is the chroma quantization parameter data Qp C _data() indicates that Qp is used. C _data_default_flag is 0 In this case, the chroma quantization parameter data Qp C_data() is signaled For example, Qp of 1 can be C _data_default_flag is a quantum Indicates that a default table is to be used for deriving the initialization parameters. The default table is as shown in Table 7 above. C _data_default_ If flag is not present, the Qp C _data_default_flag is assumed to be 1 It will be done.
[0363] For example, the process of deriving the quantization parameter according to this embodiment can be written in a standard format as follows: , as shown in the following table.
[0364] [Table 37] JPEG2025118881000067.jpg151156JPEG2025118881000068.jpg181162JPEG2025118881000069.jpg140161JPEG2025118881000070.jpg100155
[0365] Referring to Table 37 above, if ChromaArrayType is 1 and Qp C _d If ata_default_flag indicates a negative (FALSE) , Qp C _data_default_flag is 0), variable qP Cb , qP Cr and qP CbCr is the user definition signaled as proposed in this embodiment. For example, if ChromaArrayType is 1, Ri, Qp CIf _data_default_flag is TRUE (i.e. For example, Qp C _data_default_flag is 1), variable q P Cb , qP Cr and qP CbCr are qPi Cb , qPi Cr and qPi CbCr The same index as The value can be derived by a default table based on the value qPi.
[0366] This document also describes another embodiment for signaling information about quantization parameters. suggest.
[0367] For example, in this embodiment, the chroma quantization parameter Qp C Lead the table This embodiment can be used with APS or independently. For example, it may be proposed to use The syntax structure of APS is as shown in the following table.
[0368] [Table 38]
[0369] For example, the syntax element qPi_min_idx is used for chroma quantization. The value of qPi_min_idx ranges from 0 to 63. could be.
[0370] For example, the syntax element qPi_delta_max_idx specifies the maximum number of deltas per second (Qp i_min_idx and Chroma Qp C Delta between maximum qPi indices used in the derivation Indicates a value (delta value). The value of qPiMaxIdx is qPi_min_id is greater than or equal to x. The value of qPi_delta_max_idx is in the range of 0 to 63 and can be. For example, Qp C The maximum index qPiMaxIdx used for derivation can be derived as in the above formula 4 as follows.
[0371] Also, for example, the syntax element QpC_qPi_delta_val[i] is the difference of the Qp value for the i-th index. The said difference C can also be called a delta.
[0372] For example, the variable Qp C Idx[qPi] is derived as follows. Here, the said qPi can be from 0 to 63.
[0373] When -qPi < qPi_min_Idx, Qp C Idx[qPi] is set to the same as qPi value.
[0374] When -qPi = qPi_min_idx ··· qPiMaxIdx, Qp C Id x[qPi] is Qp C _qPi_delta_val[qPi] + Qp C Idx[qPi - 1] is set.
[0375] When -qPi > qPiMaxIdx, Qp C Idx[qPi] is qPi - (qP iMaxIdx - Qp C Idx[qPiMaxIdx]) is set.
[0376] After that, the said Qp C is the said QpC It is set to Idx[qPi].
[0377] This document also describes another embodiment for signaling information about quantization parameters. suggest.
[0378] For example, this embodiment uses continuous Qp C A method in which the delta (or difference) between values is limited to 1 is presented as an example.
[0379] For example, the present embodiment adds user-defined chroma quantization (Qp C ) For example, the SPS (sequence) proposed in this embodiment is nce parameter set) flag is used to derive the chroma quantization parameters. You can use the existing default table or you can specify the table contents in the SPS. According to this embodiment, the user-defined chroma amount is By accepting the coding, a suitable method for the image to be coded can be selected. This can improve the processing efficiency.
[0380] For example, this embodiment uses syntax elements such as those in the following table to create an index: Chroma Quantization Qp as a function of qPi C We propose to add a function to signal the following.
[0381] [Table 39]
[0382] For example, the syntax element qPi_min_idx is used for chroma quantization. The value of qPi_min_idx ranges from 1 to 63. could be.
[0383] For example, the syntax element qPi_delta_max_idx specifies the maximum number of deltas per second (Qp i_min_idx and Chroma Qp C Delta between maximum qPi indices used in the derivation The value of qPiMaxIdx is qPi_min_id. Greater than or equal to x. The value of qPi_delta_max_idx is in the range 1 to 63. For example, Qp C The maximum index qPiMaxIdx used in the derivation is It can be derived as shown in Equation 4 above.
[0384] Also, for example, the syntax element Qp C _qPi_flag[i] is the Qp C The value is In other words, for example, the syntax element Qp C _qPi_ flag[i] is the i-th Qp C The value is the (i-1)th Qp C Whether to increase the value by 1 or not For example, Qp of 1 C _qPi_flag[i] is Qp C The value increases by 1 indicates that Qp of 0 C _qPi_flag[i] is Qp C Indicates that the value is not increasing .
[0385] For example, the variable Qp C Idx[qPi] can be derived as follows: , the qPi can be from 0 to 63.
[0386] - When -qPi < qPi_min_Idx, Qp C Idx[qPi] is set the same as qPi to one.
[0387] - When -qPi = qPi_min_idx ··· qPiMaxIdx, Qp C Id x[qPi] is Qp C _qPi_flag[qPi] + Qp C set to Idx[qPi - 1] is done.
[0388] - When -qPi > qPiMaxIdx, Qp C Idx[qPi] is set to qPi - (qP iMaxIdx - Qp C Idx[qPiMaxIdx]).
[0389] Then, the said Qp C is the said Qp C set to Idx[qPi].
[0390] Also, this embodiment proposes a scheme for signaling a flag indicating whether to use a default table for chroma quantization derivation or whether the information signaled for chroma quantization derivation is used. The said flag can be signaled via a high-level syntax such as SPS (sequence parameter set), or PPS (picture parameter set). The said flag signaled via the high-level syntax is as follows in the following table.
Table 40
[0391]
[0392] For example, the syntax element Qp C _data_default_flag is the amount Indicates whether a user-defined mode is used for deriving child parameters. For example, 0 Qp C _data_default_flag is used to derive the quantization parameters. indicates that user-defined mode is to be used, i.e., a Qp of 0 C _data_d The fault_flag is the chroma quantization parameter data Qp C _data() indicates that Qp is used. C _data_default_flag is 0 In this case, the chroma quantization parameter data Qp C _data() is signaled Also, for example, Qp of 1 C _data_default_flag is a quantum indicates that a default table is to be used for the derivation of the parameter. The table is as shown in Table 7 above. C _data_default_f If lag does not exist, Qp C _data_default_flag is considered to be 1 will be done.
[0393] For example, the process of deriving the quantization parameter according to this embodiment can be written in a standard format as follows: , as shown in the following table.
[0394] [Table 41] JPEG2025118881000075.jpg155159JPEG2025118881000076.jpg178159JPEG2025118881000077.jpg140160JPEG2025118881000078.jpg104159
[0395] Referring to Table 41 above, if ChromaArrayType is 1 and Qp C _d If ata_default_flag indicates a negative (FALSE) , Qp C _data_default_flag is 0), qP Cb , variable qP Cr and qP CbCr is the user definition signaled as proposed in this embodiment. It can be derived based on the definition information. pe is 1 and Qp C _data_default_flag indicates affirmative (TRUE) (i.e., for example, Qp C If _data_default_flag is 1, (if so), variable qP Cb , qP Cr and qP CbCr are qPi Cb , qPi Cr , qPi CbCr Same as It can be derived from a default table based on a single index qPi.
[0396] FIG. 10 shows a schematic diagram of an image encoding method using an encoding device according to the present document. The method disclosed in FIG. 10 may be performed by the encoding device disclosed in FIG. Specifically, for example, steps S1000 to S1010 in FIG. This can be performed by the entropy encoding unit of , generating reconstructed samples and reconstructed pictures based on the residual samples and predicted samples; The step of adding can be performed by an adder of the encoding device.
[0397] The encoding device encodes image information (S1000). The combiner is based on the chroma type of the current chroma block. d) Quantization parameter data for chroma coding can be generated, Indicates whether the quantization parameter data for combine chroma coding is present. a flag for indicating that the quantization parameter data is to be used as the quantization parameter data; Image information can be encoded.
[0398] Specifically, for example, the encoding device may select the current chrominance block based on the prediction mode. In this case, prediction samples can be derived using inter prediction or intra prediction. The various prediction methods disclosed in this document can be applied.
[0399] For example, the encoding device may perform inter prediction on the current chroma block or may Whether to perform intra prediction can be determined, and a specific inter prediction mode or A specific intra-prediction mode can be determined based on the RD cost. The encoding device derives prediction samples for the current chroma block according to the It is possible.
[0400] Also, for example, the encoding device may select the original sample and the previous sample for the current chroma block. The residual samples can be derived through subtraction of the predicted samples.
[0401] Also, for example, the encoding device may select the residual sample based on the chroma type. It is possible to generate quantization parameter data for combined chroma coding of the Here, the chroma type means the above-mentioned ChromaArrayType. For example, if the value of the chroma type is not 0, the encoding device may: Quantization parameter data for combined chroma coding For example, if the value of the chroma type is 1, the decoding device , quantization parameter data for combined chroma coding Here, if the value of the chroma type is 0, The format may be Monochrome format, and the chromatic type If the value of chroma_type is 1, the chroma type may be in 4:2:0 format, If the chroma type value is 2, the chroma type may be in 4:2:2 format. If the value of the chroma type is 3, the chroma type is in 4:4:4 format. In addition, the combined chroma coding may be This is sometimes called joint coding of components. The chroma components may include a Cb component and / or a Cr component.
[0402] Also, for example, the encoding device may determine whether or not the chroma type is correct based on the chroma type (for example, for the residual sample for that chroma component, if the value of , determining whether to perform combined chroma coding; and a combined chroma code is generated for the residual sample. When performing the sampling, the residual samples are combined. Quantization parameter data for chroma coding can be generated, for example: The quantization parameter data is stored in a high level syntax. For example, the quantization parameter data can be signaled via The data is SPS (sequence parameter set), PPS (pict ure parameter set), slice header or signaling via APS (adaptation parameter set) etc. It can be ringed.
[0403] For example, the quantization parameter data is A syntax element (s) that indicates the start index of the chroma quantization parameter table. syntax element) and / or the opening of the chroma quantization parameter table It may contain a syntax element that indicates the difference between the start and end index. The syntax element indicating the start index can be the above-mentioned qPi_m In addition, the difference between the start index and the end index can be The syntax element to indicate may be qPi_delta_max_idx. Furthermore, the chroma quantization parameter table is a chroma quantization parameter mapping table. chroma quantization parameter mapping g table) or user-defined quantization parameter mapping table (user de refined quantization parameter mapping tab The starting index is also called the minimum index. Furthermore, for example, the syntax element indicating the start index may be and / or the syntax indicating the difference between the start index and the end index. The CSS element uses high level syntax. For example, the symbol indicating the start index may be signaled via Tax element and / or the difference between the start index and the end index. The syntax element is SPS (sequence parameter sequence et), PPS (picture parameter set), slice header (s license header), or APS (adaptation parameter set), etc.
[0404] Also, for example, the quantization parameter data is the chroma quantization parameter table It can contain syntax elements for the quantization parameter values of the indexes That is, for example, the quantization parameter data is the chroma quantization parameter data. The quantization parameter value for each index in the table must contain a syntax element. The syntax element for the quantization parameter value of the index can be , the aforementioned Qp C _qPi_val[i]. Also, for example, the index The syntax elements for the quantization parameter values are given in the high-level syntax (h This can be signaled via high level syntax, e.g. , the syntax element for the quantization parameter value of the index is SPS( sequence parameter set), PPS(picture para meter set), slice header, or APS Adaptation parameter set) etc. can be done.
[0405] Also, for example, the quantization parameter data is used in the combined chroma coding. Syntax for indicating offsets for derivation of quantization parameters for The syntax element indicating the offset may include the QpOffset C Furthermore, for example, the syntax indicating the offset may be The element is expressed through a high level syntax. For example, the offset can be signaled as a syntax element. The statement is SPS (sequence parameter set), PPS (picture true parameter set), slice header ), or via APS (adaptation parameter set), etc. It can be nulled.
[0406] On the other hand, for example, the encoding device may The quantization parameters for binary chroma coding can be derived. The quantization parameter for Vin chroma coding is the aforementioned QP` CbCr Show It is possible.
[0407] For example, as described above, the chroma quantization parameter table may include the chroma quantization parameter a syntax element indicating the start index of a parameter table; A symbol indicating the difference between the start index and the end index of the quantization parameter table of the syntax element and / or the index of the chroma quantization parameter table can be derived based on the syntax elements for the quantization parameter values That is, for example, the combined chroma conversion is performed based on the quantization parameter data. Then, the chroma quantization parameter table for the luma component can be derived. The index for the combined chroma coding is calculated based on the quantization parameter for the and a quantity for the index in the chroma quantization parameter table can be derived. quantization parameters for the combined chroma coding based on the quantization parameters That is, for example, the luma component can be derived from the chroma quantization parameter table. Based on the quantization parameter for the same index as the quantization parameter for the The quantization parameters for combined chroma coding can be derived.
[0408] For example, the quantization parameter for the index in the chroma quantization parameter table meter (e.g., QP CbCr ) and add an offset to the combined chroma coding The quantization parameter (e.g., QP` CbCr ) can be derived. The offset is , offsets for deriving quantization parameters for the combined chroma coding The offset can be derived based on the syntax element indicating the offset.
[0409] Also, for example, the encoding device may determine the combined chrominance based on the chrominance type. Generate a flag indicating whether the quantization parameter data for the coding is present. For example, if the value of the chroma type is not 0, the encoding device is the quantization parameter data for combined chroma coding. For example, a flag can be generated to indicate whether the chroma type If the value is 1, the encoding device uses the combined chroma coder. A flag can be generated to indicate whether quantization parameter data exists for the For example, the syntax element for the flag can be C _dat It can be a_present_flag.
[0410] For example, if the value of the flag is 0, the flag It can indicate that the quantization parameter data for the frame does not exist, If the value of lag is 1, the flag is set to the It can be indicated that the quantization parameter data is present.
[0411] Also, for example, the flag may be a high level syntax For example, the flag can be signaled via SPS( sequence parameter set), PPS(picture para meter set), slice header, or APS Adaptation parameter set) etc. can be done.
[0412] Also, for example, the encoding device may generate prediction information for the current chroma block, encoding image information including the digital information, the quantization parameter data and / or the flag; The encoding device can encode the image information. The image information includes prediction information, residual information, and It may include quantization parameter data and / or said flag.
[0413] For example, the encoding device may generate and encode prediction information for the current block. The prediction information may include prediction mode information indicating a prediction mode of the current block. The image information may include the prediction information.
[0414] Also, for example, the encoding device may store residual information for the residual samples. For example, the encoding device may encode the residual sample information. A conversion coefficient can be derived based on the residual The image information may include the residual information. For example, the residual information may be syntax information for the transform coefficients of the current chroma block. For example, the syntax element may include a code element. d_sub_block_flag, sig_coeff_flag, coeff_si gn_flag, abs_level_gt1_flag, par_level_fla g, abs_level_gtX_flag, abs_remainder and / or c Syntax elements such as oeff_sign_flag nts).
[0415] Also, for example, the encoding device includes the quantization parameter data and the flag. Image information can be encoded.
[0416] The encoding device generates a bitstream containing the image information (S1010). For example, the encoding device may include the prediction information, the residual information, the quantization parameter data, and the And / or the image information including the flag can be output in a bitstream. The bitstream includes prediction information, residual information, the quantization parameter data, and and / or the flag.
[0417] Meanwhile, the bitstream is decoded via a network or a (digital) storage medium. The network may be a broadcast network and / or a communication network. Digital storage media can include USB, SD, CD, DVD, Blu-ray, etc. It can include various storage media such as HDD, SSD, etc.
[0418] Also, for example, the encoding device encodes image information and converts it into a bitstream. It can be output with.
[0419] Meanwhile, the bitstream containing the image information is transmitted over a network or (digital) storage. The network may be a broadcast network or a similar network. and / or a communication network, and the digital storage medium may include a USB, SD, CD, D It can include various storage media such as DVD, Blu-ray, HDD, SSD, etc.
[0420] FIG. 11 shows a schematic diagram of an encoding device for carrying out the image encoding method according to the present document. The method disclosed in FIG. 10 can be implemented by the encoding device disclosed in FIG. Specifically, for example, the entropy of the encoding device of FIG. The encoding unit can execute steps S1000 to S1010. However, the reconstructed samples and the reconstructed peaks are calculated based on the residual samples and the predicted samples. The process of generating the image may be performed by an adder of the encoding device. .
[0421] FIG. 12 shows a schematic diagram of an image decoding method using a decoding device according to this document. The method disclosed in the above can be performed by the decoding device disclosed in FIG. Specifically, for example, S1200 in FIG. 12 is the entropy decoding of the decoding device. S1210 in FIG. 12 is performed by the residual processing unit of the decoding device. This is carried out.
[0422] The decoding device acquires image information (S1200). Image information can be acquired via the camera.
[0423] For example, the image information may include information on chroma quantization parameters. For example, the image information may be for combined chroma coding. It may contain a flag indicating whether quantization parameter data is present. The coding device performs combined chroma coding based on the chroma type. A flag indicating whether quantization parameter data exists for the Here, the chroma type means the above-mentioned ChromaArrayType. For example, if the value of the chroma type is not 0, the decoding device Quantization parameter data for combined chroma coding exists. For example, if the value of the chroma type is 1, a flag indicating whether the chroma type exists or not can be obtained. If so, the decoding device is A flag indicating whether or not the corresponding quantization parameter data exists can be obtained. If the value of the chroma type is 0, the chroma type is Monochrome. e format, and if the value of the chroma type is 1, The chroma type can be in the format 4:2:0, and if the value of the chroma type is 2, In this case, the chroma type may be in a 4:2:2 format, and the chroma type value may be 3. In this case, the chroma type may be in the 4:4:4 format. Combined chroma coding is a joint coding of chroma components. The chroma component is the Cb component and / or can contain a Cr component. For example, the syntax element for the flag is , the aforementioned Qp C_data_present_flag.
[0424] For example, if the value of the flag is 0, the flag It can indicate that the quantization parameter data for the frame does not exist, If the value of lag is 1, the flag is set to the It can be indicated that the quantization parameter data is present.
[0425] Also, for example, the flag may be a high level syntax For example, the flag can be signaled via SPS( sequence parameter set), PPS(picture para meter set), slice header, or APS This is signaled via the This can be done.
[0426] Also, for example, when the value of the flag is 1, the image information is The quantization parameter data for the coding may be included. For example, the decoding device may determine whether or not the combined chroma coding is performed based on the flag. For example, the decoding device can obtain the quantization parameter data corresponding to the The quantization parameter data for the combined chroma coding is present. the quantization parameters for the combined chroma coding based on the flag indicating For example, if the value of the flag is 1, In this case, the decoding device For example, the quantization parameter data can be obtained by Signaled via high level syntax For example, the quantization parameter data can be SPS (sequence p (parameter set), PPS (picture parameter set) , slice header, or APS (adaptation This can be signaled via a parameter set, etc.
[0427] For example, the quantization parameter data is A syntax element (s) that indicates the start index of the chroma quantization parameter table. syntax element) and / or the opening of the chroma quantization parameter table It may contain a syntax element that indicates the difference between the start and end index. The syntax element indicating the start index can be the above-mentioned qPi_m In addition, the difference between the start index and the end index can be The syntax element to indicate may be qPi_delta_max_idx. The chroma quantization parameter table is a chroma quantization parameter mapping table. chroma quantization parameter mapping table) or user-defined quantization parameter mapping table (user def ined quantization parameter mapping tabl e) The starting index is also called the minimum index. Furthermore, for example, the syntax element indicating the start index may be and / or the syntax indicating the difference between the start index and the end index. The element is expressed through a high level syntax. For example, the syntax indicating the start index can be signaled as element and / or the difference between the start index and the end index The syntax element is SPS (sequence parameter sequence). t), PPS (picture parameter set), slice header (sl ice header), or APS (adaptation parameter set et) or the like.
[0428] Also, for example, the quantization parameter data is the chroma quantization parameter table It can contain syntax elements for the quantization parameter values of the indexes That is, for example, the quantization parameter data is the chroma quantization parameter data. The quantization parameter value for each index in the table must contain a syntax element. The syntax element for the quantization parameter value of the index can be , the aforementioned Qp C _qPi_val[i]. Also, for example, the index The syntax elements for the quantization parameter values are given in the high-level syntax (h This can be signaled via high level syntax, e.g. , the syntax element for the quantization parameter value of the index is SPS( sequence parameter set), PPS(picture para meter set), slice header, or APS signaling via the daptation parameter set, etc. can be done.
[0429] Also, for example, the quantization parameter data is used in the combined chroma coding. Syntax for indicating offsets for derivation of quantization parameters for The syntax element indicating the offset may include the QpOffset C Furthermore, for example, the syntax indicating the offset may be The element is expressed through a high level syntax. For example, the offset may be signaled as a syntax element. The elements are SPS (sequence parameter set), PPS (pi Feature parameter set, slice header r), or APS (adaptation parameter set), etc. It can be gunned.
[0430] Meanwhile, for example, the image information may include prediction information for the current chroma block and / or For example, the image information may include residual information for the current block. The prediction information may include prediction information relating to the prediction mode information. The prediction mode information indicates whether inter prediction or intra prediction is applied to the current block. It may indicate whether a prediction is applied. , may contain syntax elements for the transform coefficients of the current chroma block. For example, the syntax elements include coded_sub_block_flag, sig_coeff_flag, coeff_sign_flag, abs_level _gt1_flag, par_level_flag, abs_level_gtX_f lag, abs_remainder and / or coeff_sign_flag It can contain syntax elements.
[0431] The decoding device generates a reconstructed picture based on the image information (S1210).
[0432] For example, the decoding device may calculate the transform coefficients of the current chroma block based on the image information. and deriving a chroma quantization parameter based on the quantization parameter data. chroma quantization parameter table ) can be derived based on the chroma quantization parameter table, A quantization parameter for the chroma block can be derived, and the quantization parameter can be The transform coefficients can be dequantized to derive residual samples based on the Based on the residual samples, the reconstructed picture can be generated.
[0433] For example, the decoding device may decode the image data based on residual information included in the image data. The residual information can be used to derive the transform coefficients of the current chroma block. It may include coefficient level information and sign flag information for the transform coefficients.
[0434] For example, the absolute level of the transform coefficients is The sign (s) of the transform coefficient can be derived from the value indicated by the coefficient level information included in the transform coefficient information. ign) can be derived from the sign indicated by the sign flag information.
[0435] Furthermore, for example, the decoding device may perform chroma quantization based on the quantization parameter data. chroma quantization parameter table table) can be derived.
[0436] For example, as described above, the chroma quantization parameter table is indicates the starting index of the chroma quantization parameter table for chroma coding. the starting index of the chroma quantization parameter table, a syntax element indicating the difference between the first and last indexes and / or the chroma quantization Syntax element for the quantization parameter value of the parameter table index. That is, for example, the quantization parameter data Chroma quantization parameter table for the combined chroma coding based on The rule can be derived.
[0437] Then, the decoding device performs the quantization of the component based on the chroma quantization parameter table. The quantization parameters for binary chroma coding can be derived. The quantization parameter for Vin chroma coding is the aforementioned QP` CbCr Show It is possible.
[0438] For example, based on the quantization parameter for the luma component, and an index corresponding to the chroma quantization parameter table can be derived. The quantization parameters for the current chroma block are calculated based on the quantization parameters for the That is, for example, the luma component can be derived from the chroma quantization parameter table. Based on the quantization parameter for the same index as the quantization parameter for the The quantization parameters for combined chroma coding can be derived.
[0439] Also, for example, the quantization for the index of the chroma quantization parameter table quantization parameters (e.g., QP CbCr ) and add an offset to the combined chroma code. The quantization parameter (e.g., QP`) for CbCr ) can be derived. The bit is an option for deriving quantization parameters for the combined chroma coding. It can be derived based on the syntax element that indicates the offset. Cut.
[0440] Furthermore, for example, the decoding device may perform residual summation based on the quantization parameter. For example, the decoding device can derive a sample based on the quantization parameter. The transform coefficients can be dequantized to derive the residual samples. Alternatively, for example, the decoding device may inversely transform the transform coefficients and convert the inversely transformed transform coefficients into and deriving the inverse transformed transform coefficients based on the quantization parameter. The residual samples can be derived by quantizing the residual samples.
[0441] Furthermore, for example, the decoding device may generate the reconstructed picture based on the residual sample. For example, a decoding device can generate a Based on the prediction information, an inter prediction mode or an intra prediction mode for the current block is selected. A prediction mode can be performed to derive a prediction sample, and the prediction sample and the level The reconstructed samples can be generated through addition of dual samples.
[0442] Then, deblocking filters are applied to improve subjective and objective image quality as needed. In-loop filtering procedures such as filtering, SAO, and / or ALF procedures are As mentioned above, it can be applied to the reconstituted sample.
[0443] FIG. 13 shows a schematic diagram of a decoding device for performing the image decoding method according to the present document. The method disclosed in is performed by the decoding device disclosed in FIG. Specifically, for example, the entropy decoding unit of the decoding device of FIG. 13 is S1 of FIG. 12. The residual processing unit of the decoding device of FIG. 13 performs S1210 of FIG. It can be done.
[0444] According to the aforementioned document, the quantization method for deriving quantization parameters for chroma components is Based on the flag indicating whether parameter data is to be transmitted, a quantization parameter is derived. The chroma quantization parameter table can be determined, and the quantization parameters can be adjusted according to the image characteristics. Coding can be performed based on the data to improve coding efficiency.
[0445] Also, according to this document, chroma generation is performed based on the signaled chroma quantization data. The chroma quantization parameter table for each image can be determined, and the quantization parameter can be calculated based on the image characteristics. Coding can be performed based on the optimization parameters to improve coding efficiency. can.
[0446] In the above-described embodiments, the method is described with reference to a flow chart as a series of steps or blocks. Although stated, this document is not limited to the order of steps and certain steps may , different steps than those described above may occur in a different order or simultaneously. If the steps shown in the flow chart are not exclusive and other steps are included, or One or more steps in the flow chart may be deleted without affecting the scope of this document. You will be able to understand that.
[0447] The embodiments described herein may include processors, microprocessors, controllers, and the like. For example, the circuits shown in the drawings may be implemented on a chip. A functional unit may be a computer, processor, microprocessor, controller, or It can be implemented and executed on a chip. In this case, the implementation information (e.g. For example, information on instructions) or algorithms It can be stored on a digital storage medium.
[0448] In addition, the decoding device and encoding device to which the embodiments of this document are applied are multimedia Media broadcasting transmitter / receiver, mobile communication terminal, home cinema video equipment, digital cinema video video communication devices, surveillance cameras, video dialogue devices, real-time communication devices such as video communication, Mobile streaming devices, storage media, camcorders, video-on-demand (VoD) service providers Equipment, OTT video (Over the top video) equipment, Internet Streaming service providing device, 3D video device, video phone video device, operation Transportation terminals (e.g., vehicle terminals, airplane terminals, ship terminals, etc.), and medical video equipment, etc. and may be used to process video or data signals. For example, as an OTT video (Over the top video) device, Game consoles, Blu-ray players, Internet-connected TVs, home theater systems systems, smartphones, tablet PCs, DVRs (Digital Video Recorders) order) etc.
[0449] The processing method to which the embodiments of this document are applied is a program executed by a computer. The present invention can be produced in the form of a program and stored on a computer-readable recording medium. Multimedia data having the data structure described in this document can also be processed by a computer. The computer-readable recording medium may be stored in the Recording media are all types of storage media that store computer-readable data. The computer-readable recording medium includes, for example, Blu-ray Disc (BD), Universal Serial Bus (USB), ROM, PROM, EPROM , EEPROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical The computer-readable recording medium may include a data storage device. includes media embodied in the form of a carrier wave (e.g., transmission over the Internet). Also, the bitstream produced by the encoding method is machine-readable. The information can be stored on a recording medium or transmitted via a wired or wireless communication network. .
[0450] The embodiments of this document may also be implemented in a computer program product using program code. The program code can be implemented on a computer according to the embodiments of this document. The program code can be executed by a computer. The device can be stored on a carrier.
[0451] FIG. 14 shows a structural diagram of a content streaming system to which the embodiment of this document is applied. An example is shown below.
[0452] The content streaming system to which the embodiments of this document are applied can be broadly divided into Code servers, streaming servers, web servers, media repositories, user devices, and and multimedia input devices.
[0453] The encoding server is configured to receive data from a multimedia device such as a smartphone, a camera, a camcorder, etc. The content input from the media input device is compressed into digital data and then output as a bitstream. and transmits it to the streaming server. Multimedia input devices such as smartphones, cameras, camcorders, etc. If the program is generated directly, the encoding server can be omitted.
[0454] The bitstream may be encoded using the encoding method or bitstream to which the embodiments of this document apply. The streaming server can generate the video stream by a stream generation method. Temporarily storing the bitstream during the process of transmitting or receiving the bitstream. This can be done.
[0455] The streaming server transmits multimedia content based on a user request via a web server. The web server transmits the media data to the user device, and the web server notifies the user of what services are available. When a user requests a desired service from the web server, it acts as a medium to inform the server of the availability of the service. Then, the web server transmits this to the streaming server, and the streaming server The content server transmits the multimedia data to the user. The streaming system may include a separate control server, in which case the control server , and controls commands / responses between devices in the content streaming system. .
[0456] The streaming server receives content from a media repository and / or encoding server. For example, the content can be received from the encoding server. In this case, the content can be received in real time. In order to provide a smooth streaming service, the streaming server The data stream can be stored for a certain period of time.
[0457] Examples of the user device include a mobile phone, a smartphone, a laptop computers, digital broadcasting terminals, P DA (personal digital assistants), PMP (port able multimedia player), navigation, slate PC (s Ultra PC, Tablet PC, Ultrabook abook), wearable devices (e.g., Smartwatch, smart glass, HM D (head mounted display), digital TV, desktop computer The content streaming system includes: The server can be operated as a distributed server, in which case the data received by each server is It can be processed in a distributed manner.
[0458] The claims set forth herein can be combined in various ways. For example, The technical features of the method claims in the specification can also be combined and realized as an apparatus. The technical features of the device claims in the specification can also be combined and realized as a method. In addition, the technical features of the method claims and the technical features of the device claims of this specification may be combined. The present invention can be realized as an apparatus by using the above-mentioned method claims and the apparatus claims. The technical features may be combined and realized as a method.
Claims
1. 1. An apparatus for decoding image information, comprising: Memory and at least one processor coupled to the memory, the at least one processor comprising: Obtain image information, deriving a quantization parameter for joint chroma coding based on the image information; deriving residual samples based on a quantization parameter for the joint chroma coding; generating a reconstructed image based on the residual samples; The at least one processor Obtaining a flag indicating whether quantization parameter data for joint chroma coding exists based on the chroma array type; and obtaining quantization parameter data for the joint chroma coding based on the flag; the quantization parameter data includes a syntax element for a starting quantization parameter of a chroma quantization parameter mapping table and a syntax element for the number of quantization parameters in the chroma quantization parameter mapping table; the chroma quantization parameter mapping table is derived based on the quantization parameter data; a quantization parameter for the joint chroma coding is derived based on the chroma quantization parameter mapping table; The apparatus, wherein a flag indicating whether quantization parameter data for the joint chroma coding is present or not is included in an SPS (Sequence Parameter Set) of the image information.
2. 1. An apparatus for encoding an image, comprising: Memory and at least one processor coupled to the memory, the at least one processor comprising: Deriving residual samples based on quantization parameters for joint chroma coding; encoding image information including quantization parameter data for the joint chroma coding; generating a bitstream containing the image information; The at least one processor generating quantization parameter data for the joint chroma coding based on a chroma array type; generating a flag indicating whether the quantization parameter data for the joint chroma coding is present; and encoding the image information including the quantization parameter data and the flag; the quantization parameter data includes a syntax element for a starting quantization parameter of a chroma quantization parameter mapping table and a syntax element for the number of quantization parameters in the chroma quantization parameter mapping table; the chroma quantization parameter mapping table is derived based on the quantization parameter data; a quantization parameter for the joint chroma coding is derived based on the chroma quantization parameter mapping table; The apparatus, wherein a flag indicating whether quantization parameter data for the joint chroma coding is present or not is included in an SPS (Sequence Parameter Set) of the image information.
3. 1. An apparatus for transmitting image information, said apparatus comprising: at least one processor configured to obtain a bitstream of image information, the bitstream being generated based on: deriving residual samples based on a quantization parameter for joint chroma coding; encoding the image information including quantization parameter data for the joint chroma coding; and generating the bitstream including the image information; a transmitter configured to transmit data including the bitstream; The at least one processor generating quantization parameter data for the joint chroma coding based on a chroma array type; generating a flag indicating whether the quantization parameter data for the joint chroma coding is present; and encoding the image information including the quantization parameter data and the flag; the quantization parameter data includes a syntax element for a starting quantization parameter of a chroma quantization parameter mapping table and a syntax element for the number of quantization parameters in the chroma quantization parameter mapping table; the chroma quantization parameter mapping table is derived based on the quantization parameter data; a quantization parameter for the joint chroma coding is derived based on the chroma quantization parameter mapping table; The apparatus, wherein a flag indicating whether quantization parameter data for the joint chroma coding is present or not is included in an SPS (Sequence Parameter Set) of the image information.
Citation Information
Patent Citations
Value limiting filter device, video encoding device, and video decoding device
WO2019065487A1
Method and apparatus for signaling of mapping function of chroma quantization parameter
WO2020216375A1