Image decoding method and apparatus therefor
The image decoding method optimizes quantization parameters for chroma components based on image characteristics, addressing the inefficiencies in high-resolution image data transmission and storage by improving coding efficiency and reducing costs.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- LG ELECTRONICS INC
- Filing Date
- 2025-05-15
- Publication Date
- 2026-04-28
AI Technical Summary
The increasing demand for high-resolution, high-quality images leads to a significant increase in data transmission and storage costs due to the higher amount of information required, necessitating highly efficient image compression technology.
An image decoding method and apparatus that derives quantization parameters for chromatic components based on a flag indicating whether to transmit data, allowing for improved coding efficiency by determining the corresponding quantization parameter table based on image characteristics.
This approach enhances coding efficiency by optimizing quantization parameters for chroma components, thereby reducing data transmission and storage costs while maintaining image quality.
Smart Images

Figure 0007853489000078 
Figure 0007853489000079 
Figure 0007853489000080
Abstract
Description
[Technical Field]
[0001] This document discusses image coding technology, and more specifically, image coding systems. Chroma quantization parameter data signaled via high-level syntax This invention relates to an image decoding method and apparatus for coding image information based on a data set. [Background technology]
[0002] Recently, HD (High Definition) images and UHD (Ultra High) There is a demand for high-resolution, high-quality images such as the h Definition image. It is increasing in this field. The higher the resolution and quality of the image data, the more it is compared to existing image data. Because the amount of information or bits transmitted increases relatively, existing wired and wireless broadband links To transmit image data using a medium such as, or to use an existing storage medium for image data When storing data, both transmission and storage costs increase.
[0003] This allows for the effective transmission, storage, and playback of high-resolution, high-quality image information. Therefore, highly efficient image compression technology is required. [Overview of the Initiative] [Problems that the invention aims to solve]
[0004] The technical objective of this document is to provide a method and apparatus for improving image coding efficiency. be.
[0005] Other technical challenges in this document include the data required to derive quantization parameters for chromatic components. The objective is to provide methods and apparatus for improving coding efficiency. [Means for solving the problem]
[0006] According to one embodiment of this document, an image decoding method performed by a decoding device is proposed. The method is provided. The method includes the steps of acquiring image information and, based on the image information, The method is characterized by including the step of generating the original picture.
[0007] In another embodiment of this document, a decoding device for performing image decoding is provided. The decoding device includes an entropy decoding unit that acquires image information, and the image information It is characterized by including a residual processing unit that generates a restored picture based on [a specific condition].
[0008] In yet another embodiment of this document, a video encoding performed by an encoding device The present invention provides a coding method. The method comprises the steps of encoding image information and the image The method is characterized by including the step of generating a bitstream containing information.
[0009] In another embodiment of this document, a video encoding device is provided. The encoding device encodes image information and generates a bitstream containing the image information. It is characterized by including an anthropy encoding unit. [Effects of the Invention]
[0010] In this document, the quantization parameters for chromatic components are derived Based on a flag indicating whether or not to transmit data, quantization for deriving quantization parameters The parameter table can be determined, and based on the quantization parameters according to the image characteristics... This allows you to execute coding and improve coding efficiency.
[0011] In this document, based on the signaled chroma quantization data, the chroma components are The corresponding quantization parameter table can be determined, and the quantization parameters can be determined based on the characteristics of the image. By executing coding based on data, coding efficiency can be improved. [Brief explanation of the drawing]
[0012] [Figure 1] An example of a video / image coding system to which the embodiments described herein may be applied is schematically shown. [Figure 2] This figure schematically illustrates the configuration of a video / image encoding device to which the embodiments described herein may be applied. [Figure 3] This figure schematically illustrates the configuration of a video / image decoding device to which the embodiments described herein may be applied. [Figure 4] This shows an example of a video / image encoding method for an intranet prediction platform. [Figure 5] This shows an example of a video / image encoding method for an intranet prediction platform. [Figure 6] The intra-prediction procedure is illustrated with an example. [Figure 7] This shows an example of a video / image encoding method for the interpretation platform. [Figure 8] This shows an example of a video / image decoding method for the interpretation platform. [Figure 9] An example of an interpretation prediction procedure is shown below. [Figure 10] This document outlines the image encoding method using the encoding device described herein. [Figure 11] A schematic diagram of the encoding device used for the image encoding method described in this document is shown below. [Figure 12] The image decoding method using the decoding device described in this document is outlined below. [Figure 13] A schematic diagram of a decoding device that performs the image decoding method described in this document is shown. [Figure 14]An illustrative diagram of a content streaming system structure to which the embodiments described herein apply is shown. [Modes for carrying out the invention]
[0013] This document may be modified in various ways and may have various embodiments, and may be specific. Embodiments will be illustrated with drawings and described in detail. However, this is a special case for this document. This specification is not intended to limit us to specific embodiments. Terms commonly used herein are simply specific. This is used to describe a specific embodiment and does not limit the technical ideas of this document. It is not intended to be used in that way. The singular expression has a clearly different meaning depending on the context. Unless otherwise specified, the term "contains" or "has" is used herein. This refers to the features, figures, steps, actions, components, parts, or these described in the specification. This attempts to specify that there is a combination of one or more of the above. Other features, numbers, steps, actions, components, parts, or combinations thereof It should be understood that this does not preemptively exclude the existence or possibility of adding such elements.
[0014] On the other hand, each of the components shown in the drawings described in this document relates to a different characteristic function. For the sake of explanation, the components are shown independently, and each component is a separate piece of hardware. This does not mean that it will be implemented with separate software. For example, each configuration Of these, two or more configurations can be combined to form one configuration, and one configuration can be made into multiple It can also be divided into components. Embodiments in which each component is integrated and / or separated are also part of the essence of this document. As long as it does not deviate from this, it falls within the scope of the rights of this document.
[0015] The preferred embodiments of this document will be described in more detail below with reference to the attached drawings. Below, the same reference numeral is used for the same component in the drawing, and the same reference numeral is used for the same component. The explanation can be omitted.
[0016] Figure 1 outlines an example of a video / image coding system to which the embodiments described in this document may be applied. A brief explanation is provided.
[0017] As shown in Figure 1, the video / image coding system is a first device (source device) The source device may include an encoder and a second device (receiving device). The downloaded video / image information or data can be saved to a file or Transmitted to the receiving device via digital storage media or a network in streaming format. It is possible.
[0018] The source device may include a video source, an encoding device, and a transmission unit. The receiving device may include a receiving unit, a decoding device, and a renderer. The encoding device can be called a video / image encoding device, and the decode The device can be called a video / image decoding device. The transmitter is an encoding device. The receiver can be included in the decoder. - It may be equipped with a display unit, and the display unit may be a separate device or external It can also be composed of separate components.
[0019] The video source is video through processes such as video / image capture, compositing, or generation. It is possible to acquire an image. The video source is a video / image capture device and It may include a video / image generation device. For example, one or more cameras, video / video It can be equipped with image archives, etc. Video / image generation devices are, for example, It can be equipped with computers, tablets, and smartphones, and (electronically) video It can generate images. For example, virtual video / images via a computer. An image can be generated, and in this case, the video / image capture process generates related data. The capture process can be replaced.
[0020] An encoding device can encode input video / images. To improve compression and coding efficiency, it performs a series of steps including prediction, transformation, and quantization. It is possible. Encoded data (encoded video / image information) is video It can output in bitstream format.
[0021] The transmission unit outputs encoded video / image information in bitstream format, The data is stored digitally on a medium or network in file or streaming format. It can be transmitted to the receiving unit of the receiving device via USB, S It can include various storage media such as D, CD, DVD, Blu-ray, HDD, SSD, etc. The transmission unit generates media files via a predetermined file format. It may include elements for transmission over broadcast / communication networks. It may include elements. The receiving unit receives / extracts the bitstream and decodes It can be transmitted to a code device.
[0022] The decoding device performs a series of operations corresponding to the operation of the encoding device, including inverse quantization, inverse transformation, and prediction. You can decode the video / image by following these steps.
[0023] A renderer can render decoded video / images. The linked video / image can be displayed via the display unit. .
[0024] This document relates to video / image coding. For example, disclosed in this document The method / embodiment described is based on the VVC (versatile video coding) standard. EVC (essential video coding) standard, AV1 (AOMedi) a Video 1) standard, AVS2 (2nd generation of audi (o video coding standard), or next-generation video / image coding This applies to methods disclosed in the PHP standards (e.g., H.267 or H.268, etc.). It is possible.
[0025] This document presents various embodiments of video / image coding and mentions other relevant information. Unless otherwise specified, the embodiments may also be implemented in combination with each other.
[0026] In this document, video refers to a series of images over time. ) can mean a collection of. A picture generally refers to a single image taken at a specific time period. It refers to a unit that represents an image, such as a subpicture or slice. A tile is a unit that constitutes part of a picture in coding. Subpictures / slices / tiles are one or more CTUs (coding tree un It may include one or more subpictures / slices / tiles. A picture may be composed of one or more groups of tiles. A tile group may contain one or more tiles. Bricks are tiles within a picture. This indicates a rectangular area within the CTU row (a brick may represent a rectangular region of CTU rows within a (tile in a picture). The tile is partitioned by multiple bricks. Each brick is composed of one or more CTU rows within the tile. may be partitioned into multiple bricks, each of which consists of one or more CTU rows within the tile). Partitioned by multiple bricks. A tile that is not tuned may also be called a brick. is not partitioned into multiple bricks may be also referred to as a brick). Bri The scan shows a specific sequential ordering of the CTU for partitioning pictures. The CTUs are aligned within the brick by CTU raster scanning, and the bricks within the tile The bricks of the tile are sequentially aligned in the raster scan, and the picture The tiles within are sequentially aligned by raster scanning 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 (the picture). Also, a subpicture contains one or more slides within the subpicture. A subpicture may represent a rectangular area. rectangular region of one or more slices (within a picture). In other words, a subpicture is within the rectangular area of the picture. Includes one or more slices that comprehensively cover the region (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 CTU within a specific tile row and within that specific tile row (A tile is a rectangular region of CTUs wit hin a particular tile column and a parti (Culture tile row in a picture). The aforementioned tile row is CTU It is a rectangular area, and the rectangular area has the same height as the height of the picture, and the width is the same as the height of the picture. The tile col is explicitly defined by the 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 (The lements in the picture parameter set). A tile row is a rectangular area of the CTU, and the rectangular area is within the picture parameter set It has a width specified by the syntax element, and its height is the same as the height of the picture. It is 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 (e picture). Tile scanning is a special feature of CTU for partitioning pictures. This indicates a fixed sequential ordering, where the CTUs are continuously aligned by scanning the CTU raster within the tile. The tiles in the picture are then sequentially aligned by raster scanning 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 e picture). A slice contains an integer number of bricks of the picture, and the integer number of bricks A slice includes an NAL unit integer number of bricks of a picture th at maybe exclusively contained in a sing (le NAL unit). A slice consists of multiple complete tiles, or one A slice may be a continuous sequence of bricks. onsists of either a number of complete t iles or only a consecutive sequence of c (complete bricks of one tile). In this document, tile group The terms "tile group" and "slice" may be used interchangeably. For example, in this document, "tile group / tile" is used. The e group header can also be called a slice / slice header. stomach.
[0027] A pixel or pel is a single picture (or image). It can mean the smallest unit that makes up something. Also, the term "sa" can be used as a term corresponding to a pixel. The term "sample" can be used. A sample is generally a pixel. Alternatively, it can show the value of a pixel, and only the luma component pixel / pixel value. It is also possible to show only the pixel / pixel values of the chroma component. It's also possible.
[0028] A unit can represent a basic unit of image processing. A unit is a pixel It can include at least one of the following: a 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. It may include blocks. A unit may be a block or territory. It can be used interchangeably with terms such as area. In general, M×N A lock is a sample (or sample array) consisting of M columns and N rows, or a variable. Includes a set (or array) of transform coefficients. It is possible.
[0029] In this specification, "A or B" means "A only," "B only," or "A and B." It can mean "both A and B". In other words, in this specification, "A or B" can mean "A or B". )" can be interpreted as "A and / or B". For example, in this specification In this context, "A, B or C (A, B or C)" means "A only," "B only," or "C only." Or "any combination of A, B and C" It could mean "A, B and C)".
[0030] In this specification, slashes ( / ) and commas are used to mean "and / or" "A" can mean "and / or". For example, "A / B" means "A and / or B". To obtain, "A / B" means "A only," "B only," or "both A and B." It is possible. For example, "A, B, C" can mean "A, B, or C".
[0031] In this specification, "at least one of A and B" "and B)" can mean "A only," "B only," or "both A and B." In this specification, "at least one of A or B" or B) or "at least one A and / or B (at least one of The expression "A and / or B)" means "at least one A and B (at lea This can be interpreted similarly to "one of A and B."
[0032] Furthermore, in this specification, "at least one A, B and C" "of A, B and C)" means "A only", "B only", "C only", or "A, Any combination of A and C It can mean "at least one A, B or C (at lea)". "at least one of A, B or C)" or "at least one A, B and / or C "(at least one of A, B and / or C)" means "at least one It means "at least one of A, B, and C". It is possible.
[0033] Furthermore, the parentheses used in this specification mean "for example." It can be tasted. Specifically, if it is displayed as "Prediction (Intra Prediction)", then one of the "Predictions" For example, "intra prediction" may be proposed. In other words, the specification "Prediction" is not limited to "intra prediction," and "intra prediction" is "prediction." This could be proposed as an example. Also, "prediction (i.e., intra prediction)" and Even if it is displayed, "Intra Prediction" is suggested as an example of "Prediction". It is possible.
[0034] Technical features described individually in each drawing in this specification may be realized individually. Often, they can be achieved simultaneously.
[0035] The following drawings have been prepared to illustrate a specific example of this specification. The names of specific devices and signals / messages / fields are presented as examples. 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] Figure 2 schematically shows the configuration of a video / image encoding device to which the embodiments described in this document may be applied. This is a diagram illustrating the concept. Hereafter, "video encoding device" includes "image encoding device". It is possible.
[0037] As shown in Figure 2, the encoding device 200 is an image parting unit. ioner)210, prediction unit (predictor)220, residual processing unit (re (sidual processor) 230, entropy encoding unit (entrop (y encoder) 240, adder 250, filtering fil It can be configured to include a ter)260 and memory(memory)270. The prediction unit 220 may include an inter-prediction unit 221 and an intra-prediction unit 222. The residual processing unit 230 consists of a transformer 232 and a quantization unit ( Quantizer) 233, dequantizer 234, inverse transform unit It can be equipped with (inverse transformer) 235. The processing unit 230 may further include a subtractor 231. The addition unit 250 is a reconstruction unit or a reconstruction block generation unit. It can be called a reconstructed block generator. The aforementioned image segmentation unit 210, prediction unit 220, residual processing unit 230, entropy - The encoding unit 240, the addition unit 250, and the filtering unit 260 are as per the embodiment. and one or more hardware components (for example, encoder chipset or pro It can be composed of a cessor. In addition, memory 270 is DPB (decode It may include a picture buffer and is composed of a digital storage medium. It can also be configured to include internal / external memory 270. You can also prepare further as a runner.
[0038] The image splitting unit 210 processes the input image (or picture) input to the encoding device 200. Divide the frame into one or more processing units. This is possible. For example, the processing unit is a coding unit (coding It can be called a coding unit (CU). In this case, the coding unit is a coding unit. Coding tree unit (CTU) or maximum code QTBTT from the Largest Coding Unit (LCU) In a T (Quad-tree binary-tree ternary-tree) structure Therefore, it can be divided recursively. For example, one co The building unit is a quad tree structure, a binary tree structure, and / or a ternary Based on its structure, it is divided into multiple coding units at deeper depths. This is possible. In this case, for example, a quad tree structure is applied first, followed by a binary tree. Structure and / or terminal structure can be applied later. Or, binary tree The structure can also be applied first to the final coding unit that will not be further divided. Based on this, the coding procedure related to this document can be executed. In this case, image characteristics Based on coding efficiency and other factors, the largest coding unit immediately completes the final coding. It can be used as a coding unit, or as a coding unit if necessary. The code recursively loads lower-depth coding units. It is divided into parts, and the optimally sized coding unit becomes the final coding unit. It can be used. Here, the coding procedure refers to the prediction, transformation, and recovery described later. It may include steps such as the original. Another example is that the processing unit is a prediction unit ( PU: Prediction Unit) or Conversion Unit (TU: Transform It may further include the prediction unit and the conversion unit. Each unit is divided or partitioned from the aforementioned final coding unit. It can be done. The prediction unit is the unit of sample prediction, and the conversion unit The unit that derives the conversion coefficient and / or the residual signal from the conversion coefficient. It is a unit that induces an al-signal.
[0039] A unit may be a block or an area, depending on the context. It can be used in combination with words. In general, an M×N block consists of M columns and N A sample or transformation coefficient consisting of rows. A set of ) can be shown. A sample generally represents a pixel or the value of a pixel. It is possible to show only the pixel / pixel value of the luminance (luma) component, and saturation It is also possible to show only the pixel / pixel value of the (chroma) component. The sample is 1 A picture (or image) corresponds to pixels or pel. It can be used as a term.
[0040] The encoding device 200 processes the input image signal (original block, original sample array) Prediction signal output from the inter prediction unit 221 or intra prediction unit 222 (predicted Subtracting the block (predicted sample array) results in a residual signal (residual si It can generate (gnal, residual block, residual sample array), and the generated register The dual signal is transmitted to the conversion unit 232. In this case, as shown in the figure, the encoder Within 200, the input image signal (original block, original sample array) is used to predict the signal (prediction). The unit that subtracts the measurement block (predicted sample array) is called the subtraction unit 231. This is possible. The prediction unit performs predictions for the block to be processed (hereinafter referred to as the current block). The predicted block (predicate) includes the predicted sample for the current block. It can generate TED blocks. The prediction unit currently works on a block or CU basis. This allows you to decide whether intra-prediction or inter-prediction is applied. The prediction unit, as will be explained later in the description of each prediction mode, includes prediction mode information, etc. Various information related to the prediction can be generated and transmitted to the entropy encoding unit 240. The information regarding the prediction is encoded in the entropy encoding unit 240 and bit It can be output in stream format.
[0041] The intra prediction unit 222 looks at the sample in the current picture and predicts the current block. The referenced sample is determined by the prediction mode around the current block. It can be located on the side (neighbor) or at a distance. In intra-prediction, the prediction mode includes multiple non-directional modes and multiple directional modes. Non-directional modes include, for example, DC mode and Planar mode. It can include ar Mode. Directional mode depends on the degree of fineness of the predicted direction. For example, it can include 33 direction prediction modes or 65 direction prediction modes. However, this is merely an example, and the number of directions can be greater or less depending on the settings. A prediction mode can be used. The intra-prediction unit 222 is applied to adjacent blocks. Using the predicted mode, it is also possible to determine the prediction mode to be applied to the current block. ru.
[0042] The interpretation unit 221 predicts the reference block identified by the motion vector on the reference picture. Based on the reference sample array (K), the predicted block for the current block is induced. This is possible. In this case, the amount of motion information transmitted in interpredictive mode can be reduced. Therefore, based on the correlation of movement information between adjacent blocks and the current block, the movement information is blocked. The motion information can be predicted at the block, subblock, or sample level. It may include a motion vector and a reference picture index. The motion information is an interface. - Further information such as prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.) can be included. - In the case of prediction, adjacent blocks are spatially adjacent blocks (sp) that currently exist within the picture. (temporal neighboring block) and the temporal neighbors present in the reference picture It includes a temporal neighboring block. Yes, it is possible. A reference picture containing the aforementioned reference block and a reference picture containing the aforementioned temporally adjacent block The chat may be the same or different. The aforementioned temporally adjacent blocks are the same position. Collocated reference block, same-position CU It can be called by names such as (colCU), and the reference includes the aforementioned temporal adjacent block. "Kucha" refers to a collocated picture (colPic). It can also be called [this]. For example, the inter prediction unit 221 moves based on the adjacent block. The information candidate list is constructed, and the motion vector and / or reference picture of the current block are constructed. This generates information that indicates which candidates should be used to derive the index. This is possible. Interpretation can be performed based on various prediction modes, for example. In skip mode and merge mode, the interpretation unit 221 predicts the movement of adjacent blocks. The current information can be used as the movement information of the block. In skip mode, Unlike merge mode, residual signals may not be transmitted. Motion information prediction ( In motion vector prediction (MVP) mode, adjacent blocks The motion vector of the block is converted into a motion vector predictor. It is used as (tor), and motion vector difference The current block's motion vector is indicated by signaling (ence). It is possible.
[0043] The prediction unit 220 can generate a prediction signal based on various prediction methods described later. For example, the prediction unit performs intraprediction or interpretation for a prediction for one block. - Not only can predictions be applied, but intra-predictions and inter-predictions can also be applied simultaneously. This is possible. This is a combined inter and intra pr This can be called editing (CIIP). Furthermore, the prediction unit is applied to the block. For prediction purposes, intra-block copy (IB) C) It can also be based on prediction mode, or palette mode (palette mode) It can also be based on e). The IBC prediction mode or palette mode is, for example, S Like CC (screen content coding), games and other It can be used for coding images / videos. IBC is basically Currently, predictions are performed within the picture, but the point is that reference blocks are derived within the picture. It can be performed in a manner similar to interpretation. That is, IBC is used in this document. At least one of the interpretation techniques described can be used. The mode can be seen as an example of intracoding or intraprediction. When palette mode is applied, information regarding the palette table and palette index is displayed. Based on this, sample values within the picture can be signaled.
[0044] via the prediction unit (including the inter prediction unit 221 and / or the intra prediction unit 222) The predicted signal generated is used to generate the restored signal, or the residual signal. It can be used to generate a signal. The conversion unit 232 converts it to a residual signal. Apply the technique to generate transform coefficients. It is possible. For example, the conversion technique is DCT (Discrete Cosine Tra). nsform), DST (Discrete Sine Transform), KLT (Karhunen-Loeve Transform), GBT (Graph-Bas ed Transform), or CNT (Conditionally Non-l It can contain at least one of the following (inear Transform). When GBT represents the relationship information between pixels as a graph, the data obtained from this graph is... This means a conversion that has been performed. CNT means all pixels that were previously restored (all previ A prediction signal is generated using a euthanized reconstructed pixel, and This refers to the transformation obtained based on this. Furthermore, the transformation process involves squares of the same size. It can also be applied to pixel blocks, and not to non-square, variable-sized blocks. It can also be applied.
[0045] The quantization unit 233 quantizes the conversion coefficients and transmits them to the entropy encoding unit 240. , the entropy encoding unit 240 can encode the quantized signal (information regarding the quantized transform coefficients) and output it as a bitstream. The information regarding the quantized transform coefficients can be referred to as residual information. The quantization unit 233 can reorder the block-form quantized transform coefficients in a one-dimensional vector form based on the coefficient scan order, and can also generate the information regarding the quantized transform coefficients based on the one-dimensional vector-form quantized transform coefficients. The entropy encoding unit 240 can execute various encoding methods such as, for example, exponential Golomb, CAVLC (context-adaptive variable length coding), CABAC (context-adaptive binary arithmetic coding), etc. The entropy encoding unit 240 can also encode, together or separately, information necessary for video / image restoration (e.g., values of syntax elements, etc.) in addition to the quantized transform coefficients. The encoded information (e.g., encoded video / image information) can be transmitted or stored in the form of a bitstream in units of NAL (network abstraction layer) units. The video / image information can further include information regarding various parameter sets such as an adaptation parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). Also, the video / image information is generally restricted to the extent that it satisfies certain constraints imposed by the encoding process and is designed to be compatible with the Further includes general constraint information. This is possible. In this document, the encoding device transmits / signals to the decoding device. The information and / or syntax elements may be included in the video / image information. Video / image information is encoded via the encoding procedure described above and then stored in the bitstream. It can be included in the stream. The bitstream is transmitted over the network. It can be stored in a digital storage medium. Here, the network The network may include broadcasting networks and / or communication networks, and the digital storage medium may be USB. It can include various storage media such as SD cards, CDs, DVDs, Blu-rays, HDDs, and SSDs. The signal output from the entropy encoding unit 240 is transmitted to the transmitting unit (shown in the figure). (and / or storage unit (not shown) that stores the internal / external elements of the encoding device 200) It can be configured as a transmission unit, or the transmission unit is included in the entropy encoding unit 240. It is also possible to be born.
[0046] The quantized conversion coefficients output from the quantization unit 233 are used to generate the prediction signal. It can be. For example, the inverse quantization unit 234 and the inverse transformation unit can be used to convert the quantized conversion coefficients. By applying inverse quantization and inverse transform via 235, the residual signal (residual Albrock or residual sample can be restored. The adding unit 250 is The restored residual signal is output from the inter-prediction unit 221 or the intra-prediction unit 222. The reconstructed signal is added to the predicted signal. Pictures, restored blocks, and restored sample arrays may be generated. Skip mode is applied. If there is no residual for the block to be processed, as in the case where... The lock can be used as a restore block. The adder 250 is a restore or restore block. This can be called the original block generation unit. The generated restoration signal is currently in the next part of the picture. It can be used for intra-prediction of the blocks to be processed, and as described later, It can also be used for predicting the next picture's inter-image after filtering.
[0047] On the other hand, during the picture encoding and / or restoration process, LMCS (luma mapping) (with chroma scaling) can also be applied.
[0048] The filtering unit 260 applies filtering to the restored signal to determine subjective / objective image quality. This can improve the performance. For example, the filtering unit 260 can improve the performance of the restored picture. Apply a filtering method to generate a modified restored picture. The modified restored picture can be stored in memory 270, specifically in memory 270 D It can be stored in PB. The various filtering methods mentioned above include, for example, deblocking Filtering, sample adaptive offset fset), adaptive loop filter, both It can include directional filters (bilateral filters), etc. The ring section 260 is filtered as described later in the explanation of each filtering method. Various information related to the process can be generated and transmitted to the entropy encoding unit 240. Filtering information is encoded in the entropy encoding unit 240. and can be output in the form of a bit stream.
[0049] The corrected restored picture transmitted to the memory 270 can be used as a reference picture in the inter prediction unit 221. The encoding device can avoid prediction mismatches between the encoding device 200 and the decoding device 300 and improve the encoding efficiency when inter prediction is applied through this. When applied, prediction mismatches between the encoding device 200 and the decoding device 300 can be avoided, and the encoding efficiency can also be improved. The memory 270DPB can store the corrected restored picture for use as a reference picture in the inter prediction unit 221. The memory 270 can store the motion information of the block from which the motion information in the current picture was derived (or encoded) and / or the motion information of the block in the already restored picture. The stored motion information can be transmitted to the inter prediction unit 221 for utilization as the motion information of spatially adjacent blocks or temporally adjacent blocks. The memory 270 can store the restored samples of the restored blocks in the current picture and can be transmitted to the intra prediction unit 222.
[0050] The memory 270DPB can store the corrected restored picture for use as a reference picture in the inter prediction unit 221. The memory 270 can store the motion information of the block from which the motion information in the current picture was derived (or encoded) and / or the motion information of the block in the already restored picture. The stored motion information can be transmitted to the inter prediction unit 221 for utilization as the motion information of spatially adjacent blocks or temporally adjacent blocks. The memory 270 can store the restored samples of the restored blocks in the current picture and can be transmitted to the intra prediction unit 222. The stored motion information can be transmitted to the inter prediction unit 221 for utilization as the motion information of spatially adjacent blocks or temporally adjacent blocks. The memory 270 can store the restored samples of the restored blocks in the current picture and can be transmitted to the intra prediction unit 222. The memory 270 can store the restored samples of the restored blocks in the current picture and can be transmitted to the intra prediction unit 222. and can be transmitted to the intra prediction unit 222.
[0051] FIG. 3 is a diagram schematically illustrating the configuration of a video / image decoding device to which the embodiments of this document can be applied. FIG. 3 is a diagram schematically illustrating the configuration of a video / image decoding device to which the embodiments of this document can be applied.
[0052] As shown in FIG. 3, the decoding device 300 includes an entropy decoder 310, a residual processor 320, a predictor 330, an adder 340, a filter decoder)310, a residual processor (residual processo r)320, a predictor 330, an adder 340, a filter It is configured to include a filtering section (filter) 350 and a memory (memory) 360. It can be done. The prediction unit 330 is an inter-prediction unit 331 and an intra-prediction unit 332 It can be equipped with a dequantization unit. The residual processing unit 320 is a dequantization unit. It comprises an inverse transformer 321 and an inverse transformer 322. This is possible. The aforementioned entropy decoding unit 310, residual processing unit 320, The measuring unit 330, the adding unit 340, and the filtering unit 350 are, depending on the embodiment, one H The hardware components (e.g., decoder chipset or processor) are configured It can be done. Also, memory 360 is DPB (decoded picture It can include an e buffer and can also be configured with a digital storage medium. The hardware component includes memory 360 as an internal / external component. You can also prepare even more.
[0053] When a bitstream containing video / image information is input, the decoding device 300, The image is restored in accordance with the process by which the video / image information was processed by the second encoding device. This is possible. For example, the decoding device 300 can obtain the bitstream from the bitstream. Based on block division-related information, units / blocks can be derived. The decoding device 300 is Decoding can be performed using the processing unit applied by the encoding device. Therefore, the decoding processing unit is, for example, the coding unit, and the code The coding unit is selected from the coding tree unit or the maximum coding unit. Partition according to a binary tree structure, binary tree structure, and / or terminal tree structure. It can be done. One or more conversion units can be derived from the coding unit. This can be done. Then, the decoded and outputted restored image signal via the decoding device 300 It can be played back via a playback device.
[0054] The decoding device 300 receives the signal output from the encoding device in Figure 2 as a bitstream. The signal can be received in various forms, and the received signal is processed via the entropy decoding unit 310. It can be decoded. For example, the entropy decoding unit 310 can decode the bits Parsing the stream to obtain the information needed for image recovery (or picture recovery) (for example, B The video / image information can be derived from the adaptation parameters. Set (APS), Picture Parameter Set (PPS), Sequence Parameter Set Various parameter sets such as (SPS) or Video Parameter Set (VPS) It may also include further information relating to the above. In addition, the video / image information may be subject to general restrictions. (including general constraint information) Yes, it is possible. The decoding device will process information regarding the parameter set and / or the general limitations. Based on the information, the picture can be further decoded. The information and / or syntax elements that are signaled / received are transmitted via the decoding procedure. It can be decoded and obtained from the bitstream. For example, entropy - The decoding unit 310 uses exponential Golomb coding, CAVLC, or CABAC, etc. Based on the method, the information in the bitstream is decoded, and the syntax necessary for image restoration is applied. It can output values such as the rement value and the quantized values of the conversion coefficients related to the residual. It can. More specifically, the CABAC entropy decoding method uses a bitstream to decode each syntax The bin corresponding to the element is received, and the syntax element information to be decoded and the surrounding and decoded blocks are received. Using the decoded information of the code, or the information of the symbol / bin decoded in a previous step Then the context model is determined, and the bin is determined by the context model. Predicting the probability of occurrence of ) and arithmetic decoding of the bins ) can be executed to generate symbols corresponding to the values of each syntax element. At this time, C The ABAC entropy decoding method determines the context model of the next symbol / bin after the context model has been determined. Update the context model using the decoded symbol / bin information for Dell. This is possible. Of the information decoded by the entropy decoding unit 310, the prediction is The information concerned is provided to the prediction unit (internal prediction unit 332 and intra prediction unit 331). The residual value obtained by entropy decoding in the entropy decoding unit 310, In other words, the quantized conversion coefficients and related parameter information are sent to the residual processing unit 320. It can be input. The residual processing unit 320 receives residual signals (residual It is possible to derive a double block, a resistive sample, and a resistive sample array. Of the information decoded by the entropy decoding unit 310, the information relating to filtering Information can be provided to the filtering unit 350. Meanwhile, from the encoding device A receiving unit (not shown) that receives the output signal is an internal / external element of the decoding device 300. It can be further configured as a receiver, or the receiver may be an entropy decode unit 31 It is a component of 0. On the other hand, the decoding device related to this document is video / image / picture decode It can be called a decoding device, and the decoding device is an information decoder (video / image / video). (Kuta information decoder) and sample decoder (video / image / picture sample decoder) ) can also be classified into the above. The information decoder uses the entropy decoding unit 310 The sample decoder may be equipped with the inverse quantization unit 321, the inverse conversion unit 322, Addition unit 340, filtering unit 350, memory 360, interpretation unit 332, and The system may include at least one of the signal prediction units 331.
[0055] The inverse quantization unit 321 inversely quantizes the quantized conversion coefficients and outputs the conversion coefficients. This is possible. The inverse quantization unit 321 rearranges the quantized transformation coefficients in a two-dimensional block form. This is possible. In this case, the realignment is performed by the coefficient scan performed by the encoding device. Reordering can be performed based on the order. The inverse quantization unit 321 performs quantization parameter (For example, quantization step size information) is used to determine the inverse quantum for the quantized transformation coefficients. Perform the transformation and obtain the transformation coefficient. It is possible.
[0056] In the inverse conversion unit 322, the conversion coefficients are inversely converted to obtain a resistive signal (residual block). This will result in obtaining a residual dual sample array.
[0057] The prediction unit performs a prediction for the current block and generates a prediction sample for the current block. It can generate predicted blocks that include the character. The prediction unit uses the information about the prediction output from the entropy decoding unit 310. Therefore, intra prediction is applied to the current block, or inter prediction is applied. It is possible to determine whether or not to do so, and to determine the specific intra / inter prediction mode. can.
[0058] The prediction unit 320 can generate a prediction signal based on various prediction methods described later. For example, the prediction unit performs intraprediction or interpretation for a prediction for one block. - Not only can predictions be applied, but intra-predictions and inter-predictions can also be applied simultaneously. This is possible. This is a combined inter and intra pr This can be called editing (CIIP). Furthermore, the prediction unit is applied to the block. For prediction purposes, intra-block copy (IB) C) It can also be based on prediction mode, or palette mode. ) can also be based on the following: The IBC prediction mode or palette mode may be, for example, SC Like C (screen content coding), for example, in games and other content It can be used for image / video coding. IBC is basically currently The prediction is performed within the picture, but currently the reference block is derived within the picture. It can be performed in a manner similar to center prediction. That is, IBC is explained in this document. At least one of the revealed interpretation prediction techniques can be used. The code can be seen as an example of intracoding or intraprediction. When this mode is applied, information regarding the palette table and palette index is previously This can be signaled by being included in the video / image information.
[0059] The intra prediction unit 331 predicts the current block by referring to the sample in the current picture. The referenced sample is determined by the prediction mode around the current block. It can be located on the side (neighbor) or it can be located at a distance. In anttra prediction, the prediction mode includes multiple non-directional modes and multiple directional modes. The intra prediction unit 331 uses the prediction mode applied to the adjacent block. It is also possible to determine the prediction mode currently applied to the block.
[0060] The interpretation unit 332 predicts the reference block identified by the motion vector on the reference picture. Based on the reference sample array (K), the predicted block for the current block is induced. This can be done by reducing the amount of motion information transmitted from the interprediction mode. Therefore, based on the correlation of movement information between adjacent blocks and the current block, the movement information is... The motion information can be predicted at the lock, subblock, or sample level. It may include motion vectors and reference picture indices. The motion information is in It can further include information on the predicted direction of the input (L0 prediction, L1 prediction, Bi prediction, etc.). In the case of a predictor, adjacent blocks are spatially adjacent blocks that currently exist within the picture (s (patial neighboring block) and the temporal presence in the reference picture Includes an adjacent block (temporal neighboring block) This is possible. For example, the interpretation unit 332 generates a list of motion information candidates based on adjacent blocks. The system is configured, and based on the received candidate selection information, the motion vector of the current block and / or This allows us to derive the reference picture index. Interpretation is performed based on various prediction modes. This can be executed, and the information regarding the prediction is an inter-prediction for the current block. It may include information indicating the measurement mode.
[0061] The addition unit 340 uses the acquired residual signal to predict the prediction unit (interpretation unit 332 and / Or the prediction signal output from the intra prediction unit 331 (predicted block, prediction By adding it to the sample array, the restored signal (restored picture, restored block, restored sample) is created. A pull array can be generated. Processing as if skip mode were applied. If there is no residual for the target block, the predicted block will be used as the restore block. It can be used in this way.
[0062] The addition unit 340 can be called the restoration unit or restoration block generation unit. The restored signal is now used for intra-prediction of the next block to be processed within the picture. It is possible to output the data after filtering, as described later, or to It can also be used for picture interpretation.
[0063] On the other hand, during the picture decoding process, LMCS (luma mapping with ch Roma scaling can also be applied.
[0064] The filtering unit 350 applies filtering to the restored signal to determine subjective / objective image quality. This can improve the quality. For example, the filtering unit 350 can improve the quality of the restored picture. Apply a filtering method to generate a modified restored picture. It is possible to store the modified restored picture in memory 360, specifically in memory 360 D It can be sent to the PB. The various filtering methods mentioned above include, for example, deblocking Filtering, sample adaptive offset fset), adaptive loop filter, both It can include directional filters (bilateral filters), etc.
[0065] The (modified) restored picture stored in the DPB of memory 360 is in the interpretation unit 3 It can be used as a reference picture in 32. Memory 360 is currently in the picture Motion information of the block from which motion information was derived (or decoded) and / or already recovered It can store the movement information of blocks within the original picture. The information can be used as motion information for spatially adjacent blocks or for temporally adjacent blocks. To do this, it can be transmitted to the interpretation unit 260. The memory 360 is currently pic The intra prediction unit 33 can store restored samples of restored blocks within the chat. It can be transmitted to 1.
[0066] In this specification, the filtering unit 260 and the interpretation unit of the encoding device 200 The embodiments described in 221 and the intra prediction unit 222 each relate to the decoding device 300. The same applies to the filtering unit 350, the inter-prediction unit 332, and the intra-prediction unit 331. It can be applied in a corresponding manner.
[0067] In this document, at least one of quantization / inverse quantization and / or transformation / inverse transformation is omitted. It may be omitted. If the quantization / inverse quantization is omitted, the quantized transformation The coefficient can be called a transformation coefficient. If the transformation / inverse transformation is omitted, the transformation A coefficient can be called a coefficient or residual coefficient, or a coefficient of uniformity in expression. Therefore, it can still be called a conversion coefficient.
[0068] In this document, the quantized transformation coefficients and transformation coefficients are, respectively, the transformation coefficients and scaling coefficients. This can be called a scaled conversion coefficient. In this case, residual information This may include information regarding the conversion coefficient (etc.), and the information regarding the conversion coefficient (etc.) is , can be signaled via the residual coding syntax. Based on the residual information (or information regarding the conversion coefficient (etc.)), the conversion coefficient is It can be derived, and scaled via the inverse transformation (scaling) of the transformation coefficient. The following conversion coefficients can be derived. The inverse conversion (transformation) of the scaled conversion coefficients. Residual samples can be derived based on this. This is also true in other parts of this document. It can be applied / expressed.
[0069] As mentioned earlier, in video coding, predictions are made to improve compression efficiency. This is done. Through this, a predicted sample for the current block, which is the block to be coded, is generated. A predicted block containing a space can be generated. Here, the predicted block is a space Includes predicted samples in the main (or pixel domain). The predicted blocks The encoding device and the decoding device derive the same result, and the encoding device derives the original B The original block and the predicted block, which are not the original sample values of the lock themselves. Signaling information about residuals (residual information) to the decoding device. This can increase the efficiency of image coding. The decoding device is the residual Based on the information, a residual block containing a residual sample is derived, and the residual The restored block includes the restored sample, formed by combining the dual block and the predicted block. It can generate a restored picture that includes a restored block.
[0070] The aforementioned residual information can be generated through transformation and quantization procedures. For example The encoding device then determines the residual between the original block and the predicted block. The dual block is derived, and the dual sample (register) included in the dual block The conversion procedure is performed on a dual sample array to derive conversion coefficients, and the conversion coefficients are quantized. The procedure is performed to derive the quantized conversion coefficients, and the associated residual information is (bitst It can signal to the decoding device (via the ream). Here, the regidu The information includes the value information of the quantized conversion coefficients, position information, conversion technique, and conversion kernel. The decoding device may include information such as quantization parameters. Based on the report, the inverse quantization / inverse transform procedure is performed, and the residual sample (or residual The decoding device can derive the predicted block and the residual block. A restored picture can be generated based on the lock. The encoding device can then further process the picture. For reference in the interpretation, the quantized transformation coefficients are inversely quantized / inversely transformed. The dual block can be derived, and a restored picture can be generated based on it.
[0071] Intra prediction is based on references within the picture to which the current block belongs (hereinafter referred to as the current picture). This can represent a prediction that generates prediction samples for the current block based on the pull. If intraprediction is applied to the current block, use the intraprediction for the current block. Peripheral reference samples can be derived. The peripheral reference samples of the current block are nW × nH Samples adjacent to the left (left) boundary of the current block and the bottom left (bottom) A total of 2 × nH samples adjacent to (left-right), currently on the top of the block. Samples adjacent to the boundary and a total of 2 x nW samples adjacent to the upper right side (top-right) Includes the sample and one adjacent sample to the top-left of the current block. It is possible to do so. Alternatively, the peripheral reference samples of the current block are the upper peripheral samples of multiple columns. It may also include sample and multi-line left-side samples. Also, the surrounding area of the current block. Edge reference samples are adjacent to the right boundary of the current block of size nW × nH. A total of nH samples, currently adjacent to the bottom boundary of the block, total nW This sample, and the one adjacent to the bottom-right of the current block. It can also include samples.
[0072] However, some of the surrounding reference samples in the current block have not yet been decoded. , it may not be available. In this case, the decoder is available for the available sample. Substitution of non-compliant samples and use surrounding reference samples for prediction. You can configure a pull, or interpolate the available samples. The surrounding reference samples used for prediction can be constructed via this method.
[0073] If a neighboring reference sample is derived, (i) the neighbor of the current block ng) The average or interpolation of the reference samples. (ii) Predicted samples can be derived based on (irpolation), and currently Among the surrounding reference samples of the buck, reference samples that exist in a specific (predictive) direction relative to the predicted sample The predicted samples can also be derived based on the sample. (i) non-directional (non-directional) mode or non-angular mode (ii) In the case of (ii), directional mode or angle mode This can be called ular mode.
[0074] Furthermore, among the surrounding reference samples, the predicted sample of the current block is used as the basis for the current A first peripheral sample located in the prediction direction of the intra prediction mode of the block and the prediction method The predicted sample is generated by interpolation with a second peripheral sample located in the opposite direction. It is also possible to do this. In the case mentioned above, linear interpolation intra prediction is used. This can be called polation into reversal (LIP). Furthermore, a linear model (LM) is used, based on Luma samples. Chroma prediction samples can also be generated. In this case, LM mode or C This can be called CLM (chroma component LM) mode.
[0075] Furthermore, a temporary prediction of the current block based on the filtered surrounding reference samples. The sample was derived from the existing peripheral reference sample, i.e., the unfiltered sample. Of the surrounding reference samples, at least one derived by the intra prediction mode The reference sample and the temporary prediction sample are weighted together to obtain the previous result. It is also possible to derive the predicted sample for the current block. In the case mentioned above, PDPC(P (possibility-dependent intraprescription) It is possible.
[0076] Furthermore, among the multiple reference sample lines surrounding the current block, the reference with the highest predictive accuracy is the one with the highest predictive accuracy. Select a sample line and use a reference sample located in the prediction direction on that line to make a prediction. The sample is derived, and at this time, the reference sample line used is instructed to the decoding device (signature). Intra predictive coding can be performed using the method of (naring). In the case mentioned above, multiple Reference line (multi-reference line) intra-prediction or MRL base This can be called board intra-prediction.
[0077] Also, currently, the block can be divided into vertical or horizontal subpartitions for the same intranet prediction. Although intra prediction is performed based on the mode, peripheral references are used on a subpartition basis. An example can be derived and used. That is, in this case, the input for the current block. Although the traction prediction mode is similarly applied to the subpartition, the subpartition By deriving and using surrounding reference samples on a per-section basis, intraprediction can be performed in some cases. Performance can be improved. This type of prediction method is used by ISPs (intra sub-pa These can be called foundational intra-predictions.
[0078] The aforementioned intra-prediction methods are distinguished from intra-prediction modes and are classified as intra-prediction types. It can be called an intra prediction type. The intra prediction type is an intra prediction technique or an additional intra It can be called by various terms, such as the prediction mode. For example, the aforementioned intra-prediction mode The P (or additional intra-prediction mode, etc.) is the aforementioned LIP, PDPC, MRL, I It may include at least one of the SPs: LIP, PDPC, MRL, IS General intra-prediction methods, excluding specific intra-prediction types such as P, are normal intra-prediction methods. This can be called a measurement type. The normal intra prediction type is a specific type as described above. If the prediction type is not applicable, it can generally be applied, as mentioned above. Predictions can be made based on the prediction mode. On the other hand, the prediction samples can be derived as needed. Post-processing filtering can also be performed on the results.
[0079] Specifically, the intra-prediction procedure includes an intra-prediction mode / type determination step and peripheral reference. Sample derivation step, intra prediction mode / type-based prediction sample derivation step It can include post-processing filters on derived predicted samples as needed. A post-filtering step can also be performed.
[0080] Figure 4 shows an example of a video / image encoding method for an intra-predictive infrastructure.
[0081] As shown in Figure 4, the encoding device performs an intra prediction for the current block (S 400). The encoding device derives the intra-predictive mode / type for the current block. Therefore, the surrounding reference samples of the current block can be derived, and the intra prediction mode / type and Based on the surrounding reference samples, predictive samples are generated within the current block. The intra-prediction mode / type determination, peripheral reference sample derivation, and prediction sample generation procedure are as follows: They can be performed simultaneously, and one procedure may be performed before the others. The encoding device can select from among multiple intra prediction modes / types, the current block The mode / type to be applied can be determined. The encoding device predicts the intra Compare RD costs for each mode / type and find the optimal input for the current block. You can determine the tiger prediction mode / type.
[0082] On the other hand, the encoding device can also perform a predictive sample filtering procedure. Sample filtering can be called post-filtering. The sample filtering procedure filters out some or all of the prediction samples. It may be possible to omit the aforementioned predictive sample filtering procedure. can.
[0083] The encoding device uses the (filtered) predicted sample to determine the current block Generate a residual sample for the block (S410). The encoding device is currently blocking The original sample of the buck is compared with the predicted sample on a phase basis, and the residual sample We can derive the value of .
[0084] The encoding device contains information related to 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. It can include. The encoding device encodes the image information in bitstream format. It can output in a specific state. The output bitstream can be stored on a storage medium or network. It can be transmitted to a decoding device via a QR code.
[0085] The aforementioned residual information may include the residual coding syntax described later. Yes, it is possible. The encoding device converts / quantizes the residual samples and quantizes them. The conversion coefficients can be derived. The residual information relates to the quantized conversion coefficients. It can contain information.
[0086] On the other hand, as mentioned above, the encoding device is used for the restored picture (restored sample and restored block It can generate (including the quantized conversion coefficient). For this purpose, the encoding device can generate the quantized conversion coefficient. The (corrected) residual sample can be derived by performing inverse quantization / inverse transformation again. The reason for performing inverse quantization / inverse transformation after transforming / quantizing residual samples is as follows: As mentioned above, the same residual sample derived from the decoding device This is to derive a sample. The encoding device uses the predicted sample and the (modified) Includes a restored sample for the current block based on the (reproduced) residual sample. A restoration block can be generated. Based on the restoration block, the current picture can be restored. A picture may be generated. The restored picture may also undergo an in-loop filtering procedure, etc. As mentioned above, this can be applied to [the subject].
[0087] Figure 5 shows an example of a video / image encoding method for an intra-predictive infrastructure.
[0088] The decoding device can perform operations corresponding to the operations performed by the encoding device. ru.
[0089] Predictive information and residual information can be obtained from the bitstream. Based on the dual information, a residual sample for the current block can be derived. Specifically, based on the quantized transformation coefficients derived based on the residual information Then, inverse quantization is performed to derive the transformation coefficients, and the inverse transformation is performed on the said transformation coefficients, and the current B Residual samples can be derived for the lock.
[0090] Specifically, the decoding device receives the 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 the peripheral reference samples of the current block (S510). The coding device is based on the intra prediction mode / type and the peripheral reference sample. The current block is now generated with predictive samples (S520). In this case, the decoding device is Predictive sample filtering can be performed. Predictive sample filtering is, This can be called post-filtering. Therefore, some or all of the aforementioned prediction samples may be filtered. Therefore, the prediction sample filtering procedure can be omitted.
[0091] The decoding device, based on the received residual information, determines the current block A dual sample is generated (S530). The decoding device analyzes the predicted sample and the previous Based on the residual sample, a restored sample is generated for the current block, A restoration block containing the restored sample can be derived (S540). Based on the restoration block A restored picture may be generated for the current picture. As mentioned above, additional procedures such as o-filtering may be applied.
[0092] The aforementioned intra-prediction mode information is, for example, MPM (most probable mode). de) applies to the current block, or the remaining mode (remai Flag information (ex.intra_lu) indicating whether or not the ning mode is applied. It may include 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 further includes index information (e.g., intra_luma_mpm_idx) that points to this. This is possible. The intra-prediction mode candidates (MPM candidates) are in the MPM candidate list or It can be composed of an MPM list. Also, the MPM is applied to the current block. If not, the intra prediction mode information is the intra prediction mode candidate (MPM candidate). Remaining mode information (ex. It can further include intra_luma_mpm_remainder). The device determines the intra-prediction mode of the current block based on the intra-prediction mode information. You can determine the code.
[0093] Furthermore, the intra prediction type information can be implemented in various forms. For example, the intra The intra prediction type information indicates one of the intra prediction types. Includes type index information. As another example, the intra predictive type information is M Whether RL applies to the current block and, if so, which reference sample it is. Reference sample line information (ex.intra_luma_r) that indicates whether the line will be used. ef_idx), ISP flag information indicating whether the ISP applies to the block. (ex.intra_subpartitions_mode_flag), the aforementioned ISP If applicable, the ISP type information (ex) indicates the partition type of the subpartition. .intra_subpartitions_split_flag), application of PDCP It includes at least one flag information indicating whether it is permissible or not, or flag information indicating whether LIP is applicable or not. Furthermore, the intra prediction type information is set to the current block MIP(matrix-ba The MIP flag indicates whether or not sed intra prediction is applied. include.
[0094] The intra prediction mode information and / or the intra prediction type information are as follows in this document. It can be encoded / decoded using the coding method described above. For example The intra prediction mode information and / or the intra prediction type information is entropy Encoded / decoded via coding (e.g., CABAC, CAVLC) It is possible.
[0095] Figure 6 illustrates the intra-prediction procedure.
[0096] As shown in Figure 6, the intra prediction procedure is as follows: intra prediction mode / type Decision step, peripheral reference sample derivation step, intra prediction execution (prediction sample generation) The intra prediction procedure may include steps as described above, such as the encoding device. This can be done with an and a decoding device. In this document, a coding device means an E It may include a coding device and / or a decoding device.
[0097] As shown in Figure 6, the coding device determines the intra-prediction mode / type (S 600).
[0098] The encoding device, among the various intra prediction modes / types mentioned above, currently blocks It can determine the intra-prediction mode / type applied to the system and generate prediction-related information. The aforementioned prediction-related information represents the intra prediction mode applied to the current block. Prediction mode information and / or an intra-prediction type representing the current block The device may include tiger prediction type information. The decoding device uses the prediction-related information to determine the type of tiger prediction. The intra-prediction mode / type applied to the current block can be determined.
[0099] The aforementioned intra-prediction mode information is, for example, MPM (most probable mode). de) applies to the current block, or the remaining mode (remai Flag information (ex.intra_lu) indicating whether or not the ning mode is applied. It may include 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 further includes index information (e.g., intra_luma_mpm_idx) that points to this. This is possible. The intra-prediction mode candidates (MPM candidates) are in the MPM candidate list or It can be composed of an MPM list. Also, the MPM is applied to the current block. If not, the intra prediction mode information is the intra prediction mode candidate (MPM candidate). Remaining mode information (ex. It can further include intra_luma_mpm_remainder). The device determines the intra-prediction mode of the current block based on the intra-prediction mode information. You can determine the code.
[0100] Furthermore, the intra prediction type information can be implemented in various forms. For example, the intra The intra prediction type information indicates one of the intra prediction types. Includes type index information. As another example, the intra predictive type information is M Whether RL applies to the current block and, if so, which reference sample it is. Reference sample line information (ex.intra_luma_r) that indicates whether the line will be used. ef_idx), ISP flag indicating whether the ISP applies to the current block. Information (ex. intra_subpartitions_mode_flag), the above I If an SP is applied, the ISP type information indicates the partition type of the subpartition. (e.g., intra_subpartitions_split_flag), PDCP At least one of the following: flag information indicating applicability or flag information indicating LIP applicability This includes the intra prediction type information, and the current block contains MIP(matri MIP indicates whether x-based intraprediction is applicable. Includes flags.
[0101] For example, when intra prediction is applied, the intra prediction mode of the surrounding block is used The intra predictive mode currently applied to the block may be determined. For example, the coding system The placement is within the area of the surrounding blocks (e.g., the surrounding blocks to the left and / or above) of the current block. MPM (most p) derived based on the prediction mode and / or additional candidate modes (robable mode) Select one of the MPM candidates in the list, received MPM input It can be selected based on the DEX, or the MPM candidate (and planar mode) ) one of the remaining intra prediction modes not included in the MPM retainer information ( The selection can be made based on the main intra prediction mode information. The configuration can be set to include or exclude planar mode as a candidate. Example For example, if the MPM list includes planar modes as candidates, the MPM list is: It can have 6 candidates, and the MPM list does not include planar modes as candidates. If not, the MPM list may have 5 candidates. If the Lanner mode is not included as a candidate, the current block's intra-prediction mode is Planar The not-planar flag (ex. intra_luma_not_p) indicates whether the mode is not active. The lanar_flag may be signaled. For example, if the MPM flag is signaled first The MPM index and not-planar flag are set when the value of the MPM flag is 1. Signaling can be performed in the event that... Signaling can occur when the value of the t-planar flag is 1. Here, The MPM list is configured so that it does not include planar mode as a candidate, Rather than saying that the planar mode is not an MPM, it's more accurate to say that the planar mode is always considered as an MPM. Therefore, first signal the flag (not planar flag), and then planar This is to first confirm whether or not it is a code.
[0102] For example, the intra prediction mode currently applied to the block is an MPM candidate (and planarmo Whether it is in mode (MPM) or remaining mode is determined by the MPM flag (e It can be directed based on x.intra_luma_mpm_flag) M A value of 1 for the PM flag indicates that the intra prediction mode for the current block is an MPM candidate (and It can indicate that the state is in planar mode, and a value of 0 for the MPM flag indicates that the current block This indicates that there is no intra-predictive mode for the target within the MPM candidate (and planar mode). It is possible. The aforementioned not planar flag (ex. intra_luma_ A value of 0 for not_planar_flag indicates that the intra-planar mode for the current block is The "do" can indicate that it is in planar mode, and the aforementioned "not planar" flag can indicate this. A value of 1 indicates that the intra-prediction mode for the current block is not planar mode. This is possible. The MPM index is mpm_idx or intra_lum It can be signaled in the form of the a_mpm_idx syntax element, and the remapping The NingIntra prediction mode information is rem_intra_luma_pred_mode Alternatively, in the form of the intra_luma_mpm_remainder syntax element, It can be named. For example, the remaining intra prediction mode information is all Of the intra-body prediction modes, the remaining ones 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. This is possible. The intra prediction mode is an intra prediction mode for the luma component (sample). It can be a code. The intra prediction mode information is as follows: the MPM flag (ex. intra_luma_mpm_flag), not planar flag(e x.intra_luma_not_planar_flag), the MPM index S (ex.mpm_idx or intra_luma_mpm_idx), the above remay Intra prediction mode information (rem_intra_luma_pred_mode) It includes at least one of the following (or intra_luma_mpm_remainder). It is possible to do so. In this document, the MPM list is the MPM candidate list, candMode It can be referred to by various terms, such as "List."
[0103] If MIP is currently applied to the 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) may be signaled, and the aforementioned not pl The ANAR flag may not be signaled.
[0104] In other words, when an image is generally divided into blocks, then try coding The current block and the surrounding (neighboring) block have similar image characteristics. Therefore, the current block and the surrounding blocks are identical to each other. Alternatively, there is a high probability that it has a similar intra-prediction mode. Therefore, the encoder currently To encode the intra-prediction mode of a block, the intra-prediction mode of surrounding blocks is used. You can use a code.
[0105] The coding device currently uses MPM (most probable m) for the block. A list of odes can be constructed. The aforementioned MPM list can also be referred to as an MPM candidate list. Here, MPM refers to the current block and surrounding area during intra predictive mode coding. Modes used to improve coding efficiency, taking into account similarity with blocks. This can mean that, as mentioned above, the MPM list is composed of planar modes. It can be configured as follows, or without planar mode. For example, MPM RIS If the option includes planar mode, the number of candidates in the MPM list can be 6. And if the MPM list does not include planar mode, the number of candidates in the MPM list is It can be 5.
[0106] The encoding device can make predictions based on various intra-prediction modes, Based on RDO (rate-distortion optimization) The optimal intra prediction mode can then be determined. In this case, the encoding device uses the MP Using only the MPM candidates and planar modes configured in the M list, the optimal intra-prediction is used. The measurement mode can be determined, or the MPM candidates configured in the MPM list and In addition to the planar mode, the remaining intra-predictive modes are further used to achieve the optimal intra It is also possible to determine the prediction mode. Specifically, for example, if the current block is The intra prediction type is a specific type that is not a normal intra prediction type (e.g., LIP, M If it is RL or ISP, the encoding device uses the MPM candidate and planar Considering only the mode as an intra-predictive mode candidate for the current block, the optimal The intra prediction mode can be determined. That is, in this case, for the current block The intra-prediction mode is determined from among the MPM candidate and planar mode. In this case, the MPM flag may not be encoded / signaled. The decoding device does not need to signal the MPM flag separately in this case. It can also be inferred that the MPM flag is 1.
[0107] On the other hand, generally speaking, the intra-prediction mode of the current block is not planar mode, If one of the MPM candidates in the MPM list is selected, the encoding device will select the MPM candidate. Generate an MPM index (mpm idx) that points to one of the complements. If the intra prediction mode for the current block is not also in the MPM list, the MPM Among the remaining intra-predictive modes not included in the standard (and planar) modes, the current MPM retainer information (remaining) that refers to the same mode as the block's intra prediction mode. The MPM Remainer information generates (Guintra prediction mode information). The MPM Remainer information is, for example, in The tra_luma_mpm_remainder syntax element can be included.
[0108] The decoding device acquires intra-prediction mode information from the bitstream. As mentioned above, the tiger prediction mode information includes the MPM flag, the not-planar flag, and MPM. Among the index and MPM retainer information (remaining intra prediction mode information) It may include at least one. The decoding device can construct an MPM list. The MPM list described above is configured in the same way as the MPM list configured by the encoding device. In other words, the MPM list may include intra-prediction modes for surrounding blocks. It may also include specific intra-predictive modes according to a predetermined method.
[0109] The decoding device currently uses the MPM list and the intra prediction mode information. The intra-prediction mode of the lock can be determined. For example, if the value of the MPM flag is 1 In this case, the decoding device sets the planar mode to the intra-prediction mode of the current block. How to derive it (not based on the planar flag), or the MPM candidate in the MPM list Among the supplementary materials, the candidate pointed to by the MPM index is the intra-prediction mode of the current block. It can be derived as follows: Here, the MPM candidate is included in the above MPM list. It can represent only candidates, or not only candidates included in the MPM list, but also the This also includes planar mode, which can be applied when the MPM flag value is 1. It is possible.
[0110] As another example, if the value of the MPM flag is 0, the decoding device will... Among the remaining intra-predictive modes not included in the straight and planar modes, the remayne Intra predictive mode information (can be called MPM remainder information) The intra prediction mode referred to by ) is derived as the intra prediction mode of the current block. This is possible. On the other hand, as yet another example, the intra prediction type of the current block is specified. If it is of type (e.g., LIP, MRL, or ISP), the decoding device will use the MP Without parsing / decoding / verification of the M flag, the planar mode or the MPM Within the list, the candidate pointed to by the MPM flag is used as the intra-prediction mode for the current block. It can be derived.
[0111] The coding device currently derives the surrounding reference samples of the block (S610). When intraprediction is applied to a block, the current periphery used for intraprediction of the block A reference sample can be derived. The peripheral reference sample of the current block is nW × nH size. Samples adjacent to the left (left) boundary of the current block and the lower left (bottom) -left) A total of 2 × nH samples adjacent to the current block's top boundary The adjacent sample and the two adjacent samples on the top-right side (a total of 2 x nW) This includes one sample adjacent to the top-left side of the current block. This is possible. Alternatively, the peripheral reference sample of the current block can be the upper peripheral sample of multiple columns. It may also include samples to the left of the current block and multiple lines. The sample is adjacent to the right boundary of the current block, which is nW × nH in size. A total of nH samples, currently adjacent to the bottom boundary of the block, a total of nW samples. Sample, and one adjacent sample to the bottom right of the current block. It can also include a sample.
[0112] On the other hand, when MRL is applied (i.e., when the value of the MRL index is greater than 0) (Total), the aforementioned peripheral reference sample is not line 0 adjacent to the current block on the left / upper side. It can be positioned on the 1st or 2nd line, and in this case, the number of peripheral reference samples is It can be increased further. On the other hand, if ISP is applied, the surrounding reference sample is It can be derived on a partition basis.
[0113] The coding device performs intraprediction on the current block to derive a predicted sample. S620). The coding device has the intra prediction mode / type and the peripheral sample Based on this, the predicted sample can be derived. The coding device is currently located around the block. From the reference samples, the reference sample obtained using the intra-prediction mode of the current block is derived. Based on the aforementioned reference sample, a predicted sample for the current block can be derived.
[0114] On the other hand, when interpretation is applied, the prediction unit of the encoding / decoding device is Interpretation can be performed on a lock-by-lock basis to derive prediction samples. Interpretation is currently performed on a pin Depends on data elements of pictures other than Kucha (e.g., sample values or motion information). It can represent predictions derived in an interpretation way (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 interpretation is currently applied to a block, the reference picture index points to the reference picture Based on a reference block (reference sample array) identified by motion vectors on the kucha This allows us to derive the predicted block (predicted sample array) for the current block. At this time, in order to reduce the amount of motion information transmitted in interprediction mode, the surrounding blocks Based on the correlation of movement information between the block and the current block, the movement information of the current block is used to block The motion information can be predicted at the block, subblock, or sample level. It may include a motion vector and a reference picture index. The motion information is an interface. - Further information such as prediction type (L0 prediction, L1 prediction, Bi prediction, etc.) can be included. When perimeter prediction is applied, surrounding blocks are the spatial surrounding blocks currently present in the picture. The spatial neighboring block and the referenced picture are present. Temporal neighboring blocks It can be provided. A reference picture comprising the reference block and the temporal peripheral block. The reference picture having the same or different time period Edge blocks are collocated reference blocks. It can be called by names such as lock, same-position CU (colCU), and the aforementioned time A reference picture that includes surrounding blocks is a collocated picture. It can also be called ture, colPic). For example, the surrounding blocks of the current block A list of motion information candidates may be constructed based on the block, and the motion vector of the current block. And / or to derive the reference picture index, which candidate is selected (used)? Flags or index information indicating whether or not to be detected may be signaled. Various prediction models Interpretation can be performed based on the code, for example, skip mode and merge mode In this case, the current block's movement information is the same as the movement information of the selected surrounding blocks. This is possible. In skip mode, unlike merge mode, the residual signal is transmitted. It can be prevented. Motion vector prediction In MVP mode, the motion vector of the selected surrounding block is predetermined. Used as a motion vector predictor, the difference in motion vectors The motion vector difference is signaled. This can be done by using the sum of the motion vector predictor and the motion vector difference. The motion vector of the block can now be derived.
[0115] The aforementioned motion information is determined by the interpretation type (L0 prediction, L1 prediction, Bi prediction, etc.) It may include motion information in the 0 direction and / or motion information in the L1 direction. The motion vector in the L0 direction is L The motion vector in the L1 direction can be called the 0 motion vector or MVL0, and the motion vector in the L1 direction is L1 This can be called a motion vector or MVL1. Prediction based on the L0 motion vector. This can be called an L0 prediction, and a prediction based on an L1 motion vector is called an L1 prediction. It can be detected, and based on both the L0 motion vector and the L1 motion vector, The measurement can be called a pair (Bi) prediction. Here, the L0 motion vector is the reference pic. The motion vector associated with the charity L0(L0) can be represented, and the L1 motion vector is This can represent motion vectors associated with the reference picture list L1(L1). The reference picture L0 is the previous picture in the output sequence relative to the current picture. It can be provided as such, and the reference picture list L1 is in the output order of the current picture. And thereafter, pictures may be provided. The aforementioned earlier pictures are forward (reference) pictures and It can be called, and thereafter the picture can be called a reverse (reference) picture. The aforementioned reference picture list L0 is output in order from the current picture, and subsequent pictures are... The following may be further provided as reference pictures. In this case, the reference picture list L Within 0, the aforementioned earlier picture is indexed first, and the aforementioned later picture is indexed next. It can be dexed. The reference picture list L1 is from the current picture. In terms of output order, previously included pictures can be further provided as reference pictures. In this case, In the aforementioned reference picture list 1, the subsequent picture is indexed first, and the earlier picture Kucha can then be indexed. Here, the output order is POC( Picture order (count) can correspond to the order. .
[0116] Interpretation-based video / image encoding procedures generally include, for example, the following: It is possible.
[0117] Figure 7 shows an example of a video / image encoding method for the interpretation platform.
[0118] The encoding device performs interpretation for the current block (S700). The device derives the current block's interpretation mode and motion information, and the current block Prediction samples can be generated. Here, the interpretation mode is determined, motion information is derived, and predictions are made. The sample generation procedures can be performed simultaneously, with one procedure taking precedence over the others. This can also be done in the following way: For example, the prediction unit of the encoding device determines the prediction mode. It can be equipped with a unit, a motion information derivation unit, and a prediction sample derivation unit, and the prediction mode determination unit is The prediction mode for the current block is determined, and the motion information derivation unit determines the motion information of the current block. The report is derived, and the prediction sample derivation unit can derive the prediction sample for the current block. For example The interpretation unit of the encoding device performs motion estimation. n) within a certain area (search area) of the reference picture similar to the current block Search for a lock and find a reference block whose difference from the current block is the minimum or below a certain threshold. A reference can be derived. Based on this, a reference can point to the reference picture in which the reference block is located. The Kucha index is derived, and based on the positional difference between the reference block and the current block, The motion vector can be derived. The encoding device uses the current mode among various prediction modes. The mode to be applied to the lock can be determined. The encoding device can determine the various predictive modes. Compare the RD cost for each block and determine the optimal prediction mode for the current block. can.
[0119] For example, the encoding device has either skip mode or merge mode for the current block. If applicable, a merge candidate list described later is constructed, and the merge candidate list includes Among the reference blocks pointed to by the merge candidate, the difference between the current block and the current block is A reference block that is below the minimum or a certain standard can be derived. In this case, the derived A merge candidate associated with the reference block is selected, and the merge points to the selected merge candidate. Index information can be generated and signaled to the decoding device. The movement information of the current block can be derived using the movement information of the selected merge candidates.
[0120] As another example, the encoding device applies (A)MVP mode to the current block. If so, a list of MVP candidates (A) described below will be formed, and the candidates included in the aforementioned list of MVP candidates (A) From the MVP (motion vector predictor) candidates, selected The motion vector of the MVP candidate can be used as the MVP of the current block. In this case, for example, the motion vector pointing to the reference block derived by the motion estimation described above. The above 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. The selected MVP candidate can be obtained from the motion vector of the current block. MVD (motion vector difference) is the difference obtained by subtracting p. ) can be derived. In this case, information regarding the MVD is signaled to the decoding device. It can be done. Also, (A) When MVP mode is applied, the reference picture The DEX value is composed of reference picture index information and is separately sent to the decoding device. It can be signaled.
[0121] The encoding device can derive a residual sample based on the predicted sample. S710). The encoding device uses the original sample of the current block and the predicted sample. The residual sample can be derived through comparison.
[0122] The encoding device encodes image information including predictive information and residual information. S720). The encoding device outputs the encoded image information in bitstream format. This can be done. The prediction information is information related to the prediction procedure, including the prediction mode information. information (ex.skip flag, merge flag or mode index, etc.) ) and information regarding motion information may be included. The information regarding motion information may include information regarding motion Candidate selection information (e.g., merge index, mv) is information used to derive the function. It may include the p flag or mvp index. The information relating to this is the aforementioned MVD information and / or reference picture index information. It can include. Furthermore, the information regarding the motion information may include L0 prediction, L1 prediction, or The information may include whether or not pairwise (bi) predictions are applicable. The report is information relating to the said residual sample. The said residual information is the said residual It may include information about the quantized transformation coefficients for a dual sample.
[0123] The output bitstream is stored in a (digital) storage medium and transmitted to a decoding device. It can be reached, or transmitted to a decoding device via a network. Cut.
[0124] On the other hand, as mentioned above, the encoding device uses the reference sample and the residual sample. Based on the sample, a restored picture (including restored samples and restored blocks) can be generated. This is so that the encoding device can derive the same prediction results that the decoding device does. Yes, and this can improve coding efficiency. Therefore, The encoding device stores the restored picture (or restored sample, restored block) in memory. The restored picture can be used as a reference picture for interpretation. As mentioned above, in-loop filtering procedures and other methods may be further applied. ru.
[0125] The video / image decoding procedure based on interpretation broadly includes, for example, the following: It is possible.
[0126] Figure 8 shows an example of a video / image decoding method for the interpretation platform.
[0127] As shown in Figure 8, the decoding device performs the operation performed by the encoding device and the corresponding operation The decoding device can perform operations based on the received prediction information. We can make predictions and derive prediction samples.
[0128] Specifically, the decoding device, based on the received prediction information, processes the current block. The prediction mode can be determined (S800). The decoding device determines the prediction mode information within the prediction information. Based on the report, it is determined which interpretation prediction mode is applied to the current block. It is possible.
[0129] For example, the merge mode in the current block is determined based on the merge flag. It can be determined whether it applies or whether (A)MVP mode is determined. Or, Based on the aforementioned mode index, one of the various interpretation mode candidates is selected. The interpretation mode candidates are skip mode, merge mode, and / or (A ) may include MVP mode, or may include various interpretation modes as described below. It is possible.
[0130] The decoding device moves the current block based on the determined interprediction mode. The information is derived (S810). For example, the decoding device skips to the current block. When a mode or merge mode is applied, configure the merge candidate list described later, and You can select one merge candidate from the merge candidate list. This can be done based on the selection information (merge index) mentioned above. The movement information of the current block can be derived using the movement information of the selected merge candidate. The movement information of the selected merge candidate is used as the movement information of the current block. It is possible.
[0131] As another example, the decoding device applies (A)MVP mode to the current block. In that case, the (A) MVP candidate list described later is formed, and included in the (A) MVP candidate list Among the MVP (motion vector predictor) candidates, 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 mentioned above (MVP flag or MVP index). This can be done. In this case, the current block based on the information regarding the MVD The MVD can be derived, and based on the MVP of the current block and the MVD, the current block The motion vector of the object can be derived. Also, based on the aforementioned reference picture index information, the previous The reference picture index of the current block can be derived. In the reference picture list, the picture pointed to by the reference picture index is the current block It can be derived as a reference picture to be referenced for interpretation.
[0132] On the other hand, as will be described later, the movement information of the current block is derived without constructing a candidate list. In this case, the current block may be moved by the procedure disclosed in the prediction mode described later. The following information can be derived. In this case, the candidate list structure described above can be omitted. Cut.
[0133] The decoding device predicts the current block based on the movement information of the current block. A measurement sample can be generated (S820). In this case, the reference picture of the current block The reference picture is derived based on the DEX, and the motion vector of the current block is Predicted sample of the current block using the sample of the reference block pointed to on the reference picture. This can be derived. In this case, as will be described later, depending on the circumstances, the predicted sun of the current block Further predictive sample filtering steps are performed on all or part of the pull. It is possible.
[0134] For example, the interpretation unit of the decoding device includes a prediction mode determination unit, a motion information derivation unit, and a prediction unit. It can be equipped with a sample derivation unit, and based on the prediction mode information received by the prediction mode determination unit Then, the prediction mode for the current block is determined, and the motion information received by the motion information derivation unit is used. Based on the information, the motion information of the current block (motion vector and / or reference) The picture index, etc. is derived, and the prediction sample derivation unit calculates the prediction sample of the current block. We can derive the pull.
[0135] The decoding device, based on the received residual information, determines the current block A dual sample is generated (S830). The decoding device analyzes the predicted sample and the previous Based on the recorded residual sample, a restored sample is generated for the current block, A restored picture can be generated based on this. (S840) Then, the restored picture is As mentioned earlier, loop filtering procedures and other techniques may be further applied.
[0136] Figure 9 illustrates the interpretation prediction procedure.
[0137] Referring to Figure 9, as mentioned above, the interpretation procedure is the interpretation mode determination step Step, motion information derivation step based on the determined prediction mode, based on the derived motion information The following steps may be included: Prediction execution (prediction sample generation) step. As mentioned above, this can be done using an encoding device and a decoding device. In this context, the coding device may include an encoding device and / or a decoding device. Cut.
[0138] As shown in Figure 9, the coding device currently uses an interprediction mode for the block. Decide (S900). Various interpretations for predicting the current block in the picture. Modes can be used. For example, merge mode, skip mode, MVP (motion Vector prediction mode, Affine mode, Subblock merge mode, MMVD (merge with MVD) mode, etc. Various modes can be used. DMVR (Decoder side motion ve (Corctor refinement) mode, AMVR (Adaptive Motion) (Vector resolution) mode, Bi-prediction with h CU-level weight (BCW), Bi-directional o Ptacial flow (BDOF) and others may be incidental modes or alternatives. It can be used for affine motion prediction. This can also be called motion prediction mode (MVP mode). is AMVP(advanced motion vector prediction) ) can also be called mode. In this document, some modes and / or some modes The motion information candidate derived in this way is included as one of the motion information related candidates for other modes. It is also possible to do so. For example, HMVP candidates are merge candidates in the merge / skip mode. It can be added as, or added as an MVP candidate in the aforementioned MVP mode. It is also possible that the HMVP candidate is the motion information candidate for the merge mode or skip mode. When used as a supplement, the HMVP candidate may be called an HMVP merge candidate. Cut.
[0139] Prediction mode information, which currently points to the prediction mode of the block, is decoded from the encoding device. The signal can be sent to the device. The prediction mode information is sent to the bitstream. The prediction mode information can be included and received by the decoding device. It can include index information that points to one of the codes, or flag information. Interpretation modes can also be indicated via hierarchical signaling. In this case, the previous The prediction mode information may include one or more flags. For example, a skip flag. Signals are sent to indicate whether or not to apply skip mode, and if skip mode is not applied Then, a merge flag is signaled to indicate whether or not the merge mode can be applied, and if the merge mode is appropriate If not used, indicate that MVP mode will be applied, or for additional distinctions The flag can also be further signaled. Afine mode is an independent mode. It can be signaled, or it can be dependent on merge mode or MVP mode, etc. It can also be signaled in a specific mode. For example, Afine mode is Afine It can include merge mode and affine MVP mode.
[0140] The coding device derives motion information for the current block (S910). The motion information can be derived based on the aforementioned inter-prediction mode.
[0141] The coding device can now use block movement information to perform inter-prediction. The encoding device performs a motion estimation procedure. This allows us to derive the optimal movement information for the current block. For example, the encoding device is currently Using the original block in the original picture for the block, we can find highly correlated similar reference blocks. The reference can search within a defined search area in fractional pixel units within the reference picture. Through this, motion information can be derived. The similarity of the blocks is phase-based. It can be derived based on the difference in sample values. For example, the similarity of blocks is currently... Lock (or template of the current block) and reference block (or reference block) It can be calculated based on the SAD between the template. In this case, the search area Motion information can be derived based on the reference block with the smallest SAD within the region. The information is transmitted to the decoding device by various methods based on the interpretation mode. It can be done.
[0142] The coding device performs inter prediction based on the motion information for the current block. (S920). The coding device, based on the motion information, performs the following for the current block Predicted samples (etc.) can be derived. The current block containing the said predicted samples is predicted It can be called a block.
[0143] On the other hand, as mentioned above, the quantization unit of the encoding device applies quantization to the conversion coefficients to convert them to quantum The converted coefficients are derived, and the inverse quantization unit of the encoding device or the inverse quantization unit of the decoding device The transformation coefficients can be derived by applying inverse quantization to the quantized transformation coefficients.
[0144] Generally, in video / image coding, the quantization rate can be changed, The compression ratio can be adjusted by using the quantized quantization ratio. From an implementation standpoint, complexity can be increased. Instead of directly using the quantization rate, consider the quantization parameter (quantization The parameter QP is used. For example, quantization of integer values from 0 to 63. Parameters are used, and each quantization parameter value can correspond to the actual quantization rate. Also, for example... For example, the quantization parameter (QP) for the luma component (luma sample). Y ) and chroma component ( Quantization parameter (QP) for Roma sample C ) allows for different settings.
[0145] The quantization process takes a transformation coefficient (C) as input and a quantization rate (Q) as input. step Divide by ) and based on this This allows us to obtain the quantized transformation coefficient (C'). In this case, considering the computational complexity Then, multiply the quantization rate by the scale to convert it to integer form, and shift it by the amount corresponding to the scale value. It can perform calculations. Based on the product of the quantization rate and the scale value, the quantization scale (qua The quantization scale can be derived by QP. The kale can be derived. For example, the quantization scale can be set to the conversion coefficient (C). By applying this, the quantized transformation coefficient (C') can also be derived.
[0146] The inverse quantization process is the reverse process of the quantization process, and the quantized transformation coefficient (C') is equal to the quantization rate. (Q step By multiplying by this, we can obtain the restored transformation coefficient (C''). In this case, the level scale is determined by the quantization parameter. ) is derived, and by applying the level scale to the quantized transformation coefficient (C'), Based on this, the restored transformation coefficient (C'') is derived. Restored transformation coefficient (C'') ) is multiplied by the loss during the transformation and / or quantization process, resulting in a large difference between the initial transformation coefficient (C) and the original transformation coefficient (C). A small difference is possible. Therefore, in the encoding device, as with the decoding device, inverse quantization is also performed. conduct.
[0147] On the other hand, adaptive frequency-dependent weight quantization adjusts the quantization intensity according to the frequency. (ve frequency weighting quantization) technology is suitable It can be used. The adaptive frequency-based weighting technique uses different quantization for each frequency. This is a method for applying intensity. The adaptive frequency-based weighting is performed using a predefined quantization scheme. Kahring metrics can be used to apply different quantization intensities to each frequency. In other words, the aforementioned quantization / inverse quantization process is based on the aforementioned quantization scaling metrics. This can be done by: For example, the size of the current block and / or the current block In order to generate a residual signal, the prediction mode applied to the current block is - Different quantization scaling metrics are used depending on whether it is a prediction or an intra-prediction. It is used. The quantization scaling metrics are quantization metrics or scaling These may also be called metrics. The aforementioned quantization scaling metrics may be defined in advance. Furthermore, for frequency-adaptive scaling, the quantization scaling metrics are applied to the quantization scaling metrics. The frequency-specific quantization scale information is configured / encoded in the encoding device and then decoded The signal is sent to the quantization device. The frequency-specific quantization scale information is used for quantization scaling. This may also be called scaling information. The frequency-specific quantization scale information is a scaling list data. Includes (scaling_list_data). Based on the scaling list data. The (modified) quantization scaling metrics are then derived. The numerical quantization scale information is an existence flag indicating the existence or non-existence of the scaling list data. (present flag) information included. Or, the scaling list data above When signaling occurs at the rank level (e.g., SPS), the lower level of the higher level In the bell (for example, PPS or tile group header), the scale This also includes information indicating whether or not the ringlist data will be modified.
[0148] As mentioned above, based on the quantization parameters, the luminous and chromatic components are quantized / inversely quantized. The modification is applied.
[0149] The quantization parameter for the coding unit is: It is determined based on information signaled at the chap and / or slice level. For example. The quantization parameters can be derived as described below.
[0150] For example, quantization via SPS (sequence parameter set) Information regarding the derivation of the lameter is signaled as shown in the following table.
[0151] [Table 1]
[0152] The following applies to the syntax elements in Table 1 mentioned above. Semantics are as follows:
[0153] [Table 2]
[0154] For example, the syntax element bit_depth_luma_minus8 is Bit depth of luma array samples A certain BitDepth Y and the luma quantization parameter range offset (luma qua ntization parameter range offset), which is QpBd Offset Y is shown. That is, for example, based on the syntax element bit_dep th_luma_minus8, the BitDepth Y and the QpBdOf fset Y can be derived. For example, the BitDepth Y is derived as a value obtained by adding 8 to the value of the syntax element bit_depth_luma_minus8, and the QpBdOffset is derived as a value obtained by multiplying the value of the syntax element bit_de Y pth_luma_minus8 by 6. Also, the bit_depth_luma_minus8 can be in the range of 0 to 8.
[0155] Also, for example, the syntax element bit_depth_chroma_minu s8 represents the bit depth (bit depth) of the samples in the chroma array, which is BitDepth c and the chroma quantization parameter range offset<(chroma quantization parameter range off set), which is QpBdOffset c is shown. That is, for example, based on the syntax ele ment bit_depth_chroma_minus8, the BitDep th c and the QpBdOffset c can be derived. For example, the BitD epthc The syntax element bit_depth_chroma_minu The value obtained by adding 8 to the value of s8 is derived, and the QpBdOffset c is the aforementioned sinter The value of the .x element bit_depth_chroma_minus8 was multiplied by 6. It is derived as a value. Also, bit_depth_chroma_minus8 is 0 It could be in the range of 8.
[0156] Furthermore, for example, quantum mechanics can be performed via PPS (picture parameter set). Information regarding the derivation of the transformation parameters is signaled as shown in the following table. The said information is Chroma Cb offset, Chroma Cr offset (C Chroma Cr offset, joint chroma offset and initial quantization Includes parameters. That is, the information includes the chroma Cb offset (Chroma Cb Chroma Cr offset, chroma offset, jo Syntax elements for intochromatic offset and initial quantization parameters Includes "t".
[0157] [Table 3]
[0158] The following applies to the syntax elements in Table 3 mentioned above. Semantics are as follows:
[0159] [Table 4]
[0160] For example, the value obtained by adding 26 to the syntax element init_qp_minus26. This refers to SliceQp for each slice that references PPS. Y Initial value This indicates the non-zero value of slice_qp_delta. When the value is decoded, the SliceQp Y The initial value is the slice layer. It can be corrected in the following place. The aforementioned init_qp_minus26 0 is -(26 +QpBdOffset Y It can be in the range of ) or +37.
[0161] Also, for example, syntax elements pps_cb_qp_offset and pps _cr_qp_offset is Qp' Cb and Qp' Cr Luma quantity used in the derivation Childing parameter Qp' Y This indicates the offset to the aforementioned pps_cb. _qp_offset and pps_cr_qp_offset are between -12 and +12. It can be within the range. Also, if ChromaArrayType is 0, the decoding process pps_cb_qp_offset and pps_cr_qp_offset are used In some cases, the decoding device may ignore the value of the syntax element. ) can be done.
[0162] Also, for example, syntax element pps_joint_cbcr_qp_off set is Qp' CbCr The Luma quantization parameter Qp' used in the derivation of Y offset (Offset) is shown. The aforementioned pps_joint_cbcr_qp_offset is It can be in the range of -12 to +12. Also, if ChromaArrayType is 0 In that case, pps_joint_cbcr_qp_offset is used during the decoding process. In some cases, the decoding device may ignore the value of the syntax element. ) can be done.
[0163] Also, for example, syntax element pps_slice_chroma_qp_o ffsets_present_flag is the syntax element slice_cb _qp_offset and slice_cr_qp_offset are associated with the slice Indicates whether or not it exists (present) in the file. For example, pps_sli has a value of 1. ce_chroma_qp_offsets_present_flag is slice Slices related to _cb_qp_offset and slice_cr_qp_offset This indicates that it exists (present) in the ISIS header. Also, for example, a value of 0 is pp. s_slice_chroma_qp_offsets_present_flag is, Regarding slice_cb_qp_offset and slice_cr_qp_offset This indicates that it does not exist in the consecutive slice headers. Also, ChromaArrayType If it is 0, pps_slice_chroma_qp_offse ts_present_flag appears to be 0.
[0164] As mentioned above, the syntax element parsed in PPS is init_q p_minus26, pps_cb_qp_offset_pps_cr_qp_off set, pps_joint_cbcr_qp_offset and pps_slice_ It could be chroma_qp_offsets_present_flag. The qp element init_qp_minus26 is for each slice that references PPS. The initial value of SliceQpY is shown. Also, the syntax element pps_cb_qp _offset, pps_cr_qp_offset and pps_joint_cbcr _qp_offset is the Luma quantization parameter Qp' Y This indicates the offset relative to [the specified value]. The syntax element pps_slice_chroma_qp_offsets _present_flag indicates whether the offset parameter exists in the slice header. To indicate.
[0165] Also, for example, quantization parameters can be accessed via a slice header. Information regarding the derivation of TA can be signaled as shown in the following table.
[0166] [Table 5]
[0167] The following applies to the syntax elements in Table 5 mentioned above. Semantics are as follows:
[0168] [Table 6] JPEG0007853489000007.jpg101156
[0169] For example, slice_qp_delta is CuQ in the coding unit layer. The code within the slice will be modified by the value of pDeltaVal. Qp used in the wing block Y This shows 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 is -QpBdOffset Y or It could be within the range of +63.
[0170] Also, for example, slice_cb_qp_offset is the quantization parameter Qp' Cb of The difference (differ) added to the value of pps_cb_qp_offset when determining the value. This indicates the ence. The value of slice_cb_qp_offset is between -12 and +12. It is possible within the range. Also, for example, in cases where slice_cb_qp_offset does not exist. In addition, the slice_cb_qp_offset is considered to be 0 (inferred). The value of pps_cb_qp_offset+slice_cb_qp_offset is It can be in the range of 12 or +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 This indicates the rence. The value of slice_cr_qp_offset is -12 or +1 It can be in the range of 2. Also, for example, slice_cr_qp_offset does not exist. If not, the slice_cr_qp_offset is considered to be 0 (inferre d) The value of pps_cr_qp_offset + slice_cr_qp_offset It can be in the range of 12 or +12.
[0172] Also, for example, slice_cbcr_qp_offset is the quantization parameter Qp ' CbCr The difference added to the value of pps_cbcr_qp_offset when determining the value ( The difference is shown. The value of slice_cbcr_qp_offset is - It can be in the range of 12 or +12. Also, for example, slice_cbcr_qp_of If fset does not exist, slice_cbcr_qp_offset is considered to be 0. (inferred). pps_cbcr_qp_offset+slice_c The value of bcr_qp_offset can be in the range of 12 to +12.
[0173] The derivation process for the luma and chromatic quantization parameters is the input to the said process. The luma location is the current width and height of the coding block. The specified variables and single tree or dual tree. It starts with a variable that specifies whether it is an al tree. On the other hand, as mentioned above The luma quantization parameters, chromatic quantization parameters, and joint chromatic quantization parameters The data is Qp' Y , Qp' Cb , Qp' Cr and Qp' CbCr This can be shown.
[0174] On the other hand, for example, the syntax element that indicates the sign of CuQpDeltaVal The comment cu_qp_delta_sign_flag is parsed. For example, the above cu_qp_delta_sign_flag is the sign of CuQpDeltaVal (si gn) can be shown as follows:
[0175] For example, if cu_qp_delta_sign_flag is 0, then cu The CuQpDeltaVal corresponding to _qp_delta_sign_flag is a positive number ( It has a positive value. Or, for example, the cu_qp_delt If a_sign_flag is 1, then the cu_qp_delta_sign_fl The CuQpDeltaVal corresponding to ag has a negative value. In addition, if the aforementioned cu_qp_delta_sign_flag does not exist, the aforementioned 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 result is that CuQpDeltaVal is -(32+QpBdOffsetY / 2) It could be within the range of +(31+QpBdOffsetY / 2).
[0177] Subsequently, for example, the Luma quantization parameter Qp' Y It can be derived as shown in the following formula.
[0178]
number
[0179] Also, if ChromaArrayType is not 0, and treeType is SINGL If it is E_TREE or DUAL_TREE_CHROMA, the following applies:
[0180] -If treeType is like DUAL_TREE_CHROMA, then the variable Qp Y This is a luma containing the luma position (xCb+cbWidth / 2, yCb+cbHeight / 2) Luma quantization parameter Qp of the coding unit Y It can be set to be the same as [another setting].
[0181] -variable qP Cb , qP Cr and qP CbCr This is derived as follows:
[0182]
number
[0183] For example, if ChromaArrayType is 1, then the variable qP Cb , qP Cr and qP CbCr These are qPi Cb , qPi Cr and qPi CbCr Based on the same index qPi The QpC value can be set to be the same as the QpC value specified in Table 7 below.
[0184] [Table 7]
[0185] Alternatively, if ChromaArrayType is not 1, the variable qP Cb , qP Cr and qP CbCr These are qPi Cb , qPi Cr and qPi CbCr Based on the same index qPi It can be set to be the same as Min(qPi,63).
[0186] -Chromatography quantization parameters for Cb and Cr components, Qp' Cb and Qp' Cr , Jo The chromatic quantization parameter Qp'CbCr for int Cb-Cr coding is as follows: This is derived.
[0187]
number
[0188] On the other hand, this document proposes strategies for improving coding efficiency in the quantization / dequantization process. I propose this.
[0189] As one embodiment, this document describes the case where ChromaArrayType is not 0 (for example) (If ChromaArrayType is 1), the existing VVC draft 5v.7 From the chromatic quantization parameter values via a predefined chromatic quantization mapping table This is not a method for obtaining chromatic quantization parameter values, but rather a method for users to obtain chromatic quantization mapping tables. user defined Chroma Quantization Table This defines VVC and proposes how to use it. VVC explanation text (VVC special In the fication text (for example, VVC draft 5v.7), qPi( Given the chromatic quantization parameter values, a predefined chromatic quantization table (e.g., For example, Qpc (chromatic quantization parameter value) is derived via Table 7) mentioned above, but the main text... The book is based on a newly defined chromatic quantization mapping table from qPi to Q We propose a method for deriving pc. According to the embodiment of this document, the Qpc value is a function of the qPi value. (function) Derived from the relationship, user defined The function uses a syntax such as APS, SPS, or PPS depending on the configuration method. It can be signaled to the system, and the functional relationship is a predefined syntax element. The user submits a value and, based on that value, performs a chroma quantization table mapping. I propose a way to define it. As one example, the function of the Qpc value to the qPi value (functio n) Since it can be derived by the relationship, the syntax element value representing the function is sent. In this case, a user-defined chroma quantization mapping table (a user defined The Chroma Quantization Table is derived in the format shown in Table 7. It can be done.
[0190] As one embodiment, APS (adaptation parameter set) Syntax elements showing chroma quantization mapping-related functions, as shown in the table below. We propose a method for signaling information related to (Qpc_data).
[0191] [Table 8]
[0192] Referring to Table 8 above, the aps_params_type indicates Qpc_APS In that case, for example, if the value of aps_params_type is 2, Qpc_ The data() function is signaled.
[0193] The following applies to the syntax elements in Table 8 mentioned above. Semantics are as follows:
[0194] [Table 9]
[0195] For example, the syntax element adaptation_parameter_set _id is an identifier of the APS that is referenced by other syntax elements. Provides (firer)
[0196] Also, for example, the syntax element aps_extension_flag is AP S RBSP syntax structure aps_extension_data_flag syntax Indicates whether a syntax element exists or not. For example, a syntax element with a value of 1. The `aps_extension_flag` is used in the APS RBSP syntax structure. The s_extension_data_flag syntax element exists. The syntax element aps_extension_flag, which has a value of 0, is A PS RBSP syntax structure aps_extension_data_flag Indicates that no tactic element exists.
[0197] Also, for example, syntax element aps_extension_data_fl ag can have any value. The aforementioned aps_extension_data_f The presence and value of lag are determined by the version of this standard. This may not affect decoder compatibility for explicitly stated profiles. For example, a decoding device that conforms to this version of the standard will handle all syntax elements. The s_extension_data_flag can be ignored.
[0198] Also, for example, the syntax element aps_params_type is shown in the table below. As shown in 10, this indicates the types of APS parameters included in 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, This indicates that the type of APS parameter is an ALF parameter, and the syntax element If the value of aps_params_type is 1, the syntax element ap s_params_type is the type of APS parameter, which is an LMCS parameter. This indicates that the value of the syntax element aps_params_type is 2. The syntax element aps_params_type is the APS parameter This indicates that the type is a Qpc parameter. Qpc data parameters are chromatic quantization parameters. The data parameters can be shown.
[0201] Furthermore, this document describes another embodiment for signaling information regarding quantization parameters. suggest.
[0202] For example, in this embodiment, PPS (picture parameter se t) User-defined Qp CData (userdefined Qp C data) We propose a signaling method. For example, in SPS, a flag has been introduced to indicate whether or not PPS contains user-defined data. This can sometimes be the case. In other words, it indicates whether or not PPS in SPS includes user-defined data. The flag is signaled. Furthermore, according to this embodiment, in PPS, the user Definition data is signaled. Alternatively, a slice header is used. ) and / or other header sets signal the user-defined data. There are also others.
[0203] The flag indicating whether or not PPS contains user-defined data is signaled as shown in the following table. It will be done.
[0204] [Table 11]
[0205] For example, the syntax element Qpc_data_default_flag is previously The aforementioned flag may be a syntax element. The syntax element Qpc_ data_default_flag is Qpc_ in PPS RBSP syntax structure Indicates whether the data() parameter exists or not. For example, Qpc_data_de is 0. fault_flag is a PPS RBSP syntax structure with Qpc_data() Lameter does not exist, and the default table is Chroma Quantum It is used to help determine chroma quantization. This is shown. Here, the default table is as shown in Table 7 above. Also, for example, 1 Qpc_data_default_flag is in the PPS RBSP syntax structure. Indicates that the Qpc_data() parameter exists.
[0206] Furthermore, the user-defined data that is signaled in the PPS according to this embodiment is The following table shows the results.
[0207] [Table 12]
[0208] On the other hand, for example, Qpc_data() has a ChromaArrayType of 1. This contains the information necessary for deriving the chromatic quantization of time.
[0209] Furthermore, this document describes another embodiment for signaling information regarding quantization parameters. suggest.
[0210] For example, in this embodiment, the chromatic quantization coefficient (Quantization Pa) For the derivation of chromator (QP) and combined chromator QP derivation. We propose a flexible structure. This embodiment is SP Function used to derive the chromatic quantization coefficient (QP) in S and / or PPS A user-defined mode (user) is available in which parameters (parameters) can be used. Initial flag indicating the presence or absence of defined mode We propose a method for signaling ).
[0211] For example, the high-level syntax proposed in this embodiment The flag information signaled in the syntax is as shown in the table below.
[0212] [Table 13]
[0213] For example, Qpc_data_present_flag is a high-level syntax R. Does the BSP syntax structure contain parameters for deriving chromatic quantization coefficients? This indicates that. For example, a Qpc_data_present_flag of 0 indicates that the high level system This demonstrates that the RBSP syntax structure does not have chromatic quantization parameters. Also, for example, Qpc_data_present_flag 1 is a high-level syn This demonstrates the existence of chromatic quantization parameters in the tacks RBSP syntax structure.
[0214] Alternatively, the syntax element Qpc_data_present_flag is It is also sometimes used to demonstrate the use of chroma quantization derivation in bitstreams. For example, Qpc_data_present_flag is a chromatic quantization derivative as follows. This can indicate the use of a tool or user-defined mode for output. .
[0215] For example, Qpc_data_present_flag is in the bitstream. User-defined chroma quantization Indicates whether tion) is used or not. For example, Qpc_data_present_ is 0. The flag indicates that user-defined chroma quantization is not used in the bitstream. For example, Qpc_data_present_flag 1 is a user-defined flag. This indicates that Roma quantization is used alone or in conjunction with other flags.
[0216] Furthermore, this document describes another embodiment for signaling information regarding quantization parameters. suggest.
[0217] For example, in this embodiment, in one function, signaling Using user-defined information that is generated The chromatic quantization parameter (QP), i.e., Qp' Cb , Qp' Cr and Qp' CbCr But which We propose one embodiment that can be derived in this way. For example, according to this embodiment, chromatic quantum Data showing a function for deriving the chromatograph parameter (QP) is signaled, and the chromatograph is then used. The chromatic quantization parameters are derived based on the chromatic quantization data. Data for derivation (or user-defined QP mapping table (user defin The QP mapping table signals as shown in the following table.
[0218] [Table 14]
[0219] The syntax elements in Table 14 mentioned 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 (delta value) between Qp C i_min_idx and the maximum qPi index used for Qp (delta value) derivation. The value of qPiMaxIdx is greater than or equal to qPi_min_idx. For example, the maximum index qPiMaxId x used for Qp C derivation can be derived as follows.
[0223]
Equation
[0224] Also, for example, the syntax element QpC_qPi_val[i] indicates the Qp value for the i-th C index.
[0225] Also, for example, the syntax element QpOffset C indicates the C offset value used for Qp (offset value) 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 to be the same as QpC_qPi_val[qPi].
[0229] -If qPi > qPiMaxIdx, then Qp C Idx[qPi] is qPi-QpO ffset C It will be set to this.
[0230] After that, Qp C The value of Qp C It is derived as Idx[qPi].
[0231] For example, the process of deriving the quantization parameters according to this embodiment can be described in standard form as follows: The results are as shown in the following table.
[0232] [Table 16] JPEG0007853489000022.jpg155161JPEG0007853489000023.jpg178158JPEG0007853489000024.jpg239159
[0233] Referring to Table 16 above, the derivation process for the luma and chroma quantization parameters is as follows: The input to the process is the current coding block, with the position (xCb, yCb) being the current coding block. Variables cbWidth, cbHeight, and single tree( Specify whether it is a single tree or a dual tree. It starts with the variable treeType. On the other hand, as mentioned above, the luma quantization The lameter and chromatic quantization parameters are Qp'. Y , Qp' Cb and Qp' CrThis is indicated.
[0234] Furthermore, this document describes another embodiment for signaling information regarding quantization parameters. suggest.
[0235] For example, in this embodiment, the flag in SPS is in user-defined mode. By having either an ed mode or a default mode Syntax elements can be used to control the derivation of quantization parameters. We propose an example of a syntax element that can be used to derive quantization parameters. An example is shown in the following table. On the other hand, the structure of the syntax element is just one example. The above-mentioned structure is not limited to the structures shown in the table below.
[0236] [Table 17]
[0237] [Table 18]
[0238] [Table 19]
[0239] For example, the syntax element Qpc_data_default_flag is a quantity Indicates whether a user-defined mode is used to derive the child parameters. For example, 0 The Qpc_data_default_flag is used for the derivation of the quantization parameters. - Indicates that the definition mode is used. Also, for example, Qpc_data_def 1 ault_flag is used by the default table to derive chromatic quantization parameters. This indicates that it will be used. Here, the default table is as shown in Table 7 above. Furthermore, if the syntax element Qpc_data_default_flag exists If not present, the syntax element Qpc_data_default_flag is It is considered to be 1.
[0240] On the other hand, when the user-defined mode is used, the corresponding slice header, tile A loop / header, or other appropriate header, is used for signaling the APS ID. Example For example, the syntax that indicates the APS ID via the slice header as shown in Table 18 above Elements can be signaled.
[0241] For example, the syntax element slice_Qp C _aps_id is used for slices. Illuminated Qp C The adaptation_parameter_set_id of APS Show. slice_Qp C adaptation_parameters like _aps_id Qp with ter_set_id C TemporalId of APS NAL Unit Is it smaller than 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 A PS can have the same content.
[0242] Furthermore, the APS structure for transmitting chromatic quantization data proposed in this embodiment is, As shown in Table 19 above.
[0243] For example, the syntax element adaptation_parameter_set _id is an identifier of the APS that is referenced by other syntax elements. It can provide (fire).
[0244] Also, for example, the syntax element aps_extension_flag is A PS RBSP syntax structure aps_extension_data_flag Indicates whether a syntax element exists or not. For example, a syntax element with a value of 1. The comment aps_extension_flag is in the APS RBSP syntax structure. The aps_extension_data_flag syntax element exists. The syntax element aps_extension_flag indicates that the value is 0. The APS RBSP syntax structure uses aps_extension_data_fl Indicates that the ag syntax element does not exist.
[0245] Also, for example, syntax element aps_extension_data_fl ag can have any value. The aforementioned aps_extension_data_f The presence and value of lag are determined by the version of this standard. This may not affect decoder compatibility for explicitly stated profiles. For example, a decoding device that conforms to this version of the standard will handle all syntax elements. The s_extension_data_flag can be ignored.
[0246] Also, for example, the syntax element aps_params_type is shown in the table above. As shown in 10, this indicates the types of APS parameters included in APS.
[0247] Qp disclosed in Table 19 above C _data() is signaled as shown in the following table. ru.
[0248] [Table 20]
[0249] For example, the syntax element qPi_min_idx is used for chromatic quantization. This shows the smallest qPi index.
[0250] Also, for example, the syntax element qPi_delta_max_idx is Qp i_min_idx and ChromaQp C The delta value between the maximum qPi indices used in the derivation. (Delta value) is shown. The value of qPiMaxIdx is qPi_min_idx Greater than or equal to. For example, Qp C The maximum index used in the derivation is qPiMaxId x can be derived as shown in equation 4 above.
[0251] Also, for example, syntax element Qp C _prec_minus1 is increased by 1 The value is the representation of the syntax lmcs_delta_abs_cw[i] (represe This indicates the number of bits used for the ntation. 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 The Qp corresponding to idx C indicates the 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 indicates.
[0254] Also, for example, the syntax element QpOffset C is the C offset value used for the derivation of Qp indicates.
[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 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] is set.
[0258] When -qPi > qPiMaxIdx, Qp C Idx[qPi] is qPi - QpO ffsetC It will be set to this.
[0259] After that, Qp C The value of Qp C Idx[qPi] can be derived from this.
[0260] As in the embodiment described above, the chromatic quantization parameters, namely Qp'Cb, Qp'Cr And Qp'CbCr uses signaled user-defined information, or Table 7 above. It can be derived using the default values shown in a default table like this. .
[0261] For example, the process of deriving the quantization parameters according to this embodiment can be described in standard form as follows: The results are as shown in the following table.
[0262] [Table 21] JPEG0007853489000030.jpg152155JPEG0007853489000031.jpg182159JPEG0007853489000032.jpg193158JPEG0007853489000033.jpg42155
[0263] Referring to Table 21 mentioned above, ChromaArrayType is 1, and Qp C _d If ata_default_flag indicates negation (FALSE) (i.e., for example) Qp C If _data_default_flag is 0, then the variable qP Cb , qP Cr and qP CbCr The user-defined information that is signaled as proposed in this embodiment Derived based on the report, where ChromaArrayType is 1 and Qp C _data If _default_flag indicates a positive (TRUE) (i.e., Qp C If _data_default_flag is 1, then the variable qP Cb , qP Cr and qP CbCr These are qPi Cb , qPi Cr and qPi CbCr Based on the same index qPi This is derived from the default table.
[0264] Furthermore, this document describes another embodiment for signaling information regarding quantization parameters. suggest.
[0265] For example, in this embodiment, the SPS flag indicates either a user-defined mode or a default mode. This syntax can be used to control the derivation of quantization parameters. We propose an element. Specifically, this embodiment has the following syntax structure. We propose a method for signaling the syntax element. The structure of the nt is just one example, and the structure is not limited to the structures shown in the table below.
[0266] [Table 22]
[0267] For example, the syntax element qPi_min_idx is used for chromatic quantization. This shows the smallest qPi index.
[0268] Also, for example, the syntax element qPi_delta_max_idx is Qp i_min_idx and ChromaQp C The delta between the maximum qPi indices used in the derivation. This shows the value (delta value). 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 is qPiMaxI dx can be derived as shown in equation 4 above.
[0269] Also, for example, syntax element Qp C _qPi_delta_val[i] is Qp for the i-th index C This shows the delta of the value.
[0270] Also, for example, syntax element QpOffset C Qp as described above C The guidance This shows the offset value used for output.
[0271] As in the embodiment described above, the chromatic quantization parameters, namely Qp'Cb, Qp'Cr And Qp'CbCr uses signaled user-defined information or as shown in Table 7 above. It can be derived using the default values shown in the default table.
[0272] For example, the process of deriving the quantization parameters according to this embodiment can be described in standard form as follows: The results are as shown in the following table.
[0273] [Table 23] JPEG0007853489000036.jpg156158JPEG0007853489000037.jpg178157JPEG0007853489000038.jpg185160JPEG0007853489000039.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 and 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 and qP Cr and qP CbCr can be derived to be the same as the values of qPi Cb and qPi Cr and qPi CbCr respectively, based on the same index qPi as that of 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 .
[0278] -i>qPiMaxIdx, then Qp C Idx[i] is qPi-QpOffse t C It will be set to this.
[0279] Subsequently, the aforementioned Qp C Qp C It can be set to Idx[i].
[0280] Also, referring to Table 23, ChromaArrayType is 1, and Qp C _d If ata_default_flag indicates a positive (TRUE) (i.e., for example, Qp C If _data_default_flag is 1, then the variable qP Cb , qP Cr Reach biqP CbCr These are qPi Cb , qPi Cr , qPi CbCr Based on the same index qPi This is then derived from the default table.
[0281] Furthermore, this document describes another embodiment for signaling information regarding quantization parameters. suggest.
[0282] For example, this embodiment uses APS (Adaptation Parameter Set) In chromatic quantization (Qp C ) Propose 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 param) indicates whether a table derived from the information will be used. Flags within the eter set are proposed. Also, for example, the default table is If not used, Qp will be added to the slice header. C Access to APS containing data (ac Additional control measures are added to support cess.
[0283] On the other hand, according to existing video / image standards, chromaQP is derived from lumaQP, and additionally This can be updated by signaled chroma QP offsets. Existing chromatic quantization parameter QpC tables are default tables like Table 7 mentioned above. It could be
[0284] In this embodiment, the chromatic quantization parameter Qp is used as a function of the index qPi. C to sign I propose adding a function for narration. APS is Qp C Value signaling It is used to integrate the plans.
[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 an identifier of the APS that is referenced by other syntax elements. Provides (firer)
[0288] Also, for example, the syntax element aps_params_type is shown in the table above. As shown in 10, this indicates the types of APS parameters included in APS.
[0289] Also, for example, the syntax element aps_extension_flag is A PS RBSP syntax structure aps_extension_data_flag Indicates whether a syntax element exists or not. For example, a syntax element with a value of 1. The comment aps_extension_flag is in the APS RBSP syntax structure. The aps_extension_data_flag syntax element exists. The syntax element aps_extension_flag indicates that the value is 0. The APS RBSP syntax structure uses aps_extension_data_fl Indicates that the ag syntax element does not exist.
[0290] Also, for example, syntax element aps_extension_data_fl ag can have any value. The existence of the aforementioned aps_extension_data_flag. (Presence) and value are explicitly defined in this version of the standard. This may not affect decoder compatibility for the profile. For example, this standard Decoders that follow the version of the format will use all syntax elements aps_exte The nsion_data_flag can be ignored.
[0291] Qp disclosed in Table 24 above C _data() is signaled as shown in the following table. ru.
[0292] [Table 25]
[0293] For example, the syntax element qPi_min_idx is used for chromatic quantization. This indicates the smallest qPi index. The value of qPi_min_idx is in the range of 0 to 63. It is possible.
[0294] Also, for example, the syntax element qPi_delta_max_idx is Qp i_min_idx and ChromaQp C The delta between the maximum qPi indices used in the derivation. This shows the value (delta value). The value of qPiMaxIdx is qPi_min_id Greater than or equal to x. Also, for example, the value of qPi_delta_max_idx is 0. It can be within the range of ishi63. For example, Qp C The maximum index used in the derivation is qPiMa xIdx is derived as shown in equation 4 above.
[0295] Also, for example, syntax element Qp C _qPi_delta_val[i] is Qp for the i-th index C This indicates the difference in values. It may also be called a delta.
[0296] Also, for example, syntax element Qp C Offset C _present_fla g sets the bitstream to QpOffset C This indicates whether or not a value exists. For example, Q 1. p C Offset C _present_flag is a bitstream with QpOffset C This shows that it exists. Also, for example, Qp of 0 C Offset C _present_fl ag indicates that QpOffset does not exist in the bitstream. C This indicates the absence of Qp C Offs et C If the _present_flag of QpOffset does not exist, then Qp C Offset C _prese nt_flag is regarded as 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 for qPi
[0298] Idx[qPi] is derived as follows. Here C where qPi can range from 0 to 63. When -qPi < qPi_min_Idx, Qp
[0299] Idx[qPi] is set to the same value as qPi. C When -qPi = qPi_min_idx ··· qPiMaxIdx, Qp Idx[qPi] is set to Qp [[ID=Forty-one]]
[0300] _qPi_delta_val[qPi] + Qp C Id x[qPi - C 1]. C When -qPi > qPiMaxIdx, if the Qp Offset
[0301] _present_flag is 1, then Qp C Offset C _present_f lag is 1, and Qp C Idx[qPi] is set to qPi - QpOffset C and Qp C Offset CIf _present_flag is not 1, that is, Qp C Off set C If _present_flag is 0, Qp C Idx[qPi] is qPi-( qPiMaxIdx-Qp C It is set to Idx[qPiMaxIdx]).
[0302] After that, Qp C The value of Qp C Idx[qPi] is derived from this.
[0303] Furthermore, this embodiment proposes a flag that is signaled by PPS as shown in the following table.
[0304] [Table 26]
[0305] For example, syntax element Qp C _data_default_flag is the amount User-defined mode for deriving child parameters Indicates whether ) is used or not. For example, Qp 0 C _data_default_fla g indicates that a user-defined mode is used to derive the quantization parameters. For example, Qp 1 C _data_default_flag sets the quantization parameters This indicates that the default table mentioned above is used for the derivation. The table is as shown in Table 7 above. Qp C _data_default_flag exists If not present, Qp C _data_default_flag is assumed to be 1.
[0306] Furthermore, this embodiment is a syntax signaled by the slice header as shown in the following table. I propose a S-element.
[0307] [Table 27]
[0308] For example, the syntax element slice_Qp C _aps_id is used for slices. Illuminating Qp C Shows the APS adaptation_parameter_set_id. slice_Qp C adaptation_parameters like _aps_id Qp with er_set_id C The TemporalId of the APS NAL unit is , less than or equal to the TemporalId of the coded slice NAL unit i. Multiple adaptation_parameter_set_id with the same value Qp C If an APS is referenced by two or more slices of the same picture, then 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 parameters according to this embodiment can be described in standard form as follows: This can be shown in the following table.
[0310] [Table 28] JPEG0007853489000045.jpg154160JPEG0007853489000046.jpg180159JPEG0007853489000047.jpg140158JPEG0007853489000048.jpg100158
[0311] Referring to Table 28 mentioned above, ChromaArrayType is 1, and Qp C _d If ata_default_flag indicates negation (FALSE) (i.e., for example) Qp C If _data_default_flag is 0, then the variable qP Cb , qP Cr and qP CbCr This is a user-defined signal that is signaled as proposed in this embodiment. It is derived based on the information. Also, for example, if ChromaArrayType is 1 Qp C If _data_default_flag indicates affirmation (TRUE) For example, Qp C If _data_default_flag is 1, then the variable qP C b , qP Cr and qP CbCr These are qPi Cb , qPi Cr and qPi CbCr The same index It can be derived from the default table based on qPi.
[0312] Furthermore, this document describes another embodiment for signaling information regarding quantization parameters. suggest.
[0313] For example, in this embodiment, the user-defined induction of chromatic quantization in SPS is as follows: It is proposed to signal in the manner shown above. For example, this embodiment is a user-defined chroma quantity Childhood (Qp C ) proposes. For example, the SPS flag is default for chromatic quantization derivation. Use a chromatic table or the contents of the table for chromatic quantization derivation in SPS It can be shown how to derive it 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 performing chromatic quantization as a function of qPi.
[0315] [Table 29]
[0316] For example, the syntax element qPi_min_idx is used for chromatic quantization. This indicates the minimum qPi index. The value of qPi_min_idx is in the range of 0 to 63. could be.
[0317] Also, for example, the syntax element qPi_delta_max_idx is Qp i_min_idx and ChromaQp C The delta between the maximum qPi indices used in the derivation. This shows the value (delta value). 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 of 0 to 63. It is possible. 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, 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 the same 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] Then, 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 follows
[0325]
Table 30
[0326] For example, syntax element Qp C _data_default_flag is the amount Indicates whether a user-defined mode is used to derive the child parameters. For example, 0 Qp C _data_default_flag is used for the derivation of quantization parameters. - Indicates that the defined mode is used. Also, for example, Qp 1 C _data_def ault_flag uses a default table for deriving quantization parameters. This indicates that the default table is as shown in Table 7 above. Also, Qp C _d If ata_default_flag does not exist, the above Qp C _data_defa ult_flag is considered to be 1.
[0327] For example, the process of deriving the quantization parameters according to this embodiment can be described in standard form as follows: The results are as shown in the following table.
[0328] [Table 31] JPEG0007853489000052.jpg155157JPEG0007853489000053.jpg178157JPEG0007853489000054.jpg140159JPEG0007853489000055.jpg101156
[0329] Referring to Table 31 mentioned above, ChromaArrayType is 1, and Qp C _d If ata_default_flag indicates negation (FALSE) (i.e., for example) Qp C If _data_default_flag is 0, then the variable qP Cb , qP Cr and qP CbCr This is a user-defined signal that is signaled as proposed in this embodiment. It can be derived based on meaningful information. Also, for example, ChromaArrayTy pe is 1, Qp C _data_default_flag indicates affirmation (TRUE) In the case of (i.e., Qp C When _data_default_flag is 1 (Total), variable qP Cb , qP Cr and qP CbCr These are qPi Cb , qPi Cr , qPi CbCr Same It can be derived from the default table based on an index qPi.
[0330] Furthermore, this document describes another embodiment for signaling information regarding quantization parameters. suggest.
[0331] For example, in this embodiment, the chromatic quantization parameter Qp is a function of the index qPi. C We propose adding a function to signal quantum in PPS. For example, quantum in PPS User-defined table for deriving parameters A method has been proposed to signal syntax elements for le), and this Switches between user-defined and default tables for each picture referencing PPS. We can offer flexibility that can be accommodated.
[0332] User-defined tables signaled in the PPS proposed in this embodiment The syntax elements for (user-defined table) are shown in the following table. It is as follows.
[0333]
Table 32
[0334] For example, the syntax element qPi_min_idx indicates the minimum qPi index used for chroma quantization. The value of qPi_min_idx can be in the range of 0 to 63.
[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 in the above formula (4). 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] When -qPi < qPi_min_Idx, Qp C Idx[qPi] is set to 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- It will be set to 1.
[0340] -If qPi > qPiMaxIdx, then Qp C Idx[qPi] is qPi-(qP iMaxIdx-Qp C It is set to Idx[qPiMaxIdx]).
[0341] Subsequently, the aforementioned Qp C Qp C It will be set to Idx[qPi].
[0342] Furthermore, a default table is used for the chromatic quantization derivation proposed in this embodiment. SPS indicates whether or not information signaled for chromatic quantization derivation is used. The flags are as follows:
[0343] [Table 33]
[0344] For example, syntax element Qp C _data_default_flag is the amount Indicates whether a user-defined mode is used to derive the child parameters. For example, 0 Qp C _data_default_flag is used for the derivation of quantization parameters. - Indicates that the defined mode is used. That is, for example, Qp is 0. C _data_d efault_flag is the chromatic quantization parameter data Qp mentioned above. C _data() This indicates that Qp will be used. C _data_default_flag is 0 In this case, the chromatic quantization parameter data Qp C _data() is signaled This is possible. Also, for example, Qp 1 C _data_default_flag is quantum This indicates that a default table is used to derive the parameters. The table is as shown in Table 7 above. Also, Qp C _data_default_f If lag does not exist, the above Qp C _data_default_flag is considered to be 1 It will be done.
[0345] For example, the process of deriving the quantization parameters according to this embodiment can be described in standard form as follows: The results are as shown in the following table.
[0346] [Table 34] JPEG0007853489000059.jpg156160JPEG0007853489000060.jpg178158JPEG0007853489000061.jpg141160JPEG0007853489000062.jpg102157
[0347] Referring to Table 34 mentioned above, ChromaArrayType is 1, and Qp C _d If ata_default_flag indicates negation (FALSE) (i.e., for example) Qp C If _data_default_flag is 0, then the variable qP Cb , qP Cr and qP CbCr This is a user-defined signal that is signaled as proposed in this embodiment. It can be derived based on meaningful information. Also, for example, ChromaArrayTy pe is 1, Qp C _data_default_flag indicates affirmation (TRUE) In the case of (i.e., Qp C When _data_default_flag is 1 (Total), variable qP Cb , qP Cr and qP CbCr These are qPi Cb , qPi Cr , qPi CbCr Same It can be derived from the default table based on an index qPi.
[0348] Furthermore, this document describes another embodiment for signaling information regarding quantization parameters. suggest.
[0349] For example, in this embodiment, the chromatic quantization parameter Qp C Deriving and signaling I propose a general mode.
[0350] The chromatic 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 chromatic quantization. This indicates the minimum qPi index. The value of qPi_min_idx is in the range of 0 to 63. could be.
[0353] Also, for example, the syntax element qPi_delta_max_idx is the delta between i_min_idx and the maximum qPi index used for Qp C derivation . The value of qPiMaxIdx is greater than or equal to qPi_min_id . 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 described in the above C mathematical formula 4 .
[0354] Also, for example, the syntax element QpC_qPi_delta_val[i] indicates the delta of the Qp value for the i-th index C . C
[0355] For example, the variable Qp C Idx[qPi] can be derived as C follows .
[0356] When -qPi < qPi_min_Idx, Qp C Idx[qPi] is set to be the C same as qPi .
[0357] When -qPi = qPi_min_idx ··· qPiMaxIdx, Qp C Id x[qPi] C is set to Qp C _qPi_delta_val[qPi] + Qp C Idx[qPi - 1] . C C C
[0358] When -qPi > qPiMaxIdx, Qp C Idx[qPi] is set to qPi - (qP iMaxIdx - Qp C Idx[qPiMaxIdx]) . C C
[0359] Subsequently, the aforementioned Qp C Qp C It will be set to Idx[qPi].
[0360] Furthermore, this embodiment uses a default table for chromatic quantization derivation or A flag indicating whether the signaled information is used for chromatic quantization derivation. We propose a method for ringing. The aforementioned flag is SPS(sequence parameter (er set), or PPS (picture parameter set), etc. Signaling via high-level syntax The flags signaled via high-level syntax are as follows: As shown in the table.
[0361] [Table 36]
[0362] For example, syntax element Qp C _data_default_flag is the amount Indicates whether a user-defined mode is used to derive the child parameters. For example, 0 Qp C _data_default_flag is used for the derivation of quantization parameters. - Indicates that the defined mode is used. That is, for example, Qp is 0. C _data_d efault_flag is the chromatic quantization parameter data Qp mentioned above. C _data() This indicates that Qp will be used. C _data_default_flag is 0 In this case, the chromatic quantization parameter data Qp C_data() is signaled This is possible. Also, for example, Qp 1 C _data_default_flag is quantum This indicates that a default table is used to derive the parameters. The chart is as shown in Table 7 above. Also, Qp C _data_default_ If the flag does not exist, the Qp C _data_default_flag is 1 It will be done.
[0363] For example, the process of deriving the quantization parameters according to this embodiment can be described in standard form as follows: The results are as shown in the following table.
[0364] [Table 37] JPEG0007853489000066.jpg151156JPEG0007853489000067.jpg181162JPEG0007853489000068.jpg140161JPEG0007853489000069.jpg100155
[0365] Referring to Table 37 mentioned above, ChromaArrayType is 1, and Qp C _d If ata_default_flag indicates negation (FALSE) (i.e., for example) Qp C If _data_default_flag is 0, then the variable qP Cb , qP Cr and qP CbCr This is a user-defined signal that is signaled as proposed in this embodiment. It is derived based on the meaning information. Also, for example, if ChromaArrayType is 1 Qp CIf _data_default_flag indicates affirmation (TRUE) For example, Qp C (If _data_default_flag is 1), variable q P Cb , qP Cr and qP CbCr These are qPi Cb , qPi Cr and qPi CbCr The same index It can be derived from the default table based on the qPi.
[0366] Furthermore, this document describes another embodiment for signaling information regarding quantization parameters. suggest.
[0367] For example, in this embodiment, the chromatic quantization parameter Qp is used without offset. C Lead the table We propose a solution. This embodiment can be used with APS or independently. It can also be proposed for use in, for example, when integrated with chroma quantization data. 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 chromatic quantization. This indicates the minimum qPi index. The value of qPi_min_idx is in the range of 0 to 63. could be.
[0370] Also, for example, the syntax element qPi_delta_max_idx is Qp i_min_idx and ChromaQp C The delta between the 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-mentioned formula 4 as follows.
[0371] Also, for example, the syntax element QpC_qPi_delta_val[i] indicates the difference in the Qp value for the i-th index. The said difference5] C may 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 be the same as qPi [[ID=]34]as follows.
[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 set to qPi - (qP iMaxIdx - Qp C Idx[qPiMaxIdx]).
[0376] After that, the said Qp C is the said QpC It will be set to Idx[qPi].
[0377] Furthermore, this document describes another embodiment for signaling information regarding quantization parameters. suggest.
[0378] For example, this embodiment uses continuous Qp C A solution in which the delta (or difference) between values is limited to 1. This is presented as an example.
[0379] For example, this embodiment applies user-defined chroma quantization (Qp) to existing image / video standards. C ) We propose a method to add the following: For example, the SPS(seque The flag for nce parameter set is used for chroma quantization parameter derivation. Either use an existing default table or signal the contents of the table in SPS This indicates whether it is derived based on the information obtained. According to this embodiment, the user-defined chroma quantity A suitable scheme can be selected for the image that accepts the childization and is to be coded, and the coding This can improve efficiency.
[0380] For example, this embodiment uses syntax elements as shown in the following table to index Chroma Quantization Qp as a function of qPi C I propose adding a function to signal this.
[0381] [Table 39]
[0382] For example, the syntax element qPi_min_idx is used for chromatic quantization. This indicates the minimum qPi index. The value of qPi_min_idx is in the range of 1 to 63. could be.
[0383] Also, for example, the syntax element qPi_delta_max_idx is Qp i_min_idx and ChromaQp C The delta between the maximum qPi indices used in the derivation. This shows the value (delta value). 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 of 1 to 63. It is possible. 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, syntax element Qp C _qPi_flag[i] is Qp C The value Indicates whether it increases by 1 or not. That is, for example, syntax element Qp C _qPi_ flag[i] is the i-th Qp C The value of the (i-1)th Qp C Whether the value increases by 1 or not. This can be shown. For example, Qp 1 C _qPi_flag[i] is Qp C The value increases by 1. This indicates that Qp is 0 C _qPi_flag[i] is Qp C This indicates that the value has not increased. .
[0385] For example, the variable Qp C Idx[qPi] can be derived as follows. The aforementioned qPi can range from 0 to 63.
[0386] - When -qPi < qPi_min_Idx, Qp C Idx[qPi] is set the same as qPi to one.
[0387] - When -qPi = qPi_min_idx ··· qPiMaxIdx, Qp C Id x[qPi] is Qp C _qPi_flag[qPi] + Qp C set to Idx[qPi - 1] is set.
[0388] - When -qPi > qPiMaxIdx, Qp C Idx[qPi] is qPi - (qP iMaxIdx - Qp C set to Idx[qPiMaxIdx]).
[0389] After that, the said Qp C is set to the said Qp C Idx[qPi].
[0390] In addition, this embodiment proposes a scheme of 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.
[0391]
Table 40
[0392] For example, syntax element Qp C _data_default_flag is the amount Indicates whether a user-defined mode is used to derive the child parameters. For example, 0 Qp C _data_default_flag is used for the derivation of quantization parameters. - Indicates that the defined mode is used. That is, for example, Qp is 0. C _data_d efault_flag is the chromatic quantization parameter data Qp mentioned above. C _data() This indicates that Qp will be used. C _data_default_flag is 0 In this case, the chromatic quantization parameter data Qp C _data() is signaled This is possible. Also, for example, Qp 1 C _data_default_flag is quantum This indicates that a default table is used to derive the parameters. The table is as shown in Table 7 above. Also, Qp C _data_default_f If lag does not exist, the above Qp C _data_default_flag is considered to be 1 It will be done.
[0393] For example, the process of deriving the quantization parameters according to this embodiment can be described in standard form as follows: The results are as shown in the following table.
[0394] [Table 41] JPEG0007853489000074.jpg155159JPEG0007853489000075.jpg178159JPEG0007853489000076.jpg140160JPEG0007853489000077.jpg104159
[0395] Referring to Table 41 mentioned above, ChromaArrayType is 1, and Qp C _d If ata_default_flag indicates negation (FALSE) (i.e., for example) Qp C (If _data_default_flag is 0), qP Cb , variable qP Cr and qP CbCr This is a user-defined signal that is signaled as proposed in this embodiment. It can be derived based on meaningful information. Also, for example, ChromaArrayTy pe is 1, Qp C _data_default_flag indicates affirmation (TRUE) In the case of (i.e., Qp C When _data_default_flag is 1 (Total), variable qP Cb , qP Cr and qP CbCr These are qPi Cb , qPi Cr , qPi CbCr Same It can be derived from the default table based on an index qPi.
[0396] Figure 10 schematically illustrates the image encoding method used by the encoding device described in this document. The method disclosed in Figure 10 is performed by the encoding device disclosed in Figure 2. Yes, it is possible. Specifically, for example, S1000 to S1010 in Figure 10 are the encoding device. This can be done by the entropy encoding unit of . Also, although not shown Based on the residual sample and predicted sample, a reconstructed sample and reconstructed picture are generated. This process can be performed by the addition unit of the encoding device.
[0397] The encoding device encodes the image information (S1000). For example, the encoding device The placement is based on the chroma type of the current chroma block, and combine d) It is possible to generate quantization parameter data for chromat coding, and the This indicates whether or not the quantization parameter data for the chromatic coding exists. The flag can be generated, and the quantization parameter data and the flag include the It can encode image information.
[0398] Specifically, for example, the encoding device, based on the prediction mode, the current chroma block A prediction sample of K can be derived. In this case, it is either an interpretation or an intrapretation, etc. The various prediction methods disclosed in this document can be applied.
[0399] For example, the encoding device currently performs interpretation on the chroma block, or It is possible to decide whether or not to perform an inter-prediction, and to specify an inter-prediction mode or The specific intra-prediction mode can be determined using the RD cost base. The encoding device then derives a predicted sample for the current chroma block. It is possible.
[0400] Furthermore, for example, the encoding device uses the original sample and previous chroma block for the current chroma block. The residual sample can be derived by subtracting the predicted sample.
[0401] Furthermore, for example, the encoding device, based on the chroma type, the residual sample It is possible to generate quantization parameter data for combined chromatic coding of the system. Here, the aforementioned chroma type refers to the ChromaArrayType mentioned above. For example, if the chroma type value is not 0, the encoding device can Quantization parameter data for combined chromatcoding It can be generated. For example, if the chroma type value is 1, the decoding device Quantization parameter data for combined chromatcoding This can generate the following. Here, if the value of the chroma type is 0, the chroma The format may be Monochrome, and the aforementioned chroma If the value of P is 1, the chroma type may be in 4:2:0 format, and the C If the chromatype value is 2, the chromatype can be in a 4:2:2 format. If the chroma type value is 3, the chroma type is in a 4:4:4 format. It is possible. Also, the combined chroma coding is chroma This is sometimes called joint coding of components. The chromatic components may include a Cb component and / or a Cr component.
[0402] Furthermore, for example, the encoding device may, based on the chroma type (for example, the chroma type If the value of p is not 0, then for the chromatic component, the residual sample , to decide whether or not to perform combined chromacoding. This allows for combined chromatography of the aforementioned residual sample. When performing the drawing, the combined residual samples It is possible to generate quantization parameter data for chromatcoding. For example, The aforementioned quantization parameter data is high-level syntax (high level sy It can be signaled via ntax. For example, the quantization parameter Data includes SPS (sequence parameter set) and PPS (pict). (Usage parameter set), slice header or via APS (adaptation parameter set), etc. It can be ringed.
[0403] For example, the quantization parameter data is for the combined chromatcoding. Syntax element (s) indicating the starting index of the chromatic quantization parameter table (Syntax element) and / or the opening of the chromatic quantization parameter table It can include a syntax element that shows the difference between the start index and the end index. The syntax element indicating the starting index is the aforementioned qPi_m It can be in_idx. Also, the difference between the starting index and the last index is The syntax element shown above may be qPi_delta_max_idx. Furthermore, the chromatic quantization parameter table is a chromatic quantization parameter mapping table. Table (chroma quantization parameter mapping) g table) or user-defined quantization parameter mapping table (user de refined quantization parameter mapping tab It is sometimes called the `le` index. Furthermore, the aforementioned starting index is called the minimum index. Furthermore, for example, the syntax element indicating the starting index The syntax and / or the difference between the starting index and the last index The 'ks' element is high-level syntax. Signaling can be performed via the starting index. The tax element and / or the difference between the start index and the end index. The aforementioned syntax element is SPS (sequence parameter s et), PPS (picture parameter set), slice header (s (lice header), or APS (adaptation parameter) Signaling can be done via sets, etc.
[0404] Furthermore, for example, the quantization parameter data is the chroma quantization parameter table. The syntax element can include the quantization parameter value of the index. That is, for example, the quantization parameter data is the chromatic quantization parameter data. This includes syntax elements for the quantization parameter values of each index of the table. This is possible. The syntax element for the quantization parameter value of the index is , the aforementioned Qp C It could be _qPi_val[i]. Also, for example, the index The syntax element for the quantization parameter value is the high-level syntax (h It can be signaled via (igh level syntax). For example 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 (a Signaling is done via (daptation parameter set), etc. It is possible.
[0405] Furthermore, for example, the quantization parameter data is used in the combined chromatcoding. Syntax showing the offset for deriving the corresponding quantization parameter. It may include elements. The syntax element indicating the offset is as described above. QpOffset C It is possible. Furthermore, for example, syntax indicating the offset The element is transmitted via high-level syntax. It can be signaled in this way. For example, the syntax element indicating the offset The comments are SPS (sequence parameter set) and PPS (pic (true parameter set), slice header ), or via APS (adaptation parameter set), etc. It can be named.
[0406] On the other hand, for example, the encoding device, based on the quantization parameter data, The quantization parameters for bine chromat coding can be derived. The quantization parameter for binchromat coding is the aforementioned QP'. CbCr This indicates It is possible.
[0407] For example, as described above, the chromatic quantumization parameter table is the chromatic quantum The syntax element indicating the starting index of the parameter table, the chrome The difference between the start index and the end index of the quantization parameter table is shown. The intax element and / or the index of the chromatic quantization parameter table It can be derived based on the syntax elements for the quantization parameter values. That is, for example, based on the quantization parameter data, the combine chromatograph A chromatic quantization parameter table for the chromatic component can be derived. Then, for the chromatic component... Based on the corresponding quantization parameters, the index for the combined chromatic coding The index can be derived, and the quantity of the index in the chromatic quantization parameter table. Based on the sub-parameters, the quantization parameters for the combined chromatic coding The meter can be derived. That is, for example, the chromatic quantization parameter table can be used to derive the chromatic quantization parameter. Based on the quantization parameters for the same index as the quantization parameters for minutes, Quantization parameters for combined chromatic coding can be derived.
[0408] For example, the quantization parameter for the index in the chromatic quantization parameter table Meter (for example, QP CbCr Add an offset to the above combined chromacoding. The quantization parameter for (e.g., QP') CbCr The following can be derived: The offset is , offset for deriving quantization parameters for the combined chromatic coding It can be derived based on the syntax element that indicates offset.
[0409] Furthermore, for example, the encoding device, based on the chroma type, the combined chroma A flag is generated to indicate whether or not the quantization parameter data for the coding exists. This can be achieved. For example, if the chroma type value is not 0, the encoding device This is the quantization parameter date for combined chromatcoding. A flag can be generated to indicate whether or not a chroma exists. For example, the chroma type If the value is 1, the encoding device is a combined chromacoder. It is possible to generate a flag indicating whether or not quantization parameter data exists for the ng. For example, the syntax element for the aforementioned flag is the aforementioned Qp C _dat It could be a_present_flag.
[0410] For example, if the value of the flag is 0, the flag is the combine chromcode. It can be shown that the quantization parameter data for the f does not exist, and the f If the value of the lag is 1, the flag is set prior to the combined chromacoding. It can be shown that quantized parameter data exists.
[0411] Furthermore, for example, the aforementioned flag is a high-level syntax (high level sy It can be signaled via ntax. For example, the flag can be SPS( sequence parameter set), PPS(picture para meter set), slice header, or APS (a Signaling is done via (daptation parameter set), etc. It is possible.
[0412] Furthermore, for example, the encoding device, the prediction information for the current chroma block, and the residency Image information including dual information, the quantization parameter data and / or the flag is encoded The encoding device can encode the image information. The image information includes prediction information, residual information, and the current chroma block. This may include quantization parameter data and / or the aforementioned flags.
[0413] For example, the encoding device generates and encodes predictive information for the current block. This is possible. The prediction information indicates the prediction mode information of the current block. The information may include reports. The image information may include the prediction information.
[0414] Furthermore, for example, the encoding device provides residual information for the residual sample. The information can be encoded. For example, the encoding device can encode the residual sample Based on the ratio, the conversion coefficient can be derived, and based on the conversion coefficient, the resistance Information can be generated. The image information may include the residual information. For example, the residual information is currently syntax for the conversion coefficient of the chroma block. It may include syntax elements. For example, the syntax element may be code d_sub_block_flag, sig_coeff_flag, coeff_si gn_flag, abs_level_gt1_flag, par_level_fla g, abs_level_gtX_flag, abs_remainder and / or c Syntax elements such as oeff_sign_flag It can include nts.
[0415] Furthermore, for example, the encoding device includes the quantization parameter data and the flags. It can encode image information.
[0416] The encoding device generates a bitstream containing the image information (S1010). For example, the encoding device includes predictive information, residual information, and the quantization parameter data. The output can be a bitstream containing image information including the aforementioned flag. The bitstream includes prediction information, residual information, quantization parameter data, and It may include the flag mentioned above.
[0417] On the other hand, the bitstream is decoded via a network or (digital) storage medium. It can be transmitted to a device. Here, the network is a broadcast network and / or a communications network. This can include, and the digital storage media are USB, SD, CD, DVD, Blu-ray, It can include various storage media such as HDDs and SSDs.
[0418] Furthermore, for example, an encoding device encodes image information into a bitstream format. It can be output as follows.
[0419] On the other hand, the bitstream containing the image information is stored on a network or (digitally) stored. It can be transmitted to a decoding device via a medium. Here, the network is a broadcast network. and / or communication networks, and digital storage media include USB, SD, CD, D It can include various storage media such as DVDs, Blu-rays, HDDs, and SSDs.
[0420] Figure 11 schematically shows an encoding device that performs the image encoding method described in this document. The method disclosed in Figure 10 is performed using the encoding device disclosed in Figure 11. It can be executed. Specifically, for example, the entropy of the encoding device in Figure 11 The encoding unit can execute S1000 to S1010. Furthermore, as shown... However, based on the aforementioned residual sample and predicted sample, the reconstructed sample and reconstructed pitch The process of generating kucha can be performed by the addition unit of the encoding device. .
[0421] Figure 12 schematically illustrates the image decoding method using the decoding device described in this document. Figure 12 The method disclosed herein is performed by the decoding device disclosed in Figure 3. Yes, it is possible. Specifically, for example, S1200 in Figure 12 is the entropy decoder of the decoding device. This is performed by the decoding unit, and S1210 in Figure 12 is performed by the residual processing unit of the decoding device. It will be continued.
[0422] The decoding device acquires image information (S1200). The decoding device then processes the bitstream. Image information can be obtained via the system.
[0423] For example, the image information may include information regarding chroma quantization parameters. For example, the image information is used for combined chromacoding. It can include a flag indicating whether or not quantization parameter data exists. For example, The coding device combines chromacoders based on chromatype. It is possible to obtain a flag indicating whether or not quantization parameter data exists for the ng. Here, the aforementioned chroma type refers to the ChromaArrayType mentioned above. For example, if the chroma type value is not 0, the decoder can Quantization parameter data for combined chromatcoding exists A flag indicating whether or not it exists can be obtained. For example, if the value of the chroma type is 1 In that case, the decoding device is for combined chromacoding. A flag can be obtained indicating whether or not quantization parameter data exists. In this case, if the value of the chroma type is 0, the chroma type is Monochrom It may be in e format, and if the value of the chroma type is 1, The chroma type can be in 4:2:0 format, and if the value of the chroma type is 2 In addition, the chroma type may be in a 4:2:2 format, and the value of the chroma type is 3 In that case, the chroma type may be in a 4:4:4 format. Also, the con Vine (combined) chromacoding is a joint code (j) of chroma components. It is sometimes called oint coding. The aforementioned chroma component is the Cb component and / or It may include a Cr component. For example, the syntax element for the flag is , the aforementioned Qp CIt could be _data_present_flag.
[0424] For example, if the value of the flag is 0, the flag is the combine chromcode. It can be shown that the quantization parameter data for the f does not exist, and the f If the value of the lag is 1, the flag is set prior to the combined chromacoding. It can be shown that quantized parameter data exists.
[0425] Furthermore, for example, the aforementioned flag is a high-level syntax (high level sy It can be signaled via ntax. For example, the flag can be SPS( sequence parameter set), PPS(picture para meter set), slice header, or APS (a Signaling is done via (daptation parameter set), etc. It is possible.
[0426] Furthermore, for example, if the value of the flag is 1, the image information is the combined cross This may include the quantization parameter data for the coding. For example, For example, the decoding device, based on the flag, performs the combined chromacoding. The quantization parameter data can be obtained. For example, the decoding device can obtain the quantization parameter data. The existence of the quantization parameter data for the combined chromatic coding. Based on the flag indicated, the quantization parameter for the combined chromatic coding Meter data can be obtained. That is, for example, when the value of the flag is 1 In addition, the decoding device has the quantization parameters for the combined chromatic coding. Data can be obtained. Also, for example, the quantization parameter data is Hi-Re Signaling is done via high-level syntax. This is possible. For example, the quantization parameter data is SPS(sequence p (parameter set), PPS (picture parameter set) , slice header, or APS (adaptation Signaling can be performed via parameter sets, etc.
[0427] For example, the quantization parameter data is for the combined chromatcoding. Syntax element (s) indicating the starting index of the chromatic quantization parameter table (Syntax element) and / or the opening of the chromatic quantization parameter table It can include a syntax element that shows the difference between the start index and the end index. The syntax element indicating the starting index is the aforementioned qPi_m It can be in_idx. Also, the difference between the starting index and the last index is The syntax element shown above may be qPi_delta_max_idx. Furthermore, the chromatic quantization parameter table is a chromatic quantization parameter mapping table. Chroma quantization parameter mapping table) or user-defined quantization parameter mapping table (user def ined quantization parameter mapping tabl It is sometimes called e). Also, the aforementioned starting index is called the minimum index. In addition, for example, the syntax element indicating the starting index The syntax that shows the difference between the starting index and the last index The element is transmitted via high-level syntax. It can be signaled by the syntax indicating the starting index. The difference between the x element and / or the start index and the end index. The aforementioned syntax element is SPS (sequence parameter se t), PPS (picture parameter set), slice header (sl ice header), or APS (adaptation parameter s Signaling can be performed via et al., etc.
[0428] Furthermore, for example, the quantization parameter data is the chroma quantization parameter table. The syntax element can include the quantization parameter value of the index. That is, for example, the quantization parameter data is the chromatic quantization parameter data. This includes syntax elements for the quantization parameter values of each index of the table. This is possible. The syntax element for the quantization parameter value of the index is , the aforementioned Qp C It could be _qPi_val[i]. Also, for example, the index The syntax element for the quantization parameter value is the high-level syntax (h It can be signaled via (igh level syntax). For example 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 (a Signaling is done via (daptation parameter set), etc. It is possible.
[0429] Furthermore, for example, the quantization parameter data is used in the combined chromatcoding. Syntax showing the offset for deriving the corresponding quantization parameter. It may include elements. The syntax element indicating the offset is as described above. QpOffset C It is possible. Furthermore, for example, syntax indicating the offset The element is transmitted via high-level syntax. This can be signaled. For example, the syntax indicating the offset Rement is SPS (sequence parameter set), PPS (pi (cut parameter set), slice header r), or via APS (adaptation parameter set), etc. It can be gunned.
[0430] On the other hand, for example, the image information is prediction information for the current chroma block and / or It may include residual information. For example, the image information may be related to the current block. This may include prediction information, and the prediction information may include the prediction mode information. The prediction mode information is determined by whether an intraprediction is applied to the current block, or intra It can indicate whether or not the prediction is applicable. Also, for example, the residual information It can now include syntax elements for the conversion coefficients of chroma blocks. For example, the syntax element is 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, etc. It can contain syntax elements.
[0431] The decoding device generates a restored picture based on the image information (S1210).
[0432] For example, the decoding device determines the current chroma block conversion coefficient based on the image information. Based on the quantization parameter data, the chromatic quantization parameters can be derived. Table (chroma quantization parameter table) ) can be derived, and based on the chromatic quantization parameter table, the current The quantization parameters for the Roma block can be derived, and the quantization parameters Based on this, the transformation coefficient can be inversely quantized to derive a residual sample, and Based on the recorded residual sample, the restored picture can be generated.
[0433] For example, the decoding device, based on the residual information contained in the image information, Currently, the conversion coefficients of the chromablock can be derived. The residual information is the The conversion coefficients may include coefficient level information and sign flag information.
[0434] For example, the absolute level of the conversion coefficient is the aforementioned residual The coefficient level information included in the data can be used to derive the value indicated by the conversion coefficient, and the sign (s The sign flag can be derived from the code indicated by the sign flag information.
[0435] Furthermore, for example, the decoding device uses the quantization parameter data to determine the chromatic quantum Chroma Quantization Parameter Table The table can be derived.
[0436] For example, as mentioned above, the chromatic quantization parameter table is the combined The starting index of the chromatic quantization parameter table for romacoding is shown. The syntax element, the start index of the chromatic quantization parameter table Syntax element and / or chromatic quantization showing the difference between the last index and the last index Syntax elements for quantized parameter values of the parameter table index It can be derived based on the quantization parameter data. That is, for example, the quantization parameter data Based on the above, the chromatic quantization parameter table for combined chromat coding The formula can be derived.
[0437] Subsequently, the decoding device, based on the chroma quantization parameter table, The quantization parameters for bine chromat coding can be derived. The quantization parameter for binchromat coding is the aforementioned QP'. CbCr This indicates It is possible.
[0438] For example, based on the quantization parameters for the luma component, the current chromatic block is... An index can be derived, and the index of the chromatic quantization parameter table Based on the quantization parameters for the current chromatic block, The meter can be derived. That is, for example, the chromatic quantization parameter table can be used to derive the chromatic quantization parameter. Based on the quantization parameters for the same index as the quantization parameters for minutes, Quantization parameters for combined chromatic coding can be derived.
[0439] Furthermore, for example, the quantum for the index in the chromatic quantization parameter table Modification parameters (e.g., QP) CbCr Adding an offset to the above, the combine chromacode The quantization parameter for the ing (e.g., QP') CbCr ) can be derived. The offset The set is for the derivation of quantization parameters for the combined chromatic coding. It can be derived based on the syntax element that indicates the offset. Cut.
[0440] Furthermore, for example, the decoding device, based on the quantization parameters, determines the residual A sample can be derived. For example, the decoding device can derive a sample based on the quantization parameter. Then, by inverse quantization of the conversion coefficient, the residual sample can be derived. Alternatively, for example, the decoding device inversely transforms the conversion coefficient and the inversely transformed conversion coefficient It can be derived, and based on the quantization parameter, the inversely transformed transformation coefficient can be inversely transformed. The residual sample can be derived by quantization.
[0441] Furthermore, for example, the decoding device, based on the residual sample, the restored pic A chat can be generated. For example, a decoding device can receive via a bitstream. Based on the predicted information, the interprediction mode or intra for the current block The prediction mode can be executed to derive the predicted sample, and the predicted sample and the The reconstructed sample can be generated by adding the dual samples.
[0442] Afterward, deblocking fill is used to improve subjective / objective image quality as needed. In-loop filtering procedures such as taring, SAO, and / or ALF procedures are described above. As mentioned above, this can be applied to reconstructed samples.
[0443] Figure 13 schematically shows a decoding device that performs the image decoding method described in this document. Figure 12 The method disclosed herein is performed by the decoding device disclosed in Figure 13. Specifically, for example, the entropy decoding unit of the decoding device in Figure 13 is S1 in Figure 12. Performing step 200, the residual processing unit of the decoding device in Figure 13 performs step S1210 in Figure 12. It is possible to do so.
[0444] According to the aforementioned document, quantization for deriving quantization parameters for chromatic components Based on a flag indicating whether parameter data can be transmitted, for the derivation of quantization parameters The chromatic quantization parameter table can be determined, and the quantization parameters can be determined based on the characteristics of the image. By performing coding based on data, coding efficiency can be improved.
[0445] Furthermore, according to this document, based on the signaled chroma quantization data, chroma The chromatic quantization parameter table for each minute can be determined, and the quantity depends on the image characteristics. Implementing coding based on childization parameters improves coding efficiency. can.
[0446] In the embodiments described above, the method is explained based on a flowchart in a series of steps or blocks. As stated, this document is not limited to the order of steps, and some steps may be These steps may occur in a different order or simultaneously than those described above. If you are a person, the steps shown in the flowchart are not mutually exclusive and may include other steps, One or more steps in the flowchart can be deleted without affecting the scope of this document. They can understand that.
[0447] The embodiments described in this document include processors, microprocessors, and controllers. or can be implemented and executed on a chip. For example, as shown in each drawing The functional unit includes a computer, processor, microprocessor, controller, and Alternatively, it can be implemented and executed on a chip. In this case, the information for implementation (for example) If the information on instructions or algorithm It can be stored on a digital storage medium.
[0448] Furthermore, the decoding and encoding devices to which the embodiments described in this document apply are multimedia Broadcasting transmission and reception equipment, mobile communication terminals, home cinema video equipment, digital cinema video equipment Real-time communication devices such as video communication equipment, surveillance cameras, video dialogue devices, and video communication devices. Mobile streaming devices, storage media, camcorders, and subscription video (VoD) service providers. Devices, OTT video (Over the top video) devices, Internet Streaming service provider equipment, 3D video equipment, image phone video equipment, operation Transmission terminals (e.g., vehicle terminals, airplane terminals, ship terminals, etc.), and medical video equipment, etc. It can be included and used to process video signals or data signals. Yes, it is possible. For example, as an OTT (Over the Top Video) device, Game consoles, Blu-ray players, internet-connected TVs, home theater systems System, smartphone, tablet PC, DVR (Digital Video Recorder) It can be equipped with features such as (order).
[0449] Furthermore, the processing method to which the embodiments described in this document apply is a program executed on a computer. It can be produced in a medium form and stored on a computer-readable recording medium. It is possible. Multimedia data having the data structure related to this document can also be processed by a computer. It can be stored on a readable recording medium. The computer can read it Recording media are all types of storage media that store data that can be read by a computer. The device includes a device and a distributed storage device. The recording medium that the computer can read is, for example, Blu-ray Disc (BD), General Purpose Serial Bus (USB), ROM, PROM, EPROM EEPROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical It may include a data storage device, and a recording medium that can be read by the computer. This includes media implemented in the form of a carrier wave (e.g., transmission over the Internet). Also, the bitstream generated by the encoding method can be read by a computer. It can be stored on a recording medium or transmitted via a wired or wireless network. .
[0450] Furthermore, the embodiments described in this document are implemented in computer program products using program code. The program code can be expressed, and according to the embodiments of this document, the program code can be used on a computer. It can be executed. The program code is readable by a computer. It can be stored on a carrier.
[0451] Figure 14 shows a diagram of the content streaming system structure to which the embodiments described in this document apply. To illustrate.
[0452] The content streaming systems to which the embodiments described herein apply can be broadly classified into: Code servers, streaming servers, web servers, media storage facilities, user equipment, and It may also include multimedia input devices.
[0453] The encoding server is a multimedia server that can handle smartphones, cameras, camcorders, and other devices. Content input from a digital input device is compressed into digital data and then streamed as a bitstream. Its role is to generate and send it to the aforementioned streaming server. Another example is... Multimedia input devices such as phones, cameras, and camcorders are bitstreaming When generating the file directly, the encoding server can be omitted.
[0454] The bitstream is an encoding method or bitstream to which the embodiments of this document apply. It can be generated by the stream generation method, and the streaming server is the B The bitstream is temporarily stored during the process of transmitting or receiving the bitstream. It is possible.
[0455] The aforementioned streaming server, based on user requests via the web server, performs multimedia The web server sends data to the user device and determines what services the user can use. It acts as an intermediary to inform the user of the availability of a service. The user requests the desired service from the aforementioned web server. The web server then transmits this to the streaming server, and the streaming The server sends multimedia data to the user. At this time, the content server The reaming system may include another control server, in which case the control server is , plays a role in controlling the command / response between each device within the content streaming system. .
[0456] The aforementioned streaming server receives data from the media storage and / or encoding server. It can receive content. For example, it can receive content from the encoding server. If this becomes possible, the aforementioned content can be received in real time. In this case, In order to provide a smooth streaming service, the streaming server uses the The stream can be stored for a certain period of time.
[0457] Examples of the user device include mobile phones, smartphones, and laptop computer, digital broadcasting terminal, P DA (personal digital assistants), PMP (port (able multimedia player), navigation, slate PC (s late PC, tablet PC, ultrabook abook), wearable device (for example, walking Smartwatch, smart glass, HM D (head-mounted display), digital TV, desktop computer These include computers, digital signage, etc. The server can be operated as a distributed server, in which case the data received by each server It can be processed in a distributed manner.
[0458] The claims described herein can be combined in various ways. For example, The technical features of the detailed method claims can also be combined and realized as an apparatus. The technical features of the apparatus claims in the specification can also be combined and implemented as a method. Furthermore, the technical features of the method claims and the apparatus claims of this specification can be combined. It can also be realized as an apparatus, and the technical features of the method claims and apparatus claims of this specification Technical features can also be combined and implemented as a method.
Claims
1. A device for decoding image information, Memory and The system comprises at least one processor connected to the memory, and the at least one processor is Acquire image information, Based on the aforementioned image information, quantization parameters for joint chromat coding are derived. Based on the quantization parameters for the joint chromatcoding, a residual sample is derived. It is configured to generate a reconstructed image based on the said residual sample, The aforementioned at least one processor is Based on the chromatic array type, obtain a flag indicating whether or not quantization parameter data for joint chromat coding exists. Based on the aforementioned flag, the system is configured to obtain quantization parameter data for the joint chromat coding. The quantization parameter data includes a syntax element of the starting quantization parameter in the chroma quantization parameter mapping table, and a syntax element of the number of quantization parameters in the chroma quantization parameter mapping table. The chromatic quantization parameter mapping table is derived based on the quantization parameter data, The quantization parameters for the joint chromatic coding are derived based on the chromatic quantization parameter mapping table, A flag indicating whether or not quantization parameter data for the joint chroma coding exists is included in the SPS (Sequence Parameter Set) of the image information, in the device.
2. A device for encoding images, Memory and The system comprises at least one processor connected to the memory, and the at least one processor is Residual samples are derived based on quantization parameters for joint chromatcoding. The image information, including quantization parameter data for the joint chroma coding, is encoded. It is configured to generate a bitstream containing the aforementioned image information, The aforementioned at least one processor is Based on the chromatic array type, quantization parameter data for the joint chromatcoding is generated. A flag is generated indicating whether or not the quantization parameter data for the joint chromat coding exists. It is configured to encode the image information including the quantization parameter data and the flag, The quantization parameter data includes a syntax element of the starting quantization parameter in the chroma quantization parameter mapping table, and a syntax element of the number of quantization parameters in the chroma quantization parameter mapping table. The chromatic quantization parameter mapping table is derived based on the quantization parameter data, The quantization parameters for the joint chromatic coding are derived based on the chromatic quantization parameter mapping table, A flag indicating whether or not quantization parameter data for the joint chroma coding exists is included in the SPS (Sequence Parameter Set) of the image information, in the device.
3. A device for transmitting image information, wherein the device is At least one processor configured to acquire a bitstream of image information, wherein the bitstream is generated based on: deriving residual samples based on quantization parameters for joint chroma coding; encoding image information including quantization parameter data for joint chroma coding; and generating the bitstream including the image information. A transmitter configured to transmit data including the bitstream, The aforementioned at least one processor is Based on the chromatic array type, quantization parameter data for the joint chromatcoding is generated. A flag is generated indicating whether or not the quantization parameter data for the joint chromat coding exists. It is configured to encode the image information including the quantization parameter data and the flag, The quantization parameter data includes a syntax element of the starting quantization parameter in the chroma quantization parameter mapping table, and a syntax element of the number of quantization parameters in the chroma quantization parameter mapping table. The chromatic quantization parameter mapping table is derived based on the quantization parameter data, The quantization parameters for the joint chromatic coding are derived based on the chromatic quantization parameter mapping table, A flag indicating whether or not quantization parameter data for the joint chroma coding exists is included in the SPS (Sequence Parameter Set) of the image information, in the device.
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